Logic Operation Instruction Processing Patents (Class 712/223)
  • Patent number: 6675376
    Abstract: A system and method for producing a fused instruction is described. In one embodiment, a first instruction and a second instruction that are both simple instructions (e.g., perform only one operation) and are dependent are fused together to create the fused instruction. The fused instruction has an opcode that represents the operation performed by the first instruction and the operation performed by the second instruction. The fused instruction has three source operands and one destination operand. Two of the three source operands are the two source operands of the first instruction, and the third source operand is the source operand of the second instruction that is not the destination operand of the first instruction. The destination operand of the fused instruction is the destination operand of the second instruction. An execution unit that can execute a fused instruction in one clock cycle is also disclosed.
    Type: Grant
    Filed: December 29, 2000
    Date of Patent: January 6, 2004
    Assignee: Intel Corporation
    Inventors: Ronny Ronen, Alexander Peleg, Nathaniel Hoffman
  • Patent number: 6671797
    Abstract: A data processing system is provided with a digital signal processor which has an instruction for expanding one bit to form a mask field. In one form of the instruction, a first bit from a two-bit mask in a source operand is replicated and placed in an least significant half word of a destination operand while a second bit from the two-bit mask in the source operand is replicated and placed in a most significant half word of the destination operand. In another form of the instruction, a first bit from a four bit mask in a source operand is replicated and placed in a least significant byte of a destination operand, a second bit from the four-bit mask in the source operand is replicated and placed in a second least significant byte of the destination operand, a third bit from the four-bit mask is replicated and placed in a second most significant byte of the destination operand and a fourth bit form the four-bit mask is replicated and placed in a most significant byte of the destination operand.
    Type: Grant
    Filed: October 31, 2000
    Date of Patent: December 30, 2003
    Assignee: Texas Instruments Incorporated
    Inventor: Jeremiah E. Golston
  • Publication number: 20030191928
    Abstract: The present invention relates to a method and system for providing an N-way select instruction in a processor. Specifically, a method for providing an N-way select instruction includes decoding an instruction as an N-way select instruction. The method also includes selecting at least one pair of source operands from a plurality of instruction operands using information from a plurality of parallel control registers. The method, further includes selecting a final source operand from each of the selected at least one pair of source operands, and outputting each of the selected final source operands. In general, any N-way select instruction will have M=log2N stages of operation.
    Type: Application
    Filed: March 28, 2002
    Publication date: October 9, 2003
    Applicant: INTEL CORPORATION
    Inventor: Gad Sheaffer
  • Publication number: 20030188142
    Abstract: The present invention relates to a method and system for providing an N-wide add-compare-select instruction includes decoding an instruction as an N-wide add-compare-select instruction and selecting a plurality of branch metrics. The method also includes combining the plurality of branch metrics with a plurality of source operands and outputting a pair of maximum values.
    Type: Application
    Filed: March 28, 2002
    Publication date: October 2, 2003
    Applicant: INTEL CORPORATION
    Inventor: Gad Sheaffer
  • Publication number: 20030188143
    Abstract: The present invention relates to a method and system for providing a 2N-way comparison instruction in a processor. Specifically, a method for providing comparison instruction includes decoding an instruction as one of 2N-way MAX instruction and a 2N-way MIN instruction. The method also includes one of computing a maximum value for each of a plurality of pairs and computing a minimum value for each of the plurality of pairs of values. The method, further includes one of computing a maximum of the computed maximum values and computing a minimum of the computed minimum values and outputting one of the computed minimum and the computed minimum values.
    Type: Application
    Filed: March 28, 2002
    Publication date: October 2, 2003
    Applicant: INTEL CORPORATION
    Inventor: Gad Sheaffer
  • Patent number: 6606670
    Abstract: According to the present invention, a device and method accomplish in-line serial programming of a default configuration into a configurable device for connection to a message-based network. The configurable device includes an input/output unit, an electrically programmable read only memory (EPROM), programming logic and a protocol engine for exchanging messages with a message-based bus based on the default configuration. The input/output unit includes pins and logic for configuring a portion of the pins to operate in both a normal mode and as a clock pin, a data pin and a program pin in a programming mode. The electrically programmable read only memory (EPROM) stores a default configuration for the configurable device. The programming logic is coupled to the input/output unit. It receives signals from the data, clock and program pins and determines data and commands based on the signals.
    Type: Grant
    Filed: August 16, 2000
    Date of Patent: August 12, 2003
    Assignee: Microchip Technology Incorporated
    Inventors: Rick Stoneking, Bruce Negley, Craig Filicetti
  • Patent number: 6591357
    Abstract: A method and an apparatus for configuring arbitrary sized data paths comprising multiple context processing elements (MCPEs) are provided. Multiple MCPEs may be chained to form wider-word data paths of arbitrary widths, wherein a first ALU serves as the most significant byte (MSB) of the data path while a second ALU serves as the least significant byte (LSB) of the data path. The ALUs of the data path are coupled using a left-going, or forward, carry chain for transmitting at least one carry bit from the LSB ALU to the MSB ALU. The MSB ALU comprises configurable logic for generating at least one signal in response to a carry bit received over the left-going carry chain, the at least one signal comprising a saturation signal and a saturation value. The MCPEs of the data path use configurable logic to manipulate a resident bit sequence in response to the saturation signal transmitted thereby reconfiguring, or changing the operation of, the data path in response to he saturation signal.
    Type: Grant
    Filed: February 26, 2001
    Date of Patent: July 8, 2003
    Assignee: Broadcom Corporation
    Inventor: Ethan A. Mirsky
  • Patent number: 6587939
    Abstract: An information processing apparatus is provided with a executable instruction extracting unit which is reconfigured by means of a executable instruction extracting unit reconfiguration unit with reference to a compressed/executable instruction correspondence table optimized for the respective executable program, which has been made up with an compressed instruction. The compressed instruction is extended into the corresponding executable instructions by means of the executable instruction extracting unit as reconfigured.
    Type: Grant
    Filed: January 13, 2000
    Date of Patent: July 1, 2003
    Assignee: Kabushiki Kaisha Toshiba
    Inventor: Hiroyuki Takano
  • Publication number: 20030120904
    Abstract: A method and apparatus for performing single-instruction bit field extraction and for counting a number of leading zeros in a sequence of bits on a general purpose processor are provided. The fast bit extraction operations are accomplished by executing a first instruction for extracting an arbitrary number of bits of a sequence of bits stored in two or more source registers of the processor starting at an arbitrary offset and the storing the extracted bits in a destination register. Both the source and the destination registers are specified by the instruction. In addition, a second instruction is provided for counting the number of leading zeros in a sequence of bits stored in two or more source registers of the processor and then storing a binary value representing the number of leading zeros in a destination register. Again the source and the destination registers are specified by the second instruction.
    Type: Application
    Filed: January 31, 2003
    Publication date: June 26, 2003
    Applicant: Sun Microsystems, Inc.
    Inventors: Subramania Sudharsanan, Jeffrey Meng Wah Chan, Marc Tremblay
  • Patent number: 6581155
    Abstract: For use in a processor having a first number of decode units for decoding an ordered stream of floating point instructions, a floating point unit (FPU) for receiving decoded ones of the floating point instructions and a method of processing the decoded ones of the floating point instructions. In one embodiment, the FPU includes: (1) a second number of floating point pipelines that execute the floating point instructions, the second number being at least one and less than the first number, the floating point pipeline having a load unit, an execution core and a store unit, (2) a floating point checkpoint buffer, coupled to the decode units, that queues the decoded ones of the floating point instructions for allocation to the floating point pipelines and (3) a floating point register file, coupled to and cooperable with the floating point checkpoint buffer, that preserves states of the execution core to allow the floating point pipelines to execute the floating point instructions out of order.
    Type: Grant
    Filed: August 25, 1999
    Date of Patent: June 17, 2003
    Assignee: National Semiconductor Corporation
    Inventors: Jeffrey Lohman, Nicholas Samra, Ram Gummadi
  • Patent number: 6578194
    Abstract: A method, apparatus, and article of manufacture for the inclusion of extended relocation types and operations performed thereon in a relocation directory within an object module or load module. The relocation directory includes a field to describe the referenced item relocated into the address constant location within the text, which may be a numerical value, symbol, address, set of data or instructions or symbol. The relocation directory further includes a field to describe the operation performed on the referenced item and the present contents of the address constant, which includes operations such as subtraction, addition, division, multiplication, logical AND, logical OR, shifting, logical XOR, and moving. The result of the operation performed on the referenced item and the content of the address constant is relocated into the address constant location.
    Type: Grant
    Filed: September 8, 1999
    Date of Patent: June 10, 2003
    Assignee: International Business Machines Corporation
    Inventors: Leona Dryden Baumgart, John Robert Ehrman, Richard E. Lee
  • Patent number: 6567910
    Abstract: An improved microprocessor is provided having a program control unit for storing and then decoding instructions, a program address generation unit for generating addresses used to obtain instructions, an address register arithmetic unit for generating addresses for data, an arithmetic logic unit for performing operations on data, a shifter unit for shifting data in response to a predetermined instruction, a multiplier unit for performing multiplication of two input values; and a plurality of registers of which at least a portion are individually selectively associated with one or more of said units as a function of an instruction.
    Type: Grant
    Filed: February 12, 1999
    Date of Patent: May 20, 2003
    Assignee: Texas Instruments Incorporated
    Inventors: Alexander Tessarolo, Peter N. Ehlig, Glenn Harland Hopkins, Venkatesh Natarajan
  • Patent number: 6557098
    Abstract: An execution unit is provided for executing a first instruction which includes an opcode field, a first operand field, and a second operand field. The execution unit includes a first input register for receiving a first operand specified by a value of the first operand field, and a second input register for receiving a second operand specified by a value of the second operand field. The execution unit further includes a comparator unit which is coupled to receive a value of the opcode field for the first instruction. The comparator unit is also coupled to receive the first and second operand values from the first and second input registers, respectively. The execution further includes a multiplexer which receives a plurality of inputs. These inputs include a first constant value, a second constant value, and the values of the first and second operand.
    Type: Grant
    Filed: January 5, 2000
    Date of Patent: April 29, 2003
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Stuart Oberman, Norbert Juffa
  • Patent number: 6553486
    Abstract: A vector transfer unit for handling transfers of vector data between a memory and a data processor by one or more application programs in a computer system. A compiler identifies the use of vector data in the application program and implements one or more vector instructions for transferring the vector data between memory and registers used to perform calculations on the vector data. The compiler also schedules transfers of portions of the vector data required in a calculation so that calculations on a portion of the vector data are performed while a subsequent portion of the vector data is transferred. A vector buffer pool is partitioned into one or more vector buffers based on configuration information including the number of vectors buffers required by an application program and the size required for each vector buffer. The vector buffers are allocated for exclusive use by an application program that is executing in the data processor.
    Type: Grant
    Filed: August 17, 1999
    Date of Patent: April 22, 2003
    Assignee: NEC Electronics, Inc.
    Inventor: Ahmad R. Ansari
  • Patent number: 6530015
    Abstract: A method and system of executing computer instructions is described. Each instruction defines first and second operands and an operation to be carried out on said operands. Each instruction also contains an address field of a predetermined bit length which identifies a test register holding a plurality of test bits greater than the predetermined bit length. The test register holds a test code defining a test condition. The test condition is checked against at least one condition code and the operation is selectively carried out in dependence on whether the condition code satisfies the test condition. In one embodiment, the condition codes are set on a lane-by-lane basis for packed operands.
    Type: Grant
    Filed: September 13, 1999
    Date of Patent: March 4, 2003
    Assignee: Broadcom Corporation
    Inventor: Sophie Wilson
  • Publication number: 20030041229
    Abstract: The present invention is a technique to perform field operations. A shifter to shifts an operand. A register stores the shifted operand. A shift post processor processes the shifted operand based on at least a control signal and an offset parameter.
    Type: Application
    Filed: August 20, 2001
    Publication date: February 27, 2003
    Inventor: Sam B Sandbote
  • Patent number: 6526514
    Abstract: A method and apparatus for processing interrupts in a computing system include processing for ordering a plurality of interrupts for at least one processor. Such interrupts include system event interrupts, external device interrupts, and may further include power management interrupts, interprocessor interrupts, and/or intraprocessor interrupts. Such processing continues by generating an interrupt enable/disable signal based on the current context of a corresponding processor such that when the processor is performing a particular task which should not be interrupted, an interrupt signal is prevented from being provided to the processor. The processing also includes generating masking information to provide enable/disable masking information regarding each of the plurality of interrupts. As such, the computing system may enable/disable on a per interrupt basis the processing of a given interrupt.
    Type: Grant
    Filed: October 11, 1999
    Date of Patent: February 25, 2003
    Assignee: ATI International SRL
    Inventors: Nguyen Q. Nguyen, Ali Alasti
  • Patent number: 6519694
    Abstract: In a RISC or CISC processor supporting the IEEE 754 Not-a-Number (NaN) standard and of the kind comprising a load/store unit, a register unit and an arithmetic logic unit, and wherein the load/store unit has an error flag for marking a datum loaded to the load/store unit following a load which has completed, but resulted in an error, the processor is provided with a bit pattern generator operatively arranged in an output path from the load/store unit to at least one of the register unit and the arithmetic logic unit so that a Not-a-Number value for the invalid datum is loaded into a destination one of the floating-point registers or the arithmetic logic unit. The arithmetic logic unit is configured to propagate the Not-a-Number value as a Quiet-Not-a-Number (QNaN) value through its operations. The QNaN value may be tested for in a datum by a system software command code provided for that purpose.
    Type: Grant
    Filed: February 4, 1999
    Date of Patent: February 11, 2003
    Assignee: Sun Microsystems, Inc.
    Inventor: Jeremy G Harris
  • Patent number: 6519544
    Abstract: IEEE 1394 bus interface circuit 15X comprises a physical layer LSI 37 connected to an IEEE 1394 bus 14, a data capture circuit 22X connected to the physical layer LSI 37 through signal lines to capture data on the signal lines for data analysis, and a coupler (a plug or a socket) 38 to be coupled to a coupler (a socket or a plug) 39 to which a physical layer LSI of an IEEE 1394 bus interface 10 is attached in actual use. With engaging the couplers 39 and 38 to each other, data transmitted between nodes 10 and 13 are captured by the data capture circuit 22X and analyzed in an IEEE 1394 bus analysis apparatus 16. In another IEEE 1394 bus interface circuit, a link power status signal provided to the physical layer circuit from the link layer circuit is fixedly set low, whereby the physical layer circuit is made to function as a repeater, and data received by the physical layer circuit are captured by the link layer circuit and analyzed in the IEEE 1394 bus analysis apparatus.
    Type: Grant
    Filed: September 14, 2000
    Date of Patent: February 11, 2003
    Assignee: Fujitsu Limited
    Inventors: Tomohiro Deguchi, Hiroyuki Miyazaki, Hiroyuki Yoshida, Minoru Wano
  • Patent number: 6516406
    Abstract: An apparatus includes an instruction decoder, first and second source registers and a circuit coupled to the decoder to receive packed data from the source registers and to unpack the packed data responsive to an unpack instruction received by the decoder. A first packed data element and a third packed data element are received from the first source register. A second packed data element and a fourth packed data element are received from the second source register. The circuit copies the packed data elements into a destination register resulting with the second packed data element adjacent to the first packed data element, the third packed data element adjacent to the second packed data element, and the fourth packed data element adjacent to the third packed data element.
    Type: Grant
    Filed: September 8, 2000
    Date of Patent: February 4, 2003
    Assignee: Intel Corporation
    Inventors: Alexander Peleg, Yaakov Yaari, Millind Mittal, Larry M. Mennemeier, Benny Eitan
  • Publication number: 20030005269
    Abstract: A processor configuration for processing multi-precision shift instructions is provided. The multi-precision shift instructions are executed following a previous shift instruction of the same increment, such as a logical or arithmetic left or right shift operation. The first shift instruction shifts a first memory word by the shift increment and stores this shifted value into memory. The second, and any subsequent, multi-precision shift instruction shifts the next memory word by the shift increment and concatenates the bits shifted out of the previously shifted memory word into bit positions of the memory word presently being shifted. This concatenated value is then stored back to memory and forms another part of the multi-precision shifted value.
    Type: Application
    Filed: June 1, 2001
    Publication date: January 2, 2003
    Inventors: Joshua M. Conner, John Elliot, Michael I. Catherwood, Brian Neil Fall, Brian Boles
  • Publication number: 20030005268
    Abstract: Bit operation instructions such as find first bit instructions are provided. The instructions themselves include four instructions for returning a value corresponding to a bit position that stores the first zero or the first one in a memory location beginning from the left or right side of a data word depending on the instruction. Two additional instructions find the first bit change from the left or the right side of a memory location. The instructions operate on data specified in a source register and return a result to a destination register. The source and destination registers may store the data directly or may store pointers to the data. In addition, the instructions may specify the source data as word or byte data.
    Type: Application
    Filed: June 1, 2001
    Publication date: January 2, 2003
    Inventor: Michael I. Catherwood
  • Publication number: 20020184475
    Abstract: A processor including a Boolean logic unit, wherein the Boolean logic unit is operable for performing the short-circuit evaluation of Conjunctive Normal Form Boolean expressions/operations, a plurality of input/output interfaces, wherein the plurality of input/output interfaces are operable for receiving a plurality of compiled Boolean expressions/operations and transmitting a plurality of compiled results, and a plurality of registers. An associated processing method including starting an operation related to a Conjunctive Normal Form Boolean expression, wherein the Boolean expression comprises a conjunct, evaluating the conjunct, and selectively short-circuiting a portion of the Boolean expression.
    Type: Application
    Filed: February 13, 2002
    Publication date: December 5, 2002
    Inventor: Kenneth Elmon Koch
  • Publication number: 20020174325
    Abstract: The present invention provides an SIMD type microprocessor having a plurality of processor elements, wherein data stored in a specific register included in each processor element and data stored in an operand-designated source register are compared based on a first instruction; after the comparison, a larger data is stored in the specific register; and a smaller data is stored in the source register or an operand-designated destination register other than the source register.
    Type: Application
    Filed: April 1, 2002
    Publication date: November 21, 2002
    Inventor: Kazuhiko Iwanaga
  • Patent number: 6477643
    Abstract: A method for processing data in a configurable unit having a multidimensional cell arrangement a switching table is provided, the switching table including a controller and a configuration memory. Configuration strings are transmitted from the switching table to a configurable element of the unit to establish a valid configuration. A configurable element writes data into the configuration memory. The controller of the switching table recognizes individual records as commands and may execute the recognized commands. The controller may also recognize and differentiate between events and execute a action in response thereto. In response to an event, the controller may move the position of a pointer, and if it has received configuration data rather than commands for the controller, sends the configuration data to the configurable element defined in the configuration data. The controller may send a feedback message to the configurable element.
    Type: Grant
    Filed: July 10, 2000
    Date of Patent: November 5, 2002
    Assignee: PACT GmbH
    Inventors: Martin Vorbach, Robert Münch
  • Patent number: 6470440
    Abstract: An apparatus for compare and maximum/minimum and a method therefor are implemented. Selection circuitry selects a data value signal for outputting between an a pair of vector operands and “true” and “false” comparison value signals for the corresponding operand data type. Each input operand may include a plurality of subvector operands of a preselected data type, each data type has having a corresponding length. The selection circuitry selects the data value signal in response to a plurality of second signals. The second signals are generated from carry-out signals from the subvector operands, and first signals that are generated using instruction information for the executing instruction. The second signals may be generated by logically combining the first signals with carry propagate, carry generate and carry-out signals from carry lookahead logic receiving the subvector operands as input.
    Type: Grant
    Filed: May 20, 1999
    Date of Patent: October 22, 2002
    Assignee: International Business Machines Corporation
    Inventors: Huy Van Nguyen, Charles Philip Roth
  • Patent number: 6453424
    Abstract: An apparatus and method of controlling instruction execution in the apparatus with a precise temporal execution arrangement. 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 a reference clock counter that maintains the wait count, an instruction parser that strips the wait type and count from instructions and passes the stripped information to a comparator. The comparator compares the stripped information against the wait count. The wait types include: a relative timestamp type indicating execution at some time subsequent to the present cycle; a direct timestamp type indicating an absolute time for execution; and a timestamp range indicating a time period when execution is valid.
    Type: Grant
    Filed: March 31, 1999
    Date of Patent: September 17, 2002
    Assignee: International Business Machines Corporation
    Inventor: James P. Janniello
  • Patent number: 6449711
    Abstract: Methods, systems, and articles of manufacture consistent with the present invention provide a development tool that enables computer programmers to design and develop a data flow program for execution in a multiprocessor computer system. The tool displays an interface that enables the programmer to define a region divided into multiple blocks, wherein each block is formed of a set of values associated with a function, and to define sets of the blocks, each block in a set having a state reflected by a designated portion of the program that when executed transforms the values forming the block based on the function. The interface also records any dependencies among the blocks, each dependency indicating a relationship between two blocks and requiring the portion of the program associated with a first block of the relationship to be executed before the portion of the program associated with a second block of the relationship.
    Type: Grant
    Filed: February 4, 1999
    Date of Patent: September 10, 2002
    Assignee: Sun Microsystems, Inc.
    Inventor: Jeremy Week
  • Patent number: 6446106
    Abstract: A method and apparatus for performing a divide operation in a computer are described. The apparatus includes a first memory containing estimated reciprocal terms, and a second memory containing reciprocal error terms. An adder adds a selected estimated reciprocal term from the first memory and a selected reciprocal error term from the second memory to provide the reciprocal. The selected estimated reciprocal term and the selected reciprocal error term correspond to at least a portion of a divisor. The apparatus includes a multiplier for multiplying a dividend by the reciprocal to generate a quotient. The method includes the step of looking up an estimated reciprocal term in a first lookup table stored in a first computer memory wherein the estimated reciprocal term corresponds to at least a portion of a given divisor. A reciprocal error term is looked up in a second lookup table stored in a second computer memory, the error term corresponds to at least a portion of the divisor.
    Type: Grant
    Filed: May 29, 2001
    Date of Patent: September 3, 2002
    Assignee: Micron Technology, Inc.
    Inventor: James R. Peterson
  • Publication number: 20020116602
    Abstract: Partial bitwise permutation instructions are provided in a microprocessor or microcontroller. Partial bitwise permutations may be specified by one or more of the following: a destination specifier, a previous partial value source, a destination subset specifier, and a control specifier.
    Type: Application
    Filed: February 21, 2001
    Publication date: August 22, 2002
    Inventors: Kevin D. Kissell, Hartvig W.J. Ekner, Morten Stribaek, Jakob Schou Jensen
  • Publication number: 20020112147
    Abstract: An apparatus and method for performing a shuffle operation on packed data is described. In one embodiment, a 128-bit packed data operand having at eight data elements is accessed. In one embodiment, one of the data elements in the upper half of the data operand is shuffled into the upper half of a destination register. In another embodiment, one of the data elements in the lower half of the data operand is shuffled into the lower half of a destination register.
    Type: Application
    Filed: February 14, 2001
    Publication date: August 15, 2002
    Inventors: Srinivas Chennupaty, Carlos A. Fuentes, Shreekant S. Thakkar
  • Publication number: 20020108027
    Abstract: An aspect of the present invention provides a method of processing unaligned data in a microprocessor including, storing a first part of the unaligned data in a first register, storing a second part of the unaligned data in a second register, calculating a shift amount applied to the unaligned data, concatenating the data stored in the first and second registers, shifting the concatenated data by the calculated shift amount, and storing the shifted result in one of the first and second registers.
    Type: Application
    Filed: February 4, 2002
    Publication date: August 8, 2002
    Applicant: KABUSHIKI KAISHA TOSHIBA
    Inventor: Takashi Miyamori
  • Patent number: 6430684
    Abstract: A method of operating a processor (30). The method comprises a first step of fetching an instruction (20). The instruction includes an instruction opcode, a first data operand bit group corresponding to a first data operand (D1′), and a second data operand bit group corresponding to a second data operand (D2′). At least one of the first data operand and the second data operand consists of an integer number N bits (e.g., N=32). The instruction also comprises at least one immediate bit manipulation operand consisting of an integer number M bits, wherein 2M is less than the integer number N. The method further includes a second step of executing the instruction, comprising the step of manipulating a number of bits of one of the first data operand and the second data operand. Finally, the number of manipulated bits is in response to the at least one immediate bit manipulation operand, and the manipulating step is further in response to the instruction opcode.
    Type: Grant
    Filed: October 29, 1999
    Date of Patent: August 6, 2002
    Assignee: Texas Instruments Incorporated
    Inventor: Patrick W. Bosshart
  • Patent number: 6430681
    Abstract: In a digital signal processor having an improved arithmetic processing efficiency, there is provided in parallel a first ROM for storing branch commands and a second ROM for storing arithmetic commands. The ROMs are connected to a branch command decoder and an arithmetic command decoder, respectively. Operations of a first memory control circuit and a second memory control circuit are controlled in response to instructions from the branch command decoder, while operations of an arithmetic circuit are controlled in response to instructions from the arithmetic command decoder. By processing the branch commands and the arithmetic commands in parallel, the operation efficiency of the arithmetic circuit is enhanced.
    Type: Grant
    Filed: June 18, 1999
    Date of Patent: August 6, 2002
    Assignee: Sanyo Electric Co., Ltd.
    Inventor: Fumiaki Nagao
  • Patent number: 6425070
    Abstract: The present invention is a novel and improved method and circuit for digital signal processing. One aspect of the invention calls for the use of a variable length instruction set. A portion of the variable length instructions may be stored in adjacent locations within memory space with the beginning and ending of instructions occurring across memory word boundaries. Furthermore, additional aspects of the invention are realized by having instructions contain variable numbers of instruction fragments. Each instruction fragment causes a particular operation, or operations, to be performed allowing multiple operations during each clock cycle. Thus, multiple operations are performed during each clock cycle, reducing the total number of clock cycles necessary to perform a task. The exemplary DSP includes a set of three data buses over which data may be exchanged with a register bank and three data memories.
    Type: Grant
    Filed: March 18, 1998
    Date of Patent: July 23, 2002
    Assignee: Qualcomm, Inc.
    Inventors: Qiuzhen Zou, Gilbert C. Sih, Inyup Kang, Quaeed Motiwala, Deepu John, Li Zhang, Haitao Zhang, Way-Shing Lee
  • Patent number: 6418399
    Abstract: At least two algorithms are assigned to at least one defined algorithm. Each of these two algorithms has a different probability of being the next algorithm to be executed during and/or after execution of the defined algorithm. Of the two assigned algorithms, the one which is in fact executed next is the one with the greater probability of execution.
    Type: Grant
    Filed: March 30, 2001
    Date of Patent: July 9, 2002
    Assignee: Infineon Technologies AG
    Inventors: Klaus Buchenrieder, Rainer Kress
  • Patent number: 6401108
    Abstract: Floating-point compare apparatus and methods are implemented. An adder generates a difference in moduli of first and second input operands. A sign bit of the second input operand provides a carry-in bit to an adder. In a first embodiment, the first and second input operands correspond to first and second source operands of the executing floating-point compare instruction. Comparison logic generates the compare result in response to a sign bit of the difference, sign bits of the first and second input operands, and a signal that is asserted if the operands are equal, and if the floating-point compare instruction being executed is A≧B, and negated otherwise. In a second embodiment, the first and second input operands are derived from the first and second source operands via switching logic that interchanges the operands in response to predecoded instruction information.
    Type: Grant
    Filed: March 31, 1999
    Date of Patent: June 4, 2002
    Assignee: International Business Machines Corp.
    Inventor: Huy Van Nguyen
  • Patent number: 6385714
    Abstract: A data processing apparatus uses a stored-program method to execute an operation instructed by an instruction word that includes a register designation code as an operand. A plurality of work registers are identifiable by register numbers, each of a typical number of bits. A correspondence table holds at least one of the register numbers in a state corresponding to register designation codes. The codes are stored in a readable condition, and have fewer bits than the register numbers. The data processing apparatus refers to the correspondence table when executing the operation.
    Type: Grant
    Filed: September 16, 1998
    Date of Patent: May 7, 2002
    Assignee: Sanyo Electric Co., Ltd.
    Inventors: Yasuhito Koumura, Hiroki Miura, Kenshi Matsumoto
  • Patent number: 6381690
    Abstract: An apparatus for operating on the contents of an input register to generate the contents of an output register which contains a permutation, with or without repetitions, or a combination of the contents of the input register. The apparatus partitions the input register into a plurality of sub-words, each sub-word being characterized by a location in the input register and a length greater than one bit. In response to an instruction specifying a rearrangement of the input register, the present invention directs at least one of the sub-words in the input register to a location in the output register that differs from the location occupied by the sub-word in the input register. The ordering of the sub-words in the output register differ from the order obtainable by a single shift instruction. In the preferred embodiment of the present invention, the invention is implemented by modifying a conventional shifter comprising a plurality of layers of multiplexers.
    Type: Grant
    Filed: August 1, 1995
    Date of Patent: April 30, 2002
    Assignee: Hewlett-Packard Company
    Inventor: Ruby B. Lee
  • Patent number: 6378064
    Abstract: A computer system comprising a microprocessor on a single integrated circuit chip having an on-chip CPU which includes: a data processing unit for executing instructions; a data link connected between a memory and the data processing unit for passing instructions to the data processing unit; a watch register for storing an instruction comparison code; and a watch comparator coupled to the data link for comparing the instructions passed on the data link with the instruction comparison code and generating a comparison output signal in dependence on the result of the comparison.
    Type: Grant
    Filed: March 12, 1999
    Date of Patent: April 23, 2002
    Assignee: STMicroelectronics Limited
    Inventors: David Alan Edwards, Glenn Ashley Farrall
  • Publication number: 20020046334
    Abstract: When an atomic instruction executed by a computer processor locks a memory location, the locking is performed before the processor has determined whether the instruction is to be executed to completion or canceled. The memory location is unlocked whether or not the instruction will be canceled. Since the locking operation can occur before it is known whether the instruction will be canceled, the reading of the memory location can also occur early, before it is known whether the instruction will be canceled.
    Type: Application
    Filed: August 28, 2001
    Publication date: April 18, 2002
    Inventors: Jeffrey Meng Wah Chan, Marc Tremblay
  • Publication number: 20020040427
    Abstract: A data processing system is provided with an instruction (PKH) that combines a packing operation of respective portions of input operand data words (Rn, Rm) into an output data word (Rd) together with the ability to select one of the portions to be combined from a variable position (k) within its respective input operand data word in a manner that allows additional processing to be carried out together with the packing operation. The instruction conveniently combines either the top or bottom half of one of the input operand data words with a half data word portion selected from a variable position within the other input operand data word.
    Type: Application
    Filed: September 24, 2001
    Publication date: April 4, 2002
    Inventor: Dominic Hugo Symes
  • Publication number: 20020035678
    Abstract: According to the invention, a processing core that includes a first source register, a second source register, a multiplexer, a destination register, and an operand processor is disclosed. The first source register includes a plurality of source fields. The second source register includes a number of result field select values and a number of operation fields. The multiplexer is coupled to at least one of the source fields. Included in the destination register is a plurality of result fields. The operand processor and multiplexer operate upon at least one of the source fields.
    Type: Application
    Filed: March 8, 2001
    Publication date: March 21, 2002
    Inventors: Daniel S. Rice, Ashley Saulsbury
  • Publication number: 20020013796
    Abstract: A method of processing two data words to provide a new data word in a processor, as well as a processor to perform such a method, comprising an arithmetic logic unit, a plurality of registers and access to memory characterised in that the method comprises, not necessarily in this order, the steps of using the ALU to perform an operation on the data words to form another data word and performing a switching operation on one of the data words. Both of the above steps are completed by executing a single instruction. The instruction may be completed in one clock cycle thereby improving the performance of the processor. Such switching operations may be performed by using either hard wiring techniques or logic gate circuitry.
    Type: Application
    Filed: July 9, 2001
    Publication date: January 31, 2002
    Inventors: Michael Byrne, Thomas Moore
  • Patent number: 6341346
    Abstract: A method is disclosed for comparing a pattern sequence with a variable length key. A first bit of this sequence is identified by a pointer, the length and the location of the key are identified by a code word (W, S), the method includes a preliminary step of identifying the sequence and then performing a comparison with the variable length key.
    Type: Grant
    Filed: February 5, 1999
    Date of Patent: January 22, 2002
    Assignee: Cisco Technology, Inc.
    Inventors: Alain Benayoun, Jean-Francois Le Pennec, Patrick Michel, Claude Pin
  • Patent number: 6334183
    Abstract: The present invention includes a partial register write handler. The write handler receives either two or three operands. An execution unit operates on portions of two operands, rather than on full operands. The result of the execution unit has fewer bits than an “additional” operand, which may be any of the two or three operands received by the write handler. An output multiplexer receives all of the bits of an execution unit result and selected bits of the additional operand, and produces an output that has as many bits as the additional operand. If the output of the multiplexer is a string of bits, the string of bits contains the execution unit result as a substring of bits. The remaining bits of the output of the multiplexer are selected from the additional operand.
    Type: Grant
    Filed: November 18, 1998
    Date of Patent: December 25, 2001
    Assignee: Intrinsity, Inc.
    Inventors: James S. Blomgren, Anthony M. Petro
  • Publication number: 20010054140
    Abstract: An execution unit is provided for executing a first instruction which includes an opcode field, a first operand field, and a second operand field. The execution unit includes a first input register for receiving a first operand specified by a value of the first operand field, and a second input register for receiving a second operand specified by a value of the second operand field. The execution unit further includes a comparator unit which is coupled to receive a value of the opcode field for the first instruction. The comparator unit is also coupled to receive the first and second operand values from the first and second input registers, respectively. The execution further includes a multiplexer which receives a plurality of inputs. These inputs include a first constant value, a second constant value, and the values of the first and second operand.
    Type: Application
    Filed: January 5, 2000
    Publication date: December 20, 2001
    Inventors: STUART OBERMAN, NORBERT JUFFA
  • Patent number: 6329999
    Abstract: An encoder capable of making a processing time shorter, wherein the position of a first “1” bit seen from the MSB of digital data is output as a first bit encoded data and the second “1” bit is output as the second bit encoded data. A predetermined calculation is performed in parallel on the upper 8 bits of the digital data in the valid detector, the priority encoder, and the first valid bit mask unit, while a predetermined calculation is performed in parallel on the lower 8 bits in another priority encoder and another first valid bit mask unit.
    Type: Grant
    Filed: April 1, 1999
    Date of Patent: December 11, 2001
    Assignee: Sony Corporation
    Inventors: Tatsumi Mitsushita, Katsuya Kita
  • Patent number: 6324641
    Abstract: To simplify the process relative to an instruction array including an instruction for a process with flag handling executed by a compiler when converting a high-level program into in a format executable by a program executing apparatus, a number of operating circuits, namely, an ALU circuit and a AND operation circuit, are provided to operate in parallel to handle different flags in a flag group based on the results of respective operations. A value comparison instruction and a bit test instruction are converted into common operation process instructions, and branch instructions, dependent on the result of the execution of the operation process instructions, are prepared so as to detect different flag patterns. The common use of an operation instruction for a number of flag-handling instructions simplifies a compiler judgement.
    Type: Grant
    Filed: September 18, 1998
    Date of Patent: November 27, 2001
    Assignee: Sanyo Electric Co., Ltd.
    Inventors: Kenshi Matsumoto, Yasuhito Koumura, Hiroki Miura
  • Patent number: 6317825
    Abstract: 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: Grant
    Filed: May 3, 2000
    Date of Patent: November 13, 2001
    Assignee: Inside Technologies
    Inventor: Sean Commercial