Post on 26-May-2015
Pentium Pro
Rafael CruzYuri Reis Engenharia de Computação
Histórico:
Projetado especificamente para ser utilizado em micros servidores de rede.
Foi introduzido no mercado em 1995.
Intuito de ser um processador voltado ao mercado de alto desempenho e não um concorrente direto do Pentium original.
Foi usada como base para o Pentium II e o Pentium III, assim como para o Xeon e o Celeron.
Características:
Barramento de endereços ampliado, de 32 para 36 bits, permitindo ao Pentium Pro endereçar até 64 GB de memória
Apesar de usar um pouco da tecnologia do Pentium Clássico, o Pentium Pro é um projeto quase que totalmente novo. As principais inovações na arquitetura são:
Arquitetura Superescalar com três canalizações.
Três unidades de operação em ponto flutuante.
Características:
40 registradores de propósito geral, 3 unidades para operação em Ponto Flutuante sendo uma para operações simples e mais 2 para operações complexas.
Memória cache L1 dividida entre dados e instruções.
Cache L2 integrado ao chip do processador.
Primeiro processador a possuir uma metodologia híbrida RISC/CISC.
1. Arquitetura:Uma das principais inovações do Pentium Pro é apresentar uma metodologia híbrida CISC / RISC:
o Instruções IA (Intel Architecture – CISC) externamente
o Instruções IA decodificadas em microinstruções RISC
o Processador RISC executando as microinstruções.
Para poder utilizar-se da metodologia híbrida, o Pentium Pro apresenta uma organização interna com os seguintes módulos:
Módulo de busca e decodificação Decodifica Instruções IA a partir da cache de instruções (nível 1) Escreve operações RISC (microinstruções na Instruction POOL)
Módulo de despacho e execução Executa as instruções RISC a partir da instruction pool Despacho e terminação fora de ordem Instruções executadas são reescritas na instruction pool
Módulo de retirada de instruções
Retira as instruções já executadas da instruction pool
A partir da Instruction POOL ele executa as instruções RISC, processando-as de forma superescalar. Para tanto, é composto de:
1 unidade de store.
2 unidades para processamento de inteiros.
1 unidade de ponto flutuante;
1 unidade de branch;
1 unidade de load;
Diagrama Arquitetura
Resumindo, o Pentium Pro funciona da seguinte maneira, no que diz respeito à metodologia CISC-RISC:
5. O módulo de retirada retira as instruções terminadas na ordem estrita do programa, colocando os resultados na memória e/ou no banco de registradores.
1. Busca instruções IA na memória na ordem estrita do programa
2. Decodifica as instruções IA em uma ou mais microinstruções RISC de tamanho fixo;
3. Escreve as microinstruções na Instruction POOL na ordem estrita do programa;
4. Unidade de despacho e execução executa as instruções RISC com despacho e terminação fora de ordem. As instruções terminadas são escritas na Instruction Pool.
2. Unidade Funcionais:Dotado de 40 registradores de propósito geral, 3 unidades para
operação em Ponto Flutuante, sendo uma para operações simples e mais 2 para operações complexas.
Possui unidades específicas para executar Load, Store (dados e endereços), Memory Order Buffer (MOB), estação de reserva e Reorder Buffer (instruction pool), para tratamento de instruções.
Em relação aos saltos, existe o Branch Target Buffer (BTB), unidades de predição de desvio estático e dinâmico, tabela de alocação de registradores (RAT).
3. Organização do Pipeline:
Possui 14 estágios no pipeline.
No 1º estágio é calculado o valor do Instruction Pointer, levando em consideração eventuais desvios.
Nos estágios 2, 3 e 4 são buscados 16 bytes de instruções na cache e seus limites são marcados.
A seguir, nos estágios 5 e 6 as instruções são decodificas e convertidas em uma sequência de microinstruções.
Depois da conversão, os estágios 7 e 8 do pipeline realizam a renomeação dos registradores (RAT).
A unidade de despacho envia cada instrução para a estação de reserva de uma das seis unidades funcionais, o que corresponde aos estágios 9, 10 e 11 do pipeline.
Estágios 12, 13 e 14 são responsáveis pelo armazenamento dos resultados na memória ou nos registradores.
Diagrama Pipeline Pentium Pro
4. Desvios: O Pentium Pro usa um Branch Target Buffer (BHT) de 512 entradas
para predição de desvios, além de um sistema de predição estática. Branch Target Buffer:
Desvios não tomados não sofrem penalidade. Desvios previstos corretamente como tomados
sofrem uma pequena penalidade (1 ciclo). Desvios previstos incorretamente sofrem uma
grande penalide.
Predição estática prevê que o desvio é tomado em loops.
5. Hierarquia de Memória:
Como inovação em relação ao Pentium Clássico, apresenta um cache de nível 2 (L2), de 256 ou 512Kb, integrada ao chip.
Apresenta capacidade de endereçamento virtual de 32 bits, o mesmo sendo disponibilizado para memória física.
Cache nível 1 (L1): Para instruções (4-way set
associative). Para dados (2-way set
associative). Com 8Kb cada. Linhas de 32 bytes. Mecanismo de escrita: write-back.
TLB para dados e TLB para instruções
Ambas 4-way associatives;
32 entradas na TLB de instruções;
64 entradas na TLB de dados;
TLB misses suportado em hardware.
A TLB (Translation Look-Aside Buffer) está organizada da seguinte forma:
Lei de Murphy
“Se alguma coisa tiver a remota chance de dar errado, com certeza dará. E mais, dará errado da pior maneira, no pior momento e de modo que cause o maior dano possível.”