Алгоритм (последовательность) выполнения большинства команд


Введение

Алгоритм выполнения команд

Любая команда состоит в выполнении ряда простейших действий – микроопераций. Набор микроопераций для каждой команды свой, тем не менее - между алгоритмами выполнения команд – много общего.

В данном разделе, мы рассмотрим - из каких микроопераций - состоит процесс выполнения подавляющего числа команд ЭВМ (Исключение: команды управления).

Особое внимание потребуется обратить на механизм, который обеспечивает последовательное выполнение команд программ. Механизм – который обеспечивает вслед за выполнением некой i команды, автоматическую выборку из ОЗУ, и передачу в процессор на исполнение – уже следующей по порядку записи в машинной программе i+1 команды.

 

 

Сейчас мы впервые встретимся с описанием алгоритма выполнения команды на языке ЯОМО. В данном случае – применим наиболее полную форму записи – с использованием блок-схемы:

 

 

На рисунке:

RC - (Register of Command, регистр команд) – специальный регистр, непосредственно связанный с устройством управления ЦП. То, что попадает в RC, поступает в ЦП на обработку.

 

PC - (Program Calculator, программный счётчик) – специальный регистр, в котором , к моменту начала выполнения команды, находится адрес в ОЗУ команды подлежащей выполнению. Перед началом выполнения программы ОС заносит в программный счётчик адрес первой команды программы.

 

 

Комментарии по отдельным микрооперациям:

 

Микрооперация 1: В регистр команд RC заносится информация из тех ячеек ОЗУ, на которые указывает программный счетчик PC. Таким образом - команда поступает в процессор на выполнение. Обратите внимание – используется, уже знакомая вам, косвенная регистровая адресация [3.4.5.], и уже знакомые вам условные обозначения введённые в [3.4]. Заметим – запись в приведенном алгоритме ( стрелка, скобки, названия регистров) – полностью описывает процесс, слова – излишни, избыточны.

 

Микрооперация 2: УУ выполняет дешифрацию команды, т.е. разбирает содержимое регистра команд, определяет – что за команда поступила на выполнение, какие микрооперации - в дальнейшем должны быть выполнены. Смотрите [1.7.2]

 

Микрооперации 1,2: стандартные микрооперации, с таких микроопераций начинается выполнение абсолютно любой команды ЭВМ.

 

Микрооперации с 3-й по n-2 – уникальные микрооперации, индивидуальные для каждой из команд. Состав или количество этих микроопераций зависят от результатов дешифрации, а конечном счете - от того какая команда поступила на выполнение. Собственно, выполнение этих микроопераций и есть выполнение действий предписанных командой. Дальше – начнётся уже подготовка к выполнению следующей команды.

 

 

Микрооперация n-1: Программный счетчик увеличивается на LK – длина только что выполненной команды. Смотрите [3.3] После выполнения этой микрооперации программный счетчик будет указывать уже на адрес в ОЗУ – следующей по порядку размещения в программе команды программы.

 

Микрооперация n – проверка наличия сигнала INT (прерывания). Наличие сигнала INT свидетельствует о том, что произошло внешнее событие и требуется переход к выполнению другой программы (программы обработки прерывания).

Если INT = 0 (сигнала прерывания свидетельствующего о наступлении внешнего события нет) - возвращаемся к выполнению микрооперации1, снова – выборка команды… Только теперь – это уже будет уже выборка следующей команды программы. Повторение цикла – обеспечит выполнение программы.

Если INT =1 (есть сигнал прерывания) – переходим к выполнению действий по "обработке прерывания". Как уже упоминалось выше [1.10]– к выполнению другой программы. Подробнее что именно в деталях происходит при обработке прерывания, как осуществляется переход к "программе обработки прерывания" рассмотрим позднее, когда будем изучать систему прерываний.

 

Микрооперации n-1 и n: тоже стандартные микрооперации завершения команд, впрочем - не столь стандартные как первые две микрооперации: некоторые команды, прежде всего команды передачи управления – могут завершаться иначе. В дальнейшем мы, в основном, будем изучать как раз именно команды передачи управления, так что с этим исключением – встречаться будем очень часто.