Устройство регистрации программных событий памяти

Иллюстрации

Показать все

Реферат

 

Изобретение относится к вычислительной технике и может быть использовано в процессоре вычислительной машины для отладки программ и сбора статистической информации о динамике обращений программ к структурам данных, расположенных в основной памяти. Целью изобретения является расширение функциональных возможностей устройства за счет формирования признака обращения к заданной зоне памяти при считывании. Устройство содержит регистр управления, первый и второй регистры нижней границы адреса, первый и второй регистры верхней границы адреса, триггер выборки команды, триггер изменения содержания памяти, первый и второй арифметико-логические блоки, блок местного управления, буферную память признаков обращения к основной памяти , триггер синхронизации, буферную память результатов, блок выдачи результата , блок записи в триггеры программных событий, триггер чтения из памяти, коммутатор. Устройство позволяет организовать сбор статистической информации об использовании данных в основной памяти для произвольных программ с незначительным потреблением машинных ресурсов, связанным с обработкой зафиксированных обращений к памяти. 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