Breakpoint interrupt generating apparatus in a superscalar...

Error detection/correction and fault detection/recovery – Data processing system error or fault handling – Reliability and availability

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C714S034000, C714S042000

Reexamination Certificate

active

06477664

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates to a microprocessor; and, more particularly, to an apparatus for generating a breakpoint interrupt of computer program.
DESCRIPTION OF THE PRIOR ART
In the process of developing a computer software program, a program debugging is performed for analyzing the performance of the program and eliminating errors in the program. The debugging is considered to be important part in the development of a program and often requires more time than the composition of the program does.
A method for debugging a computer program is that events to be desired for observation are pre-determined and then when such events occurs in the trial execution of the program for debugging, the execution is stalled for inspection of the values stored in programmer visible registers and so on. For example, in order to inspect program and data stored in a memory at a specific case, an address to be used for the specific case is pre-set and then, when the generated address is matched with the pre-set address, a breakpoint is generated. When the breakpoint is generated, the program execution is stalled for the inspection of the program context.
There have been proposed various approaches for generating such breakpoint interrupts and one of them is to modify the program, which is inserting a software interrupt instructions at a specific address of the software program. However, though such a method can be easily implemented, it has a disadvantage in that a breakpoint can not be set for the address referring to data.
Another approach for generating a breakpoint interrupt is a hardware-implementation provided outside a microprocessor or a computer. Such hardware compares a generated address by computer with a pre-set address and, if any match is made, it sends a hardware interrupt signal to the microprocessor or the computer so as to stop the execution. However, such method needs much cost for implementation and additive space for printed circuit board of the hardware. In addition, for a high-speed processor, the breakpoint interrupt hardware can not in general accord with the processor in speed, whereby the breakpoint interrupt is not actually generated in time but later time. Also, when the processor has an address generation unit on the same chip, since the address to be seen from the outside of the processor is not a logical address of the program but a physical address for memory access, the breakpoint interrupt generation can not be made by this approach.
A still another approach is that an apparatus for generating breakpoint is provided within the processor, in which the apparatus includes a plurality of address registers for storing the pre-set addresses to be compared, a plurality of control registers for storing control information related to the breakpoint generation, and a comparator for comparing one of the pre-set addresses with a generated address by the processor.
When such a method is applied to RISC (Reduced Instruction Set Computer) processor, the length of instruction and data are always the same (e.g. always 4 bytes (=32 bits)) and the values to be compared are multiples of 4. Therefore, the implementation of comparator is easy. However, in a CISC (complex Instruction Set Computer) processor such as X86 series of Intel, the length of instruction and data are varying. Therefore, for implementation, a large quantity of hardware resource is needed. Here, if the breakpoint address and the range thereof are provided with constraints, the design of comparator becomes more or less easy. For example, in the case of 386 processor of Intel, the design of comparator can be easy by providing with the constraint in that any value can be compared if the range of the breakpoint address is “1”; only even addresses can be compared if “2”; and only the addresses of 4's multiple can be allowed to be compared if “4”.
However, in an n-way superscalar processor such as a Pentium processor of Intel, since multiple reference addresses are generated during one cycle, each of breakpoint address registers should have n read ports and n comparators each for comparing a corresponding breakpoint address register. Thus, there is a problem that considerable amount of hardware resources are required.
Next, a conventional address match circuit in an apparatus for generating breakpoint is shown in
FIG. 1
, which is for the case that there is no constraint in the breakpoint address and the range of the breakpoint address. Especially,
FIG. 1
is a schematic block diagram of an address match circuit in a conventional apparatus for generating breakpoint.
A start address Bstart of breakpoint is set from the breakpoint address register and then the breakpoint address is added with a range value R by the first adder
100
so that a stop address Bstop of the breakpoint address is produced. For example, if the value of the breakpoint address register is FFF in hexadecimal and the R is 4 bytes, then Bstart is FFF and Bstop is 1002. Also, for the address generated from an address generation unit, a start address Mstart for memory reference is determined and the Mstart is added with the operand size OS so that a stop address of memory reference is generated. For example, if the generated address from the address generation unit is 1000 in hexadecimal and OS is 2 bytes, then Mstart is 1000 in hexadecimal and Mstop is 1001 in hexadecimal.
Next, for generating a breakpoint interrupt, the following conditions 1 and 2 must be satisfied between Bstart, Bstop, Mstart, and Mstop.
[Condition 1]
Bstart≦Mstop
[Condition 2]
Mstart≦Bstop
For doing this, Bstart, Bstop, Mstart and Mstop are compared with one another by the first and the second comparators
140
and
160
and then the compared results are logic-ANDed in a AND gate
180
so as to produce a final match signal. For instance, if Bstart is FFF in hexadecimal, Bstop 1002 in hexadecimal, Mstart 1000 in hexadecimal and Mstop 1001 in hexadecimal, then the above condition is satisfied and thus a final address match signal is generated.
As described above, the conventional apparatus for generating breakpoint without any constraint between the breakpoint address and the range of the breakpoint address, requires much hardware resources such as adder, comparator and logic AND gate in order to confirm whether there is any match for breakpoint address. Thus, the time for generating match signal becomes critical.
SUMMARY OF THE INVENTION
The present invention is addressed to solve the above problem. The object of the present invention is to provide an apparatus for generating breakpoint in a superscalar microprocessor, which is capable of being implemented by small amount of hardware resources and thus the required chip area can be reduced.
An other object of the present invention is to provide an address match circuit, which can be used for generating a breakpoint interrupt in a superscalar microprocessor and implemented with small amount of hardware resources, thereby reducing the required chip-area therefor.
According to one preferred embodiment of the present invention in order to achieve the above object, there is provided a breakpoint interrupt generation apparatus in a n-way superscalar microprocessor comprising: an address control means for receiving a plurality of addresses and a plurality of request signals generated for memory access and for producing the received address one-by-one for one cycle; a breakpoint address storage for storing an intended address for breakpoint generation; a control information storage for storing control information required for breakpoint generation; an address match means for comparing the address from said breakpoint address storage and the address applied from the address control means so as to produce a match signal indicating whether the two addresses are identical; and an enable means for checking whether a breakpoint is generated every cycle based on the match signal from the address match means, the control information from the control information storage and a bus

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Breakpoint interrupt generating apparatus in a superscalar... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Breakpoint interrupt generating apparatus in a superscalar..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Breakpoint interrupt generating apparatus in a superscalar... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2961718

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.