JPS6382513A - バレルシフタ - Google Patents
バレルシフタInfo
- Publication number
- JPS6382513A JPS6382513A JP61226220A JP22622086A JPS6382513A JP S6382513 A JPS6382513 A JP S6382513A JP 61226220 A JP61226220 A JP 61226220A JP 22622086 A JP22622086 A JP 22622086A JP S6382513 A JPS6382513 A JP S6382513A
- Authority
- JP
- Japan
- Prior art keywords
- rotation
- shift
- bit
- bits
- input information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000001514 detection method Methods 0.000 description 26
- 238000010586 diagram Methods 0.000 description 11
- 238000000034 method Methods 0.000 description 6
- 239000000725 suspension Substances 0.000 description 2
- 239000002253 acid Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/01—Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
- G06F5/015—Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising having at least two separately controlled shifting levels, e.g. using shifting matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[発明の目的]
(B葉上の利用分野)
この発明は入力情報のキャリーを含むローテート動作に
おけるシフト量をハードウェアによる構成で算出して、
キャリーを含むローテートを高速に行なうバレルシフタ
に関する。
おけるシフト量をハードウェアによる構成で算出して、
キャリーを含むローテートを高速に行なうバレルシフタ
に関する。
(従来の技術)
情報をビット単位で循環させるキャリービットを含んだ
ローテート動作は、例えばバレルシフタを用いて行なう
ものがある。
ローテート動作は、例えばバレルシフタを用いて行なう
ものがある。
第3図及び第4図はキャリービットを含んだローテート
動作(以下「キャリー付ローテート」と呼ぶ)を行なう
バレルシフタの構成図であり、第3図はバレルシフタに
おけるシフト部の構成を示す図であり、第4図はバレル
シフタにおける0 −テート部の構成を示す図である。
動作(以下「キャリー付ローテート」と呼ぶ)を行なう
バレルシフタの構成図であり、第3図はバレルシフタに
おけるシフト部の構成を示す図であり、第4図はバレル
シフタにおける0 −テート部の構成を示す図である。
このバレルシフタは、8ビットの入力情報(Do =D
y )をローテートあるいはキャリー付ローテートする
ものであり、シフト部は8ビットの入力情報(Do=0
7)を0〜7ビット上位ビット方向(以下「左方向」と
する)ヘシフトして、キャリーCaを所定の位置に挿入
し、ローテート部は、シフト部でシフトされた入力情報
のローテート動作を行なうものである。
y )をローテートあるいはキャリー付ローテートする
ものであり、シフト部は8ビットの入力情報(Do=0
7)を0〜7ビット上位ビット方向(以下「左方向」と
する)ヘシフトして、キャリーCaを所定の位置に挿入
し、ローテート部は、シフト部でシフトされた入力情報
のローテート動作を行なうものである。
シフト部は、入力情報Do=D7をシフト信号81.8
2.34に応じて所定量だけシフトして出力端0UTO
〜0UT7,0UT8〜0uT15に出力するセレクタ
11a、11b、13a。
2.34に応じて所定量だけシフトして出力端0UTO
〜0UT7,0UT8〜0uT15に出力するセレクタ
11a、11b、13a。
13b 、 15a 、 15bと、キャリーCaをシ
フトされた入力情報Do−D7の最下位ビットD。
フトされた入力情報Do−D7の最下位ビットD。
の後に挿入するアンド回路17.19.21を有してい
る。
る。
セレクタ11aは、シフト信号S4が“1″レベルにな
ることで導通状態となり、入力情報DO〜D7を左方向
へ4ビットシフトさせ、セレクタ13aは、シフト信号
S2が“1″レベルになることで導通状態となり、この
セレクタ13aへの入力情報を左方向へ2ビットシフト
させ、セレクタ15aは、シフト信号S1が“1″レベ
ルになることで導通状態となり、このセレクタ15aへ
の入力情報を左方向へ1ビットシフトさせて、入力情報
Do−Dyを出力端0UTO−OLIT7゜0UT8〜
0LIT15に出力する。セレクタ11b、131)、
15bは、それぞれシフト信号84゜82.81が゛0
″レベルになると導通状態となり、この状態にあっては
、それぞれのセレクタへ1a〜15bによりシフト信号
81,82.84のレベルの組み合わせに応じて、左方
向へOビットから7ピツトの範囲でシフトされて、出力
端0UTO−OUT7.0tJT8〜0UT15に出力
される。
ることで導通状態となり、入力情報DO〜D7を左方向
へ4ビットシフトさせ、セレクタ13aは、シフト信号
S2が“1″レベルになることで導通状態となり、この
セレクタ13aへの入力情報を左方向へ2ビットシフト
させ、セレクタ15aは、シフト信号S1が“1″レベ
ルになることで導通状態となり、このセレクタ15aへ
の入力情報を左方向へ1ビットシフトさせて、入力情報
Do−Dyを出力端0UTO−OLIT7゜0UT8〜
0LIT15に出力する。セレクタ11b、131)、
15bは、それぞれシフト信号84゜82.81が゛0
″レベルになると導通状態となり、この状態にあっては
、それぞれのセレクタへ1a〜15bによりシフト信号
81,82.84のレベルの組み合わせに応じて、左方
向へOビットから7ピツトの範囲でシフトされて、出力
端0UTO−OUT7.0tJT8〜0UT15に出力
される。
アンド回路17.19.21は、キャリー付ローテート
信号CRが1”レベルとなり、キャリー付ローテート動
作を行なう場合に、シフトされた入力情報D(1−D7
の最下位ビットDoの後にキャリーCaを挿入するもの
である。シフト信号S4が“1”レベルの場合には、シ
フト信号82゜Slのレベルにかかわらず、キャリーC
aがアンド回路17を介して挿入され、シフト信号S4
が“0″レベル、シフト信号S2が“1°ルベルの場合
には、シフト信号S1のレベルにかかわらず、キャリー
Caはアンド回路19から挿入され、シフト信号84.
82がともに“0”レベル、シフト信号S1が“1″レ
ベルの場合には、キャリーCaはアンド回路21から挿
入される。
信号CRが1”レベルとなり、キャリー付ローテート動
作を行なう場合に、シフトされた入力情報D(1−D7
の最下位ビットDoの後にキャリーCaを挿入するもの
である。シフト信号S4が“1”レベルの場合には、シ
フト信号82゜Slのレベルにかかわらず、キャリーC
aがアンド回路17を介して挿入され、シフト信号S4
が“0″レベル、シフト信号S2が“1°ルベルの場合
には、シフト信号S1のレベルにかかわらず、キャリー
Caはアンド回路19から挿入され、シフト信号84.
82がともに“0”レベル、シフト信号S1が“1″レ
ベルの場合には、キャリーCaはアンド回路21から挿
入される。
なお、入力情報DO〜D7及びキャリーCaが出力され
ない出力端には、110 IIが供給されるようになっ
ている。
ない出力端には、110 IIが供給されるようになっ
ている。
ローテート部は、セレクタ11a〜15bと同様の機能
を有するセレクタ25.27と8個のオア回路29を有
しており、シフト部の出力結果のローテート動作及びキ
ャリー付ローテート動作を行なう。
を有するセレクタ25.27と8個のオア回路29を有
しており、シフト部の出力結果のローテート動作及びキ
ャリー付ローテート動作を行なう。
ローテート部は、ローテート動作にあって、第4図に示
しであるように出力端01JT−OtJT15に出力さ
れた値と出力端0tJTO〜0LJT7に出力された値
との論理和をとる。この時、出力端0LITOと0LI
T8・・・・・・0UT7と0UT15との論理和をと
る。キャリー付ローテート動作にあっては、出力端0U
T9〜0UT16に出力された値と出力端0UTO〜0
IJT7に出力された値との論理和をとる。この時、出
力端○LJTOとQUT9・・・0UT7とGNDレベ
ルとの論理和をとる。なお、0UT8に出力された入力
情報はキャリーフリップフロップQa F/Fに供給す
る。
しであるように出力端01JT−OtJT15に出力さ
れた値と出力端0tJTO〜0LJT7に出力された値
との論理和をとる。この時、出力端0LITOと0LI
T8・・・・・・0UT7と0UT15との論理和をと
る。キャリー付ローテート動作にあっては、出力端0U
T9〜0UT16に出力された値と出力端0UTO〜0
IJT7に出力された値との論理和をとる。この時、出
力端○LJTOとQUT9・・・0UT7とGNDレベ
ルとの論理和をとる。なお、0UT8に出力された入力
情報はキャリーフリップフロップQa F/Fに供給す
る。
このようなローテート及びキャリー付ローチー1〜動作
は、ローテート動作の場合にはローテート信号Rが゛′
1″1″になることにより、また、キャリー付ローテー
ト動作の場合にはキャリー付ローテート信号CRがパ1
”レベルになることにより、出力端0UTO−OUT7
と出力端0UT8〜0UT15との論理和演算をOR回
路29で行なうことによりなされる。
は、ローテート動作の場合にはローテート信号Rが゛′
1″1″になることにより、また、キャリー付ローテー
ト動作の場合にはキャリー付ローテート信号CRがパ1
”レベルになることにより、出力端0UTO−OUT7
と出力端0UT8〜0UT15との論理和演算をOR回
路29で行なうことによりなされる。
ところで、上述したような構成で例えば32ビットの入
力情報をローデートするバレルシフタに83いては、入
力情報は31ビットまでシフトされるので、16ビット
、8ビット、4ビット、2ビット、1ビットのシフト冊
をそれぞれ指示する5つのシフト信号816,88.5
4.82.31が必要となる。のこようなバレルシフタ
に8ビットの入力情報とキャリーCaが与えられて、9
ビット以上のシフト徂が指示された場合、例えば11ビ
ットのシフトσが指示された場合には、第5図に示す如
くキャリー付ローテート動作は行なわれないことになる
。すなわち、NビットのバレルシフタにNビット長以下
の入力情報が与えられて、入力情報のビット長以上のシ
フト伍が指示された場合に、シフト回に応じたシフト信
号では、ローテート動作及びキャリー付ローテート動作
は行なわれないことになる。
力情報をローデートするバレルシフタに83いては、入
力情報は31ビットまでシフトされるので、16ビット
、8ビット、4ビット、2ビット、1ビットのシフト冊
をそれぞれ指示する5つのシフト信号816,88.5
4.82.31が必要となる。のこようなバレルシフタ
に8ビットの入力情報とキャリーCaが与えられて、9
ビット以上のシフト徂が指示された場合、例えば11ビ
ットのシフトσが指示された場合には、第5図に示す如
くキャリー付ローテート動作は行なわれないことになる
。すなわち、NビットのバレルシフタにNビット長以下
の入力情報が与えられて、入力情報のビット長以上のシ
フト伍が指示された場合に、シフト回に応じたシフト信
号では、ローテート動作及びキャリー付ローテート動作
は行なわれないことになる。
これは、ローテート動作がローテート酸にかかわらず、
入力情報のビット長に応じて周期的に繰り返さなければ
ならないからである。そして、Nビットの入力情報のロ
ーテート動作では、Nビットのローテート毎にローテー
ト結果は同一となる(以下このことを「モジュロN」と
呼ぶ)。したがって、入力情報をNビットとするモジュ
ロNのローテート動作において、ローテート量をχとす
ると、(χ/N)の除算における際会が実際に入力情報
をローデートするローテート量となる。
入力情報のビット長に応じて周期的に繰り返さなければ
ならないからである。そして、Nビットの入力情報のロ
ーテート動作では、Nビットのローテート毎にローテー
ト結果は同一となる(以下このことを「モジュロN」と
呼ぶ)。したがって、入力情報をNビットとするモジュ
ロNのローテート動作において、ローテート量をχとす
ると、(χ/N)の除算における際会が実際に入力情報
をローデートするローテート量となる。
例えば、5つのシフト信号316.88.84゜S2,
81を用いて、入力情報を最大31ビットまでシフトす
るバレルシフタで、8ビットの入力情報をシフトしてロ
ーテート動作を行なうためには、シフト団はくローテー
ト量/8)の際会となる。この際会はO〜7までの値と
なり、シフト信号、816.S8をマスクして“OIT
とし、シフト信号84,82.81で表わされる。例え
ばローテート量を19ビットとすると、(ローテートf
f1(19)/8)の際会は3となり、実際のシフトで
は3ビットとなる。したがって、19ビットのローテー
トを行なうために、シフト信号816〜S1は(100
11)となるが、このようなシフト信号において、シフ
ト信号S16.S8をマスクしてパ0”と、シフト信号
816〜S1を(00011)とすれば、3ビットシフ
トの指示がバレルシフタに与えられることになる。
81を用いて、入力情報を最大31ビットまでシフトす
るバレルシフタで、8ビットの入力情報をシフトしてロ
ーテート動作を行なうためには、シフト団はくローテー
ト量/8)の際会となる。この際会はO〜7までの値と
なり、シフト信号、816.S8をマスクして“OIT
とし、シフト信号84,82.81で表わされる。例え
ばローテート量を19ビットとすると、(ローテートf
f1(19)/8)の際会は3となり、実際のシフトで
は3ビットとなる。したがって、19ビットのローテー
トを行なうために、シフト信号816〜S1は(100
11)となるが、このようなシフト信号において、シフ
ト信号S16.S8をマスクしてパ0”と、シフト信号
816〜S1を(00011)とすれば、3ビットシフ
トの指示がバレルシフタに与えられることになる。
このように、シフト信号316〜$1は、ローテート動
作を行なう入力情報のビット長とローテート量に応じて
、第6図に示すようになる。なお、第6図において、*
印はシフト看に応じてII 111あるいは0″の値を
とり、0印はマスクして“0”とすることを表わしてい
る。
作を行なう入力情報のビット長とローテート量に応じて
、第6図に示すようになる。なお、第6図において、*
印はシフト看に応じてII 111あるいは0″の値を
とり、0印はマスクして“0”とすることを表わしてい
る。
しかしながら、Nビットのバレルシフタにおいて、Nビ
ット以下のビット長の入力情報を、この入力情報のビッ
ト長以上のキャリー付ローテート動作を行なう場合には
、モジュロがN+1(但しNは32.16.8.4とす
る)となるために、第6図に示したように、ローテート
量/入力情報のビット長の際会に応じて、シフト信号を
マスクしたのではキャリー付ローテート動作は行なわれ
ないことになる。
ット以下のビット長の入力情報を、この入力情報のビッ
ト長以上のキャリー付ローテート動作を行なう場合には
、モジュロがN+1(但しNは32.16.8.4とす
る)となるために、第6図に示したように、ローテート
量/入力情報のビット長の際会に応じて、シフト信号を
マスクしたのではキャリー付ローテート動作は行なわれ
ないことになる。
例えば、8ビットの入力情報をキャリー付ローデートす
る場合に、ローテート量を例えば13ビットとすると、
モジュロは9となり、(ローテートI(13)/9)の
際会は4となる。これは、13ビットのローテート結果
は4ビットのローテート結果と同じになることを表わし
ており、バレルシフタにおいて入力情報を4ビットシフ
トすればよいことになる。
る場合に、ローテート量を例えば13ビットとすると、
モジュロは9となり、(ローテートI(13)/9)の
際会は4となる。これは、13ビットのローテート結果
は4ビットのローテート結果と同じになることを表わし
ており、バレルシフタにおいて入力情報を4ビットシフ
トすればよいことになる。
しかしながら、ローテート量が13ビットということは
、シフト信号816〜S1は(01101)になってお
り、このようなシフト信号816〜S1にあって、シフ
ト信号S16と88をマスクすることにより“0′°と
して、シフト信号816〜$1を(00101)とする
と、入力情報は5ビットシフトされてしまい、ローテー
ト量を4ビットするキャリー付ローテートは行なわれな
いことになる。
、シフト信号816〜S1は(01101)になってお
り、このようなシフト信号816〜S1にあって、シフ
ト信号S16と88をマスクすることにより“0′°と
して、シフト信号816〜$1を(00101)とする
と、入力情報は5ビットシフトされてしまい、ローテー
ト量を4ビットするキャリー付ローテートは行なわれな
いことになる。
このため、Nビットのバレルシフタにおいて、Nビット
未満のビット長の入力情報をローデートする場合には、
例えば入力情報が8ビットにあっては0〜7ビットまで
の範囲でしかローテート間を指示することができないこ
とになり、ローテートmは入力情報のビット長に応じて
制限されることになる。
未満のビット長の入力情報をローデートする場合には、
例えば入力情報が8ビットにあっては0〜7ビットまで
の範囲でしかローテート間を指示することができないこ
とになり、ローテートmは入力情報のビット長に応じて
制限されることになる。
そこで、ローテートmを制限しないようにするためには
Cローテート堡/(入力情報のビット数+1))の除算
を行ない、際会をシフト信号とする必要があり、この除
算は通常ソフトウェアで処理される。
Cローテート堡/(入力情報のビット数+1))の除算
を行ない、際会をシフト信号とする必要があり、この除
算は通常ソフトウェアで処理される。
例えば、32ビットのバレルシフタにおいて8ビットの
入力情報をキャリー付ローデートする場合のシフト量は
、第7図に示ずフローチャートにしたがってソフトウェ
ア処理されて決定される。
入力情報をキャリー付ローデートする場合のシフト量は
、第7図に示ずフローチャートにしたがってソフトウェ
ア処理されて決定される。
これは、まず、シフト量が判断されて(ステップ100
.101.102)、シフト量≦8の場合にはこのシフ
ト量が実際にバレルシフタに与えられるシフト量となる
。また、9≦シフト量≦17の場合には、シフト量から
9を減尊しくステップ103)、18≦シフト量≦26
の場合にはシフト量から18を減算しくステップ104
)、27≦シフト量の場合にはシフト量から27を減算
して(ステップ105)、それぞれの減算結果が実際に
バレルシフタに与えられるシフト量となる。
.101.102)、シフト量≦8の場合にはこのシフ
ト量が実際にバレルシフタに与えられるシフト量となる
。また、9≦シフト量≦17の場合には、シフト量から
9を減尊しくステップ103)、18≦シフト量≦26
の場合にはシフト量から18を減算しくステップ104
)、27≦シフト量の場合にはシフト量から27を減算
して(ステップ105)、それぞれの減算結果が実際に
バレルシフタに与えられるシフト量となる。
このようにして、ソフトウェア処理によりシフト量が決
定されるために、シフト量が27ビット以上の場合には
、5ステツプの処理を要することになり、時間がかかつ
ていた。
定されるために、シフト量が27ビット以上の場合には
、5ステツプの処理を要することになり、時間がかかつ
ていた。
(発明が解決しようとする問題点)
以上説明したように、Nビットの入力情報を処理するバ
レルシフタにおいて、Nビット未満の入力情報をキャリ
ー付ローデートするためには、ローテート量が制限され
ることになり、バレルシフタの使用条件が限定されてし
まうという不具合が生じていた。
レルシフタにおいて、Nビット未満の入力情報をキャリ
ー付ローデートするためには、ローテート量が制限され
ることになり、バレルシフタの使用条件が限定されてし
まうという不具合が生じていた。
また、ローテート量を制限することなく、入力情報のビ
ット長以上のローテート動作を行なうためには、実際に
バレルシフタに与えられるシフト量がソフトウェアより
処理されて算出されるために、このシフト量の算出に時
間がかかつていた。
ット長以上のローテート動作を行なうためには、実際に
バレルシフタに与えられるシフト量がソフトウェアより
処理されて算出されるために、このシフト量の算出に時
間がかかつていた。
したがって、入力情報のシフト動作が高速に行なわれて
も、このシフト動作のシフト量を算出すめたに時間がか
かり、全体としてのローテート動作を高速に行なうこと
が困難であるという問題があった。
も、このシフト動作のシフト量を算出すめたに時間がか
かり、全体としてのローテート動作を高速に行なうこと
が困難であるという問題があった。
そこで、この発明は、上記に鑑みてなされたものであり
、Nビットの入力情報を処理するバレルシフタにあって
、Nビット未満の入力情報における入力情報のビット長
以上のローテート量のキャリー付ローテートを行なうた
めのシフト量を高速に算出して、キャリー付ローテート
を高速に行なうことができるバレルシフタを提供するこ
とを目的とする。
、Nビットの入力情報を処理するバレルシフタにあって
、Nビット未満の入力情報における入力情報のビット長
以上のローテート量のキャリー付ローテートを行なうた
めのシフト量を高速に算出して、キャリー付ローテート
を高速に行なうことができるバレルシフタを提供するこ
とを目的とする。
[発明の構成]
(問題点を解決するための手段)
この発明のバレルシフタは、Nビットの入力情報をロー
テート間に応じて算出されたシフト量に基づいてシフト
させ、キャリーを含むローテート動作にあっては、シフ
トされた入力情報の最下位ビットの後にキャリーを挿入
して2Nビットの出力を供給するシフト手段と、キャリ
ーを含んだローテート動作におけるローテート量が入力
情報のビット長以上の場合に、入力情報のビット長及び
ローテート量に応じて (ローテート昂−(N+1)Xi )(i =0.1゜
2、・・・)の演算を行ない前記シフト量を算出するシ
フトff1G9出手段と、前記シフト手段から供給され
る下位側Nビットの出力と、ローチー1−動作及びキャ
リー付ローテート動作に応じて前記下位側Nビットの出
力にそれぞれ対応する前記シフト手段の上位側ビットの
出力との論理和を算出するローテート手段とから構成さ
れる。
テート間に応じて算出されたシフト量に基づいてシフト
させ、キャリーを含むローテート動作にあっては、シフ
トされた入力情報の最下位ビットの後にキャリーを挿入
して2Nビットの出力を供給するシフト手段と、キャリ
ーを含んだローテート動作におけるローテート量が入力
情報のビット長以上の場合に、入力情報のビット長及び
ローテート量に応じて (ローテート昂−(N+1)Xi )(i =0.1゜
2、・・・)の演算を行ない前記シフト量を算出するシ
フトff1G9出手段と、前記シフト手段から供給され
る下位側Nビットの出力と、ローチー1−動作及びキャ
リー付ローテート動作に応じて前記下位側Nビットの出
力にそれぞれ対応する前記シフト手段の上位側ビットの
出力との論理和を算出するローテート手段とから構成さ
れる。
(作用)
この発明のバレルシフタにおいては、キャリーを含んだ
ローテート動作におけるローテート量がNビットの入力
情報のビット長以上の場合には、入力情報のビット長及
びローテートmに応じて(0−7−トWi/ (N+1
)Xi )(i =1.2゜・・・)をシフトfflと
してNビットの入力情報をシフトさけ、キャリーを含む
ローテート動作にあっては、キャリーをシフトされた入
力情報の最下位のビットの後に挿入して2Nビットの情
報を作成し、2Nビットの情報のうち下位側Nビットと
この下位側Nビットにローテート/キャリー付ローテー
トに応じてそれぞれ対応する上位側ビットとの論理和を
算出して、入力情報のローテート動作およびキャリーを
含むローテート動作を行なっている。
ローテート動作におけるローテート量がNビットの入力
情報のビット長以上の場合には、入力情報のビット長及
びローテートmに応じて(0−7−トWi/ (N+1
)Xi )(i =1.2゜・・・)をシフトfflと
してNビットの入力情報をシフトさけ、キャリーを含む
ローテート動作にあっては、キャリーをシフトされた入
力情報の最下位のビットの後に挿入して2Nビットの情
報を作成し、2Nビットの情報のうち下位側Nビットと
この下位側Nビットにローテート/キャリー付ローテー
トに応じてそれぞれ対応する上位側ビットとの論理和を
算出して、入力情報のローテート動作およびキャリーを
含むローテート動作を行なっている。
(実施例〉
以下図面を用いてこの発明の一実施例を説明する。
第1図はこの発明の一実施例に係るバレルシフタのシフ
ト量算出部の構成を示す図である。このシフト量算出部
は、第3図に示したような構成で32ビットの入力情報
を処理するバレルシフタにシフト量を供給するものであ
り、5つのシフト信号31,82.84,88,816
をバレルシフタに供給するものである。
ト量算出部の構成を示す図である。このシフト量算出部
は、第3図に示したような構成で32ビットの入力情報
を処理するバレルシフタにシフト量を供給するものであ
り、5つのシフト信号31,82.84,88,816
をバレルシフタに供給するものである。
32ビットの入力情報を処理するバレルシフタにあって
は、入力情報は最大で31ビットまでシフトされるので
、第3図に示した構成によれば、シフト信号は、16ビ
ットのシフトを指示するシフト信号816.8ビットの
シフトを指示するシフト信号S8,4ビットのシフトを
指示するシフト信@84.2ビットのシフトを指示する
シフト信号S2.1ビットのシフトを指示するシフト信
号S1の合計5つのシフト信号が必要となる。そして、
これらのシフト信号の組み合せにより、入力情報はO〜
31ビットまでシフトされる。
は、入力情報は最大で31ビットまでシフトされるので
、第3図に示した構成によれば、シフト信号は、16ビ
ットのシフトを指示するシフト信号816.8ビットの
シフトを指示するシフト信号S8,4ビットのシフトを
指示するシフト信@84.2ビットのシフトを指示する
シフト信号S2.1ビットのシフトを指示するシフト信
号S1の合計5つのシフト信号が必要となる。そして、
これらのシフト信号の組み合せにより、入力情報はO〜
31ビットまでシフトされる。
また、シフト量算出部は、32ビットのバレルシフタに
16ビットあるいは8ビットの入力情報が与えられて、
バレルシフタがこれらの入力情報のビット長以上のロー
テート量のキャリー付ローテート動作を行なうべく、バ
レルシフタにシフト信号を供給するものである。
16ビットあるいは8ビットの入力情報が与えられて、
バレルシフタがこれらの入力情報のビット長以上のロー
テート量のキャリー付ローテート動作を行なうべく、バ
レルシフタにシフト信号を供給するものである。
第1図に示したシフト量算出部は、ローテート■指示線
L1〜L16から与えられるローテート量と入力情報の
ビット長との比較を行ない、ローテート量が(入力情報
のビット数+1)ビット以上の場合に、入力情報のビッ
ト数に応じた減算信号S[31,SB2.SB3.SW
lを出力する減算値算出部31と、この減算値算出部3
1から与えられる検出信号に応じた減口値を、ローテー
トM指示1911〜L16から与えられるローテートm
から減算して、シフト信号81〜S16を出力する減算
部33とから構成されている。
L1〜L16から与えられるローテート量と入力情報の
ビット長との比較を行ない、ローテート量が(入力情報
のビット数+1)ビット以上の場合に、入力情報のビッ
ト数に応じた減算信号S[31,SB2.SB3.SW
lを出力する減算値算出部31と、この減算値算出部3
1から与えられる検出信号に応じた減口値を、ローテー
トM指示1911〜L16から与えられるローテートm
から減算して、シフト信号81〜S16を出力する減算
部33とから構成されている。
ローテート借指示線L1〜L16に与えられるローテー
トmは、BCDコードで表わされており、ローテート予
指示線L1は1ビットのローテート量を表わし、以下ロ
ーテート優指示線L2は2ビット、ローテートは指示線
L4は4ビット、ローテート量指示線L8は8ビット、
ローテート伍指示線L16は16ビットのシフト量をそ
れぞれ表わしている。
トmは、BCDコードで表わされており、ローテート予
指示線L1は1ビットのローテート量を表わし、以下ロ
ーテート優指示線L2は2ビット、ローテートは指示線
L4は4ビット、ローテート量指示線L8は8ビット、
ローテート伍指示線L16は16ビットのシフト量をそ
れぞれ表わしている。
減算値算出部31は、インバータ回路、アンド回路、オ
ア回路、ノア回路を有している。
ア回路、ノア回路を有している。
ノア回路35は、それぞれの入力端子がローテート吊指
示線L2.L4.L8に接続されている。
示線L2.L4.L8に接続されている。
アンド回路37は、その一方の入力端子がノア回路35
の出力端子に接続されており、他方の入力端子がローテ
ート徂指示線L16に接続されている。オア回路3つは
、それぞれの入力ぐ々子がローテート吊指示線L1.L
2.L4.に接続されている。オア回路41は、その一
方の入力端子がローテート吊指示I!L8に接続され、
他方の入力端子がオア回路3つの出力端子に接続されて
いる。
の出力端子に接続されており、他方の入力端子がローテ
ート徂指示線L16に接続されている。オア回路3つは
、それぞれの入力ぐ々子がローテート吊指示線L1.L
2.L4.に接続されている。オア回路41は、その一
方の入力端子がローテート吊指示I!L8に接続され、
他方の入力端子がオア回路3つの出力端子に接続されて
いる。
オア回路43は、それぞれの入力端子がローテート■指
示線L2.L4.L8に接続されている。
示線L2.L4.L8に接続されている。
アンド回路45は、それぞれの入力端子がローテート最
指示線L1.L2に接続されている。オア回路47は、
その一方の入力端子がアンド回路45の出力端子に接続
されており、他方の入力端子にローテート量指示線L4
が接続されている。
指示線L1.L2に接続されている。オア回路47は、
その一方の入力端子がアンド回路45の出力端子に接続
されており、他方の入力端子にローテート量指示線L4
が接続されている。
アンド回路49は、その一方の入力端子に入力情報が8
ビットであることを示すバイト信号が与えられており、
他方の入力端子にキャリー付0−テート信@CRが与え
られている。アンド回路51は、その一方の入力端子に
入力情報が16ビットであることを示すワード信号が与
えられており、他方の入力端子にキャリー付ローテート
信号CRが与えられている。
ビットであることを示すバイト信号が与えられており、
他方の入力端子にキャリー付0−テート信@CRが与え
られている。アンド回路51は、その一方の入力端子に
入力情報が16ビットであることを示すワード信号が与
えられており、他方の入力端子にキャリー付ローテート
信号CRが与えられている。
アンド回路53は“、それぞれの入力端子がアンド回路
37の出力端子、オア回路39の出力端子、アンド回路
49の出力端子、ローテート量指示線L8に接続されて
おり、出力端子から検出信号SB1を出力する。この検
出信号SB1は、8ビットの入力情報のキャリー付ロー
テートにおいて、9ビット〜17ビットのO−テートm
がローテート量指示線L1〜L16から与え°られた場
合に、″1”レベルとなる。
37の出力端子、オア回路39の出力端子、アンド回路
49の出力端子、ローテート量指示線L8に接続されて
おり、出力端子から検出信号SB1を出力する。この検
出信号SB1は、8ビットの入力情報のキャリー付ロー
テートにおいて、9ビット〜17ビットのO−テートm
がローテート量指示線L1〜L16から与え°られた場
合に、″1”レベルとなる。
アンド回路55は、それぞれの入力端子がオア回路41
の出力端子、アンド回路51の出力端子、ローテート但
指示線116に接続されており、出力端子から検出信号
SWIを出力する。この検出信号SW1は、16ビット
の入力情報のキャリー付ローテートにおいて、17ビッ
ト〜31ビットのローテート量がローテート母指示線し
1〜L16から与えられた場合に、1”レベルとなる。
の出力端子、アンド回路51の出力端子、ローテート但
指示線116に接続されており、出力端子から検出信号
SWIを出力する。この検出信号SW1は、16ビット
の入力情報のキャリー付ローテートにおいて、17ビッ
ト〜31ビットのローテート量がローテート母指示線し
1〜L16から与えられた場合に、1”レベルとなる。
アンド回路57は、それぞれの入力端子がオア回路43
の出力端子、アンド回路49の出力端子、インバータ回
路59の出力端子、ローテート母指示線L16に接続さ
れており、出力端子から検出信号SB2を出力する。こ
の検出信号SB2は、8ビットの入力情報のキャリー付
ローテートにおいて、18ビット〜26ビットのローテ
ート聞がローテート量指示線L1〜L16から与えられ
た場合に、′1”レベルとなる。
の出力端子、アンド回路49の出力端子、インバータ回
路59の出力端子、ローテート母指示線L16に接続さ
れており、出力端子から検出信号SB2を出力する。こ
の検出信号SB2は、8ビットの入力情報のキャリー付
ローテートにおいて、18ビット〜26ビットのローテ
ート聞がローテート量指示線L1〜L16から与えられ
た場合に、′1”レベルとなる。
アンド回路61は、それぞれ°の入力端子がオア回路4
7の出力端子、アンド回路・49の出力端子、ローテー
ト量指示aL8.116に接続され、出力端子から検出
信号883を出力する。また、この出力端子はインバー
タ回路59の入力端子に接続されている。この検出信号
883は、8ビットの入力情報のキャリー付ローテート
において、27ビット〜31ビットのローテート量がロ
ーテート量指示線し1〜L16から与えられた場合に、
゛1′9レベルとなる。
7の出力端子、アンド回路・49の出力端子、ローテー
ト量指示aL8.116に接続され、出力端子から検出
信号883を出力する。また、この出力端子はインバー
タ回路59の入力端子に接続されている。この検出信号
883は、8ビットの入力情報のキャリー付ローテート
において、27ビット〜31ビットのローテート量がロ
ーテート量指示線し1〜L16から与えられた場合に、
゛1′9レベルとなる。
減算部33は、5つの減算器とオア回路とを有している
。それぞれの減算器63.65.67゜69.71は、
減算信号が減算器63.65.67.69.71に与え
られると、ローテート争指示線し1〜L16から一方の
入力端子Aに与えられるローテート量から、ボロー入力
端子Cinに与えられるボローを含み、他方の入力端子
Bに与えられる検出信号881.8B2.583.SW
Iに応じた減算値を減算する。そして、その結果を出力
端子Sから出力すとるともに、ボロー出力端子Coから
減算時に生じるボローを出力するものである。また減算
信号が与えられない場合には、それぞれの減算器63.
65.67.69.、.71は、入力端子Aに与えられ
たローテート量をそのまま出力端子Sから出力する。
。それぞれの減算器63.65.67゜69.71は、
減算信号が減算器63.65.67.69.71に与え
られると、ローテート争指示線し1〜L16から一方の
入力端子Aに与えられるローテート量から、ボロー入力
端子Cinに与えられるボローを含み、他方の入力端子
Bに与えられる検出信号881.8B2.583.SW
Iに応じた減算値を減算する。そして、その結果を出力
端子Sから出力すとるともに、ボロー出力端子Coから
減算時に生じるボローを出力するものである。また減算
信号が与えられない場合には、それぞれの減算器63.
65.67.69.、.71は、入力端子Aに与えられ
たローテート量をそのまま出力端子Sから出力する。
減i1!63は、その入力端子Aがローテート母指示線
L1に接続され、入力端子Bが検出信号S81、S83
.SWIが入力端子に与えられたオア回路73の出力端
子に1&続されており、出力端子Sからシフト信号S1
が出力される。
L1に接続され、入力端子Bが検出信号S81、S83
.SWIが入力端子に与えられたオア回路73の出力端
子に1&続されており、出力端子Sからシフト信号S1
が出力される。
減算器65は、その入力端子Aがローテート俵指示線L
2に接続され、入力端子Bが検出信号S82.383が
入力端子に与えられたオア回路75の出力端子に接続さ
れており、出力端子Sからシフト信号S2が出力される
。
2に接続され、入力端子Bが検出信号S82.383が
入力端子に与えられたオア回路75の出力端子に接続さ
れており、出力端子Sからシフト信号S2が出力される
。
減算器67は、その入力端子Aがローテート吊指示線L
4に接続され、入力端子Bがグランドに接続されており
、出力端子Sからシフト信号S4が出力される。
4に接続され、入力端子Bがグランドに接続されており
、出力端子Sからシフト信号S4が出力される。
減算器69は、その入力端子Aがローテート量指示線L
8に接続され、入力端子Bが検出信号S81、Se2が
入力端子に与えられたオア回路77の出力端子に接続さ
れており、出力端子Sからシフト信号$8が出力される
。
8に接続され、入力端子Bが検出信号S81、Se2が
入力端子に与えられたオア回路77の出力端子に接続さ
れており、出力端子Sからシフト信号$8が出力される
。
減算器71は、その入力端子Aがローテート聞指示線L
16に接続され、入力端子Bが検出信号8B2.SB3
.8WIが入力端子に与えられたオア回路79の出力端
子に接続されており、出力端子Sからシフト信号816
が出力される。
16に接続され、入力端子Bが検出信号8B2.SB3
.8WIが入力端子に与えられたオア回路79の出力端
子に接続されており、出力端子Sからシフト信号816
が出力される。
以上説明したように、この発明の一実施例は構成されて
おり、次にこの実施例の作用を第2図を用いて説明する
。
おり、次にこの実施例の作用を第2図を用いて説明する
。
32ビットの入力情報を処理するバレルシフタにおいて
、8ビットの入力情報のキャリー付ローテートを行なう
場合には、入力情報が8ビットであるのでモジュロは9
となる。したがって、実際にバレルシフタに与えられる
シフト量は、(ローテート量/9)の際会で規定される
ことになる。
、8ビットの入力情報のキャリー付ローテートを行なう
場合には、入力情報が8ビットであるのでモジュロは9
となる。したがって、実際にバレルシフタに与えられる
シフト量は、(ローテート量/9)の際会で規定される
ことになる。
この際会はローテート1からローテート量に応じた減算
値を減算することにより算出しており、ローテートmが
9ビット〜17ビットにおける減算値は9.ローテート
量が18ビット〜26ビットにおける減算値は18.ロ
ーテート層が27ビット〜31ビットにおける減算値は
27となる。
値を減算することにより算出しており、ローテートmが
9ビット〜17ビットにおける減算値は9.ローテート
量が18ビット〜26ビットにおける減算値は18.ロ
ーテート層が27ビット〜31ビットにおける減算値は
27となる。
8ビットの入力情報のキャリー付ローテートにおいては
、バイト信号及びキャリー付ローテート信号が′″1″
1″レベル、ローテート量指示線L1〜L16から減算
値算出部31にOピットル8ビットのローテート量が与
えられると、検出信号SB1.SB2.883.SW3
はすべて“0゛ルベルとなる。これにより、減算部33
では与えられたローテート量からの減算は行なわれず、
ローテート量指示線L1〜L16に与えられたローテー
トmは、そのままシフト信号81〜S16として出力さ
れる。
、バイト信号及びキャリー付ローテート信号が′″1″
1″レベル、ローテート量指示線L1〜L16から減算
値算出部31にOピットル8ビットのローテート量が与
えられると、検出信号SB1.SB2.883.SW3
はすべて“0゛ルベルとなる。これにより、減算部33
では与えられたローテート量からの減算は行なわれず、
ローテート量指示線L1〜L16に与えられたローテー
トmは、そのままシフト信号81〜S16として出力さ
れる。
ローテート旦指示線し1〜L16から9ビット〜17ビ
ットのローテート量が与えられると、検出信号SB1が
ll I ITレベルとなり、この検出信号SBIが減
算器63.69の入力端子Bに供給される。そして、減
算部33において、与えられた9ビット〜17ビットの
ローテートのから減算119(01001)が減算され
て、その結果(0〜8)がシフト信号81〜316とし
て実際にバレルシフタに与えられるシフト量となる。
ットのローテート量が与えられると、検出信号SB1が
ll I ITレベルとなり、この検出信号SBIが減
算器63.69の入力端子Bに供給される。そして、減
算部33において、与えられた9ビット〜17ビットの
ローテートのから減算119(01001)が減算され
て、その結果(0〜8)がシフト信号81〜316とし
て実際にバレルシフタに与えられるシフト量となる。
ローテート箇指示線し1〜し16から18ビット〜26
ビットのローテート量が与えられると、検出信号8B2
が′1”レベルとなり、この検出信号8B2が減算器6
5.71の入力端子Bに供給される。そして、減算部3
3において、与えられた18ビット〜26ビットのロー
テート量がら減算値18 (10010)が減算されて
1、その結果(O〜8)がシフト信号$1〜S16とし
てバレルシフタに与えられるシフト量となる。
ビットのローテート量が与えられると、検出信号8B2
が′1”レベルとなり、この検出信号8B2が減算器6
5.71の入力端子Bに供給される。そして、減算部3
3において、与えられた18ビット〜26ビットのロー
テート量がら減算値18 (10010)が減算されて
1、その結果(O〜8)がシフト信号$1〜S16とし
てバレルシフタに与えられるシフト量となる。
ローテート沿指示線L1〜L16がら27ビット〜31
ビットのローテート量が与えられると、検出信号SB3
が゛1″レベルとなり、この検出信号SB3が減算器6
3,65,69.71の入:h端子Bに供給される。そ
して、減算部33において、与えられた27ビット〜3
1ビットのローテート量から減算値27(11011)
が減算されて、その結果(O〜8)がシフト信号として
バレルシフタに与えられるシフト量となる。
ビットのローテート量が与えられると、検出信号SB3
が゛1″レベルとなり、この検出信号SB3が減算器6
3,65,69.71の入:h端子Bに供給される。そ
して、減算部33において、与えられた27ビット〜3
1ビットのローテート量から減算値27(11011)
が減算されて、その結果(O〜8)がシフト信号として
バレルシフタに与えられるシフト量となる。
次に、16ビットの入力情報のキャリー付ローテートを
行なう場合には、入力情報は16ビットであるので、モ
ジュロは17となる。したがって、実際にバレルシフタ
に与えられるシフト】は、(ローテートffi/17)
の際会で規定されることになる。この際会は、ローテー
ト量からローテート量に応じた減算値を減算することに
より算出しており、ローテート量が17ビット〜31ビ
ットにおける減算値は17となる。
行なう場合には、入力情報は16ビットであるので、モ
ジュロは17となる。したがって、実際にバレルシフタ
に与えられるシフト】は、(ローテートffi/17)
の際会で規定されることになる。この際会は、ローテー
ト量からローテート量に応じた減算値を減算することに
より算出しており、ローテート量が17ビット〜31ビ
ットにおける減算値は17となる。
16ビットの入力情報のキャリー付ローテートにおいて
は、ワード信号及びキャリー付ローテート信号CRが“
1″レベルとなり、ローテート吊指示線L1〜L16か
らOピットル16ビットのローテート量が与えられると
、検出信号SBI。
は、ワード信号及びキャリー付ローテート信号CRが“
1″レベルとなり、ローテート吊指示線L1〜L16か
らOピットル16ビットのローテート量が与えられると
、検出信号SBI。
SB2.8B3.SWlはすべて゛O″レベルとなる。
これにより、減算部33では与えられたローテート量か
らの減算は行なわれず、ローテート量指示線L1〜L1
6に与えられたローテート量は、そのままシフト信号8
1〜816として出力される。
らの減算は行なわれず、ローテート量指示線L1〜L1
6に与えられたローテート量は、そのままシフト信号8
1〜816として出力される。
ローテート量指示線L1〜L16から17ビットル31
ビットのローテート量が与えられた場合には、検出信号
SW1が゛1″レベルとなり、この検出信号SW1が減
算器63.71の入力端子Bに供給される。そして、減
算部33において、与えられた17ビット〜31ビット
のローテート看から減算値17(10001)が減算さ
れてその結果(0〜14)がシフト信号81〜S16と
して実際にバレルシフタに与えられるシフト量となる。
ビットのローテート量が与えられた場合には、検出信号
SW1が゛1″レベルとなり、この検出信号SW1が減
算器63.71の入力端子Bに供給される。そして、減
算部33において、与えられた17ビット〜31ビット
のローテート看から減算値17(10001)が減算さ
れてその結果(0〜14)がシフト信号81〜S16と
して実際にバレルシフタに与えられるシフト量となる。
入力情報が32ビットの場合には、バイト信号及びワー
ド信号がともに“OIIレベルとなるため、ローテート
量にかかわらず検出信号8B1.SB2、SB3.3W
Iはすべて“O”レベルとなり、さらに、減算信号も減
算部33に供給されない。
ド信号がともに“OIIレベルとなるため、ローテート
量にかかわらず検出信号8B1.SB2、SB3.3W
Iはすべて“O”レベルとなり、さらに、減算信号も減
算部33に供給されない。
このため、ローテート量指示線L1〜116に与えられ
たローテート量は、そのままシフト信号81〜816と
してバレルシフタに供給される。
たローテート量は、そのままシフト信号81〜816と
してバレルシフタに供給される。
また、入力情報が8ビット、16ビット、32ビットで
キャリーを含まないローテート動作にあっても、キャリ
ー付ローテート信号が゛0″レベルどなることにより、
検出信号及び減算信号とも、すべてOとなり、ローテー
ト量指示線し1〜L16に与えられたローテート量は、
そのままシフト信号81〜816としてバレルシフタに
供給される。
キャリーを含まないローテート動作にあっても、キャリ
ー付ローテート信号が゛0″レベルどなることにより、
検出信号及び減算信号とも、すべてOとなり、ローテー
ト量指示線し1〜L16に与えられたローテート量は、
そのままシフト信号81〜816としてバレルシフタに
供給される。
このように、この実施例にあっては、32ビットの入力
情報を処理するバレルシフタによる8ビット及び16ビ
ットの入力情報のキャリー付ローテート動作において、
入力情報のビット長以上のローテート量のローテート動
作に対して、入力情報のビット長及びローテート量に応
じてバレルシフタに与えられるシフト量が、ソフトウェ
ア処理によらずハードウェアにより算出されるために、
シフト量が高速に締出されることになる。
情報を処理するバレルシフタによる8ビット及び16ビ
ットの入力情報のキャリー付ローテート動作において、
入力情報のビット長以上のローテート量のローテート動
作に対して、入力情報のビット長及びローテート量に応
じてバレルシフタに与えられるシフト量が、ソフトウェ
ア処理によらずハードウェアにより算出されるために、
シフト量が高速に締出されることになる。
[発明の効果]
以上説明したように、この発明によれば、キャリーを含
んだローテート動作におけるローテート量が入力情報の
ビット長以上の場合に、入力情報のビット長及びローテ
ート量に応じてシフト量をハードウェアにより算出する
ようにしたので、シフト量が高速に算出することができ
るようになり、ローテート動作を高速に行なうバレルシ
フタを提供することができる。
んだローテート動作におけるローテート量が入力情報の
ビット長以上の場合に、入力情報のビット長及びローテ
ート量に応じてシフト量をハードウェアにより算出する
ようにしたので、シフト量が高速に算出することができ
るようになり、ローテート動作を高速に行なうバレルシ
フタを提供することができる。
第1図は発明の一実施例に係るバレルシフタのシフト量
算出部の構成図、第2図は第1図の算出結果を説明する
ための説明図、第3図はバレルシフタのシフト部の構成
図、第4図はバレルシフタのローテート部の構成図、第
5図はローテート動作の結果を説明するための説明図、
第6図は入力情報及びシフト量とシフト信号との関係を
説明するための図、第7図はソフトウェア処理でシフド
ロを算出する場合のフローチャートである。 (図の主要な部分を表わす符号の説明)31・・・減口
値算出部 33・・・減算部 箪 1 刃 シフト量 工 バレルシフタ 棺 7図
算出部の構成図、第2図は第1図の算出結果を説明する
ための説明図、第3図はバレルシフタのシフト部の構成
図、第4図はバレルシフタのローテート部の構成図、第
5図はローテート動作の結果を説明するための説明図、
第6図は入力情報及びシフト量とシフト信号との関係を
説明するための図、第7図はソフトウェア処理でシフド
ロを算出する場合のフローチャートである。 (図の主要な部分を表わす符号の説明)31・・・減口
値算出部 33・・・減算部 箪 1 刃 シフト量 工 バレルシフタ 棺 7図
Claims (3)
- (1)Nビットの入力情報をローテート量に応じて算出
されたシフト量に基づいてシフトさせ、キャリーを含む
ローテート動作にあつては、シフトされた入力情報の最
下位ビットの後にキャリーを挿入して2Nビットの出力
を供給するシフト手段と、キャリーを含んだローテート
動作におけるローテート量が入力情報のビット長以上の
場合に、入力情報のビット長及びローテート量に応じて
{ローテート量−(N+1)×i}(i=0、1、2、
・・・)の演算を行ない前記シフト量を算出するシフト
量算出手段と、前記シフト手段から供給される下位側N
ビットの出力と、ローテート動作およびキャリー付ロー
テート動作に応じて前記下位側Nビットの出力にそれぞ
れ対応する前記シフト手段の上位側ビットの出力との論
理和を算出するローテート手段とを有することを特徴と
するバレルシフタ。 - (2)前記シフト手段は、32ビットの入力情報を1ビ
ットのシフト動作を行なうセレクタと2ビットのシフト
動作を行なうセレクタと4ビットのシフト動作を行なう
セレクタと8ビットのシフト動作行なうセレクタと16
ビットのシフト動作を行なうセレクタとにより、0ビッ
ト〜31ビットの範囲でシフト動作を行なうことを特徴
とする特許請求の範囲第1項に記載のバレルシフタ。 - (3)前記シフト量算出手段はキャリー付ローテートに
おいて、ローテート量が(入力情報のビット数+1)ビ
ット以上の場合に入力情報のビット長に応じた減算値を
口出する減算値算出部と、この減算値算出部により算出
された減算値をローテート量から減算する減算部とから
構成されていることを特徴とする特許請求の範囲第1項
記載のバレルシフタ。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61226220A JPS6382513A (ja) | 1986-09-26 | 1986-09-26 | バレルシフタ |
US07/101,640 US4839839A (en) | 1986-09-26 | 1987-09-28 | Barrel shifter including rotate operation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61226220A JPS6382513A (ja) | 1986-09-26 | 1986-09-26 | バレルシフタ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6382513A true JPS6382513A (ja) | 1988-04-13 |
JPH0379734B2 JPH0379734B2 (ja) | 1991-12-19 |
Family
ID=16841775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61226220A Granted JPS6382513A (ja) | 1986-09-26 | 1986-09-26 | バレルシフタ |
Country Status (2)
Country | Link |
---|---|
US (1) | US4839839A (ja) |
JP (1) | JPS6382513A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001143722A (ja) * | 1999-08-27 | 2001-05-25 | Nisshinbo Ind Inc | 燃料電池セパレータの製造装置及び製造方法 |
US7424504B2 (en) | 1997-04-18 | 2008-09-09 | Certicom Corp. | Arithmetic processor for accomodating different field sizes |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5327541A (en) * | 1989-10-13 | 1994-07-05 | Texas Instruments Inc. | Global rotation of data in synchronous vector processor |
JPH087668B2 (ja) * | 1990-02-07 | 1996-01-29 | 株式会社東芝 | ダイナミックバレルシフタ |
JPH0421025A (ja) * | 1990-05-15 | 1992-01-24 | Toshiba Corp | 左右シフタ |
JP2556612B2 (ja) * | 1990-08-29 | 1996-11-20 | 日本電気アイシーマイコンシステム株式会社 | バレルシフタ回路 |
JPH05134848A (ja) * | 1991-03-06 | 1993-06-01 | Fujitsu Ltd | 中央処理装置のデータシフト回路 |
US5282152A (en) * | 1992-03-31 | 1994-01-25 | Vlsi Technology, Inc. | Integer-based 18-bit RGB to 5-bit gray scale conversion device and method therefor |
US5379240A (en) * | 1993-03-08 | 1995-01-03 | Cyrix Corporation | Shifter/rotator with preconditioned data |
JPH0778068A (ja) * | 1993-06-30 | 1995-03-20 | Mitsubishi Denki Eng Kk | 半導体集積回路 |
US5745744A (en) * | 1995-10-12 | 1998-04-28 | International Business Machines Corporation | High speed mask generation using selection logic |
US5729482A (en) * | 1995-10-31 | 1998-03-17 | Lsi Logic Corporation | Microprocessor shifter using rotation and masking operations |
US5844825A (en) * | 1996-09-03 | 1998-12-01 | Wang; Song-Tine | Bidirectional shifter circuit |
US5822231A (en) * | 1996-10-31 | 1998-10-13 | Samsung Electronics Co., Ltd. | Ternary based shifter that supports multiple data types for shift functions |
US5948050A (en) * | 1996-12-19 | 1999-09-07 | Lucent Technologies Inc. | Fast conversion two's complement encoded shift value for a barrel shifter |
US5991786A (en) * | 1997-12-19 | 1999-11-23 | Advanced Micro Devices, Inc. | Circuit and method for shifting or rotating operands of multiple size |
US6006244A (en) * | 1997-12-19 | 1999-12-21 | Advanced Micro Devices, Inc. | Circuit for shifting or rotating operands of multiple size |
US6035310A (en) * | 1997-12-19 | 2000-03-07 | Advanced Micro Devices, Inc. | Method and circuit for performing a shift arithmetic right operation |
US6122651A (en) * | 1998-04-08 | 2000-09-19 | Advanced Micro Devices, Inc. | Method and apparatus for performing overshifted rotate through carry instructions by shifting in opposite directions |
US6308189B1 (en) | 1998-06-03 | 2001-10-23 | International Business Machines Corporation | Apparatus for partial logical shifts and method therefor |
US6675182B1 (en) * | 2000-08-25 | 2004-01-06 | International Business Machines Corporation | Method and apparatus for performing rotate operations using cascaded multiplexers |
TWI273388B (en) * | 2004-06-08 | 2007-02-11 | Mediatek Inc | Method and apparatus for processing multiple decomposed data for calculating key equation polynomials in decoding error correction code |
FR2914447B1 (fr) * | 2007-03-28 | 2009-06-26 | St Microelectronics Sa | Dispositif electronique de decalage de donnees en particulier pour du codage/decodage avec un code ldpc |
US8041755B2 (en) * | 2007-06-08 | 2011-10-18 | Apple Inc. | Fast static rotator/shifter with non two's complemented decode and fast mask generation |
US20090182988A1 (en) * | 2008-01-11 | 2009-07-16 | International Business Machines Corporation | Compare Relative Long Facility and Instructions Therefore |
US9280480B2 (en) | 2008-01-11 | 2016-03-08 | International Business Machines Corporation | Extract target cache attribute facility and instruction therefor |
US7734900B2 (en) | 2008-01-11 | 2010-06-08 | International Business Machines Corporation | Computer configuration virtual topology discovery and instruction therefore |
US7870339B2 (en) * | 2008-01-11 | 2011-01-11 | International Business Machines Corporation | Extract cache attribute facility and instruction therefore |
US20090182985A1 (en) * | 2008-01-11 | 2009-07-16 | International Business Machines Corporation | Move Facility and Instructions Therefore |
US7895419B2 (en) | 2008-01-11 | 2011-02-22 | International Business Machines Corporation | Rotate then operate on selected bits facility and instructions therefore |
US20090182984A1 (en) * | 2008-01-11 | 2009-07-16 | International Business Machines Corporation | Execute Relative Long Facility and Instructions Therefore |
US7739434B2 (en) | 2008-01-11 | 2010-06-15 | International Business Machines Corporation | Performing a configuration virtual topology change and instruction therefore |
US20090182992A1 (en) * | 2008-01-11 | 2009-07-16 | International Business Machines Corporation | Load Relative and Store Relative Facility and Instructions Therefore |
US8972469B2 (en) | 2011-06-30 | 2015-03-03 | Apple Inc. | Multi-mode combined rotator |
US9959247B1 (en) | 2017-02-17 | 2018-05-01 | Google Llc | Permuting in a matrix-vector processor |
US11106438B2 (en) * | 2020-03-27 | 2021-08-31 | Intel Corporation | Integration of automated complier dataflow optimizations |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3961750A (en) * | 1974-04-05 | 1976-06-08 | Signetics Corporation | Expandable parallel binary shifter/rotator |
JPS5523501A (en) * | 1978-06-29 | 1980-02-20 | Fujitsu Ltd | Shift operation unit |
JPS5652441A (en) * | 1979-10-05 | 1981-05-11 | Pioneer Electronic Corp | Programmable bit shift circuit |
JPS5750049A (en) * | 1980-09-09 | 1982-03-24 | Toshiba Corp | Shifting circuit |
US4396994A (en) * | 1980-12-31 | 1983-08-02 | Bell Telephone Laboratories, Incorporated | Data shifting and rotating apparatus |
US4583197A (en) * | 1983-06-30 | 1986-04-15 | International Business Machines Corporation | Multi-stage pass transistor shifter/rotator |
-
1986
- 1986-09-26 JP JP61226220A patent/JPS6382513A/ja active Granted
-
1987
- 1987-09-28 US US07/101,640 patent/US4839839A/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7424504B2 (en) | 1997-04-18 | 2008-09-09 | Certicom Corp. | Arithmetic processor for accomodating different field sizes |
JP2001143722A (ja) * | 1999-08-27 | 2001-05-25 | Nisshinbo Ind Inc | 燃料電池セパレータの製造装置及び製造方法 |
Also Published As
Publication number | Publication date |
---|---|
JPH0379734B2 (ja) | 1991-12-19 |
US4839839A (en) | 1989-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS6382513A (ja) | バレルシフタ | |
US4727508A (en) | Circuit for adding and/or subtracting numbers in logarithmic representation | |
JP2689414B2 (ja) | 浮動小数点表現変換器 | |
JPH0391832A (ja) | 加算回路 | |
JPH0317132B2 (ja) | ||
US4977534A (en) | Operation circuit based on floating-point representation with selective bypass for increasing processing speed | |
JPH0374419B2 (ja) | ||
JP3213982B2 (ja) | 除算回路 | |
JPH01207823A (ja) | 浮動小数点数一固定小数点数変換装置 | |
JP2605848B2 (ja) | 非回復型除算器 | |
JP3187402B2 (ja) | 浮動小数点データ加減算回路 | |
JP2674507B2 (ja) | ビット誤り数算出回路 | |
JP2575856B2 (ja) | 演算回路 | |
JP2996024B2 (ja) | 乗算回路 | |
JPH0553768A (ja) | 除算器 | |
JP3109080B2 (ja) | 語長制限回路 | |
JPH0778724B2 (ja) | 除算器 | |
JP2821289B2 (ja) | シフト量算出回路および方法 | |
Mitchell et al. | How computers process data | |
JP3528334B2 (ja) | データセレクト回路 | |
KR20030078541A (ko) | Dsp에서 가드 비트 처리가 간단한 연산 장치 및 상기연산 장치에서 가드 비트 처리 방법 | |
JPS63197220A (ja) | 正規化回路 | |
JPH02267625A (ja) | 浮動小数点演算を用いた整数部取出し方式 | |
JPS62245433A (ja) | 浮動小数点演算回路 | |
JPH06274319A (ja) | 乱数発生装置 |