JP2674754B2 - バレル・シフタ - Google Patents

バレル・シフタ

Info

Publication number
JP2674754B2
JP2674754B2 JP62202009A JP20200987A JP2674754B2 JP 2674754 B2 JP2674754 B2 JP 2674754B2 JP 62202009 A JP62202009 A JP 62202009A JP 20200987 A JP20200987 A JP 20200987A JP 2674754 B2 JP2674754 B2 JP 2674754B2
Authority
JP
Japan
Prior art keywords
data
shift
control signal
control
data bus
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
JP62202009A
Other languages
English (en)
Other versions
JPS63145524A (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 テキサス インスツルメンツ インコ−ポレイテツド
Publication of JPS63145524A publication Critical patent/JPS63145524A/ja
Application granted granted Critical
Publication of JP2674754B2 publication Critical patent/JP2674754B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/768Data position reversal, e.g. bit reversal, byte swapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • G06F5/012Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising in floating-point computations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/74Selecting or encoding within a word the position of one or more bits having a specified value, e.g. most or least significant one or zero detection, priority encoders

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 従来の技術及び問題点 今日の大抵の小型コンピュータ・システムは、CPUに
浮動小数点算術回路を持っていない。その代りに、これ
は速度を大いに犠牲にして、ソフトウェアを用いて行わ
れている。この速度の問題を解決する為に、外部算術コ
プロセッサ(co−processors)が開発されているが、そ
の開発には新しい問題がある。 問題点を解決する為の手段及び作用 本発明は、浮動小数点数を表すのにIEEE形式を用い
た、浮動小数点算術装置に対するバレル・シフタを対象
とする。これは2進形式であり、その結果、計算には相
当量のシフト動作が必要である。普通のシフト・レジス
タ方式を使うと、これはかなり時間を浪費する。 本発明の目的は、浮動小数点の計算に必要なシフト動
作の遂行を高めることである。 本発明の別の目的は、任意の数のビットを何れの向き
にもシフトすることができる様にすることである。 浮動小数点の算術計算に関係するシフト過程は2つの
場合に必要である。その1番目は、数を浮動小数点算術
装置に最初に入れる時である。こういう数は、少数点
(2進法)が整合する様に整合させなければならない。
この過程は、小さい方の数を右にシフトすることを含
み、正規化解除と呼ばれる。2番目は、答が計算された
後である。答は標準の形式にもう一度整合させなければ
ならないが、これは普通左シフトを必要とする。この過
程が正規化と呼ばれる。 本発明のバレル・シフタは、正規化及び正規化解除の
両方の過程を高速で扱う様に設計されている。これは、
シフト及び正規化の2つのモードで動作する。シフト・
モードでは、6ビット2進シフト・コードを外部から供
給し、BSNがデータを何桁もシフトする。シフトの向き
も制御することができる。従来のバレル・シフタは、左
シフト及び右シフトの両方を実現するために多数のゲー
トを必要とする。これは、シフト段が実質的に複製にな
っているからである。これと対照的に、この発明はバレ
ル・シフタが左シフトだけをする様にする。バレル・シ
フタの前にビット反転器を入れ、バレル・シフタの出力
の後にビット反転器を入れる。これから判る様に、或る
数のビット反転をし、それを左シフトし、その後出力の
ビット反転をすることは、或る数の右シフトと同じであ
る。 本発明の目的は、左シフト及び右シフトの両方を実現
するのに必要なゲートの数を最小限に抑えることであ
る。 正規化モードでは、バレル・シフタ/正規化装置(BS
N)が、1がデータ内の予め限定された一定の位置に来
るまで、自動的にデータをシフトする。言い換えれば、
先頭の0を自動的にシフトによって除く。別個の6ビッ
ト出力がどれだけシフトをしたかを示す。単純なバレル
・シフタが前から存在していたが、それらは正規化能力
を持っていなかった。 従って、本発明の目的は、シフトしたビット線を示す
出力を伴って、自動的な正規化ができるようにすること
である。 本発明の上記並びにその他の目的が、第1の複数個の
データ・ビットに対する第1の入力及び第2の複数個の
データ・ビットに対する第1の出力バスを持つ第1のビ
ット反転段と、前記第1の出力バスに結合されていて、
前記第2の複数個のデータ・ビットを受取る第2の入
力、及び第3の複数個のデータ・ビットに対する第2の
出力バスを持つシフト段と、前記第2の出力バスに結合
されていて、前記第3の複数個のデータ・ビットを受取
る第3の入力、及び第4の複数個のデータ・ビットに対
する第3の出力バスを持つ第2のビット反転段とを有
し、前記第1のビット反転段は、第1の制御信号に応答
して、前記第1の複数個のデータ・ビットを前記第1の
出力バスに前記第2の複数個のデータ・ビットとして現
われるようにすると共に該第2の複数個のデータ・ビッ
トの順序を反転する様に選択的に作用し、前記シフト段
は、第2の制御信号に応答して、前記第2の複数個のデ
ータ・ビットを第1の向きにシフトして、前記第2の出
力バスに前記第3の複数個のデータ・ビットとして出力
される様に選択的に作用し、前記第2のビット反転段
は、第3の制御信号に応答して、前記第3の複数個のデ
ータ・ビットが前記第3の出力バスに前記第4の複数個
のデータ・ビットとして現われる様にすると共に前記第
4の複数個のデータ・ビットの順序を反転する様に選択
的に作用するバレル・シフタによって達成される。 実 施 例 浮動小数点の算術計算に関係するシフト過程は2箇所
で行われる。数を最初に浮動小数点算術装置に入れる
時、小数点(2進法)が整合する様に、数を整合させな
ければならない。この過程は、小さいほうの数の右シフ
トを要し、正規化解除と呼ばれる。答が計算された後、
標準の形式に再び整合させなければならない。これは左
シフトを伴うのが普通であり、正規化と呼ばれる。 正規化解除が2つの過程の内の簡単な方である。2つ
の数の指数を比較し、その差を求める。小さいほうの数
の分数部分(仮数)をその分だけ右シフトしなければな
らない。この為、シフト値は仮数に無関係であり、シフ
ト過程が開始する前に判っている。 本発明はコンピュータ・システムに対する不動小数点
コプロセッサに使われるバレル・シフタ/正規化装置
(BSN)を対象とする。これは高速の右及び左ビット・
シフトを容易にする様に設計されている。BSNは自動的
な正規化をも行うことができ、これを後で説明する。 第1図は本発明の現在好ましいと考えられる実施例の
回路図である。ブロック1及びが3ビット反転器であ
る。ブロック4がバレル・シフタ及び自動的な正規化の
為の論理及び制御回路である。ブロック2がバレル・シ
フタである。 バレル・シフタ2は、主に6個のシフト段12,13,14,1
5,16,17で構成されている。各段は入力データを一定の
ビット数だけ左にシフトするか、データを単に通過させ
ることができる。これらの段が右にシフトを行うことが
できないことに注意されたい。右シフトを行う方式は後
で説明する。 シフト段12がデータ・バスIからの入力を受取り、デ
ータ・バスIAにデータを出力する。これは、論理及び制
御ブロック4によって発生される制御信号24によって制
御される。オア・ゲート18がデータ・バスIの最上位の
32個のデータ・ビットを標本化し、制御信号30を発生す
る。制御信号24が高であれば、シフト段12がデータバス
Iからの入力データを32ビット左にシフトし、シフトし
たデータをデータ・バスIAに出力する。制御信号24が低
であれば、シフト段12はデータ・バスIのデータをデー
タ・バスIAに通過させる。 シフト段13がデータ・バスIAからの入力を受取り、デ
ータをデータ・バスIBに出力する。これは、論理及び制
御ブロック4によって発生される制御信号25によって制
御される。オア・ゲート19がデータ・バスIAの最上位の
16データ・ビットを標本化し、制御信号31を発生する。
制御信号25が高であれば、シフト段13がデータバスIAか
らの入力データを16ビット左にシフトし、シフトしたデ
ータをデータ・バスIBに出力する。制御信号25が低であ
れば、シフト段13はデータ・バスIAのデータをデータ・
バスIBに通過させる。 シフト段14がデータ・バスIBから入力を受取り、デー
タをデータ・バスICに出力する。これは、論理及び制御
ブロック4によって発生される制御信号26によって制御
される。オア・ゲート20がデータ・バスIBの最上位の8
データ・ビットを標本化し、制御信号32を発生する。制
御信号26が高であれば、シフト段14がデータバスIBから
の入力データを8ビット左にシフトし、シフトしたデー
タをデータ・バスICに出力する。制御信号26が低であれ
ば、シフト段14はデータ・バスIBのデータをデータ・バ
スICに通過させる。 シフト段15がデータ・バスICから入力を受取り、デー
タをデータ・バスIDに出力する。これは、論理及び制御
ブロック4によって発生される制御信号27によって制御
される。オア・ゲート21がデータ・バスICの最上位の4
データ・ビットを標本化し、制御信号33を発生する。制
御信号27が高であれば、シフト段15がデータバスICから
の入力データを4ビット左にシフトし、シフトしたデー
タをデータ・バスIDに出力する。制御信号27が低であれ
ば、シフト段15はデータ・バスICのデータをデータ・バ
スIDに通過させる。 シフト段16がデータ・バスIDからの入力を受取り、デ
ータをデータ・バスIEに出力する。これは、論理及び制
御ブロック4によって発生される制御信号28によって制
御される。オア・ゲート22がデータ・バスIDの最上位の
2データ・ビットを標本化し、制御信号34を発生する。
制御信号28が高であれば、シフト段16がデータ・バスID
からの入力データを2ビット左にシフトし、シフトした
データをデータ・バスIEに出力する。制御信号28が低で
あれば、シフト段16はデータ・バスIDのデータをデータ
・バスIEに通過させる。 シフト段17がデータ・バスIEからの入力を受取り、デ
ータをデータ・バスIFに出力する。これは、論理及び制
御ブロック4によって発生される制御信号29によって制
御される。オア・ゲート23がデータ・バスIEの最上位の
ビットを標本化し、制御信号35を発生する。制御信号29
が高であれば、シフト段17がデータバスIEからの入力デ
ータを1ビット左にシフトし、シフトしたデータをデー
タ・バスIFに出力する。制御信号29が低であれば、シフ
ト段17はデータ・バスIEのデータをデータ・バスIFに通
過させる。 本発明の好ましい実施例では、各々のシフト段が一連
の2対1マルチプレクサ(MUX)で構成されている。各
々のMUXがデータに対する2つの入力を持つが、1つの
出力しか持たない。1実施例の更に詳しい例が第2図に
示されている。MUXは100,101,102…103である。必要なM
UXの数はシフト段に使われているワード幅に関係する。
この例では、ワード幅はM+1である。入力データ・バ
スは線W0(0が位の高いビットである)乃至WM(Mが最
下位ビットである)で構成される。Sが必要なシフト量
である。例として、第2図に示す段が8ビット・シフト
すべきである場合、Sが8に等しい。 従って、MUX100に対する入力がW0及びW8である。制御
線104が高であれば、線W8のデータが線X0に出力され
る。制御線104が低であれば、W0のデータが線X0へ通過
する。各々のMUXが同様に作用する。2番目の入力がワ
ード幅の範囲外である場合、入力をアースし、0となっ
て現われる。これが105に示されている。これは、WMが
最後の線であり、2番目の入力がWM+8になるからであ
る。 第1図に戻って説明すると、どれだけのビット位置だ
けシフトさせるべきかを制御する入力が、論理及び制御
ブロック4の線R0乃至R5である。制御線6を使って、通
常の左シフト動作にするか自動的な正規化であるかを知
らせる。制御線6が低であれば、通常のシフト動作を遂
行する。 制御線6が低であると仮定すると、論理及び制御ブロ
ック4が制御線R0乃至R5を使って、夫々24乃至29の状態
を制御する。即ち、R0が高である時、24が高であり、従
って32ビット・シフタ12を作動する。R1が高であれば、
25が高であり、こうして16ビット・シフタ13を作動する
という風にする。こうして、ビット位置が0(R0乃至R5
が全部0)から63(R0乃至R5が全部1)までの左シフト
が可能である。好ましい実施例では、制御線6が低であ
る時、線N0乃至N5は定まらない(無効)。 論理及び制御ブロック4がオア・ゲート18乃至23の出
力30乃至35をそれぞれもちいて、IEEEガード・ビット及
び固着ビットを発生し、線8及び9に出力する。固着ビ
ットは、制御及び論理ブロック4が線30乃至35に受取っ
たデータをオアすることによって発生される。他の論理
回路がガード・ビットの面倒をみる。 前に述べたように、バレル・シフタ2には右シフトの
手段がない。両方の向きに動作する従来の多段式バレル
・シフタでは、2つの方式が使われている。1番目はMU
Xの数を2倍にすることである。これによって一組が左
シフトの動作をし、もう一組が右シフトの動作をする。
この方式の欠点は、回路が著しく複雑になること(最小
限ゲートの数が2倍になる)、種々のデータ・バスに対
する経路の問題があること、及びMUXに通ずる制御線の
数が2倍になることである。 従来の別の方式は、3対1MUXを使うことである。この
場合も、経路が複雑になること、及び各々のシフト段に
対する余分の制御線が必要であるという問題がある。し
かし、必要なゲート数は、前の方式のように2倍ではな
く、50%ですむ。 こういう問題を最小限に抑える為、この発明は第1図
の2つのビット反転器1及び2を用いる。数学的には、
或る数のビット反転をし、N桁だけ左シフトし、その後
その結果をビット反転することは、その数をN個の位置
だけ右シフトすることに相当する。例えば、2進数を5
桁だけ右シフトしたい場合、その工程は次の通りであ
る。 1.最初に数を入力として受取る。 1011 0111 0111 1011 2.この数のビット反転を行うことにより、次のようにな
る。 1101 1110 1110 1101 3.数を5だけ左シフトする(と共に0を埋める)と 1101 1101 1010 0000 4.前の結果をビット反転すると 0000 0101 1011 1011 ビット反転器1及び2は機能的に同一である。然し、
この発明の好ましい実施例では、BSN全体が54ビットの
入力幅及び27ビットの出力に設計されているので、幅に
違いがある。第3図は第1図のビット反転器1を更に詳
しく示す。第3図にみられる様に、ビット反転器の構造
は、前に説明したシフト段の構造と似ている。マルチプ
レクサ10が一連の2対1MUX200,201,202…253で構成され
ている。制御線5を使って、MUXの動作を制御する。制
御信号5が低であれば、線Q0のデータが出力データが線
I0へ通過し、線Q1のデータが線I1へ通過し、線Q2のデー
タが線I2へ通過するという様に、最後に線Q53のデータ
が線I53へ通過する。制御信号5が高であれば、線Q53の
データが出力データ線I0へ通過し、線Q52のデータが線I
1へ通過し、線Q51のデータが線I2へ通過すると様にし
て、最後に線Q0のデータが線I53へ通過する。従って、
これから判るように、制御信号5が高であれば、Q入力
データ・バスのデータがIデータ・バスから反転して出
てくる。制御信号5が低であれば、Qバスのデータが変
更されずにIバスへ通過する。 同様に、第1図に戻って、制御信号7がビット反転器
3にあるマルチプレクサ11の動作を制御する。制御信号
7が低であれば、データ・バスIFから出てくるデータが
出力線B0乃至B26へ通過し、制御信号7が高であれば、
バスIFのデータが反転して線B0乃至B26へ通過する。 本発明の現在好ましいと考えられる実施例では、制御
信号5及び7は、BSNの融通性を高めるように個別に制
御される。他の実施例では、こういう制御信号は同じで
あってよい。 浮動小数点の算術計算に伴う2番目のシフト過程は正
規化である。正規化は、正規化解除よりも複雑である。
1が結果の1番左の位に来るまで、仮数を左シフトしな
ければならない。つまり、シフト値が仮数データに関係
し、シフトを開始する前には判らない。BSNは、正規化
及び正規化解除の両方の問題を扱うように設計されてい
るので、シフト・モードまたは正規化モードの何れでも
動作する。シフト・モードでは、第1図の制御線6を低
に保ち、6ビット2進シフト・コードを線R0乃至R5に供
給する。そのときBSNは線Q0乃至Q53のデータをその桁数
だけシフトする。シフトの向きも、制御線5及び7を用
いて制御することができる。これによって、簡単な左シ
フトと共に正規化解除を行うことができる。 正規化モードでは、制御線6を高に保つ。これによっ
てBSNは、1がデータ内の予め定めた一定の位置に来る
まで、線Q0乃至Q53のデータを自動的にシフトする。言
い換えれば、先頭の0を自動的にシフトによって除く。
従って、このモードでは入力R0乃至R5を認識しない。そ
の代りに、線N0乃至N5の6ビット出力が、どれだけシフ
トをしたかを示す。次にこのモードの動作を説明する。 線Q0乃至Q53入力のデータがMUX10を介してデータ・バ
スIへ通過する。オア・ゲート18が、シフト段12が動作
すれば、シフトによって出て行く様な線のデータをオア
する。具体的に言うと、オア・ゲート18が10乃至131を
オアする。これが、32ビット・シフト段であるからであ
る。オア・ゲート18によって信号30が発生される。線I0
乃至I31のどれかに1があれば、これは1であり、他の
場合は0である。信号30が0であれば、データの最上位
ビット位置には、0以外のものはなく、従ってこれらは
シフトによって除くべきである。線30の0が、論理及び
制御ブロック4に入力される。論理及び制御ブロック4
は線24に1が現われる様にし、こうしてシフト段12が作
動され、シフトされたデータがデータ・バスIAに現われ
る様にする。勿論、信号30が1であれば、論理及び制御
ブロック4は線24に0が現われる様にし、シフト段12は
シフトしない。データ・バスIのデータがこのときデー
タ・バスIAへ通過する。論理及び制御ブロック4は線24
の値の出力がN0に出る様にする。 オア・ゲート19がデータ・バスIAの最上位16ビットを
標本化する。これらのどれかのデータ・ビットが1であ
れば、線31は1であり、論理及び制御ブロック4は線25
に0を出し、IAのデータが、変更されずにIBに現われる
様にする。線31が低(即ち、0)であれば、線25が高
(即ち、1)であり、段13がデータをシフトする。論理
及び制御ブロック4は線25に出力される値がN1に現われ
る様にする。 オア・ゲート20がデータ・バスICの最上位8ビットを
標本化する。このどれかのデータ・ビットが1であれ
ば、線32は1であり、論理及び制御ブロック4は線26に
0を出し、IBのデータが、変更されずにICに現われる様
にする。線32が低であれば、線32が高になり、段14がデ
ータをシフトする。論理及び制御ブロック4は線26に出
力される値がN2に現われる様にする。 オア・ゲート21がデータ・バスICの最上位4ビットを
標本化し、その結果を線33に出力する。論理及び制御ブ
ロック4がその反転を線27及びN3に出す。シフト段15は
ICのデータをシフトさせるか、或いはそのデータが変更
されずにIDに現われる様にする。 同じ様に、オア・ゲート22及び23が夫々データ・バス
ID及びIEの2ビットまたは1ビットを標本化する。制御
線34,35,28,29が同様に作用する。線28及び29の値が夫
々N4及びN5に現われる。 正規化では、制御線7を低(0)に保ち、従ってデー
タ・バスIFに現われる出力線B0乃至B26に直接通過す
る。線N0乃至N5は、所望の場所に1がくる前に、データ
が何桁シフトしたかを表わすデータを持っている。この
データは、正規化が行われた後にのみ有効である。この
モードでは、線R0乃至R5のデータは使わない。これはシ
フトする桁数が判っていないからである。出力8及び9
も使わない。 以上の説明では、本発明の現在好ましいと考えられる
実施例を説明した。当業者であれば、本発明の範囲内
で、開示の構造に色々な変更を加えることができよう。
従って、本発明の範囲は特許請求の範囲のみによって限
定されることを承知されたい。 以上の説明に関連して更に下記の項を開示する。 (1) 第1の複数個のデータ・ビットに対する第1の
入力及び第2の複数個のデータ・ビットに対する第1の
出力バスを持つ第1のビット反転段と、前記第1の出力
バスに結合されていて、前記第2の複数個のデータ・ビ
ットを受取る第2の入力、及び第3の複数個のデータ・
ビットに対する第2の出力バスを持つシフト段と、前記
第2の出力バスに結合されていて、前記第3の複数個の
データ・ビットを受取る第3の入力、及び第4の複数個
のデータ・ビットに対する第3の出力バスを持つ第2の
ビット反転段とを有し、前記第1の反転段は、第1の制
御信号に応答して、前記第1の複数個のデータ・ビット
を前記第1の出力バスに前記第2の複数個のデータ・ビ
ットとして現われる様にすると共に該第2の複数個のデ
ータ・ビットの順序を反転し、前記シフト段は、第2の
制御信号に応答して、前記第2の複数個のデータ・ビッ
トを前記第1の向きにシフトして、前記第2の出力バス
に前記第3の複数個のデータ・ビットとして出力される
ように選択的に作用し、前記第2のビット反転段は、第
3の制御信号に応答して、前記第3の複数個のデータ・
ビットが前記第3の出力バスに前記第4の複数個のデー
タ・ビット現われる様にすると共に前記第3の複数個の
データ・ビットの順序を反転するように選択的に作用す
るバレル・シフタ。 (2) 第(1)項に記載したバレル・シフタに於て、
前記シフト段が直列に互いに結合された複数個の並列シ
フト・セグメントで構成されているバレル・シフタ。 (3) 第(1)項に記載したバレル・シフタに於て、
前記シフト段がマルチプレクサで構成されているバレル
・シフタ。 (4) 第(3)項に記載したバレル・シフタに於て、
前記マルチプレクサが2対1マルチプレクサであるバレ
ル・シフタ。 (5) 第(1)項に記載したバレル・シフタに於て、
前記第1のビット反転段がマルチプレクサで構成されて
いるバレル・シフタ。 (6) 第(1)項に記載したバレル・シフタに於て、
前記第2のビット反転段がマルチプレクサで構成されて
いるバレル・シフタ。 (7) 少なくとも第1及び第2のシフト段で構成され
た多段シフト機構を有し、前記第1のシフト段は、第1
の複数個のデータ線を持つ第1のデータ・バスに結合さ
れた第1の入力、及び第2の複数個のデータ線を持つ第
2のデータ・バスに結合された第1の出力を持ってお
り、前記第1のシフト段が、前記第1の制御線に結合さ
れ、前記第1のシフト段が、前記第1の制御線の第1の
制御信号に応答して、該第1のシフト段にシフト動作を
行わせる様に選択的に作用し、前記第2のシフト段が前
記第2のデータ・バスに結合された第2の入力を持ち、
該第2のシフト段は第2の制御信号に応答して、前記第
2のシフト段に選択的にシフト動作を行わせ、更に、前
記第1のデータ・バスの選ばれたデータ線に結合された
入力を持っていて、前記第1のデータ・バスに選ばれた
データ線のデータに応答して、制御信号を出力する第1
のオア回路と、前記第2のデータ・バスの、選ばれたデ
ータ線のデータに応答して第4の制御信号を発生する第
2のオア回路と、前記第1のオア回路の、出力に結合さ
れ前記第3の制御信号に応答して、前記第1のシフト段
を制御する第1の制御信号を発生する制御回路とを有
し、該制御回路は、前記第2のオア回路の出力にも結合
されていて、前記第4の制御信号に応答して、第2のシ
フト段の制御を行う第2の制御信号を発生する自動正規
化回路。 (8) 第(7)項に記載した自動正規化回路に於て、
前記第1及び第2のシフト段がマルチプレクサで構成さ
れている自動正規化回路。 (9) 第(8)項に記載した自動正規化回路に於て、
前記マルチプレクサが2対1マルチプレクサである自動
正規化回路。 (10) 第(7)項に記載した自動正規化回路に於て、
前記制御回路が外部装置が読取り得る出力を発生し、制
御回路の出力が前記第1及び第2の制御信号の状態を表
わしている自動正規化回路。
【図面の簡単な説明】 第1図は本発明を用いた好ましい実施例のバレル・シフ
タ/自動正規化装置の全体的なブロック図、第2図は一
般化したシフト段の更に詳しいブロック図、第3図は一
つのビット反転器の詳しいブロック図である。 主な符号の説明 1,3:ビット反転器 2:バレル・シフタ 4:論理及び制御回路

Claims (1)

  1. (57)【特許請求の範囲】 1.少なくとも第1及び第2のシフト段を含む多段シフ
    ト機構であって、前記第1のシフト段は、第1の複数個
    のデータ線を持つ第1のデータ・バスに結合された第1
    の入力、及び第2の複数個のデータ線を持つ第2のデー
    タ・バスに結合された第1の出力を持っており、前記第
    1のシフト段は前記第1の制御線に結合され、前記第1
    のシフト段が、前記第1の制御線の第1の制御信号に応
    答して、シフト動作を選択的に行い、前記第2のシフト
    段が前記第2のデータ・バスに結合された第2の入力を
    持ち、該第2のシフト段は第2の制御信号に応答して、
    選択的にシフト動作を行う前記の多段シフト機構と、 前記第1のデータ・バスの選ばれたデータ線に結合され
    た入力を持っていて、前記第1のデータ・バスに選ばれ
    たデータ線のデータに応答して、第3の制御信号を出力
    する第1のオア回路と、 前記第2のデータ・バスの選ばれたデータ線のデータに
    応答して、第4の制御信号を発生する第2のオア回路
    と、 前記第1のオア回路の出力に結合され、前記第3の制御
    信号に応答して、前記第1のシフト段を制御する第1の
    制御信号を発生する制御回路とを有し、 該制御回路は、前記第2のオア回路の出力にも結合され
    ていて、前記第4の制御信号に応答して、第2のシフト
    段の制御を行う第2の制御信号を発生する自動正規化回
    路。 2.特許請求の範囲第(1)項に記載した自動正規化回
    路に於て、前記第1及び第2のシフト段がマルチプレク
    サで構成されている自動正規化回路。 3.特許請求の範囲第(2)項に記載した自動正規化回
    路に於て、前記マルチプレクサが2対1マルチプレクサ
    である自動正規化回路。 4.特許請求の範囲第(1)項に記載した自動正規化回
    路に於て、前記制御回路が外部装置が読取り得る出力を
    発生し、制御回路の出力が前記第1及び第2の制御信号
    の状態を表わしている自動正規化回路。
JP62202009A 1986-08-18 1987-08-14 バレル・シフタ Expired - Fee Related JP2674754B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/897,700 US4782457A (en) 1986-08-18 1986-08-18 Barrel shifter using bit reversers and having automatic normalization
US897700 1992-06-12

Publications (2)

Publication Number Publication Date
JPS63145524A JPS63145524A (ja) 1988-06-17
JP2674754B2 true JP2674754B2 (ja) 1997-11-12

Family

ID=25408284

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62202009A Expired - Fee Related JP2674754B2 (ja) 1986-08-18 1987-08-14 バレル・シフタ

Country Status (2)

Country Link
US (1) US4782457A (ja)
JP (1) JP2674754B2 (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4901263A (en) * 1988-09-12 1990-02-13 General Electric Company Versatile data shifter with sticky bit generation capability
JPH0337715A (ja) * 1989-07-05 1991-02-19 Fujitsu Ltd ビット順反転回路
US5144570A (en) * 1989-08-02 1992-09-01 Cyrix Corporation Normalization estimator
US5040138A (en) * 1989-08-02 1991-08-13 Cyrix Corporation Circuit for simultaneous arithmetic calculation and normalization estimation
SE464787B (sv) * 1989-10-04 1991-06-10 Ericsson Telefon Ab L M Foerfarande och anordning foer att utfoera en approximativ division
JPH0421025A (ja) * 1990-05-15 1992-01-24 Toshiba Corp 左右シフタ
AU4798793A (en) 1992-08-10 1994-03-03 Monolithic System Technology, Inc. Fault-tolerant, high-speed bus system and bus interface for wafer-scale integration
US5576982A (en) * 1994-10-17 1996-11-19 Unisys Corporation Fast significant bit calculator and its application to integer multiplication and division
US5701517A (en) * 1994-12-22 1997-12-23 Cirrus Logic, Inc. Pipelined alignment shifter and method for universal bit field boundary alignment
US5682340A (en) * 1995-07-03 1997-10-28 Motorola, Inc. Low power consumption circuit and method of operation for implementing shifts and bit reversals
US5771183A (en) * 1996-06-28 1998-06-23 Intel Corporation Apparatus and method for computation of sticky bit in a multi-stage shifter used for floating point arithmetic
US5844825A (en) * 1996-09-03 1998-12-01 Wang; Song-Tine Bidirectional shifter circuit
US5948050A (en) * 1996-12-19 1999-09-07 Lucent Technologies Inc. Fast conversion two's complement encoded shift value for a barrel shifter
US6078937A (en) * 1996-12-19 2000-06-20 Vlsi Technology, Inc. Barrel shifter, circuit and method of manipulating a bit pattern
US5995579A (en) * 1996-12-19 1999-11-30 Vlsi Technology, Inc. Barrel shifter, circuit and method of manipulating a bit pattern
US6895420B1 (en) 2000-02-16 2005-05-17 Hewlett-Packard Development Company, L.P. Apparatus and method for sharing data FET for a four-way multiplexer
US6728856B2 (en) 2001-06-01 2004-04-27 Microchip Technology Incorporated Modified Harvard architecture processor having program memory space mapped to data memory space
US7467178B2 (en) 2001-06-01 2008-12-16 Microchip Technology Incorporated Dual mode arithmetic saturation processing
US6604169B2 (en) 2001-06-01 2003-08-05 Microchip Technology Incorporated Modulo addressing based on absolute offset
US6552625B2 (en) 2001-06-01 2003-04-22 Microchip Technology Inc. Processor with pulse width modulation generator with fault input prioritization
US20020184566A1 (en) 2001-06-01 2002-12-05 Michael Catherwood Register pointer trap
US7007172B2 (en) 2001-06-01 2006-02-28 Microchip Technology Incorporated Modified Harvard architecture processor having data memory space mapped to program memory space with erroneous execution protection
US7020788B2 (en) 2001-06-01 2006-03-28 Microchip Technology Incorporated Reduced power option
US6975679B2 (en) 2001-06-01 2005-12-13 Microchip Technology Incorporated Configuration fuses for setting PWM options
US6937084B2 (en) 2001-06-01 2005-08-30 Microchip Technology Incorporated Processor with dual-deadtime pulse width modulation generator
US7003543B2 (en) 2001-06-01 2006-02-21 Microchip Technology Incorporated Sticky z bit
US6601160B2 (en) 2001-06-01 2003-07-29 Microchip Technology Incorporated Dynamically reconfigurable data space
US6976158B2 (en) 2001-06-01 2005-12-13 Microchip Technology Incorporated Repeat instruction with interrupt
US6952711B2 (en) 2001-06-01 2005-10-04 Microchip Technology Incorporated Maximally negative signed fractional number multiplication
US6985986B2 (en) 2001-06-01 2006-01-10 Microchip Technology Incorporated Variable cycle interrupt disabling
US6934728B2 (en) 2001-06-01 2005-08-23 Microchip Technology Incorporated Euclidean distance instructions
US6552567B1 (en) 2001-09-28 2003-04-22 Microchip Technology Incorporated Functional pathway configuration at a system/IC interface
US20040021483A1 (en) * 2001-09-28 2004-02-05 Brian Boles Functional pathway configuration at a system/IC interface
US20030235298A1 (en) * 2002-06-25 2003-12-25 Bedros Hanounik Shifting an encryption key in either a first or second direction via a uni-directional shifting unit
US9959247B1 (en) 2017-02-17 2018-05-01 Google Llc Permuting in a matrix-vector processor

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3831012A (en) * 1973-03-28 1974-08-20 Control Data Corp Normalize shift count network
US3961750A (en) * 1974-04-05 1976-06-08 Signetics Corporation Expandable parallel binary shifter/rotator
US4181976A (en) * 1978-10-10 1980-01-01 Raytheon Company Bit reversing apparatus
JPS5750049A (en) * 1980-09-09 1982-03-24 Toshiba Corp Shifting circuit
US4396994A (en) * 1980-12-31 1983-08-02 Bell Telephone Laboratories, Incorporated Data shifting and rotating apparatus
US4488252A (en) * 1982-02-22 1984-12-11 Raytheon Company Floating point addition architecture
JPS5991541A (ja) * 1982-11-18 1984-05-26 Toshiba Corp デ−タシフト回路
US4583197A (en) * 1983-06-30 1986-04-15 International Business Machines Corporation Multi-stage pass transistor shifter/rotator
JPS6132139A (ja) * 1984-07-24 1986-02-14 Nec Corp 双方向バレルシフト回路
US4636976A (en) * 1984-09-28 1987-01-13 Data General Corporation Bit shifting apparatus

Also Published As

Publication number Publication date
JPS63145524A (ja) 1988-06-17
US4782457A (en) 1988-11-01

Similar Documents

Publication Publication Date Title
JP2674754B2 (ja) バレル・シフタ
US4161784A (en) Microprogrammable floating point arithmetic unit capable of performing arithmetic operations on long and short operands
US4488252A (en) Floating point addition architecture
JPH02138620A (ja) 数値量を計算する方法および数値データ処理装置
JPH07210368A (ja) 算術演算の結果として生じる正および負のオーバーフローのハードウェアによる効率的な取り扱い方法
JPH07225671A (ja) 結果正規化機構と動作の方法
EP0407177B1 (en) Bit sequence reversing device
US4276607A (en) Multiplier circuit which detects and skips over trailing zeros
US4617641A (en) Operation unit for floating point data having a variable length exponent part
US3699326A (en) Rounding numbers expressed in 2{40 s complement notation
EP0264048B1 (en) Thirty-two bit bit-slice
EP0234495B1 (en) Arithmetic circuit capable of executing floating point operations and fixed point operations
EP0127007B1 (en) Data processing interface apparatus
JP3248743B2 (ja) 符号付き加算器のためのオーバーフロー/アンダーフロー高速制限回路
EP0068109B1 (en) Arithmetic and logic unit processor chips
US4417315A (en) Method and apparatus for incrementing a digital word
US3752394A (en) Modular arithmetic and logic unit
EP0250130A2 (en) A method and apparatus for identifying the precision of an operand in a multiprecision floating-point processor
JPS5829538B2 (ja) 浮動小数点演算装置
JPH0568725B2 (ja)
US6516332B1 (en) Floating point number data processing means
US4364025A (en) Format switch
JPH01232423A (ja) 演算回路
US4802088A (en) Method and apparatus for performing a pseudo branch in a microword controlled computer system
KR100252766B1 (ko) 고속으로 동작하는 스티키 신호 생성기

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees