Patents Examined by Daniel Pan
  • Patent number: 7237089
    Abstract: An operation method has processing for applying a same type of operation in parallel to N M-bit operands to obtain N M-bit operation results executed on a computer. Here, N is an integer equal to or greater than 2 and M is an integer equal to or greater than 1. The operation method includes: an operation step of applying the type of operation to an N*M-bit provisional operand that is formed by concatenating the N M-bit operands, to obtain one N*M-bit provisional operation result, and generating correction information based on an effect had, by applying the operation, on each M bits of the provisional operation result from a bit that neighbors the M bits; and a correction step of correcting the provisional operation result in M-bit units with use of the correction information, to obtain the N M-bit operation results.
    Type: Grant
    Filed: November 26, 2002
    Date of Patent: June 26, 2007
    Assignee: Matsushita Electric Industrial Co., Ltd.
    Inventor: Masato Suzuki
  • Patent number: 7210026
    Abstract: A processor includes a set of registers, each individually addressable using a corresponding register identification, and plural virtual registers, each individually addressable using a corresponding virtual register identification. The processor transfers values between the set of registers and the plural virtual registers under control of a transfer operation. The processor can include a virtual register cache configured to store multiple sets of virtual register values, such that each of the multiple sets of virtual register values corresponds to a different context. Each of the plural virtual registers can include a valid bit that is reset on a context switch and set when a value is loaded from the virtual register cache. The processor can include a virtual register translation look-aside buffer for tracking the location of each set of virtual register values associated with each context.
    Type: Grant
    Filed: June 28, 2002
    Date of Patent: April 24, 2007
    Assignee: Sun Microsystems, Inc.
    Inventor: Peter C. Damron
  • Patent number: 7200735
    Abstract: A new general method for building hybrid processors achieves higher performance in applications by allowing more powerful, tightly-coupled instruction set extensions to be implemented in reconfigurable logic. New instructions set configurations can be discovered and designed by automatic and semi-automatic methods. Improved reconfigurable execution units support deep pipelining, addition of additional registers and register files, compound instructions with many source and destination registers and wide data paths. New interface methods allow lower latency, higher bandwidth connections between hybrid processors and other logic.
    Type: Grant
    Filed: April 10, 2002
    Date of Patent: April 3, 2007
    Assignee: Tensilica, Inc.
    Inventors: Albert Wang, Christopher Rowen, Bernard Rosenthal
  • Patent number: 7194602
    Abstract: A data processor according to the present invention executes instructions described in first and second instruction formats. The first instruction format defines a register-addressing field of a predetermined size, while the second instruction format defines a register-addressing field of a size larger than that of the register-addressing field defined by the first instruction format. The data processor includes: instruction-type identifier, responsive to an instruction, for identifying the received instruction as being described in the first or second instruction format by the instruction itself; a first register file including a plurality of registers; and a second register file also including a plurality of registers, the number of the registers included in the second register file being larger than that of the registers included in the first register file.
    Type: Grant
    Filed: March 12, 2003
    Date of Patent: March 20, 2007
    Assignee: Matsushita Electric Industrial Co., Ltd.
    Inventors: Takeshi Kishida, Masaitsu Nakajima
  • Patent number: 7185177
    Abstract: A computing architecture and software techniques are described which modifies the basic sequential instruction fetching mechanism of a processor by separating a program's control flow from its functional execution flow. A compiled sequential HLL program's static control structures are analyzed and a separate program based on its own unique instructions is created that primarily generates addresses for the selection of functional execution instructions. The original program is now represented by an instruction fetch program and a set of function/logic execution instructions. This basic split allows multiple instruction addresses to be generated in parallel to access multiple instruction memories. These multiple instruction memories contain only the function/logic instructions of the program and no control structure operations such as branches or calls. All the original program's control instructions are split from the original program and used to create the instruction addressing program.
    Type: Grant
    Filed: August 26, 2003
    Date of Patent: February 27, 2007
    Inventor: Gerald George Pechanek
  • Patent number: 7127594
    Abstract: A multiprocessor system capable of responding to various types of processing to improve the processing efficiency of the entire system. Each of a plurality of processors holds information indicating the program control mode, a VLIW mode or a multithread mode, in a program synchronization flag of a program controller. A master processor, responsible for program control of the entire system, notifies an instruction memory section for storing instructions in a program of updated information when the program synchronization flag information is updated.
    Type: Grant
    Filed: August 29, 2002
    Date of Patent: October 24, 2006
    Assignee: Matsushita Electric Industrial Co., Ltd.
    Inventor: Yukihiro Sasagawa
  • Patent number: 7127590
    Abstract: Disclosed is a computer processor (300) comprising a plurality of processing units (FU_n) and communication means (302) by which the plurality of processing units are interconnected. The communication means is dynamically configurable based on a computer program to be processed such that the processing units can selectively be arranged in at least first and second distinct configurations. The first distinct configuration (eg. FIG. 5) has a larger number of the processing units arranged in parallel than the second distinct configuration (eg. FIG. 6), and the second distinct configuration has a deeper pipeline depth than the first distinct configuration.
    Type: Grant
    Filed: June 2, 2000
    Date of Patent: October 24, 2006
    Assignee: Canon Kabushiki Kaisha
    Inventor: Timothy John Lindquist
  • Patent number: 7069416
    Abstract: A single chip active memory includes a plurality of memory stripes, each coupled to a full word interface and one of a plurality of processing element (PE) sub-arrays. The large number of couplings between a PE sub-array and its associated memory stripe are managed by placing the PE sub-arrays so that their data paths run at right angle to the data paths of the plurality of memory stripes. The data lines exiting the memory stripes are run across the PE sub-arrays on one metal layer. At the appropriate locations, the data lines are coupled to another orthogonally oriented metal layer to complete the coupling between the memory stripe and its associated PE sub-array. The plurality of PE sub-arrays are mapped to form a large logical array, in which each PE is coupled to four other PEs. Physically distant PEs are coupled using current mode differential logical couplings an drivers to insure good signal integrity at high operational speeds. Each PE contains a small DRAM register array.
    Type: Grant
    Filed: June 4, 2004
    Date of Patent: June 27, 2006
    Assignee: Micron Technology, Inc.
    Inventor: Graham Kirsch
  • Patent number: 7051186
    Abstract: A multi-port register file may be selectively bypassed such that any element in a result vector is bypassed to the same index of an input vector of a succeeding operation when the element is requested in the succeeding operation in the same index as it was generated. Alternatively, the results to be placed in a register file may be bypassed to a succeeding operation when the N elements that dynamically compose a vector are requested as inputs to the next operation exactly in the same order as they were generated. That is, for the purposes of bypassing, the N vector elements are treated as a single entity. Similar rules apply for the write-through path.
    Type: Grant
    Filed: August 29, 2002
    Date of Patent: May 23, 2006
    Assignee: International Business Machines Corporation
    Inventors: Sameh Asaad, Jaime H. Moreno, Victor Zyuban
  • Patent number: 7003648
    Abstract: A multi-threaded processor provides for efficient flow-control from a pool of un-executed stores in an instruction queue to a store queue. The processor also includes similar capabilities with respect to load instructions. The processor includes logic organized into a plurality of thread processing units (“TPUs”) and allocation logic that monitors each TPUs demand for entries in the store queue. Demand is determined by subtracting an adjustable threshold value from the most recently assigned store identifier value. If the difference between the most recently assigned instruction identifier for a TPU and the TPU's threshold is non-zero, then it is determined that the TPU has demand for at least one entry in the store queue. The allocation logic includes arbitration logic that determines which one of a plurality of TPUs with store queue demand should be allocated a free entry in the store queue.
    Type: Grant
    Filed: March 28, 2002
    Date of Patent: February 21, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: George Z. Chrysos, Chuan-Hua Chang, Joel S. Emer, John H. Mylius, Peter Soderquist
  • Patent number: 6965987
    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: November 17, 2003
    Date of Patent: November 15, 2005
    Assignee: Seiko Epson Corporation
    Inventors: Cheryl Senter Brashears, Johannes Wang, Le Trong Nguyen, Derek J. Lentz, Yoshiyuki Miyayama, Sanjiv Garg, Yasuaki Hagiwara, Te-Li Lau, Sze-Shun Wang, Quang H. Trang
  • Patent number: 6948052
    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 29, 2002
    Date of Patent: September 20, 2005
    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: 6941447
    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: November 5, 2003
    Date of Patent: September 6, 2005
    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: 6901506
    Abstract: A non-maximal arrangement of component tiles is reconfigured into a maximal arrangement. For each identified active segment of a first span not having a matching active segment in a second span, a maximal component tile having a width generally equal to the width of the identified active segment of the first span and a height generally equal to the distance separating the first and second spans is generated. The first span is then modified by deleting the matching active segment of the first span while adding each unmatched active segment of the second span. Maximal space tiles are generated from inactive segments of the spans using a similar process. The process is then repeated for each unselected span which fails to match the modified first span.
    Type: Grant
    Filed: March 28, 2002
    Date of Patent: May 31, 2005
    Assignee: Sun Microsystems, Inc.
    Inventor: Zhaoyun Xing
  • Patent number: 6321329
    Abstract: Apparatus for processing data is provided, said apparatus comprising: a main processor 4 driven by a main processor clock signal clk at a main processor clock frequency; debug logic 6, 12 at least a portion 12 of which is driven by a debug clock signal tck at a debug clock frequency, said debug clock frequency being different to said main processor clock frequency and said main processor clock signal clk being asynchronous with said debug clock signal tck; and an instruction transfer register ITR into which a data processing instruction may be transferred by said debug logic 12 and from which said data processing instruction may be read by said main processor 4; wherein when switched from a normal mode to a debug mode said main processor 4 continues to be driven by said main processor clock signal clk executing no-operation instructions until a data processing instruction is present within said instruction transfer register ITR and said debug logic 12 triggers said main processor to read and execute said data
    Type: Grant
    Filed: May 19, 1999
    Date of Patent: November 20, 2001
    Assignee: Arm Limited
    Inventors: David Vivian Jaggar, William Adam Hohl
  • Patent number: 6289444
    Abstract: A method for associating subroutine calls with corresponding targets includes the step of maintaining a first table of entries. Each entry in the first table includes: a first table first address identifying an entry point address for a corresponding subroutine; and a first table second address identifying a return address of a return for the corresponding subroutine. A second table of entries is also maintained. Each entry in the second table includes: a second table first address identifying a return address of a return for a respective subroutine called by a corresponding subroutine call instruction; a second table second address identifying a target address of the return for the respective subroutine; and a second table third address identifying an entry point address for the respective subroutine. It is determined whether the second table stores an entry whose second table first address corresponds to a return address of a return for a considered subroutine.
    Type: Grant
    Filed: June 2, 1999
    Date of Patent: September 11, 2001
    Assignee: International Business Machines Corporation
    Inventor: Ravindra K. Nair
  • Patent number: 6151669
    Abstract: A floating-point unit of a computer includes a floating-point computation it, floating-point registers and a floating-point status register. The floating-point status register may include a main status field and one or more alternate status fields. Each of the status fields contains flag and control information. Different floating-point operations may be associated with different status fields. Subfields of the floating-point status register may be updated dynamically during operation. The control bits of the alternate status fields may include a trap disable bit for deferring interruptions during speculative execution. A widest range exponent control bit in the status fields may be used to prevent interruptions when the exponent of an intermediate result is within the range of the register format but exceeds the range of the memory format. The floating-point data may be stored in big endian or little endian format.
    Type: Grant
    Filed: October 10, 1998
    Date of Patent: November 21, 2000
    Assignee: Institute For The Development of Emerging Architectures, L.L.C.
    Inventors: Jerome C. Huck, Peter Markstein, Glenn T. Colon-Bonet, Alan H. Karp, Roger Golliver, Michael Morrison, Gautam B. Doshi, Guillermo Juan Rozas
  • Patent number: 6081856
    Abstract: A system, apparatus, and method for emulating the operation of a peripheral device of a computer. An adapter for communicating keyboard data to a computer via a data link and for communicating display data from the computer to an external device. The adapter eliminates the need for the peripheral device to be directly connected to the computer by enabling the computer to operate without the peripheral device while still receiving or generating the data normally processed by the peripheral device. The adapter presents itself to the computer as if the adapter were the emulated peripheral device. Thus, the operation of the adapter is transparent to the computer. A remote user can access the computer, via the adapter, by communicating keyboard data generated by the user on a keyboard at a remote location. The adapter communicates display data to the user at the remote location, so that the user can monitor the operation and output of the computer.
    Type: Grant
    Filed: December 2, 1997
    Date of Patent: June 27, 2000
    Assignee: BellSouth Intellectual Property Corporation
    Inventor: Edward Irby Comer
  • Patent number: 5574934
    Abstract: A computer system for transmitting two or more types of signals. Each type of signal is assigned a priority level. Signals of a particular type are transmitted as they become ready for transmission, unless signals of a different type having a greater priority become ready for transmission. In that case, the transmission of the low-priority signals is interrupted to allow transmission of the high-priority signals. The transmission of the low-priority signals is resumed after the transmission of the high-priority signals is complete. In a preferred embodiment directed to conferencing systems, audio signals are assigned higher priorities than video, data, and control signals in order to provide a high-quality to the audio portion of a conferencing session.
    Type: Grant
    Filed: November 15, 1994
    Date of Patent: November 12, 1996
    Assignee: Intel Corporation
    Inventors: Mojtaba Mirashrafi, Benjamin Vrvilo, Peter Tung, Krishnan Rajamani
  • Patent number: 5551052
    Abstract: A protocol for communication through a bus controller to control data transfers between a host processing platform and the data bus of a bit map printer. This protocol is optimized for a data bus which connects a number of ASIC accelerator cards in addition to the printer, disk controller, bus controller and other typical system cards. The basic data transfer cycle transfers eight data words on the bus between ASIC's, I/O devices, printer and any other devices.
    Type: Grant
    Filed: February 14, 1995
    Date of Patent: August 27, 1996
    Assignee: Xerox Corporation
    Inventors: Eric S. Barnes, George L. Eldridge, Uoc Nguyen, Ajit Shah, Ronald E. Weir