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.
![]() |
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:
![]() |
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:
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.
![]() |
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).
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.
![]() |
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.
![]() |
Questões para Revisão Resolva on-line o teste sobre microprogramação. |
Atualizada em