Predecoding Of Instruction Component Patents (Class 712/213)
-
Patent number: 6338132Abstract: An article comprising an instruction stored on a storage medium. The instruction includes opcode field storing an opcode signal and an operand field storing an operand signal. The operand is compressed prior to being stored in the operand field.Type: GrantFiled: December 30, 1998Date of Patent: January 8, 2002Assignee: Intel CorporationInventors: Alan B. Kyker, Per Hammarlund, Chan Lee, Robert F. Krick, Hitesh Ahuja, William Alexander, Joseph Rohlman
-
Patent number: 6336178Abstract: An internal RISC-type instruction structure furnishes a fixed bit-length template including a plurality of defined bit fields for a plurality of operation (Op) formats. One format includes an instruction-type bit field, two source-operand bit fields and one destination-operand bit field for designating a register-to-register operation. Another format is a load-store format that includes an instruction-type bit field, an identifier of a source or destination register for the respective load or store operation, and bit fields for specifying the segment, base and index parameters of an address.Type: GrantFiled: September 11, 1998Date of Patent: January 1, 2002Assignee: Advanced Micro Devices, Inc.Inventor: John G. Favor
-
Patent number: 6317825Abstract: The invention relates to a microprocessor (MP) comprising means to decode (DEC1) a compact instruction (BMV) for the concatenation of at least one bit (bi) of a first binary word (W1) with at least one bit of a second binary word (W2), and means (REGBANK, MUX, BSHIFT) to process this instruction in one clock cycle. Advantages: fast processing of a concatenation operation. Application especially to chip cards.Type: GrantFiled: May 3, 2000Date of Patent: November 13, 2001Assignee: Inside TechnologiesInventor: Sean Commercial
-
Patent number: 6314510Abstract: A microprocessor with reduced context switching overhead and a corresponding method is disclosed. The microprocessor comprises a working register file that comprises dirty bit registers and working registers. The working registers including one or more corresponding working registers for each of the dirty bit registers. The microprocessor also comprises a decoder unit that is configured to decode an instruction that has a dirty bit register field specifying a selected dirty bit register of the dirty bit registers. The decoder unit is configured to generate decode signals in response. Furthermore, the working register file is configured to cause the selected dirty bit register to store a new dirty bit in response to the decode signals. The new dirty bit indicates that each operand stored by the one or more corresponding working registers is inactive and no longer needs to be saved to memory if a new context switch occurs.Type: GrantFiled: April 14, 1999Date of Patent: November 6, 2001Assignee: Sun Microsystems, Inc.Inventors: Ashley Saulsbury, Daniel S. Rice
-
Patent number: 6308257Abstract: A method of generating boundary markers, for an instruction stream including variable-length instructions, includes generating a number of sets of potential boundary markers for a predetermined set of bytes within the instruction stream. Each set of potential boundary markers is generated based on a respective assumption regarding a boundary byte position within the predetermined set of bytes. For example, a number of sets of potential boundary markers may be generated based on assumptions that respective byte positions within the predetermined set of bytes include the start byte of an instruction. A further set of potential boundary markers may be generated based on an assumption that none of the byte positions within the predetermined set of bytes includes a start byte of instruction.Type: GrantFiled: April 20, 1999Date of Patent: October 23, 2001Assignee: Intel CorporationInventors: Luke S. K. Theogarajan, James W. Dukes, Ken V. Diep
-
Patent number: 6304955Abstract: Performing hazard detection in a processor that exhibits register latencies between execution units. The opcode classes of producer and consumer instructions are determined. Using these opcode classes, the register latency between the producer and consumer instructions is determined, and a register status signal is sent.Type: GrantFiled: December 30, 1998Date of Patent: October 16, 2001Assignee: Intel CorporationInventor: Judge K. Arora
-
Patent number: 6301650Abstract: The control unit of this invention has a microcode control system or systems for special purpose circuit suitable for specific data processing and a microcode control system for general purpose separately. In addition, the control unit has a fetch unit common for the above control systems. Therefore, in the data processing system having the control unit of this invention, the general purpose process and the process using the special purpose circuit, which is different from the general purpose process, are multiply executed, and synchronizing of this multiprocessing is solved in a instruction level.Type: GrantFiled: April 6, 1999Date of Patent: October 9, 2001Assignee: Pacific Design, Inc.Inventor: Tomoyoshi Satou
-
Patent number: 6292887Abstract: An apparatus and method of synchronizing instruction execution in the apparatus with external events. The apparatus may be a processor or microprocessor capable of executing a function specific wait state that is dependant upon a type specified by an instruction field. The processor includes an event counter that maintains an event occurrence count, an instruction parser that strips the instruction type and event count from instructions and passes the stripped information to a comparator. The comparator compares the stripped information against an event count. The instruction types include: a relative type indicating execution at some event occurrence subsequent to the present cycle; a direct type indicating an absolute event occurrence count for execution; and a event range indicating a range of event occurrences wherein execution is valid.Type: GrantFiled: March 31, 1999Date of Patent: September 18, 2001Assignee: International Business Machines Corp.Inventor: James P. Janniello
-
Patent number: 6286094Abstract: A method and system for determining if a dispatch slot is required in a processing system is disclosed. The method and system comprises a plurality of predecode bits to provide routing information and utilizing the predecode bits to allow instructions to be directed to specific decode slots and to obey dispatch constraints without examining the instructions. The purpose of this precode encoding system scheme is to provide the most information possible about the grouping of the instructions without increasing the complexity of the logic which uses this information for decode and group formation. In a preferred embodiment, pre-decode bits for each instruction that may be issued in parallel are analyzed and the multiplexer controls are retained for each of the possible starting positions within the stream of instructions.Type: GrantFiled: March 5, 1999Date of Patent: September 4, 2001Assignee: International Business Machines CorporationInventors: John Edward Derrick, Lee Evan Eisen, Hung Qui Le, Brian R. Konigsburg
-
Patent number: 6275927Abstract: A microprocessor configured to reduce variance in the length of variable length instructions by compressing multiple prefix bytes into a single byte is disclosed. The microprocessor is configured with a predecode unit and an instruction cache. The predecode unit is configured to receive variable length instructions, each having a variable number of prefix bytes. The predecode unit is configured to detect the prefix bytes and compress them into one compressed prefix byte for each instruction. The instruction cache is coupled to the predecode unit and is configured to receive and store the instructions and compressed prefix bytes from the predecode unit. The instruction cache may be configured to output one of the instructions and any corresponding compressed prefix bytes in response to receiving a fetch address. A computer system, method, and software program configured to compress prefix bytes are also disclosed.Type: GrantFiled: September 21, 1998Date of Patent: August 14, 2001Assignee: Advanced Micro Devices.Inventor: James S. Roberts
-
Patent number: 6272619Abstract: 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: GrantFiled: November 10, 1999Date of Patent: August 7, 2001Assignee: Seiko Epson CorporationInventors: 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: 6260134Abstract: A predecode unit is configured to predecode a fixed number of instruction bytes of variable length instructions per clock cycle. The predecode unit outputs predecode bits which identify the start byte of an instruction. An instruction alignment unit uses the start bits to dispatch the instructions to a plurality of decode units that form fixed issue positions. In one embodiment, the predecode unit identifies a plurality of length vectors. Each length vector is associated with one of the instruction bytes predecoded in a clock cycle and identifies the length of an instruction if an instruction starts at the instruction byte corresponding to the length vector. A tree circuit determines in which instruction bytes instructions start.Type: GrantFiled: November 2, 1998Date of Patent: July 10, 2001Assignee: Advanced Micro Devices, Inc.Inventors: Gerald D. Zuraski, Jr., Syed F. Ahmed, Paul K. Miller
-
Patent number: 6256726Abstract: The data processor for executing, instructions realized by wired logic, by a pipeline system, includes a plurality of instruction registers, and arithmetic operation units of the same number. A plurality of instructions read in the instruction registers in one machine cycle at a time are processed in parallel by the plurality of arithmetic operation units.Type: GrantFiled: November 20, 1992Date of Patent: July 3, 2001Assignee: Hitachi, Ltd.Inventors: Takashi Hotta, Shigeya Tanaka, Hideo Maejima
-
Patent number: 6253309Abstract: A microprocessor configured to rapidly decode variable-length instructions is disclosed. The microprocessor is configured with a predecoder and an instruction cache. The predecoder is configured to expand variable-length instructions to create fixed-length instructions by padding instruction fields within each variable-length instruction with constants until each field reaches a predetermined maximum width. The fixed-width instructions are then stored within the instruction cache and output for execution when a corresponding requested address is received. The instruction cache may store both variable- and fixed-width instructions, or just fixed-width instructions. An array of pointers may be used to access particular fixed-length instructions. The fixed-length instructions may be configured to all have the same fields and the same lengths, or they may be divided into groups, wherein instructions within each group have the same fields and the same lengths.Type: GrantFiled: September 21, 1998Date of Patent: June 26, 2001Assignee: Advanced Micro Devices, Inc.Inventor: Rupaka Mahalingaiah
-
Patent number: 6253276Abstract: One embodiment of the present invention provides an apparatus for accessing a computer memory that bypasses decoding delays for memory type information within a memory controller. This apparatus includes a decoding circuit, for decoding a current address received from a processor to produce characteristics of a current memory module that is being accessed by the current address. These characteristics may include the size, type and speed of modules in the computer memory. The apparatus also includes a control signal generation circuit, for generating signals to control a memory access to the current address based upon the characteristics of the current memory module. The apparatus further includes a comparison module for determining whether the current address falls within a previously accessed memory module. The apparatus additionally includes a bypassing circuit.Type: GrantFiled: June 30, 1998Date of Patent: June 26, 2001Assignee: Micron Technology, Inc.Inventor: Joseph M. Jeddeloh
-
Patent number: 6253287Abstract: A microprocessor capable of predecoding variable-length instructions and storing them in a three-dimensional instruction cache is disclosed. The microprocessor may comprise a predecode unit, an instruction cache, and an address translation table. The predecode unit receives variable-length instructions from a main memory subsystem. These instructions are then predecoded by detecting instruction field boundaries within each variable-length instruction. Instructions fields that are not present in a particular instruction may be added by inserting padding constants so that the instruction matches a predetermined format having all instruction fields. The predecoded instruction is stored in the instruction cache, which may be logically and physically structured as a three-dimensional array. Each instruction is stored in the cache so that it has a fixed length in two dimensions. The address translation table maintains address translations for each instruction stored in the instruction cache.Type: GrantFiled: September 9, 1998Date of Patent: June 26, 2001Assignee: Advanced Micro Devices, Inc.Inventor: Thomas S. Green
-
Patent number: 6249787Abstract: A network browsing system includes a host computer coupled to a client computer by a network. A network browser process implemented on the client computer is capable of establishing a connection with the host computer and of generating a request for desired data from the host computer which is to generate desired images on the display of the client computer. A server process implemented on the host computer services the request for desired data received from the client computer by modifying the desired data into modified data such that no additional connection between the client computer and the host computer is required to receive the entirety of the modified data. The browser process of the client computer can generate the desired images from the modified data to the same extent that it could from the originally requested desired data.Type: GrantFiled: February 22, 2000Date of Patent: June 19, 2001Assignee: Cisco Systems, Inc.Inventors: Stephen I. Schleimer, John K. Ahlstrom, Paul L. Hickman
-
Publication number: 20010002483Abstract: A microprocessor configured to reduce variance in the length of variable length instructions by compressing multiple prefix bytes into a single byte is disclosed. The microprocessor is configured with a predecode unit and an instruction cache. The predecode unit is configured to receive variable length instructions, each having a variable number of prefix bytes. The predecode unit is configured to detect the prefix bytes and compress them into one compressed prefix byte for each instruction. The instruction cache is coupled to the predecode unit and is configured to receive and store the instructions and compressed prefix bytes from the predecode unit. The instruction cache may be configured to output one of the instructions and any corresponding compressed prefix bytes in response to receiving a fetch address. A computer system, method, and software program configured to compress prefix bytes are also disclosed.Type: ApplicationFiled: September 21, 1998Publication date: May 31, 2001Applicant: ADVANCED-LENGTH INSTRUCTION PREFIX BYTESInventor: JAMES R. ROBERTS
-
Patent number: 6240506Abstract: A microprocessor configured to predecode instructions with variable address and operand lengths into a uniform format with constant address and operand lengths is disclosed. The microprocessor may comprise a predecode unit configured to receive instruction bytes from a main memory subsystem. The predecode unit is configured to detect instructions having prefix bytes that override default operand and address field lengths. This information, combined with the instruction's default operand and address length, allows the predecode unit to expand addresses and operands that are shorter than the predetermined uniform length. The operands and addresses are expanded by padding them with constants. Once the instructions are padded to a uniform format, they are stored in an instruction cache. An address translation table may be used to translate fetch addresses, thereby compensating for the offset created by the padding constants.Type: GrantFiled: October 2, 1998Date of Patent: May 29, 2001Assignee: Advanced Micro Devices, Inc.Inventor: Paul K. Miller
-
Patent number: 6223254Abstract: The present invention utilizes a cache which stores various decoded instructions, or parcels, so that these parcels can be made available to the execution units without having to decode a microprocessor instruction, such as a CISC instruction, or the like. This increases performance by bypassing the fetch/decode pipeline stages on the front end of the microprocessor by using a parcel cache to store previously decoded instructions. The parcel cache is coupled to the microprocessor fetch/decode unit and can be searched during an instruction fetch cycle. This search of the parcel cache will occur in parallel with the search of the microprocessor instruction cache. When parcel(s) corresponding to the complex instruction being fetched are found in the parcel cache a hit occurs and the corresponding micro-ops are then sent to the execution units, bypassing the previous pipeline stages.Type: GrantFiled: December 4, 1998Date of Patent: April 24, 2001Assignee: STMicroelectronics, Inc.Inventor: Naresh Soni
-
Patent number: 6205518Abstract: Apparatus and methods are described for reducing power consumption in a processor. The processor includes a source of microcode instructions, a microcode instruction decode circuit, control register latches and a clock gate control circuit that is coupled to the source of microcode instructions. The clock gate control circuit searches and picks groups of clock gate control signals for the latches that are the same value (state) as control signals form a previous cycle.Type: GrantFiled: August 5, 1998Date of Patent: March 20, 2001Assignee: International Business Machines CorporationInventors: William P. Moore, Sebastian T. Ventrone
-
Patent number: 6192468Abstract: A superscalar microprocessor implements a microcode instruction unit with sequence control fields appended to each microcode line. The sequence control fields indicate whether a subsequent line contains a branch instruction, whether a subsequent line is the last line in a microcode sequence, and other sequence control information. The sequence control information is accessed one cycle before the microcode line. This allows the next address to be calculated in parallel with the accessing of the microcode instruction line. By generating the next address in parallel with accessing the microcode line, the time delay from accessing one microcode line to accessing the next microcode line is reduced. The sequence control field additionally indicates how many microcode instructions are in the last line of the microcode sequence.Type: GrantFiled: October 27, 1999Date of Patent: February 20, 2001Assignee: Advanced Micro Devices, Inc.Inventors: Rupaka Mahalingaiah, Paul K. Miller
-
Patent number: 6178491Abstract: A compiler system (190) stores a data structure (101, e.g., a program) to a memory (110) of an execution system (100). The data structure (101) comprises, for example, processor instructions coded by compressed portions of variable lengths. The compiler system (190) partitions some or all memory lines (115) of the memory (110) into P≧2 partitions, e.g., &agr; and &bgr;, and writes code portions A to a first partition (e.g., &agr;) and second code portions B to a second partition (e.g., &bgr;) of an adjacent memory line (115). The compiler system (190) also stores addresses for some or all of the code portions in, for example, the memory (110). The addresses (260) have pointers (a and b) which indicate start positions (jA and jB) for portions A and B. Optionally, pointer magnitudes distinguish portion-to-pointer relations without the need for further identification bits.Type: GrantFiled: March 22, 1999Date of Patent: January 23, 2001Assignee: Motorola Inc.Inventors: Arie Ben-Ephraim, Vitaly Sukonik, Avi Ginsberg, Alexandre Saper, Alex Miretsky
-
Patent number: 6175909Abstract: A microprocessor configured to use historical scan information to speed instruction scanning is disclosed. The microprocessor may comprise an instruction cache, a scanning history table, routing logic, and two or more scanning units. The instruction cache is configured to output sequences of stored instruction bytes in response to receiving corresponding fetch addresses. The scanning history table, which may also receive the fetch addresses, is configured to output corresponding stored scan block boundary information. The routing logic, which is coupled between the instruction cache, scanning history table, and scanning units, is configured to route the first N instructions to the first scanning unit, and the second N instructions to the second scanning unit, wherein N is a predetermined integer greater than one. The scanning units are configured to operate independently and in parallel.Type: GrantFiled: February 2, 1999Date of Patent: January 16, 2001Assignee: Advanced Micro Devices, Inc.Inventor: Andrew McBride
-
Patent number: 6175908Abstract: A superscalar microprocesor is provided that includes a predecode unit adapted for predecoding variable byte-length instructions. The predecode unit predecodes the instructions prior to their storage within an instruction cache. In one system, a predecode unit is configured to generate a plurality of predecode bits including a start bit, an end bit, and a functional bit for each instruction byte. The plurality of predecode bits associated with each instruction byte are collectively referred to as a predecode tag. An instruction alignment unit then uses the predecode tags to dispatch the variable byte-length instructions to a plurality of decode units within the superscalar microprocessor. The predecode unit is configured such that the meaning of the functional bit of a particular predecode tag is dependent upon the status of the start bit.Type: GrantFiled: April 30, 1998Date of Patent: January 16, 2001Assignee: Advanced Micro Devices, Inc.Inventor: James K. Pickett
-
Patent number: 6167507Abstract: A microprocessor detects a floating point exchange instruction followed by a floating point instruction and dispatches the two instructions to the floating point unit as one combined instruction. The predecode unit marks the two instructions as a single instruction. A start bit is asserted for the first byte of the floating point exchange instruction and an end bit is asserted for the last byte of the floating point instruction. The combined instruction is dispatched into the instruction execution pipeline. A decode unit decodes the opcodes of the two instructions and passes the opcode of the floating point instruction to the floating point unit and passes exchange register information to the floating point unit The exchange register information includes a sufficient number of bits to specify a floating point register and a valid bit.Type: GrantFiled: March 3, 1999Date of Patent: December 26, 2000Assignee: Advanced Micro Devices, Inc.Inventors: Rupaka Mahalingaiah, Paul K. Miller
-
Patent number: 6167506Abstract: The processor is configured to predecode instruction bytes prior to their storage within an instruction cache. During the predecoding, relative branch instructions are detected. The displacement included within the relative branch instruction is added to the address corresponding to the relative branch instruction, thereby generating the target address. The processor replaces the displacement field of the relative branch instruction with an encoding of the target address, and stores the modified relative branch instruction in the instruction cache. The branch prediction mechanism may select the target address from the displacement field of the relative branch instruction instead of performing an addition to generate the target address. In one embodiment, relative branch instructions having eight bit and 32-bit displacement fields are included in the instruction set executed by the processor.Type: GrantFiled: April 23, 1998Date of Patent: December 26, 2000Assignee: Advanced Micro Devices, Inc.Inventor: David B. Witt
-
Patent number: 6148393Abstract: A valid mask generator comprising a series of mask generation blocks. Each block generates a predetermined number of valid mask bits given a predetermined number of start pointer bits and end bits, wherein said predetermined number of valid mask bits generated by each block is less than the total number of bits in the valid mask. The series of mask generation blocks may be connected in series, wherein each block outputs a carry-out signal, and wherein each block receives the carry-out signal from the node before it as a carry-in signal. A method for generating a valid mask from a start pointer and a plurality of end bits is also contemplated.Type: GrantFiled: March 12, 1998Date of Patent: November 14, 2000Assignee: Advanced Micro Devices, Inc.Inventors: Thang M. Tran, Rammohan Narayan, Shane Southard
-
Patent number: 6145125Abstract: A method for effecting a direct jump in an executable program module to a target address displaced from a source address by a specified distance that is greater than a maximum permitted range. During program linkage the direct jump is split into at least two component direct jumps each no greater than the maximum permitted range, thus allowing the direct jump to be achieved by jumping sequentially from the source address to the target address via each of the component direct jumps. A storage medium for storing data representative of the executable program module contains at least one trampoline for performing the component direct jumps.Type: GrantFiled: November 12, 1998Date of Patent: November 7, 2000Assignee: International Business Machines CorporationInventors: Jan Civlin, Gadi Haber, Bilha Mendelson, David Bernstein, Itai Nahshon
-
Patent number: 6141745Abstract: A superscalar microprocessor is provided that includes a predecode unit adapted for predecoding variable byte-length instructions. The predecode unit predecodes the instructions prior to their storage within an instruction cache. In one system, a predecode unit is configured to generate a plurality of predecode bits including a start bit, an end bit, and a functional bit for each instruction byte. The plurality of predecode bits associated with each instruction byte are collectively referred to as a predecode tag. An instruction alignment unit then uses the predecode tags to dispatch the variable byte-length instructions to a plurality of decode units within the superscalar microprocessor. The predecode unit is configured such that the meaning of the functional bit of a particular predecode tag is dependent upon the status of the end bit.Type: GrantFiled: April 30, 1998Date of Patent: October 31, 2000Assignee: Advanced Micro Devices, Inc.Inventor: James K. Pickett
-
Patent number: 6134651Abstract: A reorder buffer is configured into multiple lines of storage, wherein a line of storage includes sufficient storage for instruction results regarding a predefined maximum number of concurrently dispatchable instructions. A line of storage is allocated whenever one or more instructions are dispatched. A microprocessor employing the reorder buffer is also configured with fixed, symmetrical issue positions. The symmetrical nature of the issue positions may increase the average number of instructions to be concurrently dispatched and executed by the microprocessor. The average number of unused locations within the line decreases as the average number of concurrently dispatched instructions increases. One particular implementation of the reorder buffer includes a future file. The future file comprises a storage location corresponding to each register within the microprocessor.Type: GrantFiled: December 10, 1999Date of Patent: October 17, 2000Assignee: Advanced Micro Devices, Inc.Inventors: David B. Witt, Thang M. Tran
-
Method and apparatus for performing an operation mulitiple times in response to a single instruction
Patent number: 6134648Abstract: A method for operating a Reduced Instruction Set Computer (RISC) processor that executes normal RISC instructions and special RISC instructions. The method comprises the step of controlling the RISC processor to perform a single operation, using a single functional unit of the RISC processor, in response to each normal RISC instruction. The method also comprises the step of controlling the RISC processor to perform multiple operations, using multiple functional units of the RISC processor in parallel, in response to each special RISC instruction.Type: GrantFiled: December 8, 1997Date of Patent: October 17, 2000Assignee: Micron Technology, Inc.Inventors: James Peterson, Glenn C. Poole, Mohammed Sriti -
Patent number: 6134649Abstract: A processor is configured to predecode instruction bytes prior to storing them in an instruction cache. The predecode information generated by the processor includes instruction boundary indications identifying which of the instruction bytes are boundaries of instructions and control transfer indications identifying which of the instructions are control transfer instructions. The combination of the control transfer indications and the instruction boundary indications allows the branch prediction mechanism to locate the branch instructions in a group of instruction bytes fetched from instruction cache by scanning the control transfer and instruction boundary indications. In one embodiment, the branch prediction mechanism attempts to predict up to two branch instructions per clock cycle. Accordingly, the branch prediction mechanism scans the control transfer and instruction boundary indications to locate the first two branch instructions within a group of instruction bytes fetched from the instruction cache.Type: GrantFiled: April 23, 1998Date of Patent: October 17, 2000Assignee: Advanced Micro Devices, Inc.Inventor: David B. Witt
-
Patent number: 6134650Abstract: 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: GrantFiled: December 12, 1997Date of Patent: October 17, 2000Assignee: Advanced Micro Devices, Inc.Inventors: Gerald D. Zuraski, Jr., Shane Southard, Mauricio Calle
-
Patent number: 6131154Abstract: 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: GrantFiled: July 23, 1997Date of Patent: October 10, 2000Assignees: 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: 6125441Abstract: 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: GrantFiled: December 18, 1997Date of Patent: September 26, 2000Assignee: Advanced Micro Devices, Inc.Inventor: Thomas S. Green
-
Patent number: 6108655Abstract: A network browsing system includes a host computer coupled to a client computer by a network. A network browser process implemented on the client computer is capable of establishing a connection with the host computer and of generating a request for desired data from the host computer which is to generate desired images on the display of the client computer. A server process implemented on the host computer services the request for desired data received from the client computer by modifying the desired data into modified data such that no additional connection between the client computer and the host computer is required to receive the entirety of the modified data. The browser process of the client computer can generate the desired images from the modified data to the same extent that it could from the originally requested desired data.Type: GrantFiled: July 18, 1997Date of Patent: August 22, 2000Assignee: Cisco Technology, Inc.Inventors: Stephen I. Schleimer, John K. Ahlstrom, Paul L. Hickman
-
Patent number: 6105125Abstract: 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: GrantFiled: November 12, 1997Date of Patent: August 15, 2000Assignee: National Semiconductor CorporationInventors: Mario Nemirovsky, Shailaja Chenumalla
-
Patent number: 6092182Abstract: A microprocessor configured to store predecode information that is removed from an instruction cache is disclosed. In one embodiment, the microprocessor comprises a predecode unit and an instruction cache. The predecode unit is configured to receive instruction bytes from a level two cache and generate corresponding predecode information. The instruction cache is coupled to the predecode unit and comprises two pluralities of storage locations, one for storing instruction bytes and a second for storing predecode information corresponding to the instruction bytes. The instruction cache is configured to receive and store the instruction bytes and predecode information from the predecode unit. The instruction cache is also configured to output at least part of the corresponding predecode information for storage in the level two cache when the instruction bytes and corresponding predecode information are replaced in the instruction cache.Type: GrantFiled: June 24, 1998Date of Patent: July 18, 2000Assignee: Advanced Micro Devices, Inc.Inventor: Rupaka Mahalingaiah
-
Patent number: 6085314Abstract: A CPU or microprocessor which includes a general purpose CPU component, such as an X86 core, and also includes a DSP core. In a first embodiment, the CPU receives general purpose instructions, such as X86 instructions, wherein certain X86 instruction sequences implement DSP functions. The CPU includes a processor mode register which is written with one or more processor mode bits to indicate whether an instruction sequence implements a DSP function. The CPU also includes an intelligent DSP function decoder or preprocessor which examines the processor mode bits and determines if a DSP function is being executed. If a DSP function is being implemented by an instruction sequence, the DSP function decoder converts or maps the opcodes to a DSP macro instruction that is provided to the DSP core. The DSP core executes one or more DSP instructions to implement the desired DSP function in response to the macro instruction.Type: GrantFiled: November 14, 1997Date of Patent: July 4, 2000Assignee: Advnced Micro Devices, Inc.Inventors: Saf Asghar, Andrew Mills
-
Patent number: 6081884Abstract: A microprocessor optimized to execute two instruction sets in a long instruction word (LIW) format. One instruction set may have variable length instructions. The microprocessor has an alignment unit configured to detect variable length instructions as they are fetched from an instruction cache, and then embed the variable length instructions within a long instruction word. The long instruction words are stored in a central window until they are executed by a number of functional units. A number of the microprocessor's functional units may be configured to execute instructions from both instruction sets. These dual instruction set-capable functional units may be used in conjunction with an MROM unit configured to translate a subset of instructions from one instruction set into less complex instructions in either instruction set. The central window may be configured to shift the order of the long instruction words before they are issued in order to minimize the amount of time the functional units are idle.Type: GrantFiled: January 5, 1998Date of Patent: June 27, 2000Assignee: Advanced Micro Devices, Inc.Inventor: Paul K. Miller
-
Patent number: 6076159Abstract: A data processor is disclosed which comprises a first pipeline for decoding and executing data instructions, a second pipeline for decoding and executing address instructions, a unit for issuing multiple instructions to the pipelines, a first set of registers being coupled with the first pipeline, and a second set of registers being coupled with the second pipeline, wherein first and second pipeline process data in parallel.Type: GrantFiled: September 12, 1997Date of Patent: June 13, 2000Assignee: Siemens AktiengesellschaftInventors: Rod G. Fleck, Ole H. Moller, Gigy Baror
-
Patent number: 6061786Abstract: A processor employs predecoding to identify instruction boundaries as well as to identify which instructions are branch instructions. In one embodiment, the processor stores a start bit corresponding to each instruction byte in the instruction cache with the instruction bytes. The start bit identifies which instruction bytes are the start of an instruction. Additionally, the processor stores a control transfer bit corresponding to each instruction byte. The control transfer bit corresponding to each instruction byte identified as the start of an instruction is used to indicate whether or not the instruction is a branch instruction. Additionally, the byte identified as the start of the branch instruction via the start bit and control transfer bit is partially decoded upon fetch of the branch instruction from the instruction cache to select the branch target address corresponding to the branch instruction from one of several possible target addresses.Type: GrantFiled: April 23, 1998Date of Patent: May 9, 2000Assignee: Advanced Micro Devices, Inc.Inventor: David B. Witt
-
Patent number: 6055620Abstract: A control apparatus and method is provided for controlling operations of functional units in systems. The control apparatus and method implement a set of operations that can include dependencies between the functional units of a system to complete each operation. For example, in an asynchronous digital processor, self-timing and inter-block communication are used to implement a self-timed scheduler. The self-timed scheduler and method implement an instruction set using a plurality of functional units of the asynchronous digital processor. A scheduler can include a scheduler decoder that decodes each instruction to generate functional unit schedule and control information, a communication device and a plurality of scheduler functional unit controllers, wherein each of the scheduler functional unit controllers corresponds to one of the plurality of functional units of a system.Type: GrantFiled: September 18, 1997Date of Patent: April 25, 2000Assignees: LG Semicon Co., Ltd., Cogency Technology IncorporatedInventors: Nigel C. Paver, Paul Day
-
Patent number: 6049862Abstract: A signal processor is disclosed having a program memory which stores compressed program instructions and a decoder device which decodes the compressed program instructions to form decoded program instructions for controlling functions of the signal processor. The decoder device has a programmable decoder and a fixed decoding arrangement, where the fixed decoding arrangement is non-programmable and hardwired for decoding the compressed program instructions using logical operations. The programmable decoder includes a decoder memory, such as a ROM or RAM, having cells for storing the decoded program instructions in an uncompressed form. These cells are addressed for executing programmable decoding functions of the programmable decoder. The compressed program instructions include a first number of bits for determining a category of the compressed program instructions and a second number of bits for determining the address of the cells.Type: GrantFiled: July 16, 1997Date of Patent: April 11, 2000Assignee: U.S. Philips CorporationInventors: Harald Bauer, Peter Kempf, Dietmar Lorenz, Peter Meyer
-
Patent number: 6049863Abstract: 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: GrantFiled: June 11, 1997Date of Patent: April 11, 2000Assignee: Advanced Micro Devices, Inc.Inventors: Thang M. Tran, Rammohan Narayan, Andrew McBride, Karthikeyan Muthusamy
-
Patent number: 6044455Abstract: A central processing unit includes an adder dedicated to address calculation provided separately from an ALU, a first address data route connected to a program counter and a stack pointer register, a second address data route connected to a prefetch que, a predecoder for determining whether an instruction to be executed calls for an addressing mode whereby a value in the program counter or the SP register is added to an immediate address in an instruction code. With this arrangement, if the addressing mode is called for, address calculation by the adder is performed concurrently with computation using an operand for another instruction, in accordance with a control signal output by the predecoder.Type: GrantFiled: October 23, 1997Date of Patent: March 28, 2000Assignee: Ricoh Company, Ltd.Inventor: Kazuhiko Hara
-
Patent number: 6044453Abstract: A programmable circuit and method for a data processing apparatus is provided that allows an entire instruction or instruction set to be modified. According to the present invention, the instruction can be modified, for example, during initialization or execution. The programmable circuit for a data processing apparatus can include a plurality of functional units, each functional unit performing a set of prescribed operations. A programmable circuit that is capable of modifying an entire instruction. A controller that decodes a current instruction to perform a corresponding instruction task using the plurality of functional units and a communications device coupling the functional units, the programmable circuit and the controller.Type: GrantFiled: September 30, 1997Date of Patent: March 28, 2000Assignees: LG Semicon Co., Ltd., Cogency Technology IncorporatedInventor: Nigel C. Paver
-
Patent number: 6041405Abstract: 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: GrantFiled: December 18, 1997Date of Patent: March 21, 2000Assignee: Advanced Micro Devices, Inc.Inventor: Thomas S. Green
-
Patent number: 6029240Abstract: A digital computer system capable of processing two or more computer instructions in parallel and having a cache storage unit for temporarily storing machine-level computer instructions in their journey from a higher-level storage unit of the computer system to the functional units which process the instructions. The computer system includes an instruction compounding unit located intermediate to the higher-level storage unit and the cache storage unit for analyzing the instructions and generating for to each instruction a compounding information which indicates whether or not that instruction may be processed in parallel with one or more neighboring instructions in the instruction stream. These tagged instructions are then stored in the cache unit with the compounding information. The computer system further includes a plurality of functional instruction processing units which operate in parallel with one another. The instructions supplied to these functional units are obtained from the cache storage unit.Type: GrantFiled: May 30, 1995Date of Patent: February 22, 2000Assignee: International Business Machines CorporationInventors: Bartholomew Blaner, Stamatis Vassiliadis