Decoding Instruction To Accommodate Plural Instruction Interpretations (e.g., Different Dialects, Languages, Emulation, Etc.) Patents (Class 712/209)
-
Patent number: 6865664Abstract: 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: GrantFiled: December 13, 2000Date of Patent: March 8, 2005Assignee: Conexant Systems, Inc.Inventors: Martin T. Budrovic, David J. Kolson
-
Patent number: 6851046Abstract: 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: GrantFiled: November 13, 2001Date of Patent: February 1, 2005Assignee: GlobeSpanVirata, Inc.Inventors: Marc R. Delvaux, Mazhar Alidina
-
Patent number: 6845353Abstract: 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: GrantFiled: December 23, 1999Date of Patent: January 18, 2005Assignee: Transmeta CorporationInventors: Robert Bedichek, David Keppel, John Banning
-
Publication number: 20040268090Abstract: 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: ApplicationFiled: June 30, 2003Publication date: December 30, 2004Inventors: James S. Coke, Peter J. Ruscito, Masood Tahir, David B. Jackson, Ves A. Naydenov, Scott D. Rodgers, Bret L. Toll, Frank Binns
-
Publication number: 20040255097Abstract: 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: ApplicationFiled: February 20, 2004Publication date: December 16, 2004Applicant: ARM LIMITEDInventors: David James Seal, Edward Colles Nevill
-
Patent number: 6826680Abstract: 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: GrantFiled: June 25, 2001Date of Patent: November 30, 2004Assignee: Koninklijke Philips Electronics N.V.Inventor: Detlef Müller
-
Publication number: 20040236927Abstract: 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: ApplicationFiled: March 4, 2004Publication date: November 25, 2004Inventors: Naohiko Irie, Fumio Arakawa
-
Publication number: 20040205322Abstract: 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: ApplicationFiled: April 10, 2003Publication date: October 14, 2004Inventor: Charles F. Shelor
-
Publication number: 20040199747Abstract: 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: ApplicationFiled: April 3, 2003Publication date: October 7, 2004Inventor: Charles F. Shelor
-
Publication number: 20040193844Abstract: 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: ApplicationFiled: March 24, 2003Publication date: September 30, 2004Applicant: Sun Microsystems, Inc.Inventors: Chandra M.R. Thimmannagari, Sorin Iacobovici, Rabin A. Sugumar
-
Publication number: 20040193852Abstract: 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: ApplicationFiled: March 31, 2003Publication date: September 30, 2004Inventor: Scott D. Johnson
-
Patent number: 6799157Abstract: 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: GrantFiled: March 21, 2000Date of Patent: September 28, 2004Assignee: Seiko Epson CorporationInventors: Makoto Kudo, Hirofumi Terasawa, Yoshiyuki Miyayama
-
Publication number: 20040177234Abstract: 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: ApplicationFiled: December 31, 2003Publication date: September 9, 2004Inventors: Marciej Kubiczek, Christopher Robert Turner
-
Publication number: 20040177233Abstract: 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: ApplicationFiled: December 31, 2003Publication date: September 9, 2004Inventors: Maciej Kubiczek, Christopher Robert Turner
-
Publication number: 20040172519Abstract: 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: ApplicationFiled: February 24, 2004Publication date: September 2, 2004Applicant: NEC Electronics CorporationInventor: Hiroyuki Nakajima
-
Patent number: 6785801Abstract: 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: GrantFiled: January 5, 2001Date of Patent: August 31, 2004Assignee: Hewlett-Packard Development Company, L.P.Inventors: Evelyn Duesterwald, Vasanth Bala, Sanjeev Banerjia
-
Publication number: 20040153630Abstract: 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: ApplicationFiled: January 21, 2004Publication date: August 5, 2004Applicant: IP-First LLCInventors: G. Glenn Henry, Arturo Martin-de-Nicolas, Terry Parks
-
Publication number: 20040128478Abstract: 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: ApplicationFiled: October 27, 2003Publication date: July 1, 2004Inventors: Heimo Hartlieb, Holger Sedlak
-
Patent number: 6745320Abstract: 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: GrantFiled: April 28, 2000Date of Patent: June 1, 2004Assignee: Renesas Technology Corp.Inventor: Naoki Mitsuishi
-
Patent number: 6745384Abstract: 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: GrantFiled: September 21, 2000Date of Patent: June 1, 2004Assignee: Microsoft CorporationInventor: Ted J. Biggerstaff
-
Patent number: 6745314Abstract: 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: GrantFiled: November 26, 2001Date of Patent: June 1, 2004Assignee: LSI Logic CorporationInventor: Shannon A. Wichman
-
Patent number: 6732257Abstract: 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: GrantFiled: September 29, 2000Date of Patent: May 4, 2004Assignee: Intel CorporationInventor: Gad S. Sheaffer
-
Publication number: 20040078552Abstract: 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: ApplicationFiled: July 31, 2003Publication date: April 22, 2004Applicant: Texas Instrument IncorporatedInventors: Gerard Chauvel, Serge Lasserre, Maija Kuusela
-
Patent number: 6714904Abstract: 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: GrantFiled: October 13, 1999Date of Patent: March 30, 2004Assignee: Transmeta CorporationInventors: Linus Torvalds, David Keppel
-
Patent number: 6711667Abstract: 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: GrantFiled: June 28, 1996Date of Patent: March 23, 2004Assignee: Legerity, Inc.Inventor: Mark A. Ireton
-
Publication number: 20040049658Abstract: 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: ApplicationFiled: June 11, 2003Publication date: March 11, 2004Applicant: Hitachi, Ltd.Inventors: Masayuki Kabasawa, Naohiko Irie, Takahiro Irita, Tetsuya Yamada, Takanobu Tsunoda
-
Publication number: 20040044880Abstract: 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: ApplicationFiled: May 2, 2001Publication date: March 4, 2004Applicant: International Business Machines CorporationInventors: Erik R. Altman, Kemal Ebcioglu, Michael Karl Gschwind, David Arnold Luick
-
Patent number: 6701426Abstract: 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: GrantFiled: October 19, 1999Date of Patent: March 2, 2004Assignee: ATI International SrlInventors: Greg L. Ries, Ronak S. Patel, Korbin S. Van Dyke, Niteen Patkar, T. R. Ramesh
-
Publication number: 20040039897Abstract: 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: ApplicationFiled: June 20, 2003Publication date: February 26, 2004Applicant: SEIKO EPSON CORPORATIONInventor: Makoto Kudo
-
Publication number: 20040030865Abstract: 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: ApplicationFiled: June 25, 2003Publication date: February 12, 2004Inventors: Patrick Knebel, Kevin David Safford, Donald Charles Soltis, Joel D Lamb, Stephen R. Undy, Russell C. Brockmann
-
Patent number: 6691306Abstract: 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: GrantFiled: December 22, 2000Date of Patent: February 10, 2004Assignee: LSI Logic CorporationInventors: Ariel Cohen, Ronen Perets, Boris Zemlyak
-
Publication number: 20040024990Abstract: 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: ApplicationFiled: July 31, 2003Publication date: February 5, 2004Applicant: Texas Instruments IncorporatedInventors: Gerard Chauvel, Serge Lasserre, Dominique D'Inverno
-
Publication number: 20040024991Abstract: 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: ApplicationFiled: July 31, 2003Publication date: February 5, 2004Applicant: Texas Instruments IncorporatedInventors: Gerard Chauvel, Serge Lasserre
-
Patent number: 6687808Abstract: 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: GrantFiled: July 29, 2002Date of Patent: February 3, 2004Assignee: NEC Electronics CorporationInventor: Hideki Sugimoto
-
Patent number: 6675235Abstract: 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: GrantFiled: January 18, 2000Date of Patent: January 6, 2004Assignee: Motorola, Inc.Inventors: Frank C. Galloway, Kristen L. Mason, Gary R. Morrison, Charles Edward Nuckolls, Jennifer L. McKeown
-
Publication number: 20040003204Abstract: 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: ApplicationFiled: June 10, 2003Publication date: January 1, 2004Inventors: Tetsuya Yamada, Naohiko Irie, Takanobu Tsunoda, Takahiro Irita, Keisuke Toyama, Masayuki Kabasawa
-
Publication number: 20030236966Abstract: 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: ApplicationFiled: June 25, 2002Publication date: December 25, 2003Inventors: Nicholas G. Samra, Stephan J. Jourdan, David J. Sager, Glenn J. Hinton
-
Publication number: 20030236964Abstract: 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: ApplicationFiled: June 25, 2002Publication date: December 25, 2003Inventor: Venkateswara Rao Madduri
-
Publication number: 20030236965Abstract: 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: ApplicationFiled: June 19, 2002Publication date: December 25, 2003Inventor: Gad S. Sheaffer
-
Patent number: 6662361Abstract: 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: GrantFiled: January 14, 2000Date of Patent: December 9, 2003Assignee: International Business Machines CorporationInventor: Andrea Ontko Jackson
-
Publication number: 20030221087Abstract: 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: ApplicationFiled: March 18, 2003Publication date: November 27, 2003Applicant: SEIKO EPSON CORPORATIONInventor: Fumio Nagasaka
-
Patent number: 6654874Abstract: 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: GrantFiled: March 27, 2000Date of Patent: November 25, 2003Assignee: Samsung Electronics Co., Ltd.Inventor: Yun-Tae Lee
-
Patent number: 6654869Abstract: 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: GrantFiled: October 28, 1999Date of Patent: November 25, 2003Assignee: International Business Machines CorporationInventors: James Allan Kahle, Hung Qui Le, Charles Roberts Moore
-
Patent number: 6651159Abstract: 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: GrantFiled: November 29, 1999Date of Patent: November 18, 2003Assignee: ATI International SRLInventors: Tiruvur R. Ramesh, Sanjay Mansingh, Korbin Van Dyke
-
Publication number: 20030208674Abstract: 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: ApplicationFiled: October 11, 2002Publication date: November 6, 2003Inventors: Gilbert C. Sih, Qiuzhen Zou, Jian Lin
-
Publication number: 20030200420Abstract: 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: ApplicationFiled: April 28, 2003Publication date: October 23, 2003Applicant: PTS CorporationInventors: Gerald G. Pechanek, Edwin F. Barry, Juan Guillermo Revilla, Larry D. Larsen
-
Publication number: 20030188130Abstract: 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: ApplicationFiled: May 9, 2002Publication date: October 2, 2003Applicant: IP-First LLCInventors: G. Glenn Henry, Rodney E. Hooker, Terry Parks
-
Publication number: 20030188129Abstract: 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: ApplicationFiled: May 9, 2002Publication date: October 2, 2003Applicant: IP-First LLCInventors: G. Glenn Henry, Rodney E. Hooker, Terry Parks
-
Publication number: 20030188131Abstract: 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: ApplicationFiled: October 29, 2002Publication date: October 2, 2003Applicant: IP- First LLCInventors: G. Glenn Henry, Rodney E. Hooker, Terry Parks
-
Patent number: RE38599Abstract: 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: GrantFiled: April 7, 2003Date of Patent: September 21, 2004Assignee: Sun Microsystems, Inc.Inventor: Marc Tremblay