Как ОЗУ работает с процессором?

8

Я читаю книгу на ассемблере. Проблема этой книги в том, что она пытается объяснить, как оперативная память работает с процессором, но не объясняет подробно.

Я хотел бы знать, как ячейка памяти, адресная строка и вывод данных работают при хранении или получении данных.

Луна
источник

Ответы:

9

Все ячейки памяти имеют свой уровень, либо 0или 1. CPU сообщает устройству памяти, в каких ячейках ему нужны двоичные значения, и передает этот адрес в устройство памяти. Внутри запоминающего устройства адрес декодируется в адрес строки и столбца, и ячейке в этой позиции в матрице разрешается получать свои данные в шину данных, то есть вывод данных.

Допустим, у нас есть 8-битный адрес 01100101. Это будет разделено на адрес строки 0110(полубайт старшего разряда) и адрес столбца 0101(полубайт младшего разряда). Адрес строки выбирает строку # 06, поэтому все ячейки, подключенные к этой строке, будут иметь свои данные готовы. Адрес столбца выбирает ячейку в столбце № 05 этой строки, так что, наконец, только одной ячейке разрешено помещать свои данные в выходной вывод.

Хранение данных происходит по той же схеме: выбирается только одна строка, и ячейка в данном столбце в этой строке будет содержать данные, сохраненные на выводе.

Это для 1 бита. Операция выполняется для полной ширины слова данных одновременно, поэтому, если у вас есть память в байтах, извлекается 8 битов, а их значение помещается на 8 выводов шины данных.

редактировать
Эта картинка должна помочь вам лучше видеть вещи:

массив памяти

Это представление массива DRAM , где данные хранятся в заряде конденсаторов , каждый конденсатор составляет один бит. Часть строки адреса (здесь A1..A0) выбирает строку, что означает, что они активируют все полевые транзисторы в этой строке, так что уровни конденсаторов для этой строки становятся доступными в соответствующем столбце. Затем блок выбора адреса столбца, управляемый другой частью адреса, A3..A2, выбирает тот бит, с которого мы хотим получить данные.

DRAM легко построить, но у него есть неприятный недостаток: чтение данных разряжает конденсатор, поэтому данные теряются. Для противодействия этому DRAM предусмотрены чувствительные усилители, которые определяют текущее состояние ячейки памяти и обновляют его при чтении. Кроме того, это обновление должно выполняться периодически, потому что заряд конденсаторов будет вытекать, даже когда память не читается. Необходимость обновления схемы легко компенсируется благодаря компактности ячеек DRAM.

SRAM использует несколько транзисторов для хранения данных, и он не является нестабильным, как DRAM (хотя данные по-прежнему исчезают, когда вы выключаете питание). С помощью EEPROM и Flash данные хранятся в (изолированном) плавающем затворе полевого транзистора, и поэтому они не потеряют свои данные при отключении питания.


Дальнейшее чтение:
Это ответ о сохранении данных во флэш-памяти.

stevenvh
источник
// Я действительно ценю ваш ответ. Могу я задать новый вопрос? Где ты это узнал? Я до сих пор не понимаю этого полностью ... может быть, потому что я не могу это визуализировать. У вас есть изображение или книга, на которую я могу сослаться?
Луна
@Moon - узнал это давно в колледже. Я думаю, что у моего курса были картины, но у меня больше нет этого курса (это было время всего на бумаге!). Я посмотрю, смогу ли я найти хорошую картину, и добавлю ее к своему ответу, если найду такую.
Стивенв
1
Колледж не обязательно должен понимать это, но вам нужно понимать основы резисторов, крышек и сетей, а также функциональное понимание того, как работают различные типы транзисторов. Интересно, стоит ли и как книга КОДА Петцольда охватывать эту тему, возможно, стоит пролистать библиотеку или книжный магазин.
old_timer
1
Я НАСТОЯТЕЛЬНО рекомендую пройти через «от nand до tetris», если вы хотите использовать компьютерные технологии. К тому времени, как вы пройдете половину книги, у вас уже есть работающий процессор и оперативная память. Это краткое чтение, если у вас уже есть необходимые знания, но оно не оставляет никакого шага, если вы этого не сделаете.
Джеймс М. Лей