KR19990042281A - Error Tracking Device for Software Module - Google Patents

Error Tracking Device for Software Module Download PDF

Info

Publication number
KR19990042281A
KR19990042281A KR1019970063045A KR19970063045A KR19990042281A KR 19990042281 A KR19990042281 A KR 19990042281A KR 1019970063045 A KR1019970063045 A KR 1019970063045A KR 19970063045 A KR19970063045 A KR 19970063045A KR 19990042281 A KR19990042281 A KR 19990042281A
Authority
KR
South Korea
Prior art keywords
data
address
comparator
central processing
processing unit
Prior art date
Application number
KR1019970063045A
Other languages
Korean (ko)
Inventor
송근효
Original Assignee
유기범
대우통신 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 유기범, 대우통신 주식회사 filed Critical 유기범
Priority to KR1019970063045A priority Critical patent/KR19990042281A/en
Publication of KR19990042281A publication Critical patent/KR19990042281A/en

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

본 발명은 소프트웨어 모듈의 에러를 중앙처리부(CPU)외부에서 추적할 수 있는 에러추적장치에 관한 것이다. 본 발명에 따른 에러추적장치는, 명령인가부를 통해 에러를 추적하고자 하는 어드레스 및/또는 데이터가 인가되면, 중앙처리부에 의해 제어되어 인가된 어드레스 정보는 저장하는 어드레스 레지스터; 중앙처리부에 의해 제어되어 인가된 데이터를 저장하는 데이터 레지스터; 중앙처리부가 정상적으로 동작되면서 발생되는 어드레스와 어드레스 레지스터에 저장된 어드레스를 비교하여 동일한 경우에만 비교결과를 출력하는 어드레스 비교기; 중앙처리부가 정상적으로 동작되면서 발생되는 데이터와 데이터 레지스터에 저장된 데이터를 비교하여 동일한 경우에만 비교결과를 출력하는 데이터 비교기; 어드레스 비교기 및 데이터 비교기로부터 출력되는 비교결과를 각각 카운트하고, 각각의 카운트값이 소정의 값에 도달하면 어드레스 비교기 및 데이터 비교기의 비교결과가 출력되도록 제어하는 비교결과 제어부; 어드레스 비교기 또는/ 및 데이터 비교기로부터 비교결과가 전송되면 소정의 인터럽트를 중앙처리부로 발생하는 인터럽트 처리기를 포함하도록 구성된다. 따라서 간단한 하드웨어구조로 온라인상태에서 정확하게 에러발생상태를 추적할 수 있다.The present invention relates to an error tracking device capable of tracking an error of a software module outside the central processing unit (CPU). The error tracking device according to the present invention comprises: an address register which stores the applied address information controlled by the central processing unit when an address and / or data to be tracked through the command application unit is applied; A data register for storing the data controlled by the central processing unit; An address comparator which compares an address generated while the central processing unit is normally operated with an address stored in the address register and outputs a comparison result only when the address is the same; A data comparator for comparing the data generated while the central processing unit is normally operated with the data stored in the data register and outputting a comparison result only when the same is the same; A comparison result control unit which counts the comparison results output from the address comparator and the data comparator, respectively, and outputs a comparison result of the address comparator and the data comparator when each count value reaches a predetermined value; And an interrupt processor for generating a predetermined interrupt to the central processing unit when the comparison result is transmitted from the address comparator or data comparator. Therefore, the simple hardware structure can accurately track the error occurrence status while online.

Description

소프트웨어 모듈에 대한 에러추적장치Error Tracking Device for Software Module

본 발명은 다양한 소프트웨어 모듈로 운영되는 전자기기에 관한 것으로, 특히, 전자기기에서 운영되는 소프트웨어 모듈의 에러발생시 온라인(On-Line)상태에서 정확하게 에러가 발생된 위치를 추적할 수 있는 에러추적장치에 관한 것이다.The present invention relates to an electronic device that is operated by various software modules, and more particularly, to an error tracking device that can accurately track the location of an error in an on-line state when an error occurs in the software module operated in the electronic device. It is about.

