Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de...

66
Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás O rganização de Computadores rganização de Computadores Organização do Processador Organização do Processador Parte B Parte B Capítulo 5 – Patterson & Hennessy Capítulo 5 – Patterson & Hennessy

Transcript of Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de...

Page 1: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. CostaInstituto de InformáticaUniversidade Federal de Goiás

Organização de Computadoresrganização de Computadores

Organização do ProcessadorOrganização do ProcessadorParte BParte B

Capítulo 5 – Patterson & HennessyCapítulo 5 – Patterson & Hennessy

Page 2: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores2

Implementação Muticiclo

Dividir a execução de uma instrução em passos

Cada passo gasta 1 ciclo de relógio Permite que uma mesma unidade funcional

seja usada mais de uma vez por uma instrução:– uma única memória para dados e instruções– uma única UAL (sem os somadores especiais)

Elementos de estado são escritos na transição do relógio

Page 3: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores3

Visão geral do caminho de dados multiciclo

Fig. 5.30

Page 4: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores4

Elementos de estado intermediárioas

Armazenam um valor produzido durante um ciclo para uso no próximo ciclo (dentro da mesma instrução)– IR: instrução buscada da memória– MDR: dados lidos da memória– A e B: dados a serem alimentados nas entradas

respectivas da UAL– UALSaída: resultado produzido pela UAL

Page 5: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores5

Caminho de dados detalhado(sem os sinais de controle)

Fig. 5.31

Page 6: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores6

Caminho de dados com os sinais de controle

Fig. 5.32

Page 7: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores7

Caminho de dados completo com a UC e lógica de atualização do PC...

Page 8: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores8

Caminho de dados

Fig.5.33

Page 9: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores9

Passos na execução de instruções...

Page 10: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores10

Passos na execução de instruções

Regs[IR[20-16]] = MDR;

MDR = Mem[UALSaída]UALSaída = A +

extensão_sinal( IR[15-0]);

LW

PC = PC[31-28] || (IR[25-0]<<2);J

if (A==B) PC=UALSaída;BEQ

Mem[UALSaída] = B;SW

Regs[IR[15-11]] = UALSaída;

UALSaída =A op B;

A = Regs[IR[25-21]];

B = Regs[IR[20-16]];

UALSaída = PC + extensão_sinal( IR[15-0]) << 2;

IR = Mem[PC];PC = PC+ 4;

Tipo R

Passo 5: Escrita de

resultado para a instrução LW

Passo 4: Escrita de

resultado para instruções

tipo R e SW

Passo 3: Execução, cálculo de

endereço de memória,

desvio condicional

Passo 2: Decodificação

e Busca de Registradores

Passo 1: Busca da Instrução

Page 11: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores11

Exercício

Analisar a possibilidade de:– Executar a instrução J em apenas dois

ciclos/passos– Executar a instrução LW em apenas quatro

ciclos/passos

Page 12: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores12

Implementação da Unidade de Controle

Duas alternativas:– Máquina de estados– Microprogramação

Page 13: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores13

Implementação com máquina de estados: Visão geral

Fig. 5.36

Page 14: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores14

Máquina de estados: Busca e Decodificação

Fig.5.37

Page 15: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores15

Máquina deEstados:LW e SW

Fig. 5.38

Page 16: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores16

Máquina de estados: Instruções Tipo R

Fig. 5.39

Page 17: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores17

Máquina de estados: BEQ

Fig. 5.40

Page 18: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores18

Máquina de estados: Desvio incondicional (J)

Fig. 5.41

Page 19: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores19

Máquina de Estados Completa...

Page 20: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores20 Fig. 5.42

Page 21: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores21

Esboço da implementação

Fig. 5.43

Page 22: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores22

Sinais deEntrada eSaída da UC

Fig. C.7

Page 23: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores23

Equações lógicas da UC: Quais sinais são ativados em cada estado

Binário (S3 S2 S1 S0)Simbólico

0111

0100 + 0111

0010 + 0110 + 1000

