Abstract: A Branch Prediction Cache (BPC) selects from among multiple branch address entries for a single return-type instruction that returns to multiple callers. The BPC has a branch address associative memory, a return address associative memory, and word line logic used to validate and qualify entries. The branch address associative memory monitors program addresses for previously stored branch addresses. The return address stack (RtnStack) stores the return addresses for the most recent call-type instructions. The top of the stack is input to the return address associative memory. When a program address has multiple matches in the branch address associative memory, the return address associative memory enables only the entry that has an associated return address matching the top of the RtnStack. In an alternate embodiment, the return address associative memory is combined with a branch address cache and target address associative memory.
Type:
Grant
Filed:
September 17, 1993
Date of Patent:
April 22, 1997
Assignee:
Advanced Micro Devices, Inc.
Inventors:
Korbin S. Van Dyke, Larry Widigen, David L. Puziol
Abstract: An execution unit performs multiple sequential instruction pointer updates and segment limit checks within a cycle. The updates and checks are carried out in a high-performance pipelined processor that speculatively executes variable length instructions. A disclosed embodiment of the execution unit includes Next EIP (Extended Instruction Pointer) selection logic, Current EIP selection logic, an EIP History RAM, a Dual EIP Adder, a CS Limit check adder, limit checking combinational logic, and a limit fault History RAM.
Type:
Grant
Filed:
January 21, 1994
Date of Patent:
December 31, 1996
Assignee:
Advanced Micro Devices, Inc.
Inventors:
Elliot A. Sowadsky, Larry Widigen, David L. Puziol, Korbin S. Van Dyke