Микропрограммное устройство управления Советский патент 1987 года по МПК G06F9/22 

Описание патента на изобретение SU1315974A1

f13

Изобретение относится к вычислительной технике и может быть использовано при построении высокопроизводительных процессоров.

Целью изобретения является расширение области применения устройства за счет, введения средств для динамической дешифрации команд и повьше- ние его надежности за счет исключения одновременной дешифрации команды и выборки начальной микрокоманды в одном цикле работы устройства.

На фиг. 1 показана структура цифровой вычислительной системы; на фиг. 2 - структурная схема базовой части процессора; на фиг. 3 - функциональная схема микропрограммного устройства управления; на фиг. 4 - структура формирователя адреса микрокоманды; на фиг. 5 - принципиальная схема тактового генератора устройства; на фиг. 6 - функциональная схема пульта управления и индикации; на фиг. 7 - временная диаграмма процесса загрузки/тестирования ячеек памяти блока динамической памяти микрокоманд в базовом режиме; на фиг.8 формат адресного слова блока динамической памяти микрокоманд в базовом режиме; на фиг. 9 - временная диаграмма выхода устройства из специального режима.

Цифровая вычислительная система Содержит (фиг. 1) процессор 1, объединяющий базовую часть 2 и микро- программное устройство 3 управления, блок 4 оперативной памяти и контроллер 5 внешнего устройства. Связь между устройствами осуществляется через магистраль 6 Общая шина, используемую для передачи адресов, данных и управляющих сигналов.

В состав базовой части 2 процессора (фиг. 2) входят устройство 7 управления j устройство 8 путей данных, блок 9 связи с магистралью 6 Общая шина и пульт 10 управленияи индикации. Устройство 7 содержит регистр 11 команды, дешифратор 12 команд и формирователь 13 тактов. В устройство 8 включены мультиплексор 14 слова состояния процессора, регистр 15 состояния процессора, блок 16 регистров, арифметико-логическое устройство 17, первый 18 и второй 19 мультиплексоры данных. Шины связи базовой части 2 процессора и микропрограммного устройства 3 управления следующие: шина 20 данных, шина 21

59742

адреса микрокоманды, шина 22 адреса выбора устройства.

Магистраль 6 связана двунаправленными шинами с входами-выходами 23

блока 10 и 24 блока 9, вход 25 которого, как и вход 26 блока 17, подключен к выходу 27 блока 16, а вход 28 вместе с входами 29, 30 и 31 соответIQ ственно блоков 11, 14 и 16 - к выходу 32 блока 19, вход 33 которого, как и двунаправленная шина 20, другим концом соединяемая с входом 34 двунаправленного коммутатора 35 данных

1 (фиг. 3), подключен к выходу 36 блока 18. Входы 37 и 38 блока 18 соединены с выходами 39 и 40 соответственно блоков 9 и 15, а вход 41 - с выходом 42 блока 17 и входом 43 блока 14.

20 Выход 44 блока 14 подключен к входу 45 блока 15, своим выходом 46 связанного с входом 47 блока 11 н линией 48 режима с входом 49 элемента ИЛИ 50 (фиг. 3) и входом 51 элемента ИЛИ 52.

25 Вход 53 элемента ИЛИ 52, объединенный с входом 54 элемента И 55 через линию 56 признака дешифрации подключен к выходу 57 блока 12, выходом 58 соединенного с входом 59

30 блока 10 и через шину адресным входом 60 блока 61 постоянной памяти микрокоманд (ППМК), входом 62 данных мультиплексора 63 адреса микроко манды и выходом 64 формирователя 65

35 адреса микрокоманды. Вход 66 блока 12 подключен к выходу 67 блока 11, выход 68 которого через линию 69 загрузки связан с входом 70 элемента ИЛИ 50, выходы 71 и 72 блока 13 че40 рез линии 73 и 74 синхронизации соединены соответственно с входом 75 элемента ИЛИ 76 и входом 77 элемента И-НЕ 78. Выход 79 блока 9 линией 80 сброса соединен с входом 81

45 элемента И 82, а выход 83 этого блока с помощью шины 22 - с входом 84 группы 85 элементов И-НЕ и первыми двумя входами 86 дешифратора 87 адреса регистра. Вход 88 блока 9 через

0 линию 89 признака занятости подключен к выходу 90 триггера 91 конца передачи, соединенному также с входом 92 элемента И-НЕ 93 и входом 94 элемента ИЛИ 95, а вход 96 блока 18

55 через линию 97 признака блокировки - с выходом 98 блока 87, соединенным также с входом 99 элемента И 100 и с входами 101 и 102 управления коммутатора 35 и имеющего вход 103 дан313

ньи двунаправленного коммутатора 104 адреса.

Вход-выход 105. (фиг. 3) данных блока 106 динамической памяти микрокоманд (ДПМК) соединен с объединенными входом 103 и .выходом 107 блочка 104, а также входом 108 группы 109 элементов И-НЕ. Вход 110 группы 109 элементов И-НЕ вместе с входом 111 разрешения обращения блока 61 и линией 112 шины 21 связан с прямым выходом 113 триггера 114 режима, а выход 115, как и выход 116 блока 61, подключен к шине 117 микрокоманды, соединякицей их с входом 118 данных регистра 119 микрокоманды.

Выход 120 регистра 119 связан с входом 121 блока 65, выход 122 - с входом 123 элемента И-НЕ 78, выходом 124 подключенного к входу 125 элемента И 82, связанного выходом 126 1C входом 127 триггера 114, вход 128 которого связан с выходом 129 элемента ИЛИ 52, вход 130 синхронизации, объединенный с входом 131 элемента И 132, подключен к выходу 133 элемента ИЛИ 134, а вход 135 данных связан с линией информационной шины 136 соединяющей также вход-выход 137 блока 104, объединенные вход и выход 138 блока 35 и вход 139 данных счетчика 140 адреса микрокоманды. Вход

141разрешения записи и счетный вход

142счетчика 140 подключены к выхода

143и 144 соответственна элементов

И 132 и ИЛИ 95, а выход 145 - к-входу 146 данных дешифратора 147 номера слова и второму входу 148 данных блока 63, вход 149 которого соединен с выходом 150 элемента И 55, а выход 151 подключен к адресному входу 152 блока 106, вХод 153 разрешения обращения которого связан с выходами 15 элементов И группы 155, а вход 156 записи - с входом 157 элемента И 100 и выходом 158 дешифратора 87. Второй вход 159 дешифратора 8.7 подключен к шине 22, третий вход 160 объединен с входом 161 запуска тактового генератора 162 и выходом 163 блока 85, а выход 164 - с входом 165 элемента И-НЕ 166 и входом 167 элемента ИЛИ 134. Вход 168 последнего связан с выходом 169 блока 162, входом 170 синхронизации триггера 90 и управляю щим входом 171 дешифратора 147, второй управляющий вход 172 которого вместе с входом 173 блока 155 под

44

ключей к выходу 174 триггера 114, а третий управляющий вход 175 вместе с входом 176 элемента 95, входом 177 элемента 55 и входом 178 элемента

166 - к выходу 179 элемента И 100. Вход 180 элемента И-НЕ 166 связан с выходом 181 элемента ИЛИ 50 и входом 182 элемента ИЛИ 76, выход 183 которого соединен с входом 184 элемента И 132, выход 185 элемента

И-НЕ 166 подключен к входу 186 сброса триггера 91 и входу 187 элемента И-НЕ 93, выходом 188 связанного с управляющим входом 189 управления

коммутатора S5. Выход 190 блока 147 соединен с входом 191 блока 104 и входом 192 блока 155, а входы 193 синхронизации и 194 сброса блока 119 - с входом 75 элемента ИЛИ 76 и

входом 81 элемента И 82.

Формирователь 65 адреса микрокоманды (фиг. 4) содержит схему 195 управления микропереходами, группу 196 элементов НЕ и дешифратор, 197

поля переходов, вход 198 которого, как и вход 199 группы 196, подключен к выходу 120 блока 119, а выход 200 - к входу 201 схемы 195, принимающей на второй вход из базовой час-

ти 2 процессора условия микропереходов и своим выходом 202 совместно с вьосодом 203 группы 196 подключенной к шине 21 адреса микрокоманды. Тактовый генератор 162 (фиг. 5)

содержит два одновибратора 204 и 205 и четыре времязадающих элемента 206- 209, единичное плечо 210 одновибратора 204 соединено с входом 211 запуска одновибратора 205, по два входа каждого одновибратора отведены для. подключения времязадающих элементов, еще два входа, связанных с +ЗВ, обеспечивают разрешение запуска и запрет сброса одновибраторов.

Пульт 10 управления и индикации (фиг. 6) содержит клавиатуру 212, формирователь 213 сигналов управления, счетчик 214 адреса, мультиплексор 215 индикации, индикатор 216, регйстр 217 адреса микрокоманды и свя- занньй через вход-выход 23 с магистралью 6 Общая шина узел 218 приемо- передачи. Выход 219 узла 218 подключен к входу 220 мультиплексора 215,

а вход 221- к выходам 222, 223 и 224 соответственно узлов 213, 214 и 212, выход 224 последнего связан также с входами 225 и 226 узлов 213 и 214.

513

Вход 227 узла 216 соединен с выходом 228 узла 215, входы 229 и 230 которого соответственно напрямую и через узел 217 подключены к шине 21 адреса микрокоманды.

Устройство работает следующим образом.

Входящий в состав устройства 3 64-разрядный регистр 119 принимает с выходов блока 61 или блока 106 (через группу 109 элементов И-НЕ) и в течение одного цикла хранит информацию об исполняемой микрокоманде. Количество разрядов регистра обеспечивает прием и хранение микрокоманд расширенного формата, что способствует повьшению эффективности создаваемых команд. Для его построения может быть использована интегральная микросхема (ИМС), содержащая шесть D-триггеров, каждый из которых имеет выход и три входа: данных, синхронизации и сброса. Загрузка микрокоманды в регистр производится в конце текущего цикла задним фронтом тактового сигнала ТП процессора, сигналом общего сброса регистр может быть очищен. Разряды полей микрокоманды регистра используются при формировании управляющих сигналов процессора.

В состав устройства (фиг. 3) вхо- дят два блока памяти микрокоманд: ёлок 61 ППМК и блок 106 ДПМК. Блок 61 организован на прожигаемых элементах памяти емкостью 1К и используется для хранения микропрограмм базовой системы команд процессора. Кажды элемент данного типа имеет восемь адресных входов, два управляющих входа и четыре выхода с открытыми коллекторами. На первых управляющих входах элементов присутствует постоянный разрешающий уровень, вторые объединены и подключены к выходу триггера 114 режима. Адресация элементов блока 61 происходит через шину 21 сигналами с выходом дешифратора 12 (во время дешифрации команд базовой системы) или формирователя 65 (в ходе выполнения микропрограмм)

Группа 196 элементов НЕ формирователя 65 (фиг. 4) с открытыми коллекторами обеспечивает возможность подключения к шине 21 выходов разрядов поля адреса очередной микрокоманды регистра 119, а схема 195 - коррекцию этого адреса по результатам расшифровки разрядов поля переходов ре46

гистра 119 ив соответствии с поступающими из базовой части 2 процессора условиями микропереходовi Расшифровка производится дешифратором

197, организованным, например, на прожигаемом элементе памяти (32x8), имеющем вход управления, пять адресных входов и восемь выходов. На вход управления дешифратора 197 подан постоянный разрешающий уровень, его адресные входы подключены к разрядам поля переходов, а выходы - к первым входам элементов И-НЕ с открытыми коллекторами, на которых построена

схема 195 управления микропереходами. Вторые входы элементов этой схемы принимают условия микропереходов, в соответствии с которыми осуществляется коррекция адреса очередной микрокоманды.

Двусторонний обмен информацией между устройством 3 и базовой частью 2 процессора осуществляется через шестнадцать приемопередатчиков коммутатора 35, связывающих шину 20 данных с информационной шиной 136 устройства. Каждьм приемопередатчик блока имеет вход, выход и вход-выход с тремя состояниями. Входы всех приемопередатчиков соединены проводниками с одноименными выходам и подключены к шине 136, входы-выходы связаны с шиной 20. При построении коммутатора 35 может быть использована

ИМС, содержащая четыре приемопередатчика и имеющая два управляющих входа: первый 189 - для разрешения работы приемопередатчиков, второй 101 - для задания направления потока информации (передача на подключенную к

входам-выходам шину или прием с нее). При отсутствии разрешающего (низкого) уровня на первом входе входы-выходы всех приемопередатчиков находятся в

третьем состоянии, при наличии - происходит обмен информацией между шиной 20 и шиной 136, связывающей также входы-выходы приемопередатчиков коммутатора 104, входы данных счетчика 140 адреса микрокоманды и вход данных триггера 114 режима.

Блок 106 предоставляет пользователю возможность дополнять базовую систему команд процессора командами, ориентированными на выполнение требуемых в данном конкретном случае функций. Для этого пользователь должен на микропрограммном уровне описать структуру дополнительных команд, загрузить их в блок 106 и, по мере необходимости, к ним обращаться. Схема блока 106 выполнена на перезаписываемых элементах памяти. Калодый элемент допускает запись, хранение и считывание до 1К четырехбитных слов. Элемент имеет десять адресных входов, четыре входа-выхода данных с тремя состояниями для записи/считывания информации и два уп- равлякнцих входа; первый - для разрешения работы элемента, второй - для выбора типа операции (запись или

считывание). При отсутствии разрешаю- 15 ка базового режима пр оизводнтся ав- щего (низкого) уровня на первом вхо- томатически при включении питания, де все входы-выходы элемента находят- Управление загрузкой/чтением 64-разся в третьем состоянии. Блок 106 обеспечивает одновременное хранение до 1К 64-разрядных микрокоманд. Для удобства записи/считывания микрокоманд в массив микрокоманда разбита на четыре 16-разрядных слова. В соответствии с этим блок 106 разделен на четьфе части, каждая из которых выполняет запоминание своего слова.

Возможность выполнения последова- гельной загрузки с информационной

рядных микрокоманд в блоке 106 берут на себя схемы генератора 162, счет-

20

чика 140, мультиплексора 63, дешифратора 147, группы-85 элементов И-НЁ и дешифратора 87. Каждая из названных операций осуществляется последо вательной засылкой/чтением в блок 25 106 четырех 16-разрядных слов: СО и

Генератор 162 (фиг. 5) построен на двух последовательно соединенных одновибраторах, каждый из которых

136 в блок 106 четырех 16-раз- 30 имеет по одному входу запуска, разшины

рязных слов и обратного чтения их на .шину, а также считывания из блока 106 64-разрядной микрокоманды с ее передачей через двувходовые элементы с открытыми коллекторами группы 109 элементов И-НЕ на шину in микрокоманды устройства обеспечивается приемопередатчиками коммутатора 104. Последний содержит 64 приемопередатчика, разбитых на четыре группы по 16 приемопередатчиков в каждой. Связанные проводником вход и выход каждого приемопередатчика подключены к входу-выходу соответствующего разрярешения, сброса, два входа для подключения времязадающих элементов, а также парафазный выход. Входы запуска и разрешения объединены в мйкро35 схеме по схеме И, что позволяет выполнять их рокировку, но рассчитаны на прием разнополярных сигналов. За пуск одновибраторов осуществляется восходящим (нисходящим) фронтом за40 пускающего импульса. При этом на вхо де разрешения должен быть логический уровень напряжения, разрешающий запуск. Длительность импульса, формируемого одновибратором, определяется

да блока 106. Входь1-выходы одноимен- 45 номиналами времязадающих элементов.

ных (нулевых, первых, ..., пятнадцатых) разрядов всех четырёх групп объединены и подключены к соответствующим разрядам 16-раз рядной.шины 136.

Предусмотрены два режима работы устройства; базовый и специальный. Базовый режим обеспечивает работу процессора в базовой системе команд, а также двусторонний обмен ий- . формацией между пультом 10 управления и индикации и блоком 106, спе-. циальный - работу с запрограммированным в блоке 106 командами. Переключением режимов управляет триггер 114

подключенных к соответствующим входам Вход 211 запуска второго одновибратора 205 соединен с единичньм выходом 210 первого одновибратора 204, выдающим

50 импульс положительной полярности. Поскольку в качестве разрешающего уровня работы обоих одновибраторов взят высокий, запуск первого одно- вибратора 204 производится нисходя55 щим фронтом входного импульса, за- пуск второго - задним фронтом импуль са с выхода первого одновибратора 204 Тактовый сигнал Т (импульс отрицательной полярности), вырабатываемый

159748

режима (например, динамический D- триггер ИМС). Базовому режиму соответствует нулевое состояние триггера, специальному - единичное. В про- 5 цессе обмена информацией между пультом 10 и блоком 106 организуются загрузка данными и чтение с выходом на индикацию пульта 10 содержимого перезаписываемых элементов памяти бло- JO ка 106. Загрузка/чтение производится программно, с помощью специальных подпрограмм, или вручную, путем набора необходимой информации на клавиатуре пульта 10. Начальная установрядных микрокоманд в блоке 106 берут на себя схемы генератора 162, счет-

чика 140, мультиплексора 63, дешифратора 147, группы-85 элементов И-НЁ и дешифратора 87. Каждая из названных операций осуществляется последо вательной засылкой/чтением в блок 106 четырех 16-разрядных слов: СО и

Генератор 162 (фиг. 5) построен на двух последовательно соединенных одновибраторах, каждый из которых

решения, сброса, два входа для подключения времязадающих элементов, а также парафазный выход. Входы запуска и разрешения объединены в мйкро35 схеме по схеме И, что позволяет выполнять их рокировку, но рассчитаны на прием разнополярных сигналов. За пуск одновибраторов осуществляется восходящим (нисходящим) фронтом за40 пускающего импульса. При этом на входе разрешения должен быть логический уровень напряжения, разрешающий запуск. Длительность импульса, формируемого одновибратором, определяется

подключенных к соответствующим входам. Вход 211 запуска второго одновибратора 205 соединен с единичньм выходом 210 первого одновибратора 204, выдающим

50 импульс положительной полярности. Поскольку в качестве разрешающего уровня работы обоих одновибраторов взят высокий, запуск первого одно- вибратора 204 производится нисходя55 щим фронтом входного импульса, за- пуск второго - задним фронтом импульса с выхода первого одновибратора 204. Тактовый сигнал Т (импульс отрицательной полярности), вырабатываемый

913

,вторым одновибратором 205 (первый создает задержку -начала его формирования), передним фронтом стробирует запись в счетчик 140 и запись/чтение в блоке 106, а задним - устанавливает в единичное состояние триггер 90.

Счетчик 140, доступный при обращении с магистрали 6 Общая шина (адрес 177542), в базовом режиме формирует 12-разрядный адрес записываемого/считываемого в блоке 106 слова. Блок 140 построен на счетчиках, что обеспечивает автономный последовательный перебор адресов при выполнении операции. Каждый четырехразрядный счетчик имеет четыре входа данных, счетный вход (инкрементации), вход разрешения записи, вход установки в нуль,, выходы четырех разрядов и выход прямого переноса, позволяющий осуществить каскадное соединение счетчиков без дополнительной логики (в предлагаемом устройстве блок 140 образован каскадным соединением трех счетчиков, что дает возможность адресовать до 1К 64-разрядных микрокоманд блока 106). Каскадное соединение счетчиков выполнено соединением выхода прямого переноса с входом Инкрементации следующего счетчика. Приращение содержимого счетчика осуществляется по положительному перепаду тактового импульса. Начальная за- hpy3Ka элементов блока 140 производится через входы данных в моме.нт поступления низкого уровня на объединенные входы разрешения записи счетчиков (входы установки в нуль также объединены и подключены к уровню запрета сброса счетчиков).

Подключение выходов счетчика 140 к адресным входам блока 106 ДГШК осуществляется через мультиплексор 63. Для его построения может быть использована, например, ИМС, содержащая четыре двухвходовых мультиплексора и имеющая четыре пары информационных входов, четыре выхода и два управляющих входа, первый из которых используется для разрешения работы микросхемы, второй - для выбора одного из двух возможных источников входного сигнала. Мультиплексор 63 содержит три микросхемы, объединенные общим управлением по второму входу (на первом - постоянньм разрешающий уровень). На первый вход данных мультиплексора адрес поступает с шины 21 адреса микрокоманды, на вторые - с

10

выходов счетчика 140. Мультиплексор обеспечивает выбор любого из них в качестве источника 10-разрядного адреса микрокоманды.

Временная диаграмма загрузки начального слова С0 микрокоманды (первого из четырех) в блок 106 приведена на фиг. 7. Перед началом загрузки в счетчик 140 заносится адрес начального слова (С0) загружаемой микрокоманды. Для этого с помощью клавиатуры 212 пульта 10 выполняются набор адреса счетчика 140 (177542) с запоминанием его в счетчике 214, набор

адреса начального слова С0 микрокоманды и одновременная выдача их вместе с генерируемыми формирователем 213 кодом операции записи и сигналом синхронизации СхЗ через узел 218 приемопередачи на магистраль 6 Общая шина. При этом адрес счетчика 140 поступает по линиям адреса, а адрес слова С0 - по линиям данных. Принятый с линий данных приемопередатчиками блока 9 адрес слова С0 попадает через блок 18 на шину 20 данных и далее через коммутатор 35 и шину 136 поступает на вход данных счетчика 140. Разрешение на его прохождение в устройство 3 и загрузку в счетчик 140 формируется в результате расшифровки адреса счетчика, выполняемой группой 85 элементов И-НЕ и дешифратором 87, имеющим три

адресных входа, три управляющих и восемь выходов. Три управляющих вхо да, объединенные в микросхеме по схеме И (два по низкому уровню и один по высокому), используются для приема разрешения работы дешифратора, любая из восьми комбинаций сигналов на адресных входах, при наличии разрешения, обеспечивает появление низкого уровня на соответствующем выходе.. Работой дешифратора 87 управляют группа 85 элементов И-НЕ и блок 9, формирующие, разрешение работы и сигналы для входов дешифратора 87. Сигналы разрешения поступают на входы

159 и 160 (на третьем управляющем

входе - постоянный разрешающий уро- вень) дешифратора 87 в момент начала передачи по магистрали 6 Общая шина при наличии на ее адресных линиях адреса устройства 3 (177540). При этом сигнал СхЗ (через вход 159), а также тринадцать старших разрядов адреса (А15 ...A3), поступающих с выходов приемников общей шины блока 9 на шину

11

22 и далее.на входы двух восьмивхо- довых схем совпадения группы 85 (А15 ...А8 - на входы первой схемы, сигна с выхода первой схемы А7 ... A3, причем нулевые значения разрядов через элементы НЕ на входы второй схемы), сигналом с выхода 163 второй схемы разрешают работу дешифратора 87, а последний - также запуск генератора 162. Входы дешифратора 87 подключе- ны к выходам приемников первого и второго разрядов адреса (А1 и А2), а также сигнала С1 блока 9. Разряды А1 и А2 определяют адрес регистра, к которому должно произойти обращение (177542 или 177544), сигнал С1 - тип операции (запись в регистр или чтение). Выход 164 дешифратора 87 связан через элементы 166 и 93 (на входе 92 элемента 93 присутствует разрешение с нулевого плеча триггера конца передачи) с первыми входами управления приемопередатчиков коммутатора 35, обеспечивая прием данных на входы счетчика 140, а также с входом элемента 134, формирующего сигнал загрузки счетчика. При выборе данного вькода дешифратора такт Т через второй вход элемента 134 и элемент 132 проходит на входы 141 разре шения записи счетчика 140, разрешая загрузку в него данных. Выход элемента 134 связан также с входом 130 синхронизации триггера 114 режима, что используется при переключении режимов работы устройства 3. После окончания загрузки задним фронтом такта Т устанавливается в единичное состояние D-триггер 91, сообщая по линии 89 о завершении передачи ин- Формации. Входы установки и данных триггера 91 подключены к уровню напряжения + ЗВ, сброс триггера производится через вход 186 сброса в момент снятия в блоке 10 сигнала СхЗ.

Два других выхода дешифратора 87 (выход 158 управления .записью в регистр данных и выход 98 управления чтением из регистра данных) вьщают сигналы в момент обращения к регист- ру данных (адрес 177544). Регистром дйнных являетсяj фактически, вся область загружаемого блока 106: при каждом обращении к указанному регистру принимаемое из базовой части 2 процессора слово данных записывается по адресу, определяемому текущим содержимым счетчика 140, с последующим приращением (инкрементацией)

5974

л г10 15 20 25 -30эс 0 45

50 5512

этого адреса. Для этого два указан- ных выхода дешифратора 87 подключены к входам элемента 100, сигнал с выхода которого отпирает через элементы 166 и 93 приемопередатчики коммутатора 35, выбирает через элемент 55, связанный с управлякяцим входом мультиплексора 63, счетчик 140 в качестве источника адреса блока 106, а также, поступая на вход 175 дешифратора 147 и вход элемента 95, подготавливает эти схемы к управле- .нию соответственно загрузкой блока 106 и приращением содержимого счетчика 140. Подключе-ние данных выхо |Дов дешифратора 86 к вторым .управляющим входам 156, 101 и 102 соответственно элементов памяти блока 106, приемопередатчиков коммутатора 35 и коммутатора 104 задает направление передачи информации.

Формат слова, используемого в базовом режиме для адресации ячеек памяти блока 106, показан на фиг. 8. Десять младших (0...9) разрядов, содержащих адрес загружаемой/читаемой микрокоманды, принимаются из базовой части 2 процессора в разряды 2... 11 счетчика 140. Десять соответствующих выходов счетчика, подключенных к адресным входам (раз-ряды 0...9) блока 106, задают адрес начального слова микрокоманды. Старшие разряда адреса (10 и 11), принимаемые в разряды О и 1 счетчика 140, содержат код номера очередного записываемого/читаемого слова. Расшифровка данного кода производится дешифратором 147. Четыре его выхода, соответствующие номерам слов 0...3, через группу 155 элементов И подключены к первым управляющим входам четырех групп приемопередатчиков коммута- тора 104, разрешая в момент срабатывания дешифратора запись/считывание слова с данным номером в блоке 106. Момент срабатывания дешифратора и длительность сигнала управления записью/считыванием определяются по совпадению трех сигналов на входах управления дешифратора: признака режима - с нулевого плеча 174 триггера 114, признака обращения к регистру данных - с выхода элемента 100, такта Т.

Приращение содержимого счетчика 140 производится каждый раз после завершения приема в блок 106 очередного слови сигналом, формируемым

13.1

триггером 91. Счетный вход первого счетчика блока 140 связан с выходом элемента 95. В момент сброса триггера 91, совпадение сигналов на входах элемента 95 нарушается и положительный перепад на счетном входе счетчика приводит к записи в него единицы (на второй вход .элемента 95 поступает сигнал с выхода элемента 100, разрешакщий инкрементацию счетчика только при обращении к регистру данных) . Содержимое счетчика 140 после загрузки слов С0 ... СЗ определяет адрес начального слова следующей микрокоманды.

Операция чтения из блока 106 осуществляется аналогично операции записи в него, за исключением того, что изменяется направление передачи процессора. Кроме того, в момент передачи слова данных из устройства 3 в базовую часть 2 мультиплексор 18 должен быть блокирован, т.е. его выходы на шину 20 данных должны находиться в третьем состоянии. Устанавливать блокировку необходимо до начала передачи и снимать после ее завершения. Для этого выход 98 дешифратора 87 адреса регистра соединен с входом 96 мультиплексора 18. Появление сигнала на выходе дешифратора блокирует работу мультиплексора и с задержкой на элементах 100, 166 и 93 разрешает выдачу информации на шину 20 данных.После завершения передачи (т.е. после установки в единичное состояние триггера 91) снимается разрешение на входе 9.2 элемента 93 и приемопередатчики коммутатора 35 блокируются. Далее, в момент снятия сигнала СхЗ, выключается де- шифратор 87,, разрешая работу мультиплексора 18, через элементы 100 и 166 выдается запрещающий уровень на вход 187 элемента 93 и сбрасывается триггер 91.

Специальный режим работы устройства 3, определяемый единичным состоянием триггера 114 режима, передает управление работой процессора командам, реализованным в блоке 106. Установка данного режима может преследовать одну из следующих целей: работа с Программами и отладка микропрограмм. В первом случае обращение к заключенным в блоке 106 микропрограммам производится в ходе выполнения программы блока 4 оперативной

597414

