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

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

MC542 3.1 2007 Prof. Paulo Cesar Centoducatte MC542 Organização de Computadores Teoria e Prática.

Apresentações semelhantes


Apresentação em tema: "MC542 3.1 2007 Prof. Paulo Cesar Centoducatte MC542 Organização de Computadores Teoria e Prática."— Transcrição da apresentação:

1 MC Prof. Paulo Cesar Centoducatte MC542 Organização de Computadores Teoria e Prática

2 MC MC542 Arquitetura de Computadores Micro-Arquitetura DDCA - (Capítulo 7) COD - (Capítulo)

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

5 MC 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 MC 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 MC 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 MC Micro-Arquitetura Estado da Arquitetura –Determina o estado do Processador em um dado instante de tempo PC 32 registradores Memória

9 MC Micro-Arquitetura Elementos de estados do MIPS: CLK ARD Instruction Memory A1 A3 WD3 RD2 RD1 WE3 A2 CLK Register File ARD Data Memory WD WE PC PC' CLK

10 MC Processador MIPS Single-Cycle Datapath Controle

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

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

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

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

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

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

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

18 MC 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 MC 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 MC Processador MIPS Single-Cycle - or

21 MC Processador MIPS Single-Cycle - sw

22 MC Processador MIPS Single-Cycle Unidade de Controle

23 MC Processador MIPS Single-Cycle Control Unit

24 MC Processador MIPS Single-Cycle ALU F 2:0 Function 000A & B 001A | B 010A + B 011not used 100A & ~B 101A | ~B 110A - B 111SLT

25 MC Processador MIPS Single-Cycle ALU

26 MC Processador MIPS Single-Cycle ALU Decoder ALUOp 1:0 Meaning 00Add 01Subtract 10Look at Funct 11Not Used ALUOp 1:0 FunctALUControl 2:0 00X010 (Add) X1X110 (Subtract) 1X ( add ) 010 (Add) 1X ( sub ) 110 (Subtract) 1X ( and ) 000 (And) 1X ( or ) 001 (Or) 1X ( slt )111 (SLT)

27 MC Processador MIPS Single-Cycle Decodificador Principal InstructionOp 5:0 RegWriteRegDstAluSrcBranchMemWriteMemtoRegALUOp 1: 0 R-type lw sw X101X00 beq X010X01

28 MC Processador MIPS Single-Cycle Extendendo a Funcionalidade: addi

29 MC Processador MIPS Single-Cycle Decodificador Principal InstructionOp 5:0 RegWriteRegDstAluSrcBranchMemWriteMemtoRegALUOp 1:0 R-type lw sw X101X00 beq X010X01 addi

30 MC Processador MIPS Single-Cycle Extendendo a Funcionalidade: j

31 MC Processador MIPS Single-Cycle Extendendo a Funcionalidade: j

32 MC Processador MIPS Single-Cycle Decodificador Principal InstructionOp 5:0 RegWriteRegDstAluSrcBranchMemWriteMemtoRegALUOp 1:0 Jump R-type lw sw X101X000 beq X010X010 addi j XXX0XXX1

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

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

35 MC Processador MIPS Single-Cycle Caminho crítico T c = t pcq_PC + t mem + max(t RFread, t sext ) + t mux + t ALU + t mem + t mux + t RFsetup Na maioria das implementações os caminhos limitantes são: memória, ALU, register file. Assim, T c = t pcq_PC + 2t mem + t RFread + 2t mux + t ALU + t RFsetup

36 MC Processador MIPS Single-Cycle ElementParameterDelay (ps) Register clock-to-Qt pcq_PC 30 Register setupt setup 20 Multiplexert mux 25 ALUt ALU 200 Memory readt mem 250 Register file readt RFread 150 Register file setupt RFsetup 20 T c = t pcq_PC + 2t mem + t RFread + 2t mux + t ALU + t RFsetup = [30 + 2(250) (25) ] ps = 950 ps

37 MC 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 × 10 9 )(1)(950 × s) = 95 seconds

38 MC Processador MIPS Multicycle Datapath Controle

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

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

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

42 MC Processador MIPS Multicycle Sign-Extend o Imediato

43 MC Processador MIPS Multicycle Soma do Base Address ao Offset

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

45 MC Processador MIPS Multicycle Escrita do Dado no Register File

46 MC Processador MIPS Multicycle Incremento do PC de 4

47 MC Processador MIPS Multicycle Datapath também para sw

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

49 MC Processador MIPS Multicycle Datapath para beq

50 MC Processador MIPS Multicycle Datapath para o Processador Multicycle

51 MC Processador MIPS Multicycle Controle para o Processador Multicycle

52 MC Processador MIPS Multicycle Unidade de controle

53 MC Processador MIPS Multicycle Unidade de Controle –Finite State Machine –Diagrama de transição de estados para lw

54 MC Processador MIPS Multicycle Fetch da Instrução

55 MC Processador MIPS Multicycle Decodificação da Instrução

56 MC Processador MIPS Multicycle Cálculo do endereço efetivo

57 MC Processador MIPS Multicycle Leitura da Memória e Escrita no RF

58 MC Processador MIPS Multicycle Diagrama de transição de estados para sw

59 MC Processador MIPS Multicycle Diagrama de transição de estados para R-type

60 MC Processador MIPS Multicycle Diagrama de transição de estados para beq

61 MC Processador MIPS Multicycle FSM de Controle

62 MC Processador MIPS Multicycle Extendendo a Funcionalidade para addi

63 MC Processador MIPS Multicycle FSM de Controle para addi

64 MC Processador MIPS Multicycle Extendendo a Funcionalidade para j

65 MC Processador MIPS Multicycle FSM de Controle para j

66 MC Processador MIPS Multicycle Desempenho: Quão rápido é o processador? Instruções gastam números diferentes de ciclos: – 3 ciclos: beq, j –4 ciclos: R-Type, sw, addi –5 ciclos: lw O CPI deve ser a média ponderada SPECINT2000 benchmark: –25% loads –10% stores –11% branches –2% jumps –52% R-type Average CPI = ( )(3) + ( )(4) + (0.25)(5) = 4.12

67 MC Processador MIPS Multicycle Caminho Crítico T c = t pcq_PC + t mux + max(t ALU + t mux, t mem ) + t setup

68 MC Processador MIPS Multicycle ElementParameterDelay (ps) Register clock-to- Q t pcq_PC 30 Register setupt setup 20 Multiplexert mux 25 ALUt ALU 200 Memory readt mem 250 Register file readt RFread 150 Register file setupt RFsetup 20 T c = t pcq_PC + t mux + max(t ALU + t mux, t mem ) + t setup = t pcq_PC + t mux + t mem + t setup = [ ] ps = 325 ps

69 MC Processador MIPS Multicycle Para um programa que executa 100 bilhões de instruções em um MIPS multicycle, CPI = 4.12 T c = 325 ps Execution Time = (# instructions) × CPI × T c = (100 × 10 9 )(4.12)(325 × ) = seconds Ele é mais lento do que o MIPS single-cycle (95 segundos). Por que? –Os passos não tem o mesmo tamanho –Overhead do seqüenciamento de cada passo (t pcq + t setup = 50 ps)

70 MC Revisão: Processador MIPS Single Cycle

71 MC Revisão: Processador MIPS Multicycle


Carregar ppt "MC542 3.1 2007 Prof. Paulo Cesar Centoducatte MC542 Organização de Computadores Teoria e Prática."

Apresentações semelhantes


Anúncios Google