JPS60153543A - バレルシフタ - Google Patents

バレルシフタ

Info

Publication number
JPS60153543A
JPS60153543A JP857184A JP857184A JPS60153543A JP S60153543 A JPS60153543 A JP S60153543A JP 857184 A JP857184 A JP 857184A JP 857184 A JP857184 A JP 857184A JP S60153543 A JPS60153543 A JP S60153543A
Authority
JP
Japan
Prior art keywords
input
data
bit
output
control 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.)
Granted
Application number
JP857184A
Other languages
English (en)
Other versions
JPH0697431B2 (ja
Inventor
Makoto Hanawa
花輪 誠
Tomoya Takasuka
高須賀 知哉
Yoshimune Hagiwara
萩原 吉宗
Yoshiki Noguchi
孝樹 野口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Ltd
Hitachi Microcomputer Engineering Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd, Hitachi Microcomputer Engineering Ltd filed Critical Hitachi Ltd
Priority to JP857184A priority Critical patent/JPH0697431B2/ja
Publication of JPS60153543A publication Critical patent/JPS60153543A/ja
Publication of JPH0697431B2 publication Critical patent/JPH0697431B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明はデータ処理装置に係り、高性能マイクロプロセ
ッサVLSIに好適なバレルシフタに関する。
〔発明の背景〕
従来のバレルシフタは、第1図番;示ずように、ΔND
ゲー1−30とORゲート40より成るセレクタを用い
て構成していた。、図の装置において、信号線イをアサ
ートすると1指圧(図においては上方)にシフトし、信
号線口をアサートするとそのままの信号を出力し、信号
線ハをアサートすると1桁右(図においては下方)にシ
フトする。
2nビツトのバレルシフタを構成する場合、1ビツトシ
フタから2.n−mビットシフタまでn段の固定桁シフ
タ1を直列に接続して構成していた。そのため次のよう
な欠点があった。(1)MSB側とLSV側を配線で結
ぶ必要があるため、縦方向の配線が多くなる。たとえば
32ビツトのバレルシフタの場合124本にも及ぶ。(
2)第1図に示すバレルシフタは、ローティト操作専用
のものであり、これにシフト操作の機能を追加するため
には、各セレクタの制御信号を増やし、またセレクタを
構成する素子の数を増やす必要がある。
(3)語長の長いバレルシフタを構成する場合、多段の
セレクタを直列に接続するため、処理時間が長くなる。
例えば32ビツトの場合、5段のセレクタを直列に接続
しなければならない。
〔発明の目的〕
本発明の目的は、異なる語長のデータに対して任意のビ
ット数だけシフト操作及びローティト操作を施すことの
できる、高速かっVLSI向きなバレルシフタの構成法
を提供することにある。
[発明の概要〕 シフト操作及びローティト操作を単純な機構でサポート
するため、本発明では2つのレジスタを1本に連結して
、語長が2倍になったデータの内、任意のビット位置か
ら1ワ一ド分のデータを切り出す抽出器を設けた。ロー
ティト操作を行うためには、2つのレジスタに等しいデ
ータを入力し、又、シフト操作を行うためには、シフト
方向に従い一方のレジスタにすべて1101gを入力す
れば良い。
上記の抽出器を実現するにあたり、入力デー多線と出力
データ線を直交させその交点にスイッチを設け、このス
イッチの開閉指示を制御することにより、任意のビット
位置がら始まる1ワ一ド分のデータを切り出す回路を考
えた。
〔発明の実施例〕
以下、本発明の一実施例を図を用いて説明する。
第2図は本発明の一実施例の32ビツトバレルシフタの
論理ブロック図である。抽出器150、左側入力セレク
タ580、及び右側入力セレクタ681.682より構
成されている。
第3図は32×2ビット幅のデータの任意のビット位置
から32ビツトのデータを切り出す抽出器150の論理
回路図である。信号線100〜131は出力線であり出
力線131がM S B (MostSignific
ant Bit)である。入力信号線200〜231は
出力線100〜131と直交するよう配置□されている
。信号線231がMSBである。点線で囲んだ3角形の
部分250は、入力線200〜231を出力線100〜
131へ出力するためのスイッチマトリクスである。論
理シンボル10は第3図(、)に示すように、制御信号
11をアサートすると入力信号12の反転信号を出力線
13へ伝え、ネゲー1−すると出力はハイインピーダン
ス状態になる。素子(クロックドゲート)である、、論
理シンボル10をより具体的に示すと、第3図のように
P−MOS FET 14とN−MOS FET 15
より構成されている。第2図に係り、スイッチマトリク
ス250の構成は、制御信号300がアサートされたと
き、入力信号200〜231がそのまま出力され、制御
信号301がアサートされたとき、入力信号200〜2
30が1指圧へずれて出力され、以下同様に、制御信号
362〜331により入力信号を左へ桁移動して出力す
るようにスイッチ10の制御信号を接続しである。
同様に、スイッチャトリクス450は、入力信号線40
0〜431を出力wA100〜131へ伝えるもので、
制御信号301〜332により、入力信号を左へ指移動
して出力する。ここで入力線200〜231および40
0〜431には、夫々32ビツトのデータが与えられる
ため、あわせて2倍の語長を有するデータが、抽出器に
入力されることになる。
従って、入力線231〜200,431〜400で構成
される32×2ビット幅の入力データの任意のビット位
置から32ビツトのデ、−夕を抽出することができる。
第5図は、4人力の左側入力セレクタ580の論理回路
図である。制御信号570をアサートすると、出力線2
00〜231のすべてに′0″を出力する。制御信号5
71をアサートすると、すべての出力線200〜231
に入力信号560を出力する。制御信号572をアサー
トすると、入力信号500〜530を1指圧(図では下
側)へ移動して出力する。また、このとき出力線200
には入力信号550を出力する。制御信号573をアサ
ートすると、入力信号500〜531がそのまま出力さ
れる。
第6図は、3人力の右側入力セレクタ681と部分的に
3人力である右側入力セレクタ682の論理回路図であ
る。3人力セレクタ681は、制御信号660をアサー
トすると出力線400〜431のすべてにII O##
を出力する。制御信号661をアサートすると入力信号
700〜731がそのまま出力線400〜431に出力
される。
制御信号662をアサートすると入力信号701〜73
1を1桁右(図では上側)へ移動して出力する。このと
き出力線431には入力信号670を出力する。
セレクタ682は、ANDゲート30とORゲート40
から構成されている。制御信号650をアサートすると
入力信号600〜631がそのまま出力線700〜73
1に出力される。制御信号651をアサートすると入力
信号600〜615を出力線716〜731へ出力し、
出力線700〜715は“0″となる。制御信号652
をアサートすると入力信号600〜607を出力線72
4〜731八出力し、出力椋700〜723は′0″と
なる。これは、32ビツト幅のバス600〜631に右
詰めて表わされている16ビツトデータや8ビツトデー
タを左詰めに変換する回路である。
以下本実施例のバレルシフタを用いて各種のシフト、ロ
ーティ1−41作を行う場合について説明する。
(1)32ビツトローテイト 入力信号線500〜531,600〜631には同じ3
2ビツトのデータを入力する。ここで、入力信号531
,631がMSBである。
左右の入力セレクタの制御信号は、それぞれ 1573
.650,661をアサートして入力データをそのまま
スイッチマトリクスへ入力する。
nビット左ローティトを行う場合には、制御信号3nl
n19をアサートする。例えば、12ビツト左ローテイ
トの場合には制御信号312をアサートする(第7図(
a)参照)。nビット右ローティトは、(32−n)ビ
ット左ローティトと同じ結果になることから、シフトカ
ウントを(32−n)としてそれに対応する制御信号3
n・In’9をアサートする。例えば12ビツト右ロー
テイトする場合には制御信号320をアサートすれば良
い(第7図(b)参照)。
(2)32ビツト左シフト 入力信号線500〜531に32ビツトのデータを入力
する。左右の入力セレクタの制御線はそれぞれ573.
660をアサートする。スイッチマトリクス150の右
側入力400〜431はすべて# OIB、左側入力2
00〜231は入力信号500〜531となる。nビッ
ト左シフトを行う場合、左ローティトと同様に制御信号
3ntnzをアサートする(第7図(c)参照)7 (3)32ビツト右シフト 入力信号線600〜631に32ビツトのデータを入力
する。左右の入力セレクタの制御線はそれぞれ570,
661,650をアサートする。スイッチマトリクス1
50の左側入力200〜231はすべて“θ″、右側入
力400〜431は入力データ600〜631となる。
nビット右シフトを行う場合、(−n)ビットの左シフ
トと考え、右ローティトと同様にシフトカウントを(3
2−n)として、それに対応する制御信号3n′i+−
9′2をアサートする(第7図(d)参照)。
(4)32ビツト算術右シフト これは、入力データのMSBをデータの符号(s)とみ
なし、この符号(s)を変化させずに右シフトする処理
である。
入力信号線600〜631に32ビツトデータを入力す
る。左右の入力セレクタの制御線はそれぞれ571,6
50,661をアサートする。スイッチマトリクス15
0の左側入力200〜231にはデータの符号(s)5
60が出力され、右側入力400〜431には入力デー
タ600〜631が出力される。nビット右シフトを行
う場合には、上記(3)と同様に、制御信号3n’In
’$lをアサートする(第7図(e)参照)。
(5)拡張ビット付き32ビツトローテイトこのローテ
ィト操作は1ビツトの拡張ビットと32ビツトのデータ
を連結して、33ビツトデータのローティト処理を行う
(5,1)左ローティト 第8図(a)に拡張ビット付き左ローティトの処理を示
す。
入力信号500〜531,600〜631には同じ32
ビツトのデータを入力する。左右の入力セレクタの制御
線はそれぞれ573゜662.650をアサートする。
スイッチマトリクス150の左側入力200〜231は
入力データ500〜531がそのまま入力される。右側
入力400〜430には、入力データ601〜631が
1桁右シフトして入力され、入力線431には、拡張ビ
ット信号670が入力される。
nビット左目−ティトを行う場合1項番(1)のローテ
ィトと同様に、制御信号3ntns+をアサートする。
(5,2)右ローティト 第8図(b)に拡張ビット付き右ローティトの処理を示
す。
入力信号500〜531,600〜631には同じ32
ビツトのデータを入力する。左右の入力セレクタの制御
線はそれぞれ572゜661.650をアサートする。
スイッチマトリクス150の右側入力400〜431に
は入力データ600〜631がそのまま入力される。右
側入力201〜231には、入力データ500〜530
が1桁左シフトして入力され、入力線200には拡張ビ
ット信舟550が入力される。
nビット右ローディトを行う場合、項番(1)のローテ
ィトと同様に、制御信号3rl’In’llをアサート
する。
(6)ビット幅の長いデータのシフト 本バレルシフタは32×2ビツトのデータの内任意のビ
ット位置から始まる32ビツトのデータを切り出す抽出
器を基本としている。したがってビット幅の長いデータ
をシフトする場合には、上位側32ビツトを左側入力5
00〜531に入力し、下位側32ビツトを右側入力6
00〜631に入力して、制御信号573゜650.6
61および、シフトカウント(n)に従つ゛C制御信号
3nlll!Iをアサートすることにより実現できる。
ここで、出力として得られるデータは、32ビツトであ
るため、例えば64ビツトデータの場合は2回、128
ビツトデータの場合は4回に分けて実行する必要がある
(7)ビット幅の短いデータのシフト及びローティ1〜 本バレルシフタの構成によると、スイッチマトリクス1
50の左側入力データ200〜231を右詰めに、また
右側入力データ400〜431を左詰めにしておくこと
により、任意のビット幅のデータに対して、シフト及び
ローティー・を行うことができる。
ビット幅の短いデータは、内部のレジスタやバスにおい
て右詰めで表わされている。本バレルシフタでは、セレ
クタ682を右側人力セレクタ681の前に設け、短い
データを左詰めに変換することにより、シフト及びロー
ティトをサボー1−シている。
具体的には、16ビツト幅のデータを取扱う場合には、
制御信号651をアサートして下位16ビツト600〜
615を上位側716〜731に出力する。また、8ビ
ツト幅のデータを取扱う場合には、制御信号652をア
サートして下位8ビツト600〜607を上位側724
〜731に出力する。
シフト及びローティト時の入力セレクタ580.681
への制御は項番(1)〜(5)の場合と同じである。
本実施例によれば以下の効果がある。
(1)32ビツトデータの任意の桁数のローティト及び
シフト操作を、1度に行うことができる。
(2)論理的な右シフトだけでなく、符号の値を変化さ
せない算術右シフトも行うことができる。
(3)拡張ビットを伴い、データのビット幅を1ビット
大きくしたデータのローティトを行うことができる。
(4)32ビツトよりも大きいビット幅のデータについ
て、シフトを行うことができる。
(5)16ビツトや8ビツトのデータについても、上記
(1)〜(3)のシフト及びローティトを行うことがで
きる。
(6)バレルシフタの基本部分をクロスバ−型スイツチ
マトリクスで構成しているため、構造が単純でレイアウ
トが簡単である。
(7)スイッチマトリクスのため、従来のAND10R
ゲートによるバレルシフタに比べ配線の量が少なくて済
む。
(8)スイッチマトリクス中では、入力信号はクロック
ドゲート1段しか通過していないので、遅延時間が短い
〔発明の効果〕
本発明によれば以下の効果がある。
(1)バレルシフタの主要な部分をクロスバ−型スイッ
チマトリクスで構成しているため、構造が単純になるの
で、LSI上へレイアウトする際、簡単になる。また、
従来の構成法に比べ配線の量が少なくなるので、LSI
上の面積が小さい。
また、データが通過するゲートが少ないので、遅延時間
が短い。
(2)スイッチマトリクスの入力側に簡単なセレクタを
設けたことにより、スイッチマトリクスの構造を複雑に
することなく、各種のシフト及びローティトを実行でき
る。つまり、左右ローティト、左右シフト、算術右シフ
ト、拡張ビットを伴った左右ローティトを1回の操作で
実行できる。
(3)入力セレクタの前段に、ビット幅の短いデータを
左詰めに移動する回路を設けたので、短いビット幅のデ
ータに対しても、上記に示した各種のシフト誓びローテ
ィト操作を行うことができる。
【図面の簡単な説明】
第1図は従来のバレルシフタの論理回路図、第2図は本
発明のバレルシフタのブロック図、第3図はクロスバ−
型スイッチマトリクスの論理回路図、第4図はクロック
ドインバータのシンボル及び回路図、第5図、第6図は
入力セレクタの論理回路図、第7図はシフト及びローテ
ィト操作を行うときのスイッチマトリクスの入力を示す
図、第8図は拡張ビットを伴うローティト操作を行うと
きのスイッチマトリクスの入力を示す図である。 10・・・クロックドインバータ、20・・・インバー
タ。 30・・・ANDゲート、40・・・ORゲー)、15
0・・・スイッチマトリクス、100〜131・・・デ
ータ出力線、580・・・左側入力セレクタ、681・
・・右側入力セレクタ、682・・・データ左詰め回路
、左側入力500〜531.600〜631・・・右側
入茅10 察20 ′j45目 茅7目 ′!48図 第1頁の続き 0発明者 萩原 :S′ ロボ 0発明者野口 孝樹 国分寺市東恋ケ窪1丁目28幡地 株式会社日立製作所
中央研究所内

Claims (1)

  1. 【特許請求の範囲】 1、複数ビットデータのローティトを行なうバレルシフ
    タにおいて、該複数ビットデータを並列に入力して2倍
    のビット長とする入力手段と。 該2倍のビット長となったデータのうち、所定ビット範
    囲のデータを指定に応じて選択し出力するスイッチ手段
    とを有することを特徴とするバレルシフタ。
JP857184A 1984-01-23 1984-01-23 バレルシフタ Expired - Lifetime JPH0697431B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP857184A JPH0697431B2 (ja) 1984-01-23 1984-01-23 バレルシフタ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP857184A JPH0697431B2 (ja) 1984-01-23 1984-01-23 バレルシフタ

Publications (2)

Publication Number Publication Date
JPS60153543A true JPS60153543A (ja) 1985-08-13
JPH0697431B2 JPH0697431B2 (ja) 1994-11-30

Family

ID=11696733

Family Applications (1)

Application Number Title Priority Date Filing Date
JP857184A Expired - Lifetime JPH0697431B2 (ja) 1984-01-23 1984-01-23 バレルシフタ

Country Status (1)

Country Link
JP (1) JPH0697431B2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62184531A (ja) * 1986-02-10 1987-08-12 Hitachi Ltd バレルシフタ
JPS63121922A (ja) * 1986-11-12 1988-05-26 Hitachi Ltd バレルシフト回路
JPS63163527A (ja) * 1986-12-25 1988-07-07 Nec Corp デ−タ詰め込み回路
JPS6421531A (en) * 1987-07-16 1989-01-24 Fujitsu Ltd Barrel shifter circuit
JPH01161434A (ja) * 1987-12-17 1989-06-26 Nec Corp シフト演算回路
JPH01223531A (ja) * 1988-03-02 1989-09-06 Toshiba Corp バレルシフタ
JPH0219920A (ja) * 1988-07-08 1990-01-23 Toshiba Corp データ回転回路
JPH03216726A (ja) * 1990-01-22 1991-09-24 Toshiba Corp バレルシフタ
WO1993014456A1 (en) * 1992-01-09 1993-07-22 Oki Electric Industry Co., Ltd. Barrel shifter

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62184531A (ja) * 1986-02-10 1987-08-12 Hitachi Ltd バレルシフタ
JPS63121922A (ja) * 1986-11-12 1988-05-26 Hitachi Ltd バレルシフト回路
JPS63163527A (ja) * 1986-12-25 1988-07-07 Nec Corp デ−タ詰め込み回路
JPS6421531A (en) * 1987-07-16 1989-01-24 Fujitsu Ltd Barrel shifter circuit
JPH01161434A (ja) * 1987-12-17 1989-06-26 Nec Corp シフト演算回路
JPH01223531A (ja) * 1988-03-02 1989-09-06 Toshiba Corp バレルシフタ
JPH0219920A (ja) * 1988-07-08 1990-01-23 Toshiba Corp データ回転回路
JPH03216726A (ja) * 1990-01-22 1991-09-24 Toshiba Corp バレルシフタ
WO1993014456A1 (en) * 1992-01-09 1993-07-22 Oki Electric Industry Co., Ltd. Barrel shifter
US5465223A (en) * 1992-01-09 1995-11-07 Oki Electric Industry Co., Ltd. Barrel shifter

Also Published As

Publication number Publication date
JPH0697431B2 (ja) 1994-11-30

Similar Documents

Publication Publication Date Title
US7761694B2 (en) Execution unit for performing shuffle and other operations
JPS6014321A (ja) 多段シフト装置
US20090019269A1 (en) Methods and Apparatus for a Bit Rake Instruction
US10340920B1 (en) High performance FPGA addition
US5704052A (en) Bit processing unit for performing complex logical operations within a single clock cycle
US6006244A (en) Circuit for shifting or rotating operands of multiple size
US20040254965A1 (en) Apparatus for variable word length computing in an array processor
US5268856A (en) Bit serial floating point parallel processing system and method
JPH05134848A (ja) 中央処理装置のデータシフト回路
JPH03175528A (ja) 対話式セルラアレイを用いる非同期先行ゼロカウンタ
JPS60153543A (ja) バレルシフタ
US7370180B2 (en) Bit field extraction with sign or zero extend
JPS6231472A (ja) ビツト処理回路
US6317763B1 (en) Circuits, barrel shifters, and methods of manipulating a bit pattern
JPH0769782B2 (ja) マイクロプログラム可能な32ビットカスケード可能ビットスライス
US6308189B1 (en) Apparatus for partial logical shifts and method therefor
US6834024B2 (en) Reduced size multi-port register cell
JP3272724B2 (ja) バレルシフタ
EP0602337A1 (en) High-speed barrel shifter
US5991786A (en) Circuit and method for shifting or rotating operands of multiple size
US6675182B1 (en) Method and apparatus for performing rotate operations using cascaded multiplexers
US4843383A (en) Transistor matrix shifter
JPH0467213B2 (ja)
US4811369A (en) Bit reversing apparatus
JP2624342B2 (ja) バレルシフタ