Микропрограммное устройство управления и отладки микропрограмм процессора

 

МИКРОПРОГРАММНОЕ УСТРОЙСТВО УПРАВЛЕНИЯ И ОТЛАДКИ МИКРОПРОГРАММ ПРОЦЕССОРА, содержащее регистр микропрограммного адреса, блок памяти микрокоманд, дешифратор, генератор тактовых импульсов, регистр начального адреса, первый и второй коммутаторы адреса, два элемента И, причем выход регистра микропрограммного адреса объединен с выходом регистра начального адреса и с входом блока памяти микрокоманд, первый и второй выходы которого соединены соответственно с входом дешифратора и с первыми информационными входами коммутагоров адреса, вторые информационные входы которых соединены с третьим выходом блока памяти микрокоманд, четвертый выход которого соединен с третьими информационными входами коммутаторов адреса, четвертые информационные входы которых подключены к шине внешних запросов, а выходы соединены соответственно с первыми информационными входами регистра микропрограммного адреса и регистра начального адреса, входы синхронизации которых соединены соответственно с выходами первого и второго элементов-И, первые входы которых соединены с выходом генератора тактовых импульсов, управляюшие входы коммутаторов адреса соединены с шиной внешних условий, отличающееся тем, что, с целью сокрашения аппаратурных затрат для отладки микропрограмм, в него введены триггер, счетчик микрокоманд, два регистра ветвления, две схемы сравнения, коммутатор признаков, четыре элемента ИЛИ, третий элемент И, причем первый и второй выходы дешифратора соединены соответственно с первыми входами третьего и четвертого элементов ИЛИ, выходы которых соединены с вторыми входами соответственно первого и второго элементов И, третий выход дешифратора соединен с единичным входом триггера, инверсный выход которого соединен с вторым входом четвертого элемента ИЛИ, управляюш.им входом регистра микропрограммного адреса и первым входом третьего элемента И, второй вход и вы ход которого соединены соответственно с вы (Л ходом генератора тактовых импульсов и счетным входом счетчика микрокоманд, информационный вход и выход которого соединены соответственно с четвертым выходом дешифратора и управляюш.им входом коммутатора признаков, первый информационный вход которого подключен к выходу первого элемента ИЛИ, первый вход которого соединен с выходом первой схемы сравнения, первый вход которой подключен к выходу а первого регистра ветвления, информацион00 ный вход которого соединен с шиной внешсо оо них запросов, установочным входом счетчика микрокоманд и информационными входами первого и второго регистров ветвления, управляющий вход первого регистра ветвления соединен с пятым выходом дешифратора , шестой выход которого соединен с управляюшим входом второго регистра ветвления, выход которого соединен с первым входом второй схемы сравнения, второй вход которой соединен с вторым входом первой схемы сравнения и выходом регистра микропрограммного адреса, выход второй схемы сравнения соединен с вторым входом первого элемента ИЛИ, второй информационный вход и выход коммутатора признака соеди

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

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

РЕСПУБЛИК (534 G 06 F922 1100

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

К А ВТОРСНОМУ СВИДЕТЕЛЬСТВУ

ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 3695955/24-24 (22) 26.01.84 (46) 23.07.85. Бюл. № 27 (72) С. В. Горбачев, В. Д. Диденко, Л. И. Сакун и В. А. Торгашев (71) Ленинградский институт авиационного приборостроения и Ленинградский научноисследовательский вычислительный центр

АН СССР (53) 681.3 (088.8) (56) 1. Клингман. Проектирование микропроцессорных систем. М., «Мир», 1980.

2. Авторское свидетельство СССР № 947868, кл. G 06 F 15/00, 1980. (54) (57) МИКРОПРОГРАММНОЕ УСТРОЙСТВО УПРАВЛЕНИЯ И ОТЛАДКИ

МИКРОПРОГРАММ ПРОЦЕССОРА, содержащее регистр микропрограммного адреса, блок памяти микрокоманд, дешифратор, генератор тактовых импульсов, регистр начального адреса, первый и второй коммутаторы адреса, два элемента И, причем выход регистра микропрограммного адреса объединен с выходом регистра начального адреса и с входом блока памяти микрокоманд, первый и второй выходы которого соединены соответственно с входом дешифратора и с первыми информационными входами коммутагоров адреса, вторые информационные входы которых соединены с третьим выходом блока памяти микрокоманд, четвертый выход которого соединен с третьими информационными входами коммутаторов адреса, четвертые информационные входы которых подключены к шине внешних запросов, а выходы соединены соответственно с первыми информационными входами регистра микропрограммного адреса и регистра начального адреса, входы синхронизации которых соединены соответственно с выходами первого и второго элементов И, первые входы которых соединены с выходом генератора тактовых импульсов, управляющие входы коммутаторов адреса соединены с шиной внешних условий, отличающееся тем, что, с це„„SU„„1168937 А лью сокращения аппаратурных затрат для отладки микропрограмм, в него введены триггер, счетчик микрокоманд, два регистра ветвления, две схемы сравнения, коммутатор признаков, четыре элемента ИЛИ, третий элемент И, причем первый и второй выходы дешифратора соединены соответственно с первыми входами третьего и четвертого элементов ИЛИ, выходы которых соединены с вторыми входами соответственно первого и второго элементов И, третий выход дешифратора соединен с единичным входом триггера, инверсный выход которого соединен с вторым входом четвертого элемента ИЛИ, управляющим входом регистра микропрограммного адреса и первым входом третьего элемента И, второй вход и выход которого соединены соответственно с выходом генератора тактовых импульсов и р счетным входом счетчика микроком анд, и н- %У Ф формационный вход и выход которого соединены соответственно с четвертым выходом дешифратора и управляющим входом коммутатора признаков, первый информационный вход которого подключен к выходу первого элемента ИЛИ, первый вход которого соединен с выходом первой схемы сравнения, первый вход которой подключен к выходу первого регистра ветвления, информационный вход которого соединен с шиной внеш- 00 них запросов, установочным входом счетчика микрокоманд и информационными BxojIBMH ф первого и второго регистров ветвления, управляющий вход первого регистра ветвления соединен с пятым выходом дешифратора, шестой выход которого соединен с управляющим входом второго регистра ветвления, выход которого соединен с первым входом Ф второй схемы сравнения, второй вход которой соединен с вторым входом первой схемы сравнения и выходом регистра микропрограммного адреса, выход второй схемы сравнения соединен с вторым входом первого элемента ИЛИ, второй информационный вход и выход коммутатора признака соеди1168937 иены соответственно с пятым выходом блока памяти микрокоманд и первым входом второго элемента ИЛИ, второй вход которого соединен с входом начальной установки устройства и входом сброса регистра начального адреса, выход второго элемента ИЛИ соеf

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

Известны системы логического и функционального моделирования для отладки алгоритмов, логики функционирования микропрограмм (1) .

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

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

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

15 го

25 зо

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

2 при выполнении рабочих микропрограмм процессора.

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

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

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

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

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

Устройство содержит регистр 1 микропрограммного адреса, блок 2 памяти микрокоманд, дешифратор 3, генератор 4 тактовых импульсов, регистр 5 начального адреса, первый 6 и второй 7 коммутаторы адреса, первый 9 и второй 8 элементы И, триггер 10, счетчик 11 микрокоманд, первый 12 и второй 13 регистры ветвления, первая 14 и вторая 15 схемы сравнения, первый 16 второй 17, третий 18 и четвертый 19 элементы ИЛИ, третий элемент И 20, коммутатор

21 признаков, шину 22 внешних запросов, вход 23 начальной установки, шину 24 внешних условий.

Устройство работает в двух режим ах, режиме настройки и режиме выполнения рабочей микропрограммы. В исходном состоянии сигнал начальной установки с входа 23 поступает на третий вход регистра 5 начального адреса и через первый вход второго элемента ИЛИ 17 на нулевой вход триггера 10, при этом последний устанавливается в нулевое состояние, а в регистре 5 начального адреса устанавливается нулевой адрес — начальный адрес микропрограммы приема и реализации функции настройки.

Единичный разрешающий сигнал с прямого выхода триггера 10 поступает через третий элемент ИЛИ 18 на второй вход первого элемента И 8, обеспечивая поступление синхроимпульсов с выхода генератора 4 импульсов через первый элемент И 8 на второй вход, являющийся синхронизируюшим, регистра 5 начального адреса. Кроме того, единичный сигнал с прямого выхода триггера 10 поступает на четвертый вход регистра 5, переводя его выход из третьего состояния (высокий импеданс) в открытое, т.е. подключая выход регистра 5 к входу блока 2. Благодаря этому устройство переводится в режим настройки. В этом режиме регистр 5 адресует блок 2 памяти микрокоманд, обеспечивая считывание из него микрокоманд микропрограммы настройки.

Дешифратор 3 из соответствующих полей

MHKpoKoMBHlIbI формирует управляющие сигналы, обеспечивающие выполнение микроопераций в режиме настройки. Дешифратор

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

Для формирования адреса следующей микрокоманды код адреса с второго выхода блока 2 памяти микрокоманд поступает через первый вход второго коммутатора 7 адреса на первый вход регистра 5 начального адреса и записывается в него при поступлении синхроимпульса на второй вход регистра 5 (диаграммы А, Б, В, Г, фиг. 3).

Рассмотрим функционирование устройства в режиме настройки на примере настройки устройства на выполнение функции выпол нения рабочей программы с начального адреса на N шагов. Первый параметр, принимаемый с шины 22 внешних запросов и являющийся адресом микропрограммы, реализующей требуемую функцию настройки, загружается по управляющему коду 10, поступающему с четвертого выхода блока 2 памяти микрокоманд, через второй коммутатор 7 адреса в регистр 5 начального адреса. Тем самым осуществляется выбор нужной микропрограммы, которая будет интерпретировать последующие параметры, поступающие с внешней шины 22. В данном случае второй параметр, являюшийся чис1168937

$ лом шагов Х, поступает с пины 22 внешних запросов на третий вход счетчика 11 микрокоманд, запись в который выполняется l10 управляющему сигналу, выдаваемому с четвертого выхода дешифратора 3 на второй вход счетчика 11 микрокоманд. Третий параметр, поступающий с шины 22 внешних запросов на третьи входы первого и второго коммутаторов 6 и 7, передается через первый коммутатор 6 адреса на первый вход регистра 1 микропрограммного адреса. При этом с второго выхода дешифратора 3 выдается микропрограммно задаваемый управляющий сигнал, поступающий на первый вход элемента ИЛИ 19.

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

Это обеспечивается тем, что по окончании микропрограммы настройки с третьего выхода дешифратора 3 управляющий сигнал поступает на первый вход триггера 10 и переводит его в единичное состояние (диаграммы Б и Д, фиг. 3).

Разрешающий единичный сигнал с первого выхода триггера 10, поступая через элемент ИЛИ 19 на второй вход элемента

И 9, обеспечивает поступление последовательности из N синхроимпульсов с генератора 4 на управляющий вход регистра 1 микропрограммного адреса. Тем самым устройство переводится в режим выполнения N шагов рабочей микропрограммы (диаграммы Е и Ж) фиг. 3).

Выполнение рабочей микропрограммы во втором режиме в зависимости от выбранной ранее функции настройки может осуществляться в следующих вариантах: выполнение рабочей микропрограммы с требуемого адреса, пуск микропрограммы с требуемого или текущего адреса до точек останова, выполнение микропрограммы на определенное число шагов как с заданного, так и с текугцего адреса. Режим выполнения рабочей программы обеспечивается подачей разрешающего сигнала с второго выхода триггера 10 на третий вход регистра 1 микропрограммного адреса, подключая его выход к входу блока 2 хранения микрокоманд.

Одновременно подачей запрещающего (нулевого) сигнала с инверсного выхода триггера 10 на четвертый вход регистра 5 осуществляется отключение выхода регистра 5 начального адреса от блока 2 памяти мик5

40 ф рокоманд. Адресация блока 2 памяти микрокоманд осуществляется с выхода регистра 1 микропрограмм ного адреса.

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

Формирование адреса производится путем подачи кода адреса с второго выхода блока

2 через первый вход первого коммутатора 6 на первый вход регистра 1 микропрограммного адреса. Выполнение микропрограммы осуществляется без остановки, либо до соответствующей точки останова. Выполнение микропрограммы на определенное число шагов обеспечивается наличием в устройстве счетчика 11 микрокоманд, который при выполнении каждой микрокоманды вычитает единицу из параметра, определенного в режиме настройки.

В режиме выполнения рабочей микропрограммы на первый вход счетчика 11 микрокоманд поступает синхроимпульс с выхода элемента И 20. Последний обеспечивает передачу синхроимпульсов с выхода генератора 4, так как на первый вход его поступает разрешающий сигнал с инверсного выхода триггера 10. Когда значение счетчика 11 микрокоманд станет равным нулю, на его выходе формируется управляющий сигнал, который поступает на первый вход коммутатора 21 признака. В соответствии с кодом признака, поступающего из отдельного поля микрокоманды с пятого выхода блока 2 на третий вход коммутатора 21 признака, управляющий сигнал с выхода коммутатора 21 (диаграмма 3, фиг. 3) поступает на первый вход элемента ИЛИ 17 и затем на нулевой вход триггера 10, останавливая выполнение рабочей микропрограммы и переводя устройство в режим настройки. Счетчик 11 микрокоманд, кроме того, может быть использован для реализации пошагового выполнения рабочей микропрограммыы.

Аналогично при выполнении рабочих программ до точек остановок, хранящихся в регистрах 12 и 13 ветвления, схемы 14 и 15 сравнения обеспечивают проверку на совпадение точек останова с текущим микропрограммным адресом, сформированным в регистре 1 микрокомандного адреса. В случае совпадения управляющий сигнал с выхода любой из схем 14 и 15 сравнения через элемент ИЛИ 16, коммутатор 21 признаков, элемент ИЛИ 17 поступает на нулевой вход триггера 10, переводя его в нулевое состояние, а устройство — в режим настройки. После перехода в режим настройки состояние элементов памяти процессора, управляемого предлагаемым устройством, может быть выведено для индикации и изме1168937 нения с помощью соответствующей микропрограммы настройки.

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

1168937

1168937 плие

Устпкодкп, ре//гама нпспройки

8 регистр / л?данного пореса кет

//em г... нет

Составитель И Сафронова

Редактор В. Данко Техред И. Верес Корректор А. Обручар

Заказ 4614 42 Тираж 710 Подписное

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

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

Филиал ППП «Патент>, г. Ужгород, ул. Проектная, 4

Пуск оа с поданного афинса .

//уск ка N /ипго8 да с оаопнкого адреса 7

/7уск да на /1/ /пагод с текуи/его адреса?

//уск с задаккпиадрес дп до заданных толк остпноду.

//уск с текшего дп адреса до зпданкых толк, осо7пко8

Л7гРф7Ач7

8 с4ет/ик/1

//прпметрп й.уагруекп

8 с1ююик17 параметра /1/

Л7гРУ.7/й7

8 регистры 12//I3 епдпнкб/х то уех ад есо8 остано8а

Л груокп наяыбного адреса

8 регистрУ

/грехоо

8 рпбГо1/ий,оемю/м

Микропрограммное устройство управления и отладки микропрограмм процессора Микропрограммное устройство управления и отладки микропрограмм процессора Микропрограммное устройство управления и отладки микропрограмм процессора Микропрограммное устройство управления и отладки микропрограмм процессора Микропрограммное устройство управления и отладки микропрограмм процессора Микропрограммное устройство управления и отладки микропрограмм процессора Микропрограммное устройство управления и отладки микропрограмм процессора 

 

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