JPS62249228A - シフト装置 - Google Patents

シフト装置

Info

Publication number
JPS62249228A
JPS62249228A JP9428186A JP9428186A JPS62249228A JP S62249228 A JPS62249228 A JP S62249228A JP 9428186 A JP9428186 A JP 9428186A JP 9428186 A JP9428186 A JP 9428186A JP S62249228 A JPS62249228 A JP S62249228A
Authority
JP
Japan
Prior art keywords
data
shift
word
bits
register
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
JP9428186A
Other languages
English (en)
Inventor
Nobuko Ishimaru
石丸 暢子
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP9428186A priority Critical patent/JPS62249228A/ja
Publication of JPS62249228A publication Critical patent/JPS62249228A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はシフト装置に関し、特に任意ワード長のデータ
を左論理シフトするシフト装置のデータ処理速度の高速
化に関する。
〔従来の技術〕
従来、この種のシフト装置は、任意ワード長のデータを
N(正整数)ビットだけ左に論理シフトする場合には、
まず最下位のワードをNビット左論理シフトして出力デ
ータを第2レジスタに記憶し、同じ最下位のワードを(
1ワードピット数−N)ビット右論理シフトして出力デ
ータを第2レジスタに記憶する0次に、下位2ワード目
のデータをNビット左論理シフトして出力データを第3
レジスタに記憶し、第2レジスタの内容と第3レジスタ
の内容との論理和を算術論理演算装置によりとって第2
レジスタに記憶する。以下、同様にして、ある下位K(
正整数)ワード目のデータを(1ワードビット数−N)
ビット右論理シフトしたデータと下位(K+1)ワード
目のデータをNビット左論理シフトしたデータとを算術
論理演算装置で論理和をとり、その結果を第にレジスタ
に順次記憶していくことにより、任意ワード長のデータ
のNビット左論理シフトを行っていた。
〔発明が解決しようとする問題点〕
上述した従来のシフト装置は、同一の1ワードのデータ
に対してNビット左論理シフトと(1ワードビット数−
N)ビット右論理シフトとの2回のシフト動作を行わな
ければならず、また算術論理演算装置により論理和をと
らなければならないので、データ処理速度が遅いという
欠点がある。
本発明の目的は、上述の点に鑑み、同一の1ワードのデ
ータに対して1回のシフト動作を行えばすむようにする
ことにより、また算術論理演算装置を使用しなくてもす
むようにすることにより、データ処理速度を高速化した
シフト装置を提供することにある。
〔問題点を解決するための手段〕 本発明のシフト装置は、1ワード長の入力データを1ワ
ードのビット数より小さいシフト数だけ左論理シフトし
て2ワード長のデータを出力するシフト手段と、このシ
フト手段の出力データの上位1ワードを保持するレジス
タと、このレジスタの出力データを入力データとし0ま
たは前記入力データをそのまま出力するイネーブル手段
と、このイネーブル手段の出力データと前記シフト手段
の出力データの下位1ワードとの論理和をとる論理和手
段と、前記シフト手段の左論理シフト動作、前記レジス
タのデータ書込み動作および前記イネーブル手段のイネ
ーブル動作を制御する制御手段とを有する。
(実施例〕 次に、本発明について図面を参照して説明する。
第1図は本発明の一実施例を示すブロック図である1本
実施例のシフト装置は、例えば16ビ7)×8ワードの
レジスタファイル1と、16ビツトの入力データをシフ
ト数N(16未満の正整数)だけ左論理シフトして32
ビツトのデータを出力するシフト手段2と、このシフト
手段2の出力データの上位16ビツトを保持する16ビ
ツトのレジスタ3と、このレジスタ3の出力データを一
方の入力とじ制御回路6から送られてくるイネーブル信
号を他方の入力とする16個の2人カアンドゲート4と
、2人カアンドゲート4の出力データを一方の入力とし
シフト手段2の出力データの下位16ビツトを他方の入
力とする16個の2入力オアゲート5と、シフト手段2
にシフト数Nを送りレジスタ3に書込み制御信号を送り
2人カアンドゲート4にイネーブル信号を送る制御回路
6と、レジスタファイルlの出力データをシフト手段2
に送る16ビツトのデータバス10と、2入力オアゲー
ト5の出力データをレジスタファイル1に送る16ビツ
トのデータバス11とから構成されている。
なお、符号12はシフト手段2の上位16ビツトの出力
信号線を、13はレジスタ3の16ビツトの出力信号線
を、14は2人カアンドゲート4の16ビツトの出力信
号線を、15はシフト手段2の下位16ビツトの出力信
号線を、20はシフト手段3にシフト数Nを送る4ビツ
トの制御信号線を、21はレジスタ3に書込み制御信号
を送る1ビツトの制御信号線を、22は2人カアンドゲ
ート4にイネーブル信号を送る1ビツトの制御信号*2
2をそれぞれ示す。
第2図を参照すると、第1図中に示したシフト手段2は
、入力データを制御回路6から制御信号線20を介して
送られてくるシフト数Nビット分だけ左論理シフトして
、Oから(15−N)ビットまでが“0”、(16−N
)から(31−N)ビットまでが入力データ、(32−
N)から31ビツトまでが“θ″の32ビツトの出力デ
ータを出力する。
第3図を参照すると、本実施例のシフト装置における処
理は、データ入力ステップ101と、左論理シフトステ
ップ102と、結果出力ステップ103と、最下位ワー
ドデータ判別ステップ104と、イネーブル信号″0”
設定ステップ105と、イネーブル信号“1”設定ステ
ップ106と、論理積および論理和ステップ107と、
レジスタファイルおよびレジスタ書込みステップ10B
とからなる。
次に、このように構成された本実施例のシフト装置の動
作について説明する。
まず、レジスタファイル1には、あらかじめ3ワード長
のデータが記憶されているものとする。
なお、データの読み書きは、最下位ワードから行われる
レジスタファイルlからデータバス1oを介して最下位
ワードのデータがシフト手段2に送られてくると(ステ
ップ101)、このデータは制御回路6から制御信号線
20を介して送られてくるシフト数Nビット分だけシフ
ト手段2において左論理シフトされる(ステップ102
)、このシフト手段2でのシフト結果は、32ビツトの
出力データとして出力される(ステップ103)。
続いて、レジスタファイル1からシフト手段2に送られ
てきたデータが最下位ワードのデータであるかどうかが
判定され(ステップ104)、いまの場合は最下位ワー
ドのデータであるので、制御回路6からwtm信号&I
22を介して2人カアンドゲート4に送り出されるイネ
ーブル信号が“0”とされる(ステップ105)。
このイネーブル信号は、2人カアンドゲート4で出力信
号線13を介して送られてくるレジスタ3の内容との論
理積がとられるが、いまイネーブル48号が“0′とな
っているので、2人カアンドゲート4の出力データはオ
ール1o”となる(ステップ107)、この2人カアン
ドゲート4の出力データは、2入力オアゲート5でシフ
ト手段2の出力データの下位16ビツトとの論理和かと
られるが、いま2人カアンドゲート4の出力データはオ
ール°0”であるので、2入力オアゲート5からはシフ
ト手段2の出力データの下位16ビツトがそのまま出力
される(ステップ107)。
2入力オアゲート5の出力データは、シフト結果として
データバス11を介してレジスタファイル1に書き込ま
れる(ステップ108)、また、これと同時に、制?卸
回路6から制御信号線21を介して送られる書込み制御
信号がl°とされてレジスタ3に対する書込みが許可さ
れ、シフト手段2の出力データの上位16ビツトが出力
信号線12を介してレジスタ3に書き込まれる(ステッ
プ108)。
次に、レジスタファイル1からデータバス10を介して
最下位ワードの次の下位2ワード目のデータがシフト手
段2に送られ(ステップ101)、このデータは制御回
路6から制御信号線2oを介して送られてくるシフト数
Nビット分だけシフト手段2において左論理シフトされ
る(ステップ102)、このシフト手段2でのシフト結
果は、32ビツトの出力データとしてシフト手段2から
出力される(ステップ103)。
続いて、レジスタファイル1からシフト手段2に送られ
てきたデータが最下位ワードのデータであるかどうかが
判定され(ステップ1o4)、いまの場合は最下位ワー
ドのデータではないので、制御回路6から制御信号線2
2を介して2人カアンドゲート4に送り出されるイネー
ブル信号が“1”とされる(ステップ106)。
このイネーブル信号は、2人カアンドゲート4で出力信
号線13を介して送られてくるレジスタ3の内容との論
理積がとられる(ステップ107)、いま、レジスタ3
には最下位ワードのNビット左論理シフトされた結果デ
ータの上位16ビツトのデータが入っており、またイネ
ーブル信号が“1゛となっているので、イネーブル信号
とレジスタ3の出力データとの2人カアンドゲート4に
おける論理積は、最下位ワードのNビット左論理シフト
された結果データの上位16ビツトのデータとなる。
このデータは、2入力オアゲート5で出力信号線15を
介して送られてくる下位2ワード目のデータのシフト結
果の下位16ビツトと論理和され、2入力オアゲート5
からの出力データは0がら(15−N)ビットまでが下
位2ワード目のデータのNビット左論理シフトされた結
果データの下位16ビツトの上位から(16−N)ビッ
トとなり、(16−N)から15ビツトまでが最下位ワ
ードのデータのNビット左論理シフトされた結果データ
の上位16ビツトの下位からNビットとなる。
このような2入力オアゲート5の出力データは、シフト
結果としてデータバス11を介してレジスタファイルl
に書き込まれる(ステップ108)、また、これと同時
に、制御回路6から制御信号線21を介して送られる書
込み制御信号が“1”とされてレジスタ3に対する書込
みが許可され、シフト手段2の出力データの上位16ビ
ツトが出力信号″![!12を介してレジスタ3に書き
込まれる(ステップ108)。
ステップ101〜108の動作をさらに下位3ワード目
のデータに対しても行うことにより、すなわち全体でデ
ータのワード数回繰り返すことにより、3ワード長のデ
ータの全体的なシフト結果を得ることができる。
なお、上記実施例の動作の説明では、左論理シフトされ
るデータのワード長を3ワードとしたが、データのワー
ド長が2以下および4以上であっても同様に左論理シフ
トが行えることはいうまでもない。
また、シフト数Nが16、すなわちlワードのビット数
以上の場合には、はじめにシフト数Nを16で割った商
と同じワード数分だけオール“O”のデータをシフト結
果としてレジスタファイルlに書き込み、シフト数Nを
16で割った余りをあらたなシフト数としてステップ1
01−108の動作を(ワード数−商)の回数繰り返す
ことにより、16ビツト以上の左論理シフトを実現する
ことができる。
また、シフト手段2が右論理シフト機能のみをもつ場合
であっても、制御回路6でシフト数Nの2の補数を生成
し制御信号線20を介してシフト手段2に送ることによ
り左論理シフトを行わせることができるので、実施例の
場合と同様に任意ワード長のデータを左論理シフトする
ことができることは容易に類推可能である。
〔発明の効果〕
以上説明したように本発明は、1ワードのデータを左論
理シフトした結果の2ワードのデータの上位1ワードを
保持し次の上位ワードの左論理シフトした結果の2ワー
ドのデータの下位1ワードとの論理和をとることにより
、任意ワード長のデータを左論理シフトする場合に同一
のワードに対してシフト動作を2回行う必要がな(なり
、また1術論理演算装置を使用する必要がなくなり、デ
ータ処理速度を向上できる効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロック図、第2図は
第1図中に示したシフト手段の機能を説明するための図
、 第3図は第1図に示したシフト装置の動作を示す流れ図
である。 図において、 l・・・・・レジスタファイル、 2・・・・・シフト手段、 3・・・・・レジスタ、 4・・・・・2人カアンドゲート、 5・・・・・2入力オアゲート、 6・・・・・制御回路、 10、11・・・データバス、 12〜15・・・出力信号線、 20〜22・・・制御信号線である。

Claims (1)

  1. 【特許請求の範囲】 1ワード長の入力データを1ワードのビット数より小さ
    いシフト数だけ左論理シフトして2ワード長のデータを
    出力するシフト手段と、 このシフト手段の出力データの上位1ワードを保持する
    レジスタと、 このレジスタの出力データを入力データとし0または前
    記入力データをそのまま出力するイネーブル手段と、 このイネーブル手段の出力データと前記シフト手段の出
    力データの下位1ワードとの論理和をとる論理和手段と
    、 前記シフト手段の左論理シフト動作、前記レジスタのデ
    ータ書込み動作および前記イネーブル手段のイネーブル
    動作を制御する制御手段と、を有することを特徴とする
    シフト装置。
JP9428186A 1986-04-22 1986-04-22 シフト装置 Pending JPS62249228A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9428186A JPS62249228A (ja) 1986-04-22 1986-04-22 シフト装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9428186A JPS62249228A (ja) 1986-04-22 1986-04-22 シフト装置

Publications (1)

Publication Number Publication Date
JPS62249228A true JPS62249228A (ja) 1987-10-30

Family

ID=14105873

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9428186A Pending JPS62249228A (ja) 1986-04-22 1986-04-22 シフト装置

Country Status (1)

Country Link
JP (1) JPS62249228A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63225822A (ja) * 1986-08-11 1988-09-20 Toshiba Corp バレルシフタ
JPH07281870A (ja) * 1994-02-18 1995-10-27 Matsushita Electric Ind Co Ltd シフト演算装置及びシフト演算方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63225822A (ja) * 1986-08-11 1988-09-20 Toshiba Corp バレルシフタ
JPH0426731B2 (ja) * 1986-08-11 1992-05-08 Tokyo Shibaura Electric Co
JPH07281870A (ja) * 1994-02-18 1995-10-27 Matsushita Electric Ind Co Ltd シフト演算装置及びシフト演算方法

Similar Documents

Publication Publication Date Title
JPS6351287B2 (ja)
JPS6254359A (ja) コンピユ−タ装置
JPH0769782B2 (ja) マイクロプログラム可能な32ビットカスケード可能ビットスライス
US3997771A (en) Apparatus and method for performing an arithmetic operation and multibit shift
JPS6227412B2 (ja)
JPH03180933A (ja) スタックメモリ
JPH034936B2 (ja)
JPS62249228A (ja) シフト装置
JPS62249227A (ja) シフト装置
US6122651A (en) Method and apparatus for performing overshifted rotate through carry instructions by shifting in opposite directions
JPH01230125A (ja) レジスタの部分的更新機能を持つデータ処理装置
JP2615746B2 (ja) ビット操作回路
JPS62259134A (ja) シフト装置
JPH0831033B2 (ja) データ処理装置
JP2566009B2 (ja) データ処理装置
JPH01273132A (ja) マイクロプロセッサ
JPS59184943A (ja) 情報処理装置
JPS6231376B2 (ja)
SU1764058A1 (ru) Устройство дл обработки векторов
JP2503017B2 (ja) バレルシフタ回路
JPH1049345A (ja) 演算装置
JP2806459B2 (ja) フリップフロップが評価可能な論理シミュレーション装置
JPH0553759A (ja) 固定小数点演算ユニツト
JPH0736857A (ja) 信号処理プロセッサ
JPH0635668A (ja) 全加算器