Home | Links | Contact Us | More About Intellectual Property | Bookmark
Search patents:
Home I/O Systems Branch-prediction-and-resolution-apparatus-for-a-superscalar-computer-processor

 High speed data transfer over twisted pair cabling
In accordance with the teachings of the present invention, a method is provided for transmitting ...


 Programming logic device with test-signal enabled output
In accordance with one aspect of the present invention, there is provided a programmable logic ...


 Programmable combinational logic circuit
The invention provides a programmable logic circuit which is capable of providing any selected ...


 Apparatus and method for providing a cache memory unit with a write operation utilizing two system clock cycles
It is an object of the present invention to provide an improved data processing unit. It is another ...


 Dynamic random access memory arrangements having WE, RAS, and CAS derived from a single system clock
One object of the present invention is to provide an improved means of deriving control signals for ...


 Power saving sense amplifier that mimics non-toggling bitline states
According to the invention, a sense amplifier selectively prevents formation of the current branch ...


 Communication multiplexer sharing a free running timer among multiple communication lines
A data processing system includes a central processing unit, a main memory and a communication ...


 Method of operating an extension FIFO in another device when it is full by periodically re-initiating a write operation until data can be transferred
The present invention provides a protocol by which physically separated first-in, first-out (FIFO) ...


 Clock synchronous serial information receiving apparatus receiving reliable information even when noise is present
The invention was devised to solve the above problems, and it is an object thereof to provide a ...


 Serial data receiving device having a memory for storing a reception permit signal which enable or disable the device from hand-shaking with the transmitting device
The present invention has been devised to solve the problems discussed above, and a principal ...


 Branch prediction and resolution apparatus for a superscalar computer processor

Details
Inventors: Grochowski, Edward T.; Alpert, Donald B.; Mills, Jack D.; Weiser, Uri C.;
Assignee: Intel Corporation (Santa Clara, CA)
Primary Examiner: Treat; William M.
Assistant Examiner:
Attorney, Agent or Firm: Blakely, Sokoloff, Taylor & Zafman

An apparatus and method for improving the performance of superscalar pipelined computers using branch prediction and verification that the predicted branch is correct. A predicted branch may be resolved in one of two distinct pipeline stages, and a method is provided for handling branches that are resolved in either of the pipeline stages. A branch verification method is provided that verifies that the architecturally correct instructions are in the decode and execution stages. Furthermore, two sets of prefetch buffers are provided to allow branch prediction when multiple clock decoding is required by a multi-clock instruction.

DETAILED DESCRIPTION The present invention provides an apparatus and method for improving the performance of superscalar pipelined computers using branch prediction.
The described embodiment has two instruction processing paths, or "pipelines" and a branch instruction can be executed in either pipeline, subject to restrictions described further herein.
In the first pipeline, the takenness and target of a branch instruction is known in the execution stage.
In the second pipeline, the target of a branch instruction is known in the execution stage, but the takenness may not be known until after the execution stage.
In order to allow a branch instruction in one of the pipelines to be paired with an instruction in the other pipeline, a way of handling branches that are resolved in one of the separate stages is provided.
Furthermore, two sets of prefetch buffers are provided to allow branch prediction when multiple clock decoding is required by a multi-clock instruction.
"Branch prediction" is a means of speculatively filling a pipeline with instructions at the target of a branch before it is known whether the branch will be taken and before the target address is known.
The present invention may be embodied in an apparatus for predicting a branch location in a sequence of instructions in a superscalar microprocessor that has a first and second pipeline, either of which can execute a branch instruction.
A branch target buffer is provided to store branch predictions that are supplied to an address selector for the prefetch unit, in response to an address in the pipeline indicative of a branch instruction.
The branch target buffer includes a plurality of entries having a tag field for storing a tag indicative of the address of a branch instruction, an address field for storing a target address predicted for the branch instruction, and a history field for storing a history of the branch takenness.
The history field may be dual ported for both reading and writing in a single clock cycle.
Also, the tag field may store the address of an instruction preceding a branch instruction, rather than the address of the branch instruction itself



Related patents
  Compressed Instruction format for use in a VLIW processor
OF THE PREFERRED EMBODIMENT FIG. 1a shows the general structure of a processor according to the invention. A microprocessor according to the invention includes a CPU 102...
  Apparatus for formatting a digital signal to include multiple time stamps for system synchronization
The present invention relates to a system and apparatus for inserting differential time codes or count values in a compressed video signal for developing synchronization ...
  Synchronization and error detection in a packetized data stream
In accordance with the present invention, a method is provided for achieving synchronization and detecting errors in a data stream carrying successive packets of k ...
  Liquid crystal display and a manufacturing method thereof
It is a primary object of the present invention to provide a liquid crystal display to which defects such as wiring fractures of the scanning signal line at the ...
  Method and apparatus for dynamic detection and routing of non-uniform traffic in parallel buffered multistage interconnection networks
It is therefore an object of the present invention to provide a multistage processor-memory interconnection network which alleviates congestion by confining the non-...
  Method and apparatus for creating a multiprocessor verification environment
This invention relates to a method and apparatus for creating a multiprocessor verification environment. The environment allows the Central Processor Unit (CPU) to be ...
  Asynchronous sample pulse generator
These and other problems are resolved in accordance with the inventive principles to be described herein in relation to a pulse generator for generating pulse signals ...
  Data synchronization
OF THE PREFERRED EMBODIMENT Referring now in detail to FIGS. 1 and 2, FIG. 1 shows the configuration of the equipment for recording, and FIG. 2 shows the configuration ...
  Therapeutic subliminal imaging system
The invention relates to portable systems for implementing behavior modification therapy wherein a subliminal message is added to a preexisting supraliminal message and ...
  Trinary bus communication system
This invention presents a method and means of electrically communicating trinary digital information over two lines. The two lines can be a bus means comprising a pair ...

0.034

Archive: All patents - Links

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