Устройство для отладки микропроцессорных систем
Иллюстрации
Показать всеРеферат
Изобретение относится к вычислительной технике, может найти применение для контроля и отладки многопроцессорных вычислительных систем. Цель изобретения - расширение функциональных возможностей. Устройство содержит первый 1,1 и второй 1.2 блоки памяти, тактовый генератор 2, блок 3 индикации, первый .1 и второй А,2 сумматоры, первый и второй 5.1 счетчики адресов, первый 6.1 и второй 6,2 триггеры пуска, пеовый 7.1 и второй 7.2 триггеры за
А1
СОЮЗ СООЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК (19) (И) (51)5 Г 06 F 11 28
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Н АВТОРСКОМ,Ф СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ КОМИТЕТ
ПО ИЗСВ ЕТЕНИЯМ И ОТКРЫТИЯМ
llPH CHHT СССР (21) 4680826/24 (22) 18.05.89 (46) 23„05.92 Бюл. М 19 (71) Конструкторское бюро электроприборостроения (72) А.В.Бек, M.A,×åðíûøîâ, С.Н.Ткаченко, Г.Н.Тимонькин, В.С.Харченко и А.R.Ìoöåíêoâ (53) 68 1 ° 3 (088.8) (56) Клямко Э.И. Схемный и тестовый контроль автоматических цифровых вычислительных машин. - M.: Советское радио, 1963, с. 58-59, рис. 6, Авторское свидетельство СССР N 894713. кл. G 06 F 11/28, 1981 прототип.
2 (54) УСТРОЙСТВО ДЛЯ ОТЛАДКИ МИКРОПРОЦЕССОРНЫХ СИСТЕМ (57) Изобретение относится к вычислительной техни.ке, может найти применение для контроля и отладки многопроцессорных вычислительных систем.
Цель изобретения - расширение функциональных возможностей. Устройство содержит первый l,l и второй 1,2 блоки памяти, тактовый генератор 2, блок 3 индикации, первый 4,1 и второй 4,2 сумматоры, первый 5.2 и второй 5,1 счетчики адресов, первый 6,1 и второй 6,2 триггеры пуска, первый 7,1 и второй 7,2 триггеры заЭ 1 нятости ресурса, первый 8.2 и вто" рой 8, i триггеры останова, первый
9,2 и второй 9.1 преобразователи ко да команды- в код времени, первый
i0,2 и второй lg,l дешифраторы, блок
11 .сравнения, первый 13, второй 12.2 и третий 12,1 коммутаторы, первый
735856
14, второй 1
17 элементы мент ИЛИ 19 моделировать процессорной тирования на
1 ил.
5-, третий 16 и четвертый
И, одновибратор 18, эле"
Устройство позволяет функционирование много. системы на этапе проекоснове смесей команд.
Изобретение относится к вычислительной технике и может использоваться для отладки. многопроцессорных 15 вычислительных систем, Цель изобретения - расширение функциональных возможностей устройства за счет возможности контроля хода программы многопроцессорных 2О систем, На чертеже представлена-функциональная схема устройства, Устройство. содержит два блока па-: мяти 1.1 и 1.2, тактовый генератор 2,. 25 блок 3 индикации, два сумматора 4,1 ,и 4,2, два счетчика, 5.1 и 5,2, два триггера пуска 6.1 и 6,2, два триггера 7.1 и 7.2 занятости ресурса, два триггера 9,1 и 8.2 останова, 0 два преобразователя 9,1 и 9.2 кода команды в код времени, два дешифратора 10,1 и 10.2, блок 11 сравнения, коммутаторы 12,1, 12.2 и 13, элементы И 14-17,. одновибратор 18, элемент ИЛИ 19, группу входов 20, тактовый вход 21, группу выходов
22,1 первого блока памяти, группу входов 22.2 второго блока памяти, выходы тактового генератора 23.1-23.4.
Устройство раббтает следующим образом, 1
В исходном состоянии все элементы памяти, за исключением блоков 1,1 и 1<2 памяти, обнулены (цепи уста- ® новки в исходное состояние не показаны) .
Блоки 1.1 и 1.2 памяти могут со" держать смеси команд, сгенерированные генератором псевдослучайных последовательностей и сформированные в соответствии с заданными -характеристиками. (тип команды, формат, . удельное соотношение типов команд), Данные смеси по своим параметрам близки к реальным программам функцио"
Я . Нирования мультипрограммных или.мно- . гопроцессорных систем, Блоки 1,1 и
Ф t.2 памяти могут содержать реальные . L б программы, инициирующие процессы в мультипрограммных или многопроцессорных системах.
Для определенности зададимся тем, что в блоке 1,1 памяти помещена смесь команд, моделирующая программу функционирования первого процессора, а в блоке 1,2 памяти. находится смесь команд, моделирующая программу функционирования второго процессора, например, в двухпроцессорной системе.
Для моделирования обращения программы к ресурсам в смеси помещаются команды-вставки "Запрос ресурса" и "Освобождение ресурса". Места обращений и освобождения ресурса выбираются случайным образом, при условии, что команда "Освобождения ре" сурса" может помещаться в испытательную программу только после соответствующей команды "Занятие ресурса". Моделирование функционирования нескольких процессов с общим ресурсом и оценка временных затрат при этом в данном устройстве осуществляется следующим образом, В зависимости от размерности программ, помещенных в блоки 1.1 и 1.2 памяти, на группу 20 входов. устройства подается код числа максималь" ного адреса, который по управляющему. сигналу "Пуск" с входа 21 устройства запишется в счетчики 5.1 и 5.2 ад" реса.
По сигналу "Пуск" с входа 21.устройства триггеры 6.1 и 6.2 переводятся в единичное состояние. Сигнал с их единичных выходов через элемент
ИЛИ 19 запустит тактовый генератор 2
У который начинает генерировать четыре неперекрывающиеся последовательности импульсов, Первые тактовые импульсы с выхода
23,1 тактового генератора 2 поступают. на счетные входы счетчиков 5,1 и 5,2 адреса и по заднему фронту будут изменять код адреса на их группах выходов.
35856
17
По данным адресам иэ блоков 1,1 и 1.2 начинают считываться коды команд, которые поступают на соответствующие преобразователи 9.1 и 9.2 кодов, Пре-. образователи 9,1 и 9,2 работают в соответствии с функциеи Г : C К )- (Т т.е, каждой считанной команде ставится в соответствие код приведенного времени выполнения системой данной команды. Коды приведенного времени поступают соответственно на коммутаторы 12,1 и 12,2, Так как на единичных выходах триггеров 8,1 и 8,2 присутствуют сигналы логического "0", то по инверсным входам коды -приведенного времени через коммутаторы 12.1 и 12,2 поступают на соответствующие сумматоры 4,1 и 4,2, где по четвертому тактовому импульсу с входа 23.3 тактового генератора 2 происходит сложение и запоминание накопленной информации. Коды сумм времен функционирования процессоров сравниваются в блоке 11 сравнения, Так как производительность многопроцессорных систем оценивают по времени обработки наиболее большой программы, то блок 11 сравнения выработает управляющий сигнал на своем выходе А В, если время обработки программы первым процессором больше, чем вторым, и, наоборот, управляющий сигнал будет на выходе А (В в случае, если время второго процесса больше, чем первого.
В соответствии с этими сигналами на группе выходов коммутатора 13 по первому тактовому сигналу с выхода
23,1 тактового генератора 2 появится информация либо с группы выходов сумматора 4,1, либо с группы выходов сумматора 4,2 ° По тактовому импульсу с выхода 23.3 тактового генератора 2 информация о времени работы многопроцессорной системы поступит в блок 3 индикации, где запишется в регистр 28 и отобразится на группе 28 элементов индикации, В многопроцессорных системах значительное влияние на произ- . водительность оказывают конфликтные ситуации, общий ресурс требуется одновременно нескольким процессораи, в этом случае запрашивающий процесс при занятом ресурсе прекращает обработку команд. программы до тех пор; пока данный ресурс не освободится.
Конфликтная ситуация в данном . устройстве контролируется следующим образом, 6
Предположим, что в первый момент времени функционирования устройства иэ блока 1.1 памяти будет считан код команды "Запрос ресурса", данный код с г руппы выходов блока 1,1 памяти поступит на группу входов дешифратора 10,1,. у которого на выходе
24,1 при этом коде появится управ1О ляющий сигнал,. устанавливающий по приходу второго импульса с выхода
23.2 тактового генератора 2, триггер
7.1 занятости ресурса в единичное состояние, на его единичном выходе уст,рнавливается сигнал логической
"1", Данный триггер 7.1 будет в единичном состоянии до прихода на груп" пу входов дешифратора 10.1 команды" вставки "Освобождение ресурсов", О тогда сигнал с выхода 24,2 триггера
7,1 будет обнулен по R-входу, В интервале,между двумя командами-встав" ками "Занять" и "Освободить" находятся команды работы с данным ре" 5 сурсом, В случае запроса ресурса вторым процессом, когда ресурс занят первым процессом (интервал времени между командами Занят ресурс < и "Освободить ресурс"), команда "Запрос ресурса" вторым процессом считывается из блока 1,2 памяти, решифрируется дешифратором 10.2 и сигналом с выхода
25.1 по приходу второго импульса с выхода 23,2 генератора 2 установит
35 триггер 7,2 в единичное состояние.
Сигнал с единичного выхода триггера
7,2 поступит на второй вход элемента
И 14, на первом входе которого присутствует потенциальный сигнал с еди4О ничного выхода триггера 7,1. По третьему импульсу с выхода 23,3,тактового генератора 2 сигнал с выхода элемента И 14 установит триггер 8,2 остано" ва в единичное состояние, 45 Сигнал логической единицы с единичного выхода триггера 8,2 подается на инверсный запрещающий вход счетчи" . ка 5.2,. тем самым не разрешает работу счетчика 5,2 по счетному входу, О смена кодов адресов на группе выхо " дов этого счетчика прекращается, считывайие кодов команд иэ блока 1,2 памяти приостанавливается. Сигнал с единичного выхода триггера 8,2 сoc"
5$ танова поступае также на управляющие входы коммутатора 12.2. По. ин" версному входу закрывается коммутатор 12,2.для поступления коров приведенного времени своего, второго
735856 8 ратор 10.1 вырабатывает сигнал по приходу второго импульса с выхода
23.2 тактового генератора 2, устанавливающий триггер 7,1 в единичное состояние, Сигнал логической "1" поступает на второй вход элемента
И 17,.на первом входе также присутствует сигнал логической "1" повы- . шенной длительности.
1 процесса с преобразователя 9;2, а по.прямому входу открывается пропуском на группу-входов сумматора
4,2 кодов приведенного времени ко" манд первого процесса, Тем самым сум матор 4,2 к сумме времени обработки вторым процессом программы прибавит время простоя данного процесса в связи с занятым ресурсом. Это время простоя будет определяться количеством команд работы ресурса с первым .процессом с момента прихода . запроса "Занять ресурс" от второго процесса (т.е, останова отчитывания команд второй программй) до ко"манды "Освобождение ресурса" первым процессом, когда второй процесс начинает обрабатывать вновь свои команды, работая с ресурсом, При считывании команды "Освободить ресурс" из блока 1.1 в памяти дешифратор на выходе 24,2 сформирует сигнал обнуляющий триггер 7.1 (ресурс освобожден), сигнал логи- . ческого "0" поступит на первый. вход элемента И 14 и закроет его, Также игнал с выхода 24,2 обнулит триггер
8,2 останова, при этом на единичном выходе триггера 8,2 появится сигнал логического "0", который разрешит работу счетчика 5,2 по инверсному запрещающему входу, а также разре" шит по инверсному входу коммутатора 12,2 пропуск на сумматор 4.,2 кодов приведенного времени своего второго процесса.
Предположим, что второй процесс первым займет ресурс, т.е, из блока
1.2 считается команда "Запрос ре" сурса", сигнал с выхода 25,1 дешифратора 10,2 по приходу второго Импульса с выхода 23,2 тактового генератора 2 установит триггер 7.2 занятости ресурса в единичное положение, Сигнал с его единичного выхода поступит на первый вход элемента И
16, На втором входе элемента И 16 присутствует сигнал логической ."1", так как на инверсный вход элемента
И 15 подан сигнал логического нуля с единичного выхода триггера 7il занятости ресурса первым процессом, СИгнал логической 1" с выхода эла мента И 16 поступает на вход одновибратора 18, где длительность сигнала увеличивается по заднему Фронту
При считывании кода "Запрос ре" сурса" из блока 1.1 памяти дешифСигнал с выхода элемента И 17 установит триггер 8,1 останова первого процесса в единичное состояние, При этом сигналом. с его единичного выхода приостановит свою работу счетчик 5,1 адреса, а сумматор 4,1 начнет суммировать время простоя первого процесса в связи с занятым ресурсом, т.е, будет принимать информацию о кодах времен от второго процесса.
Сигнал "Освобождение ресурса" вторым процессом с выхода 25,2 дешифратора 10,2 по приходу второго импульса с выхода 23,2 обнулит триггер
8.1 останова и триггер 7.2 занятости ресурса, При этом счетчик 5,1. адреса возобновит свою работу (т.е. по тактовым импульсам на счетном входе продолжит формирование кодов адресов), ЗО а коммутатор 12.1 по инверсному входу разрешит выдачу кодов со своего преобразователя 9,1 на группу входов сумматора 4,1
В случае одновременного считыва3> ния по первому такту из блоков. 1.1 и l,2 памяти команд "Запрос ресурса" первым и вторым процессами триггеры
7.1 и 7,2 занятости ресурса по второму синхроимпульсу установятся в . о единичное состояние, Сигналы с их единичных выходов поступают на соответствующие входы. элемента И 14 и по. третьему тактовому импульсу с выхода 23.3 тактового генератора 2, Им" пульсом с выхода элемента И 14.три-гер 8,2 останова установится в единичное состояние и запретит работу счетчика 5.2 и сменит управление на коммутаторе t2,2,Ðàëåå работа . ) устройства будет происходить. аналог гично описанному выше, Так как единичный сигнал с едИничного выхода триггера 7.1. подается на инверсный вход элемента М 15., то триггер 8,1 в единичное состояние переведен не будет, Таким образом,. в этом случае приоритет отдается первому процессу, ресурс занимается первым процессом, а . второй процесс приостанавливается
9 17 до освобождения ресурса первым процессом, i
Устройство заканчивает свою рабо" ту следующим образом, Счетчик 5,1, . настроенный на и-е количество кодов адресов, переполнившись, выдаст на свой выход сигнал переполнения, который обнулит соответствующий триггер 6,1 пуска, сигнал с нулевого выхода триггера 6,1 обнулит счетчик 5,1 и будет удерживать счетчик в нулевом состоянии до следующего запуска устройства., При пропадании сигнала логической "1" на прямом выходе триггера
6,1, либб 6,2 на выходе элемента
ИЛИ 19 пропадет единичный сигнал, генератор 2 перестанет вырабатывать импульсы. Работа устройства завершена., - формула изобретения
Устройство для отладки микропроцессорных систем, содержащее тактовый генератор, два счетчика, два дешифратора, четыре элемента И,- элемент
ИЛИ, причем первый выход тактового генератора подключен к счетному входу первого счетчика, первый выход первого дешифратора подключей к первому входу первого элемента И, о т л и ч а ю щ е е с я тем, что, с целью расширения функциональных возможностей устройства за счет возможности контроля хода программы многопроцессорных систем, введены два блока памяти, блок индикации, два сумматора, два триггера пуска, два триггера останова, два триггера занятости ресурса, два преобразова" теля кодов команды в код времени, блок сравнения, три коммутатора, од" новибратор, причем группа выходов первого блока памяти подключена к группам входов первого дешифратора и первого преобразователя кода ко" манды в код времени, группа выходов второго блока памяти подключена к группам входов второго дешифратора и второго преобразователя кодов команды в код времени, первый выход так" тового генератора подключен к счетному входу второго счетчика, группа выходов которого подключена к груп" пе адресных входов первого блокапа-,, г мяти, выход переполнения второго . счетчика подключен к нулевому входу первого триггера пуска, первый вы1
35856 10 ход тактового генератора подключен к первому и второму управляющим входам первого коммутатора, группа выходов которого подключена к группе входов блока индикации, второй выход тактового генератора подключен к входу разрешения блока -индикации, к второму входу первого элемента И, 10 первому входу второго элемента И, выход которого соединен с первым входом третьего элемента И, третий выход тактового генератора соединен с входами разрешения первого и второго сумматоров, группа выходов
15 первого сумматора соединена с первыми группами входов блока сравнения и первого коммутатора„ группа выхо" дов второго сумматора соединена с вторыми группами входов блока срав" нения и первого коммутатора, группа выходов первого счетчика соединена с группой адресных. входов второго блока памяти, выход переполнения первого счетчика соединен с нулевым входом второго триггера пуска, прямой и инверсный выходы которого соединены соответственно с первым входом элемента ;ЛИ и входом сброса первого счетчика, прямой и инверсный
З0 выходы первого триггера пуска соеди" нены. соответственно с вторым входом элемента ИЛИ и входом сброса второго счетчика, выход элемента ИЛИ соединен с входом тактового генератора, прямой
З5 выход первого триггера занятости ресурса подключен к инверсному входу второго элемента И, третьему входу первого элемента И, первому входу чет.вертого элемента И, выход первого
40 элемента И соединен с единичным. вхо" дом первого триггера останова, выход четвертого элемента И соединен с единичным входом второго триггера останова, прямой выход второго триггера
4 занятости ресурса подключен к входу одновибратора, прямой выход первого триггера останова соединен с входом разрешения первого счетчика и первым и вторым управляющими входами второ50 го коммутатора, группа выходов кото.рого соединена с группой входов втоC рого сумматора, прямой выход второ"
ro триггера останова соединен с входом разрешения второго счетчика и у первым и вторым управляющим входом третьего коммутатора, группа. выходов которого подключена к группе входов . первого сумматора, группа выходов первого преобразователя кодов команды
Составитель И.Сафронова
Ф
Техред А.Кравчук !корректор И,Самборская
Редактор Р,Урипта
Раказ 1817 Тираж Подписное
ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР
113035, Москва, Ж-35, Раушская наб., д. 4/5
Производственно-издательский комбинат "Патент", r.Óæãîðîä, ул. Гагарина,101
11 173 5й6
12 в код времени соединена с первыми дами первого триггера занятости регруппами информационных входов второ- сурса и первого триггера останова, го и третьего коммутаторов, группа ° выходы блока сравнения соединены с выходов второго преобразователя кода третьим и четвертым управляющими вхо команды в код времени соединена с дами третьего коммутатора, выход одвторыми группами информационных вхо- новибраторэ соединен с вторым входом дов второго и третьего коммутато- четвертого элемента И, группа входов ров, первый выход первого дешифрато- задания максимального адреса устроира соединен с единичным входом второ- ства соединена с группами информа10 го триггера занятости ресурса, вто-. ционных входов первого и второго рой выход первого дешифратора соеди- счетчиков, тактовый вход устройства нен с нулевыми входами второго триг- соединен с синхровходами первого и . гера занятости ресурса и второго второго счетчиков и I- u C-входами триггера останова, первый выход вто- триггеров пуска, четвертый выход рого дешифратора соединен с единичf5 г не ато а сое инен с синным входом гервого триггера занятосх овхо ами триггеров занятости рети ресурса, второй выход второго сурса. дешифратора соединен с нулевыми вхо