Generating Next Microinstruction Address Patents (Class 712/230)
  • Patent number: 6351801
    Abstract: In a microprocessor system, a program counter circuit generates a program counter value that represents a retrieved instruction and that includes a more significant portion, a less significant portion, and a carry signal for use in determining a next program counter value. An execute program counter circuit generates an execute program counter value from the less significant program counter value and from the carry signal. The execute program counter value represents a program counter value of an executed instruction.
    Type: Grant
    Filed: January 14, 2000
    Date of Patent: February 26, 2002
    Assignee: Advanced Micro Devices, Inc.
    Inventors: David S. Christie, Scott A. White, Michael D. Goddard
  • Patent number: 6308263
    Abstract: A decoder decodes a branch instruction. An operating section executes logical, arithmetic, and shift operations. A register file store operation result of the operating section. A program counter counting the address of the present programs. A direct-setting bus is provided to allowing the decoder to directly set an immediate value to the program counter without passing through an output bus of the operating section. And, a switch selectively connects the direct-setting bus or the output bus to the program counter.
    Type: Grant
    Filed: October 29, 1999
    Date of Patent: October 23, 2001
    Assignee: Nippondenso Co., Ltd.
    Inventors: Hiroshi Hayakawa, Harutsugu Fukumoto, Hiroaki Tanaka
  • Patent number: 6216206
    Abstract: A cache memory includes a data array and a trace victim cache. The data array is adapted to store a plurality of trace segments. Each trace segment includes at least one trace segment member. The trace victim cache is adapted to store plurality of entries. Each entry includes a replaced trace segment member selected for replacement from one of the plurality of trace segments.
    Type: Grant
    Filed: December 16, 1997
    Date of Patent: April 10, 2001
    Assignee: Intel Corporation
    Inventors: Guy Peled, Ilan Spillinger
  • Patent number: 6205544
    Abstract: The decomposition of instructions into separate sequential and branch instruction code sections. In one embodiment, a system including a first store to store a first code section including only branch instructions and a second store to store a second code section including only sequential instructions. In another embodiment, the system also includes a processor having a first engine to process the branch instructions, and a second engine to process the sequential instructions.
    Type: Grant
    Filed: December 21, 1998
    Date of Patent: March 20, 2001
    Assignee: Intel Corporation
    Inventors: Jack D. Mills, Christopher B. Wilkerson
  • Patent number: 6185674
    Abstract: A computer processing unit is provided that includes an apparatus for generating an address of the next instruction to be completed. The apparatus includes a first table for storing a plurality of entries each corresponding to a dispatched instruction, each entry comprising an identifier that identifies the corresponding instruction and a status bit that indicates if the corresponding instruction is completed; a second table for storing a plurality of entries each corresponding to dispatched branch instructions, each entry comprising the same identifier stored in the first table, a target address of the dispatched branch instruction and a resolution status field that indicates at least if the corresponding branch instruction has been resolved taken or has been resolved not taken; program counter update logic that, in each machine cycle, updates a program counter to store and output the address of the next instruction to be completed according to the entries stored in the first table and the second table.
    Type: Grant
    Filed: April 5, 1995
    Date of Patent: February 6, 2001
    Assignee: International Business Machines Corporation
    Inventors: Kin Shing Chan, Chiao-Mei Chuang, Alessandro Marchioro
  • Patent number: 6182209
    Abstract: In an instruction a relative jump distance is expressed as a number of instructions rather than as a number of addresses. Instructions have various lengths. After encountering the instruction the processing device loads the following instructions but suppresses execution of a set of instructions that consists of the number of instructions expressed in the relative jump instruction.
    Type: Grant
    Filed: August 17, 1998
    Date of Patent: January 30, 2001
    Assignee: U.S. Philips Corporation
    Inventors: Marnix C. Vlot, Paul E. R. Lippens
  • Patent number: 6170038
    Abstract: A cache memory is constituted with a data array and control logic. The data array includes a number of data lines, and the control logic operates to store a number of trace segments of instructions in the data lines, including trace segments that span multiple data lines. In one embodiment, each trace segment includes one or more trace segment members having one or more instructions, with each trace segment member occupying one data line, and the data lines of a multi-line trace segment being sequentially associated (logically). Retrieval of the trace segment members of a multi-line trace segment is accomplished by first locating the data line storing the first trace segment member of the trace segment, and then successively locating the remaining data lines storing the remaining trace segment members based on the data lines' logical sequential associations.
    Type: Grant
    Filed: November 22, 1999
    Date of Patent: January 2, 2001
    Assignee: Intel Corporation
    Inventors: Robert F. Krick, Glenn J. Hinton, Michael D. Upton, David J. Sager, Chan W. Lee
  • Patent number: 6119219
    Abstract: A pipelined multiprocessor system for ESA/390 operations which executes a simple instruction set in a hardware controlled execution unit and executes a complex instruction set in a milli-mode architected state with a millicode sequence of simple instructions in the hardware controlled execution unit, comprising a plurality of CPU processors each of which is part of said multiprocessing system and capable of generating and responding to a quiesce request, and controls for system operations which allow the CPUs in the ESA/390 system to process the local buffer update portion of IPTE and SSKE operations without waiting for all other processors to reach an interruptible point, and then to continue program execution with minor temporary restrictions on operations until the IPTE or SSKE operation is globally completed. In addition, Licensed Internal Code (LIC) sequences are defined which allow these IPTE and SSKE operations to co-exist with other operations which require conventional system quiescing (i.e.
    Type: Grant
    Filed: April 30, 1998
    Date of Patent: September 12, 2000
    Assignee: International Business Machines Corporation
    Inventors: Charles Franklin Webb, Dean G. Bair, Mark Steven Farrell, Barry Watson Krumm, Pak-kin Mak, Jennifer Almoradie Navarro, Timothy John Slegel
  • Patent number: 6105105
    Abstract: A flash reconfigurable programmable logic device is applied as a dynamic execution unit for a sequence of instructions. The sequence of instructions includes control portion, and a portion which indicates which configuration of the flash configurable programmable logic device is to be used with that instruction. In each execution cycle, a configuration is selected in accordance with the instruction being executed, switching from one configuration of the programmable logic device to any other configuration stored on the device in a single cycle. The configuration store stores a set of configuration words defining respective logic functions of the configurable logic elements in the programmable logic device. The configuration select circuits operate to apply a selected configuration word from the set of configuration words to configure the configurable logic elements. An instruction store stores a sequence of instructions for execution by the programmable logic device.
    Type: Grant
    Filed: May 4, 1999
    Date of Patent: August 15, 2000
    Assignee: Xilinx, Inc.
    Inventor: Stephen M. Trimberger
  • Patent number: 6079013
    Abstract: A pipelined multiprocessor system for ESA/390 operations which executes a simple instruction set in a hardware controlled execution unit and executes a complex instruction set in a milli-mode architected state with a millicode sequence of simple instructions in the hardware controlled execution unit, comprising a plurality of CPU processors each of which is part of said multiprocessing system and capable of generating and responding to a quiesce request, and controls for system operations which allow the CPUs in the ESA/390 system to process the local buffer update portion of IPTE and SSKE operations without waiting for all other processors to reach an interruptible point, and then to continue program execution with minor temporary restrictions on operations until the IPTE or SSKE operation is globally completed. In addition, Licensed Internal Code (LIC) sequences are defined which allow these IPTE and SSKE operations to co-exist with other operations which require conventional system quiescing (i.e.
    Type: Grant
    Filed: April 30, 1998
    Date of Patent: June 20, 2000
    Assignee: International Business Machines Corporation
    Inventors: Charles Franklin Webb, Dean G. Bair, Mark Steven Farrell, Barry Watson Krumm, Pak-kin Mak, Jennifer Almoradie Navarro, Timothy John Slegel
  • Patent number: 6076158
    Abstract: A CPU of the RISC type employs a standardized, fixed instruction size, and permits only simplified memory access data width and addressing modes limited to register-to-register operations and register load/store operations. Byte manipulation instructions include the facility for doing in-register byte extract, insert and masking, along with non-aligned load and store instructions. The load/locked and store/conditional instructions permits the implementation of atomic byte writes. By providing a conditional move instruction, many short branches can be eliminated altogether. A conditional move instruction tests a register and moves a second register to a third if the condition is met; this function can be substituted for short branches and thus maintain the sequentiality of the instruction stream.
    Type: Grant
    Filed: July 1, 1993
    Date of Patent: June 13, 2000
    Assignee: Digital Equipment Corporation
    Inventors: Richard Lee Sites, Richard T. Witek
  • Patent number: 6038660
    Abstract: A method and apparatus for providing a program counter value within a central processing unit is described. A program counter value comprises n bits and has to be increased by one of a plurality of different fixed increment values. Therefore, an upper partial content of the current program counter value and its value incremented by 1 is provided. Also, a plurality of lower partial contents of the current program counter value incremented by one of the plurality of fixed increment values, respectively are provided, whereby a carry bit is provided. One of the plurality of incremented lower partial contents is selected depending on said respective carry bit. Upper and lower contents are then combined to form a plurality of new program counter values. Upon receiving of control information to select a final increment value one of said new program counter values will be selected.
    Type: Grant
    Filed: May 26, 1999
    Date of Patent: March 14, 2000
    Assignee: Infineon Technologies North America Corp.
    Inventors: Balraj Singh, Danielle G. Lemay, Venkat Mattela, Heonchul Park, Andreas Grubert
  • Patent number: 6018786
    Abstract: A cache memory is constituted with a data array and control logic. The data array includes a number of data lines, and the control logic operates to store a number of trace segments of instructions in the data lines, including trace segments that span multiple data lines. In one embodiment, each trace segment includes one or more trace segment members having one or more instructions, with each trace segment member occupying one data line, and the data lines of a multi-line trace segment being sequentially associated (logically). Retrieval of the trace segment members of a multi-line trace segment is accomplished by first locating the data line storing the first trace segment member of the trace segment, and then successively locating the remaining data lines storing the remaining trace segment members based on the data lines' logical sequential associations.
    Type: Grant
    Filed: October 23, 1997
    Date of Patent: January 25, 2000
    Assignee: Intel Corporation
    Inventors: Robert F. Krick, Glenn J. Hinton, Michael D. Upton, David J. Sager, Chan W. Lee
  • Patent number: 5991873
    Abstract: A microprocessor for processing data corresponding to a plurality of computer programs includes multiple program counters each specifying a program address of a computer program having data to be processed, a selector for sequentially selecting the program counters, the selector having multiple independent storage sections for storing a plurality of arbitrary selection order of the program counters, an arithmetic logic unit for processing data of the computer program corresponding to the program address stored in one of the program counters selected by the selector, and a device for transferring data between the program counters, the selector, and the arithmetic logic unit.
    Type: Grant
    Filed: November 7, 1994
    Date of Patent: November 23, 1999
    Assignee: Kabushiki Kaisha Toshiba
    Inventors: Koshi Seto, Yukimasa Uemura
  • Patent number: 5964868
    Abstract: A return stack buffer mechanism that uses two separate return stack buffers is disclosed. The first return stack buffer is the Speculative Return Stack Buffer. The Speculative Return Stack Buffer is updated using speculatively fetched instructions. Thus, the Speculative Return Stack Buffer may become corrupted when incorrect instructions are fetched. The second return stack buffer is the Actual Return Stack Buffer. The Actual Return Stack Buffer is updated using information from fully executed branch instructions. When a branch misprediction causes a pipeline flush, the contents of the Actual Return Stack Buffer is copied into the Speculative Return Stack Buffer to correct any corrupted information.
    Type: Grant
    Filed: May 15, 1996
    Date of Patent: October 12, 1999
    Assignee: Intel Corporation
    Inventors: Simcha Gochman, Nicolas Kacevas, Farah Jubran
  • Patent number: 5958046
    Abstract: A circuit (10) for producing a microprogram memory address (16). This circuit includes circuitry (18I, 18J) for selecting a plurality of condition codes. Additionally, the circuit includes logic circuitry (20) for producing a result by performing logic operations using as operands the selected plurality of condition codes. The result of the logic operations forms a first portion (LSB', or LSB' and NLSB') of the microprogram memory address.
    Type: Grant
    Filed: November 26, 1996
    Date of Patent: September 28, 1999
    Assignee: Texas Instruments Incorporated
    Inventors: James O. Bondi, Jonathan H. Shiell