JP3105738B2 - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JP3105738B2
JP3105738B2 JP06151799A JP15179994A JP3105738B2 JP 3105738 B2 JP3105738 B2 JP 3105738B2 JP 06151799 A JP06151799 A JP 06151799A JP 15179994 A JP15179994 A JP 15179994A JP 3105738 B2 JP3105738 B2 JP 3105738B2
Authority
JP
Japan
Prior art keywords
saturation
flag
register
processing
signal
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
JP06151799A
Other languages
English (en)
Other versions
JPH07334346A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP06151799A priority Critical patent/JP3105738B2/ja
Priority to KR1019950015314A priority patent/KR100210891B1/ko
Priority to US08/489,622 priority patent/US5684728A/en
Priority to DE69525682T priority patent/DE69525682T2/de
Priority to EP95109062A priority patent/EP0686910B1/en
Publication of JPH07334346A publication Critical patent/JPH07334346A/ja
Application granted granted Critical
Publication of JP3105738B2 publication Critical patent/JP3105738B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • 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/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30094Condition code generation, e.g. Carry, Zero flag
    • 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/49905Exception handling
    • G06F7/4991Overflow or underflow
    • G06F7/49921Saturation, i.e. clipping the result to a minimum or maximum value

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Document Processing Apparatus (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は情報処理装置に関し、特
にオーバーフロー後の修正処理を行う演算装置を備えた
情報処理装置に関する。
【0002】
【従来の技術】飽和処理は、主に累積加減算を実施する
上で、演算器がオーバーフローまたはアンダーフローを
生じたときに、演算結果として正しい符号である最大値
または最小値を設定するための処理である。
【0003】整数を2の補数による2進数で表すとき、
例えば、最上位ビット(MSB)が符号情報である32
ビットのデータは、FFFFFFFFH(Hはhexadeci
mal[16進数]表示を示す)で表される負の最小値“−
1”から80000000H(16進数)で表される負
の最大値までと、00000000H(16進数)で表
される正の最小値“0”から7FFFFFFFHで表さ
れる正の最大値までの範囲を表現することができる。
【0004】符号情報が“1”であるときは、負の整数
を、“0”であるときは正の整数をそれぞれ示してい
る。
【0005】符号情報が最上位ビットに位置する場合、
演算によっては演算結果である正の整数が正の最大値を
超えてオーバーフローすると、7FFFFFFFHから
キャリーを生じた段階で、符号情報が“0”から“1”
に変化してしまい、このため本来、正の整数として表現
すべき演算結果が、負の整数として表現されてしまうこ
とになる。
【0006】逆に、演算結果である負の整数が負の最大
値を超えてアンダーフローすると、80000000H
からボローが生じた段階で、符号情報が“1”から
“0”へ変化してしまい、本来、負の整数として表現す
べき演算結果が、正の整数として表現されてしまう。
【0007】このように符号情報が反転する演算結果
は、本来の演算結果と比べて符号が逆転するため、制御
等に用いることができない。
【0008】そこで、正あるいは負の最大値を超えたと
きは、演算結果が本来の符号の最大値になるように演算
結果を設定することを“飽和する(サチュレートす
る)”、あるいは“飽和処理(サチュレーション)”と
いう。そして、演算命令のうち飽和処理を行うことので
きる命令を飽和演算命令という。
【0009】従来、飽和処理を行なうための飽和演算機
能を備えた演算装置として、例えば特開昭58−115
544号公報に提案される演算装置、あるいは特開平5
−1987546号公報に提案されるマイクロコンピュ
―タが備える演算装置等が知られている。
【0010】前者は、演算結果がオーバーフローまたは
アンダーフローが生じた場合、オーバーフローフラグを
セットするとともに、正または負の最大値に演算結果を
修正するものである。
【0011】また、後者においては、飽和処理をする飽
和演算命令と、飽和処理をしない通常演算命令を有し、
飽和演算命令を実行したときにオーバーフローまたはア
ンダーフローが生じた場合、キャリー/ボロー/オーバ
ーフロー/アンダーフロー/シフトアウトを反映するC
ビットをセットするとともに正または負の最大値に演算
結果を修正するものである。この場合、通常演算命令を
実行したときには、オーバーフローまたはアンダーフロ
ーを生じた場合、Cビットをセットするだけで、演算結
果はそのままとされる。
【0012】以下にこれらの従来例にもとづき、従来の
情報処理装置の構成、動作について説明する。
【0013】従来、飽和処理をするための専用の飽和演
算命令を備えた典型的な演算装置として図4に示すもの
(「従来例」という)がある。同図において、1は32
ビットの演算器、2は不図示の飽和演算命令、通常演算
命令等の各種命令をデコードした結果に基づき演算指令
35を出力する命令デコーダ、3は演算結果が飽和した
ことを検出するサチュレーション検出回路、4はPSW
9に命令実行の結果を示す信号を設定するフラグ生成回
路、5は演算器1の演算結果にキャリーまたはボローが
あったことを示すCYフラグ、7は演算器1の演算結果
と正の最大値と負の最大値を選択するセレクタ、9は命
令実行の結果及びCPUの状態を記録するPSW、8は
データバス、10から16はプログラム実行に使用する
各データを格納する汎用レジスタである32ビットのA
レジスタ、Bレジスタ、Cレジスタ、Dレジスタ、Eレ
ジスタ、Fレジスタ、Gレジスタ、17は演算器1の一
の入力となるLレジスタ、18は演算器1の他の入力と
なるRレジスタである。
【0014】演算指令35に基づき、演算器1は、Lレ
ジスタ17、Rレジスタ18に対して加算、減算、乗
算、除算等の演算を行う。演算器1は、演算結果をセレ
クタ7へ出力し、さらに、演算結果がオーバーフローま
たはアンダーフローしたかどうかを示す情報OVからな
る状態信号30と、演算結果の符号情報S、キャリー/
ボロー情報C、演算結果が“0”であるかどうかを示す
情報Zからなる状態信号31とを、フラグ生成回路4へ
出力している。
【0015】また、演算器1から出力される、状態信号
30と、状態信号31のうちの符号情報Sとが、サチュ
レーション検出回路3に供給される。
【0016】命令デコーダ2は、演算指令35をサチュ
レーション検出回路3、フラグ生成回路4へ出力してい
る。フラグ生成回路4に出力される演算指令35は、命
令デコーダ2が飽和演算命令をデコードした際にアクテ
ィブとなる信号からなる。
【0017】サチュレーション検出回路3は、飽和処理
をしたことを示す状態信号36をフラグ生成回路4へ出
力し、また、演算結果のセレクト信号32,33,34
をセレクタ7へ出力する。
【0018】セレクタ7は、セレクト信号32,33,
34に基づき、演算器1からの出力、正の最大値、及び
負の最大値の中から入力データを選択し、データバス8
へ出力する。
【0019】フラグ生成回路4は、状態信号30,31
の状態に基づき、フラグの変化が許可された命令実行時
にのみフラグの状態を変化させるフラグ制御信号37を
PSW9へ出力する。
【0020】Aレジスタ10からGレジスタ16はそれ
ぞれデータバス8によってLレジスタ17とRレジスタ
18にデータを出力する。Lレジスタ17とRレジスタ
18はそれぞれ演算器1へデータを出力する。
【0021】次に、図6を参照して、PSW9とフラグ
生成回路4の詳細な構成について説明する。なお図6に
おいて図4と同一の符号は、同一または等価部分を示し
ている。
【0022】また、図6では、図1の演算器1から出力
される状態信号31について、符号情報Sに対応する状
態信号を31−S、キャリー/ボロー情報Cに対応する
状態信号を31−C、及び、演算結果が“0”であるか
否かを示す情報Zに対応する状態信号を31−Zとして
表している。そして、演算指令35のうちフラグ生成回
路4に供給される信号を演算指令35−SATで示し、
またフラグ制御信号37のうちCYフラグ5に供給され
る信号を制御信号37−CYで示している。
【0023】PSW9内の各フラグは各命令の終了タイ
ミングでデータを保持するDフリップ・フロップで構成
されている。
【0024】フラグ制御信号37はそれぞれのフラグに
対応するDフリップ・フロップのデータ入力端子Dに入
力されている。制御信号37−CYとCYフラグ5を構
成するDフリップ・フロップについて説明すると、フラ
グ生成回路4から出力される信号37−CYはCYフラ
グ5を構成するDフリップ・フロップのデータ入力端子
Dに入力されている。
【0025】フラグ生成回路4は、飽和処理をしたこと
を示す状態信号36と演算指令35−SATとの論理積
をとる2入力AND回路41、AND回路41の出力と
状態信号30との論理積をとる2入力AND回路42、
演算指令35−SATの否定をとるインバータ45と、
インバータ45の出力と信号31−Cとの論理積をとる
2入力AND回路44と、AND回路44とAND回路
42との論理和をとる2入力OR回路43と、を有す
る。
【0026】状態信号36は、AND回路41の一の入
力端子に入力される。演算指令35−SATは、AND
回路41の他の入力端子と、インバータ45の入力端子
に入力される。信号31−Cとインバータ45の出力
は、AND回路44の入力端子に入力される。AND回
路41の出力は、AND回路42の一の入力端子に入力
される。状態信号30は、PSW9のVフラグのDフリ
ップ・フロップのデータ入力端子とAND回路42の他
の入力端子に入力される。信号31−Sと信号31−Z
は、それぞれPSW9のSフラグとZフラグのDフリッ
プ・フロップのデータ入力端子に入力される。OR回路
43の出力は、信号37−CYとしてPSW9のDフリ
ップ・フロップのデータ入力端子Dに入力される。
【0027】図4を参照して、飽和演算命令実行時の動
作について以下に説明する。
【0028】まず、飽和演算命令実行時において飽和処
理が行なわれた場合の動作を説明する。命令デコーダ2
の演算指令35により、Aレジスタ10からGレジスタ
16のうち選択された汎用レジスタのデータがLレジス
タ17とRレジスタ18に設定される。サチュレーショ
ン検出回路3は、演算器1から状態信号30,31を入
力し、情報OVと符号情報Sの論理値の組み合わせに応
じ、オーバーフロー又はアンダーフローに対応して、セ
レクタ7に対して正又は負の最大値をデータバス8へ選
択出力するように指示する。
【0029】より詳細には、符号情報Sが“0”、情報
OVが“1”であるオーバーフローが発生した場合、サ
チュレーション検出回路3は、セレクタ7が7FFFF
FFFH(16進数)をデータバスに選択出力するよう
信号34をアクティブとすると共に、飽和処理をしたこ
とを示す状態信号36をアクティブとする。フラグ生成
回路4は状態信号36を入力し、飽和処理があったこと
を示すためにフラグ制御信号37を出力してPSW9の
CYフラグ5を“1”にセットする。
【0030】同様に、符号情報Sが“1”、情報OVが
“1”であるアンダーフローが発生した場合、サチュレ
ーション回路3は、セレクタ7が80000000H
(16進数)をデータバスに出力するよう信号33をア
クティブとすると共に、飽和処理をしたことを示す状態
信号36をアクティブとする。フラグ生成回路4は状態
信号36を入力し、フラグ制御信号37を出力してPS
W9のCYフラグ5を“1”にセットする。
【0031】さらに図6を参照して、飽和演算命令実行
時において飽和処理をしたときのPSW9とフラグ生成
回路4の詳細な動作について説明する。
【0032】飽和演算実行のとき、命令デコーダ2から
出力される演算指令35−SATは、飽和演算命令であ
ることを示すためにアクティブとされる。状態信号36
と信号35−SATとがアクティブでともに“1”にな
っているため、AND回路41の出力は“1”となる。
また、インバータ45の出力は“0”であるため、信号
31−Cの論理レベルにかかわらずAND回路44の出
力は“0”である。情報OVからなる状態信号30が
“1”であるため、AND回路42の出力は“1”とな
る。したがって、OR回路43の出力37−CYは
“1”となり、CYフラグ5を“1”にセットする。
【0033】次に、図4を参照して、飽和演算命令実行
時において、オーバーフローもアンダーフローも生じな
い場合、即ち、情報OVが“0”である場合の動作を説
明する。この場合、飽和処理は行なわれず、演算器1の
演算結果がセレクタ7を介してデータバス8に出力され
る。
【0034】すなわち、図4のサチュレーション回路3
は、セレクタ7が演算器1の演算結果を出力するよう信
号32をアクティブとする。飽和処理が行なわれないた
め、状態信号36はインアクティブとされ、フラグ生成
回路4は、飽和処理がなかったことを示すために、フラ
グ制御信号37を出力して、PSW9のCYフラグ5を
“0”にクリアする。
【0035】図6を参照して、飽和演算命令実行時にお
いて飽和処理をしないときのPSW9とフラグ生成回路
4の詳細な動作について説明する。
【0036】飽和演算実行のとき、命令デコーダ2から
出力される演算指令35−SATは飽和演算命令である
ことを示すためアクティブとされ“1”である。飽和処
理が行なわれないために状態信号36はインアクティブ
とされ“0”である。このため、信号35−SATがア
クティブの状態で、AND回路41の出力は“0”であ
る。演算指令35−SATを反転出力するインバータ4
5の出力は“0”となり、信号31−Cの論理レベルに
かかわらずAND回路44の出力は“0”である。ま
た、AND回路41の出力が“0”であるため、状態信
号30の論理レベルにかかわらずAND回路42の出力
は“0”となる。したがって、OR回路43の出力37
−CYは“0”となり、CYフラグ5を“0”にする。
【0037】表1にサチュレーション選択回路3の選択
条件とCYフラグ5の状態をまとめて示す。表1からわ
かるように、キャリーやボローの発生により、CYフラ
グ5を“1”にセットするのではなく、飽和処理をした
ことでCYフラグ5に“1”をセットする。
【0038】
【表1】
【0039】次に、図4を参照して、飽和処理をしない
通常の演算命令実行時の動作について説明する。飽和処
理をしない通常の演算命令では、サチュレーション検出
回路3は常に、セレクタ7が演算器1の演算結果を出力
するよう信号32をアクティブとする。飽和処理をしな
いため、状態信号36は常にインアクティブであり、フ
ラグ生成回路4は、演算結果にキャリーまたはボローが
生じると、フラグ制御信号37を出力してPSW9のC
Yフラグ5を“1”にセットし、キャリーもボローもな
いときは、CYフラグ5を“0”にクリアする。
【0040】同様に、図6を参照して、飽和処理をしな
い通常の演算命令実行時におけるPSW9とフラグ生成
回路4の詳細な動作について説明する。
【0041】飽和演算命令を実行しないため、状態信号
36と信号35−SATはともにインアクティブとされ
“0”になっており、AND回路41の出力は“0”で
ある。インバータ45の出力は“1”となり、信号31
−Cの論理レベルがそのまま、AND回路44の出力レ
ベルとなる。AND回路41の出力は“0”であるた
め、状態信号30の論理レベルにかかわらず、AND回
路42の出力は“0”となる。したがって、OR回路4
3の出力37−CYは信号31−Cの論理レベルと等し
くなり、演算器1の演算結果におけるキャリー/ボロー
の有無に応じて、PSW9のCYフラグ5を“1”にセ
ット、又は“0”にクリアする。
【0042】
【発明が解決しようとする課題】従来の飽和処理を行な
う演算装置は、典型的には上記のように構成されるた
め、飽和処理が行われると、CYフラグ5が“1”にセ
ットされ、飽和処理が行われた直後は、CYフラグ5を
調べることでソフトウェアは飽和処理があったことを知
ることができる。
【0043】しかし、飽和処理直後にCYフラグ5を調
べなければ、その後の演算によってCYフラグ5が
“0”にクリアされることがある。これは、前記従来例
においては、飽和処理を示すフラグとして、通常の演算
命令を実行したときに演算器1の演算結果を次々と反映
するCYフラグ5を流用したものであるため、飽和処理
をしたことをCYフラグ5に記憶しても、飽和演算処理
後に実行される通常の演算命令によっては記憶が消され
てしまうからである。
【0044】この点を、例えば、モータの回転数を設定
するシステムにおける予測フィルタに用いられる累積加
算を例として、以下に具体的に説明する。
【0045】このシステムでは、モータ回転数を目標の
回転数に上げるとき、将来の回転数を予測しながら回転
数を設定するもので、例えば次式(1)に示すような累
積加算により、将来の回転数を予測する。
【0046】 Vn+1=α*Vn+β*Vn-1+γ*Vn-2 …(1)
【0047】上式(1)において、Vnを現在の回転
数、Vn-1を1期間前の回転数、Vn-2を2期間前の回転
数とする。次の期間の回転数Vn+1を予測するには、過
去の回転数と定数α,β,γをそれぞれ乗じて、その和
をとる。
【0048】定数α,β,γは、各項において実パラメ
ータに基づく演算結果について32ビットの演算器1の
整数演算範囲を−223〜(+223)を超えたか否かによ
り判定できるように設定しておく。
【0049】算出したVn+1と、目標とする回転数との
差が“0”であれば、回転数の設定を終了する。算出し
たVn+1と目標とする回転数とに差があれば、差に応じ
て、例えば、モータの回転数制御の駆動パルスタイミン
グを変更する。そして、繰り返し目標とする回転数との
差を取って、回転数の設定を行う処理を、目標とする回
転数との差が“0”になるまで継続する。
【0050】このように累積加算により回転数を算出す
る際に、累積加算を途中の各項での加算結果が頻繁に飽
和する場合には、モータ自身の経年変化等が考えられる
ため、各項における定数α,β,γの補正が行われる。
【0051】この場合、従来の演算装置では、飽和処理
を行なったときはCYフラグを“1”にセットし、飽和
処理しないときはCYフラグを“0”にクリアするた
め、飽和処理した直後に直ちにCYフラグの状態を記憶
しないと、次の演算でCYフラグが“0”にクリアされ
る恐れがあり、このため、演算途中での飽和の発生を検
出できないことがある。
【0052】図5に従来の演算装置における飽和処理の
流れ図を示す。図5を参照して、飽和処理の動作を以下
に説明する。
【0053】なお、定数α,β,γは、図4に示す演算
装置において、それぞれAレジスタ10、Bレジスタ1
1、Cレジスタ12に予め格納され、回転数Vn
n-1,Vn-2は、それぞれDレジスタ13、Eレジスタ
14、Fレジスタ15に予め格納されているものとす
る。Gレジスタ16は飽和処理をしたことを記憶するた
めに用いている。
【0054】まず、初期化するためにGレジスタ16を
“0”に設定する(ステップ200)。そして、α*Vn
算出を行い(ステップ201)、β*Vn-1の算出を行う
(ステップ202)。
【0055】飽和演算命令によりステップ201、202で得
た項の和α*Vn+β*Vn-1をとる(ステップ203)。
【0056】次に、ステップ203の演算の結果について
飽和処理をしたかどうかを示すCYフラグ5の判定を行
う(ステップ204)。
【0057】CYフラグ5が“1”であった場合、Gレ
ジスタを“1”に設定して飽和処理のあったことを記憶
する(ステップ205)。
【0058】γ*Vn-2の算出を行い(ステップ206)、
飽和演算命令によりステップ203、206で得た項の和α*
n+β*Vn-1+γ*Vn-2をとる(ステップ207)。
【0059】ステップ207の演算の結果について飽和処
理をしたかどうかを示すCYフラグ5の判定を行う(ス
テップ208)。
【0060】CYフラグ5が“1”であった場合、Gレ
ジスタを“1”に設定して飽和処理のあったことを記憶
する(ステップ209)。
【0061】ここで、図5の流れ図に示す処理を、図4
に示す演算装置の汎用レジスタを用いた実際の動作に基
づき、ステップ203で飽和処理が行なわれ、ステップ205
で飽和処理をしなかった場合の動作について説明する。
なお、図5には、処理ステップに対応してCYフラグ5
の状態とGレジスタ16の状態がそれぞれ示されてい
る。
【0062】ステップ200でGレジスタ16を“0”に
設定し、ステップ201でAレジスタ10とDレジスタ1
3との積をDレジスタ13に格納する。ステップ202で
Bレジスタ11とEレジスタ14との積をEレジスタに
格納する。
【0063】ステップ203でDレジスタ11とEレジス
タ14との和をとって、飽和処理をする。このとき、C
Yフラグ5が“1”にセットされる。
【0064】ステップ204でCYフラグ5の判定を行
い、CYフラグ5は“1”であるため、ステップ205で
Gレジスタ16を“1”に設定する。
【0065】次に、ステップ206でCレジスタ12とF
レジスタ15との積をFレジスタ15に格納し、ステッ
プ207でEレジスタ14とFレジスタ15との和をと
り、飽和処理は行わずにFレジスタ15に格納する。こ
のとき、CYフラグ5は“0”にリセットされる。
【0066】ステップ208でCYフラグ5の判定を行っ
て、CYフラグ5を“0”と判定した後、処理フローを
終了する。
【0067】この例では、ステップ203で飽和したた
め、CYフラグ5は“1”にセットされるが、ステップ
207では飽和しなかったため、CYフラグ5は“0”と
なり、この時点で、CYフラグ5による飽和処理情報は
無効となる。
【0068】一方、ステップ205でステップ203の演算結
果が飽和したことをGレジスタ16に記憶したため、以
後の飽和処理の有無にかかわらず飽和処理をしたことの
情報が記憶保持される。
【0069】以上のように、上記の従来の演算装置で
は、演算器1の正の演算結果がオーバーフローして7F
FFFFFFH(16進数)を超えた場合は、飽和処理
をしてからCYフラグ5を“1”にセットするが、一
方、演算結果そのものが7FFFFFFFH(16進
数)またはそれ以下の値であると、CYフラグ5は
“0”にリセットされる。
【0070】このため、予測した回転数の演算結果が飽
和処理したかどうかを、CYフラグ5のチェックにより
判定するには、例えば図5のステップ204、208に示すよ
うに、各飽和演算の直後でその都度、飽和処理をしたか
どうかの判定処理と、さらにステップ205、209のように
飽和処理をしたことを記憶する処理が必要とされる。
【0071】図5に示すように、高速に回転するモータ
の回転数の設定において、限界値制御に用いられる、全
体で10ステップから成る処理のうち、4ステップの処
理が飽和処理の判定と記憶に費やされるオーバーヘッド
となり、回転数制御の高精度化及び高速化に悪影響がで
るという問題がある。また、飽和処理をしたかどうかを
記憶するために、演算装置の汎用レジスタ等を使用する
ことが必要とされる。
【0072】従って、本発明は、前記問題点を解消し、
飽和演算命令直後に飽和処理をしたかどうかの判定と飽
和処理の記憶に要する処理のオーバーヘッドを不要とし
た演算装置を提供することを目的とする。
【0073】
【課題を解決するための手段】前記目的を達成するた
め、本発明の情報処理装置は、演算手段と、該演算手段
による演算結果の状態を示す1または複数のフラグから
成る記憶手段と、を有する情報処理装置において、該記
憶手段が、少なくとも飽和処理の有無を記憶保持するフ
ラグを含み、該飽和処理の有無を記憶保持するフラグ
は、一旦飽和処理有にセットされた後は、該フラグをリ
セットするための所定の命令の実行によってリセットさ
れるまで、セット状態とされることを特徴とするもの
である。
【0074】本発明の情報処理装置においては、前記飽
和処理の有無を記憶保持するフラグが、飽和処理の実行
によりセットされた後、前記所定の命令の実行によりリ
セットされるまでの間はセット状態に保持され、その
間に行われた演算結果によってはクリアされることがな
い、ことを特徴とする。
【0075】また、本発明の情報処理装置においては、
飽和演算命令の実行を示す情報と、演算手段から出力さ
れる、オーバーフローの有無を示す信号及び符号を示す
信号とに基づき飽和処理を検出する検出手段を備え、検
出手段が飽和処理を検出した際に、前記飽和処理の有無
を記憶保持するフラグをセットすることを特徴とする。
【0076】さらに、本発明の情報処理装置において
は、飽和処理の有無を記憶保持するフラグが好ましくは
RSフリップフロップで構成され、RSフリップフロッ
プのリセット入力が、所定の命令の実行によりアクティ
ブとされることを特徴とする。
【0077】
【作用】本発明は、好適な態様において、データ転送、
算術演算命令等の命令処理を行う命令実行部と、演算器
と、演算器が発生する演算結果の符号情報とオーバーフ
ローまたはアンダーフローの情報を入力し、符号情報が
正でかつオーバーフローしたときは正の最大値、符号情
報が負でかつアンダーフローしたときは負の最大値を演
算器の演算結果として選択する飽和検出手段を備え、飽
和検出手段において、符号情報が正でかつオーバーフロ
ーしたか、または符号情報が負でかつアンダーフローし
た状態を検出したときに、飽和処理の有無を記憶するフ
ラグがセットされ、該フラグは一旦セットされた後は、
好ましくは命令実行部におけるデータ転送命令の実行に
よってのみリセットされる。このため、本発明によれ
ば、飽和演算命令直後に飽和処理をしたかどうかの判定
と飽和処理の記憶に要する処理のオーバーヘッドを不要
とし、情報処理装置の高速演算処理、高性能化を達成
し、さらに飽和処理の記憶のために演算装置の汎用レジ
スタ等を割当てることを不要としている。
【0078】
【実施例】図面を参照して、本発明の実施例を以下に説
明する。
【0079】図1は本発明の一実施例に係る演算装置の
構成を示した図である。図1において、図4の従来例と
同一または等価な要素は同一符号で示している。以下で
は、本実施例について、図4に示した従来例との相違点
のみを説明し、従来例と同一のものについては、その構
成及び動作についての説明を省略する。
【0080】図1において、飽和演算命令により飽和処
理をすると、フラグ生成回路4は、従来例のCYフラグ
5の代わりに、SATフラグ6を“1”にセットする。
【0081】また、SATフラグ6はデータバス8のう
ちの1ビットであるデータ線40に接続されており、情
報処理装置の不図示の命令実行部の制御により、SAT
フラグ6に“0”を転送する命令によって“0”にクリ
アされる。
【0082】図3を参照して、本実施例におけるPSW
9とフラグ生成回路4の詳細な構成を説明する。図3に
おいて、図6と同一または等価部分の要素は同一符号で
示している。なお、図6の従来例と同一の信号について
の説明は省略する。
【0083】図3に示すように、本実施例におけるPS
W9は、サチュレーションの有無を記憶保持するSAT
フラグ6を新たに設け、これをRSフリップ・フロップ
で構成したものである。SATフラグ6を構成するRS
フリップ・フロップのセット端子Sには、フラグ生成回
路4から出力される信号37−SATが入力され、信号
37−SATが“1”のときRSフリップ・フロップを
“1”にセットする。
【0084】データ線40は、SATフラグ6のクリア
信号40として、RSフリップ・フロップのリセット端
子Rに入力されている。SATフラグ6のクリア信号4
0が“1”のときRSフリップ・フロップは“0”にリ
セットされる。
【0085】また、図3に示すように、フラグ生成回路
4では、図6の従来例の回路構成のうちAND回路4
1,41のみを有する。AND回路42の出力は、制御
信号37−SATとしてSATフラグ6に入力される。
状態信号31−CはそのままPSW9のCYフラグ5に
入力される。
【0086】図3を参照して、飽和演算命令実行時の動
作について説明する。
【0087】まず、飽和演算命令実行時において、飽和
処理をしたときのPSW9とフラグ生成回路4の詳細な
動作について説明する。飽和演算実行のとき、演算指令
35−SATは飽和演算命令であることを示すためにア
クティブとされる。飽和処理をしたことを示す状態信号
36と信号35−SATがともにアクティブで“1”で
あるため、AND回路41の出力は“1”となり、また
情報OVからなる状態信号30が“1”であるため、制
御信号37−SATは“1”となり、SATフラグ6が
“1”にセットされる。
【0088】次に、飽和演算命令実行時において、飽和
処理をしないときのPSW9とフラグ生成回路4の詳細
な動作について説明する。飽和演算命令実行のとき、演
算指令35−SATはアクティブとされ“1”である
が、飽和処理をしないため状態信号36はインアクティ
ブとされ“0”であるため、AND回路41の出力は
“0”となる。AND回路42の一の入力端子が“0”
であるため、情報OVからなる状態信号30の論理レベ
ルにかかわらず、AND回路42の出力である信号37
−SATは“0”となる。したがって、SATフラグ6
は以前の情報を保ち続ける。
【0089】表2にサチュレーション選択回路3の選択
条件とSATフラグ6の状態をまとめて示す。
【0090】
【表2】
【0091】図1に示す本実施例に係る情報処理装置に
おいて、飽和処理をしない通常の演算命令実行時の動作
は、前記従来例と実質的に同じである。
【0092】図3を参照して、飽和処理をしない通常の
演算命令実行時におけるPSW9とフラグ生成回路4の
詳細な動作について説明する。飽和演算命令を実行して
いないために、飽和処理をしたことを示す状態信号36
と信号35−SATはいずれもインアクティブとされ、
ともに“0”であり、AND回路41の出力は“0”と
なる。AND回路41の出力が“0”であるため、状態
信号30の論理レベルにかかわらず、制御信号37−S
ATは“0”となる。したがって、SATフラグ6は以
前の情報を保ち続ける。
【0093】本実施例を前記従来例と同様に、予測フィ
ルタに用いられる累積加算の場合について説明する。
【0094】図2に、本実施例の演算装置における飽和
処理の流れ図を示す。図2を参照して、前記従来例と同
様に、累積加算結果を得るまでの過程を説明する。
【0095】なお、定数α,β,γは、それぞれ図1の
レジスタ10、Bレジスタ11、Cレジスタ12に予め
格納され、回転数Vn,Vn-1,Vn-2はそれぞれDレジ
スタ13、Eレジスタ14、Fレジスタ15に予め格納
されているものとする。本実施例ではGレジスタ16は
用いられない。
【0096】まず、初期化のためにSATフラグ6を
“0”に設定する(ステップ100)。α*Vnの算出を行
い(ステップ101)、β*Vn-1の算出を行う(ステップ
102)。
【0097】飽和演算命令によりステップ101と102で得
た項の和α*Vn+β*Vn-1をとる(ステップ103)。
γ*Vn-2の算出を行う(ステップ104)。飽和演算命令
によりステップ103と104で得た項の和α*Vn+β*V
n-1+γ*Vn-2をとる(ステップ105)。
【0098】ここで、図2の流れ図に示す処理を、図1
に示す演算装置の汎用レジスタを用いた実際の動作に基
づき、ステップ103で飽和処理が行なわれ、ステップ105
で飽和処理をしなかった場合の動作について説明する。
図2には、SATフラグ6の状態が処理ステップに対応
して示されている。
【0099】ステップ100でSATフラグ6を“0”に
設定する。ステップ101でAレジスタ10とDレジスタ
13との積をDレジスタ13に格納する。ステップ102
でBレジスタ11とEレジスタ14との積をEレジスタ
に格納する。
【0100】ステップ103でDレジスタ13とEレジス
タ14との和をとって、飽和処理をする。このとき、S
ATフラグ6が“1”にセットされる。
【0101】ステップ104でCレジスタ12とFレジス
タ15との積をFレジスタ15に格納する。ステップ10
5でEレジスタ14とFレジスタ15との和をとり、飽
和処理は行わずにFレジスタ15に格納する。このと
き、SATフラグ6は“1”にセットされたまま変化せ
ず、処理フローを終了する。
【0102】図2に示すように、ステップ103において
飽和処理したことが記憶されて、SATフラグ6は
“1”となり、以後、飽和処理が行なわれない場合で
も、SATフラグ6はクリアされず、飽和処理をした情
報が記憶保持される。
【0103】このように、本実施例においては、図5の
従来例と全く同様な、高速に回転するモータの回転数の
設定処理において、限界値制御に用いられるステップか
ら、飽和処理の判定と記憶のための処理ステップを完全
に削除し、全体のステップ数は従来例の10ステップか
ら6ステップにまで縮減され、オーバーヘッドを解消し
回転数制御の高精度化及び高速化を達成している。
【0104】本実施例においては、飽和処理の有無を記
憶保持するSATフラグ6は、一旦セットされた場合、
所定の命令が実行されてリセットされるまで、演算結果
によってクリアされることがないため、飽和処理をした
かどうかの判定を、全ての累積加算の最後に一度行なえ
ばよい。
【0105】また、本実施例においては、飽和したかど
うかを記憶するために、演算装置の汎用レジスタ等を用
いる必要がない。すなわち、従来例では、Gレジスタ1
6は飽和処理の記憶用に割当てられたが、本実施例で
は、Gレジスタ16は他のデータ格納等に用いることが
可能とされ、情報処理装置のハードウェア資源の効率的
利用を可能とする。
【0106】以上、本発明を上記実施例に即して説明し
たが、本発明は、上記態様にのみ限定されるものでな
く、本発明の原理に準ずる各種実施態様を含む。例え
ば、上記実施例では、モータの回転数制御における累積
加算演算を例に説明したが、これはあくまで具体例に基
づき発明の理解を助けるためのものであり、本発明はそ
の原理に従い他の応用においてもオーバーヘッドを同様
に解消することは勿論である。
【0107】
【発明の効果】以上説明したように、本発明の情報処理
装置によれば、簡易な回路構成の追加により、飽和演算
命令実行の直後にその都度必要とされた飽和処理の判定
と記憶のための処理ステップを完全に不要とし、情報処
理装置の高速化、高精度化を達成する。
【0108】本発明によれば、例えば累積加算の演算に
おいて、演算結果が飽和処理されたかどうかを判定する
際に、各飽和演算後にその都度飽和処理をしたかどうか
の判定をしなくても済む。すなわち、本発明によれば、
飽和処理の有無を記憶保持するフラグは、一旦セットさ
れた場合、所定の命令が実行されてリセットされるま
で、演算結果によってクリアされることがないため、飽
和処理をしたかどうかの判定を、すべての累積加算の最
後に一度行なえばよい。
【0109】また、本発明によれば、飽和処理の判定と
記憶のために、従来必要とされたオーバーヘッドを完全
に解消している。一例として、モータの回転数の制御に
おいて、従来例では、図5の流れ図の各ステップの処理
に同一時間を要するものと仮定すると、全体で10ステ
ップから成る処理ステップのうち4ステップが飽和処理
の判定と記録に費やされ、全処理時間のうち40%がオ
ーバーヘッド時間となってしまうのに対して、本発明に
よれば、簡単なフラグ機能の追加のみで、従来例で必要
とされた、判定と記録による40%のオーバーヘッド時
間を不要とし、高精度かつ高速な制御を容易に実現する
ため、実用的な効果は極めて高い。
【0110】また、本発明によれば、飽和処理をしたか
どうかを記憶するために汎用レジスタを割当てる必要が
なく、経済性に優れ、情報処理装置のハードウェア資源
の効率的利用を可能とする。
【図面の簡単な説明】
【図1】本発明の一実施例の構成を示すブロック図であ
る。
【図2】本発明の処理動作の一例を示す流れ図である。
【図3】本発明の一実施例におけるPSW9とフラグ生
成回路4の回路構成図の一例である。
【図4】従来例の構成を示すブロック図である。
【図5】従来例の処理動作の一例を示す流れ図である。
【図6】従来例のPSW9とフラグ生成回路4の回路構
成図である。
【符号の説明】
1 演算器 2 命令デコーダ 3 サチュレーション検出回路 4 フラグ生成回路 5 CYフラグ 6 SATフラグ 7 セレクタ 8 データバス 9 PSW 10 Aレジスタ 11 Bレジスタ 12 Cレジスタ 13 Dレジスタ 14 Eレジスタ 15 Fレジスタ 16 Gレジスタ 30 状態信号 31 状態信号 31−S,31−C,31−Z 状態信号 32 セレクト信号 33 セレクト信号 34 セレクト信号 35 演算指令 36 状態信号 37 フラグ制御信号 37−CY 制御信号 37−SAT 制御信号 40 SATフラグクリア信号 41,42,44 2入力AND回路 43 2入力OR回路 45 インバータ
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭63−88636(JP,A) 特開 昭63−229519(JP,A) 特開 平4−286023(JP,A) 特開 平2−226337(JP,A)

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 演算手段と、前記演算手段による演算結
    果に応じて飽和処理を行う飽和処理手段と、前記飽和処
    理手段による飽和処理を行う時にのみセットされ、初期
    化時にのみリセットされる前記飽和処理の有無を示す飽
    和フラグを、プログラムステータスワードの1つとして
    記憶するRSフリップフロップで構成される記憶手段と
    を有し、前記セットされて一旦飽和処理有りにされた後
    は前記リセットされるまで前記記憶手段の記憶内容が変
    化しないことを特徴とする情報処理装置。
  2. 【請求項2】 飽和演算命令の実行を示す情報と前記演
    算手段から出力されるオーバーフローの有無を示す信号
    及び符号を示す信号とに基づき、飽和処理を検出する検
    出手段を備え、前記検出手段が飽和処理を検出した時に
    のみ前記飽和処理の有無を記憶する記憶手段をセットす
    ることを特徴とする請求項1記載の情報処理装置。
JP06151799A 1994-06-10 1994-06-10 情報処理装置 Expired - Fee Related JP3105738B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP06151799A JP3105738B2 (ja) 1994-06-10 1994-06-10 情報処理装置
KR1019950015314A KR100210891B1 (ko) 1994-06-10 1995-06-10 정보 처리 장치
US08/489,622 US5684728A (en) 1994-06-10 1995-06-12 Data processing system having a saturation arithmetic operation function
DE69525682T DE69525682T2 (de) 1994-06-10 1995-06-12 Datenprozessorsystem mit Saturation-arithmetischer Operationsfunktion
EP95109062A EP0686910B1 (en) 1994-06-10 1995-06-12 Data processing system having a saturation arithmetic operation function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP06151799A JP3105738B2 (ja) 1994-06-10 1994-06-10 情報処理装置

Publications (2)

Publication Number Publication Date
JPH07334346A JPH07334346A (ja) 1995-12-22
JP3105738B2 true JP3105738B2 (ja) 2000-11-06

Family

ID=15526559

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06151799A Expired - Fee Related JP3105738B2 (ja) 1994-06-10 1994-06-10 情報処理装置

Country Status (5)

Country Link
US (1) US5684728A (ja)
EP (1) EP0686910B1 (ja)
JP (1) JP3105738B2 (ja)
KR (1) KR100210891B1 (ja)
DE (1) DE69525682T2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2300054A (en) * 1995-01-17 1996-10-23 Hewlett Packard Co Clipping integers
JP3701401B2 (ja) * 1996-08-12 2005-09-28 株式会社ルネサステクノロジ 飽和演算命令を有するマイクロプロセッサ
JPH1063500A (ja) * 1996-08-23 1998-03-06 Matsushita Electric Ind Co Ltd 信号処理装置
JP3790619B2 (ja) 1996-11-29 2006-06-28 松下電器産業株式会社 正値化処理及び飽和演算処理からなる丸め処理を好適に行うことができるプロセッサ
US6282558B1 (en) 1997-12-19 2001-08-28 Matsushita Electric Industrial Co., Ltd. Data processing system and register file
US6366999B1 (en) * 1998-01-28 2002-04-02 Bops, Inc. Methods and apparatus to support conditional execution in a VLIW-based array processor with subword execution
US6243731B1 (en) * 1998-03-20 2001-06-05 Texas Instruments Incorporated Apparatus and method for extending register dynamic range
US6226735B1 (en) * 1998-05-08 2001-05-01 Broadcom Method and apparatus for configuring arbitrary sized data paths comprising multiple context processing elements
US6748411B1 (en) 2000-11-20 2004-06-08 Agere Systems Inc. Hierarchical carry-select multiple-input split adder
EP1387259B1 (en) 2002-07-31 2017-09-20 Texas Instruments Incorporated Inter-processor control
US7215801B2 (en) * 2003-06-05 2007-05-08 General Electric Company Method, system and apparatus for processing radiographic images of scanned objects
US7295689B2 (en) * 2003-07-09 2007-11-13 General Electric Company System and method for real-time processing and display of digital medical images
EP1503280A1 (en) * 2003-07-30 2005-02-02 Texas Instruments Incorporated Saturated arithmetic in a processing unit
US8209366B2 (en) * 2005-02-28 2012-06-26 Hitachi Global Storage Technologies Netherlands B.V. Method, apparatus and program storage device that provides a shift process with saturation for digital signal processor operations
US9417880B2 (en) * 2013-03-15 2016-08-16 Intel Corporation Instruction for performing an overload check
US20190196820A1 (en) * 2017-12-21 2019-06-27 Intel Corporation Apparatus and method for right shifting packed quadwords and extracting packed doublewords
US20190196821A1 (en) * 2017-12-21 2019-06-27 Intel Corporation Apparatus and method for right-shifting packed quadwords and extracting packed words

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58115544A (ja) * 1981-12-29 1983-07-09 Mitsubishi Electric Corp 演算装置
US4589087A (en) * 1983-06-30 1986-05-13 International Business Machines Corporation Condition register architecture for a primitive instruction set machine
JPS6388636A (ja) * 1986-10-01 1988-04-19 Nec Corp マイクロコンピユ−タ
JPS63229519A (ja) * 1987-03-19 1988-09-26 Fujitsu Ltd フラグビツト設定回路
JPH0769783B2 (ja) * 1987-11-16 1995-07-31 日本電気株式会社 例外処理方式
JP2600293B2 (ja) * 1988-06-10 1997-04-16 日本電気株式会社 オーバーフロー補正回路
JP3076046B2 (ja) * 1989-01-31 2000-08-14 日本電気株式会社 例外検出回路
JPH02226337A (ja) * 1989-02-27 1990-09-07 Nec Corp 演算回路
US5218564A (en) * 1991-06-07 1993-06-08 National Semiconductor Corporation Layout efficient 32-bit shifter/register with 16-bit interface
JPH05260315A (ja) * 1992-03-13 1993-10-08 Fujitsu Ltd データ復元装置
JP3487903B2 (ja) * 1993-11-12 2004-01-19 松下電器産業株式会社 演算装置及び演算方法
US5448509A (en) * 1993-12-08 1995-09-05 Hewlett-Packard Company Efficient hardware handling of positive and negative overflow resulting from arithmetic operations

Also Published As

Publication number Publication date
KR960001991A (ko) 1996-01-26
DE69525682T2 (de) 2002-08-22
JPH07334346A (ja) 1995-12-22
EP0686910A1 (en) 1995-12-13
US5684728A (en) 1997-11-04
KR100210891B1 (ko) 1999-07-15
DE69525682D1 (de) 2002-04-11
EP0686910B1 (en) 2002-03-06

Similar Documents

Publication Publication Date Title
JP3105738B2 (ja) 情報処理装置
EP0766169B1 (en) Processor and control method for performing proper saturation operation
EP1058185A1 (en) A multiply and accumulate apparatus and a method thereof
US5991868A (en) Apparatus and method for processing data with a plurality of flag groups
JPH0786826B2 (ja) 整数除算回路
US6581086B1 (en) Multiply and accumulate unit (MAC) and method therefor
US5748518A (en) Data processing divider
US6005502A (en) Method for reducing the number of bits needed for the representation of constant values in a data processing device
US6425047B1 (en) Process containing address decoders suited to improvements in clock speed
JPH07219766A (ja) 演算処理装置
US5732252A (en) Program counter system capable of incrementing or decrementing after a conditional jump instruction
JP2812610B2 (ja) パイプライン制御方式
KR100385233B1 (ko) 데이터 프로세싱 시스템의 익스포넌트 유닛
JPH0619700B2 (ja) 演算装置
JP2743685B2 (ja) 固定小数点プロセッサ
JPS6230455B2 (ja)
JPS6017131B2 (ja) メモリ制御回路
JP3186214B2 (ja) 繰り返し演算方法および装置
JP3305967B2 (ja) Dspのポインタ異常検出回路
JP2604667B2 (ja) 予測機能付き演算装置
JP3239042B2 (ja) マイクロコンピュータ
JPS58222348A (ja) 情報処理装置
EP0305530A1 (en) High-speed floating point arithmetic unit
JPS6351294B2 (ja)
JPH0553759A (ja) 固定小数点演算ユニツト

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19980317

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

Free format text: PAYMENT UNTIL: 20080901

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20080901

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090901

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090901

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100901

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100901

Year of fee payment: 10

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

Year of fee payment: 10

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

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20110901

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120901

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20120901

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20130901

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees