31
Arquitetura de Computadores - Controle Microprogramado por Helcio Wagner da Silva

Arquitetura de Computadores - Controle Microprogramado · Introdução •Projeto baseado em HW para a Unidade de Controle –Difícil •Lógica relativamente complexa para seqüenciamento

  • Upload
    lamdat

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Arquitetura de Computadores- Controle Microprogramado

por

Helcio Wagner da Silva

Introdução

• Projeto baseado em HW para a Unidade deControle

– Difícil

• Lógica relativamente complexa para seqüenciamento eexecução de microoperações e interpretação doscódigos de condição

– Inflexível

• Necessário alterações no projeto para a inclusão deuma nova instrução de máquina

– Projeto alternativo: Unidade de Controlemicroprogramada

2

Microinstruções

Temporização Sinais de controle

ativosCiclo

t1: MAR ← PC C2

Busca t2: MBR ← Memória

PC ← PC + 1C5, CR

t3: IR ← MBR C4

t1: MAR ← IR(Endereço) C8

Indireto t2: MBR ← Memória C5, CR

t3: IR(Endereço) ← MBR(Endereço) C4

t1: MBR ← PC C1

Interrupção t2: MAR ← End. Salvamento

PC ← Endereço de Rotina

t3: Memória ← MBR C12, CW

µInstruções

3

Microinstruções

• µI horizontal

Endereço de µI

Condição de desvio• incondicional• zero• overflow• bit de indireção

Sinais de controle para o Barramento do sistema

Sinais de controle Internos ao µP

4

Microinstruções

• µI vertical

Endereço de µI

Condição de desvio

Códigos de função

5

Microprograma

• Termo usado pela primeiravez por Maurice VincentWilkes na década de 50

• Conjunto de µIs

• Armazenado numa memóriade controle

• Constitui-se numa forma deimplementar a Unidade deControle

6

Memória de Controle

Desvie para ciclo de busca ou interrupção

Desvie para ciclo de indireção ou de execução

Desvie para ciclo de execução

Desvie para ciclo de busca

......

......

Desvie para a rotina do código de operação

Desvie para ciclo de busca ou de interrupção

Desvie para ciclo de busca ou de interrupção

......

...

...

Rotina do ciclo de busca

Rotina do ciclo de indireção

Rotina do ciclo de interrupção

Rotina da operação AND

Rotina da operação ADD

Rotina da operação IOF

Inicio da rotina do ciclode execução

7

Arquitetura da Unidade de Controle

Registrador de Endereço de Controle (CAR)

Registrador de µI (CBR)

Memória de Controle

Lógica de seqüenciamento

1

1

2

2

8

Unidade de Controle

Arquitetura da Unidade de Controle

Registrador de Endereço de Controle (CAR)

Registrador de µI (CBR)

Memória de Controle

Lógica de seqüenciamento

Decodificador

Decodificador

Registrador de Instrução (IR)

Sinais de controle Internos ao µP

Sinais de controle para o barramento do sistema

Leitura

relógio

Bits de condiçãoda ULA

9

Vantagens e Desvantagens

• Vantagem

– Relativa simplicidade

• Controle microprogramado é utilizado em máquinasCISC

• Desvantagem

– Relativa lentidão

• Implementação por HW é utilizada em máquinas RISC

10

Seqüenciamento de Microinstruções

• Na execução de um programa, o endereço dapróxima µI pode ser:

1. Determinado pelo IR

• Ocorre sempre que a instrução é buscada

2. O próximo endereço na seqüência

• Ocorrência mais comum

3. Um endereço de desvio

11

Seqüenciamento de Microinstruções

• Com base na µI atual, nos bits de condição e noconteúdo do IR, deve ser gerado o endereço dapróxima µI na Memória de Controle

• Técnicas utilizadas– Explícitas

• Dois campos de endereço

• Um único campo de endereço

• Formato variável

– Implícitas• Mapeamento

• Adição

• Controle residual12

Dois Campos de Endereço

Controle Endereço

1Endereço

2

Multiplexador Lógica

de Desvio

...

IR

Memória de Controle

Decodificador de endereço

CAR

Seleção de endereço

CAR: Registrador de Endereço de ControleCBR: Registrador de µIIR: Registrador de Instrução

Bits de condição

CBR

13

Único Campo de Endereço

Controle Endereço

Multiplexador Lógica

de Desvio

...

IR

Memória de Controle

Decodificador de endereço

CAR

Seleção deendereço

CAR: Registrador de Endereço de ControleCBR: Registrador de µIIR: Registrador de Instrução

CBR

Bits de condição

+1

14

Formato Variável

Multiplexador

Lógica de

DesvioIR

Memória de Controle

Decodificador de endereço

CAR

Seleção deendereço

CAR: Registrador de Endereço de Controle

CBR: Registrador de µIIR: Registrador de Instrução

CBR

Bits de condição

+1

Campo deendereçoCampo de

controle dedesvio Lógica de

geração desinais decontrole

Campo completo

Habilitação

15

Mapeamento

• Porção correspondente ao código de operaçãode uma instrução de máquina é mapeada emum endereço de µI

Op #02 ...

Decodificador de Endereço

IR

Busca

Indireção

Interrupção

Execução Op #01

Execução Op #02

Execução Op #03

Execução Op #04

...Execução Op #N

16

Registrador de Endereço de Controle (CAR)

Adição

• Combinação (ou soma) de duas porções deum endereço para formar o endereçocompleto

