Pentium Pro - Pentium Pro

Pentium Pro
Intel Pentium Pro logo.svg
Informação geral
Lançado 1 de novembro de 1995
Interrompido Junho de 1998
Fabricante (s) comum (is)
atuação
Máx. Taxa de clock da CPU 150 MHz a 200 MHz
Velocidades FSB 60 MHz a 66 MHz
Arquitetura e classificação
Min. tamanho do recurso 0,35 μm a 0,50 μm
Microarquitetura P6
Conjunto de instruções x86
Especificações físicas
Núcleos
Tomadas)
História
Sucessor Pentium II Xeon

O Pentium Pro é um microprocessador x86 de sexta geração desenvolvido e fabricado pela Intel e lançado em 1 de novembro de 1995. Ele introduziu a microarquitetura P6 (às vezes chamada de i686) e foi originalmente planejado para substituir o Pentium original em uma ampla gama de aplicações. Enquanto o Pentium e o Pentium MMX tinham 3,1 e 4,5 milhões de transistores , respectivamente, o Pentium Pro continha 5,5 milhões de transistores. Mais tarde, ele foi reduzido a uma função mais restrita como servidor e processador de desktop de última geração e foi usado em supercomputadores como o ASCI Red , o primeiro computador a atingir a marca de desempenho de trilhões de operações de ponto flutuante por segundo (tera FLOPS ). O Pentium Pro era capaz de configurações de processador duplo e quádruplo. Ele veio em apenas um fator de forma, o relativamente grande Socket 8 retangular . O Pentium Pro foi sucedido pelo Pentium II Xeon em 1998.

Microarquitetura

Pentium Pro 200 MHz com cache L2 de 512 KB em pacote PGA
Pentium Pro de 200 MHz com cache L2 de 1 MB em pacote PPGA .
Pentium Pro 256 KB sem limite
Pentium II Overdrive com dissipador de calor removido. O núcleo do Flip-chip Deschutes está à esquerda. O cache de 512 KB está à direita.

O arquiteto-chefe do Pentium Pro foi Fred Pollack, que se especializou em superscalaridade e também trabalhou como engenheiro-chefe do Intel iAPX 432 .

Resumo

O Pentium Pro incorporou uma nova microarquitetura , diferente da microarquitetura P5 do Pentium . Ele tem uma arquitetura superpipelined de 14 estágios desacoplada que usa um pool de instruções. O Pentium Pro ( P6 ) apresentou muitos conceitos avançados não encontrados no Pentium, embora não tenha sido o primeiro ou o único processador x86 a implementá-los (consulte NexGen Nx586 ou Cyrix 6x86 ). O pro duto Pentium tinha fases decodificar extras para dinamicamente traduzir IA-32 instruções para tamponadas micro-operação sequências que poderia, então, ser analisados, reordenadas, e renomeado de modo a detectar as operações paralelizáveis que podem ser emitidos para mais do que uma unidade de execução de uma só vez. O Pentium Pro, portanto, apresentava execução fora de ordem , incluindo execução especulativa por meio de renomeação de registro . Ele também tinha um barramento de endereço de 36 bits mais amplo , utilizável por Physical Address Extension (PAE), permitindo acessar até 64 GB de memória.

O Pentium Pro tem um cache de instrução de 8 KB , a partir do qual até 16 bytes são buscados em cada ciclo e enviados para os decodificadores de instruções . Existem três decodificadores de instruções. Os decodificadores são desiguais em capacidade: apenas um pode decodificar qualquer instrução x86, enquanto os outros dois podem decodificar apenas instruções x86 simples. Isso restringe a capacidade do Pentium Pro de decodificar várias instruções simultaneamente, limitando a execução superescalar. instruções x86 são descodificadas em 118 bits micro-operações (micro-ops). Os micro-operações são semelhantes aos do computador com conjunto de instruções reduzido (RISC); ou seja, eles codificam uma operação, duas fontes e um destino. O decodificador geral pode gerar até quatro microinstruções por ciclo, enquanto os decodificadores simples podem gerar uma microinstrução por ciclo. Assim, as instruções x86 que operam na memória (por exemplo, adicionar este registro a este local na memória) só podem ser processadas pelo decodificador geral, pois esta operação requer um mínimo de três microinstruções. Da mesma forma, os decodificadores simples são limitados a instruções que podem ser traduzidas em um micro-op. As instruções que requerem mais microinstruções do que quatro são traduzidas com a ajuda de um sequenciador, que gera as microinstruções necessárias em vários ciclos de clock. O Pentium Pro foi o primeiro processador da família x86 a oferecer suporte a microcódigo atualizável sob controle de BIOS e / ou sistema operacional (SO).

