- •10. Регистровая архитектура
- •11. Стековая архитектура
- •12.Ортогональная архитектура мп
- •13 Архитектура мп, ориентированная на память
- •14 Язык ассемблера для программирования мпс
- •15 Структура программируемого параллельного адаптера (ппа)
- •16 Принцип подключения интерфейсных бис(иБис) в мпс
- •17 Назначение сигналов ппа
- •18 Режимы работы ппа
12.Ортогональная архитектура мп
Ортогональность – независимость. Вводится декартовая система координат. В такой архитектуре вводятся дополнительные аппаратные ресурсы.
Вводятся несколько банков независимых регистров общего назначения в состав процессора и один дополнительный регистр PBC (регистр вектора состояния). Он постоянно указывает на активный банк регистров МП в данный момент. Для каждой новой задачи выделяется новый чистый банк регистров и нет необходимости запоминать содержимое регистров в стеке. При переключении с одной задачи на другую достаточно изменить состояние одного регистра РВС и система работает с внешними устройствами эффективнее.
Таким образом, ортогональная архитектура МП получила наибольшее распространение для решения задач управления, которые всегда связаны с параллельным управлением многих задач. Основной недостаток ортогональной архитектуры в том, что для любой задачи выделяется одинаковое число регистров общего назначения. => для сложных задач регистров не хватает, для простых – регистры не полностью используются, что снижает эффективность МР в многозадачном режиме.
13 Архитектура мп, ориентированная на память
Была предложена новая архитектура, ориентированная на память, которая реализована во всех сигнальных процессорах (цифровые процессоры обработки аналоговых сигналов).
В архитектуре, ориентированной на память, все блоки регистров общего назначения объединены в один регистровой файл.
Используется специальный регистр – указатель рабочей области памяти УРО, который указывает на начало рабочей области для каждой задачи, размер памяти определяется программистом, т.о. более гибко распределяются регистры между задачами.
Благодаря этому более равномерно распределяются ресурсы между задачами, и повышается эффективность работы МП. В задачах обработки сигналов в реальном времени – это самая эффективная архитектура, но предназначена для специализированных задач при обработке сигналов времени.
Кроме того, в архитектуре, ориентированной на память применяется арифметика с насыщением и двухадресная система команд, поэтому отсутствуют пересылки, программа в 2 раза короче. Регистровый файл реализован как двухпортовое ЗУ.
14 Язык ассемблера для программирования мпс
Ассемблер – машинно-ориентированный язык, позволяющий использовать все ресурсы МП и существенно упрощающий написание и отладку программы для МП. Знание ассемблера позволяет не только разрабатывать собственные программы, но и разбираться в чужих программах, т.к. имеются специальные утилиты, которые называются Disassemble. Простота языка ассемблера обеспечивается строгостью написания строк программы ассемблера. Структура строки ассемблера. Имеет 4 поля
Имя |
Команда |
Операнды |
Комментарий |
Метка: |
MOV |
AL, BH |
; комментарий |
Любой МП, выпускаемый серийно, имеет собственный язык ассемблера, который разрабатывается фирмой-изготовителем МП. Но т.к. имеются специальные фирмы для разработки ПО, то они выпускают собственные ассемблеры, но уже на коммерческой основе, которые имеют ряд преимуществ перед фирменными ассемблерами, поэтому и часто используются.
Для дизассемблирования имеющейся программы необходимо соблюсти ряд условий:
1. Разделить виды информации, которые находятся в памяти МП.
a. Данные
b. Код программы
c. Текстовая информация
Действуют в три этапа:
- весь имеющийся код просматривают редактором в символьном виде,
- выделить адреса памяти с разумными текстовыми сообщениями,
- дизассемблировать остальную часть кода и снова выделить разумную часть программы. Все, что не соответствует программе, выделяют в данные.
Если уже имеется дизассемблированный код программы, нужно выделить все входы команд и выходы из подпрограмм.
В каждой подпрограмме искать IN или OUT, и по номерам портов определить назначение этих подпрограмм. Весь оставшийся текст будет являться текстом основной программы.
Обычно по типу команд условных переходов определяют тип данных, с которым работает программа, или по называнию арифметических команд, или по названию регистров, с которыми работает программа.
Выделив текст основной программы, изображают ГСА (графическая схема алгоритма) и по нему разбираются с назначением всех рабочих ячеек и регистров.
Простота языка ассемблера обеспечивается строгостью написания строк программы ассемблера. В микропроцессорах имеется следующие способы адресации:
- регистровый способ адресации
MOV A, Rn
MOV Rn, A
- неявный способ адресации (без адресной команды) – самые простые и быстродействующие команды (обычно однобайтные):
RR A ;Сдвинуть содержимое аккумулятора вправо
MOV A, R0 ;В первом операнде использована неявная адресация, а во втором - регистровая
- непосредственный способ адресации. При этом второй операнд является источником данных, т е константой. Константы хранятся в ППЗУ(программируемое постоянное запоминающее устройство)
MOV A, #D8 – 8 бит
MOV A, #D16 – 16 бит
- прямой способ адресации(???). В качестве операнда указывается адрес ячейки памяти, а ячейки памяти помечаются метками:
MT1: DB 25h
MOV A, MT1
- косвенный способ адресации. При этом в качестве операндов используется адрес регистра, в котором находится адрес операнда:
MOV R1, #25h
MOV R7, (R1)
MOV A, @R0 – можно использовать R0, R1, DPTR
MOVX @DPTR,A – косвенная адресация к внешней памяти ОЗУ.
- страничный способ, @A – страница в 256 байт, DPTR – начало страницы
MOVC A,@A+DPTR
- относительный способ адресации
MOVC A, @A+PC
- индексный. При этом используются индексные регистры
В большинстве МП используется базовый способ адресации и соответствующие базовые регистры. А базово-индексный способ адресации используется для обращения к двумерным массивам данных.
