Microprogramação

 

 

Microprogramação é uma técnica adicional de realizar controle de um processador(computador).Os sinais de comando que são aplicados aos terminais de controle dos registradores, ULA e memórias, para realizar as microoperações, são disponíveis como palavras de dados de uma memória.

 

 

Memória ROM de controle é a memória que contém os dados onde cada bit da palavra corresponde a um terminal de entrada de controle.Vamos supor um computador com 18 terminais de controle como visto anteriormente. Então, a ROM de controle tem palavras de 18-bits, um bit para cada terminal de entrada de controle.

 

 

fig1
Fig.1

 

 

Então, faz-se corresponder o pino 3 da ROM de controle ao terminal de entrada de controle GPR(AD)->MAR, o pino 7 ao terminal M->GPR, o pino 11 ao terminal GRP+Acc->Acc, arbitrariamente.Caso a instrução a ser realizada seja ADDI,end, então o conteúdo da ROM de controle(CROM - Control ROM) deve ter escrito em cinco posições sucessivas da memória o conteúdo seguinte:

 

 

fig2
Fig.2

 

 

Em cada ciclo do relógio apenas uma microoperação é realizada e em cada palavra da CROM somente um bit está no nível lógico 1. Quando várias microoperações precisam ser realizadas no mesmo ciclo de relógio, um número correspondente de bits 1 estará escrito na palavra da CROM.

 

 

Palavras de Controle ou Micropalavra é o conteúdo da  posição da memória de controle, que através da leitura sucessiva, executa uma seqüência de microoperações armazenadas na memória de controle, cujo resultado final é a execução de uma operação.

 

 

Microinstrução - palavra ne memória CROM que identificam as microoperações.

Processador Microprogramado - opera com microinstruções armazenadas em memória ROM de controle.

 

 

Um computador ou processador microprogramado tem dois tipos de memória:

 

 

Desvio(Branch) do Microprograma

 

 

A CROM acima só permite que as microinstruções sejam acessadas na ordem como estão escritas na memória. Um arranjo que permite um desvio(branch)  ou salto(jump) para uma posição qualquer da memória é mostrado na figura abaixo.

 

 

fig3
Fig.3

 

 

Observe que o tamanho da micropalavra é formado por N+M+1 bits, onde cada parcela tem uma função específica. a palavra da CROM contém um endereço(M-bits), uma microinstrução(N-bits) e um controle(1-bit).

N : número de bits de comando para as N-entradas de terminais de controle dos registradores do computador;

M : número de bits de endereço para onde deve ocorrer o salto ou desvio, sob comando;

1 : bit que comanda o salto ou desvio; bit de controle de carga inativo(0), então a entrada de incremento está ativa(1) e o registrador de endereços é incrementado a cada ciclo do relógio; se o bit de controle de carga está ativo(1), então incremento está inativo(0) e o endereço de desvio será carregado (endereço de M-bits para onde haverá o desvio ou salto).

 

 

Desvio Condicional

 

 

Para prover o controlador(CROM e CMAR) de flexibilidade para seguir uma seqüência ou outra  dependendo dos resultados internos do processamento, a arquitetura acima é modificada para fornecer estes recursos, conforme mostrado abaixo.

 

 

fig4
Fig.4

 

 

S1, S0 : bits de seleção de controle de carga.

C1, C2 : bits de estado, indicam alguma condição interna e permitem o controlador seguir uma seqüência ou outra.

B : terminal de controle do CMAR, que carrega o endereço de desvio ou salto.

I : terminal de controle do CMAR, que realiza o incremento do registador.

 

 

O bloco chamado Lógica tem a tabela verdade mostrada na Fig.4 e de acordo com os valores lógicos das entradas S1, S0, C1 e C2 ativa as linhas de controle B ou I, conforme a tabela verdade, para haver desvio ou incremento.

 

 

 

comp144
Questões para Revisão
Resolva  on-line o teste sobre microprogramação.

 

 

 

 

 

 

Atualizada em 6/03/24

mac logo

Free Web Hosting