1 / 23

Família Intel P5 e P6

Família Intel P5 e P6. P5. P6. NetBurst. Incluindo cache L2. Floating point registers. Branch target buffer. C o n u t n r i o t l. Control ROM. 8kb instruction cache. P b I d r u n e e f s c f f t o

ovidio
Download Presentation

Família Intel P5 e P6

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. Família Intel P5 e P6 P5 P6 NetBurst Incluindo cache L2

  2. Floating point registers Branch target buffer C o n u t n r i o t l Control ROM 8kb instruction cache P b I d r u n e e f s c f f t o e e r d t r u e c t. h 8kb data cache 256 TLB TLB Page Unit Bus Unit Arquitetura do Pentium Floating point unit Instruction pointer Branch target address 32 Prefetch address Add. generate V pipe ALU V pipe Integer register file Add. generate U pipe ALU U pipe Shifter 32 Address bus - 32 bits Data bus - 64 bits Data Add. Data bus - 64 bits Add. Bus 32 bits Control bus

  3. Arquitetura do Pentium • Dois pipelines de 5 estágios: U e V • Estágios • PF - prefetch • D1 - instruction decode • D2 - address generate • EX - execute, cache, ALU access • WB - writeback

  4. Prefet. Buffer V 64 bytes Decod. D1 V P b I d r u n e e f s c f f t o e e r d t r u e c t. h 256 bits 256 bits Prefet. Buffer U 64 bytes Decod. D1 U Arquitetura do Pentium

  5. Decod. D2 V Decod. D1 V Decod. D2 U Decod. D1 U Arquitetura do Pentium Para o BTB Ger. End. V Ger. End. U Para o BTB

  6. Decod. D1 V Decod. D1 U Arquitetura do Pentium ALU V REG ALU U Decod. D2 V Decod. D2 U Unidade de Microcódigo

  7. Decod. D1 V Decod. D1 U Arquitetura do Pentium FPU Decod. D2 V Conrole Reg. File ADD DIV MUL Decod. D2 U Unidade de Microcódigo Dados

  8. Não requerem micro-código para serem executadas. Normalmente levam 1 ciclo de clock para serem executadas. ADD AX,BX (não podem ser executadas ADD AX,CX em paralelo) MOV TABLE[SI],7 MOV ES:[DI],AL Arquitetura do Pentium • Execução Super-Escalar • Ambas as instruções devem ser simples. • Sem dependência de dados. • As instruções não podem ter modos de endereçamento imediato e indireto. • Instruções com prefixo só podem ser executadas no pipelin U.

  9. I1 I2 I3 I4 I5 I6 I7 I8 I9 I10 I5 I6 I7 I8 I1 I2 I3 I4 I1 I2 I3 I4 I5 I6 I3 I4 I1 I2 I1 I2 Arquitetura do Pentium • Execução Super-Escalar Ciclos 1 2 3 4 5 de clock PF D1 D2 EX WB

  10. H:11 P:T H:10 P:T Branch target buffer H:01 P:T H:00 P:NT 8kb instruction cache P b I d r u n e e f s c f f t o e e r d t r u e c t. h 256 TLB Previsão Dinâmica de Desvio NT T T Instruction pointer NT T Branch target address T Prefetch address NT NT Address Instruction Targ. Add. History Prediction . . .

  11. X2 - segundo estágio de execução. WF - arrendonda o resultado e escreve nos registradores de ponto flutuante. ER - sinalização de erro e atualização da palavra de status. Unidade de Ponto Flutuante • PF - pré-busca • D1 - decodificação de instrução • D2 - geração de endereço • EX - leitura de memória e registradores. Conversão do formato de ponto flutuante em formato de memória. Escrita em memória. • X1 - primeiro estágio de execução. Dados da memória são convertidos no formato ponto flutuante. Escreve o operando para os registradores de ponto flutuante.

  12. PF D1 D2 EX ER WF X2 X1 Unidade de Ponto Flutuante Pipeline U Fluxo de instruções e de dados Bypass Fluxo de dados ST(0) ST(1) ST(2) ST(3) ST(4) ST(5) ST(6) ST(7) Registradores de Ponto Flutuante 80 bits

  13. 64 bits 80 bits Registradores MMX Registradores de Ponto Flutuante • Acesso direto • Mudança automática • ao se executar uma • instrução MMX • Executar instrução EMMS • pararetorno ao acesso dos • reg. de ponto flutuante. 79 63 0 1 1 1 1 ST(0) ST(1) ST(2) ST(3) ST(4) ST(5) ST(6) ST(7) MM7 MM6 MM5 MM4 MM3 MM2 MM1 MM0 Registradores MMX

  14. Barramento de Dados Pentium A31:A3 . Add. Trans A2,BE3: BE0 A2,A1 BHE,BLE BE7:BE0 A2,A1,A0 64 Bit Dev. 32 Bit Dev. 16 Bit Dev. 8 BitDev.

  15. Shared - linha corrente pertence a mais de uma cache. Ao escrever-se nesta linha, um writethrough é gerado e invalia-se as outras cópias em outras caches. Invalid- a linha corrente está vazia. Uma leitura desta linha gera um miss. Coerência de Cache em Sistemas Multiprocessadores • Protocolo de coerência de Cache MESI • Modified - a linha corrente foi modificada (diferente da informação na memória principal) e pertence a uma única cache. • Exclusive- linha não modificada e exclusiva de uma única cache. Escrevendo-se nesta linha, esta passa para o estado Modified.

  16. I cache D cache I cache D cache Barramento D cache I cache D cache I cache Coerência de Cache em Sistemas Multiprocessadores p3 P1 X=7 p4 P2 X=10 X=30

  17. Bus externo Cache L2 Memory Reorder Buffer Bus Interface Unit D-cache Unit Memory Interface Unit Instruction Fetch Unit (com I-cache) Branch Target Buffer Functional Units Reservation Station Unit Microcode Instruction Sequencer Instruction Decode Unit Reorder Buffer & Retirement Register File Register Alias Table Pentium II/III

  18. Pentium II/III • A instruction fetch unit (IFU) lê a I-cache, baseado no IP, no BTB, e interrupção. • Branch prediction: • BTB contêm 512 entradas com informações sobre a “história” e endereços destino (previstos). • Penalidades devido a Branch misprediction: pelo menos 11 cíclos, em média 15 cíclos • A instruction decoder unit (IDU) é formada por três decodificadores.

  19. Pentium II/III • As instruções IA-32 são “quebradas” em micro-operações (ops). Cada ops possui dois operandos fonte e um operando destino. As ops têm comprimento fixo. • A maioria das IA-32 são convertidas em uma única ops (por qualquer um dos decodificadores). • Algumas instruções são transformadas (decodificadas) em até 4 ops (1,2,3 e 4) pelo general decoder. • Instruções mais complexas apontam para micro-códigos no microcode instruction sequencer (MIS) que gerará o fluxo apropriado de ops. • As ops são enviadas para register alias table (RAT), onde ocorre a renomeação de registradores. As referências aos registradores lógicos (IA-32) são convertidas em referências aos registradores físicos. • As ops prosseguem para reorder buffer (ROB, 40 entradas) e para reservation station unit (RSU, 20 entradas).

  20. Unidade de Busca e decodificação - Fetch/Decode Unit IA-32 instructions Instruction Fetch Unit Next_IP Alignment I-cache Branch Target Buffer General Decoder Simple Decoder Simple Decoder Microcode Instruction Sequencer Instruction Decode Unit Register Alias Table op1 op2 op3 instruction decoder unit (IDU) in-order section

  21. Seção de Execução for a de ordem • O envio das ops ao ROB é feito na ordem do programa. • As ops são enviadas para RSU que possui 20 reservation stations (RS), cada uma capaz de executar uma op. • As ops são enviadas às unidades funcionais de acordo com a dependência de dados e de recursos, sem observar a ordem do programa. • A RSU tem cinco portas e pode enviar até cinco ops por cíclo.

  22. Latência e throughtput no Pentium II/III FUs

  23. MMX Functional Unit Floating-point Functional Unit Integer Functional Unit Port 0 MMX Functional Unit Jump Functional Unit to/from Reorder Buffer Integer Functional Unit Reservation Station Unit Port 1 Load Functional Unit Port 2 Store Functional Unit Port 3 Store Functional Unit Port 4 Issue/Execute Unit

More Related