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

Номер патента: 1205143

Авторы: Заблоцкий, Самусев, Яскульдович

ZIP архив

Текст

СОЮЗ СОВЕТСКИХСОЦИАЛИСТИЧЕСКИХРЕСПУБЛИК 114 С 0 Р ЕТ СССРОТКРЫТЮ ЛИСАНИЕ ИЗОБРЕ АВТОРСКОМУ СВИДЕТЕЛЬСТВУ ц/ А, А. Самусе ГОСУДАРСТВЕННЫЙ КОМ ПО ДЕЛАМ ИЗОБРЕТЕНИЙ(54)(57) 1. УСТРОЙСТВО ДЛЯ ОРГАНИЗАЦИИ ОЧЕРЕДЕЙ ЭЛЕМЕНТОВ ДАННЫХ, содержащее блок памяти, блок управления, счетчик адресов считывания,счетчик адресов записи, мультиплексор адресов, реверсивный счетчик,дешифратор, выходной регистр данных,входной мультиплексор данных, узелсравнения адресов, причем первый,второй и третий выходы дешифраторасоединены с выходами контроля состояния очереди устройства, блок управления содержит группу элементов И, дватриггера, узел формирования последовательностей микрокоманд, узелсинхронизации, дешифратор, узелуправления запуском и завершениемопераций, первый, второй и третийвходы режима устройства соединеныс первым, вторым и третьим входамидешифратора, блок управления, четвертый и пятый входы дешифратораблока управления соединены с четвертым и пятым выходами дешифратора,входы которого соединены с выходамиреверсивного счетчика, счетный и так.товый входыкоторого соединены соответственно с выходом первого элемента И группы и с первым выходом пер,вой группы выходов узла формирования последовательностеи микрокоманд блока управления, выход второго элемента И группы блоков управления соединен со счетным входом счетчика адресов записи, информационные выходы которого соединены с первой группой информационных входов мультиплексора адресов, управляющие входы которо", го соединены соответственно с вторым и третьим выходами первой группы выходов узла формирования последовательностей микрокоманд блока управления, выходы триггеров которого соединены с вхоГ дами управления запиСью и чтением блока памяти, адресные входы которо- а го соединены с группой выходов мультиплексора адресов, вторая группа информационных входов которого соединена с первой группой входов узла сравнения адресов и с выходами счетчика адресов считывания, счетный вход которого соединен с выходом третьего элемента И группы блока управления, выход четвертого элемента И группы которого соединен с управляющим входом выходного регистра данных, информационные входы которого соединены с первой группой выходов блока памяти, выходы выходного регистра данных являются первой группой информационйых выходов устройства и входами первой группы информационных входов входного мультиплексора данных, вторая группа информационных входов которого соединена с первой группой информационных входов устройства, управляющие входы входного мультиплексора данных соединены с четвертым и пятым выходами первой группы выходов узла формирования последователь205143 10 9 1команда является первой в микропро-"грамме, то в качестве кодов среднейи младшей частей кодов адресамикрокоманды используются исходные(нулевые) коды. По сформированномуадресу новой микрокоманды в узле70 осуществляется выбор кода новоймикрокоманды и установка его навыходах 93, 94, 98 и 99 (с запоминанием во внутренних регистрах узла70), При этом запоминаются коды полей ПУ и ПСА микрокоманды, послечего сразу же аппаратными средствамив узле 70 начинается анализ кода поляуправления новой микрокоманды и формирование внутренних управляющихсигналов в узле 70, обеспечивающихпри появлении нового сигнала на входе 83 использование в качестве средней части кода адреса последующеймикрокоманды кода, установленногона входах второй группы входов узла 70 или кода средней части кодаадреса текущей микрокоманды (в зависимости от кода, установленного вполе управления текущей микрокоманды). С появлением нового сигнала навходе 83 узла 70 описанный алгоритмфункционирования узла повторяется.При появлении сигнала на входе 83,обеспечивающего смену кода микрокоманды на выходах узла 70, установка высокого уровня напряжения навходе 84, переводящего узел 70 висходное состояние, предотвращаетсявплоть до выборки и исполнения текущей микрокоманды. Смена кода на входах 74 узла 70, соединенных с выходами узла 72, кроме входа, соединенного с входом 91 узла 71, возможнатолько с переводом узла 70 в исходное состояние, так как установка нового кода на указанных выходах узла72 возможна только при установкелогического нуля на выходе 85 узла 7373, что неотвратимо ведет к установке на входе 84 узла 70 высокогоуровня напряжения,Узел 71 синхронизации предназначен для формирования импульсов синхро низации для других узлов блока 2 и на соответствующих выходах блока 2 через элементы И 68 - управляющих сигналов запуска блока 1 через триггеры 69, а также для управления циклами, т.е. управления многократным повторением управляющих сигналов и синхросигналов под действием одной Узел 71 синхронизации работает следующим образом.В исходном состоянии запуск узла осуществляется при установке логического нуля на входе 81. Генератор 111 импульсов начинает генерировать последовательность импульсов, в соответствии с которой 55 формирователь 110 импульсов формии той же микрокоманды без пов орного формирования кода микрокомандына выходах узла 70,Имитатор 113 предназначен дляформирования управляющего сигналадля запуска блока 1 и отслеживаниямомента готовности операций в блоке1 после его запуска, т.еимитируетцикл обращения блока 1,1 О Имитатор 113 работает следующимобразом.В исходном состоянии на входеимитатора и первом выходе устанавливается логический ноль, а на вто 15 ром выходе - логическая единица.Запуск имитатора осуществляется принеобходимости запуска блока 1 путемподачи на вход сигнала (логическойединицы), Через время, равное времени включения имитатора, на первомвыходе имитатора формируется сигнал логическая единица ) для управления запуском блока 1. На второмвыходе имитатора устанавливается ло.гический ноль, означающий, что вблоке 1 запущена операция, и блокне может быть использован для запуска новой операции. Сигнал запускаимитатора с входа имитатора поступает через первый элемент ИЛИ 133и И 134 на вход 13 элемента задержки. Затем появляется сигнал на первом выходе элемента 131 задержки.Этот сигнал через элемент НЕ 132блокирует элемент И 134, на выходекоторого устанавливается логическийноль, который через второй элементИЛИ 133 распространяется на второйвход первого элемента И 134, окончательно предотвращая его включение,40независимо от времени сохранениясигнала запуска на входе имитатора.В результате через элемент 131задержки распространяется импульс.На втором выходе элемента 13145появляется сигнал (высокий уровеньнапряжения), обеспечивающий установку нулевого уровня напряженияна первом выходе имитатора,, синхронизации на выходе 83 узла 71,Всякий раз импульс с выхода генератора 111 подается на третий выход 80узла 71 и используется как управляющий сигнал для узла 73.В каждый такт работы, определяемый промежутком времени между моментами появления импульсов от выхода генератора 11, узел 71 можетфункционировать в одном из пяти режимов: режиме синхронизации без запуска блока 1 (71 Р ); режиме синхронизации перед запуском блока 1(71 Р ); режиме синхронизации послезапуска блока 1 (71 Р ); режиме управления циклами при поиске по приоритету (71 Р 4 ); режиме управленияциклами при поиске по признакам ипри просмотре (71 Р ).Определенный режим задается соответствующим кодом управляющих сигналов группы 99 выходов узла 70, т.е.режим функционирования узла 71 задается полем управления синхронизацией и циклами микрокоманды,Рассмотрим более подробно особенности функционирования узла 71 в каждом режиме.При режиме 71 Р на входах устанавливается код 01000, После окончания действия импульсов на выходе генератора 111 на выходе элемента НЕ 116 устанавливается высокий уровень напряжения, в результате чего включается элемент И 118. Высокийуровень напряжения с выхода элемента И 118 распространяется через элемент И 107 и элемент ИЛИ 108 и запускает формирователь 109 импульсов, На выходе 92 формируется импульс синхронизации, который, проходя через "открытые" элементы И 68 блока управления, обеспечивает переключения соответствующих регистров и счетчиков устройства. Одновременно высокий уровень напряжения появляется на выходе 78, используемый для синхронизации узла 73 при определенных режимах его функционирования, Другие выходы узла при этом остаются без изменений до смены кода микрокоманды, происходящей с появлением очередного импульса на выходе генератора 111 и формирователя 110 и на выходе 83 узла 71.При режиме 71 Р на входах устанавливается код 11000. После окон 205143 12 50 55 5 10 15 20 25 30 35 40 45 чания действия импульса на выходегенератора 111 на выходе 92 узла 71формируется импульс синхронизациианалогично тому, как это осуществляется при режиме 71 Р . Одновременночерез определенный промежуток време"ни, достаточный, чтобы после действия импульса синхронизации к моменту запуска блокав устройствепрекратились переходные процессы,включая и время установки адреса иданных на соответствующих ,входахблока 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При этом на выходе элемента И-Ш, 122, выходе 81 узла и через элемент И 126 на выходе 77 узла устанавливается логический ноль. Логический ноль на выходе 81 узла 73 обеспечивает запуск узла 71, Логический ноль, установивцись на выходе 76, устанавливается одновременно и на выходе 56 устройства, информируя внешнюю систему, в которой используется устройство о том, что операция в устройстве запущена. При этом с помощью элементов НЕ 130 и И 1 И 129 на выходе 85 узла устанавливается логическая единица, обеспечивая формирование управляющего. кода на выходе узла, а на выходе 84 - логический ноль. После установки на выходе 85 логической единицы и формиро вания определенного кода на выходах дешифратора 72 на входах 87-89 можетустановиться логическая единица.Если логическая единица установилась на входе 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 осущесвляетсл установкой наО входе 75 логического нуля на оемя, не меньшее времени, необходим го для установки на выходе 85 узла 73 логического нуля и приведения узла 70 в исходное состояние под действием логической единицы, после ;становки ее на выходе 84 узла 73, после чего на входе 75 узла 73 внов, устанавливается логическая единица, После перезапуска логической единицы на входе 75 узла 73 описанные переключения элементов узла повторяютс, Когда операция вПросмотреть о-тередьи должна быть завершена, на вых,дах узла 70 формируется код соответ .твующей микрокоманды, в котором на двух выходах третьей группы выходов узла 70 и на входах 96 и 97 узла уста 20 25 30 35 40 50 55 навливается логическая единицПопытка перезапуска логич. "кой единицы на входе 75 узла 73 "."з смены кода на выходах дешифрато а 72 приводит лишь к повторению последней (завершающей) микрокоманд:.Если логическая единица устанав- ливается на входе 87 узла 73, то через элемент ИЛИ-НЕ 124 блокноуется первый элемент И 126, а второй элемент И 126 подготавливается для включения. При этом в процесс выполнения операции "Найти элемент данных в очереди по признакуи ",ри обнаружении требуемого элемента данных (элемента, код которого содержит требуемый код-признак) на входе 92 узла устанавливается логическая единица, а при установке кода :ледующей (последней) микрокоманды на входах 95 и 96 узла 73 устанавливается единица., в результате чего включается элемент И 126, и через элемент ИЛИ 123 и третий элемент И 126 на втором выходе 77 узла 73 устанавливается единица, информируя" внешнюю систему о успешном выполнении операции, Одновременно поц действием логической единицы на входе 96 через элементы ИЛИ 125 и 129, четвертый элемент И 126 элемент НЕ 116, злемент И-НЕ 122 и элемент И 128 на выходе 76 узла при единице на входе 79 устанавливается логическая едингща, информирующая" внешнюю систему через выход 56 устройства о том, что устройство готово для нового запуска, После появления логической единицы на выходе 76 узла 73 на входеБлок 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 операции над элемен 35 40 75 устанавливается логический ноль, если не требуется выполнепич новой операции. В результате узел 73 приводится в исходное состояние, Если, при выполненнии операции "Найтиэлемент данных в очереди по признаку", требуемый элемент данныхсодержащий признак-код) не обнаружен, то на входе 95 логическая единица не устанавливается, а пос 1 е 10 просмотра всех элементов данныхустанавливается код последней микрокоманды, такой же, как и в случае обнаружения элемента данных,Однако в этом случае на выходе 76 узла 73 удерживается логический ноль, ко горай после появления логической единиць 1 на выходе 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и обеспечивающий запуск узла 71,На выходе 66 узла 73 устанавливае,ся при этом логический ноль, подаваемый на выход 66 блока 2 и означающий, что блок управления запущен. На выходе 84 узла 73 устанавливается логический ноль, разрешающий" запуск узла 70. После запуск: узла 71 на выходе 83 узла 71появляется первый импульс синхронизации, запускающий узел 70. Навыходах узла 70 формируется (черезвремя, равное циклу работы узла 70)кол первой микрокоманды микропрограммы, начальный адрес которой задается кодом на входах 74, которыйсостоит из управляющего кода, установленного на входах 74, соединенныхс выходами дешифратора 72 и нулевымкодом, установленным на входах 4,соединенных с входами 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.1Возможны два режима формированияуправляющих сигналов блока 2, 18120514317При первом режиме на выходах группы 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. Через время, равное переходным процессам в узле5 10 15 20 25 30 35 40 без формирования импульса синхронизации на выходе 83 узла 71. Это имеет место, когда в узле 71 устанавливается режим 71 Р и 71 Р , В этомслучае последовательное формированиеуправляющего сигнала на выходах 22блока 2 и импульсов синхронизациина соответствующих выходах блока 2,соединенных с выходами элементов 68,многократно повторяется при одном итом же коде микрокоманды на выходах узла 70 до тех пор,епока непроизойдет Формирование импульсасинхронизации на выходе 83 узла 71и смена кода микрокоманды на выходах узла 70, Импульс синхронизации на выходе 83 узла 71 появля 45 5055 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 может непрерывно повторяться5 1 О 15 20 25 30 3540щ45 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кода последней микрокоманды микро"программы, под управлением которойреализуется алгоритм функционированияблока управления и устройства призапуске в устройстве любой операциинад элементами данных. Установкалогической единицы на выходе 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 данныхпредназначен для подключения входовпервой группы 26 входов устройстваили выходов первого входного регистра 52 данных, или выходов регистра 8данных к входам второго входного регистра данных в зависимости от кода,установленного на управляющих входахмультиплексора,Узел 1 О сравнения адресов предназначен для сравнения кода адресовс выходов счетчика 3 и регистра 37и формирования управляющего сигналалогической единицы на выходе присовпадении кодов на группах входов.Выходы 11 контроля состояния очереди предназначены для передачи кодастепени заполненности очереди с первых трех выходов дешифратора 7 с целью обеспечения контроля эа состоянием очереди со стороны внешней системы, в которой используется устройство,Первый вход 12 устройства предназначен для запуска или перезапускаблока управления и устройства.В исходном состоянии на входе 12устанавливается логический ноль. Приустановке на входе 12 логическойединицы может произойти запуск устройства.Второй вход 13 устройства и вход14 устройства являются вместе с входом 63 входами 64 задания вида операции над элементами данных в очереди.Группа 25 информационных выходовустройства предназначена для формирования кодов выводимых элементовданных.Группа 26 информационных входовустройства предназначена для установки кодов вводимых в очередь элементов данных, а также установки на.определенных входах группы кода- признака при выводе и поиске элементов данных по признаку.Регистр 29 предназначен для хранения адреса очередной свободной ячейки блока 1, в которую можно .записывать очередной элемент данных очереди при использовании устройства для решения задач управления при организации очереди любого типа, и при использовании устройства для решения задач буферизации.Мультиплексор 30 и мультиплексор 36 предназначены для подключения соответствующих источников кодов информации к входам регистров соот Выход бб контроля результата устройства предназначен для информирования внешней системы, в которой уст; ройство используется, о результатах 10 15 20 25 ЗО 35 40 45 50 ветственно 32 и 37 с целью формирования требуемого кода указателяэлементов данных очереди при вводеили выводе элементов данных из очереди, Код указателя в данном случаепредставляет. собой код адреса определенной ячейки блока 1,Группа 31 информационных выходовустройства предназначена для формирования кодов выводимых элементовданных вместе с первой группой 25выходов при использовании устройства для решения задач буферизацииэлементов данных в виде очередей,В других случаях группа 31 выходовне используется,Группа .43 входов устройства предназначена для установки кодов, вводимых в очередь элементов данныхвместе с группой 26 входов при использовании устройства для решениязадач буферизации элементов данных ввиде очередей. В других случаяхиспользования устройства группа 43входов не используется.Узел 51 сравнения приоритетовпредназначен для сравнения кодовприоритетов элементов данных, выводимых из очереди на выходыгруппы 25 выходов устройства иэлементов данных, вводимых в очередь через группу 26 входов устройства и запоминаемых в регистре 52данных,Узел 59 сравнения признаковпредназначен .для сравнения кодапризнака элемента данных, код которо.го,установлен на выходах регистра8 и кода признака, установленногона определенной группе выходов ре- .гистра 52,Входы 5 и 58 задания типа очереди предназначены для заданиятипа очереди, организуемой с помощью устройстваРегистр 60 состояния предназначен для временного хранения кодаколичества элементов очереди, формируемого счетчиком 6 при проведениипоиска элемента в очереди,Вход 65 управления классом решаемых задач предназначен для настройкиустройства на решение определенногокласса задач.выполнения операций в устройстве идля фиксирования определенного момента выполнения операций в устройстве путем установки на выходе 66логической единицы,Устройство работает следующимобразом.В начальное исходное состояниепосле включения устройство переводится путем формирования на общейшине сброса (не показана) импульсасброса, переводящего все регистры,счетчики, узлы и блоки устройствав исходное состояние. При этом навсех управляющих входах устройстваустанавливается логический ноль,После сброса на выходах 11 контролясостояния очереди должен установиться код, на выходе 56 контроляготовности устройства должна установиться логическая единица, а навыходе.бб контроля результата устанавливается логический ноль, означающие, что устройство готово для запуска и использования. Заренее определяется класс решаемых задач и типочереди, для организации которой .предлагается испольэовать устройство,после чего на входе 65 задания класса решаемых задач устанавливаетсясоответствующий код класса решаемыхзадач, на выходах 57 и 58 устанавливается соответствующий код типаочереди. Установленные коды должны сохраняться в течение всего временииспользования устройства по выбранному назначению. При любом изменении указанных кодов, а такжепри установке кода на выходе 17 ивходе 16 блока 2 после завершенияочередной операции в устройствевновь формируется импульс сброса,и устройство переводится в рабочееисходное состояние, при котором навходах 57, 58 и 65, а также на входах 64 может быть установлен произвольный код. Код операции над элементами данных в .устройстве задается на входах 64. Первой операциейнад элементами данных может бытьтолько операция ввода первого (нового) элемента данных в очередь. После установки кода элемента данных на входах 26 и 43 и кода типа операции,на входах 64 устройства через время, равное переходным процессам, в блоке управления на входе 12 устанавливается логическая единица, запускающая устройство длявыполнения заданной операции, Послезапуска устройства, если операцияпринята к выполнению, на выходе 56контроля готовности устройства устанавливается логический ноль, который в сочетании с логической единицей на входе 12 устройства означает,что устройство запущено для выполне О ния операции над элементами данных.Через определенное время, определяемое сложностью алгоритма выполненияоперации, на выходах 56 и 66 устройства устанавливается логическая 15 единица, означающая, что операцияуспешно завершена, и устройство готово для выполнения новой операциинад элементами данных очереди. Приэтом на выходе 66 логическая едини ца может появиться раньше, чем навыходе 56, что определяется алгоритмом выполнения и видом операции,После того, как бып осуществлен запуск устройства, и на выходе 56 ус тановился логический ноль, на входах64 может быть заранее установлен кодновой (следующей) операции, без нару.шения выполнения предшествующей операции.30После установки логической единицы на выходе 66 устройства на входах26 и 43 мсокет быть установлен коднового элемента данных. Очереднаяоперация может быть запущена й устЗ 5 ройстве только после установки навыходе 56 логической единицы. Приэтом перезапуск устройства осуществляется путем установки на входе 12логического нуля на время, не мень шее времени перевода блока 2 управления в исходное состояние, с последующей установкой на входе 12 логической единицы. Если при этом запускается операция вывода элементаданных из очереди, то в момент установки кода выводимого элементаданных на выходах 25 и 31 на выходе 66 устанавливается логическаяединица. При этом во всех случаях,когда элементы данных очереди выво.дятся иэ очереди, коды этих элемен,тов устанавливаются на выходах 25и 31. При этом момент установки кодов на выходах 25 и 31 отмечается55установкой на выходе 66 логическойединицы.В устройстве реализуется несколько алгоритмов функционированияв соответствии с количеством "разрешенных" кодов на входах 57 и 58, 65 и 64 устройства. Каждый алгоритм представляет собой последовательность микроалгоритмов, каждый из которых выполняется за один такт устройства. Под тактом устройства понимается промежуток времени между моментами появления импульсов синхронизации на выходах блока 2 управления, соединенных с выходами элементов И 68 блока 2, Каждый алгоритм кодируется микропрограммой, хранимой в узле 70 блока 2 или опре, - деленной последовательностью микро- команд микропрограммы, кодирующей несколько алгоритмов, Каждый микро- алгоритм кодируется кодом одной микрокоманды, Кодом каждой микрокоманды кодируется также и связь каждой предыдущей микрокоманды (следовательно, микроалгоритмов) с последующей,а также и возможное изменение этих связей в требуемый момент, При каждом алгоритме функционирования в устройстве обеспечивается выполнение определенной операции .над элементами данных при заданном классе решаемых задач и типе организуемой очереди в соответствии с реализуемым способом организации очереди. В устройстве реализуется следующий способ организации очередей элементов данных, Очереди элементов данных типа первый вошел - первый вы. шел (Р 1 РО) или стека, когда реализуется принцип "последний вошел первый вышел" (1,1 РО), при решении задач буферизации организуются путем построения списка элементов данных в блоке 1, элементы которого упорядочиваются соответствующим образом благодаря записи их в последовательно расположенных соседних ячейках блока 1, причем адрес ячейки, в которой хранится первый элемент, и адрес ячейки, в которой хранится последующий элемент списка, формируется и хранится в счетчиках 3 и 4. При этом свободные ячейки блока 1 учитываются как ячейки, адреса которых находятся между адресом первого 1.элемента и последнего в сторону возрастания двоичных кодов адресов, Приоритетные очереди элементов данных, когда реализуется принцип входят в произвольном порядке5 1 О 20 25 30 35 40 45 50 55 каждого считанного элемента данныхс приоритетом вводимого в очередь выходят в порядке, определяемом присвоенным приоритетом", при решении задач буферизации, и любые очереди при решении задач управления организуются в устройстве путем построения в блокеодносвязного списка элементов данных, элементы которого упорядочиваются соответст. вующим образом благодаря записи в каждую ячейку блока 1, в которую записан предыдущий элемент списка, в определенной группе разрядов (месте) ячейки, кода указателя, указывающего на адрес ячейки, где записан последующий элемент списка. Элементы списка упорядочиваются в соответствии с очередностью появления для вводав очередьи типаочередей,Для приоритетных очередей элементы списка упорядочиваются в соответствии с номером приоритета, код которого содержится в каждом элементе данных. Адрес ячейки, где хранится первый элемент очередей, хранится в специальном запоминающем узле-счетчике 3. При этом в ячейку, в которой хранится последующий элемент любой очереди, в качестве указателя записывается адрес нулевой ячейки - нулевой код, а нулевая ячейка блока 1 не используется для записи элементов данных при организации приоритетных очередей при любом классе решаемых задач и при организации любых очередей при решении задач управленияВ нулевой ячейке блока 1 в этих случаях всегда хранится нулевой код. При организации приоритетных очередей каждый элемент данных, кроме основной информации, должен содержать информацию о приоритете, который присвоен элементу данных, Код приоритета располагается в строго фиксированном месте элемента данных и записывается в соответствующую ячейку блока 1 вместе с элементом данных в строго фиксированных разрядах ячейки. Коды приоритета могут представляться двоичными числами. При вводе очередного элемента данных в приоритетную очередь осуществляется последовательное считывание эгементов данных, начиная с элемента с наивысшим приоритетом, в порядке убывания приоритетов и сравнение приоритета27 1205143 28 элемента данных до тех пор, пока не элементов данных на информационных .будет считан элемент, приоритет кото 1. выходах 25 устройства, начиная с перрого меньше приоритета вводимого вого элемента данных очереди и до тех элемента данных, после чего осуще- пор, пока код признака - содержимое ствляется вставка нового элементаэлемента данных, представляющее код данных в очередь перед последним счи- информации, располагаемый в опредетанным элементом очереди путем запи- ленном месте элемента данных - не си его в свободную ячейку блока 1 с совпадет с кодом признака, установсоответствующим кодом указателя и со- ленного на определенной группе вхоответствующим изменением кода указа- О дов 26 устройства, который сравнителя предшествующего элемента очере- вается с соответствующим кодом приэди. При этом при организации приори- нака каждого считываемого из блока 1 тетной очереди, а также при организа- элемента данных) и удаления обнаружен. ции любой очереди при решении задач ного элемента данных путем изменения управления ячейки, освобождаемые при 15 кода указателя предыдущего элемента выводе элементов данных из очереди, очереди, поиска элемента в очереди учитываются путем построения в блоке по признаку (содержимому) элемента 1 очереди учета свободных ячеек. (осуществляемому также, как и при 1При всех указанных способах орга- выводе элемента очереди по признаку, низации очередей учет количества 20 без вывода элемента данных из очеэлементов в очереди и формирование реди), модификации (изменения) содер 1 соответствующего кода осуществляется жания элемента данных, найденных по 1:с помощью реверсивного счетчика, к признаку или при просмотре, Под приз- содержимому которого добавляется еди- наком в данном случае понимается двоница когда вводится новый элемент 25 ичный код части информации, содержа 1данных, и вычитается единица, когда 1 щейся в элементе данных, располовыводится элемент данных из очереди. женный в строго определенном местеВ предлагаемом устройстве при ре- элемента данных, Благодаря возможшении задач управления обеспечивается ности указанных операций над элеменвозможность просмотра всех элементов 30 тами данных очередей обеспечивается очереди (путем последовательного счи- организация списков элементов дантывания элементов данных очереди из ных, представляющих собой структуры блока 1 и установки кода элементов управляющих таблиц, используемых в данных на информационных выходах 25 операционных системах для управлеустройства, начиная с первого элемен-З ния вычислительными процессами. та очереди и кончая последним), вывода любого элемента очереди по приз- Предлагаемое устройство в этом каку (содержимому) выводимого элемен- ,случае может быть использовано как та (осуществляется путем последова- аппаратное средство поддержки струк. тельного считывания элементов данных.10 тур данных, обеспечивающее высокое очереди из блока 1, установки кода быстродействие.ностей микрокоманд блока управления, о т л и ч а ю щ е е с я тем, что, с целью расширения области применения за счет организацииприоритетной очереди и за счет обеспечения возможности управленияструктура данных путем просмотра элементов данных и обеспечения возможности вывода любого элемента данных из очереди, устройство дополнительно содержит первый, второй, третий и четвертый регистры указателей, первый и второй мультиплексоры указателей, первый и второй входные, регистры данных, узел сравнения приоритетов, узел сравнения признаков и регистр состояния, причем информационные входы счетчика адресов считывания соединены с информационными входами счетчика адресовзаписи, с входами первого регистра указателей, с входами третьей группы информационных входов мультиплексора адресов, с входами первой группы информационных входов первого мультиплексора указателей, с выходами второй группы информационных выходов устройства и с выходами второго регистра указателей, управляющий вход которого соединен с выходом пятого элемента И группы блока управления, шестой и седьмой выходы первой груп" пы выходов узла формирования последовательностей микрокоманд которого, соединены с управляющими входами второго мультплексора указателей, выходы которого соединены с входами второго регистра указателей, первая группа информационных входов второго мультиплексора указателейсоединена с второй группой выходов блока памяти, первая группа информационных входов которого соединена с группой выходов третьего регистра указателей, с информационными входами четвертого регистра указателей, с второй группой информационных входов второго мультиплексора указателей и с второй группой входов узла сравнения адресов, выход которого соединен с первым входом группы входов узла формирования последовательностей микрокоманд блока управления, выход шестого элемента И группы которого соединен с управляющим входом третьего регистра укаМ зателей, информационные входы которсго соединены с группой выходов первого мультиплексора указателей, вторая группа информационных входов которого соединена с третьей группой информационных входов второгомультиплексора указателей и с выходами четвертого регистра указателей, управляющий вход которого соединен с выходом седьмого элемента И группы блока управления, выход восьмого элемента И группы которого соединен с управляющим входом первого регистра указателей, группа выходов которого соединена с четвертой группой информационных входов мультиплексора адресов, группа выходов которого соединена с четвертой группой информационных входов второго мультиплексора указателей и с третьей группой информационных входов первого мультиплексора указателей, четчертая группа информационных входов которого соединена с второй группой информационных входов устройства, управляющие входы первого мультиплексора указателей соединены с вось дым и девятым выходами первой группы выходов узла формирования последовательностей микрокоманд блока управления, десятый выход первой группы выходов узла формирования пос ледовательностей микрокоманд блока управления соединен с первым управляющим входом счетчика адресов считывания, второй управляющий вход которого соединен с выходом девятого элемента И группы блока управления:, второй вход первой группы входов узла формирования последовательностей микрокоманд блока управления соединен с выходом переполнения счетчика адресов записи, управляющий вход которого соединен с выходом десятого элемента И группы блока управления, первый вход узла синхронизации которого соединен с выходом узла сравнения приоритетов, первая группа входов которого соединена с соответствующими входами первой группы информационных входов входного мультиплексора данных, вторая группа информационных входов которого соединена с входами первого входного регистра данных управляющий вход которого соединен с выходом одиннадцатого элемента И группы блока управ ления, выход двенадцатого элемента И группы которого соединен с управляющим входом второго входного реги цг/1205143 Фиг 4ВНИИПИ Заказ 8536/51 Тираж 709 Подписное Филиал ППП "Патент",г.Ужгород, ул.Проектная, 41205стра данных, группа выходов которогосоединена с второй группой входовблока памяти, группа входов второговходного регистра данных соединена сгруппой выходов входного мультиплексора данных, третья группа информационных входов которого соединенас группой выходов первого входногорегистра данных, соответствующие выходы группы выходов, которого соединены с второй группой входов узла сравнения приоритетов, первый выход узла управления запуском и завершениемопераций блока управления соединенс выходом контроля готовности устройства, первый и второй входы заданиятипа очереди которого соединены соответственно с шестым и седьмым входами дешифратора блока управления,выход тринадцатого элемента И группы которого соединен с управляющимвходом регистра состояния, выходыкоторого соединены с информационнымивходами реверсивного счетчика, информационные входы регистра состояния соединены с выходами реверсивного счетчика управляющий вход кото 9рого соединен с выходом четырнадцатого элемента И группы блока управления, вход управления классом ре,шаемых задач устройства соединен свосьмым входом цешифратора блокауправления, второй выход узла управления запуском и завершениемопераций которого соединен с выходомконтроля результата устройства,первый вход узла управления запускоми завершением операций и второй входузла синхронизации блока управления соединены с выходом узла сравнения признаков, первая группа вхо,дов которого соединена с соответствующими входами первой группыинформационных входов входногомультиплексора данных, соответствующие входы третьей группы информационных входов которого соединены свходами второй группы входов узласравнения признаков, группа выходовдешифратора блока управлейия соединена с соответствующими входами группывходов узла формирования последовательностей микрокоманд, второй, третий, четвертый входы, третий выходузла управления запуском и завершением операций соединены соответствен.но спервым, вторым, третьим выходами и третьим входом узла синхронизации, нулевые входы триггеров сое 1 ДЗдинены с четвертым выходом узла синхронизации, пятый выход которого соединен с входом синхронизации узла формирования последовательности микрокоманд, вход установки начального состояния которого соединен с четвертым выходом узла управления запуском и завершением операций, пятый выход которого соединен с девятым входом дешифратора блока уп" равления, выход которого соединен с пятым входом узла управления запуском и завершением операций, шестой, седьмой и восьмой входы которого соединены с соответствующими выходами группы выходов дешифратора блока управления, четвертый и пятый входы узла синхронизации соединены с соответствующими выходами группы выходов дешифратора блока управления, шестой выход узла синхронизации соединен с первыми входами всех элементов И группы, вторые входы элементов И группы и единичные входы триг геров соединены с соответствующими выходами второй группы выходов узла формирования последовательности микрокоманд, девятый и десятый входы узла управления запуском и завершением операций соединены с соответствующими выходами третьей группы выходов узла формирования последовательности микрокоманд, четвертая группа выходов которого соединена с группой входов узла синхронизации, одиннадцатый вход узла управления запуском и завершением операций соединен с сигнальным входом устройства.2. Устройство по и. 1, о т л и ч а ю щ е е с я тем, что узел синхронизации содержит два формирователя импульсов, генератор импульсов, элемент задержки, имитатор циклов блока памяти, десять элементов И, шесть элементов ИЛИ, семь элементов 0 Е, элемент И-НЕ и четыре элемента ИЛИ-НЕ, причем первый вход узла соединен с первым входом первого элемента ИЛИ-НЕ, второй и третий входы которого соединены соответственно с четвертым и пятым входами узла, выход первого элемента ИЛИ-НЕ соединен с первым входом первого элемента И, выход которого соединен с первыми входами первого и второго элементов ИЛИ, выход первого элемента ИЛИ соединен с первыми входами второго и третьего элементов И, выходзторого элемента И соединен с первым входом третьего элемента ИЛИ,выход которого соединен с входомпервого формирователя импульсов и спервым выходом узла, второй входкоторого через первый элемент НЕсоединен с первым входом четвертого элемента И, выход которого соединен с вторыми входами первого ивторого элементов ИЛИ, третьим входы которых соединены соответственнос выходом второго элемента ИЛИ-НЕ1 и с выходом пятого элемента И, первый вход которого соединен с первымвходом группы входов узла, с первымвходом шестого элемента И, с первымвходом элемента И-НЕ и с вторымвходом третьего элемента И, выходкоторого соединен с входом имитаторациклов блока памяти, первый выходкоторого соединен с вторым выходомузла, с вторым входом элемента И-НЕ,с вторым входом пятого элемента И,с первым входом седьмого элемента Ии через второй элемент НЕ с вторым.входом шестого элемента И, выходкоторого через третий элемент НЕсоединен с вторым входом второгоэлемента И и с третьим входом третьего элемента И, четвертый входкоторого соединен с выходом четвертого элемента ИЛИ, первый вход которого соединен с вторым входом группывходов узла, с вторым входом седьмого элемента И, с первым входомвосьмого элемента И, с первым входомтретьего элемента ИЛИ-НЕ, с первымвходом пятого элемента ИЛИ и черезчетвертый элемент НЕ с первым входомдевятого элемента И, выход которого12051Ф 43тым входом группы входов узла. пятый вход группы входов которого соединен с первым входом десятого элемента И, второй вход которого через элемент задержки соединенс вторым входом четвертого элемента ИЛИ, а через пятый элемент НЕ - с входом второго формирователя импульсов, с выходом генератора импульсов, с первым входом шестого элемента ИЛИи с третьим выходом узла, третий вход которого соединен с четвертым входом второго элемента ИЛИ и через шестой элемент НЕ с пятым входом третьего элемента И, второй выход имитатора циклов блока памяти соединен с первым входом четвертого элемента ИЛИ-НЕ, с вторым входом восьмого элемента И, с четвертым выходомузла и через седьмой элемент НЕ с третьими входами пятого и седьмого элементов И, выход седьмого элемента И соединен с пятым входом второго элемента ИЛИ, шестой вход которого соединен с выходом восьмого элемента И, третий вход которого соединен с выходом элемента И-НЕ и с пятым входом второго элемента И, шестой вход которого соединен с выходом четвертого элемента ИЛИ-НЕ, второй вход ко. торого соединен с выходом третьего элемента ИЛИ-НЕ, второй вход которого соединен с входом генератора импульсов и с выходом второго элемента ИЛИ, седьмой вход которого соединен с выходом шестого элемента И и с вторым входом шестого элемента ИЛИ, :выход которого соединен с третьим входом шестого элемента И, выход вто" рого формирователя импульсов соединен с пятым выходом узла.соединен с вторым входом третьегоэлемента ИЛИ, выход первого формирователя импульсов соединен с шестым выходом узла, третий вход группывходов которого соединен с вторымвходом пятого элемента ИЛИ, с вторым входом четвертого элемента И и спервым входом второго элемента ИНИНЕ, выход которого соединен с вторымвходом девятого элемента И, третийвход которого соединен с выходомдесятого элемента И и с третьим входом второго элемента И, четвертыйвход которого соединен с выходомпятого элемента ИЛИ, третий входкоторого соединен с вторым входомпервого элемента И, с вторым входомвторого элемента ИЛИ-НЕ и с четвер-. Э, Устройство по и, 1, о т л и - ч а ю щ е е с я тем, что узел уп. равления запуском и завершением операций содержит восемь элементов И, пять элементов ИЛИ, два элемента ИЛИ-НЕ, элемент И-НЕ и пять элементов НЕ, причем первый вход узла соединен с первыми входами первого и второго элементов И и через первый элемент НЕ с первым входом третьего элемента И, выход которого соединен с первым входом первого элемента 1 ЛИ, выход которого соединен с первым входом второго элемента ИЛИ, выход которого соединен с первым входом четвертого элемента И, выход которого соединен с вторым входом вто 1)1)ГО 1 С ПЕРВЫЛ 1 ВХОДОМ ТЕ 1 Ь 1.ГОэлементов ИЛИ и через Второй элементНЕ с первым входом элемента И-НЕ,выход которого соединен с третьимвыходом узла, с первым входом пятого элемента И и через третий элементНЕ с вторым входом третьего элемента ИЛИ, выход которого соединен спервым входом первого элемента ИЛИНЕ и с пятым выходом узла, второйвход и выход первого элемента ИЛИ-НЕсоединены соответственно с четвертым входом и четвертым выходом узла,восьмой вход которого соединен стретьим входом первого элементаИЛИ-НЕ и с первым входом шестогоэлемента И, выход которого соединенс вторым входом первого элементаИЛИ, третий вход которого соединенс десятым входом узла, девятый входкоторого соединен с вторыми входамипервого, второго и третьего элементов И и с первым входом седьмогоэлемента И, выход которого соединенс первым входом четвертого элементаИЛИ, выход которого соединен с первым входом восьмого элемента И,выход которого соединен с вторымвыходом узла и с вторым входомчетвертого элемента ИЛИ, третийи четвертый входы которого соединены с выходами соответственно первогои второго элементов И, шестой входузла соединен с третьим входом второго элемента И и с первым входомвторого элемента ИЛИ-НЕ, второй входкоторого соединен с седьмым водомузла и с третьими входами первого итретьего элементов И, второй входузла соединен с вторым входом седьмого элемента И, третий вход которого соединен с выходом второго элемента ИЛИ-НЕ, третий вход узла соединен с вторым входом пятого элемента И и через четвертый элементНЕ с вторым входом шестого элемен-та И, выход пятого элемента И соединен с первым выходом блока и через пятый элемент НЕ с первымвходом пятого элемента ИЛИ, выход которого соединен с вторыми входами 1 етве 1)Т1 11 ВоСЬЛ 10 ГО э 11 РЛ 1 ентоБ Иодиннадцатый Вход узп соединен свторым входом пятого элемента ИЛИи с вторым входом элемента И-НЕ,третий вход которого соединен стретьим входом восьмого элемента Ии с пятым входом узла,4, Устройство по п. 1, о т л и ч а ю щ е е с я тем, что имитатор циклов блока памяти содержит элемент задержки, четыре элемента И, ,четыре элемента ИЛИ и четыре элемента НЕ, причем, вход имитатора соединен с первым входом первого элемента ИЛИ, выход которого соединен с первым входом первого элемента И, Второй вход первого элемента ИЛИ соединен с входом элемента задержки, с выходом первого элемента И, с первыми входами второго элемента ИЛИ и третьего элемента ИЛИ, второй вход которого соединен с выходом второго элемента И, первый вход которого соединен с выходом третьего элемента ИЛИ и с входом первого элемента НЕ, выход которого соединен с вторым выходом имитатора и вторым входом второго элемента ИЛИ, выход которого соединен с вторым входом первого элемента И, третий вход которого соединен с выходом второго элемента НЕ, вход которого соединен с первым выходом элемента задержки, второй выход которого соединен с входом третьего элемента НЕ, выход которого соединен с вторым входом второго элемента И, первый вход которого соединен с первыми входами третьего и четвертого элементов И, выход третьего элемента И соединен с первым выходом имитатора, второй вход третьего элемента И соединен с выходом четвертого элемента НЕ, вход которого соединен с первым входом четвертого элемента ИЛИ и выходом четвертого элемента И, второй входкоторого соединен с выходом четвертого элемента ИЛИ, второй вход которого соединен с третьим выходом элемента задержки.5 1 О 15 20 30 35 40 45 50 55 Изобретение относится к вычислительной технике и может быть использовано в качестве буферного запоминающего устройства для буферизации элементов данных в виде очередей или для построения устройств управления структурами данных, вычислительными процессами и ресурсами вычислительных машин и систем.Цель изобретения - расширение класса решаемых задач.На фиг. 1 изображена структурная схема устройства организации очередей элементов данных; на фиг. 2 структурная схема блока. управления; на фиг. 3 - функциональная схема узла синхронизации блока управления; на Фиг. 4 - функциональная схема узла управления запуском и завершением операций блока управления; на фиг5 - функциональная схема имитатора циклов блока памяти.Устройство (фиг. 1) содержит блок 1 памяти, блок 2 управления, счетчик 3 адресов считывания, счетчик 4 адресов записи, мультиплексор 5 адресов, реверсивный счетчик 6, дешифратор 7, выходной регистр 8 данных, входной мультиплексор 9 данных, узел 10 сравнения адресов, выходы 11 контроля состояния очереди устройства, сигнальный вход 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, узел 51 сравнения приоритетов, входной регистр 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 импульсов,генератор 111 импульсов, элементыИЛИ-НЕ 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 5 10 15 20 25 30 Узел 70, работает следующим образом. В исходном состояниии на всех выходах узла 70 устанавливаетья логический ноль независимо от кода на входах 74, При формировании первого импульса синхронизации на входе 83 синхронизации, на выходах узла 70 устанавливается(через опреде- ленное времякод первой микрокоманды микропрограммы, соответствующей коду, установленному на входах 74, Каждый новый код-микрокоманда формируется на выходах узла 70 после появления на входе 83 синхронизации очередного импульса синхронизации. На выходах узла 70 формируются коды микрокоманд, каждая из которых условно разбита на четыре внешних управляющих поля в соответствии с группами выходов узла 70, Группе 93 выходов узла 70 соответствует поле управления запуском регистров, счетчиков и блока 1; группе 94 выходов узла 70 - поле управления мультиплексорами и режимами Функционирования счетчиков; группе 98 выходов узла 70 - поле управления за-типа К 565 РУ 1 А) с использованиемпри необходимости микросхем малойи средней интеграции (например, какэто сделано в модуле ОЗУ-НЦОЗД), ипредназначен для хранения (запоминания) элементов и структуры очередей,а также для записи (включения вочередь), считывания (исключения изочереди) элементов очередей,Блок 1 работает следующим образом.В исходном состоянии на управляющих входах блока 1 устанавливаетсянулевой код (например, код 00)Вблоке 1 предусматривается запускдвух основных операций: операциизаписи и считывания. При операциизаписи на адресных входах устанавливается код адреса ячейки памяти, вкоторой предполагается запомнить информацию (злемент очереди), кодкоторой устанавливается на информационных входах. Через время, равноевремени установкикодов адреса и информации на соответствующих входах,на управляющих входах формируетсякод записи (например, код 11), поддействием которого коды адреса иинформации запоминаются во внутренних регистрах блока 1, запускаетсяоперация записи,При операции считывания на управляющих входах формируется кодсчитывания (например, код 107, приэтом во внутреннем регистре блока 1запоминается только код адресаячейки памяти, иэ которой предполагается считать информацию - элемент очереди. Управляющий код удерживается в течение минимальноговремени, необходимого для правильного завершения операции, т.е,времени, в течение которого осуществляется запись кода информациииз внутреннего регистра в требуемуюячейку памяти или считывание кодаинформации из требуемой ячейки памяти во внутренний регистр, Послеснятия управляющих сигналов блок 1автоматически начинает устанавливаться в исходное состояние длязапуска новой операции. При этомпри операции считывания на информационных выходах блока 1 устанавливается код считанной информации,и обеспечивается сохранение этогокода в ячейке памяти, иэ которойосуществлялось считывание,35 40 45 50 55 Блок 2 управления (Фиг. 2) предназначен для формирования соответству-,ющих управляющих сигналов для блока1, мультиплексоров и счетчиков исинхросигналов для счетчиков и регистров.Узел 70 формирования последовательности микрокоманд предназначен для формирования определеннойпоследовательности кодов-микрокоманд на выходах четырех групп выходов в зависимости от определенного кода, установленного на входах 74узла 70. Коды микрокоманд формируются на тридцати трех выходахузла 70. В узле 70 необходимо предусмотреть аппаратные средства дляхранения не менее чем 57-ми 42-битных микрокоманд, Девять бит микрокоманд используется для организациивнутренних связей между микрокомандами. В качестве запоминающей средыиспользуется программируемая логическая матрица (ПЛМ). Структурнаясхема узла 70 аналогична структурной схеме БИС УП типа К 1883 РТ 1. Коды микрокоманд, хранимых в узле 70,и структура их связей определяютсяалгоритмами функционирования устройства, которые описаны при описании работы устройства, 120514315 20 25 30 45 вершением операций, а группе 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 используется для45 7 1205формирования средней части адреса(битов адреса между старшей и младшей частями адреса). В случае, еслиусловные переходы отсутствуют вмикрокоманде, код средней частоты 5адреса равен исходному (напримернулевому). В предлагаемом устройстве при любом "ветвлении" последовательности микрокоманд учитываетсятолько одно условие, т.е. наличие Осигнала только на одном из трехвходов второй группы входов узла 70.При этом возможно, что при анализеодного и того же условия, например,наличия сигнала на входе 39, на 15выходе 48 сигнал может присутствовать или не присутствовать. В этихслучаях для одного и того же условиямогут формироваться два различныхадреса одной и той же первой микрокоманды обоих "ветвей" (последовательностей микрокоманд) условногоперехода, В этом случае кодированиепоследовательностей микрокоманд оставшейся части микропрограммы дублируется в управляющей памяти. Это невлияет на эффективность использованияуправляющей памяти в предлагаемомустройстве,Приведем подробный алгоритм функционирования узла 70 формированияпоследовательности микрокоманд, Висходное состояние узел 70 переводится при установке на входе 84высокого уровня напряжения, При этом 35на выходах групп 98,99, 93 и 94 выходов узла 70 устанавливается исходныйкод, который может быть нулевым. Приэтом на входах 74 может быть установлен произвольный код. Любое состояние (в том числе и исходное) узла 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). В этом случае кодирование последовательности кодов микрокоманд оставшейся части микропрограммы дублируется в управляющей памяти, начиная с кода адреса с измененной средней частью, также, как и последовательность кодов микрокоманд, начиная с. адреса с неизменной средней частью, т.е. выбор условия для ветвления, которое всегда является однозначйо ожидаемым, определяется типом выпол. няемой операции (микропрограммы) и типом микрооперации, Если микро

Смотреть

Заявка

3687371, 09.01.1984

ПРЕДПРИЯТИЕ ПЯ М-5339

ЗАБЛОЦКИЙ ВЛАДИМИР НИКОЛАЕВИЧ, САМУСЕВ АНАТОЛИЙ АЛЕКСЕЕВИЧ, ЯСКУЛЬДОВИЧ АЛЕКСАНДР ВАДИМОВИЧ

МПК / Метки

МПК: G06F 9/50

Метки: данных, организации, очередей, элементов

Опубликовано: 15.01.1986

Код ссылки

<a href="https://patents.su/23-1205143-ustrojjstvo-dlya-organizacii-ocheredejj-ehlementov-dannykh.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для организации очередей элементов данных</a>

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