US2003105945A1PendingUtilityA1

Methods and apparatus for a bit rake instruction

Assignee: BOPS INCPriority: Nov 1, 2001Filed: Oct 29, 2002Published: Jun 5, 2003
Est. expiryNov 1, 2021(expired)· nominal 20-yr term from priority
G06F 9/30038G06F 9/30018G06F 9/30145G06F 9/30032
44
PatentIndex Score
0
Cited by
0
References
0
Claims

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.

Claims

exact text as granted — not AI-modified
We claim:  
     
         1 . A programmable apparatus for executing a bit rake instruction comprising: 
 means for receiving the bit rake instruction;    means for decoding the bit rake instruction defining a source register, a mask register and a target register; and    processing means for extracting a pattern from the source register based on a mask provided from the mask register, and packing and justifying the pattern into the target register.    
     
     
         2 . The programmable apparatus of  claim 1  wherein the processing means comprises an adder tree, a mask path and a data path.  
     
     
         3 . The programmable apparatus of  claim 2  wherein the adder tree, mask path and data path each comprise a plurality of stages.  
     
     
         4 . The programmable apparatus of  claim 3  wherein the mask comprises a number of groups of bits, each group size being a power of two, and wherein the adder tree computes the sum of the number of mask bits in each of the groups.  
     
     
         5 . The programmable apparatus of  claim 4  wherein the plurality of stages of the adder tree comprise adders.  
     
     
         6 . The programmable apparatus of  claim 5  wherein each of the stage's adders includes a sum output and a carry output, the sum output and the carry output controlling corresponding mask path and data path stage groups.  
     
     
         7 . The programmable apparatus of  claim 6  wherein the mask path provides group masks at each stage for controlling selection of corresponding group data in the data path.  
     
     
         8 . The programmable apparatus of  claim 4  wherein the mask path stages and the data path stages comprise a binary shifter and at least one multiplexer.  
     
     
         9 . The programmable apparatus of  claim 8  wherein the depth of the binary shifter increases by one multiplexer with each stage advance.  
     
     
         10 . The programmable apparatus of  claim 9  wherein shifting amounts and group sizes are restricted to powers of two.  
     
     
         11 . The programmable apparatus of  claim 10  wherein the output of each adder has a maximum value which is a power of two.  
     
     
         12 . The programmable apparatus of  claim 8  wherein the at least one multiplexer is controlled by an adder carry bit.  
     
     
         13 . The programmable apparatus of  claim 3  wherein the pattern is packed into the least significant bit positions of the target register.  
     
     
         14 . The programmable apparatus of  claim 13  wherein the unextracted bit positions in the target register are filled by a replication of the most significant extracted bit.  
     
     
         15 . The programmable apparatus of  claim 14  wherein the most significant extracted bit value is determined from the input values by determining a first asserted mask bit and selecting a corresponding data value.  
     
     
         16 . The programmable apparatus of  claim 1  wherein the unextracted bit positions in the target register are filled by sorted unmasked bits.  
     
     
         17 . A method for executing a bit rake instruction comprising: 
 receiving the bit rake instruction;    decoding the bit rake instruction defining a source register, a mask register and a target register;    extracting a pattern from the source register based on a mask provided from the mask register by a processor apparatus; and    packing and justifying the pattern into the target register by a processor apparatus.    
     
     
         18 . The method of  claim 17  wherein the processor apparatus comprises an adder tree, a mask path and a data path.  
     
     
         19 . The method of  claim 18  wherein the adder tree, mask path and data path each comprise a plurality of stages.  
     
     
         20 . The method of  claim 19  wherein the mask comprises a number of groups of bits, each group size being a power of two, the method further comprising the step of: 
 computing the sum of the number of mask bits in each of the groups.  
 
     
     
         21 . The method of  claim 20  wherein the plurality of stages of the adder tree comprise adders.  
     
     
         22 . The method of  claim 21  wherein each of the stage's adders includes a sum output and a carry output, the method further comprising the step of: 
 controlling the corresponding mask path and data path stage groups utilizing the sum output and the carry output.  
 
     
     
         23 . The method of  claim 22  further comprising the step of: 
 providing group masks at each stage of the mask path for controlling selection of corresponding group data in the data path.  
 
     
     
         24 . The method of  claim 20  wherein the mask path stages and the data path stages comprise a binary shifter and at least one multiplexer.  
     
     
         25 . The method of  claim 24  wherein the depth of the binary shifter increases by one multiplexer with each stage advance.  
     
     
         26 . The method of  claim 25  wherein shifting amounts and group sizes are restricted to powers of two.  
     
     
         27 . The method of  claim 26  wherein the output of each adder has a maximum value which is a power of two.  
     
     
         28 . The method of  claim 24  further comprising the step of: 
 controlling the at least one multiplexer by an adder carry bit.  
 
     
     
         29 . The method of  claim 19  further comprising the step of: 
 packing the pattern into the least significant bit positions of the target register.  
 
     
     
         30 . The method of  claim 29  further comprising the step of: 
 filling the unextracted bit positions in the target register with a replication of the most significant extracted bit.  
 
     
     
         31 . The method of  claim 30  wherein the most significant extracted bit value is determined from the input values by determining a first asserted mask bit and selecting the corresponding data value.  32 . The method of  claim 17  wherein the unextracted bit positions in the target register are filled by sorted unmasked bits.

Join the waitlist — get patent alerts

Track US2003105945A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.