![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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/1.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/2.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/3.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/4.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/5.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/6.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/7.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/8.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/9.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/10.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/11.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/12.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/13.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/14.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/15.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/16.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/17.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/18.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/19.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/20.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/21.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/22.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/23.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/24.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/25.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/26.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/27.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/28.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/29.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/30.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/31.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/32.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/33.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/34.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/35.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/36.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/37.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/38.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/39.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/40.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/41.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/42.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/43.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/44.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/45.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/46.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/47.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/48.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/49.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/50.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/51.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/52.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/53.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/54.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/55.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/56.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/57.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/58.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/59.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/60.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/61.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/62.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/63.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/64.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/65.jpg)
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 –](https://reader036.vdocuments.com.br/reader036/viewer/2022070311/552fc10b497959413d8c3308/html5/thumbnails/66.jpg)
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