Como uma RAM funciona com uma CPU?

8

Estou lendo um livro em linguagem assembly. O problema com este livro é que ele tenta explicar como um ram funciona com uma CPU, mas não explica em profundidade.

Gostaria de saber como uma célula de memória, linha de endereço e pino de dados funcionam ao armazenar ou recuperar dados.

Lua
fonte

Respostas:

9

Todas as células de memória têm seu nível, seja 0ou 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:

matriz de memória

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.

stevenvh
fonte
// Eu realmente aprecio sua resposta. Posso fazer uma nova pergunta? Onde você aprendeu isso? Ainda não o entendo completamente ... pode ser porque não consigo visualizá-lo. Você tem uma imagem ou livro ao qual eu possa me referir?
Lua
@ Moon - aprendi isso há muito tempo na faculdade. Acho que meu curso terá fotos, mas não o tenho mais (era a hora de tudo no papel!). Vou ver se consigo encontrar uma boa imagem e a adicionarei à minha resposta se encontrar uma.
precisa saber é o seguinte
1
a faculdade não é necessariamente necessária para compreendê-lo, mas você precisa entender os fundamentos dos resistores, tampas e redes e um entendimento funcional de como os vários tipos de transitores funcionam. Eu me pergunto se e como o livro CODE da Petzold cobre o assunto, pode valer a pena folhear em uma biblioteca ou livraria.
old_timer
1
Eu recomendo passar por "de nand a tetris" se você quiser entender os aspectos internos da computação. Quando você estiver no meio do livro, você terá construído uma CPU e RAM funcionais. É uma leitura rápida se você já possui algum conhecimento necessário, mas não deixa um passo à frente se não tiver.
James M. Lay