90 likes | 167 Views
NÍVEL DE MICROPROGRAMAÇÃO. Prof. Wanderley Cardoso Celeste. Introdução. O nível de microprogramação tem uma função específica: executar interpretadores para outras máquinas virtuais .
E N D
NÍVEL DE MICROPROGRAMAÇÃO Prof. Wanderley Cardoso Celeste
Introdução O nível de microprogramação tem uma função específica: executar interpretadores para outras máquinas virtuais. Um microprograma é um programa responsável por controlar registradores, barramentos, ALUs, memórias e outros componentes de hardware.
Função da Microprogramação Sinais de Controle UNIDADE DE CONTROLE UNIDADE DE EXECUÇÃO Sinais de Status Implementação em Hardware (Circuito sequencial) Implementação em Software (Microprograma)
Função da Microprogramação Controle de registradores Controle de MUX Limpa B A Carrega Registrador Desloca Seleção de entrada MUX 2 x 1 Controle de ALUs saída B A Seleção de operação ALU F(A,B)
Função da Microprogramação Controle de barramento tri-state Entradas D0 D1 D2 D3 D D D D Q Q Q Q CK OE Q0 Q1 Q2 Q3 Saídas
Função da Microprogramação • A maioria dos computadores tem um barramento de endereço, um barramento de dados e sinais de controle para a comunicação entre a CPU e os demais componentes do sistema • O registrador MAR é responsável pelo armazenamento do endereço da memória. O registrador MBR é responsável pelo armazenamento do dado. CPU BARRAMENTOS endereço barramento de endereço MAR controle saída de dados entrada de dados barramento de dados MBR controle WR RD
Função da Microprogramação CPU BARRAMENTOS endereço barramento de endereço MAR controle saída de dados entrada de dados barramento de dados MBR controle WR RD • A linha de controle de MBR permite carregar o registro com dado da CPU • O sinal RD carrega o registrador com dado do barramento • O sinal WR libera o conteúdo do registrador no barramento
Microinstruções • Microprogramas são formados por uma composição de microinstruções • Uma microinstrução é capaz de tratar todos os sinais de controle de um sistema • Exemplo de formação de uma microinstrução 1 2 2 2 1 1 1 1 1 4 4 4 8 A M U X C O N D A L U M B R M A R E N C S H R D W R C B A ADDR AMUX : 0 = MAR; 1 = MBR COND: 0 = não salta; 1 = salta se N=1; 2 = salta se Z=1; 3 = salta sempre ALU: 0 = A+B; 1 = A.B; 2 = A; 3 = NOT A SH: 0 = não desloca; 1 = desloca 1 bit à direita; 2 = desloca 1 bit à esquerda; 3 = x
Microinstruções DECC DECB DECA 4 3 GSC 2 MUX 1 R E G S MPC INC MC LA LB A M U X C O N D A D D R A L U M B R M A R E N C MAR S H R D W R C B A MBR AMUX N LMS ALU Z DESL