A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Multiplicador e Forwarding no MIPS CMP114 - Arquitetura e Projeto de Sistemas VLSI I Andre Resende.

Apresentações semelhantes


Apresentação em tema: "Multiplicador e Forwarding no MIPS CMP114 - Arquitetura e Projeto de Sistemas VLSI I Andre Resende."— Transcrição da apresentação:

1 Multiplicador e Forwarding no MIPS CMP114 - Arquitetura e Projeto de Sistemas VLSI I Andre Resende

2 Sumário Objetivos MIPS Pipeline Multiplicador –Implementação –Simulação Forwarding –Implementação –Simulação Conclusão/Sugestões

3 Objetivos Implementar um multiplicador em hardware e o mecanismo de forwarding na descrição VHDL do processador MIPS com pipeline Possibilitar a comparação com o processador FemtoJava

4 MIPS Pipelined

5 Multiplicador Multiplicador em hardware no processador Mips Reuso do código VHDL implementado para o FemtoJava: Multiplicador Booth Paralelo 8 bits Componente no módulo Execute

6 Multiplicador – Implementação Entradas da ALU foram copiadas para o multiplicador Foram criados 2 registradores para armazenar o resultado: Hi e Lo Sinal de controle para a multiplicação gerado na unidade de Controle –Sinal de entrada com o functo code

7 Multiplicador – Implementação Componente instanciado dentro da unidade Execute Entradas do multiplicador conectadas ao mecanismo de forwarding

8 Diagrama de Bloco unidade Execute c/ Multiplicação

9 mul $4,$3 Simulação Multiplicador

10 Forwarding register $2 : DMReg Reg Reg Reg XXX–20XXXXXValue of EX/MEM : XXXX–20XXXXValue of MEM/WB : DM

11 Abordagem de Patterson Algoritmos –EXE-MEM Hazard: if (EX/MEM.RegWrite and(EX/MEM.RegisterRd<>0) and(EX/MEM.RegisterRd = Id/EX.RegisterRs))ForwardA=10 if (EX/MEM.RegWrite and(EX/MEM.RegisterRd<>0) and(EX/MEM.RegisterRd = Id/EX.RegisterRt))ForwardB=10

12 Algoritmos –MEM-WB Hazard: if (MEM/WB.RegWrite and(MEM/WB.RegisterRd<>0) and(EX/MEM.RegisterRd<>ID/EX.RegisterRt) and(MEM/WB.RegisterRd = Id/EX.RegisterRs))ForwardA=01 if (MEM/WB.RegWrite and(MEM/WB.RegisterRd<>0) and(EX/MEM.RegisterRd<>ID/EX.RegisterRt) and(MEM/WB.RegisterRd = Id/EX.RegisterRt))ForwardB=01 Forwarding

13 Forwarding - Controle ControleOrigemDescrição ForwardA = 00ID/EXOperando 1 vem do banco de registradores ForwardA = 10EX/MEMOperando 1 é forwarding do resultado exatamente anterior da ALU ForwardA = 01MEM/WBOperando 1 é forwarding da leitura da memória ou resultado ALU anterior ForwardB = 00ID/EXOperando 2 vem do banco de registradores ForwardB = 10EX/MEMOperando 2 é forwarding do resultado exatamente anterior da ALU ForwardB = 01MEM/WBOperando 2 é forwarding da leitura da memória ou resultado ALU anterior

14 Componente dentro da unidade Execute Inclusão de 2 multiplexadores: um para a cada entrada ALU em Execute Conexão com as saídas de EX/MEM e MEM/WB Forwarding - Implementação

15 Diagrama de Bloco Estagio Execute c/ Forwarding

16 CicloFetchDecodeExecuteMemoryWrite Back 1lw $3 2lw $4,20($1)lw $3 3add $5,$1,$2lw $4,20($1)lw $3 4add 6,$2,$3add $5,$1,$2lw $4,20($1)lw $3 5 add $3,$2,$1 add $6,$2,$3add $5,$1,$2lw $4,20($1)lw $3 6and $5,$4,$3 add $3,$2,$1 add $6,$2,$3add $5,$1,$2lw $4,20($1) 7or $6,$2,$1and $5,$4,$3 add $3,$2,$1 add $6,$2,$3add $5,$1,$2 8add $7,$4,$5or $6,$2,$1 and $5,$4,$3 add $3,$2,$1 add $6,$2,$3 9add $7,$4,$5 or $6,$2,$1 and $5,$4,$3 add $3,$2,$1 10 add $7,$4,$5 or $6,$2,$1 and $5,$4,$3 11add $7,$4,$5or $6,$2,$1 add $7,$4,$5

17 ID:EX: add $7,$4,$5ME: or $6,$2,$1WB: $5,$4,$

18 and $5,$4,$3add $3,$2,$1

19 Conclusões Compreensão código VHDL (1/2 trabalho) Velocidade do multiplicador, não afetou o clock da versão pipeline (depende do hardware??) Baixa complexidade X dificuldade de implementação

20 Sugestões Multiplicador sensível ao sinal de controle Particionamento do multiplicador em ciclos Sinal de controle para identificar qdo: Instrução(15-11) Rd


Carregar ppt "Multiplicador e Forwarding no MIPS CMP114 - Arquitetura e Projeto de Sistemas VLSI I Andre Resende."

Apresentações semelhantes


Anúncios Google