JPH03110625A - バレルシフタ - Google Patents

バレルシフタ

Info

Publication number
JPH03110625A
JPH03110625A JP24837089A JP24837089A JPH03110625A JP H03110625 A JPH03110625 A JP H03110625A JP 24837089 A JP24837089 A JP 24837089A JP 24837089 A JP24837089 A JP 24837089A JP H03110625 A JPH03110625 A JP H03110625A
Authority
JP
Japan
Prior art keywords
shift
bit
register
input
data
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
JP24837089A
Other languages
English (en)
Other versions
JP2624342B2 (ja
Inventor
Takashi Tatsumi
隆 辰巳
Yuichi Saito
祐一 斉藤
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP1248370A priority Critical patent/JP2624342B2/ja
Publication of JPH03110625A publication Critical patent/JPH03110625A/ja
Application granted granted Critical
Publication of JP2624342B2 publication Critical patent/JP2624342B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、シフト機能を有するデータ処理装置に関する
ものであり、特に少ない素子数で、がっ、集積化に適し
た回路で、ローティトを実現するシフト回路に関するも
のである。
〔従来の技術〕
一般に、マイクロプロセッサ等のデータ処理装置は、デ
ータの複数ビットのシフト処理を高速に行うためにバレ
ルシフタを備えている。そして、論理演算、及び、算術
演算を行うため、バレルシフタは、論理シフト、算術シ
フト、ローティトの3種類の処理機能を備えている。
第6図は、従来の32ビツトのバレルシフタの回路図で
ある。33は1ビツトの固定桁シフト回路、34は2ビ
ツトの固定桁シフト回路、35は4ビツトの固定桁シフ
ト回路、36は8ビツトの固定桁シフト回路、37は1
6ビツトの固定桁シフト回路である。入力信号線200
〜231は32ビツトのデータの入力信号線である。4
1はANDゲート、42はORゲートである。1ビツト
の固定桁シフト回路33において、38は1ビツトの左
方向のシフトを行うための制御信号、39はシフトせず
に入力データをそのまま出力するための制御信号、40
は1ビツトの右方向のシフトを行うための制御信号であ
る。2ビツトの固定桁シフト回路34において、43は
2ビツトの左方向のシフトを行うための制御信号、44
はシフトせずに入力データをそのまま出力するための制
御信号、45は2ビツトの右方向のシフトを行うための
制御信号である。4ビツト固定桁シフト回路35におい
て、46は4ビツトの左方−向のシフトを行うための制
御信号、47はシフトせずに入力データをそのまま出力
するための制御信号、48は4ビツトの右方向のシフト
を行うための制御信号である。8ビツトの固定桁シフト
回路36において、49は8ビツトの左方向のシフトを
行うための制御信号、50はシフトせずに入力データを
そのまま出力するための制御信号、51は8ビツトの右
方向のシフトを行うための制御信号である。
16ビツトの固定桁シフト回路37において、52は1
6ビツトの左方向のシフトを行うための制御信号、53
はシフトせずに入力データをそのまま出力するための制
御信号、54は16ビツトの右方向のシフトを行うため
の制御信号である。
1ビツトの固定桁シフト回路33は、制御信号38を“
H”にすると1ビツト左方向のローティトを行うことが
でき、制御信号39を“H″にすると入力データをその
まま出力することができる。
制御信号40を“H”にすることにより、1ビツトの右
方向のローティトを行うことができる。
32ビツトのバレルシフタを構成する場合、2ビツト、
4ビツト、8ビツト、16ビントの固定桁シフト回路を
1ビツトの固定桁シフト回路33と同様の構成で構成し
、5段直列に接続することにより任意ビットの左右方向
のローティトを実現していた。
例えば、10ビツトの右方向のローティトを行う場合、
2ビツトの固定桁シフト回路34で制御信号45を′″
H′″にすることにより2ビツトの右方向のローティト
を行い、前記ローティトを行ったデータについて8ビツ
トの固定桁シフト回路36の制御信号51を“Hlにす
ることにより、8ビツトの右方向のローティトを行う、
そして、他の固定桁シフト回路は入力信号をそのまま出
力するように制御信号39.47.53を“H′″にす
ることにより、10ビツトの右方向のローティトが実現
できる。
〔発明が解決しようとする課題〕
上記従来のバレルシフタでは、以上に述べたように、多
段の固定桁シックが直列に接続され、多くのゲートを通
過するために遅延が太き(なり、処理時間が長くなり、
LSIに実現する上で配線が複雑になるという問題点が
あった。
また、上記バレルシフタはローティト操作専用のもので
あり、更に、論理シフト、算術シフトの機能を追加しよ
うとすると、制御信号の数、トランジスタの数が増加し
てしまうという問題点があった。
この発明は、上記従来のものの問題点を解消するために
なされたもので、少ないハードウェア量で、しかも、集
積化に適した回路でローティト、論理シフト、算術シフ
トを行うことができるバレルシフタを提供することを目
的とする。
〔課題を解決するための手段〕
この発明にかかるバレルシフタは、双方向のシフトマト
リクスを有し、かつ、シフトマトリクスにおいて、第1
のレジスタのNビット目のシフトデータ転送用の入出力
端子と第2のレジスタのMビット目のシフトデータ転送
用の入出力端子が接続している場合、82Mならば、接
続された端子間に1つのトランスミッションゲートが接
続され、N<Mならば、接続された端子間に2つのトラ
ンスミッションゲートが直列に接続され、かつ、−方の
トランスミッションゲートがセレクタとなるように構成
し、更に内部をプリチャージ方式で、かつ、高速化のた
め、反転論理でシフト動作を行うようにバレルシフタを
構成したものである。
〔作用〕
この発明においては、双方向のシフトマトリクスを有し
、かつ、各シフトマトリクスにおいて、第1のレジスタ
のNビット目のシフトデータ転送用の入出力端子と第2
のレジスタのMビット目のシフトデータ転送用の入出力
端子が接続している場合、82Mならば、接続された端
子間に1つのトランスミツシロンゲートが接続され、N
<Mならば、接続された端子間に2つのトランスミッシ
ョンゲートが接続され、かつ、一方のトランスミッショ
ンゲートがセレクタとなるようにシフト回路を構成する
ことにより、少ないハードウェア量で、かつ、集積化に
適した回路構成で、ローティト、論理シフト、算術シフ
トの機能を有する高速なバレルシフタを実現することが
できる。
(実施例〕 以下、本発明の一実施例を図について説明する。
第1図は、本発明の一実施例による32ビツトのバレル
シフタを示す、1はBBOO,BBOI。
BBO2,・・・、BB31の32ビツトから構成され
る第2レジスタである。2はBAOO,BAOl、BA
O2,・・・BA31の32ビツトから構成される第2
レジスタである。上記レジスタのうちいずれか一方がシ
フト処理時のデータの入力レジスタとなり、他方がシフ
ト結果の出力レジスタとなる。3は双方向のシフトマト
リクス、4はデータ入力バス、5はシフト結果の出力バ
スである。
7ij(0−5i≦3、O≦j≦9)はシフト幅に応じ
て“H”となる制御信号であり、71jはシフト幅が1
jビツトの時に“H”となる制御信号である。10はロ
ーティトを行う場合にH”となる制御信号、11は算術
シフト、かつ、右方向のシフト、かつ、符号ビットが“
l”の場合にのみ“H″となる制御信号である。16は
ROTIOが“H”である時にONするトランジスタ群
である。17は5HAIIが“H″である時にONする
トランジスタ群である。5ijは5FTlj(7i j
)が“H′の時にONするトランジスタ群である。80
0〜831は第ルジスタ1に接続されるシフトバスであ
り、シフトパス<5k1)(0≦に≦3.0≦1≦9)
は第ルジスタ1のに1ビツト目のBBk 1に接続して
いる。900〜931は第2レジスタ2に接続されるシ
フトパスであり、シフトパス9st(Q≦3≦3.0≦
t≦9)は第2レジスタ2のstビット目のBA3tに
接続している。600〜631はローティト、或いは算
術シフトを行う際に必要となるシフトパスであり、シフ
トパス(6g h)  (0≦g≦3.0≦h≦9)は
トランジスタ群16がONすることによりシフトパス(
8g h)に接続される。
本発明の一実施例である第1図のバレルシフタの回路図
をブロック図で表すと第2図のようになる。
第ルジスタ1.第2レジスタ2の回路構成を第3図に示
す、23はデータを保持するラッチ、24は入力バス4
から第ルジスタ1、或いは、第2レジスタ2に入力デー
タを取り込む際に開くトランスミツシロンゲート、25
はシフト結果を第ルジスタ1、或いは第2レジスタ2に
取り込む際に開くトランスミッションゲート、26はイ
ンバータ、27はディスチャージのための直列に接続し
たNチャンネルトランジスタ、28はプリチャージ用の
Pチャネルトランジスタ、29はPATHで、これはシ
フトパスである800〜831.900〜931に接続
される。30はラッチ23の帰還用のトランスミッショ
ンゲート、31゜32はインバータである。
第4図は、第1図のシフト回路において、1ビット右方
向のローティトを行う場合のタイミング図である。21
はシフト回路を含むデータ処理装置の内部動作クロック
であり、本発明の一実施例であるバレルシフタはA、B
、C,Dの4フエーズで動作する。22はプリチャージ
用のPチャネルトランジスタ28を制御するためのクロ
ック信号φである。
第3図と第4図を用いて第ルジスタl、及び第2レジス
タ2の動作について説明する。内部動作クロック21が
Aのタイミングの時、入力データ取り込み用のトランス
ミッションゲート24が開き、入力バス4からラッチ2
3に入力データを取り込むことにより、第ルジスタ1に
入力データを格納する。内部動作クロック21がBのタ
イミングになると制御クロックφ22が“L”となり、
Pチャネルトランジスタ28がONL、、シフトパス6
00〜631.800〜831.900〜931がプリ
チャージされる。内部動作クロック21がCのタイミン
グに、右方向のローティト、算術シフト、或いは論理シ
フトが行われる時、第2レジスタ2の直列に接続したデ
ィスチャージトランジスタ27のゲート信号の一方であ
るC4はH″となる。この時、第ルジスタ1のラッチ2
3に格納されているデータが0”の場合、PATH29
はディスチャージされず、プリチャージされたデータ“
l”がPATH29上に出力される。PATH29上に
出力されたデータ“1′″はシフトされ、第2レジスタ
2のインバータ26により反転され、ラッチ23に取り
込まれることにより、第2レジスタ2には、シフト結果
である“0”が格納される。逆に、第ルジスタ1のラッ
チ23に格納されているデータが“1”の場合、PAT
H29はディスチャージトランジスタ27によりディス
チャージされ、ディスチャージされたデータ“0”がP
ATH29上に出力される。
PATH29上に出力されたデータ“0”はシフトされ
、第2レジスタ2のインバータ26により反転され、ラ
ッチ23に取り込まれることにより、第2レジスタ2に
は、シフト結果である1″が格納される。このようにシ
フトマトリクス内では反転論理でデータの転送が行われ
る。
次に、第1図、第4図を用いてローティトの動作を説明
する。まず、32ビツトのデータで、1ピントの右方向
のローティトを行う場合について説明を行う。
入力バス4から入力されたデータは、第ルジスタ1に格
納される。MSBがBB31である。
ローティトを行う時には、ROTIOは、内部動作クロ
ック21がDの立ち上がりから次のDの立ち上がりまで
H”となる、これによりトランジスタ群16が開く。算
術シフトは行わないので5HAILは“L”のままであ
る、この例の場合においては1ビツトの右方向のローテ
ィトなので、5FTOI  (701)だけが“H”と
なり、5FTOO(700)、5FTO2(702)、
・・・5FT31  (731)は′L”となる、これ
によりトランジスタ群501がONする。トランジスタ
群501がONすることにより、第ルジスタ1のBBO
I、・・・、BB31に格納された入力データが、トラ
ンジスタ群501を通過し、シフトパス801〜831
からシフトパス900〜930へ伝わり、第2レジスタ
2のBAOO,・・・BA30にシフトされる。第ルジ
スタ1のBBOOは、シフトパス800からトランスミ
ッションゲート16aを経てシフトパス600へ伝わり
、その後、トランスミッションゲート501aを経てシ
フトパス931に伝わり、第2レジスタ2のBA31に
ローティトされる。以上に述べたようにして1ビツト右
方向のローティトが行われる。
以上、1ビツトの右方向のローティトについて述べたが
、1ビツトの左方向のローティトの場合でも、入力デー
タが格納される入力レジスタが第2レジスタ2、シフト
結果が格納される出力レジスタが第ルジスタ1に変わる
だけで、動作については、1ビツトの右方向のローティ
トの場合と全く同じである。
以上では、32ビツトのデータについて1ビツトのロー
ティトを行う場合について述べたが、本発明の32ビツ
トのバレルシフタでは、32ビツトのデータについてだ
けでなく、ハーフワード16ビツト、バイト(8ビツト
)のデータについてもローティトを実現できる。
第5図は、この発明の一実施例における各種サイズの処
理方法を示す図である。第5図(a)に示すように、1
6ビツトのデータを扱う場合には、32ビツトの第ルジ
スタ1の上位16ビツト、及び下位16ビツトの両方に
16ビツトのデータを入力し、第5図(b)に示すよう
に、右方向ローティトの場合には第2レジスタ2のMS
B側の上位16ビツトを出力し、左方向ローティトの場
合には第2レジスタ2のLSB側の下位16ビツトを出
力する。また、8ビツトのデータを扱う場合には、第5
図(a)に示すように、32ビツトの第ルジスタ1の上
位8ビツト、及び下位8ビツトの両方に8ビツトのデー
タを入力し、第5図(b)に示すように、右方向へのロ
ーティトの場合には第2レジスタ2のMSB側の上位8
ビツトを出力し、左方向へのローティトの場合には第2
レジスタ2のLSB側の下位8ビツトを出力する。
1ビツトの右方向の論理シフトを行う場合には、第4図
に示すタイミング図で、ROTIOが“L”のままとな
り、他の信号はローティトの場合と同じである。このた
め、右方向の論理シフトの場合は、第ルジスタ1から第
2レジスタ2の31ビツト目のBA31にシフトするパ
スが存在しなくなる。その結果、プリチャージされたシ
フトパス931の反転信号である“0”が、第2レジス
タ2の31ビツト目BA31に取り込まれ、ゼロ拡張さ
れる。1ビツトの左方向の論理シフトの場合は、左方向
の論理シフトの場合と同様に、第2レジスタ2かし第2
レジスタ2のOビット目のBBooにシフトするパスが
存在しなくなる。4:の結果、プリチャージされたシフ
トパス800の反転信号である“0”が、第ルジスタ1
の0ビツト目のBBOOに取り込まれ、ゼロ拡張される
次に算術シフトについて説明する。算術シフトの動作で
論理シフトの動作と違うのは右方向のシフトで、かつ、
符号ビットが“l゛の場合だけである。従って、1ビツ
ト右方向の算術シフト(符号ビットが“1”)の場合に
ついて説明する。この場合には、5HA11’l<Cの
タイミングの1フエーズだけ“H”となる、これにより
、右方向のシフトを行うと共に、プリチャージされたシ
フトパス600〜631がトランジスタ群17によりデ
ィスチャージされ60″となり、トランスミッションゲ
ー)501aがONすることによりディスチャージされ
たデータ″0′″がシフトパス931を通過し、そのデ
ータ“0”を反転することにより、符号拡張の必要があ
る第2レジスタ2の31ビツト目のBA31にデータ′
″1”を格納する。
以上に述べた動作により、算術シフトの動作で、かつ、
右方向のシフト、符号ビットが“1”の場合にも本回路
は動作できるものである。
なお、以上はlビットの論理シフト、算術シフト、ロー
ティ士について述べたが、Nビットの論理シフト、算術
シフト、ローティトについても同様に動作する。
また、以上では32ビツトバレルシフタの一例を示した
が、Nビットのバレルシフタについても同様に実現でき
る。
〔発明の効果〕
以上のように、この発明によれば、双方向のシフトマト
リクスを有し、かつ、シフトマトリクスにおいて、第1
のレジスタのNビット目のシフトデータ転送用の入出力
端子と第2のレジスタのMビット目のシフトデータ転送
用の入出力端子が接続している場合、N≧Mならば、接
続された端子間に1つのトランスミッションゲートが接
続され、N<Mならば、接続された端子間に2つのトラ
ンスミッションゲートが直列に接続されるようにシフト
回路を構成するようにしたーので、その回路構成は、簡
単な繰り返し構造で、規則正しく集積化に適した構成と
なり、ビットスライス的にレイアウトを行うことができ
る。また、双方向シフト可能な1段或いは、2段のNチ
ャネルMO3を用いてシフトパスを構成できるので、シ
フトパスのゲート段数が少なく、高速なバレルシフタを
実現できる。更に、算術シフト時に必要となる符号拡張
のためにディスチャージトランジスタを付加するだけで
、論理シフトと算術シフトとを選択的に実現できる効果
がある。
【図面の簡単な説明】
第1図は本発明の一実施例によるバレルシフタを示す図
、第2図は上記実施例のバレルシフタのブロック図、第
3図は第ルジスタ1.第2レジスタ2の回路構成図、第
4図は第1図のシフト回路において1ビツトのローティ
トを行う場合のタイミング図、第5図は各種サイズのデ
ータの処理方法を示す図、第6図は従来の32ビツトバ
レルシフタの一例を示す図である。 lは32ビツトの第2レジスタ、2は32ビツトの第2
レジスタであり、上記レジスタのうちいずれか一方が入
力データの入力レジスタとなり、他方がシフト結果の出
力レジスタとなる。3はシフト方向が双方向であるシフ
トマトリクス、4は入力データの入力バス、5はシフト
結果の出力バスである。 なお図中同一符号は同−又は相当部分を示す。

Claims (3)

    【特許請求の範囲】
  1. (1)複数のビットを有し、各々のビット毎に、1つの
    データ入出力端子と1つのシフトデータ転送用の入出力
    端子とを備えた第1、及び、第2のレジスタと、 2組の前記第1、第2のレジスタの各々のビット数と等
    しい数の端子群を持つ双方向のシフトマトリクスを有し
    、かつ、 前記シフトマトリクスにおいて、該第1のレジスタのN
    ビット目のシフトデータ転送用の入出力端子と該第2の
    レジスタのMビット目のシフトデータ転送用の入出力端
    子が接続している場合、N≧Mならば、前記接続された
    端子間に1つのトランスミッションゲートが接続されて
    おり、N<Mならば、前記接続された端子間に2つのト
    ランスミッションゲートが直列に接続されていることを
    特徴とするバレルシフタ。
  2. (2)前記シフトマトリクスにおいて、該第1のレジス
    タのNビット目のシフトデータ転送用の入出力端子と該
    第2のレジスタのMビット目のシフトデータ転送用の入
    出力端子が接続している場合、N<Mならば、前記接続
    された端子間に2つのトラッスミッションゲートが直列
    に接続されており、かつ、一方のトランスミッションゲ
    ートが論理シフトと算術シフトのセレクタとなっている
    ことを特徴とする特許請求の範囲第1項記載のバレルシ
    フタ。
  3. (3)前記第1、第2のレジスタのシフトデータ転送用
    の入出力端子において、プリチャージ回路を有し、かつ
    、シフトデータの転送を反転論理で行うことを特徴とす
    る特許請求の範囲第1項又は第2項記載のバレルシフタ
JP1248370A 1989-09-25 1989-09-25 バレルシフタ Expired - Fee Related JP2624342B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1248370A JP2624342B2 (ja) 1989-09-25 1989-09-25 バレルシフタ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1248370A JP2624342B2 (ja) 1989-09-25 1989-09-25 バレルシフタ

Publications (2)

Publication Number Publication Date
JPH03110625A true JPH03110625A (ja) 1991-05-10
JP2624342B2 JP2624342B2 (ja) 1997-06-25

Family

ID=17177090

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1248370A Expired - Fee Related JP2624342B2 (ja) 1989-09-25 1989-09-25 バレルシフタ

Country Status (1)

Country Link
JP (1) JP2624342B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04107728A (ja) * 1990-08-29 1992-04-09 Nec Ic Microcomput Syst Ltd バレルシフタ回路
JP2011522317A (ja) * 2008-05-29 2011-07-28 アクシス・セミコンダクター・インコーポレーテッド リアルタイムな信号処理及び更新のためのマイクロプロセッサ技術

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59161731A (ja) * 1983-03-07 1984-09-12 Hitachi Ltd バレルシフタ
JPS61175819A (ja) * 1985-01-31 1986-08-07 Hitachi Ltd バレルシフト回路
JPS62212724A (ja) * 1986-03-13 1987-09-18 Fujitsu Ltd デ−タ変換回路

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59161731A (ja) * 1983-03-07 1984-09-12 Hitachi Ltd バレルシフタ
JPS61175819A (ja) * 1985-01-31 1986-08-07 Hitachi Ltd バレルシフト回路
JPS62212724A (ja) * 1986-03-13 1987-09-18 Fujitsu Ltd デ−タ変換回路

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04107728A (ja) * 1990-08-29 1992-04-09 Nec Ic Microcomput Syst Ltd バレルシフタ回路
JP2011522317A (ja) * 2008-05-29 2011-07-28 アクシス・セミコンダクター・インコーポレーテッド リアルタイムな信号処理及び更新のためのマイクロプロセッサ技術

Also Published As

Publication number Publication date
JP2624342B2 (ja) 1997-06-25

Similar Documents

Publication Publication Date Title
EP0407177B1 (en) Bit sequence reversing device
JPS6014321A (ja) 多段シフト装置
US3932734A (en) Binary parallel adder employing high speed gating circuitry
US4890251A (en) Arithmetic shifter with sign extend facility
EP0033343A1 (en) ARCHITECTURE OF A CMOS MICROPROCESSOR.
JPH0769782B2 (ja) マイクロプログラム可能な32ビットカスケード可能ビットスライス
US5636157A (en) Modular 64-bit integer adder
JPH0438009B2 (ja)
US4049974A (en) Precharge arithmetic logic unit
KR100298029B1 (ko) 배럴시프터
US5416731A (en) High-speed barrel shifter
US4903005A (en) Comparator circuit
US4349888A (en) CMOS Static ALU
JPH03110625A (ja) バレルシフタ
JPH0697431B2 (ja) バレルシフタ
US5499383A (en) DMA control device controlling sequential storage of data
US6122651A (en) Method and apparatus for performing overshifted rotate through carry instructions by shifting in opposite directions
GB1427993A (en) Asynchronous electronic binary storage and shift registers
US4805130A (en) Arithmetic and logic circuit stage
US5729706A (en) Microcomputer with improved data processing and data transfer capabilities
JPS63314639A (ja) バレルシフタ回路
JP3026268B2 (ja) 論理回路
JP2615746B2 (ja) ビット操作回路
JP2711487B2 (ja) 固定データ加減算回路
JPS62221727A (ja) 全加算回路

Legal Events

Date Code Title Description
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees