Устройство для контроля хода программ
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Текст
(51) 4 С 06 Г 11/28 ОПИСАНИЕ ИЗОБРЕК АВТОРСКОМУ СВИДЕТЕЛЬСТВ ЕНИ(54) УСТРОЙСТВО ПЛЯ КОНТРОЛЯПРОГРАММ(57) Изобретение относится квычислительной техники и можиспользовано для организацииля и отладки программ. Цельтения - расширение области пния устройства, Устройство дроля хода программ содержитмикропрограммного управления2 памяти, приемный регистр 3 ОДА областит бытьконтроГОСУДАРСТВЕННЫЙ КОМИТЕТ СССРПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ(56) Патент США У 3931611, кл. С 06 Р 11/00, 1976.Авторское свидетельство СССР В 1057949, кл. С 06 Р 11/26, 1983. иэобре- рименеля конт блок 1блокпервый1343418 Составитель И.С Техред М,Дидык лов Корректор С,Черни тор О,Ярко аз Производственно-полиграФическое предприятие,г.Ужгородул,Проектна 5/50 ЗНИЛПИ Гос по делам 113035, МоТираж б 72 Подписнорственного комитета СССРобретений и открытийа, )К, Раущская наб., д.4/51343418 4, второй 5 и третий 6 регистры нижней границы участка программы, первый 7, второй 8 и третий 9 регистрыверхней границы участка программы,дешифратор 10, шифратор 11, сумматор 2, счетчик циклов 3, первую 14и вторую 15 схемы сравнения, первый16 и второй 17 демультиплексоры,мультиплексор 18, первый 19, второй22, третий 20, четвертый 21, пятыйИзобретение относится к вычислительной технике и может быть использовано для организации контроля иотладки программ.Целью изобретения является расширение области применения.На Фиг,1 приведена функциональнаясхема предлагаемого устройства дляконтроля хода программ; на Фиг,2функциональная схема дешифратора; нафиг.3 - Функциональная схема блокамикропрограммного управления: нафиг.4 - блок-схема алгоритма работыблока микропрограммного управления.Устройство для контроля хода прог- "рамм (Фиг,1) содержит блок 1 микропрограммного управления (БМПУ) с выходами 1.1-1.15 и входами 1,16-1.22,блок 2 памяти, приемный регистр 3,первый 4, второй 5 и третий 6 регистры нижней границы участка программы, первый 7, второй 8 и третий9 регистры верхней границы участкапрограммы, дешифратор 1 О, шифратор2511, сумматор 12, счетчик 13 циклов,первую 14 и вторую 15 схемы сравнения, первый 16 и второй 17 демультиплексоры, мультиплексор 18, первый19, третий 20, четвертый 21, второй22 и пятый 23 элементы ИЛИ, первый24 и второй 25 элементы И, командные26 и информационные 27 входы устройства,Синхронизирующий и установочныйвходы второго регистра 5 нижней границы участка программы соединены спятым и шестым выходами БМПУ 1 соот.ветственно, а выход - с информационным входом третьего регистра 6 нижнейграницы участка программы и первым 23 элементы ИЛИ, первый 24 и второй25 элементы И, Новыми элементами вустройстве являются третий регистр 9верхней границы участка программы,дешифратор 10, шифратор 11, сумматор12, второй демультиплексор 17, мультиплексор 18, третий 20, четвертый21 и пятый 23 элементы ИЛИ, первый24 и второй 25 элементы И, 4 ил.,1 табл,2входом второй схемы 15 сравнения.Вход синхронизации третьего регистра 6 нижней границы участка программы соединен с седьмым выходом БМПУ 1, а его выход - с первым входом второй схемы 15 сравнения. Синхрониэирующий и установочный входы первого регистра 7 верхней границы участка программы соединены с пятым и шестым выходами БМПУ 1 соответственно, а выход - с вторым входом второй схемы 15 сравнения и информационным входом второго регистра 8 верхней границы участ- . ка программы, вход синхронизации которого соединен с седьмым выходом БМПУ 1, Выход второго регистра 8 верхней границы участка программы соединен с вторым входом второй схемы 15 сравнения. Управляющий вход второй схемы сравнения соединен с восьмым выходом БМПУ 1, а входы обращения, записи и адресный блока 2 памяти соединены с девятым, десятым и одиннадцатым его выходами соответственно. Вход дешифратора 10 является входом 26 кода команды, а его выход соединен с входом шифратора 11, выход которого соединен с первым входом сумматора. Вход синхронизации третьего регистра 9 верхней границы участка программы соединен с двенадцатым выходом БКЧУ 1, а выход - с информационным входом первого регистра 7 верхней границы участка программы и с вторым входом сумматора 12, выход которого соединен с входом первого элемента И 24 и вторым входом первой схемы 14 сравнения. Выход последней соединен с входом первого элемента И 24, выход которого соединен30 35 40 45 50 с первым входом четвертого элемента ИЛИ 21, Выход последнего соединен с информационным входом третьего регистра 9 верхней границы участка чрограммы. Второй выход первого демультиплексора 16 соединен с первым входом третьего элемента ИЛИ 20, выход которого соединен с информационным входом первого регистра 4 нижней границы участка программы и с вторым входом четвертого элемента ИЛИ 21, Выход приемного регистра 3 соединен с информационным входом второго демультиплексора 17, управляющий вход которого соединен с тринадцатым выходом Б"ЕУ 1, первый выход - с первым входом первой схемы 14 сравнения, а второй выход - с вторым входом третьего элемента ИЛИ 20. Выходы третьего регистра 6 нижней и второго регистра 8 верхней границ участка программы соединены с первым информационным входом мультиплексора 18, второй вход которого соединен с выходом счетчика 13 циклов, управляющий вход - с четрынадцатым выходом БМПУ 1, а выход - с информационным входом блока 2 памяти.Дешифратор 1 О содержит дешифратор 28, первый 29, второй 30,третий 31 и четвертый 32 элементы ЙЛИ.Блок 1 микропрограммного управления (фиг.З) содержит блок 33 памяти, регистр 34 микрокоманл, регистр 35 адреса, счетчик 36 адреса, мультиплексор 37 кода условий, триггер 38 запуска, генератор 39, элемент ИЛИ 40 и с первого 4 по девятый 49 элементы И. БМПУ 1 предназначен для управления работой элементов схемы.БЭППУ работает следующим образомь.(фиг.4). Пример микропрограммы (вариантпрошивки блока 33 памяти БМПУ 1) представлен в таблице. Работа БМПУ 1 начинается после подачи на его шестой вход единичногосигнала, по которому триггер 38 запуска устанавливается в единичноесостояние и подает единичный потенциал на управляющий вход генератора 39После запуска генератора с второ"го его выхода на вход синхронизации регистра микрокоманд поступает тактовый импульс, по которому в него заносится микрокоманда, записанная в блоке 33 памяти в ячейке с первым адресом. (На адресный вход блока 33 памяти с выхода регистра 35 адреса пос 5 10 15 20 25 тупает нулевой код, который в немхранился в исходном состоянии), Затем по тактовому импульсу, поступающему с третьего выхода генератора 39 на вторые входы элементов И 41-49, на соответствующем выходе БМПУ 1 появляется микрокоманда, которая должна выполняться в этом такте работы устройства для контроля хода программ. Например, после подачи первого импульса с второго выхода генератора 39 на вторые входы элементов И 41- 49 выдаются первая длинная, четвертая и двенадцатая короткие микрооперации в соответствии с микрокомандой, записанной в блоке 33 памяти в нулевой ячейке.Кроме того, с выхода немодифицированных разрядов адреса микрокоманды регистра 34 на старшие разряды информационного входа регистра 35 адреса поступают немодифицированные разрядыадреса микрокоманды, с выхода кодалогических условий код логического условия поступает на управляющий вход мультиплексора 37, который подключает один из своих индикационных вхо-,дов в соответствии с пришедшим кодомк первому входу элемента ИЛИ 40, а с выхода модифицированного разряда адреса микрокоманды сигнал поступаетна второй вход элемента ИЛИ 40, выход которого соединен с младшим разрядом регистра 35 адреса. При поступлении тактового импульса с первоговхода генератора 39 на вход синхронизации регистра 35 адреса в негозаписывается информация, подаваемаяна старшие и младшие разряды информационного входа, т.е, адрес следующей микрокоманды, Тактовые импульсыс третьего выхода генератора 39 поступают на вход суммирования счетчика 36, а следовательно, код на шестом выходе БМПУ 1 меняется только при наличии на выходе управления счетчиком регистра 34 микрокоманд единичного сигнала, что соответствует микрокоманде формирования адреса записиинформации в блок 2 памяти на седьмом выходе БМПУ 1.Блок 2 памяти служит для запоминания информации о границах выполненных участков программ и при наличии циклов в ходе выполнения программы,информации о количестве цикловПриемный регистр 3 предназначен для приема и хранения адреса следую 1343418щей по отношению к выполняемой команды и выдачи его на схему 14 сравнения или в первый регистр 4 нижней и третий регистр 9 верхней границ учаотка программы.Первый регистр 4 нижней границы участка программы предназначен для приема и хранения адреса первой команды линейного участка программы, второй регистр 5 нижней границы участка программы - для приема и хранения адреса первой команды линейного участка программы при анализе наличия циклов в выполнении программы, третий регистр 6 нижней границы участка программы - для приема и хранения адреса первой команды линейного участка программы при анализе наличия циклов в выполнении программы и для выдачи информации в блок 2 памяти при отсутствии цикла.Первый регистр 7 верхней границы участка программы предназначен для приема и хранения адреса последней выполненной команды на линейном участке программы при анализе наличия циклов в выполненной программе, второй регистр 8 верхней границы участка программы - для приема и хранения адреса последней выполненной команды на линейном участке программы при анализе циклов в выполняемой программе и выдачи этого адреса в блок 2 памяти при отсутствии цикла, третий регистр 9 верхней границы участка программы - для приема и хранения адреса последней выполненной команды на линейном участке программы. Дешифратор,10 фиг.2) предназначен для получения информации из ко". да выполняемой команды о ее длине и работает следующим образом,На вход дешифратора 28 поступает код очередной выполняемой команды. В зависимости от вида пришедшей команды (на фиг.2 приведен пример функциональной схемы для работы с командами длиной в один, два, три и четыре байта, по четыре в каждой группе) единичный сигнал появляется на соответствующем выходе дешифратораНапример, при приходе команды длиной в один байт на вход 26 дешифратора 28 единичный сигнал подается с одного из первых четырех его выходов (в зависимости от вида команды) на входы первого элемента ИЛИ 29, при приходе20 са следующей команды, вторая схема 15 сравнения - для сравнения содер 25 30 35 40 45 50 55 команды длиной в два байта - на входы второго элемента ИЛИ 30 и т,д,Шифратор 11 предназначен для преобразования информации с выхода блока анализа кода команды в двоичный код, соответствующий длине выполняемой команды.Сумматор 12 предназначен для получения адреса следующей за выполняемой команды путем сложения адреса этой команды и двоичного кода, соответствующего ее длине,Счетчик 13 циклов предназначен дляподсчета числа циклов при выполненииконтролируемой команды,Первая схема 14 сравнения предназначена для .сравнения адреса пришедшей на исполнение команды и адрежимого второго 5 и третьего 6 регистров нижней границы и первого 7 и второго 8 регистров верхней границы участка программы.Первый демультиплексор 16 предназначен для подключения информационного входа 27 устройства к первому входу третьего элемента ИЛИ 20 или информационному входу приемного регистра 3 по командам БМПУ 1, второй демультиплексор 17 - для подключения выхода приемного регистра 3 к первому входупервой схемы 14 сравненияили второму входу третьего элементаИЛИ 20 по командам БМПУ 1,Мультиплексор 18 предназначен дляподключения к информационному входублока 2 памяти выходов третьего регистра 6 нижней и второго регистра 8верхней границ участка программы иливыхода счетчика 13 циклов по командам БМПУ 1,Первый элемент ИЛИ 19 предназначен для анализа наличия информации в приемном регистре 3 и выдачи соответствующего сигнала в БМПУ 1, третий элемент ИЛИ 20 " для осуществления записи информации в первый регистр 4 нижней и третий регистр 9 верхней границ участка программы с выхода первого 16 или второго 17 демульти плексоров, четвертый элемент ИЛИ 21 для обеспечения записи информации в третий регистр 9 верхней границы участка программы с выхода третьего элемента ИЛИ 20 или первого элемента И 24, второй элемент ИЛИ 22 - для анализа наличия информации в первомрегистре 4 нижней границы участкапрограммы и выдачи соответствующегосигнала в Б 1 ЛУ 1, пятый элемент ИЛИ23 - для анализа и выдачи соответствующего сигнала в БЧПУ 1 о наличииинформации в третьем и втором регист -рах нижней б и верхней 8 границ участка программы,Первый элемент И 24 позволяет обе- )Оспечить запись информации из сумматора 12 в третий регистр 9 верхнейграницы участка программы при совпадении информации в схеме сравнения.Второй элемент И 25 предназначен длявыдачи единичного импульса на счетный вход счетчика 13 циклов при появлении информации о цикле с выходавторой схемы 15 сравнения,Устроиство для контроля хода программ работает следующим образом,В исходном состоянии все элементыпамяти находятся в нулевом состоянии, Цепи установки элементов памяти в исходное состояние на фиг1 условно 25 не показаны. С выхода второго элемента ИЛИ 22 на третий вход БМПУ 1 при отсутствии информации в первом регистре 4 нижней границы участка программы (перед началом работы устрой ства) поступает нулевой сигнал, поэтому с первого выхода БМПУ 1 на управляющий вход первого демультиплексора 16 при включении устройства пос" тупает управляющий сигнал, переключающий его выход к первому входу третьего элемента ИЛИ 20, При поступлении на информационный вход 27 устройства адреса команды, а на вход 26 кода операции адрес команды с второ го выхода первого демультиплексора 16 подается на первый вход третьего элемента ИЛИ 20 и с его выхода на информационный вход первого регистра 4 нижней границы участка команды, а также через третий 20 и четвертый 21 элементы ИЛИ на информационный вход регистра 9 верхней границы участка программы, и по командам с четвертого и двенадцатого выходов БМПУ 1 соответственно адрес команды записывается в эти регистры. Код операции команды поступает на вход дешифратора 10 с задержкой по отношению к адресу команды на Т = + +Ъ Н+1. +1: , а с его выхода информация ойт фдлине пришедшей команды поступает на вход шифратора 11, в котором преобразуется в двоичный код, соответствующий длине команды, Этот код поступает на первый вход сумматора 12, на второй вход которого поступает код адреса пришедшей команды с выхода третьего регистра 9 верхней границы участка программы,Причем коц операции на вход 26 кода устройства подается до момента прихода адреса следующей команды на информационный вход 27 устройства. При появлении информации в первом регистре 4 нижней границы участка программы единичный потенциал поступает на третий вход БМПУ 1, после чего с первого его выхода поступает сигнал на управляющий вход первого демультиплексора 1 б, который информационный вход 27 устройства подключает к ин- формационному входу приемного регистра 3.БМПУ 1 через первый элемент ИЛИ 19 анализирует приход адреса следующей команды, При появлении единичного потенциала на выходе первого элемента ИЛИ 19 (на первом входе БМПУ 1) БМПУ 1 подает с тринадцатого выхода сигнал на управляющий вход второго демуль пиплексора 17, который подключает выход приемного регистра 3 к первому входу первой схемы сравнения, на второй вход схемы сравнения поступает адрес следующей команды программы, сформированный в сумматоре 12. С третьего выхода БМПУ 1 на управляющий вход первой схемы 14 сравнения поступает сигнал, по которому происходит сравнение информации. Сигнал о результатах сравнения поступает на второй вход БМПУ 1 и на вход первого элемента И 24При совпадении информации код следующей команды с выхода сумматора 12 по сигналу с двенадцатого выхода БМПУ 1 записывается в третий регистр 9 верхней границы адреса команд, и далее операции происходят аналогично при приходе информации на входЫ кода команды 26 и информационный 27 устройства, При несравнении по сигналу с пятого выхода БМПУ 1 информация с выхода первого регистра 4 нижней и третьего регистра 9 верхней границ участка программы записывается во второй регистр 5 нижней и первый регистрверхней границ участка программы, а по сигналам с тринадцатого выхода БМПУ 1 второй выход демультиплексора 17 подключается к второмувходу третьего элемента ИЛИ 20, и счетвертого и двенадцатого выходовБМПУ 1 в первый регистр 4 нижней итретий регистр 9 верхней границ участка программы записывается информация с выхода приемного регистра 3,Затем БМПУ 1 анализирует наличиеинформации в третьем регистре 6 нижней и втором регистре 8 верхней границ участка программы через пятый. элемент ИЛИ 23 (приходит или не приходит единичный сигнал на его четвертый вход), При отсутствии информации БМПУ 1 организует перезаписьинформации из второго регистра 5 ниж.ней и первого регистра 7 верхней границ участка программы в третий регистр 6 нижней и второй регистр 8верхней границ участка программы, подавая управляющий сигнал со своегоседьмого выхода на входы синхронизации этих регистров,При наличии информации БМПУ 1 организует сравнение информации соответственно с второго 5 и третьего 6регистров нижних границ участка программы и первого 7 и второго 8 регистров верхних границ участка программыво второй схеме 15 сравнения путемподачи сигнала с восьмого выхода науправляющий вход второй схемы сравнения, Сигнал о результатах сравнепияс выхода второй схемы 15 сравненияподается на пятый вход БМПУ 1, Присовпадении кодов сигнал с выхода второй схемы 15 сравнения поступает навход счетчика 13 циклов через второйэлемент И 25, и по сигналу с четырнадцатого выхода БМПУ 1 в счетчике13 циклов прибавляется единица.При несовпадении кодов во второйсхеме сравнения по сигналу с тринадцатого выхода БЭППУ 1 на управляющийвхоц мультиплексора 18 к информационному входу блока 2 памяти подключаются выходы третьего регистра 6 нижней и второго регистра 8 верхней границ участка программы. С одиннадцатого выхода БМПУ 1 на адресный входблока 2 памяти поступает адрес записи информации, а при поступлении сдевятого и десятого выходов БМПУ 1управляющих сигналов на вход обращения и вход записи блока 2 памяти внего запись.вается информация с третьего регистра 6 нижней и второго регистра 8 верхней границ участка программы, Затем к информационному вхо ду блока 2 памяти по команде с тринадцатого выхода БМПУ 1 мультиплексор 18 подключает выход счетчика 13циклов. На адресный вход блока 2памяти поступает адрес с одиннадцатого выхода БМПУ 1, При поступлениисигналов с девятого выхода БМПУ 1 навход обращения и десятого его выходана вход записи блока 2 памяти информация с выхода счетчика 13 циклов записывается в блок 2 памяти,(О Формула изобретения 15 Устройство для контроля хода программ, содержащее блок микропрограммного управления, блок памяти, приемный регистр, первый, второй и третий регистры нижней границы участка программы, первый и второй регистры верхней границы участка программы, счетчик циклов, первую и вторую схе 20 мы сравнения, первый демультиплексор,25 30 35 40 45 50 55 первый и второй элементы ИЛИ, причеминформационный вход первого демультиплексора является информационнымвходом устройства, управляющий входдемультиплексора соединен с первымвыходом блока микропрограммного управления, первый выход первого демультиплексора соединен с информационнымвходом приемного регистра, разрядныевыходы которого соединены с соответствующими входами первого элементаИЛИ, выход которого соединен с первым адресным входом блока микропрограммного управления, второй выход которого соединен с тактовым входомприемного регистра, выход равенствапервой схемы сравнения соединен с вторым адресным входом блока микропрограммного управления, третий выход которого соединен с тактовым входомпервой схемы сравнения, четвертыйвыход блока микропрограммного управления соединен с тактовым входом первого регистра нижней границы участкапрограммы, разрядные выходы которогосоединены с соответствующими входамивторого элемента ИЛИ и информационными входами второго регистра нижнейграницы участка программы, выход второго элемента ИЛИ соединен с третьим адресным входом блока микропрограммного управления, пятый и шестойвыходы которого соединены соответственно с тактовым. и нулевым входамивторого регистра нижней границы уча 134348 12стка программы, группа разрядных выходов которого соединена с группойвходов первого сравниваемого числавторой схемы сравнения и группой информационных входов третьего регистра нижней границы участка программы,седьмой выход блока микропрограммногоуправления соединен с тактовым входом третьего регистра нижней границыучастка программы, пятый и шестой выходы блока микропрограммного управления соединены соответственно с тактовым и нулевым входами первого регистра верхней границы участка программы, группа разрядных выходов которого соединена с группой входоввторого сравниваемого числа второйсхемы сравнения и группой информационных входов второго регистра верхней границы участка программы, тактовый вход которого соединен с седьмым выходом блока микропрограммногоуправления, восьмой выход которогосоединен с тактовым входом второйсхемы сравнения, девятый, десятый иодиннадцатый выходы блока микропрограммного управления соединены соответственно с входами обращения, записи и адресным входами блока памяти,отличающееся тем, что,с целью расширения области применения, в устройство введены третий регистр верхней границы участка программы, дешифратор, шифратор, сумматор, второй демультиплексор, мультиплексор, третий, четвертый и пятыйэлементы ИЛИ, первый и второй элементы И, причем вход кода операцииустройства соединен с входом дешифратора, выход которого соединен свходами шифратора, выход которогосоединен с входом первого слагаемогосумматора, двенадцатый выход блокамикропрограммного управления соединен с тактовым входом третьего регистра верхней границы участка программы, группа разрядных выходов которого соединена с группой информационных входов первого регистра верхней границы участка программы и сгруппой входов второго слагаемого30 регистра нижней границы участка прог 35 40 45 5 С 5 10 15 20 25 сумматора, выход результата которогосоединен с первым входом первого эле. -мента И и с входом первого сравниваемого числа первой схемы сравнения,выход равенства которой соединен свторым входом первого элемента И, выход которого соединен с первым входом третьего элемента ИЛИ, выход которого соединен с информационным входом третьего регистра верхней границы участка программы, второй выходпервого демультиплексора соединен спервым входом четвертого элементаИЛИ, выход которого соединен с информационным входом первого регистра нижней границы участка программыи с вторым входом третьего элементаИЛИ, выход приемного регистра соединен с информационным входом второгодемультиплексора, управляющий входкоторого соединен с тринадцатым выходом блока микропрограммного управления, первый и второй выходы второго демультиплексора соединены соответственно с вторым входом четвертого элемента ИЛИ и с входом второгосравниваемого числа первой схемысравнения, разрядные выходы третьего раммы и второго регистра верхней границы участка программы соединены спервым информационным входом мультиплексора, выход счетчика циклов и четырнадцатый выход блока микропрограммного управления соединены соответственно с вторым информационным и управляющим входами мультиплексора, выход которого соединен с информационным входом блока памяти, разрядныевыходы второго регистра верхней границы участка программы соединены свходами пятого элемента ИЛИ, выходкоторого соединен с четвертым адресным входом блока микропрограммногоуправления, выход равенства второйсхемы сравнения соединен с первымвходом второго элемента И, выход которого соединен со счетным входомсчетчика циклов, пятнадцатый выходблока микропрограммного управления соединен с вторым входомвторого элемента И.о о о о о о о о о о осфСо о оО О О О ь О О о о о о о оооЧо а К О О О О О О о1 о с о о о с й о х й 1 Ь с сс о 4 ФО о х ао Ма й с с с с о о о с с о оОъфс с о с о о о с о о о МР МФ соо о о о о с о о о о ь3 о о о о о о
СмотретьЗаявка
4049754, 03.04.1986
ПРЕДПРИЯТИЕ ПЯ А-7160
КОНОРЕВ БОРИС МИХАЙЛОВИЧ, БЕК АЛЕКСАНДР ВЛАДИМИРОВИЧ, ЧЕРНЫШОВ МИХАИЛ АНАТОЛЬЕВИЧ, ХАРЧЕНКО ВЯЧЕСЛАВ СЕРГЕЕВИЧ, ТКАЧЕНКО СЕРГЕЙ НИКОЛАЕВИЧ, ТИМОНЬКИН ГРИГОРИЙ НИКОЛАЕВИЧ, ШУМИЛКИН ВЛАДИМИР АНДРЕЕВИЧ
МПК / Метки
МПК: G06F 11/28
Опубликовано: 07.10.1987
Код ссылки
<a href="https://patents.su/10-1343418-ustrojjstvo-dlya-kontrolya-khoda-programm.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для контроля хода программ</a>
Предыдущий патент: Устройство для контроля цифровых блоков
Следующий патент: Устройство для управления обменом с внешней памятью
Случайный патент: Устройство для измерения усилий