quarta-feira, 2 de fevereiro de 2011

Pentium MMX

A terceira geração de processadores Pentium foi lançada em 1997 com o nome de código P55C e designação comercial Pentium MMX. Este processador é um Pentium de segunda geração, com tecnologia MMX. As suas velocidades vão de 166 MHz a 233 MHz, mantém as características principais dos seus antecessores, mas tem algumas alterações em relação ao desenho original dos Pentium de segunda geração. Entre elas são de realçar a cache L1 de 32 KB, dividida em dois blocos de 16 KB cada, uma unidade de pipeline específica para instruções MMX (fig. 3.29)
O MMX foi fabricado com tecnologia de silício CMOS de 0,35u, o que permitiu baixar a sua tensão de alimentação para 2,8 volts, apesar de no seu interior ter qualquer coisa como 4,5 milhões de transístores (fig. 3.30).
Figura 3.29 – Arquitectura interna do MMX
Figura 3.30 – Pentium MMX
O seu outro trunfo é o facto de ampliar o conjunto de instruções do Pentium em mais 57 instruções, às quais foi dado o nome de instruções SIMD (Single Instrution, Multiple Data), instruções essas específicas para multimédia.
As aplicações de comunicações e multimédia actuais usam ciclos repetitivos que, apesar de ocupar 10% ou menos do código total da aplicação, podem representar cerca de 90% do tempo de execução. O SIMD permite que uma instrução execute a mesma função em múltiplos blocos de dados, sendo o mesmo que dar uma ordem a um grupo de pessoas, em vez de dar a mesma ordem a cada uma delas individualmente. O SIMD ainda permite ao processador reduzir ciclos de instruções intensivos, que são relativamente vulgares em aplicações de vídeo, áudio, gráficos ou animações.
3.5.8.2 Pentium Pro
O sucessor do Pentium MMX é o Pentium Pro que foi apresentado em Setembro de 1995. O encapsulamento é de 387 pinos e usa o socket 8, pelo que não é compatível a nível de pinos com os seus antecessores (figs. 3.31 e 3.32).
Figura 3.31 – Pentium Pro
Figura 3.32 – Socket 8
O integrado é construído com o formato de um módulo multichip, a que a Intel chamou Dual Cavity PGA. No seu interior tem dois chips, um com o processador propriamente dito e no outro está a cache L2 de 256 KB ou 512 KB. O processador tem 5,5 milhões de transístores, enquanto que para a memória L2 de 256 KB tem 15,5 milhões e a de 512 KB 31 milhões de transístores, o que dá um impressionante total de 36,5 milhões de transístores no caso de ter 512 KB de cache L2.
A arquitectura do Pentium Pro inclui três pipelines, o que lhe permite executar múltiplas instruções por ciclo, incluindo também uma cache L1 de 16 KB dividida, sendo 8 KB em modo “two-way set associative” para instruções primárias e 8 KB em modo “four-way set associative” para dados. O Pentium Pro tem capacidade de “dynamic branch prediction”, assim como “speculative execution” e pode executar as instruções fora da sua ordem. Estas técnicas são denominadas pela Intel como “dynamic execution”.
Mas vamos, antes de mais, ver na tabela 3.12 um resumo das suas especificações.
Pentium Pro
Apresentação
Setembro 1995
Velocidades
150MHz, 166 MHz, 180 MHz e 200 MHz
Factor Multiplicativo
2,5x – 3x
Tamanho de Registo
32 bits
Barramento de Dados Externo
64 bits
Barramento de Cache Integrada
64 bits
Barramento de Endereços de Memória
32 bits
Máximo de Memória Endereçável
4 GB
Cache L1
8 KB de código, 8 KB de dados
Número de Transístores
5,5 milhões
Nº de Transístores na Cache L2
15,5 milhões (256 KB), 31 milhões (512 KB)
Tamanho de Circuito
0,35u
Encapsulamento
387 pinos Dual Cavity PGA
Coprocessador Matemático
Incorporado
Gestão de Energia
SMM
Tensão de Alimentação
3,3 volts



