Sei sulla pagina 1di 6

18/10/2010

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

Unidade de Controle Controle Microprogramado


Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Plo Universitrio de Rio das Ostras - PURO

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

Formato de microinstruo horizontal

Endereo de microinstruo Condio de desvio (incondicional, zero, overflow, bit de indireo)

Sinais de controle do barramento de sistema

Sinais de controle internos da CPU


6

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

Organizao da memria de controle


... Desvie para ciclo de indireo ou de execuo ... Desvie para ciclo de execuo ... Desvie para ciclo de busca Desvie para rotina do cdigo de operao ... Desvie para ciclo de busca ou de interrupo ... Desvie para ciclo de busca ou de interrrupo ... Rotina do ciclo de busca Rotina do ciclo de indireo Rotina do ciclo de interrupo Incio da rotina do ciclo de execuo Rotina da operao AND

Rotina da operao ADD ...


10

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

Formato de microinstruo vertical

Endereo de microinstruo Condio de desvio (incondicional, zero, overflow, bit de indireo)

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.

Estados das microinstrues


O ciclo de microinstruo constitudo de duas etapas:
Busca: gerao de um endereo de microinstruo Execuo: gerao dos sinais de controle; alguns sinais controlam pontos internos do processador, enquanto outros vo para o barramento de controle ou outra interface externa

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

Aspectos da microprogramao para UC


Vantagens:
Simplifica o projeto da unidade de controle; Torna o projeto mais barato e menos sujeito a erros; Os decodificadores e a unidade lgica de sequenciamento possuem uma lgica muito simples;

Endereo das microinstrues


Durante a execuo de um microprograma, a gerao do endereo da prxima microinstruo a ser executada pode ser feita das seguintes formas:
Determinado pelo registrador de instruo; ocorre uma vez por ciclo, aps a busca da instruo. O prximo endereo da sequncia; a mais comum na maioria dos projetos. Um endereo de desvio, condicionais ou incondicionais

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

O tempo de gerao de endereos;


Reduz o tempo de execuo de microinstrues;

Sequenciamento com dois campos de endereo

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

Potrebbero piacerti anche