<p>1488797A1_1-3.png" style="width:18pt;height:37pt;"/>
<p>(57) Изобретение относится к вычислительной технике, может быть использовано в высокопроизводительных вычислительных системах и наиболее эффективно - в системах с распределенной, автоматически перестраиваемой, динамической структурой, Цель изобретения - расширение области применение за счет реализации оперативного перезапуска ьшкропрограмм в зависимости от состояния объекта управления. Для этого в устройство, содержащее блок 1 постоянной памяти,</p>
<p>а/</p>
<p>27</p>
<p>Фиг. /</p>
<p>3</p>
<p>1488797</p>
<p>4</p>
<p>блок 2 оперативной памяти, счетчик 4 адреса оперативной памяти, регистр^ 3 микрокоманд, счетчик 5 адреса посоянной памяти, первый дешифратор 6, коммутатор 9 адреса, коммутатор 8 информации, коммутатор 10 адреса перехода, сумматор 11, триггер 22, с первого по пятый элемент И 12-16, первый и второй элементы ИЛИ 18, 19 и элемент И-НЕ 23, введены регистр 25 сброса, второй дешифратор 7,</p>
<p>группа элементов ИЛИ 21, третий элемент ИЛИ 20, шестой элемент И 17 и элемент НЕ 24. Это позволяет осуществлять автоматическую повторную загрузку рабочей программы в оперативную память в случае наличия на входе устройства нулевого кода прерывания (что может, например, иден10 тифицироваться как возникновение сбоя во внешнем объекте управления) 3 ил.</p>
<p>Изобретение относится к вычислительной технике, может быть использовано в высокопроизводительных вычислительных системах и наиболее эффективно в системах с распределенной, автоматически перестраиваемой, динамической архитектурой.</p>
<p>Цель изобретения - расширение области применения за счет реализации оперативного перезапуска микропрограмм, в зависимости от состояния объекта управления,</p>
<p>На фиг.1 изображена функциональная схема предлагаемого устройства; на фиг.2 - тактовые сигналы (синхросигналы) на входах устройства; на фиг.З - схема системного<sup>;</sup>применения устройства.</p>
<p>Устройство (фиг.1) содержит блок 1 постоянной памяти, блок 2 оперативной памяти, регистр 3 микрокоманд,, счетчик, 4 адреса оперативной памяти, счетчик 5 адреса постоянной памяти, первый дешифратор 6, второй дешифратор 7, коммутатор 8 информаици, коммутатор 9 адреса, коммутатор 10 адреса перехода, сумматор 11, с перво го по' шестой элементы И 12-17, с первого по третий элементы ИЛИ 18-20, группу 21 элементов ИЛИ, триггер 22, элемент И-НЕ 23, элемент НЕ 24, регистр 25 сброса, вход 26 кода команды перехода, вход 27 условий, вход 28 константы приращения адреса, первый 29 и второй 30 входы загрузки микропрограммы, вход 31 кода прерывания, информационный выход 32, управляющий выход 33, с первого по четвертый тактовые входы 34-37.</p>
<p>На фиг.2, поясняющей работу устройства, обозначено: Тц - время цикла работы устройства, сигналы</p>
<p>38-41 - тактовые сигналы, поступающие соответственно на входы 34-37 устройства.</p>
<p>Схема системного применения устройства (фиг,3) содержит блок 42 основной памяти, первое, второе, .., М-е операционные устройства 43-45,</p>
<p>25 первое, второе, Ν-е устройства</p>
<p>46-48 микропрограммного управления, шину 49 данных.</p>
<p>Принято, что наличие сигнала характеризуется единичным логическим уровнем (-1,6 В), отсутствие - нулевым логическим уровнем (-0,8 В).</p>
<p>Устройство предназначено для работы с типовым набором микрокоманд Пусть, например, микрокоманда содержит 23 разряда, которые нумеруются</p>
<p>35 с 0-го по 22-й, начиная с младшего. Старшие 3 разряда, (22-20)-е, определяют номер однотипного устройства управления, разряды 19-18 определяют формат.микрокоманды, причем, код 00, содержащийся в данных разрядах, определяет первый формат, код 01 второй формат, код 10 - третий формат, код 11 - четвертый формат. Положим, что первый формат соответст45 вует арифметическим, второй - логическим операциям, третий - операциям переходов, четвертый - операциям пересылок, к которым относятся операции как загрузки адреса в счетЧик</p>
<p>50 4, так и записи микрокоманды в блок 2 оперативной памяти по соответ —</p>
<p>1</p>
<p>ствующему адресу.</p>
<p>Пусть в первом формате разряды</p>
<p>микрокоманды распределены следующим</p>
<p>55 образом: 0 - признак запомненного флага (выходного переноса арифметического устройства (АУ); (9-1) адрес регистровой памяти, адресуемой</p>
<p>5</p>
<p>1488797</p>
<p>6</p>
<p>непосредственно из "тела" микрокоманды; (11-10) - признак типа входного переноса для арифметического устройства; 12 - признак записи/чтения для регистровой памяти; 13 признак операнда В для АУ; (17-14) признак кода операции для.АУ; (19 18) - формат микрокоманды; (22-20) не используются.</p>
<p>Во втором формате микрокоманды распределены следующим образом: 0 не используется; (9-1) - адрес регистровой памяти, адресуемой непо•средственно из "тела" микрокоманды; (11-10) - не используются; 12 признак записи/чтения для регистровой памяти; 33 - признак выбора операнда В для логического устройства (ЛУ); (17-14) - признак кода операции для.АУ; (19-18) - формат микрокоманды; (22-20) - не используются.</p>
<p>В третьем формате микрокоманды распределены, следующим образом:</p>
<p>(10-0) - адрес А ; 11 - признак памяти ("1" - оперативная память микропрограммы, "0” - постоянная память микропрограмм); 12 - признак модификации ("1" - из операционного устройства); 13 - вид перехода (относительный или абсолютный); 14 - ука-. затель (признак) перехода; (17-15) тип перехода; (19-18) - формат микрокоманды; (22-20) - номер однотипного устройства управления.</p>
<p>В четвертом формате микрокоманды распределены следующим образом:</p>
<p>(10—0) - адрес (А); 11 - признак, памяти; 12 - признак модификации;</p>
<p>13 — не используется; 14 - признак загрузки счетчика 4 адреса; 15 признак записи в блок 2 оперативной памяти; (17-16) - совместно с разря-. дом 15 образует код типа.перехода; (19-18) - формат микрокоманды; (22,20) - не используются.</p>
<p>Первый выход регистра 3 микрокоманда!, подключенный к первому ин-. формационному входу коммутатора 9, соответствует (11-0)-м разрядам микрокоманды для третьего и четвертого форматов; второй выход, подключенный к управляющим входам коммутаторов 8 и 9, соответствует 12—му разряду микрокоманды и определяет для коммутатора 8 информации выбор микрокоманды либо из основной памяти, либо из обрабатывающего устройства ЭВМ, а для коммутатора 9. выбор адреса с признаком памяти либо из регистра 3 микрокоманд, либо с входа 28 устройства; третий выход, подключенный к управляющему входу коммутатора 10 адреса перехода, соответствует 13-му разряду микрокоманды, четвертый выход, подключенный к пер10 вым входам элементов И 12 и 13, соответствует 14-му разряду микрокоманды, пятый выход, подключенный к первым входам элементов И 14 и И-НЁ 23, соответствует 15~му разряду микро15 команды, шестой выход, подключенный к входу первого дешифратора 6, соответствует (19-18)-м разрядам микрокоманды, седьмой выход, подключенный к входу второго дешифратора 7, соот20 ветствует (22-20)-м разрядам микрокоманды. Первый выход коммутатора 9, соответствующий (Ю-О)-м разрядам микрокоманды, подключен к вторым информационным входам коммутатора 10</p>
<p>25 и сумматора 11, а второй выход, соответствующий 11-му разряду микрокоманды, соединен с информационным входом триггера 22 и определяет работу либо с постоянной, либо с опера30 тивной памятью микропрограмм.</p>
<p>Пусть счетчик 4 адреса содержит 11</p>
<p>(10-0) разрядов, счетчик 5 адреса 8 (7—0) разрядов, тогда разряды 10-8 счетчика 4 и разряды 7-0 счетчика 5,</p>
<p>35 подключенные к первому информационному входу сумматора. 1 3, являются соответственно старшей и младшей частями информационного·слоза для сумматора 11 (7-0)-е разряды (младшие) выходы</p>
<p>40 сумматора 31 и коммутатора 10 соответствуют (7~0)-м разрядам счетчиков 4 и 5, поэтому выхода! (7-0)-х разрядов коммутатора 30 подключены одновременно к информационным . входам</p>
<p>45 счетчиков 4 и 5, а (10-8)-а разряды коммутатора 10 - только к входу счетчика 4.</p>
<p>Второй выход первого дешифратора 6 подключен к второму входу элемента</p>
<p>5θ И 13 и соответствует 3-му формату микрокоманды. Первый выход первого дешифратора 6 соединен с третьим входом элемента И 14 и с вторыми входами элементов И 12, И-НЕ 23 и соот55 ветствует нетвертому формату микрокоманды .</p>
<p>Признак перехода для команд перехода, -содержащихся в блоке 1 постоянной памяти, всегда равен "1", а для</p>
<p>Ί</p>
<p>1488797</p>
<p>8</p>
<p>команд оперативной памяти он может, путем модификации команды, принимать значение "1” или "О"..</p>
<p>Для команд первого, второго, четвертого форматов, содержащихся в блоке 2 оперативной памяти, разряд .11 команда (признак типа памяти) имеет значение "1", в блоке 1 постоянной памяти "О", Для команд третьего формата, содержащихся в блоке 2 оперативной памяти, разряд 11 имеет значение "1" при переходах в пределах данной памяти и "О" - при переходах в блок 1 постоянной памяти. Для команд третьего' формата, содержащихся в блоке 1 постоянной памяти , разряд 11 имеет значение "О" при переходах в пределах блока 1 и "1” - при переходах в блок 2 оперативной памяти. Разряд 11 входа 28 устройства повторяет значение разряда 11 команды, выбранной на регистр 3, за исключением команд третьего .формата. Например, если выполнялась команда перехода из блока 1 в другую область этой же памяти (11-й разряд равен "О"), которая оказалась.дефектной, что выявлено, например, путем диагностики, то диагностирующая программа инициирует перезапись в блок 2 копии дефектной программы и на входе 28 устройства формирует код начального адреса программ в блоке 2 и "1" в 11-м разряде.</p>
<p> Счетчики 4 и 5 реализуют следующие режимы, в зависимости от значений управляющих сигналов 3«, 3^. и синхросигнала С на их входах; хранение 3 3 = 32 = О, С - 1 (0)^ запись ;31 ~ 32 = 1, С = 1; прямой счет·</p>
<p>|31 = 0, 52 = 1, С = 1.</p>
<p>При С = 0 осуществляется только</p>
<p>режим хранения, независимо от значений ' сигналов на входах 3<sub>ή</sub> и 8<.»</p>
<p>Выходы элементов И 13 и ИЛИ 18 соединены с входами 31 соответственно счетчиков 5 и 4, входы 5которых брошены не задействованы , что соответствует действию единичного сигнала на этих входах.</p>
<p>Режим хранения счетчика 5 используется при переписи в блок 2 массива микрокоманд, причем· запись каждой следующей микрокоманды происходит в каждый следующий цикл работы устрой-», ства.</p>
<p>Периодическая загрузка микропрограммы в блок 2 является нормальным режимом работы устройства, особенно естественным для ЭВМ с динамической архитектурой. Поэтому программа загрузки блока 2 для обеспечения максимальной скорости загрузки размещается в блоке I.</p>
<p>Во время загрузки блока 2, до окончания переписи массива, в каждом следующем цикле из блока I в регистр 3 выбирается одна и та же команда переписи по одному и тому же адресу, при этом счетчик 5 переводится в режим хранения, который обеспечивается подачей на его синхровход нулевого сигнала. В общем случае сигнал С5 на синхровходе счетчика 5 определяется _из формулы:</p>
<p>С5 = С4<^(ПФ4 V ПЗ V ПМ), где С4 - тактовый сигнал, поступающий на вход 37 устройства;</p>
<p>ПФ4 - признак четвертого формата микрокоманды (соответствует первому выходу дешифратора 6);</p>
<p>ПЗ - признак записи в блок 2 для команд четвертого формата;</p>
<p>ПМ - признак конца массива</p>
<p>(условие перехода, поступающее на вход 27 устройства).</p>
<p>Как можно видеть из формулы, синхросигнал на синхровход счетчика 5 не поступает (нулевое значение сигнала 5) только в режиме, записи массива микрокоманд в блок 2. Аппаратно формула реализована на элементах И 16, ИЛИ 19, И-НЕ 23.</p>
<p>Для загрузки в блок 2 очередной микропрограммы управления передается программе загрузки, для чего выпол-: няется команда перехода, которая поступает на регистр 3 микрокоманд либо из блока 1 постоянной памяти, либо из блока 2 оперативной памяти. При этом счетчик 5 адреса переходит в режим приема информации в соответствии с управляющим сигналом,, поступающим из цепи, включающей дешифратор 6 и элементы И 13, в счетчик 5 записывается адрес первой микрокоманды программы загрузки через коммутатор 9, сумматор 11 и коммутатор 10, а на триггер 22 через коммутатор 9 заносится признак работы с блоком 1 постоянной памяти.</p>
<p>Из блока 1 постоянной памяти на регистр 3 микрокоманд вызывается по</p>
<p>9</p>
<p>1488797</p>
<p>10</p>
<p>адресу, загруженному в счетчик 5, микрокоманда, по которой загружается в счетчик 4 адрес первой микрокоманды, которую следует записать в блок 2 оперативной памяти. При этом на управляющий вход счетчика 4 адреса, поступает единичный сигнал из цепи, включающей дешифратор 6, элемент И 12 и элемент ИЛИ 18, обеспечивающий прием адреса, сформированного сумматором 11 и коммутатором 10, на регистр 4. Счетчик 5 переходит в режим счета в соответствии с нулевым управляющим сигналом, сформированным в цепи, включающей дешифратор 6 и элемент И 13.</p>
<p>В следующем цикле из блока 1 на регистр 3 выбирается команда записи первой микрокоманды в блок 2. При этом на информационный вход блока ' 2 поступает микрокоманда через коммутатор 8, либо из основной памяти, либо из операционного устройства ЭВМ, в зависимости от значения сигнала на втором выходе регистра 3.</p>
<p>На первый вход- элемента И 12 с четвертого выхода регистра микрокоманд поступает нулевой сигнал, который через элемент И 12 и элемент ИЛИ 18 поступает на управляющий вход счетчика 4 и переводит его в режим счета, при этом по тактовому сигналу С4 (с входа 37 устройства) содержимое счетчика 4 увеличивается на "1" получается действительный адрес первого загружаемого слова в блок 2. Следовательно, при загрузке счетчика 4 в него должна загружаться адресная константа, имеющая значение, на единицу меньше действительного начального адреса загружаемого массива. Счетчик 5 остается в режиме хранения (адрес не модифицируется), таккак на его синхровход поступает нулевой синхросигнал. Затем осуществляется запись микрокоманды в блок 2 оперативной памяти по сигналу, поступающему с выхода элемента И 14 при совпадении на его входах единичных сигналов с первого выхода дешифратора 6, пятого выхода (признак записи в блок 2) регистра 3 микрокоманд и тактового входа 35 устройства.</p>
<p>В начале цикла записи последней микрокоманды в блок 2 на входе 27 устройства появляется единичный сигнал признака условия "конца массива" который через элемент ИЛИ 19 и И 16,</p>
<p>при совпадении с тактовым сигналом на входе 37 устройства, поступает на синхровход счетчика 5, по которому содержимое счетчика 5 увеличивается на "1" и на регистр 3 из блока</p>
<p>I постоянной памяти вызывается следующая команда, например, команда передачи управления на первую команду загруженной микропрограммы. При этом на триггер 22 через коммутатор</p>
<p>9 записывается либо из регистра 3, либо с входа 28 устройства признак работы с блоком 2 оперативной памяти, счетчик 4 переходит в режим приема информации и в него загружается адрес первой микрокоманды, подлежащей выполнению.</p>
<p>Во всех командах перехода адрес перехода формируется на сумматоре</p>
<p>II и коммутаторе 10 в зависимости от значения сигнала на управляющем входе коммутатора 10 либо как абсолютный, поступающий из коммутатора 9, либо как относительный, причем приращение поступает по второму информационному входу сумматора 11 с выхода коммутатора 9, а база - по первому информационному входу сумматора</p>
<p>11 с выходов счетчиков 4 и 5. При работе по микрокомандам, выбираемым из блока 2 оперативной памяти, значения соответствующих разрядов счетчиков 4 и 5 совпадают,</p>
<p>1</p>
<p>При выборе на регистр 3 микрокоманды первого или второго типов соответственно коды 00 или 01 в разрядах 39-18 микрокоманды на первом и втором выходах первого дешифратора 6 появляются нулевые сигналы. При этом нулевой сигнал с первого выхода дешифратора 6 поступает на первый вход элемента И 12 и далее на первый вход элемента ИЛИ 18, на первый вход элемента И-НЕ 23, на выходе которого появляется единичный сигнал, поступающий через элемент ИЛИ 19 на первый вход элемента И 16, разрешающий прохождение синхросигнала на счетный вход счетчика 5.</p>
<p>Нулевой сигнал с второго выхода дешифратора 6 поступает на первый вход элемента И 13, с выхода которого поступает на управляющий вход 81 счетчика 6, обуславливая режим прямого счета (+1), а также поступает на первый вход элемента И 15, с выхода которого далее поступает на</p>
<p>1488797</p>
<p>1 2</p>
<p>1 1</p>
<p>второй вход элемента ИЛИ. 18, Таким образом, на первом и втором входах элемента ИЛИ 18 действуют нулевые сигналы, обуславливающие на его выходе нулевой сигнал, поступающий на управляющий вход 81 счетчика 4, обуславливая режим прямого счета (+1). ί Следовательно, при' выборе на регистр 3 микрокоманды первого или второго форматов обеспечивается в . устройстве естественная, последовательная по адресам, выборка микрокоманд на регистр 3 либо из блока 1, либо из блока 2.</p>
<p>Устройство работает следующим образом.</p>
<p>Рассмотрим, например, вычислительную систему, состоящую из N обраба- ; тывающих блоков, каждый из которых содержит данное устройство микропрограммного управления и некоторое операционное устройство (фиг.3).</p>
<p>Пусть обрабатывающие блоки обмениваются между собой управляющей информацией по принципу "почтового ящика" в качестве которого может быть ОЗУ с доступом к нему от каждого из Н блоков. Наличие в почтовом ящике определенной информации от соответствующего обрабатывающего блока свидетельствует о правильности работы последнего, а ее отсутствие в течение определенного времени означает неверную работу данного блока, причиной которой может быть либо случайный сбой, либо отказ. При возникновении сбоя в системе для данного ί-го обрабатывающего блока могут возникнуть два следующих варианта его работы: сбой произошел в данном ί-м обрабатывающем блоке (вариант 1); сбой произошел в любом из N“1 блоков, кроме ί-го (вариант 1).</p>
<p>Вариант 1. Любой из Ν-1 обрабатывающих блоков, не получив в своем "почтовом ящике" от ί-го блока ожидаемой информации, инициирует в ϊ-μ блоке повторное выполнение текущей .программы, расположенной в блоке 2 оперативной памяти, являющегося наиболее вероятным источником сбоев в устройстве микропрограммного управления. На вход 31 устройства микропрограммного управления, входящего в ί-й обраба'гывающий 'блок, поступает из однотипного устройства управления, принадлежащего обрабатывающему блоку, не получившему корреспонденцию от</p>
<p>ί-го блока, единичный сигнал, который через элемент ИЛИ 20 поступает либо на синхровход регистра 25 сброса и обеспечивает прохождение на его выход с входа 26 кода микрокоманд безусловного перехода на первую команду программы загрузки блока 2 оперативной памяти, расположенном в блоке.</p>
<p>1 постоянной памяти микропрограмм, либо через элемент НЕ 23 на вход чтения блока 1 памяти, обеспечивая . на его выходах код 11... 1 - все "1", а также на первый вход элемента И 17, обеспечивая на его выходе и, следовательно, на входе записи регистра 3 сигнал логического нуля, который обуславливает прием по тактовому сигналу в регистр 3 информации с выхода группы 21 элементов ИЛИ, на которую с выхода регистра 25 сброса проходит код команды безусловного перехода на программу загрузки блока 2.</p>
<p>В следующем цикле из блока 1 памяти по тактовому сигналу в регистр 3 заносится первая команда программы загрузки блока 2 памяти команда загрузки начального адреса микропрограммы в счетчик 4. Так как реально в блоке 2 оперативной памяти может одновременно размещаться несколько рабочих программ, каждая из которых имеет в блоке 2 памяти свой индивидуальный текущий начальный адрес, то этот адрес (константа, на единицу меньшая реального адреса), загружается в счетчик 4 не из тела микрокоманды загрузки адреса, а с входа 28 устройства.</p>
<p>После загрузки рабочей программы в блок 2 осуществляется передача управления на первую команду этой программы, т.е, осуществляется повторный запуск рабочей программы.</p>
<p>Вариант 2.</p>
<p>ί-й обрабатывающий блок, не получивший в своем "почтовом ящике".от одного из Ν-1 блоков ожидаемой информации, идентифицирует это состояние как сбойную ситуацию в данном блоке^ для чего инициирует в нем повторное выполнение рабочей программы. При этом программа инициализации состоит практически из одной команды (обычно команды передачи управления на ί-ю рабочую программу), в разрядах 22-20, которой содержится код номера</p>
<p>1 3</p>
<p>1488797</p>
<p>1 4</p>
<p>того обрабатывающего блока, в кото-<sub>ί</sub></p>
<p>\ром произошел сбой. После выбора этой команды в регистр 3 (либо из блока 1 памяти, либо из блока 2 памяти) сигналы разрядов 22-20 с седьмого выхода регистра 3 поступают на вход дешифратора 7, на соответствующем выходе которого появляется единичный сигнал, поступающий на управляющий выход 33 устройства и далее на вход 31 того устройства микропрограммного управления, которое входит в сбойный обрабатывающий блок.</p>