Tabela 3.12 – Características do Pentium Pro
Apesar de parecer um processador totalmente novo, em muitos aspectos dá-nos mais a sensação de ser uma evolução dos anteriores. O núcleo do chip é de arquitectura RISC, enquanto a interface de instruções externas é de arquitectura CISC. Por outras palavras, ele “pega” nas instruções CISC, transforma-as em várias instruções RISC e executa-as em pipelines de execução paralelas, aumentando assim a performance do processador.
Se compararmos o Pentium Pro com o Pentium, o primeiro é mais rápido, correndo software de 32 bits, já que o dynamic execution do Pentium Pro foi maximizado para trabalhar com sistemas operativos de 32 bits. No que respeita a sistemas operativos de 16 bits, tipo Windows 95 ou 98, aí o caso torna-se bastante diferente, pois um Pentium consegue superar um Pentium Pro de velocidade equivalente (fig. 3.33).
Figura 3.33 – O Pentium Pro e o Pentium
Já referimos neste capítulo a dynamic execution, ou execução dinâmica das instruções, pelo que vamos ver como isso é feito no Pentium Pro. Este tipo de execução é possível porque o Pentium Pro possui três pipelines e desta forma consegue executar três instruções simultaneamente. As instruções são analisadas quanto à sua interligação, mas não são executadas ordenadamente, isto é, são enviadas para os pipelines as instruções que não dependem umas das outras e só depois é que são executadas as que necessitam dos dados das anteriores.
Como vimos no parágrafo anterior, a unidade de execução executa as instruções baseada na não dependência de execução de outras instruções e não na sua ordem original dentro de um programa. Para isso, baseia-se nas seguintes três técnicas:
  • Multiple branch prediction (revisão de desvios múltiplos) – Prediz a execução do programa através de vários ramos. Através de um algoritmo especial, o processador pode antecipar saltos ou ramificações no fluxo de instruções. Isto é possível porque, enquanto o processador recebe instruções, ele també está a verificar as instruções do programa mais para a frente.
  • Data flow analysis (análise de fluxo de dados) – Cria, optimiza e reordena as instruções analisando a dependência entre elas, independentemente da sua ordem original no programa. O processador lê as instruções descodificadas e determina quando estão disponíveis para processamento ou, por outro lado, se dão dependentes de outras instruções que necessitam de ser executadas primeiro. Assim, o processador determina qual a sequência óptima para processamento e executa as instruções de um modo mais eficiente.
  • Speculative execution (execução especulativa) – É o resultado do Multiple Branch Prediction e do Data Flow Analysis. Executa as instruções especulativamente, isto é, as instruções podem ser executadas sem dependências umas das outras. Utiliza a técnica de Data Flow Analysis para verificar as dependências entre instruções e o algoritmo de Multiple Branch Prediction para estabelecer a lista das instruções que podem ser executadas. Assim, o Pentium pró pode em dada ciclo de relógio executar três instruções independentes. Após essa execução, os resultados são armazenados em registos de memória temporários e só são disponibilizados quando as instruções que as antecedem, na sequência original do programa ou processo a que pertencem, tiverem sido igualmente executadas.
