JPH08335163A - 制御可能な幅のorゲート - Google Patents

制御可能な幅のorゲート

Info

Publication number
JPH08335163A
JPH08335163A JP8105710A JP10571096A JPH08335163A JP H08335163 A JPH08335163 A JP H08335163A JP 8105710 A JP8105710 A JP 8105710A JP 10571096 A JP10571096 A JP 10571096A JP H08335163 A JPH08335163 A JP H08335163A
Authority
JP
Japan
Prior art keywords
input
output
gate
controllable
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.)
Granted
Application number
JP8105710A
Other languages
English (en)
Other versions
JP3693748B2 (ja
Inventor
Simpson Richard
シンプソン リチャード
Erick Oakland
オークランド エリック
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JPH08335163A publication Critical patent/JPH08335163A/ja
Application granted granted Critical
Publication of JP3693748B2 publication Critical patent/JP3693748B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/1733Controllable logic circuits
    • H03K19/1735Controllable logic circuits by wiring, e.g. uncommitted logic arrays
    • H03K19/1736Controllable logic circuits by wiring, e.g. uncommitted logic arrays in which the wiring can be modified
    • 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
    • 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/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • G06F7/49947Rounding
    • G06F7/49952Sticky bit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Logic Circuits (AREA)

Abstract

(57)【要約】 【課題】制御可能な幅のORゲートを得ること。 【解決手段】制御可能な幅のORゲートは複数の制御可
能なORゲートセル(100)を採用する。各セル(1
00)は、OR0、ST0、OR1、ST1の4つのデ
ータ入力と単一の制御入力C0、及びORout とSTou
t の2つの出力を有する。第1のORゲート(101)
はORout 出力として無条件にOR0とOR1入力のO
Rを形成する。第2のORゲート(102)はOR0入
力とST1入力のORを形成する。2つのパスゲート
(104、105)は、C0が1であれば、第2のOR
ゲート(102)の出力(OR0 OR ST1) がSTout に生
じ、C0が0であれば、ST0入力はSTout を出力す
るために供給される。セルの各層は制御ワードの対応ビ
ットによって制御される。最後の層の単一セルのSTou
t は制御可能な幅のORゲート出力を形成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ディジタル・デー
タ処理に関し、特に、ディジタル・データ処理の浮動少
数点演算のためのマイクロプロセッサの回路、アーキテ
クチュアおよび方法に関する。
【0002】
【従来の技術及び問題点】浮動少数点演算は、しばしば
演算前に2つの数の2進少数点の位置あわせを必要とす
る。2つの数の指数部が、2進少数点を位置あわせする
ためにどの程度の大きさの桁送りが必要であるかを決定
するために、比較される。最も小さな数の仮数(mantis
sa) は、最も大きな数の指数部と最も小さな数の指数部
間の差に等しい多くの場所に正確に桁送りされる。この
桁送りは数の2進少数点を配列し、加減算を可能にす
る。またこの桁送りは、桁送りされた最も小さな数の最
下位ビットの幾つかを失う。算術演算に続いて、その結
果は丸められる。IEEE─745の浮動少数点の仕様
は4つの丸めモードを定義する。1)正の無限大に丸め
る;2)負の無限大に丸める;3)最も近い整数に丸め
る;および4)切捨てとして知られる0に丸める、。こ
れらのモードの最初の3つにおいては、丸めは、最も小
さな数の桁送りされた最下位ビットのいづれもが1であ
ったかどうかに依存する。これは、スティッキー・ビッ
ト(sticky bit) として知られている。桁送り動作中に
これらのビットが桁送りされるので、これらのビットを
調べることは、この分野において知られている。これ
は、これらのビットの1以上が1であるかどうかの検出
を可能にする。この技術は、比較的有利ではない。何故
ならば、それはスティッキイビットがわかる前に完全な
桁送りが生ずることを必要とするからである。これらの
桁送りされた最下位ビットの多くの一つが1であったど
うかを決定するための速い方法があるならば、有利であ
る。
【0003】
【本発明の概要】本発明は、制御可能な幅のORゲート
を形成する。この制御可能な幅のORゲート機能は浮動
少数点演算においては有用である。この制御可能な幅の
ORゲートは複数の制御可能なORゲートセルを用い
る。もしORされるべきデータの最大幅がNビットであ
れば、N−1の制御可能なORゲートセルが必要であ
る。各々の制御可能なORゲートセル100は4つのデ
ータ入力、即ちOR0、ST0、OR1およびST1、
および単一の制御入力C0を有している。各々の制御可
能なORゲートセル100は、2つの出力、即ちORou
t とSTout を有している。第1のORゲートは、OR
out 出力として無条件にOR0とOR1の入力のORを
形成する。第2のORゲートは、OR0入力とST1入
力のORを形成する。2つのパスゲートは、インバータ
により制御入力C0上の信号によって反対のセンスに制
御される。もしC0が1であれば、第2のORゲート
(OR0或いはST1)の出力がSTout に与えられ
る。もしC0が0であれば、ST0入力がSTout に与
えられる。従って、制御可能なORゲートセル100は
以下の機能を生成する。
【0004】ORout =OR0 OR OR1 STout =[(ST1 OR OR0) AND C0 ] OR [STO AND NOT(C
O)] 制御可能なORゲートセルは広い制御可能な幅のORゲ
ートを形成するために用いることができる。第1の層に
対して、第1のデータ入力は、OR0およびST0入力
の両方を供給し、第2のデータ入力はOR1およびST
1入力の両方を供給する。制御ワードの最下位ビットは
C0を供給する。制御可能なORゲートセルの続く層
は、前の層である第1のセルのORout 出力に接続され
たOR0入力、前の層である第1のセルのSTout 出力
に接続されたST0入力、前の層であるの第2のセルの
ORout 出力に接続されたOR1入力、および前の層で
ある第2のセルのSTout 出力に接続されたST1入力
を有している。セルの各層は制御ワードの対応ビットに
よって制御される。最後の層の単一セルのSTout は制
御可能な幅のORゲート出力を形成する。
【0005】
【実施の形態】本発明は、制御可能な幅のORゲートで
ある。これは、1ビットからNビット幅のORゲートを
プログラムするための速い方法を提供する。この機能は
浮動少数点演算の論理装置に有用である。制御可能な幅
のORゲートは2つの入力を有している。第1の入力
は、ORされるべきデータのデータバスである。第2の
入力はORゲートの幅を決定するために用いられる制御
ワード入力である。制御可能な幅のORゲートからの2
つの出力がある。第1の出力は、単一ビット出力ORou
t であり、それは制御ワード入力に無関係にデータバス
の全てのビットのORである。第2の出力は、単一ビッ
ト出力STout であり、それはビット0から制御ワード
によって特定されるビットまでのデータバスの全てのビ
ットのORである。制御可能な幅のORゲートは繰り返
されたセルから形成される。これらのセルの各々は、デ
ータおよび制御ワード入力を有し、ORout とSTout
出力を形成する。繰り返されたセルからのORout 信号
は中間的な信号として用いられる。図1は、基本的な組
み立てブロックとして用いられる制御可能なORゲート
セル100を示す。この制御可能なORゲートセル10
0は、4つのデータ入力、即ちOR0,ST0,OR1
とST1、および単一の制御入力C0を有している。こ
の制御可能なORゲートセル100は、2つの出力、即
ちORout とSTout を有している。ORゲート101
は、OR0とOR1入力のORを無条件に形成する。こ
のORゲート101はORout 出力を与える。ORゲー
ト102は、OR0入力とST1入力のORを形成す
る。2つのパスゲート104と105は、インバータ1
03によって制御入力C0の信号で反対のセンスに制御
される。もし、C0が1であれば、ORゲート102の
出力がSTout に与えられる。もし、C0が0であれ
ば、ST0入力が出力STout に与えられる。信号のS
Tout は、ワイヤードOR機能(wired OR function) で
ある。インバータ103、およびパスゲート104と1
05の作用により、このワイヤードORへの単一入力だ
けはいつでもアクティブである。従って、制御可能なO
Rゲートセル100は以下の機能を有している。
【0006】ORout =OR0 OR OR1 STout =[(ST1 OR OR0) AND C0 ] OR [STO AND NOT(C
O)] 制御可能なORゲートセル100は、広い制御可能な幅
のORゲートを形成するために用いられる。この使用に
おいて、第1の入力D0は、OR0とST0入力を供給
し、第2の入力D1は、OR1とST1入力を供給す
る。ORout 信号は制御信号C0の状態に関係なくD0
OR D1である。もし、C0=0ならば、STout
信号はD0、本質的には、D0の1ビットORゲートで
ある。もし、C0=1なら、STout はD0 OR D
1である。図2は、3つの制御可能なORゲートセルを
用いる4ビット幅の可変幅ORゲートを示す。制御可能
なORセル201、202および203は、それぞれ図
1に示されるように構成される。データ入力D0は、制
御可能なORゲートセル201のOR0とST0の2つ
の入力を供給する。データ入力D1は、制御可能なOR
ゲートセル201のOR1とST1の2つの入力を供給
する。データ入力D2は、制御可能なORゲートセル2
02のOR0とST0の2つの入力を供給する。データ
入力D3は、制御可能なORゲートセル202のOR1
とST1の2つの入力を供給する。制御ワードビットC
0は、双方の制御可能なORゲートセル201と202
のC0入力を供給する。制御可能なORゲートセル20
1のSTout 出力は、制御可能なORゲートセル203
のST0入力を供給する。制御可能なORゲートセル2
01のORout 出力は、制御可能なORゲートセル20
3のOR0入力を供給する。制御可能なORゲートセル
202のSTout 出力は、制御可能なORゲートセル2
03のST1入力を供給する。制御可能なORゲートセ
ル202のORout 出力は、制御可能なORゲートセル
203のOR1入力を供給する。制御ワードビットC1
は、制御可能なORゲートセル203のC0入力を供給
する。制御可能なORゲートセル203のSTout 出力
は、所望の制御可能な幅のORゲート出力を生じる。
【0007】図2に示された4ビット幅の制御可能な幅
のORゲートは以下のように動作する。制御ワードC
(1:0)は、所望のORゲート幅を示すためにセット
される。これは、下記のテーブルに示される。 C(1:0)=(0,0)に対して、制御可能なORゲ
ートセル203は、そのST0入力のみをORゲート入
力に結合する。制御可能なORゲートセル201は、D
0入力であるそのST0入力で、制御可能なORゲート
セル203のST0入力を供給する。従って、制御可能
なゲート出力はD0である。C(1:0)=(0,1)
に対して、制御可能なORゲートセル203は、そのS
T0入力のみをORゲート出力に結合する。制御可能な
ORゲートセル201は、そのST1入力とそのOR0
入力で、制御可能なORゲートセル203のST0入力
を供給する。これは、D0 OR D1である。従っ
て、制御可能なORゲート出力はD0 OR D1であ
る。C(1:0)=(1,0)に対して、制御可能なO
Rゲートセル203は、そのST1入力とそのOR0入
力のORをORゲート出力に結合する。制御可能なOR
ゲートセル203のST1入力は、制御可能なORゲー
トセル202のSTout である。C0=0であるから、
これは、D2入力である。制御可能なORゲートセル2
03のOR0入力は、D0 OR D1である制御可能
なORゲートセル201のORout である。従って、制
御可能なORゲート出力はD0 OR D1 OR D
2である。C(1:0)=(1,1)に対して、制御可
能なORゲートセル203は、そのST1入力とそのO
R0入力のORをORゲート出力に結合する。制御可能
なORゲートセル203のST1入力は、制御可能なO
Rゲートセル202のSTout である。C0=1である
から、これは、D2 OR D3である。制御可能なO
Rゲートセル203のOR0入力は、D0 OR D1
である制御可能なORゲートセル201のORout であ
る。従って、制御可能なORゲート出力はD0 OR
D1 ORD2 OR D3である。図2の構造は、制
御ワードに対応する多くのデータラインのORを生成す
ることが判る。特に、制御可能な幅のORゲートのデー
タラインの数は制御ワードの値より1つ多い。
【0008】大きな制御可能な幅のORゲートは、複数
の制御可能なORゲートセル100を用いて形成され
る。上述のように、4ビット幅の可変幅ORゲートは、
2つの2ビット幅の可変幅ORゲートのORである。8
ビット幅の可変幅ORゲートは、2つの4ビット幅の可
変幅ORゲートなどのORである。図3は、32ビット
幅の可変幅ORゲートの関係を示す。32ビット幅の可
変幅ORゲートは、5つの制御信号C(4:0)を必要
とする。図3および図4に示されるように、この32ビ
ット幅ORゲートは、2つの16ビット幅ORゲートか
ら構成される。もし、最上位の制御ビットC4が0であ
るなら、最大の位置までORを実行するために必要とさ
れるが、最大の位置は、データバスビット0−15の下
位の半分にある。従って、STout から生じるORは、
データバスの最下位の16ビットからのORである。こ
れらのビットのORは信号(C(3:0)によって制御
される。もし、最上位の制御ビットC4が1であれば、
最大の位置までORを実行するために必要とされるが、
最大の位置は、データバスビット16−31の上位の半
分内にある。STout から生じるORは、データバスの
上位の半分の適当なビット数でORされたデータバスD
(15:0)の最下位の半分のすべてのビットである。
この数は、制御ワードC(3:0)の4つの最下位ビッ
トによって制御される。従って、32ビットの制御可能
な幅のORゲートは、2つの、16ビットの制御可能な
幅のORゲートの組み合わせである。同様な理由で、図
1の2ビットの制御可能な幅のORゲートセル100に
低下する16ビットの制御可能な幅のORゲート、4ビ
ットの制御可能な幅のORゲートに適用できる。
【0009】図3および図4は、これらの原理によって
構成された32ビット幅の制御可能な幅のORゲートを
示す。制御可能なORゲートセル301−316はデー
タD(31:0)の32ビットを直接受け取る。これら
の制御可能なORゲートセル301−316の各々は、
入力データの2つの隣接ビットを受け取る。図3に示さ
れるように、各々のデータ入力ラインは、制御可能なO
RゲートセルのST入力とOR入力を駆動する。制御可
能なORゲートセル301−316は、制御ワードC
(4:0)のC0によって制御される。制御可能なOR
ゲートセル301−316は、信号を制御可能なORゲ
ートセル317−324に供給する。これらの制御可能
なORゲートセル317−324のST0とOR0入力
は、そのST0入力において制御可能なORゲートセル
301−316の第1から出力STout を、そしてその
OR0入力においてこの制御可能なORゲートセルから
出力ORout を受け取る。制御可能なORゲートセル3
01−316の第2は、そのSTout 出力とORout 出
力からST1とOR1をそれぞれ供給する。制御可能な
ORゲートセル317−324は、制御ワードC(4:
0)のC1ビットによって制御される。同様に、制御可
能なORゲートセル325−328は、制御可能なOR
ゲートセル317−324の出力からの入力を受け取
り、制御ワードC(4:0)のC2ビットによって制御
される。制御可能なORゲートセル329と330は、
制御可能なORゲートセル325−328の出力から同
様な入力を受け取り、制御ワードC(4:0)のC3ビ
ットによって制御される。最後に、制御可能なORゲー
トセル331は、制御可能なORゲートセル329−3
30の出力から入力を受け取り、制御ワードC(4:
0)のC4ビットによって制御される。制御可能なOR
ゲートセル331は、そのSTout 出力において、32
ビットの制御可能な幅のORゲート出力を供給する。
【0010】表2は、制御ワードC(4:0)、データ
バスD(31:0)の32ビットおよび制御可能なOR
ゲートセル331の2つの出力STout とORout 間の
関係を示す。 図5は、制御可能なORゲートセル401−412が1
3ビット制御可能な幅のORゲートにどの様に接続され
るかを示す。制御可能なORゲートセル401−412
は、図3および図4に示されたものと同様な方法で接続
される。図5は、この技術が2の整数乗でない大きさを
有する制御できる幅のORゲートを形成するために用い
られる。表3は制御ワードC(3:0)、データバスD
(13:0)の13ビット、および制御可能なORゲー
トセル412の2つの出力STout とORout 間の関係
を示す。
【0011】 14ビット、15ビットおよび16ビットのORゲート
幅に対応する(1,1,0,1)、(1,1,1,0)
および(1,1,1,1)の制御ワードC(3:0)の
他の定義されないコード化は13ビットの全入力幅とし
て定義される。データ入力D12は、制御されないOR
ゲートセル411のOR1とST1の2つの入力に供給
される。この入力は16ビット幅の制御可能な幅のOR
ゲートにおいて用いられる他の制御可能なORゲートセ
ルを効果的にスキップする。このスキップ技術を用い
て、あらゆるサイズの制御可能な幅のORゲートを構成
することが可能である。Nビット幅の制御可能な幅のO
Rゲートは、図1に示されるようなN−1の制御可能な
ORゲートセルを必要とする。
【0012】スティッキー発生器としての本発明の制御
可能な幅のORゲートを用いる浮動小数点加算器装置の
構成が図6に示される。これは、倍精度の動作が各サイ
クル毎に開始され、単精度と同様なラテンシー(latenc
y: 待ち時間) を有していることを意味している。浮動
小数点加算器ユニットは次のステージを有している。指
数の比較器/減算器501は指数を比較し、バイナリー
ポイントを位置あわせするためにより小さな数を右へシ
フトする。スワップ・ユニットは502は、加算器50
4に供給する前に第1と第2のオペランドを任意に交換
する。右シフトユニット503は指数比較器/減算器5
01から信号を受け、第2オペランドにおいて対応する
右シフトを行う。スワップ・ユニット502は、整列が
右シフトによって達成される得ることを保証することに
留意されたい。2つのバイナリー数を加算あるいは減算
する第1のステップは仮数の2進少数点を位置あわせす
ることである。もし、指数比較器/減算器501は、第
1のオペランドがより小さな指数を有しているを決定す
るならば、2つのオペランドはスワップユニット502
において交換される。いま、より小さな指数を有してい
る任意に交換された第2のオペランドにおける右シフト
の正味の量は、第1と第2のオペランドの指数間の絶対
的な差である。2つのオペランドは標準的な全加算器5
04に送られる。全加算器504は、正規化ステップで
用いられる仮数において、先導の1の位置を予測する。
【0013】IEEE標準745は、あたかも全ての動
作は無限の精度を用いおよび指定フォーマットに丸める
かのように行われることを要求する。IEEE標準74
5に従うために、右桁送りユニット(shift right unit)
503は3ビットを仮数の最下位に加える。最初の2つ
は精度の正規の余分ビットである。第3のビットは、最
も小さな入力数の右桁送り中に、仮数の最後をシフトオ
フ(shifted off) した全てのビットの論理ORである。
加算/減算の完了後、仮数は、それが開始し、隠れビッ
ト(hidden bit)が“1”でないときより3ビット長い。
これは、2つの仮数が減算、あるいは反対の符号を有す
る2つの数の加算されたかどうかを生じる。左桁送りユ
ニット(shift left unit) 505は、隠れビットが
“1”になるまで仮数を左に桁送りする。仮数を正規化
するために必要な桁送りの数は全加算器504によって
生成される。もし、仮数が左に桁送りされるなら、指数
減算器506は、指数から桁送りの総数を減算すること
によって、新しい仮数を表す指数を減らす。これは、指
数が1のバイアスされた値(biased value)である最小の
指数値以下にならないならば、満足である。もし、指数
がその最小値以下になるなら、その数は正規化されな
い。左桁送りが、指数が1になるまで、許されるか、あ
るいは桁送りが完了してしまう。左桁送りユニット50
5からの数はできるだけ多く正規化され、指定の精度に
丸めるられるように用意する。
【0014】丸め装置507は、スティッキービット、
符号および丸めモードと共に精度の3つの拡張されたビ
ットを用いる。丸めモードは、IEEE標準754によ
って定義され、ユーザーによって選らばれる。4つの丸
めモードは、1)正の無限大に向かって丸める、2)負
の無限大に向かって丸める、3)最も近い整数に向かっ
て丸める、および4)切捨てとして知られるように、ゼ
ロに向かって丸めることである。最も近い整数への丸め
(半分調整)およびゼロへの丸め(切捨て)は、最も普
通の丸めモードである。指示された丸めモードは、既知
の方法で丸めのエラーを制御するために標準的に用いら
れる。ゼロへの丸めモードは簡単であり、入力仮数は指
定の精度に切捨てられる。最も近い整数への丸めモード
は、最も近い値に、あるいは例え厳密に途中であって
も、丸められるように示される。最も近い整数への丸め
モードにおいて、仮数は、次の式が真であれば、増加さ
れる。 切上げ=第1ビット AND (第2ビット OR 第3ビット O
R スティッキー) ( round up = 1st-bit AND (2nd-bit OR 3rd-bit OR
sticky) ) スティッキー発生器508は、スティッキービットを丸
め装置507に供給する。スティッキー発生器508
は、指数比較器/減算器501からの桁送り量とスワッ
プ・ユニット502からの小さな仮数を受け取る。ステ
ィッキー発生器508は、上記の形式の制御可能な幅の
ORゲートから成っている。制御可能な幅のサイズは、
浮動小数点加算器のために選択された精度に依存する。
IEEE−744の浮動小数点標準は、22ビットの仮
数の少数点部を有する単精度を定義する。右桁送りは隠
れビットも桁送りすることができるので、単精度の算術
のためのスティッキー発生器は23ビットを持つ必要が
ある。IEEE−744の浮動小数点標準は52ビット
の仮数の少数点部を有する倍精度を定義する。従って、
倍精度の算術のためのスティッキー発生器は53ビット
を持つ必要がある。図6に示された浮動小数点ユニット
は、倍精度の浮動小数点数で動作し、桁送り量が倍精度
の仮数より大きな桁送りを特定することができる6ビッ
トを有していることに留意されたい。
【0015】スワップ・ユニット502から受け取った
仮数の最下位ビットは、制御可能な幅のORユニットに
供給されたデータの最下位ビットとして働く。桁送り量
より少ないものは、制御可能な幅のORユニットに対す
る制御ワードとして働く。その結果のORは、丸めプロ
セスにおいて使用するめの丸め装置507に供給される
スティッキービットである。以上の記載に関連して、以
下の各項を開示する。 (1) Nビット幅の制御可能な幅のORゲートであって、
Nビット幅のデータ入力ポートと、Mビットの制御ワー
ドを受け取る制御ワード入力ポートと、ここでMは、ビ
ットの最も近い整数まで丸められたlog2Nに等しい、N
−1の制御可能なORゲートセル、各制御可能なORゲ
ートセルは、OR0入力、ST0入力、OR1入力、S
T1入力、制御ビット入力、ORout 出力およびSTou
t 出力を有し、各制御可能なORゲートセルは:前記O
R0入力に接続された第1の入力、前記OR1入力に接
続された第2の入力および前記ORout 出力に接続され
た出力を有する第1のORゲート;前記OR0入力に接
続された第1の入力、前記ST1入力に接続された第2
の入力および出力を有する第2のORゲート;前記第2
のORゲートの前記出力に接続された入力、前記STou
t 出力に接続された出力、および前記制御ビット入力に
接続された制御ゲートを有する第1のパスゲート;前記
制御ビット入力に接続された入力、および出力を有する
インバータ;前記ST0入力に接続された入力、前記S
Tout 出力に接続された出力、および前記インバータの
出力に接続された制御ゲートを有する第2のパスゲート
を有し、前記データポートの対応ビットを接続した前記
OR0とST0入力、および前記データ入力ポートの次
の高いビットに接続された前記OR1とST1入力を有
する前記制御可能なORゲートセルの第1の層であっ
て、前記1の層の各制御可能なORゲートセルの前記制
御ビット入力は、前記制御ワード入力ポートの最下位の
ビットに接続され、前の層の第1の制御可能なORゲー
トセルの前記ORout 出力に接続された前記OR0入
力、前記前の層の前記第1の制御可能なORゲートセル
のSTout 出力に接続された前記ST0入力、前記前の
層の第2の制御可能なORゲートセルの前記ORout 出
力に接続された前記OR1入力、前記前の層の前記第2
の制御可能なORゲートセルの前記STout 出力に接続
された前記ST1入力を有する前記制御可能なORゲー
トセルの続く層であって、各層の各制御可能なORゲー
トセルの前記制御ビット入力は、前記制御ワード入力ポ
ートの対応ビットに接続され、および前記制御可能な幅
のORゲート出力を形成する最終層の単一の制御可能な
ORゲートセルの前記STout と、を有する制御可能な
幅のORゲート (2)Nビット幅の制御可能な幅のORゲートであっ
て、Nビット幅のデータ入力ポートと、Mビットの制御
ワードを受け取る制御ワード入力ポート、ここで、Mは
ビットの最も近い整数まで丸められたlog2N に等しく、
N−1の制御可能なORゲートセル、各制御可能なOR
ゲートセルは、OR0入力、ST0入力、OR1入力、
ST1入力、制御ビット入力、ORout 出力およびST
out 出力を有し、各制御可能なORゲートセルは、次の
論理機能を達成し、 ORout =OR0 OR OR1 STout =[(ST1 OR OR0) AND C] OR [ST0 AND NOT(C)] ここで、OR0は前記OR0入力における信号、ST0
は前記ST0入力における信号、OR1は前記OR1入
力における信号、ST1は前記ST1入力における信
号、ORout は前記ORout 出力に発生する信号、ST
out は前記STout 出力に発生する信号、およびCは前
記制御ビット入力である、前記データポートの対応ビッ
トを接続した前記OR0とST0、および前記データ入
力ポートの次の高ビットに接続された前記OR1とST
1を有する前記制御可能なORゲートセルの第1の層、
前記制御ワード入力ポートの最下位ビットい接続された
前記第1の層の各制御可能なORゲートセルの前記制御
ビット入力、前の層の第1の制御可能なORゲートセル
の前記ORout 出力に接続された前記OR0入力、前記
前の層の前記第1の制御可能なORゲートセルの前記S
Tout 出力に接続された前記ST0入力、前記前の層の
第2の制御可能なORゲートセルの前記ORout 出力に
接続された前記OR1入力、前記前の層の前記第2の制
御可能なORゲートセルの前記STout 出力に接続され
た前記ST1入力、前記制御ワード入力ポートの対応ビ
ットに接続された各層の各制御可能なORゲートセルの
制御ビット入力、および前記制御可能な幅のORゲート
出力を形成する最後の層の単一の制御可能な幅のORゲ
ートセルの前記STout 、を有するNビット幅の制御可
能な幅のORゲート。 (3)2進化制御ワード入力より1つ多くに相当するN
ビットデータバス上の入力データの制御可能な幅の論理
ORを形成する方法であって、 a)前記入力データのビットの各対に対し、前記ビット
対の第1の入力ビットと第2の入力ビットの論理ORと
してOR出力を形成し、もし、前記2進化制御ワードの
最下位ビットが“1”であるなら、前記ビット対の前記
第1の入力ビットと前記第2の入力ビットの論理ORと
して、および前記2進化制御ワードの最下位ビットが
“0”であるなら、前記第1の入力ビットとして、ST
出力を形成し、 b)前のOR出力とST出力の各対に対して、前のOR
出力とST出力の前記対の第1の前のOR出力と第2の
前のOR出力の論理ORとして、次のOR出力を形成
し、もし、前記2進化制御ワードの対応ビットが“1”
であるなら、前のOR出力とST出力の前記対の第1の
前のOR出力と第2の前のST出力の論理ORとして、
および前記2進化制御ワードの最下位ビットが“0”で
あるなら、前記第1の前のST出力として、次のST出
力を形成し、 c)次のOR出力と次のST出力の続く形成のために、
前記次のOR出力は前のOR出力を形成し、および前記
次のST出力は前のST出力を形成し、且つ d)次のOR出力と次のST出力の最後の形成の前記S
T出力は所望の制御可能な幅のORゲート出力である、
ことを特徴とする方法。 (4)制御可能な幅のORゲートは複数の制御可能なO
Rゲートセル(100)を採用する。もし、ORされる
べきデータの最大幅がNビットであれば、N−1の制御
可能なORゲートセルが必要である。各々の制御可能な
ORゲートセル(100)は、4つのデータ入力、即ち
OR0、ST0、OR1とST1、および単一の制御入
力C0を有する。各制御可能なORゲートセルは2つの
出力、即ちORout とSTout を有する。第1のORゲ
ート(101)はORout 出力として無条件にOR0と
OR1入力のORを形成する。第2のORゲート(10
2)は、OR0入力とST1入力のORを形成する。2
つのパスゲート(104、105)はインバータによっ
て、制御入力C0上の信号により反対符号に制御され
る。もし、C0が1であれば、第2のORゲート(10
2)の出力(OR0 OR ST1) は、第1のパスゲート(10
4)を介してSTout を出力するために供給される。も
し、C0が0であれば、ST0入力は、第2のパスゲー
ト(105)を介してSTout を出力するために供給さ
れる。制御可能なORゲートセル(100)は広い制御
可能な幅のORゲートを形成するために用いられる。セ
ルの各層は制御ワードの対応ビットによって制御され
る。最後の層の単一セルのSTout は制御可能な幅のO
Rゲート出力を形成する。
【図面の簡単な説明】
【図1】本発明による2ビット制御可能なORゲートセ
ルにおける回路を示す。
【図2】図1に示された、3つの制御可能なORゲート
セルを用いた4ビット幅の制御可能な幅のORゲートの
構成を示す。
【図3】図1に示された、31の制御可能なORゲート
セルを用いた32ビット幅の制御可能な幅のORゲート
の構成の一部を示す。
【図4】図1に示された、31の制御可能なORゲート
セルを用いた32ビット幅の制御可能な幅のORゲート
の構成の他の一部を示す。
【図5】図1に示された、12の制御可能なORゲート
セルを用いた13ビット幅の制御可能な幅のORゲート
の構成の他の一部を示す。
【図6】本発明の制御可能な幅のスティッキー発生器を
用いた浮動少数点演算の論理装置のアーキテクチュアを
示す。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】Nビット幅の制御可能な幅のORゲートで
    あって、 Nビット幅のデータ入力ポートと、 Mビットの制御ワードを受け取る制御ワード入力ポート
    と、ここでMは、ビットの最も近い整数まで丸められた
    log2Nに等しい、 N−1の制御可能なORゲートセル、各制御可能なOR
    ゲートセルは、OR0入力、ST0入力、OR1入力、
    ST1入力、制御ビット入力、ORout 出力およびST
    out 出力を有し、各制御可能なORゲートセルは:前記
    OR0入力に接続された第1の入力、前記OR1入力に
    接続された第2の入力および前記ORout 出力に接続さ
    れた出力を有する第1のORゲート;前記OR0入力に
    接続された第1の入力、前記ST1入力に接続された第
    2の入力および出力を有する第2のORゲート;前記第
    2のORゲートの前記出力に接続された入力、前記ST
    out 出力に接続された出力、および前記制御ビット入力
    に接続された制御ゲートを有する第1のパスゲート;前
    記制御ビット入力に接続された入力、および出力を有す
    るインバータ;前記ST0入力に接続された入力、前記
    STout 出力に接続された出力、および前記インバータ
    の出力に接続された制御ゲートを有する第2のパスゲー
    トを有し、 前記データポートの対応ビットを接続した前記OR0と
    ST0入力、および前記データ入力ポートの次の高いビ
    ットに接続された前記OR1とST1入力を有する前記
    制御可能なORゲートセルの第1の層であって、前記1
    の層の各制御可能なORゲートセルの前記制御ビット入
    力は、前記制御ワード入力ポートの最下位のビットに接
    続され、 前の層の第1の制御可能なORゲートセルの前記ORou
    t 出力に接続された前記OR0入力、前記前の層の前記
    第1の制御可能なORゲートセルのSTout 出力に接続
    された前記ST0入力、前記前の層の第2の制御可能な
    ORゲートセルの前記ORout 出力に接続された前記O
    R1入力、前記前の層の前記第2の制御可能なORゲー
    トセルの前記STout 出力に接続された前記ST1入力
    を有する前記制御可能なORゲートセルの続く層であっ
    て、各層の各制御可能なORゲートセルの前記制御ビッ
    ト入力は、前記制御ワード入力ポートの対応ビットに接
    続され、および前記制御可能な幅のORゲート出力を形
    成する最終層の単一の制御可能なORゲートセルの前記
    STout と、を有する制御可能な幅のORゲート
  2. 【請求項2】2進化制御ワード入力より1つ多くに対応
    するNビットデータバス上の入力データの制御可能な幅
    の論理ORを形成する方法であって、 a)前記入力データのビットの各対に対し、 前記ビット対の第1の入力ビットと第2の入力ビットの
    論理ORとしてOR出力を形成し、 もし、前記2進化制御ワードの最下位ビットが“1”で
    あるなら、前記ビット対の前記第1の入力ビットと前記
    第2の入力ビットの論理ORとして、および前記2進化
    制御ワードの最下位ビットが“0”であるなら、前記第
    1の入力ビットとして、ST出力を形成し、 b)前のOR出力とST出力の各対に対して、 前のOR出力とST出力の前記対の第1の前のOR出力
    と第2の前のOR出力の論理ORとして、次のOR出力
    を形成し、 もし、前記2進化制御ワードの対応ビットが“1”であ
    るなら、前のOR出力とST出力の前記対の第1の前の
    OR出力と第2の前のST出力の論理ORとして、およ
    び前記2進化制御ワードの最下位ビットが“0”である
    なら、前記第1の前のST出力として、次のST出力を
    形成し、 c)次のOR出力と次のST出力の続く形成のために、
    前記次のOR出力は前のOR出力を形成し、および前記
    次のST出力は前のST出力を形成し、且つ d)次のOR出力と次のST出力の最後の形成の前記S
    T出力は所望の制御可能な幅のORゲート出力である、
    ことを特徴とする方法。
