Electrical computers and digital processing systems: processing – Processing control – Branching
Patent
1998-04-23
2000-05-09
Kim, Kenneth S.
Electrical computers and digital processing systems: processing
Processing control
Branching
712213, G06F 938
Patent
active
060617861
ABSTRACT:
A processor employs predecoding to identify instruction boundaries as well as to identify which instructions are branch instructions. In one embodiment, the processor stores a start bit corresponding to each instruction byte in the instruction cache with the instruction bytes. The start bit identifies which instruction bytes are the start of an instruction. Additionally, the processor stores a control transfer bit corresponding to each instruction byte. The control transfer bit corresponding to each instruction byte identified as the start of an instruction is used to indicate whether or not the instruction is a branch instruction. Additionally, the byte identified as the start of the branch instruction via the start bit and control transfer bit is partially decoded upon fetch of the branch instruction from the instruction cache to select the branch target address corresponding to the branch instruction from one of several possible target addresses. In one embodiment, partially decoding the initial byte of a branch instruction (as identified by the corresponding start and control transfer bits) allows for selection of the target address from three sources: a relative target address encoded into a byte succeeding the initial byte within a cache line, a return address from a return stack, and a sequential address. In one particular embodiment, the four most significant bits of the initial byte of the branch instruction are decoded to select one of the three source targets.
REFERENCES:
patent: 4502111 (1985-02-01), Riffe et al.
patent: 5101341 (1992-03-01), Circello et al.
patent: 5129067 (1992-07-01), Johnson
patent: 5155820 (1992-10-01), Gibson
patent: 5233696 (1993-08-01), Suzuki
patent: 5313605 (1994-05-01), Huck et al.
patent: 5337415 (1994-08-01), DeLano et al.
patent: 5438668 (1995-08-01), Coon et al.
patent: 5459844 (1995-10-01), Eickemeyer et al.
patent: 5488710 (1996-01-01), Sato et al.
patent: 5499204 (1996-03-01), Barrera et al.
patent: 5513330 (1996-04-01), Stiles
patent: 5557271 (1996-09-01), Rim et al.
patent: 5559975 (1996-09-01), Christie et al.
patent: 5560028 (1996-09-01), Sachs et al.
patent: 5566298 (1996-10-01), Boggs et al.
patent: 5586276 (1996-12-01), Growchowski et al.
patent: 5586277 (1996-12-01), Brown
patent: 5598544 (1997-01-01), Oshima
patent: 5600806 (1997-02-01), Brown et al.
patent: 5625787 (1997-04-01), Mahin et al.
patent: 5630082 (1997-05-01), Yao et al.
patent: 5644744 (1997-07-01), Mahin et al.
patent: 5689672 (1997-11-01), Witt et al.
patent: 5692168 (1997-11-01), McMahan
patent: 5729707 (1998-03-01), Maki
patent: 5758114 (1998-05-01), Johnson et al.
patent: 5758116 (1998-05-01), Lee et al.
patent: 5935238 (1999-08-01), Talcott et al.
XP000212073 Ditzel, et al., "Branch Folding in the CRISP Microprocessor: Reducing Branch Delay to Zero," AT&T Bell Laboratories, 14.sup.th Annual International Symposium on Computer Architecture, Jun. 2-5, 1987, pp. 2-9.
XP000364329 Gonzalez, et al., "Reducing Branch Delay to Zero in Pipelined Processors," IEEE Transactions on Computers, vol. 42, No. 3, Mar. 1993, pp. 363-371.
Tamasulo, "An Efficient Algorithm For Exploiting Multiple Arithmetic Units," 1967, IBM Journal, pp. 25-33.
Minagawa, "Predecoding Mechanism for Superscalar Architecture," 1991, IEEE Publication, pp. 21-24.
Advanced Micro Devices , Inc.
Kim Kenneth S.
Merkel Lawrence J.
LandOfFree
Processor configured to select a next fetch address by partially 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 configured to select a next fetch address by partially, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Processor configured to select a next fetch address by partially will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-1075528