CURSO TÉCNICO EM INFORMÁTICA -Acesso a RAM Prof.º Adriano Queiroz Sobrinho – 3648-4152 / 9125-9909 – Rua Altair Severiano, 104, Eldorado
ESTUDO A FUNDO DAS MEMÓRIAS DINÂMICAS FUNCIONAMENTO DAS MEMÓRIAS DINÂMICAS
Entender o funcionamento das memórias dinâmicas e fundamentais para compreender o avanço tecnológico trazido por novas tecnologias de construção de memória RAM, como FPM, EDO, BEDO, SDRAM, RDRAM e muitas outras, bem como para compreender toda a questão do desempenho e a necessidade do cache de memória. Vimos que, dentro do circuito integrado da memória dinâmica, os dados são armazenados em minúsculos capacitores. Como os capacitores se descarregam com o tempo, é necessário um período de recarga, chamado refresh rate. Durante o período de refresh, que dura alguns milisegundos (esse valor varia de acordo com a memória), a memória não pode ser .acessada. Dentro da memória, os capacitores são organizados em uma matriz. Como sabemos, uma matriz é composta de linhas e colunas. Os endereços dentro da matriz crescerão da esquerda para a direita e de cima para baixo. Quando o processador (ou o controlador de cache,) precisa ler algum dado da memória, ele coloca o dado no barramento de dados, o endereço no barramento de endereços e aciona apropriadamente o barramento de controle. O controlador de memória do chipset percebe que e uma operação de leitura em memória e pega o valor do endereço e o divide em dois: a parte mais significativa (ou seja, mais alta) do endereço selecionará a linha, e a parte menos significativa (ou seja, mais baixa) do endereço selecionará a coluna (como vimos, internamente a memória é uma matriz de capacitores dispostos em linhas e colunas). Essa seleção ocorre em conjunto com dois sinais básicos para o controle das memórias: RAS (Row Address Strobe) e CAS (Column Address Strobe). O primeiro sinal indica que o valor presente no barramento de endereços de memória (MA) está infor-
PandaTitan Informática
Página 1
Manaus / Amazonas
CURSO TÉCNICO EM INFORMÁTICA -Acesso a RAM Prof.º Adriano Queiroz Sobrinho – 3648-4152 / 9125-9909 – Rua Altair Severiano, 104, Eldorado mando a linha de onde o dado deverá ser lido, enquanto o segundo sinal indica que o valor está informando a coluna de onde o dado deverá ser lido. Você pode observar os detalhes desse esquema através da figura. Observe a Figura a seguir para acompanhar o funcionamento da memória RAM do micro: 1. Quando o processador (ou o controlador de cache) lê um dado da memória, o controlador de memória (presente no chipset) aciona a linha RAS e coloca, no barramento de endereços da memória (barramento MA,), o valor da linha. 2. Um pouco depois aciona a linha CAS (mantendo a linha RAS acionada) e coloca no barramento de endereços da memória (barramento MA) o valor da coluna. 3. Quando RAS e CAS são desabilitados, o dado solicitado estará presente no barramento de dados da memória (barramento MD). 4. O processo de escrita em memória funciona de maneira análoga (idêntica). As novas tecnologias de construção de memórias dinâmicas são alterações na estrutura básica do funcionamento da memória, de modo a ganhar mais desempenho, como veremos mais adiante.
TEMPO DE ACESSO Quando o processador ordena o armazenamento de um dado na memória, este não é imediato; a memória demora um pouco para armazená-lo no endereço solicitado. O mesmo ocorre quando o processador pede que a memória devolva um dado que está nela armazenado. Essa demora é chamada “Tempo de Acesso” e é uma característica inerente a todas as memórias, ou seja, é uma característica física. O tempo de acesso é o período de tempo que demora entre o início da ativação do sinal RAS e a efetiva entrega (ou armazenamento) do dado solicitado, como ilustra a figura. O tempo de acesso também é chamado TRAC ou somente RAC em manuais técnicos. As memórias dinâmicas têm tipicamente tempo de acesso de 70 ou 60 ns. Já as
PandaTitan Informática
Página 2
Manaus / Amazonas
CURSO TÉCNICO EM INFORMÁTICA -Acesso a RAM Prof.º Adriano Queiroz Sobrinho – 3648-4152 / 9125-9909 – Rua Altair Severiano, 104, Eldorado memórias estáticas são bem mais rápidas, apresentando tempo de acesso de 20 ns ou menor (as que são utilizadas no cache de memória dos micros modernos possuem um tempo de acesso de apenas 5 ns!). Lembre-se: quanto menor o tempo de acesso, melhor! Em circuitos de memória dinâmica assíncronos, como FPM, EDO e BEDO, O tempo de acesso vem estampado na nomenclatura do circuito integrado, como sufixo. O sufixo “6” em uma memória dinâmica assíncrona significa que esta tem 60 ns de tempo de acesso, por exemplo. A Figura mostra exemplos de circuitos de memória assíncrona com 70 ns de tempo de acesso. Você deve observar que em circuitos de memória RAM síncrona — como a SDRAM —, por ser sincronizado com o clock do barramento local, o que há escrito no circuito integrado não é o seu tempo de acesso, mas sim a sua freqüência de operação máxima, expressa em nanossegundos. Para obter o valor em Megahertz, basta fazer a seguinte conta: RAM Mhz = 1000 / Valor estampado.
CICLO DE ACESSO O processador gasta dois pulsos de clock para acessar a memória RAM. Dessa forma, pelo menos teoricamente, a memória RAM do micro deverá ser capaz de entregar ou armazenar um dado dentro desse tempo — ou seja, o tempo de acesso da memória RAM deverá ser menor ou igual a dois pulsos de clock. É claro que estamos nos referindo ao clock do barramento local do micro (clock externo, ou seja, o clock utilizado na placa-mãe e que será usado na comunicação do processador com a memória), e não ao clock interno do processador. Em um micro com processador 486DX-25, em que o clock do barramento local é de 25 Mhz, cada pulso de clock demorará 40 ns (1/f: período é o inverso da freqüência — no caso, 1/25.000.000 = 0,000.000.04 = 40 ns). Isso significa que o tempo de acesso da memória deverá ser, no mínimo, de 80 ns, ou seja, uma memória de 70 ns ou mesmo de 60 não funcionaria perfeitamente bem nesse micro.
Já em um micro com processador 486DX-33 (ou DX2-66 ou DX4-l00, pois todos trabalham externamente a 33 MHz), cada pulso de clock demorará 30 ns. A memória deverá ter, no mínimo, 60 ns de tempo de acesso. Tentar utilizar uma memória com um tempo de acesso maior faria com que houvesse travamentos no micro ou até mesmo que o micro nem ligasse. À medida que o clock do barramento local aumenta, menor deverá ser o tempo de acesso da memória. Observe a tabela e o gráfico. No caso dos processadores que trabalham com 66 MHz de freqüência de operação do barramento local (Pentium— 100, Pentium-133, Pentium-166, Pentium-200 e superiores, ou seja, a maioria dos processadores disponíveis hoje),
PandaTitan Informática
Página 3
Manaus / Amazonas
CURSO TÉCNICO EM INFORMÁTICA -Acesso a RAM Prof.º Adriano Queiroz Sobrinho – 3648-4152 / 9125-9909 – Rua Altair Severiano, 104, Eldorado a memória deverá ter, no mínimo, 30,3 ns de tempo de acesso! A solução para essa situação — e diversas outras, como a instalação de memória RAM com 70 ns de tempo de acesso em um simples 486DX-33 — está na utilização de pulsos de clock extras, chamados wait states. Esses pulsos de clock extras têm como objetivo fazer com que o processador — que e mais rápido que a memória RAM — espere o tempo necessário para que a memória fique pronta para receber ou entregar dados, O grande problema é que, durante esse período, o processador fica ocioso, fazendo com que haja queda no desempenho. Em outras palavras, como o processador não irá ficar fazendo nada, estaremos desperdiçando esse tempo de ociosidade, que poderia estar sendo utilizado para executar alguma tarefa. Estudaremos os wait states e a sua influência no desempenho do micro a seguir.
WAIT STATES Um wait state é um pulso de clock extra adicionado ao ciclo de leitura ou escrita da memória. Como o ciclo de acesso à memória RAM dura dois pulsos de clock, com a adição de 1 wait state o ciclo passaria a ter três pulsos de clock. Se adicionarmos dois wait states ao ciclo de leitura em memória, este passa a ter quatro pulsos de clock de duração e assim sucessivamente. Aumentar a duração do ciclo de acesso à memória faz com que memórias com tempos de acesso maiores possam ser utilizadas. Por exemplo, se utilizarmos um processador que trabalhe externamente a 66 Mhz, teremos de adicionar 2 wait states para que o ciclo passe a ser de 60 ns, fazendo com que memórias com tempo de acesso de 60 ns possam ser utilizadas. Cálculo usado: cada pulso de clock terá 15 ns; a memória deve ser capaz de responder em dois pulsos de clock, ou seja, em 30 ns. Precisamos adicionar dois pulsos extras (ou seja, dois wait states) para que o ciclo passe a ser de 60 ns, fazendo com que memórias de 60 ns consigam responder. Esse exemplo está esquematizado na figura da próxima página . No caso da utilização de uma memória com 70 ns de tempo de acesso, teremos de adicionar mais um wait state (ou seja, um total de três wait states), para que o ciclo de acesso à memória seja de 75 ns e esta possa acompanhar a transferência de dados com o processador. Em outras palavras, para que o processador consiga comunicar-se corretamente com a memória RAM, o ciclo de leitura deverá ser igual ou maior que o tempo de acesso da memória RAM. Caso isso não ocorra, e necessária a adição de pulsos de clock extras, chamados wait states. Deverão ser adicionados tantos wait states quantos forem necessários para que essa condição seja atingida. Nesses exemplos estamos assumindo que a memória RAM (do tipo assíncrona (FPM ou EDO). As memórias RAM do tipo síncrona (SDRAM) utilizam um método de funcionamento diferente. Como são sincronizadas pelo clock do barramento, não apresentam esse tipo de problema de sincronização. Em compensação, continuam possuindo um tempo de resposta (tempo de acesso. Isto e, o tempo demorado entre o processador pedir um dado e a memória entregá-lo) relativamente alto, normalmente de dois ou três pulsos de clock (entre 30 e 45 ns, no caso de barramentos de 66Mhz ou 20 e 30 ns, no caso de barramentos de 100 MHz). Essa característica não é chamada de ‘tempo de acesso “, mas sim latência do CAS. A utilização de wait states faz com que as lentas memórias dinâmicas consigam ser utilizadas mesmo em micros mais modernos. No entanto, temos um grande problema: durante um pulso de wait state, o processador fica ocioso, esperando que a memória esteja pronta para armazenar o próximo dado ou então entregar o)”. (dado) “. solicitado. Na utilização de apenas um wait state, reduzimos o desempenho do computador em 1/3: o processador utiliza três pulsos de clock para acessar à memória, porém somente dois pulsos são efetivamente utilizados; no outro pulso, o processador fica ocioso. No caso da adição de dois wait states, reduzimos o desempenho em 1/2, ou seja, 50%, pois metade dos pulsos utilizados no acesso à memória não são utilizados. E assim sucessivamente, ou seja, quanto mais wait states utilizamos, menor será o desempenho do micro. Na Figura temos um gráfico demonstrando essa queda de desempenho. É claro que estamos nos referindo ao desempenho exclusivamente do acesso à memória. Porém, como o processador esta acessando memória na maior parte das vezes, o desempenho total do micro é brutalmente atingido. Utilizar memória com o menor tempo de acesso possível faz com que o micro utilize menos wait states, melhorando o problema de desempenho. Contudo, mesmo utilizando as memórias dinâmicas”. assíncronas mais rápidas existentes no mercado, não é possível acessar a memória sem utilizar wait states. Se você resolver trocar a memória de seu micro por uma com tempo de acesso menor, não se esqueça de configurar o micro de forma que ele efetivamente utilize menos Wait States. Caso Contrario, o micro continuara utilizando o mesmo nu/mero de wait states que estava configurado anteriormente. mesmo que você tenha trocado as memórias por modelos mais rápidos. Em outras palavras, trocar simplesmente sua memória de 70 ns de tempo de acesso por uma de 60ns não fará com que o seu micro fique mais rápido; você deverá reconfigurar o numero de wait states no setup da BIOS do micro. A solução para o impacto no desempenho é a utilização de uma memória que consiga “falar” com o processador na mesma velocidade — a memória estática. Utilizamos uma pequena quantidade de memória estática no micro: o cache de memória. Quando o processador for armazenar ou buscar dados, ele estará na verdade “conversando” com a memória cache (memória estática), e não com a memória dinâmica, faPandaTitan Informática
Página 4
Manaus / Amazonas
CURSO TÉCNICO EM INFORMÁTICA -Acesso a RAM Prof.º Adriano Queiroz Sobrinho – 3648-4152 / 9125-9909 – Rua Altair Severiano, 104, Eldorado zendo com que ele não precise utilizar wait states e, conseqüentemente, não comprometendo o desempenho no micro. Em pelo menos 60% a 80% do tempo o processador acessa a memória cache e não a memória RAM. Nos exemplos práticos que demos, em um micro com processador que trabalhe a 66 MHz e utilize dois wait states (memória de 60 ns), a conversa do processador com a memória equivale a um processador trabalhando externamente a apenas 33 MHz. No caso da utilização de cinco wait states (memória de 70 ns), o desempenho seria de um processador trabalhando a apenas 26,4 MHz. Colocamos esses valores para você se impressionar e perceber que atualmente não podemos dispensar o uso do cache de memória. Quanto maior a freqüência de operação do barramento local (isto é, a freqüência externa do processador), pior é essa situação. Novas tecnologias — como a EDO e a SDRAM — tiveram de ser criadas para diminuir a quantidade de wait states utilizada pelo processador no acesso a memória RAM, como veremos. É importante notar que todos esses cálculos são teóricos. A utilização do controlador de memória RAM gera um atraso no sinal enviado pelo processador, que acaba aumentando o tempo de acesso da memória RAM da maneira que é vista pelo processador. Por causa dessa situação, uma memória de 70 ns pode ter o efeito de uma memória de 75 ou 80 ns de tempo de acesso. As especificações técnicas do chipset (ponte norte) trazem o período mínimo de acesso à memória RAM, expressa em pulsos de clock. Além disso, mais importante do que saber o tempo de acesso da memória RAM, é saber o seu tempo de ciclo de acesso aleatório (também chamado TRC). Esse valor mede a capacidade de dois acessos consecutivos a endereços diferentes da memória RAM e varia de acordo com o tipo de circuito, modelo e fabricante. Por exemplo, um circuito de memória FPM de 70 ns tipicamente possui um tempo de ciclo de 130 ns (esse tempo cai para 110 ns se a memória for de 60 ns). Isso quer dizer que dois acessos consecutivos à memória RAM deverão possuir um espaço de tempo de 130 ns entre eles! Nesse caso, o processador terá de esperar ainda mais!
PandaTitan Informática
Página 5
Manaus / Amazonas
CURSO TÉCNICO EM INFORMÁTICA -Acesso a RAM Prof.º Adriano Queiroz Sobrinho – 3648-4152 / 9125-9909 – Rua Altair Severiano, 104, Eldorado
NOVAS TECNOLOGIAS DE MEMÓRIA RAM Mesmo não podendo baixar o tempo de acesso da memória dinâmica (sobretudo por causa da necessidade de ciclos de refresh), os fabricantes conseguiram desenvolver diversas novas tecnologias de construção de circuitos de memória RAM. Embora tenha o mesmo tempo de acesso, (circuitos com tecnologias de construção) diferentes podem apresentar velocidades diferentes. Uma memória EDO, por exemplo, e mais rápida que uma memória FPM, mesmo quando as duas apresentam o mesmo tempo ele acesso. Quando dizemos “tecnologia de construção de memória‘, estamos nos referindo ao tipo de circuito integrado de memória utilizado (FPM, EDO, BEDO. SDRAM, RDRAM). Estes circuitos poderão ser montados em qualquer tipo de módulo de memória, em especial SIMM-72 e DIMM — ou seja,você pode encontrar módulos de memória SIMM-72 ou DIMM construídos utilizando circuitos FPM, EDO, BEDO ou SDRAM. Muitos leigos confundem os dois grupos, não entendendo a diferença entre um módulo SIMM e um” módulo EDO “(não existe esse tipo de módulo, embora a memória EDO possa ser utilizada em módulo SIMM)”.
PandaTitan Informática
Página 6
Manaus / Amazonas