Patents Examined by Dzung C. Nguyen
  • Patent number: 6167509
    Abstract: A high-performance CPU of the RISC (reduced instruction set) type employs a standardized, fixed instruction size, and permits only simplified memory access data width and addressing modes. The instruction set is limited to register-to-register operations and register load/store operations. Performance can be speeded up by predicting the target of a branch and prefetching the new instruction based upon this prediction; a branch prediction rule is followed that requires all forward branches to be predicted not-taken and all backward branches (as is common for loops) to be predicted as taken. Another performance improvement makes use of unused bits in the standard. sized instruction to provide a hint of the expected target address for jump and jump to subroutine instructions or the like. The target can thus be prefetched before the actual address has been calculated and placed in a register.
    Type: Grant
    Filed: May 16, 1994
    Date of Patent: December 26, 2000
    Assignee: Compaq Computer Corporation
    Inventors: Richard Lee Sites, Richard T. Witek
  • Patent number: 6134654
    Abstract: One embodiment of the present invention provides a system for predicting an address of an instruction following a branch instruction in a computer instruction stream. This system concurrently performs a fast single-cycle branch prediction operation to produce a first predicted address, and a more-accurate multiple-cycle branch prediction operation to produce a second predicted address. The system assumes that the first predicted address is correct and proceeds with a subsequent instruction fetch operation using the first predicted address. If the first predicted address is the same as the second predicted address, the subsequent instruction fetch operation is allowed to proceed using the first predicted address. Otherwise, the subsequent fetch operation is delayed so that it can proceed using the second predicted address.
    Type: Grant
    Filed: September 16, 1998
    Date of Patent: October 17, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Sanjay Patel, Adam R. Talcott, Rajasekhar Cherabuddi
  • Patent number: 6134652
    Abstract: An on-chip breakpoint unit of an integrated circuit device is connected to receive the contents of an instruction pointer register via an address communication path. The breakpoint unit has a breakpoint register configured to hold a breakpoint address at which the normal operation of the CPU is to be interrupted for diagnostic purposes, and a comparator circuit operative to compare the breakpoint address with the contents of the instruction pointer register and to issue a breakpoint signal on a breakpoint signal path when there is a match. The on-chip breakpoint unit also has circuitry configured to inhibit generation of the breakpoint signal for a next instruction to be executed upon resumption of normal operation of the CPU after it has been interrupted.
    Type: Grant
    Filed: December 19, 1997
    Date of Patent: October 17, 2000
    Assignee: SGS-Thomson Microelectronics Limited
    Inventor: Robert Warren
  • Patent number: 6131152
    Abstract: Cache layout is simplified by swizzling the bits of instruction words. Then the words are read out of cache by using a shuffled bit stream which simplifies cache layout. The object is further met using a cache structure which includes a device for storing a shuffled instruction stream; and a device for multiplexing bits from the storage means onto the bus so that the bits are deshuffled. The multiplexing means includes a multiplicity of lines leading from the storage device to the bus. The read lines do not cross each other.
    Type: Grant
    Filed: May 15, 1996
    Date of Patent: October 10, 2000
    Assignee: Philips Electronics North America Corporation
    Inventors: Michael Ang, Eino Jacobs
  • Patent number: 6128726
    Abstract: An improved digital signal processor, in which arithmetic multiply-add instructions are performed faster with substantial accuracy. The digital signal processor performs multiply-add instructions with look-ahead rounding, so that rounding after repeated arithmetic operations proceeds much more rapidly. The digital signal processor is also augmented with additional instruction formats which are particularly useful for digital signal processing. A first additional instruction format allows the digital signal processor to incorporate a small constant immediately into an instruction, such as to add a small constant value to a register value, or to multiply a register by a small constant value; this allows the digital signal processor to conduct the arithmetic operation with only one memory lookup instead of two.
    Type: Grant
    Filed: June 4, 1996
    Date of Patent: October 3, 2000
    Assignee: Sigma Designs, Inc.
    Inventor: Yann LeComec
  • Patent number: 6122719
    Abstract: A method and an apparatus for retiming 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 delay 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: October 31, 1997
    Date of Patent: September 19, 2000
    Assignee: Silicon Spice
    Inventors: Ethan Mirsky, Robert French, Ian Eslick
  • Patent number: 6115810
    Abstract: One embodiment of the present invention provides a system for predicting an address of an instruction following a branch instruction in a computer instruction stream. This system receives a current address specifying an address of a current instruction. It uses this current address (or possibly a preceding address) to generate a first select signal, which is used to select a first predicted address of an instruction following the current instruction in the computer instruction stream. At the same time the system generates a second select signal, which takes more time to generate than the first select signal but achieves a more accurate selection for a predicted address of the instruction following the current instruction. The system assumes that the first predicted address is correct and proceeds with a subsequent instruction fetch operation using the first predicted address. Next, the system compares the first select signal with the second select signal.
    Type: Grant
    Filed: September 16, 1998
    Date of Patent: September 5, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Sanjay Patel, Adam R. Talcott, Rajasekhar Cherabuddi
  • Patent number: 6115805
    Abstract: A non-aligned double word fetch buffer is integrated into a digital signal processor to handle non-aligned double word (32 bit) fetches. When a misaligned double word fetch is detected, the buffer causes a two cycle non-interruptable instruction to be initiated. The first cycle is a 16-bit misaligned data fetch. The address pointer is incremented by 2 and stored in a temporary pointer register. The second cycle is a 32-bit double word fetch based on the temporary pointer with its least significant bit set to 0 (an aligned fetch). The low word from this fetch is used to satisfy the current misaligned double word fetch and the high word is stored in a temporary buffer register in case it proves useful in subsequent misaligned double fetch instructions. Finally, the temporary address pointer is incremented by 2 for possible use in subsequent misaligned fetches.
    Type: Grant
    Filed: August 7, 1998
    Date of Patent: September 5, 2000
    Assignee: Lucent Technology Inc.
    Inventors: Douglas J. Rhodes, Mark Ernest Thierbach, Larry R. Tate
  • Patent number: 6105063
    Abstract: A system with a network interconnecting a server and a plurality of user stations. A system administrator models users of the system, or user groups, terminals and terminal groups as a hierarchy and sets desktop and user application preferences for each group and for the individual users separately. For a selected group context, say the group of all users of the system, or some subgroup under the group that represents all users, a default set of preferences are determined for a selected user application. The default set is then modified according to preferences that are specifically set forth in the selected group. These preferences may then again modified by a set of preferences that belong specifically to the user.
    Type: Grant
    Filed: May 5, 1998
    Date of Patent: August 15, 2000
    Assignee: International Business Machines Corp.
    Inventor: Kent Fillmore Hayes, Jr.
  • Patent number: 6098162
    Abstract: Vector shifting elements of a vector register by varying amounts in a single process is achieved in a vector supercomputer processor. A first vector register contains a set of operands, and a second vector register contains a set of shift counts, one shift count for each operand. Operands and shift counts are successively transferred to a vector shift functional unit, which shifts the operand by an amount equal to the value of the shift count. The shifted operands are stored in a third vector register. The vector shift functional unit also achieves word shifting of a predetermined number of vector register elements to different word locations of another vector register.
    Type: Grant
    Filed: August 24, 1998
    Date of Patent: August 1, 2000
    Assignee: Cray Research, Inc.
    Inventors: Alan J. Schiffleger, Ram K. Gupta, Christopher C. Hsiung
  • Patent number: 6088706
    Abstract: A data management system and a method for managing copies of a shared data file maintained on a plurality of computer systems that are connectable via a mobile communications network. The method comprises: for each copy of the shared data file, maintaining a record of modifications made to that copy; retrieving, via connection to the mobile communications network, the records maintained for other copies of the shared data file; merging the retrieved records to generate a sequence of modification; applying predefined rules to the sequence of modifications to resolve conflicts within the sequence of modifications; and modifying the copies of the shared file based on the conflict-resolved sequence of modifications. The solution is not restricted to a particular set of applications. It improves efficiency since it retains communication autonomy from the applications. Applications need not be modified to make use of the facilities provided.
    Type: Grant
    Filed: May 17, 1996
    Date of Patent: July 11, 2000
    Assignee: International Business Machines Corp.
    Inventor: Stefan G Hild
  • Patent number: 6088793
    Abstract: A microprocessor capable of predicting program branches includes a fetching unit, a branch prediction unit, and a decode unit. The fetching unit is configured to retrieve program instructions, including macro branch instructions. The branch prediction unit is configured to receive the program instructions from the fetching unit, analyze the program instructions to identify the macro branch instructions, determine a first branch prediction for each of the macro branch instructions, and direct the fetching unit to retrieve the program instructions in an order corresponding to the first branch predictions.
    Type: Grant
    Filed: December 30, 1996
    Date of Patent: July 11, 2000
    Assignee: Intel Corporation
    Inventors: Kin-Yip Liu, Millind Mital, Kenneth Shoemaker
  • Patent number: 6085305
    Abstract: A processor including at least one execution unit generating out-of-order results and out-of-order condition codes. Precise architectural state of the processor is maintained by providing a results buffer having a number of slots and providing a condition code buffer having the same number of slots as the results buffer, each slot in the condition code buffer in one-to-one correspondence with a slot in the results buffer. Each live instruction in the processor is assigned a slot in the results buffer and the condition code buffer. Each speculative result produced by the execution units is stored in the assigned slot in the results buffer. When an instruction is retired, the results for that instruction are transferred to an architectural result register and any condition codes generated by that instruction are transferred to an architectural condition code register.
    Type: Grant
    Filed: June 25, 1997
    Date of Patent: July 4, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Ramesh Panwar, Arjun Prabhu
  • Patent number: 6085306
    Abstract: A 32-bit instruction 50 is composed of a 4-bit format field 51, a 4-bit operation field 52, and two 12-bit operation fields 59 and 60. The 4-bit operation field 52 can only include (1) an operation code "cc" that indicates a branch operation which uses a stored value of the implicitly indicated constant register 36 as the branch address, or (2) a constant "const". The content of the 4-bit operation field 52 is specified by a format code provided in the format field 51.
    Type: Grant
    Filed: June 12, 1998
    Date of Patent: July 4, 2000
    Assignee: Matsushita Electric Industrial Co., Ltd
    Inventors: Shuichi Takayama, Nobuo Higaki
  • Patent number: 6085307
    Abstract: A multiple processor circuit arrangement utilizes a master processor which controls the operational state of a slave processor by programming internal control registers on the slave processor. In addition, a stack-based processor utilizes a stack cache for accelerating stack access operations and thereby accelerating the overall performance of the processor. When the stack-based processor is utilized as a slave processor in the aforementioned master/slave multi-processor computer system the slave processor is optimized to process platform-independent program code such as Java bytecodes, thereby permitting fast and efficient execution of both program code native to the master processor as well as platform-independent program code that is in effect native to the slave processor.
    Type: Grant
    Filed: November 27, 1996
    Date of Patent: July 4, 2000
    Assignee: VLSI Technology, Inc.
    Inventors: David Ross Evoy, Paul S. Levy
  • Patent number: 6081883
    Abstract: A scalable computer system has an interconnect bus providing communication links among a host processor and one or more function-specific processors, including a network processor (NP) and a file storage processor (FSP). The host processor provides a single interface to network administrators for maintaining the system. A bi-endian conversion system is provided to minimize a need for translating between big and little endian data types generated by diverse processors. The NP shares a single memory image with other processors and has a buffer memory for buffering requests from the network interfaces. The buffer memory has one or more segments which are dynamically allocatable to different processors. The FSP has a metadata cache for maintaining information on data being cached in the NP buffer memory. The FSP also has a write cache for buffering file write operations directed at disks.
    Type: Grant
    Filed: December 5, 1997
    Date of Patent: June 27, 2000
    Assignee: Auspex Systems, Incorporated
    Inventors: Paul Popelka, Tarun Kumar Tripathy, Richard Allen Walter, Paul Brian Del Fante, Murali Sundaramoorthy Repakula, Lakshman Narayanaswamy, Donald Wayne Sterk, Amod Prabhakar Bodas, Leslie Thomas McCutcheon, Daniel Murray Jones, Peter Kingsley Craft, Clive Mathew Philbrick, David Allan Higgen, Edward John Row
  • Patent number: 6070237
    Abstract: A novel processor for manipulating packed data. The packed data includes a first data element D1 and a second data element D2. Each of said data elements has a predetermined number of bits. The processor comprises a decoder, a register, and a circuit. The decoder is for decoding a control signal responsive to receiving the control signal. The register is coupled to the decoder. The register is for storing the packed data. The circuit is coupled to the decoder. The circuit is for generating a first result data element R1 and a second data element R2. The circuit is further for generating R1 to represent a total number bits set in D1, and the circuit is further for generating R2 to represent a total number bits set in D2.
    Type: Grant
    Filed: March 4, 1996
    Date of Patent: May 30, 2000
    Assignee: Intel Corporation
    Inventors: Alexander Peleg, Yaakov Yaari, Millind Mittal, Larry Mennemeier, Benny Eitan
  • Patent number: 6067609
    Abstract: An apparatus for processing data has a Single-Instruction-Multiple-Data (SIMD) architecture, and a number of features that improve performance and programmability. The apparatus includes a rectangular array of processing elements and a controller. The apparatus offers a number of techniques for shifting image data within the array. A first technique, the ROLL option, simultaneously shifts image planes in opposite directions within the array. A second technique, the gated shift option, makes a normal shift of an image plane to neighboring PEs conditional, for each PE, upon a value stored in a mask register of each PE. A third technique, the carry propagate option, combines the computations from multiple PEs in order to complete an n-bit operation in fewer than n clocks by forming "supercells" within the array. The apparatus also includes a multi-bit X Pattern register and a multi-bit Y Pattern register.
    Type: Grant
    Filed: April 9, 1998
    Date of Patent: May 23, 2000
    Assignee: TeraNex, Inc.
    Inventors: Woodrow L. Meeker, Andrew P. Abercrombie
  • Patent number: 6052770
    Abstract: A NULL convention asynchronous register regulates wavefronts of signals through a NULL convention sequential circuit. The asynchronous register receives a control signal from a downstream circuit when the downstream circuit is ready to receive a new wavefront. Wavefronts alternate between meaningful data and NULL. The asynchronous register further generates a feedback signal to upstream circuits so that upstream circuits generate a wavefront when the sequential circuit is ready to receive the wavefront. Asynchronous registers can be used to create a variety of architectures, and to store data, as in a sequential circuit (state machine).
    Type: Grant
    Filed: July 28, 1997
    Date of Patent: April 18, 2000
    Assignee: Theseus Logic, Inc.
    Inventor: Karl Fant
  • Patent number: 6049851
    Abstract: A double cache snoop mechanism in uniprocessor computer systems having a cache and coherent I/O and multiprocessor computer systems reduces the number of cycles that a processor is stalled during a coherency check. The snoop mechanism splits each coherency check, such that a read-only check is first sent to the cache subsystem., and a read-write check is sent thereafter only if there is a cache hit during the read-only check, and there is the need to modify the cache. Average processor pipeline stall time is reduced even though a cache hit results in an additional coherency check because most coherency checks do not result in a cache hit.
    Type: Grant
    Filed: February 14, 1994
    Date of Patent: April 11, 2000
    Assignee: Hewlett-Packard Company
    Inventors: William R. Bryg, Kenneth K. Chan, Eric Delano, John F. Shelton