Для гипотетической машины

Описание стандартных циклов команды

Микропрограммы для отдельных этапов исполнения команд гипотетической вычислительной машины (рис. 2.72.) приведены в таблице 2.17.

Таблица 2.17. Микропрограммы отдельных этапов циклов команд (гипотетическая вычислительная машина)

Этап Команда Номер такта Микропрограмма
  КОп АЧ    
ВК     T0 РАП_СК: РАП:= СК, ЧтЗУ: РДП:= ОП[(РАП)]
ВК+ДК     T1 РК РДП: РК:= РДП, МПА:= УнитК:= DECOD(РК(КОП))
ВО LDA ADR T2 РАП_РА: РАП:= РК(РА); ЧтЗУ: РДП:= ОП[(РАП)|
ИО     T3 Акк_РДП: Акк:= РДП
ИО STA ADR T2 РАП_РА: РАП:= РК(РА); РДП_Акк: РДП:= Акк
ИО     T3 ЗпЗУ: ОП[(РАП)]:= РДП
ВО ADD ADR T2 РАП_РА: РАП:= РК(РА), ЧтЗУ: РДП:= ОП[(РАП)]
ИО     T3 РХ_РДП: РХ:= РДП, PY_Aкк: PY:= Акк, ОпБ:= PY+PX Рпрз:= Признаки
ИО     T4 Акк__ОпБ: Акк:= ОпБ
ВО SUB ADR T2 РАП_РА: РАП:= РК(РА), ЧтЗУ: РДП:= ОП[(РАП)]
ИО     T3 РХ_РДП: РХ:= РДП, РУ_Акк: PY:= Акк, ОпБ:= PY – РХ Рпрз: = Признаки
ИО     T4 Акк_ОпБ: Акк:= ОпБ
ИО INP IPRT T2 ДВВ_РА: ДВВ:= РК(РА)
ИО     T3 Вв: Акк:= Порт ввода IPRT
ИО OUT OPRT T2 ДВВ_РА: ДВВ:= РК(РА)
ИО     T3 Выв: Порт вывода OPRT:= Акк
ИО JMP ADR T2 БПУП: СК:=РА
ИО BRZ ADR T2 If Z=1 then БПУП: СК:= РА else +1СК:СК:= СК+1
ИО HLT   T2 ОСТ:
ФАСК     T4 T5 +1СК: СК:= СК+1; <Для команд LDA, STA, INP, OUT> +1СК: СК:= СК+1; <Для команд ADD, SUB>

Этап выборки любой команды ВМ. На этом этапе происходит извлечение двоичного кода команды из ячейки основной памяти и его занесение в регистр команды. Этап реализуется в двух начальных тактах цикла команды (Т0 и Т1):

· Такт Т0 – вырабатывается сигнал управления РАП_СК, инициирующий пересылку содержимого счетчика команд (СК) в регистр адреса памяти (РАП), после чего по сигналу ЧтЗУ содержимое ячейки, выбранной дешифратором адреса памяти (код команды), переписывается в регистр данных памяти (РДП).

• Такт Т1 – формируется сигнал РК_РДП, по которому содержимое регистра данных памяти РДП передается в РК, при этом поле РКОП заполняется кодом операции, а поле РА – адресной частью команды.

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

• Такт Т1 – дешифратор кода операции ДКОП непосредственно подключен к соответствующему полю регистра команды, поэтому специальный сигнал управления не нужен, а декодирование происходит сразу же после заполнения РК, то есть параллельно второй фазе этапа выборки команды ВК.

Этап вычисления исполнительных адресов. В гипотетической вычислительной машине предусмотрена только прямая адресация, поэтому этап вычисления исполнительных адресов отсутствует.

Этап выборки операндов. В рассматриваемой системе команд этап выборки операндов имеется только в командах LDA (загрузка в аккумулятор содержимого ячейки ОП), ADD (сложение данных аккумулятора и ячейки ОП) и SUB (вычитание из содержимого аккумулятора содержимого ячейки ОП).

Этапы команды LDA ADR. Команда обеспечивает занесение в аккумулятор содержимого ячейки ОП с адресом ADR:

· Такт Т2 (этап выборки операндов) – по сигналу РАП_РА содержимое регистра адреса РА (адресная часть команды) пересылается в РАП, после чего по сигналу ЧтЗУ содержимое ячейки с адресом ADR заносится в регистр данных памяти РДП.

· Такт Т3 (этап исполнение операции ИО) – по сигналу Акк_РДП операнд из РДП пересылается в аккумулятор.

Этап исполнения операции для команды STA ADR. Команда обеспечивает сохранение содержимого аккумулятора в ячейке ОП с адресом ADR:

· Такт Т2 – сигналом РАП_РА адресная часть команды (ADR) из РА пересылается в РАП, одновременно с этим содержимое аккумулятора по сигналу РДП_Акк заносится в РДП.

· Такт Т3 – по сигналу ЗпЗУ происходит физическая запись содержимого РДП в ячейку ОП, на которую указывает адрес, находящийся в РАП.

Этапы команды ADD ADR. Команда обеспечивает суммирование текущего содержимого аккумулятора с содержимым ячейки основной памяти ОП, имеющей адрес ADR. Результат сложения остается в аккумуляторе. Одновременно с этим в АЛУ формируются признаки результата, которые запоминаются в регистре признаков:

· Такт Т2 (этап выборка операндов) – вырабатывается сигнал РАП_РА, и содержимое регистра адреса РА поступает в регистр адреса памяти РАП. В том же такте по сигналу ЧтЗУ второе слагаемое из ячейки с адресом ADR (первое слагаемое берется из аккумулятора) заносится в регистр данных памяти РДП.

· Такт Т3 (этап исполнение операции) – сигнал управления РХ_РДП вызывает пересылку второго операнда из регистра данных памяти РДП в регистр РХ арифметико-логического устройства. Одновременно с этим, сигналом РY_Акк первый операнд из аккумулятора переписывается в PY. Операционный блок выполняет над данными, расположенными в РХ и PY, операцию, заданную в коде операции команды (в нашем случае – сложение), а также формирует признаки, характеризующие этот результат. Признаки автоматически заносятся в регистр признаков Рпрз.

· Такт Т4 (этап исполнение операции) – по сигналу Акк_ОпБ информация с выхода ОпБ сохраняется в аккумуляторе.

Этапы команды SUB ADR. Команда обеспечивает вычитание из текущего содержимого аккумулятора содержимого ячейки основной памяти ОП, имеющей адрес ADR. Результат вычитания остается в аккумуляторе. Как и при сложении, формируются и запоминаются признаки результата. Содержание подобно описанию для команды ADD ADR, за исключением действия, выполняемого в операционном блоке ОПБ в такте Т3 (вычитание вместо сложения).

Этап исполнения для команды IMP IPRT. Команда обеспечивает занесение в аккумулятор информации из периферийного устройства (ПУ), подключенного к порту ввода с номером IPRT:

· Такт Т2 (этап исполнение операции) – вырабатывается управляющий сигнал ДВВ_РА, по которому адресная часть команды – номер порта ввода – из регистра адреса РА поступает на вход дешифратора номера порта ввода/вывода.

· Такт Т3 (этап исполнение операции) – по сигналу Вв информация из периферийного устройства ПУ, подключенного к выбранному дешифратором порту ввода, заносится в аккумулятор.

Этап исполнения для команды OUT OPRT. Команда обеспечивает вывод содержимого аккумулятора на периферийное устройство ПУ, подключенное к порту вывода с номером OPRT:

· Такт Т2 (этап исполнение операции) – по сигналу ДВВ_РА адресная часть команды – номер порта вывода – из регистра адреса РА подается на вход дешифратора номера порта ввода/вывода.

· Такт Т3 (этап исполнение операции) – сигналом Выв содержимое аккумулятора через выбранный с помощью ДВВ порт вывода передается на подключенное периферийное устройство ПУ.

Этап исполнения операции для команды JMP ADR. Команда обеспечивает безусловный переход к команде, расположенной в ячейке основной памяти ОП с адресом ADR:

· Такт Т2 – по сигналу БПУП адресная часть команды (ADR) заносится в счетчик команд, тем самым фактически реализуется этап формирования адреса следующей команды.

Этап исполнения операции для команды BRZ ADR. Команда анализирует хранящийся в регистре признаков Рпрз признак (флаг) нулевого результата, выработанный в АЛУ на предыдущем этапе вычислений, и формирует адрес следующей команды в зависимости от состояния этого признака:

· Такт Т2 – при нулевом значении признака (условие перехода не выполнено) естественный порядок выполнения программы не нарушается, и адрес следующей команды формируется обычным образом, путем увеличения содержимого счетчика команд СК на единицу; при единичном значении признака (условие перехода выполнено) в счетчик команд СК заносится содержимое регистра адреса РА. В регистре адреса РА находится адресная часть извлеченной из основной памяти ОП команды перехода, то есть адрес точки перехода (ADR).

Этап исполнения для команды HLT. Команда приводит к завершению вычислений. При этом вырабатывается сигнал ОСТ, нужный для того, чтобы известить операционную систему о завершении текущей программы.

Этап формирования адреса следующей команды. Для формирования адреса следующей команды (если текущая команда не меняет естественной последовательности вычислений) достаточно увеличить содержимое счетчика команд на единицу.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: