Patents Examined by Brian P. Johnson
  • Patent number: 7383426
    Abstract: A deep-pipeline system substantially reduces the overhead of setup delays and pipeline delays by dynamically controlling access of a plurality of configuration register sets by both a host central processing unit (CPU) and the stages of the pipelines. A master configuration register set is loaded with configuration parameters by the host CPU in response to an index count provided by a setup-index counter. A plurality of other counters are employed to track timing events in the system. In one embodiment, a run-index counter provides a run-index count to the first stage of the pipeline that is propagated along the stages, enabling configuration register sets to transfer configuration parameters to the stages of the pipeline when required to enable processing of a task. In an alternative embodiment, a plurality of D flip-flops sequentially propagates a state for successive registers, so that the setup-index counter is not required.
    Type: Grant
    Filed: June 11, 2003
    Date of Patent: June 3, 2008
    Assignee: University of Washington
    Inventors: Chris Y. Chung, Ravi A. Managuli, Yongmin Kim
  • Patent number: 7380112
    Abstract: The present invention provides a processor which has a small-scale circuit and is capable of executing loop processing at a high speed while consuming a small amount of power. When the processor decodes an instruction “jloop C6,C1:C4,TAR,Ra”, the processor (i) sets a conditional flag C4 to 0 when the value of a register Ra is smaller than 0, (ii) moves the value of a conditional flag C2 to a conditional flag C1, moves the value of a conditional flag C3 to the conditional flag C2, and moves the value of the conditional flag C4 to the conditional flags C3 and C6, (iii) adds ?1 to the register Ra and stores the result into the register Ra, and (iv) branches to an address specified by a branch register (TAR). When not filled with a branch target instruction, the jump buffer will be filled with a branch target instruction.
    Type: Grant
    Filed: March 22, 2004
    Date of Patent: May 27, 2008
    Assignee: Matsushita Electric Industrial Co., Ltd.
    Inventors: Hazuki Okabayashi, Tetsuya Tanaka, Taketo Heishi, Hajime Ogawa
  • Patent number: 7380106
    Abstract: A method and a system for transferring data between a register in a processor and a point-to-point communications link. More specifically, blocking and non-blocking methods are described to get and put data between a general purpose register of a soft or hard core processor and a queue connected to a point-to-point communications channel. One implementation example is for a Fast Simplex Link multi-processor network.
    Type: Grant
    Filed: February 28, 2003
    Date of Patent: May 27, 2008
    Assignee: Xilinx, Inc.
    Inventor: Goran Bilski
  • Patent number: 7376819
    Abstract: An apparatus and method for selecting whether a central processing unit (CPU) performs instruction reading in units of 16 bits (a first word length) or in units of 32 bits (a second word length). Depending on whether instruction reading is performed in units of 16 bits or 32 bits, increment values (+2 and +4) by which a program counter (PC) is incremented are switched. Data reading or writing is performed in units of a given data length irrespective of the selecting unit. When the CPU issues a request for instruction reading in units of 16 bits or 32 bits or for data reading or writing, a bus control unit performs reading or writing a predetermined number of times according to a bus width designated for a resource located at an address specified in the request.
    Type: Grant
    Filed: June 11, 2003
    Date of Patent: May 20, 2008
    Assignee: Renesas Technology Corp.
    Inventors: Naoki Mitsuishi, Shinichi Shibahara, Takahiro Okubo
  • Patent number: 7360070
    Abstract: An exceptional situation manager associates exceptional situations with nonstandard values and desired responses to perform when specific exceptional situations occur during computations. A desired response can comprise returning an associated nonstandard value, performing an associated nonstandard action or returning a default value. The exceptional situation manager ascertains the occurrence of exceptional situations during computations. Responsive to such an occurrence, the exceptional situation manager determines the desired response associated with the exceptional situation that occurred, and executes the desired response.
    Type: Grant
    Filed: August 13, 2003
    Date of Patent: April 15, 2008
    Assignee: Apple Inc.
    Inventor: Samuel A. Figueroa
  • Patent number: 7343472
    Abstract: A processor includes an instruction memory, arithmetic logic unit, finite field arithmetic unit, at least one digital storage device, and an instruction decoder. The instruction memory temporarily stores an instruction that includes at least one of: an operational code, destination information, and source information. The instruction decoder is operably coupled to interpret the instruction to identify the arithmetic logic unit and/or the finite field arithmetic unit to perform the operational code of the corresponding instruction. The instruction decoder then identifies at least one destination location within the digital storage device based on the destination information contained within the corresponding instruction. The instruction decoder then identifies at least one source location within the digital storage device based on the source information of the corresponding instruction.
    Type: Grant
    Filed: June 11, 2003
    Date of Patent: March 11, 2008
    Assignee: Broadcom Corporation
    Inventors: Joshua Porten, Won Kim, Scott D. Johnson, John R. Nickolls
  • Patent number: 7321964
    Abstract: A microprocessor may include a dispatch unit configured to dispatch load and store operations and a load store unit configured to store information associated with load and store operations dispatched by the dispatch unit. The load store unit includes a STLF (Store-to-Load Forwarding) buffer that includes a plurality of entries. The load store unit is configured to generate an index dependent on at least a portion of an address of a load operation, to use the index to select one of the plurality of entries, and to forward data included in the one of the plurality of entries as a result of the load operation.
    Type: Grant
    Filed: July 8, 2003
    Date of Patent: January 22, 2008
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Michael A. Filippo, James K. Pickett
  • Patent number: 7315935
    Abstract: A microprocessor is configured to provide port arbitration in a register file. The microprocessor includes a plurality of functional units configured to collectively operate on a maximum number of operands in a given execution cycle, and a register file providing a number of read ports that is insufficient to provide the maximum number of operands to the plurality of functional units in the given execution cycle. The microprocessor also includes an arbitration logic coupled to allocate the read ports of the register file for use by selected functional units during the given execution cycle.
    Type: Grant
    Filed: October 6, 2003
    Date of Patent: January 1, 2008
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Mitchell Alsup, Brian D. McMinn, Benjamin T. Sander, David E. Kroesche
  • Patent number: 7308562
    Abstract: A system and method for improved branch performance in pipelined computer architectures is presented. Priority bits are set during code execution that corresponds to an upcoming branch instruction. A priority bit may be associated with a register, a resource, or a microsequencer. An instruction selector compares one or more priority bits with each of a plurality of instructions in order to identify particular instructions to execute that make registers and resources available for an upcoming branch instruction. The instruction selector then prioritizes the identified instructions and the pipeline executes in instructions in the prioritized order.
    Type: Grant
    Filed: May 22, 2003
    Date of Patent: December 11, 2007
    Assignee: International Business Machines Corporation
    Inventor: Julianne Frances Haugh
  • Patent number: 7302553
    Abstract: An apparatus, system and method for quickly determining an oldest instruction in a non-moving instruction queue of a processor are provided. Particularly, instructions are stored, one at a time at a clock cycle, in the non-moving queue. At every clock cycle, a present status of the instructions in the queue is recorded. Using the present status of the instructions in the queue in conjunction with previously recorded statuses of the instructions, the oldest instruction in the queue is determined. The status of the instructions in the queue includes whether or not the instruction has been issued for execution as well as whether or not it is known that the issued instruction has been accepted for execution.
    Type: Grant
    Filed: January 23, 2003
    Date of Patent: November 27, 2007
    Assignee: International Business Machines Corporation
    Inventors: Sam Gat-Shang Chu, Hung Qui Le, Dung Quoc Nguyen
  • Patent number: 7284117
    Abstract: A processor includes a prediction circuit and a floating point unit. The prediction circuit is configured to predict an execution latency of a floating point operation. The floating point unit is coupled to receive the floating point operation for execution, and is configured to detect a misprediction of the execution latency. In some embodiments, an exception may be taken in response to the misprediction. In other embodiments, the floating point operation may be rescheduled with the corrected execution latency.
    Type: Grant
    Filed: November 4, 2003
    Date of Patent: October 16, 2007
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Arun Radhakrishnan, Kelvin D. Goveas
  • Patent number: 7272700
    Abstract: An VLIW instruction mechanism is described which accesses multiple slot instructions for execution to achieve high levels of selectable parallelism and to make improvements to code density. To this end, the VLIW instruction mechanism includes a short instruction word (SIW) register for holding an SIW. The SIW includes an indication of a slot instruction to execute and a dynamic slot instruction operand which is used by the slot instruction to execute. Further, the VLIW instruction mechanism includes a register for holding slot instructions which are retrieved from VLIW memory. The retrieved slot instructions include a stored operand which is used when executing the retrieved slot instruction. The VLIW instruction mechanism further includes a controller and an execution unit. The controller selects which of the operands are utilized with the retrieved slot instructions. The execution unit executes the retrieved slot instruction with the selected operand.
    Type: Grant
    Filed: December 23, 2003
    Date of Patent: September 18, 2007
    Assignee: Altera Corporation
    Inventors: Gerald George Pechanek, Edwin Franklin Barry
  • Patent number: 7243219
    Abstract: Systems and methods of processing branch instructions provide for a bimodal predictor and a plurality of global predictors. The bimodal predictor is coupled to a prediction selector, where the bimodal predictor generates a bimodal prediction for branch instructions. The plurality of global predictors is coupled to the prediction selector, where each global predictor generates a corresponding global prediction for a branch instruction using different history or stew lengths. The prediction selector selects branch predictions from the bimodal prediction and the global predictions in order to arbitrate between predictors. The arbitration, update, and allocation schemes are designed to choose the most accurate predictor for each branch. Lower level predictors are used as filters to increase effective predictor capacity. Allocate and update schemes minimize aliasing between predictors.
    Type: Grant
    Filed: December 24, 2003
    Date of Patent: July 10, 2007
    Assignee: Intel Corporation
    Inventors: Stephan J. Jourdan, Mark C. Davis, Pierre Michaud
  • Patent number: 7024537
    Abstract: A system may include a memory file and an execution core. The memory file may include an entry configured to store an addressing pattern and a tag. If an addressing pattern of a memory operation matches the addressing pattern stored in the entry, the memory file may be configured to link a data value identified by the tag to a speculative result of the memory operation. The addressing pattern of the memory operation includes an identifier of a logical register, and the memory file may be configured to predict whether the logical register is being specified as a general purpose register or a stack frame pointer register in order to determine whether the addressing pattern of the memory operation matches the addressing pattern stored in the entry. The execution core may be configured to access the speculative result when executing another operation that is dependent on the memory operation.
    Type: Grant
    Filed: January 21, 2003
    Date of Patent: April 4, 2006
    Assignee: Advanced Micro Devices, Inc.
    Inventors: James K. Pickett, Benjamin Thomas Sander, Kevin Michael Lepak
  • Patent number: 4890861
    Abstract: Apparatus for creating aerodynamic lift to a downhill skier is shown as having a harness adapted to be worn by the skier, a left wing structure is operatively carried by the harness, a right wing structure is operatively carried by the harness, the left wing structure has a first longitudinal axis extending generally transversely of the skier, the right wing structure has a second longitudinal axis extending generally transversely of the skier, the left wing structure is selectively rotatable about the first longitudinal axis, the right wing structure is selectively rotatable about the second longitudinal axis, and the left and right wing structures are respectively rotatable about the first and second axes independently of each other by the skier to respective selected positions, and batten-like members are provided to enhance the airfoil configuration of the wing structures.
    Type: Grant
    Filed: July 6, 1988
    Date of Patent: January 2, 1990
    Inventor: William V. Bachmann