JP3512738B2 - 丸め検出回路及び該丸め検出回路がシフト回路に接続されてなる複合回路 - Google Patents

丸め検出回路及び該丸め検出回路がシフト回路に接続されてなる複合回路

Info

Publication number
JP3512738B2
JP3512738B2 JP2000385583A JP2000385583A JP3512738B2 JP 3512738 B2 JP3512738 B2 JP 3512738B2 JP 2000385583 A JP2000385583 A JP 2000385583A JP 2000385583 A JP2000385583 A JP 2000385583A JP 3512738 B2 JP3512738 B2 JP 3512738B2
Authority
JP
Japan
Prior art keywords
circuit
shift
bit
rounding
partial
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
JP2000385583A
Other languages
English (en)
Other versions
JP2002182897A (ja
Inventor
庄一郎 佐藤
Original Assignee
Necマイクロシステム株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Necマイクロシステム株式会社 filed Critical Necマイクロシステム株式会社
Priority to JP2000385583A priority Critical patent/JP3512738B2/ja
Priority to US10/014,379 priority patent/US20020078109A1/en
Priority to EP01130114A priority patent/EP1220086A3/en
Publication of JP2002182897A publication Critical patent/JP2002182897A/ja
Application granted granted Critical
Publication of JP3512738B2 publication Critical patent/JP3512738B2/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/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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、浮動小数点演算
回路に組み込まれて用いられ、データを所望のシフト量
で一斉にシフトすることが可能な並列シフト回路(バレ
ルシフト回路)における下位方向へのシフト処理によっ
て、少なくとも1つの「1」がシフトアウトする場合
に、これを検出する丸め検出回路及び該丸め検出回路が
シフト回路に接続されてなる複合回路に関する。
【0002】
【従来の技術】マイクロプロセッサにおいて浮動小数点
数は、例えば、図18に示すように、符号部101、指
数部102、仮数部103からなるデータで表現され
る。符号部101において符号Sは「0」が正を、
「1」が負を表す。また、指数部102において指数E
は実際の指数に指数バイアスb(例えばIEEE(Inst
itute of Electrical and Electronics Engineers)、
米国電気電子技術者協会)規格の単精度浮動小数点表示
では、b=12710)を加えたものとされている。ま
た、仮数部103において、仮数Fは、小数点の左が1
となるように正規化(仮数の最上位桁を非零とするこ
と)されている。すなわち、仮数Fは、整数1と小数f
(f<1)との和で表され、(F=1+f)の形式とさ
れる。したがって、図18で表される浮動小数点数X
は、式(1)によって与えられる数となる。
【0003】
【数1】 X=(−1)(E−b)(1+f) …(1)
【0004】以下、この浮動小数点表示を用いて例えば
加算処理を行う手順について説明する。浮動小数点数X
1(S=S1、E=E1、f=f1)と、浮動小数点数X2
(S=S2、E=E2、f=f2)との加算を行い、和
(X1+X2)の演算結果として浮動小数点数X3(S=
S3、E=E3、f=f3)が得られるものとする。な
お、便宜上、符号Sは1ビット、指数Eは3ビット、仮
数Fの小数fは4ビットとし、指数Eを10進数で、仮
数Fを2進数で表現して説明する。
【0005】例えば、(S1=0、E1=4、f1=0.
0011)、(S2=0、E2=2、f2=0.0001)
とし、浮動小数点数X1、X2が、それぞれ、式(2)、
式(3)によって与えられるものとする。
【0006】
【数2】 X1=(−1)(4−b)(1.1011) …(2)
【0007】
【数3】 X2=(−1)(2−b)(1.0001) …(3)
【0008】まず、指数E1と指数E2とを比較し、大き
な値の指数に小さい値の指数を揃える。この例では、
(E1=4、E2=2)であるので、指数の差分(E1−
E2=2)だけ浮動小数点数X2の仮数F2を右に(下位
側へ)シフトする。この結果、式(2)は、式(4)に
示すように変形される。
【0009】
【数4】 X2=(−1)(4−b)(0.010001) …(4)
【0010】次に、小数部f3を4ビットとする丸め処
理を行う。例えば、式(5)に示すように、(f3=
0.0100)とする。
【0011】
【数5】 X2=(−1)(4−b)(0.0100) …(5)
【0012】この丸め処理により、小数f3の小数第5
位、第6位の値は切り捨てられ、シフトアウトする。次
に、式(2)、式(5)によって、浮動小数点数X1と
浮動小数点数X2との和としての浮動小数点数X3を求め
ると、式(6)が得られる。
【0013】
【数6】 X3=(−1)(4−b)(1.1111) …(6)
【0014】次に、仮数部で最上位が「1」となる桁を
探し、この「1」が整数となるように仮数部全体を右に
(下位側へ)シフトして、正規化を行う。すなわち、演
算の結果、例えば仮数が(10.…)となったような場
合は、(1.0…)とする。この例では、既に仮数部に
おける整数が1であるので、正規化のための右シフトは
行われない。この後、小数部f3を4ビットとする丸め
処理を行うが、この例では、浮動小数点数X3は、最終
的に式(6)によって与えられる。
【0015】このような浮動小数点演算処理手順は、マ
イクロプロセッサにおいて、図19に示すような浮動小
数点加減算回路104を用いて実行される。この浮動小
数点数加減算回路104は、図19に示すように、指数
E1,E2の大小の比較信号及び桁合せシフト量信号を出
力する比較減算回路105と、桁合わせシフト量信号に
基づいて下位方向にシフトする桁合せシフト回路106
と、シフトアウト検出回路107と、丸め処理を行う丸
め処理回路108と、仮数の加減算を行う仮数加減算回
路109と、正規化シフト量だけシフトする正規化シフ
ト回路110と、シフトアウト検出回路111と、丸め
処理回路112と、指数を補正する指数増減回路113
とを有している。比較減算回路105は、2つの浮動小
数点数X1、X2の指数E1,E2が入力され、指数E1,
E2の大小を判断し、差分(E1−E2)または(E2−E
1)を算出して、比較信号及び桁合せシフト量信号を出
力する。桁合せシフト回路106は、浮動小数点数X
1、X2の仮数F1,F2と、比較信号及び桁合せシフト量
信号とが入力され、比較信号及び桁合せシフト量信号に
基づいて、指数E1,E2を大きい方の値に一致させ、指
数の小さい方の仮数を指数の差分だけ下位方向にシフト
する。シフトアウト検出回路107は、シフトアウトす
るビットのすべての論理和を演算し、この論理和が
「1」のときは丸めが生じることを示すスティッキー信
号STaを出力する。丸め処理回路108は、スティッ
キー信号STaとシフトアウトしたデータに基づいて、
所定の丸め処理方法を選択して丸め処理を行う。
【0016】仮数加減算回路109は、桁合せシフト回
路106において得られた桁合せ後の仮数の加減算を行
う。正規化シフト回路110は、仮数加減算回路109
おいて得られた加減算結果の最上位「1」の桁から整数
部までの桁数を正規化シフト量として計算し、この正規
化シフト量だけシフトする。シフトアウト検出回路11
1は、正規化シフトの結果、シフトアウトするビットの
すべての論理和を演算し、この論理和が「1」のときは
丸めが生じることを示すスティッキー信号STbを出力
する。丸め処理回路112は、スティッキー信号STb
とシフトアウトしたデータに基づいて、丸め処理方法を
選択し、正規化シフト回路110において得られた演算
結果をフォーマットの桁数まで縮めて、仮数E3を出力
する。指数増減回路113は、正規化シフト回路110
において得られた正規化シフト量に基づいて指数を補正
して指数E3を出力する。
【0017】ここで、スティッキー信号STaは、浮動
小数点演算の桁合わせによって生じるデータ補正の是非
の判断のために用いられる。丸め処理回路108(11
2)は、累積誤差を低減するために、スティッキー信号
STa(STb)を参照して、例えば、近傍の値にむかっ
て丸める、0に向かって丸める、正の無限大に向かって
丸める、負の無限大に向かって丸める等の丸め処理方法
の中から適切な方法を選択し、実行する。
【0018】ところで、近年、マイクロプロセッサの動
作周波数の飛躍的な向上に伴なって、演算スピードに対
してもスピード向上への厳しい要求があり、この一環と
して、「1」のシフトアウトの検出(丸め検出)に対し
ても処理スピードの向上が求められている。しかしなが
ら、上記従来技術の構成では、例えば桁合せシフト回路
106の後段にシフトアウト検出回路107が配置され
て、桁合せシフト回路106でのシフト処理が完了した
後に、「1」のシフトアウト(丸め)の発生を検出しス
ティッキー信号STaを出力していたので、処理が遅れ
てしまうという問題があった。このため、図20に示す
ように、桁合せシフト回路114とシフトアウト検出回
路115とを並列に接続して、シフトアウト検出処理
(丸め検出処理)をシフト処理と並列して行う技術が提
案されている。
【0019】この桁合せシフト回路114は、図20に
示すように、比較減算回路105から与えられたシフト
量信号に応じて、左右に1ビットシフト可能な1ビット
シフト回路116と、2ビットシフト可能な2ビットシ
フト回路117と、4ビットシフト可能な4ビットシフ
ト回路118と、8ビットシフト可能な8ビットシフト
回路119と、16ビットシフト可能な16ビットシフ
ト回路120と、32ビットシフト可能な32ビットシ
フト回路121とを有している。この桁合せシフト回路
114は、上記各ビットシフト回路の組み合わせによ
り、入力された例えば64ビットの仮数(a6362…a
3210)を、1ビットから64ビットまでの範囲の
任意のシフト量シフトしてシフト結果(b6362…b3
210)を出力して、丸め処理回路108へ送出す
る。また、シフトアウト検出回路115は、それぞれ、
1ビットシフト回路116、2ビットシフト回路11
7、4ビットシフト回路118、8ビットシフト回路1
19、16ビットシフト回路120、32ビットシフト
回路121での「1」のシフトアウトを検出するための
2入力セレクタ122、123、…、127を有してい
る。シフトアウト検出回路115は、比較減算回路10
5から与えられたシフト量信号と、桁合せシフト回路1
14から出力されたシフト処理中のデータの一部とに基
づいて、「1」のシフトアウトの有無を調べる。
【0020】1ビットシフト回路116は、図20に示
すように、例えば、「1」の右1ビットシフト信号RS
1を受け取った場合に、入力された仮数(a6362…a3
210)を右へ1ビットシフトし、2ビットシフト
回路117へ送る。2ビットシフト回路117は、
「1」の右2ビットシフト信号RS2を比較減算回路1
05から受け取った場合に、1ビットシフト回路116
の出力結果を右へ2ビットシフトし、4ビットシフト回
路118へ送る。4ビットシフト回路118は、「1」
の右4ビットシフト信号RS3を受け取った場合に、2
ビットシフト回路117の出力結果を右へ4ビットシフ
トし、4ビットシフト回路119へ送る。
【0021】8ビットシフト回路119は、「1」の右
8ビットシフト信号RS4を受け取った場合に、4ビッ
トシフト回路118の出力結果を右へ8ビットシフト
し、16ビットシフト回路120へ送る。16ビットシ
フト回路120は、「1」の右16ビットシフト信号R
S5を受け取った場合に、8ビットシフト回路119の
出力結果を右へ16ビットシフトし、32ビットシフト
回路121へ送る。32ビットシフト回路121は、
「1」の右32ビットシフト信号RS6を受け取った場
合に、16ビットシフト回路120の出力結果を右へ3
2ビットシフトし、丸め処理回路108へ送る。なお、
1ビットシフト回路116は、「1」の左1ビットシフ
ト信号LS1を受け取った場合は、仮数(a6362…a3
210)を左へ1ビットシフトする。
【0022】1ビットシフト回路116は、仮数(a63
62…a3210)のビット数に対応した64個の3
入力セレクタからなり、最下位ビットに対応する3入力
セレクタ1160は、図21(a)に示すように、2つ
の制御端子φ1、φ2に入力される制御信号の状態
(「1」又は「0」)に応じて、導通状態となって入力
信号を反転出力したり、遮断状態となって入力信号の通
過を阻止するクロックインバータ回路1160a、11
0b、1160cと、右1ビットシフト信号RS1を受
け取って反転させてクロックインバータ回路1160
の制御端子φ2に与えるインバータ回路1160dと、左
1ビットシフト信号LS1を受け取って反転させてクロ
ックインバータ回路1160bの制御端子φ2に与えるイ
ンバータ回路116 0eと、右1ビットシフト信号RS1
と左1ビットシフト信号RL1と受け取り、右1ビット
シフト信号RS1と左1ビットシフト信号RL1とが両方
とも「0」の状態のときのみ「1」の非選択信号を出力
するNOR回路1160gと、NOR回路1160fの出
力信号を受け取って反転させて、クロックインバータ回
路1160cの制御端子φ2に与えるインバータ回路11
0gと、クロックインバータ回路1160a、クロック
インバータ回路1160b、又はクロックインバータ回
路1160cからの出力信号を反転させて出力するイン
バータ回路1160hとを有している。2ビット目から
最上位ビットに対応する3入力セレクタも、この3入力
セレクタ1160と略同一の構成である。また、2ビッ
トシフト回路117、4ビットシフト回路118、8ビ
ットシフト回路119、16ビットシフト回路120、
32ビットシフト回路121も、1ビットシフト回路1
16と略同一の構成である。
【0023】2入力セレクタ122は、図21(b)に
示すように、2つの制御端子φ1、φ2に入力される制御
信号の状態に応じて、導通状態となって入力信号を反転
出力したり、遮断状態となって入力信号の通過を阻止す
るクロックインバータ回路122a、122bと、右1
ビットシフト信号RS1を受け取って反転させてクロッ
クインバータ回路122aの制御端子φ2とクロックイ
ンバータ回路122bの制御端子φ1に与えるインバー
タ回路122cと、クロックインバータ回路122a、
クロックインバータ回路122bからの出力信号を反転
させて出力するインバータ回路122dとを有してい
る。2入力セレクタ123、124、…、127も2入
力セレクタ122と同一の構成を有している。2入力セ
レクタ122においては、右1ビットシフト信号RS1
「1」が入力された場合に、クロックインバータ回路1
22aが導通状態、クロックインバータ回路122bが
遮断状態となり、このとき、AND回路128を介し
て、仮数(a6362…a3210)の最下位ビットデ
ータa0が「1」であることを示す信号「1」が入力さ
れると、「1」のシフトアウト(丸め)が生じることを
示す「1」状態のスティッキー信号S1がインバータ回
路122dから出力される。
【0024】同様に、2入力セレクタ123において
は、右2ビットシフト信号RS2「1」が入力された場
合に、OR回路129を介して、2ビットシフト回路1
17の出力結果の下位2ビットのどちらかが「1」であ
ることを示す信号「1」が入力されると、「1」状態の
スティッキー信号S2が出力される。
【0025】2入力セレクタ124においては、右4ビ
ットシフト信号RS3「1」が入力された場合に、OR
回路130を介して、4ビットシフト回路118の出力
結果の下位4ビットのいずれか1つが「1」であること
を示す信号「1」が入力されると、「1」状態のスティ
ッキー信号S3が出力される。2入力セレクタ125に
おいては、右8ビットシフト信号RS4「1」が入力さ
れた場合に、OR回路131を介して、8ビットシフト
回路119の出力結果の下位8ビットのいずれか1つが
「1」であることを示す信号「1」が入力されると、
「1」状態のスティッキー信号S4が出力される。2入
力セレクタ126においては、右16ビットシフト信号
RS5「1」が入力された場合に、OR回路132を介
して、16ビットシフト回路120の出力結果の下位1
6ビットのいずれか1つが「1」であることを示す信号
「1」が入力されると、「1」状態のスティッキー信号
S5が出力される。2入力セレクタ127においては、
右32ビットシフト信号RS6「1」が入力された場合
に、OR回路133を介して、32ビットシフト回路1
21の出力結果の下位32ットのいずれか1つが「1」
であることを示す信号「1」が入力されると、「1」状
態のスティッキー信号S6が出力される。
【0026】また、例えば、上記2入力セレクタ122
において、右1ビットシフト信号RS1シフト信号が
「0」の場合は、クロックインバータ回路122bが導
通状態となって、クロックインバータ回路122bに入
力されたデータがこのままインバータ回路122dから
出力される。後段の2入力セレクタ123、124、
…、127も同様に動作する。
【0027】
【発明が解決しようとする課題】しかしながら、例え
ば、2入力セレクタ122において「1」状態のスティ
ッキー信号S1が生成された場合は、このスティッキー
信号S1は、後段の2入力セレクタ123、124、
…、127を経由して出力され、丸め処理回路108へ
送られる。このスティッキー信号S1の出力までは、図
20及び図21に示すように、13段の論理段数を必要
とし、桁合わせシフト回路114の論理段数12段より
も多くなってしまい、桁合わせシフト回路114からの
出力がなされてから、「1」のシフトアウトの有無が判
明するという問題があった。このため、丸め処理回路1
08における丸め処理に時間がかり、浮動小数点演算回
路の動作速度の向上の妨げになるという問題があった。
したがって、近年、飛躍的に高まっているマイクロプロ
セッサの動作周波数に対応できないという問題があっ
た。例えば、科学技術計算やコンピュータグラフィクス
等をマイクロプロセッサを用いて行う際には、高速で高
精度の浮動小数点演算性能が必要とされるが、高速化の
ために動作周波数が高いマイクロプロセッサを使用して
いても、満足のいく演算速度が得られず、科学技術計算
等に要する計算時間が増大化して実用上支障が生じると
いう問題があった。
【0028】この発明は、上述の事情に鑑みてなされた
もので、高速に、「1」のシフトアウト(丸め)の発生
を検出して検出信号を出力し、浮動小数点演算回路の動
作速度の向上に寄与することができる丸め検出回路及び
該丸め検出回路がシフト回路を提供することを目的とし
ている。
【0029】
【課題を解決するための手段】上記課題を解決するため
に、請求項1記載の発明は、浮動小数点演算回路を構成
し、シフト対象データをそれぞれ所定の部分シフト量シ
フトさせる直列接続された複数段の部分シフト回路を有
し、シフト対象データを、少なくとも1段の前記部分シ
フト回路によってシフトさせることによって、入力され
たシフト対象データを所定のシフト量シフトさせるシフ
ト回路に接続して用いられ、該シフト回路によるシフト
対象データの下位方向へのシフト処理による少なくとも
一つの「1」を含むデータのシフトアウトの発生を検出
する丸め検出回路に係り、前記各部分シフト回路による
部分シフト処理の結果発生する少なくとも一つの「1」
を含むデータのシフトアウトを検出して該検出結果を通
知するための部分丸め検出信号を出力する複数段の部分
丸め検出回路と、複数の前記部分丸め検出信号が入力さ
れ、入力された前記部分丸め検出信号のうち少なくとも
1つが、対応する前記部分シフト回路における少なくと
も一つの「1」を含むデータのシフトアウトの発生を示
す場合に、適切な丸め処理方法を選択するための丸め処
理判定を促すための丸め検出信号を出力する丸め検出信
号出力回路とを備え、かつ、前記各部分丸め検出信号の
うち、最終段の前記部分丸め検出回路を除く少なくとも
一つの前記部分丸め検出回路から出力された前記部分丸
め検出信号は、他の前記部分丸め検出回路を経由しない
ように構成されていると共に、前記複数の部分丸め検出
回路のうちの少なくとも2つの前記部分丸め検出回路
は、前記丸め検出信号出力回路に直接接続していること
を特徴としている。
【0030】また、請求項2記載の発明は、請求項1記
載の丸め検出回路に係り、前記複数の部分丸め検出回路
のうち、少なくとも一つの前段側の前記部分丸め検出回
路は、後段側の前記部分丸め検出回路を経由して前記丸
め検出信号出力回路に接続し、後段側の前記部分丸め検
出回路は、前段側の前記部分丸め検出回路と後段側の前
記部分丸め検出回路とのうちの少なくともいずれかに対
応する前記部分シフト回路において少なくとも一つの
「1」を含むデータのシフトアウトが発生した場合に、
前記部分丸め検出信号を出力することを特徴としてい
る。
【0031】また、請求項3記載の発明は、請求項1又
は2記載の丸め検出回路に係り、全ての前記部分丸め検
出回路が、前記丸め検出信号出力回路に直接接続する構
成になされていることを特徴とする。
【0032】また、請求項4記載の発明は、請求項1乃
至3のいずれか1に記載の丸め検出回路に係り、前記各
部分丸め検出回路が、前記各部分シフト回路に、1対1
で対応していることを特徴としている。
【0033】また、請求項5記載の発明は、請求項1乃
至4のいずれか1に記載の丸め検出回路に係り、前記複
数の部分丸め検出回路のうち、部分シフト量が、他の前
記部分丸め検出回路と比較すれば、大きい前記部分シフ
ト回路に対応する前記部分丸め検出回路を構成する能動
素子のサイズは、部分シフト量が小さい前記他の部分シ
フト回路に対応する前記部分丸め検出回路を構成する能
動素子のサイズに対して大きく設定されていることを特
徴としている。
【0034】また、請求項6記載の発明は、浮動小数点
演算回路を構成し、シフト対象データをそれぞれ所定の
部分シフト量シフトさせる直列接続された複数段の部分
シフト回路を有し、シフト対象データを、少なくとも1
段の前記部分シフト回路によってシフトさせることによ
って、入力されたシフト対象データを所定のシフト量シ
フトさせるシフト回路と、前記シフト回路に接続して用
いられ、前記シフト回路によるシフト対象データの下位
方向へのシフト処理による少なくとも一つの「1」を含
むデータのシフトアウトの発生を検出する丸め検出回路
とを備えた複合回路に係り、前記丸め検出回路は、前記
各部分シフト回路による部分シフト処理の結果発生する
少なくとも一つの「1」を含むデータのシフトアウトを
検出する複数段の部分丸め検出回路と、少なくとも一つ
の前記部分丸め検出回路によって、少なくとも一つの
「1」を含むデータのシフトアウトが検出された場合
に、適切な丸め処理方法を選択するための丸め処理判定
を促すための丸め検出信号を出力する丸め検出信号出力
回路とを備え、前記複数の部分丸め検出回路のうちの少
なくとも2つの前記部分丸め検出回路は、前記丸め検出
信号出力回路に直接接続していることを特徴としてい
る。
【0035】また、請求項7記載の発明は、請求項6記
載の丸め検出回路がシフト回路に接続されてなる複合回
路に係り、前記各部分シフト回路は、それぞれの前記部
分シフト量が入力側からみて、昇順となるように接続さ
れていることを特徴としている。
【0036】また、請求項8記載の発明は、請求項6記
載の丸め検出回路がシフト回路に接続されてなる複合回
路に係り、前記各部分シフト回路は、それぞれの前記部
分シフト量が入力側からみて、降順となるように接続さ
れていることを特徴としている。
【0037】また、請求項9記載の発明は、請求項6、
7又は8記載の丸め検出回路がシフト回路に接続されて
なる複合回路に係り、前記部分シフト量が、2の冪乗で
あることを特徴としている。
【0038】
【0039】
【作用】この発明の構成では、各部分丸め検出信号のう
ち、最終段の部分丸め検出回路を除く少なくとも1つの
部分丸め検出回路から出力された部分丸め検出信号が、
他の部分丸め検出回路を経由しないように構成されてい
るので、丸め検出信号出力回路から出力される丸め検出
信号は、高速に、丸め処理を行う丸め処理回路に伝達さ
れる。したがって、浮動小数点演算回路の動作速度の向
上に寄与することができる。また、部分シフト量が比較
的大きい部分シフト回路に対応する部分丸め検出回路を
構成する能動素子のサイズを、部分シフト量が比較的小
さい部分シフト回路に対応する部分丸め検出回路を構成
する能動素子のサイズに対して大きく設定することによ
って、平均的な演算処理時間の短縮化を図りつつ、丸め
検出回路全体のサイズの縮小化を達成することができ
る。
【0040】
【発明の実施の形態】以下、図面を参照して、この発明
の実施の形態について説明する。説明は、実施例を用い
て具体的に行う。 ◇第1実施例 図1及び図2は、この発明の第1実施例であるシフト回
路及びシフトアウト検出回路の電気的構成を示すブロッ
ク図、図3は、同シフト回路を構成するマルチプレクサ
回路の構成を示す回路図、図4は、同シフトアウト検出
回路を構成する1ビット検出回路の構成を示す回路図、
図5は、同シフトアウト検出回路を構成する2ビット検
出回路の構成を示す回路図、図6は、同シフトアウト検
出回路を構成する4ビット検出回路の構成を示す回路
図、図7は、同シフトアウト検出回路を構成する8ビッ
ト検出回路の構成を示す回路図、図8は、同シフトアウ
ト検出回路を構成する16ビット検出回路の構成を示す
回路図、図9は、同シフトアウト検出回路を構成する3
2ビット検出回路の構成を示す回路図、図10は、同シ
フト回路及びシフトアウト検出回路の動作を説明するた
めの説明図、また、図11は、同シフト回路及びシフト
アウト検出回路が組み込まれた浮動小数点加減算回路の
電気的構成を示すブロック図である。
【0041】この例のシフト回路1及びシフトアウト検
出回路(丸め検出回路)2は、図1に示すように、2つ
の浮動小数点数の加算結果(和)等を求めて出力する浮
動小数点加減算回路において、桁合せシフトや正規化シ
フトの際に用いられる。なお、並列接続されたシフト回
路1及びシフトアウト検出回路2は、複合回路を構成す
る。このシフト回路1は、比較減算回路3から与えられ
たシフト量信号に応じて、左右に1ビットシフト可能な
1ビットシフト回路(部分シフト回路)5と、2ビット
シフト可能な2ビットシフト回路6と、4ビットシフト
可能な4ビットシフト回路7と、8ビットシフト可能な
8ビットシフト回路8と、16ビットシフト可能な16
ビットシフト回路9と、32ビットシフト可能な32ビ
ットシフト回路11とを有している。シフト回路1は、
図1及び図2に示すように、上記各ビットシフト回路の
組み合わせにより、入力された例えば64ビットの仮数
(a6362…a3210)を、1ビットから64ビッ
トまでの範囲の任意のシフト量シフトしてシフト結果
(b6362…b3210)を出力して、丸め処理回路
4へ送出する。
【0042】シフトアウト検出回路2は、図1及び図2
に示すように、それぞれ、1ビットシフト回路5、2ビ
ットシフト回路6、4ビットシフト回路7、8ビットシ
フト回路8、16ビットシフト回路9、及び32ビット
シフト回路11での「1」のシフトアウトを検出するた
めの1ビット検出回路(部分丸め検出回路)13、2ビ
ット検出回路14、4ビット検出回路15、8ビット検
出回路16、16ビット検出回路17、及び32ビット
検出回路18と、2ビット検出回路14及び4ビット検
出回路15の出力を中継する中継出力回路19と、各ビ
ット検出回路の出力を集約して、シフト回路1における
シフト処理の結果、「1」のシフトアウトを通知するた
めのスティッキー信号(丸め検出信号)STOUTを出力
する集約出力回路(丸め検出信号出力回路)21とを有
している。シフトアウト検出回路2は、比較減算回路3
から与えられたシフト量信号と、桁合せシフト回路1か
ら出力されたシフト処理中のデータの一部とに基づい
て、「1」のシフトアウトの有無を調べる。
【0043】例えば桁合せシフトの際には、シフト回路
1が、2つの浮動小数点数の指数の大小を判断する比較
減算回路3から出力された指数が小さい方の浮動小数点
数の仮数の桁合せに必要なシフト量に基づいて、入力さ
れたシフト対象の例えば64ビットの仮数(a6362
3210)を下位へ向けてシフト(右シフト)させ
て、シフト結果(b6362…b3210)を出力す
る。一方、シフトアウト検出回路2が、シフト回路1の
シフト処理と並行して、該シフト処理の結果、シフトア
ウトするデータのなかに1つでも「1」が含まれる否か
調べ、1つでも「1」が含まれている場合には、後段の
丸め処理回路4で最適な丸め処理方法を選択するための
丸め処理判定を促すスティッキー信号STOUTを「1」
として出力する。
【0044】シフト回路1は、複数ビット纏めてシフト
可能なバレルシフト回路である。図1及び図2に示すよ
うに、シフト回路1において、1ビットシフト回路(部
分シフト回路)5は、比較減算回路3から、例えば
「1」の右1ビットシフト信号RS1を受け取った場合
に、入力された仮数(a6362…a3210)を1ビ
ット右シフトさせる。また、「1」の左1ビットシフト
信号LS1を受け取った場合に、入力された仮数(a63
62…a3210)を1ビット左シフトさせる。2ビ
ットシフト回路6は、「1」の右2ビットシフト信号R
S2を受け取った場合に、1ビットシフト回路5の出力
データ(p6362…p3210)を2ビット右シフト
させる。また、「1」の左2ビットシフト信号LS2を
受け取った場合に、1ビットシフト回路5の出力データ
(p6362…p3210)を2ビット左シフトさせ
る。4ビットシフト回路7は、「1」の右4ビットシフ
ト信号RS3を受け取った場合に、2ビットシフト回路
6の出力データ(q6362…q3210)を4ビット
右シフトさせる。また、「1」の左4ビットシフト信号
LS3を受け取った場合に、2ビットシフト回路6の出
力データ(q6362…q3210)を4ビット左シフ
トさせる。
【0045】8ビットシフト回路8は、「1」の右8ビ
ットシフト信号RS4を受け取った場合に、4ビットシ
フト回路7の出力データ(r6362…r3210)を
8ビット右シフトさせる。また、「1」の左8ビットシ
フト信号LS4を受け取った場合に、4ビットシフト回
路7の出力データ(r6362…r3210)を8ビッ
ト左シフトさせる。16ビットシフト回路9は、「1」
の右16ビットシフト信号RS5を受け取った場合に、
8ビットシフト回路8の出力データ(s6362…s32
10)を16ビット右シフトさせる。また、「1」の
左16ビットシフト信号LS5を受け取った場合に、8
ビットシフト回路8の出力データ(s6362…s32
10)を16ビット左シフトさせる。32ビットシフト
回路11は、「1」の右32ビットシフト信号RS6を
受け取った場合に、16ビットシフト回路9の出力デー
タ(t6362…t3210)を32ビット右シフトさ
せる。また、「1」の左32ビットシフト信号LS6を
受け取った場合に、16ビットシフト回路9の出力デー
タ(t6362…t3210)を32ビット左シフトさ
せる。シフト回路1は、上記シフト信号の組み合わせに
よって、1ビットから64ビットまでの任意のシフト量
下位方向及び上位方向へシフトさせることが可能とされ
ている。
【0046】1ビットシフト回路5には、図2に示すよ
うに、仮数(a6362…a3210)と、1ビット上
位のデータであり、仮数(a6362…a3210)を
1ビット右シフトさせた右シフトデータ(aR63R62
R3R2R1R0)と、1ビット下位のデータであり、
仮数(a6362…a3210)を1ビット左シフトさ
せた左シフトデータ(aL63L62…aL3L2L1L0
とが入力される。ここで、1ビット上位又は1ビット下
位の該当するデータがない場合は、「0」が入力され
る。1ビットシフト回路5は、図2に示すように、上記
データが入力され、仮数(a6362…a3210)の
ビット数に対応した64個のマルチプレクサ回路5 0
1、52、…、562、563を有している。マルチプレク
サ回路50(51、52、53、…、562、563)は、図2
に示すように、制御信号として入力される右1ビットシ
フト信号RS1と左1ビットシフト信号RL1との状態に
応じて、入力される仮数(a6362…a3210)の
うちの対応するビットのデータ、右シフトデータ(a
R63R62…aR3R2R1 R0)のうちの対応するビット
のデータ、左シフトデータ(aL63L62…aL3L2L1
L0)のうちの対応するビットのデータのうちいずれか
1つのデータを選択して出力する。
【0047】同様に、2ビットシフト回路6、4ビット
シフト回路7、8ビットシフト回路8、16ビットシフ
ト回路9、32ビットシフト回路11は、それぞれ、6
4個のマルチプレクサ回路60、61、62、…、663
マルチプレクサ回路70.71、72、…、763、マルチ
プレクサ回路80、81、82、…、863、マルチプレク
サ回路90、91、92、…、963、マルチプレクサ回路
110、111、112、…、1163、を有している。こ
こで、2ビットシフト回路6には、図2に示すように、
1ビットシフト回路5の出力データ(p6362…p32
10)と、2ビット上位のデータであり、出力データ
(p6362…p3210)を2ビット右シフトされた
右シフトデータ(pR63R62…pR3R2R1R0)と、
2ビット下位のデータであり、出力データ(p6362
3210)を2ビット左シフトされた左シフトデー
タ(p L63L62…pL3L2L1L0)とが入力される。
ここで、2ビット上位又は2ビット下位の該当するデー
タがない場合は、「0」が入力される。上記データは、
各マルチプレクサ回路60(61、62、63、…、662
63)のそれぞれに入力される。以下同様に、4ビット
シフト回路7には、2ビットシフト回路6の出力データ
(q6362…q3210)と、出力データ(q6362
…q3210)を4ビット右シフトされた右シフトデ
ータ(qR63R62…qR3R2R1R0)と、出力データ
(q6362…q3210)を4ビット左シフトされた
左シフトデータ(qL63L62…qL3L2L1L0)とが
入力される。
【0048】また、8ビットシフト回路8には、4ビッ
トシフト回路7の出力データ(r6362…r32
10)と、出力データ(r6362…r3210)を8
ビット右シフトされた右シフトデータ(rR63R62…r
R3R2R1R0)と、出力データ(r6362…r32
10)を8ビット左シフトされた左シフトデータ(r
L63L62…rL3L2L1L0)とが入力される。また、
16ビットシフト回路9には、8ビットシフト回路8か
らの出力データ(s6362…s3210)と、出力デ
ータ(s6362…s3210)を16ット右シフトさ
れた右シフトデータ(sR63R62…sR3R2R1R0
と、出力データ(s6362…s3210)を16ビッ
ト左シフトされた左シフトデータ(sL63L62…sL3
L2L1L0)とが入力される。また、32ビットシフト
回路11には、16ビットシフト回路9の出力データ
(t6362…t3210)と、出力データ(t6362
…t3210)を32ビット右シフトされた右シフト
データ(tR63R62…tR3R2R1R0)と、出力デー
タ(t6362…t3210)を32ビット左シフトさ
れた左シフトデータ(tL63L62…tL3L2L1L0
とが入力される。
【0049】マルチプレクサ回路50は、図3に示すよ
うに、クロックインバータ回路50a、50b、50
と、インバータ回路50d、50e、50g、50hと、N
OR回路50fとを有している。クロックインバータ回
路50a、50b、50cは、2つの制御端子φ1、φ2に
入力される制御信号の状態(「1」又は「0」)に応じ
て、導通状態となって入力信号を反転出力したり、ハイ
インピーダンス状態(遮断状態)となって入力信号の通
過を阻止する。インバータ回路50dは、右1ビットシ
フト信号RS1を受け取って反転させてクロックインバ
ータ回路50aの制御端子φ2に与える。インバータ回路
0eは、左1ビットシフト信号LS1を受け取って反転
させてクロックインバータ回路50bの制御端子φ2に与
える。NOR回路50fは、右1ビットシフト信号RS1
と左1ビットシフト信号RL1と受け取り、右1ビット
シフト信号RS1と左1ビットシフト信号RL1とが両方
とも「0」の状態のときのみ「1」の非選択信号を出力
する。インバータ回路50gは、NOR回路50fの出力
信号を受け取って反転させて、クロックインバータ回路
0cの制御端子φ2に与える。インバータ回路50
は、クロックインバータ回路50a、クロックインバー
タ回路50b、又はクロックインバータ回路50cからの
出力信号を反転させて出力する。
【0050】クロックインバータ回路50a、50b、5
0cにおいて、制御端子φ2には、制御端子φ1に入力さ
れた制御信号が反転された制御信号が入力される。例え
ば、クロックインバータ回路50aにおいて、制御端子
φ1に制御信号としての右1ビットシフト信号RS1が
「1」状態で入力され、制御端子φ2に「0」状態の信
号が入力された場合は、右シフトデータ(aR63R62
R3R2R1 R0)のうちの最下位ビットデータaR0
反転されてこのクロックインバータ回路50aから出力
される。このとき、クロックインバータ回路50b、50
cは遮断状態であり、マルチプレクサ回路50からは、
最下位ビットデータaR0が出力される。同様にして、ク
ロックインバータ回路50bの制御端子φ1に左1ビット
シフト信号LS1が「1」状態で入力されたときは、マ
ルチプレクサ回路50からは、左シフトデータ(aL63
L62…aL3L2L1L0)のうちの最下位ビットデータ
L0が出力される。また、クロックインバータ回路50
cの制御端子φ1に非選択信号が「1」状態で入力され
たときは、マルチプレクサ回路50からは、仮数(a63
62…a3210)のうちの最下位ビットデータa0
がこのまま出力される。
【0051】また、マルチプレクサ回路51、52、…、
63も、マルチプレクサ回路50と同一の構成であり、
図3において、沿字を0から12、…、63に代えて示さ
れるものとする。さらに、マルチプレクサ回路6、7、
…、11は、入力されるデータや制御信号としてのシフ
ト信号が異なる以外は、マルチプレクサ回路5と同一構
成であり、図3において、50を60、61、…、1163
に代えて、また例えば50aを60a等に代えて示される
ものとする。マルチプレクサ回路51は、右1ビットシ
フト信号RS1が「1」のときは、右シフトデータ(a
R63R62…aR3R2R1R0)のうちの2ビット目デー
タaR1を、左1ビットシフト信号RL1が「1」のとき
は、左シフトデータ(aL63L6 2…aL3L2L1L0
のうちの2ビット目データaL1を、右1ビットシフト信
号RS1と左1ビットシフト信号RL1との両方が「0」
のときは、仮数(a63 62…a3210)のうちの2
ビット目データa1を出力する。
【0052】以下、マルチプレクサ回路52、…、
62、563についても同様である。このようにして、1
ビットシフト回路5は、右1ビットシフト信号RS1と
左1ビットシフト信号RL1との状態に応じて、入力さ
れる仮数(a6362…a3 210)、右シフトデータ
(aR63R62…aR3R2R1R0)、左シフトデータ
(aL63L62…aL3L2L1L0)のうちいずれか1つ
のデータを選択して出力する。同様にして、2ビットシ
フト回路6は、右2ビットシフト信号RS2と左2ビッ
トシフト信号RL2との状態に応じて、入力される出力
データ(p6362…p3 210)、右シフトデータ(p
R63R62…pR3R2R1R0)、左シフトデータ(p
L63L62…pL3L2L1L0)のうちいずれか1つのデ
ータを選択して出力する。以下、4ビットシフト回路
7、8ビットシフト回路8、16ビットシフト回路9、
32ビットシフト回路11についても同様であり、シフ
ト回路1は、入力された仮数(a6362…a32
10)を、1ビットから64ビットまでの任意のシフト
量シフトさせる 。
【0053】図1及び図2に示すように、シフトアウト
検出回路2において、1ビット検出回路(部分丸め検出
回路)13は、1ビットシフト回路5におけるシフト処
理の結果、「1」がシフトアウトしたことを検出する。
2ビット検出回路14は、2ビットシフト回路6におけ
るシフト処理の結果、「1」がシフトアウトしたことを
検出する。4ビット検出回路15は、4ビットシフト回
路7におけるシフト処理の結果、「1」がシフトアウト
したことを検出する。また、1ビット検出回路13にお
ける検出結果が入力されて、この検出結果を含む信号が
出力される。
【0054】8ビット検出回路16は、8ビットシフト
回路8におけるシフト処理の結果、「1」がシフトアウ
トしたことを検出する。16ビット検出回路17は、1
6ビットシフト回路9におけるシフト処理の結果、
「1」がシフトアウトしたことを検出する。32ビット
検出回路18は、32ビットシフト回路11におけるシ
フト処理の結果、「1」がシフトアウトしたことを検出
する。中継出力回路19は、2ビット検出回路14と4
ビット検出回路15との検出結果が入力され、1ビット
シフト回路5、2ビットシフト回路6、4ビットシフト
回路7における検出結果を含む信号が出力される。集約
出力回路(丸め検出信号出力回路)21は、中継出力回
路19、8ビット検出回路16、16ビット検出回路1
7及び32ビット検出回路18の検出結果が入力され、
1ビットシフト回路5、2ビットシフト回路6、4ビッ
トシフト回路7、8ビットシフト回路8、16ビットシ
フト回路9、32ビットシフト回路11のいずれか1つ
で「1」がシフトアウトした場合に、スティッキー信号
STOUTを「1」として出力する。
【0055】1ビット検出回路13は、図4に示すよう
に、2入力NAND回路からなり、右1ビットシフト信
号RS1と最下位ビットデータa0とが入力され、共に
「1」のときにシフトアウトしたデータのなかに「1」
が含まれることを丸め処理回路4に通知するためのステ
ィッキー信号ST1を出力する。すなわち、1ビット検
出回路13は、右1ビットシフト信号RS1が「1」で
あって、1ビットシフト回路5において、1ビットの右
シフトが実行され、かつ、1ビットシフト回路5に入力
される仮数(a6362…a3210)のうちの最下位
ビットデータa0が「1」であるときに、スティッキー
信号ST1を「0」として出力する。
【0056】2ビット検出回路14は、図5に示すよう
に、最下位ビットデータp0と2ビット目データp1との
OR出力と、右2ビットシフト信号RS2とについてN
ANDをとる論理演算を行って出力する2入力OR2入
力NAND回路23と、2入力OR2入力NAND回路
23の出力を反転するインバータ回路24とを有してい
る。すなわち、2ビット検出回路14は、右2ビットシ
フト信号RS2が「1」であって、2ビットシフト回路
6において、2ビットの右シフトが実行され、かつ、2
ビットシフト回路6に入力される出力データ(p6362
…p3210)のうちの最下位ビットデータp0と2
ビット目データp1との少なくともいずれか一方が
「1」であるときに、シフトアウトしたデータのなかに
「1」が含まれることを通知するためのスティッキー信
号ST2を「1」として出力する。
【0057】4ビット検出回路15は、図6に示すよう
に、最下位ビットデータq0から4ビットデータq3まで
のデータについてNORをとる論理演算を行って出力す
る4入力NOR回路25と、右4ビットシフト信号RS
3を反転して出力するインバータ回路26と、インバー
タ回路26の出力と4入力NOR回路25の出力とのO
R出力とスティッキー信号ST1とについてNANDを
とる論理演算を行って出力する2入力OR2入力NAN
D回路27とを有している。すなわち、4ビット検出回
路15は、右4ビットシフト信号RS3が「1」であっ
て、4ビットシフト回路7において、4ビットの右シフ
トが実行され、かつ4ビットシフト回路7に入力される
出力データ(q6362…q3210)のうちの最下位
ビットデータq0から4ビット目データq3までのデータ
のうち少なくともいつのデータが「1」であるか、また
は、スティッキー信号ST1が「0」のときに、シフト
アウトしたデータのなかに「1」が含まれることを通知
するためのスティッキー信号ST13を「1」として出力
する。
【0058】8ビット検出回路16は、図7に示すよう
に、最下位ビットデータr0から4ビット目データr3
でのデータについてNORをとる論理演算を行って出力
する4入力NOR回路28と、5ビット目データr4
ら8ビット目データr7までのデータについてNORを
とる論理演算を行って出力する4入力NOR回路29
と、右8ビットシフト信号RS4を反転して出力するイ
ンバータ回路31と、4入力NOR回路28と4入力N
OR回路29とのAND出力と、インバータ回路31の
出力とについてNORをとる論理演算を行って出力する
2入力AND2入力NOR回路32と、2入力NAND
2入力NOR回路32出力を反転して出力するインバー
タ回路33とを有している。すなわち、8ビット検出回
路16は、右8ビットシフト信号RS4が「1」であっ
て、8ビットシフト回路8において、8ビットの右シフ
トが実行され、かつ、8ビットシフト回路8に入力され
る出力データ(r6362…r3210)のうちの最下
位ビットデータr0から8ビット目データr7までのデー
タのうち少なくともいつのデータかが「1」であるとき
に、シフトアウトしたデータのなかに「1」が含まれる
ことを通知するためのスティッキー信号ST4を「0」
として出力する。
【0059】16ビット検出回路は17は、図8に示す
ように、最下位ビットデータs0から4ビット目データ
3までのデータについてNORをとる論理演算を行っ
て出力する4入力NOR回路34と、5ビット目データ
4から8ビット目データs7までのデータについてNO
Rをとる論理演算を行って出力する4入力NOR回路3
5と、9ビット目データs8から12ビット目データs
11までのデータについてNORをとる論理演算を行って
出力する4入力NOR回路36と、13ビット目データ
12から16ビット目データs15までのデータについて
NORをとる論理演算を行って出力する4入力NOR回
路37と、4入力NOR回路34、35、36、37の
出力についてNANDをとる論理演算を行って出力する
4入力NAND回路38と、右16ビットシフト信号R
S5と4入力NAND回路38の出力についてNAND
をとる論理演算を行って出力する4入力NAND回路3
9とを有している。すなわち、16ビット検出回路17
は、右16ビットシフト信号RS5が「1」であって、
16ビットシフト回路9において、16ビットの右シフ
トが実行され、かつ、16ビットシフト回路9に入力さ
れる出力データ(s6362…s3210)のうちの最
下位ビットデータs0から16ビット目データs15まで
のデータのうち少なくともいつのデータがが「1」であ
るときに、シフトアウトしたデータのなかに「1」が含
まれることを通知するためのスティッキー信号ST5を
「0」として出力する。
【0060】32ビット検出回路18は、図9に示すよ
うに、4入力NOR回路41、42、…、48と、4入
力NAND回路49、51と、2入力OR2入力NAN
D回路52とを有している。4入力NOR回路41は、
最下位ビットデータt0から4ビット目データt3までの
データについてNORをとる論理演算を行って出力す
る。4入力NOR回路42は、5ビット目データt4
ら8ビット目データt7までのデータについてNORを
とる論理演算を行って出力する。4入力NOR回路43
は、9ビット目データt8から12ビット目データt11
までのデータについてNORをとる論理演算を行って出
力する。4入力NOR回路44は、13ビット目データ
12から16ビット目データt1 5までのデータについて
NORをとる論理演算を行って出力する。4入力NOR
回路45は、17ビット目データt16から20ビット目
データt19までのデータについてNORをとる論理演算
を行って出力する。4入力NOR回路46は、21ビッ
ト目データt20から24ビット目データt23までのデー
タについてNORをとる論理演算を行って出力する。4
入力NOR回路47は、25ビット目データt24から2
8ビット目データt27までのデータについてNORをと
る論理演算を行って出力する。4入力NOR回路48
は、29ビット目データt28から32ビット目データt
31までのデータについてNORをとる論理演算を行って
出力する。
【0061】4入力NAND回路49は、4入力NOR
回路41、42、43、44の出力についてNANDを
とる論理演算を行って出力する。4入力NAND回路5
1は、4入力NOR回路45、46、47、48の出力
についてNANDをとる論理演算を行って出力する。2
入力OR2入力NAND回路52は、4入力NAND回
路49と4入力NAND回路51とのORをとる論理演
算出力と、右32ビットシフト信号RS6とのNAND
をとる論理演算を行う。すなわち、32ビット検出回路
18は、図9に示すように、右32ビットシフト信号R
S6が「1」であって、32ビットシフト回路11にお
いて、32ビットの右シフトが実行され、かつ、32ビ
ットシフト回路11に入力される出力データ(t6362
…t3210)のうちの最下位ビットデータt0から
32ビット目データt31までのデータのうち少なくとも
いつのデータがが「1」であるときに、シフトアウトし
たデータのなかに「1」が含まれることを通知するため
のスティッキー信号ST6を「0」として出力する。
【0062】中継出力回路19は、図2に示すように、
スティッキー信号ST2とスティッキー信号ST3とにつ
いてNORをとる論理演算を行うNOR回路からなり、
スティッキー信号ST2とスティッキー信号ST13と
の少なくともいずれか一方が「1」のときに、出力信号
ST123を「0」とする。集約出力回路21は、図2に
示すように、中継出力回路19の出力、スティッキー信
号ST4、5、6についてNANDをとる論理演算を行
ってスティッキー信号STを出力する4入力NAND回
路からなり、中継出力回路19の出力信号ST123、ス
ティッキー信号ST4、5、6のうち、少なくともいず
れか1つが「0」のときに、スティッキー信号STOUT
を「1」として出力する。
【0063】なお、この例では、「「1」のシフトアウ
トあり」が、前段側(例えば1ビット検出回路13)で
検出される場合には、前段側の検出回路が直接に最終段
の集約出力回路21に接続されるよりも、集約出力回路
21からの信号出力に、若干の遅延が生じるものの、例
えば「「1」のシフトアウトなし」の場合は、その確定
は、32ビット検出回路18からの出力が確定した後に
なされるので、32ビット検出回路18の出力確定のタ
イミングに略合わせるように、例えばスティッキー信号
ST2を中継出力回路19を経由させている。この例で
は、このようにして、各スティッキー信号が集約出力回
路21から出力されるまでの論理段数を4段として、シ
フトアウト検出処理に係る時間をシフト量にかかわらず
揃えるように構成されている。さらに、例えば、前段側
の検出回路(例えば1ビット検出回路13)を構成する
論理回路のトランジスタのサイズを、後段側(例えば3
2ビット検出回路18)のトランジスタのサイズに比べ
て小さくして演算処理時間を後段側に合わせる代わり
に、全体のサイズの縮小化を図っている。また、複合ゲ
ートの場合は、トランジスタのサイズを比較的大きくし
て演算処理時間の高速化を図っている。
【0064】次に、この例のシフト回路1及びシフトア
ウト検出回路2の動作について説明する。例えば、3ビ
ット右へシフトさせる場合で、仮数(a6362…a32
10)の最下位ビットデータa0、2ビット目データ
1、3ビット目データa2が共に「1」のときの動作に
ついて説明する。まず、図1、図2、及び図10(a)
に示すように、シフト回路1に仮数(a 6362…a32
10)が入力される。比較減算回路3は、右1ビット
シフト信号RS1及び右2ビットシフト信号RS2のみ
「1」とし、桁合せシフト回路1及びシフトアウト検出
回路2に与える。
【0065】1ビットシフト回路5において、「1」状
態の右1ビットシフト信号RS1を受け取ると、例え
ば、マルチプレクサ回路50では、クロックインバータ
回路50aのみ導通状態となって、右シフトデータ(a
R63R62…aR3R2R1R0)のうちの最下位ビットデ
ータaR0が反転されてクロックインバータ回路50aか
ら出力され、さらにインバータ回路50hによって再び
反転されて最下位ビットデータaR0に戻され、2ビット
シフト回路6のマルチプレクサ回路60へ送出される。
マルチプレクサ回路51、52、…、563においても同様
に、右シフトデータ(aR63R62…aR3R2R1R0
の対応するビットのデータが選択され、右シフトデータ
(aR63R62…aR3R2R1R0)(=(0a6362
321))が、図10(b)に示すように、1ビッ
ト右シフトされた出力データ(p6362…p32
10)として、2ビットシフト回路6へ送出される。
【0066】2ビットシフト回路6においては、「1」
状態の右2ビットシフト信号RS2を受け取ると、例え
ば、マルチプレクサ回路60では、クロックインバータ
回路60aのみ導通状態となって、右シフトデータ(p
R63R62…pR3R2R1R0)のうちの最下位ビットデ
ータpR0が反転されてクロックインバータ回路60aか
ら出力され、さらにインバータ回路60hによって再び
反転されて最下位ビットデータpR0に戻され、4ビット
シフト回路7のマルチプレクサ回路70へ送出される。
マルチプレクサ回路61、62、…、663においても同様
に、右シフトデータ(pR63R62…pR3R2R1R0
の対応するビットのデータが選択され、右シフトデータ
(pR63R62…pR3R2R1R0)(=(000a63
62…a3))が、図10(c)に示すように、3ビット
右シフトされた出力データ(q6362…q3210
として、4ビットシフト回路7へ送出される。
【0067】4ビットシフト回路7においては、例え
ば、マルチプレクサ回路70では、クロックインバータ
回路70cのみ導通状態となって、出力データ(q63
62…q3210)のうちの最下位ビットデータq0
反転されてクロックインバータ回路70aから出力さ
れ、さらにインバータ回路70hによって再び反転され
て最下位ビットデータq0に戻され、8ビットシフト回
路8のマルチプレクサ回路80へ送出される。マルチプ
レクサ回路71、72、…、763においても同様に、出力
データ(q6362…q3210)の対応するビットの
データが選択され、出力データ(q6362…q321
0)が、出力データ(r6362…r3210)とし
て、8ビットシフト回路8へ送出される。
【0068】8ビットシフト回路8、16ビットシフト
回路9及び32ビットシフト回路11においても、例え
ばマルチプレクサ回路80(90、110)では、クロッ
クインバータ回路80c(90c、110c)のみ導通状
態となるので、((r6362…r3210)=(s63
62…s3210)=(t6362…t3210))
が成り立ち、32ビットシフト回路11からの出力デー
タ(b6362…b3210)は、この桁合せシフト回
路1に入力された仮数(a6362…a3210)が3
ビット右シフトされたデータとなる。
【0069】一方、シフトアウト検出回路4において
は、図1及び図2に示すように、1ビット検出回路13
が、右1ビットシフト信号RS1と、仮数(a6362
3210)のうちの最下位ビットデータa0が共に
「1」であるときに、スティッキー信号ST1を「0」
として出力する。この例では、(a0=1)としたの
で、「0」状態のスティッキー信号ST1が4ビット検
出回路15へ送出される。また、2ビット検出回路14
においては、右2ビットシフト信号RS2が「1」であ
り、出力データ(p6362…p3210)のうちの最
下位ビットデータp0と2ビット目データp1との少なく
ともいずれか一方が「1」であるときに、スティッキー
信号ST2を「1」として出力する。この例では、
((p6362…p3210)=(aR63R62…aR3
R2R1 R0)=(0a6362…a321))であり、
(a1=a2=1)であるので、(p1=p0=1)とな
る。したがって、2ビット検出回路14は、「1」状態
のスティッキー信号ST2を中継出力回路19へ送出す
る。
【0070】4ビット検出回路15においては、右4ビ
ットシフト信号RS3が「1」であり、4ビットシフト
回路7に入力される出力データ(q6362…q321
0)のうちの最下位ビットデータq0から4ビット目デ
ータq3までのデータのうち少なくともいつのデータが
「1」であるか、または、スティッキー信号ST1が
「0」のときに、スティッキー信号ST13を「1」とし
て出力する。この例では、右4ビットシフト信号RS3
は「0」であるが、スティッキー信号ST1が「0」で
あるので、スティッキー信号ST13を「1」として出
力する。中継出力回路19では、スティッキー信号ST
2とスティッキー信号ST3との少なくともいずれか一
方が「1」のときに、出力信号ST123を「0」とす
る。この例では、スティッキー信号ST2とスティッキ
ー信号ST13とは、共に「1」であるので、「0」状
態の出力信号ST123を出力回路21へ送出する。
【0071】8ビット検出回路16では、右8ビットシ
フト信号RS4が「1」であり、出力データ(r6362
…r3210)のうちの最下位ビットデータr0から
8ビット目データr7までのデータのうち少なくとも1
つのデータが「1」であるときに、スティッキー信号S
T4を「0」として出力する。この例では、右8ビット
シフト信号RS4が「1」であるので、「1」状態のス
ティッキー信号ST4を集約出力回路21へ送出する。
16ビット検出回路17では、右16ビットシフト信号
RS5が「1」であり、出力データ(s6362…s32
10)のうちの最下位ビットデータs0から16ビッ
ト目データs15までのデータのうち少なくともいつのデ
ータが「1」であるときに、スティッキー信号ST5を
「0」として出力する。この例では、右16ビットシフ
ト信号RS5が「0」であるので、「1」状態のスティ
ッキー信号ST5を出力回路21へ送出する。
【0072】32ビット検出回路18では、右32ビッ
トシフト信号RS6が「1」であり、出力データ(t63
62…t3210)のうちの最下位ビットデータt0
から32ビット目データt31までのデータのうち少なく
ともいつのデータがが「1」であるときに、スティッキ
ー信号ST6を「0」として出力する。この例では、右
32ビットシフト信号RS6が「0」であるので、
「1」状態のスティッキー信号ST6を集約出力回路2
1へ送出する。集約出力回路21は、中継出力回路19
からの出力信号ST123、スティッキー信号ST4、ST
5、ST6のうち、少なくともいずれか1つが「0」のと
きに、スティッキー信号STOUTを「1」として出力す
る。この例では、中継出力回路19からの出力信号ST
123が「0」であるので、シフト回路1におけるシフト
処理過程で、「1」のシフトアウトが検出されたことを
示す「1」状態のスティッキー信号STOUTを丸め処理
回路4へ送出する。
【0073】なお、上位方向へのシフト(左シフト)も
上述した右シフトと同様に実行される。この左シフト処
理は、例えば、減算処理を行った場合に、整数部が
「0」となったときの正規化シフトや、桁合せシフトを
行う場合でも、一旦上位方向への所定のシフト量左シフ
トを行ってシフト回路1から出力した後に、出力したデ
ータを再び入力して下位方向への右シフトを行って、任
意のシフト量の右シフトを行うようなときに、なされ
る。
【0074】次に、この例のシフト回路1及びシフトア
ウト検出回路2を用いた浮動小数点加減算回路61につ
いて説明する。浮動小数点加減算回路(浮動小数点演算
回路)61は、図11に示すように、指数E1,E2の大
小を判断する比較減算回路62と、桁合せシフト回路6
3と、シフトアウト検出回路64と、丸め処理回路65
と、仮数加減算回路66と、正規化シフト回路67と、
シフトアウト検出回路68と、丸め処理回路69と、指
数増減回路71とを備えている。比較減算回路62は、
2つの浮動小数点数X1、X2が入力されて、例えば浮動
小数点数X1と浮動小数点数X2との加算結果(和)X3
(=X1+X2)を出力する回路であり、浮動小数点数X
1、X2の指数E1,E2が入力され指数E1,E2の大小を
判断する。桁合せシフト回路63は、指数が小さい方の
浮動小数点数の仮数を下位方向にシフトして桁を合わせ
る。シフトアウト検出回路64は、シフトアウトするデ
ータのなかに1つでも「1」が含まれる否か調べる。丸
め処理回路65は、シフトしたデータを所定の丸め処理
方法でフォーマットの桁数まで縮める。仮数加減算回路
66は、仮数の加減算を行う。
【0075】正規化シフト回路67は、加減算結果の正
規化を行う。シフトアウト検出回路68は、正規化の結
果、シフトアウトするデータがあり、かつシフトアウト
するデータのなかに1つでも「1」が含まれる否か調べ
る。丸め処理回路69は、シフトしたデータを所定の丸
め処理方法でフォーマットの桁数まで縮める。指数増減
回路71は、正規化シフト量に基づいて指数を補正す
る。ここで、桁合せシフト回路63及びシフトアウト検
出回路64、正規化シフト回路67及びシフトアウト検
出回路68としては、上述したシフト回路1及びシフト
アウト検出回路2が用いられる。
【0076】次に、この例の浮動小数点数加減算回路6
1の動作について説明する。まず、比較減算回路62
は、2つの浮動小数点数X1、X2の指数E1,E2が入力
されると、指数E1,E2の大小を判断し、差分(E1−
E2)または(E2−E1)を算出して、比較信号及び桁
合せシフト量信号を出力する。桁合せシフト回路63
は、浮動小数点数X1、X2の仮数F1,F2と、比較信号
及び桁合せシフト量信号とが入力されると、比較信号及
び桁合せシフト量信号に基づいて、指数E1,E2を大き
い方の値に一致させ、指数の小さい方の仮数を指数部の
差分だけ下位方向にシフトする。
【0077】桁合せシフト回路63には、仮数F1,F2
のうち、指数の小さい方の仮数が入力され、例えば64
ビットの場合、F1(F2)=(a6362…a32
10)を構成する各桁のデータa63、a62、…、a3
2、a1、a0がそれぞれ入力される。シフトアウト検
出回路64は、桁合せシフト回路63においてシフト処
理した結果、シフトアウトするデータのなかに少なくと
も1つの「1」が含まれる場合に、丸め処理判定を促す
スティッキー信号STOUTを「1」として出力する。こ
こで、シフトアウト検出回路64から出力されるスティ
ッキー信号STOUTは、浮動小数点演算の桁合わせによ
って生じるデータ補正の是非の判断のために用いられ
る。
【0078】丸め処理回路65は、桁合せシフト回路6
3において得られた演算結果を、シフトアウト検出回路
64から出力されたスティッキー信号STOUTとシフト
アウトするデータと基づいて、所定の丸め処理方法でフ
ォーマットの桁数(この例では、64桁)まで縮める。
ここで、丸め処理回路65は、スティッキー信号STOU
Tを受け取って、丸め処理方法の判定処理を開始した後
に、桁合せシフト回路63からシフト処理結果を受け取
って、所定の丸め処理を行う。丸め処理回路65は、累
積誤差を低減するために、スティッキー信号STOUT、
とシフトアウトするデータに基づいて、例えば、近傍の
値に向かって丸める、0に向かって丸める、正の無限大
に向かって丸める、負の無限大に向かって丸める等の丸
め処理方法の中から適切な丸め処理方法を選択し、実行
する。
【0079】仮数加減算回路66は、丸め処理回路65
によって丸め処理された桁合せ後の仮数の加減算を行
う。正規化シフト回路67は、仮数加減算回路66にお
いて得られた加減算結果の最上位「1」の桁から整数部
までの桁数を正規化シフト量として計算し、この正規化
シフト量だけシフトする。シフトアウト検出回路68
は、正規化シフト回路67においてシフト処理した結
果、シフトアウトするデータのなかに少なくとも1つの
「1」が含まれる場合に、丸め処理判定を促すスティッ
キー信号STOUTを出力する。ここで、シフトアウト検
出回路68から出力されるスティッキー信号STOUT
は、浮動小数点演算の桁合わせによって生じるデータ補
正の是非の判断のために用いられる。
【0080】丸め処理回路69は、正規化シフト回路6
7において得られた演算結果を、シフトアウト検出回路
68から出力されたスティッキー信号STOUTとシフト
アウトするデータに基づいて、所定の丸め処理方法でフ
ォーマットの桁数まで縮める。ここで、丸め処理回路6
9は、スティッキー信号STOUTを受け取って、丸め処
理方法の判定処理を開始した後に、正規化シフト回路6
7桁合せシフト回路3からシフト処理結果を受け取っ
て、所定の丸め処理を行う。指数増減回路71は、正規
化シフト回路67において得られた正規化シフト量に基
づいて指数を補正し、演算結果X3(=X1+X2)の指
数E3を出力する。
【0081】このように、この例の構成によれば、1ビ
ット検出回路13、2ビット検出回路14、4ビット検
出回路15、8ビット検出回路16、16ビット検出回
路17、32ビット検出回路18から出力されたスティ
ッキー信号ST1、ST2、…、ST6は、直接か、また
は中継出力回路19(スティッキー信号ST1は、4ビ
ット検出回路15も)を経由するのみで、集約出力回路
21に集められ、最終出力としてのスティッキー信号S
TOUTが出力される。例えば、スティッキー信号ST1
(ST2、ST3、…、ST6)が通過する論理段数は、
従来技術の13段に対し、シフト量にかかわらず、4段
に相当する段数となる。このため、従来技術の場合のよ
うに例えば「1」のスティッキー信号S1を、全部の2
入力セレクタ122、123、…、127を経由して出
力して生じる無用な遅延が、低減されるために、高速
に、「1」のシフトアウト(丸め)の発生を検出し、桁
合せシフト回路63(正規化シフト回路67)からのシ
フトデータの出力前に、丸め処理回路65(69)へ、
「1」のシフトアウトの発生を知らせるスティッキー信
号STOUTを送ることができる。したがって、浮動小数
点加減算回路61の動作速度の向上に寄与することがで
きる。
【0082】また、集約出力回路21は、4入力のNA
ND回路が用いられるので、例えば6入力のNAND回
路に比べ、演算処理に要する時間を若干短縮することが
できる。また、前段側の検出回路(例えば1ビットシフ
ト回路13)を構成する論理回路のトランジスタのサイ
ズを、後段側(例えば32ビット検出回路18)のトラ
ンジスタのサイズに比べて小さくすることによって、平
均的な演算処理時間の短縮化を図りつつ、シフト回路及
びシフトアウト検出回路全体のサイズの縮小化を達成す
ることができる。
【0083】◇第2実施例図12は、この発明の第2実
施例であるシフト回路を構成するマルチプレクサ回路の
構成を示す回路図である。この例が上述した第1実施例
と異なるところは、1ビットシフト回路1及び2ビット
シフト回路2を纏めて、1ビット、2ビットまたは3ビ
ットのシフトを1つの可変シフト回路で実行するように
構成した点である。これ以外の構成は、上述した第1実
施例と略同一であるので、その説明を簡単に行う。
【0084】この可変シフト回路は、64ビット分のマ
ルチプレクサ回路810、811、…、8163からなり、
例えば、最下位ビットに対応するマルチプレクサ回路8
0は、図12に示すように、クロックインバータ回路
810a、810b、810c、810d、810e、810
f、810gと、2入力NAND回路810h、81
0j、810m、810pと、インバータ回路810i、8
0k、810l、810n、810O、810q、81
0r、810s、810u、810vと、NOR回路81 0
tとを有している。クロックインバータ回路810a、
810b、810c、810d、810e、810f、810
gは、2つの制御端子φ1、φ2に入力される制御信号の
状態に応じて、導通状態となって入力信号を反転出力し
たり、遮断状態となって入力信号の通過を阻止する。2
入力NAND回路810hは、右1ビットシフト信号R
S1及び右2ビットシフト信号RS2を受け取って、両者
のNANDをとり結果を出力する。インバータ回路81
0iは、2入力NAND回路810hの出力を反転出力す
る。2入力NAND回路810jは、左1ビットシフト
信号LS1及び左2ビットシフト信号LS2を受け取っ
て、両者のNANDをとり結果を出力する。インバータ
回路810kは、2入力NAND回路810jの出力を反
転出力する。インバータ回路810lは、右1ビットシ
フト信号RS1を反転出力する。2入力NAND回路8
0mは、インバータ回路810lの出力及び右2ビット
シフト信号RS2を受け取って、両者のNANDをとり
結果を出力する。インバータ回路810nは、2入力N
AND回路810mの出力を反転出力する。インバータ
回路810Oは、左1ビットシフト信号LS1を受け取っ
て反転出力する。
【0085】2入力NAND回路810pは、インバー
タ回路810Oの出力及び左2ビットシフト信号LS2を
受け取って、両者のNANDをとり結果を出力する。イ
ンバータ回路810qは、2入力NAND回路810pの
出力を反転出力する。インバータ回路810rは、右1
ビットシフト信号RS1を受け取って反転させてクロッ
クインバータ回路810eの制御端子φ2に与える。イン
バータ回路810sは、左1ビットシフト信号LS1を受
け取って反転させてクロックインバータ回路810fの
制御端子φ2に与える。NOR回路810tは、右1ビッ
トシフト信号RS1と左1ビットシフト信号RL1と右2
ビットシフト信号RS2と左2ビットシフト信号LS2と
を受け取り、4者が全て「0」状態のときのみ「1」状
態の非選択信号を出力する。インバータ回路810
は、NOR回路810tの出力信号を受け取って反転さ
せて、クロックインバータ回路810gの制御端子φ2に
与える。インバータ回路810vは、クロックインバー
タ回路810a、810b、810c、810d、81
0e、810f、810gのいずれか1つからの出力信号
を反転させて出力する。
【0086】ここで、クロックインバータ回路810
の制御端子φ1、φ2には、それぞれ、インバータ回路8
0i、2入力NAND回路810hからの出力信号が入
力される。また、クロックインバータ回路810bの制
御端子φ1、φ2には、それぞれ、インバータ回路810
k、2入力NAND回路810jからの出力信号が入力
される。また、クロックインバータ回路810cの制御
端子φ1、φ2には、それぞれ、インバータ回路81
0n、2入力NAND回路810mからの出力信号が入力
される。また、クロックインバータ回路810dの制御
端子φ1、φ2には、それぞれ、インバータ回路81
0q、2入力NAND回路810pからの出力信号が入力
される。また、クロックインバータ回路810eの制御
端子φ1、φ2には、それぞれ、右1ビットシフト信号R
S1、インバータ回路810rからの出力信号が入力され
る。また、クロックインバータ回路810fの制御端子
φ1、φ2には、それぞれ、左1ビットシフト信号LS
1、インバータ回路810sからの出力信号が入力され
る。また、クロックインバータ回路810gの制御端子
φ1、φ2には、それぞれ、NOR回路810t、インバ
ータ回路810uからの出力信号が入力される。
【0087】次に、このマルチプレクサ回路810の動
作について説明する。まず、右1ビットシフト信号RS
1と右2ビットシフト信号RS2のみを同時に受け取った
場合は、2入力NAND回路810hの出力が「0」と
なり、クロックインバータ回路810aの制御端子φ1、
φ2には、それぞれ、「1」、「0」が入力されて、ク
ロックインバータ回路810aのみが導通状態となり、
仮数の最下位ビットデータa0が右3ビットシフトされ
たデータa3R0が、クロックインバータ回路810aを通
過して、インバータ回路810vから出力される。ま
た、左1ビットシフト信号LS1と左2ビットシフト信
号LS2のみを同時に受け取った場合は、2入力NAN
D回路810jの出力が「0」となり、クロックインバ
ータ回路810bの制御端子φ1、φ2には、それぞれ、
「1」、「0」が入力されて、クロックインバータ回路
810bのみが導通状態となり、仮数の最下位ビットデ
ータa0が左3ビットシフトされたデータa3L0が、クロ
ックインバータ回路810bを通過して、インバータ回
路810vから出力される。また、右2ビットシフト信
号RS2のみを受け取った場合は、2入力NAND回路
810mの出力が「0」となり、クロックインバータ回
路810cの制御端子φ1、φ2には、それぞれ、
「1」、「0」が入力されて、クロックインバータ回路
810cのみが導通状態となり、仮数の最下位ビットデ
ータa0が右2ビットシフトされたデータa2R0が、クロ
ックインバータ回路810cを通過して、インバータ回
路810vから出力される。
【0088】また、左2ビットシフト信号LS2のみを
受け取った場合は、2入力NAND回路810pの出力
が「0」となり、クロックインバータ回路810dの制
御端子φ1、φ2には、それぞれ、「1」、「0」が入力
されて、クロックインバータ回路810dのみが導通状
態となり、仮数の最下位ビットデータa0が左2ビット
シフトされたデータa2L0が、クロックインバータ回路
810dを通過して、インバータ回路810vから出力さ
れる。また、右1ビットシフト信号RS1のみを受け取
った場合は、クロックインバータ回路810eの制御端
子φ1、φ2には、それぞれ、「1」、「0」が入力され
て、クロックインバータ回路810eのみが導通状態と
なり、仮数の最下位ビットデータa0が右1ビットシフ
トされたデータaR0が、クロックインバータ回路810
eを通過して、インバータ回路810vから出力され
る。
【0089】また、左1ビットシフト信号LS1のみを
受け取った場合は、クロックインバータ回路810fの
制御端子φ1、φ2には、それぞれ、「1」、「0」が入
力されて、クロックインバータ回路810fのみが導通
状態となり、仮数の最下位ビットデータa0が左1ビッ
トシフトされたデータaL0が、クロックインバータ回路
810fを通過して、インバータ回路810vから出力さ
れるまた、右1ビットシフト信号RS1、右2ビットシ
フト信号RS2、左1ビットシフト信号LS1、左2ビッ
トシフト信号LS2のうち、いずれの信号も受け取らな
かった場合は、NOR回路810tからは「1」状態の
非選択信号が出力され、クロックインバータ回路810
gの制御端子φ1、φ2には、それぞれ、「1」、「0」
が入力されて、クロックインバータ回路810gのみが
導通状態となり、仮数の最下位ビットデータa0がこの
まま、クロックインバータ回路810gを通過して、イ
ンバータ回路810vから出力される2ビット目以上も
同様にして、所定のシフト量シフトされ、仮数(a63
62…a3210)のシフト処理が行われる。
【0090】この例の構成によれば、可変シフト回路、
4ビット検出回路15、8ビット検出回路16、16ビ
ット検出回路17、32ビット検出回路18から出力さ
れたスティッキー信号は、直接か、または中継出力回路
19を経由するのみで、集約出力回路21に集められ、
最終出力としてのスティッキー信号STOUTが出力され
る。したがって、スティッキー信号STOUTを、丸め処
理回路65(69)へ高速に送ることができ、浮動小数
点加減算回路61の動作速度の向上に寄与することがで
きる。また、例えば、マルチプレクサ回路810におけ
る論理段数を、マルチプレクサ回路50、60を用いた場
合に比べ、4段から2段へ低減させることができるの
で、シフト処理を高速化することができる。
【0091】◇第3実施例図13は、この発明の第3実
施例であるシフト回路及びシフトアウト検出回路の電気
的構成を示すブロック図、また、図14は、同シフトア
ウト検出回路を構成する4ビット検出回路及び2ビット
検出回路の電気的構成を示す回路図である。この例が上
述した第1実施例と異なるところは、各ビットシフト回
路のシフト量が入力側から降順に並べられるように、3
2ビットシフト回路から順に配置した点である。
【0092】シフト回路32は、図13に示すように、
比較減算回路3から、例えば「1」の右32ビットシフ
ト信号RS6を受け取った場合に、仮数(a6362…a3
210)を32ビット右シフトさせる32ビットシ
フト回路83と、「1」の右16ビットシフト信号RS
5を受け取った場合に、32ビットシフト回路83の出
力データを16ビット右シフトさせる16ビットシフト
回路84と、「1」の右8ビットシフト信号RS4を受
け取った場合に、16ビットシフト回路84の出力デー
タを8ビット右シフトさせる8ビットシフト回路85
と、「1」の右4ビットシフト信号RS3を受け取った
場合に、8ビットシフト回路85の出力データを4ビッ
ト右シフトさせる4ビットシフト回路86と、「1」の
右2ビットシフト信号RS2を受け取った場合に、4ビ
ットシフト回路86の出力データを2ビット右シフトさ
せる2ビットシフト回路87と、「1」の右1ビットシ
フト信号RS1を受け取った場合に、2ビットシフト回
路87の出力データを1ビット右シフトさせる1ビット
シフト回路88とを有している。
【0093】シフトアウト検出回路89は、図13に示
すように、32ビットシフト回路83におけるシフト処
理の結果、「1」がシフトアウトしたことを検出する3
2ビット検出回路90と、16ビットシフト回路84に
おけるシフト処理の結果、「1」がシフトアウトしたこ
とを検出する16ビット検出回路91と、8ビットシフ
ト回路85におけるシフト処理の結果、「1」がシフト
アウトしたことを検出する8ビット検出回路92と、4
ビットシフト回路86におけるシフト処理の結果、
「1」がシフトアウトしたことを検出する4ビット検出
回路93と、2ビットシフト回路87におけるシフト処
理の結果、「1」がシフトアウトしたことを検出する2
ビット検出回路94と、1ビットシフト回路88におけ
るシフト処理の結果、「1」がシフトアウトしたことを
検出する1ビット検出回路95と、1ビットシフト回路
88、2ビットシフト回路87、4ビットシフト回路8
6、8ビットシフト回路85、16ビットシフト回路8
4、32ビットシフト回路83のいずれか1つで「1」
がシフトアウトしたことを検出し、スティッキー信号S
TOUTを出力する集約出力回路96とを有している。
【0094】なお、この例では、図13及び図14に示
すように、4ビット検出回路93から出力されるスティ
ッキー信号ST3は、一旦2ビット検出回路94に入力
され、2ビット検出回路94は、スティッキー信号ST
3が「1」か、または、2ビットシフト回路87で
「1」がシフトアウトしたことを検出したときに、ステ
ィッキー信号ST23を「0」として出力する。ここで、
4ビット検出回路93は、図14に示すように、最下位
ビットデータから4ビットデータまでのデータについて
NORをとる論理演算を行って出力する4入力NOR回
路93aと、右4ビットシフト信号RS3を反転して出
力するインバータ回路93bと、インバータ回路93b
の出力と4入力NOR回路93cの出力とのNORをと
って、スティッキー信号ST3を出力するNOR回路9
3cとを有している。また、2ビット検出回路94は、
図14に示すように、最下位ビットデータと2ビット目
データとのOR出力と、右2ビットシフト信号RS2と
についてNANDをとる論理演算を行って出力する2入
力OR2入力NAND回路94aと、2入力OR2入力
NAND回路94aの出力を反転するインバータ回路9
4bと、インバータ回路94bの出力とスティッキー信
号ST3とについてNORをとる論理演算を行って、ス
ティッキー信号ST23を出力する2入力NOR回路94
cとを有している。
【0095】この例のシフト回路82及びシフトアウト
検出回路89の動作については、各ビットシフト回路を
組み合わせて動作させた場合に、1つのビットシフト回
路でシフトさせるシフト量の順序が異なる以外は、第1
実施例の動作と略同一であるので、その説明を省略す
る。
【0096】この例の構成によれば、32ビット検出回
路90、16ビット検出回路91、8ビットシフ検出回
路92、2ビット検出回路94、1ビット検出回路95
から出力されたスティッキー信号は直接に、また、4ビ
ット検出回路93から出力されたスティッキー信号のみ
2ビット検出回路94を経由して、集約出力回路96に
集められ、最終出力としてのスティッキー信号STOUT
が出力される。したがって、スティッキー信号STOUT
を、丸め処理回路65(69)へ高速に送ることがで
き、浮動小数点加減算回路61の動作速度の向上に寄与
することができる。また、各ビットシフト回路は、入力
側から32ビットシフト回路83、16ビットシフト回
路84、8ビットシフト回路85、4ビットシフト回路
86、2ビットシフト回路87、1ビットシフト回路8
8の順に、すなわち、シフト量の多い順に配列されてい
るので、例えば右32ビットシフト信号RS6が「1」
である場合に、32ビットシフト回路83に対応する3
2ビット検出回路90において、演算処理結果を第1実
施例の場合よりも早いタイミングで出力することができ
る。
【0097】以上、この発明の実施例を図面を参照して
詳述してきたが、具体的な構成はこの実施例に限られる
ものではなく、この発明の要旨を逸脱しない範囲の設計
の変更等があってもこの発明に含まれる。例えば、上述
した実施例では、マルチプレクサ回路50等をクロック
インバータ回路50a、50b、50cを用いて構成する
場合について述べたが、図15に示すように、クロック
インバータ回路に代えてNAND回路を用い、例えばマ
ルチプレクサ回路50に代えて、マルチプレクサ回路9
0を、右1ビットシフト信号RS1と右1ビットシフト
データaR0とのNANDをとって演算結果を出力するN
AND回路970aと、左1ビットシフト信号LS1と左
1ビットシフトデータaL0とのNANDをとって演算結
果を出力するNAND回路970bと、右1ビットシフ
ト信号RS1と左1ビットシフト信号RL1とのNORを
とるNOR回路970dの演算結果と仮数の最下位ビッ
トデータa0とのNANDをとって演算結果を出力する
NAND回路970cと、NAND回路970a、970
b、970cの出力についてNANDをとって演算結果
を出力するNAND回路970eとから構成するように
しても良い。これにより、回路を簡略化し部品点数を低
減することができる。
【0098】また、上述した実施例では、32ビット検
出回路18において、8個の4入力NOR回路41、4
2、…、48を用いたが、これらに代えて、4個の8入
力NOR回路98a、98b、98c、98dを用いて
32ビット検出回路98を構成するようにしても良い。
この32ビット検出回路98は、8入力NOR回路98
a、98b、98c、98dと、8入力NOR回路98
a、98b、98c、98dについてANDをとる論理
演算を行った結果と、右32ビットシフト信号RS6を
反転出力するインバータ回路98eの出力とについてN
ORをとって演算結果を出力する4入力NAND2入力
NOR回路98fとを有している。これによって、論理
段数を低減することができる。
【0099】また、第1実施例では、シフトアウト検出
回路2において、例えばスティッキー信号ST1、ST
2、ST3を、中継出力回路19を経由させて、集約出力
回路21に入力させる場合について述べたが、6入力の
集約出力回路99aを用いて、スティッキー信号ST
1、ST2、ST3も直接、集約出力回路99aに入力さ
せて、シフトアウト検出回路99を構成するようにして
も良い。これによって、「「1」のシフトアウトあり」
が、前段側(例えば1ビット検出回路)で検出される場
合には、最終段の集約出力回路99aからの信号出力を
一段と早いタイミングで行うことができ、高速化するこ
とができる。
【0100】また、シフト回路1及びシフトアウト検出
回路2を、桁合せシフト用と正規化シフト用とで、別々
に設ける場合について述べたが、共用しても良い。ま
た、丸目処理回路も桁合せシフト用と正規化シフト用と
で共用としても良い。これによって、浮動小数点加減算
回路を簡略化することができる。また、浮動小数点表示
の加減算で桁合わせ時や正規化処理時の丸め処理に適用
する場合について述べたが、例えば2の冪乗で除算した
場合の丸め処理に適用するようにしても良い。また、シ
フト対象の例えば仮数が64ビットの場合について説明
したが、これに限らない。
【0101】
【発明の効果】以上説明したように、この発明によれ
ば、各部分丸め検出信号のうち、最終段の部分丸め検出
回路を除く少なくとも1つの部分丸め検出回路から出力
された部分丸め検出信号が、他の部分丸め検出回路を経
由しないように構成されているので、丸め検出信号出力
回路から出力される丸め検出信号は、高速に、丸め処理
を行う丸め処理回路に伝達される。したがって、浮動小
数点演算回路の動作速度の向上に寄与することができ
る。また、部分シフト量が比較的大きい部分シフト回路
に対応する部分丸め検出回路を構成する能動素子のサイ
ズを、部分シフト量が比較的小さい部分シフト回路に対
応する部分丸め検出回路を構成する能動素子のサイズに
対して大きく設定することによって、平均的な演算処理
時間の短縮化を図りつつ、丸め検出回路全体のサイズの
縮小化を達成することができる。
【図面の簡単な説明】
【図1】この発明の第1実施例であるシフト回路及びシ
フトアウト検出回路の電気的構成を示すブロック図であ
る。
【図2】同シフト回路及びシフトアウト検出回路の電気
的構成を示すブロック図である。
【図3】同シフト回路を構成するマルチプレクサ回路の
構成を示す回路図である。
【図4】同シフトアウト検出回路を構成する1ビット検
出回路の構成を示す回路図である。
【図5】同シフトアウト検出回路を構成する2ビット検
出回路の構成を示す回路図である。
【図6】同シフトアウト検出回路を構成する4ビット検
出回路の構成を示す回路図である。
【図7】同シフトアウト検出回路を構成する8ビット検
出回路の構成を示す回路図である。
【図8】同シフトアウト検出回路を構成する16ビット
検出回路の構成を示す回路図である。
【図9】同シフトアウト検出回路を構成する32ビット
検出回路の構成を示す回路図である。
【図10】同シフト回路及びシフトアウト検出回路の動
作を説明するための説明図である。
【図11】同シフト回路及びシフトアウト検出回路が組
み込まれた浮動小数点加減算回路の電気的構成を示すブ
ロック図である。
【図12】この発明の第2実施例であるシフト回路を構
成するマルチプレクサ回路の構成を示す回路図である。
【図13】この発明の第3実施例であるシフト回路及び
シフトアウト検出回路の電気的構成を示すブロック図で
ある。
【図14】同シフトアウト検出回路を構成する4ビット
検出回路及び2ビット検出回路の電気的構成を示す回路
図である。
【図15】この発明の第1実施例の変形例であるシフト
回路を構成するマルチプレクサ回路の構成を示す回路図
である。
【図16】この発明の第1実施例の別の変形例であるシ
フトアウト検出回路を構成する32ビット検出回路の構
成を示す回路図である。
【図17】この発明の第1実施例のさらに別の変形例で
あるシフトアウト検出回路の構成を示すブロック図であ
る。
【図18】従来技術を説明するための説明図である。
【図19】従来技術を説明するための説明図である。
【図20】従来技術を説明するための説明図である。
【図21】従来技術を説明するための説明図である。
【符号の説明】
1 シフト回路 2、64、68 シフトアウト検出回路(丸め検出
回路) 5 1ビットシフト回路(部分シフト回路) 6 2ビットシフト回路(部分シフト回路) 7 4ビットシフト回路(部分シフト回路) 8 8ビットシフト回路(部分シフト回路) 9 16ビットシフト回路(部分シフト回路) 11 32ビットシフト回路(部分シフト回路) 13 1ビット検出回路(部分丸め検出回路) 14 2ビット検出回路(部分丸め検出回路) 15 4ビット検出回路(部分丸め検出回路) 16 16ビット検出回路(部分丸め検出回路) 17 32ビット検出回路(部分丸め検出回路) 21 集約出力回路(丸め検出号出力回路) 61 浮動小数点加減算回路(浮動小数点演算回
路) 63 桁合せシフト回路(シフト回路) 67 正規化シフト回路(シフト回路) ST1〜ST6 スティッキー信号(部分丸め検出信
号) STOUT スティッキー信号(丸め検出信号)

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】 浮動小数点演算回路を構成し、シフト対
    象データをそれぞれ所定の部分シフト量シフトさせる直
    列接続された複数段の部分シフト回路を有し、シフト対
    象データを、少なくとも1段の前記部分シフト回路によ
    ってシフトさせることによって、入力されたシフト対象
    データを所定のシフト量シフトさせるシフト回路に接続
    して用いられ、該シフト回路によるシフト対象データの
    下位方向へのシフト処理による少なくとも一つの「1」
    を含むデータのシフトアウトの発生を検出する丸め検出
    回路であって、 前記各部分シフト回路による部分シフト処理の結果発生
    する少なくとも一つの「1」を含むデータのシフトアウ
    トを検出して該検出結果を通知するための部分丸め検出
    信号を出力する複数段の部分丸め検出回路と、複数の前記部分丸め検出信号が入力され、入力された前
    記部分丸め検出信号のうち少なくとも1つが、対応する
    前記部分シフト回路における少なくとも一つの「1」を
    含むデータのシフトアウトの発生を示す場合に、適切な
    丸め処理方法を選択するための丸め処理判定を促すため
    の丸め検出信号を出力する丸め検出信号出力回路とを備
    え、かつ、 前記各部分丸め検出信号のうち、最終段の前記部分丸め
    検出回路を除く少なくとも一つの前記部分丸め検出回路
    から出力された前記部分丸め検出信号は、他の前記部分
    丸め検出回路を経由しない構成になされていると共に、前記複数の部分丸め検出回路のうちの少なくとも2つの
    前記部分丸め検出回路は、前記丸め検出信号出力回路に
    直接接続する構成になされて いることを特徴とする丸め
    検出回路。
  2. 【請求項2】 前記複数の部分丸め検出回路のうち、少
    なくとも一つの前段側の前記部分丸め検出回路は、後段
    側の前記部分丸め検出回路を経由して前記丸め検出信号
    出力回路に接続し、後段側の前記部分丸め検出回路は、
    前段側の前記部分丸め検出回路と後段側の前記部分丸め
    検出回路とのうちの少なくともいずれかに対応する前記
    部分シフト回路において少なくとも一つの「1」を含む
    データのシフトアウトが発生した場合に、前記部分丸め
    検出信号を出力する構成になされていることを特徴とす
    る請求項1記載の丸め検出回路。
  3. 【請求項3】 全ての前記部分丸め検出回路は、前記丸
    め検出信号出力回路に直接接続する構成になされている
    ことを特徴とする請求項1又は2記載の丸め検出回路。
  4. 【請求項4】 前記各部分丸め検出回路は、前記各部分
    シフト回路に、1対1で対応していることを特徴とする
    請求項1乃至3のいずれか1に記載の丸め検出回路。
  5. 【請求項5】 前記複数の部分丸め検出回路のうち、部
    分シフト量が、他の前記部分丸め検出回路と比較すれ
    ば、大きい前記部分シフト回路に対応する前記部分丸め
    検出回路を構成する能動素子のサイズは、部分シフト量
    が小さい前記他の部分シフト回路に対応する前記部分丸
    め検出回路を構成する能動素子のサイズに対して大きく
    設定されていることを特徴とする請求項1乃至4のいず
    れか1に記載の丸め検出回路。
  6. 【請求項6】 浮動小数点演算回路を構成し、シフト対
    象データをそれぞれ所定の部分シフト量シフトさせる直
    列接続された複数段の部分シフト回路を有し、シフト対
    象データを、少なくとも1段の前記部分シフト回路によ
    ってシフトさせることによって、入力されたシフト対象
    データを所定のシフト量シフトさせるシフト回路と、 前記シフト回路に接続して用いられ、前記シフト回路に
    よるシフト対象データの下位方向へのシフト処理による
    少なくとも一つの「1」を含むデータのシフトアウトの
    発生を検出する丸め検出回路とを備えた複合回路であっ
    て、 前記丸め検出回路は、前記各部分シフト回路による部分
    シフト処理の結果発生する少なくとも一つの「1」を含
    データのシフトアウトを検出する複数段の部分丸め検
    出回路と、 少なくとも一つの前記部分丸め検出回路によって、少な
    くとも一つの「1」を含むデータのシフトアウトが検出
    された場合に、適切な丸め処理方法を選択するための丸
    め処理判定を促すための丸め検出信号を出力する丸め検
    出信号出力回路とを備え、 前記複数の部分丸め検出回路のうちの少なくとも2つの
    前記部分丸め検出回路は、前記丸め検出信号出力回路に
    直接接続する構成になされていることを特徴とする丸め
    検出回路がシフト回路に接続されてなる複合回路。
  7. 【請求項7】 前記各部分シフト回路は、それぞれの前
    記部分シフト量が入力側からみて、昇順となるように接
    続されていることを特徴とする請求項6記載の丸め検出
    回路がシフト回路に接続されてなる複合回路。
  8. 【請求項8】 前記各部分シフト回路は、それぞれの前
    記部分シフト量が入力側からみて、降順となるように接
    続されていることを特徴とする請求項6記載の丸め検出
    回路がシフト回路に接続されてなる複合回路。
  9. 【請求項9】 前記部分シフト量は、2の冪乗であるこ
    とを特徴とする請求項6、7又は8記載の丸め検出回路
    がシフト回路に接続されてなる複合回路。
JP2000385583A 2000-12-19 2000-12-19 丸め検出回路及び該丸め検出回路がシフト回路に接続されてなる複合回路 Expired - Fee Related JP3512738B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2000385583A JP3512738B2 (ja) 2000-12-19 2000-12-19 丸め検出回路及び該丸め検出回路がシフト回路に接続されてなる複合回路
US10/014,379 US20020078109A1 (en) 2000-12-19 2001-12-14 Shift and detecting circuit and floating-point calculating circuit using the same
EP01130114A EP1220086A3 (en) 2000-12-19 2001-12-18 Shift circuits and partial sticky bit detection for floating point calculation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000385583A JP3512738B2 (ja) 2000-12-19 2000-12-19 丸め検出回路及び該丸め検出回路がシフト回路に接続されてなる複合回路

Publications (2)

Publication Number Publication Date
JP2002182897A JP2002182897A (ja) 2002-06-28
JP3512738B2 true JP3512738B2 (ja) 2004-03-31

Family

ID=18852821

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000385583A Expired - Fee Related JP3512738B2 (ja) 2000-12-19 2000-12-19 丸め検出回路及び該丸め検出回路がシフト回路に接続されてなる複合回路

Country Status (3)

Country Link
US (1) US20020078109A1 (ja)
EP (1) EP1220086A3 (ja)
JP (1) JP3512738B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3642053B2 (ja) * 2002-02-25 2005-04-27 日本電気株式会社 シンボルデータ変換回路

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4441925A (en) * 1981-04-04 1984-04-10 Hiroshi Ishizuka Method and an apparatus for producing titanium metal from titanium tetrachloride
US5432727A (en) * 1989-11-02 1995-07-11 Intergraph Corporation Apparatus for computing a sticky bit for a floating point arithmetic unit
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

Also Published As

Publication number Publication date
US20020078109A1 (en) 2002-06-20
JP2002182897A (ja) 2002-06-28
EP1220086A2 (en) 2002-07-03
EP1220086A3 (en) 2002-07-17

Similar Documents

Publication Publication Date Title
JP3076046B2 (ja) 例外検出回路
JPH06236252A (ja) 浮動小数点数の仮数部の先行ゼロの数を検出する先行ゼロ2段及び多段検出ユニット、浮動小数点左シフト仮数正規化ユニット及び先行ゼロの数を検出する方法
JPH0695851A (ja) 浮動小数点加算器用の正確な先行ゼロ予測のための方法及び装置
US8214416B2 (en) Floating-point addition acceleration
US5111421A (en) System for performing addition and subtraction of signed magnitude floating point binary numbers
JPS62196767A (ja) パイプライン構成の浮動小数点数アキユムレ−タ回路
EP1094401A1 (en) Data calculating device
US9059726B2 (en) Apparatus and method for performing a convert-to-integer operation
JPH05224883A (ja) 浮動小数点n−ビット符号付大きさの2進数を固定小数点m−ビット2の補数表示の2進数に変換するためのシステム
EP1652063A1 (en) Arithmetic unit for addition or subtraction with preliminary saturation detection
US6205462B1 (en) Digital multiply-accumulate circuit that can operate on both integer and floating point numbers simultaneously
JP3512738B2 (ja) 丸め検出回路及び該丸め検出回路がシフト回路に接続されてなる複合回路
US9400635B1 (en) Methods and apparatus for performing dynamic data alignment for floating-point operations
EP0609673A1 (en) A mantissa addition system for a floating point adder
JP4038634B2 (ja) Fod回路
EP0361886B1 (en) Improved floating point computation unit
JPH07168696A (ja) 2進数加算器のオーバフロー,アンダフロー処理回路
US5408427A (en) Detection of exponent underflow and overflow in a floating point adder
US5754458A (en) Trailing bit anticipator
JPH09222991A (ja) 加算方法および加算器
US5699285A (en) Normalization circuit device of floating point computation device
JP2565730B2 (ja) オーバフロー検出回路
JPH0511980A (ja) 桁あふれ検出方式とその回路
US20230229391A1 (en) Normalizer for performing normalization and denormalization on floating-point data and operation circuit including the same
JP2558799B2 (ja) 浮動小数点正規化丸め装置

Legal Events

Date Code Title Description
A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040107

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20080116

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090116

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100116

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110116

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110116

Year of fee payment: 7

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20110116

Year of fee payment: 7

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20110116

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120116

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130116

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130116

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20140116

Year of fee payment: 10

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees