JPH04245323A - バレルシフタ回路 - Google Patents

バレルシフタ回路

Info

Publication number
JPH04245323A
JPH04245323A JP3027735A JP2773591A JPH04245323A JP H04245323 A JPH04245323 A JP H04245323A JP 3027735 A JP3027735 A JP 3027735A JP 2773591 A JP2773591 A JP 2773591A JP H04245323 A JPH04245323 A JP H04245323A
Authority
JP
Japan
Prior art keywords
bit
shift
data
shifter
output
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
JP3027735A
Other languages
English (en)
Inventor
Makoto Miyagawa
誠 宮川
Seiji Kawamura
誠司 川村
Koichi Hatta
浩一 八田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP3027735A priority Critical patent/JPH04245323A/ja
Publication of JPH04245323A publication Critical patent/JPH04245323A/ja
Withdrawn legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、2進データの桁シフト
を行うためのバレルシフタ回路に関し、特にシフト量が
2の補数によって指定されるようになっているバレルシ
フタ回路に関するものである。
【0002】バレルシフタ回路は、2進データの演算を
行う各種演算回路において、入力データをシフトさせる
目的に用いられるものである。このようなバレルシフタ
回路は、演算の高速化が可能であるとともに、回路規模
を縮小できるものであることが要望される。
【0003】
【従来の技術】図4は、従来のバレルシフタ回路におけ
る演算処理を説明するものであって、3ビット負のシフ
トすなわち右シフトする場合を例示し、(a)は入力シ
フト量データ、(b)はシフト制御データ、(c)は各
部の演算をそれぞれ示している。
【0004】入力シフト量データb3 b2 b1 b
0 において、最上位のデータb3 はシフト量の符号
ビットであって、負(右)のシフトの場合負の値を表す
1となり、正(左)のシフトの場合正の値を表す0とな
る。また下位のデータb2 b1 b0 はシフト量を
表し、符号ビットが1のとき、2の補数によって与えら
れる。2の補数はビット反転して1を加算することによ
って、通常の表示に改められる。いま、シフト量データ
が図4(a)に示すように11012 (=−310)
であったとき、シフト制御データは下位のデータb2 
b1 b0 を反転して1を加算したデータb2 ´b
1 ´b0 ´であって、図4(b)に示すように01
1となる。
【0005】図4において(c)に示すように、入力デ
ータがa4 a3 a2 a1 a0 であったとき、
各段の演算部においては、まず符号ビットb3 =1に
応じて対応する上位と下位のビットを入れ替える制御を
行って、a0 a1 a2 a3 a4 を得る。次に
シフト制御データb0 ´=1に応じて1ビットシフト
を行ってa1 a2 a3 a4 0を得、このデータ
に対してシフト制御データb1 ´=1に応じて2ビッ
トシフトを行ってa3 a4 000を得る。さらにこ
のデータに対してシフト制御データb2 ´に応じて4
ビットシフトを行うが、b2 ´=0なので出力はa3
 a4 000と変わらない。次に再び符号ビットb3
 =1に応じて対応する上位と下位のビットを入れ替え
る制御を行って、3ビット右シフトされた出力000a
4 a3 を得る。
【0006】図5は、従来のバレルシフタ回路の構成を
示したものであって、1は2の補数器、2はデータの対
応する上位と下位の各ビットのビット位置を入れ替える
ビット位置反転部、3は1ビットシフタ、4は2ビット
シフタ、5は4ビットシフタ、6は2(n−1) ビッ
トシフタ、7はデータの対応する上位と下位の各ビット
のビット位置を入れ替えるビット位置反転部である。ま
た、2の補数器1において、11はデータの各ビットの
符号を反転するビット反転部、12はデータに1を加算
するインクリメンタである。
【0007】2の補数器1において、シフト量のデータ
は、ビット反転部11において各ビットの符号を反転さ
れたのちインクリメンタ12において1を加算されるこ
とによって、通常の数の表示に改められる。入力データ
は、符号ビットが1のとき、ビット位置反転部2によっ
て、各ビットの位置を対応する上位と下位とで入れ替え
られる。1ビットシフタ3は、ビット位置反転部2の出
力をシフト制御データに応じて1ビットシフトし、また
はシフトしないで出力する。2ビットシフタ4は、1ビ
ットシフタ3の出力をシフト制御データに応じて2ビッ
トシフトし、またはシフトしないで出力する。4ビット
シフタ5は、2ビットシフタ4の出力をシフト制御デー
タに応じて4ビットシフトし、またはシフトしないで出
力する。以下同様にして、順次2の階乗で増加するシフ
ト量で、2(n−1) ビットシフタ6まで演算を行わ
せたのち、ビット位置反転部7において再び各ビットの
位置を対応する上位と下位とで入れ替えることによって
、入力データをシフト量データに応じてシフトした出力
データが得られる。
【0008】
【発明が解決しようとする課題】従来のバレルシフタに
おいては、負(右)のシフトを行う場合には、シフト量
が2の補数で与えられるので、2の補数器を通してシフ
ト量を通常の数の表示に改めて、各ビットのシフタを制
御するようにしている。この際、2の補数器における演
算では、2の補数で与えられたシフト量をビット反転し
たのちインクリメンタを用いて1を加算するが、インク
リメンタの演算は、加算時に生じるキャリーが各桁に伝
播するため、演算の遅延時間が大きい。
【0009】本発明はこのような従来技術の課題を解決
しようとするものであって、シフト量が2の補数で与え
られるバレルシフタ回路において、シフト量の演算にイ
ンクリメンタを必要とせず、従って回路規模を縮小でき
るとともに、演算速度を向上することができるバレルシ
フタを提供することを目的としている。
【0010】
【課題を解決するための手段】本発明は、入力データに
対して負のシフト処理を行うとき、シフト量が負である
ことを示す符号ビットと2の補数で表されるシフト量と
によってシフトの指示を行われるバレルシフタにおいて
、このシフト量のデータをビット反転する1の補数器と
、この符号ビットに応じて入力データを対応する上位と
下位とでビット位置を入れ替えるとともに1ビットシフ
トするビット位置反転および1ビットシフタ部と、ビッ
ト位置反転および1ビットシフタ部の出力を1の補数器
の出力データの各ビットの有効,無効に応じてこのデー
タの下位から順次2の階乗で増加するビット数でシフト
しまたはシフトしない順次縦続に接続された複数のビッ
トシフタと、この複数のビットシフタの出力データを対
応する上位と下位とでビット位置を入れ替えて出力デー
タを発生するビット位置反転部とを備えたことを特徴と
するものである。
【0011】
【作用】図1は本発明の原理的構成を示したものであっ
て、図5におけると同じものを同じ番号で示し、8は1
の補数器、9はビット位置反転および1ビットシフタ部
である。
【0012】1の補数器8において、シフト量のデータ
は、ビット反転部11において各ビットの符号を反転さ
れる。入力データは、符号ビットが1のとき、ビット位
置反転および1ビットシフタ部9によって、各ビットの
位置を対応する上位と下位とで入れ替えられるとともに
1ビット正(左)のシフトを行われる。1ビットシフタ
3は、ビット位置反転および1ビットシフタ部2の出力
をシフト制御データに応じて1ビットシフトし、または
シフトせずに出力する。2ビットシフタ4は、1ビット
シフタ3の出力をシフト制御データに応じて2ビットシ
フトし、またはシフトしないで出力する。4ビットシフ
タ5は、2ビットシフタ4の出力をシフト制御データに
応じて4ビットシフトし、またはシフトしないで出力す
る。以下同様にして、順次2の階乗で増加するシフト量
でシフト、2(n−1) ビットシフタ6まで演算を行
わせたのち、ビット位置反転部7において再び各ビット
の位置を対応する上位と下位とで入れ替えることによっ
て、入力データをシフト量データに応じてシフトした出
力データが得られる。なお、入力シフト量データにおい
て、符号ビットが正(左)のシフトに対応する正の値を
表す0のときは、ビット位置反転および1ビットシフタ
部2とビット位置反転部7においてビット位置の入れ替
えを行うことなく、シフト量のデータを、1の補数器8
を通さずに直接各ビットのシフタ3,4,5,6に与え
ることによって、入力データのシフトが行われる。
【0013】図2は、本発明のバレルシフタ回路におけ
る演算処理を説明するものであって、3ビット負(右)
のシフトを行う場合を例示し、(a)はシフト量のデー
タ、(b)はシフト制御データ、(c)は各部の演算を
それぞれ示している。
【0014】入力シフト量データb3 b2 b1 b
0 が図2(a)に示すように11012 (=−31
0)であったとき、シフト制御データは下位のデータb
2 b1 b0 をビット反転したデータb2 ´b1
 ´b0 ´であって、図2(b)に示すように010
である。
【0015】図2において(c)に示すように、入力デ
ータがa4 a3 a2 a1 a0 であったとき、
各段の演算部においては、まず符号ビットb3 =1に
応じて対応する上位と下位のビット入れ替えを行って、
a0 a1 a2 a3 a4 を得、さらにこれを1
ビット左シフトしてa1 a2 a3 a4 0を得る
。次にシフト制御データb0 ´に応じて1ビットシフ
トを行うが、b0 ´=0なので、出力はa1 a2 
a3 a4 0と変わらない。このデータに対してシフ
ト制御データb1 ´=1に応じて2ビットシフトを行
ってa3 a4 000を得る。さらにこのデータに対
してシフト制御データb2 ´に応じて4ビットシフト
を行うが、b2 ´=0なので、出力はa3 a4 0
00と変わらない。次に再び符号ビットb3 =1に応
じて対応する上位と下位のビット入れ替えを行って、3
ビット右シフトされた出力000a4 a3 を得る。
【0016】
【実施例】図3は、本発明の一実施例を示したものであ
って、21〜23は排他的論理和の演算を行うEX−O
R回路、26〜30,31〜35,36〜40,41〜
45,46〜49はそれぞれ入力データの選択を行うセ
レクタ(SEL)である。
【0017】図3においては、シフト量が正であれば左
シフトを行い、負であれば右シフトを行うものとし、図
2の説明に対応して、入力データがa4 a3 a2 
a1 a0 の5ビットであり、シフト量データがb3
 b2 b1 b0 の4ビットであって、シフト量b
2 b1 b0 は2の補数表示で与えられ、b3 は
符号ビットであって、シフト量が正のとき0、負のとき
1であるものとする。
【0018】1の補数器であるEX−OR回路21〜2
3は、符号ビットb3 が1のとき、シフト量b2 b
1 b0 をビット反転してシフト制御データb2 ´
b1 ´b0 ´を出力する。1段目のセレクタ26〜
30では、符号ビットb3 が1であれば、入力データ
a4 a3 a2 a1 a0 を対応する上位と下位
とで入れ替えてビット位置を反転するとともに、1ビッ
トシフトして出力する。2段目のセレクタ31〜35で
は、EX−OR回路21から与えられるシフト制御デー
タb0 ´の1,0に応じて、それぞれセレクタ26〜
30からの出力データの1ビット左シフトを行い、また
は行わずに出力する。3段目のセレクタ36〜40では
、EX−OR回路22から与えられるシフト制御データ
b1 ´の1,0に応じて、それぞれセレクタ31〜3
5からの出力データの2ビット左シフトを行い、または
行わずに出力する。4段目のセレクタ41〜45では、
EX−OR回路23から与えられるシフト制御データb
2 ´の1,0に応じて、それぞれセレクタ36〜40
からの出力データの4ビット左シフトを行い、または行
わずに出力する。5段目のセレクタ46〜49では、符
号ビットb3 が0であれば、4段目のセレクタ41〜
45からのデータをそのまま出力させる。一方、符号ビ
ットb3 が1であれば、4段目のセレクタ41〜45
からのデータを、対応する上位と下位とで入れ替えてビ
ット位置を反転することによって、出力を発生する。
【0019】従って図3の実施例によれば、符号ビット
b3 が負(右)のシフトに対応する負の値を表す1の
ときは、図2について説明したのと同じ演算処理を行っ
て、入力データの負(右)のシフトを実行することがで
きる。
【0020】なお、入力シフト量データにおいて、符号
ビットb3 が正(左)のシフトに対応する正の値を表
す0のときは、1段目のセレクタ26〜30では、入力
データa4 a3 a2 a1 a0 をそのまま出力
する。EX−OR回路21〜23は、シフト量b2 b
1 b0 をビット反転することなく出力する。従って
2段目のセレクタ31〜35,3段目のセレクタ36〜
40,4段目のセレクタ41〜45では、シフト量b2
 b1 b0に応じてそれぞれシフトを行って出力する
