Patents Examined by Daniel H. Pan
  • Patent number: 7315932
    Abstract: Various load and store instructions may be used to transfer multiple vector elements between registers in a register file and memory. A cnt parameter may be used to indicate a total number of elements to be transferred to or from memory, and an rcnt parameter may be used to indicate a maximum number of vector elements that may be transferred to or from a single register within a register file. Also, the instructions may use a variety of different addressing modes. The memory element size may be specified independently from the register element size such that source and destination sizes may differ within an instruction. With some instructions, a vector stream may be initiated and conditionally enqueued or dequeued. Truncation or rounding fields may be provided such that source data elements may be truncated or rounded when transferred. Also, source data elements may be sign- or unsigned-extended when transferred.
    Type: Grant
    Filed: September 8, 2003
    Date of Patent: January 1, 2008
    Inventor: William C. Moyer
  • Patent number: 7315936
    Abstract: A set of processors, co-processors and processor cores having a Boolean logic unit, wherein the Boolean logic unit is operable, respectively, for performing the short-circuit evaluation of Conjunctive Normal Form Boolean expressions/operations, Disjunctive Normal Form Boolean expression/operations, or both. Each processor or processor core also includes a plurality of input/output interfaces, operable for receiving a plurality of compiled Boolean expressions/operations and transmitting a plurality of compiled results, and a plurality of registers. An associated processing method including starting an operation related to a Conjunctive Normal Form Boolean expression comprising a conjunct or related to a Disjunctive Normal Form Boolean expression comprising a disjunct, evaluating the conjunct or disjunct, and selectively short-circuiting a portion of the Boolean expression.
    Type: Grant
    Filed: March 17, 2004
    Date of Patent: January 1, 2008
    Assignee: University of North Carolina at Charlotte
    Inventor: Kenneth E. Koch, III
  • Patent number: 7308560
    Abstract: A digital signal processing unit includes a control unit and a data computing unit. An R/L register for distinguishing independent data is disposed in the control unit. An R/L select signal for indicating independent data is supplied to the data computing unit. A data processing instruction signal for distinguishing a data processing instruction from other instructions is issued from an instruction decoder. The R/L register for distinguishing independent data is controlled by the data processing instruction signal. In the data computing unit, the portion related to storing independent data is multiplexed according to the number of independent data to be processed, and this multiplexed portion is controlled by the R/L select signal supplied from the control unit.
    Type: Grant
    Filed: February 3, 2005
    Date of Patent: December 11, 2007
    Assignee: Oki Electric Industry Co., Ltd.
    Inventors: Danya Sugai, Teruaki Uehara
  • Patent number: 7290122
    Abstract: A method and apparatus for power reduction in a processor controlled by multiple-instruction control words. A multiple-instruction control word comprises a number of ordered fields, with each ordered field containing an instruction for an element of the processor. The sequence of instructions for a loop is compressed by identifying a set of aligned fields that contain NOP instructions in all of the control words of the sequence. The sequence of control words is then modified by removing the fields of the identified aligned set containing NOP instructions and adding an identifier that identifies the set of fields removed. The sequence of control words is processed by fetching the identifier at the start the loop, then, for each control word in the sequence, fetching a control word and reconstructing the corresponding uncompressed control word by inserting NOP instructions into the compressed control word as indicated by the identifier.
    Type: Grant
    Filed: August 29, 2003
    Date of Patent: October 30, 2007
    Assignee: Motorola, Inc.
    Inventors: Philip E. May, Brian G. Lucas, Kent D. Moat
  • Patent number: 7266672
    Abstract: A method and an apparatus for retiming in a network of multiple context processing elements in a network of multiple context processing elements are provided. A programmable delay element is configured to programmably delay signals between a number of multiple context processing elements of an array without requiring a multiple context processing element to implement the delay. The output of a first multiple context processing element is coupled to a first multiplexer and to the input of a number of serially connected delay registers. The output of each of the serially connected registers is coupled to the input of a second multiplexer. The output of the second multiplexer is coupled to the input of the first multiplexer, and the output of the first multiplexer is coupled to a second multiple context processing element. The first and second multiplexers are provided with at least one set of data representative of at least one configuration memory context of a multiple context processing element.
    Type: Grant
    Filed: December 16, 2002
    Date of Patent: September 4, 2007
    Assignee: Broadcom Corporation
    Inventors: Ethan Mirsky, Robert French, Ian Eslick
  • Patent number: 7237092
    Abstract: A microprocessor circuit includes a control unit, a memory for free programming with at least one program having functions, a stack for buffer-storing data, a register bank having at least one register, and an auxiliary register that stores a number of bits, each of the bits being assigned to one of the registers of the register bank and indicating whether or not a respective register of the register bank contains information items.
    Type: Grant
    Filed: July 18, 2003
    Date of Patent: June 26, 2007
    Assignee: Infineon Technologies AG
    Inventors: Christian May, Holger Sedlak
  • Patent number: 7200738
    Abstract: A pipelined computer processor is presented that reduces data hazards such that high processor utilization is attained. The processor restructures a set of instructions to operate concurrently on multiple pieces of data in multiple passes. One subset of instructions operates on one piece of data while different subsets of instructions operate concurrently on different pieces of data. A validity pipeline tracks the priming and draining of the pipeline processor to ensure that only valid data is written to registers or memory. Pass-dependent addressing is provided to correctly address registers and memory for different pieces of data.
    Type: Grant
    Filed: April 18, 2002
    Date of Patent: April 3, 2007
    Assignee: Micron Technology, Inc.
    Inventors: Neal Andrew Crook, Alan T Wootton, James Peterson
  • Patent number: 7197625
    Abstract: The present invention provides alignment and ordering of vector elements for SIMD processing. In the alignment of vector elements for SIMD processing, one vector is loaded from a memory unit into a first register and another vector is loaded from the memory unit into a second register. The first vector contains a first byte of an aligned vector to be generated. Then, a starting byte specifying the first byte of an aligned vector is determined. Next, a vector is extracted from the first register and the second register beginning from the first bit in the first byte of the first register continuing through the bits in the second register. Finally, the extracted vector is replicated into a third register such that the third register contains a plurality of elements aligned for SIMD processing. In the ordering of vector elements for SIMD processing, a first vector is loaded from a memory unit into a first register and a second vector is loaded from the memory unit into a second register.
    Type: Grant
    Filed: September 15, 2000
    Date of Patent: March 27, 2007
    Assignee: MIPS Technologies, Inc.
    Inventors: Timothy J. van Hook, Peter Hsu, William A. Huffman, Henry P. Moreton, Earl A. Killian
  • Patent number: 7191313
    Abstract: The present invention provides a microprocessor which enables task switching with a small time overhead. Upon reception of input of an interrupt control signal during execution of a task-1, a first program counter is switched to a second program counter and a first register file is switched to a second register file to start execution of a task-2. During the execution of the task-2, a task switch controller controls switches to select the first program counter, first memory devices of a processing pipeline circuit, and the first register file to save data stored in them in a save memory. After the data saving, data on a task-3 saved in the save memory is restored in the first program counter, the first memory devices of the processing pipeline circuit, and the first register file.
    Type: Grant
    Filed: August 27, 2002
    Date of Patent: March 13, 2007
    Assignee: Sony Corporation
    Inventor: Hideharu Takamuki
  • Patent number: 7185184
    Abstract: The invention relates to a processor system which is configured as a communications controller and which comprises a central processor unit (1) for executing instructions filed in a program memory (8), whereby the processor unit (1) comprises only one path (2,3) for reading out an instruction from the program memory (8) and for decoding the instruction. In addition, several parallelly operable execution paths (4,5;6,7) for parallelly executing different program flows are provided which each access the path (2,3) jointly used for reading out and decoding an instruction.
    Type: Grant
    Filed: October 5, 2000
    Date of Patent: February 27, 2007
    Assignee: Infineon Technologies AG
    Inventor: Xiaoning Nie
  • Patent number: 7162610
    Abstract: A high-performance, superscalar-based computer system with out-of-order instruction execution for enhanced resource utilization and performance throughput. The computer system fetches a plurality of fixed length instructions with a specified, sequential program order (in-order). The computer system includes an instruction execution unit including a register file, a plurality of functional units, and an instruction control unit for examining the instructions and scheduling the instructions for out-of-order execution by the functional units. The register file includes a set of temporary data registers that are utilized by the instruction execution control unit to receive data results generated by the functional units. The data results of each executed instruction are stored in the temporary data registers until all prior instructions have been executed, thereby retiring the executed instruction in-order.
    Type: Grant
    Filed: September 12, 2003
    Date of Patent: January 9, 2007
    Assignee: Seiko Epson Corporation
    Inventors: Le Trong Nguyen, Derek J Lentz, Yoshiyuki Miyayama, Sanjiv Garg, Yasuaki Hagiwara, Johannes Wang, Te-Li Lau, Sze-Shun Wang, Quang H Trang
  • Patent number: 7139903
    Abstract: A computer system has a processor that has a prediction array that avoids conflicts when the prediction array is accessed twice in once clock cycle to retrieve predictions for two separate conditional branch instructions. The prediction array is included as part of a branch prediction logic circuit that includes a bank control logic coupled to the prediction array. The bank control logic assures the conflict noted above is avoided. The prediction array preferably comprises multiple (e.g., 4) single-ported bank memory elements, each bank comprising multiple predictions. The bank control logic uses information associated with a previously fetched and branch predicted conditional branch instruction to generate a bank number for a current branch instruction. The generated bank number corresponds to one of the banks in the prediction array. The processor preferably fetches two (or more) groups (also called “slots”) of instructions each cycle.
    Type: Grant
    Filed: December 19, 2000
    Date of Patent: November 21, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Andre C. Seznec, Stephen Felix
  • Patent number: 7124280
    Abstract: An execution control apparatus of a data driven information processor includes: an instruction decoder that outputs the a number of inputs of an instruction; a waiting data storage region that stores N (N?2) waiting data and respective data valid flags in one address; a constant storage that stores constants and a constant valid flag; a constant readout unit that reads out a constant and a constant valid flag from the constant storage with the node number of an input packet as the address; a unit that calculates a hash address and selects a process for data waiting depending upon a combination of a data valid flag, a constant valid flag, and the number of instuction inputs; and a unit that performs a waiting process in response to a select signal.
    Type: Grant
    Filed: April 13, 2001
    Date of Patent: October 17, 2006
    Assignee: Sharp Kabushiki Kaisha
    Inventors: Shingo Kamitani, Kouichi Hatakeyama
  • Patent number: 7107434
    Abstract: The present invention provides a system, method and apparatus for allocating resources by assigning resource identifiers to processor resources using at least a portion of a pseudorandom sequence. One or more resource identifiers are generated using at least a portion of each a pseudorandom sequence. Each resource identifier corresponds to one of the resources. One or more of the resource identifiers are then selected for allocation to the instruction.
    Type: Grant
    Filed: December 19, 2000
    Date of Patent: September 12, 2006
    Assignee: Board of Regents, The University of Texas
    Inventors: Lizy Kurian John, Srivatsan Srinivasan
  • Patent number: 7103758
    Abstract: A microcontroller has a memory storing a program with an instruction that causes the microcontroller's central processing unit to enter a standby mode, in which data output from the memory is halted. The standby mode is exited by input of an interrupt. The microcontroller also has a control circuit that, by storing the next few program instructions internally before placing the memory in standby, or by delaying the interrupt signal, provides extra time for memory operation to stabilize on exit from the standby mode. Malfunctions on recovery from standby are thereby prevented, and the microcontroller can conserve power by placing the memory in a deep standby mode with a comparatively long recovery time.
    Type: Grant
    Filed: January 15, 2002
    Date of Patent: September 5, 2006
    Assignee: Oki Electric Industry Co., Ltd.
    Inventor: Toshinori Goto
  • Patent number: 7089405
    Abstract: A computer system includes a scoreboard mechanism that provides a locking scheme to preserve data dependencies. An index is used to unlock (i.e., invalidate) scoreboard entries when a terminating event associated with that entry's instruction has occurred. For a load instruction, the terminating event that triggers invalidation for a particular scoreboard entry is the return of the load data. An index is used to identify the scoreboard entry associated with the returning load instruction, since load instructions may return load data out of order.
    Type: Grant
    Filed: March 21, 2001
    Date of Patent: August 8, 2006
    Assignee: Sun Microsystems, Inc.
    Inventor: Sharada Yeluri
  • Patent number: 7089407
    Abstract: A packet processing device which can reserve a calculation time for each instruction procedure execution unit independent of the data length of a packet by sequentially selecting an instruction procedure execution unit by a selection signal generation unit and performing a calculation on each packet when packets are consecutively input to a packet access unit is disclosed.
    Type: Grant
    Filed: February 23, 2001
    Date of Patent: August 8, 2006
    Assignee: Fujitsu Limited
    Inventors: Yuji Kojima, Tetsumei Tsuruoka, Yasuyuki Umezaki, Yoshitomo Shimozono
  • Patent number: 7085913
    Abstract: A method and structure for an integrated circuit is disclosed. The invention includes a plurality of logic cores, a plurality of local hubs connected to said logic cores, and a plurality of global hubs connected to said local hubs. The local hubs and the global hubs transfer data between the logic cores.
    Type: Grant
    Filed: February 13, 2002
    Date of Patent: August 1, 2006
    Assignee: International Business Machines Corporation
    Inventors: W. Riyon Harding, Sebastian T. Ventrone
  • Patent number: 7080239
    Abstract: A loop control circuit and a loop control method that allow control on multiplexed loop operations to be executed with less overhead are provided. A loop control circuit comprises a means for address storage that stores in memory the address of a loop instruction at a second or subsequent stage in multiplexed loops or the address of the instruction immediately preceding the loop instruction when the loop instruction is executed for the first time, a means for loop instruction recurrence prediction that predicts a recurrence of the loop instruction at the second or subsequent stage by comparing the address of the loop instruction or the address of the instruction immediately preceding the loop instruction stored in memory with a value at a program counter and a means for loop instruction skipping that skips the loop instruction if it is predicted that the loop instruction is to occur next.
    Type: Grant
    Filed: October 30, 2002
    Date of Patent: July 18, 2006
    Assignee: Oki Electric Industry, Co., Ltd.
    Inventor: Teruaki Uehara
  • Patent number: 7069419
    Abstract: A system-on-a-chip integrated circuit has a field programmable gate array core having logic clusters, static random access memory modules, and routing resources, a field programmable gate array virtual component interface translator having inputs and outputs, wherein the inputs are connected to the field programmable gate array core, a microcontroller, a microcontroller virtual component interface translator having input and outputs, wherein the inputs are connected to the microcontroller, a system bus connected to the outputs of the field programmable gate array virtual component interface translator and also to the outputs of said microcontroller virtual component interface translator, and direct connections between the microcontroller and the routing resources of the field programmable gate array core.
    Type: Grant
    Filed: April 8, 2004
    Date of Patent: June 27, 2006
    Assignee: Actel Corporation
    Inventors: Arunangshu Kundu, Arnold Goldfein, William C. Plants, David Hightower