Micro-ops saem do buffer de reordenamento (ROB) e entram em uma estação reserva (RS), onde aguardam o envio para as unidades de execução. Em cada ciclo de clock, até cinco microinstruções podem ser despachadas para cinco unidades de execução. O Pentium Pro tem um total de seis unidades de execução: duas unidades inteiras, uma unidade de ponto flutuante (FPU), uma unidade de carga, unidade de endereço de armazenamento e uma unidade de armazenamento de dados. Uma das unidades inteiras compartilha as mesmas portas que a FPU e, portanto, o Pentium Pro só pode despachar uma microoperação inteira e uma microoperação de ponto flutuante, ou duas microoperações inteiras por ciclo, além de micro ops para as outras três unidades de execução. Das duas unidades inteiras, apenas aquela que compartilha o caminho com a FPU na porta 0 tem o complemento total de funções, como um barrel shifter , multiplicador, divisor e suporte para instruções LEA. A segunda unidade inteira, que está conectada à porta 1, não tem esses recursos e é limitada a operações simples, como adicionar, subtrair e o cálculo de endereços de destino de ramificação.

A FPU executa operações de ponto flutuante. A adição e a multiplicação são canalizadas e têm latência de três e cinco ciclos, respectivamente. A divisão e a raiz quadrada não são canalizadas e são executadas em unidades separadas que compartilham as portas da FPU. A divisão e a raiz quadrada têm uma latência de 18-36 e 29-69 ciclos, respectivamente. O menor número é para números de ponto flutuante de precisão única (32 bits) e o maior para números de precisão estendida (80 bits). Divisão e raiz quadrada podem operar simultaneamente com adições e multiplicações, evitando que sejam executados apenas quando o resultado tiver que ser armazenado no ROB.

Depois que o microprocessador foi lançado, um bug foi descoberto na unidade de ponto flutuante , comumente chamado de "bug de FPU do Pentium Pro e Pentium II" e pela Intel como "errata de bandeira". O bug ocorre em algumas circunstâncias durante a conversão de ponto flutuante em inteiro, quando o número de ponto flutuante não se ajusta ao formato inteiro menor, fazendo com que a FPU se desvie de seu comportamento documentado. O bug é considerado menor e ocorre em tais circunstâncias especiais que muito poucos, se houver, programas de software são afetados.

A microarquitetura Pentium Pro P6 foi usada de uma forma ou de outra pela Intel por mais de uma década. O pipeline seria escalonado de seu início inicial de 150 MHz, até 1,4 GHz com o Pentium III "Tualatin" . Vários traços do projeto continuaria depois que no núcleo derivado chamado " Banias " no Pentium M e Intel Core ( Yonah ), que se iria evoluir para a microarquitetura Core ( Core 2 processador) em 2006 e em diante.

Conjunto de instruções

O Pentium Pro (P6) introduziu novas instruções na linha da Intel; as instruções CMOVxx ('movimentação condicional') podem mover um valor que é o conteúdo de um registro ou localização da memória para outro registro ou não, de acordo com alguma condição lógica de predicado xx no registro de sinalizadores, xx sendo um código de predicado de sinalizadores conforme fornecido na condição para instruções de salto condicional. Então, por exemplo, CMOVNE move um valor especificado para um registro ou não, dependendo se a condição NE (não igual) é verdadeira no registro de sinalizadores, ou seja, sinalizador Z = 0. Isso permite a avaliação de operações if-then-else e, por exemplo a ? : operação em C. Estas instruções aumentam o desempenho, permitindo evitar instruções dispendiosas de salto e desvio. Por exemplo, em CMOVxx destreg1, source_operand2, o primeiro operando é o registrador de destino, o segundo é o registrador de origem ou local de memória. O segundo operando infelizmente não pode ser um valor imediato (constante in-line) e tal constante teria que ser colocada em um registrador primeiro. O código do predicado xx pode assumir toda a gama de valores, conforme permitido nas ramificações condicionais.

Um segundo desenvolvimento foi a documentação da instrução ilegal UD2. Este código de operação é reservado e causa uma exceção de instrução ilegal no P6 e em todos os processadores posteriores. Isso permite que os desenvolvedores travem facilmente o programa atual de maneira preparada para o futuro quando um bug é detectado pelo software.

atuação

Apesar de ser avançada para a época, a arquitetura de renomeação de registro fora de ordem do Pentium Pro teve problemas para executar código de 16 bits e código misto ( 8 bits com 16 bits (8/16) ou 16 bits com 32 bits (16/32), pois o uso de registros parciais causa freqüentes descargas de pipeline. O uso específico de registros parciais era, então, uma otimização de desempenho comum, uma vez que não incorreu em nenhuma penalidade de desempenho em processadores Intel pré-P6; também, os sistemas operacionais dominantes no momento de o lançamento do Pentium Pro foi o DOS de 16 bits e misturou Windows 3.1x e Windows 95 de 16/32 bits (embora o último exija uma CPU 80386 de 32 bits, grande parte de seu código ainda é de 16 bits por motivos de desempenho, como USER.exe ). Isso, com o alto custo dos sistemas Pentium Pro, levou a vendas mornas entre os compradores de PCs da época. Para usar totalmente a microarquitetura P6 do Pentium Pro , é necessário um sistema operacional totalmente de 32 bits, como o Windows NT , Linux , Unix ou OS / 2. Os problemas de desempenho no código legado foram posteriormente parcialmente mitigados pela inteligência da Intel h o Pentium II.

Comparado aos microprocessadores RISC, o Pentium Pro, quando introduzido, superou ligeiramente os microprocessadores RISC mais rápidos em desempenho inteiro ao executar o benchmark SPECint95, mas o desempenho de ponto flutuante foi significativamente inferior, metade do de alguns microprocessadores RISC. A liderança de desempenho inteiro do Pentium Pro desapareceu rapidamente, primeiro superado pelo MIPS Technologies R10000 em janeiro de 1996, e depois pela variante EV56 da Digital Equipment Corporation do Alpha 21164 .

Os revisores rapidamente notaram as gravações muito lentas na memória de vídeo como o ponto fraco da plataforma P6, com o desempenho aqui sendo tão baixo quanto 10% de um sistema Pentium com freqüência idêntica em benchmarks como VIDSPEED. Métodos para contornar isso incluíam configurar o desenho VESA para a memória do sistema em vez da memória de vídeo em jogos como o Quake e, posteriormente, utilitários como o FASTVID surgiram, o que poderia dobrar o desempenho em certos jogos, permitindo os recursos de combinação de gravação da CPU. registros de intervalo de tipo de memória (MTRRs) são definidos automaticamente pelos drivers de vídeo do Windows a partir de ~ 1997, e lá o subsistema de cache / memória aprimorado e o desempenho da FPU fizeram com que superasse o relógio por relógio do Pentium nos jogos 3D emergentes do meio - até o final da década de 1990, principalmente quando se usa NT4. No entanto, a falta de implementação do MMX reduz o desempenho em aplicativos de multimídia que fazem uso dessas instruções.

Cache

Provavelmente, a adição mais notável do Pentium Pro era seu cache L2 no pacote , que variava de 256 KB na introdução a 1 MB em 1997. Na época, a tecnologia de fabricação não permitia de forma viável que um grande cache L2 fosse integrado ao núcleo do processador. Em vez disso, a Intel colocou o (s) dado (s) L2 separadamente no pacote, o que ainda permitiu que funcionasse na mesma velocidade de clock do núcleo da CPU. Além disso, ao contrário da maioria dos esquemas de cache baseados em placas-mãe que compartilhavam o barramento do sistema principal com a CPU, o cache do Pentium Pro tinha seu próprio barramento traseiro (chamado barramento duplo independente pela Intel). Por causa disso, a CPU pode ler a memória principal e o cache simultaneamente, reduzindo muito o gargalo tradicional. O cache também era "não bloqueador", o que significa que o processador poderia emitir mais de uma solicitação de cache por vez (até 4), reduzindo as penalidades por falha de cache. (Este é um exemplo de MLP, paralelismo de nível de memória .) Essas propriedades combinadas para produzir um cache L2 imensamente mais rápido do que os caches baseados na placa-mãe de processadores mais antigos. Este cache sozinho deu à CPU uma vantagem no desempenho de entrada / saída em relação às CPUs x86 mais antigas . Em configurações de multiprocessador, o cache integrado do Pentium Pro disparou o desempenho em comparação com arquiteturas em que cada CPU compartilhava um cache central.

No entanto, esse cache L2 muito mais rápido veio com algumas complicações. O arranjo de "cache no pacote" do Pentium Pro era único. O processador e o cache estavam em matrizes separadas no mesmo pacote e intimamente conectados por um barramento de velocidade total. As duas ou três matrizes tiveram que ser unidas no início do processo de produção, antes que o teste fosse possível. Isso significava que uma única e minúscula falha em qualquer uma das matrizes tornava necessário o descarte de todo o conjunto, o que era uma das razões para o rendimento de produção relativamente baixo e o alto custo do Pentium Pro. Todas as versões do chip eram caras, especialmente aquelas com 1024 KB, já que eram necessárias duas matrizes de cache de 512 KB além da matriz do processador.

Modelos disponíveis

As velocidades de clock do Pentium Pro eram 150, 166, 180 ou 200 MHz com um clock de barramento externo de 60 ou 66 MHz . Alguns usuários optaram por fazer overclock em seus chips Pentium Pro, com a versão de 200 MHz freqüentemente rodando a 233 MHz, a versão de 180 MHz freqüentemente rodando a 200 MHz, e a versão de 150 MHz freqüentemente rodando a 166 MHz. O chip era popular em configurações de multiprocessamento simétrico, com servidor SMP duplo e quádruplo e configurações de estação de trabalho sendo comuns.

No esquema "Family / Model / Stepping" da Intel, o Pentium Pro é a família 6, modelo 1, e seu código de produto Intel é 80521.

Relógio

(MHz)

Ônibus

(MHz)

L2

Cache

(KB)

Máx.

TDP

(C)

150 60 256 29,2
166 66 512 35
180 60 256 31,7
200 66 35
512 37,9
1024 44

Fabricação

O processo usado para fabricar o chip do processador Pentium Pro e seu chip de memória cache separado mudou, levando a uma combinação de processos usados ​​no mesmo pacote:

  • O molde do protótipo do processador Pentium Pro de 133 MHz foi fabricado em um processo BiCMOS de 0,6 μm.
  • A matriz do processador Pentium Pro de 150 MHz foi fabricada em um processo BiCMOS de 0,50 μm .
  • A matriz do processador Pentium Pro de 166, 180 e 200 MHz foi fabricada em um processo BiCMOS de 0,35 μm.
  • A matriz de cache L2 de 256 KB foi fabricada em um processo BiCMOS de 0,50 μm.
  • A matriz de cache L2 de 512 e 1024 KB foi fabricada em um processo BiCMOS de 0,35 μm.

Embalagem

O Pentium Pro (cache de até 512 KB) é empacotado em um módulo de cerâmica com vários chips (MCM). O MCM contém duas cavidades no lado inferior nas quais residem o chip do microprocessador e o chip do cache que o acompanha. As matrizes são ligadas a uma massa de calor, cujo topo exposto ajuda o calor das matrizes a ser transferido mais diretamente para aparelhos de resfriamento, como um dissipador de calor. As matrizes são conectadas ao pacote por meio de ligação de fio convencional. As cavidades são tampadas com uma placa de cerâmica.

O Pentium Pro com 1 MB de cache usa um MCM de plástico. Em vez de duas cavidades, há apenas uma, na qual residem as três matrizes, coladas à embalagem em vez de um pacote de calor. As cavidades são preenchidas com epóxi.

O MCM tem 387 pinos, dos quais aproximadamente metade estão dispostos em uma grade de pinos (PGA) e a outra metade em uma grade de pinos intersticial (IPGA). A embalagem foi projetada para o Socket 8 .

Caminhos de atualização

Em 1998, o processador Pentium II Overdrive de 300/333 MHz para o soquete 8 foi lançado. Com 512 KB de cache de velocidade total, foi produzido pela Intel como uma opção de atualização drop-in para proprietários de sistemas Pentium Pro. No entanto, ele suportava apenas multiprocessamento sem cola bidirecional , não de quatro vias ou superior, o que não o tornava uma atualização utilizável para sistemas com processador quádruplo. Esses processadores Pentium II Xeon especialmente embalados foram usados ​​para atualizar o ASCI Red , que se tornou o primeiro computador a atingir a marca de desempenho teraFLOPS com o processador Pentium Pro e, em seguida, o primeiro a exceder 2 teraFLOPS após a atualização para os processadores Pentium II Xeon.

À medida que as placas-mãe do Slot 1 se tornaram predominantes, vários fabricantes lançaram adaptadores Slocket , como o Tyan M2020, Asus C-P6S1, Tekram P6SL1 e o Abit KP6. Os slots permitem que os processadores Pentium Pro sejam usados ​​com as placas-mãe do Slot 1. O chipset Intel 440FX suportava explicitamente os processadores Pentium Pro e Pentium II, mas o Intel 440BX e os chipsets Slot 1 posteriores não suportavam explicitamente o Pentium Pro, então os slots Socket 8 não tiveram uso amplo. Slockets, na forma de adaptadores Socket 370 para Slot 1, viram uma popularidade renovada quando a Intel lançou os processadores Socket 370 Celeron e Pentium III .

Especificações básicas

Pentium Pro

  • Cache L1 : 8, 8 KB (dados, instruções)
  • Cache L2 : 256, 512 KB (um dado) ou 1024 KB (dois dados de 512 KB) em um módulo multi-chip com clock de velocidade da CPU
  • Soquete: Soquete 8
  • Barramento frontal : 60 e 66 MHz
  • VCore: 3,1–3,3 V
  • Fabricação: 0,50 μm ou 0,35 BiCMOS
  • Clockrate: 150, 166, 180, 200 MHz, (capaz de 233 MHz em algumas placas-mãe)
  • Primeiro lançamento: novembro de 1995

Pentium II Overdrive

  • Cache L1: 16, 16 KB (dados + instruções)
  • Cache L2: chip externo de 512 KB no módulo da CPU com clock de velocidade da CPU
  • Soquete: Soquete 8
  • Multiplicador: bloqueado em 5 ×
  • Barramento frontal: 60 e 66 MHz
  • VCore: 3,1–3,3 V (tem regulador de tensão integrado)
  • Fabricação: 0,25 μm
  • Clockrate: Baseado na geração Pentium II de Deschutes
  • Primeiro lançamento: 1997
  • Suporta tecnologia MMX

Capacidades de barramento e multiprocessador

O Pentium Pro usou sinalização GTL + em seu barramento frontal. O Pentium Pro pode ser usado sozinho em designs de até quatro vias. Computadores Pentium Pro de oito vias também foram construídos, mas eles usavam vários barramentos.

O design do barramento Pentium Pro foi influenciado pelo Futurebus , o barramento Intel iAPX 432 e elementos do barramento Intel i960 . O Futurebus foi concebido como um barramento avançado para substituir o VMEbus usado com o Motorola 68000 no final dos anos 1970, mas estagnou no comitê de padronização por mais de uma década se você contar todas as voltas e reviravoltas. A iniciativa iAPX 432 da Intel também foi um fracasso comercial, mas no processo eles aprenderam como construir um barramento de transação dividida para suportar um sistema multiprocessador sem cache. O i960 desenvolveu ainda mais o barramento iAPX 432 de transação dividida para incluir um protocolo de coerência de cache, terminando com um conjunto de recursos que lembra muito as ambições originais do Futurebus.

O arquiteto-chefe do i960 foi o especialista em superescala Fred Pollack, que também foi o engenheiro-chefe do Intel iAPX 432 e o arquiteto-chefe do chip i686, o Pentium Pro. Ele estava, sem dúvida, intimamente familiarizado com toda essa história. O Pentium Pro foi projetado para incluir o barramento coerente de cache de transação dividida SMP de 4 vias como um recurso obrigatório de cada chip produzido. Isso também serviu para negar o acesso da concorrência ao soquete para produzir processadores clonados.

Embora o Pentium Pro não tenha sido bem-sucedido como uma máquina para as massas, devido ao fraco suporte de 16 bits para o Windows 95, ele se tornou muito bem-sucedido no espaço do servidor de arquivos devido ao seu design de barramento avançado e integrado, apresentando muitos recursos avançados que tinham anteriormente só estava disponível no segmento caro de estações de trabalho no mercado de commodities.

Concorrentes Pentium Pro / 6ª geração

Veja também

Referências

links externos