HPProcessor

Uploaded from authorPOINTLite
Views:
 
Category: Entertainment
     
 

Presentation Description

No description available.

Comments

Presentation Transcript

Microarquitetura P6: 

Microarquitetura P6 O P6 foi a base para Pentium Pro, Pentium II e Pentium III; Introduzida em 1995 se constituiu em uma nova microarquitetura para processadores compatíveis ao x86; Diferenças: extensões no conjunto de instruções (MMX somado ao Pentim II e SSE ao Pentim III (SIMD para multimedia); Características importantes: Processador super escalar (5 unidades de execução) Reorder buffer e Memory Reorder Buffer Branch Target Buffer Cache L1 de dados e instruções separados Cache L2 junto

Microarquitetura: 

Microarquitetura

Decodificação: 

Decodificação As instruções são convertidas em uop, instruções tipo RISC têm três operandos (duas fontes e um destino); são register-register; operações que trabalham direto sobre a memória têm de ser quebradas em mais de uma uop. Há três unidades de decodificação que decodificam uma instrução por ciclo de clock uma geral que pode receber qualquer instrução: gera de 1 a 4 uop/ciclo; duas simples que geram apenas uma uop/ciclo. instruções que precisam mais do que 4 uop são manipuladas pelo uop sequencer Para maximizar a operação no decodificador devemos ter uma combinação de três instruções que gerem 4-1-1 uop. De acordo a Intel na média cada instrução usa 1,5-2,0 uops

Reorder e Renaming: 

Reorder e Renaming Reorder Buffer tem 40 entradas que guardam os resultados de load e de cálculos. RRF: Real Register File; RAT: Register Alias Table; Status: fornece o status da instrução; O RAT indica se o valor do registrador está no ROB ou no RRF. Com isto é executado o renaming. Tal operação é essencial no Pentium pois o numero de registradores da arquitetura x86 é pequeno. Até 3 uops podem passar pelo renaming e pelo ROB

Unidades de Execução: 

Unidades de Execução Há 20 Reservation Stations; Há cinco unidades de execução: p/ cálculo de endereço de load p/ cálculo de endereço de stores p/ preparar dado para stores Duas p/ cálculos com inteiro e P.F. podem ser dispatched (issue) até 5 uops/ciclo. Uma instrução de store precisa duas uops: uma para calcular o endereço e outra para preparar o dado; O scheduling ideal é aquele onde todas as unidades de execução estejam sempre ocupadas. Para implementações com MMX (PIII)

ROB e MOB (Memory Reorder Buffer): 

ROB e MOB (Memory Reorder Buffer) O ROB pode aceitar até 3 uops/ciclo 1 da unidade aritmética principal; 1 da unidade aritmética secundária; 1 do load. O ROB pode retire (commit) até 3 uops/ciclo. MOB serve para evitar que o store seja feito fora de ordem. Loads podem ser feitos fora de ordem; Quando um load é feito, é verificado se seu endereço não coincide com o de um store que está no MOB;

Cache L1 e L2: 

Cache L1 e L2 O cache L1 está dividido em dados e instruções. 8 Kbytes de instruções: largura de barramento 128 bits 8 Kbytes de dados: duas portas de 32 bits, permitindo uma leitura e uma escrita simultâneas a cada ciclo de clock (três ciclos de latência) Com cache pequeno a leitura é mais rápida O cache L2 é maior com 256Kbytes cache L2 P6

Características do Cache: 

Características do Cache Nonblocking: se no acesso a um dado há um miss, enquanto não for passado o dado para o cache outros dados podem ser lidos

Pipeline: 

Pipeline Pipeline de 12 estágios: caso simples onde a execução leva apenas um ciclo de clock (operações com inteiros) e não há atrasos durante a execução

Slide10: 

Pipeline: execução simples e acesso à cache

Pipeline: saltos: 

Pipeline: saltos Se a instrução estiver no BTB faz a previsão do endereço de salto Se a instrução não estiver no BTB apenas aqui é determinado que é branch e o endereço para onde pode saltar É adotada a seguinte política: salto para frente é considerado não tomado; salto para trás é considerado tomado (não descarta as uops que já inicializaram) Apenas neste ponto é determinado se o salto devia ou não ter sido dado. 10 uop, ou mais, podem ser descartadas.

Foto do P6: 

Foto do P6

Resumo: 

Resumo

Comparação com outras implementações: 

Comparação com outras implementações

Slide15: 

A comparação interessante é com o MIPS R10000. Este é um processador RISC puro. O P6 gasta um número maior de transistores na parte lógica devido a dificuldades de decodificação das instruções (custo em manter a compatibilidade); O MIPS pode gastar um número maior de transistores com cache (maior); O MIPS consegue um clock maior mesmo com pipeline menos profundo; Em função disso, em tecnologias semelhantes, o MIPS é 50% mais veloz no SPECint e 300% no SPECfp.

Slide17: 

Tamanho do BTB: 512 entradas

Pentium 4: 

Pentium 4 Conhecida como arquitetura NetBurst introduzido em 2000 Características importantes Ainda decodifica instr. X86 para uop. Tem um melhor preditor de branch Tem uma BTB maior: 4K entradas mais unidades de execução O cache de instruções armazena as uop, depois de codificadas (chamado de trace cache). Barramento de memória mais rápido: de 133 MHz para 400 MHz 24 estágios de pipeline (contra 14 do P6 e 5 do Pentium)

Microarquitetura: 

Microarquitetura

Slide23: 

Decodificação As instruções são convertidas em uop, instruções tipo RISC Há uma unidade de decodificação que decodifica uma instrução por ciclo de clock gerando de 1 a 4 uop. Para instruções que necessitam mais uop é usada uma ROM para geração. A redução no número de unidades de decodificação se deve ao fato de se ter o Trace Cache para os uops.

Reorder e Renaming: 

Reorder e Renaming Reorder Buffer aramazena apenas o status da instrução e tem 126 posições O RF (register file) tem 128 registradores para renaming RRF: Real Register File; Existem duas listas RAT (Register Alias Table): nesta nova estrutur se procura evitar o movimento de dados de um registrador para outro

Slide25: 

Unidades de execução AGU (address generator unit): gera endereços para o load AGU (address generator unit): gera endereços para o store 2 ULAs para instruções simples: cada uma executa até duas operações em um ciclo de clock 1 ULA para uop complexas Unidade de ponto flutuante: executa operações em F.P. e operações MMX e SSE Unidade para movimentos e PF.

Slide26: 

Há 4 portas para fazer o dispatch (issue): podem ser iniciadas a execução de até 6 uop/ciclo É feito no máximo 3 uops retire. Quando um load lê um dado que ainda está no MOB, então o uop pega este dado direto desse buffer.

Foto do Pentium 4: 

Foto do Pentium 4 Transistores: 42M PIII: 26M Área: 217 mm2 PIII: 106 mm2

Por quê?: 

Por quê? Número de instruções é o mesmo para PIV, PIII e ATLHON; Freqüência do Clock: PIV > ATHLON > PIII Tempo de execução: números de instr. X CPI X 1/(clock Freq.) O número de CPI do PIV deve ser pior do que os dois outros.

Preços de Processadores: 

Preços de Processadores

Freqüência do Clock (MHz): 

Freqüência do Clock (MHz)

SPECint2000: 

SPECint2000

SPECint2000: 

SPECint2000

SPECint2000 por MHz: 

SPECint2000 por MHz MIPS

Slide35: 

Power Density (W/mm2)

Freqüência Relativa: 

Freqüência Relativa 5 estágios 10 estágios 20 estágios

Comparação de Peformance: 

Comparação de Peformance

Pentium HT: 

Pentium HT

Detalhes da Entrada (Front-End): 

Detalhes da Entrada (Front-End)

Execução fora de Ordem: 

Execução fora de Ordem

Comparação de Peformance: 

Comparação de Peformance