Decoding Instruction To Accommodate Plural Instruction Interpretations (e.g., Different Dialects, Languages, Emulation, Etc.) Patents (Class 712/209)
  • Patent number: 6865664
    Abstract: Embodiments of systems, methods, and computer program products are provided for compressing a computer program based on a compression criterion and executing the compressed program. For example, a computer program may be compressed by scanning an initial computer program to identify one or more uncompressed instructions that have a high frequency of use. A storage mechanism, such as a data structure, may then be populated with the identified uncompressed instructions. A compressed computer program may be generated by respectively replacing one or more of the identified uncompressed instructions with a compressed instruction that identifies a location of the corresponding uncompressed instruction in the storage mechanism. Additional compression of the computer program may be achieved by scanning the compressed computer program to identify one or more uncompressed instructions that have a high frequency of use when at least a portion of their instruction operand is ignored.
    Type: Grant
    Filed: December 13, 2000
    Date of Patent: March 8, 2005
    Assignee: Conexant Systems, Inc.
    Inventors: Martin T. Budrovic, David J. Kolson
  • Patent number: 6851046
    Abstract: A system and method for performing a general ternary branch instruction is provided. Additionally, different approaches are provided for reducing the complexity of a ternary branch instruction word and corresponding hardware.
    Type: Grant
    Filed: November 13, 2001
    Date of Patent: February 1, 2005
    Assignee: GlobeSpanVirata, Inc.
    Inventors: Marc R. Delvaux, Mazhar Alidina
  • Patent number: 6845353
    Abstract: In a computer which translates instructions from a target instruction set to a host instruction set, a method for determining validity of a translation of a target instruction linked to an earlier translation including the steps of testing a memory address of a target instruction to be executed against a copy of the memory address of the target instruction from which a translation of the target instruction was made, executing the translation if the addresses compare, and generating an exception if the addresses do not compare.
    Type: Grant
    Filed: December 23, 1999
    Date of Patent: January 18, 2005
    Assignee: Transmeta Corporation
    Inventors: Robert Bedichek, David Keppel, John Banning
  • Publication number: 20040268090
    Abstract: A method, apparatus and system are disclosed for decoding an instruction in a variable-length instruction set. The instruction is one of a set of new types of instructions that uses a new escape code value, which is two bytes in length, to indicate that a third opcode byte includes the instruction-specific opcode for a new instruction. The new instructions are defined such the length of each instruction in the opcode map for one of the new escape opcode values may be determined using the same set of inputs, where each of the inputs is relevant to determining the length of each instruction in the new opcode map. For at least one embodiment, the length of one of the new instructions is determined without evaluating the instruction-specific opcode.
    Type: Application
    Filed: June 30, 2003
    Publication date: December 30, 2004
    Inventors: James S. Coke, Peter J. Ruscito, Masood Tahir, David B. Jackson, Ves A. Naydenov, Scott D. Rodgers, Bret L. Toll, Frank Binns
  • Publication number: 20040255097
    Abstract: A data processing apparatus 2 is provided which supports two instruction sets. These two instruction sets share a common subset of instructions including at least one class of instructions, such as all of the coprocessor instructions. The common subset of instructions have the same instruction encoding once any differences due to storage order within memory have been compensated for e.g. endianness.
    Type: Application
    Filed: February 20, 2004
    Publication date: December 16, 2004
    Applicant: ARM LIMITED
    Inventors: David James Seal, Edward Colles Nevill
  • Patent number: 6826680
    Abstract: In a microcontroller (100) the command decoder (15) has access to at least one memory (14). The command decoder may thus be adapted to decode at least one conditional command, while the result of decoding the conditional command is dependent on the contents of said memory (14). The microcontroller according to the invention thus provides the possibility of considerably reducing the programming effort so that both the system performance and the code density can be significantly increased with a small additional number of hardware components.
    Type: Grant
    Filed: June 25, 2001
    Date of Patent: November 30, 2004
    Assignee: Koninklijke Philips Electronics N.V.
    Inventor: Detlef Müller
  • Publication number: 20040236927
    Abstract: In a processor system comprising of a processor having an instruction decoder 22, a general register 61 composed of a plurality of register areas and at least one ALU 60, and a Java accelerator 30 for converting a Java bytecode sequence to a native instruction sequence for the processor and supplying the native instruction sequence to the instruction decoder. The Java accelerator 30 is composed of a bytecode translator 40 for converting the Java bytecode sequence to the native instruction sequence for the processor and a register status control unit 50 for mapping a Java operand stack to any of the register areas of the general register and detecting a bytecode redundant for the processor. When a redundant bytecode is detected by the register status control unit 50, the supply of the native instruction from the bytecode translator 40 to the instruction decoder 22 is inhibited.
    Type: Application
    Filed: March 4, 2004
    Publication date: November 25, 2004
    Inventors: Naohiko Irie, Fumio Arakawa
  • Publication number: 20040205322
    Abstract: A processor having improved decode logic is provided. In accordance with one embodiment, the processor includes a first decoder capable of decoding a first plurality of instructions, a second decoder capable of decoding a second plurality of instructions, and special instruction logic for implementing at least one special instruction, the at least one special instruction being an instruction that the first decoder or second decoder is not designed to directly decode for execution by an execution unit in the processor. In another embodiment, a related method is provided for decoding a processor instruction.
    Type: Application
    Filed: April 10, 2003
    Publication date: October 14, 2004
    Inventor: Charles F. Shelor
  • Publication number: 20040199747
    Abstract: A processor includes first decoder logic capable of decoding a plurality of encoded instructions comprising a first instruction set, the first decoder logic having an input to receive an encoded instruction output from the fetch logic. The processor also includes second decoder logic capable of decoding a plurality of encoded instructions comprising a second instruction set, the second decoding logic having an input to receive an encoded instruction output from the fetch logic. Finally, the processor includes decoder control logic configured to selectively control active operation of the first decoder logic and the second decoder logic. In operation, the decoder control logic operates such that when the first decoder logic is decoding an instruction then the second decoder logic is operated in a lower-power, inactive mode. Likewise, when the second decoder logic is decoding an instruction then the first decoder logic is operated in a lower-power, inactive mode.
    Type: Application
    Filed: April 3, 2003
    Publication date: October 7, 2004
    Inventor: Charles F. Shelor
  • Publication number: 20040193844
    Abstract: The present application describes a method and a system for facilitating the execution of helper sets corresponding to atomic complex instructions. The atomicity of complex instructions is maintained by emptying load and/or store queues and locking the addressed location. Complex atomic instructions are expanded into helper instructions before execution (e.g., in the integer, floating point, graphics and memory units or the like). Emptying the load and/or store queues before processing the helper load/store prevents any potential deadlock condition (or competition among other load/store) for corresponding memory locations and facilitates in maintaining atomicity of the complex instruction.
    Type: Application
    Filed: March 24, 2003
    Publication date: September 30, 2004
    Applicant: Sun Microsystems, Inc.
    Inventors: Chandra M.R. Thimmannagari, Sorin Iacobovici, Rabin A. Sugumar
  • Publication number: 20040193852
    Abstract: A processor system. The processor system comprises a processor having a first set of instructions associated therewith. The processor system also comprises a programmable logic device and an extension adapter coupled to the processor and the programmable logic device. The extension adapter allows the programmable logic device to implement a second set of reconfigurable instructions for the processor.
    Type: Application
    Filed: March 31, 2003
    Publication date: September 30, 2004
    Inventor: Scott D. Johnson
  • Patent number: 6799157
    Abstract: An objective is to provide a microcomputer, electronic equipment and emulation method which can realize the optimum circumstance of evaluation while saving the number of terminals. An external bus is shared between external and emulation memories. In the emulation mode, the access of CPU to an internal ROM is switched to the access of CPU to the emulation memory through an external bus. The emulation mode is turned ON or OFF through a mode selection terminal or mode selection register. The emulation memory is controlled by a control signal CNT2 different from a control signal CNT1 which controls the external memory. A memory read signal in CNT2 become active at a timing earlier than that of a memory read signal in CNT1. Thus, the instruction is fetched and decoded within one clock cycle. A mode selection terminal is further provided for selecting a mode of performing the boot from the emulation memory, internal ROM or external memory and a made of selecting OPT mode.
    Type: Grant
    Filed: March 21, 2000
    Date of Patent: September 28, 2004
    Assignee: Seiko Epson Corporation
    Inventors: Makoto Kudo, Hirofumi Terasawa, Yoshiyuki Miyayama
  • Publication number: 20040177234
    Abstract: A method of executing a stack-based program containing branch instructions using a processor having a register-based architecture, the processor having means for implementing a stack using registers of the processor such that the processor may operate in a stack-based mode as well as a register-based mode, the method comprising the steps of: translating each branch instruction of the stack-based program into a branch instruction of a register-based program and including in the translated instruction an indication that the instruction relates to the stack-based operation mode; examining each translated branch instruction and, if the instruction includes said indication, updating a stack counter of said means for implementing a stack; and executing the branch instruction.
    Type: Application
    Filed: December 31, 2003
    Publication date: September 9, 2004
    Inventors: Marciej Kubiczek, Christopher Robert Turner
  • Publication number: 20040177233
    Abstract: A method of executing a stack-based program using a processor having a register-based architecture, the processor having means for simulating a stack using a subset of its registers such that the processor may operate in a simulated stack-based mode as well as a register-based mode. The method comprises the steps of fetching stack-based instructions from a program memory, translating individual stack-based instructions or sequences of stack-based instructions into register-based instructions, and including in at least certain of the translated instructions an indication that these instructions are to be executed using the simulated stack-based mode. Translated instructions, including said indication, are executed using the simulated stack-based mode, and other translated instructions are executed using the register-based mode.
    Type: Application
    Filed: December 31, 2003
    Publication date: September 9, 2004
    Inventors: Maciej Kubiczek, Christopher Robert Turner
  • Publication number: 20040172519
    Abstract: A processor has an instruction set A and an instruction set B. A system instruction decoder decodes a system instruction that specifies the operating mode of the processor, the system instruction not being included in either the instruction set A or the instruction set B. A system instruction execution controller receives a decoded signal from the system instruction decoder, which has decoded an instruction requiring changeover of the instruction set, and sets the value of a instruction mode register. On the basis of the value in the instruction mode register, an instruction set changeover unit selects the instruction set to be used.
    Type: Application
    Filed: February 24, 2004
    Publication date: September 2, 2004
    Applicant: NEC Electronics Corporation
    Inventor: Hiroyuki Nakajima
  • Patent number: 6785801
    Abstract: A method for growing a secondary trace out of a cache of translations for a program during the program's execution in a dynamic translator, comprising the steps of: maintaining execution counts for translation heads that are executed from a code cache; when an execution count for one of said translation heads exceeds a threshold, designated as a hot translation head, beginning a mode of operation in which, as following code translations are executed from the code cache after the execution of the hot translation head, storing in a history buffer information identifying each of the following code translations in sequence; terminating the storing of information in the history buffer in relation to the hot translation head when a termination condition is met; and linking together the translation head and the sequence of following code translations identified in the history buffer to form a larger code translation.
    Type: Grant
    Filed: January 5, 2001
    Date of Patent: August 31, 2004
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Evelyn Duesterwald, Vasanth Bala, Sanjeev Banerjia
  • Publication number: 20040153630
    Abstract: An microprocessor apparatus and method are provided for executing native instructions directly from memory. The apparatus includes instruction translation logic and bypass logic. The instruction translation logic retrieves macro instructions provided via an external instruction bus, and translates each of the macro instructions into associated native instructions for execution. If a first form of a first macro instruction is retrieved, the instruction translation logic directs the microprocessor to enable a native bypass mode and indicates such by asserting a first bit within a control register. The bypass logic is coupled to the instruction translation logic.
    Type: Application
    Filed: January 21, 2004
    Publication date: August 5, 2004
    Applicant: IP-First LLC
    Inventors: G. Glenn Henry, Arturo Martin-de-Nicolas, Terry Parks
  • Publication number: 20040128478
    Abstract: A method is provided for distinguishing a correct command entry address. To this end, each command word has a prescribed start bit, and long command words have a second start bit for the purpose of distinction.
    Type: Application
    Filed: October 27, 2003
    Publication date: July 1, 2004
    Inventors: Heimo Hartlieb, Holger Sedlak
  • Patent number: 6745320
    Abstract: There is provided a data processing apparatus capable of increasing a number of general purpose registers while maintaining upper compatibility. Register designating information for designating a register is divided in two portions. The two portions are arranged in separate basic units on the basic units of an instruction code. When one instruction code is made ignorable and the ignorable instruction code is ignored, a control unit (CONT) executes register selecting operation by implicitly assuming predetermined register designating information. Thereby, when only a general purpose register (existing general purpose register) capable of being designated implicitly is used, the ignorable instruction code can be ignored and accordingly, the instruction codes are not increased. When an at least conventionally equivalent general purpose register is used, a conventionally equivalent instruction code may be used. By preventing the instruction codes from increasing, processing speed is not reduced.
    Type: Grant
    Filed: April 28, 2000
    Date of Patent: June 1, 2004
    Assignee: Renesas Technology Corp.
    Inventor: Naoki Mitsuishi
  • Patent number: 6745384
    Abstract: A method and system for anticipatory optimization of computer programs. The system generates code for a program that is specified using programming-language-defined computational constructs and user-defined, domain-specific computational constructs, the computational constructs including high-level operands that are domain-specific composites of low-level computational constructs. The system generates an abstract syntax tree (AST) representation of the program in a loop merging process. The AST has nodes representing the computational constructs of the program and abstract optimization tags for folding of the composites. A composite folding process is applied to the AST according to the optimization tags to generate optimized code for the program.
    Type: Grant
    Filed: September 21, 2000
    Date of Patent: June 1, 2004
    Assignee: Microsoft Corporation
    Inventor: Ted J. Biggerstaff
  • Patent number: 6745314
    Abstract: A circular buffer control circuit, a method of controlling a circular buffer and a digital signal processor (DSP) incorporating the circuit or the method. In one embodiment, the circuit includes: (1) address calculation logic, having multiple datapaths, that calculates, from data regarding a buffer operation, an updated address result therefor and (2) modification order determination circuitry, coupled in parallel with the address calculation logic, that transmits a memory access request and the updated address result in an order that is based on whether the buffer operation is pre-modified or post-modified.
    Type: Grant
    Filed: November 26, 2001
    Date of Patent: June 1, 2004
    Assignee: LSI Logic Corporation
    Inventor: Shannon A. Wichman
  • Patent number: 6732257
    Abstract: A method is disclosed in which a higher level instruction having an immediate is read from memory and translated into two lower level instructions. The first is to move a first portion of the immediate to a register, and the second includes a pointer to the register as well as a second portion of the immediate.
    Type: Grant
    Filed: September 29, 2000
    Date of Patent: May 4, 2004
    Assignee: Intel Corporation
    Inventor: Gad S. Sheaffer
  • Publication number: 20040078552
    Abstract: A processor (e.g., a co-processor) comprising a decoder coupled to a pre-decoder, in which the decoder decodes a current instruction in parallel with the pre-decoder pre-decoding a subsequent instruction. In particular, the pre-decoder examines at least five Bytecodes in parallel with the decoder decoding a current instruction. The pre-decoder determines if a subsequent instruction contains a prefix. If a prefix is detected in at least one of the five Bytecodes, a program counter skips the prefix and changes the behavior of the decoder during the decoding of the subsequent instruction.
    Type: Application
    Filed: July 31, 2003
    Publication date: April 22, 2004
    Applicant: Texas Instrument Incorporated
    Inventors: Gerard Chauvel, Serge Lasserre, Maija Kuusela
  • Patent number: 6714904
    Abstract: A method for modifying operating conditions within a computer which translates instructions from a target instruction set to a host instruction set including the steps of monitoring an event occurring within a component of the computer, counting events occurring within a selected interval, generating an exception if a total of events within the selected interval exceeds a prescribed limit, and responding to the exception by modifying a translated sequence of host instructions.
    Type: Grant
    Filed: October 13, 1999
    Date of Patent: March 30, 2004
    Assignee: Transmeta Corporation
    Inventors: Linus Torvalds, David Keppel
  • Patent number: 6711667
    Abstract: A microprocessor including an instruction translation unit and a storage control unit is provided. The instruction translation unit scans the instructions to be executed by the microprocessor. The instructions are coded in the instruction set of a CPU core included within the microprocessor. The instruction translation unit detects code sequences which may be more efficiently executed in a DSP core included within the microprocessor, and translates detected code sequences into one or more DSP instructions. The instruction translation unit conveys the translated code sequences to a storage control unit. The storage control unit stores the code sequences along with the address of the original code sequences. As instructions are fetched, the storage control unit is searched. If a translated code sequence is stored for the instructions being fetched, the translated code sequence is substituted for the code sequence.
    Type: Grant
    Filed: June 28, 1996
    Date of Patent: March 23, 2004
    Assignee: Legerity, Inc.
    Inventor: Mark A. Ireton
  • Publication number: 20040049658
    Abstract: A method and apparatus are provided for event detection for a multiple instruction-set processor. In one example of the apparatus, a data processing device comprises an instruction execution device configured to execute a first instruction set as specific instructions; an instruction conversion circuit configured to convert instructions of a second instruction set into a first instruction string of the first instruction set, and further configured to supply the first instruction string to the instruction execution device; and a counter device configured to count a prescribed event, wherein the instruction conversion circuit is further configured to output a prescribed instruction when the counter device is satisfied by a prescribed condition.
    Type: Application
    Filed: June 11, 2003
    Publication date: March 11, 2004
    Applicant: Hitachi, Ltd.
    Inventors: Masayuki Kabasawa, Naohiko Irie, Takahiro Irita, Tetsuya Yamada, Takanobu Tsunoda
  • Publication number: 20040044880
    Abstract: In a dynamically compiling computer system, a system and method for efficiently transferring control from execution of an instruction in a first representation to a second representation of the instruction is disclosed. The system and method include the setting of a tag for entry points of each instruction in a first representation that has been translated to a second representation. The tag is stored in memory in association with each such instruction. When a given instruction in a first representation is to be executed, the tag is examined, and if it indicates that a translated version of the instruction has previously been generated, control is passed to execution of the instruction in the second representation. The second representation can be a different instruction set representation, or an optimized representation in the same instruction set as the original instruction.
    Type: Application
    Filed: May 2, 2001
    Publication date: March 4, 2004
    Applicant: International Business Machines Corporation
    Inventors: Erik R. Altman, Kemal Ebcioglu, Michael Karl Gschwind, David Arnold Luick
  • Patent number: 6701426
    Abstract: A multiple instruction set processor and method dynamically activates one of a plurality of branch prediction processes depending upon which one of a multiple instruction set is operational. Shared branch history table structures are used and are indexed differently depending upon which instruction set is operational. The apparatus and method also allows switching between instruction set index generators for each of the plurality of instruction sets. Accordingly, different indexes to branch prediction data are used depending upon which of the plurality of instruction sets is operational. Shared memory may be used to contain branch prediction table data for instructions from each of the plurality of instruction sets in response to selection of an instruction set. Shared memory is also used to contain branch target buffer data for instructions from each of the plurality of instruction sets in response to selection of one of the instruction sets.
    Type: Grant
    Filed: October 19, 1999
    Date of Patent: March 2, 2004
    Assignee: ATI International Srl
    Inventors: Greg L. Ries, Ronak S. Patel, Korbin S. Van Dyke, Niteen Patkar, T. R. Ramesh
  • Publication number: 20040039897
    Abstract: A high cost-performance data processing device and electronic equipment are capable of executing an instruction set including a prefix instruction without increasing the circuit scale. The data processing device of the present invention performs pipeline control and includes a fetch circuit which fetches instruction codes of a plurality of instructions in instruction queues, a prefix instruction decoder circuit which performs a decode processing only on a prefix instruction, the prefix instruction decoder circuit receiving the instruction code before decoding, judging whether or not the instruction is a given prefix instruction, and causing a target instruction modifying information register to store information necessary for decoding a target instruction when the instruction is the given prefix instruction, and a decoder circuit which receives each of the instruction codes of the instructions other than the prefix instruction as a decode instruction and decodes the decode instruction.
    Type: Application
    Filed: June 20, 2003
    Publication date: February 26, 2004
    Applicant: SEIKO EPSON CORPORATION
    Inventor: Makoto Kudo
  • Publication number: 20040030865
    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 multiplexer 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: Application
    Filed: June 25, 2003
    Publication date: February 12, 2004
    Inventors: Patrick Knebel, Kevin David Safford, Donald Charles Soltis, Joel D Lamb, Stephen R. Undy, Russell C. Brockmann
  • Patent number: 6691306
    Abstract: An apparatus comprising a circuit configured to (i) translate one or more instruction codes of a first instruction set into a sequence of instruction codes of a second instruction set and (ii) present the sequence of instruction codes of the second instruction set in response to a predetermined number of addresses.
    Type: Grant
    Filed: December 22, 2000
    Date of Patent: February 10, 2004
    Assignee: LSI Logic Corporation
    Inventors: Ariel Cohen, Ronen Perets, Boris Zemlyak
  • Publication number: 20040024990
    Abstract: A processor (e.g., a co-processor) comprising a decoder adapted to decode instructions from a first instruction set in a first mode and a second instruction set in a second mode. A pre-decoder coupled to the decoder, and operates in parallel with the decoder, determines if subsequent instructions switches the decoder from one mode to the other temporarily or permanently. In particular, the pre-decoder examines at least five Bytecodes concurrently with the decoder decoding a current instruction from a particular instruction set. If the pre-decoder determines that at least one of the five Bytecodes includes a predetermined instruction, the predetermined instruction is skipped and a following instruction is loaded into the decode logic and the decode logic switches from one mode to the other for the decoding of at least the following instruction.
    Type: Application
    Filed: July 31, 2003
    Publication date: February 5, 2004
    Applicant: Texas Instruments Incorporated
    Inventors: Gerard Chauvel, Serge Lasserre, Dominique D'Inverno
  • Publication number: 20040024991
    Abstract: A processor (e.g., a co-processor) comprising a decoder adapted to decode instructions from a first instruction set in a first mode and a second instruction set in a second mode. A pre-decoder coupled to the decoder, and operates in parallel with the decoder, determines the mode of operation for the decode logic for subsequent instructions. In particular, the decode logic operating in a current mode concurrently with the pre-decoder detecting a predetermined prefix, which indicates a subsequent instruction is a system command. Upon detecting this predetermined prefix, the decoder decodes the system command accordingly.
    Type: Application
    Filed: July 31, 2003
    Publication date: February 5, 2004
    Applicant: Texas Instruments Incorporated
    Inventors: Gerard Chauvel, Serge Lasserre
  • Patent number: 6687808
    Abstract: A data processor is composed of a register file including a plurality of registers each of which stores therein an operand data, a register pointer section which includes a plurality of register pointers, an instruction register, a data type converter unit, and a processing unit. Each of the register pointers stores therein a register address and a data type of the operand data stored in the register specified by the register address. The instruction register fetches an instruction word including an operation code, and an operand field. The operand field is representative of a register pointer address used for addressing a selected one of the register pointers to thereby indirectly addressing a selected one of the register.
    Type: Grant
    Filed: July 29, 2002
    Date of Patent: February 3, 2004
    Assignee: NEC Electronics Corporation
    Inventor: Hideki Sugimoto
  • Patent number: 6675235
    Abstract: An execution unit (2) interface protocol allowing flow-through of data, where a function is specified once and the execution unit performs the function for multiple sets of input data. Function execution is pipelined through the execution unit, where an input unit (6) stores information, while a function logic unit (4) processes data and an output unit (8) holds results to be output. The execution unit (2) allows for data rate distortion, in applications such as data compression, where the amount of data received is different from the amount of data generated as output.
    Type: Grant
    Filed: January 18, 2000
    Date of Patent: January 6, 2004
    Assignee: Motorola, Inc.
    Inventors: Frank C. Galloway, Kristen L. Mason, Gary R. Morrison, Charles Edward Nuckolls, Jennifer L. McKeown
  • Publication number: 20040003204
    Abstract: The present invention provides a hardware accelerator, which allows faster switching between processing modes. In an information processing device with a bytecode accelerator BCA for translating a stack-based intermediate code (bytecode) into register-based instructions, a selector SEL for switching between BCA and soft VM is posed between an instruction part FET and a decode part DEC and data transfer paths P4 and P5 are formed between BCA and the register file REG_FILE. When bytecode accelerator BCA is activated, the P3 side is selected by the selector SEL and the translated CPU instructions are transferred to the decode part DEC. If the intermediate language code cannot be translated by the BCA, the processing mode is switched to software processing. During switching between the modes, internal information of BCA can be transferred between BCA and REG_FILE in parallel, achieving faster mode switching.
    Type: Application
    Filed: June 10, 2003
    Publication date: January 1, 2004
    Inventors: Tetsuya Yamada, Naohiko Irie, Takanobu Tsunoda, Takahiro Irita, Keisuke Toyama, Masayuki Kabasawa
  • Publication number: 20030236966
    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: Application
    Filed: June 25, 2002
    Publication date: December 25, 2003
    Inventors: Nicholas G. Samra, Stephan J. Jourdan, David J. Sager, Glenn J. Hinton
  • Publication number: 20030236964
    Abstract: Speculatively decoding instruction lengths in order to increase instruction throughput. Instructions are speculatively decoded within a pipelined microprocessor architecture such that up to four instruction lengths may be decoded within a maximum of two processor clock cycles.
    Type: Application
    Filed: June 25, 2002
    Publication date: December 25, 2003
    Inventor: Venkateswara Rao Madduri
  • Publication number: 20030236965
    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: Application
    Filed: June 19, 2002
    Publication date: December 25, 2003
    Inventor: Gad S. Sheaffer
  • Patent number: 6662361
    Abstract: Disclosed is a method, system, program, and data structures for transforming an instruction in a first bit architecture, e.g., 32 bit, to an instruction in a second bit architecture, e.g., 64 bit. Code is transformed from an instruction in the first bit architecture having an operation code and at least one operand. A transform table is accessed including information for transforming the instruction in the first bit architecture to the second bit architecture. The instruction in the first bit architecture is transformed to a corresponding instruction in the second bit architecture if the transform table includes information indicating to modify the instruction in the first bit architecture. The transformation is based on transformation operations that modify the instruction in the first bit architecture to generate the instruction in the second bit architecture.
    Type: Grant
    Filed: January 14, 2000
    Date of Patent: December 9, 2003
    Assignee: International Business Machines Corporation
    Inventor: Andrea Ontko Jackson
  • Publication number: 20030221087
    Abstract: An information processing system 1 of the present invention includes an information processing terminal 2, an external storage device 3, and a data communication bus 4. The information processing terminal 2 has an I/O control circuit 20, a RISC-type CPU 21, and a code morphing module 22. A code conversion selection sub-module 22a of the code morphing module 22 selects either one of code conversion sub-modules 22b and 22c, based on predetermined information stored in a configuration ROM 30b, which is set in a data memory area 30 of the external storage device 3. The code conversion selection sub-module 22a also switches over the setting used for operations of the information processing terminal 2 to an operating system corresponding to the predetermined information.
    Type: Application
    Filed: March 18, 2003
    Publication date: November 27, 2003
    Applicant: SEIKO EPSON CORPORATION
    Inventor: Fumio Nagasaka
  • Patent number: 6654874
    Abstract: Microcomputer systems include an instruction processor therein that can process both normal length instructions and compressed instructions. The normal length instructions and the compressed instructions are provided from memory to an instruction register and then passed through decoding circuitry to a processor core. The decoding circuitry preferably comprises a demultiplexer having a data input that receives a first multi-bit instruction from the instruction register and a select input that receives a first select signal (SEL1). A compressed instruction decoder is also provided. The compressed instruction decoder has a data input electrically coupled to a first data output of the demultiplexer and a select input that receives a second select signal (SEL2). A multiplexer is also provided.
    Type: Grant
    Filed: March 27, 2000
    Date of Patent: November 25, 2003
    Assignee: Samsung Electronics Co., Ltd.
    Inventor: Yun-Tae Lee
  • Patent number: 6654869
    Abstract: A microprocessor includes a fetch unit, an instruction cracking unit, and dispatch and completion control logic. The fetch unit retrieves a set of instructions from an instruction cache. The instruction cracking unit receives the set of fetched instructions and organizes the set of instructions into an instruction group. The dispatch and completion logic assigns a group tag to the instruction group and records the group tag in an entry of the completion table for tracking the completion status of the instructions comprising the instruction group. The dispatch and control logic may record a single instruction address in the completion table entry corresponding to the each instruction group. Preferably, the single instruction address is the instruction address of the first instruction in the instruction group. The processor may flush the instruction group in response to detecting an exception generated by an instruction in the instruction group.
    Type: Grant
    Filed: October 28, 1999
    Date of Patent: November 25, 2003
    Assignee: International Business Machines Corporation
    Inventors: James Allan Kahle, Hung Qui Le, Charles Roberts Moore
  • Patent number: 6651159
    Abstract: A floating point register stack for a processor combines a plurality of two general purpose registers to form a register stack for x86 instructions and leaves the remaining general purpose registers for native instructions of the processor. By mapping x86 sources into the stack of two general purpose registers and operating x86 instructions on the x86 stack, the register stack for the processor is able to support both the processor's native instruction set and the x86 instruction set without increasing the size of the register stack.
    Type: Grant
    Filed: November 29, 1999
    Date of Patent: November 18, 2003
    Assignee: ATI International SRL
    Inventors: Tiruvur R. Ramesh, Sanjay Mansingh, Korbin Van Dyke
  • Publication number: 20030208674
    Abstract: A digital signal processor uses a variable length instruction set. The variable length instructions may be stored in adjacent locations within memory space. The beginning and ending of instructions may, but are not required to, occur across memory word boundaries. Preferably, the variable length instructions contain variable numbers of instruction fragments. Each instruction fragment causes a particular operation (or operations) to be performed, thereby allowing multiple operations to be performed during each clock cycle. This reduces the total number of clock cycles necessary to perform a task.
    Type: Application
    Filed: October 11, 2002
    Publication date: November 6, 2003
    Inventors: Gilbert C. Sih, Qiuzhen Zou, Jian Lin
  • Publication number: 20030200420
    Abstract: A hierarchical instruction set architecture (ISA) provides pluggable instruction set capability and support of array processors. The term pluggable is from the programmer's viewpoint and relates to groups of instructions that can easily be added to a processor architecture for code density and performance enhancements. One specific aspect addressed herein is the unique compacted instruction set which allows the programmer the ability to dynamically create a set of compacted instructions on a task by task basis for the primary purpose of improving control and parallel code density. These compacted instructions are parallelizable in that they are not specifically restricted to control code application but can be executed in the processing elements (PEs) in an array processor. The ManArray family of processors is designed for this dynamic compacted instruction set capability and also supports a scalable array of from one to N PEs.
    Type: Application
    Filed: April 28, 2003
    Publication date: October 23, 2003
    Applicant: PTS Corporation
    Inventors: Gerald G. Pechanek, Edwin F. Barry, Juan Guillermo Revilla, Larry D. Larsen
  • Publication number: 20030188130
    Abstract: An apparatus and method are provided, for accessing extended registers within a microprocessor. The apparatus includes translation logic and extended register logic. The translation logic translates an extended instruction into corresponding micro instructions for execution by the microprocessor. The extended instruction has an extended prefix and an extended prefix tag. The extended prefix specifies register address extensions, the register address extensions indicating the extended registers, where the extended registers cannot be specified by an existing instruction set. The extended prefix tag indicates the extended prefix, where the extended prefix tag is an otherwise architecturally specified opcode within the existing instruction set. The extended register logic is coupled to the translation logic. The extended register logic receives the corresponding micro instructions, and for accesses the extended registers.
    Type: Application
    Filed: May 9, 2002
    Publication date: October 2, 2003
    Applicant: IP-First LLC
    Inventors: G. Glenn Henry, Rodney E. Hooker, Terry Parks
  • Publication number: 20030188129
    Abstract: A microprocessor apparatus and method are provided, for selectively controlling write back of a result. The apparatus includes translation logic and extended execution logic. The translation logic translates an extended instruction into corresponding micro instructions. The extended instruction has an extended prefix and an extended prefix tag. The extended prefix disables write back of the result, where the result corresponds to execution of a prescribed operation. The extended prefix tag indicates the extended prefix, where the extended prefix tag is an otherwise architecturally specified opcode within an instruction set for a microprocessor. The extended execution logic is coupled to the translation logic. The extended execution logic receives the corresponding micro instructions, and executes the prescribed operation to generate the result, and precludes write back of the result.
    Type: Application
    Filed: May 9, 2002
    Publication date: October 2, 2003
    Applicant: IP-First LLC
    Inventors: G. Glenn Henry, Rodney E. Hooker, Terry Parks
  • Publication number: 20030188131
    Abstract: An apparatus and method are provided for extending a microprocessor instruction set to allow for selective suppression of store checking at the instruction level. The apparatus includes fetch logic, and translation logic. The fetch logic receives an extended instruction. The extended instruction has an extended prefix and an extended prefix tag. The extended prefix specifies that store checking be suppressed for the extended instruction. The extended prefix tag is an otherwise architectural opcode within an existing instruction set. The fetch logic precludes store checking for pending store events associated with the extended instruction. The translation logic is coupled to the fetch logic. The translation logic translates the extended instruction into a micro instruction sequence that sequence directs the microprocessor to exclude store checking during execution of a prescribed operation.
    Type: Application
    Filed: October 29, 2002
    Publication date: October 2, 2003
    Applicant: IP- First LLC
    Inventors: G. Glenn Henry, Rodney E. Hooker, Terry Parks
  • Patent number: RE38599
    Abstract: A pipelined instruction dispatch or grouping circuit allows instruction dispatch decisions to be made over multiple processor cycles. In one embodiment, the grouping circuit performs resource allocation and data dependency checks on an instruction group, based on a state vector which includes representation of source and destination registers of instructions within said instruction group and corresponding state vectors for instruction groups of a number of preceding processor cycles.
    Type: Grant
    Filed: April 7, 2003
    Date of Patent: September 21, 2004
    Assignee: Sun Microsystems, Inc.
    Inventor: Marc Tremblay