Расширение ресурсов ОМЭВМ
При работе с внешней памятью программ ОМЭВМ выдает младший байт адреса команды через DB в сопровождении строба ALE и старший полубайт адреса СчК[11:8] - через P2[3:0]. В следующем такте снимается младший байт адреса и формируется строб чтения команды из внешней памяти программ PME. Считанный байт команды должен поступать на линии DB, с которых и передается в регистр команд. На Рис. 11.5 показана временная диаграмма обращения ОМЭВМ во внешнюю память программ, а на Рис. 11.6 – схема подключения памяти.
Рис. 11.5. Обращение к внешней памяти программ
Независимо от физического воплощения памяти программ, она рассматривается в ОМЭВМ как сплошной массив адресов 000..FFFh, причем адреса 000..7FF составляют нулевой блок памяти, а 800..FFF - первый. Переход из блока в блок путем естественного наращивания адреса СчК невозможен. Так, после команды (однобайтовой) по адресу 7FF будет выполнена команда по адресу 000, а не 800. Перенос в СчК[11] отсутствует, а его изменение возможно только специальными командами SEL MB0 и SEL MB1.
Рис. 11.6. Подключение внешней памяти программ
Наличие команд выбора блока памяти (программ) и выбора банка регистров SEL RB0 и SEL RB1 позволяет иметь в системе две в какой-то мере защищенных друг от друга области системных ресурсов. Эти области можно использовать для работы двух независимых программ или области программ и области подпрограмм.
Архитектура ОМЭВМ позволяет расширить память данных, подключив дополнительно 0,25К байт внешней памяти. В системе команд предусмотрены специальные команды обращения к внешней памяти данных:
* MOVX A,@R0 - чтение в аккумулятор содержимого ячейки внешнего ОЗУ данных, адрес которой хранится в R0;
* MOVX @R0,A - запись содержимого аккумулятора в ячейку внешнего ОЗУ данных, адрес которой хранится в R0.
Внешняя память данных адресуется только косвенно (через регистры R0 и R1), причем, поскольку мнемоника команд обращения к внешней и внутренней памяти данных различна (MOVX и MOV соответственно), допустимо иметь одинаковые адреса в этих типах памяти. Подключение внешней памяти данных показано на Рис. 11.7.
![]() |


|






|
|


|
|
|
|
|



![]() |
Рис. 1
Рис. 11.7. Подключение внешней памяти данных
Если системе недостаточно портов микро-ЭВМ (P0..P2, P4..P7), то возможно подключение внешних контроллеров параллельного обмена, например К580ВВ55. При этом допустимы различные варианты подключения: 1) подключить как внешнюю память данных с обращением по командам MOVX; 2) без использования адресного регистра, обращение по командам MOVX, однако используются только стробы RD и WR при работе команд MOVX. Адрес команды (содержимое регистра R0 или R1) безразличен, а для адресации используются линии порта P1 или P2. Соответствующие разряды должны быть загружены в порт до выполнения команды обращения к внешнему порту MOVX.