Лекции.ИНФО


МИКРОПРОГРАММНОЕ УСТРОЙСТВО УПРАВЛЕНИЯ



Переход к исследованию работы микропрограммного устройства управления модели базовой ЭВМ осуществляется вхождением в меню (нажатием клавиш "Shift +F4") и выбором из меню режима "Работа с МПУ" (клавиши "стрелка вниз", "стрелка вверх" - для перемещения курсора и клавиша "Enter" - для выбора режима), после чего на экране появляется картинка, соответствующая рис. 3.1.

 

Микропрограммное управление вентильными схемами.

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

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

В данном варианте реализации МПУ используется всего два типа микрокоманд - операционная и управляющая:

Операционная микрокоманда (ОМК)

 

0 Х Х                                                        

 

 

Биты управления отдельными вентильными схемами
Код операции

 

 
 

 

 


Управляющая микрокоманда

1 Х Х А РК РД РС                                        

 

 

                   
 
Код операции
 
Адрес перехода
 
Поле выбора проверяемого бита
   
Поле выбора проверяемого регистра А, РК, РД, РС
 
 
     
Однобитовое поле сравнения
 

 

 


Микропрограмма хранится в постоянном запоминающем устройс­тве - памяти микрокоманд. В каждом такте работы ЭВМ из этой па­мяти в регистр микрокоманд (РМК) пересылается очередная микроко­манда, т. е. микрокоманда, на которую указывает счетчик микроко­манд (СчМК), одновременно выполняющий функции регистра адреса микрокоманд. Затем содержимое СчМК наращивается на единицу.

Если из памяти микрокоманд выбрана операционная микрокоман­да, то в 31-й бит РМК записывается 0. Этот сигнал через инвертор открывает вентильную схему ВРО и обеспечивает передачу на В0-В28 состояний соответствующих битов РМК (управляющих сигналов У0-У28). Разряды РМК, содержащие 1, создают открывающий управля­ющий сигнал, а содержащие 0 - закрывающий. Подобная структура микрокоманды, где каждый бит используется для создания отдельно­го управляющего сигнала, называется горизонтальной.

Вентильные схемы В1, В2, В3 предназначены, соответственно, для передачи содержимого РД, РК, СК на правый вход АЛУ. Если все эти схемы закрыты (У1=У2=У3=0), то сигнал на правом входе АЛУ со­ответствует коду числа 0. Аналогично используются вентильные схемы В4, В5 и В6, позволяющие передать на левый вход АЛУ содер­жимое А, РС, клавишного регистра (КР) или кода числа 0.

Управляющие сигналы У7-У10 перестраивают АЛУ на выполнение различных микроопераций. При У7=...=У10=0 в 17 разрядный буфер­ный регистр АЛУ (БР) записывается сумма входных сигналов АЛУ; при У7=У8=У9=0 и У10=1 к такой сумме добавляется 1; при У7=У8=У10=0 и У9=1 в БР записывается результат логического умножения входных сигналов АЛУ; при У7=1 и (или) У8=1 можно получить аналогичные результаты, но для инверсных значений одного или двух входных сигналов.

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

1. Для вычитания содержимого РД из содержимого А и записи результата в буферный регистр следует выполнить микрокоманду

(0000 0000 0000 0000 0000 0101 0001 0010)2=(0000 0512)16, т.е. одновременно подать единичные управляющие сигналы на В1, В4, В8 и В10. Тогда к уменьшаемому прибавится обратный код вычи­таемого и к этой сумме добавится единица, что эквивалентно сум­мированию уменьшаемого с дополнительным кодом вычитаемого.

2. Для вычитания 1 из содержимого аккумулятора надо выпол­нить микрокоманду (0000 0110)16, т.е. подать единичные управляю­щие сигналы на В4 и В8 и сложить содержимое А с обратным кодом числа 0 или (что то же самое) с дополнительным кодом числа -1.

3. Для увеличения на 1 содержимого СК надо выполнить микро­команду (0000 0408)16, т.е. открыть В3 и В10.

Вентильные схемы В11 и В12 позволяют записать в БР сдвину­тое на один разряд вправо или влево содержимое аккумулятора. При этом "лишний" разряд БР заполняется содержимым регистра переноса С.

