Организация памяти ВЕ48
Пространство внутренней памяти данных DSEG содержит 256 байт, адресуемых косвенно через два адресных регистра R0, R1 выбранного в данный момент регистрового банка. В архитектуре отсутствует прямой способ адресации памяти, что привело к коротким однобайтовым форматам команд пересылки и обработки, за исключением команд с непосредственными данными.
Физическая оперативная память однокристальных МК, как правило, не покрывает всего пространства внутренней памяти данных из-за нехватки площади кристалла. Так, в приборах ВЕ48 только первые 64 байта покрыты физическим ОЗУ. С усовершенствованием интегральной технологии ожидается увеличение объемов внутреннего физического ОЗУ МК и его постепенное приближение к потенциальному барьеру 256 байт. Например, в однокристальном МК ВЕ49, имеющем такую же базовую архитектуру, что и ВЕ48, объем физического ОЗУ на кристалле увеличен до 128 байт, а в 8050 все пространство в 256 байт покрыто физическим ОЗУ.
Особенностью архитектуры ВЕ48 является совмещение обоих банков рабочих регистров и системного стека с пространством внутренней памяти данных, что дает возможность рассматривать хранящиеся в них объекты с двух сторон. Структура наложения представлена на рис. 4.4. Слова в памяти данных располагаются в двух соседних байтах. В байте с младшим адресом хранится младшая часть слова, его адрес является адресом всего слова. Такая форма хранения слов соответствует типовой и подобна используемой в ВМ80.
Рис. 4.4. Организация памяти BE48:
а—внутренняя память данных 256 байт;
б—внешняя память данных 256 байт; в—память программ 4 К байт
Возможен единственный способ адресации внутренней памяти данных—косвенный регистровый по R0 или R1. Однако часть ячеек все же оказывается доступной с помощью регистрового способа адресации, который может интерпретироваться как короткий прямой.
Совмещение системного стека и банков рабочих регистров с пространством внутренней памяти данных уменьшает и без того небольшой объем физического ОЗУ, свободного для хранения переменных. Этот недостаток частично компенсируется возможностью расширения ОЗУ внешними средствами. Архитектура ВЕ48 предусматривает второй тип пространства памяти данных XSEG, называемой внешней, хотя и с ограниченными ресурсами доступа. Существует только одна команда
MOVX @Ri, A ;XSEG (Ri)A
MOVX A, @Ri ;AXSEG (Ri)
с косвенным способом адресации через адресные регистры R0 и R1, позволяющая реализовать простой обмен с этой областью памяти общим объемом 256 байт. Тем не менее в некоторых прикладных системах потенциальная возможность такого расширения оказывается важной. Разработаны специальные микросхемы 8155/8156, с помощью которых можно получить расширение достаточно простыми средствами.
Кодовая память CSEG MK BE48 содержит два независимых банка по 2К байт. Банки разбиты на 256-байтовые страницы, по 8 страниц в каждом. Существует ряд ограничений на управление ходом выполнения программного кода внутри страниц и банков, а также на переходы через их границы.
В большинстве команд передачи управления используется короткий 8-разрядный адрес внутри текущей страницы, не обеспечивающий возможности перехода через границу страниц. Однако для последовательной выборки команд граница страниц прозрачна и может быть пересечена в любой момент времени.
В отличие от границы страниц граница банков полностью закрыта и для последовательной выборки. Поэтому единственный способ пересечения границы банка состоит в передаче управления по командам
JMP addr11
CALL addr11
RET
RETR
В первых двух командах используется прямой 11-разрядный адрес внутри банка, который загружается в младшие разряды PC. Состояние старшего разряда программного счетчика определяется по флажку выбора банка MB, управляемого отдельными командами:
SEL MB0
SEL МВ1
В командах возврата полный 12-разрядный адрес, включающий разряд адресации банка, выбирается из стека системы. Несмотря на то, что программирование в пространстве программного кода, организованном таким образом, затруднено, результат может оказаться намного эффективнее, чем при работе в обычной однородной среде линейного типа.
Подобно памяти данных физическая память программ МК не покрывает все отводимое под нее пространство. Обычно на кристалле МК располагается (1—2) К байт ПЗУ. Оставшаяся часть может быть реализована внешними средствами, например с помощью специальной БИС 8355/8755. Однако, в отличие от памяти данных, внешняя и внутренняя памяти программ рассматриваются как единое целое. Различия между ними возникают только на уровне структуры и физического обмена.
Память программ изолирована от памяти данных, но в ней предусмотрена возможность хранения неизменяемых данных, например постоянных таблиц и массивов, что также снижает жесткие ограничения на объем используемых данных, связанные с малым объемом ОЗУ. Существуют два способа доступа к данным, расположенным в управляющей памяти: непосредственная адресация и косвенная регистровая страничная адресация через А. В последнем случае обеспечивается доступ либо к текущей странице, либо к странице 3, резервируемой специально для хранения констант различного типа.
Ячейка памяти программ с нулевым адресом является стартовой. При сбросе системы в PC и MB записывается 0, что обеспечивает автоматическую передачу управления по стартовому адресу МК. Адреса 003 и 007 также являются точками входа в память программ обслуживания прерываний от внешнего запроса и таймера/счетчика соответственно.
Дата добавления: 2019-02-07; просмотров: 382;