JPS61234428A - デ−タシフト回路 - Google Patents

デ−タシフト回路

Info

Publication number
JPS61234428A
JPS61234428A JP60075607A JP7560785A JPS61234428A JP S61234428 A JPS61234428 A JP S61234428A JP 60075607 A JP60075607 A JP 60075607A JP 7560785 A JP7560785 A JP 7560785A JP S61234428 A JPS61234428 A JP S61234428A
Authority
JP
Japan
Prior art keywords
data
shift
bit
significant bit
selector
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
Application number
JP60075607A
Other languages
English (en)
Inventor
Kiyoshi Maenobu
前信 潔
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP60075607A priority Critical patent/JPS61234428A/ja
Publication of JPS61234428A publication Critical patent/JPS61234428A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明は複数ビットのディジタルデータを任意ビットだ
け左右両方向にシフト可能なデータシフト回路に関する
ものである。
従来の技術 従来ディジタルデータをシフトあるいは回転するために
は、被シフトデータのビット数だけフリップフロップを
直列に接続し、1回のシフトパルスにつき1ビツトずつ
シフトあるいは回転を行なうシフトレジスタ方式が採用
されている(例えば、情報処理学会編「新版情報処理ハ
ンドブック」昭和56年3月30日、オーム社、P76
3など)0また左右両方向へのシフトあるいは回転を可
能とするためには、各ビットに対応するフリップフロッ
プ毎にセレクタを設けたシ、左方向、右方向各々に対し
てシフトレジスタを設けどちらか一方の出力を選択する
などの方法が採られている。
発明が解決しようとする問題点 しかしながら上記のような方式では、データを複数ビッ
トシフトあるいは回転する場合にはシフト量に比例した
処理時間が必要となシ、シフト量の大きい場合には処理
時間が長くなるという欠点がある。更に、左右両方向へ
のシフトあるいは回転を行なうためにハードウェアが複
雑や冗長となり回路の集積化に不利である。
本発明はかかる点に鑑み、種々のシフト演算をシフト量
に依存しない一定の処理時間で実行でき、ハードウェア
の冗長性がなく左右両方向にシフト演算を行なえるデー
タシフト回路を提供することを目的とする。
問題点を解決するための手段 本発明は上記問題点を解決するために、与えられたシフ
トデータの最上位ビットを除くデータかあるいは被シフ
トデータの最上位ビットデータかあるいは即値″o″を
選択出力するだめの(n−1)ビットの第1のセレクタ
群と、最下位ビットを除く被シフトデータあるいは即値
″0”を選択出力するための(n−1)ビットの第2の
セレクタ群と、シフト量指示信号及びシフト方向指示信
号に従って後記のバレルシ7りへの制御信号を生成する
デコーダと、(2n−2)ビットの入力データの連続す
るnビットのデータを前記デコーダの出力する制御信号
に従って選択するためのバレルシフタと、このバレルシ
フタの出力の最上位ビットデータと被シフトデータの最
上位ビットデータを選択出力するためのセレクタと、シ
フト方向指示信号及びシフト演算モード指示信号に従っ
て前記のセレクタ群における選択制御信号を生成するた
めの制御回路を備えたデータシフト回路である。
作用 本発明は上記の構成により、第1及び第2のセレクタ群
によりシフト演算のモード及びシフト方向に応じて、シ
フト演算の結果生じるあきビットへの埋め込みデータを
選択的に生成し、この埋め込ミテータと被シフトデータ
をバレルシフタニ入力し、指示されたシフト量に応じた
ビット位置から連続するnビットを選択出力し、バレル
シ7り出力データの最上位ビットデータに対して第3の
セレクタにより補正を加えることにより、最終的なシフ
ト演算結果を、シフト演算の方向、モード。
シフト量に関係なく一定の処理時間で生成するものであ
る。
実施例 第1図は本発明のデータシフト回路の一実施例を示すブ
ロック図である。
1はシフト演算の対象となる長さnビットの入力データ
、3は最上位ビットを除く被シフトデータ1あるいは被
シフトデータ最上位ビットデータ2あるいは即値データ
10#5から1つのデータを選択制御信号16に従って
出力する(n−1)個のセレクタから成るセレクタ群、
4は最下位ビットを除く被シフトデータ1かあるいは即
値データ″0″6を選択制御信号16に従って出力する
(n−1)個のセレクタから成るセレクタ群、6はセレ
クタ群3の出力19の最下位ビット側にセレクタ群4の
出力20を連結した(2n−2)ビットのデータからバ
レルシフタ制御信号22に従ったビット位置から連続す
るnピットのデータを選択出力するバレルシフタ、21
はシフト方向制御信号8及びシフト量指示信号18から
パレシフタ制御信号22を生成するデコーダ、7はバレ
ルシフタ出力最上位ビットデータ13あるいは被シフト
データ最上位ビットデータ2を選択制御信号17に従っ
て出力するセレクタ、14は最終的なシフト演算結果、
12はシフト方向指示信号8及びシフトモード指示信号
9,10.11に従って選択制御信号15,16.17
を生成する制御回路である。シフト方向指示信号は論理
″1′で右方向シフトを、論理″01で左方向シフトを
表わすものとする。シフトモード指示信号9,10゜1
1は各々論理′″11のとき論理シフト演算、算術シフ
ト演算2圓転シフト演算であることを示し、2つ以上の
シフトモード指示信号が同時に論理″1″となることは
ないものとする。
以上のように構成された本実施例のデータシフト回路に
ついて以下にその動作を説明する。
まず最初に本発明のデータシフト回路が行なう3種のシ
フト演算について説明する。
論理シフト演算とは右あるいは左へ指示されたシフト量
だけ入力データをシフトし、最下位ビット(右シフトの
場合)あるいは最上位ビット(左シフトの場合)からあ
ふれたビットは捨てられ、あらたkあいた部分にao1
が埋め込まれる演算とする。
算術シフト演算とは最上位ビットを符号ビットと見なし
てシフトにおいて固定とし、最上位ビットを除く入力デ
ータを右あるいは左へ指示されたシフト量だけシフトし
、最下位ビット(右シフトの場合)あるいは最上位ビッ
トの次位ビット(左シフトの場合)からあふれたビット
は捨てられ、右シフトの場合は、あらたにあいた部分に
符号ビットと同じデータが埋めこまれ、左シフトの場合
は、@0”が埋め込まれる演算とする。
回転シフト演算とは右あるいは左へ指示されたシフト量
だけ入力データをシフトし、最下位ビット(右シフトの
場合)あるいは最上位ビット(左シフトの場合)からあ
ふれたビットがあらたにあいた部分にあふれた順に埋め
込まれる演算とする。
nビットの被シフトデータをA ” (a□ 、 a 
1 、・・・。
−n 、)(但し添字が小さいほど上位のビットを示す
)とし、シフト量をm(1<:m<、n−1)とすると
、前記のシフト演算結果A′は以下のように表わされる
右論理シフト演算 A’=(0,0,・、O、ao、al、・、 anm−
1)左論理シフト演算 A’=(a−、a!!&+1.−・−、an、 、O,
−、O、O)右算術シフト演算 ”” (”Oj ”OP ”” # ”Op ”OP 
”1 m ”” e ”n−m−1)左算術シフト演算 ”=(”Oe”m+1 ’ ”m+2’ ”” ”n 
110”” ” )右回転シフト演算 ” ” (” n−m s ” n−m−1−1”・’
# ”n −1”O’a1 p ””−n−m−1) 左回転シフト演算 ”” (”m’ ”m+1 # ”°9  ”n−1t
”Qt”1 # ”” e”m−1) 以上のシフト演算を一般化すると、右シフト演算は被シ
フトデータAの最上位ビット側に、シフトのためにあく
部分に埋め込まれるべきデータ(長さnビット)を連結
した2nビツトのデータの第(n−m)ビット目から連
続したnピ歩トのデータを選択することと等しい。第2
図に右論理シフト演算の場合を示す。1o1は埋め込み
データであり、本例の場合は全ビット@o”である01
02は被シフトデータ、103はシフト演算結果を示す
。同様に右算術シフト演算の場合の埋め込みデータは全
ビットが被シフトデータの最上位ビット(即ち符号ビッ
ト)に等しい値を持つデータであり、右回転シフト演算
の場合の埋め込みデータは被シフトデータ自身である。
一方、左シフト演算は被シフトデータAの最下位ビット
側に、シフトのためにあく部分に埋め込まれるべきデー
タ(長さnビット)を連結した2nビツトのデータの第
mビット目から連続したnビットのデータを選択するこ
とと等しい。第3図に左回転シフト演算の場合を示す。
201は被シフトデータ、202は埋め込みデータであ
り本例の場合は被シフトデータに等しい。2o3はシフ
ト演算結果を示す。同様に左論理シフト演算の場合の埋
め込みデータは全ビット@0”であり、左算術シフト演
算の場合の埋め込みデータもまた全ビット″ojである
従って上記の各シフト演算は長さ2nビツトのデータか
ら指定されたビット位置から連続するnビットを選択出
力子る゛という機能を有するバレルシフタを用いて行な
えることがわかる。第4図にMOSFETを用いた良く
知られているバレルシフタの例を示す。第4図の例は8
ピツトの入力デ−夕から4ピツトの出力を選択するバレ
ルシフタである。3o1は入力データ、302は出力デ
ータ、303は制御信号である。制御信号303は同時
に2本以上が1”となることはない。例えば制御信号s
2が1″となったとき、出力データ302は02. C
3+ C4,Csに等しくなる。
なお本発明の実施例では、nビットデータに対してシフ
ト量が0のシフト演算やシフト量がn以上のシフト演算
は意味をもたないと考えシフト量mを1<;:m<;:
n−1の範囲に限定する。従って前記の被シフトデータ
と埋め込みデータを連結した2nビツトのデータのうち
、左側に連結されるデータの最上位ビット及び右側に連
結されるデータの最下位ビットは選択されることがない
。故にバレルシフタの入力データ長は(2n−2)ビッ
トあれば良い。
次に第1図に従って本発明の実施例の動作を以下に説明
する。
被シフトデータ1はセレクタ群3及びセレクタ群4に入
力される。セレクタ群3ではバレルシ7り6への(2n
−2)ビットの入力データのうちの左側(n−1)ビッ
ト分が選択される。上記のように右シフト演算の場合に
は埋め込みデータが選ばれ、左シフト演算の場合には被
シフトデータが選ばれる。セレクタ群3を構成する個々
のセレクタをSAI (i=1 、2 、+++、 n
  1 ) 、被シフトデータ1をai(L=0,1−
、 n −1)とすると、シフト方向及びシフト演算モ
ードとSAiにおいて選択されるデータの関係は第6図
のようになる。シフト方向指示信号8をRIと表わし、
RIが論理″11のとき右シフトを、論理″0″のとき
左シフトを表わすものとする。またシフトモード信号9
.10.11を各々1.OG、ARI、ROTと表わし
、各々論理@ I J+のとき論理シフト演算、算術シ
フト演算2囲転シフト演算を表わすものとする。このと
きSA1の出力は次の論理式で表現できる。
RI 、Lα2+10+RI 5ARI *aO+RI
 5fLOT*a、1−RI aa。
・・・・・・(1) 式(1)を実現するセレクタの一例を第6図aに示す。
401は被シフトデータ、402は即値@ OII。
403は被シフトデータ最上位ビットデータ、404は
選択制御信号、405は選択出力であり、各々第1図の
1.5,2,15,19に相当する。
第6図aの例は第6図すのように簡単化してもよい。ま
た式(1)はトライステートゲートなどの他の論理素子
を用いても実現できることは言うまでもない。
・同様にセレクタ群4ではバレルシフタ6への(2n−
2)ビットの入力データのうちの右側(n−1)ビット
分が選択される0上記のように右シフト演算の場合には
被シフトデータが選ばれ、左シフト演算の場合には埋め
込みデータが選ばれる。セレクタ群4を構成する個々の
セレクタを5B1(1==o t 1 、”・、 n 
 2 )とすると、シフト方向及びシフト演算モードと
SB、において選択されるデータの関係は第7図のよう
になる。上記と同様にSB、の出力は次の論理式で表現
できる。
・・・・・・(2) 式(2)を実現するセレクタの一例を第8図aに示す。
501は被シフトデータ、502は即値lIO”。
503は選択制御信号、504は選択出力であシ、各々
第1図の1.5,16.20に相当する。第8図aの例
は第8図すのように簡単化してもよい。
セレクタ群3及びセレクタ群4で選択された出力19 
、20はセレクタ群出力19を左側に、セレクタ群出力
2oを右側に、互いに連結した(2n−2)ビットのデ
ータとしてバレルシフタ6に入力される。バレルシフタ
6は前記第4図で示した例のように構成され、入力デー
タ長が(2n−2)ビット、出力データ長がnビット、
制御信号が(n−1)本となる。入力データをci(i
=1゜・・・、2n−2)、出力データを’J(j=1
t・・・。
n)、制御信号を5i(t=1.・・・、n−1)とす
ると、8iが論理″1”のときC1から始まるnビット
のデータ(’i” i+110’ P ’i+n −1
)がblからbnに選択出力される。バレルシフタ6の
制御信号22はデコーダ21において、シフト方向指示
信号8とシフト量指示信号18に従って生成される。シ
フト方向とシフト量とそのとき論理″11となる制御信
号の関係を第9図に示す。
バレルシフタ6で選択されたnビットの出力す。
は、左算術シフト演算の場合を除いて最終的なシフト演
算結果14に等しい。しかし、左算術シフト演算の場合
にはバレルシフタ6の出力の最上位ビットデータb1は
被シフトデータ最上位ビットデータ(即ち符号ビット)
2に等しくない。従ってセレクタ7において補正を行な
う。セレクタ7の出力は次の論理式で表現できる。
式(3)を実現するセレクタの一例を第10図に示す。
601は被シフトデータ最上位ビットデータ、602は
バレルシフタ出力最上位ビットデータ、603は選択制
御信号であシ第1図の17に相当する。604は選択出
力であり、この出力とバレルシフタ6の出力の最上位ビ
ットを除<(n−1)ビットを合わせたものが最終的な
シフト演算結果14となる。
制御回路12は各セレクタ群に対する選択制御信号を生
成する回路である。セレクタ群3として上記第6図すの
例を、セレクタ群4として上記第8図すの例を、セレク
タ7として上記第10図の例を採用した場合の制御回路
12の一例を第11図に示す0701はシフト方向指示
信号、702はシフトモード信号である。703.70
4 。
705は選択制御信号で、各々第1図の16゜17.1
6に相当する。
発明の効果 以上のように、本発明によれば、ディジタルデータの左
右両方向の論理シフト演算、算術シフト演算1回転シフ
ト演算をシフト量によらず同一の処理時間で実行でき、
かつ従来のシフトレジスタ方式のデータシフト回路に比
してシフト量が大きい場合に特に有効である。また、セ
レクタ部やバレルシフタ部は回路が規則的でありLSI
化に有利である。
【図面の簡単な説明】
第1図は本発明の一実施例におけるデータシフト回路の
ブロック図、第2図、第3図は本発明で用いるシフト方
式の例を示す説明図、第4図は本発明の構成要素である
バレルシフタの例を示す回路図、第6図及び第7図は本
発明の構成要素であるセレクタによる論理関係を示す関
係図、第6図及び第8図は各々第5図及び第7図に示す
セレクタを示す回路図、第9図は本発明の構成要素であ
るデコーダによる論理関係を示す関係図、第10図は第
9図に示すセレクタを示す回路図、第11図は上記の各
セレクタを制御する制御回路の例を示す回路図である。 1・・・・・・被シフトデータ、3,4・・・・・・セ
レクタ群、6・・・・・・バレルシフタ、7・・・・・
・セレクタ、8,9〜11.18・・・・・・シフト演
算の種類を指示する各種信号、12・・・・・・セレク
タ制御回路、14・・・・・・シフト演算結果、21・
・・・・・デコーダ。 代理人の氏名 弁理士 中 尾 敏 男 ほか1名第5
図 第7図 第 81!! (a) 第9図 第10図 第11図′

Claims (1)

    【特許請求の範囲】
  1. 与えられたnビットの被シフトデータの最上位ビットを
    除くデータまたは前記被シフトデータの最上位ビットデ
    ータ、または即値“O”を選択出力する(n−1)ビッ
    トの第1のセレクタ群と、前記被シフトデータの最下位
    ビットを除くデータ、または即値“O”を選択出力する
    (n−1)ビットの第2のセレクタ群と、シフト量指示
    信号及びシフト方向指示信号に従って制御信号を生成す
    るデコーダと、前記第1のセレクタ群の出力の最下位ビ
    ット側に前記第2のセレクタ群の出力を連結した(2n
    −2)ビットのデータを入力データとし、前記デコーダ
    の生成する制御信号に従って前記入力データから連続す
    るnビットのデータを選択出力するバレルシフタと、前
    記バレルシフタの出力の最上位ビットデータ、または前
    記被シフトデータの最上位ビットデータを選択出力する
    第3のセレクタと、前記シフト方向指示信号及びシフト
    演算モード指示信号に従って前記第1、第2、第3のセ
    レクタ群へ供給する選択制御信号を生成する制御回路と
    を具備したことを特徴とするデータシフト回路。
JP60075607A 1985-04-10 1985-04-10 デ−タシフト回路 Pending JPS61234428A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60075607A JPS61234428A (ja) 1985-04-10 1985-04-10 デ−タシフト回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60075607A JPS61234428A (ja) 1985-04-10 1985-04-10 デ−タシフト回路

Publications (1)

Publication Number Publication Date
JPS61234428A true JPS61234428A (ja) 1986-10-18

Family

ID=13581064

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60075607A Pending JPS61234428A (ja) 1985-04-10 1985-04-10 デ−タシフト回路

Country Status (1)

Country Link
JP (1) JPS61234428A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63121922A (ja) * 1986-11-12 1988-05-26 Hitachi Ltd バレルシフト回路

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS52132644A (en) * 1976-02-20 1977-11-07 Intel Corp Method of processing plural digital signals at a time and digital logical circuit for processing digital signals
JPS58184649A (ja) * 1982-04-22 1983-10-28 Toshiba Corp シフト回路
JPS59195741A (ja) * 1983-04-22 1984-11-06 Nec Corp シフタ回路

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS52132644A (en) * 1976-02-20 1977-11-07 Intel Corp Method of processing plural digital signals at a time and digital logical circuit for processing digital signals
JPS58184649A (ja) * 1982-04-22 1983-10-28 Toshiba Corp シフト回路
JPS59195741A (ja) * 1983-04-22 1984-11-06 Nec Corp シフタ回路

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63121922A (ja) * 1986-11-12 1988-05-26 Hitachi Ltd バレルシフト回路

Similar Documents

Publication Publication Date Title
US3961750A (en) Expandable parallel binary shifter/rotator
JPS628817B2 (ja)
US4829460A (en) Barrel shifter
US4807172A (en) Variable shift-count bidirectional shift control circuit
JPH05134848A (ja) 中央処理装置のデータシフト回路
US5309382A (en) Binary shifter
US4149263A (en) Programmable multi-bit shifter
US4760517A (en) Thirty-two bit, bit slice processor
US6715066B1 (en) System and method for arranging bits of a data word in accordance with a mask
US6877019B2 (en) Barrel shifter
JPH0421025A (ja) 左右シフタ
US5129066A (en) Bit mask generator circuit using multiple logic units for generating a bit mask sequence
US4130880A (en) Data storage system for addressing data stored in adjacent word locations
JPH05191291A (ja) マルチプレクサ
JPS6120890B2 (ja)
GB2042228A (en) Data correcting system
JPS61234428A (ja) デ−タシフト回路
US5991786A (en) Circuit and method for shifting or rotating operands of multiple size
JPH0697431B2 (ja) バレルシフタ
US4291407A (en) Parity prediction circuitry for a multifunction register
EP0350966B1 (en) Barrel shifter
JP5253406B2 (ja) デジタル電子バイナリ回転器及び反転器
JP2503017B2 (ja) バレルシフタ回路
JPH0721011A (ja) Mosシフト回路装置
JPS59180732A (ja) デ−タ処理装置