0000 + 0001

0001 + 0010

1000

0110

1000

1001

0100

0000

0101

0000 + 0011

0011 + 0101

1000

0000 + 1001

XXXXXXestado7RegDst

XXXXXXestado4 + estado7EscReg

XXXXXXestado2 + estado6 + estado8UALFonteA

XXXXXXestado0 + estado1UALFonteB0

XXXXXXestado1 + estado2UALFonteB1

XXXXXXestado8UALOp0

XXXXXXestado6UAL0p1

XXXXXXestado8FontePC0

XXXXXXestado9FontePC1

XXXXXXestado4MemParaReg

XXXXXXestado0IREsc

XXXXXXestado5EscMem

XXXXXXestado0 + estado3LerMem

XXXXXXestado3 + estado5IouD

XXXXXXestado8PCEscCond

XXXXXXestado0 + estado9PCEsc

OperaçãoEquação lógica em função do(s) estado(s) corrente(s)Saída

Page 24: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores24

Sinais de controle em função do estado corrente(Exercício: completar a tabela)

000EscReg

000RegDst

100UALFonteA

011UALFonteB0

110UALFonteB1

000UALOp0

000UAL0p1

000FontePC0

000FontePC1

000MemParaReg

001IREsc

000EscMem

001LerMem

000IouD

000PCEscCond

001PCEsc

1001100001110110010101000011001000010000

Valores das Entradas (S[3-0])Saídas

Page 25: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores25

Equações lógicas da UC: Determinação do próximo estado (1)

(Op5 ... Op0)Simbólico

(Op = ´jmp´)

(Op = ´beq´)

-

(Op = ´tipo R´)

(Op = ´sw´)

-

(Op = ´lw´)

(Op = ´lw´) + (Op = ´sw´)

-

-

Operação

000010estado1PróximoEstado9 (1001)

000100estado1PróximoEstado8 (1000)

XXXXXXestado6PróximoEstado7 (0111)

000000estado1PróximoEstado6 (0110)

101011estado2PróximoEstado5 (0101)

XXXXXXestado3PróximoEstado4 (0100)

100011estado2PróximoEstado3 (0011)

100011 + 101011estado1PróximoEstado2 (0010)

XXXXXXestado0PróximoEstado1 (0001)

XXXXXXestado4 +estado5 + estado7 + estado8 + estado9

PróximoEstado0 (0000)

Estado(s) Corrente(s)

Saída(PE3 PE2 PE1 PE0)

Page 26: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores26

Equações lógicas da UC: Determinação do próximo estado (2)

(Op5 ... Op0)Simbólico

(Op = ´jmp´)

(Op = ´beq´)

-

(Op = ´tipo R´)

(Op = ´sw´)

-

(Op = ´lw´)

(Op = ´lw´) + (Op = ´sw´)

-

-

Operação

000010estado1PróximoEstado9 (1001)

000100estado1PróximoEstado8 (1000)

XXXXXXestado6PróximoEstado7 (0111)

000000estado1PróximoEstado6 (0110)

101011estado2PróximoEstado5 (0101)

XXXXXXestado3PróximoEstado4 (0100)

100011estado2PróximoEstado3 (0011)

100011 + 101011estado1PróximoEstado2 (0010)

XXXXXXestado0PróximoEstado1 (0001)

XXXXXXestado4 +estado5 + estado7 + estado8 + estado9

PróximoEstado0 (0000)

Estado(s) Corrente(s)

Saída(PE3 PE2 PE1 PE0)

Page 27: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores27

Equações lógicas da UC: Determinação do próximo estado (3)

(Op5 ... Op0)Simbólico

(Op = ´jmp´)

(Op = ´beq´)

-

(Op = ´tipo R´)

(Op = ´sw´)

-

(Op = ´lw´)

(Op = ´lw´) + (Op = ´sw´)

-

-

Operação

000010estado1PróximoEstado9 (1001)

000100estado1PróximoEstado8 (1000)

XXXXXXestado6PróximoEstado7 (0111)

000000estado1PróximoEstado6 (0110)

101011estado2PróximoEstado5 (0101)

XXXXXXestado3PróximoEstado4 (0100)

100011estado2PróximoEstado3 (0011)

100011 + 101011estado1PróximoEstado2 (0010)

XXXXXXestado0PróximoEstado1 (0001)

XXXXXXestado4 +estado5 + estado7 + estado8 + estado9

PróximoEstado0 (0000)

Estado(s) Corrente(s)

Saída(PE3 PE2 PE1 PE0)

Page 28: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores28

Equações lógicas da UC: Determinação do próximo estado (4)

(Op5 ... Op0)Simbólico

(Op = ´jmp´)

(Op = ´beq´)

-

(Op = ´tipo R´)

(Op = ´sw´)

-

(Op = ´lw´)

(Op = ´lw´) + (Op = ´sw´)

-

-

Operação

000010estado1PróximoEstado9 (1001)

000100estado1PróximoEstado8 (1000)

XXXXXXestado6PróximoEstado7 (0111)

000000estado1PróximoEstado6 (0110)

101011estado2PróximoEstado5 (0101)

XXXXXXestado3PróximoEstado4 (0100)

100011estado2PróximoEstado3 (0011)

100011 + 101011estado1PróximoEstado2 (0010)

XXXXXXestado0PróximoEstado1 (0001)

XXXXXXestado4 +estado5 + estado7 + estado8 + estado9

PróximoEstado0 (0000)

Estado(s) Corrente(s)

Saída(PE3 PE2 PE1 PE0)

Page 29: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores29

Equações lógicas da UC: Determinação do próximo estado (5)

(Op5 ... Op0)Simbólico

(Op = ´jmp´)

(Op = ´beq´)

-

(Op = ´tipo R´)

(Op = ´sw´)

-

(Op = ´lw´)

(Op = ´lw´) + (Op = ´sw´)

-

-

Operação

000010estado1PróximoEstado9 (1001)

000100estado1PróximoEstado8 (1000)

XXXXXXestado6PróximoEstado7 (0111)

000000estado1PróximoEstado6 (0110)

101011estado2PróximoEstado5 (0101)

XXXXXXestado3PróximoEstado4 (0100)

100011estado2PróximoEstado3 (0011)

100011 + 101011estado1PróximoEstado2 (0010)

XXXXXXestado0PróximoEstado1 (0001)

XXXXXXestado4 +estado5 + estado7 + estado8 + estado9

PróximoEstado0 (0000)

Estado(s) Corrente(s)

Saída(PE3 PE2 PE1 PE0)

Page 30: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores30

Implementação da lógica de controle através de uma ROM

Endereços: serão as entradas da lógica de controle– 6 bits de OpCode (bits 9-4) + 4 bits do estado corrente (bits 3-0)– i.e.: 10 bits: 210 = 1024 palavras (i.e. 1K palavras)

Palavras– 16 bits de sinais de controle do caminho de dados (bits 19-4)– 4 bits indicadores do próximo estado (bits 3-0)– Total: 20 bits

Tamanho da ROM: 1024 x 20 = 20Kbits– Obs.: muitas palavras serão desperdiçadas, por não

corresponderem a entradas significativas

Page 31: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores31

Conteúdo da ROM (1): Sinais de controle em função do estado corrente

10000001000000001001

01000000101001001000

00000000000000110111

00000000010001000110

00101000000000000101

00000010000000100100

00110000000000000011

00000000000101000010

00000000000110000001

10010100000010000000

Conteúdo da palavra da ROM

(bits 19-4)

4 bits menos significativos do endereço

(estado corrente)

Tabela C.12

Page 32: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores32

Conteúdo da ROM (2): Próximo estado em função do estado corrente e do opcode

ilegal000000000000000000001001

ilegal000000000000000000001000

ilegal000000000000000000000111

ilegal011101110111011101110110

ilegal000000000000000000000101

ilegal000000000000000000000100

ilegal010001000100010001000011

ilegal01010011XXXXXXXXXXXX0010

ilegal001000101000100101100001

0001000100010001000100010000

Qualquer outro valor

101011

(sw)

100011

(lw)

000100

(beq)

000010

(jmp)

000000

(Tipo R)

Estado corrente

S[3-0]

Op[5-0]

Fig. C-13

Page 33: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores33

Otimização da implementação via ROM

Separar em duas ROMs:– Uma para conter os bits 19-4 da palavra de

controle Endereçada com os 4 bits menos significativos do

endereço (estado corrente)

– Outra ROM para conter os 4 bits menos significativos da palavra de controle

Endereçada com os 10 bits completos de endereço (6 do OpCode e 4 do estado corrente)

Qual o tamanho total das duas ROMs? Qual o design?

Page 34: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores34

Implementação da lógica de controle com um PLA

Page 35: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores35

Microprogramação

Simplifica o projeto do controle quando– O número de instruções é muito alto (centenas)– Há instruções complexas, que consomem vários ciclos

Uma forma textual de expressar a lógica de controle– Microprograma: seqüência de micro-instruções

representadas simbolicamente

Micro-instruções: determinam os sinais de controle que devem estar ativos em cada ciclo (i.e., estado) da execução de uma instrução

– Também determinam a próxima micro-instrução a ser executada: seqüenciamento

– São armazenadas em uma memória de controle (ROM)

Page 36: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores36

Formato das micro-instruções

Especifica como escolher a próxima micro-instrução a ser executada

Seqüenciamento

Especifica a fonte do valor que será escrito no PCControle de PCEsc

Especifica a leitura ou escrita na memória, bem como a fonte do endereço; se leitura, especifica também o registrador de destino

Memória

Especifica a leitura ou escrita no banco de registradores; se escrita, especifica também a fonte do valor a ser escrito

Controle de registrador

Especifica a fonte do segundo operando da UALSRC2

Especifica a fonte do primeiro operando da UALSRC1

Especifica a operação a ser realizada pela UAL no ciclo de relógio atual.

Controle da UAL

Função do campoNome do campo

Page 37: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores37

Valores dos campos de uma micro-instrução (1)

Escrita a partir do MDR

Escrita a partir da UAL

LeituraControle de registrador

Estendido / deslocado

Estendido

4

BSRC2

A

PCSRC1

Código de função

Subtração

SomaControle da UAL

String - Nome da micro-instrução, usada para indicar a próxima micro-instrução a executar

Identificação

Valores possíveisNome do campo

Page 38: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores38

Valores dos campos de uma micro-instrução (2)

Despacho i – usa o opcode e a tabela de despacho i para determinar a próxima micro-instrução a ser executada

Busca – inicia a busca da próx. instrução ISA

Seq – execução seqüencialSeqüenciamento

O endereço de desvio incondicional é usado para atualizar o PC

UALSaidaCond – escreve UALSaída no PC se o flag Zero estiver ativo

UAL – escreve a saída da UAL no PCControle PCEsc

Escrita, com endereço fornecido pela UAL

Leitura, com endereço fornecido pela UAL

Leitura, com endereço fornecido pelo PCMemória

Valores possíveisNome do campo

Page 39: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores39

Seqüenciamento de micro-instruções

Seqüencial: a próxima micro-instrução a ser executada está no endereço seguinte na ROM de controle

– Apenas incrementa-se o endereço Busca: a próxima micro-instrução é a que executa a

busca da próxima instrução ISA a ser executada– Ao término da seqüência de micro-instruções que executou

uma dada instrução ISA Despacho: a próxima instrução é escolhida com

base no Opcode da instrução ISA sendo executada– Usado para indexar uma “tabela de despacho”, que contém

o endereço efetivo da próxima micro-instrução Tabelas de despacho: uma para cada estado com mais de

uma transição– Ex.: transições que partem do estado 1 na máq. de estados

Page 40: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores40

Microprograma: Busca de instruções

Despa-cho 1

LeituraExtensão do sinal e desloca-mento de 2 bits à esquerda

PCAdd

SeqUALLer endereço especific. a partir do PC

4PCAddBusca

Seqüen-ciamento

Controle de PCEsc

MemóriaControle dos regis-tradores

SRC2SRC1Controle

da UAL

Identificação

Page 41: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores41

Microprograma: Instruções de acesso à memória

BuscaEscrita a partir do MDR

SeqLeitura do endereço especific. a partir da UAL

LW2

BuscaEscrita no endereço especific. a partir da UAL

SW2

Despacho 2

Extensão do sinal

AAddMem1

Seqüen-ciamento

Controle de PCEsc

MemóriaControle dos regis-tradores

SRC2SRC1Controle

da UAL

Identificação

Page 42: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores42

Microprograma: Instruções Tipo R

BuscaEscrita a partir da UAL

SeqBACódigo da função

(funct)

RFormat1

Seqüen-ciamento

Controle de PCEsc

MemóriaControle dos regis-tradores

SRC2SRC1Controle

da UAL

Identificação

Page 43: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores43

Microprograma: Instrução de desvio condicional

BuscaUALSaídaCond

BASubtBEQ1

Seqüen-ciamento

Controle de PCEsc

MemóriaControle dos regis-tradores

SRC2SRC1Controle

da UAL

Identificação

Page 44: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores44

Microprograma: Instrução de desvio incondicional

BuscaEndereço de desvio incondic.

JUMP1

Seqüen-ciamento

Controle de PCEsc

MemóriaControle dos regis-tradores

SRC2SRC1Controle

da UAL

Identificação

Page 45: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores45

Microprograma completo

BuscaEscrever a partir do MDR

SeqLer a partir de end. na UAL

LW2

Despacho2Ext AAddMem1

Despacho1LeituraExtDeslocPCAdd

BuscaEscrever em end. dado pela UAL

SW2

SeqBAfunctRFormat1

BuscaEscrever a partir da UAL

BuscaUALSaidaCond

BASubtr.BEQ1

BuscaEnd. desvio incondic.

JUMP1

SeqUALLer a partir de end. no PC

4PCAddBusca

Seqüen-ciamento

Controle de PCEsc

MemóriaControle dos registradores

SRC2SRC1Controle

da UAL

Identificação

Page 46: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores46

Tabelas de Despacho

Tabela de Despacho 1

0010sw101011

0010lw100011

1000beq000100

1001jmp000010

0110Tipo R000000

Valor armazenado na tabela (próxima µ-instrução)

Nome da InstruçãoOperação (Opcode)

Tabela de Despacho 2

0101sw101011

0011lw100011

Valor armazenado na tabela (próxima µ-instrução)

Nome da InstruçãoOperação (Opcode)

Page 47: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores47

Implementação do microprograma

Duas partes:– Método para armazenar a função de controle

principal ROM, cujas palavras determinam:

– o valor das linhas de controle do caminho de dados– como selecionar a próxima micro-instrução

– Função de seqüenciamento incrementador (semelhante ao PC)

Page 48: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores48

Implementação do microprograma

Page 49: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores49

Detalhamento...

(memória de controle)

Fig. C.15

Page 50: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores50

Composição da Palavra de Controle

18 bits: bits 17-2: controle do caminho de dados

– Mesmos bits da Tabela C.12 (implementação da máquina de estados em ROM)

bits 1-0: indicam como determinar a próxima micro-instrução a ser executada

Page 51: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores51

Detalhamento...

(memória de controle)

Page 52: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores52

Lógica de seleção do endereço da próxima micro-instrução (função de seqüenciamento)

Page 53: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores53

Significado dos bits AddrCtl (EndCtl) (bits 0 e 1 da palavra de controle)

Utilizar a saída do contador como o endereço da próxima µ-instrução

11

Obter endereço da próxima µ-instrução na tabela de despacho 2

10

Obter endereço da próxima µ-instrução na tabela de despacho 1

01

Ir para o estado 0 (busca)00

AçãoValor de AddrCtl

Page 54: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores54

Valores dos bits AddrCtl (EndCtl) para cada micro-instrução (bits 0 e 1 da palavra de controle)

00Subst. o número do estado por 09

00Subst. o número do estado por 08

00Subst. o número do estado por 07

11Use o estado incrementado6

00Subst. o número do estado por 05

00Subst. o número do estado por 04

11Use o estado incrementado3

10Use a tabela de despacho 22

01Use a tabela de despacho 11

11Use o estado incrementado0

Valor de AddrCtl (EndCtl)

Ação da lógica de controle de endereço

Número do estado

(µ-instrução)

Page 55: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores55

Conteúdo da memória de controle

0010000001000000009

0001000000101001008

0000000000000000117

1100000000010001006

0000101000000000005

0000000010000000104

1100110000000000003

1000000000000101002

0100000000000110001

1110010100000010000

Bits 1-0 da palavra de controle

Bits 17-2 da palavra de controle

(ver Tabela C.12)

Número do estado

(µ-instrução)

Page 56: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores56

Micromontador

Permite a codificação simbólica do microprograma– nomes simbólicos para as micro-instruções– rótulos em lugar de endereços

Gera o código binário que constituirá as palavras de controle armazenadas na memória de controle

Pode otimizar o uso de endereços seqüenciais para µ-instruções que executam em seqüência

– Otimiza o uso do contador de micro-programa (µ-PC)– i.e., mais µ-instruções vão ser seqüenciadas com base

apenas no incremento do contador

Page 57: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores57

Outras otimizações

Codificação do micro-programa– Combinando linhas de controle mutuamente

exclusivas com o uso de decodificadores Ex.: 8 bits de controle que nunca são ativados

simultaneamente podem ser substituídas por 3 bits e um decodificador 3:8

– Permite reduzir o tamanho da palavra de controle (i.e., das micro-instruções)

Uso de vários formatos de micro-instruções Tarefa que pode ser realizada pelo micro-

assembler

Page 58: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores58

Tratamento de Exceções

Eventos inesperados que mudam o fluxo normal de execução de instruções

Dois tipos:– Exceções: geradas internamente ao processador

Overflow aritimético Instrução inválida Chamada ao sistema operacional feita por um programa

do usuário

– Interrupções: originadas externamente Utilizadas por dispositivos de E/S para se comunicar

com o processador Mau funcionamento do hardware

Page 59: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores59

Duas abordagens alternativas

Registrador de Causa (MIPS)– 32 bits– Armazena o tipo da exceção ocorrida– Desvio para uma área da memória que contém

código genérico de tratamento da exceção– O tratamento específico é feito com base no tipo

da exceção

Vetor de Interrupções (x86)– Cada exceção causa um desvio para um

endereço particular da memória, o qual contém código específico para o seu tratamento

Page 60: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores60

Caminho de Dados com Tratamento de Exceções (Abordagem do MIPS) ...

Dois registradores adicionais:– EPC: guarda o endereço da instrução interrompida

Usado apenas se o tratamento da exceção permite a retomada da execução normal a partir do ponto onde foi interrompida

Não aplicável no MIPS simplificado– Causa: guarda o código da interrupção

0 = instrução indefinida 1 = overflow aritimético O valor desse registrador é decodificado pelo código

genérico de tratamento de interrupções para definir a rotina de tratamento específica a ser aplicada

Page 61: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores61

Page 62: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores62

Controle do Tratamento de Exceções - Dois novos estados:

PCSource

Page 63: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores63

Máquina de Estados com Tratamento de Exceções...

Page 64: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores64

Page 65: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores65

Resumo das Alternativas de Implementação da Lógica de Controle

Page 66: Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores66

Trabalho - Preparativos

Estudar os dois simuladores de circuitos digitais disponíveis– Digital Works– Circuit Maker

Ambos disponíveis em:– www.inf.ufg.br/~fmc/orgcomp/simuladores

O trabalho consistirá em implementar o projeto do Capítulo 5 (Patterson&Hennessy) utilizando um destes simuladores