发明授权
US5974543A Apparatus and method for performing subroutine call and return operations
失效
执行子程序调用和返回操作的装置和方法
- 专利标题: Apparatus and method for performing subroutine call and return operations
- 专利标题(中): 执行子程序调用和返回操作的装置和方法
-
申请号: US24691申请日: 1998-02-17
-
公开(公告)号: US5974543A公开(公告)日: 1999-10-26
- 发明人: Rolf Hilgendorf , Oliver Laub , Hans-Werner Tast
- 申请人: Rolf Hilgendorf , Oliver Laub , Hans-Werner Tast
- 申请人地址: NY Armonk
- 专利权人: International Business Machines Corporation
- 当前专利权人: International Business Machines Corporation
- 当前专利权人地址: NY Armonk
- 优先权: DEX98101147 19980123
- 主分类号: G06F9/38
- IPC分类号: G06F9/38 ; G06F9/42 ; G06F12/0875 ; G06F9/32
摘要:
An apparatus and a method for performing subroutine call and return operations in a computer having a processor with an instruction prefetch mechanism which includes a branch history table for storing target addresses of a plurality of branch instructions found in an instruction stream. The branch history table 22 contains a potential call instruction tag 37 and a return instruction tag 39. For each potential subroutine call instruction found in a prefetch instruction stream an address pair containing the call target address and the next sequential instruction address of the instruction is stored in a return identification stack 24. Subsequently detected branch instructions initiate an associative search on the next sequential instruction part in the return identification stack where a matching entry identifies the branch instruction as a return instruction. The address pair contained in the matching entry is then transferred to a return cache 30 which is arranged in parallel to the branch history table. The branch history table and the return cache are simultaneously accessed in the same operation cycle with the address 28 of each prefetched instruction, and if by the access a return instruction tag is found, the next sequential instruction address from the return cache is used as return address. A return cache update 32 is performed in response to a branch instruction in the instruction stream by a lookup of the return cache for an entry having a corresponding target address and by replacing the next sequential instruction address in said entry by the next sequential address of said branch instruction.
公开/授权文献
信息查询