Микропрограммная интерпретация команд языка компьютера

Всякая команда из системы команд микро ЭВМ представляет собой некоторый набор микроопераций прошитых в ПЗУ микрокоманд, которые выполняются в случае считывания данной команды в регистр команд. При этом отдельные микрооперации попадают в регистр микрокоманд, который по сути дела т выставляет управляющие сигналы ко всем управляемым элементам микро ЭВМ, обеспечивая тем самым корректное выполнение заданной отдельной микрооперации и команды в целом.

Для демонстрации порядка выполнения команд в виде некоторой последовательности микрокоманд рассмотрим формат регистра микрокоманд:

№ п/п Название Назначение
0-3 UI0 - UI3 Инструкция для УСА
4-15 D0 - D11 Адрес для перехода в СУАМ
16-24 I0 – I8 Инструкция для МПС
25 - 32 A, B Адресные входы БОД
33 – 45 SI0 – SI12 Операция СУСС
46 C0 Входной перенос в МПС
47 Разрешение выдачи с DI
48 Разрешение выдачи с ADR
49 Разрешение выдачи с RON
50 Разрешение выдачи с A, B с Рг.Мк.
51 Разрешение на запись в DO
52 Разрешение выдачи с DO
53 Разрешение на запись в Рг.А
54 Разрешение на выдачу А
55 Обращение к портам ОЗУ
56 Чтение – запись
57 Запрос на PDP
58 Запрет сдвигов

Таким образом, разрядность регистра микрокоманд – 58 разрядов. Следовательно, для реализации ПЗУ микрокоманд потребуется 15 микросхем 556РТ14.

Рассмотрим микропрограммную реализацию некоторых команд микро ЭВМ (макрокоманд):

MOV REG, операнд

1) 1110 XXXXXXXXXXXX 011000011 XXXX 0000 XXXXXXXXXXXXX 1111 011 001 101
2) 1110 XXXXXXXXXXXX 011000111 XXXX XXXX XXXXXXXXXXXXX 0010 111 111 101

Аналогичным образом строятся все микрокоманды.

Разработка программы арифметической операции.

Программа вычисления ln x в командах данной микро ЭВМ будет выглядеть следующим образом:

  MOV R1, 1
  MOV R2, 0
  MOV R11, 0
  MOV R3, 0
  MOV R4, X
  DEC R4  
M6: MOV R5, R4
M1: MOV R6, 0
  MOV R7, R1
  MOV R12, R4
  MOV A0, R7
  SUB R7  
  CMP 0  
  JA MZ  
  MOV R14, 1
  JMP M3  
MZ: MOV R14, 0
M3: SHL R12  
  MOV R0, R12
  SUB R7  
  CMP 0  
  JA M4  
  SHL R6  
  ADD R7  
  MOV R12, R0
  JMP M5  
M4: SHL R6  
  INC R6  
  MOV R12 R2
M5: DEC R8  
  MOV R0, R8
  CMP 0  
  JZ M6  
  MOV R2, R6
  MOV R0, R11
  INC R1  
  MOV R13, 0
  MOV R9, R4
  MOV R10, R5
  MOV R0, R9
  MUL R10  
  MOV R4, R0
  NEG R4  
  DEC R3  
  MOV R0, R3
  CMP 0  
  JZ M7  
  JMP M0  
M7      
  END    

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



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