。また5段目のセレクタ46〜49では、4段目のセレ
クタ41〜45からのデータをそのまま出力するので、
図3の回路によって、入力データの正(左)のシフトも
行うことができる。
【0021】
【発明の効果】以上説明したように本発明によれば、負
のシフト(右シフト)を行う場合にシフト量として2の
補数のデータを用いるバレルシフタにおいて、シフト制
御データを発生する際に、2の補数器を使用せず1の補
数器を用いることによって、インクリメンタを不要にし
たので、インクリメンタにおける演算の遅延がなく、従
ってシフト処理が高速化されるとともに、回路規模を縮
小することができるようになる。
【図面の簡単な説明】
【図1】本発明の原理的構成を示す図である。
【図2】本発明のバレルシフタ回路における演算処理を
説明する図である。
【図3】本発明の一実施例を示す図である。
【図4】従来のバレルシフタ回路における演算処理を説
明する図である。
【図5】従来のバレルシフタ回路の構成を示す図である
【符号の説明】
3〜6  ビットシフタ 7  ビット位置反転部 8  1の補数器

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】  入力データに対して負のシフト処理を
    行うとき、シフト量が負であることを示す符号ビットと
    2の補数で表されたシフト量とによってシフトの指示を
    行われるバレルシフタにおいて、該シフト量のデータを
    ビット反転する1の補数器(8)と、該符号ビットに応
    じて入力データを対応する上位と下位とでビット位置を
    入れ替えるとともに1ビットシフトするビット位置反転
    および1ビットシフタ部(9)と、該ビット位置反転お
    よび1ビットシフタ部(9)の出力を前記1の補数器(
    8)の出力データの各ビットの有効,無効に応じて該デ
    ータの下位から順次2の階乗で増加するビット数でシフ
    トしまたはシフトしない順次縦続に接続された複数のビ
    ットシフタ(3〜6)と、該複数のビットシフタ(3〜
    6)の出力データを対応する上位と下位とでビット位置
    を入れ替えて出力データを発生するビット位置反転部(
    7)とを備えたことを特徴とするバレルシフタ回路。
JP3027735A 1991-01-30 1991-01-30 バレルシフタ回路 Withdrawn JPH04245323A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3027735A JPH04245323A (ja) 1991-01-30 1991-01-30 バレルシフタ回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3027735A JPH04245323A (ja) 1991-01-30 1991-01-30 バレルシフタ回路

Publications (1)

Publication Number Publication Date
JPH04245323A true JPH04245323A (ja) 1992-09-01

Family

ID=12229287

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3027735A Withdrawn JPH04245323A (ja) 1991-01-30 1991-01-30 バレルシフタ回路

Country Status (1)

Country Link
JP (1) JPH04245323A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9021000B2 (en) 2012-06-29 2015-04-28 International Business Machines Corporation High speed and low power circuit structure for barrel shifter

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9021000B2 (en) 2012-06-29 2015-04-28 International Business Machines Corporation High speed and low power circuit structure for barrel shifter
US9501260B2 (en) 2012-06-29 2016-11-22 International Business Machines Corporation High speed and low power circuit structure for barrel shifter
US9996317B2 (en) 2012-06-29 2018-06-12 International Business Machines Corporation High speed and low power circuit structure for barrel shifter
GB2518317B (en) * 2012-06-29 2020-10-28 Ibm High speed and low power circuit structure for barrel shifter

Similar Documents

Publication Publication Date Title
EP0328063B1 (en) Absolute value calculating circuit having a single adder
US3814925A (en) Dual output adder and method of addition for concurrently forming the differences a{31 b and b{31 a
US5957996A (en) Digital data comparator and microprocessor
JPH0421025A (ja) 左右シフタ
JPH0769782B2 (ja) マイクロプログラム可能な32ビットカスケード可能ビットスライス
JP3436994B2 (ja) シフト装置
JPS6227412B2 (ja)
JPH03135627A (ja) ファジイ演算装置
JP2511527B2 (ja) 浮動小数点演算器
JPH04245323A (ja) バレルシフタ回路
JPH0546363A (ja) 除算器
JPS5979495A (ja) シフト回路
JPH0464091B2 (ja)
JP3127654B2 (ja) 乗除算器
JPH0217828B2 (ja)
US6122651A (en) Method and apparatus for performing overshifted rotate through carry instructions by shifting in opposite directions
EP0334768A2 (en) Logic circuit having carry select adders
US5978826A (en) Adder with even/odd 1-bit adder cells
JP2664750B2 (ja) 演算装置及び演算処理方法
KR100567643B1 (ko) 제로 판정 신호 생성 회로
JP3074958B2 (ja) 加算機能付きシリアル乗算器
JP3540136B2 (ja) データ分割並列シフタ
JPS63115229A (ja) エレメントシフト方式
JPH05174047A (ja) ベクトル処理装置
JPS6115232A (ja) 乗算装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19980514