(57)【要約】  データアクセス動作を実行するためのデータアクセス命令に応答するデータ処理装置（２）が提供される。これらのデータアクセス命令は、１２ビットオフセットフィールドを使用するが、しかし固定のアドレス指定モードによる第１の形態と、それより短い８ビットオフセットフィールドを使用するが、しかしデータアクセス命令の操作モード制御フィールド内で指定されたアドレス指定モードによる第２の形態とを有する。
2006527420.tif 000002
【特許請求の範囲】
【請求項１】
データを処理するための装置であって、
それぞれのデータ値を保持するように動作可能な１つ以上のレジスタを有するレジスタバンクと、
前記装置とアドレス指定されたメモリ回路内部の記憶場所との間で１つ以上のデータ値を転送するデータアクセス動作を実行するように動作可能なデータアクセス回路と、
それぞれのデータアクセス動作を実行するために、前記データアクセス回路を制御するためのデータアクセスプログラム命令に応答する命令デコーダとを備え、
前記データアクセスプログラム命令の各々が、オフセット値を指定するアドレスオフセットフィールドを有し、前記レジスタバンク内の基準アドレスレジスタを指定する基準レジスタフィールドを有すると共に、前記データアクセスプログラム命令の実行中にアクセスされるべき前記メモリ回路内のメモリアドレス値を形成するために、前記オフセット値、及び前記基準アドレスレジスタ内に保持される基準アドレス値に関して実行されるべき操作を指定し、
前記データアクセスプログラム命令が、
(i)第１のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第１の形態と、
(ii)第２のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第２の形態とを有し、
前記第１のアドレスオフセットフィールド長が、前記第２のアドレスオフセットフィールド長より大きく、
前記第１の形態が、前記第２の形態より、前記基準アドレス値、及び前記オフセット値に関して実行されるべき、より少ない数の実行可能な操作を指定することができる
ことを特徴とする装置。
【請求項２】
前記操作が、前記オフセット値を前記基準アドレス値に加算すること、及び前記オフセット値を前記基準アドレス値から減算することの内の１つにより、変更アドレス値を形成する
ことを特徴とする請求項１に記載の装置。
【請求項３】
前記操作が、同様に、データアクセス動作のために、以下の、前記基準アドレス値を前記メモリアドレス値として使用すること、前記変更アドレス値を前記メモリアドレス値として使用すること、前記基準アドレス値を使用し、前記変更アドレス値を前記メモリアドレス値として前記基準アドレスレジスタに書き戻すこと、前記変更アドレス値を使用し、前記変更アドレス値を前記メモリアドレス値として前記基準アドレスレジスタに書き戻すこと、というオプションの内の少なくとも１つを可能にする
ことを特徴とする請求項１、または請求項２に記載の装置。
【請求項４】
前記装置が、少なくともその内の１つは特権的であり、少なくともその内の１つは特権的ではない複数のモードにおいて動作し得ると共に、
コードが前記メモリ回路に対するアクセスの異なるレベルを与えられることを可能にするために、データアクセスが、特権的であるもの、または特権的ではないもののどちらとしても記録される
ことを特徴とする請求項１から請求項３のいずれかに記載の装置。
【請求項５】
前記操作の少なくとも１つの形態は、メモリアクセスが、現在のモードに関係なく、強制的に特権的ではないものにされることを可能にする
ことを特徴とする請求項４に記載の装置。
【請求項６】
前記基準アドレス値と前記オフセット値との合計値が前記メモリアドレス値として使用されると共に、実行の後で前記基準アドレス値が変更されない固定した操作によって、前記第１の形態の前記データアクセスプログラム命令が動作する
ことを特徴とする請求項１から請求項５のいずれかに記載の装置。
【請求項７】
前記第２の形態の前記データアクセスプログラム命令が、複数の異なる操作の内のどれが使用されるべきであるかを指定する操作モード制御フィールドを含む
ことを特徴とする請求項１から請求項６のいずれかに記載の装置。
【請求項８】
前記第１の形態、及び前記第２の形態によって提供された操作のセットが解体される
ことを特徴とする請求項１から請求項７のいずれかに記載の装置。
【請求項９】
前記データ値が、前記レジスタバンクのそれぞれのレジスタとアドレス指定された記憶場所との間で転送される
ことを特徴とする請求項１から請求項８のいずれかに記載の装置。
【請求項１０】
データを処理するための方法であって、
データ処理装置の一部分を構成しているレジスタバンクの１つ以上のレジスタの中の各１つ内に、１つ以上のデータ値を保持する処理と、
データアクセス回路によって、前記データ処理装置とアドレス指定されたメモリ回路内部の記憶場所との間で１つ以上のデータ値を転送するデータアクセス動作を実行する処理と、
データアクセスプログラム命令に応答して、それぞれのデータアクセス動作を実行するために、命令デコーダによって前記データアクセス回路を制御する処理とを含み、
前記データアクセスプログラム命令の各々が、オフセット値を指定するアドレスオフセットフィールドを有し、前記レジスタバンク内の基準アドレスレジスタを指定する基準レジスタフィールドを有すると共に、前記データアクセスプログラム命令の実行中にアクセスされるべき前記メモリ回路内のメモリアドレス値を形成するために、前記オフセット値、及び前記基準アドレスレジスタ内に保持される基準アドレス値に関して実行されるべき操作を指定し、
前記データアクセスプログラム命令が、
(i)第１のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第１の形態と、
(ii)第２のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第２の形態とを有し、
前記第１のアドレスオフセットフィールド長が、前記第２のアドレスオフセットフィールド長より大きく、
前記第１の形態が、前記第２の形態より、前記基準アドレス値、及び前記オフセット値に関して実行されるべき、より少ない数の実行可能な操作を指定することができる
ことを特徴とする方法。
【請求項１１】
前記操作が、前記オフセット値を前記基準アドレス値に加算すること、及び前記オフセット値を前記基準アドレス値から減算することの内の１つにより、変更アドレス値を形成する
ことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記操作が、同様に、データアクセス動作のために、以下の、前記基準アドレス値を前記メモリアドレス値として使用すること、前記変更アドレス値を前記メモリアドレス値として使用すること、前記基準アドレス値を使用し、前記変更アドレス値を前記メモリアドレス値として前記基準アドレスレジスタに書き戻すこと、前記変更アドレス値を使用し、前記変更アドレス値を前記メモリアドレス値として前記基準アドレスレジスタに書き戻すこと、というオプションの内の少なくとも１つを可能にする
ことを特徴とする請求項１０、または請求項１１に記載の方法。
【請求項１３】
前記方法が、少なくともその内の１つは特権的であり、少なくともその内の１つは特権的ではない複数のモードにおいて実行可能であると共に、
コードが前記メモリ回路に対するアクセスの異なるレベルを与えられることを可能にするために、データアクセスが、特権的であるもの、または特権的ではないもののいずれにも特徴付けられる
ことを特徴とする請求項１０から請求項１２のいずれかに記載の方法。
【請求項１４】
前記操作の少なくとも１つの形態は、メモリアクセスが、現在のモードに関係なく、強制的に特権的ではないものにされることを可能にする
ことを特徴とする請求項１３に記載の方法。
【請求項１５】
前記基準アドレス値と前記オフセット値との合計値が前記メモリアドレス値として使用されると共に、実行の後で前記基準アドレス値が変更されない固定した操作によって、前記第１の形態の前記データアクセスプログラム命令が動作する
ことを特徴とする請求項１０から請求項１４のいずれかに記載の方法。
【請求項１６】
前記第２の形態の前記データアクセスプログラム命令が、複数の異なる操作の内のどれが使用されるべきであるかを指定する操作モード制御フィールドを含む
ことを特徴とする請求項１０から請求項１５のいずれかに記載の方法。
【請求項１７】
前記第１の形態、及び前記第２の形態によって提供された操作のセットが解体される
ことを特徴とする請求項１０から請求項１６のいずれかに記載の方法。
【請求項１８】
前記データ値が、前記レジスタバンクのそれぞれのレジスタとアドレス指定された記憶場所との間で転送される
ことを特徴とする請求項１０から請求項１７のいずれかに記載の方法。
【請求項１９】
データ処理装置を制御するように動作可能なコンピュータプログラムを有するコンピュータプログラム製品であって、
前記コンピュータプログラムが、レジスタバンクの１つ以上のレジスタの中の各１つ内に、操作のための１つ以上のデータ値を保持すると共に、データアクセス回路によって、前記データ処理装置とアドレス指定されたメモリ回路内部の記憶場所との間で１つ以上のデータ値を転送するデータアクセス動作を実行するように動作可能であると共に、複数のデータアクセスプログラム命令を含むデータアクセスコードを有し、
前記データアクセスプログラム命令の各々が、オフセット値を指定するアドレスオフセットフィールドを有し、前記レジスタバンク内の基準アドレスレジスタを指定する基準レジスタフィールドを有すると共に、前記データアクセスプログラム命令の実行中にアクセスされるべき前記メモリ回路内のメモリアドレス値を形成するために、前記オフセット値、及び前記基準アドレスレジスタ内に保持される基準アドレス値に関して実行されるべき操作を指定し、
前記データアクセスプログラム命令が、それぞれ
(i)第１のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第１の形態と、
(ii)第２のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第２の形態とを有する少なくとも１つのデータアクセスプログラム命令を含み、
前記第１のアドレスオフセットフィールド長が、前記第２のアドレスオフセットフィールド長より大きく、
前記第１の形態が、前記第２の形態より、前記基準アドレス値、及び前記オフセット値に関して実行されるべき、より少ない数の実行可能な操作を指定することができる
ことを特徴とするコンピュータプログラム製品。
【請求項２０】
前記操作が、前記オフセット値を前記基準アドレス値に加算すること、及び前記オフセット値を前記基準アドレス値から減算することの内の１つにより、変更アドレス値を形成する
ことを特徴とする請求項１９に記載のコンピュータプログラム製品。
【請求項２１】
前記操作が、同様に、データアクセス動作のために、以下の、前記基準アドレス値を前記メモリアドレス値として使用すること、前記変更アドレス値を前記メモリアドレス値として使用すること、前記基準アドレス値を使用し、前記変更アドレス値を前記メモリアドレス値として前記基準アドレスレジスタに書き戻すこと、前記変更アドレス値を使用し、前記変更アドレス値を前記メモリアドレス値として前記基準アドレスレジスタに書き戻すこと、というオプションの内の少なくとも１つを可能にする
ことを特徴とする請求項１９、または請求項２０に記載のコンピュータプログラム製品。
【請求項２２】
前記方法が、少なくともその内の１つは特権的であり、少なくともその内の１つは特権的ではない複数のモードにおいて実行可能であると共に、
コードが前記メモリ回路に対するアクセスの異なるレベルを与えられることを可能にするために、データアクセスが、特権的であるもの、または特権的ではないもののいずれにも特徴付けられる
ことを特徴とする請求項１９から請求項２１のいずれかに記載のコンピュータプログラム製品。
【請求項２３】
前記操作の少なくとも１つの形態は、メモリアクセスが、現在のモードに関係なく、強制的に特権的ではないものにされることを可能にする
ことを特徴とする請求項２２に記載のコンピュータプログラム製品。
【請求項２４】
前記基準アドレス値と前記オフセット値との合計値が前記メモリアドレス値として使用されると共に、実行の後で前記基準アドレス値が変更されない固定した操作によって、前記第１の形態の前記データアクセスプログラム命令が動作する
ことを特徴とする請求項１９から請求項２３のいずれかに記載のコンピュータプログラム製品。
【請求項２５】
前記第２の形態の前記データアクセスプログラム命令が、複数の異なる操作の内のどれが使用されるべきであるかを指定する操作モード制御フィールドを含む
ことを特徴とする請求項１９から請求項２４のいずれかに記載のコンピュータプログラム製品。
【請求項２６】
前記第１の形態、及び前記第２の形態によって提供された操作のセットが解体される
ことを特徴とする請求項１９から請求項２５のいずれかに記載のコンピュータプログラム製品。
【請求項２７】
前記データ値が、前記レジスタバンクのそれぞれのレジスタとアドレス指定された記憶場所との間で転送される
ことを特徴とする請求項１９から請求項２６のいずれかに記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理システムの分野に関するものである。更に特に、本発明は、データ処理システムにおいて使用するのためのデータアクセスプログラム命令のコード化に関するものである。
【背景技術】
【０００２】
データ処理システムにデータアクセス命令を与えるということが知られている。そのような種類のプログラム命令の例は、ＡＲＭ命令セットの命令のＬＤＲ／ＬＤＲＢ／ＳＴＲ／ＳＴＲＢクラスである（例えばＡＲＭ構造リファレンスマニュアルを参照）。これらは、それらが異なる主動作を指定するが、しかし各主動作は同一のアドレス指定モード、または他の副動作を全ての他のもののように使用することができるという意味において、相互に関して直交するようにコード化される一群の命令である。ＡＲＭ命令セットは、３２ビット命令セットであると共に、命令のＬＤＲ／ＬＤＲＢ／ＳＴＲ／ＳＴＲＢクラスは、アドレス指定モード計算に影響を及ぼす２０ビットを含み、これらは、基準レジスタを指定するための４ビット（ビット［１９：１６］）、１２ビットの即値のオフセット（命令の第１の形態）、またはインデックスレジスタのいずれかを指定すると共に、それに適用されるようにシフト（或いは回転）する（命令の第２の形態）ための１３ビット（ビット［２５］、及びビット［１１：０］）、及び基準レジスタ値、及びオフセットに関して実行されるべき操作を指定するための３ビット（Ｐ＝ｂｉｔ［２４］，Ｕ＝ｂｉｔ［２３］，Ｗ＝ｂｉｔ［２１］）である。指定され得るアドレス指定モードの例は、オフセットアドレス指定、プリ−インデックス付きアドレス指定、ポスト−インデックス付きアドレス指定、及び特権的ではないポスト−インデックス付きアドレス指定である。そのようなデータアクセス命令は、データアクセス動作が指定され得るように、かなりの柔軟性を提供する。これは、メモリに対して、またはメモリから所望のデータを転送するのに必要とされる命令の数を減少させるのを助け、それによってスピードを増加すると共に、コード密度を向上させる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
データ処理システムの中で共通する問題は、利用可能なコード化ビットスペースが有限の資源であると共に、異なる状況において有益であるかもしれないさまざまな種類の命令に関して、競合する要求がこのコード化ビットスペース上で生成されることである。提供されるであろう潜在的に有益な命令の数が、プロセッサ構造の中の利用可能なコード化ビットスペースを越える場合が多い。従って、コード化ビットスペースの使用効率を向上させ得る施策は、強く有利である。
【課題を解決するための手段】
【０００４】
１つの特徴から見られるように、本発明は、データを処理するための装置を提供する。前記装置は、それぞれのデータ値を保持するように動作可能な１つ以上のレジスタを有するレジスタバンクと、前記装置とアドレス指定されたメモリ回路内部の記憶場所との間で１つ以上のデータ値を転送するデータアクセス動作を実行するように動作可能なデータアクセス回路と、それぞれのデータアクセス動作を実行するために、前記データアクセス回路を制御するためのデータアクセスプログラム命令に応答する命令デコーダとを備え、前記データアクセスプログラム命令の各々が、オフセット値を指定するアドレスオフセットフィールドを有し、前記レジスタバンク内の基準アドレスレジスタを指定する基準レジスタフィールドを有すると共に、前記データアクセスプログラム命令の実行中にアクセスされるべき前記メモリ回路内のメモリアドレス値を形成するために、前記オフセット値、及び前記基準アドレスレジスタ内に保持される基準アドレス値に関して実行されるべき操作を指定し、前記データアクセスプログラム命令が、(i)第１のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第１の形態と、(ii)第２のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第２の形態とを有し、前記第１のアドレスオフセットフィールド長が、前記第２のアドレスオフセットフィールド長より大きく、前記第１の形態が、前記第２の形態より、前記基準アドレス値、及び前記オフセット値に関して実行されるべき、より少ない数の実行可能な操作を指定することができることを特徴とする。
【０００５】
本発明は、実際上大部分のプログラマ、及びコンパイラが、大きなオフセットフィールド、及び多数の操作モード選択を与え得るデータアクセス命令によって提供され得る多数の可能性を、同じように使用しないということを認識する。更に特に、一例として、オフセットの低い値は、高い値より一般的である。更に、基準レジスタ値に加えられるオフセットによるシンプルなオフセットアドレス指定は、他のタイプの操作より一般的である。あまり一般的ではないオプションの２つ以上、例えば大きなオフセット値、及びポスト−インデックス付きアドレス指定に関して、同時に現れることはまれである。プログラムの統計的分析は、使用される命令の種類の分配における非均一性が、プログラムの一般的特性であると共に、特別なプログラマ、及び特別なコンパイル方法の特性ではないことを示す。本発明は、両方を認識して、この特性を活用する。特に、本発明は、長いオフセットフィールドと、少ない（或いは、ほんの１つの）アドレス操作オプションとを備える第１の形態、及びそれより短いオフセットフィールドと、しかしそれより多数のアドレス操作オプションとを備える第２の形態を有するデータアクセスプログラム命令を提供する。従って、圧倒的多数の状況において所望の動作を直接提供する命令の可用性を維持する一方で、データアクセス命令によって利用されるコード化ビットスペースの総計は減少され得る。
【０００６】
好ましい実施例において、前記操作は、前記オフセット値を前記基準アドレス値に加算すること、及び前記オフセット値を前記基準アドレス値から減算することの内の１つにより、変更アドレス値を形成する。
【０００７】
好ましい実施例において、前記操作は、同様に、データアクセス動作のために、以下の、前記基準アドレス値を前記メモリアドレス値として使用すること、前記変更アドレス値を前記メモリアドレス値として使用すること、前記基準アドレス値を使用し、前記変更アドレス値を前記メモリアドレス値として前記基準アドレスレジスタに書き戻すこと、前記変更アドレス値を使用し、前記変更アドレス値を前記メモリアドレス値として前記基準アドレスレジスタに書き戻すこと、というオプションの内の少なくとも１つを可能にする。
【０００８】
好ましい実施例において、前記装置は、少なくともその内の１つは特権的であり、少なくともその内の１つは特権的ではない複数のモードにおいて動作し得ると共に、コードが前記メモリ回路に対するアクセスの異なるレベルを与えられることを可能にするために、データアクセスは、特権的であるもの、または特権的ではないもののいずれにも特徴付けられる。
【０００９】
好ましい実施例において、前記操作の少なくとも１つの形態は、メモリアクセスが、現在のモードに関係なく、強制的に特権的ではないものにされることを可能にする。
【００１０】
本技術は、オフセットフィールドを指定するために使用されるコード化ビットスペースと、アドレス指定モードにおいて適用される操作を指定するために使用されるコード化ビットスペースとを交換するということが認識されることになる。特に好ましい実施例は、命令の第１の形態が、固定した操作によって動作すると共に、従って命令の中で操作モード制御フィールドを必要としないものであり、命令の第２の形態が、使用され得る複数の異なる操作の内の１つを指定する操作モード制御フィールドを備えるものである。
【００１１】
命令の第２の形態におけるそのような操作を用いて実行され得るあらゆるデータアクセス動作が、命令の第１の形態における同じ操作を使用して等しく上手に実行され得るので、命令の第１の形態、及び命令の第２の形態の両方において利用可能であるあらゆる操作がコード化ビットスペースの非能率的な使用となるということが認識されることになる。従って、好ましい実施例において、前記第１の形態、及び前記第２の形態によって提供された操作のセットは解体される。
【００１２】
別の特徴から見られるように、本発明は、データを処理するための方法を提供する。前記方法は、データ処理装置の一部分を構成しているレジスタバンクの１つ以上のレジスタの中の各１つ内に、１つ以上のデータ値を保持する処理と、データアクセス回路によって、前記データ処理装置とアドレス指定されたメモリ回路内部の記憶場所との間で１つ以上のデータ値を転送するデータアクセス動作を実行する処理と、データアクセスプログラム命令に応答して、それぞれのデータアクセス動作を実行するために、命令デコーダによって前記データアクセス回路を制御する処理とを含み、前記データアクセスプログラム命令の各々が、オフセット値を指定するアドレスオフセットフィールドを有し、前記レジスタバンク内の基準アドレスレジスタを指定する基準レジスタフィールドを有すると共に、前記データアクセスプログラム命令の実行中にアクセスされるべき前記メモリ回路内のメモリアドレス値を形成するために、前記オフセット値、及び前記基準アドレスレジスタ内に保持される基準アドレス値に関して実行されるべき操作を指定し、前記データアクセスプログラム命令が、(i)第１のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第１の形態と、(ii)第２のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第２の形態とを有し、前記第１のアドレスオフセットフィールド長が、前記第２のアドレスオフセットフィールド長より大きく、前記第１の形態が、前記第２の形態より、前記基準アドレス値、及び前記オフセット値に関して実行されるべき、より少ない数の実行可能な操作を指定することができることを特徴とする。
【００１３】
更に別の特徴から見られるように、本発明は、データ処理装置を制御するように動作可能なコンピュータプログラムを有するコンピュータプログラム製品を提供する。前記コンピュータプログラムは、レジスタバンクの１つ以上のレジスタの中の各１つ内に、操作のための１つ以上のデータ値を保持すると共に、データアクセス回路によって、前記データ処理装置とアドレス指定されたメモリ回路内部の記憶場所との間で１つ以上のデータ値を転送するデータアクセス動作を実行するように動作可能であると共に、複数のデータアクセスプログラム命令を含むデータアクセスコードを有し、前記データアクセスプログラム命令の各々が、オフセット値を指定するアドレスオフセットフィールドを有し、前記レジスタバンク内の基準アドレスレジスタを指定する基準レジスタフィールドを有すると共に、前記データアクセスプログラム命令の実行中にアクセスされるべき前記メモリ回路内のメモリアドレス値を形成するために、前記オフセット値、及び前記基準アドレスレジスタ内に保持される基準アドレス値に関して実行されるべき操作を指定し、前記データアクセスプログラム命令が、それぞれ(i)第１のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第１の形態と、(ii)第２のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第２の形態とを有する少なくとも１つのデータアクセスプログラム命令を含み、前記第１のアドレスオフセットフィールド長が、前記第２のアドレスオフセットフィールド長より大きく、前記第１の形態が、前記第２の形態より、前記基準アドレス値、及び前記オフセット値に関して実行されるべき、より少ない数の実行可能な操作を指定することができることを特徴とする。
【発明を実施するための最良の形態】
【００１４】
本発明の一実施例は、一例としてのみ、添付図面を参照して、これからここで示されることになる。
【００１５】
図１は、それぞれのデータ値を記憶するための複数のプログラムレジスタを有するレジスタバンク４、乗算器６、シフター８、加算器１０、命令デコーダ１２、命令パイプライン１４、及び読み込み／記憶ユニット１６を含むプロセッサコアの形態におけるデータ処理装置２を概略的に説明する。この技術分野における当業者によく知られているように、データ処理装置２が一般的に更に多くの回路素子を含むことになるが、しかし明瞭にするためにこれらの回路素子は図１から省略されたということが認識されることになる。操作プログラムにおいて、命令は、メモリ（図示せず）から命令パイプライン１４にフェッチされる。プログラム命令が、命令パイプライン１４内のデコードステージに到着すると、それは、所望のデータ処理動作を実行するために、レジスタバンク４、乗算器６、シフター８、及び加算器１０を含むデータ処理ロジックに印加される制御信号を生成する命令デコーダ１２によって解読される。
【００１６】
実行され得ると共に、命令デコーダ１２が応答する１つの種類のプログラム命令は、データアクセス命令である。そのようなデータアクセス命令は、データ処理装置２に接続されたメモリの中の指定されたアドレス、または一連のアドレスに対してデータを書き込むか、またはデータ処理装置２に接続されたメモリの中の指定されたアドレス、または一連のアドレスからデータを読み込むために、読み込み／記憶ユニット１６によって実行されるべき読み込み動作、または記憶動作を指定する。アクセスされたデータ値は、データ処理装置のこの種類の読み込み／記憶構造において、レジスタバンク４の中のそれぞれのレジスタに書き込まれるか、もしくはレジスタバンク４の中のそれぞれのレジスタから読み込まれる。しかしながら、これは、本質的要求ではない。
【００１７】
現存するＡＲＭ命令セットによって提供されたデータアクセス命令の種類から良く知られるように、これらのデータアクセス命令は、即値のオフセット値、及び使用されるべき操作モードを指定し得る。命令デコーダ１２は、これらのパラメータを指定するデータアクセス命令の中のフィールドに応答すると共に、動作のためにこれらのパラメータを読み込み／記憶ユニット１６に渡す。データアクセス命令に含まれる基準レジスタ指示子フィールドは、データアクセス動作に使用される基準アドレス値を獲得するために読み込み／記憶ユニット１６によって読まれるレジスタバンク４の中のプログラムレジスタの内の１つを指定する。メモリにアクセスするために使用されるメモリアドレス値は、例えば命令のアドレスオフセットフィールドに含まれるオフセット値の加算から構成され得る操作によって、この基準アドレス値から形成される。この装置において、メモリに対して転送されるか、またはメモリから転送されるそれぞれのデータ値は、読み込み／記憶ユニット１６によって、レジスタバンク４から読み込まれるか、またはレジスタバンク４に対して書き込まれる。
【００１８】
図２は、データアクセス命令の第１の形態を概略的に説明する。この命令は、２つの１６ビットのハーフワードを有する。この第１の形態において、ハーフワード“ＨＷ１”における“ｂｉｔ［８］＝１”は、命令デコーダ１２に、ハーフワード“ＨＷ２”が長い１２ビットのオフセット値フィールド“ｏｆｆｓｅｔ１２”を備えると共に、ゼロを拡張したオフセット値が基準アドレス値に加算され、結果がデータアクセスのためのメモリアドレス値として使用される固定したアドレス操作を命令が使用することを示す。
【００１９】
フィールド“Ｒｎ”は、基準アドレス値を保持するレジスタを指定する。フィールド“Ｒｄ”は、データアクセス動作の送り元または送り先のいずれかであるレジスタを指定する。ハーフワード“ＨＷ１”のビット［１５：９］は、この命令がデータアクセス命令であることを指定すると共に、ハーフワード“ＨＷ１”のビット［７：４］は、読み込み、または記憶のどちらが実行されるべきであるか、メモリ内でアクセスされるべきデータの長さ（例えば８ビットのバイト、１６ビットのハーフワード、または３２ビットのワード）、及び幅の狭いデータ値が、それより幅の広いレジスタに読み込まれる場合に、値がゼロで拡張されたか、またはサイン符号（正負の符号）で拡張されたか、のような実行されるべきデータアクセスの詳細を指定するＯＰコードフィールドである。
【００２０】
図３は、第２の形態のデータアクセス命令を概略的に説明する。この第２の形態において、ハーフワード“ＨＷ１”における“ビット［８］＝０”は、命令デコーダ１２に、ハーフワード“ＨＷ２”が短い８ビットのオフセット値フィールド“ｏｆｆｓｅｔ８”を備えると共に、同様に、使用されるべきアドレス操作を指定するＰ、Ｕ、及びＷの３ビットを備えることを示す。フィールド“Ｒｎ”、“Ｒｄ”、そしてハーフワード“ＨＷ１”のビット［１５：９］、及びビット［７：４］は、図２においてそれらが指定するものと同一のものを指定する。
【００２１】
Ｕビットは、変更アドレス値を形成するために、基準アドレス値にゼロで拡張したオフセット値が加算されるべきか、基準アドレス値からゼロで拡張したオフセット値が減算されるべきかを指定する。
【００２２】
Ｐビットは、データアクセスのために使用されるメモリアドレス値が、基準アドレス値であるか、または変更アドレス値であるかを指定する。
【００２３】
Ｗビットは、基準アドレス値を保持するレジスタが変更されない状態で維持されるか、またはそれに変更アドレス値が書き戻されたかを指定する。
【００２４】
更に、Ｐ、Ｕ、及びＷビットが第１の形態によって使用されるアドレス操作を指定する（すなわち、オフセットが基準アドレス値に加算され、変更アドレス値がデータアクセスのために使用され、そして基準アドレス値を保持するレジスタが変更されない状態で維持される）とき、プロセッサが特権的な動作モードにあるか、または特権的ではない動作モードにあるかに関係なく、データアクセスは特権的ではないとしても記録される。命令の第１の形態が、必要とされるデータアクセス動作を利用可能にするので、Ｐ、Ｕ、及びＷビットのこの組合せが他の場合は冗長であるということが認識されることになる。
【００２５】
図２において説明されたデータアクセス命令の第１の形態が、固定のアドレス操作を犠牲にして、大きなオフセットフィールドを提供するのに対して、図３において説明されたデータアクセス命令の第２の形態が、それより小さなオフセットフィールドを提供するが、しかし実行されるべきアドレス操作のためにそれより多数のオプションを提供するということが、上記の内容から分かることになる。第１の形態、及び第２の形態のデータアクセス命令の組合せが、これらのパラメータを指定するために使用されるコード化ビットスペースの量を減少させる一方で、望まれるデータアクセス動作の種類に対して良い補償範囲を提供する際に、特に有利であるということが分かった。倹約されたコード化ビットスペースは、その場合に、かなりの利点に対する他の目的のために使用されることができる。上述のコード化は、オフセット、及びアドレス操作を指定するのに１３ビットを必要とする（ＨＷ１［８］、及びＨＷ２［１１：０］）が、一方ＡＲＭ命令セットに使用される簡単な（“Ｐ”、“Ｕ”、“Ｗ”、“ｏｆｆｓｅｔ１２”）コード化は、１５ビットを必要とするであろう。
【００２６】
これに代るコード化として、以下の内容を使用することが同様に可能である。図２、及び図３で示された“１１１０１０１”よりむしろ“ＨＷ１［１５：９］＝１１１１１００”とする。ＨＷ１［８］よりむしろ２つの形態の命令を区別するためにＨＷ１［７］を使用する。そして、ＯＰコードフィールドとしてＨＷ１［７：４］よりむしろＨ１［８，６：４］を使用する。図３において、示された“０”よりむしろＨＷ２［１１］＝１を使用する。
【００２７】
図４は、命令デコーダ１２によって実行される処理動作を概略的に説明するフローチャートである。実際上かなりの並列処理が使用され得る命令デコーダ１２の中では、図４において説明された順次的な処理は起こらないかもしれないということが認識されることになる。しかしながら、図４は、必要とされるデコーディング（解読）、及び実行される動作の理解を提供することを支援する。
【００２８】
ステップ１８において、命令デコーダは、データアクセス命令であることを、第１のハーフワード“ＨＷ１”の最上位側の７ビットによって確認する。もしその時、別の種類の命令が確認される場合、これはステップ１９において解読される。ステップ２０において、命令デコーダ１２は、データアクセス命令が第１の形態の内の１つであるか、または第２の形態の内の１つであるかを判定するために、ハーフワード“ＨＷ１”の中のビット［８］を調査する。もしこのビット［８］が“１”に等しい場合、その場合に、データアクセス命令は第１の形態を有すると共に、処理は、所望のデータアクセス命令に関連付けられた更なるパラメータを判定するためにＯＰコードが解読されるステップ２４に進み、そして、長い１２ビットオフセット値が、オフセット値が加算されるオフセットアドレス指定の固定の操作モードによって使用される。
【００２９】
ステップ２０における判定が“ビット［８］＝０”であった場合、その場合に、処理は、以前に言及されたアドレス操作モードの内のいずれが使用されるべきであるかを判定するために、ハーフワード“ＨＷ２”の操作モード制御フィールド［１０：８］が解読されるステップ２８に進む。その次に、ステップ３０において、ＯＰコードＨＷ１［７：４］によって指定されたデータアクセスが、更に小さな８ビットオフセット値、及び指定された操作を用いて実行される。
【００３０】
図５は、上述の技術に従ってプログラム命令を実行することができる汎用コンピュータ２００を概略的に説明する。汎用コンピュータ２００は、中央演算処理装置２０２、ランダムアクセスメモリ２０４、読取専用メモリ２０６、ネットワークインタフェースカード２０８、ハードディスクドライブ２１０、ディスプレイドライバ２１２、モニタ２１４、及びキーボード２１８とマウス２２０とを有する利用者入力／出力回路２１６を備え、これらは全て共通バス２２２によって接続される。動作中、中央演算処理装置２０２は、ランダムアクセスメモリ２０４、読取専用メモリ２０６、及びハードディスクドライブ２１０の内の１つ以上に記憶される可能性があるコンピュータプログラム命令か、もしくは動的にネットワークインタフェースカード２０８経由でダウンロードされるコンピュータプログラム命令を実行することになる。実行された処理の結果は、ディスプレイドライバ２１２、及びモニタ２１４経由で利用者に表示されることができる。汎用コンピュータ２００の動作を制御するための利用者入力は、キーボード２１８、またはマウス２２０から、利用者入力／出力回路２１６経由で受信されることができる。コンピュータプログラムが様々な異なるコンピュータ言語で書かれるであろうということが認識されることになる。コンピュータプログラムは、記録媒体上に記憶されて分配されるか、もしくは動的に汎用コンピュータ２００にダウンロードされることができる。動作が適切なコンピュータプログラムの制御下にあるとき、汎用コンピュータ２００は、上述の技術を実行することができると共に、上述の技術を実行するための装置を構成すると考えられ得る。汎用コンピュータ２００の構造は、大幅に変更し得ると共に、図５はほんの一例である。
【図面の簡単な説明】
【００３１】
【図１】データアクセス命令を利用するデータ処理装置を概略的に説明する図である。
【図２】データアクセス命令の第１の形態を概略的に説明する図である。
【図３】データアクセス命令の第２の形態を概略的に説明する図である。
【図４】第１の形態のデータアクセス命令、及び第２の形態のデータアクセス命令を解読する際の命令デコーダの動作を概略的に説明するフローチャートである。
【図５】本発明の技術に従ってプログラム命令を実行することができる汎用コンピュータの構造を概略的に説明する図である。
【符号の説明】
【００３２】
２    データ処理装置
４    レジスタバンク
６    乗算器
８    シフター
１０    加算器
１２    命令デコーダ
１４    命令パイプライン
１６    読み込み／記憶ユニット
２００  汎用コンピュータ
２０２    中央演算処理装置
２０４    ランダムアクセスメモリ
２０６    読取専用メモリ
２０８    ネットワークインタフェースカード
２１０    ハードディスクドライブ
２１２    ディスプレイドライバ
２１４    モニタ
２１６    利用者入力／出力回路
２１８    キーボード
２２０    マウス
２２２    共通バス
【図１】
2006527420.tif 000003
【図２】
2006527420.tif 000004
【図３】
2006527420.tif 000005
【図４】
2006527420.tif 000006
【図５】
2006527420.tif 000007
【手続補正書】
【提出日】平成18年1月23日(2006.1.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データを処理するための装置であって、
それぞれのデータ値を保持するように動作可能な１つ以上のレジスタを有するレジスタバンク（４）と、
前記装置とアドレス指定されたメモリ回路内部の記憶場所との間で１つ以上のデータ値を転送するデータアクセス動作を実行するように動作可能なデータアクセス回路（１６）と、
それぞれのデータアクセス動作を実行するために、前記データアクセス回路を制御するためのデータアクセスプログラム命令に応答する命令デコーダ（１２）とを備え、
前記データアクセスプログラム命令の各々が、オフセット値を指定するアドレスオフセットフィールドを有し、前記レジスタバンク内の基準アドレスレジスタを指定する基準レジスタフィールドを有すると共に、前記データアクセスプログラム命令の実行中にアクセスされるべき前記メモリ回路内のメモリアドレス値を形成するために、前記オフセット値、及び前記基準アドレスレジスタ内に保持される基準アドレス値に関して実行されるべき操作を指定し、
前記データアクセスプログラム命令が、
(i)第１のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第１の形態と、
(ii)第２のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第２の形態とを有し、
前記第１のアドレスオフセットフィールド長が、前記第２のアドレスオフセットフィールド長より大きく、
前記第１の形態が、前記第２の形態より、前記基準アドレス値、及び前記オフセット値に関して実行されるべき、より少ない数の実行可能な操作を指定することができ、
前記オフセット値が、符号のない値であり、
前記第１の形態ではなく前記第２の形態により提供された操作が、前記オフセット値を前記基準アドレス値に加算すること、及び前記オフセット値を前記基準アドレス値から減算することの内の特定可能な１つにより、変更アドレス値を形成する
ことを特徴とする装置。
【請求項２】
前記操作が、同様に、データアクセス動作のために、以下の、前記基準アドレス値を前記メモリアドレス値として使用すること、前記変更アドレス値を前記メモリアドレス値として使用すること、前記基準アドレス値を使用し、前記変更アドレス値を前記メモリアドレス値として前記基準アドレスレジスタに書き戻すこと、前記変更アドレス値を使用し、前記変更アドレス値を前記メモリアドレス値として前記基準アドレスレジスタに書き戻すこと、というオプションの内の少なくとも１つを可能にする
ことを特徴とする請求項１に記載の装置。
【請求項３】
前記装置が、少なくともその内の１つは特権的であり、少なくともその内の１つは特権的ではない複数のモードにおいて動作し得ると共に、
コードが前記メモリ回路に対するアクセスの異なるレベルを与えられることを可能にするために、データアクセスが、特権的であるもの、または特権的ではないもののどちらとしても記録される
ことを特徴とする請求項１、または請求項２に記載の装置。
【請求項４】
前記操作の少なくとも１つの形態は、メモリアクセスが、現在のモードに関係なく、強制的に特権的ではないものにされることを可能にする
ことを特徴とする請求項３に記載の装置。
【請求項５】
前記基準アドレス値と前記オフセット値との合計値が前記メモリアドレス値として使用されると共に、実行の後で前記基準アドレス値が変更されない固定した操作によって、前記第１の形態の前記データアクセスプログラム命令が動作する
ことを特徴とする請求項１から請求項４のいずれかに記載の装置。
【請求項６】
前記第２の形態の前記データアクセスプログラム命令が、複数の異なる操作の内のどれが使用されるべきであるかを指定する操作モード制御フィールドを含む
ことを特徴とする請求項１から請求項５のいずれかに記載の装置。
【請求項７】
前記第１の形態、及び前記第２の形態によって提供された操作のセットが解体される
ことを特徴とする請求項１から請求項６のいずれかに記載の装置。
【請求項８】
前記データ値が、前記レジスタバンクのそれぞれのレジスタとアドレス指定された記憶場所との間で転送される
ことを特徴とする請求項１から請求項７のいずれかに記載の装置。
【請求項９】
データを処理するための方法であって、
データ処理装置の一部分を構成しているレジスタバンクの１つ以上のレジスタの中の各１つ内に、１つ以上のデータ値を保持する処理と、
データアクセス回路によって、前記データ処理装置とアドレス指定されたメモリ回路内部の記憶場所との間で１つ以上のデータ値を転送するデータアクセス動作を実行する処理と、
データアクセスプログラム命令に応答して、それぞれのデータアクセス動作を実行するために、命令デコーダによって前記データアクセス回路を制御する処理とを含み、
前記データアクセスプログラム命令の各々が、オフセット値を指定するアドレスオフセットフィールドを有し、前記レジスタバンク内の基準アドレスレジスタを指定する基準レジスタフィールドを有すると共に、前記データアクセスプログラム命令の実行中にアクセスされるべき前記メモリ回路内のメモリアドレス値を形成するために、前記オフセット値、及び前記基準アドレスレジスタ内に保持される基準アドレス値に関して実行されるべき操作を指定し、
前記データアクセスプログラム命令が、
(i)第１のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第１の形態と、
(ii)第２のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第２の形態とを有し、
前記第１のアドレスオフセットフィールド長が、前記第２のアドレスオフセットフィールド長より大きく、
前記第１の形態が、前記第２の形態より、前記基準アドレス値、及び前記オフセット値に関して実行されるべき、より少ない数の実行可能な操作を指定することができ、
前記オフセット値が、符号のない値であり、
前記第１の形態ではなく前記第２の形態により提供された操作が、前記オフセット値を前記基準アドレス値に加算すること、及び前記オフセット値を前記基準アドレス値から減算することの内の特定可能な１つにより、変更アドレス値を形成する
ことを特徴とする方法。
【請求項１０】
前記操作が、同様に、データアクセス動作のために、以下の、前記基準アドレス値を前記メモリアドレス値として使用すること、前記変更アドレス値を前記メモリアドレス値として使用すること、前記基準アドレス値を使用し、前記変更アドレス値を前記メモリアドレス値として前記基準アドレスレジスタに書き戻すこと、前記変更アドレス値を使用し、前記変更アドレス値を前記メモリアドレス値として前記基準アドレスレジスタに書き戻すこと、というオプションの内の少なくとも１つを可能にする
ことを特徴とする請求項９に記載の方法。
【請求項１１】
前記方法が、少なくともその内の１つは特権的であり、少なくともその内の１つは特権的ではない複数のモードにおいて実行可能であると共に、
コードが前記メモリ回路に対するアクセスの異なるレベルを与えられることを可能にするために、データアクセスが、特権的であるもの、または特権的ではないもののいずれにも特徴付けられる
ことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記操作の少なくとも１つの形態は、メモリアクセスが、現在のモードに関係なく、強制的に特権的ではないものにされることを可能にする
ことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記基準アドレス値と前記オフセット値との合計値が前記メモリアドレス値として使用されると共に、実行の後で前記基準アドレス値が変更されない固定した操作によって、前記第１の形態の前記データアクセスプログラム命令が動作する
ことを特徴とする請求項９から請求項１２のいずれかに記載の方法。
【請求項１４】
前記第２の形態の前記データアクセスプログラム命令が、複数の異なる操作の内のどれが使用されるべきであるかを指定する操作モード制御フィールドを含む
ことを特徴とする請求項９から請求項１３のいずれかに記載の方法。
【請求項１５】
前記第１の形態、及び前記第２の形態によって提供された操作のセットが解体される
ことを特徴とする請求項９から請求項１４のいずれかに記載の方法。
【請求項１６】
前記データ値が、前記レジスタバンクのそれぞれのレジスタとアドレス指定された記憶場所との間で転送される
ことを特徴とする請求項９から請求項１５のいずれかに記載の方法。
【請求項１７】
データ処理装置を制御するように動作可能なコンピュータプログラムを有するコンピュータプログラム製品であって、
前記コンピュータプログラムが、レジスタバンクの１つ以上のレジスタの中の各１つ内に、操作のための１つ以上のデータ値を保持すると共に、データアクセス回路によって、前記データ処理装置とアドレス指定されたメモリ回路内部の記憶場所との間で１つ以上のデータ値を転送するデータアクセス動作を実行するように動作可能であると共に、複数のデータアクセスプログラム命令を含むデータアクセスコードを有し、
前記データアクセスプログラム命令の各々が、オフセット値を指定するアドレスオフセットフィールドを有し、前記レジスタバンク内の基準アドレスレジスタを指定する基準レジスタフィールドを有すると共に、前記データアクセスプログラム命令の実行中にアクセスされるべき前記メモリ回路内のメモリアドレス値を形成するために、前記オフセット値、及び前記基準アドレスレジスタ内に保持される基準アドレス値に関して実行されるべき操作を指定し、
前記データアクセスプログラム命令が、それぞれ
(i)第１のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第１の形態と、
(ii)第２のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第２の形態とを有する少なくとも１つのデータアクセスプログラム命令を含み、
前記第１のアドレスオフセットフィールド長が、前記第２のアドレスオフセットフィールド長より大きく、
前記第１の形態が、前記第２の形態より、前記基準アドレス値、及び前記オフセット値に関して実行されるべき、より少ない数の実行可能な操作を指定することができ、
前記オフセット値が、符号のない値であり、
前記第１の形態ではなく前記第２の形態により提供された操作が、前記オフセット値を前記基準アドレス値に加算すること、及び前記オフセット値を前記基準アドレス値から減算することの内の特定可能な１つにより、変更アドレス値を形成する
ことを特徴とするコンピュータプログラム製品。
【請求項１８】
前記操作が、同様に、データアクセス動作のために、以下の、前記基準アドレス値を前記メモリアドレス値として使用すること、前記変更アドレス値を前記メモリアドレス値として使用すること、前記基準アドレス値を使用し、前記変更アドレス値を前記メモリアドレス値として前記基準アドレスレジスタに書き戻すこと、前記変更アドレス値を使用し、前記変更アドレス値を前記メモリアドレス値として前記基準アドレスレジスタに書き戻すこと、というオプションの内の少なくとも１つを可能にする
ことを特徴とする請求項１７に記載のコンピュータプログラム製品。
【請求項１９】
前記方法が、少なくともその内の１つは特権的であり、少なくともその内の１つは特権的ではない複数のモードにおいて実行可能であると共に、
コードが前記メモリ回路に対するアクセスの異なるレベルを与えられることを可能にするために、データアクセスが、特権的であるもの、または特権的ではないもののいずれにも特徴付けられる
ことを特徴とする請求項１７から請求項１９のいずれかに記載のコンピュータプログラム製品。
【請求項２０】
前記操作の少なくとも１つの形態は、メモリアクセスが、現在のモードに関係なく、強制的に特権的ではないものにされることを可能にする
ことを特徴とする請求項１９に記載のコンピュータプログラム製品。
【請求項２１】
前記基準アドレス値と前記オフセット値との合計値が前記メモリアドレス値として使用されると共に、実行の後で前記基準アドレス値が変更されない固定した操作によって、前記第１の形態の前記データアクセスプログラム命令が動作する
ことを特徴とする請求項１７から請求項２０のいずれかに記載のコンピュータプログラム製品。
【請求項２２】
前記第２の形態の前記データアクセスプログラム命令が、複数の異なる操作の内のどれが使用されるべきであるかを指定する操作モード制御フィールドを含む
ことを特徴とする請求項１７から請求項２１のいずれかに記載のコンピュータプログラム製品。
【請求項２３】
前記第１の形態、及び前記第２の形態によって提供された操作のセットが解体される
ことを特徴とする請求項１７から請求項２２のいずれかに記載のコンピュータプログラム製品。
【請求項２４】
前記データ値が、前記レジスタバンクのそれぞれのレジスタとアドレス指定された記憶場所との間で転送される
ことを特徴とする請求項１７から請求項２３のいずれかに記載のコンピュータプログラム製品。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００４
【補正方法】変更
【補正の内容】
【０００４】
１つの特徴から見られるように、本発明は、データを処理するための装置を提供する。前記装置は、それぞれのデータ値を保持するように動作可能な１つ以上のレジスタを有するレジスタバンクと、前記装置とアドレス指定されたメモリ回路内部の記憶場所との間で１つ以上のデータ値を転送するデータアクセス動作を実行するように動作可能なデータアクセス回路と、それぞれのデータアクセス動作を実行するために、前記データアクセス回路を制御するためのデータアクセスプログラム命令に応答する命令デコーダとを備え、前記データアクセスプログラム命令の各々が、オフセット値を指定するアドレスオフセットフィールドを有し、前記レジスタバンク内の基準アドレスレジスタを指定する基準レジスタフィールドを有すると共に、前記データアクセスプログラム命令の実行中にアクセスされるべき前記メモリ回路内のメモリアドレス値を形成するために、前記オフセット値、及び前記基準アドレスレジスタ内に保持される基準アドレス値に関して実行されるべき操作を指定し、前記データアクセスプログラム命令が、(i)第１のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第１の形態と、(ii)第２のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第２の形態とを有し、前記第１のアドレスオフセットフィールド長が、前記第２のアドレスオフセットフィールド長より大きく、前記第１の形態が、前記第２の形態より、前記基準アドレス値、及び前記オフセット値に関して実行されるべき、より少ない数の実行可能な操作を指定することができ、前記オフセット値が、符号のない値であり、前記第１の形態ではなく前記第２の形態により提供された操作が、前記オフセット値を前記基準アドレス値に加算すること、及び前記オフセット値を前記基準アドレス値から減算することの内の特定可能な１つにより、変更アドレス値を形成することを特徴とする。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】削除
【補正の内容】
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
別の特徴から見られるように、本発明は、データを処理するための方法を提供する。前記方法は、データ処理装置の一部分を構成しているレジスタバンクの１つ以上のレジスタの中の各１つ内に、１つ以上のデータ値を保持する処理と、データアクセス回路によって、前記データ処理装置とアドレス指定されたメモリ回路内部の記憶場所との間で１つ以上のデータ値を転送するデータアクセス動作を実行する処理と、データアクセスプログラム命令に応答して、それぞれのデータアクセス動作を実行するために、命令デコーダによって前記データアクセス回路を制御する処理とを含み、前記データアクセスプログラム命令の各々が、オフセット値を指定するアドレスオフセットフィールドを有し、前記レジスタバンク内の基準アドレスレジスタを指定する基準レジスタフィールドを有すると共に、前記データアクセスプログラム命令の実行中にアクセスされるべき前記メモリ回路内のメモリアドレス値を形成するために、前記オフセット値、及び前記基準アドレスレジスタ内に保持される基準アドレス値に関して実行されるべき操作を指定し、前記データアクセスプログラム命令が、(i)第１のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第１の形態と、(ii)第２のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第２の形態とを有し、前記第１のアドレスオフセットフィールド長が、前記第２のアドレスオフセットフィールド長より大きく、前記第１の形態が、前記第２の形態より、前記基準アドレス値、及び前記オフセット値に関して実行されるべき、より少ない数の実行可能な操作を指定することができ、前記オフセット値が、符号のない値であり、前記第１の形態ではなく前記第２の形態により提供された操作が、前記オフセット値を前記基準アドレス値に加算すること、及び前記オフセット値を前記基準アドレス値から減算することの内の特定可能な１つにより、変更アドレス値を形成することを特徴とする。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
更に別の特徴から見られるように、本発明は、データ処理装置を制御するように動作可能なコンピュータプログラムを有するコンピュータプログラム製品を提供する。前記コンピュータプログラムは、レジスタバンクの１つ以上のレジスタの中の各１つ内に、操作のための１つ以上のデータ値を保持すると共に、データアクセス回路によって、前記データ処理装置とアドレス指定されたメモリ回路内部の記憶場所との間で１つ以上のデータ値を転送するデータアクセス動作を実行するように動作可能であると共に、複数のデータアクセスプログラム命令を含むデータアクセスコードを有し、前記データアクセスプログラム命令の各々が、オフセット値を指定するアドレスオフセットフィールドを有し、前記レジスタバンク内の基準アドレスレジスタを指定する基準レジスタフィールドを有すると共に、前記データアクセスプログラム命令の実行中にアクセスされるべき前記メモリ回路内のメモリアドレス値を形成するために、前記オフセット値、及び前記基準アドレスレジスタ内に保持される基準アドレス値に関して実行されるべき操作を指定し、前記データアクセスプログラム命令が、それぞれ(i)第１のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第１の形態と、(ii)第２のアドレスオフセットフィールド長を有するアドレスオフセットフィールドを含む第２の形態とを有する少なくとも１つのデータアクセスプログラム命令を含み、前記第１のアドレスオフセットフィールド長が、前記第２のアドレスオフセットフィールド長より大きく、前記第１の形態が、前記第２の形態より、前記基準アドレス値、及び前記オフセット値に関して実行されるべき、より少ない数の実行可能な操作を指定することができ、前記オフセット値が、符号のない値であり、前記第１の形態ではなく前記第２の形態により提供された操作が、前記オフセット値を前記基準アドレス値に加算すること、及び前記オフセット値を前記基準アドレス値から減算することの内の特定可能な１つにより、変更アドレス値を形成することを特徴とする。
【国際調査報告】
2006527420.tif 000008
2006527420.tif 000009