Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

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



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

 
 

Рис. 4

 

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

· регистр команд, в который загружается команда, подлежащая выполнению;

· два регистра данных, в которые загружаются исходные данные (операнды);

· регистр результата, в котором сохраняется результат операции;

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

 

Рассмотрим процесс выполнения четырехадресной команды по шагам.

Считаем, что подлежащая выполнению команда находится в регистре команд:

1. команда поступает на дешифрирующее устройство, где определяется ее код операции и адреса, где находятся данные;

2. исполнительное устройство считывает первый операнд из ячейки памяти с адресом Адрес1 в регистр1 данных;

3. исполнительное устройство считывает второй операнд из ячейки памяти с адресом Адрес2 в регистр2 данных;

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

5. Содержимое регистра результата пересылается в ячейку с адресом Адрес3

6. Команда из ячейки с адресом Адрес4 считывается в регистр команд.

 

В случае трехадресных команд отсутствует Адрес4, то есть адрес следующей команды. Поэтому вводится дополнительный регистр, называемый указатель команды, в которой содержится адрес следующей команды (рис. 5)

 
 

 

Рис. 5

 

В процессе выполнения меняется только шаг 6, на котором в регистр команд считывается команда из ячейки памяти, адрес которой содержится в указателе команд и добавляется шаг 7, на котором значения указателя команд увеличением на единицу. Таким образом, следующая команда будет считана из соседней ячейки с большим адресом. Получается, что команды выполняются последовательно, одна за одной, как они записаны в памяти. Поскольку бывает необходимым нарушить этот порядок выполнения (например, для того, чтобы организовать многократное выполнение группы одних и тех же команд – так называемый цикл), вводятся специальные команды перехода, которые позволяют нарушить этот порядок выполнения команд «одна за одной». Действие этих команд заключается в том, что они загружают в указатель команд некоторое число и тем самым обеспечивают переход к выполнению команды, расположенной в ячейке с адресом, равным этому числу. Команды перехода бывают безусловные (выполняются всегда) и условные (выполняются или нет в зависимости от содержимого регистра состояния).



 

Двухадресные, одноадресные и безадресные команды, как правило, используются вместе. Двухадресные команды содержат только либо адреса операндов (при этом результат должен сохраняться в памяти отдельной командой), либо адрес одного из операндов и результата (второй операнд должен быть заранее загружен в регистр данных). Одноадресная команда либо загружает один операнд, либо сохраняет результат. Безадресные команды работают с данными, заранее загруженными в регистры. Таким образом, полное выполнение операции, с загрузкой исходных данных и сохранением результата требует более чем одной команды. Однако сами команды выполняются быстрее, а также упрощается устройство управления. Поэтому современные ЭВМ используют двухадресные, одноадресные и безадресные команды.

 

В целом, команды ЭВМ можно разделить на следующие группы:

· арифметические;

· логические;

· сравнения;

· загрузки и сохранения данных;

· перехода.

 

Рассмотренный способ получения данных из памяти ЭВМ получил название прямой адресации. Имеется также косвенная и непосредственная адресации. При косвенной адресации адрес в команде указывает не на ячейку памяти, где хранится операнд, а на ячейку, где находится адрес операнда. То есть после чтения числа из ячейки памяти, это число трактуется как адрес операнда и возникает необходимость еще один раз обратиться к памяти, теперь уже за самим операндом. Кроме того, возникает необходимость еще в одном регистре – адресном, в который считывается адрес операнда. На рис. 6 это показано для одноадресной команды загрузки в регистр 1 данных.

 


 
 

Рис. 6

Команда выполняется следующим образом:

1. команда поступает на дешифрирующее устройство, где определяется ее код операции и необходимость косвенной адресации;

2. исполнительное устройство считывает адрес операнда из ячейки памяти с адресом Адрес1 в адресный регистр;

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

4. команда из ячейки с адресом, соответствующим содержимому указателю команд, считывается в регистр команд;

5. Содержимое указателя команд увеличивается на единицу.

 

При непосредственной адресации вместо адреса в команде содержится сам операнд. На рис. 7 это показано для команды загрузки в регистр 1 данных.

 

 
 

 

Рис. 7

 

Команда выполняется следующим образом:

1. команда поступает на дешифрирующее устройство, где определяется ее код операции и необходимость непосредственной адресации;

2. исполнительное устройство считывает операнд из регистра команд в регистр1 данных;

3. команда из ячейки с адресом, соответствующим содержимому указателю команд, считывается в регистр команд;

4. Содержимое указателя команд увеличивается на единицу.

 

 


Дата добавления: 2015-08-28; просмотров: 50 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
Список студентов, включенных в приказ на получение материальной помощи (компенсация проживания в общежитии) в ноябре | Выражение согласия.

mybiblioteka.su - 2015-2024 год. (0.012 сек.)