Outras das características do Pentium Pro é o facto de ter cache L2 integrada. Ao colocar a cache L2 no interior do chip, a cache pode trabalhar À mesma velocidade do processador, em vez dos típicos 60 MHz do barramento da placa principal. De facto, a cache L2 tem um backside bus interno de 64 bits, o qual não partilha tempo de processamento com o barramento FSB externo de 64 bits do processador.
Outras das características da cache L2 integrada é o multiprocessamento ser grandemente melhorado. O Pentium Pro suporta um novo tipo de configuração do multiprocessador chamado Multiprocessor Specification (MPS 1.1). o Pentium Pro com MPS permite configurações de até quatro processadores. Ao contrário de outras configurações do multiprocessador, o PENTIUM pró elimina problemas de coerência de cache, porque cada chip mantém uma cache L1 e uma L2, separadas internamente.
3.5.8.3 Pentium II
O Pentium II é o nome comercial do Klamath, o Pentium Pro com tecnologia MMX. Integra as capacidades de dynamic execution do PENTIUM Pro com a tecnologia MMX.
O núcleo do Pentium pró utiliza a tecnologia RISC, uma tecnologia que permite aos processadores tornarem-se mais rápidos. Mas esta tecnologia é totalmente incompatível com a tecnologia CISC – a tecnologia utilizada até ao Pentium – o que significa que não poderíamos utilizar nenhum do software existente. A solução encontrada para esse problema foi, como já vimos anteriormente, a utilização de um núcleo RISC com um descodificador CISC. Quando um programa é executado, este descodificador traduz as instruções CISC recebidas pelo processador em instruções RISC equivalentes, para que o núcleo consiga processar. É assim que funciona o Pentium Pro e também o Pentium II.
O descodificador CISC do Pentium Pro foi optimizado para instruções de 32 bits, possuindo baixa performance para instruções de 16 bits. Isto significa que o Pentium pró só atinge o topo da sua performance quando utilizado em conjunto com sistemas operacionais realmente de 32 bits – como Windows NT, OS/2 e UNIX. O MS-DOS e o Windows 3.x utilizam código de 16 bits e o Windows 95 é um híbrido que ainda utiliza muito código de 16 bits. Por mais incrível que possa parecer, se utilizar o Windows 3.x ou Windows 95 num Pentium-200 e num Pentium Pro-200, o seu sistema será mais rápido no Pentium e não no Pentium Pro.
A correcção deste problema vem no Pentium II: o seu descodificador foi rescrito tendo em vista uma utilização mais maciça do código de 16 bits, o que faz com que seja mais rápido do que o Pentium Pro na execução do Windows 95/98.
Mas não é só esta mudança que torna o novo Pentium II mais rápido: a cache de memória L1 passa a ser de 32 KB, dividida em dois blocos de 16 KB, um para dados e outro para instruções.
O Pentium II foi construído num novo tipo de embalagem chamado SEC (Single Edge Contact). Este tipo de encapsulamento é na verdade uma cartridge bastante similar Às utilizadas pelos vídeo-jogos e é encaixado num socket próprio existente na motherboard (fig. 3.34).
Fig. 3.34 – O encapsulamento do Pentium II
Outra das características do Pentium II é o facto de ter cache L2 incorporada na cartridge e não na motherboard, o que não só simplifica o projecto do sistema e economiza espaço, como também significa que o núcleo do CPU poderá comunicar com a cache L2 a alta velocidade.
O Pentium II inclui inovações significativas na arquitectura encontradas no Pentium Pro, como a dynamic execution, e também incorpora a tecnologia MMX, que melhora os recursos multimédia. O resultado é uma melhorai significativa no desempenho do sistema.
O Pentium II continua a usar o processo de fabrico 0,35u, tendo posteriormente sido adoptado o processo 0,25u. A corrente máxima consumida pelo Pentium II a 233 MHz é de 11,8 (A), enquanto que o 266 MHz chega a 12,7 (A) e o 300 MHz aos 14,2 (A). Na tabela 3.13 vamos ver algumas das especificações do Pentium II.
Outra das características do Pentium II é a arquitectura DIB (Dual Independent Bus), ou Barramento Duplo Independente, implementada no Pentium Pro e proporcionando um melhor desempenho.
Pentium II
Apresentação
Maio 1997
Velocidades
233 MHz, 266 MHz, 300 MHz, 333 MHz, 350MHz, 400 MHz e 450MHz
Bus Interno
300 bits
Bus Externo
64 bits
Bus da Cache
64 bits
Bus de Endereços de Memória
32 bits
Memória Máxima Endereçável
64 GB
Tamanho de Cache
16 KB de código, 16 KB de dados
Número de Transístores
7,4 milhões
Tamanho de Cache L2
512 KB
Nº de Transístores na Cache L2
31 milhões
Processo de Fabrico
0,35u e 0,25u
Encapsulamento
Single Edge Cartridge 242 pinos
Coprocessador Matemático
Interno
Gestão de Energia
SMM (System Management Mode)
Tensão de Alimentação
2,8 volts