00 07 08 09 10 11 12

BB(4)

BC(4)

BD(4)

BE(4)

BF(7)BA(4)

17

Controle Residual

• Envolve o uso de um endereço de µI quetenha sido armazenado anteriormente

CAR

CBR

Memória de Controle

Registrador de Retorno

Bit indicadorde subrotina

18

Execução de MicroInstruções

• O ciclo de µI é o evento básico de umprocessador microprogramado

• Consiste de duas partes: busca & execução

• A porção de busca é determinada peloendereço de µI

• Ao fim da execução, são gerados sinais decontrole que:– Abrem/fecham circuitos internos ao processador

– Abrem/fecham externos ao processador

– Ajudam a definir o endereço da próxima µI19

Execução de Microinstruções

20

Unidade de Controle

Registrador de Endereço de Controle (CAR)

Registrador de µI (CBR)

Memória de Controle

Lógica de seqüenciamento

Lógica de controle

Registrador de Instrução (IR)

Sinais de controle Internos

Sinais de controle externos

relógio

Bits de condiçãoda ULA

Taxonomia de Microinstruções

• Classificações possíveis para as µI

– Verticais ou horizontais

– Empacotadas ou não-empacotadas

– Microprogramadas por HW ou por SW

– Codificadas diretamente ou indiretamente

• Sobre as classificações

– Dizem respeito ao formato das µI

– Dão uma idéia sobre as alternativas de projeto dasµI

21

Taxonomia de Microinstruções

• Proposta original de Wilkes– Cada bit da µI produzia um sinal de controle ou um bit

de endereço da próxima µI

– K bits destinados à geração de sinais de controleapresentariam 2K padrões de bits diferentes

– Nem todas as combinações possíveis podem serutilizadas• Duas origens não podem ser dirigidas para um mesmo

destino

• Um registrador não pode ser origem e destinosimultaneamente

• Apenas um padrão de bits pode ser apresentado à ULA ouao barramento de sistema em cada instante

22

Taxonomia de Microinstruções

23

MBR

MAR

PC IR

AC

ULA

Unidadede

Controle

relógio

Sinais decontrole

Códigos decondição

Sinais decontrole

C0 C2C13

C6

C7 C9

C12

C5

C8 C1 C3 C4

C10

C11

Taxonomia de Microinstruções

24

MBR

MAR

PC IR

AC

ULA

Unidadede

Controle

relógio

Sinais decontrole

Códigos decondição

C0 C2C13

C6

C7 C9

C12

C5

C8 C1 C3 C4

C10

C11

Sinais decontrole

Taxonomia de Microinstruções

• Codificação mais compacta

– Todas as Q combinações permitidas. Q < 2K

– Combinações codificadas usando log2Q bits, ondelog2Q < K

• Na prática, as Unidades de Controle não sãoprojetadas usando um formato de µIhorizontal ou vertical puro

– Algum grau de codificação é usado para reduzir aMemória de Controle e simplificar amicroprogramação

25

Extremos do Espectro de Projeto de µI

CARACTERÍSTICAS

Não codificada Altamente codificada

Muitos bits Poucos bits

Visão detalhada do HW Visão agregada do HW

Difícil de programar Fácil de programar

Concorrência explorada completamenteConcorrência não explorada

completamente

Pouca ou nenhuma lógica de controle Lógica de controle complexa

Execução rápida Execução lenta

Otimiza o desempenho Otimiza a programação

26

Codificação Direta

27

Campo Campo Campo

Lógica de decodificação

Lógica de decodificação

Lógica de decodificação

Sinais de controle

... ... ...

......

Codificação Indireta

28

Campo Campo Campo

Lógica de decodificação

Lógica de decodificação

Lógica de decodificação

Sinais de controle

... ...

......

Lógica de decodificação

Codificação Funcional e Por Recursos

• Codificação Funcional

– Identifica as funções da máquina e designacampos para cada tipo de função

• Um campo pode identificar qual será a origem dosdados que serão transferidos para o acumulador

• Codificação Por Recursos

– Vê a máquina como consistindo de um conjuntode recursos independentes e designa um campopara cada um deles (E/S, memória, ULA, etc)

29

Repertório de µI Verticais

30

0 0 0 0 0 0

0 0 0 0 0 1

0 0 0 0 1 0

Seleção deregistrador

Transferências simples entre registradores

MDR ← Registrador

Registrador ← MDR

MAR ← Registrador

Operações de Memória

0 0 1 0 0 0 0 0 Leitura

0 0 1 0 0 1 0 0 Leitura

0 1 0 0 0 0 0 0

0 1 0 0 0 1 0 0

0 0 0 0 1 0 0 0

Transferências simples entre registradores

CSAR ← MDR decodificado

CSAR ← Constante (no próximo Byte)

Saltar µI

0 1 1 0 0 0

0 1 1 0 0 1

0 1 1 0 1 0

Operações da ULA

ACC ← ACC + Registrador

ACC ← ACC - Registrador

ACC ← Registrador

0 1 1 1 0 0

Seleção deregistrador

ACC ← Registrador + 1

0 1 1 0 1 1 Registrador ← ACC

Formato de µI Horizontal

31

1 2 3 4 5 6

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

Campo

Definição de campo1 – Transferência entre registradores2 – Operação de memória3 – Operação de seqüenciamento 4 – Operação da ULA5 – Seleção de registrador6 – Constante