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


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



ЗНАЕТЕ ЛИ ВЫ?

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



Упрощенная структура процессора с принудительной адресацией команд приведена на рисунке 2.1.

Рисунок 2.1- Упрощенная структура процессора с принудительной адресацией

Процесс выполнения команд процессором следующий: при включении процессора в регистр адреса (РА) заносится адрес первой выполняемой команды (по сигналу “Сброс” или “Пуск” или каким либо иным способом). По этому адресу из ОП через шину данных в регистр команд (РК) считывается команда, которая содержат код операции (КОП), адрес операнда (Аоп), а так же адрес следующей команды (Аск). Поле КОП команды используется для формирования управляющих сигналов yi с помощью дешифратора кода операции (ДшКОП) который вырабатывает нужную последовательность управляющих сигналов (УС) y1...yn, необходимых для выполнения команды в процессоре.

Адрес операнда через РА задает номер ячейки ОП, в которой он хранится. Операнд, считанный из ячейки памяти с заданным адресом, поступает на обработку в АЛУ.

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

01H - вызов операнда из ОП в аккумулятор;

02H- запись содержимого А в ОП;

1АH- команда сложения;

00H- останов выполнения программы.

Пусть необходимо составить программу сложения 2-х чисел, находящихся соответственно в ячейках ОП с адресами 0841H и 0842H и записать результат в ячейку ОП с адресом 0843H. Программа хранится в смежных ячейках памяти, начиная с адреса 1300H. Разрядность (ширина) чтения команд и данных из ОП и записи данных в ОП за одно обращение процессора к ОШ (за один шинный цикл) - 1 байт. В этих условиях требуемая программа будет иметь следующий вид, представленной в таблице 2.1:

Таблица 2.1- Пример программы сложения 2-х чисел с использованием принудительной адресации

 

№ яч КОП Аоп Аск Комментарий
1300 01 0841 1305 Вызов 1-го операнда из ОП и переход к считыванию следующей команды из ячейки ОП с номером 1305H.
1305 0842 130А Вызов 2-го операнда, сложение и переход к считыванию следующей команды из ячейки ОП с номером 130АH.
130А 02 0843 130F Запись результата в ОП и переход к ячейке 130FH.
130F 00 0000 0000 Останов.

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

Процессоры с естественной адресацией команд

Упрощенная структура процессора с естественной адресацией команд приведена на рисунке 2.2.

Рисунок 2.2 - Упрощенная структура процессора с естественной адресацией команд

 

В таких процессорах в регистре команд (РК) отсутствует поле с адресом следующей команды. Вместо этого поля РК в процессор включается счетчик команд СчК (PC- Program Counter), указывающий на адрес текущей команды. СчК при инициации работы программы загружают начальным адресом, по которому выбирается первая команда. После выполнения очередной команды к содержимому СчК автоматически добавляется шаг адресации – обычно это число, равное длине выполняемой команды в байтах. По модифицированному адресу выбирается на выполнение следующая команда и т.д.

Предыдущая программа для этого типа процессора будет иметь вид (см. таблицу 2.2):

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

 

 

№ яч. КОП Аоп Комментарий
1300: 01 08 41 Вызов 1-го операнда из ОП в аккумулятор и переход к считыванию следующей команды из ячейки ОП с номером 1303H.
1303: 08 42 Вызов 2-операнда, сложение его с 1- м операндом и переход к считыванию следующей команды из ячейки ОП с номером 1306H.
1306: 02 08 43 Запись вычисленного результата в ячейку ОП с адресом 0843H и переход к считыванию следующей команды.
1309: 00 00 00 Останов.

 

Нетрудно подсчитать, что длина последней программы составляет 12 байт. Уменьшение длины программы достигается благодаря отсутствию в командах поля с адресом следующей команды.

В процессорах с естественной адресацией длина программы и требуемый под неё объем памяти сокращаются, но система команд усложняется. Так, например, для организации ветвлений в программах требуются специальные команды - условных и безусловных переходов. Однако первое обстоятельство оказалось более весомым и традиционные машины выполняются по второму способу.

 

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

Под способом адресации понимается правило нахождения адреса операнда по информации, заданной в команде. В современных ЭВМ используется большое число способов адресации операндов. Рассмотрим наиболее часто используемые из них.

 

Прямая адресация

При прямой адресации адрес операнда указывается в адресной части команды. Поле адреса может быть одно, двух и трехадресным. Длина адресного поля nА должна быть такой, чтобы перекрывать все адресное пространство – nА=log2 M, где M -емкость памяти в байтах.

Рисунок 2.3 - Порядок выборки операнда при прямой адресации

 

Длина команд с прямой адресацией велика и может составлять несколько машинных слов. Если используется трёхадресная система команд (см. рисунок 2.4, то её длина составит nКОП + nA1 + nA2 + nР. При ёмкости ОП равной 4 Гбайт длина одного адресного поля составит 32 разряда, а длина команды соответственно будет состоять как минимум из 13 байтов.

  КОП А1 А2 Ap
    nA1 nA2 np

Рисунок 2.4 - Формат трехадресной команды с использованием прямой адресации

 

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

Регистровая адресация

Регистровая адресация является укороченной. В поле адреса команды указываются адреса ячеек сверхоперативной памяти (СОЗУ), в которых находятся операнды. СОЗУ является быстродействующей памятью, выполняемой на быстрых регистрах. Эти регистры являются частью процессора и называются регистрами общего назначения (РОН). Число РОН невелико. Регистровая адресация позволяет сократить длину команды и уменьшить время ее выполнения. Следующий рисунок поясняет порядок выборки операндов при использовании 2-х адресной команды.

 

Рисунок 2.5 - Порядок выборки операндов при регистровой адресации: R1- адрес 1-го операнда, R2- адрес второго операнда

Косвенная адресация

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

 

Рисунок 2.6 - Порядок выборки операнда при косвенной адресации

 

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

 

Непосредственная адресация

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

Непосредственный операнд может иметь любую длину (байт, слово, 2-е слово). Этим и определяется длина команды. Формат команды при непосредственной адресации следующий:

КОП Операнд

 

Неявная адресация

Неявная (подразумеваемая) адресация является модификацией регистровой адресации. В команде нет явных указаний на адреса операндов, они подразумеваются, поскольку заключены непосредственно в коде операции команды. Такая команда является самой короткой. Используется в простейших микропроцессорах и микроконтроллерах.

 



Поделиться:


Последнее изменение этой страницы: 2016-08-06; просмотров: 846; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

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