Устройство для организации очередей элементов данных
Иллюстрации
Показать всеРеферат
COIO3 СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК (19) (11) (584 G 0 F 4
/ ю;,... ОПИСАНИЕ ИЗОБРЕТЕНИЯ,/ >
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТКОЙ
g/
Н ABTOPCKOMV СВИДЕТЕЛЬСТВУ (21) 3687371/24-24 (22) 09.01.84 (46) 15.01.86. Бюл. № 2 (72) В. Н. Заблоцкий, А, А. Самусев и А. В. Яскульдович (53) 681.325(088.8) (56) Международная заявка РСТ
¹ W 80/02755, кл. G06 F13/00, 1980.
Экспресс-информация, сер. ВТ
¹ 21, 1982, с. 1-6, рис. 4, 3 ° (54)(57) 1. УСТРОЙСТВО ДЛЯ ОРГАНИЗАЦИИ ОЧЕРЕДЕЙ ЭЛЕМЕНТОВ ДАННЫХ, содержащее блок памяти, блок управления, счетчик адресов считывания, счетчик адресов записи, мультиплексор адресов, реверсивный счетчик, дешифратор, выходной регистр данных, входной мультиплексор данных, узел сравнения адресов, причем первый, второй и третий выходы дешифратора соединены с выходами контроля состояния очереди устройства, блок управления содержит группу элементов И, два триггера, узел формирования последовательностей микрокоманд, узел синхронизации, дешифратор, узел управления запуском и завершением операций, первый, второй и третий входы режима устройства соединены с первым, вторым и третьим входами дешифратора, блок управления, четвертый и пятый входы дешифратора блока управления соединены с четвертым и пятым выходами дешифратора, входы которого соединены с выходами реверсивного счетчика, счетный и тактовый входы которого соединены соответственно с выходом первого элемента И группы и с первым выходом пер,вой группы выходов узла формирования последовательностей микрокоманд блока управления, выход второго элемента И группы блоков управления соединен со счетным входом счетчика адресов записи, информационные выходы которого соединены с первой группой информационных входов мультиплексора адресов, управляющие входы которо", ro соединены соответственно с вторым и третьим выходами первой группы выходов узла формирования последовательностей микрокоманд блока управления, выходы триггеров которого соединены с вхоГ дами управления запиСью и чтением блока памяти, адресные входы которо- д го соединены с группой выходов мультиплексора адресов, вторая группа информационных входов которого соединена с первой группой входов узла сравнения адресов и с выходами счетчика адресов считывания, счетный 8 вход которого соединен с выходом третьего элемента И группы блока управления, выход четвертого элемента И группы которого соединен с управляющим входом выходного регистра данных, информационные входы которого соединены с первой группой выходов блока памяти, выходы выходного регистра данных являются первой группой информационйых выходов устройства и входами первой группы информационных входов входного мультиплексора данных, вторая группа информационных входов которого соединена с первой группой информационных входов устройства, управляющие входы входного мультиплексора данных соединены с четвертым и пятым выходами первой группы выходов узла формирования последователь1205143 ностей микрокоманд блока управления, о т л и ч а ю щ е е с я тем, что, с целью расширения области применения за счет организации приоритетной очереди и за счет обеспечения возможности управления структура данных путем просмотра элементов данных и обеспечения возможности вывода любого элемента данных из очереди, устройство дополнительно содержит первый, второй, третий и четвертый регистры указателей, первый и второй мультиплексоры указателей, первый и второй входные, регистры данных, узел сравнения приоритетов, узел сравнения признаков и регистр состояния, причем информационные входы счетчика адресов считывания соединены с информационными входами счетчика адресов записи, с входами первого регистра указателей, с входами третьей группы информационных входов мультиплексора адресов, с входами первой группы информационных входов первого мультиплексора указателей, с выходами второй группы информационных выходов устройства и с выходами второго реги"тра указателей, управляющий вход которого соединен с выходом пятого элемента И группы блока управления, шестой и седьмой выходы первой груп" пы выходов узла формирования последовательностей микрокоманд которого, соединены с управляющими входами второго мультплексора указателей, выходы которого соединены с входами второго регистра указателей, первая группа информационных входов второго мультиплексора указателей соединена с второй группой выходов блока памяти, первая группа информационных входов которого соединена с группой выходов третьего регистра указателей, с информационными входами четвертого регистра указателей, с второй группой информационных входов второго мультиплексора указателей и с второй группой входов узла сравнения адресов, выход которого соединен с первым входом группы входов узла формирования последовательностей микрокоманд блока управления, выход шестого элемента И группы которого соединен с управляющим входом третьего регистра укаМ зателей, информационные входы которсго соединены с группой выходов первого мультиплексора указателей, вторая группа информационных входов которого соединена с третьей группой информационных входов второгомультиплексора указателей и с выходами четвертого регистра указателей, управляющий вход которого соединен с выходом седьмого элемента И группы блока управления, выход восьмого элемента И группы которого соединен с управляющим входом первого регистра указателей, группа выходов которого соединена с четвертой группой ин- формационных входов мультиплексора адресов, группа выходов которого соединена с четвертой группой информационных входов второго мультиплексора указателей и с третьей группой информационных входов первого мультиплексора указателей, четчертая группа информационных входов которого соединена с второй группой информационных входов устройства, управляющие входы первого мультиплексора указателей соединены с вось. альм и девятым выходами первой группы выходов узла формирования последовательностей микрокоманд блока управления, десятый выход первой группы выходов узла формирования пос. ледовательностей микрокоманд блока управления соединен с первым управляющим входом счетчика адресов считывания, второй управляющий вход которого соединен с выходом девятого элемента И группы блока управления:, второй вход первой группы входов узла формирования последовательностей микрокоманд блока управления соединен с выходом переполнения счетчика адресов записи, управляющий вход которого соединен с выходом десятого элемента И группы блока управления, первый вход узла синхронизации которого соединен с выходом узла сравнения приоритетов, первая группа входов которого соединена с соответствующими входами первой группы информационных входов входного мультиплексора данных, вторая группа информационных входов которого соединена с входами первого входного регистра данных,, управляющий вход которого соединен с выходом одиннадцатого элемента И группы блока управ. ления, выход двенадцатого элемента
И группы которого соединен с управляющим входом второго входного реги) 205 стра данных, группа выходов которого соединена с второй группой входов блока памяти, группа входов второго входного регистра данных соединена с группой выходов входного мультиплексора данных, третья группа информационных входов которого соединена с группой выходов первого входного регистра данных, соответствующие выходы группы выходов, которого соединены с второй группой входов узла сравнения приоритетов, первый выход узла управления запуском и завершением операций блока управления соединен с выходом контроля готовности устройства, первый и второй входы задания типа очереди которого соединены соответственно с шестым и седьмым входами дешифратора блока управления, выход тринадцатого элемента И группы которого соединен с управляющим входом регистра состояния, выходы которого соединены с информационными входами реверсивного счетчика, информационные входы регистра состояния соединены с выходами реверсивноro счетчика управляющий вход котоУ рого соединен с выходом четырнадца того элемента И группы блока управления, вход управления классом ре,шаемых задач устройства соединен с восьмым входом цешифратора блока управления, второй выход узла управления запуском и завершением операций которого соединен с выходом контроля результата устройства, первый вход узла управления запуском и завершением операций и второй вход узла синхронизации блока управления соединены с выходом узла сравнения признаков, первая группа вхо.дов которого соединена с соответ ствующими входами первой группы информационных входов входного мультиплексора данных, соответствующие входы третьей группы информационных входов которого соединены с входами второй группы входов узла сравнения признаков, группа выходов дешифратора блока управлейия соедине на с соответствующими входами группы входов узла формирования последовательностей микрокоманд, второй, третий, четвертый входы, третий выход узла управления запуском и завершением операций соединены соответственно с первым, вторым, третьим выходами и третьим входом узла синхронизации, нулевые входы триггеров сое з динены с четвертым выходом узла синхронизации, пятый выход которого соединен с входом синхронизации узла формирования последовательности микрокоманд, вход установки начального состояния которого соединен с четвертым выходом узла управления запуском и завершением операций, пятый выход которого соединен с девятым входом дешифратора блока управления, выход которого соединен с пятым входом узла управления запуском и завершением операций, шестой, седьмой и восьмой входы которого соединены с соответствующими выходами группы выходов дешифратора блока управления, четвертый и пятый входы узла синхронизации соединены с соответствующими выходами группы выходов дешифратора блока управления, шестой выход узла синхронизации соединен с первыми входами всех элементов И группы, вторые входы элементов И группы и единичные входы триг. геров соединены с соответствующими выходами второй группы выходов узла формирования последовательности микрокоманд, девятый-и десятый входы узла управления запуском и завершением операций соединены с соответствующими выходами третьей группы выходов узла формирования последовательности микрокоманд, четвертая группа выходов которого соединена с группой входов узла синхронизации, одиннадцатый вход узла управления запуском и завершением операций соединен с сигнальным входом устройства.
2. Устройство по и. 1, о т л и ч а ю щ е е с я тем, что узел синхронизации содержит два формирователя импульсов, генератор импульсов, элемент задержки, имитатор циклов блока памяти, десять элементов И, шесть элементов ИЛИ, семь элементов
НЕ, элемент И-НЕ и четыре элемента
ИЛИ-НЕ, причем первый вход узла соединен с первым входом первого элемента ИЛИ-НЕ, второй и третий входы которого соединены соответственно с четвертым и пятым входами узла, выход первого элемента ИЛИ-НЕ соединен с первым входом первого элемента И, выход которого соединен с первыми входами первого и второго элементов ИЛИ, выход первого элемента
ИЛИ соединен с первыми входами второго и третьего элементов И, выход зторого элемента И соединен с первым входом третьего элемента ИЛЦ, выход которого соединен с входом первого формирователя импульсов и с первым выходом узла, второй вход которого через первый элемент НЕ соединен с первым входом четвертого элемента И, выход которого соединен с вторыми входами первого и второго элементов ИЛИ, третьим входы которых соединены соответственно с выходом второго элемента ИЛИ-НЕ и с выходом пятого элемента И, первый вход которого соединен с первым входом группы входов узла, с первым входом шестого элемента И, с первым входом элемента И-НЕ и с вторым входом третьего элемента И, выход которого соединен с входом имитатора циклов блока памяти, первый выход которого соединен с вторым выходом узла, с вторым входом элемента И-HE с вторым входом пятого элемента И, с первым входом седьмого элемента И и через второй элемент НЕ с вторым. входом шестого элемента И, выход которого через третий элемент НЕ соединен с вторым входом второго элемента И и с третьим входом третьего элемента И, четвертый вход которого соединен с выходом четвертого элемента ИЛИ, первый вход которого соединен с вторым входом группы входов узла, с вторым входом седьмого элемента И, с первым входом восьмого элемента И, с первым входом третьего элемента ИЛИ-HE с первым входом пятого элемента ИЛИ и через четвертый элемент НЕ с первым входом девятого элемента И, выход которого
12051
43 тым входом группы входов узла. пятый вход группы входов которого соединен с первым входом десятого элемента
И, второй вход которого через элемент задержки соединен с вторым входом четвертого элемента ИЛИ, а через пятый элемент НŠ— с входом второго формирователя импульсов, с выходом генератора импульсов, с первым входом шестого элемента ИЛИ
\ и с третьим выходом узла, третий вход которого соединен с четвертым входом второго элемента ИЛИ и через шестой элемент НЕ с пятым входом третьего элемента И, второй выход имитатора циклов блока памяти соединен с первым входом четвертого элемента ИЛИ-НЕ, с вторым входом восьмого элемента И, с четвертым выходом узла и через седьмой элемент HK c третьими входами пятого и седьмого элементов И, выход седьмого элемента
И соединен с пятым входом второго элемента ИЛИ, шестой вход которого соединен с выходом восьмого элемента
И, третий вход которого соединен с выходом элемента И-НЕ и с пятым входом второго элемента И, шестой вход которого соединен с выходом четвертого элемента ИЛИ-НЕ, второй вход которого соединен с выходом третьего элемента ИЛИ-НЕ, второй вход которого соединен с входом генератора импульсов и с выходом второго элемента
KIH, седьмой вход которого соединен с выходом шестого элемента И и с вторым входом шестого элемента ИЛИ, :выход которого соединен с третьим входом шестого элемента И, выход второго формирователя импульсов соединен с пятым выходом узла. соединен с вторым входом третьего элемента ИЛИ, выход первого формирователя импульсов соединен с шестым выходом узла, третий вход группы входов которого соединен с вторым входом пятого элемента ИЛИ, с вторым входом четвертого элемента И и с первым входом второго элемента ИНИНЕ, выход которого соединен с вторым входом девятого элемента И, третий вход которого соединен с выходом десятого элемента И и с третьим входом второго элемента И, четвертый вход которого соединен с выходом пятого элемента ИЛИ, третий вход которого соединен с вторым входом первого элемента И, с вторым входом второго элемента ИЛИ-НЕ и с четвер3, Устройство по и. 1, о т л и— ч а ю щ е е с я тем, что узел уп. равления запуском и завершением операций содержит восемь элементов И, пять элементов ИЛИ, два элемента
ИЛИ-НЕ, элемент И-НЕ и пять элементов НЕ, причем первый вход узла соединен с первыми входами первого и второго элементов И и через первый элемент НЕ с первым входом третьего элемента И, выход которого соединен с первым входом первого элемента 1ЛИ, выход которого соединен с первым входом второго элемента ИЛИ, выход которого соединен с первым входом четвертого элемента И, выход которого соединен с вторым входом второгo н с первым ВхОдОм T()E тьеГО элементов ИЛИ и через Второй элемент
HE " первым входом элемент,а И-НЕ, выход которого соединен с третьим выходом узла, с первым входом пятого элемента И и через третий элемент
HE с вторым входом третьего элемента ИЛИ, выход которого соединен с первым входом первого элемента ИЛИНЕ и с пятым выходом узла, второй вход и выход первого элемента ИЛИ-НЕ соединены соответственно с четвертым входом и четвертым выходом узла, восьмой вход которого соединен с третьим входом первого элемента
ИЛИ-HE и с первым входом шестого элемента И, выход которого соединен с вторым входом первого элемента
ИЛИ, третий вход которого соединен с десятым входом узла, девятый вход которого соединен с вторыми входами первого, второго и третьего элементов И и с первым входом седьмого элемента И, выход которого соединен с первым входом четвертого элемента
ИЛИ, выход которого соединен с первым входом восьмого элемента И, выход которого соединен с вторым выходом узла и с вторым входом четвертого элемента ИЛИ, третий и четвертый входы которого соединены с выходами соответственно первого и второго элементов И, шестой вход узла соединен с третьим входом второго элемента И и с первым входом второго элемента ИЛИ-НЕ, второй вход которого соединен с седьмым в::одом узла и с третьими входами первого и третьего элементов И, второй вход узла соединен с вторым входом седьмого элемента И, третий вход которого соединен с выходом второго элемента ИЛИ-НЕ, третий вход узла соединен с вторым входом пятого элемента И и через четвертый элемент
HE с вторым входом шестого элемен- та И, выход пятого элемента И соединен с первым выходом блока и через пятый элемент НЕ с первым входом пятого элемента ИЛИ, выход которого соединен с вторыми входами
1 че1 Ве1)т()Г() и ВосьмОГО элементОБ И р одиннадцатый Вход у:зп» соединен с вторым входом пятого элемента ИЛИ и с вторым входом элемента И-НЕ, третий вход которого соединен с третьим входом восьмого элемента И и с пятым входом узла, 4. Устройство по п. 1, о т л и ч а ю щ е е с я тем, что имитатор циклов блока памяти содержит элемент задержки, четыре элемента И,,четыре элемента ИЛИ и четыре элемента НЕ, причем, вход имитатора соединен с первым входом первого элемента ИЛИ, выход которого соединен с первым входом первого элемента И, Второй вход первого элемента ИЛИ соединен с входом элемента задержки, с выходом первого элемента И, с первыми входами второго элемента ИЛИ и третьего элемента ИЛИ, второй вход которого соединен с выходом второго элемента И, первый вход которого соединен с выходом третьего элемента
ИЛИ и с входом первого элемента НЕ, выход которого соединен с вторым выходом имитатора и вторым входом второго элемента ИЛИ, выход которого соединен с вторым входом первого элемента И, третий вход которого соединен с выходом второго элемента
НЕ, вход которого соединен с первым выходом элемента задержки, второй выход которого соединен с входом третьего элемента НЕ, выход которого соединен с вторым входом второго элемента И, первый вход которого соединен с первыми входами третьего и четвертого элементов И, выход третьего элемента И соединен с первым выходом имитатора, второй вход третьего элемента И соединен с выходом четвертого элемента НЕ, вход которого соединен с первым входом четвертого элемента ИЛИ и выходом четвертого элемента И, второй вход которого соединен с выхо дом четвертого элемента ИЛИ, второй вход которого соединен с третьим выходом элемента задержки.
1205143
Изобретение относится к вычислительной технике и может быть использовано в качестве буферного запоминающего устройства для буферизации элементов данных в виде очередей или для построения устройств управления структурами данных, вычислительными процессами и ресурсами вычислительных машин и систем.
Цель изобретения — расширение класса решаемых задач °
На фиг. 1 изображена структурная схема устройства организации очередей элементов данных; на фиг. 2 структурная схема блока. управления; на фиг. 3 — функциональная схема узла синхронизации блока управления; на фиг. 4 — функциональная схема узла управления запуском и завершением операций блока управления; на фиг ° 5 — функциональная схема имитатора циклов блока памяти.
Устройство (фиг. 1) содержит блок 1 памяти, блок 2 управления, счетчик 3 адресов считывания, счетчик 4 адресов записи, мультиплексор
5 адресов, реверсивный счетчик 6, дешифратор 7, выходной регистр 8 данных, входной мультиплексор 9 данных, узел 10 сравнения адресов, выходы ll контроля состояния очереди устройства, сигнальный вход 12 устройства, входы 13 и 14 режима устройства, выходы 15 и 16 дешифратора 7, выход 17 элемента И группы блока 2, выходы 18-24 блока 2, выход 19 блока управления, выход 20 блока управления, выход 21 блока управления, первую группу 25 информационных выходов устройства, первую группу 26 информационных входов устройства, выход 27 блока 2, выход 28 блока 2, регистр 29 указателей, мультиплексор
30 указателей, вторую группу 31 информационных выходов устройства, регистр 32 указателей, выходы 33-35 блока 2, мультиплексор 36 указате" лей, регистр 37 указателей, регистр
38 указателей, вход 39 блока 2, выход 40 блока 2, выход 41 блока 2, выход 42 блока 2, вторая группа 43 информационных входов устройства, выходы 44-47 блока 2, вход 48 блока
2, выход 49 блока 2, восьмой вход 50 блока 2, узел Sl сравнения приоритетов, входной регистр 52 данных, выходы 53 и 54 блока 2, входной регистр 55 данных, выход 56 контроля готовности устройства, вход 5 задания типа очереди устройства, вход
58 задания типа очереди устройства, узел 59 сравнения признаков, регистр 60 состояния, выход 61 блока 2, выход 62 блока 2, вход 63 блока 2, входы 64 режима устройства, .вход 65 управления классом решаемых задач устройства, выход 66 контроля результата устройства, вход 67 блока
2, Блок 2 (фиг. 2) содержит группу элементов И 68 триггеры 69, узел 70 формирования последовательности микрокоманд, узел 71 синхронизации, дешифратор 72, узел 73 управления запуском и завершением операций, группу входов 74 узла
70, вход 75 узла 73 управления, первый выход 76 узла 73, второй выход 77 узла 73, вход 78 узла 73, входы 79 и 80 узла 73, выход 81 узла 73, выходы 82 и 83 узла 71, вход 84 установки начального состоя. ния узла 70, выход 85 узла 73, вход
86 узла 73, входы 87-89 узла 73, входы 90 и 91 узла 71,выход 92 узла
71, группы 93 и 94 выходов узла 70, вход 95 узла 73, соответственно одиннадцатый и десятый входы 96 и 97 узла 73, группы 98 и 99 выходов узла 70, входы 100-104 узла 71.
Узел 71 (фиг. 3) содержит элемент
ИЛИ 105, элементы И 106 и 107, элементы ИЛИ 108, формирователь 109 импульсов, формирователь 110 импульсов, генератор ill импульсов, элементы
ИЛИ-НЕ 112, имитатор 113 циклов блока памяти, элемент ИЛИ 114, элемент И 115, элемент НЕ 116, элемент
117 задержки, элементы И 118, элемент И-НЕ 119, элементы ИЛИ"НЕ 120, элемент ИЛИ 121, Узел 73 (фиг. 4) содержит элемент
И-НЕ 122, элемент ИЛИ 123, элемент
ИЛИ-НЕ 124, элемент ИЛИ 125, элементы И 126, элемент ИЛИ-НЕ 127, элементы И 128, элементы ИЛИ 129, элементы НЕ 130.
Имитатор 113 (фиг. 5) содержит элемент задержки 131, элементы
НЕ 132, элементы ИЛИ 133, -элементы
И 134 и 135.
Блок 1 представляет собой модуль специализированного оперативного запоминающего устройства (СЗУ), построенный на больших интегральных схемах (БИС) (например, БИС ОЗУ
1205143
Узел 70, работает следующим образом. В исходном состояниии на всех выходах узла 70 устанавливаетья логический ноль независимо от кода на входах 74. При формировании первого импульса синхронизации на входе 83 синхронизации, на выходах узла 70 устанавливается(через опреде- ленное время)код первой микрокоманды микропрограммы, соответствующей коду, установленному на входах 74.
Каждый новый код-микрокоманда формируется на выходах узла 70 после появления на входе 83 синхронизации очередного импульса синхронизации.
На выходах узла 70 формируются коды микрокоманд, каждая из которых условно разбита на четыре внешних управляющих поля в соответствии с группами выходов узла 70. Группе 93 выходов узла 70 соответствует поле управления запуском регистров, счетчиков и блока 1; группе 94 выходов узла 70 — поле управления мультиплексорами и режимами функционирования счетчиков; группе 98 выходов узла 70 — поле управления за- типа К565 РУIА) с использованием при необходимости микросхем малой и средней интеграции (например, как это сделано в модуле ОЗУ-НЦОЗД), и предназначен для хранения (запоминания) элементов и структуры очередей, а также для записи (включения в очередь), считывания (исключения из очереди) элементов очередей.
Блок 1 работает следующим образом.
В исходном состоянии на управляю щих входах блока 1 устанавливается нулевой код (например, код 00) ° В блоке 1 предусматривается запуск двух основных операций: операции записи и считывания. При операции записи на адресных входах устанавливается код адреса ячейки памяти, в которой предполагается запомнить информацию (злемент очереди), код которой устанавливается на информационных входах. Через время, равное времени установки кодов адреса и информации на соответствующих входах, на управляющих входах формируется код записи (например, код 11), под действием которого коды адреса и информации запоминаются во внутренних регистрах блока 1, запускается операция записи.
При операции считывания на управляющих входах формируется код считывания (например, код 10), при этом во внутреннем регистре блока 1 запоминается только код адреса ячейки памяти, иэ которой предполагается считать информацию — элемент очереди. Управляющий код удерживается в течение минимального времени, необходимого для правильного завершения операции, т.е, времени, в течение которого осуществляется запись кода информации из внутреннего регистра в требуемую ячейку памяти или считывание кода информации из требуемой ячейки памяти во внутренний регистр, После снятия управляющих сигналов блок 1 автоматически начинает устанавливаться в исходное состояние для запуска новой операции. При этом при операции считывания на инфор.мационных выходах блока 1 устанавливается код считанной информации, и обеспечивается сохранение этого кода в ячейке памяти, иэ которой ,осуществлялось считывание.
Блок 2 управления (фиг. 2) предназначен для формирования соответству-. ющих управляющих сигналов для блока
1, мультиплексоров и счетчиков и синхросигналов для счетчиков и регистров.
Узел 70 формирования последовательности микрокоманд предназна чен для формирования определенной последовательности кодов-микрокоманд на выходах четырех групп выходов в зависимости от определенного кода, установленного на входах 74 узла 70. Коды микрокоманд формируются на тридцати трех выходах узла 70. В узле 70 необходимо предусмотреть аппаратные средства для хранения не менее чем 57-ми 42-битных микрокоманд. Девять бит микрокоманд используется для организации внутренних связей между микрокомандами. В качестве запоминающей среды используется программируемая логиче. ская матрица (ПЛМ). Структурная схема узла 70 аналогична структурной схеме БИС УП типа KI883PTI. Коды микрокоманд, хранимых в узле 70, и структура их связей определяются алгоритмами функционирования устройства, которые описаны при описании работы устройства, 1205143
45
55 вершением операций, а группе 99 выходов — поле управления синхронизацией и циклами. Длина (н битах . каждого поля микрокоманды определяется количеством выходов соответствуь ющей группы выходов узла 70 (фиг. 2), Если на выходах узла 70 устанавливается последняя микрокоманда микропрограммы, то на выходах 9б и 97 устанавливается соответствующий код "Конец операции" (КО), под,цействием которого обеспечивается перевод узла 70 в исходное состояние, путем формирования на входе 84 установки начального состояния узла 70 высокого уровня напряжения после окончания действия импульса синхронизации на входе 83 и блокировка формирования последующего импульса синхронизации на входе.83. При подаче сигнала (ло.гической единицы) на вход 84 установки начального состояния узла 70 всегда обеспечивается перевод его в исходное состояние. Если микрокоманда, установленная на выходах узла 70, не является последней, то через определенное время, не меньшее времени цикла функционирования блока 70, на его выходах может быть установлена следующая микрокоманда выполняемой микропрограммы под действием следующего импульса синхронизации на входе
83, причем какая микропрограмма выбирается для выполнения определяется кодом на входах 74 узла 70. При изменении кода на входах 74 в определенный момент формирования последовательности кодов микрокоманд после окончания действия предшествуюшего импульса синхронизации в момент действия очередного импульса синхронизации обеспечивается изменение последовательности формирования кодовмикрокоманд на выходах узла 70, если это предусмотрено алгоритмом функционирования. Поэтому входы 74, соединенные с входами 39 и 48 блока 2, выполняют функцию входов условных переходов. При установлении нового кода на входах 74 узла 70 и начального состояния узла 70 обеспечивается готовность узла 70 для формирования последовательности кодов микрокоманд новой микропрограммы, В случае, если очередной синхроимпульс на входе 83 не формируется, то установленный на выходах узла 70 код микрокоманды удерживается неограниченно долго, если отсутствуе. сигнал на входе 84.
Входы 74 узла 70 можно условно ( разбить на дне группы: первую группу входов начальных адресон микропрограммы и вторую группу входов условных переходон. В первую группу входов входят входы 74, соединенные с выходами узла 72, кроме входа, соединенного с входом 91 узла 71. Во вторую группу входов входят входы
74, соединенные с нходом 91 узла 71 и с входами 39 и 48 блока 2.
Микрокоманда, используемая в узле 70, разбивается на две группы полей: группу полей внешнего управления и группу полей организации связей между микрокомандами. Группа полей н органиэации связей между микрокомандами состоит иэ двух полей: поля управления (ПУ) и поля следующего адреса (ПСА), Поле ПУ представляется не менее, чем тремя битами (разрядами), а поле ПСА— не менее, чем шестью битами (разрядами), В поле управления задаются коды, "разрешающие" или "запрещающие" использование кода на второй группе входов узла 70 для формирования адреса следующей микрокоманды, которое осуществляется,при подаче сигнала на вход 83 узла 70 при нулевом уровне напряжения на входе
84 узла 70. Код с входов первой группы входов узла 70 и код поля следующего удреса всегда используются для формирования адреса любой следующей микрокоманды. Так как код на входах первой группы входов узла 70 и на соответствующих выходах узла 72 остается неизменным в те" чение всего времени выполнения одной микрокоманды, кодирующей алгоритм выполнения одной операции, то этот код является одинаковым для всех микрокоманд одной микропрограммы.
Указанный код используется как старшая часть (разряды) адреса микрокоманды микропрограммы. Формирование последовательности кодов микрокоманд осуществляется благодаря заданию последовательности кодов адресов н поле ПСА каждой микрокоманды, которые являются разными в разных микрокомандах и используются как младшая часть (разряды) адреса текущей микрокоманды. Код на второй группе входов узла 70 используется для
7 1205 формирования средней части адреса (битов адреса между старшей и младrueA частями адреса). В случае, если условные переходы отсутствуют в микрокоманде, код средней частоты 5 адреса равен исходному (например нулевому). В предлагаемом устройстве при любом "ветвлении" последовательности микрокоманд учитывается только одно условие, т.е. наличие 10 сигнала только на одном из трех входов второй группы входов узла 70.
При этом возможно, что при анализе одного и того же условия, например, наличия сигнала на входе 39, на выходе 48 сигнал может присутствовать или не присутствовать. В этих случаях для одного и того же условия могут формироваться два различных адреса одной и той же первой микро- 211 команды обоих "ветвей" (последовательностей микрокоманд) условного перехода, В этом случае кодирование последовательностей микрокоманд оставшейся части микропрограммы дубли- 25 руется в управляющей памяти. Это не влияет на эффективность использования управляющей памяти в предлагаемом устройстве.
Приведем подробный алгоритм функционирования узла 70 формирования последовательности микрокоманд. В исходное состояние узел 70 переводится при установке на входе 84 высокого уровня напряжения, При этом 35 на выходах групп 98,99, 93 и 94 выходов узла 70 устанавливается исходный код, который может быть нулевым. При этом на входах 74 может быть установлен произвольный код. Любое состоя- 40 ние (в том числе и исходное) узла 70 не изменяется при изменении состояния входа 83 при установке (удержании) на входе 84 узла 70 высокого уровня напряжения. При отсутствии (снятии) высокого уровня напряжения, с входа 84 и отсутствии сигнала на входе 83 узел 70 остается в исходном состоянии или в состоянии, установленном при подаче последнего сигнала на вход 83 произвольно долго. Под состоянием узла 70 в данном случае понимается состояние выходов групп
93, 94, 98 и 99 выходов узла 70 °
При этом состояния входов 74 узла 70 55 могут произвольно изменяться. При наличии на входе 84 логического нуля и подаче на вход 83 узла 70 сиг143 нала осуществляется смена состояния узла 70, т.е. осуществляется выборка кода новой микрокоманды, которая может быть первой микрокомандой микропрограммы, При этом сначала формируется адрес новой микрокоманды путем считывания и качестве старшей части кода адреса с входов первой группы входов узла 10 считывания, в качестве младшей части кода адреса — кода поля следующего адреса предшествующей микрокоманды и формирования средней части кода адреса под управлением кода в поле управления предшествующей микрокоманды.
По результату анализа кода поля управления предшествующей микрокоманды, осуществленного аппаратно в узле 70 еще до появления сигнала на входе 83, осуществляется либо использование в качестве средней части кода адреса текущей микрокоманды соответствующей части кода адреса предшествующей микрокоманды (при отсутствии в поле ПУ предшествующей микрокоманды кода, предписывающего анализ кода условного перехода), либо считывание в качестве средней части кода адреса кода с входов второй группы входов узла 70.
Код средней части кода адреса новой микрокоманды при этом может измениться (при наличии условия — ожидаемых сигналов на входах второй группы входов узла 70), либо не измениться (при отсутствии требуемого условия), что ведет к формированию одного иэ двух возможных адресов новой микрокоманды и обеспечивает возможность выбора одной из двух последовательностей кодов микрокоманд. Код средней части кода адреса в рассматриваемом случае может измениться и при отсутствии ожидаемого условия (ожидаемых сигналов на входах второй группы входов узла 70). В этом случае кодирование последовательности кодов микрокоманд оставшейся части микропрограммы дублируется в- управляющей памяти, начиная с кода адреса с измененной средней частью, также, как и последовательность кодов микрокоманд, начиная с. адреса с неизменной средней частью, т.е. выбор условия для ветвления, которое всегда является однозначйо ожидаемым, определяется типом выполняемой операции (микропрограммы) и типом микрооперации. Если микро?05!43 1Î
9 1
I команда является первой в микропро-" грамме, то в качестве кодов средней и младшей частей кодов адреса микрокоманды используются исходные (нулевые) коды. По сформированному адресу новой микрокоманды в узле
70 осуществляется выбор кода новой микрокоманды и установка его на выходах 93, 94, 98 и 99 (c. запоминанием во внутренних регистрах узла
70) . При этом запоминаются коды полей ПУ и ПСА микрокоманды, после чего сразу же аппаратными средствами в узле 70 начинается анализ кода поля управления новой микрокоманды и формирование внутренних управляющих сигналов в узле 70, обеспечивающих при появлении нового сигнала на входе 83 использование в качестве средней части кода адреса последующей микрокоманды кода, установленного . на входах второй группы входов узла 70 или кода средней части кода адреса текущей микрокоманды (в зависимости от кода, установленного в поле управления текущей микрокоманды). С появлением нового сигнала на входе 83 узла 70 описанный алгоритм функционирования узла повторяется.
При появлении сигнала на входе 83, обеспечивающего смену кода микрокоманды на выходах узла 70, установка высокого уровня напряжения на входе 84, переводящего узел 70 в исходное состояние, предотвращается вплоть до выборки и исполнения текущей микрокоманды, Смена кода на входах 74 узла 70, соединенных с выходами узла 72, кроме входа, соединенного с входом 91 узла 71, возможна только с переводом узла 70 в исходное состояние, так как установка нового кода на указанных выходах узла
72 возможна только при установке ло