Microprocessadores
Autor: hacker's | Publicado: 2008-12-13T06:55:00-08:00

Tutorial sobre Microprocessadores  Este componente é o principal responsável pelo desempenho de um microcomputador. Exemplos de microprocessadores usados nos PCs são o Pentium, o 486 e o 386, além de outros, é claro. Todos os microprocessadores usados nos PCs são descendentes do 8086, o primeiro microprocessador de 16 bits lançado pela Intel, no final dos anos 70. Antes deles, reinavam os microprocessadores de 8 bits, entre os quais podemos citar o 8080, 0 8085, o Z80, o 6502, o 6800 e o 6809. Aqueles que usaram micros no final dos anos 70 e no início dos anos 80 devem estar lembrados de alguns deles.Durante a discussão que faremos a seguir, encontraremos diversos termos técnicos relacionados com os microprocessadores, por exemplo:Barramento de dadosBarramento de endereçosAcesso à memóriaAcesso a entrada e saída Para facilitar a compreensão desses termos, apresentaremos aqui uma descrição simplificada de um microprocessador. Esta descrição não irá reproduzir diretamente as características dos microprocessadores usados nos PCs, mas dará ao leitor, o embasamento necessário para entender melhor esses microprocessadores.Um microprocessador é um chip que contem o que chamamos de Unidade Central de Processamento (em inglês, Central Processing Unit, ou CPU). É responsável por buscar e executar instruções existentes na memória. Essas instruções são o que chamamos de "linguagem de máquina". São comandos muito simples, como operações aritméticas e lógicas, leituras, gravações, comparações e movimentações de dados. Essas instruções simples, quando agrupadas, formam o que chamamos de programas.Um microprocessador precisa realizar operações de leitura da memória. Nessas leituras o microprocessador recebe as instruções a serem executadas e os dados a serem processados. Também é preciso realizar gravações de dados na memória, para guardar os resultados intermediários e finais do processamento.Não basta ser capaz de realizar leituras e gravações na memória. Um microprocessador também precisa ser capaz de comunicar-se com o mundo exterior. Neste mundo exterior está o usuário que opera o microcomputador. É preciso ler dados provenientes do teclado, bem como transferir dados para o vídeo ou para a impressora. Essas operações são chamadas de "entrada e saída", ou E/S (em inglês, Input/Output, ou I/O).Portanto, além de processar dados, um microprocessador deve ser capaz de realizar operações de entrada e saída, bem como realizar leituras e gravações na memória.A figura 1 mostra, de forma bem simplificada, alguns dos sinais digitais existentes em um microprocessador. Temos o chamado "barramento de dados", através do qual trafegam os dados que são transmitidos ou recebidos pelo microprocessador. Os dados transmitidos podem ser enviados para a memória ou para um dispositivo de saída, como o vídeo. Os dados recebidos podem ser provenientes da memória, ou de um dispositivo de entrada, como o teclado. Cada uma das "perninhas" do microprocessador pode operar com um bit. No microprocessador da figura 1, temos um barramento de dados com 16 bits. Observe que as linhas desenhadas sobre o barramento de dados possuem duas setas, indicando que os bits podem trafegar em duas direções, saindo e entrando no microprocessador. Dizemos então que o barramento de dados é bidirecional.  O barramento de endereços serve para que o microprocessador especifique qual é a posição de memória a ser acessada, ou qual é o dispositivo de entrada e saída a ser ativado. Na figura 1, temos um barramento de endereços com 24 bits, já que são usadas 24 "perninhas" do microprocessador para a formação deste barramento. Observe ainda que o barramento de endereços é unidirecional, ou seja, os bits "saem" do microprocessador.Além desses dois barramentos, a figura mostra ainda dois sinais de controle que servem para definir se a operação a ser realizada é uma leitura ou uma gravação, e se deve atuar sobre a memória ou sobre um dispositivo de E/S. São eles:MIO: Este sinal indica se a operação diz respeito à memória ou a E/SRW: Este sinal indica se a operação é uma leitura ou uma gravação Através desses dois sinais, podem ser definidas 4 operações básicas:Leitura da memóriaEscrita na memóriaLeitura de E/S (Ex: do teclado)Escrita em E/S (Ex: no vídeo) Os microprocessadores possuem, além do barramento de dados e de endereço, o chamado "barramento de controle", no qual existe uma miscelânea de sinais digitais com diversas finalidades. Os sinais RW e MIO exemplificados na figura 1 são parte do barramento de controle. Outros exemplos de sinais deste barramento são:INTEste sinal é uma entrada que serve para que dispositivos externos possam interromper o microprocessador para que seja realizada uma tarefa que não pode esperar. Por exemplo, a interface de teclado interrompe o microprocessador para indicar que uma tecla foi pressionada. Esta tecla precisa ser lida, e seu código deve ser armazenado na memória para processamento posterior. As interfaces de drives e do disco rígido interrompem o microprocessador para avisar o término de uma operação de leitura ou escrita. Vários outros dispositivos também precisam gerar interrupções. Como existe apenas uma entrada INT, o microprocessador opera em conjunto com um chip chamado Controlador de Interrupções. Este chip é encarregado de receber requisições de interrupção de vários dispositivos e enviá-las ao microprocessador, de forma ordenada, através do sinal INT.NMIEste é um sinal de interrupção especial para ser usado em emergências. Significa Non Maskable Interrupt, ou Interrupção não mascarável. Em outras palavras, esta interrupção deve ser atendida imediatamente. Ao contrário do sinal INT, que pode ser ignorado pelo microprocessador durante pequenos intervalos de tempo (isto se chama "mascarar a interrupção"), o sinal NMI é uma interrupção não mascarável. Nos PCs, o NMI é usado para informar erros de paridade na memória.INTASignifica Interrupt Acknowledge, ou seja, reconhecimento de interrupção. Serve para o microprocessador indicar que aceitou uma interrupção, e que está aguardando que o dispositivo que gerou a interrupção identifique-se, para que seja realizado o atendimento adequado.Outros sinaisExistem ainda mais de uma dúzia de sinais no barramento de controle. Seu estudo é muito interessante para quem está preocupado em aprender detalhadamente como funciona um microprocessador e uma placa de CPU. Aqui não iremos abordá-los. Nosso objetivo é apenas fazer uma apresentação simplificada, para que você perca um pouco do medo.Existem ainda outros sinais que não são propriamente de controle, e sim, executam uma miscelânea de funções digitais. Alguns deles são:VCCEsta é a entrada de corrente elétrica que alimenta os circuitos internos do microprocessador. Até pouco tempo atrás, os microprocessadores operavam com 5 volts, mas atualmente são comuns os que usam tensões da ordem de 3 volts.GNDSignifica "Ground", ou "Terra". Deve ser ligado ao polo negativo da fonte de alimentação (não se preocupe, você não precisa fazer essas ligações, basta conectar a fonte de alimentação na placa de CPU e os pinos VCC e GND de todos os chips estarão ligados). Na verdade, para obter uma melhor distribuição de corrente, os microprocessadores usam vários pinos VCC e GND.ResetEste é um sinal que está ligado indiretamente ao botão RESET do painel frontal do gabinete. Ao ser ativado, o microprocessador para tudo, e atua como se tivesse acabado de ser ligado.ClockEsta entrada deve receber um sinal digital que será usado internamente para sincronizar todo o funcionamento do microprocessador.Não fique muito assustado com o barramento de controle, e nem com os sinais aqui descritos. Preocupe-se mais com os barramentos de dados e de endereços, pois eles serão bastante discutidos mais adiante.Observe que sem querer já falamos em microprocessadores de 8 e de 16 bits. Existem também os que operam com 32 bits, como vermos adiante. O número de bits é uma das principais características dos microprocessadores, e exerce uma influência direta no desempenho.Outra característica importantíssima é o clock. É medido em MHz (Megahertz), e está diretamente relacionado com o número de instruções por segundo que podem ser executadas. Os primeiros microprocessadores 8086 operavam com 5 MHz. Em meados de 1996, já tínhamos microprocessadores Pentium e Pentium Pro operando a 200 MHz.Um microprocessador deve ser também capaz de acessar uma grande quantidade de memória. Os microprocessadores de 8 bits podiam utilizar, no máximo, 64 kB de memória, o que é uma quantidade ridícula para os dias atuais, mas bem razoável para os padrões da sua época. Depois deles vieram os microprocessadores de 16 bits. Os primeiros eram capazes de acessar até 1 MB de memória, depois vieram outros modelos que chegavam a até 16 MB. Os atuais microprocessadores de 32 bits podem endereçar até 4096 MB de memória.     Os microprocessadores de 16 bits podiam operar, opcionalmente, com um tipo especial de microprocessador chamado de coprocessador matemático. Trata-se de um microprocessador auxiliar, dedicado à execução de cálculos em ponto flutuante em alta velocidade. Um microprocessador comum podia perfeitamente realizar operações matemáticas como raiz quadrada, funções algébricas e trigonométricas, mas um coprocessador matemático faz esses mesmos cálculos a uma velocidade dezenas de vezes maior. A partir do 486, o processador matemático passou a ser incluído dentro do próprio chip do microprocessador. Ele está disponível para qualquer programa que precise executar cálculos complexos.Passemos então a discutir as principais características dos microprocessadores, bem como os modelos que têm sido utilizados nos PCs ao longo de todos esses anos.Número de bits internosDaqui vem as terminologias "micro de 8 bits", "micro de 16 bits" e "micro de 32 bits". Dentro de um microprocessador, existem vários circuitos que armazenam, transportam e processam dados. Nos microprocessadores 386 e 486, tais circuitos operam com 32 bits de cada vez. Nos antigos chips 8086, 8088 e 80286, todos esses circuitos operavam com 16 bits. No Pentium e no Pentium Pro, alguns circuitos operam com 64 bits, mas a maioria deles opera com 32. Por isso, esses dois chips são considerados microprocessadores de 32 bits.Quanto maior é o número de bits de um microprocessador, mais veloz poderá realizar cálculos e processamento de instruções em geral. Veja por exemplo, os limites de números inteiros positivos que podem ser manipulados com 8, 16 e 32 bits:  8 bits0 a 25516 bits0 a 65.53532 bits4.294.967.296 Suponha por exemplo que um micro-processador de 16 bits precise realizar a operação 245.818.768 + 978.798.423. Ambas as parcelas desta adição não podem ser representadas em um grupo de 16 bits. Portanto, deve ser realizada por etapas. Um microprocessador de 32 bits é capaz de representar e operar tais números de forma direta, o que faz com que o cálculo seja feito, no mínimo duas vezes mais rápido. Este é apenas um exemplo no qual um microprocessador de 32 bits leva vantagem sobre um de 16 bits. Praticamente em todas as instruções, esta vantagem existe. A tabela abaixo apresenta o número de bits de todos os microprocessadores usados nos PCs.    MicroprocessadorNúmero interno de bits80861680881628616386SX32386DX32486DX / DX2 / SX / SX2 / DX432486DLC32486SLC32Pentium32Pentium Pro32Cyrix 5x86 e AMD 5x8632Cyrix 6x8632AMD-K532 Número de bits externosPara que um microprocessador seja rápido, é preciso que ele seja capaz de manipular instruções em alta velocidade. Essas instruções são armazenadas na memória, e portanto, é preciso que a memória seja acessada em alta velocidade. Em conjunto com a execução de instruções, o microprocessador também lê e armazena dados na memória, o que é mais uma razão para que a memória seja rápida. A velocidade de transferência de dados entre o microprocessador e a memória está diretamente relacionada com o número de bits do seu barramento de dados (em inglês, DATA BUS). Trata-se de um conjunto de sinais digitais que ligam o microprocessador à memória e aos dispositivos de entrada e saída de dados. Os microprocessadores de 8 bits utilizavam um barramento de dados também com 8 bits. O microprocessador 8086, operava com 16 bits, tanto internamente como externamente, ou seja, utilizava um barramento de dados também com 16 bits. Até então, o número de bits internos era igual ao número de bits externos do microprocessador, mas isto nem sempre ocorre. Por exemplo, o microprocessador 8088, usado nos primeiros PCs, operava internamente com 16 bits, e externamente com apenas 8. Já com o Pentium, ocorre o inverso: opera internamente com 32 bits e externamente com 64. A tabela abaixo apresenta o número interno e o número externo de bits dos microprocessadores usados nos PCs.  MicroprocessadorNúmero interno de bitsNúmero externo de bits8086161680881682861616386SX3216386DX3232486DX / DX2 / SX / SX2 / DX43232486DLC3232486SLC3216Pentium3264Pentium Pro3264Cyrix 5x86 e AMD 5x863232Cyrix 6x863264AMD-K53264 Capacidade de endereçamentoAqui está um fator que não está exatamente relacionado com a velocidade, e sim, com a capacidade de manipular grandes quantidades de dados. A capacidade de endereçamento nada mais é que o máximo tamanho que pode ter a memória, ou, seja, o número máximo de células de memória que um microprocessador consegue acessar. Para acessar uma célula (ou posição) de memória, o microprocessador precisa informar qual é o endereço desta célula. Cada célula armazena um byte. Microprocessadores com barramento de dados de 16 bits podem acessar duas células de uma só vez. Aqueles com barramentos de dados com 32 e 64 bits podem acessar até 4 e 8 células, respectivamente.O 8086 e o 8088 possuíam barramentos de dados com 20 bits, e por isto podiam acessar 1 MB de memória. Para saber a quantidade máxima de memória que um microprocessador pode acessar, basta saber o número de bits do seu barramento de endereços e calcular 2 elevado a esta número. Portanto:220 bytes = 1.048.576 bytes = 1 MB224 bytes = 16.777.216 bytes = 16 MB232 bytes = 4.294.967.296 bytes = 4 GBPara a época do 8086 e do 8088, a capacidade de endereçar 1 MB era considerada bem elevada. Os primeiros PCs nem mesmo chegavam a usar toda esta capacidade. Eram comuns modelos com 64 kB, 128 kB e 256 kB de memória RAM. Apenas por volta de 1986 começaram a ser comuns os PCs com 512 kB e 640 kB de RAM.O microprocessador 286, com sua capacidade de endereçar até 16 MB de memória (usava um barramento de endereços com 24 bits) foi um grande avanço em relação ao 8086 e ao 8088. Mesmo no início dos anos 90, a maioria dos PCs usava entre 1 MB e 2 MB de memória, apenas uma fração da capacidade de endereçamento do 286.O 386, com seu barramento de endereços com 32 bits, possibilita endereçar até 4 GB de memória RAM, uma quantidade espantosamente alta até para os padrões atuais. Um PC moderno com 32 MB de RAM não está usando nem 1% da capacidade de endereçamento de 4 GB. Por isto, mesmo os microprocessadores mais modernos ainda utilizam barramentos de endereços com 32 bits. A tabela abaixo apresenta o número de bits do barramento de endereços, bem como a capacidade máxima de endereçamento de memória para os microprocessadores usados nos PCs:  MicroprocessadorNúmero bits deendereçoCapacidade deendereçamento8086201 MB8088201 MB2862416 MB386SX2416 MB386DX324 GB486DX / DX2 / SX / SX2 / DX4324 GB486DLC324 GB486SLC2416 MBPentium324 GBPentium Pro324 GBCyrix 5x86 e AMD 5x86324 GBCyrix 6x86324 GBAMD-K5324 GB   ClockTambém chamado de freqüência, o clock de um microprocessador também está diretamente relacionado com o número de instruções que podem ser executadas a cada segundo. O 8086 e o 8066, nas suas primeiras versões, operavam a 5 MHz. Isto não significa exatamente 5 milhões de instruções por segundo, e sim, 5 milhões de CICLOS por segundo. Algumas instruções mais simples podiam ser executadas em apenas dois ciclos. Desta forma, em um segundo seria possível executar 2.500.000 dessas instruções. Outras instruções mais complexas, como a multiplicação e a divisão, eram muito mais demoradas. Suponha por exemplo uma instrução que precise de 10 ciclos para ser executada. Operando a 5 MHz, esses microprocessadores poderiam executar 500.000 dessas instruções por segundo.Com o passar do tempo e a evolução da tecnologia foi possível desenvolver microprocessadores capazes de operar com clocks mais elevados, e o que é mais importante: executar instruções em um reduzido número de ciclos. Os microprocessadores mais modernos são capazes de executar a maioria das instruções em apenas um ciclo. O Pentium e o Pentium Pro podem executar instruções de forma simultânea, tornando possível, por exemplo, executar duas instruções em um único ciclo. Isto faria com que, teoricamente, operar a 200 MHz resulte em 400 milhões de instruções por segundo.Todos os microprocessadores são lançados em uma primeira versão, com um certo valor de clock, em geral mais elevado que o seu antecessor. Depois disso, o fabricante melhora a sua tecnologia e lança novas versões, operando com clocks mais elevados. Por exemplo, o Pentium ao ser lançado operava com 60 ou 66 MHz. Com o passar do tempo, foram lançadas versões de 75, 90, 100, 120, 133, 150, 166 e 200 MHz.A tabela abaixo mostra os valores máximos de clock usados pelos microprocessadores usados em PCs.    MicroprocessadorClock máximo808610 MHz808810 MHz28625 MHz386SX40 MHz386DX40 MHz486DX / DX2 / SX / SX2 / DX4120 MHz486DLC40 MHz486SLC40 MHzPentium200 MHz *Pentium Pro200 MHz *Cyrix 5x86 e AMD 5x86133 MHz *Cyrix 6x86150 MHz *AMD-K5166 MHz * Obs.: Os microprocessadores indicados com * ainda não tiverem seu ciclo de desenvolvimento encerrado, e segundo seus fabricantes, ainda podem ser lançados com clocks mais elevadosObs.: O Cyrix 6x86 operando com 150 MHz tem o mesmo desempenho de um Pentium-200, e por isto é chamado de 6x86 P200.Obs.: A melhor forma de ter informações atualizadas sobre as versões mais recentes dos microprocessadores da tabela acima é consultando os seus fabricantes através da Internet:Intel: http://www.intel.comAMD: http://www.amd.comCyrix: http://www.cyrix.com Memória cache internaOs microprocessadores experimentaram ao longo dos anos, grandes avanços na velocidade de processamento. Um Pentium-166, por exemplo, é cerca de 500 vezes mais veloz que o velho 8088 usado no IBM PC XT. As memórias também experimentaram avanços significativos, mas muito inferiores. No início dos anos 80, eram comuns as memórias DRAM com 250 ns de tempo de acesso. As atuais DRAM mais velozes apresentam 60 ns de tempo de acesso, ou seja, são apenas 4 vezes mais rápidas. O resultado disso é um grande desequilíbrio entre a velocidade do microprocessador e a velocidade da memória.Este problema é antigo, pois já ocorria com os computadores de grande porte durante os anos 60. Com os microprocessadores, só passou a existir tal problema a partir de 1990, aproximadamente. Antes disso os microprocessadores, sendo mais lentos, ficavam perfeitamente sintonizados com a velocidade das memórias. As memórias, mesmo sendo relativamente lentas, ainda eram capazes de entregar dados na velocidade exigida pelos microprocessadores. Somente quando o seu clock chegou a 25 MHz, os microprocessadores passaram a ter seu desempenho penalizado pela baixa velocidade das memórias.A memória RAM usada em larga escala nos microcomputadores é chamada de DRAM (Dynamic RAM, ou RAM Dinâmica). Suas principais características são:Preço relativamente baixoGrande capacidade em pequeno espaçoBaixa velocidade O preço baixo e o alto grau de miniaturização fizeram com que a DRAM fosse o tipo de memória mais indicado para os microcomputadores. A sua baixa velocidade não chegava a ser um problema, pelo menos até 1990. Existe um outro tipo de memória RAM que apresenta uma velocidade de operação muito mais alta. É chamada de SRAM (Static RAM, o RAM Estática). Suas principais características são:Preço elevadoGrande capacidade requer um grande espaçoAlta velocidade Tecnicamente seria possível equipar um PC com memória SRAM, mas teríamos duas grandes desvantagens. Uma delas é o preço. A SRAM é cerca de 10 vezes mais cara que a DRAM de mesma capacidade. A outra desvantagem é o seu baixo grau de compactação. Seriam necessárias placas de circuito enormes para dotar um PC com uma razoável quantidade de memória.A solução utilizada pela indústria foi a mesma usada nos computadores de grande porte a partir dos anos 60. Chama-se de Memória CACHE. É formada por uma pequena quantidade de SRAM, usada para acelerar uma grande quantidade de DRAM. Quanto o microprocessador precisa ler dados da DRAM, estes são antes transferidos para a cache (isto não é feito pelo microprocessador, e sim, por um circuito especial chamado "controlador de cache"). O microprocessador obtém os dados diretamente da cache, e enquanto esses dados estão sendo lidos, o controlador de cache se antecipa e acessa mais dados da DRAM, transferindo-os para a memória cache. O resultado é que na maior parte do tempo, o microprocessador encontra dentro da cache os dados que precisa. Este processo funciona bem porque, mesmo com grandes quantidades de memória, um microprocessador passa bastante tempo utilizando trechos pequenos. Por exemplo, ao executar um programa com o tamanho de 200 kB, todo ele cabe dentro de uma cache com 256 kB (muito comum nos PCs 486). Ao executá-lo, os dados estariam, praticamente o tempo todo, sendo obtidos da rápida memória cache.O primeiro microprocessador a utilizar memória cache foi o 486. Em seu interior existem 8 kB de memória estática super veloz, operando como cache. Este tipo de cache, localizada dentro do microprocessador, é chamada de:Cache internaCache primáriaCache de nível 1 Apesar de ter apenas 8 kB, a cache interna do 486 podia acelerar consideravelmente o desempenho do acesso à memória.Os microprocessadores 386 não tinham cache interna, e nem precisavam dela, enquanto operavam com até 20 MHz. Com o lançamento de versões de 25, 33 e 40 MHz, o baixo desempenho da memória DRAM obrigou os fabricantes a lhe acrescentarem memória cache. Esta cache não era localizada dentro do microprocessador, como ocorria com o 486. Era formada por chips de memória SRAM, e era chamada de:Cache externaCache secundáriaCache de nível 2 Foram lançadas placas de CPU baseadas no 386, equipadas com 8 kB, depois com 16, 32, 64 e finalmente 128 kB de memória cache externa (isto ocorreu entre 1990 e 1993). Um computador baseado no 386DX-40, com 128 kB de cache externa, era mais veloz que um 486 de 25 MHz sem cache externa.Hoje em dia, tanto a cache interna (dentro do microprocessador) como a externa (separada do microprocessador) são importantes para o desempenho. As placas de CPU 486 em geral possuem 256 kB de cache externa, enquanto que as baseados no Pentium possuem, em sua maioria, 512 kB de cache externa. Esses valores não são definidos pelo microprocessador, e sim, pelo fabricante da placa de CPU.A tabela que se segue apresenta a quantidade de memória cache interna existente nos microprocessadores usados nos PCs.    MicroprocessadorCache interna8086-8088-286-386SX-386DX-486DX / DX2 / SX / SX28 kB486 DX4 *16 kB486DLC1 kB486SLC1 kBPentium16 kBPentium Pro16 kBCyrix 5x86 e AMD 5x8616 kBCyrix 6x8616 kBAMD-K524 kB Obs.: O 486 DX4 da Intel possui 16 kB de cache interna. O da AMD e Cyrix possuem 8 kB.Obs.: O AMD K-5 possui 24 kB de cache interna, divididas em duas seções independentes, sendo 16 kB para código (programas) e 8 kB para dados.DesempenhoTodos os esforços no sentido de melhorar a tecnologia dos microprocessadores giram em torno de um ponto chave: o desempenho, ou seja, a velocidade de processamento. Entre as técnicas implantadas visando obter maiores velocidades, podemos citar:Aumento do clockAumento do número interno de bitsAumento de número externo de bitsRedução do número de ciclos para executar cada instruçãoUso de cache interna e externaExecução de instruções em paralelo Avanços em todas essas áreas têm possibilitado obter velocidades cada vez maiores. Para avaliar essas velocidades, é fundamental que existam métodos precisos para medir o desempenho de um microprocessador. No tempo do PC XT, quando apenas o microprocessador 8088 era usado, bastava indicar o seu clock, e automaticamente poderíamos ter uma idéia da sua velocidade de processamento. Por exemplo, um XT de 10 MHz era duas vezes mais veloz que um XT de 5 MHz.Obs.: O primeiro PC XT não operava com 5 MHz, e sim, com 4,77 MHz. Portanto, um XT de 10 MHz era cerca de 2,09 vezes mais veloz que o XT original.Durante muitos anos, o desempenho dos microprocessadores usados nos PCs foi estimado através de comparações com o XT. Por exemplo, o 80286 de 6 MHz usado no IBM PC AT era cerca de 5,7 vezes mais rápido que o IBM PC XT. Esta comparação era (e ainda é) realizada através de programas chamados de BENCHMARKS. A idéia é relativamente simples. Colocava-se um XT para executar uma grande quantidade de instruções, todas elas envolvendo apenas o microprocessador e a memória, isto, é não eram levados em conta acessos a disco, ao vídeo e demais dispositivos. Marcava-se o tempo que o XT levava para executar esta miscelânea de instruções. Digamos que o XT tenha demorado, por exemplo, 10 segundos. Este tempo era registrado dentro do programa de benchmark. Ao usarmos este programa em um computador de teste, são executadas as mesmas instruções processadas pelo XT, e o tempo total de processamento sendo registrado. Suponha por exemplo que o tempo de execução foi de 2 segundos. Portanto, dividindo o tempo de execução do XT (10 segundos) pelo tempo de execução do computador em teste (2 segundos), encontramos como resultado o índice de velocidade. Neste exemplo, o computador em teste mostrou ser 5 vezes mais veloz que o XT.        Microprocessador e clockNorton Si 8.0Checkit 3.0Pentium-200640460Pentium-166525380Pentium-150475340Pentium-133420300Pentium-120380273Pentium-100317228Pentium-90285205Pentium-75235170Pentium-66209150Pentium-60190136486DX4-120261166486DX4-100218139486DX2-80174114486DX4-75163105486DX2-6614491.8486DX2-5010869.5486DX-4087.057.0486DX-3372.045.9486DX-2554.034.7386DX-4043.231.6386DX-3335.626.1386DX-2527.019.8386DX-2021.615.8386SX-4040.625.1386SX-3333.520.7386SX-2525.415.7386SX-2020.312.6386SX-1616.210.0286-2518.413.9286-2014.711.1286-1611.88.9286-128.86.7286-107.45.6286-85.94.48088 10 Mhz2.12.18088 8 Mhz1.71.7    Vários programas de benchmark foram criados ao longo dos últimos anos. Todos eles são baseados na execução de uma miscelânea de instruções, a contagem do tempo para esta execução, e a comparação com o tempo requerido por um computador tomado como referência, normalmente o IBM PC XT. Sem dúvida, um dos programas mais usados na medição do desempenho de microprocessadores é no Norton Sysinfo. Outro menos cotado, mas também muito conhecido é Checkit. Ambos fazem medidas e apresentam resultados comparativos com o IBM PC XT. A tabela da página 15 apresenta os índices de velocidades de vários microprocessadores, medidos com o Norton SI 8.0 e com o Checkit 3.0.Observando esta tabela, notamos um fato muito interessante que ocorre com os programas medidores de desempenho. Observe que os índices são iguais quando dizem respeito ao 8088. Em todos os outros microprocessadores, o Norton SI e o Checkit encontram índices diferentes. Porque esses índices são diferentes? Qual dos dois está correto?Os índices são diferentes porque esses dois programas usam "miscelâneas de instruções" diferentes. Nos microprocessadores mais modernos, as multiplicações e divisões são incrivelmente mais rápidas que nos antigos. Entretanto, operações que realizam acessos à memória são penalizadas pelo fato das memórias não serem tão velozes quanto os microprocessadores exigem. Um programa de benchmark que utiliza operações de multiplicação e divisão tende a apresentar índices muito mais altos que outro que realiza muitos acessos à memória. O resultado é que um microprocessador pode ser muito veloz ao processar programas que fazem muitos cálculos, mas pode não ser tão veloz quanto executa programas que manipulam grandes quantidades de dados na memória.Hoje em dia, faz pouco sentido medir o desempenho usando programas que fazem comparação com o XT. O fato de um Pentium-166 apresentar o índice 525 medido com o Norton SI não significa que ele realmente será 525 vezes mais veloz que o XT para qualquer tipo de processamento. Por exemplo, quando desabilitamos a memória cache externa de um Pentium-166, ele continua apresentando um índice de 525 medido pelo Norton SI, graças à eficiência da sua cache interna. Esta eficiência não é tão grande assim quando é preciso acessar grandes quantidades de memória. A cache interna não consegue dar conta do serviço, e o desempenho cai consideravelmente. Sem a cache externa, um Pentium-166 apresenta um desempenho similar ao de um Pentium-90, apesar do seu índice de velocidade medido com o Norton SI (ou com o Checkit) permanecer inalterado. Para medir de forma mais realista o desempenho dos PCs baseados no Pentium (o mesmo ocorre com o 586), é preciso usar programas que são baseados na execução de uma miscelânea de instruções mais comuns nos programas mais sofisticados para o ambiente Windows. Exemplos de programas adequados são o Norton Sysinfo para Windows 95, o Winbench 96 e o Winstone 96.A tabela que se segue mostra índices de desempenho medidos com o Norton Sysinfo 95, em diversos computadores Pentium.      MicroprocessadorÍndice Sysinfo 95Pentium-6014Pentium-6616Pentium-7518Pentium-9021Pentium-10024Pentium-12028Pentium-13332Pentium-15035Pentium-16640Pentium-20048 Coprocessadores aritméticosOs microprocessadores 8086 e 8088 podiam operar em conjunto com um chip especial chamado 8087. É comum chamar este chip de "coprocessador matemático". Era uma espécia de microprocessador auxiliar, especializado em realizar cálculos com números reais em alta velocidade. Enquanto o 8086 e o 8088 faziam apenas adição, subtração, multiplicação e divisão de números inteiros de 32 bits, o 8087 podia realizar essas mesmas operações, e ainda uma grande quantidade de funções algébricas (raiz quadrada, logaritmo, exponencial, etc), trigonométricas (seno, tangente, arco tangente, etc) e hiperbólicas (seno hiperbólico, cosseno hiperbólico, etc), com números reais de 80 bits de mantissa. Programas que utilizam grandes quantidades de cálculos deste tipo ficavam incrivelmente mais velozes quando usavam o 8087. Normalmente, os softwares eram fornecidos simultaneamente em duas versões, uma para operar através do 8086/8088, e outra para usar o 8087. Quando o PC não tinha o 8087 instalado, mesmo assim podia realizar esses cálculos, mas estes eram feitos por etapas, o que era muito mais demorado. Os programas que se beneficiam de um coprocessador matemático são os seguintes:CAD (Computer Aided Design)Programas para engenhariaProgramas científicosProgramas que geram figuras tridimensionais Ao lançar os seus novos microprocessadores, a Intel sempre lançava também um coprocessador matemático compatível:    MicroprocessadorCoprocessador matemático8086 / 80888087802868028780386SX80387SX80386DX80387DX Ao lançar o 486, a Intel finalmente colocou o coprocessador matemático dentro de próprio microprocessador. O chamado 486DX possui um coprocessador matemático interno, enquanto o 486SX não o possui. Outros microprocessadores mais avançados como o Pentium e o Pentium Pro também possuem o coprocessador matemático interno. O mesmo ocorre com os microprocessadores 5x86 da AMD e da Cyrix, com o AMD-K5 e com o Cyrix 6x86.O grande finalCalma, não é ainda o final do artigo. Vamos apenas apresentar uma tabela que resume as características apresentadas até agora a respeito dos principais microprocessadores.Passaremos a detalhar individualmente cada um dos microprocessadores mencionados até agora. Você que está interessado em fazer um upgrade não irá utilizar diretamente esses conhecimentos, mas é importante saber como tudo começou e como chegou-se ao atual estado tecnológico.    Micro-processadorBits internosBits externosBits de endereçoMemória máxima80861616201 MB8088168201 MB28616162416 MB386SX32162416 MB386DX3232324 GB486DX3232324 GB486 SX3232324 GB486 DX23232324 GB486 SX23232324 GB486 DX43232324 GB486DLC3232324 GB486SLC32162416 MBPentium3264324 GBPentium Pro3264324 GBCyrix 5x863232324 GBAMD 5x863232324 GBCyrix 6x863264324 GBAMD-K53264324 GB   MicroprocessadorClock máximoCoprocessador matemáticoCache interna808610 MHz8087-808810 MHz8087-28625 MHz80287-386SX40 MHz80387SX-386DX40 MHz80387DX-486DX40 MHzinterno8 kB486 SX33 MHz487SX8 kB486 DX280 MHzinterno8 kB486 SX266 MHz-8 kB486 DX4120 MHzinterno8 kB486DLC40 MHz80387DX1 kB486SLC40 MHz80387SX1 kBPentium200 MHzinterno16 kBPentium Pro200 MHzinterno16 kBCyrix 5x86133 MHzinterno16 kBAMD 5x86133 MHzinterno16 kBCyrix 6x86166 MHzinterno16 kBAMD-K5100 MHzinterno24 kB   8086Antes do lançamento do 8086, reinavam os microprocessadores de 8 bits. Respire aliviado, pois neste livro você não os estudará. Consideramos o 8086 como o ponto de partida para a atual tecnologia utilizada nos PCs. No final dos anos 70, a Intel, principal fabricante de microprocessadores (como é até hoje) lançou o 8086, o primeiro microprocessador de 16 bits. Operava interna e externamente com 16 bits, possuía um barramento de endereços com 20 bits, através do qual podia acessar até 1 MB de memória, o que era uma capacidade espantosa para a época. Inicialmente lançado em uma versão de 5 MHz, o 8086 era consideravelmente mais veloz que os microprocessadores de 8 bits. Possuía, entre outras instruções, a multiplicação e a divisão. Os microprocessadores de 8 bits não realizavam diretamente tais operações, precisavam executá-las indiretamente, através de adições e subtrações, além de outras operações chamadas de "deslocamentos de bits", através das quais era possível determinar a metade e o dobro de um número inteiro.Apesar de ser tão veloz, o 8086 não foi um grande sucesso de vendas. Na sua época, todos os microcomputadores existentes (eram milhares, e não milhões como são atualmente) operavam com placas, memórias e chips de 8 bits. Tudo precisaria ser adaptado para operar em 16 bits, o que resultava em uma grande elevação de custo. Para resolver o problema, a Intel lançou uma versão mais simples do 8086, e chamou-a de 8088.8088O 8088 era internamente um microprocessador quase idêntico ao 8086, mas externamente, tinha uma diferença fundamental: seu barramento de dados operava com 8 bits, ao invés de 16. Ou seja, o 8088 era uma versão "júnior" do 8086. Pelo fato de usar um barramento de dados com 8 bits, podia operar com todo o hardware para 8 bits existente na sua época: placas, memórias e chips em geral.Tanto o 8086 como o 8088 não eram os microprocessadores de 16 bits mais avançados de sua época. A Motorola havia lançado o MC68000, e a Zilog havia lançado o Z8000. Ambos operavam com 16 bits e eram mais avançados que o 8086 e o 8088.Ao entrar no mercado dos microcomputadores, a IBM pretendia lançar o seu computador pessoal, que seria chamado de IBM Personal Computer, ou IBM PC. Até então, o computador pessoal que dominava o mercado há vários anos era o Apple, que operava com 8 bits. A IBM, na dúvida entre lançar um PC de 8 bits, na mesma escala tecnológica que o Apple, e um poderoso PC de 16 bits, optou pelo meio termo. Escolheu o 8088, já que internamente operava com 16 bits, seu software possuía instruções de 16 bits, mas a nível de hardware, podia ser instalado em uma placa que operasse com 8 bits. A IBM logo tratou de comprar uma parte da Intel, e usou vários dos chips fabricados por esta empresa no projeto do IBM PC. Além do 8088, que passou a ser o microprocessador mais vendido em sua época, utilizou outros chips, como o 8253, 8257, 8272 e 8237, todos eles auxiliares do microprocessador.Pouco tempo depois, a IBM lançou uma versão melhorada do IBM PC. Era chamado de IBM PC XT (XT significa Extended Technology). Sua tecnologia estendida consistia no uso de um disco rígido de 10 MB (o PC original só podia armazenar dados em disquetes ou em fita K-7), e uma maior quantidade de memória RAM: incríveis 256 kB !!!Durante os anos 80, o IBM PC XT foi o microcomputador mais utilizado em todo o mundo. Mesmo após o lançamento do IBM PC AT, equipado com o microprocessador 80286, o XT continuou fazendo muito sucesso devido ao seu custo mais baixo.Tanto o 8086 como o 8088 foram lançados inicialmente em versões de 5 MHz. Com o passar do tempo, a Intel lançou o 8086-2 e o 8088-2 (operavam com 8 MHz), e depois o 8086-1 e o 8088-1 (10 MHz). A IBM não utilizou esses microprocessadores em novas versões do XT, já que estava preocupada em promover o IBM PC AT, que era muito mais veloz. Entretanto, os fabricantes de "clones" do PC (ou seja, computadores compatíveis com o IBM PC, mas fabricados por outras empresas) lançaram os chamados "XTs Turbo", operando com 8 e 10 MHz.   V-20 e V-30No final dos anos 80, a NEC lançou microprocessadores inteiramente compatíveis com o 8086 e o 8088, a nível de software e de hardware, porém sensivelmente mais velozes. São velhos NEC V-20 (similar ao 8088) e o NEC V-30 (similar ao 8086). Muitos XTs foram vendidos naquela época, equipados com o V-20, e alguns até mesmo usando o V-30. Terminada a época dos XTs, terminou também a atuação da NEC no mercado de microprocessadores para PCs.286Após o 8086 e o 8088, a Intel lançou outros microprocessadores que foram muito pouco utilizados. Eram o 80186 e o 80188. Tecnologicamente pertenciam à mesma geração que o 8086 e o 8088. Operavam inclusive com clocks de 8 e 10 MHz. A sua vantagem era que utilizavam internamente diversos circuitos que antes eram implementados em chips auxiliares, como por exemplo, controladores de interrupções, timers e decodificadores de endereços. Seu objetivo era a implementação de microcomputadores usando um reduzido número de componentes. Seu sucesso foi muito limitado, e praticamente não foram utilizados em PCs.Logo depois a Intel finalmente lançou um microprocessador bem mais avançado, o 80286. Inicialmente lançado em uma versão de 6 MHz, o 80286 era cerca de 6 vezes mais veloz que o 8088 usado no IBM PC XT. Também era, aproximadamente, 3 vezes mais veloz que um XT de 10 MHz. A IBM utilizou este microprocessador no seu novo PC, o IBM PC AT (AT significa Advanced Tecnhology). Possuía uma configuração relativamente avançada, se comparado com um XT. Sua memória poderia chegar, através de placas de expansão apropriadas, a até 16 MB. Naquela época, o hardware sempre andava à frente do software, ou seja, mesmo os sistemas operacionais e softwares mais avançados não chegavam a explorar todo o potencial do hardware existente. Mesmo podendo chegar a 16 MB, durante muitos anos reinaram os micros com 640 kB, quantidade de memória mais que suficiente para executar os softwares dos anos 80.Da mesma forma como foram criados clones do IBM PC XT, isto também ocorreu com o IBM PC AT. No final dos anos 80, as revistas especializadas em informática estavam repletas de anúncios de PCs classe AT, muito mais velozes que os da IBM, em versões de 8, 10 e 12 MHz.Mesmo depois do lançamento do 386, os fabricantes de microprocessadores continuaram a lançar versões mais velozes do 80286. O 80286 da Intel foi lançado em versões de 6, 8, 10, 12 e 16 MHz. Outros fabricantes, como a AMD, lançaram versões de 20 e 25 MHz.Por volta de 1992, caiu vertiginosamente a produção de PCs baseados no 286, até a sua extinção total, que ocorreu exatamente na época em que o preço de um microprocessador 386 passou a ser praticamente igual ao de um 286.386DXAo ser lançado, chamava-se 80386. Isto ocorreu em meados dos anos 80, mas somente por volta de 1990 tornaram-se comuns os PCs que utilizavam este microprocessador. O 80386 abriu a era dos 32 bits em micros da classe PC. Durante o seu ciclo de vida, foi lançado em versões de 16, 20, 25, 33 e finalmente 40 MHz. Entre 1992 e 1993, quando começou a popularização do micro no Brasil, eram muito comuns os equipados com o 386DX-40.Apesar de ser tecnologicamente mais avançado que o 80286, o 80386 passou pelo mesmo problema sofrido pelo 8086: a dificuldade na transição para um maior número de bits. Toda a arquitetura de micros classe "PC AT" era voltada para 16 bits: memórias de 16 bits, placas de expansão de 16 bits, chips auxiliares de 16 bits. A solução dada pela Intel foi a mesma usada com o 8086: lançaram uma versão simplificada do 80386, chamado de 80386SX (poderiam tê-lo chamado de 80388). Internamente, o 80386SX operava com 32 bits, mas externamente com apenas 16. Depois disso, o 80386 original, com 32 bits internos e externos, passou a ser chamado de 80386DX.      386SXO 386SX é a versão "júnior" do 80386. Por dentro, ele é idêntico a o 80386. Possui os mesmos circuitos e executa as mesmas instruções, de 8, 16 e 32 bits. A diferença está no barramento de dados, que opera com 16 bits, ao invés dos 32 bits usados pelo 80386 original, que passou a chamar-se 386DX. Além do barramento de dados com 16 bits, existe ainda mais uma diferença. Seu barramento de endereços, apesar de possuir 32 bits, utiliza apenas 24, o que limita seu espaço de endereçamento a apenas 16 MB. Isto não chegou a ser nenhum problema, pois na sua época, raros eram os PCs que usavam mais de 4 MB de memória.O 386SX é sensivelmente mais lento que o 386DX. Ao fazer a leitura de dados da memória, o 386DX recebe 32 bits de uma só vez. O 386SX precisa realizar duas leituras consecutivas para completar os 32 bits. Apesar do acesso à memória ser mais demorado, o processamento é feito na mesma velocidade que o 386DX. Enquanto uma instrução está sendo executada, outra instrução é buscada na memória. Como em muitas instruções, o tempo de execução é maior que o tempo de busca, na maioria delas o tempo adicional causado pelo barramento de 16 bits não chega a causar impacto muito forte no desempenho.Além da Intel, vários outros fabricantes produziram microprocessadores 386SX e 386DX. O principal deles foi a AMD. Foram lançadas versões de 16, 20, 25, 33 e 40 MHz.486DXO 80486 foi lançado em 1989. Naquela época, muito tempo passava entre o lançamento de um novo microprocessador e a disponibilidade de PCs que o utilizam. Era normal um período de um a dois anos. O mercado caminhava a passos bem mais lentos. Apenas em 1991 podíamos encontrar à venda PCs baseados em microprocessadores 486. Atualmente, antes do lançamento de um novo microprocessador, fabricantes de placas de CPU recebem protótipos para testar e usar nos projetos de suas novas placas. A produção em alta escala do microprocessador praticamente coincide com a produção das placas, seguida pela venda de PCs utilizando o microprocessador recém-lançado.Em sua versão inicial, o 80486 operava com um clock de 25 MHz. Era cerca de duas vezes mais rápido que o 386DX-25. Em seu interior, apresentava duas grandes inovações: um coprocessador matemático interno, e 8 kB de memória cache interna.Em muitos aspectos, o 80486 pode ser considerado como uma versão moderna do 386DX. Executa as mesmas instruções, possui barramentos de dados e de endereços com 32 bits, características comuns a todos os microprocessadores da família 486, o que inclui o 486SX, 486DX2, 486SX2 e 486DX4.A Intel lançou posteriormente versões de 33 e de 50 MHz. A AMD e a Cyrix lançaram tempos depois os seus próprios microprocessadores 486. Entre eles, o Am486DX-40 (40 MHz) e o Cx486DX-40 (40 MHz). Entretanto, a estória não parou por aí. Tanto a Intel como a AMD e a Cyrix continuaram a lançar vários tipos de 486, como veremos a seguir.486SXMuitos dizem que o 486SX foi um erro cometido pela Intel. Este microprocessador era uma versão simplificada do 80486: não possuía o coprocessador matemático interno. Seu objetivo era competir com os microprocessadores Am386DX-40, que estavam fazendo um grande sucesso. Assim como o 80486 original (que passou a chamar-se 486DX), o 486SX também possui 8 kB de cache interna e barramentos de dados e endereços com 32 bits. Estava disponível nas versões de 25 e 33 MHz.Um usuário interessado em acrescentar um coprocessador matemático ao 486SX poderia perfeitamente fazê-lo. Bastava adquirir um 487SX, que para todos os efeitos, era o "coprocessador aritmético" do 486SX. As placas de CPU baseadas no 486SX em geral possuíam um soquete pronto para a instalação deste chip. Entretanto, este tipo de instalação não era nada vantajosa do ponto de vista financeiro. Era mais barato adquirir uma placa de CPU equipada com o 486DX. O 486SX tanto foi considerado um erro, que os concorrentes da Intel (AMD e Cyrix) não lançaram microprocessadores equivalentes.486DX2O 486DX2 inaugurou uma característica de hardware que está presente até hoje nos modernos microprocessadores. Há muito tempo os microprocessadores já evoluíam muito mais que as memórias. Quando chegou o 486DX-50, o desequilíbrio tornou-se muito crítico. Apesar de ser tecnologicamente viável, seguro e estável um microprocessador operar internamente a 50 MHz, era muito difícil, com a tecnologia da época (1992), uma placa de CPU funcionar com uma freqüência tão elevada. Tanto as memórias como os chips auxiliares não podiam suportar de forma segura o funcionamento a 50 MHz. O resultado é que as placas de CPU baseadas no 486DX-50 eram muito problemáticas, apresentando até mesmo menor confiabilidade que as de 33 MHz.Para resolver esses problemas, a Intel utilizou dois clocks separados, um para o funcionamento interno do microprocessador, e outro para o funcionamento externo. Todas as operações eram realizadas internamente comandadas por um clock de 50 MHz, enquanto externamente tudo ocorria à velocidade de 25 MHz. Isto resolveu todos os problemas decorrentes da elevada velocidade externa ao microprocessador, e curiosamente não causou perdas no desempenho. Mesmo acessando a memória duas vezes mais devagar, ainda assim esta nova versão do 486 era capaz de manter a cache interna sempre com instruções prontas para serem executadas. Este novo chip foi chamado de 486DX2-50. A Intel parou então de produzir o 486DX-50, ficando apenas com a versão DX2. Foram mantidos o 486DX-33 e o 486DX-25.Logo depois, a Intel lançou o 486DX2-66. Campeão de velocidade de sua época, este microprocessador foi o mais vendido durante 1994. Este aumento de vendas ocorreu quando seus preços caíam em virtude do lançamento de microprocessadores equivalentes pela AMD e Cyrix. Inicialmente em versões de 50 e 66 MHz, foram pouco depois lançados em versões de 80 MHz. Portanto, já em 1995 tínhamos as seguintes versões do 486DX2:Intel: 486DX2-50 e 486DX2-66AMD: Am486DX2-50, Am486DX2-66 e Am486DX2-80Cyrix: Cx486DX2-50, Cx486DX2-66 e Cx486DX2-80     Todos os microprocessadores 486DX2 possuem uma característica em comum: seu clock interno é igual ao dobro do externo. Por exemplo, o 486DX2-80 opera internamente a 80 MHz e externamente a 40 MHz.486SX2Este microprocessador fez muito pouco sucesso, tanto que foi produzido apenas pela Intel. Trata-se de uma versão mais veloz do 486SX. Disponível em versões de 50 e 66 MHz (486SX2-50 e 486SX2-66), este microprocessador não possui em seu interior o coprocessador matemático, e opera com um clock externo igual à metade do clock interno. Por exemplo, o 486SX2-66 opera internamente a 66 MHz e externamente a 33 MHz.486DX4A Intel foi a primeira a lançar esta versão do 486. Com clocks internos de 75 e 100 MHz (486DX4-75 e 486DX4-100), esses microprocessadores também usam valores diferentes para o seu clock externo. A grande diferença é que, ao invés do clock externo ser sempre igual à metade do interno, este divisor pode ser igual a 2, 2,5, 3 ou 4. Por exemplo, um 486DX4-100 pode operar com clocks externos de 50, 40, 33 ou 25 MHz. A escolha não é feita pelo usuário, e sim, pelo projetista da placa de CPU. Em geral, as placas de CPU equipadas com o 486DX4-100, para uso em micros de mesa (desktop) operam com o clock externo de 33 MHz, enquanto os computadores portáteis (notebooks) baseados neste microprocessador o utilizam com um clock externo de 25 MHz.Pouco depois da Intel, a AMD e a Cyrix também lançaram seus microprocessadores 486DX4. São o Am486DX4 e o Cx486DX4. A AMD criou versões de 100 e 120 MHz. A Cyrix lançou apenas o modelo de 100 MHz.      Cx486DLC e Cx486SLCDepois de falar em tantos microprocessadores 486 lançados pela AMD e pela Cyrix, vamos agora fazer um pequeno retrocesso no tempo. Antes de lançar seus microprocessadores 486, a Cyrix criou versões melhoradas do 386DX e do 386SX. Além de serem cerca de 30% mais velozes que microprocessadores 386 de mesmo clock, esses microprocessadores possuem ainda em seu interior, 1 kB de memória cache interna, e ainda um circuito capaz de realizar multiplicações em alta velocidade. Apesar dos envenenamentos, esses dois microprocessadores eram inteiramente compatíveis com o 386. O Cx486DLC opera com um barramento de dados com 32 bits, sendo portanto equivalente ao 386DX, enquanto o Cx486SLC usa um barramento de dados com 16 bits, sendo equivalente ao 386SX. Teoricamente é possível retirar um microprocessador 386 de uma placa de CPU e instalar um Cx486 (DLC ou SLC, conforme o original seja 386DX ou 386SX), ganhando assim, uma melhora de cerca de 30% na velocidade de processamento. Fabricantes de placas de CPU fizeram alterações simples nos BIOS de suas placas para dar suporte ao uso desses chips. Em sua época (por volta de 1993), muitas pessoas compravam computadores e placas de CPU equipados com esses microprocessadores, pensando que se tratavam de genuínos chips 486. De certa forma, a Cyrix usou um pouco de má fé ao embutir o número "486", já que na verdade esses chips possuem uma tecnologia inferior, e mais próxima do 386.A Intel moveu um processo contra a Cyrix mas não obteve resultados, já que foi considerado que um número não pode ser usado como marca registrada. Algum fabricante poderia até mesmo vender micros XT batizados com a sigla "486". Por esta razão, a Intel mudou o nome do 80586 para Pentium, já que um nome pode ser protegido por um registro de marca, ao contrário do que ocorre com os números. Também daí originou-se o logotipo "Intel Inside", que ao ser afixado na parte externa de um computador, garante ao usuário que em seu interior existem, genuínos componentes Intel.AMD 5x86A Intel lançou seu último 486 na versão de 100 MHz. Como sempre, a AMD foi um pouco mais adiante, lançando uma versão de 120 MHz, e lançando também o microprocessador AMD 5x86 de 133 MHz. Do ponto de vista externo, é exatamente igual a um 486DX4 de 133 MHz. Isto não quer dizer que qualquer placa de CPU para 486DX4 possa receber este microprocessador, e sim, que os fabricantes de placas de CPU podem realizar mínimas alterações em projetos já existentes para suportar o AMD 5x86. Medidas de desempenho realizadas com o Norton Sysinfo 8.0 e o Checkit 3.0 mostram que este microprocessador é equivalente a um Pentium-90. Entretanto, para efeito de comparação com o Pentium, a indústria padronizou o uso do Winstone 96, o software medidor de desempenho usado pela revista PC Magazine e por diversas outras. Nesses testes, o 5x86 mostrou ser um pouco mais veloz que o Pentium-75.Sendo equivalente a um 486DX4, o AMD 5x86 opera internamente com um clock de 133 MHz, e externamente usa um clock com a quarta parte deste valor: 33 MHz. Possui barramentos de dados e de endereços com 32 bits, uma cache interna de 16 kB, e um coprocessador matemático interno compatível com o da Intel. É uma boa opção se compararmos seu custo com o de um Pentium-75. É preciso entretanto tomar cuidado com a forma como computadores deste tipo estão sendo anunciados. Ao ser chamado de 586 de 133 MHz, os usuários menos informados tendem a pensar que é equivalente a um Pentium-133, o que não é verdade. Equivale em termos de velocidade de processamento a um Pentium-75. Cyrix 5x86A Cyrix também lançou microprocessadores 5x86, compatíveis com o 486DX4 da Intel, porém com desempenho mais elevado. Em versões de 100 e 120 MHz, o Cyrix 5x86 apresenta desempenho equivalente ao de um Pentium-75 e de um Pentium-90, respectivamente. Seu clock externo pode ser igual 1/2 ou 1/3 do clock interno. Portanto, a versão de 100 MHz pode operar externamente com 50 ou 33 MHz, e a de 120 MHz pode usar externamente 60 ou 40 MHz.O Cyrix 5x86 possui, assim como o 486 da Intel, barramentos de dados e de endereços com 32 bits. Possui um coprocessador matemático interno, compatível com o da Intel, e uma cache interna de 16 kB.     PentiumInicialmente foi lançado nas problemáticas versões de 60 e 66 Mhz (apresentavam aquecimento em excesso). Problemas resolvidos, seu desenvolvimento continuou, e atualmente estamos na versão de 200 MHz. O Pentium é um microprocessador de 32 bits, mas com várias características de 64 bits. Por exemplo, o seu barramento de dados, que dá acesso à memória, opera com 64 bits. Desta forma, o tráfego de dados entre o Pentium e a memória é feito a uma velocidade duas vezes mais alta. Seu barramento de endereços permanece com 32 bits, possibilitando o acesso a uma memória máxima de 4096 MB. O Pentium possui uma memória cache interna de 16 kB, e um coprocessador matemático interno de alto desempenho. Em meados de 1994, foi descoberto que este coprocessador apresentava um pequeno erro de projeto, o que resultava em erros de cálculo com certos tipos de operação e certos valores numéricos. A Intel corrigiu o erro de projeto, e fez a substituição de todos os Pentiums já vendidos.Aperfeiçoamentos no projeto do Pentium foram introduzidos, permitindo o lançamento de modelos com clocks mais elevados. Um dos principais melhoramentos foi a operação em baixa voltagem. Os modelos de 60 e 66 MHz operavam com 5 volts e apresentavam um excessivo aquecimento. A alteração da sua voltagem de operação para 3 volts, e a diminuição do tamanho de seus 3,5 milhões de transistores internos possibilitaram o uso de clocks mais elevados, com menor dissipação de calor. Mesmo assim, o Pentium ainda precisa operar acoplado a um microventilador.O clock externo do Pentium é regulado para 50, 60 ou 66 MHz, dependendo do modelo. A tabela abaixo mostra os vários modelos de Pentium, o fator pelo qual o clock interno é multiplicado, e o clock externo resultante. O clock externo é multiplicado, para resultar no clock interno apropriado.      Clock internoFatorClock externo75 MHz1,550 MHz90 MHz1,560 MHz100 MHz1,566 MHz120 MHz260 MHz133 MHz266 MHz150 MHz2,560 MHz166 MHz2,566 MHz200 MHz366 MHz1996 foi o ano do microprocessador Pentium. Placas de CPU que o utilizam ainda não estão extremamente baratas, mas seus custos já permitem que sejam as mais vendidas do mercado. Computadores super baratos ainda são vendidos equipados com o 486DX4-100, ou ainda com AMD 5x86 e o Cyrix 5x86. Mesmo assim, não é grande a diferença de preço que os separa de um PC equipado, por exemplo, com um Pentium-133.    Pentium ProO Pentium Pro é o microprocessador Intel de sexta geração. Aliás, podemos classificar os microprocessadores usados em PCs da seguinte forma:Primeira geração: 8086, 8088, 80186 e 80188Segunda geração: 80286Terceira geração: 386SX e 386DXQuarta geração: 486SX, 486DX, 486SX2, 486DX2 e 486DX4Quinta geração: PentiumSexta geração: Pentium Pro Inicialmente, o Pentium Pro foi lançado em versões de 150, 180 e 200 MHz. É mais um microprocessador de 32 bits, apesar de apresentar muitos aspectos em 64 bits, como por exemplo, o seu barramento de dados. Utiliza também um barramento de endereços com 32 bits, característica que tem sido mantida desde a terceira geração de microprocessadores Intel.O Pentium Pro possui uma cache interna (ou cacha primária) com 16 kB, e ainda uma cache secundária com 256 ou 512 kB (existem os dois modelos disponíveis). Esta é uma alteração fundamental em relação aos microprocessadores 486 e Pentium. Ambos utilizavam uma cache interna com baixa capacidade (8 kB e 16 kB, respectivamente). Além dessas caches, chamadas de internas ou primárias, placas de CPU baseadas nesses microprocessadores também utilizam uma cache secundária (faz sentido usar o também o termo "cache externa"), formada por chips SRAM externos ao microprocessador. No caso do Pentium Pro, a Intel colocou, dentro do próprio chip que o constitui, 256 kB de memória SRAM que formam a cache secundária (agora não faz mais sentido usar o termo "cache externa"). Mais tarde foram lançadas versões equipadas com 512 kB, ao invés de 256 kB.Pelo menos na época em que este livro foi escrito (início de 1997), ainda era muito difícil falar sobre o futuro do Pentium Pro. Placas de CPU que o utilizam ainda são muito caras e vendidas em reduzida escala. É possível que sejam feitas alterações em vários dos seus aspectos, mas isto só poderemos comprovar a partir de 1997. De qualquer forma, espera-se que o Pentium ainda continue a ser o microprocessador mais vendido, sendo substituído pelo Pentium Pro em larga escala apenas a partir de 1998. Tanto é assim que, em termos de desempenho, ainda não é grande a vantagem do Pentium Pro em relação ao Pentium. Ambos estavam disponíveis com clocks máximos de 200 MHz ao lançamento deste livro. No processamento de software de 32 bits (por exemplo, programas para Windows 95), o Pentium Pro é cerca de 30% mais veloz que o Pentium. Entretanto, o Pentium leva vantagem no processamento de software de 16 bits, como por exemplo, todos os programas para MS-DOS e Windows 3.1. Muita coisa ainda vai mudar em relação ao Pentium Pro.Finalmente resta lembrar que o Pentium Pro, a exemplo do Pentium e do 486DX/DX2/DX4, também possui um coprocessador matemático interno.AMD-K5Este é o Pentium lançado pela AMD. Seu nome diferente é devido ao fato da palavra "Pentium" ser uma marca registrada que não pode ser usada por outros fabricantes além da Intel. A AMD não fez uma cópia do Pentium, e sim, um microprocessador totalmente novo, com características de quinta geração, totalmente compatível com o Pentium a nível de hardware e de software. Isto significa que podemos retirar o Pentium de uma placa de CPU e instalar em seu lugar, um AMD-K5 de mesmo clock. Inicialmente, a AMD liberou versões de 75 e 90 MHz, e pouco depois de 100 MHz, seguida pela de 133 e finalmente pela de 166 MHz, já no início de 1997.   Cyrix 6x86Este é o grande sucesso da Cyrix. Externamente, o 6x86 comporta-se de forma idêntica a um Pentium. Possui compatibilidade total, pino a pino, o que significa que podemos instalá-lo em placas de CPU Pentium. Portanto, possui características semelhantes em relação ao barramento de dados e de endereços, além da cache interna e do coprocessador matemático.A diferença fundamental é que, em seu interior, o 6x86 apresenta características de sexta geração. Em outras palavras, a Cyrix criou um chip concorrente do Pentium Pro, mas fez o seu exterior totalmente compatível com o Pentium. O resultado é que, com um clock de 150 MHz, o 6x86 apresenta desempenho equivalente ao de um Pentium-200. Por isto, ao invés de ser anunciado como 6x86-150, é usada a indicação 6x86 P200+, o que indica que seu desempenho é superior ao de um Pentium-200. Este tipo de classificação é chamado de P-Rating (Pentium Rating). Trata-se de um tipo de medida próprio para fazer comparações com microprocessadores Pentium. Essas comparações são baseadas em um dos programas de benchmark mais aceitos, que é o Winstone 96. A tabela a seguir apresenta as versões do 6x86 e os respectivos índices P-Rating:    ModeloP-RatingClock interno6x86-P200+P200+150 MHz6x86-P166+P166+133 MHz6x86-P150+P150+120 MHz6x86-P133+P133+110 MHz6x86-P120+P120+100 MHz     OverdrivesDesde o 486, a Intel tem lançado versões especiais de seus microprocessadores chamadas de "Overdrive". Este tipo de microprocessador pode ser instalado exatamente no mesmo local onde antes estava outro microprocessador 486 ou Pentium (dependendo do modelo). O objetivo da instalação de um Overdrive é a obtenção de maior velocidade de processamento. Para obter este resultado, o Overdrive utiliza dois princípios básicos:Seu funcionamento externo é idêntico ao do microprocessador que está sendo substituído.Internamente, opera em uma velocidade superior ao do microprocessador que está sendo substituído. A Intel lançou vários modelos de Overdrive:Overdrive 486 para ser instalado no lugar de outro 486Overdrive Pentium para ser instalado no lugar de um 486Overdrive Pentium para ser instalado no lugar de outro Pentium Muitas placas de CPU permitem a instalação de um microprocessador normal, sem a necessidade de um Overdrive. Por exemplo, as atuais placas de CPU Pentium permitem que seja instalado, desde um Pentium-75 até um Pentium-200. Uma placa de CPU como esta, equipada com um Pentium-90, pode ter este microprocessador removido, e substituído por exemplo por um Pentium-200. Para isto, será preciso alterar alguns jumpers da placa de CPU, para indicar o novo valor de clock interno e externo. Existem porém placas de CPU que não admitem a instalação de versões mais rápidas de um microprocessador. Quem comprou por exemplo uma placa de CPU Pentium no início de 1995, provavelmente recebeu um modelo de 90 MHz. Naquela época, as placas de CPU Pentium permitiam o uso de um único valor de clock. Seria impossível instalar, por exemplo, um Pentium-150 em uma dessas placas de CPU. Neste caso, pode ser feita a instalação de um Pentium Overdrive de 150 MHz, específico para substituir o Pentium-90.Podemos encontrar também Overdrives 486 para serem instalados em placas de CPU 486. Por exemplo, podemos instalar no lugar de um 486DX-33, um Overdrive 486 de 66 MHz, obtendo assim uma velocidade quase duas vezes maior. Existem ainda Overdrives Pentium próprios para serem instalados em placas de CPU 486. No lugar de um 486DX2-66, podemos instalar um Overdrive Pentium de 83 MHz, conseguindo assim um desempenho quase duas vezes mais elevado.  ass:gato-bravo-e-brasileiro