Decoding By Plural Parallel Decoders Patents (Class 712/212)
  • Patent number: 6115807
    Abstract: The invention, in one embodiment, is a static instruction decoder including a plurality of instruction inputs, a circular instruction queue, and an instruction rotator. The circular instruction queue is capable of receiving instructions from the instruction inputs, statically decoding the received instructions, indicating how many of the decoded instructions may issue in a next clock cycle, and outputting the decoded instructions in the next clock cycle, the number of instructions output being the number indicated. The instruction rotator is indexed by the indication of the circular instruction queue and points to the first instruction to issue in the next clock cycle.
    Type: Grant
    Filed: December 19, 1997
    Date of Patent: September 5, 2000
    Assignee: Intel Corporation
    Inventor: Edward T. Grochowski
  • 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: 6105127
    Abstract: A multithreaded processor for executing multiple instruction streams is provided. This multithreaded processor includes: a plurality of functional units for executing instructions; a plurality of instruction decode units, corresponding to the multiple instruction streams on a one-to-one basis, for respectively decoding an instruction, and producing an instruction issue request for designating to which functional unit the decoded instruction should be issued and requesting for the issuance of the decoded instruction to the designated functional unit; a holding unit for holding the priority level of each instruction stream; and a control unit for deciding which decoded instruction should be issued to a functional unit designated by two or more instruction issue requests at the same time, in accordance with the priority levels held by the holding unit.
    Type: Grant
    Filed: August 27, 1997
    Date of Patent: August 15, 2000
    Assignee: Matsushita Electric Industrial Co., Ltd.
    Inventors: Kozo Kimura, Tokuzo Kiyohara, Kousuke Yoshioka
  • 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: 6101598
    Abstract: A method of operating a multiple processor device. A first word of a sequence of words is received in a register. A target processor is determined from the first word and the target processor is interrupted. An input ready bit is set and first word from in the register is read with the target processor. A number of words in the sequence to follow the first word determined from the first word. A word counter is set and the input ready bit is cleared with the target processor. The target processor is returned to main code execution.
    Type: Grant
    Filed: November 14, 1997
    Date of Patent: August 8, 2000
    Assignee: Cirrus Logic, Inc.
    Inventors: Miroslav Dokic, Raghunath Rao, Zheng Luo, Jeffrey Niehaus, James Divine
  • Patent number: 6085306
    Abstract: A 32-bit instruction 50 is composed of a 4-bit format field 51, a 4-bit operation field 52, and two 12-bit operation fields 59 and 60. The 4-bit operation field 52 can only include (1) an operation code "cc" that indicates a branch operation which uses a stored value of the implicitly indicated constant register 36 as the branch address, or (2) a constant "const". The content of the 4-bit operation field 52 is specified by a format code provided in the format field 51.
    Type: Grant
    Filed: June 12, 1998
    Date of Patent: July 4, 2000
    Assignee: Matsushita Electric Industrial Co., Ltd
    Inventors: Shuichi Takayama, Nobuo Higaki
  • Patent number: 6085311
    Abstract: A microprocessor includes an instruction alignment unit for locating instructions and conveying the located instructions to a set of decode units. The instruction alignment unit includes dual instruction queues. The first instruction queue receives instruction blocks fetched from the instruction cache. The instruction alignment unit uses instruction identification information provided by the instruction cache to select instructions from the first instruction queue for conveyance to the second instruction queue. Additionally, the instruction alignment unit applies a predetermined selection criteria to the instructions within the second instruction queue in order to select instructions for dispatch to the decode units. Selection logic for the first instruction queue need not consider the type of instruction, etc., in selecting instructions for conveyance to the second instruction queue. Selection logic for the second instruction queue considers instruction type, etc.
    Type: Grant
    Filed: May 18, 1999
    Date of Patent: July 4, 2000
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Rammohan Narayan, Venkateswara Rao Madduri
  • Patent number: 6079010
    Abstract: A computer system supporting N different machine views, where N.gtoreq.2, includes a memory for storing instructions, a number of execution units for processing data based on execution controls, and N different decoders for generating the execution controls using instructions retrieved from the memory. Each of the N decoders is operative to decode retrieved instructions in accordance with one of the N machine views. A particular one of the N decoders to be used to decode a given retrieved instruction may be selected by a program running on the system. In one embodiment, the decoders for the N machine views are implemented as N separate decoders, and a multiplexer is used to select the output of one of the N decoders for connection to one or more of the execution units. In another embodiment, a set of reconfigurable hardware is dynamically reprogrammed to implement one or more of the N decoders as directed by the program running on the system.
    Type: Grant
    Filed: March 31, 1998
    Date of Patent: June 20, 2000
    Assignee: Lucent Technologies Inc.
    Inventors: Paul Gerard D'Arcy, Sanjay Jinturkar, C. John Glossner, Stamatis Vassiliadis
  • Patent number: 6058471
    Abstract: A a data processing system capable of returning correctly from an exceptional processing by the same processing as that in the case of executing instructions one by one without particular control even if an exception occurs in the midway of the instruction processing, and capable of selecting a mode for executing instructions one by one in debugging or a test, so that a plurality of instructions are executed in parallel with simple control.
    Type: Grant
    Filed: December 4, 1996
    Date of Patent: May 2, 2000
    Assignee: Mitsubishi Denki Kabushiki Kaisha
    Inventors: Masahito Matsuo, Toru Shimizu, Toyohiko Yoshida
  • Patent number: 6047371
    Abstract: To provide a signal processor for performing processing in fewer cycles by selecting one of the two different operations in accordance with a flag signal and performing the selected operation without the use of a conditional branch instruction, the signal processor is provided with an instruction decoder, a control selecting circuit, a selecting circuit and an arithmetic unit. The instruction decoder decodes an instruction to output two control signals. The control selecting circuit is connected to the instruction decoder and selects one of the control signals in accordance with a flag signal stored in a flag holding circuit to output the selected signal. The selecting circuit selects one of a plurality of input data in accordance with the control signal outputted by the control selecting circuit and outputs the selected data. The arithmetic unit performs an operation on the data outputted by the selecting circuit.
    Type: Grant
    Filed: August 11, 1997
    Date of Patent: April 4, 2000
    Assignee: Matsushita Electric Industrial Co., Ltd.
    Inventors: Jiro Miyake, Miki Urano, Genichiro Inoue
  • Patent number: 6044456
    Abstract: A system and method are described for maintaining synchronization of information propagating through multiple front-end pipelines operating in parallel. In general, these multiple front-end pipelines become asynchronous in response to a stall condition and re-establish synchronization by flushing both front-end pipelines as well as by selectively releasing these front-end pipelines from their stall condition at different periods of time.
    Type: Grant
    Filed: January 5, 1998
    Date of Patent: March 28, 2000
    Assignee: Intel Corporation
    Inventors: Keshavram N. Murty, Nazar A. Zaidi, Darshana S. Shah, Tse-Yu Yeh
  • Patent number: 6041403
    Abstract: A method and apparatus for decoding a macroinstruction, the macroinstruction including an operational code (opcode) and a specification of an operand, is described. The method includes two primary steps, which are performed either serially or in parallel. When performed serially, the steps may be performed in any order. The first primary step involves the generation of a first micro-instruction, specifying a first micro-operation, the first micro-instruction being derived from the specification of the operand of the macroinstruction. The second primary step involves the generation of a second micro-instruction, specifying a second micro-operation, the second micro-instruction being derived from the opcode of macroinstruction. The specification of the operand may specify the operand to be either a memory operand or a register operand in a manner that necessitates data processing or manipulation prior to a memory access or to execution of the second micro-instruction.
    Type: Grant
    Filed: September 27, 1996
    Date of Patent: March 21, 2000
    Assignee: Intel Corporation
    Inventors: Donald D. Parker, Darrell D. Boggs, Alan B. Kyker
  • Patent number: 6038654
    Abstract: A high-performance, superscalar-based computer system with out-of-order instruction execution for enhanced resource utilization and performance throughput. The computer system fetches a plurality of fixed length instructions with a specified, sequential program order (in-order). The computer system includes an instruction execution unit including a register file, a plurality of functional units, and an instruction control unit for examining the instructions and scheduling the instructions for out-of-order execution by the functional units. The register file includes a set of temporary data registers that are utilized by the instruction execution control unit to receive data results generated by the functional units. The data results of each executed instruction are stored in the temporary data registers until all prior instructions have been executed, thereby retiring the executed instructions in-order.
    Type: Grant
    Filed: June 23, 1999
    Date of Patent: March 14, 2000
    Assignee: Seiko Epson Corporation
    Inventors: Le Trong Nguyen, Derek J. Lentz, Yoshiyuki Miyayama, Sanjiv Garg, Yasuaki Hagiwara, Johannes Wang, Te-Li Lau, Sze-Shun Wang, Quang H. Trang
  • Patent number: 6032252
    Abstract: A superscalar microprocessor implements a repeated string instruction by putting the microcode unit in a continuous loop. The microcode sequence that implements the repeated string operation includes a conditional-exit instruction rather than a conditional branch and decrement microcode instruction. A conditional-exit instruction decrements a loop count value and conveys a termination signal to a microcode unit when a termination condition is detected. Because several iterations of the instructions that implement the string instruction may be dispatched before the conditional-exit instruction is evaluated, the additional iterations of the microcode loop are canceled. By eliminating the conditional branch and decrement microcode instruction, a loop iteration may be executed in a single clock cycle by three functional units.
    Type: Grant
    Filed: October 28, 1997
    Date of Patent: February 29, 2000
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Anthony M. Petro, Brian D. McMinn
  • Patent number: 6003124
    Abstract: A processor and coprocessor architecture wherein the coprocessor is put into operation at a cycle immediately following the decoding of an instruction code by the recognition, during this decoding, of the fact that this instruction is an instruction that has to be carried out by the coprocessor. The complementary decoding of the instructions makes it possible to lose no time in the configuration of the coprocessor. This type of architecture is particularly useful for digital processors entrusted with carrying out certain specific operations, notably audio processing operations.
    Type: Grant
    Filed: May 8, 1995
    Date of Patent: December 14, 1999
    Assignee: SGS-Thomas Microelectronics S.A.
    Inventor: Jean-Louis Laborie
  • 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: 5968163
    Abstract: An instruction scanning unit for a superscalar microprocessor is disclosed. The instruction scanning unit processes start, end, and functional byte information (or predecode data) associated with a plurality of contiguous instruction bytes. The processing of start byte information and end byte information is performed independently and in parallel, and the instruction scanning unit produces a plurality of scan values which identify valid instructions within the plurality of contiguous instruction bytes. Additionally, the instruction scanning unit is scaleable. Multiple instruction scanning units may be operated in parallel to process a larger plurality of contiguous instruction bytes. Furthermore, the instruction scanning unit detects error conditions in the predecode data in parallel with scanning to locate instructions. Moreover, in parallel with the error checking and scanning to locate instructions, MROM instructions are located for dispatch to an MROM unit.
    Type: Grant
    Filed: March 10, 1997
    Date of Patent: October 19, 1999
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Rammohan Narayan, Shane A. Southard, Thang M. Tran
  • Patent number: 5968162
    Abstract: A microprocessor is provided which detects an escape instruction. The escape instruction indicates that subsequent instructions belong to an alternate instruction set. In one embodiment, the number of subsequent instructions which belong to the alternate instruction set is encoded in the escape instruction. The subsequent instructions are routed to an execution unit or a separate processor for execution. Each instruction sequence within a program may be coded using the instruction set which most efficiently executes the function corresponding to the instruction sequence. In one embodiment, the microprocessor executes the x86 instruction set and the alternate instruction set is the ADSP 2171 instruction set. The escape instruction is defined using a previously undefined opcode within the x86 instruction set. Complex mathematical functions (which are more efficiently executed within a DSP) may be performed more efficiently than previously achievable using the x86 instruction set alone.
    Type: Grant
    Filed: April 2, 1996
    Date of Patent: October 19, 1999
    Assignee: Advanced Micro Devices, Inc.
    Inventor: Christopher J. Yard
  • 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: 5948096
    Abstract: A self-timed instruction marking circuit includes a prefix handling system for processing instruction bytes having prefix bytes. Length decoders receive instruction data bytes, and perform length decoding independently of the other length decoders in the instruction marking circuit. A length decoder determines whether a byte being processed is a prefix byte to an instruction. If a length-affecting prefix byte is found, the length decoder signals a subsequent length decoder to indicate that a prefix byte has been found. The subsequent length decoder uses the prefix signal to appropriately length decode the byte being processed by the subsequent length decoder. Signals are provided to continue the self-timed marking process. Prefix handling may also be used in a multiple marking unit configuration of an instruction marking circuit.
    Type: Grant
    Filed: December 23, 1997
    Date of Patent: September 7, 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: 5941980
    Abstract: A process is provided for determining the beginning and ending of each instruction of a variable length instruction. Data lines are stored in a first memory area which illustratively is an instruction cache. Each data line comprises a sequence of data words that are stored at sequential address in a main memory. The data lines contain multiple encoded variable length instructions that are contiguously stored in the main memory. Multiple indicators are stored in a second memory area, including one indicator associated with each data word of the data lines stored in the first memory area. Each indicator indicates whether or not its associated data word is the initial data word of a variable length instruction. A sequence of data words may be fetched from the cache. The fetched sequence of data words includes a starting data word and at least the number of data words in the longest permissible instruction. Plural indicators (i.e.
    Type: Grant
    Filed: February 27, 1997
    Date of Patent: August 24, 1999
    Assignee: Industrial Technology Research Institute
    Inventors: Shi-Sheng Shang, Dze-Chaung Wang
  • Patent number: 5931944
    Abstract: An instruction execution pipeline in a computer system having variable-length instructions uses branch prediction to perform self-timed marking of instructions prior to decoding. Branch handling logic is provided in an instruction marking circuit to directly mark a target instruction of a predicted branch as the next instruction to be decoded. Additionally, a branch target FIFO may be used to store information about the location of the target instruction in the instruction stream.
    Type: Grant
    Filed: December 23, 1997
    Date of Patent: August 3, 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: 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: 5925123
    Abstract: A dual instruction set processor decodes and executes code received from a network and code supplied from a local memory. Thus, the dual instruction set processor is capable of executing instructions in two different instructions sets from two different sources. The dual instruction set processor includes a computer platform independent instruction decoder, another decoder, and an execution unit that executes decoded instructions from both of the decoders. A computer system with the foregoing described dual instruction set processor, a local memory, and a communication interface device, such as a modem, for connection to a network, such as the Internet or an Intranet, can be optimized to execute, for example, JAVA code, in example of one set of computer platform independent instructions, from the network, and to execute non-JAVA code stored locally, or on the network but in a trusted environment or an authorized environment.
    Type: Grant
    Filed: January 23, 1997
    Date of Patent: July 20, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Marc Tremblay, James Michael O'Connor
  • Patent number: 5922068
    Abstract: An information processing apparatus in which instructions are processed one by one conceptually and results thereof are conceptually orderly written into a memory comprises an instruction control circuit capable of decoding M instructions and reading operands in parallel, N (N.gtoreq.M) execution circuits capable of executing a plurality of instructions mutually in parallel, a detection circuit for determining whether all of M execution circuits of the N execution circuits required by the M instructions decoded by the instruction control circuit are vacant or not, and a reserve circuit for reserving the execution of the M decoded instruction while the detection fails to detect sufficient vacancy.
    Type: Grant
    Filed: July 7, 1997
    Date of Patent: July 13, 1999
    Assignee: Hitachi Ltd.
    Inventors: Yooichi Shintani, Kazunori Kuriyama, Tohru Shonai, Eiki Kamada, Kiyoshi Inoue