Buscar

Teoria sobre memórias


Continue navegando


Prévia do material em texto

Memórias
Introdução
Um sistema digital é capaz de armazenar facilmente uma grande quantidade de informação por períodos de tempo curtos ou longos, sendo esta a sua principal vantagem sobre os sistemas analógicos, pois tal característica torna os sistemas digitais bastante versáteis e adaptáveis a um sem-número de situações. Este capítulo é dedicado ao estudo dos tipos mais comuns de dispositivos e sistemas de memória empregados no armazenamento de informações em computadores digitais.
Já estamos familiarizados com o flip-flop. Sabemos também que grupos de flip-flops denominados registradores são capazes de armazenar informação estruturada (dados ou instruções), e que tais informações podem ser recebidas/transferidas de/para outros dispositivos de armazenamento.
Os registradores são elementos de memória de alta velocidade, empregados no armazenamento de informação durante o processo de execução de instruções pela unidade de controle da máquina, havendo uma constante movimentação de informações entre os registradores e os demais dispositivos componentes do sistema.
Em geral, um sistema de computador usa memória principal (interna) de alta velocidade e dispositivos de memória secundária (externa ou de massa) lentos, mas com alta capacidade de armazenamento.
E a memória de um computador é o local onde o programa e os dados são armazenados antes de se começar os cálculos. Durante um processamento de computador, a seção de controle pode armazenar respostas parciais na memória, de maneira idêntica à que usamos no papel, para registrar nosso trabalho. A memória é portanto uma das partes mais ativas de um computador, armazenando não somente o programa e os dados mas também os dados processados.
Terminologia
Célula de memória
Flip-flop que armazena um único bit
Dado
Grupo de células de 8 á 64 bit
Endereço
Posição do dado na memória
Memória volátil
Necessita energia para manter a informação armazenada
Memória estática
Enquanto houver alimentação não é necessário reescrever o dado
Memória dinâmica
Necessitam de recarga ( refresh )
Operação da memória
Apesar das diferenças existentes na implementação de cada um dos tipos de memória, um certo conjunto de princípios básicos de operação permanece o mesmo para todos os sistemas de memória. Cada sistema requer um conjunto de tipos diferentes de entrada e saída para realizar as seguintes funções:
	Selecionar o endereço para read/write.
	Selecionar a operação a ser realizada, read/write.
	Fornecer os dados de entrada para a operação de write.
	Manter estáveis as informações de saída da memória resultantes de uma operação de read, durante um tempo determinado.
	Habilitar/desabilitar a memória, de forma a fazê-la (ou não) responder ao endereço na entrada e ao comando de read/write.
Tipos de memórias
Memórias de leitura - ROM
ROMs são usadas para guardar instruções e dados que não vão mudar durante o processo de operação do sistema e que podem ser mantidos mesmo após o computador ser desligado.
Assim, Uma das aplicações de ROM é no armazenamento de alguns SOs e para armazenar informações em equipamentos controlados por mPs, como caixas registradoras, sistemas de segurança e diversos aparelhos eletrodomésticos.
Para alguns tipos de ROM, os dados que estão armazenados foram gravados durante o processo de fabricação da memória. Para outros tipos, os dados são gravados eletricamente. Esse processo de gravação de dados é chamado de programação, ou queima da ROM. Algumas podem apagar e regravar seus dados quantas vezes forem necessárias.
A figura abaixo mostra um modo de se construir uma ROM. Cada fila horizontal é um registrador ou local da memória. O registrador R0 contém três diodos, o registrador R1, um diodo etc.
Rom de Diodos
Registrador
Endereço
Palavra
R0
0
0111
R1
1
1000
R2
2
1011
R3
3
1100
R4
4
0110
R5
5
1001
R6
6
0011
R7
7
1110
A saída da ROM é a palavra D = D3 D2 D1 D0 
Na posição 0 da chave, uma tensão alta aciona (faz conduzir) os diodos no registrador R0; todos os outros diodos estão cortados (sem conduzir). Isto significa que uma saída alta aparece em D2, D1 e D0. Portanto, a palavra armazenada no local 0 da memória é D = 0111. O que acontece se a chave for movida para a posição 1? O diodo no registrador R1 conduzirá, forçando D3 a tornar-se alta. Em virtude de todos os outros diodos estarem cortados, a saída da ROM tornar-se-á D = 1000 
Quando movermos a chave para as outras posições, leremos o conteúdo dos outro locais da memória. A tabela vista anteriormente mostra estes conteúdos, que podemos analisar a figura também vista anteriormente. Com circuitos discretos, podemos modificar os conteúdos de um local da memória acrescentando ou retirando diodos. Com circuitos integrados, os fabricantes armazenam as palavras na hora da fabricação. Em cada caso, as palavras são permanentemente armazenadas uma vez que os diodos estejam montados no lugar. 
Endereços 
O endereço e os conteúdos de um local da memória são duas coisas diferentes. Conforme mostrado na tabela vista anteriormente, o endereço de um local da memória é o mesmo que o subscrito do registrador que armazena a palavra. Este é o motivo pelo qual o registrador 0 tem um endereço 0 e conteúdo 0111; o registrador 1 tem um endereço 1 e conteúdo 1000; o registrador 2 tem um endereço 2 e conteúdo 1011 e assim por diante. A idéia de endereços aplica-se às ROMs de qualquer tamanho. Por exemplo, uma ROM com 256 locais de memória tem endereços decimais que vão de 0 a 255. Uma ROM com 1024 locais de memória tem endereços decimais de 0 a 1023. 
Decodificação em Pastilhas Em vez de selecionar por chaves o local da memória, conforme mostrado na figura anterior, os fabricantes de CIs usam a decodificação em pastilhas. A próxima figura nos dá a idéia. Os pinos de três entradas (A2, A1, A0) fornecem o endereço binário da palavra armazenada. Depois um decodificador 1-de-8 produz uma saída alta para um dos registradores. Por exemplo, se ADDRESS = A2 A1 A0 = 100 o decodificador 1-de-8 aplica uma tensão alta ao registrador R4 e a saída da ROM é D = 0110. Se modificarmos a palavra de endereço para ADDRESS = 110 leremos o conteúdo do local 6 da memória, que é D = 0011. 
O circuito da próxima figura é uma ROM de 32 bits organizada como 8 palavras de 4 bits cada uma. Ele tem 3 linhas (entradas) de endereços e quatro linhas (saídas) de dados. Esta é uma ROM muito pequena comparada com as ROMs disponíveis. 
Número de linhas de endereços 
Com a decodificação em pastilhas, n linhas de endereços podem selecionar 2n locais da memória. Por exemplo, necessitaremos de 3 linhas de endereços para ter acesso a 8 locais da memória. Similarmente, 4 linhas de endereço podem ter acesso a 16 locais da memória, 8 linhas de endereço podem ter acesso a 256 locais da memória e assim por diante.
Com uma ROM, temos que enviar uma lista de dados a serem armazenados nos diferentes locais da memória para o fabricante, que então produz uma máscara (um gabarito ou padrão fotográfico do circuito) usada na produção em massa das nossas ROMs. Na fabricação das ROMs, o fabricante pode usar transistores bipolares ou MOSFETs. Mas a idéia é ainda basicamente a mesma; os transistores ou os MOSFETs atuam como os diodos.
Tipos de Rom
MROM – Mask Read Only Memory
Este tipo tem suas posições de memória escritas (programadas) pelo fabricante de acordo com as especificações do cliente. Um negativo fotográfico, denominado máscara, é usado para especificar as conexões elétricas do chip. Uma máscara diferente é requerida para cada conjunto de informações a ser armazenado na ROM. Em razão de tais máscaras serem caras, este tipo de ROM só será viável sob ponto de vista econômico, se for produzido um número muito grande de ROMs com a mesma máscara. A maior desvantagem é o fato delas não poderem ser apagadas e reprogramadas. 
PROMs – Programmable Read Only Memory
Com uma ROM programável(PROM) é diferente. Ela permite ao usuário armazenar os dados. Normalmente são adquiridas no estado virgem (não programadas). Muitas são fabricadas sob a forma de matriz de diodos, porém com diodos presentes em todos os cruzamentos das linhas com as colunas. Nestas condições uma memória PROM, virgem, apresenta sempre o nível lógico 1, para qualquer que seja o endereço selecionado. A programação consiste simplesmente em eliminar os diodos colocados nos cruzamentos onde desejamos ter nível lógico 0. Algumas memórias possuem também um fusível em série com o diodo, sendo que para programá-la, devemos fazer circular uma corrente elétrica suficientemente alta para romper (queimar) este fusível com um instrumento chamado programador PROM o qual faz a "queima". Uma vez que isto tenha sido feito, a programação é permanente. Em outras palavras, os conteúdos armazenados não podem ser apagados. 
Para aplicações mais modestas em termos de quantidades de chips a ser produzidos, a indústria desenvolveu as PROMs a fusível. Uma vez programada, a PROM torna-se uma MROM, ou seja, não pode ser apagada e novamente programada.
O processo de programação de uma PROM com a conseqüente verificação dos dados gravados pode ser muito tedioso e demorado, se realizado manualmente. Existe no mercado um sem-número de dispositivos programadores de PROMs que permitem a entrada da programação por teclado, para então realizar a queima dos fusíveis e verificação dos dados gravados, sem a intervenção do usuário.
EPROM – Erasable Read Only Memory
Do inglês "erasable PROM" que significa PROM apagável. Em outras palavras podemos dizer que as memórias EPROM são memórias que podem ser apagadas e reprogramadas. 
A EPROM usa tecnologia MOSFET. A tecnologia empregada na fabricação das memórias EPROM é a FAMOS (Floating-gate Avalanche-injection MOS). Cada elemento de memória de uma memória EPROM FAMOS consiste de uma pequena barra de silício, localizada entre o dreno e o source de um transistor de efeito de campo MOS. Essa pequena barra de silício não tem qualquer ligação com o dreno ou o source do transistor, nem mesmo externamente. Daí o nome de porta flutuante (floating-gate).
Durante o processo de programação, aplica-se um pulso de tensão fortemente negativo entre o dreno e o source, o qual irá provocar uma injeção de elétrons na porta flutuante, tornando a porta flutuante eletricamente carregada. No processo de apagamento da memória, os raios ultravioletas criam um efeito de ionização. Este efeito faz com que o excesso de elétrons presentes na porta flutuante volte ao substrato. 
Em outra palavras, a EPROM é apagável pela luz ultravioleta e eletricamente reprogramável. A EPROM é valiosa no projeto e no desenvolvimento. Ela permite ao usuário apagar e armazenar até que o programa até que o programa e os dados estejam aperfeiçoados. Depois o programa e os dados podem ser mandados a um fabricante de CIs que produz uma máscara ROM para a produção em massa. 
Uma vez programada, a EPROM comporta-se como memória não-volátil que reterá os dados nela armazenados indefinidamente. Este tipo de memória foi muito usada em BIOS antigas, além de outros dispositivos
Uma vez que uma célula da EPROM tenha sido programada, é possível apagá-la expondo à radiação ultravioleta, aplicada através da janela do chip. Tal processo de apagamento requer uma exposição de 15 a 30 minutos aos raios ultravioletas. A luz passa através de uma janela na embalagem de CI para a pastilha, onde ela libera as cargas armazenadas. O efeito consiste em limpar os conteúdos armazenados mas infelizmente não há como apagar células selecionadas e sim todas as células ao mesmo tempo, de forma que, após a exposição, a EPROM estará novamente armazenando apenas 1S. Uma vez apagada, a EPROM pode ser reprogramada.
EPROMs estão disponíveis numa faixa bem ampla de capacidade e tempos de acesso. Dispositivos com capacidade de 128K x 8 com tempo de 45 hS são muito comuns.
EEPROM - Electrically Erasable Read Only Memory
ROM Programável e apagável eletricamente. EEPROMs diferem das DRAMs porque a memória é mantida quando há uma perda de energia. Também a memória pode ser apagada e reprogramada.
As EEPROM foram desenvolvidas no início dos anos 80, e apresentada ao mercado como um aperfeiçoamento da idéia da PROM. A maior vantagem da EEPROM sobre a EPROM é a possibilidade de apagamento e reprogramação de palavras individuais, em vez da memória toda. Além disso, uma EEPROM pode ser totalmente apagada em 10 mS, no próprio circuito, contra mais ou menos 30 minutos para uma EPROM que deve ser retirada do circuito para submeter-se à ação da luz ultravioleta.
Uma EEPROM também pode ser programada bem mais rapidamente do que uma EPROM, requerendo um pulso de programação de 10 mS para cada palavra, em contraste com o de 50 mS necessário a se programar uma palavra da EPROM.
Flash EPROM
Flash EPROM é uma memória não volátil que retém seus dados quando a energia é removida. Essa memória é similar à EPROM com a exceção de que esta pode ser apagada eletricamente, enquanto a EPROM precisa ser exposta à luz ultra-violeta para ser apagada.
Memória Não-volátil
ROMs, PROMs e EPROMs são memórias não-voláteis. Isto significa que elas retêm os dados armazenados mesmo quando a alimentação de força para o dispositivo estiver desligada.
Exemplo
Uma ROM de 16 X 8 armazena estas palavras em seus 4 primeiros locais
R0=11100010
R1=01010111
R2=00111100
R3=10111111
Exprimindo em notação hexadecimal, os conteúdos armazenados são:
R0=E2H
R1=57H
R2=3CH
R3=BFH
EEPROM x FLASH
Qual a diferença entre EEPROM e FLASH EPROM? Seria apenas a rapidez de ler e gravar os dados? A diferença básica entre memória EEPROM e a FLASH está na estrutura básica da célula de EEPROM que é mais complexa do que a da FLASH, pois permite o apagamento seletivo de apenas um byte se necessário. Com isto o preço de sua produção é elevado. 
A FLASH tem uma estrutura básica de célula simplificada, o que reduz o custo de produção. No entanto só pode ser apagada em blocos, cujo tamanho varia de acordo com o modelo e ou fabricante. 
Portanto a memória FLASH é uma alternativa mais econômica, e a tendência é que a memória EEPROM fique restrita ao uso de memórias de acesso serial, para o armazenamento de parâmetros, sendo gradativamente substituída pela FLASH e por outras que estão surgindo.
Aplicações das ROMs
Firmware (microprograma)
	Programas que não estão sujeitos a mudança.
	Sistemas Operacionais, Interpretadores de linguagem, etc.
