1 / 71

MC542 Organização de Computadores Teoria e Prática

MC542 Organização de Computadores Teoria e Prática. 2007 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br www.ic.unicamp.br/~ducatte. MC542 Arquitetura de Computadores Micro-Arquitetura. “DDCA” - (Capítulo 7) “COD” - (Capítulo). Micro-Arquitetura. Micro-Arquitetura Introdução

jaimin
Download Presentation

MC542 Organização de Computadores Teoria e Prática

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MC542Organização de ComputadoresTeoria e Prática 2007 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br www.ic.unicamp.br/~ducatte

  2. MC542Arquitetura de ComputadoresMicro-Arquitetura “DDCA” - (Capítulo 7) “COD” - (Capítulo)

  3. Micro-Arquitetura • Micro-Arquitetura • Introdução • Recursos • MIPS Mono-Ciclo • Lw • Sw • R-Type • Beq • j • MIPS Múlti-Ciclos • Lw • Sw • R-Type • Beq • j

  4. Application programs Software Operating device drivers Systems instructions Architecture registers Micro- datapaths architecture controllers adders Logic memories Digital AND gates Circuits NOT gates Analog amplifiers Circuits filters transistors Devices diodes Physics electrons Introdução • Micro-arquitetura: como está implementada a arquitetura em hardware • Processador: • Datapath: blocos funcionais • Controle: sinais de controle

  5. Micro-Arquitetura • Múltiplas implementações para uma mesma arquitetura: • Single-cycle • Cada instrução é executada em um único ciclo • Multicycle • A execução de cada instrução é dividida em uma série de passos menores • Pipelined • A execução de cada instrução é dividida em uma série de passos menores • Múltiplas instruções (parte de) executando ao mesmo tempo.

  6. Micro-Arquitetura • Program execution time Execution Time = (# instructions)(cycles/instruction)(seconds/cycle) • Definições: • Cycles/instruction = CPI • Seconds/cycle = clock period • 1/CPI = Instructions/cycle = IPC • Desafios na implementação de uma micro-arquitetura • Custo • Power • Desempenho

  7. Micro-Arquitetura • Processador MIPS (Microprocessor without Interlolocked Pipeline Stages) • Vamos implementar um sub conjunto das instruções MIPS: • R-type instructions: and, or, add, sub, slt • Memory instructions: lw, sw • Branch instructions: beq

  8. Micro-Arquitetura • Estado da Arquitetura • Determina o estado do Processador em um dado instante de tempo PC 32 registradores Memória

  9. CLK WE3 A1 RD1 CLK 5 32 A2 RD2 PC' 5 32 PC 32 32 A3 5 Register WD3 File 32 CLK WE A RD 32 32 A RD Instruction 32 32 Data Memory Memory WD 32 Micro-Arquitetura • Elementos de estados do MIPS:

  10. Processador MIPS Single-Cycle • Datapath • Controle

  11. Processador MIPS Single-Cycle • Execução de lw 1: Fetch da Instrução

  12. Processador MIPS Single-Cycle • Execução de lw 2: Lê o operando fonte do RF

  13. Processador MIPS Single-Cycle • Execução de lw 3: Sign-extend o imediato

  14. Processador MIPS Single-Cycle • Execução de lw 4: Calcula o endereço efetivo de memória

  15. Processador MIPS Single-Cycle • Execução de lw 5: Lê o dado da memória e o escreva no RF

  16. Processador MIPS Single-Cycle • Execução de lw 6: Determina o endereço da próxima instrução

  17. Processador MIPS Single-Cycle • Execução de sw • Precisa escrever o valor do registrador na memória

  18. Processador MIPS Single-Cycle • Instruções R-Type: add, sub, and, or, …. • Escrever ALUResult no RF • Escreve em rd e não em rt

  19. Processador MIPS Single-Cycle • Instrução beq • Determina se os conteúdos dos registradores são iguais • Calcula o endereço alvo do desvio (sign-extended immediate + PC+4)

  20. Processador MIPS Single-Cycle - or

  21. Processador MIPS Single-Cycle - sw

  22. Processador MIPS Single-Cycle • Unidade de Controle

  23. Processador MIPS Single-Cycle Control Unit

  24. Processador MIPS Single-Cycle • ALU

  25. Processador MIPS Single-Cycle • ALU

  26. Processador MIPS Single-Cycle • ALU Decoder

  27. Processador MIPS Single-Cycle • Decodificador Principal

  28. Processador MIPS Single-Cycle • Extendendo a Funcionalidade: addi

  29. Processador MIPS Single-Cycle • Decodificador Principal

  30. Processador MIPS Single-Cycle • Extendendo a Funcionalidade: j

  31. Processador MIPS Single-Cycle • Extendendo a Funcionalidade: j

  32. Processador MIPS Single-Cycle • Decodificador Principal

  33. Processador MIPS Single-Cycle • Desempenho: Quão rápido é o processador?

  34. Processador MIPS Single-Cycle • O cycle time é limitado pelo caminho crítico: lw

  35. Processador MIPS Single-Cycle • Caminho crítico Tc = tpcq_PC + tmem + max(tRFread, tsext) + tmux + tALU + tmem + tmux + tRFsetup • Na maioria das implementações os caminhos limitantes são: memória, ALU, register file. Assim, Tc = tpcq_PC + 2tmem + tRFread + 2tmux + tALU + tRFsetup

  36. Processador MIPS Single-Cycle Tc = tpcq_PC + 2tmem + tRFread + 2tmux + tALU + tRFsetup = [30 + 2(250) + 150 + 2(25) + 200 + 20] ps = 950 ps

  37. Processador MIPS Single-Cycle • Para um programa 100 bilhões de instruções executando em um processador MIPS single-cycle, Execution Time = (# instructions)(cycles/instruction)(seconds/cycle) = (100 × 109)(1)(950 × 10-12 s) = 95 seconds

  38. Processador MIPS Multicycle • Datapath • Controle

  39. Processador MIPS Multicycle • Blocos Básicos Restrição de Projeto: Somente 1 bloco acima pode ser usado por vez

  40. Processador MIPS Multicycle • Datapath • datapath para o lw Exemplo: lw $s4, 27($t2) • Fetch da Instrução

  41. Processador MIPS Multicycle • Leitura do operando fonte do RF (rs)

  42. Processador MIPS Multicycle • Sign-Extend o Imediato

  43. Processador MIPS Multicycle • Soma do Base Address ao Offset

  44. Processador MIPS Multicycle • Carga do dado a partir da Memória

  45. Processador MIPS Multicycle • Escrita do Dado no Register File

  46. Processador MIPS Multicycle • Incremento do PC de 4

  47. Processador MIPS Multicycle • Datapath também para sw

  48. Processador MIPS Multicycle • Datapath para instruções R-Type

  49. Processador MIPS Multicycle • Datapath para beq

  50. Processador MIPS Multicycle • Datapath para o Processador Multicycle

More Related