Структура команды процессора. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Структура команды процессора.



Система команд - это набор допустимых для данного процессора управляющих кодов и способов адресации данных. Система команд жестко связана с конкретным типом процессора, поскольку определяется аппаратной структурой блока дешифрации команд, и обычно не обладает переносимостью на другие типы процессоров (хотя может иметь место совместимость “снизу-вверх” в рамках серии процессоров, как, например, в серии i80x86).

Типовая структура формата команды:

1.КОП - код операции - двоичный код, однозначно указывающий процессору на выполнение конкретных действий (пересылка, сложение и т.п.), и определяющий при этом форму задания адресов операндов; 1 или 2 байта;

2.АЧ - адресная часть - двоичное число, которое может представлять собой адрес (адреса) операндов, значение операнда, адрес следующей команды (адрес перехода, передачи управления). 1 до 4 байт.

Индексная (автоинкрементная и автодекрементная) адресация. Её назначение.

При обработке больших массивов данных, выбираемых последовательно друг за другом, нет смысла каждый раз обращаться в память за новым адресом. Для этого достаточно автоматически менять содержимое специального регистра, называемого индексным, чтобы выбирать последовательно размещенные данные. Индексный регистр является косвенным. Его загружают начальным адресом массива(специальной командой). Дальнейшая адресация осуществляется путем автоматического добавления или вычитания единицы или шага адреса из его содержимого.

 

Рисунок. Формирование адреса операнда при индексной адресации.

 

Три вида индексных операции:

а) засылка в индексный регистр начального значения

б) изменение индекса

в) проверка окончания циклических вычислений.

 

Часто в команду с индексной адресацией включают признак, определяющий шаг индексации Т (Т=1,2,4 и т.д.), что позволяет осуществлять адресацию массивов через байт, слово, двойное слово и т.д.

В современных процессорах (например в Intel 80386 и выше) применяют все возможные сочетания из базового адреса, индексного адреса, относительного адреса и шага.

В систему команд традиционно входят такие группы:

Ø пересылка данных (регистр-регистр, регистр-память, память-регистр, специфические команды типа память-память);все команды пересылки выполняют, по сути, копирование данных из ячейки-источника в ячейку-приемник;

Ø арифметические операции (+, –, *,:);

Ø логические операции (and, or, xor, not) и операции сдвига;

Ø ввод-вывод – специфические команды для передачи данных между процессором и устройствами ввода-вывода, размещенными в адресном пространстве ввода-вывода;

Ø передача управления – при выполнении такой команды процессор записывает в счетчик команд PC адрес следующей команды, взятый из адресной части текущей команды;

Ø специальные – останов, сброс, управление прерываниями, управление режимом пониженного энергопотребления и т.п.

Основные группы команд МП.

По характеру операций различают следующие группы команд:

A. команда арифметических операций для чисел с ПТ и ФТ.

B. команда десятичной арифметики.

C. команда логических операций.

D. команда передачи кодов.

E. команда операций ввода/вывода.

F. команда управления порядком исполнения команд (передача управления).

G. команда управления режимом работы.

 

Рассмотрим особенности некоторых групп команд.

Команды передачи управления

Для определения адреса текущей команды МП имеет в своем составе специальный регистр указатель адреса команды или счетчик команд PC, IP.

Модификация РС происходит сразу после выборки команды (или ее байта). Поскольку чаще всего используется естественная адресация команд, то возникает необходимость в командах передачи управления для реализации ветвления алгоритмов. Для этого используются специальные команды:

· n команды перехода

· n команды замещения

· n команды смены состояния процессора

· n команды запроса прерывания

 

1. команды перехода.

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

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

1.1 Команды безусловного перехода

 

 

Переход может осуществляться и переход по косвенному адресу

На косвенную адресацию указывает либо КОП, либо специальный бит в поле команды

 

1.2 Команды условного перехода

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

 

 

М- код признака (маска условия)

Команды могут быть с относительной и косвенной адресацией.

Пример: МП  8080.

 

 

Если условие выполняется, то в счетчик команд загружается новый адрес.

 

1.3 Команды вызова подпрограмм

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

Перед выполнением передачи управления содержимое РС, указывающее на следующую команду программы запоминается по адресу, указываемого в команде (обычно регистр или стек). При этом организуется дополнительная команда возврата из подпрограммы, которая восстанавливает содержимое счетчика команд.

Пример:

 

 

1.4 команды замещения.

Команда замещения - вместо очередной команды используется замещающая команда, находящаяся по адресу, указанному в команде “выполнить”. Выполнение этой замещающей команды не должно приводить к изменению РС. После исполнения этой команды продолжается естественный ход программы (это не JMP).

Команда “выполнение” - аналог подпрограммы, состоящей из одной команды без сохранения адреса возврата.

 

 



Поделиться:


Последнее изменение этой страницы: 2021-12-15; просмотров: 291; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.216.239.46 (0.012 с.)