Memória de partida fria ( BootStrap )
Programa que leva o processador a inicializar o sistema, fazendo com que a parte residente do sistema operacional seja transferida da memória de massa para a memória interna.
Tabelas de dados
Exemplos: funções trigonométricas e de conversão de código.
Conversores de dados
Recebem um dado expresso em determinado tipo de código, e produzem uma saída expressa em outro tipo de código. Por exemplo, quando o mP está dando saída a dados em binário puro, e precisamos converter tais dados para BCD de forma a excitar corretamente um display de 7 segmentos.
Geradores de caracteres
Armazena os códigos do padrão de pontos de cada caractere em um endereço que corresponde ao código ASCII do caractere em questão. Por exemplo: Endereço 10000012 (41H) corresponde a letra "A".
Considerações finais
Dispositivos Fabricados
Com integração em larga escala, os fabricantes pode fabricar ROMs, PROMs, e EPROMs que armazenam milhares de palavras. Por exemplo, o 8355 é uma ROM de 16384 bits organizada como 2048 palavras de 8 bits cada uma. Ela tem 11 linhas de endereço e 8 linhas de dados. Um outro exemplo, a 2764 é a EPROM de 65536 bits organizada como 8192 palavras de 8 bits cada uma. Ela tem 13 linha de endereços e 8 linhas de dados.
Tempo de Acesso
O tempo de acesso de uma memória é o tempo necessário para ler uma palavra armazenada depois da fabricaçãodos bits de endereço. Uma vez que os transistores bipolares são mais rápidos que os MOSFETs, as memórias bipolares têm tempos de acesso mais rápidos do que as memórias MOS. Por exemplo, a 3636 é uma PROM bipolar com um tempo de acesso de 80hS; a 2716 é uma EPROM MOS com um tempo de acesso de 450hS. Temos que pagar pela velocidade; uma memória bipolar é mais dispendiosa do que uma memória MOS, e portanto cabe ao projetista decidir que tipo usar aplicação específica.
Memórias de Três Estados
Acrescentando-se chaves de três estados às linhas de dados de uma memória podemos obter uma saída de três estados. Por exemplo, a figura a seguir mostra uma ROM de 16384 bits organizada como 2048 palavras de 8 bits cada uma. Ela tem 11 linhas de endereços e 8 linhas de dados. Um HABILITA baixo abre todas as chaves e flutua as linhas de saída. Por outro lado, um HABILITA alto permite que a palavra endereçada alcance a saída final.
As ROMs, PROMs e EPROMs, encontradas no comércio, em sua maioria têm saídas de três estados. Em outra palavras, elas têm chaves de três estados incorporados que nos permite conectar ou desconectar as linhas de saída de um barramento de dados. Mais será dito posteriormente a respeito disto.
Memórias de acesso randômico - RAM
O termo RAM é usado para designar uma memória de acesso randômico, ou seja, uma memória com igual facilidade de acesso a todos os endereços, no qual o tempo de acesso a qualquer um deles é constante. RAMs são usadas em computadores para armazenamento temporário de programas e dados.
A grande desvantagem reside no fato delas serem voláteis. algumas RAMs CMOS têm a capacidade de operar em standby, consumindo muito pouca energia quando não estão sendo acessadas. além disso, algumas podem ser alimentadas por baterias, mantendo seus dados armazenados na ocorrência de eventuais interrupções de energia.
RAM
Random Access Memory - Memória volátil dos computadores (quando desenergizadas perdem toda a informação). Aleatório significa que o acesso é direto, por exemplo para trazer a informação da memória número 7.934.233 não é necessário primeiro ler tudo que tem nas primeiras 7 milhões de posições anteriores, é só ler à posição indicada como se esta fosse a primeira. A ordem em que os dados são lidos não afeta a velocidade do acesso. Os dados são tipicamente guardados na RAM para ser usada pelo processador enquanto o computador está operando.
RAM estática (SRAM)
Uma Static RAM é um circuito integrado similar à DRAM com a exceção de que essa memória não precisa ser atualizada constantemente, e elas podem manter a informação armazenada enquanto a alimentação estiver aplicada ao chip. As células de memória das RAMs estáticas são formadas por flip-flops que estarão em estado 1 ou 0 por tempo indeterminado. Estão disponíveis nas tecnologias bipolar e mos.
As SRAMs estão disponíveis nas tecnologias bipolar e MOS, sendo que a grande maioria das aplicações de RAM Estática usa CMOS e NMOS. 
bipolar: maior velocidade, maior área de integração.
MOS : maior capacidade de armazenamento e menor consumo de potência.
	alto custo.
	difícil integração (pouca capacidade em muito espaço físico).
