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 9 2. MIPS pipeline: construção do bloco operativo pipeline, visualização da execução das instruções no pipeline, o bloco de controle pipeline. Prof. José Luís Güntzel guntzel@ufpel.edu.br www.ufpel.edu.br/~guntzel/AOC2/AOC2.html slide 9.2 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline 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 Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores Zero Resultado ULA Exten- são de sinal 3216 [25-21] M U X 0 1 MU X 0 1 Endereço Dado lido Dado a ser escrito Memória de dados M U X 0 1 + + [20-16] [15-11] [15-0] Bloco Operativo dos MIPS Monociclo É possível identificar 5 etapas na execução slide 9.3 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II É necessário separar a parte operativa em cinco partes, cada uma correspondendo a um estágio de execução de uma instrução: 1. BI: busca de instrução 2. DI: decodificação da instrução e leitura do banco de registradores 3. EX: execução ou cálculo de endereço 4. MEM: acesso à memória de dados 5. ER: escrita no banco de registradores Bloco Operativo em Pipeline (Pipeline Datapath) Até cinco instruções podem estar em execução durante um dado ciclo de clock slide 9.4 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II BI: Busca da instrução DI: Decodif. da instrução/ Leitura do banco de regs. EX: Execução/ Cálculo do endereço MEM: acesso à mem ER: escrita no banco de registradores 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 Zero Resultado ULA Exten- são de sinal 3216 [25-21] M U X 0 1 MU X 0 1 Endereço Dado lido Dado a ser escrito Memória de dados M U X 0 1 + + [20-16] [15-11] [15-0] Instruções e dados se movem da esquerda para direita (exceto as linhas marcadas em vermelho) slide 9.5 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II Um modo de mostrar a execução em pipeline é imaginar que cada instrução executa em seu próprio bloco operativo Os blocos operativos são colocados deslocados uns em relação aos outros, a fim de mostrar a relação entre as instruções Bloco Operativo em Pipeline slide 9.6 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II Execução das 3 instruções lw pressupondo o uso de pipeline lw $1, 100($0) lw $2, 200($0) Ordem de execução do programa (em instruções) Tempo 2 4 6 8 10 lw $3, 300($3) 12 14 16 18 Bloco Operativo em Pipeline MI Reg MD RegULA MI Reg MD RegULA MI Reg MD RegULA slide 9.7 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II Bloco Operativo em Pipeline 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 Exten- são de sinal 3216 M U X 0 1 MU X 0 1 Endereço Dado lido Dado a ser escrito Memória de dados M U X 0 1 + + BI/DI DI/EX EX/MEM MEM/ER Zero Resultado ULA [25-21] [20-16] [15-11] [15-0] registradores de pipeline slide 9.8 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II Bloco Operativo em Pipeline: executando lw 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 Exten- são de sinal 3216 M U X 0 1 MU X 0 1 Endereço Dado lido Dado a ser escrito Memória de dados M U X 0 1 + BI/DI DI/EX EX/MEM MEM/ER Zero Resultado ULA [25-21] [20-16] [15-11] [15-0] Busca da instrução PC+4 é armazenado para ser usado, caso a instrução corrente seja um beq + slide 9.9 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II Bloco Operativo em Pipeline: executando lw 32Endereço Instrução lida Memória de Instruções PC 4 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 Exten- são de sinal 3216 M U X 0 1 + BI/DI DI/EX [25-21] [20-16] [15-11] [15-0] decodificação da instrução Desl. à esq. 2 bits Endereço Dado lido Dado a ser escrito Memória de dados M U X 0 1 EX/MEM MEM/ER Zero Resultado ULA + M U X 0 1 slide 9.10 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II Bloco Operativo em Pipeline: executando lw Desl. à esq. 2 bits M U X 0 1 DI/EX EX/MEM Zero Resultado ULA execução + Endereço Dado lido Dado a ser escrito Memória de dados M U X 0 1 MEM/ER 32Endereço Instrução lida Memória de Instruções PC 4 M U X 0 1 + BI/DI Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores Exten- são de sinal 3216 M U X 0 1 [25-21] [20-16] [15-11] [15-0] slide 9.11 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II Bloco Operativo em Pipeline: executando lw Endereço Dado lido Dado a ser escrito Memória de dados EX/MEM MEM/ER memória M U X 0 1 DI/EX 32Endereço Instrução lida Memória de Instruções PC 4 M U X 0 1 + BI/DI Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores Exten- são de sinal 3216 M U X 0 1 [25-21] [20-16] [15-11] [15-0] Desl. à esq. 2 bits M U X 0 1 Zero Resultado ULA + slide 9.12 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II Bloco Operativo em Pipeline: executando lw Endereço Dado lido Dado a ser escrito Memória de dados EX/MEM MEM/ERDI/EX 32Endereço Instrução lida Memória de Instruções PC 4 M U X 0 1 + BI/DI Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores Exten- são de sinal 3216 [25-21] [20-16] [15-11] [15-0] Desl. à esq. 2 bits M U X 0 1 Zero Resultado ULA + Escrita no banco de registradoresM U X 0 1 M U X 0 1 slide 9.13 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II Bloco Operativo em Pipeline: executando sw 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 Exten- são de sinal 3216 M U X 0 1 MU X 0 1 Endereço Dado lido Dado a ser escrito Memória de dados M U X 0 1 + BI/DI DI/EX EX/MEM MEM/ER Zero Resultado ULA [25-21] [20-16] [15-11] [15-0] Busca da instrução + Idêntico ao 1o estágio do lw slide 9.14 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II Bloco Operativo em Pipeline: executando sw 32Endereço Instrução lida Memória de Instruções PC 4 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 Exten- são de sinal 3216 + BI/DI DI/EX [25-21] [20-16] [15-11] [15-0] decodificação da instrução Desl. à esq. 2 bits M U X 0 1 Endereço Dado lido Dado a ser escrito Memória de dados M U X 0 1 EX/MEM MEM/ER Zero Resultado ULA + Idêntico ao 2o estágio do lw M U X 0 1 slide 9.15 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II Bloco Operativo em Pipeline: executando sw Desl. à esq. 2 bits M U X 0 1 DI/EX EX/MEM Zero Resultado ULA execução + Endereço Dado lido Dado a ser escrito Memória de dados M U X 0 1 MEM/ER 32Endereço Instrução lida Memória de Instruções PC 4 M U X 0 1 + BI/DI Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores Exten- são de sinal 3216 M U X 0 1 [25-21] [20-16] [15-11] [15-0] conteúdo de Reg[Rt] é passado adiante slide 9.16 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II Bloco Operativo em Pipeline: executando sw Endereço Dado lido Dado a ser escrito Memória de dados EX/MEM MEM/ER memória M U X 0 1 DI/EX 32Endereço Instrução lida Memória de Instruções PC 4 M U X 0 1 + BI/DI Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores Exten- são de sinal 3216 M U X 0 1 [25-21] [20-16] [15-11] [15-0] Desl. à esq. 2 bits M U X 0 1 Zero Resultado ULA + conteúdo de Reg[Rt] é escrito na memória slide 9.17 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II Bloco Operativo em Pipeline: executando sw Endereço Dado lido Dado a ser escrito Memória de dados EX/MEM MEM/ERDI/EX 32Endereço Instrução lida Memória de Instruções PC 4 M U X 0 1 + BI/DI Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores Exten- são de sinal 3216 [25-21] [20-16] [15-11] [15-0] Desl. à esq. 2 bits M U X 0 1 Zero Resultado ULA + Escrita no banco de registradores M U X 0 1 M U X 0 1 Nada acontece no 5o estágio… slide 9.18 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II Cada componente no bloco operativo só pode ser usado em um único estágio do pipeline Componentes: Memória de instruções Portas de leitura do banco de registradores ULA Memória de dados Porta de escrita do banco de registradores Bloco Operativo em Pipeline slide 9.19 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II Bloco Operativo em Pipeline: executando lw Endereço Dado lido Dado a ser escrito Memória de dados EX/MEM MEM/ERDI/EX 32Endereço Instrução lida Memória de Instruções PC 4 M U X 0 1 + BI/DI Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores Exten- são de sinal 3216 [25-21] [20-16] [15-11] [15-0] Desl. à esq. 2 bits M U X 0 1 Zero Resultado ULA + Escrita no banco de registradores M U X 0 1 M U X 0 1 Bug! O endereço do registrador a ser escrito deve viajar junto com a instrução lw slide 9.20 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II Bloco Operativo Pipeline Corrigido Endereço Dado lido Dado a ser escrito Memória de dados EX/MEM MEM/ERDI/EX 32Endereço Instrução lida Memória de Instruções PC 4 M U X 0 1 + BI/DI Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores Exten- são de sinal 3216 [25-21] [20-16] [15-11] [15-0] Desl. à esq. 2 bits Zero Resultado ULA + M U X 0 1 M U X 0 1 M U X 0 1 slide 9.21 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II Bloco Operativo Pipeline Corrigido Endereço Dado lido Dado a ser escrito Memória de dados EX/MEM MEM/ERDI/EX 32Endereço Instrução lida Memória de Instruções PC 4 M U X 0 1 + BI/DI Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores Exten- são de sinal 3216 [25-21] [20-16] [15-11] [15-0] Desl. à esq. 2 bits Zero Resultado ULA + M U X 0 1 M U X 0 1 Por que este multiplexador veio parar aqui? M U X 0 1 slide 9.22 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II Endereço Dado lido Dado a ser escrito Memória de dados EX/MEM MEM/ERDI/EX 32Endereço Instrução lida Memória de Instruções PC 4 M U X 0 1 + BI/DI Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores Exten- são de sinal 3216 [25-21] [20-16] [15-11] [15-0] Desl. à esq. 2 bits M U X 0 1 Zero Resultado ULA + M U X 0 1 M U X 0 1 Busca da instrução Bloco Operativo Pipeline Corrigido executando lw slide 9.23 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II Endereço Dado lido Dado a ser escrito Memória de dados EX/MEM MEM/ERDI/EX 32Endereço Instrução lida Memória de Instruções PC 4 M U X 0 1 + BI/DI Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores Exten- são de sinal 3216 [25-21] [20-16] [15-11] [15-0] Desl. à esq. 2 bits Zero Resultado ULA + M UX 0 1 M U X 0 1 decodificação da instrução M U X 0 1 Bloco Operativo Pipeline Corrigido executando lw slide 9.24 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II Bloco Operativo Pipeline Corrigido executando lw Endereço Dado lido Dado a ser escrito Memória de dados EX/MEM MEM/ERDI/EX 32Endereço Instrução lida Memória de Instruções PC 4 M U X 0 1 + BI/DI Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores Exten- são de sinal 3216 [25-21] [20-16] [15-11] [15-0] Desl. à esq. 2 bits M U X 0 1 Zero Resultado ULA + M U X 0 1 M U X 0 1 execução slide 9.25 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II Endereço Dado lido Dado a ser escrito Memória de dados EX/MEM MEM/ERDI/EX 32Endereço Instrução lida Memória de Instruções PC 4 M U X 0 1 + BI/DI Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores Exten- são de sinal 3216 [25-21] [20-16] [15-11] [15-0] Desl. à esq. 2 bits M U X 0 1 Zero Resultado ULA + M U X 0 1 M U X 0 1 memória Bloco Operativo Pipeline Corrigido executando lw slide 9.26 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II Endereço Dado lido Dado a ser escrito Memória de dados EX/MEM MEM/ERDI/EX 32Endereço Instrução lida Memória de Instruções PC 4 M U X 0 1 + BI/DI Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores Exten- são de sinal 3216 [25-21] [20-16] [15-11] [15-0] Desl. à esq. 2 bits Zero Resultado ULA + M U X 0 1 M U X 0 1 M U X 0 1 Escrita no banco de registradores Bloco Operativo Pipeline Corrigido executando lw slide 9.27 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II Considere a seguinte seqüência de instruções: lw $10, 20($1) sub $11, $2, $3 Representá-la usando diagrama de pipeline com múltiplos ciclos de clock (relógio) Executando uma Seqüência de Instruções slide 9.28 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II Diagrama de Pipeline com Múltiplos Ciclos de Clock: versão 1 Executando uma Seqüência de Instruções lw $10, 20($1) sub $11, $2, $3 Ordem de execução do programa (em instruções) Tempo (em ciclos de clock) CC1 MI Reg MD RegULA MI Reg MD RegULA CC2 CC3 CC4 CC5 CC6 Diagrama não-convencional Os recursos usados em cada estágio estão identificados slide 9.29 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II Diagrama de Pipeline com Múltiplos Ciclos de Clock: versão 2 Executando uma Seqüência de Instruções Diagrama tradicional Identifica cada estágio pelo nome lw $10, 20($1) sub $11, $2, $3 Ordem de execução do programa (em instruções) Tempo (em ciclos de clock) CC1 CC2 CC3 CC4 CC5 CC6 Escrita no banco de registradores Acesso a dados Execução Decodificação da instrução Busca da instrução Escrita no banco de registradores Acesso a dados Execução Decodificação da instrução Busca da instrução slide 9.30 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II Representar a seqüência de instruções abaixo usando diagrama de pipeline com um único ciclo de clock (relógio) lw $10, 20($1) sub $11, $2, $3 Executando uma Seqüência de Instruções slide 9.31 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II Endereço Dado lido Dado a ser escrito Memória de dados EX/MEM MEM/ERDI/EX 32Endereço Instrução lida Memória de Instruções PC 4 M U X 0 1 + BI/DI Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores Exten- são de sinal 3216 [25-21] [20-16] [15-11] [15-0] Desl. à esq. 2 bits M U X 0 1 Zero Resultado ULA + M U X 0 1 M U X 0 1 Executando uma Seqüência de Instruções Busca da instrução lw $10, 20($1) slide 9.32 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II Endereço Dado lido Dado a ser escrito Memória de dados EX/MEM MEM/ERDI/EXBI/DI Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores Exten- são de sinal 3216 [25-21] [20-16] [15-11] [15-0] Desl. à esq. 2 bits Zero Resultado ULA + M U X 0 1 M U X 0 1 M U X 0 1 Executando uma Seqüência de Instruções Decodificação da instrução lw $10, 20($1) Busca da instrução sub $11, $2, $3 32Endereço Instrução lida Memória de Instruções PC 4 M U X 0 1 + slide 9.33 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II Endereço Dado lido Dado a ser escrito Memória de dados EX/MEM MEM/ERDI/EX 32Endereço Instrução lida Memória de Instruções PC 4 M U X 0 1 + Desl. à esq. 2 bits M U X 0 1 Zero Resultado ULA + M U X 0 1 M U X 0 1 Executando uma Seqüência de Instruções Execução lw $10, 20($1) Decodificação da instrução sub $11, $2, $3 BI/DI Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores Exten- são de sinal 3216 [25-21] [20-16] [15-11] [15-0] slide 9.34 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II Endereço Dado lido Dado a ser escrito Memória de dados EX/MEM MEM/ER 32Endereço Instrução lida Memória de Instruções PC 4 M U X 0 1 + BI/DI Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores Exten- são de sinal 3216 [25-21] [20-16] [15-11] [15-0] M U X 0 1 Executando uma Seqüência de Instruções Memória lw $10, 20($1) Execução sub $11, $2, $3 DI/EX Desl. à esq. 2 bits M U X 0 1 Zero Resultado ULA + M U X 0 1 slide 9.35 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II EX/MEM MEM/ERDI/EX 32Endereço Instrução lida Memória de Instruções PC 4 M U X 0 1 + BI/DI Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores Exten- são de sinal 3216 [25-21] [20-16] [15-11] [15-0] Desl. à esq. 2 bits Zero Resultado ULA + M U X 0 1 M U X 0 1 M U X 0 1 Executandouma Seqüência de Instruções Escrita no banco de registradores lw $10, 20($1) Memória sub $11, $2, $3 Endereço Dado lido Dado a ser escrito Memória de dados slide 9.36 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II EX/MEM MEM/ERDI/EX 32Endereço Instrução lida Memória de Instruções PC 4 M U X 0 1 + BI/DI Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores Exten- são de sinal 3216 [25-21] [20-16] [15-11] [15-0] Desl. à esq. 2 bits Zero Resultado ULA + M U X 0 1 M U X 0 1 M U X 0 1 Executando uma Seqüência de Instruções Escrita no banco de registradores sub $11, $2, $3 Endereço Dado lido Dado a ser escrito Memória de dados slide 9.37 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II Endereço Dado lido Dado a ser escrito Memória de dados EX/MEM MEM/ERDI/EX 32Endereço Instrução lida Memória de Instruções PC 4 M U X 0 1 + BI/DI Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita Dado lido #1 Dado lido #2 Registradores Exten- são de sinal 16 [25-21] [20-16] [15-11] [15-0] Desl. à esq. 2 bits Zero Resultado ULA + M U X 0 1 M U X 0 1 M U X 0 1 Opera- ção da ULA 2 ULAOp 3 32 6 EscMem LerMem MemParaReg EscReg RegDst ULAFonte DvC FontePC Bloco Operativo em Pipeline com Sinais de Controle slide 9.38 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II Iremos aproveitar ao máximo os sinais de controle do MIPS monociclo Isto inclui utilizar a mesma lógica de controle para: A ULA O desvio condicional O multiplexador que controla a fonte do dado do registrador- destino E demais linhas de controle mostradas na transparência anterior… Projeto do Bloco de Controle slide 9.39 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II Relembrando 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 slide 9.40 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II 0 0 1 1 EscReg 0 1 0 0 EscMem 0 0 1 0 LerMem 1 0 0 0 DvC 1 0 0 0 ULAOp0 0 0 0 1 ULAOp1 0 1 1 0 ULAFonte X X 0 1 RegDst 1lw Xsw X 0 MemParaReg beq Tipo R instrução Projeto do Bloco de Controle Reagrupando os Sinais de Controle do MIPS monociclo, a fim de reaproveitá-los… Conforme pode-se perceber, os sinais de controle são essencialmente os mesmos do MIPS monociclo A única particularidade é que eles precisam “viajar” pelos estágios juntamente com a instrução Sinais de Controle a serem usados no estágio de execução/cálculo do endereço Sinais de Controle a serem usados no estágio de acesso à memória Sinais de Controle a serem usados no estágio de escrita no banco de registradores slide 9.41 Prof. José Luís Güntzel 2. Organizações do MIPS: pipeline ComputaçãoUFPel Arquitetura e Organização de Computadores II Projeto do Bloco de Controle Endereço Dado lido Dado a ser escrito Memória de dados DI/EX 32Endereço Instrução lida Memória de Instruções PC 4 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 Exten- são de sinal 16 [25-21] [20-16] [15-11] [15-0] Desl. à esq. 2 bits Zero Resultado ULA + M U X 0 1 M U X 0 1 M U X 0 1 Opera- ção da ULA 2 ULAOp 3 32 6 EscMem LerMem MemParaReg EscReg RegDst ULAFonte DvC FontePC Controle EX M ER M ER EX/MEM MEM/ER ERBI/DI [31-26] instrução
Compartilhar