Patents by Inventor Jeffrey Bridges

Jeffrey Bridges has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20060200654
    Abstract: The delay of non-executing conditional instructions, that would otherwise be imposed while waiting for late operand data, is alleviated based on an early recognition that such instructions will not execute on the current pass through a pipeline processor. At an appropriate point prior to execution, a determination regarding the condition is made. If the condition is such that the instruction will not execute on this pass through the pipeline, the hold with regard to the conditional instruction may be terminated, that is to say skipped or stopped prior to completion of receiving all the associated operand data. Flow of the non-executing instruction through the pipeline, for example, need not wait for an earlier instruction to compute and write source operand data for use by the conditional instruction.
    Type: Application
    Filed: March 4, 2005
    Publication date: September 7, 2006
    Inventors: James Dieffenderfer, Jeffrey Bridges, Michael McIlvaine, Thomas Sartorius
  • Publication number: 20060200686
    Abstract: A processor capable of fetching and executing variable length instructions is described having instructions of at least two lengths. The processor operates in multiple modes. One of the modes restricts instructions that can be fetched and executed to the longer length instructions. An instruction cache is used for storing variable length instructions and their associated predecode bit fields in an instruction cache line and storing the instruction address and processor operating mode state information at the time of the fetch in a tag line. The processor operating mode state information indicates the program specified mode of operation of the processor. The processor fetches instructions from the instruction cache for execution.
    Type: Application
    Filed: March 4, 2005
    Publication date: September 7, 2006
    Inventors: Brian Stempel, James Dieffenderfer, Jeffrey Bridges, Rodney Smith, Thomas Sartorius
  • Publication number: 20060195830
    Abstract: Techniques for ensuring a synchronized predecoding of an instruction string are disclosed. The instruction string contains instructions from a variable length instruction set and embedded data. One technique includes defining a granule to be equal to the smallest length instruction in the instruction set and defining the number of granules that compose the longest length instruction in the instruction set to be MAX. The technique further includes determining the end of an embedded data segment, when a program is compiled or assembled into the instruction string and inserting a padding of length, MAX?1, into the instruction string to the end of the embedded data. Upon predecoding of the padded instruction string, a predecoder maintains synchronization with the instructions in the padded instruction string even if embedded data is coincidentally encoded to resemble an existing instruction in the variable length instruction set.
    Type: Application
    Filed: February 25, 2005
    Publication date: August 31, 2006
    Inventors: Rodney Smith, James Dieffenderfer, Jeffrey Bridges, Thomas Sartorius
  • Publication number: 20060190707
    Abstract: When a branch misprediction in a pipelined processor is discovered, if the mispredicted branch instruction is not the last uncommitted instruction in the pipelines, older uncommitted instructions are checked for dependency on a long latency operation. If one is discovered, all uncommitted instructions are flushed from the pipelines without waiting for the dependency to be resolved. The branch prediction is corrected, and the branch instruction and all flushed instructions older than the branch instruction are re- fetched and executed.
    Type: Application
    Filed: February 18, 2005
    Publication date: August 24, 2006
    Inventors: Michael McIlvaine, James Dieffenderfer, Jeffrey Bridges, Thomas Sartorius
  • Publication number: 20060190711
    Abstract: A processor includes a return stack circuit used for predicting procedure return addresses for instruction pre-fetching, wherein a return stack controller determines the number of return levels associated with a given return instruction, and pops that number of return addresses from the return stack. Popping multiple return addresses from the return stack permits the processor to pre-fetch the return address of the original calling procedure in a chain of successive procedure calls. In one embodiment, the return stack controller reads the number of return levels from a value embedded in the return instruction. A complementary compiler calculates the return level values for given return instructions and embeds those values in them at compile-time. In another embodiment, the return stack circuit dynamically tracks the number of return levels by counting the procedure calls (branches) in a chain of successive procedure calls.
    Type: Application
    Filed: February 18, 2005
    Publication date: August 24, 2006
    Inventors: Rodney Smith, James Dieffenderfer, Jeffrey Bridges, Thomas Sartorius
  • Publication number: 20060184738
    Abstract: In an instruction execution pipeline, the misalignment of memory access instructions is predicted. Based on the prediction, an additional micro-operation is generated in the pipeline prior to the effective address generation of the memory access instruction. The additional micro-operation accesses the memory falling across a predetermined address boundary. Predicting the misalignment and generating a micro-operation early in the pipeline ensures that sufficient pipeline control resources are available to generate and track the additional micro-operation, avoiding a pipeline flush if the resources are not available at the time of effective address generation. The misalignment prediction may employ known conditional branch prediction techniques, such as a flag, a bimodal counter, a local predictor, a global predictor, and combined predictors. A misalignment predictor may be enabled or biased by a memory access instruction flag or misaligned instruction type.
    Type: Application
    Filed: February 17, 2005
    Publication date: August 17, 2006
    Inventors: Jeffrey Bridges, Victor Augsburg, James Dieffenderfer, Thomas Sartorius
  • Publication number: 20060179288
    Abstract: Hazard detection is simplified by converting a conditional instruction, operative to perform an operation if a condition is satisfied, into an emissary instruction operative to evaluate the condition and an unconditional base instruction operative to perform the operation. The emissary instruction is executed, while the base instruction is halted. The emissary instruction evaluates the condition and reports the condition evaluation back to the base instruction. Based on the condition evaluation, the base instruction is either launched into the pipeline for execution, or it is discarded (or a NOP, or null instruction, substituted for it). In either case, the dependencies of following instructions may be resolved.
    Type: Application
    Filed: February 10, 2005
    Publication date: August 10, 2006
    Inventors: Michael McIlvaine, James Dieffenderfer, Jeffrey Bridges, Thomas Sartorius, Rodney Smith
  • Publication number: 20060174090
    Abstract: A processor includes a conditional branch instruction prediction mechanism that generates weighted branch prediction values. For weakly weighted predictions, which tend to be less accurate than strongly weighted predictions, the power associating with speculatively filling and subsequently flushing the cache is saved by halting instruction prefetching. Instruction fetching continues when the branch condition is evaluated in the pipeline and the actual next address is known. Alternatively, prefetching may continue out of a cache. To avoid displacing good cache data with instructions prefetched based on a mispredicted branch, prefetching may be halted in response to a weakly weighted prediction in the event of a cache miss.
    Type: Application
    Filed: February 3, 2005
    Publication date: August 3, 2006
    Inventors: Thomas Sartorius, Victor Augsburg, James Dieffenderfer, Jeffrey Bridges, Michael McIlvaine, Rodney Smith
  • Publication number: 20060174066
    Abstract: One or more architected registers in a processor are fractional-word writable, and data from plural misaligned memory access operations are assembled directly in an architected register, without first assembling the data in a fractional-word writable, non-architected register and then transferring it to the architected register. In embodiments where a general-purpose register file utilizes register renaming or a reorder buffer, data from plural misaligned memory access operations are assembled directly in a fractional-word writable architected register, without the need to fully exception check both misaligned memory access operations before performing the first memory access operation.
    Type: Application
    Filed: February 3, 2005
    Publication date: August 3, 2006
    Inventors: Jeffrey Bridges, Victor Augsburg, James Dieffenderfer, Thomas Sartorius
  • Publication number: 20060123326
    Abstract: In a pipelined processor where instructions are pre-decoded prior to being stored in a cache, an incorrectly pre-decoded instruction is detected during execution in the pipeline. The corresponding instruction is invalidated in the cache, and the instruction is forced to evaluate as a branch instruction. In particular, the branch instruction is evaluated as “mispredicted not taken” with a branch target address of the incorrectly pre-decoded instruction's address. This, with the invalidated cache line, causes the incorrectly pre-decoded instruction to be re-fetched from memory with a precise address. The re-fetched instruction is then correctly pre-decoded, written to the cache, and executed.
    Type: Application
    Filed: November 22, 2004
    Publication date: June 8, 2006
    Inventors: Rodney Smith, Brian Stempel, James Dieffenderfer, Jeffrey Bridges, Thomas Sartorius
  • Publication number: 20050108497
    Abstract: Method and apparatus for increasing the number of real memory addresses accessible through a translational look-aside buffer (TLB) by a multi thread CPU. The buffer entries include a virtual address, a real address and a special mode bit indicating whether the address represents one of a plurality of threads being processed by the CPU. If the special mode bit is set, the real address associated with the virtual address higher order bits are concatenated with the thread identification number being processed to obtain a real address. Buffer entries containing no special mode bit, or special mode bit set to 0, are processed by using the full length of the real address associated with the virtual address stored in the look-aside buffer (TLB).
    Type: Application
    Filed: November 14, 2003
    Publication date: May 19, 2005
    Applicant: International Business Machines Corporation
    Inventors: Jeffrey Bridges, Les DeBruyne, Robert Goldiez, Michael McIlvaine, Thomas Sartorius, Rodney Smith
  • Publication number: 20050060518
    Abstract: A method for optimizing throughput in a microprocessor that is capable of processing multiple threads of instructions simultaneously. Instruction issue logic is provided between the input buffers and the pipeline of the microprocessor. The instruction issue logic speculatively issues instructions from a given thread based on the probability that the required operands will be available when the instruction reaches the stage in the pipeline where they are required. Issue of an instruction is blocked if the current pipeline conditions indicate that there is a significant probability that the instruction will need to stall in a shared resource to wait for operands. Once the probability that the instruction will stall is below a certain threshold, based on current pipeline conditions, the instruction is allowed to issue.
    Type: Application
    Filed: September 17, 2003
    Publication date: March 17, 2005
    Applicant: International Business Machines Corporation
    Inventors: Victor Augsburg, Jeffrey Bridges, Michael McIlvaine, Thomas Sartorius, Rodney Smith