Logic Operation Instruction Processing Patents (Class 712/223)
  • Patent number: 7028107
    Abstract: A system for communication between a plurality of functional elements in a cell arrangement and a higher-level unit is described. The system may include, for example, a configuration memory arranged between the functional elements and the higher-level unit; and a control unit configured to move at least one position pointer to a configuration memory location in response to at least one event reported by a functional element. At run time, a configuration word in the configuration memory pointed to by at least one of the position pointers is transferred to the functional element in order to perform reconfiguration without the configuration word being managed by a central logic.
    Type: Grant
    Filed: October 7, 2002
    Date of Patent: April 11, 2006
    Assignee: Pact XPP Technologies AG
    Inventors: Martin Vorbach, Robert Münch
  • Patent number: 7028170
    Abstract: According to the invention, a processing core that executes a compare instruction is disclosed. The processing core includes a register file, comparison logic, decode logic, and a store path. Included in the register file are a number of general-purpose registers. The general-purpose registers include a first input operand register, a second input operand register and an output operand register. Comparison logic is coupled to the register file. The comparison logic tests for at least two of the following relationships: less than, equal to, greater than and no valid relationship. The decode logic selects the output operand register from the plurality of general-purpose registers. The store path extends between the comparison logic and the selected output operand register.
    Type: Grant
    Filed: March 8, 2001
    Date of Patent: April 11, 2006
    Assignee: Sun Microsystems, Inc.
    Inventor: Ashley Saulsbury
  • Patent number: 7003653
    Abstract: A method for rapidly mapping a bitmask returned by a Single Instruction Multiple Data (SIMD) computer compare instruction is provided. A user supplied partitioned mapping variable includes multiple mapping elements. Each of the multiple mapping elements is applied to the inputs of a different one of multiple digital multiplexers. The bitmask returned by the SIMD compare instruction is applied to the selects or all of the multiple digital multiplexers. Each multiplexer outputs one bit, as selected by the bitmask, from the respective mapping element applied to each multiplexer. The one bit outputs are accumulated in a mapped output variable as a mapped bitmask.
    Type: Grant
    Filed: October 21, 2002
    Date of Patent: February 21, 2006
    Assignee: Sun Microsystems, Inc.
    Inventor: Lawrence Spracklen
  • Patent number: 6999454
    Abstract: An information routing system and apparatus includes separate control and forwarding planes. The control plane is split into box management control functions and routing control functions. The box management control functions are isolated to a single processing card, while the routing control functions are distributed across multiple processing cards. The routing table is also distributed across multiple processing cards. The multiple processing cards are interconnected via a high-speed backplane bus for control plane traffic and by a fabric for forwarding plane traffic.
    Type: Grant
    Filed: January 17, 2002
    Date of Patent: February 14, 2006
    Assignee: Nortel Networks Limited
    Inventor: Richard H. Crump
  • Patent number: 6986023
    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: Grant
    Filed: August 9, 2002
    Date of Patent: January 10, 2006
    Assignee: Intel Corporation
    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
  • Patent number: 6978359
    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: Grant
    Filed: February 4, 2002
    Date of Patent: December 20, 2005
    Assignee: Kabushiki Kaisha Toshiba
    Inventor: Takashi Miyamori
  • Patent number: 6976155
    Abstract: A method and apparatus for synchronizing and communicating between processing entities, such as cores or threads, in a multiprocessor. Two registers are used as a “hardware mailbox” by two processing entities of a microprocessor. A first register is used to communicate information from a first processing entity to a second processing entity, while a second register is used to communication information from the second processing entity to the first processing entity. The first and second registers are cross-decoded by the two processing entities. One or more bits in each register are used to synchronize operation of the processing entities. In a microprocessor including three or more such processing entities, a read-write register of each processing entity holds outgoing information and a read-only register of each processing entity holds incoming information. A separate logic circuit logically combines the contents of the read-write registers and stores the result in the read-only registers.
    Type: Grant
    Filed: June 12, 2001
    Date of Patent: December 13, 2005
    Assignee: Intel Corporation
    Inventors: Tracy Garrett Drysdale, Scott P Bobholz
  • Patent number: 6973551
    Abstract: A method and system for enabling a director to perform an atomic read-modify-write operation on plural bit read data stored in a selected one of a plurality of memory locations. The method includes providing a plurality of successive full adders, each one of the full adders being associated with a corresponding one of the bits of the plural bit read data. Each one of the full adders has a summation output, a carry bit input and a carry bit output. The method includes adding in each one of the full adders: (a) a corresponding bit of plural bit input data provided by the director; (b) the corresponding one of the bits of the plural bit read data; and, (c) a carry bit fed the carry bit input from a preceding full adder. Each one of the full adders provides: (a) a carry bit on the carry output thereof representative of the most significant bit produced by the full adder; and, (b) a bit on the summation output representative of a least significant bit produced by the full adder.
    Type: Grant
    Filed: December 30, 2002
    Date of Patent: December 6, 2005
    Assignee: EMC Corporation
    Inventor: John K. Walton
  • Patent number: 6965960
    Abstract: A logical pipeline or logical hybrid pipeline is used for an xDSL communication system, and particularly for processing DMT symbols. This flexible arrangement permits easy and efficient sequencing of DMT symbols for transmit/receive tasks, and for multiple ports, since the pipeline resources can be shared or allocated as needed to support a particular data transmission. Each stage in the pipelines works on input data objects, and creates output data objects in the same format for use by other stages. The data objects are based on DMT symbols, so this facilitates intelligent control and sequencing of a DMT data transmission. The combination of the pipeline and the tailored data objects permits an implementation of a customized xDSL symbol processor.
    Type: Grant
    Filed: March 1, 2001
    Date of Patent: November 15, 2005
    Assignee: RealTek Semiconductor Corporation
    Inventor: Ming-Kang Liu
  • Patent number: 6961846
    Abstract: The present invention relates to a data processing unit for executing instructions stored in a memory comprising a plurality of registers coupled with an execution unit comprising a logic unit for execution of logic operations. The logic unit comprises a first logic operator which can be coupled with a first and second register as an input register and which generates an output bit as a result of a logic operation. It further comprises a Boolean operator which receives the output bit of the first logic operator as a first input and second input bit from a third register which generates an output bit as a result of a Boolean operation.
    Type: Grant
    Filed: September 12, 1997
    Date of Patent: November 1, 2005
    Assignee: Infineon Technologies North America Corp.
    Inventors: Rod G. Fleck, Karl-Heinz Mattheis
  • Patent number: 6934828
    Abstract: A technique is described to reduce the complexity of floating point linear address (FLA) maintenance in a superscalar processor by coupling FLA updates when floating point data is stored instead of when floating point addresses are stored.
    Type: Grant
    Filed: September 17, 2002
    Date of Patent: August 23, 2005
    Assignee: Intel Corporation
    Inventors: Rajesh S. Parthasarathy, Aravindh Bakthavathsalu
  • Patent number: 6931517
    Abstract: A microprocessor apparatus is provided for performing a pop-compare operation. The microprocessor apparatus includes paired operation translation logic, load logic, and execution logic. The paired operation translation logic receives a macro instruction that prescribes the pop-compare operation, and generates a pop-compare micro instruction. The pop-compare micro instruction directs pipeline stages in a microprocessor to perform the pop-compare operation. The load logic is coupled to the paired operation translation logic. The load logic receives the pop-compare micro instruction, and retrieves a first operand from an address in memory, where the address is specified by contents of a register. The register is prescribed by the pop-compare micro instruction. The execution logic is coupled to the load logic. The execution logic receives the first operand, and compares the first operand to a second operand.
    Type: Grant
    Filed: October 22, 2002
    Date of Patent: August 16, 2005
    Assignee: IP-First, LLC
    Inventors: Gerard M. Col, G. Glenn Henry, Terry Parks
  • Patent number: 6918028
    Abstract: A digital data processor having a main pipeline to which a side pipe is loosely coupled. In particular, the side pipe is coupled to the main pipeline at a point after which an instruction entering the side pipe cannot cause an exception. When such an instruction enters the first stage of the side pipe, a copy or “ghost” of this instruction is created. While the actual instruction flows down the side pipe, this ghost instruction is allowed to flow independently down the main pipeline as if it were a non-squashable no-op. When the ghost reaches the retirement stage of the main pipeline, it is retired in normal program order, regardless of the status of the actual instruction. However, in addition, each system resource that is still waiting for a result from the actual instruction is marked appropriately. When the actual instruction finally completes in the side pipe, the only consequence, other than those local to the side pipe itself, is that any results are forwarded to the awaiting resources.
    Type: Grant
    Filed: March 28, 2000
    Date of Patent: July 12, 2005
    Assignee: Analog Devices, Inc.
    Inventor: David B. Witt
  • Patent number: 6918029
    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: January 14, 2003
    Date of Patent: July 12, 2005
    Assignee: Broadcom Corporation
    Inventor: Sophie Wilson
  • Patent number: 6901420
    Abstract: A method and apparatus for performing a shift operation on a packed data element having multiple values. The apparatus having multiple muxes, each of the multiple muxes having a first input, a second input, a select input and an output. Each of the multiple bits that represent a shifted packed intermediate result on a first bus is coupled to the corresponding first input. Each of the multiple bits representing a replacement bit for one of the multiple values is coupled to a corresponding second input. Each of the multiple bits driven by a correction circuit is coupled to a corresponding select input. Each output corresponds to a bit of a shifted packed result.
    Type: Grant
    Filed: July 18, 2003
    Date of Patent: May 31, 2005
    Assignee: Intel Corporation
    Inventors: Derrick Chu Lin, Punit Minocha, Alexander D. Peleg, Yaakov Yaari, Millind Mittal, Larry M. Mennemeier, Benny Eitan
  • Patent number: 6901503
    Abstract: An integrated circuit contains a microprocessor core, program memory and separate data storage, together with analog and digital signal processing circuitry. The ALU is 16 bits wide, but a 32-bit shift unit is provided, using a pair of 16-bit registers. The processor has a fixed length instruction format, with an instruction set including multiply and divide operations which use the shift unit over several cycles. No interrupts are provided. external pins of the integrated circuit allow for single stepping and other debug operations, and a serial interface (SIF) which allows external communication of test dat or working data as necessary. The serial interface has four wires (SERIN, SEROUT, SERCLK, SERLOADB), allowing handshaking with a master apparatus, and allowing direct access to the memory space of the processor core, without specific program control.
    Type: Grant
    Filed: October 29, 2001
    Date of Patent: May 31, 2005
    Assignee: Cambridge Consultants Ltd.
    Inventors: Stephen John Barlow, Alistair Guy Morfey, James Digby Collier
  • Patent number: 6898698
    Abstract: A register number of a link register, which is specified by an instruction equivalent to a subroutine call, is registered. The number of a branch destination register in a branch instruction which can possibly be an instruction equivalent to a subroutine return is compared with the registered register number. If they match, this branch instruction is identified as an instruction equivalent to a subroutine return.
    Type: Grant
    Filed: March 22, 2000
    Date of Patent: May 24, 2005
    Assignee: Fujitsu Limited
    Inventors: Ryuichi Sunayama, Masaki Ukai, Aiichiro Inoue
  • Patent number: 6892295
    Abstract: According to the invention, a method for processing data related to an array of elements is disclosed. In one embodiment, a method for processing data related to an array of elements is disclosed. In the process, a first value is loaded from a first location, and a second value is loaded from a second location. The first and second values are compared to each other. A predetermined value is optionally stored at a destination based upon the outcome of the comparison.
    Type: Grant
    Filed: March 8, 2001
    Date of Patent: May 10, 2005
    Assignee: Sun Microsystems, Inc.
    Inventor: Ashley Saulsbury
  • Patent number: 6842728
    Abstract: An apparatus and method utilize a buffer interposed in a common signal path between asynchronous clock domains in a hardware-based logic emulation environment to manage the communication of time-multiplexed data signals between the clock domains during hardware-based emulation. The buffer is effectively used to latch each data signal communicated across the common signal path so that the clock domain that receives the signals can retrieve each such signal at appropriate points in the receiver clock domain's evaluation cycle. Independently-controlled write/read pointers are maintained in a buffer control circuit to independently address the buffer for the transmitter and receiver sides of an asynchronous communication path.
    Type: Grant
    Filed: March 12, 2001
    Date of Patent: January 11, 2005
    Assignee: International Business Machines Corporation
    Inventors: Thomas Michael Gooding, Roy Glenn Musselman, Robert N Newshutz, Jeffrey Joseph Ruedinger
  • Patent number: 6842852
    Abstract: An execution control instruction is applied to an information processor of the type processing instructions by pipelining to suppress the occurrence of branch hazard. The execution control instruction contains: a condition field for specifying an execution condition; and an instruction-specifying field for defining, in binary code, the number of instructions to be executed only conditionally. In response to the execution control instruction, a nullification controller decides, based on control flags provided from an arithmetic logic unit, whether or not the execution condition specified by the condition field is satisfied. And based on the outcome of this decision, the controller determines whether or not that number of instructions, which has been defined by the instruction-specifying field for instructions succeeding the execution control instruction, should be nullified.
    Type: Grant
    Filed: February 8, 2000
    Date of Patent: January 11, 2005
    Assignee: Matsushita Electric Industrial Co., Ltd.
    Inventors: Masayuki Yamasaki, Minoru Okamoto
  • Patent number: 6834337
    Abstract: A system and method for data processing includes packing multiple signed data elements per register into a processor's registers using the rules set forth herein, and simultaneously operating on the elements in a register in a single cycle using the same operand. The elements can be independent of each other, and the sizes of the elements in a register can differ from each other. Moreover, a relatively large element can be split across multiple registers. In an exemplary application, a data stream representing two images can be simultaneously processed using the same number of registers as have been required to process a single image. Or, a single image can be processed approaching N-times faster, where N is the number of elements per register. In any case, the present invention results in a significant increase in processing efficiency.
    Type: Grant
    Filed: September 29, 2000
    Date of Patent: December 21, 2004
    Assignee: International Business Machines Corporation
    Inventors: Joan Laverne Mitchell, Michael Thomas Brady, Jennifer Q. Trelewicz
  • Patent number: 6829696
    Abstract: A data processing system (e.g., microprocessor 30) for packing register data while storing it to memory and unpacking data read from memory while loading it into registers using single processor instructions. The system comprises a memory (42) and a central processing unit core (44) with at least one register file (76). The core is responsive to a load instruction (e.g., LDW_BH[U] instruction 184) to retrieve at least one data word from memory and parse the data word over selected parts of at least two data registers in the register file. The core is responsive to a store instruction (e.g., STBH_W instruction 198) to concatenate data from selected parts of at least two data registers into at least one data word and save the data word to memory. The number of data registers is greater than the number of data words parsed into or concatenated from the data registers. Both memory storage space and central processor unit resources are utilized efficiently when working with packed data.
    Type: Grant
    Filed: October 13, 2000
    Date of Patent: December 7, 2004
    Assignee: Texas Instruments Incorporated
    Inventors: Keith Balmer, Karl M. Guttag, Lewis Nardini
  • Publication number: 20040230775
    Abstract: Several new computer instructions are shown which are used to improve the performance of C or C++ language string functions. The instruction simultaneously compare multiple byte in two registers with each other and with all zeros and indicates the results of the comparison in the condition code and in a register which indicates the leftmost byte that compared or miscompared. The instructions may be exposed at the computer system's instruction set level, or it may be used internally by microcode running on the computer.
    Type: Application
    Filed: May 12, 2003
    Publication date: November 18, 2004
    Applicant: International Business Machines Corporation
    Inventors: Timothy J. Slegel, Fadi Y. Busaba, Christopher A. Krygowski
  • Patent number: 6816961
    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: Grant
    Filed: March 8, 2001
    Date of Patent: November 9, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Daniel S. Rice, Ashley Saulsbury
  • Patent number: 6791705
    Abstract: This invention has as its object to achieve high-speed data transfer using an asynchronous transfer interface. An encoding program encodes source data not to include byte data of a predetermined value. An arithmetic operation program EX-ORs the predetermined value, encoded data of interest, and immediately preceding output data so that neighboring data do not have identical values in units of bytes, and outputs the result as output data. A communication program sends the output data to a printer (7). In the printer (7), a clock is generated based on a change in received data, and received data is latched and decoded in synchronism with the clock.
    Type: Grant
    Filed: February 9, 2000
    Date of Patent: September 14, 2004
    Assignee: Canon Kabushiki Kaisha
    Inventor: Yoichi Sakamoto
  • Publication number: 20040177235
    Abstract: A set of processors, co-processors and processor cores having a Boolean logic unit, wherein the Boolean logic unit is operable, respectively, for performing the short-circuit evaluation of Conjunctive Normal Form Boolean expressions/operations, Disjunctive Normal Form Boolean expression/operations, or both. Each processor or processor core also includes a plurality of input/output interfaces, 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 comprising a conjunct or related to a Disjunctive Normal Form Boolean expression comprising a disjunct, evaluating the conjunct or disjunct, and selectively short-circuiting a portion of the Boolean expression.
    Type: Application
    Filed: March 17, 2004
    Publication date: September 9, 2004
    Applicant: University of North Carolina at Charlotte
    Inventor: Kenneth E. Koch
  • Publication number: 20040172520
    Abstract: A method of constructing a Boolean expression in a clinical setting, including identifying at least a first and a second data assertion to add to the Boolean expression, adding at least one Boolean logical operator to the Boolean expression, determining an order of evaluation for the first and second data assertions, and visually depicting the first and second data assertions and the Boolean logical operator in a hierarchal display.
    Type: Application
    Filed: September 19, 2003
    Publication date: September 2, 2004
    Inventors: Michael Smit, Khiang Seow
  • Publication number: 20040158693
    Abstract: In one embodiment, an optimized interleaving instruction is provided. The interleaving instruction facilitates a bit-level interleaving of two streams of data stored in two source registers into a combined stream of data.
    Type: Application
    Filed: February 4, 2004
    Publication date: August 12, 2004
    Inventors: Amit Dagan, Israel Hirsh, Ofir Avni
  • Publication number: 20040153633
    Abstract: A CPU executes program instructions which result in valid and invalid intermediate results. By selecting the desired intermediate results, a program is able to be successfully executed. Analysis of the intermediate results must avoid plausible wrong results. A programmable feature allows the instruction decoder to provide plural answers, including plausible wrong answers. Instruction output selection logic selects a predetermined buffer, and this permits further microprocessor operation with the correct intermediate result.
    Type: Application
    Filed: October 16, 2003
    Publication date: August 5, 2004
    Applicant: Sun Microsystems, Inc.
    Inventor: Alan C. Folmsbee
  • Patent number: 6763406
    Abstract: A method of communicating a data word via a bus includes driving the data word onto the bus in whichever one of a true polarity form and a complement polarity form that requires fewer bus lines to change state relative to a present state of each bus line, and providing an indicator signal to the bus to indicate which polarity form of the data word is driven onto the bus. The data word and the indicator signal may be received from the bus, and the polarity form of the data word is conditionally inverted in response to the indicator signal. A noise reduction system includes, for one embodiment, a sending circuit which compares each bit of a data word to be next communicated onto the bus against a corresponding bit of the present data word on the bus. If more than half the bits differ, then the next data word is inverted to form a complement next data word.
    Type: Grant
    Filed: February 1, 2001
    Date of Patent: July 13, 2004
    Assignee: Integrated Device Technology, Inc.
    Inventors: William L. Devanney, Robert J. Proebsting
  • Patent number: 6757819
    Abstract: A data processing system is provided with a digital signal processor which has an instruction for shifting a source operand in response to a signed shift count value and storing the shifted result in a selected destination register. A first 32-bit operand (600) is treated as a signed shift value that has a sign and a shift count value. A second operand (602) is shifted by an amount according to the shift count value and in a direction according to the sign of the shift count. One instruction is provided that performs a right shift for a positive shift count and a left shift for a negative shift count, and another instruction is provided performs a left shift for a positive shift count and a right shift for a negative shift count. If the shift count value is greater than 31, then the shift is limited to 31.
    Type: Grant
    Filed: October 31, 2000
    Date of Patent: June 29, 2004
    Assignee: Texas Instruments Incorporated
    Inventors: David Hoyle, Richard H. Scales, Min Wang, Joseph R. Zbiciak
  • Patent number: 6757813
    Abstract: In a processor executing plural instructions simultaneously, writin-destination-register numbers of the plural instructions to be executed simultaneously are compared, and kinds of operations to be executed by the plural instructions are changed in response to a comparison result. When the writing-destination-register numbers of the plural instructions are identical, a constant operation is applied to plural operation results obtained from the plural instructions to obtain an operation result and the operation result is written into the writing-destination-register instructed by the plural instructions. Results outputted from plural processing units are put together into one result and the result is stored in one register. Thus, register use efficiency and process efficiency are improved.
    Type: Grant
    Filed: June 23, 2000
    Date of Patent: June 29, 2004
    Assignee: NEC Corporation
    Inventor: Hiroyuki Igura
  • Patent number: 6757820
    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: Grant
    Filed: January 31, 2003
    Date of Patent: June 29, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Subramania Sudharsanan, Jeffrey Meng Wah Chan, Marc Tremblay
  • Patent number: 6748518
    Abstract: Disclosed is a processor, which reduces issuing of unnecessary barrier operations during instruction processing. The processor comprises an instruction sequencing unit and a load store unit (LSU) that issues a group of memory access requests that precede a barrier instruction in an instruction sequence. The processor also includes a controller, which in response to a determination that all of the memory access requests hit in a cache affiliated with the processor, withholds issuing on an interconnect a barrier operation associated with the barrier instruction. The controller further directs the load store unit to ignore the barrier instruction and complete processing of a next group of memory access requests following the barrier instruction in the instruction sequence without receiving an acknowledgment.
    Type: Grant
    Filed: June 6, 2000
    Date of Patent: June 8, 2004
    Assignee: International Business Machines Corporation
    Inventors: Guy Lynn Guthrie, Ravi Kumar Arimilli, John Steven Dodson, Derek Edward Williams
  • Patent number: 6748521
    Abstract: A data processing system is provided with a digital signal processor which has an instruction for saturating multiple fields of a selected set of source operands and storing the separate saturated results in a selected destination register. A first 32-bit operand (600) and a second 32-bit operand (602) are treated as four 16-bit fields and the sixteen bits in each field are saturated separately. Multi-field saturation circuitry is operable to treat a source operand as a number of fields, such that a multi-field saturated (610) result is produced that includes a number of saturated results each corresponding to each field. One instruction is provided which treats an operand pair as having two packed fields, and another instruction is provided that treats the operand pair has having four packed fields. Saturation circuitry is operable to selectively treat a field as either a signed value or an unsigned value.
    Type: Grant
    Filed: October 31, 2000
    Date of Patent: June 8, 2004
    Assignee: Texas Instruments Incorporated
    Inventor: David Hoyle
  • 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
  • Publication number: 20040103266
    Abstract: A programmable processor and method for improving the performance of processors by incorporating an execution unit operable to decode and execute single instructions specifying both a shift amount and a register containing a plurality of data elements, wherein the execution unit is operable to shift a subfield of each of the plurality of data elements by the shift amount to produce a second plurality of data elements; and provide the second plurality of data elements as a catenated result.
    Type: Application
    Filed: November 13, 2003
    Publication date: May 27, 2004
    Applicant: MICROUNITY SYSTEMS ENGINEERING, INC.
    Inventors: Craig Hansen, John Moussouris
  • Publication number: 20040098567
    Abstract: A programmable processor and method for improving the performance of processors by incorporating an execution unit operable to decode and execute single instructions specifying both a shift amount and a register containing a plurality of data elements, wherein the execution unit is operable to shift a subfield of each of the plurality of data elements by the shift amount to produce a second plurality of data elements; and provide the second plurality of data elements as a catenated result.
    Type: Application
    Filed: November 14, 2003
    Publication date: May 20, 2004
    Applicant: MICROUNITY SYSTEMS ENGINEERING, INC.
    Inventors: Craig Hansen, John Moussouris
  • Patent number: 6738793
    Abstract: An apparatus for performing a shift operation on a packed data element having multiple values. The apparatus having multiple muxes, each of the multiple muxes having a first input, a second input, a select input and an output. Each of the multiple bits that represent a shifted packed intermediate result on a first bus is coupled to the corresponding first input. Each of the multiple bits representing a replacement bit for one of the multiple values is coupled to a corresponding second input. Each of the multiple bits driven by a correction circuit is coupled to a corresponding select input. Each output corresponds to a bit of a shifted packed result.
    Type: Grant
    Filed: February 14, 2001
    Date of Patent: May 18, 2004
    Assignee: Intel Corporation
    Inventors: Derrick Chu Lin, Punit Minocha, Alexander D. Peleg, Yaakov Yaari, Millind Mittal, Larry M. Mennemeier, Benny Eitan, Srinivas Chennupaty
  • Publication number: 20040088525
    Abstract: A method and apparatus for predicting the outcome of a branch instruction based on the branch history of preceding branch instructions. As a sequence of instructions passes through an instruction execution pipeline, a base branch instruction is chosen, a history index is generated for the base branch instruction and subsequent branch instructions, and a transform is created for the branch instruction to be predicted. The transform is then saved. When the sequence of instructions subsequently passes through the pipeline again, the transform is retrieved and used to operate on the history index of the base branch instruction to produce a history index for the branch to be predicted. The result is used as an index into a prediction array to access the prediction logic for the branch instruction being predicted. By using the predetermined transform, a branch status prediction can be made before the branch to be predicted reaches the normal prediction stage in the pipeline.
    Type: Application
    Filed: October 20, 2003
    Publication date: May 6, 2004
    Inventors: Reynold V. D'Sa, Slade A. Morgan, Alan B. Kyker, Gad S. Sheaffer, Gustavo P. Espinosa
  • Patent number: 6731294
    Abstract: A method and apparatus for reducing latency in pipelined circuits that process dependent operations is presented. In order to reduce latency for dependent operations, a pre-accumulation register is included in an operation pipeline between a first operation unit and a second operation unit. The pre-accumulation register stores a first result produced by the first operation unit during a first operation. When the first operation unit completes a second operation to produce a second result, the first result stored in the pre-accumulation register is presented to the second operation unit along with the second result as input operands.
    Type: Grant
    Filed: April 21, 2000
    Date of Patent: May 4, 2004
    Assignee: ATI International SRL
    Inventors: Michael Andrew Mang, Michael Mantor
  • Publication number: 20040078556
    Abstract: A method for rapidly mapping a bitmask returned by a Single Instruction Multiple Data (SIMD) computer compare instruction is provided. A user supplied partitioned mapping variable includes multiple mapping elements. Each of the multiple mapping elements is applied to the inputs of a different one of multiple digital multiplexers. The bitmask returned by the SIMD compare instruction is applied to the selects or all of the multiple digital multiplexers. Each multiplexer outputs one bit, as selected by the bitmask, from the respective mapping element applied to each multiplexer. The one bit outputs are accumulated in a mapped output variable as a mapped bitmask.
    Type: Application
    Filed: October 21, 2002
    Publication date: April 22, 2004
    Applicant: Sun Microsystems, Inc.
    Inventor: Lawrence Spracklen
  • Publication number: 20040068642
    Abstract: A processor according to the present invention includes a decoding unit 20, an operation unit 40 and others. When the decoding unit 20 decodes Instruction vcchk, the operation unit 40 and the like judges whether vector condition flags VC0˜VC3 (110) of a condition flag register (CFR) 32 are all zero or not, and (i) sets condition flags C4 and C5 of the condition flag register (CFR) 32 to 1 and 0, respectively, when all of the vector condition flags VC0˜VC3 are zero, and (ii) sets the condition flags C4 and C5 to 0 and 1, respectively, when not all the vector condition flags are zero. Then, the vector condition flags VC0˜VC3 are stored in the condition flags C0˜C3.
    Type: Application
    Filed: September 24, 2003
    Publication date: April 8, 2004
    Inventors: Tetsuya Tanaka, Hazuki Okabayashi, Taketo Heishi, Hajime Ogawa, Tsuneyuki Suzuki, Tokuzo Kiyohara, Takeshi Tanaka, Hideshi Nishida, Masaki Maeda
  • Patent number: 6718459
    Abstract: A numerical arithmetic circuit 50 executes an arithmetic instruction according to an instruction read out of a program memory 10 and then stores the arithmetic result into a register group 40 via an input switcher 70. A mode register 20 is associated with the register group 40. A flag designating whether or not a predetermined logic operation is executed to the arithmetic result is set to the mode register 20. When the register group 40 stores the arithmetic result, the mode register 20 corresponding to the register being the register group 40 designated on the program is referred as a register which stores the arithmetic result. Thus, a predetermined arithmetic and logic operation to the arithmetic result is controlled.
    Type: Grant
    Filed: August 29, 2000
    Date of Patent: April 6, 2004
    Assignee: NEC Electronics Corporation
    Inventor: Satoshi Chiba
  • 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
  • Publication number: 20040059895
    Abstract: A microprocessor circuit includes a control unit, a memory for free programming with at least one program having functions, a stack for buffer-storing data, a register bank having at least one register, and an auxiliary register that stores a number of bits, each of the bits being assigned to one of the registers of the register bank and indicating whether or not a respective register of the register bank contains information items.
    Type: Application
    Filed: July 18, 2003
    Publication date: March 25, 2004
    Inventors: Christian May, Holger Sedlak
  • Patent number: 6704564
    Abstract: A method for controlling message transmission by a telecommunications device (110). A trigger configuration signal (150) including a dynamic logic expression (160) is received by the telecommunications device (110). The dynamic logic expression (160) defines one or more conditions associated with the transmission of a message (140). The telecommunications device (110) applies the dynamic logic expression (160) and transmits the message (140) if the dynamic logic expression (160) is satisfied.
    Type: Grant
    Filed: September 22, 2000
    Date of Patent: March 9, 2004
    Assignee: Motorola, Inc.
    Inventors: Rainer M Lange, Robert A. Gee, Axel Fuchs, John E. Emrich
  • Publication number: 20040030869
    Abstract: The method is characterised in that comparison operations (31) which can be evaluated by an evaluation routine (4) can be formulated at the time the programme (8) of the control device (1) is running and in that actions (32, 33) that can also be formulated at the time the programme (8) is running are triggered according to the result of the respective comparison operation (31). This enables the control device (1) to be diagnosed and/or monitored without interrupting its operation.
    Type: Application
    Filed: May 21, 2003
    Publication date: February 12, 2004
    Inventor: Klaus Spichtinger
  • Patent number: 6687899
    Abstract: An executable program is prepared from a plurality of object code modules, each object code module including special relocations that have a type field for identifying the nature of a function to be implemented by the special relocation. The function is selected from a plurality of arithmetic and logical functions. A method of preparing the executed program includes reading the special relocations, determining from the type field the nature of the function to be implemented, carrying out the selected arithmetic or logical function to generate a result value and using the result value in a subsequent special relocation operation. The method may be executed by a linker having a relocation module for reading the special locations and carrying out the relocation operations.
    Type: Grant
    Filed: August 28, 2000
    Date of Patent: February 3, 2004
    Assignee: STMicroelectronics Limited
    Inventor: Richard Shann
  • Publication number: 20040019769
    Abstract: The most or least significant bit of a datum can bet determined using parallel operations. This may result in faster location of the most or least significant bit without necessarily introducing more overhead in some embodiments.
    Type: Application
    Filed: July 25, 2002
    Publication date: January 29, 2004
    Inventor: Stephen F. Moore