Decoding Instruction To Accommodate Plural Instruction Interpretations (e.g., Different Dialects, Languages, Emulation, Etc.) Patents (Class 712/209)
  • Patent number: 6178495
    Abstract: A computer processor which has a apparatus in its Execution Unit (E-unit) that detects a match between an opcode about to be executed and opcodes programmed into it by the computer manufacturer provides a method for alleviating design deficiencies in the processor. The E-unit further contains a mechanism for transmitting the opcode and a desired action back to the Instruction Unit (I-unit) where it may be compared with the next instruction that is decoded. Furthermore, the E-unit opcode compare logic contains a mechanism for breaking infinite loops that may result. This E-unit opcode compare mechanism, may also be used for other purposes such as detecting invalid opcodes and other exception checking since it may allow for a faster cycle time of the processor than if this logic were implemented in the I-unit.
    Type: Grant
    Filed: April 30, 1998
    Date of Patent: January 23, 2001
    Assignee: International Business Machines Corporation
    Inventors: Timothy John Slegel, Mark Anthony Check
  • Patent number: 6175915
    Abstract: A programmable data communications device is provided to process multiple streams of data according to multiple protocols. The device is equipped with a co-processor including multiple, programmable processors allowing data to be operated on by multiple protocols. The programmable processors within the co-processor include extended instruction sets including instructions providing the operations of zero stuffing, CRC computation, partial compare, conditional move, and trie traversal. These instructions allow the processor(s) of the co-processor to more efficiently execute programs implementing data communications protocols. Since each processor is programmable, protocols standards which change may be accommodated. A network device equipped with the co-processor can handle multiple simultaneous streams of data and can implement multiple protocols on each data stream. The protocols can execute within the co-processor either independently of each other, or in conjunction with each other.
    Type: Grant
    Filed: November 6, 1998
    Date of Patent: January 16, 2001
    Assignee: Cisco Technology, Inc.
    Inventors: John D. Cashman, Paul M. Riley, Raymond G. Bahr, Wei Ye, Bruce P. Osler
  • Patent number: 6163836
    Abstract: A programmable address arithmetic unit and method for use on microprocessors, microcontrollers, and digital signal processors is described. The addressing arithmetic unit incorporates a programmable logic array or other programmable device coupled to address registers and the instruction stream, the address unit being responsive to commands in the processor's instruction set. A first set of instructions control the initialization and configuration of the address arithmetic unit logic. A second set of instructions reference operands using one or more addressing modes that calculate the operand's effective address using the logic programmed by said first set of instructions.
    Type: Grant
    Filed: February 11, 1998
    Date of Patent: December 19, 2000
    Assignee: Micron Technology, Inc.
    Inventor: Eric M. Dowling
  • Patent number: 6163764
    Abstract: A method and apparatus for emulating an instruction on a processor. The instruction operates on an operand in a first data format and the processor operates in a second data format. The operand is converted from the first data format to the second data format. The processor then executes the instruction in the second data format to generate a result in the second data format. The result is converted from the second data format to the first data format.
    Type: Grant
    Filed: October 12, 1998
    Date of Patent: December 19, 2000
    Assignee: Intel Corporation
    Inventors: Carole Dulong, John H. Crawford
  • Patent number: 6157997
    Abstract: Part or all of an instruction decoder is constructed of a first reconfigurable circuit wherein a circuit structure thereof can be changed according to an external signal. Further, a second reconfigurable circuit which is connected to output side of a register file as part of processing unit and wherein a circuit structure thereof can be changed according to an external signal is preliminarily provided. For special use, to achieve a predetermined operating function, the second reconfigurable circuit is reconstructed by the external signal. Further, a particular instruction corresponding to the predetermined operating function is set, and the first reconfigurable circuit is so reconstructed by an external signal that when the particular instruction is inputted, a corresponding control signal is outputted.
    Type: Grant
    Filed: March 12, 1998
    Date of Patent: December 5, 2000
    Assignee: Kabushiki Kaisha Toshiba
    Inventors: Yukihito Oowaki, Hiroshige Fujii, Masatoshi Sekine
  • Patent number: 6145078
    Abstract: There is provided a data processing apparatus including (a) a central processing unit, (b) a first memory, (c) a system bus controller electrically connected to both the central processing unit and the first memory, (d) a system bus electrically connected to the system bus controller, (e) a second memory electrically connected to the system bus and including an operation system, (f) a third memory electrically connected to the system bus and including a system firmware, (g) at least one extension including therein a fourth memory which is electrically connected to the system bus and includes BIOS code having an architecture different from an architecture of the central processing unit and acting as a program for implementing initialization and start-up, (h) a fifth memory electrically connected to the system bus, (i) an emulation system for driving the operation system to thereby emulate the BIOS code so that the BIOS code has the same architecture as an architecture of the central processing unit, and for st
    Type: Grant
    Filed: December 2, 1998
    Date of Patent: November 7, 2000
    Assignee: NEC Corporation
    Inventor: Junko Akamatsu
  • Patent number: 6138202
    Abstract: The object space manager circuit is a device used in computer memory systems for determining the address of the first word of an object, given the address of any other word in the same object. It consists of a first-object-word encoding circuit, a memory circuit, and a first-object-word decoding circuit. The encoding circuit utilizes a hierarchical coding system to generate codes that relate the address of a first object word to any other object word. This particular coding system results in codes that are the same for particular ranges of object word addresses. The codes are stored in the memory circuit which permits the entry of a code at each address of a specified range of memory addresses to be accomplished simultaneously. The decoding circuit utilizes an input object-word address to retrieve the associated codes from the memory and then translates these codes into the address of the first object word.
    Type: Grant
    Filed: January 4, 1994
    Date of Patent: October 24, 2000
    Assignee: Iowa State University Research Foundation, Inc.
    Inventor: Kelvin D. Nilsen
  • Patent number: 6131154
    Abstract: Herein disclosed is a microcomputer MCU adopting the general purpose register method. The microcomputer is enabled to have a small program capacity or a high program memory using efficiency and a low system cost, while enjoying the advantage of simplification of the instruction decoding as in the RISC machine having a fixed length instruction format of the prior art, by adopting a fixed length instruction format having a power of 2 but a smaller bit number than that of the maximum data word length fed to instruction execution means. And, the control of the coded division is executed by noting the code bits.
    Type: Grant
    Filed: July 23, 1997
    Date of Patent: October 10, 2000
    Assignees: Hitachi, Ltd., Hitachi VLSI Engineering Corp., Hitachi Microcomputer System, Ltd.
    Inventors: Shumpei Kawasaki, Eiji Sakakibara, Kaoru Fukada, Takanaga Yamazaki, Yasushi Akao, Shiro Baba, Toshimasa Kihara, Keiichi Kurakazu, Takashi Tsukamoto, Shigeki Masumura, Yasuhiro Tawara, Yugo Kashiwagi, Shuya Fujita, Katsuhiko Ishida, Noriko Sawa, Yoichi Asano, Hideaki Chaki, Tadahiko Sugawara, Masahiro Kainaga, Kouki Noguchi, Mitsuru Watabe
  • Patent number: 6128720
    Abstract: A multi-processor array organization is dynamically configured by the inclusion of a configuration topology field in instructions broadcast to the processors in the array. Each of the processors in the array is capable of performing a customized data selection and storage, instruction execution, and result destination selection, by uniquely interpreting a broadcast instruction by using the identity of the processor executing the instruction. In this manner, processing elements in a large multi-processing array can be dynamically reconfigured and have their operations customized for each processor using broadcast instructions.
    Type: Grant
    Filed: April 10, 1997
    Date of Patent: October 3, 2000
    Assignee: International Business Machines Corporation
    Inventors: Gerald G. Pechanek, Larry D. Larsen, Clair John Glossner, Stamatis Vassiliaadis
  • Patent number: 6115806
    Abstract: In a data processor, using a format field which specifies the number of operation fields of an instruction code and an order of execution of operations, the number of operations and the order of operation executions are flexibly controlled and the necessity of a null operation is reduced, and decoders operate in parallel each decoding only one operation having a specific function which has a dependency on an operation execution mechanism, so that the operation fields of the instruction code are decoded in parallel by a number of decoders. While the data processor is basically a VLIW type data processor, more types of operations can be specified by the operation fields, and coding efficiency of instructions is improved since the number of operation fields and the order of operation executions are flexibly controlled and the necessity of a null operation is reduced by means of the format field which specifies the number of the operation and the order of the operation executions.
    Type: Grant
    Filed: April 8, 1998
    Date of Patent: September 5, 2000
    Assignee: Mitsubishi Denki Kabushiki Kaisha
    Inventor: Toyohiko Yoshida
  • Patent number: 6105125
    Abstract: A microcode based decoder circuit for microprocessors that uses fast access tables to decode instructions. The pointers to the tables are generated directly from the instruction prefetch buffers. Information bits about the instruction are added to the tables at no extra cost and enable the faster decode of the instruction. The present invention includes the decode of an instruction using an entry ROM, which contains information regarding the instruction that can directly be used in generating the decoder outputs. This information is also used in selecting the correct ROM entry, thus enhancing the flexibility of the decoder, and to dynamically generate a generic microcode entry. Thus, microcode space requirements are reduced. A generic microcode instruction is used for commonly used, similar macroinstructions. This avoids duplication of microcode instructions and thus reduces the required microcode space.
    Type: Grant
    Filed: November 12, 1997
    Date of Patent: August 15, 2000
    Assignee: National Semiconductor Corporation
    Inventors: Mario Nemirovsky, Shailaja Chenumalla
  • Patent number: 6101592
    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: Grant
    Filed: December 18, 1998
    Date of Patent: August 8, 2000
    Assignee: Billions of Operations Per Second, Inc.
    Inventors: Gerald G. Pechanek, Edwin F. Barry, Juan Guillermo Revilla, Larry D. Larsen
  • Patent number: 6093213
    Abstract: A system management mode (SMM) of operating a processor includes only a basic set of hardwired hooks or mechanisms in the processor for supporting SMM. Most of SMM functionality, such as the processing actions performed when entering and exiting SMM, is "soft" and freely defined. A system management interrupt (SMI) pin is connected to the processor so that a signal on the SMI pin causes the processor to enter SMM mode. SMM is completely transparent to all other processor operating software. SMM handler code and data is stored in memory that is protected and hidden from normal software access.
    Type: Grant
    Filed: May 16, 1996
    Date of Patent: July 25, 2000
    Assignee: Advanced Micro Devices, Inc.
    Inventors: John G. Favor, Frederick D. Weber
  • Patent number: 6088792
    Abstract: A computer processor that allows the execution of the IBM ESA/390 SPKA instruction, in an overlapped fashion, contains an apparatus that allows the SPKA instruction to be executed without serializing the processor after its execution in most cases, thereby improving performance. It contains a mechanism in the processor's cache that monitors if the Fetch Protect bit in the storage key is on, for instruction data being fetched. It also contains a mechanism to remember if an SPKA instruction has been executed recently. Based on this information, an apparatus determines if it really must serialize the processor after execution of the SPKA instruction.
    Type: Grant
    Filed: April 30, 1998
    Date of Patent: July 11, 2000
    Assignee: International Business Machines Corporation
    Inventors: Timothy John Slegel, Charles Franklin Webb
  • Patent number: 6088787
    Abstract: A central processing unit having at least one memory for storing instructions and data includes a program counter for storing program counter values. An execution unit retrieves and processes instructions located in the memory at addresses corresponding to the contents of the program counter. Multiple stacks independent of the memory are provided for storing program counter values. A multiplexer connects the program counter to each stack. A stack select register connected to a control input of the multiplexer enables the transfer of program counter values between the program counter and one of the stacks indicated by the contents of the stack select register. The central processing unit provides an efficient multi-tasking capability since the program counter state of each task can be stored in one of the multiple stacks.
    Type: Grant
    Filed: March 30, 1998
    Date of Patent: July 11, 2000
    Assignee: Celestica International Inc.
    Inventor: Myke Predko
  • Patent number: 6085307
    Abstract: A multiple processor circuit arrangement utilizes a master processor which controls the operational state of a slave processor by programming internal control registers on the slave processor. In addition, a stack-based processor utilizes a stack cache for accelerating stack access operations and thereby accelerating the overall performance of the processor. When the stack-based processor is utilized as a slave processor in the aforementioned master/slave multi-processor computer system the slave processor is optimized to process platform-independent program code such as Java bytecodes, thereby permitting fast and efficient execution of both program code native to the master processor as well as platform-independent program code that is in effect native to the slave processor.
    Type: Grant
    Filed: November 27, 1996
    Date of Patent: July 4, 2000
    Assignee: VLSI Technology, Inc.
    Inventors: David Ross Evoy, Paul S. Levy
  • Patent number: 6085313
    Abstract: A computer processor system having a floating point processor for instructions which are processed in a six cycle pipeline, in which prior to the first cycle of the pipeline an instruction text is fetched, and during the first cycle for the fetched particular instruction it is decoded and the base (B) and index (X) register values are read for use in address generation. Instructions of the RX-type are extended by placing the extension of the operation code beyond the first four bytes of the instruction format and to assign the operation codes in such a way that the machine may determine from the first 8 bits of the operation code alone, the exact format of the instruction. Instructions formats include the ESA/390 instructions SS, RR; RX; S; RRE; RI: and the new RXE instructions. where instructions of the RXE format have their R.sub.1, X.sub.2, B.sub.2, and D.sub.
    Type: Grant
    Filed: April 30, 1998
    Date of Patent: July 4, 2000
    Assignee: International Business Machines Corporation
    Inventors: Mark Anthony Check, Ronald M. Smith, Sr., John Stephen Liptay, Eric Mark Schwarz, Timothy John Slegel, Charles Franklin Webb
  • Patent number: 6079009
    Abstract: A multi-standard video decompression apparatus has a plurality of stages interconnected by a two-wire interface arranged as a pipeline processing machine. Control tokens and DATA Tokens pass over the single two-wire interface for carrying both control and data in token format. A token decode circuit is positioned in certain of the stages for recognizing certain of the tokens as control tokens pertinent to that stage and for passing unrecognized control tokens along the pipeline. Reconfiguration processing circuits are positioned in selected stages and are responsive to a recognized control token for reconfiguring such stage to handle an identified DATA Token. A wide variety of unique supporting subsystem circuitry and processing techniques are disclosed for implementing the system.
    Type: Grant
    Filed: September 24, 1997
    Date of Patent: June 20, 2000
    Assignee: Discovision Associates
    Inventors: Adrian Philip Wise, Martin William Sotheran
  • Patent number: 6076156
    Abstract: A microprocessor employs an instruction redefinition register which programmably redefines the operation performed by one or more instructions. Instructions may be added to the instruction set executed by the microprocessor without consuming opcode encodings. One or more new instructions may be mapped to an opcode assigned to a redefinable instruction (e.g. a seldom-used instruction selected during the design of the microprocessor to be redefinable to one or more of the added instructions). A particular application program may select the architecturally defined operation corresponding to the redefinable instruction or one of the operations corresponding to the new operations by coding the instruction redefinition register. In one particular embodiment, the instruction redefinition register is a model specific register (MSR) as defined by the x86 microprocessor architecture.
    Type: Grant
    Filed: July 17, 1997
    Date of Patent: June 13, 2000
    Assignee: Advanced Micro Devices, Inc.
    Inventors: James K. Pickett, David S. Christie
  • Patent number: 6070236
    Abstract: An apparatus for processing a sequence of control commands for a unit (40) to be controlled is proposed. In this case, the apparatus has first decoding means (22) which are designed to decode a predetermined set of control commands. In this case, this predetermined set of control commands also contains an end command (CMD.sub.-- END), which indicates the end of a control command sequence. In order also to be able to process control command sequences having control commands which are not contained in the predetermined set, the apparatus has further decoding means (23) which are designed in such a way that when an unknown control command (SET.sub.-- BAREA) arrives, they react in the same way as when the end command (CMD.sub.-- END) from the predetermined set of control commands arrives. Undefined states are thereby prevented.
    Type: Grant
    Filed: November 26, 1997
    Date of Patent: May 30, 2000
    Assignee: Deutsche Thomson-Brandt GmbH
    Inventor: Marco Winter
  • Patent number: 6061775
    Abstract: A superscalar microprocessor predecodes instruction data to identify the boundaries of instructions and the type of instruction. To expedite the dispatch of instructions, when a cache line is scanned, the first scanned instruction is predicted to be a microcode instruction and is dispatched to the MROM unit. A microcode scan circuit uses the microcode pointer and the functional bits of the predecode data to multiplex instruction specific bytes of the first microcode instruction to the MROM unit. If the predicted first microcode instruction is not the actual first microcode instruction, then in a subsequent clock cycle, the actual microcode instruction is dispatched the MROM unit and the incorrectly predicted microcode instruction is canceled.
    Type: Grant
    Filed: December 12, 1997
    Date of Patent: May 9, 2000
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Thang M. Tran, Mauricio Calle, Shane Southard
  • Patent number: 6058470
    Abstract: A computer system having a pipelined computer processor, which executes a relatively simple instruction set in a hardware controlled execution unit and executes a relatively complex instruction set in a milli-mode architected state with a millicode sequence of simple instructions in said hardware controlled execution unit, a millicode operating in a milli-mode state when macro-mode decoding by said processor is suspended to cause the system to subsequently use processor milli-registers and the processor's decoder decodes them and schedules them for execution upon entry into the processor milli-mode. Millicode flags allow specialized update and branch instructions and flags are either cleared or specifically set for a millicode instruction. A millicode instruction for editing functions processes one byte of an input pattern string, generates one byte of an output string, and updates various pointers and state indications to prepare for processing the next byte in a string.
    Type: Grant
    Filed: April 7, 1998
    Date of Patent: May 2, 2000
    Assignee: International Business Machines Corporation
    Inventors: Charles Franklin Webb, Mark Steven Farrell
  • Patent number: 6055623
    Abstract: A computer system having a pipelined computer processor, which executes a relatively simple instruction set in a hardware controlled execution unit and executes a relatively complex instruction set in a milli-mode architected state with a millicode sequence of simple instructions in said hardware controlled execution unit, a millicode operating in a milli-mode state when macro-mode decoding by said processor is suspended to cause the system to subsequently use processor milli-registers and the processor's decoder decodes them and schedules them for execution upon entry into the processor milli-mode. Millicode flags allow specialized update and branch instructions and flags are either cleared or specifically set for a millicode instruction. A millicode instruction for editing functions processes one byte of an input pattern string, generates one byte of an output string, and updates various pointers and state indications to prepare for processing the next byte in a string.
    Type: Grant
    Filed: April 7, 1998
    Date of Patent: April 25, 2000
    Assignee: International Business Machine Corporation
    Inventors: Charles Franklin Webb, Judy Shan-Shan Chen Johnson
  • Patent number: 6055624
    Abstract: A computer system having a pipelined computer processor, which executes a relatively simple instruction set in a hardware controlled execution unit and executes a relatively complex instruction set in a milli-mode architected state with a millicode sequence of simple instructions in said hardware controlled execution unit, a millicode operating in a milli-mode state when macro-mode decoding by said processor is suspended to cause the system to subsequently use processor milli-registers and the processor's decoder decodes them and schedules them for execution upon entry into the processor milli-mode. Millicode flags allow specialized update and branch instructions and flags are either cleared or specifically set for a millicode instruction. A millicode instruction for editing functions processes one byte of an input pattern string, generates one byte of an output string, and updates various pointers and state indications to prepare for processing the next byte in a string.
    Type: Grant
    Filed: April 7, 1998
    Date of Patent: April 25, 2000
    Assignee: International Business Machines Corporation
    Inventors: Charles Franklin Webb, Mark Steven Farrell, Timothy John Slegel
  • Patent number: 6038659
    Abstract: A circuit for generating control signals used in a microprocessor has a storage array, such as a read-only memory (ROM) array, which contains a plurality of predefined logic patterns. An entry of the ROM array is selected, such as by the use of an address decoder, to choose a specific pattern, and the specific pattern is then modified based on a dynamic signal to generate an output control signal. The microprocessor may further predecode a base instruction using operation and operand source bits to yield a predecoded instruction having an address field whose value corresponds to the specific pattern. The dynamic signal can be based on whether an operand should be forwarded from a microprocessor component, and the specific pattern is then equivalent to a value for control signals required to execute an instruction when assuming that the operand should not be forwarded. Special control states can also be implemented, such as stall, halt, or scan data, through the use of particular code points in the ROM.
    Type: Grant
    Filed: November 12, 1997
    Date of Patent: March 14, 2000
    Assignee: International Business Machines Corporation
    Inventors: Sang Hoo Dhong, Harm Peter Hofstee, David Meltzer, Joel Abraham Silberman
  • Patent number: 6035390
    Abstract: A processor includes at least an execution unit that executes an instruction by performing an operation indicated by the instruction utilizing one or more operands and condition code logic that determines less than, greater than, and equal to condition code bits associated with the instruction concurrently with execution of the instruction by the execution unit. In one embodiment, the condition code logic includes a single computation stage that receives as inputs individual bit values of bit positions within first and second operands and logically combines the individual bit values. The single computation stage outputs, for each bit position, propagate, generate, and kill signals that collectively indicate values for the less than, greater than, and equal to condition code bits. One or more merging stages coupled to the computation stage then merge the propagate, generate, and kill signals into output signals that set the condition code bits.
    Type: Grant
    Filed: January 12, 1998
    Date of Patent: March 7, 2000
    Assignee: International Business Machines Corporation
    Inventors: Jeffrey L. Burns, Sang Hoo Dhong, Kevin John Nowka, Joel Abraham Silberman
  • Patent number: 6031992
    Abstract: A microprocessor for a host computer designed to execute target application programs for a target computer having a target instruction set including the combination of code morphing software, and morph host processing hardware designed to execute instructions of a host instruction set, the combination of the code morphing software and the morph host processing hardware comprising means to translate a set of target instructions into instructions of a host instruction set, means to optimize the instructions of the host instruction set translated from the target application program speculating upon the occurrence of a condition, means to determine under control of the code morphing software official state of the target computer which existed at the beginning of a translation of a set of target instructions during execution of the target application program by the microprocessor, means for updating state of the target computer from state of the host computer when a set of host instructions executes in accordance
    Type: Grant
    Filed: July 5, 1996
    Date of Patent: February 29, 2000
    Assignee: Transmeta Corporation
    Inventors: Robert F. Cmelik, David R. Ditzel, Edmund J. Kelly, Colin B. Hunter, Douglas A. Laird, Malcolm John Wing, Grzegorz B. Zyner
  • Patent number: 6026485
    Abstract: An instruction decoder allows the folding away of JAVA virtual machine instructions pushing an operand onto the top of a stack merely as a precursor to a second JAVA virtual machine instruction which operates on the top of stack operand. Such an instruction decoder identifies foldable instruction sequences and supplies an execution unit with a single equivalent folded operation thereby reducing processing cycles otherwise required for execution of multiple operations corresponding to the multiple instructions of the folded instruction sequence. Instruction decoder embodiments described herein provide for folding of two, three, four, or more instruction folding. For example, in one instruction decoder embodiment described herein, two load instructions and a store instruction can be folded into execution of operation corresponding to an instruction appearing therebetween in the instruction sequence.
    Type: Grant
    Filed: January 23, 1997
    Date of Patent: February 15, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: James Michael O'Connor, Marc Tremblay
  • Patent number: 6023757
    Abstract: A data processor which includes a first processor for executing a first instruction set and a second processor for executing a second instruction set different from the first instruction set. When the first processor executes a predetermined instruction of the first instruction set the second processor executes an instruction of the second instructions set. The first processor may be a reduced instruction set computer (RISC) type processor, the second processor may be a very long instruction word (VLIW) type processor, the first instruction set may be a RISC instruction set and the second instruction set may be a VLIW instruction set. The predetermined instruction of the RISC instruction set executed by the first processor may be a branch instruction causing a branch to a specific address space at which VLIW instructions are stored. Thereafter, the VLIW instructions at the specific address space are executed by the VLIW type processor.
    Type: Grant
    Filed: January 30, 1997
    Date of Patent: February 8, 2000
    Assignee: Hitachi, Ltd.
    Inventors: Junichi Nishimoto, Hideo Maejima
  • Patent number: 6021484
    Abstract: A system and method for executing CISC instructions in a RISC environment are disclosed. A mapper/interface circuit receives CISC instructions which can be from an x86 instruction set, translates them into compatible RISC instructions and forwards them to a RISC microprocessor for execution. The interface circuit is separate from the RISC microprocessor resulting in off-chip hardware translation which improves microprocessor efficiency and simplifies processor and hardware development. The instructions can be translated in groups which are defined by boundaries in the CISC instructions. One group of instructions can be forwarded to the microprocessor for execution while a subsequent group is simultaneously translated. The plug-in mapper/interface circuitry of the invention is plug compatible with an x86 processor such that the circuitry of the invention can be plugged into a standard x86 socket in a standard x86 mother board.
    Type: Grant
    Filed: November 14, 1997
    Date of Patent: February 1, 2000
    Assignee: Samsung Electronics Co., Ltd.
    Inventor: Sung Bae Park
  • Patent number: 6012138
    Abstract: A processor for a data-processing system is provided with a dynamically reconfigurable multistage pipeline which permits the execution of more than one instruction set by the processor utilizing the same instruction decoding circuitry and instruction execution control logic circuitry. In one embodiment, the pipeline includes an instruction fetch stage, an instruction conversion stage, an instruction decode stage, and a multiplexer which is used to switch the instruction conversion stage into and out of the pipeline between the instruction fetch stage and the instruction decode stage, even while instructions continue to be executed by the pipeline. The multiplexer operates under control of the instruction decode stage and may be set in response to decoded instructions. The instruction fetch stage is coupled to a bus to retrieve an instruction at a location specified by a program counter.
    Type: Grant
    Filed: December 19, 1997
    Date of Patent: January 4, 2000
    Assignee: LSI Logic Corporation
    Inventor: Frank Worrell
  • Patent number: 5983337
    Abstract: A superscalar microprocessor implements instruction level patching. A instruction fetch unit includes a register for storing opcodes of instructions to be patched. When an instruction is fetched, the instruction fetch unit compares the opcode of the fetched instruction to the opcode stored in the patch opcode register. If the opcode of the fetched instruction matches an opcode stored in the patch opcode register, the instruction is dispatched to a microcode instruction unit. The microcode instruction unit invokes a patch microcode routine that dispatches a plurality of microcode instruction that causes a substitute microcode instruction stored in external memory to be loaded into patch data registers. The microcode instruction unit then dispatches the substitute instruction stored in the patch data registers and the substitute instruction is executed by a functional unit in place of the original instruction.
    Type: Grant
    Filed: June 12, 1997
    Date of Patent: November 9, 1999
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Rupaka Mahalingaiah, Thang Tran
  • Patent number: 5983340
    Abstract: A data processing apparatus having a pipeline computer architecture with an input pipeline latch is disclosed. The data processing apparatus includes an ALU that executes a plurality of processing instructions. At least some of the instructions have an immediate data format including a field for intermediate data and a field for specifying a destination for an output. The ALU uses two operands for performing at least some of the instructions having the immediate data format. The ALU conditionally accepts either the contents of the input pipeline latch or the ALU output of the previous instruction as a second operand to an immediate instruction depending on the destination specified in the destination field of the previous instruction.
    Type: Grant
    Filed: December 7, 1995
    Date of Patent: November 9, 1999
    Assignee: Conexant Systems, Inc.
    Inventors: Kenneth E. Garey, Mark E. Miller
  • Patent number: 5978899
    Abstract: Optimal parallelization of necessarily serial operations is performed by speculative parallel processing and propagation of serial marking signals to indicate valid data. An exemplary instruction marking circuit for a computer system implementing such optimization includes a series of columns, each column corresponding to one byte of a fixed length instruction line, and a length decoder in each column. Each length decoder receives a byte of the respective column, and performs a length decode independently of the other length decoders. The length decoder asserts a length signal indicative of an instruction length when the byte is the first byte of an instruction. A marking unit arrangement is coupled to the length decoders, and operates to mark each column containing a first byte of an instruction as a function of the length signals asserted by the length decoders.
    Type: Grant
    Filed: December 23, 1997
    Date of Patent: November 2, 1999
    Assignee: Intel Corporation
    Inventors: Ran Ginosar, Rakefet Kol, Kenneth Scott Stevens, Peter A. Beerel, Kenneth Yi Yun, Christopher John Myers, Shai Rotem
  • Patent number: 5964861
    Abstract: A method for designing a processor. The method utilises the full flexibility of an original instruction set in writing programs for operation of the processor the subset of instruction words used in writing the program are then used in defining the instruction decoder of the processor.
    Type: Grant
    Filed: December 17, 1996
    Date of Patent: October 12, 1999
    Assignee: Nokia Mobile Phones Limited
    Inventors: Rebecca Gabzdyl, Brian McGovern
  • Patent number: 5961632
    Abstract: A processor processes a plurality of instructions according to a disclosed method. First, the method receives (32) an instruction from the plurality of instructions. Second, the method determines (34) whether the received instruction is preceded by an instruction path leading code. Third, the method passes (36 or 38) the received instruction along at least one instruction path in a plurality of instruction paths. Fourth, in response to determining that the received instruction is preceded by an instruction path leading code, the method executes a machine word corresponding to the received instruction and selected from one of the plurality of instruction paths. Specifically, the selected instruction path is selected in response to the instruction path leading code.
    Type: Grant
    Filed: July 25, 1997
    Date of Patent: October 5, 1999
    Assignee: Texas Instruments Incorporated
    Inventors: Jonathan H. Shiell, Donald E. Steiss
  • Patent number: 5961639
    Abstract: A processor and method of executing a program within a processor are provided. According to the method, a plurality of program instructions comprising a program and a set of auxiliary instructions are stored. An instruction stream including selected ones of the plurality of program instructions is supplied to the processor. In response to the processor processing a program instruction within the instruction stream that has an associated auxiliary instruction within the set of auxiliary instructions, the associated auxiliary instruction is automatically inserted within the instruction stream and the associated auxiliary instruction is executed within the processor.
    Type: Grant
    Filed: December 16, 1996
    Date of Patent: October 5, 1999
    Assignee: International Business Machines Corporation
    Inventors: Soummya Mallick, Robert G. McDonald, Edward L. Swarthout
  • Patent number: 5958042
    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: June 11, 1996
    Date of Patent: September 28, 1999
    Assignee: Sun Microsystems, Inc.
    Inventor: Marc Tremblay
  • Patent number: 5938759
    Abstract: An instruction control mechanism, for processors, capable of decoding a register instruction and an immediate instruction with a simple configuration, is disclosed. The instruction control mechanism decodes and executes an instruction set including an instruction code having an instruction field, a first field containing the description of the name of the register to be processed and a second field containing the description of the name of another register or an immediate address. A register instruction code containing the description of another register to be processed in the second field has an instruction field of a specific value, and contains the description of a second instruction field in the portion other than the second field containing another register to be processed. An immediate instruction code containing the description of an immediate address in the second field has an instruction field containing the description of other than the specific value.
    Type: Grant
    Filed: December 19, 1997
    Date of Patent: August 17, 1999
    Assignee: Fujitsu Limited
    Inventor: Shunsuke Kamijo
  • Patent number: 5931941
    Abstract: A way of designing CPU's and computational units in an integrated circuit so that the computational unit can be designed and connected to the CPU in a modular manner. The computational unit designed for one application can be redesigned for another application without requiring a change in the CPU. The CPU has an instruction register, a first decoder connected to the instruction register to decode instruction words within a predefined set of instructions, an ALU, and buses which move operand data into the ALU and results data from the ALU. The ALU operates and the buses function responsive to the first decoder. The computational unit has an execution unit connected in parallel with the ALU to the buses, and a second decoder connected to the instruction register. The second decoder decodes only a predetermined portion of an instruction word in the instruction register when the instruction word is not in the predefined set of instructions. The execution unit operates responsive to the second decoder.
    Type: Grant
    Filed: April 28, 1995
    Date of Patent: August 3, 1999
    Assignee: LSI Logic Corporation
    Inventor: Frank Worrell
  • Patent number: 5925124
    Abstract: The invention provides an apparatus and a method for converting instructions of a code A to instructions of a code B. Said conversion is performed by obtaining rearrangement information, which corresponds to the instruction that is to be converted, from a table. Said rearrangement information is then used to rearrange the instruction elements of the initial instruction, in order to generate instructions of code B, which functionally corresponds to said initial instruction. Said rearrangement can be performed by multiplexing means, which use said instruction elements of the initial code A instruction as input, and which select one of said instruction elements, or the content of another register, and forward this selected data to the instruction that is to be generated. Said rearrangement information is directly used to control the selection performed by said multiplexers.
    Type: Grant
    Filed: March 5, 1997
    Date of Patent: July 20, 1999
    Assignee: International Business Machines Corporation
    Inventors: Rolf Hilgendorf, Hartmut Schwermer, Werner Soell
  • Patent number: 5922065
    Abstract: A processor having a large register file utilizes a template field for ening a set of most useful instruction sequences in a long instruction word format. The instruction set of the processor includes instructions which are one of the plurality of different instruction types. The execution units of the processor are similarly categorized into different types, wherein each instruction type may be executed on one or more of the execution unit types. The instructions are grouped together into 128-bit sized and aligned containers called bundles, with each bundle includes a plurality of instruction slots and a template field that specifies the mapping of the instruction slots to the execution unit types.
    Type: Grant
    Filed: October 13, 1997
    Date of Patent: July 13, 1999
    Assignee: Institute For The Development Of Emerging Architectures, L.L.C.
    Inventors: James M. Hull, Kent Fielden, Hans Mulden, Harshvardhan Sharangpani