Tabela 3.13 – Características do Pentium II
Esta arquitectura é composta por dois barramentos independentes: o barramento de cache L2 e o barramento do sistema, de processador-a-memória. A adição do barramento de cache remove um tráfego significativo do barramento do sistema. Os dois barramentos podem ser usados simultaneamente, aumentando de forma drástica o volume de dados que pode entrar e sair do processador. A melhoria na troca de dados entre o processador e os subsistemas de memória resulta numa maior velocidade de processamento e num desempenho mais rápido do sistema.
As vantagens são as seguintes:
  • Uma maior velocidae de processamento, proporcionando desta forma um melhor desempenho.
  • A remoção do tráfego do barramento congestionado do sistema.
  • Barramento de cache L2 que pode ser dimensionado de acordo coma a velocidade do processador.
A DIB permite que a cache L2 de um Pentium II a 400 MHz trabalhe a 200 MHz, três vezes mais rápido do que a cache L2 dos sistemas baseados em processadores Pentium. Conforme for aumentando a frequência de futuros Pentium, também aumentará a velocidade do bus da cache L2.
Figura 3.35 – Barramento duplo independente
Os processadores Pentium II suportam o protocolo ECC (Error Checking and Correction) no barramento de cache L2. Este protocolo é um método mais efiscaz de assegurar a integridade dos dados, podendo detectar tantos erros de single-bit, como de double-bit, e podendo corrigir erros de single-bit automaticamente. A paridade de memória somente pode detectar erros em bits de número ímpar e confia no software para os corrigir.
O I2O (Intelligent Input/Output) é uma arquitectura desenvolvida entre outras empresas pela Intel, de modo a melhorar significativamente o desempenho do I/O, eliminando a carga do CPU de realizar tarefas intensivas de interrupção de I/O (fig. 3.36). O I2O também permite que os programadores desenvolvam drivers de diapositivos que sejam portáteis entre plataformas de host e múltiplos sistemas operativos.
Isso apresenta como vantagens:
ü Um melhor desempenho do servidor, removendo do CPU do servidor a carga de realizar tarefas intensivas de interrupção de I/O.
ü Uma maior fiabilidade e disponibilidade dos drivers de diapositivos, através da padronização dos drivers.
Os drivers I2O são divididos em duas partes:
  • Módulo de serviço do sistema operativo (OSM), que serve de interface com o sistema operativo host.
  • Módulo do dispositivo da hardware (HDM), que faz de interface com o periférico específico a que corresponde o driver.
Fig. 3.36 – O Intelligent I2O
Estes módulos ligam-se através de uma camada de comunicação que estabelece precisamente a ligação entre os dois módulos, O OSM e o HDM, e define o modo como eles partilharão a informação. Esta camada de comunicação estabelece para o HBM uma interface independente do host e permite que os drivers dos dispositivos sejam portáteis de um sistema operativo para o outro. Isso permite a um fabricante de hardware programar um único código que poderá funcionar com outros sistemas operativos.
Além do processamento com um único CPU, o Pentium foi desenvolvido para funcionar em operação de processador duplo. A Intel implementou inicialmente o multiprocessamento com o Pentium Pro. O bus do Pentium Pro foi projectado para suportar até dois CPU Pentium II ligados em paralelo. É possível usar projectos de sistema de processadores Pentium Pro DP (Dual-Processor). Isso significa que não será necessário recorrer a lógica adicional para o duplo processamento, pois o Pentium II inclui toda a lógica necessária para suportar directamente a ligação.
Como já foi referido anteriormente, o Pentium II tem a forma de uma cartridge, pelo que as motherboards para Pentium II têm um conector próprio para o CPU, chamado slot 1.
O CPU requer um suporte próprio, designado por mecanismo de retenção. Esse mecanismo suporta o CPU no slot 1 com a segurança necessária, além de o proteger e à motherboard de qualquer dano. Esse mecanismo de retenção é fornecido pelos fabricantes de motherboards (fig. 3.37).
Fig. 3.37 – Inserção do processador Pentium II no slot 1
O cabo de alimentação da ventoinha do dissipador liga num conector de três pinos situado na motherboard e que 12 volts e massa. A ventoinha também transmite um sinal indicativo da sua velocidade de rotação para as motherboards que tenham controlo de velocidade da ventoinha.

Sem comentários:

Enviar um comentário