JPH10289096A - 論理回路及び浮動小数点演算装置 - Google Patents

論理回路及び浮動小数点演算装置

Info

Publication number
JPH10289096A
JPH10289096A JP10006026A JP602698A JPH10289096A JP H10289096 A JPH10289096 A JP H10289096A JP 10006026 A JP10006026 A JP 10006026A JP 602698 A JP602698 A JP 602698A JP H10289096 A JPH10289096 A JP H10289096A
Authority
JP
Japan
Prior art keywords
bit
signal
circuit
cancellation
carry
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
JP10006026A
Other languages
English (en)
Other versions
JP3544846B2 (ja
Inventor
Shinichi Yoshioka
晋一 吉岡
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP00602698A priority Critical patent/JP3544846B2/ja
Priority to US09/022,845 priority patent/US6085211A/en
Publication of JPH10289096A publication Critical patent/JPH10289096A/ja
Application granted granted Critical
Publication of JP3544846B2 publication Critical patent/JP3544846B2/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/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
    • 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/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/485Adding; Subtracting
    • 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/49936Normalisation mentioned as feature only

Abstract

(57)【要約】 【課題】 正規化処理において生ずる桁落ち予測誤差の
有無の検出タイミングを改善した浮動小数点演算装置を
提供する。 【解決手段】 加算器に入力されて演算が行われる2つ
の被加減算数を各ビット毎に比較して、加算により桁落
ちを起こすか否かをビット毎に予測判定する桁落ちビッ
ト予測回路と、桁落ちの有りと予測判定されたビットの
うち最上位ビットの位置を符号化した形式で出力するプ
ライオリティエンコーダと、この出力に基づき、加算器
の演算出力に対して浮動小数点演算に伴う正規化処理を
行う正規化手段と、その処理結果に対して誤差補正を行
う誤差補正手段とを備えた浮動小数点演算装置におい
て、プライオリティエンコーダの出力と加算器の各ビッ
トの最終的な桁上げ信号とに基づいて、桁落ちビット予
測回路の予測誤差を検出する回路を設け、誤差補正手段
は、この回路の検出結果に応じて前記誤差補正を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、浮動小数点演算装
置等に利用され、仮数部の正規化回路に使用される桁落
ちビット予測回路の予測誤差を検出する論理回路、及び
桁落ち予測誤差検出機能を備えた浮動小数点演算装置に
関する。
【0002】
【従来の技術】浮動小数点演算装置では、仮数の最上位
ビットを特定の位置に揃えるために、演算操作の後に正
規化処理を必要とする。この正規化処理は、演算結果の
最上位桁から連続する“0”または“1”の並ぶ数をカ
ウントし、その並ぶ数だけ左方向にシフトさせるもので
ある。
【0003】プロセッサが高速になると、演算処理と並
行して、演算結果の最上位桁から連続する“0”または
“1”の並ぶ数を予測する方法(桁落ち予測方式、ある
いは桁落ち予測回路)が考案されてきた。この方法によ
れば、正規化処理で行われる前記左シフト量を被演算数
より予測することができる。この桁落ち予測方式は、
E.HOKENEK(IBM.J.RES.DEVEL
P.VOL34.,1990、pp71−77)や、
H.SUZUKIらの論文(CICCproc.,19
95,pp.27.5.1−27.5.4)に記載され
ている。
【0004】図23は、上記桁落ち予測の基本的な原理
を説明する状態遷移図である。
【0005】まず、2つの数A,Bxのビット毎の比較
を行い、その状態により、次の3つの状態を表す信号G
(ともに“1”)とZ(ともに“0”)とP(“1”と
“0”)を定義する。
【0006】尚、andは論理積 orは論理和 xorは排他的論理和 notは否定論理 を表わしている。
【0007】g<i> =A<i> and Bx<i> p<i> =A<i> xor Bx<i> z<i> =not(A<i> or Bx<i> ) 最上位ビットからこれらの3つの信号の何れかが”1”
になるので、その信号から、図23に示す3つ状態を持
つ状態遷移図にしたがって最上位ビットから最下位ビッ
トに向けて状態を調べていくと、桁落ちが起きるビット
を特定できるというものである。
【0008】H.SUZUKIらの論文は、図23に示
すZ−stateから桁落ちが起き得ると予測される信
号(桁落ち予測信号)のみを抽出して、そのうち最上位
ビットの信号をプライオリティエンコーダで検出すると
いうものである。これは、2数の大小関係が既知である
ことを利用して桁落ち予測信号を生成する論理を簡単に
実現している。すなわち、減算の場合、必ず結果が正と
なるように、2つの数の大小関係によって入れ替えてい
るので、G−stateへの遷移が存在しない。
【0009】図24は、従来の浮動小数点演算装置の構
成を示すブロック図、及び図25は、その動作の時間的
経過を示す概念図である。
【0010】この浮動小数点演算装置は、2つの被演算
数A<31:0>,B<31:0>の大小比較を行なう
大小比較回路1100と、減算処理を行なう場合には大
小比較の結果に基づいて、2つの被演算数A<31:0
>,B<31:0>のいずれかを反転する1対のセレク
タ1103及びインバータ1104と、これらセレクタ
1103からの出力を入力する演算器(加算器)110
1と前述した桁落ち予測を行う桁落ち予測回路1102
を備えている。
【0011】ここでは、被演算数A<31:0>よりも
被演算数B<31:0>が小さいとして説明するが、一
般性は損なわない。被演算数B<31:0>のビット反
転データをBx<31:0>と表記する。桁落ち予測回
路1102による桁落ち予測動作(図25の期間T1)
は、演算器1101による加減算動作(期間T2)と並
行して行われる。
【0012】演算器1101の出力側には、左シフタ1
105が接続されている。左シフタ1105は、上記正
規化処理を行うべく、前述の桁落ち予測を行う桁落ち予
測回路1102の結果であるシフト量制御信号S110
0を用いて左シフト処理を行う(期間T3)。また、前
記演算器1101の演算結果を指定の桁数に収めるため
の丸め処理を行う丸め処理回路1106の結果と左シフ
タ1105の結果のいずれか一方がセレクタ1107で
選択される。
【0013】正規化処理を行うための左シフタ1105
は、上記ような桁落ち予測回路1102の結果を用いて
左シフト処理を行うが、桁落ち予測回路1102の結果
であるシフト量制御信号S1100には1ビットの予測
誤差を含むために、正規化のための左シフト動作に続い
て、右シフタ1108を用いて1ビット誤差補正シフト
(右シフト)を行う。
【0014】1ビットの予測誤差は、左シフタ1105
の出力(つまり正規化された演算結果)の最上位ビット
(MSB)を調べることで検出でき(期間T4)、その
結果を用いて1ビット誤差補正シフトを行うか否かを判
断している(期間T5)。このとき、左シフタ1105
の出力の最上位ビットはバッファ1109を介してを右
シフタ1108に供給される。
【0015】
【発明が解決しようとする課題】しかしながら、上記従
来の浮動小数点演算装置では、次のような問題点があっ
た。
【0016】上述したように、桁落ち予測回路102の
結果には1ビットの予測誤差を含むために、正規化され
た(左シフト)処理の後に1ビット誤差補正シフトを行
う必要が生じ、このとき、演算結果の最上位ビットを調
べて、1ビット誤差補正シフトを行うか否かを判断して
いる。
【0017】ところが、正規化された演算結果の最上位
ビットを調べて、この1ビット誤差補正シフトの可否を
決める場合に、右シフタ108を駆動するためのバッフ
ァ109の遅延時間を考慮すると、この1ビットの予測
誤差の検出がクリティカルパスになる可能性があった。
【0018】又、2数の大小関係が既知であることを利
用して桁落ち予測ビツト信号をつくる場合には、演算を
行う前に、2数の大小関係を決定する必要がある。その
ため、大小比較回路の遅延がこの演算時間に加算されて
いた。
【0019】本発明は、上述の如き従来の問題点を解決
するためになされたもので、その目的は、桁落ち予測誤
差の検出タイミングを改善した論理回路を提供すること
である。またその他の目的は、正規化処理において生ず
る桁落ち予測誤差の検出タイミングを改善して、全体的
な演算動作の高速化を可能にした浮動小数点演算装置を
提供することである。
【0020】
【課題を解決するための手段】上記目的を達成するため
に、第1の発明の特徴は、加算器に入力されて演算が行
われる2つの被加減算数を各ビット毎に比較して、加算
により桁落ちを起こすか否かをビット毎に予測判定する
桁落ちビット予測回路と、前記桁落ちビット予測回路に
よって桁落ちの有りと予測判定されたビットのうち最上
位ビットの位置を符号化した形式で出力するプライオリ
ティエンコーダと、該プライオリティエンコーダの出力
に基づいて前記桁落ちビット予測回路の予測誤差を検出
する桁落ち予測誤差検出回路とを有する論理回路であっ
て、前記桁落ち予測誤差検出回路は、前記プライオリテ
ィエンコーダの出力を選択信号として、前記加算器の各
ビットの最終的な桁上げ信号を前記予測誤差の有無を示
す信号として選択する選択回路で構成したことにある。
【0021】この第1の発明によれば、加算器の各ビッ
トの最終的な桁上げ信号は、加算器の最終和が確定する
よりも早く確定するので、桁落ちビット予測回路の予測
誤差の検出タイミングが早くなる。
【0022】第2の発明の特徴は、上記第1の発明にお
いて、前記桁落ち予測誤差検出回路は、前記プライオリ
ティエンコーダにおける中間結果を前記選択信号として
入力する構成にしたことにある。
【0023】この第2の発明によれば、プライオリティ
エンコーダの最終的な出力よりも早く確定するプライオ
リティエンコーダにおける中間結果を用いることによ
り、第1の発明よりも早いタイミングで予測誤差の検出
を開始できる。
【0024】第3の発明の特徴は、加算器に入力されて
演算が行われる2つの被加減算数を各ビット毎に比較し
て、加算により桁落ちを起こすか否かをビット毎に予測
判定する桁落ちビット予測回路と、前記桁落ちビット予
測回路によって桁落ちの有りと予測判定されたビットの
うち最上位ビットの位置を符号化した形式で出力するプ
ライオリティエンコーダと、該プライオリティエンコー
ダの出力に基づいて前記桁落ちビット予測回路の予測誤
差を検出する桁落ち予測誤差検出回路とを有する論理回
路であって、前記桁落ち予測誤差検出回路は、前記プラ
イオリティエンコーダの中間結果を選択信号として、前
記加算器の中間結果である桁上げ生成信号と桁上げ伝搬
信号を選択し、最終的に選択された桁上げ生成信号と桁
上げ伝搬信号を基に、前記桁落ちビット予測回路が予測
するビットに対応する桁上げ信号を生成して、この桁上
げ信号を前記予測誤差の有無を示す信号として出力する
構成にしたことにある。
【0025】この第3の発明によれば、加算器において
各ビットの最終的なキャリー信号が確定する前から、桁
落ち予測誤差の検出操作を開始できるので、第2の発明
よりも、さらに早く桁落ち予測誤差の有無を検出でき
る。
【0026】第4の発明の特徴は、2つの被加減算数を
入力して演算を行う加算器と、前記2つの被加減算数を
各ビット毎に比較して、加算により桁落ちを起こすか否
かをビット毎に予測判定する桁落ちビット予測回路と、
前記桁落ちビット予測回路によって桁落ちの有りと判定
されたビットのうち最上位ビットの位置を符号化した形
式で出力するプライオリティエンコーダと、該プライオ
リティエンコーダの出力に基づき、前記加算器の演算出
力に対して浮動小数点演算に伴う正規化処理を行う正規
化手段と、前記正規化手段の処理結果に対して誤差補正
を行う誤差補正手段とを備えた浮動小数点演算装置にお
いて、前記プライオリティエンコーダの出力と前記加算
器の各ビットの最終的な桁上げ信号とに基づいて、前記
桁落ちビット予測回路の予測誤差を検出する桁落ち予測
誤差検出回路を設け、前記誤差補正手段は、前記桁落ち
予測誤差検出回路の検出結果に応じて前記誤差補正を行
う構成にしたことにある。
【0027】この第4の発明によれば、浮動小数点演算
装置において、正規化手段に制御信号として供給される
プライオリティエンコーダの出力を利用して、桁落ち予
測誤差の有無を検出できる。しかも、正規化手段の出力
の最上位ビットから桁落ち予測誤差の有無を調べる従来
の方法よりも、早く桁落ち予測誤差の有無を検出でき
る。
【0028】第5の発明の特徴は、上記第4の発明にお
いて、前記桁落ち予測誤差検出回路は、前記プライオリ
ティエンコーダの出力を選択信号として、前記加算器の
各ビットの最終的な桁上げ信号から、桁落ちが起きたビ
ットの桁上げ信号を選択する選択回路で構成し、前記誤
差補正手段は、前記選択回路の出力に応じて前記誤差補
正を行う構成にしたことにある。
【0029】この第5の発明によれば、第4の発明にお
いて、上記第1の発明と同様の作用を呈する。
【0030】第6の発明の特徴は、上記第5の発明にお
いて、前記桁落ち予測誤差検出回路は、前記プライオリ
ティエンコーダにおける中間結果を前記選択信号として
入力する構成にしたことにある。
【0031】この第6の発明によれば、第5の発明にお
いて、上記第2の発明と同様の作用を呈する。
【0032】第7の発明の特徴は、上記第4の発明にお
いて、前記桁落ち予測誤差検出回路は、前記プライオリ
ティエンコーダの中間結果を選択信号として、前記加算
器の中間結果である桁上げ生成信号と桁上げ伝搬信号を
選択し、最終的に選択された桁上げ生成信号と桁上げ伝
搬信号を基に、前記桁落ちビット予測回路が予測するビ
ットに対応する桁上げ信号を生成する構成にし、前記誤
差補正手段は、前記桁上げ信号に応じて前記誤差補正を
行う構成にしたことにある。
【0033】この第7の発明によれば、第4の発明にお
いて、上記第3の発明と同様の作用を呈する。
【0034】第8の発明の特徴は、加算器に入力されて
演算が行われる2つの被加減算数を各ビット毎に比較し
て、加算により桁落ちを起こすか否かをビット毎に判定
する桁落ちビット予測回路と、前記桁落ちビット予測回
路の出力する桁落ちの有無を判定するビットバターンを
入力しその桁落ちの有りと判断したビットのうち最上位
ビットの位置を符号化した形式で選択信号として出力す
るプライオリティエンコーダと、桁落ち予測誤差検出回
路とを有する論理回路において、前記桁落ち予測誤差検
出回路は、前記プライオリティエンコーダの中間結果を
選択信号として、前記加算器の中間結果、或いは、前記
演算が行われる2つの被加減算数の各ビット桁上げ先見
信号をもとに、最終的に桁上げ生成信号と桁上げ伝搬信
号を選択し、前記桁上げ生成信号と桁上げ伝搬信号をも
とに前記桁落ちビット予測回路が予測する桁落ちビット
に対応する桁上げ信号を生成する回路であることを特徴
とする論理回路。
【0035】第8の発明によれば、シフタに選択制御信
号として出力される信号を利用して、桁落ち予測の誤差
の有無を検出できる。しかも、左シフタの出力の最上位
ビットから桁落ち予測の誤差の有無を調べる従来の方法
よりも、早く桁落ち予測の誤差の有無を検出できる。
【0036】第9の発明の特徴は、上記第8の発明にお
いて、前記桁落ちビット予測回路は、演算数をnビット
の2数A<n−1:0>,B<n−1:0>、サインビット
をSA,SB、又、減算のときBx=not B、SA
=“0”、SB=“1”、加算のとき Bx=B、SA
=“0”、SB=“0”、i<nとし、 g<i> =A<i> and Bx<i> p<i> =A<i> xor Bx<i> z<i> =not(A<i> or Bx<i> ) g<n>=SA and SB p<n+1>=p<n>=SA xor SB z<n>=not(SA or SB) として、桁落ちビット予測信号EZ<i>が EZ<i> =(notp<i+2>)and((g<i+1>and
(notg<i>))+(z<i+1>and(notz<i>)))+
(p<i+2>)and((g<i+1>and(notz<i>))+
(z<i+1>and(notg<i>))) で求められることを特徴とする。
【0037】第9の発明によれば、上記第8の発明にお
いて、2つの被演算数の大小関係が減算開始時に判らな
くても、1ビットの誤差の範囲で、加減算の結果の桁落
ち予測が可能となる。
【0038】第10の発明の特徴は、上記第8の発明に
おいて、上記第8の発明において、大小比較回路を更に
備え、g<i> = A<i> and Bx<i>、p<i>= A<
i>xor Bx<i> とし、減算のとき、Bx=not
B、加算のとき、Bx=Bとし、第kビットのキャリ
ー信号C<k>を C<k> = g<k> or(p<k> and g<k-1>)or
(p<k> and p<k-1> and g<k-2>)or(p<k>
and p<k-1> and p<k-2> andg<k-3>) o
r or (p<k> and p<k-1> and p<k-2> a
nd and p<2> and p<1> and g<0> )
or (p<k> and p<k-1> and p<k-2> and
.... and p<2> and p<1> and p<0> a
ndCin) としたときに、A、Bの大小関係を比較する前記大小比
較回路が、減算A―Bの結果が正であると判定した場合
には、第kビットにおける予測誤差検出信号をCin=1
とした場合のC<k>とし、減算A−Bの結果が負であ
ると判定した場合には、第kビットにおける予測誤差検
出信号をCin=0とした場合のC<k>の否定(not C
<k>)とする論理を特徴とする。
【0039】第10の発明によれば、上記第8の発明に
おいて、浮動小数点形式のデータでは仮数は絶対値表現
に変換するが、この表現に対応した桁落ちの予測と1ビ
ット予測誤差検出が、演算結果の正負に関わらず可能と
なる。
【0040】第11の発明の特徴は、上記第10の発明
において、第kビットで桁落ちが起きると前記桁落ちビ
ット予測回路と前記プライオリテイエンコーダが桁落ち
ビットを特定し、演算が加算の場合には、予測誤差検出
信号を、Cin=0とした場合のC<k>とすることを特
徴とする。
【0041】第11の発明によれば、上記第10の発明
において、加算の場合にも同様の適用が可能となってい
る。
【0042】
【発明の実施の形態】以下、本発明の実施形態を図面に
基づいて説明する。図1は、本発明の第1実施形態に係
る浮動小数点演算装置の構成を示すブロック図である。
【0043】この浮動小数点演算装置は、演算器(加算
器)1、桁落ち予測回路2、左シフタ3、予測誤差検出
回路4、及び右シフタ5を備えている。演算器1及び桁
落ち予測回路2には、2つの被演算数A<31:0>と
Bx<31:0>が入力されるようになっている。
【0044】加算器1は被演算数A<31:0>とBx
<31:0>の加減算を行い、桁落ち予測回路2は上述
の桁落ち予測を行う回路である。ここで、被演算数Bx
はセレクタ6の出力であり、セレクタ6は、被演算数B
<31:0>とその反転データ(インバータ7による)
のいずれか一方を加算及び減算に応じて選択し、その選
択結果を前記被演算数Bx<31:0>として出力する
ものである。そして、桁落ち予測回路2による桁落ち予
測動作は、加算器1による加減算動作と並行して行われ
る。
【0045】加算器1の出力側には、左シフタ3が接続
されている。左シフタ3は、上記正規化処理を行うべ
く、桁落ち予測回路2の結果であるシフト量制御信号を
用いて左シフト処理を行う。予測誤差検出回路4は、桁
落ちが起きると予測されたビットにおいて桁上げ(キャ
リーが "1"となる)が発生すると、この桁上げが1ビ
ットの予測誤差となる。そこで、桁落ちが起きると予測
されたビットにおけるキャリーの有無を調べ、キャリー
が "1"であれば右シフタ5を用いて1ビット右へシフ
トさせることで、予測誤差を補正する。
【0046】尚、ここでは、減算の場合には答えが常に
正になるということを前提としているため、図2に示し
たように、必要に応じて大小比較回路9を設けることに
なる。
【0047】次に、本発明の特徴的な構成要素である桁
落ち予測回路2、左シフタ3、及び予測誤差検出回路4
の構成と動作[1]〜[3]を詳細に説明する。
【0048】[1]桁落ち予測回路2 桁落ち予測回路2は、図3に示すように桁落ちビット予
測回路11と桁落ち量決定回路12とで構成され、以
下、その説明を順次行う。
【0049】(1)桁落ちビット予測回路11 桁落ちビット予測回路11は、2つの被演算数のビット
毎の比較を行い、その状態から加減算の結果の最上位桁
を予測する。ここで、被演算数を32ビットと仮定する
と、予測結果(桁落ち予測信号EZ)は32ビットの
“0”、“1”のビットパターンで得られ、その“1”
が出力されたビットのうち、最上位ビット(桁落ちが予
測されるビット)の位置を口述する桁落ち量決定回路1
2よって検出する。
【0050】この桁落ちビット予測回路11では、2つ
の被演算数の各ビット毎のパターンの状態から桁落ち量
を予測するので、下位ビットからの桁上げを考慮に入れ
ていない。そのため、桁落ちが予測されるビット(桁落
ち予測信号のうち“1”が出力されたビットで最上位に
あたるビット)の桁上げが生じた場合、実際に起こる桁
落ちの値よりも1つ多く予測することになる。
【0051】次に、桁落ちビット予測回路11の説明を
行う。なお、図中のA,Bxは32ビットの被演算数、
SA,SBはサインビット、及びEZは32ビットの桁
落ち予測信号である。桁落ち予測信号EZの発生の論理
は次の通りになる。
【0052】尚、andは論理積 orは論理和 xorは排他的論理和 notは否定論理 を表わしている。
【0053】g<i> =A<i> and Bx<i> p<i> =A<i> xor Bx<i> z<i> =not(A<i> or Bx<i> )(for 0≦i
<32) g<32>=SA and SB p<32>=SA xor SB z<32>=not(SA or SB) EZ<i> =(g<i+1> or z<i+1> )and(p<i>
or g<i> ) 但し、減算のとき、A>Bが前提で、 Bx=not B、SA=“0”、SB=“1” 加算のとき、 Bx=B、SA=“0”、SB=“0” (2)桁落ち量決定回路12 桁落ち量決定回路12で検出された桁落ち量を完全にエ
ンコードした状態で出力すると、左シフタ3の構成によ
っては再びこれをデコードする必要が生じる。そこで、
この回路の出力の形式は、後続するシフタがシフト量選
択制御信号として直接入力できる形式であることが望ま
しい。そのため、桁落ち量決定回路12は、桁落ち量を
数値化(完全なエンコード)するのではなく、部分的な
エンコードを施して出力する。
【0054】図3において、桁落ちビット予測回路11
を除いた部分が、32ビット桁落ち量決定回路12の構
成である。回路の機能としては、32ビットのプライオ
リティエンコーダと同等であるが、結果は上述の通り完
全にエンコードされずに出力される。
【0055】32ビット桁落ち量決定回路12は、2つ
の16ビット桁落ち量決定回路13A(上位ブロック
側),13B(下位ブロック側)と、その出力側に接続
された8つ(×4×2)の2−1セレクタ14A,14
Bと、図示省略のバッファ回路(駆動力を要するときに
必要に応じて挿入する)とから構成されている。
【0056】32ビット桁落ち量決定回路12は、2つ
の16ビットの桁落ち量決定回路13A,13Bから出
力される第1のシフト量選択制御信号の候補SS1と第
2のシフト量選択制御信号の候補SS2とから、上位ブ
ロック側の桁落ち量決定回路13Aから出力されるブロ
ック有効信号V2を選択制御信号として、各々4ビット
幅の2−1セレクタ14A,14Bによって、4ビット
の第1のシフト量選択制御信号S1と4ビットの第2の
シフト量選択制御信号S2とを選択し出力する回路であ
る。尚、図4は、2−1セレクタ14A,14Bの真理
値表である。
【0057】図5は、16ビット桁落ち量決定回路13
A,13Bの構成を示すブロック図である。
【0058】この16ビット桁落ち量決定回路13A,
13Bは、4ビット桁落ち量決定回路21〜24と、桁
落ちが発生したブロックのうち最上位のブロックを特定
する最上位ブロック特定回路25と、4つの4−1セレ
クタ26と、バッファ回路(図示省略)とでそれぞれ構
成される。ここで、4ビット桁落ち量決定回路21〜2
4は、16ビットの桁落ち予測信号EZを連続する4ビ
ット(1ブロック)毎に入力し、4ビット中の有効とな
る最上位ビットを特定すると同時に、桁落ち発生の有無
を出力する。最上位ブロック特定回路25は、桁落ちが
発生したブロックの中で最上位のブロックを特定する。
さらに、4−1セレクタ26は、4ブロックの中から最
上位ビット特定回路25により特定されたブロックの出
力信号(4ビット)を選択する。尚、4−1セレクタ2
6の真理値表を図6に示す。 図3及び図5に示される
ように、本実施形態の桁落ち量決定回路12では、32
ビットの桁落ち予測信号EZを連続する16ビット毎に
2ブロック化し、これを更に4ブロック(最小単位の1
ブロックは連続する4ビット)に分ける。これは、桁落
ち量決定回路12を階層化して構成し易くすると同時
に、シフト量選択制御信号の出力先である左シフタ3
(図11)の構成を考慮している。
【0059】次に、図3及び図5を用いて桁落ち量決定
回路12の動作について説明する。4ビット桁落ち量決
定回路21〜24は、図7に示す4ビットプライオリテ
ィエンコーダである。即ち、連続する4ビット桁落ち予
測信号EZを入力して、4ビットの第1のシフト量選択
制御信号S1の第1候補SS0を生成する。すなわち、
“1”となる桁落ち予測信号EZを入力したビットのう
ち、最上位ビットの位置を第1のシフト量選択制御信号
S1の第1候補SSS1として出力する。そして、入力
される4ビットのうち、1ビットでも桁落ち予測信号E
Zが“1”であれば、第1のブロック有効信号V1(図
7では出力Eにあたる)を“1”にする。
【0060】これを階層的に構成したものが、16ビッ
ト桁落ち量決定回路13A,13Bである。ここでは、
4つの4ビット桁落ち量決定回路21〜24から出力さ
れる4本の第1のブロック有効信号V1のプライオリテ
ィを調べる。すなわち、桁落ちの生じた最上位ブロック
を最上位ブロック特定回路25によって特定する。この
ため、この最上位ブロック特定回路25も図7に示す4
ビットプライオリティエンコーダである。
【0061】即ち、最上位ブロック特定回路25は、4
つのブロックに各々対応する4ビット桁落ち最決定回路
21〜24から出力される計4ビットの第1のブロック
有効信号V1を入力し、第2のシフト量選択制御信号S
2の候補SS2を出力する。第2のシフト量選択制御信
号S2の候補SS2は4ビットの信号であり、この4ビ
ットのうち最上位ブロックに対応するビットのみが
“1”となる。さらに、4ビット桁落ち量決定回路21
〜24から出力される計4ビットの第1のブロック有効
信号V1が1つでも“1”であれば、第2のブロック有
効信号V2を“1”にする。
【0062】また、4つの4−1セレクタ26は、第2
のシフト量選択制御信号S2の候補SS2を選択制御信
号として、第1のシフト量選択制御信号S1の候補SS
S1(4ビット×4ブロック)から、第1のシフト量選
択制御信号の第2候補SS1(4ビット)を選択する。
【0063】すなわち、16ビットの桁落ち量決定回路
13A,13Bは、16ビット(4ビット×4ブロッ
ク)の桁落ち予測信号EZをそれぞれ入力して、4ビッ
トの第1のシフト量選択制御信号S1の候補SS1と、
4ビットの第2のシフト量選択制御信号S2の候補SS
2と、第2のブロック有効信号V2とを出力する。
【0064】このように、32ビット桁落ち量決定回路
12においては、2つの16ビット桁落ち量決定回路1
3A,13Bより、各々4ビット(4ビット×2)の第
1のシフト量選択制御信号S1の候補SS1と、各々4
ビット(4ビット×2)の第2のシフト量選択制御信号
S2の候補SS2とを得る。そして、上位ブロック側の
桁落ち量決定回路13Aから出力される第2のブロック
有効信号V2を選択制御信号として、各々4つの2−1
セレクタ14A,14Bによって、4ビットの第1のシ
フト量選択制御信号S1<3:0>と、4ビットの第2
のシフト量選択制御信号S2<3:0>とを選択し出力
する。さらに、第2のブロック有効信号V2は、第3の
シフト量選択制御信号S3となって出力される。
【0065】すなわち、32ビットの桁落ち量決定回路
12は、32ビット(16ビット×2)の桁落ち予測信
号EZ<31:0>を入力して、4ビットの第1のシフ
ト量選択制御信号S1<3:0>と、4ビットの第2の
シフト量選択制御信号S2<3:0>と、第3のシフト
量選択制御信号S3を出力する。
【0066】次に、32ビットの桁落ち量決定回路12
の基本的な構成要素である4ビットプライオリティエン
コーダ21〜24及び25について、図7の真理値表を
用いて説明する。
【0067】この4ビットプライオリティエンコーダの
出力は、後述する左シフタ3に直接出力できる形式を有
する。すなわち、第1、第2及び第3のシフト量選択信
号S1,S2,S3を出力するのにシンプルで且つ最も
適した構成をもつ。
【0068】図7の真理値表に示すように、DA<3>
が最上位ビットになるとDB<3:0>=“1000”
となり、DA<2>が最上位ビットになるとDB<3:
0>=“0100”となり、DA<1>が最上位ビット
になるとDB<3:0>=“0010”となり、DA<
0>のみ“1”になるとDB<3:0>=“0001”
となる。尚、入力がすべて“0”の場合には、DB<
3:0>=“0001”となり、必ず1ビットのみが
“1”となるようにしている。これは後続する選択回
路、及びシフト回路がパストランジスタによって実現さ
れていることを考慮しており、パストランジスタの出力
がハイインビーダンス状態にならないように配慮したも
のである。
【0069】[2]左シフタ(正規化回路)3 図8は、左シフタ3の構成を示す図である。図では、右
シフタ5も含めて記した。
【0070】この左シフタ3は、0/16ビットシフタ
31と、0/4/8/12ビットシフタ32と、0/1
/2/3ビットシフタ33とで構成されており、0ビッ
トから31ビットまでの可変量左方向シフタである。S
3、S2<3:0>、及びS1<1:0>は、それぞれ
0/16ビットシフタ31、0/4/8/12ビットシ
フタ32、及び0/1/2/3ビットシフタ33のシフ
ト量選択制御信号である。尚、右シフタ5は、左シフタ
3とは逆方向に1ビットの誤差補正の為のシフトで行う
が、その際に予測誤差検出回路4の検出結果である制御
信号SHFTRが1ビット誤差補正のシフトを行うか否
かを決定する。
【0071】図9(a),(b),(c)は、上記シフ
ト量選択制御信号S3,S2,S1とシフト量の関係と
示したものである。例えば、S3=“0”、S2<3:
0>=“0100”、S1<3:0>=“0010”の
とき、(左方向)総シフト量は、16+4+2=22ビ
ットとなる。また、シフト量選択制御信号S2<3:0
>とS1<3:0>は、必ず1ビットのみが“1”とな
るように出力が決められている。尚、図9(d)は、右
シフタ5におけるSHFTRとシフト動作の関係も示し
ている。
【0072】[3]予測誤差検出回路4 桁落ちが起きると予測されたビットにおいて桁上げが発
生した場合は、この桁上げが1ビットの予測誤差とな
る。そこで、桁落ちが起きると予測されたビットにおけ
るキャリー(桁上げ)を調べ、キャリーが“1”であれ
ば1ビット右へシフトさせることで、予測誤差を補正す
ることができる。
【0073】図10は予測誤差検出回路4の構成例を示
す図、及び図11は予測誤差検出回路4の他の構成例を
示す図である。
【0074】この予測誤差検出回路4は、4ビットの第
1のシフト量選択制御信号S1と、4ビットの第2のシ
フト量選択制御信号S2と、第3のシフト量選択制御信
号S3とを選択制御信号として、32ビット加算器1の
各ビットの最終的なキャリー信号C<i>(第iビットの
キャリー信号を表す。)から、桁落ちが起きると予測さ
れる該当ビットのキャリー信号を選択する。即ち、ビッ
ト<i>で桁落ちが起こると予測した時C<i>を選択する。
【0075】図10と図11に示す例では、選択回路
(2−1セレクタ,4−1セレクタ)の配置順序が異な
るが、これは、各シフト選択信号の確定時間やレイアウ
トの配線とのトレードオフで決まるもので、選択回路を
ここに示す順序以外に入れ替えても実現できる。
【0076】そこでまず、図10の例について説明す
る。第3のシフト量選択制御信号S3は、桁落ちが起き
ると予測されるビットの位置<k>が下位16ビット側に
あるか、上位16ビット側にあるか(すなわち、0≦k
≦15であるか、16≦k≦31であるか。)を2−1
セレクタ41で選択する。そして、選択された16ビッ
トは、4ビット毎に4つのブロックにブロック化できる
ので、第2のシフト量選択制御信号S2は、これらのブ
ロックのうち該当するブロックを4−1セレクタ42で
選択し、これにより4ビットの信号を選択する。最後
に、第1のシフト量選択制御信号S1は、選択されたブ
ロックの4ビットのうち該当するビットのキャリーC<
k>を4−1セレクタ43で選択する。これらの操作に
より、最終的に選択されたキャリー信号C<k>のビット
の位置が、桁落ち予測回路12によって予測されたビッ
ト<k>と一致することになる。そして、このキャリー信
号C<k>が“1”であれば、1ビット右へシフトさせて
誤差を補正するように1ビット誤差補正用シフタ(逆方
向シフタ)である右シフタ5に制御信号SHFTRを出
力する。
【0077】図11の例では、第2のシフト量選択制御
信号S2<3:0>、あるいは第2のシフト量選択制御
信号S2の候補SS2<7:0>を使用し、まず、上位
16ビットのブロック、下位16ビットのブロック毎に
各々4ビットブロックを4−1セレクタ51,52で選
択する。次に第1のシフト量選択制御信号S1<3:0
>あるいは第1のシフト量選択制御信号S1の候補SS
1<7:0>を使用して、各16ブロック毎にビットの
位置を4−1セレクタ53,54で特定する。最後に、
第3のシフト量選択制御信号S3により、桁落ち予測回
路12によって予測されたビットに対応するキャリーC
kを2−1セレクタ55で特定する。
【0078】通常、第3のシフト量選択制御信号S3が
確定するタイミングは、第1のシフト量選択制御信号S
1<3:0>や第2のシフト量選択制御信号S2<3:
0>が確定するタイミングよりも早い。そこで、図11
に示す例のように、S2<3:0>やS1<3:0>よ
りも早く確定するSS2<7:0>やSS1<7:0>
を使用するとより早いタイミングで予測誤差検出処理を
開始できる。
【0079】これら図10または図11に示すセレクタ
をシフタと同様なパストラジスタと仮定すれば、これら
のセレクタによる遅延時間は、シフタと同等と考えられ
る。しかも、各ビットのキャリー信号C<i>は、加算器
1の最終和が確定するよりも早く(排他的論理和の1段
分の遅延時間にあたる時間早く)確定するので、図12
に示すように、予測誤差検出(T4aの期間)の確定す
る時間は、演算結果が左シフタ3を通る期間(T3)を
経て確定する時間よりも早くなる。そのため、右シフタ
5を駆動するためのバッファ8の遅延時間(T4bの期
間)を経て、右シフタ5による誤差補正シフト動作期間
T5までが、従来と同じだとすると、バッファ8の駆動
を開始する時間が早くなるので、その分従来例よりも早
く演算結果OUTを得ることができる。
【0080】次に、本発明の第2実施形態について説明
する。
【0081】図13は、本発明の第2実施形態に係る浮
動小数点演算装置の構成を示すブロック図であり、図1
と共通する要素には同一の符号を付し、その説明を省略
する。
【0082】本実施形態の浮動小数点演算装置は、図1
に示す第1実施形態の構成において、予測誤差検出回路
4を新たな予測誤差検出回路60に置き換え、最下位ビ
ットへのキャリーイン信号Cinの入力を加えたもので
ある。
【0083】すなわち、本実施形態の予測誤差検出方式
では、加算器1のキャリーの生成過程において桁落ちが
予測されるビットを特定するのと同時に、該当ビットの
キャリーを生成するための信号(桁上げ生成信号、桁上
げ伝搬信号)を特定するものである。
【0084】図14は、本実施形態の予測誤差検出方式
を実現する予測誤差検出回路60の構成を示すブロック
図である。
【0085】32ビットを上位、下位の16ビットに分
けた各16ビットにおける予測誤差検出回路61,62
と、キャリー生成論理回路部63〜65と、2−1セレ
クタ66とで構成されている。
【0086】図15は、図14に示した16ビット予測
誤差検出回路61の詳細を示す図である。
【0087】この16ビット予測誤差検出回路61は、
16ビットCLA加算器71と、8つの4−1セレクタ
72,73(×4)と、2つの4−1セレクタ74,7
5とから構成されている。
【0088】16ビットCLA加算器71は、16ビッ
トのP0<15:0>信号とG0<15:0>信号を出
力する。このP信号、G信号は、各々CLA(carr
ylookahead adder)タイプの加算器に
おけるビット<0>からの桁上げ生成信号、桁上げ伝搬
信号である。4−1セレクタ72,73は、連続する各
々16ビットのP0<15:0>、G0<15:0>か
ら、各々連続する4ビット({P0<i+3,i>,G0<i+3,
i>}、但し、i=0、4、8、12)を選択する。
【0089】なお、16ビット予測誤差検出回路62の
構成も、図15に示す構成と基本的に同様である。入力
信号をA<31:16>、Bx<31:16>、SS2
<7:4>、SS1<3:0>に、出力信号はP16<
j>、G16<j>に各々置き換え、P0<15>、G
0<15>に対応する信号は不要となる。
【0090】次に、予測誤差検出回路61,62の動作
について図15を用いて説明する。
【0091】選択制御信号は4ビットの第2のシフト量
選択制御信号の候補SS2<7:0>を使用する。これ
は、S2<3:0>やS1<3:0>よりも早いタイミ
ングで確定するので、予測誤差検出処理をより早く開始
できる。
【0092】上位16ビットのブロックには、上位16
ビットの桁落ち量決定回路13Aの第2のシフト量選択
制御信号の候補SS2<7:4>を、下位16ビットの
ブロックには、下位16ビットの桁落ち量決定回路13
Bのブロックの第2のシフト量選択制御信号の候補SS
2<3:0>を使用する。これらにより、各々の16ビ
ットにおける予測誤差検出回路61,62おいて、各々
4ビット分の桁上げ生成信号、桁上げ伝搬信号の対が選
択される。
【0093】これらをさらに、各々1ビット分の桁上げ
生成信号、桁上げ伝搬信号の対に選択するのが、第1の
シフト量選択制御信号の候補SS1<7:0>である。
これも各々16ビットの桁上げ生成信号、桁上げ伝搬信
号の対{Pi<i+15:i>、Gi<i+15:i>、i=0、16}
から“4ビットの桁上げ生成信号、桁上げ伝搬信号の対
を選択したかの如く、各々4ビットの桁上げ生成信号、
桁上げ伝搬信号の対{Pj<i+j+3:i+j> 、Gj<i+j+3:i
+j> 、i=0、4、8、12、j=0、16}から、各
々1ビットの桁上げ生成信号と桁上げ伝搬信号の対{P
j<i+j>、Gj<i+j> 、0<i≦15、j=0、16}
を選択する。
【0094】この場合も上位ブロックにおける選択に
は、上位ブロック第1のシフト量選択制御信号の候補S
S1<7:4>を使用し、下位ブロックにおける選択に
は、下位ブロック第1のシフト量選択制御信号の候補S
S1<3:0>を使用する。
【0095】図14において、キャリー生成論理回路部
63〜65は、最下位ビットへのキャリーイン信号Ci
nと桁上げ生成信号及び、桁上げ伝搬信号とからから最
終的なキャリー信号を生成する。すなわち、キャリー生
成論理回路部63では、Cinと{P0<i>、G0 <i> 、
(0≦i≦15)}とにより、 C<i>=(G0 <i> or (P0 <i> and Ci
n))(0≦i≦15) を生成し、キャリー生成論理回路部64では、Cinと
P0 <15>,G0 <15>とにより、 C<15>=(G0 <15> or (P0 <15> and Ci
n)) を生成し、キャリー生成論理回路部65では、C<15>と
{P16<j> 、G16<j> 、(16≦j≦31)}とによ
り、C<j>=(G16<j> or P16<i> and C<15
>))(16≦j≦31)を生成する。
【0096】第3のシフト量選択制御信号S3を選択制
御信号として、2−1セレクタ66において、キャリー
生成論理回路部63と65からそれぞれ出力されたキャ
リー信号C<i>とC<j>(0≦i≦15、16≦j≦3
1)のうち、いずれか一方が選択される。この最終的に
選択されたキャリー信号が、桁落ち予測回路2によって
予測されたビット<k>と一致したビットのキャリー信号
C<k>となる。もし、このキャリー信号C<k>が“1”な
らば、1ビット右へシフトさせて誤差を補正するよう
に、右シフタ5に制御信号SHFTRを出力する。
【0097】本実施形態によれば、図16に示すよう
に、加算器1において、各ビットの最終的なキャリー信
号が確定する前から、上記第1実施形態よりも更に早く
桁落ち予測誤差の有無の検出操作を開始できるので、上
記第1実施形態よりも早く桁落ち予測誤差の有無を検出
できる。これにより、上記第1実施形態よりも早く浮動
小数点演算結果OUTが得られる。
【0098】なお、第2実施形態では、予測誤差検出回
路4におけるCLA加算器71のブロックを16ビット
としたが、もし第1のシフト量選択制御信号の候補SS
1<7:0>や第2のシフト量選択制御信号の候補SS
2<3:0>の確定するタイミングを考慮して、CLA
加算器71の構成を変えることも可能である。
【0099】また、上記各実施形態では、演算のビット
幅を32ビットとしたが、演算のビット幅が変わった場
合には、それに応じて階層の構成を変えることで柔軟に
対応できる。
【0100】以上の実施形態では、減算の場合には、大
小比較回路等により予め答えが正になるように2数の大
小関係を考慮して入れ替え操作を行う必要があった(図
2のマルチプレクサ6)。以下に説明する第3の実施形
態では、減算の場合でも答えが正になるということを前
提としない。
【0101】以下、本発明の第3実施形態を図面に基づ
いて説明する。図17は、本発明の第3実施形態に係る
浮動小数点演算装置の構成を示すブロック図である。こ
こで、演算器の前段に大小比較回路106は設けず並列
に動作させる。そのため、減算の場合答えが負になる可
能性が有る。又、図17は、図1と対応するので、重複
する説明は省略する。
【0102】ここでも、図3に示した様な桁落ちビット
予測回路が設けられているが、ここでの桁落ち予測信号
EZの発生の論理は、A,Bxを32ビットの被演算
数、SA,SBをサインビットとして次の通りになる。
【0103】 g<i> =A<i> and Bx<i> p<i> =A<i> xor Bx<i> z<i> =not(A<i> or Bx<i> ) (for 0≦i<32) g<32>=SA and SB p<33>=p<32>=SA xor SB z<32>=not(SA or SB) EZ<i> =((not p<i+2>)and((g<i+1>and(not g<i>)) or(z<i+1>and(not z<i>))) or (p<i+2>)and((g<i+1>and(not z<i>)) or(z<i+1>and(notg<i>))) 但し、減算のとき、 Bx=not B、SA=“0”、SB=“1” 加算のとき、 Bx=B、SA=“0”、SB=“0” 尚、第一及び第二の実施例の場合と異なり、桁落ち予測
信号EZの発生にはA、Bの大小関係の影響を受けな
い。桁落ち予測回路102は、図3を用いて説明したも
のに対応し、桁落ちビット予測回路と桁落ち量決定回路
とで構成される。ここでも、やはり重複説明は省略す
る。
【0104】図18は(32ビットの)予測誤差検出回
路103の構成を示しており、この図をもとに予測誤差
検出回路の構成とその動作を説明する。ここでは、桁落
ち予測回路102に対応して、32ビットのデータを仮
定する。この回路は下位16ビットの予測誤差検出回路
701、上位16ビットの予測誤差検出回路702、キ
ャリー生成論理回路部703〜704、予測誤差信号生
成回路705より構成されている。
【0105】予測誤差検出回路103は桁落ち量決定回
路の中間状態信号を利用して、桁落ちが起きると予測さ
れるビットにおけるのキャリーを特定し、さらに、大小
比較回路の結果をもとに予測誤差を検出する。
【0106】入力信号は、32ビットの2つの被演算数
の桁上げ先見信号であるp信号(桁上げ伝搬信号)及び
g信号(桁上げ生成信号)である。このとき、下位16ビ
ットの予測誤差検出回路701には、2つの被演算数の
下位16ビットの対が入力され、1対のP信号、G信号
を出力する。一方、上位16ビットの予測誤差検出回路
702には、2つの被演算数の上位16ビットの対が、
入力され、1対のP信号、G信号を出力する。尚、出力
されるP信号、G信号は、各々のブロックのビット<0
>からの桁上げ先見信号である。
【0107】図19に示した下位16ビットの予測誤差
検出回路701は、4ビット桁上げ先見回路801、選
択回路802、804、桁上げ先見信号更新回路803
より構成されている。一方、図20は上位16のビット
予測誤差検出回路701の構成であり、4ビット桁上げ
先見回路801、選択回路802、804、桁上げ先見
信号更新回路803より構成されている。16ビットの
予測誤差検出回路701、702はこれら以外にブロッ
ク間桁上げ先見回路を必要とする。これらの構成図は図
21に示されている。図に示すようにして、ブロック間
の桁上げ先見信号(P0<i>、G0<i>(i=3、
7、11、15)、P16<j>、G16<j>(j=
19、23、27))をつくり、これらを桁上げ先見信
号更新回路803に出力する。
【0108】次に、図19、図20、図21、図18を
もちいて、順にこれらの回路における予測誤差を検出動
作について説明する。図19は下位16ビットの予測誤
差検出回路701である。この回路は2つの被演算数の
下位16ビットから、最終的に1対の桁上げ先見信号を
出力する。ここでは、16ビットに対応する信号を連続
する4ビットに対応する4つの対を1つのグループとし
て、4つのグループに分け、まずそのグループ内におい
て最小ビットからの桁上げ先見信号を4対つくる。尚、
これらの4対の桁上げ先見信号のグループは、4ビット
のプライオリティエンコーダ301の出力信号のビット
と対応しており、4ビットのうち”1”になったビット
に対応した桁上げ先見信号の対が選択回路802によっ
て選ばれる。次に、4つブロックから選ばれた各々1対
の桁上げ先見信号を桁上げ先見信号更新回路803によ
り(16ビットブロックの)最下位ビットから積算した
信号に更新し、このうち有効となったブロックに対応し
た桁上げ先見信号の対を選択回路804により選択し出
力する。以上のように下位16ビットの予測誤差検出回
路701では、桁上げ先見信号の更新と選択を並行して
行う。
【0109】次に、下位16ビット予測誤差検出回路7
01の動作の詳細について図19を用いて説明する。こ
の回路では16ビットを4ビット毎の4つのグループに
分けたが、このグループの1つの単位が4ビット桁上げ
先見回路801である。
【0110】4ビット桁上げ先見回路801は、以下の
ように各ビットのp信号(桁上げ伝搬信号)とg信号
(桁上げ生成信号)をつくり、さらに4グループ内の最
小ビットからの桁上げ信号であるP信号(桁上げ伝搬信
号)、G信号(桁上げ生成信号)をつくる。(尚、以下
の表記を簡単にするため、“・”は論理積(and)、
“+”は論理和(or)を表す。) (式1) p<J> = A<J>xorBx<J> g<J> = A<J>andBx<J> = A<J>・Bx<J> PJ<J> = p<J> GJ<J> = g<J> PJ<J+1> =p<J+1>・p<J> GJ<J+1> =g<J+1> + (p<J+1>・g<J>) PJ<J+2> =p<J+2>・p<J+1>・p<J> GJ<J+2> =g<J+2>+(p<J+2>・g<J+1>)+(p<J+2>
・p<J+1>・g<J>) PJ<J+3> =p<J+3>・p<J+2>・p<J+1>・p<J> GJ<J+3> =g<J+3>+(p<J+3>・g<J+2>) +(p<J+3>
・p<J+2>・g<J+1>)+(p<J+3>・p<J+2>・p<J+1>・
g<J>) このうち有効となったビットに対応する選択制御信号
(第1のシフト量選択制御信号の候補1:SSS1<J
+3:J>31のうち、有効となったビットに対応した
ビットのみが”1”になる。)をもとに、選択回路80
2はこれに対応するP信号、G信号の対(PJ<L>、GJ<
L>)を選択する。(ただし、J≦L≦J+3) 次の桁上げ先見信号更新回路803では、これらPJ<L
>、GJ<L>と下位ブロックからのブロック間の桁上げ先
見信号の対(P0<J-1>、G0<J-1>、J=4、8、12)
をもとに、以下のように桁上げ先見信号を更新する。
(ただし、P0<3>、G0<3>はそのまま。) P0<L> = PJ<L>・P0<J-1> G0<L> = GJ<L>+(PJ<L>・G0<J-1>) すなわち、ここで桁上げ先見の階層が4ビットブロック
内であったものを下位ブロックの4ビット分の桁上げ先
見信号を積み重ねて、最下位ビット(第0ビット)から
該当ビット<i>までの桁上げ先見信号P0<i>、G0<i>
にまで更新する。尚、0ビットから1つ下の4ビットブ
ロックまでの桁上げ先見信号は図21に示しているブロ
ック間の桁上げ先見信号更新回路1001ー1005に
よって作られる。
【0111】選択回路804は、これら更新された4つ
の対の桁上げ先見信号(P,G信号)のうち、有効とな
ったブロックに対応する選択制御信号(第2のシフト量
選択制御信号の候補1:SS2<3:0>34のうち、
有効となったブロックに対応したビットのみ”1”にな
る。)により、桁上げ先見信号1対を選択する。
【0112】一方、図20は上位16ビットの予測誤差
検出回路702である。これも図19と同様に(式I)
4ビットの階層の桁上げ先見信号(P信号、G信号)の
4つを対を生成し、選択回路802はこれらからアクテ
ィブなビットに対応するSSS1<I+3:I>信号を選択
制御信号として、桁上げ先見信号の対(PI<H>,GI<H
>)を選択する。(ただし、I≦H≦I+3) そして、桁上げ先見信号更新回路803において、これ
らPI<H>、GI<H>と下位ブロックからのブロック間の桁
上げ先見信号の対(P16<I-1>、G16<I-1>)をもとに、
以下の式ように桁上げ先見信号を更新する。(I=2
0、24、28)(ただし、P0<3> G0<3>はそのま
ま。) P16<H>=PI<H>・P16<I-1> G16<H>=GI<H> +(PI<H>・G16<I-1>) さらに、選択回路804は、4つのP,G信号の対のう
ち、有効になったブロックに対応する選択制御信号(第
2のシフト量選択制御信号の候補1:SS2<3:0>
34のうち、有効となったブロックに対応したビットの
み”1”になる。)により、P,G信号の1対を選択す
る。
【0113】ところで、桁上げ先見信号更新回路803
に出力されるもう1系統のP,G信号の対であるブロッ
ク間の桁上げ先見信号の対(P0<i>、G0<i>
(i=3、7、11、15)、P16<j>、G16<
j>(j=19、23、27))は、図21に示してい
る桁上げ先見信号更新回路1001〜1005によっ
て、以下のようにつくられる。
【0114】先見信号更新回路1001 P0<7> = P4<7>・P0<3> G0<7> = G4<7> + (P4<7>・G0<3>) 先見信号更新回路1002 P0<11> = P11 8・P4<7>・P0<3> G0<11> = G8<11>+(P8<11>・G4<7>)+ (P8<11>・P
4<7>・G0<3>) 先見信号更新回路1003 P16<23> = P20<23>・P16<19> G16<23> = G20<23>+(P20<23>・G16<19>) 先見信号更新回路1004 P16<27> = P24<27>・P16<19> G16<27> = G24<27>+(P24<27>・G20<23>)+(P24<2
7>・P20<23>・G16<19>) 先見信号更新回路1007 P0<15> = P12<15>・P0<11> G0<15> = G12<15>+(P12<15>・G0<11>) ここで、K<M<Jとして、PK<J>とGK<J>は次の様な
式によって定義される。
【0115】PK<J> = (PM+1<J>)・(PK<M>) GK<J> = (GM+1<J>)+((PM+1<J>)・(GK<M>)) 尚、バッファ1005、1006は、P0<3>、G0<3>、
P16<19>、G16<19>の駆動力を強化する。図18では、
下位16ビット予測誤差検出回路701、上位16ビッ
ト予測誤差検出回路702から、各々出力されるP信
号、G信号の対より、最終的に桁落ち予測誤差検出信
号:SHFTR26を生成する。キャリー生成論理回路
部703〜704は、下位ブロックからの桁上げ先見信
号(P0<15>、G0<15>、)と上位16ビット予測誤差検
出回路702から各々出力されるP信号、G信号の対
(P0<L>、G0<L>、P16<H>、G16<H>)より最終的なキ
ャリー信号をつくる。
【0116】すなわち、キャリー生成論理回路部703
では、CinをG0<L>,P0<L>(0≦L≦15)より、 CZ(L) = G0<L> + (P0<L>・Cin) = G0<L>+P0<L> (Cin = 1) CG(L) = G0<L> + (P0<L>・Cin) = G0<L> (Cin = O) を生成し、キャリー生成論理回路部704では、Cinと
G16<H>,P16<H>, G0<15>, P0<15> (16≦H≦31)よ
り、 CZ(H)=G16<H>+(P16<H>・G0<15>)+(P16<H>・P0<15>・Cin) =G16<H>+(P16<H>・G0<15>)+(P16<H>・P0<15>) (Cin = 1) CG(H)= G16<H>+(P16<H>・G0<15>)+(P16<H>・P0<15>・Cin) =G16<H> + (P16<H>・G0<15>) (Cin = 0) を生成する。即ち、加算が行われるとき或いは減算結果
が負(SIGN=1)のときはCin=0とし、減算結
果が正(SIGN=0)のときはCin=1として、上
のように減算結果の正負に対して2つのキャリーの候補
を用意しておいて、大小比較回路の結果(SIGN信
号)により、次の予測誤差信号生成回路705において
何れかを選択できるようにしている。
【0117】予測誤差信号生成回路705は、第3のシ
フト量選択制御信号:S3(25)を選択制御信号とし
て、キャリー生成論理回路部703、704から出力さ
れたキャリー信号CZ(L)、CG(L)とCZ(H)、CG(H)
のペア(0≦L≦15、16≦H≦31)のうち一方を選択す
る。この最終的に選択されたキャリー信号CZ<k>あ
るいはCG<k>が、桁落ち予測回路によって予測され
たビット<k>と一致したビットのキャリー信号C<k
>となる。
【0118】さらに、予測誤差信号生成回路705は選
択されたキャリーと演算結果が加算であるか、減算であ
るか、減算の場合にはその結果の符号(実際には大小比
較結果)によって予測誤差信号が異なる。まず、加算の
場合は常にCin=0とするので、 SHFTR=CG<k> となる。
【0119】減算の場合には、大小比較器の比較結果に
より結果が正(SIGN=0)であると判断した場合、
このキャリー信号CZ<k>が“1”であれば、1ビッ
トの誤差を含むので1ビット右ヘシフトさせて誤差を補
正するように右方向シフタ5に制御信号を出力する。
【0120】すなわち、上記制御信号となる予測誤差信
号:SHFTRは SHFTR=CZ<k> となる。
【0121】一方、減算結果が負(SIGN=1)であ
ると判断したときには、このキャリー信号CG<k>が
“0”であれば1ビットの誤差を含むので、1ビット右
ヘシフトさせて誤差を補正するように右方向シフタ5に
制御信号を出力する。すなわち、予測誤差信号:SHF
TRはキャリー信号の反転信号となるので、 SHFTR=not(CG<k>) となる。
【0122】次に、図19、図20、図18の動作をよ
り具体的に説明する。以下の例では演算は減算、大小比
較の結果は負、即ち答えも負とする。ビット<10>と
ビット<19>の桁落ち予測信号が”1”(“1”)に
なったものと仮定する。
【0123】まず、下位16ビットにおいてビット<1
1:18>の4ビットブロックを考える。このブロック
においては仮定よりビット<10>の桁落ち予測信号
が”1”になる。図19の4ビットの桁上げ先見回路8
01によってP8<10>とG8<10>は、以下のように生成さ
れる。
【0124】P8<10>=p<10>・p<9>・p<8> G8<10>=g<10>+(p<10>・g<9>)+(p<10>・p<9
>・g<8>) このとき、これらP8<10>とG8<10>が選択回路802に
よって選ばれる。つぎに、桁上げ先見信号更新回路80
3によって、以下のように更新される。
【0125】P0<10> = P8<10>・P0<7> G0<10> = G8<10>+(P8<10>・G0<7>) そして、選択回路804によって上記対が選ばれる。
(すなわち、SSS1<11:8>=’0100’、S
SS2<3:0>=’0100’となって、上記対を選
択することになる。)一方、上位16ビットにおけるビッ
ト<19:16>の4ビットブロックでは、ビット<1
9>の桁落ち予測信号が”1”になる。図19の4ビッ
トの桁上げ先見回路801によつてP16<19>とG16<19>
は、以下のように生成され、 P16<19> = p<19>・p<18>・p<17>・p<16> G16<19> = g<19>+(p<19>・g<18>)+(p<19>・p<1
8>・g<17>)+(p<19>・p<18>・p<17>・g<16>) 上と同様に、これらが選択回路802によって選ばれ
る。すでに、これらの信号は上位16ビットのブロック
の最下位ビット(ビット<16>)からの桁上げ信号に
なっているので、桁上げ信号としては更新されないが、
必要に応じてバッファ805により駆動力が強化され
る。そして、選択回路804によってP16<19>、G16<1
9>が選択される。
【0126】このようにして、下位16ビットの予測誤
差検出回路701よりビット<10>に対応する桁落ち
先見信号の対G0<10>、P0<10>と、上位16ビットの予
測誤差検出回路702よりビット<19>に対応する桁
落ち先見信号の対G16<19>、P16<19>とが選ばれたこと
になる。
【0127】次に、図18を用いて、最終的にキャリー
が生成される動作を説明する。先ず、キャリー生成論理
回路703によって、ビット<10>のキャリが生成さ
れる。図18ではL=10となる。
【0128】 CG<10> = G0<10> (Cin = O、加算及び減
算結果が負の場合) CZ<10> = G0<10> + P0<10> (Cin = 1、減算
結果が正が場合) また、図18のキャリー生成論理回路704によって、
ビット19のキャリーが生成される。ただし、P0<19>
=P16<19>・P0<15>、G0<19> = G16<19>+(P16<19>
・G0<15>)として、次の様になる。
【0129】 CG<19> = G0<19> (Cin = 0、加算及び減
算結果が負の場合) CZ<19> = G0<19> + P0<19> (Cin = 1、減
算結果が正が場合) ここで、ビット<19>の方が上位ビットにあたるの
で、優先順位が高い。これにより、CG<19> 、CZ<19
>が選ばれる。
【0130】ここで、減算結果が負であると仮定したの
で、ビット<19>のキャリーC<19>は、 C<19>=CG<19> となる。更に、答えが負のときには予測誤差検出信号は
キャリー信号の反転となるので、 SHFTR=not(CG<19>) となる。
【0131】これまで説明してきた予測誤差検出回路1
03には、加算器(演算器101)と論理を共有する部
分が多い。そのため、回路のレイアウト増加や、動作性
能の低下を招かない範囲で共有化することで、回路レイ
アウトの面積も最適化が可能である。
【0132】本実施例の説明では、演算のビット幅を3
2ビットと仮定したが、演算のビット幅がこれと異なる
場合には(例えば、IEEE754では、単精度の浮動
小数点の仮数部は23(+暗黙の1ビット)ビットであ
る。)、それに応じて階層の構成、ビット数を増減させ
ることにより実現できる。
【0133】以上の様によって、第1及び第2実施形態
における大小比較処理が加算器と並列に行うことが可能
となる。即ち、図22(A)に示す様な従来の方法で
は、加減算の開始前に大小比較を行なわなければならな
かったが、本実施形態では図22(B)に示したよう
に、加減算処理と並列に大小比較を行ない、処理速度を
大幅に向上させることができる。従って、図22(A)
と図22(B)を比較すれば明らかなように、大小比較
処理に要する時間と誤差検出期間に対応する時間を削減
することができた。
【0134】
【発明の効果】以上詳細に説明したように、第1の発明
によれば、プライオリティエンコーダの出力を選択信号
として、加算器の各ビットの最終的な桁上げ信号を予測
誤差の有無を示す信号として選択するようにしたので、
桁落ちビット予測回路の予測誤差の有無を早く検出する
ことが可能になる。
【0135】第2の発明によれば、上記第1の発明にお
いて、プライオリティエンコーダの最終的な出力よりも
早く確定するプライオリティエンコーダにおける中間結
果を選択信号として用いるので、予測誤差の有無を一層
早く検出することが可能になる。
【0136】第3の発明によれば、プライオリティエン
コーダの中間結果を選択信号として、加算器の中間結果
である桁上げ生成信号と桁上げ伝搬信号を選択し、最終
的に選択された桁上げ生成信号と桁上げ伝搬信号を基
に、桁落ちビット予測回路が予測するビットに対応する
桁上げ信号を生成して、この桁上げ信号を予測誤差の有
無を示す信号として出力するようにしたので、第2の発
明よりも、さらに早く桁落ち予測誤差の有無を検出する
ことが可能になる。
【0137】第4の発明によれば、浮動小数点演算装置
において、プライオリティエンコーダの出力と加算器の
各ビットの最終的な桁上げ信号とに基づいて、桁落ちビ
ット予測回路の予測誤差を検出する桁落ち予測誤差検出
回路を設け、誤差補正手段は、桁落ち予測誤差検出回路
の検出結果に応じて誤差補正を行うようにしたので、正
規化手段に制御信号として供給されるプライオリティエ
ンコーダの出力を利用して、桁落ち予測誤差の有無を検
出することができ、装置の構成を簡素化できる。さら
に、正規化手段の出力の最上位ビットから桁落ち予測誤
差の有無を調べる従来の方法よりも、早く桁落ち予測誤
差の有無を検出することが可能になる。
【0138】第5の発明によれば、上記第4の発明にお
いて、桁落ち予測誤差検出回路は、プライオリティエン
コーダの出力を選択信号として、加算器の各ビットの最
終的な桁上げ信号から、桁落ちが起きたビットの桁上げ
信号を選択する選択回路で構成し、誤差補正手段は、選
択回路の出力に応じて誤差補正を行う構成にしたので、
第4の発明において、桁落ち予測誤差検出回路を簡易に
構成でき、かつ的確に動作させることができる。
【0139】第6の発明によれば、上記第5の発明にお
いて、桁落ち予測誤差検出回路は、プライオリティエン
コーダにおける中間結果を選択信号として入力する構成
にしたので、第5の発明において、上記第2の発明と同
様の効果を奏する。
【0140】第7の発明によれば、上記第4の発明にお
いて、桁落ち予測誤差検出回路は、プライオリティエン
コーダの中間結果を選択信号として、加算器の中間結果
である桁上げ生成信号と桁上げ伝搬信号を選択し、最終
的に選択された桁上げ生成信号と桁上げ伝搬信号を基
に、桁落ちビット予測回路が予測するビットに対応する
桁上げ信号を生成する構成にし、誤差補正手段は、前記
桁上げ信号に応じて誤差補正を行う構成にしたので、第
4の発明において、上記第3の発明と同様の効果を奏す
る。
【0141】第8の発明によれば、シフタに選択制御信
号として出力される信号を利用して、桁落ち予測の誤差
の有無を検出できる。しかも、左シフタの出力の最上位
ビットから桁落ち予測の誤差の有無を調べる従来の方法
よりも、早く桁落ち予測の誤差の有無を検出できる。
【0142】第9の発明によれば、上記第8の発明にお
いて、2つの被演算数の大小関係が減算開始時に判らな
くても、1ビットの誤差の範囲で、加減算の結果の桁落
ち予測が可能となる。
【0143】第10の発明によれば、上記第8の発明に
おいて、浮動小数点形式のデータでは仮数は絶対値表現
に変換するが、この表現に対応した桁落ちの予測と1ビ
ット予測誤差検出が、演算結果の正負に関わらず可能と
なる。
【0144】第11の発明によれば、上記第10の発明
において、加算の場合にも同様の適用が可能となってい
る。
【図面の簡単な説明】
【図1】本発明の第1実施形態に係る浮動小数点演算装
置の構成を示すブロック図である。
【図2】本発明の第1実施形態に係る浮動小数点演算装
置に大小比較回路を設けた構成を示すブロック図であ
る。
【図3】図1に示した桁落ち予測回路2の構成ブロック
図である。
【図4】2−1セレクタ14A,14Bの真理値表を示
す図である。
【図5】16ビットの桁落ち量決定回路13A,13B
の構成を示すブロック図である。
【図6】4−1セレクタ26の真理値表を示す図であ
る。
【図7】4ビットプライオリティエンコーダの真理値表
を示す図である。
【図8】左シフタ3と右シフタ5の構成を示す図であ
る。
【図9】シフト量選択制御信号S3,S2,S1とシフ
ト量の関係と示した図である。
【図10】予測誤差検出回路4の構成例を示す図であ
る。
【図11】予測誤差検出回路4の他の構成例を示す図で
ある。
【図12】第1実施形態の効果を示す図である。
【図13】本発明の第2実施形態に係る浮動小数点演算
装置の構成を示すブロック図である。
【図14】第2実施形態における予測誤差検出回路60
の構成を示すブロック図である。
【図15】図15に示した16ビット予測誤差検出回路
61の詳細を示す図である。
【図16】第2実施形態の効果を示す図である。
【図17】本発明の第3実施形態に係る浮動小数点演算
装置の構成を示すブロック図である。
【図18】本発明の第3実施形態に係る浮動小数点演算
装置の予測誤差検出回路の構成図である。
【図19】本発明の第3実施形態に係る浮動小数点演算
装置の図18の下位ブロック701の詳細図である。
【図20】本発明の第3実施形態に係る浮動小数点演算
装置の図18の下位ブロック702の詳細図である。
【図21】本発明の第3実施形態に係る浮動小数点演算
装置の桁上げ先見信号更新回路の構成図である。
【図22】本発明の第3実施形態に係る浮動小数点演算
装置の正規化時間の短縮効果を示す図である。
【図23】桁落ち予測の基本的な原理を説明する状態遷
移図である。
【図24】従来の浮動小数点演算装置の構成を示すブロ
ック図である。
【図25】図24に示した装置の動作の時間的経過を示
す概念図である。
【符号の説明】
1、101 演算器(加算器) 2、102 桁落ち予測回路 3、104 左シフタ 4,60、701、702 予測誤差検出回路 5、105 右シフタ 11、102 桁落ちビット予測回路 12、202 32ビット桁落ち量決定回路 13A,13B、203 16ビット桁落ち量決定回路 106 大小比較回路 A,Bx 被演算数 41,55 2−1セレクタ 43,43,51〜54 4−1セレクタ S1 第1のシフト量選択制御信号 S2 第2のシフト量選択制御信号 S3 第3のシフト量選択制御信号 SS1 第1のシフト量選択制御信号の候補 SS2 第2のシフト量選択制御信号の候補 EZ 桁落ち予測信号 Ci,Cin キャリー

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 加算器に入力されて演算が行われる2つ
    の被加減算数を各ビット毎に比較して、加算により桁落
    ちを起こすか否かをビット毎に予測判定する桁落ちビッ
    ト予測回路と、前記桁落ちビット予測回路によって桁落
    ちの有りと予測判定されたビットのうち最上位ビットの
    位置を符号化した形式で出力するプライオリティエンコ
    ーダと、該プライオリティエンコーダの出力に基づいて
    前記桁落ちビット予測回路の予測誤差を検出する桁落ち
    予測誤差検出回路とを有する論理回路であって、 前記桁落ち予測誤差検出回路は、前記プライオリティエ
    ンコーダの出力を選択信号として、前記加算器の各ビッ
    トの最終的な桁上げ信号を前記予測誤差の有無を示す信
    号として選択する選択回路で構成したことを特徴とする
    論理回路。
  2. 【請求項2】 前記桁落ち予測誤差検出回路は、前記プ
    ライオリティエンコーダにおける中間結果を前記選択信
    号として入力する構成にしたことを特徴とする請求項1
    記載の論理回路。
  3. 【請求項3】 加算器に入力されて演算が行われる2つ
    の被加減算数を各ビット毎に比較して、加算により桁落
    ちを起こすか否かをビット毎に予測判定する桁落ちビッ
    ト予測回路と、前記桁落ちビット予測回路によって桁落
    ちの有りと予測判定されたビットのうち最上位ビットの
    位置を符号化した形式で出力するプライオリティエンコ
    ーダと、該プライオリティエンコーダの出力に基づいて
    前記桁落ちビット予測回路の予測誤差を検出する桁落ち
    予測誤差検出回路とを有する論理回路であって、 前記桁落ち予測誤差検出回路は、前記プライオリティエ
    ンコーダの中間結果を選択信号として、前記加算器の中
    間結果である桁上げ生成信号と桁上げ伝搬信号を選択
    し、最終的に選択された桁上げ生成信号と桁上げ伝搬信
    号を基に、前記桁落ちビット予測回路が予測するビット
    に対応する桁上げ信号を生成して、この桁上げ信号を前
    記予測誤差の有無を示す信号として出力する構成にした
    ことを特徴とする論理回路。
  4. 【請求項4】 2つの被加減算数を入力して演算を行う
    加算器と、前記2つの被加減算数を各ビット毎に比較し
    て、加算により桁落ちを起こすか否かをビット毎に予測
    判定する桁落ちビット予測回路と、前記桁落ちビット予
    測回路によって桁落ちの有りと判定されたビットのうち
    最上位ビットの位置を符号化した形式で出力するプライ
    オリティエンコーダと、該プライオリティエンコーダの
    出力に基づき、前記加算器の演算出力に対して浮動小数
    点演算に伴う正規化処理を行う正規化手段と、前記正規
    化手段の処理結果に対して誤差補正を行う誤差補正手段
    とを備えた浮動小数点演算装置において、 前記プライオリティエンコーダの出力と前記加算器の各
    ビットの最終的な桁上げ信号とに基づいて、前記桁落ち
    ビット予測回路の予測誤差を検出する桁落ち予測誤差検
    出回路を設け、 前記誤差補正手段は、前記桁落ち予測誤差検出回路の検
    出結果に応じて前記誤差補正を行う構成にしたことを特
    徴とする浮動小数点演算装置。
  5. 【請求項5】 前記桁落ち予測誤差検出回路は、 前記プライオリティエンコーダの出力を選択信号とし
    て、前記加算器の各ビットの最終的な桁上げ信号から、
    桁落ちが起きたビットの桁上げ信号を選択する選択回路
    で構成し、 前記誤差補正手段は、前記選択回路の出力に応じて前記
    誤差補正を行う構成にしたことを特徴とする請求項4記
    載の浮動小数点演算装置。
  6. 【請求項6】 前記桁落ち予測誤差検出回路は、前記プ
    ライオリティエンコーダにおける中間結果を前記選択信
    号として入力する構成にしたことを特徴とする請求項5
    記載の浮動小数点演算装置。
  7. 【請求項7】 前記桁落ち予測誤差検出回路は、前記プ
    ライオリティエンコーダの中間結果を選択信号として、
    前記加算器の中間結果である桁上げ生成信号と桁上げ伝
    搬信号を選択し、最終的に選択された桁上げ生成信号と
    桁上げ伝搬信号を基に、前記桁落ちビット予測回路が予
    測するビットに対応する桁上げ信号を生成する構成に
    し、 前記誤差補正手段は、前記桁上げ信号に応じて前記誤差
    補正を行う構成にしたことを特徴とする請求項4記載の
    浮動小数点演算装置。
  8. 【請求項8】 加算器に入力されて演算が行われる2つ
    の被加減算数を各ビット毎に比較して、加算により桁落
    ちを起こすか否かをビット毎に判定する桁落ちビット予
    測回路と、前記桁落ちビット予測回路の出力する桁落ち
    の有無を判定するビットバターンを入力しその桁落ちの
    有りと判断したビットのうち最上位ビットの位置を符号
    化した形式で選択信号として出力するプライオリティエ
    ンコーダと、桁落ち予測誤差検出回路とを有する論理回
    路において、前記桁落ち予測誤差検出回路は、前記プラ
    イオリティエンコーダの中間結果を選択信号として、前
    記加算器の中間結果、或いは、前記演算が行われる2つ
    の被加減算数の各ビット桁上げ先見信号をもとに、最終
    的に桁上げ生成信号と桁上げ伝搬信号を選択し、前記桁
    上げ生成信号と桁上げ伝搬信号をもとに前記桁落ちビッ
    ト予測回路が予測する桁落ちビットに対応する桁上げ信
    号を生成する回路であることを特徴とする浮動小数点演
    算装置。
  9. 【請求項9】 前記桁落ちビット予測回路は、演算数を
    nビットの2数A<31:0>,B<31:0>、サインビ
    ットをSA,SB、又、減算のときBx=not B、
    SA=“0”、SB=“1”、加算のとき Bx=B、
    SA=“0”、SB=“0”、i<32とし、 g<i> =A<i> and Bx<i> p<i> =A<i> xor Bx<i> z<i> =not(A<i> or Bx<i> ) g<n>=SA and SB p<n+1>=p<n>=SA xor SB z<n>=not(SA or SB) として、桁落ちビット予測信号EZ<i>が EZ<i> =(notp<i+2>)and((g<i+1>and
    (notg<i>))+(z<i+1>and(notz<i>))+
    (p<i+2>)and((g<i+1>and(notz<i>))+
    (z<i+1>and(notg<i>)) で求められる請求項8記載の浮動小数点演算装置。
  10. 【請求項10】 大小比較回路を更に備え、g<i> = A
    <i> and Bx<i>、p<i>= A<i> xor Bx<i> と
    し、減算のとき、Bx=not B、加算のとき、Bx
    =Bとし、第kビットのキャリー信号C<k>を C<k> = g<k> or(p<k> and g<k-1>)or
    (p<k> and p<k-1> and g<k-2>)or(p<k>
    and p<k-1> and p<k-2> andg<k-3>) o
    r or (p<k> and p<k-1> and p<k-2> a
    nd p<2>and p<1> and g<0> ) or (p<
    k> and p<k-1> and p<k-2> and p<2> an
    d p<1> and p<0> and Cin) としたときに、A、Bの大小関係を比較する前記大小比
    較回路が、減算A―Bの結果が正であると判定した場合
    には、第kビットにおける予測誤差検出信号をCin=1
    とした場合のC<k>とし、減算A−Bの結果が負であ
    ると判定した場合には、第kビットにおける予測誤差検
    出信号をCin=0とした場合のC<k>の否定(not C
    <k>)とする論理を特徴とする請求項8記載の浮動小
    数点演算装置。
  11. 【請求項11】 第kビットで桁落ちが起きると前記桁
    落ちビット予測回路と前記プライオリテイエンコーダが
    特定し、演算が加算の場合には、予測誤差検出信号を、
    Cin=0とした場合のC<k>とすることを特徴とする
    請求項10記載の浮動小数点演算装置。
JP00602698A 1997-02-13 1998-01-14 論理回路及び浮動小数点演算装置 Expired - Fee Related JP3544846B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP00602698A JP3544846B2 (ja) 1997-02-13 1998-01-14 論理回路及び浮動小数点演算装置
US09/022,845 US6085211A (en) 1997-02-13 1998-02-12 Logic circuit and floating-point arithmetic unit

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2932697 1997-02-13
JP9-29326 1997-02-13
JP00602698A JP3544846B2 (ja) 1997-02-13 1998-01-14 論理回路及び浮動小数点演算装置

Publications (2)

Publication Number Publication Date
JPH10289096A true JPH10289096A (ja) 1998-10-27
JP3544846B2 JP3544846B2 (ja) 2004-07-21

Family

ID=26340099

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00602698A Expired - Fee Related JP3544846B2 (ja) 1997-02-13 1998-01-14 論理回路及び浮動小数点演算装置

Country Status (2)

Country Link
US (1) US6085211A (ja)
JP (1) JP3544846B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013543174A (ja) * 2010-09-24 2013-11-28 インテル・コーポレーション ベクトル整数乗算加算命令のための機能ユニット
US10579333B2 (en) 2017-05-22 2020-03-03 Fujitsu Limited Arithmetic unit and control method for arithmetic unit

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6571267B1 (en) * 1999-03-10 2003-05-27 Kabushiki Kaisha Toshiba Floating point addition/subtraction execution unit
US6405232B1 (en) * 1999-08-19 2002-06-11 National Semiconductor Corporation Leading bit prediction with in-parallel correction
US6557021B1 (en) * 1999-11-04 2003-04-29 Intrinsity, Inc. Rounding anticipator for floating point operations
US6988115B2 (en) * 2001-05-04 2006-01-17 Broadcom Corporation Method and apparatus to correct leading one prediction
US7668892B2 (en) 2005-08-25 2010-02-23 Arm Limited Data processing apparatus and method for normalizing a data value
JP4388543B2 (ja) * 2006-12-14 2009-12-24 株式会社日立製作所 3項入力の浮動小数点加減算器
US9830129B2 (en) * 2013-11-21 2017-11-28 Samsung Electronics Co., Ltd. High performance floating-point adder with full in-line denormal/subnormal support
US10114642B2 (en) * 2015-12-20 2018-10-30 Intel Corporation Instruction and logic for detecting the floating point cancellation effect
US20170177336A1 (en) * 2015-12-22 2017-06-22 Intel Corporation Hardware cancellation monitor for floating point operations
US10140093B2 (en) * 2017-03-30 2018-11-27 Arm Limited Apparatus and method for estimating a shift amount when performing floating-point subtraction
JP2019165365A (ja) * 2018-03-20 2019-09-26 株式会社東芝 信号処理装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4926369A (en) * 1988-10-07 1990-05-15 International Business Machines Corporation Leading 0/1 anticipator (LZA)
US5343413A (en) * 1992-07-06 1994-08-30 Matsushita Electric Industrial Co., Ltd. Leading one anticipator and floating point addition/subtraction apparatus
US5530663A (en) * 1994-11-14 1996-06-25 International Business Machines Corporation Floating point unit for calculating a compound instruction A+B×C in two cycles
JP3313002B2 (ja) * 1994-12-02 2002-08-12 三菱電機株式会社 浮動小数点演算装置
US5798952A (en) * 1996-02-29 1998-08-25 Hewlett-Packard Company Leading bit anticipator
US5764549A (en) * 1996-04-29 1998-06-09 International Business Machines Corporation Fast floating point result alignment apparatus
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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013543174A (ja) * 2010-09-24 2013-11-28 インテル・コーポレーション ベクトル整数乗算加算命令のための機能ユニット
JP2015111421A (ja) * 2010-09-24 2015-06-18 インテル・コーポレーション ベクトル機能ユニット、方法、およびコンピューティングシステム
US10579333B2 (en) 2017-05-22 2020-03-03 Fujitsu Limited Arithmetic unit and control method for arithmetic unit

Also Published As

Publication number Publication date
JP3544846B2 (ja) 2004-07-21
US6085211A (en) 2000-07-04

Similar Documents

Publication Publication Date Title
JP2508912B2 (ja) 浮動小数点加算装置
US8185570B2 (en) Three-term input floating-point adder-subtractor
US8166092B2 (en) Arithmetic device for performing division or square root operation of floating point number and arithmetic method therefor
JP3544846B2 (ja) 論理回路及び浮動小数点演算装置
JP2618374B2 (ja) 最上位の数字の位置の検出
JPH0542011B2 (ja)
US5343413A (en) Leading one anticipator and floating point addition/subtraction apparatus
US7668892B2 (en) Data processing apparatus and method for normalizing a data value
WO1999040508A1 (en) Fast adder/subtractor for signed floating point numbers
US6947962B2 (en) Overflow prediction algorithm and logic for high speed arithmetic units
US5831884A (en) Apparatus for performing arithmetic operation of floating point numbers capable of improving speed of operation by performing canceling prediction operation in parallel
US6499044B1 (en) Leading zero/one anticipator for floating point
JP3753275B2 (ja) 最上位有効ビット位置予測方法
JP2511527B2 (ja) 浮動小数点演算器
US7024439B2 (en) Leading Zero Anticipatory (LZA) algorithm and logic for high speed arithmetic units
US6571267B1 (en) Floating point addition/subtraction execution unit
KR100331846B1 (ko) 실수 연산기
US5657260A (en) Priority detecting counter device
US7003540B2 (en) Floating point multiplier for delimited operands
US20140059104A1 (en) Arithmetic circuit for calculating correction value
JP2752564B2 (ja) 先行1予測装置及び浮動小数点加減算装置
Li et al. Design of a fully pipelined single-precision multiply-add-fused unit
JP3512700B2 (ja) 浮動小数点演算装置
JP3257278B2 (ja) 冗長なシフト数予測とシフト誤り補正を用いた正規化装置
JP2856792B2 (ja) 浮動小数点数演算装置

Legal Events

Date Code Title Description
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: 20040330

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040406

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

Free format text: PAYMENT UNTIL: 20080416

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090416

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100416

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100416

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110416

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130416

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees