JPS63150728A - バレルシフト回路 - Google Patents
バレルシフト回路Info
- Publication number
- JPS63150728A JPS63150728A JP61297631A JP29763186A JPS63150728A JP S63150728 A JPS63150728 A JP S63150728A JP 61297631 A JP61297631 A JP 61297631A JP 29763186 A JP29763186 A JP 29763186A JP S63150728 A JPS63150728 A JP S63150728A
- Authority
- JP
- Japan
- Prior art keywords
- bit
- circuit
- data
- barrel
- shift
- 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
- 238000007781 pre-processing Methods 0.000 claims abstract description 16
- 238000012805 post-processing Methods 0.000 claims abstract description 12
- 238000010586 diagram Methods 0.000 description 4
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 4
- 235000019800 disodium phosphate Nutrition 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概 要〕
ビット長の異なる2つのデータ相互間について小規模の
回路構成によりバレルシフト可能とするため、バレルシ
フタの前段と後段にそれぞれ2種のデータ相互間の桁合
せ回路を設けたバレルシフト回路である。ビット長の異
なるものとしては、例えば32ビツトの固定小数点フォ
ーマノトデー夕と24ビツトの整数フォーマットデータ
とがあり、これら相互間のビット長の差異を補償してバ
レルシフトを行うことができる。
回路構成によりバレルシフト可能とするため、バレルシ
フタの前段と後段にそれぞれ2種のデータ相互間の桁合
せ回路を設けたバレルシフト回路である。ビット長の異
なるものとしては、例えば32ビツトの固定小数点フォ
ーマノトデー夕と24ビツトの整数フォーマットデータ
とがあり、これら相互間のビット長の差異を補償してバ
レルシフトを行うことができる。
本発明は、ディジタル信号プロセッサ(DSP)等に用
いられるバレルシフト回路に関するものであり、より特
定的には2種のビット長の異なるデータについて共用し
得るバレルシフト回路に関する。
いられるバレルシフト回路に関するものであり、より特
定的には2種のビット長の異なるデータについて共用し
得るバレルシフト回路に関する。
DSP等においては、データのシフトを高速に行うため
バレルシフタを用いている。バレルシフタは、DSPの
1サイクル内に任意のビット分バイナリデータをシフト
させるものである。バレルシフタは取扱うデータの語長
(ビット長)をnとした場合、2人力のいずれか一方を
出力する「2−1セレクタ」が、各段がn個でl og
zn段積重段積図路構成となっている。バイナリデータ
のシフトはDSPの命令を用いて1ビット毎複数回シフ
トさせて行うことが可能であるが、データの語長が多く
なりシフトするビット長も多くなるとシフト時間がか\
る。従って、DSPの1サイクル内で任意のビットにつ
いてシフト可能なバレルシフタを用いることは、特にデ
ータ語長が大きいデータを取扱うDSPに設けることは
データ処理スピードの点で有効である。
バレルシフタを用いている。バレルシフタは、DSPの
1サイクル内に任意のビット分バイナリデータをシフト
させるものである。バレルシフタは取扱うデータの語長
(ビット長)をnとした場合、2人力のいずれか一方を
出力する「2−1セレクタ」が、各段がn個でl og
zn段積重段積図路構成となっている。バイナリデータ
のシフトはDSPの命令を用いて1ビット毎複数回シフ
トさせて行うことが可能であるが、データの語長が多く
なりシフトするビット長も多くなるとシフト時間がか\
る。従って、DSPの1サイクル内で任意のビットにつ
いてシフト可能なバレルシフタを用いることは、特にデ
ータ語長が大きいデータを取扱うDSPに設けることは
データ処理スピードの点で有効である。
またデータをシフトする場合、符号を考慮しなければな
らない。例えば、単純な左シフト、すなわち算術(アリ
スマティック)左シフトをしてMSBの符号を消失させ
たのでは問題となる場合があるからDSP自体でシフト
する場合、この符号の保存を図ったシフト動作を行なわ
なければならず、マイクロプロセッサ等に比し高速性を
図ると共に単純な性能化を図ったDSPにとって負担と
なる。
らない。例えば、単純な左シフト、すなわち算術(アリ
スマティック)左シフトをしてMSBの符号を消失させ
たのでは問題となる場合があるからDSP自体でシフト
する場合、この符号の保存を図ったシフト動作を行なわ
なければならず、マイクロプロセッサ等に比し高速性を
図ると共に単純な性能化を図ったDSPにとって負担と
なる。
バレルシフタを用いることによって、この問題も解決さ
れる。
れる。
例えば右に1ビツトシフトすることはデータを〃にする
こと、左に1ビツトシフトすることばデータを2倍にす
ることに相当するから、バレルシフタにおけるシフト動
作は2のべき乗で乗除算することにも相当している。
こと、左に1ビツトシフトすることばデータを2倍にす
ることに相当するから、バレルシフタにおけるシフト動
作は2のべき乗で乗除算することにも相当している。
DSPにおいては、マイクロコンピュータと同等の演算
精度が要求されてきており、従来の固定小数点フォーマ
ットデータのみならず、整数フォーマットデータをも取
扱うことが必要となってきている。例えば、32ビツト
の固定小数点フォーマットデータを用いて演算した場合
、演算に伴う丸めにより精度が低下していく。この精度
低下を防止するため、高精度が要求されるものについて
は、例えば24ビツトの整数フォーマットデータを倍精
度、すなわち48ビツト語長で用いる。
精度が要求されてきており、従来の固定小数点フォーマ
ットデータのみならず、整数フォーマットデータをも取
扱うことが必要となってきている。例えば、32ビツト
の固定小数点フォーマットデータを用いて演算した場合
、演算に伴う丸めにより精度が低下していく。この精度
低下を防止するため、高精度が要求されるものについて
は、例えば24ビツトの整数フォーマットデータを倍精
度、すなわち48ビツト語長で用いる。
これらの固定小数点フォーマットデータおよび整数フォ
ーマットデータについてもバレルシフト ゛を行う必要
がある。ところが上述の如く、固定小数点フォーマット
データは32ビツトの語長を扱われることが多く、整数
フォーマットデータは24ビツトの語長で扱われること
が多いので、これらについてバレルシフトを行うには、
32ビツト用のバレルシフタと24ビツト用のバレルシ
フタの両者が必要となる。
ーマットデータについてもバレルシフト ゛を行う必要
がある。ところが上述の如く、固定小数点フォーマット
データは32ビツトの語長を扱われることが多く、整数
フォーマットデータは24ビツトの語長で扱われること
が多いので、これらについてバレルシフトを行うには、
32ビツト用のバレルシフタと24ビツト用のバレルシ
フタの両者が必要となる。
しかしながら、2種のバレルシフタを設けることは経済
的に高価になり、またはy2倍の回路スペースが必要に
なるという問題に遭遇している。
的に高価になり、またはy2倍の回路スペースが必要に
なるという問題に遭遇している。
〔問題を解決するための手段、および、作用〕本発明は
、比較的簡単な回路構成で異なるビット長の2種のデー
タについてバレルシフトを可能とするバレルシフト回路
を提供することを目的とする。
、比較的簡単な回路構成で異なるビット長の2種のデー
タについてバレルシフトを可能とするバレルシフト回路
を提供することを目的とする。
本発明の上記目的は、第1図に原理ブロック図を示した
バレル、シフト回路により達成される。すなわち、バレ
ルシフタ10の前段に前処理桁合せ回路20、後段に後
処理桁合せ回路30を設ける一方、Hffiのビット長
のデータについてバレルシフト可能なバレルシフタlO
を共用する構成とする。
バレル、シフト回路により達成される。すなわち、バレ
ルシフタ10の前段に前処理桁合せ回路20、後段に後
処理桁合せ回路30を設ける一方、Hffiのビット長
のデータについてバレルシフト可能なバレルシフタlO
を共用する構成とする。
前処理桁合せ回路20は第1の桁合せ信号TYPOに応
じて、mビットのバイナリデータをnビットのバイナリ
データ、又はこの逆について桁合せを行う。尚、この桁
合せは、入力されたmビット又はnビットのバイナリデ
ータをそのま\出力することも含む。バレルシフタ10
は前処理桁合せ回路20からのバイナリデータをシフト
信号SHO〜SHKに応じたバレルシフトを行う。後処
理桁合せ回路30は、前処理桁合せ回路20と同様に、
第2の桁合せ信号TYP 1に応じてmビットのデータ
とnビットのデータ相互間の桁合せを行うか、又は桁合
せを行なわない。
じて、mビットのバイナリデータをnビットのバイナリ
データ、又はこの逆について桁合せを行う。尚、この桁
合せは、入力されたmビット又はnビットのバイナリデ
ータをそのま\出力することも含む。バレルシフタ10
は前処理桁合せ回路20からのバイナリデータをシフト
信号SHO〜SHKに応じたバレルシフトを行う。後処
理桁合せ回路30は、前処理桁合せ回路20と同様に、
第2の桁合せ信号TYP 1に応じてmビットのデータ
とnビットのデータ相互間の桁合せを行うか、又は桁合
せを行なわない。
また本発明のバレルシフト回路は、2種のデータの符号
位置を補正を行うため、符号拡張信号発生回路50及び
バレルシフタ10内に符号拡張回路が設けられる。
位置を補正を行うため、符号拡張信号発生回路50及び
バレルシフタ10内に符号拡張回路が設けられる。
さらに本発明のバレルシフト回路は、シフトモード信号
SALに基いて、算術シフト又は論理シフトを行った結
果を出力することができる。これはセレクタ回路40お
よび後処理桁合せ回路30が協働することにより行なわ
れる。
SALに基いて、算術シフト又は論理シフトを行った結
果を出力することができる。これはセレクタ回路40お
よび後処理桁合せ回路30が協働することにより行なわ
れる。
本発明の実施例のバレルシフト回路について添付図面を
参照して述べる。
参照して述べる。
本発明の実施例のバレルシフト回路で取扱う2種のデー
タとして、第2図(a)に図示の32ビット固定小数点
フォーマットデータと第2図(b)に図示の24ビツト
整数フオーマツトデータを対象とする。32ビット固定
小数点フォーマットデータは31ビツト目(MSB)が
符号ビットであり、30ビツトと29ビツト目に小数点
が位置し、最大±2を表現できる。一方、24ビツト整
数フオーマツトデータは23ビツト目(MSB)が符号
ビットであり、0ビツト(LSB)の右隣に小数点が位
置する。従って24ビツト整数フオーマツトデータは±
(2”−1)の値を表現できる。
タとして、第2図(a)に図示の32ビット固定小数点
フォーマットデータと第2図(b)に図示の24ビツト
整数フオーマツトデータを対象とする。32ビット固定
小数点フォーマットデータは31ビツト目(MSB)が
符号ビットであり、30ビツトと29ビツト目に小数点
が位置し、最大±2を表現できる。一方、24ビツト整
数フオーマツトデータは23ビツト目(MSB)が符号
ビットであり、0ビツト(LSB)の右隣に小数点が位
置する。従って24ビツト整数フオーマツトデータは±
(2”−1)の値を表現できる。
また、符号ビットを除いて、固定小数点フォーマットデ
ータはMSB側に左づめでデータが設定されるのに対し
、整数フォーマットデータはLSB側に右づめでデータ
が設定される。
ータはMSB側に左づめでデータが設定されるのに対し
、整数フォーマットデータはLSB側に右づめでデータ
が設定される。
第1図のバレルシフタ10の一実施例を第3図に示す。
本実施例は上述の如く32ビツト又は24ビツトのデー
タについてバレルシフト可能な場合について述べている
が、第3図の回路は図面の複雑化を防止するため、8ビ
ツトのバレルシフタについて例示している。しかしなが
ら、その回路および動作は24ビツト、32ビツトの場
合も同様に適用される。
タについてバレルシフト可能な場合について述べている
が、第3図の回路は図面の複雑化を防止するため、8ビ
ツトのバレルシフタについて例示している。しかしなが
ら、その回路および動作は24ビツト、32ビツトの場
合も同様に適用される。
第3図のバレルシフタは、データ向き反転回路11、バ
レルシフト部12、および、データ向き反転回路13に
より構成されている。データ向き反転回路11は8個の
「2−1セレクタスイッチ回路」11゜〜117で構成
されている。データ向き反転回路13も同様に8個の「
2−1セレクタスイッチ回路J13゜〜13□で構成さ
れている。バレルシフト部12はそれぞれの段が8個で
、3段に積上げられた24個の「2−1セレクタスイッ
チ回路」12−1゜〜12−17.112゜〜12−1
7f、12−3゜〜12−37で構成されている。
レルシフト部12、および、データ向き反転回路13に
より構成されている。データ向き反転回路11は8個の
「2−1セレクタスイッチ回路」11゜〜117で構成
されている。データ向き反転回路13も同様に8個の「
2−1セレクタスイッチ回路J13゜〜13□で構成さ
れている。バレルシフト部12はそれぞれの段が8個で
、3段に積上げられた24個の「2−1セレクタスイッ
チ回路」12−1゜〜12−17.112゜〜12−1
7f、12−3゜〜12−37で構成されている。
上述の如く、横方向に8個のセレクタスイッチ回路を設
けたのは、8ビツトのデータをバレルシフトするためで
ある。従って32ビツトのデータをバレルシフトするに
は32個のセレクタスイッチ回路を横方向に配列する。
けたのは、8ビツトのデータをバレルシフトするためで
ある。従って32ビツトのデータをバレルシフトするに
は32個のセレクタスイッチ回路を横方向に配列する。
またバレルシフト部工2は最大8ビツトシフトするため
3、すなわちJogz8=3、段である。32ビツトシ
フトのためにはJOgz32 = 5段積上げて構成す
る。
3、すなわちJogz8=3、段である。32ビツトシ
フトのためにはJOgz32 = 5段積上げて構成す
る。
第3図の「2−1セレクタスイッチ回路」はそれぞれ2
つのビット信号を入力し、制御信号、例えば第1の方向
信号DIROが“0”の場合は0側の入力を出力し、“
1”の場合は1例の入力を出力する。
つのビット信号を入力し、制御信号、例えば第1の方向
信号DIROが“0”の場合は0側の入力を出力し、“
1”の場合は1例の入力を出力する。
先ずデータ向き反転回路11の動作を説明する。
各セレクタスイッチ回路には相補的な2つの入力信号が
印加されている。すなわち、第1のセレクタスイッチ回
路11゜には0ビツト目のデータが0側入力、7ビツト
目のデータが1側入力、以下同様に、第2のセレクタス
イッチ回路11.には1ビツト目データと6ビツト目デ
ータ、・・・、第8のセレクタスイッチ回路flyには
7ビツト目データとOビット目データが入力されている
。従って第1の方向信号5DIROが“0”の場合は、
データ向き反転回路11からは入力されたビット構成×
7〜XOのま\、セレクタスイッチ回路11.〜11゜
から出力される。一方第1の方向信号DIROが“1”
の場合は、セレクタスイッチ回路1b〜116から入力
されたビット構成とは逆の構成XO〜X7のデータが出
力される。
印加されている。すなわち、第1のセレクタスイッチ回
路11゜には0ビツト目のデータが0側入力、7ビツト
目のデータが1側入力、以下同様に、第2のセレクタス
イッチ回路11.には1ビツト目データと6ビツト目デ
ータ、・・・、第8のセレクタスイッチ回路flyには
7ビツト目データとOビット目データが入力されている
。従って第1の方向信号5DIROが“0”の場合は、
データ向き反転回路11からは入力されたビット構成×
7〜XOのま\、セレクタスイッチ回路11.〜11゜
から出力される。一方第1の方向信号DIROが“1”
の場合は、セレクタスイッチ回路1b〜116から入力
されたビット構成とは逆の構成XO〜X7のデータが出
力される。
バレルシフト部12それ自体は右シフトのみ行うが、デ
ータ向き反転回路11で逆のビット構成としておくこと
により、実質的に左シフトを行うこともできる。データ
向き反転回路13の回路構成および動作もデータ向き反
転回路11のそれらと同様である。従って、右シフトさ
れたデータを左シフト又はその逆のシフト結果として出
力することができる。
ータ向き反転回路11で逆のビット構成としておくこと
により、実質的に左シフトを行うこともできる。データ
向き反転回路13の回路構成および動作もデータ向き反
転回路11のそれらと同様である。従って、右シフトさ
れたデータを左シフト又はその逆のシフト結果として出
力することができる。
次にバレルシフト部12の動作について述べる。
第3図の回路は8ビツト入カデータに対し最大8ピント
をシフトするので、シフト信号として、“1”の場合そ
れぞれ、1,2.4ビツトシフトを行なわせるSHO、
SHI 、 SO2がセレクタスイッチ回路のセレクタ
信号として印加される。
をシフトするので、シフト信号として、“1”の場合そ
れぞれ、1,2.4ビツトシフトを行なわせるSHO、
SHI 、 SO2がセレクタスイッチ回路のセレクタ
信号として印加される。
5H2=1の場合、データ向き反転回路11のセレクタ
スィッチ回路117Φ出力信号は、セレクタスイッチ回
路1213から出力される。一方5H2=0の場合、セ
レクタスイッチ回路11?の出力信号はセレクタスイッ
チ回路121yから出力される。これにより、5H2=
Oの場合はシフトされず、5l(2=1の場合は4ビツ
ト右にシフトされることが判る。SHIについても同様
に、5)12=Oの場合はシフトされず、5H2=1の
場合はセレクタスイッチ回路12−1.の出力信号がセ
レクタスイッチ回路12−2.から出力されるように2
ビツト右にシフトされる。SHOの場合も同様にシフト
されないか、右に1ビツトシフトされる。以上により、
SHO〜SH2の組合せにより0〜8ビツトの範囲でバ
レルシフトを行うことができる。
スィッチ回路117Φ出力信号は、セレクタスイッチ回
路1213から出力される。一方5H2=0の場合、セ
レクタスイッチ回路11?の出力信号はセレクタスイッ
チ回路121yから出力される。これにより、5H2=
Oの場合はシフトされず、5l(2=1の場合は4ビツ
ト右にシフトされることが判る。SHIについても同様
に、5)12=Oの場合はシフトされず、5H2=1の
場合はセレクタスイッチ回路12−1.の出力信号がセ
レクタスイッチ回路12−2.から出力されるように2
ビツト右にシフトされる。SHOの場合も同様にシフト
されないか、右に1ビツトシフトされる。以上により、
SHO〜SH2の組合せにより0〜8ビツトの範囲でバ
レルシフトを行うことができる。
上記右シフトはデータ向き反転回路13に第2の方向信
号5DIR1= 1を印加することにより、結果的に左
シフトとすることができる。
号5DIR1= 1を印加することにより、結果的に左
シフトとすることができる。
第1図の前処理桁合せ回路20の一実施例の回路を第4
図に示す。第3図の桁合せ回路は32ビツトと24ビッ
ト相互間の桁合せを可能とするものであり、32個の「
2−1セレクタスイッチ回路」210〜213Iが図示
の如く接続されて成る。セレクタスイッチ回路213.
には32ビツトデータの31ビツト目、すなわち符号、
および24ビツトデータの23ビツト目、すなわち符号
、セレクタスイッチ回路21.。には30ビツト目と2
2ビツト目がそれぞれ接続されている。セレクタスイッ
チ回路21t〜21゜の0入力端には32ビツトデータ
の7〜0ビフトがそれぞれ人力される。しかしながら、
24ビツトデータはこれに対応するビットが存在しない
ので接地され、データ“01が入力される。第1の桁合
せ信号TYP Oが0”の場合32ビツトデータがその
ま\セレクタスイッチ回路21,1〜2ioから出力さ
れ、TYPO=1の場合、24ビツトデータが左づめさ
れ、但しビット7〜0は値が“0”、恰も32ビツトの
データとして出力される。
図に示す。第3図の桁合せ回路は32ビツトと24ビッ
ト相互間の桁合せを可能とするものであり、32個の「
2−1セレクタスイッチ回路」210〜213Iが図示
の如く接続されて成る。セレクタスイッチ回路213.
には32ビツトデータの31ビツト目、すなわち符号、
および24ビツトデータの23ビツト目、すなわち符号
、セレクタスイッチ回路21.。には30ビツト目と2
2ビツト目がそれぞれ接続されている。セレクタスイッ
チ回路21t〜21゜の0入力端には32ビツトデータ
の7〜0ビフトがそれぞれ人力される。しかしながら、
24ビツトデータはこれに対応するビットが存在しない
ので接地され、データ“01が入力される。第1の桁合
せ信号TYP Oが0”の場合32ビツトデータがその
ま\セレクタスイッチ回路21,1〜2ioから出力さ
れ、TYPO=1の場合、24ビツトデータが左づめさ
れ、但しビット7〜0は値が“0”、恰も32ビツトの
データとして出力される。
第1図の後処理桁合せ回路30の一実施例を第5図に示
す。第5図の回路は第4図の回路と対称をなすものであ
り、第2の桁合せ信号TYP 1 = 0の場合、バレ
ルシフタ10からの32ビツトのデータD31〜DOを
そのま\出力し、TYP 1 = 1の場合、バレルシ
フタ10からの24ビツトのデータE31〜E8を右づ
めで出力する。
す。第5図の回路は第4図の回路と対称をなすものであ
り、第2の桁合せ信号TYP 1 = 0の場合、バレ
ルシフタ10からの32ビツトのデータD31〜DOを
そのま\出力し、TYP 1 = 1の場合、バレルシ
フタ10からの24ビツトのデータE31〜E8を右づ
めで出力する。
従って、第4図と第5図の桁合せ回路を組合せて動作さ
せることにより、32ビツトデータ、24ビワトデータ
のいずれについてもバレルシフトを行うことができる。
せることにより、32ビツトデータ、24ビワトデータ
のいずれについてもバレルシフトを行うことができる。
第1図を参照すると、「2−1セレクタスイツチJ40
には前処理桁合せ回路20のMSB、すなわち符号ビッ
トとバレルシフタ10のMSBが人力されている。セレ
クタスイッチ回路40にシフトモード信号5AL=Oを
印加すると前処理桁合せ回路20のMSBが後処理桁合
せ回路30のMSBに印加されるので、符号を保存した
「算術シフト」が行える。一方、5AL=1の場合、符
号を考慮しない「論理シフト」が行える。
には前処理桁合せ回路20のMSB、すなわち符号ビッ
トとバレルシフタ10のMSBが人力されている。セレ
クタスイッチ回路40にシフトモード信号5AL=Oを
印加すると前処理桁合せ回路20のMSBが後処理桁合
せ回路30のMSBに印加されるので、符号を保存した
「算術シフト」が行える。一方、5AL=1の場合、符
号を考慮しない「論理シフト」が行える。
第6図は第1図の符号拡張信号発生回路50の実施例を
示す。ANDゲート51に前処理桁合せ回路20のMS
B、第1の方向信号SD[ROを反転した信号およびシ
フトモード信号SALを反転した信号が印加されている
。従って、MSB=1.5DIRO=0.5AL=0の
場合、すなわち、入力データSINが負の符号を有し、
データ向き反転を行なわず、算術シフトの場合、拡張符
号信号5EXB =1となる。この拡張符号信号5EX
Bは第3図のバレルシフト部12に印加される。すなわ
ち5EXBは、セレクタスイッチ回路12−L〜12−
1 、.12−2、〜12−2.,12−3. 、すな
わち、バレルシフト部でシフトされた場合データがなく
なる部分に印加されている。これによってシフトされた
データについても符号を拡張できる。
示す。ANDゲート51に前処理桁合せ回路20のMS
B、第1の方向信号SD[ROを反転した信号およびシ
フトモード信号SALを反転した信号が印加されている
。従って、MSB=1.5DIRO=0.5AL=0の
場合、すなわち、入力データSINが負の符号を有し、
データ向き反転を行なわず、算術シフトの場合、拡張符
号信号5EXB =1となる。この拡張符号信号5EX
Bは第3図のバレルシフト部12に印加される。すなわ
ち5EXBは、セレクタスイッチ回路12−L〜12−
1 、.12−2、〜12−2.,12−3. 、すな
わち、バレルシフト部でシフトされた場合データがなく
なる部分に印加されている。これによってシフトされた
データについても符号を拡張できる。
以上の動作は、DSPの1サイクル内に行なわれる。
以上に述べたように本発明によれば、ビ・ノド長の異な
る2種のデータのいずれについても、バレルシフタを共
用し簡単な回路構成でバレルシフトを行うことができる
。
る2種のデータのいずれについても、バレルシフタを共
用し簡単な回路構成でバレルシフトを行うことができる
。
また本発明のバレルシフト回路は、バレルシフタ、前処
理および後処理桁合回路について、「2−1セレクタス
イッチ回路」を基本回路として構成し得るので、LSI
化等に適し、また回路構成が容易である。
理および後処理桁合回路について、「2−1セレクタス
イッチ回路」を基本回路として構成し得るので、LSI
化等に適し、また回路構成が容易である。
第1図は本発明のバレルシフト回路の原理ブロック図、
第2図(a)(b)は本発明のバレルシフト回路で取扱
うデータフォーマットの例を示す図、第3図は本発明の
実施例のバレルシフタの回路図、 第4図および第5図は本発明の実施例の前処理および後
処理桁合せ回路を示す回路図、第6図は本発明の実施例
の符号拡張信号発生回路を示す図、である。 (符号の説明) 10・・・バレルシフタ、 11 、13・・・データ向き反転回路、12・・・バ
レルシフト部、 20・・・前処理桁合せ回路、 30・・・後処理桁合せ回路、 40・・・セレクタ回路、 50・・・符号拡張信号発生回路。
うデータフォーマットの例を示す図、第3図は本発明の
実施例のバレルシフタの回路図、 第4図および第5図は本発明の実施例の前処理および後
処理桁合せ回路を示す回路図、第6図は本発明の実施例
の符号拡張信号発生回路を示す図、である。 (符号の説明) 10・・・バレルシフタ、 11 、13・・・データ向き反転回路、12・・・バ
レルシフト部、 20・・・前処理桁合せ回路、 30・・・後処理桁合せ回路、 40・・・セレクタ回路、 50・・・符号拡張信号発生回路。
Claims (1)
- 【特許請求の範囲】 1、第1の桁合せ信号(TYP0)に応答し、mビット
のバイナリデータとnビットのバイナリデータ相互間の
桁合せを行うか又は桁合せを行わない前処理桁合せ回路
(20)、 該前処理桁合せ回路からのバイナリデータをシフト信号
(SHO〜SHK)に応答してシフトを行うバレルシフ
タ(10)、 該バレルシフタからのバイナリデータを第2の桁合せ信
号(TYP1)に応答してmビットのバイナリデータと
nビットのバイナリデータ相互間の桁合せを行うか又は
桁合せを行わない後処理桁合せ回路(30)、 を具備し、ビット長の異なる2種のバイナリデータ相互
についてバレルシフトを可能とした、バレルシフト回路
。 2、2種のバイナリデータの符号位置の差異を補正する
符号拡張手段(50、12)をさらに具備する、特許請
求の範囲第1項に記載のバレルシフト回路。 3、シフトモード信号(SAL)に応答して、算術シフ
ト又は論理シフトのいずれかを行う手段(40、30)
を具備する、特許請求の範囲第1項又は第2項に記載の
バレルシフト回路。 4、前記前処理桁合せ回路、前記バレルシフタおよび前
記後処理桁合せ回路が、2つの入力信号のいずれか一方
を選択的に出力するセレクタスイッチ回路を複数個有し
て構成される、特許請求の範囲第3項に記載のバレルシ
フト回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61297631A JPS63150728A (ja) | 1986-12-16 | 1986-12-16 | バレルシフト回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61297631A JPS63150728A (ja) | 1986-12-16 | 1986-12-16 | バレルシフト回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS63150728A true JPS63150728A (ja) | 1988-06-23 |
Family
ID=17849072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61297631A Pending JPS63150728A (ja) | 1986-12-16 | 1986-12-16 | バレルシフト回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS63150728A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996037820A1 (en) * | 1995-05-26 | 1996-11-28 | National Semiconductor Corporation | Barrel shifter |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6198442A (ja) * | 1984-10-19 | 1986-05-16 | Nec Corp | 演算装置 |
-
1986
- 1986-12-16 JP JP61297631A patent/JPS63150728A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6198442A (ja) * | 1984-10-19 | 1986-05-16 | Nec Corp | 演算装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996037820A1 (en) * | 1995-05-26 | 1996-11-28 | National Semiconductor Corporation | Barrel shifter |
US5652718A (en) * | 1995-05-26 | 1997-07-29 | National Semiconductor Corporation | Barrel shifter |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4782457A (en) | Barrel shifter using bit reversers and having automatic normalization | |
US20050289323A1 (en) | Barrel shifter for a microprocessor | |
JP3487903B2 (ja) | 演算装置及び演算方法 | |
US4172288A (en) | Binary or BCD adder with precorrected result | |
US6006244A (en) | Circuit for shifting or rotating operands of multiple size | |
US5343417A (en) | Fast multiplier | |
JP3345894B2 (ja) | 浮動小数点乗算器 | |
US5586071A (en) | Enhanced fast multiplier | |
JPH0346024A (ja) | 浮動小数点演算器 | |
JPS63150728A (ja) | バレルシフト回路 | |
JPH07107664B2 (ja) | 乗算回路 | |
US6665698B1 (en) | High speed incrementer/decrementer | |
JPS5968058A (ja) | フロ−テイング乗算器 | |
US6122651A (en) | Method and apparatus for performing overshifted rotate through carry instructions by shifting in opposite directions | |
JP2705162B2 (ja) | 演算処理装置 | |
JP2907276B2 (ja) | 演算処理装置 | |
RU2043651C1 (ru) | Устройство для сложения | |
KR100265358B1 (ko) | 고속의쉬프팅장치 | |
KR970005175A (ko) | 파이프라인 구조에 근거한 곱셈/나눗셈 공유 처리기 구조 | |
JPH0991118A (ja) | 浮動小数点演算装置 | |
JPS6160126A (ja) | シフト制御回路 | |
JPS6148177B2 (ja) | ||
JPH0285922A (ja) | 演算回路 | |
JPS5827241A (ja) | 十進演算装置 | |
JPH0784762A (ja) | 乗算回路 |