Todas as células de memória têm seu nível, seja 0
ou 1
. A CPU informa ao dispositivo de memória de quais células ele precisa dos valores binários e fornece esse endereço ao dispositivo de memória. Dentro do dispositivo de memória, o endereço é decodificado em um endereço de linha e coluna, e a célula nessa posição na matriz pode obter seus dados no banco de dados, ou seja, no pino de dados.
Digamos que temos um endereço de 8 bits 01100101
. Isso será dividido em um endereço de linha 0110
(o petisco de ordem superior) e um endereço de coluna 0101
(o petisco de ordem inferior). O endereço da linha seleciona a linha 06, para que todas as células conectadas a essa linha tenham seus dados prontos. O endereço da coluna seleciona a célula na coluna # 05 desta linha, para que, finalmente, apenas uma única célula possa colocar seus dados no pino de saída.
O armazenamento de dados segue o mesmo padrão: apenas uma linha é selecionada e a célula na coluna especificada nessa linha obterá os dados presentes no pino armazenados.
Isto é para 1 bit. A operação ocorre para a largura total da palavra de dados simultaneamente, portanto, se você tiver uma memória de bytes, serão recuperados 8 bits e seu valor será colocado em 8 pinos de dados.
editar
Esta imagem deve ajudá-lo a ver melhor as coisas:
Esta é uma representação de uma matriz DRAM , onde os dados são armazenados na carga dos capacitores , cada capacitor é um bit. A parte da linha do endereço (aqui A1..A0) seleciona uma linha, o que significa que eles ativam todos os FETs nessa linha, para que os níveis dos capacitores dessa linha fiquem disponíveis na coluna correspondente. Em seguida, o bloco de seleção de endereço da coluna, controlado pela outra parte do endereço, A3..A2, seleciona o bit do qual queremos os dados.
A DRAM é fácil de construir, mas tem uma desvantagem desagradável: a leitura dos dados descarrega o capacitor, portanto os dados são perdidos. Para combater essa DRAM, existem amplificadores de detecção, que detectam o status atual da célula da memória e o atualizam quando lidos. Além disso, essa atualização deve ser feita periodicamente, pois a carga dos capacitores vazará mesmo quando a memória não for lida. A necessidade de circuitos de atualização é facilmente compensada graças à compactação das células da DRAM.
A SRAM usa alguns transistores para armazenar os dados, e não é volátil da maneira que a DRAM é (embora os dados ainda estejam ausentes quando você desliga a alimentação). Com EEPROM e Flash, os dados são armazenados no portão flutuante (isolado) de um FET e, portanto, não perdem seus dados quando a energia é desligada.
Leitura adicional:
Esta resposta sobre retenção de dados na memória Flash.