JP3868454B2 - シミュレーションモデル - Google Patents

シミュレーションモデル Download PDF

Info

Publication number
JP3868454B2
JP3868454B2 JP2005140016A JP2005140016A JP3868454B2 JP 3868454 B2 JP3868454 B2 JP 3868454B2 JP 2005140016 A JP2005140016 A JP 2005140016A JP 2005140016 A JP2005140016 A JP 2005140016A JP 3868454 B2 JP3868454 B2 JP 3868454B2
Authority
JP
Japan
Prior art keywords
bus
model
processor
stage
data transfer
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
JP2005140016A
Other languages
English (en)
Other versions
JP2006318209A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2005140016A priority Critical patent/JP3868454B2/ja
Publication of JP2006318209A publication Critical patent/JP2006318209A/ja
Application granted granted Critical
Publication of JP3868454B2 publication Critical patent/JP3868454B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Advance Control (AREA)

Description

本発明はハードウェアのシミュレーションを高速に行うためのプロセッサモデルおよびバスモデルの設計技術に関する。
近年のシステムLSIはCPU、メモリ、キャッシュメモリ、バス、ハードウェアエンジンなどからなる複合的な大規模システムになっており、システムLSIの設計とそのソフトウェアの開発期間が長期化する傾向にあり、これらの開発期間短縮への要望が高まっている。
設計効率を上げて開発期間を短縮するためのハードウェア設計手法として、Verilog−HDL、VHDLなどのハードウェア記述言語を用いたRTL(Register Transfer Level)設計手法が普及している。
これらのハードウェア記述言語はクロック、フリップフロップ、レジスタ、演算器などを論理回路レベルで記述することができるため、クロックレベルでハードウェアの詳細な動作を表現するには最適であるが、シミュレーション速度が遅いため、システムの大規模化に伴い、ソフトウェアの開発やソフトウェアと協調したシステム検証に適用するには困難となってきている。
そのため、近年は記述の抽象度を上げた言語としてSystemCやC/C++言語などを用いた動作記述による設計手法が探索されている。一般にC/C++言語を用いた場合はアンタイムド(untimed)モデルのようにクロック概念を持たないビヘイビアモデルとなる。そこで、クロック概念を明示的に定義しているSystemCがタイムド(timed)モデルの記述言語として使用されるようになってきている。
これらの記述言語を活用することにより、RTLに比べて数百から数千倍にシミュレーション実行速度を高めることが可能となり、ソフトウェアの開発にも適用されるものとして注目を集めている。
特にシステムLSIに実装されるプロセッサにおいては、命令セットを命令列として実行する命令セットシミュレータ(ISS)が一般に知られており、抽象度の高い概念により高速にシミュレーションを実行することができる。
しかし、ISSは実行速度は速いがサイクル精度が失われることが問題である。そこでISSでは不可能なサイクル精度のハードウェア検証を可能にし、RTLの実行速度の遅さを解決する手段を提案しているものとして特許文献1がある。その手法は、従来のISSでシミュレートされる命令セットをサイクルレベルに分割することで問題の解決を図るものである。
特開2003−216678号公報
しかしながら、サイクルレベルに分割したISSではシミュレーション実行速度がRTLより速くなるものの、従来のISSよりは速度低下を招くことが問題となる。
また、近年のプロセッサ技術の進化は著しく、依存関係の無い複数命令を1命令にまとめたVLIW(Very Long Instruciton Word)や、複数のデータに対して同一の演算処理を同時に実行するSIMD(Single Instrucion Multiple Data)など複雑なアーキテクチャが採用されている。
さらに、近年は組み込み機器に適用されるプロセッサに要求される動作周波数が高まっているという状況があり、パイプライン段数も組み込み向けでは5段以上、パソコンなどの高性能機器のCPUでは10段以上が普通となっている。
これらの複雑なアーキテクチャの採用やパイプラインの多段化に代表されるプロセッサ構成の複雑化により、サイクルレベルに分解する従来のISSでは実行速度が不十分なものとなっているという問題がある。
また、従来のISSではモデルがサイクルレベルに分解されるため、プロセッサに接続するバスモデルの抽象度を高めることは困難となり、メモリ、バス、周辺ハードウェアも含めたシステム全体のシミュレーションには速度的に満足できるものにならないという問題がある。
本発明は、命令セットをサイクルレベルに分割しながらも従来のISSに劣らない実行速度を実現し、割り込みやバスなどを介した外部モデルとの入出力においても処理速度を低下させずに高精度なシミュレーションを行うことができるシミュレーションモデルを提供することを目的とする。
第1の発明のシミュレーションモデルは、プログラムを3段以上のパイプラインステージにより実行する複数の命令セットを備えたプロセッサのシミュレーションモデルであって、前記プロセッサの動作をフェッチステージ、実行ステージ、メモリおよびライトバックステージの3段のステージに集約し、それぞれのステージに必要に応じてウェイト制御を備え、3段のパイプラインサイクルレベルのシミュレーションを実行するプロセッサモデルを備えたものである。
第2の発明のシミュレーションモデルは、第1の発明のシミュレーションモデルにおいて、前記フェッチステージはプログラムメモリに格納された命令コードを取得し、プログラムメモリとの通信時間に応じてウェイト制御を行うものである。
第3の発明のシミュレーションモデルは、第1の発明のシミュレーションモデルにおいて、前記実行ステージはバス使用許可を得るまでウェイト制御を行った後、前記フェッチステージにて取得した命令コードをデコードして実行し、必要に応じてメモリアドレスを生成するものである。
第4の発明のシミュレーションモデルは、第1の発明のシミュレーションモデルにおいて、前記メモリおよびライトバックステージはバス使用許可を得るまでウェイト制御を行った後、前記実行ステージで実行した結果を前記メモリアドレスに従いデータメモリに保存し、あるいは内部レジスタに保存するものである。
以上のように、本発明のプロセッサモデルでは如何なる多段のパイプライン段数を備えたアーキテクチャであってもフェッチステージ、実行ステージ、メモリおよびライトバックステージの3段のパイプラインに抽象化し、対象となる実プロセッサの消費サイクル分をウェイト制御する調整機能を持たすことを特徴とする。このパイプライン構造を3段に抽象化する理由は、外部モデルとインターフェイスをとるステージと外部モデルの動作に起因しない内部ステージとに分けることにある。
フェッチステージやメモリおよびライトバックステージは外部モデルとの通信形態によって消費サイクル数が異なってくる。これは外部モデルの仕様あるいは保証するサイクル精度に依存する。また、設計段階によっては外部モデルとして用意できるサイクル精度も様々であることが想定されるため、外部と通信するステージを明確化することで、設計状態と用途に応じてインターフェイス部を付け替えることも容易に対応可能となり、プロセッサ内部のサイクル精度も保証することが可能となる。
また、プロセッサモデル内部のステージは実行ステージのみにしており、実プロセッサのパイプラインステージを1つにまとめているため、デコードから複数サイクルに渡る命令実行まで1サイクルで実行する。このとき問題になる実プロセッサとのサイクル精度のずれは各ステージが消費するサイクル分ウェイトする機能により解決を図ることができる。
また、サイクル分解度を従来のサイクルレベルで分解するISSよりも減らしているため高速性はほぼ命令列を実行するシミュレータと同等となる。これは6段、7段化していくパイプラインを備えたプロセッサを対象にした場合においても同等の性能を発揮することができる。
また、プロセッサモデルと外部のバスモデルの間で行われる通信は、LSI全体のシミュレーションを想定した場合にプロセッサと同様に高速化を図る上で重要な要素となる。
そのために、第5の発明のシミュレーションモデルは、第1の発明のシミュレーションモデルにおいて、前記プロセッサモデルが外部と通信するデータを単一もしくは一定量のデータによるトランザクションとして定義し、前記プロセッサモデルはバス使用リクエスト、アドレス、データ転送量、リード/ライト区分を含むバス転送情報を外部のバスモデルへ渡し、前記バスモデルからのバス使用許可が得られるまで待ち状態となり、前記バス使用許可が得られると前記トランザクションを一括して転送するインターフェイスを備えたものである。
第6の発明のシミュレーションモデルは、第5の発明のシミュレーションモデルにおいて、前記バスモデルは、前記バス使用リクエストを受けた後、前記アドレスおよび前記データ転送量を用いてバスアービトレーションおよびデータ転送時間の計算を行い、前記データ転送時間の経過後に前記バス使用許可を前記プロセッサモデルに渡すものである。
第7の発明のシミュレーションモデルは、第5の発明のシミュレーションモデルにおいて、前記バスモデルは前記バス転送情報を優先順位付きテーブルにて管理し、前記バスアービトレーションが前記優先順位付きテーブルを操作することでバスアービター機能を実現するものである。
第8の発明のシミュレーションモデルは、第6の発明のシミュレーションモデルにおいて、前記バスモデルは前記アドレスおよび前記データ転送量を用いて別途に設けた転送時間情報テーブルの値を参照することにより前記データ転送時間の計算を行うものである。
第9の発明のシミュレーションモデルは、第8の発明のシミュレーションモデルにおいて、前記転送時間情報テーブルは外部から設定可能なものである。
以上のように、本発明のシミュレーションモデルでは、トランザクションとしてプロセッサが外部と通信を行う転送形態、データ量を定義する。命令セットの中にはある一定量のデータを転送する命令を備えているものもあり、単一データをやり取りするバスインターフェイスでは外部のバスモデルの高速化が図ることができないからである。
インターフェイスの構造として、プロセッサモデルはバスモデルに対しアドレス、リクエスト、データ転送量を渡す。バスモデルはリクエストを受けた後、アドレス、データ量から必要に応じてアービトレーションを行い、バスの転送に要する時間を計算し、この時間経過後、データ転送を行い、プロセッサモデルへバス使用許可を渡す。
このとき、転送時間の計算はアクセス毎もしくはバスのレイヤ毎に不揮発な値を使用する他に、転送種別、バスレイヤ毎のレイテンシをテーブル化しておき、このテーブルを参照することで計算を行うこともできる。
さらに、このテーブルを外部から設定可変なものとしておくことで、アクセス先のレイテンシを接続先の仕様によってユーザが調整してシミュレーションを行うことが可能となる。
このトランザクション通信の利点として、バスサイクルは外部のバスモデルが保証し、プロセッサモデルとしてはバス使用許可を受け取るまでウェイトする機構にすることで通信自体の簡略化が行えるため、シミュレーションの実行速度が高速となる。
第10の発明のシミュレーションモデルは、第1の発明のシミュレーションモデルにおいて、プログラムコードを記憶領域へ保存すると同時に命令の解釈を行い、プログラムコードの命令毎の実行サイクル数、インターロック発生要因、命令デコード時の関数ポインタを含む命令補助情報を作成し、これを実行ステージで使用するものである。
上記構成によれば、プロセッサモデルが実行ステージで命令補助情報を参照することで、実行ステージのサイクル数、インターロックの発生、さらにはプログラムコード毎に使用する関数(演算モデル)を即座に判断することができ、実行ステージの処理を簡略化できることでシミュレーションの高速化を図ることができる。
本発明によれば、如何なるプロセッサも3段パイプラインのプロセッサモデルに抽象化し、ウェイトする調整機能を持たせることにより、RTLに比べて数百から数千倍の実行速度を実現することができ、割り込みやバスなどを介した外部モデルとの入出力から内部の演算サイクルまでサイクルレベルで高速かつ高精度なシミュレーションモデルを提供することが可能となる。
(実施の形態1)
図1は本発明の実施の形態1に係るシミュレーションモデルを示す図である。図1において、100はプロセッサモデル、101はフェッチステージ、102はデコード&実行ステージ、103はメモリ&ライトバックステージ、104は演算モデルライブラリ、105は内部レジスタ群、106はウェイト制御、107はインターロック制御、108はプログラム格納領域、109はデータ格納領域、110はバスインターフェイス、111はバスモデルである。
本シミュレーションモデルにおけるプロセッサモデルの動作は、フェッチステージ101でプログラムコードが格納されるプログラム格納領域108から命令フェッチし、フェッチした命令をデコード&実行ステージ102でデコードおよび実行し、実行した結果をメモリ&ライトバックステージ103で外部記憶領域あるいは内部レジスタへ格納するという3つのステージに大別される。また、各ステージにはウェイト制御104によりサイクル調整用にウェイトが付加される。
フェッチステージ101とメモリ&ライトバックステージ103ではプロセッサ外部のバスを使用したデータ転送に必要なバスサイクル分のウェイトが挿入される。すなわち、バスインターフェイス110を介して通信しているバスモデル111からバス使用許可を受け取るまでウェイトが挿入される。
また、デコード&実行ステージ102ではデコードサイクルや実行サイクルの調整用にウェイトが挿入される。このステージのウェイトは外部モデルに起因せず、命令セットの仕様およびパイプライン段数により一意的に決定されるものである。
また、デコード&実行ステージ102ではウェイトに加え、インターロック制御107によりインターロックも付加される。インターロックとはパイプラインをロックする制御である。これは先行する命令と次の命令の関係によって発生するためウェイト制御とは別に設ける。
図2および図3は、具体例として5段のパイプラインステージを備えたプロセッサを取り上げ、それぞれ実プロセッサと本発明によるプロセッサモデルのタイミングチャートを示した図である。図2および図3からプロセッサモデルの各ステージの実行タイミングが実プロセッサの実行タイミングと同等となることが分かる。
図5は本実施の形態におけるプロセッサモデルが外部とバス通信する際のトランザクションバスモデルの動作ステート遷移図である。プロセッサモデル側に実装するバスインターフェイス501は、データを外部の記憶領域へ格納もしくは記憶領域から取得するときにバスモデル側にリクエストを通知する。
バスモデル側502はリクエスト受付と同時にキュー登録テーブル507に転送データの情報を登録する。このキュー登録テーブル507の構成例を図6に示す。登録する内容はバス転送情報601に示すバスマスター識別子、転送開始アドレス、転送データのポインタ、転送サイズ、転送形態、リード/ライト区分、転送完了までのバスレイテンシである。さらに他のバス転送に付随する情報を記憶してもよい。
バスレイテンシはバスモデルにて算出するが、これを外部に備えたバスレイテンシ格納テーブル510を参照することで算出してもよい。本テーブルを使うことでさまざまなメモリモデルなどを接続した状態でのシミュレーションが容易に可能となる。
(実施の形態2)
命令セットシミュレータ(ISS)においては命令ライブラリを参照して各命令の実行関数を得る。命令セットをサイクルレベルに分割する特許文献1の手法ではサイクルレベルの情報を命令ライブラリに付加している。本実施の形態においても、実行ステージの消費サイクル数、インターロックの発生要因、命令デコード時の関数ポインタなどの情報が必要であり、これらの情報を演算モデルライブラリに付加する。
これに対して、プログラムコードをプログラム格納領域に保存する時などに、プログラムを実行する際に必要な命令補助情報を作成しテンポラリ記憶領域に格納しておくことで、シミュレーションをさらに高速化することができる。
図4は本発明の実施の形態2に係るシミュレーションモデルの設計手法を示す図であり、図1に示したプロセッサモデルに対して、命令解釈ユニット401および命令補助情報402を付加した構成となっている。
プログラムコードをプログラム格納領域108に格納するときに命令解釈ユニットにて命令補助情報を作成する。この命令補助情報402はプログラムコードの命令毎の実行サイクル数、インターロック発生要因、命令デコード時の関数ポインタなどである。
ここでインターロックとは「先行する命令が書き込んだ結果を次の命令が使用する場合」、「先行する命令が書き込んだ記憶領域を次の命令が書き換える場合」、「先行する命令が読み出す記憶領域を次の命令が書き換える場合」に実行ステージを一時的にロックさせる動作のことを指す。
プロセッサモデルは実行ステージでこの命令補助情報を参照することで、実行ステージのサイクル数、インターロックの発生、さらにはプログラムコード毎に使用する関数(演算モデル)を即座に判断することができ、実行ステージの処理を簡略化できることでシミュレーションの高速化を図ることができる。
本発明のシミュレーションモデルは、如何なるプロセッサも3段パイプラインのプロセッサモデルに抽象化し、ウェイトする調整機能を持たせることにより、RTLに比べて数百から数千倍の実行速度を実現することができ、割り込みやバスなどを介した外部モデルとの入出力から内部の演算サイクルまでサイクルレベルで高速かつ高精度なシミュレーションモデルを提供することが可能となるという効果を有し、ハードウェアのシミュレーションを高速に行うためのプロセッサモデルおよびバスモデルの設計技術等として有用である。
本発明の実施の形態1に係るシミュレーションモデルを示す図。 実プロセッサの具体例によるパイプライン動作のタイミングチャート。 本発明のプロセッサモデルによるパイプライン動作のタイミングチャート。 本発明の実施の形態2に係るシミュレーションモデルを示す図。 本発明のシミュレーションモデルにおけるバスモデルの動作ステート遷移図。 本発明のシミュレーションモデルにおけるバスモデルが備えるキュー登録テーブルの構成例を示す図。
符号の説明
100 プロセッサモデル
101 フェッチステージ
102 デコード&実行ステージ
103 メモリ&ライトバックステージ
104 演算モデルライブラリ
105 内部レジスタ群
106 ウェイト制御機能
107 インターロック制御機能
108 プログラム格納領域
109 データ格納領域
110 バスインターフェイス
111 バスモデル
401 命令解釈ユニット
402 命令補助情報
501 プロセッサモデル側のバスインターフェイスの状態遷移
502 バスモデル側の状態遷移
503 アイドルステート
504 リクエスト発行ステート
505 ウェイトステート
506 リクエスト登録&バスレイテンシ計算ステート
507 キュー登録テーブル
508 キュー処理ステート
509 データ転送ステート
510 バスレイテンシ格納テーブル
601 バス転送情報

Claims (5)

  1. 3段以上のパイプライン処理を実行するプロセッサ及び前記プロセッサ外部のバスをシミュレートするためのシミュレーションプログラムであって、
    コンピュータを、
    フェッチステージと、実行ステージと、メモリおよびライトバックステージとの3段のステージが含まれる前記プロセッサの動作をシミュレートすると共に、各ステージにウェイトを付加するウェイト制御機能を有するプロセッサモデルとして機能させ
    前記プロセッサ外部のバスの動作をシミュレートするバスモデルとして機能させ
    前記コンピュータが前記プロセッサモデルとして機能するとき、
    前記プロセッサモデルは、前記バスを使用したデータ転送に必要なバスサイクル分のウェイトを前記フェッチステージと前記メモリおよびライトバックステージに付加し、命令セットの仕様及びパイプライン段数に応じて決定されるウェイトを前記実行ステージに付加し、
    前記プロセッサモデルは、バス使用リクエスト、アドレス、データ転送量、及びリード/ライト区分を含むバス転送情報を前記バスモデルへ渡し、前記バスモデルからバス使用許可が得られるまで待ち状態となって、前記コンピュータは前記バスモデルとして機能し
    前記プロセッサモデルは、前記バス使用許可が得られると前記バスにデータを転送するインターフェイス機能を備えたシミュレーションプログラム。
  2. 前記コンピュータが前記バスモデルとして機能するとき、
    前記バスモデルは、前記バス使用リクエストを受けた後、前記アドレスおよび前記データ転送量を用いてバスアービトレーションおよびデータ転送時間の計算を行い、前記データ転送時間の経過後に前記バス使用許可を前記プロセッサモデルに渡す請求項1記載のシミュレーションプログラム。
  3. 前記バスモデルは前記バス転送情報を優先順位付きテーブルにて管理し、前記バスアービトレーションが前記優先順位付きテーブルを操作することでバスアービター機能を実現する請求項1記載のシミュレーションプログラム。
  4. 前記バスモデルは前記アドレスおよび前記データ転送量を用いて別途に設けた転送時間情報テーブルの値を参照することにより前記データ転送時間の計算を行う請求項2記載のシミュレーションプログラム。
  5. 前記転送時間情報テーブルは外部から設定可能な請求項4記載のシミュレーションプログラム。
