Устройство для организации очередей элементов данных

 

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 возможна только при установке логического нуля на выходе 85 узла 73

73, что неотвратимо ведет к установке на входе 84 узла 70 высокого уровня напряжения, Узел 71 синхронизации предназначен для формирования импульсов синхро низации для других узлов блока 2 и на соответствующих выходах блока 2 через элементы И 68 — управляющих сигналов запуска блока 1 через триггеры 69, а также для управления циклами, т.е. управления многократным повторением управляющих сигналов и синхросигналов под действием одной

Узел 71 синхронизации работает следующим образом.

В исходном состоянии запуск узла осуществляется при установке логического нуля на входе 81. Генератор ill импульсов начинает генерировать последовательность импульсов, в соответствии с которой

55 формирователь 110 импульсов форми и той же микрокоманды без пов орного формирования кода микрокоманды на выходах узла 70.

Имитатор 113 предназначен для формирования управляющего сигнала для запуска блока 1 и отслеживания момента готовности операций в блоке

1 после его запуска, т.е ° имитирует цикл обращения блока 1.

10 Имитатор 113 работает следующим образом.

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

Запуск имитатора осуществляется при необходимости запуска блока l путем подачи на вход сигнала (логической единицы), Через время, равное времени включения имитатора, на первом выходе имитатора формируется сигнал !логическая единица ) для управления запуском блока 1. На втором выходе имитатора .устанавливается логический ноль, означающий, что в блоке 1 запущена операция, и блок не может быть использован для запуска новой операции. Сигнал запуска имитатора с входа имитатора поступает через первый элемент ИЛИ 133 и И 134 на вход 13 элемента задержки. Затем появляется сигнал на первом выходе элемента 131 задержки.

Этот сигнал через элемент НЕ 132 блокирует элемент И 134, на выходе которого устанавливается логический ноль, который через второй элемент

ИЛИ 133 распространяется на второй вход первого элемента И 134, окончательно предотвращая его включение, 40 независимо от времени сохранения сигнала запуска на входе имитатора.

В результате через элемент 131 задержки распространяется импульс.

На втором выходе элемента 131

45 появляется сигнал (высокий уровень напряжения), обеспечивающий установку нулевого уровня напряжения на первом выходе имитатора. !

11 1 рует последовательность импульсов . синхронизации на выходе 83 узла 71, Всякий раз импульс с выхода генератора lll подается на третий выход 80 узла 71 и используется как управляющий сигнал для узла 73.

В каждый такт работы, определяемый промежутком времени между моментами появления импульсов от выхода генератора lll узел 71 может функционировать в одном из пяти режимов: режиме синхронизации без запуска блока 1 (7)Р ); режиме синхронизации перед запуском блока 1 (71Р ); режиме синхронизации после запуска блока 1 (7)Р ); режиме управления циклами при поиске по приоритету (71Р4 ); режиме управления циклами при поиске по признакам и

IIpH просмотре (71Р.).

Определенный режим задается соответствующим кодом управляющих сигналов группы 99 выходов узла 70, т.е. режим функционирования узла 71 задается полем управления синхронизаци ей и циклами микрокоманды, Рассмотрим более подробно особенности функционирования узла 71 в каждом режиме.

При режиме 7)Р на входах устанавливается код 01000. После окончания действия импульсов на выходе генератора 111 на выходе элемента

НЕ 116 устанавливается высокий уровень напряжения, в результате чего включается элемент И 118. Высокий уровень напряжения с выхода элемента

И 118 распространяется через элемент

И 107 и элемент ИЛИ )08 и запускает формирователь 109 импульсов, На выходе 92 формируется импульс синхронизации, который, проходя через "открытые" элементы И 68 блока управления, обеспечивает переключения соответствующих регистров и счетчиков устройства. Одновременно высокий уровень напряжения появляется на выходе

78, используемый для синхронизации узла 73 при определенных режимах его функционирования, Другие выходы узла при этом остаются без изменений до смены кода микрокоманды, происходящей с появлением очередного импульса на выходе генератора 111 и формирователя 110 и на выходе 83 узла 71.

При режиме 71Р на входах устанавливается код 11000. После окон205)43 12

5 !

45 чания действия импульса на выходе генератора Ill на выходе 92 узла 7) формируется импульс синхронизации аналогично тому, как это осуществля" ется при режиме 7)Р . Одновременно через определенный промежуток времени, достаточный, чтобы после действия импульса синхронизации к моменту запуска блока в устройстве прекратились переходные процессы, включая и время установки адреса и данных на соответствующих .входах блока 1, запускается имитатор !13.

Необходимая задержка запуска блока

1 обеспечивается задержкой запускающего сигнала элементом 117 задержки, элементом ИЛИ 108, элементом

И 115 и задержкой включения имитатора 113, После запуска имитатора

113 на выходе 82 узла 71 появляется высокий уровень напряжения, который устанавливает на управляющих входах 22 код запускаемой операции блока 1 с помощью триггеров 69 блока 2.

Одновременно на выходе 79 узла 71 устанавливается уровень напряжения, что используе1ся для управления работой узла 73 в определенных режимах его функционирования.

Работа узла 71 в других режимах происходит аналогично, но на его входах формируются другие коды.

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

70 — 72 через входы 67 блока управления, а также для формирования управляющих сигналов на управляющих выходах устройства через соответствующие управляющие выходы блока 2 управления, Узел 73 работает следующим образом.

В исходном состоянии на входах

75,95,78,80,87,88,89 и 97 и на выходах 77, 85 устанавливается логический ноль,на выходах 76,81 и 84 и на входе 79 — логическая единица.

Запускается узел 73 при установке .на входах 75 и 86 логической единицы, 1205143 l0

При этом на выходе элемента

И-НЕ )22, выходе 81 узла и через нтемент И 126 на выходе 77 узла устанавливается логический ноль. Логический ноль на выходе 81 узла 73 обеспечивает запуск узла 71, Логический ноль, усTBHoBHB

76, устанавливается одновременно и на выходе 56 устройства, информируя внешнюю систему, в которой используется устройство о том, что операция в устройстве запущена. При этом с помощью элементов НЕ 130 и И

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

При этом, когда на входе 79 узла 73 устанавливается логический ноль, на первом входе элемента И 128 устанавливается логическая единица, на втором входе которого уже установлена логическая единица с входа 89 узла.

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

ЛЛИ 125 и с помощью элемента И !26, элементов ИЛИ !29 и НЕ 116 на выходе элемента И-НЕ 122 и выходе 81 узла устанавливается логическая единица. Появление логической единицы на выходе 81 узла обеспечивает блоки. ровку функционирования узла 71 и, следовательно, всего устройства. При этом на выходе 85 узла 73 удерживается логическая единица. Когда блок 1 готов к новому запуску, на входе 75 узла 73 устанавливается логическая единица, благодаря чему на выходе

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

Перезапуск логической единицы на входе 75 осущестт<ляетсл установкой на

55 входе 75 логического нуля на оемя, не меньшее времени, необходим го для установки на выходе 85 узла 73 логического нуля и приведения узла

70 н исходное состояние под действием логической единицы, после ;становки ее на выходе 84 узла 73, после чего ня нходе 75 узла 73 ннов. устанян.<тивается логическая единица. После перезапуска логической единицы ня входе 75 узла 73 описаннь<е переключения элементов узла повторяютс;<.

- <огда операция иПросмотреть о-тередьи должна быть завершена, на вых:дах узла 70 формируется код соотве;- твующей микрокоманды, в котором на двух выходах третьей группы выходо.. узла

70 и на входах 96 и 97 узла .. устанявливяется логическая единиц

Попытка перезапуска логич. "кой единицы на входе 75 узла 73 "."з смены кода на выходах дешифрато.>а 72 приводит лишь к повторению по<.ледней (завершающей) микрокоманд,;.

