Home | Links | Contact Us | More About Intellectual Property | Bookmark
Search patents:
Home Fault Detection Changing-the-meaning-of-a-pre-decode-bit-in-a-cache-memory-depending-on-branch-prediction-mode

 System for inserting constructs into compiled code, defining scoping of common blocks and dynamically binding common blocks to tasks
We claim: 1. A computer implemented method performed within a multi-processing, multi-programming ...


 Determining a communication schedule between processors
To achieve the aforementioned objectives, a first aspect of the invention provides a method of ...


 Persistent/impervious event forwarding discriminator
It is an object of this invention to provide an EFD that is persistent in the face of catastrophic ...


 Method and apparatus for controlling network and workstation access prior to workstation boot
The present invention is directed to a method and apparatus for preboot file and information ...


 Multilevel security port methods, apparatuses, and computer program products
According to the present invention, multilevel trusted systems associate multiple port endpoints ...


 Differential current-switch circuit, D/A conversion circuit and method of transient response reduction
Accordingly, an object of the present invention is to provide a differential current-switch circuit,...


 Java security mechanism
In accordance with the invention, objects of classes loaded from the hard drive of a local client ...


 Switching system comprising distributed elements allowing attachment to line adapters, and having multicasting capabilities
OF THE PREFERRED EMBODIMENT With respect to FIGS. 2 and 3, there is illustrated the switching ...


 High speed current switch
OF THE INVENTION Referring to FIG. 4, a schematic diagram of a high-speed current switch 36 is ...


 Embedding certifications in executable files for network transmission
The Internet is a well known, global network of cooperatively interconnected computer networks. The ...


 Changing the meaning of a pre-decode bit in a cache memory depending on branch prediction mode

Details
Inventors: Hunt, Douglas B.;
Assignee: Hewlett-Packard Company (Palo Alto, CA)
Primary Examiner: Kim; Kenneth S.
Assistant Examiner:
Attorney, Agent or Firm:

A system for changing the meaning of a pre-decode branch field associated with an instruction in an instruction cache memory of a computer system compatible with multiple branch prediction modes. The system includes a pre-decode unit for decoding instructions from a main memory. The pre-decode unit sets a pre-decode branch field for each branch instruction according to a current branch prediction mode context at the time of pre-decoding. The branch instruction is then inserted into an instruction cache memory. An instruction fetch unit fetches a pre-decoded instruction from the instruction cache and further decodes the instruction. If the instruction is a branch, a branch prediction unit interprets the pre-decode branch field of the branch instruction and computes a predicted branch direction according to the current branch prediction mode and its defined branch prediction mode context. The fetched instruction is inserted into an instruction buffer pending execution by an execution unit. Each of the multiple branch prediction modes result in a different method of predicting a branch instruction direction. In addition, the meaning of a pre-decode branch field differs for each of the defined branch prediction mode contexts defined for each of the multiple branch prediction modes.

DETAILED DESCRIPTION OF THE PRESENT INVENTION FIG.
1 shows a block diagram of a portion of a computing system 100 in which the present invention operates.
The computing system 100 includes a main memory 110, a central processing unit (CPU) 150, an instruction cache 120, and a pre-decode unit 130.
The pre-decode unit 130 may reside within the CPU 150 itself, or separately as shown in FIG.
1.
The CPU 150 includes an instruction fetch unit 160, an instruction buffer 170, an execution unit 180, and a branch prediction mode indicator 190.
The instruction fetch unit 160 includes a branch prediction unit 162.
The execution unit 180 also includes an instruction buffer management unit 182.
The branch mode indicator 190 indicates the current branch prediction mode of the currently running process.
The instruction cache 120 of the preferred embodiment is implemented using a high-speed SRAM which has faster access time than the main memory.
The instruction cache 120 comprises a plurality of instruction cache entries, each of which comprise an instruction and associated pre-decode bits.
FIG.
2 illustrates a preferred embodiment for an instruction cache entry 200 in accordance with the present invention.
As shown in FIG.
2, the instruction cache entry 200 includes an instruction field 202 for storing an instruction opcode and associated operands, and a pre-decode control field 204.
The pre-decode control field 204 includes a pre-decode branch subfield 206.
The pre-decode branch sub-field 206 is used, among other things, to indicate whether its associated instruction is a branch instruction.
The number of bits used to implement the pre-decode branch sub-field 206 depends on both the number of branch prediction modes supported by the multiple branch prediction mode compatible computer system and on the type of information provided in a given branch prediction mode context.
In the preferred embodiment, the computer system supports both static prediction mode and dynamic prediction mode, and the context of each mode allows the pre-decode branch subfield 206 to be implemented in only a single bit



Related patents
  Battery saving synchronization method in a communcation apparatus
An object of the invention is to provide a communication apparatus and a communication method which do not require setting a communication apparatus serving as a base ...
  Apparatus and method for sharing an external memory between multiple network switches
There is a need for a non-blocking network switch arrangement that includes connecting two or more switches together without significantly increasing the size of each ...
  Method of testing and predicting failures of electronic mechanical systems
The invention is directed to a method that provides reliability and diagnostic analysis for a complex system by incorporating a knowledge database derived from digraph ...
  Tamper resistant methods and apparatus
OF THE INVENTION In the following description, various aspects of the present invention will be described. However, it will be apparent to those skilled in the art that ...
  Method for monitoring telephone call progress
It is a primary object of the present invention to provide a system and method for detecting and discriminating audio signals and particularly signals indicative of the ...
  Telephone updating via network provided information
An object of the present invention is to provide a communication terminal apparatus in which, when the telephone number of a party to communication has changed or missed,...
  Programming model for a coprocessor on a computer system
OF THE PREFERRED EMBODIMENT A method and apparatus for controlling a coprocessor, namely a digital signal processor in a computer system, is described. In the following ...
  Method of dynamically adjusting NCP program memory allocation of SNA network
A method in accordance with the invention is implemented via a novel computer program referred to for convenience as NEWPROG. NEWPROG resides (executes) in one or more ...
  Method for debugging in a parallel computer system and system for the same
The present invention solves the above-described problems, and therefore has an object to provide a method and system for sequentially executing programs which are ...
  Arithmetic operation processing apparatus of the parallel processing type and compiler which is used in this apparatus
It is an object of the present invention to provide an arithmetic operation processing apparatus of the parallel arithmetic operating type in which the additional ...

0.014

Archive: All patents - Links

Copyright (c)2006 Eipa-patents.org - All rights reserved