Home » Artigos arquivados » 1997 – Acelerando o desempenho do processador

1997 – Acelerando o desempenho do processador

Autor: Laércio Vasconcelos
Dezembro/1997

Indicado para micros antigos, Pentium e anteriores. O artigo mostra alguns ajustes que podem ser feitos no CMOS Setup que são relacionados com a velocidade do processador e das memórias.

OBSERVAÇÃO ATUALIZADA (2006):
Os programas de benchmark citados nesse artigo não estão mais disponíveis. Use programas mais novos, como o PCMark 2002, obtido gratuitamente em www.futuremark.com.

 

O PC está lento

Um PC pode estar lento por culpa do disco rígido. Imagine que você está utilizando o Windows 95 e observa que todas as operações de acesso ao disco rígido (quando acende o LED na parte frontal do gabinete) são extremamente demoradas. Demora o carregamento de programas, demora a leitura e gravação de arquivos. De nada adianta o microprocessador estar executando os programas em alta velocidade, se o disco rígido demora tanto tempo assim para acessar os programas e dados.

Um PC pode estar lento por culpa da placa de vídeo. Em ambiente Windows, as operações de movimentação de dados na tela ficam muito demoradas quando existe algo de errado com o desempenho da placa de vídeo. Os jogos de ação que operam sob o MS-DOS também são prejudicados, perdendo a continuidade de movimentos. De nada adianta o microprocessador ser veloz para processar os dados, se tanto tempo é consumido na tarefa de apresentá-los na tela.

Finalmente, um PC pode estar lento por insuficiência de memória. Este efeito ocorre principalmente no Windows. Programas para MS-DOS, quando não encontram memória suficiente, simplesmente se recusam a funcionar, apresentando uma mensagem de erro (Not Enough Memory, ou Memória Insuficiente). Já os programas para Windows utilizam a memória virtual, uma técnica que consiste em usar uma área do disco rígido para simular memória RAM. Um PC equipado com 8 MB de RAM, usando memória virtual de 24 MB, parecerá ter 32 MB de memória. Entretanto, o acesso à memória virtual é muito demorado, já que o disco rígido é centenas de vezes mais lento que a RAM. A única solução para este problema é uma expansão de memória.

Já o problema da lentidão do microprocessador é muito sério. Quando a CPU está lenta, também serão lentos os acessos a disco, ao vídeo e à memória, mesmo que o PC possua um disco rígido de alto desempenho, uma placa de vídeo bem veloz e uma generosa quantidade de memória RAM.

Quando percebemos, ou mesmo desconfiamos que um PC está lento, a culpa pode ser do microprocessador, da placa de vídeo, do disco rígido, ou mesmo de memória insuficiente. Para saber quem é o culpado, temos que fazer uso de programas medidores de desempenho, como os discutidos no capítulo 2. Quando o microprocessador apresenta um desempenho baixo, não devemos levar em conta as medidas de desempenho realizadas sobre o disco rígido e a placa de vídeo, o seu problema de lentidão provavelmente será resolvido quando o desempenho do microprocessador for ajustado corretamente. Usamos portanto o seguinte roteiro de testes:

1. Medimos inicialmente o desempenho do microprocessador. Se estiver abaixo do esperado, em comparação com outros PCs semelhantes (de mesmo microprocessador e mesmo clock), partimos para investigar os problemas e fazer ajustes, como é explicado neste capítulo.

2. Se o desempenho do microprocessador está dentro dos padrões esperados, fazemos as medidas de desempenho dos demais componentes do PC. Podemos agora tentar fazer os ajustes explicados nos capítulos seguintes, visando melhorar o desempenho desses componentes.

O desempenho normal

Vários programas medidores de desempenho mostrados no capítulo 2 podem ser usados para verificar o desempenho da CPU. Este desempenho depende basicamente da CPU propriamente dita (ou seja, o microprocessador), da memória RAM e da memória cache. Confrontamos os resultados obtidos com os de outros PCs de mesma classe. A tabela que se segue pode ajudar bastante nesta verificação. Ela mostra quais são os índices de velocidade que diversos microprocessadores apresentam ao serem analisados pelos principais programas de benchmark:

Norton Sysinfo 8.0 para MS-DOS
Norton Sysinfo para Windows 95
Checkit 3.0
Checkit 4.0
PC Benchmark 9.0 para DOS
Winbench 97
Wintune 97

Microprocessador e clock

Norton SI 8.0

Norton 95

Checkit 3.0

Checkit 4.0

Bench 9.0

WBench 97

Wintune 97

Pentium-200 MMX

680

55

480

690

460

420

380

Pentium-200

640

48

460

660

415

360

350

Pentium-166 MMX

560

43

390

570

380

350

330

Pentium-166

525

40

380

550

340

320

300

Pentium-150

475

35

340

500

320

290

270

Pentium-133

420

32

310

430

280

260

240

Pentium-120

380

28

270

400

260

210

210

Pentium-100

320

24

230

330

210

190

180

Pentium-90

285

21

200

300

190

170

160

Pentium-75

240

18

170

250

160

150

140

Pentium-66

210

16

150

220

140

120

Pentium-60

190

14

130

200

130

110

586-133

290

16

180

260

110

140

140

486DX4-120

260

14

160

230

100

130

110

486DX4-100

216

12

140

190

85

110

90

486DX2-80

174

10

110

160

70

85

75

486DX4-75

163

9

105

150

65

75

70

486DX2-66

144

6

95

130

55

55

65

486DX2-50

108

5

70

100

42

40

50

486DX-40

87

4

55

80

35

32

40

486DX-33

72

45

65

27

25

35

486DX-25

54

35

50

25

20

25

Quando o índice medido no seu PC estiver muito próximo, ou até 10% menor que o indicado nesta tabela, significa que não há motivo para preocupação. O desempenho estará otimizado, ou então poderá ser melhorado de forma quase imperceptível através de ajustes no CMOS Setup. É o caso, por exemplo, de um 486DX4-100 que esteja marcando 197 medido pelo Norton SI para MS-DOS. A tabela mostra o índice 216 para este microprocessador. Descontando 10% deste valor, temos como resultado 195. O índice 197 está portanto dentro de uma faixa aceitável.

Quando existe algum erro grosseiro na configuração do CMOS Setup, a degradação no desempenho é bastante significativa. Poderá chegar a valores tão altos como 20, 30 ou mesmo 50%. Imagine por exemplo um Pentium-133, cujo desempenho medido pelo Norton Sysinfo para Windows 95 seja 24. Esta degradação é muito grande, igual a:

(36-24)/36 x 100% = 33%

Uma degradação tão alta como esta só pode ser causada por um erro grosseiro. Por exemplo, a cache externa pode estar desabilitada, ou mesmo inexistente. É também possível que a cache externa esteja habilitada, mas seus acessos estejam sendo feitos com um número de ciclos muito acima do necessário.

Quando o desempenho da CPU está baixo, devemos partir para ajustes no CMOS Setup, visando melhorá-lo.

Ajustes e envenenamentos

Todas as técnicas para aumentar o desempenho do microprocessador envolvem alterações no CMOS Setup. Você poderá encontrar no CMOS Setup do seu computador, praticamente todos os comandos mostrados aqui. Também é possível que, dependendo da marca e do modelo do seu computador, o CMOS Setup não possua vários deles, ou até mesmo que não possua nenhum deles. Isto ocorre muito com os computadores de marcas famosas. Alguns fabricantes realizam suas próprias otimizações no CMOS Setup, visando obter o melhor desempenho possível, e deixam essas otimizações permanentemente programadas, sem que o usuário possa modificá-las. Existem também casos de fabricantes famosos que, para não terem dores de cabeça, programam muitos dos itens do CMOS Setup nas opções mais lentas possíveis (ou de forma intermediária entre a mais lenta e a mais rápida), com o objetivo de minimizar a possibilidade da ocorrência de defeitos. Realmente, otimizações no CMOS Setup feitas sem critério podem melhorar o desempenho mas reduzir a confiabilidade. É possível entretanto otimizar o desempenho, mas ainda mantendo a confiabilidade do computador. Finalmente, muitos fabricantes preferem não colocar diversos comandos no CMOS Setup, com a intenção que o usuário os altere, resultando em mau funcionamento, sendo esses fabricantes obrigados a prestar assistência técnica para corrigir o problema.

Se você possuir um computador de marca famosa, desprovido de comandos de ajuste no CMOS Setup, e verificar que o desempenho do seu microprocessador está abaixo do esperado, dê uma olhada no capítulo 7. Lá falaremos sobre um programa que permite acessar e alterar as informações do CHIP CMOS, mesmo que o CMOS Setup do computador esconda essas informações.

