Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
UC Microprogramada
Arquitetura de Computadores
Na unidade de controle microprogramada, na qual a lgica da unidade de controle especificada atravs de um microprograma Um microprograma composto por uma sequncia de instrues de uma linguagem de microoperao Circuito lgico, relativamente simples, deve desempenhar duas tarefas:
Seguir uma sequncia de microinstrues; Gerar sinais de controle para executar cada microinstruo;
2
UC Microprogramada
Idia surgida da dcada de 50 (Wilkes, 1951) para evitar a complexidade da implementao em hardware Comeou a ser adotado comercialmente na dcada seguinte, na famlia 360 da IBM Uma sequncia de instrues de uma linguagem de microprogramao chamada de microprograma ou firmware um meio-termo entre hardware (mais difcil de implementar) e software (mais fcil de escrever um programa)
3
Microarquitetura da UC
18/10/2010
Implementao da UC microprogramada
Essencialmente, a tarefa da unidade de controle gerar um conjunto de sinais de controle Para cada microoperao, cada linha de controle que sai da UC pode estar ativada ou desativada, representadas por um bit, 0 ou 1 Desta forma, so construdas palavras de controle, onde cada bit representa uma linha de controle; cada microoperao pode ser representada por um padro distinto de bits na palavra de controle
5
Microinstruo horizontal
Existe um bit para cada linha de controle interna do processador e um bit para cada linha de controle do barramento de sistema Campo de condio: indica a condio sob a qual deve ser efetuado o desvio Campo de endereo da microinstruo: indica o endereo da microinstruo a ser executada, caso o desvio seja efetuado
Microinstruo horizontal
Execuo da microinstruo:
So ativadas todas as linhas indicadas por um bit de valor 1 (as demais so deixadas inativas). Os sinais de controle resultantes fazem com que uma ou mais microoperaes sejam executadas; Se a condio especificada no campo de condio for falsa, executada a prxima microinstruo da sequncia; Se a condio for verdadeira, a prxima microinstruo a ser executada ser aquela no campo de endereo.
7 8
18/10/2010
Memria de controle
As microinstrues so armazenadas em uma memria de controle, onde so executadas sequencialmente Cada rotina termina com um desvio, que indica para onde ir em seguida Existe uma rotina especial do ciclo de execuo (destacada no exemplo a seguir), que tem o propsito de indicar qual das rotinas de instruo de mquina (AND, ADD, ...) deve ser executada em seguida, dependendo do cdigo de operao corrente
9
Elementos da UC microprogramada
Memria de controle: mantm o conjunto de microinstrues
Estrutura da UC
Registrador de endereo de controle (ou registrador buffer de controle): contm o endereo da prxima microinstruo a ser lida Registrador de microinstruo: armazena a microinstruo lida da memria de controle
A posio mais esquerda deste processador conectada s linhas de controle que saem da UC. Desta forma, ler uma microinstruo da memria o mesmo que executar esta instruo
11 12
18/10/2010
Elementos da UC microprogramada
Unidade de sequenciamento: carrega o registrador de endereo de controle e envia um comando de leitura para a memria de controle Decodificadores: na entrada e sada da UC. Suas funes so:
O superior traduz o cdigo de operao do IR em um endereo na memria de controle O inferior usado somente para microinstrues verticais, traduzindo o cdigo de cada ao a ser efetuada em sinais de controle individuais
Cdigos de funo
13
14
Microinstrues verticais
Em microinstrues verticais, utilizado um cdigo para cada ao a ser efetuada, e o decodificador traduz esse cdigo em sinais de controle individuais Desta forma, microinstrues verticais so mais compactas (menor nmero de bits) do que as microinstrues horizontais, porm, h um pequeno custo computacional devido a lgica e tempo de atraso necessrios pela decodificao
Funcionamento da UC
O funcionamento da UC envolve os seguintes passos:
1.
Para a execuo de uma microinstruo, a unid. lgica de sequenciamento envia um comando de leitura para a memria de controle; A palavra cujo endereo especificado no registrado de endereo de controle lida para o registrador de microinstruo;
2.
15
16
18/10/2010
Funcionamento da UC
3.
O contedo do registrador de microinstruo gera os sinais de controle e a informao sobre o prximo endereo para a unidade lgica de sequenciamento A unidade lgica de sequenciamento carrega o novo endereo no registrador de endereo de controle, com base na informao de prximo endereo obtida no registrador de microinstruo e nos bits de condio da ULA Todos estes passos ocorrem durante um ciclo de clock
17
4.
No projeto de uma UC, estas caractersticas devem ser consideradas em conjunto, pois afetam o formato das microinstrues e a temporizao da UC.
18
Desvantagem:
Um pouco mais lenta do que uma UC implementada em hardware;
OBS.: RISC costumam utilizar UC implementadas em hardware, devido aos seus formatos de instrues mais simples
19
20
18/10/2010
Sequenciamento de microinstrues
O projeto de uma tcnica de sequenciamento de microinstrues envolve dois fatores:
O tamanho das microinstrues;
Atravs da reduo do tamanho necessrio da memria de controle, o custo do componenete reduzido;
Tcnicas de Sequenciamento
Atravs dos bits de condio e do contedo do registrador da instruo atual, deve ser gerado o endereo da prxima microinstruo a ser executada na memria de controle. As categorias de microinstrues so baseadas no formato da informao de endereo na microinstruo, podendo ser:
Dois campos de endereo; Um nico campo de endereo; Formato varivel.
21 22
Execuo de microinstrues
Trata-se do evento bsico de um processador microprogramado Cada ciclo constitudo de duas partes: busca (determinada pela gerao de um endereo de microinstruo) e a execuo em si. A execuo consiste basicamente na gerao de sinais de controle, alguns para controlar pontos internos do processador e outros so enviados para o barramento de controle ou alguma outra interface externa.
23 24