EP0318778A2

Method and apparatus for fetching instructions.

Abstract

Method and apparatus for fetching instructions in a computing system. A broadband branch history table (21) is organized by cache line. The broadband branch history table (21) determines from the history of branches the next cache line to be referenced and uses that in­formation for prefetching lines into the cache (12).

EP0318778A2, drawing sheet 1
Sheet 1 of 13

Term

Term ended

Projected expiry passed 21 November 2008, 17.8 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

7 claims: 2 independent, 5 dependent

  1. 1
    Appratus for instruction prefetching in a computer having a cache and a memory, said cache providing temporary high-speed storage for lines of data, said lines of data being prefetched into said cache from said memory by said apparatus, characterized by means (14, 20) for generating addresses of said lines of data;broadband branch history table (21) for storing and providing entries pertaining to branches;local branch history table means (15) for receiving said entries provided by said broadband branch history table and for controlling instruction fetching from the cache (12);and prefetch engine means (22) for computing a next line address and prefetching a next line indicated by said next line address into the cache (12) from the memory (13) if said next line is not stored in the cache (12).
  2. 4
    Improved instruction fetching apparatus for a computing system, said computing system using a plurality of machine instructions normally identified by addresses, and said computing system including a processor (10), a main memory for storing said instructions and data, a cache for storing instructions and data from the main memory for access by the processor (10), and an instruction buffer (11) for transferring said instructions from said cache to said processor, wherein said instruct­ion fetching apparatus is characterized by a local branch history table for transferring said instructions from said cache to said instruction buffer;a broadband branch history table (15) organized on the basis of lines of data within said cache for directing the transfer of lines from the memory (13) to the cache (12);and means for transferring lines of branch entries from said broadband branch history table (21) to said local branch history table (15) to be used for local control of said instruction buffer (11).
  3. 6
    Method for use in an apparatus according to one of the claims 1 to 5, characterized by transferring said instructions from the cache (12) to the instruction buffer (11) by a local branch history table (15);transferring lines of branch entries from the broadband branch history table (21) to the local branch history table (15) to be used for locally controlling the instruction buffer (11), said broadband branch history table being organized on the basis of lines of data within the cache;and directing the transfer of said lines from the memory (13) to the cache (12) based on analysis of entries in said broadband branch history table (21).