Os chips bipolares têm a vantagem da velocidade. Já os dispositivos MOS têm muito maior capacidade de armazenamento e menor consumo de potência. A figura abaixo mostra a comparação de uma célula bipolar típica com uma NMOS típica. A célula bipolar tem dois transistores bipolares e dois resistores, enquanto a NMOS possui quatro MOSFETs como resistores (Q3 e Q4).
Asynchronous SRAM
Tipo tradicional de memória estática, utilizada a partir do 80386. embora seja rápida, em freqüências acima de 33Mhz, necessita utilizar wait states. Tem um tempo de acesso típico de 20 a 12 hS.
Synchronous burst SRAM
É o melhor tipo de memória estática para sistemas que operem em até 66Mhz do barramento local, pois não é preciso utilizar wait states. Tem um tempo de acesso típico de 12 a 8.5 hS.
Pipelined burst SRAM
Esse novo tipo consegue trabalhar com barramentos de até 133Mhz sem necessidade de wait states. Tem um tempo de acesso típico de 8 a 4.5 hS.
RAM dinâmica (DRAM)
Dynamic RAM é um tipo de memória usada para guardar informações no sistema do computador. 
A RAM dinâmica é fabricada usando a tecnologia MOS, assim tem alta capacidade de armazenamento, baixo consumo de energia e velocidade de operação moderada. São fabricadas usando a tecnologia MOS. Armazenam 1s e 0s como cargas de microcapacitores MOS, tipicamente de poucos rF. Em função da tendência destes capacitores se descarregarem após decorrido tempo, as RAMs dinâmicas necessitam de recarga periódica das células de memória, operação está denominada refresh da DRAM. Cada célula precisa ser recarregada decorridos de 2 a10ms, ou a informação nela armazenada será perdida daí o termo Dinâmica que quer dizer que a memória precisa de uma constante atualização (pulsos de corrente em todas células de memória) para manter a informação.
Até bem recentemente, se acoplava à memória DRAM um circuito para implementar a operação de refresh durante os intervalos de tempo em que a memória não estava sendo acessada para uma operação de leitura ou escrita. Para memórias relativamente pequenas, com menos de 60K palavras, a RAM integrada, iRAM, fornece uma solução, um CI que inclui os circuitos de refresh no mesmo chip que abriga a matriz de células de memória. A memória principal da maioria dos microcomputadores atuais usam DRAM em virtude de sua alta capacidade e baixo consumo.
Vantagens:
1.	alta capacidade de armazenamento.
2.	baixo consumo de energia.
3.	velocidade de operação moderada.
4.	armazenam 1s e 0s como carga de microcapacitores mos.
5.	baixo custo.
Desvantagens:
1.	necessitam de recarga periódica das células de memória
2.	operação de refresh de cada célula a cada 2~10 ms.
Sempre que uma operação de leitura for realizada em determinada célula da DRAM, todas as células desta mesma linha sofrerão refresh. 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. 
Para entendermos as novas tecnologias de construção de memórias dinâmicas e as suas vantagens, devemos ir um pouco mais a fundo no funcionamento das memórias dinâmicas. As novas tecnologias são alterações na estrutura básica do funcionamento da memória, que fazem com elas gastem um número menor de wait states.
Podemos citar:
	Memória Fast Page Mode ( FPM )
	Memória Extended Data Out ( EDO )
	Memória Burst Extended Data Out ( BEDO )
	Memória Synchronous Dynamic RAM ( SDRAM )
	Memória Double Data Rate SDRAM ( SDRAM-II )
