Patents Examined by Daniel H. Pan
  • Patent number: 7065634
    Abstract: Methods, systems, and articles of manufacture consistent with the present invention provide a development tool that enables computer programmers to design and develop a data flow program for execution in a multiprocessor computer system. The tool allows the programmer to define a region divided into multiple blocks, wherein each block is associated with data operated on by code segments of the data flow program. The development tool also maintains dependencies among the blocks, each dependency indicating a relationship between two blocks that indicates that the portion of the program associated with a first block of the relationship needs the resultant data provided by the portions of the program associated with a second block of the relationship. The development tool supports several debugging commands, including insertion of multiple types of breakpoints, adding and deleting dependencies, single stepping data flow program execution, and the like.
    Type: Grant
    Filed: November 8, 2001
    Date of Patent: June 20, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Brad R. Lewis, Michael L. Boucher, Noah Horton
  • Patent number: 7062633
    Abstract: It is decided whether a first source data from the memory 101 is a data which is to be subjected to arithmetic or not by a state flag detection means 150, the result of the decision is retained as a state flag, and it is decided by a condition decision means 109 whether or not the state flag satisfies a condition for performing the arithmetic. A control means 110 controls whether an ALU 100 should perform the arithmetic or not on the basis of the condition satisfaction/dissatisfaction information.
    Type: Grant
    Filed: December 15, 1999
    Date of Patent: June 13, 2006
    Assignee: Matsushita Electric Industrial Co., Ltd.
    Inventors: Mana Hamada, Shunichi Kuromaru, Tomonori Yonezawa, Tsuyoshi Nakamura
  • Patent number: 7051194
    Abstract: When an instruction decoder decodes an instruction code included in packet data, a copy flag and copy number information are provided to a self-synchronous transfer control circuit. In the self-synchronous transfer control circuit, when a data transfer enabling signal is applied from a C element in a subsequent stage, a node number manipulation circuit manipulates a node number to make copies such that packets can be distinguished from each other, and then data is transferred from a pipeline register to a pipeline register in a subsequent stage.
    Type: Grant
    Filed: March 21, 2001
    Date of Patent: May 23, 2006
    Assignee: Sharp Kabushiki Kaisha
    Inventors: Takuji Uneyama, Motoki Takase, Tsuyoshi Muramatsu
  • Patent number: 7047397
    Abstract: A method for executing an instruction with a semi-fast operation in a staggered ALU. The method of one embodiment comprises generating a first operation and a second operation from a micro-instruction. The first and second operations are scheduled for execution in a staggered arithmetic logic unit (ALU). The first and second operations are separated by N clock cycles. Data from the first operation is communicated to the second operation for use with execution of the second operation.
    Type: Grant
    Filed: September 13, 2002
    Date of Patent: May 16, 2006
    Assignee: Intel Corporation
    Inventor: Ross A. Segelken
  • Patent number: 7032102
    Abstract: A signal processing device and method of supplying a signal processing result to a plurality of registers arranged in different register files. A plurality of different register files are selected based on a corresponding indication in said instruction word and the register address is supplied to said selected register files. Result values can be broadcasted to multiple registers in a single processor cycle while a copy operation between different register files is eliminated. Broadcasting is thus implemented via overlapping register address spaces, since physical registers having the same logical register address are provided in different register files.
    Type: Grant
    Filed: December 10, 2001
    Date of Patent: April 18, 2006
    Assignee: Koninklijke Philips Electronics N.V.
    Inventors: Jeroen Anton Johan Leijten, Marco Jan Gerrit Bekooij, Adrianus Josephus Bink, Johan Sebastiaan Henri Van Gageldonk, Jan Hoogerbrugge, Bart Mesman, Cornelis Arnoldus Josephus Van Eijk
  • Patent number: 7028168
    Abstract: A system for performing matrix operations utilizes a processor, memory, and a matrix operation manager. The processor has a memory cache. The memory is external to the processor and stores first and second matrices. The matrix operation manager is configured to mathematically combine the first matrix with the scond matrix utilizing a hoisted matrix algorithm for hoisting values of the first matrix, and the hoisted matrix algorithm has an outer loop and an inner loop that is performed to completion for each iteration of the outer loop. The matrix operation manager, for each iteration of the outer loop, is configured to load to the cache and to write to a contiguous portion of the memory, before performing the inner loop, values from the first matrix that are to be combined, via performance of the inner loop, with values from the second matrix.
    Type: Grant
    Filed: December 5, 2002
    Date of Patent: April 11, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Kevin R. Wadleigh
  • Patent number: 7024543
    Abstract: The present invention provides an apparatus and method for synchronizing a first pipeline and a second pipeline of a processor arranged to execute a sequence of instructions. The processor is arranged to route an instruction in the sequence through either the first or the second pipeline dependent on predetermined criteria, each pipeline having a plurality of pipeline stages including a retirement stage. Counter logic is provided for maintaining a first counter relating to the first pipeline and a second counter relating to the second pipeline. For each instruction in the first pipeline a determination is made as to when that instruction reaches a point within the first pipeline where an exception status of that instruction is resolved, and the counter logic is arranged to increment the first counter responsive to such determination.
    Type: Grant
    Filed: September 13, 2002
    Date of Patent: April 4, 2006
    Assignee: ARM Limited
    Inventors: Richard Roy Grisenthwaite, Ian Victor Devereux
  • Patent number: 7020768
    Abstract: The present invention provides an apparatus and method for facilitating debugging of sequences of processing instructions. The apparatus comprises a processing circuit for executing processing instructions, the processing circuit having multiple states of operation, with each state of operation being assigned a context identifier to identify the state of operation. Further, logic is provided for facilitating debugging of sequences of processing instructions executed by the processing circuit. The logic comprises control logic, responsive to control parameters, to perform predetermined actions to facilitate debugging, and triggering logic for generating the control parameters dependent on data received from the processing circuit indicative of the processing being performed by the processing circuit.
    Type: Grant
    Filed: February 26, 2001
    Date of Patent: March 28, 2006
    Assignee: ARM Limited
    Inventors: Andrew Brookfield Swaine, Conrado Blasco Allué, Ian Victor Devereux, David James Williamson, Anthony Neil Berent
  • Patent number: 7013381
    Abstract: Herein disclosed is a function-variable type DSP apparatus comprising: a storage section for storing a plurality of DSP microprogram parts; and a plurality of DSP executing sections each for executing the DSP microprogram parts to implement a DSP function, each of the DSP microprogram parts being executable by each of the DSP executing sections to perform a set of steps necessary to implement a DSP base function forming part of a DSP function, whereby the DSP executing sections are operative to receive the DSP microprogram parts simultaneously from the storage section, and selectively execute the DSP microprogram parts in a sequence to respectively implement desired DSP functions.
    Type: Grant
    Filed: December 10, 2002
    Date of Patent: March 14, 2006
    Assignee: Matsushita Electric Industrial Co., Ltd.
    Inventor: Katsushi Yamada
  • Patent number: 7010671
    Abstract: A computer system is disclosed herein including a given microprocessor specifically designed to operate in a virtual operating mode that allows a software program previously written for an earlier designed single program microprocessor to execute in a protected, paged, multi-tasking environment under a particularly designed host operating software program. The system also includes means for executing software interrupt (INTn) instructions, using emulation software forming part of the host program in order to emulate the way in which these instructions would have been executed by the earlier microprocessor. As a unique improvement to this overall computer system, certain ones of the INTn instructions are executed by means of emulation software while others are executed by means of the previously written program in cooperation with the given microprocessor and its host operating software program.
    Type: Grant
    Filed: March 7, 2002
    Date of Patent: March 7, 2006
    Assignee: Intel Corporation
    Inventors: John H. Crawford, Donald Alpert
  • Patent number: 7010672
    Abstract: A digital processor having a programmable breakpoint/watchpoint (BWP) trigger circuit that generates BWP triggers in response to user-defined combinations and/or sequences of trigger events. Several trigger event detection registers generate pre-trigger signals when stored trigger values (e.g., instruction addresses or data addresses/values) match addresses/values transmitted on busses within the processor core. Sum-of-products circuits generate intermediate combinational trigger signals in accordance with user-defined combinations of the pre-trigger signals. A finite state machine generates an intermediate sequential trigger signal in response to user-defined sequences of the intermediate combinational trigger signals. Either the intermediate combinational trigger signals or the intermediate sequential trigger signal are selectively passed to an action generator, which transmits an associated breakpoint or watchpoint trigger signal to a decode stage of the processor core or other destination.
    Type: Grant
    Filed: December 11, 2002
    Date of Patent: March 7, 2006
    Assignee: Infineon Technologies AG
    Inventors: Sagheer Ahmad, Anand Shirwal
  • Patent number: 7003650
    Abstract: A method and apparatus for solving the output dependence problem in an explicit parallelism architecture microprocessor with consideration for implementation of the precise exception. In case of an output dependence hazard, the issue into bypass of a result of the earlier issued operation having an output hazard is cancelled. Latencies of short instructions are aligned by including additional stages on the way of writing the results into the register file in shorter executive units, which allows to save the issue order while writing the results into the register file. For long and unpredictable latencies of the instructions, writing of the result of the earlier issued operation having an output dependence hazard into the register file is cancelled after checking for no precise exception condition. All additional stages are connected to the bypass not to increase the result access time in case of this result use in the following operations.
    Type: Grant
    Filed: December 11, 2001
    Date of Patent: February 21, 2006
    Assignee: Elbrus International
    Inventors: Boris A. Babaian, Valeri G. Gorokhov, Feodor A. Gruzdov, Yuli K. Sakhin, Vladimir V. Rudometov, Valdimir Y. Volkonsky
  • Patent number: 7000097
    Abstract: The present invention provides a system and method for managing load and store operations necessary for reading from and writing to memory or I/O in a superscalar RISC architecture environment. To perform this task, a load store unit is provided whose main purpose is to make load requests out of order whenever possible to get the load data back for use by an instruction execution unit as quickly as possible. A load operation can only be performed out of order if there are no address collisions and no write pendings. An address collision occurs when a read is requested at a memory location where an older instruction will be writing. Write pending refers to the case where an older instruction requests a store operation, but the store address has not yet been calculated. The data cache unit returns 8 bytes of unaligned data. The load/store unit aligns this data properly before it is returned to the instruction execution unit.
    Type: Grant
    Filed: July 1, 2002
    Date of Patent: February 14, 2006
    Assignee: Seiko Epson Corporation
    Inventors: Cheryl D. Senter, Johannes Wang
  • Patent number: 7000090
    Abstract: A center focussed SIMD array system including an SIMD array including a plurality of processing elements arranged in a number of columns and rows and having two mutually perpendicular axes of symmetry defining four quadrants; and a sequencer circuit for moving the data in each element to the next adjacent element towards one axis of symmetry until the data is in the elements along the one axis of symmetry and then moving the data in the elements along the the one axis of symmetry to the next adjacent element towards the other axis of symmetry until the data is at the four central elements at the origin of the axes of symmetry.
    Type: Grant
    Filed: May 30, 2002
    Date of Patent: February 14, 2006
    Assignee: Analog Devices, Inc.
    Inventors: Yosef Stein, Joshua A. Kablotsky
  • Patent number: 7000092
    Abstract: The present invention is directed to a system and method for heterogeneous multiprocessor reference design. In an aspect of the present invention, a method of designing a multiprocessor integrated circuit may include receiving a specification for an integrated circuit having multiprocessors, the specification having a desired functionality. Functional components are chosen which provide the desired functionality of the received specification. The functional components are implemented in a modular multiprocessor reference design as an example system for the multiprocessor integrated circuit. The implemented functional components of the modular multiprocessor reference design may be suitable for testing software for operation by the multiprocessor integrated circuit. Moreover, the modular multiprocessor reference design enables testing of interaction of functional components for providing the desired functionality of the received specification.
    Type: Grant
    Filed: December 12, 2002
    Date of Patent: February 14, 2006
    Assignee: LSI Logic Corporation
    Inventors: Judy Gehman, Jeffrey Holm, Steven Emerson
  • Patent number: 7000095
    Abstract: A method and apparatus for overlaying hazard clearing with a jump instruction within a pipeline microprocessor is described. The apparatus includes hazard logic to detect when a jump instruction specifies that hazards are to be cleared as part of a jump operation. If hazards are to be cleared, the hazard logic disables branch prediction for the jump instruction, thereby causing the jump instruction to proceed down the pipeline until it is finally resolved, and flushing the pipeline behind the jump instruction. Disabling of branch prediction for the jump instruction effectively clears all execution and/or instruction hazards that preceded the jump instruction. Alternatively, hazard logic causes issue control logic to stall the jump instruction for n-cycles until all hazards are cleared. State tracking logic may be provided to determine whether any instructions are executing in the pipeline that create hazards. If so, hazard logic performs normally.
    Type: Grant
    Filed: September 6, 2002
    Date of Patent: February 14, 2006
    Assignee: MIPS Technologies, Inc.
    Inventors: Niels Gram Jeppesen, G. Michael Uhler
  • Patent number: 6986027
    Abstract: This invention is a method and system for hybrid prediction of load addresses and/or values. The new scheme for value prediction provides prediction based on last values and strides, as well as context prediction, without the use of a sophisticated switching scheme between several predictors. The system collects patterns of deltas of subsequent values instead of the values itself in a first table. Thus, a last value prediction can be achieved by predicting a ‘pattern’ of just one stride equal to zero. A stride predictor uses a pattern of one constant stride. And a certain pattern of values is modeled by recording the pattern of deltas between the values and adding the deltas to the last value. The switching scheme is inherently included in the system itself and operates basically by immediate evaluation of counters in the pattern history table.
    Type: Grant
    Filed: May 24, 2001
    Date of Patent: January 10, 2006
    Assignee: International Business Machines Corporation
    Inventors: Harry Stefan Barowski, Rolf Hilgendorf
  • Patent number: 6986024
    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: October 30, 2002
    Date of Patent: January 10, 2006
    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: 6986029
    Abstract: A micro-controller includes a dictionary memory for storing instruction codes which appear in a program, and a compressed code memory for storing compressed codes each converted from each of the instruction codes included in the program. Each compressed code has a word length sufficiently long to identify all instruction codes included in the program. Each compressed code has a value indicative of an address in the dictionary memory at which an associated instruction code is stored. The micro-controller is responsive to an instruction code read request which specifies an address of a compressed code to read the compressed code stored in the specified address in the compressed code memory, and to subsequently read an instruction code stored in an address indicated by the compressed code in the dictionary memory.
    Type: Grant
    Filed: July 24, 2002
    Date of Patent: January 10, 2006
    Assignee: Hitachi, Ltd.
    Inventors: Hiromichi Yamada, Dai Fujii, Yasuhiro Nakatsuka, Takashi Hotta, Kotaro Shimamura, Tatsuki Inuduka, Takanaga Yamazaki
  • Patent number: 6983360
    Abstract: Pieces of input data, which can be either setup data or program data with an associated identifier, are provided to a processing engine through a single input data path. After a system initially resets, the processing engine runs in setup mode. When an identifier for setup data is detected, input data is passed unchanged through an execution pipeline to control logic, which executes a setup program. The setup program loads a program counter, a memory, a register file counter, and a register file. When an identifier for program data is detected, the processing engine automatically switches to run mode and input data is processed in the execution pipeline. The processing engine automatically switches between run mode and setup mode depending on the identifier. Using a single input data path decreases hardware complexity and allows input data to be processed without external control logic.
    Type: Grant
    Filed: August 30, 2001
    Date of Patent: January 3, 2006
    Assignee: Micron Technology, Inc.
    Inventors: Neal Andrew Crook, James Peterson