Устройство для контроля хода микропрограмм

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

Авторы: Кизуб, Розенблюм

ZIP архив

Текст

СОЮЭ СОВЕТСКИХСОЦИАЛИСТИЧЕСКИХРЕСПУБЛИК 06 Р 1 1/28 ОПИСАНИЕ ИЗОБРЕТК А ВТОРСКОМУ СВИДЕТЕЛЬСТВУ КГОСУДАРСТВЕННЫЙ КОМИТЕТ СССРПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ(56) Авторское свидетельство СССР 9 920727, кл. 0 06 Р 11/00, 1980.Авторское свидетельство СССР У 1238087, кл, 0 06 Р 1/28, 1984. (54) УСТРОЙСТВО ДЛЯ КОНТРОЛЯ ХОДА МИКРОПРОГРАММ(57) Изобретение относится к вычислительной технике и может быть нсполь. зовано при построении устройств программного и микропрограммного управ,БО 1430959 ления с высокой достоверностью фун ционирования. Цель изобретения - по вышение достоверности и оперативности контроля. Устройство содержит блок 1 памяти, мультиплексор 2, сумматор 3, регистр 4 результата, элемент ИЛИ 5, элемент 6 задержки, регистр 7 данных, блок 8 анализа. логических условий, блок 9 модификации кода контроля, счетчик 10, блок 11 элементов И, элемент ИЛИ 12, блок 13 элементов ИЛИ-НЕ, элементы И 14, 15, 16, Данное изобретение обеспечивает выявлекне ошибки в том же цикле, в котором микро- команда считывается из устройства управления, 1 з,п ф-лы, 3 ил.ФЯИзобретение относится к вычислительной технике, в частности к устройствам контроля ЭВИ, и может быть использовано при построении устройств 5 программного и микропрограммного управления с высокой достоверностью функционирования.Цель изобретения - повышение достоверности и оперативности контроля10На фиг. 1 изображена схема предлагаемого устройства; на фиг. 2 - схема блока анализа логических услоч вий; на фиг. 3 - схема блока модификации кода контроля.15Устройство содержит блок 1 памяти мультиплексор 2, сумматор 3 по моду" лю два, регистр 4 результата, элемент ИЛИ 5, элемент б задержки, регистр 7 данных, блок 8 анализа логи ческих условий, блок 9 модификации кода контроля, счетчик 10, блок 11 элементов И, элемент ИЛИ 12, блок 13 элементов ИЛИ-НЕ, первый 14, второй 15 и третий 1 б элемент И, вход 17 обращения устройства, вход 18 начальной установки устройства, первый тактовый вход 19 устройства, вход 20 адреса микрокоманды, вход 21 логического условия устройства вход 22 запи си и вход 23 считывания логического условия устройства, вход 24 управления режимом устройства, вход 25 кода операций устроства, вход 26 кода контроля устройства, вход 27 разрешения 35 1контроля условных переходов устройства, вход 28 разрешения .модификации кода контроля устройства, второй тактовый вход 29 устройства, выход 30 признака ошибки и выход 31 кода ошибкиБлок 8 анализа логических условий содержит первую группу элементов И 32.1-32.п, где и - количество анализируемых логических условий, группу 45 из и триггеров 33,1-33,п, вторую груп. пу элементов И 34,1-34,(а+1) и блок 35 элементов ИЛИ.Устройство работает следующим образом. 50Перед поступлением на входы устройства первой микрокоманды контролируемой микропрограммы на соответствующей линии входа 18 устройства подается сигнал логический установки, 55 который обеспечивает установку в "0" регистра 4 результата, что исключает появление единичного сигнала ошибки на выходе ошибки устройства до начала контроляИз микропрограммного устройствауправления считывается первая (очередная ) микрокоманда, контрольнаячасть которой совместно с выработанным микропрограммным устройством управления (ИУУ) адресом следующеймикрокоманды поступает на входы устройства,Код адреса следующей микрокомандыпоступает на вход 20 адреса микрокоманды устройства, а код контроля иэконтрольной части микрокоманды навход 26 устройства, Кроме того, вконтрольной части микрокоманды могутсодержаться все поля, коды которыхуправляют отдельными блоками рассматриваемого устройства, т,е. соответствующие входам 22, 23, 24, 26, 27 и28 устройства, или их часть, В последнем случае поля, соответствующиеуказанным входам, не включаются вконтрольную часть микрокоманд, таккак является операционными и используются (совместно с МУУ) для выработки следующего адреса, Примером полей,которые могут стать операционными,являются поля, соответствующие входам22, 23 и 24. Для понимания работыустройства не принципиально относитсято или иное поле, управляющее однимиз указанных входов, к операционнойили контрольной частям микрокоманд,важно его наличие в микрокомандах,С входа 26 устройства код контроляпоступает на второй вход блока 9 модификации кода контроля, Если считанная микрокоманда - не микрокомандаветвления (безусловного перехода),то на входе 23 считывания логическогоусловия, входе 24 управления режимами, входе 27 разрешения контроля условных переходов в ходе 28 разрешениямодификации кода контроля устанавливаются нулевые коды, блокирующие поступление информации через первый 14второй 15 и третий 16 элементы И иблок 11 элементов И из блока 8 (т,е,на выходе элементов И 34,1-34.(п+1)второй группы из (и+1) элементов И 34 ина выходе блока 35 элементов ИЛИ установятся нули) и из счетчика 10.В результате на первый и третий входы блока 9 и напервыи и второй входы элемента ЙЛЙ 12поступят нули. Так как нулевые кодымодификации соответственно на первом59 3 14309входе элемента ИЛИ 36 и третьем входеблока 37 элементов ИЛИ не изменяютразрядов кода контроля, поступающихна вторые входы указанных блоков,тона выходе блока 9 модификации кодаконтроля установится тот же код, чтои на втором входе блока 9. По нулевому сигналу с выхода элемента ИЛИ 2,поступившему на управляющий вход мульОтиплексора 2, код контроля черезвторой вход мультиплексора 2 переда"ется на его выход и далее на первыйвход сумматора 3 по модулю два, навторой вход которого со входа 20 поступает адрес следующей микрокоманды.По синхросигналу, поданному со второго управляющего входа 8, производится запись результата выполнения вблоке 8 поразрядной операции ИСКПОЧАЮЩЕЕ ИЛИ и регистр 4 результата,Наличие единицы хотя бы в одномразряде регистра 4 результата свидетельствует об ошибке и приводит квыработке на выходе элемента ИЛИ 5 25и первом выходе 30 устройства сигналаединицы, Указанный сигнал может бытьиспользован для блокировки выработки синхронизирующих импульсов в ИУУили для прерывания микропрограммы 30с последующей передачей управлениямикропрограмме диагностики ошибок,использующей в качестве исходнойдиагностической информации код навыходе 31 устроства, При отсутствииошибки формируются нулевые коды навыходе регистра 4 результата и навыходах 30 и 31 устройства,Если на входы устройства (иэ МУУ)поступает микрокоманда перехода помодифицируемым логическим условиямадресам, то на вход 23 считываниялогического условия поступает код,содержащий в одном иэ разрядах единицу, а в остальных - нули, .На входы 4526 и 20 устройства поступает кодконтроля, соответствующий данной мик.рокоманде, и адрес следующей микрокоманды, а на входы 24 и 27 устрой,ства и разряды управления блоком 11 50элементов И входа 28 устройства (каки в случае контроля микрокоманд безусловного перехода) - нули, Код совхода 23 устройства поступает на тре. - .тий вход блока 8 анализа логическихусловий и далее отдельными разрядами - на управляющие входы элементовИ 34,1-34.(и+1) второй группы из(и+1) элементов И,в результате чего и из (и+ ) элементов И этой группы будут заблокированы по выходу нулевымиразрядивши указанного кода, а один, накоторый поступает единичный разрядкода, - открыт, пропуская на входбпока 35 элементов ИЛИ и далее на выход блока 8 бит логического условия.Укаэанное логическое условие можетбыть сформировано на выходе блока 8либо непосредственно пад управлениемданной микрокоманды перехода, либов одной из предыдущих микрокоманд.Для МУУ, в которых следующий адресвырабатывается после считывания очередной микрокоманды из микропрограммной памяти, используются оба способаформирования логического условия.В ИУУ, осуществляющих в одном циклесовмещение указанных операций, можетбыть использован толька второй из способов. В соответствии с первым способом кад с входа 21 логического условия устройства поступает через элемент 6 задержки на первый вход блока 8 анализа логических условий, Еслинеобходимо запомнить кад условия, тона вход 22 записи логического условияподается код, содержащий все нули,кроме единственного разряда, равногоединице, по которому открывается соответствующий элемент И первой группыиз и элементов И 32.1-32,и, По сикхраимпульсу, поданному со входа 29устройства через открытый элемент Ипервой группы из и элементов И 32,1 в .32,и на управляющий вход соответствующего триггера из группы и триггеров 33,1-33.и,логическое условие запишется в этот триггер. Считывание этого кода на выходе блока 8 осуществ-. ляется вьппеописанным образом, при равенстве первых и разрядов (и+1)- разрядного кода на входе 23 считывания логического условия и .и-разрядно" го кода на входе 22 записи логического условия. Если предварительное запоминание не требуется, то на входе 22 устанавливается нулевой код, а на входе 23 разряд устанавливается в единицу (т.е. элемент И 34,(и+1) открыт), остальные и разрядов - в нули,В соответствии са вторым способом производится только считывание на выходе блока 8 логических условий, предварительно записаннаго,в один иэ триггеров группы триггеров 33,1-33,и одной из предыдущих микрокаманд. С .выхода блока 8 бит логического усло 1430959.вия через открытый со входа 28 элемент И 16 и через первый вход блока 9модификации кода контроля поступает"на первый вход элемента ИЛИ 36, навторой вход которого, поступает моди-5фицируемый разряд кода контроля, равный нулю С выхода элемента ИЛИ 36на первый вход блока 37 элементов ИЛИпоступает бит логического условия, ана второй и третий входы блока.37элементов ИЛИ поступают (ш) разрядов кода контроля и ш нулевых разрядов с запертого блока 11 элементов И.По нулевому сигналу управления мультиплексора 2, поступающему с элемента ИЛИ 12 через второй вход мульти-,.плексора 2 на его выход и алее напервый вход сумматора 3 по модулюдва с выходов блоков 37 и 9, будет 20подан код контроля, отличающийся откода контроля на входе 26 тем, чтомодифицируемый разряд содержит битлогического условия, В сумматоре 3по модулю два производится операция 25ИСКЛЮЧАЮЩЕЕ ИЛК над модифицированнымблоком 9 кодом контроля и выработанным МУУ адресом, поступающим с входа20 устройства на второй вход блока 9,Результат операции по синхроимпульсу.со входа 1-8 устройства будет записанв регистр 4 результата иподан,на входэлемента ИЛИ 5. В результате на первом выходе 30 устройства выработается сигнал отсутствия (нуль) или наличия (единица) ошибки,При контроле условных переходов по .произвольным микропрограммным адресамуправление выполнением операций при-,ема запоминания, хранения и считывания логических условий, осуществляе-мых блоком 8, производится с входов22, 23 и 29 устройства так же, как ипри контроле переходов по модифицируемым логическими условиями адресам, 45При этом на входе 28 разрешения моди-.фикации кода контроля устанавливаетсянулевой код, запрещающий модификациюкода контроля, установленного на входе 26 устройства, в блоке 9 с выходовблока 11 элементов И и третьего элемента И 16, На входе 27 разрешенияконтроля условных переходов устройства устанавливается код "1", открьвающий по второму входу второй элементИ 15 и обеспечивающий передачу считы ваемого под управлением входа 23 устройства бита логического условия свыхода блока 8 через второй элемент И 15 на второй вход элемента ИЛИ 2Так,как на первом входе элемента ИЛИ 12 устанавливается код "0", то (вследствие маскирования выхода первого элемента И 14 по его второму входу с входа 24 управления режимами устройства) управление мультиплексором 2 осуществляется битом указанного логического условия. При нулевом бите условия на выход мультиплексора 2 передается код контроля, соответствующий одному из адресов перехода и транслируемый без изменений через блок 9 модификации кода контроля с входа 26 устройства. В противном случае, если бит условия равен "1", навыходмультиплексора.2 передается код с его первого входа. Формирование указанного кода зависит от организации соответствующего МУУ. В частности, при совмещении в МУУ операций считывания очередной микрокоманды и выработки адреса следующей микрокаманды формирование кода должно производиться по микрокоманде, предшествующей микрокоманде формирования управляющего мультиплексором 2 бита условия. Именно, по разрешающему сигналу, на входе 17 устройства по адресу .на входе 20.адреса микрокоманды устройства, равного адресу следующей микрокоманды, производится считывание из блокапамяти. Код, считанный из блока 1 памяти, равный:второму из контролируемых адресов перехода, к началу следующего цикла записывается в регистр 7 данных по сигналу, подаваемому с входа 19 устройства на его первый вход. Таким образом, в следующей микрокоманде на выход мультиплексора 2 подается контрольный код с его первого или второго входа, Выработка сигнала на первом выходе 30 устройства с использованием блоков 3, 4 и 5 устройства производится описанным ранее образом. При контроле следующих друг за другом микрокоманд условных переходов по произвольным адресам совмещается контроль текущих переходов и выборка из блока 1 памяти контрольных кодов, используемых в следующих циклах.Для контроля переходов по многоразрядным кодам, например по коду операции, адресу микроподпрограммы обработки прерываний и т.п указываемый код с входа 25 кода операций устройства через третий вход счетчика 1 Опредварительно записывается в этот блок. Запись производится при нулевом коде на входе 24 управления режимами устройства по синхроимпульсу с входа 29 устройства, поступающих соответственно на второй и первый входы счетчика 10.При выполнении микрокоманды собственно контроля переходов данного 10типа 1 возможно совмещение записи и контроля в одной микрокоманде 7 на входе 27 разрешения контроля условныхпереходоа устройства, на входе 24 управления режимами и в разряде управ ленин элементом И 16 входа 28 разрешения модификации кода контроля устройства устанавливаются нулевые коды.По единичному коду с входа 28 разрешения модификации кода контроля 2 О устройства через открытые о второму входу элементы И блока 11 на третий вход блока 9 модификации кода контроля подаются разряды кода из счетчи.ка.10, С входа 26 устройства на второй вход блока 9 подается код контроля, содержащий нули в разрядах, соответствующих считываемым разрядам изГсчетчика .10. Так как с выхода третьего элемента И 16 на первый вход ЗО блока передается "0", то на- выходе указанного блока (в соответствии с приведенным ранее описанием его функционирования) вырабатывается код кон-троля, который по сформированному, на35 элементе ИЛИ 12 нулевому сигналу управления мультиплексором 2 передается на первый вход сумматора 3 по модулю два. Дальнейшие действия ло выработке сигналов на первом ЗО и вто ром 31 выходах устройства аналогичны вышеприведенным.Режим контроля правильности повторений одной микрокоманды или группы последовательных микрокоманд заданное 45 число раэ осуществляется следующим образом, В предшествующей микрокоманде по нулевому коду на входе 24 устройства, по синхроимпульсу с входа 29 устройства производится загрузка числа повторений с входа 25 устройства в счетчик 10. В последней микрокоманде группы по входу 24 устройства, установленному в режим "счета" код "1"по синхроимпульсу с входа 29 устройства из содержимого счетчика 10 вычитается ".1", Полученный код из счетчика 10 через блок 13 элементов ИЛИ-НЕ, преобразованный последним в битовый код, поступает далее на открытый по второму входу сигналом с входа 24 устройства первый элемент И 14, а за,тем на первый элемент ИЛИ 12, на второй вход которого подается нулевой потенциал из блокированного нулевым кодом с входа 27 устройства второго элемента И 15, Таким образом, по управляющему входу мультиплексора 2 установится указанный битовый код. При нулевом значении этого кода, означающего, что необходимо по крайней мере еще раз повторить контролируемую группу микрокоманд, т,е. содержимое счетчика 10 ненулевое, на выход мультиплексора 2 будет подан код контроля, транслируемый через блок 9 при маскировании выходов второго 15 и третьего, 16 элементов И и блока 11 элементов И нулями с входов 27, 28 и 26 устройства:. Если указанный бито вый код равен "1", что означает выполнение группы микрокоманд заданное число раз, т.ев регистре-счетчике содержится нуль, то на выход мультиплексора 2 будет подан контрольный код из регистра 7 данных, записанный ,в этот регистр после его считывания в предшествующей микрокоманде из бло- ка 1 памяти (формирование информации в регистре 7 изложено при описании режима контроля условных переходов по произвольным адресам), Функционирование блоков 3, 4 и 5 по выработке результатов контроля на выходах 30 и 31 устройства соответствует приведенному ранее описанию. Контроль следования микрокоманд внутри повторяемой группы обеспечивается любым из вышеописанных режимов, не изменяющих содержимое счетчика 10.В устройстве возможно совмещение вышеописанных режимов контроля, В частности, обеспечивается проверка в одной микрокоманде переходов по произвольным или модифицируемым адресам и одновременно по части кода регистра-счетчика, переходов по модифицируемым логическим условием адресам и одновременно по дополнительному адресу при равенстве нулю содержююго счетчика. Для первой и второй из указанных типов проверок используются блоки устройства.и коды на его входах, как это указано при описании режима контроля переходов по многоразрядным кодам. Кроме того, для обеспечения подачи считываемогопод управлением нхода 23 устройства из блока 8 на управляющий вход мультиплексора 2 логического условия на входе 27 устройства устананпивается код , обеспечивающий прохождение сигнала условия через второй элемент И 15 (первый тип,проверок). Для обеспечения передачи логического условия из блока 8 через элемент И 16 на пер- О вый вход блока 9 с входа 28 устройства подается код "1" (второй тип проверок). Тем самым обеспечинается коммутация соответствующих цепей передачи логического условия и возмож ность совместного использования режимов контроля, Для третьего типа совместных проверок используются блоки и входы устройства,как это было ука" зано при описании режимов контроля 20 правильности повторений микрокоманд заданное число раз и контроля переходов по модифицируемым логическими условиями адресам,25.Формула изобретения Устройство для контроля хода микропрограмм содержащее блок памяти, мультиплексор, сумматор по,моду- ЗО лю два,. регистр результата, первый элемент ИЛИ и элемент задержки, причем выход мультиплексора соединен с первым входом сумматора по модулю дна, ныход которого соединен с инфор- З 5 мационным входом регистра результата, выход регистра результата соединен с входами первого элемента ИЗИ, выход которого является выходом признака ошибки устройства, входы обращения, 0 начальной установки и логического условия устройства соединены соответственно с входом чтения блока памяти, входом начальной установки регистра результата и входом элемента задержки, о т л и ч а ю щ е е с я тем, что, с целью повышения достоверности и оперативности контроля, н устройство введены регистр данных, блок: анализа логических условий, блок моди фикации кода контроля, счетчик, блок элементов И, второй элемент ИЛИ, блок элементов ИЛИ-НЕ, первый, второй и третий элементы И, причем первый тактовый вход устройства и выход блока памяти соединены соответственно с входом записи и информационным входом регистра данных, выход которого соединен с первым информационным нходом мультиплексора, нход адреса микрокоманды устройства соединен с адресным входом блока памяти и вторым нходом сумматора по модулю два, выход элемента задержки соединен с первым входом блока анализа логических условий, выход регистра результата является выходом кода ошибки устройства, входы кода контроля, кода операции, записи и считывания логического условия устройства соединены с первым входом блока модификации контроля, с информационным входом счетчика, с вторым и третьим входами блока анализа логических условий, второй тактовый вход устройства соединен с четвертым входом блока анализа устройства и счетным входом счетчика, выход которого соединен с первыми входами элементов И блока элементов И и входами элемента ИЛИ-НЕ, выход которого соединен с первым входом первого элемента И, вход управления режимом устройства соединен с входом направления счета счетчика и вторым входом первого элемента И, выход которого соединен с первым нходом второго элемента ИЛИ, выход блока анализа логических .условий соединен с первыми входами второго и третьего элемен-. тов И вход разрешения контроля условных.переходов соединен с вторым входом второго элемента И, выход которого соединен с вторым входом второго элемента ИЛИ, выход второго элемента ИЛИ соединен с управляющим нходом мультиплексора, вход разрешения модификации кода контроля устройства соединен с вторыми входами блока элементов И и с вторым входом третьего элемента И,. выходы третьего элемента И и блока элементов И соединены соответственно с вторым и тре-. тьим входами блока модификации контроля, выход которого соединен с вторым информационным входом мультиплексора.2, Устройство по п, 1, о т л ич а ю щ е е с я тем, что блок акали" за логических условий содержит первую группу из и элементов И, где и - количество анализируемых логических условий, и триггеров, вторую группу из и+1 элементов И и элемент ИЛИ, причем первый вход блока соединен с входами установки в "0" всех триггеров группы, второй вход блока соединен с первыми входами соответствующих элемен1430959 11 тов И первой группы, третий вход блока соединен с первыми входами соответствующих элементов И второй группы, четвертый вход блока соединен с ф вторыми входами всех элементов И первой группы, выход -го элемента И первой группы (где1, п) соединен сединичным входом -го триггера груп 12пы, прямой выход х-го триггера группы соединен с вторым входом -го элемента И второй группы, первый вход блока соединен с вторым входом (и+1)-го элемента И второй группы, выходы эле-ментов И второй группы соединен с соответствующими входами элемента ИЛИ, выход которого является выходом блока,430959 оставитель , И,Сигаловехред Л.Сердюкова иед орректор М. Макс Тираж 704 ВНИИПИ Государственно по делам изобретен 035, Москва, Ж, РаПодписноекомитета СССРи открытийская наб., д; 4/5 ак о изводственно-поли ческое предприятие, г. Ужг Редактор А. Ре л. Проектная, 4

Смотреть

Заявка

4200770, 25.02.1987

ПРЕДПРИЯТИЕ ПЯ Г-4152

КИЗУБ ВИКТОР АЛЕКСЕЕВИЧ, РОЗЕНБЛЮМ БОРИС ИЛЬИЧ

МПК / Метки

МПК: G06F 11/28

Метки: микропрограмм, хода

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

Код ссылки

<a href="https://patents.su/8-1430959-ustrojjstvo-dlya-kontrolya-khoda-mikroprogramm.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для контроля хода микропрограмм</a>

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