JP10571096A 1995-04-26 1996-04-25 制御可能な幅のorゲート Expired - Fee Related JP3693748B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/428978 1995-04-26
US08/428,978 US5502401A (en) 1995-04-26 1995-04-26 Controllable width or gate

Publications (2)

Publication Number Publication Date
JPH08335163A true JPH08335163A (ja) 1996-12-17
JP3693748B2 JP3693748B2 (ja) 2005-09-07

Family

ID=23701233

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10571096A Expired - Fee Related JP3693748B2 (ja) 1995-04-26 1996-04-25 制御可能な幅のorゲート

Country Status (4)

Country Link
US (1) US5502401A (ja)
EP (1) EP0740418B1 (ja)
JP (1) JP3693748B2 (ja)
DE (1) DE69633479T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012521047A (ja) * 2009-03-16 2012-09-10 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 浮動小数点ユニットにおけるオーバーシフトの高速検出のためのメカニズム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2880958B2 (ja) * 1996-07-30 1999-04-12 日本電気アイシーマイコンシステム株式会社 半導体集積回路
US10514891B1 (en) * 2019-05-24 2019-12-24 Google Llc Multi-input floating-point adder

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3912914A (en) * 1972-12-26 1975-10-14 Bell Telephone Labor Inc Programmable switching array
US5012135A (en) * 1989-05-12 1991-04-30 Plus Logic, Inc. Logic gates with a programmable number of inputs
US5138198A (en) * 1991-05-03 1992-08-11 Lattice Semiconductor Corporation Integrated programmable logic device with control circuit to power down unused sense amplifiers
JP3014238B2 (ja) * 1993-04-28 2000-02-28 富士通株式会社 可変論理演算装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012521047A (ja) * 2009-03-16 2012-09-10 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 浮動小数点ユニットにおけるオーバーシフトの高速検出のためのメカニズム

Also Published As

Publication number Publication date
US5502401A (en) 1996-03-26
EP0740418A1 (en) 1996-10-30
EP0740418B1 (en) 2004-09-29
JP3693748B2 (ja) 2005-09-07
DE69633479D1 (de) 2004-11-04
DE69633479T2 (de) 2005-02-24

Similar Documents

Publication Publication Date Title
EP0326415B1 (en) Floating point/integer processor with divide and square root functions
US4941120A (en) Floating point normalization and rounding prediction circuit
US5790446A (en) Floating point multiplier with reduced critical paths using delay matching techniques
US5267186A (en) Normalizing pipelined floating point processing unit
US6820107B1 (en) Square root extraction circuit and floating-point square root extraction device
JP2000347836A (ja) 高次基数除算器およびその方法
JPH06236252A (ja) 浮動小数点数の仮数部の先行ゼロの数を検出する先行ゼロ2段及び多段検出ユニット、浮動小数点左シフト仮数正規化ユニット及び先行ゼロの数を検出する方法
US5132925A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
JP2831729B2 (ja) プライオリティエンコーダおよび浮動小数点正規化装置
JPS6131890B2 (ja)
JPS6125245A (ja) 丸め処理回路
JPH057737B2 (ja)
JPH05341963A (ja) 多ビット入力加算回路及びその方法
US8650231B1 (en) Configuring floating point operations in a programmable device
US8732226B2 (en) Integer rounding operation
JP3693748B2 (ja) 制御可能な幅のorゲート
US4823300A (en) Performing binary multiplication using minimal path algorithm
JPH09222991A (ja) 加算方法および加算器
JPH0450614B2 (ja)
CN113031915A (zh) 乘法器、数据处理方法、装置及芯片
JP2555135B2 (ja) 演算回路
US6044391A (en) Method of generating the sticky-bit from the input operands
JPS62219027A (ja) 桁上げ先見回路
US20220004362A1 (en) Circular accumulator for floating point addition
JP2801472B2 (ja) 浮動小数点演算装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050609

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050613

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050622

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080701

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090701

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100701

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110701

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110701

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120701

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130701

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees