SU1196865A1 - Устройство дл распаковки команд - Google Patents
Устройство дл распаковки команд Download PDFInfo
- Publication number
- SU1196865A1 SU1196865A1 SU843759724A SU3759724A SU1196865A1 SU 1196865 A1 SU1196865 A1 SU 1196865A1 SU 843759724 A SU843759724 A SU 843759724A SU 3759724 A SU3759724 A SU 3759724A SU 1196865 A1 SU1196865 A1 SU 1196865A1
- Authority
- SU
- USSR - Soviet Union
- Prior art keywords
- input
- output
- block
- register
- inputs
- Prior art date
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
1. УСТРОЙСТВО ДЛЯ РАСПАКОВКИ КОЙАНД, содержащее первый входной регистр , выходной регистр, три мультиплексора , блок прерывани и блок уп равлени , причем, блок управлени содержит два элемента И и элемент ИЛИ, первый, второй и третий выходы первого входного регистра подключены соответственно к первьм, вторым и третьим информационным входам первого, вто- / рого и третьего мультиплексоров, информационный вход первого входного регистра подключен к входу кода команд устройства, выход кода команд устройства подключен к выходу выходного регистра, первый, второй и третий информационные входы которого подключены соответственно к выходам мультиплексоров с первого по третий, блок прерывани содержит триггер и два элемента ИЛИ, причем выход триггера блока прерывани подключен к первому входу первого элементна ИЛИ блока прерывани , выход которого подключен к выходу требовани прерывани устройства, отличающеес тем, что, с целью расширени области применени за счет распаковки команд машинного зыка высокого уровн , имейщих переменный формат и способ кодировани , в него введены четвертый мультиплексор, второй входной регистр, блок контрол , блок формировани адреса, а блок управлени дополнительно содержит блок пам ти, регистр базы, счетчик смещени , одновибратор и коммутатор, а в блок прерывани дополнительно введены два элемента И, причем с первого по третий информационные входы четвертого мультиплексора и выход четвертого мультиплексора подключены i к выходам первого входного регистра .соответственно с первого по третий (Л и к четвертому информационному входу выходного регистра, выход первого входного регистра подключен к информационному входу второго выходного регистра, блок контрол содержит регистр контрольного кода и схему сравнени , причем информационный вход, со 0) вход установки в О/ синхровход и выход регистра контрольного кода под00 Од ключены соответственно к входу контрольного кода устройства, входу ел начальной установки устройства, третьему синхровходу устройства и к первому входу схемы сравнени , второй вход и выход которой подключены соответственно к выходу блока пам ти и к выходу признака ошибки устройства, первый синхровход устройства подключен к синхровходам первого и.второго входных регистров, входы установки в О которых подключены к входу начальной установки устройства, первый и.второй синхровходы блока формировани адреса под
Description
ключены соответственно к первому и второму синхровходам устройства, вход базового адреса устройства подключен к входу базового адреса блока формировани адреса, вход разрешени загрузки базового адреса которого подключен к входу разрешени загрузки базового адреса устройства выходы блоки пам ти с первого по . четвертый подключены соответственно к информационным входам блока формировани адреса с первого по четвертый , вход признака адреса последнего байта, выход признака адреса последнего байта входной информации и выход, признака адреса последнего байта которого подключены соответственно к выходу второго элемента ИЛИ блока прерывани , первому входу первого элемента И блока прерывани и к первому входу первого элемента И бло ка управлени , выходы с первого по четвертый второго входного регистра подключены к информационным входам соответственно с четвертог.о по седьмой первого, второго и четвертого мультиплексоров, восьмой информационный вход которых подключен к четвертому выходу первого входного регистра, управл ющие входы мультиплексоров с первого по четвертый подключены к информационным выходам блока формировани адреса соответственно с первого по четвертый, выходы разр дов с первого по третий третьего информационного выхода блока формировани адреса подключены к входам второго элемента И блока прерываний выход которого подключен к первому входу второго элемента ИЛИ блока прерываний, второй вход которого под ключен к выходу триггера блока прерываний , входы установки в 1 и установки в О которого подключены соответственно к входу начальной установки устройства и к первому синхровходу устройства,, первый вход второго элемента И. блока прерываний подключен к второму входу первого элемента И блока прерываний, выход которого подключен к второму входу первого элемента ИЛИ блока прерывани - , трети й вход которого подключен к выходу второго элемента И блока прерываний, вход начальной установки выходного регистра подключен к входу начальной установки устройства , входы начальной установки выходов с первого по четвертый выходног6 регистра подключены к выходам блока пам ти соответственно с п того по восьмой, синхровход выходного per гистра подключен к первому выходу признака фор1мировани кода команды устройства и к выходу первого элбмента ИЛИ блока управлени , первый и второй входы которого.подключены соответственно к второму синхровходу устройства и к- выходу первого элемента И блока управлени , второй вход которого подключен к первому синхровходу устройства, выход первого элемента И блока управлени подключен к первому входу второго элемента И блока управлени и к входу запуска одновибратора, вход разрешени запуска и выход которого подключены соответственно к дев тому выходу блока пам ти и к синхровходу регистра базы, информационный вход и вход установки в О которого подключены соответственно к выходу четвертого мультиплексора и к входу начальной установки устройства, первый и второй входы установки в О счетчика смещени подключены соответственно к входу начальной установки устройства и к выходу одновибратора, дев -. тый выход блока пам ти подключен к инверсному входу второго элемента И блока управлени , выход которого: подключен к счетному входу счетчика смещени , выход одновибратора подключен к второму вьпсоду признака формировани кода команды устройства, выход регистра базы и выход счетчика смещени подключены к первым информационным входам коммутатора, вторые информационные входы которого подключены к.первому и второму адресным входам устройства, управл ющий вход . и выход коммутатора подключены соответственно к входу разрешени загрузки микропрограмм устройства и к адресному входу блока пам ти, информационный вход и вход записи-считывани которого подключены соответственно к входу микрокоманд устройства и к управл ющему входу коммутатора. 2. Устройство по п. 1, о т л и чающеес тем, что блок формировани адреса содержит четьфе полусумматора, три триггера, три коммутатора, три элемента И, элемент задержки и элемент ИСКЛЮЧАНЩЕЕ ИЛИ , причем первые информационные входы полусумматоров с первого по четвертый подключены к информационным входам блока соответственно с первого по четвертый, входы разр дов с первого по третий вторых информационных входов первого, второго,.третьего и четвертого полусумматоров,подключены к выходам триггеров соответственно с первого по третий, информационные входы которых подключены к выходам коммутаторов соответственно с первого по третий, вход установки в 1 первого триггера подключен к выходу первого элемента И, первый вход которого подключен к первому синхровходу блока и к первому входу второго элемента И, второй и третий входы которого подключены соответственно к выходу признака адреса последнего байта блока и к входу разрешени загрузки базового адреса блока и вькод третьего элемента И подключен к синхровходам .триггеров с первого по третий, входы установки в О которых подключены к выходу второго элемента И второй вход которого подключен к первому входу элемента ИСКЛЮЧАЮЩЕЕ ИЛИ, второй вход и выход которого подключены соответственно к входу
разрешени загрузки базового адреса блока и к первому входу третьего элемента И, второй вход которого подключен к второму синкровходу блока, вход признака адреса последнего байта блока через .элемент задержки подключен к вторьм входам первого и второго элементов И, вход.загрузки базового адреса подключен к первым информационным входам коммутаторов с первого по третий, выходы разр дов с первого по третий четвертого полусумматора подключены к вторым информационным входам коммутаторов соответственно с первого по третий, вторые входы которых подключены к входам разр дов соответственно с первого по третий базового адреса
блока, выход первого триггера блока подключен к выходу признака адреса последнего байта входной информации блока, выходы полусумматоров с первого по третий подключены соответственно к информационным выходам блока с первого по третий, вьпсоды разр дов с первого по третий четвертого информационного выхода блока подключены к выходам триггеров блока со .ответственно с первого по третий.
1
Изобретение относитс к вычислительной технике и может найти применение в ЭВМ, структура команд которых однозначно соответствует струк- . туре инструкций зыков высокого уровн (ЯВУ), т.е. в ЭВМ с машинными ЯВУ.
Цель изобретени - расширение области применени устройства за счет введени в его состав средств, позвол ющих распаковывать команды, машинного ЯВУ, обеспечивак цих адаптацию устройства к изменению способов кодировани команд без изменени его структуры и повышакщих надежность устройств..
На фиг. 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, второй 21, третий 22 и четвертый 23 выходы (байты) выходного
регистр-а 19, вход 24 и выход 25 команд устройства, выход 26 признака ошибки устройства, выход 27 требова ни прерывани устройства, вход 28 контрольного кода устройства, первый 29 и второй 30 синхровходы устройства , вход 31 базового адреса устройства, вход 32 разрешени загр ки базового адреса устройства, третий синхровход 33 устройства, вход 34 начальной установки устройства/ первый 35, второй 36, третий 37, четвертый 38, п тый 39, шестой 40, седьмой 41 и восьмой 42 выходы блока 16 управлени , четвертый 43, тре тий 44, второй 45, первый 46 и п тый 47 выходы блока 15 формировани адреса, первый выход 48 признака формировани кода команды устройства , первый адресный вход 49 устройс ва, дев тый выход 30 блока 16 управ лени , второй адресный вход 51 устройства , вход 52 микрокоманд устрой ства, вход 53 разрешени загрузки микропрограмм устройства, второй вы ход 54 признака формировани кода команды устройства, второй выход 55 блока 17 прерываний, шестой выход 56 блока 15 формировани адреса, выходы 57-60 первого 11, второго 12, третьего 13 и четвертого 1,4 мультип лексоров соответственно. Блок 15 формировани адреса . (фиг. 2) содержит четвертый 61, тре тий 62, второй 63 и первый 64 сумматоры , первый триггер 65, первый коммутатор 66, второй триггер 67, В1орой коммутатор 68, третий тригге 69,третий коммутатор 70,злемент71 за держки,, пер вый 72,второй и третий 73,7 элементы И и элемент ИСКЛЮЧАКЩЕЕ ИЛИ 75. Блок 16 управлени (фиг. 3) содержит первый элемент И 76, одновиб ратор 77, регистр 78 базы, счетчик 79 смещени , коммутатор 80, первый 81 и вторые 82 информационные входы и выход 83 коммутатора, блок 84 пам ти, элемент ИЛИ 85 и второй элемент И 86. Блок 17 прерываний (фиг. 4) содержит первый 87 и второй 88 элементы первый элемент ИЛИ 89, триггер 90 и второй элемент ИЛИ 91. Блок 18 контрол (фиг. 5) содержит регистр 92 контрольного когда , схему 93 сравнени , вход 94 и йыход 95 регистра контрольного кода Формат микрокоманды устройства фиг. 6) описываетс трем пол ми R , Р и BE, причем пол R и Р состо т соответственно из подполей RI . Rg 4 1 Pi , РЗ . Выходной регистр (фиг. 7) содержит первый 96, второй 97, третий 98, и четвертый 99 регистры, первый 100, второй 101, третий 102 и четвертый 103 элементы РИГИ.. Распаковываемый ЯВУ должен удовлетвор ть следующим требовани м: команды ЯВУ должны представл ть собой комбинации элементов некоторого базового .набора, структура элемента . должна иметь вид дескриптор-символ, т.е. дескриптор должен предшествовать описываемому им символу, длины дескрипторов и символов базового набора элементов машинного ЯВУ должны быть кратны длине группы. Кроме того, количество элементов в базовом наборе не должно превьш1ать величину 2 , где М - количество битов группы , а первые группы дескрипторов базового набора должны быть попарно различны. Если группа соответствует байту,то в процессе выполнени устройством своих функций по распаковке команд машинного ЯВУ выдел ют: загрузка микрокомандыраспакрвки и контрольного кода (первый этапХ исходный ввод командной информации (второй этап) и распаковка команд машинного ЯВУ (третий этап). Устройство работает следующим образом. На первом, втором этапах распаковки и части третьего этапа, св занной с распаковкой линейных участков программ машинного ЯВУ на входе 32 разрешени загрузки базового адреса устройства присутствует Лог.О, который . Воздейству на. инверсный вход элемента И 74 блока 15 (фиг. 2), разрешает прохождение сигнала через этот элемент. Лог.О, воздейству на второй вход элемента ИСКЛЮЧАЮЩЕЕ ИЛИ 75 блока 15, обеспечивает пр мую передачу сигнала с первого входа этого элемента на его вькод, фактически подключа выход элемента 71 задержки блока 15 к инверсному входу элемента И 73 блока 16. Кроме того, Лог.О, воздейству на управл ющие входы коммутаторов 66, 68 и 70 блока 16, запрещает прохождение сигнала с входа 31 устройства на информационные входы триггеров
65, 67 и 69 блока 15 и, в свою очередь , разрешает прохождение сигналов с первого, второго и третьего вьпсодов полусумматора 6Г блока 15 через коммутаторы 66, 68 и 70 блока 15 на информационные входы триггеров 65, 67 и 69 блока 15 соответственноНа первом этапе в исходном состо нии входные 1 и 2 и выходной 19 ре- ю гистры устройства (фиг. 1), регистр 78 и счетчик 79 смещени блока 16 (фиг. 3), регистр 92 контрольного кода блока 18 (фиг. 5) устанавливаютс в ноль импульсом, формируемым is на входе 34 начальной установки устройства . Этим же импульсом триггер 90 блока 17 (фиг. 4) устанавливаетс в состо ние Лог.1. После этого подаетс сигнал Лог.1 на вход 53 20 разрешени загрузки микропрограмм устройства. Этот сигнал воздействует на вход разрешени записи (фиг. 3) блока 84, иницииру в последнем режим записи информации, и подключает 25 к адресному входу блока 84 сигналы с входов 49 и 51 устройства.
После .этого начинаетс запись в блок 84 микропрограммы распаковки зо команд конкретного машинного ЯВУ из множества используемых совместно с устройством машинных ЯВУ. Микрокоманды этой микропрограммы поступают
на вход 52 микрокоманд устройства, с нега на информационный вход блока 84 и записываютс по адресам, поступающим по входам 49 и 51 устройства через коммутатор 80 на адресньй вход блока 84. Микропрограмма распаковки .. хранитс в блоке 84 в течение всего времени, пока устройство рсуществл ет распаковку команд данного конкретного машинного ЯВУ. При переходе на другой машинный ЯВУ в блок 84 записы- . ваетс микропрограмма распаковки, соответствующа новому машинному ЯВУ. Каждому из используемых совместно, с устройством машинных ЯВУ соответствует сво микропрограмма распаковки, ко-тора управл ет процессом распаковки машинного ЯВУ и состоит из микропрограмм .
Формат микрокоманд (фиг. 6) преду матривает три пол R , Р и BE. Поле R микрокоманды управл9еткак4ор- f мированием блоком 15 пол адресов байтов информации входных 1 и 2 регистров, подлежащих передаче в выходной
регистр .19, так и динамической сменой этого пол в процессе распаковки команд мащинного ЯВУ. Поле Р микрокоманды управл ет записью этих байтов информации в выходной регистр 13. Поле BE микрокоманды содержит информацию вл етс ли данна микрокоманда последней при распаковке некоторого элемента машинного ЯВУ или нет.
Структурно микропрограмма распаковки состоит из микрокоманды начального ввода информации и микропрограммных модулей расп-аковки элементов машинного ЯВУ. Микрокоманда начального ввода информации вл етс первой в микрокоманде распаковки и обеспечивает ввод первого входного слова командой информации дл некоторого программного модул данного машинного ЯВУ во входной регистр 1. Эта микрокоманда размещаетс в чейке блока 84 с нолевым адресом.
Микропрограммные модули распаковки элементов машинного ЯВУ содержат микрокоманды, управл ющие распаковкой этих элементов, причем между элементами базового набора машинного ЯВУ и соответствующими ему микропрограммными модул ми распаковки, имеет место взаимно однозначное соответствие. Микрокоманды модулей распаковки размещаютс в последовательных чейках ЗУ 84 микропрограмм блока 16, причем первые микрокоманды размещаютс в чейках, старшие разр ды адресов которых совпадают с первыми байтами дескрипторов элементов базового набора, соответствукщих данным модул м распаковки. Последние микрокоманды модулей распаковки содержат указание на окончание распаковки соответствующих элементов машинного ЯВУ - Лог. 1 в поле BE микрокоманды. Причем микрокоманды , не вл ющиес последними в модул х распаковки, содержат Лог. О в поле BE.
Ячейки блока 84, не зан тые ни микрокомандой начального ввода, ни микропрограммными модул ми распаковки элементов машинного ЯВУ,.загружаютс Контрольным кодом, не совпадающим ни с одной из использованных в микропрограмме микрокоманд,
Нар ду с вводом в блок 84 микропрограммы распаковки на вход 28 устройства устанавливаетс контрольный код. Последний записываетс в указанный регистр положительным фронтом импульса, формируемого на входе 33 устройства, соединенном с входом синхронизации регистра 92 контрольного кода блока 18.
Fla первом этапе (на входе 53 и выходе 2 7 устройства присутствуют Лог. 1) импульсы на входы 29 и 30 синхронизации устройства не поступают и состо ни входных 1 и 2 и выходного 19 регистров, триггеров 65, 67 и 69 блока 15, регистра 78 базы, :Счетчиков 79 смещени блока 16 и триггера 90 блока 17 остаютс неизменными .
Первый этап работы устройства на этом заканчиваетс .
На втором этапе работы устройства на вход 53 разрешени загрузки микропрограмм устройства приходит Лог. О который, воздейству на управл ющий вход коммутатора 80,отключает входы 49 и 51 устройства от адресного входа блока 84 и подключает к этому входу выходы регистра 78 базы и счетчика 79 смещени блока 16 Лог. О на входе 53 устройства .инициирует в блоке 84 режим считывани , воздейству на вход разрешени записи блока 84. Лог. О, поступа с выходов регистра 78 базы и счетчика 79 смещени на адресный вход блока 84, вызвает по вление на выходе этого блока микрокоманды начального ввода информации.
Микрокоманда содержит нолевые пол R и Р и Лог. 1 в поле BE. Нолевые сигналы пол R микрокоманды, воздейству на входы полусумматоров 61-64 блока 15, привод т к по влению на их выходах кода, совпадающего с значением кода, наход щегос в триггерах 65, 67 и 69 блока 15. Нолевые сигналы пол Р микрокоманды, воздейству на входы начальной установки (входы 42-39) байтов выходного регистра 19, запрещают запись в него информации. Лог. 1 пол BE микрокоманды , поступа с. выхода 50 блока 84 на инверсный вход элемента И 76 и вход разрешени (вход Р, фиг. 3) одновибратора 77 блока 16, запрещает прохождение сигнала через элемент И 76 и разрешает формирование выходного импульса одновибратора 77 блока 16.
Лог. 1, записанна в триггер 90 блока 17 на первом этапе, поступив на входы элементов ИЛИ 89 и 91 блока 17 (фиг. 4), вызывает по вление Лог. 1 на их выходах. Лог. Г с выхода элемента ИЛИ 91 поступает с выхода 55 блока 17 на вход элемента 71 задержки блока 15 и с его выхода передаетс на инверсные входы элементов И 72 и 73 блока 15, запреща прохождение через них сигнала, и на пр мой вход элемента И 74 блока 15, разреша прохождение сигнала
5 через этот элемент (фиг. 2).
С выхода элемента 71 задержки блока 51 Лог. 1 поступает также на выход 56 блока 15, откуда она передаг етс на вход элемента И 86 и блока 16,
0 разреша прохождение сигнала через этот элемент. Лог. 1 с выхода элемента-ИЛИ 89 блока 17 поступает на выход 27 устройства и сообщает о готовности устройства к записи в входной регистр 1 первого входного слова командной информации (на входе 53 устройства Лог. О, а на выходе 27 устройства Лог. 1). В ответ на это на вход 24 команд устройства
0 поступает первое входное слово командной информации (первые четыре байта первой команды выполн емого программного модул на машинном ЯВУ), после чего на вход 29 устройства
поступает импульс.
Импульс, пройд через элемент ИЛИ 85 блока 16, передним фронтом записывает Лог. О с выходов мультиплексоров 11-14 в вьпсодной регистр 19, первое входное слово командной информации в входной регистр 1, Лог. О с выходов выходного регистра 1 в входной регистр 2. Пройд через открытый элемент И 74 блока 15, импульс обнол ет триггеры 65, 67 и 69 блока 15 и, пройд через открытый элемент И 86 и элемент ИЛИ 85 блока 16 на вход запуска одновибратора 77 блока 16, инициирует по заднему фронту импульс на выходе одновибратора 77 блока 16.
Импульс с выхода одновибратора 77 блока 16 поступает на вход начальной установки счетчика 79 смещени блока 16 и удерживает его в О. Кроме того, импульс с выхода оДновибратора 77 блока 16 передним фронтом записывает в регистр 78 базы блока 16 первый байт первого входного словс командной информации, поступивший на информационный вход, регистра 78 базы блока 16 с выхода 3 входного регистра 1 через канал мультиплексо ра 1 1 , определ емый управл ющим кодом 000, поступающим на адресные входы мультиплексора 11 с выходов тригг.еров 65, 67 и. 69 блока 15. . Импульс на входе 29 устройства поступает на вход установки О триггера 90 блока 17 и сбрасывает этот триггер в О. Импульс,сформированный на выходе одновибратора 77 блока 16, поступает на выход 48 устройства и сигнализирует о том, что первое выходное слово командной информации, по вившеес после него в выходном регистре 19, будет первым выходным словом первого элемента машинного ЯВУ первой команды вы:полн емого программного модул . По вление Лог. О на выходе триггера 90 блока 17 вызывает по вление . О на выходах элементов ИЛИ 89 и 91 блока 17 и, следовательно, Лог. О на выходе 55 блока 17 и выходе 27 прерываний устройства (фиг. 4). Лог. О с выхода 55 блока 17 через элемент 71 задержки блока 15 (фиг. 2) поступает на инверсные входы элементов И 72 и 73 блока 15, разреша прохождение через них сигнала, и поступает на пр мой вход элемента И 74 блока 15 и элемента И 86 блока 16 (фиг. 3), разреша прохождение сигнала через эти элементы. Второй этап работы устройства на этом заканчиваетс . Третий этап работы устройства рассматривают на примере распаковки элемента базового набора некоторого машинного ЯВУ, состо щего из двухбайтового дескриптора и шестибайтов го символа. Входные регистры 1 и 2 соединены между собой так, что М-е входное слово командной информации, выполн мого объектного модул машинного ЯВ поступающее по входу 24 команд устройства на вход входного регистра записываетс в этот регистр положительным фронтом М-го импульса, приход щего из внешней среды на вход 2 устройства. Положительным фронтом этого же импульса предьщущее (М-1)входное слово командной нГнформации i переписываетс из входного регистра 1 в входной регистр 2, т.е.входные регистры 1 и 2 образуют регистр длины в два слова (входной буфер), хран щий динамически смен ющие один другого в процессе распаковки восьмибайтовые фрагменты команд машинного ЯВУ. Входной буфер вл етс , адресуемым. Адреса байтов 3-10 входных регистров 1 и 2 (буферные адреса) соответственно равны 000, 001, 010, 011, 100, 101, 110 и 111. Мультиплексоры 11-14, имеющие ширину канала равную байту, передают содержимое байтов входного буфера, буферные адреса которьгх совпадают с сигналами на адресных входах- мультиплексоров, соответственно на информационные входы байтов 2023 вькодного регистра 19. На каждом шаге распаковки, под которым понимаетс формирование очередного выходного слова командной информации в выходном регистре 19, блок 15 формирует под управлением микрокоманды данного шага распаковки поле из четырех буферных адресов, которые поступают с выходов 43-46 блока Ч 5 соответственно на адресные входы мультиплексоров 14-11. Под управлением этого пол буферных адресов мультиплексоры 11-14 передают требуемые на данном шаге распаковки четыре байта командной информации из входного буфера на информационные входы выходного регистра 19, Каждому элементу базового набора машинного ЯВУ ставитс в соответствие алгоритм распаковки, реализуемый микропрограммным модулем распаковки этого элемента, вход щим в состав микропрограммы распаковки команд данного ЯВУ. Алгоритм распаковки некоторого элемента машинного ЯВУ определ ет последовательность шагов распаковки, а также состав байтов данного элемента , передаваемых на каждом шаге распаковки из входного буфера в выходной регистр 19, и расположение этих байтов в вькодном регистре 19. Алгоритм распаковки любого элемента машинного ЯВУ измен ют путем внесени соответствующих изменений в микропрограммный модуль его распаковки . Алгоритмы распаковки заключаютс в том, что вначале распаковываютс
дескрипторы, так что их байты, начи на с первого, размещаютс группами по четыре соответственно в байтах 20-23 выходного регистра 19 на каждом шаге распаковки дескриптора. Если на последнем шаге распаковки дескриптора количество его оставшихс байтов меньше четырех, то эти байты размещаютс в выходном регистре 19 последовательно начина с байта 20, причем оставшиес свободными правые байты этого регистра устанавливаютс в О. После распаковки дескриптора аналогичным образом распаковываетс символ.
Первьй байт первого входного слова командной информации, записанный на втором этапе распаковки в регистр 78 базы блока 16 (фиг. 3), вл етс первым байтом дескриптора первого элемента вьтолн емого программного модул машинного ЯВУ. Этот байт совместно с нолевым содержимым счетчика 79 смещени блока 16 определ ет адрес в ЗУ 84 микропрограмм блока 16 первой микрокоманды микропрограммного модул распаковки данного элемента машинного .ЯВУ. Сигналы с выходов регистра 78 базы и счетчика 79 смещени блока 16 поступают через коммутатор 80 на адресный вход блока 84, вызыва по вление на выходе этого ЗУ указанной микрокоманды, под управлением которой осуществл етс первый шаг распаковки данного элемента .
Сигналы пол R этой микрокоманды , воздейству на блок 15, управл ют формированием буферных адресов байтов, передаваемых на первом шаге распаковки данного элемента машинного ЯВУ в выходной регистр 19. После R микрокоманды устройства состоит из четьфех подполей R , Ra , R и R 4 (фиг. 6), сигналы которых поступают соответственно с выходов 35, 38, 37 и 36 ЗУ 84 микрокоманд блока 16(фиг. 3) на входы полусумматоров 61, 64, 63 и 62 блока 15 (фиг. 2).
Сущность используемой в предлагаемом устройстве системы адресации байтов входного буфера заключаетс в следук цем.
Буферный адрес байта,, помещаемого на данном шаге распаковки в байт 20 выходного регистра 19 (базовый буферный адрес), содержитс в триггерах 65, 67 и 69 блока 15 (фиг. 2) и поступает с выхода 46 блока 15 на адресный вход мультиплексора 11. Буферные адреса байтов, поступающих на каждом-шаге распаковки с выходов мультиплексоров 12-14 соответственно на информационные входы байтов 21-23
выходного регистра 19, формируютс соответственно полусумматорами 64-62 путем сложени базового буферного адреса соответственно с содержимыми подполей Ег , Ra , и R 4„микрокоманды данного шага распаковки (относительные буферные адреса).
Базовый буферный адрес следующего шага распаковки, формируемый полусуматором 61 блока. 15 путем сложени
базового буферного адреса данного ага распаковки с содержимым подпол R/ микрокоманды данного шага распаковки , поступает с выхода полусумматора 61 блока 15 на информационные
входы (фиг. 2) триггеров 65, 67 и 69 блока 15. Если на данном шаге распаковки командна информаци из входного буфера поступает во все четые байта 20-23 выходного регистра 19,
то содержимые подполей R , R , Rj и R4 микрокоманды данного шага расаковки соответственно равны 100, 01, 010. и 011.
Если на данном шаге распаковки командна информаци помещаетс в три байта 20-22 выходного регистра 19, то содержимые подполей R , R , RJ и R 4;} данного шага распавки со-, ответственно равны 011, 001, 010 и 010. Если на данном шаге распаковки командна информаци помещаетс в два байта 20 и 21 выходного регистра 19 j то содержимые подп.олей RI ,Ra , R3 и R 4 микрокоманды данного шага расцаковки соответственно равны 010, 001, 001 и 001. Если же на данном шаге распаковки командна информаци помещаетс только в байт 20 выходного регистра 19, то содержимые подполей Rf , Ri , R,3 и R 4 микрокоманды данного шага распаковки соответственно равны 001, 000, 000 и 000.
Таким образо.м, на выходе полусумматора 62 блока 15 ,на каждом шаге распаковки присутствует буферный адрес байта, помещаемого в байт выходного регистра 19 с самым большим номером (нумераци на фиг.1). Байты выХОДНОГО регистра 19, в которые не п редаетс командна информаци из ка дого буфера на данном шаге распаков ки, обнол ютс на этом шаге распако ки. Перва микрокоманда микропрограм много модул распаковки первого из трех рассматриваемых на третьем эта пе распаковки элементов машинного ЯВУ, содержащего двухбайтовьй дескриптор , содержит коды 001, 001, 001 и 010 соответственно в пол х Ra , Кэ , Rl и R. Таким образом, мультиплексор 11, управл емый нолевым кодом с выхода регистров 65, 67 и 69 блока 15, передает содержимое байта 3 (первого байта дескриптора) входного буфера на информационный вход байта 20 выходного регистра 19, Мультиплексоры 12-14, управл емые кодом 000+ 001 001 с выхода полусумматоров 64-62 блока 15, передают содержимое байта 4 (второго байта дескрептора) на информационные входы байтов 2123 и выходного регистра 19, На информационных- входах триггеров 65, 67 и 69 блока 15 присутствует базовый буферный адрес следующего шага распаковки 000 + 010 010 с выходо полусумматора 61 блока 15, Поле Р микрокоманды устройства состоит из четырех подполей Pf , Рг РЗ и Р/) (фиг. 6), сигналы которых поступают с выходов 42-39 блока 16 соответственно на входы начальной установки байтов 20-23 вьпсодного регистра 19. Лог. О какого-либо и этих подполей разрешает запись инфор мации в соответствукхций байт выходного регистра 19, а Лог, 1 - обно л ет этот байт. На первом шаге расп ковки первого элемента машинного ЯВУ микрокоманда содержит код 001 в поле Р (соответственно в подпол х Р/ , Рг j РЗ и Р/) ), т.е. разрешаетс запись информации в байты 20 и 21. вы ходного регистра 19, а байты 22 и 23 этого регистра обнол ютс . Микрокоманда первого шага распаковки первого элемента машинного ЯВУ содержит Лог. О в поле BE, так как она не вл етс последней в микропрограммной моделе распаковки данного элемента. Лог. О, поступа с выхода 50 на вход разрешени одновибратора 17 и инверсный вход элемента И 76 блока 16, запрещает формирование выходного импульса одновибратором 77 и разрешает прохождение сигнала через элемент И 76 блока 16. На данном шаге распаковки вс командна информаци j необходима дл формировани выходного слова, находитс в входном буфере, запросна прерывание, отсутствует и на выходе 27 прерывани устройства имеет место Лог. О, который вл етс признаком возможности продолжать процесс распаковки. В ответ на этот сигнал на вход 30 устройства подаетс импульс. На входе 29 устройства импульс при этом отсутствует. Импульс, пришедший на вход 30 устройства, передним фронтом записывает первое выходное слово командной информации в выходной регистр 19, проход через элемент И.Т1И 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 в начале распаковки каждого элемента машинного ЯВУ и не мен етс в течение распаковки этого элемента машиннрго ЯВУ. Смещение мен етс в процессе выполнени шагов распаковки данного элемента машинного ЯВУ от О (перва микрокоманда микропрограммного модул распаковки данного элемента) до величины К, - 1 (последн микрокоманда микропрограммного модул ), где К - количество микрокоманд микропрограммного модул распаковки М - го элемента базового набора машинного ЯВУ и 1 .гС. М , Н, где Н - количество элементов базового набора данного машинного ЯВУ.
После выполнени первого шага распаковки первого элемента машинного ЯВУ счетчик 79 смещени блока 16 содержит код, соответствующий дес тичной единице, и на выходе блока 84 прису.тствует микрокоманда второго шага распаковки. Эта микрокоманда содержит коды 100, 001, 010 и 011 соответственно в пол х R , Кз ,Кз и R-I Лог. О в подпол х Р , Pi , РЗ и Р и Лог. О в поле БЕ, Данна микрокоманда согласно алгоритму распаковки определ ет передачу следующих за байтами дескриптора четырех байтов символа распаковываемог элемента машинного ЯВУ в выходной регистр 19 устройства из входного буфера. После выполнени первого шага распаковки, в результате которого используют первые два байта элемента (байты дескриптора из бай .тон 3 и 4 входного регистра 1), в входном буфере остаетс только два байта символа данного элемента машинного ЯВУ (байты 5 и 6 входного регистра 1), т.е. командной информации содержащейс в входном буфере, недостаточно дл продолжени процесса распаковки.
Дл отработки подобных ситуаций в предлагаемом устройстве предусмотрено прерывание распаковки по недостатку информации.
Сигнал прерывани по недостатку информации вырабатываетс блоком 17 (фиг. 4) на основании анализа пол буферных адресов, формируемых блоком 15 на каждом шаге распаковки. Устройство работает таким образом, что на каждом шаге распаковки в выходной регистр 19 передаетс некоторое количество (меньшее или равное четырем) последовательно размещенных байтов командной информации, образующих выходное слово командной информации , причем первый байт передаетс в байт 20 выходного регистра 19,
второй, если он есть на данном .шаге распаковки - в байт 21 выходного регистра 19, третий, если он есть, в б.айт 22 выходного регистра 19, четвертый, если он есть, - в байт 23 выходного регистра 19.
Входной буфер организован так, что последовательность его байтов 7-10 и 3-6, соответствующа последовательности буферных.адресов 100, 101, 110, 111, 000, 001, 010 и 011, Соответствует, некоторым восьми последовательно расположенным байтам командной информации, т.е. поле буферных адресов К байтов (К 4), помещаемых на данном шаге распаковки в выходной регистр 19, начина с буферного адреса первого байта данного выходного слова командной информации конча буферным адресом К-го байта этого слова, должно представл ть собой непрерывный К - адресный фрагмент описанной последовательности буферных адресов в случае, когда вс командна информаци , требуема дл формировани данн-ого выходного слова , находитс в вх.одном буфере.
В случае, когдав входном буфере находитс лишь часть требуемых на данном шаге распаковки байтов командной информации (X байтов в входном регистре 1, X N), буферные адреса оставшихс (N - Т)-байтов формируютс блоком 15 в входном регистре 2, т.е. правильна последовательность буферных адресов нарушаетс . Дл буферных адресов входного регистра .1 старший (левьш) разр д равен Лог.О а дл буферных адресов входного регистра 2 - Лог. 1.
Блок 15 анализирует старшие разр ды базового буферного адреса (буферный адрес первого байта выходного слова командной информации данного шага) и буферного адреса байта передаваемого в байт 23 выходного регистра 19 (буферный адрес последнего байта выходного слова командной информации данного шага) и в случае, когда старший разр д первого равен Лог. О, а старший разр д второго . 1, формирует сигнал прерывани по недостатку информации на данном шаге распаковки.
Поскольку на втором шаге распаковки первого элемента машинного ЯВУ триггеры 65, 67 и 69 блока 15 содержат соответственно код 010, то на выходах-полусумматоров 64, 63, 62 и 61 блока 15 имеют место соответствен но коды 011, 100, 101 и 110, т.е. буферные адреса первого (010) и последнего (101) байтов данного выходно го слова командной информации содер жат соответственно Лог. О и Лог.1 в старших разр дах. Сигналы этих разр дов, поступа соответственно с выходов 47 и A3 блока 15 на инверсный и пр мой входы элемента И 88 блока 17, вызывают по ление Лог. 1 на выходе этого логического элемента, котора (Поступа на вход элемента ИЛИ 89 блока 17, вы зывает по вление Лог. 1 на выходе элемента ИЛИ 89 блока 17 и соответст венно на выходе 27 прерывани устрой ства. На выходе 55 блока 17 при этом присутствует Лог. О. Сигнал прерывани по недостатку информации (Лог. 1 на-выходе 27 прерывани устройства и Лог. О на выходе 55 блока 17) сигнализирует о недостатке в .входном буфере команд ной информации дл продолжени процесса распаковки и вл етс запросом на .ввод следующего входного слова командной информации в входной буфер устройства. В ответ на формирование очередного импульса на входе 30 устройства формирует.с следующее слово командной информации на входе 24 командной информации устройства и фо мируетс импульс на входе 29 устройства . Передним фронтом этого же импульса предыдущее входное слово командной информации переписываетс из вхо ного регистра 1 в входной регистр 2. Этот же импульс, пройд через открытый Лог. О на инверсном входе элемент И 72 блока 15, поступает на вход установки Лог. 1 триггера 65 блока 15 и .устанавливает его в соето ние Лог. 1. Тем самым базовый буферный адрес данного шага распаковки получает приращение + 4 (т.е. становитс равным 110), что соответствует новому положению первого байта данного выходного слова командной информации , до этого находившегос в байте 5 входного регистра 1, в бай те 9 входного регистра 2. Буферные адреса данного шага распаковки, формируемые полусумматорами 64, 63, 62 и 61 блока 15, теперь соответственно равны 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 , Ra , ЕЗ и , Лог. О в подпол х Р/ и РТ: , Лог. 1 - в подпол х РЗ и Pfl и Лог. 1 - в поле БЕ. Микрокоманда согласно алгоритму распаковки определ ет передачу последних двух байтов первого элемента машинного ЯВУ, наход щихс в байтах 5 и 6, входного регистра 1 соответственно в байты 20 и 21 выходного регистра 19 устройства и обозначение байтов 22 и 23 выходного регистра 19 Поскольку в данном случае последний байт выходного слова командной информации (байт 6 входного регистра 1) вл етс последним из введенных в входной буфер из оперативной .пам ти ЭВМ байтов командной информации (имеет буферньй адрес 011), первьй байт следующего выходного слова командной информации отсутствует в входном буфере, буферный адрес этого байта на данном шаге распаковки не определен и базовый адрес следующего шага распаковки сформирован обычными дл предлагаемого устройства средствами , (суммированием базового адреса данного шага распаковки с содержимым подпол R микрокоманды быть не может ) . Дл обработки подобных ситуаций в предлагаемом устройстве предусмотрено прерывание процесса распаковки по критической длине выходного слова Сигнал прерывани по. критической длине выходного слова вырабатываетс блоком 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 прерывани устройства - сигнал прерывани по критической длине выходного слова. Поскольку на третьем шаге распаковки первого элемента машинного ЯВУ буферный адрес последнего байта выходного слова командной информации равен 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 и сигнализирует о наличии этого слова в выходном регистре 19. Этот же импульс передним фронтом записывает следующее входное слово командной информации, сформированное На входе 24 командной информации устройства, в входной регистр 1 устройства и переписывает содержимое его в входной регистр 2. Этот же импульс, ПРОЙДЯчерез открытьй элемент И 74 блока 15 на входы установки О триггеров 65, 67 и 69 блока 15 обнол ёт эти триггеры. Этот же импульс, поступа с выхода элемента ИЛИ 85 на вход формировани одновибратора 77 блока 16, вызывает по заднему фронту по вление импульса на выход одновибратора 77 блока 16. Импульс с вькода этого одновибратора поступает на вход установки О счетчика 79 смещени блока 16, обнол этот счетчик, и положительным фронтом записывает в регистр 78 базы блока 16 содержимое байта 3 входного регистра 1, поступившее к- этому времени на информационный вход регистра 78 базы блока 16 через мультиплексор 1 1 , управл емь1й нолевым кодом с выхоцов триггеров 65, 67 и 69 блока 15, Байт 3 входного регистра 1 в данном случае содержит первый байт деск риптора второго элемента машинного ЯВУ. Вместе с нолевым содержимым счетчика 79 смещени блока 16 этот байт, поступа на адресный вход блока 84, вызывает по вление на выходе, этого блока микрокоманды первого шага распаковки второго элемента машин ного ЯВУ. Кроме того, импульс с выхода одновибратора 77 блока 16, поступа с вькода 48 устройства, сигна лизирует о том, что следующее выходное слово командной информации будет первым выходным словом командной информации следующего элемента машинного ЯВУ. При переходе на другой програм .мный модуль того же ЯВУ на первом этапе производитс только лишь замена контрольного кода. Блок 18 осуществл ет контроль за работой устрой ства. Контрольный код, записываемый в регистр 92 контрольного кода блока 18 на первом этапе распаковки каждого программного модул машинного ЯВУ и поступающий с выхода этого регистра на вход А схемы 93 сравнени в те чение всего процесса распаковки данного программного модул , сравнивает с схемой 93 сравнен.и с кодом микро команды каждого шага распаковки данного программного модул машинного ЯВУ, содержитс также во всех чейках блока 84, не; содержащих микрокоманд микропрограммы распаковки дан ного программного модул . Любые сбои предлагаемого устройст ва привод т в конечном счете либо к по влению в регистре 78 базы блока 16 кода, отлично от кода первого байта дескрептора элемента распаковываемого на данном шаге, либо к пре вышению содержимым счетчика 79 смеще ни блока 16 при распаковке К-го элемента величины (М 1) где М количество микрокоманд микропрограммного модул распаковки К-го элемента . В обоих случа х (в первом с веро тностью того, что ошибочное содер жимое регистра 78 базы блока 16 не совпадает с кодом первого байта ни одного из элементов базового набора данного машинного ЯВУ, а во втором - с веро тностью, равной единице ) формируетс обращение к чейке блока 84, не принадлежащей ни одному из программных модулей распаковки элементов базового набора машинного ЯВУ. Таким образом, в .отсутствие сбо схема 93 сравнени сравнивает микрокоманды микропрограммы распаковки с контрольным кодом, ие совпадающим ни с одной из них, и на выходе 26 устройства имеет место Лог. О. В случае же, когда приналичии сбо имеет место обращение к чейке блока 84, не содержащей микрокоманды распаковки, схема 93 сравнени блока 18, сравнива содержимое этой чейки (совпадающее с контрольным кодом) и контрольный код, формирует Лог. 1 на выходе 26 устройства. Лог. О на выходе 26 устройства свидетельствует об отсутствии , а Лог. Г - о наличии сбо при распаковке команд машинного ЯВУ. Все это относитс к распаковке устройством последовательности команд машинного ЯВУ, соответствующей линейному участку программы. При по влении в последовательности команд машинного ЯВУ, распаковываемых устройством, команды, нарушающей линейность выполнени программы формируетс метка команды машинного ЯВУ, которойпередаетс управление. На вход 31 поступает базовый адрес первого шага распаковки. Командна информаци , адрес которой указан в метке, поступает на вход 24 команд устройства. Нар ду с этим формируетс Лог.Г на входе 32 разрешени загрузки базового адреса устройства, котора , воздейству на инверсный вход элемента И 74 блока 15, запрещает прохождение сигнала через этот элемент, а воздейству на вход элемента ИСКЛЮЧАЮЩЕЕ ИЛИ 75 блока 15, переводит этот элемент в режим инвертора, и, воздейству на управл ющие входы коммутаторов 66, 68 и 70 блока 15, запрещает прохождение через эти элементы сигналов с выхода полусумматора 61 блока 15 на входы триггеров 65, 67.и 69 блока 15, разреша поступление на входы этих триггеров
сигналов с входа 31 базового адреса .устройства (базового адреса предсто щего шага распаковки) через коммутаторы 66, 68 и 70 блока 15.
После этого формируетс импульс на входе 31 начальной установки устройства , обнол ющий регистры и счетчики устройства и устанавливающий триггер 90 блока 17 в: состо ние Лог. 1. Тем самым на выходе блока 84 инициируетс микрокоманда начальнрго ввода командной информации.
Затем формируютс импульсы одновременно на 29 и 30 входах устройства . Действи , производимые импульсом на входе 29 устройства, аналогичны действи м этого импульса на втором этапе распаковки, за исключением тог обсто тельства, что теперь этот импульс не обнол ет триггеров 65, 67 и 69 блока 15, так как не проходит через открытый элемент И 74 блока 15 на входы установки О этих-триггеров . Импульс на входе 30 устройства, пройд через открытый Лог. О по инверсному входу элемент И 73 блока 15 на входы синхронизации триггеров 65, 67 и 69 блока 15, записывает в эти тригеры базовый адрес шага распаковки с входной шины 31 базового адреса устройства, Лог. О поступает на инверсный вход элемента И 73 блока 15 с выхода элемента ИСКЛЮЧАЮЩЕЕ ИЛИ 75 блока 15, который инвертирует Лог. 1 с выхода элемента 71 задержки блока 15, порождённую Лог. 1 на выходе триггера 90 блока 17.
I .
Дальнейша распаковка командной информации устройством ничем не отличаетс при рассмотрении третьего этапа распаковки за исключением того , что распаковка начинаетс не с нолевого базового адреса, а с базового адреса, задаваемого меткой.
Фиг.2
51 5 52
305629
фиг.З
(Риг.б
25
фиг ,. 7
Claims (2)
1. УСТРОЙСТВО ДЛЯ РАСПАКОВКИ КОЙАЙД, содержащее первый входной регистр, выходной регистр, три мультиплексора, блок прерывания и блок управления, причем, блок управления содержит два элемента И и элемент ИЛИ, первый, второй и третий выходы первого входного регистра подключены соответственно к первым, вторым и третьим информационным входам первого, вто- / рого и третьего мультиплексоров, информационный вход первого входного регистра подключен к входу кода команд устройства, выход кода команд устройства подключен к выходу выходного регистра, первый, второй и третий информационные входы которого подключены соответственно к выходам мультиплексоров с первого по третий, блок прерывания содержит триггер и два элемента ИЛИ, причем выход триггера блока прерывания подключен к первому входу первого элемента ИЛИ блока прерывания, выход которого подключен к выходу требования прерывания устройства, отличающееся тем, что, с целью расшире- ния области применения за счет распаковки команд машинного языка высокого уровня, имеющих переменный формат и способ кодирования, в него введены четвертый мультиплексор, второй входной регистр, блок контроля, блок формирования адреса, а блок управления дополнительно содержит блок памяти, регистр базы, счетчик смещения, одновибратор и коммутатор, а в блок прерывания дополнительно введены два элемента И, причем с первого по третий информационные входы четвертого мультиплексора и выход четвертого мультиплексора подключены к выходам первого входного регистра -соответственно с первого по третий и к четвертому информационному входу, выходного регистра, выход первого входного регистра подключен к информационному входу второго выходного регистра, блок контроля содержит регистр контрольного кода и схему сравнения, причем информационный вход, вход установки в 0/ синхровход и выход регистра контрольного кода подключены соответственно к входу контрольного кода устройства, входу начальной установки устройства, третьему синхровходу устройства и к первому входу схемы сравнения, второй вход и выход которой подключены соответственно к выходу блока памяти и к выходу признака ошибки устройства, первый синхровход устройства подключен к синхровходам первого и второго входных регистров, входы установки в 0 которых подключены к входу начальной установки устройства, первый и.второй синхровходы блока формирования адреса под «SU .,„1196865 ключены соответственно к первому и второму синхровходам устройства, вход базового адреса устройства подключен к входу базового адреса блока формирования адреса, вход разрешения загрузки базового адреса которого подключен к входу разрешения загрузки базового адреса устройства, выходы блока памяти с первого по . четвертый подключены соответственно к информационным входам блока формирования адреса с первого по четвертый, вход признака адреса последнего байта, выход признака адреса последнего байта входной информации и выход, признака адреса последнего байта которого подключены соответственно к выходу второго элемента ИЛИ блока прерывания, первому входу первого элемента И блока прерывания и к первому входу первого элемента И блока управления, выходы с первого по четвертый второго входного регистра подключены к информационным входам соответственно с четвертого по седьмой первого, второго и четвертого мультиплексоров, восьмой информационный вход которых подключен к четвертому выходу первого входного регистра, управляющие входы мультиплексоров с первого по четвертый подключены к информационным выходам’ блока формирования адреса соответственно с первого по четвертый, выходы разрядов с первого по третий третьего информационного выхода блока формирования адреса подключены к входам, второго элемента И блока прерываний, выход которого подключен к первому входу второго элемента ИЛИ блока прерываний, второй вход которого подключен к выходу триггера блока прерываний, входы установки в 1 и установки в О которого подключены соответственно к входу начальной установки устройства и к первому синхровходу устройства,, первый вход второго элемента И. блока прерываний подключен к второму входу первого элемента И блока прерываний, выход которого подключен к второму входу первого элемента ИЛИ блока прерывания·,' третий'вход которого подключен к выходу второго элемента И блока прерываний, вход начальной установки выходного регистра подключен к входу начальной установки устройства, входы начальной установки выходов с первого по четвертый выходно го регистра подключены к выходам блока памяти соответственно с пятого по восьмой, синхровход выходного per гистра подключен к первому выходу признака формирования кода команды устройства и к выходу первого элемента ИЛИ блока управления, первый и второй входы которого, подключены соответственно к второму синхровхоДу устройства и к выходу первого элемента И блока управления, второй вход которого подключен к первому синхровходу устройства, выход первого элемента И блока управления подключен к первому входу второго элемента И •блока управления и к входу запуска одновибратора, вход разрешения запуска и выход которого подключены соответственно к девятому выходу блока памяти и к синхровходу регистра базы, информационный вход и вход установки в О которого подключены соответственно к выходу четвертого мультиплексора и к входу начальной установки устройства, первый и второй входы установки в О счетчика смещения подключены соответственно к входу начальной установки устройства и к выходу одновибратора, девя-. тый выход блока памяти подключен к инверсному входу второго элемента И блока управления, выход которого: подключен к счетному входу счетчика смещения, выход одновибратора подключен к второму выходу признака формирования кода команды устройства, выход регистра базы и выход счетчика смещения подключены к первым информационным входам коммутатора, вторые^ информационные входы которого подключены к.первому и второму адресным входам устройства, управляющий вход . и выход коммутатора подключены соответственно к входу разрешения загрузки микропрограмм устройства и к адресному входу блока памяти, информационный вход и вход записи-считывания которого подключены соответственно к входу микрокоманд устройства и к управляющему входу коммутатора.
2. Устройство по п. 1, о т л и чающееся тем, что блок формирования адреса содержит четыре полусумматора, три триггера, три коммутатора, три элемента И, элемент задержки и элемент ИСКЛЮЧАЮЩЕЕ ИЛИ1/ причем первые информационные входы полусумматоров с первого по четвер тый подключены к информационным входам блока соответственно с первого по четвертый, входы разрядов с первого по третий вторых информационных входов первого, второго,.третьего и четвертого полусумматоров подключены к выходам триггеров соответственно с первого по третий, информационные входы которых подключены · к выходам коммутаторов соответственно с первого по третий, вход установки в 1” первого триггера подключен к выходу первого элемента И, первый вход которого подключен к первому синхровходу блока и к первому входу второго элемента И, второй и третий входы которого подключены соответственно к выходу признака адреса последнего байта блока и к входу разрешения загрузки базового адреса блока и выход третьего элемента И подключен к синхровходам триггеров с первого по третий, входы установки в О которых подключены к выходу второго элемента И, второй вход которого подключен к первому входу элемента ИСКЛЮЧАЮЩЕЕ ИЛИ, второй вход и выход которого подключены соответственно к входу разрешения загрузки базового адреса блока и к первому входу третьего элемента И, второй вход которого подключен к второму синхровходу блока, вход признака адреса последнего байта блока через .элемент задержки подключен к вторым входам первого и второго элементов И, вход.загрузки базового адреса подключен к первым информационным входам коммутаторов с первого по третий, выходы разрядов с первого по третий четвертого полусумматора подключены к вторым информационным входам коммутаторов соответственно с первого по третий, вторые входы которых подключены к входам разрядов соответственно с первого по третий базового адреса 'блока, выход первого триггера блока подключен к выходу признака адреса последнего байта входной информации блока, выходы полусумматоров с первого по третий подключены соответственно к информационным выходам блока с первого по третий, выходы разрядов с первого по третий четвертого информационного выхода блока подключены к выходам триггеров блока соответственно с первого по третий.'
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU843759724A SU1196865A1 (ru) | 1984-06-22 | 1984-06-22 | Устройство дл распаковки команд |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU843759724A SU1196865A1 (ru) | 1984-06-22 | 1984-06-22 | Устройство дл распаковки команд |
Publications (1)
Publication Number | Publication Date |
---|---|
SU1196865A1 true SU1196865A1 (ru) | 1985-12-07 |
Family
ID=21126329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SU843759724A SU1196865A1 (ru) | 1984-06-22 | 1984-06-22 | Устройство дл распаковки команд |
Country Status (1)
Country | Link |
---|---|
SU (1) | SU1196865A1 (ru) |
-
1984
- 1984-06-22 SU SU843759724A patent/SU1196865A1/ru active
Non-Patent Citations (1)
Title |
---|
Авторское свидетельство СССР № 610109, кл. G 06 F 9/00, 1978. Авторское свидетельство СССР № 972507, кл. G 06 F 9/00, 1982. * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US3940745A (en) | Data processing unit having a plurality of hardware circuits for processing data at different priority levels | |
KR880000298B1 (ko) | 멀티워어드 메모리 데이타 스토리지 및 어드레싱 기법및 장치 | |
US3997895A (en) | Data processing system with a microprogrammed dispatcher for working either in native or non-native mode | |
CH422394A (de) | Verfahren zur Programmunterbrechung programmgesteuerter, elektronischer Rechenanlagen | |
GB1274830A (en) | Data processing system | |
US4377846A (en) | Arithmetic unit for generating constants in an electronic computer of the microprogram-controlled type | |
US3568153A (en) | Memory with error correction | |
US3786434A (en) | Full capacity small size microprogrammed control unit | |
US4541047A (en) | Pipelined data processing system | |
US4462102A (en) | Method and apparatus for checking the parity of disassociated bit groups | |
US3828324A (en) | Fail-soft interrupt system for a data processing system | |
US6055623A (en) | Specialized millicode instruction for editing functions | |
US4047245A (en) | Indirect memory addressing | |
US6067617A (en) | Specialized millicode instructions for packed decimal division | |
US6058470A (en) | Specialized millicode instruction for translate and test | |
SU1196865A1 (ru) | Устройство дл распаковки команд | |
US3969702A (en) | Electronic computer with independent functional networks for simultaneously carrying out different operations on the same data | |
GB1003921A (en) | Computer cycling and control system | |
US4364025A (en) | Format switch | |
US3425036A (en) | Digital computer having a generalized literal operation | |
US4142244A (en) | Programmable electronic computer | |
US5754810A (en) | Specialized millicode instruction for certain decimal operations | |
SU1177812A1 (ru) | Микропрограммное устройство управления | |
SU886000A1 (ru) | Устройство дл обработки прерываний | |
US3359542A (en) | Variable length address compouter |