Э. Таненбаум - Архитектура компьютера (1127755), страница 48
Текст из файла (страница 48)
Кахдый ряд представляет одно из 3-разрядных слов. При считывании и записи всегда считывается или записывается целое слово Хотя организация памяти, изображенной на рис. 3.28, может на первый взгляд показаться сложной, на самом деле она очень проста благодаря своей регулярной структуре. Микросхема содержит 8 входных линий, в частности 3 входа для данных — 1е 11 и 1з, 2 входа для адресов — Аз и Аб 3 входа для управления — СБ (СЬ1р Яе1есг — выбор элемента памяти), К1) (Кеа() — чтение, этот сигнал позволяет отличать считывание от записи) и ОЕ (Опгрпг ЕпаЫе — разрешение выдачи выходных сигналов), а также 3 выходные линии для данных — Ое О, и Оэ Такую память в принципе можно поместить в корпус с 14 выводами (включая питание и землю), а 8-разрядный триггер требует наличия 20 выводов. Память 1 93 Чтобы выбрать микросхему памяти, внешняя логика должна установить сигнал С8 в 1, а также установить сигнал ВР в 1 для чтения и в О для записи.
Две адресные линии должны указывать, какое из четырех 3-разрядных слов нужно считывать или записывать. При считывании входные линии для данных не используются. Выбирается слово и помещается на выходные линии для данных. При записи биты, находящиеся на входных линиях для данных, загружаются в выбранное слово памяти; выходные линии при этом не используются.
А теперь давайте посмотрим, как работает память, изображенная на рис. 3.28. Четыре вентиля И для выбора слов в левой части схемы формируют декодер. Входные инверторы расположены так, что каждый вентиль запускается определенным адресом. Каждый вентиль приводит в действие линию выбора слов (для слов О, 1, 2 и 3). Когда микросхема должна производить запись, вертикальная линия СЯ К1) получает значение 1, запуская один из четырех вентилей записи. Выбор вентиля зависит от того, какая именно линия выбора слов равна 1.
Выходной сигнал вентиля записи приводит в действие все сигналы СК для выбранного слова, загружая входные данные в триггеры для этого слова. Запись производится только в том случае, если сигнал СБ равен 1, а ВР— О, при этом записывается только слово, выбранное адресами Ав и А,; остальные слова не меняются. Процесс считывания сходен с процессом записи.
Декодирование адреса происходит точно так же, как и при записи. Но в данном случае линия С5 К1) принимает значение О, поэтому все вентили записи блокируются, и ни один из триггеров не меняется. Вместо этого линия выбора слов запускает вентили И, связанные с битами Я выбранного слова. Таким образом, выбранное слово передает свои данные в 4-входовые вентили ИЛИ, расположенные в нижней части схемы, а остальные три слова выдают О. Следовательно, выход вентилей ИЛИ идентичен значению, сохраненному в данном слове. Остальные три слова никак не влияют на выходные данные. Мы могли бы разработать схему, в которой три вентиля ИЛИ соединялись бы с тремя линиями вывода данных, но это вызвало бы некоторые проблемы.
Мы рассматривали линии ввода данных н линии вывода данных как разные линии. На практике же используются одни и те же линии. Если бы мы связали вентили ИЛИ с линиями вывода данных, микросхема пыталась бы выводить данные (то есть задавать каждой линии определенную величину) даже в процессе записи, мешая нормальному вводу данных. По этой причине желательно каким-то образом соединять вентили ИЛИ с линиями вывода данных при считывании и полностью разъединять нх при записи.
Все, что нам нужно, — электронный переключатель, который может устанавливать и разрывать связь за несколько наносекунд. К счастью, такие переключатели существуют. На рис. 3.29, а показано символическое изображение так называемого буферного элемента без инверсии. Он содержит входную линию для данных, выходную линию для данных и входную линию для управления. Когда управляющий вход равен 1, буферный элемент работает как проводник (рис. 3.29, б). Когда управляющий вход равен О, буферный элемент работает как изолятор (рис. 3.29, в), как будто кто-то отрезает выход для данных от остальной части схемы кусачками. Соединение может быть восстановлено за несколько наносекунд, если сделать сигнал управления равным 1.
194 Глава 3. Цифровой логический уровень Входные Выходные данные данные Управление Рис. 3.29. Буферный элемент беэ инверсии (а); представление буферного элемента беэ инверсии, когда сигнал управления равен 1 (б); представление буферного элемента беэ инверсии, когда сигнал управления равен О (в); буферный элемент с инверсией (г) На рис.
3.29, г показан буферный элемент с инверсией, который действует как обычный инвертор, когда сигнал управления равен 1, и отделяет выход от остальной части схемы, когда сигнал управления равен О. Оба буферных элемента представляют собой устройства с тремя состояниями, поскольку могут выдавать нулевой сигнал, единичный сигнал или вообще не выдавать никакого сигнала (случай разомкнутой цепи). Буферные элементы, кроме того, усиливают сигналы, поэтому они могут справляться с большим количеством сигналов одновременно.
Иногда они используются в схемах именно в качестве усилителей. Теперь вам уже должно быть понятно, для чего нужны три буферных элемента без инверсии на линиях вывода данных. Когда сигналы С5, КЕ) и ОЕ равны 1, сигнал разрешения выдачи выходных данных также равен 1, в результате запускаются буферные элементы и слово помещается на выходные линии.
Когда один из сигналов С5, КР и ОЕ равен О, выходы отсоединяются от остальной части схемы. Микросхемы памяти Преимущество памяти, изображенной на рис. 3.28, состоит в том, что подобная структура применима при разработке памяти большого обьема. На рисунке показана схема 4 х 3 (для четырех слов по 3 бита каждое).
Чтобы расширить ее до размеров 4 х 8, нужно добавить еще 5 колонок триггеров по 4 триггера в каждой, а также 5 входных и 5 выходных линий. Чтобы перейти от схемы 4 х 3 к схеме 8 х 3, требуется добавить еще четыре ряда триггеров по три триггера в каждом, а также адресную линию Аг.
При такой структуре число слов в памяти должно быть степенью двойки для максимальной эффективности, а число битов в слове может быть любым. Технология изготовления интегральных схем идеально соответствует регулярной структуре микросхем памяти. С развитием технологии число битов, которое можно вместить в одной микросхеме, постоянно растет, обычно в два раза каждые 18 месяцев (закон Мура). С появлением больших микросхем маленькие микросхемы не всегда сразу устаревают, поскольку всегда существует компромисс между емкостью, быстродействием, мощностью, ценой и удобством сопряжения.
Обычно самые большие современные микросхемы пользуются огромным спросом и, следовательно, стоят гораздо дороже в расчете за 1 бит, чем микросхемы небольшого размера. Память 195 При любом объеме памяти существуют несколько вариантов организации микросхемы. На рис. 3.30 показаны две возможные структуры микросхемы емкостью 4 Мбит: 512 К х 8 и 4096 К х 1 (размеры микросхем памяти обычно даются в битах, а не в байтах, поэтому здесь мы будем придерживаться этого соглашения). На рис. 3.30, а можно видеть 19 адресных линий для обращения к одному из 2'з байт и 8 линий данных для загрузки или хранения выбранного байта. АО А1 А2 АЗ А4 А5 АЕ А7 А8 А9 ио 00 01 02 ОЗ 04 05 ОЕ 07 ВАЗ САЗ СЗ тт'Е ОЕ СЗ тт'Е ОЕ Сделаем небольшое замечание по поводу терминологии.
На одних выводах высокое напряжение вызывает какое-либо действие, на других остается низкое напряжение. Чтобы избежать путаницы, мы будем употреблять термин установить сигнал, когда вызывается какое-то действие, вместо того, чтобы говорить, что напряжение повышается или понижается. Таким образом, для одних выводов установка сигнала означает установку единицы, для других — установку нуля. Названия выводов, которые устанавливаются в О, содержат сверху черту.
То есть сигнал СБ — это единица, сигнал С8 — ноль. Противоположный термин — сбросить. А теперь вернемся к нашей микросхеме. Поскольку обычно компьютер содержит много микросхем памяти, нужен сигнал для выбора необходимой микросхемы, такой, чтобы нужная нам микросхема реагировала на вызов, а остальные нет. Сигнал С8 (С)т1р 8е!ест — выбор элемента памяти) используется именно для этой цели. Он устанавливается, чтобы запустить микросхему.
Кроме того, нужен способ, чтобы отличать считывания от записи. Сигнал %Е (ЪУг)те ЕпаЫе — разрешение записи) указывает на то, что данные должны записываться, а не считываться. Наконец, сигнал ОЕ (Оцгрцт ЕпаЫе — разрешение вывода) устанавливается для выдачи выходных сигналов. Когда этого сигнала нет, выход отсоединяется от остальной части схемы.
АО А1 А2 АЗ А4 Аб АЕ Ат Ае А9 ио А11 иг из А14 А15 ие Ит А18 Рис. 3.30. Два способа организации памяти объемом 4 Мбит 196 Глава 3. Цифровой логический уровень На рис. 3.30, б используется другая схема адресации. Микросхема представляет собой матрицу размером 2048 х 2048 однобитовых ячеек, что составляет 4 Мбит. Чтобы обратиться к микросхеме, сначала нужно выбрать строку. Для этого 11-разрядный номер этой строки подается на адресные выводы. Затем устанавливается сигнал КАБ (Кои АгЫгезз ЯгоЬе — строб адреса строки).