|
В начало
Подсистема памяти МПС (Лекция)
ПЛАН ЛЕКЦИИ 1. Распределение адресного пространства 2. Регенерация динамической памяти 1. Распределение адресного пространства
Рис.1. Структура единого адресного пространства
Рис. 2. Пример распределения единого адресного пространства При небольших объемах памяти в МПС целесообразно использовать некоторые адресные линии непосредственно в качестве селектирующих, что позволяет уменьшить объем оборудования МПС за счет исключения селектора адреса. При этом, однако, адресное пространство используется крайне неэффективно. При использовании информации о типе устройства, к которому идет обращение, можно одни и те же адреса назначать для разных устройств, осуществляя селекцию с помощью управляющих сигналов. Так, большинство МП выдают в той или иной форме информацию о типе обращения. В результате в большинстве интерфейсов присутствуют отдельные управляющие линии для обращения к памяти и вводу/ выводу, реже - стеку или специализированному ПЗУ. В результате суммарный объем адресного пространства МПС может превышать величину 2k.
Рис. 3. Использование адресных линий для прямой селекции устройств Например, используя информацию PSW МП i8080 (см. разд. 4.1.3), можно располагать в МПС следующим объемом памяти и УВВ: 64K ЗУ (адреса 0000..FFFF) + 64K стек (0000..FFFF) + 256 УВв (00..FF) + 256 УВыв (00..FF) = 128,5K байт. Для этого необходимо включить в состав МПС системный контроллер, фиксирующий PSW и формирующий управляющие сигналы чтения и записи стека, памяти и ВУ.
Рис. 4. Распределение адресного пространства для структуры, изображенной на Рис. 3 Характерно, что серийный системный контроллер К580ВК28 не выделяет область стека (формирует только сигналы RDM, WRM, RDIO и WRIO), поэтому при необходимости отводить под стек большой объем памяти можно синтезировать на ИС системный контроллер, аналогичный по функциям ..ВК28, но формирующий дополнительно управляющие сигналы RDS и WRS. Другой пример разделения адресного пространства по функциональному признаку дает МП К1801ВМ2. Он формирует специальный управляющий сигнал, позволяющий обращаться к системной области ПЗУ, в которой записаны подпрограммы выполнения команд арифметики с плавающей запятой (ПЗ). В потоке команд МП серии К1801 одни и те же коды используются для инициирования сопроцессора плавающей арифметики (при его наличии) или вызова подпрограмм выполнения команд ПЗ при отсутствии сопроцессора. Управляющий сигнал вырабатывается только при выполнении команд ПЗ и селектирует соответствующее ПЗУ, которое в остальных командных циклах является "прозрачным", т.е. его адреса могут использоваться другими устройствами памяти. Диспетчер памяти. При необходимости расширить объем памяти за пределы адресного пространства можно воспользоваться т.н. "диспетчером памяти". В простейшем случае он представляет собой программно-доступный регистр, который должен располагаться в пространстве ввода/вывода. В него заносится номер активного в данный момент банка памяти, причем объем банка может равняться объему адресного пространства МП (2k). Очевидно, в каждый момент времени процессору доступен только один банк. При необходимости перехода в другой банк памяти МП должен предварительно выполнить программную процедуру (часто всего одну команду) перезагрузки содержимого номера банка. Сказанное иллюстрируется Рис. 5.5. К развитию этой идеи можно отнести механизм сегментации памяти в 16- и 32-разрядных МП фирмы INTEL (см. разделы 2.2 и 2.3). Рис. 5. Использование диспетчера памяти
|
Рис. 8. Временная диаграмма работы БИС динамического ОЗУ
Из Рис. 5.7 и Рис. 5.8 видно, что адрес ячейки подается в ОЗУ последовательно двумя порциями по одним и тем же линиям в сопровождении управляющих сигналов RAS\ (строб адреса строки) и CAS\ (строб адреса столбца). Поэтому адрес на системной шине, формируемый МП, должен мультиплексироваться, одновременно вырабатываться управляющие сигналы RAS и CAS.
Кристалл ОЗУ бывает выбран только при условии RAS = CAS = 0, что позволяет осуществлять селекцию блоков по двум координатам.
Контроллер динамической памяти (КДП) обеспечивает мультиплексирование адреса системной шины, выработку управляющих сигналов CAS и RAS[3:0] (для селекции модулей ОЗУ), а также внутреннюю (по таймеру) или внешнюю (прозрачную) регенерацию.
Структурная схема контроллера (Рис. 5.9) включает в себя:
· буферные схемы Буф.1,2,3 для подключения системной шины адреса и управления;
· счетчик адреса регенерации;
· мультиплексоры MUX1,2;
· схему управления с тактовым генератором, таймером и триггером регенерации, арбитром и логической схемой L для формирования управляющих сигналов.
КДП обеспечивает преобразование сигналов системной шины МПС в сигналы управления динамическим ОЗУ (см. Рис. 5.8), причем может работать в двух режимах: "16/64" (на память 16K или 64K соответственно). В режиме "16" две старшие линии адреса используются для формирования одного из сигналов RAS\[0..3], в режиме "64" КДП может управлять двумя банками по 64K, причем сигнал RAS появляется на одном из выходов RAS0 или RAS1 - в зависимости от состояния линии RAS3\/B0, которая в режиме "64" становится входом, определяющим номер банка ОЗУ.
Регенерация может осуществляться в двух режимах - внутреннем и внешнем. Если вход REFR остается неактивным 10..16 мкС, то формируется запрос на цикл регенерации от внутреннего таймера, причем в случае конфликта арбитр отдает предпочтение циклу памяти. Таким образом, и при регенерации по таймеру используются свободные такты шины. При внешней регенерации запрос должен быть сформирован на входе REFR.
Сигнал PCS - "Защищенный выбор кристалла" отличается от традиционного CS тем, что если PCS сформирован, то цикл ЗУ аннулировать нельзя.
Рис. 9. Контроллер динамического ОЗУ
RD, WR - запросы на циклы чтения и записи соответственно.
X0, X1 - выводы для подключения кварцевого резонатора при работе с внутренним генератором. При работе с внешним генератором на вход X0 подается высокий потенциал, а на X1 - частота CLK внешнего генератора.
Выходной сигнал SACK\ вырабатывается КДП в начале цикла обращения к памяти. Если запрос от МП приходится на цикл регенерации, то SACK\ задерживается до начала цикла чтения/записи.
Выходной сигнал XACK\ ("Готовность данных") вырабатывается в конце цикла чтения/записи.
Сигналы SACK\ и XACK\ можно использовать для управления потенциалом на входе READY микропроцессора.
5.2.3. В некоторых, достаточно редких частных случаях, можно воспользоваться способом регенерации "размещением данных". Так, если, например, память изображения дисплея является составной частью единого ОЗУ МПС и МП регулярно обращается в эту область для поддержания изображения на экране, то достаточно расположить область ОЗУ дисплея в памяти МПС таким образом, чтобы она "перекрывала" все строки накопителя (достигается соответствующим подбором адресов), чтобы каждое обращение к области ОЗУ дисплея, помимо регенерации изображения, регенерировала и всю память МПС.