PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
Processadores e arquitetura de PCs
1. QUESTIONÁRIO 01
Tema: Processadores
1- Num processador, qual é a função do coprocessador aritmético? Em quais
aplicativos ele é importante?
Num processador atual, o coprocessador aritmético cuida de todas as instruções que
manipulam dados de precisão ou funções aritméticas complexas. Este tipo de cálculo é
usado intensivamente em todos os jogos 3D, vários programas gráficos e aplicativos
científicos. Na época do 386 muitos destes programas vinham com funções para simular
um coprocessador aritmético, caso não houvesse nenhum instalado, estas funções
usavam várias instruções de inteiros para conseguir o resultado de apenas uma instrução
de ponto flutuante. O aplicativo rodava, só que umas 20 vezes mais devagar.
2- Qual é a diferença entre o cache L1 e o cache L2? Por que existe esta separação?
Por limitações no número de transístores que é possível colocar dentro de um
processador. Apesar de ajudar muito na performance, o cache L1 ocupa muito espaço,
são necessários vários transístores para cada bit de dados. Se fosse adicionada uma
quantidade muito grande, o processador se tornaria muito grande, difícil e caro de se
produzir. Por ser mais lento, o cache L2 tem uma densidade maior, ou seja, são
necessários menos transístores para cada bit de dados. É por isso que mesmo hoje em
dia, onde a maioria dos processadores trazem tanto cache L1 quanto cache L2
integrados, o cache L2 é sempre mais lento, e por isso existe em maior quantidade. Um
Athlon Thunderbird por exemplo, tem de esperar 9 ciclos cada vez que for acessar o
cache L2, contra apenas 3 ciclos quando acessa o cache L1. Se precisar acessar a
memória RAM a coisa desanda, são precisos 40, 60 ciclos, dependendo da freqüência do
processador.
Além dos caches, o processador também conta com os registradores, que são pequenas
áreas de memória que armazenam dados que estão sendo processados. Tudo funciona
de modo que enquanto espera os 3 ciclos para acessar o cache L1, o Athlon possa
manter-se ocupado processando dados que estão armazenados nos registradores. Ele
perde um tempo considerável apenas quando precisa acessar a memória RAM.
3- Por que um 486 é mais lento do que um Pentium do mesmo clock. Cite pelo
menos dois motivos.
Em primeiro lugar, o 486 processa apenas uma instrução por ciclo, de forma seqüencial,
enquanto o Pentium processa duas. O Pentium tem mais cache L1, o barramento com o
cache é mais largo, o acesso à memória RAM é feito a 64 bits, contra 32 bits no 486, no
Pentium a memória RAM, junto com o cache L2 da placa mãe operam a 60 ou 66 MHz,
dependendo da versão, enquanto no 486 operam a 25, 30, 33 ou 40 MHz, dependendo
da versão. O coprocessador aritmético do Pentium também é muito mais rápido, segundo
informações da Intel chega a ser de 5 a 6 vezes mais rápido que o coprocessador que
equipa o 486DX.
2. 4- Presumindo que haja espaço livre suficiente no disco rígido, seria possível
instalar e usar o Windows 95 num 386? Justifique.
Os requisitos mínimos de instalação do Windows 95 A são um 386 com 4 MB de memória
e 60 MB livres no HD. Isso é o mínimo para instalar o Windows 95, usa-lo já é outra
história. Só uma curiosidade, algumas das primeiras séries do 386DX, pelo que sei
apenas alguns dos modelos de 20 MHz, tinham um bug que afetava algumas das
instruções de 32 bits, estes não rodam Windows 95 nem com macumba :-) A intel trocou a
maioria, mas ainda devem existir alguns por aí.
5- Se você respondeu "sim" à pergunta anterior, explique por que não seria
possível instalar o Windows 95 num 286. Se respondeu "não", explique as
diferenças de arquitetura entre o 386 e o 486.
O 286 ainda é um processador de 16 bits. Mas de qualquer forma, é possível rodar um
Windows 3.1 em modo Standard, se servir de consolo :-) As diferenças entre o 386 e o
486 são várias, mas as principais são que o 486 já traz cache L1 e coprocessador
aritmético integrados (a exceção é o 486SX, uma versão de baixo custo, sem o
coprocessador). Outra diferença interessante é que o 486 possui 5 estágios de pipeline,
enquanto o 386 é monoestágio. Isso permite que o 486 perca menos tempo ao processar
instruções complexas. Na prática, um 486 é pelo menos umas duas vezes mais rápido
que um 386 da mesma freqüência, bem mais do que isso em alguns aplicativos.
6- Quais eram as diferenças entre o K6-2 e o K6-3? Por que o K6-3 saiu de linha
antes do K6-2?
O K6-3 tinha um cache L2 de 256 KB, full speed embutido, de resto era igual ao K6-2. O
cache melhorava o desempenho do processador, mas ao mesmo tempo o encarecia. Na
época, o K6-2 era o processador de baixo custo da AMD, enquanto o K6-3 era o High-
end, uma alternativa ao Pentium III. Mas, logo depois a AMD lançou o Athlon, que era
bem mais rápido que um K6-3.
Um dos dois tinha que ser descontinuado e sobrou para o K6-3. O K6-2 continuou sendo
produzido, mantendo sua posição de processador de baixo custo, mas já vem sendo
rapidamente substituído pelos Durons, que além de muito mais rápidos, chegam a ser
mais baratos.
7- Por que, a partir do 386, todos os processadores usados em micros PC são
compatíveis entre si?
Todos são compatíveis com o mesmo conjunto básico de instruções, o x86. Apesar de
cada processador ter suas particularidades, todos entendem esta mesma língua.
3. 8- Por que as instruções MMX ajudam apenas em alguns aplicativos?
É preciso que o aplicativo seja otimizado para o MMX, caso contrário não existe ganho
algum, as instruções simplesmente não são utilizadas. Além disso, as instruções MMX
permitem manipular dados ou executar cálculos que envolvam números inteiros, ou seja
cálculos de baixa precisão, somar dois valores de 8 bits por exemplo, não servem para
manipular gráficos 3D, nem mesmo para compactar vídeo usando algoritmos mais
complexos (o Divx;-) por exemplo) sem perda de qualidade.
9- Qual é a diferença entre as instruções MMX e as instruções 3D-Now! criadas pela
AMD?
Ambos os conjuntos de instruções visam aproveitar melhor os recursos do processador,
permitindo executar mais instruções por ciclo. A diferença entre as duas é que as
instruções MMX ajudam em instruções envolvendo números inteiros, pontos de imagem
em um programa gráfico 2D por exemplo, enquanto as instruções 3D-Now! ajudam em
jogos e outros aplicativos que manipulam gráficos tridimensionais ou cálculos científicos,
que manipulam cálculos que envolvam maior precisão. Os processadores AMD, apartir do
K6-2 suportam tanto o MMX quanto o 3D-Now!, o Athlon trouxe algumas instruções 3D-
Now! novas, melhorando um pouco a eficiência do conjunto, enquanto os Pentium III e
Pentium 4 trazem as instruções SSE, um conjunto bem mais complexo, que combina
instruções de inteiros e de ponto flutuante, além de contarem também com as velhas
instruções MMX, que hoje em dia não servem pra muita coisa de qualquer forma.
10- O Pentium, assim como a maioria dos processadores posteriores, acessa a
memória a 64 bits. Isto permite classifica-lo como um processador de 64 bits?
Justifique.
Não, pois o que conta é a quantidade de dados que o processador pode manipular, não a
velocidade de acesso à memória. Na verdade, como a memória RAM é muito mais lenta
que o processador, um acesso de 64 bits à memória pode demorar até 60 ciclos de
processamento num processador atual. O barramento de dados com os caches costuma
ser ainda maior, o Pentium 1 por exemplo tem um barramento total de 512 bits com o
cache L1. Esta banda toda tem como objetivo permitir que os dados possam ser
transmitidos mais rápido, evitando situações em que o processador fique sem dados para
processar. Além disso, não podemos esquecer que os processadores atuais executam
várias instruções por ciclo, necessitando de doses cavalares de dados para manterem-se
ocupados.