SU1693608A1 - Устройство дл контрол вычислительной машины - Google Patents
Устройство дл контрол вычислительной машины Download PDFInfo
- Publication number
- SU1693608A1 SU1693608A1 SU884612743A SU4612743A SU1693608A1 SU 1693608 A1 SU1693608 A1 SU 1693608A1 SU 884612743 A SU884612743 A SU 884612743A SU 4612743 A SU4612743 A SU 4612743A SU 1693608 A1 SU1693608 A1 SU 1693608A1
- Authority
- SU
- USSR - Soviet Union
- Prior art keywords
- input
- group
- address
- inputs
- unit
- Prior art date
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
Изобретение относится к цифровой вычислительной технике и может быть использовано для оперативного контроля процесса выполнения программ в микропроцессорных системах и исключения несанкционированных де й ст вvй о бъекто в управления.
Цель изобретения расширение функциональных возможностей устройства за счет контроля достоверности адреса программы.
На фиг.1 представлена Функциональная схема устройства; на фиг.2 - функциональная схема блока обоаботкл запросов прерывания; на фиг.З - функциональная схема блока формирования адреса и блока преобразования адреса; на фиг.4 ~ функциональная схема блока формирования длины команды,
Устройство содержит блок 1 преобразования адреса, блок 2 формирования длины команды, первую 3 и вторую 4 группы элементов ИЛИ, первый 5, второй 6 и третий 7 регистры, первый 8 и второй 9 блоки сравнения, триггер 10, блок 11 обработки запросов прерываний, блок 12 формирования адреса, блок 13 памяти, первый 14, второй 15 и третий 16 элементы ИЛИ, первый 17, второй 18, третий 19 и четвертый 20 элементы задержки.
Устройство имеет вход сброса, группу адресных входов, -руппу m синхровходов прерывания, вход синхронизации запросов прерываний, входы Строб адреса”, Обращение к стеку и Запись.
Блок И обработки запросов прерывания содержит узел 21 приоритетных прерываний, дешифратор 22, четвертый 23 и пятый 24 регистры.
Блок 12 формирования адреса содержит группу триггеров 25.1.....25.К, счетчик
26. Блок 2 формирования длины команды содержит п рограм ми руе му ю л о гичес кую матрицу 27 и постоянное запоминающее устройство 28.
Устройство работает следующим образом.
В исходное состояние устройство приводится сигналом, поступающим по входу сброса. При этом триггер 10 ошибки устанавливается в состояние соответствующее отсутствию ошибки в ходе выполнения программы. Кроме этого, сигнал сброса, пройдя на выход каждого из гл элементов ИЛИ первой группы 3, устанавливает в нулевое состояние все разряды первого регистра 5, предназначенного для приема сигналов-запросов яа прерывание, поступающих по синхровходам прерывания группы, и содержащего m триггеров с раздельными установочными, синхронизирующими и информационными входами. Также в нулевое состояние устанавливаются второй 6 и третий η-разрядные регистры.
' Принцип работы устройства, а именно контроля правильности выполнения программ управляющей ЭВМ, основан на сравнении величины адреса текущей команды с допустимым адресом, однозначно определяемым по значению адреса предыдущей команды. Определение допустимости осуществляется на основании информации о физических адресах памяти, отведенной для загрузки контролируемых программ. При определении допустимости адресов программ метут возникнуть три ситуации.
1. Если текущая команда является командой перехода, то для адреса следующей команды допустимы две величины, одна из которых в предлагаемом устройстве формируется с помощью блока 1 преобразования адреса, второго регистра 6 и второй группы 5 элементов ИЛИ, а другая - с помощью третьего регистра 7 и блока 2 формирования длины команды. Первая величина равна адресу перехода, задаваемому в текущей команде, а вторая - сумме начального адреса текущей команды и длины, выраженной в байтах.
Сформированные таким образом величины будут использованы для сравнения с адресом следующей (за текущей) команды, который поступит на блок 12 формирования адреса. При этом; для сравнения сформированных величин с адресом следующей команды требуются два блока 8 и 9 сравнения. Если на одном из них вырабатывается сигнал равенства допустимой и вновь поступившей величины, то ошибки в ходе выполнения контролируемой программы нет, и триггер 10 сохраняет свое состояние, соответствующее отсутствию ошибки, в противном случае на выходе элемента ИЛИ 16 будет уровень логического ”0, и с приходом сигнала Строб адреса триггер 10устанавливается в состояние 0, т.е. устройство выдает на выходную шину сигнал, свидетельствующий о сбое е ходе выполнения программы.
Блок 1 преобразования адреса целесообразно выполнить на основе программируемой логической матрицы (ПЛМ) 27 и постоянного запоминающего устройства (ПЗУ) 28 (фиг 3), исходя из следующих соображений.
Поскольку, как правило, в контролируемых программах количество команд ветвления (перехода) и команд POP (выдачи данных из стека) значительно меньше числа
2П, где η - разрядность адресных шин МП, то адреса перехода, заданные в командах ветвления (перехода), следует хранить в ячейках ПЗУ, 1-разрядный адрес каждой из которых однозначно формируется с помощью ПЛ М по известному адресу команды ветвления (перехода). При этом в нулевой ячейке ПЗУ будут нули, и к этой ячейке будет осуществляться обращение, когда п-разрядный адрес, приходящий на ПЛМ, не относится к адресам, задающим команды ветвления (перехода) и команды POP. Таким образом, каждому адресу, определяющему команду POP или ветвления (перехода), сопоставлен 1-разрядный адрес ПЗУ, причем число I существенно меньше числа п. Для примера реализации предлагаемого устройства для контроля функционирования микропроцессорной системы (МПС), построенной на основе МП серии К580, получают п = 16 и 1 = 5. Необходимость рассмотрения команд типа POP как команд перехода обусловлена тем, что стек в контролируемой ЭВМ используется не только для хранения адреса возврата в прерванную программу, но также и для сохранения содержимого регистров общего назначения и слова состояния процессора. Для этих целей используются команды PUSH (запись данных в стек) и POP (выдача данных из стека). В качестве стека устройства для контроля используется блок 13 памяти, представляющий собой оперативное запоминающее устройство. При выполнении команды типа PUSH, что сопровождается выдачей МП сигналов Записц и Обращение к стеку (в качестве последнего для МП серии 588 может быть использован разряд D2 слова состояния МП, указывающий на работу со стеком), содержимое третьего регистра 7 сохраняется, а при выполнении команды типа POP (при появлении на внешней шине устройства сигнала Чтение) это же значение вновь переписывается в третий регистр 7, т.е. на третьем регистре 7 формируется неверная величина адреса следующей команды вместо величины, равной сумме значения адреса, по которому хранится команда POP и значения этой команды в байтах. Для того, чтобы сформировать допустимую величину для адреса команды, следующей после команды типа POP, рассматривают любую команду POP как команду перехода, а следовательно, допустимую величину адреса следующей команды формируют на втором регистре 6 с помощью блока 1 преобразования адреса.
2. Если текущая команда не является командой перехода, т.е. выполняется линейный участок программы, подлежащей контролю, то для адреса следующей команды допустима единственная величина, которая формируется с помощью третьего регистра 7 и блока 2 формирования длины команды и запоминается на третьем регистре 7. Когда адрес следующей команды поступает с адресных шин в блок 12 формирования адреса и запоминается в счетчике 26 и триггерах 25.1 - 25.4, его можно сравнивать с допустимой величиной, хранящейся в третьем регистре 7, с помощью второго блока 9 сравнения. После сравнения на регистре 7 формируется новая величина адреса следующей команды как сумма величины, хранящейся в регистре 7, и величины, соответствующей длине текущей команды, выраженной в байтах. Если рассматривать в качестве управляющей ЭВМ микроЭВМ, построенную на базе микропроцессора (МП) К580ИК80, то длина любой команды не может превышать трех байт. Следовательно, величина адреса текущей команды может отличаться от величины адреса следующей команды значениями двух младших разрядов, и, кроме того, возможна разница между остальными старшими разрядами, равная единице.
Поэтому блок 2 формирования длины команды будет формировать значения двух младших двоичных разрядов адреса следующей команды, которые запишутся в триггеры 25.1 и 25.2 блока 12 формирования адреса (для рассматриваемого примера К=2) после анализа адреса текущей команды на допустимость. Для формирования величины, соответствующей старшим разрядам следующего ожидаемого адреса, используется одноразрядный выход ПЛМиспользуемой в блоке 2 формирования длины команды, двоичный сигнал с которого с соответствующей задержкой поступает на счетный вход счетчика 26. С выхода блока 12 формирования адреса, т.е. с выходов триггеров 25.1 и 25.2 и счетчика 26 сформированный описанным образом адрес через соответствующее время задержки тг переписывается в третий регистр 7 и процесс контроля на допустимость адресов команды повторяется.
3. Если обрабатывается запрос прерывания, то процесс контроля осуществляется аналогично рассмотренным случаям. Адрес перехода формируется в блоке 11 обработки запросов прерывания. С выхода узла 21 приоритетных прерываний (БПП) (может быть использован типовой БПП К58914К14) по сигналу на входе синхронизации запросов прерывания информация поступает на дешифратор 22, на одной из m выходных iij3608 линий которого появляется скп-шл, сбрасывающий в состояние ' С' разряды первого регистра 5, соответствующие данному прерыванию. и подготавливая его тем самым к приему следующего сигналя прерывания. Одновременно с этим информация с выхода БПП записывается э п-разрядный регистр, состоящий из (1од2т)-ргзрядного четвертого регистра 23 и (п-1од2гп'|-разря.дного пятого регистра 24, формируя, таким образом, адрес, по которому хранится команда перехода к подпрограмме обработки очередного прерывания. Синхро н и з и р у ю: ций р а δ оту блока 11 обработки прерывания сигнал синб(
VH запроса о прерывания ’изании возврат·; о необходимо непоступление ин· гс регистра 7 с используемого в качестве стека, хронизации запросов прерывания появля ется при подтвержде прерывания.
Поскольку при потребуется стек для п к прерванной програм?·. ключ и - ь о д н о в р е м е н гι формации на вход го выхода блока 13 памя ιτι предлагаемом устройстве и с выхода блока 12 формирования адреса Дня этой цели используя ющий сигнал Обраще· ющий соответстве блока 13 памяти и решения блока 12 что исключает одноврс формации на вхор трет ст синхронизируй , поступаете ни я :од р азадреса, подачу нн•t у у к стену вход пг нервны й : ирован энную ;
i,yi о ре; нс ; иа /.
Второй 14 и третий 15 элементы ИЛИ. s также линии 17 - 20 задержки служат для согласования времени срабс-ывания отдельных элементов и стоков устройства формирован ия н е о бх о -д г мы х у г о а в л я ю щ сигналов.
Claims (1)
- Устройство для контроля вычислительной машины, содержащее блок преобразования адреса, первый регис-р, первуюгруппу элементов ИЛ22 первый блок срсдт нения, триггер, причем группа л г-хЬс ом а иконных входов блока преобразования адреса является группой адреса ы;< входов устройства для подключения к шине адреса контролируемой в ы ч и с л у т а л ь н с; и м а ш и н si. группа синхровходов первого .регистра является Группой СИНХРОВХОДОЕ устройства для подключения к шине запоосос прерыва ния контролируемой :з1юшсльше;шной машины, первые входы элементов ИЛИ первой группы, вход сброса триггера подключены к входу сброса устройства, выходе· элементов •ИЛИ первой группы соединены с соответствующими поразрядными входами сброса первого регистра, выход триггера является выходом ошибки устройства, о т л и ч а ю щ е е с я тем, что, с целью расширения функциональных возможностей за счет контроля достоверности адреса программы, оно дополнительно содержит блок обработай к и запросов прерываний, два регистра, вторую группу элементов И Л И, второй блок сравнения, блок формирования адреса, блок памяти, блок формирования длины команды, три элемента ИЛИ, четыре элемента 10 задержки, причем информационные входы первого регистра объединены и подключены к потенциалу логической единицы, группа выходов первого регистра соединена с группой входоз блока обработки запросов 15 прерываний, выходы кода прерывания которого соединены с вторыми входами элементов ИЛИ первой группы, выходы блока преобразования адреса соединены с первыми входами элементов ИЛИ второй группы, 20 вторые входы которой соединены с выходами адреса вектора прерывания блока обработки запросов прерызания, синхровход которого !/, вход первого элемента задержки подключены к входу синхронизации запро25 сов прерывания устройства для подключения к линии синхронизации запросов прерывания контролируемой вычислительной машины, выход первого элемента задержки соединен с первым входом первого 30 элемента ИЛИ, второй вход которого и первый вход второго эленент-з ИЛИ соединены с выходом второго элемента задержки, вход которого является входом строба адреса устройства для подключения к линии Строб 35 адоеса контролируемой вычислительной машины, выходы элементов ИЛИ второй группы соединены с информационными входами второго регистра, синхровход которого соединен с выходом первого элемента 4G ИЛИ, входы начальной установки второго и третьего регистров подключены к входу сброса устройства, группа выходов второго регистра соединена с первой группой входов первого блока сравнения, вторая группа ζ·5 входов которого, первая группа входов вто: аегэ блока сравнения, группа входов третьего регистра соединены с группой выходов блока формирования адреса и группой выходов блока памяти, группа адресных вхо50 до в которого и группа информационных входов блока формирования адреса соединены с гругпой адресных входов устройства для подключения к шине адреса контролируемой вычислительной машины, группа 55 выходов третьего регистра соединена с круп - .Ьормационных входов блока памяти, второй группой входов второго блока еркв группой информационных входов блока формирования длины команды, группа выходов которого соединена с труп пой входов синхронизации блока формирования адреса, выходы первого и второго блоков сравнения соединены соответственно с первым и вторым входами третьего элемента ИЛИ, выход которого соединен с 5 входом установки в 1 триггера, синхровход которого и вход разрешения блока формирования длины команды соединены с выходом четвертого элемента задержки, вход которого, вход второго элемента за- 10 держки, вход разрешения блока преобразования адреса подключены к входу Строб адреса устройства для подключения к линии Строб адреса контролируемой вычис лительной машины, инверсный вход разрешения блока формирования адреса и вход разрешения блока памяти подключены к входу Обращение к стеку устройства для подключения к линии Обращение к стеку контролируемой вычислительной машины, вход записи блока памяти является входом Запись’’ устройства для подключения к линии Запись контролируемой вычислительной машины, вход чтения блока памяти и вход третьего элемента задержки соединены с входом Чтение устройства для подключения к линии Чтениеконтролируемой вычислительной машины,
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU884612743A SU1693608A1 (ru) | 1988-12-01 | 1988-12-01 | Устройство дл контрол вычислительной машины |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU884612743A SU1693608A1 (ru) | 1988-12-01 | 1988-12-01 | Устройство дл контрол вычислительной машины |
Publications (1)
Publication Number | Publication Date |
---|---|
SU1693608A1 true SU1693608A1 (ru) | 1991-11-23 |
Family
ID=21412644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SU884612743A SU1693608A1 (ru) | 1988-12-01 | 1988-12-01 | Устройство дл контрол вычислительной машины |
Country Status (1)
Country | Link |
---|---|
SU (1) | SU1693608A1 (ru) |
-
1988
- 1988-12-01 SU SU884612743A patent/SU1693608A1/ru active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA1286421C (en) | Message fifo buffer controller | |
US3553651A (en) | Memory storage system | |
US4199810A (en) | Radiation hardened register file | |
JPS6142306B2 (ru) | ||
EP0484652B1 (en) | First-in-first-out buffer | |
US4371949A (en) | Time-shared, multi-phase memory accessing system having automatically updatable error logging means | |
US6112268A (en) | System for indicating status of a buffer based on a write address of the buffer and generating an abort signal before buffer overflows | |
EP0386719B1 (en) | Partial store control circuit | |
US4556976A (en) | Checking sequential logic circuits | |
SU1693608A1 (ru) | Устройство дл контрол вычислительной машины | |
CA1219681A (en) | Computer systems | |
US5515506A (en) | Encoding and decoding of dual-ported RAM parity using one shared parity tree and within one clock cycle | |
KR100301653B1 (ko) | 고속 엠티 플래그 발생기 | |
EP0843253B1 (en) | A method for reducing the number of bits needed for the representation of constant values in a data processing device | |
US5687341A (en) | Device for speeding up the reading of a memory by a processor | |
USRE34282E (en) | Memory control system | |
RU2079165C1 (ru) | Устройство для отсчета времени | |
JP3097672B2 (ja) | メモリ制御回路 | |
SU935958A1 (ru) | Микропрограммное устройство управлени | |
SU1310835A1 (ru) | Устройство дл сопр жени двух вычислительных машин | |
SU1265788A1 (ru) | Устройство дл сопр жени каналов ввода-вывода с устройством управлени оперативной пам тью | |
SU1509889A1 (ru) | Микропрограммное устройство управлени | |
SU1532932A1 (ru) | Устройство дл дешифрации команд | |
SU1112365A1 (ru) | Устройство формировани сигнала прерывани | |
SU1183975A1 (ru) | Устройство дл сопр жени разноскоростных вычислительных устройств |