44
Arquitetura de Computadores
UFPI
1
Arquitetura de Computadores
UFPI
11
Arquitetura de Computadores
UFPI
1
Arquitetura de Computadores
UFPI
2
Arquitetura de Computadores
UFPI
47
Arquitetura de Computadores
UFPI
13
Arquitetura de Computadores
UMG
6
Arquitetura de Computadores
UMG
2
Arquitetura de Computadores
UMG
1
Arquitetura de Computadores
PUC
Texto de pré-visualização
Arquitetura de Computadores MIPS Multiciclo Ivan Saraiva Silva Bloco Operativo Multiciclo Instruções são divididas em etapas Cada etapa executa em um ciclo de relógio O período do relógio é determinado pela etapa mais lenta Cada instrução executa em um número apropriado de ciclos etapas Os recursos de hardware podem ser aproveitados Bloco Operativo Multiciclo Uma única memória para instruções e dados Apenas uma ULA Inserção de registradores que atuarão como barreiras temporais nãovisíveis ao programador Bloco Operativo Multiciclo Os novos registradores são barreiras temporais entre os ciclos Bloco Operativo Multiciclo PC MUX Endereço Memoria DadoMem Dado a ser escrito Registrador de instrução Registrador de dados da memoria IREsc RegDst EscReg ULAFonteA MemParaReg ULAFonteB ULAOp Extensao de sinal Desl a esq 2 bits Operação da ULA Zero ULA Resultado ULA Saída Mesmo controle da ULA usado na versão monociclo Bloco Operativo Multiciclo Acréscimos de Recursos para suportar jump e branch on equal Existem 3 possíveis fontes para o PC Instruções que não envolvem salto O resultado de PC4 disponível na saída da ULA Instrução BEQ Deslocamento PC4 O conteúdo de ULASaída Instrução de JUMP Os 26 bits de IR deslocados à esquerda e concatenados com os 4 bits mais significativos do PC Bloco Operativo Multiciclo PC MUX Endereço Memoria DadoMem Dado a ser escrito Registrador de instrução Registrador de dados da memoria Controle PCEscCond PCEsc IouD LerMem EscMem MemParaReg IREsc FontePC ULAOp ULAFonteB ULAFonteA EscReg RegDst Reg a ser lido 1 Reg a ser lido 2 Registradores Reg a ser escrito Dado de escrita Dado lido 1 Dado lido 2 A B Extensao de sinal Desl a esq 2 bits Operação da ULA Desl a esq 2 bits Zero ULA Resultado ULA Saída end desvio incond PC4 end desvio cond Etapas de Execução Multiciclo 1 Busca e Atualização do PC PC PC 4 2 Decodificação 1 Leitura dos registradores A e B 2 Cálculo do endereço do BEQ 3 Execução 1 Execução de operação SE instrução Tipo R 2 Cálculo de endereço Se LOAD ou STORE 3 Comparação de registradores Se BEQ 4 Acesso a memória Se LOAD ou STORE ou Escrita em registrador Se Tipo R 5 Escrita em Registrador Se LOAD Simulando a Execução Multiciclo Simulação da Execução 1 Busca e Atualização do PC PC PC 4 2 Decodificação 1 Leitura dos registradores A e B 2 Calculo do endereço do BEQ 3 Execução 1 Execução de operação SE instrução Tipo R 2 Cálculo de endereço Se LOAD ou STORE 3 Comparação de registradores Se BEQ 4 Acesso a memória Se LOAD ou STORE ou Escrita em registrador Se Tipo R 5 Escrita em Registrador Se LOAD Busca de Instrução PCEndereço Memoria DadoMem Dado a ser escrito Registrador de instrução Registrador de dados da memoria Controle FontePC ULAOp ULAFonteB ULAFonteA EscReg RegDst Reguladores Reg a ser lido 1 Reg a ser lido 2 Reg a ser escrito Dado de escrita Dado lido 1 Dado lido 2 A B ULA Resultado Operação da ULA PC4 end desvio incond end desvio cond IREsc MemParaReg EscMem LerMem louD PCEsc PCEscCond MUX ULA Saida Simulação da Execução 1 Busca e Atualização do PC PC PC 4 2 Decodificação 1 Leitura dos registradores A e B 2 Calculo do endereço do BEQ 3 Execução 1 Execução de operação SE instrução Tipo R 2 Cálculo de endereço Se LOAD ou STORE 3 Comparação de registradores Se BEQ 4 Acesso a memória Se LOAD ou STORE ou Escrita em registrador Se Tipo R 5 Escrita em Registrador Se LOAD Decodificação PC Endereço Memoria DadoMem Dado a ser escrito Registrador de instrução Registrador de dados da memoria Controle FontePC ULAOp ULAFonteB ULAFonteA EscReg RegDst Reguladores Reg a ser lido 1 Reg a ser lido 2 Reg a ser escrito Dado de escrita Dado lido 1 Dado lido 2 A B ULA Resultado Operação da ULA PC4 end desvio incond end desvio cond IREsc MemParaReg EscMem LerMem louD PCEsc PCEscCond MUX ULA Saida Simulação da Execução 1 Busca e Atualização do PC PC PC 4 2 Decodificação 1 Leitura dos registradores A e B 2 Calculo do endereço do BEQ 3 Execução 1 Execução de operação SE instrução Tipo R 2 Cálculo de endereço Se LOAD ou STORE 3 Comparação de registradores Se BEQ 4 Acesso a memória Se LOAD ou STORE ou Escrita em registrador Se Tipo R 5 Escrita em Registrador Se LOAD Execução Caso Tipo R PC Endereço Memoria DadoMem Dado a ser escrito Registrador de instrução Registrador de dados da memoria Controle FontePC ULAOp ULAFonteB ULAFonteA EscReg RegDst Reguladores Reg a ser lido 1 Reg a ser lido 2 Reg a ser escrito Dado de escrita Dado lido 1 Dado lido 2 A B ULA Resultado Operação da ULA PC4 end desvio incond end desvio cond IREsc MemParaReg EscMem LerMem louD PCEsc PCEscCond MUX ULA Saida Simulação da Execução 1 Busca e Atualização do PC PC PC 4 2 Decodificação 1 Leitura dos registradores A e B 2 Calculo do endereço do BEQ 3 Execução 1 Execução de operação SE instrução Tipo R 2 Cálculo de endereço Se LOAD ou STORE 3 Comparação de registradores Se BEQ 4 Acesso a memória Se LOAD ou STORE ou Escrita em registrador Se Tipo R 5 Escrita em Registrador Se LOAD Execução Caso LW ou SW PC Endereço Memoria DadoMem Dado a ser escrito Registrador de instrução Registrador de dados da memoria Reg a ser lido 1 Reg a ser lido 2 Registradores Reg a ser escrito Dado de escrita Controle FontePC ULAOp ULAFonteB ULAFonteA EscReg RegDst PCEscCond PCEsc IouD LerMem EscMem MemParaReg IREsc 2521 2016 1511 150 Extensao de sinal Desl a esq 2 bits Desl a esq 2 bits ULA Resultado Operacao da ULA PC4 end desvio incond end desvio cond Simulação da Execução 1 Busca e Atualização do PC PC PC 4 2 Decodificação 1 Leitura dos registradores A e B 2 Calculo do endereço do BEQ 3 Execução 1 Execução de operação SE instrução Tipo R 2 Cálculo de endereço Se LOAD ou STORE 3 Comparação de registradores Se BEQ 4 Acesso a memória Se LOAD ou STORE ou Escrita em registrador Se Tipo R 5 Escrita em Registrador Se LOAD Execução Caso BEQ PC Endereço Memoria DadoMem Dado a ser escrito Registrador de instrução Registrador de dados da memoria Reg a ser lido 1 Reg a ser lido 2 Registradores Reg a ser escrito Dado de escrita Controle FontePC ULAOp ULAFonteB ULAFonteA EscReg RegDst PCEscCond PCEsc IouD LerMem EscMem MemParaReg IREsc 2521 2016 1511 150 Extensao de sinal Desl a esq 2 bits Desl a esq 2 bits ULA Resultado Operacao da ULA PC4 end desvio incond end desvio cond Simulação da Execução 1 Busca e Atualização do PC PC PC 4 2 Decodificação 1 Leitura dos registradores A e B 2 Calculo do endereço do BEQ 3 Execução 1 Execução de operação SE instrução Tipo R 2 Cálculo de endereço Se LOAD ou STORE 3 Comparação de registradores Se BEQ 4 Acesso a memória Se LOAD ou STORE ou Escrita em registrador Se Tipo R 5 Escrita em Registrador Se LOAD Acesso a Memória Caso LW ou SW PC Endereço Memoria DadoMem Dado a ser escrito Registrador de instrução Registrador de dados da memoria Reg a ser lido 1 Reg a ser lido 2 Registradores Reg a ser escrito Dado de escrita Controle FontePC ULAOp ULAFonteB ULAFonteA EscReg RegDst PCEscCond PCEsc IouD LerMem EscMem MemParaReg IREsc 2521 2016 1511 150 Extensao de sinal Desl a esq 2 bits Desl a esq 2 bits ULA Resultado Operacao da ULA PC4 end desvio incond end desvio cond Simulação da Execução 1 Busca e Atualização do PC PC PC 4 2 Decodificação 1 Leitura dos registradores A e B 2 Calculo do endereço do BEQ 3 Execução 1 Execução de operação SE instrução Tipo R 2 Cálculo de endereço Se LOAD ou STORE 3 Comparação de registradores Se BEQ 4 Acesso a memória Se LOAD ou STORE ou Escrita em registrador Se Tipo R 5 Escrita em Registrador Se LOAD Escrita em Registrador Caso Tipo R Simulação da Execução 1 Busca e Atualização do PC PC PC 4 2 Decodificação 1 Leitura dos registradores A e B 2 Calculo do endereço do BEQ 3 Execução 1 Execução de operação SE instrução Tipo R 2 Cálculo de endereço Se LOAD ou STORE 3 Comparação de registradores Se BEQ 4 Acesso a memória Se LOAD ou STORE ou Escrita em registrador Se Tipo R 5 Escrita em Registrador Se LOAD Escrita em Registrador Caso LW MIP Multiciclo Controle MIPS Multiciclo Controle MIPS Controle com FSM Máquina de Estados Finitos Entradas 6 bits de CODOP Saídas 16 sinais de controle Estados 4 bits para 10 estados Visão de Alto Nível da FSM Start Instruction fetchdecode and register fetch Figure 537 Memory access instructions Figure 538 Rtype instructions Figure 539 Branch instruction Figure 540 Jump instruction Figure 541 Busca da Instrução Instruction fetch Instruction decode Register fetch MemRead ALUSrcA 0 IorD 0 IRWrite ALUSrcB 01 ALUOp 00 PCWrite PCSource 00 ALUSrcA 0 ALUSrcB 11 ALUOp 00 Start Op LW or Op SW Op Rtype Op BEQ Op JMP Memory reference FSM Figure 538 Rtype FSM Figure 539 Branch FSM Figure 540 Jump FSM Figure 541 DecodificaçãoLeitura de Regis Instruction fetch 0 MemRead ALUSrcA 0 IorD 0 IRWrite ALUSrcB 01 ALUOp 00 PCWrite PCSource 00 Instruction decodeRegister fetch 1 ALUSrcA 0 ALUSrcB 11 ALUOp 00 Op LW or Op SW Op Rtype Op BEQ Op IMP Memory reference FSM Figure 538 Rtype FSM Figure 539 Branch FSM Figure 540 Jump FSM Figure 541 Instruções Tipo R Primeiro Ciclo From state 1 Op Rtype Execution 6 ALUSrcA 1 ALUSrcB 00 ALUOp 10 Rtype completion 7 RegDst 1 RegWrite MemtoReg 0 To state 0 Figure 537 Instruções Tipo R Segundo Ciclo From state 1 Op Rtype Execution 6 ALUSrcA 1 ALUSrcB 00 ALUOp 10 Rtype completion 7 RegDst 1 RegWrite MemtoReg 0 To state 0 Figure 537 LW e SW Cálculo de Endereço ALUSrcA 1 ALUSrcB 10 ALUOp 00 SW Acesso escrita à Memória ALUSrcA 1 ALUSrcB 10 ALUOp 00 LW Leitura da Memória ALUSrcA 1 ALUSrcB 10 ALUOp 00 LW Escrita em Registrador From state 1 Op LW or Op SW Memory address computation ALUSrcA 1 ALUSrcB 10 ALUOp 00 Op LW Op SW Memory access Memory access MemRead IorD 1 MemWrite IorD 1 Writeback step RegWrite MemtoReg 1 RegDst 0 To state 0 Figure 537 BEQ Comparação e Salto From state 1 Op BEQ Branch completion ALUSrcA 1 ALUSrcB 00 ALUOp 01 PCWriteCond PCSource 01 To state 0 Figure 537 Jump Execução From state 1 Op J Jump completion PCWrite PCSource 10 To state 0 Figure 537 Instruction fetch 0 MemRead ALUSrcA 0 IorD 0 IRWrite ALUSrcB 01 ALUOp 00 PCWrite PCSource 00 Start Instruction decode register fetch 1 ALUSrcA 0 ALUSrcB 11 ALUOp 00 Memory address computation 2 ALUSrcA 1 ALUSrcB 10 ALUOp 00 Op LW or Op SW Memory access 3 MemRead IorD 1 Writeback step 4 RegDst 0 RegWrite MemtoReg 1 Memory access 5 MemWrite IorD 1 Execution 6 ALUSrcA 1 ALUSrcB 00 ALUOp 10 Rtype completion 7 RegDst 1 RegWrite MemtoReg 0 Branch completion 8 ALUSrcA 1 ALUSrcB 00 ALUOp 01 PCWriteCond PCSource 01 Jump completion 9 PCWrite PCSource 10 Op Rtype Op BEQ Op J Op SW Op LW
44
Arquitetura de Computadores
UFPI
1
Arquitetura de Computadores
UFPI
11
Arquitetura de Computadores
UFPI
1
Arquitetura de Computadores
UFPI
2
Arquitetura de Computadores
UFPI
47
Arquitetura de Computadores
UFPI
13
Arquitetura de Computadores
UMG
6
Arquitetura de Computadores
UMG
2
Arquitetura de Computadores
UMG
1
Arquitetura de Computadores
PUC
Texto de pré-visualização
Arquitetura de Computadores MIPS Multiciclo Ivan Saraiva Silva Bloco Operativo Multiciclo Instruções são divididas em etapas Cada etapa executa em um ciclo de relógio O período do relógio é determinado pela etapa mais lenta Cada instrução executa em um número apropriado de ciclos etapas Os recursos de hardware podem ser aproveitados Bloco Operativo Multiciclo Uma única memória para instruções e dados Apenas uma ULA Inserção de registradores que atuarão como barreiras temporais nãovisíveis ao programador Bloco Operativo Multiciclo Os novos registradores são barreiras temporais entre os ciclos Bloco Operativo Multiciclo PC MUX Endereço Memoria DadoMem Dado a ser escrito Registrador de instrução Registrador de dados da memoria IREsc RegDst EscReg ULAFonteA MemParaReg ULAFonteB ULAOp Extensao de sinal Desl a esq 2 bits Operação da ULA Zero ULA Resultado ULA Saída Mesmo controle da ULA usado na versão monociclo Bloco Operativo Multiciclo Acréscimos de Recursos para suportar jump e branch on equal Existem 3 possíveis fontes para o PC Instruções que não envolvem salto O resultado de PC4 disponível na saída da ULA Instrução BEQ Deslocamento PC4 O conteúdo de ULASaída Instrução de JUMP Os 26 bits de IR deslocados à esquerda e concatenados com os 4 bits mais significativos do PC Bloco Operativo Multiciclo PC MUX Endereço Memoria DadoMem Dado a ser escrito Registrador de instrução Registrador de dados da memoria Controle PCEscCond PCEsc IouD LerMem EscMem MemParaReg IREsc FontePC ULAOp ULAFonteB ULAFonteA EscReg RegDst Reg a ser lido 1 Reg a ser lido 2 Registradores Reg a ser escrito Dado de escrita Dado lido 1 Dado lido 2 A B Extensao de sinal Desl a esq 2 bits Operação da ULA Desl a esq 2 bits Zero ULA Resultado ULA Saída end desvio incond PC4 end desvio cond Etapas de Execução Multiciclo 1 Busca e Atualização do PC PC PC 4 2 Decodificação 1 Leitura dos registradores A e B 2 Cálculo do endereço do BEQ 3 Execução 1 Execução de operação SE instrução Tipo R 2 Cálculo de endereço Se LOAD ou STORE 3 Comparação de registradores Se BEQ 4 Acesso a memória Se LOAD ou STORE ou Escrita em registrador Se Tipo R 5 Escrita em Registrador Se LOAD Simulando a Execução Multiciclo Simulação da Execução 1 Busca e Atualização do PC PC PC 4 2 Decodificação 1 Leitura dos registradores A e B 2 Calculo do endereço do BEQ 3 Execução 1 Execução de operação SE instrução Tipo R 2 Cálculo de endereço Se LOAD ou STORE 3 Comparação de registradores Se BEQ 4 Acesso a memória Se LOAD ou STORE ou Escrita em registrador Se Tipo R 5 Escrita em Registrador Se LOAD Busca de Instrução PCEndereço Memoria DadoMem Dado a ser escrito Registrador de instrução Registrador de dados da memoria Controle FontePC ULAOp ULAFonteB ULAFonteA EscReg RegDst Reguladores Reg a ser lido 1 Reg a ser lido 2 Reg a ser escrito Dado de escrita Dado lido 1 Dado lido 2 A B ULA Resultado Operação da ULA PC4 end desvio incond end desvio cond IREsc MemParaReg EscMem LerMem louD PCEsc PCEscCond MUX ULA Saida Simulação da Execução 1 Busca e Atualização do PC PC PC 4 2 Decodificação 1 Leitura dos registradores A e B 2 Calculo do endereço do BEQ 3 Execução 1 Execução de operação SE instrução Tipo R 2 Cálculo de endereço Se LOAD ou STORE 3 Comparação de registradores Se BEQ 4 Acesso a memória Se LOAD ou STORE ou Escrita em registrador Se Tipo R 5 Escrita em Registrador Se LOAD Decodificação PC Endereço Memoria DadoMem Dado a ser escrito Registrador de instrução Registrador de dados da memoria Controle FontePC ULAOp ULAFonteB ULAFonteA EscReg RegDst Reguladores Reg a ser lido 1 Reg a ser lido 2 Reg a ser escrito Dado de escrita Dado lido 1 Dado lido 2 A B ULA Resultado Operação da ULA PC4 end desvio incond end desvio cond IREsc MemParaReg EscMem LerMem louD PCEsc PCEscCond MUX ULA Saida Simulação da Execução 1 Busca e Atualização do PC PC PC 4 2 Decodificação 1 Leitura dos registradores A e B 2 Calculo do endereço do BEQ 3 Execução 1 Execução de operação SE instrução Tipo R 2 Cálculo de endereço Se LOAD ou STORE 3 Comparação de registradores Se BEQ 4 Acesso a memória Se LOAD ou STORE ou Escrita em registrador Se Tipo R 5 Escrita em Registrador Se LOAD Execução Caso Tipo R PC Endereço Memoria DadoMem Dado a ser escrito Registrador de instrução Registrador de dados da memoria Controle FontePC ULAOp ULAFonteB ULAFonteA EscReg RegDst Reguladores Reg a ser lido 1 Reg a ser lido 2 Reg a ser escrito Dado de escrita Dado lido 1 Dado lido 2 A B ULA Resultado Operação da ULA PC4 end desvio incond end desvio cond IREsc MemParaReg EscMem LerMem louD PCEsc PCEscCond MUX ULA Saida Simulação da Execução 1 Busca e Atualização do PC PC PC 4 2 Decodificação 1 Leitura dos registradores A e B 2 Calculo do endereço do BEQ 3 Execução 1 Execução de operação SE instrução Tipo R 2 Cálculo de endereço Se LOAD ou STORE 3 Comparação de registradores Se BEQ 4 Acesso a memória Se LOAD ou STORE ou Escrita em registrador Se Tipo R 5 Escrita em Registrador Se LOAD Execução Caso LW ou SW PC Endereço Memoria DadoMem Dado a ser escrito Registrador de instrução Registrador de dados da memoria Reg a ser lido 1 Reg a ser lido 2 Registradores Reg a ser escrito Dado de escrita Controle FontePC ULAOp ULAFonteB ULAFonteA EscReg RegDst PCEscCond PCEsc IouD LerMem EscMem MemParaReg IREsc 2521 2016 1511 150 Extensao de sinal Desl a esq 2 bits Desl a esq 2 bits ULA Resultado Operacao da ULA PC4 end desvio incond end desvio cond Simulação da Execução 1 Busca e Atualização do PC PC PC 4 2 Decodificação 1 Leitura dos registradores A e B 2 Calculo do endereço do BEQ 3 Execução 1 Execução de operação SE instrução Tipo R 2 Cálculo de endereço Se LOAD ou STORE 3 Comparação de registradores Se BEQ 4 Acesso a memória Se LOAD ou STORE ou Escrita em registrador Se Tipo R 5 Escrita em Registrador Se LOAD Execução Caso BEQ PC Endereço Memoria DadoMem Dado a ser escrito Registrador de instrução Registrador de dados da memoria Reg a ser lido 1 Reg a ser lido 2 Registradores Reg a ser escrito Dado de escrita Controle FontePC ULAOp ULAFonteB ULAFonteA EscReg RegDst PCEscCond PCEsc IouD LerMem EscMem MemParaReg IREsc 2521 2016 1511 150 Extensao de sinal Desl a esq 2 bits Desl a esq 2 bits ULA Resultado Operacao da ULA PC4 end desvio incond end desvio cond Simulação da Execução 1 Busca e Atualização do PC PC PC 4 2 Decodificação 1 Leitura dos registradores A e B 2 Calculo do endereço do BEQ 3 Execução 1 Execução de operação SE instrução Tipo R 2 Cálculo de endereço Se LOAD ou STORE 3 Comparação de registradores Se BEQ 4 Acesso a memória Se LOAD ou STORE ou Escrita em registrador Se Tipo R 5 Escrita em Registrador Se LOAD Acesso a Memória Caso LW ou SW PC Endereço Memoria DadoMem Dado a ser escrito Registrador de instrução Registrador de dados da memoria Reg a ser lido 1 Reg a ser lido 2 Registradores Reg a ser escrito Dado de escrita Controle FontePC ULAOp ULAFonteB ULAFonteA EscReg RegDst PCEscCond PCEsc IouD LerMem EscMem MemParaReg IREsc 2521 2016 1511 150 Extensao de sinal Desl a esq 2 bits Desl a esq 2 bits ULA Resultado Operacao da ULA PC4 end desvio incond end desvio cond Simulação da Execução 1 Busca e Atualização do PC PC PC 4 2 Decodificação 1 Leitura dos registradores A e B 2 Calculo do endereço do BEQ 3 Execução 1 Execução de operação SE instrução Tipo R 2 Cálculo de endereço Se LOAD ou STORE 3 Comparação de registradores Se BEQ 4 Acesso a memória Se LOAD ou STORE ou Escrita em registrador Se Tipo R 5 Escrita em Registrador Se LOAD Escrita em Registrador Caso Tipo R Simulação da Execução 1 Busca e Atualização do PC PC PC 4 2 Decodificação 1 Leitura dos registradores A e B 2 Calculo do endereço do BEQ 3 Execução 1 Execução de operação SE instrução Tipo R 2 Cálculo de endereço Se LOAD ou STORE 3 Comparação de registradores Se BEQ 4 Acesso a memória Se LOAD ou STORE ou Escrita em registrador Se Tipo R 5 Escrita em Registrador Se LOAD Escrita em Registrador Caso LW MIP Multiciclo Controle MIPS Multiciclo Controle MIPS Controle com FSM Máquina de Estados Finitos Entradas 6 bits de CODOP Saídas 16 sinais de controle Estados 4 bits para 10 estados Visão de Alto Nível da FSM Start Instruction fetchdecode and register fetch Figure 537 Memory access instructions Figure 538 Rtype instructions Figure 539 Branch instruction Figure 540 Jump instruction Figure 541 Busca da Instrução Instruction fetch Instruction decode Register fetch MemRead ALUSrcA 0 IorD 0 IRWrite ALUSrcB 01 ALUOp 00 PCWrite PCSource 00 ALUSrcA 0 ALUSrcB 11 ALUOp 00 Start Op LW or Op SW Op Rtype Op BEQ Op JMP Memory reference FSM Figure 538 Rtype FSM Figure 539 Branch FSM Figure 540 Jump FSM Figure 541 DecodificaçãoLeitura de Regis Instruction fetch 0 MemRead ALUSrcA 0 IorD 0 IRWrite ALUSrcB 01 ALUOp 00 PCWrite PCSource 00 Instruction decodeRegister fetch 1 ALUSrcA 0 ALUSrcB 11 ALUOp 00 Op LW or Op SW Op Rtype Op BEQ Op IMP Memory reference FSM Figure 538 Rtype FSM Figure 539 Branch FSM Figure 540 Jump FSM Figure 541 Instruções Tipo R Primeiro Ciclo From state 1 Op Rtype Execution 6 ALUSrcA 1 ALUSrcB 00 ALUOp 10 Rtype completion 7 RegDst 1 RegWrite MemtoReg 0 To state 0 Figure 537 Instruções Tipo R Segundo Ciclo From state 1 Op Rtype Execution 6 ALUSrcA 1 ALUSrcB 00 ALUOp 10 Rtype completion 7 RegDst 1 RegWrite MemtoReg 0 To state 0 Figure 537 LW e SW Cálculo de Endereço ALUSrcA 1 ALUSrcB 10 ALUOp 00 SW Acesso escrita à Memória ALUSrcA 1 ALUSrcB 10 ALUOp 00 LW Leitura da Memória ALUSrcA 1 ALUSrcB 10 ALUOp 00 LW Escrita em Registrador From state 1 Op LW or Op SW Memory address computation ALUSrcA 1 ALUSrcB 10 ALUOp 00 Op LW Op SW Memory access Memory access MemRead IorD 1 MemWrite IorD 1 Writeback step RegWrite MemtoReg 1 RegDst 0 To state 0 Figure 537 BEQ Comparação e Salto From state 1 Op BEQ Branch completion ALUSrcA 1 ALUSrcB 00 ALUOp 01 PCWriteCond PCSource 01 To state 0 Figure 537 Jump Execução From state 1 Op J Jump completion PCWrite PCSource 10 To state 0 Figure 537 Instruction fetch 0 MemRead ALUSrcA 0 IorD 0 IRWrite ALUSrcB 01 ALUOp 00 PCWrite PCSource 00 Start Instruction decode register fetch 1 ALUSrcA 0 ALUSrcB 11 ALUOp 00 Memory address computation 2 ALUSrcA 1 ALUSrcB 10 ALUOp 00 Op LW or Op SW Memory access 3 MemRead IorD 1 Writeback step 4 RegDst 0 RegWrite MemtoReg 1 Memory access 5 MemWrite IorD 1 Execution 6 ALUSrcA 1 ALUSrcB 00 ALUOp 10 Rtype completion 7 RegDst 1 RegWrite MemtoReg 0 Branch completion 8 ALUSrcA 1 ALUSrcB 00 ALUOp 01 PCWriteCond PCSource 01 Jump completion 9 PCWrite PCSource 10 Op Rtype Op BEQ Op J Op SW Op LW