памяти. Для перехода к выполнению запрограммированной в блоке 106 команды (или последовательности команд) предшествующая команда блока 4

с должна осуществить загрузку единицы в девятый разряд регистра 15 процессора. Сигнал с выхода девятого разряда данного регистра блокирует запись в регистр 11 команды базовой

)0 части 2 процессора, одновременно разрешая прием последуницих команд в счетчик 140 устройства 3 и установку специального режима. Разрешение поступает по линии 48 на входы элемен15 тов ИЛИ 50 и 52, первьй из которых используется при загрузке команды в счетчик 140, второй - при переключении режимов.

Загрузка команды в счетчик произ0 водится во второй (0016) из трех начальных микрокоманд 0000, 0016, 0015, общих для всех команд процессора. Сигнал загрузки, поступающий из устройства 7 управления на вход 70

25 элемента ИЛИ 50, разрешает через элементы 166 и 93 пропуск загружаемой команды с шины 20 на шину 136. Выход элемента ИЛИ 50 соединен также с входом элемента ИЛИ 76. Принимае30 мьй в конце .цикла на его вход 75 такт процессора ТП1 осуществляет через элемент И 132 загрузку команды с шины 136 в счетчик 140. В следующей микрокоманде (0015) сигнал дешифра35 ции команды, поступая на вход 53 элемента ИЛИ 52, устанавливает в единичное состояние триггер 114, а также делает (с помощью элемента И 55) счетчик 140 источником адреса бло-

40 ка 106.

Срабатывание триггера 114 режима вызывает: переключение входов регистра 119 с выходов блока 61 на выходы

45

элементов с открытыми коллекторами

группы 109 (подачей запрещающего уровня на вход 111 блока 61 и разрешающего уровня на один из входов двухвходовых элементов узла 109),

50 снятие блокировки элементов памяти блока 106 (подачей через группу 115 элементов И разрешающего уровня на первые входы управления элементов памяти) , блокировку дешифратора 174

-5-5 (подачей запрета на вход 172 дешифратора) и индикацию с помощью узла 216 блока 10 признака установки специального режима.

151

Код принимаемой счетчиком 140 команды несет в себе адрес микропрограммы этой команды. При исполнении микрокоманды 0015, в момент поступления из базовой части 2 процессора сигнала дешифрации команды, этот код беспрепятственно проходит на адресные входы блока 106, определяя ячейку блока с идентичным адресом, содержащую ее начальную микрокоманду, т.е. адрес микропрограммы этой команды. Выбранная микропрограмма загружается в конце цикли в регистр 119 и в следующем цикле исполняется. Таким образом, в данном устройстве используется укороченная цепь обработки команды:,регистр команды - память микрокоманд (вместо общепринятой: регистр команды - дешифратор команд память микрокоманд). Использование укороченной цепи не только экономит оборудование, но и снижает требования к быстродействию используемых в блоке 106 элементов памяти, поскольку исключается необходимость выпол- нения в одном цикле микрокоманды дву операций, связанных с обращением к относительно медленнодействующим элементам памяти: считывание адреса микропрограммы в дешифраторе команд и начальной микрокоманды в блоке 106. Адрес каждой последующей микрокоманды определяется разрядами поля текущей, поступающими с шины 21 адреса микрокоманды через мультиплексор 63 на адресные входы блика 106. Одновременно оба адреса высвечиваются на индикаторах 216 блока 10 (с помощью узлов 215 и 217). Последняя выполняемая микрокоманда каждой микропрограммы блока 106 в поле адреса очередной микрокоманды содержит адрес 0000, а в одном из неиспользуемых в специальном режиме разрядов - разрешение сброса триггера 114. Вход 127 сброса триггера подключен к вы- ходу элемента 82, вход 80 которого принимает сигнал общего сброса процессора, а вход 125 обеспечивает установку триггера в нулевое состояние в случае совпадения на входах .элемента И-НЕ 78 указанного разреше- ния и поступающего из базовой части 2 процессора на вход 77 такта ТП2. Триггер 114 (фиг. 9) сбрасьшается в начале второй половины цикла данной микрокоманды, обеспечивая сня- тие блокировки блока 61, считывание из него микрокоманды с адресом

597416

0000 и загрузку ее в конце цикла в регистр 119. Очередная команда из блока 4 во время исполнения микрокоманды 0015 вновь поступает в счетчик с 140, поскольку девятый разряд регистра 15 процессора остается по-прежнему в единице и прием в регистр 11 запрещен, после чего процесс повторяется. Для возврата к базовой сисO теме команд процессора девятый разряд регистра 15 должен быть установлен в ноль, что выполняется специальной запрограммированной в блоке 106 командой.

5 Второй способ перехода к специальному режиму работы устройства 3 используется при отладке микропрограмм с помощью блока 10 в режиме работы процессора по микрошагам. Для уста0 новки специального режима и обращения к произвольной- микропрограмме блока 106 в 15-м разряде загружаемого в счетчик 140 слова адреса начальной микрокоманды этой микропрограммы

5 выставляют единицу. Пятнадцатый разряд шины 136 подключен непосредственно к входу данных триггера 114. В момент загрузки адреса в регистр. сигнал с выхода элемента 134 уста0 навливает триггер в единичное состояние с описанными последствиями (смена источника информации регистра 119, снятие блокировки элементов памяти блока 106, блокировка дешифратора

5 147, индикация признака режима управления). Далее, следуя по микрошагам, выполняются микрокоманды .0000, 0016 (при этом содержимое счетчика 140 не меняется ввиду отсут0 ствия единицы в девятом разряде ре- .гистра 15) и 0015, Поступление сигнала дешифрации команды в цикле выполнения микрокоманды 0015 вызывает .обращение к блоку 106 по записанно5 му в счетчике 140 адресу и прием регистром Н9 определяемой этим адре- сом микрокоманды. Выборка и исполнение последующих микрокоманд происходят до конца микропрограммы как и в