다양한 소프트웨어 모듈로 운영되는 전자기기가 운용도중 에러가 발생되면, 기존에는 소프트웨어적인 해법이나 고가의 게측장비를 이용하여 에러발생 상태를 추적하였다. 즉, 소프트웨어적인 해법의 예로는 메모리의 일정 영역에 브레이크 포인트(Breakpoint)를 걸어 예외(Exception)를 유발시키는 방법을 들수 있다. 즉, 에러가 발생되면, 운용자는 CPU(Central Processing Unit, 이하 CPU라고 약함)를 제어하여 소정의 OP(OPeration)코드를 예외가 걸리는 코드로 바꾼 후 프로그램을 수행시킨다. 그리고 프로그램 수행도중에 예외가 걸리는 코드가 수행되면, CPU는 정상적인 프로그램 수행을 정지하여 시스템을 오프라인(Off-line)상태로 설정한 뒤, 디버깅루틴으로 빠져 에러발생 상태를 추적하게 한다.When an electronic device operated by various software modules generates an error during operation, the error occurrence state was tracked by using a software solution or expensive measurement equipment. In other words, an example of a software solution is a method of causing an exception by placing a breakpoint in a certain area of memory. That is, when an error occurs, the operator controls the CPU (Central Processing Unit, hereinafter referred to as CPU) to replace the predetermined OP (OPeration) code with an exception code and execute the program. If a code that catches an exception is executed while the program is running, the CPU stops normal program execution, sets the system offline, and then goes to the debugging routine to track the error.

그러나 이러한 방법은 오프라인 상태에서 디버깅이 이루어지므로, 통신제어장비의 경우에는 디버깅처리시간동안 해당 가입자에 대한 통신서비스를 할 수 없다. 따라서 디버깅 처리시간이 장기화될 경우에는 심각한 사태가 발생될 수 있다. 또한, 소프트웨어 모듈의 오류로 브레이크 포인트에 대한 정보 자체가 메모리의 해당 영역에 수록되지 않을 수도 있고, 수록된 브레이크 포인트정보가 손상될 가능성도 있다.However, since this method is debugged in the offline state, the communication control equipment cannot provide the communication service to the subscriber during the debugging processing time. Therefore, a serious situation may occur when the debugging processing time is prolonged. In addition, due to an error in the software module, the information about the break point itself may not be stored in the corresponding region of the memory, or the recorded break point information may be damaged.

한편, 고가의 계측장비를 이용하는 방법은 상술한 바와 같은 오프라인상태로 인한 문제는 발생되지 않으나, 장비자체가 고가인데가 대체적으로 그 규모가 큰 관계로 에러가 발생된 기기측으로 계측장비를 이동시켜 디버깅처리를 하는데 있어서 현실적으로 많은 어려움이 따른다.On the other hand, the method using the expensive measuring equipment does not cause the problem caused by the offline state as described above, but the equipment itself is expensive, but because of its large scale, the measuring equipment is moved to the side where the error has occurred and debugging. There is a lot of difficulty in doing this.

본 발명은 상술한 문제점들을 개선하기 위하여 안출한 것으로서, 소프트웨어 모듈상에 에러발생시 온라인상태에서 발생된 에러의 위치를 정확하게 추적할 수 있는 소프트웨어 모듈에 대한 에러추적장치를 제공하는데 그 목적이 있다.An object of the present invention is to provide an error tracking device for a software module that can accurately track the location of an error generated in an online state when an error occurs on the software module.

본 발명의 다른 목적은 별도의 계측장비없이 간단한 하드웨어적인 구성으로 소프트웨어 모듈상에 발생된 에러의 위치를 정확하게 추적할 수 있는 소프트웨어 모듈에 대한 에러추적장치를 제공하는데 있다.Another object of the present invention is to provide an error tracking device for a software module that can accurately track the location of an error generated on a software module with a simple hardware configuration without a separate measuring device.

