(57)【要約】【課題】分岐命令を実行する際にロード命令の投機的な実行をソフトウェア的に行うことで、ハードウェアを追加することなく、入出力マッピングメモリへのアクセスによる入出力装置の誤動作や入出力関連データの破壊および削除を解消し、かつプロセッサの性能向上を実現できるプロセッサを提供する【解決手段】本発明によるプロセッサは、分岐命令を実行中にロード命令を受信した場合、そのロード命令が物理的メモリ領域に連関した命令であるか否かを判断する。好ましくは、物理的メモリ領域に連関することを示す識別子がそのロード命令に含まれているか否かを判断する。そのロード命令が物理的メモリ領域に関連していると判断された場合には、プロセッサは、分岐命令の実行中に遅延が発生する間にそのロード命令を実行する。【選択図】図１
2008204429.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサがロード命令を投機的に実行する方法であり、
分岐命令を実行する段階と、
ロード命令を受信する段階と、
前記ロード命令が物理的メモリ領域に連関した命令であるか否かを判断する段階と、
前記ロード命令が物理的メモリ領域に連関していると判断された場合には、前記分岐命令の実行中に遅延が発生する間に前記ロード命令を実行する段階と、
を含むことを特徴とする方法。
【請求項２】
前記物理的メモリ領域に連関した命令であるか否かを判断する段階では、物理的メモリ領域にアクセスするか否かを示す識別子を前記ロード命令が含んでいるか否かを判断することを特徴とする請求項１に記載の方法。
【請求項３】
前記ロード命令が物理的メモリ領域に連関した命令でないと判断された場合には、前記ロード命令の実行の代わりに所定の値をリターンすることを特徴とする請求項１に記載の方法。
【請求項４】
前記物理的メモリ領域に連関した命令であるか否かを判断する段階では、前記ロード命令が前記プロセッサの性能向上に連関しているか否かを判断する段階をさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記プロセッサの性能向上は、リソースの使用量および消費電力の少なくともいずれかを減少させることを特徴とする請求項４に記載の方法。
【請求項６】
請求項１ないし５のいずれか一項の方法をプロセッサに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項７】
分岐命令およびロード命令を実行するプロセッサコアと、
前記プロセッサコアによる入出力装置の制御に利用される入出力マッピングメモリと、
物理的メモリ領域と、
を含むプロセッサであり、
前記プロセッサコアは、ロード命令を受信し、前記ロード命令が前記物理的メモリ領域に連関したロード命令であるか否かを判断し、前記物理的メモリ領域に連関したロード命令であると判断した場合には、分岐命令の実行中に遅延が発生する間に前記ロード命令を実行することを特徴とするプロセッサ。
【請求項８】
前記ロード命令には、前記物理的メモリ領域にアクセスするか否かを示す識別子が含まれていることを特徴とする請求項７に記載のプロセッサ。
【請求項９】
前記プロセッサコアは、前記ロード命令が前記物理的メモリ領域に連関したロード命令でないと判断した場合に、前記ロード命令を実行する代わりに所定の値をリターンすることを特徴とする請求項７に記載のプロセッサ。
【請求項１０】
前記プロセッサコアは、前記ロード命令が前記プロセッサの性能向上に連関しているか否かをさらに判断することを特徴とする請求項７に記載のプロセッサ。
【請求項１１】
分岐命令およびロード命令を受信する命令受信部と、
前記ロード命令が物理的メモリ領域に連関したロード命令であるか否かを判断するメモリ領域判断部と、
前記メモリ領域判断部によって前記ロード命令が物理的メモリ領域に連関したロード命令であると判断された場合に、前記分岐命令の実行中に遅延が発生する間に前記ロード命令を実行する命令実行部と、
を含むことを特徴とするプロセッサコア。
【請求項１２】
前記ロード命令には、物理的メモリ領域にアクセスするか否かを示す識別子が含まれていることを特徴とする請求項１１に記載のプロセッサコア。
【請求項１３】
前記メモリ領域判断部によって前記ロード命令が物理的メモリ領域に連関したロード命令でないと判断された場合に、前記命令実行部は前記ロード命令を実行する代わりに所定の値をリターンすることを特徴とする請求項１１に記載のプロセッサコア。
【請求項１４】
前記メモリ領域判断部は、前記ロード命令がプロセッサの性能向上に連関しているか否かを判断することを特徴とする請求項１１に記載のプロセッサコア。
【請求項１５】
前記ロード命令が物理的メモリ領域に連関した命令であると判断された場合に、前記ロード命令に従って物理的メモリ領域にアクセスすることを特徴とする請求項１に記載の方法。
【請求項１６】
前記プロセッサコアは、前記ロード命令が前記物理的メモリ領域に連関した命令であると判断した場合に、前記ロード命令に従って前記物理的メモリ領域にアクセスすることを特徴とする請求項７に記載のプロセッサ。
【請求項１７】
前記メモリ領域判断部によって前記ロード命令が物理的メモリ領域に連関した命令であると判断された場合に、前記命令実行部は前記ロード命令に従って物理的メモリ領域にアクセスすることを特徴とする請求項１１に記載のプロセッサコア。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はプロセッサの演算方法に関し、より詳細には、プロセッサがロード命令を投機的に実行する方法に関する。
【背景技術】
【０００２】
プロセッサは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）または中央演算処理装置とも呼ばれ、命令の解釈や資料の演算および比較などの処理を制御するコンピュータシステムの核心的な装置である。プロセッサは、演算命令を実行するプロセッサコアと、プロセッサコアが処理する命令およびデータを保存しているメモリとを含む。
【０００３】
プロセッサコアは、メモリに保存されている分岐命令を実行する際に、メモリから分岐命令をフェッチして解読して実行する。
【０００４】
従来のプロセッサによるロード命令の保存的（ｃｏｎｓｅｒｖａｔｉｏｎ）な実行方法においては、分岐命令の実行中に発生する遅延の間にはいかなる演算命令も実行されない。したがって、分岐命令を実行する際に発生する遅延時間だけ、プロセッサの性能が低下する。
【０００５】
一方、従来の保存的な方法による問題点を解決するために提案されたロード命令の投機的（ｓｐｅｃｕｌａｔｉｖｅ）な実行方法においては、メモリにマッピングされた入出力レジスタ（ｍｅｍｏｒｙ−ｍａｐｐｅｄ  Ｉ／Ｏ  ｒｅｇｉｓｔｅｒ）に誤ってアクセスすることによって、入出力装置のデータを破壊したり、入出力装置に誤作動を生じさせたり、ページフォルトを発生させたりする恐れがあるという短所がある。
【０００６】
従来の他の投機的なロード命令の実行方法においては、ロード命令に識別子を添付し、特定の識別子が添付されたロード命令だけが投機的に実行されている。このような方法では、チェック命令を用いることにより、レジスタに保存されている値を使用する前に、入出力データの破壊やページフォルトなどの例外的な状況が発生したか否かを判断できる。その結果、例外的な状況が発生していない場合には、レジスタに保存されている値を正常に利用できる。また、例外的な状況が発生した場合には、誤った値が保存されている恐れがあるため、レジスタ値を使用する前に、チェック命令によって明示された方法を用いて例外的な状況を処理できる。しかし、このような方法は、例外的な状況が発生するか否かを保存し、チェック命令によって例外的な状況が発生すると明示された際には、復旧命令を実行しなければならないという点において、ハードウェアおよびコンパイラの両側面において複雑な構成が必要となり、追加費用が発生するという短所があった。
【特許文献１】米国特許第６，９１８，０３０号明細書
【特許文献２】米国特許第６，４６３，５７９号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、投機的方法によるロード命令を実行する際に、簡単なソフトウェア的な方法のみで例外的な状況を処理することができる方法を新たに提案するものである。
【０００８】
本発明は、上記のような従来技術を改善するために案出されたものであって、分岐命令を実行する際にロード命令の投機的な実行をソフトウェア的な方法で行うことで、入出力装置を制御するための入出力マッピングメモリへのアクセスによる入出力装置の誤動作や入出力関連データの破壊および削除などを解消し、プロセッサの性能向上を実現し、かつハードウェアの追加に伴う費用の増大を回避できるプロセッサの提供を目的とする。
【課題を解決するための手段】
【０００９】
上記の目的を達成し、従来技術の問題点を解決するために、本発明によるプロセッサがロード命令を投機的に実行する方法は、分岐命令を実行する段階と、ロード命令を受信する段階と、前記ロード命令が物理的メモリ領域に連関した命令であるか否かを判断する段階と、前記ロード命令が物理的メモリ領域に関連していると判断された場合には、前記分岐命令の実行中に遅延が発生する間に前記ロード命令を実行する段階とを含む。
【００１０】
本発明によるプロセッサは、分岐命令およびロード命令を実行するプロセッサコアと、前記プロセッサコアによる入出力装置の制御に利用される入出力マッピングメモリと、物理的メモリ領域とを含む。前記プロセッサコアは、ロード命令を受信し、前記ロード命令が前記物理的メモリ領域に連関したロード命令であるか否かを判断し、前記物理的メモリ領域に連関したロード命令であると判断した場合には、分岐命令の実行中に遅延が発生する間に前記ロード命令を実行する。
【００１１】
本発明によるプロセッサコアは、分岐命令およびロード命令を受信する命令受信部と、前記ロード命令が物理的メモリ領域に連関したロード命令であるか否かを判断するメモリ領域判断部と、前記メモリ領域判断部によって前記ロード命令が物理的メモリ領域に連関したロード命令であると判断された場合に、前記分岐命令の実行中に遅延が発生する間に前記ロード命令を実行する命令実行部とを含む。
【発明の効果】
【００１２】
本発明によれば、分岐命令の実行中に命令を実行することによって遅延が発生する場合にロード命令が受信される。さらに、物理的メモリ領域に連関することを示す識別子をロード命令に添付することにより、その識別子の有無から、受信されたロード命令が物理的メモリ領域に連関するロード命令であるか否かを判断できる。ロード命令が物理的メモリ領域に連関すると判断された場合には、投機的方法によってそのロード命令を実行する。特に、分岐命令の実行中に発生する遅延の間にそのロード命令をあらかじめ実行できる。
【発明を実施するための最良の形態】
【００１３】
以下、添付の図面に基づき、本発明の好適な実施の形態を詳細に説明するが、本発明がこれらの実施形態によって制限または限定されることはない。図中、同じ参照符号は同じ部材を示す。
【００１４】
図１は、本発明の一実施形態によるプロセッサがロード命令を投機的に実行する方法を示したフローチャートである。
【００１５】
まず、プロセッサが分岐命令を実行する（Ｓ１００）。本発明において、分岐命令とは、投機的に実行されるロード命令に連関した命令である。分岐命令のような演算命令を実行するためには遅延時間が必要となる。その遅延時間にロード命令を投機的に実行することによって、一連の演算命令に対するプロセッサの全体的な動作時間が短縮される。
【００１６】
分岐命令の実行中に遅延が発生すれば（Ｓ１１０）、プロセッサはロード命令を受信する（Ｓ１２０）。本発明の実施形態によるロード命令とは、メモリの特定の番地に保存されている値を読み出す命令を意味し、同じようにメモリにアクセスして所定のデータを読み出す一連の命令語をすべて含む。
【００１７】
プロセッサは続いて、受信したロード命令を解読し、受信したロード命令が物理的メモリ領域に連関している命令であるか否かを判断する（Ｓ１３０）。特に、本発明の実施形態によるロード命令は、物理的メモリ領域にアクセスするか否かを示す識別子を含んでいる。したがって、本発明の実施形態によるコンピュータ装置のプロセッサコアは、ロード命令に添付されている識別子を用いることによって、そのロード命令が物理的メモリ領域に連関している命令であるか否かを判断できる。
【００１８】
本発明の実施形態による物理的メモリ領域とは仮想メモリではないメモリ領域であって、値を実際に書き込んだり読み取ったりする場合に、他の付随的な効果が発生しない実際のメモリ領域を意味する。入出力マッピングメモリ（Ｉ／Ｏ  ｍａｐｐｅｄ）は、外部装置にアクセスするための領域であるため、物理的メモリ領域に含まれない。
【００１９】
一般に、メモリの階層構造は、プロセッサ内に含まれてコアに最も近く処理が最も速い第１階層メモリ領域を最上階層として含む。メモリの階層構造にはさらに、プロセッサと第３階層メモリ領域との間の処理速度の差を減らすために用いられるキャッシュメモリに該当する第２階層メモリ領域、プロセッサで実行されるプログラムおよびデータが保存されるメインメモリに該当する第３階層メモリ領域、並びに、ＨＤＤ（ｈａｒｄ  ｄｉｓｋ  ｄｒｉｖｅ）および磁気ディスクなどのような補助記憶装置に該当する第４階層メモリ領域などがある。このようなメモリの階層構造では、物理的メモリ領域に該当するメモリからのデータの提供が最も速く、第４階層メモリ領域に該当するメモリからのデータの提供が最も遅い。
【００２０】
本発明の実施形態では、上記のようなメモリの階層構造において、プロセッサが、受信したロード命令を、第１階層メモリ領域に該当する物理的メモリ領域へのアクセスを要求するロード命令であるか否かを判断する。
【００２１】
本発明の実施形態によるプロセッサコアは、ロード命令が物理的メモリ領域に連関する命令であるか否かを判断し、入出力装置へのアクセスを可能にする入出力マッピングメモリ領域ではなく、物理的メモリ領域にのみ連関するロード命令のみを実行する。このように、物理的メモリ領域ではない入出力マッピングメモリ領域へのアクセスをあらかじめ遮断することによって、不必要なエラーの発生が予防される。
【００２２】
ロード命令が物理的メモリ領域に連関していないと判断された場合には、プロセッサは所定の値をリターンして（Ｓ１５０）、進行中であった演算命令が正常に実行されるようにする。
【００２３】
また、本発明の実施形態によるプロセッサの演算方法は好ましくは、ロード命令が物理的メモリ領域に連関した命令であると判断された場合、そのロード命令を投機的方法によって実行する前に、その実行によってプロセッサの性能向上が期待できるか否かを判断する過程をさらに含む（Ｓ１４０）。そのロード命令がプロセッサの性能向上とは関係しないと判断された場合には、そのロード命令の実行には投機的方法を適用しないようにする。それにより、不必要なリソースの使用や不必要な電力消費などといった問題点が解決される。
【００２４】
こうして、受信したロード命令が物理的メモリ領域に連関する命令であり、かつプロセッサの性能向上が可能な命令である場合にのみ、そのロード命令が投機的方法によって実行される（Ｓ１６０）。
【００２５】
以上のとおり、本発明の実施形態によるプロセッサは、分岐命令の実行中に遅延が発生する場合にロード命令を受信する。さらに、物理的メモリ領域に連関することを示す識別子をロード命令に用いることで、受信したロード命令が物理的メモリ領域に連関するロード命令であるか否かをプロセッサが判断できる。ロード命令が物理的メモリ領域に連関すると判断された場合には、プロセッサが投機的方法によってロード命令を実行する。こうして、分岐命令中に発生する遅延の間にロード命令があらかじめ実行可能となる。
【００２６】
一方、ロード命令が物理的メモリ領域に連関しないと判断された場合には、プロセッサは特定の値をリターンし、投機的方法ではロード命令を実行しない。それにより、プロセッサが不必要に入力マッピングメモリ領域にアクセスして入出力装置のデータに不用意にアクセスするといった例外的な状況を発生させないようにできる。
【００２７】
本発明の実施形態では、分岐命令中に発生する遅延の間にロード命令をあらかじめ投機的方法によって実行する。それにより、プロセッサの演算効率を極大化できる。特に、本発明の実施形態によるプロセッサの演算方法は、ソフトウェア的な構成のみで投機的方法によるロード命令の実行を実現できるので、ハードウェア的な追加による費用が発生しない。
【００２８】
また、本発明の実施形態によるプロセッサの演算方法は、図１に示されたプロセッサの演算方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体を含む。
【００２９】
本発明の実施形態によるプロセッサの演算方法は、コンピュータにより具現される多様な動作を実行するためのプログラム命令を含むコンピュータ読み取り可能な媒体を含む。前記媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせて含むこともできる。前記媒体およびプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の当業者にとって公知であり使用可能なものであればよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスク、フレキシブルディスクおよび磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、フロプティカルディスクのような光磁気媒体、およびＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれる。前記媒体は、プログラム命令、データ構造などを保存する信号を送信する搬送波を含む光または金属線、導波管などの送信媒体であっても良い。プログラム命令の例としては、コンパイラによって生成される機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。上記のハードウェア要素は、本発明の動作を実行するために一以上のソフトウェアモジュールとして動作するように構成でき、その逆もできる。
【００３０】
図２は、本発明の一実施形態によるプロセッサがロード命令を投機的に実行するときの命令コードの処理順を示す図である。図２に示されている実施形態では、レジスタ値の比較結果に応じて分岐を実行する際に発生する遅延の間に、物理的メモリ領域に該当するメモリ値をロードする。
【００３１】
段階２１０では、第２レジスタｒ２の値に第３レジスタｒ３の値を加えて第１レジスタｒ１に保存する。段階２２０では、第１レジスタｒ１の値を１だけ増加させて第４レジスタｒ４に保存する。段階２３０では、「ｂｅｑ」命令によって第４レジスタｒ４の値を所定の値「３」と比べて特定位置「Ｌ」に分岐する。このとき、「ｂｅｑ」命令によって分岐して命令を実行するまでには、１つの段階に相当する遅延が発生する。
【００３２】
従来の保存的方法によるロード命令の実行方法では、分岐命令の実行に伴う、１つの段階に相当する遅延期間にはいかなる命令も実行しなかった。また、従来の投機的方法によるロード命令の実行方法では、分岐命令を実行する際に、ロード命令の実行中に例外が発生するか否かをあらかじめ判断する一方、必要な情報を保存した上でロード命令を投機的に実行していた。したがって、そのような判断、および必要な情報の保存用にハードウェアの追加が必要であった。
【００３３】
しかし、本発明の実施形態では上記のとおり、投機的方法による実行の是非を判断するための識別子がロード命令に含まれている。したがって、従来の方法とは異なり、投機的方法によるロード命令の実行の是非を、ソフトウェアによる識別子の判断で実現できる。その結果、追加的な費用がなくてもプロセッサの処理の効率を向上できる。
【００３４】
具体的には、図２の段階２４０のように、第４レジスタｒ４に該当するメモリ領域からの値の読み取りを要求するロード命令に「Ｌ１」という識別子を追加する。その識別子「Ｌ１」により、そのロード命令が物理的メモリ領域に連関するロード命令であることが判別可能である。すなわち、プロセッサはその識別子「Ｌ１」によって、ロード命令が物理的メモリ領域に連関するロード命令であるか否かを判別できる。そのロード命令が物理的メモリ領域に連関するロード命令であると判断された場合にのみ、プロセッサは、分岐命令の実行に伴う遅延の間にロード命令を実行し、第４レジスタｒ４に該当するメモリ領域の値を第５レジスタｒ５に転送する。
【００３５】
その結果、第４レジスタｒ４が物理的メモリ領域に該当する場合にのみ、プロセッサはロード命令を実行する。すなわち、第４レジスタｒ４が入出力マッピングメモリのような物理的メモリ領域には該当しないメモリ領域であると判断された場合には、プロセッサはロード命令を実行しない。それにより、ページフォルトが発生しない。より具体的には、ロード命令に「Ｌ１」という識別子が含まれていない場合には、プロセッサはロード命令を実行しないので、ページフォルトのような例外的な状況の発生が回避される。
【００３６】
その後、ロード命令の実行が終了すれば、段階２５０における演算、すなわち、第５レジスタｒ５の値を１だけ増加させて第６レジスタｒ６に保存する演算が実行される。
【００３７】
図３は、本発明の一実施形態によるプロセッサの構成図である。図３に示されたように、本発明によるプロセッサは、プロセッサコア３００と、物理的メモリ３１０と、入出力マッピングメモリ３２０、３２１とを含む。
【００３８】
入出力マッピングメモリ３２０、３２１は、第１入出力マッピングメモリ３２０および第２入出力マッピングメモリ３２１などの複数のメモリで構成され、それぞれが個別に入出力装置（Ｉ／Ｏ  ｄｅｖｉｃｅ）に対応づけられている。したがって、プロセッサコア３００は、各入出力装置を制御するために、対応する入出力マッピングメモリ３２０、３２１にアクセスする。
【００３９】
プロセッサコア３００が投機的方法によってロード命令を実行する際に、もし入出力マッピングメモリ３２０、３２１にアクセスすれば不必要に例外的な状況が発生し、ページフォルトや入出力装置の誤作動が発生し、さらに深刻な場合には、入出力関連データの破壊または削除などが発生する恐れがある。
【００４０】
したがって、本発明の実施形態では、プロセッサコア３００が分岐命令の実行中には入出力マッピングメモリ３２０、３２１へのアクセスを事前に回避する。それによって、上記のような例外的な状況の発生を防ぐことができる。
【００４１】
物理的メモリ３１０はプロセッサ内に含まれており、メモリの階層構造の中で最も上位階層である第１階層メモリ領域に該当する。物理的メモリ３１０は、プロセッサコア３００に最も近く、プロセッサコア３００が最も速くアクセスできるデータメモリである。
【００４２】
プロセッサコア３００は、プロセッサの中で演算を実際に実行する装置を意味し、メモリから処理すべき命令をフェッチして解読し、解読した命令を実行し、実行した結果を反映する。
【００４３】
本発明の実施形態によるプロセッサコア３００は、ロード命令を受信し、受信したロード命令が物理的メモリ３１０に連関した命令であるか否かを判断する。より詳細には、プロセッサコア３００は、そのロード命令が物理的メモリ３１０へのアクセスを要求する命令であるか否かを判断する。
【００４４】
前記ロード命令が物理的メモリ３１０に連関した命令であるか否かは、そのロード命令に添付されている識別子を用いて判断できる。すなわち、プロセッサコア３００は、物理的メモリ３１０にアクセスするか否かを示す識別子がそのロード命令に含まれているか否かを判断する。そのロード命令にその識別子が含まれている場合には、そのロード命令が物理的メモリ３１０へのアクセスを要求するロード命令であるとプロセッサコア３００は判断し、そのロード命令を実行する。
【００４５】
プロセッサコア３００は、物理的メモリ３１０に連関した命令であることを示す識別子がロード命令に含まれていない場合には、そのロード命令を実行する代わりに所定の値をリターンする。それにより、遅延していた演算命令の実行が正常に再開される。
【００４６】
また、プロセッサコア３００は、投機的方法によってロード命令を実行することで性能向上が期待できるか否かを判断し、性能向上が期待できる場合にのみ、投機的方法によってロード命令を実行する。それにより、性能向上が不可能な場合では投機的方法によるロード命令の実行が回避されるので、不必要なリソースの使用や不必要な電力消費などの問題点が解決される。
【００４７】
図４は、本発明の一実施形態によるプロセッサコアの構成図である。図４に示されるように、本発明の実施形態によるプロセッサコア４００は、ロード命令受信部４１０と、メモリ領域判断部４２０と、ロード命令実行部４３０とを含む。
【００４８】
ロード命令受信部４１０は、実行すべきロード命令をメモリからフェッチし、フェッチされたロード命令をメモリ領域判断部４２０に提供する。
【００４９】
メモリ領域判断部４２０は、フェッチされたロード命令が物理的メモリ領域に連関した命令であるか否かを判断する。メモリ領域判断部４２０は好ましくは、物理的メモリ領域にアクセスするか否かを示す識別子がそのロード命令に含まれているか否かを判断し、そのロード命令にその識別子が含まれている場合には、そのロード命令が物理的メモリ領域へのアクセスを要求するロード命令であると判断する。
【００５０】
また、メモリ領域判断部４２０は、フェッチされたロード命令が物理的メモリへのアクセスを要求するロード命令ではないと判断した場合には、そのロード命令を実行する代わりに所定の値をリターンする。それにより、そのロード命令の実行前に遅延していた演算命令の実行が正常に再開される。
【００５１】
メモリ領域判断部４２０は好ましくは、ロード命令の実行によってプロセッサの性能向上が可能であるか否かの判断も行う。それにより、不必要なリソースの使用、および不必要な電力消費を事前に回避できる。
【００５２】
ロード命令実行部４３０は、メモリ領域判断部４２０においてロード命令が物理的メモリ領域へのアクセスを要求するロード命令であると判断された場合に、そのロード命令を実行する。
【００５３】
以上、本発明の好ましい実施形態を参照して説明した。しかし、当業者にとっては、特許請求の範囲に記載された本発明の思想および領域から逸脱しない範囲内で、本発明の上記の実施形態を多様に修正し、および変更できるであろう。したがって、本発明の技術的範囲は特許請求の範囲に基づいて定められるべきであり、上記の実施形態によって制限されるものではない。
【図面の簡単な説明】
【００５４】
【図１】本発明の一実施形態によるプロセッサがロード命令を投機的に実行する方法を示すフローチャートである。
【図２】本発明の一実施形態によるプロセッサがロード命令を投機的に実行するときに処理される命令コードの順序を示す図である。
【図３】本発明の一実施形態によるプロセッサの構成図である。
【図４】本発明の一実施形態によるプロセッサコアの構成図である。
【符号の説明】
【００５５】
３００、４００：プロセッサコア
３１０：物理的メモリ
３２０、３２１：マッピングメモリ
４１０：ロード命令受信部
４２０：メモリ領域判断部
４３０：ロード命令実行部
【図１】
2008204429.tif 000003
【図２】
2008204429.tif 000004
【図３】
2008204429.tif 000005
【図４】
2008204429.tif 000006