Разработка в структурно логической схемы МП
![]() |
В схеме микропроцессора должны быть включены все устройства, необходимы для приема из памяти, хранения, и выполнение команд заданными согласно варианта режима адресации. В соответствии с требованием полноты микропроцессора, обычно включают следующие устройства.
Адресная шина
Адресная шина должна иметь разрядность, достаточную для передачи адреса заданной длины.
Шина данных. Разрядность шины данных обычно совпадают с длиной байт. В случаи, когда все команды имеют одинаковую длину, она совпадает с основным словом.
Программный счетчик – содержит адрес текущей выполняемой программы. Автоматически увеличивает длину команд, при переходе на следующую.
Регистр команд (IR) – предназначен для приема из памяти и хранении кода команд.
Дешифратор –определяет что это за команда.
Блок управления и синхронизация – выполняет управлением микропроцессором.
DAK – регистр данных и адреса.
Роны – регистры общего назначения.
Режимы адресации
Адрес исполнительный (адрес ячейки памяти или регистра) с которым работает команда, можно указывать различными способами, руководствуюсь следующими соображениями.
Исполнение команд с более коротким адресом.
Обеспечение простого доступа к возможно большему объему памяти.
Возможность изменения содержимого адресной части без изменения команды.
Обеспечение более быстрой адресации.
Использования более простого метода адресации во избегания ошибок.
Прямая адресация ADD B – в прямой адресации адрес исполнительный является частью команды. Длина команды зависит от адреса.
Прямая регистровая – место адреса исполнительного хранится номер регистра.
Косвенная адресация – адрес исполнительный находится по адресу, указанному в команде.
Косвенно регистровая – адрес исполнительный находится по адресу регистра.
Непосредственная адресация – обрабатываемые данные являются частью команды.
Относительная – Адрес исполнительный формируется путем сложения программного счетчика и смещением, которое находится в команде.
Индексная адресация – адрес исполнительный образуется путем сложения индексного регистра с адресом, который находится в команде.
Базовая адресация – используется для организации перемещения программы в памяти. Для этого пишется псевдо команда, которая закрепляет один из регистров в качестве базового. В этот регистр записывается адрес загрузки и все исполнительные адреса записываются.
Адресация с авто увеличением или авто уменьшением – применяется для организации циклов. Перед выполнением команды или после, содержимое регистров, в котором находился операнд увеличивается или уменьшается на единицу.
Стековая – адресом данных является содержимое указателя стеков.
Система команд микро процессора.
Команды микропроцессора в памяти занимают от 1 байта до максимальной длены.
1 байт команды содержит код операции. В некоторых код операций может размещаться и во втором байте. Требование к системе команд это
функциональная полнота – система команд должна предоставлять максимально удобные средства для программирования, по составлениям алгоритма, в условиях ограниченных ресурсов.
Минимальность – количество длина команд должна быть минимальной.
Система команд микропроцессора обычно содержит следующие операции:
Операции пересылки обеспечиваю передачу операнда источника к операнду приемника, без содержательного их преобразователя.
Арифметические операции – сложение вычитание, умножение, деление.
Логические – и, или, не.
Сдвиг.
Условные переходы.
Изменение содержимого регистра кода условий (флажки).
Команды вода, вывода и останова.
Проектирование системы команд значительной степени зависит от заданных режимах адресаций.
При выборе формата команд следует учитывать следующие особенности:
|
|
![]() |
Максимальное количество команд 256.
В команда с индексной адресацией нужно обеспечить возможно большую величину смещения, не превышающую оперативную память
RI 0 | |
RI 1 | |
RI 2 |
Команда с непосредственной адресацией – длина непосредственного операнда минимум должна быть 1 байт.
Команды должны быть унифицированы место положения первого и второго операнда. Первый операнд источник, второй приемник.
Некоторые команды могут только составлять код операций.
Смещение.
Описания языка Ассемблера (28_09_07)
Ассемблер – машинно-ориентированный язык, операторы которые транслируются один к одному, либо один к нулю (псевдо операции, передают информацию загрузчику, линковщику). Ассемблер наиболее эффективно используют ресурсы ЭВМ. В общим виде операторы ассемблера выглядят так: метка, код операции, [операнды], [комментарий], или [признак комментария].
Существуют различные типы ассемблера:
Резидентный ассемблер – программа, которая хранится в ПЗУ и к ней имеется постоянная доступ. Кросс ассемблер – выполняется на ЭВМ общего назначения, и написана на языке программирования этого ЭВМ. Достоинства – разработка программы предшествует технической реализации. Используется мощная программное обеспечение ЭМВ. Выразительность языка и диагностика, обеспечивается преимущества машины выразительности языка и диагностики.
Существую абсолютные и перемещаемые ассемблеры. В абсолютном ассемблере адрес загрузки определяется псевдокомандой. Адрес загрузки известен во время ассемблирования, поэтому при построении адресных константы команд выполняется в абсолютных адресах. В перемещаемом ассемблере возможность определить адрес загрузки происходит не вовремя ассемблирования а во время загрузки программы в память. Для этого относительный адреса адресных констант команд увеличивается на адрес загрузки.
Однопроходные и двухпроходные – формированию объектной программы за один просмотр препятствует ссылки в перед, в командах передачи управления. Ассемблер не может сразу определить адрес перехода. Существует два варианта построения однопросмотровых ассемблеров:
Неопределенная метка записывается в таблицу меток. По мере нахождения меток и определения адреса этой метки, в зарезервированные места записываются адрес. Ссылок на одну и ту же метку может быть много.
Ассемблер строит дополнительную таблицу переходов. Все команды обращения в перед осуществляют передачу косвенно, через эту таблицу.
Достоинством однопросмотрового ассемблера является выигрыш в скорости ассемблирования. Тем не менее большинство ассемблеров современных ЭВМ двухпросмотровые. Целью первого просмотра является определения адреса для каждой команды в программе и формирования символических имен или меток. Целью второго прохода является генерация машины команды констант, обработка псевдо команд а так же распечатка листинга.