Общий алгоритм выполнения машинной программы

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

Основной функцией ДЕШИФРАТОРА КОДА ОПЕРАЦИИ, на который поступает КОД ОПЕРАЦИИ С РЕГИСТРА КОМАНД, является выработка совокупности управляющих сигналов

Они в определенной логической последовательности поступают в узлы процессора и других устройств ЭВМ и реализуют машинную команду.

 

Регистр команд

 

Код операции Адресная часть  

 

 

Схемный (аппаратный) способ или принцип «жесткой логики»   микропрограммный принцип   смешанный - микропрограммно- схемный принцип

 

 

Сложные логические схемы.     Микропрограммы,реализующие конкретные КОП Совмещение микропрограмм и схемных решений

 

 

Принцип «жесткой логики» управления выполнением

Машинной команды ( схемный, аппаратный способ).

При этом логическая последовательность УПРАВЛЯЮЩИХ СИГНАЛОВ задается сложными логическими схемами.

 

Регистр команд

 

Код операции Адресная часть

 

 

 

 

Сложная логическая схема

 

Управляющие сигналы

 

 


Принцип микропрограммного управления

Выполнением команд

При данном способе дешифрации кода операции, выполнение команды - это выполнение определенной микропрограммы. Для каждого КОП существует собственная микропрограмма, находящаяся в постоянном запоминающем устройстве ПЗУ. Упрощенно можно считать, что количество команд в системе команд ЭВМ и количество микропрограмм совпадают. Но при реальной организации микропрограмм, чаще всего в отдельные микропрограммы объединяются повторяющиеся части реализующих КОП микропрограммы. Это позволяет уменьшить количество микропрограмм и объем ПЗУ. Микропрограммы - это логическая последовательность микрокоманд. Микрокоманда - это указание процессору выполнить элементарное действие.   Структура микрокоманды.   Код микрокоманды поле МК …… … поле МК Адрес следующей МК   В микрокомандах применяется принудительная адресация. Это означает, что адрес следующей микрокоманды указывается в адресном поле предыдущей микрокоманды. Поля микроопераций МО и код микрокоманды МК вырабатывают управляющие сигналы. Адрес следующей микрокоманды поступает в регистр адреса микрокоманд для выборки следующей микрокоманды из ПЗУ. Код операции машинной команды с помощью определенных схем трансформируется в номер ячейки памяти начала нужной микропрограммы. Пример: Код операции содержит 3 разряда, а адреса ячеек памяти ПЗУ- 8разрядные. Это означает, что может быть задано 8 видов кодов операции, а на выходе дешифратора получить начальные адреса 8 микропрограмм. При этом: Если КОП=000, то начальный адрес - 00000001, Если КОП=001, то начальный адрес - 00000010, Если КОП=010, то начальный адрес - 00000100, Если КОП=111, то начальный адрес - 10000000. На входы 0,1,2 - подается код операции, C Q0- Q7 считывается адрес начала микропрограммы.
 
 

 


Таким образом, при микропрограммном принципе реализации выполнения кодов операций:

- выполняемая команда записывается в регистр команд РК;

- из КОП вырабатывается начальный адрес микропрограммы, реализующей данный КОП;

- шаг за шагом , микрокоманда за микрокомандой выполняется выбранная микропрограмма, поэтапно реализуя команду;

- после завершения микропрограммы, значит и команды, вырабатывается признак окончания операции;

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

 

 

 

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

 

Общий алгоритм выполнения машинной программы

1. В РНК ( счетчик команд ) заносится адрес ячейки памяти , где находится начало программы.

2.Первая команда программы считывается из ячейки и размещается в РК ( регистр команд).

3.Команда дешифрируется Дешифратором кода операций, вырабатывается последовательность управляющих сигналов УС, поступающих в необходимые моменты времени в нужные узлы ЭВМ.

4.После завершения команды вырабатывается сигнал « Конец операции», который автоматически увеличивает содержимое РНК на 1. Образуется адрес новой команды.

5.Новая команда считывается из следующей ячейки памяти и дешифрируется и т.д.

6.При выполнении команды « Останов», который всегда является последней завершающей командой программы, запрещается обращение в память, прекращается выработка УС.

Контрольные вопросы.

Что произойдет, если:

 

1. Выйдет из строя в силу каких-либо причин сложная логическая схема, реализующая КОП ?!