Вентильные схемы В13-В15 используются для передачи в одно­битные регистры C, N, Z признаков результата операции, выполнен­ной в АЛУ: двух старших разрядов 17-ти битового БР (перенос и знак), а также выходного сигнала специальной схемы, который ра­вен 1 лишь в том случае, когда содержимое БР равно 0. Управляю­щие сигналы У16 и У17 позволяют установить регистр С в 0 или 1 независимо от результата выполнения операции, сохраняемого на БР.

Вентильные схемы В18-В22 позволяют переписать содержимое 16 или 11 младших разрядов БР в РА, РД, РК, СК и А соответственно.

Вентильные схемы В23-В28 используются для организации обме­на информацией между регистрами процессора и другими подсистема­ми ЭВМ (памятью и устройствами ввода-вывода). И, наконец, вен­тильная схема В0 используется для передачи сигнала прекращения выполнения программы (команда HLT).

Если из памяти микрокоманд выбрана управляющая микрокоман­да, то в 31-й бит РМК записывается единица (код операции УМК). Этот сигнал открывает вентильную схему ВР1 и тем самым создает условия для выполнения УМК. Теперь по сигналу, создаваемому каким-либо битом поля выбора проверяемого регистра (У1, У2, У4 или У5) открывается одна из вентильных схем В1, В2, В4 или В5 и на вентили ВВ0-ВВ15 поступает через АЛУ содержимое соответствующего регистра (РД, РК, А или РС). Одновременно на эти же вентили пос­тупает с РМК содержимое поля выбора проверяемого бита. Так как в этом поле записана только одна 1 (на месте, соответствующем про­веряемому биту), то открывается лишь один из вентилей ВВ0-ВВ15, через который на схему сравнения поступает содержимое проверяе­мого бита из проверяемого регистра. На другой вход этой схемы поступает содержимое однобитового поля сравнения (24 бит УМК), в которое при кодировании УМК записали 0 или 1.

Если проверяемый бит и бит из поля сравнения идентичны, то схема сравнения формирует единичный сигнал, который открывает вентильную схему ВА и на СчМК пересылается адрес перехода (16-23 биты УМК). В противном случае на СчМК сохраняется адрес микроко­манды, расположенной вслед за исполняемой, так как после выборки текущей микрокоманды содержимое СчМК увеличивается на единицу.

При организации разветвлений в микропрограмме используется содержимое регистра состояний, являющегося объединением одноби­товых регистров признаков и состояний ЭВМ (табл. 3.1). Такое объединение сделано с целью формального уменьшения числа регист­ров, с которыми работает МПУ, что позволяет сократить разряд­ность УМК. На структурной схеме (рис. 3.2) РС изображен (для удобства описания ) в виде самостоятельного регистра, хотя его разряды лишь дублируют состояние регистров C, N, Z и.т.д.

 

Табл. 3.1

Раз- ряд Содержимое Раз- ряд Содержимое Раз- ряд Содержимое
Перенос (С) Нуль (Z) Знак (N) 0 - используется для организации безусловных пе­реходов в МПУ Разрешение пре­рывания Прерывание Состояние ВУ (Ф) Состояние РАБОТА/ОСТАНОВ (1 - РАБОТА) Программа Выборка ко­манды   Выборка адре­са   Исполнение Ввод-вывод

 

 

Рассмотрим две управляющие команды:

1. После увеличения на 1 содержимого РД в команде ISZ надо проверить знаковый разряд РД (разряд с номером 15). Если этот разряд равен 1 (содержимое < 0), то выполнение команды ISZ за­вершается. В противном случае необходимо прибавить 1 к содержи­мому СК, т.е. организовать пропуск команды, следующей за ISZ. Это разветвление (переход по адресу 8F) осуществляется с помощью микрокоманды (858F 8000)16, имеющей следующую структуру:

 

 

1 1 1 1

           
 
Код операции  
   
 
   
Адрес, который пересылается в СЧМК при положительном результате сравнения  

 


2. Для организации безусловного перехода (например, по тому же адресу 8F) используется 3-й бит регистра состояний, содержа­щий константу 0. Сравнение этого разряда с нулем, записанным в 24-й разряд УМК, всегда дает положительный результат и позволяет переслать в СчМК нужный адрес перехода. Микрокоманда, реализую­щая эту операцию, имеет вид: (828F 0008)16.

Интерпретатор базовой ЭВМ

Полный текст микропрограммы (интерпретатора команд) приве­ден в табл. 3.2. В столбце "Верт." приведены варианты укорочен­ной кодировки микрокоманд - вертикальные микрокоманды. Эти мик­рокоманды состоят из полей, в которых закодированы требуемые на­боры управляющих сигналов (рис.3.3). Для декодирования таких команд используются дополнительные устройства – дешифраторы.

В модели базовой ЭВМ используется вариант интерпретатора с верти­кальными микрокомандами.

Первые микрокоманды интерпретатора служат для выборки ко­манды из основной памяти (ОП) базовой ЭВМ и определения ее типа : адресная, безадресная или ввода-вывода. Для этого содержимое СК (в котором хранится адрес исполняемой команды) пересылается через БР в РА(СК -> БР и БР -> РА). Затем из ячейки ОП, на кото­рую указывает РА, пересылается в РД команда, а содержимое СК увеличивается на единицу и пересылается в БР: ОП(РА) -> РД, СК + 1 -> БР. Далее содержимое БР, т.е. адрес следующей команды, пе­ресылается из БР в СК, а код команды из РД в РК, после чего начинается дешифрация команды.

Так как адресные команды (команды с кодами операций от 0 до D) обязательно содержат ноль в 15, 14 или 13-м бите, то проверкой этих битов РК можно выделить адресную команду и перейти к проверке ее 11 бита (бита вида адресации). Для разделения команд ввода-вывода (код операции Е) и безадресных команд (код операции F) достаточно проанализировать 12-й бит РК: если этот бит равен единице, то надо переходить к микрокомандам продолжения дешифрации безадресных команд, расположенных, начиная с адреса 5Е (метка БАД). В комментариях микрокоманда анализа 12-го бита за­писана в виде:

 

IF BIT(12,PK)=1 THEN БАД(5Е).

В памяти микрокоманд нет полных микропрограмм для адресных команд с кодами операций 7 и D, а также для безадресных команд FC00, FD00 и FF00. Когда при декодировании команды выясняется, что выбрана команда 7ххх, управление передается ячейке с адресом В0. Начиная с этой ячейки могут располагаться микрокоманды ка­кой-либо новой арифметической команды (например, умножения). Для микропрограмм реализации команды перехода и безадресных команд выделены участки памяти микрокоманд с начальными адресами D0 и Е0.

 

Операционная микрокоманда (ОМК0)

 

    X X                    

       
   
 
Память
Сдвиги
Операция
Обрат-ный код
Правый вход
Левый вход
Код операции

 

 


Операционная микрокоманда (ОМК1)

 

 

X X                        

 
 
Код операции

 


Рис. 3.3

 

Управляющая микрокоманда

 

1                

 

 

                   
   
Поле выбора проверяемого регистра 0 – РС, 1 - РД, 2 – РК, 3 - А,  
     
Адрес перехода
 
Код операции
 
Однобитовое поле сравнения
   
Поле выбора проверяемого бита
 
 
 
 

 


Рис. 3.3 (продолжение).

 

Таблица 3.2. Интерпретатор базовой ЭВМ

 

  Ад- рес Микрокоманды Комментарии  
  Горизонт. Верт. Метка Действие  
   
  Цикл выборки команды  
  0000 0008 нач СК ® БР  
  0004 0000   БР ® РА  
  0080 0408   ОП(РА) ® РД, СК+1 ® БР  
  0020 0000   БР ® СК  
  0000 0002   РД ® БР  
  0010 0000   БР ® РК  
  Определение типа команды  
  880С 8000 AF0C   IF BIT(15,РК)=0 THEN АДЦ(0С)  
  880C 4000 AE0C   IF BIT(14,РК)=0 THEN АДЦ(0С)  
  880C 2000 AD0C   IF BIT(13,РК)=0 THEN АДЦ(0С)  
  0A 895E 1000 EC5E   IF BIT(12,РК)=1 THEN БАД(5Е)
  0B 828E 0008 838E   GOTO B/B(8E)
  Определение вида адресации
  0C 881D 0800 AB1D АДЦ IF BIT(11,РК)=0 THEN АДР(1D)
  Цикл выборки адреса операнда
0D 0000 0002   РД ® БР  
0E 0004 0000   БР® РА  
0F 0080 0000   ОП(РА) ® РД  
881D 0003 A31D   IF BIT(3,РК)=0 THEN АДР(1D)  
891D 0010 E41D   IF BIT(4,РК)=1 THEN АДР(1D)  
891D 0020 E51D   IF BIT(5,РК)=1 THEN АДР(1D)  
891D 0040 E61D   IF BIT(6,РК)=1 THEN АДР(1D)  
891D 0080 E71D   IF BIT(7,РК)=1 THEN АДР(1D)  
891D 0100 E81D   IF BIT(8,РК)=1 THEN АДР(1D)  
891D 0200 E91D   IF BIT(9,РК)=1 THEN АДР(1D)  
891D 0400 EA1D   IF BIT(10,РК)=1 THEN АДР(1D)  
0000 0402   РД+1 ® БР  
0008 0000   БР ®РД  
1A 0100 0000   РД ® ОП(РА)  
                                             

 

 

Продолжение таблицы 3.2

 

1B 0000 0082   РД + СОМ(0)=РД+1 ® БР  
1C 0003 0000   БР ® РД  
Цикл исполнения адресных команд  
  1D 892D 8000 EF2D АДР IF BIT(15,РК)=1 THEN ПРХ(2D)  
  1E 0000 0002   РД ® БР  
  1F 0004 0000   БР ® РА  
  8927 4000 EE27   IF BIT(14,РК)=1 THEN АРФ(27)  
  8824 2000 AD24   IF BIT(13,РК)=0 THEN А1(24)  
  8857 1000 AC57   IF BIT(12,РК)=0 THEN JSR(57)  
  8238 0008   GOTO MOV(38)  
  0080 0000 А1 ОП(РА) ® РД  
  8850 1000 AC50   IF BIT(12,РК)=0 THEN ISZ(50)  
  8235 0008   GOTO AND(35)  
  0080 0000 АРФ ОП(РА) ® РД  
  882В 2000 AD2B   IF BIT(13,РК)=0 THEN СУМ(2В)  
  8843 1000 AC43   IF BIT(12,РК)=0 THEN SUB(43)  
  2A 8280 0008   GOTO P-A(B0)  
  2B 883C 1000 AC3C СУМ IF BIT(12,РК)=0 THEN ADD(3C)  
  2C 823F 0008 833F   GOTO ADC(3F)
  2D 8830 4000 AE30 ПРХ IF BIT(14,РК)=0 THEN УПХ(30)  
  2E 8847 1000 AC47   IF BIT(12,РК)=0 THEN BR(47)  
  2F 82D0 0008 83D0   GOTO Р-П(D0)  
  8833 2000 AD33 УПХ IF BIT(13,РК)=0 THEN П1(33)  
  884C 1000 AC4C   IF BIT(12,РК)=0 THEN BMI(4C)  
  824E 0008 834E   GOTO BEQ(4E)  
  8846 1000 AC46 П1 IF BIT(12,РК)=0 THEN BCS(46)  
  824A 0008 834A   GOTO BPL(4A)  
  Исполнение адресных команд  
  0000 0212 AND A & РД ® БР  
  0040 C000   БР ® A,N,Z  
  828F 0008 838F   GOTO ПРЕ(8F)  
  0000 0010 MOV A ® БР  
  0008 0000   БР ® РД  
  3A 0100 0000   РД ® ОП(РА)  
  3B 828F 0008 838F   GOTO ПРЕ(8F)  
  3C 0000 0012 ADD А + РД ® БР  
  3D 0040 Е000   БР ® A,C,N,Z  
  3E 828F 0008 838F   GOTO ПРЕ(8F)  
  3F 823C 0001 803C ADC IF BIT(0,PC)=0 THEN ADD(3C)  
  0000 0412   А + РД +1 ® БР  
  0040 Е000   БР ® A,C,N,Z  
  828F 0008 838F   GOTO ПРЕ(8F)  
  0000 0512 SUB A + COM(РД) + 1 = А - РД ® БР  
  0040 Е000   БР ® A,C,N,Z  
  828F 0008 838F   GOTO ПРЕ(8F)  
  828F 0001 808F BCS IF BIT(0,PC)=0 THEN ПРЕ(8D)  
  0000 0002 BR РД ® БР  
  0020 0000   БР ® СК  
  828F 0008 838F   GOTO ПРЕ(8F)  
  4A 838F 0004 C28F BPL IF BIT(2,PC)=1 THEN ПРЕ(8F)  
  4B 8247 0008   GOTO BR(47)  
                                             

 

Продолжение таблицы 3.2

 

  4C 828F 0004 828F BMI IF BIT(2,PC)=0 THEN ПРЕ(8F)  
  4D 8247 0008   GOTO BR(47)  
  4E 828F 0002 818F BEQ IF BIT(1,PC)=0 THEN ПРЕ(8F)  
  4F 8247 0008   GOTO BR(47)  
  0000 0402 ISZ РД + 1 ® БР  
  0008 0000   БР ® РД  
  0100 0000   РД ® ОП(РА)  
  858F 8000 DF8F   IF BIT(15,PД)=1 THEN ПРЕ(8F)  
  0000 0408   СК + 1 ® БР  
  0020 0000   БР ® СК  
  828F 0008 838F   GOTO ПРЕ(8F)  
  0000 0402 JSR РД + 1 ® БР  
  0010 0000   БР ® РК  
  0000 0008   СК ® БР  
  5A 0008 0000   БР ® РД  
  5B 0100 0004   РД ® ОП(РА), РК ®БР  
  5C 0020 0000   БР ® СК  
  5D 828F 0008 838F   GOTO ПРЕ(8F)  
  Продолжение цикла выборки команды Декодирование и исполнение безадресных команд  
5E 8861 0800 АВ61 БАД IF BIT(11,PК)=0 THEN Б0(61)
5F 886С 0400 АА6С   IF BIT(10,PК)=0 THEN Б1(6С)
82Е0 0008 83Е0   GOTO Р - Б(Е0)
8867 0400 АА67 Б0 IF BIT(10,PК)=0 THEN Б2(67)
8865 0200 А965   IF BIT(9,PК)=0 THEN Б3(65)
8882 0100 А882   IF BIT(8,PК)=0 THEN ROL(82)
8285 0008   GOTO ROR(85)
887B 0100 A87B Б3 IF BIT(8,PК)=0 THEN CMA(7B)
827Е 0008 837Е   GOTO CMC(7E)
886A 0200 A96A Б2 IF BIT(9,PК)=0 THEN Б4(6А)
8876 0100 А876   IF BIT(8,PК)=0 THEN CLA(76)
8279 0008   GOTO CLC(79)
6A 8888 0100 A888 Б4 IF BIT(8,PК)=0 THEN HLT(88)
6B 8287 0008   GOTO NOP(87)
6C 886F 0200 A96F Б1 IF BIT(9,PК)=0 THEN Б5(6F)
6D 888А 0100 А88А   IF BIT(8,PК)=0 THEN EI(8A)
6E 828С 0008 838С   GOTO DI(8C)
6F 8873 0100 A873 Б5 IF BIT(8,PК)=0 THEN INC(73)
0000 0110 DEC A + COM(0)=A - 1 ® БР
0040 Е000   БР ® A, C, N, Z
828F 0008 838F   GOTO ПРЕ(8F)
0000 0410 INC A + 1 ® БР
0040 Е000   БР ® A, C, N, Z
828F 0008 838F   GOTO ПРЕ(8F)
0000 0200 CLA 0 ® БР
0040 С000   БР ® A, N, Z
828F 0008 838F   GOTO ПРЕ(8F)
0001 0000 CLC 0 ® C
7A 828F 0008 838F   GOTO ПРЕ(8F)
7B 0000 0090 CMA COM(A) ® БР; ИНВЕРСИЯ А
7C 0040 С000   БР ® A, N, Z
7D 828F 0008 838F   GOTO ПРЕ(8F)
                   

 

