Reducing Cache Misses in a Branch History Table Machine
Original Publication Date: 1980-Jul-01
Included in the Prior Art Database: 2005-Feb-13
In BHT (Branch History Table) driven prefetching of instructions, a "return" from a subroutine is a branch which should not miss the cache. If it does, this indicates that the target of this branch is incorrect and actually points to a return from a prior invocation of this subroutine. Under these circumstances the cache miss should not be taken, and the processor should wait for the branch to be resolved by the decoder. The target, once resolved, should be in the cache unless the subroutine has disturbed the cache lines of the calling program.