Все ячейки памяти имеют свой уровень, либо 0
или 1
. CPU сообщает устройству памяти, в каких ячейках ему нужны двоичные значения, и передает этот адрес в устройство памяти. Внутри запоминающего устройства адрес декодируется в адрес строки и столбца, и ячейке в этой позиции в матрице разрешается получать свои данные в шину данных, то есть вывод данных.
Допустим, у нас есть 8-битный адрес 01100101
. Это будет разделено на адрес строки 0110
(полубайт старшего разряда) и адрес столбца 0101
(полубайт младшего разряда). Адрес строки выбирает строку # 06, поэтому все ячейки, подключенные к этой строке, будут иметь свои данные готовы. Адрес столбца выбирает ячейку в столбце № 05 этой строки, так что, наконец, только одной ячейке разрешено помещать свои данные в выходной вывод.
Хранение данных происходит по той же схеме: выбирается только одна строка, и ячейка в данном столбце в этой строке будет содержать данные, сохраненные на выводе.
Это для 1 бита. Операция выполняется для полной ширины слова данных одновременно, поэтому, если у вас есть память в байтах, извлекается 8 битов, а их значение помещается на 8 выводов шины данных.
редактировать
Эта картинка должна помочь вам лучше видеть вещи:
Это представление массива DRAM , где данные хранятся в заряде конденсаторов , каждый конденсатор составляет один бит. Часть строки адреса (здесь A1..A0) выбирает строку, что означает, что они активируют все полевые транзисторы в этой строке, так что уровни конденсаторов для этой строки становятся доступными в соответствующем столбце. Затем блок выбора адреса столбца, управляемый другой частью адреса, A3..A2, выбирает тот бит, с которого мы хотим получить данные.
DRAM легко построить, но у него есть неприятный недостаток: чтение данных разряжает конденсатор, поэтому данные теряются. Для противодействия этому DRAM предусмотрены чувствительные усилители, которые определяют текущее состояние ячейки памяти и обновляют его при чтении. Кроме того, это обновление должно выполняться периодически, потому что заряд конденсаторов будет вытекать, даже когда память не читается. Необходимость обновления схемы легко компенсируется благодаря компактности ячеек DRAM.
SRAM использует несколько транзисторов для хранения данных, и он не является нестабильным, как DRAM (хотя данные по-прежнему исчезают, когда вы выключаете питание). С помощью EEPROM и Flash данные хранятся в (изолированном) плавающем затворе полевого транзистора, и поэтому они не потеряют свои данные при отключении питания.
Дальнейшее чтение:
Это ответ о сохранении данных во флэш-памяти.