Несмотря на то что в некоторых специализированных микропроцессорах (рассчитанных, например, на простые и дешевые системы управления) предусматривается небольшая внутренняя память для программ и данных, для большинства микропроцессоров обычно требуется внешняя память. Напомним, что такая память подразделяется на ЗУПВ и ПЗУ.
Память, в которую можно записывать и из которой можно считывать, — это ЗУПВ. Иными словами, мы сами изменяем ее содержимое. Из ПЗУ же можно только считывать информацию; попытка записать в такую память не изменяет ее содержимого. Примерами ПЗУ и ЗУПВ служат компакт-диски и компакт-кассеты, используемые для записи музыки и речи. После записи содержимое компакт-диска изменить нельзя, а содержимое кассеты можно стереть и записать на нее снова.
В микропроцессорных системах для хранения данных применяется малогабаритная и быстродействующая полупроводниковая память. Выпускается несколько типов микросхем ПЗУ для различных целей. В термине ЗУПВ слова «произвольная выборка» просто означают, что в такой памяти одинаково легко осуществляется обращение к любым хранимым в ней данным. В отличие от ЗУПВ имеется память с последовательным доступом, например на магнитной ленте.
Энергонезависимая память в микропроцессорных системах необходима для хранения управляющих программ, операционных систем и интерпретаторов языков программирования высокого уровня. Именно на такие применения и рассчитаны ПЗУ. Если требуется сменить управляющую программу или перейти к другой версии операционной системы, микросхему(ы) ПЗУ следует заменить.
В ПЗУ 8-битного микрокомпьютера примерно 4К байт отводятся для операционной системы, которая обеспечивает ввод с клавиатуры, управляет выводом на дисплей, кассетным накопителем и т. п. Интерпретатор БЕЙСИКа обычно занимает 12К байт. Реализовать ПЗУ емкостью 16К можно на одной микросхеме 16К, двух микросхемах 8К или четырех микросхемах 4К.
Программируемые маской ПЗУ. Если микропроцессорная система рассчитывается на массовый выпуск, например домашний компьютер, наиболее целесообразно применять ПЗУ, программируемые маской или фотошаблоном. Запись в такие устройства осуществляется в процессе производства — хранящиеся данные определяются применяемой маской. Разработчик системы сообщает спецификации содержимого ПЗУ фирме-изготовителю. Поскольку заказ оказывается выгодным только для партии в десятки тысяч микросхем, разработчик должен быть полностью уверен в том, что данные и программы безошибочны и не потребуют изменений.
Программируемые ПЗУ с плавкими перемычками. Такие ПЗУ (ППЗУ) оказываются экономичными при среднем объеме производства, и их программирует сам разработчик. Внутри микросхемы находится матрица из нихромовых или поликремниевых перемычек, которые можно расплавить, подав импульс тока с соответствующими параметрами. Программирование занимает значительное время, но сам прибор (программатор) оказывается простым и относительно недорогим. Довольно часто опытные образцы микропроцессорных систем поставляются с ППЗУ, которые после выявления ошибок и при переходе к массовому выпуску заменяются на ПЗУ.
Стираемые ППЗУ. После программирования изменить содержимое рассмотренных выше микросхем ППЗУ нельзя, т. е. они не допускают стирания содержимого и повторного программирования. В то же время стираемые ППЗУ (СППЗУ) обеспечивают многократные стирание их содержимого и программирование.
В корпусе СППЗУ сделано «окно», через которое на матрицу запоминающих элементов попадает свет. При экспонировании ультрафиолетовым светом в течение нескольких минут хранимые данные стираются. После этого в микросхему с помощью дешевого программатора импульсами тока можно записать новую информацию. Процесс программирования длится несколько минут, однако некоторые программаторы позволяют записывать информацию в несколько микросхем одновременно.
Стираемые ППЗУ удобно применять при мелкосерийном производстве и на этапе проектирования, однако относителыю высокая стоимость устройств препятствует их использованию в серийных изделиях. В табл. 6.1 приведены основные характеристики наиболее популярных микросхем СППЗУ, а разводка контактов их корпусов показана на рис. 6.1.
Рис. 6.1. Разводка контактов распространенных микросхем СППЗУ.
Электрически стираемые ППЗУ. В относительно новых микросхемах электрически стираемых (изменяемых) ППЗУ в отличие от СППЗУ можно стереть содержимое электрическими импульсами; при этом микросхемы не нужно вынимать из гнезд. К сожалению, такие микросхемы довольно дороги и пока не получили широкого распространения, тем более что имеются экономичные КМОП-ЗУПВ, оправдывающие использование батарейного резервного питания.
Не следует полагать, что последние два вида микросхем можно отнести к памяти с записью и считыванием, т. е. к ЗУПВ. Хотя в них реализуются обе операции, следует все же отчетливо представлять себе различие между ними и истинными ЗУПВ, обеспечивающими моментальное изменение содержимого любого байта. Важными характеристиками являются также время и простота репрограммирования микросхем. Типичное время обращения к любому байту в ЗУПВ составляет около 150 нс. Следовательно, все содержимое микросхемы ЗУПВ 8К можно изменить за 150x8192 не (плюс некоторое дополнительное время на действия процессора). Общее время обращения измеряется несколькими миллисекундами.
Программирование микросхемы СППЗУ емкостью 8К байт длится несколько минут без учета извлечения ее из гнезда и стирания имеющейся информации ультрафиолетовым светом. В этом отношении микросхемы электрически стираемых ППЗУ предпочтительнее, так как их не требуется вынимать из гнезд. Но все же время их репрограммирования в несколько тысяч раз больше, чем у микросхем ЗУПВ эквивалентной емкости.
Такие устройства необходимы в любой микропроцессорной системе. Часть их памяти используется операционной системой для хранения системных переменных и в качестве рабочей области. Кроме того, ЗУПВ также требуется операционной системе и управляющей программе в целях организации стека для временного хранения данных. Еще одна область ЗУПВ необходима пользователю для его программ и данных. Кроме того, при наличии растрового дисплея часть ЗУПВ выделяется для экранной памяти; обычно при этом применяется точечное отображение, т. е. каждый бит экранного ЗУПВ соответствует конкретной точке на экране (пикселу). Типичное распределение ЗУПВ в 8-битном микрокомпьютере приведено в табл. 6.2.
Биполярные ЗУПВ. Основу биполярных ЗУПВ образует обычный транзисторный триггер, схема которого показана на рис. 6.2.
Такая память потребляет значительную мощность, поэтому емкость ее ограничена. Однако быстродействие биполярных ЗУПВ очень высоко, что объясняет их применение в высокопроизводительных системах и в качестве буферов между быстродействующими устройствами и обычной более медленной памятью.
Рис. 6.2. Элемент биполярной статической памяти.
Статическая NМОП-память. Основным запоминающим элементом статической NMOП-памяти также является триггер (рис. 6.3). Такая память потребляет значительно меньшую мощность, чем биполярные ЗУПВ, что позволяет достичь намного большей плотности упаковки.