WO1981003078A1 - Relational break signal generating device - Google Patents
Relational break signal generating device Download PDFInfo
- Publication number
- WO1981003078A1 WO1981003078A1 PCT/US1980/000446 US8000446W WO8103078A1 WO 1981003078 A1 WO1981003078 A1 WO 1981003078A1 US 8000446 W US8000446 W US 8000446W WO 8103078 A1 WO8103078 A1 WO 8103078A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- signal
- break
- relational
- break point
- generating device
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/362—Debugging of software
- G06F11/3648—Debugging of software using additional hardware
Definitions
- the present invention relates generally to appara ⁇ tus used in the field of computer-based system debugging, and more particularly to a relational break signal generating device for monitoring the execution of a computer program and causing the suspension of execution of that program and/or the initiation or termination of external processes as a function of the memory and/or I/O operations being performed by the programmer.
- a relational break signal generating device for monitoring the execution of a computer program and causing the suspension of execution of that program and/or the initiation or termination of external processes as a function of the memory and/or I/O operations being performed by the programmer.
- One prior art method used is to replace a particular program inst- ruction with a halt instruction so that if the computer tries to execute the instruction that normally resides at that particular point in the program, the execution sequence will be caused to stop and indicate the attempted instruction execution.
- This allows the programmer to run the program to a certain point and then examine the results of execution up to that point.
- By judicious replacement of certain instructions with the halt inst ⁇ ructions the programmer can thus control and monitor the execution of a program.
- the problem with this prior art technique is that it cannot be used in software in which the program is stored in ROMs since it is not possible to replace an instruction in a ROM with a halt instruction.
- Relational breaks are defined to include the following:
- break points are used to facili- tate software debugging, hardware debugging and software/ hardware debugging.
- the break point concept is used in logical analyzers (hardward) , in-circuit emulation (hardware) , monitors (computer program) , debug executives (.computer program) and the front panel of computers.
- the generalization concept of break point to include relational points and breaks and break regions greatly improves the ability of an engineer to debug software, debug hardware, or debug hardware/software systems and make performance measurements within the computer system.
- Another objective of the present invention is to provide a device of the type described which operates in real time and does note require that a program under test be modified in any way to implement the monitoring operation.
- Still another object of the present invention is to provide a device of the type described which uses combinational logic to recognize predetermined relational conditions.
- a preferred embodiment of the present invention includes two relational comparators, the inputs of which each includes a specifiable reference address, the address lines from a microprocessor and several qualifying inputs.
- the comparators independently compare the address from the microprocessor to the reference address input thereto and generate output signals which are fed into a combinational logic circuit which produces false and break point signals when a prespecified rela- tionship between the input program address and the two reference addresses occurs.
- the present invention has general application, the particular preferred embodiment disclosed is embodied in a microcomputer in-circuit emulator and is used to generate pulses and/or cause program break points under specified conditions.
- An important advantage of the present invention is that it allows any computer program to be monitored on a real time basis. Another advantage of the present invention is that it allows the occurrence of specified events during pro ⁇ gram execution to be counted or cause signals to be developed which will, interrupt execution of the program.
- FIG. 1 of the drawing a simplified embodiment of a relational break signal gen ⁇ erating device in accordance with the present invention is schematically illustrated.
- the device generally includes a first relational comparator circuit 10, a second relational comparator circuit 12, a combinational logic circuit 14 and a pulse generating circuit 16.
- the relational comparators 10 and 12 selectively check for conditions
- a and B are preset words with a binary or binary-coded decimal value and are defined by the system operator and entered into the comparators from a console device (not shown) .
- X is a rapidly changing word with a binary or binary-coded decimal magnitude.
- a validity signal developed on an input terminal 44 and input to both comparator 10 and comparator 12 simultaneously indicates that a signal X is stable when it is high and that the results of the comparison being performed are valid.
- the outputs generated by comparators 10 and 12 are either enabled or disabled independently via BP1ENB and BP2ENB signals which are applied to logic 14 via terminals 32 and 34, respectively.
- condition (1) and (2) indicated above are called relational comparisons and the results of such comparisons are used to derive the "break region" com- parison given in condition (3) .
- Comparator circuit 12 functions in the same manner as circuit 10 and develops a second break point signal BP2 at its output 24 when a preselected relationship exists between the address X input at terminal 18 and a second preselected reference address B which is input at the DAT ⁇ terminal 26.
- Logic circuit 14 includes combinational logic which responds to qualifier signals >BI.T1 and ⁇ BIT2J applied at inputs 28 and 30, respectively, and break poin enable signals BP1ENB and BP2ENB input at terminals 32 and 34, respectively, and combines the break point signals BPl and BP2 input thereto at 22 and 24 to ' develop a break signal BK at output 36 when a preselected relationship exists between the input address X and the reference addresses A and B.
- Pulse generating circuit 16 responds to the break point signals developed at 22 and 24, and generates an output pulse PI at terminal 38 each time a break point signal BPl is developed on line 22; generates an output pulse P2 at terminal 40 each time a break point signal BP2 is developed on line 24; and generates an output pulse region output pulse PR at terminal 42 each time pulses PI and P2 exist simultaneously.
- the comparator circuit 10 is comprised of a 16-bit shift register 50, a 3-bit shift register 52, a magnitude comparator 54, four NAND gates" 56, 58, 60 and 62, and an AND gate 64.
- the shift registers 50 and 52 are serial input/parallel output registers into which reference data A is shifted via terminal 20 in response to clock pulses input at IOlW terminal 21. More particularly, the reference data is comprised of 3 bits of qualifying data which is input to register 52 and 16 bits of address data which is input to register 50.
- Comparator 54 is a high-speed magnitude comparator which, performs comparison of straight binary or BCD codes It compares the reference data A contained in register 50 to the program data X input on line 18 nad develops three fully decoded outputs on lines 66, 68 and 70. An output will be developed on line 66 if the magnitude of X is greater than the magnitude of A; an output will be devel ⁇ oped on line 68 if the magnitude of X is equal to the magnitude of A; and an output will be developed on line 70 if the magnitude of X is less than A.
- the outputs of comparator 54 are input to the NAND gates 56, 58 and 60 , respectively, along with qualifying data from shift register 52, and as a result an output will be developed on one of the lines 72, 74 or 76 if a comparator output is generated which corresponds to the bit that is set in shift register 52. This will cause an output to be developed by NAND gate 62 on line 78 whic is designated as a tentative break point TBP1 and is input to one side of AND gate 64. If a validity input is applied via terminal 44 to the other side of AND gate at the same time TBP1 exists, a break point output TP1 will be developed at 22.
- Comparator circuit 12 is identical to that of comparator circuit 10 and includes shift registers 80 and 82, a magnitude comparator 84, NAND gates 86, 88, - 90 and 92, and an AND gate 94. Circuit 12 compares the reference data B input at terminal 26 to the program data X input at terminal 18, and if the specified conditions are met, develops a second break point signal BP2 at 24.
- the combinational logic circuit 14 includes NAND gates 100, 102, 104 and 106, AND gates 108 and 110, a NOR gate 112, and an OR gate 114.
- the gates 100 and 102 receive the break point signals BPl and BP2 respectively, along with the enable signals BP1ENB and BP2ENB, and develop outputs EBPl/ and EBP2/ if an output exists on lines 22 and 24 at the time that the enable signals are raised.
- the signals EBPl/ and EBP2/ are input to NAND gate 104 to develop an output on line 116 when the two signals exist simultaneously and such signal is input to one side of AND gate 108.
- NOR gate 112 In response to the signals EBPl/, EBP2/ and the output of NAND gate 106, NOR gate 112 will develop a break region signal BR for input to OR gate 114. In response to the signals BR and/or RB an output will be developed by OR gate 114 for input to AND gate 110 and if gate 110 is enabled by a P USER MODE signal input on line 128, a break signal BK will be developed at output 36.
- Pulse generator 16 includes an AND gate 130, the inputs of which are coupled across lines 22 and 24. Each time a break point signal BPl is developed on line 22 a pulse PI is developed at terminal 38, and each time a break point signal BP2 is developed on line 24 a pulse P2 is developed at terminal 40. And each time that both PI and P2 exist simultaneously, AND gate 130 will cause a pulse PR to be developed at terminal 42.
- Validity 1 when X is valid.
- Validity 1 when X is valid.
- Validity 1 when X is valid.
- Cases 4, 5 and 6 are the same as Cases 1, 2 and 3 because comparator circuit 12 is identical to comparator circuit 10.
- Case 7. If A ⁇ X ⁇ B then break:
- Validity 1 when X is valid.
- Cases 8 through 16 are variants of Case 7.
- Pulses may be enabled or disabled by external gates and registers.
- pulse outputs are always enabled even during the time that break points are enabled or disabled. Furthermor , these pulse output or strobe signals may be input to frequency counters, oscilloscope triggers, logic analyzer triggers or any other TTL compatible logic. Possible uses of such signals are (1) to provide a determination of how many times a given subroutine is called during the execution of a program;
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Hardware Redundancy (AREA)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US1980/000446 WO1981003078A1 (en) | 1980-04-22 | 1980-04-22 | Relational break signal generating device |
EP19810900096 EP0050112A1 (en) | 1980-04-22 | 1980-04-22 | Relational break signal generating device |
JP56500275A JPS57500714A (GUID-C5D7CC26-194C-43D0-91A1-9AE8C70A9BFF.html) | 1980-04-22 | 1980-04-22 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US1980/000446 WO1981003078A1 (en) | 1980-04-22 | 1980-04-22 | Relational break signal generating device |
WOUS80/00446 | 1980-04-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1981003078A1 true WO1981003078A1 (en) | 1981-10-29 |
Family
ID=22154293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US1980/000446 WO1981003078A1 (en) | 1980-04-22 | 1980-04-22 | Relational break signal generating device |
Country Status (3)
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4453093A (en) * | 1982-04-02 | 1984-06-05 | Honeywell Information Systems Inc. | Multiple comparison circuitry for providing a software error trace signal |
EP0055775A4 (en) * | 1980-07-21 | 1984-10-29 | Ncr Corp | DEVICE AND METHOD FOR MEASURING THE IMPLEMENTATION OF ELECTRONIC COMPUTER PROGRAMS. |
US4692897A (en) * | 1984-09-04 | 1987-09-08 | Gte Communication Systems Corporation | Arrangement for dynamic range checking or matching for digital values in a software system |
GB2413657A (en) * | 2004-04-30 | 2005-11-02 | Advanced Risc Mach Ltd | Breakpoint logic unit, debug logic and breakpoint method for a data processing apparatus |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3415981A (en) * | 1967-10-10 | 1968-12-10 | Rca Corp | Electronic computer with program debugging facility |
US3427443A (en) * | 1965-04-08 | 1969-02-11 | Ibm | Instruction execution marker for testing computer programs |
US3576541A (en) * | 1968-01-02 | 1971-04-27 | Burroughs Corp | Method and apparatus for detecting and diagnosing computer error conditions |
US3771131A (en) * | 1972-04-17 | 1973-11-06 | Xerox Corp | Operating condition monitoring in digital computers |
US3937938A (en) * | 1974-06-19 | 1976-02-10 | Action Communication Systems, Inc. | Method and apparatus for assisting in debugging of a digital computer program |
-
1980
- 1980-04-22 JP JP56500275A patent/JPS57500714A/ja active Pending
- 1980-04-22 WO PCT/US1980/000446 patent/WO1981003078A1/en not_active Application Discontinuation
- 1980-04-22 EP EP19810900096 patent/EP0050112A1/en not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3427443A (en) * | 1965-04-08 | 1969-02-11 | Ibm | Instruction execution marker for testing computer programs |
US3415981A (en) * | 1967-10-10 | 1968-12-10 | Rca Corp | Electronic computer with program debugging facility |
US3576541A (en) * | 1968-01-02 | 1971-04-27 | Burroughs Corp | Method and apparatus for detecting and diagnosing computer error conditions |
US3771131A (en) * | 1972-04-17 | 1973-11-06 | Xerox Corp | Operating condition monitoring in digital computers |
US3937938A (en) * | 1974-06-19 | 1976-02-10 | Action Communication Systems, Inc. | Method and apparatus for assisting in debugging of a digital computer program |
Non-Patent Citations (1)
Title |
---|
Digital Logic Handbook published 1969, Digital Equipment Corporation * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0055775A4 (en) * | 1980-07-21 | 1984-10-29 | Ncr Corp | DEVICE AND METHOD FOR MEASURING THE IMPLEMENTATION OF ELECTRONIC COMPUTER PROGRAMS. |
US4453093A (en) * | 1982-04-02 | 1984-06-05 | Honeywell Information Systems Inc. | Multiple comparison circuitry for providing a software error trace signal |
US4692897A (en) * | 1984-09-04 | 1987-09-08 | Gte Communication Systems Corporation | Arrangement for dynamic range checking or matching for digital values in a software system |
GB2413657A (en) * | 2004-04-30 | 2005-11-02 | Advanced Risc Mach Ltd | Breakpoint logic unit, debug logic and breakpoint method for a data processing apparatus |
US7334161B2 (en) | 2004-04-30 | 2008-02-19 | Arm Limited | Breakpoint logic unit, debug logic and breakpoint method for a data processing apparatus |
Also Published As
Publication number | Publication date |
---|---|
JPS57500714A (GUID-C5D7CC26-194C-43D0-91A1-9AE8C70A9BFF.html) | 1982-04-22 |
EP0050112A1 (en) | 1982-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4338660A (en) | Relational break signal generating device | |
US4312066A (en) | Diagnostic/debug machine architecture | |
US5257358A (en) | Method for counting the number of program instruction completed by a microprocessor | |
US5157780A (en) | Master-slave checking system | |
US5889981A (en) | Apparatus and method for decoding instructions marked with breakpoint codes to select breakpoint action from plurality of breakpoint actions | |
US5717851A (en) | Breakpoint detection circuit in a data processor and method therefor | |
US4493078A (en) | Method and apparatus for testing a digital computer | |
US3813531A (en) | Diagnostic checking apparatus | |
WO2001061493A1 (en) | An integrated breakpoint detector and associated multilevel breakpoint techniques | |
US6647511B1 (en) | Reconfigurable datapath for processor debug functions | |
JPH10333939A (ja) | マイクロプロセッサ | |
US5280626A (en) | Multi-process emulator suitable for testing software under multi-process environments | |
EP0370926A2 (en) | Automatic verification of kernel circuitry based on analysis of memory accesses | |
WO1981003078A1 (en) | Relational break signal generating device | |
US5404499A (en) | Semi-automatic program execution error detection | |
JP2003271694A (ja) | プロセッサを含む論理回路の検証用シミュレーション方法及び装置並びに論理回路検証用エラー検出プログラム | |
US5036516A (en) | Process and means for selftest of RAMs in an electronic device | |
US6185700B1 (en) | Method and device for evaluating a program | |
Walters et al. | Processor design and implementation for real-time testing of embedded systems | |
Gossányi et al. | Error diagnostics and recovery procedure in a dual-processor computer system | |
EP0525672A2 (en) | Microprocessor with program tracing | |
KR960018893A (ko) | 워치독 타이머 기능을 갖는 콘트롤러 | |
JP2967741B2 (ja) | Cpu互換性テスト装置 | |
JPH05342051A (ja) | エミュレータ | |
JPH02143338A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Designated state(s): DK JP SU |
|
AL | Designated countries for regional patents |
Designated state(s): CH DE FR GB SE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1981900096 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 1981900096 Country of ref document: EP |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 1981900096 Country of ref document: EP |