Dentro na nomenclatura da Intel, a arquitetura do 486 é chamada de “P4” e a do Pentium é chamada de “P5”, indicando que são designs de, respectivamente, quarta e quinta geração. Em novembro de 1995, a Intel lançou a sexta geração da arquitetura (P6), na forma do Pentium Pro.
Embora tenha sido destinado exclusivamente a servidores e estações de trabalho e tenha sido produzido em pequeno volume, o Pentium Pro é importante pois inaugurou o uso da arquitetura que, com muitas atualizações, continua em uso até os dias de hoje, na forma do Core 2 e do Core i5/i7. Ironicamente, as duas tentativas de romper com a arquitetura do Pentium Pro (o Itanium e o Pentium 4) foram os dois maiores fracassos na história da Intel.
Os quatro pilares fundamentais da arquitetura P6 (justamente os traços de design que continuam em voga até os dias de hoje são:
- Processamento de instruções fora de ordem (out-of-order), com o uso de unidades de execução capazes de processar apenas instruções simples (em oposição às unidades de uso geral do 486 e do Pentium), combinadas com o uso de decodificadores de instruções, que são capazes de quebrar as instruções complexas em sequências de instruções simples e ordenadores capazes de mudar a ordem de execução, permitindo que o processador processe mais instruções em paralelo.
- O uso de pipelines mais longos para permitir o uso de frequências de clock mais altas (porém não tão longos a ponto de prejudicarem o desempenho), combinados com o uso de circuitos de branch prediction mais avançados, capazes de oferecer índices de acerto mais altos. O Pentium usava um pipeline de 5 estágios, o Pentium Pro usava um pipeline de 12 estágios e a maioria dos processadores modernos usam pipelines com de 14 a 21 estágios.
- O uso de pipelines mais longos para permitir o uso de frequências de clock mais altas (porém não tão longos a ponto de prejudicarem o desempenho). O Pentium usava um pipeline de 5 estágios, o Pentium Pro usava um pipeline de 12 estágios e a maioria dos processadores modernos usam pipelines com de 14 a 21 estágios.
- Uso de cache L2 integrado, bem mais rápido que os chips anteriormente usados na placa-mãe e ligado ao processador através de um barramento dedicado, que não concorre com o acesso à memória.
- Suporte nativo ao uso de multiprocessamento (que na época do Pentium Pro era feito com o uso de dois ou mais processadores e hoje é feito com o uso de vários núcleos).
O uso de instruções simples é uma característica inspirada nos processadores RISC da década de 1990. A ideia básica é usar uma arquitetura simples, com unidades de execução capazes de processarem apenas algumas instruções simples, porém capazes de operar de forma mais eficiente e atingir frequências de clock mais altas. Para aplicar esta ideia aos processadores x86 (sem quebrar a compatibilidade com o conjunto de instruções), a Intel incorporou um componente adicional, o decodificador de instruções, que tem a função de quebrar as instruções complexas nas instruções simples que são processadas internamente pelo processador.
Essa uniformidade facilita o trabalho do circuito de branch prediction, que pode examinar o fluxo de instruções e melhorar assim seu índice de acerto. Outra característica é a adição de um ordenador de instruções (scheduler), que é capaz de reorganizar as instruções em uma ordem que permita às unidades de execução ficarem mais tempo ocupadas, adiantando o processamento de blocos de instruções que não dependem da conclusão de instruções anteriores para serem processados.
O circuito de branch prediction (ou branch target prediction) do Pentium Pro era ainda relativamente simples, projetado para examinar o código em busca de algumas funções específicas, tomando decisões com base em um pequeno histórico de operações e funções pré-programadas. Mesmo assim, ele era capaz de trabalhar com um índice de acerto na casa dos 90%, o que era importante, já que cada previsão errada custava mais de 10 ciclos de processamento.
Nos processadores atuais (que usam três ou mais unidades de execução e pipelines muito mais longos) o circuito de branch prediction é muito mais complexo e trabalha com índices de acerto muito mais altos, acima de 95%. Isso é necessário pois com pipelines mais longos, a penalidade pelos erros nos processadores atuais é muito maior.
A soma de todos esses circuitos adicionais torna o processador consideravelmente mais complexo (o que é um dos fatores por trás do grande consumo elétrico dos processadores x86 atuais), mas em compensação cria a infra-estrutura necessária para que o processador possa incluir mais unidades de execução e usá-las de maneira eficiente, executando mais processamento por ciclo de clock. Sem esses avanços, os processadores teriam estacionado no uso de duas unidades de execução, como no Pentium 1.
Além da nova arquitetura, o Pentium Pro adotou o uso de 256 KB de cache L2 full-speed (operando à mesma frequência do processador, assim como nos chips atuais). Ele oferecia um grande ganho de desempenho em relação aos caches externos usados nas placas soquete 7 (que operavam na frequência da placa-mãe), mas em compensação encareciam muito o processador (existiram também versões do Pentium Pro com 512 e 1 MB de cache L2, mas elas eram ainda mais caras e foram pouco usadas).
O Pentium Pro utilizava um encaixe próprio, o soquete 8, que acabou sendo usado apenas por ele e por uma versão overdrive do Pentium II. Entretanto, o barramento P6 do slot 8 acabou servindo de base para os encaixes usados pelos processadores Intel posteriores.
As dificuldades em produzir um único chip contendo todos os componentes com a tecnologia da época fez com que a Intel optasse por utilizar chips de cache separados, que eram ligados ao processador através de um barramento dedicado, o backside bus. Isso levou à outra característica interessante do Pentium Pro, que era o formato retangular:
Pentium Pro e o interior do encapsulamento, com o chip de cache L2 separado
Deixe seu comentário