Você deve ter muito cuidado ao fazer ajustes no CMOS Setup, pois uma programação mal feita poderá fazer o computador deixar de funcionar. Em casos extremos, existe até mesmo o risco de perda de dados. Para maior segurança, siga as seguintes regras:

1. Tenha o máximo de atenção ao fazer alterações no CMOS Setup.

2. Antes de fazer alterações, anote todos os valores previamente programados. Desta forma será possível reverter alterações que venham a resultar em problemas.

Certos itens do CMOS Setup podem ser alterados com segurança, sem nenhum tipo de risco. É o caso, por exemplo, da habilitação da cache interna. Outros itens, se modificados sem critério, poderão tornar instável o funcionamento do computador. É o caso, por exemplo, dos ciclos de acesso à memória. Quanto menor for o número de ciclos, mais rápido será o acesso à memória, mas se diminuirmos demasiadamente, podemos causar mau funcionamento na memória. Alterar itens como este é uma operação que deve ser considerada como um “envenenamento”. Se envenenarmos demasiadamente, podemos tanto ganhar velocidade como instabilidade.

A melhor forma de verificar se um determinado “envenenamento” é seguro, é testar o computador antes de decidir por efetivá-lo. Digamos que ao alterar um certo item “envenenativo” do CMOS Setup, tenhamos conseguido melhorar o índice de velocidade em 10%. Um aumento como este é altamente desejável. Devemos deixar o computador em teste durante algum tempo, e se tudo correr bem, adotamos a alteração como sendo segura e permanente. Se por outro lado, problemas diversos ocorrerem, como travamentos (o computador simplesmente paralisa todas as suas atividades, sendo necessário usar o botão Reset) e GPFs (falhas gerais de proteção no Windows), é melhor desfazer a alteração. Da mesma forma, quando fazemos uma alteração duvidosa e o desempenho do computador permanece inalterado, ou apresenta um ganho insignificante, é melhor desfazer a alteração.

Como sabemos, o CMOS Setup é um programa que fica armazenado em uma memória ROM, na placa de CPU, utilizado para realizar programações relativas ao funcionamento do PC, a nível de hardware. Com ele, podemos informar os parâmetros do disco rígido, a velocidade de acesso às memórias e ao disco rígido, ativar ou desativar a cache interna e a externa, etc. Todas essas informações são então armazenadas na memória RAM do chip CMOS.

Em geral, para executar o CMOS Setup, devemos reinicializar o computador desligando-o, ou pressionando o botão Reset, ou usando a seqüência Control-Alt-Del. Entretanto, tome cuidado para não fazer isto dentro do Windows 95. A forma correta de fazê-lo neste caso é usando o comando Desligar e escolhendo a opção Reiniciar o computador.

ART18-01

Figura 1 – CMOS Setup com apresentação em modo texto.

ART18-02

Figura 2 – Outro exemplo de CMOS Setup.

ART18-03

Figura 3 – CMOS Setup com apresentação gráfica.

Durante a contagem de memória realizada no início do boot, é apresentada em geral uma mensagem como:

Press DEL to run Setup

Em alguns casos, a mensagem pode ser omitida (e mesmo assim ser aceito o uso da tecla DEL durante a contagem de memória para executar o CMOS Setup), e em outros casos, pode ser utilizada outra tecla ou combinação de teclas para executar o CMOS Setup.

Pressionada a tecla apropriada, será executado o CMOS Setup. Sua tela principal pode ter diversos aspectos, como os exemplificados nas figuras 1, 2 e 3. O aspecto dependerá do fabricante que criou o programa Setup (AMI, Phoenix, Award, etc), e da sua versão.

Nos diversos programas de Setup, encontramos diversas seções, entre as quais as principais são:

1) Standard CMOS Setup

Aqui não encontraremos nenhum comando relacionado com o desempenho. Seus comandos dizem respeito à definição dos drives de disquete, os parâmetros geométricos do disco rígido (número de cabeças, número de cilindros e número de setores), e à definição de data e hora.

2) Advanced CMOS Setup

Entre os diversos comandos desta área, podemos encontrar alguns relacionados com o desempenho. Aqui são feitas, por exemplo, as habilitações das caches interna e externa.

3) Advanced Chipset Setup

Nesta área existem muitos comandos que têm influência direta no desempenho, como por exemplo, a definição dos ciclos de acesso à memória.

Ajustes no CMOS Setup

Citaremos a seguir diversos itens do CMOS Setup que têm influência no desempenho do microprocessador. Você deverá procurar onde estão localizados no Setup do seu computador. Fique atento, pois existem muitas diferenças entre os Setups dos diversos computadores existentes.

Como já dissemos, existem itens do Setup que podem ser ajustados com total segurança, sendo inofensivos ao bom funcionamento do computador. Outros itens, se forem ajustados inadequadamente, podem fazer o computador deixar de funcionar. Nos itens que descrevemos a seguir, colocamos as indicações “seguro” e “cuidado”, para que você possa identificá-los com mais facilidade. Certos itens, apesar de seguros e não consistirem em envenenamentos, são dependentes do hardware do PC, como por exemplo, a quantidade e o tipo de memória. Indicaremos esses itens como “opção de hardware”.

a) Habilitação das caches (seguro)

Quando uma das caches (interna ou externa) ou ambas estão desabilitadas, a queda no desempenho é muito acentuada. Todos os microprocessadores 486 e superiores possuem cache interna, e não faz sentido algum operar com esta cache desabilitada. Sem ela, o computador poderá ficar tão lento quanto um PC 286. É 100% seguro, recomendável e necessário habilitar a cache interna (se você não vai usar a cache interna, porque não comprou um 286 de segunda mão, ao invés de um Pentium?).

A cache externa também deve ser habilitada. Sem ela, o PC estaria operando apenas com a cache interna. O resultado é que o desempenho poderá ficar até 50% menor. Por exemplo, um Pentium-166 sem cache externa poderá ficar tão lento quanto um Pentium-100. É perfeitamente seguro e recomendável ativar a cache externa, a menos que esta se encontre defeituosa. Teríamos então uma pane de hardware, e a solução ideal não é desabilitá-la, e sim, providenciar o seu conserto, que poderá consistir em uma troca de chips, ou mesmo a troca da placa de CPU (no caso em que os chips de memória cache estão soldados na placa de CPU). Este caso é entretanto muito raro, pois dificilmente a cache apresenta defeitos.

Em geral, a ativação das caches é encontrada no Advanced CMOS Setup, da seguinte forma:

Internal Cache: Enabled / Disabled
External Cache: Enabled / Disabled

Cada uma dessas duas caches pode ser habilitada (Enabled) ou desabilitada (Disabled). Para obter o máximo desempenho, devemos deixar ambas habilitadas.

Ao comparar o desempenho de um PC com cache e sem cache, tome muito cuidado com o tipo de programa que você irá utilizar. Programas que operam em ambiente Windows (exceto o Wintune) detectam o desempenho corretamente, em qualquer tipo de PC, mas muitos dos que operam sob o MS-DOS não detectam corretamente o desempenho em PCs 586 e superiores. Como já abordamos no capítulo 2, o Wintune não percebe a diferença entre um PC com cache externa ou sem cache externa, caso o microprocessador usado seja um 586 ou superior. Veja por exemplo os resultados medidos com diversos programas usando diversas configurações de cache. Usamos como exemplo uma placa de CPU Pentium-133.

Pentium-133

Programa Sem cache Só interna Interna e externa
Norton SI para DOS 15 423 423
Checkit 3.0 (CPU) 14,6 342 342
Checkit 4.0 (CPU) 22 414 432
PC Bench 9.0 para DOS 11,7 187 287
Winbench 97 (16 bits) 13,3 162 288
Winbench 97 (32 bits) 17,4 153 289
Norton Sysinfo 95 2,0 15,8 33,8
Wintune 97 15 230 245

Estamos usando nos testes, os seguintes programas:

Norton Sysinfo 8.0 para MS-DOS
Checkit 3.0, teste de velocidade da CPU
Checkit 4.0, teste de velocidade da CPU
PC Benchmark 9.0 para DOS, teste CPUMark16 (operações de 16 bits)
Winbench 97, teste CPUMark 16
Winbench 97, teste CPUMark 32
Norton Sysinfo para Windows 95
Wintune 97

Observe que não usamos o Winstone nesses testes. Pudera, pois este programa, apesar de muito avançado, faz medidas que envolvem a CPU, o disco rígido e a placa de vídeo, e no momento estamos interessados em medir e maximizar apenas o desempenho do microprocessador.

