Устройство для контроля хода программы управляющей вычислительной машины

 

Изобретение относится к вычислительной технике и может.быть использовано в вычислительных управляющих устройствах. Цель изобретения - уменьшение времени выполнения программы и расширение области применения за счет возможности работы с процессорами, с конвейером команд и опережающей выборкой команд. Поставленная цель достигается тем, что в устройство введены одновибратор 10, регистры 1 и 4, триггеры 6.8,21, элементы И 11 и ИЛ И 9, дополнительный связи. Контроль осуществляется путем суммирования кодов команД на линейном участке программы и сравнения при переходе на новый линейный участок реального и прогнозируемого адреса перехода. 2 ил. (Л С

СОЮЗ СОВЕТСКИХ

СОЦИАЛИСТИЧЕСКИХ

РЕСПУБЛИК (я)5 G 06 F 11/28

ГОСУДАРСТВЕННОЕ ПАТЕНТНОЕ

ВЕДОМСТВО СССР (ГОСПАТЕНТ СССР) ОПИСАНИЕ ИЗОБРЕТЕНИ

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (21) 4860587/24 (22) 20.08.90 (46) 15.05.93. Бюл. ¹ 18 (71) Уфимский авиационный институт им. Серго Орджоникидзе (72) А.И.Иванов, В.Е.Кладов и В.Б,Забродский (56) Авторское свидетельство СССР

N 894713, кл. G 06 F 11/28, 1983, Авторское свидетельство СССР

¹ i191912, кл, G 06 F 11/28, 1985. (54) УСТРОЙСТВО ДЛЯ КОНТРОЛЯ ХОДА

ПРОГРАММЫ УПРАВЛЯЮЩЕЙ ВЫЧИСЛИТЕЛЬНОЙ МАШИНЫ (57) Изобретение относится к вычислительной технике и может. быть использовано в

„,!Ж,, 1815644 А1 вычислительных управляющих устройствах.

Цель изобретения — уменьшение времени выполнения программы и расширение области применения за счет возможности работы с процессорами, с конвейером команд и опережающей выборкой команд. Поставленная цель достигается тем, что в устройство введены одновибратор 10, регистры 1 и

4, триггеры 6, 8, 21, элементы И 11 и ИЛИ 9, дополнительный связи. Контроль осуществляется путем суммирования кодов команд на линейном участке программы и сравнения при переходе на новый линейный участок реального и прогнозируемого адреса перехода. 2 ил.

1815644

Изобретение относится к вычислительной технике и может быть использовано при построении надежных управляющих вычислительных машин (УВМ), нечувствительных к сбоям программы.

Целью изобретения является уменьшение времени выполнения программы и расширение области применения за счет возможности работы с процессорами с конвейером команд и опережающей выборкой команд.

На фиг. 1 изображена структурная схема устройства; на фиг. 2 — пример программы.

Устройство (см.фиг,1) содержит первый регистр адреса 1, первый блок памяти 2, второй блок памяти 3, второй регистр адреса 4, схему сравнения 5, триггер ошибок 6, накапливающий сумматор 7, триггер очистки 8. элемент ИЛИ 9, одновибратор 10, элемент И 11, входы: "подтверждение данных

12, чтение данных 13, запрос ПЗУ 14. чтение очистка 15, разрешение прерывания 16, выходы запроса прерывания 17, вход началь-. ной установки 18, информационный вход

19, адресный вход 20, триггер задержки 21.

На фиг.2 представлен пример части программы. В программе можно выделить несколько линейных участков. Начинаются они с начальной точки (команды) программы и с точек программы, на которые происходит переход, в результате выполнения команд, связанных с изменением счетчика команды и нарушения последовательного выполнения команд. На фиг.2 показаны и пронумерованы данные точки — начало линейных участков программы. В скобках указаны их адреса. В общем случае во всей программе существует N таких точек (команд), хранящихся в ячейках с адресами

A1...AN

На фиг. 2 показаны также точки (обведены) m+ 1...М, в которых возможно появление активного (н1н) сигнала очистки на линии 15 и переход на другой линейный участок программы. Необходимо отметить, что сигнал очистки появляется не при считывании команды ветвления, в результате выполнения которой происходит переход на начало новоголинейного участка программы l(m), а из-за опережающей выборки команд после считывания еще нескольких команд, следующих за данной командой по выполняемому линейному участку программы.

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

15 конвейер команд (например, микропроцессоры 1810 ВМ86,!ИТЕ1 18086).

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

ВМ86 например, ато сигнал Y = мо1 QSO

QS1 + Q36, активний уровень которого ("1 "т появляется при QS1 = О, QSO- 1) идентифицирует переход к началу нового линейного участка программы и подается на соответствующий вход устройства.

Сигналы на линиях 12, 13, 15, 17, 18, 19, 20" 20 соответствуют стандартному интерфейсу

Muttibus и его советскому аналогу 0 41. Сигнал запроса ПЗУ на линии 14 вырабатывается вычислительной машиной (например, с помощью входящего в его состав селектора

25 адреса при ее обращении к зоне адресов ее программы).

Контроль работы УВМ осуществляется путем суммирования кодов команд на линейном участке и сравнении при переходе

3О на новый линейный участок программы реального и прогнозируемого значения адреса перехода. Прогноз осуществляется на основе начальной точки исполняемого линейного участка и суммы кодов команд, счи35 танных процессом УВМ к моменту появления сигнала "Очистка", свидетельствующего о переходе на новый линейный участок программы. Таким образом, обеспечивается как контроль правильности считывания команд при выполнении линейного участка программы, так и правильность перехода на новый линейный участсМ.программы.

Запись информации в регистры 1, 4, триггер 6 происходит по фронту О/1 на их синхровходах, суммирование кодов в сумматоре 7 — по фронту 1/О на его синхровходе.

5р При равенстве кодов на входах схемы сравнения 5 на ее выходе сигнал логической н1", при неравенстве — нО".

Одновибратор 10 формирует короткий положительный импульс по фронту О/1 на

55 своем входе. Длительность импульса должна быть достаточной для сброса триггера очистки 8 и сумматора 7.

Первый блок памяти 2 прошит следующим образом. По адресам А1... Ag, соответствующим началам линейных участков

1815644 программы записаны их порядковые номера 1...N, В ячейках с другими аж адресами записан один и тат же код равный N+1.

Второй блок памяти разделен на 1...N+1 зоны. Объем каждой эоны равен 2Р, где; р— разрядность сумматора. 1...N зоны соответствуют линейным участкам программы, начинающимся соответственно с 1...N точки.

N+1 зона соответствует случаю сбоя. В ячейках IPm, где I — номер эоны, а

Rim = X К вЂ” сумма (или Р младших разI рядов суммы) кодов команд(К), считанных от точки 1 начала линейного участка програм- 15 мы до точки m данного линейного участка программы, когда возможно появление сигнала очистки на линии 15, свидетельствую- щем о переходе на новый линейный участок программы; записан адрес A (mI начала но- 20 вого линейного участка программы, на которой возможен переход в данной точке M. В остальных ячейках 1.;.Nзон,,во всех ячейках

N+1 зоны записан код, равный адресу. входящему в неиспользованную область адре- 25 сов вычислительной машины.

Триггер задержки. 21 предотвращает ложное срабатывание триггера ошибки 6 при считывании первой команды программ и обработки прерывания по сбою, Устройство работает следующим образом.

При включении питания по активному уровню ("0") сигнала начальной установки 35 на линии 18 происходит установка триггера ошибки 6. При включении питания и при переходе на новый линейный участок программы в процессе с конвейером команд происходит его очистка, сопровождающая- 40 ся появлением активного уровня ("1") сигнала на линии очистки 5. Это приводит к сбросу триггера очистки 8, обнулению сумматора 7 и записи адреса в регистр 4.

Процессор УВМ обращается к ПЗУ про- 45 граммы за первой командой линейного участка программы, выдавая ее адрес, Обращение сопровождается появлением активного("0") уровня сигнала на линии "Запрос ПЗУ" 14, по которому происходит уста- 50 новка триггера очистки.8. По фронту О/1 на выходе триггера очистки 8 происходит запись адреса начала нового линейного участка программы в регистр адреса 1, На выходе первого блока памяти 2 формируется номер начала линейного участка программы. Он поступает на первую группу входов (старшие разряды) второго блока памяти 3. На его вторую группу входов (младшие разряды) подается информация с сумматора 7, который в начале линейного участка обнулен.

При считывании команд линейного участка программы (процесс считывания идентифицируется появлением активного ("0") уровня сигналов на линиях 12, 13, 14) фронту

1/О на синхровходе сумматора 7 происходит суммирование старого содержания сумматора 7 с кодом считанной команды, в результате чего в сумматоре 7 образуется сумма (или Р младших разрядов суммы) считанных к этому моменту кодов команд выполняемого линейного участка программы.

Второй блок памяти формирует адрес начала другого линейного участка, на который может перейти процессор УВМ в текущий момент времени.

Контроль осуществляется в моменты перехода на новый линейный участок программы. При этом по активному ("0") сигналу на линии "Очистка" 15, сформйровавшему фронт О/1 на синхровходе регистра 4 происходит запись ожидаемого адреса перехода с второго блока памяти 3 в регистр 4. В схеме сравнения 5 осуществляется сравнение реального адреса перехода, установленного в этот момент на шине адреса 11 и ожидаемого, записанного в регистр 4.

В случае несовпадения по фронту О/1 с выхода триггера очистки 8, появляющемуся при считывании первой команды нового линейного участка программы, происходит сброс триггера 6, формируется активный ("0") уровень сигнала на линии "Запрос прерывания" 17. ПроцессорУВМ формируетактивный ("0") уровень сигнала на линии разрешения прерывания 16, который устанавливает триггер 6 и снимает активный уровень сигнала на линии 17, и переходит к программе обработки прерывания. При отсутствии сбоев при выполнении линейного участка программы в момент появления фронта О/1 на синхровходе триггера 6 значения сигналов на входах схемы сравнения совпадают, а на ее выходе сигнал логической "1", сброс триггера 6 не происходит.

Формула изобретения

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

Составитель Д.Ванюхин

Техред М.Моргентал Корректор О.Кравцова

Редактор

Заказ 1636 Тираж Подписное

ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР

113035, Москва, Ж-35, Раушская наб., 4/5

Производственно-издательский комбинат "Патент", г. Ужгород, ул,Гагарина, 101 щения времени выполнения программы и расширения области применения устройства за счет возможности работы с процессорами с конвейером команд и опережающей выборкой команд, в него введены одновиЬратор, триггер очистки, триггер ошибки, триггер задержки, первый и второй регистры адреса, элемент И, элемент ИЛИ, причем первый вход схемы сравнения является адресным входом устройства и соединен с информационным входом первого регистра адреса, группа выходов которого соединена с группой адресных входов первого блока памяти, группа информационных выходов которого соединена со старшими разрядами адресного входа второго блока памяти, младшие разряды адресного входа которого соединены с группой выходов накапливающего сумматора, группа информационных выходов второго блока памяти соединена с группой информационных входов второго регистра адреса, информационный выход которого соединен с вторым входом схемы сравнения, выход которой соединен с информационным входом триггера ошибки. выход которого является выходом запроса прерывания устрОйства, вход установки триггера ошибки соединен с выходом триггера задержки, информационный вход которого соединен с шиной потенциала логической

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

"0 ошибки, триггера задержки и первого регистра адреса соединены с выходом триггера очистки, информационный вход которого соединен с шиной потенциала логической единицы устройства, синхровход триггера очистки, первый вход элемента ИЛИ соединен с входом запроса ПЗУ устройства, вход сброса триггера очистки соединен с выходом одновибратора, синхровходом вто 0 рого регистра адреса, входом сброса накапливающего сумматора, синхровход которого соединен с выходом элемента

ИЛИ, второй и третий входы которого являются соответственно входами чтения и подр5 тверждения данных устройства, вход одновибратора является входом очистки устройства.

Устройство для контроля хода программы управляющей вычислительной машины Устройство для контроля хода программы управляющей вычислительной машины Устройство для контроля хода программы управляющей вычислительной машины Устройство для контроля хода программы управляющей вычислительной машины 

 

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

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

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

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

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

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

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

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

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

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

Изобретение относится к компьютерным технологиям, в частности к системам и способам формирования дамп файла при возникновении сбоя в работе программы (аварийном завершении программы) в вычислительных системах с ограниченными ресурсами

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

Изобретение относится к вычислительной технике и может быть использовано при построении управляющих вычислительных машин (УВМ), нечувствительных к сбоям программ

Изобретение относится к вычислительной технике и может быть использовано в управляющих вычислительных машинах (УВМ), например в системах управления газотурбинного двигателя

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

Изобретение относится к вычислительной технике и может быть использовано в управляющих вычислительных машинах (УВМ)

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