Electrical computers and digital processing systems: processing – Processing control – Branching
Reexamination Certificate
1998-03-24
2001-12-25
Lee, Thomas (Department: 2183)
Electrical computers and digital processing systems: processing
Processing control
Branching
C712S236000, C711S213000, C711S218000
Reexamination Certificate
active
06334184
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Technical Field
The present invention relates in general to a method and system for data processing and, in particular, to a processor and method for generating a memory request address in a processor. Still more particularly, the present invention relates to a processor that decodes multiple instructions, generates, in parallel, a fetch address from each decoded instruction, and then selects one of the generated fetch addresses as a memory request address.
2. Description of the Related Art
A processor may include an instruction queue from which instructions are dispatched to one or more execution units for execution and an instruction fetcher that calculates fetch addresses and uses the fetch addresses to retrieve instructions from memory to fill the instruction queue. In a conventional processor, priority logic is utilized to determine which instruction in the instruction queue should be utilized to generate the next fetch address. Following selection of an instruction by the priority logic, a fetch address is generated from the instruction, typically by adding an instruction-length offset to the address of the selected instruction. The fetch address generated from the selected instruction is then passed to a memory as a request address in order to obtain one or more instructions stored at the memory location specified by the request address. Thus, the conventional instruction fetch cycle is comprised of a number of steps that are performed sequentially.
The time interval beginning with the examination of instructions in the instruction queue and ending with the receipt of the fetched instructions from memory may be referred to as the instruction fetch cycle time. In efforts to decrease a processor's instruction fetch cycle time and therefore enhance the overall performance of the processor, attention is typically focused on improving the design and configuration of the individual components of the memory, for example, by adopting faster memory technologies, improving instruction cache hit rates, and incorporating additional levels of cache on-chip with the processor. While these solutions certainly can improve instruction fetch cycle time, the present invention includes a recognition that instruction fetch cycle time can also be decreased by parallelizing steps within the instruction fetch cycle.
SUMMARY OF THE INVENTION
It is therefore one object of the present invention to provide an improved method and system for data processing.
It is another object of the present invention to provide an improved processor and method for generating a memory request address in a processor.
It is yet another object of the present invention to provide a processor that decodes multiple instructions, generates, in parallel, a fetch address from each decoded instruction, and then selects one of the generated fetch addresses as a memory request address.
The foregoing objects are achieved as is now described. According to the method of the present invention, a plurality of target addresses are determined by a processor utilizing a plurality of previously fetched instructions, and a sequential address is determined utilizing a last of the plurality of previously fetched instructions. Concurrently with the determination of the target addresses and the sequential address, a select signal specifying one of the plurality of target addresses or the sequential address is generated. The select signal is used to select one of the plurality of target addresses or the sequential address as a memory request address. The memory request address is then transmitted from the processor to the memory so that the memory will supply at least one instruction to the processor. By generating the target addresses and sequential address concurrently with the generation of the selection signal, instruction fetch latency is reduced.
The above as well as additional objects, features, and advantages of the present invention will become apparent in the following detailed written description.
REFERENCES:
patent: 5185868 (1993-02-01), Tran
patent: 5495598 (1996-02-01), Byers et al.
patent: 5535346 (1996-07-01), Thomas, Jr.
patent: 5724563 (1998-03-01), Hasegawa
patent: 5796998 (1998-08-01), Levitan et al.
patent: 5911153 (1999-06-01), Dhong et al.
patent: 5926628 (1999-07-01), Tran et al.
patent: 5964869 (1999-10-01), Talcott et al.
patent: 5974543 (1999-10-01), Hilgendorf et al.
patent: 6112299 (2000-08-01), Ebcioglu et al.
patent: 0927930A1 (1999-07-01), None
patent: 2-47725 (A) (1990-02-01), None
patent: 3-75932 (A) (1991-03-01), None
patent: 4-125733 (A) (1992-04-01), None
patent: 4-167026 (A) (1992-06-01), None
patent: 5108345A (1993-04-01), None
patent: 5-224928 (A) (1993-09-01), None
patent: 08-314720 (1996-11-01), None
patent: 08314720A (1996-11-01), None
“A Method For Handling Double Branches In Zero Cycles,” Research Disclosure, No. 327, Jul. 1991, Emsworth, GB.
European Patent Office Search Report.
Dhong Sang Hoo
Silberman Joel Abraham
Bracewell & Patterson L.L.P.
International Business Machines - Corporation
Lee Thomas
Patel Gautam R.
Salys Casimer K.
LandOfFree
Processor and method of fetching an instruction that select... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Processor and method of fetching an instruction that select..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Processor and method of fetching an instruction that select... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2558300