A tabela pode parecer confusa, com tantos números diferentes. Para facilitar a análise, vamos atribuir ao índice máximo de cada caso, o valor 100%, e para os valores inferiores, porcentagens proporcionais. A tabela passa então a apresentar o seguinte aspecto:

Pentium-133

Programa Sem cache Só interna Interna e externa
Norton SI para DOS 3,3% 100% 100%
Checkit 3.0 (CPU) 4,2% 100% 100%
Checkit 4.0 (CPU) 5% 96% 100%
PC Bench 9.0 para DOS 4% 65% 100%
Winbench 97 (16 bits) 4,6% 56% 100%
Winbench 97 (32 bits) 6% 53% 100%
Norton Sysinfo 95 6% 47% 100%
Wintune 97 6% 94% 100%

Os resultados são bastante interessantes. Todos os programas concordam que sem a cache interna nem a externa, o desempenho do computador torna-se extremamente baixo, menor que 6% do seu valor normal. O Norton SI para MS-DOS e o Checkit 3.0 não percebem diferença no desempenho quando o PC não possui ou não utiliza cache externa. O Checkit 4.0 e o Wintune percebem uma degradação muito pequena (alguns fabricantes de PCs que não possuem cache externa podem usá-los para apresentar publicamente suas medidas de desempenho). Já os demais programas citados percebem a queda acentuada no desempenho do computador quando não existe cache externa, ficando praticamente reduzido à metade. Entre todos os programas medidores para MS-DOS, apenas o PC Benchmark 9.0 percebe a degradação que ocorre quando a cache externa não é usada.

Apesar da deficiência apresentada pelo Norton SI para MS-DOS e pelas duas versões citadas do Checkit, você pode utilizar esses programas quando o computador a ser testado for um 486DX2-80 ou inferior. O Wintune é indicado para PCs 486 e inferiores. Para PCs equipados com um 486DX4-100 ou qualquer outro superior, evite usar o Checkit e o Norton SI para MS-DOS, pois as medidas que realizam não são precisas, já que dependem praticamente apenas do microprocessador e da cache interna.

Mesmo que você não faça medida alguma no desempenho da CPU, uma regra é sempre válida: habilitar a cache interna e a cache externa é o caminho para chegar ao máximo desempenho possível.

b) Modo de operação das caches (seguro)

Tanto a cache interna como a externa podem operar em dois modos: Write Trhrough (acelera apenas as operações de leitura) e Write Back (acelera as leituras e as escritas). Nas primeiras versões do 486, a cache interna operava no modo Write Through. O 486DX4-100 da Intel foi o primeiro a ter sua cache interna operando no modo Write Back. As versões mais recentes do 486 (100 e 120 MHz), bem como o 586 e o Pentium, possuem caches internas que operam no modo Write Back, resultando em um pequeno aumento no seu desempenho. Você poderá encontrar em alguns Setups, um item que define se a cache interna irá operar em Write Back ou Write Through. Sempre que esta opção for oferecida, devemos usar o modo Write Back.

Também a cache externa possui esses dois modos de funcionamento. Nas placas de CPU mais antigas, esta cache operava exclusivamente no modo Write Through, mas nas mais recentes é padrão a operação no modo Write Back. Algumas placas de CPU permitem que o usuário escolha se a cache externa irá operar no modo Write Through ou no Write Back. Muitas vezes, esta escolha é feita por hardware, através de jumpers na placa de CPU, e o fabricante já utiliza, por default, o modo Write Back. Existem entretanto casos em que esta escolha é feita pelo CMOS Setup, e devemos sempre optar pelo modo Write Back, conseguindo assim, um desempenho mais elevado.

Veja por exemplo os índices de desempenho medidos em um certo 586 de 133 MHz com as duas modalidades de cache externa.

AMD 5×86-133

Programa Write Through Write Back Ganho
PC Bench 9.0 para DOS 108,23 113,9 +5,2%
Winbench 97 (16 bits) 119 121 +2%
Winbench 97 (32 bits) 117 119 +2%
Norton Sysinfo 95 14,4 15,0 +4,1%

Observe que os ganhos são bastante pequenos, mas mesmo assim muito bem vindos, já que não necessitam de nenhum tipo de alteração de hardware. Além disso, a ativação do modo Write Back não é um “envenenamento”, sendo portanto perfeitamente segura.

c) Tipo e tamanho da cache externa (opção de hardware)

De um modo geral, quanto maior é o tamanho da cache externa (e da interna também), maior é o desempenho. Não é possível aumentar o tamanho da cache interna de um microprocessador, já que esta fica localizada no seu interior. Já no caso da cache externa, o usuário em geral possui opções de maior e menor tamanho. Antes de comprar um PC, devemos sempre optar pelo maior tamanho possível, principalmente levando em conta que a diferença de preço é muito pequena, em geral inferior a 20 dólares. Veja por exemplo na tabela que se segue, algumas medidas de velocidade feitas sobre um Pentium-133, primeiro usando 256 kB, e depois usando 512 kB de cache externa. Acrescentamos também a porcentagem experimentada no índice de velocidade devido ao uso da cache maior.

Pentium-133

Programa 256 kB 512 kB Ganho
PC Bench 9.0 para DOS 281 287 +2%
Winbench 97 (16 bits) 264 288 +9%
Winbench 97 (32 bits) 255 289 +13%
Norton Sysinfo 95 31,4 33,8 +7%

Nem adianta tentar medir a diferença usando o Norton SI para DOS, o Checkit 3 ou o Checkit 4. Esses programas apresentarão os mesmos resultados, com maior ou com menor quantidade de cache. Já o PC Bench 9.0 para DOS consegue perceber nos seus testes um ganho de desempenho da ordem de 2%. Nas operações típicas para Windows, o ganho de desempenho proporcionado pela cache de 512 kB é ainda maior, variando entre 7% e 13%. Tomemos como valor aproximado, uma média de 10%. Podemos então afirmar que com uma cache externa de 512 kB, o PC fica aproximadamente 10% mais veloz que se tivesse apenas 256 kB. A diferença de preço é menor que 20 dólares (1% do preço, levando em conta um PC de 2000 dólares). É muito vantajoso pagar 1% mais caro para ter 10% a mais no desempenho. Portanto, ao comprar um computador, exija a maior quantidade de memória cache permitida. Nas placas de CPU Pentium atuais, são em geral oferecidas as opções de 512 kB e 256 kB de cache externa. Nas placas de CPU 486 e 586, predomina o uso de caches externas de 256 kB, mas alguns modelos oferecem apenas 128 kB. Sempre escolha a opção de maior quantidade de cache.

Considere agora que você já possui um PC Pentium equipado com 256 kB de cache, ou um PC 486/586 equipado com 128 kB. A questão é, vale a pena fazer uma expansão de cache para obter um ganho de cerca de 10% no desempenho? O custo desta expansão não será elevado, podendo ser próximo de 20 dólares (quando for possível acrescentar 256 kB aos 256 kB já existentes), ou próximo de 40 dólares (quando for preciso retirar a cache antiga de 256 kB para instalar uma nova de 512 kB). Quando o usuário possui experiência com instalações de hardware, e tem condições de comprar o tipo de memória correto (nem sempre vamos conseguir chegar em uma loja e pedir: quero comprar 256 kB de cache!), a expansão de cache é compensadora. Quando o usuário não tem experiência, ou quando não pode comprar sua nova cache em um revendedor que possa assegurar a sua compatibilidade com a placa de CPU, a expansão de cache pode ser uma grande dor de cabeça, e não valerá a pena.

Outra questão importante é o tipo de cache a ser utilizado. Até aproximadamente o final de 1995, todos os chips usados para formar a cache externa eram do mesmo tipo, chamados de SRAM Assíncrona (Assynchronous SRAM). Em 1996 tornou-se comum o uso de um outro tipo de memória mais veloz, chamado de Pipelined Burst RAM. Quando a memória cache é formada por este tipo de chip, passa a ser chamada de Pipelined Burst Cache. Podemos encontrar este tipo de cache nas placas de CPU Pentium modernas. Essas placas são capazes de operar, tanto com caches assíncronas como com as do tipo Pipelined Burst. Ao comprar uma placa de CPU Pentium, exija que seja usada uma Pipelined Burst Cache.

Não adianta instalar este tipo de cache em placas de CPU que não a suportam. Todas as placas de CPU produzidas em 1995 e antes desta época, todas as placas de CPU 486 e inferiores e todas as placas de CPU 486/586 modernas, mesmo que de fabricação recente, só suportam memória cache do tipo assíncrono. Por isso muitos vendedores usam informalmente os termos “cache para Pentium” (Pipelined Burst Cache) e “cache para 486/586” (Assyncrhonous Cache).