Ram não-volátil (NVRAM)
Non Volatile RAM são aquelas que, mesmo com a falta de energia, não perde as informações contidas nela.
Contém uma matriz de RAM estática e uma matriz EEPROM no mesmo chip. Cada célula da RAM estática tem uma correspondente na EEPROM, e a informação pode ser transferida entre células correspondentes em ambas as direções. 
Elas atuam na ocorrência de falta de energia, ou quando o computador for desligado. a operação de transferência é realizada em paralelo e gasta alguns poucos mS.	A NVRAM tem a vantagem de não precisar de bateria. Não estão disponíveis em versões de grande capacidade de armazenamento. 
Vantagens : tem uma alta velocidade de operação. 
Desvantagem : perderá as informações armazenada se a energia for interrompida, mesmo que momentaneamente.
Para resolver a questão da falta de energia, podemos usar um circuito sensor de tensão detecta a queda de tensão AC de alimentação e envia um sinal a entrada da NVRAM STORE. Isto faz com que todos os dados armazenados sejam transferidos para as correspondentesna EEPROM, essa transferência é realizada em paralelo, por causa de seus capacitores de saída da NVRAM fica energizado até que a transferência se complete. Quando a energia for restabelecida, a NVRAM vai transferir automaticamente as informações da EEPROM de volta para a RAM. Ou então para você não perder as informações em caso de falta de energia:
1.	Usar memórias que possam ser alimentadas por baterias sempre que ocorrer a falta de energia, a tecnologia usada nestes tipos de memórias é a CMOS. Algumas SRAMs CMOS, incluem no chip pequenas baterias de lítio. 
2.	Empregar um dispositivo chamado de RAM não-volátil (NVRAM) o chip NVRAM combina alta velocidade de operação das RAMs com a capacidade de armazenamento não-volátil. 
1.	
VRAM
Video RAM. Tipo especial de memória utilizada em placas de vídeo, ao contrário dos tipos convencionais de DRAM, pode ser acessada simultaneamente por dois componentes. Isso permite que a placa de vídeo use os dados contidos na VRAM para atualizar a exibição das imagens, ao mesmo tempo que o processador inclui novos dados. O uso de memórias VRAM, proporciona uma qualidade de vídeo muito superior. Porém é muito mais cara que os tipos de DRAM tradicionais.
EDO RAM
É o tipo de memória mais usado atualmente, é encontrado em velocidades de 70, 60 e 50hS. A diferença entre a memória FPM e a EDO, é que a EDO consegue trabalhar com Wait States de 5-2-2-2 sendo cerca de 20% mais rápida do que a FPM. Este tipo de memória foi usado em pentes de 72 vias e em alguns modelos de pentes de 168 vias. Ao contrário do que se costuma dizer, as memórias EDO de 60 e 50hS (desde que de boa qualidade) suportam trabalhar com barramento de 75 MHz. Em muitos casos se consegue que esse tipo de memória suporte barramento de 83 MHz aumentando os Wait States para 5-3-3-3.
SDRAM II/DDR-SDRAM - Double Data Rate-Synchronous DRAM 
Um tipo de SDRAM que suporta transferências de dados duas vezes por ciclo de clock, dobrando a velocidade de acesso. Este tipo de memória consegue suportar velocidades de barramento de cerca de 200 MHz. A transferência de dados entre o processador e esse tipo de memória é de cerca de 2.4 GB per Sec.
SRAM
Um circuito integrado similar à DRAM com a exceção de que essa memória não precisa ser atualizada, mantém os dados nela gravado mesmo com a falta de energia, para manter os dados basta a eletricidade de uma bateria.
BEDO
Burst EDO - Uma variante da RAM Dinâmica EDO na qual os ciclos de leitura ou escrita duram quatro ciclos de clock. A velocidade do barramento da Burst EDO fica entre 40MHz e 66MHz.
FPM
É o mais velho e menos sofisticado tipo de RAM, usada em micros 486 e Pentiums mais antigos, esse tipo de memória é encontrado em velocidades de 80, 70 e 60hS. Os intervalos de espera desse tipo de memória (Wait States) não podem ser menores do que 5-3-3-3. E pode ser utilizada em velocidades de barramento de até 66Mhz.
WRAM (Windows RAM)
É um outro tipo de VRAM, porém oferece uma performance melhor e é mais barata, oferecendo endereçamento de grandes blocos da memória de vídeo.
Rambus DRAM (RDRAM) 
Desenvolvida pela Rambus Inc., é um tipo de memória EDO melhorada. É usada em muitas aceleradoras de vídeo, sendo o tipo de memória de vídeo mais rápida e cara que existe atualmente.
ESDRAM - Enhanced SDRAM 
A tecnologia das memórias ESDRAM foi desenvolvida por alguns fabricantes para tentar resolver o problema da latência das memórias SDRAM. Essa tecnologia consiste em adicionar uma pequena quantidade de memória estática dentro do circuito da memória, criando um pequeno cache. Tais memórias suportam trabalhar em freqüências de até 200MHz.
SLDRAM - SyncLink 
Esse tipo de memória possui arquitetura aberta, ou seja, os fabricantes não precisam pagar direitos autorais à empresa que criou essa tecnologia e também é baseada em protocolo.
SGRAM - Synchronous Graphic Random Access Memory 
Um tipo de memória SDRAM otimizada para o uso em placas de vídeo. Ao contrário dos outros tipos de VRAM, ele possui apenas uma entrada de dados, porém, pode abrir duas páginas de memória ao mesmo tempo, simulando uma dupla entrada de dados.
Tempo de Acesso
O temo de acesso de uma memória é o tempo necessário para ler uma palavra armazenada depois da fabricação dos bits de endereço. Uma vez que os transistores bipolares são mais rápidos que os MOSFETs, as memórias bipolares têm tempos de acesso mais rápidos do que as memórias MOS. Por exemplo, a 3636 é uma PROM bipolar com um tempo de acesso de 80 ns; a 2716 é uma EPROM MOS com um tempo de acesso de 450hS. Temos que pagar pela velocidade; uma memória bipolar é mais dispendiosa do que uma memória MOS, e portanto cabe ao projetista decidir que tipo usar aplicação específica.
Ciclo de Acesso
O processados gasta dois pulsos de clock para acessar a memória RAM, então a memória deverá ser capaz de entregar ou armazenar um dado dentro desse período. Isso implica no tempo de acesso da memória RAM que deverá ser menor ou igual aos dois ciclos de clock (referente ao clock da placa-mãe).
Em um micro com processador 486DX-25, no qual o barramento local é de 25MHz, cada pulso de clock terá a duração de 40ns, portanto o tempo de acesso da memória deve ser de, pelo menos, 80hS (nada contra memórias com tempo de acesso menor, como 70hS ou 60hS).
A medida que o clock do barramento local aumenta, menor deverá ser o tempo de acesso da memória. Seguindo essa perspectiva, precisaríamos de, no mínimo, uma memória com 30,3hS de tempo de acesso para um barramento local de 66MHz. A solução para isto está na utilização do pulsos extras de clock, que são chamados Wait States.
Wait States
Um Wait State é um pulso de clock adicional 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 um wait state o ciclo passa a ter três pulsos de clock. Aumentar a duração do ciclo de acesso à memória faz com que memórias com tempos de acesso maiores possam ser utilizadas.
Cache
Memória de carregamento rápido de dados recém acessados, desenvolvida para aumentar a velocidade de acesso subseqüente ao mesmo dado. Tipicamente é usada entre o processador e a memória principal.
Cache de memória externo 
A memória RAM é uma memória de consulta 100.000 vezes rápida do que a dos dispositivos de armazenamento secundário. No entanto, até mesmo a com velocidade mais rápida (a com 50hS de tempo de acesso) é 3 a 10 vezes mais lenta do que a contida no microprocessador. 
A CPU é capaz de executar instruções muito mais rapidamente do que a memória RAM é capaz de as fornecer (por ser mais lenta). Para que o processador não fique inativo enquanto aguarda instruções, pode-se interpor entre ele e a memória RAM uma pequena quantidade de memória de alta velocidade, designada cache de memória externo (uma memória de prazo ultracurto), que é usada para armazenar informação que se prevê vá ser utilizada pela CPU. Esta passa, portanto, a ter de aguardar muito menos tempo para que lhe seja enviada a instrução que deverá processar em seguida. 
O cache envolve uma memória RAM de tipo especial, a memória RAM estática (SRAM), cujo tempo de acesso é cerca de 15 hS (ou seja, cerca de 3 vezes mais rápido do que a memória DRAM mais rápida que há). O seu preço, é, porém, também muito mais elevado do que o dessa memória. 
Há vários tipos de cache externo, dos quais o mais barato (e o mais lento) é o cache assíncrono, que já quase desapareceu dos computadores mais modernos. Os caches mais eficazes (e pouco mais caros) são síncronos (ou seja, permitem a transferência de dados do cache de memória para a memória viva durante os períodos em que o processador não está a procurar dados na memória). O cache pipelined-burst é particularmente utilizado nos sistemas Pentium mais potentes. 
Nos novos Pentium Pro, o cache externo passou a ser incorporado no próprio microprocessador, sendo designado cache de nível 2 (L2). Esta alteração torna ainda mais rápidaa transferência de dados para a CPU. Um cache externo poderá aumentar o rendimento de um PC em cerca de 50%. Os computadores atuais dispõem regra geral de um cache externo de 256 Kb. 
Cache interno (cache de nível 1 ou cache L1) 
Dentro do mP existe também um cache de memória interno ou cache de nível 1 (L1) com uma capacidade de 8 a 32 Kb, que se interpõe entre a CPU e o cache de memória externo (ou, no caso dos Pentium Pro, entre a CPU e o cache de nível 2, também ele interno). Este cache, ainda mais rápido do que o cache de memória externo, desempenha basicamente as mesmas funções que este (transferência rápida de dados e instruções entre a memória e a CPU). 
Praticamente todas as placas possuem um cache memory. Nos 486 e Pentium este cache pode variar entre 128 Kb e 1 Mb (1024 Kb ). 
O cache é um conjunto de chips de acesso rápido instalados na placa mãe, ou seja, externo ao processador. A memória principal do computador DRAM é bem mais lenta que a memória cache ou secundária, SRAM que tem tempos de acesso de até 12hS, mas em compensação é bem mais cara. 
Assim o cache reduz sensivelmente a velocidade de acesso médio a memória principal armazenando as mais requisitadas instruções e dados. A efetividade do cache está relacionada com o seu tamanho, largura do byte, algoritmo de substituição de dados, esquema de mapeamento e do tipo do programa em execução.
Não é a toa que a tecnologia de cache está presente tanto em HDs, processadores (o 486 DX tem 8 Kb de cache internamente e 16 Kb no Pentium) e em muitas outras placas.
A construção das memórias cache segue princípios de construção totalmente diferentes das memórias comuns. Utilizam elementos lógicos compostos basicamente de transistores chamados flip-flops.
Resumindo tudo, o cache trabalha na velocidade do processador enquanto a memória DRAM depende da inclusão de wait states (estados de espera do processador) para disponibilizar o dado devido a sua lentidão.
FIFO
Os elementos estão em ordem cronológica normal, chamada FIFO (First In, First Out): o primeiro elemento adicionado é o primeiro elemento da fila e o último elemento adicionado é o último elemento da fila.
FILO – LIFO
Os elementos estão em uma ordem cronológica reversa, chamada FILO (First In, Last Out) ou LIFO (Last In, First Out): o primeiro elemento adicionado é o último elemento na pilha, o último elemento adicionado é o primeiro elemento da pilha.
Encapsulamentos
Módulo SIMM (Single in Line Memory Module) de 30 pinos 
Memória utilizada em alguns micros 286 mais modernos, nos micros 386 e em muitos 486. Eram pentes de memória com 30 terminais ou vias, com barramento de 8 bit. Este modulo podia ser encontrado em varias capacidades, os mais comuns eram os de 256K, 1MB e 4 MB, existindo também módulos de 512K, 8MB e 16MB. Por ser um módulo de 8 bit, era necessário usar um par de módulos em cada banco (um banco era composto de dois soquetes para encaixe dos módulos, e em geral haviam dois bancos, totalizando 4 soquetes) nos micros 286 para que fornecesse o mesmo números de bit usados pelo processador (16bit). Já nos micros 386 DX que tinham processadores que se comunicavam com a memória em 32 bit, eram necessários que dois bancos (ou os 4 soquetes) estivessem preenchidos, totalizando 32 bit. Foram fabricados com velocidade de acesso entre 100 e 70hS.
Modulo SIMM de 72 pinos 
Com o uso dos processadores de 32 bits, os fabricantes criaram um novo tipo de pente de memória de 32 bits que ao contrário dos módulos antigos possuía 72 pinos. Esse tipo de memória foi usado nos micros 486 mais modernos e largamente utilizados nos micros Pentium, neste caso sendo necessário o uso em pares já que esses processadores trabalhavam em 64 bits. Os módulos SIMM de 72 pinos são encontrados com velocidades entre 80 e 50hS (no caso das EDO).
Módulo DIP (Dual in Parallel) 
A memória RAM usada na época do XT, também utilizada em alguns micros 286. Eram pequenos chips que eram encaixados na placa mãe. Trata-se de módulos de memórias de 8 bit, fabricados em velocidades de acesso de 150 e 120hS (bilhonésimos de segundo). A instalação destes módulos era muito trabalhosa, e para facilitar a vida dos usuários (e aumentar as vendas) os fabricantes desenvolveram placas de circuito impresso onde os circuitos integrados de memória se encontravam soldados.
Modulo SIPP - SIPP (Single in Line Pin Package)
Os primeiros módulos de memória usados em micros 286 e nos primeiros micros 386, eram também módulos de 8 bits. Esse tipo de memória foi fabricado com velocidades de acesso entre 100 e 120hS.
Modulo DIMM de 168 pinos 
Ao contrario das memórias SIMM, esse módulos possuem contatos em ambos os lados do pente, sendo por isso chamados de DIMM (Double in lIne Memory Module) são módulos de 64 bits, sendo usados em micros Pentium e posteriores.
Funcionamento
O funcionamento e o desempenho do cache de memória varia de acordo com o método organizacional que é utilizado pelo controlador de cache. Existem basicamente três modelos:
1.	Cache com mapeamento direto
2.	Cache completamente associativo
3.	Cache associativo por grupos
É devido ao tipo de organização utilizado pelo controlador que encontramos diferenças de desempenho entre chipsets, bem como processadores. Não podemos nos esquecer de que os processadores a partir do 486 têm um pequeno cache de memória interno (L1). Dependendo do método utilizado pelo controlador desse cache, poderá ser mais eficiente, aumentando o desempenho do micro.
Referências Bibliográficas
MALVINO, Albert Paul; Microcomputadores e Microprocessadores; volume 1;Págs. 137 á 151; Editora McGraw-Hill
http://fabricio.tsx.org
http://www.gabrieltorres.com
http://www.laerte.com