Baixe o app para aproveitar ainda mais
Prévia do material em texto
Universidade Federal de Pelotas Instituto de Física e Matemática Departamento de Informática Bacharelado em Ciência da Computação Arquitetura Arquitetura e e OrganizaOrganizaçãçãoo de de Computadores Computadores IIII Aula 3 2. MIPS monociclo: controle da ULA, execução das instruções, bloco de controle principal, desempenho de máquinas monociclo. Prof. José Luís Güntzel guntzel@ufpel.edu.br www.ufpel.edu.br/~guntzel/AOC2/AOC2.html slide 3.2 Prof. José Luís Güntzel 2. Organizações do MIPS: monociclo ComputaçãoUFPel Arquitetura e Organização de Computadores II Bloco Operativo Monociclo Capaz de Realizar instruções tipo R, lw, sw e beq 32 ULAFonteEndereço Instrução lida Memória de Instruções PC + 4 + Desl. à esq. 2 bits M U X 0 1 FontePC Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores EscReg Zero Resultado ULA Controle ULA 3 Exten- são de sinal 3216 [25-21] [20-16] [15-11] M U X 0 1 RegDst [15-0] M U X 0 1 LerMem EscMem Endereço Dado lido Dado a ser escrito Memória de dados M U X 0 1 MemParaReg slide 3.3 Prof. José Luís Güntzel 2. Organizações do MIPS: monociclo ComputaçãoUFPel Arquitetura e Organização de Computadores II O Controle da ULA • A ULA tem 3 entradas de controle (8 combinações possíveis) • Somente 5 combinações são usadas Set on less than111 Subtração110 Adição010 OR001 AND000 FunçãoEntrada de controle da ULA Zero Resultado ULA Operação da ULA 3 32 32 32 slide 3.4 Prof. José Luís Güntzel 2. Organizações do MIPS: monociclo ComputaçãoUFPel Arquitetura e Organização de Computadores II O Controle da ULA Uso da ULA • lw/sw: adição (para calcular o endereço de acesso à memória) • beq: subtração (para testar se os registradores Rs e Rt são iguais) • Instruções tipo R: depende do campo “funct”, podendo ser AND, OR, adição, subtração ou set on less than Set on less than111 Subtração110 Adição010 OR001 AND000 FunçãoEntrada de controle da ULA Zero Resultado ULA Operação da ULA 3 32 32 32 slide 3.5 Prof. José Luís Güntzel 2. Organizações do MIPS: monociclo ComputaçãoUFPel Arquitetura e Organização de Computadores II O Controle da ULA • A ULA terá um controle próprio, separado do bloco de controle principal (e portanto, menos complexo e mais rápido) • Este controle tem como entradas: – Os 6 bits do campo “funct” – 2 bits vindos do bloco de controle global (“ULAOp”), que serve para identificar a qual classe a instrução a ser executada pertence - tipo R beq lw/sw Classe de instrução -11 depende do campo “funct” 10 subtração01 adição00 ULA deve realizarULAOp Opera- ção da ULA ULAOp Operação da ULA funct 6 3 2 slide 3.6 Prof. José Luís Güntzel 2. Organizações do MIPS: monociclo ComputaçãoUFPel Arquitetura e Organização de Computadores II O Controle da ULA Correspondência entre “funct” & “ULAOp” com “controle da ULA” 010adição10000010add 110subtração10001010sub 000and10010010and 001or10010110or set on less than subtração adição adição Operação da ULA 101010 XXXXXX XXXXXX XXXXXX Campo “funct” 10 01 00 00 ULAOp 111slt 110beq 010sw 010lw Operação da ULAInstrução Conclusões: • Apenas algumas das 64 combinações possíveis a partir dos 6 bits do campo “funct” são de interesse • O campo “funct” somente interessa quando ULAOp = 10 Opera- ção da ULA ULAOp Operação da ULA funct 6 3 2 slide 3.7 Prof. José Luís Güntzel 2. Organizações do MIPS: monociclo ComputaçãoUFPel Arquitetura e Organização de Computadores II O Controle da ULA Tabela-Verdade para a Geração dos 3 Bits de Controle da ULA X X X X X X X F5 X X X X X X X F4 1 0 0 0 0 X X F3 0 1 1 0 0 X X F2 1 0 0 1 0 X X F1 0100X1 1100X1 0000X1 0011X1 0 X X F0 X 1 0 ULAOp2 1111 110X 0100 Operação da ULAULAOp1 010adição10000010add 110subtração10001010sub 000and10010010and 001or10010110or set on less than subtração adição adição Operação da ULA 101010 XXXXXX XXXXXX XXXXXX Campo “funct” 10 01 00 00 ULAOp 111slt 110beq 010sw 010lw Operação da ULAInstrução slide 3.8 Prof. José Luís Güntzel 2. Organizações do MIPS: monociclo ComputaçãoUFPel Arquitetura e Organização de Computadores II O Controle da ULA Tabela-Verdade para a Geração dos 3 Bits de Controle da ULA X X X X X X X F5 X X X X X X X F4 1 0 0 0 0 X X F3 0 1 1 0 0 X X F2 1 0 0 1 0 X X F1 0100X1 1100X1 0000X1 0011X1 0 X X F0 X 1 0 ULAOp2 1111 110X 0100 Operação da ULAULAOp1 slide 3.9 Prof. José Luís Güntzel 2. Organizações do MIPS: monociclo ComputaçãoUFPel Arquitetura e Organização de Computadores II Bloco Operativo + Controle da ULA 32Endereço Instrução lida Memória de Instruções PC + 4 + Desl. à esq. 2 bits M U X 0 1 Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores EscReg Zero Resultado ULA 3 Exten- são de sinal 3216 [25-21] [20-16] [15-11] M U X 0 1 RegDst [15-0] M U X 0 1 ULAFonte EscMem LerMem Endereço Dado lido Dado a ser escrito Memória de dados M U X 0 1 MemParaReg Opera- ção da ULA 2 [5-0] 6 ULAOp FontePC slide 3.10 Prof. José Luís Güntzel 2. Organizações do MIPS: monociclo ComputaçãoUFPel Arquitetura e Organização de Computadores II O Bloco de Controle Principal Relembrando os formatos das 3 principais classes de instrução shamt 10 6 rd 15 11 opcode 31 26 rs 25 21 rt 20 16 funct 5 0 Instrução tipo R: Instrução store word : Instrução load word: deslocamento 15 0 opcode 31 26 rs 25 21 rt 20 16 deslocamento 15 0 opcode 31 26 rs 25 21 rt 20 16 Reg. a ser lido #1 Reg. a ser lido #2 Reg. a ser escrito Reg. a ser lido #1 (reg. base) Deslocamento a ser somado com o reg. base Reg. a ser lido #2 (dado) Reg. a ser lido #1 (reg. base) Reg. a ser escrito Deslocamento a ser somado com o reg. base slide 3.11 Prof. José Luís Güntzel 2. Organizações do MIPS: monociclo ComputaçãoUFPel Arquitetura e Organização de Computadores II O Bloco de Controle Principal Relembrando os formatos das 3 principais classes de instrução Instrução branch on equal: deslocamento 15 0 opcode 31 26 rs 25 21 rt 20 16 Reg. a ser lido #1 Reg. a ser lido #2 Deslocamento a ser somado com o PC comparados slide 3.12 Prof. José Luís Güntzel 2. Organizações do MIPS: monociclo ComputaçãoUFPel Arquitetura e Organização de Computadores II Os Sinais de Controle 32Endereço Instrução lida Memória de Instruções PC + 4 + Desl. à esq. 2 bits M U X 0 1 FontePC Reg a ser lido #1 Reg a ser lido #2 Rega ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores EscReg Zero Resultado ULA 3 Exten- são de sinal 3216 [25-21] [20-16] [15-11] M U X 0 1 RegDst [15-0] M U X 0 1 ULAFonte LerMem EscMem Endereço Dado lido Dado a ser escrito Memória de dados M U X 0 1 MemParaReg Controle [31-26] Opera- ção da ULA 2 [5-0] 6 ULAOp DvC =1 se beq Controle do beq slide 3.13 Prof. José Luís Güntzel 2. Organizações do MIPS: monociclo ComputaçãoUFPel Arquitetura e Organização de Computadores II Execução de uma Instrução Tipo R Seja uma instrução tipo R, como por exemplo add $t1, $t2, $t3: Podemos imaginar que esta instrução é executada em 4 etapas: 1. Busca da instrução (na memória de instruções) e incremento do PC 2. Leitura de dois registradores (no caso, $t2 e $t3, ou Rs e Rt) e geração dos sinais de controle para o resto do bloco operativo (decodificação da instrução) 3. Operação na ULA 4. Escrita (do resultado da operação realizada na ULA) no registrador destino ($t1 ou Rd) Como estes passos ocorrem dentro do mesmo ciclo de relógio (regime monociclo), a ordem real irá depender do atraso de cada componente. slide 3.14 Prof. José Luís Güntzel 2. Organizações do MIPS: monociclo ComputaçãoUFPel Arquitetura e Organização de Computadores II Instrução Tipo R: busca da instrução e cálculo de PC+4 32Endereço Instrução lida Memória de Instruções PC 4 Desl. à esq. 2 bits M U X 0 1 FontePC Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores EscReg Zero Resultado ULA 3 Exten- são de sinal 3216 [25-21] [20-16] [15-11] M U X 0 1 RegDst [15-0] M U X 0 1 ULAFonte LerMem EscMem Endereço Dado lido Dado a ser escrito Memória de dados M U X 0 1 MemParaReg Controle [31-26] Opera- ção da ULA 2 [5-0] 6 ULAOp DvC CK + + Carga no PC (início da execução 4ns 1ns 1ns 1ns ?? ns 2ns 4ns slide 3.15 Prof. José Luís Güntzel 2. Organizações do MIPS: monociclo ComputaçãoUFPel Arquitetura e Organização de Computadores II Instrução Tipo R: leit. de Rs e Rt e geração sinais de controle 32Endereço Instrução lida Memória de Instruções PC 4 Desl. à esq. 2 bits M U X 0 1 FontePC Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores EscReg Zero Resultado ULA 3 Exten- são de sinal 3216 [25-21] [20-16] [15-11] M U X 0 1 RegDst [15-0] M U X 0 1 ULAFonte LerMem EscMem Endereço Dado lido Dado a ser escrito Memória de dados M U X 0 1 MemParaReg Controle [31-26] Opera- ção da ULA 2 [5-0] 6 ULAOp DvC CK + + 1 1 0 10 0 0 10 4ns 1ns 1ns 1ns ?? ns 2ns 4ns slide 3.16 Prof. José Luís Güntzel 2. Organizações do MIPS: monociclo ComputaçãoUFPel Arquitetura e Organização de Computadores II Instrução Tipo R: operação na ULA (depende de “funct”) 32Endereço Instrução lida Memória de Instruções PC 4 Desl. à esq. 2 bits M U X 0 1 FontePC Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores EscReg 3 Exten- são de sinal 3216 [25-21] [20-16] [15-11] RegDst [15-0] M U X 0 1 ULAFonte LerMem EscMem Endereço Dado lido Dado a ser escrito Memória de dados M U X 0 1 MemParaReg Controle [31-26] Opera- ção da ULA 2 [5-0] 6 ULAOp DvC CK + + 1 1 0 10 0 0 10 Zero Resultado ULAM U X 0 1 4ns 1ns 1ns 1ns ?? ns 2ns 4ns slide 3.17 Prof. José Luís Güntzel 2. Organizações do MIPS: monociclo ComputaçãoUFPel Arquitetura e Organização de Computadores II Instrução Tipo R: escrita no registrador-destino 32Endereço Instrução lida Memória de Instruções PC 4 Desl. à esq. 2 bits M U X 0 1 FontePC Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores EscReg 3 Exten- são de sinal 3216 [25-21] [20-16] [15-11] RegDst [15-0] M U X 0 1 ULAFonte LerMem EscMem Endereço Dado lido Dado a ser escrito Memória de dados M U X 0 1 MemParaReg Controle [31-26] Opera- ção da ULA 2 [5-0] 6 ULAOp DvC CK + + 1 1 0 10 0 0 10 Zero Resultado ULAM U X 0 1 “folga” 4ns 1ns 1ns 1ns+1ns ?? ns 2ns 4ns slide 3.18 Prof. José Luís Güntzel 2. Organizações do MIPS: monociclo ComputaçãoUFPel Arquitetura e Organização de Computadores II Instrução Tipo R: escrita no registrador-destino 32Endereço Instrução lida Memória de Instruções PC 4 Desl. à esq. 2 bits M U X 0 1 FontePC Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores EscReg 3 Exten- são de sinal 3216 [25-21] [20-16] [15-11] RegDst [15-0] M U X 0 1 ULAFonte LerMem EscMem Endereço Dado lido Dado a ser escrito Memória de dados M U X 0 1 MemParaReg Controle [31-26] Opera- ção da ULA 2 [5-0] 6 ULAOp DvC CK + + 1 1 0 10 0 0 10 Zero Resultado ULA “folga” A escrita no banco de registradores precisa estar sincronizada com a borda do relógio M U X 0 1 4ns 1ns 1ns 1ns+1ns ?? ns 2ns 4ns slide 3.19 Prof. José Luís Güntzel 2. Organizações do MIPS: monociclo ComputaçãoUFPel Arquitetura e Organização de Computadores II Execução de uma Instrução lw Seja a instrução load word, lw $t1, deslocamento($t2): Podemos imaginar que esta instrução é executada em 5 etapas: 1. Busca da instrução (na memória de instruções) e incremento do PC 2. Leitura de dois registradores (no caso, $t1 e $t2, ou Rs e Rt) e geração dos sinais de controle para o resto do bloco operativo (decodificação da instrução). Apenas o registrador $t2 (Rs) interessa, pois é o registrador-base. Rt será desprezado… 3. Cálculo do endereço usando a ULA (adição) 4. Acesso à memória de dados para uma leitura (endereço = resultado da ULA) 5. Escrita (do valor lido da memória de dados) no registrador destino ($t1, que neste caso correponde ao campo Rt) slide 3.20 Prof. José Luís Güntzel 2. Organizações do MIPS: monociclo ComputaçãoUFPel Arquitetura e Organização de Computadores II Instrução lw: busca da instrução e cálculo de PC+4 32Endereço Instrução lida Memória de Instruções PC 4 Desl. à esq. 2 bits M U X 0 1 FontePC Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores EscReg Zero Resultado ULA 3 Exten- são de sinal 3216 [25-21] [20-16] [15-11] M U X 0 1 RegDst [15-0] M U X 0 1 ULAFonte LerMem EscMem Endereço Dado lido Dado a ser escrito Memória de dados M U X 0 1 MemParaReg Controle [31-26] Opera- ção da ULA 2 [5-0] 6 ULAOp DvC CK + + Carga no PC (início da execução 4ns 1ns 1ns 1ns ?? ns 2ns 4ns slide 3.21 Prof. José Luís Güntzel 2. Organizações do MIPS: monociclo ComputaçãoUFPelArquitetura e Organização de Computadores II 32Endereço Instrução lida Memória de Instruções PC 4 Desl. à esq. 2 bits M U X 0 1 FontePC Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores EscReg Zero Resultado ULA 3 Exten- são de sinal 3216 [25-21] [20-16] [15-11] RegDst [15-0] M U X 0 1 ULAFonte LerMem EscMem Endereço Dado lido Dado a ser escrito Memória de dados M U X 0 1 MemParaReg Controle [31-26] Opera- ção da ULA 2 [5-0] 6 ULAOp DvC CK + + 0 1 1 00 1 0 00 M U X 0 1 Instrução lw: leitura de Rs (e Rt) e geração sinais de controle 4ns 1ns 1ns 1ns ?? ns 2ns 4ns slide 3.22 Prof. José Luís Güntzel 2. Organizações do MIPS: monociclo ComputaçãoUFPel Arquitetura e Organização de Computadores II 32Endereço Instrução lida Memória de Instruções PC 4 Desl. à esq. 2 bits M U X 0 1 FontePC Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores EscReg 3 Exten- são de sinal 3216 [25-21] [20-16] [15-11] RegDst [15-0] M U X 0 1 ULAFonte LerMem EscMem Endereço Dado lido Dado a ser escrito Memória de dados M U X 0 1 MemParaReg Controle [31-26] Opera- ção da ULA 2 [5-0] 6 ULAOp DvC CK + + 0 1 1 00 1 0 00 M U X 0 1 Instrução lw: cálculo do endereço usando a ULA (adição) Zero Resultado ULA 4ns 1ns 1ns 1ns ?? ns 2ns 4ns slide 3.23 Prof. José Luís Güntzel 2. Organizações do MIPS: monociclo ComputaçãoUFPel Arquitetura e Organização de Computadores II 32Endereço Instrução lida Memória de Instruções PC 4 Desl. à esq. 2 bits M U X 0 1 FontePC Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores EscReg 3 Exten- são de sinal 3216 [25-21] [20-16] [15-11] RegDst [15-0] M U X 0 1 ULAFonte LerMem EscMem Endereço Dado lido Dado a ser escrito Memória de dados M U X 0 1 MemParaReg Controle [31-26] Opera- ção da ULA 2 [5-0] 6 ULAOp DvC CK + + 0 1 1 00 1 0 00 M U X 0 1 Instrução lw: acesso à memória de dados para uma leitura Zero Resultado ULA 4ns 1ns 1ns 1ns ?? ns 2ns 4ns slide 3.24 Prof. José Luís Güntzel 2. Organizações do MIPS: monociclo ComputaçãoUFPel Arquitetura e Organização de Computadores II 32Endereço Instrução lida Memória de Instruções PC 4 Desl. à esq. 2 bits M U X 0 1 FontePC Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores EscReg 3 Exten- são de sinal 3216 [25-21] [20-16] [15-11] RegDst [15-0] M U X 0 1 ULAFonte LerMem EscMem Endereço Dado lido Dado a ser escrito Memória de dados M U X 0 1 MemParaReg Controle [31-26] Opera- ção da ULA 2 [5-0] 6 ULAOp DvC CK + + 0 1 1 00 1 0 00 M U X 0 1 Instrução lw: escrita no registrador-destino Zero Resultado ULA “folga” 4ns 1ns 1ns 1ns+1ns ?? ns 2ns 4ns slide 3.25 Prof. José Luís Güntzel 2. Organizações do MIPS: monociclo ComputaçãoUFPel Arquitetura e Organização de Computadores II Execução de uma Instrução beq Seja a instrução de desvio condicional, beq $t1, $t2, deslocamento: Podemos imaginar que esta instrução é executada em 3 etapas: 1. Busca da instrução (na memória de instruções) e incremento do PC 2. Leitura de dois registradores (no caso, $t1 e $t2, ou Rs e Rt) e geração dos sinais de controle para o resto do bloco operativo (decodificação da instrução) 3. Cálculo da subtração entre os registradores $t1 e $t2 (Rs e Rt) usando a ULA (adição). O valor na saída “zero” da ULA é usado para decidir se o PC será atualizado com PC+4 ou com o endereço- alvo do desvio condicional. slide 3.26 Prof. José Luís Güntzel 2. Organizações do MIPS: monociclo ComputaçãoUFPel Arquitetura e Organização de Computadores II Instrução beq: busca da instrução e cálculo de PC+4 32Endereço Instrução lida Memória de Instruções PC 4 Desl. à esq. 2 bits M U X 0 1 FontePC Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores EscReg Zero Resultado ULA 3 Exten- são de sinal 3216 [25-21] [20-16] [15-11] M U X 0 1 RegDst [15-0] M U X 0 1 ULAFonte LerMem EscMem Endereço Dado lido Dado a ser escrito Memória de dados M U X 0 1 MemParaReg Controle [31-26] Opera- ção da ULA 2 [5-0] 6 ULAOp DvC CK + + Carga no PC (início da execução 4ns 1ns 1ns 1ns ?? ns 2ns 4ns slide 3.27 Prof. José Luís Güntzel 2. Organizações do MIPS: monociclo ComputaçãoUFPel Arquitetura e Organização de Computadores II Instrução beq: leit. de Rs e Rt e geração sinais de controle 32Endereço Instrução lida Memória de Instruções PC 4 Desl. à esq. 2 bits M U X 0 1 FontePC Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores EscReg Zero Resultado ULA 3 Exten- são de sinal 3216 [25-21] [20-16] [15-11] M U X 0 1 RegDst [15-0] M U X 0 1 ULAFonte LerMem EscMem Endereço Dado lido Dado a ser escrito Memória de dados M U X 0 1 MemParaReg Controle [31-26] Opera- ção da ULA 2 [5-0] 6 ULAOp DvC CK + + 4ns 1ns 1ns 1ns ?? ns X 0 0 X0 0 1 01 4ns 2ns slide 3.28 Prof. José Luís Güntzel 2. Organizações do MIPS: monociclo ComputaçãoUFPel Arquitetura e Organização de Computadores II Instrução beq: operação na ULA (subtração) 32Endereço Instrução lida Memória de Instruções PC 4 Desl. à esq. 2 bits M U X 0 1 FontePC Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores EscReg 3 Exten- são de sinal 3216 [25-21] [20-16] [15-11] RegDst [15-0] M U X 0 1 ULAFonte LerMem EscMem Endereço Dado lido Dado a ser escrito Memória de dados M U X 0 1 MemParaReg Controle [31-26] Opera- ção da ULA 2 [5-0] 6 ULAOp DvC CK + + 4ns 1ns 1ns 1ns ?? ns X 0 0 X0 0 1 01 Zero Resultado ULA 2ns M U X 0 1 “folga” 4ns slide 3.29 Prof. José Luís Güntzel 2. Organizações do MIPS: monociclo ComputaçãoUFPel Arquitetura e Organização de Computadores II 1 0 0 0 DvC 0 1 0 0 EscMem 0 1 1 0 ULAFonte X X 0 1 RegDst 0 0 1 1 EscReg 0 0 1 0 LerMem 001lw 00Xsw 0 1 ULAOp1 X 0 MemParaReg 1beq 0Tipo R ULAOp0instrução Projeto do Bloco de Controle Principal Valores dos Sinais de Controle para as Instruções R, lw, sw e beq Valores do campo “opcode” para as Instruções R, lw, sw e beq 0 1 1 0 Op5 0 0 0 0 Op4 0 1 0 0 Op3 1 0 0 0 Op2 0 1 1 0 Op14 43 35 0 Opcode em decimal 1lw 1sw 0beq 0Tipo R Op0instrução slide 3.30 Prof. José Luís Güntzel 2. Organizações do MIPS: monociclo ComputaçãoUFPel Arquitetura e Organização de Computadores II 0 1 1 0 Op5 0 0 0 0 Op4 0 1 0 0 Op3 1 0 0 0 Op2 0 1 1 0 Op1 0 1 1 0 Op0 1 0 0 0 0 1 0 0 0 1 1 0 X X 0 1 0 0 1 1 0 0 1 0 001 00X 0 1 X 0 1 0 Projeto do Bloco de Controle Principal Tabela-Verdade para os Sinais de Controle R eg D st U L A F o n te M em P ar aR eg E sc R eg L er M em E sc M em D vC U L A O p 1 U L A O p 0 entradas saídas slide 3.31 Prof. José Luís Güntzel 2. Organizações do MIPS: monociclo ComputaçãoUFPel Arquitetura e Organização de Computadores II Inclusão do Desvio Incondicional (jump) • A instrução jump se parece com a instrução beq • Porém, calcula o endereço-alvo concatenando: – Os 4 bits de mais significativos de PC+4 com – Os 26 bits do campo “deslocamento” da instrução de jump (campo imediato) e com – os bits “00” (menos significativos) Instrução jump: deslocamentoopcode 25 031 26 slide 3.32 Prof. José Luís Güntzel 2. Organizações do MIPS: monociclo ComputaçãoUFPel Arquitetura e Organização de Computadores II 26Endereço Instrução lida Memória de Instruções PC + 4 + Desl. à esq. 2 bits M U X 0 1 FontePC Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores EscReg Zero Resultado ULA 3 Exten- são de sinal 3216 [25-21] [20-16] [15-11] M U X 0 1 RegDst [15-0] M U X 0 1 ULAFonte LerMem EscMem Endereço Dado lido Dado a ser escrito Memória de dados M U X 0 1 MemParaReg Controle [31-26] Opera- ção da ULA 2 [5-0] 6 ULAOp DvC Inclusão do Desvio Incondicional (jump) 32 Desl. à esq. 2 bits 26 28 PC+4[31-28] M U X 1 0 DVI =1 se jump slide 3.33 Prof. José Luís Güntzel 2. Organizações do MIPS: monociclo ComputaçãoUFPel Arquitetura e Organização de Computadores II Desempenho de Máquinas Monociclo Unidades funcionais utilizadas por cada instrução Escreve na memória ULALê registrador(es)Busca da instruçãosw Lê registrador(es) Lê registrador(es) Lê registrador(es) Etapa 2 ULA ULA ULA Etapa3 Lê memória Escreve registrador Etapa 4 Busca da instrução Busca da instrução Busca da instrução Busca da instrução Etapa 1 Escreve registrador lw beq jump Tipo R Etapa 5instrução slide 3.34 Prof. José Luís Güntzel 2. Organizações do MIPS: monociclo ComputaçãoUFPel Arquitetura e Organização de Computadores II Desempenho de Máquinas Monociclo Tempo de execução de cada instrução (com valores hipotéticos de atraso para cada etapa) --- --- 4 ns 4 ns --- Acesso à memória de dados 11 ns---2 ns1 ns4 nssw --- 1 ns 1 ns 1 ns Leitura de registradores --- 2 ns 2 ns 2 ns Operação na ULA --- --- 1 ns 1 ns Escrita no registrador 4 ns 4 ns 4 ns 4 ns Acesso à memória de instruções 12 nslw 7 nsbeq 4 nsjump 8 nsTipo R Totalinstrução
Compartilhar