Decoding Instruction To Accommodate Variable Length Instruction Or Operand Patents (Class 712/210)
  • Patent number: 6170050
    Abstract: A length decoder that rapidly calculates the group lengths of groups of variable length data words is provided. In accordance with one embodiment, a length decoder includes a length estimator and a length selector. The length estimator, estimates a length for each data word assuming the data word is the first member of a group. The length selector then selects the proper estimate based upon the actual length of the data word. Specifically, one embodiment of the length decoder can be used to calculate the length of instruction groups in a stack based computing system.
    Type: Grant
    Filed: April 22, 1998
    Date of Patent: January 2, 2001
    Assignee: Sun Microsystems, Inc.
    Inventors: Sailendra Koppala, Ravinandan R. Buchamwandla
  • Patent number: 6167505
    Abstract: A certain target instruction and a prefix instruction for expanding the function of that target instruction are input to the present data processing circuit. The data processing circuit analyzes the thus-input instruction code and performs the processing necessary for the execution of that instruction. The data processing circuit comprises an instruction decoder section, a register file, and an instruction execution section that executes the instruction based on operational details of the instruction analyzed by the instruction decoder section. The instruction decoder section comprises an ext instruction processing section that processed the expansion of immediate data from the prefix instruction.
    Type: Grant
    Filed: December 18, 1996
    Date of Patent: December 26, 2000
    Assignee: Seiko Epson Corporation
    Inventors: Satoshi Kubota, Makoto Kudo, Yoshiyuki Miyayama
  • 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: 6134650
    Abstract: A superscalar microprocessor predecodes instruction data to identify the boundaries of instructions and the type of instruction. When the cache line is scanned for dispatch, the first scanned instruction is predicted to be a microcode instruction and is dispatched to the MROM unit. A microcode scan circuit uses the location of the first scanned instruction and the functional bits of the predecode data to multiplex instruction specific bytes of the first scanned instruction to the MROM unit. If the first scanned instruction is not the first microcode instruction, then in a subsequent clock cycle, the first microcode instruction is dispatched the MROM unit and the mispredicted instruction is canceled.
    Type: Grant
    Filed: December 12, 1997
    Date of Patent: October 17, 2000
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Gerald D. Zuraski, Jr., Shane Southard, Mauricio Calle
  • Patent number: 6131152
    Abstract: Cache layout is simplified by swizzling the bits of instruction words. Then the words are read out of cache by using a shuffled bit stream which simplifies cache layout. The object is further met using a cache structure which includes a device for storing a shuffled instruction stream; and a device for multiplexing bits from the storage means onto the bus so that the bits are deshuffled. The multiplexing means includes a multiplicity of lines leading from the storage device to the bus. The read lines do not cross each other.
    Type: Grant
    Filed: May 15, 1996
    Date of Patent: October 10, 2000
    Assignee: Philips Electronics North America Corporation
    Inventors: Michael Ang, Eino Jacobs
  • 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: 6128726
    Abstract: An improved digital signal processor, in which arithmetic multiply-add instructions are performed faster with substantial accuracy. The digital signal processor performs multiply-add instructions with look-ahead rounding, so that rounding after repeated arithmetic operations proceeds much more rapidly. The digital signal processor is also augmented with additional instruction formats which are particularly useful for digital signal processing. A first additional instruction format allows the digital signal processor to incorporate a small constant immediately into an instruction, such as to add a small constant value to a register value, or to multiply a register by a small constant value; this allows the digital signal processor to conduct the arithmetic operation with only one memory lookup instead of two.
    Type: Grant
    Filed: June 4, 1996
    Date of Patent: October 3, 2000
    Assignee: Sigma Designs, Inc.
    Inventor: Yann LeComec
  • Patent number: 6125441
    Abstract: An instruction cache having a pattern detector for use in predicting the length of variable length instructions in a microprocessor. The instruction cache comprises an instruction length calculation unit and the pattern detector. The pattern detector is configured with a content addressable memory and update logic. The content addressable memory stores fetch addresses and instruction lengths calculated by the calculation unit. The content addressable memory compares particular fetch addresses that it receives with fetch addresses already stored and outputs corresponding predicted instruction length sequences. The content addressable memory may receive, compare, and store instruction lengths or instruction bytes in addition to, or in lieu of, fetch addresses. A neural network or other type of memory configuration may be used in place of the content addressable memory.
    Type: Grant
    Filed: December 18, 1997
    Date of Patent: September 26, 2000
    Assignee: Advanced Micro Devices, Inc.
    Inventor: Thomas S. Green
  • Patent number: 6115808
    Abstract: Performing hazard detection using status and mask vectors. Predicate status and mask vectors are generated. From the predicate status vector it is determined if a predicate is pending, and from the predicate mask vector it is determined if the predicate is needed.
    Type: Grant
    Filed: December 30, 1998
    Date of Patent: September 5, 2000
    Assignee: Intel Corporation
    Inventor: Judge K. Arora
  • 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: 6105126
    Abstract: A computer processor floating point processor six cycle pipeline system where instruction text is fetched prior to the first cycle and decoded during the first cycle for the fetched particular instruction and the base (B) and index (X) register values are read for use in address generation. RXE Instructions are of the RX-type but 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 the exact format from the first 8 bits of the operation code alone.
    Type: Grant
    Filed: April 30, 1998
    Date of Patent: August 15, 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: 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: 6101596
    Abstract: An information processor is capable of eliminating register conflict in short and long latency processes and for attaining high-speed pipeline processing through efficient use of registers. The scale of the necessary hardware is reduced by the processor using a register conflict detector and a scoreboard. The register conflict detector detects register conflict over a period of short latency processing, and the scoreboard checks for register conflict beyond the short latency process period and into a period of long latency processing. The processor controls the issue of instructions based on the detected register conflict status.
    Type: Grant
    Filed: September 3, 1997
    Date of Patent: August 8, 2000
    Assignee: Hitachi, Ltd.
    Inventors: Shigeya Tanaka, Kotaro Shimamura, Tetsuya Shimomura, Takashi Hotta, Hideo Sawamoto
  • 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: 6092183
    Abstract: A compact and small compensating-electric-power data processor is realized by dividing a plurality of calculations to be carried out by a complex instruction into a number of executing units to be processed, instead of executing the calculations in parallel as in the past. For this purpose there is provided a decoder having a detecting part for decoding an instruction and for detecting whether the instruction is an instruction for executing a plurality of calculations, a field rearranging part for rearranging a part of the fields of said instruction based on a predetermined number of calculations to be processed if it is judged by said detecting part that the instruction is an instruction for executing a plurality of calculations, and a calculation control part for performing control to execute the calculations in plural cycles in synchronism with the order of said rearranged fields.
    Type: Grant
    Filed: March 10, 1995
    Date of Patent: July 18, 2000
    Assignee: Hitachi, Ltd.
    Inventors: Hidehito Takewa, Shigeru Matsuo, Shinji Fujiwara, Masahisa Narita
  • Patent number: 6085316
    Abstract: A layered counterflow pipeline structure is described in which sub-tasks performed at each stage in a counterflow pipeline processor are separated into different layers. As words flow through the counterflow pipeline processor, they are divided into partial words which are supplied to the different layers, GET, CHECK and PROCESS, for appropriate handling by that portion of each stage. In the GET layer, partial words passing through each stage are analyzed to determine whether they constitute an encounter pair. In the CHECK layer a determination is made as to whether the word selected by the GET layer requires further modification. Finally, in the PROCESS layer operations are performed on the words themselves based upon control messages from the other layers. The layers of the processor communicate with each other using suitable communication paths such as First In First Out registers.
    Type: Grant
    Filed: July 28, 1998
    Date of Patent: July 4, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Ivan E. Sutherland, Charles E. Molnar, deceased, Ian W. Jones, William S. Coates, Jon Lexau
  • 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: 6085308
    Abstract: Protocol processor intended to be associated with at least one main processor of a system with a view to the execution of tasks to which the main processor is not suited. The protocol processor comprises a program part (30) including an incrementation register (31), a program memory (33) connected to the incrementation register (31) in order to receive addresses thereof, a decoding part (35) intended to receive instructions from the program memory (33) of the program part (30) with a view to executing an instruction in two cycles, and a data part (36) for executing the instruction.
    Type: Grant
    Filed: December 12, 1997
    Date of Patent: July 4, 2000
    Assignee: Texas Instruments Incorporated
    Inventors: Gerard Chauvel, Francis Aussedat, Pierre Calippe
  • 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: 6070237
    Abstract: A novel processor for manipulating packed data. The packed data includes a first data element D1 and a second data element D2. Each of said data elements has a predetermined number of bits. The processor comprises a decoder, a register, and a circuit. The decoder is for decoding a control signal responsive to receiving the control signal. The register is coupled to the decoder. The register is for storing the packed data. The circuit is coupled to the decoder. The circuit is for generating a first result data element R1 and a second data element R2. The circuit is further for generating R1 to represent a total number bits set in D1, and the circuit is further for generating R2 to represent a total number bits set in D2.
    Type: Grant
    Filed: March 4, 1996
    Date of Patent: May 30, 2000
    Assignee: Intel Corporation
    Inventors: Alexander Peleg, Yaakov Yaari, Millind Mittal, Larry Mennemeier, Benny Eitan
  • Patent number: 6049863
    Abstract: A predecode unit is configured to predecode variable byte-length instructions prior to their storage within an instruction cache of a superscalar microprocessor. The predecode unit generates three predecode bits associated with each byte of instruction code: a "start" bit, an "end" bit, and a "functional" bit. The start bit is set if the associated byte is the first byte of the instruction. Similarly, the end bit is set if the byte is the last byte of the instruction. The functional bits convey information regarding the location of an opcode byte for a particular instruction as well as an indication of whether the instruction can be decoded directly by the decode logic of the processor or whether the instruction is executed by invoking a microcode procedure controlled by an MROM unit. For fast path instructions, the functional bit is set for each prefix byte included in the instruction, and cleared for other bytes.
    Type: Grant
    Filed: June 11, 1997
    Date of Patent: April 11, 2000
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Thang M. Tran, Rammohan Narayan, Andrew McBride, Karthikeyan Muthusamy
  • 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: 6041405
    Abstract: A microprocessor configured to predict the length of variable length instructions for decoding purposes by detecting patterns of instruction lengths that have been previously decoded. The microprocessor has a cache, an instruction length calculation unit, and a pattern detector. The instruction length calculation unit receives instruction bytes from the cache and generates an instruction length corresponding thereto. The pattern detector stores a plurality of instruction length sequences, each comprising an initial sequence and a final sequence. The pattern detector is configured to receive instruction lengths from the length calculation unit and compare them with the stored initial sequences. If the pattern detector finds a match, it outputs the corresponding final sequence for use as predicted instruction lengths. A method for using instruction length pattern detection for decoding is also disclosed.
    Type: Grant
    Filed: December 18, 1997
    Date of Patent: March 21, 2000
    Assignee: Advanced Micro Devices, Inc.
    Inventor: Thomas S. Green
  • Patent number: 6041176
    Abstract: An emulation device which enables a functional circuit to support self emulation. A serial scan testability interface has at least first, second and third scan paths, said first scan path being provided for applying digital information to the functional circuit for use in emulation of the functional circuit. A first state machine connected to said second scan path has a first state selected from among a first set of states. A second state machine connected to said third scan path has a second state selected from among a second set of states. The emulation device performs an emulation command based on a combined first state of said first state machine and second state of said second state machine. The state of the first state machine indicates a primary portion of the emulation command denoting an emulation command class. The state of the second state machine indicates a secondary portion of the emulation command consisting of a subtype within the emulation command class.
    Type: Grant
    Filed: February 27, 1998
    Date of Patent: March 21, 2000
    Assignee: Texas Instruments Incorporated
    Inventor: Jonathan H. Shiell
  • Patent number: 6041404
    Abstract: An apparatus and method for performing a shuffle operation on packed data using computer-implemented steps is described. In one embodiment, a first packed data operand having at least two data elements is accessed. A second packed data operand having at least two data elements is accessed. One of the data elements in the first packed data operand is shuffled into a lower destination field of a destination register, and one of the data elements in the second packed data operand is shuffled into an upper destination field of the destination register.
    Type: Grant
    Filed: March 31, 1998
    Date of Patent: March 21, 2000
    Assignee: Intel Corporation
    Inventors: Patrice Roussel, Srinivas Chennupaty, Mike Cranford, Mohammad Abdallah, Jim Coke, Katherine Kong
  • Patent number: 6035387
    Abstract: A processor architecture is disclosed including a fetcher, packet unit and branch target buffer. The branch target buffer is provided with a tag RAM that is organized in a set associative fashion. In response to receiving a search address, multiple sets in the tag RAM are simultaneously searched for a branch instruction that is predicted to be taken. The packet unit has a queue into which fetched cache blocks are stored containing instructions. Sequentially fetched cache blocks are stored in adjacent locations of the queue. The queue entries also have indicators that indicate whether or not a starting or final data word of an instruction sequence is contained in the queue entry and if so, an offset indicating the particular starting or final data word. In response, the packet unit concatenates data words of an instruction sequence into contiguous blocks. The fetcher generates a fetch address for fetching a cache block from the instruction cache containing instructions to be executed.
    Type: Grant
    Filed: June 2, 1999
    Date of Patent: March 7, 2000
    Assignee: Industrial Technology Research Institute
    Inventors: Chia-Chang Hsu, Ruey-Liang Ma, Chien-kuo Tien, Kun-Cheng Wu
  • Patent number: 6032250
    Abstract: A method and device for identifying boundaries between variable length instructions in a packet of instruction bytes includes examining each instruction byte in a first portion of the packet, marking each instruction byte in the first portion as one of an end byte and a non-end byte in response to the examining act, and marking each instruction byte in a second portion of the packet as a predetermined one of an end byte and a non-end byte.
    Type: Grant
    Filed: December 5, 1997
    Date of Patent: February 29, 2000
    Assignee: Intel Corporation
    Inventor: Nazar Zaidi
  • Patent number: 6026486
    Abstract: A 32-bit processor control unit receives from a memory an instruction. The control unit then determines whether the received instruction is intended for a 32-bit processor or for a 16-bit processor. If the received instruction is analyzed to be a 32-bit processor instruction, the control unit controls the 32-bit processor with the aid of two 16-bit instruction control units. If the received instruction is a 16-bit processor instruction, the 32-bit processor control unit sends a 16-bit processor mode signal to each of the 16-bit instruction control units. One of the two 16-bit instruction control units controls one of two 16-bit processors which are divisions of the 32-bit processor while the other 16-bit instruction control unit controls the other 16-bit processor. The present invention makes it possible to have a single, wide bitwidth processor serve as a plurality of narrow bitwidth processors depending upon the type of processing.
    Type: Grant
    Filed: May 20, 1997
    Date of Patent: February 15, 2000
    Assignee: Matsushita Electric Industrial Co., Ltd.
    Inventors: Hisashi Kodama, Kunitoshi Aono
  • Patent number: 6021438
    Abstract: A license restriction management system having wrapper programs and agents as appropriate to manage launches of application programs in distributed systems of computers having a multiplicity of different operating systems. The system includes passive monitoring where only data regarding launches is collected or active monitoring where the number of copies of licensed programs in execution at any particular time is actively controlled by the agents and wrappers in cooperation with a license restriction management process. Configuration of the agents to use TCP or UDP communication protocols and to do automatic denial of unauthorized applications based upon either locally kept or centrally kept lists of authorized applications.
    Type: Grant
    Filed: June 18, 1997
    Date of Patent: February 1, 2000
    Assignee: Wyatt River Software, Inc.
    Inventors: Vikram Duvvoori, Vikram Sahai, Balaji Parthasarathy, Neil Waldhauer
  • Patent number: 6018799
    Abstract: Apparatus, methods and computer program products are disclosed that enable a compiler to generate efficient code to access stack registers on a register stack. The invention operates by transforming a three-operand instruction, within a compiler's intermediate representation, to one or more fewer-than-three-operand instructions. The invention also transforms the instruction's operand addressing from an access to a pseudo-named register to an access to a stack register through stack offset into a register stack. The invention also determines the register stack state at each instruction responsive to register stack permutations and maps the stack offset accordingly for each subsequent access to a stack register.
    Type: Grant
    Filed: July 22, 1998
    Date of Patent: January 25, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: David R. Wallace, David M. Cox, Serguei V. Morosov, David A. Seberger, Serguei L. Wenitsky
  • Patent number: 6014740
    Abstract: A single-instruction method of diverting or "hooking" the operation of software entails setting up a work area of code at an address within the range of a relative branching instruction type defined in the operating-system architecture. Hooking is accomplished by patching the software in question to insert a single relative-branch instruction. That instruction causes program execution to be diverted to the work area. In one embodiment, the work area is an area of memory that normally is used only for system initialization and thus would not otherwise be executed by the processor system after system initialization is complete.
    Type: Grant
    Filed: April 11, 1997
    Date of Patent: January 11, 2000
    Assignee: BMC Software, Inc.
    Inventor: Bennie L. Shearer, Jr.
  • Patent number: 6014735
    Abstract: The present invention discloses a method and apparatus for encoding an instruction in an instruction set which uses a prefix code to qualify an existing opcode of an existing instruction. An opcode and an escape code are selected. The escape code is selected such that it is different from the prefix code and the existing opcode. The opcode, the escape code, and the prefix code are combined to generate an instruction code which uniquely represents the operation performed by the instruction.
    Type: Grant
    Filed: March 31, 1998
    Date of Patent: January 11, 2000
    Assignee: Intel Corporation
    Inventors: Srinivas Chennupaty, Lance Hacking, Thomas Huff, Patrice L. Roussel, Shreekant S. Thakkar
  • Patent number: 6012134
    Abstract: A computer processor with a mechanism for improved prefetching of instrucns into a local cache includes an instruction pointer multiplexer that generates one of a plurality of instruction pointers in a first pipeline stage, which is used to produce a physical address from an ITLB lookup. A comparison is performed by compare logic between the physical address (and tags) of a set in the local cache and the set associated with the selected instruction pointer. A way multiplexer selects the proper way output from either the compare logic or an instruction streaming buffer that stores instructions returned from the first cache, but not yet written into the local cache. An instruction is bypassed to the way multiplexer from the instruction streaming buffer in response to an instruction streaming buffer hit and a miss signal by the compare logic.
    Type: Grant
    Filed: April 9, 1998
    Date of Patent: January 4, 2000
    Assignee: Institute for the Development of Emerging Architectures, L.L.C.
    Inventors: Rory McInerney, Eric Sindelar, Tse-Yu Yeh, Kalpana Ramakrishnan
  • Patent number: 6006300
    Abstract: A multimedia terminal for processing multimedia signals having a host processor, latency, jitter insensitive and latency, jitter sensitive devices, and an isolation device between the latency and jitter insensitive devices and the latency and jitter sensitive devices operative to pass only low bandwidth signals is provided.
    Type: Grant
    Filed: August 1, 1997
    Date of Patent: December 21, 1999
    Assignee: International Business Machines Corporation
    Inventor: Roger P. Toutant
  • Patent number: 6003125
    Abstract: An adder unit for a microprocessor, being capable, in response to a first control signal, of adding two full word data values, stored in a first storage location and in a second storage location, respectively, and being capable, in response to a second control signal, of adding in parallel four half word data values, a first half word data value and a second half word data value being stored in the first storage location at the low half and the high half thereof, respectively, and a third half word data value and a fourth half word data value being stored in the second storage location at the low half and the high half thereof, respectively. The adder unit includes a first half word adder, arranged so as to add the first half word and the third half word to provide a first sum output of the adder unit, and a first carry out signal. The adder unit also includes a second half word adder arranged so as to add the second half word and the fourth half word, with a carry-in of 0 to provide a second sum output.
    Type: Grant
    Filed: January 23, 1998
    Date of Patent: December 14, 1999
    Assignee: Texas Instruments Incorporated
    Inventor: David Shippy
  • Patent number: 5991874
    Abstract: An apparatus for use in a computer system comprises a first storage area and a circuit, coupled to the first storage area, configured to perform a comparison of a data element A with a data element B. In response to a single instruction, the circuit performs the comparison and outputs a condition field of at least one bits when the comparison of A and B is TRUE, or else the circuit outputs the ones-complement of the condition field when the comparison of A and B is FALSE. The circuit may be used in conjunction with a sequence of instructions to select bits from a first data element and bits from a second data element using the one or more condition field bits.
    Type: Grant
    Filed: June 6, 1996
    Date of Patent: November 23, 1999
    Assignee: Intel Corporation
    Inventors: Jack D. Mills, Donald Alpert
  • Patent number: 5991868
    Abstract: In a data processing apparatus, a decoding unit decodes instructions. A calculator operates N-bit data in accordance with the decoded results. A flag storage unit stores a plurality of flag groups which are changed in correspondence to data having different widths, based on the operated results. Selectors select a predetermined flag group in accordance with the direction of a conditional branch instruction. A branch judging unit judges whether a branch is taken or not by referring to the selected flag group.
    Type: Grant
    Filed: May 19, 1994
    Date of Patent: November 23, 1999
    Assignee: Matsushita Electric Industrial Co., Ltd.
    Inventors: Hiroshi Kamiyama, Masato Suzuki, Shinya Miyaji
  • Patent number: 5983336
    Abstract: An unpacking circuit and operating method in a very long instruction word (VLIW) processor provides for parallel handling of a packed wide instruction in which a packed wide instruction is divided into groups of syllables. An unpacked instruction representation includes a plurality of syllables, which generally correspond to operations for execution by an execution unit. The syllables in the unpacked instruction representation are assigned to groups. The packed instruction word includes a sequence of syllables and a header. The header includes a descriptor for each group. The descriptor includes a mask and may include a displacement designator. The multiple groups are handled in parallel as the displacement designator identifies a starting syllable. The mask designates the syllables which are transferred from the packed instruction to the unpacked representation and identifies the position of NOPs in the unpacked representation.
    Type: Grant
    Filed: October 18, 1996
    Date of Patent: November 9, 1999
    Assignee: Elbrush International Limited
    Inventors: Yuli Kh. Sakhin, Alexander M. Artyomov, Alexey P. Lizorkin, Vladimir V. Rudometov, Leonid N. Nazarov
  • 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: 5968165
    Abstract: A dynamic word size processing system which determines for each instruction the number of cycles required by a data path to compute the result. Values in a register file are augmented with additional information which permits a determination of the number of cycles required based on the values in the register file which are referenced by each instruction. A control path combines the information for each register file operand, and computes a value for the additional information to be stored with the result of the instruction.
    Type: Grant
    Filed: May 8, 1997
    Date of Patent: October 19, 1999
    Assignee: Microunity Systems Engineering, Inc.
    Inventor: Craig C. Hansen
  • 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: 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: 5951674
    Abstract: Object-code compatibility is provided among VLIW processors with different organizations. The object-code can also be executed by sequential processors, thus providing compatibility with scalar and superscalar processors, A mechanism is provided which allows representing VLIW programs in an implementation-independent manner. This mechanism relies on instruction cache (I-cache) reload/access logic which incorporates implementation-dependent features into a VLIW program. In this way, programs are represented in main memory in an implementation-independent manner, the implementation-specific aspects are introduced as part of the instruction cache reload/fetch processes, and the simplicity in instruction dispatch logic that is characteristic of VLIW processors is preserved. The foregoing allows for object-code compatibility among VLIW processors with different organizations. Also provided is a mechanism and an apparatus for the interpretation of tree-instructions by a computer system based on a VLIW processor.
    Type: Grant
    Filed: February 14, 1996
    Date of Patent: September 14, 1999
    Assignee: International Business Machines Corporation
    Inventor: Jaime Humberto Moreno
  • 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: 5941982
    Abstract: A self-timed instruction marking circuit includes a long instruction processing system to divide long instruction processing between two columns of the instruction marking circuit. Length decoders are interconnected across columns to signal the presence and length of long instructions. Self-timed marking can continue without alteration. The number of connections required by the instruction marking circuit are reduced. The marking process can be optimized to efficiently process all instructions by setting the definition of a long instruction such that commonly executed instructions are not included.
    Type: Grant
    Filed: December 23, 1997
    Date of Patent: August 24, 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: 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