상기 목적들을 달성하기 위하여 본 발명에 따른 소프트웨어 모듈에 대한 에러추적장치는, 중앙처리부; 사용자가 중앙처리부에서 운영되는 소정의 소프트웨어 모듈에 대한 소정의 어드레스 및/또는 데이터에 대한 에러추적 명령을 중앙처리부로 인가할 수 있는 명령인가부; 중앙처리부로부터 출력되는 어드레스를 디코딩하여 칩선택신호를 출력하는 디코더; 디코더로부터 전송되는 칩선택신호에 의해 구동되어 데이터버스를 통해 중앙처리부로부터 전송되는 소정의 어드레스를 저장하는 어드레스 레지스터; 디코더로부터 전송되는 칩선택신호에 의해 구동되어 데이터버스를 통해 중앙처리부로부터 전송되는 소정의 데이터를 저장하는 데이터 레지스터; 중앙처리부가 운영중 발생되는 어드레스와 어드레스 레지스터로부터 제공되는 어드레스가 동일할 때마다 비교결과신호를 출력하는 어드레스 비교기; 중앙처리부가 운영중 발생되는 데이터와 데이터 레지스터로부터 제공되는 데이터가 동일할 때마다 비교결과신호를 출력하는 데이터 비교기; 어드레스 비교기 또는/및 데이터 비교기로부터 비교결과신호가 전송되면 중앙처리부로 소정의 인터럽트신호를 발생하는 인터럽트 처리기; 어드레스 비교기 및 데이터 비교기로부터 비교결과신호의 발생 횟수가 소정수에 도달하면, 어드레스 비교기 및 데이터 비교기의 비교결과가 인터럽트 처리기로 전송될 수 있도록 제어하는 비교결과 제어부; 및 디코더로부터 전송되는 칩선택신호에 의해 구동되어 데이터버스를 통해 전송되는 어드레스 비교기, 데이터 비교기 및 인터럽트 처리기의 인에이블 제어신호를 저장하였다가 제공하는 제어레지스터를 포함하는 것을 특징으로 한다.In order to achieve the above objects, an error tracking device for a software module according to the present invention includes a central processing unit; A command applier which allows a user to apply an error tracking command for a predetermined address and / or data for a predetermined software module operated in the central processing unit to the central processing unit; A decoder for decoding the address output from the central processing unit and outputting a chip select signal; An address register which is driven by a chip select signal transmitted from the decoder and stores a predetermined address transmitted from the central processing unit via the data bus; A data register which is driven by a chip select signal transmitted from the decoder and stores predetermined data transmitted from the central processing unit via the data bus; An address comparator for outputting a comparison result signal whenever the address generated during operation of the central processing unit and the address provided from the address register are the same; A data comparator for outputting a comparison result signal whenever the data generated during operation of the central processing unit and the data provided from the data register are the same; An interrupt processor for generating a predetermined interrupt signal to the central processing unit when the comparison result signal is transmitted from the address comparator and / or the data comparator; A comparison result control unit for controlling the comparison result of the address comparator and the data comparator to be transmitted to the interrupt processor when the number of occurrences of the comparison result signal from the address comparator and the data comparator reaches a predetermined number; And a control register that stores and provides an enable control signal of an address comparator, a data comparator, and an interrupt processor driven by a chip select signal transmitted from a decoder and transmitted through a data bus.

도 1은 본 발명에 따른 소프트웨어 모듈에 대한 에러추적장치이다.1 is an error tracking device for a software module according to the present invention.

<도면의 주요부분에 대한 부호의 설명><Description of Symbols for Main Parts of Drawings>

102:명령인가부 104:중앙처리부(Central Processing Unit)102: command issuing unit 104: Central Processing Unit

106:디코더 108:제어 레지스터106: decoder 108: control register

110:어드레스 레지스터 112:데이터 레지스터110: address register 112: data register

114:어드레스 비교기 116:데이터 비교기114: address comparator 116: data comparator

118:비교결과 제어부 120:인터럽트 처리기118: comparison result control unit 120: interrupt handler

