Устройство для распаковки команд

 

1. УСТРОЙСТВО ДЛЯ РАСПАКОВКИ КОЙАНД, содержащее первый входной регистр , выходной регистр, три мультиплексора , блок прерывания и блок уп равления, причем, блок управления содержит два элемента И и элемент ИЛИ, первый, второй и третий выходы первого входного регистра подключены соответственно к первьм, вторым и третьим информационным входам первого, вто- / рого и третьего мультиплексоров, информационный вход первого входного регистра подключен к входу кода команд устройства, выход кода команд устройства подключен к выходу выходного регистра, первый, второй и третий информационные входы которого подключены соответственно к выходам мультиплексоров с первого по третий, блок прерывания содержит триггер и два элемента ИЛИ, причем выход триггера блока прерывания подключен к первому входу первого элементна ИЛИ блока прерывания, выход которого подключен к выходу требования прерывания устройства, отличающееся тем, что, с целью расширения области применения за счет распаковки команд машинного языка высокого уровня, имейщих переменный формат и способ кодирования, в него введены четвертый мультиплексор, второй входной регистр, блок контроля , блок формирования адреса, а блок управления дополнительно содержит блок памяти, регистр базы, счетчик смещения, одновибратор и коммутатор, а в блок прерывания дополнительно введены два элемента И, причем с первого по третий информационные входы четвертого мультиплексора и выход четвертого мультиплексора подключены i к выходам первого входного регистра .соответственно с первого по третий (Л и к четвертому информационному входу выходного регистра, выход первого входного регистра подключен к информационному входу второго выходного регистра, блок контроля содержит регистр контрольного кода и схему сравнения, причем информационный вход, со 0) вход установки в О/ синхровход и выход регистра контрольного кода под00 Од ключены соответственно к входу контрольного кода устройства, входу ел начальной установки устройства, третьему синхровходу устройства и к первому входу схемы сравнения, второй вход и выход которой подключены соответственно к выходу блока памяти и к выходу признака ошибки устройства, первый синхровход устройства подключен к синхровходам первого и.второго входных регистров, входы установки в О которых подключены к входу начальной установки устройства, первый и.второй синхровходы блока формирования адреса под

СОЮЗ СОВЕТСКИХ

СОЦИАЛИСТИЧЕСНИХ

РЕСПУБЛИК (19) (11) (51) 4 G 06 F 9 00. ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР

О РЕТЕН И ОТКРЫТИИ (21) 3759724/24-24 (22) 22.06.84 (46) 07.12..85. .Бюл. .Ф 45 (71) Московский ордена Трудового Красного Знамени инженерно-физический институт (72) Я.А. Хетагуров, И.B. Поливода и Н.Н. Захаревич(53) 681. 32 (088. 8) (56) Авторское свидетельство СССР

У 610109, кл. С 06 F 9/00, 1978.

Авторское свидетельство СССР

У 972507 кл. С 06 F 9/00, 1982. (54)(57) 1. УСТРОЙСТВО ДЛЯ РАСПАКОВКИ

КОМАНД, содержащее первый входной регистр, выходной регистр, три мультиплексора, блок прерывания и блок управления, причем блок управления содержит два элемента И и элемент ИЛИ, первый, второй и третий выходы первого входного регистра подключены соответственно к первым, вторым и третьим информационным входам первого, второго и третьего мультиплексоров, информационный вход первого входного регистра подключен к входу кода команд устройства, выход кода команд устройства подключен к выходу выходного регистра, первый, второй и третий информационные входы которого подключены соответственно к выходам мультиплексоров с первого по третий, блок прерывания содержит триггер и два элемента ИЛИ, причем выход триггера блока прерывания подключен к первому входу первого элемента ИЛИ блока прерывания, выход которого подключен к выходу требования прерывания устройства, о т л и ч а ю щ е е с я тем, что, с целью расширения области применения эа счет распаковки команд машинного языка высокого уровня, имеющих переменный формат и способ кодирования, в него введены четвертый мультиплексор, второй входной регистр, блок контроля, блок формирования адреса, а блок управления дополнительно содержит блок памяти, регистр базы, счетчик смещения, одновибратор и коммутатор, а в блок прерывания дополнительно введены два элемента И, причем с первого по третий информационные входы четвертого мультиплексора и выход четвертого мультиплексора подключены к выходам первого входного регистра, соответственно с первого по третий и к четвертому информационному входу выходного регистра, выход первого входного регистра подключен к инфор" мационному входу второго выходного регистра, блок контроля содержит регистр контрольного кода и схему сравнения, причем информационный вход, вход установки в "О",синхровход и выход регистра контрольного кода подключены соответственно к входу контрольного кода устройства, входу начальной установки устройства, третьему синхровходу устройства и к первому входу схемы сравнения, второй вход и выход которой подключены соответственно к выходу блока памяти и к выходу признака ошибки устройства, первый синхровход устройства подключен к синхровходам первого и.второго входных регистров, входы установки в "0" которых подключены к входу начальной установки устройства, первый и.второй синхровходы блока формирования адреса под119б8б5 ключены соответственно к первому и второму синхровходам устройства, вход базового адреса устройства подключен к входу базового адреса блока формирования адреса, вход разрешения загрузки базового адреса которого подключен к входу разрешения .загрузки базового адреса устройства, выходы блока памяти с первого по . четвертый подключены соответственно к информациойным входам блока форми-.

: рования адреса с первого по четвертый, вход признака адреса последнего байта, выход признака адреса последнего байта входной информации и выход. признака адреса последнего байта которого подключены соответственно к выходу второго элемента ИЛИ блока прерывания, первому входу первого элемента И блока прерывания и к первому входу первого элемента И блока управления, выходы с первого по четвертый второго входного регистра подключены к информационным входам соответственно с четвертого по седьмой первого, второго и четвертого мультиплексоров, восьмой информационный вход которых подключен к четвертому выходу первого входного регистра, управляющие входы мультиплексоров с первого по четвертый подключены к информационным выходам блока формирования адреса соответственно с первого по четвертый, выходы разрядов с первого по третий третьего информационного выхода блока формирования адреса подключены к входам, второго элемента И блока прерываний, выход которого подключен к первому входу второго элемента ИЛИ блока. прерываний, второй вход которого подключен к выходу триггера блока преп tl рываний, входы установки в 1 и установки в "0" которого подключены соответственно к входу начальной установки устройства и к первому синхровходу устройства, первый вход второго элемента И блока прерываний подключен к второму входу первого элемента И блока прерываний, выход которого подключен к второму входу первого элемента ИЛИ блока прерывания. тре й- вход которого подключен У к выходу второго элемента И блока прерываний, вход начальной установки выходного регистра подключен к входу начальной установки устройства, входы начальной установки выходов с первого по четвертый выходноro регистра подключены к выходам блока памяти соответственно с пятого по восьмой, синхровход выходного ре-. гистра подключен к первому выходу признака формирования кода команды устройства и к выходу первого элЕмента ИЛИ блока управления, первый и второй входы которого; подключены соответственно к второму синхровходу устройства и к выходу первого элемента И блока управления, второй вход которого подключен к первому синхровходу устройства, выход первого элемента И блока управления подключен к первому входу второго элемента И блока управления и к входу запуска одновибратора, вход разрешения запуска и выход которого подключены соответственно к девятому выходу блока памяти и к синхровходу регистра базы, информационный вход и вход установки в "0" которого подключены соответственно к выходу четвертого мультиплексора и к входу начальной установки устройства, первый и второй входы установки в "0" счетчика смещения подключены соответственно к входу начальной установки устройства и к выходу одновибратора, девя-. тый выход блока памяти подключен к инверсному входу второго элемента И блока управления, выход которого подключен к счетному входу счетчика смещения, выход одновибратора подключен к второму выходу признака формирования кода команды устройства, выход регистра базы и выход счетчика смещения подключены к первым информационным входам коммутатора, вторые информационные входы которого подключены к.первому и второму адресным входам устройства, управляющий вход и выход коммутатора подключены соответственно к входу разрешения загрузки микропрограмм устройства и к адресному входу блока памяти, информационный вход и вход записи-считывания которого подключены соответственно к входу микрокоманд устройства и к управляющему входу коммутатора.

2. Устройство по п. 1, о т л и— ч а ю щ е е с я тем, что блок формирования адреса содержит четыре . полусумматора, три триггера, три коммутатора, три элемента И, элемент задержки и элемент "ИСКЛЮЧАЮЩЕЕ ИЛИ", причем первые информационные входы полусумматоров с первого по четвер1196865 тый подключены к информационным входам блока соответственно с первого по четвертый, входы разрядов с первого по третий вторых информационных входов первого, второго,,третьего и четвертого полусумматоров подключены к выходам триггеров соответственно с первого по третий, информа- ционные входы которых подключены . к выходам коммутаторов соответственно с первого по третий, вход устаи и новки в 1 первого триггера подклю-. чен к выходу первого элемента И, первый вход которого подключен к первому синхровходу блока и к первому входу второго элемента И, второй и третий входы которого подключены соответственно к выходу признака адреса последнего байта блока и к входу разрешения загрузки базового адреса .блока и выход третьего элемента И подключен к синхровходам .триггеров с первого по третий, входы установки в "0" которых подключены к выходу второго элемента И, второй вход которого подключен к первому входу элемента "ИСКЛЮЧАЮЩЕЕ

fl

ИЛИ, второй вход и выход которого подключены соответственно к входу .

Изобретение относится к вычислительной технике и может найти применение в 3ВМ, структура команд которых однозначно соответствует структуре инструкций языков высокого уров- 5 ня (ЯВУ), т.е. в 3ВМ с машинными ЯВУ.

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

его структуры и повышающих надежность устройств. !5

На фиг,. 1 представлена структурная схема устройства распаковки команд; на фиг. 2 — функциональная схема блока формирования адреса; на фиг. 3 - функциональная схема блока ур управления;на,фиг. 4 — функциональразрешения загрузки базового адреса блока и к первому входу третьего элемента И, второй вход которого подключен к второму синхровходу блока, вход признака адреса последнего байта блока через .элемент задержки подключен к вторым входам первого и второго элементов И, вход. загрузки базового адреса подключен к первым информационным входам коммутаторов с первого по третий, выходы разрядов с первого по третий четвертого полусумматора подключены к вторым информационным входам коммутаторов соответственно с первого по третий, вторые входы которых подключены к входам разрядов соответственно с первого по третий базового адреса блока, выход первого триггера блока подключен к выходу признака адреса последнего байта входной информации блока, выходы полусумматоров с первого по третий подключены соответственно к информационным выходам блока с первого по третий, выходы разрядов с первого по третий четвертого информационного выхода блока подключены к выходам триггеров блока со" .ответственно с первого по третий. ная схема блока прерываний; на фиг. 5 — функциональная схема блока контроля; на фиг. 6 — формат микрокоманд устройства; на фиг. 7 — функциональная схема выходного регистра.

Устройство (фиг. 1) содержит первый 1 и второй 2 входные регистры, первый 3, второй 4, третий 5 и четвертый 6 выходы (байты) первого входного регистра 1, первый 7, второй 8, третий 9 и четвертый 10 выходы (байты) второго входного регистра 2, первый 11, второй 12, третий 13 и четвертый 14 мультиплексоры, блок 15 формирования адреса, блок 16 управле ния, блок 17 прерываний, блок 18 контроля, выходной регистр 19, первый 20, второй 2 1, третий 22 и четвертый 23 выходы (байты) выходного регистра 19, вход 24 и выход 25 команд устройства, выход 26 признака

3 1196 ошибки устройства, выход 27 требования прерывания устройства, вход 28 контрольного кода устройства, первый 29 и второй 30 синхровходы устройства, вход 31 базового адреса устройства, вход 32 разрешения загрузки базового адреса устройства, третий синхровход 33 устройства, вход

34 начальной установки устройства, первый 35, второй 36, третий 37, 10 четвертый 38, пятый 39, шестой 40, седьмой 4 1 и восьмой 42 выходы блока 16 управления, четвертый 43, третий 44, второй 45, первый 46 и пятый 47 выходы блока 15 формирования адреса, первый выход 48 признака формирования кода команды устройства, первый адресный вход 49 устройства, девятый выход 50 блока 16 управления, второй адресный вход 51 устройства, вход 52 микрокоманд устройства, вход 53 разрешения загрузки микропрограмм устройства, второй выход 54 признака формирования кода команды устройства, второй выход 55 блока 17 прерываний, шестой выход 56 блока 15 формирования адреса, выхо. ды 57-60 первого 11, второго 12, третьего 13 и четвертого 14 мультиплексоров соответственно.

Блок 15 формирования адреса (фиг. 2) содержит четвертый 61, третий 62, второй 63 и первый 64 сумматоры, первый триггер 65, первый .коммутатор 66, второй триггер 67,.

35 второй коммутатор 68, третий триггер

6 9, тре тий к оммута т ор 7 О, зле ме нт 7 1 з адержки,,первый 72,второй и третий 73,74 элементы И и элемент "ИСКЛЮЧАЮЩЕЕ

ИЛИ" 75. 40

Блок 16 управления (фиг. 3.) содержит первый элемент И 76, одновиб.ратор 77, регистр 78 базы, счетчик

79 смещения, коммутатор 80, первый

81 и вторые 82 информационные входы 45 и выход 83 коммутатора, блок 84 памяти, элемент ИЛИ 85 и второй элемент И 86.

Блок 17 прерываний (фиг. 4) содержит первый 87 и второй 88 элементы И, 50 .первый элемент ИЛИ 89, триггер 90 и второй элемент ИЛИ 91.

Блок 18 контроля (фиг. 5) содержит регистр 92 контрольного ко-. да, схему 93 сравнения, вход 94 и 55 выход 95 регистра контрольного кода.

Формат микрокоманды устройства (фиг. 6) описывается тремя полями

865 4

R, P и BE, причем поля R u P состоят соответственно из подполей

Рг Рз

Р

Выходной регистр (фиг, 7) содержит первый 96, второй 97, третий 98, и четвертый 99 регистры, первый 100, второй 101, третий 102 и четвертый

103 элементы ИЛИ.

Распаковываемый ЯВУ должен удовлетворять следующим требованиям: ко" манды ЯВУ должны представлять собой комбинации элементов некоторого базового. набора, структура элемента должна иметь вид "дескриптор-символ", т.е. дескриптор должен предшествовать описываемому им символу, длины дескрипторов и символов базового набора элементов машинного ЯВУ должны быть канатны длине группы. Кроме того, количество элементов в базовом наборе не должно превышать величину

2, где М вЂ” количество битов. группы, а первые группы дескрипторов базового набора должны быть попарно различны.

Если группа соответствует байту,то в процессе выполнения устройством своих функций по распаковке команд машинного

ЯВУ выделяют: загрузка микрокомандыраспаковки и контрольного кода (первый этап), исходный ввод командной информации (второй этап) и распаковка команд машинного ЯВУ (третий этап).

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

На первом, втором этапах распаковки и части третьего этапа, связанной с распаковкой линейных участков программ машинного ЯВУ на входе 32 разрешения загрузки базового адреса устройства присутствует "Лог.О, который, воздействуя на.инверсный вход элемента И 74 блока 15 (фиг. 2), разрешает прохождение сигнала через этот элемент. "Лог.О", воздействуя на второй вход элемента "ИСКЛЮЧАЮЩЕЕ

ИЛИ" 75 блока 15, обеспечивает прямую передачу сигнала с первого входа этого элемента на его выход, фактически подключая выход элемента 7 1 задержки блока 15 к инверсному входу элемента И 73 блока 16.

Кроме того, "Лог.О", воздействуя на управляющие входы коммутаторов

66, 68 и 70 блока 16, запрещает прохождение сигнала с входа 31 устройства на информационные входы триггеров

1196865

65, 67 и 69 блока 15 и, в свою очередь, разрешает прохождение сигналов с первого, второго и третьего выходов полусумматора 61 блока 15 через гкоммутаторы 66, 68 и 70 блока 15

1на информационные входы триггеров

65, 67 и 69 блока 15 соответственно.

На первом этапе в исходном состоянии входные 1 и 2 и выходной 19 ре- 10 гистры устройства (фиг. 1), регистр

78 и счетчик 79 смещения блока 16 (фиг. 3), регистр 92 контрольного кода блока 18 (фиг. 5) устанавливаются в ноль импульсом, формируемым 15 на входе 34 начальной установки устройства. Этим же импульсом триггер

90 блока 17 (фиг. 4) устанавливается в состояние "Лог.1". После этого подается сигнал "Лог,1" на вход 53 20 разрешения загрузки микропрограмм устройства. Этот сигнал воздействует на вход разрешения записи (фиг. 3) блока 84, инициируя в последнем режим записи информации, и подключает . 25 к адресному входу блока 84 сигналы с входов 49 и 51 устройства.

После, этого начинается запись в блок 84 микропрограммы распаковки команд конкретного машинного ЯВУ из множества используемых совместно с устройством машинных ЯВУ. Микрокоманды этой микропрограммы поступают на вход 52 микрокоманд устройства, 35 с него на информационный вход блока

84 и записываются по адресам, поступающим по входам 49 и 51 устройства через коммутатор 80 на адресный вход блока 84. Микропрограмма распаковки 40 хранится в блоке 84 в течение всего времени, пока устройство осуществля..ет распаковку команд данного конкретного машинного ЯВУ. При переходе на другой машинный ЯВУ в блок 84 записы45 вается микропрограмма распаковки, соответствующая новому машинному ЯВУ.

Каждому из используемых совместно с устройством машинных ЯВУ соответствует своя микропрограмма распаковки ко-50 торая управляет процессом распаковки машинного ЯВУ и состоит из микропрограмм.

Формат микрокоманд (фиг. 6) предусматривает три поля R, Р и BE.

Поле R микрокоманды управляет как <ор- 55 мированием блоком 15 поля адресов байтов информации входных 1 и 2 регистров, подлежащих передаче в выходной регистр 19, так и динамической сменой этого поля в процессе распаковки команд машинного ЯВУ, Поле P микрокоманды управляет записью этих байтов информации в выходной регистр

13. Поле BE микрокоманды содержит информацию является ли данная микрокоманда последней при распаковке некоторого элемента машинного ЯВУ или нет.

Структурно микропрограмма распаковки состоит из микрокоманды начального ввода информации и микропрограммных модулей распаковки элементов машинного ЯВУ. Микрокоманда начального ввода информации является первой в микрокоманде распаковки и обеспечивает ввод первого входного слова командой информации для некоторого программного модуля данного машинного ЯВУ во входной регистр

1. Эта микрокоманда размещается в ячейке блока 84 с нолевым адресом.

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

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

Последние микрокоманды модулей распаковки содержат указание на окончание распаковки соответствующих элементов машинного ЯВУ вЂ” "Лог ° 1" в поле ВЕ микрокоманды. Причем микрокоманды, не являющиеся последними в модулях распаковки, содержат"Лог. 0 в поле BE.

Ячейки блока 84, не занятые ни микрокомандой начального ввода, ни микропрограммными модулями распаковки элементов машинного ЯВУ, загружаются Контрольным кодом, не совпадающим ни с одной из использованных в микропрограмме микрокоманд, Наряду с вводом в блок 84 микропрограммы распаковки на вход 28 уст1196865

15

20 ройства устанавливается контрольный код. Последний записывается в укаэанный регистр положительным фронтом импульса, формируемого на входе

33 устройства, соединенном с входом синхронизации регистра 92 контрольного кода блока 18.

На первом этапе (на входе 53 и выходе 27 устройства присутствуют

"Лог. 1") импульсы на входы 29 и 30 синхронизации устройства не поступают и состояния входных 1 и 2 и выходного 19 регистров, триггеров 65, 67 и 69 блока 15, регистра 78 базы, счетчиков 79 смещения блока 16 и триггера 90 блока 17 остаются неизменными.

Первый этап работы устройства на этом заканчивается.

На втором этапе работы устройства на вход 53 разрешения загрузки мик- . ропрограмм устройства приходит

"JIor. 0 который, воздействуя на управляющий.вход коммутатора 80, отклю- 25 чает входы 49 и 5 1 устройства от адресного входа блока 84 и подключает к этому входу выходы регистра 78 базы и счетчика 79 смещения блока 16.

"Лог. 0" на входе 53 устройства инициирует в блоке 84 режим считывания, воздействуя на вход разрешения записи блока 84. "Лог. 0", поступая с выходов регистра 78 базы и счетчика

79 смещения на адресный вход блока

84, вызвает появление на выходе этого блока микрокоманды начального ввода информации.

Микрокоманда содержит нолевые поля R и Р и "Лог. 1" в поле ВЕ.

Нолевые сигналы поля К микрокоманды, воздействуя на входы полусумматоров

61-64 блока 15, приводят к появлению на их выходах кода, совпадающего с значением кода, находящегося в триггерах 65, 67 и 69 блока 15. Нолевые сигналы поля P микрокоманды, воздействуя на входы начальной установки (входы 42-39) байтов выходного регистра 19, запрещают запись в него информации. "Лог. 1" поля BE микрокоманды, поступая с. выхода 50 блока

84 на инверсный вход элемента И 76 и вход разрешения (вход Р, фиг. 3) одновибратора 77 блока 16, запрещает прохождение сигнала через элемент

И 76 и разрешает формирование выходного импульса одновибратора 77 блока 16.

"Лог. 1", записанная в триггер 90 блока 17 на первом этапе, поступив на входы элементов ИЛИ 89 и 9 1 бло- ка 17 (фиг. 4), вызывает появление

"Лог. 1" на их выходах. "Лог, 1" с выхода элемента ИЛИ 91 поступает с выхода 55 блока 17 на вход элемента 7 1 задержки блока 15. и с его выхода передается на инверсные входы элементов И 72 и 73 блока 15, запрещая прохождение через них сигнала, и на прямой вход элемента И 74 бпока 15, разрешая прохождение сигнала через этот элемент (фиг. 2).

С выхода элемента 71 задержки блока 51 "Лог. 1" поступает также на выход 56 блока 15, откуда она переда-, ется на вход элемента И 86 и блока 16, разрешая прохождение сигнала через этот элемент. "Лог. 1" с выхода элемента.ИЛИ 89 блока 17 поступает на выход 27 устройства и сообщает о готовности устройства к записи в входной регистр 1 первого входного слова командной информации (на входе 53 устройства "Лог. 0", а на выходе 27 устройства "Лог. 1"). В ответ на это на вход 24 команд устройства поступает первое входное слово командной информации (первые четыре байта первой команды выполняемого программного модуля на машинном ЯВУ), после чего на вход 29 устройства поступает импульс.

Импульс, пройдя через элемент ИЛИ

85 блока 16, передним фронтом записывает Лог. 0 с выходов мультиплексоров 11-14 в выходной регистр

19, первое входное слово командной информации в входной регистр 1, "Лог. 0" с выходов выходного регистра 1 в входной регистр 2. Пройдя через открытый элемент И 74 блока 15, импульс обноляет триггеры 65, 67 и

69 блока 15 и, пройдя через открытый элемент И 86 и элемент ИЛИ 85 блока 16 на вход запуска одновибратора 77 блока 16, инициирует по заднему фронту импульс на выходе одновибратора 77 блока 16.

Импульс с выхода одновибратора 77 блока 16 поступает на вход начальной установки счетчика 79 смещения блока 16 и удерживает его в "0". Кроме того, импульс с выхода одновибратора 77 блока 16 передним фронтом записывает в регистр 78 базы блока 16

1196865

Второи этап работы устройства

40 на этом. заканчивается.

Третий этап работы устройства рассматривают на примере распаковки элемента базового набора некоторого машинного ЯВУ, состоящего из двухи байтового дескриптора и шестибайтовоа го символа» м

Входные регистры 1 и 2 соединены р между собой так, что M-e входное слово командной информации, выполняемого объектного модуля машинного ЯВУ, Ал поступающее по входу 24 команд устм ройства на вход входного регистра 1

Ф ни записывается в этот регистр положими тельным фронтом М-ro импульса прйЭ К ходящего из внешней среды на вход 29

I устройства. Положительным фронтом этого же импульса предыдущее (М-1)-е первый байт первого входного слове, командной информации, поступивший на информационный вход регистра 78 базы блока 16 с выхода 3 входного регистра 1 через канал мультиплексора 11, определяемый управляющим кодом 000, поступающим на адресные входы мультиплексора 11 с выходов триггеров 65, 67 и 69 блока 15..

Импульс на входе 29 устройства поступает на вход установки "0" триггера 90 блока 17 и сбрасывает этот триггер в "0". Импульс,сформированный на выходе одновибратора 77 блока 16, поступает на выход 48 устройства и сигнализирует о том, что первое выходное слово командной информации, появившееся после него в выходном регистре 19, будет первым выходным словом первого элемента машинного ЯВУ первой команды вы полняемого программного модуля. По.явление "Лог ° 0" на выходе триггера

90 блока 17 вызывает появление

1t н

Лог. 0 на выходах элементов ИЛИ

89 и 91 блока 17 и, следовательно, "Лог. 0" на выходе 55 блока 17 и выходе 27 прерываний устройства (фиг. 4 ). ."Лог. 0" с выхода 55 блока 17 через элемент 71 задержки блока 15 (фиг. 2) поступает на инверсные входы элементов И 72 и 73 блока 15, разрешая прохождение через них сигнала, и поступает на прямой вход элемента И 74 блока 15 и элемента И 86 блока 16 (фиг. 3), разрешая прохождение сигнала через эти элементы. входное слoBо командной информации переписывается из входного регистра 1 в входной регистр 2, т.е. входные регистры 1 и 2 образуют регистр длины в два слова (входной буфер), хранящий динамически сменяющие один другого в процессе распаковки восьмибайтовые фрагменты команд машинного ЯВУ.

Входной буфер является адресуемым.

Адреса байтов 3-10 входных регистров

1.и 2 (буферные адреса) соответственно равны 000, 001, ОIO 011 100, 101, 110 и 111. Мультиплексоры 11-14, 15 имеющие ширину канала равную байту, передают содержимое байтов входного буфера, буферные адреса которых совпадают с сигналами на адресных .входах. мультиплексоров, соответствен20 но на информационные входы байтов 2023 выходного регистра 19.

На каждом шаге распаковки, под которым понимается формирование очередного выходного слова командной

2s информации в выходном регистре 19, блок 15 формирует под управлением микрокомаиды данного шага распаковки поле из четырех буферных адресов, которые поступают с выходов 43-46

gp блока 15 соответственно на адресные входы мультиплексоров 14-II. Под управлением этого поля буферных адресов мультиплексоры 11-14 передают требуемые на данном шаге распаковки четыре байта командной информации из входного буфера на информационные входы выходного регистра 19.

Каждому элементу базового набора машинного ЯВУ ставится в соответствие алгоритм распаковки, реализуемый микопрограммным модулем распаковки этого элемента, входящим в состав микропрограммы распаковки команд данного

ЯВУ. Алгоритм распаковки некоторого элемента машинного ЯВУ определяет оследовательность шагов распаковки

Ф также состав байтов данного элеента, передаваемых на каждом шаге аспаковки из входного буфера в выодной регистр 19, и расположение тих байтов в выходном регистре 19. горитм распаковки любого элемента ашинного ЯВУ изменяют путем внесея соответствующих изменений в кропрограммный модуль его распаовки.

Алгоритмы распаковки заключаются в том, что вначале распаковываются

1196865

50

Буферный адрес байта, помещаемого на данном шаге распаковки в байт 20 выходного регистра 19 (базовый буфердескрипторы, так что их байты, начи ная с первого, размещаются группами по четыре соответственно в байтах

20-23 выходного регистра 19 на каждом шаге распаковки дескриптора. Если на последнем шаге распаковки дескриптора количество его оставшихся байтов меньше четырех, то эти байты размещаются в выходном регистре 19 последовательно начиная с байта 20, причем оставшиеся свободными правые байты этого регистра устанавливаются в "0". После распаковки дескриптора аналогичным образом рас.паковывается символ.

Первый байт первого входного слова кбмандной информации, записанный на втором этапе распаковки в регистр

78 базы блока 16 (фиг. 3),является первым байтом дескриптора первого элемента выполняемого программного модуля машинного ЯВУ. Этот байт совместно с нолевым содержимым счетчика 79 смещения блока 16 определяет р5 адрес в ЗУ 84 микропрограмм блока 16 первой микрокоманды микропрограммного модуля распаковки данного элемента машинного ЯВУ. Сигналы с выходов регистра 78 базы и счетчика 79 смещения блока 16 поступают через коммутатор 80 на адресный вход блока

84, вызывая появление на выходе этого ЗУ указанной микрокоманды, под управлением которой осуществляется первый шаг распаковки данного элемента.

Сигналы поля R этой микрокоманды, воздействуя на блок 15, управляют формированием буФерных адресов 4О байтов, передаваемых на первом шаге распаковки данного элемента машинного ЯВУ в выходной регистр 19. После

R микрокоманды устройства состоит из четырех подполей К», R, R3

45 и R 4 (фиг. 6), сигналы которых поступают соответственно с выходов

35, 38, 37 и 36 ЗУ 84 микрокоманд блока 16 (фиг. 3) на входы полусумматоров 61, 64, 63 и 62 блока 15 (фиг. 2).

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

55 ный адрес), содержится в триггерах

65, 67 и 69 блока 15 (фиг. 2) и поступает с выхода 46 блока 15 на адресный вход мультиплексора 11. Буферные адреса байтов, поступающих на каждом шаге распаковки с выходов муЛьтиплексоров 12-14 соответственно на информационные входы байтов 21-23 выходного регистра 19, формируются соответственно полусумматорами 64-62 путем сложения базового буферного адреса соответственно с содержимыми подполей 14., Кз, и R 4 микрокоманды данного шага распаковки (относительные буферные адреса).

Базовый буферный адрес следующего шага распаковки, формируемый полусумматором 61 блока 15 путем сложения базового буферного адреса данного шага распаковки с содержимым подполя

К мыкрокоманды данного шага распаковки, поступает с выхода полусумматора 61 блока 15 на информационные входы (фиг. 2) триггеров 65, 67 и

69 блока 15. Если на данном шаге распаковки командная информация из входного буфера поступает во все четыре байта 20-23 выходного регистра 19, то содержимые подполей R,, R„, R, и К4 микрокоманды данного шага распаковки соответственно равны 100, 001, 010 и 011.

Если на данном шаге распаковки командная информация помещается в три байта 20-22 выходного регистра

19, то содержимые .подполей Rs, R

R и R 44 данного шага распавки соответственно равны 011, 001, 010 и

010. Если на данном шаге распаковки командная информация помещается в два байта 20 и 2 1 выходного регистра

19, то содержимые подполей Rq,R

Кз и R 44микрокоманды данного шага распаковки соответственно равны

010, 001, 001 и 001. Если же на данном шаге распаковки командная информация помещается только в байт 20 выходного регистра 19, то содержимые подполей Rz, R, Rq u R 44микрокоманды данного шага распаковки соответственно равны 001, 000, 000 и 000.

Таким образом, на выходе полусумматора 62 блока 15 .на каждом шаге распаковки присутствует буферный адрес байта, помещаемого в байт выходного регистра 19 с самым большим номером (нумерация на фиг. 1) . Байты вы1196865

14 ходного регистра 19, в которые не лев редается командная информация из каждого буфера на данном шаге распаковки, обноляются на этом шаге распаковки.

Первая микрокоманда микропрограммного модуля распаковки первого из трех рассматриваемых на третьем этапе распаковки элементов машинного

ЯВУ, содержащего двухбайтовый деск-! риптор, содержит коды 001, 001, 001 и 010 соответственно в полях в.а, R9 К1 и R4.

Таким образом, мультиплексор 11, 15 управляемый нолевым кодом с выхода регистров 65, 67 и 69 блока 15, передает содержимое байта.3 (первого байта дескриптора) входного буфера

20 на информационный вход байта 20 выходного регистра 19. Мультиплексоры 12-14, управляемые кодом 000+

001 = 001 с выхода полусумматоров

64-62 блока 15, передают содержимое

25 байта 4 (второго байта дескрептора) на информационные входы байтов 2123 и выходного регистра 19. На информационных. входах триггеров 65, 67 и 69 блока 15 присутствует базовый буферный адрес следующего шага

30 распаковки 000 + 010 = 010 с выходов полусумматора 61 блока 15.

Поле P микрокоманды устройства состоит из четырех подполей Р1, Гд, Р g u P g (фиг. 6), сигналы которых поступают с выходов 42-39 блока 16 соответственно на входы начальной установки байтов 20-23 выходного регистра 19. "Лог. 0" какого-либо из этих подполей разрешает запись информации в соответствующий байт выходного регистра 19, а "Лог. 1" — обноляет этот байт. На первом шаге распаковки первого элемента машинного ЯВУ микрокоманда содержит код 001 в поле

Р (соответственно в подполях Ру

P, P> и Р1 ), т.е . разрешается запись информации в байты 20 и 21 выходного регистра 19, а байты 22 и

23 этого регистра обноляются.

Микрокоманда первого шага распаковки первого элемента машинного

ЯВУ содержит "Лог. 0" в поле BE, так как она не является последней в микропрограммной моделе распаковка данного элемента. "Лог. 0, поступая с выхода 50 на вход разрешения одновибратора 17 и инверсный вход элемента И 76 блока 16, запрещает формирование выходного импульса одновибратором 77 и разрешает прохождение сигнала через элемент И 76 блока 16.

На данном шаге распаковки вся командная информация, необходимая для формирования выходного слова, находится в входном буфере, запрос. на прерывание отсутствует и на выходе 27 прерывания устройства имеет место "Лог. 0, который является признаком возможности продолжать процесс распаковки. В ответ на этот сигнал на вход 30 устройства подается импульс. На входе 29 устройства импульс при этом отсутствует.

Импульс, пришедший на вход 30 устройства, передним фронтом записывает первое выходное слово командной информации в выходной регистр 19, проходя через элемент ИЛИ 85 блока

16 на выход 54 устройства, сигнализирует о наличии первого выходного слова командной информации первого элемента машинного ЯВУ в выходном регистре 19, пройдя с выхода элемента ИЛИ 85 блока 16 через элемент И

76 блока 16 на счетный вход счетчиКа 79 смещения блока 16, увеличивает содержимое этого счетчика на единицу по отрицательному фронту. Кроме того, импульс положительным фронтом записывает в регистры 65, 67 и 69 блока 15 базовый буферный адрес второго шага распаковки (код 010 соответственно), пройдя через открытый элемент И 73 блока 15 на входы синхронизации триггеров 65, 67 и 69. блока 15.

Адресация микрокоманд блока 84 организована следующим образом. Адрес микрокоманды состоит из двух частей. Старшая часть битов адреса (база) содержится в регистре 78 базы блока 16, а младшая часть битов (смещение) определяется содержимым счетчика 79 смещения блока 16. База микропрограммного модуля распаковки каждого элемента машинного ЯВУ, совпадающая с первым байтом дескрептора этого элемента машинного ЯВУ, устанавливается в регистре 78 базы блока

16 в начале распаковки каждого элемента машинного ЯВУ и не меняется в течение распаковки этого элемента машинного ЯВУ. Смещение меняется в процессе выполнения шагов раслаков1196865 ки данного элемента машинного ЯВУ от 0 (первая микрокоманда микропрограммного модуля распаковки данного элемента) до величины КА, — 1 (последняя микрокоманда микропрограммного модуля), где К вЂ” количество микрокоманд микропрограммного модуля распаковки M — го элемента базового набора машинного ЯВУ и 1 И к, . Н, где Н вЂ” количество элементов базового набора данного машинного ЯВУ.

После выполнения первого шага распаковки первого элемента машинного ЯВУ счетчик 79 смещения блока 16 содержит код, соответствующий десятичной единице, и на выходе блока 84 присутствует микрокоманда второго шага распаковки. Эта микрокоманда содержит коды 100, 001, 010 и 011 соответственно в полях К», R2,R > и К1 "Лог. 0" в подполях Р4

P, P> и Р.1 и "Лог. 0" в поле BE, Данная микрокоманда согласно алгоритму распаковки определяет передачу. следующих за байтами дескриптора чеf тырех байтов символа распаковываемого элемента машинного ЯВУ в выходной регистр 19 устройства из входного буфера. После выполнения первого шага распаковки, в результате которого используют первые два байта элемента (байты дескриптора из бай.тов 3 и 4 входного регистра 1), в входном буфере остается только два байта символа данного элемента машинного ЯВУ (байты 5 и 6 входного регистра 1), т.е. командной информации., содержащейся в входном буфере, недостаточно для продолжения процесса распаковки.

Для отработки подобных ситуаций в предлагаемом устройстве предусмотрено прерывание распаковки по недостатку информации.

Сигнал прерывания по недостатку информации вырабатывается блоком 17 (фиг. 4) на основании анализа поля буферных адресов, формируемых блоком 15 на каждом шаге распаковки.

Устройство работает таким образом, что на каждом шаге распаковки в выходной регистр 19 передается некоторое количество (меньшее или равное четырем) последовательно размещенных байтов командной информации, образующих выходное слово командной информации, причем первый байт передается в байт 20 выходного регистра 19, второй, если о!» есть на данном .шаге распаковки — в байт 21 выходного регистра 19, третий, если он есть, в байт 22 выходного регистра !9, 5, четвертый, если он есть, — в баит 23 выходного регистра 19.

Входной буфер организован так, что последовательность его байтов

7-10 и 3-6, соответствующая последовательности буферных, адресов 100, 101, 110, 111, 000, 001, 010 и 011, соответствует некоторым восьми после-. довательно расположенным байтам командной информации, т.е. поле буферных адресов К байтов (К - . 4), помещаемых на данном шаге распаковки в выходной регистр 19, начиная с буферного адреса первого байта данного выходного слова командной информации, кончая буферным адресом К-го байта этого слова, должно представлять со-. бой непрерывный К вЂ” адресный фрагмент описанной последовательности р5 буферных адресов в случае, когда вся командная информация, требуемая для формирования данного выходного слова, находится в входном буфере.

В случае, когда в входном буфере находится лишь часть требуемых на данном шаге распаковки байтов командной информации (Х байтов в входном регистре 1, Х (N), буферные адреса оставшихся (И вЂ” Т)-байтов формируются блоком 15 в входном регистре 2, 35 т.е. правильная последовательность буферных адресов нарушается. Для буферных адресов входного регистра 1 старший (левый) разряд равен "Лог.0", а для буферных адресов входного регистра 2 — "Лог. 1".

Блок 15 анализирует старшие разряды базового буферного адреса (буферный адрес первого байта выходного слова командной информации цанного

45 шага) и буферного адреса байта передаваемого в байт 23 выходного регистра 19 (буферный адрес последнего байта выходного слова командной информации данного шага) и в случае, когда старший разряд первого равен

"Лог. 0", а старший разряд второго—

"Лог. 1, формирует сигнал прерывания по недостатку информации на данном шаге распаковки.

Поскольку на втором шаге распаковки первого элемента машинного ЯВУ триггеры 65, 67 и 69 блока 15 содержат соответственно код 010, то на

17 1196 выходах полусумматоров 64, 63, 62 и

61 блока 15 имеют место соответствен" но коды 011, 100, 101 и 110, т.е. буферные адреса первого (010) и последнего (101) байтов данного выходно"

ro слова командной информации содер-. жат соответственно "Лог. О" и "Лог.1> в старших разрядах.

Сигналы этих разрядов, поступая соответственно с выходов 47 и 43 10 блока 15 на инверсный и прямой входы элемента И 88 блока 17, вызывают появление "Лог. 1" на выходе этого логического элемента, которая>поступая на вход элемента ИЛИ 89 блока 17, вы- 14 зывает появление "Лог. 1" на выходе элемента ИЛИ 89 блока 17 и соответственно на выходе 27 прерывания устройства. На выходе 55 блока 17 при этом присутствует "Лог. О". . 20

Сигнал прерывания по недостатку информации ("Лог. 1" на выходе 27 прерывания устройства и "Лог. О" на выходе 55 блока 17) сигнализирует о недостатке в .входном буфере команд-д ной информации для продолжения про- цесса распаковки и является запросом на .ввод следующего входного слова командной информации в входной буфер устройства. В ответ на формирование очередного импульса на входе 30 устройства формируется следующее слово командной информации на входе 24 командной Информации устройства и формируется импульс на входе 29 устройства.

Передним фронтом этого же импульса предыдущее входное слово командной информации переписывается из входного регистра 1 в входной регистр 2.

Этот же импульс, пройдя через открытый "Лог. 0" на инверсном входе элемент И 72 блока 15, поступает на вход установки "Лог. 1" триггера 65 блока 15 и,устанавливает его в состояние "Лог. 1".

Тем самым базовый буферный адрес данного шага распаковки получает приращение + 4 (т.е. становится равным 110), что соответствует новому положению первого байта данного выходного слова командной информации, до этого находившегося в байте 5 входного регистра 1, в бай" те 9 входного регистра 2. Буферные адреса данного шага распаковки, формируемь1е полусумматорами 64, 63, 62 и 61 блока 15, теперь соответствен865 18 но равны 111, 000, 001 и 010. Эти адреса обеспечивают передачу байтов 9 и 10 входного регистра 2 и байтов 3 и 4 входного регистра 1 соответственно в байты 20-23 выходного регистра, как того и требует алгоритм распаковки на втором шаге распаковки первого элемента.

Таким образом, в результате коррекции поля буферных адресов буферные адреса первого (110) и последнего (001) байтов данного выходного слова командной информации содержат в старших разрядах соответственно

"Лог. 1" и "Лог. О", которые поступая соответственно на инверсный прямой входы логического элемента И 88 блока 17, вызывают появление "Лог.О» на выходах элементов И 88 и ИЛИ 89 блока 17. Этот "Лог. О", поступая с выхода 27 прерывания устройства,сигнализирует о наличии в входном буфере устройства всей информации, необходимой для продолжения процесса распаковки, и о воэможности продолжать этот процесс. В ответ на это запрещается формирование импульсов на входе 29 устройства и снимается запрет на формирование импульсов на входе

30 устройства.

Синхроимпульс на входе 30 устройства выполняет действия, аналогичные такому же синхроимпульсу предыдущего шага распаковки: записывает .второе выходное слово командной информации первого элемента машинного ЯВУ в выходной регистр 19 устройства, сообщает о наличии этого слова в выходном регистре 19, записывает в триггеры

65, 67 и 69 блока 15 базовый адрес третьего шага распаковки первого элемента машинного ЯВУ (код 010) и увеличивает содержимое счетчика 79 смещения блока 16 на +1 (его содержимое теперь соответствует десятичному числу 2), вызывая появление на выходе блока 84 микропрограммы третьего шага распаковки первого элемента машинного ЯВУ.

Иикрокоманда третьего шага .распаковки содержит коды 010, 001, 001 и 001 соответственно в подполях Rf Ка, Rg u Rq "Лог. О" в подполях Р и Рд, "Лог. 1" — в подполях Рэ и Р4 и "Лог, 1" — в поле BE.

Микрокоманда согласно алгоритму распаковки определяет передачу последних двух байтов первого элемента машинного ЯВУ, находящихся в байтах 5

l9

10

20 и 6, входного регистра 1 соответственно в байты 20 и 21 выходного регистра 19 устройства и обозначение байтов 22 и 23 выходного регистра 19.

Поскольку в данном случае последний байт выходного слова командной информации (байт 6 входного регистра

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

Для обработки подобных ситуаций 25 в предлагаемом устройстве предусмотрено прерывание процесса распаковки по критической длине выходного слова.

Сигнал прерывания по. критической длине выходного слова вырабатывается блоком 17 на основании анализа буферного адреса последнего байта выходного слова командной информации на каждом этапе распаковки. Буферный адрес, формируемый полусумматором 62 блока

15, поступает с выхода 43 блока 15 на входы элемента И 87 блока 17. Если буферный адрес последнего байта выходного слова командной информации равен 011 (соответственно на выходах

43.1, 43.2 и 43 ° 3 полусумматора 62 блока 15), что соответствует нахождению последнего байта в байте 6 выходного регистра 1, то на выходе элемента И 87 блока 1 7 имеет место "Лог. 1 "которая воздействует на входы элементов

ИЛИ 91 и 89 блока 17 и вызывает появление "Лог. 1" на выходах этих элементов, и, соответственно, "Лог. 1 на выходе 55 блока 17 и выходе 27

50 прерывания устройства — сигнал прерывания по критической длине выходного слова.

Поскольку на третьем шаге распаковки первого элемента машинного.ЯВУ буферный адрес последнего байта вы55 ходного слова командной информации равен 011, блок 17 вырабатывает сигнал прерывания по критической длине выходного слова. "Лог. 1" с выхода

55 блока 17, поступая на вход элемента 71 задержки блока 15, вызывает появление "Лог. 1" на выходе этого элемента, которая, воздействуя на инверсные входы элементов И 72 и 73 блока 15, запрещает прохождение сигналов через эти элементы и, воздействуя на прямые входы элемента И 74 блока 15 и элемента И 86 блока 16, разрешает прохождение сигналов через эти элементы.

Поскольку микрокоманда третьего шага распаковки первого элемента машинного ЯВУ является последней в микропрограммном модуле распаковки данного элемента, она содержит

"Лог. 1" в поле BE. "Лог. 1" поступая с выхода 50 ЗУ 84 микропрограмм блока 16 на инверсный вход элемента

И 76.и вход разрешения одновибратора 77 блока 16, запрещает прохождение сигнала через элемент И 76 и разрешает формирование импульса одновибратором 77 блока 16.

Импульс, пришедший на вход 29 устройства, пройдя через открытый элемент И 86 блока 16 и элемент ИЛИ

85 блока 16 на выход 54 устройства, передним фронтом записывает выходное слово командной информации третьего шага распаковки первого элемента машинного ЯВУ в выходной регистр 19 и сигнализирует о наличии этого слова в выходном регистре !9.

Этот же импульс передним фронтом записывает бледующее входное слово командной информации, сформированное йа входе 24 командной информации устройства, в входной регистр 1 уст. ройства и переписывает содержимое его в входной регистр 2. Этот же импульс, пройдя, через открытый элемент И 74 блока 15 на входы установки "0" триггеров 65, 67 и 69 блока 13 обноляет эти триггеры.

Этот же импульс, поступая с вь1хода элемента ИЛИ 85 на вход формирования одновибратора 77 блока 16, вызывает по заднему фронту появление импульса на выходе одновибратора 77 блока 16. Импульс с выхода этого одновибратора поступает на вход установки "0" счетчика 79 смещения блока 16, обноляя этот счетчик, и положительным фронтом записывает в ре- гистр 78 базы блока 16 содержимое байта 3 входного регистра 1, посту2l

1 l 96865

10

Контрольный код, записываемый в регистр 92 контрольного кода блока

18 на первом этапе распаковки каждого программного модуля машинного ЯВУ и поступающий с выхода этого регистра на вход А схемы 93 сравнения в те-З5 чение всего процесса распаковки данного программного модуля, сравнивается схемой 93 сравнения с кодом микрокоманды каждого шага распаковки данного программного модуля машинного

ЯВУ, содержится также во всех ячейках блока 84, не содержащих микрокоманд микропрограммы распаковки данного программного модуля.

Любые сбои предлагаемого устройст45 ва приводят в конечном счете либо к появлению в регистре 78 базы блока 16 кода, отлично от кода первого байта дескрептора элемента распаковываемого на данном шаге, либо к превышению содержимым счетчика 79 смещения блока 16 при распаковке К-ro элемента величины (М„ - 1), где М количество микрокоманд микропрограммного модуля распаковки К-ro элемента. В обоих случаях (в первом с вероятностью того, что ошибочное содержимое регистра 78 базы блока 16 не пившее к этому времени на информационный вход регистра 78 базы блока 16 через мультиплексор 11, управляемый нолевым кодом с выходов триггеров

65, 67 и 69 блока 15.

Байт 3 входного регистра 1 в данном случае содержит первый байт дескриптора второго элемента машинного

ЯВУ. Вместе с нолевым содержимым счетчика 79 смещения блока 16 этот байт, поступая на адресный вход блока 84, вызывает появление на выходе. этого блока микрокоманды первого шага распаковки второго элемента машин- 15 ного ЯВУ. Кроме того, импульс с выхода одновибратора 77 блока 16, поступая с выхода 48 устройства, сигнализирует о том, что следующее выходное слово командной информации будет первым выходным словом командной ин- формации следующего элемента машинного ЯВУ..

При переходе на другой програм.мный модуль того же ЯВУ на первом этапе производится только лишь замена контрольного кода. Блок 18 осуществляет контроль за работой устройства. совпадает с кодом первого байта ни одного из элементов базового набора данного машинного ЯВУ, а во втором — с вероятностью, равной единице) формируется обращение к ячейке блока 84, не принадлежащей ни одному из программных модулей распаковки элементов базового набора машинного

ЯВУ.

Таким образом, в отсутствие сбоя схема 93 сравнения сравнивает микрокоманды микропрограммы распаковки с контрольным кодом, не совпадающим ни с одной из них, и на выходе 26устройства имеет место "Лог. 0". В случае же, когда при наличии сбоя имеет место обращение к ячейке блока 84, не содержащей микрокоманды распаковки, схема 93 сравнения блока 18, сравнивая содержимое этой ячейки (совпадающее с контрольным кодом) и контрольный код, формирует "Jlor. 1" на выходе 26 устройства. "Лог. 0" на выходе

26 устройства свидетельствует об отсутствии, а "Лог. 1" — о наличии сбоя при распаковке команд машинного ЯВУ.

Все это относится к распаковке устройством последовательности команд машинного ЯВУ, .соответствующей линейному участку программы.

При появлении в последовательности команд машинного ЯВУ, распаковываемых устройством, команды, нарушающей линейность выполнения программы формируется метка команды машинного

ЯВУ, которой. передается управление.

На вход 31 поступает базовый адрес первого шага распаковки. Командная информация, адрес которой указан в метке, поступает на вход 24 команд устройства.

Наряду с этим формируется "Лог. 1" на входе 32 разрешения загрузки базового адреса устройства, -которая, воздействуя на инверсный вход элемента И 74 блока 15, запрещает прохождение сигнала через этот элемент, а воздействуя на вход элемента "ИСКЛЮЧАЮЩЕЕ ИЛИ" 75 блока 15, переводит этот элемент в режим инвертора, и, воздействуя на управляющие входы коммутаторов 66, 68 и 70 блока 15, запрещает прохождение через эти элементы сигналов с выхода полусумматора 61 блока 15 на входы триггеров

65, 67.и 69 блока 15, разрешая поступление на входы этих триггеров

1196865

24 сигналов с входа 31 базового адреса .устройства (базового адреса предстоящего шага распаковки) через коммутаторы 66, 68 и 70 блока 15.

После этого формируется импульс на входе 31 начальной установки устройства, обноляющий регистры и счетчики устройства и устанавливающий триггер 90 блока 17 в состояние

"Лог. 1". Тем самым на выходе блока 84 инициируется микрокоманда начального ввода командной информации.

Затем формируются импульсы одновременно на 29 и 30 входах устройст ва. Действия, производимые импульсом на входе 29 устройства, аналогичны действиям этого импульса на втором . этапе распаковки, за исключением того обстоятельства, что теперь этот импульс не обноляет триггеров 65, 67 и 69 блока 15, так как не проходит через открытый элемент И 74 блока 15 на входы установки "0" этих триггеров. Импульс на входе 30 устройства, пройдя через открытый "Лог, 0" по инверсному входу элемент И 73 бло5 ка 15 на входы синхронизации тригге ров 65, 67 и 69 блока 15, записывает в эти тригеры базовый адрес шага распаковки с входной шины 31 базового адреса устройства. "Лог. 0" пос1р тупает на инверсный вход элемента И

73 блока 15 с выхода элемента "ИСКЛЮЧАЮЩЕЕ ИЛИ" 75 блока 15, который инвертирует "Лог. 1" с выхода элемента 7 1 задержки блока 15, порожден1 ную "Лог. 1" на выходе триггера 90 блока 17.

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

1196865 юг. 2

1196865

3056 ГУ

1196865

Составитель М. Силин

Техред Л.Мратяшова Корректор М. Максимишннец

Редактор И. Дербак

Филиал IIIIII "Патент", г. Ужгород, ул. Проектная, 4

Заказ 7564/47 Тираж 709 Подписное

ВНИИПИ Государственного комитета СССР по делам изобретений и открытий

113035, Москва, Ж-35, Раушская наб., д. 4/5

Устройство для распаковки команд Устройство для распаковки команд Устройство для распаковки команд Устройство для распаковки команд Устройство для распаковки команд Устройство для распаковки команд Устройство для распаковки команд Устройство для распаковки команд Устройство для распаковки команд Устройство для распаковки команд Устройство для распаковки команд Устройство для распаковки команд Устройство для распаковки команд Устройство для распаковки команд Устройство для распаковки команд Устройство для распаковки команд Устройство для распаковки команд 

 

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

Изобретение относится к устройствам программного управления и предназначено для использования в составе автоматизированных систем управления и регулирования с использованием ЭВМ вышестоящего уровня

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

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

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

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

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

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

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

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