JP3378444B2 - シフト回路 - Google Patents
シフト回路Info
- Publication number
- JP3378444B2 JP3378444B2 JP21004596A JP21004596A JP3378444B2 JP 3378444 B2 JP3378444 B2 JP 3378444B2 JP 21004596 A JP21004596 A JP 21004596A JP 21004596 A JP21004596 A JP 21004596A JP 3378444 B2 JP3378444 B2 JP 3378444B2
- Authority
- JP
- Japan
- Prior art keywords
- shift
- shift circuit
- selector
- input
- signal
- 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.)
- Expired - Fee Related
Links
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
- G06F7/768—Data position reversal, e.g. bit reversal, byte swapping
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Shift Register Type Memory (AREA)
Description
なる入力データを上位又は下位方向に所定量シフトする
シフト回路に関し、特にマイクロプロセッサやDSP
(ディジタル・シグナル・プロセッサ)等に使用される
シフト回路に関する。
えば図9に示すものが知られている。
ビットの入力データa[31:0]を受けて上位(図面
左)又は下位(図面右)方向に所定のビット数シフトし
て、32ビットの出力データb[31:0]を得る。
0〜7ビットのシフトを行う第1のシフト回路101
と、この第1のシフト回路101のシフト結果を受けて
8ビットのシフトを行う第2のシフト回路102と、こ
の第2のシフト回路102のシフト結果を受けて16ビ
ットのシフトを行う第3のシフト回路103が縦続接続
されて構成されている。それぞれのシフト回路101、
102、103にはシフト方向を示すシフトレフト信号
が共通に与えられ、シフトレフト信号がアクティブ(例
えば“1”レベル)ならば上位方向にシフトされ、非ア
クティブ(“0”レベル)ならば下位方向にシフトされ
る。シフトされるビット数は、2進数としてエンコード
されたシフト量信号(S4,S3,S2,S1,S0)
で指示され、3ビットのシフト量信号S0,S1,S2
が第1のシフト回路101に与えられ、1ビットのシフ
ト量信号S3が第2のシフト回路102に与えられ、1
ビットのシフト量信号S4が第3のシフト回路103に
与えられている。
102は、4つのセレクタ102a,102b,102
c,102dからなり、それぞれのセレクタは図10に
示すように3入力(A[7:0],B[7:0],C
[7:0])1出力(Y[7:0])のセレクタから構
成され、それぞれのセレクタ102a〜102dにはシ
フトレフト信号と8ビットのシフトを示すシフト量信号
S3が共通に与えられている。それぞれのセレクタ10
2a〜102dは、シフト量信号が“1”レベルにおい
てシフトレフト信号が“1”レベルであれば入力Aを選
択し、シフトレフト信号が“0”レベルであれば入力C
を選択し、シフト量信号が“0”レベルであるならばシ
フトレフト信号にかかわらず入力Bを選択し、出力Yと
している。
第1のシフト回路101の出力[23:16]とし、入
力B[7:0]を第1のシフト回路101の出力[3
1:24]とし、入力C[7:0]を“0”とし、セレ
クタ102bは、入力A[7:0]を第1のシフト回路
101の出力[15:8]とし、入力B[7:0]を第
1のシフト回路101の出力[23:16]とし、入力
C[7:0]を第1のシフト回路101の出力[31:
24]とし、セレクタ102cは、入力A[7:0]を
第1のシフト回路101の出力[7:0]とし、入力B
[7:0]を第1のシフト回路101の出力[15:
8]とし、入力C[7:0]を第1のシフト回路101
の出力[23:16]とし、セレクタ102dは、入力
A[7:0]を“0”とし、入力B[7:0]を第1の
シフト回路101の出力[7:0]とし、入力C[7:
0]を第1のシフト回路101の出力[15:8]とし
ている。
路103は、4つのセレクタ103a,103b,10
3c,103dからなり、それぞれのセレクタ103a
〜103dにはシフトレフト信号と16ビットのシフト
を示すシフト量信号S4が共通に与えられている。それ
ぞれのセレクタ103a〜103dは、シフト量信号が
“1”レベルにおいてシフトレフト信号が“1”レベル
であれば入力Aを選択し、シフトレフト信号が“0”レ
ベルであれば入力Cを選択し、シフト量信号が“0”レ
ベルであるならばシフトレフト信号にかかわらず入力B
を選択し、出力Yとしている。
第2のシフト回路102のセレクタ102cの出力[1
5:8]とし、入力B[7:0]を第2のシフト回路1
02のセレクタ102aの出力[31:24]とし、入
力C[7:0]を“0”とし、セレクタ103bは、入
力A[7:0]を第2のシフト回路102のセレクタ1
2dの出力[7:0]とし、入力B[7:0]を第2の
シフト回路102のセレクタ102bの出力[23:1
6]とし、入力C[7:0]を“0”とし、セレクタ1
03cは、入力A[7:0]を“0”とし、入力B
[7:0]を第2のシフト回路102のセレクタ102
cの出力[15:8]とし、入力C[7:0]を第2の
シフト回路102のセレクタ102aの出力[31:2
4]とし、セレクタ103dは、入力A[7:0]を
“0”とし、入力B[7:0]を第2のシフト回路10
2のセレクタ102dの出力[7:0]とし、入力C
[7:0]を第2のシフト回路102のセレクタ102
bの出力[23:16]としている。
号が“1”レベルであれば、出力データbは、a[31-
(S4,S3,S2,S1,S0):0]‖0 (S4,S3,S2,S1,S0)と表され、
シフトレフト信号が“0”レベルであれば、出力データ
bは、0 (S4,S3,S2,S1,S0)‖a[31:(S4,S3,S2,S1,S0)]
と表されるように動作する。なお、‖はビットの連結を
示し、0 (S4,S3,S2,S1,S0)は(S4,S3,S2,S1,S0)ビット分
の“0”を示すものとする。
ては、シフト方向を示す信号がそれぞれのシフト回路1
01,102,103に共通に入力されていた。すなわ
ち、3つのシフト回路101,102,103は同時に
同一方向のシフトしかできなかった。また、第2のシフ
ト回路102及び第3のシフト回路103は、それぞれ
のシフト回路を構成するセレクタにシフト量信号が共通
に入力されていた。すなわち、それぞれのセレクタはす
べて同時にシフト量信号で示されるビット数のシフトを
行うか否かであって、それぞれセレクタ毎に個別にシフ
トを行うことができなかった。
路100にあっては、入力データの全ビットを一括して
単に上位又は下位方向に所定のビット数シフトすること
しかできず、例えば入力データa[31:0](A[3
1:24],B[23:16],C[15:8],D
[7:0])のそれぞれのバイトデータA,B,C,D
の順序を操作して出力データb[31:0](D[3
1:24],C[23:16],B[15:8],A
[7:0])とするバイトリバース操作等の様々なシフ
ト操作を容易に行うことができなかった。このため、こ
れらのシフト操作を行うためには、専用の回路が必要に
なっていた。
従来のシフト回路にあって、入力データに対してすべて
同一方向かつ全ビットが一括してシフトされていたの
で、一部のビットだけを独立してシフトしたり、入力デ
ータの部分毎にシフトする方向やシフト量を変えるとい
った様々なシフト操作を行うことができなかった。この
ため、プロセッサ等で要求される様々なデータ操作を行
うことができず、データ操作の面で汎用性を欠いてい
た。
作を行う場合には専用のハードウェアを用意する必要が
あり、構成の複雑化や大型化を招いていた。
たものであり、その目的とするところは、入力データに
対してシフト操作を多様化し、様々なデータ操作を可能
にしたシフト回路を提供することにある。
に、課題を解決する第1の手段は、第1段目のシフト回
路は、2nビット(n≧5)からなる入力データを受
け、この入力データを上位又は下位方向に0〜7ビット
シフトし、この結果を第2段目のシフト回路に与え、第
2段目から第m(2≦m≦n−2)段目のシフト回路は
前段のシフト回路の2nビットのシフト結果を受けて、
該シフト結果をバイト単位で、それぞれ独立して上位又
は下位方向に2(m+1)ビットシフトすることを特徴
とする。
前記第2段目のシフト回路は、バイト単位の複数のセレ
クタから構成され、各セレクタにはそれぞれ独立したシ
フトレフト信号及びシフト量信号が与えられることを特
徴とする。
前記m(m≧3)段目のシフト回路は、バイト単位の複
数のセレクタから構成され、各セレクタにはそれぞれ独
立したシフトレフト信号及びシフト量信号が与えられる
ことを特徴とする。第4の手段は、前記第2又は第3の
手段において、前記セレクタは、第1、第2及び第3の
入力の内の特定の1つの入力を選択する3入力1出力の
セレクタであることを特徴とする。第5の手段は、前記
第4の手段において、前記セレクタは、シフト量信号が
“1”であれば、シフトレフト信号“1”の時に第1の
入力を選択し、シフトレフト信号“0”の時には第3の
入力を選択し、シフト量信号が“0”であれば、シフト
レフト信号の値にかかわらず第2の入力を選択すること
を特徴とする。第6の手段は、前記第4の手段におい
て、前記複数のセレクタの内の最下位のセレクタの第1
の入力及び最上位のセレクタの第3の入力が“0”であ
ることを特徴とする。第7の手段は、前記第4の手段に
おいて、前記セレクタの第1又は第3の入力は“0”で
あることを特徴とする。第8の手段は、前記第1の手段
において、前記第2段目から第m段目のシフト回路は、
バイト単位で選択的に“0”を出力することを特徴とす
る。第9の手段は、第1、第2及び第3段目のシフト回
路を有するシフト回路であって、第1段目のシフト回路
は、16ビットからなる入力データを受けて、この入力
データを上位又は下位方向に0〜3ビットシフトし、そ
の結果を第2段目のシフト回路に与え、第2段目のシフ
ト回路は、第1段目のシフト回路のシフト結果を受け
て、該シフト結果を4ビット単位で、それぞれ独立して
上位又は下位方向に4ビットシフトし、第3段目のシフ
ト回路は、第2段目のシフト回路のシフト結果を受け
て、該シフト結果を4ビット単位で、それぞれ独立して
上位又は下位方向に8ビットシフトすることを特徴とす
る。第10の手段は、前記第9の手段において、前記第
2及び第3段目のシフト回路は、それぞれ4ビット単位
の複数のセレクタから構成され、各セレクタには、それ
ぞれ独立したシフトレフト信号及びシフト量信号が与え
られることを特徴とする。第11の手段は、前記第10
の手段において、前記セレクタは、第1、第2及び第3
の入力の内の特定の1つの入力を選択する3入力1出力
のセレクタであることを特徴とする。第12の手段は、
前記第11の手段において、前記セレクタは、シフト量
信号が“1”であれば、シフトレフト信号“1”の時に
1の入力を選択し、シフトレフト信号“0”の時には第
3の入力を選択し、シフト量信号が“0”であれば、シ
フトレフト信号の値にかかわらず第2の入力を選択する
ことを特徴とする。第13の手段は、前記第11の手段
において、前記第2段目のシフト回路を構成している複
数のセレクタの内の最下位のセレクタの第1の入力及び
最上位のセレクタの第3の入力が“0”であることを特
徴とする。第14の手段は、前記第11の手段におい
て、前記第3段目のシフト回路を構成している各セレク
タの第1又は第3の入力が“0”であることを特徴とす
る。第15の手段は、前記第10の手段において、前記
第2及び第3段目のシフト回路は4ビット単位で選択的
に“0”を出力することを特徴とする。
施の形態を説明する。
ト回路の構成を示す図である。
トの入力データa[31:0]を受けて上位(図面左)
又は下位(図面右)方向に所定のビット数シフトして、
32ビットの出力データb[31:0]として出力す
る。
7ビットのシフトを行う第1のシフト回路1と、この第
1のシフト回路1の32ビットのシフト結果を受けてバ
イト単位で8ビットのシフトを行う第2のシフト回路2
と、この第2のシフト回路2の32ビットのシフト結果
を受けてバイト単位で16ビットのシフトを行う第3の
シフト回路3が縦続接続されて構成されている。
シフト回路101と同様であり、シフト方向を示すシフ
トレフト信号がアクティブ(例えば“1”レベル)なら
ば入力データを上位方向にシフトし、非アクティブ
(“0”レベル)ならば下位方向にシフトする。シフト
するビット数は、2進数としてエンコードされた3ビッ
トのシフト量信号(S2,S1,S0)で指示され、0
〜7ビットの範囲で入力データをシフトする。
a,2b,2c,2dからなり、それぞれのセレクタは
図10に示すものと同様の3入力1出力のセレクタから
構成され、第1のシフト回路1と第2のシフト回路2の
入出力関係は図9と同様である。
c,2dは、図10に示すセレクタに比べて、シフト方
向を示す1ビットのシフトレフト信号SL2a,SL2
b,SL2c,SL2dがそれぞれ独立して個別に与え
られており、セレクタ2aにはシフトレフト信号SL2
aが与えられ、セレクタ2bにはシフトレフト信号SL
2bが与えられ、セレクタ2cにはシフトレフト信号S
L2cが与えられ、セレクタ2dにはシフトレフト信号
SL2dが与えられている。
ビット数(8ビット)を示すシフト量信号S3−2a,
S3−2b,S3−2c,S3−2dがそれぞれのセレ
クタ2a,2b,2c,2dに独立して個別に与えられ
ており、セレクタ2aにはシフト量信号S3−2aが与
えられ、セレクタ2bにはシフト量信号S3−2bが与
えられ、セレクタ2cにはシフト量信号S3−2cが与
えられ、セレクタ2dにはシフト量信号S3−2dが与
えられている。
シフト量信号S3−2aが“1”レベル(8ビットのシ
フトを行う)でシフトレフト信号SL2aがアクティブ
(例えば“1”レベル)ならば、第1のシフト回路1の
シフト出力[23:16]を選択して上位方向のシフト
を行い、非アクティブ(“0”レベル)ならば8ビット
の“0”入力を選択し、シフト量信号S3−2aが
“0”レベルであるならばシフトレフト信号SL2aに
かかわらず第1のシフト回路1のシフト出力[31:2
4]を選択する。
“1”レベル(8ビットのシフトを行う)でシフトレフ
ト信号SL2bがアクティブ(例えば“1”レベル)な
らば、第1のシフト回路1のシフト出力[15:8]を
選択して上位方向のシフトを行い、非アクティブ
(“0”レベル)ならば第1のシフト回路1のシフト出
力[31:24]を選択して下位方向のシフトを行い、
シフト量信号S3−2bが“0”レベルであるならばシ
フトレフト信号SL2bにかかわらず第1のシフト回路
1のシフト出力[23:16]を選択する。
“1”レベル(8ビットのシフトを行う)でシフトレフ
ト信号SL2cがアクティブ(例えば“1”レベル)な
らば、第1のシフト回路1のシフト出力[7:0]を選
択して上位方向のシフトを行い、非アクティブ(“0”
レベル)ならば第1のシフト回路1のシフト出力[2
3:16]を選択して下位方向のシフトを行い、シフト
量信号S3−2cが“0”レベルであるならばシフトレ
フト信号SL2cにかかわらず第1のシフト回路1のシ
フト出力[15:8]を選択する。
“1”レベル(8ビットのシフトを行う)でシフトレフ
ト信号SL2dがアクティブ(例えば“1”レベル)な
らば、8ビットの“0”入力を選択し、非アクティブ
(“0”レベル)ならば第1のシフト回路1のシフト出
力[15:8]を選択して下位方向のシフトを行い、シ
フト量信号S3−2dが“0”レベルであるならばシフ
トレフト信号SL2dにかかわらず第1のシフト回路1
のシフト出力[7:0]を選択する。
a,3b,3c,3dからなり、それぞれのセレクタは
図10に示すものと同様の3入力1出力のセレクタから
構成され、第2のシフト回路2と第3のシフト回路3の
入出力関係は図9と同様である。
c,3dは、図10に示すセレクタに比べて、シフト方
向を示す1ビットのシフトレフト信号SL3a,SL3
b,SL3c,SL3dがそれぞれ独立して個別に与え
られており、セレクタ3aにはシフトレフト信号SL3
aが与えられ、セレクタ3bにはシフトレフト信号SL
3bが与えられ、セレクタ3cにはシフトレフト信号S
L3cが与えられ、セレクタ3dにはシフトレフト信号
SL3dが与えられている。
ビット数(16ビット)を示すシフト量信号S4−3
a,S4−3b,S4−3c,S4−3dがそれぞれの
セレクタ3a,3b,3c,3dに独立して個別に与え
られており、セレクタ3aにはシフト量信号S4−3a
が与えられ、セレクタ3bにはシフト量信号S4−3b
が与えられ、セレクタ3cにはシフト量信号S4−3c
が与えられ、セレクタ3dにはシフト量信号S4−3d
が与えられている。
シフト量信号S4−3aが“1”レベル(16ビットの
シフトを行う)でシフトレフト信号SL3aがアクティ
ブ(例えば“1”レベル)ならば、第2のシフト回路2
のセレクタ2cのシフト出力[15:8]を選択して上
位方向のシフトを行い、非アクティブ(“0”レベル)
ならば8ビットの“0”入力を選択し、シフト量信号S
4−3aが“0”レベルであるならばシフトレフト信号
SL3aにかかわらず第2のシフト回路2のセレクタ2
aのシフト出力[31:24]を選択し、シフト回路0
のシフト出力b[31:24]を得る。
“1”レベル(16ビットのシフトを行う)でシフトレ
フト信号SL3bがアクティブ(例えば“1”レベル)
ならば、第2のシフト回路2のセレクタ2dのシフト出
力[7:0]を選択して上位方向のシフトを行い、非ア
クティブ(“0”レベル)ならば8ビットの“0”入力
を選択し、シフト量信号S4−3bが“0”レベルであ
るならばシフトレフト信号SL3bにかかわらず第2の
シフト回路2のセレクタ2bのシフト出力[23:1
6]を選択し、シフト回路0のシフト出力b[23:1
6]を得る。
“1”レベル(16ビットのシフトを行う)でシフトレ
フト信号SL3cがアクティブ(例えば“1”レベル)
ならば、8ビットの“0”入力を選択し、非アクティブ
(“0”レベル)ならば第2のシフト回路2のセレクタ
2aのシフト出力[31:24]を選択して下位方向の
シフトを行い、シフト量信号S4−3cが“0”レベル
であるならばシフトレフト信号SL3cにかかわらず第
2のシフト回路2のセレクタ2cのシフト出力[15:
8]を選択し、シフト回路0のシフト出力b[15:
8]を得る。
“1”レベル(16ビットのシフトを行う)でシフトレ
フト信号SL3dがアクティブ(例えば“1”レベル)
ならば、8ビットの“0”入力を選択し、非アクティブ
(“0”レベル)ならば第2のシフト回路2のセレクタ
2bのシフト出力[23:16]を選択して下位方向の
シフトを行い、シフト量信号S4−3dが“0”レベル
であるならばシフトレフト信号SL3dにかかわらず第
2のシフト回路2のシフト出力[7:0]を選択し、シ
フト回路0のシフト出力b[7:0]を得る。
路2及び第3のシフト回路3に与えられるシフトレフト
信号SL2a〜SL2d、SL3a〜SL3dを第1の
シフト回路1に与えられるシフトレフト信号と同様と
し、第2のシフト回路2に与えられるシフト量信号S3
−2a〜S3−2dをすべて同一とし、第3のシフト回
路3に与えられるシフト量信号S4−3a〜S4−3d
をすべて同一とすることにより、図9に示す従来のシフ
ト回路と同様のシフト操作を行うことができる。
量信号の制御信号を様々に与えることにより、図9に示
す従来のシフト回路では不可能であった様々なシフト操
作を実現することが可能となり、以下にそのデータ操作
例を図2〜図6を参照して説明する。
信号を、
1:0](ABCD)のバイトリバース操作が行われ、
出力データb[31:0](DCBA)が得られる。
信号を、
1:0](ABCD)のハーフワードリバース操作が行
われ、出力データb[31:0](CDAB)が得られ
る。
信号を、
1:0](ABCD)のバイトシャフル操作が行われ、
出力データb[31:0](ACBD)が得られる。
信号を、
1:0](ABCD)のパック操作(ハーフワード→バ
イト)が行われ、出力データb[31:0](00B
D)が得られる。
量信号を、
1:0](ABCD)のアンパック操作(バイト→ハー
フワード)が行われ、出力データb[31:0](0C
0D)が得られる。
レクタの制御信号を変更することにより、様々なシフト
操作を行うことが可能である。
により、入力データの一部のビットだけをシフトした
り、入力データの部分毎にシフトするビット数や方向を
変えることができるようになり、様々なデータ操作を行
うことが可能となる。このようなデータ操作は、エンデ
ィアンの変更やマルチメディア命令を実行する際に極め
て有効となり、高機能なマイクロプロセッサのシフト回
路として有用である。
ト回路の構成を示す図である。
ットとしたものであり、その特徴とするところは、図1
に示す第1のシフト回路1と同様に64ビットの入力デ
ータを0〜7ビットシフトする第1段目のシフト回路1
1と、図1に示すセレクタと同様にそれぞれにシフトレ
フト信号とシフト量信号が独立して個別に与えられてバ
イト単位で入力データを選択するセレクタで構成される
8ビットの第2段目のシフト回路12、16ビットの第
3段目のシフト回路13、32ビットの第4段目のシフ
ト回路14を備えたことにある。
信号ならびにシフト量信号を適宜与えることにより、例
えば図7に示すように入力データa[63:0]がバイ
ト単位でシフトされて出力データb[31:0]が得ら
れ、図8に示すように、入力データ(ABCDEFG
H)として64ビットのソースレジスタに格納されてい
る4つの16ビットのデータのそれぞれ下位8ビットの
データを取り出して連結し(BDFH)、64ビットの
デスティネーションレジスタの下位32ビットに格納す
るパック操作を容易に行うことができる。
及び64ビットの例を説明したが、この発明は、16ビ
ットや128ビットならびにそれ以上の2n ビットの入
力データを取り扱うシフト回路であっても同様に適用で
きる。なお、16ビットの場合には、0〜3ビットのシ
フト回路を初段に用い、4ビット単位で4ビットのシフ
トを行うシフト回路を第2段目に用い、4ビット単位で
8ビットのシフトを行うシフト回路を第3段目に用いる
ようにすればよい。
トのシフトを行うシフト回路は図9に示す従来と同様の
シフト回路を用いるようにしているが、8ビット、16
ビットのシフト回路と同様にセレクタ毎にそれぞれ独立
して個別に制御信号を与えるようにしてもよい。
ば、シフトしようとする2n ビットのデータに対して、
所定のビット数単位でシフト方向ならびにシフトビット
数を設定するようにしたので、入力データの一部ビット
だけをシフトすることや部分毎にシフトするビット数や
方向を変えることが可能となる。これにより、入力デー
タに対するシフト操作が多様化し、専用のハードウェア
を用意することなく様々なデータ操作を行うことができ
る。
成を示す図である。
例を示す図である。
例を示す図である。
例を示す図である。
例を示す図である。
例を示す図である。
構成を示す図である。
例を示す図である。
の構成を示す図である。
Claims (15)
- 【請求項1】 第1段目のシフト回路は、2nビット
(n≧5)からなる入力データを受け、この入力データ
を上位又は下位方向に0〜7ビットシフトし、この結果
を第2段目のシフト回路に与え、 第2段目から第m(2≦m≦n−2)段目のシフト回路
は前段のシフト回路の2nビットのシフト結果を受け
て、該シフト結果をバイト単位で、それぞれ独立して上
位又は下位方向に2(m+1)ビットシフトすることを
特徴とするシフト回路。 - 【請求項2】 前記第2段目のシフト回路は、バイト単
位の複数のセレクタから構成され、各セレクタにはそれ
ぞれ独立したシフトレフト信号及びシフト量信号が与え
られることを特徴とする請求項1記載のシフト回路。 - 【請求項3】 前記m(m≧3)段目のシフト回路は、
バイト単位の複数のセレクタから構成され、各セレクタ
にはそれぞれ独立したシフトレフト信号及びシフト量信
号が与えられることを特徴とする請求項1記載のシフト
回路。 - 【請求項4】 前記セレクタは、第1、第2及び第3の
入力の内の特定の1つの入力を選択する3入力1出力の
セレクタであることを特徴とする請求項2又は3記載の
シフト回路。 - 【請求項5】 前記セレクタは、シフト量信号が“1”
であれば、シフトレフト信号“1”の時に第1の入力を
選択し、シフトレフト信号“0”の時には第3の入力を
選択し、シフト量信号が“0”であれば、シフトレフト
信号の値にかかわらず第2の入力を選択することを特徴
とする請求項4記載のシフト回路。 - 【請求項6】 前記複数のセレクタの内の最下位のセレ
クタの第1の入力及び最上位のセレクタの第3の入力が
“0”であることを特徴とする請求項4記載のシフト回
路。 - 【請求項7】 前記セレクタの第1又は第3の入力は
“0”であることを特徴とする請求項4記載のシフト回
路。 - 【請求項8】 前記第2段目から第m段目のシフト回路
は、バイト単位で選択的に“0”を出力することを特徴
とする請求項1記載のシフト回路。 - 【請求項9】 第1、第2及び第3段目のシフト回路を
有するシフト回路であって、 第1段目のシフト回路は、16ビットからなる入力デー
タを受けて、この入力データを上位又は下位方向に0〜
3ビットシフトし、その結果を第2段目のシフト回路に
与え、 第2段目のシフト回路は、第1段目のシフト回路のシフ
ト結果を受けて、該シフト結果を4ビット単位で、それ
ぞれ独立して上位又は下位方向に4ビットシフトし、 第3段目のシフト回路は、第2段目のシフト回路のシフ
ト結果を受けて、該シフト結果を4ビット単位で、それ
ぞれ独立して上位又は下位方向に8ビットシフトするこ
とを特徴とするシフト回路。 - 【請求項10】 前記第2及び第3段目のシフト回路
は、それぞれ4ビット単位の複数のセレクタから構成さ
れ、 各セレクタには、それぞれ独立したシフトレフト信号及
びシフト量信号が与えられることを特徴とする請求項9
記載のシフト回路。 - 【請求項11】 前記セレクタは、第1、第2及び第3
の入力の内の特定の1つの入力を選択する3入力1出力
のセレクタであることを特徴とする請求項10記載のシ
フト回路。 - 【請求項12】 前記セレクタは、シフト量信号が
“1”であれば、シフトレフト信号“1”の時に1の入
力を選択し、シフトレフト信号“0”の時には第3の入
力を選択し、シフト量信号が“0”であれば、シフトレ
フト信号の値にかかわらず第2の入力を選択することを
特徴とする請求項11記載のシフト回路。 - 【請求項13】 前記第2段目のシフト回路を構成して
いる複数のセレクタの内の最下位のセレクタの第1の入
力及び最上位のセレクタの第3の入力が“0”であるこ
とを特徴とする請求項11記載のシフト回路。 - 【請求項14】 前記第3段目のシフト回路を構成して
いる各セレクタの第1又は第3の入力が“0”であるこ
とを特徴とする請求項11記載のシフト回路。 - 【請求項15】 前記第2及び第3段目のシフト回路は
4ビット単位で選択的に“0”を出力することを特徴と
する請求項10記載のシフト回路。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21004596A JP3378444B2 (ja) | 1996-08-08 | 1996-08-08 | シフト回路 |
US08/905,276 US5844828A (en) | 1996-08-08 | 1997-08-06 | Shift circuit and system having the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21004596A JP3378444B2 (ja) | 1996-08-08 | 1996-08-08 | シフト回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1055262A JPH1055262A (ja) | 1998-02-24 |
JP3378444B2 true JP3378444B2 (ja) | 2003-02-17 |
Family
ID=16582900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP21004596A Expired - Fee Related JP3378444B2 (ja) | 1996-08-08 | 1996-08-08 | シフト回路 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5844828A (ja) |
JP (1) | JP3378444B2 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6035310A (en) * | 1997-12-19 | 2000-03-07 | Advanced Micro Devices, Inc. | Method and circuit for performing a shift arithmetic right operation |
US6006244A (en) * | 1997-12-19 | 1999-12-21 | Advanced Micro Devices, Inc. | Circuit for shifting or rotating operands of multiple size |
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 |
US6643673B1 (en) * | 1999-11-30 | 2003-11-04 | Ati International, Srl | Method and apparatus for arithmetic shifting |
US6871208B1 (en) * | 1999-12-01 | 2005-03-22 | Macronix International Co., Ltd. | Parallel adder-based DCT/IDCT design using cyclic convolution |
US6850338B1 (en) | 2000-05-12 | 2005-02-01 | International Business Machines Corporation | Method, system, program, and data structure for generating raster objects |
US6894796B1 (en) | 2000-05-12 | 2005-05-17 | International Business Machines Corporation | Method, system, and logic for selecting line work and control data for a pixel from multiple objects of line work data provided for the pixel |
US6449328B1 (en) | 2000-05-15 | 2002-09-10 | International Business Machines Corporation | Method and apparatus for shifting data from registers |
US7394568B1 (en) | 2000-05-15 | 2008-07-01 | Infoprint Solutions Company Llc | Method, system, and logic for selecting pixel data from multiple objects |
US6961134B1 (en) | 2000-05-15 | 2005-11-01 | International Business Machines Corporation | Method, system, and logic using multiplexers to select data for pixels from multiple objects |
US6804411B1 (en) | 2000-05-15 | 2004-10-12 | International Business Machines Corporation | Method, system, and program for decompressing and aligning line work data from multiple objects |
JP4491934B2 (ja) | 2000-08-10 | 2010-06-30 | 富士電機デバイステクノロジー株式会社 | 薄膜磁気記録媒体の製造方法 |
US7320013B2 (en) * | 2002-12-12 | 2008-01-15 | Adaptec, Inc. | Method and apparatus for aligning operands for a processor |
US6853699B1 (en) * | 2004-02-27 | 2005-02-08 | Qualcomm, Incorporated | High speed shifter circuit |
US7461108B2 (en) * | 2004-09-14 | 2008-12-02 | Panasonic Corporation | Barrel shift device |
GB2443439B (en) * | 2006-10-30 | 2009-06-03 | Imagination Tech Ltd | Digital electronic binary rotator and reverser |
JP5182053B2 (ja) * | 2008-12-10 | 2013-04-10 | 日本電気株式会社 | バレルシフタ装置及びバレルシフト方法 |
US9959247B1 (en) | 2017-02-17 | 2018-05-01 | Google Llc | Permuting in a matrix-vector processor |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4509144A (en) * | 1980-02-13 | 1985-04-02 | Intel Corporation | Programmable bidirectional shifter |
US4495598A (en) * | 1982-09-29 | 1985-01-22 | Mcdonnell Douglas Corporation | Computer rotate function |
US5073864A (en) * | 1987-02-10 | 1991-12-17 | Davin Computer Corporation | Parallel string processor and method for a minicomputer |
-
1996
- 1996-08-08 JP JP21004596A patent/JP3378444B2/ja not_active Expired - Fee Related
-
1997
- 1997-08-06 US US08/905,276 patent/US5844828A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH1055262A (ja) | 1998-02-24 |
US5844828A (en) | 1998-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3378444B2 (ja) | シフト回路 | |
JPS628817B2 (ja) | ||
US4631703A (en) | Shift circuit for double word length data | |
US8082283B1 (en) | Arrangement of 3-input LUT'S to implement 4:2 compressors for multiple operand arithmetic | |
JP3144859B2 (ja) | 算術論理演算装置 | |
JP2558739B2 (ja) | 絶対値回路 | |
JP2617591B2 (ja) | シリアル演算回路 | |
JP3540136B2 (ja) | データ分割並列シフタ | |
JP2007129618A (ja) | ガロア体のα乗算回路および演算回路 | |
JPH05224888A (ja) | 小数点位置可変型データの乗算回路 | |
JPH08292876A (ja) | 演算装置 | |
JP3525582B2 (ja) | ビット操作回路 | |
EP0901106B1 (en) | System and method using mode bits to support multiple coding standards | |
JPH01259415A (ja) | データ補正回路 | |
JP2844971B2 (ja) | ディジタル符号処理システム | |
JP3412368B2 (ja) | ビットシリアル2乗演算回路 | |
JPH0566922A (ja) | 10進演算回路 | |
JPH0363816A (ja) | ビット検索装置 | |
JPH02237304A (ja) | 演算装置 | |
JP2003140881A (ja) | シリアルパラレル変換回路およびパラレルシリアル変換回路 | |
WO2004044731A2 (en) | Device and method for performing shift/rotate operations | |
JPS61143844A (ja) | ディジタル演算回路 | |
JPH05143289A (ja) | 加算回路 | |
JPH05233218A (ja) | 三則演算回路 | |
JPH06309164A (ja) | ディジタル信号処理回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071206 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081206 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091206 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091206 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101206 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111206 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |