JPS62106540A - シフト回路 - Google Patents

シフト回路

Info

Publication number
JPS62106540A
JPS62106540A JP24589885A JP24589885A JPS62106540A JP S62106540 A JPS62106540 A JP S62106540A JP 24589885 A JP24589885 A JP 24589885A JP 24589885 A JP24589885 A JP 24589885A JP S62106540 A JPS62106540 A JP S62106540A
Authority
JP
Japan
Prior art keywords
shift
circuit
data
level
bit
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
JP24589885A
Other languages
English (en)
Inventor
Koichi Ueda
上田 孝一
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 JP24589885A priority Critical patent/JPS62106540A/ja
Publication of JPS62106540A publication Critical patent/JPS62106540A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔概要〕 シフト回路のデータ幅Rの2倍長のデータをnビットシ
フトする場合、同時に(R−n)ビットのシフトも必要
となる。このときR−nを計算せずに、論理回路により
nで直接R−nビットのシフトを市IN卸する。
〔産業上の利用分野〕
本発明は、計算機におけるシフト回路に関するものであ
り、特にシフト回路のデータ幅の整数倍長のデータをシ
フトするだめのソフト回路に関する。
(従来の技術〕 計算機では、浮動小数点データの仮数部の整合や正規化
などの場合のように、データのシフト動作が頻繁に行わ
れる。このため通常、計算機には左右両方向に対して任
意nビットソフトできるソフト回路が設けられている。
たとえば、4ノ\イト長データを基本処理単位とする計
算機では1倍長績度演算のために2倍の8ハイド幅のシ
フト回路をそなえているのが9通である。このような計
算機でさらに4倍長端度の16ハイト幅のデータを処理
する場合には、データを上位と下位の各8バイトに分け
て別々にシフトする必要がある。このシフト制御は、第
6図に示す手順で実行される。
なお図示の例は、左nビット (n<64)シフトの例
である。
図において、■は、シフト対象の16ハイト長データで
あり、A、Bはそれぞれ上位8ハイド。
下位8ハイドのデータを示す。
■は、各8ハイドのデータA、Bを、8ハイド幅のシフ
ト回路で左nビットシフトした状態を示す。A’ 、 
 B’  はそのシフト結果を示す。またSAはへのシ
フトによりA′の下位桁に生じたnビットの空白領域を
示す。この空白領域SΔは、下位8ハイドのデータBか
ら左へシフトアウトされるnビットのデータを埋め込む
領域である。なお。
Aの最上位桁からシフトアウトされるnビ、7トは切り
(舎てられる。
■は、上記空白領域SAへ埋め;、3むデータBの上位
nビットを作成するため、シフト回路により右(64−
n)ビットシフトした状態を示す。シフト結果はB″で
表される。
■は、■の八′ と■のB ″とを加算合成して。
上位8ハイドのデータA″を完成させた状態を示す。
■は、データA、Bのnビット左シフトの最終的な結果
の16バイトデータ八″、B′ を示す。
なお以上の例は、左nビットシフトの場合についてのも
のであるが1右nビツトシフトの場合も。
左右が反転するだけで同様な手順が適用される。
〔発明が解決しようとする問題点〕
従来の計算機では、シフト回路のデータ幅(nビットと
する)の整数倍のデータ長のデータをnビットシフトす
る場合、第6図で説明したように。
指定された方向へのnビットシフトと、その逆方向への
(R−n )ビットシフトとが行われる。そしてその際
、与えられたシフト量nから逆方向シフl−@ R−n
を求めるための計算処理が必要とされる。
従来は、R−nを加算器で計算しておき、シフト制御の
各段階でnとR−nとを使い分けていた。
このため、R−nを求めるための回路や、またnとR−
nとを保持しておくためにレジスタの増加が必要となる
などの問題があった。
〔問題点を解決するための手段〕
本発明は、シフト対象データのデータ長が、シフト回路
のデータ幅Rの整数倍ある場合にも、シフト砒nのみで
、シフトを制御できるシフト回路を提供するものである
本発明は、基本的には、ある方向へのnビットシフトと
逆方向へのR−nビットシフトとは、いずれも一方向へ
のnビットの回転シフトを利用して実現できることに基
づいている。本発明では。
データをブロックに分割するとともに、シフトを複数の
レベルに階層化し、ブロック単位の回転シフトと、ブロ
ック単位切り捨て処理と、ブロック内シフトとに分けて
別々のレベルで実行するようにし、また右シフト/左シ
フトのシフト方向やnピントシフト/ R−nビットシ
フトのシフトモードなどのシフト条件を論理回路で処理
して、各レベルのシフト制御信号を発生し、高速でシフ
トを制御できるようにしている。
第1図に本発明によるシフト回路の原理的構成を示す。
図において、11はシフト論理回路、111ないし11
3ばそれぞれシフト回路11を構成するレベル1回路、
レベル2回路、レヘル3回路、X2は制御論理回路、1
3はデータレジスタ、14はシフト量レジスタ、15は
ワークレジスタを表す。
なお、説明の便宜上、シフト回路のデータ幅は8バイト
 (64ビツト)とし、シフト対象のデータは16ハイ
トとする。しかし、他の任意のデータ幅とすることがで
きることは勿論である。データの上位8ハイドをA、下
位8ハイドをBで表ず。
シフト論理回路11のレベル1回路111は。
シフト回路のデータ幅8バイトを2バイト(4デジツト
または16ビノト)単位の4ブロツクに分割して、ブロ
ック単位に4i1りの回転シフトを与える。
レベル1回路111はさらに、上記回転シフトされた結
果に対して9頭部あるいは尾部のデータ部分を、16ビ
ノトのブロック単位で切り捨てる。
これは、レベル1回路111の回転シフトによる結果を
、右シフトあるいは左シフトの状態と等しくなるよう補
正するためである。右シフトの場合は頭部、左シフトの
場合は尾部のデータ部分がシフト量に応じて切り捨て処
理される。
レベル2回路112は、レベル1回路の処理結果につい
て、さらに小さいブロックのデジット単位によるシフト
、すなわち4ビット単位のシフトを実行する。
レベル3回路113は、レベル2回路112の処理結果
について、さらにデジット内シフト、すなわち4ビツト
以下のシフトを実行する。
制御論理回路12は、シフト論理回路11の各レヘル回
路に対して、与えられたシフト条件に基づ(シフト制御
信号を供給する。
シフト条件は、シフト量nビットのシフトが。
右シフトであるか左シフトであるがと、nビットの正規
シフトかあるいはその逆方向64−nビットの反転シフ
トかのモードとの組み合わせによって定まる。
データレジスタエ3には、ワークレジスタ15から上位
、下位各8ハイドのデータA、Bが順次取り出されて設
定され、さらにシフト論理回路11へ転送される。第6
図で説明した中間のソフト結果A’ 、B’ はワーク
レジスタ15に一旦格納され、最終結果A″、B″を求
めるために使用される。
シフト量レジスタ14には、シフトinが設定される。
この例では、シフト量0〜6は6ビツトで表される。
〔作用〕
第1図に示すように1本発明によれば、nビットの正規
シフトと(64−n)ビットの反転シフトとは、シフト
条件の1つとして指定するだけで論理処理により、対応
するシフト制御信号を発生させることができ、シフト1
(64−n)を求めるための算術演算は不要である。
また、シフト回路が複数レベルの多層構造化されていて
、シフトが、ブロック単位回転シフトとブロック単位切
り捨て処理と、ブロック内シフトとに分けて実行される
ため、高速動作が可能となるとともに、ハードウェア構
成がN単化される。
〔実施例〕
第2図に本発明によるシフト回路の1実施例構成を示す
図において、21はシフト論理回路、211はレベル1
回1,212はレベル2回路、213はレベル3回路、
22は制御論理回路、221はソフト量変換回路、22
2はレベル1制御回路、223はレベル2制御回路、2
24はレベル3制御回路、23はデータレジスタ、24
はシフト量レジスタを示す。
この実施例回路も、第1図の回路の場合と同様に1便宜
上8ハイド(64ビツト)幅とし1人力データは2倍の
16ハイト長データであり、2分割してシフトされる。
シフト回路に入力される各8ハイドのデータは、デジッ
ト (4ビツト)単位にDoないしDFで表される。
また、SAは6ビノトのシフト遣データであり。
それぞれのビットは5A32,5A16.SA8゜SA
4.SA2.SAIで表される。
シフト条件として与えられる制御信号RIGHTは、右
シフトか左シフトかを示す信号(左シフトのときRIG
HT=“0”)である。また制御信号MODIFYは、
nビットシフトの正規シフトか逆方向(64−n)ビッ
トの反転シフトかのシフトモードを示す信号(正規シフ
トのときMODIFY−“0″)である。
シフト論理回路21において、レベル1回路211は4
デジツト(16ビント)単位の4プロノり間で回転シフ
トを行うセレクタと、セレクタ出力をJA択的に禁止す
るゲートとで構成されている。
レベル2回路212は、レベル1回路から出力されたプ
ロ、り単位のシフト結果について、さらにデジット(4
ビツト)単位のシフトを行うセレクタで構成されている
レベル3回路213は、レベル2回路から出力されたデ
ジット単位のシフト結果について、さらにデジット内ビ
ットのシフトを行うセレクタで構成されている。
制御論理回路22において、シフトi変換回路221は
、入力されたシフト量SAを1次式%式% に基づいて補正シフト11 M S Aに変換する。こ
の式は、一方向シフトをレベル1回路でレベル2回路の
回転シフトに置き換えるときのシフト量が。
ソフト方向(RIGHT)とシフトモード(MS4)と
に依存して定まることを示している。
すなわち、MSAは、SAをRI GHTとMS4とで
順次排他的論理和をとることにより得られ。
RIGHTとMS4の値が異なっている場合に。
SAは1”の補数をとられる。
次のような結果が生しる。
■ 左シフトおよび正規シフト(RIGHT  −MS
4)の場合; SAで示されるシフト量だけ左シフトされる。
■ 右シフトおよび正規シフト(RIGHT  −MS
4)の場合; SAで示されるシフト量より4ビット多く右シフトされ
る。
■ 左シフトおよび反転シフト(訂GHT  ・ 16
4)の場合; (64−3A)で示されるシフト量より4ビツト少なく
左シフトされる。
■ 右シフトおよび反転シフト(RIGI+T  −M
S4)の場合; (,64−3A)で示されるシフト量だけ右シフトされ
る。
補正シフト量MSAは、シフトfisAと同様に6ビツ
トのデータであり、各ビットはMSA32ないしMSA
Oで表される。
次にレベル1制御回路222は、MSAの丘位2ビット
のMSA32およびMSAI6をレベル1回路211の
セレクタ群に供給し、対応する量の回転シフトを実行さ
せる。
第3図ta+に1回転ソフトされた結果を示す。
またレベル1制御回路222は、レベル1回路211の
ゲート群に対して、切り捨て処理のための禁止信号を供
給する。
第3図(blに、左シフトと右シフトについての切り捨
て処理結果を示す。この場合各4デジットごとの禁止信
号は次式に基づいて発生される。なお。
式中のDISABLEは禁止信号を示している。
■ DO〜D3; DISABLE  =  RIGHT ■ D4〜D7; DISABLE  =  RIGIITvMSA32 
−  ?l5A16■ I) 8〜DB; 旧5ABLE  =  RIGllTvMSA32■ 
DC−DF; DISABLE  =  IIIGHT’9’(門5A
32 + MS八へ6)次にレベル2制御回路223は
、MSAの中間の2ビットMSA8およびMSA4をレ
ベル2回路212のセレクタ群に供給し、対応するデジ
ット単位のシフトを実行させる。
第4図にシフトされた結果を示す。
次にレベル3制御回路224は、MSへの下位2ビツト
M S A 2およびMSAIにより、シフト方向とシ
フトモードごとに、ビットシフト制御信号LOないしL
4を生成し、レベル3回路213に対して供給する。
LOないしL4は、それぞれ左方向0ビツトシフトない
し左方向4ビットシフトを意味しており。
第5図に示すように、MSA2およびMSAIと対応づ
けられている。ここでα−RIGHTvM64としちと
き、第5図において、RIGHT・MS4およびRIG
HT−MS4の欄はKであり。
RIGHT−MS4およびRIGHT−MS4の欄はα
である。このときLOないしL4は1次のように表され
る。
L O= ff −M:蓬2・」] LL=z−皿・MSAI+α・罰庫・iL 2 =7 
・ 門SA2  ・ 面+ α ・ MS−八で2 ・
 門Sへ1L 3=z  ・ MS八へ ・ MSAI
 + α ・ 門Sへ2 ・煎L4−α ・MSA2・
門SA1 このようにして、シフト論理回路21中の各レベル回路
は、目的とする与えられたシフト量およびシフト条件に
合致するように、制御論理回路22によって制御される
なお1以上の実施例におけるシフト回路のデータ幅およ
びブロックの大きさは1例にすぎず2本発明は任意の値
のものについて適用することができる。
また本発明は、シフト結果の頭部9尾部を空白部とする
上述したような論理シフトのみならず。
入力データの先頭ビット(符号ビット)を拡張する算術
演算シフトにも同様に適用することができる。
〔発明の効果〕
本発明によれば、シフト回路のデータ幅よりも大きいデ
ータのシフトを、高速に実行することができ、しかも少
ないハードウェアで実現できる。
【図面の簡単な説明】
第1図は本発明の原理的構成図、第2図は本発明の1実
施例の構成図、第3図はレベル1回路のシフト処理の説
明図、第4図はレベル2回路のシフト処理の説明図、第
5図はレベル3回路のシフト処理の説明図、第6図はシ
フト回路のデータ幅よりも大きいデータのシフトする従
来方法の説明図である。 第1図中。 11:シフト論理回路 12:制御論理回路 13:データレジスタ 14ニンフト量レジスタ 15:ワークレジスタ

Claims (1)

  1. 【特許請求の範囲】 入力されたデータを所定の複数ビットのブロック単位に
    分割して、ブロック単位からビット単位まで複数のレベ
    ルに階層化してシフトを行う手段を含み、そのうち最初
    のレベルはブロック単位に回転シフトする手段とその結
    果についてブロック単位に選択的に禁止する手段とをそ
    なえているシフト論理回路(11)と、 与えられたシフト量と、右または左のシフト方向と、正
    規または反転のシフトモードとに基づいて、上記シフト
    論理回路(11)の各レベルに対するシフト制御信号を
    論理的に発生する制御論理回路(12)とにより構成さ
    れていることを特徴とするシフト回路。
JP24589885A 1985-11-01 1985-11-01 シフト回路 Pending JPS62106540A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24589885A JPS62106540A (ja) 1985-11-01 1985-11-01 シフト回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24589885A JPS62106540A (ja) 1985-11-01 1985-11-01 シフト回路

Publications (1)

Publication Number Publication Date
JPS62106540A true JPS62106540A (ja) 1987-05-18

Family

ID=17140458

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24589885A Pending JPS62106540A (ja) 1985-11-01 1985-11-01 シフト回路

Country Status (1)

Country Link
JP (1) JPS62106540A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62256035A (ja) * 1986-02-24 1987-11-07 システム・デイベロツプメント・コ−ポレ−シヨン 可変のデ−タバス幅をもつプログラム装置におけるプログラム制御のシフト機構
JPS63314641A (ja) * 1987-06-17 1988-12-22 Fujitsu Ltd バレルシフタ回路
JPS63314639A (ja) * 1987-06-17 1988-12-22 Fujitsu Ltd バレルシフタ回路
JPS63314640A (ja) * 1987-06-17 1988-12-22 Fujitsu Ltd バレルシフタ回路

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62256035A (ja) * 1986-02-24 1987-11-07 システム・デイベロツプメント・コ−ポレ−シヨン 可変のデ−タバス幅をもつプログラム装置におけるプログラム制御のシフト機構
JPS63314641A (ja) * 1987-06-17 1988-12-22 Fujitsu Ltd バレルシフタ回路
JPS63314639A (ja) * 1987-06-17 1988-12-22 Fujitsu Ltd バレルシフタ回路
JPS63314640A (ja) * 1987-06-17 1988-12-22 Fujitsu Ltd バレルシフタ回路

Similar Documents

Publication Publication Date Title
US5802399A (en) Data transfer control unit for reducing memory requirements in an information processor by converting bit width of data being transferred between memory and processing parts
US6138135A (en) Propagating NaNs during high precision calculations using lesser precision hardware
US4453212A (en) Extended address generating apparatus and method
JP3589719B2 (ja) 算術演算の結果として生じる正および負のオーバーフローのハードウェアによる効率的な取り扱い方法
DE3587833T2 (de) Arithmetische und logische Einheit mit erweiterter Funktion.
US4742479A (en) Modulo arithmetic unit having arbitrary offset and modulo values
JP2832899B2 (ja) データ処理装置およびデータ処理方法
US4229801A (en) Floating point processor having concurrent exponent/mantissa operation
JP3418460B2 (ja) 倍精度除算回路および方法
US5233553A (en) Apparatus for performing modulo arithmetic with three-port adder
JPS5960652A (ja) デ−タ処理装置
JPH0470662B2 (ja)
US4149263A (en) Programmable multi-bit shifter
MX2008014047A (es) Unidad logica aritmetica iterativa de precision controlada.
US5905661A (en) Method for handling an overflow condition in a processor
JPH0769782B2 (ja) マイクロプログラム可能な32ビットカスケード可能ビットスライス
JPS62106540A (ja) シフト回路
US9015216B2 (en) Fast static rotator/shifter with non two's complemented decode and fast mask generation
KR0152519B1 (ko) 묘화 처리 장치
US4677582A (en) Operation processing apparatus
US4999808A (en) Dual byte order data processor
JPS61103241A (ja) 情報処理装置
JPH0346024A (ja) 浮動小数点演算器
US6122651A (en) Method and apparatus for performing overshifted rotate through carry instructions by shifting in opposite directions
EP0149788B1 (en) Display control system