quarta-feira, 2 de fevereiro de 2011

Processadores Intel

Como já vimos, os PC usaram inicialmente os processadores da família Intel. No entanto, outras empresas como a AMD, a Cyrix e mesmo a própria IBM desenvolveram também os seus próprios processadores compatíveis com os Intel, pelo que vamos agora ver as características particulares de alguns deles.
3.5.1 8086 e 8088
O 8086 foi um dos primeiros processadores 16 bits do mercado e também o que dispunha de maior espaço de endereçamento de memória disponível, 20 bits, o que equivalia a 1MB. Mas não foi esse o eleito pela IBM para fabricar o seu primeiro PC, por uma razão muito simples: os custos de produção. Tanto o processador como a placa principal do computador tinham custos agravados pelo facto de serem 16 bits, pelo que ficava mais caro construir uma placa com um barramento de dados de 16 bits do que um mesmo barramento de 8 bits. Por essa razão, a Intel apresentou o 8088 em 1978.
Basicamente, é uma versão de baixo custo do 8086. Eles são idênticos em tudo, com excepção dos circuitos de comunicação com o exterior, os quais foram modificados para funcionar com um desenho de 8 bits. Com este chip híbrido conseguimos um sistema que pode correr software de 16 bits (usando os registos internos de 16 bits), ter acesso a 1 MB de memória (devido ao barramento de endereços de 20 bits) e ainda assim ter os custos de um processador de 8 bits. No entanto, e embora ele só tenha 8 bits de barramento de dados, é referido como sendo um processador de 16 bits, porque os caminhos da dados e os registos internos são de 16 bits.
Alguns poderão perguntar porque existe um limite de memória convencional de 640 KB se o processador tem capacidade para endereçar 1MB. Esse limite existe porque a IBM decidiu reservar a porção alta dos 1024 KB, isto é, os últimos 384 KB para serem usados por placas e rotinas do BIOS, deixando os 640 KB iniciais para a execução das aplicações.
O IBM PC trabalhava a 4,77 MHz, o que contrastava com alguns clones que apareceram posteriormente com versões mais rápidas do 8088 e conseguiam quase o dobro dessa velocidade. No entanto, a IBM retomou o 8086 nos modelos 25 e 30 doPS2, mas mesmo assim não foi pioneira, dado que a Compacq e a AT6T já o estavam a utilizar nos seus modelos Deskpro e 6300, respectivamente. A capacidade de comunicações de 8086 dava-lhe um aumento de cerca de 20% na sua performance em relação a um 8088 de velocidade idêntica.
3.5.2 8087
Embora seja um coprocessador aritmético e não um microprocessador, não ficará fora de contexto falar-se dele aqui.
Foi desenhado para executar operações matemáticas complexas. A primeira vantagem da sua utilização é o aumento da velocidade de execução de programas que usem cálculo matemático intensivo. Mas também pode ter algumas desvantagens, tais como suporte de software, custo, consumo de potência e aumento da temperatura da máquina.
A primeira desvantagem é que somente alguns programas tiram partido do coprocessador, isto é, o programa tem de ser escrito de modo a tirar partido do coprocessador, embora mesmo esses programas nem sempre tirem o devido partido das vantagens de ter um coprocessador aritmético. Dentro desses programas, temos as folhas de cálculo, programas de estatística, de CAD e software de engenharia que tiram o devido partido do coprocessador. Como é lógico, um processador de texto não necessita dele para nada.
Como já se disse, mesmo os programas que fazem uso do coprocessador não o fazem em todas as operações. Tomemos como exemplo uma folha de cálculo clássica, o Lotus 1-2-3, que não faz uso do coprocessador para operações simples, tipo adição, subtracção, etc. senão vejamos o seguinte teste.
Temos duas folhas de cálculo, cada uma com 8000células. A primeira tem operações de divisão, subtracção, adição e multiplicação espalhadas pelas 8000 células. A segunda folha tem 8000 células com fórmulas que usam as funções SQRT, SIN, CÓS e TAN. Analisemos os resultados da tabela 3.6, com um computador com e outro sem coprocessador.
XT sem 8087
XT com 8087
Folha 1
21 segundos
21 segundos
Folha 2
195 segundos
21 segundos
Tabela 3.6 – Tempo de cálculo com e sem processador
Por aqui podemos ver que não valia o investimento, a não ser que fosse estritamente necessário.
O 8087, assim como mais tarde o 80387, tem de trabalhar sempre à mesma velocidade do processador, seja qual for a sua velocidade. Isto porque o processador e o coprocessador trabalham sincronizadamente. No caso do XT, a 4,77 MHz, o 8087 tinha de trabalhar pelo menos a essa velocidade e o mesmo aconteceria mais tarde com o 80386. Se trabalhasse a 20 MHz, o 80387 teria de trabalhar a essa velocidade ou superior, caso contrário, não funcionaria correctamente. No entanto, com o 80286 já não era assim, pois tanto o 80286como o 80287 eram assíncronos.
3.5.3 80286
O 80286, i286 como ficou conhecido, era também um processador de 16 bits. Apresentava grandes avanços em relação aos processadores da primeira geração. A frequência de relógio foi aumentada, mas um dos seus maiores melhoramentos foi o manuseamento de instruções.
Foi apresentado inicialmente a uma velocidade de 6 MHz e funcionava quatro vezes mais rápido do que os 8088 a 4,77 MHz. Posteriormente surgiram as versões a 8 MHz, 10 MHz e 12 MHz.
Há várias razões para que o i286 seja mais rápido do que os seus antecessores: a principal, como já foi referido, refere-se ao manuseamento de instrução, isto é, o 286 era muito mais eficiente ao executar as instruções. Em média, uma instrução demorava 12 ciclos de relógio para ser executada no 8088, mas no 286 passava para uma média de 4,5 ciclos. Adicionalmente, o 286 podia manusear até 16 bits de dados simultaneamente, através de um barramento de dados com o dobro do tamanho do 8088.
Outra das inovações do i286 era o facto de ter dois modos de operação, “o modo real” e o “modo protegido2. Estes dois modos eram de tal forma distintos que poderíamos pensar que tínhamos dois processadores diferentes num só, senão, vejamos: em modo real, o 286 actua essencialmente como se tratasse de um 8086/88, além de ser totalmente compatível com o 8086/88 no seu código máquina.
No modo protegido era um processador totalmente diferente. Neste modo, um programa desenhado para o i286 trabalha como se conseguisse endereçar 1GB de memória, memória virtual incluída. No entanto, o i286 só é capaz de endereçar 16 MB de memória. Um ligeiro senão neste cenário era o simples facto de o i286 não pode mudar de modo protegido para o real, sem que fosse feito um reset ao sistema. No entanto, podia mudar de modo real para protegido sem o reset.
3.5.4 80287
O 80287 era o coprocessador matemático desenhado para trabalhar com o i286. Este circuito integrado era em tudo idêntico ao seu congénere 8087, isto é, continha as mesmas capacidades de processamento internas do 8087, mas a interface foi modificada de modo a trabalhar com o i286.
Ao contrário do 8088 e 8087, o i286 e o 80287 não trabalham sincronizados. A interface é assíncrona e menos eficiente que a do 8087. Além do mais, o circuito interno do i286 divide a frequência do relógio de sistema por 2 e o 80287 divide essa mesma frequência por 3. Devido a isso, muitos computadores trabalhavam com 80287 a 1/3 da velocidade do sistema, ou 2/3 da velocidade do i286.
Como já se disse, o i286 e o 80287 trabalham assincronamente e, como tal, podem trabalhar a velocidades diferentes um do outro. No desenho do i286, há um pino de entrada através do qual ele recebe o sinal de relógio. Este sinal é dividido por 2 no interior do processador e gera o sinal de relógio do processador. O 80287 tem dois modos de entrada de sinal de relógio: se o 80287 trabalha com o mesmo sinal de relógio que o i286, o seu circuito interno divide o sinal de relógio de sistema por 3; se desejarmos uma maior performance do 80287, no desenho da placa principal do computador, podemos usar um 80284, que é o circuito gerador de relógio e um oscilador separados para o 80287. Mas, caso a placa não seja desenhada especificamente para isso, o 80287 trabalhará a 2/3 da velocidade do i286.
Na tabela 3.7 podemos ver as velocidades de relógio do i286 e do 80287 em MHz, para computadores tipo AT.
Relógio de Sistema em MHz
Relógio i286 em MHz
Relógio 80287 em MHz
12,00
6,00
4,00
16,00
8,00
5,33
20,00
10,00
6,67
24,00
12,00
8,00
32,00
16,00
10,67
Tabela 3.7 – Velocidades de relógio para os i286 e 80287
3.5.5 80386
O 80386 ou i386 revolucionou em parte a indústria dos PC devido aos melhoramentos de performance que trouxe para os computadores pessoais, começando pelo facto de ser um processador de 32 bits optimizado para operar a alta velocidade e para sistemas operativos multitarefa.
O i386 pode executar instruções 8088 em modo real, mas em menos ciclos de relógio. Tema a mesma eficiência que o i286 para a execução dessas instruções, o que quer dizer que uma instrução média demora cerca de 4,5 ciclos de relógio para ser executada. Em termos de performance bruta, o 228 e o 386 estão praticamente a par um do outro. No entanto, o i386 oferecia uma melhor performance de outros modos, principalmente devido a alguns modos adicionais de software e a uma unidade de gestão de memória (MMU – Memory Management Unit) aperfeiçoada.
Contrariamente ao i286, o i386 pode mudar de e para um modo protegido sob o controlo de software sem necessidade de um reset do sistema, uma capacidade que torna a utilização do modo protegido muito mais prática. Além disso, o i386 tem um novo modo, chamado “modo virtual”, que permite ter várias sessões em modo real a correr simultaneamente sob modo protegido.
Além da velocidade de processamento, a característica mais importante deste processador são os seus modos de operação:
Ø Modo real – Quer seja no i826 ou no i836, o modo real é compatível com o 8086/88. Neste modo, o i386 comporta-se como um PC muito rápido com 640 KB de memória convencional, isto é, comporta-se exactamente como um 8088. Não devemos esquecer que, independentemente do processador, qualquer aplicação em DOS necessita deste modo para correr.
Ø Modo protegido – Este modo é totalmente compatível com o modo protegido do i286. Normalmente este modo é designado como modo nativo, isto porque tanto o i826 como o i836 foram desenhados para operar sistemas operativos avançados como o Windows NT ou OS/2 da IBM, que trabalham somente em modo protegido. No i386, as capacidades de endereçamento de memória em modo protegido foram melhoradas com uma nova MMU que permite uma paginação de memória mais avançada. Estas características são extensões à MMU do i286.
Ø Modo real virtual – Este modo é novo. Em modo real virtual, o processador pode trabalhar com protecção de memória física enquanto simula o modo real do 8088. Assim, neste processador podemos correr múltiplas cópias do DOS ou de outros sistemas operativos, cada uma numa área protegida da memória. Caso um programa de um segmento da memória bloqueie, o resto do sistema está protegido.
A Intel lançou algumas versões do i386, cada uma com características próprias que a diferenciava das outras, pelo que vamos agora ver as características de cada uma delas.

Sem comentários:

Enviar um comentário