Pentium
Os processadores Pentium existiram em versões de 60 a 200 MHz, sempre utilizando multiplicação de clock (com exceção apenas para as versões de 60 e 66 MHz):
Como na época dos micros 486, as placas mãe para processadores Pentium (com excessão de placas muito antigas) suportam várias frequências de barramento e vários multiplicadores distintos. Na maioria dos casos é possível configurar a placa mãe para utilizar qualquer processador da família. Melhorias no Cache L1: A primeira mudança trazida pelo Pentium foi o aumento da quantidade de cache L1, que passou a ser de 16 KB, o dobro do 486. Além do aumento da capacidade, foram implementados três novos recursos, que tornaram o cache ainda mais eficiente: A primeira medida foi a divisão do cache em dois blocos de 8 KB, um dedicado a armazenar dados e outro dedicado a armazenar instruções. Esta divisão permite que tanto as instruções a serem executadas pelo processador (comparação, multiplicação, soma, decisão, etc.) quanto os dados a serem processados, possam ser acessados simultaneamente no cache, aumentando sua eficiência. Se, por exemplo, um programa qualquer ordena que o processador leia um número gravado na memória e verifique se ele é maior ou menor que 10, temos duas instruções (ler o número e compará-lo com o número 10) e duas variáveis (o número 10 e o número a ser lido). Com um cache unificado, como no 486, primeiro seriam lidas as instruções e em seguida as variáveis. No cache dividido do Pentium, ambos podem ser lidos no mesmo ciclo de clock, poupando tempo. Outra modificação foi a ampliação do barramento de dados entre o processador e o cache. Enquanto no 486 podem ser lidos ou gravados até 128 bits de dados por ciclo de clock, no Pentium podem ser lidos ou gravados até 256 bits no cache de instruções e mais 256 no cache de dados. Como ambos os caches podem ser acessados simultaneamente, temos um barramento total de 512 bits, o quádruplo do que tínhamos no 486! Este barramento mais largo permite que quantidades maiores de dados possam ser lidos a partir do cache no mesmo espaço de tempo, permitindo ao cache acompanhar a maior velocidade de processamento do Pentium. A última medida foi a adoção de um cache Write Back, que é capaz de cachear tanto as operações de leitura de dados na memória RAM, quanto as operações de escrita. O cache usado no 486, cacheia apenas as operações de leitura, o que permite ao processador ganhar tempo ao ler dados, mas não ajuda na hora de gravar dados, quando são perdidos vários ciclos até que a memória RAM torne-se disponível. Previsão de desvio dinâmico: Após concluída uma instrução do programa, para que o processador não perca um único ciclo de clock aguardando que o cache ou a memória RAM enviem a próxima instrução a ser processada, foi incluído no Pentium um buffer de pré extração. Este pequeno circuito armazena as próximas instruções a serem processadas, formando uma espécie de fila. Na verdade, o buffer de pré extração funciona como uma espécie de cache L0, ficando entre o processador e o cache L1. A maior utilidade deste buffer é prever o resultado de operações de tomada de decisão. Se chega ao processador uma instrução como “Se X > Y então Z = K, senão Z = Q” o buffer irá carregar tanto a instrução seguinte para X < Y quanto para X > Y, fazendo com que seja qual for o resultado da operação anterior, a próxima instrução já esteja carregada no buffer. O buffer de pré extração também ajuda a memória cache a carregar antecipadamente os dados que o processador possa precisar. No caso do exemplo anterior, seriam carregados na memória cache tanto o valor de K quanto de Q. Coprocessador Aritmético mais rápido: O coprocessador aritmético do Pentium foi completamente remodelado. Foram alteradas algumas das instruções, que passaram a ser executadas muito mais rapidamente e, como o processador principal, o coprocessador do Pentium também passou a utilizar um pipeline para aumentar a velocidade de execução das instruções. Somadas com as brutais melhorias na arquitetura, o coprocessador do Pentium tornou-se cerca de 5 vezes mais rápido do que o utilizado no 486, tornando o processador muito mais rápido em aplicativos que demandem um grande número de cálculos. Arquitetura Superescalar: Mais um aperfeiçoamento do Pentium e um dos principais motivos de seu maior desempenho, é a adoção de uma arquitetura superescalar. Internamente, o Pentium trabalha como dois processadores de 32 bits distintos (chamados de canaleta U e canaleta V), sendo capaz de processar duas instruções por ciclo de clock (uma em cada processador). Cada processador possui acesso total ao cache, à memória RAM, e aos demais componentes do micro. Foi incluída também, uma unidade de controle, com a função de comandar o funcionamento dos dois processadores e dividir as tarefas entre eles. Teoricamente, o uso de dois processadores distintos dobraria o desempenho do Pentium, já que ao invés de uma, poderiam ser executadas duas instruções por ciclo de clock. Mas, na prática existem algumas limitações. Se por exemplo, um programa ordena que o processador some 4 números, X + Y + W + K, o processador poderia no primeiro ciclo de clock usar a canaleta U para somar X e Y e a canaleta V para somar W, mas no segundo ciclo, haveria apenas mais um cálculo para ser executado, o resultado das duas somas. Neste caso, apenas uma das canaletas poderia ser usada; a segunda ficaria ociosa. No final das contas, houve um ganho de 33%, já que ao invés do processador demorar 3 ciclos para executar o cálculo, demorou apenas 2. Caso a continuação do cálculo dependesse da conclusão do cálculo anterior, como em “(X + Y) x 3”, a segunda canaleta novamente não poderia ser usada, pois o processador teria primeiro que somar X e Y para depois multiplicar o resultado por 3. Neste caso, não haveria ganho algum, pois o processador demoraria os mesmos dois ciclos que seriam necessários com apenas uma canalização. Em média, a segunda canalização permite um desempenho 30 ou 40% superior ao desempenho obtido com apenas uma canalização. Caso o software seja alterado e otimizado para rodar em um processador com duas canalizações, ordenando as instruções de modo a deixar a segunda canaleta ocupada durante a maior parte do tempo, podemos conseguir mais 10 ou 15% de desempenho, chegando a algo entre 40 e 50%, mas, jamais será possível conseguir o dobro de desempenho. Isto pode ser notado por exemplo ao recompilar o kernel do Linux. É possível orientar o utilitário a otimizar o código para qualquer processador, de um 486 a um Pentium III. Esta otimização permite que o Linux utilize todos os recursos do processador, obtendo um desempenho bastante superior. Otimizar um programa para rodar em um processador Pentium, não o torna incompatível com processadores com apenas uma canalização (como o 486), nem torna seu desempenho menor nestes processadores, já que as mesmas instruções serão executadas, apenas em ordem diferente. Execução Especulativa: Se o processador tivesse que processar uma instrução de tomada de decisão, como em “Se X > 0 então Y = 30, senão Y = 20”, enquanto a primeira canaleta do processador verifica se X é maior ou menor que 0, a segunda ao invés de ficar ociosa, pode executar uma das duas opções seguintes (atribuir o valor 30 ou atribuir o valor 20 a Y). No próximo ciclo, quando a primeira canaleta tivesse terminado de processar sua instrução, teríamos 50% de chance da segunda canaleta ter adivinhado qual seria a instrução seguinte e já tê-la executado. O nome “execução especulativa” foi dado por que a segunda canaleta escolhe aleatoriamente a instrução a executar, entre as duas possíveis. Acesso mais rápido à Memória: O Pentium é capaz de acessar a memória usando palavras binárias de 64 bits, o dobro do 486, que a acessa a 32 bits. Este recurso permite que sejam lidos 8 bytes por ciclo, ao invés de apenas 4, dobrando a velocidade de acesso à memória. Isto diminuiu bastante o antigo problema de lentidão das memórias, mas apenas provisoriamente, pois logo surgiram processadores Pentium utilizando multiplicadores de clock cada vez mais altos. Como a maioria das placas para processadores Pentium utiliza módulos de memória de 72 vias, que são módulos de 32 bits, é preciso usa-los em pares. O processador acessa cada dupla como se fosse um único módulo, chegando aos 64 bits necessários. Mesmo com a capacidade de acessar a memória a 64 bits e sendo composto internamente por dois processadores de 32 bits, o Pentium continua sendo um processador de 32 bits. Estes novos recursos servem apenas para melhorar o desempenho do processador. Multiprocessamento: Visando o mercado de Workstations (máquinas muito rápidas, destinadas a aplicações pesadas como processamento de imagens 3D ou vídeo) e servidores de rede, a Intel incluiu no Pentium o recurso de multiprocessamento simétrico, que permite o uso de dois processadores na mesma placa mãe. Neste caso, é preciso adquirir uma placa mãe especial, com encaixe para dois processadores e um chipset com suporte ao multiprocessamento. Como a divisão das tarefas entre os dois processadores não é feita automaticamente pelo chipset, é preciso que o sistema operacional seja capaz de reconhecer os dois processadores e acessá-los individualmente, dividindo as tarefas entre eles da melhor maneira possível. Caso o sistema operacional não ofereça suporte ao multiprocessamento, como é o caso do Windows 95 e do Windows 98, apenas um dos processadores será usado pelo sistema, ficando o outro inativo. Neste caso, será como se tivéssemos apenas um processador instalado. A maioria dos sistemas operacionais, incluindo o Windows NT, 2000 e XP, Linux e a maioria das versões do Unix suportam multiprocessamento, as excessões mais notáveis ficam por conta do Windows 95,98 e ME. Apesar de, pela lógica, o desempenho dobrar com dois processadores trabalhando em paralelo, na prática o ganho dificilmente passa de 40 ou 60%, pois dificilmente será possível organizar a execução das tarefas de modo a deixar ambos os processadores ocupados todo o tempo, assim como é difícil manter as duas canaletas do Pentium cheias 100% do tempo. Até pouco tempo atrás, o recurso de multiprocessamento foi exclusividade dos processadores Intel. Tanto o Pentium, quanto o MMX, o Pentium II e o Pentium III suportam o uso de até dois processadores simultaneamente, enquanto o Xeon suporta o uso de até quatro processadores (8 com a adição de um circuito especial na placa mãe). Com exceção do Athlon MP, todos os demais processadores da AMD e Cyrix não suportam multiprocessamento, o que não chega a ser uma grande desvantagem para um usuário doméstico, já que fora do ramo dos servidores de alto desempenho, este recurso raramente é usado. » Próximo: Clock e Overclock Você está lendo o livro Hardware, Manual Completo (publicado em 2002): Se se está em busca de um livro atualizado sobre Hardware, leia o Hardware, o Guia Definitivo, que oferece informações atualizadas:
Autor: Carlos E. Morimoto
Páginas: 848 Formato: 23 x 16 cm Editora: GDH Press e Sul Editores ISBN: 978-85-99593-10-2 Lançado em: Outubro de 2007 » R$ 84,00 + frete (Preço nas livrarias: R$ 108) » Compre o seu Descrição: Para quem não lembra, nosso último livro de hardware foi lançado em 2000 e era um tijolão com quase 600 páginas. Este livro está atualmente disponível para leitura online, embora brutalmente desatualizado. O Hardware, o guia definitivo é um novo projeto, escrito a partir do zero, sem aproveitar trechos do livro anterior. Ele nasce como um livro de hardware atualizado, que dá um maior destaque para manutenção e problemas do dia-a-dia, além de oferecer uma sólida base teórica para que o leitor possa realmente entender e diferenciar toda a gama de tecnologias utilizadas nos PCs atuais. Veja também nossos livros Redes, Guia Prático, Servidores Linux, Guia Prático, Smartphones, Guia Prático e Linux, Guia Prático, nossos outros lançamentos. |
|