segunda-feira, 14 de julho de 2008

Memória RAM




Se o processador é o principal componente de qualquer computador, a memória RAM é a sua principal ferramenta de trabalho. Desde uma calculadora xing-ling, até um grande mainframe, não existe nenhum tipo que computador que não utilize memória RAM. O processador utiliza a memória RAM para armazenar programas e dados que estão em uso e fica impossibilitado de trabalhar sem ter pelo menos uma quantidade mínima dela. Aliás, nos computadores atuais, a velocidade de acesso à memória RAM é um dos principais determinantes da performance, daí a vital importância do uso da memória cache.A sigla "RAM" significa "Ramdom Access Memory" ou "memória de acesso aleatório". Este nome é mais do que adequado, pois a principal característica da memória RAM é a capacidade de fornecer dados anteriormente gravados, com um tempo de resposta e uma velocidade de transferência centenas de vezes superior à dos dispositivos de memória de massa, como o disco rígido.Mais uma característica marcante da memória RAM é o fato dela ser volátil: precisa ser constantemente reenergizada para conservar os dados gravados. Como numa calculadora, perdemos todos os dados nela armazenados quando desligamos o micro. Se, por exemplo, você estiver escrevendo uma carta no Word e, de repente, houver um pico de tensão e o micro reinicializar, sem lhe dar tempo de salvar a carta no disco rígido, você perderá todo seu trabalho.Existem claro, tipos de memória RAM não voláteis, como por exemplo as memórias Flash, que são utilizadas nos Palm Pilots e em outros computadores de mão, celulares, etc. O problema das memórias Flash é o preço. Enquanto escrevo, é possível comprar um módulo de memória SDRAM de 256 MB por R$ 200, com o dólar nas cucuias como está, isso corresponde a menos de 80 dólares, a preços de Brasil. Isso dá pouco mais de 30 centavos por megabyte. As memória Flash já são bem mais caras que isso, custam entre 5 e 10 dólares por megabyte, dependendo da aplicação. Isso sem contar o fato delas serem bem mais lentas.Na verdade, pode ser que no futuro algum tipo de memória não volátil venha a definitivamente substituir a memória RAM. A IBM por exemplo vem desenvolvendo as memórias MRAM, que armazenam dados na forma de sinais magnéticos. A promessa é que além de conservarem os dados gravados por anos a fio, elas sejam tão rápidas e baratas quanto as memórias atuais. Normalmente as promessas dos fabricantes são tão confiáveis quanto as promessas dos políticos em campanha, mas sempre existe uma esperança :-)Já que vamos continuar usando memória RAM volátil durante mais alguns (ou vários) anos, que tal estudarmos sua história e as tecnologias se memória disponíveis atualmente? Puxe uma cadeira e seja meu convidado.

Preço x quantidade
Antigamente, os módulos de memória RAM custavam muito caro. Há poucos anos atrás, pagávamos mais de 40 dólares por megabyte. Em pleno início da década de 90, o preço da memória chegou a bater a marca dos 100 dólares por megabyte.Com a memória custando este fortuna, é compreensível que a grande maioria dos PCs 386 e 486 viessem equipados com apenas 8 ou mesmo 4 MB de memória, sendo que o recomendável para rodar sistemas gráficos como o Windows 95, ou mesmo o XFree86 do Linux seriam pelo menos 16.Felizmente, tivemos nos últimos anos uma queda vertiginosa no preço das memórias. Assim como os processadores evoluem, incorporando mais transístores, operando a frequências maiores e ainda assim custando cada vez mais baratos, com o passar do tempo os fabricantes de memória conseguem produzir chips de memória com transístores cada vez menores. Com isto, é possível aumentar a quantidade de memória em cada chip e o preço por megabyte despenca.Voltando ao ramo dos processadores, um 486 tinha apenas 1.200.000 transístores, enquanto um Athlon Thunderbird tem 37 milhões. Mesmo assim, um Athlon custa hoje bem menos que um 486 custava na época em que era novidade. A chave para este salto é a miniaturização dos transístores.Na memória RAM, cada transístor representa um bit de dados. Um módulo de memória com 64 MB é formado por cerca de 512 milhões de transístores. Conforme os fabricantes desenvolvem novas tecnologias, passam a ser capazes de produzir transístores menores. Com isso é possível incluir mais transístores, e consequentemente mais memória em cada chip. Os primeiros chips de memória RAM tinham apenas 1 Kb (um Kbit e não um Kbyte, preste atenção no B minúsculo :-), enquanto atualmente a moda é produzir chips com 128 Mb (megabits). Juntando 8 chips temos um pente de memória com 128 MB, juntando 16 temos um módulo de 256 MB e assim por diante. Chegamos assim aos 30 centavos por megabyte.Os módulos de memória ainda não dão em árvore, mas estão perto disso, pelo menos em termos de preço.O baixo preço atual, justifica o uso de 128 ou mesmo 256 MB de memória. Alguns usuários de aplicativos mais pesados já vão mais além, definindo 512 MB como o ideal. A quantidade e velocidade das memórias são mais importantes que a própria velocidade do processador, principalmente para quem costuma trabalhar com vários aplicativos abertos ao mesmo tempo, ou trabalha com arquivos pesados, imagens, vídeo, etc..A equação é simples. Qualquer programa ou arquivo em uso precisa ser armazenado na memória. O processador começa a usar a memória RAM que é razoavelmente rápida, o suficiente para que (com a ajuda do cache) o processador possa usar todo o seu potencial. Mas, e quando a memória RAM se esgota? Bem, o que você prefere, ver uma mensagem de "não há memória suficiente", ou ver o aplicativo rodando, mesmo que lentamente? Se você ficou com a segunda opção, agradeça ao engenheiro da Intel que trabalhou para incluir o recurso de memória virtual a partir 386.A memória virtual é só um quebra galho. Serve para permitir que o processador simule mais memória RAM criando um arquivo no disco rígido e armazenando nele os dados que não couberam na memória. O problema é que o processador processa bilhões de instruções por segundo, enquanto um HD rápido tem tempos de acesso em torno de 10 milésimos de segundo.Como o processador não pode fazer nada se não tiver dados para processar, precisa esperar até que o disco rígido possa lhe entregar o trabalho a ser feito. De nada adianta ter um processador muito rápido, se por falta de memória RAM ele é subtilizado devido ao uso de memória virtual, ficando limitado à performance do disco rígido.Para você ter uma idéia do quanto a quantidade de memória RAM é importante, um simples 486DX4-100, com uma quantidade razoável de memória RAM (32 MB ou mais) é capaz de rodar o Windows 95/98 e a maioria dos aplicativos mais rápido do que um Pentium III de 1 GHz equipado com apenas 8 MB de memória. Afinal, o que é mais rápido, um processador 486, ou o disco rígido usado no Pentium III? Claro que o ideal é sempre termos um sistema equilibrado; não adianta também querer instalar 64 MB de memória RAM em um 386.