0 первом варианте перехода к специальному режиму (только в режиме работы процессора по микрошагам). Для обращения к новой микропрограмме необходимо снова заслать в счетчик 140

5 соответствующий адрес с единицей В пятнадцатом разряде. Формула изобретения

Микропрограммное устройство управления, содержащее регистр микроко17 13

манды, блок постоянной памяти микрокоманд, блок дина мической памяти микрокоманд, формирователь адреса микрокоманды и мультиплексор адреса микрокоманды, причем выход блока постоянной памяти микрокоманд соединен с входом данных регистра микрокоманды, вькод поля адреса очередной микрокоманды и выход поля микропереходов регистра микрокоманды подключены к управляющему входу-формирователя адреса микрокоманды, выход которого соединен с выходом адреса микрокоманды устройства, адресным . входом блока постоянной памяти микрокоманд и первым входом данных мультиплексора адреса микрокоманды, выход которого подключен к адресному входу блока динамической памяти микрокоманд, отличающееся тем, что, с целью расширения области примерения устройства за счет введения средств для динамической дешифрации команд и повышения его надежности за счет исключения одновременной дешифрации команды и выборки начальной микрокоманды в одном цикле работы устройства, оно -содержит дешифратор адреса регистра, дешифратор номера слова, счетчика адреса микрокоманды, тактовый генератор, триггер режима, триггер конца передачи, дву- на правленный коммутатор данных,дву- налравленньш коммутатор адреса, две группы элементов И-НЕ, группу элементов И, пять элементов ИЛИ, четыре элемента И и три элемента И-НЕ, при этом первые входы первого и второго элементов ИЛИ соединены соответственно с входом загрузки устройства и входом признака дешифрации устройства, первый вход третьего элемента ИЛ подключен к первому входу синхронизации устройства и входу синхронизации регистра-микрокоманды, первый и второй входы первого элемента И-НЕ соединены соответственно с вторым входом синхронизации устройства и опера ционным выходом регистра микрокоманды, который подключен также к операционному выходу устройства, первый вход первого элемента И соединен с входом признака дешифрации устройства, вторые входы первого и второго элементов ИЛИ подключены к входу режима устройства, первый и второй входы дешифратора адреса регистра и входы элементов И-НЕ первой группы соединены с адресным входом устрой418

ства, вход сброса регистра микрокоманды и первый вход второго элемента И подключены к входу сброса устройства, первьй выход дешифратора

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

элемента И-НЕ и четвертого элемента ИЛИ и выходом признака готовности устройства, выход первого элемента И-НЕ подключен к второму входу второго элемента И, выход которого соединен с входом сброса триггера режима, вход установки которого подключен к выходу второго элемента ИЛИ, прямой выход триггера режима соединен с выходом адреса микрокоманды устройства, вход разрешения обращения блока постоянной памяти микрокоманд и первыми входами элементов И-НЕ второй группы, выходы которых подключены к входу данных регистра микрокоманды, вторые входы элементов И-НЕ второй группы соединены с входом-выходом данных блока динамической памяти микрокоманд и первым входом- выходом данных двунаправленного коммутатора адреса, второй вход-выход данных которого подключен к второму входу-выходу счетчика адреса микрокоманды и триггера режима, выход дешифратора номера слова соединен с

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

памяти микрокоманд, инверсный .выход триггера режима соединен с вторыми входами элементов И группы и первым управляющим входом дешифратора номе- Pci слова, второй выход дешифратора

адреса регистра подключен к входу Записи блока динамической памяти микро- команд, второй вход и выход третьего элемента И соединены соответственно с вторым входом дешифратора адреса

регистра и первым входом третьего элемента И-НЕ, которьй подключен к второму управляющему входу дешифратора номера слова и вторым входом первого элемента И и четвертого эле1913

мента ШШ, выход которого соединен со счетным входом счетчика адреса микрокоманды, выход которого подключен к входу данных дешифратора номера слова и второму входу данных мультиплексора адреса микрокоманды, управляннций вход которого соединен с выходом первого элемента И, третий выход дешифратора адреса регистра подключен к второму входу третьего элемента И-НЕ и первому входу пятого элемента ШШ, второй вход которого соединен с выходом тактового генератора, входом синхронизации триггера конца передачи -и третьим управ- лякхцим входом дешифратора номера сло ва, выход пятого элемента ШШ подключен к входу синхронизации тригге/

597420

ра режима и первому входу четвертого - элемента И, второй вход и выход которого соединены соответственно с выходом третьего элемента ШШ и входом

5 разрешения записи счетчика адреса микрокоманды, выход первого элемента Ш1И подключен к второму входу третьего элемента Ш1И и третьему входу третьего элемента И-НЕ, вькод котороtO го соединен с вторым входом второго элемента И-НЕ и входом сброса триггера конца передачи, выходы элементов | И-НЕ первой группы подключены к треть- ему входу дешифратора адреса регистра f5 и входу запуска тактового генератора, а выход второго элемента И-НЕ соединен с вторым управляющим входом двунаправленного коммутатора данных.

ftiz.i

Фиг. 5

Загрузка счетчика Загрузка/чтение c/io6a данных б блоке 106

Фиг. 6

дрес ячейки папяти Влока ДПМК

11 W 9 в 7 S 5 4 J Z 1 Разряды счетчина адреса микрокоманды

Фиг. 8

-1

цак/1 микрокоманды

Раг.З

Составитель Г. Виталиев Редактор И. Николайчук Техред М.Ходакич Корректор Л. Патай

™ ™ ™ --------- - --««Заказ 2364/51 Тираж 672Подписное

ВНИИПИ Государственного комитета СССР

по делам изобретений и открытий - 113б35, Москва, Ж-35, Раушская наб., д. 4/5

Производственно-полиграфическое предприятие, г, Ужгород, ул. Проектная, 4

пи

