Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МИУС методичка.doc
Скачиваний:
55
Добавлен:
30.03.2016
Размер:
527.36 Кб
Скачать

Программная модель микропроцессора Программная модель или регистровая структура.

Программной моделью называется совокупность регистров, доступных программисту, и используемых им при составлении программ на языке АССЕМБЛЕР или другом машинно-ориентированном языке.

Для МП программная модель выглядит следующим образом.

7 8 бит 0

7 8 бит 0

7В 0 0

7С 0 0

7 D 0

7 E 0 00 0

7 H 0 0

7 L 0 0

15 PC 0 0

15 SP 0

признаков регистр-аккумулятор регистр признаков РОН

регистр косвенного адреса

программный счетчик

указатель стека

Понятие о состоянии процессора (программы). Вектор слова состояния.

При выполнении программы после каждого рабочего такта и после выполнения очередной команды изменяется содержимое регистров, счетчиков, состояние отдельных триггеров. Т.е. можно говорить, что изменилось состояние процессора или состояние программы.

Информация о состоянии процессора лежит в основе многих процедур управления вычислительным процессом.

Эта информация используется в следующих случаях:

  1. при анализе ситуации в случае отказов или сбоев;

  2. при возобновлении программы после отказа или сбоя;

  3. при возобновлении выполнения программы после прерывания и т.п.

Совокупность значений запоминающих элементов после данного такта или после выполнения данной команды называется вектором состояния или словом состояния процессора. (PSW).

Слово состояния процессора в каждый момент времени должно содержать информацию, достаточную для продолжения программы либо повторного пуска программы с точки останова.

Слово состояния для МП имеет следующий вид:

Старший байт адреса команды

Старший байт адреса команды

Содержимое

младший байт адресакоманды

Содержимое аккумулятора

Содержимое регистра признаков

программного счетчикаPSW

Система команд простейшего микропроцессора

Классификация команд по назначению.

Все команды МП по назначению делятся на следующие группы:

  1. команды пересылок (команды обмена)

  2. арифметические команды

  3. логические команды

  4. команды передачи управления

  5. команды ввода-вывода и работы со стеком

Структура и формат команды.

Под командой понимается совокупность сведений, необходимых микропроцессору для выполнения требуемого действия.

Процессору необходимо задать информацию о выполняемой операции, адресную информацию об операндах, место хранения результата.

Д

Операционная часть

Адресная часть

ля фиксации этой информации в коде команды выделяются определенные разряды или поля. Общая структура команды имеет вид:

Адресная часть в свою очередь может состоять из нескольких полей.

Форматом команды называется ее структура с разметкой номеров разрядов, определяющих границы отдельных полей.

Число разрядов, отводимых под код операции, должно быть таким, чтобы можно было представить все машинные операции. Если система команд содержит М операций, то число разрядов в коде операции должно быть:

nko > log2M

По формату все команды МП делятся на 1-, 2- и 3-байтные.

1-байтные (одноадресные) команды ( в программе занимают только один адрес) содержат только одно поле, только операционную часть (код операции). Код операции содержит всю необходимую для процессора информацию – сведения о выполняемой операции, сведения об операндах и о месте результат.

Например, команда ADD B (арифметическая команда). Сложить содержимое аккумулятора с содержимым регистра В. При выполнении этой команды один операнд находится в аккумуляторе, второй – в регистре В. результат остается в аккумуляторе.

Ф

80

ормат команды:

2

Код операции

операнд

-байтные (двухадресные)
команды имеют следующий формат:

1-й байт 2-й байт

Арифметическая команда ADI data. Сложить содержимое аккумулятора с операндом, который задан во втором байте кода команды. Результат оставить в аккумуляторе. Формат команды имеет вид:

С6

data

0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

1-й байт 2-й байт

3

Код операции 16-разрядный операнд

-байтные (трехадресные команды) имеют следующий формат:

1- байт 2-й и 3-й байты

Чаще всего эти команды используются для работы с адресами.

К

21

00

09

оманда в общем видеLXI rp data. Загрузить в регистровую rp пару 16-разрядный операнд data. Конкретно LXI H, 0900. Загрузить в регистровую пару HL адрес 0900. Формат команды имеет следующий вид:

1- байт младший старший

байт байт

адреса адреса

Способы адресации

Типовой МП использует пять способов адресации: неявную, регистровую, непосредственную, прямую, косвенную.

Регистровая адресация. Когда используются команды с этим типом адресации, источник информации и приемник информации точно определены, ими являются конкретные регистры.

Команда MOV R1,R2. Переслать содержимое регистра R2 в регистр R1. R2 – источник информации, R1 – приемник информации. Источником и приемником информации может быть любой из РОН.

Команды регистровой адресации очень эффективны, т.к. занимают только один байт в программе. Они быстро выполнимы, т.к. не требуют обращения к памяти, поскольку оба операнда являются содержимым внутренних регистров.

Непосредственная адресация. В командах с такой адресацией данные непосредственно задаются в коде команды вслед за кодом операции. Примером такой команды является команда MVI R,data (записать в регистр R конкретное число data).

Неявная адресация. Команда ADD B. Сложить содержимое аккумулятора с содержимым регистра В. Один операнд находится в аккумуляторе, другой - в регистре В. В команде аккумулятор не указывается, считается, что он задан неявно.

Прямая адресация. Команды прямой адресации имеют 3-байтный формат. Они обеспечивают обмен информацией между аккумулятором и ячейкой памяти, адрес которой задан во втором и третьем байтах кода команды. Команда LDA addr. Загрузить прямо в аккумулятор операнд, адрес которого addr содержится во втором и третьем байтах.

Конкретно LDA 0850. Загрузить прямо в аккумулятор операнд, который находится в памяти по адресу 0850. Формат команды имеет следующий вид:

3А 50 80

код операции младший байт старший байт

адреса адреса

Косвенная адресация. Команды с косвенной адресацией обращаются в память по адресу, который в момент выполнения этой команды хранится в регистровой паре HL.

Команда MOV M,R. Переслать содержимое регистра R в ячейку памяти М, адрес которой записан в регистровой паре H,L. Пара H,L называется регистром косвенного адреса.

Пример. Микропрограмма выполнения команды ADD B (сложить содержимое аккумулятора с содержимым регистра В).

Предположим, что команда расположена в памяти по адресу 0900Н. В аккумуляторе содержится операнд 06Н, в регистре В – 08Н.

А

Передача адреса 0900Н из РС на ША

Признак «ЧТ» от УУ на шину управленияуправления

Передача Коп 80Н на ШД и в RI

Дешифрация кода операции

Передача операнда из RG B в ТЕМ

Выполнение операции в АЛУ

РС: = РС + 1

лгоритм выполнения данной команды выглядит следующим образом.

Передача происходит по внутренней шине данных