JP3455828B2 - ビットシフト回路 - Google Patents

ビットシフト回路

Info

Publication number
JP3455828B2
JP3455828B2 JP31501595A JP31501595A JP3455828B2 JP 3455828 B2 JP3455828 B2 JP 3455828B2 JP 31501595 A JP31501595 A JP 31501595A JP 31501595 A JP31501595 A JP 31501595A JP 3455828 B2 JP3455828 B2 JP 3455828B2
Authority
JP
Japan
Prior art keywords
data
bit
bit shift
shift circuit
input
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.)
Expired - Fee Related
Application number
JP31501595A
Other languages
English (en)
Other versions
JPH09160754A (ja
Inventor
邦彦 土肥
Original Assignee
日本電気エンジニアリング株式会社
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 日本電気エンジニアリング株式会社 filed Critical 日本電気エンジニアリング株式会社
Priority to JP31501595A priority Critical patent/JP3455828B2/ja
Publication of JPH09160754A publication Critical patent/JPH09160754A/ja
Application granted granted Critical
Publication of JP3455828B2 publication Critical patent/JP3455828B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はCPU周辺回路とし
て使用されるビットシフト回路に関する。
【0002】
【従来の技術】図5に従来のビットシフト回路を示す。
このビットシフト回路は特開昭61−276022号公
報(以下、先行技術1と呼ぶ)に開示されているもの
で、ROMからの指示信号によるビットシフト方向およ
びシフト量に応じて、データをセレクタから並列に出力
することで、データ伝搬時間を大幅に短縮している。
【0003】図5に示す従来のビットシフト回路50
は、第1乃至第4のセレクタ51,52,53,54
と、第1乃至第4のROM56,57,58,59とを
有する。第1乃至第4のセレクタ51〜54の各々は、
5入力1出力のセレクタで、3ビットのセレクト信号が
入力される。第1乃至第4のROM56〜59の各々
は、アドレス入力3ビット、データ出力3ビット以上の
ROMである。第1乃至第4のROM56〜59は、そ
れぞれ、第1乃至第4のセレクタ51〜54の選択入力
端子に接続されている。また、D1〜D4はこのビット
シフト回路50に入力される入力データ、B1〜B4は
このビットシフト回路50から出力される出力データ、
A1〜A3は入力データD1〜D4をどれだけシフトさ
せて出力するかを示すデータ(シフト量)、S1〜S4
は、それぞれ、第1乃至第4のセレクタ51〜54用の
第1乃至第4のセレクト信号を示している。
【0004】このビットシフト回路50は、入力データ
D1〜D4をシフト量A1〜A3に応じてシフトし、出
力データB1〜B4を出力するものである。
【0005】次に、図6をも参照して、図5に示すビッ
トシフト回路50の動作について説明する。ビットシフ
ト回路50はシフト量A1〜A3の値によって、±3ビ
ットまでのシフトが可能である。シフト量A1〜A3を
アドレス入力とする第1乃至第4のROM56〜59に
は、それぞれ、指定されたシフト量によって出力データ
B4〜B1として出力すべきデータ(D1〜D4または
“0”)を第1乃至第4のセレクタ51〜54が正しく
選択するように、第1乃至第4のセレクト信号S1〜S
4が書き込まれている。
【0006】よって、シフト量A1〜A3に応じて第1
乃至第4のセレクト信号S1〜S4が決まり、入力デー
タD1〜D4または“0”の内から適当なものが第1乃
至第4のセレクタ51〜54によって選択され、出力デ
ータB4〜B1が出力される。
【0007】即ち、第1乃至第4のROM56〜59か
らの指示信号(第1乃至第4のセレクト信号S1〜S
4)によるビットシフト方向およびシフト量に応じて、
出力データB4〜B1を第1乃至第4のセレクタ51〜
54から並列に出力することで、データ伝搬時間を大幅
に短縮している。
【0008】尚、本発明に関連する他の先行技術として
次のものが知られている。例えば、特開平4−1882
7号公報(以下、先行技術2と呼ぶ)には、低速のパラ
レルデータに対するビットシフト動作を行うことで、E
CL等の高速素子を必要としない「ビットシフト回路」
が開示されている。また、特開平1−99123号公報
(以下、先行技術3と呼ぶ)には、選択制御信号にした
がって入力データ内の1つを選択出力する複数のセレク
タを備えることで、遅延時間の短縮を図る「ビットシフ
ト回路」が開示されている。
【0009】
【発明が解決しようとする課題】図5及び図6に示した
先行技術1および先行技術3では、入力データのビット
幅の数だけ、セレクタ、ROMが必要になり、回路規模
が大きくなる。また、この構成を取る限り、ROMから
出力されるセレクト信号は、各ビットに対して全て異な
るため、回路の共通化ができない。
【0010】一方、先行技術2では、ビットシフト動作
を行うための多数のフリップフロップが必要になり、回
路規模が大きくなる。
【0011】本発明の課題は、上記の問題を解決し、回
路規模を縮小できるビットシフト回路を提供することに
ある。
【0012】
【課題を解決するための手段】上記の課題を解決するた
めに、本発明によるビットシフト回路は、N(Nは2以
上の整数)ビットの入力データをM((log 2 N)+1
≦M<(log 2 N)+2を満たす整数)ビットのシフト
量に従ってシフトし、Nビットの出力データを出力する
ビットシフト回路において、入力データが供給される第
1乃至第Nのセレクタを有し、第1乃至第Nのセレクタ
の各々は2N個のデータ入力端と、1個のデータ出力端
と、シフト量が共通に供給される選択入力端とをもち、
第1乃至第Nのセレクタの各々において、2N個のデー
タ入力端中の選択されたN個のデータ入力端には入力デ
ータが供給され、残りのN個のデータ入力端は接地され
ている。
【0013】
【作用】本発明では、セレクタのみによってビットシフ
ト回路が構成されているので、回路規模を縮小できる。
【0014】
【発明の実施の形態】以下、図面を参照して本発明の実
施形態について詳細に説明する。
【0015】図1を参照すると、本発明の一実施形態に
係るビットシフト回路10は、最下位ビットLSBから
最上位ビットMSBまでの第1乃至第4ビットD1〜D
4からなる4ビットの入力データを3ビットのシフト量
A1〜A3に従ってシフトし、最下位ビットLSBから
最上位ビットMSBまでの第1乃至第4ビットB1〜B
4からなる4ビットの出力データを出力する回路であ
る。
【0016】一般に、入力データのビット数がN(Nは
2以上の整数)の場合、上記シフト量のビット数Mは、
(log 2 N)+1≦M<(log 2 N)+2を満たす整数
である。
【0017】本実施形態において、ビットシフト回路1
0は、第1乃至第4のセレクタ11,12,13,14
から成る。第1乃至第4のセレクタ11〜14の各々
は、8個のデータ入力端(図において、それぞれ、符号
0〜7で示す第0乃至第7のデータ入力端)と1個のデ
ータ出力端とをもち、選択入力端には共通にシフト量A
1〜A3がセレクト信号として供給される。第1乃至第
4のセレクタ11〜14の各々はセレクト信号に応答し
て第0乃至第7のデータ入力端0〜7から1つを選択
し、データ出力端から出力する。
【0018】すなわち、図示のビットシフト回路10
は、入力データD1〜D4をシフト量A1〜A3に従っ
てシフトした出力データB1〜B4を出力する。
【0019】第1のセレクタ11において、第0のデー
タ入力端0に入力データの第1ビットD1が供給され、
第7,第6,および第5のデータ入力端7,6,および
5にそれぞれ入力データの第2乃至第4ビットD2〜D
4が供給されており、残りの第1乃至第4のデータ入力
端1〜4が接地され、すなわち、論理“0“レベルの信
号が供給されている。第2のセレクタ12において、第
1及び第0のデータ入力端1及び0にそれぞれ入力デー
タの第1及び第2ビットD1及びD2が供給され、第7
及び第6のデータ入力端7及び6にそれぞれ入力データ
の第3及び第4ビットD3及びD4が供給されており、
残りの第2乃至第5のデータ入力端2〜5が接地されて
いる。第3のセレクタ13において、第2,第1,及び
第0のデータ入力端2,1,0にそれぞれ入力データの
第1乃至第3ビットD1乃至D3が供給され、第7のデ
ータ入力端7に入力データの第4ビットD4が供給され
ており、残りの第3乃至第6の入力端3〜6が接地され
ている。第4のセレクタ14において、第3,第2,第
1,及び第0のデータ入力端3〜0にそれぞれ入力デー
タの第1乃至第4ビットD1乃至D4が供給され、残り
の第4乃至第7のデータ入力端4〜7が接地されてい
る。
【0020】一般に、入力データが最下位ビットLSB
から最上位ビットMSBまでの第1乃至第NのビットD
1〜DNで表され、第1乃至第Nのセレクタの各々が第
0乃至第(2N−1)のデータ入力端をもつとき、入力
データの第i(1≦i≦N)ビットDiは、第n(1≦
n≦N)のセレクタの第j(j=n−i(mod 2
N))のデータ入力端に供給される。ここで、j=n−
i(mod 2N)は、jとn−iが2Nを法として合
同であることを表す。例えば、本実施形態のように、N
が4の場合において、i=2で、n=1では、n−iは
−1なので、jは7である。
【0021】図2は図1に示したビットシフト回路10
のシフト量A1〜A3と入出力データの関係を示す真理
値表である。図2に示した真理値表は、シフト量毎にそ
れぞれのセレクタの出力として、どの入力データのビッ
トを選択すれば良いかを示している。この真理値表に従
って、セレクタの入力を正しく選ぶことによって、セレ
クタのみでビットシフト回路10を構成しており、これ
が本発明の特徴としているところである。
【0022】図5に示す従来技術と比較して、図1に示
すビットシフト回路10は、ROMを削除した為に、回
路規模を縮小できる。また、ROMの遅延時間が削除さ
れ、より高速なビットシフト回路となっている。
【0023】また、図1に示すビットシフト回路10を
CPUとRAMとの間に挿入し、シフト量をビットシフ
ト回路10に入力することにより、データを読み出すだ
けで、高速なビットシフト演算が可能になる。このよう
なシステムとしては、例えば、通信パケットの組立な
ど、高速なビット操作が必要なもの、ディジタル信号処
理等で、多量のデータに対してビットシフト演算を高速
に行う必要があるもの、通信フォーマットの変換等で、
高速にビット操作が必要なもの、監視装置等で、多量の
データ処理を高速に一括処理する必要あるものが挙げら
れる。
【0024】図3に本発明に係るビットシフト回路10
を含むシステムの構成を示す。図示のシステムは、ビッ
トシフト回路10と、RAM22と、ビットシフト回路
10を制御するコントロールレジスタ23と、CPU2
4と、CPU24のデータバス25と、ビットシフト回
路10とRAM22との間のローカルバス26と、デー
タバス25上のデータをローカルバス26に出力するた
めの出力バッファ27と、ビットシフト回路10の出力
をデータバス25上に出力するための出力バッファ28
とを有する。ビットシフト回路10と出力バッファ27
および28とによってビットシフトユニット30が構成
される。
【0025】以下に、図3に示したシステムの動作につ
いてデータの流れに沿って説明する。CPU24により
RAM22からデータを読み出し、mビットシフト演算
を行う場合の例について説明する。
【0026】まず、CPU24によりコントロールレジ
スタ23に対してデータバス25を介して図2の真理値
表に従ってシフト量mを設定する(書き込む)。次に、
CPU24はRAM22に対して読み出しを行う。RA
M22から出力されたデータはローカルバス26を介し
てビットシフト回路10に入力される。この入力された
データは、ビットシフト回路10によってコントロール
レジスタ23からの制御信号(セレクト信号)に従って
mビットシフトされ、出力バッファ28、データバス2
5を介してCPU24に取り込まれる。
【0027】ビットシフト回路10は、コントロールレ
ジスタ23に設定したシフト量に応じて遅延無く入力デ
ータをシフトして出力する。
【0028】このような構成をとることによって、従来
のようにシフトレジスタを構成してシフトクロックによ
りシフトを実現するのでなく、セレクタのみによって実
現しているので、ビットシフト演算をコントロールレ
ジスタ23への設定、RAM22の読み出しによって
実現できる。
【0029】次に、図1に示したビットシフト回路を拡
張する方法について説明する。CPU24のデータバス
25およびローカルバス26が8ビット幅であるとす
る。この場合、ビットシフト回路は8個のセレクタで構
成され、その各々は16個のデータ入力端と1個のデー
タ出力端とをもち、コントロールレジスタ23からの制
御信号(4ビットの2の補数表現に基づき図2を拡張し
たもの)A1〜A4により正しくシフトが行われるよう
に接続されなければならない。
【0030】図4は、そのように構成したビットシフト
回路におけるシフト量A1〜A4と入力データD1〜D
8、および出力データB1〜B8の関係を示す真理値表
である。このように拡張を行い、セレクタを入力データ
のビット数分用意して、図4に示す真理値表に従って接
続することにより、拡張できる。
【0031】
【実施例】次に、8086CPUを使用した場合を例に
より、従来の方法に対して、本発明による方法では、ど
の程度実行サイクル数が削減されたかを示す。 例1:基本動作 RAM上の1バイトのデータをmビットシフトする場
合。 従来方法 CLレジスタにmを書き込む ・・・13サイクル ALレジスタに被シフトデータを読み込む ・・・10サイクル シフト命令を行う ・・・8+4mサイクル 合計・・・31+4mサイクル。 本発明による方法 レジスタ23にmを書き込む ・・・14サイクル ALレジスタにデータを読み込む(シフト済)・・・10サイクル 合計・・・24サイクル。
【0032】以上より、本発明による方法の方が従来方
法よりも実行サイクルにして7+4mサイクル削減され
る。 例2:具体的な動作 RAM上の100バイトのデータを4ビットシフトして
書き戻す場合。 従来の方法 CLレジスタに4を書き込む ・・・13サイクル ALレジスタに被シフトデータを読み込む ・・・10サイクル シフト命令を行う ・・・20サイクル ALレジスタの値をRAMに書き込む ・・・10サイクル 〜を99回繰り返す ・・・3960サイクル 合計・・・4013サイクル。 本発明による方法 (読み込む時と、書き込む時に2ビットづつシフトする) レジスタ23に2を書き込む ・・・14サイクル ALレジスタにデータを読み込む (2ビットシフト済) ・・・10サイクル ALレジスタのデータをRAMに書き込む (さらに2ビットシフト) ・・・10サイクル 〜を99回繰り返す ・・・1980サイクル 合計・・・2014サイクル。
【0033】以上より、本発明による方法の方が従来方
法よりも実行サイクルにして1946サイクル削減され
る。
【0034】
【発明の効果】以上のように本発明によれば、セレクタ
のみによってビットシフト回路を構成したので、回路規
模を縮小することができる。また、本発明に係るビット
シフト回路を通常のメモリ(RAM)とCPUとの間に
挿入することにより、ビットシフト演算を高速化し、プ
ログラムの実行サイクル数を減少できる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るビットシフト回路を
示すブロック図である。
【図2】図1に示したビットシフト回路のシフト量と入
出力データの関係を示す真理値表である。
【図3】図1に示したビットシフト回路をRAMとCP
Uとの間に挿入したシステムを示すブロック図である。
【図4】図2に示す真理値表を8ビット入出力データに
拡張した真理値表である。
【図5】従来のビットシフト回路を示すブロック図であ
る。
【図6】図5に示す従来のビットシフト回路のシフト量
とROMの入出力との関係を示す図である。
【符号の説明】
10 ビットシフト回路 11 セレクタ D1〜D4 入力データ A1〜A3 シフト量 B1〜B4 出力データ

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 N(Nは2以上の整数)ビットの入力デ
    ータをM((log 2N)+1≦M<(log 2 N)+2を
    満たす整数)ビットのシフト量に従ってシフトし、Nビ
    ットの出力データを出力するビットシフト回路におい
    て、 前記入力データが供給される第1乃至第Nのセレクタを
    有し、該第1乃至第Nのセレクタの各々は2N個のデー
    タ入力端と、1個のデータ出力端と、前記シフト量が共
    通に供給される選択入力端とをもち、前記第1乃至第N
    のセレクタの各々において、前記2N個のデータ入力端
    中の選択されたN個のデータ入力端には前記入力データ
    が供給され、残りのN個のデータ入力端は接地されてい
    る、ビットシフト回路。
  2. 【請求項2】 前記シフト量は2の補数表現されてい
    る、請求項1記載のビットシフト回路。
  3. 【請求項3】 前記入力データは最下位ビット(LS
    B)から最上位ビット(MSB)までの第1乃至第Nの
    ビットD1〜DNで表され、前記第1乃至第Nのセレク
    タの各々は前記2N個のデータ入力端として第0乃至第
    (2N−1)のデータ入力端をもち、 前記入力データの第i(1≦i≦N)ビットDiは、第
    n(1≦n≦N)のセレクタの第j(j=n−i(mo
    d 2N))のデータ入力端に供給される、請求項2記
    載のビットシフト回路。
  4. 【請求項4】 請求項1乃至3のいずれか1つに記載の
    ビットシフト回路がRAMとCPUとの間に挿入された
    システム。
JP31501595A 1995-12-04 1995-12-04 ビットシフト回路 Expired - Fee Related JP3455828B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31501595A JP3455828B2 (ja) 1995-12-04 1995-12-04 ビットシフト回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31501595A JP3455828B2 (ja) 1995-12-04 1995-12-04 ビットシフト回路

Publications (2)

Publication Number Publication Date
JPH09160754A JPH09160754A (ja) 1997-06-20
JP3455828B2 true JP3455828B2 (ja) 2003-10-14

Family

ID=18060403

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31501595A Expired - Fee Related JP3455828B2 (ja) 1995-12-04 1995-12-04 ビットシフト回路

Country Status (1)

Country Link
JP (1) JP3455828B2 (ja)

Also Published As

Publication number Publication date
JPH09160754A (ja) 1997-06-20

Similar Documents

Publication Publication Date Title
US4472788A (en) Shift circuit having a plurality of cascade-connected data selectors
US5130991A (en) Method and apparatus for crc computation
JPH0991197A (ja) データ転送制御装置
US6370667B1 (en) CRC operating calculating method and CRC operational calculation circuit
JP2549601B2 (ja) レジスタ制御回路
US5748555A (en) Memory address preview control circuit
US5355113A (en) Serialized difference flag circuit
JP3455828B2 (ja) ビットシフト回路
US5671238A (en) Method and circuitry for generating r-bit parallel CRC code for an l-bit data source
US5357236A (en) Parallelized difference flag logic
US8327108B2 (en) Slave and a master device, a system incorporating the devices, and a method of operating the slave device
US6311199B1 (en) Sign extension unit
US5499383A (en) DMA control device controlling sequential storage of data
US5937146A (en) Binarization processing apparatus and method
EP1324202A2 (en) Device and method for information processing
JPS5947394B2 (ja) 可変長二次元シストレジスタ
JP3452455B2 (ja) 演算処理装置
US5673216A (en) Process and system for adding or subtracting symbols in any base without converting to a common base
JPH10312356A (ja) データ転送装置
JP3277305B2 (ja) 可変インタリーブ回路
US4933894A (en) Circuit and method for adding binary numbers with a difference of one or less
JPH04326445A (ja) 制御レジスタ書き込み装置
JPS61140986A (ja) 文字回転装置
JP2003337694A (ja) シフト回路
JPH06332847A (ja) バス変換結合回路

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030610

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees