При любом объеме памяти существуют несколько вариантов организации микросхемы. На рис. 3.30 показаны две возможные структуры микросхемы емкостью 4 Мбит: 512 К х 8 и 4096 К х 1 (размеры микросхем памяти обычно даются в битах, а не в байтах, поэтому здесь мы будем придерживаться этого соглашения). На рис. 3.30, а можно видеть 19 адресных линий для обращения к одному из 219 байт и 8 линий данных для загрузки или хранения выбранного байта.
Рис. 3.30. Два способа организации памяти объемом 4 Мбит
Сделаем небольшое замечание по поводу терминологии. На одних выводах высокое напряжение вызывает какое-либо действие, на других остается низкое напряжение. Чтобы избежать путаницы, мы будем употреблять термин установить сигнал, когда вызывается какое-то действие, вместо того, чтобы говорить, что напряжение повышается или понижается. Таким образом, для одних выводов установка сигнала означает установку единицы, для других — установку нуля. Названия выводов, которые устанавливаются в 0, содержат сверху черту. То есть сигнал CS — это единица, сигнал CS — ноль. Противоположный термин — сбросить.
А теперь вернемся к нашей микросхеме. Поскольку обычно компьютер содержит много микросхем памяти, нужен сигнал для выбора необходимой микросхемы, такой, чтобы нужная нам микросхема реагировала на вызов, а остальные нет. Сигнал CS (Chip Select — выбор элемента памяти) используется именно для этой цели. Он устанавливается, чтобы запустить микросхему. Кроме того, нужен способ, чтобы отличать считывания от записи. Сигнал WE (Write Enable — разрешение записи) указывает на то, что данные должны записываться, а не считы-ваться. Наконец, сигнал ОЕ (Output Enable — разрешение вывода) устанавливается для выдачи выходных сигналов. Когда этого сигнала нет, выход отсоединяется от остальной части схемы.
На рис. 3.30, б используется другая схема адресации. Микросхема представляет собой матрицу размером 2048 х 2048 однобитовых ячеек, что составляет 4 Мбит. Чтобы обратиться к микросхеме, сначала нужно выбрать строку. Для этого 11-разрядный номер этой строки подается на адресные выводы. Затем устанавливается сигнал RAS (Row Address Strobe — строб адреса строки). После этого на адресные выводы подается номер столбца и устанавливается сигнал CAS (Column Address Strobe — строб адреса столбца). Микросхема реагирует на сигнал, принимая или выдавая 1 бит данных.
Большие микросхемы памяти часто производятся в виде матриц размером m х п, обращение к которым происходит по строкам и столбцам. Такая организация памяти сокращает число необходимых выводов, но, с другой стороны, замедляет обращение к микросхеме, поскольку требуется два цикла адресации: один для строки, другой для столбца. Чтобы ускорить этот процесс, в некоторых микросхемах можно вызывать адрес строки, а затем несколько адресов столбцов для доступа к последовательным битам строки.
Много лет назад самые большие микросхемы памяти обычно были устроены так, как показано на рис. 3.30, б. Поскольку размер слов увеличился от 8 до 32 бит и выше, использовать подобные микросхемы стало неудобно. Чтобы из микросхем 4096 К х 1 построить память с 32-разрядными словами, требуется 32 микросхемы, работающие параллельно. Эти 32 микросхемы имеют общий объем по крайней мере 16 Мбайт. Если использовать микросхемы 512 К х 8, то потребуется всего 4 микросхемы, но при этом объем памяти составит 2 Мбайт. Чтобы не возиться с 32 микросхемами, большинство производителей выпускают семейства микросхем с длиной слов 1, 4, 8 и 16 бит. Ситуация с 64-разрядными словами, естественно, еще хуже.