JP2005140016A 2005-05-12 2005-05-12 シミュレーションモデル Expired - Fee Related JP3868454B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005140016A JP3868454B2 (ja) 2005-05-12 2005-05-12 シミュレーションモデル

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005140016A JP3868454B2 (ja) 2005-05-12 2005-05-12 シミュレーションモデル

Publications (2)

Publication Number Publication Date
JP2006318209A JP2006318209A (ja) 2006-11-24
JP3868454B2 true JP3868454B2 (ja) 2007-01-17

Family

ID=37538835

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005140016A Expired - Fee Related JP3868454B2 (ja) 2005-05-12 2005-05-12 シミュレーションモデル

Country Status (1)

Country Link
JP (1) JP3868454B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5287132B2 (ja) * 2008-10-17 2013-09-11 富士通株式会社 設計支援プログラム、設計支援装置、およびシミュレーションモデル

Also Published As

Publication number Publication date
JP2006318209A (ja) 2006-11-24

Similar Documents

Publication Publication Date Title
US10445234B2 (en) Processors, methods, and systems for a configurable spatial accelerator with transactional and replay features
US10387319B2 (en) Processors, methods, and systems for a configurable spatial accelerator with memory system performance, power reduction, and atomics support features
US10417175B2 (en) Apparatus, methods, and systems for memory consistency in a configurable spatial accelerator
US10515049B1 (en) Memory circuits and methods for distributed memory hazard detection and error recovery
US10891240B2 (en) Apparatus, methods, and systems for low latency communication in a configurable spatial accelerator
Martin et al. Three generations of asynchronous microprocessors
US11037050B2 (en) Apparatuses, methods, and systems for memory interface circuit arbitration in a configurable spatial accelerator
Kim et al. Silent-PIM: Realizing the processing-in-memory computing with standard memory requests
Cortadella et al. RTL synthesis: From logic synthesis to automatic pipelining
US11907713B2 (en) Apparatuses, methods, and systems for fused operations using sign modification in a processing element of a configurable spatial accelerator
KR20140068863A (ko) 스케일링가능한 병렬 프로세서를 위한 시스템, 방법 및 장치
Vo et al. A case for os-friendly hardware accelerators
Owaida et al. Massively parallel programming models used as hardware description languages: The OpenCL case
Feng et al. Heterosim: A heterogeneous cpu-fpga simulator
Rykunov Design of asynchronous microprocessor for power proportionality
JP3868454B2 (ja) シミュレーションモデル
KR102614515B1 (ko) 스케일러블 인터럽트들
US9582286B2 (en) Register file management for operations using a single physical register for both source and result
US20140244232A1 (en) Simulation apparatus and simulation method
Shi et al. DSS: Applying asynchronous techniques to architectures exploiting ILP at compile time
Vikram et al. Hardware–software co-simulation of bus-based reconfigurable systems
Oh et al. Architectural Design Issues in a Clockless 32‐Bit Processor Using an Asynchronous HDL
Multanen et al. Power optimizations for transport triggered SIMD processors
Silbermintz et al. Soc modeling methodology for architectural exploration and software development
Chakravarthi et al. Self-Assessment Question Bank

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060911

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061010

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101020

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111020

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121020

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees