Patents Examined by Tonia L. Meonske
  • Patent number: 6970996
    Abstract: A floating point unit includes floating point processing units for executing floating point instructions that write operands to an external memory and for executing floating point instructions that read operands from the external memory. The floating point also includes an operand queue for storing a plurality of operands associated with one or more operations being processed in the floating point unit. The operand queue stores a first operand written by a floating point write instruction executed by a first one of the plurality of floating point processing units and supplies the first operand to a floating point read instruction executed by a second one of the plurality of floating point processing units when the first operand is committed or virtually committed.
    Type: Grant
    Filed: January 4, 2000
    Date of Patent: November 29, 2005
    Assignee: National Semiconductor Corporation
    Inventor: Daniel W. Green
  • Patent number: 6952765
    Abstract: A processor is arranged to make it possible to specify an instruction for which value prediction is thought to enhance program execution performance and execute the instruction and enhance the accuracy of prediction when carrying out value prediction. The processor is provided with an instruction cache to store instructions to which a value prediction field and a value prediction method field are attached. Prior to or in concurrence with fetching and executing an instruction by its execution unit, the execution result value predicted by a value predictor designated by the contents of the value prediction method field of the instruction is output. Only when the value prediction field contains ‘1,’ the predicted value is stored into the register and used in executing a subsequent instruction. The predicted value for an instruction with its value prediction field containing ‘0’ is nullified.
    Type: Grant
    Filed: January 17, 2002
    Date of Patent: October 4, 2005
    Assignee: Hitachi, Ltd.
    Inventor: Tomohiro Nakamura
  • Patent number: 6948056
    Abstract: In one embodiment, a programmable processor searches an array of N data elements in response to N/M machine instructions, where the processor has a pipeline configured to process M data elements in parallel. In response to the machine instructions, a control unit directs the pipeline to retrieve M data elements from the array of elements in a single fetch cycle, concurrently compare the data elements to M current extreme values, and update the current extreme values, as well as M references to the current extreme values, based on the comparisons.
    Type: Grant
    Filed: September 28, 2000
    Date of Patent: September 20, 2005
    Assignees: Intel Corporation, Analog Devices, Inc.
    Inventors: Charles P. Roth, Ravi Kolagotla, Jose Fridman
  • Patent number: 6931518
    Abstract: A method of determining whether datapaths executing in a computer program should execute conditional processing block includes determining whether processor enable (PE) states of all of the datapaths are disabled, and branching around the conditional processing if the PE states of all of the datapaths are disabled. Branching is not performed, even if the PE states of all of the datapaths are disabled, if the program is determined to be deterministic. That determination is made by evaluating the state of a deterministic bit. Instructions are also provided for carrying out the determining and branching operations. The instructions may also be combined with operations that maintain the PE states during conditional processing.
    Type: Grant
    Filed: November 28, 2000
    Date of Patent: August 16, 2005
    Assignee: ChipWrights Design, Inc.
    Inventor: John Redford
  • Patent number: 6904510
    Abstract: A data processor that can perform instructions in parallel on respective fields in an operand includes a respective multiplexer for each of the respective fields. Each respective multiplexer is controlled by condition data for a particular field, preferably from an addressable storage unit. The condition may take three or more values for each field, which allows multiplexing between three or more values, reflecting a less than, equal to, or greater than relation between respective compare inputs. The inputs of the multiplexers can share read ports to a register file with more than one functional unit connected to only two read ports.
    Type: Grant
    Filed: October 7, 1999
    Date of Patent: June 7, 2005
    Assignee: Koninklijke Philips Electronics N.V.
    Inventor: Fransiscus W. Sijstermans
  • Patent number: 6880066
    Abstract: A central processing system can maintain an efficient information reading operation even when a program executed by a central processing unit contains many branch commands. A prefetch queue of the central processing unit reads and information expected to be processed next by the central processing unit from a main memory. The function of the prefetch queue is deactivated in accordance with a control signal provided from a prefetch queue control unit. A block transfer function of a cache memory is also deactivated when unnecessary information is read from the main memory in accordance with the block transfer function.
    Type: Grant
    Filed: October 20, 1999
    Date of Patent: April 12, 2005
    Assignee: Fujitsu Limited
    Inventor: Seiji Suetake
  • Patent number: 6870789
    Abstract: In the Retirement Payload Array (RPA) of a microprocessor, the pointer advance signal “ADVANCE POINTER” from the Instruction Retirement Logic (IRL) of the Instruction Scheduling Unit (ISU) is utilized to provide conditional read RPA signals. Consequently, according to the invention, a read of the RPA is completed only if it is determined that the read word line being read in the current cycle is not the same read word line that was read in the previous cycle.
    Type: Grant
    Filed: February 8, 2002
    Date of Patent: March 22, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Arjun P. Chandran, Gregg K. Tsujimoto, Anup S. Mehta
  • Patent number: 6865665
    Abstract: There is disclosed a data processor for stalling the instruction execution pipeline after a cache miss and re-loading the correct cache data into any bypass devices before restarting the pipeline.
    Type: Grant
    Filed: December 29, 2000
    Date of Patent: March 8, 2005
    Assignee: STMicroelectronics, Inc.
    Inventor: Anthony X. Jarvis
  • Patent number: 6862680
    Abstract: A microprocessor avoids loss of instructions in a pre-fetch procedure when a branch instruction is received. When a new branch instruction that specifies a branch end is received by a queue buffer, all the instructions preceding the specified branch end are processed as an operand of the branch instruction. Moreover, the instruction word length of the branch instruction including the instruction that has been processed as the operand is output to a program counter, so the queue buffer is not flushed.
    Type: Grant
    Filed: September 21, 2001
    Date of Patent: March 1, 2005
    Assignee: Renesas Technology Corp.
    Inventor: Yoshiyuki Haraguchi
  • Patent number: 6851046
    Abstract: A system and method for performing a general ternary branch instruction is provided. Additionally, different approaches are provided for reducing the complexity of a ternary branch instruction word and corresponding hardware.
    Type: Grant
    Filed: November 13, 2001
    Date of Patent: February 1, 2005
    Assignee: GlobeSpanVirata, Inc.
    Inventors: Marc R. Delvaux, Mazhar Alidina
  • Patent number: 6842851
    Abstract: A system and method for reading register contents from a computational pipeline having a plurality of computational units. The system includes a readback bus and a read control unit. The readback bus has a plurality of logic units coupled in a series. Each logic unit couples to a corresponding one of the computational units. The read control unit couples to each of the computational units through a corresponding load line, and is configured to assert a load signal on one of the load lines in response to a register read request. Each of the computational units is configured to transmit a data value from a selected register onto the readback bus in response to detecting an assertion of the load signal on its corresponding load line.
    Type: Grant
    Filed: February 28, 2002
    Date of Patent: January 11, 2005
    Assignee: Sun Microsytems, Inc.
    Inventors: Wayne Eric Burk, Ewa M. Kubalska, Brian D. Emberling
  • Patent number: 6820193
    Abstract: A processor architecture supports the decoupling of parameters typically associated with branch/jump instructions. Jump instructions are provided that do not contain an explicit destination address and other jump instructions are provided that do not contain an explicit test condition. The processing system provides a “default” value to any control element in the processor that is not expressly controlled by a particular instruction. In the case of a branch or call instruction, the default destination-address provided to effect the branch or call is the destination-address provided by a prior instruction. Subsequent or alternative branch or call instructions branch to this same address until the default address is set to a different address. In like manner, in most cases, the default condition that is used to determine the result of a conditional test, such as a conditional branch, call, or return instruction, is the last condition specified in a prior instruction.
    Type: Grant
    Filed: December 17, 1999
    Date of Patent: November 16, 2004
    Assignee: Koninklijke Philips Electronics N.V.
    Inventors: Farrell L. Ostler, Antoine Farid Dagher
  • Patent number: 6810475
    Abstract: A processing engine including a processor pipeline 820 with a number of pipeline stages, a number of resources and a pipeline protection mechanism. The pipeline protection mechanism includes, for each protected resource, interlock detection circuitry 1402 for anticipating and/or detecting access conflicts for that resource between the pipeline stages. An output of the interlock detection circuitry is connected to reservation and filtering circuitry 1404 for selection of a shadow register. If a shadow register is available, shadow management circuitry 1406 generates corresponding control signals 1410, 1412 to a set of shadow registers 1400. By writing into a selected register, a pipeline conflict is resolved. At a later cycle, a delayed write to a corresponding target register restores the pipeline. Conflicts that cannot be resolved are merged by merge circuitry 1440 to form stall control signals for controlling the selective stalling of the pipeline to avoid the resource access conflicts.
    Type: Grant
    Filed: October 1, 1999
    Date of Patent: October 26, 2004
    Assignee: Texas Instruments Incorporated
    Inventor: Jean-Louis Tardieux
  • Patent number: 6799263
    Abstract: A method for prefetching instructions into cache memory using a prefetch instruction. The prefetch instruction contains a target field, a count field, a cache level field, a flush field, and a trace field. The target field specifies the address at which prefetching begins. The count field specifies the number of instructions to prefetch. The flush field indicates whether earlier prefetches should be discarded and whether in-progress prefetches should be aborted. The level field specifies the level of the cache into which the instructions should be prefetched. The trace field establishes a trace vector that can be used to determine whether the prefetching operation specified by the operation should be aborted. The prefetch instruction may be used in conjunction with a branch predict instruction to prefetch a branch of instructions that is not predicted.
    Type: Grant
    Filed: October 28, 1999
    Date of Patent: September 28, 2004
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Dale C. Morris, James R. Callister, Stephen R. Undy
  • Patent number: 6782468
    Abstract: A shared memory type vector processing system in which CPUs are connected by a bus for transferring a vector processing instruction generated from any of the CPUs to each of the CPUs, and the respective CPUs are grouped into a master CPU which issues a vector processing instruction to other CPUs and slave CPUs operating as a multi-vector pipeline in synchronization with a vector processing unit in the master CPU, the master CPU including a memory access control unit for issuing said vector processing instruction with issuing source CPU information attached for identifying an issuing source CPU, and transferring said instruction to all the CPUs including its own CPU through a bus, and the master CPU and the slave CPU including a vector processing instruction control unit for comparing issuing source CPU information contained in a vector processing instruction and master CPU information set at its own CPU and conducting instruction issuance based on the vector processing instruction when the information accord
    Type: Grant
    Filed: December 13, 1999
    Date of Patent: August 24, 2004
    Assignee: NEC Corporation
    Inventor: Satoshi Nakazato
  • Patent number: 6772322
    Abstract: A method and apparatus to monitor the performance of a processor. A performance specifier specifies a performance data corresponding to the performance. The performance data includes an event and an instruction causing the event. A tag generator is coupled to the performance specifier to generate a performance tag associated with the instruction. The performance tag is stored in a storage. A retirement performance monitor is coupled to the storage to extract the performance tag when the instruction is retired.
    Type: Grant
    Filed: January 21, 2000
    Date of Patent: August 3, 2004
    Assignee: Intel Corporation
    Inventors: Amit Merchant, Selim Bilgin, Brinkley Sprunt
  • Patent number: 6757815
    Abstract: An Instruction Pointer (IP) signal is received comprising an IP tag field and an IP set field. A plurality of entries corresponding to the IP set field are read, each of the entries comprising an entry tag, an entry bank, and entry data. Each entry tag and entry bank is then compared with the IP tag and each of the plurality of banks. In one embodiment, the IP tag is concatenated with a number representing one of the plurality of banks and compared to the entry tag and entry bank. Separate comparisons may then be performed for each of the other banks.
    Type: Grant
    Filed: December 23, 1999
    Date of Patent: June 29, 2004
    Assignee: Intel Corporation
    Inventor: Nicolas I. Kacevas
  • Patent number: 6745321
    Abstract: A method and apparatus for harvesting problematic code sections that may cause a hang condition based on a hardware design flaw is presented. Monitoring is performed to detect a hang condition. Responsive to detecting a hang condition, steps are employed by hardware and/or software to recover from a hang condition, such as flushing instructions dispatched to the plurality of execution units. Upon successful completion of hang recovery, a debug interrupt is injected, causing a debug interrupt handler to be immediately involved before the resumption of normal execution. The debug interrupt handler may then harvest problematic code sections in the undisturbed execution error that may have caused the hang condition.
    Type: Grant
    Filed: November 8, 1999
    Date of Patent: June 1, 2004
    Assignee: International Business Machines Corporation
    Inventors: Michael Stephen Floyd, Kevin Franklin Reick
  • Patent number: 6742110
    Abstract: A processing engine 10 for executing instructions in parallel comprises an instruction buffer 600 for holding at least two instructions, with the first instruction 602 in a first position and the second instruction 604 in a second position. A first decoder 612 provides decoding of the first instruction and generates first control signals. The first control signals include first resource control signals, first address generation control signals, and a first validity signal indicative of the validity of the first instruction in the first position. A second decoder 614 provides decoding of the second instruction and generates second control signals. The second control signals include second resource control signals, second address generation control signals, and a second validity signal indicative of the validity of the second instruction in the second position.
    Type: Grant
    Filed: October 1, 1999
    Date of Patent: May 25, 2004
    Assignee: Texas Instruments Incorporated
    Inventors: Karim Djafarian, Gilbert Laurenti, Vincent Gillet
  • Patent number: 6738892
    Abstract: An information control pipeline (13) parallels the processor's instruction pipeline (3), contains digital control information in respect of the instruction placed in the instruction pipeline and accompanies that instruction until all component operations prescribed within the instruction have been executed. When at the end of the pipeline, the instruction is presented for execution to a respective functional execution unit (7) of the processor, the respective functional execution unit accesses and uses the control information as a condition to instruction execution. Depending upon the processor, the control information may contain one or more bits, referred to as enable bits, as may be set enabled, indicating that an associated operation in the instruction is to be executed, or by software set disabled, indicating that the associated operation is masked, such as by an exception handler (9) when returning from a resolved exception.
    Type: Grant
    Filed: October 20, 1999
    Date of Patent: May 18, 2004
    Assignee: Transmeta Corporation
    Inventors: Brett Coon, David Keppel