Устройство регистрации программных событий памяти
Иллюстрации
Показать всеРеферат
Изобретение относится к вычислительной технике и может быть использовано в процессоре вычислительной машины для отладки программ и сбора статистической информации о динамике обращений программ к структурам данных, расположенных в основной памяти. Целью изобретения является расширение функциональных возможностей устройства за счет формирования признака обращения к заданной зоне памяти при считывании. Устройство содержит регистр управления, первый и второй регистры нижней границы адреса, первый и второй регистры верхней границы адреса, триггер выборки команды, триггер изменения содержания памяти, первый и второй арифметико-логические блоки, блок местного управления, буферную память признаков обращения к основной памяти , триггер синхронизации, буферную память результатов, блок выдачи результата , блок записи в триггеры программных событий, триггер чтения из памяти, коммутатор. Устройство позволяет организовать сбор статистической информации об использовании данных в основной памяти для произвольных программ с незначительным потреблением машинных ресурсов, связанным с обработкой зафиксированных обращений к памяти. 5 ил. 3 табл. « (Л tc ;о о а ел
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК (gg 4 G ОЬ F 12/00; 15/36
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ
/, ОПИСАНИЕ ИЗОБРЕТЕНИЯ
И ABTOPGHOMV СВИДЕТЕЛЬСТВУ (21) 3967Ь73/24-24 (22) 21.10.85 (4Ü) 15.03.87. Бюл. М 10 (72) В.В. Грек, А.Е. Залан и Е.Ф. Дещиц (53) 681.327.6(088.8) (56) Техническое описание устройства
EC-2436 Е 13.051.005 ТОЧ. Электронная вычислительная машина ЕС-1045
M. Финансы и статистика, 1981, (54) УСТРОЙСТВО РЕГИСТРАЦИИ ПРОГРАММНЫХ СОБЫТИЙ ПАМЯТИ (57) Изобретение относится к вычислительной технике и может быть использовано в процессоре вычислительной машины для отладки программ и сбора статистической информации о динамике обращений программ к структурам данных, расположенных в основной памяти, Целью изобретения является расширение функциональных возможностей устройства за счет форми„„SU„„1297065 А1 рования признака обращения к заданной зоне памяти при считывании. Устройство содержит регистр управления, первый и второй регистры нижней границы адреса, первый и второй регистры верхней границы адреса, триггер выборки команды, триггер изменения содержания памяти, первый и второй арифметико-логические блоки, блок местного управления, буферную память признаков обращения к основной памяти, триггер синхронизации, буферную память результатов, блок выдачи результата, блок записи в триггеры программных событий, триггер чтения из памяти, коммутатор. Устройство позволяет организовать сбор статистической информации об использовании данных в основной памяти для произвольных программ с незначительным потреблением машинных ресурсов, связанным с обработкой зафиксированных обращений к памяти. 5 ил. 3 табл.
Таблица 1
Входы Выходы
N п/п
l 2 3 4 5 6 7 8 9 10 11 12 13 1 2 3 4 5 6 7 8 9 10 11 12 1 14
000000100000
000000 I 1 О О О О
000000110000
0000001 1 О О О О
0000001 1 О О 0 О
00000000 О О О О
00000000 1 1 1 1 х х х О О
7 ххх l 001 0хх
8 xxx01010хх
9 ххх001 1 Охх
10xxx11 х.l Oxx
00000001 1 1 1 1 х х х .00
000000101.111 х х х О О
00000000 O О О О х х х 0 О
1!ххх! х l 10xx х х х 0000000000 О О О О, ! 12970
Изобретение относится к вычислительной технике и может быть использовано в процессоре вычислительной машины для отладки программ и сбора статистической информации о динамике обращений программ к структурам данных, расположенным в дсновной памяти.
Целью изобретения является расширение функциональных возможностей устройства за счет формирования признака обращения к заданной зоне памяти при считывании.
На фиг. 1 приведена схема устройства; на фиг. 2 — схема арифметикологического блока; на фиг. 3 — схема коммутатора; на фиг. 4 — схема БИС К!800ВТЗ; на фиг. 5 — временная диаграмма работы устройства.
Устройство регистрации программных событий основной памяти (фиг. 1) 20 содержит: регистр 1 управления, пер-вый регистр 2 нижней границы адреса, второй регистр 3 нижней границы адреса, первый регистр 4 верхней границы адреса, второй регистр 5 верхней границы адреса, триггер 6 выборки команды, триггер 17 изменения содержания памяти, первый арифметико-логический блок 8, второй арифметикологический блок 9, блок IО местного управления, буферная память ll призE E EEET ) I E I
1 ххОхххООхх х х х 1 1
2. 00! хкхООхх х х х 00
3101хххООххххх10
4 0 11хххООххххх01
5111xxxOOxxxxx l
6 õõõ0001.0хх х х х 00
65 2 иаков обращения к памяти, триггер
12 синхронизации, буферная память
13 результатов, блок 14 выдачи результата, блок 15 записи в триггеры программных событий, триггер 16 чтения из памяти, коммутатор 17.
На фиг. также обозначены входы и выходы (18-23) устройства. Арифметико-логические. блоки 8 и 9 (фиг.2) содержат элемент И 24, БИС К1800
ВТЗ 25-28. Коммутатор 17 (фиг. 3) содержит мультиплексоры 29-44.
Четырехсекционная БИС KI800 ВТ3 (фиг. 4)содержит: дешифраторы 45 и
46, выходной буфер 47, мультиплек" сор 48, адресный регистр 49, регистр
50 данных, мультиплексоры 51-56, арифметико-логический узел 57> мультиплексоры 58 и 59, массив 60 регистров ° БИС содержит выходную шину А, двунаправленные шины ДВ, ОВ, IB входную шину Р, управляющие входы
MS0-NS14.
Устройство регистрации программных событий памяти (фиг ° 1) предназначено для прерывания текущей программы с цельк анализа заданных событий при обращении к основной памяти.
В табл. 1 приведены данные истинности блока местного управления.
Продолжение табл. 1
1297065
Выходы
))- Входы
1 2 3 4 5 6 7 8 9 10 11 12 13
1 2 3 4 5 6 7 8 9 10 11 12 13 14
0 0 0
0 0 0
0010000000 1
0010000001 1
00 1 000001 О 1
0010000000 О
12ххххххх100 О 0 1
13ххххххх101 0 0 1
)4ххххххх I Ох 1 О 1
15ххххххх100 О 1 1
lбххххххх1 0 ) О 1
0 0 0
1 О 0
00100000000010
17xxxxxxx10x I 1 1
18ххххххх l 1 О О 0 1
19ххххххх l l 1 О О l 001 000000 1 О 0 1 О
00100000000001
001 0000001 0 0 1
20ххххххх l l х 1 О 1
2) ххххххх l 1 О О 1 1
22ххххххх l 1 1 О 1 1
23ххххххх l 1 х 1 1 1
24ххххххх)00 х 0 О
25ххххххх) 01 х О О
26ххххххх l 00 х 1 О
27ххххххх101 х l О
28ххххххх)10 х О 0
29xxxxxxx1 I 1 х 0 О
О О 1
00 100000100
000 1 000000 0 О О 0
00001000000000
0 0 О
00001000010
О 0 О
000001000000 00
30ххххххх I 10 х 1 0 0000001001 О 0 0 0
31 ххххххх) l 1 х 1 0
00000010010000
В табл. 2 приведены данные истинности для единичного значения блока выдачи результата.
Продолжение табл.2
ыход
М Входы
1 2 3 4 5 6 7
55 3 х х х х 1 О 0
4 х х х х 0 1 0
5 0 х 0 х 0 0 1
1 1 1 х х х х О 1
2 х х 1 1 х х 0 1
5 1297065
Продолжение табл.2 - 2 бит (табл. 3, столбец 6), признак
Выход
Ф п/п
6 х 0 х 0 0 0 1
7 0 х х 0 0 0 )
8 х 0 0 х 0 0 1
9 0 х О х 1 l
l0x 0 х 0 1 1 1
ll 0 х х 0 1 1 1
f5
12õ 0 0 х 1 1 1
В табл. 3 приведены данные истинности блока записи в триггеры программных событий.
Таблица 3
ИНИН
101
9111х11110
1 Охххххххх 000
2 1 хОхххххх 000
3 10ххххххх 000
4 1 1 1000ххх 000
5 1 1 ххх000 000
7 111хl х1010 lI0
8.1 1 1 хх l 100 001
Регистр управления 1 предназначен для хранения признаков программных событий; изменение содержимого заданной области основной памяти—
0 бит, поступающий на первый вход блока записи в триггере 15 программных событий (табл. 3, столбец 5), выборка команды из заданной области основной памяти — 1 бит (табл. 3, столбец 4), выборка операнда из заданной области основной памяти—
55 границ — 3 бит, поступающий на первый вход блока 14 выдачи результата (табл. 2, столбец 7).
Первый 2 и второй 3 регистры нижних границ адреса служат для хранения двоичного значения нижней границы адреса. Первый 4 и второй 5 регистры верхних границ адреса служат для хранения двоичного значения верхней границы адреса. Триггер 6 выборки команды служит для запоминания программного события выборки команды из заданных границ основной памяти. Триггер 7 изменения содержимого памяти служит для запоминания программного события изменения содержимого памяти в заданных границах.
Первый арифметико-логический блок
8 служит для занесения с сервисной магистрали 20 н с шины 19 микропрограммной записи информации в регистр управления 1, первый 2 и второй 3 регистры нижних границ адреса, считыванне информации иэ первого 2 и второго 3 регистров нижних границ адреса на сервисную магистраль 20, а также производит арифметические действия в двоичном коде по сложению значения нижней границы адреса, взятого в дополнительном коде, с текущим значением адреса основной памяти.
Второй арифметико-логический блок
9 служит для занесения информации в первый 4 и второй 5 регистры верхних границ адреса, для обмена информацией регистров 4 и 5 с сервисной магистралью 20, а также для осуществления тех же арифметических действий, но только со значением верхней границы адреса..
Блок местного управления 10 служит для задания рабочих режимов первому 8 и второму 9 арифметико-логическим блокам. Значения столбцов табл. следующие: входы — 1 — перенос с младших разрядов с буферной памяти результатов 13 первого арифметико-логического устройства 8;
2 — перенос с младших разрядов с буферной памяти 13 результатов второго арифметико-логического устройства 9;
3 — триггер 12 синхронизации; 4-13— значения описаны; выходы: 1 - CinA
2 — С1пВ; 3 — Ms21 4 — ИзЗ вЂ” Аl;
5 — ИзЗ вЂ” A2: 6 — Ms3 — Вl; 7 — Ms3
В2; 8 — Из5; 9 — MslO 10 — Msl2
11 — CuA1: 12 — CuA2; 13 — CuB1;
1297065
l4 — CuB2. Обозначения: А — для первого арифметико-логического блока 8, И вЂ” для второго арифметико-логического блока 9. Буферная память признаков обращения памяти служит для запоминания на один цикл как самого фак- . та обращения к памяти, так и ее признаков выборка команды, запись или чтение). Смена информации происходит в каждом цикле по синхросигна- 1 лу 7.
Триггер 12 синхронизации позволяет синхронизовать работу устройства.
Запуск триггера происходит по синхросигналу триггера 1, а сброс по синхросигналу б.
Буферная память 13 результатов состоит из четырех бит и служит для запоминания значения переносов и признаков равенства нулю мпадших разрядов слагаемых первого 8 и второго 9 арифметико-логических блоков.
Блок 14 выдачи результатов анализирует значения (табл. 2). В табл. 2 приняты следующие обозначения: столбец 1 — ZDA первого арифметико-логического блока 8 (фиг. 2), столбец 2 - ZDA3D с буферной памяти
13 результатов: столбец 3 — ZDB co второго арифметико-логического блока
9; столбец 4 — ZDB3D с буферной памяти 13 результатов; столбец 5 — перенос с первого арифметико-логического блока 8, столбец 6 — перенос со второго арифметико-логического блока
9; столбец 7 — признак границы (и выдает результат в блок 15 записи в триггеры программных событий).
Блок 15 записи в триггеры программных событий анализирует значения регистра 1 управления (табл. 3, столбцы 4-6), выход блока 14 выдачи результата, (табл.3, столбец 1), значение триггера 12 синхронизации (табл. 3, столбец 2), наличие синхросигнала б (табл. 3, столбец 3), и значение буферной памяти 11 признаков обращения к памяти (табл. 3, столбец 7 — обращение, столбец 8 — команда; столбец 9— запись) и производит запуск триггеров выборки команды 6, изменения содержимого памяти и чтения иэ па.мяти 16 (столбцы 1-3 выходов).
Коммутатор 17 служит для коммутации младших, а затем и старших разрядов текущего адреса под управлением триггера 12 синхронизации.
f5
8 устройство регистрации программных событий основной памяти (фиг.1) работает следующим образом.
И регистр 1 управления, в первый
2 и второй 3 регистры нижней границы адрес и первый 4 и второй 5 регистры верхних границ адреса микропрограммно (табл. 1, строки 7-9) или по сервисной магистрали от внешнего вычислительного оборудования (табл.l, с. 12-23) заносится информация. 3атем на шине разрешения микропрограммной записи и на шине разрешения обмена с сервисной магистралью устанавливаются нулевые значения (табл.l, столбцы 7 и 8) и устройство переходит в режим работы, характеризующийся строками 1-5 табл. 1, С приходом сигнала "Обр. с признаками", эти состояния по синхросигналу ти7 запоминаются в буферной памяти признаков обращения к памяти 11 (фиг. 5), текущий адрес основной памяти поступает на вход коммутатора 17, и на входы ! первого 8 и второго 9 арифметикологических блоков. На входы "CinA"и
"Cin B" при равенстве нулю триггера
12 синхронизации поступают логические единицы, а режим работы первого 8 и второго 9 арифметико-логических блоков определяет строка 1 табл. 1. По заднему фронту синхроимпульса тиl триггер синхронизации 12 переходит в единичное состояние, переносы Cont и выход ZD (фиг. 2) запоминаются в буферной памяти !3 результатов. Переносы с буферной памяти 13 результатов поступают на блок 10 местного управления, работа которого характеризуется строками 2-5 табл. 1, иэ которой видно, что на арифметикологические блоки поступают значения старших разрядов адресов, находящихся во вторых регистрах нижних (3) и верхних (5) границ (Мэ 12=1), а коммутатор 17 подает на входы 1 арифметико-логических блоков значения старших разрядов текущего адреса. К началу синхроимпульса тиб на выходе блока выдачи результатов 14 установлено значение и, если оно принимает единичное значение, то при совпадении признаков программных событий (масок), заданных в регистре 1 управления со значением буфера признаков обращения к основной памяти 11, происходит установка триггеров 6, 7 и
14 согласно табл. 3. Единичные значе1297065 ния триггеров 6, 7 и 16 поступают в вычислительную систему, которая может по этим событиям производить прерывание.
При необходимости имеется возможность считать информацию с первого 2 и второго 3 регистров нижних границ адреса и с первого 4 и второго 5 ре.гистров верхних границ адреса на сервисную магистраль 20. Режим этот опи- 10 сан 24-31 строками табл. 1.
Формула изобретения
Устройство регистрации программных 15 событий памяти, содержащее регистр управления, первый и второй регистры нижней границы адреса, первый и второй регистры верхней границы адреса, триггеры выборки команды и изменения 20 содержимого памяти, выходы которых являются выходами группы устройства, о т л и ч а ю щ е е с я тем, что, с целью расширения функциональных возможностей за счет формирования признака обращения к заданной зоне памяти при считывании, в устройство введены первый и второй арифметикологические блоки, блок местного управления, буферная память признаков обращения к памяти, триггер синхронизации, буферная память результатов, блок выдачи результата„ комму" татор., блок записи в триггеры программных событий и триггер чтения из памяти, причем выход последнего является выходом устройства, а вход соединен с первым выходом блока записи в триггеры программных событий, первый вход которого подключен к пер- 40 вому входу блока выдачи результата и к выходу регистра управления, второй вход соединен с выходом блока выдачи результата, второй вход которого подключен к первому входу 45 буферной памяти результатов и к выходу второго арифметико-логического блока, первый вход которого соединен с выходом коммутатора и с первым входом первого арифметико-логичес- 50 кого блока, второй вход подключен к второму входу первого арифметикологического блока и является входом/ выходом устройства, входы/выходы первой и второй групп второго арифметико-логического блока соединены соответственно с входами/выходами первого и второго регистров верхней границы адреса, входы третьей группы соединены с входами третьей группы первого арифметико-логического блока и являются входами первой группы устройства, первый выход первого арифметико-логического блока подключен к входу регистра управления, входы/выходы первой и второй групп соединены соответственно с входами/ выходами первого и второго регистров нижней границы адреса, а выход подключен к второму входу буферной памяти результатов и к третьему входу блока выдачи результата, четвертый вход которого соединен с выходом буферной памяти результатов и с первым входом блока местного управления, выходы которого подключены к входам четвертой группы первого и второго арифметика-логических блоков, второй вход соединен с первым входом буферной памяти признаков обращения к памяти, информационным входом коммутатора и является первым входом устройства, а третий вход подключен к выходу триггера синхронизации и управляющему входу коммутатора, информационные входы группы которого являются входами второй группы устройства, вход триггера синхронизации, второй вход буферной памяти признаков обращения к памяти, третий вход буферной памяти результатов и третий вход блока записи в триггеры программных событий являются соответствующими входами третьей группы устройства, второй и третий выходы и четвертый вход блока записи в триггеры программных событий соединены соответственно с входами триггеров выборки команды и изменения содержимого памяти и с выходом буферной памяти признаков обращения к памяти, 1297065
Фиг. Z
1297065
8SQ Р18/У
1 297065
ТИР
ТИ7
Одр.
ВЫХОд
Н
BbN0d
ВЫХОд
/7
ВО!ХОРЫ
ЮУ
ВЫХОД
43
ВЫХОд
Мб
Составитель О. Исаев
Редактор Т. Парфенова Техред Л.Сердюкова Корректор А. Тяско
Заказ 783/53 Тираж 673 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д. 4/5
Производственно-полиграфическое предприятие, г. Ужгород, ул. Проектная, 4