Patents Examined by Daniel H. Pan
-
Patent number: 8090930Abstract: In a pipelined computer architecture in which instructions may be removed from the instruction queue out of sequence, instruction queue status at a cycle K is determined by adding together the number of invalid instructions or free rows in the queue during cycle K?2, the number of instructions issued for cycle K?1 and the number of instructions speculatively issued in cycle K?1 that have produced a cache hit, and subtracting from the sum the number of instructions enqueued for cycle K?1. The result indicates the number of invalid instructions in the queue cycle K. The number of invalid entries instructions, the number of issued instructions, and the number of enqueued instructions are preferably represented as flat vectors, so that adding is performed by shifting in one direction, while subtracting is performed by shifting in the opposite direction. The result is compared with either the number of instructions to be enqueued in the present cycle, which number is encoded, or with a predetermined value.Type: GrantFiled: January 31, 2003Date of Patent: January 3, 2012Assignee: Hewlett-Packard Development Company, L.P.Inventors: Timothy Charles Fischer, Daniel Lawrence Leibholz, James Arthur Farrell
-
Patent number: 7340585Abstract: A fast linked multiprocessor network (22) including a plurality of processing modules (24, 26, 28, 30, 32, and 34) implemented on a field programmable gate array (10) and a plurality of configurable uni-directional links (21, 23, 25, 27, 29, 31) coupled among at least two of the plurality processing modules providing a streaming communication channel between at least two of the plurality of processing modules.Type: GrantFiled: August 27, 2002Date of Patent: March 4, 2008Assignee: Xilinx, Inc.Inventors: Satish R. Ganesan, Goran Bilski, Usha Prabhu, Ralph D. Wittig
-
Patent number: 7328328Abstract: An apparatus and method are provided for extending a microprocessor instruction set to specify non-temporal memory references at the instruction level. The apparatus includes translation logic and extended execution logic. The translation logic translates an extended instruction into a micro instruction sequence. The extended instruction has an extended prefix and an extended prefix tag. The extended prefix specifies a non-temporal access for a memory reference prescribed by the extended instruction, where the non-temporal access cannot be specified by an existing instruction from an existing instruction set. The extended prefix tag indicates the extended prefix, where the extended prefix tag is an otherwise architecturally specified opcode within the existing instruction set. The extended execution logic is coupled to the translation logic. The extended execution logic receives the micro instruction sequence, and executes the non-temporal access to perform the memory reference.Type: GrantFiled: August 22, 2002Date of Patent: February 5, 2008Assignee: IP-First, LLCInventors: G. Glenn Henry, Rodney E. Hooker, Terry Parks
-
Patent number: 7315932Abstract: 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: GrantFiled: September 8, 2003Date of Patent: January 1, 2008Inventor: William C. Moyer
-
Patent number: 7315936Abstract: 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: GrantFiled: March 17, 2004Date of Patent: January 1, 2008Assignee: University of North Carolina at CharlotteInventor: Kenneth E. Koch, III
-
Patent number: 7308560Abstract: 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: GrantFiled: February 3, 2005Date of Patent: December 11, 2007Assignee: Oki Electric Industry Co., Ltd.Inventors: Danya Sugai, Teruaki Uehara
-
Patent number: 7290122Abstract: 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: GrantFiled: August 29, 2003Date of Patent: October 30, 2007Assignee: Motorola, Inc.Inventors: Philip E. May, Brian G. Lucas, Kent D. Moat
-
Patent number: 7266672Abstract: 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: GrantFiled: December 16, 2002Date of Patent: September 4, 2007Assignee: Broadcom CorporationInventors: Ethan Mirsky, Robert French, Ian Eslick
-
Patent number: 7237092Abstract: 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: GrantFiled: July 18, 2003Date of Patent: June 26, 2007Assignee: Infineon Technologies AGInventors: Christian May, Holger Sedlak
-
Patent number: 7200738Abstract: 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: GrantFiled: April 18, 2002Date of Patent: April 3, 2007Assignee: Micron Technology, Inc.Inventors: Neal Andrew Crook, Alan T Wootton, James Peterson
-
Patent number: 7197625Abstract: 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: GrantFiled: September 15, 2000Date of Patent: March 27, 2007Assignee: MIPS Technologies, Inc.Inventors: Timothy J. van Hook, Peter Hsu, William A. Huffman, Henry P. Moreton, Earl A. Killian
-
Patent number: 7191313Abstract: 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: GrantFiled: August 27, 2002Date of Patent: March 13, 2007Assignee: Sony CorporationInventor: Hideharu Takamuki
-
Patent number: 7185184Abstract: 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: GrantFiled: October 5, 2000Date of Patent: February 27, 2007Assignee: Infineon Technologies AGInventor: Xiaoning Nie
-
Patent number: 7162610Abstract: 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: GrantFiled: September 12, 2003Date of Patent: January 9, 2007Assignee: Seiko Epson CorporationInventors: 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: 7139903Abstract: 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: GrantFiled: December 19, 2000Date of Patent: November 21, 2006Assignee: Hewlett-Packard Development Company, L.P.Inventors: Andre C. Seznec, Stephen Felix
-
Patent number: 7124280Abstract: 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: GrantFiled: April 13, 2001Date of Patent: October 17, 2006Assignee: Sharp Kabushiki KaishaInventors: Shingo Kamitani, Kouichi Hatakeyama
-
Patent number: 7107434Abstract: 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: GrantFiled: December 19, 2000Date of Patent: September 12, 2006Assignee: Board of Regents, The University of TexasInventors: Lizy Kurian John, Srivatsan Srinivasan
-
Patent number: 7103758Abstract: 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: GrantFiled: January 15, 2002Date of Patent: September 5, 2006Assignee: Oki Electric Industry Co., Ltd.Inventor: Toshinori Goto
-
Patent number: 7089407Abstract: 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: GrantFiled: February 23, 2001Date of Patent: August 8, 2006Assignee: Fujitsu LimitedInventors: Yuji Kojima, Tetsumei Tsuruoka, Yasuyuki Umezaki, Yoshitomo Shimozono
-
Patent number: 7089405Abstract: 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: GrantFiled: March 21, 2001Date of Patent: August 8, 2006Assignee: Sun Microsystems, Inc.Inventor: Sharada Yeluri