122:출력부122: output unit

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세하게 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 소프트웨어 모듈에 대한 에러추적장치의 블록도로서, 사용자가 원하는 명령을 인가할 수 있는 명령인가부(102), 명령인가부(102)로부터 인가된 명령에 따라 해당 시스템을 운영하는 중앙처리부(Central Processing Unit, 이하 CPU라고 약함)(104), CPU(104)로부터 출력되는 어드레스를 디코딩하여 해당되는 칩에 대한 선택신호(Chip Select:CS)를 출력하는 디코더(106), 디코더(106)으로부터 전송되는 칩선택신호(CS)에 의해 구동되어 CPU(104)로부터 데이터버스를 통해 전송되는 제어신호를 저장하였다 출력하는 제어 레지스터(Control Register)(108), 디코더(106)로부터 전송되는 칩선택신호(CS)에 의해 구동되어 CPU(104)로부터 데이터버스를 통해 전송되는 어드레스를 저장하였다가 출력하는 어드레스 레지스터(110), 디코더(106)로부터 전송되는 칩선택신호(CS)에 의해 구동되어 CPU(104)로부터 데이터버스를 통해 전송되는 데이터를 저장하였다가 출력하는 데이터 레지스터(112), 제어 레지스터(108)로부터 전송되는 인에이블제어신호(ASEN*)에 의해 제어되어 데이터버스를 통해 CPU(104)로부터 전송되는 어드레스신호와 어드레스 레지스터(110)로부터 전송되는 어드레스를 비교하는 어드레스 비교기(114), 제어 레지스터(108)로부터 전송되는 인에이블제어신호(DSEN*)에 의해 제어되어 데이터버스를 통해 CPU(104)로부터 전송되는 데이터와 데이터 레지스터(112)로부터 전송되는 데이터를 비교하는 데이터 비교기(116), 디코더(106)로부터 전송되는 칩선택신호(CS)에 의해 제어되어 어드레스 비교기(114)에서 출력되는 신호와 데이터 비교기(116)에서 출력되는 신호에 따라 비교결과에 따른 동작을 수행하기 위한 제어신호를 어드레스 비교기(114) 및 데이터 비교기(116)로 각각 전송하는 비교결과 제어부(118), 어드레스 비교기(114) 또는/ 및 데이터 비교기(116)로부터 비교결과가 전송되면 NMI(Non-Maskable Interrupt)*정보를 CPU(104)로 전송하는 인터럽트 처리기(120), 및 CPU(104)로부터 출력되는 에러발생 내역을 출력하는 출력부(122)로 구성된다.1 is a block diagram of an error tracking device for a software module according to the present invention, in which a system is applied according to a command authorized from a command applier 102 and a command applier 102 capable of approving a desired command. An operating central processing unit (hereinafter referred to as CPU) 104, a decoder 106 which decodes an address output from the CPU 104 and outputs a select signal (CS) for a corresponding chip; From the control register 108 and the decoder 106 which are driven by the chip select signal CS transmitted from the decoder 106 and store and output the control signal transmitted via the data bus from the CPU 104. To the chip select signal CS transmitted from the decoder 106 and the address register 110 to store and output the address transmitted from the CPU 104 via the data bus driven by the chip select signal CS transmitted. of Is controlled by an enable control signal (ASEN *) transmitted from the data register 112 and the control register 108 to store and output data transmitted from the CPU 104 via the data bus. The data is controlled by the address comparator 114 comparing the address signal transmitted from the CPU 104 and the address transmitted from the address register 110, and the enable control signal DSEN * transmitted from the control register 108. The data comparator 116 compares the data transmitted from the CPU 104 and the data transmitted from the data register 112 via the bus, and is controlled by the chip select signal CS transmitted from the decoder 106 to control the address comparator ( Address comparison of a control signal for performing an operation according to the comparison result according to the signal output from the 114 and the signal output from the data comparator 116 Non-maskable interrupt (NMI) information when the comparison result is transmitted from the comparison result control unit 118, the address comparator 114, and / or the data comparator 116, respectively. An interrupt processor 120 for transmitting to the CPU 104, and an output unit 122 for outputting the error occurrence details output from the CPU (104).

이와 같이 구성된 에러추적장치는 다음과 같이 동작된다.The error tracking device configured as described above is operated as follows.

우선, 명령인가부(102)로부터 에러체킹을 원하는 부분의 어드레스정보가 인가되면, CPU(104)는 디코더(106)를 통해 어드레스 레지스터(110)가 소정의 어드레스 정보를 기록할 수 있는 상태로 설정되도록 칩선택신호(CS)를 제공한다. 그리고 데이터버스(D0~D31)를 통해 어드레스 레지스터(110)로 사용자가 인가한 어드레스정보를 전송한다. 이에 따라 어드레스 레지스터(110)에는 사용자가 지정한 어드레스가 저장된다.First, when the address information of the part to which error checking is desired from the command application unit 102 is applied, the CPU 104 sets the state where the address register 110 can write predetermined address information through the decoder 106. The chip select signal CS is provided. Then, the address information applied by the user is transmitted to the address register 110 through the data buses D0 to D31. Accordingly, the address designated by the user is stored in the address register 110.

그 다음 CPU(104)는 정상적으로 동작하면서 발생되는 어드레스는 어드레스버스(A0~A31)를 통해 어드레스 비교기(114)로 전송한다. 이 때 CPU(104)는 동작시 발생되는 어드레스가 어드레스 비교기(114)로 전송되는 시점과 어드레스 레지스터(110)에 저장된 어드레스가 어드레스 비교기(114)로 전송되는 시점이 동일하도록 동기제어를 한다.The CPU 104 then transmits the address generated while operating normally to the address comparator 114 via the address buses A0 to A31. At this time, the CPU 104 performs synchronous control such that a time point at which an address generated during operation is transmitted to the address comparator 114 and a time point at which an address stored in the address register 110 are transmitted to the address comparator 114 are the same.

어드레스 비교기(114)는 CPU(104)로부터 전송되는 어드레스(A0~A31)와 어드레스 레지스터(110)로부터 전송되는 어드레스(LA0~LA31)를 비교하고, 동일한 값을 가질 때마다 비교결과신호(AMatch*)를 출력한다. 이 때 출력되는 비교결과신호는 비교결과 제어부(118)로 전송된다. 비교결과 제어부(118)는 비교결과신호가 인가될 때마다 1씩 카운트를 한다. 이를 위하여 비교결과 제어부(118)는 어드레스에 대한 비교결과신호가 인가될 때마다 1씩 카운트를 수행하는 어드레스 카운터(미도시됨)를 포함하도록 구성된다.The address comparator 114 compares the addresses A0 to A31 transmitted from the CPU 104 and the addresses LA0 to LA31 transmitted from the address register 110, and compares the comparison result signal AMatch * whenever they have the same value. ) The comparison result signal output at this time is transmitted to the comparison result controller 118. The comparison result control unit 118 counts one by one whenever the comparison result signal is applied. To this end, the comparison result control unit 118 is configured to include an address counter (not shown) which counts by one each time a comparison result signal for the address is applied.

이 어드레스용 카운터(미도시됨)는 데이터버스(D0~D31)를 통해 CPU(104)로부터 제공된 값을 최대 카운트값으로 설정하여 동작된다. 따라서 어드레스 비교기(114)로부터 전송된 비교결과신호가 상술한 최대 카운트값에 도달할 때까지 미도시된 어드레스용 카운터는 카운팅을 수행한다. 카운팅 결과값이 상술한 최대 카운트값에 도달하면, 비교결과 제어부(118)는 어드레스 비교기(114)의 비교결과신호가 인터럽트 처리기(120)로 전송되도록 어드레스 비교기(114)를 제어하는 신호(ACF(Add Count Full)*)를 출력한다.This address counter (not shown) operates by setting the value provided from the CPU 104 via the data buses D0 to D31 to the maximum count value. Therefore, the counter for the address not shown performs counting until the comparison result signal transmitted from the address comparator 114 reaches the above-described maximum count value. When the counting result reaches the above-mentioned maximum count value, the comparison result control unit 118 controls the signal comparator 114 to control the address comparator 114 so that the comparison result signal of the address comparator 114 is transmitted to the interrupt processor 120. Add Count Full) *).

어드레스 비교기(114)로부터 비교결과신호가 전송되면, 인터럽트 처리기(120)는 NMI정보를 CPU(104)로 전송하고, CPU(104)는 해당 어드레스에 대한 추적내역을 출력부(122)로 출력한다. 이 때 출력되는 추적내역은 CPU(104)가 정상적인 동작을 하는데 있어서, 해당 어드레스가 설정된 개수만큼 발생되는데 소요된 시간과 같은 정보들이 포함된다. 이에 따라 운용자는 출력된 정보를 파악하여 해당 어드레스에 대한 에러발생상황을 파악할 수 있게 된다.When the comparison result signal is transmitted from the address comparator 114, the interrupt processor 120 transmits the NMI information to the CPU 104, and the CPU 104 outputs the trace for the corresponding address to the output unit 122. . At this time, the trace history output includes information such as the time taken for the CPU 104 to generate a predetermined number in the normal operation. Accordingly, the operator can grasp the outputted information to determine an error occurrence state for the corresponding address.

한편, 명령인가부(102)로부터 에러체킹을 원하는 부분의 데이터가 인가되면, CPU(104)는 디코더(106)를 통해 데이터 레지스터(112)가 소정의 데이터를 기록할 수 있는 상태로 설정되도록 칩선택신호(CS)를 제공한다. 그리고 데이터버스(D0~D31)를 통해 데이터 레지스터(112)로 사용자가 인가한 데이터를 전송한다. 이에 따라 데이터 레지스터(112)에는 사용자가 지정한 데이터가 저장된다.On the other hand, when the data of the part desired to error check is applied from the command application unit 102, the CPU 104 is set so that the data register 112 is set in a state in which the data register 112 can write predetermined data through the decoder 106. Provide the selection signal CS. The data applied by the user is transferred to the data register 112 through the data buses D0 to D31. Accordingly, the data designated by the user is stored in the data register 112.

그 다음 CPU(104)는 정상적으로 동작하면서 발생되는 데이터는 데이터버스(D0~D31)를 통해 데이터 비교기(114)로 전송한다. 이 때 CPU(104)는 동작시 발생되는 데이터가 데이터 비교기(116)로 전송되는 시점과 데이터 레지스터(112)에 저장된 데이터가 데이터 비교기(116)로 전송되는 시점이 동일하도록 동기제어를 한다.The CPU 104 then transmits the data generated while operating normally to the data comparator 114 via the data buses D0 to D31. At this time, the CPU 104 performs synchronous control such that a time point at which data generated during operation is transmitted to the data comparator 116 and a time point at which data stored in the data register 112 are transmitted to the data comparator 116 are the same.

데이터 비교기(116)는 CPU(104)로부터 전송되는 데이터와 데이터 레지스터(112)로부터 전송되는 데이터를 비교하고, 동일한 값을 가질 때마다 비교결과신호를 출력한다. 이 때 출력되는 비교결과신호는 비교결과 제어부(118)로 전송된다. 비교결과 제어부(118)는 비교결과신호가 인가될 때마다 상술한 어드레스와 같이 1씩 카운트를 한다. 이를 위하여 비교결과 제어부(118)는 데이터에 대한 비교결과신호가 인가될 때마다 1씩 카운트를 수행하는 데이터용 카운터(미도시됨)를 더 포함하도록 구성된다.The data comparator 116 compares the data transmitted from the CPU 104 with the data transmitted from the data register 112, and outputs a comparison result signal whenever it has the same value. The comparison result signal output at this time is transmitted to the comparison result controller 118. The comparison result control unit 118 counts one by one as described above whenever the comparison result signal is applied. To this end, the comparison result control unit 118 is configured to further include a data counter (not shown) which performs a count by one whenever a comparison result signal for data is applied.

이 데이터용 카운터(미도시됨)는 데이터버스(D0~D31)를 통해 CPU(104)로부터 제공된 값을 최대 카운트값으로 설정하여 동작된다. 따라서 데이터 비교기(116)로부터 전송된 비교결과신호가 상술한 최대 카운트값에 도달할 때까지 미도시된 데이터용 카운터는 카운팅을 수행한다. 카운팅 결과값이 상술한 최대 카운트값에 도달하면, 비교결과 제어부(118)는 데이터 비교기(116)의 비교결과신호가 인터럽트 처리기(120)로 전송되도록 데이터 비교기(116)를 제어하는 신호(DCF(Data Count Full)*)를 출력한다.This data counter (not shown) operates by setting the value provided from the CPU 104 via the data buses D0 to D31 to the maximum count value. Therefore, the counter for data not shown performs counting until the comparison result signal transmitted from the data comparator 116 reaches the aforementioned maximum count value. When the counting result reaches the above-described maximum count value, the comparison result control unit 118 controls the data comparator 116 to transmit the comparison result signal of the data comparator 116 to the interrupt processor 120 (DCF ( Data Count Full) *)

데이터 비교기(116)로부터 비교결과신호가 전송되면, 인터럽트 처리기(120)는 NMI정보를 CPU(104)로 전송하고, CPU(104)는 해당 데이터에 대한 추적내역을 출력부(122)로 출력한다. 이 때 출력되는 추적내역은 CPU(104)가 정상적인 동작을 하는데 있어서, 해당 데이터가 설정된 개수만큼 발생되는데 소요된 시간과 같은 정보들이 포함된다. 이에 따라 운용자는 출력된 정보를 파악하여 해당 데이터에 대한 에러발생상황을 파악할 수 있게 된다.When the comparison result signal is transmitted from the data comparator 116, the interrupt processor 120 transmits the NMI information to the CPU 104, and the CPU 104 outputs the trace for the corresponding data to the output unit 122. . At this time, the trace history output includes information such as the time taken for the corresponding number of data to be generated in the normal operation of the CPU 104. Accordingly, the operator can grasp the output information to determine the error occurrence situation for the data.

이와 같이 동작하는데 있어서 제어 레지스터(108)는 디코더(106)로부터 전송되는 칩선택신호(CS)에 의하여 구동되어 데이터버스(D0~D31)를 통해 전송되는 제어신호를 저장하고, 저장된 제어신호(ASEN(Add Signal Enable)*, EIEN(Error Interrupt Enable)*, DSEN(Data Signal Enable)*)를 이용하여 어드레스 비교기(114) 및 데이터 비교기(116) 및 인터럽트 처리기(120)의 인에이블상태를 제어한다.In this operation, the control register 108 is driven by the chip select signal CS transmitted from the decoder 106 to store the control signal transmitted through the data buses D0 to D31, and the stored control signal ASEN The enable states of the address comparator 114, the data comparator 116, and the interrupt handler 120 are controlled using (Add Signal Enable) *, Error Interrupt Enable * (EIEN) *, and Data Signal Enable (DSEN) *. .

상술한 동작은 동시에 수행될 수도 있다. 즉, 에러발생상황을 체크하기 원하는 어드레스 및 데이터에 대한 정보가 동시에 입력되면, 어드레스와 데이터에 대한 상술한 동작이 동시에 수행된다. 그리고 상술한 제어 레지스터(108), 어드레스 레지스터(110), 데이터 레지스터(112) 및 비교결과 제어부(118)는 디코더(106)에 구비되도록 설계될 수도 있다.The above operation may be performed simultaneously. That is, when the information on the address and the data to check the error occurrence condition is input at the same time, the above-described operation on the address and the data is performed at the same time. The control register 108, the address register 110, the data register 112, and the comparison result controller 118 may be designed to be provided in the decoder 106.

이상에서 설명한 바와 같이 본 발명은 CPU외부의 간단한 하드웨어로 소프트웨어 모듈의 소정 어드레스 및/또는 데이터에 대한 에러발생 상태를 추적함으로써, 온라인상태를 유지하면서 에러발생 위치를 정확하게 파악할 수 있고, 고가의 계측장비 이용으로 인한 부담을 줄일 수 있는 잇점도 있다.As described above, the present invention tracks an error occurrence state of a predetermined address and / or data of a software module by using simple hardware outside the CPU, thereby accurately identifying an error occurrence position while maintaining an online state, and expensive measuring equipment. There are also benefits to reduce the burden of use.

Claims (4)

중앙처리부;A central processing unit; 사용자가 상기 중앙처리부에서 운영되는 소정의 소프트웨어 모듈에 대한 소정의 어드레스 및/또는 데이터에 대한 에러추적 명령을 상기 중앙처리부로 인가할 수 있는 명령인가부;A command applier which allows a user to apply an error tracking command for a predetermined address and / or data for a predetermined software module operated in the central processing unit to the central processing unit; 상기 중앙처리부로부터 출력되는 어드레스를 디코딩하여 칩선택신호를 출력하는 디코더;A decoder which decodes the address output from the central processing unit and outputs a chip select signal; 상기 디코더로부터 전송되는 칩선택신호에 의해 구동되어 데이터버스를 통해 상기 중앙처리부로부터 전송되는 상기 소정의 어드레스를 저장하는 어드레스 레지스터;An address register driven by a chip select signal transmitted from the decoder to store the predetermined address transmitted from the central processing unit via a data bus; 상기 디코더로부터 전송되는 칩선택신호에 의해 구동되어 상기 데이터버스를 통해 상기 중앙처리부로부터 전송되는 상기 소정의 데이터를 저장하는 데이터 레지스터;A data register which is driven by a chip select signal transmitted from the decoder and stores the predetermined data transmitted from the central processing unit via the data bus; 상기 중앙처리부가 운영중 발생되는 어드레스와 상기 어드레스 레지스터로부터 제공되는 어드레스가 동일할 때마다 비교결과신호를 출력하는 어드레스 비교기;An address comparator for outputting a comparison result signal whenever an address generated during operation of the central processing unit and an address provided from the address register are the same; 상기 중앙처리부가 운영중 발생되는 데이터와 상기 데이터 레지스터로부터 제공되는 데이터가 동일할 때마다 비교결과신호를 출력하는 데이터 비교기;A data comparator outputting a comparison result signal whenever the data generated during operation of the central processing unit and the data provided from the data register are the same; 상기 어드레스 비교기 또는/및 상기 데이터 비교기로부터 상기 비교결과신호가 전송되면 상기 중앙처리부로 소정의 인터럽트신호를 발생하는 인터럽트 처리기;An interrupt processor for generating a predetermined interrupt signal to the central processing unit when the comparison result signal is transmitted from the address comparator and / or the data comparator; 상기 어드레스 비교기 및 데이터 비교기로부터 상기 비교결과신호의 발생 횟수가 소정수에 도달하면, 상기 어드레스 비교기 및 상기 데이터 비교기의 비교결과가 상기 인터럽트 처리기로 전송될 수 있도록 제어하는 비교결과 제어부; 및A comparison result control unit for controlling the comparison result of the address comparator and the data comparator to be transmitted to the interrupt processor when the number of occurrences of the comparison result signal from the address comparator and the data comparator reaches a predetermined number; And 상기 디코더로부터 전송되는 칩선택신호에 의해 구동되어 상기 데이터버스를 통해 전송되는 상기 어드레스 비교기, 상기 데이터 비교기 및 상기 인터럽트 처리기의 인에이블 제어신호를 저장하였다가 제공하는 제어레지스터를 포함하는 것을 특징으로 하는 소프트웨어 모듈에 대한 에러추적장치.And a control register configured to store and provide an enable control signal of the address comparator, the data comparator, and the interrupt processor transmitted by the chip select signal transmitted from the decoder and transmitted through the data bus. Error tracking device for software modules. 제 1 항에 있어서, 상기 중앙처리부는 상기 인터럽트 처리기로부터 상기 인터럽트신호가 전송되면, 상기 사용자가 인가한 상기 소정의 어드레스 및/또는 데이터에 대한 에러추적 내역을 상기 사용자가 볼 수 있도록 출력하는 것을 특징으로 하는 소프트웨어 모듈에 대한 에러추적장치.The method of claim 1, wherein when the interrupt signal is transmitted from the interrupt processor, the CPU outputs error tracking details of the predetermined address and / or data applied by the user so that the user can view the interrupt signal. Error tracking device for software modules. 제 1 항 또는 제 2 항에 있어서, 상기 비교결과 제어부는 상기 데이터버스를 통해 상기 중앙처리부로부터 전송되는 상기 어드레스 및 데이터 각각에 대한 최대값까지 상기 어드레스 비교기 및 상기 데이터 비교기로부터 전송되는 비교결과값을 각각 카운트하는 카운트수단을 포함하도록 구성되는 것을 특징으로 하는 소프트웨어 모듈에 대한 에러추적장치.The apparatus of claim 1 or 2, wherein the comparison result controller is further configured to compare the comparison result values transmitted from the address comparator and the data comparator to a maximum value for each of the address and data transmitted from the central processing unit through the data bus. Error tracking device for a software module, characterized in that it comprises a count means for counting each. 제 3 항에 있어서, 상기 어드레스 및 데이터 각각에 대한 상기 최대값은 상기 사용자에 의해 임의로 설정되는 것을 특징으로 하는 소프트웨어 모듈에 대한 에러추적장치.4. The error tracking device of claim 3, wherein the maximum value for each of the address and data is arbitrarily set by the user.
KR1019970063045A 1997-11-26 1997-11-26 Error Tracking Device for Software Module KR19990042281A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970063045A KR19990042281A (en) 1997-11-26 1997-11-26 Error Tracking Device for Software Module

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970063045A KR19990042281A (en) 1997-11-26 1997-11-26 Error Tracking Device for Software Module

