Скачиваний:
30
Добавлен:
21.02.2014
Размер:
32.77 Кб
Скачать

ОРГАНИЗАЦИЯ УПРАВЛЕНИЯ РАСШИРЕННОЙ ПАМЯТЬЮ ДЛЯ ПРОЦЕССОРА КР580ИК80А

Предлагаемый способ организации управления расширенной памятью позволяет использовать модули па­мяти, разрядность адресной тины которых больше, чем непосредствен­но адресует процессор, сохраняя непрерывность адресного пространства модулей. При этом модули систем­ной памяти и «электронного диска» (1—3) могут быть идентичны или даже совмещены на одной плате.

Для организации обмена между банками используется прямой доступ к памяти (ПДП). При этом не нуж­но заботиться о том, чтобы актив­ная программа оставалась постоянно подключенной к процессору, так как регистр расширенного адреса будет менять свое значение только при операциях с ПДП, а при процессорных обращениях на старшие (расши­ренные) разряды адреса включен ре­гистр системного балка. Его значе­ние устанавливается программно процессором при включении питания или рестарте ЭВМ, когда определя­ются номера подключенных банков ОЗУ и их количество.

Приведенная на рис. 1 схема позволяет обслужить до 1 Мбайта ОЗУ. Можно дополнительно расширить ад­ресное пространство процессора до 16 Мбайт путем замены 4-разряд­ных регистров (Do, D6) на 8-разрядные или удвоением их количества. Схема состоит из контроллера ПДП (D1), регистра стробирования стар­ших разрядов адреса АВ8... АВ15 (D2), буфера управляющих сигна­лов системной магистрали (D3), буферного регистра данных (D4), че­рез который происходит обмен дан­ными при ПДП в циклах чтения и записи в память. Микросхемы К555ИР22 можно заменять на КР580ИР82. Регистры D5 и D6 с тремя состояниями на выходе пред­назначены для хранения и выдачи старших (расширенных) разрядов адреса АВ16... АВ19 на системную ма­гистраль. Микросхема D7 — ПЗУ — использована для дешифрации адре­са и может быть запрограммирована на любые свободные в ЭВМ адреса внешних устройств.

Кроме того, в ЭВМ должен быть системный регистр, выставляющий на старшие разряды адреса АВ16... АВ19 номер банка системного ОЗУ, которое выбирается при процессор­ных обращениях' и переводится в третье состояние при работе в ре­жиме ПДП, т.: е. каждый канал контроллера ПДП дополняется ре­гистрами расширенного адреса и, таким образом, контроллер выстав­ляет на шину сразу 20-разрядный адрес памяти, старшие биты которого содержат номер выбранного банка.

Канал 0 контроллера программи­руется на чтение из памяти во внеш­нее устройство, которым является буферный регистр D4, а канал 1—' на запись из внешнего устройства (D4) в память. На рис. 2 при­веден фрагмент программы-драйвера «электронного диска» такой систе­мы, включенной в секцию ввода-вы­вода (BIOS) ОС (стандарт для СР/М), которая выполняет чтение и запись сектора длиной 128 байт. Входными данными ^являются: в ре­гистре В — номер дорожки, в реги­стре С — номер сектора на дорожке, в регистровой паре HL — адрес нача­ла буферной области объемом 128 байт в системном банке памяти, ку­да считывается сектор «электронно­го диска» или откуда записывается сектор на «электронный диск».

Как видно hi рисунков, в регистр адреса канала 0 контроллера ПДП выводятся младшие 16 бит адреса, с которого будет читаться информа­ция, а в регистр адреса капала 1 контроллера—16 бит адреса, на ко­торый будут записываться прочитан­ные данные, а старшие 4 бита ад­реса (номера банков) читаемой и за­писываемой областей компонуются в один байт и выводятся в регистры расширения адреса (D5 и D6). Дли­на передаваемой области задается одинаковой для обоих каналов и может быть произвольной вплоть до 16 Кбайт. Эти числа записываются в регистры управления каналов кон­троллера ПДП. Режим контроллера (байт 73Н) задает циклический при­оритет с расширенной записью и ав­томатическим окончанием работы для двух каналов (нулевого и пер­вого).

После вывода начальных адресов и размеров передаваемых массивов, а также управляющего слона, задаю­щего режим и разрешающего работу каналов, первым начинает работать канал 0, так как он имеет более высокий приоритет. При появлении единичного уровня сигнала BUSEN системный регистр отключает стар­шие биты адреса системной памяти и процессор переводит свои сигналы на системной магистрали в третье со­стояние. Нулевой канал контроллера выставляет на шипу адреса все 20 разрядов адреса (на АВ16... А819 открывается регистр D5, так как установлен сигнал DACKO)", по которому считывается байт в бу­ферный регистр D4.

Контроллер запрограммирован на циклический приоритет. Поэтому после прочтения одного байта по ад­ресу, на который запрограммирован канал 0, он переходит к обслужи­ванию запроса от канала 1, т. е. за­писи по адресу памяти, установлен­ному в канале 1 и регистре D6, открывающемся при появлении сиг­нала DACK.1. Затем по сигналу чте­ния порта на шину данных откроет­ся буферный регистр D4 и появится информация, прочитанная в предыду­щем цикле ПДП по адресу канала 0. После обслуживания канала 1 конт­роллер опять переходит к обслужи­ванию канала 0 и так до тех пор, пока заданный массив не передастся до конца.

По концу передачи снимается еди­ничный сигнал BUSKN и для считы­вания процессором следующей команды открывается системный ре­гистр, который выдает на разряды расширенного адреса номер банка системной памяти и подключает ее.

Таким образом, время пересылки одного байта без учета тактов ожи­дания памяти равняется восьми так­там опорной частоты Ф2 (один цикл контроллер;) ПДП равен четы­рем тактам), т. е. при максимальной

частоте процессора (2,5 МГи) – 3,2мкс, а скорость обмена 300 Кбайт/с.

При разбиении на секторы и до­рожки под управлением ОС СР/М учитывались некоторые особенности дисковых устройств, работающих под этой ОС, и минимизация обслужи­вающей программы-драйвера. Было выбрано такое разбиение, при кото­ром на одной дорожке находится 32 сектора, т. е. одна «дорожка» включает в себя 4 Кбайта ОЗУ, а один банк памяти состоит из 16 «дорожек».

При включении питания программ­но проверяются на наличие все бан­ки ОЗУ, помер системного банка, номера банков и размер «электрон­ного диска». Полученная информация помещается в ячейку BANK (см. рис. 2) и номер банка системной па­мяти выводится в системный порт.

Как показывает практика работы с таким «электронным диском» под управлением ОС СР/М, достаточным для работы практически со всеми программами является общий объем ОЗУ в 256 Кбайт, из которых 64 отводится под системное ОЗУ, а 192 — под «электронный диск». Вре­мя работы системы и программ су­щественно уменьшилось и ГМД ста­ли необходимы только для хранения разрабатываемых программ и на­чальной загрузки ОС и программ-утилит. Для микроЭВМ, снабженной накопителем на кассетном магнито­фоне, вообще отпадает необходи­мость в применении НГМД, так как указанные функции НГМД можно производить и с НКМЛ.

Кроме описанного применения данный контроллер можно использовать для регенерации динамического ОЗУ, а также при использовании только канала 1 для быстрого заполнения областей памяти константой, напри­мер для очистки экрана дисплея.

Соседние файлы в папке УСТРОЙСТВО УПРАВЛЕНИЯ РАСШИРЕННОЙ ПАМЯТЬЮ