SU1541617A1 - Device for debugging microprogram units - Google Patents
Device for debugging microprogram units Download PDFInfo
- Publication number
- SU1541617A1 SU1541617A1 SU884423217A SU4423217A SU1541617A1 SU 1541617 A1 SU1541617 A1 SU 1541617A1 SU 884423217 A SU884423217 A SU 884423217A SU 4423217 A SU4423217 A SU 4423217A SU 1541617 A1 SU1541617 A1 SU 1541617A1
- Authority
- SU
- USSR - Soviet Union
- Prior art keywords
- inputs
- output
- outputs
- block
- address
- Prior art date
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Изобретение относитс к вычислительной технике и может быть использовано в устройствах отладки микропрограмм, проверки работоспособности и диагностики аппаратуры микропрограммируемых устройств (МПУ). Цель изобретени - расширение области применени за счет возможности совместного использовани блоков пам ти микропрограмм устройства отладки и отлаживаемого микропрограммного блока. Устройство содержит ЭВМ 1, блок 2 сопр жени , регистр 3 адреса, блок 4 управлени , мультиплексоры 5,8 и 10, блок 6 пам ти трассы, блок 7 пам ти преобразовани адресов микропрограмм, блок 9 пам ти начальных адресов микропрограмм, блок 11 пам ти микропрограмм, блок элементов И 12. Преобразование виртуального адреса микроинструкции с использованием механизма динамической загрузки позвол ет эмулировать микропрограммы, превышающие объем физической пам ти эмул тора. Блок преобразовани адреса содержит признак размещени микропрограммы в ОЗУ эмул тора или в ПЗУ МПУ, что позвол ет разместить отлаживаемую часть микропрограмм в ОЗУ эмул тора и использовать микропрограммы из из ПЗУ МПУ и тем самым сохранить режим реального времени дл микропрограмм, превышающих объем ОЗУ эмул тора. 3 ил.The invention relates to computing and can be used in devices for microprogram debugging, functional testing and diagnostics of hardware of microprogrammable devices (MPU). The purpose of the invention is to expand the field of application due to the possibility of sharing the memory blocks of the firmware of the debugging device and the firmware block being debugged. The device contains a computer 1, a conjugation block 2, an address register 3, a control block 4, multiplexers 5.8 and 10, a trace memory block 6, a microprogram address address memory block 7, a microprogram initial address memory block 9, a memory block 11 These microprograms, the block of elements And 12. Transforming the virtual address of a microinstruction using the dynamic loading mechanism allows emulating microprograms exceeding the amount of physical memory of the emulator. The address translation block contains an indication of the placement of the firmware in the emulator RAM or in the MPU ROM, which allows placing the debugged part of the firmware in the emulator RAM and using the firmware from the MPU ROM and thereby saving the real-time mode for the firmware that exceeds the RAM capacity of the emulator. 3 il.
Description
Изобретение относитс к вычислительной технике и может быть использовано в устройствах отладки микро- 20 программ и дл проверки работоспособности и диагностики аппаратуры микропроцессорных устройств (МПУ).The invention relates to computer technology and can be used in debugging devices for micro 20 programs and for verifying the operability and diagnostics of microprocessor device hardware.
Цель изобретени - расширение области применени за счет возможности 25 совместного использовани блоков пам ти микропрограмм устройства,отладки и отлаживаемого микропрограммного блокаThe purpose of the invention is the expansion of the field of application due to the possibility of sharing device memory 25, device debugging and debugging firmware
На фиг. 1 приведена функц -; опальна Q схема устройства отладки, на фиг. 2 - функциональна схеме бчока управлени ; на фиг, 3 - функциональна схема бло га сопр жени с ЭВМ,FIG. 1 shows the functions; The opal Q scheme of the debugging device, in FIG. 2 - functional control circuit; Fig. 3 is a functional scheme of an interface with a computer;
Устройство дл отладки (фиг. 1) содержит ЭВМ 1, блок 2 сопр жени , регистр 3 адреса, блок 4 управлени , мультиплексор 5, блок 6 пам ти трассы , блок 7 пам ти преобразовани адреса } мультиплексор 8, блок 9 пам ти на-дд чальных адресов микропрограмм, мультиплексор 10, блок 11 микропрограммной пам ти, блок 12 элементов И, синхро- вход 13 устройства, входы 14 логических условий устройства, вторые инфор- 45 мациоиные входы 15 устройства, вторые информационные выходы 16 устройства , выход 17 режима устройства, третьи информационные входы 18 устройст35The device for debugging (Fig. 1) contains a computer 1, a conjugation block 2, an address register 3, a control block 4, a multiplexer 5, a trace memory block 6, an address translation memory block 7} a multiplexer 8, a memory block 9 ddal firmware addresses, multiplexer 10, microprogram memory block 11, I block 12, device sync input 13, device logical conditions 14, second device information 15 inputs, device second information outputs 16, device mode output 17 , third information inputs 18 devices
ва, выход 19 признака останова устройства , первые информационные входы 20 устройства, первые информационные выходы 21 устройства. Позици ми 22-48 обозначены входы и выходы блоков устройства .va, the output 19 of the device stop sign, the first information inputs 20 of the device, the first information outputs 21 of the device. Positions 22-48 designate the inputs and outputs of the device units.
Блок 2 сопр жени (фиг. 2) содержит дешифратор 49, элемент НЕ 50, элементы И 51-54, регистры 55-57 и блоки элементов И 58 и 59. Блок управлени Interface unit 2 (Fig. 2) contains a decoder 49, a HE 50 element, AND 51-54 elements, registers 55-57, and And 58 and 59 element blocks. The control unit
0 0
5 five
Q Q
д 5 d 5
5five
00
5five
(фиг. 3) содержит шину 60 признаков останова, блок элементов И 61, регистр 62, блоки элементов И 63 и 64, дешифратор 65, элемент И 66, триггер 67, элемент И 68, схема 69 сравнени , блок 70 схем сравнени , элемент ИЛИ 71, триггер 72, элемент И 73, счетчик 74, элемент И 75, счетчик 76, элементы И 77 и ИЛИ 78.(Fig. 3) contains a bus 60 stop signs, a block of elements And 61, a register 62, blocks of elements And 63 and 64, a decoder 65, an element And 66, a trigger 67, an element And 68, a comparison circuit 69, a block 70 of comparison circuits, an element OR 71, trigger 72, element AND 73, counter 74, element AND 75, counter 76, elements AND 77 and OR 78.
Устройство работает следующим образом .The device works as follows.
Устройство дл отладки осуществл ет замену ПЗУ микропрограмм отлаживаемого устройства на собственное ОЗУ и управл ет синхрогенератором МПУ. Отлаживаема микропрограмма (или микропрограмма дл отладки аппаратной части МПУ) размещаетс в блоке 11 пам ти. Загрузку микропрограммы осуществл ет ЭВМ 1 побайтно. Дл этого адрес байта подаетс через блок 2 сопр жени в регистр 3 адреса и далее через мультиплексор 8 на адресные входы блока . 11 пам ти. Управление мультиплексором 8 обеспечиваетс сигналом 36, поступающим с блока 4 управлени . По сигналу 27, поступающему с управл ющего выхода блока 2, производитс запись информации в блок 11. При исполнении микропрограммы адресна информаци на блок 11 поступает через группу информационных входов мультиплексора 8, котора подключена к блоку 7 пам ти преобразовани адресаThe debugging device replaces the firmware ROM of the device being debugged with its own RAM and controls the MPU sync generator. The firmware being debugged (or the firmware for debugging the hardware of the MPU) is located in memory block 11. The firmware is loaded by computer 1 byte. For this, the byte address is fed through interface block 2 to address register 3 and then through multiplexer 8 to the address inputs of the block. 11 memories. The control of multiplexer 8 is provided by a signal 36 coming from control unit 4. The signal 27 coming from the control output of block 2 records information into block 11. When the firmware is executed, the address information to block 11 is received through a group of information inputs of the multiplexer 8, which is connected to block 7 of the address translation memory
Рассмотрим работу блока 7 пам ти преобразовани микропрограммного адреса . Блок 7 осуществл ет преобразование виртуального адреса в физический , так как предполагаетс иметь физическую пам ть меньшего объема, чем виртуальна пам ть. Виртуальный и физический адреса имеют различныйConsider the operation of block 7 of the memory address conversion memory. Block 7 converts a virtual address into a physical one, since it is intended to have a physical memory of a smaller size than a virtual memory. Virtual and physical addresses have different
формат.Пусть виртуальный адрес имеет следующую структуру: адресные разр ды с 1-го по К-й обеспечивают адресацию внутри страницы, с К+1-го по N-й- номер виртуальной страницы пам ти. Блок 7 пам ти преобразовани адреса осуществл ет преобразование только номера страницы, оставл разр ды с 1-го по К-й без изменени .Format. Let the virtual address have the following structure: the address bits from the 1st to the Kth provide the addressing inside the page, from K + the 1st to the Nth - number of the virtual memory page. The address conversion memory unit 7 converts only the page numbers, leaving bits 1 through K without changes.
Таким образом, физический адрес имеет структуру: адресные разр ды с 1-го по К-й обеспечивают адресацию внутри страницы, с K+1-ro по М-й-но- мер физической страницы пам ти. Преобразование адреса осуществл етс подачей на адресные входы ОЗУ номера виртуальной страницы и считывани с выходов ОЗУ номера физической страницы со статусной информацией. Статусна информаци содержит следующие данные: первый разр д - признак размещени страницы (в ОЗУ либо в ПЗУ, МПУ); второй - запрос обслуживани и останова прогона микропрограммы дл всех виртуальных страниц, работа с которыми запрещена, и дл страниц, которые не загружены в блок 11 устройства в разр дах с 3-го по (М-К+3)-й указываетс номер физической страницы. При инициализации в блоке 7 все виртуальные страницы указываютс незагруженными .Thus, the physical address has the structure: the address bits from 1 to K provide addressing inside the page, from K + 1-ro to the M-th number of the physical memory page. Address conversion is performed by submitting the virtual page number to the address inputs of the RAM and reading the physical page numbers with the status information from the RAM outputs. The status information contains the following data: the first bit is a sign of the placement of the page (in RAM or in ROM, MPU); the second is a request for servicing and stopping a firmware run for all virtual pages that are not allowed to work, and for pages that are not loaded in device block 11, bits 3 and 3 (M-K + 3) will indicate the number of the physical page . When initialized in block 7, all virtual pages are indicated as unloaded.
Перед выполнением микропрограммы оператор делав - начальную разметку пам ти, т.е. укатывает тип каждой виртуальной страницы пам ти.Тип страницы определ ет, где размещена данна страница: в ОЗУ, ПЗУ, либо запрещена дл работы. При размещении страницы в блоке 11 возможны два варианта: страница размещена посто нно (резидентна страница) либо загружаетс по требованию (нерезидентна страница). В пам ти управл ющей ЭВМ хран тс типы виртуалышх страниц, их приоритеты дл программы-загрузчика. Дл записи статусной информации и номера физической страницы в блок 7 пам ти преобразовани адреса ЭВМ устанавливает адрес в регистр 3 адреса, адрес передаетс на адресные входы блока 7 через мультиплексор 5, управл ющий входBefore executing the firmware, the operator is doing the initial memory markup, i.e. rolls the type of each virtual memory page. The type of page determines where this page is located: in RAM, ROM, or prohibited for work. When placing a page in block 11, two options are possible: the page is permanently placed (resident page) or loaded on demand (non-resident page). The memory of the control computer stores the types of virtual pages and their priorities for the loader program. To record the status information and the number of the physical page in the memory address conversion block 7, the computer sets the address to the address register 3, the address is transmitted to the address inputs of the block 7 via multiplexer 5, the control input
15416171541617
10ten
1515
2020
Блок 4 осуществл ет управление схемой устройства отладки. Дл наладки аппаратной части и программного обеспечени МПУ необходимо обеспечить управление выполнением микропрограммы . Б данном устройстве отладки реализованы функции: запуска программы с текущего или заданного адреса , выполнение микропрограммы в непрерывном или пошаговом режиме, останова выполнени по требованию оператора , заданному адресу, количеству выполненных микрокоманд, по физическим сигналам (логическим услови м), зацикливание определенной части микропрограммы .Регаты выполнени микропрограммы получаютс из комбинации функций устройства.Unit 4 controls the debugging device circuitry. To set up the hardware and software of the MPU, it is necessary to provide control over the execution of the firmware. This debugging device implements the following functions: starting the program from the current or specified address, running the firmware in continuous or step-by-step mode, stopping the execution at the request of the operator, specifying the address, number of executed microcommands, based on physical signals (logical conditions), cycling a certain part of the microprogram. Firmware regatta are derived from a combination of device functions.
Управление прогоном (выполнением) микропрограммы основано на управлении синхрогенератором налаживаемого МПУ (фиг. 3). Выход элемента И 77 разрешает/запрещает работу синхроге- 25 нератора. Управление прогоном микропрограммы осуществл етс с помощью управл ющего регистра 62. На входы элемента И 77 поступают сигналы управлени : с выхода блока 7 ОЗУ преобразовани адреса (сигнал 45), с выхода триггера 72, обеспечивающего пошаговый режим работы, с четвертого выхода регистра 62 управлени - сигнал разрешени работы от ЭВМ, с выхода элемента И 73, вл ющийс сигналом прекращени работы от схем останова по услови м (по адресу, количеству выполненных микроинструкций, физическим сигналам (логическим услови м)).The run control (execution) of the microprogram is based on the synchronous generator control of the adjusted MPU (Fig. 3). The output of the And 77 element allows / prohibits the operation of the synchrometer. Control of the firmware run is performed using control register 62. At the inputs of element 77, control signals are received: from the output of the address conversion RAM unit 7 (signal 45), from the output of the trigger 72, which provides step-by-step operation, from the fourth output of the control register 62 the work enable signal from the computer, from the output of the I 73 element, which is the signal for stopping the work from the stop circuitry under conditions (by address, number of microinstructions, physical signals (logical conditions)).
Сигнал, поступающий с п того выхода регистра 62 на первый вход элемента 66, управл ет разрешением/запрещением пошагового режима работы устройства. Если данный сигнал установлен в состо ние логической 1, то синхросигнал проходит через элемент 66 на вход триггера 72, устанавливает триггер 72 в состо ние запрета работы синхрогенератора МПУ (состо ние логического О) и останавливает выполнение микропрограммы. Если данный сигнал установлен в состо ние логического О, то элемент 66 запрещает прохождение синхросигнала на вход трнгге30The signal from the fifth output of register 62 to the first input of element 66 controls the enable / disable step-by-step operation of the device. If this signal is set to the logical 1 state, then the sync signal passes through element 66 to the input of the trigger 72, sets the trigger 72 to the MPU synchronous generator prohibiting state (the logical O state) and stops the microprogram execution. If this signal is set to the logical O state, then element 66 prohibits the passage of a sync signal to the thrng30 input.
3535
4040
4545
5050
торого соединен с выходом 33 блока 3,- ра 72 и пошагового останова при выполнеобходима информаци передаетс по шине 28 данных блока 2 сопр жени с блоком 1 ЭВМ, сигнал 35 управл ет записью в блок 7.Secondly, it is connected to the output 33 of block 3, - ra 72 and a step-by-step stop, if necessary, the information is transmitted via the data bus 28 of the block 2 of the interface with the computer block 1, the signal 35 controls the writing to the block 7.
нении микропрограммы не происходит. В данной схеме управлени реализованы функции останова выполнени микропрограммы по заданному адресу, колнчест- о1541617There is no firmware change. In this control scheme, the functions of stopping the execution of the firmware at a given address, the total 1541617, are implemented.
00
Блок 4 осуществл ет управление схемой устройства отладки. Дл наладки аппаратной части и программного обеспечени МПУ необходимо обеспечить управление выполнением микропрограммы . Б данном устройстве отладки реализованы функции: запуска программы с текущего или заданного адреса , выполнение микропрограммы в непрерывном или пошаговом режиме, останова выполнени по требованию оператора , заданному адресу, количеству выполненных микрокоманд, по физическим сигналам (логическим услови м), зацикливание определенной части микропрограммы .Регаты выполнени микропрограммы получаютс из комбинации функций устройства.Unit 4 controls the debugging device circuitry. To set up the hardware and software of the MPU, it is necessary to provide control over the execution of the firmware. This debugging device implements the following functions: starting the program from the current or specified address, running the firmware in continuous or step-by-step mode, stopping the execution at the request of the operator, specifying the address, number of executed microcommands, based on physical signals (logical conditions), cycling a certain part of the microprogram. Firmware regatta are derived from a combination of device functions.
Управление прогоном (выполнением) микропрограммы основано на управлении синхрогенератором налаживаемого МПУ (фиг. 3). Выход элемента И 77 разрешает/запрещает работу синхроге- 5 нератора. Управление прогоном микропрограммы осуществл етс с помощью управл ющего регистра 62. На входы элемента И 77 поступают сигналы управлени : с выхода блока 7 ОЗУ преобразовани адреса (сигнал 45), с выхода триггера 72, обеспечивающего пошаговый режим работы, с четвертого выхода регистра 62 управлени - сигнал разрешени работы от ЭВМ, с выхода элемента И 73, вл ющийс сигналом прекращени работы от схем останова по услови м (по адресу, количеству выполненных микроинструкций, физическим сигналам (логическим услови м)).The run control (execution) of the microprogram is based on the synchronous generator control of the adjusted MPU (Fig. 3). The output element And 77 permits / prohibits the operation of the synchro-5 generator. Control of the firmware run is performed using control register 62. At the inputs of element 77, control signals are received: from the output of the address conversion RAM unit 7 (signal 45), from the output of the trigger 72, which provides step-by-step operation, from the fourth output of the control register 62 the work enable signal from the computer, from the output of the I 73 element, which is the signal for stopping the work from the stop circuitry under conditions (by address, number of microinstructions, physical signals (logical conditions)).
Сигнал, поступающий с п того выхода регистра 62 на первый вход элемента 66, управл ет разрешением/запрещением пошагового режима работы устройства. Если данный сигнал установлен в состо ние логической 1, то синхросигнал проходит через элемент 66 на вход триггера 72, устанавливает триггер 72 в состо ние запрета работы синхрогенератора МПУ (состо ние логического О) и останавливает выполнение микропрограммы. Если данный сигнал установлен в состо ние логического О, то элемент 66 запрещает прохождение синхросигнала на вход трнгге0The signal from the fifth output of register 62 to the first input of element 66 controls the enable / disable step-by-step operation of the device. If this signal is set to the logical 1 state, then the sync signal passes through element 66 to the input of the trigger 72, sets the trigger 72 to the MPU synchronous generator prohibiting state (the logical O state) and stops the microprogram execution. If this signal is set to the logical O state, then element 66 prohibits the passage of a sync signal to the input terminal.
5five
00
5five
00
нении микропрограммы не происходит. В данной схеме управлени реализованы функции останова выполнени микропрограммы по заданному адресу, колнчеству выполненных никроинструкций, по физическим сигналам пользовател .There is no firmware change. This control scheme implements the functions of stopping the execution of the firmware at a given address, the quality of the provided instructions, according to the user's physical signals.
В начальный момент выполнени микропрограммы состо ние схемы налаживаемого ЦПУ неопределенно, и могут возникнуть услови останова, которые не позвол т начать выполнение микропрограммы . Поэтому дл выполнени первого шага необходимо запретить работу схем останова по услови м до по влени первого синхросигнала. Это обеспечивает триггер 67 запрета работы схем останова. Сигнал логического О с выхода триггер 67 поступает на вход элемента И 73, запреща прохождение сигнала останова по услови м, подключенного к второму входу элемента И 73. Синхросигнал 13 поступает наAt the initial moment of the firmware execution, the state of the circuit of the CPU being adjusted is indefinite, and stopping conditions may occur that prevent the microprogram from starting. Therefore, to perform the first step, it is necessary to prohibit the operation of the stop circuitry under conditions prior to the appearance of the first clock signal. This provides the trigger 67 of the prohibition of the operation of the stop circuit. The logical signal O from the output of the trigger 67 is fed to the input of the element And 73, prohibiting the passage of the stop signal according to the conditions connected to the second input of the element And 73. The clock signal 13 is fed to
5five
соединен с вторым входом элемента И 73. Выход элемента И 73 соединен с одним из входов элемента И 77, осуществл ющего управление синхрогенерато- ром рарабатываемого МПУ. Периодическим опросом блоков 61 и 63 устройства управл юща ЭВМ определ ет момент и причину останова выполнени микропрограммы . ЭВМ подтверждает останов прогона переключением уровн сигнала 79. Блок 61 служит дл передачи по стане 28 данных информации из устройства в управл ющую ЭВМ. Блок 64 обеспечивает считывание микропрограммного адреса в блок ЭВМ. Дешифратор 65 вл етс распределителем стробирующих импульсов записи и чтени . На информационные входы 29 дешифратора 65is connected to the second input of the element And 73. The output of the element And 73 is connected to one of the inputs of the element And 77, which manages the sync generator of the developed MPU. Periodic polling of the blocks 61 and 63 of the control computer device determines the moment and the reason for the stop of the microprogram execution. The computer confirms the stop of the run by switching the signal level 79. Block 61 is used to transfer information from the device to the control computer over the mill 28. Block 64 provides the reading of the firmware address in the computer unit. The decoder 65 is a distributor of read and write gating pulses. On the information inputs 29 decoder 65
второй вход триггера 67 и устанавлива-, поступает адрес и з блока 2 сопр жеет триггер 67 в состо ние логической 1, разреша работу схем останова по услови м. Функци останова по заданному адресу обеспечиваетс схемой 69 сравнени , перва группа входов кото- 25 рого подключена к регистру 62, где указан адрес останова, а втора группа входов подключена к шине 15, на которую поступает микропрограммный адрес. Сигнал разрешени /запрещени останова зо прогона по схеме сравнени поступает на первый вход элемента 75. Если данный , сигнал установлен в логическую 1, то элемент И 75 пропускает t-игна ,the second input of the trigger 67 and set-, the address enters and block 3 connects the trigger 67 to the state of logical 1, allowing the operation of the stop circuit under conditions. The stop function at the specified address is provided by the comparison circuit 69, the first group of inputs of which is connected 25 register 62, where the stop address is specified, and the second group of inputs is connected to bus 15, to which the firmware address is received. The enable / disable signal for stopping a run through the comparison scheme is fed to the first input of element 75. If this signal is set to logical 1, then element 75 passes the t-needle,
ни с блоком 1 ЭВМ, а на управл ющий вход дешифратора 65 поступает сигнал записи или чтени из блока 2. Дешифратор 65 вырабатывает сигналы: 33 - записи в регистр 3 адреса, 35 - запи си в блок 7 пам ти преобразовани адреса, 38 - записи в блок 9 пам ти начальны адресов, 39 - чтени из блока 6 ОЗУ трассы.neither with the computer unit 1, but the control input of the decoder 65 receives a write or read signal from block 2. The decoder 65 produces signals: 33 - writes to the 3 address register, 35 - writes to the 7 address conversion memory, 38 - records in memory block 9, the initial addresses, 39 - readings from block 6 of the route RAM.
Выходы 34, 36 и 37 регистра 62 управлени служат дл переключени мультиплексоров 5, 8 и 10, обеспечивающих передачу адресов дл блока 7 пам ти преобразовани адреса, блока 1 пам ти микропрограмм и блока 9 пам ти начальных адресов микропрограмм .The outputs 34, 36 and 37 of control register 62 are used to switch multiplexers 5, 8 and 10, which provide the transmission of addresses for address conversion memory unit 7, microprogram memory unit 1 and initial firmware address memory unit 9.
останова со схемы 69 сравнени , з про тивном случае запрещает прохождение,from the comparison circuit 69, otherwise it prohibits the passage,
Функци останова по количеству выполненных микроинструкций обеспечиваетс счетчиком 74, на вычитающий вход которого подан синхросигнал с разрабатываемого МПУ. Информационные входы счетчика 74 подключены к регистру 62 и обеспечивают установ начального состо ни счетчика.The stop function by the number of microinstructions performed is provided by a counter 74, to the subtracting input of which a clock signal is fed from the developed MPU. The information inputs of the counter 74 are connected to the register 62 and provide the setting of the initial state of the counter.
Блок 70 схем сравнени обеспечивает щий вход счетчика 76, уменьша адресThe comparison circuit unit 70 provides the input to the counter 76, reducing the address
останов выполнени микропрограммы по заданным уровн м сигналов. Перва и втора группы информационных входов схем сравнени блока 70 соединены с регистром 62, обеспечива фиксацию уровней срабатывани и сигналов разрешени срабатывани (маска). Треть группа входов подключена непосредственно к входам 14 физических сигналов (логических условий).halt the execution of the firmware for the specified signal levels. The first and second groups of information inputs of the comparison circuits of block 70 are connected to a register 62, ensuring the trigger levels and trigger enable signals (mask) are fixed. The third group of inputs is connected directly to the inputs of 14 physical signals (logical conditions).
Выходы схемы 69 сравнени , счетчика 74 количества выполненных микроинструкций и блока 70 подключены к входам элемента ИЛИ 78, выход которогоThe outputs of the comparison circuit 69, the counter 74 of the number of microinstructions performed and the block 70 are connected to the inputs of the element OR 78, the output of which
о about
5five
00
ни с блоком 1 ЭВМ, а на управл ющий вход дешифратора 65 поступает сигнал записи или чтени из блока 2. Дешифратор 65 вырабатывает сигналы: 33 - записи в регистр 3 адреса, 35 - записи в блок 7 пам ти преобразовани адреса, 38 - записи в блок 9 пам ти начальны адресов, 39 - чтени из блока 6 ОЗУ трассы.neither with the computer unit 1, but the control input of the decoder 65 receives a write or read signal from unit 2. The decoder 65 produces signals: 33 - writes to the 3 address register, 35 - writes to the 7 address conversion memory, 38 - writes to memory block 9 is the start of addresses, 39 is read from the track RAM block 6.
Выходы 34, 36 и 37 регистра 62 управлени служат дл переключени мультиплексоров 5, 8 и 10, обеспечивающих передачу адресов дл блока 7 пам ти преобразовани адреса, блока 1 пам ти микропрограмм и блока 9 пам ти начальных адресов микропрограмм .The outputs 34, 36 and 37 of control register 62 are used to switch multiplexers 5, 8 and 10, which provide the transmission of addresses for address conversion memory unit 7, microprogram memory unit 1 and initial firmware address memory unit 9.
Счетчик 76 вырабатывает адрес дл управлени блоком 6 пам ти трассы.Ча счетный вход счетчика через элемент ИЛИ 71 пода-н синхросигнал, увеличивающий адрес на единицу при выполнении каждой микроинструкции. Сигнал чтени блока 6 пам ти поступает на вычитаю0The counter 76 generates an address for controlling the trace memory block 6. A counter's counting input via an OR 71 clock signal increases the address by one during the execution of each microinstruction. The read signal of memory block 6 is fed to subtract 0
5five
после каждого считывани данных. С выхода дешифратора 65 вырабатываютс сигналы дл восстановлени содержимого счетчика 76 после считывани ОЗУ трассы.after each data read. From the output of the decoder 65, signals are generated to restore the contents of counter 76 after reading the trace RAM.
Режимы работы устройства (непрерывный или пошаговый, с прогоном с текущего или заданного адреса, с остановом по адресу или через определенное число иагов, с возможностью продолжени прогона или зацикливани части микропрограммы после останова) определ ютс различными комбинаци ми способов запуска и останова исполнени The modes of operation of the device (continuous or step-by-step, with a run from the current or a given address, with a stop at an address or after a certain number of times, with the possibility of continuing to run or looping part of the firmware after stopping) are determined by various combinations of methods of starting and stopping execution
9 1549,154
микропрограммы. Рассмотрим работу устройства при различных способах запуска и останова исполнени микропрограммы .firmware. Consider the operation of the device in various ways to start and stop the execution of the firmware.
При запуске микропрограммы с теку- щего микропрограммного адреса управл юща программа устанавливает соответствующий разр д управл ющего регистра 62, и сигнал 79 поступает на входы элемента И 77.Если остальные входы элемента И 77 наход тс в состо нии логической 1 (т.е. страница с текущим микропрограммным адресом загружена в блок 11, не заданы пошаго- вый режим исполнени микроинструкций останов по услови м), то сигнал с выхода элемента И 77, поступающий на входы управлени синхрогенератора отлаживаемого Т1ПУ, разрешает его работу. Процессор МПУ начинает исполн ть микроинструкции . Старшие разр ды микропрограммного адреса (с K+1-ro по Ы-й), определ ющие номер виртуальной страницы , через мультиплексор 5 поступают на адресные входы блока 7 пам ти преобразовани адреса. С выходов блока 7 считываетс номер соответствующей физической страницы и через мультиплексор 8 вместе с младшими разр да- ми (с 1-го по К-й) микропрограммного адреса, обеспечивающими адресацию внутри страницы, подаютс на адресные входы блока 11. Если страница, к которой идет обращение, загружена в блок 11, то с блока 7 на входы элементов 4 блока 12 поступает сигнал 44, разрешающий прохождение микроинструкции на исполнение в отлаживаемое МПУ.When the firmware is started from the current firmware address, the control program sets the corresponding control register bit 62, and the signal 79 is fed to the inputs of the And 77 cell. If the remaining inputs of the And 77 cell are in the logical 1 state (i.e. with the current firmware address loaded into block 11, the step-by-step execution of microinstructions stop is not set according to the conditions), then the signal from the output of element I 77 arriving at the control inputs of the clock generator of the T1PU being debugged allows it to work. The MPU processor starts to execute micro-instructions. The higher bits of the firmware address (from K + 1-ro to YY), which determine the virtual page number, through multiplexer 5 arrive at the address inputs of the address conversion memory unit 7. From the outputs of block 7, the number of the corresponding physical page is read out and, through multiplexer 8, together with the lower bits (1 to K) of the firmware address providing addressing inside the page, are fed to the address inputs of block 11. If the page to which is addressed, loaded into block 11, then from block 7 to the inputs of elements 4 of block 12, a signal 44 is received, allowing the micro-instruction to be passed to the execution in the debugged MPU.
Если в ходе выполнени микропро- граммы возникает обращение к странице , размещенной в ПЗУ и МПУ, то по сигналу 44 с выхода блока 7, поступающему на входы блока 12, выходы блока 1 2 перевод тс в высокоимпедансное состо ние, т.е. запрещаетс прохождение микроинструкции из блока 11 в отлаживаемое МПУ, а в отлаживаемое МПУ поступает сигнал 17 разрешени работы ПЗУ, и процессор отлаживаемого МПУ исполн ет микроинструкции, размещенные в ПЗУ отлаживаемого МПУ.If during the execution of a microprogram, a page appears in the ROM and MPU, then the signal 44 from the output of block 7, which enters the inputs of block 12, the outputs of block 1 2 are switched to a high-impedance state, i.e. microinstructions are not allowed to pass from block 11 to the debugged MPU, while the debugging MPU receives the signal 17 for enabling the ROM, and the processor of the debugged MPU executes microinstructions placed in the ROM of the debugged MPU.
Если в ходе выполнени микропрограммы возникает обращение к запрещенной странице, то с выхода блока 7 сиг.- нал 45 останова прогона микропрограммы поступает на элемент И 77, сигнал с выхода которого запрещает работу синхронизатора отлаживаемого МПУ. ОдноIf during the execution of the firmware a reversal to the forbidden page occurs, then from the output of the block 7, the signal 45 to stop the microprogram run arrives at the element AND 77, the signal from the output of which prohibits the synchronizer of the debugging MPU. One thing
5 0 50
« 0 “0
с with
5five
17101710
временно сигнал 45 через блок 2 сопр жени поступает в ЭВМ 1 и устанавливает запрос 26 на прерывание обработки останова. Программа обработки прерывани указывает оператору на обращение к запрещенной странице пам ти.temporarily, the signal 45 through the interface 2 enters the computer 1 and establishes a request 26 to interrupt the stop processing. The interrupt service program instructs the operator to access a banned memory page.
Если в ходе выполнени микропрограммы возникает обращение к незагруженной странице, то с выхода блока 7 сигнал 45 останова прогона микропрограммы поступает на элемент И 77, сигнал с выхода которого запрещает работу синхронизатора отлаживаемого МПУ. Одновременно сигнал 45 через блок 2 сопр жени поступает в ЭВМ и устанавливает запрос на прерывание обработки останова. Программа обработки прерывани снимает сигнал 79, запреща дальнейшее выполнение микропрограммы , провер ет причину останова, определ ет кака из физических страниц в данный момент не загружена или если такой нет, то среды загруженных нерезидентных страниц пам ти определ етс наименее используема страница , вычисл етс ее физический адрес и загрузка проводитс на место наименее используемой страницы. Програм- ма обработки прерывани осуществл ет загрузку микропрограммы побайтно. Адрес байта подаетс через блок 2 сопр жени с ЭВМ в регистр 3 адреса и записываетс в нем по сигналу 33, поступающему с распределител стро- бирующих импульсов записи дешифратора 65. Далее этот адрес поступает на адресные входы блока 11 через мультиплексор 8 адреса при наличии на управл ющем входе 36 мультиплексора сигнала с выхода управл ющего регистра 62, в котором программой обработки прерывани устанавливаетс соответствующий разр д. Запись байта микроконструкции , поступающего по двунаправленной шине 28 данных блока 2 сопр жени с ЭВМ на входы данных блока 11, лроводитс по сигналу записи, поступающему с управл ющего выхода блока 2 сопр жени .If during the execution of the firmware a page appears to be loaded, then from the output of block 7 the signal 45 stops the firmware run to the element 77, the signal from the output of which prohibits the operation of the synchronizer of the MPU being debugged. At the same time, the signal 45 through the interface 2 enters the computer and establishes a request to interrupt the stop processing. The interrupt processing program removes the signal 79, prohibiting further firmware execution, checks the cause of the shutdown, determines which of the physical pages is not currently loaded, or if there is none, the least used page is determined by the environment of the non-resident memory pages, its physical value is calculated the address and download are in place of the least used page. The interrupt service program downloads the firmware byte-by-byte. The byte address is fed through computer interface unit 2 to address register 3 and is recorded therein by a signal 33 received from the distributor of the write pulses of the decoder 65. This address then goes to the address inputs of the unit 11 via the multiplexer 8 address A multiplexer input 36 of the output signal of the control register 62, in which the interrupt processing program sets the corresponding bit. A microstructure byte record arriving over a bi-directional data bus 28 of the computer interface unit 2 The data inputs of block 11 are transmitted via a recording signal from the control output of block 2.
Далее программа обработки прерывани производит коррекцию статуса страниц в блоке 7 пам ти преобразовани адреса: удаленна страница отмечаетс незагруженной, а дл вновь загруженной указываетс физический адрес. Коррекци статуса страниц осуществл етс по сигналу 35 записи в блок 7, поступающему с дешифратора 65. ЗаписьNext, the interrupt service program corrects the status of the pages in the address translation memory block 7: the deleted page is marked unloaded, and the physical address is indicated for the newly loaded page. The status of the pages is corrected by the write signal 35 in block 7, coming from the decoder 65.
нового статуса соответствующей страницы , поступающего по шине 28 данных блока 2 сопр жени с ЭВМ на входы данных блока 7, производитс по адресу, установленному в регистре 3 адреса и переданному через мультиплексор 5 на адресные входы блока 7.The new status of the corresponding page arriving via the data bus 28 of the computer interface 2 to the data inputs of block 7 is performed at the address set in the address register 3 and transmitted through multiplexer 5 to the address inputs of block 7.
После этого программа обработки прерывани устанавливает соответствующий разр д в регистре 62 и с помощью сигнала 34 переключает мультиплексор 5, при этом на адресные входы блока 7 вновь поступает адрес новой страницы . Поскольку соответствующий бит в статусе этой страницы сброшен, то сигнал 45 снимаетс . Установ сигнала 79 приводит к включению синхрогенера- тора и продолжению выполнени микропрограммы .After this, the interrupt processing program sets the corresponding bit in the register 62 and switches the multiplexer 5 with the help of the signal 34, while the address of the new page is sent to the address inputs of the block 7. Since the corresponding bit in the status of this page is cleared, the signal 45 is removed. Setting the signal 79 leads to the start of the synchro-generator and the continuation of the firmware.
Работа устройства при запуске микропрограммы с заданного адреса происходит аналогично работе при запуске с текущего адреса за исключением того что предварительно выполн етс инструкци безусловного перехода, записанна в блоке 11. Управл юща программа записывает в микроинструкцию безусловного перехода заданный стартовый адрес, устанавливает в регистре 3 адрес микроинструкции безусловного перехода, переключает мультиплексор 8 на передачу адреса из регистра 3 па адресные входы блока 11э затем пзрезс дит эмул тор в пошаговый режим и выполн ет одну микроинструкциго. Дальнейшее выполнение микропрограммы происходит как при запуске с текущего адреса.The operation of the device at the start of the firmware from the specified address is similar to the operation at the start from the current address, except that the unconditional jump instruction written in block 11 is preliminarily executed. The control program records the specified start address in the microconstruction of the unconditional jump, sets the address of the microinstruction in register 3 unconditional transition, switches multiplexer 8 to transfer the address from register 3 to the PA address inputs of block 11e, then the emulator goes to step mode and Execute a one mikroinstruktsigo. Further execution of the firmware occurs as when starting from the current address.
При пошаговом режиме работы устройства управл юща программа устанавливает в регистре 62 соответствующий бит, и по фронту сигнала 79 с выхода регистра 62 устанавливаетс триггер t 72. Сигнал 79 и сигнал разрешени с выхода триггера 72 поступают на входы элемента И 77, разреша работу син- хрогенератора МПУ.In the step-by-step mode of operation of the device, the control program sets the corresponding bit in register 62, and the trigger t 72 is set on the front of the signal 79 from the output of the register 62. The signal 79 and the enable signal from the output of the trigger 72 arrive at the inputs of the And 77 element, enabling the synchro generator MPU.
С генератора МПУ синхросигнал 13 поступает на вход элемента И 66. Сиг- нал, поступающий с выхода регистра 62 на первый вход элемента И 66 и управл ющий разрешением-запрещением пошагового режима работы эмул тора, устанавливаетс управл ющей программой в состо ние логической I, и элемент И 66 пропускает синхросигнал 13 на вхоц триггера 72, устанавлива триггер 72 в состо ние запрета рабоFrom the generator of the MPU, the clock signal 13 is fed to the input of the element AND 66. The signal coming from the output of the register 62 to the first input of the element AND 66 and controlling the resolution-prohibition of the step-by-step operation of the emulator is set by the control program to the state of logic I, and Element And 66 skips the sync signal 13 to the trigger trigger 72, setting the trigger 72 to the disabled state.
00
5five
00
5five
00
5five
00
5five
ты синхрогенератора МПУ. Сигнал с выхода триггера 72 поступает на вход элемента И 77 и останавливает выполнение микропрограммы. Если пошаговый режим не задан, т.е. сигнал с п того выхода регистра 62 запрещает прохождение синхросигнала на вход триггера 72 через элемент И 66, пошагового останова при выполнении микропрограммы не происходит.you're a sync generator. The signal from the output of the trigger 72 is fed to the input element And 77 and stops the execution of the firmware. If the step mode is not set, i.e. the signal from the fifth output of the register 62 prohibits the passage of the sync signal to the input of the trigger 72 through the element 66, a step-by-step stop does not occur when the microprogram is executed.
В данной схеме управлени реализованы функции останова выполнени микропрограммы по заданному адресу, количеству выполненных микроинструкций, по физическим сигналам с отлаживаемого МПУ.This control scheme implements the functions of stopping the execution of the firmware at a given address, the number of executed microinstructions, and the physical signals from the debugged MPU.
Дл выполнени первого шага запрещаетс работа схем останова по услови м до по влени первого синхросигнала . Сигнал 79 ратпешени выполнени микропрограммы фронтом устанавливает триггер 67 в состо ние запрета рабо ы схем останова. Сигнал с выхода триггера 67 поступает на вход элемента И 73, запреща прохождение сигнала останова по услови м подключенного к второму входу элемента И 73. Синхросигнал 13 поступает на второй вход триггера 67 и устанавливает его в состо ние логической единицы, разреша элементу И 73 пропускать сигнал останова по услови м с выхода элемента ИЛИ 78 на вход элемента И 77.To perform the first step, the operation of the stop circuitry is prohibited according to the conditions before the occurrence of the first clock signal. The firmware execution signal 79 by the front sets trigger 67 to disable the stop circuit operation. The signal from the output of the trigger 67 is fed to the input of the element And 73, prohibiting the passage of a stop signal according to the conditions of the element 73 connected to the second input of the element 73. The clock signal 13 is fed to the second input of the trigger 67 and sets it to the state of the logical unit, allowing the element And 73 to pass the signal stop conditional on the output of the element OR 78 to the input element AND 77.
Если задан останов по заданному адресу, то в регистр 62 перед началом исполнени микропрограммы записываетс заданный адрес останова и устанавливаетс разр д, сигнал с выхода которого разрешает прохождение сигнала с выхода схемы 69 сравнени через элемент И 75. Если в процессе исполнени микропрограммы установлено, что адрес останова, заданный в регистре 63, совпал с микропрограммным адресом, поступающим по шине 15 из отлаживаемого МПУ, то сигнал с выхода компаратора 69 через открытые элементы И 75, ИЛИ 78 и И 73 поступает на вход элемента И 77, сигнал с выхода которого отключает синхрогенератор МПУ.If a stop at a given address is set, then register 62 before starting the firmware is recorded the specified stop address and a bit is set, the signal from the output of which allows the signal from the output of the comparison circuit 69 to pass through the AND 75 element. If during the execution of the firmware it is determined that stop, set in register 63, coincided with the firmware address received via bus 15 from the MPU being debugged, the signal from the output of the comparator 69 through the open elements AND 75, OR 78 and AND 73 enters the input element And 77, si cash output which disables the clock of MPU.
Если задан останов по количеству выполненных микроинструкций, то в счетчик 74 перед началом исполнени микропрограммы через регистр 62 записываетс заданное число микроинструкций . В процессе исполнени микропрограммы по каждому тактовому сигна13If the stop is set according to the number of microinstructions performed, then before the start of the firmware execution, the register 62 records the specified number of microinstructions to the counter 74. During the execution of the firmware for each clock signal13
лу 13, поступающему с отлаживаемого МПУ на вычитающий вход счетчика 74, из заданного числа вычитаетс единица . Когда содержимое счетчика установитс равным нулю, то сигнал с выхода счетчика 74 через открытые элементы ИЛИ 78 и И 73 поступает на вхо элемента И 77, сигнал с выхода которого отключает синхрогенератор МПУ.At 13, coming from the debugging MFD to the subtracting input of the counter 74, one is subtracted from the specified number. When the contents of the counter are set equal to zero, the signal from the output of the counter 74 through the open elements OR 78 and AND 73 goes to the input of the element AND 77, the signal from the output of which turns off the MPC synchronous generator.
Если задан останов по физическому сигналу, то перед началом исполнени микропрограммы в регистр 62 записываетс логический уровень сигнала, п которому должен произойти останов, и устанавливаетс разр д, сигнал с выхода которого разрешает работу одной из схем сравнени блока 70. Если в процессе исполнени микропрограммыIf a stop by a physical signal is set, then before starting the firmware execution, register 62 records the logical level of the signal to be stopped, and sets the bit, the signal from the output of which allows one of the comparison circuits of block 70 to operate.
блоком 70 установлено, что логический 20 ходами устройства отладки, вторые ин- уровень сигнала, заданный в регистре формационные входы которого соедине- 62, совпадает с уровнем физического ны с информационными входами блока па- сигнала 14, поступающего из отлаживав- м ти трассы, с первыми входами элеменмого МПУ, то сигнал с выходов блока 70 через открытые элементы ИЛИ 78 и И 73 поступает на вход элемента И 77, сигнал с выхода которого отключает синхрогенератор МПУ.block 70 establishes that the logical 20 strokes of the debugging device, the second signal level specified in the formation inputs of the register which connects to the 62, coincides with the physical level with the information inputs of the signal unit 14 coming from the debugging route, the first inputs of the element MPU, the signal from the outputs of block 70 through the open elements OR 78 and AND 73 enters the input element And 77, the signal from the output of which disables the synchronous generator of the MPU.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU884423217A SU1541617A1 (en) | 1988-05-10 | 1988-05-10 | Device for debugging microprogram units |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU884423217A SU1541617A1 (en) | 1988-05-10 | 1988-05-10 | Device for debugging microprogram units |
Publications (1)
Publication Number | Publication Date |
---|---|
SU1541617A1 true SU1541617A1 (en) | 1990-02-07 |
Family
ID=21374056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SU884423217A SU1541617A1 (en) | 1988-05-10 | 1988-05-10 | Device for debugging microprogram units |
Country Status (1)
Country | Link |
---|---|
SU (1) | SU1541617A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2473115C2 (en) * | 2007-09-14 | 2013-01-20 | Эрбюс Операсьон | Method for automatic generation of scenario for validation of functional software installed on-board aircraft, and apparatus for implementing said method |
-
1988
- 1988-05-10 SU SU884423217A patent/SU1541617A1/en active
Non-Patent Citations (1)
Title |
---|
Микропроцессоры: системы программировани и отладки. Под редакцией В.А.М сникова, М.: ЭнергоатомИздат, 1985, с. 217. Система автоматизированного проектировани микропроцессорных устройств МЕТАМИКРО, НТК АН БССР, Минск, 1985, с. 9, 28-30. * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2473115C2 (en) * | 2007-09-14 | 2013-01-20 | Эрбюс Операсьон | Method for automatic generation of scenario for validation of functional software installed on-board aircraft, and apparatus for implementing said method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0391173B1 (en) | Debug peripheral for microcomputers, microprocessors and core processor integrated circuits and system using the same | |
EP0655684B1 (en) | Branch decision encoding scheme | |
EP0528585B1 (en) | Data processing system with internal instruction cache | |
US4084235A (en) | Emulation apparatus | |
US5564041A (en) | Microprocessor for inserting a bus cycle in an instruction set to output an internal information for an emulation | |
US4633417A (en) | Emulator for non-fixed instruction set VLSI devices | |
US6094729A (en) | Debug interface including a compact trace record storage | |
JP2731692B2 (en) | Debug device | |
US5289587A (en) | Apparatus for and method of providing the program counter of a microprocessor external to the device | |
JPH09218802A (en) | Data processor | |
JPH09218803A (en) | Data processor | |
JPH09114697A (en) | Data processor | |
JPH09128265A (en) | Data-processing system | |
JP2816146B2 (en) | Circuit operation test equipment | |
JPH09218801A (en) | Data processor | |
US5129079A (en) | Computer system having subinstruction surveillance capability | |
JPS63193246A (en) | Method and apparatus for maintaining consistency between integrated cache memory and external memory | |
SU1541617A1 (en) | Device for debugging microprogram units | |
JP3339703B2 (en) | Multiplexed status and diagnostic pins in microprocessors with on-chip cache | |
EP0371418A2 (en) | Apparatus for and method of providing the program counter of a microprocessor external to the device | |
JPH08221293A (en) | Emulator device | |
EP0436211B1 (en) | Apparatus enabling observation of internal memory-mapped registers | |
SU886000A1 (en) | Device for interrupt processing | |
SU1425683A1 (en) | Device for debugging software/hardware blocks | |
SU1363223A1 (en) | Computer storage dispatcher |