Como funciona
Os chips de memória RAM possuem uma estrutura extremamente simples. Para cada bit 1 ou 0 a ser armazenado, temos um minúsculo capacitor; quando o capacitor está carregado eletricamente temos um bit 1 e quando ele está descarregado temos um bit 0. Para cada capacitor temos um transístor, encarregado de ler o bit armazenado em seu interior e transmiti-lo ao controlador de memória. A memória RAM é volátil justamente devido ao capacitor perder sua carga muito rapidamente, depois de poucos milésimos de segundo.A produção de chips de memória é similar ao de processadores: também utilizamos um waffer de silício como base e um laser para marcá-lo. A diferença é que os chips de memória são compostos basicamente de apenas uma estrutura básica: o conjunto capacitor/transístor, que é repetida alguns milhões de vezes, enquanto os processadores são formados por estruturas muito mais complexas. Devido a esta simplicidade, um chip de memória é muito mais barato de se produzir do que um processador. Um módulo de 128 MB tem pouco mais de 1 bilhão de transístores, quase 40 vezes mais que um processador Pentium III Coppermine. Apesar disso, o módulo de memória é mais barato.

Acesso a dados
Para ler e gravar dados na memória, assim como controlar todo o trânsito de dados entre a memória e os demais componentes do micro, é usado mais um circuito, chamado controlador de memória, que faz parte do chipset localizado na placa mãe.Para facilitar o acesso a dados, dividimos os módulos de memória em linhas e colunas. Para acessar um determinado transístor (seja para gravar ou ler dados), o controlador de memória primeiro gera o valor RAS (Row Address Strobe), ou o número da linha da qual o transístor faz parte, sendo gerado em seguida o valor CAS (Collum Address Strobe), que corresponde à coluna.


Formato

Os chips de memória são frágeis placas de silício, que precisam ser encapsulados em alguma estrutura mais resistente antes de serem transportados e encaixados na placa mãe. Assim como temos vários tipos de encapsulamento diferentes para processadores, (SEPP e PPGA por exemplo) temos vários formatos de módulos de memória. Inicialmente os chips são encapsulados em módulos DIP, que os protegem e facilitam a dissipação do calor gerado pelos chips. Estes por sua vez são soldados em placas de circuito, formando os módulos de memória. Existem atualmente 3 tipos de módulos de memória: os módulos SIMM de 30 vias, os módulos SIMM de 72 vias e, finalmente, os módulos DIMM de 168 vias.


Módulos DIP

Os módulos DIP são encapsulamentos de plástico ou cerâmica, que protegem os chips de memória, facilitam a dissipação do calor gerado durante seu funcionamento, e tornam mais acessíveis seus terminais, facilitando o encaixe ou a soldagem. O encapsulamento DIP também é usado em vários outros tipos de componentes.Em PCs antigos, principalmente XTs, 286s e os primeiros 386s, os módulos DIP eram soldados diretamente à placa mãe, ou em alguns casos, encaixados individualmente em soquetes disponíveis na placa. Este era um sistema antiquado, que trazia várias desvantagens, por dificultar upgrades de memória ou a substituição de módulos com defeito. Imagine você, fazendo um upgrade de memória numa placa como a da foto abaixo:





0 comentários: