Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3327598B2 - Data processing method and data processing device - Google Patents
[go: Go Back, main page]

JP3327598B2 - Data processing method and data processing device - Google Patents

Data processing method and data processing device

Info

Publication number
JP3327598B2
JP3327598B2 JP31894492A JP31894492A JP3327598B2 JP 3327598 B2 JP3327598 B2 JP 3327598B2 JP 31894492 A JP31894492 A JP 31894492A JP 31894492 A JP31894492 A JP 31894492A JP 3327598 B2 JP3327598 B2 JP 3327598B2
Authority
JP
Japan
Prior art keywords
instruction
bus access
sequence
penalty
instructions
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
JP31894492A
Other languages
Japanese (ja)
Other versions
JPH06168118A (en
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 JP31894492A priority Critical patent/JP3327598B2/en
Publication of JPH06168118A publication Critical patent/JPH06168118A/en
Application granted granted Critical
Publication of JP3327598B2 publication Critical patent/JP3327598B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Memory System (AREA)
  • Advance Control (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、特に組み込み用途に用
いられるコンパイラを実現するデータ処理方法およびデ
ータ処理装置に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data processing method and a data processing apparatus for realizing a compiler used especially for embedded applications.

【0002】[0002]

【従来の技術】近年、組み込み用途においてもコンパイ
ラの普及が目覚しく、アプリケーションの開発を高級言
語を用いて行なうことが盛んになってきている。ところ
が従来のコンパイラは、ワークステーションなどでの使
用を前提としてきたため、高速なメモリやキャッシュシ
ステムによって隠蔽されるなど、バスアクセスに関して
なんらの最適化手法を持つ必要がなかった。
2. Description of the Related Art In recent years, the use of compilers has been remarkable in embedded applications, and the development of applications using high-level languages has become active. However, since the conventional compiler was assumed to be used in a workstation or the like, it was not necessary to have any optimization method for bus access, such as being hidden by a high-speed memory or cache system.

【0003】例えば、レジスタ長16ビット、基本デー
タバス幅16ビット、基本メモリサイクル1、パイプラ
インがデコード(DEC)と実行(EX)との2段+ス
トアバッファ1段(OW)であるシステムにおいて、図
12のプログラムを実行する場合について考える。ここ
で、D0,D1,D2,D3 はCPUのレジスタ、mov #nn,@Dn
は、即値 nn をレジスタDnの示すアドレスのメモリへ格
納する命令、inc Dn は、レジスタ Dn の値を1増やす
命令であり、説明を判り易くするために全命令の実行ク
ロック数は1クロックであるものとする。
For example, in a system in which a register length is 16 bits, a basic data bus width is 16 bits, a basic memory cycle is 1, and a pipeline has two stages of decoding (DEC) and execution (EX) + one stage of store buffer (OW). 12 is executed. Here, D0, D1, D2, D3 are CPU registers, mov # nn, @ Dn
Is an instruction to store the immediate value nn in the memory at the address indicated by the register Dn, and inc Dn is an instruction to increase the value of the register Dn by 1. The number of execution clocks of all the instructions is 1 for easy understanding. Shall be.

【0004】従来のワークステーションなどの高速なメ
モリを使用したシステムでは、バス幅16ビット、メモ
リウェイト数0であり、1クロックでメモリアクセスが
可能であるので、パイプラインは図13のようになっ
て、実行クロック数はT6であり、パイプラインは充填
されている。ところが、組み込み用途のような低速なメ
モリを用いたシステムでは、例えばバス幅16ビット、
メモリウェイト数1であり、2クロックメモリアクセス
では、パイプラインは図14のようになって、3の命令
のOWと4の命令のOWとがバス干渉するため、パイプ
ライン干渉が発生し、実行クロック数がT7となり、パ
イプラインは充填されていないことがわかる。
In a conventional system using a high-speed memory such as a workstation, the bus width is 16 bits, the number of memory waits is 0, and the memory can be accessed with one clock. Therefore, the pipeline is as shown in FIG. Thus, the number of execution clocks is T6, and the pipeline is full. However, in a system using a low-speed memory such as an embedded application, for example, a bus width of 16 bits,
In the case of 2-clock memory access, the pipeline is as shown in FIG. 14, and the OW of the third instruction and the OW of the fourth instruction interfere with each other through the bus. The number of clocks becomes T7, indicating that the pipeline is not filled.

【0005】[0005]

【発明が解決しようとする課題】すなわち上記従来のデ
ータ処理方法およびデータ処理装置では、低速なメモリ
あるいは狭いバス幅を用いた場合、CPUのパフォーマ
ンスが充分に生かされないという問題があった。本発明
はかかる事情に鑑みて成されたものであり、低速なメモ
リあるいは狭いバス幅を用いた場合に、CPUのパフォ
ーマンスを充分に生かすことのできるデータ処理方法お
よびデータ処理装置を提供することを目的とする。
That is, the above-mentioned conventional data processing method and data processing apparatus have a problem that the performance of the CPU cannot be fully utilized when a low-speed memory or a narrow bus width is used. The present invention has been made in view of the above circumstances, and provides a data processing method and a data processing device that can fully utilize the performance of a CPU when a low-speed memory or a narrow bus width is used. Aim.

【0006】[0006]

【課題を解決するための手段】本発明は、命令列を格納
する命令列格納手段と、バスアクセスパラメータを保持
するバスアクセスパラメータ格納手段とを用いて、前記
バスアクセスパラメータ格納手段からのバスアクセスパ
ラメータに基づいて、前記命令列格納手段からの命令列
を、バスアクセスによるペナルティが軽減するように並
び替える命令スケジューリングステップを実行すること
を特徴としている。
According to the present invention, a bus access from the bus access parameter storage means is provided by using an instruction string storage means for storing an instruction string and a bus access parameter storage means for holding a bus access parameter. An instruction scheduling step of rearranging the instruction sequence from the instruction sequence storage means so as to reduce a penalty due to bus access based on a parameter is performed.

【0007】本発明は、命令列を格納する命令列格納手
段と、バスアクセスパラメータを保持するバスアクセス
パラメータ格納手段と、このバスアクセスパラメータ格
納手段からのバスアクセスパラメータに基づいて、前記
命令列格納手段からの命令列を、バスアクセスによるペ
ナルティが軽減するように並び替える命令スケジューリ
ング手段と、を備えたことを特徴としている。
The present invention provides an instruction sequence storing means for storing an instruction sequence, a bus access parameter storing means for holding a bus access parameter, and the instruction sequence storage based on a bus access parameter from the bus access parameter storing means. Instruction scheduling means for rearranging the instruction sequence from the means so as to reduce a penalty due to bus access.

【0008】本発明は、命令列を格納する命令列格納手
段と、バスアクセスパラメータを保持するバスアクセス
パラメータ格納手段とを用いて、前記命令列格納手段か
らの命令列からバスアクセス命令を検出し、それがバス
アクセス命令である旨の情報を付加するバスアクセス命
令検出ステップと、このバスアクセス命令検出ステップ
において処理された命令列から、バスアクセス命令間の
実行クロック数を算出し、その算出結果である命令間距
離情報を命令列に付加する命令間距離算出ステップと、
前記バスアクセスパラメータ格納手段からのバスアクセ
スパラメータに基づいて、前記命令間距離算出ステップ
において処理された命令列に含まれるバスアクセス命令
のうちバスアクセスにペナルティを発生する命令を検出
し、それがペナルティ発生命令である旨の情報を付加す
るバスアクセス干渉命令検出ステップと、このバスアク
セス干渉命令検出ステップにおいて処理された命令列か
らペナルティ発生命令に対して並び替えが可能な命令を
検出し、それが並び替え可能命令である旨の情報を付加
する並び替え可能命令検出ステップと、この並び替え可
能命令検出ステップにおいて処理された命令列のうち並
び替え可能命令をペナルティ発生命令の前後に並び替え
てバスアクセス干渉が発生しないようにスケジューリン
グする命令列並び替えステップと、を実行することを特
徴としている。
According to the present invention, a bus access instruction is detected from an instruction string from the instruction string storage means by using an instruction string storage means for storing an instruction string and a bus access parameter storage means for holding a bus access parameter. Calculating the number of execution clocks between bus access instructions from a bus access instruction detecting step for adding information indicating that it is a bus access instruction, and an instruction sequence processed in the bus access instruction detecting step; An inter-instruction distance calculating step of adding inter-instruction distance information to the instruction sequence;
Based on the bus access parameters from the bus access parameter storage means, an instruction that causes a penalty in bus access among the bus access instructions included in the instruction sequence processed in the inter-instruction distance calculation step is detected. A bus access interference instruction detecting step for adding information indicating that the instruction is a generated instruction; and an instruction capable of rearranging the penalty generated instruction is detected from the instruction sequence processed in the bus access interference instruction detecting step. A rearrangeable instruction detecting step for adding information indicating that the instruction is a rearrangeable instruction; and a bus which rearranges the rearrangeable instructions in the instruction sequence processed in the rearrangeable instruction detection step before and after the penalty generating instruction. Instruction sequence for scheduling to avoid access interference It is characterized by executing example and step.

【0009】本発明は、命令列を格納する命令列格納手
段と、バスアクセスパラメータを保持するバスアクセス
パラメータ格納手段と、前記命令列格納手段からの命令
列からバスアクセス命令を検出し、それがバスアクセス
命令である旨の情報を付加するバスアクセス命令検出手
段と、このバスアクセス命令検出手段からの命令列か
ら、バスアクセス命令間の実行クロック数を算出し、そ
の算出結果である命令間距離情報を命令列に付加する命
令間距離算出手段と、前記バスアクセスパラメータ格納
手段からのバスアクセスパラメータに基づいて、前記命
令間距離算出手段からの命令列に含まれるバスアクセス
命令のうちバスアクセスにペナルティを発生する命令を
検出し、それがペナルティ発生命令である旨の情報を付
加するバスアクセス干渉命令検出手段と、このバスアク
セス干渉命令検出手段からの命令列からペナルティ発生
命令に対して並び替えが可能な命令を検出し、それが並
び替え可能命令である旨の情報を付加する並び替え可能
命令検出手段と、この並び替え可能命令検出手段からの
命令列のうち並び替え可能命令をペナルティ発生命令の
前後に並び替えてバスアクセス干渉が発生しないように
スケジューリングする命令列並び替え手段と、を備えた
ことを特徴としている。
According to the present invention, an instruction sequence storing means for storing an instruction sequence, a bus access parameter storing means for holding a bus access parameter, and a bus access instruction are detected from the instruction sequence from the instruction sequence storing means. A bus access instruction detecting means for adding information indicating that the instruction is a bus access instruction; and an instruction clock from the bus access instruction detecting means. The number of execution clocks between the bus access instructions is calculated. An inter-instruction distance calculating unit for adding information to the instruction sequence; and a bus access instruction included in the instruction sequence from the inter-instruction distance calculating unit, based on a bus access parameter from the bus access parameter storing unit. Bus access that detects an instruction that generates a penalty and adds information that it is a penalty-generating instruction Arbitration instruction detection means, and an instruction capable of rearranging the penalty-occurring instruction is detected from the instruction string from the bus access interference instruction detection means, and rearrangement for adding information indicating that the instruction is a rearrangeable instruction. Possible instruction detecting means, and an instruction sequence rearranging means for rearranging the rearrangeable instructions in the instruction sequence from the rearrangeable instruction detecting means before and after the penalty generating instruction and scheduling so as not to cause bus access interference, It is characterized by having.

【0010】本発明は、バスアクセスパラメータとし
て、メモリウェイト数とバス幅とを用いることを特徴と
している。本発明は、バスアクセスパラメータとして、
メモリウェイト数とバス幅とを用いる構成としたことを
特徴としている。
The present invention is characterized in that the number of memory waits and the bus width are used as bus access parameters. The present invention provides, as a bus access parameter,
It is characterized in that the number of memory weights and the bus width are used.

【0011】[0011]

【作用】本発明においては、命令スケジューリングステ
ップで、バスアクセスパラメータ格納手段からのバスア
クセスパラメータに基づいて、命令列格納手段からの命
令列を、バスアクセスによるペナルティが軽減するよう
に並び替える。 請求項2の発明において、命令列格納
手段は、命令列を格納する。バスアクセスパラメータ格
納手段は、バスアクセスパラメータを保持する。命令ス
ケジューリング手段は、バスアクセスパラメータ格納手
段からのバスアクセスパラメータに基づいて、命令列格
納手段からの命令列を、バスアクセスによるペナルティ
が軽減するように並び替える。
In the present invention, in the instruction scheduling step, the instruction sequence from the instruction sequence storage means is rearranged based on the bus access parameters from the bus access parameter storage means so as to reduce the penalty due to the bus access. In the invention according to claim 2, the instruction sequence storing means stores the instruction sequence. The bus access parameter storage means holds a bus access parameter. The instruction scheduling unit rearranges the instruction sequence from the instruction sequence storage unit based on the bus access parameter from the bus access parameter storage unit so that a penalty due to the bus access is reduced.

【0012】本発明においては、バスアクセス命令検出
ステップで、命令列格納手段からの命令列からバスアク
セス命令を検出し、それがバスアクセス命令である旨の
情報を付加し、命令間距離算出ステップで、バスアクセ
ス命令検出ステップにおいて処理された命令列から、バ
スアクセス命令間の実行クロック数を算出し、その算出
結果である命令間距離情報を命令列に付加し、バスアク
セス干渉命令検出ステップで、バスアクセスパラメータ
格納手段からのバスアクセスパラメータに基づいて、命
令間距離算出ステップにおいて処理された命令列に含ま
れるバスアクセス命令のうちバスアクセスにペナルティ
を発生する命令を検出し、それがペナルティ発生命令で
ある旨の情報を付加し、並び替え可能命令検出ステップ
で、バスアクセス干渉命令検出ステップにおいて処理さ
れた命令列からペナルティ発生命令に対して並び替えが
可能な命令を検出し、それが並び替え可能命令である旨
の情報を付加し、命令列並び替えステップで、並び替え
可能命令検出ステップにおいて処理された命令列のうち
並び替え可能命令をペナルティ発生命令の前後に並び替
えてバスアクセス干渉が発生しないようにスケジューリ
ングする。
In the present invention, in the bus access instruction detecting step, the bus access instruction is detected from the instruction sequence from the instruction sequence storage means, information indicating that the instruction is a bus access instruction is added, and the distance between instructions is calculated. Then, the number of execution clocks between bus access instructions is calculated from the instruction sequence processed in the bus access instruction detection step, and the inter-instruction distance information as the calculation result is added to the instruction sequence. Detecting, among the bus access instructions included in the instruction sequence processed in the instruction distance calculation step, an instruction that causes a penalty in bus access based on the bus access parameter from the bus access parameter storage means, Attach information indicating that the instruction is a bus access at the reorderable instruction detection step. An instruction that can be rearranged for the penalty-occurring instruction is detected from the instruction sequence processed in the negotiation instruction detection step, information indicating that the instruction is a rearrangeable instruction is added, and the instruction In the instruction sequence processed in the replaceable instruction detection step, the rearrangeable instructions are rearranged before and after the penalty generating instruction, and scheduling is performed so that bus access interference does not occur.

【0013】本発明において、命令列格納手段は、命令
列を格納する。バスアクセスパラメータ格納手段は、バ
スアクセスパラメータを保持する。バスアクセス命令検
出手段は、命令列格納手段からの命令列からバスアクセ
ス命令を検出し、それがバスアクセス命令である旨の情
報を付加する。命令間距離算出手段は、バスアクセス命
令検出手段からの命令列から、バスアクセス命令間の実
行クロック数を算出し、その算出結果である命令間距離
情報を命令列に付加する。バスアクセス干渉命令検出手
段は、バスアクセスパラメータ格納手段からのバスアク
セスパラメータに基づいて、命令間距離算出手段からの
命令列に含まれるバスアクセス命令のうちバスアクセス
にペナルティを発生する命令を検出し、それがペナルテ
ィ発生命令である旨の情報を付加する。並び替え可能命
令検出手段は、バスアクセス干渉命令検出手段からの命
令列からペナルティ発生命令に対して並び替えが可能な
命令を検出し、それが並び替え可能命令である旨の情報
を付加する。命令列並び替え手段は、並び替え可能命令
検出手段からの命令列のうち並び替え可能命令をペナル
ティ発生命令の前後に並び替えてバスアクセス干渉が発
生しないようにスケジューリングする。
[0013] In the present invention, the instruction sequence storing means stores the instruction sequence. The bus access parameter storage means holds a bus access parameter. The bus access instruction detecting means detects a bus access instruction from the instruction sequence from the instruction sequence storage means, and adds information indicating that the instruction is a bus access instruction. The inter-instruction distance calculation means calculates the number of execution clocks between bus access instructions from the instruction sequence from the bus access instruction detection means, and adds the inter-instruction distance information as the calculation result to the instruction sequence. The bus access interference instruction detecting means detects, based on the bus access parameter from the bus access parameter storing means, an instruction which causes a penalty in the bus access among the bus access instructions included in the instruction sequence from the instruction distance calculating means. , Information indicating that it is a penalty generation instruction. The reorderable instruction detecting means detects an instruction that can be rearranged with respect to the penalty generating instruction from the instruction sequence from the bus access interference instruction detecting means, and adds information indicating that the instruction is a reorderable instruction. The instruction sequence rearranging unit rearranges the rearrangeable instructions in the instruction sequence from the rearrangeable instruction detecting unit before and after the penalty generating instruction, and performs scheduling so that bus access interference does not occur.

【0014】本発明においては、バスアクセスパラメー
タとして、メモリウェイト数とバス幅とを用いる。本発
明において、バスアクセスパラメータは、メモリウェイ
ト数とバス幅とである。
In the present invention, the number of memory waits and the bus width are used as bus access parameters. In the present invention, the bus access parameters are the number of memory waits and the bus width.

【0015】[0015]

【実施例】以下、本発明の実施例を図面を用いて詳細に
説明する。図1は本発明の一実施例におけるデータ処理
装置の構成図で、このデータ処理装置は、命令列格納装
置1と、バスアクセスパラメータ格納装置2と、命令ス
ケジューリング装置3とを備えており、命令スケジュー
リング装置3は、バスアクセス命令検出装置4と、命令
間距離算出装置5と、バスアクセス干渉命令検出装置6
と、並び替え可能命令検出装置7と、命令並び替え装置
8とを備えている。命令列格納装置1は、命令列を格納
している。バスアクセスパラメータ格納装置2は、バス
アクセスパラメータを格納している。命令スケジューリ
ング装置3は、バスアクセスパラメータ格納装置2から
のバスアクセスパラメータに基づいて、命令列格納装置
1からの命令列を、バスアクセスによるペナルティが軽
減するように並び替える。バスアクセス命令検出装置4
は、命令列格納装置1から命令列が入力されることによ
り、その命令列からバスアクセス命令を検出し、それが
バスアクセス命令である旨の情報を付加した命令列を出
力する。命令間距離算出装置5は、バスアクセス命令検
出装置4から命令列が入力されることにより、バスアク
セス命令間の実行クロック数を算出し、その算出結果で
ある命令間距離情報を付加した命令列を出力する。バス
アクセス干渉命令検出装置6は、命令間距離算出装置5
から命令列が入力されることにより、バスアクセスパラ
メータ格納装置2からのバスアクセスパラメータを参照
して、命令列に含まれるバスアクセス命令のうちバスア
クセスにペナルティの発生する命令を検出し、それがペ
ナルティ発生命令である旨の情報を付加した命令列を出
力する。並び替え可能命令検出装置7は、バスアクセス
干渉命令検出装置6から命令列が入力されることによ
り、ペナルティ発生命令に対して並び替えが可能な命令
を検出し、それが並び替え可能命令である旨の情報を付
加した命令列を出力する。命令並び替え装置8は、並び
替え可能命令検出装置7から命令列が入力されることに
より、バスアクセスに干渉が発生しないように、並び替
え可能命令をペナルティ発生命令の前後に並び替えて、
ペナルティの発生を抑えるようスケジューリングされた
命令列を出力する。
Embodiments of the present invention will be described below in detail with reference to the drawings. FIG. 1 is a configuration diagram of a data processing device according to an embodiment of the present invention. The data processing device includes an instruction sequence storage device 1, a bus access parameter storage device 2, and an instruction scheduling device 3, and has an instruction scheduling device. The scheduling device 3 includes a bus access instruction detecting device 4, an instruction distance calculating device 5, a bus access interference instruction detecting device 6,
And an instruction reordering device 7 and an instruction reordering device 8. The instruction sequence storage device 1 stores an instruction sequence. The bus access parameter storage device 2 stores bus access parameters. The instruction scheduling device 3 rearranges the instruction sequence from the instruction sequence storage device 1 based on the bus access parameters from the bus access parameter storage device 2 so that the penalty due to the bus access is reduced. Bus access instruction detecting device 4
Receives a command sequence from the command sequence storage device 1, detects a bus access command from the command sequence, and outputs a command sequence to which information indicating that the command is a bus access command is added. The instruction-to-instruction distance calculating device 5 calculates the number of execution clocks between bus access instructions by receiving an instruction sequence from the bus access instruction detecting device 4, and adds an instruction-to-instruction distance information which is the calculation result. Is output. The bus access interference command detecting device 6 includes a command distance calculating device 5
, A bus access parameter from the bus access parameter storage device 2 is referred to, and among the bus access commands included in the command sequence, an instruction which causes a penalty in bus access is detected. An instruction sequence to which information indicating that the instruction is a penalty generating instruction is output. The reorderable instruction detecting device 7 detects an instruction that can be rearranged with respect to the penalty generating instruction when the instruction sequence is input from the bus access interference instruction detecting device 6, and the instruction is the reorderable instruction. An instruction sequence to which information indicating the effect is added is output. The instruction rearranging device 8 rearranges the rearrangeable instructions before and after the penalty generating instruction so that the instruction sequence is input from the rearrangeable instruction detecting device 7 so as not to cause interference in bus access.
Outputs a sequence of instructions scheduled to suppress penalties.

【0016】次に上記データ処理装置の動作について、
図2のフローチャートを参照しながら説明する。いま、
動作するCPUとして、レジスタ長16ビット、基本デ
ータバス幅16ビット、基本メモリサイクル1、パイプ
ラインがデコード(DEC)と実行(EX)との2段+
ストアバッファ1段(OW)のシステムにおいて、D0,D
1,D2,D3 はCPUのレジスタ、mov #nn,@Dn は、即値 n
n をレジスタDnの示すアドレスのメモリへ格納する命
令、inc Dn は、レジスタ Dn の値を1増やす命令であ
り、説明を判り易くするために、全命令の実行クロック
数は1クロックであり、命令列格納装置1には図3のよ
うな命令列が格納され、バスアクセスパラメータ格納装
置2には図4のようなバスアクセスパラメータが格納さ
れているものとする。先ずバスアクセス命令検出装置4
が、命令列格納装置1から命令列が入力されることによ
り、その命令列からバスアクセス命令を検出し、それが
バスアクセス命令である旨の情報を付加した図5のよう
な命令列を出力する(ステップS1)。この例では、
1,3,4の命令でバスアクセスを行なっており、それ
が星印で示されている。なお、バスアクセス命令が存在
しない場合には、バスアクセス命令である旨の情報のな
い命令列を出力する。
Next, the operation of the data processing device will be described.
This will be described with reference to the flowchart of FIG. Now
The operating CPU has a register length of 16 bits, a basic data bus width of 16 bits, a basic memory cycle of 1, and a pipeline having two stages of decoding (DEC) and execution (EX) +
In a one-stage (OW) store buffer system, D0, D
1, D2, D3 are CPU registers, mov # nn, @ Dn are immediate n
The instruction for storing n in the memory at the address indicated by the register Dn, the inc Dn is an instruction for increasing the value of the register Dn by one. It is assumed that an instruction sequence as shown in FIG. 3 is stored in the column storage device 1, and a bus access parameter as shown in FIG. 4 is stored in the bus access parameter storage device 2. First, the bus access instruction detecting device 4
However, when an instruction sequence is input from the instruction sequence storage device 1, a bus access instruction is detected from the instruction sequence, and an instruction sequence as shown in FIG. 5 to which information indicating that it is a bus access instruction is added is output. (Step S1). In this example,
Bus access is performed by instructions 1, 3, and 4, which are indicated by stars. When there is no bus access instruction, an instruction sequence without information indicating that the instruction is a bus access instruction is output.

【0017】次に命令間距離算出装置5が、バスアクセ
ス命令検出装置4から図5のような命令列が入力される
ことにより、バスアクセス命令間の実行クロック数を算
出し、その算出結果である命令間距離情報を付加した図
6のような命令列を出力する(ステップS2)。この例
では、命令間距離が、1〜3の命令間で2、3〜4の命
令間で1である。なお、バスアクセス命令が存在しない
場合には、命令間距離情報のない命令列を出力する。
Next, the instruction distance calculating device 5 calculates the number of execution clocks between bus access instructions by inputting an instruction sequence as shown in FIG. 5 from the bus access instruction detecting device 4, and calculates the number of execution clocks between the bus access instructions. An instruction sequence as shown in FIG. 6 to which certain instruction distance information is added is output (step S2). In this example, the distance between instructions is 2 between instructions 1 to 3, and 1 between instructions 3 and 4. If there is no bus access instruction, an instruction sequence having no inter-instruction distance information is output.

【0018】次にバスアクセス干渉命令検出装置6が、
命令間距離算出装置5から図6のような命令列が入力さ
れることにより、図4のようなバスアクセスパラメータ
格納装置2からのバスアクセスパラメータを参照して、
命令列に含まれるバスアクセス命令のうちバスアクセス
にペナルティの発生する命令を検出し、それがペナルテ
ィ発生命令である旨の情報を付加した図7のような命令
列を出力する(ステップS3)。すなわち、バスアクセ
スパラメータより、メモリサイクルはメモリウェイト数
+基本メモリサイクル=2サイクル、バス幅=基本デー
タバス幅であるから、1メモリサイクルでバスサイクル
が終了することが判り、バスアクセス命令間距離は2サ
イクル以上でないとバスアクセスにペナルティが発生す
ることになるため、この例では、3〜4の命令間でペナ
ルティが発生し、それが二重丸で示されている。なお、
ペナルティが発生する命令が存在しない場合には、ペナ
ルティ発生命令情報のない命令列を出力する。
Next, the bus access interference instruction detecting device 6
When a command sequence as shown in FIG. 6 is input from the command-to-instruction distance calculation device 5, a bus access parameter from the bus access parameter storage device 2 as shown in FIG.
Among the bus access instructions included in the instruction sequence, an instruction causing a penalty in the bus access is detected, and an instruction sequence as shown in FIG. 7 to which information indicating that the instruction is a penalty generating instruction is added (step S3). That is, from the bus access parameters, since the memory cycle is the number of memory waits + the basic memory cycle = 2 cycles and the bus width = the basic data bus width, it is understood that the bus cycle is completed in one memory cycle, and the distance between bus access instructions. If no more than two cycles occur, a penalty will occur in bus access, so in this example, a penalty occurs between three and four instructions, which are indicated by double circles. In addition,
If there is no instruction that causes a penalty, an instruction sequence without penalty-occurring instruction information is output.

【0019】次に並び替え可能命令検出装置7が、バス
アクセス干渉命令検出装置6から図7のような命令列が
入力されることにより、ペナルティ発生命令に対して並
び替えが可能な命令を検出し、それが並び替え可能命令
である旨の情報を付加した図8のような命令列を出力す
る(ステップS4)。例えばレジスタに着目して各命令
を相互の関係を含めてチェックすることにより並び替え
が可能な命令を検出するという動作が、ソフトウェアに
より実現されるのである。この例の場合、3〜4の命令
間の干渉の緩和のために、6の命令の並び替えが可能で
あり、それが三角印で示されている。なお、ペナルティ
発生命令が存在しない場合、および並び替え可能命令が
存在しない場合には、並び替え可能命令情報のない命令
列を出力する。
Next, the reorderable instruction detecting device 7 detects an instruction that can be rearranged with respect to the penalty generating instruction by inputting an instruction sequence as shown in FIG. 7 from the bus access interference instruction detecting device 6. Then, an instruction sequence as shown in FIG. 8 to which information indicating that the instruction is a rearrangeable instruction is added (step S4). For example, an operation of detecting instructions that can be rearranged by checking each instruction including a mutual relationship by focusing on a register is realized by software. In the case of this example, rearrangement of six instructions is possible to alleviate the interference between three and four instructions, which is indicated by triangles. When there is no penalty generating instruction and when there is no rearrangeable instruction, an instruction sequence having no rearrangeable instruction information is output.

【0020】次に命令並び替え装置8が、並び替え可能
命令検出装置7から図8のような命令列が入力されるこ
とにより、命令列に含まれる並び替え可能命令のうち、
ペナルティの緩和に寄与する命令を選択し、命令の並び
替えを行って、ペナルティの発生を抑えたスケジューリ
ングされた図9のような命令列を出力する(ステップS
5)。なお、並び替え可能命令が存在しない場合、およ
びペナルティの緩和に寄与する並び替え対象命令が存在
しない場合には、並び替えを行なわずに命令列をそのま
ま出力する。
Next, the instruction rearranging device 8 receives the instruction sequence as shown in FIG. 8 from the rearrangeable instruction detecting device 7, so that among the rearrangeable instructions included in the instruction sequence,
Instructions that contribute to penalty mitigation are selected, instructions are rearranged, and a scheduled instruction sequence as shown in FIG. 9 in which the occurrence of penalties is suppressed is output (step S).
5). When there is no rearrangeable instruction or when there is no rearrangement target instruction that contributes to the reduction of penalty, the instruction sequence is output as it is without rearranging.

【0021】このように、命令列を格納する命令列格納
装置1と、バスアクセスパラメータを保持するバスアク
セスパラメータ格納装置2と、バスアクセスパラメータ
格納装置2からのバスアクセスパラメータに基づいて、
命令列格納装置1からの命令列を、バスアクセスによる
ペナルティが軽減するように並び替える命令スケジュー
リング装置3とを備えたので、低速なメモリあるいは狭
いバス幅を用いた場合に、CPUのパフォーマンスを充
分に生かすことができる。すなわち、図3に示す命令列
を直接実行すると、図10のようなパイプラインになる
のに対して、図9に示す命令列を実行すると、図11の
ようなパイプラインになり、バスペナルティを回避でき
ることが判る。
As described above, based on the instruction sequence storage device 1 for storing the instruction sequence, the bus access parameter storage device 2 for holding the bus access parameters, and the bus access parameters from the bus access parameter storage device 2,
The instruction scheduling device 3 for rearranging the instruction sequence from the instruction sequence storage device 1 so as to reduce the penalty due to the bus access is provided. Therefore, when a low-speed memory or a narrow bus width is used, the performance of the CPU is sufficiently improved. It can be used for That is, when the instruction sequence shown in FIG. 3 is directly executed, the pipeline becomes as shown in FIG. 10, whereas when the instruction sequence shown in FIG. 9 is executed, the pipeline becomes as shown in FIG. 11, and the bus penalty is reduced. It turns out that it can be avoided.

【0022】なお上記実施例では、動作するCPUとし
て、パイプラインがデコード(DEC)と実行(EX)
との2段+ストアバッファ1段(OW)で、レジスタ長
16ビット、基本データバス幅16ビット、基本メモリ
サイクル1、全命令の実行クロック数が1クロックのも
のを用いたが、これらの条件はこのように限定されるも
のではない。
In the above embodiment, as the CPU to operate, the pipeline is composed of decode (DEC) and execution (EX).
, A register length of 16 bits, a basic data bus width of 16 bits, a basic memory cycle of 1, and an execution clock number of all instructions of 1 are used. Is not limited in this way.

【0023】また上記実施例では、ストアバッファに関
する効果としてOWを持つ命令についてのみスケジュー
リングを行なったが、特にOWに限定されるものではな
く、命令フェッチやオペランドフェッチに関しても本発
明を利用できることは勿論である。また上記実施例で
は、スケジューリングの対象としてアセンブラ命令を採
用したが、中間言語などのアセンブラ以外の命令を採用
してもよい。
In the above embodiment, the scheduling is performed only for the instruction having the OW as the effect related to the store buffer. However, the present invention is not limited to the OW, and the present invention can be used for the instruction fetch and the operand fetch. It is. Further, in the above embodiment, the assembler instruction is employed as a scheduling target, but an instruction other than the assembler such as an intermediate language may be employed.

【0024】また上記実施例では、システム全体で固定
のバス幅およびメモリウェイト数としたが、エリア毎に
バス幅やメモリウェイト数などのバスアクセスパラメー
タを設定することによって、スタティックメモリやダイ
ナミックメモリやI/Oなどのアクセスを最適化できる
ように容易に拡張できる。また上記実施例では、バスア
クセスパラメータとしてバス幅およびメモリウェイト数
を用いたが、他のパラメータを用いてもよい。
In the above embodiment, the bus width and the number of memory waits are fixed in the entire system. However, by setting bus access parameters such as the bus width and the number of memory waits for each area, the static memory, the dynamic memory, and the like can be obtained. It can be easily extended so that access such as I / O can be optimized. Further, in the above embodiment, the bus width and the number of memory waits are used as the bus access parameters, but other parameters may be used.

【0025】[0025]

【発明の効果】以上説明したように本発明によれば、バ
スアクセスパラメータに基づいて、命令列を、バスアク
セス命令間の距離に応じて並び替えるので、低速なメモ
リや狭いバス幅を用いたバスアクセスを無視することの
できないシステムにおいて、バスアクセスによるペナル
ティを軽減することができる。また、コンパイル時にバ
スアクセスパラメータを指定できるため、いろいろなバ
スアクセスパラメータを持つシステム毎に最適な命令ス
ケジューリングを実現できる。
As described above, according to the present invention, the instruction sequence is rearranged according to the distance between the bus access instructions on the basis of the bus access parameters, so that a low-speed memory or a narrow bus width is used. In a system in which bus access cannot be ignored, penalties due to bus access can be reduced. Further, since bus access parameters can be specified at the time of compiling, optimal instruction scheduling can be realized for each system having various bus access parameters.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施例におけるデータ処理装置の構
成図である。
FIG. 1 is a configuration diagram of a data processing device according to an embodiment of the present invention.

【図2】本発明の一実施例におけるデータ処理装置の動
作を説明するフローチャートである。
FIG. 2 is a flowchart illustrating an operation of the data processing device according to one embodiment of the present invention.

【図3】入力命令列の説明図である。FIG. 3 is an explanatory diagram of an input instruction sequence.

【図4】バスアクセスパラメータの説明図である。FIG. 4 is an explanatory diagram of a bus access parameter.

【図5】バスアクセス命令情報を付加した命令列の説明
図である。
FIG. 5 is an explanatory diagram of an instruction sequence to which bus access instruction information is added.

【図6】命令間距離情報を付加した命令列の説明図であ
る。
FIG. 6 is an explanatory diagram of an instruction sequence to which inter-instruction distance information is added.

【図7】ペナルティ発生命令情報を付加した命令列の説
明図である。
FIG. 7 is an explanatory diagram of an instruction sequence to which penalty generation instruction information is added.

【図8】並び替え可能命令情報を付加した命令列の説明
図である。
FIG. 8 is an explanatory diagram of an instruction sequence to which rearrangeable instruction information is added.

【図9】スケジューリングされた命令列の説明図であ
る。
FIG. 9 is an explanatory diagram of a scheduled instruction sequence.

【図10】入力命令列を実行したときのパイプラインの
説明図である。
FIG. 10 is an explanatory diagram of a pipeline when an input instruction sequence is executed.

【図11】スケジューリングされた命令列を実行したと
きのパイプラインの説明図である。
FIG. 11 is an explanatory diagram of a pipeline when a scheduled instruction sequence is executed.

【図12】従来の技術における入力命令列の説明図であ
る。
FIG. 12 is an explanatory diagram of an input instruction sequence in a conventional technique.

【図13】従来の技術における入力命令列を高速なメモ
リや広いバス幅を用いたシステムにより実行したときの
パイプラインの説明図である。
FIG. 13 is an explanatory diagram of a pipeline when an input instruction sequence in the related art is executed by a system using a high-speed memory and a wide bus width.

【図14】従来の技術における入力命令列を低速なメモ
リや狭いバス幅を用いたシステムにより実行したときの
パイプラインの説明図である。
FIG. 14 is an explanatory diagram of a pipeline when an input instruction sequence in the related art is executed by a system using a low-speed memory or a narrow bus width.

【符号の説明】[Explanation of symbols]

1 命令列格納装置 2 バスアクセスパラメータ格納装置 3 命令スケジューリング装置 4 バスアクセス命令検出装置 5 命令間距離算出装置 6 バスアクセス干渉命令検出装置 7 並び替え可能命令検出装置 8 命令並び替え装置 DESCRIPTION OF SYMBOLS 1 Instruction string storage device 2 Bus access parameter storage device 3 Instruction scheduling device 4 Bus access instruction detection device 5 Inter-instruction distance calculation device 6 Bus access interference instruction detection device 7 Sortable instruction detection device 8 Instruction rearrangement device

Claims (6)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 命令列を格納する命令列格納手段と、バ
スアクセスパラメータを保持するバスアクセスパラメー
タ格納手段とを用いて、格納する命令列からバスアクセス命令を検出し、 検出したバスアクセス命令から、バスアクセス命令間の
実行クロック数を命令間距離情報として算出し、 保持しているバスアクセスパラメータと、算出した命令
間距離情報に基づいて、バスアクセスにペナルティを発
生するペナルティ発生命令を検出し、 格納している命令列からペナルティ発生命令に対して並
び替え可能な命令を検出し、 検出した並び替えが可能な命令列のうち並び替え可能命
令をペナルティ発生命令の前後に並び替えてバスアクセ
ス干渉が発生しないように命令スケジューリングステッ
プを実行する ことを特徴とするデータ処理方法。
1. A and the instruction sequence storage means for storing an instruction sequence, by using the bus access parameter storage means for storing the bus access parameters, detects a bus access instructions from the instruction sequence to store, from the detected bus access instruction Between bus access instructions
The number of execution clocks is calculated as inter-instruction distance information, and the bus access parameters held and the calculated instruction
Penalty for bus access based on distance information
Detecting a penalty generating instructions that raw, parallel with respect to the penalty generating instructions from the instruction sequence that contains
Reorderable instructions are detected, and the reorderable instruction
Instructions before and after the penalty occurrence instruction.
Instruction scheduling step to prevent
A data processing method for executing the data processing.
【請求項2】 命令列を格納する命令列格納手段と、バスアクセスパラメータを保持するバスアクセスパラメ
ータ格納手段と、 格納する命令列からバスアクセス命令を検出し、 検出したバスアクセス命令から、バスアクセス命令間の
実行クロック数を命令間距離情報として算出し、 保持しているバスアクセスパラメータと、算出した命令
間距離情報に基づいて、バスアクセスにペナルティを発
生するペナルティ発生命令を検出し、 格納している命令列からペナルティ発生命令に対して並
び替えが可能な命令を検出し、 検出した並び替えが可能な命令列のうち並び替え可能命
令をペナルティ発生命令の前後に並び替えてバスアクセ
ス干渉が発生しないようにスケジューリングする命令ス
ケジューリング手段と、 を備えたことを特徴とするデータ処理装置。
2. An instruction sequence storing means for storing an instruction sequence, and a bus access parameter for holding a bus access parameter.
Data storage means and a bus access instruction is detected from the stored instruction sequence .
The number of execution clocks is calculated as inter-instruction distance information, and the bus access parameters held and the calculated instruction
Penalty for bus access based on distance information
Detecting a penalty generating instructions that raw, parallel with respect to the penalty generating instructions from the instruction sequence that contains
Reorderable instructions are detected, and the reorderable instruction
Instructions before and after the penalty occurrence instruction.
Instruction scheduling to avoid interference
A data processing device comprising scheduling means .
【請求項3】 命令列を格納する命令列格納手段と、バ
スアクセスパラメータを保持するバスアクセスパラメー
タ格納手段とを用いて、 前記命令列格納手段からの命令列からバスアクセス命令
を検出し、それがバスアクセス命令である旨の情報を付
加するバスアクセス命令検出ステップと、 前記バスアクセス命令検出ステップにおいて処理された
命令列から、バスアクセス命令間の実行クロック数を算
出し、その算出結果である命令間距離情報を命令列に付
加する命令間距離算出ステップと、 前記バスアクセスパラメータ格納手段からのバスアクセ
スパラメータに基づいて、前記命令間距離算出ステップ
において処理された命令列に含まれるバスアクセス命令
のうちバスアクセスにペナルティを発生する命令を検出
し、それがペナルティ発生命令である旨の情報を付加す
るバスアクセス干渉命令検出ステップと、 前記バスアクセス干渉命令検出ステップにおいて処理さ
れた命令列からペナルティ発生命令に対して並び替えが
可能な命令を検出し、それが並び替え可能命令である旨
の情報を付加する並び替え可能命令検出ステップと、 前記並び替え可能命令検出ステップにおいて処理された
命令列のうち並び替え可能命令をペナルティ発生命令の
前後に並び替えてバスアクセス干渉が発生しないように
スケジューリングする命令列並び替えステップと、 を実行することを特徴とするデータ処理方法。
3. A bus access instruction is detected from an instruction string from said instruction string storage means using an instruction string storage means for storing an instruction string and a bus access parameter storage means for holding a bus access parameter. A bus access instruction detecting step of adding information indicating that the command is a bus access instruction; and calculating the number of execution clocks between the bus access instructions from the instruction sequence processed in the bus access instruction detecting step. An inter-instruction distance calculating step of adding inter-instruction distance information to the instruction sequence; and a bus access instruction included in the instruction sequence processed in the inter-instruction distance calculating step based on the bus access parameter from the bus access parameter storage means. Of instructions that cause a penalty on bus access A bus access interference instruction detecting step of adding information indicating that the instruction is a command; and detecting an instruction that can be rearranged for the penalty generating instruction from the instruction sequence processed in the bus access interference instruction detecting step. A rearrangeable instruction detecting step of adding information indicating that the instruction is a permutable instruction; and a bus access by rearranging the rearrangeable instruction in the instruction sequence processed in the rearrangeable instruction detecting step before and after the penalty generating instruction. An instruction sequence rearranging step of performing scheduling so that interference does not occur.
【請求項4】 命令列を格納する命令列格納手段と、 バスアクセスパラメータを保持するバスアクセスパラメ
ータ格納手段と、 前記命令列格納手段からの命令列からバスアクセス命令
を検出し、それがバスアクセス命令である旨の情報を付
加するバスアクセス命令検出手段と、 前記バスアクセス命令検出手段からの命令列から、バス
アクセス命令間の実行クロック数を算出し、その算出結
果である命令間距離情報を命令列に付加する命令間距離
算出手段と、 前記バスアクセスパラメータ格納手段からのバスアクセ
スパラメータに基づいて、前記命令間距離算出手段から
の命令列に含まれるバスアクセス命令のうちバスアクセ
スにペナルティを発生する命令を検出し、それがペナル
ティ発生命令である旨の情報を付加するバスアクセス干
渉命令検出手段と、 前記バスアクセス干渉命令検出手段からの命令列からペ
ナルティ発生命令に対して並び替えが可能な命令を検出
し、それが並び替え可能命令である旨の情報を付加する
並び替え可能命令検出手段と、 前記並び替え可能命令検出手段からの命令列のうち並び
替え可能命令をペナルティ発生命令の前後に並び替えて
バスアクセス干渉が発生しないようにスケジューリング
する命令列並び替え手段と、 を備えたことを特徴とするデータ処理装置。
4. An instruction sequence storing unit for storing an instruction sequence, a bus access parameter storing unit for storing a bus access parameter, a bus access instruction is detected from an instruction sequence from the instruction sequence storing unit, and the bus access instruction is detected. A bus access instruction detecting means for adding information indicating that the instruction is an instruction; and calculating the number of execution clocks between the bus access instructions from an instruction sequence from the bus access instruction detecting means. An inter-instruction distance calculation unit to be added to the instruction sequence; and a penalty for bus access among bus access instructions included in the instruction sequence from the inter-instruction distance calculation unit, based on a bus access parameter from the bus access parameter storage unit. A bus access interference instruction that detects the instruction that occurs and adds information that it is a penalty-occurring instruction Detecting means for detecting a sortable instruction for the penalty generating instruction from the instruction sequence from the bus access interference instruction detecting means and adding information indicating that the instruction is a sortable instruction; Detecting means; and an instruction sequence rearranging means for rearranging the re-arrangeable instructions in the instruction sequence from the re-arrangeable instruction detecting means before and after the penalty generating instruction and scheduling so as not to cause bus access interference. A data processing device, characterized in that:
【請求項5】 バスアクセスパラメータとして、メモリ
ウェイト数とバス幅とを用いることを特徴とする請求項
1または請求項3に記載のデータ処理方法。
5. The data processing method according to claim 1, wherein a memory weight number and a bus width are used as bus access parameters.
【請求項6】 バスアクセスパラメータとして、メモリ
ウェイト数とバス幅とを用いる構成としたことを特徴と
する請求項2または請求項4に記載のデータ処理装置。
6. The data processing device according to claim 2, wherein a number of memory waits and a bus width are used as bus access parameters.
JP31894492A 1992-11-27 1992-11-27 Data processing method and data processing device Expired - Fee Related JP3327598B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31894492A JP3327598B2 (en) 1992-11-27 1992-11-27 Data processing method and data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31894492A JP3327598B2 (en) 1992-11-27 1992-11-27 Data processing method and data processing device

Publications (2)

Publication Number Publication Date
JPH06168118A JPH06168118A (en) 1994-06-14
JP3327598B2 true JP3327598B2 (en) 2002-09-24

Family

ID=18104736

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31894492A Expired - Fee Related JP3327598B2 (en) 1992-11-27 1992-11-27 Data processing method and data processing device

Country Status (1)

Country Link
JP (1) JP3327598B2 (en)

Also Published As

Publication number Publication date
JPH06168118A (en) 1994-06-14

Similar Documents

Publication Publication Date Title
JP2818249B2 (en) Electronic computer
US5774709A (en) Enhanced branch delay slot handling with single exception program counter
JP2002351657A (en) Multiprocessor system controller for execution of data dependent speculation and its method
US4967338A (en) Loosely coupled pipeline processor
US11016776B2 (en) System and method for executing instructions
US6550000B1 (en) Processor to execute in parallel plurality of instructions using plurality of functional units, and instruction allocation controller
US7676783B2 (en) Apparatus for performing computational transformations as applied to in-memory processing of stateful, transaction oriented systems
JP2004529405A (en) Superscalar processor implementing content addressable memory for determining dependencies
JPH11272546A (en) Variable length register device
US6049839A (en) Data processor with multiple register queues
CN100416495C (en) hardware loop
JP3327598B2 (en) Data processing method and data processing device
KR102631214B1 (en) Method and system for efficient data forwarding for accelerating large language model inference
US7673294B2 (en) Mechanism for pipelining loops with irregular loop control
Kawano et al. Fine-grain multi-thread processor architecture for massively parallel processing
US20040034858A1 (en) Programming a multi-threaded processor
US11593115B2 (en) Processor, device, and method for executing instructions
US6430682B1 (en) Reliable branch predictions for real-time applications
US7269720B2 (en) Dynamically controlling execution of operations within a multi-operation instruction
JP7383390B2 (en) Information processing unit, information processing device, information processing method and program
US20140365751A1 (en) Operand generation in at least one processing pipeline
US5828861A (en) System and method for reducing the critical path in memory control unit and input/output control unit operations
JP2668987B2 (en) Data processing device
JP2006515446A (en) Data processing system with Cartesian controller that cross-references related applications
JP3476314B2 (en) Microprocessor

Legal Events

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

Free format text: PAYMENT UNTIL: 20070712

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20080712

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090712

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090712

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100712

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110712

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110712

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120712

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees