Patents Examined by Richard L. Ellis
  • Patent number: 6105129
    Abstract: A microprocessor includes one or more registers which are architecturally defined to be used for at least two data formats. In one embodiment, the registers are the floating point registers defined in the x86 architecture, and the data formats are the floating point data format and the multimedia data format. The registers actually implemented by the microprocessor for the floating point registers use an internal format for floating point data. Part of the internal format is a classification field which classifies the floating point data in the extended precision defined by the x86 microprocessor architecture. Additionally, a classification field encoding is reserved for multimedia data.
    Type: Grant
    Filed: February 18, 1998
    Date of Patent: August 15, 2000
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Stephan G. Meier, Norbert Juffa, Michael D. Achenbach, Frederick D. Weber
  • Patent number: 6099158
    Abstract: A computer instruction execution unit includes different execution paths for different categories of instructions. Different execution paths share circuitry. The slower execution paths are pipelined. In some embodiments, all execution paths are pipelined. Fast instructions are executed by a fast execution path. Slower instructions are executed by a slower execution path. Faster instructions immediately following the slower instruction are also executed by the slower execution path not to block the shared circuitry. Consequently, the throughput is increased and the average instruction execution latency is reduced. When a sufficient number of clock cycles accumulate with no instructions started, subsequent fast instructions are executed by the fast execution path. A floating point multiplier is provided in which normalization/denormalization shift amounts are generated in parallel with multiplication of the significands of the operands.
    Type: Grant
    Filed: May 20, 1998
    Date of Patent: August 8, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Valery Y. Gorshtein, Vladimir T. Khlobystov
  • Patent number: 6098121
    Abstract: A data transfer apparatus is provided for transferring data with a DMA method between a plurality of disk apparatuses and a memory using a DMA command table. A processor generates the DMA command table composed of an array of the DMA commands which are each composed of an address (starting address) of the data area and a size of data to be transferred. A disk access unit transfers data between the disk apparatuses and the memory using the DMA command table. When it is judged that the disk apparatus currently transferring data has temporarily released the bus use right, the processor, concurrently in preparation for the resumption of the data transfer, updates the DMA command table by deleting DMA commands having been executed and adding new DMA commands. This eliminates or reduces the generation of the table update interrupt.
    Type: Grant
    Filed: December 3, 1997
    Date of Patent: August 1, 2000
    Assignee: Matsushita Electric Industrial Co., Ltd.
    Inventor: Shinji Furuya
  • Patent number: 6098168
    Abstract: A mechanism structured to check for instruction collisions at the Dispatch Unit rather than the Completion Unit. In processors which issue multiple commands simultaneously, a flag bit is sent to the Completion Unit and attached to the instruction in the queue that follows the other in program order if they both have the same targeted address. When the instructions from position 1 and position 2 of the instruction queue are ready to issue, the Completion Unit checks position 2 for a flag bit. If there is a bit, then the instruction in position 1 is discarded and the instruction in position 2 is written to the target address. If there is no flag bit with the instruction in position 2, the instruction in position 1 is written to the target register. This method eliminates the need to compare all the targeted addresses that are associated with the rename registers. It requires two comparisons instead of a minimum of 15 comparisons.
    Type: Grant
    Filed: March 24, 1998
    Date of Patent: August 1, 2000
    Assignee: International Business Machines Corporation
    Inventors: Lee Evan Eisen, Michael Putrino
  • Patent number: 6094715
    Abstract: A parallel array processor for massively parallel applications is formed with low power CMOS with DRAM processing while incorporating processing elements on a single chip. Eight processors on a single chip have their own associated processing element, significant memory, and I/O and are interconnected with a hypercube based, but modified, topology. These nodes are then interconnected, either by a hypercube, modified hypercube, or ring, or ring within ring network topology. Conventional microprocessor MMPs consume pins and time going to memory. The new architecture merges processor and memory with multiple PMEs (eight 16 bit processors with 32K and I/O) in DRAM and has no memory access delays and uses all the pins for networking. The chip can be a single node of a fine-grained parallel processor. Each chip will have eight 16 bit processors, each processor providing 5 MIPs performance. I/O has three internal ports and one external port shared by the plural processors on the chip.
    Type: Grant
    Filed: June 7, 1995
    Date of Patent: July 25, 2000
    Assignee: International Business Machine Corporation
    Inventors: Paul Amba Wilkinson, James Warren Dieffenderfer, Peter Michael Kogge, Nicholas Jerome Schoonover
  • Patent number: 6092185
    Abstract: A computer processor which has an apparatus in its Execution Unit (E-unit) that detects a match between an opcode about to be executed and opcodes programmed into it by the computer manufacturer provides a method for alleviating design deficiencies in the processor. The E-unit further contains a mechanism for transmitting the opcode and a desired action back to the Instruction Unit (I-unit) where it may be compared with the next instruction that is decoded. Furthermore, the E-unit opcode compare logic contains a mechanism for breaking infinite loops that may result. This E-unit opcode compare mechanism, may also be used for other purposes such as detecting invalid opcodes and other exception checking since it may allow for a faster cycle time of the processor than if this logic were implemented in the I-unit.
    Type: Grant
    Filed: April 30, 1998
    Date of Patent: July 18, 2000
    Assignee: International Business Machines Corporation
    Inventors: Timothy John Slegel, Mark Anthony Check
  • Patent number: 6088790
    Abstract: The invention, in one embodiment, is a table for tracking operand locations in a processor pipeline. The table includes an entry for each one of a plurality of general purpose registers. Each entry further includes an indication of which port last wrote to the corresponding register; an indication of a pipeline stage containing the instruction that last wrote to the corresponding register; and an indication of whether the operand resides in the pipeline or in a register.
    Type: Grant
    Filed: December 19, 1997
    Date of Patent: July 11, 2000
    Assignee: Intel Corporation
    Inventor: Edward T. Grochowski
  • Patent number: 6088782
    Abstract: A Single Instruction Multiple Data processor apparatus for implementing algorithms using sliding window type data is shown. The implementation shifts the elements of a Destination Vector Register (406, 606) either automatically every time the destination register value is read or in response to a specific instruction (800). The shifting of the Destination Vector Register (406, 606) allows each processing element to operate on new data. As the destination vector (406, 606) elements are shifted, a new element is provided to the vector from a Source Vector Register (404, 604).
    Type: Grant
    Filed: July 10, 1997
    Date of Patent: July 11, 2000
    Assignee: Motorola Inc.
    Inventors: De-Lei Lee, L. Rodney Goke, William Carroll Anderson
  • Patent number: 6088791
    Abstract: A computer processor that allows the execution of the IBM ESA/390 STOSM and STNSM instructions, in an overlapped fashion, contains an apparatus that allows the STOSM and STNSM instructions to be executed without serializing the processor, or otherwise delaying subsequent instructions, after the STOSM or STNSM instruction, in most cases, thereby improving performance. It contains a mechanism that counts cycles after their execution and prohibits asynchronous interrupts during that time. The invention also contains an efficient mechanism for handling the execution of the STOSM and STNSM instructions when the processor is executing in the SIE environment.
    Type: Grant
    Filed: April 30, 1998
    Date of Patent: July 11, 2000
    Assignee: International Business Machines Corporation
    Inventors: Timothy John Slegel, Charles Franklin Webb
  • Patent number: 6085313
    Abstract: A computer processor system having a floating point processor for instructions which are processed in a six cycle pipeline, in which prior to the first cycle of the pipeline an instruction text is fetched, and during the first cycle for the fetched particular instruction it is decoded and the base (B) and index (X) register values are read for use in address generation. Instructions of the RX-type are extended by placing the extension of the operation code beyond the first four bytes of the instruction format and to assign the operation codes in such a way that the machine may determine from the first 8 bits of the operation code alone, the exact format of the instruction. Instructions formats include the ESA/390 instructions SS, RR; RX; S; RRE; RI: and the new RXE instructions. where instructions of the RXE format have their R.sub.1, X.sub.2, B.sub.2, and D.sub.
    Type: Grant
    Filed: April 30, 1998
    Date of Patent: July 4, 2000
    Assignee: International Business Machines Corporation
    Inventors: Mark Anthony Check, Ronald M. Smith, Sr., John Stephen Liptay, Eric Mark Schwarz, Timothy John Slegel, Charles Franklin Webb
  • Patent number: 6085315
    Abstract: The data processing device according to the invention comprises an instruction providing unit having an input and an output, a pipeline unit for processing data having input and output stages, a loop pipeline unit for processing a loop instruction having input and output stages, said input stages of said pipeline units being coupled to said output of said instruction providing unit, said instruction providing unit providing data for said pipelines, and said pipeline units processing said data independently.
    Type: Grant
    Filed: September 12, 1997
    Date of Patent: July 4, 2000
    Assignee: Siemens Aktiengesellschaft
    Inventors: Rod G. Fleck, Venkat Mattela, Eric Chesters, Muhammad Afsar
  • Patent number: 6081888
    Abstract: An adaptive computing device includes a processing unit connected to receive instructions for execution and a random access memory storing microcode for access by the processing unit to carry out steps for executing the instructions. The microcode is loaded into the random access memory from a source of microcodes tailored for efficient execution of the instructions received by the processing unit. The adaptive computing unit may further include control logic responsive to the instructions for execution to request a loading of microcode into the random access memory from the source of microcodes. The adaptive computing unit may further include control logic responsive to signals generated external to the computing unit to request loading of microcode into the random access memory from the source of microcodes.
    Type: Grant
    Filed: August 21, 1997
    Date of Patent: June 27, 2000
    Assignee: Advanced Micro Devices Inc.
    Inventors: Russell W. Bell, Sherman Lee, Paul R. Teich, Yan Zhou
  • Patent number: 6079017
    Abstract: A method for loading sub-processors in system having a plurality of sub-processors connected with main processor via a repeater and utilizing broadcasting function is disclosed. The method comprises the Steps of inspecting a transfer path communicating the main processor and the plural sub-processors; collecting a loading request signal transmitted from the sub-processors at predetermined time period; and loading simultaneously the sub-processors using broadcasting function after interconnecting the sub-processors which request the collected loading during the collecting Step with the main processor via the repeater in multipoint base. The sub-processors having the collected signal are simultaneously loaded using broadcasting function, it has the effect for reducing loading time.
    Type: Grant
    Filed: December 2, 1997
    Date of Patent: June 20, 2000
    Assignee: Hyundai Electronics Ind. Co., Ltd.
    Inventors: Hyo-Chan Han, Ki-Beom Kim, Tae-Hoon Kim
  • Patent number: 6076156
    Abstract: A microprocessor employs an instruction redefinition register which programmably redefines the operation performed by one or more instructions. Instructions may be added to the instruction set executed by the microprocessor without consuming opcode encodings. One or more new instructions may be mapped to an opcode assigned to a redefinable instruction (e.g. a seldom-used instruction selected during the design of the microprocessor to be redefinable to one or more of the added instructions). A particular application program may select the architecturally defined operation corresponding to the redefinable instruction or one of the operations corresponding to the new operations by coding the instruction redefinition register. In one particular embodiment, the instruction redefinition register is a model specific register (MSR) as defined by the x86 microprocessor architecture.
    Type: Grant
    Filed: July 17, 1997
    Date of Patent: June 13, 2000
    Assignee: Advanced Micro Devices, Inc.
    Inventors: James K. Pickett, David S. Christie
  • Patent number: 6076155
    Abstract: A dual-instruction set central processing unit (CPU) is capable of executing instructions from a reduced instruction set computer (RISC) instruction set and from a complex instruction set computer (CISC) instruction set. Data and address information may be to transferred from a CISC program to a RISC program running on the CPU by using shared registers. The architecturally-defined registers in the CISC instruction set are merged or folded into some of the architecturally-defined registers in the RISC architecture so that these merged registers are shared by the two instructions sets. In particular, the flags or condition code registers defined by each architecture are merged together so that CISC instructions and RISC instructions will implicitly update the same merged flags register when performing computational instructions.
    Type: Grant
    Filed: June 19, 1998
    Date of Patent: June 13, 2000
    Assignee: S3 Incorporated
    Inventors: James S. Blomgren, David E. Richter
  • Patent number: 6067617
    Abstract: A computer system having a pipelined computer processor, which executes a relatively simple instruction set in a hardware controlled execution unit and executes a relatively complex instruction set in a milli-mode architected state with a millicode sequence of simple instructions in said hardware controlled execution unit, a millicode operating in a milli-mode state when macro-mode decoding by said processor is suspended to cause the system to subsequently use processor milli-registers and the processor's decoder decodes them and schedules them for execution upon entry into the processor milli-mode. Millicode flags allow specialized update and branch instructions and flags are either cleared or specifically set for a millicode instruction. A millicode instruction for editing functions processes one byte of an input pattern string, generates one byte of an output string, and updates various pointers and state indications to prepare for processing the next byte in a string.
    Type: Grant
    Filed: April 7, 1998
    Date of Patent: May 23, 2000
    Assignee: International Business Machines Corporation
    Inventors: Charles Franklin Webb, Wen He Li
  • Patent number: 6067611
    Abstract: A non-uniform memory access (NUMA) computer system includes an interconnect to which multiple processing nodes (including first, second, and third processing nodes) are coupled. Each of the first, second, and third processing nodes includes at least one processor and a local system memory. The NUMA computer system further includes a transaction buffer, coupled to the interconnect, that stores communication transactions transmitted on the interconnect that are both initiated by and targeted at a processing node other than the third processing node. In response to a determination that a particular communication transaction originally targeting another processing node should be processed by the third processing node, buffer control logic coupled to the transaction buffer causes the particular communication transaction to be retrieved from the transaction buffer and processed by the third processing node.
    Type: Grant
    Filed: June 30, 1998
    Date of Patent: May 23, 2000
    Assignee: International Business Machines Corporation
    Inventors: Gary Dale Carpenter, Mark Edward Dean, David Brian Glasco, Richard Nicholas Iachetta
  • Patent number: 6065113
    Abstract: In a method embodiment (10), the method operates a microprocessor (110), and the microprocessor has an instruction set. The method first (11) stores an identifier code uniquely identifying the particular microprocessor in a one-time programmable register. The method second (12) issues to the microprocessor an identifier request instruction from the instruction set. The method then, and in response to the identifier request instruction, provides (18) from the microprocessor an identifier code. Other circuits, systems, and methods are also disclosed and claimed.
    Type: Grant
    Filed: March 7, 1997
    Date of Patent: May 16, 2000
    Assignee: Texas Instruments Incorporated
    Inventors: Jonathan H. Shiell, Joel J. Graber, Donald E. Steiss
  • Patent number: 6065131
    Abstract: The processing speed of a digital signal processor or system processor is controlled in accordance with the functions required in a task to be performed by the device, with these functions being compared to a table of maximum processing speeds at which various functions can be performed reliably by the device. This method is applied to a number of digital signal processors on a communications adapter, with a core kernel of each of these digital signal processors being driven at a processing speed controlled in this way, while peripheral functions of all these digital signal processors are performed according to a clock signal synchronized with data being received from a network transmission line.
    Type: Grant
    Filed: November 26, 1997
    Date of Patent: May 16, 2000
    Assignee: International Business Machines Corporation
    Inventors: Lawrence P. Andrews, Richard C. Beckman, Joseph C. Petty, Jr., John C. Sinibaldi
  • Patent number: 6061783
    Abstract: A method and apparatus allowing for the direct manipulation of bit fields contained in a memory source. Logic circuitry performs a process wherein bit segments and bit fields contained in respective data strings are manipulated or moved along respective data strings, wherein the bit fields may not be aligned in accordance with data bytes contained in a respective data string. Additionally, the logic circuitry may mask any bits not associated with either the bit segment and the bit field in the respective data strings. The logic circuitry performs an arithmetic operation, wherein the masked respective data strings are arithmetically coupled to each other providing a resultant data string, the resultant data string containing the arithmetic result of the bit segment and the bit field segment as a bit field result. The logic circuitry can pass forward masks of the bit field result and any partially modified byte(s) instead of an entire mask of the respective data strings.
    Type: Grant
    Filed: November 13, 1996
    Date of Patent: May 9, 2000
    Assignee: Nortel Networks Corporation
    Inventor: Ward Harriman