JP2006527420A - データアクセスプログラム命令のコード化 - Google Patents

データアクセスプログラム命令のコード化 Download PDF

Info

Publication number
JP2006527420A
JP2006527420A JP2005500707A JP2005500707A JP2006527420A JP 2006527420 A JP2006527420 A JP 2006527420A JP 2005500707 A JP2005500707 A JP 2005500707A JP 2005500707 A JP2005500707 A JP 2005500707A JP 2006527420 A JP2006527420 A JP 2006527420A
Authority
JP
Japan
Prior art keywords
value
data access
address value
address
offset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005500707A
Other languages
English (en)
Other versions
JP3990423B2 (ja
Inventor
デイヴィッド・ジェームス・シール
ブラディミア・バセキン
Original Assignee
アーム・リミテッド
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 アーム・リミテッド filed Critical アーム・リミテッド
Publication of JP2006527420A publication Critical patent/JP2006527420A/ja
Application granted granted Critical
Publication of JP3990423B2 publication Critical patent/JP3990423B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • 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
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
    • 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
    • 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
    • G06F9/355Indexed addressing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

データアクセス動作を実行するためのデータアクセス命令に応答するデータ処理装置(2)が提供される。これらのデータアクセス命令は、12ビットオフセットフィールドを使用するが、しかし固定のアドレス指定モードによる第1の形態と、それより短い8ビットオフセットフィールドを使用するが、しかしデータアクセス命令の操作モード制御フィールド内で指定されたアドレス指定モードによる第2の形態とを有する。

Description

本発明は、データ処理システムの分野に関するものである。更に特に、本発明は、データ処理システムにおいて使用するのためのデータアクセスプログラム命令のコード化に関するものである。
データ処理システムにデータアクセス命令を与えるということが知られている。そのような種類のプログラム命令の例は、ARM命令セットの命令のLDR/LDRB/STR/STRBクラスである(例えばARM構造リファレンスマニュアルを参照)。これらは、それらが異なる主動作を指定するが、しかし各主動作は同一のアドレス指定モード、または他の副動作を全ての他のもののように使用することができるという意味において、相互に関して直交するようにコード化される一群の命令である。ARM命令セットは、32ビット命令セットであると共に、命令のLDR/LDRB/STR/STRBクラスは、アドレス指定モード計算に影響を及ぼす20ビットを含み、これらは、基準レジスタを指定するための4ビット(ビット[19:16])、12ビットの即値のオフセット(命令の第1の形態)、またはインデックスレジスタのいずれかを指定すると共に、それに適用されるようにシフト(或いは回転)する(命令の第2の形態)ための13ビット(ビット[25]、及びビット[11:0])、及び基準レジスタ値、及びオフセットに関して実行されるべき操作を指定するための3ビット(P=bit[24],U=bit[23],W=bit[21])である。指定され得るアドレス指定モードの例は、オフセットアドレス指定、プリ−インデックス付きアドレス指定、ポスト−インデックス付きアドレス指定、及び特権的ではないポスト−インデックス付きアドレス指定である。そのようなデータアクセス命令は、データアクセス動作が指定され得るように、かなりの柔軟性を提供する。これは、メモリに対して、またはメモリから所望のデータを転送するのに必要とされる命令の数を減少させるのを助け、それによってスピードを増加すると共に、コード密度を向上させる。
データ処理システムの中で共通する問題は、利用可能なコード化ビットスペースが有限の資源であると共に、異なる状況において有益であるかもしれないさまざまな種類の命令に関して、競合する要求がこのコード化ビットスペース上で生成されることである。提供されるであろう潜在的に有益な命令の数が、プロセッサ構造の中の利用可能なコード化ビットスペースを越える場合が多い。従って、コード化ビットスペースの使用効率を向上させ得る施策は、強く有利である。
1つの特徴から見られるように、本発明は、データを処理するための装置を提供する。前記装置は、それぞれのデータ値を保持するように動作可能な1つ以上のレジスタを有するレジスタバンクと、前記装置とアドレス指定されたメモリ回路内部の記憶場所との間で1つ以上のデータ値を転送するデータアクセス動作を実行するように動作可能なデータアクセス回路と、それぞれのデータアクセス動作を実行するために、前記データアクセス回路を制御するためのデータアクセスプログラム命令に応答する命令デコーダとを備え、前記データアクセスプログラム命令の各々が、オフセット値を指定するアドレスオフセットフィールドを有し、前記レジスタバンク内の基準アドレスレジスタを指定する基準レジスタフィールドを有すると共に、前記データアクセスプログラム命令の実行中にアクセスされるべき前記メモリ回路内のメモリアドレス値を形成するために、前記オフセット値、及び前記基準アドレスレジスタ内に保持される基準アドレス値に関して実行されるべき操作を指定し、前記データアクセスプログラム命令が、(i)第1のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第1の形態と、(ii)第2のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第2の形態とを有し、前記第1のアドレスオフセットフィールド長が、前記第2のアドレスオフセットフィールド長より大きく、前記第1の形態が、前記第2の形態より、前記基準アドレス値、及び前記オフセット値に関して実行されるべき、より少ない数の実行可能な操作を指定することができることを特徴とする。
本発明は、実際上大部分のプログラマ、及びコンパイラが、大きなオフセットフィールド、及び多数の操作モード選択を与え得るデータアクセス命令によって提供され得る多数の可能性を、同じように使用しないということを認識する。更に特に、一例として、オフセットの低い値は、高い値より一般的である。更に、基準レジスタ値に加えられるオフセットによるシンプルなオフセットアドレス指定は、他のタイプの操作より一般的である。あまり一般的ではないオプションの2つ以上、例えば大きなオフセット値、及びポスト−インデックス付きアドレス指定に関して、同時に現れることはまれである。プログラムの統計的分析は、使用される命令の種類の分配における非均一性が、プログラムの一般的特性であると共に、特別なプログラマ、及び特別なコンパイル方法の特性ではないことを示す。本発明は、両方を認識して、この特性を活用する。特に、本発明は、長いオフセットフィールドと、少ない(或いは、ほんの1つの)アドレス操作オプションとを備える第1の形態、及びそれより短いオフセットフィールドと、しかしそれより多数のアドレス操作オプションとを備える第2の形態を有するデータアクセスプログラム命令を提供する。従って、圧倒的多数の状況において所望の動作を直接提供する命令の可用性を維持する一方で、データアクセス命令によって利用されるコード化ビットスペースの総計は減少され得る。
好ましい実施例において、前記操作は、前記オフセット値を前記基準アドレス値に加算すること、及び前記オフセット値を前記基準アドレス値から減算することの内の1つにより、変更アドレス値を形成する。
好ましい実施例において、前記操作は、同様に、データアクセス動作のために、以下の、前記基準アドレス値を前記メモリアドレス値として使用すること、前記変更アドレス値を前記メモリアドレス値として使用すること、前記基準アドレス値を使用し、前記変更アドレス値を前記メモリアドレス値として前記基準アドレスレジスタに書き戻すこと、前記変更アドレス値を使用し、前記変更アドレス値を前記メモリアドレス値として前記基準アドレスレジスタに書き戻すこと、というオプションの内の少なくとも1つを可能にする。
好ましい実施例において、前記装置は、少なくともその内の1つは特権的であり、少なくともその内の1つは特権的ではない複数のモードにおいて動作し得ると共に、コードが前記メモリ回路に対するアクセスの異なるレベルを与えられることを可能にするために、データアクセスは、特権的であるもの、または特権的ではないもののいずれにも特徴付けられる。
好ましい実施例において、前記操作の少なくとも1つの形態は、メモリアクセスが、現在のモードに関係なく、強制的に特権的ではないものにされることを可能にする。
本技術は、オフセットフィールドを指定するために使用されるコード化ビットスペースと、アドレス指定モードにおいて適用される操作を指定するために使用されるコード化ビットスペースとを交換するということが認識されることになる。特に好ましい実施例は、命令の第1の形態が、固定した操作によって動作すると共に、従って命令の中で操作モード制御フィールドを必要としないものであり、命令の第2の形態が、使用され得る複数の異なる操作の内の1つを指定する操作モード制御フィールドを備えるものである。
命令の第2の形態におけるそのような操作を用いて実行され得るあらゆるデータアクセス動作が、命令の第1の形態における同じ操作を使用して等しく上手に実行され得るので、命令の第1の形態、及び命令の第2の形態の両方において利用可能であるあらゆる操作がコード化ビットスペースの非能率的な使用となるということが認識されることになる。従って、好ましい実施例において、前記第1の形態、及び前記第2の形態によって提供された操作のセットは解体される。
別の特徴から見られるように、本発明は、データを処理するための方法を提供する。前記方法は、データ処理装置の一部分を構成しているレジスタバンクの1つ以上のレジスタの中の各1つ内に、1つ以上のデータ値を保持する処理と、データアクセス回路によって、前記データ処理装置とアドレス指定されたメモリ回路内部の記憶場所との間で1つ以上のデータ値を転送するデータアクセス動作を実行する処理と、データアクセスプログラム命令に応答して、それぞれのデータアクセス動作を実行するために、命令デコーダによって前記データアクセス回路を制御する処理とを含み、前記データアクセスプログラム命令の各々が、オフセット値を指定するアドレスオフセットフィールドを有し、前記レジスタバンク内の基準アドレスレジスタを指定する基準レジスタフィールドを有すると共に、前記データアクセスプログラム命令の実行中にアクセスされるべき前記メモリ回路内のメモリアドレス値を形成するために、前記オフセット値、及び前記基準アドレスレジスタ内に保持される基準アドレス値に関して実行されるべき操作を指定し、前記データアクセスプログラム命令が、(i)第1のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第1の形態と、(ii)第2のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第2の形態とを有し、前記第1のアドレスオフセットフィールド長が、前記第2のアドレスオフセットフィールド長より大きく、前記第1の形態が、前記第2の形態より、前記基準アドレス値、及び前記オフセット値に関して実行されるべき、より少ない数の実行可能な操作を指定することができることを特徴とする。
更に別の特徴から見られるように、本発明は、データ処理装置を制御するように動作可能なコンピュータプログラムを有するコンピュータプログラム製品を提供する。前記コンピュータプログラムは、レジスタバンクの1つ以上のレジスタの中の各1つ内に、操作のための1つ以上のデータ値を保持すると共に、データアクセス回路によって、前記データ処理装置とアドレス指定されたメモリ回路内部の記憶場所との間で1つ以上のデータ値を転送するデータアクセス動作を実行するように動作可能であると共に、複数のデータアクセスプログラム命令を含むデータアクセスコードを有し、前記データアクセスプログラム命令の各々が、オフセット値を指定するアドレスオフセットフィールドを有し、前記レジスタバンク内の基準アドレスレジスタを指定する基準レジスタフィールドを有すると共に、前記データアクセスプログラム命令の実行中にアクセスされるべき前記メモリ回路内のメモリアドレス値を形成するために、前記オフセット値、及び前記基準アドレスレジスタ内に保持される基準アドレス値に関して実行されるべき操作を指定し、前記データアクセスプログラム命令が、それぞれ(i)第1のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第1の形態と、(ii)第2のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第2の形態とを有する少なくとも1つのデータアクセスプログラム命令を含み、前記第1のアドレスオフセットフィールド長が、前記第2のアドレスオフセットフィールド長より大きく、前記第1の形態が、前記第2の形態より、前記基準アドレス値、及び前記オフセット値に関して実行されるべき、より少ない数の実行可能な操作を指定することができることを特徴とする。
本発明の一実施例は、一例としてのみ、添付図面を参照して、これからここで示されることになる。
図1は、それぞれのデータ値を記憶するための複数のプログラムレジスタを有するレジスタバンク4、乗算器6、シフター8、加算器10、命令デコーダ12、命令パイプライン14、及び読み込み/記憶ユニット16を含むプロセッサコアの形態におけるデータ処理装置2を概略的に説明する。この技術分野における当業者によく知られているように、データ処理装置2が一般的に更に多くの回路素子を含むことになるが、しかし明瞭にするためにこれらの回路素子は図1から省略されたということが認識されることになる。操作プログラムにおいて、命令は、メモリ(図示せず)から命令パイプライン14にフェッチされる。プログラム命令が、命令パイプライン14内のデコードステージに到着すると、それは、所望のデータ処理動作を実行するために、レジスタバンク4、乗算器6、シフター8、及び加算器10を含むデータ処理ロジックに印加される制御信号を生成する命令デコーダ12によって解読される。
実行され得ると共に、命令デコーダ12が応答する1つの種類のプログラム命令は、データアクセス命令である。そのようなデータアクセス命令は、データ処理装置2に接続されたメモリの中の指定されたアドレス、または一連のアドレスに対してデータを書き込むか、またはデータ処理装置2に接続されたメモリの中の指定されたアドレス、または一連のアドレスからデータを読み込むために、読み込み/記憶ユニット16によって実行されるべき読み込み動作、または記憶動作を指定する。アクセスされたデータ値は、データ処理装置のこの種類の読み込み/記憶構造において、レジスタバンク4の中のそれぞれのレジスタに書き込まれるか、もしくはレジスタバンク4の中のそれぞれのレジスタから読み込まれる。しかしながら、これは、本質的要求ではない。
現存するARM命令セットによって提供されたデータアクセス命令の種類から良く知られるように、これらのデータアクセス命令は、即値のオフセット値、及び使用されるべき操作モードを指定し得る。命令デコーダ12は、これらのパラメータを指定するデータアクセス命令の中のフィールドに応答すると共に、動作のためにこれらのパラメータを読み込み/記憶ユニット16に渡す。データアクセス命令に含まれる基準レジスタ指示子フィールドは、データアクセス動作に使用される基準アドレス値を獲得するために読み込み/記憶ユニット16によって読まれるレジスタバンク4の中のプログラムレジスタの内の1つを指定する。メモリにアクセスするために使用されるメモリアドレス値は、例えば命令のアドレスオフセットフィールドに含まれるオフセット値の加算から構成され得る操作によって、この基準アドレス値から形成される。この装置において、メモリに対して転送されるか、またはメモリから転送されるそれぞれのデータ値は、読み込み/記憶ユニット16によって、レジスタバンク4から読み込まれるか、またはレジスタバンク4に対して書き込まれる。
図2は、データアクセス命令の第1の形態を概略的に説明する。この命令は、2つの16ビットのハーフワードを有する。この第1の形態において、ハーフワード“HW1”における“bit[8]=1”は、命令デコーダ12に、ハーフワード“HW2”が長い12ビットのオフセット値フィールド“offset12”を備えると共に、ゼロを拡張したオフセット値が基準アドレス値に加算され、結果がデータアクセスのためのメモリアドレス値として使用される固定したアドレス操作を命令が使用することを示す。
フィールド“Rn”は、基準アドレス値を保持するレジスタを指定する。フィールド“Rd”は、データアクセス動作の送り元または送り先のいずれかであるレジスタを指定する。ハーフワード“HW1”のビット[15:9]は、この命令がデータアクセス命令であることを指定すると共に、ハーフワード“HW1”のビット[7:4]は、読み込み、または記憶のどちらが実行されるべきであるか、メモリ内でアクセスされるべきデータの長さ(例えば8ビットのバイト、16ビットのハーフワード、または32ビットのワード)、及び幅の狭いデータ値が、それより幅の広いレジスタに読み込まれる場合に、値がゼロで拡張されたか、またはサイン符号(正負の符号)で拡張されたか、のような実行されるべきデータアクセスの詳細を指定するOPコードフィールドである。
図3は、第2の形態のデータアクセス命令を概略的に説明する。この第2の形態において、ハーフワード“HW1”における“ビット[8]=0”は、命令デコーダ12に、ハーフワード“HW2”が短い8ビットのオフセット値フィールド“offset8”を備えると共に、同様に、使用されるべきアドレス操作を指定するP、U、及びWの3ビットを備えることを示す。フィールド“Rn”、“Rd”、そしてハーフワード“HW1”のビット[15:9]、及びビット[7:4]は、図2においてそれらが指定するものと同一のものを指定する。
Uビットは、変更アドレス値を形成するために、基準アドレス値にゼロで拡張したオフセット値が加算されるべきか、基準アドレス値からゼロで拡張したオフセット値が減算されるべきかを指定する。
Pビットは、データアクセスのために使用されるメモリアドレス値が、基準アドレス値であるか、または変更アドレス値であるかを指定する。
Wビットは、基準アドレス値を保持するレジスタが変更されない状態で維持されるか、またはそれに変更アドレス値が書き戻されたかを指定する。
更に、P、U、及びWビットが第1の形態によって使用されるアドレス操作を指定する(すなわち、オフセットが基準アドレス値に加算され、変更アドレス値がデータアクセスのために使用され、そして基準アドレス値を保持するレジスタが変更されない状態で維持される)とき、プロセッサが特権的な動作モードにあるか、または特権的ではない動作モードにあるかに関係なく、データアクセスは特権的ではないとしても記録される。命令の第1の形態が、必要とされるデータアクセス動作を利用可能にするので、P、U、及びWビットのこの組合せが他の場合は冗長であるということが認識されることになる。
図2において説明されたデータアクセス命令の第1の形態が、固定のアドレス操作を犠牲にして、大きなオフセットフィールドを提供するのに対して、図3において説明されたデータアクセス命令の第2の形態が、それより小さなオフセットフィールドを提供するが、しかし実行されるべきアドレス操作のためにそれより多数のオプションを提供するということが、上記の内容から分かることになる。第1の形態、及び第2の形態のデータアクセス命令の組合せが、これらのパラメータを指定するために使用されるコード化ビットスペースの量を減少させる一方で、望まれるデータアクセス動作の種類に対して良い補償範囲を提供する際に、特に有利であるということが分かった。倹約されたコード化ビットスペースは、その場合に、かなりの利点に対する他の目的のために使用されることができる。上述のコード化は、オフセット、及びアドレス操作を指定するのに13ビットを必要とする(HW1[8]、及びHW2[11:0])が、一方ARM命令セットに使用される簡単な(“P”、“U”、“W”、“offset12”)コード化は、15ビットを必要とするであろう。
これに代るコード化として、以下の内容を使用することが同様に可能である。図2、及び図3で示された“1110101”よりむしろ“HW1[15:9]=1111100”とする。HW1[8]よりむしろ2つの形態の命令を区別するためにHW1[7]を使用する。そして、OPコードフィールドとしてHW1[7:4]よりむしろH1[8,6:4]を使用する。図3において、示された“0”よりむしろHW2[11]=1を使用する。
図4は、命令デコーダ12によって実行される処理動作を概略的に説明するフローチャートである。実際上かなりの並列処理が使用され得る命令デコーダ12の中では、図4において説明された順次的な処理は起こらないかもしれないということが認識されることになる。しかしながら、図4は、必要とされるデコーディング(解読)、及び実行される動作の理解を提供することを支援する。
ステップ18において、命令デコーダは、データアクセス命令であることを、第1のハーフワード“HW1”の最上位側の7ビットによって確認する。もしその時、別の種類の命令が確認される場合、これはステップ19において解読される。ステップ20において、命令デコーダ12は、データアクセス命令が第1の形態の内の1つであるか、または第2の形態の内の1つであるかを判定するために、ハーフワード“HW1”の中のビット[8]を調査する。もしこのビット[8]が“1”に等しい場合、その場合に、データアクセス命令は第1の形態を有すると共に、処理は、所望のデータアクセス命令に関連付けられた更なるパラメータを判定するためにOPコードが解読されるステップ24に進み、そして、長い12ビットオフセット値が、オフセット値が加算されるオフセットアドレス指定の固定の操作モードによって使用される。
ステップ20における判定が“ビット[8]=0”であった場合、その場合に、処理は、以前に言及されたアドレス操作モードの内のいずれが使用されるべきであるかを判定するために、ハーフワード“HW2”の操作モード制御フィールド[10:8]が解読されるステップ28に進む。その次に、ステップ30において、OPコードHW1[7:4]によって指定されたデータアクセスが、更に小さな8ビットオフセット値、及び指定された操作を用いて実行される。
図5は、上述の技術に従ってプログラム命令を実行することができる汎用コンピュータ200を概略的に説明する。汎用コンピュータ200は、中央演算処理装置202、ランダムアクセスメモリ204、読取専用メモリ206、ネットワークインタフェースカード208、ハードディスクドライブ210、ディスプレイドライバ212、モニタ214、及びキーボード218とマウス220とを有する利用者入力/出力回路216を備え、これらは全て共通バス222によって接続される。動作中、中央演算処理装置202は、ランダムアクセスメモリ204、読取専用メモリ206、及びハードディスクドライブ210の内の1つ以上に記憶される可能性があるコンピュータプログラム命令か、もしくは動的にネットワークインタフェースカード208経由でダウンロードされるコンピュータプログラム命令を実行することになる。実行された処理の結果は、ディスプレイドライバ212、及びモニタ214経由で利用者に表示されることができる。汎用コンピュータ200の動作を制御するための利用者入力は、キーボード218、またはマウス220から、利用者入力/出力回路216経由で受信されることができる。コンピュータプログラムが様々な異なるコンピュータ言語で書かれるであろうということが認識されることになる。コンピュータプログラムは、記録媒体上に記憶されて分配されるか、もしくは動的に汎用コンピュータ200にダウンロードされることができる。動作が適切なコンピュータプログラムの制御下にあるとき、汎用コンピュータ200は、上述の技術を実行することができると共に、上述の技術を実行するための装置を構成すると考えられ得る。汎用コンピュータ200の構造は、大幅に変更し得ると共に、図5はほんの一例である。
データアクセス命令を利用するデータ処理装置を概略的に説明する図である。 データアクセス命令の第1の形態を概略的に説明する図である。 データアクセス命令の第2の形態を概略的に説明する図である。 第1の形態のデータアクセス命令、及び第2の形態のデータアクセス命令を解読する際の命令デコーダの動作を概略的に説明するフローチャートである。 本発明の技術に従ってプログラム命令を実行することができる汎用コンピュータの構造を概略的に説明する図である。
符号の説明
2 データ処理装置
4 レジスタバンク
6 乗算器
8 シフター
10 加算器
12 命令デコーダ
14 命令パイプライン
16 読み込み/記憶ユニット
200 汎用コンピュータ
202 中央演算処理装置
204 ランダムアクセスメモリ
206 読取専用メモリ
208 ネットワークインタフェースカード
210 ハードディスクドライブ
212 ディスプレイドライバ
214 モニタ
216 利用者入力/出力回路
218 キーボード
220 マウス
222 共通バス

Claims (27)

  1. データを処理するための装置であって、
    それぞれのデータ値を保持するように動作可能な1つ以上のレジスタを有するレジスタバンクと、
    前記装置とアドレス指定されたメモリ回路内部の記憶場所との間で1つ以上のデータ値を転送するデータアクセス動作を実行するように動作可能なデータアクセス回路と、
    それぞれのデータアクセス動作を実行するために、前記データアクセス回路を制御するためのデータアクセスプログラム命令に応答する命令デコーダとを備え、
    前記データアクセスプログラム命令の各々が、オフセット値を指定するアドレスオフセットフィールドを有し、前記レジスタバンク内の基準アドレスレジスタを指定する基準レジスタフィールドを有すると共に、前記データアクセスプログラム命令の実行中にアクセスされるべき前記メモリ回路内のメモリアドレス値を形成するために、前記オフセット値、及び前記基準アドレスレジスタ内に保持される基準アドレス値に関して実行されるべき操作を指定し、
    前記データアクセスプログラム命令が、
    (i)第1のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第1の形態と、
    (ii)第2のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第2の形態とを有し、
    前記第1のアドレスオフセットフィールド長が、前記第2のアドレスオフセットフィールド長より大きく、
    前記第1の形態が、前記第2の形態より、前記基準アドレス値、及び前記オフセット値に関して実行されるべき、より少ない数の実行可能な操作を指定することができる
    ことを特徴とする装置。
  2. 前記操作が、前記オフセット値を前記基準アドレス値に加算すること、及び前記オフセット値を前記基準アドレス値から減算することの内の1つにより、変更アドレス値を形成する
    ことを特徴とする請求項1に記載の装置。
  3. 前記操作が、同様に、データアクセス動作のために、以下の、前記基準アドレス値を前記メモリアドレス値として使用すること、前記変更アドレス値を前記メモリアドレス値として使用すること、前記基準アドレス値を使用し、前記変更アドレス値を前記メモリアドレス値として前記基準アドレスレジスタに書き戻すこと、前記変更アドレス値を使用し、前記変更アドレス値を前記メモリアドレス値として前記基準アドレスレジスタに書き戻すこと、というオプションの内の少なくとも1つを可能にする
    ことを特徴とする請求項1、または請求項2に記載の装置。
  4. 前記装置が、少なくともその内の1つは特権的であり、少なくともその内の1つは特権的ではない複数のモードにおいて動作し得ると共に、
    コードが前記メモリ回路に対するアクセスの異なるレベルを与えられることを可能にするために、データアクセスが、特権的であるもの、または特権的ではないもののどちらとしても記録される
    ことを特徴とする請求項1から請求項3のいずれかに記載の装置。
  5. 前記操作の少なくとも1つの形態は、メモリアクセスが、現在のモードに関係なく、強制的に特権的ではないものにされることを可能にする
    ことを特徴とする請求項4に記載の装置。
  6. 前記基準アドレス値と前記オフセット値との合計値が前記メモリアドレス値として使用されると共に、実行の後で前記基準アドレス値が変更されない固定した操作によって、前記第1の形態の前記データアクセスプログラム命令が動作する
    ことを特徴とする請求項1から請求項5のいずれかに記載の装置。
  7. 前記第2の形態の前記データアクセスプログラム命令が、複数の異なる操作の内のどれが使用されるべきであるかを指定する操作モード制御フィールドを含む
    ことを特徴とする請求項1から請求項6のいずれかに記載の装置。
  8. 前記第1の形態、及び前記第2の形態によって提供された操作のセットが解体される
    ことを特徴とする請求項1から請求項7のいずれかに記載の装置。
  9. 前記データ値が、前記レジスタバンクのそれぞれのレジスタとアドレス指定された記憶場所との間で転送される
    ことを特徴とする請求項1から請求項8のいずれかに記載の装置。
  10. データを処理するための方法であって、
    データ処理装置の一部分を構成しているレジスタバンクの1つ以上のレジスタの中の各1つ内に、1つ以上のデータ値を保持する処理と、
    データアクセス回路によって、前記データ処理装置とアドレス指定されたメモリ回路内部の記憶場所との間で1つ以上のデータ値を転送するデータアクセス動作を実行する処理と、
    データアクセスプログラム命令に応答して、それぞれのデータアクセス動作を実行するために、命令デコーダによって前記データアクセス回路を制御する処理とを含み、
    前記データアクセスプログラム命令の各々が、オフセット値を指定するアドレスオフセットフィールドを有し、前記レジスタバンク内の基準アドレスレジスタを指定する基準レジスタフィールドを有すると共に、前記データアクセスプログラム命令の実行中にアクセスされるべき前記メモリ回路内のメモリアドレス値を形成するために、前記オフセット値、及び前記基準アドレスレジスタ内に保持される基準アドレス値に関して実行されるべき操作を指定し、
    前記データアクセスプログラム命令が、
    (i)第1のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第1の形態と、
    (ii)第2のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第2の形態とを有し、
    前記第1のアドレスオフセットフィールド長が、前記第2のアドレスオフセットフィールド長より大きく、
    前記第1の形態が、前記第2の形態より、前記基準アドレス値、及び前記オフセット値に関して実行されるべき、より少ない数の実行可能な操作を指定することができる
    ことを特徴とする方法。
  11. 前記操作が、前記オフセット値を前記基準アドレス値に加算すること、及び前記オフセット値を前記基準アドレス値から減算することの内の1つにより、変更アドレス値を形成する
    ことを特徴とする請求項10に記載の方法。
  12. 前記操作が、同様に、データアクセス動作のために、以下の、前記基準アドレス値を前記メモリアドレス値として使用すること、前記変更アドレス値を前記メモリアドレス値として使用すること、前記基準アドレス値を使用し、前記変更アドレス値を前記メモリアドレス値として前記基準アドレスレジスタに書き戻すこと、前記変更アドレス値を使用し、前記変更アドレス値を前記メモリアドレス値として前記基準アドレスレジスタに書き戻すこと、というオプションの内の少なくとも1つを可能にする
    ことを特徴とする請求項10、または請求項11に記載の方法。
  13. 前記方法が、少なくともその内の1つは特権的であり、少なくともその内の1つは特権的ではない複数のモードにおいて実行可能であると共に、
    コードが前記メモリ回路に対するアクセスの異なるレベルを与えられることを可能にするために、データアクセスが、特権的であるもの、または特権的ではないもののいずれにも特徴付けられる
    ことを特徴とする請求項10から請求項12のいずれかに記載の方法。
  14. 前記操作の少なくとも1つの形態は、メモリアクセスが、現在のモードに関係なく、強制的に特権的ではないものにされることを可能にする
    ことを特徴とする請求項13に記載の方法。
  15. 前記基準アドレス値と前記オフセット値との合計値が前記メモリアドレス値として使用されると共に、実行の後で前記基準アドレス値が変更されない固定した操作によって、前記第1の形態の前記データアクセスプログラム命令が動作する
    ことを特徴とする請求項10から請求項14のいずれかに記載の方法。
  16. 前記第2の形態の前記データアクセスプログラム命令が、複数の異なる操作の内のどれが使用されるべきであるかを指定する操作モード制御フィールドを含む
    ことを特徴とする請求項10から請求項15のいずれかに記載の方法。
  17. 前記第1の形態、及び前記第2の形態によって提供された操作のセットが解体される
    ことを特徴とする請求項10から請求項16のいずれかに記載の方法。
  18. 前記データ値が、前記レジスタバンクのそれぞれのレジスタとアドレス指定された記憶場所との間で転送される
    ことを特徴とする請求項10から請求項17のいずれかに記載の方法。
  19. データ処理装置を制御するように動作可能なコンピュータプログラムを有するコンピュータプログラム製品であって、
    前記コンピュータプログラムが、レジスタバンクの1つ以上のレジスタの中の各1つ内に、操作のための1つ以上のデータ値を保持すると共に、データアクセス回路によって、前記データ処理装置とアドレス指定されたメモリ回路内部の記憶場所との間で1つ以上のデータ値を転送するデータアクセス動作を実行するように動作可能であると共に、複数のデータアクセスプログラム命令を含むデータアクセスコードを有し、
    前記データアクセスプログラム命令の各々が、オフセット値を指定するアドレスオフセットフィールドを有し、前記レジスタバンク内の基準アドレスレジスタを指定する基準レジスタフィールドを有すると共に、前記データアクセスプログラム命令の実行中にアクセスされるべき前記メモリ回路内のメモリアドレス値を形成するために、前記オフセット値、及び前記基準アドレスレジスタ内に保持される基準アドレス値に関して実行されるべき操作を指定し、
    前記データアクセスプログラム命令が、それぞれ
    (i)第1のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第1の形態と、
    (ii)第2のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第2の形態とを有する少なくとも1つのデータアクセスプログラム命令を含み、
    前記第1のアドレスオフセットフィールド長が、前記第2のアドレスオフセットフィールド長より大きく、
    前記第1の形態が、前記第2の形態より、前記基準アドレス値、及び前記オフセット値に関して実行されるべき、より少ない数の実行可能な操作を指定することができる
    ことを特徴とするコンピュータプログラム製品。
  20. 前記操作が、前記オフセット値を前記基準アドレス値に加算すること、及び前記オフセット値を前記基準アドレス値から減算することの内の1つにより、変更アドレス値を形成する
    ことを特徴とする請求項19に記載のコンピュータプログラム製品。
  21. 前記操作が、同様に、データアクセス動作のために、以下の、前記基準アドレス値を前記メモリアドレス値として使用すること、前記変更アドレス値を前記メモリアドレス値として使用すること、前記基準アドレス値を使用し、前記変更アドレス値を前記メモリアドレス値として前記基準アドレスレジスタに書き戻すこと、前記変更アドレス値を使用し、前記変更アドレス値を前記メモリアドレス値として前記基準アドレスレジスタに書き戻すこと、というオプションの内の少なくとも1つを可能にする
    ことを特徴とする請求項19、または請求項20に記載のコンピュータプログラム製品。
  22. 前記方法が、少なくともその内の1つは特権的であり、少なくともその内の1つは特権的ではない複数のモードにおいて実行可能であると共に、
    コードが前記メモリ回路に対するアクセスの異なるレベルを与えられることを可能にするために、データアクセスが、特権的であるもの、または特権的ではないもののいずれにも特徴付けられる
    ことを特徴とする請求項19から請求項21のいずれかに記載のコンピュータプログラム製品。
  23. 前記操作の少なくとも1つの形態は、メモリアクセスが、現在のモードに関係なく、強制的に特権的ではないものにされることを可能にする
    ことを特徴とする請求項22に記載のコンピュータプログラム製品。
  24. 前記基準アドレス値と前記オフセット値との合計値が前記メモリアドレス値として使用されると共に、実行の後で前記基準アドレス値が変更されない固定した操作によって、前記第1の形態の前記データアクセスプログラム命令が動作する
    ことを特徴とする請求項19から請求項23のいずれかに記載のコンピュータプログラム製品。
  25. 前記第2の形態の前記データアクセスプログラム命令が、複数の異なる操作の内のどれが使用されるべきであるかを指定する操作モード制御フィールドを含む
    ことを特徴とする請求項19から請求項24のいずれかに記載のコンピュータプログラム製品。
  26. 前記第1の形態、及び前記第2の形態によって提供された操作のセットが解体される
    ことを特徴とする請求項19から請求項25のいずれかに記載のコンピュータプログラム製品。
  27. 前記データ値が、前記レジスタバンクのそれぞれのレジスタとアドレス指定された記憶場所との間で転送される
    ことを特徴とする請求項19から請求項26のいずれかに記載のコンピュータプログラム製品。
JP2005500707A 2003-06-13 2003-12-30 データアクセスプログラム命令のコード化 Expired - Lifetime JP3990423B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0313765A GB2402763B (en) 2003-06-13 2003-06-13 Data access program instruction encoding
PCT/GB2003/005684 WO2004111834A2 (en) 2003-06-13 2003-12-30 Data access program instruction encoding

Publications (2)

Publication Number Publication Date
JP2006527420A true JP2006527420A (ja) 2006-11-30
JP3990423B2 JP3990423B2 (ja) 2007-10-10

Family

ID=27636507

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005500707A Expired - Lifetime JP3990423B2 (ja) 2003-06-13 2003-12-30 データアクセスプログラム命令のコード化

Country Status (12)

Country Link
US (2) US7231507B2 (ja)
EP (1) EP1634164A2 (ja)
JP (1) JP3990423B2 (ja)
KR (1) KR100972160B1 (ja)
CN (1) CN100409178C (ja)
AU (1) AU2003290356A1 (ja)
GB (1) GB2402763B (ja)
IL (1) IL172236A0 (ja)
MY (1) MY135360A (ja)
RU (1) RU2006101156A (ja)
TW (1) TWI325542B (ja)
WO (1) WO2004111834A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017016640A (ja) * 2015-06-27 2017-01-19 インテル・コーポレーション ステータス依存演算の性能を向上させるシステム、方法、及び装置
US11669467B2 (en) 2015-10-20 2023-06-06 Arm Limited Memory access instructions

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8909676B1 (en) * 2006-10-06 2014-12-09 Uei Cayman Inc. Star cluster codeset database for universal remote control devices
WO2008077805A1 (en) * 2006-12-22 2008-07-03 Telefonaktiebolaget L M Ericsson (Publ) Data-processing unit
EP1936493A1 (en) * 2006-12-22 2008-06-25 Telefonaktiebolaget LM Ericsson (publ) Data-processing unit
AU2009100014A4 (en) * 2008-01-09 2009-02-19 Rune Ljungbjorn Method for providing flexible inheritance of program environment
JP2010039503A (ja) * 2008-07-31 2010-02-18 Panasonic Corp シリアルメモリ装置及び信号処理システム
US8677100B2 (en) * 2009-07-17 2014-03-18 Macronix International Co., Ltd. Serial memory interface for extended address space
EP2494518A4 (en) * 2009-10-30 2016-08-10 Intel Corp GRAPHIC DISPLAY WITH A HIERARCHICAL ACCELERATION STRUCTURE
US20130339656A1 (en) * 2012-06-15 2013-12-19 International Business Machines Corporation Compare and Replace DAT Table Entry
US9089239B2 (en) 2013-02-28 2015-07-28 Planetary Design Infuser with solid region to selectively stop infusion and vessel for said infuser
KR20190052315A (ko) * 2017-11-08 2019-05-16 에스케이하이닉스 주식회사 메모리 장치 및 그것을 포함하는 메모리 시스템
CN111158756B (zh) 2019-12-31 2021-06-29 百度在线网络技术(北京)有限公司 用于处理信息的方法和装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994016391A1 (en) * 1992-12-31 1994-07-21 Intel Corporation Bus to bus interface with address translation
US5632028A (en) * 1995-03-03 1997-05-20 Hal Computer Systems, Inc. Hardware support for fast software emulation of unimplemented instructions
CN1187255A (zh) * 1995-06-07 1998-07-08 高级微型器件公司 使用指令字段规定扩展功能的微处理器
JP2889845B2 (ja) * 1995-09-22 1999-05-10 松下電器産業株式会社 情報処理装置
US5926642A (en) * 1995-10-06 1999-07-20 Advanced Micro Devices, Inc. RISC86 instruction set
US5987583A (en) * 1997-10-07 1999-11-16 Microchip Technology Inc. Processor architecture scheme and instruction set for maximizing available opcodes and address selection modes
US6282633B1 (en) * 1998-11-13 2001-08-28 Tensilica, Inc. High data density RISC processor
US6560694B1 (en) * 2000-01-14 2003-05-06 Advanced Micro Devices, Inc. Double prefix overrides to provide 16-bit operand size in a 32/64 operating mode
JP3556556B2 (ja) * 2000-02-08 2004-08-18 株式会社東芝 命令コード変換装置及び情報処理システム
WO2001069376A2 (en) * 2000-03-15 2001-09-20 Arc International Plc Method and apparatus for processor code optimization using code compression
US6651160B1 (en) * 2000-09-01 2003-11-18 Mips Technologies, Inc. Register set extension for compressed instruction set
US7093108B2 (en) * 2001-02-01 2006-08-15 Arm Limited Apparatus and method for efficiently incorporating instruction set information with instruction addresses
US20030225998A1 (en) * 2002-01-31 2003-12-04 Khan Mohammed Noshad Configurable data processor with multi-length instruction set architecture
US7191318B2 (en) * 2002-12-12 2007-03-13 Alacritech, Inc. Native copy instruction for file-access processor with copy-rule-based validation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017016640A (ja) * 2015-06-27 2017-01-19 インテル・コーポレーション ステータス依存演算の性能を向上させるシステム、方法、及び装置
US11669467B2 (en) 2015-10-20 2023-06-06 Arm Limited Memory access instructions

Also Published As

Publication number Publication date
CN100409178C (zh) 2008-08-06
US7231507B2 (en) 2007-06-12
GB0313765D0 (en) 2003-07-23
WO2004111834A3 (en) 2005-12-01
TW200428225A (en) 2004-12-16
US20070136558A1 (en) 2007-06-14
WO2004111834A2 (en) 2004-12-23
JP3990423B2 (ja) 2007-10-10
EP1634164A2 (en) 2006-03-15
AU2003290356A1 (en) 2005-01-04
GB2402763A (en) 2004-12-15
IL172236A0 (en) 2006-04-10
KR100972160B1 (ko) 2010-07-26
KR20060028403A (ko) 2006-03-29
CN1826582A (zh) 2006-08-30
US20040255095A1 (en) 2004-12-16
TWI325542B (en) 2010-06-01
RU2006101156A (ru) 2006-06-10
US7447871B2 (en) 2008-11-04
GB2402763B (en) 2006-03-01
MY135360A (en) 2008-03-31

Similar Documents

Publication Publication Date Title
US7447871B2 (en) Data access program instruction encoding
JP3649470B2 (ja) データ処理装置
US5832288A (en) Element-select mechanism for a vector processor
JP5027669B2 (ja) マイクロプロセッサ、集積回路、システム及び方法
KR20130016246A (ko) 다중 명령 세트에 의해 사용되는 레지스터 간의 매핑
JP3905552B2 (ja) 複数の命令セットを有するデータ処理装置内における命令エンコード
JP2009537879A (ja) ユーザ選択可能なストレージ・アクセス・キーを用いてデータを移動する方法及びシステム
JP2004070958A (ja) エンディアン非依存モードで動作するシステム及び方法
US20130145127A1 (en) Zero value prefixes for operands of differing bit-widths
JP2008146544A (ja) 演算処理装置
US20210165654A1 (en) Eliminating execution of instructions that produce a constant result
US20070245120A1 (en) Multiple microcontroller system, instruction, and instruction execution method for the same
US11494190B2 (en) Circuitry and method for controlling a generated association of a physical register with a predicated processing operation based on predicate data state
KR100951331B1 (ko) 데이터 처리시스템 내에서의 어드레스 오프셋 생성
JP3644892B2 (ja) 複数組の命令組を実行するためのデータ処理装置
JP2000112754A (ja) データ処理装置
JP2024525798A (ja) 述語技術
US9886276B2 (en) System register access
JP5263498B2 (ja) 信号処理プロセッサ及び半導体装置
JP5311008B2 (ja) 信号処理プロセッサ及び半導体装置
JPH05250156A (ja) Riscプロセッサ
JPS6319042A (ja) 命令先取り方法
JPS62210541A (ja) レジスタ選択方式
KR20070092093A (ko) 다중 마이크로컨트롤러 시스템, 명령어, 및 그의 명령어실행 방법

Legal Events

Date Code Title Description
A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20061012

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20061019

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070523

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070719

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

Free format text: PAYMENT UNTIL: 20100727

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 3990423

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100727

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110727

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20110727

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120727

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20120727

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130727

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term