d) Ciclos de acesso à cache externa (cuidado)

Este sim é o item do CMOS Setup que exerce maior influência sobre o desempenho do PC. A ligação entre a cache externa e o microprocessador é o ponto onde existe maior tráfego de dados, e qualquer melhoramento nesta área traz grandes benefícios à velocidade final do microprocessador.

Deixemos de lado as operações de escrita, e façamos a análise das leituras, já que são as operações predominantes. As transferências de dados da cache externa para o microprocessador são feitas em grupos de 4 leituras consecutivas (em PCs 486 e 586) e de 8 leituras consecutivas (no Pentium). O tempo usado em cada uma dessas leituras é medido em ciclos externos do microprocessador. Por exemplo, em um Pentium-133 (clock externo de 66 MHz), um ciclo externo dura 15 ns. Suponha que esteja sendo utilizado nessas transferências, o esquema 3-2-2-2-2-2-2-2. Isto significa que na primeira leitura serão consumidos 3 ciclos (45 ns), e em cada uma das leituras seguintes, 2 ciclos (30 ns). Desta forma, a transferência dos 8 grupos irá demorar 17 ciclos, ou seja, 255 ns. Se for usada a temporização 2-1-1-1-1-1-1-1, a mesma transferência irá demorar 9 ciclos, ou seja 135 ns, quase duas vezes mais rápida. Resta saber se a memória cache é suficientemente veloz para suportar essas transferências, ou se precisam de mais tempo, sendo obrigadas a operar no esquema 3-2-2-2-2-2-2-2. A regulagem dos ciclos de acessos à cache pode ser encontrada numa área do CMOS Setup normalmente chamada de Advanced Chipset Setup.

Tomemos como exemplo uma velha placa de CPU 486DX2-66, na qual existe no Advanced Chipset Setup o comando Cache Read Cycle. Digamos que as opções apresentadas sejam:

3-2-2-2
2-2-2-2
3-1-1-1
2-1-1-1

De todas as opções, a que resulta no maior tempo de transferência total é a 3-2-2-2. Em geral, a opção mais lenta é a escolhida como default, por questões de segurança, e não de desempenho. Se não fizermos os ajustes adequados no CMOS Setup, o computador poderá não chegar ao seu desempenho máximo. A opção mais veloz apresentada neste item é 2-1-1-1. Façamos então as medidas de desempenho usando ambas as opções.

486DX2-66

Programa 3-2-2-2 2-1-1-1 Ganho
Norton SI para DOS 99,0 132,2 33%
Checkit 3.0 (CPU) 84,2 97,6 16%

Ambos os programas usados para medir o desempenho concordam em afirmar que o ganho de velocidade obtido é bem elevado. O Norton SI apresenta uma maior sensibilidade devido ao fato de fazer muitos acessos à memória durante as medidas, enquanto o Checkit realiza menos acessos e mais operações internas.

A diminuição dos números de ciclos nos acessos à cache externa são o recurso que resulta em maior aumento de desempenho, e também é o “envenenamento” mais perigoso. Se a memória cache não suportar a operação em tempos mais curtos (ou melhor dizendo, em um número menor de ciclos), o funcionamento do computador poderá se tornar instável, passando a apresentar falhas gerais de proteção no Windows (os terríveis GPFs), e paralisações do computador, muito conhecidas como “travamentos” ou “congelamentos”. Por isso, este ajuste deve ser feito com muito cuidado.

Em alguns casos, apenas uma pequena diminuição já é suficiente para melhorar o desempenho. Por exemplo, alterando de 3-2-2-2 para 2-2-2-2. Não valerá a pena apertar mais ainda para 2-1-1-1 se o desempenho for o mesmo obtido com 2-2-2-2. Devemos então usar a opção 2-2-2-2, pois é mais segura que 2-1-1-1. O problema é ainda mais sério quando o clock do microprocessador é mais elevado. Quando o clock externo é 33 MHz (como é o caso do 486DX2-66, 486DX4-100, 5×86-133), cada ciclo vale 30 ns. Já com o clock externo de 40 MHz (486DX-40, 486DX2-80 e 486DX4-120) o ciclo dura 25 ns, ficando portanto mais apertado. Usar esquemas como 2-1-1-1 pode resultar em problemas, devido ao fato desses tempos serem muito pequenos.

No caso de PCs baseados no Pentium, são usados clocks externos de 50, 60 ou 66 MHz (veja detalhes no capítulo 1), e os ciclos duram 20, 16 e 15 ns, respectivamente. Fica portanto ainda mais difícil fazer a cache externa operar com um número menor de ciclos. Por esta razão, PCs baseados no Pentium usam caches externas com tempos de acesso inferiores a 10 ns, enquanto os baseados no 486 e no 586 podem usar caches de 15 ou 20 ns.

Nunca é demais lembrar que esta técnica é um envenenamento perigoso. Para usá-lo com segurança, os fabricantes realizam testes exaustivos antes de ficarem certos de que podem ser usados. Por outro lado, muitos fabricantes deixam de lado a questão da performance e usam o maior tempo possível, tornando o computador um pouco mais lento, e ao mesmo tempo, mais confiável. Em geral as opções mais lentas são usadas, mesmo que outras mais rápidas sejam seguras. Por esta razão encontramos muitos PCs de marcas famosas, mas com desempenho bastante inferior. Durante os últimos anos, pudemos observar várias discrepâncias nos PCs de marcas famosas: 486DX4-100 com desempenho inferior ao de um 486DX2-66, Pentium-75 com desempenho inferior ao de um 486DX4-100, Pentium-133 com desempenho inferior ao de um Pentium-100, e assim por diante. Os principais motivos que resultam nesta lentidão são a ausência de cache externa (acreditem, até hoje é praticada) e ajustes indevidos no CMOS Setup, relativos aos ciclos de acesso à memória.

e) Ciclos de acesso à DRAM (cuidado)

As transferências de dados da memória DRAM para a cache externa também são realizadas em grupos de 4 leituras consecutivas. No CMOS Setup, encontramos um item chamado DRAM Read Cycle (ciclo de leitura da DRAM). É também representado por grupos de 4 números. Por exemplo, 4-3-3-3 significa que na primeira leitura são gastos 4 ciclos, e em cada uma das três leituras seguintes, 3 ciclos. Em um PC cujo clock externo seja 33 MHz, cada ciclo dura 30 ns, portanto a opção 4-3-3-3 gasta um total de 13 ciclos, ou 390 ns. Se fosse utilizada a opção 5-4-4-4, seriam usados ao todo 17 ciclos, ou 510 ns. Economiza-se 23% de tempo usando a opção 3-2-2-2, ao invés da 5-4-4-4. Entretanto, nem sempre a memória DRAM consegue operar com ciclos de leitura tão apertados.

Escolher números menores para os ciclos de acesso à DRAM é um envenenamento. Em geral resulta em melhoramentos no desempenho, mas pode causar instabilidades. Obviamente, uma memória DRAM mais rápida terá maior chance de funcionar bem com este envenenamento. Por esta razão, devemos sempre dar preferência ao uso de memórias DRAM com 60 ns de tempo de acesso, ao invés das de 70 ns.

Em alguns Setups, ao invés de existir um item para escolher os números de ciclos a serem usados nos acessos à DRAM, existe um para definir o tempo de acesso dessas memórias. As opções apresentadas são 60 ns e 70 ns. Em função da opção escolhida, o Setup determina automaticamente como devem ser os ciclos de acesso à DRAM e passa a operar da forma apropriada.

As leituras consecutivas realizadas sobre a DRAM para transferir dados para a cache externa podem ser feitas de duas formas: em Fast Page Mode (FPM) ou em modo assíncrono. Usando o método FPM, a primeira leitura demora um certo número de ciclos, e as leituras seguintes são feitas em um tempo menor. Daí surgem esquemas como 5-4-4-4, 4-3-3-3 e 3-2-2-2. Dependendo do chipset utilizado na placa de CPU, o método FPM pode não ser suportado (todas as placas de CPU Pentium e superiores o suportam, além de muitas de 486 e 586). As memórias DRAM operam em modo assíncrono, no qual todos os acessos demoram o mesmo tempo, e são todos independentes. Neste caso, ao invés de definir no CMOS Setup esquemas como 5-4-4-4, 4-3-3-3 e 3-2-2-2, é definido o número de Wait States nos acessos à DRAM. Se a DRAM fosse suficientemente veloz, seus acessos poderiam ser feitos em apenas 2 ciclos. Em um 486DX2-66, por exemplo, e em qualquer microprocessador que utilize um clock externo de 33 MHz, cada ciclo dura 30 ns, e portanto o período mínimo de 2 ciclos para leitura da DRAM equivale a 60 ns. Nem mesmo as memórias DRAM com tempo de acesso igual a 60 ns podem operar desta forma, pois os circuitos que ligam a DRAM à cache externa e ao microprocessador também têm o seu próprio tempo de acesso, que pode variar entre 10 e 20 ns, dependendo do chipset utilizado. A DRAM precisaria ter um tempo de acesso entre 40 e 50 ns, o que não ocorre na prática (pelo menos até a popularização das novas DRAMs de 50 ns).

A solução para permitir que uma DRAM de 60 ou 70 ns possa funcionar é utilizar uma espécie de prorrogação no tempo de leitura. Esta prorrogação consiste em um número adicional de ciclos. Cada um desses ciclos adicionais é chamado de Wait State, ou estado de espera. Se as leituras fossem realizadas em apenas dois ciclos, não estaríamos usando estados de espera, e chamamos isto de 0 Wait State (ou 0 WS). Usando 1 wait state, os acessos seriam feitos em 3 ciclos. Com 2 e 3 wait states, estaríamos usando, respectivamente, 4 e 5 ciclos para os acessos à DRAM. Podemos então encontrar no CMOS Setup, um item chamado DRAM READ WAIT STATES. Em geral encontramos opções como 0 WS, 1 WS, 2 WS e 3 WS. Quando menor for o valor escolhido, mas elevado será o desempenho, mas por outro lado, a DRAM poderá não funcionar.

Usar 0 WS não é nada seguro quando o clock externo é 33 MHz ou superior, mas pode dar certo com um clock externo de 25 MHz (usado no 486DX2-50 e no 486DX4-75). Com 25 MHz, cada ciclo dura 40 ns, e com 0 WS estaríamos usando 80 ns nos acessos à DRAM, o que certamente funciona com DRAMs de 60 ns, e tem grande chance de funcionar com uma DRAM de 70 ns.

Com clocks externos de 33 MHz e uma DRAM de 60 ns, temos uma pequena chance de operar seguramente com 0 WS (quando o fabricante indica que a DRAM é de 60 ns, significa que o acesso demorará no máximo este tempo, mas pode demorar bem menos, como 50 ou mesmo 45 ns, com um pouco de sorte). Usar 0 WS neste caso é considerado um envenenamento muito perigoso, tendo chances de funcionar, mas ainda maiores chances de não funcionar. Usar 1 WS neste caso é bem mais seguro. Com cada ciclo valendo 30 ns, teríamos 90 ns ao todo para realizar as leituras da DRAM. O funcionamento é quase 100% garantido com DRAMs de 60 ns, e também muito provável que funcione também com DRAMs de 70 ns.

Com um clock externo de 40 MHz (usado por exemplo, no 486DX2-80), os ciclos duram 25 ns. Usar 0 WS é suicídio, pois resultaria em 50 ns para as leituras. Mesmo DRAMs de 60 ns “aceleradas” não poderão funcionar desta forma. É melhor usar 1 WS e DRAMs de 60 ns. Com DRAMs de 70 ns, é melhor usar 2 WS.

Toda esta discussão sobre wait states é resumida na tabela que se segue. Indicamos para cada valor de clock externo, qual é a chance de funcionamento com 0 WS, 1 WS, 2 WS e 3 WS. Incluímos também o clock externo de 50 MHz, apesar de ser raríssimo (usado no problemático 486DX-50, que deixou de ser fabricado logo que surgiu o 486DX2-50).

Para DRAM de 60 ns

Clock externo 0 WS 1 WS 2 WS 3 WS
25 MHz 99% funciona funciona funciona
33 MHz 50% funciona funciona funciona
40 MHz 0% 95% funciona funciona
50 MHz 0% 50% 99% funciona

Para DRAM de 70 ns

Clock externo 0 WS 1 WS 2 WS 3 WS
25 MHz 90% funciona funciona funciona
33 MHz 0% 99% funciona funciona
40 MHz 0% 70% funciona funciona
50 MHz 0% 0% 90% funciona

Para ilustrar como a temporização do acesso à DRAM exerce influência sobre o desempenho do PC, apresentamos a seguir diversas medidas de velocidade feitas em um PC equipado com um AMD 5×86 de 133 MHz e memórias EDO DRAM de 60 ns.

AMD 5×86-133

Wait states Norton SI 95
3 WS 12,2
2 WS 13,8
1 WS 14,5
0 WS 15,8

Em geral, quando um Setup possui a opção DRAM Read Wait States, possui também a opção DRAM Write Wait States. As medidas acima foram feitas variando o número de wait states nas leituras, e sempre com 1 WS nas escritas. Ao usarmos 0 WS na leitura e na escrita, o índice chega a 16,2.

Em geral, placas de CPU Pentium raramente permitem ajustar o esquema a ser usado nos ciclos de acesso à DRAM. Todas elas fazem transferências em Fast Page Mode, ou em uma variação bem parecida, que é o Extended Data Out (EDO). Seus clocks externos poderão ser de 50, 60 ou 66 MHz, dependendo do valor do seu clock interno. O Pentium-75 é o único que usa o clock externo de 50 MHz. As versões de 90, 120 e 150 operam externamente a 60 MHz, e as demais versões (100, 133, 166 e 200) operam externamente a 66 MHz. Os chipsets usados nas placas de CPU Pentium são todos capazes de transferir dados da DRAM em modo burst, usando esquemas como 7-2-2-2, 7-3-3-3, 6-2-2-2, 6-3-3-3, etc. O esquema a ser usado depende basicamente dos seguintes fatores:

clock externo do microprocessador
chipset existente na placa de CPU
tipo e tempo de acesso da DRAM

Por exemplo, placas baseadas no chipset i430TX oferecem as opções 5-3-3-3 para FPM DRAM, 5-2-2-2 para EDO DRAM e 5-1-1-1 para SDRAM. Já as placas baseadas no i430VX apresentam as opções 6-3-3-3, 6-2-2-2 e 7-1-1-1, respectivamente, para esses três tipos de memória. O que normalmente ocorre é a escolha de um esquema apropriado, em função do tipo de DRAM instalada. A SDRAM é mais rápida que a EDO DRAM, que por sua vez é mais rápida que a FPM DRAM. Esta deve ser a ordem de prioridades de aquisição, para quem ainda vai adquirir um PC.

f) Tipo de DRAM (opção de hardware)

Como vimos, existem memórias DRAM dos tipos SDRAM, EDO DRAM e FPM DRAM. Seus tempos de acesso podem ser de 60 ou 70 ns, sendo que já existem, apesar de ainda não serem comuns, memórias DRAM de 50 ns. É sempre melhor comprar uma DRAM de 50 ns ao invés de uma de 60, ou uma de 60 no lugar de uma de 70. A SDRAM deve ser preferida sobre a EDO DRAM, e esta preferida sobre a FPM DRAM. A escolha pode ser feita com maior liberdade quando o PC ainda não foi comprado. Se o PC já foi adquirido, somos obrigados a seguir diversas restrições. Por exemplo, nem todas as placas de CPU aceitam memórias SDRAM. As mais recentes estão quase todas preparadas para receber este tipo de memória, bem como a EDO e a FPM. Praticamente todas as placas de CPU Pentium produzidas a partir do final de 1995 aceitam memórias EDO e FPM. Placas de CPU mais antigas, bem como as placas de CPU 486/586 (existem raríssimas exceções) só operam com memórias FPM DRAM.

No caso de PCs equipados com o Pentium, você pode saber o tipo de DRAM suportada pela placa de CPU, a partir do chipset utilizado. Normalmente o nome deste chipset está indicado na capa do manual da placa de CPU, ou na página que contém as suas características técnicas. Os chipsets chamados de Triton e Triton II (i430FX e i430HX, respectivamente) operam tanto com memórias DRAM FPM como com memórias DRAM EDO. Placas equipadas com versões mais recentes do Triton (i430VX e i430TX, chamados informalmente de Triton III e Triton IV) suportam SDRAM, além de, é claro, DRAM FPM e DRAM EDO.

Quando já temos uma placa de CPU Pentium na qual existe um banco de memória FPM DRAM, podemos fazer uma expansão de memória, preenchendo outro banco com EDO DRAM, e aproveitando das FPM DRAM já existentes. Infelizmente, isto em geral não pode ser feito com a SDRAM. A maioria das placas de CPU exigem que, caso seja instalada SDRAM, não existam outros tipos de DRAM, mesmo que em bancos diferentes. De qualquer forma, a última palavra sobre a instalação de memórias pertence ao manual da placa de CPU.

g) Quantidade de DRAM (opção de hardware)

Podemos ter um microprocessador bem veloz, uma memória também bastante rápida e adequadamente ajustada, índices de velocidades altíssimos medidos com os diversos programas aqui citados, e ainda assim, observarmos que na vida real, a execução dos programas é bastante lenta. Uma das principais razões que leva a isto é a quantidade insuficiente de memória DRAM. Mesmo quando um PC possui apenas 4 MB de DRAM, programas como o PC Bench, o Winbench e o Norton SI 95 podem indicar elevados índices de desempenho. Isto indica que o microprocessador, ao acessar esta reduzida quantidade de memória, opera em altíssima velocidade. Ocorre que, se um PC possui 8 MB de RAM e executa programas que necessitam, digamos, de 16 MB, será preciso fazer diversas transferências entre a DRAM e a memória virtual, que nada mais é que um trecho do disco rígido. O tempo perdido com esses acessos será muito grande, e o desempenho será bastante penalizado. Este PC só será rápido quando executar programas que exigem pouca memória. Portanto, é sempre preferível ter um PC com 16 MB ao invés de um com 8 MB, e também é preferível ter um com 32 MB ao invés de outro com 16 MB. Quando um PC possui maior quantidade de memória RAM, não conseguimos medir o seu ganho no desempenho (exceto ao usarmos o Winstone), mas nas aplicações do dia-a-dia, notaremos o desempenho alto quando executamos programas que usam muita memória. Ou melhor dizendo, não perceberemos queda no desempenho quando forem usados programas que exigem muita memória, ou mesmo quando são utilizados vários programas ao mesmo tempo.

Se você executa programas sofisticados que exigem muita memória e já observou que o desempenho é bastante reduzido ao executar esses programas, com muitos acessos a disco, provavelmente conseguirá resolver o problema com uma expansão de memória.

h) Turbo Switch (seguro)

Os PCs possuem na parte frontal do seu gabinete, uma chave conhecida como Turbo Switch. Quando esta chave está pressionada, o PC opera com a sua velocidade plena (que convencionou-se chamar indevidamente de Modo Turbo). Quando a chave está depressionada, o PC opera em uma velocidade bem baixa, de forma extremamente lenta (que convencionou-se chamar indevidamente de Modo Normal). Ao invés de usar os termos Turbo/Normal, seria mais preciso (e muitos assim preferem) usar os termos Alta/Baixa (High/Low). Você deve concordar que em um Pentium-200, o normal é usá-lo em sua plena velocidade, e não em marcha lenta, ficando comparável a um PC 286.

Nos PCs mais antigos, o modo de baixa velocidade era obtido pela simples redução do valor do clock. Nos PCs mais modernos, o clock permanece inalterado, porém as caches são desabilitadas, resultando assim em um desempenho extremamente reduzido, mesmo com o clock máximo. O resultado é que em todos os acessos à memória são usados vários Wait States. Além disso, não usando a cache interna, o microprocessador precisa esperar muito mais para obter as instruções de execução na memória DRAM. Por exemplo, ao invés de consumir apenas 10 ns para obter uma instrução ou um dado da cache interna (no caso de um Pentium-100, mas se fosse um Pentium-200, demoraria apenas 5 ns), será feito um acesso à memória DRAM, que poderá demorar entre 60 e 100 ns, dependendo da velocidade da memória DRAM e de como foi programado o CMOS Setup.

Existem casos de usuários que detectam um desempenho baixo, e fazem várias tentativas de melhorá-lo, várias medidas de desempenho, várias alterações no CMOS Setup, porém sem obter sucesso. Chegam até mesmo a fazer expansão de memória, sem entretanto conseguir resolver o problema. O culpado pode ser o Turbo Switch.

Primeiramente, existem alguns Setups que possuem uma opção que habilita o funcionamento do Turbo Switch. Quando existe, este comando fica localizado no Advanced CMOS Setup. Quando está desabilitado, não adianta pressionar o botão Turbo, pois a placa de CPU irá ignorá-lo, operando com velocidade fixa. Esta velocidade fixa pode ser alta ou baixa. Em geral esses Setups possuem também uma opção para definir a velocidade a ser usada (High/Low). Portanto, se esta opção estiver em Low, e se a opção Turbo Switch estiver em Disabled, o PC funcionará em velocidade baixa. Existem duas formas de resolver o problema. Uma delas é deixar a opção Turbo Switch desabilitada e programar a opção CPU Speed com High. A outra solução é habilitar a opção Turbo Switch e atuar sobre este botão na parte frontal do gabinete, visando controlar a velocidade. Em qualquer caso, deve ser usado um programa medidor de desempenho para confirmar os resultados.

O problema de não funcionamento desta chave pode estar também relacionado com hardware:

Se o PC foi montado corretamente, a placa de CPU opera em velocidade alta quando o Turbo Switch é pressionado, e em velocidade baixa quando é depressionado. Existem muitos casos em que o responsável pela montagem fez uma conexão errada entre esta chave e a placa de CPU, e sua função fica invertida, ou seja, o computador opera em velocidade baixa quando o botão é pressionado e em alta quanto o botão é depressionado, apesar do display digital indicar o contrário. Apenas usando programas medidores de desempenho podemos ter certeza sobre a posição de alta e a de baixa velocidade.

Em muitos casos, o botão Turbo é ligado apenas no display digital, permanecendo desligado da placa de CPU. Conforme pressionamos ou depressionamos o botão, o número apresentado no display é modificado (por exemplo, 166 e 33), mas a placa de CPU ignora o botão, permanecendo em uma velocidade fixa (que pode ser alta ou baixa).

Em ambos os casos, é preciso uma intervenção de hardware para corrigir o problema. Esta intervenção é bastante simples (pelo menos para quem está habituado com montagem de PCs ou expansões de hardware), e consiste em fazer as ligações corretas entre a placa de CPU, o display digital e o Turbo Switch. Existe uma forma de corrigir o problema, simples até mesmo para que não tem experiência em hardware. Consiste em deixar a placa de CPU operando permanentemente em velocidade alta, ignorando o Turbo Switch. Procure na placa de CPU, um par de pinos metálicos com a indicação “Turbo Switch”, “TB SW”, ou algo similar. O manual da placa de CPU pode ajudar bastante nesta identificação. Deixe inicialmente esses pinos como estão, sem usar nenhum jumper (veja a figura 4, como indicado em A). Meça o desempenho. Se estiver correto, pode dar o problema como resolvido. Se estiver errado, coloque um jumper ligando esses dois pinos, como indicado em B, e meça o desempenho, que agora deverá estar correto. Não se esqueça que para fazer essas alterações, o computador deve estar desligado.

ART18-04

Figura 4 – A ligação Turbo Switch na placa de CPU, sem jumper e com jumper.

i) DRAM cacheável (seguro)

Existem casos em que o desempenho da placa de CPU pode estar bastante baixo, pelo fato da memória cache externa não estar acelerando toda a DRAM instalada. Alguns Setups possuem um comando para indicar qual é o tamanho da DRAM a ser cacheada. Digamos que um PC possua 32 MB de RAM, mas a cache esteja operando apenas sobre os primeiros 16 MB. Desta forma, o desempenho será elevado enquanto estiverem em uso apenas os primeiros 16 MB. Assim que entrarem em operação os outros 16 MB (quando a memória estiver mais de 50% ocupada), o desempenho será bastante reduzido.

Placas de CPU Pentium baseadas no Chipset Triton II (i430HX) possuem duas opções de “área cacheável”: 64 MB ou 512 MB. Quando o PC possuir 64 MB ou menos (praticamente todos) a opção “64 MB” deve ser usada. Ao instalarmos mais que 64 MB, será preciso ativar a opção “512 MB”. Alguns Setups chamam este comando de Extended Cacheability. Note que esta opção não está presente em placas que usam outros chipsets, como o i430FX, i430VX e i430TX. Isto não chega a ser realmente um problema, pois raramente alguém precisa usar mais de 64 MB, pelo menos para os padrões de 1997, e mesmo de 1998. Quando o uso de mais de 64 MB de RAM estiver prestes a se tornar comum, certamente serão lançados novos chipsets capazes de gerenciar uma área cacheável maior, bem como o uso de maiores quantidades de memória cache.

Além das modernas placas de CPU Pentium baseadas no Triton II, podemos encontrar ainda algumas placas de CPU 386 e 486, onde existe um comando chamado “Cacheable Range”, podendo ser programado com opções como 4 MB, 8 MB, 12 MB, etc. Devemos indicar neste item, o tamanho total da memória DRAM instalada.

j) A20 Gate (seguro)

