JPH01240927A - 浮動小数点演算装置 - Google Patents

浮動小数点演算装置

Info

Publication number
JPH01240927A
JPH01240927A JP63068600A JP6860088A JPH01240927A JP H01240927 A JPH01240927 A JP H01240927A JP 63068600 A JP63068600 A JP 63068600A JP 6860088 A JP6860088 A JP 6860088A JP H01240927 A JPH01240927 A JP H01240927A
Authority
JP
Japan
Prior art keywords
digit
rounding
carry
circuit
floating point
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
JP63068600A
Other languages
English (en)
Other versions
JPH0776911B2 (ja
Inventor
Takashi Taniguchi
隆志 谷口
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP63068600A priority Critical patent/JPH0776911B2/ja
Priority to US07/327,656 priority patent/US5122981A/en
Publication of JPH01240927A publication Critical patent/JPH01240927A/ja
Priority to US07/870,389 priority patent/US5373459A/en
Priority to US07/870,075 priority patent/US5289396A/en
Priority to US08/337,017 priority patent/US5495434A/en
Publication of JPH0776911B2 publication Critical patent/JPH0776911B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48—Methods 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/544—Methods 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 for evaluating functions by calculation
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48—Methods 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/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/544—Indexing scheme relating to group G06F7/544
    • G06F2207/5442—Absolute difference
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48—Methods 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/499—Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905—Exception handling
    • G06F7/4991—Overflow or underflow
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48—Methods 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/499—Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942—Significance control
    • G06F7/49947—Rounding
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48—Methods 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/50—Adding; Subtracting
    • G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/506—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages
    • G06F7/508—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages using carry look-ahead circuits

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、浮動小数点演算装置に係り、特に2つの浮動
小数点データの仮数部の加算あるいは減算と結果の丸め
を高速に実行するようにした浮動小数点滴は装置に関す
るものである。
従来の技術 従来の浮動小数点データの加減算は、例えば第5図に示
すブロック図のような構成で行われていた。第5図にお
いて、Ex−FXは入力データXのそれぞれ指数部およ
び仮数部データ、E Y ” F Yは入力データYの
それぞれ指数部および仮数部データ、501は指数比較
回路、502,503゜504は選択回路、505はシ
フタ、506および508は補数回路、507は加算器
、509は丸め回路、510は正規化回路、EZ−FZ
は加減算結果の出力データZのそれぞれ指数部および仮
数部である。
以下に第5図のブロック図の動作を説明する。
まず、指数比較回路501により、人力データXおよび
Yの指数部Ex、Eyを比較し、大きな指数の値をもつ
入力データの仮数部が、シック505に入力され、さら
に、指数部データExおよびEyのうち大きな値をもつ
指数部データが正規化回路509に入力されるように選
択回路502.503および504が制御される。また
、この時指数部データの差の値がシック505に人力さ
れる。次に、シック505に加えられた仮数部データを
指数部データの差の分だけ右にシフトして桁合わせをす
る。この時、シフトにより右にはみだした桁は上位から
保護桁(カードピッ1−)、丸め桁(ラウンドビット)
、それ以下の全桁については論理和をとり添付術(ステ
イッキビット)として最下位桁に3桁付加され、演算結
果の丸めに用いられる。この後、補数回路506により
、仮数部のデータに関する演算が加算である場合には、
選択回路502から出力される仮数部データをそのまま
加算器507に出力し、減算の場合には選択回路502
から出力される仮数部データの2の補数値を生成して加
算器507に出力する。次に、加算器507により2つ
の桁合わせされた仮数部データを加算する。次に、絶対
値化された仮数部の結果を求めるために、補数回路50
8により、加算器507の結果が正である場合には加算
器507の結果をそのまま丸め回路509に出力し、負
である場合には加算器507の結果の2の補数値を生成
して丸め回路509に出力する。丸め回路509では、
仮数部の演算結果を丸め、最後に正規化回路510によ
り、桁合わせおよび指数部の補正などを行って演算を終
了する。
発明が解決しようとする課題 上記のような従来技術では、補数回路506により、仮
数部のデータに関する演算が加算である場合には選択回
路502から出力される仮数部データをそのまま加算器
507に出力し、減算の場合には選択回路502から出
力される仮数部データの2の補数値を生成して加算器5
07に出力しなければならない。また、絶対値化された
仮数部の結果を求めるために、補数回路508により、
加算器507の結果が正である場合には加算器507の
結果をそのまま丸め回路509に出力し、負である場合
には加算器507の結果の2の補数値を生成して丸め回
路509に出力しなければならない。これら2つの補数
回路における2の補数の生成は、具体的には、入力デー
タの各桁を論理反転して、最下位桁に1を加えることに
より行われる。したがって、仮数部に関する演算が減算
であったり、演算結果が負になった場合には2の補数値
を求めなければならないので、演算時間がかかり、また
、2つの補数回路を必要とするため回路の構成が複雑に
なるという問題点を有していた。
さらに、上記の従来技術では加算を終了した後に、演算
結果の絶対値の丸めを丸め回路509により行っている
。この場合の丸めは、絶対値化された演算結果に対して
丸めを行うべき桁を検出し、それに対応した桁へ、丸め
により生じる桁上げを加算しなければならない。この場
合に、演算結果の絶対値が確定しなければ丸め演算を開
始できず、丸め演算に時間がかかり、回路も複雑になる
なとの問題点を有していた。
本発明は、係る点に鑑みてなされたもので、加減算器に
簡単な回路を付加することにより、簡単な構成で、仮数
部の演算、演算結果の絶対値化、さらに結果の丸めを高
速に行う浮動小数点演算装置を提供することを目的とし
ている。
課題を解決するための手段 本発明は上記目的を達成するため、2つの浮動小数点数
のうち指数の大きいほうの第1の浮動小数点数の第1の
仮数部データと、前記第1の仮数部データに左シフトし
て桁合わせされた指数の小さいほうの第2の浮動小数点
数の第2の仮数部データとを演算し出力する第1の演算
手段と、前記第2の仮数部データと”1″との相と前記
第1の仮数部データとを前記演算と同一の演算をし出力
する第1の演算手段と同一の桁上げ生成伝搬発生回路を
共用して構成した第2の演算手段と、前記第2の演算手
段の出力の全桁を論理反転して出力する反転手段と、第
1の仮数部データおよび第2の仮数部データの一部と、
第2の浮動小数点数の桁合わせにより生成される保護桁
、丸め桁および添付桁から、所定の桁で丸めを実行した
とき基準の桁位置から生じる桁上げ信号を出力する丸め
桁上げ生成回路とを有し、丸め桁上げ生成回路の出力と
、第1の演算手段、前記第2の演算手段の出力の桁あふ
れを含む上位2桁から、演算結果を選択するようにして
いる。
作用 本発明は上記した構成により、第1の演算手段により、
(第1の仮数部データ土弟2の仮数部データ)の結果を
求め、同時に第2の演算手段により、(第1の仮数部デ
ータ±(第2の仮数部データ+1))の結果を求め、さ
らに、第2の演算手段の結果の反転手段により、演算が
減算である場合には、−(第1の仮数部データー第2の
仮数部データ)の結果が求められる。丸めにより生じる
桁上げを所定の基準桁に合わせておくことにより、桁上
げの値が高々1なので、基準桁より上位への丸め桁上げ
を求めて、桁あふれをふ(む上位2桁から、演算結果を
選択することにより、高速に演算、丸め、さらに絶対値
化を高速に行うことができる。
また、前記第1の演算手段を行う回路と第2の演算手段
を行う回路とは、同一の桁上げ生成伝搬発生回路を共用
して構成することができるため、従来例のような被演算
数の2つの補数回路、加減算、丸め回路および丸め回路
を独立に持たせる場合回路素子数を大幅に少な(するこ
とができる。
実施例 第1図は、本発明の実施例を示すブロック図である。第
1図において、101は桁上げ生成伝搬発生回路、10
2は丸め桁上げ生成回路、103゜104は和差生成回
路、105は反転回路、106は演算結果選択信号生成
回路、107は選択回路、Xは指数部の大きいデータの
仮数部(以下被演算数と呼ぶ。)、Yは指数の小さいデ
ータの左シフトされた仮数部(以下演算数と呼ぶ。)、
GR8は演算数Yの保護桁、丸め桁、および添付桁(以
下単にGR8と呼ぶ。) 、MSUBは減算信号、Zは
丸めを含む演算結果である。
まず、第1図の動作を説明する。被演算数Xと演算数Y
が桁上げ生成伝搬発生回路101に入力されると、減算
信号MSUBの値により、仮数部に関する演算が加算の
場合には、XとYを加算する場合に生じる各桁での桁上
げ信号C0108と、さらに最下位桁へ1の桁上げがあ
る時にXとYを加算する場合に生じる各桁での桁上げ信
号C1109を求め、演算が減算である場合には、Xか
らYを減算する場合に生じる各桁での桁借り信号C01
08と、さらに最下位桁へ1の桁借りがある時にXから
Yを減算する場合に生じる各桁での桁借り信号CI  
109を求め、和差生成回路103および104に加え
られる。以下ではCo。
CIをともに桁上げ信号と呼ぶ。これらの桁上げ信号(
’o、およびC1を生成するための回路は、大部分を共
用して構成することができる。さらに、薯テ上げ生成伝
搬発生回路101では、XとYの各桁での排他的論理和
出力の中間和Sを求める。また、丸め桁上げ生成回路1
02では、被演算数Xと演算数Yの一部およびGR3が
入力され、XとYおよびGR3を含んだ演算に対して各
の丸め桁位置での丸めを行なう場合に生じるXまたはY
の最下位桁への桁上げ(減算の場合には桁借り)111
(以下この桁上げを丸め桁上げ信号と呼ぶ。)を求め、
演算結果選択信号生成回路106に入力される。次に、
和差生成回路108および109は桁上げ生成伝搬発生
回路101で求められた各桁での桁上げ信号C0108
およびC1109と、各桁の排他的論理和5110によ
り、XとYの演算結果X±Y112および、最下位桁へ
桁上げあるいは桁借りが生じる場合の演算結果X±(Y
+1)113を求める。これらの演算結果は、選択回路
107に入力され、X±(Y+ 1 )113について
は反転回路105にも入力され、さら1こ、これら演算
結果のそれぞれの桁あふれを含む上位2桁114および
115が、演算結果選択信号生成回路106に入力され
る。反転回路105は、和差生成回路104で求められ
た演算結果X±(Y+4)113の各桁を反転して±(
Y+1)116を求め、選択回路107に加えられる。
この±(Y+ 1 )の値は、演算が減算の場合にX−
Yの2の補数表現、すなわち−(X−Y)の結果に等し
い。最後に、丸め桁上げ生成回路102で求められた丸
め桁上げ信号111と、演算結果の上位2桁114およ
び115と減算信号MSUBから、演算結果選択信号生
成回路106により、演算結果112.113および1
16のうち、正しい結果を選択するための選択信号11
7を生成し、選択回路107によりその結果を選択し、
丸めおよび絶対値化した演算結果2を出力する。以上説
明したようにして、仮数部の演算を行うことにより、丸
めおよび絶対値化した演算結果を得られ、高速に、しか
も少ない素子数で仮数部演算器を構成することができる
。
次に、各の回路について具体的に説明する。まず、桁上
げ生成伝搬発生回路101について説明する。この桁上
げ生成伝搬発生回路101は、この回路に入力される2
のデータXとYの加算あるいは減算を行なう場合に生じ
る各桁での桁上げCOと、最下位桁への桁上げあるいは
桁借りがある時に、XとYとの加算あるいは減算を行う
場合に生じる各桁での桁上げC1を求めるための回路で
ある。
以下入力されるデータを1桁としてX = X、−1・
・・・・・XIXQおよびY=yn−+・・・・・・Y
+Voとして説明する。まず、桁上げ生成関数g i 
、 jおよび桁上げ伝搬関数pi r jを考える。こ
こで、i≧jであり、gi+Jはj桁目からi桁目まで
加算あるいは減算を行った場合に上位へ桁上りあるいは
桁借りが生成されることを表し、pi、jはj桁目から
i桁目まで加算あるいは減算を行った場合に、下位から
桁上りあるいは桁借りがあった場合に上位へ桁上りある
いは桁借りを伝搬することを表している。以下では、桁
上りと桁借り含めて桁上りと記述する。
この定義から、各桁自身の桁上げ生成関数g3.。
および桁上げ伝搬関数p32.は入力データの各桁の値
Xiおよびy、より以下のように与えられる。
すなわち、 gi、i= (MSUBex;)” y; ”’−(1
)p;、i= (MSUBex;)(EEly;または
、 = (MSUB■Xi ) +3’ i ・・・・・・
(2)が成り立つ。ここで、MSUBは、減算信号であ
り、減算の時“1”、加算の時゛0”となる信号である
。また、i≧j≧にの関係を有するi、jおよびkに対
して以下の関数式がなり立つ。
すなわち、 gi 、 k = g i 、 j + pi + j
・g j−1、k  ・・・・・・(3)p皿=に;p
++r°I)4−+、k・・・・・・(4)である。こ
の(1)ないしく4)式によりある基準となる桁kから
各々の桁iまでの桁上げ生成関数g1.におよび桁上げ
伝搬関数pi、kを求めることができる。すなわち、演
算を行う各々の桁から(1)および(2)で表される各
桁自身の桁上げ生成関数gi+iおよび桁上げ伝搬関数
p+++を求め、(3)および(4)式を繰り返し用い
である基準となる桁から各々の桁までの桁上げ生成関数
および桁上げ伝搬関数を求めることができる。桁上げ生
成関数gi、におよび桁上げ伝搬関数pI+4の定義か
ら、全ての桁の加算あるいは減算を考えたときのi桁目
の桁上げC3は次式で与えられる。
Ci  ” g i 、 j + 1) i 、 j・
Cj−1・・・・・・(5)また、(5)式においてj
=0とおけば、CI= g ;、o+I’ 1.o−C
−+     −−(6)となる。ここで、C−1は最
下位桁への桁上りを意味しており、C−1を一〇″とず
ればX±Yの演算に対する各桁からの桁上げCiを求め
ることができる。また、C−1を1”とすれば、X±(
Y −1−1’)の演算に対する各桁からの桁上げC;
を求めることができる。また、桁上げ生成伝搬発生回路
101では、XとYの各桁での排他的論理和による中間
相Sの1桁S1を求める。すなわち、 SH=xHΦly        ・・・・・・(7)
を出力している。この中間和Slは、前述のCi。
C1とともに演算の最終相を求める時に用いられる。
次に和差生成回路103および104について述べる。
この回路は、X6Yの演算時の桁上げCOおよびCIと
、中間和Sより、X±YとX±(Y+1)の結果を求め
るものである。すなわち、X+Yの演算結果のi桁Z?
は、最1位への桁上げC−Iが”0“の場合の1桁への
桁上げCi−1より、 Zi =x、 $、yのCi−1 −8,$  C9,・・・−・・(8)として求められ
る。また、最下位桁へ桁上げがある場合の演算結果X±
(Y+1)のi桁Z:は、最下位桁への桁上げC−+が
“1″の場合の1桁への桁上げCニー1より、 Zi =x、 @ y、 e  Ci−。
−S、Φ Cニー1      ・・・・・・(9)と
して求めることができる。
次に、丸め桁上げ生成回路102について述べる。この
回路は、XとYの下位桁の一部とGR8の信号により、
GR8を含んだXとYの演算に対して各の丸め桁位置で
の丸めを行う場合に生じる。XまたはYの最下位桁への
丸め桁上げ信号11】を求めるものである。まず、丸め
について説明する。加算により生じる丸めを行うべき桁
は2つある。ここで、Xは正規化されたデータを考えて
いるのでXの最上位桁は常に“1−になっている。した
がって、加算により桁あぶれが生じる場合があり、この
時にはXの最下位桁で丸めを行なわなければならない。
また、加算により桁あぶれが生じない場合には、最上位
桁が常に1となるので、保護桁で丸めなければならない
。一方、減算においては、この場合も丸めを行なうべき
桁が2つあるが位置が1桁異なる。すなわち、減算結果
が正となる場合に、最上位桁が1となる場合には、保護
桁で丸める。また、最上位桁がOとなる場合には、丸め
桁で丸めなければならない。この時、上位桁に2桁以上
連続してOが並ぶ場合があるが、このような場合が生じ
るのは、指数データの差が高々1桁であり、丸め桁以下
の値は0となるので、丸め桁での丸めのみを考えればよ
い。また、減算結果が負になる場合があるが、この時は
常に2つの指数部データが等しい場合であり、この時に
は丸めを行なう必要はない。以上のことから、加算と減
算をあわせて、3つの丸めを行なうべき桁が存在する。
すなわち、最下位桁、保護桁、および丸め桁である。丸
めモードとして、いくつかの方法がある。IEEE75
4の浮動小数点演算規格では、4つの丸めモードが定め
られている。すなわち、最近接丸め(round to
 nearest) 。
正方向丸め(round to plus)、負方向丸
め(roundto m1nus) 、零方向丸め(r
ound to zero)である。したがって、丸め
桁位置と丸めモードに対応するだけの、丸めにより生じ
る丸め桁上げ信号を丸め桁上げ生成回路により求めてお
けばよい。ここでは、よく用いられる丸めモードである
最近接丸めについて述べる。この最近接丸めは、丸めた
時に正確な結果に最も近い値となるように丸めるもので
あり、最も近い値が2つある場合には丸められた結果の
最下位力じOoとなるように丸めるものである。この丸
めにより生じる丸め桁上げ信号は、加算の場合について
第3図の真理値表で、減算については第4図のような真
理値表で与えられる。真理値表において Zi、zgは
XとYとを加算した時の下位2桁の値であり、yo、y
Rおよびysは、それぞれ保護桁、丸め桁および添付桁
である。第1表において、yR十ysは論理和を示す。
減算の場合の−1は、1の桁借りを意味する。また、加
算の場合のCRUは、最下位桁すなわちz8の桁で丸め
を行なった場合の結果と最下位桁へCRUの桁上げを行
なった場合のZiの桁より上位で等しくなるように丸め
桁上げを決定したものであり z3の桁は丸めた結果と
して必要ないので、この桁の値が0であろうと1であろ
うとどちらでもよい。したがって丸め桁上げは、Oでも
1でもよいような場合がある。第1表では木印で示して
いる。また、保護桁での丸めに対しては、丸め桁上げの
位置と丸めによる桁上げ位置が一致するので表に示すC
RMのような値をとることになる。また、減算の場合の
保護桁での丸めを行なう場合も、丸め桁上げを桁上げす
る桁と実際の丸めの時の桁が一致する。また、丸め桁で
の丸めを行う場合の保護桁からの丸め桁上げは、第2表
のCRLで示している。これら2つの表かられかるよう
に、丸めにより生じる最下位桁への桁上げあるいは桁借
りは高々1であり、したがって、丸め結果後のデータの
最下位桁以上の桁は結果が正になる時は、X土Yあるい
はX±(Y+1)の値しかとりえない。以上の真理値表
から丸め桁上げを求めれば、加算について、 CRU=x+$y++ya+yR+ys  ・・・−・
・(to)CRM= ya (xo(E)yo+ yR
+ys)  −・(11)また、減算については、 CRM=ya(xo■yo+YR+ys)  ・・−1
12)CRL = yG+ yRys−・−−−−(1
3)となる。(11)と(12)式を比較すると加算の
場合にも、減算の場合にも保護桁での丸め桁上げCRM
は同一信号で表わされることがわかる。したがって、3
つの信号のみを生成すればよい。
減算の結果が負になる場合を考える。この場合は、2つ
の指数データが同一の時のみ生じ、丸めは必要ない。演
算結果の仮数部の値は常に絶対値でなければならないの
で、減算の結果が負となった場合には2の補数として絶
対値化しなければならない。この減算結果X−Yの2つ
の補数を求めるにはX−(Y+1)の全桁の反転X−(
Y+1)を求めればよい。一般に、2の補数を求めるに
は、そのデータの全桁を反転しさらに最下位に1を加え
けばよい。すなわち、次式が成り立つ。
−A=A  + 1                
     ・・・・・・(14)したがって、(1)式
を −(X+Y)= −(X−Y−1)−1=X−Y−1+
  1− 1 =X−(Y+ 1 )   ・・・・・・(15)とな
り、X−(Y+1)の全桁の反転を求めることにより、
X−Yの符号反転値を得ることができる。反転回路10
5は、このX−(Y+1)の反転X−(Y+1)を求め
るためのものである。減算結果X−Yが負かどうかは、
X−Yの演算時の上位あふれ信号により決定できるので
、この上位あふれが1の時は、X−(Y+1)を結果と
して出力し、Oの場合にはX−YあるいはX−(Y+1
>を出力すればよいことになる。
最後に、演算結果選択信号生成回路106について説明
する。この回路は、上述の和差生成回路103および1
04の出力あるいは、反転回路の出力105の出力から
、丸めおよび絶対値化された演算結果を選択するための
回路である。まず、反転回路105の出力が選択される
場合を考えれば、この場合は、減算でかつX −Yが負
、すなわち、X−Yの演算結果の上位あふれRCOが1
の場合である。したがって、この選択信号をSL2とす
れば、 SL2=MSUB−RCO・・・・・・(16)次に、
和差生成回路104の出力X±(Y+ 1 )を選択す
る信号SL+ は、次式のように表わされる。
SL + = SL2[MS[IBtCRM(RC’ 
−CRU+RC’ )+CRM・lIC0・CR[I 
l+MSIIB(CRL(八・CRM+Sム)+CRL
−SトCR旧1・・・・・・く17) ここで、RC+は、X±(Y+1)の上位あふれ信号で
ありS、!、は、最上位桁、SoはX+Yの最上位桁を
表わしている。(17)式は、SL2を除き、各演算で
の下位での丸め行なった場合の上位あぶれの信号により
正しい丸め桁を判断し、その桁に対応する丸め桁上げの
信号により、XthYあるいは、X±(Y+ 1 )を
選択するようになっている。(17)式を簡略化すれば
、 SLI =SI44MSIIB(CRM  RCLCR
M・C11tl+CI(IJ−11cQ  >+MS[
IB(CIIL  St  +CRL−CRM+CRM
−S易))・・・・・・(18)ここで、(10)ない
しく13)式より、CRU  −CRM=CRM・・・
・・・(19)CRM−CRL=CRM・・・・・・(
20)が成り立つ。したがって、(18)式はさらに、
SL、5耳(CR阿+罰画・CRU・lIC0+阿S[
IB・CRL・■「・・・・・・(2■) となる。
また、和差生成回路103の出力X+Yを選択する信号
SLoは、次式で表わされる。
SLo =SL2 +5L1 −SL  +CRM+H8UB−CRU−RCO+MS
UB−CIIL−Sム以上のようにして、演算結果の丸
めおよび絶対値化を行った最終結果を得ることができる
。以上のような構成を用いれば、素子多(必要とする桁
上げ生成伝搬等の回路が1つのみでよく、演算結果の丸
めおよび絶対値出力を演算と同時に求めることができ、
高速な演算を行なうことができる。
以上の説明では、保護桁、丸め桁、添付桁を除く上位の
桁を桁上げ生成伝搬発生回路に加えているが、入力する
桁を変えても同様の効果を得ることができる。さらに、
ここでは、最近接丸めについてのみ述べたが、その他の
丸めモードの場合にも同様の考え方で構成できる。
第2図は、本発明を仮数部の桁数を8桁として具体的に
論理を構成したものである。第2図において、201は
桁上げ生成伝搬発生回路であり、202は丸め桁上げ生
成回路、206は演算結果選択信号生成回路である。第
2図において、Z−1は、演算を行った場合に最上位桁
数がOとなった時、丸め桁で丸めることになり、この場
合には結果として最下位に1桁追加される。この場合の
出力はVa、VR,Ysより求めることができる。
発明の効果 以上述べてきたように、本発明によれば、仮数部の演算
器に簡単な回路を付加するだけで、演算、丸めおよび結
果の絶対値化を同時に高速に行うことができ、さらに、
選択すべき演算結果を求める演算器の桁上げ生成伝搬発
生回路は共用して構成することができるので回路素子数
を大幅に削減できる等の効果を有し、実用的にきわめて
有用である。
【図面の簡単な説明】
第1図は本発明の実施例を示すブロック図、第2図は本
発明の実施例をCMO8回路で構成した論理回路図、第
3図、第4図は、各々加減算に於ける論理真理値図、第
5図は従来方法の回路構成を示すブロック図である。 101・・・・・・桁上げ生成伝搬発生回路、102・
・・・・・丸め桁上げ生成回路、103.104・・・
・・・和差生成回路、105・・・・・・反転回路、1
06・・・・・・演算結果選択信号生成回路。 代理人の氏名 弁理士 中尾敏男 ほか1名簿 1 図 第3図     第4図 第 5 図

Claims (3)

    【特許請求の範囲】
  1. (1)2つの浮動小数点数のうち指数の大きいほうの第
    1の浮動小数点数の第1の仮数部データと、前記第1の
    仮数部データに左シフトして桁合わせされた指数の小さ
    いほうの第2の浮動小数点数の第2の仮数部データとを
    演算し出力する第1の演算手段と、前記第2の仮数部デ
    ータと“1”との和と前記第1の仮数部データとを前記
    演算と同一の演算し出力する第2の演算手段と、前記第
    2の演算手段の出力の全桁を論理反転して出力する反転
    手段とを有し、前記第1の演算手段、前記第2の演算手
    段および前記反転手段の出力から選択して出力すること
    を特徴とする浮動小数点演算装置。
  2. (2)第1の演算手段と第2の演算手段とを同一の桁上
    げ生成伝搬発生回路を共用して構成したことを特徴とす
    る特許請求の範囲第1項記載の浮動小数点演算装置。
  3. (3)第1の仮数部データおよび第2の仮数部データの
    一部と、第2の浮動小数点数の桁合わせにより生成され
    る保護桁(ガードビット)、丸め桁(ラウンドビット)
    および添付桁(スティッキビット)から、所定の桁で丸
    めを実行したとき基準の桁位置から生じる桁上げ信号を
    出力する丸め桁上げ生成回路を有することを特徴とする
    浮動小数点演算装置。(4)丸め桁上げ生成回路の出力
    と、第1の演算手段、前記第2の演算手段の出力の桁あ
    ふれを含む上位2桁から、演算結果を選択する選択手段
    を有することを特徴とする浮動小数点演算装置。
JP63068600A 1988-03-23 1988-03-23 浮動小数点演算装置 Expired - Lifetime JPH0776911B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP63068600A JPH0776911B2 (ja) 1988-03-23 1988-03-23 浮動小数点演算装置
US07/327,656 US5122981A (en) 1988-03-23 1989-03-23 Floating point processor with high speed rounding circuit
US07/870,389 US5373459A (en) 1988-03-23 1992-04-17 Floating point processor with high speed rounding circuit
US07/870,075 US5289396A (en) 1988-03-23 1992-04-17 Floating point processor with high speed rounding circuit
US08/337,017 US5495434A (en) 1988-03-23 1994-11-07 Floating point processor with high speed rounding circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63068600A JPH0776911B2 (ja) 1988-03-23 1988-03-23 浮動小数点演算装置

Publications (2)

Publication Number Publication Date
JPH01240927A true JPH01240927A (ja) 1989-09-26
JPH0776911B2 JPH0776911B2 (ja) 1995-08-16

Family

ID=13378443

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63068600A Expired - Lifetime JPH0776911B2 (ja) 1988-03-23 1988-03-23 浮動小数点演算装置

Country Status (2)

Country Link
US (4) US5122981A (ja)
JP (1) JPH0776911B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01290035A (ja) * 1988-03-31 1989-11-21 Texas Instr Inc <Ti> 高速乗算器における丸めの方法及び装置
JPH02294820A (ja) * 1989-04-17 1990-12-05 Internatl Business Mach Corp <Ibm> 浮動小数点数演算処理装置および演算処理方法
JPH04102122A (ja) * 1990-08-22 1992-04-03 Fujitsu Ltd 浮動小数点乗算器
US5146419A (en) * 1989-11-28 1992-09-08 Matsushita Electric Industrial Co., Ltd. Floating point addition-subtraction apparatus

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5432727A (en) * 1989-11-02 1995-07-11 Intergraph Corporation Apparatus for computing a sticky bit for a floating point arithmetic unit
JP2894015B2 (ja) * 1991-06-28 1999-05-24 日本電気株式会社 桁あふれ検出方法および回路
US5258943A (en) * 1991-12-23 1993-11-02 Intel Corporation Apparatus and method for rounding operands
US5251164A (en) * 1992-05-22 1993-10-05 S-Mos Systems, Inc. Low-power area-efficient absolute value arithmetic unit
US5625374A (en) * 1993-09-07 1997-04-29 Apple Computer, Inc. Method for parallel interpolation of images
JPH07168696A (ja) * 1993-10-19 1995-07-04 Mitsubishi Electric Corp 2進数加算器のオーバフロー,アンダフロー処理回路
US6219688B1 (en) * 1993-11-30 2001-04-17 Texas Instruments Incorporated Method, apparatus and system for sum of plural absolute differences
US5781465A (en) * 1995-12-22 1998-07-14 Lucent Technologies Inc. Method and apparatus for fast carry generation detection and comparison
JP3313560B2 (ja) * 1996-01-31 2002-08-12 株式会社日立製作所 浮動小数点演算処理装置
US5835389A (en) * 1996-04-22 1998-11-10 Samsung Electronics Company, Ltd. Calculating the absolute difference of two integer numbers in a single instruction cycle
US5742533A (en) * 1996-05-21 1998-04-21 International Business Machines Corporation Method and apparatus for modulus error checking
US5798958A (en) * 1996-06-05 1998-08-25 Samsung Electronics Co., Ltd. Zero detect for binary sum
JPH1091397A (ja) * 1996-09-12 1998-04-10 Toshiba Corp 演算回路
US5850347A (en) * 1996-09-24 1998-12-15 Samsung Semiconductor, Inc. Calculating 2A+ sign(A) in a single instruction cycle
US5856936A (en) * 1996-09-24 1999-01-05 Samsung Semiconductor, Inc. Calculating A - sign(A) in a single instruction cycle
US5831887A (en) * 1996-09-24 1998-11-03 Samsung Electronics Co., Ltd. Calculating 2A-sign(A) in a single instruction cycle
US5831886A (en) * 1996-09-24 1998-11-03 Samsung Electronics Co., Ltd. Calculating a + sign(A) in a single instruction cycle
US5835394A (en) * 1996-09-24 1998-11-10 Samsung Electronics Co., Ltd. Calculating selected sign 3 expression in a single instruction cycle
US5844827A (en) * 1996-10-17 1998-12-01 Samsung Electronics Co., Ltd. Arithmetic shifter that performs multiply/divide by two to the nth power for positive and negative N
US5930159A (en) * 1996-10-17 1999-07-27 Samsung Electronics Co., Ltd Right-shifting an integer operand and rounding a fractional intermediate result to obtain a rounded integer result
US6007232A (en) * 1996-11-14 1999-12-28 Samsung Electronics Co., Ltd. Calculating the average of two integer numbers rounded towards zero in a single instruction cycle
US5917739A (en) * 1996-11-14 1999-06-29 Samsung Electronics Co., Ltd. Calculating the average of four integer numbers rounded towards zero in a single instruction cycle
US6044392A (en) * 1997-08-04 2000-03-28 Motorola, Inc. Method and apparatus for performing rounding in a data processor
US6055555A (en) * 1997-12-29 2000-04-25 Intel Corporation Interface for performing parallel arithmetic and round operations
US6175851B1 (en) * 1998-02-06 2001-01-16 S3 Incorporated Fast adder/subtractor for signed floating point numbers
GB2342193B (en) 1998-06-19 2003-06-04 Sgs Thomson Microelectronics Addition circuitry
JP2000155671A (ja) * 1998-11-24 2000-06-06 Mitsubishi Electric Corp 浮動小数点演算装置
US6151616A (en) * 1999-04-08 2000-11-21 Advanced Micro Devices, Inc. Method and circuit for detecting overflow in operand multiplication
JP4439060B2 (ja) * 1999-12-17 2010-03-24 株式会社ルネサステクノロジ 浮動小数点加算器
US7206800B1 (en) 2000-08-30 2007-04-17 Micron Technology, Inc. Overflow detection and clamping with parallel operand processing for fixed-point multipliers
US6754688B2 (en) * 2001-02-14 2004-06-22 Intel Corporation Method and apparatus to calculate the difference of two numbers
US7133890B2 (en) * 2001-05-25 2006-11-07 Sun Microsystems, Inc. Total order comparator unit for comparing values of two floating point operands
US7003543B2 (en) * 2001-06-01 2006-02-21 Microchip Technology Incorporated Sticky z bit
US7467178B2 (en) * 2001-06-01 2008-12-16 Microchip Technology Incorporated Dual mode arithmetic saturation processing
US20030005268A1 (en) * 2001-06-01 2003-01-02 Catherwood Michael I. Find first bit value instruction
US6937084B2 (en) * 2001-06-01 2005-08-30 Microchip Technology Incorporated Processor with dual-deadtime pulse width modulation generator
US6934728B2 (en) * 2001-06-01 2005-08-23 Microchip Technology Incorporated Euclidean distance instructions
US7020788B2 (en) * 2001-06-01 2006-03-28 Microchip Technology Incorporated Reduced power option
US6604169B2 (en) 2001-06-01 2003-08-05 Microchip Technology Incorporated Modulo addressing based on absolute offset
US20030023836A1 (en) * 2001-06-01 2003-01-30 Michael Catherwood Shadow register array control instructions
US7007172B2 (en) * 2001-06-01 2006-02-28 Microchip Technology Incorporated Modified Harvard architecture processor having data memory space mapped to program memory space with erroneous execution protection
US20030028696A1 (en) * 2001-06-01 2003-02-06 Michael Catherwood Low overhead interrupt
US6976158B2 (en) * 2001-06-01 2005-12-13 Microchip Technology Incorporated Repeat instruction with interrupt
US6975679B2 (en) * 2001-06-01 2005-12-13 Microchip Technology Incorporated Configuration fuses for setting PWM options
US6952711B2 (en) * 2001-06-01 2005-10-04 Microchip Technology Incorporated Maximally negative signed fractional number multiplication
US6728856B2 (en) 2001-06-01 2004-04-27 Microchip Technology Incorporated Modified Harvard architecture processor having program memory space mapped to data memory space
US6552625B2 (en) 2001-06-01 2003-04-22 Microchip Technology Inc. Processor with pulse width modulation generator with fault input prioritization
US6601160B2 (en) 2001-06-01 2003-07-29 Microchip Technology Incorporated Dynamically reconfigurable data space
US20020184566A1 (en) 2001-06-01 2002-12-05 Michael Catherwood Register pointer trap
US20030005269A1 (en) * 2001-06-01 2003-01-02 Conner Joshua M. Multi-precision barrel shifting
US6985986B2 (en) * 2001-06-01 2006-01-10 Microchip Technology Incorporated Variable cycle interrupt disabling
US6552567B1 (en) 2001-09-28 2003-04-22 Microchip Technology Incorporated Functional pathway configuration at a system/IC interface
US20040021483A1 (en) * 2001-09-28 2004-02-05 Brian Boles Functional pathway configuration at a system/IC interface
GB2392261B (en) * 2002-08-19 2005-08-03 Texas Instruments Ltd Device for computing an absolute difference
US7386580B2 (en) * 2004-03-18 2008-06-10 Arm Limited Data processing apparatus and method for computing an absolute difference between first and second data elements
US7372296B2 (en) * 2004-10-29 2008-05-13 Sicronic Remote Kg, Llc Configurable logic device providing enhanced flexibility, scalability and providing area efficient implementation of arithmetic operation on n-bit variables
US20070239816A1 (en) * 2005-06-03 2007-10-11 Gordienko Valerity I Formation Process for Logical and Control Functions in Information Processing and Control Systems
US7689640B2 (en) * 2005-06-06 2010-03-30 Atmel Corporation Method and apparatus for formatting numbers in microprocessors
US20080021943A1 (en) * 2006-07-20 2008-01-24 Advanced Micro Devices, Inc. Equality comparator using propagates and generates
US9348557B1 (en) * 2014-02-21 2016-05-24 Altera Corporation Fused floating point datapath with correct rounding
US9817661B2 (en) * 2015-10-07 2017-11-14 Arm Limited Floating point number rounding
US9996319B2 (en) * 2015-12-23 2018-06-12 Intel Corporation Floating point (FP) add low instructions functional unit
US9996320B2 (en) * 2015-12-23 2018-06-12 Intel Corporation Fused multiply-add (FMA) low functional unit

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5666790A (en) * 1979-11-05 1981-06-05 Seiko Epson Corp Wrist watch
JPS59126337U (ja) * 1983-02-15 1984-08-25 横河メディカルシステム株式会社 演算装置
JPS6133539A (ja) * 1984-07-25 1986-02-17 Toshiba Corp 浮動小数点演算装置
JPS6170635A (ja) * 1984-09-14 1986-04-11 Hitachi Ltd 丸め制御装置
JPS61213927A (ja) * 1985-03-18 1986-09-22 Hitachi Ltd 浮動小数点演算処理装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3814925A (en) * 1972-10-30 1974-06-04 Amdahl Corp Dual output adder and method of addition for concurrently forming the differences a{31 b and b{31 a
US3825895A (en) * 1973-05-14 1974-07-23 Amdahl Corp Operand comparator
US4075704A (en) * 1976-07-02 1978-02-21 Floating Point Systems, Inc. Floating point data processor for high speech operation
JPS5320833A (en) * 1976-08-11 1978-02-25 Seiko Epson Corp Absolute value arithmetic circuit
US4218751A (en) * 1979-03-07 1980-08-19 International Business Machines Corporation Absolute difference generator for use in display systems
DE3036065A1 (de) * 1980-09-25 1982-05-06 Deutsche Itt Industries Gmbh, 7800 Freiburg Binaere mos-parallel-komparatoren
JPS5776634A (en) * 1980-10-31 1982-05-13 Hitachi Ltd Digital signal processor
JPS59188740A (ja) * 1983-04-11 1984-10-26 Hitachi Ltd フロ−テイング加算器
US4562553A (en) * 1984-03-19 1985-12-31 Analogic Corporation Floating point arithmetic system and method with rounding anticipation
JPS61214025A (ja) * 1985-03-20 1986-09-22 Mitsubishi Electric Corp 差の絶対値比較回路
EP0208939A3 (en) * 1985-06-19 1990-08-22 Nec Corporation Arithmetic circuit for calculating absolute difference values
US4815021A (en) * 1986-01-30 1989-03-21 Star Technologies, Inc. Multifunction arithmetic logic unit circuit
JPH0650462B2 (ja) * 1986-02-18 1994-06-29 日本電気株式会社 シフト数制御回路
JPH0644225B2 (ja) * 1986-03-27 1994-06-08 日本電気株式会社 浮動小数点丸め正規化回路
US4858166A (en) * 1986-09-19 1989-08-15 Performance Semiconductor Corporation Method and structure for performing floating point comparison
US4809172A (en) * 1987-03-11 1989-02-28 Kabushiki Kaisha Toshiba Method for obtaining image data with a tomographic apparatus
US4858165A (en) * 1987-06-19 1989-08-15 Digital Equipment Corporation Apparatus and method for acceleration of effective subtraction procedures by the approximation of the absolute value of the exponent argument difference
US4888722A (en) * 1987-07-02 1989-12-19 General Datacomm, Inc. Parallel arithmetic-logic unit for as an element of digital signal processor
US4841467A (en) * 1987-10-05 1989-06-20 General Electric Company Architecture to implement floating point multiply/accumulate operations
JPH01204138A (ja) * 1988-02-09 1989-08-16 Nec Corp 演算回路
US4935719A (en) * 1989-03-31 1990-06-19 Sgs-Thomson Microelectronics, Inc. Comparator circuitry
US5117384A (en) * 1990-01-24 1992-05-26 International Business Machines Corporation Method and apparatus for exponent adder

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5666790A (en) * 1979-11-05 1981-06-05 Seiko Epson Corp Wrist watch
JPS59126337U (ja) * 1983-02-15 1984-08-25 横河メディカルシステム株式会社 演算装置
JPS6133539A (ja) * 1984-07-25 1986-02-17 Toshiba Corp 浮動小数点演算装置
JPS6170635A (ja) * 1984-09-14 1986-04-11 Hitachi Ltd 丸め制御装置
JPS61213927A (ja) * 1985-03-18 1986-09-22 Hitachi Ltd 浮動小数点演算処理装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01290035A (ja) * 1988-03-31 1989-11-21 Texas Instr Inc <Ti> 高速乗算器における丸めの方法及び装置
JPH02294820A (ja) * 1989-04-17 1990-12-05 Internatl Business Mach Corp <Ibm> 浮動小数点数演算処理装置および演算処理方法
US5146419A (en) * 1989-11-28 1992-09-08 Matsushita Electric Industrial Co., Ltd. Floating point addition-subtraction apparatus
JPH04102122A (ja) * 1990-08-22 1992-04-03 Fujitsu Ltd 浮動小数点乗算器

Also Published As

Publication number Publication date
US5495434A (en) 1996-02-27
US5122981A (en) 1992-06-16
US5373459A (en) 1994-12-13
US5289396A (en) 1994-02-22
JPH0776911B2 (ja) 1995-08-16

Similar Documents

Publication Publication Date Title
US5373459A (en) Floating point processor with high speed rounding circuit
US6925480B2 (en) Microarchitecture of an arithmetic unit
US6175851B1 (en) Fast adder/subtractor for signed floating point numbers
JP3345894B2 (ja) 浮動小数点乗算器
JPS6125245A (ja) 丸め処理回路
US7433911B2 (en) Data processing apparatus and method for performing floating point addition
JPH0545982B2 (ja)
US6519621B1 (en) Arithmetic circuit for accumulative operation
US7016930B2 (en) Apparatus and method for performing operations implemented by iterative execution of a recurrence equation
JPH08161152A (ja) 浮動小数点演算装置
JPH04270415A (ja) 高性能加算器
US6571264B1 (en) Floating-point arithmetic device
JPH0464091B2 (ja)
JPH0511980A (ja) 桁あふれ検出方式とその回路
JP2991788B2 (ja) 復号器
EP0328779A2 (en) Apparatus for branch prediction for computer instructions
JPH056263A (ja) 加算器およびその加算器を用いた絶対値演算回路
JP2856792B2 (ja) 浮動小数点数演算装置
JP2605848B2 (ja) 非回復型除算器
JP2681968B2 (ja) 演算処理装置
JP2537876B2 (ja) 丸め処理回路
JP2512801B2 (ja) 乗算器
JP2752698B2 (ja) 浮動小数点加減算回路
JPH1115641A (ja) 冗長2進加算器を用いた乗算装置
JP2620660B2 (ja) 乗算器

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070816

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20080816

Year of fee payment: 13

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080816

Year of fee payment: 13