SU1693608A1 - Device for testing computer - Google Patents
Device for testing computer 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й о бъекто в управления.The invention relates to digital computing and can be used for operational control of the program execution process in microprocessor systems and the exclusion of unauthorized actions in the control.
Цель изобретения расширение функциональных возможностей устройства за счет контроля достоверности адреса программы.The purpose of the invention is the expansion of the functionality of the device by monitoring the reliability of the program address.
На фиг.1 представлена Функциональная схема устройства; на фиг.2 - функциональная схема блока обоаботкл запросов прерывания; на фиг.З - функциональная схема блока формирования адреса и блока преобразования адреса; на фиг.4 ~ функциональная схема блока формирования длины команды,Figure 1 presents the functional diagram of the device; figure 2 is a functional block diagram of the processing of interrupt requests; Fig. 3 is a functional diagram of an address generating unit and an address translation unit; figure 4 ~ functional block diagram of the formation of the length of the team,
Устройство содержит блок 1 преобразования адреса, блок 2 формирования длины команды, первую 3 и вторую 4 группы элементов ИЛИ, первый 5, второй 6 и третий 7 регистры, первый 8 и второй 9 блоки сравнения, триггер 10, блок 11 обработки запросов прерываний, блок 12 формирования адреса, блок 13 памяти, первый 14, второй 15 и третий 16 элементы ИЛИ, первый 17, второй 18, третий 19 и четвертый 20 элементы задержки.The device comprises an address translation unit 1, a command length generation unit 2, a first 3 and a second 4 groups of OR elements, the first 5, second 6 and third 7 registers, the first 8 and second 9 comparison blocks, trigger 10, the block 11 for processing interrupt requests, the block 12 address generation, memory unit 13, the first 14, second 15 and third 16 elements OR, the first 17, second 18, third 19 and fourth 20 delay elements.
Устройство имеет вход сброса, группу адресных входов, -руппу m синхровходов прерывания, вход синхронизации запросов прерываний, входы Строб адреса”, Обращение к стеку и Запись.The device has a reset input, a group of address inputs, a group of m interrupt sync inputs, an interrupt request synchronization input, the addresses of the address strobe ”, address to the stack, and write.
Блок И обработки запросов прерывания содержит узел 21 приоритетных прерываний, дешифратор 22, четвертый 23 и пятый 24 регистры.Block And processing interrupt requests contains a node 21 priority interrupt, decoder 22, fourth 23 and fifth 24 registers.
Блок 12 формирования адреса содержит группу триггеров 25.1.....25.К, счетчикBlock 12 formation of the address contains a group of triggers 25.1 ..... 25.K, counter
26. Блок 2 формирования длины команды содержит п рограм ми руе му ю л о гичес кую матрицу 27 и постоянное запоминающее устройство 28.26. Unit 2 for forming the length of a command contains a programmable matrix 27 and read-only memory 28.
Устройство работает следующим образом.The device operates as follows.
В исходное состояние устройство приводится сигналом, поступающим по входу сброса. При этом триггер 10 ошибки устанавливается в состояние соответствующее отсутствию ошибки в ходе выполнения программы. Кроме этого, сигнал сброса, пройдя на выход каждого из гл элементов ИЛИ первой группы 3, устанавливает в нулевое состояние все разряды первого регистра 5, предназначенного для приема сигналов-запросов яа прерывание, поступающих по синхровходам прерывания группы, и содержащего m триггеров с раздельными установочными, синхронизирующими и информационными входами. Также в нулевое состояние устанавливаются второй 6 и третий η-разрядные регистры.In the initial state, the device is driven by a signal received at the reset input. In this case, the trigger 10 errors are set to the state corresponding to the absence of errors during program execution. In addition, the reset signal, passing to the output of each of the hl elements OR of the first group 3, sets to zero all the bits of the first register 5, designed to receive interrupt request signals received from the group interrupt sync inputs, and containing m triggers with separate installation synchronizing and information inputs. The second 6 and third η-bit registers are also set to zero.
' Принцип работы устройства, а именно контроля правильности выполнения программ управляющей ЭВМ, основан на сравнении величины адреса текущей команды с допустимым адресом, однозначно определяемым по значению адреса предыдущей команды. Определение допустимости осуществляется на основании информации о физических адресах памяти, отведенной для загрузки контролируемых программ. При определении допустимости адресов программ метут возникнуть три ситуации.'The principle of operation of the device, namely, monitoring the correct execution of the control computer programs, is based on comparing the address value of the current command with a valid address uniquely determined by the value of the address of the previous command. Determination of admissibility is carried out on the basis of information about the physical addresses of the memory allocated for downloading controlled programs. In determining the validity of program addresses, three situations arise.
1. Если текущая команда является командой перехода, то для адреса следующей команды допустимы две величины, одна из которых в предлагаемом устройстве формируется с помощью блока 1 преобразования адреса, второго регистра 6 и второй группы 5 элементов ИЛИ, а другая - с помощью третьего регистра 7 и блока 2 формирования длины команды. Первая величина равна адресу перехода, задаваемому в текущей команде, а вторая - сумме начального адреса текущей команды и длины, выраженной в байтах.1. If the current command is a transition command, then two values are valid for the address of the next command, one of which is generated in the proposed device using the address conversion unit 1, the second register 6 and the second group of 5 OR elements, and the other using the third register 7 and block 2 forming the length of the team. The first value is equal to the transition address specified in the current command, and the second is the sum of the starting address of the current command and the length, expressed in bytes.
Сформированные таким образом величины будут использованы для сравнения с адресом следующей (за текущей) команды, который поступит на блок 12 формирования адреса. При этом; для сравнения сформированных величин с адресом следующей команды требуются два блока 8 и 9 сравнения. Если на одном из них вырабатывается сигнал равенства допустимой и вновь поступившей величины, то ошибки в ходе выполнения контролируемой программы нет, и триггер 10 сохраняет свое состояние, соответствующее отсутствию ошибки, в противном случае на выходе элемента ИЛИ 16 будет уровень логического ”0, и с приходом сигнала Строб адреса триггер 10устанавливается в состояние 0, т.е. устройство выдает на выходную шину сигнал, свидетельствующий о сбое е ходе выполнения программы.The values generated in this way will be used for comparison with the address of the next (behind the current) command, which will go to the address generation unit 12. Wherein; To compare the generated values with the address of the next command, two comparison blocks 8 and 9 are required. If one of them generates an equality signal for the admissible and newly arrived values, then there is no error during the execution of the controlled program, and trigger 10 retains its state corresponding to the absence of an error, otherwise the output of the OR element 16 will be the logical level “0, and with by the arrival of the signal, the address strobe trigger 10 is set to state 0, i.e. the device gives a signal to the output bus, indicating a failure in the course of program execution.
Блок 1 преобразования адреса целесообразно выполнить на основе программируемой логической матрицы (ПЛМ) 27 и постоянного запоминающего устройства (ПЗУ) 28 (фиг 3), исходя из следующих соображений.Block 1 address translation, it is advisable to perform on the basis of a programmable logic matrix (PLM) 27 and read-only memory (ROM) 28 (Fig 3), based on the following considerations.
Поскольку, как правило, в контролируемых программах количество команд ветвления (перехода) и команд POP (выдачи данных из стека) значительно меньше числаSince, as a rule, in controlled programs, the number of branching (branching) commands and POP (issuing data from the stack) commands is much less than the number
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 П , where η is the bit depth of the MP address buses, then the transition addresses specified in the branch (branch) commands should be stored in ROM cells, the 1-bit address of each of which is uniquely generated using the PL M at the known address of the branch (branch) command . At the same time, in the zero cell of the ROM there will be zeros, and this cell will be accessed when the n-bit address arriving at the PLM does not apply to addresses that specify branching (branch) commands and POP commands. Thus, each address that defines the POP or branch (branch) command is associated with a 1-bit ROM address, and the number I is significantly less than the number p. For an example of the implementation of the proposed device for monitoring the functioning of a microprocessor system (MPS) based on the K580 series of MPs get n = 16 and 1 = 5. The need to consider POP type instructions as transition instructions is due to the fact that the stack in the controlled computer is used not only to store the return address to the interrupted program, but also to save the contents w general purpose registers and processor status words. For these purposes, the commands PUSH (write data to the stack) and POP (send data from the stack) are used. As a device stack for monitoring, a memory unit 13 is used, which is a random access memory. When executing a command of the PUSH type, which is accompanied by the issuance of MP signals Record and Appeal to the stack (as the last for MP 588 series, bit D2 of the MP status word can be used, indicating operation with the stack), the contents of the third register 7 are saved, and when the command is executed of the POP type (when the Read signal appears on the external bus of the device), the same value is again overwritten in the third register 7, i.e. on the third register 7, an incorrect value of the address of the next command is formed instead of a value equal to the sum of the value of the address at which the POP command is stored and the value of this command in bytes. In order to generate a valid value for the address of the command following the POP type command, any POP command is considered as a transition command, and therefore, the valid value of the next command address is generated on the second register 6 using the address translation unit 1.
2. Если текущая команда не является командой перехода, т.е. выполняется линейный участок программы, подлежащей контролю, то для адреса следующей команды допустима единственная величина, которая формируется с помощью третьего регистра 7 и блока 2 формирования длины команды и запоминается на третьем регистре 7. Когда адрес следующей команды поступает с адресных шин в блок 12 формирования адреса и запоминается в счетчике 26 и триггерах 25.1 - 25.4, его можно сравнивать с допустимой величиной, хранящейся в третьем регистре 7, с помощью второго блока 9 сравнения. После сравнения на регистре 7 формируется новая величина адреса следующей команды как сумма величины, хранящейся в регистре 7, и величины, соответствующей длине текущей команды, выраженной в байтах. Если рассматривать в качестве управляющей ЭВМ микроЭВМ, построенную на базе микропроцессора (МП) К580ИК80, то длина любой команды не может превышать трех байт. Следовательно, величина адреса текущей команды может отличаться от величины адреса следующей команды значениями двух младших разрядов, и, кроме того, возможна разница между остальными старшими разрядами, равная единице.2. If the current command is not a jump command, ie if the linear section of the program to be monitored is executed, then the only quantity allowed for the address of the next command is that it is generated using the third register 7 and the command length generation unit 2 and stored on the third register 7. When the address of the next command comes from the address buses to the address generation unit 12 and is stored in the counter 26 and the triggers 25.1 - 25.4, it can be compared with the permissible value stored in the third register 7, using the second comparison unit 9. After comparison, a new address value of the next command is formed on register 7 as the sum of the value stored in register 7 and the value corresponding to the length of the current command, expressed in bytes. If we consider a microcomputer built on the basis of the K580IK80 microprocessor (MP) as the control computer, then the length of any command cannot exceed three bytes. Therefore, the value of the address of the current command may differ from the value of the address of the next command by the values of the two least significant digits, and, in addition, a difference between the remaining senior digits of one may be possible.
Поэтому блок 2 формирования длины команды будет формировать значения двух младших двоичных разрядов адреса следующей команды, которые запишутся в триггеры 25.1 и 25.2 блока 12 формирования адреса (для рассматриваемого примера К=2) после анализа адреса текущей команды на допустимость. Для формирования величины, соответствующей старшим разрядам следующего ожидаемого адреса, используется одноразрядный выход ПЛМиспользуемой в блоке 2 формирования длины команды, двоичный сигнал с которого с соответствующей задержкой поступает на счетный вход счетчика 26. С выхода блока 12 формирования адреса, т.е. с выходов триггеров 25.1 и 25.2 и счетчика 26 сформированный описанным образом адрес через соответствующее время задержки тг переписывается в третий регистр 7 и процесс контроля на допустимость адресов команды повторяется.Therefore, the unit 2 of the formation of the length of the command will generate the values of the two least significant bits of the address of the next command, which are recorded in the triggers 25.1 and 25.2 of the block 12 of the formation of the address (for the considered example, K = 2) after analyzing the address of the current command for validity. To form the value corresponding to the higher digits of the next expected address, the single-bit PLM output used in the command length generation block 2 is used, the binary signal from which is supplied with a corresponding delay to the counting input of the counter 26. From the output of the address generation block 12, i.e. from the outputs of flip-flops 25.1 and 25.2 and counter 26, the address generated in the described manner after the corresponding delay time tg is rewritten in the third register 7 and the process of monitoring the admissibility of the command addresses is repeated.
3. Если обрабатывается запрос прерывания, то процесс контроля осуществляется аналогично рассмотренным случаям. Адрес перехода формируется в блоке 11 обработки запросов прерывания. С выхода узла 21 приоритетных прерываний (БПП) (может быть использован типовой БПП К58914К14) по сигналу на входе синхронизации запросов прерывания информация поступает на дешифратор 22, на одной из m выходных iij3608 линий которого появляется скп-шл, сбрасывающий в состояние ' С' разряды первого регистра 5, соответствующие данному прерыванию. и подготавливая его тем самым к приему следующего сигналя прерывания. Одновременно с этим информация с выхода БПП записывается э п-разрядный регистр, состоящий из (1од2т)-ргзрядного четвертого регистра 23 и (п-1од2гп'|-разря.дного пятого регистра 24, формируя, таким образом, адрес, по которому хранится команда перехода к подпрограмме обработки очередного прерывания. Синхро н и з и р у ю: ций р а δ оту блока 11 обработки прерывания сигнал синб(3. If an interrupt request is processed, then the control process is carried out similarly to the cases considered. The transition address is generated in the block 11 for processing interrupt requests. From the output of node 21 of priority interrupts (BPP) (a typical BPP K58914K14 can be used), the signal at the input of the interrupt request synchronization receives information on the decoder 22, on one of the m output iij3608 lines of which there is a csc-dump that resets the bits to 'C' state first register 5, corresponding to this interrupt. and thereby preparing it to receive the next interrupt signal. At the same time, information from the output of the BPP is recorded in an e-bit register, consisting of (1od2t) -rzryadnogo fourth register 23 and (n-1od2gp '| -bit. One fifth register 24, thus forming the address at which the command is stored transition to the next interrupt processing subroutine Synchronization and retrieval : tions of δ a from the block 11 of the interrupt processing
VH запроса о прерывания ’изании возврат·; о необходимо непоступление ин· гс регистра 7 с используемого в качестве стека, хронизации запросов прерывания появля ется при подтвержде прерывания.VH request for interruption’s return return ·; o the non-receipt of the · · · register 7 from the one used as the stack is necessary, the chronization of interrupt requests appears when the interrupt is confirmed.
Поскольку при потребуется стек для п к прерванной програм?·. ключ и - ь о д н о в р е м е н гι формации на вход го выхода блока 13 памя ιτι предлагаемом устройстве и с выхода блока 12 формирования адреса Дня этой цели используя ющий сигнал Обраще· ющий соответстве блока 13 памяти и решения блока 12 что исключает одноврс формации на вхор трет ст синхронизируй , поступаете ни я :од р азадреса, подачу нн•t у у к стену вход пг нервны й : ирован энную ;Since when will you need a stack for n to an interrupted program? ·. the key is the same as the information on the input of the output block 13 of the memory ιτι of the proposed device and the output of block 12 of the formation of the address of the day for this purpose using the signal Inverse corresponding to the block 13 of the memory and the decision of block 12 which eliminates the simultaneous formation of the formation for synchronization, synchronize, neither do I: address address, submission nn • t at the wall, the input is nervous: it is unnatural;
i,yi о ре; нс ; иа /.i, yi about re; ns; Eeyore /.
Второй 14 и третий 15 элементы ИЛИ. s также линии 17 - 20 задержки служат для согласования времени срабс-ывания отдельных элементов и стоков устройства формирован ия н е о бх о -д г мы х у г о а в л я ю щ сигналов.Second 14 and third 15 elements OR. s also delay lines 17 - 20 are used to coordinate the operation time of individual elements and drains of the device. Signal formation is generated.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU884612743A SU1693608A1 (en) | 1988-12-01 | 1988-12-01 | Device for testing computer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU884612743A SU1693608A1 (en) | 1988-12-01 | 1988-12-01 | Device for testing computer |
Publications (1)
Publication Number | Publication Date |
---|---|
SU1693608A1 true SU1693608A1 (en) | 1991-11-23 |
Family
ID=21412644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SU884612743A SU1693608A1 (en) | 1988-12-01 | 1988-12-01 | Device for testing computer |
Country Status (1)
Country | Link |
---|---|
SU (1) | SU1693608A1 (en) |
-
1988
- 1988-12-01 SU SU884612743A patent/SU1693608A1/en active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA1286421C (en) | Message fifo buffer controller | |
US4199810A (en) | Radiation hardened register file | |
US5138637A (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 (en) | Device for testing computer | |
US4803653A (en) | Memory control system | |
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 (en) | High speed empty flag generator | |
EP0843253B1 (en) | A method for reducing the number of bits needed for the representation of constant values in a data processing device | |
US4949343A (en) | Error detecting circuit for a decoder | |
JP2873229B2 (en) | Buffer memory controller | |
US5687341A (en) | Device for speeding up the reading of a memory by a processor | |
USRE34282E (en) | Memory control system | |
SU935958A1 (en) | Microprogram control device | |
SU1310835A1 (en) | Computer-computer interface | |
SU1265788A1 (en) | Interface for linking input-output channels with internal memory control device | |
SU1509889A1 (en) | Microprogram control device | |
SU1112365A1 (en) | Device for forming interruption signal | |
SU1215114A1 (en) | Interface for linking computer with using equipment | |
SU1265780A1 (en) | Interface for linking digital computer and information store | |
SU1068937A1 (en) | Firmware control unit |