Publications (1)

Publication Number Publication Date
KR19990042281A true KR19990042281A (en) 1999-06-15

Family

ID=66094188

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970063045A KR19990042281A (en) 1997-11-26 1997-11-26 Error Tracking Device for Software Module

Country Status (1)

Country Link
KR (1) KR19990042281A (en)

Similar Documents

Publication Publication Date Title
US5630102A (en) In-circuit-emulation event management system
EP0179425B1 (en) Maintenance subsystem for computer network
US3806878A (en) Concurrent subsystem diagnostics and i/o controller
KR20020079163A (en) Debugging device and method by data changing
CN111078492A (en) System and method for monitoring state of SoC internal bus
EP0403168B1 (en) System for checking comparison check function of information processing apparatus
CN112685212A (en) Debugging and tracking method, device and system for processor exception
US20050060690A1 (en) Microprocessor system with software emulation processed by auxiliary hardware
JPH0447340B2 (en)
JP4102814B2 (en) I / O control device, information control device, and information control method
KR19990042281A (en) Error Tracking Device for Software Module
JPH08171504A (en) Emulation device
JP2902861B2 (en) Buffer device with trace function
US20070198816A1 (en) Emulation system for a single-chip multiple-microcontroller and emulation method thereof
JPH10228395A (en) Abnormality diagnostic device for controller
JP4892406B2 (en) Transaction management method for information processing apparatus and information processing apparatus
KR940001558B1 (en) Processor board state checking apparatus
JPH0581087A (en) Processor monitoring system
KR100189977B1 (en) Emulator system having trace function and trace method
JP2001084161A (en) Data processor
Buehring et al. Application of the P8xC592 microcontroller with CAN-interface
JPH1165897A (en) Microprocessor with debugger built-in
JPS6375844A (en) Trouble recovery confirming system
SU1587512A1 (en) Device for checking counters
SU964647A1 (en) Device for test check of digital computers

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application