JP3773033B2 - データ演算処理装置及びデータ演算処理プログラム - Google Patents

データ演算処理装置及びデータ演算処理プログラム Download PDF

Info

Publication number
JP3773033B2
JP3773033B2 JP2001246739A JP2001246739A JP3773033B2 JP 3773033 B2 JP3773033 B2 JP 3773033B2 JP 2001246739 A JP2001246739 A JP 2001246739A JP 2001246739 A JP2001246739 A JP 2001246739A JP 3773033 B2 JP3773033 B2 JP 3773033B2
Authority
JP
Japan
Prior art keywords
data
scale factor
block
group
calculation
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
JP2001246739A
Other languages
English (en)
Other versions
JP2003058362A (ja
Inventor
士朗 小林
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.)
Asahi Kasei Corp
Original Assignee
Asahi Kasei 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 Asahi Kasei Corp filed Critical Asahi Kasei Corp
Priority to JP2001246739A priority Critical patent/JP3773033B2/ja
Publication of JP2003058362A publication Critical patent/JP2003058362A/ja
Application granted granted Critical
Publication of JP3773033B2 publication Critical patent/JP3773033B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Complex Calculations (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、1または複数のデータを含んでデータグループを構成し、さらに複数のデータグループを含んでデータブロックを構成し、データブロック単位でデータを処理する装置およびプログラムに係り、特に、ブロックフローティング方式で固定小数点演算を行うブロックフローティング型のデジタル・シグナル・プロセッサ(以下、単にDSPという。)に関する。
【0002】
【従来の技術】
デジタル信号処理における数値表現方法として、固定小数点表現または浮動小数点表現がある。
浮動小数点表現では、各データが指数部と仮数部をもち、これにより、高い精度と広いダイナミックレンジが確保可能という利点がある反面、複雑で大規模なハードウェアが必要となるという問題がある。一方、固定小数点表現では、ハードウェアが簡単で回路規模も小さくてすむが、演算精度の低下が問題となる。
【0003】
そこで、固定小数点表現における問題の対策法として提案されたのがブロックフローティングという方式である。この方式では、所定数(例えば、m個)のデータを1つのデータブロックとし、データブロックに対し1個のブロックスケールファクタをもたせ、データブロックのm個のデータに対し共通のスケーリングを行うことにより、限られたダイナミックレンジを有効に用いて精度の劣化を抑える。
【0004】
従来、ブロックフローティング方式により演算を行う装置としては、本出願人が先に出願した国際出願(国際公開番号WO99/66423)に開示されてるデータ演算処理装置がある。図2は、ブロックフローティング方式による従来のデータ演算処理装置の構成を示すブロック図である。
従来のデータ演算処理装置は、図2に示すように、データを記憶するためのデータメモリ100と、データメモリ100のデータに対して積和演算を行う演算部200と、ブロックフローティングに必要な正規化を行うための制御部300と、これらの制御を行う制御ロジック400と、アドレス生成器500とで構成されている。
【0005】
データメモリ100は、図示しない外部からデータを入力し、演算部200の演算対象となるデータとして格納するようになっている。データメモリ100では、データは、図3に示すように、データブロック単位で格納される。図3は、データメモリ100におけるデータ構造を示す図である。データメモリ100では、図3に示すように、データが計算ユニットの数に相当する個数(この場合、k個)組合わさってデータグループとして格納され、さらに、データグループが複数組合わさってデータブロックとして格納される。すなわち、データブロックは、複数のデータグループを含んで構成され、データグループは、計算ユニットの数に相当する個数のデータを含んで構成されている。
【0006】
演算部200は、同一機能を有するk個の計算ユニットP0〜Pk-1で構成されている。各計算ユニットP0〜Pk-1には、1つのデータグループのデータがそれぞれ振り分けられ、各計算ユニットP0〜Pk-1は、データグループ単位でデータを並列処理する。
各計算ユニットP0〜Pk-1は、与えられたスケールファクタに基づいてデータに対してスケーリングを行う第2シフタ10と、第2シフタからのデータに対して積和演算を行う積和演算器12と、積和演算器12からの演算データのスケールファクタを算出するユニットスケールファクタ検出器14と、与えられたスケールファクタに基づいて積和演算器12からの演算データに対してスケーリングを行う第1シフタ16とで構成されている。
【0007】
ユニットスケールファクタ検出器14は、積和演算器12からの演算データの冗長なビット数を算出し、これをスケールファクタとして算出するようになっている。なお、スケールファクタは、データをビットシフトするときのシフト量であり、シフトするビット数を示す。以下、グループスケールファクタおよびブロックスケールファクタについても同様である。
【0008】
第2シフタ10は、与えられるスケールファクタに相当するシフト量で、与えられたデータに対して下位ビットの方向へビットシフト(以下、単に右シフトという。)を行うようになっており、第1シフタ16は、与えられたスケールファクタに相当するシフト量で、積和演算器12からの演算データに対して上位ビットの方向へビットシフト(以下、単に左シフトという。)を行うようになっている。
【0009】
制御部300は、ユニットスケールファクタ検出器14で算出したスケールファクタからグループスケールファクタを検出するグループスケールファクタ検出器50と、グループスケールファクタを格納するグループスケールファクタレジスタファイル52と、グループスケールファクタ検出器50で算出したスケールファクタからブロックスケールファクタを検出するブロックスケールファクタ検出器54と、ブロックスケールファクタを格納するブロックスケールファクタレジスタ56と、グループスケールファクタとブロックスケールファクタの差分を計算する桁合わせ用加算器60とで構成されている。
【0010】
グループスケールファクタ検出器50は、各計算ユニットP0〜Pk-1のユニットスケールファクタ検出器14で算出したスケールファクタうち最小のものをグループスケールファクタとして検出し、制御ロジック400の制御により、検出したグループスケールファクタをグループスケールファクタレジスタファイル52および各計算ユニットP0〜Pk-1の第1シフタ16に出力するようになっている。例えば、各計算ユニットP0〜Pk-1(例えば、k=3)のユニットスケールファクタ検出器14からスケールファクタとして「1」、「2」、「3」を入力した場合、そのうちの最小値である「1」をそのグループスケールファクタとして検出する。
【0011】
グループスケールファクタレジスタファイル52は、グループスケールファクタ検出器50で検出したグループスケールファクタをそれぞれ一時的に格納し、制御ロジック400の制御により、データメモリ100または桁合わせ用加算器60にグループスケールファクタを出力するようになっている。
ブロックスケールファクタ検出器54は、グループスケールファクタ検出器50で検出したグループスケールファクタのうち最小のものをブロックスケールファクタとして検出するようになっている。例えば、あるデータブロックのグループスケールファクタが「3」、「4」、「5」として検出された場合、そのうちの最小値である「3」をそのブロックスケールファクタとして検出する。
【0012】
ブロックスケールファクタレジスタ56は、ブロックスケールファクタ検出器54で検出したブロックスケールファクタを一時的に格納し、制御ロジック400の制御により、データメモリ100または桁合わせ用加算器60にグループスケールファクタを出力するようになっている。
桁合わせ用加算器60は、グループスケールファクタレジスタファイル52から出力されたグループスケールファクタと、ブロックスケールファクタレジスタ56から出力されたブロックスケールファクタとを入力し、グループスケールファクタからブロックスケールファクタを減算してその差分を計算し、制御ロジック400の制御により、その差分からなるスケールファクタを各計算ユニットP0〜Pk-1の第2シフタ10に出力するようになっている。
【0013】
制御ロジック400は、データメモリ100のデータに対して初めて演算を行うときは、次の制御処理を実行するようになっている。
まず、データブロック単位でデータをデータメモリ100から読み出し、データブロックの各データグループごとに、データグループのデータをそれぞれ各計算ユニットP0〜Pk-1の第2シフタ10に振り分ける。
【0014】
そして、グループスケールファクタ検出器50で検出したグループスケールファクタを各計算ユニットP0〜Pk-1の第1シフタ16に与え、各計算ユニットP0〜Pk-1の第1シフタ16からの演算データをデータメモリ100に格納する。また、制御ロジック400は、データメモリ100のデータに対して再度演算を行うときは、次の制御処理を実行するようになっている。
【0015】
まず、データブロック単位で演算データをデータメモリ100から読み出し、データブロックの各データグループごとに、データグループの演算データをそれぞれ各計算ユニットP0〜Pk-1の第2シフタ10に振り分ける。これとともに、各計算ユニットP0〜Pk-1の第2シフタ10に与えたデータのグループスケールファクタおよびブロックスケールファクタがグループスケールファクタレジスタファイル52およびブロックスケールファクタレジスタ56に格納されているときは、ブロックスケールファクタレジスタ56からブロックスケールファクタを読み出して桁合わせ用加算器60に与え、グループスケールファクタレジスタファイル52からグループスケールファクタを順次読み出して桁合わせ用加算器60に与え、桁合わせ用加算器60により各グループスケールファクタとブロックスケールファクタとの差分を計算し、その差分からなるスケールファクタを各計算ユニットP0〜Pk-1の第2シフタ10に与える。
【0016】
そして、グループスケールファクタ検出器50で検出したグループスケールファクタを各計算ユニットP0〜Pk-1の第1シフタ16に与え、各計算ユニットP0〜Pk-1の第1シフタ16からの演算データをデータメモリ100に格納する。なお、各計算ユニットP0〜Pk-1の第2シフタ10に与えたデータのグループスケールファクタおよびブロックスケールファクタがグループスケールファクタレジスタファイル52およびブロックスケールファクタレジスタ56に格納されていないときは、各計算ユニットP0〜Pk-1の第2シフタ10に与えたデータに対応するグループスケールファクタおよびブロックスケールファクタをデータメモリ100から読み出し、これらをグループスケールファクタレジスタファイル52およびブロックスケールファクタレジスタ56に格納してから、上記処理を実行する。
【0017】
【発明が解決しようとする課題】
このように、上記従来のデータ演算処理装置にあっては、演算時の桁落ちを最小限に抑えるために、各グループスケールファクタおよびブロックスケールファクタに基づいてデータブロック内の各データを正規化してから演算を行うようになっている。
【0018】
ところで、複数のデータブロックを用いてそれらデータブロック間で加算を行う場合には、データブロック内の各データがスケーリングされていることから、加算時に、データブロック間でデータの桁位置を一致させなければならない。例えば、2つのデータブロック間で加算を行う場合に、一方のデータブロックについてグループスケールファクタが「2」であるデータA「0.1」と、他方のデータブロックについてグループスケールファクタが「3」であるデータB「0.11」とを加算するときは、データAを2ビット右シフトして「0.001」とするとともに、データBを3ビット右シフトして「0.00011」とした上でそれらを加算する。そして、再び正規化することにより、加算結果としては、グループスケールファクタが「2」で「0.111」のデータを得ることができる。
【0019】
したがって、データブロック間でデータを加算する場合には、データブロック内の各データを正規化し、さらにデータブロック間で各データを正規化しなければならず、演算処理が複雑となる。演算処理の複雑化は、ハードウェアまたはソフトウェアで実現するいずれかの場合にも、演算負荷の増大、演算速度の低下、回路素子数の増加等の問題を生じさせる。
【0020】
このことは、複数のデータブロックを用いてそれらデータブロック間で減算を行う場合についても同様である。
そこで、本発明は、このような従来の技術の有する未解決の課題に着目してなされたものであって、ブロックフローティング方式により加算または減算を行う場合において、演算処理の簡素化を図るのに好適なデータ演算処理装置およびデータ演算処理プログラムを提供することを目的としている。
【0021】
【課題を解決するための手段】
上記目的を達成するために、本発明に係る請求項1記載のデータ演算処理装置は、1または複数のデータを含んでデータグループを構成し、さらに複数のデータグループを含んでデータブロックを構成し、前記データブロックは、前記各データグループのグループスケールファクタおよび前記データブロックのブロックスケールファクタを含み、前記データブロック単位でデータを処理する装置であって、複数のデータブロックを用いた加算または減算を行うときは、その演算前にスケール補正処理を行うようになっており、前記スケール補正処理は、前記複数のデータブロックのブロックスケールファクタのうち絶対値が最大のデータを含むデータブロックのものを共通ブロックスケールファクタとして選択し、前記データブロックの各データグループごとに、当該データグループのグループスケールファクタと前記共通ブロックスケールファクタとの差分からなるスケールファクタに基づいて、当該データグループの各データに対してスケーリングを行うようになっている。
【0022】
このような構成であれば、複数のデータブロックを用いた加算または減算を行う前に、スケール補正処理が行われる。スケール補正手段が行われると、複数のデータブロックのブロックスケールファクタのうち絶対値が最大のデータを含むデータブロックのものが共通ブロックスケールファクタとして選択される。そして、データブロックの各データグループごとに、そのデータグループのグループスケールファクタと共通ブロックスケールファクタとの差分からなるスケールファクタに基づいて、そのデータグループの各データに対してスケーリングが行われる。
【0023】
ここで、スケールファクタとしては、例えば、データをビットシフトするときのシフト量を挙げることができる。この場合、スケールファクタに相当するシフト量で、データに対してビットシフトを行うことによりスケーリングを行う。以下、請求項2記載のデータ演算処理装置、並びに請求項5および6記載のデータ演算処理プログラムにおいて同じである。
【0024】
さらに、本発明に係る請求項2記載のデータ演算処理装置は、複数の計算ユニットを備え、1または複数のデータを含んでデータグループを構成し、さらに複数のデータグループを含んでデータブロックを構成し、前記データブロックは、前記各データグループのグループスケールファクタおよび前記データブロックのブロックスケールファクタを含み、前記データブロック単位でデータを処理する装置であって、前記各計算ユニットは、与えられたスケールファクタに基づいてデータに対してスケーリングを行うスケーリング手段と、前記スケーリング手段からのデータに対して加算または減算を行う演算手段とを有し、さらに、データを記憶するための記憶手段と、データ処理のための制御を行う制御手段とを備え、前記制御手段は、複数のデータブロックを用いた加算または減算を行うときは、その演算前にスケール補正処理を行うようになっており、前記スケール補正処理は、前記各データブロックのブロックスケールファクタを前記記憶手段から読み出し、読み出したブロックスケールファクタのうち絶対値が最大のデータを含むデータブロックのものを共通ブロックスケールファクタとして選択し、前記各データブロックの同一順位のデータグループについて、前記各データブロックごとに、その該当データグループのグループスケールファクタと前記共通ブロックスケールファクタとの差分からなるスケールファクタを前記各計算ユニットのスケーリング手段に与え、その該当データグループの各データを前記記憶手段から読み出し、読み出したデータをそれぞれ前記スケーリング手段を介して前記各計算ユニットの演算手段に入力し、すべての該当データグループについて前記演算手段への入力が完了するのを待って前記演算手段による加算または減算を行い、前記同一順位のデータグループに対して行うこれら一連の処理を、すべてのデータグループに対して行うようになっている。
【0025】
このような構成であれば、制御手段により、複数のデータブロックを用いた加算または減算を行う前に、スケール補正処理が行われる。スケール補正手段が行われると、各データブロックのブロックスケールファクタが記憶手段から読み出され、読み出されたブロックスケールファクタのうち絶対値が最大のデータを含むデータブロックのものが共通ブロックスケールファクタとして選択される。
【0026】
そして、各データブロックの同一順位のデータグループについては、各データブロックごとに、その該当データグループのグループスケールファクタと共通ブロックスケールファクタとの差分からなるスケールファクタが各計算ユニットのスケーリング手段に与えられ、その該当データグループの各データが記憶手段から読み出され、読み出されたデータがそれぞれスケーリング手段を介して各計算ユニットの演算手段に入力される。すべての該当データグループについて演算手段への入力が完了すると、演算手段による加算または減算が行われる。
【0027】
同一順位のデータグループに対して行われるそれら一連の処理は、すべてのデータグループに対して行われる。これにより、複数のデータブロックを用いた加算または減算を行うことができる。
ここで、記憶手段は、データをあらゆる手段でかつあらゆる時期に記憶するものであり、データをあらかじめ記憶してあるものであってもよいし、データをあらかじめ記憶することなく、本装置の動作時に外部からの入力等によってデータを記憶するようになっていてもよい。以下、請求項6記載のデータ演算処理プログラムにおいて同じである。
【0028】
さらに、本発明に係る請求項3記載のデータ演算処理装置は、請求項2記載のデータ演算処理装置において、前記スケーリング手段は、与えられたスケールファクタに相当するシフト量で、入力したデータに対して下位ビットの方向へビットシフトを行うようになっている。
このような構成であれば、スケーリング手段により、与えられたスケールファクタに相当するシフト量で、入力されたデータに対して右シフトが行われる。
【0029】
さらに、本発明に係る請求項4記載のデータ演算処理装置は、請求項2記載のデータ演算処理装置において、前記スケーリング手段は、与えられたスケールファクタに相当するシフト量で、入力したデータに対して上位ビットの方向へビットシフトを行うようになっている。
このような構成であれば、スケーリング手段により、与えられたスケールファクタに相当するシフト量で、入力されたデータに対して左シフトが行われる。
【0030】
一方、上記目的を達成するために、本発明に係る請求項5記載のデータ演算処理プログラムは、コンピュータからなる請求項1記載のデータ演算処理装置に実行させるためのプログラムであって、複数のデータブロックを用いた加算または減算を行うときは、その演算前にスケール補正処理を行うという処理を実行させるためのプログラムであり、前記スケール補正処理は、前記複数のデータブロックのブロックスケールファクタのうち絶対値が最大のデータを含むデータブロックのものを共通ブロックスケールファクタとして選択し、前記データブロックの各データグループごとに、当該データグループのグループスケールファクタと前記共通ブロックスケールファクタとの差分からなるスケールファクタに基づいて、当該データグループの各データに対してスケーリングを行うようになっている。
【0031】
このような構成であれば、コンピュータによってプログラムが読み取られ、読み取られたプログラムに従ってコンピュータが処理を実行すると、請求項1記載のデータ演算処理装置と同等の作用が得られる。
さらに、本発明に係る請求項6記載のデータ演算処理プログラムは、コンピュータからなる請求項2記載のデータ演算処理装置における前記制御手段に実行させるためのプログラムであって、複数のデータブロックを用いた加算または減算を行うときは、その演算前にスケール補正処理を行うという処理を実行させるためのプログラムであり、前記スケール補正処理は、前記各データブロックのブロックスケールファクタを前記記憶手段から読み出し、読み出したブロックスケールファクタのうち絶対値が最大のデータを含むデータブロックのものを共通ブロックスケールファクタとして選択し、前記各データブロックの同一順位のデータグループについて、前記各データブロックごとに、その該当データグループのグループスケールファクタと前記共通ブロックスケールファクタとの差分からなるスケールファクタを前記各計算ユニットのスケーリング手段に与え、その該当データグループの各データを前記記憶手段から読み出し、読み出したデータをそれぞれ前記スケーリング手段を介して前記各計算ユニットの演算手段に入力し、すべての該当データグループについて前記演算手段への入力が完了するのを待って前記演算手段による加算または減算を行い、前記同一順位のデータグループに対して行うこれら一連の処理を、すべてのデータグループに対して行うようになっている。
【0032】
このような構成であれば、コンピュータによってプログラムが読み取られ、読み取られたプログラムに従ってコンピュータが処理を実行すると、請求項2記載のデータ演算処理装置と同等の作用が得られる。
さらに、本発明に係る請求項7記載のデータ演算処理プログラムは、請求項6記載のデータ演算処理プログラムにおいて、前記スケーリング手段は、与えられたスケールファクタに相当するシフト量で、入力したデータに対して下位ビットの方向へビットシフトを行うようになっている。
【0033】
このような構成であれば、コンピュータによってプログラムが読み取られ、読み取られたプログラムに従ってコンピュータが処理を実行すると、請求項3記載のデータ演算処理装置と同等の作用が得られる。
さらに、本発明に係る請求項8記載のデータ演算処理プログラムは、請求項6記載のデータ演算処理プログラムにおいて、前記スケーリング手段は、与えられたスケールファクタに相当するシフト量で、入力したデータに対して上位ビットの方向へビットシフトを行うようになっている。
【0034】
このような構成であれば、コンピュータによってプログラムが読み取られ、読み取られたプログラムに従ってコンピュータが処理を実行すると、請求項4記載のデータ演算処理装置と同等の作用が得られる。
【0035】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照しながら説明する。図1は、本発明に係るデータ演算処理装置の実施の形態を示す図である。
まず、本発明に係るデータ演算処理装置の構成を図1を参照しながら説明する。図1は、本発明に係るデータ演算処理装置の構成を示すブロック図である。
【0036】
本発明に係るデータ演算処理装置は、図1に示すように、データを記憶するためのデータメモリ100と、データメモリ100のデータに対して加算を行う演算部210と、ブロックフローティングに必要な正規化を行うための制御部310と、これらの制御を行う制御ロジック400と、アドレス生成器500とで構成されている。データメモリ100、演算部210、制御部310および制御ロジック400は、データバス110で相互にかつデータ授受可能に接続されており、データメモリ100およびアドレス生成器500は、データアドレスバス120で相互にかつデータ授受可能に接続されている。
【0037】
データメモリ100は、図示しない外部からデータを入力し、演算部210の演算対象となるデータとして格納するようになっている。データメモリ100では、図3に示すように、データが計算ユニットの数に相当する個数(この場合、k個)組合わさってデータグループとして格納され、さらに、データグループが複数組合わさってデータブロックとして格納される。すなわち、データブロックは、複数のデータグループを含んで構成され、データグループは、計算ユニットの数に相当する個数のデータを含んで構成されている。
【0038】
演算部210は、同一機能を有するk個の計算ユニットP0〜Pk-1で構成されている。各計算ユニットP0〜Pk-1には、1つのデータグループのデータがそれぞれ振り分けられ、各計算ユニットP0〜Pk-1は、データグループ単位でデータを並列処理する。
各計算ユニットP0〜Pk-1は、与えられたスケールファクタに基づいてデータに対してスケーリングを行う第2シフタ10と、第2シフタ10からのデータを保持する複数のレジスタr0〜rn-1と、レジスタr0〜rn-1のデータを加算する加算器18と、加算器18からの演算データのスケールファクタを算出するユニットスケールファクタ検出器14と、与えられたスケールファクタに基づいて加算器18からの演算データに対してスケーリングを行う第1シフタ16とで構成されている。
【0039】
ユニットスケールファクタ検出器14は、加算器18からの演算データの冗長なビット数を算出し、これをスケールファクタとして算出するようになっている。
第2シフタ10は、与えられるスケールファクタに相当するシフト量で、与えられたデータに対して右シフトを行うようになっており、第1シフタ16は、与えられたスケールファクタに相当するシフト量で、加算器18からの演算データに対して左シフトを行うようになっている。
【0040】
制御部310は、ユニットスケールファクタ検出器14で算出したスケールファクタからグループスケールファクタを検出するグループスケールファクタ検出器50と、グループスケールファクタ検出器50で算出したスケールファクタからブロックスケールファクタを検出するブロックスケールファクタ検出器54と、各計算ユニットP0〜Pk-1の第2シフタ10を制御するシフタ制御装置58とで構成されている。
【0041】
グループスケールファクタ検出器50は、各計算ユニットP0〜Pk-1のユニットスケールファクタ検出器14で算出したスケールファクタうち最小のものをグループスケールファクタとして検出し、制御ロジック400の制御により、検出したグループスケールファクタをデータブロックと対応付けてデータメモリ100に格納するとともに各計算ユニットP0〜Pk-1の第1シフタ16に出力するようになっている。
【0042】
ブロックスケールファクタ検出器54は、グループスケールファクタ検出器50で検出したグループスケールファクタのうち最小のものをブロックスケールファクタとして検出し、制御ロジック400の制御により、検出したブロックスケールファクタをデータブロックと対応付けてデータメモリ100に格納するようになっている。
【0043】
シフタ制御装置58は、制御ロジック400の制御により、グループスケールファクタおよび後述する共通ブロックスケールファクタをデータメモリ100から入力し、グループスケールファクタと共通ブロックスケールファクタとの差分からなるスケールファクタを各計算ユニットP0〜Pk-1の第2シフタ10に与えるようになっている。
【0044】
制御ロジック400は、複数のデータブロックを用いた加算を行うときは、その演算前に、次のスケール補正処理を実行するようになっている。
まず、加算対象となる各データブロックのブロックスケールファクタをデータメモリ100から読み出し、読み出したブロックスケールファクタのうち絶対値が最大のデータを含むデータブロックのものを共通ブロックスケールファクタとして選択する。
【0045】
次いで、各データブロックの同一順位のデータグループについて、各データブロックごとに、その該当データグループのグループスケールファクタおよび共通ブロックスケールファクタをデータメモリ100から読み出してシフタ制御装置58に出力することにより、その差分からなるスケールファクタを各計算ユニットP0〜Pk-1の第2シフタ10に与え、その該当データグループの各データをデータメモリ100から読み出し、読み出したデータをそれぞれ第2シフタ10を介して各計算ユニットP0〜Pk-1の対応するレジスタrに入力し、すべての該当データグループについてレジスタrへの入力が完了するのを待って加算器18による加算を行う。同一順位のデータグループに対して行うこれら一連の処理は、すべてのデータグループに対して行う。
【0046】
そして、グループスケールファクタ検出器50で検出したグループスケールファクタを各計算ユニットP0〜Pk-1の第1シフタ16に与え、各計算ユニットP0〜Pk-1の第1シフタ16からの演算データをデータバス110経由でデータメモリ100に格納する。
次に、上記実施の形態の動作を説明する。
【0047】
以下、2つのデータを含んでデータグループを構成し、3つのデータグループを含んでデータブロックを構成した場合において、3つのデータブロックA,B,C間でデータを加算する場合を説明する。なお、データブロックA〜Cのデータは、Aij,Bij,Cij(i=1〜3、j=1,2)と表記し、データブロックA〜Cのブロックスケールファクタは、AB,BB,CBと表記し、データブロックA〜Cの各グループスケールファクタは、AGi,BGi,CGiと表記する。本実施の形態においては、データの最大値が大きくなれば、それに対応するスケールファクタは、小さくなるものとする。
【0048】
初めに、制御ロジック400により、ブロックスケールファクタAB,BB,CBがデータメモリ100から読み出され、下式(1)により、読み出されたブロックスケールファクタAB,BB,CBのうち絶対値が最大のデータを含むデータブロックのものが共通ブロックスケールファクタSBとして選択される。式中、「min」は、引数のなかで最小値を選択する関数である。以下、下式(5)において同じである。
【0049】
【数1】
Figure 0003773033
【0050】
次に、各データブロックA〜Cの1番目のデータグループについて加算が行われる。
具体的には、まず、制御ロジック400により、グループスケールファクタAG1および共通ブロックスケールファクタSBがデータメモリ100から読み出されてシフタ制御装置58に出力される。シフタ制御装置58では、それらスケールファクタを入力すると、グループスケールファクタAG1と共通ブロックスケールファクタSBとの差分からなるスケールファクタが各計算ユニットP0,P1の第2シフタ10に与えられる。そして、制御ロジック400により、データブロックAの1番目のデータグループの各データA11,A12がデータメモリ100から読み出され、読み出されたデータA11,A12がそれぞれ第2シフタ10を介して各計算ユニットP0,P1のレジスタr0に入力される。したがって、データA11,A12は、第2シフタ10により、シフタ制御装置58からのスケールファクタに相当するシフト量で右シフトされ、レジスタr0に保持される。
【0051】
次いで、制御ロジック400により、グループスケールファクタBG1および共通ブロックスケールファクタSBがデータメモリ100から読み出されてシフタ制御装置58に出力される。シフタ制御装置58では、それらスケールファクタを入力すると、グループスケールファクタBG1と共通ブロックスケールファクタSBとの差分からなるスケールファクタが各計算ユニットP0,P1の第2シフタ10に与えられる。そして、制御ロジック400により、データブロックBの1番目のデータグループの各データB11,B12がデータメモリ100から読み出され、読み出されたデータB11,B12がそれぞれ第2シフタ10を介して各計算ユニットP0,P1のレジスタr1に入力される。したがって、データB11,B12は、第2シフタ10により、シフタ制御装置58からのスケールファクタに相当するシフト量で右シフトされ、レジスタr1に保持される。データB11,B12は、この右シフトにより、データA11,A12と桁位置が一致する。
【0052】
次いで、制御ロジック400により、グループスケールファクタCG1および共通ブロックスケールファクタSBがデータメモリ100から読み出されてシフタ制御装置58に出力される。シフタ制御装置58では、それらスケールファクタを入力すると、グループスケールファクタCG1と共通ブロックスケールファクタSBとの差分からなるスケールファクタが各計算ユニットP0,P1の第2シフタ10に与えられる。そして、制御ロジック400により、データブロックCの1番目のデータグループの各データC11,C12がデータメモリ100から読み出され、読み出されたデータC11,C12がそれぞれ第2シフタ10を介して各計算ユニットP0,P1のレジスタr2に入力される。したがって、データC11,C12は、第2シフタ10により、シフタ制御装置58からのスケールファクタに相当するシフト量で右シフトされ、レジスタr2に保持される。データC11,C12は、この右シフトにより、データA11,A12,B11,B12と桁位置が一致する。
【0053】
このように、1番目のデータグループの各データがレジスタr0〜r2に格納されると、加算器18により加算が行われる。すなわち、計算ユニットP0では、レジスタr0〜r2のデータが加算され、その加算結果としてY11が出力され、計算ユニットP1では、レジスタr0〜r2のデータが加算され、その加算結果としてY12が出力される。1番目のデータグループについての演算式は、下式(2)のようになる。式中、「shiftr」は、第1引数のデータに対して第2引数の値に相当するシフト量で右シフトを行う関数である。以下、下式(3),(4)において同じである。
【0054】
なお、演算データY11,Y12は、グループスケールファクタ検出器50によりそのグループスケールファクタYG1が検出され、第1シフタ16により正規化された後、グループスケールファクタYG1と対応付けられてデータメモリ100に格納される。
【0055】
【数2】
Figure 0003773033
【0056】
次に、各データブロックA〜Cの2番目のデータグループについて加算が行われる。ここで加算対象となるのは、データA21,A22,B21,B22,C21,C22である。これらのデータも1番目のデータグループについての処理と同じ要領で、計算ユニットP0では、データA21,B21,C21がそれぞれ正規化されて加算され、加算結果としてY21が出力され、計算ユニットP1では、データA22,B22,C22がそれぞれ正規化されて加算され、加算結果としてY22が出力される。2番目のデータグループについての演算式は、下式(3)のようになる。
【0057】
なお、演算データY21,Y22は、グループスケールファクタ検出器50によりそのグループスケールファクタYG2が検出され、第1シフタ16により正規化された後、グループスケールファクタYG2と対応付けられてデータメモリ100に格納される。
【0058】
【数3】
Figure 0003773033
【0059】
次に、各データブロックA〜Cの3番目のデータグループについて加算が行われる。ここで加算対象となるのは、データA31,A32,B31,B32,C31,C32である。これらのデータも1番目のデータグループについての処理と同じ要領で、計算ユニットP0では、データA31,B31,C31がそれぞれ正規化されて加算され、加算結果としてY31が出力され、計算ユニットP1では、データA32,B32,C32がそれぞれ正規化されて加算され、加算結果としてY32が出力される。3番目のデータグループについての演算式は、下式(4)のようになる。
【0060】
なお、演算データY31,Y32は、グループスケールファクタ検出器50によりそのグループスケールファクタYG3が検出され、第1シフタ16により正規化された後、グループスケールファクタYG3と対応付けられてデータメモリ100に格納される。
【0061】
【数4】
Figure 0003773033
【0062】
データブロック間ですべてのデータの加算が終了すると、ブロックスケールファクタ検出器54により、グループスケールファクタYG1,YG2,YG3のうち最小のものが下式(5)によりブロックスケールファクタYBとして検出され、検出されたブロックスケールファクタYBがデータブロックYと対応付けられてデータメモリ100に格納される。
【0063】
【数5】
Figure 0003773033
【0064】
このようにして、本実施の形態では、複数のデータブロックを用いた加算を行うときは、その演算前にスケール補正処理を行うようになっており、スケール補正処理は、複数のデータブロックのブロックスケールファクタのうち絶対値が最大のデータを含むデータブロックのものを共通ブロックスケールファクタとして選択し、データブロックの各データグループごとに、そのデータグループのグループスケールファクタと共通ブロックスケールファクタとの差分からなるスケールファクタに基づいて、そのデータグループの各データに対してスケーリングを行うようになっている。
【0065】
これにより、1つのデータについて第2シフタ10による1回のスケーリングにより、データブロック内での正規化およびデータブロック間での正規化を同時に行うことができるので、従来に比して、演算処理を比較的簡素化することができる。
上記実施の形態において、第2シフタ10は、請求項2、3、6または7記載のスケーリング手段に対応し、加算器18は、請求項2または6記載の演算手段に対応し、データメモリ100は、請求項2または6記載の記憶手段に対応し、制御ロジック400およびシフタ制御装置58は、請求項2または6記載の制御手段に対応している。
【0066】
なお、上記実施の形態においては、データブロックの各データに対して右シフトを行うことにより桁位置を一致させるように構成したが、これに限らず、データブロックの各データに対して左シフトを行うことにより桁位置を一致させるように構成してもよい。
また、上記実施の形態においては、3つのデータブロック間で加算を行う例を説明したが、これに限らず、2つのデータブロック間または4つ以上のデータブロック間で加算を行うこともできる。
【0067】
また、上記実施の形態においては、加算器18により複数のデータブロック間で加算を行うように構成したが、これに限らず、加算器18に代えて減算器を設け、減算器により複数のデータブロック間で減算を行うように構成してもよい。また、上記実施の形態においては、数値演算を行うのに本発明を適用した場合について説明したが、これに限らず、本発明の主旨を逸脱しない範囲で他のものにも適用可能である。
【0068】
また、上記実施の形態においては、制御ロジック400を、内部のロジックに従って各部の制御を行うように構成したが、これに限らず、制御ロジック400に代えて、CPU、RAMおよびROMをバス接続してデータ演算処理部を構成し、データ演算処理部は、CPUにより、上記の制御手順を示したプログラムをROMから読み出して実行するように構成してもよい。この場合、上記の制御手順を示したプログラムは、ROMに格納されるに限らず、上記の制御手順を示したプログラムが記憶された記憶媒体から、そのプログラムをRAMに読み込んで実行するようにしてもよい。
【0069】
また、上記実施の形態においては、本発明に係るデータ演算処理装置を、データメモリ100と、演算部210と、制御部310と、制御ロジック400と、アドレス生成器500とを備えたハードウェアで構成したが、これに限らず、例えば、CPU、RAMおよびROMをバス接続して構成し、CPUにより、各部の機能を実現するための制御プログラムをROMから読み出して実行するように、一部または全部をソフトウェアで構成してもよい。この場合も、制御プログラムは、ROMに格納されるに限らず、制御プログラムが記憶された記憶媒体から、その制御プログラムをRAMに読み込んで実行するようにしてもよい。
【0070】
ここで、記憶媒体とは、RAM、ROM等の半導体記憶媒体、FD、HD等の磁気記憶型記憶媒体、CD、CDV、LD、DVD等の光学的読取方式記憶媒体、MO等の磁気記憶型/光学的読取方式記憶媒体であって、電子的、磁気的、光学的等の読み取り方法のいかんにかかわらず、コンピュータで読み取り可能な記憶媒体であれば、あらゆる記憶媒体を含むものである。
【0071】
【発明の効果】
以上説明したように、本発明に係る請求項1記載のデータ演算処理装置によれば、1つのデータについて1回のスケーリングにより、データブロック内での正規化およびデータブロック間での正規化を同時に行うことができるので、従来に比して、演算処理を比較的簡素化することができるという効果が得られる。
【0072】
さらに、本発明に係る請求項2ないし4記載のデータ演算処理装置によれば、1つのデータについてスケーリング手段による1回のスケーリングにより、データブロック内での正規化およびデータブロック間での正規化を同時に行うことができるので、従来に比して、演算処理を比較的簡素化することができるという効果が得られる。
【0073】
一方、本発明に係る請求項5記載のデータ演算処理プログラムによれば、請求項1記載のデータ演算処理装置と同等の効果が得られる。
さらに、本発明に係る請求項6ないし8記載のデータ演算処理プログラムによれば、請求項2記載のデータ演算処理装置と同等の効果が得られる。
【図面の簡単な説明】
【図1】本発明に係るデータ演算処理装置の構成を示すブロック図である。
【図2】ブロックフローティング方式による従来のデータ演算処理装置の構成を示すブロック図である。
【図3】データメモリ100におけるデータ構造を示す図である。
【符号の説明】
10 第2シフタ
14 ユニットスケールファクタ検出器
16 第1シフタ
18 加算器
50 グループスケールファクタ検出器
52 グループスケールファクタレジスタファイル
54 ブロックスケールファクタ検出器
56 ブロックスケールファクタレジスタ
58 シフタ制御装置
60 桁合わせ用加算器
100 データメモリ
110 データバス
120 アドレスバス
200,210 演算部
300,310 制御部
400 制御ロジック
500 アドレス生成器
0〜Pk-1 計算ユニット
0〜rn-1 レジスタ

Claims (8)

  1. 1又は複数のデータを含んでデータグループを構成し、さらに複数のデータグループを含んでデータブロックを構成し、前記データブロックは、前記各データグループのグループスケールファクタ及び前記データブロックのブロックスケールファクタを含み、前記データブロック単位でデータを処理する装置であって、
    複数のデータブロックを用いた加算又は減算を行うときは、その演算前にスケール補正処理を行うようになっており、
    前記スケール補正処理は、前記複数のデータブロックのブロックスケールファクタのうち絶対値が最大のデータを含むデータブロックのものを共通ブロックスケールファクタとして選択し、
    前記データブロックの各データグループごとに、当該データグループのグループスケールファクタと前記共通ブロックスケールファクタとの差分からなるスケールファクタに基づいて、当該データグループの各データに対してスケーリングを行うようになっていることを特徴とするデータ演算処理装置。
  2. 複数の計算ユニットを備え、1又は複数のデータを含んでデータグループを構成し、さらに複数のデータグループを含んでデータブロックを構成し、前記データブロックは、前記各データグループのグループスケールファクタ及び前記データブロックのブロックスケールファクタを含み、前記データブロック単位でデータを処理する装置であって、
    前記各計算ユニットは、与えられたスケールファクタに基づいてデータに対してスケーリングを行うスケーリング手段と、前記スケーリング手段からのデータに対して加算又は減算を行う演算手段とを有し、
    さらに、データを記憶するための記憶手段と、データ処理のための制御を行う制御手段とを備え、
    前記制御手段は、複数のデータブロックを用いた加算又は減算を行うときは、その演算前にスケール補正処理を行うようになっており、
    前記スケール補正処理は、
    前記各データブロックのブロックスケールファクタを前記記憶手段から読み出し、読み出したブロックスケールファクタのうち絶対値が最大のデータを含むデータブロックのものを共通ブロックスケールファクタとして選択し、
    前記各データブロックの同一順位のデータグループについて、前記各データブロックごとに、その該当データグループのグループスケールファクタと前記共通ブロックスケールファクタとの差分からなるスケールファクタを前記各計算ユニットのスケーリング手段に与え、その該当データグループの各データを前記記憶手段から読み出し、読み出したデータをそれぞれ前記スケーリング手段を介して前記各計算ユニットの演算手段に入力し、すべての該当データグループについて前記演算手段への入力が完了するのを待って前記演算手段による加算又は減算を行い、
    前記同一順位のデータグループに対して行うこれら一連の処理を、すべてのデータグループに対して行うようになっていることを特徴とするデータ演算処理装置。
  3. 請求項2において、
    前記スケーリング手段は、与えられたスケールファクタに相当するシフト量で、入力したデータに対して下位ビットの方向へビットシフトを行うようになっていることを特徴とするデータ演算処理装置。
  4. 請求項2において、
    前記スケーリング手段は、与えられたスケールファクタに相当するシフト量で、入力したデータに対して上位ビットの方向へビットシフトを行うようになっていることを特徴とするデータ演算処理装置。
  5. コンピュータからなる請求項1記載のデータ演算処理装置に実行させるためのプログラムであって、
    複数のデータブロックを用いた加算又は減算を行うときは、その演算前にスケール補正処理を行うという処理を実行させるためのプログラムであり、
    前記スケール補正処理は、前記複数のデータブロックのブロックスケールファクタのうち絶対値が最大のデータを含むデータブロックのものを共通ブロックスケールファクタとして選択し、
    前記データブロックの各データグループごとに、当該データグループのグループスケールファクタと前記共通ブロックスケールファクタとの差分からなるスケールファクタに基づいて、当該データグループの各データに対してスケーリングを行うようになっていることを特徴とするデータ演算処理プログラム。
  6. コンピュータからなる請求項2記載のデータ演算処理装置における前記制御手段に実行させるためのプログラムであって、
    複数のデータブロックを用いた加算又は減算を行うときは、その演算前にスケール補正処理を行うという処理を実行させるためのプログラムであり、
    前記スケール補正処理は、
    前記各データブロックのブロックスケールファクタを前記記憶手段から読み出し、読み出したブロックスケールファクタのうち絶対値が最大のデータを含むデータブロックのものを共通ブロックスケールファクタとして選択し、
    前記各データブロックの同一順位のデータグループについて、前記各データブロックごとに、その該当データグループのグループスケールファクタと前記共通ブロックスケールファクタとの差分からなるスケールファクタを前記各計算ユニットのスケーリング手段に与え、その該当データグループの各データを前記記憶手段から読み出し、読み出したデータをそれぞれ前記スケーリング手段を介して前記各計算ユニットの演算手段に入力し、すべての該当データグループについて前記演算手段への入力が完了するのを待って前記演算手段による加算又は減算を行い、
    前記同一順位のデータグループに対して行うこれら一連の処理を、すべてのデータグループに対して行うようになっていることを特徴とするデータ演算処理プログラム。
  7. 請求項6において、
    前記スケーリング手段は、与えられたスケールファクタに相当するシフト量で、入力したデータに対して下位ビットの方向へビットシフトを行うようになっていることを特徴とするデータ演算処理プログラム。
  8. 請求項6において、
    前記スケーリング手段は、与えられたスケールファクタに相当するシフト量で、入力したデータに対して上位ビットの方向へビットシフトを行うようになっていることを特徴とするデータ演算処理プログラム。
JP2001246739A 2001-08-15 2001-08-15 データ演算処理装置及びデータ演算処理プログラム Expired - Fee Related JP3773033B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001246739A JP3773033B2 (ja) 2001-08-15 2001-08-15 データ演算処理装置及びデータ演算処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001246739A JP3773033B2 (ja) 2001-08-15 2001-08-15 データ演算処理装置及びデータ演算処理プログラム

Publications (2)

Publication Number Publication Date
JP2003058362A JP2003058362A (ja) 2003-02-28
JP3773033B2 true JP3773033B2 (ja) 2006-05-10

Family

ID=19076220

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001246739A Expired - Fee Related JP3773033B2 (ja) 2001-08-15 2001-08-15 データ演算処理装置及びデータ演算処理プログラム

Country Status (1)

Country Link
JP (1) JP3773033B2 (ja)

Also Published As

Publication number Publication date
JP2003058362A (ja) 2003-02-28

Similar Documents

Publication Publication Date Title
US6138135A (en) Propagating NaNs during high precision calculations using lesser precision hardware
JP5731937B2 (ja) ベクトル浮動小数点引数削減
JP5883462B2 (ja) 範囲検出を行うための命令及びロジック
US20090271591A1 (en) Vector simd processor
JP2009075676A (ja) マイクロプロセッサ
JP3736741B2 (ja) データ演算処理装置
JPH06250823A (ja) ポピュレーション・カウントの計算装置
JPH09212337A (ja) 浮動小数点演算処理装置
US7016930B2 (en) Apparatus and method for performing operations implemented by iterative execution of a recurrence equation
JP3773033B2 (ja) データ演算処理装置及びデータ演算処理プログラム
CN110750300A (zh) 一种基于忆阻器存储器内处理的混合计算装置
JP3736745B2 (ja) データ演算処理装置及びデータ演算処理プログラム
JP2002229970A (ja) Simd積和演算方法、積和演算回路、および、半導体集積回路装置
CN113485751A (zh) 执行伽罗瓦域乘法的方法、运算单元和电子装置
JP3659408B2 (ja) データ演算処理装置及びデータ演算処理プログラム
JP4613992B2 (ja) Simd演算器、simd演算器の演算方法、演算処理装置及びコンパイラ
JP3613466B2 (ja) データ演算処理装置及びデータ演算処理プログラム
JP4502040B2 (ja) Simd演算器、simd演算器の演算方法、演算処理装置及びコンパイラ
JP2020071642A (ja) 演算処理装置及びその制御方法
JP4159565B2 (ja) ベクトル積和演算回路
JP2001216136A (ja) 加算回路およびプロセッサ
JP3793505B2 (ja) 演算器及びそれを用いた電子回路装置
JP3315042B2 (ja) 乗算装置
JP3336986B2 (ja) 信号処理プロセッサ及びそれに用いる丸め機能付き積和演算器
JP5376659B2 (ja) 積和演算装置及び積和演算装置の制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040322

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050222

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: 20060124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060208

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090224

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100224

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100224

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20100224

Year of fee payment: 4

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

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

Free format text: PAYMENT UNTIL: 20100224

Year of fee payment: 4

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

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

Free format text: PAYMENT UNTIL: 20100224

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20100224

Year of fee payment: 4

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: 20110224

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110224

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120224

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120224

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130224

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20140224

Year of fee payment: 8

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