JPH07334345A - シフト装置 - Google Patents

シフト装置

Info

Publication number
JPH07334345A
JPH07334345A JP6129306A JP12930694A JPH07334345A JP H07334345 A JPH07334345 A JP H07334345A JP 6129306 A JP6129306 A JP 6129306A JP 12930694 A JP12930694 A JP 12930694A JP H07334345 A JPH07334345 A JP H07334345A
Authority
JP
Japan
Prior art keywords
shift
data
output
shifted
selection
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.)
Withdrawn
Application number
JP6129306A
Other languages
English (en)
Inventor
Hirohisa Machida
浩久 町田
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 JP6129306A priority Critical patent/JPH07334345A/ja
Publication of JPH07334345A publication Critical patent/JPH07334345A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 データを単方向にシフトするシフト装置にお
いて、装置を構成するトランジスタの数を少なくする。 【構成】 単方向のシフト装置が、選択回路1、シフト
回路2および制御回路C1を含む。選択回路1は、入力
データI0〜I3を単方向に所定ビットシフトし、また
は、シフトしないで出力する。シフト回路2は、選択手
段から出力されたデータをさらに同じ方向にシフトし、
または、シフトしないで出力する。選択回路1およびシ
フト回路2は、制御回路C1から出力されるシフト量信
号s0,s1およびs10によって制御される。選択回
路1を設けたことにより、シフト回路2が受持つ最大シ
フト量を少なくすることができる。それにより、シフト
回路2を構成するトランジスタの個数を少なくすること
ができ、シフト装置全体に含まれるトランジスタの個数
を少なくすることができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、コンピュータ等の演
算処理装置に用いられ、データを任意のビット数シフト
するシフト装置に関し、特に、データを上位方向または
下位方向へ単方向シフトするシフト装置に関するもので
ある。
【0002】
【従来の技術】コンピュータ等の計算機において、入力
データを任意のビット数シフトするシフト装置は、非常
によく使用される装置である。その理由は、データをシ
フトすることによって、簡単に乗算をすることができる
からである。計算機の中で処理されるデータは、2進数
で表わされることが多い。
【0003】図7は、従来のシフト装置によるデータの
シフトの一例を示す模式図である。この図7において
は、シフトする前の元のデータと、上位方向または下位
方向にシフトされたデータの一例が2進数および10進
数でそれぞれ示される。
【0004】図7を参照して、2進数のデータを上位方
向へ1ビットシフトすることは、元のデータを2倍した
ことに等しい。また、2進数のデータを上位へ2ビット
シフトすることは、データを4倍したことに等しい。さ
らに、2進数のデータを上位方向に3ビットシフトする
ことは、データを8倍したことに等しい。このようにデ
ータをシフトすることにより、簡単に数字の2のべき乗
倍の演算が実現できる。
【0005】逆に、2進数のデータを下位方向に1ビッ
トシフトすることは、元のデータを1/2倍することに
等しい。また、2進数のデータを下位方向に2ビットシ
フトすることは、元のデータを1/4倍することに等し
い。さらに、2進数のデータを下位方向に3ビットシフ
トすることは、元のデータを1/8倍することに等し
い。
【0006】このような2進数のデータのシフトにおけ
る特徴を利用すると、シフト量の組合わせにより任意の
倍数のデータを得ることができる。
【0007】具体的には、たとえば、元のデータを5倍
したいときには、そのデータを上位方向に2ビットシフ
トしたデータ(4倍のデータ)と、その元のデータ(1
倍のデータ)とを加算することにより、元のデータの5
倍のデータを簡単に得ることができる。
【0008】図8は、従来の単方向シフト装置の構成を
示す回路図である。この図8においては、一例として、
4ビットの入力データを下位方向へ任意のビット数シフ
トする単方向シフト装置が示される。
【0009】図8を参照して、このシフト装置は、16
個のNチャネルトランジスタ81〜96を含む。
【0010】入力ノードN20〜N23は、4ビットの
入力データI0〜I3をそれぞれ受ける。入力ノードN
30〜N33からは、4ビットの出力データO0〜O3
がそれぞれ出力される。入力データは、I0〜I3の順
に下位ビットから上位ビットとなっている。出力データ
は、O0〜O3の順に下位ビットから上位ビットとなっ
ている。
【0011】入力ノードN20と出力ノードN30との
間にトランジスタ81が接続される。出力ノードN30
および入力ノードN21の間、出力ノードN30および
入力ノードN22の間ならびに出力ノードN30および
入力ノードN23の間に、それぞれトランジスタ85,
85および93が接続される。
【0012】入力ノードN21および出力ノードN31
の間にトランジスタ82が接続される。出力ノードN3
1および入力ノードN22の間、出力ノードN31およ
び入力ノードN23の間ならびに出力ノードN31およ
び接地ノードNgの間に、それぞれトランジスタ86,
90および94が接続される。
【0013】入力ノードN22および出力ノードN32
の間にトランジスタ83が接続される。出力ノードN3
2および入力ノードN23の間にトランジスタ87が接
続される。出力ノードN32と接地ノードNgとの間
に、トランジスタ91および95がそれぞれ接続され
る。入力ノードN23および出力ノードN33の間にト
ランジスタ84が接続される。出力ノードN33と接地
ノードNgとの間に、トランジスタ88,92および9
6がそれぞれ接続される。
【0014】トランジスタ81〜84の各々は、シフト
量信号s0を受ける。トランジスタ85〜88の各々
は、ゲートにシフト量信号s1を受ける。トランジスタ
89〜92の各々は、ゲートにシフト量信号s2を受け
る。トランジスタ93〜96の各々は、ゲートにシフト
量信号s3を受ける。これらのシフト量信号s0〜s3
は、データのシフト量に対応する信号である。
【0015】シフト量信号s0は、シフト量が0ビット
の場合に“1”(Hレベル)の信号レベルになる。シフ
ト量信号s1は、シフト量が1ビットの場合に“1”の
信号レベルになる。シフト量信号s2は、シフト量が2
ビットの場合に“1”の信号レベルになる。シフト量信
号s3は、シフト量が3ビットの場合に“1”の信号レ
ベルになる。
【0016】次に、図8のシフト装置の動作について説
明する。図9は、図8のシフト装置のシフト動作を説明
するための模式図である。この図9においては、3種類
の値の入力データの各々について、入力データI0〜I
3、シフト量信号s0〜s3および出力データO0〜O
3の相互関係が示される。以下、図8および図9を参照
して動作を説明する。
【0017】まず、0ビットのシフト(シフトさせない
状態)の場合について説明する。この場合は、入力ノー
ドN20および出力ノードN30、入力ノードN21お
よび出力ノードN31、入力ノードN22および出力ノ
ードN32ならびに入力ノードN23および出力ノード
N33がそれぞれ接続される。これにより、入力データ
I0〜I3が、それぞれそのまま出力データO0〜O3
として出力される。
【0018】入力データI0〜I3を下位方向へ1ビッ
トシフトさせる場合は、シフト量信号s1に応答してト
ランジスタ85〜88がそれぞれオンする。これによ
り、入力ノードN21および出力ノードN30、入力ノ
ード22および出力ノードN31、入力ノードN23お
よび出力ノードN32ならびに接地ノードNgおよび出
力ノードN33がそれぞれ接続される。
【0019】これにより、入力ノードN21〜N23
は、それぞれ1ビット下位の出力ノードに接続される。
このため、入力データI0〜I3が下位方向へ1ビット
ずつシフトされて出力される。
【0020】入力データI0〜I3を下位方向に2ビッ
トシフトさせる場合は、シフト量信号s2に応答して、
トランジスタ89〜92がそれぞれオンする。これによ
り、入力ノードN22および出力ノードN30、入力ノ
ード23および出力ノードN31、接地ノードNgおよ
び出力ノードN32ならびに接地ノードNgおよび出力
ノードN33がそれぞれ接続される。
【0021】すなわち、入力ノードN22およびN23
は、それぞれ2ビット下位の出力ノードに接続される。
このため、入力データI0〜I3が、下位方向へ2ビッ
トずつシフトされて出力される。
【0022】入力データI0〜I3を下位方向に3ビッ
トシフトさせる場合は、シフト量信号s3に応答して、
トランジスタ93〜96がそれぞれオンする。これによ
り、入力ノードN23および出力ノードN30、接地ノ
ードNgおよび出力ノードN31、接地ノードNgおよ
び出力ノードN32ならびに接地ノードNgおよび出力
ノードN33がそれぞれ接続される。
【0023】すなわち、入力ノードN23は、3ビット
下位の出力ノードに接続される。このため、入力データ
I0〜I3が、下位方向へ3ビットシフトされて出力さ
れる。
【0024】このような動作において、トランジスタ8
8,91,92および94〜96は、シフトの際にデー
タが足りなくなる上位のビットのデータを補う動作をす
る。このように補われるデータには、通常“0”のデー
タが用いられるが、その他のデータが用いられる場合も
ある。
【0025】このようなシフト装置においては、入力デ
ータをシフトさせるためのトランジスタと、データを補
うためのトランジスタとが必要とされる。このため、こ
のシフト装置においては、入力データのビット数をnと
した場合に、n2 個のトランジスタを必要とする。
【0026】
【発明が解決しようとする課題】しかし、前述のような
従来のシフト装置には、次のような問題があった。現
在、パーソナルコンピュータは、32ビットのデータを
処理することが一般的であり、高性能なコンピュータ
は、64ビットのデータを処理することが普通である。
このように64ビットのデータを処理するコンピュータ
においては、データとして128ビットのデータを取扱
うことがある。
【0027】このような現状から予測すると、西暦20
00年には、データの幅として256ビットのデータの
シフト動作を行なうことが一般的となり、さらに、それ
以上の幅のデータのシフト動作を扱う可能性も生じると
考えられる。
【0028】このため、256ビットのデータを処理す
ることを考えると、従来の単方向のシフト装置では、
(265)2 =約66000個のトランジスタが必要に
なる。このように、従来の単方向のシフト装置において
は、その装置を構成するトランジスタの個数が極めて多
いという問題があった。
【0029】この発明は、このような問題を解決するた
めになされたものであり、単方向のシフト装置を構成す
るトランジスタの数を少なくすることが可能なシフト装
置を提供することを目的とする。
【0030】
【課題を解決するための手段】請求項1に記載の本発明
は、入力されたデータを任意のビット数シフトするシフ
ト装置であって、選択手段、シフト手段および制御手段
を備える。
【0031】選択手段は、データを単方向に所定ビット
シフトする第1の状態およびデータをシフトしない第2
の状態を有し、それらの状態を選択的に形成することに
より、入力されたデータをシフトし、またはシフトしな
いで出力する。
【0032】シフト手段は、0ビットのシフト量を含む
複数種類のシフト量でデータを単方向にシフト可能に設
けられた複数のトランジスタを有し、それらのシフト量
を選択的に用いて、選択手段から出力されたデータをさ
らに同じ方向にシフトし、またはシフトしないで出力す
る。
【0033】制御手段は、選択手段およびシフト手段の
それぞれにおけるシフト量の組合わせにより、入力され
たデータを任意のビット数シフトするように選択手段お
よびシフト手段を制御する。
【0034】請求項2に記載の本発明は、請求項1に記
載の発明の選択手段が、複数の第1の選択出力手段およ
び複数の第2の選択出力手段を含む。
【0035】複数の第1の選択出力手段は、入力される
データにおける一部のビットのそれぞれに対応して設け
られ、各々が、対応するビットの情報および予め定めら
れた情報を選択的に出力する。
【0036】複数の第2の選択出力手段は、入力される
データにおけるその他のビットのそれぞれに対応して設
けられ、各々が、対応するビットの情報および第1の状
態においてそのビットにシフトされるべきビットの情報
を選択的に出力する。
【0037】そして、入力されたデータをシフトする場
合は、複数の第1の選択出力手段の各々が予め定められ
た情報を出力するとともに、複数の第2の選択出力手段
の各々が、対応するビットに第1の状態においてシフト
されるべきビットの情報を出力し、入力されたデータを
シフトしない場合は、複数の第1および第2の選択出力
手段の各々が、対応するビットの情報を出力する。
【0038】請求項3に記載の本発明は、請求項1また
は2に記載の発明の選択手段によるデータの最大シフト
量をシフト手段によるデータの最大シフト量よりも多く
したものである。
【0039】請求項4に記載の本発明は、入力されたデ
ータを任意のビット数シフトするシフト装置であって、
複数の選択手段、シフト手段および制御手段を備える。
【0040】複数の選択手段各々は、入力されたデータ
を、複数段階で選択的に単方向へシフト可能に設けられ
る。複数の選択手段の各々は、データを単方向にシフト
する第1の状態およびデータをシフトしない第2の状態
を有し、それらの状態を選択的に形成することにより、
入力されたデータをシフトし、またはシフトしないで出
力する。
【0041】シフト手段は、0ビットのシフト量を含む
複数種類のシフト量でデータを単方向にシフト可能に設
けられた複数のトランジスタを有し、それらのシフト量
を選択的に用いて、複数の選択手段の最終段のものから
出力されたデータをさらに同じ方向にシフトし、または
シフトしないで出力する。
【0042】制御手段は、複数の選択手段およびシフト
手段のそれぞれにおけるシフト量の組合わせにより、入
力されたデータを任意のビット数シフトするように複数
の選択手段およびシフト手段を制御する。
【0043】請求項5に記載の本発明は、請求項4に記
載の発明において、複数の選択手段の各々が、複数の第
1の選択出力手段および複数の第2の選択出力手段を含
む。
【0044】複数の第1の選択出力手段は、入力される
データにおける一部のビットのそれぞれに対応して設け
られ、各々が、対応するビットの情報および予め定めら
れた情報を選択的に出力する。
【0045】複数の第2の選択出力手段は、入力される
データにおけるその他のビットのそれぞれに対応して設
けられ、各々が、対応するビットの情報および第1の状
態においてそのビットにシフトされるべきビットの情報
を選択的に出力する。
【0046】そして、入力されたデータをシフトする場
合は、複数の第1の選択出力手段の各々が予め定められ
た情報を出力するとともに、複数の第2の選択出力手段
の各々が、対応するビットに第1の状態においてシフト
されるべきビットの情報を出力し、入力されたデータを
シフトしない場合は、複数の第1および第2の選択出力
手段の各々が、対応するビットの情報を出力する。
【0047】請求項6に記載の本発明は、請求項4また
は5に記載の発明において、複数の選択手段によるデー
タの最大シフト量をシフト手段によるデータの最大シフ
ト量よりも多くしたものである。
【0048】
【作用】請求項1に記載の本発明によれば、選択手段に
おいては、入力されたデータを単方向に所定ビットシフ
トすることが可能である。選択手段は、状態を選択する
ことにより、シフトしたデータまたはシフトしないデー
タを選択的にシフト手段に供給する。
【0049】シフト手段は、選択手段と同じ方向にデー
タをシフトすることが可能であり、そのシフト量を選択
的に用いる。シフト手段は、選択手段から供給されたデ
ータをさらにシフトしまたはシフトしないで出力する。
【0050】そして、制御手段の制御により、選択手段
およびシフト手段のそれぞれにおけるシフト量を組合わ
せて用いることにより、入力されたデータを任意のビッ
ト数シフトすることができる。
【0051】このように、シフト手段がデータのシフト
を行なう前の段階で、選択手段がデータのシフトをし得
る。したがって、このシフト手段は、シフト手段のみに
よってデータのシフトを行なう従来の場合よりも、最大
のシフト量を少なくすることができ、これによりトラン
ジスタの数を少なくすることが可能である。
【0052】請求項2に記載の本発明によれば、データ
のシフトを行なう場合、選択手段における複数の第1の
選択出力手段の各々が、予め定められた情報を選択的に
出力する。これにより、複数の第1の選択出力手段の各
々は、入力データにおける対応するビットの情報と異な
る情報を出力する。
【0053】このように、データのシフトを行なう場
合、選択手段における複数の第2の選択出力手段の各々
は、対応するビットに第1の状態においてシフトされる
べきビットの情報を出力する。
【0054】これにより、複数の第1の選択出力手段の
各々からは、予め定められた情報が出力され、複数の第
2の選択出力手段の各々からは、シフトされるべきビッ
トの情報が出力される。
【0055】一方、データのシフトを行なわない場合に
は、複数の第1および第2の選択出力手段の各々が、入
力データにおける対応するビットの情報を出力する。
【0056】したがって、このような第1および第2の
選択出力手段によって、選択手段における状態を形成し
得る。
【0057】請求項3に記載の本発明によれば、選択手
段によるデータの最大シフト量を、シフト手段によるデ
ータの最大シフト量よりも多くしたため、シフト手段が
受持つデータのシフト量をできる限り少なくすることが
可能である。したがって、シフト手段に設けるトランジ
スタの数をできる限り少なくし得る。
【0058】請求項4に記載の本発明によれば、複数の
選択手段の各々においては、入力されたデータを単方向
に所定ビットシフトすることが可能である。各々の選択
手段は、状態を選択することにより、シフトしたデータ
またはシフトしないデータを選択的に出力する。複数の
選択手段の最終段のものは、データをシフト手段に供給
する。
【0059】シフト手段は、複数の選択手段と同じ方向
にデータをシフトすることが可能であり、そのシフト量
を選択的に用いる。シフト手段は、複数の選択手段の最
終段のものから供給されたデータをシフトしまたはシフ
トしないで出力する。
【0060】そして、制御手段の制御により、複数の選
択手段およびシフト手段のそれぞれにおけるシフト量を
組合わせて用いることにより、入力されたデータを任意
のビット数シフトすることができる。
【0061】このように、シフト手段がデータのシフト
を行なう前の段階で、複数の選択手段が複数段階でデー
タのシフトをし得る。したがって、このシフト手段は、
シフト手段のみによってデータのシフトを行なう従来の
場合よりも、最大のシフト量を少なくすることができ、
これによりトランジスタの数を少なくすることが可能で
ある。
【0062】請求項5に記載の本発明によれば、データ
のシフトを行なう場合、複数の選択手段の各々における
複数の第1の選択出力手段の各々が、予め定められた情
報を選択的に出力する。これにより、複数の第1の選択
出力手段の各々は、入力データにおける対応するビット
の情報と異なる情報を出力する。
【0063】このようにデータのシフトを行なう場合、
複数の選択手段の各々における複数の第2の選択出力手
段の各々は、対応するビットに第1の状態においてシフ
トされるべきビットの情報を出力する。
【0064】これにより、複数の第1の選択出力手段の
各々からは、予め定められた情報が出力され、複数の第
2の選択出力手段の各々からは、対応するビットに第1
の状態においてシフトされるべきビットの情報が出力さ
れる。
【0065】一方、データのシフトを行なわない場合に
は、複数の第1および第2の選択出力手段の各々が、入
力データにおける対応するビットの情報を出力する。
【0066】したがって、このような第1および第2の
選択出力手段によって、複数の選択手段の各々における
状態を形成し得る。
【0067】請求項6に記載の本発明によれば、複数の
選択手段によるデータの最大シフト量を、シフト手段に
よるデータの最大シフト量よりも多くしたため、シフト
手段が受持つデータのシフト量をできる限り少なくする
ことが可能である。したがって、シフト手段に設けるト
ランジスタの数をできる限り少なくし得る。
【0068】
【実施例】次に、この発明の実施例を図面に基づいて詳
細に説明する。
【0069】第1実施例 まず、第1実施例について説明する。この第1実施例に
おいては、入力データを単方向(下位方向)にシフトし
て出力するシフト装置について説明する。この図1にお
いては、説明を簡単にするために、4ビットのデータを
下位方向にシフトするシフト装置を示す。図2は、図1
における選択出力回路の構成を示す回路図である。
【0070】以下、図1および図2を参照して、図1の
シフト装置の構成について説明する。まず、図1を参照
して、このシフト装置は、入力データを予め定められた
シフト量だけシフトすることが可能な選択回路1と、選
択回路1から出力されたデータをさらに同じ方向にシフ
トすることが可能なシフト回路2と、選択回路1および
シフト回路2を制御する制御回路C1とを含む。シフト
回路2は、図8のシフト回路と対応するものである。
【0071】この図1に示されるシフト装置は、4ビッ
トの入力データI0〜I3を受け、4ビットの出力デー
タO0〜O3を出力する。入力データは、I0〜I3の
順に下位ビットから上位ビットとなっている。出力デー
タは、O0〜O3の順に下位ビットから上位ビットとな
っている。
【0072】選択回路1は、4個の選択出力回路10〜
13を含む。これらの選択出力回路10〜13の各々
は、データの入力のための2つのノードaおよびbと、
データの出力のための1つのノードoとを有する。
【0073】選択出力回路10は、入力データI0をノ
ードaに受けるとともに入力データI2をノードbに受
ける。さらに、選択出力回路10は、制御回路C1から
シフト量信号s10を受け、その信号に応答して、出力
ノードoから中間ノードN0に入力データI0およびI
2を選択的に出力する。
【0074】選択出力回路11は、入力データI1を入
力ノードaに受けるとともに、入力データI3を入力ノ
ードbに受ける。さらに、選択出力回路11は、シフト
量信号s10を受け、その信号に応答して、ノードoか
ら中間ノードN1に入力データI1およびI3を選択的
に出力する。
【0075】選択出力回路12は、入力データI2をノ
ードaに受けるとともに、接地ノードNgからの接地電
位に基づく“0”のデータ(以下補充データという)を
ノードbに受ける。さらに、選択出力回路12は、シフ
ト量信号s10を受け、その信号に応答して、ノードo
から中間ノードN0に入力データI2および補充データ
を選択的に出力する。
【0076】選択出力回路13は、入力データI3をノ
ードaに受けるとともに、接地ノードNgからの補充デ
ータをノードbに受ける。さらに、選択出力回路13
は、シフト量信号s10を受け、その信号に応答して、
ノードoから中間ノードN3に入力データI3および補
充データを選択的に出力する。
【0077】ここで、選択出力回路10〜13の各々の
構成について説明する。選択出力回路10〜13の各々
は、図2に示されるような構成を有する。ここで図2を
参照して、1つの選択出力回路は、Pチャネルトランジ
スタTPおよびNチャネルトランジスタTNを含む。
【0078】トランジスタTPは、シフト量信号s10
を受けるゲートを有し、ノードaとノードoとの間に接
続される。トランジスタTNは、シフト量信号s10を
受けるゲートを有し、ノードbとノードoとの間に接続
される。このような構成により、シフト量信号s10が
“0”の信号レベル(Lレベル)である場合に、ノード
aから入力されるデータが、ノードoから出力される。
【0079】一方、シフト量信号s10が“1”の信号
レベル(Hレベル)である場合に、ノードbから入力さ
れたデータが、ノードoから出力される。このようにし
て、選択出力回路10〜13の各々においては、入力さ
れた2つのデータが選択的に出力される。
【0080】ここで、図1を参照して、シフト回路2
は、8個のNチャネルトランジスタ20〜27を含む。
このシフト回路2において、出力データO0〜O3は、
それぞれ出力ノードN10〜N13から出力される。
【0081】中間ノードN0と出力ノードN10との
間、中間ノードN1と出力ノードN11との間、中間ノ
ードN2と出力ノードN12との間および中間ノードN
3と出力ノードN13との間に、それぞれトランジスタ
20,21,22および23が接続される。
【0082】中間ノードN1と出力ノードN10との
間、中間ノードN2と出力ノードN11との間、中間ノ
ードN3と出力ノードN12との間および接地ノードN
gと出力ノードN13との間に、それぞれトランジスタ
24,25,26および27が接続される。
【0083】トランジスタ20〜23の各々は、ゲート
にシフト量信号s0を受ける。トランジスタ24〜27
の各々は、ゲートにシフト量信号s1を受ける。制御回
路C1は、シフト装置におけるデータのシフト量を制御
するために、前述したシフト量信号s0,s1およびs
10をそれぞれ発生する。
【0084】このシフト装置において、0ビットのシフ
トの場合(シフトをしない場合)は、シフト量信号s0
が“1”の信号レベルとなる。1ビットのシフトをする
場合は、シフト量信号s1が“1”の信号レベルとな
る。2ビットのシフトをする場合は、シフト量信号s1
0が“1”の信号レベルとなる。3ビットのシフトをす
る場合は、シフト量信号s1およびs10がともに
“1”の信号レベルとなる。
【0085】次に、図1のシフト装置の動作について説
明する。図3は、図1のシフト装置のシフト動作を説明
するための数値例を示す模式図である。この図3におい
ては、入力データI0〜I3を下位方向に1ビットシフ
トさせる第1の状態、入力データI0〜I3を下位方向
に2ビットシフトさせる第2の状態および入力データI
0〜I3を下位方向に3ビットシフトさせる第3の状態
のそれぞれにおける具体的な数値例が示される。以下、
図1および図3を参照してこのシフト装置の動作を説明
する。
【0086】まず、第1の状態について説明する。この
場合、シフト量信号s0およびs10の信号レベルがと
もに“0”となり、シフト量信号s1の信号レベルが
“1”となる。このため、選択回路1においては、選択
出力回路10〜13が、それぞれ入力データI0〜I3
をそのまま出力する。
【0087】そして、シフト回路2においては、シフト
量信号s1に応答して、トランジスタ24〜27がそれ
ぞれオンする。これにより中間ノードN1および出力ノ
ードN10、中間ノードN2および出力ノードN11、
中間ノードN3および出力ノードN12ならびに接地ノ
ードNgおよび出力ノードN13がそれぞれ接続され
る。
【0088】すなわち、中間ノードN1〜N3が、それ
ぞれ1ビット下位方向側の出力ノードに接続されること
により、選択回路1から出力されたデータが、それぞれ
下位方向に1ビットシフトされて出力データO0〜O2
となる。そして、出力データO3が、接地ノードNgか
らの補充データ“0”となる。このようにして、データ
が1ビット下位方向にシフトされる。
【0089】したがって、この第1の状態においては、
入力データI0〜I3が選択回路1においてシフトされ
ず、シフト回路2において1ビット下位方向にシフトさ
れる。たとえば、図3に示されるように、入力データ
“1110”がシフトされて、出力データ“0111”
となる。
【0090】次に、第2の状態について説明する。この
場合、シフト量信号s0およびs10の信号レベルが、
ともに“1”となり、シフト量信号s1の信号レベルが
“0”となる。
【0091】このため、選択回路1においては、選択出
力回路10が入力データI2を出力し、選択出力回路1
1が入力データI3を出力する。それとともに、選択出
力回路12および13が、ともに補充データ“0”を出
力する。これにより、選択回路1においては、入力デー
タI0〜I3を下位方向に2ビットシフトして出力す
る。
【0092】シフト回路2においては、シフト量信号s
0に応答して、トランジスタ20〜23がそれぞれオン
する。これにより、中間ノードN0および出力ノードN
10、中間ノードN1および出力ノードN11、中間ノ
ードN2および出力ノードN12ならびに中間ノードN
3および出力ノードN13がそれぞれ接続される。この
ため、選択回路1から出力されたデータが、シフトされ
ずに出力データO0〜O3となる。
【0093】したがって、第2の状態においては、入力
データI0〜I3が選択回路1において下位方向に2ビ
ットシフトされ、シフト回路2において、シフトされな
い。その結果として、入力データI0〜I3は、下位方
向に2ビットシフトされてシフト装置から出力されるこ
とになる。たとえば、図3に示されるように、入力デー
タ“1110”がシフトされて出力データ“0011”
となる。
【0094】次に、第3の状態について説明する。この
場合、シフト量信号s1およびs10の信号レベルがと
もに“1”となり、シフト量信号s0の信号レベルが
“0”となる。このため、選択回路1は、第2の状態の
場合と同じ動作状態となり、入力データI0〜I3を下
位方向に2ビットシフトして出力する。シフト回路2
は、第1の状態の場合と同じ動作状態となり、選択回路
1から出力されたデータを下位方向に1ビットシフトし
て出力する。
【0095】したがって、この第3の状態においては、
入力データI0〜I3が、選択回路1において下位方向
に2ビットシフトされ、さらにシフト回路2において下
位方向に1ビットシフトされる。その結果、入力データ
I0〜I3は、シフト装置において、選択回路1におけ
るシフト量と、シフト回路2におけるシフト量との組合
わせにより、下位方向に3ビットシフトされる。たとえ
ば、図3に示されるように、入力データ“1110”が
シフトされ“0001”となる。
【0096】また、入力データI0〜I3を全くシフト
させないで出力する場合は、シフト量信号s0の信号レ
ベルが“1”となり、シフト量信号s1およびs10の
信号レベルがともに“0”となる。この場合には、選択
回路1が第1の状態の場合と同じ動作状態となり、シフ
ト回路2が第2の状態の場合と同じ動作状態になる。し
たがって、この場合には、入力データI0〜I3が、シ
フトされずに出力データO0〜O3となる。
【0097】このように、このシフト装置においては、
選択回路1におけるシフト量と、シフト回路2における
シフト量との組合わせにより、入力データを任意のビッ
ト数シフトして出力することができる。
【0098】この第1実施例においては、入力データが
4ビットである場合を説明したが、それは簡単な一例に
すぎない。したがって、選択回路1における選択出力回
路の個数およびシフト回路2におけるトランジスタの個
数をそれぞれ多くすることにより、4ビットより多い入
力データを対象とするシフト装置にも適用できる。
【0099】このように、第1実施例によるシフト装置
においては、入力データがnビットの場合に、選択回路
1がn/2ビットの最大シフト量を受持ち、シフト回路
2が((n/2)−1)ビットの最大シフト量を受持
つ。
【0100】この第1実施例によるシフト装置において
は、従来のものよりもトランジスタの数を少なくするこ
とができる。具体的に説明すると次のようになる。入力
データがnビットである場合、選択回路1は2n個のト
ランジスタを必要とする。また、シフト回路2は、0ビ
ットのシフトのためのトランジスタを含むため、n2
2個のトランジスタを必要とする。
【0101】したがって、このシフト装置は、入力デー
タがnビットの場合に、((n2 /2)+2n)個のト
ランジスタで構成される。これにより、このシフト装置
は、たとえば、入力データが256ビットである場合
は、約33300個のトランジスタで構成される。
【0102】このため、このシフト装置は、従来のもの
よりもトランジスタの個数を少なくすることができる効
果が得られる。その効果は、入力データのビット数が多
くなるほど大きくなる。
【0103】第2実施例 次に、第2実施例について説明する。この第2実施例に
おいては、図1のシフト装置の構成を、上位方向への単
方向シフトを行なうシフト装置に適用した例について説
明する。
【0104】図4は、第2実施例によるシフト装置の構
成を示す回路図である。図4を参照して、このシフト装
置は、入力データを予め定められたシフト量だけ上位方
向へシフトすることが可能な選択回路3と、選択回路3
から出力されたデータをさらに上位方向へシフトするこ
とが可能なシフト回路4と、選択回路3およびシフト回
路4を制御するための制御回路C2とを含む。
【0105】選択回路3は、4個の選択出力回路30〜
33を含む。これらの選択出力回路の各々は、図2に示
されたものと同じ構成を有する。選択出力回路30は、
入力データI0をノードaに受けるとともに、接地ノー
ドNgからの補充データ“0”をノードbに受ける。そ
して、選択出力回路30は、制御回路C2からシフト量
信号s10を受け、その信号に応答して、ノードoから
中間ノードN0に入力データI0および補充データを選
択的に出力する。
【0106】選択出力回路31は、入力データI1をノ
ードaに受けるとともに、接地ノードNgからの補充デ
ータをノードbに受ける。そして、選択出力回路31
は、シフト量信号s10を受け、その信号に応答して、
ノードoから中間ノードN1に入力データI1および補
充データを選択的に出力する。
【0107】選択出力回路32は、入力データI2をノ
ードaに受けるとともに、入力データI0をノードbに
受ける。そして、選択出力回路32は、シフト量信号s
10を受け、その信号に応答して、ノードoから中間ノ
ードN2に入力データI2およびI0を選択的に出力す
る。
【0108】選択出力回路33は、入力データI3をノ
ードaに受けるとともに、入力データI1をノードbに
受ける。そして、選択出力回路33は、シフト量信号s
10を受け、その信号に応答してノードoから中間ノー
ドN3に入力データI3およびI1を選択的に出力す
る。
【0109】シフト回路4は、9個のNチャネルトラン
ジスタ40〜48を含む。出力ノードN10〜N13か
らは、それぞれ出力データO0〜O3が出力される。こ
こで、入力データは、I0〜I3の順に下位ビットから
上位ビットとなっている。また、出力データは、O0〜
O3の順に下位ビットから上位ビットとなっている。
【0110】中間ノードN0と出力ノードN10との
間、中間ノードN1と出力ノードN11との間、中間ノ
ードN2と出力ノードN12との間および中間ノードN
3と出力ノードN13との間に、それぞれトランジスタ
40,41,42および43が接続される。
【0111】接地ノードNgと出力ノードN10との
間、中間ノードN0と出力ノードN11との間、中間ノ
ードN1と出力ノードN12との間および中間ノードN
2と出力ノードN13との間に、それぞれトランジスタ
44,45,46および47が接続される。
【0112】トランジスタ40〜43の各々は、ゲート
に制御回路C2からのシフト量信号s0を受ける。トラ
ンジスタ44〜47の各々は、制御回路C2からのシフ
ト量信号s1をゲートに受ける。
【0113】制御回路C2は、選択回路3およびシフト
回路4を制御するためのものであり、シフト量信号s
0,s1およびs10を発生させる。0ビットのシフト
の場合(シフトをしない場合)は、シフト量信号s0が
“1”の信号レベルとなる。上位方向に1ビットのシフ
トをする場合は、シフト量信号s1が“1”の信号レベ
ルとなる。上位方向に2ビットのシフトをする場合は、
シフト量信号s10が“1”の信号レベルとなる。上位
方向に3ビットのシフトをする場合は、シフト量信号s
1およびs10がともに“1”の信号レベルとなる。
【0114】次に、図4のシフト装置の動作について説
明する。まず、入力データを上位方向に1ビットシフト
させる第1の状態について説明する。この場合は、シフ
ト量信号s0およびs10の信号レベルがともに“0”
となり、シフト量信号s1の信号レベルが“1”とな
る。このため、選択回路3においては、選択出力回路3
0〜33が、それぞれ入力データI0〜I3をそのまま
出力する。
【0115】そして、シフト回路4においては、シフト
量信号s1に応答してトランジスタ44〜47がそれぞ
れオンする。これにより、接地ノードNgおよび出力ノ
ードN10、中間ノードN0および出力ノードN11、
中間ノードN1および出力ノードN12ならびに中間ノ
ードN2および出力ノードN13がそれぞれ接続され
る。
【0116】すなわち、中間ノードN0〜N2がそれぞ
れ1ビット上位方向側の出力ノードに接続されることに
より、選択回路3から出力されたデータが、それぞれ上
位方向に1ビットシフトされて出力データO1〜O3と
なる。そして、出力データO0が、接地ノードNgから
の補充データ“0”となる。このようにして、データが
1ビット上位方向にシフトされる。
【0117】したがって、この第1の状態においては、
入力データI0〜I3が、選択回路3においてシフトさ
れず、シフト回路4において上位方向に1ビットシフト
される。その結果として、入力データは上位方向に1ビ
ットシフトされて出力される。たとえば、入力データ
“0111”がシフトされ、出力データ“1110”と
なる。
【0118】次に、入力データを上位方向へ2ビットシ
フトさせる第2の状態について説明する。この場合、シ
フト量信号s0およびs1の信号レベルがともに“0”
となり、シフト量信号s10の信号レベルが“1”とな
る。
【0119】このため、選択回路3においては、選択出
力回路30および31がともに補充データ“0”を出力
する。それとともに、選択出力回路32が入力データI
0を出力し、選択出力回路33が入力データI1を出力
する。これにより、選択回路3においては、入力データ
I0〜I3を上位方向へ2ビットシフトして出力する。
【0120】シフト回路4においては、シフト量信号s
0に応答してトランジスタ40〜43がそれぞれオンす
る。これにより、中間ノードN0および出力ノードN1
0、中間ノードN1および出力ノードN11、中間ノー
ドN2および出力ノードN12ならびに中間ノードN3
および出力ノードN13がそれぞれ接続される。このた
め、選択回路3から出力されたデータが、シフト回路4
においてシフトされずに、出力データO0〜O3とな
る。
【0121】したがって、第2の状態においては、入力
データI0〜I3が選択回路3において上位方向に2ビ
ットシフトされ、シフト回路4においてシフトされな
い。その結果として、入力データは、シフト装置におい
て上位方向へ2ビットシフトされて出力される。たとえ
ば、入力データ“0111”がシフトされて出力データ
“1100”となる。
【0122】次に、入力データを上位方向へ3ビットシ
フトさせる第3の状態について説明する。この場合、シ
フト量信号s0の信号レベルが“0”となり、シフト量
信号s1およびs10の信号レベルがともに“1”とな
る。
【0123】このため、選択回路3においては、第2の
状態の場合と同じ動作状態となり、入力データI0〜I
3を上位方向へ2ビットシフトして出力する。そして、
シフト回路4においては、第1の状態の場合と同じ動作
状態となり、選択回路3から出力れたデータを上位方向
へさらに1ビットシフトして出力する。
【0124】したがって、この第3の状態においては、
入力データI0〜I3が、選択回路3において上位方向
へ2ビットシフトされ、さらに、シフト回路4において
上位方向へ1ビットシフトされる。その結果、入力デー
タは、シフト装置において、選択回路3におけるシフト
量と、シフト回路4におけるシフト量との組合わせによ
り、上位方向へ3ビットシフトされ出力される。
【0125】この第2実施例においては、入力データが
4ビットである場合を説明したが、それは説明を簡単に
するための一例にすぎない。したがって、選択回路3の
選択出力回路の個数およびシフト回路4のトランジスタ
の個数を増加させることにより、4ビットよりも多い入
力データを対象とするシフト装置にも適用できる。
【0126】このように、第2実施例によるシフト装置
においては、第1実施例の場合と同様に、入力データが
nビットの場合に、選択回路3がn/2ビットの最大シ
フト量を受持ち、シフト回路4が((n/2)−1)ビ
ットの最大シフト量を受持つ。
【0127】この第2実施例によるシフト装置において
は、第1実施例の場合と同様に、従来のものよりもトラ
ンジスタの数を少なくすることができる。第2実施例に
よるシフト装置におけるトランジスタの個数は、第1実
施例の場合のトランジスタの個数と同じである。
【0128】したがって、このシフト装置は、入力デー
タがnビットの場合、((n2 /2)+2n)個のトラ
ンジスタで構成される。これにより、このシフト装置
は、たとえば、入力データが256ビットである場合に
は、約33300個のトランジスタで構成される。
【0129】このため、このシフト装置は、従来のもの
よりもトランジスタ個数を少なくすることができる効果
が得られる。その効果は、入力データのビット数が多く
なるほど大きくなる。
【0130】第3実施例 次に、第3実施例について説明する。この第3実施例に
おいては、選択回路を複数段設けた例について説明す
る。第1および第2実施例においては、選択回路を1段
設けた例について説明したが、選択回路を複数段設けて
も、シフト装置を構成するトランジスタ個数を従来より
も少なくすることができる。
【0131】このようにすれば、シフト装置に含まれる
シフト回路を構成するトランジスタの個数を第1および
第2の場合よりも少なくすることが可能である。以下、
そのシフト装置について詳細に説明する。
【0132】図5は、第3実施例によるシフト装置の概
略構成を示すブロック図である。図5のシフト装置は、
8ビットの入力データを対象としたシフト装置の例であ
る。このシフト装置は、2段の選択回路5および6と、
シフト回路7と、制御回路C3とを含む。このシフト装
置7は、8ビットの入力データI0〜I7を受け、最終
的に8ビットの出力データO0〜O7を出力する。
【0133】ここで、入力データは、I0〜I7の順に
下位ビットから上位ビットとなっており、出力データ
は、O0〜O7の順に下位ビットから上位ビットとなっ
ている。
【0134】図6は、第3実施例によるシフト装置の詳
細な構成を示す回路図である。図6を参照して、選択回
路5は、入力データI0〜I7を受け、制御回路C3か
らのシフト量信号s11に応答して、入力データI0〜
I7を下位方向へ4ビットシフトし、または、シフトし
ないで出力する回路である。
【0135】選択回路5は、8個の選択出力回路50〜
57を含む。選択出力回路50〜57の各々は、図2に
示されたものと同じ構成を有する。選択出力回路50〜
57は、それぞれ入力データI0〜I7に対応して設け
られる。
【0136】選択出力回路50〜57の各々は、ノード
aに入力データI0〜I7のうちの対応するものを受け
る。さらに、選択出力回路50〜53は、それぞれ入力
データI4〜I7に対応する。選択出力回路50〜53
の各々は、ノードbに、入力データI4〜I7のうちの
対応するものを受ける。選択出力回路54〜57の各々
は、接地ノードNgからの補充データ“0”をノードb
に受ける。
【0137】選択出力回路50〜57の各々は、シフト
量信号s11を受け、その信号に応答して、ノードaお
よびノードbに受けるデータを選択的にノードoから出
力する。このため、選択回路5は、シフト量信号s11
の信号レベルが“0”である場合に、入力データI0〜
I7をシフトしないで出力する。一方、シフト量信号s
11の信号レベルが“1”である場合、選択回路5は、
入力データI0〜I7を下位方向に4ビットシフトして
出力する。
【0138】選択回路6は、選択回路5から出力される
複数のデータを受け、制御回路C3からのシフト量信号
s12に応答して、受けたデータを下位方向へ2ビット
シフトし、または、シフトしないで出力する回路であ
る。
【0139】選択回路6は、8個の選択出力回路60〜
67を含む。これらの選択出力回路60〜67の各々
は、図2に示されたものと同じ構成を有する。選択出力
回路60〜67は、それぞれ選択回路5における選択出
力回路50〜57に対応して設けられる。選択出力回路
60〜67の各々は、ノードaに、選択出力回路50〜
57のうちの対応するものから出力されるデータを受け
る。
【0140】さらに、選択出力回路60〜65は、それ
ぞれ選択出力回路52〜57から出力されるデータに対
応する。選択出力回路60〜65の各々は、選択出力回
路52〜57から出力されるデータのうちの対応するデ
ータをノードbに受ける。選択出力回路66および67
の各々は、接地ノードNgからの補充データ“0”をノ
ードbに受ける。
【0141】選択出力回路60〜67の各々は、シフト
量信号s12を受け、その信号に応答して、ノードaお
よびノードbに受けるデータを選択的にノードoから出
力する。このため、選択回路6は、シフト量信号s12
の信号レベルが“0”である場合に、選択回路5から出
力されたデータをシフトしないでそのまま出力する。一
方、シフト量信号s12の信号レベルが“1”である場
合に、選択回路6は、選択回路5から出力されたデータ
を下位方向へ2ビットシフトして出力する。
【0142】シフト回路7は、選択回路6から出力され
る複数のデータを受け、制御回路C3からのシフト量信
号s0およびs1のそれぞれに応答して、受けたデータ
を、下位方向へ1ビットシフトし、または、シフトしな
いで出力する回路である。このシフト回路7は、出力デ
ータO0〜O7を出力する。
【0143】シフト回路7は、16個のNチャネルトラ
ンジスタT0〜T15を含む。シフト回路7は、図1の
シフト回路2を8ビット用に拡張したものである。
【0144】したがって、シフト回路7は、0ビットの
シフトの場合に、シフト量信号s0に応答して動作する
トランジスタを、シフト回路2の2倍の数設け、さら
に、下位方向への1ビットのシフトの場合にシフト量信
号s1に応答して動作するトランジスタをシフト回路2
の2倍の数設けたものである。このため、シフト回路7
のトランジスタT0〜T15は、シフト回路2のトラン
ジスタ20〜27と同様の態様で接続される。
【0145】このシフト回路7において、トランジスタ
T0〜T7の各々は、ゲートにシフト量信号s0を受
け、その信号に応答して動作する。シフト回路7におい
て、トランジスタT8〜T15の各々は、ゲートにシフ
ト量信号s1を受け、その信号に応答して動作する。
【0146】このような構成のシフト回路7は、シフト
量信号s0の信号レベルが“1”である場合に、選択回
路6から出力されたデータを、シフトさせないで出力デ
ータO0〜O7として出力する。一方、シフト量信号s
1の信号レベルが“1”である場合に、シフト回路7
は、選択回路6から出力されるデータを下位方向へ1ビ
ットシフトし、出力信号O0〜O7として出力する。そ
の場合、出力データO7には、接地ノードNgからの補
充データ“0”が補充される。
【0147】制御回路C3は、選択回路5,6およびシ
フト回路7を制御するためのものであり、その制御のた
めに、シフト量信号s0,s1,s12およびs11を
出力する。
【0148】次に、図6のシフト回路の動作について説
明する。入力データI0〜I7を下位方向へ1ビットシ
フトさせる場合には、シフト量信号s1の信号レベルが
“1”になり、その他のシフト量信号の信号レベルが
“0”になる。この場合、選択回路5および6は、デー
タをシフトせず、シフト回路7がデータを下位方向へ1
ビットシフトさせる。その結果、シフト装置において、
入力データI0〜I7が下位方向へ1ビットシフトされ
て出力される。
【0149】入力データI0〜I7を下位方向へ2ビッ
トシフトさせる場合には、シフト量信号s12の信号レ
ベルが“1”となり、その他のシフト量信号の信号レベ
ルが“0”になる。この場合、選択回路5およびシフト
回路7は、それぞれデータをシフトせず、選択回路6が
データを下位方向へ2ビットシフトする。その結果、シ
フト装置において、入力データI0〜I7が下位方向へ
2ビットシフトされて出力される。
【0150】入力データI0〜I7を下位方向へ3ビッ
トシフトさせる場合には、シフト量信号s1およびs1
2の信号レベルがともに“1”になり、その他のシフト
量信号の信号レベルが“0”になる。この場合、選択回
路5がデータをシフトせず、選択回路6がデータを下位
方向に2ビットシフトし、さらに、シフト回路7がデー
タを下位方向に1ビットシフトさせる。その結果、シフ
ト装置において、入力データI0〜I7が下位方向へ3
ビットシフトされて出力される。
【0151】データを下位方向へ4ビットシフトさせる
場合には、シフト量信号s11の信号レベルが“1”に
なり、その他のシフト量信号の信号レベルが“0”にな
る。この場合、選択回路5がデータを下位方向へ4ビッ
トシフトし、選択回路6およびシフト回路7のそれぞれ
は、データをシフトしない。その結果、シフト装置にお
いて、入力データI0〜I7が下位方向へ4ビットシフ
トされて出力される。
【0152】入力データI0〜I7を下位方向へ5ビッ
トシフトさせる場合は、シフト量信号s1およびs11
の信号レベルがともに“1”になり、その他のシフト量
信号の信号レベルが“0”になる。この場合、選択回路
5およびシフト回路7がそれぞれデータをシフトし、選
択回路6がデータをシフトしない。その結果、入力デー
タI0〜I7が下位方向へ5ビットシフトされて出力さ
れる。
【0153】入力データI0〜I7を下位方向へ6ビッ
トシフトさせる場合には、シフト量信号S12およびS
11の信号レベルがともに“1”になり、その他のシフ
ト量信号の信号レベルが“0”になる。この場合、選択
回路5および6がそれぞれデータをシフトし、シフト回
路7がデータをシフトしない。その結果、入力データI
0〜I7が下位方向へ6ビットシフトされて出力され
る。
【0154】入力データI0〜I7を下位方向へ7ビッ
トシフトさせる場合には、シフト量信号s1,s12お
よびs11のそれぞれの信号レベルが“1”になり、シ
フト量信号s0の信号レベルが“0”になる。この場
合、選択回路5,6およびシフト回路7がそれぞれデー
タをシフトさせる。その結果、入力データI0〜I7が
下位方向へ7ビットシフトされて出力される。
【0155】この第3実施例においては、入力データが
8ビットである場合を説明したが、それは、説明を簡単
にするための一例にすぎない。したがって、選択回路5
および6の各々における選択出力回路の個数、シフト回
路7のトランジスタの個数および選択回路の段数(個
数)をそれぞれ多くすることにより、8ビットよりも多
いビット数の入力データを対象とするシフト装置にも適
用できる。
【0156】このように、第3実施例によるシフト装置
においては、選択回路5が4ビットの最大シフト量を受
持ち、シフト回路6が2ビットの最大シフト量を受持
ち、さらに、シフト回路7が1ビットの最大シフト量を
受持つ。そして、このシフト装置においては、選択回路
5,6およびシフト回路7のそれぞれのシフト量を組合
わせることにより、入力データI0〜I7を任意のビッ
ト数シフトして出力することができる。
【0157】以上のように、この第3実施例によるシフ
ト装置においては、選択回路を複数段設けることによ
り、シフト回路を構成するトランジスタの個数を少数に
した。このため、このシフト装置は、シフト装置を構成
するトランジスタの個数を従来のものよりも少なくする
ことができ、さらに、第1および第2実施例に示される
ものよりもトランジスタの個数を少なくすることができ
るという効果が得られる。このような効果は、シフト対
象の入力データのビット数が増加するほど大きくなる。
【0158】なお、この第3実施例においては、選択回
路を複数段備えたシフト装置の例として、入力データを
下位方向へシフトさせるものについて説明したが、これ
に限らず、このような技術を応用すれば、図4に示され
るような上位方向へのシフト回路をもとにして、データ
を上位方向へシフトさせるシフト装置に適用することが
可能である。
【0159】次に、前述した第1〜第3の実施例におけ
るシフト装置のその他の特徴について説明する。図1、
図4および図6をそれぞれ参照して、これらの図に示さ
れたシフト装置は、所定の回路パターンを繰り返し形成
することにより、多数のビットの入力データに対応する
ような構成となっている。
【0160】このため、これらの実施例に示されたシフ
ト装置の各々は、同じ回路パターンを繰り返し形成する
ことにより構成することが可能であるので、このような
シフト装置を半導体基板上に形成する場合には、その設
計を容易に行なうことができ、設計費用を安価にするこ
とができるという実用的な効果が得られる。
【0161】なお、第1〜第3実施例においては、上位
のビットまたは下位のビットのデータを補うための補充
データを“0”とする場合について説明したが、これに
限らず、その補充データは、“0”以外の予め定められ
たデータを用いてもよい。また、第1〜第3実施例にお
いては、シフト回路をNチャネル型のトランジスタで構
成したが、これに限らず、Pチャネル型のトランジスタ
で構成してもよい。
【0162】さらに、第1〜第3実施例における選択出
力回路は、PチャネルトランジスタおよびNチャネルト
ランジスタを有するものとしたが、これに限らず、2つ
の入力データを選択的に出力する機能を有するものであ
ればどのような回路であってもよい。
【0163】
【発明の効果】請求項1に記載の本発明によれば、単方
向にデータをシフトする装置において、シフト手段がデ
ータのシフトを行なう前の段階で、選択手段がデータの
シフトをするような構成にした。このため、シフト手段
のみでデータのシフトを行なう場合よりも、シフト手段
のトランジスタの数を少なくすることができる。このた
め、シフト装置全体に含まれるトランジスタの数を少な
くすることができる。
【0164】請求項2に記載の本発明によれば、入力さ
れたデータのシフトを行なう場合は、複数の第2の出力
手段の各々が、入力されたデータのうちのシフトされる
べきビットの情報を出力する。それとともに、複数の第
1の出力手段の各々が、シフトされたビットの情報を補
うために、予め定められた情報を出力する。これによ
り、選択手段の第1の状態を形成することができる。
【0165】一方、入力される入力されたデータのシフ
トを行なわない場合は、複数の第1および第2の選択出
力手段の各々が、対応するビットについての入力データ
をそのまま出力する。これにより、選択手段における第
2の状態を形成することができる。このようにして、選
択手段における2つの動作状態を選択的に形成すること
ができる。
【0166】請求項3に記載の本発明によれば、選択手
段によるデータの最大シフト量を、シフト手段によるデ
ータの最大シフト量よりも多くした。このため、シフト
手段が受持つデータのシフト量をできる限り少なくする
ことができる。したがって、シフト手段におけるトラン
ジスタの数をできる限り少なくすることができる。この
ため、シフト装置全体に含まれるトランジスタの数を少
なくすることができる。
【0167】請求項4に記載の本発明によれば、単方向
へデータをシフトする装置において、シフト手段がデー
タのシフトを行なう前に、複数の選択手段が複数段階で
データのシフトをするような構成にした。このため、シ
フト手段のみでデータのシフトを行なう場合よりもシフ
ト手段のトランジスタの数を少なくすることができる。
このため、シフト装置全体に含まれるトランジスタの数
を少なくすることができる。このような効果は、選択手
段を1段設ける場合よりも大きくなる。
【0168】請求項5に記載の本発明によれば、入力さ
れたデータのシフトを行なう場合は、複数の第2の出力
手段の各々が、入力されたデータのうちのシフトされる
べきビットの情報を出力する。それとともに、複数の第
1の出力手段の各々が、シフトされたビットの情報を補
うために、予め定められた情報を出力する。これによ
り、複数の選択手段の各々において、第1の状態を形成
することができる。
【0169】一方、入力されたデータのシフトを行なわ
ない場合は、複数の第1および第2の選択出力手段の各
々が、対応するビットの入力データをそのまま出力す
る。これにより、複数の選択手段の各々において、第2
の状態を形成することができる。このようにして、複数
の選択手段の各々において、2つの動作状態を選択的に
形成することができる。
【0170】請求項6に記載の本発明によれば、複数の
選択手段によるデータの最大シフト量を、シフト手段に
よるデータの最大シフト量よりも多くした。このため、
シフト手段が受持つデータのシフト量をできる限り少な
くすることができる。したがって、シフト手段に設ける
トランジスタの数をできる限り少なくすることができ
る。このため、シフト装置全体に含まれるトランジスタ
の数を少なくすることができる。
【図面の簡単な説明】
【図1】 第1実施例によるシフト装置の構成を示す回
路図である。
【図2】 図1における選択出力回路の構成を示す回路
図である。
【図3】 図1のシフト装置のシフト動作を説明するた
めの模式図である。
【図4】 第2実施例によるシフト装置の構成を示す回
路図である。
【図5】 第3実施例によるシフト装置の概略構成を示
すブロック図である。
【図6】 第3実施例によるシフト装置の詳細な構成を
示す回路図である。
【図7】 従来のシフト装置によるデータのシフト一例
を示す模式図である。
【図8】 従来の単方向シフト装置の構成を示す回路図
である。
【図9】 図8のシフト装置のシフト動作を説明するた
めの模式図である。
【符号の説明】
1,3,5,6 選択回路、2,4,7 シフト回路、
10〜13,30〜33,50〜57,60〜67 選
択出力回路、20〜27,40〜47,T0〜T15
Nチャネルトランジスタ、C1〜C3 制御回路。

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 入力されたデータを任意のビット数シフ
    トするシフト装置であって、 データを単方向に所定ビットシフトする第1の状態およ
    びデータをシフトしない第2の状態を有し、それらの状
    態を選択的に形成することにより、前記入力されたデー
    タをシフトし、またはシフトしないで出力する選択手段
    と、 0ビットのシフト量を含む複数種類のシフト量でデータ
    を単方向にシフト可能に設けられた複数のトランジスタ
    を有し、それらのシフト量を選択的に用いて、前記選択
    手段から出力されたデータをさらに同じ方向にシフト
    し、またはシフトしないで出力するシフト手段と、 前記選択手段および前記シフト手段のそれぞれにおける
    シフト量の組合わせにより、前記入力されたデータを任
    意のビット数シフトするように前記選択手段および前記
    シフト手段を制御するための制御手段とを備えた、シフ
    ト装置。
  2. 【請求項2】 前記選択手段は、 入力されるデータにおける一部のビットのそれぞれに対
    応して設けられ、各々が、対応するビットの情報および
    予め定められた情報を選択的に出力する複数の第1の選
    択出力手段と、 前記入力されるデータにおけるその他のビットのそれぞ
    れに対応して設けられ、各々が、対応するビットの情報
    および前記第1の状態においてそのビットにシフトされ
    るべきビットの情報を選択的に出力する複数の第2の選
    択出力手段とを含み、 前記入力されたデータをシフトする場合は、前記複数の
    第1の選択出力手段の各々が前記予め定められた情報を
    出力するとともに、前記複数の第2の選択出力手段の各
    々が、対応するビットに前記第1の状態においてシフト
    されるべきビットの情報を出力し、前記入力されたデー
    タをシフトしない場合は、前記複数の第1および第2の
    選択出力手段の各々が、対応するビットの情報を出力す
    る、請求項1記載のシフト装置。
  3. 【請求項3】 前記選択手段によるデータの最大シフト
    量を前記シフト手段によるデータの最大シフト量よりも
    多くした、請求項1または2記載のシフト装置。
  4. 【請求項4】 入力されたデータを任意のビット数シフ
    トするシフト装置であって、 前記入力されたデータを、複数段階で選択的に単方向へ
    シフト可能に設けられた複数の選択手段と、 前記複数の選択手段の各々は、データを単方向にシフト
    する第1の状態およびデータをシフトしない第2の状態
    を有し、それらの状態を選択的に形成することにより、
    入力されたデータをシフトし、またはシフトしないで出
    力し、 0ビットのシフト量を含む複数種類のシフト量でデータ
    を単方向にシフト可能に設けられた複数のトランジスタ
    を有し、それらのシフト量を選択的に用いて、前記複数
    の選択手段の最終段のものから出力されたデータをさら
    に同じ方向にシフトし、またはシフトしないで出力する
    シフト手段と、 前記複数の選択手段および前記シフト手段のそれぞれに
    おけるシフト量の組合わせにより、前記入力されたデー
    タを任意のビット数シフトするように前記複数の選択手
    段および前記シフト手段を制御するための制御手段とを
    備えた、シフト装置。
  5. 【請求項5】 前記複数の選択手段の各々は、 入力されるデータにおける一部のビットのそれぞれに対
    応して設けられ、各々が、対応するビットの情報および
    予め定められた情報を選択的に出力する複数の第1の選
    択出力手段と、 前記入力されるデータにおけるその他のビットの各々に
    対応して設けられ、各々が、対応するビットの情報およ
    び前記第1の状態においてそのビットにシフトされるべ
    きビットの情報を選択的に出力する複数の第2の選択出
    力手段とを含み、 前記入力されたデータをシフトする場合は、前記複数の
    第1の選択出力手段の各々が前記予め定められた情報を
    出力するとともに、前記複数の第2の選択出力手段の各
    々が、対応するビットに前記第1の状態においてシフト
    されるビットの情報を出力し、前記入力されたデータを
    シフトしない場合は、前記複数の第1および第2の選択
    出力手段の各々が、対応するビットの情報を出力する、
    請求項4記載のシフト装置。
  6. 【請求項6】 前記複数の選択手段によるデータの最大
    シフト量を前記シフト手段によるデータの最大シフト量
    よりも多くした、請求項4または5記載のシフト装置。
JP6129306A 1994-06-10 1994-06-10 シフト装置 Withdrawn JPH07334345A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6129306A JPH07334345A (ja) 1994-06-10 1994-06-10 シフト装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6129306A JPH07334345A (ja) 1994-06-10 1994-06-10 シフト装置

Publications (1)

Publication Number Publication Date
JPH07334345A true JPH07334345A (ja) 1995-12-22

Family

ID=15006308

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6129306A Withdrawn JPH07334345A (ja) 1994-06-10 1994-06-10 シフト装置

Country Status (1)

Country Link
JP (1) JPH07334345A (ja)

Similar Documents

Publication Publication Date Title
US6233597B1 (en) Computing apparatus for double-precision multiplication
JPH0785221B2 (ja) 補数化装置
JP3003467B2 (ja) 演算装置
US5764550A (en) Arithmetic logic unit with improved critical path performance
US7024445B2 (en) Method and apparatus for use in booth-encoded multiplication
US4677583A (en) Apparatus for decimal multiplication
JPH07334345A (ja) シフト装置
JP3159349B2 (ja) 加算デコード装置
JP2002505834A (ja) ディジタルフィルタにおける係数のダイナミックレンジを変更するためのシステム
JPH0160856B2 (ja)
US5777918A (en) Fast multiple operands adder/subtracter based on shifting
JPH09114639A (ja) マスクデータ生成回路及びビットフィールド操作回路
JPH02152326A (ja) 冗長2進d/a変換器およびそれを用いた冗長2進信号処理装置
US6725360B1 (en) Selectively processing different size data in multiplier and ALU paths in parallel
US5301345A (en) Data processing system for performing a shifting operation and a constant generation operation and method therefor
KR950009682B1 (ko) 병렬 증분기를 이용한 2의 보수기
US7194501B2 (en) Complementary pass gate logic implementation of 64-bit arithmetic logic unit using propagate, generate, and kill
US5442801A (en) Arithmetic and logic unit
JPH09185493A (ja) 加算器用集積回路
US5926407A (en) Combined add/shift structure
JPH04227534A (ja) アレイ乗算器
US5990703A (en) Apparatus and method for a low power latchable adder
WO2004044731A2 (en) Device and method for performing shift/rotate operations
JP2000347834A (ja) Sw数系による演算回路
US5615141A (en) Multiplying apparatus

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20010904