US4839839A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Barrel shifter including rotate operation
Assignee: Toshiba Corp
•
Filing: 1987-09-28
•
Granted: 1989-06-13
•
Expires: 2007-09-28
Abstract
Abstract Where an N-bit input data is rotated together with a carry bit by an N-bit or more rotate count, the actual rotate count is obtained as a remainder or modulo of x/N+1 (x: rotate count; N: data bit length). The above remainder will not be obtained by simply masking shift signals. Therefore, the remainder is calculated at high speed through hardware including a subtrahend calculator section for calculating (N+1) (i) (i=0, 1, 2, . . . ) and a subtracter section for calculating {x-(N+1) (i)} to obtain a modulo or a remainder representative of an actual rotate count.
Inventors
- 👤 Takeji Tokumaru
- 👤 Miyuki Nagata
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-04 21:42
CPC Classifications
G; G06; G06F; G06F5/00; G06F5/01; G06F5/015
Claims Analysis
Total Claims: 9
Claim 1
Independent Claim
241 words
A barrel shifter comprising: (a) shifting means for selectively shifting an N-bit input data by a given shift count in response to a plurality of shift signals indicative of a shift count in combination and outputting a 2N-bit output data; (b) ANDing means connected to said shifting means for ANDing a carry signal and a carry rotate signal to insert a carry bit behind a least significant bit position of the shifted N-bit output in cooperation with the shift signals; (c) ORing means connected to said shifting means for finding logical sums of each of N lower significant bits of the same in response to a rotate signal to obtain an N-bit rotated data without carry and logical sums of each of N lower significant bits of the 2N-bit output data and each of (N-1) higher significant bits of the same in response to a carry rotate signal to obtain an N-bit rotated data with carry; and (d) calculating means connected to said shifting means for calculating an actual shift count in accordance with a formula of x-(N+1)(i)(i=0, 1, 2, . . . where x denotes a rotate count and N denotes an input data bit length, when the rotate count x is more than the input data bit length N, and for outputting the calculated shift signals to said shifting means to rotate the N-bit data with carry by a rotate count more than the input data bit length N.
Claim 2
Dependent Claim
241 words
A barrel shifter comprising: (a) shifting means for selectively shifting an N-bit input data by a given shift count in response to a plurality of shift signals indicative of a shift count in combination and outputting a 2N-bit output data; (b) ANDing means connected to said shifting means for ANDing a carry signal and a carry rotate signal to insert a carry bit behind a least significant bit position of the shifted N-bit output in cooperation with the shift signals; (c) ORing means connected to said shifting means for finding logical sums of each of N lower significant bits of the same in response to a rotate signal to obtain an N-bit rotated data without carry and logical sums of each of N lower significant bits of the 2N-bit output data and each of (N-1) higher significant bits of the same in response to a carry rotate signal to obtain an N-bit rotated data with carry; and (d) calculating means connected to said shifting means for calculating an actual shift count in accordance with a formula of x-(N+1)(i)(i=0, 1, 2, . . . where x denotes a rotate count and N denotes an input data bit length, when the rotate count x is more than the input data bit length N, and for outputting the calculated shift signals to said shifting means to rotate the N-bit data with carry by a rotate count more than the input data bit length N.
Claim 3
Dependent Claim
55 words
The barrel shifter as et forth in claim 1, wherein said calculating means generates shift signals on the basis of a rotate count without calculation in carry-excluding rotation operation or in carry-including rotation operation of when an N-bit data is rotated with carry by a rotate count less than the input data bit length N.
Claim 4
Dependent Claim
67 words
The barrel shifter as set forth in claim 1, wherein said calculating means comprises: (a) subtrahend calculating means for calculating a subtrahend on the basis of a rotate count and in response to a carry rotate signal and an input data bit length signal; and (b) subtracting means for subtracting the calculated subtrahend from the rotate count and for outputting shift signals corresponding to the calculated subtrahend.
Claim 5
Dependent Claim
33 words
The barrel shifter as set forth in claim 3, wherein the signals indicative of an input data bit length is a byte signal of 8 bits and a word signal of 16 bits.
Claim 6
Dependent Claim
176 words
The barrel shifter as set forth in claim 4, wherein said calculating means comprises: (a) first ANDing means (53) for finding an AND product of the carry rotate signal, an 8-bit byte signal and 9 to 17 bit rotate count signals to output a subtract signal SB 1 indicative of a subtrahend of (-9); (b) second ANDing (57) means for finding an AND product of the carry rotate signal, the 8-bit byte signal and 18 to 26 bit rotate count signals to output a subtract signal SB 2 . indicative of a subtrahend of (-18); (c) third ANDing means (61) for finding an AND product of the carry rotate signal, the 8-bit byte signal, and 27 to 31 bit rotate count signals to output a subtract signal SB 3 indicative of a subtrahend of (-27), and (d) fourth ANDing means (55) for finding an AND product of the carry rotate signal, a 16-bit word signal and 17 to 31 bit rotate count signals to output a subtract signal SW 1 indicative of a subtrahend of (-17).
Claim 7
Dependent Claim
223 words
The barrel shifter as set forth in claim 5, wherein said subtracting means comprises: (a) a first subtracter (63) connected to a first least significant bit rotate count line for subtracting one bit therefrom in response to the subtract signals SB 1 , SB 3 and SW 1 to output a borrow signal and a first shift signal S 1 ; (b) a second subtracter (65) connected to a second significant bit rotate count line for subtracting one bit therefrom in response to the subtract signals SB 2 and SB 3 to output a borrow signal and a second shift signal S 2 ; (c) a third subtracter (67) connected to a third significant bit rotate count line for subtracting no bit therefrom to output a borrow signal and a third shift signal S 4 ; (d) a fourth subtracter (69) connected to a fourth significant bit rotate count line for subtracting one bit therefrom in response to the subtract signals SB 1 and SB 3 to output a borrow signal and a fourth shift signal S 8 ; and (e) a fifth subtracter (71) connected to a fifth most significant bit rotate count line for subtracting one bit therefrom in response to the subtract signal SB 2 , SB 3 and SW 1 to output a fifth shift signal S 16 .
Claim 8
Independent Claim
264 words
A method of rotating an input data with a bit length of 8 or 16 bits together with a carry bit by a rotate count more than 8 or 16 bits in a 32-bit barrel shifter, wherein an actual rotate count is determined by calculating a remainder of a division x/N+1, where x denotes a rotate count and N denotes an input data bit length, in accordance with the following steps of: (a) finding an AND product of a carry rotate signal, an 8-bit byte signal and 9 to 17 bit rotate count signals to generate a subtract signal SB 1 indicative of a subtrahend of (-9); (b) finding an AND product of the carry rotate signal, the 8-bit byte signal and 18 to 26 bit rotate count signals to generate a subtract signal SB 2 indicative of a subtrahend of (-18); (c) finding an AND product of the carry rotate signal, the 8-bit byte signal and 27 to 31 bit rotate count signals to generate a subtract signal SB 3 indicative of a subtrahend of (-27); (d) finding an AND product of the carry rotate signal, a 16-bit word signal and 17 to 31 bit rotate count signals to generate a subtract signal SW 1 indicative of a subtrahend of (-17); and (e) subtracting a subtrahend indicated by the subtract signals SB 1 , SB 2 , and SB 3 , from a 9 to 31 bit rotate count and a subtrahend indicated by the subtract signal SW 1 from a 17 to 31 bit rotate count to obtain the actual rotate count.
Claim 9
Independent Claim
264 words
A method of rotating an input data with a bit length of 8 or 16 bits together with a carry bit by a rotate count more than 8 or 16 bits in a 32-bit barrel shifter, wherein an actual rotate count is determined by calculating a remainder of a division x/N+1, where x denotes a rotate count and N denotes an input data bit length, in accordance with the following steps of: (a) finding an AND product of a carry rotate signal, an 8-bit byte signal and 9 to 17 bit rotate count signals to generate a subtract signal SB 1 indicative of a subtrahend of (-9); (b) finding an AND product of the carry rotate signal, the 8-bit byte signal and 18 to 26 bit rotate count signals to generate a subtract signal SB 2 indicative of a subtrahend of (-18); (c) finding an AND product of the carry rotate signal, the 8-bit byte signal and 27 to 31 bit rotate count signals to generate a subtract signal SB 3 indicative of a subtrahend of (-27); (d) finding an AND product of the carry rotate signal, a 16-bit word signal and 17 to 31 bit rotate count signals to generate a subtract signal SW 1 indicative of a subtrahend of (-17); and (e) subtracting a subtrahend indicated by the subtract signals SB 1 , SB 2 , and SB 3 , from a 9 to 31 bit rotate count and a subtrahend indicated by the subtract signal SW 1 from a 17 to 31 bit rotate count to obtain the actual rotate count.
References Cited (Backward Citations)
US3961750A
Cited
US4345316A
Cited
US4383304A
Cited
US4472788A
Cited
US4396994A
Cited
US4583197A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1992-06-12 | 1992-12-12 | 1993-06-13 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 1996-06-12 | 1996-12-12 | 1997-06-13 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2000-06-12 | 2000-12-12 | 2001-06-13 | $7700.00 | Window Closed / Lapsed |