Este item na verdade não está relacionado com a performance do microprocessador, e sim, das operações que envolvem o BIOS da placa de CPU. Quando um programa que opera em modo protegido (aqueles que acessam a memória acima do endereço 1 MB, como o Windows e a maioria dos jogos modernos) e precisam fazer acessos ao BIOS da placa de CPU (vídeo, teclado, interfaces, etc.), devem atuar sobre um sinal digital da placa de CPU chamado A20 Gate. Nos PCs antigos, isto era feito por intermédio do microprocessador 8042, localizado na placa de CPU. Este microprocessador contém a interface de teclado e o sinal A20. Quando um programa precisava atuar sobre o A20, enviava um comando para o 8042, que por sua vez fazia o seu controle. Este método, apesar de lento, não era considerado prejudicial, quando levando em conta a lentidão inerente do microprocessador 286, usado no IBM PC AT, no qual o A20 foi introduzido. Microprocessadores mais modernos, sendo bem mais velozes, experimentam uma queda de desempenho ao esperarem pelo 8042 comandar o A20 Gate. De nada adianta um processamento veloz, bem como um BIOS veloz, se é preciso esperar uma “eternidade” para que o 8042 controle o A20. Para resolver este problema, os chipsets modernos são capazes de fazer o seu próprio controle do A20 Gate. O BIOS, ao invés de enviar comandos para o 8042, envia comandos de controle do A20 para o chipset, permitindo assim um controle muito mais veloz. Em geral encontramos no Advanced CMOS Setup o comando:

A20 Gate Opções: Normal/Fast

Deixando na opção Normal, o controle do A20 será feito pelo 8042. Deixando na opção Fast, o controle será feito pelo Chipset, sendo bem mais rápido.

Alguns chipsets são capazes de interceptar comandos de controle do A20 direcionados ao 8042, e executá-los diretamente, sem deixar que cheguem ao 8042. Este recurso também resulta em maior desempenho em programas que utilizam a memória acima de 1 MB. Normalmente é chamado de “Gate A20 Emulation”. As suas opções são Enabled e Disabled. Ao ser programado na opção Enabled (habilitado), o chipset irá interceptar e executar os comandos de controle do A20 que seriam direcionados ao 8042, e executá-los de forma mais rápida.

k) Tipos de Refresh (cuidado)

Em quase todos os Setups, você encontrará comandos relacionados ao Refresh das memórias DRAM:

Slow Refresh
Transparent Refresh ou Hidden Refresh
Concurrent Refresh

Ao serem habilitadas, essas opções resultam em um pequeno aumento no desempenho dos acessos à DRAM, mas isto deve ser feito com cuidado, pois dependendo das memórias utilizadas, é possível que nem todas essas opções funcionem.

As memórias DRAM, apesar de muito baratas e compactas, possuem um pequeno inconveniente: perdem seus dados após alguns milésimos de segundo, a menos que sejam novamente acessadas antes deste tempo. Para permitir o seu funcionamento normal, os circuitos de controle à DRAM realizam constantemente, operações de leitura em endereços de memória consecutivos. Esta operação é feita de forma automática pelo chipset, e é chamada de refresh, que significa refrescar ou relembrar. Em situação normal, o refresh tende a reduzir um pouco o desempenho do PC, já que nos períodos em que a memória DRAM está sendo “refrescada”, o microprocessador não pode acessá-la. Para melhorar o desempenho, os chipsets utilizam diversas modalidades de refresh mais eficientes, todas ativadas pelo CMOS Setup.

O Slow Refresh consiste em fazer leituras em intervalos de tempo inferiores ao normal, e desta forma, menos tempo é “roubado” do microprocessador. As memórias DRAM mais antigas mantinham seus dados por um período de 2 ms, precisando ser refrescadas antes disso. DRAMs de fabricação mais recente apresentam períodos de refresh mais longos, como 4, 8 e 16 ms. Quanto maior é este período, em menos ocasiões o microprocessador encontrará a DRAM ocupada com operações de refresh. Habilitar este item resulta em pequena melhora no desempenho do microprocessador, mas o problema é que nem sempre podemos garantir qual é o período de refresh aceito pelas memórias instaladas, não sabendo portanto, se o Slow Refresh funcionará.

O Transparent Refresh e o Concurrent Refresh são modalidades especiais de refresh nos quais o microprocessador realiza seus acessos à cache externa, ao mesmo tempo em que os circuitos de refresh acessam a DRAM. Assim como ocorre com o slow resfesh, essas duas outras modalidades operam de modo a evitar que o microprocessador tenha que perder tempo esperando o refresh da DRAM. A figura 5 mostra medidas de desempenho feitas com o PC Bench 9.0 em um PC, usando o refresh normal e o hidden.

ART18-05

Figura 5 – Diferenças no desempenho de um 486DX2-66 usando Refresh normal e hidden.

Observe os resultados e o ganho de performance obtido:

486DX2-66, PC Bench 9.0

Medida Normal Hidden Ganho
16-bit Protected Mode Standard Mix 408,90 420,0 +2,7%
16-bit Real Mode Standard Mix 431,40 442,90 +2,7%

O ganho de desempenho obtido com este ajuste é muito pequeno (no nosso exemplo, 2,7%), mas é exatamente com uma grande quantidade de pequenos ganhos que conseguimos obter o máximo desempenho de um PC.

Quantidade de memória RAM

De nada adianta o microprocessador ser veloz, bem como suas operações em relação à memória, se para executar programas não existe memória suficiente, obrigando o PC a utilizar a memória virtual, que como sabemos, é implementada através do disco rígido. O disco rígido é muitíssimo mais lento que a memória RAM, e por isso, sempre que é preciso acessar a memória virtual, o desempenho cai consideravelmente. O computador será rápido apenas enquanto a quantidade de memória exigida pelos programas em execução for menor que a quantidade de RAM instalada. Quando este limite for ultrapassado, é usada a memória virtual, e o desempenho é reduzido.

Programas muito simples podem funcionar em um PC com apenas 8 MB de memória RAM, sem fazer uso da memória virtual. Ao usar programas mais sofisticados, ou mesmo diversos programas simples de forma simultânea, os 8 MB provavelmente não serão suficientes. Da mesma forma, programas com médio grau de sofisticação poderão funcionar em um PC com 16 MB sem fazer uso da memória virtual, mas outros programas bem mais sofisticados, bem como diversos programas em execução simultânea, acessarão a memória virtual assim que a quantidade total de memória exigida for superior a 16 MB, aproximadamente. Nesses termos, um computador com 32 MB apresentará um desempenho maior que outro de 16 MB, que por sua vez terá desempenho maior que um de 8 MB. Da mesma forma, um PC com 64 MB poderá ser mais veloz que um com 32 MB, mas a chance de serem necessários mais de 32 MB de RAM para um programa é muito menor que a chance de ser necessário mais que 16 MB. Digamos que com 16 MB, o usuário ficará 90% satisfeito, e com 32 MB ficará 99% satisfeito. É claro que aqueles que utilizam programas sofisticadíssimos terão grandes chances de utilizar mais que 32 MB.

ART18-06

Figura 6 – Medidas de desempenho feitas pelo Winstone, com 16 MB e 32 MB de RAM.

A figura 6 mostra os resultados de medidas de desempenho feitas pelo Winstone 97 em um PC equipado com um Pentium-133, com 16 MB e 32 MB de RAM. Observe que com 32 MB, o desempenho foi ligeiramente superior, pelo menos nos testes chamados de Business Applications. Programas deste tipo (processamento de texto, banco de dados, planilhas, etc) funcionam com 16 MB, quase tão bem como com 32 MB, como vemos pelas pequenas diferenças de desempenho mostradas na figura. Se fizermos este mesmo teste com 8 MB de RAM, veremos que o desempenho é muito menor. Da mesma forma, se fizermos os testes do Winstone chamados de High End Applications (CAD, gráficos tridimensionais, editoração eletrônica, etc), usando 64 MB de RAM também encontraremos um maior desempenho do que o conseguido usando 32 MB. O Winstone 97 não faz esses testes (High End Applications) em PCs com apenas 16 MB de RAM.

O Winstone mede o desempenho do computador na utilização de programas reais. Como o desempenho total depende da CPU, da quantidade de memória RAM, da velocidade do disco rígido e da placa de vídeo, nem sempre o microprocessador mais veloz trará os melhores resultados. Por exemplo, em certas aplicações, um Pentium-100 com 32 MB de RAM pode ser mais veloz que um Pentium-200 com apenas 16 MB.

Para avaliar a melhoria no desempenho que um PC experimenta quando é feita uma expansão de memória, é indicado usar o programa Winstone, por ser o único voltado para aplicações reais. Os demais programas fazem suas medidas, mas sem levar em conta a quantidade de memória. Não adianta usar o Norton 95, nem o PC Bench, e nem mesmo o Winbench.