г/7/

L

тпг

I Разреш. сброса

триггера режима

Триггер режима /единичное п/1ечо)

Похожие патенты SU1315974A1

название год авторы номер документа
Процессор с микропрограммным управлением 1983
  • Соловьев Алексей Алексеевич
  • Курбатов Борис Юрьевич
  • Барашко Виктор Сергеевич
  • Еремин Алексей Тимофеевич
  • Власов Феликс Сергеевич
  • Румянцев Владимир Ильич
SU1149273A1
Процессор 1984
  • Лопато Георгий Павлович
  • Смирнов Геннадий Дмитриевич
  • Чалайдюк Михаил Фомич
  • Пыхтин Вадим Яковлевич
  • Асцатуров Рубен Михайлович
  • Запольский Александр Петрович
  • Подгорнов Анатолий Иванович
  • Пронин Владислав Михайлович
  • Шкляр Виктор Борисович
SU1247884A1
Мультиплексный канал 1984
  • Абражевич Ромуальд Игнатьевич
  • Аверьянов Вадим Алексеевич
  • Аверьянова Рената Михайловна
  • Горбуль Татьяна Владимировна
  • Захарчук Владимир Иванович
  • Косякина Людмила Викторовна
  • Овсянников Валерий Иванович
  • Шаповаленко Маргарита Петровна
SU1167613A1
Устройство для обмена данными между электронно-вычислительной машиной и абонентами 1985
  • Кривоносов Анатолий Иванович
  • Куванов Вячеслав Владимирович
  • Миролюбский Вадим Михайлович
  • Супрун Василий Петрович
  • Тимонькин Григорий Николаевич
  • Харченко Вячеслав Сергеевич
  • Ткаченко Сергей Николаевич
  • Никольский Сергей Борисович
SU1277125A1
Микропрограммный процессор со средствами быстрого прерывания 1982
  • Черевко Алексей Александрович
  • Иванов Владимир Андреевич
  • Сыров Виктор Валентинович
SU1116432A1
Микропрограммный процессор 1985
  • Иванов Владимир Андреевич
  • Сыров Виктор Валентинович
  • Черевко Алексей Александрович
SU1275457A1
Процессор с совмещением операций 1982
  • Елисеев Александр Александрович
  • Мацуев Виталий Иванович
  • Петушков Александр Николаевич
  • Роговская Татьяна Ивановна
SU1138805A1
Устройство для сбора данных о работе ЭВМ 1982
  • Заблоцкий Владимир Николаевич
  • Грек Василий Васильевич
  • Кирин Константин Александрович
  • Торопов Николай Михайлович
  • Баркетов Сергей Николаевич
SU1121679A1
Процессор для мультипроцессорной системы 1985
  • Белицкий Роберт Израилевич
  • Зайончковский Анатолий Иосифович
  • Палагин Александр Васильевич
SU1295410A1
Микропрограммный процессор 1986
  • Данилин Николай Семенович
  • Мельников Владимир Алексеевич
  • Пономарев Владимир Алексеевич
  • Щербак Виктор Иосифович
  • Пересыпко Марина Викторовна
SU1365091A1

Иллюстрации к изобретению SU 1 315 974 A1

Реферат патента 1987 года Микропрограммное устройство управления

Изобретение относится к вьгчис- литёльной технике и может быть использовано при построении высокопроизводительных процессоров. Целью .изобретения является расширение области применения устройства за счет введения средств для динамической дешифрации команд и повышение его надежности за счет исключения одновременной дешифрации команды и выборки начальной микрокоманды в одном цикле работы устройства. С этой целью в устройство, содержащее регистр микрокоманды, блок постоянной памяти микрокоманд, блок динамической памяти микрокоманд, формирователь адреса микрокоманды и мультиплексор адреса микрокоманды, введены дешифратор номера слова, счетчик адреса микрокоманды, тактовый генератор, триггер режима, триггер конца передачи, двунаправленный коммутатор адреса, две группы элементов И, пять элементов ИЛИ, четыре элемента И и три элемента И-НЕ. 9 ил. $ сл 00 сд 4;

Формула изобретения SU 1 315 974 A1

Документы, цитированные в отчете о поиске Патент 1987 года SU1315974A1

Микропрограммное устройство управления 1980
  • Денисенко Вячеслав Платонович
  • Козачковский Александр Дмитриевич
SU955059A1
Приспособление для точного наложения листов бумаги при снятии оттисков 1922
  • Асафов Н.И.
SU6A1
ДИКАЛИЕВАЯ СОЛЬ N-(3-ХЛОРО-1,4-НАФТОХИНОНИЛ)-2-ГЛУТАМИНОВОЙ КИСЛОТЫ, ПРОЯВЛЯЮЩАЯ АНТИГИПОКСИЧЕСКУЮ, РЕДУКТАЗНУЮ, АНТИАНГИНАЛЬНУЮ И ПРОТИВОИШЕМИЧЕСКУЮ АКТИВНОСТЬ 1992
  • Картофлицкая А.П.
  • Колесников В.Т.
  • Сернов Л.Н.
  • Митрохин Н.М.
  • Розонов Ю.Б.
  • Диогенова Н.С.
  • Гладун Н.Р.
  • Марковский Л.Н.
RU2032661C1
Приспособление для точного наложения листов бумаги при снятии оттисков 1922
  • Асафов Н.И.
SU6A1
Способ получения фтористых солей 1914
  • Коробочкин З.Х.
SU1980A1
Патент США № 4204252, кл
Способ получения мыла 1920
  • Петров Г.С.
SU364A1
Способ получения фтористых солей 1914
  • Коробочкин З.Х.
SU1980A1

SU 1 315 974 A1

Авторы

Литвинов Виктор Васильевич

Швеин Алексей Анатольевич

Шумей Александр Сергеевич

Даты

1987-06-07Публикация

1985-09-09Подача