Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Организация памяти МК

Память программ реализована на ППЗУ емкостью 1 Кбайт, а максимальное адресное пространство программ может составлять до 4 Кбайт. РС (СК) содержит 12 бит, но инкрементируются только младшие 11 бит. Поэтому после состояния 7FFh РС перейдет в состояние 000h, а состояние старшего бита РС может быть изменено по специальным командам SEL MB0, SEL MB1. То есть, при таком подходе вся память программ разбивается на два банка памяти по 2 Кбайт (рис.4). В свою очередь память программ также разбивается на страницы по 256 байт, по 8 страниц в каждом банке, так как в большинстве команд передачи управления используется короткий 8-разрядный адрес внутри текущей страницы, не обеспечивающий возможности перехода через границу страницы. Однако для последовательной выборки команд границ страниц не существует.

 

 

Граница банков памяти, в отличие от границ страниц, полностью закрыта и для последовательной выборки. Единственным способом пересечения границы банков осуществляется по командам: JMP, CALL, RET и RETR. Команды JMP и CALL используют 11-разрядный адрес перехода внутри текущего банка памяти, состояние старшего разряда РС[11] определяется по флажку выбора банка МВ, управляемого по отдельным командам: SEL MB0 и SEL MB1. Например, если текущее значение МВ=0, а необходимо перейти к команде, расположенной в банке 1, то надо выполнить следующий переход:

SEL MB1; МВ:=1

JMP addr11; РС[11]:=МВ, РС[10-0]:=addr11

По командам JMP и CALL содержимое флага МВ загружается в старший разряд РС (РС[11]:=МВ). Отсюда, так как МК не имеет средств анализа флага МВ, то надо следить, чтобы подпрограммы взаимно вызывающие друг друга находились в одном банке памяти или модифицировать флаг МВ в вызываемой подпрограмме и восстанавливать его при возврате в вызывающую подпрограмму. В командах возврата полный 12-разрядный адрес выбирается из стека.

При обработке прерываний бит РС[11] принудительно устанавливается в 0, поэтому все ППОП должны размещаться в нулевом банке.

Ячейки 0, 3 и 7 используются для векторов прерываний, причем с ячейки 000h должна размещаться команда безусловного перехода на первую команду программы, а в ячейках 3 и 7 - команды перехода на начальные адреса соответствующих ППОП.

Резидентная память данных ОЗУД на кристалле составляет 64 байта и делится на четыре области (рис.5): два банка рабочих регистров с 0 по 7 и с 24 по 31 ячейки по 8 регистров в каждом банке, область памяти стека ячейки с 8 по 23, адресуемые указателем стека SP из PSW глубиной 2х8 байт для хранения РС (12 бит) и PSW (4 старших бита) и 32 ячейки для хранения данных с адресами с 32 по 63, адресуемые только через регистровую косвенную адресацию. Имеется возможность неиспользуемые ячейки стека использовать для хранения данных также через регистровую косвенную адресацию, т.к. команд PUSH и POP в системе команд МК нет. В стек данные загружаются только автоматически по команде CALL и по прерываниям, если они разрешены.

 

 

Выбор одного из банков регистров выполняется по командам SEL RB0 и SEL RB1 (признак выбора банка регистров автоматически запоминается и хранится в PSW поле BS). Рабочие регистры 0-7 и 24-31 доступны по командам с прямой регистровой адресацией, а все ячейки ОЗУД 32-63 и ВПД по командам с косвенной регистровой адресацией. В качестве регистров косвенного адреса могут использоваться только регистры R0 и R1 каждого банка регистров. Например,

MOV A,#35; AC:=35

MOV R1,A; R1:=AC прямая регистровая

MOV A,@R1; AC:=ячейки 35 регистровая косвенная

Как видно из рис.5 внутренняя и внешняя память данных рассматриваются как раздельные физические памяти и обращение к ним выполняется по отдельным командам (для ВПД только по команде MOVX):

MOVX @R1,A; (R1):=AC ВПД

MOVX A,@R1: AC:=(R1) ВПД

Внешняя и внутренняя память программ рассматриваются как единое целое. В памяти программ предусмотрена возможность хранения констант (таблиц, массивов), а доступ к ним осуществляется либо непосредственной адресацией, либо косвенной регистровой страничной адресацией через АС к текущей странице или странице 3 специально зарезервированной для хранения констант.

<== предыдущая лекция | следующая лекция ==>
Структурная организация МК К1816ВЕ48 | Организация системы ввода-вывода информации
Поделиться с друзьями:


Дата добавления: 2014-01-14; Просмотров: 438; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.014 сек.