Generating Next Microinstruction Address Patents (Class 712/230)
-
Patent number: 6351801Abstract: 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: GrantFiled: January 14, 2000Date of Patent: February 26, 2002Assignee: Advanced Micro Devices, Inc.Inventors: David S. Christie, Scott A. White, Michael D. Goddard
-
Patent number: 6308263Abstract: 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: GrantFiled: October 29, 1999Date of Patent: October 23, 2001Assignee: Nippondenso Co., Ltd.Inventors: Hiroshi Hayakawa, Harutsugu Fukumoto, Hiroaki Tanaka
-
Patent number: 6216206Abstract: 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: GrantFiled: December 16, 1997Date of Patent: April 10, 2001Assignee: Intel CorporationInventors: Guy Peled, Ilan Spillinger
-
Patent number: 6205544Abstract: 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: GrantFiled: December 21, 1998Date of Patent: March 20, 2001Assignee: Intel CorporationInventors: Jack D. Mills, Christopher B. Wilkerson
-
Patent number: 6185674Abstract: 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: GrantFiled: April 5, 1995Date of Patent: February 6, 2001Assignee: International Business Machines CorporationInventors: Kin Shing Chan, Chiao-Mei Chuang, Alessandro Marchioro
-
Patent number: 6182209Abstract: 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: GrantFiled: August 17, 1998Date of Patent: January 30, 2001Assignee: U.S. Philips CorporationInventors: Marnix C. Vlot, Paul E. R. Lippens
-
Patent number: 6170038Abstract: 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: GrantFiled: November 22, 1999Date of Patent: January 2, 2001Assignee: Intel CorporationInventors: Robert F. Krick, Glenn J. Hinton, Michael D. Upton, David J. Sager, Chan W. Lee
-
Patent number: 6119219Abstract: 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: GrantFiled: April 30, 1998Date of Patent: September 12, 2000Assignee: International Business Machines CorporationInventors: Charles Franklin Webb, Dean G. Bair, Mark Steven Farrell, Barry Watson Krumm, Pak-kin Mak, Jennifer Almoradie Navarro, Timothy John Slegel
-
Patent number: 6105105Abstract: 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: GrantFiled: May 4, 1999Date of Patent: August 15, 2000Assignee: Xilinx, Inc.Inventor: Stephen M. Trimberger
-
Patent number: 6079013Abstract: 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: GrantFiled: April 30, 1998Date of Patent: June 20, 2000Assignee: International Business Machines CorporationInventors: Charles Franklin Webb, Dean G. Bair, Mark Steven Farrell, Barry Watson Krumm, Pak-kin Mak, Jennifer Almoradie Navarro, Timothy John Slegel
-
Patent number: 6076158Abstract: 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: GrantFiled: July 1, 1993Date of Patent: June 13, 2000Assignee: Digital Equipment CorporationInventors: Richard Lee Sites, Richard T. Witek
-
Patent number: 6038660Abstract: 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: GrantFiled: May 26, 1999Date of Patent: March 14, 2000Assignee: Infineon Technologies North America Corp.Inventors: Balraj Singh, Danielle G. Lemay, Venkat Mattela, Heonchul Park, Andreas Grubert
-
Patent number: 6018786Abstract: 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: GrantFiled: October 23, 1997Date of Patent: January 25, 2000Assignee: Intel CorporationInventors: Robert F. Krick, Glenn J. Hinton, Michael D. Upton, David J. Sager, Chan W. Lee
-
Patent number: 5991873Abstract: 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: GrantFiled: November 7, 1994Date of Patent: November 23, 1999Assignee: Kabushiki Kaisha ToshibaInventors: Koshi Seto, Yukimasa Uemura
-
Patent number: 5964868Abstract: 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: GrantFiled: May 15, 1996Date of Patent: October 12, 1999Assignee: Intel CorporationInventors: Simcha Gochman, Nicolas Kacevas, Farah Jubran
-
Patent number: 5958046Abstract: 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: GrantFiled: November 26, 1996Date of Patent: September 28, 1999Assignee: Texas Instruments IncorporatedInventors: James O. Bondi, Jonathan H. Shiell