Если логическая единица устанавливается на входе 87 узла 73, -o через элемент ИЛИ-НЕ 124 блокноуется первый элемент И 126, а второй элемент И 126 подготавливается для включения. При этом в процесс . выполнения операции "Найти элемент данных в очереди по признаку" :ри обнаружении требуемого элемента данных (элемента, код которого содержит требуемый код-призна;) на входе 92 узла устанавливается лс. ическая единица, а при установке кода следующей (последней) MHKpoKQMBHpbi:-;а входах 95 и 96 узла 73 устанав.пинается единица, в результате чего включается элемент И 126, и через элемент ИЛИ 123 и третий элемент

И 126 на втором выходе 77 узла 73 устанавливается единица, информируя" внешнюю систему о успешном выполнении операции. Одновременно под действием логической единицы на входе 96 через элементы ИЛИ 12=, и 129, четнертый элемент И 126 элемент НЕ 116, злемент И-HE 122 и элемент И 128 на выходе 76 узла при единице на входе 79 устанавливается логическая единтята, "информирующая" внешнюю систему через выход 56 устройства о том, что устройство готово для нового запуска, После появления логической единицы на выходе 76 узла 73 на входе

1205143

15 !

Блок 2 управления (фиг. 2) работает следующиг образом.

В исходное состояние блок 2 управления устанавливается при установке в исходное состояние всего устройства и усек узлов блока 2. При этом на всех входах и выходах блока 2, кроме выхода 56 2 соединенных с входами дешифратора 72, устанавливается логический ноль °

Состояния входов блока 2, соединенных с входами дешифратора 72, могут

45 быть произвольными. На выходе 56 блока 2 устанавливается логическая единица. Перед запуском блока 2 на входах 65, 57, 58, 63, 13, 14, 17 и

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

При этом на входе 86 узла 73 может установиться логическая единица, означающая, что разрешен запуск блока 2 и выполнение задаваемой на входах 63, 13 и. 14 операции над элемен4Q

75 устанавливается логический ноль, если не требуется выполггенич новой операции. В pcçóëüòàòå узел 73 приводится в исходное состояние. Если, при выполненнии операции "Найти элемент данных в очереди по признаку", требуемый элемент данньгх (содержащий признак-код) не обнаружен, то на входе 95 логическая единица не устанавливается, а по:-..е просмотра всех элементов данных устанавливается код последней микрокоманды, такой же, как и в случае обнаружения элемента данных.

Однако в этом случае »а выходе 76 узла 73 удерживается логический ноль, ко гор гй после появления логической единиць на выходе 77 узла 73 означает, что операция завершена, нп требуемый элемент данных не найден. 20

Завершение функционирования узла

73 осуществляется всегда при установке на входе 96 логической единицы гри выполнении последней микрокоманды и при установке на входе 79 25 логической единицы. В этом случае на выходе 76 узла устанавливается логическая единица. При этом на выходе 85 удерживается логическая единица, а на выходе 84 — логический ноль. В .30 исходное состояние узел 73 переводится при установке на входе 76 логического нуля. та и:., пнь,х, и ги удерживаться логический ног, означающий, что выполнение заданной операции запрещено ° Запуск блока 2 осуществляется путем устаггогки на первом входе блока логической единицы, При этом, если на вьгходе 86 дешифратора 72 удерживается логический ноль, то запуска не происходит, и состояние выходов узлов и бло .а »е изменяется. Если на выходе

86 установилась логическая единиц», то осуществляется запуск блока 2, При этом вначале запускается узел 73, На вь:ходе 85 узла 73 устанавливается логическая единица, подаваемая на вход дешифратора 72 и обеспечивающая формирование управляющего кода на выходах дешифратора, а на выходе

81 узл:. 73 устанавливается логический ноль, подаваемый на вход узла 71 и обеспечивающий запуск узла 7), На выходе 66 узла 73 устанавливае,ся при этом логический ноль, подаваемый на выход 66 блока 2 и означающий, что блок управления запущен. На выходе 84 узла 73 устанавливается логический ноль, разрешающий" запуск узла 70. После запуск: узла 71 на выходе 83 узла 71 появляется первый импульс синхронизации, запускающий узел 70. На выходах узла 70 формируется (через время, равное циклу работы узла 70) ко:i первой микрокоманды микропрограммы, начальный адрес которой задается кодом на входах 74, который состоит из управляющего кода, установленного на входах 74, соединенных с выходами дешифратора 72 и нулевым кодом, установленным на входах 74, соединенных с входами 39 и 48 блока

2, В зависимости от кодов микрокоманды, сформировавшихся на выходах

98 и 99 групп выходов узла 70, задается соответствующий режим функционирования соответственно узла 73 и

71 через входы 96, 97 узла 73 и входы 100-104 узла 71, Режим функционирования узла 73 задается управляющими сигналами с соответствующих вьгходов дешифратора 72 через входы

87-89 узла .73, на которых устаггавливается логическая единица при коде задаваемой операции на входах

63, 12 и 14 дешифратора 72 и управляющим сигналом с входа 67 блока 2.

Возможны два режима формирования управляющих сигналов блока 2, 17

1205)43

4

При первом режиме на выходах группы 93 узла 70 после формирования, кода микрокоманды устанавливается код, логическая единица каждого разряда которого обеспечивает включение того логического элемента И 68, выход которого соединен с выходом бло.ка управления, на котором предусматривается появление импульса синхронизации или счетного импульса для ,счетчиков устройства в рассматрива,емом такте блока 2, под которым понимается промежуток времени между моментами появления импульсов синхронизации на выходе 92 узла 71.

При этом импульс синхронизации на выходе 92 и, следовательно, на соответствующих выходах блока 2 управления 17, 19, 23, 24, 33, 40, 41, 42, 47, 49, 53, 54, 61 и 62, появляется с задержкой относительно момента появления кода микрокоманды на выходах узла 70 и, следовательно„ кода на выходах группы 94 выходов узла 70 и на выходах 18, 20, 21, 27, 28, 34 35, 44, 45 и 46 узла

2, равной переходным процессам в мультиплексорах и счетчиках устройства, вызванных действием управляющих сигналов с выходов блока 2, соединенных с выходами группы 94 выходов узла 70. Затем через время, равное времени установки удреса и данных на соответствующих входах блока 1, на выходах 22 блока 2 может сформироваться запускающий код для блока 1, соответствующий определенной операции в блоке 1, если это предусмотрено микрокомандой, Код опре деленной операции для блока 1 задается с двух выходов группы 93 выходов узла 70 через триггеры 69 и, следовательно, выходы 22 блока 2 под действием логической единицы с выхода 82 узла 71.

При втором режиме формирования управляющих сигналов блока 2 блок управления функционирует аналогично тому, как это осуществляется при первом режиме, однако изменяется порядок формирования управляющих сигналов на разных группах выходов блока 2. Как и при первом режиме, вначале формируются или постоянно удерживаются управляющие сигналы на выходах блока 2, соединенных с второй группой выходов узла 70. Через время, равное переходным процессам в узле

1S

40 73, на выходах 22 блока 2 формируется управляющий код для запуска блока 1 вследствие формирования логической единицы на выходе 82 узла 71 ° Затеи через время, равное времени завершения операции считывания в блоке 1, но не меньшее времени удержания управляющих сигналов на управляющих выходах 22 блока 2 и соответствующих управляющих входах блока 1, при кото,ром обеспечивается нормальное завершение операции в блоке 1, т.е. после установки на выходах 22 нулевого кода на соответствующих выходах блока 2 из выходов блока управления, соединенных с выходами элементов И 68, формируются управляющие импульсы синхронизации под действием импульса синхронизации, появляющегося на выходе 92 узла 71 . Каждый раз при появлении импульса синхронизации на выходе 83 узла 71 на выходе 80 узла 71 появляется логическая единица на время, пока »е будет заменен код микрокоманды на выходах узла 70, благодаря чему на выходе 84 узла 73 удерживается логический ноль и предотвращается преждевременный (не предусмотренный алгоритмом функционирования блока 2) перевод узла 70 в исходное состояние. При появлении следующего импульса синхронизации на выходе

83 узла 71 осуществляется (через время, равное циклу работы узла 70) установка на выходах узла 70 кода

НоВоН микрокоманды, которая вновь задает один из двух описанных режи мов формирования управляющих сигналов блока 2. При этом режим формирования управляющих сигналов блока 2 может непрерывно повторяться без формирования импульса синхронизации на выходе 83 узла 71. Это имеет место, когда в узле 71 устанавливается режим 71Р и 71Р, В этом случае последовательное формирование управляющего сигнала на выходах 22 блока 2 и импульсов синхронизации на соответствующих выходах блока 2, соединенных с выходами элементов 68. многократно повторяется при одном и том же коде микрокоманды на выходах узла 70 до тех пор,iпока не произойдет формирование импульса синхронизации на выходе 83 узла 71 и смена кода микрокоманды на выходах узла 70, Импульс синхронизации на выходе 83 узла 71 появля205143

5

50

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

71Р или когда узел 71 находится в режиме 71Р, или при появлении логической единицы на входах 90 и 92 узла 71, когда узел 71 находится в режиме 71Р, а на выходах дешифратора 72 устанавливается соответствующий код, При этом формирование импульса синхронизации на выходе 83 узла 71 осуществляется после перезапуска логической единицы на входе 12 блока 2. При установке комбинации логических единиц на входах 74, соединенных входами 39 и 48 блока 2, обеспечивается формирование новых трех последовательностей кодов микрокоманд для одних и тех же определенных микропрограмм.

Первый режим формирования управляющих. сигналов блока 2 устанавливается при режимах функционирования

71Р<, 71Р узла 71 ° Второй режим формирования управляющих сигналов блока 2 устанавливается при режимах функционирования 71Р, 71Р>, 71Р узла 71. Управляющими сигналами с выходов группы 98 выходов узла 70, с входов 96 и 97 узла 73 обеспечи,вается управление установкой логической единицы на выходах 66 и 56 блока 2 через выходы соответственно

76 и 77 узла 73. Логическая единица на выходе 66 блока 2 устанавливается в определенные моменты выполне. ния операций над элементами данных в устройстве, оговоренные при описании узла 73, и отражает этап или результаты выполнения операций в устройстве. В большинстве случаев логическая единица на выходе 66 блока

2 устанавливается при установке логической единицы на входе 97 узла 73 и выходе 78 узла 71. В остальных случаях установка логической единицы на выходе 66 блока 2 осуществляется при установке логической единицы на выходе

17 блока 2, входе 96 узла 73. На выходе

56 устанавливается логическая единица при установке на выходах узла 70 кода последней микрокоманды микропрограммы, под управлением которой реализуется алгоритм функционирования блока управления и устройства при запуске в устройстве любой операции над элементами данных. Установка I логической единицы на выходе 56 блока

2 означает, что операция, заданная на входах 63, 13 и 14 блока 2, выполнена, и устройство готово для запуска новой операции, код которой можно заранее установить на входах 63, 13 и 14 блока 2 после запуска предыдущей операции. Запуск новой операции осуществляется путем перезапуска логической единицы на входе 12 блока 2.

При этом после установки на входе

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

57, 58 и 65 должны сохраняться в течение всего времени после включения и начала функционирования устройства.

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

Мультиплексор 5 предназначен для подключения к адресным входам блока 1

1 и входам соответствующих групп вхо" дов мультиплексоров 30 и 36 выходов или счетчика 3, или счетчика 4, или регистра 29, или регистра 32 в за-. висимости от установленного на управляющих входах мультиплексора 5 управляющего кода.

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

Выходной регистр 8 данных, также как и первый 52 и второй 55 входные регистры данных, предназначен для приема, хранения и передачи кодов элементов данных.

Входной мультиплексор 9 данных предназначен для подключения входов

1?05143 первой группы 26 входов устройства или выходов первого входного регистра 52 данных, или выходов регистра 8 данных к входам второго входного регистра данных в зависимости от кода, установленного на управляющих входах мультиплексора, Узел 10 сравнения адресов предназначен для сравнения кода адресов с выходов счетчика 3 и регистра 37 и формирования управляющего сигнала логической единицы на выходе при совпадении кодов на группах входов.

Выходы 11 контроля состояния очереди предназначены для передачи кода степени заполненности очереди с первых трех выходов дешифратора 7 с целью обеспечения контроля эа состоя-. нием очереди со стороны внешней системы, в которой-используется устройство, Первый вход 12 устройства предназначен для запуска или перезапуска блока управления и устройства.

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

Второй вход 13 устройства и вход

14 устройства являются вместе с входом 63 входами 64 задания вида операции над элементами данных в очереди.

Группа 25 информационных выходов устройства предназначена для формирования кодов выводимых элементов данных.

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

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

Мультиплексор 30 и мультиплексор

36 предназначены для подключения соответствующих источников кодов информации к входам регистров соот-

Выход 66 контроля результата устройства предназначен для информирования внешней системы, в которой уст; ройство используется, о результатах

ll0

ЗО

5О ветственно 32 и 37 с целью формирования требуемого кода указателя элементов данных очереди при вводе или выводе элементов данных из очереди, Код указателя в данном случае представляет. собой код адреса определенной ячейки блока 1.

Группа 31 информационных выходов устройства предназначена для формирования кодов выводимых элементов данных вместе с первой группой 25 выходов при использовании устройства для решения задач буферизации элементов данных в виде очередей, В других случаях группа 31 выходов не используется, Группа .43 входов устройства предназначена для установки кодов, вводимых в очередь элементов данных вместе с группой 26 входов при использовании устройства для решения задач буферизации элементов данных в виде очередей. В других случаях использования устройства группа 43 входов не используется °

Узел 51 сравнения приоритетов предназначен для сравнения кодов приоритетов элементов данных, выводимых из очереди на выходы группы 25 выходов устройства и элементов данных, вводимых в очередь через группу 26 входов устройства и запоминаемых в регистре 52 данных, Узел 59 сравнения признаков предназначен для сравнения кода признака элемента данных, код которого,установлен на выходах регистра

8 и кода признака, установленного на определенной группе выходов ре- . гистра 52.

Входы 5? и 58 задания типа очереди предназначены для задания типа очереди, организуемой с помощью устройства, Регистр 60 состояния предназначен для временного хранения кода количества элементов очереди, формируемого счетчиком 6 при проведении поиска элемента в очереди, Вход 65 управления классом решаемых задач предназначен для настройки устройства на решение определенного класса задач.

1205)43

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

В начальное исходное состояние после включения устройство переводится путем формирования на общей шине сброса (не показана) импульса сброса, переводящего все регистры, счетчики, узлы и блоки устройства в исходное состояние. При этом на всех управляющих входах устройства устанавливается логический ноль, После сброса на выходах 11 контроля состояния очереди должен установиться код, на выходе 56 контроля готовности устройства должна установиться логическая единица, а на выходе.бб контроля результата устанавливается логический ноль, означающие, что устройство готово для запуска и использования. Заренее определяется класс решаемых задач и тип очереди, для организации которой . предлагается испольэовать устройство, после чего на входе 65 задания класса решаемых задач устанавливается соответствующий код класса решаемых задач, на выходах 57 и 58 устанавливается соответствующий код типа очереди. Установленные коды должны сохраняться в течение всего времени использования устройства по выбранному назначению. При любом изменении указанных кодов, а также при установке кода на выходе 17 и входе 16 блока 2 после завершения очередной операции в устройстве вновь формируется импульс сброса, и устройство переводится в рабочее исходное состояние, при котором на входах 57, 58 и 65, а также на входах 64 может быть установлен произвольный код. Код операции над элементами данных в устройстве задается на входах 64. Первой операцией над элементами данных может быть только операция ввода первого (нового) элемента данных в очередь.

После установки кода элемента данных на входах 26 и 43 и кода типа операции,на входах 64 устройства через время, равное переходным процессам, в блоке управления на входе 12 устанавливается логическая. единица, запускающая устройство для выполнения заданной операции, После запуска устройства, если операция принята к выполнению, на выходе 56 контроля готовности устройства устанавливается логический ноль, который в сочетании с логической единицей на входе 12 устройства означает, что устройство запущено для выполнения операции над элементами данных.

Через определенное время, определяемое сложностью алгоритма выполнения операции, на выходах 56 и 66 устройства устанавливается логическая единица, означающая, что операция успешно завершена, и устройство готово для выполнения новой операции над элементами данных очереди. При этом на выходе 66 логическая едини20 ца может появиться раньше, чем на выходе 56, что определяется алгоритмом выполнения и видом операции.

После того, как бып осуществлен запуск устройства, и на выходе 56 ус25 тановился логический ноль, на входах

64 может быть заранее установлен код новой (следующей) операции, без нарушения выполнения предшествующей операции.

После установки логической единицы на выходе 66 устройства на входах

26 и 43 может быть установлен код нового элемента данных. Очередная операция может быть запущена и устройстве только после установки на выходе 56 логической единицы. При этом перезапуск устройства осуществляется путем установки на входе 12 логического нуля на время, не мень40 шее времени перевода блока 2 управления в исходное состояние, с последующей установкой на входе 12 логической единицы. Если при этом запускается операция вывода элемента

45 данных из очереди, то в момент установки кода выводимого элемента данных на выходах 25 и 31 на выходе 66 устанавливается логическая единица. При этом во всех случаях, когда элементы данных очереди выво.дятся иэ очереди, коды этих элемен,тов устанавливаются на выходах 25 и 31. При этом момент установки кодов на выходах 25 и 31 отмечается установкой на выходе 66 логической единицы.

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

1205143

26 в соответствии с количеством "разрешенных" кодов на входах 57 и 58, 65 и 64 устройства. Каждый алгоритм представляет собой последовательность микроалгоритмов, каждый из которых выполняется за один такт устройства. Под тактом устройства понимается промежуток времени между моментами появления импульсов синхронизации на выходах блока 2 управления, соединенных с выходами элементов И 68 блока 2. Каждый алгоритм кодируется микропрограммой, хранимой в узле 70 блока 2 или опре,— деленной последовательностью микрокоманд микропрограммы, кодирующей несколько алгоритмов, Каждый микроалгоритм кодируется кодом одной микрокоманды. Кодом каждой микрокоманды кодируется также и связь каждой предыдущей микрокоманды (следовательно, микроалгоритмов) с последующей,а также и возможное изменение этих связей в требуемый момент. При каждом алгоритме функционирования в устройстве обеспечивается выполнение определенной операции над элементами данных при заданном классе решаемых задач и типе организуемой очереди в соответствии с реализуемым способом организации очереди.

В устройстве реализуется следующий способ организации очередей элементов данных, Очереди элементов данных типа первый вошел — первый вышел (FIFO) или стека, когда реализуется принцип "последний вошел первый вышел" (LIFO), при решении задач буферизации организуются путем построения списка элементов данных в блоке 1, элементы которого упорядочиваются соответствующим образом благодаря записи их в последовательно расположенных соседних ячейках блока 1, причем адрес ячейки, в которой хранится первый элемент, и адрес ячейки, в которой хранится последующий элемент списка, формируется и хранится в счетчиках 3 и 4.

При этом свободные ячейки блока 1 учитываются как ячейки, адреса которых находятся между адресом первого

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

f5

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

Для приоритетных очередей элементы списка упорядочиваются в соответствии с номером приоритета, код которого содержится в каждом элементе данных. Адрес ячейки, где хранится первый элемент очередей, хранится в специальном запоминающем узле-счетчике 3. При этом в ячейку, в которой хранится последующий элемент любой очереди, в качестве указателя записывается адрес нулевой ячейки — нулевой код, а нулевая ячейка блока 1 не используется для записи элементов данных при организации приоритетных очередей при любом классе решаемых задач и при организации любых очередей при решении задач управления ° В нулевой ячейке блока 1 в этих случаях всегда хранится нулевой код. При организации приоритетных очередей каждый элемент данных, кроме основной информации, должен содержать информацию о приоритете, который присвоен элементу данных. Код приоритета располагается в строго фиксированном месте элемента данных и записывается в соответствующую ячейку блока 1 вместе с элементом данных в строго фиксированных разрядах ячейки ° Коды приоритета могут представляться двоичными числами. При вводе очередного элемента данных в приоритетную очередь осуществляется последовательное считывание элементов данных, начиная с элемента с наивысшим приоритетом, в порядке убывания приоритетов и сравнение приоритета каждого считанного элемента данных с приоритетом вводимого в очередь

