System and method for arranging bits of a data word in...

Error detection/correction and fault detection/recovery – Pulse or data error handling – Data formatting to improve error detection correction...

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C714S801000

Reexamination Certificate

active

06718492

ABSTRACT:

FIELD OF THE INVENTION
The invention relates generally to the field of digital computers and more specifically to functional units for processing predetermined types of instructions. The invention particularly provides a circuit or functional unit for use in connection with execution of an instruction for rearranging bits of a data word in accordance with a mask.
BACKGROUND OF THE INVENTION
Computers process data in accordance with instructions. One type of instruction which has been proposed is a so-called “sheep and goats” instruction which accepts as operands a data word and a mask word and rearranges the bits of the data word in accordance with the mask word. In the rearranged data word, the bits of the data word in bit positions which correspond to bits of the mask which are clear, or have the value “zero,” are shifted to the “left” end of the rearranged data word with their order being preserved, and the bits of the data word in bit positions which correspond to bits of the mask which are set, or have the value “one,” are shifted to the right end of the data word with their order being preserved. For example, if an eight bit data word has the value “abcdefgh” (where the letters represent binary integers having the value “one” or “zero”), and the mask word corresponds to “10011011,” in the rearranged data word generated when the “sheep and goats” instruction is executed with these as operands, the bits “b,” “c,” and “f,” all of which are in bit positions for which the mask bits are clear would be shifted to the left, preserving their order “bcf,” and the bits “a,” “d,” “e,” “g,” and “h,” all of which are in bit positions for which the mask bits are set would be shifted to the right, preserving their order “adegh,” with the result being the rearranged data word “bcfadegh.” Essentially, the “sheep and goats” instruction results in a rearrangement of bits of a data word into two groups as defined by bits of a mask word, one group (the “sheep”) corresponding to those bits for which the bits of the mask word are clear, and the other (the “goats”) corresponding to those bits for which the bits of the mask word are set, and in addition preservers order in each group
In a variant of the “sheep and goats” instruction, the bits of the rearranged data word in bit positions for which the bits of the mask are either set or clear (but preferably not both) will be set to a predetermined value. Generally, it has been proposed that, for example, the bits of the rearranged data word in bit positions for which the bits of the mask are clear will be set to zero, but the variant may be used with either the “sheep” or the “goats,” and the predetermined value may be either “one” or “zero.”
A “sheep and goats” instruction can find utility in connection with, for example, performing various bit permutations, for example, using a mask consisting of alternating set and clear bits will result in a so-called “unshuffle” permutation of a data word. In addition, the variant can be useful in connection with using a set of originally discontiguous bits to perform a multi-way dispatch, or jump, by making the bits contiguous and using the result to form an index into a jump table.
SUMMARY OF THE INVENTION
The invention provides a new and improved circuit or functional unit for use in connection with execution of an instruction for rearranging bits of a data word in accordance with a mask.
In brief summary, the invention provides a system for providing, from an input data word comprising a plurality of input data units having an input arrangement and a mask word comprising a plurality of mask bits each associated with one of the data units, an output data word in which the data units are arranged according to the mask bits. The system includes a bit balancer module and a plurality of rearrangement modules. The bit balancer module is configured to divide the input data units comprising the input data word into a plurality of data word portions, each data unit being assigned to one of the data word portions based on a pattern of mask bits of the mask word relative to the mask bit associated with the respective data unit. Each rearrangement module is configured to provide, from one of the data word portions and associated mask bits, an output data word portion in which the data units are arranged according to the mask bits. The data units of the output data word portions provided by the rearrangement modules are interleaved to provide the output data word.


REFERENCES:
patent: 4085447 (1978-04-01), Pertl et al.
patent: 4583199 (1986-04-01), Boothroyd et al.
patent: RE33664 (1991-08-01), Kang et al.
patent: 5339447 (1994-08-01), Balmer
patent: 5487159 (1996-01-01), Byers et al.
patent: 5586321 (1996-12-01), Shavit et al.
patent: 5682340 (1997-10-01), Arends et al.
patent: 5696922 (1997-12-01), Fromm
patent: 5777906 (1998-07-01), Lau et al.
patent: 5892775 (1999-04-01), Jayant et al.
patent: 5898698 (1999-04-01), Bross
patent: 5995748 (1999-11-01), Guttag et al.
patent: 6098087 (2000-08-01), Lemay
patent: 6144986 (2000-11-01), Silver
patent: 6581170 (2003-06-01), Kondo et al.
Hillis et al., Data Parallel Algorithms, Comm ACM 29, 12 (Dec. 1986, 1170=1183.
Aspnes et al., “Counting Networks,” Journal of the ACM, vol. 41, No. 5 (Sep. 1994).
Knuth, Donald E., “The Art of Computer Programming, vol. 3: Sorting and Searching,” Second Edition, 1998 pp. 219-247, Addison-Wesley, Reading, MA,.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

System and method for arranging bits of a data word in... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with System and method for arranging bits of a data word in..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System and method for arranging bits of a data word in... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3272077

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.