複数のスレッドによりハードウエアマルチスレッディング処理が行われるマルチスレッドプロセッサであって、前記複数のスレッドに対応した複数のレジスタ領域と、前記複数のスレッドのうち処理を実行する実行スレッドを切り替えるスレッド制御手段と、前記スレッド制御手段により前記実行スレッドが切り替えられるスレッド切り替えタイミングの直前に実行される命令を含み、当該命令以前に実行される所定数の命令の中に、特定の記憶媒体からデータを読み込んで前記実行スレッドに対応したレジスタ領域に格納する特定の命令が含まれるか否かを判定する特定命令判定手段と、を備え、前記スレッド制御手段は、前記特定命令判定手段により前記所定数の命令の中に前記特定の命令が含まれると判定された場合には、前記特定の命令と、前記スレッド切り替えタイミングにおいて切り替えられる切り替え先のスレッドの命令とを並行して実行させると共に、前記特定の命令を実行したスレッドに対応したレジスタ領域に前記特定の記憶媒体から読み込んだデータを格納するように制御することを特徴とする、マルチスレッドプロセッサ。請求項1に記載のマルチスレッドプロセッサであって、前記特定の命令は、該マルチスレッドプロセッサが実行する命令のうちレイテンシが最小の命令のレイテンシに前記所定数を乗じた値よりも、レイテンシが大きい命令である、マルチスレッドプロセッサ。請求項1又は2に記載のマルチスレッドプロセッサであって、前記複数のスレッドにより実行される命令が格納される命令バッファを備え、前記特定命令判定手段は、前記スレッド切り替えタイミングに先立って前記スレッド制御手段から通知される信号により前記スレッド切り替えタイミングを把握すると共に、該把握されたスレッド切り替えタイミングと前記命令バッファに格納された命令との関係に基づき、前記所定数の命令の中に前記特定の命令が含まれるか否かを判定する手段である、マルチスレッドプロセッサ。請求項1又は2に記載のマルチスレッドプロセッサであって、前記複数のスレッドにより実行される命令が格納される命令バッファを備え、前記特定命令判定手段は、固定周期で到来する前記スレッド切り替えタイミングを予知すると共に、該予知したスレッド切り替えタイミングと前記命令バッファに格納された命令との関係に基づき、前記所定数の命令の中に前記特定の命令が含まれるか否かを判定する手段である、マルチスレッドプロセッサ。複数のスレッドによりハードウエアマルチスレッディング処理が行われるマルチスレッドプロセッサであって、前記複数のスレッドに対応した複数のレジスタ領域と、前記複数のスレッドのうち処理を実行する実行スレッドを切り替えるスレッド制御手段と、前記スレッド制御手段により前記実行スレッドが切り替えられるスレッド切り替えタイミングの直前に実行される命令が、特定の記憶媒体からデータを読み込んで前記実行スレッドに対応したレジスタ領域に格納する特定の命令であるか否かを判定する特定命令判定手段と、を備え、前記スレッド制御手段は、前記特定命令判定手段により前記スレッド切り替えタイミングの直前に実行される命令が前記特定の命令であると判定された場合には、前記特定の命令と、前記スレッド切り替えタイミングにおいて切り替えられる切り替え先のスレッドの命令とを並行して実行させると共に、前記特定の命令を実行したスレッドに対応したレジスタ領域に前記特定の記憶媒体から読み込んだデータを格納するように制御することを特徴とする、マルチスレッドプロセッサ。ところで、ハードウエアマルチスレッディング処理を行うマルチスレッドプロセッサでは、スレッドの切り替えが、例えば所定サイクル毎のように、所定の規則に従って規則的に行われるため、外部メモリからデータを読み込む等、レイテンシの長い命令を実行すると、実行中にスレッド切り替えのタイミングが到来する可能性があり、その場合に切り替えられるスレッドの処理をどう扱うかという課題が存在する。上記特許文献1に記載の方法では、スレッド切り替えを強制する方法を採用している。この場合、それ以前に行っていた処理が中断されて無駄となったり、或いは実行開始時点で中止されて後回しとなったりする。この結果、処理のリアルタイム性が損なわれたり、処理効率が低下したりする場合がある。一方、レイテンシの長い命令の実行が終了するまでスレッドの切り替えを行わず、それまでの間、切り替え先のスレッドを待たせるという方法も考えられる。しかしながら、この方法でも同様に、切り替え先のスレッドの処理のリアルタイム性が損なわれるという問題が生じ得る。本発明はこのような課題を解決するためのものであり、処理のリアルタイム性を維持しつつ効率的な処理を行うと共に、データの不整合が生じるのを防止することが可能なマルチスレッドプロセッサを提供することを、主たる目的とする。上記目的を達成するための本発明の第1の態様は、複数のスレッドによりハードウエアマルチスレッディング処理が行われるマルチスレッドプロセッサであって、前記複数のスレッドに対応した複数のレジスタ領域と、前記複数のスレッドのうち処理を実行する実行スレッドを切り替えるスレッド制御手段と、前記スレッド制御手段により前記実行スレッドが切り替えられるスレッド切り替えタイミングの直前に実行される命令を含み、当該命令以前に実行される所定数の命令の中に、特定の記憶媒体からデータを読み込んで前記実行スレッドに対応したレジスタ領域に格納する特定の命令が含まれるか否かを判定する特定命令判定手段と、を備え、前記スレッド制御手段は、前記特定命令判定手段により前記所定数の命令の中に前記特定の命令が含まれると判定された場合には、前記特定の命令と、前記スレッド切り替えタイミングにおいて切り替えられる切り替え先のスレッドの命令とを並行して実行させると共に、前記特定の命令を実行したスレッドに対応したレジスタ領域に前記特定の記憶媒体から読み込んだデータを格納するように制御することを特徴とする、マルチスレッドプロセッサである。この本発明の第1の態様によれば、スレッド切り替えタイミングの直前に実行される命令を含み、当該命令以前に実行される所定数の命令の中に、特定の記憶媒体からデータを読み込んで実行スレッドに対応したレジスタ領域に格納する特定の命令が含まれると判定された場合には、特定の命令と切り替え先のスレッドの命令とを並行して実行させると共に、特定の命令を実行したスレッドに対応したレジスタ領域に特定の記憶媒体から読み込んだデータを格納するように制御するため、処理のリアルタイム性を維持しつつ効率的な処理を行うと共に、データの不整合が生じるのを防止することができる。本発明の第1の態様において、前記特定の命令は、該マルチスレッドプロセッサが実行する命令のうちレイテンシが最小の命令のレイテンシに前記所定数を乗じた値よりも、レイテンシが大きい命令であるものとすると、好適である。また、本発明の第1の態様において、前記複数のスレッドにより実行される命令が格納される命令バッファを備え、前記特定命令判定手段は、前記スレッド切り替えタイミングに先立って前記スレッド制御手段から通知される信号により前記スレッド切り替えタイミングを把握すると共に、該把握されたスレッド切り替えタイミングと前記命令バッファに格納された命令との関係に基づき、前記所定数の命令の中に前記特定の命令が含まれるか否かを判定する手段であるものとしてもよい。また、本発明の第1の態様において、前記複数のスレッドにより実行される命令が格納される命令バッファを備え、前記特定命令判定手段は、固定周期で到来する前記スレッド切り替えタイミングを予知すると共に、該予知したスレッド切り替えタイミングと前記命令バッファに格納された命令との関係に基づき、前記所定数の命令の中に前記特定の命令が含まれるか否かを判定する手段であるものとしてもよい。本発明の第2の態様は、複数のスレッドによりハードウエアマルチスレッディング処理が行われるマルチスレッドプロセッサであって、前記複数のスレッドに対応した複数のレジスタ領域と、前記複数のスレッドのうち処理を実行する実行スレッドを切り替えるスレッド制御手段と、前記スレッド制御手段により前記実行スレッドが切り替えられるスレッド切り替えタイミングの直前に実行される命令が、特定の記憶媒体からデータを読み込んで前記実行スレッドに対応したレジスタ領域に格納する特定の命令であるか否かを判定する特定命令判定手段と、を備え、前記スレッド制御手段は、前記特定命令判定手段により前記スレッド切り替えタイミングの直前に実行される命令が前記特定の命令であると判定された場合には、前記特定の命令と、前記スレッド切り替えタイミングにおいて切り替えられる切り替え先のスレッドの命令とを並行して実行させると共に、前記特定の命令を実行したスレッドに対応したレジスタ領域に前記特定の記憶媒体から読み込んだデータを格納するように制御することを特徴とする、マルチスレッドプロセッサである。本発明の第2の態様によれば、スレッド切り替えタイミングの直前に実行される命令が、特定の記憶媒体からデータを読み込んで実行スレッドに対応したレジスタ領域に格納する特定の命令であると判定された場合には、特定の命令と切り替え先のスレッドの命令とを並行して実行させると共に、特定の命令を実行したスレッドに対応したレジスタ領域に特定の記憶媒体から読み込んだデータを格納するように制御するため、処理のリアルタイム性を維持しつつ効率的な処理を行うと共に、データの不整合が生じるのを防止することができる。本発明によれば、処理のリアルタイム性を維持しつつ効率的な処理を行うと共に、データの不整合が生じるのを防止することが可能なマルチスレッドプロセッサを提供することができる。以下、本発明を実施するための形態について、添付図面を参照しながら実施例を挙げて説明する。<第1実施例>以下、図面を参照し、本発明の第1実施例に係るマルチスレッドプロセッサ1について説明する。[構成基本機能]図1は、本発明の第1実施例に係るマルチスレッドプロセッサ1のシステム構成例である。マルチスレッドプロセッサ1は、主要な構成として、プログラムメモリ10と、命令バッファ200、201、202と、命令デコーダ25と、レジスタファイル300、301、302と、実行ユニット40と、スレッドスケジュール部50と、パイプライン制御部60と、スケジューリング情報保存部70と、命令判定部80と、を備える。なお、本実施例では、二以上の任意の数であるスレッド数後述するアクセス専用スレッドを含むが3であるとし、の後の数字0、1、2がスレッドナンバーを示すものとする。また、図1に示す構成は、ハードウエアマルチスレッディング処理を行うための一般的な構成を例示したものであり、ハードウエアマルチスレッディング処理を行うことが可能な構成であれば、任意の構成要素を置換、削除、追加等してよい。ハードウエアマルチスレッディング処理とは、複数のスレッドが、命令デコーダや演算回路等のハードウエアの一部を共有して処理を行なうものである。スレッドとは、ハードウエアを部分的に共有して処理を行なう仮想的な処理主体をいう。本実施例では、命令バッファやレジスタファイルはスレッド毎に用意されているが、その他の構成要素はスレッド間で共用されるものとする。スレッド0、1、2は、例えば数サイクル毎に、実行スレッドとして順に選択される。以下、実行スレッドとは、処理を実行中のスレッドをいうものとする。スレッドの選択順の決定手法には種々の手法があり、最も簡易な例では、スレッド0→スレッド1→スレッド2→スレッド0...のように、循環的に選択される。なお、スレッドの切り替えは、スレッドスケジュール部60によって指示され、スレッドの切り替えを行うための具体的な処理は、パイプライン制御部70によって行われる。プログラムメモリ10は、例えばフラッシュROMReadOnlyMemoryであり、各スレッドが実行するプログラム命令列を格納する。プログラムメモリ10は、図示しない命令フェッチユニットから命令の格納場所を示すアドレスが入力されると、当該アドレスに格納された命令を命令側メモリバス12に出力する。この命令フェッチユニットは、スレッド毎のプログラムカウンタを備えており、プログラムカウンタの指し示すアドレスをプログラムメモリ10に出力する。命令バッファ200、201、202は、スレッド毎に設けられている。前述の命令フェッチユニットは、プログラムメモリ10が出力した命令を、スレッドに対応した命令バッファに格納する。すなわち、スレッド0が実行する命令をフェッチした場合は命令バッファ200に命令を格納し、スレッド1が実行する命令をフェッチした場合は命令バッファ201に命令を格納し、スレッド2が実行する命令をフェッチした場合は命令バッファ202に命令を格納する。命令バッファ200、201、202は、例えばFIFOFirstInFirstOutに従って命令を入出力するように制御される。命令デコーダ24は、命令バッファのうち実行スレッドに対応するものから供給される命令を解読デコードし、図示しない命令発行部に出力する。命令デコーダ24による解読結果は、例えば、演算の種別、ソースオペランド、結果の格納場所等である。命令発行部は、命令デコーダ24から入力された命令に従ってレジスタファイルレジスタ300、301、302等から演算対象値等を取得し、実行ユニット40に出力する。レジスタファイル300、301、302は、それぞれ、スレッド毎に設定されたレジスタ領域である。これらのレジスタ領域は、それぞれが物理的に単独のレジスタであってもよいし、共有レジスタが領域分割されたものであっても構わない。実行ユニット40は、例えば、スレッドの要求に応じて四則演算その他の演算処理を行うためのALUArithmeticLogicUnitやFPGAFieldProgrammableGateArray等の演算回路42、WRITE命令やREAD命令を実行するLSULoadStoreUnit44等を含み、更に、これらによって用いられる高速アクセス可能な汎用レジスタ46を有する。LSU44は、上記READ命令を実行する際には、データ側メモリバス48を介して、RAMRandomAccessMemoryやEEPROMElectricallyErasableandProgrammableReadOnlyMemory、外部装置等からデータを読み込んで汎用レジスタ46に格納する。汎用レジスタ46に格納されたデータは、パイプライン制御部60によって、原則として実行スレッドに対応する命令バッファに格納される。スレッドスケジュール部50は、所定のアルゴリズムに基づきスレッドの切り替えを指示する。スレッドスケジュール部50は、原則として、前述の如くスレッド0→スレッド1→スレッド2→スレッド0...のように循環的にスレッドを切り替えるように指示する。各スレッドに割り当てる処理クロック数サイクル数は、均等としてもよいし、スレッドの負荷に応じて強弱が付けられてもよい。更に、スレッドスケジュール部50は、後述するように命令判定部80から情報供給された際に判定されるスレッドの優先度に基づいてスレッドの切り替え先を動的に決定する。なお、スレッドの優先度は、命令判定部80から供給される情報とは無関係に所望のタイミングで決定されてもよい。詳しくは、後述する。パイプライン制御部60は、スレッドスケジュール部50から実行スレッドを特定するためのコンテキスト情報等が与えられ、内部クロックの立ち上がり等に応じて、上記命令フェッチユニット、命令デコーダ24、命令発行部、実行ユニット40等の各動作を制御する。また、命令バッファやレジスタファイルのうち、実行スレッドに対応するものを選択するためのセレクタの制御等も行っている。スケジューリング情報保存部70は、スレッドスケジュール部50によって使用される記憶手段であり、レジスタやキャッシュメモリ、フラッシュメモリ等が用いられる。[特徴的な処理]READ命令に関する処理命令判定部80には、スレッドスケジュール部50により実行スレッドが切り替えられるスレッド切り替えタイミングに先だって例えば数クロック前に、当該スレッド切り替えタイミングが到来することを予告するスレッド切り替え予告信号が、スレッドスケジュール部50から入力される。なお、スレッド切り替えタイミングが固定周期で到来するような場合は、命令判定部80が内部タイマー等によってスレッド切り替えタイミングを予知してもよい。命令判定部80は、スレッド切り替え予告信号が入力されると、スレッド切り替えタイミングの直前に実行される命令を含み、当該命令以前に実行される所定数の命令の中に、データ側メモリバス48に接続されたRAMやEEPROM等の特定の記憶媒体からデータを読み込んで、実行スレッドに対応したレジスタファイルに格納するREAD命令が含まれるか否かを判定する。ここで、スレッド切り替えタイミングの直前に実行される命令以前に実行される所定数の命令とは、例えば数個の命令を意味するものであってもよいし、所定数=1、従ってスレッド切り替えタイミングの直前に実行される命令のみを指すものであってもよい。現実的には、READ命令の完了に4クロックを要する場合、所定数は3程度の値とすることが望ましい。すなわち、READ命令のレイテンシに相当する命令数と同じか、それ以下とする。これによって、通常、レイテンシが最小の命令は1クロックで完了することを考慮すると、READ命令が所定数の命令に含まれている場合、次に実行されるREAD命令の完了までに、スレッド切り替えタイミングが到来するという状態であるか否かを判別することができる。命令判定部80は、所定数の命令の中にREAD命令が含まれると判定すると、その旨を示す信号Srをスレッドスケジュール部50に出力する。スレッドスケジュール部50は、信号Srが入力されると、当該READ命令と、スレッド切り替えタイミングにおいて切り替えられる切り替え先のスレッドの命令とを並行して実行させると共に、READ命令を実行したスレッドすなわち切り替え元のスレッドに対応したレジスタファイルに特定の記憶媒体から読み込んだデータを格納するように、パイプライン制御部60に例外的な指示を出力する。前述のように、LSU44によってREAD命令が実行されると、データ側メモリバス48を介して読み込まれたデータは汎用レジスタ46に格納される。そして、汎用レジスタ46に格納されたデータは、パイプライン制御部60によって、原則として実行スレッドに対応する命令バッファに格納される。従って、上記のような例外的な指示がなされないと、汎用レジスタ46に格納されたデータは、スレッド切り替えタイミングにおいて切り替えられた切り替え先のスレッドに対応するレジスタファイルに格納されてしまうのである。この結果、スレッド間でデータの不整合が生じることとなる。この点、本実施例に係るマルチスレッドプロセッサ1では、汎用レジスタ46に格納されたデータを、切り替え元のスレッドに対応したレジスタファイルに格納するようにパイプライン制御部60に指示するため、上記のようなデータの不整合が生じるのを防止することができる。また、スレッドスケジュール部50は、スレッド切り替えタイミングの直前期に実行されるREAD命令と、切り替え先のスレッドの命令を並行して実行させるため、マルチスレッドプロセッサ1は、処理のリアルタイム性を維持しつつ切り替え先のスレッドが予定通りに実行開始されることを意味する、効率的な処理を行うことができる。係る並行処理を行う際には、以下のようなアルゴリズムで切り替え先のスレッドを選択すると、好適である。1命令バッファに格納された先頭の命令がバスアクセスを要しない命令READ命令やWRITE命令、その他外部機器へのアクセス命令でないものであるスレッドを選択する。2上記1に該当するスレッドが複数存在する場合、以下のような手法によりスレッドを選択する。2_1スレッド番号の小さい順に選択する。2_2事前にスケジューリング情報保存部により設定が保存されている優先度が高いスレッドを選択する。2_3上記2_1、2_2により、スレッド切り替え先から外されたスレッドを優先的に選択する。上記優先度の設定は、例えば以下のように行うことができる。2_2_1READ命令の実行中にバスアクセスが競合しないスレッド、すなわち、バスアクセス命令の実行が最も後であるスレッドを選択する。2_2_2処理内容の重要度に基づいて決定する。例えば本実施例のマルチスレッドプロセッサが車載制御装置に適用された場合、走行に関する処理加速、減速、操舵等に関する処理を行っているスレッドの優先度を高くする。また、上記に拘わらず、優先度が極めて高い処理が割り込み等によって発生した場合は、当該処理が終了するまでの間、シングルスレッド処理を行ってもよい。WRITE命令に関する処理なお。スレッド切り替えタイミングの直前に実行される命令以前に実行される所定数の命令の中に、データ側メモリバス48を介してRAMやEEPROM等にデータを書き込むWRITE命令が存在する場合にも、並行処理を行わせるものとしてよい。この場合、命令判定部80は、所定数の命令の中にWRITE命令が含まれると判定すると、その旨を示す信号Swをスレッドスケジュール部50に出力する。スレッドスケジュール部50は、信号Swが入力されると、当該WRITE命令と、スレッド切り替えタイミングにおいて切り替えられる切り替え先のスレッドの命令とを並行して実行させるように、パイプライン制御部60に例外的な指示を出力する。この場合、スレッドの切り替えタイミングにおいては、LSU44が既にレジスタファイルからデータを取得しているため、READ命令の場合のようなレジスタファイルの指定は不要である。切り替え先のスレッドの選択手法に関しては、READ命令に関する処理と同様の手法を援用することができる。[処理フロー]図2は、本実施例のマルチスレッドプロセッサ1により実行される特徴的な処理の流れを示すフローチャートである。本フローは、例えば所定周期で繰り返し実行される。まず、命令判定部80は、スレッドスケジュール部50からスレッド切り替え予告信号が入力されたか否かを判定するS100。スレッド切り替え予告信号が入力されていない場合は、命令判定部80は、何も処理を行わない。命令判定部80は、スレッド切り替え予告信号が入力されると、スレッド切り替えタイミングの直前に実行される命令を含み、当該命令以前に実行される所定数の命令の中に、READ命令が含まれるか否かを判定するS102。所定数の命令の中に、READ命令が含まれない場合は、命令判定部80は、スレッドスケジュール部50に対して信号を返さない。この結果、スレッドスケジュール部50は、原則として定められた順序でスレッドの切り替えを行うS104。一方、所定数の命令の中に、READ命令が含まれる場合は、命令判定部80は、スレッドスケジュール部50に対して信号Srを出力するS106。この結果、スレッドスケジュール部50は、READ命令と、スレッド切り替えタイミングにおいて切り替えられる切り替え先のスレッドの命令とを並行して実行させると共に、READ命令を実行した切り替え元のスレッドに対応したレジスタファイルに特定の記憶媒体から読み込んだデータを格納するように、パイプライン制御部60に例外的な指示を出力するS108。[従来構成との比較]図3は、本実施例のマルチスレッドプロセッサ1のような特徴的な処理を行わない従来構成のマルチスレッドプロセッサにより実行される処理の推移を模式的に示す図である。図示するように、従来構成のマルチスレッドプロセッサでは、スレッド切り替えタイミングの直前期にREAD命令が実行される場合、当該READ命令を中断するか、他のスレッドの処理を待たせた上でREAD命令を継続実行していた。このため、切り替え先のスレッドの処理のリアルタイム性が損なわれたり、処理効率が低下したりするという不都合が生じていた。これに対し、図4は、本実施例のマルチスレッドプロセッサ1により実行される処理の推移を模式的に示す図である。図示するように、本実施例のマルチスレッドプロセッサ1では、スレッド切り替えタイミングの直前期にREAD命令が実行される場合、当該READ命令と切り替え先のスレッドの命令を並行して実行させると共に、READ命令の結果の格納先が、当該READ命令の発行元のスレッドとなるように制御している。このため、処理のリアルタイム性を維持しつつ効率的な処理を行うと共に、データの不整合が生じるのを防止することができる。[まとめ]以上説明した本実施例のマルチスレッドプロセッサ1によれば、処理のリアルタイム性を維持しつつ効率的な処理を行うと共に、データの不整合が生じるのを防止することができる。<第2実施例>以下、図面を参照し、本発明の第2実施例に係るマルチスレッドプロセッサ2について説明する。図5は、本発明の第2実施例に係るマルチスレッドプロセッサ2のシステム構成例である。図示するように、マルチスレッドプロセッサ2は、第1実施例に係るマルチスレッドプロセッサ1が有する構成に加えて、パイプライン制御部60により使用される一次保存領域62を備える。一次保存領域62は、スケジューリング情報保存部70と同様、レジスタやキャッシュメモリ、フラッシュメモリ等が用いられる。本実施例に係るパイプライン制御部60は、READ命令を実行した切り替え元のスレッドに対応したレジスタファイルに特定の記憶媒体から読み込んだデータを格納する際には、LSU44によって汎用レジスタ46に書き込まれたデータを、一旦、一次保存領域62に格納する。そして、実行スレッドによるレジスタファイルの使用状況を見ながら、一次保存領域62に格納したデータを切り替え元のスレッドに対応したレジスタファイルにコピーする。レジスタファイルは、スレッド毎に設けられているものの、同一のレジスタを領域分割したものである場合もあるし、複数のレジスタに対してセレクタ等が設けられている場合もある。従って、実行スレッドが自己に対応したレジスタファイルにアクセスしている間は、切り替え元のスレッドに対応したレジスタファイルにアクセスできない可能性があるのである。第2実施例に係るパイプライン制御部60では、汎用レジスタ46に書き込まれたデータを、一旦、一次保存領域62に格納するため、レジスタファイルへのアクセス状況が混雑しているような場面においても、汎用レジスタ46からのコピーを確実に行うことができる。この結果、データの不整合が生じるのをより強力に防止することができる。以上説明した本実施例のマルチスレッドプロセッサ2によれば、処理のリアルタイム性を維持しつつ効率的な処理を行うと共に、データの不整合が生じるのをより強力に防止することができる。以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。例えば、スレッド切り替え先の決定主体は、スレッドスケジュール部50であるものとしたが、スケジューリング情報保存部70がスレッド切り替え先の決定処理を行うものとしてもよい。