Escritos
B. Piropo
Anteriores:
< Trilha Zero >
Volte de onde veio
13/01/1997

< Memórias XX: Paridade >


Há pouco tempo não havia micro sem controle de paridade. Mas depois que a Intel passou a fabricar o malfadado chipset Triton, cujas primeiras versões não usavam este controle, passou a ser quase impossível conseguir uma placa-mãe com controle de paridade. Hoje discutiremos as vantagens e desvantagens de eliminar este controle.

Primeiro, as vantagens: ao expandir a memória de sua máquina, você fará uma economia de cerca de 10%. Ou seja: poupará menos de dois reais por megabyte. E é só. Agora, as desvantagens: ao optar por esta economia, você prescinde do controle de erros e eventuais alterações no conteúdo de sua memória RAM passarão despercebidas. A questão crucial se resume então em saber se o benefício vale o custo. Para isto precisamos analisar alguns aspectos da questão. Começando pelos possíveis fatores que podem alterar o valor de um bit armazenado na memória RAM de sua máquina.

O primeiro é um problema físico, como defeito no chip, solda mal feita, conexão frouxa e coisas que tais. Que causa um erro do tipo "hard error", cujos efeitos são permanentes e que insiste em ocorrer sempre no mesmo endereço. Corrige-se trocando a peça defeituosa.

O segundo é um problema provocado pelo próprio usuário, em geral através de um ajuste mal feito no setup, como regular mal os estados de espera, tempos de acesso à memória ou algo parecido. Elimina-se adotando o ajuste correto.

O terceiro gera o chamado "soft error", que ocorre em diferentes endereços e é intermitente: mesmo após ocorrido o erro, um novo valor escrito no mesmo endereço permanece inalterado. Suas causas são múltiplas: "ruído" da placa mãe (interferência causada por ondas eletromagnéticas geradas pelos circuitos da placa), chips de qualidade duvidosa e choques de partículas alfa (partículas atômicas liberadas pela radioatividade natural de componentes dos próprios chips). Estes, não há como evitar.

Isto quer dizer que estamos sempre sujeitos a ocorrência eventual dos soft errors. Resta saber com que freqüência devemos esperá-los. Segundo os fabricantes, a taxa de ocorrência de soft errors em um sistema com 16Mb de RAM caiu de um a cada três meses em 1990 para um a cada 16 anos hoje em dia. Um valor aparentemente tão insignificante que levou os fabricantes a dispensar o uso do controle de paridade. Porém há que considerar alguns pontos. O primeiro é que isto vale apenas para soft errors, e há outras causas de erros. O segundo é que a taxa, evidentemente, cresce com a capacidade de memória instalada e com a freqüência de operação do barramento. E o terceiro é que esses valores são meramente probabilidades estatísticas. O que significa que nada garante que um destes erros não venha a ocorrer em sua máquina dentro de quinze minutos. E se ocorrer, o que acontece? Bem, se a máquina usa o controle de paridade (ou seja: se seus chips de memória possuem o nono bit, se o chipset é capaz de executar este controle e se ele está habilitado no setup), tão logo detectado o soft error o processamento é interrompido e é emitida uma mensagem informando o endereço onde o erro ocorreu.

Já se a máquina não controla paridade o processamento prossegue como se nada houvesse acontecido, pois sem o controle de paridade não há como detectar o erro (minto: há ainda o ECC, ou Error Correction Control, uma técnica que não apenas o detecta mas que também o corrige e que seria abordada aqui se esta série sobre memória já não estivesse se tornando demasiadamente longa). As conseqüências são imprevisíveis e variam com o endereço onde se deu o erro. Se fica em uma região onde estão armazenadas instruções, será executada uma instrução errada e só Deus sabe o que pode acontecer. Se em uma região onde estão armazenados dados, depende do dado: em um arquivo gráfico, um bit errado altera ligeiramente a cor de um pixel e seu efeito é efetivamente desprezível. Já se o erro ocorrer em um arquivo que contém os dados de uma planilha usada, digamos, para efetuar o cálculo estrutural de um viaduto, favor avisar para que eu evite suas imediações.

Pois é isso. Os fatos estão aí. Usar ou não o controle de paridade só depende de você (e de encontrar, nos dias de hoje, SIMMs com paridade e placa com chipset decente, tarefa que, admito, não é fácil). Mas se a informação lhe interessa: dispensar controle de erro, definitivamente é o que eu chamo de economia porca. Eu mesmo jamais prescindo dele.

No mais, se você tem acesso à internet, está convidado a visitar minha página pessoal em <http://ww3.ccard.com.br/bpiropo> ou <http://www.pobox.com/~bpiropo>, que sofreu mudanças radicais. Lá você encontrará regularmente uma coluna do Piropo que não é publicada em nenhum outro lugar, além de dicas, respostas a perguntas de leitores e a coletânea completa de meus escritos. Aguardo sua visita, seus comentários e, sobretudo, suas sugestões para melhorar a página. Até lá.

PS: Amanhã, dia 14, às 19h, no RDC da PUC, haverá a primeira reunião do Grupo de Usuários do OS/2 de 1997.

B. Piropo