O Pentium Pro foi o primeiro processador da Intel a usar uma arquitetura híbrida RISC/CISC. Possuía uma organização interna com módulos para decodificação, despacho e execução de instruções RISC de tamanho fixo geradas a partir de instruções CISC variáveis. Sua arquitetura superescalar permitia executar múltiplas instruções por ciclo de clock.
2. Histórico:
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.
Projetado especificamente para ser utilizado em micros
servidores de rede.
Foi usada como base para o Pentium II e o Pentium
III, assim como para o Xeon e o Celeron.
3. Características:
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.
Barramento de endereços ampliado, de 32 para 36
bits, permitindo ao Pentium Pro endereçar até 64 GB de
memória
Três unidades de operação em ponto flutuante.
4. 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.
5. 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.
6. 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
7. A partir da Instruction POOL ele executa as instruções RISC,
processando-as de forma superescalar. Para tanto, é composto de:
2 unidades para processamento de inteiros.
1 unidade de ponto flutuante;
1 unidade de branch;
1 unidade de load;
1 unidade de store.
9. Resumindo, o Pentium Pro funciona da seguinte maneira, no que diz
respeito à metodologia CISC-RISC:
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.
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.
10. 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).
11. 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).
12. 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.
14. 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.
15. 5. Hierarquia de Memória:
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.
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.
16. A TLB (Translation Look-Aside Buffer) está
organizada da seguinte forma:
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.
17. “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.”
Lei de Murphy