27 1205143 28 элемента данных до тех пор, пока не: элементов данных на информационных .будет считан элемент, приоритет кото1. выходах 25 устройства, начиная с перрого меньше приоритета вводимого вого элемента данных очереди и до тех элемента данных, после чего осуще- пор, пока код признака — содержимое ствляется вставка нового элемента элемента данных, представляющее код в очередь перед последним счи- информации, располагаемый в опредетанным элементом очереди путем запи- ленном месте элемента данных — не си его. в свободную ячейку блока 1 с совпадет с кодом признака, установсоответствующим кодом указателя и со- ленного на определенной группе вхоответствующим изменением кода указа- tO дов 26 устройства, который сравнипредшествующего элемента очере- вается с соответствующим кодом приэПри sTox при организации приори- нака каждого считываемого из блока 1 тетной очереди, а также при организа- элемента данных) и удаления обнаружен. ции любой очереди при решении задач ного Ълемента данных путем изменения управления ячейки, освобождаемые при 1 кода указателя предыдущего элемента выводе элементов данных из очереди, очереди, поиска элемента в очереди учитываются путем построения в блоке по признаку (содержимому) элемента

1 очереди учета свободных ячеек. (осуществляемому также, как и при

При всех укаэанных способах орга- выводе элемента очереди по признаку, низации очередей учет количества 20 без вывода элемента данных из очеэлементов в очереди и формирование реди), модификации (изменения) содер1соответствующего кода осуществляется жания элемента данных, найденных по

1

:с помощью реверсивного счетчика, к признаку или при просмотре. Под приз содержимому которого добавляется еди- наком в данном случае понимается двоница когда вводится новый элемент 25 ичный код части информации, содержа-! данных, и вычитается единица, когда 1щейся в элементе данных, располовыводится элемент данных из очереди. женный в строго определенном месте

В предлагаемом устройстве при ре- элемента данных. Благодаря возможшении задач управления обеспечивается ности указанных операций над элеменвозможность просмотра всех элементов 30 тами данных очередей обеспечивается очереди (путем последовательного счи- организация списков элементов дантывания элементов данных очереди из ных, представляющих собой структуры блока 1 и установки кода элементов управляющих таблиц, используемых в данных на информационных выходах 25 операционных системах для управлеустройства, начиная с первого элемен-35 ния вычислительными процессами. та очереди и кончая последним), вывода любого элемента очереди по приз- Предлагаемое устройство в этом каку (содержимому) выводимого элемен-,случае может быть использовано как та (осуществляется путем последова- аппаратное средство поддержки структельного считывания элементов данных. 10 тур данных, обеспечивающее высокое очереди из блока 1, установки кода быстродействие.

1 2051 А 1

1205143

Я

2f

48

ФГ

1205143

1205143

Фиг 4

ВНИИПИ Заказ 8536/51

Тираж 709 Подписное

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

Устройство для организации очередей элементов данных Устройство для организации очередей элементов данных Устройство для организации очередей элементов данных Устройство для организации очередей элементов данных Устройство для организации очередей элементов данных Устройство для организации очередей элементов данных Устройство для организации очередей элементов данных Устройство для организации очередей элементов данных Устройство для организации очередей элементов данных Устройство для организации очередей элементов данных Устройство для организации очередей элементов данных Устройство для организации очередей элементов данных Устройство для организации очередей элементов данных Устройство для организации очередей элементов данных Устройство для организации очередей элементов данных Устройство для организации очередей элементов данных Устройство для организации очередей элементов данных Устройство для организации очередей элементов данных Устройство для организации очередей элементов данных Устройство для организации очередей элементов данных Устройство для организации очередей элементов данных Устройство для организации очередей элементов данных Устройство для организации очередей элементов данных 

 

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

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

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

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

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

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

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

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