Продолжение таблицы 3.2

 

  7E 8280 0001 CMC IF BIT(0,PC)=0 THEN Б6(80)
  7F 8279 0008   GOTO CLC(79)
  0002 0000 40С0 Б6 1 ® C
  828F 0008 838F   GOTO ПРЕ(8F)
  0000 1000 ROL RAL(A) ® БР; СДВИГ ВЛЕВО
  0040 E000   БР ® A, С, N, Z
  828F 0008 838F   GOTO ПРЕ(8F)
  0000 0800 ROR RAR(A) ® БР; СДВИГ ВПРАВО
  0040 E000   БР ® A, С, N, Z
  828F 0008 838F NOP GOTO ПРЕ(8F)
  0000 0001 HLT ОСТАНОВ МАШИНЫ
  8201 0008   GOTO НАЧ(01)
  8A 1000 0000 EI РАЗРЕШЕНИЕ ПРЕРЫВАНИЯ
  8B 8201 0008   GOTO НАЧ(01)
  8C 0800 0000 DI ЗАПРЕЩЕНИЕ ПРЕРЫВАНИЯ
  8D 8201 0008   GOTO НАЧ(01)
  |Продолжение цикла выборки команды Декодирование и исполнение команд ввода-вывода  
  8E 0200 0000 B/B ОРГАНИЗАЦИЯ СВЯЗЕЙ С ВУ
  ЦИКЛ ПРЕРЫВАНИЯ
  8F 8288 0080 ПРЕ IF BIT(7,PC)=0 THEN HLT(88)
  8201 0020   IF BIT(5,PC)=0 THEN НАЧ(01)
  0000 0200   0 ® БР
  0004 0000   БР ® РА
0000 0008   СК ® БР  
0008 0000   БР ® РД  
0100 0400   РД ® ОП(РА), 1 ® БР  
0020 0000   БР ® СК  
0800 0000   ЗАПРЕЩЕНИЕ ПРЕРЫВАНИЯ  
8201 0008   GOTO НАЧ(01)  
Пультовые операции  
Ввод адреса  
0000 0040 В/А КР -> БР  
9A 0020 0000   БР -> СК  
9B 828F 0008 838F   GOTO ПРЕ(8F)  
Чтение  
9C 0000 0008 ЧТ СК -> БР  
9D 0004 0000   БР -> РА  
9E 0080 0408   ОП(РА) -> РД, СК +1 -> БР  
9F 0020 0000   БР -> СК  
A0 828F 0008 838F   GOTO ПРЕ(8F)  
Запись  
A1 0000 0008 ЗАП СК -> БР  
A2 0004 0000   БР -> РА  
A3 0000 0040   КР -> БР  
A4 0008 0000   БР -> РД  
A5 0100 0408   РД -> ОП(РА), СК + 1 -> БР  
A6 0020 0000   БР -> СК  
A7 828F 0008 838F   GOTO ПРЕ(8F)  
Пуск  
A8 0000 0200 ПУС 0 -> БР  
                                       

 

Продолжение таблицы 3.2

A9 005С E000   БР -> A, C, N, Z, РА, РД, РК
AA 0400 0000   СБРОС ФЛАГОВ ВУ
AB 0800 0000   ЗАПРЕЩЕНИЕ ПРЕРЫВАНИЯ
AC 828F 0008 838F   GOTO ПРЕ(8F)
  ........................................      
B0     Р-А АРИФМЕТИЧЕСКАЯ КОМАНДА 7###
  ........................................      
D0     Р-П КОМАНДА ПЕРЕХОДА D###
  ........................................      
E0     Р-Б БЕЗАДРЕСНАЯ КОМАНДА FC##
  ........................................      
FF        

Домашнее задание

Расширение системы команд базовой ЭВМ

Цель задания - изучение микрокоманд базовой ЭВМ, микропрог­рамм выполнения отдельных команд, а также овладение навыками составления микропрограмм для новых команд.

Часть 1. Написать последовательность адресов микрокоманд, которые должны быть выполнены при реализации заданного фрагмента программы, начинающегося с команды, расположенной по адресу 002 (предполагается, что регистр переноса и аккумулятор предвари­тельно очищены).

 

Ад- рес Номер варианта
CMA BMI 05 NOP +MOV 01 INC BPL 05 NOP +ADD 01 DEC +BMI 05 NOP ADD 01 ADD 01 +BPL 05 NOP DEC +BEQ 04 NOP ADD 01 INC CMC BCS 05 NOP +ADD 01

 

 

Результаты сводятся в таблицу вида:

 

Команда Машинный цикл Последовательность адресов микрокоманд
AND 01 (1001) - Выб. команды Исполнение - 01,02,03,04,05,06,07,0C 1D,IE,1F,20,21,24,25,26,35,36,37,8F
CLC (1300) - Выб. команды Исполнение - 01,02,03,04,05,06,07,08,09,0A, 5E,61,67,69, 79,7A,8F

 

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









Читайте также:

Последнее изменение этой страницы: 2016-03-17; Просмотров: 99;


lektsia.info 2017 год. Все права принадлежат их авторам! Главная