Decoding Instruction To Generate An Address Of A Microroutine Patents (Class 712/211)
  • Patent number: 7500085
    Abstract: A processor comprising fetch logic adapted to fetch a set of instructions from memory, the set comprising a subset of instructions. The processor further comprises decode logic coupled to the fetch logic and adapted to process the set of instructions, and a clock coupled to the decode logic. When processed, an instruction from the set causes the clock to increment a counter external to the processor while the subset is processed. A status of the counter is manipulated to determine an efficiency level pertaining to the subset of instructions.
    Type: Grant
    Filed: July 25, 2005
    Date of Patent: March 3, 2009
    Assignee: Texas Instruments Incorporated
    Inventor: Gerard Chauvel
  • Publication number: 20090024836
    Abstract: A multiple-core processor having a hierarchical microcode store. A processor may include multiple processor cores, each configured to independently execute instructions defined according to a programmer-visible instruction set architecture (ISA). Each core may include a respective local microcode unit configured to store microcode entries. The processor may also include a remote microcode unit accessible by each of the processor cores. Any given one of the processor cores may be configured to generate a given microcode entrypoint corresponding to a particular microcode entry including one or more operations to be executed by the given processor core, and to determine whether the particular microcode entry is stored within the respective local microcode unit of the given core. In response to determining that the particular microcode entry is not stored within the respective local microcode unit, the given core may convey a request for the particular microcode entry to the remote microcode unit.
    Type: Application
    Filed: July 18, 2007
    Publication date: January 22, 2009
    Inventors: Gene W. Shen, Bruce R. Holloway, Sean Lie, Michael G. Butler
  • Patent number: 7398376
    Abstract: Ordering instructions for specifying the execution order of other instructions improve throughput in a pipelined multiprocessor. Hardware, in conjunction with compiler directives, allows memory write operations local to a CPU to occur in an arbitrary order, and places constraints on shared memory operation to occur in a specified order. Multiple sets of instructions are provided in which order of execution of the instructions is maintained through the use of CPU registers, write buffers in conjunction with assignment of sequence numbers to the instruction, or a hierarchical ordering system. The system ensures that an earlier designated instruction has reach a specified state of execution prior to a latter instruction reaching a specified state of execution. The ordering of operations allows memory operations local to a CPU to occur in conjunction with other memory operations that are not affected by such execution.
    Type: Grant
    Filed: March 23, 2001
    Date of Patent: July 8, 2008
    Assignee: International Business Machines Corporation
    Inventor: Paul E. McKenney
  • Patent number: 7398372
    Abstract: Fusing a load micro-operation (uop) together with an arithmetic uop. Intra-instruction fusing can increase cache memory storage efficiency and computer instruction processing bandwidth within a microprocessor without incurring significant computer system cost. Uops are fused, stored in a cache memory, un-fused, executed in parallel, and retired in order to optimized cost and performance.
    Type: Grant
    Filed: June 25, 2002
    Date of Patent: July 8, 2008
    Assignee: Intel Corporation
    Inventors: Nicholas G. Samra, Stephan J. Jourdan, David J. Sager, Glenn J. Hinton
  • Publication number: 20080091923
    Abstract: A register-based instruction optimization is provided for facilitating efficient emulation of a target instruction stream. The optimization includes for at least one instruction in a frequently executed sequence of target instructions: confirming that at least one register is marked as a read-only register for the sequence; confirming that each register of the at least one register has been detected to have a constant value for the at least one instruction in multiple prior iterations of the executed sequence; and response thereto, optimizing the at least one instruction by replacing the at least one instruction with at least one immediate form instruction having at least one constant value encoded directly therein from the at least one register. The optimization results in an optimized sequence of target instructions, which when translated into a sequence of host instructions, is more efficiently executed by a host computing environment.
    Type: Application
    Filed: October 16, 2006
    Publication date: April 17, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Mike S. FULTON, Ali I. SHEIKH
  • Publication number: 20080028191
    Abstract: An instruction set and an information processing apparatus are provided that improve parallelity of a program by using comparatively simple means. A method is provided in which in addition to a mnemonic assigned to an operation code of an instruction under present execution of a program, at least one or more mnemonics are assigned depending on an operation code or codes of at least one or more of instructions preceding and subsequent to the operation code of the instruction under present execution. This increases the number of instructions that can be defined by using the same instruction code width, and hence compresses the object size of a program. Accordingly, an excellent instruction set is realized that can improve the parallelity of a program by using comparatively simple means.
    Type: Application
    Filed: July 13, 2007
    Publication date: January 31, 2008
    Applicant: MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD.
    Inventor: Norio UTSUMI
  • Patent number: 7321963
    Abstract: An article comprising an instruction stored on a storage medium. The instruction includes opcode field storing an opcode signal and an operand field storing an operand signal. The operand is compressed prior to being stored in the operand field.
    Type: Grant
    Filed: February 5, 2004
    Date of Patent: January 22, 2008
    Assignee: Intel Corporation
    Inventors: Alan B. Kyker, Per Hammarlund, Chan Lee, Robert F. Krick, Hitesh Ahuja, William Alexander, Joseph Rohlman
  • Patent number: 7290081
    Abstract: A ROM patching apparatus for use in a data processing system that executes instruction code stored in the ROM. The ROM patching apparatus comprises: 1) a patch buffer for storing a first replacement cache line containing a first new instruction suitable for replacing at least a portion of the code in the ROM; 2) a lockable cache; 3) core processor logic operable to read from an associated memory a patch table containing a first table entry, the first table entry containing 1) the first new instruction and 2) a first patch address identifying a first patched ROM address of the at least a portion of the code in the ROM. The core processor logic loads the first new instruction from the patch table into the patch buffer, stores the first replacement cache line from the patch buffer into the lockable cache, and locks the first replacement cache line into the lockable cache.
    Type: Grant
    Filed: May 14, 2002
    Date of Patent: October 30, 2007
    Assignee: STMicroelectronics, Inc.
    Inventors: Sivagnanam Parthasarathy, Alessandro Risso
  • Patent number: 7290120
    Abstract: A microprocessor having a power-saving fetch and decoding unit for fetching and decoding compressed program instructions and having a program instruction sequencer is disclosed. The microprocessor based on the inventive architecture has a power-saving fetch and decoding unit for fetching and decoding program instructions. The fetch and decoding unit has a program instruction memory which receives a sequential program instruction address addressing the next program instruction memory line which is to be read, having at least one program instruction memory line which can store an indicator flag, a long program instruction index, a short program instruction and a first source register address. A directory memory receives the long program instruction index (6) addressing the next directory memory line which is to be read.
    Type: Grant
    Filed: January 14, 2005
    Date of Patent: October 30, 2007
    Assignee: Infineon Technologies AG
    Inventor: Lorenzo DiGregorio
  • Patent number: 7281121
    Abstract: At an MA stage, data, such as a header address of an interrupt processing routine, is loaded via a data bus and immediately supplied to a program counter via multiplexers without the intervention of an instruction decode stage in accordance with a setting address outputted from an EXE/MA buffer to an address bus. Thus, at the next processing timing at which the header address of the interrupt processing routine is loaded, the loaded header address is set in the program counter and fetching of a header instruction of the interrupt processing routine so that the interrupt processing routine can be immediately started.
    Type: Grant
    Filed: May 27, 2004
    Date of Patent: October 9, 2007
    Assignee: DENSO CORPORATION
    Inventor: Takayuki Matsuda
  • Patent number: 7213126
    Abstract: A processor includes a trace cache memory coupled to a trace generator. The trace generator may be configured to generate a plurality of traces each including one or more operations that may be decoded from one or more instructions. Each of the operations may be associated with a respective address. The trace cache memory is coupled to the trace generator and includes a plurality of entries each configured to store one of the traces. The trace generator may be further configured to restrict each of the traces to include only operations having respective addresses that fall within one or more predetermined ranges of contiguous addresses.
    Type: Grant
    Filed: January 12, 2004
    Date of Patent: May 1, 2007
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Gregory William Smaus, Raghuram S. Tupuri, Gerald D. Zuraski, Jr.
  • Patent number: 7191314
    Abstract: A reconfigurable control structure for CPUs comprises a first control unit with a first basic instruction set associated therewith, and a second control unit, with a second instruction set associated therewith. Associated with the second control unit is at least one programming element for rendering the second instruction set selectively modifiable. Also present is at least one circuit element for supplying instruction codes to be executed to the first control unit and to the second control unit, so that each instruction can be executed under the control of at least one between the first control unit or the second control unit according to whether the instruction is comprised in the first basic instruction set and/or in the second selectively modifiable instruction set.
    Type: Grant
    Filed: October 9, 2003
    Date of Patent: March 13, 2007
    Assignee: STMicroelectronics S.r.l.
    Inventors: Francesco Pappalardo, Agatino Pennisi
  • Patent number: 7162621
    Abstract: An extendable instruction set architecture is provided. In an embodiment, a microprocessor includes a memory, a virtual instruction expansion store, and substitution logic. The memory stores at least one virtual instruction that includes an index and at least one parameter. The virtual instruction expansion store includes at least one instruction template and at least one parameter selector. The substitution logic forms a sequence of at least one expanded instruction. In a example, the substitution logic sign-extends the at least one parameter to form an immediate value of the at least one expanded instruction in a manner specified by the at least one parameter selector. In another example, the substitution logic concatenates a first parameter and a second parameter of the virtual instruction to form an immediate value of the at least one expanded instruction in a manner specified by the at lest one parameter selector.
    Type: Grant
    Filed: February 21, 2001
    Date of Patent: January 9, 2007
    Assignee: MIPS Technologies, Inc.
    Inventor: Kevin D. Kissell
  • Patent number: 7143265
    Abstract: A memory access system is described which generates two memory addresses from a single memory access instruction which identifies a register holding at least two packed objects. In the preferred embodiment, the contents of a base register is combined respectively with each of two or more packed objects in an offset register.
    Type: Grant
    Filed: September 29, 2004
    Date of Patent: November 28, 2006
    Assignee: Broadcom Corporation
    Inventor: Sophie Wilson
  • Patent number: 7139897
    Abstract: Circuit arrangement and method for dispatching computer instructions. In a processor having a plurality of types of execution units, the computer instructions are grouped in bundles, and each bundle includes a plurality of instructions and an associated index code. Template values are stored in a plurality of template registers, and each template value specifies types of execution units for a bundle of instructions and those instructions in a bundle that are executable in parallel. A dispatch logic circuit is coupled to the template registers and is responsive to an input bundle of instructions and associated index value. The dispatch logic circuit reads a code from a selected one of the plurality of template registers referenced by the index value and issues one or more selected instructions in the bundle to at least one execution unit of a selected type responsive to the code read from the selected one of the plurality of template registers.
    Type: Grant
    Filed: April 1, 2002
    Date of Patent: November 21, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Paul Keltcher, Gary Vondran
  • Patent number: 7114057
    Abstract: An article comprising an instruction stored on a storage medium. The instruction includes opcode field storing an opcode signal and an operand field storing an operand signal. The operand is compressed prior to being stored in the operand field.
    Type: Grant
    Filed: October 30, 2001
    Date of Patent: September 26, 2006
    Assignee: Intel Corporation
    Inventors: Alan B. Kyker, Per Hammarlund, Chan Lee, Robert F. Krick, Hitesh Ahuja, William Alexander, Joseph Rohlman
  • Patent number: 7111148
    Abstract: A method and apparatus for compressing relative addresses and for storage of compressed relative addresses. A relative virtual address is computed in a particular stage of a processor pipeline and then compressed according to one or more compression techniques for storage in a micro-operation storage. A compressed relative address is retrieved from one or more micro-operation entries of the micro-operation storage and an uncompressed virtual address is reconstructed from the compressed relative address and an instruction pointer (IP) address associated with the head of the micro-operation storage line in which the compressed relative address was stored. IP-relative addresses may be computed in a manner similar to relative branch targets, then compressed and stored in one or more micro-operation entries of a micro-operation storage line to be reconstructed later according to an IP address associated with the respective micro-operation storage line in which their compressed counterpart was stored.
    Type: Grant
    Filed: June 27, 2002
    Date of Patent: September 19, 2006
    Assignee: Intel Corporation
    Inventors: Bret L. Toll, Michael J. St. Clair, John Allan Miller, Hitesh Ahuja
  • Patent number: 7107439
    Abstract: When processor instructions are required for execution, a misaligned address is sent to the processor. The misaligned instruction address causes a computer processor exception. The computer system automatically executes an exception handling routine that transforms data into at least one executable instruction for the processor. In embodiments, data is transformed by decompressing a compressed instruction, decrypting an encrypted instruction, decoding a macro instruction, or transforming a non-native instruction into at least one instruction.
    Type: Grant
    Filed: August 10, 2001
    Date of Patent: September 12, 2006
    Assignee: MIPS Technologies, Inc.
    Inventor: Christopher R. Risucci
  • Patent number: 7107434
    Abstract: The present invention provides a system, method and apparatus for allocating resources by assigning resource identifiers to processor resources using at least a portion of a pseudorandom sequence. One or more resource identifiers are generated using at least a portion of each a pseudorandom sequence. Each resource identifier corresponds to one of the resources. One or more of the resource identifiers are then selected for allocation to the instruction.
    Type: Grant
    Filed: December 19, 2000
    Date of Patent: September 12, 2006
    Assignee: Board of Regents, The University of Texas
    Inventors: Lizy Kurian John, Srivatsan Srinivasan
  • Patent number: 6957319
    Abstract: Integrated circuits having multiple independently accessible microcode ROMs. An integrated circuit may include a microcode unit and a plurality of microcode ROMs fabricated within the same integrated circuit. The microcode unit may be configured to receive a microcoded instruction and to identify a microcode routine that corresponds to the microcoded instruction. The microcode ROMs may collectively store the microcode routines that implement the microcoded instructions of a complex instruction set, and different microcode ROMs may have different access times. At least one of the microcode ROMs may output operations included in the microcode routine in response to the microcode unit identifying the microcode routine. Microcode routines having more performance criticality may be stored in a microcode ROM having a smaller access latency than the access latency of a microcode ROM in which microcode routines having less performance criticality are stored.
    Type: Grant
    Filed: February 19, 2003
    Date of Patent: October 18, 2005
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Brian D. McMinn, James K. Pickett
  • Patent number: 6957322
    Abstract: A microcode instruction unit for a processor may include a microcode memory having entries for storing microcode instructions. A decoder for the microcode memory may decode microcode addresses to select entries of the microcode memory. A microcode entry point generator may receive complex instructions and provide a microcode entry point address to the decoder for each complex instruction. Each microcode entry point address may have a bit-width greater than needed to encode all the entries of the microcode memory. The microcode memory decoder may decode each microcode entry point address to select an entry in the microcode memory storing the beginning of a microcode routine to implement the corresponding complex instruction. The decoder may sparsely decode the microcode address range so that not all entries of said microcode memory are sequentially addressed.
    Type: Grant
    Filed: July 25, 2002
    Date of Patent: October 18, 2005
    Assignee: Advanced Micro Devices, Inc.
    Inventor: James K. Pickett
  • Patent number: 6957321
    Abstract: Instruction set extension using operand bearing no-operation (NOP) or other instructions. In one embodiment, an apparatus can execute a first instruction with an operand associated with a second instruction. The apparatus includes a decoder to identify an operand associated with the second instruction as being designated for the first instruction. An execution unit executes an operation indicated by the first instruction to operate on the operand associated with the second instruction. The second instruction may occur before or after the first instruction in the program sequence.
    Type: Grant
    Filed: June 19, 2002
    Date of Patent: October 18, 2005
    Assignee: Intel Corporation
    Inventor: Gad S. Sheaffer
  • Patent number: 6880150
    Abstract: When a branch instruction is decoded by the instruction decoders 409a˜409c, the upper 29 bits of the PC relative value included in the branch instruction are sent to the upper PC calculator 411 and the lower 3 bits are sent to the lower PC calculator 405. The lower PC calculator 405 adds the lower 3 bits of the PC relative value and the lower 3 bits of the present lower PC 404 and sends the result to the lower PC 404 as the updated lower PC. The upper PC calculator 411 adds the upper 29 bits of the PC relative value, the upper 29 bits of the present upper PC 403, and a carry that may be received from the lower PC calculator 405, and sends the result to the upper PC 403 as the updated upper PC.
    Type: Grant
    Filed: April 28, 1999
    Date of Patent: April 12, 2005
    Assignee: Matsushita Electric Industrial Co., Ltd.
    Inventors: Shuichi Takayama, Hajime Ogawa, Kenichi Kawaguchi, Nobuo Higaki, Kensuke Odani, Tetsuya Tanaka, Shinya Miyaji, Taketo Heishi
  • Patent number: 6877069
    Abstract: An address translation logic and method for generating an instruction's operand address. The address generation logic includes an address generation circuit having adders that perform partial sum additions of the instruction operand's base register value with a displacement value in the instruction. The address generation logic also includes a carry prediction history block associated with the instruction that provides predicted carry-in values to the adders during the partial sum addition operation. In a related embodiment, the carry prediction history block that, in an advantageous embodiment, is appended to the instruction includes a predicted row access select (RAS) carry-in value, a predicted column access select (CAS) carry-in value and a confirmation flag that indicates whether the previous carry-in predictions for the previous predicted RAS and CAS carry-in values for the instruction were correct.
    Type: Grant
    Filed: March 28, 2002
    Date of Patent: April 5, 2005
    Assignee: International Business Machines Corporation
    Inventor: David Arnold Luick
  • Patent number: 6820191
    Abstract: An apparatus and method for executing an instruction with a register bit mask for transferring data between a plurality of registers and memory inside a processor is provided. The method includes adding the N bits in the N-bit decode information together to form an initial count value, and generating a plurality of register identification (ID) numbers equivalent in number to the initial count value. The register ID numbers correspond to the positions in the N-bit decode information that has a bit value ‘1’. According to the register ID number, a link is created between the plurality of registers corresponding to the register ID numbers and a memory unit so that the memory unit and the registers are free to exchange stored data.
    Type: Grant
    Filed: December 28, 2000
    Date of Patent: November 16, 2004
    Assignee: Faraday Technology Corp.
    Inventors: Calvin Guey, Shyh-An Chi, Yu-Min Wang
  • Patent number: 6817015
    Abstract: A microcontroller has a nonvolatile memory that originally stores program code and has free space. When part of the program code needs to be modified, that part is disabled, and modified program code is stored in the free space. The modified program code is executed in place of the disabled program code. Program code can be disabled by changing instructions to a designated instruction, by storing the address of the disabled program code in the nonvolatile memory and loading this address into a disabled code detector, or by deleting the address of the disabled program code from an address list in the nonvolatile memory and adding the address of the modified program code to the list. In this way, the program stored in even a one-time-programmable microcontroller can be changed to meet altered specifications or correct program bugs.
    Type: Grant
    Filed: November 13, 2001
    Date of Patent: November 9, 2004
    Assignee: Oki Electric Industry Co., Ltd.
    Inventor: Toshio Takata
  • Patent number: 6789186
    Abstract: A method and apparatus are provided for improving the rate at which macroinstructions are transformed into corresponding microinstructions. Encoding is added to a microcode storage device. The encoding indicates that a microinstruction flow will end in a determined number of cycles. The number of cycles is determined by the number of canceled instructions in a processing pipeline that would be introduced if no flow length prediction was used. For flow lengths less than a determined number of cycles, a hint bit is used in an entry point structure. For flow lengths greater than a determined length, a hint bit is encoded at a third line from an end of the microinstruction flow. Using this method, flows of any length can be hinted. Furthermore, flows that do not originate from the entry point structure can also be hinted. The method reduces the number of hint bits that are needed in the entry point structure and provides for better prediction.
    Type: Grant
    Filed: February 18, 2000
    Date of Patent: September 7, 2004
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Russell C. Brockmann, Kevin David Safford, Jane Wang, Chris Poirier
  • Patent number: 6789185
    Abstract: A control reservation station stores the control information of a micro program to control one or more flows of an instruction process and controls each flow using the control information. A data buffer stores data to be used to control each flow and outputs the data at an appropriate timing.
    Type: Grant
    Filed: December 13, 1999
    Date of Patent: September 7, 2004
    Assignee: Fujitsu Limited
    Inventors: Norihito Gomyo, Aiichiro Inoue
  • Patent number: 6779102
    Abstract: A data processor formed on a LSI chip has an instruction address generator, an instruction cache memory having entries each storing an instruction address and an instruction corresponding to the instruction address, an instruction decoder decoding an instruction from said cache memory corresponding to an instruction address from said instruction address generator, an operand address generator generating an operand address in response to an output signal of said instruction decoder, and an operand cache memory having entries each storing an operand address and operand data corresponding to the operand address in its entry. The data processor executes an instruction that makes entries in both of said instruction cache memory and said operand cache memory ineffective.
    Type: Grant
    Filed: June 22, 2001
    Date of Patent: August 17, 2004
    Assignee: Hitachi, Ltd.
    Inventors: Tadahiko Nishimukai, Atsushi Hasegawa, Kunio Uchiyama, Ikuya Kawasaki, Makoto Hanawa
  • Patent number: 6742107
    Abstract: A table storing a state transition rule is arranged in a memory. By referencing the table based on input data, the process to be performed for the input data is determined and executed. Additionally, a process capability can be changed by altering a setting in this table. As a result, a data processing device that can perform the processes for general-purpose data, such as a stream data process, etc., at high speed, and can flexibly change a capability according to the circumstances.
    Type: Grant
    Filed: February 14, 2001
    Date of Patent: May 25, 2004
    Assignee: Fujitsu Limited
    Inventor: Akira Jinzaki
  • Patent number: 6732258
    Abstract: A processor supports instruction pointer (IP) relative addressing in at least one operating mode of the processor. For example, in some implementations, IP relative addressing is supported in an operating mode or modes in which the address size is greater than 32 bits (e.g. up to 64 bits). In some embodiments, the displacement may be limited to less than the address size (e.g. 32 bits, in one implementation) when such operating modes are active. Code density may be higher than if the displacements were expanded, and flexibility in the placement of variables in memory may be achieved. For example, static variables may be placed in memory with flexibility, and IP relative addressing may be used to locate the static variables.
    Type: Grant
    Filed: April 2, 2001
    Date of Patent: May 4, 2004
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Kevin J. McGrath, David S. Christie
  • Patent number: 6711669
    Abstract: An article comprising an instruction stored on a storage medium. The instruction includes opcode field storing an opcode signal and an operand field storing an operand signal. The operand is compressed prior to being stored in the operand field.
    Type: Grant
    Filed: January 10, 2003
    Date of Patent: March 23, 2004
    Assignee: Intel Corporation
    Inventors: Alan B. Kyker, Per Hammarlund, Chan Lee, Robert F. Krick, Hitesh Ahuja, William Alexander, Joseph Rohlman
  • Patent number: 6691308
    Abstract: A Central Processing Unit (CPU) hotpatch circuit compares the run-time instruction stream against an internal cache. The internal cache stores embedded memory addresses with associated control flags, executable instruction codes, and tag information. In the event that a comparison against the current program counter succeeds, then execution is altered as required per the control flags. If no comparison match is made, then execution of the instruction that was accessed by the program counter is executed.
    Type: Grant
    Filed: December 30, 1999
    Date of Patent: February 10, 2004
    Assignee: STMicroelectronics, Inc.
    Inventor: Christian D. Kasper
  • Patent number: 6654875
    Abstract: Instruction processor and method supporting dual-mode execution of computer instructions. In various embodiments, certain instructions are executable in one of two modes. The first mode is compatible with the native instruction set and data words, and the second mode is an adaptation suitable for platform independent instructions. A control word RAM is addressed by the operation code of an instruction, and each word in the control word RAM includes an address into a microcode RAM. The address into the microcode RAM is manipulated in accordance with the various embodiments to reference either a first set of microcode for native instructions and data words, or a second set of microcode for execution in a platform-independent mode.
    Type: Grant
    Filed: May 17, 2000
    Date of Patent: November 25, 2003
    Assignee: Unisys Corporation
    Inventors: Thomas D. Hartnett, John S. Kuslak, Peter B. Criswell, Wayne D. Ward
  • Patent number: 6647488
    Abstract: A processor is adapted to support a complex instruction set without making major modifications to the existing hardware but by adding just a few controls and thereby emulating instructions in hardware. The processor is implemented by adding, to the existing processor, a second instruction decoder for decoding an expanded instruction code not capable of issuing an instruction per cycle, and for issuing one instruction per cycle by translating the expanded instruction code into a sequence of basic instructions; a counter for counting the number of instructions to be issued by the second instruction decoder, and for outputting a signal indicating that the expanded instruction code is being executed; and an instruction selection unit for selecting the instruction issued from the first instruction decoder when executing a basic instruction code and the instruction issued from the second instruction decoder when executing the expanded instruction code.
    Type: Grant
    Filed: July 12, 2000
    Date of Patent: November 11, 2003
    Assignee: Fujitsu Limited
    Inventors: Takumi Takeno, Kenichi Nabeya, Junya Matsushima, Daisuke Ban
  • Patent number: 6618803
    Abstract: The present invention discloses a system and method for simultaneously identifying a most recent advanced load instruction employing a particular register and determining whether the instruction conflicts with a store instruction thereby requiring a recovery operation. Fully associative tables are advantageously employed for identifying the most recent load instruction, for comparing store instruction address information with addresses employed in advanced load instructions, and for logging a validity status associated with a register number. Parallel operation of load vs. check register numbers and load instruction and store instruction memory addresses conserves time and preferably enables a hit/miss determination for a particular check instruction to be completed in single machine cycle.
    Type: Grant
    Filed: February 21, 2000
    Date of Patent: September 9, 2003
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: David P Hannum, Rohit Bhatia
  • Patent number: 6618801
    Abstract: The present invention is a method for implementing two architectures on a single chip. The method uses a fetch engine to retrieve instructions. If the instructions are macroinstructions, then it decodes the macroinstructions into microinstructions, and then bundles those microinstructions using a bundler, within an emulation engine. The bundles are issued in parallel and dispatched to the execution engine and contain pre-decode bits so that the execution engine treats them as microinstructions. Before being transferred to the execution engine, the instructions may be held in a buffer. The method also selects between bundled microinstructions from the emulation engine and native microinstructions coming directly from the fetch engine, by using a multiplexor or other means. Both native microinstructions and bundled microinstructions may be held in the buffer. The method also sends additional information to the execution engine.
    Type: Grant
    Filed: February 2, 2000
    Date of Patent: September 9, 2003
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Patrick Knebel, Kevin David Safford, Donald Charles Soltis, Jr., Joel D Lamb, Stephen R. Undy, Russell C Brockmann
  • Patent number: 6611909
    Abstract: In a computer system the instruction decoding unit for translating program instructions to microcode instructions operates dynamically. Thus the unit receives state signals indicating the state of the computer, such as a trace enabling signal, influencing the translation process in the instruction decoding unit. These state signals are added to the operation code of the program instruction to be decoded, the operation code of the program instruction thus being extended and used as input to a translating table, the extended operation code of the program instruction being taken as an address of a field in the table. The addresses and thus the contents of the fields addressed for the same operation code of a program instruction can then be different for different values of the state signals. Thus generally, the state signals cause the instruction decoder to change its translating algorithm so that the decoder can decode an operation code differently depending on the state which the signals adopt.
    Type: Grant
    Filed: December 1, 1998
    Date of Patent: August 26, 2003
    Assignee: Telefonaktiebolaget LM Ericsson (publ)
    Inventors: Tobias Roos, Dan Halvarsson, Tomas Jonsson
  • Publication number: 20030101209
    Abstract: An article comprising an instruction stored on a storage medium. The instruction includes opcode field storing an opcode signal and an operand field storing an operand signal. The operand is compressed prior to being stored in the operand field.
    Type: Application
    Filed: January 10, 2003
    Publication date: May 29, 2003
    Inventors: Alan B. Kyker, Per Hammarlund, Chan Lee, Robert F. Krick, Hitesh Ahuja, William Alexander, Joseph Rohlman
  • Patent number: 6542981
    Abstract: A method and apparatus for invoking microcode instructions resident on a processor by executing a special RISC instruction on the processor such that special functions are provided. In one embodiment, the special function invoked may be a feature of the processor not included in the processor's publicly known instruction set. In another embodiment, the special function invoked may cause a set of instructions to be transferred from a memory external to the processor to a memory in the processor. In such an embodiment, the method and apparatus include authenticating and decrypting the instructions before transferring from the memory external to the processor to the memory in the processor. In such an embodiment, the method and apparatus may be used for upgrading microcode within a processor by executing the special RISC instruction stored on a writeable non-volatile memory located external to the processor.
    Type: Grant
    Filed: December 28, 1999
    Date of Patent: April 1, 2003
    Assignee: Intel Corporation
    Inventors: Nazar Abbas Zaidi, Gary Hammond, Kin-Yip Liu, Tse-Yu Yeh
  • Patent number: 6463521
    Abstract: A method for including opcode information in an opcode includes numbering the opcode such that a property of the opcode is represented by at least one bit of the opcode. According to one aspect, the number of data units required to advance to the next opcode is encoded into the opcode value itself. According to another aspect, opcodes are numbered such that opcodes having the same properties have opcode values in the same opcode range.
    Type: Grant
    Filed: June 23, 1999
    Date of Patent: October 8, 2002
    Assignee: Sun Microsystems, Inc.
    Inventor: Dean R. E. Long
  • Patent number: 6457117
    Abstract: The processor is configured to predecode instruction bytes prior to their storage within an instruction cache. During the predecoding, relative branch instructions are detected. The displacement included within the relative branch instruction is added to the address corresponding to the relative branch instruction, thereby generating the target address. The processor replaces the displacement field of the relative branch instruction with an encoding of the target address, and stores the modified relative branch instruction in the instruction cache. The branch prediction mechanism may select the target address from the displacement field of the relative branch instruction instead of performing an addition to generate the target address. In one embodiment, relative branch instructions having eight bit and 32-bit displacement fields are included in the instruction set executed by the processor.
    Type: Grant
    Filed: November 7, 2000
    Date of Patent: September 24, 2002
    Assignee: Advanced Micro Devices, Inc.
    Inventor: David B. Witt
  • Patent number: 6446190
    Abstract: A double indirect method of accessing a block of data in a register file is used to allow efficient implementations without the use of specialized vector processing hardware. In addition, the automatic modification of the register addressing is not tied to a single vector instruction nor to repeat or loop instructions. Rather, the technique, termed register file indexing (RFI) allows full programmer flexibilty in control of the block data operational facility and provides the capability to mix non-RFI instructions with RFI instructions. The block-data operation facility is embedded in the iVLIW ManArray architecture allowing its generalized use across the instruction set architecture without specialized vector instructions or being limited in use only with repeat or loop instructions.
    Type: Grant
    Filed: March 12, 1999
    Date of Patent: September 3, 2002
    Assignee: Bops, Inc.
    Inventors: Edwin F. Barry, Gerald G. Pechanek, Patrick R. Marchand
  • Patent number: 6442675
    Abstract: A generalized, programmable dataflow state-machine is provided to receive information about a particular string instruction. The string instruction is parsed into all the operations contained in the string instruction. The operations that make up the string instruction are routed to parallel functional units and executed. The state-machine manipulates the size of the operations in the string instruction and whether or not the instructions need to be generated.
    Type: Grant
    Filed: July 29, 1999
    Date of Patent: August 27, 2002
    Assignee: International Business Machines Corporation
    Inventors: John Edward Derrick, Lee Evan Eisen, Hung Qui Le
  • Patent number: 6442672
    Abstract: The invention is a processing method and a processor architecture which contains multiple processors on the same silicon but which does not make a fixed compromise by statically assigning processing units to the processors but rather dynamically assigns such processing units so that they may be efficiently shared. The invention may provide the same functionality as was obtained with static allocation, and may be implemented on a single chip with much lower area for the same level of performance. The preferred architecture uses a mode bit that may be programatically set for passing control from a general purpose instruction decoder to a finite state machine. The preferred architecture further includes a multiplexer that uses the mode bit as its selection input.
    Type: Grant
    Filed: September 30, 1998
    Date of Patent: August 27, 2002
    Assignee: Conexant Systems, Inc.
    Inventor: Kumar Ganapathy
  • Patent number: 6438680
    Abstract: When a decision circuit (217) incorporated in a control circuit (21) in an instruction decode unit (2) in a microprocessor (1) decides that an integer operation unit (4) can not execute a following sub instruction, the decision circuit (217) controls each of selectors (211, 214, and 215) and an exchange circuit (216) so that a memory access unit (3) that has already executed a preceding sub instruction can execute the following sub instruction.
    Type: Grant
    Filed: June 3, 1999
    Date of Patent: August 20, 2002
    Assignee: Mitsubishi Denki Kabushiki Kaisha
    Inventors: Akira Yamada, Isao Minematsu
  • Patent number: 6412062
    Abstract: The present invention is a method and apparatus to inject an external event to a first pipeline stage in a pipeline chain. A target instruction address corresponding to an instruction is specified. The external event is asserted when there is a match between the target instruction address and a pipeline instruction pointer corresponding to a second pipeline stage. The second pipeline stage is earlier than the first pipeline stage in the pipeline chain. The external event is unmasked via a delivery path between a signal representing the asserted external event and the first pipeline stage.
    Type: Grant
    Filed: June 30, 1999
    Date of Patent: June 25, 2002
    Assignee: Intel Corporation
    Inventors: Yan Xu, Steven J. Tu
  • Patent number: 6397319
    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 20, 2000
    Date of Patent: May 28, 2002
    Assignee: Matsushita Electric Ind. Co., Ltd.
    Inventors: Shuichi Takayama, Nobuo Higaki
  • Patent number: 6378062
    Abstract: The present invention provides for executing store instructions with a processor. The present invention executes each of the store instructions by producing the data that is to be stored and by calculating the destination address to which the data is to be stored. In the present invention, the store instructions are executed to produce the destination address of the store instruction earlier than the prior art.
    Type: Grant
    Filed: March 28, 1997
    Date of Patent: April 23, 2002
    Assignee: Intel Corporation
    Inventors: Jeffery M. Abramson, Haitham Akkary, Andrew F. Glew, Glenn J. Hinton, Kris G. Konigsfeld, Paul D. Madland
  • Patent number: 6367003
    Abstract: A digital signal processor (DSP) architecture which allows the DSP Multiply-Accumulator (MAC) to be used for special fixed functions during those times when the programmable portions of the DSP are not using the MAC circuitry. During the idle times, the DSP processor gives control of the MAC to the fixed function circuit. The fixed functions provided by the fixed function circuit can include digital filters, including a Finite Impulse Response filters (FIR), an Infinite Impulse Response (IIR) filter, or an oversampling filter associated with a sigma-delta converter. The DSP may, under program control, set up specific parameters for the fixed function, provide parameters to the fixed function parameter memory, or obtain results from the fixed function. Parameters for the fixed function circuit include the type of filter, the number of taps and the filter coefficients. For a decimation filter, the fixed function parameters can also include the decimation factor.
    Type: Grant
    Filed: August 14, 2000
    Date of Patent: April 2, 2002
    Assignee: Micron Technology, Inc.
    Inventor: Henry A. Davis