Decoding Instruction To Accommodate Variable Length Instruction Or Operand Patents (Class 712/210)
  • Publication number: 20040225867
    Abstract: 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: Application
    Filed: February 5, 2004
    Publication date: November 11, 2004
    Inventors: Alan B. Kyker, Per Hammarlund, Chan Lee, Robert F. Krick, Hitesh Ahuja, William Alexander, Joseph Rohlman
  • Patent number: 6817012
    Abstract: A method is provided for translating a source operation to a target operation. The source operation acts on one or more source operands, each comprising a binary integer of a first bit-width. The target operation is required to be evaluated by a processor, such as a computer, which performs integer operations on binary integers of a second bit-width which is greater than first bit-width. The source operation is translated to a target operation having at least one target operand. The method identifies whether the value of unused bits of the or each target operand affects the value of the target operation and whether the target operand or any of the target operands is capable of having one or more unused bits of inappropriate value. If so, a correcting operation is added to the target operation for correcting the value of each of the bits of inappropriate value before performing the target operation.
    Type: Grant
    Filed: October 2, 2000
    Date of Patent: November 9, 2004
    Assignee: Sharp Kabushiki Kaisha
    Inventors: Vincent Zammit, Andrew Kay
  • Patent number: 6810433
    Abstract: A storage unit stores ranges of devices allocated for each sequence program. A device range checking unit sequentially extracts device notations indicating consecutive areas and commands specifying consecutive devices present in a sequence program, expands devices of the corresponding consecutive areas, and checks whether or not devices of consecutive areas are within a range of devices stored in the storage unit. The device range checking unit sequentially extracts device notations indicating consecutive areas and commands specifying consecutive devices present in a sequence program, expands devices of the corresponding consecutive areas, and checks whether or not devices of consecutive areas are within a range of devices stored in the storage unit.
    Type: Grant
    Filed: August 23, 2000
    Date of Patent: October 26, 2004
    Assignee: Mitsubishi Denki Kabushiki Kaisha
    Inventors: Tsuyoshi Nishimaki, Makoto Nonomura, Tomoyuki Suga, Kenji Hirota, Yoshiaki Gotou
  • Patent number: 6807622
    Abstract: A processor supports a mode in which the default operand size is 32 bits, but which supports operand size overrides to 64 bits. Furthermore, the default operand size may automatically be overridden to 64 bits for instructions having an implicit stack pointer reference and for near branch instructions. The overriding of the default operand size may occur without requiring an operand size override encoding in these instructions. In one embodiment, the instruction set specifying the instructions may be a variable byte length instruction set (e.g. x86), and the operand size override encoding may be a prefix byte which increases the instruction length.
    Type: Grant
    Filed: April 2, 2001
    Date of Patent: October 19, 2004
    Assignee: Advanced Micro Devices, Inc.
    Inventor: Kevin J. McGrath
  • Patent number: 6807616
    Abstract: A processor supports several operating modes. In at least one of the operating modes, a segmented address space is used. In at least one other operating mode, an unsegmented address space is used. In the unsegmented address space, a canonical check applies to addresses. In the segmented address space, a segment limit check applies. In some cases, both a segment limit check and a canonical check applies dependent on the segment used (e.g. either user or table segments). An exception circuit selects one or more of the canonical check result(s) and the segment limit check result to generate an exception indication. The selection is dependent on the operating mode and the segment of the data reference. The processor may also perform selective truncation of addresses based on the operating mode and the segment.
    Type: Grant
    Filed: August 9, 2001
    Date of Patent: October 19, 2004
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Kevin J. McGrath, Chetana N. Keltcher, Ramsey W. Haddad
  • Publication number: 20040199748
    Abstract: A processor may include an instruction decoder to decode macroinstructions into micro-operations. In some embodiments, the instruction decoder may include a first decoder and a second decoder. The first decoder may decode a macroinstruction having SSE data type operands into a laminated micro-operation, and may generate unlamination information for the laminated micro-operation. The second decoder may generate from the laminated micro-operation and the unlamination information two or more micro-operations, where operands of the two or more micro-operations each correspond to a half of one of the SSE operands of the macroinstruction.
    Type: Application
    Filed: April 7, 2003
    Publication date: October 7, 2004
    Inventors: Zeev Sperber, Robert Valentine, Simcha Gochman
  • Patent number: 6801995
    Abstract: A method of assigning unique instruction codes to instructions in an instruction set is disclosed. Such an encoded instruction set is also disclosed. Instructions are grouped according to the particular resources used, where all of the instructions in a group have one or more resource types in common. The position of the highest order active bit in the code is used to identify which resource group a particular instruction belongs to. Instructions in a resource group reserve the same number of bits to identify the specific resources to be used, and no more bits are reserved than required. The remaining unassigned bits are used to encode particular command codes. When such an encoded command is decoded, the resource group is identified by determining the highest order active bit in the instruction. This information is used to determine which bits in the instruction are command bits and which are resource-identifying bits.
    Type: Grant
    Filed: August 4, 1998
    Date of Patent: October 5, 2004
    Assignee: Agere Systems, Inc.
    Inventors: Mazhar M. Alidina, Sivanand Simanapalli, Mark E. Thierbach
  • Patent number: 6801996
    Abstract: An instruction code conversion unit, an information processing system provided with the instruction code conversion unit and an instruction code generation method for generating instruction codes which are converted by the instruction code conversion unit are described. The efficiency of coding of the program is improved by making use of an existing processor as selected is used without modification. An instruction code conversion unit performs conversion of the address of a native instruction code to the address of the corresponding compressed instruction code in a program memory by shifting the address of the native instruction code as outputted from the processor to the right by one bit.
    Type: Grant
    Filed: February 7, 2001
    Date of Patent: October 5, 2004
    Assignee: Kabushiki Kaisha Toshiba
    Inventors: Moriyasu Banno, Tomoaki Shoda, Hiroshi Itaya, Tomotaka Saito
  • Patent number: 6802017
    Abstract: An SZ (size information) section is provided for each of registers that make up a register file. Suppose an instruction decoded requests that operand data of a particular size be loaded from a RAM into the register file or that immediate operand data of a particular size be transferred to the register file. Then, the size information of the operand data will be retained in the SZ section. The instruction decoded may also be an arithmetic and logical operation instruction requesting that operand data in the register file be referred to or an instruction requesting that the operand data be stored from the register file into the RAM. In such a case, the size information will be read out from the SZ section of the register file and only parts of various components constituting manipulation means (like ALU), which have been specified by the size information, will be enabled. As a result, the power, which is usually dissipated by a processor handling data of multiple sizes, can be cut down effectively.
    Type: Grant
    Filed: June 29, 2000
    Date of Patent: October 5, 2004
    Assignee: Matsushita Electric Industrial Co., Ltd.
    Inventors: Shuichi Takayama, Nobuo Higaki, Masato Suzuki
  • Patent number: 6799265
    Abstract: A data dependency checking table is used with a reconfigurable chip. A control processing chip on the reconfigurable chip can load variable size blocks of data to and from reconfigurable slices on the reconfigurable chip from an external memory. The dependency checking table is used to ensure data coherency. The dependency checking table stores an indication of size of the memory blocks transferred between the external memory and the reconfigurable logic slices. In a preferred embodiment, the size indication is a mask value in which reduces the computation involved in determining whether there is a potential data coherency conflict.
    Type: Grant
    Filed: July 11, 2000
    Date of Patent: September 28, 2004
    Assignee: Intel Corporation
    Inventor: Dani Y. Dakhil
  • Publication number: 20040186981
    Abstract: A processor changes the mapping of register addresses to registers dependent on an instruction field. In one particular embodiment, the mapping may be changed for byte addressing of the registers. A register mapping in which each register address maps to either the least significant byte or the next least significant byte of a subset of the registers may be supported, as well as a register mapping in which each register address maps to the least significant byte of each register, in one implementation. In one particular implementation, the instruction field may be a prefix field (e.g. a prefix byte). The processor may provide for uniform addressing of registers (e.g. byte addressing of the registers) responsive to a prefix field, in other embodiments, irrespective of the addressing provided if the prefix field is not included, or is encoded differently than the encoding which results in the uniform addressing.
    Type: Application
    Filed: April 2, 2001
    Publication date: September 23, 2004
    Inventors: David S. Christie, Kevin J. McGrath
  • Publication number: 20040181650
    Abstract: A processor and method using parity check to switch instruction modes is disclosed, which can execute in N-bit and 2N-bit modes. The processor includes an instruction input device, an instruction fetch device and a mode switch logic. The instruction input device includes a memory having a width of 2N bits for storing a plurality of 2N-bit words. The instruction fetch device fetches a 2N-bit word. The mode switch logic determines whether the 2N-bit word fetched by the instruction fetch device is two (N-P)-bit instructions or one 2(N-P)-bit instruction, and accordingly switches the processor to corresponding N-bit or 2N-bit mode. When the 2N-bit word fetched is even parity, the 2N-bit word is determined as two (N-P)-bit instructions if two N-bit words included in the 2N-bit word are on the first parity state, or determined as a 2(N-P)-bit instruction if the two N-bit words are on the second parity state.
    Type: Application
    Filed: October 14, 2003
    Publication date: September 16, 2004
    Applicant: Sunplus Technology Co., Ltd.
    Inventor: Bor-Sung Liang
  • Publication number: 20040181648
    Abstract: A compressed instruction format for a VLIW processor allows greater efficiency in use of cache and memory. Instructions are byte aligned and variable length. Branch targets are uncompressed. Format bits specify how many issue slots are used in a following instruction. NOPS are not stored in memory. Individual operations are compressed according to features such as whether they are resultless, guarded, short, zeroary, unary, or binary. Instructions are stored in compressed form in memory and in cache. Instructions are decompressed on the fly after being read out from cache.
    Type: Application
    Filed: January 22, 2004
    Publication date: September 16, 2004
    Inventors: Eino Jacobs, Michael Ang
  • Patent number: 6789184
    Abstract: In an embodiment, an address pipeline corresponding to an instruction pipeline in a processor, for example, a digital signal processor (DSP), may generate and track the instruction address of each instruction at each stage. The address pipeline may include program count (PC) generation logic to automatically calculate the PC of the next instruction based on the width of the current instruction for sequential program flow. The address pipeline may also track valid bits associated with each instruction and store the address of the oldest valid instruction for return to the original program flow after a disruptive event.
    Type: Grant
    Filed: September 29, 2000
    Date of Patent: September 7, 2004
    Assignees: Intel Corporation, Analog Devices, Inc.
    Inventors: Ravi P. Singh, Charles P. Roth, Gregory A. Overkamp
  • Patent number: 6772320
    Abstract: A method and computer program for data conversion in a heterogeneous communications network. This method and computer program converts data for computer systems having different data storage architectures so that these computer systems may simply and easily communicate over a network. This is most useful when converting data stored in little endian and big endian format. This method relies on creating the data structure used to convert the data using embedded macros that are not executed at run time. These embedded macros are expanded by the compiler to generate the data structure and thereby saves substantial time during execution.
    Type: Grant
    Filed: November 17, 2000
    Date of Patent: August 3, 2004
    Assignee: Intel Corporation
    Inventor: Ashok Raj
  • Publication number: 20040148492
    Abstract: A system for handling a plurality of single precision floating point instructions and a plurality of double precision floating point instructions that both index a same set of registers is provided. The system comprises a decode unit arranged to decode, stall, and forward at least one of the plurality of single precision and at least one of the plurality of double precision floating point instructions in a fetch group. The decode unit includes a first counter arranged to increment for each of the plurality of single precision floating point instructions forwarded down a pipeline; a second counter arranged to increment for each of the plurality of double precision floating point instructions forwarded down the pipeline; a first mask register and a second mask register. The first mask register is updated by each of the single precision floating point instructions forwarded and the second mask register is updated by each of the double precision floating point instructions forwarded.
    Type: Application
    Filed: January 29, 2003
    Publication date: July 29, 2004
    Inventors: Rabin A. Sugumar, Sorin Iacobovici, Robert Nuckolls, Chandra M. R. Thimmannagari
  • Patent number: 6766385
    Abstract: The present invention includes a method and device for controlling the data length of read and write operations performed on a memory device. The method includes determining a first number of channels available to a memory controller operatively coupled to the memory device; determining a second number representative of the number of populated channels; calculating a burst length based on the first and second numbers; and programming the memory controller to use the burst length as the data length of read and write operations performed on the memory device.
    Type: Grant
    Filed: January 7, 2002
    Date of Patent: July 20, 2004
    Assignee: Intel Corporation
    Inventors: James M. Dodd, Brian P. Johnson, Jay C. Wells, John B. Halbert
  • Publication number: 20040139298
    Abstract: A method, apparatus, and computer instructions for processing a set of instructions in which the set of instructions includes operation codes and operands. A repeating sequence of sequential operation codes within the set of instructions is identified to form an identified sequence of operation codes. The set of instructions is compressed using the identified sequence of operation codes to form a set of compressed instructions for execution by a processor.
    Type: Application
    Filed: January 9, 2003
    Publication date: July 15, 2004
    Applicant: International Business Machines Corporation
    Inventors: Lane Thomas Holloway, Nadeem Malik, Avijit Saha
  • Patent number: 6763449
    Abstract: An operation-processing apparatus is equipped with an instruction decoder for decoding an existing instruction and an extension instruction into the same operation code including at least instruction-type-determining bits for determining the existing instruction or the extension instruction, an existing-operation-executing unit for executing an existing operation according to the operation code and outputting an operation-termination-notifying signal, an extension-operation-executing unit that operates in synchronism with the existing-operation-executing unit to thereby execute an extension operation according to the operation code, a control circuit for determining the type of the instruction according to the instruction-type-determining bits, and a multiplexer that, when the type of the instruction has been determined to be the extension instruction and when an operation-termination-notifying signal has been input, selects an extension instruction operated-result data.
    Type: Grant
    Filed: October 23, 2000
    Date of Patent: July 13, 2004
    Assignee: Fujitsu Limited
    Inventors: Fumitake Sugano, Katsunori Takeshita
  • Publication number: 20040128479
    Abstract: A method and an apparatus for decoding a variable length instruction. The method includes selecting with a first pointer one of a plurality of permutations, each permutation representing a possible location of the instruction in a portion of the datastream, calculating a possible length of the instruction for each byte in the selected permutation, and selecting the length of the instruction from one of the calculated possible lengths in the selected permutation. An example of an application includes decoding X86 instruction formats.
    Type: Application
    Filed: December 31, 2002
    Publication date: July 1, 2004
    Inventors: Venkateswara Rao Madduri, Ross A. Segelken, Bret Leslie Toll
  • Publication number: 20040123076
    Abstract: The present invention relates to a method and system for providing a variable width, at least six-way addition instruction in a processor. The method includes decoding an instruction as a variable width, at least six-way addition instruction, where the variable width, at least six-way addition instruction includes a plurality of operands. The method also includes adding the plurality of operands to obtain a plurality of sums. The method further includes outputting the plurality of sums and optionally storing carry results from the adding operation.
    Type: Application
    Filed: December 18, 2002
    Publication date: June 24, 2004
    Applicant: INTEL CORPORATION
    Inventor: Gad Sheaffer
  • Publication number: 20040117600
    Abstract: A processor natively executes lookup instructions. The lookup instruction is decoded to determine which general-purpose register (GPR) contains a pointer to a lookup key in a buffer. A variable-length key is read from the buffer and hashed to generate an index into a first-level cache and a hashed tag. An address of a bucket of entries for the index is generated and tags from these entries are read and compared to the hashed tag. When an entry matches the hashed tag, a second-level entry is read. A stored key from the second-level entry is compared to the input key to determine a match. The addresses of the matching second-level and first-level entries are written to GPR's specified by operands decoded from the lookup instruction. When the key or entry data is long, the second-level entry also contains a pointer to a key extension or data extension in a third-level cache.
    Type: Application
    Filed: April 2, 2003
    Publication date: June 17, 2004
    Applicant: NEXSIL COMMUNICATIONS, INC.
    Inventors: Amod Bodas, Tarun Kumar Tripathy, Mehul Kharidia, Millind Mittal, J. Sukarno Mertoguno
  • Publication number: 20040117599
    Abstract: A functional-level instruction-set computing (FLIC) architecture executes higher-level functional instructions such as lookups and bit-compares of variable-length operands. Each FLIC processing-engine slice has specialized processing units including a lookup unit that searches for a matching entry in a lookup cache. Variable-length operands are stored in execution buffers. The operand length and location in the execution buffer are stored in fixed-length general-purpose registers (GPRs) that also store fixed-length operands. A copy/move unit moves data between input and output buffers and one or more FLIC processing-engine slices. Multiple contexts can each have a set of GPRs and execution buffers. An expansion buffer in a FLIC slice can be allocated to a context to expand that context's execution buffer for storing longer operands.
    Type: Application
    Filed: December 12, 2002
    Publication date: June 17, 2004
    Applicant: NEXSIL COMMUNICATIONS, INC.
    Inventors: Millind Mittal, Mehul Kharidia, Tarun Kumar Tripathy, J. Sukarno Mertoguno
  • Patent number: 6751724
    Abstract: Embodiments of the present invention relate to instruction fetching in data processing systems. One aspect involves a data processor (202) to execute instructions and to fetch instructions from a memory (208) according to a fetch size. This data processor (202) comprises a first input (212) to receive instructions, control logic (402) to decode the instructions, and an instruction pipeline (400) coupled to the first input (212) and the control logic (400). The instruction pipeline (400) is responsive to a first signal (214) to set the fetch size to one of a first size and a second size. The data processor (202) therefore allows an instruction fetch policy to be altered based on the characteristics of an accessed device in order to achieve improved performance.
    Type: Grant
    Filed: April 19, 2000
    Date of Patent: June 15, 2004
    Assignee: Motorola, Inc.
    Inventors: William C. Moyer, Jeffrey W. Scott, James S. Thomas, John H. Arends, John J. Vaglica
  • Patent number: 6745319
    Abstract: A data processing system is provided with a digital signal processor (DSP) which has a shuffle instruction for shuffling a source operand (600) and storing the shuffled result in a selected destination register (610). A shuffled result is formed by interleaving bits from a first source operand portion with bits from a second operand portion. A de-interleave and pack (DEAL) instruction is provided for de-interleaving a source operand. The shuffle instruction and the DEAL instruction have an exactly inverse effect. The DSP includes swizzle circuitry that performs interleaving or de-interleaving in a single execution phase.
    Type: Grant
    Filed: October 31, 2000
    Date of Patent: June 1, 2004
    Assignee: Texas Instruments Incorporated
    Inventors: Keith Balmer, David Hoyle, Lewis Nardini
  • Patent number: 6742109
    Abstract: One embodiment of the present invention provides a system for executing variable-size computer instructions, wherein a variable-size computer instruction includes an action component that specifies an operation to be performed and a data component of variable size that specifies data associated with the operation. The system operates by first retrieving the variable-size computer instruction from a computing device's memory. The system then decodes the variable-size computer instruction by separating the variable-size computer instruction into the action component and the data component. Next, the system stores the action component in a first store and the data component in a second store so they can be reused without repeated decoding. Finally, the system provides a first flow path for the action component and a second flow path for the data component.
    Type: Grant
    Filed: November 30, 2000
    Date of Patent: May 25, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Stepan Sokolov, David Wallman
  • Patent number: 6742131
    Abstract: An instruction prefetch buffer is described which has a powersave mechanism. A set of output devices of an instruction supply mechanism each have a stop switch which either pass on a changed bit sequence or the previously supplied bit sequence. If the previously supplied bit sequence is supplied, no power is utilized in that machine cycle.
    Type: Grant
    Filed: May 2, 2000
    Date of Patent: May 25, 2004
    Assignee: STMicroelectronics S.A.
    Inventors: Laurent Wojcieszak, Andrew Cofler
  • Publication number: 20040093480
    Abstract: A data processor of the present invention efficiently performs decision processing on register conflict. The data processor contains n-bit instructions and 2n-bit instructions in an instruction set and includes an instruction control unit that can decide whether registers specified in register specification fields of the instructions conflict between the instructions. The 2n-bit instructions including register specification fields have the register specification fields in the first half n bits thereof, and the register specification fields in the first half n bits comprise the same placement as register specification fields in the n-bit instructions. Shift operations required to cut out the register specification fields from the instructions, either 2n-bit or n-bit instructions, can be simplified or deleted by aligning the register specification fields in the 2n-bit instructions with those in the n-bit instructions.
    Type: Application
    Filed: October 21, 2003
    Publication date: May 13, 2004
    Applicant: Renesas Technology Corp.
    Inventors: Kesami Hagiwara, Kazuya Hirayanagi, Yasuo Sugure, Takeshi Kataoka, Seiji Takeuchi, Hiromichi Yamada, Yuichi Abe
  • Publication number: 20040093479
    Abstract: A method for compressing a set of instructions in an adaptive computing machine includes identifying frequently executed instructions, inserting an explicit caching instruction associating the identified instructions with an index value in the set of instructions before the identified instructions and replacing at least one instance of the frequently executed instructions subsequent to the explicit caching instruction with a compressed instruction referencing the index value. One or more instructions can be identified for compression, including groups of consecutive or non-consecutive instructions. The explicit caching instruction directs a node in an adaptive computing machine to store instructions in an instruction storage unit in association with an index value. Instructions stored in the storage unit are retrievable with reference to the index value.
    Type: Application
    Filed: July 24, 2003
    Publication date: May 13, 2004
    Applicant: QuickSilver Technology, Inc.
    Inventor: Amit Ramchandran
  • Patent number: 6732258
    Abstract: A processor supports instruction pointer (IP) relative addressing in at least one operating mode of the processor. For example, in some implementations, IP relative addressing is supported in an operating mode or modes in which the address size is greater than 32 bits (e.g. up to 64 bits). In some embodiments, the displacement may be limited to less than the address size (e.g. 32 bits, in one implementation) when such operating modes are active. Code density may be higher than if the displacements were expanded, and flexibility in the placement of variables in memory may be achieved. For example, static variables may be placed in memory with flexibility, and IP relative addressing may be used to locate the static variables.
    Type: Grant
    Filed: April 2, 2001
    Date of Patent: May 4, 2004
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Kevin J. McGrath, David S. Christie
  • Patent number: 6732257
    Abstract: A method is disclosed in which a higher level instruction having an immediate is read from memory and translated into two lower level instructions. The first is to move a first portion of the immediate to a register, and the second includes a pointer to the register as well as a second portion of the immediate.
    Type: Grant
    Filed: September 29, 2000
    Date of Patent: May 4, 2004
    Assignee: Intel Corporation
    Inventor: Gad S. Sheaffer
  • Patent number: 6725356
    Abstract: The present invention provides a system and method for improving the performance of general purpose processors by expanding at least one source operand to a width greater than the width of either the general purpose register or the data path width. In addition, the present invention provides several classes of instructions which cannot be performed efficiently if the operands are limited to the width and accessible number of general purpose registers. The present invention provides operands which are substantially larger than the data path width of the processor by using a general purpose register to specify a memory address from which at least more than one, but typically several data path widths of data can be read. The present invention also provides for the efficient usage of a multiplier array that is fully used for high precision arithmetic, but is only partly used for other, lower precision operations.
    Type: Grant
    Filed: August 2, 2001
    Date of Patent: April 20, 2004
    Assignee: MicroUnity Systems Engineering, Inc.
    Inventors: Craig Hansen, John Moussouris
  • Patent number: 6721875
    Abstract: Disclosed is a computer architecture with single-syllable IP-relative branch instructions and long IP-relative branch instructions (IP=instruction pointer). The architecture fetches instructions in multi-syllable, bundle form. Single-syllable IP-relative branch instructions occupy a single syllable in an instruction bundle, and long IP-relative branch instructions occupy two syllables in an instruction bundle. The additional syllable of the long branch carries with it additional IP-relative offset bits, which when merged with offset bits carried in a core branch syllable provide a much greater offset than is carried by a single-syllable branch alone. Thus, the long branch provides for greater reach within an address space. Use of the long branch to patch IA-64 architecture instruction bundles is also disclosed. Such a patch provides the reach of an indirect branch with the overhead of a single-syllable IP-relative branch.
    Type: Grant
    Filed: February 22, 2000
    Date of Patent: April 13, 2004
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: James E McCormick, Jr., Stephen R. Undy, Donald Charles Soltis, Jr.
  • Patent number: 6718456
    Abstract: Disclosed herein is a apparatus and method for packing a 16-bit number into an 8-bit result byte. The method and apparatus utilize a parallel processing right shift circuit and a filter to obtain desired results. The parallel processes are comprised of a plurality of multiplexers capable of discretely analyzing smaller groups of bits. In this manner, higher throughput may be obtained than previously known.
    Type: Grant
    Filed: June 2, 2000
    Date of Patent: April 6, 2004
    Assignee: Sun Microsystems, Inc.
    Inventor: Michael Ott
  • Patent number: 6718452
    Abstract: A storage array is described which is specifically adapted to support a specific set of instruction modes of a processor. A first set of storage cells have a write input and a single read output. Second and third sets of storage cells each have a write input and only two read outputs. A fourth set of storage cells each have a write input and only three outputs. All the write inputs are addressable in common by a single write address and the read outputs are individually selectable responsive to a read pointer.
    Type: Grant
    Filed: May 2, 2000
    Date of Patent: April 6, 2004
    Assignee: STMicroelectronics S.A.
    Inventors: Laurent Wojcieszak, Sonia Ferrante
  • Publication number: 20040064677
    Abstract: A data processor includes program registers with individual byte-location write enables. Bypass networks allow a precision pipeline to respond to read requests by accessing a program register or pipeline stage on a byte-by-byte basis. The data processor can thus write to individual byte locations without overwriting other byte locations within the same register. The data processor has an instruction set with instructions that combine two operands and yield a one-byte result that is stored in a specified byte location of a specified result register. Eight instances of this instruction can pack eight results into a single 64-bit result register without additional packing instructions and without using a read port to read the result register before writing to it. As plural functional units can write concurrently to different subwords of the same result register, a system with four functional units can pack eight results into a result register in two instruction cycles.
    Type: Application
    Filed: September 30, 2002
    Publication date: April 1, 2004
    Inventor: Dale Morris
  • Patent number: 6715061
    Abstract: The present invention proposes a multimedia-instruction acceleration device for increasing efficiency and a method for the same, which uses instruction strings having a floating-point value check field to execute commands of single-instruction/multi-data format, and further transforms the floating-point value to a fixed one. The present invention can effectively save executing time and simplify numerical calculation process, and can fully exploit memory space to achieve the object of increasing acceleration operation and execution of multimedia instructions.
    Type: Grant
    Filed: July 12, 2000
    Date of Patent: March 30, 2004
    Assignee: Via Technologies, Inc.
    Inventor: Ko-Fang Wang
  • Publication number: 20040059894
    Abstract: The program to be executed is compiled by translating it into native instructions of the instruction-set architecture of the processor system, organizing the instructions deriving from the translation of the program into respective bundles in an order of successive bundles, each bundle grouping together instructions adapted to be executed in parallel by the processor system. The bundles of instructions are ordered into respective sub-bundles, said sub-bundles identifying a first set of instructions, which must be executed before the instructions belonging to the next bundle of said order, and a second set of instructions, which can be executed both before and in parallel with respect to the instructions belonging to said subsequent bundle of said order.
    Type: Application
    Filed: July 1, 2003
    Publication date: March 25, 2004
    Applicant: STMicroelectronics S.r.I.
    Inventors: Fabrizio Simone Rovati, Antonio Maria Borneo, Danilo Pietro Pau
  • Publication number: 20040059891
    Abstract: An apparatus for executing an instruction in a computational pipeline includes a first instruction memory. The first instruction memory includes a first plurality of instruction fields, each of which is capable of holding an instruction therein. Each of a first plurality of value fields is uniquely associated with a corresponding instruction field from the first plurality of instruction fields. Each value field is capable of holding a data value therein that is likely to be required in executing an instruction held in the instruction field.
    Type: Application
    Filed: September 20, 2002
    Publication date: March 25, 2004
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: David A. Luick
  • Publication number: 20040054873
    Abstract: A data processor includes an instruction decoder, an execution unit, a general-purpose register file, and an index-register file. The instruction set for the data processor includes indirect-indexing instructions to facilitate table lookups. When executing such an instruction, the execution unit reads an index stored at an index-register location specified by the instruction. The index refers to a general-purpose register location, which is then read and copied to a general-purpose register location as specified by the instruction. The disclosed execution unit includes four functional units, each with two read ports and a write port so that eight table lookups can be performed in parallel.
    Type: Application
    Filed: September 17, 2002
    Publication date: March 18, 2004
    Inventor: Dale Morris
  • Publication number: 20040049659
    Abstract: A data processing device has an instruction decoder (1), a control logic unit (3), and ALU (4). The instruction decoder (1) decodes instruction codes of an arithmetic instruction. The control logic unit (3) detects the effective data width of operation data to be processed according to the decode result from the instruction decoder (1) and determines the number of cycles for the instruction execution corresponding to the effective data width. The ALU (4) executes the instruction with the number of cycles of the instruction execution determined by the control logic unit (3).
    Type: Application
    Filed: September 5, 2003
    Publication date: March 11, 2004
    Applicant: RENESAS TECHNOLOGY CORPORATION
    Inventors: Sugako Ohtani, Hiroyuki Kondo
  • Patent number: 6704859
    Abstract: A compressed instruction format for a VLIW processor allows greater efficiency in use of cache and memory. Instructions are byte aligned and variable length. Branch targets are uncompressed. Format bits specify how many issue slots are used in a following instruction. NOPS are not stored in memory. Individual operations are compressed according to features such as whether they are resultless, guarded, short, zeroary, unary, or binary. Instructions are stored in compressed form in memory and in cache. Instructions are decompressed on the fly after being read out from cache.
    Type: Grant
    Filed: August 4, 1998
    Date of Patent: March 9, 2004
    Assignee: Koninklijke Philips Electronics N.V.
    Inventors: Eino Jacobs, Michael Ang
  • Patent number: 6704833
    Abstract: A method for transferring data between a processor and a memory includes (A) executing, at the processor, an instruction that includes (i) a specifier of a location in a storage resource local to the processor, (ii) a specifier of an address in the memory, and (iii) a specifier of a size of a data block, (B) providing, from the processor to a controller, a set of control signals indicating (i) the address in the memory, and (ii) the size of the data block; and (C) transferring, by the controller, in response to receipt of the set of control signals, the data block atomically between the storage resource and the memory, without the processor having to first request a lock on the memory.
    Type: Grant
    Filed: January 4, 2002
    Date of Patent: March 9, 2004
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Jerome C. Huck
  • Patent number: 6704854
    Abstract: A processor includes execution resources for handling a first memory operation and a concurrent second memory operation. If one of the memory operations is misaligned, the processor may allocate the execution resources for the other memory operation to that memory operation. In one embodiment, the older memory operation proceeds if misalignment is detected. The younger memory operation is retried and may be reexecuted at a later time. If the older memory operation is misaligned, the execution resources provided for the younger operation may be allocated to the older memory operation. If only the younger memory operation is misaligned, the younger memory operation may be the older memory operation during a subsequent reexecution and may thus be allocated the execution resources to allow the memory operation to complete.
    Type: Grant
    Filed: October 25, 1999
    Date of Patent: March 9, 2004
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Stephan G. Meier, James B. Keller
  • Patent number: 6704855
    Abstract: The present invention relates to a method for accessing elements from a shared resource to be used by consumers that perform actions according to corresponding operations. The method creates a packet of operations to be processed simultaneously, wherein the elements from the shared resource used by the operations are specified by source and destination identifier fields that are shared among the operations in such a way that the sum of all the elements from the shared resource used by the operations does not exceed a total number of identifiers available in the packet. The method also reads the elements from the shared resource according to the shared identifier fields specified in the packet. The method decodes a number of elements from the shared resource needed by each operation, by passing the operations to an operation decoder having a defined routing scheme based on the needs of the operations.
    Type: Grant
    Filed: June 2, 2000
    Date of Patent: March 9, 2004
    Assignee: International Business Machines Corporation
    Inventors: Erik R. Altman, Jaime H. Moreno, Mayan Moudgill
  • Patent number: 6694423
    Abstract: A data processing unit having superscalar structure able to execute a plurality of instructions in parallel includes a memory for storing the instructions having a plurality of n-bit input/output ports, an instruction fetch unit, a coupling unit for coupling said memory with the instruction fetch unit, and an instruction stream request control unit for addressing the mmory to provide an instruction stream at its output ports. The coupling unit includes a shifter having an input and an output and a control input, the input being coupled with the output ports of the memory, the output being coupled with the instruction fetch unit, and the control input being coupled with the instruction stream request control unit. The instruction fetch unit has a register for storing said instruction stream and a shifter to shift the content of the register.
    Type: Grant
    Filed: May 26, 1999
    Date of Patent: February 17, 2004
    Assignee: Infineon Technologies North America Corp.
    Inventors: Balraj Singh, Manuel O. Gautho, Venkat Mattela
  • Publication number: 20040030862
    Abstract: A processor-based system may include a main processor and a coprocessor. The coprocessor handles instructions that include opcodes specifying a data processing operation to be performed by the coprocessor and a coprocessor identification field for identifying a target coprocessor for coprocessor instructions. Two bits indicate one of four data sizes including a byte (8 bits), a half word (16 bits), a word (32 bits), and a double word (64 bits). Two other bits indicate a saturation type.
    Type: Application
    Filed: August 9, 2002
    Publication date: February 12, 2004
    Inventors: Nigel C. Paver, William T. Maghielse, Wing K. Yu, Jianwei Liu, Anthony Jebson, Kailesh B. Bavaria, Rupal M. Parikh, Deli Deng, Mukesh Patel, Mark Fullerton, Murli Ganeshan, Stephen J. Strazdus
  • Publication number: 20040024992
    Abstract: A decoding method for a multi-length-mode instruction set. The decoding method includes the steps of: rearranging a fixed length instruction into an instruction-partitioned part and a zero-filling part; decoding the rearranged instruction as multiple fields based on the rearranged instruction format requirement; and choosing one field from the multiple fields through a multiplexer as the destination register's content according to the length of the desired instruction part. Therefore, the decoding method can support various lengths of instruction sets using an additional multiplexer with a very small additional memory space.
    Type: Application
    Filed: August 2, 2002
    Publication date: February 5, 2004
    Inventor: Shan-Chyun Ku
  • Publication number: 20040019767
    Abstract: A method for decoding instructions in an execution package with a processor includes using an assembler to assemble instructions into different execution packages. Each instruction has an identification segment and an instruction segment. The method also includes using the assembler to reorder the instructions by separating identification segments from instruction segments, grouping all identification segments of the execution package together, and grouping all instruction segments of the execution package together. The method uses the processor to decode identification segments of the instructions at the same time, and adds a length of each identification segment together to calculate a total length of the execution package.
    Type: Application
    Filed: July 29, 2002
    Publication date: January 29, 2004
    Inventor: Shan-Chyun Ku
  • Patent number: 6684322
    Abstract: A system and method for decoding the length of a macro instruction is described. In one embodiment, the system comprises an opcode-plus-immediate logic unit to generate a first length value, the first length value comprising a length of an opcode plus a length of intermediate data. A memory-length logic unit generates a second length value, the second length value comprising a potential length of a memory displacement, the opcode-plus-immediate logic unit and memory-length logic unit operating in parallel. In addition, the system comprises a length-summation logic unit to sum the first length value and the second length value if the second length value is present.
    Type: Grant
    Filed: August 30, 1999
    Date of Patent: January 27, 2004
    Assignee: Intel Corporation
    Inventors: Fred Gruner, Mike Morrison, Kushagra Vaid