Byte-word Rearranging, Bit-field Insertion Or Extraction, String Length Detecting, Or Sequence Detecting Patents (Class 712/300)
  • Patent number: 7870361
    Abstract: A network device includes an alignment module to align payloads of received frames on memory boundaries in a buffer memory. The frames may be Ethernet frames which encapsulate IP (Internet Protocol) packets as payloads. The alignment module modifies the frame to shift the IP payload into a position in the memory regions such that the IP payload is aligned with the memory boundaries. The number x of non-data bits can be determined according to x=m*c+p, where m is the bit depth of memory regions, n is the length of a header, p is the non-zero remainder of the ratio n/m, and c is an integer.
    Type: Grant
    Filed: June 2, 2008
    Date of Patent: January 11, 2011
    Assignee: Marvell International Ltd.
    Inventor: Nafea Bishara
  • Publication number: 20100318771
    Abstract: A processor includes a decode unit and a byte permute unit. The byte permute unit receives an instruction from the decode unit. The byte permute unit determines whether the instruction corresponds to a shuffle instruction or a shift instruction. For a shuffle instruction, the byte permute unit uses a byte shuffler to perform a shuffle operation indicated by the instruction. For a shift instruction that indicates a shift magnitude, the byte permute unit uses the byte shuffler to byte-level shift a source operand corresponding to the instruction by an integer number of bytes. The byte permute unit also generates a sequence of output bits by bit-shifting the byte-level shifted source operand by a number of bits such that the sum of the number of bits and the integer number of bytes is equal to the shift magnitude.
    Type: Application
    Filed: June 11, 2009
    Publication date: December 16, 2010
    Inventors: Ranganathan Sudhakar, Jonathan Choy, Debjit Das Sarma
  • Patent number: 7853860
    Abstract: A programmable signal processing circuit has an instruction processing circuit (23, 24, 26), with an instruction set that comprises a depuncture instruction. The instruction processing circuit (23, 24, 26) forms the depuncture result by copying bit metrics from a bit metrics operand and inserting one or more predetermined bit metric values between the bit metrics from the bit metric operand in the depuncture result. The instruction processing circuit (23, 24, 26) changes the relative locations of the copied bit metrics with respect to each other in the depuncture result as compared to the relative locations of the copied bit metrics with respect to each other in the bit metric operand, to an extent needed for accommodating the inserted predetermined bit metric value or values.
    Type: Grant
    Filed: December 13, 2005
    Date of Patent: December 14, 2010
    Assignee: Silicon Hive B.V.
    Inventors: Paulus W. F. Gruijters, Marcus M. G. Quax
  • Patent number: 7840789
    Abstract: Bit reductions in program instructions are achieved by determining the set of bit patterns in bit locations of the instructions. If only a subset of bit patterns is present in the instructions, they may be represented by an index value having a smaller number of bits. The index value may be substituted into the instruction and later used in decoding by referencing a corresponding bit pattern in a lookup table. The bit-reduction in the instruction makes way for supplemental data bits which may then be embedded.
    Type: Grant
    Filed: June 2, 2006
    Date of Patent: November 23, 2010
    Assignee: University of Maryland
    Inventors: Min Wu, Ashwin Swaminathan, Yinian Mao
  • Patent number: 7822955
    Abstract: The present invention provides a technique for swapping data values within a data word. In particular, a single endian reverse instruction is provided to cause independent swap operations to be performed on particular sections of an input data word. The data processing apparatus of the present invention comprises a data processing unit for executing instructions which is responsive to the endian reverse instruction to apply an endian reverse operation to an input data word Rm comprising a plurality of data values.
    Type: Grant
    Filed: January 21, 2003
    Date of Patent: October 26, 2010
    Assignee: ARM Limited
    Inventors: David W Flynn, David J Seal, Wilco Dijkstra, Michael R Nonweiler
  • Publication number: 20100262952
    Abstract: A system and method for converting byte code of a first type into byte code of a second type. Byte code of a first type is received as input. The first byte code is converted into constituent byte code data elements that can comprise any logical unit or grouping of at least a portion of a software application. The first byte code data elements are mapped to data elements of a second byte code type. The second byte code data elements are assembled into a resulting second byte code.
    Type: Application
    Filed: April 25, 2010
    Publication date: October 14, 2010
    Applicant: APTANA INCORPORATED
    Inventors: Paul Colton, Kevin Edward Lindsey, Roland Ingomar Muschenetz, Robin Sean Debreuil
  • Patent number: 7814303
    Abstract: Operand vector multiplexer sequence control is used in a vector-based execution unit to control the shuffling of data elements in operand vectors used by a sequence of vector instructions processed by the vector-based execution unit. A swizzle sequence instruction is defined in an instruction set for the vector-based execution unit and is used to selectively apply a sequence of vector data element shuffle orders to one or more operand vectors to be used by the associated sequence of vector instructions. As a result, when a common sequence of data element shuffle orders is used frequently for a sequence of vector instructions, a single swizzle sequence instruction may be used to select the desired sequence of custom data element ordering for each of the vector instructions in the sequence.
    Type: Grant
    Filed: October 23, 2008
    Date of Patent: October 12, 2010
    Assignee: International Business Machines Corporation
    Inventors: Adam J. Muff, Robert A. Shearer, Matthew R. Tubbs
  • Patent number: 7813429
    Abstract: A method for processing a video stream is disclosed. The method generally includes the steps of (A) checking a respective first motion vector for each of a plurality of blocks in a group within an inter-coded picture of the video stream, (B) loading first motion compensation data for the group from a memory to a motion compensation process in a first bus transfer in response to all of the blocks in the group having both (i) a same first reference frame and (ii) a same first motion vector in at least one of a reference picture list 0 and a reference picture list 1 and (C) reconstructing the blocks from the first motion compensation data and the same first motion vector.
    Type: Grant
    Filed: December 2, 2005
    Date of Patent: October 12, 2010
    Assignee: LSI Corporation
    Inventor: Lowell L. Winger
  • Patent number: 7787537
    Abstract: A method and an apparatus for discrete cosine transform coefficient prediction are disclosed. The method comprises the steps as follows: providing a discrete cosine transformed block; performing an AC prediction mode variable length coding and a non-AC prediction mode variable length coding simultaneously; providing a first memory block and a second memory block for storing the bit strings of two coding; and using another coding as long as one of first and second memory blocks reaches its capacity limit.
    Type: Grant
    Filed: December 19, 2005
    Date of Patent: August 31, 2010
    Assignee: Sunplus Technology Co., Ltd.
    Inventors: Chien-Yu Lin, Tzu-Hsin Wang, Pai-Chu Hsieh
  • Patent number: 7773005
    Abstract: System and method for decompressing data. A compressed data stream including contiguous variable length data blocks is received, each variable length data block including multiple contiguous variable length data fields. A current data block of the contiguous variable length data blocks is stored in one or more registers of a processor. Decoding state information is stored in another register of the processor. A single machine instruction of the processor is loaded. The instruction includes one or more operands corresponding respectively to the one or more registers, and another operand corresponding to the other register, where the other register is further operable as a destination register to store a result of the machine instruction. The instruction is executed to decompress the current data block using the stored decoding state information, including storing the decompressed current data block in the other register. The decompression is repeated for subsequent blocks in the stream.
    Type: Grant
    Filed: December 5, 2008
    Date of Patent: August 10, 2010
    Assignee: Advanced Micro Devices, Inc.
    Inventor: Michael Frank
  • Patent number: 7769753
    Abstract: A data retrieval system includes a retrieval request block for generating a retrieval key including a current state number and a current character string including N characters latched from an input character string, and a state transition memory operating for retrieval based on a state transition table. The state transition table includes a plurality of input entries each including a combination of a current state number and a character pattern string having N characters, and a plurality of output entries each including combination of a next state number and a pattern number of a character pattern retrieved from the input character string. The state transition memory operates for a plurality of retrievals in parallel retrieval processing.
    Type: Grant
    Filed: January 31, 2005
    Date of Patent: August 3, 2010
    Assignee: NEC Corporation
    Inventors: Kiyohisa Ichino, Akihiro Motoki
  • Patent number: 7765338
    Abstract: Techniques for providing improved data distribution to and collection from multiple memories are described. Such memories are often associated with and local to processing elements (PEs) within an array processor. Improved data transfer control within a data processing system provides support for radix 2, 4 and 8 fast Fourier transform (FFT) algorithms through data reordering or bit-reversed addressing across multiple PEs, carried out concurrently with FET computation on a digital signal processor (DSP) array by a DMA unit. Parallel data distribution and collection through forms of multicast and packet-gather operations are also supported.
    Type: Grant
    Filed: July 9, 2007
    Date of Patent: July 27, 2010
    Assignee: Altera Corporation
    Inventors: Edwin Franklin Barry, Nikos P. Pitsianis, Kevin Coopman
  • Publication number: 20100169619
    Abstract: In one embodiment, an apparatus comprises a queue comprising a plurality of entries and a control unit coupled to the queue. The control unit is configured to allocate a first queue entry to a store memory operation, and is configured to write a first even offset, a first even mask, a first odd offset, and a first odd mask corresponding to the store memory operation to the first entry. A group of contiguous memory locations are logically divided into alternately-addressed even and odd byte ranges. A given store memory operation writes at most one even byte range and one adjacent odd byte range. The first even offset identifies a first even byte range that is potentially written by the store memory operation, and the first odd offset identifies a first odd byte range that is potentially written by the store memory operation.
    Type: Application
    Filed: March 10, 2010
    Publication date: July 1, 2010
    Inventors: Tse-yu Yeh, Daniel C. Murray, Po Yung Chang, Anup S. Mehta
  • Patent number: 7743231
    Abstract: Provided are a method, information processing system, and computer readable medium for identifying active bits in a vector. The method comprises receiving a pointer associated with a vector of bits. The pointer is associated with a current bit within the vector of bits. The vector of bits if grouped into groups of a mathematical power of two, which is any non-negative integer powers of two. One or more current groups are determined which are the groups of the mathematical power of two comprising the current bit. The one or more current groups of the power of two are analyzed. A largest group of the power of two is identified in the one or more current groups comprising all empty bits. The pointer is set to point to a bit following a last bit in the identified largest group of the power of two comprising all empty bits.
    Type: Grant
    Filed: February 27, 2007
    Date of Patent: June 22, 2010
    Assignee: International Business Machines Corporation
    Inventors: Scot H. Rider, Todd A. Strader
  • Patent number: 7734853
    Abstract: In a system where data is transmitted from a source device to a destination device via one or more buses, transmission mode selecting circuitry is provided to select one of a first transmission mode and a second transmission mode for the data in response to a mode selecting signal that indicates a latency requirement of the destination device. When data is sent using the second mode there is a lower latency between the destination device receiving the data and being able to process the data than when the first transmission mode is used.
    Type: Grant
    Filed: April 11, 2008
    Date of Patent: June 8, 2010
    Assignee: ARM Limited
    Inventor: Daren Croxford
  • Patent number: 7730292
    Abstract: In the context of a microprocessor and a program, the invention provides parallel subword compare instructions that store results in a selectable intra-register subword location. In a targeting approach, an instruction permits the location to be specified; alternatively, there can be plural instructions, each associated with one of the locations. In a replicating approach, plural replicas are stored in the alternative locations. In a shifting approach, the instruction moves prior results, so that the number of subsequent iterations of the instruction determines the location of a result. The invention provides for overwriting and content-preserving instructions, and for overlapping and separate locations. The invention allows results from multiple parallel subword compare operations with relatively few instructions. The invention also provides for other parallel subword instructions.
    Type: Grant
    Filed: March 31, 2003
    Date of Patent: June 1, 2010
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Ruby B. Lee
  • Patent number: 7725699
    Abstract: A data byte insertion circuit includes circuitry to generate derivative intermediate data words from input data words of a current and a preceding cycle, repositioning data bytes of the input data words before and after data byte insertion points of the current and preceding cycles, and circuitry to generate re-aligned variants of insertion data bytes of the current cycle. The data byte insertion circuit further includes circuitry to generate a number of multi-bit data bit selection masks, and circuitry to generate an output data word by conditionally using selected parts of the derivate intermediate data words and the re-aligned variants of the insertion data bytes, in accordance with the multi-bit data b it selection masks.
    Type: Grant
    Filed: November 14, 2006
    Date of Patent: May 25, 2010
    Inventors: J. Zachary Gorman, Richard S. Willardson
  • Patent number: 7721077
    Abstract: A computing system may support an endian toggle register (ETR) and the endianess of the endian toggle register may be designated using a set endian bit (SEB) or a clear endian bit (CEB) instruction. An endian conversion is performed on the data that is moved into and moved out of the ETR. However, if the destination memory is an endian toggle disabled memory, the contents of the ETR may be transferred to the endian toggle disabled memory without performing the endian conversion. A compiler supported on the computing system may comprise an endian storage class to perform endian conversion, transparently, using high-level languages.
    Type: Grant
    Filed: October 16, 2007
    Date of Patent: May 18, 2010
    Assignee: Intel Corporation
    Inventor: Gurumurthy Rajaram
  • Patent number: 7711938
    Abstract: A pipeline video decoder and decompression system handles a plurality of separately encoded bit streams arranged as a single serial bit stream of digital bits and having separately encoded pairs of control codes and corresponding data carried in the serial bit stream. The pipeline system employs a plurality of interconnected stages to decode and decompress the single bit stream, including a start code detector. When in a search mode, the start code detector searches for a specific start code corresponding to one of multiple compression standards. The start code detector responding to the single serial bit stream generates control tokens and data tokens. A respective one of the tokens includes a plurality of data words. Each data word has an extension bit which indicates a presence of additional words therein. The data words are thereby unlimited in number.
    Type: Grant
    Filed: January 26, 2001
    Date of Patent: May 4, 2010
    Inventors: Adrian P Wise, Martin W Sotheran, William P Robbins, Anthony M Jones, Helen R Finch, Kevin J Boyd, Anthony Peter J Claydon
  • Patent number: 7707547
    Abstract: A system and method for converting byte code of a first type into byte code of a second type. Byte code of a first type is received as input. The first byte code is converted into constituent byte code data elements that can comprise any logical unit or grouping of at least a portion of a software application. The first byte code data elements are mapped to data elements of a second byte code type. The second byte code data elements are assembled into a resulting second byte code.
    Type: Grant
    Filed: March 10, 2006
    Date of Patent: April 27, 2010
    Assignee: Aptana, Inc.
    Inventors: Paul Colton, Kevin Edward Lindsey, Roland Ingomar Muschenetz, Robin Sean Debreuil
  • Patent number: 7698542
    Abstract: A circuit and a method of examining in a microprocessor a section of a first range of values and a second range of values each comprising a lower boundary value and an upper boundary value is disclosed. The method includes examining whether a value of the first range of values is equal to or greater than the lower boundary value of the second range of values, and examining whether the lower boundary value of the first range of values is smaller than or equal to the upper boundary value of the second range of values.
    Type: Grant
    Filed: August 25, 2006
    Date of Patent: April 13, 2010
    Assignee: Infineon Technologies AG
    Inventors: Martin Mohr, Harry Siebert
  • Patent number: 7685408
    Abstract: Techniques for performing a bit rake instruction in a programmable processor. The bit rake instruction extracts an arbitrary pattern of bits from a source register, based on a mask provided in another register, and packs and right justifies the bits into a target register. The bit rake instruction allows any set of bits from the source register to be packed together.
    Type: Grant
    Filed: September 29, 2008
    Date of Patent: March 23, 2010
    Assignee: Altera Corporation
    Inventors: Edward A. Wolff, Peter R. Molnar, Ayman Elezabi, Gerald George Pechanek
  • Patent number: 7685407
    Abstract: The present invention is to provide a semiconductor device that can correctly switch endians on the outside even if the endian of a parallel interface is not recognized on the outside. The semiconductor device includes a switching circuit and a first register. The switching circuit switches between whether a parallel interface with the outside is to be used as a big endian or a little endian. A first register holds control data of the switching circuit. The switching circuit regards the parallel interface as the little endian when first predetermined control information, that is unchanged in the values of specific bit positions even if its high-order and low-order bit positions are transposed, is supplied to the first register, and regards the parallel interface as the big endian when second predetermined control information, that is unchanged in the values of specific bit positions even if its high-order and low-order bit positions are transposed, is supplied to the first register.
    Type: Grant
    Filed: May 31, 2006
    Date of Patent: March 23, 2010
    Assignee: Renesas Technology Corp.
    Inventors: Goro Sakamaki, Yuri Azuma
  • Patent number: 7603346
    Abstract: A pipelined search engine device, such as a longest prefix match (LPM) search engine device, includes a hierarchical memory and a pipelined tree maintenance engine therein. The hierarchical memory is configured to store a b?tree of search prefixes (and possibly span prefix masks) at multiple levels therein. The pipelined tree maintenance engine, which is embedded within the search engine device, includes a plurality of node maintenance sub-engines that are distributed with the multiple levels of the hierarchical memory. The search engine device may also include pipeline control and search logic that is distributed with the multiple levels of the hierarchical memory.
    Type: Grant
    Filed: February 13, 2007
    Date of Patent: October 13, 2009
    Assignee: NetLogic Microsystems, Inc.
    Inventors: Gary Depelteau, David W. Carr
  • Patent number: 7600104
    Abstract: System and method are provided for parallel vector data processing having a data processor capable of vector data having a defined first bit-length. In one embodiment, at least one of first and second operand registers is used for storing operands, and an additional data storage element is used to have a size to store a number of bits corresponding to the first bit-length, and the storage element is segmented into a defined number of segments. An instruction set storage unit is used for storing a set of instructions for the data processor to process a set of data in parallel by use of the additional storage element.
    Type: Grant
    Filed: August 15, 2006
    Date of Patent: October 6, 2009
    Inventor: Peter Neumann
  • Publication number: 20090235061
    Abstract: A system and method for efficiently performing bit-field extraction and bit-field combination operations in a processor is provided. The system includes a plurality of general purpose registers, a plurality of predicate registers, and at least one execution unit configured to extract a plurality of bit fields from a source reservoir and to populate a plurality of destination lanes in response to a single instruction. In addition, the execution unit is configured to write supplied fill data into the source reservoir if the number of bits in the source reservoir is less than a predetermined number. In addition or alternatively, the system may include at least one execution unit configured to combine a plurality of bit fields from a plurality of source lanes into a continuous bit stream in response to a single instruction executable by the processor.
    Type: Application
    Filed: March 27, 2009
    Publication date: September 17, 2009
    Applicant: Broadcom Corporation
    Inventor: Mark TAUNTON
  • Patent number: 7590832
    Abstract: An information processing device for executing a compressed program includes: an instruction buffer; a first selector for selectively outputting one of a set of signals obtained by dividing the output from the instruction buffer; an instruction decompression section for decompressing the output from the first selector into an original instruction; a second selector for outputting the output from the instruction buffer when no compressed instruction is stored in the instruction buffer and outputting the output from the instruction decompression section otherwise; an instruction decoding section for outputting a signal indicating presence/absence of instruction branching based on a result of decoding the output from the selector; and a control section for instructing the first selector to select a predetermined one of the received signals when the signal from the instruction decoding section indicates that there is instruction branching.
    Type: Grant
    Filed: January 3, 2007
    Date of Patent: September 15, 2009
    Assignee: Panasonic Corporation
    Inventor: Hiroshi Taniuchi
  • Patent number: 7587526
    Abstract: Embedding endianness information within data and sending and receiving data with the embedded endianness information. Data may be contained in a data structure. To embed endianness information in a data structure, unused bits in a data structure are identified. A number of the unused bits are then selected based on the possible unpacking combinations of the data structure. The endian bit values are set to a pattern to indicate the endianness of the data structure. Data that has been packed by a transmitting module can be unpacked by a receiving module based on the detected endian bits. An algorithm may be used to determine which unused bits to select as the endian bits.
    Type: Grant
    Filed: February 28, 2005
    Date of Patent: September 8, 2009
    Assignee: Microsoft Corporation
    Inventors: Andrew W. Walters, Ankur Varma
  • Patent number: 7587535
    Abstract: When data is transferred to an access destination in a different endian format, a transfer start address is aligned based on a transfer bus width, and a transfer size is adjusted according to the transfer bus width and a transfer address. Thus, it becomes possible to perform burst transfer in the access destination. Accordingly, in the case where burst transfer to an access destination in a different endian format is performed with a smaller data width than a transfer bus width, an inconvenience where burst transfer can not be performed because an address is converted and data access is no longer an ascending order access can be prevented.
    Type: Grant
    Filed: April 20, 2007
    Date of Patent: September 8, 2009
    Assignee: Panasonic Corporation
    Inventor: Takatsugu Sawai
  • Patent number: 7581091
    Abstract: Systems and methods that allow for extracting a field from data stored in a pair of registers using two instructions. A first instruction extracts any part of the field from a first register designated as a first source register, and executes a second instruction extracting any part of the field from a second general register designated as a second source register. The second instruction inserts any extracted field parts in a result register.
    Type: Grant
    Filed: April 10, 2006
    Date of Patent: August 25, 2009
    Assignee: MIPS Technologies, Inc.
    Inventors: Robert Gelinas, Patrick W Hays, Sol Katzman
  • Patent number: 7565516
    Abstract: In a system having a first device 10 and a second device 8 between which data values are transferred via an N-bit bus, a resizing unit 18 and an M-bit bus, reordering of the data is performed such that portions of the original N-bit data words having a high degree of bit-value correlation are grouped together as successive transfers thereby reducing the Hamming distance between successive transfers in a manner that reduces energy consumption.
    Type: Grant
    Filed: February 28, 2006
    Date of Patent: July 21, 2009
    Assignee: ARM Limited
    Inventor: Daren Croxford
  • Patent number: 7529918
    Abstract: A system and method for efficiently performing bit-field extraction and bit-field combination operations in a processor is provided. The system includes a plurality of general purpose registers, a plurality of predicate registers, and at least one execution unit configured to extract a plurality of bit fields from a source reservoir and to populate a plurality of destination lanes in response to a single instruction. In addition, the execution unit is configured to write supplied fill data into the source reservoir if the number of bits in the source reservoir is less than a predetermined number. In addition or alternatively, the system may include at least one execution unit configured to combine a plurality of bit fields from a plurality of source lanes into a continuous bit stream in response to a single instruction executable by the processor.
    Type: Grant
    Filed: December 22, 2006
    Date of Patent: May 5, 2009
    Assignee: Broadcom Corporation
    Inventor: Mark Taunton
  • Patent number: 7523261
    Abstract: A method for changing a succession of instruction words including providing a set of machine words, each machine word being associated with an address from a set of addresses, providing a succession of instruction words having address information, the succession of instruction words prescribing a sequence of machine words which are intended to be processed by an arithmetic and logic unit which is coupled to a buffer store, altering the association between at least a portion of the set of machine words and at least a portion of the set of addresses, changing the address information in the succession of instruction words based on the alteration of the association, storing the changed succession of instruction words in a memory, and storing the set of machine words in the memory, so that it is possible to access the machine words using the associated addresses.
    Type: Grant
    Filed: November 6, 2006
    Date of Patent: April 21, 2009
    Assignee: Infineon Technologies AG
    Inventors: Josef Haid, Michael Smola, Dietmar Scheiblhofer
  • Patent number: 7500089
    Abstract: 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 type of 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: Grant
    Filed: April 1, 2002
    Date of Patent: March 3, 2009
    Assignee: Ricoh Company, Ltd.
    Inventor: Kazuhiko Iwanaga
  • Patent number: 7493481
    Abstract: In some embodiments, the execution of load and store instructions for internal fields of data structures is accelerated by using on-chip template registers and appropriate machine code instructions. A load/store machine code instruction comprises an identifier of a memory address offset of an internal field word relative to a base address of the data structure, an identifier of an intra-word start bit of the internal field, and an identifier of an intra-word length of the internal field. The three identifiers may coincide, for example if the three identifiers are represented by an identity of a template register storing a template entry including the memory address offset, the start position, and the field length. The three identifiers may also be provided as part of a machine code instruction itself. Further provided are compilers, compiler methods, and hardware systems for implementing accelerated internal-field load and store operations.
    Type: Grant
    Filed: May 17, 2004
    Date of Patent: February 17, 2009
    Assignee: NetXen, Inc.
    Inventors: Govind Kizhepat, Kenneth Y Choy, Suresh Kadiyala
  • Patent number: 7480783
    Abstract: Disclosed are systems for loading an unaligned word from a specified unaligned word address in a memory, the unaligned word comprising a plurality of indexed portions crossing a word boundry, a method of operating the system comprising: loading a first aligned word commencing at an aligned word address rounded from the specified unaligned word address; identifying an index representing the location of the unaligned word address relative to the aligned word address; loading a second aligned word commencing at an aligned word address rounded from a second unaligned word address; and combining indexed portions of the first and second alinged words using the indentified index to construct the unaligned word.
    Type: Grant
    Filed: August 19, 2004
    Date of Patent: January 20, 2009
    Assignees: STMicroelectronics Limited, Hewlett-Packard Company
    Inventors: Mark O. Homewood, Paolo Faraboschi
  • Patent number: 7467138
    Abstract: A method and associated algorithm for in-place sorting S sequences of binary bits stored contiguously in an array within a memory device of a computer system prior to the sorting. Each sequence includes contiguous fields of bits. The algorithm is executed by a processor of a computer system. The in-place sorting executes program code at each node of a linked execution structure. Each node includes a segment of the array. The program code is executed in a hierarchical sequence with respect to the nodes. Executing program code at each node includes: dividing the segment of the node into groups of sequences based on a mask field having a mask width, wherein each group has a unique mask value of the mask field; and in-place rearranging the sequences in the segment, wherein the rearranging results in each group including only those sequences having the unique mask value of the group.
    Type: Grant
    Filed: December 14, 2004
    Date of Patent: December 16, 2008
    Assignee: International Business Machines Corporation
    Inventor: Dennis J. Carroll
  • Patent number: 7464255
    Abstract: A method and mechanism for performing shift operations using a shuffle unit. A processor includes a shuffle unit configured to perform shuffle operations responsive to shuffle instructions. The shuffle unit is adapted to support shift operations as well. In response to determining a shuffle instruction is received, selected bits of an immediate value of the shuffle instruction are used to generate byte selects for relocating bytes of a source operand. In response to determining the instruction is a shift instruction, the shuffle unit performs an arithmetic operation on a first and second value, where the first value corresponds to a particular destination byte position, and the second value corresponds to the immediate value. The result of the arithmetic operation comprises a byte select which selects one of the bytes of a source operand for conveyance to the particular destination byte position.
    Type: Grant
    Filed: July 28, 2005
    Date of Patent: December 9, 2008
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Teik-Chung Tan, Kelvin Domnic Goveas
  • Patent number: 7464254
    Abstract: A rule processor and method for using the same are disclosed. In one embodiment, the rule processor comprises a general purpose register file, an instruction sequencer to provide instructions, a decoder coupled to the general purpose register file to decode a set of instructions specified by the instruction sequencer, and a state machine unit coupled to the decoder and having state machine registers to store one or more state machines and state machine execution hardware coupled to the state machine registers to evaluate the one or more state machines in response to executing one or more of the set of instructions and based on information from one or both of the decoder and the general purpose register file.
    Type: Grant
    Filed: January 8, 2004
    Date of Patent: December 9, 2008
    Assignee: Cisco Technology, Inc.
    Inventors: Harshvardhan Sharangpani, Manoj Khare, Kent Fielden, Rajesh Patil, Judge Kennedy Arora
  • Publication number: 20080282073
    Abstract: A shorter and a longer text string may be compared. Instead of simply comparing the characters only one character at a time, more than one character can be compared at a time. In addition, a null terminated string may be detected. The shorter strings may be handled differently than longer strings.
    Type: Application
    Filed: May 10, 2007
    Publication date: November 13, 2008
    Inventor: Mason Cabot
  • Patent number: 7444488
    Abstract: A method and a programmable unit for bit field shifting in a memory device in a programmable unit as a result of the execution of an instruction, in which a bit segment is shifted within a first memory unit to a second memory unit, are presented. The bit segment is read with a first bit length from a first bit field in the first memory unit starting at a first start point. The bit segment that has been read is stored in the first bit field in the second memory unit starting at a second start point. The first or the second start points is updated by a predetermined value and the updated start point is stored for subsequent method steps.
    Type: Grant
    Filed: September 30, 2005
    Date of Patent: October 28, 2008
    Assignee: Infineon Technologies
    Inventors: Xiaoning Nie, Thomas Wahl
  • Patent number: 7441104
    Abstract: The present invention provides for parallel subword instructions that cause results to be non-contiguously stored in a result register. For example, a targeting-type instruction can specify (implicitly or explicitly) a bit position and the result of each of the parallel subword compare operations can be stored at that bit position within the respective subword location of a result register. Alternatively, for a shifting-type instruction, pre-existing contents of a result register can be shifted one bit toward greater significance while the results are of the present operation are stored in the least-significant bits of respective result-register subword locations. This approach provides the results of multiple parallel subword compare instructions to be combined with relatively few instructions and reduces the maximum lateral movement of information—both of which can enhance performance.
    Type: Grant
    Filed: March 30, 2002
    Date of Patent: October 21, 2008
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Dale Morris
  • Patent number: 7434040
    Abstract: Methods, computer readable media and computing devices including program instructions are provided for copying unaligned data. One method embodiment includes using 12 execution units to move 16 bytes of data from an unaligned data area to an aligned data area during each iteration of a loop in a pipelined operation, such that each iteration can be executed in one machine cycle.
    Type: Grant
    Filed: July 25, 2005
    Date of Patent: October 7, 2008
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Jon F. Bayh
  • Patent number: 7424600
    Abstract: The information processing apparatus includes: a process unit having one or more registers that retain data used for calculation; a compression unit that compresses and saves the content in the register to a stack memory; and a decompression unit that decompresses and restores the data saved in the stack memory, to the corresponding registers. If a first decoding unit included in the process unit has decoded a call instruction which is assigned a compression control bit, the compression unit, in executing the call instruction, performs compression before saving the content of the registers to the stack memory. If a second decoding unit included in the process unit has decoded a return instruction which is assigned a decompression control bit, the decompression unit, in executing the return instruction, performs decompression before restoring the content saved in the stack memory to the registers.
    Type: Grant
    Filed: July 23, 2003
    Date of Patent: September 9, 2008
    Assignee: Matsushita Electric Industrial Co., Ltd.
    Inventor: Yasunori Yamamoto
  • Publication number: 20080201567
    Abstract: Emulation methods are provided for two PACK instructions, one for Unicode data and the other for ASCII coded data in which processing is carried out in a block-by-block fashion as opposed to a byte-by-byte fashion as a way to provide superior performance in the face of the usual challenges facing the execution of emulated data processing machine instructions as opposed to native instructions.
    Type: Application
    Filed: February 20, 2007
    Publication date: August 21, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Antonisamy A. Rajendran, Muruganandam Somasundaram
  • Patent number: 7403835
    Abstract: In a device and method for programming an industrial robot using a simulation program, control commands are issued by a handheld programming device and these commands are visualized on an image surface as movement and/or processing operations by the robot on the basis of data of the robot. An object to be processed is also displayed on the image surface and a three-dimensional image of the robot and the object is presented.
    Type: Grant
    Filed: May 19, 2006
    Date of Patent: July 22, 2008
    Assignee: Bayerische Motoren Werke Aktiengesellschaft
    Inventors: Harald Sandner, Hans-Joachim Neubauer
  • Publication number: 20080162911
    Abstract: Various embodiments for high performance renormalization for video encoding are described. In one or more embodiments, renormalization may involve detecting a leading number of ‘0’s in a range value of an input stream of symbols, a run of ‘1’s in an offset value of the input stream of symbols, and a run of ‘0’s following the run of ‘1’ in the offset value. A bitstream may be outputted based on an iteration window for a number of renormalization iterations. The iteration window may comprise a bit range after the run of ‘1’s in the offset value, and the number of renormalization iterations may be based on the leading number of ‘0’s in the range value. In some embodiments, a run of ‘1’s followed by one or more ‘0’s may be identified as a particular pattern. Other embodiments are described and claimed.
    Type: Application
    Filed: December 29, 2006
    Publication date: July 3, 2008
    Inventor: Karthik Vaithianathan
  • Publication number: 20080148029
    Abstract: A data processing apparatus and method are provided for converting data values from a first endian format to a second endian format. Swizzle circuitry is provided within the data processing apparatus for receiving a block of data containing at least one data value, and for converting each data value in the block from the first endian format to the second endian format. The swizzle circuitry comprises first swizzle circuitry for performing a re-ordering operation on the block of data assuming the at least one data value contained therein is of a first predetermined size, in order to produce re-ordered data. Further, second swizzle circuitry is provided which is responsive to an indication that the at least one data value is of a size different to the first predetermined size to perform an additional re-ordering operation on the re-ordered data having regard to the size of the at least one data value in order to convert each data value to the second endian format.
    Type: Application
    Filed: December 13, 2006
    Publication date: June 19, 2008
    Applicant: ARM Limited
    Inventors: Philippe Luc, Norbert Bernard Eugene Lataille, Florent Begon, Nicolas Chaussade
  • Publication number: 20080148018
    Abstract: The present invention is a technique to perform field operations. A shifter to shift 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: February 26, 2008
    Publication date: June 19, 2008
    Inventor: Sam B. SANDBOTE
  • Patent number: 7389408
    Abstract: An instruction stream having variable length instructions with embedded constants (e.g. immediate values and displacements) is translated into a stream of operations and a corresponding stream of bit fields, enabling advantageous compact storage of the embedded constants. The operations and the compact constants are optionally stored in entries in a trace cache and/or processed by execution pipelines. The compact constants are optionally formulated as a small constant field, a pointer, or both. The pointer of a particular one of the operations optionally references one of the bit fields within a window of the operations associated with the particular operation. A full-sized constant is constructed from one or more contiguous ones of the bit fields, starting with the referenced bit field, by unpacking and uncompressing information from the contiguous bit fields. An operation optionally includes a plurality of small constant fields and pointers to specify a respective plurality of constants.
    Type: Grant
    Filed: December 1, 2006
    Date of Patent: June 17, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Christopher P. Nelson, John Gregory Favor