Você está na página 1de 12

Arquitetura de Computadores

Cursos: Tecnologia em Análise e Desenvolvimento de Sistemas


e Tecnologia em Redes de Computadores
1o¯ Semestre
2019.1

Prof. Werton Araujo


Microprogramação

• Conceitos básicos
• Microarquitetura
• Exemplo de microarquitetura: Z80
• Exemplo de microarquitetura: Intel 80286
• Microinstrução
• Exemplo de microinstrução
• Microprograma
• Exemplos de microprogramas
Conceitos básicos

• Microprogramação é o processo de escrever microcódigo


para um microprocessador.
• Microcódigo é uma camada de instruções em nível de hard-
ware que implementam instruções em código de máquina,
de nível mais alto.
• O microcódigo tipicamente reside em uma memória espe-
cial de alta velocidade, e traduz instruções de máquina para
sequências de operações detalhadas em nível de circuito.
• Uma instrução em código de máquina tipicamente corres-
ponde a várias instruções de microcódigo.
Microarquitetura

• É a forma como um determinado conjunto de instruções


(ISA) é implementado em um processador específico.
• A microarquitetura de uma máquina é comumente represen-
tada por diagramas que descrevem as conexões entre os
vários elementos microarquiteturais da máquina.
• Cada elemento microarquitetural é representado por um es-
quemático que descreve as conexões entre as portas lógi-
cas usadas para implementá-lo.
• Cada porta lógica é representada por um diagrama eletrô-
nico descrevendo as conexões entre seus transistores.
Exemplo de microarquitetura: Z80
Exemplo de microarquitetura: Intel 80286
Microinstrução

• Uma microinstrução especifica uma sequência de opera-


ções que controlam a CPU em um nível muito baixo de cir-
cuitos de hardware.
• Cada microinstrução é um padrão de bits no qual cada bit
(ou combinação de bits) atua nos sinais de controle do hard-
ware.
• Para controlar simultaneamente os recursos do processador
em um ciclo, uma microinstrução tem geralmente mais que
50 bits.
Exemplo de microinstrução

1. Conecte o registrador 1 ao lado A da ULA


2. Conecte o registrador 7 ao lado B da ULA
3. Faça a ULA executar uma adição com complemento de dois
4. Coloque a entrada de carry da ULA em zero
5. Escreva o resultado no registrador 8
6. Atualize os códigos de condição a partir das flags de estado
da ULA
7. Faça um microssalto ao microPC nnn para a próxima mi-
croinstrução
Microprograma

• É o microcódigo em uma implementação específica de pro-


cessador, consistindo em uma série de microinstruções
que executa alguma tarefa específica.
• Reside em um componente da unidade de controle de uma
CPU chamado control store.
• A control store pode ser somente de leitura (usando uma
ROM ou um PLA) ou de leitura e escrita (usando uma SRAM
ou memória flash), para possibilitar a correção de bugs.
• A control store é acessada por um microsequenciador para
executar cada microinstrução.
Exemplos de microprogramas

• Este microprograma com 4 microinstruções escreve o valor


1 no endereço de memória 2.
Exemplos de microprogramas (cont.)
• Este microprograma com 11 microinstruções compara mem[0]
com mem[1] e guarda o maior valor em mem[2].
Até a próxima aula!

Você também pode gostar