JPH05134848A - 中央処理装置のデータシフト回路 - Google Patents
中央処理装置のデータシフト回路Info
- Publication number
- JPH05134848A JPH05134848A JP3040298A JP4029891A JPH05134848A JP H05134848 A JPH05134848 A JP H05134848A JP 3040298 A JP3040298 A JP 3040298A JP 4029891 A JP4029891 A JP 4029891A JP H05134848 A JPH05134848 A JP H05134848A
- Authority
- JP
- Japan
- Prior art keywords
- data
- shift
- register
- width
- input
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
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)
- Shift Register Type Memory (AREA)
- Complex Calculations (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
(57)【要約】 (修正有)
【目的】 本来のデータ幅でのシフトとその倍のデータ
幅でのシフトを可能としたデータシフト回路を実現す
る。 【構成】 本来のデータ幅の倍のデータ幅に対応するビ
ット数のシフトを可能とするシフタ20と、シフト対象
となるデータを格納したレジスタR0 〜R3 で構成され
るレジスタ部21と、レジスタ部21とシフタ20との
間に介在し、レジスタ指定信号の入力とともに、倍のデ
ータ幅でのシフト要求信号が選択的に入力し、倍のデー
タ幅でのシフト要求時には、指定されたレジスタのデー
タとこれに予め定められた関係で関連付けられた他のレ
ジスタのデータとをシフタ20の上位ビットと下位ビッ
トにそれぞれ分けて入力させ、本来のデータ幅でのシフ
ト時には、指定されたレジスタのデータをシフタ20の
上位ビットと下位ビットにそれぞれ入力させるデータ制
御手段22とを備えている。
幅でのシフトを可能としたデータシフト回路を実現す
る。 【構成】 本来のデータ幅の倍のデータ幅に対応するビ
ット数のシフトを可能とするシフタ20と、シフト対象
となるデータを格納したレジスタR0 〜R3 で構成され
るレジスタ部21と、レジスタ部21とシフタ20との
間に介在し、レジスタ指定信号の入力とともに、倍のデ
ータ幅でのシフト要求信号が選択的に入力し、倍のデー
タ幅でのシフト要求時には、指定されたレジスタのデー
タとこれに予め定められた関係で関連付けられた他のレ
ジスタのデータとをシフタ20の上位ビットと下位ビッ
トにそれぞれ分けて入力させ、本来のデータ幅でのシフ
ト時には、指定されたレジスタのデータをシフタ20の
上位ビットと下位ビットにそれぞれ入力させるデータ制
御手段22とを備えている。
Description
【0001】
【産業上の利用分野】本発明は電子計算機などで用いら
れる中央処理装置のデータシフト回路に関する。
れる中央処理装置のデータシフト回路に関する。
【0002】
【従来の技術】中央処理装置(以下CPUという)内に
は、データのシフト操作を行うシフタという回路があ
る。
は、データのシフト操作を行うシフタという回路があ
る。
【0003】図3はCPU内におけるシフタの機能の概
略を示す図で、1はシフタ、2はレジスタファイル、3
はALU、4は内部バスである。このような構成におい
て、例えばレジスタファイル2内の、あるレジスタがセ
レクトされ、その内容がシフタ1に入力されると、予め
指定されたシフト量でシフトされて出力され、そのシフ
トされた出力を内部バス4を介してレジスタファイル2
に戻して、所定レジスタに書き込むことにより、1回の
シフト演算が行われるというような動作がなされる。
略を示す図で、1はシフタ、2はレジスタファイル、3
はALU、4は内部バスである。このような構成におい
て、例えばレジスタファイル2内の、あるレジスタがセ
レクトされ、その内容がシフタ1に入力されると、予め
指定されたシフト量でシフトされて出力され、そのシフ
トされた出力を内部バス4を介してレジスタファイル2
に戻して、所定レジスタに書き込むことにより、1回の
シフト演算が行われるというような動作がなされる。
【0004】ところで、このシフタの扱えるビット数
は、例えば16ビットマシンであれば、シフタも16ビット
というように、そのCPUが扱うデータのビット数とな
るのが一般的であるが、ソフトウェア処理を容易にする
などの目的で、それの倍のシフト操作を必要とする場合
もある。
は、例えば16ビットマシンであれば、シフタも16ビット
というように、そのCPUが扱うデータのビット数とな
るのが一般的であるが、ソフトウェア処理を容易にする
などの目的で、それの倍のシフト操作を必要とする場合
もある。
【0005】そこで、従来よりシフト幅を倍にする操作
が行われている。このシフト幅を倍にする上で重要な点
は、本来のシフト幅との互換性を保つために、本来のシ
フタとしての機能はそのまま残す必要があるということ
である。例えば、本来16ビットのローテートシフト( ro
tate shift) が可能なものを、シフト幅を倍に操作した
ために、32ビットのローテートシフトが可能になったも
のの、16ビットのローテートシフトができなくなってし
まうというのでは、シフタとしての本来の機能を失って
しまうことにもなる。
が行われている。このシフト幅を倍にする上で重要な点
は、本来のシフト幅との互換性を保つために、本来のシ
フタとしての機能はそのまま残す必要があるということ
である。例えば、本来16ビットのローテートシフト( ro
tate shift) が可能なものを、シフト幅を倍に操作した
ために、32ビットのローテートシフトが可能になったも
のの、16ビットのローテートシフトができなくなってし
まうというのでは、シフタとしての本来の機能を失って
しまうことにもなる。
【0006】これに鑑みてなされた従来の手段として
は、本来のシフト幅のものと、そのシフト幅の倍のシ
フト幅をもつものを2つ用意する、セレクタを用い
て、両方に対応可能なシフタとする、などが考えられ
る。
は、本来のシフト幅のものと、そのシフト幅の倍のシ
フト幅をもつものを2つ用意する、セレクタを用い
て、両方に対応可能なシフタとする、などが考えられ
る。
【0007】上記の手段は、2つのシフタを用いると
いうことで、ハードウェアの量の点で問題があり、特に
ビット数の多い場合には、実用性に欠けたものとなる。
一方、の手段は、セレクタの操作により本来のビット
のローテートシフトと倍幅のローテートシフトとを可能
としたもので、以下この手段の概略を図4を参照して説
明する。
いうことで、ハードウェアの量の点で問題があり、特に
ビット数の多い場合には、実用性に欠けたものとなる。
一方、の手段は、セレクタの操作により本来のビット
のローテートシフトと倍幅のローテートシフトとを可能
としたもので、以下この手段の概略を図4を参照して説
明する。
【0008】図4において、10は2ビット/4ビット
の左バレルシフタであり、セレクタの操作により2ビッ
トの左バレルシフトと4ビットの左バレルシフトを選択
できるようになっている。ここで、左バレルシフタにつ
いて、4ビットの場合を例にとって簡単に説明する。
の左バレルシフタであり、セレクタの操作により2ビッ
トの左バレルシフトと4ビットの左バレルシフトを選択
できるようになっている。ここで、左バレルシフタにつ
いて、4ビットの場合を例にとって簡単に説明する。
【0009】例えば「3・2・1・0」の4ビットをシ
フト量を1で左シフトすれば、「2・1・0・3」とな
り、さらに1ビット左シフトを行えば「1・0・3・
2」となる。このように、左側に順次シフトして行き、
左から出た分が右から入るというように、循環してシフ
トするものを言う。
フト量を1で左シフトすれば、「2・1・0・3」とな
り、さらに1ビット左シフトを行えば「1・0・3・
2」となる。このように、左側に順次シフトして行き、
左から出た分が右から入るというように、循環してシフ
トするものを言う。
【0010】そして、上記2ビット/4ビットの左バレ
ルシフタ10の構成は、4つの出力ビットに対応して、
それぞれ4個で1組のアンドゲート110 〜113 ,1
20 〜123 ,130 〜133 ,140 〜143 とこれ
ら各アンドゲートの出力を受けるオアゲート15〜18
で構成されている。
ルシフタ10の構成は、4つの出力ビットに対応して、
それぞれ4個で1組のアンドゲート110 〜113 ,1
20 〜123 ,130 〜133 ,140 〜143 とこれ
ら各アンドゲートの出力を受けるオアゲート15〜18
で構成されている。
【0011】上記各組のそれぞれの4つのアンドゲート
110 〜113 ,120 〜123 ,130 〜133 ,1
40 〜143 には、シフト量を指定する信号が入力され
るようになっている。すなわち、シフト量0を指定する
信号はラインL0 を介してアンドゲート113 ,1
23 ,133 ,143 のそれぞれ一方の入力端子に入力
され、シフト量1を指定する信号はラインL1 を介し
て、アンドゲート112 ,122 ,132 ,142 のそ
れぞれ一方の入力端子に入力され、シフト量2を指定す
る信号はラインL2 を介して、アンドゲート111 ,1
21 ,131,141 のそれぞれ一方の入力端子に入力
され、シフト量3を指定する信号はラインL3 を介し
て、アンドゲート110 ,120 ,130 ,140 のそ
れぞれ一方の入力端子に入力される。
110 〜113 ,120 〜123 ,130 〜133 ,1
40 〜143 には、シフト量を指定する信号が入力され
るようになっている。すなわち、シフト量0を指定する
信号はラインL0 を介してアンドゲート113 ,1
23 ,133 ,143 のそれぞれ一方の入力端子に入力
され、シフト量1を指定する信号はラインL1 を介し
て、アンドゲート112 ,122 ,132 ,142 のそ
れぞれ一方の入力端子に入力され、シフト量2を指定す
る信号はラインL2 を介して、アンドゲート111 ,1
21 ,131,141 のそれぞれ一方の入力端子に入力
され、シフト量3を指定する信号はラインL3 を介し
て、アンドゲート110 ,120 ,130 ,140 のそ
れぞれ一方の入力端子に入力される。
【0012】そして、上記4個で1組の各組のアンドゲ
ート110 〜113 ,120 〜12 3 ,130 〜1
33 ,140 〜143 の他方の入力端子には、Din0,
Din1,Din2,Din3の4ビットの入力データが入力
されるようになっているが、上記アンドゲート122 の
他方の入力端子には、セレクタ19を介して入力データ
が入力されるようになっている。
ート110 〜113 ,120 〜12 3 ,130 〜1
33 ,140 〜143 の他方の入力端子には、Din0,
Din1,Din2,Din3の4ビットの入力データが入力
されるようになっているが、上記アンドゲート122 の
他方の入力端子には、セレクタ19を介して入力データ
が入力されるようになっている。
【0013】上記セレクタ19は2つのアンドゲート1
91 ,192 とオアゲート193 で構成され、アンドゲ
ート191の一方の入力端子には、入力データDin1が
入力されるようになっている。そしてアンドゲート19
1 ,192 の他方の入力端子には、倍幅のシフト要求信
号が入力されるが、アンドゲート192 にはインバータ
194 を介して入力されるようになっている。
91 ,192 とオアゲート193 で構成され、アンドゲ
ート191の一方の入力端子には、入力データDin1が
入力されるようになっている。そしてアンドゲート19
1 ,192 の他方の入力端子には、倍幅のシフト要求信
号が入力されるが、アンドゲート192 にはインバータ
194 を介して入力されるようになっている。
【0014】上記倍幅シフト要求信号は倍幅シフト要求
時にハイレベルとなる。このような構成において、その
動作を説明する。最初に倍のデータ幅(4ビット)での
シフトの場合について説明する。この場合、倍幅要求信
号はハイレベルとなり、セレクタ19はアンドゲート1
92 が閉じられた状態となっている。
時にハイレベルとなる。このような構成において、その
動作を説明する。最初に倍のデータ幅(4ビット)での
シフトの場合について説明する。この場合、倍幅要求信
号はハイレベルとなり、セレクタ19はアンドゲート1
92 が閉じられた状態となっている。
【0015】まず、シフト量指定信号が0(シフトしな
いことを意味する)のときは、ラインL0 の信号がハイ
レベルとなり、アンドゲート113 ,123 ,133 ,
14 3 のゲートが開いて、入力データDin3はオアゲー
ト15を通過し、入力データDin2はオアゲート16を
通過し、入力データDin1はオアゲート17を通過し、
入力データDin0はオアゲート18を通過する。これに
より、バレルシフタ10の出力としては左から順に
「3,2,1,0」の順となる。そして、シフト量指定
信号が1(左側に1つシフト)となると、ラインL1 が
ハイレベルとなり、アンドゲート112 ,122 ,13
2 ,142 のゲートが開いて、入力データD in2,Din
1,Din0,Din3が各ゲートを通過し、バレルシフタ
10の出力としては、左から「2,1,0,3」とな
る。このようにバレルシフタ10はシフト量に応じて左
側に順次シフトを行い、左から出たものが右側に入ると
いうローテートシフトを行うようになっている。
いことを意味する)のときは、ラインL0 の信号がハイ
レベルとなり、アンドゲート113 ,123 ,133 ,
14 3 のゲートが開いて、入力データDin3はオアゲー
ト15を通過し、入力データDin2はオアゲート16を
通過し、入力データDin1はオアゲート17を通過し、
入力データDin0はオアゲート18を通過する。これに
より、バレルシフタ10の出力としては左から順に
「3,2,1,0」の順となる。そして、シフト量指定
信号が1(左側に1つシフト)となると、ラインL1 が
ハイレベルとなり、アンドゲート112 ,122 ,13
2 ,142 のゲートが開いて、入力データD in2,Din
1,Din0,Din3が各ゲートを通過し、バレルシフタ
10の出力としては、左から「2,1,0,3」とな
る。このようにバレルシフタ10はシフト量に応じて左
側に順次シフトを行い、左から出たものが右側に入ると
いうローテートシフトを行うようになっている。
【0016】上記した説明は4ビット(倍幅)でのシフ
トであるが、次に本来のデータ幅(2ビット)でのシフ
トについて説明する。この場合、入力データも2ビット
であるため、Din2,Din3をDin0、Din1と置き換
えて説明する。
トであるが、次に本来のデータ幅(2ビット)でのシフ
トについて説明する。この場合、入力データも2ビット
であるため、Din2,Din3をDin0、Din1と置き換
えて説明する。
【0017】この2ビットでのシフトを行う場合は、倍
幅シフト要求信号はローレベルとなり、セレクタ19の
アンドゲート191 は閉じられる。ここでまず、シフト
量指定信号が0の場合は、バレルシフタ10のアンドゲ
ート113 ,123 ,133 ,143 が開いて、バレル
シフタ10の出力としては、左から「1,0,1,0」
となる。次にシフト量が1となると、今度はアンドゲー
ト112 ,122 ,132 ,142 が開いて、バレルシ
フタ10の出力としては左から「0,1,0,1」とな
る。
幅シフト要求信号はローレベルとなり、セレクタ19の
アンドゲート191 は閉じられる。ここでまず、シフト
量指定信号が0の場合は、バレルシフタ10のアンドゲ
ート113 ,123 ,133 ,143 が開いて、バレル
シフタ10の出力としては、左から「1,0,1,0」
となる。次にシフト量が1となると、今度はアンドゲー
ト112 ,122 ,132 ,142 が開いて、バレルシ
フタ10の出力としては左から「0,1,0,1」とな
る。
【0018】従って、バレルシフタ10の上位2ビット
分の出力(オアゲート15,16の出力)を見れば、
「1,0」,「0,1」というように2ビットでのバレ
ルシフトが行われることになる。
分の出力(オアゲート15,16の出力)を見れば、
「1,0」,「0,1」というように2ビットでのバレ
ルシフトが行われることになる。
【0019】このように、セレクタ19を操作すること
により、倍のデータ幅でのシフトも本来のデータ幅での
シフトも可能となる。
により、倍のデータ幅でのシフトも本来のデータ幅での
シフトも可能となる。
【0020】
【発明が解決しようとする課題】しかしながら、上記の
様にセレクタを用いて本来の幅のシフトおよびその倍幅
のシフトを行う手段では、バレルする部分でセレクタが
必要となるため、ビット数が増えるとセレクタの数も増
え、そのセレクタを構成するためのゲートも数多く必要
となり、ハードウェア全体の構成が複雑となり、また構
成要素の増加による信号遅延が増大するという欠点もあ
り、実用上好ましくなかった。
様にセレクタを用いて本来の幅のシフトおよびその倍幅
のシフトを行う手段では、バレルする部分でセレクタが
必要となるため、ビット数が増えるとセレクタの数も増
え、そのセレクタを構成するためのゲートも数多く必要
となり、ハードウェア全体の構成が複雑となり、また構
成要素の増加による信号遅延が増大するという欠点もあ
り、実用上好ましくなかった。
【0021】本発明は、本来のデータ幅の倍のデータ幅
のシフトを行うときは、シフタ入力の上位および下位に
それぞれ異なったデータを入力し、本来のデータ幅での
シフトを行うときは、シフタ入力の上位および下位に同
じデータを入力するようにし、これにより倍のデータ幅
のシフトは勿論のこと、本来のデータ幅のシフトも行
え、かつハードウェアの量の増加を伴うこともなくデー
タ遅延の増加も伴わない中央処理装置のデータシフト回
路を実現しようとするものである。
のシフトを行うときは、シフタ入力の上位および下位に
それぞれ異なったデータを入力し、本来のデータ幅での
シフトを行うときは、シフタ入力の上位および下位に同
じデータを入力するようにし、これにより倍のデータ幅
のシフトは勿論のこと、本来のデータ幅のシフトも行
え、かつハードウェアの量の増加を伴うこともなくデー
タ遅延の増加も伴わない中央処理装置のデータシフト回
路を実現しようとするものである。
【0022】
【課題を解決するための手段】図1は本発明の原理を説
明するための構成図である。図において、20は通常用
いられている2ビット/4ビットの左バレルシフタであ
り、この左バレルシフタ20は図4で説明した2ビット
/4ビットの左バレルシフタ10と全く同じものである
ので、同図および説明が煩雑となるのを防ぐため、ここ
では内部構成の図示およびその構成説明は省略する。要
はシフト量指定信号により、そのシフト量に応じて左側
へシフトして行き、左側から出た分だけが右側から再び
入ってくるというローテートシフトを行うものである。
そして、ここでは4ビットシフトの場合は、上記2ビッ
トと下位2ビットの合計4ビットの左シフトを行い、2
ビットシフトの場合は、上位または下位のいずれか一方
の2ビットの循環をシフト出力として見るようにしてい
る。
明するための構成図である。図において、20は通常用
いられている2ビット/4ビットの左バレルシフタであ
り、この左バレルシフタ20は図4で説明した2ビット
/4ビットの左バレルシフタ10と全く同じものである
ので、同図および説明が煩雑となるのを防ぐため、ここ
では内部構成の図示およびその構成説明は省略する。要
はシフト量指定信号により、そのシフト量に応じて左側
へシフトして行き、左側から出た分だけが右側から再び
入ってくるというローテートシフトを行うものである。
そして、ここでは4ビットシフトの場合は、上記2ビッ
トと下位2ビットの合計4ビットの左シフトを行い、2
ビットシフトの場合は、上位または下位のいずれか一方
の2ビットの循環をシフト出力として見るようにしてい
る。
【0023】また、図中、21はレジスタ部であり、R
0 ,R1,R2 ,R3 の4つのレジスタで構成され、そ
れぞれのレジスタR0 〜R3 にはシフトされるデータと
して、それぞれ2ビットのデータが入っている。
0 ,R1,R2 ,R3 の4つのレジスタで構成され、そ
れぞれのレジスタR0 〜R3 にはシフトされるデータと
して、それぞれ2ビットのデータが入っている。
【0024】22はデータ制御手段であり、レジスタ番
号指定信号および倍幅シフト要求信号が入力され、これ
ら各信号に応じて上記レジスタR0 ,R1 ,R2 ,R3
を選択して、バレルシフタ20の上位の2ビットまたは
下位の2ビットに振り分けて入力させるものである。
号指定信号および倍幅シフト要求信号が入力され、これ
ら各信号に応じて上記レジスタR0 ,R1 ,R2 ,R3
を選択して、バレルシフタ20の上位の2ビットまたは
下位の2ビットに振り分けて入力させるものである。
【0025】すなわち、倍幅シフト要求信号が入力され
たときは、レジスタ番号指定信号で指定されたレジスタ
番号に+1を行い、その+1のレジスタ番号のレジスタ
が選択されるようになっている。例えばレジスタ番号指
定信号によってレジスタR0 が指定されたとすると、デ
ータ制御手段22によって+1されたレジスタ番号のレ
ジスタR1 が選択される。そして、このデータ制御手段
22によってレジスタR0 のデータはバレルシフタ20
の上位2ビットに、レジスタR1 のデータはバレルシフ
タ20の下位2ビットに入力されるようになっている。
たときは、レジスタ番号指定信号で指定されたレジスタ
番号に+1を行い、その+1のレジスタ番号のレジスタ
が選択されるようになっている。例えばレジスタ番号指
定信号によってレジスタR0 が指定されたとすると、デ
ータ制御手段22によって+1されたレジスタ番号のレ
ジスタR1 が選択される。そして、このデータ制御手段
22によってレジスタR0 のデータはバレルシフタ20
の上位2ビットに、レジスタR1 のデータはバレルシフ
タ20の下位2ビットに入力されるようになっている。
【0026】一方、倍幅シフト要求信号が入力されず、
本来のデータ幅(ここでは2ビットのデータ幅)でのロ
ーテートシフトを行う場合は、レジスタ番号指定信号で
指定されたレジスタのデータがそれぞれバレルシフタ2
0の上位2ビットと下位2ビットに入力されるようにな
っている。つまり、バレルシフタ20の上位2ビットと
下位2ビットには、同じデータが入ることになり、この
バレルシフタ20片側2ビットだけを見れば、2ビット
のローテートシフトが行われることになる。
本来のデータ幅(ここでは2ビットのデータ幅)でのロ
ーテートシフトを行う場合は、レジスタ番号指定信号で
指定されたレジスタのデータがそれぞれバレルシフタ2
0の上位2ビットと下位2ビットに入力されるようにな
っている。つまり、バレルシフタ20の上位2ビットと
下位2ビットには、同じデータが入ることになり、この
バレルシフタ20片側2ビットだけを見れば、2ビット
のローテートシフトが行われることになる。
【0027】
【作用】まず、本来のデータ幅(ここでは2ビットのデ
ータ幅)でのローテートシフトを行う場合について説明
する。ここでは、レジスタ指定信号によりレジスタR0
が入力データとして指定されたとする。また、このとき
は、倍幅シフト要求信号は入力されず、倍幅とするため
の他のレジスタの指定は行われない。
ータ幅)でのローテートシフトを行う場合について説明
する。ここでは、レジスタ指定信号によりレジスタR0
が入力データとして指定されたとする。また、このとき
は、倍幅シフト要求信号は入力されず、倍幅とするため
の他のレジスタの指定は行われない。
【0028】そして、上記指定されたレジスタR0 のデ
ータは、データ制御手段22によってバレルシフタ20
の上位2ビット及び下位2ビットにそれぞれ入力され
る。そして、バレルシフタ20に入力されるシフト量指
定信号のシフト量に応じて左側のローテートシフトが行
われるが、バレルシフタ20の上位2ビットと下位2ビ
ットがそれぞれ同じデータであるため、片方だけを見れ
ば、2ビットのローテートシフトの動作となる。
ータは、データ制御手段22によってバレルシフタ20
の上位2ビット及び下位2ビットにそれぞれ入力され
る。そして、バレルシフタ20に入力されるシフト量指
定信号のシフト量に応じて左側のローテートシフトが行
われるが、バレルシフタ20の上位2ビットと下位2ビ
ットがそれぞれ同じデータであるため、片方だけを見れ
ば、2ビットのローテートシフトの動作となる。
【0029】次に、倍幅シフト(4ビットのローテート
シフト)を行う場合を説明する。この場合も、レジスタ
指定信号によりレジスタR0 が入力データとして指定さ
れたとすると、この場合は、倍幅シフト要求信号が出力
され、選択手段21では倍幅とするため、先に指定され
たレジスタR0 のレジスタ番号に+1を行い、レジスタ
R1 を指定する。
シフト)を行う場合を説明する。この場合も、レジスタ
指定信号によりレジスタR0 が入力データとして指定さ
れたとすると、この場合は、倍幅シフト要求信号が出力
され、選択手段21では倍幅とするため、先に指定され
たレジスタR0 のレジスタ番号に+1を行い、レジスタ
R1 を指定する。
【0030】そして、データ制御手段22はレジスタR
0 のデータをバレルシフタ20の上位2ビットへ入力
し、レジスタR1 のデータをバレルシフタ20の下位2
ビットへ入力する。これにより、バレルシフタ21は、
シフト量指定信号のシフト量に応じて上位と下位の合計
4ビット(倍幅)でのローテートシフトを行う。
0 のデータをバレルシフタ20の上位2ビットへ入力
し、レジスタR1 のデータをバレルシフタ20の下位2
ビットへ入力する。これにより、バレルシフタ21は、
シフト量指定信号のシフト量に応じて上位と下位の合計
4ビット(倍幅)でのローテートシフトを行う。
【0031】以上のように、通常用いられている倍幅の
バレルシフタを用い、本来のローテートシフトを行うと
きは、バレルシフタの上位と下位のビットに同じレジス
タのデータを入力してローテートシフトを行い、また、
倍のデータ幅でのローテートシフトを行うときは、異な
ったレジスタのデータを、バレルシフタの上位と下位に
それぞれ入力して、倍のデータ幅でのローテートシフト
を行うような構成としたので、ハードウェアの大幅な増
加あるいはデータ遅延の増加を伴うことなく、本来のデ
ータ幅でのローテートシフトと倍のデータ幅でのローテ
ートシフトの両方を実現可能とするものである。
バレルシフタを用い、本来のローテートシフトを行うと
きは、バレルシフタの上位と下位のビットに同じレジス
タのデータを入力してローテートシフトを行い、また、
倍のデータ幅でのローテートシフトを行うときは、異な
ったレジスタのデータを、バレルシフタの上位と下位に
それぞれ入力して、倍のデータ幅でのローテートシフト
を行うような構成としたので、ハードウェアの大幅な増
加あるいはデータ遅延の増加を伴うことなく、本来のデ
ータ幅でのローテートシフトと倍のデータ幅でのローテ
ートシフトの両方を実現可能とするものである。
【0032】
【実施例】次に本発明の実施例を図2を参照して説明す
る。図において、図1と同一部分には同一符号を付すこ
とにより、重複する説明は省略する。
る。図において、図1と同一部分には同一符号を付すこ
とにより、重複する説明は省略する。
【0033】この実施例の場合も、前記と同様2ビット
/4ビットの左バレルシフタ20を用い、本来のデータ
幅(2ビット)と倍のデータ幅(4ビット)のローテー
トシフトを行う場合について説明する。
/4ビットの左バレルシフタ20を用い、本来のデータ
幅(2ビット)と倍のデータ幅(4ビット)のローテー
トシフトを行う場合について説明する。
【0034】図2において31は第1のデコーダ、32
は第2のデコーダである。第1のデコーダ31は4個の
レジスタR0 ,R1 ,R2 ,R3 の何れかを選択指定す
るレジスタ番号指定信号が入力されると、その指定信号
を解読して、出力端子D0 〜D3 のうち対応する出力端
子からの出力をハイレベルとするものである。例えばレ
ジスタR0 を指定する信号が入力されたとすると、出力
端子D0がハイレベルとなる。
は第2のデコーダである。第1のデコーダ31は4個の
レジスタR0 ,R1 ,R2 ,R3 の何れかを選択指定す
るレジスタ番号指定信号が入力されると、その指定信号
を解読して、出力端子D0 〜D3 のうち対応する出力端
子からの出力をハイレベルとするものである。例えばレ
ジスタR0 を指定する信号が入力されたとすると、出力
端子D0がハイレベルとなる。
【0035】また、第2のデコーダ32には、上記レジ
スタ番号指定信号が入力されるとともに、オアゲート3
3を介してこのレジスタ番号指定信号と倍幅シフト要求
信号との論理和出力が入力されるようになっている。
スタ番号指定信号が入力されるとともに、オアゲート3
3を介してこのレジスタ番号指定信号と倍幅シフト要求
信号との論理和出力が入力されるようになっている。
【0036】この第2のデコーダ32は倍幅シフト要求
信号が無いときは、第1のデコーダ31と同じレジスタ
を選択すべく出力端子をハイレベルとする。つまり、R
0 のレジスタを指定するレジスタ番号指定信号が入力さ
れると、出力端子D0 をハイレベルとする。
信号が無いときは、第1のデコーダ31と同じレジスタ
を選択すべく出力端子をハイレベルとする。つまり、R
0 のレジスタを指定するレジスタ番号指定信号が入力さ
れると、出力端子D0 をハイレベルとする。
【0037】また、倍幅シフト要求信号が入った場合
は、レジスタ番号指定信号で指定されたレジスタのレジ
スタ番号に+1をしたレジスタ番号のレジスタを指定す
る信号を出力する。例えばレジスタ番号指定信号がレジ
スタR0 を指定した場合、第2のデコーダ32ではこの
レジスタR0 のレジスタ番号に+1を行い、レジスタR
1 を選択するように、その出力端子1をハイレベルとす
る動作を行う。そして、上記第1のデコーダ31の出力
端子D0 〜D3 は、第1のゲート回路34のアンドゲー
ト340 〜343 の一方の入力端子に接続され、また、
第2のデコーダ32の出力端子D0 〜D3 は第2のゲー
ト回路35のアンドゲート350 〜353 の一方の入力
端子に接続される。
は、レジスタ番号指定信号で指定されたレジスタのレジ
スタ番号に+1をしたレジスタ番号のレジスタを指定す
る信号を出力する。例えばレジスタ番号指定信号がレジ
スタR0 を指定した場合、第2のデコーダ32ではこの
レジスタR0 のレジスタ番号に+1を行い、レジスタR
1 を選択するように、その出力端子1をハイレベルとす
る動作を行う。そして、上記第1のデコーダ31の出力
端子D0 〜D3 は、第1のゲート回路34のアンドゲー
ト340 〜343 の一方の入力端子に接続され、また、
第2のデコーダ32の出力端子D0 〜D3 は第2のゲー
ト回路35のアンドゲート350 〜353 の一方の入力
端子に接続される。
【0038】これら、アンドゲート340 〜343 およ
びアンドゲート350 〜353 の他方の入力端子には、
レジスタR0 〜R3 からのそれぞれ2ビットのデータが
入力されるようになっている。つまり、レジスタR0 の
データはアンドゲート340 ,350 に、レジスタR1
のデータはアンドゲート341 ,351 に、レジスタR
2 のデータはアンドゲート342 ,352 に、レジスタ
R3 のデータはアンドゲート343 ,353 に入力され
るようになっている。
びアンドゲート350 〜353 の他方の入力端子には、
レジスタR0 〜R3 からのそれぞれ2ビットのデータが
入力されるようになっている。つまり、レジスタR0 の
データはアンドゲート340 ,350 に、レジスタR1
のデータはアンドゲート341 ,351 に、レジスタR
2 のデータはアンドゲート342 ,352 に、レジスタ
R3 のデータはアンドゲート343 ,353 に入力され
るようになっている。
【0039】そして、上記アンドゲート340 〜343
の出力はオアゲート344 を介してバレルシフタ20の
上位2ビット側に入力され、また上記アンドゲート35
0 〜353 の出力はオアゲート354 を介してバレルシ
フタ20の下位2ビット側に入力されるようになってい
る。
の出力はオアゲート344 を介してバレルシフタ20の
上位2ビット側に入力され、また上記アンドゲート35
0 〜353 の出力はオアゲート354 を介してバレルシ
フタ20の下位2ビット側に入力されるようになってい
る。
【0040】このような構成において、まず、本来のデ
ータ幅の倍のデータ幅でのローテートシフトを行う場合
の動作を説明する。この場合は、倍幅シフト要求信号が
オアゲート33の一方の入力端子に入力されている。
ータ幅の倍のデータ幅でのローテートシフトを行う場合
の動作を説明する。この場合は、倍幅シフト要求信号が
オアゲート33の一方の入力端子に入力されている。
【0041】そして、レジスタ番号指定信号が、例えば
レジスタR0 を指定したとすると、その指定信号は第1
のデコーダ31に入力されるとともにオアゲート33の
他方の入力端子に入力される。
レジスタR0 を指定したとすると、その指定信号は第1
のデコーダ31に入力されるとともにオアゲート33の
他方の入力端子に入力される。
【0042】第1のデコーダ31では、レジスタ番号指
定信号を解読して、その出力端子D 0 をハイレベルとす
る。また、第2のデコーダ32では、指定されたレジス
タ番号に+1を行い、レジスタR1 を指定すべくその出
力端子D1 をハイレベルとする。
定信号を解読して、その出力端子D 0 をハイレベルとす
る。また、第2のデコーダ32では、指定されたレジス
タ番号に+1を行い、レジスタR1 を指定すべくその出
力端子D1 をハイレベルとする。
【0043】これにより、第1のゲート回路34では、
アンドゲート340のみがゲートを開いて、レジスタR
0 の2ビットのデータを通過させ、オアゲート344 を
介してバレルシフタ20の上位2ビットに入力させる。
一方、第2のゲート回路35では、アンドゲート351
のみがゲートを開いて、レジスタR1 の2ビットのデー
タを通過させ、オアゲート354 を介して、バレルシフ
タ20の下位2ビットに入力させる。
アンドゲート340のみがゲートを開いて、レジスタR
0 の2ビットのデータを通過させ、オアゲート344 を
介してバレルシフタ20の上位2ビットに入力させる。
一方、第2のゲート回路35では、アンドゲート351
のみがゲートを開いて、レジスタR1 の2ビットのデー
タを通過させ、オアゲート354 を介して、バレルシフ
タ20の下位2ビットに入力させる。
【0044】バレルシフタ20は、その上位2ビットに
レジスタR0 、下位2ビットにレジスタR1 のそれぞれ
異なった2ビットづつの合計4ビットのデータが入力さ
れることになる。
レジスタR0 、下位2ビットにレジスタR1 のそれぞれ
異なった2ビットづつの合計4ビットのデータが入力さ
れることになる。
【0045】そして、バレルシフタ20に入力されるシ
フト量指定信号に応じたローテートシフトが行われる。
次に、本来のデータ幅である2ビットによるローテート
シフトを行う場合を説明する。ここでも前記同様、レジ
スタR0 が指定されたとして説明する。この場合、倍幅
シフト要求信号は入力されず、第1,第2のデコーダ3
1,32は、入力されたレジスタ番号指定信号を解読し
て、両者とも、レジスタR0 を指定すべく出力端子D0
をハイレベルとする。
フト量指定信号に応じたローテートシフトが行われる。
次に、本来のデータ幅である2ビットによるローテート
シフトを行う場合を説明する。ここでも前記同様、レジ
スタR0 が指定されたとして説明する。この場合、倍幅
シフト要求信号は入力されず、第1,第2のデコーダ3
1,32は、入力されたレジスタ番号指定信号を解読し
て、両者とも、レジスタR0 を指定すべく出力端子D0
をハイレベルとする。
【0046】これにより、第1,第2のゲート回路3
4,35は、アンドゲート340 ,350 がゲートを開
くため、レジスタR0 の2ビットのデータが、それぞれ
アンドゲート340 ,350 を通過し、さらにオアゲー
ト344 ,354 を通過して、バレルシフタ20の上位
2ビットおよび下位2ビットにそれぞれ入力される。
4,35は、アンドゲート340 ,350 がゲートを開
くため、レジスタR0 の2ビットのデータが、それぞれ
アンドゲート340 ,350 を通過し、さらにオアゲー
ト344 ,354 を通過して、バレルシフタ20の上位
2ビットおよび下位2ビットにそれぞれ入力される。
【0047】すなわち、バレルシフタ20の上位2ビッ
トおよび下位2ビットには、レジスタR0 の同じデータ
が2ビットづつ入力されることになる。例えばレジスタ
R0 のデータを「0,1」とすれば、バレルシフタの上
位2ビットには「0,1」のデータが入力され、下位2
ビットにも「0,1」のデータが入力され、結局は上位
と下位併せて「0,1,0,1」となる。
トおよび下位2ビットには、レジスタR0 の同じデータ
が2ビットづつ入力されることになる。例えばレジスタ
R0 のデータを「0,1」とすれば、バレルシフタの上
位2ビットには「0,1」のデータが入力され、下位2
ビットにも「0,1」のデータが入力され、結局は上位
と下位併せて「0,1,0,1」となる。
【0048】そして、これをシフト量指定信号により、
例えば左側に1シフトを行うと「1,0,1,0」とな
り、さらに1シフトを行えば「0,1,0,1」という
ようなローテートシフトが行われる。
例えば左側に1シフトを行うと「1,0,1,0」とな
り、さらに1シフトを行えば「0,1,0,1」という
ようなローテートシフトが行われる。
【0049】このバレルシフタ20の片側2ビットだけ
を見れば、結果的には2ビットでのローテートシフトが
行われていることになる。以上のように、倍のデータ幅
でのローテートシフトを行う場合は、指定されたレジス
タのデータをバレルシフタの上位2ビットに入れ、その
レジスタのレジスタ番号に+1をした番号のレジスタの
データを下位2ビットに入れることにより、倍のデータ
幅でのローテートシフトが行える。また、本来の2ビッ
トでのデータ幅によるローテートシフトを行う場合は、
バレルシフタの上位・下位に同じレジスタのデータを入
れることによって本来のデータ幅でのローテートシフト
が行えるものである。
を見れば、結果的には2ビットでのローテートシフトが
行われていることになる。以上のように、倍のデータ幅
でのローテートシフトを行う場合は、指定されたレジス
タのデータをバレルシフタの上位2ビットに入れ、その
レジスタのレジスタ番号に+1をした番号のレジスタの
データを下位2ビットに入れることにより、倍のデータ
幅でのローテートシフトが行える。また、本来の2ビッ
トでのデータ幅によるローテートシフトを行う場合は、
バレルシフタの上位・下位に同じレジスタのデータを入
れることによって本来のデータ幅でのローテートシフト
が行えるものである。
【0050】なお、この実施例では、2ビット/4ビッ
トのデータ幅におけるローテートシフトについて説明し
たが、これに限られるものではないことは勿論である。
トのデータ幅におけるローテートシフトについて説明し
たが、これに限られるものではないことは勿論である。
【0051】
【発明の効果】本発明によれば、本来のデータ幅の倍の
データ幅でローテートシフトを行うときは、シフタの上
位ビット、下位ビットにそれぞれ異なったデータを入れ
て合計のビット数でローテートシフトを行い、本来のデ
ータ幅でのローテートシフトを行うときは、シフタの上
位ビット、下位ビットにそれぞれ同じデータを入れてロ
ーテートシフトさせて、倍幅の1/2のデータ幅でのロ
ーテートシフトを可能としたので、ハードウェア量の大
幅な増加を伴うことなく、またデータ遅延も伴うことな
く、本来のデータ幅でのローテートシフトと倍幅のデー
タ幅のローテートシフトの両方を可能とした中央処理装
置のデータシフト回路を実現できる。
データ幅でローテートシフトを行うときは、シフタの上
位ビット、下位ビットにそれぞれ異なったデータを入れ
て合計のビット数でローテートシフトを行い、本来のデ
ータ幅でのローテートシフトを行うときは、シフタの上
位ビット、下位ビットにそれぞれ同じデータを入れてロ
ーテートシフトさせて、倍幅の1/2のデータ幅でのロ
ーテートシフトを可能としたので、ハードウェア量の大
幅な増加を伴うことなく、またデータ遅延も伴うことな
く、本来のデータ幅でのローテートシフトと倍幅のデー
タ幅のローテートシフトの両方を可能とした中央処理装
置のデータシフト回路を実現できる。
【図1】本発明の原理を説明するための基本構成図であ
る。
る。
【図2】本発明の実施例を説明するための構成図であ
る。
る。
【図3】中央処理装置内におけるシフタの一般的な機能
を説明するための概略構成図である。
を説明するための概略構成図である。
【図4】従来のシフタ回路の一例を示す構成図である。
20 2ビット/4ビットの左バレルシフタ 21 レジスタ部 22 データ制御手段 R0 〜R3 レジスタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 長堀 和雄 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 中野 連利 神奈川県横浜市港北区新横浜3丁目9番18 号 富士通コミユニケーシヨン・システム ズ株式会社内
Claims (1)
- 【請求項1】 本来のデータ幅でのシフトとその倍のデ
ータ幅でのシフトの両方を可能とする中央処理装置のデ
ータシフト回路において、 本来のデータ幅の倍のデータ幅に対応するビット数のシ
フトを可能とするシフタ(20)と、 シフト対象となるデータをそれぞれ格納した複数のレジ
スタ(R0 〜R3 )で構成されるレジスタ部(21)
と、 これらレジスタ部(21)と前記シフタ(20)との間
に介在され、レジスタ(R0 〜R3 )のいずれかのレジ
スタを指定する信号が入力されるとともに、倍のデータ
幅でのシフトを要求する信号が選択的に入力され、倍の
データ幅でのシフト要求時には、指定されたレジスタの
データとこの指定されたレジスタに予め定められた関係
で関連付けられた他のレジスタのデータとを前記シフタ
(20)の上位ビットと下位ビットにそれぞれ分けて入
力させ、本来のデータ幅でのシフト時には、指定された
レジスタのデータを前記シフタ(20)の上位ビットと
下位ビットにそれぞれ入力させるデータ制御手段(2
2)とを備えたことを特徴とする中央処理装置のデータ
シフト回路。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3040298A JPH05134848A (ja) | 1991-03-06 | 1991-03-06 | 中央処理装置のデータシフト回路 |
| CA002062441A CA2062441C (en) | 1991-03-06 | 1992-03-05 | A data shifting circuit capable of an original data width rotation and a double data width rotation. |
| EP92103886A EP0502544A2 (en) | 1991-03-06 | 1992-03-06 | A data shifting circuit of a central processing unit |
| US07/847,315 US5553010A (en) | 1991-03-06 | 1992-03-06 | Data shifting circuit capable of an original data width rotation and a double data width rotation |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3040298A JPH05134848A (ja) | 1991-03-06 | 1991-03-06 | 中央処理装置のデータシフト回路 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH05134848A true JPH05134848A (ja) | 1993-06-01 |
Family
ID=12576708
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3040298A Pending JPH05134848A (ja) | 1991-03-06 | 1991-03-06 | 中央処理装置のデータシフト回路 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5553010A (ja) |
| EP (1) | EP0502544A2 (ja) |
| JP (1) | JPH05134848A (ja) |
| CA (1) | CA2062441C (ja) |
Families Citing this family (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6275834B1 (en) * | 1994-12-01 | 2001-08-14 | Intel Corporation | Apparatus for performing packed shift operations |
| US6738793B2 (en) * | 1994-12-01 | 2004-05-18 | Intel Corporation | Processor capable of executing packed shift operations |
| US5682339A (en) * | 1995-05-26 | 1997-10-28 | National Semiconductor Corporation | Method for performing rotate through carry using a 32 bit barrel shifter and counter |
| US6230245B1 (en) | 1997-02-11 | 2001-05-08 | Micron Technology, Inc. | Method and apparatus for generating a variable sequence of memory device command signals |
| US5991531A (en) * | 1997-02-24 | 1999-11-23 | Samsung Electronics Co., Ltd. | Scalable width vector processor architecture for efficient emulation |
| US6175894B1 (en) | 1997-03-05 | 2001-01-16 | Micron Technology, Inc. | Memory device command buffer apparatus and method and memory devices and computer systems using same |
| US5996043A (en) | 1997-06-13 | 1999-11-30 | Micron Technology, Inc. | Two step memory device command buffer apparatus and method and memory devices and computer systems using same |
| US6484244B1 (en) | 1997-06-17 | 2002-11-19 | Micron Technology, Inc. | Method and system for storing and processing multiple memory commands |
| US6202119B1 (en) | 1997-12-19 | 2001-03-13 | Micron Technology, Inc. | Method and system for processing pipelined memory commands |
| 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 |
| US6175905B1 (en) | 1998-07-30 | 2001-01-16 | Micron Technology, Inc. | Method and system for bypassing pipelines in a pipelined memory command generator |
| US6178488B1 (en) | 1998-08-27 | 2001-01-23 | Micron Technology, Inc. | Method and apparatus for processing pipelined memory commands |
| US6393446B1 (en) * | 1999-06-30 | 2002-05-21 | International Business Machines Corporation | 32-bit and 64-bit dual mode rotator |
| US6643673B1 (en) * | 1999-11-30 | 2003-11-04 | Ati International, Srl | Method and apparatus for arithmetic shifting |
| US6895420B1 (en) * | 2000-02-16 | 2005-05-17 | Hewlett-Packard Development Company, L.P. | Apparatus and method for sharing data FET for a four-way multiplexer |
| US6675182B1 (en) * | 2000-08-25 | 2004-01-06 | International Business Machines Corporation | Method and apparatus for performing rotate operations using cascaded multiplexers |
| US7155570B1 (en) * | 2000-09-29 | 2006-12-26 | Intel Corporation | FIFO write/LIFO read trace buffer with software and hardware loop compression |
| US6813734B1 (en) | 2001-01-26 | 2004-11-02 | Catamaran Communications Incorporated | Method and apparatus for data alignment |
| AU2002245320A1 (en) * | 2001-01-26 | 2002-08-06 | Infineon Technologies Catamaran, Inc. | Method and apparatus for data alignment |
| US6965606B2 (en) | 2001-01-26 | 2005-11-15 | Exar Corporation | Method and apparatus for byte rotation |
| US20060031272A1 (en) * | 2004-08-05 | 2006-02-09 | International Business Machines Corporation | Alignment shifter supporting multiple precisions |
| US8972469B2 (en) | 2011-06-30 | 2015-03-03 | Apple Inc. | Multi-mode combined rotator |
| US9478312B1 (en) | 2014-12-23 | 2016-10-25 | Amazon Technologies, Inc. | Address circuit |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3996566A (en) * | 1974-12-16 | 1976-12-07 | Bell Telephone Laboratories, Incorporated | Shift and rotate circuit for a data processor |
| JPS5750049A (en) * | 1980-09-09 | 1982-03-24 | Toshiba Corp | Shifting circuit |
| US4411009A (en) * | 1980-12-05 | 1983-10-18 | Rca Corporation | Digital dual half word or single word position scaler |
| US4488252A (en) * | 1982-02-22 | 1984-12-11 | Raytheon Company | Floating point addition architecture |
| JPS58184649A (ja) * | 1982-04-22 | 1983-10-28 | Toshiba Corp | シフト回路 |
| JPS5962950A (ja) * | 1982-10-01 | 1984-04-10 | Nec Corp | シフト装置 |
| US4785393A (en) * | 1984-07-09 | 1988-11-15 | Advanced Micro Devices, Inc. | 32-Bit extended function arithmetic-logic unit on a single chip |
| CA1265254A (en) * | 1986-02-24 | 1990-01-30 | Thomas Ralph Woodward | Programmably controlled shifting mechanism in a programmable unit having variable data path widths |
| JPS63225822A (ja) * | 1986-08-11 | 1988-09-20 | Toshiba Corp | バレルシフタ |
| JPS6382513A (ja) * | 1986-09-26 | 1988-04-13 | Toshiba Corp | バレルシフタ |
| JPH087668B2 (ja) * | 1990-02-07 | 1996-01-29 | 株式会社東芝 | ダイナミックバレルシフタ |
| JP2556612B2 (ja) * | 1990-08-29 | 1996-11-20 | 日本電気アイシーマイコンシステム株式会社 | バレルシフタ回路 |
-
1991
- 1991-03-06 JP JP3040298A patent/JPH05134848A/ja active Pending
-
1992
- 1992-03-05 CA CA002062441A patent/CA2062441C/en not_active Expired - Fee Related
- 1992-03-06 EP EP92103886A patent/EP0502544A2/en not_active Ceased
- 1992-03-06 US US07/847,315 patent/US5553010A/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| EP0502544A2 (en) | 1992-09-09 |
| CA2062441C (en) | 1998-06-30 |
| CA2062441A1 (en) | 1992-09-07 |
| US5553010A (en) | 1996-09-03 |
| EP0502544A3 (ja) | 1995-01-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CA1175154A (en) | Shift circuit | |
| US4654781A (en) | Byte addressable memory for variable length instructions and data | |
| US4396994A (en) | Data shifting and rotating apparatus | |
| CA2062441C (en) | A data shifting circuit capable of an original data width rotation and a double data width rotation. | |
| KR0177985B1 (ko) | 프로세서의 벡터 데이터 조정 장치 | |
| US4037213A (en) | Data processor using a four section instruction format for control of multi-operation functions by a single instruction | |
| US4149263A (en) | Programmable multi-bit shifter | |
| EP0198341A2 (en) | Digital data processing circuit having a bit reverse function | |
| US4931925A (en) | High speed byte data rearranging processor | |
| US4179738A (en) | Programmable control latch mechanism for a data processing system | |
| US6006244A (en) | Circuit for shifting or rotating operands of multiple size | |
| US3790960A (en) | Right and left shifter and method in a data processing system | |
| US6073228A (en) | Modulo address generator for generating an updated address | |
| NO141105B (no) | Databehandlingssystem som har en hoeyhastighets bufferlager - enhet for overfoering av data mellom et hovedlager og en sentral behandlingsenhet | |
| US6877019B2 (en) | Barrel shifter | |
| US3997771A (en) | Apparatus and method for performing an arithmetic operation and multibit shift | |
| US4999808A (en) | Dual byte order data processor | |
| US3436737A (en) | Shift enable algorithm implementation means | |
| US5416731A (en) | High-speed barrel shifter | |
| EP0107952A2 (en) | Information processing apparatus and its instruction control system | |
| US4812970A (en) | Microprogram control system | |
| US6172933B1 (en) | Redundant form address decoder for memory system | |
| US6912173B2 (en) | Method and system for fast memory access | |
| USRE33664E (en) | Data shifting and rotating apparatus | |
| JPS6042966B2 (ja) | デ−タ処理システム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20010918 |