Prefetching Using a Pageable Branch History Table
Original Publication Date: 1986-Jan-01
Included in the Prior Art Database: 2005-Mar-08
Prefetching of cache lines using a pageable branch history table (PBHT) improves machine performance through better cache miss ratio and fewer pipeline disruptions. A branch history table gives probable resolution of branches. Using these probable resolutions, it is possible to partition a cache line into regions and determine for each region the next cache line to be used. An example of this partitioning is given in Fig. 1, which shows a cache line N containing four branches (1), (2), (3), (4). Taken branches (1) and (3) have targets (TA) within the line, while taken branches (2) and (4) branch to addresses in cache line A and B, respectively. A branch history table only records taken branches and, by implication, the absence of a branch address indicates that the branch is not taken. The segment (Fig.