Страница 13 из 31
Рис. 6.3. Элемент статической NМОП-памяти.
Статическая КМОП-память. Запоминающий элемент статической КМОП-памяти аналогичен элементу статической NМОП-памяти. В режиме пассивного хранения данных КМОП-память потребляет ничтожную мощность, поэтому она применяется в тех системах, которые должны работать от батарейного питания.
Динамическая NМОП-память. Принцип действия динамической NМОП-памяти основан на хранении заряда на конденсаторе, а не на применении триггера. Упрощенная схема элемента динамической NMOП-памяти показана на рис. 6.4.
Рис. 6.4. Элемент динамической NМОП-памяти.
Заряд, имеющийся на конденсаторе С, неизбежно «растекается», поэтому динамическую память необходимо периодически регенерирозать. Процесс регенерации заключается в периодическом считывании хранимых данных с их последующей записью. Регенерацию осуществляет либо микропроцессор, либо микросхема контроллера регенерации динамической памяти.
В табл. 6.3 приведены характеристики наиболее популярных микросхем ЗУПВ.
Разводка контактов некоторых распространенных микросхем ЗУПВ показана на рис. 6.5.
Рис. 6.5. Разводка контактов распространенных микросхем ЗУПВ.
Каждая ячейка полупроводниковых ПЗУ и ЗУПВ имеет свой уникальный адрес: по этому адресу хранится байт, состоящий из 8 бит. Каждая микросхема ПЗУ или ЗУПВ (или банк микросхем ЗУПВ) считается отдельным блоком памяти, размер которого зависит от емкости используемых микросхем. Например, система может иметь ПЗУ 16К и три блока ЗУПВ по 16К (каждый из блоков состоит из восьми микросхем 16КХ1), которые перекрывают весь адресный диапазон 64К. Одно из возможных назначений адресов блокам представлено в табл. 6.4, а соответствующая карта памяти показана на рис. 6.6.
Рис. 6.6. Типичная карта полностью занятой памяти 64К.
Входы и выходы данных микросхем ЗУПВ вместе с выходами данных микросхем ПЗУ подключаются к соответствующим линиям системной шины данных.
Каждая микросхема ЗУПВ имеет 14 входных линий адреса А0—А13 и одну линию выбора кристалла . На линии активным является сигнал низкого уровня, поэтому для подключения выходов выбранных ЗУПВ или ПЗУ к шине на вход необходимо подать именно такой сигнал. Кроме того, ко всем микросхемам памяти подключается линия считывания/записи или специальная линия считывания/записи памяти.
Линии адреса всех микросхем ЗУПВ и ПЗУ подключаются к соответствующим линиям шины адреса. Следовательно, если не принять специальных мер, все четыре блока памяти будут выполнять операции считывания и записи одновременно. Конечно же, для этого применяется дешифрирование сигналов на двух старших линиях А15 и А14, чтобы активизировать соответствующие линии . Подходящий способ дешифрирования приведен в табл. 6.5.
Дешифрирование сигналов на двух старших линиях адреса осуществляется простой схемой, показанной на рис. 6.7. Ее можно реализовать на обычных логических элементах или встроить в программируемую логическую матрицу (ПЛМ).
Рис. 6.7. Схема дешифратора адреса.
Для дешифрирования адреса можно использовать также специально предназначенные для этого микросхемы. Их называют дешифраторами или демультиплексорами. Распространенные дешифраторы приведены в табл. 6.6.
На рис. 6.8 показано применение одного из дешифраторов микросхемы 74LS139 в целях формирования четырех сигналов для ПЗУ и ЗУПВ из предыдущего примера.
Рис. 6.8. Типичный дешифратор адреса с микросхемой 74LS139.
Отметим, что дешифратор 74LS139 имеет вход разрешения . Его можно использовать для запрещения дешифратора, чтобы сразу запретить обращение ко всей памяти. Такая возможность очень удобна в тех ситуациях, когда в одном и том же адресном пространстве необходимо разместить несколько банков ПЗУ, ЗУПВ и вспомогательные микросхемы.
На рис. 6.9 показана практическая реализация памяти с емкостью 64К из восьми микросхем. Микросхема 6264 имеет организацию 8КХ8, поэтому все пространство памяти 64К разделяется на восемь блоков по 8К (каждый блок соответствует отдельной микросхеме). Дешифрирование адреса осуществляется микросхемой IС9.
Рис. 6.9. Практическая схема ЗУПВ 64К на микросхемах 6264.
Еще один вариант построения памяти 64К предстален на рис. 6.10. Микросхемы 4864 имеют организацию 64КХ1, поэтому из-за отсутствия «конфликтов» между блоками дешифратор адреса для блоков не нужен. Конечно, в зависимости от типов применяемых микросхем существуют и другие варианты построения памяти (мы привели наиболее распространенные конфигурации).
Рис. 6.10. Практическая-схема ЗУПВ 64К на микросхемах 4864.
В операционные системы большинства современных микропроцессорных систем встроены простые диагностические процедуры, выполняемые при запуске системы.
Довольно часто они проверяют функционирование микросхем ПЗУ и ЗУПВ. Для проверки ПЗУ обычно применяется метод нахождения контрольной суммы. Полученная сумма сравнивается с эталонной, и в случае их различия выдается соответствующее сообщение об ошибке.
Для диагностики ЗУПВ применяется совершенно другой метод, связанный с поочередной записью и считыванием каждого байта. При этом контролируется правильность выполнения требуемого изменения. Если какой-то бит не изменяется, диагностическая процедура временно останавливается и выдается идентифицирующее сообщение об ошибке. Обычно показывается адрес неисправного байта, что позволяет выявить конкретную микросхему или банк микросхем.