Устройство для контроля микропроцессорной системы
Иллюстрации
Показать всеРеферат
Изобретение относится к автоматике и вычислительной технике и может быть использовано в микропроцессорных системах , которые построены на основе микропроцессора , работающего в максимальном режиме. Цель изобретения - повышение достоверности и оперативности контроля микропроцессорной системы в процессе функционирования. Устройство для контроля микропроцессорной системы содержит блок управления 1 и запоминающий блок последовательности команд 2. Для достижения поставленной цели в устройство введен блок контроля 3, содержащий узел контроля кодов 22 и триггер 23, а в состав блока управления 1 введены коммутатор 4, счетчик команд 5, элемент ИЛИ 6, триггер 7, сумматор по модулю два 8 и узел управления 9, содержащий элемент ИЛ И-НЕ 10, три элемента И 11, 19, 20, элемент И-ИЛИ 12, (Л С
СОЮЗ СОВЕТСКИХ
СОЦИАЛ ИСТИЧ Е СКИХ
РЕСПУБЛИК (si)s 6 06 F 11/00
ГОСУДАРСТВЕННЫЙ КОМИТЕТ
ПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМ
ПРИ ГКНТ СССР
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ
?b (21) 4826474/24 (22) 18.05.90 (46) 15.06.92. Бюл, ¹ 22 (72) М,П.Ткачев, М.В.Талейко и В.Ю.Пикин (53) 681.3 (088.8) (56) Авторское свидетельство СССР
¹ 1019451, кл, G 06 F 11/00, 1983, Авторское свидетельство СССР № 12871 61, кл, 6 06 F 11/00, 1988.
Авторское свидетельство СССР
¹ 1392562, кл. G 06 F i1/00, 1988 (и рототи и). (54) УСТРОЙСТВО ДЛЯ КОНТРОЛЯ МИКРОПРОЦЕССОРНОЙ СИСТЕМЫ (57) Изобретение относится к автоматике и вычислительной технике и может быть использовано в микропроцессорных систе„„. Ы „„1741137 А1 мах, которые построены на основе микропроцессора, работающего в максимальном режиме. Цель изобретения — повышение достоверности и оперативности контроля микропроцессорной системы в процессе функционирования, Устройство для контроля микропроцессорной системы содержит блок управления 1 и запоминающий блок последовательности команд 2. -Для достижения поставленной цели в устройство введен блок контроля 3, содержащий узел контроля кодов 22 и триггер 23, а в состав блока управления 1 введены коммутатор 4, счетчик команд 5, элемент ИЛИ 6, триггер 7, сумматор по модулю два 8 и узел управления 9, содержащий элемент ИЛИ-НЕ 10, три элемента И 11, 19, 20, элемент И вЂ” ИЛИ 12, 1741137
20
50 элемент HF 16, два одновибратора 14 и 15, два элемента ИЛИ 18, 21 и дешифратор 17.
Запоминающий блок последовательности команд 2 содержит шесть регистров и пять коммутаторов, Устройство обнаруживает
Изобретение относится к автоматике и вычислительной технике и может быть использовано в микропроцессорных системах, которые построены на основе микропроцессора К1810ВМ86, работающего в максимальном режиме.
Известно устройство для контроля
3ВМ, содержащее блок счетчиков, дешифратор, пять триггеров, два элемента ИЛИ, элемент ИЛИ вЂ” НЕ, два формирователя импульсов, три элемента И, элемент И вЂ” НЕ, два элемента задержки, два регистра и схему сравнения.
Известно также устройство для контроля микропроцессорной системы, содержащее три регистра операндов, два буферных регистра адреса, три блока сравнения, счетчик команд, два сумматора, формирователь сигналов опроса, коммутатор, два триггера управления, триггер отказа, формирователь константы, элементы И, дешифратор кода операции, элементы ИЛИ.
Недостатком данных устройств является низкая достоверность контроля, обусловленная низкой полнотой контроля по числу команд, выполняемых в системе.
Наиболее близким к предлагаемому является устройство для контроля микропроцессорной системы, содержащее первый и второй элементы Н Е, мультиплексор данных, дешифратор адреса, интерфейсный блок, первый и второй регистры управления, коммутатор, схему сравнения адреса, запоминающий блок последовательности микрокоманд, блок управления режимом.
Причем выход блока управления режимом является первым выходом задания режима устройства для подключения к шине управления контролируемой микропроцессорной системы. Первый информационный вход схемы сравнения адреса подключен к входу — выходу устройства для подключения к шине адреса контролируемой микропроцессорной системы, Выход первого регистра управления соединен с управляющими входами мультиплексора данных и коммутатора и является вторым выходом задания режима устройства для подключения к шине управления контролируемой микропроцессорной системы. Выход второго управления соединен с разрешающим вхопоявление на шине адреса данных контролируемой микропроцессорной системы таких кодов операций, которые задают несуществующие команды. 1 з.п.ф-лы, 6 ил., 1 табл, дом блока управления режимом, с входом записи запоминающего блока последовательности микрокоманд и с управляющим входом схемы сравнения. Вход разрешения запоминающего блока последовательности микрокоманд, вход синхронизации интерфейсного блока и входы синхронизации первого и второго регистров управления соединены с выходом дешифратора адреса.
Вход записи чтения устройства подключен к входам разрешения дешифратора адреса интерфейсного блока. Информационный вход-выход устройства подключен к первому информационному входу-выходу интер15 фейсного блока. информационным входам первого и второго регистров управления и к выходу признака переполнения адреса запоминающего блока последовательности микрокоманд. Второй информационный вход — выход интерфейсного блока соединен с первым информационным входом-выходом коммутатора, вторым информационным входом схемы сравнения и инфорационным выходом запоминающего блока последовательности микрокоманд.
Вход-выход устройства для подключения к шине адреса контролируемой микропроцессорной системы подключен к второму информационному входу — выходу коммутатора и к входу адреса микрокоманд запоминающего блока последовательности микрокоманд. Вход устройства для подключения к выходу данных контролируемой микропроцессорной системы подключен к второму информационному входу мультиплексора данных, выход которого соединен с информационным входом интерфейсного блока.
Выход схемы сравнения соединен с информационным входом интерфейсного блока, Выход схемы сравнения соединен с третьим информационным входом мультиплексора данных и через первый элемент НŠ— с входом признака сравнения адреса запоминающего блока последовательности микрокоманд, Адресный вход интерфейсного блока подключен к выходу адреса управляющей микропроцессорной системы. Вход начальной установки устройства подключен к входам начальной установки первого и второго регистров управления и через второй элемент HE — к входу начальной уста1741137 новки интерфейсного блока, первый и второй входы синхронизации устройства подключены соответственно к первому и второму входам синхронизации запоминающего блока последовательности микрокоманд. Выход схемы сравнения адреса блока управления режимом, информационный входдешифратора адреса подключены кадресному входу устройства. Первый информационный вход мультиплексора данных подключен к выходу микрокоманд контролируемой микропроцессорной системы.
Недостатком данного устройства является низкая оперативность контроля и достоверность функционирования, связанные с невозможностью контроля в реальном масштабе времени. Низкая оперативность контроля обусловлена тем, что результат контроля формируется периодически — после выполнения специальной программы контроля. Это не позволяет локализовать момент появления ошибки во времени с точностью до выполняемой команды и предотвратить тем самым распространение ошибки в микропроцессорной системе.
Вследствие этого оказывается низкой и достоверность контроля.
Цель изобретения — повышение достоверности и оперативности контроля.
Поставленная цель достигается тем, что в известную совокупность элементов, содержащую блок управления и запоминающий блок последовательности команд, информационный вход которого подключен к информационному входу устройства для подключения к шине адреса данных контролируемой микропроцессорной системы, синхровход устройства подключен к синхровходу блока управления, дополнительно введен блок контроля, а блок управления содержит счетчик команд, элемент ИЛИ, коммутатор, сумматор по модулю два, триггер и узел управления, содержащий дешифратор, триггер, элемент И вЂ” ИЛИ, три элемента И, элемент ИЛИ вЂ” НЕ, элемент НЕ, два элемента ИЛИ и два одновибратора, причем с первого по шестой управляющие входы блока управления являются соответственно с первого по шестой управляющими входами устройства для подключения соответственно к первому, второму и третьему выходам статуса магистрального цикла, выходу чтения и первому и второму выходам статуса очереди команд шины управления контролируемой микропроцессорной системы, вход сброса блока управления подключен к входу сброса устройства, с первого по девятый выходы блока управления соединены соответственно с первого по седьмой управляющими входами
10
20
30 торого соединен с входом сброса триггера
- .узла управления, вход разрешения записи
40 та ИЛИ узла управления, с первым входом
55 запоминающего блока последовательности команд и первым и вторым управляющими входами блока контроля, третий управляющий вход которого и восьмой управляющий вход запоминающего блока последовательности команд соединены с десятым выходом блока управления, первая и вторая группа выходов запоминающего блока последовательности команд соединены соответственно с первой и второй группами информационных входов блока контроля, выход которого является выходом сигнала ошибки устройства, причем в блоке управления первый вход первого элемента И и первый и второй входы элемента ИЛИ вЂ” НЕ узла управления подключены соответственно к первому, второму и третьему управляющим входам блока управления, выход элемента ИЛИ вЂ” НЕ соединен с вторым входом первого элемента И, выход которого соединен с информационным входом триггера узла управления, выход которого соединен с первым входом второго элемента И и первым входом элемента И вЂ” ИЛИ, второй вход которого соединен с синхровходом триггера узла управления, с входами элемента НЕ и первого одновибратора и подключен к синхровходу блока управления, вход сброса которого подключен к первому входу элемента ИЛИ блока управления и к третьему входу элемента И.— ИЛИ, выход кокоторого подключен к четвертому управляющему входу блока управления, выход первого одновибратора соединен с вторым входом второго элемента И, выход которого соединен с первым входом первого элеменуправления режимом счетчика команд, входом установки в единицу триггера блока управления и с первым управляющим входом коммутатора, второй управляющий вход которого является восьмым выходом блока управления и соединен с входом установки в нуль триггера блока управления, с вторым входом первого элемента ИЛИ узла управления, с вторым входом управления режимом счетчика команд и с выходом третьего элемента И, первый и второй входы которого соединены с выходами соответственно второго одновибратора и второго элемента ИЛИ, первый вход которого соединен с первым выходом дешифратора и подключен к девятому выходу блока управления, пятый и шестой управляющие входы которого подключены соответственно к первому и второму входам дешифратора, второй и третий выходы которого соединены соответственно с вторым входом эле1741137 мента ИЛИ блока управления и вторым входом второго элемента ИЛИ узла управления, выход первого элемента ИЛИ узла управления является первым выходом блока управления и подключен к синхровходу счетчика команд, вход сброса которого соединен с выходом элемента ИЛИ блока управления и является десятым выходом блока управления, с первого по четвертый выходы счетчика команд соединены соответственно с первого по четвертый информационными входами коммутатора и с первого по четвертый входами сумматора по модулю два блока управления, выход которого является третьим выходом блока управления, с четвертого по седьмой выходы которого подключены соответственно к выходам коммутатора с первого по четвертый, выход триггера узла управления является вторым выходом блока управления, причем блок контроля содержит узел контроля кодов и триггер, выход которого является выходсм блока контроля, первая и вторая группы информационных входов которого подключень соответственно к первой и второй группам входов узла контроля кодов, синхровход, вход разрешения записи, вход сброса и информационный входы триггера блока контроля йодключены соответственно к первому, второму и третьему управляющим входам блока контроля и выходу узла контроля кодов, Сущность изобретения состоит в обнаружении появления в момент выборки кода командь таких ее первых и вторых байтов, которые задают несуществующие коды операции, Такие коды являются запрещенными, их наличие обусловлено избыточностью формата команды по отношению к множеству фактически существующих команд.
Предлагаемое устройство осуществляет контроль непрерывно — в моменты выборки каждой очередной команды из очереди байтов команд микропроцессора, не требуя остановки системы, Следовательно, оно обеспечивает более оперативное обнаружение ошибок в работе системы и более точную их локализацию во времени. Благодаря этому упрощается и ускоряется процесс восстановления нормального фун кционирования системы. Ввиду обеспечения непрерывности контроля выход предлагаемого устройства в каждый момент времени более достоверно отражает состояние системы, Следовательно, за счет этого обеспечивается более высокая достоверность контроля, Это приводит к сокращению простоев микропроцессорной системы, вызванных ошибками в ее работе, а также к уменьше5
55 нию потерь, вызванных несвоевременным обнаружением этих ошибок.
На фиг. 1 приведена структурная схема устройства, на фиг. 2-4 — функциональные схемы соответственно запоминающего блока последовательности команд, коммутатора и счетчика команд; на фиг. 5 и 6— временные диаграммы работы устройства.
Устройство для контроля микропроцессорной системы (фиг. 1) содержит блок 1 управления, запоминающий блок 2 последовательности команд, блок 3 контроля, коммутатор 4, счетчик 5 команд, элемент
ИЛИ 6, триггер 7, сумматор 8 по модулю два и узел 9 управления, содержащий элемент
ИЛИ вЂ” НЕ 10, первый элемент И 11, элемент
И вЂ” ИЛИ 12, триггер 13, первый 14 и второй
15 одновибраторы, элемент НЕ 16, дешифратор 17, второй элемент ИЛИ 18, третий элемент И 19, второй элемент И 20 и второй элемент ИЛИ 21, а также узел 22 контроля кодов и триггер 23, входящие в блок 3 контроля, первый-четвертый управляющие входы устройства 24 — 27, синхровход 28 устройств, пятый 29 и шестой 30 управляющие входы устройства, вход 31 сброса устройства, выход 32 сигнала ошибки устройства, первую 33...40 — вторую 41...48 группы выходов запоминающего блока последовательности команд, первый управляющий вход 49 коммутатора и счетчика команд, восьмой 50 и первый 51 входы блока управления, второй 52 выход дешифратора, девятый 53, второй 54, третий 55 — седьмой
59 выходы блока управления, первый 60— четвертый 63 выходы счетчика команд, 64— десятый выход блока управления, 65 — информационный вход устройства.
На фиг. 1 информационный вход 65 устройства подключен к информационному входу запоминающего блока последовательности команд 2, синхровход устройства
28 подключен к синхровходу блока управления 1, с первого по шестой управляющие входы блока управления подключены соответственно к первому — шестому 24 — 27, 29, 30 входам устройства, вход сброса блока 1 управления подключен к входу 31 сброса устройства, с первого по девятый выходы
51, 54 — 59, 50, 53 блока 1 управления соединены соответственно с первым — седьмым управляющими входами запоминающего блока 2 последовательности команд, с первым и вторым управляющими входами блока 3 контроля, третий управляющий вход которого и восьмой управляющий вход запоминающего блока 2 последовательности команд соединены с десятым выходом 64 блока управления. Первая 33„.40 и вторая
41...48 группы выходов запоминающего
1741137
30
40 мым выходом 50 блока управления и соеди- 45 нен с входом установки в нуль триггера 7, с вторым входом элемента ИЛИ 21, с вторым входом управления режимом счетчика 5 команд и с выходом третьего элемента И 19, первый и второй выходы которого соедине- 50 ны с выходами соответственно второго одновибратора 15 и второго элемента ИЛИ 18 узла управления, первый вход которого соединен с первым выходом дешифратора 17
55 блока последовательности команд 2 соединены соответственно с первой и второй группами информационных входов узла 22 контроля, выход которого подключен к информационному входу триггера 23, прямой выход которого соединен с выходом 32 сигнала ошибки устройства. Синхронизирующий вход, вход разрешения записи и вход сброса триггера 23 соединены с выходами соответственно 50, 53 и 64 блока управления и с восьмым управляющим входом запоминающего блока 2 памяти команд.
В блоке 1 управления первый вход первого элемента И 11, первый и второй входы элемента ИЛИ-НЕ 10 узла управления подключены соответственно к первому, второму и третьему управляющим входам 24 — 26 блока управления, Выход элемента ИЛИ—
НЕ 10 соединен с вторым входом первого элемента И 11, выход которого соединен с информационным входом триггера 13, прямой выход которого соединен с первым входом второго элемента И 20 и с первым входом элемента И-ИЛИ 12, второй вход которого соединен с синхровходом триггера
13, с входом элемента НЕ 16 и первого одновибратора 14 и подключен к синхровходу
28 блока управления, вход 31 сброса которого подключен к первому входу элемента
ИЛИ 16 блока управления и к третьему входу элемента И вЂ” ИЛИ 12, вход которого соединен с входом сброса триггера 13 узла управления, вход разрешения записи которого подключен к четвертому управляющему входу 27 блока управления. Выход первого одновибратора 14 соединен с вторым входом второго элемента И 20, выход которого соединен с первым входом первого элемента ИЛИ 21 узла управления, с первым входом управления режимом счетчика
5 команд, входом установки в единицу триггера 7 блока управления и с первым управляющим входом коммутатора 4, второй управляющий вход которого является восьи с девятым выходом 53 блока управления, пятый 29 и шестой 30 управляющие входы которого подключены соответственно к первому v второму входам дешифратора 17, второй и третий выходы которого соединены соответственно с вторым входом элемен5
25 та ИЛИ 6 и вторым входом элемента ИЛИ
18. Выход элемента ИЛИ 21 является первым выходом 51 блока управления и подключен к синхровходу счетчика 5 команд, вход сброса которого соединен с выходом элемента ИЛИ 6 и является десятым выходом блока управления, с первого по четвертый выходы 60 — 63 счетчика 5 команд соединены соответственно с первым — четвертым информационными входами коммутатора 4 и с первым-четвертым входами сумматора 8 по модулю два, выход которого является. третьим выходом 55 блока управления, с четвертого по седьмой выходы 56—
59 которого подключены соответственно к первому — четвертому выходам коммутатора
4. Выход триггера 7 является вторым выходом 54 блока управления.
Запоминающий блок 2 последовательности команд (фиг. 2) содержит первый — шестой регистры 66, 68, 70, 72, 74, 76, первый — пятый коммутаторы 67, 69, 71, 73, 75, пятнадцатый 77 — восьмой 84 и седьмой
85 — нулевой 92 разряды информационного входа 65, соответствующие пятнадцатому— нулевому разрядам мультиплексной шины адреса данных, к которой подключен вход
65.
На фиг, 2 разряды 77 — 84 входа 65 блока
2 подключены к первому информационному входу коммутаторов 67, 69, 71, 73 и к информационномуу входу регистра 66 блока, разряды 85 — 92 входа 65 блока подключены к второму информационному входу коммутаторов 67, 69, 71, 73 и 75. Выход регистра
66(68, 70, 72) соединен с третьим информационным входом коммутатора 67(69, 71, 73), Выход коммутатора 73 соединен с информационным входом регистра 74, выход которого соединен с вторым информационным входом коммутатора 75 и образует первую группу выходов 33 — 40 блока. Выход коммутатора 75 соединен с информационным входом регистра 76, выход которого образует вторую группу выходов 41-48 блока, первый управляющий вход 51 которого подключен к синхровходам регистров 66 и 68. Второй управляющий вход 54 блока подключен к первым управляющим входам коммутато- ров 67, 69, 71, 73 и к управляющему входу коммутатора 75. Третий управляющий вход
55 блока подключен к вторым управляющим входам коммутаторов 67, 69, 71, 73. С четвертого по седьмой управляющие входы 56—
59 блока подключены к синхровходам регистров соответственно 70, 72, 74 и 76.
Восьмой управляющий вход 64 блока подключен к входам сброса регистров 66, 68, 70, 72, 74, 76.
1741137
Коммутатор 4 (фиг. 3) содержит первый— четвертый элементы 2И вЂ” ИЛИ 93 — 96.
На фиг. 3 первый и второй управляющие входы 49 и 50 коммутатора 4 подключены соответственно к первым и вторым входам элементов 2И вЂ” ИЛИ 93 — 96, Первый — четвертый информационные входы 60 — 63 коммутатора подключены к третьим входам соответственно элементов 2И-ИЛИ 93 — 96, выходы которых подключены соответственно к выходам 56 — 59 коммутатора.
Счетчик 5 команд (фиг, 4) содержит первый — четвертый 97 — 100 элементы 2ИЛИ вЂ” И, первый 101 — четвертый 102 элементы И, первый 106 — шестой 111 триггеры.
На фиг. 4 первый вход 49 счетчика 5 команд соединен с первыми входами первого 97 — четвертого 100 элементов 2ИЛИ вЂ” И, вторые входы которых соединены сООТВВТственно с прямыми выходами второго 107— пятого 77 триггеров. Третьи входы элементов 2ИЛИ вЂ” И 97 — 100 соединены соответственно с прямыми выходами третьего 108— шестого 111 триггеров. Выходы элементов
2ИЛИ вЂ” Vi 97 — 100 соединены соответственно с единичными входами триггеров 106 — 109.
Первые входы первого 101 — четвертого 105 элементов И соединены с инверсными выходами соответственно триггеров 106 — 110.
Вторые входы элементов И 101 — 105 соединены с вторым входом 50 счетчика 3 команд.
Выходы элементов И 101 — 105 соединены соответственно с входами установки в нуль триггеров 107-111. Вход установки в нуль триггера 106 соединен с вторым входом 50 счетчика 3 команд, первый вход 49 которого соединен с единичными входами триггеров
110 и 111. Синхровход 51 счетчика 3 команд соединен с входами синхронизации триггеров 106 — 111, Вход 64 сброса счетчика 3 команд соединен с входами сброса триггеров
106 — 111, Выходы триггеров 108 — 111 соединены соответственно C первым 60 — четвертым 63 выходами счетчика 3 команд, Обозначения осей временных диаграмм на фиг. 5 и б соответствуют обозначениям элементов и связей, введенных на фиг. 1 — 4.
Рассмотрим назначение элементов устройства, Блок 1 управления предназначен для управления работой устройства. Запоминающий блок 2 последовательности команд предназначен для записи байтов команд с шины 64 адреса данных и выдачи их в блок
3 контроля синхронно с выборкой байтов команд из устройства очереди контролируемого микропроцессора.
Регистры 66, 68, 70, 72, 74, 76 блока 2 (фиг, 2) предназначены для записи байтов команд и их продвижения к выходам блока
30
Коммутаторы 69 и 73 блока 2 отличаются
- от рассмотренных наличием инвертора на входе 55. Коммутатор 75 при наличии нуля на управляющем входе 55 передает на вы40
5
2 синхронно с работой устройства очереди команд микропроцессора. В регистре 76 хранится байт, являющийся в очереди первым (т,е. ближайшим к выходу), в регистрах
74-66 соответственно второй-шестой байты очереди. Соответственно этому, регистры 76, 72, 68 являются регистрами нечетных байтов, а регистры 74, 70, 66 — регистрами четных байтов, Все регистры являются двухтактными.
Коммутаторы 67, 69, 71, 73, 75 блока 2 предназначены для управления записью байтов в зависимости от типа выполняемого цикла (выборки команды или выборки байта из очереди команд), а также от степени заполнения очереди.
Логика работы коммутаторов 67 и 71 следующая: при подаче нулевого сигнала на первый управляющий вход 54, на выход коммутатора, независимо от сигнала на втором управляющем входе 55, подается информация с третьего информационного входа, т,е. от предыдущего регистра. При подаче на вход 54 единицы, а на вход 55 — нуля, на выход коммутатора передается информация с второго информационного входа 85—
92, При подаче на вход 54 нуля, а на вход 55 — единицы, на выход коммутатора передается информация с первого информационного входа 77 — 84. ход информацию с входа ЗЗ вЂ” 40, а при наличии единицы — с входа 85 — 92.
В работе запоминающего блока последовательности команд 2 можно выделить два режима:
1) запись байтов команд в регистре (при выполнении контролируемым микропроцессором магистрального цикла выборки команды);
2) продвижение очереди команд из регистров старших байтов в регистры младших байтов путем перезаписи информации из регистров меньших номеров в регистры старших номеров — например, из 66 — в 68, из 68 — в 70, из 70 — в 78 и т,д. (при выполнении микропроцессором цикла выборки байта из очереди команд).
В первом режиме в регистры блока 2 записываются сразу 2 байта команды (старший и младший), причем место их записи (регистр) определяется четностью количества байтов, находящихся в очереди команд в момент записи. Если количество байтов в очереди четно, то младший байт команды записывается в регистр нечетного байта, являющийся самым младшим из числа свобод13
1741137
14 ных. Старший байт команды при этом запишется в регистр четного байта, являющийся самым младшим среди свободных регистров. Например, если в очереди было 2 байта, то они будут располагаться в регистрах 76 и
74 и поэтому младший байт команды запишется в регистр 72, младший среди свободных четных регистров 72 и 68. Второй байт команды при этом запишется в регистр 70.
Если же количество байтов в очереди команд нечетно, то запись в очередь осуществляется наоборот. Младший байт команды записывается в младший четный свободный регистр, а старший байт — в младший нечетный свободный регистр. . Режим 1 в блоке 2 задается единичным сигналом на входе 54 блока. Физически способ записи новых байтов в очередь (в четные или нечетные регистры) задается сигналом с входа 55 блока. Этот сигнал имеет нулевое значение при четном количестве байтов в очереди и единичное значение при нечетном количестве байтов. Место записи новых байтов (регистры) задается импульсами на синхровходах всех свободных регистров.
Эти импульсы проступают на входы 51, 60 и
63 блока 2. Например, наличию в очереди 2 байтов соответствует появление импульсов на входах 51, 55, 56, 57. При этом команда запишется во все свободные регистры блока 4; но ошибки на выходе очереди происходить не будет, так как при формировании импульсов на входах 51, 60 — 63 учитывается, в какие регистры записана полезная информация, а в какие — излишняя. Регистры, занятые излишней информацией, будут заполнены полезной информацией в следующем цикле выборки команды.
Во втором режиме в блоке 2 происходит сдвиг очереди в сторону выхода (регистра
76) на 1 байт, что соответствует выборке из очереди одного байта. Этот режим задается нулевым сигналом на входе 54 блока, благодаря чему открывается путь для передачи информации из регистров старших байтов в регистры младших байтов.
Блок 3 контроля предназначен для анализа кода выполняемой команды и выявления запрещенных кодов команд, т.е. кодов, соответствующих несуществующим кодам операций, Входящий в его состав узел 22 контроля кодов предназначен для непосредственного обнаружения запрещенных кодов команд. Эти коды перечислены в таблице в виде обобщенных кодов, в которых символом" "обозначены разряды, которые могут быть равны как О, так и 1. При этом в первых пяти строках содержатся запрещенные коды тех команд, у которых весь код операции размещается в одном (первом) 5
35 "ХтХ6 равна единице при Хв = О, Хт = Хв = 1, 40
55 байте. Например, указанный в первой строке таблицы код первого байта 0110 означает, что в командах такого типа в первом байте никогда не должен появляться код операции, в котором старшие разряды равны 0110. Следовательно, такие коды первого байта, как 0110 0000, 0110 0001,...,0110
1111 (всего 2 = 16 кодов) являются запре4 щенными и никогда не должны появляться при выборке первого байта команды из памяти команд, В последующих строках (с шестой и до последней) таблицы перечислены коды тех команд, у которых код операции размещается в двух байтах (в первом и втором байтах команды). Например, указанные в шестой строке коды первого байта 1100 01 --, а второго байта — 11 NtvlvNlvrKозначают, что при появлении первого байта команды с кодом, равным 1100 01, необходимо ripoанализировать второй байт этой команды, для которого значение 11 является запрещенным.
В правой части таблицы перечислены функции F<„.Ри, описывающие в аналитическом виде значения запрещенных кодов первого и второго байтов команды и принимающие единичное значение в том случае, когда байты имеют запрещенное значение, Символами Хз...Х в этих функциях обозначены значения восьмого (старшего).„первого (младшего) разрядов байта, XS...X> значения соответствующих разрядов второго банта. Например, функция F1 = йа v X5 v
Ха=О, что соответствуетзапрещенному коду первого байта, указанному в первой строке таблицы. При этом разряды Хв„,Х> соответствуют входам 33 — 40 узла 22 контроля, а разряды X з...Х > — входам 41 — 48 узла 22 контроля.
Функция F
Триггер 23 блока 3 предназначен для фиксации факта ошибки и выдачи об этом соответствующего единичного сигнала после выполнения каждого цикла работы микропроцессора.
Рассмотрим назначение элементов блока 1 управления (фиг. 1).
Коммутатор 4 предназначен для формирования каналов на выходах 56-59 блока, управляющих продвижением очереди команд в блоке 2.
Счетчик 5 команд предназначен для подсчета количества байтов, находящихся в очереди команд в блоке 2. Наличие единичного сигнала на его выходе 60 свидетельст15
1741137 вует о том, что в очереди команд хранятся не более 3 байтов, на выходе 61 — 2 байтов, на выходе 62 — 1 байта, на выходе 63 — 0 байтов (очередь пуста).
Элементы 2ИЛИ вЂ” И 97-100 счетчика (фиг. 4) предназначены для установки в единичное состояние соответствующих триггеров в случае единичного состояния одного из предыдущих триггеров в цикле выборки команды, Это происходит при записи двух байтов в очередь команд в ходе выполнения магистрального цикла в контролируемом микропроцессоре.
Элементы И 101 — 105 счетчика предназначены для того, чтобы каждый триггер, установившийся в нулевое состояние, сбросил в нуль последующий триггер (это происходит при выборке одного байта из очереди команд), Триггеры 106 — 111 предназначены для фиксации состояния (степени заполнения) запоминающего блока 4 последовательности команд после каждого цикла записи команд в очередь, или цикла выборки байта из очереди команд.
Количество триггеров, установленных в единичное состояние, соответствует числу байтов в очереди команд: если вся очередь заполнена (6 байтов), то в единичном состоянии будут находиться все триггеры; если в очереди 5 байтов, то в единичном состоянии будут находиться триггеры 107 — 111; 4 байта — триггеры 108 — 111; 3 байта — 109 — 111; 2 байта — 110 и 111; 1 байт — триггер 111; пустой очереди соответствует нулевое состояние триггеров.
Элемент ИЛИ 6 блока 1 управления предназначен для формирования сигнала сброса элементов памяти устройства.
Триггер 7 предназначен для задания способа передачи информации в запоминающем блоке 2 последовательности команд в соответствии либо с циклом выборки команды и записи ее в очередь (при единичном состоянии триггера 7), либо с выборкой байта из очереди команд (при нулевом состоянии триггера 7).
Сумматор 8 по модулю два предназначен для формирования сигнала, определяющего очередность записи байтов команд в регистры запоминающего блока 2 памяти команд с шины адреса данных (младший байт или старший) в зависимости от того, четное количество байтов или нечетное хранится в очереди, При нечетном количестве байтов сумматор формирует на входе 55 сигнал единицы, при четном — нуля.
Узел 9 управления предназначен для формирования синхроимпул ьсов, несущих информацию о моментах; а) выборки микропроцессором команды из памяти для записи в очередь байтов команд (вход 49); б) сдвига (уменьшения) очереди байтов команд на один байт (выход 50), в том числе сдвиг в
5 результате выборки первого байта новой команды (выход 53); в) появления любого изменения в выполнении очереди команд (выход 51); r) реинициализации очереди байта команд в микропроцессоре (выход 51).
10 Элементы ИЛИ вЂ” НЕ 10 и 11 предназначены для индентификации цикла выборки команды микропроцессором из памяти. Это осуществляется по сигналам состояния микропроцессора ST2, ST1, $ТО, поступаю15 щим через входы 24-26.
Элемент 2И вЂ” ИЛИ 12 необходим для сброса триггера 13 в нулевое состояние в двух случаях: от внешнего сигнала сброса и в каждом цикле, начинающемся после вы20 борки команды в очередь команд.
Триггер 13 предназначен для фиксации факта наличия цикла чтения микрокоманд по сигналу, поступающему на его синхровход.
Формирователи 14 и 15 одиночных им25 пульсов (одновибраторы) предназначены для создания интервалов между формируемыми узлом 9 синхроимпульсами и импульсами на синхровходе 28 узла. Длительность
In импульса одновибратора выбирается из
30 расчета n = 3/4Тсек, где Тсек — период синхропоследовательности микропроцессора.
Выполнение данного условия исключает наложение импульсов на выходе 51 узла 9 и синхроимпульсов на входе 28 в том случае, 35 когда одновременно с записью новых байтов команды в очередь необходимо продвинуть очередь вперед, исключив из нее младший байт.
Элемент НЕ 16 предназначен для обес40 печения срабатывания одновибратора 95 по спаду синхроимпульса на входе 28. Дешифратор 17 предназначен для определения состояния очереди команд микропроцессора по сигналам состояния очереди на входах 29
45 и 30. При выборке из очереди первого байта формируется сигнал "1" на его первом выходе 53; при выборке последующего байта— на его третьем выходе; при реанициализации очереди — на его втором выходе 52.
Элемент ИЛИ 18 определяет факт наличия выборки какого-либо байта команды из очереди команд микропроцессора. Элементы И 19 и И 20 предназначены для формиро55 вания синхроимпульсов в требуемые моменты времени: соответственно при цикле выборки. команды из памяти в микропроцессор и при выборке байта команды из очереди команд микропроцессора.
1741137
10 случае сбрасывается в "0" триггер 13, а так- 15 же посредством элемента ИЛИ 6 сбрасыва20
50
Элемент ИЛ И 21 предназначен для формирования общей синхропоследовательности устройства.
Устройство работает в следующих режимах: режим установки в нуль; рабочий режим.
В первом режиме работа устройства состоит в приведении элементов памяти блоков в нулевое состояние, соответствующее рабочему режиму микропроцессора (системы). Установка данного состояния возможна в двух случаях.
При системном сбросе, когда подается сигнал "1" на вход 31 устройства. В этом ются триггеры счетчика 5 команд, регистры запоминающего блока 2 последовательности команд (фиг. 5) и триггер 23 блока 3 контроля.
При реинициализации очереди команд микропроцессора (в начале и в процессе работы). B этом случае на входы 29 и 30 устройства из микропроцессора поступает код статуса очереди команд 056 = g, QS1 =
1, в результате чего на втором выходе дешифратора 17 формируется единичный сигнал, который через элемент ИЛИ 6 осуществляет установку в "0" счетчика 5 команд, регистров запоминающего блока 2 последовательности команд (фиг. 2) и триггера 23 блока контроля, Во втором режиме устройство осуществляет контроль кодов команд, выполняемых микропроцессором. При этом оно синхронно с последним осуществляет загрузку кодов команд в блок 2, а также синхронно с микропроцессором с задержкой на один такт осуществляет выборку байтов команд из блока 2, осуществляя контроль кодов этих команд.
На фиг. 5 приведены диаграммы работы в этом режиме узла 9 управления. Здесь показан магист