Alterações no hardware

Existem casos em que por mais que façamos ajustes, não conseguimos colocar um microprocessador para funcionar na sua plena velocidade. Digamos por exemplo que temos um Pentium-133, sem memória cache externa, e que o seu desempenho pelo Norton Sysinfo 95 esteja próximo de 20. Como vimos neste capítulo e no anterior, este valor é típico de um Pentium-90. Um Pentium-133 deveria apresentar um índice entre 30 e 36, aproximadamente. Podemos fazer ajustes no CMOS Setup deste computador, visando melhorar principalmente a velocidade da transferência de dados entre o microprocessador e a DRAM. Assim podemos fazer o índice 20 chegar a um valor um pouco maior, como 24 ou 25, no máximo. Melhor que isso não iremos conseguir. Apenas a instalação da memória cache externa poderá fazer este Pentium-133 chegar ao seu pleno desempenho.

Para aqueles que se dispõem a fazer alterações de hardware, aqui estão as que podem melhorar bastante o desempenho do microprocessador, e do PC como um todo. Você precisará contar com a ajuda de um especialista em hardware, ou mesmo de um colega mais experiente que já esteja habituado a fazer tais expansões. Se você mesmo quiser fazer essas expansões, precisará utilizar os conhecimentos apresentados no livro Upgrade Expert volume 1.

Instalação ou expansão da cache externa

O maior ganho no desempenho do microprocessador é obtido quando a memória cache externa é aumentada de 0 kB (caso de um PC sem cache externa) para 256 kB, ou mesmo para 128 kB, como é o caso de muitos PCs 486 que podem operar com 0 kB/128kB/256kB. Os PCs Pentium oferecem as opções 0 kB (nada recomendável), 256 kB e 512 kB. Quando o desempenho do microprocessador está assustadoramente baixo (por exemplo, 20 quando deveria ser 30), você pode estar certo que o problema é devido à ausência de cache externa, e a sua instalação o trará de volta ao valor adequado.

A expansão da memória cache externa também trará um aumento no desempenho, mas não será tão grande quanto o obtido com a sua instalação em um PC que não tem cache. Por exemplo, você pode obter resultados como:

Tamanho da cache

Índice (Norton 95)

0 kB

20

256 kB

30

512 kB

33

Se o seu PC Pentium não tem memória cache externa, considere seriamente a possibilidade da instalação de 512 kB, já que a diferença de preço em relação a 256 kB é muito pequena, atualmente inferior a 10 dólares. Já a expansão de 256 kB para 512 kB é também de baixo custo e trará um melhoramento no desempenho, mas este será muito pequeno, e pode ser que o trabalho e o risco (talvez de algum acidente) não sejam compensadores.

Expansão da memória DRAM

Quanto menor é a quantidade de memória de um PC, mais será vantajoso fazer a sua expansão. Será obtido um aumento no desempenho, não pelo fato do microprocessador passar a acessar a memória com maior velocidade, mas pelo fato dos programas terem mais memória RAM disponível, evitando que precisem usar o disco rígido para suprir a ausência de RAM. Por exemplo, um PC com 8 MB ficará muito mais veloz quando sua memória for aumentada para 16 MB. Da mesma forma, um PC com 16 MB ficará mais rápido quando a memória for aumentada pera 32 MB, a menos que façamos a comparação usando programas que exijam pouca memória, para os quais não faz diferença usar 16 MB ou 32 MB. Menor ainda será o melhoramento obtido quando a memória é aumentada de 32 MB para 48 MB ou 64 MB. Apenas alguns programas sofisticadíssimos que exigem muito do microprocessador, e muita quantidade de memória, serão beneficiados.

Já houve época em que 4 MB era a quantidade de memória mais indicada para um PC bem equipado, e que o uso de 8 MB não trazia grandes vantagens, já que a maioria dos programas funcionavam até mesmo em PCs com 2 MB. Além disso, a memória era caríssima (8MB = 400 dólares), e era um gasto pouco justificável usar quantidades de memória acima do necessário. Atualmente a situação é bem diferente. Com 100 dólares compram-se 16 MB de RAM, e com pouco menos de 200 dólares compram-se 32 MB, mesmo no Brasil. Uma memória RAM de 16 MB deixará satisfeitos praticamente todos os usuários de nível médio, mas nada impede que esses usuários optem por uma expansão para 32 MB, já que seu custo é inferior a 100 dólares. Devem saber entretanto que para aplicações de processamento de textos, planilhas, acesso à Internet e processamento de gráficos, o ganho de desempenho ao aumentar de 16 MB para 32 MB, apesar de existir, será pequeno. Já os usuários mais sofisticados, que operam programas de CAD, edição de imagens e programas tridimensionais em geral, terão vantagens significativas se optarem por uma expansão de 16 MB para 32 MB.

Substituição da DRAM

Antes de comprar um PC, é preciso saber que existem memórias DRAM mais rápidas e outras mais lentas. Os três tipos de DRAM usados atualmente são:

FPM DRAM, a mais antiga e mais lenta
EDO DRAM, mais veloz que a FPM DRAM
SDRAM, ainda mais rápida que a EDO DRAM

Ao comparar dois computadores idênticos em todos os seus aspectos, diferindo apenas no tipo de DRAM, podemos observar diferenças de quase 10% no desempenho quando usamos uma DRAM mais veloz. Por isso, devemos dar preferência à EDO DRAM ao invés da FPM DRAM, e à SDRAM ao invés da EDO DRAM. Como a diferença de desempenho, apesar de existir, não é tão surpreendentemente significativa, não vale a pena retirar totalmente uma DRAM mais lenta e substituir por outra mais veloz, a menos que o usuário seja um fanático por desempenho. Existem entretanto situações nas quais esta substituição é justificável, mesmo que o usuário não tenha este fanatismo. Imagine por exemplo que um PC possui 16 MB, formados por 4 módulos de FPM DRAM, cada um deles com 4 MB. Suponha que a placa de CPU possui apenas 4 soquetes para instalação de DRAM. Neste caso, não será possível aumentar a memória pela simples adição de módulos. Será preciso retirar os módulos já instalados, fazendo a sua substituição por outros de maior capacidade. Se esta expansão for realmente desejada, devemos aproveitar para:

1. Usar memórias DRAM mais velozes, do tipo mais rápido que a placa de CPU suportar. Se a placa pode operar com SDRAM, usaremos este tipo de memória. As placas de CPU Pentium de fabricação recente (equipadas com os chipsets i430VX e i430TX) suportam este tipo de memória. Se a SDRAM não for suportada, devemos usar a EDO DRAM.

2. Usar memórias com menor tempo de acesso. Se as memórias DRAM originais forem de 70 ns, novas memórias de 60 ns permitirão ajustes mais ousados no CMOS Setup, aumentando ainda mais o desempenho dos acessos à DRAM.

Substituição do microprocessador

Com o preço que você pagou há um ano atrás por um microprocessador Pentium de 100 MHz, você pode hoje adquirir um novo microprocessador Pentium de 166, ou mesmo de 200 MHz. Esta substituição é relativamente simples, e resulta em um surpreendente aumento no desempenho. Um Pentium-200 é aproximadamente duas vezes mais veloz que um Pentium-100, e um Pentium-166 é aproximadamente 66% mais veloz que um Pentium-100.

Substituição da placa de CPU

Suponha que você, aí por volta de 1998, foi à sua loja predileta de hardware comprar um novo microprocessador Pentium para instalar no lugar do seu antigo Pentium-133, e encontrou um magnífico Pentium-200 MMX, bem baratinho (certamente este dia irá chegar). Aí vem a sua decepção ao constatar que a sua antiga placa de CPU não permite a instalação de um Pentium MMX. Suponha então que você tenha optado por um Pentium II, de 300 MHz, finalmente com preço acessível, e constata que a sua placa de CPU, por ser muito antiga (mais de um ano…), não permite a instalação de microprocessadores com mais de 200 MHz. Você constata então que a única forma de utilizar um microprocessador mais rápido é fazendo a substituição da placa de CPU. Você poderá então adquirir uma placa novinha, equipada com um Pentium II de 300 MHz. Este tipo de expansão resulta em grandes aumentos no desempenho, mas não é tão simples quanto a substituição apenas do microprocessador. Para substituir a placa de CPU é preciso desmontar praticamente o computador inteiro, fazer alterações na instalação do Windows, e em alguns casos, até mesmo substituir a memória DRAM. Tenha em mente que esta é uma alternativa viável para aumentar o desempenho, mas também bastante trabalhosa.