Patent
1994-08-31
1997-03-04
Harvey, Jack B.
39542103, 39542104, 395800, G06F 930, G06F 938
Patent
active
056088868
ABSTRACT:
A target finder array in the instruction cache contains a lower portion of the target address and a block encoding indicating if the target address is within the same 2K-byte block that the branch instruction is in, or if the target address is in the next or previous 2K-byte block. The upper portion of the target address, its block number, which corresponds to the starting address of a 2K block, is generated from the target finder simply by taking the upper portion or block number of the branch instruction and incrementing and decrementing it, and using the block encoding in the finder to select either the unmodified block number of the branch instruction, or the incremented or decremented block number of the branch instruction. The lower portion of the target address that was stored in the finder is concatenated with the selected block number to get the predicted target address. The target address can be predicted in parallel with reading an instruction out of the cache, making the target available at the same time the branch instruction is available, eliminating pipeline stalls for correctly predicted branches. The initially predicted target address in the finder is generated by a quick decode of the instruction and is written when the cache is loaded from memory. The initial prediction does not have to be accurate because branch resolution logic will update the finder on each branch resolution. Register indirect branches and exceptions may also be predicted. Two instruction sets may be accommodated by different block encodings to indicate the instruction set. By using the block encoding, the finder array is small and inexpensive.
REFERENCES:
patent: 4110822 (1978-08-01), Porter et al.
patent: 5088030 (1992-02-01), Yoshida
patent: 5093778 (1992-03-01), Favor et al.
patent: 5163140 (1992-11-01), Stiles et al.
patent: 5193156 (1993-03-01), Yoshida et al.
patent: 5226130 (1993-07-01), Favor et al.
patent: 5230068 (1993-07-01), Van Dyke et al.
patent: 5276882 (1994-01-01), Emma et al.
patent: 5287467 (1994-02-01), Blaner et al.
patent: 5307504 (1994-04-01), Robinson et al.
patent: 5327547 (1994-07-01), Stiles et al.
patent: 5367703 (1994-11-01), Levitan
patent: 5394529 (1995-02-01), Brown, III et al.
patent: 5414822 (1995-05-01), Saito et al.
patent: 5442756 (1995-08-01), Grochowski et al.
patent: 5454089 (1995-09-01), Nguyen et al.
patent: 5454117 (1995-09-01), Puziol et al.
Perleberg, Chris H. and Smith, Alan Jay, "Branch Target Buffer Design and Optimization", IEEE Transactions on Computers.
Baird Brian R.
Blomgren James S.
Cohen Earl T.
Auvinen Stuart T.
Exponential Technology Inc.
Harvey Jack B.
Pancholi Jigar
LandOfFree
Block-based branch prediction using a target finder array storin does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Block-based branch prediction using a target finder array storin, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Block-based branch prediction using a target finder array storin will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2154597