特許
J-GLOBAL ID:200903064690234550

関数レベルでプリフェッチを行う方法および装置

発明者:
出願人/特許権者:
代理人 (3件): 山本 秀策 ,  安村 高明 ,  森下 夏樹
公報種別:公表公報
出願番号(国際出願番号):特願2001-545953
公開番号(公開出願番号):特表2004-501410
出願日: 2000年10月27日
公開日(公表日): 2004年01月15日
要約:
コードの領域内でメモリ動作についてプリフェッチを行う実行可能コードにソースコードをコンパイルするシステムを提供する。システムは、ソースコードモジュールを、実行可能コードモジュールにコンパイルすることによって動作する。システムは、実行可能コードモジュール内の関数内のキャッシュミスレートに関する統計を取り、ホット関数のセットを識別する。プリフェッチ動作は、関数の開始でプリフェッチ生成をアクティブにし、関数からのリターンでプリフェッチ生成をイナクティブにすることによって、実行可能コードにスケジューリングされる。システムは、メモリ動作のサブセットを識別し、サブセットに属するメモリ動作の明示的なプリフェッチ動作をスケジューリングすることによってメモリ動作についてのプリフェッチ動作をさらにスケジューリングする。【選択図】図5
請求項(抜粋):
ソースコードを、キャシュミスを生成する傾向のあるコードの領域内でメモリ動作についてプリフェッチを行う実行可能コードにコンパイルする方法であって、 プログラミング言語命令を含むソースコードモジュールを、プロセッサによって実行されることに適した命令を含む実行可能コードモジュールにコンパイルする工程と、 多くのキャッシュミスを生成する傾向のあるメモリ動作を含む関数を識別する工程であって、 代表的なワークロードのトレーニングモードで該プロセッサの実行可能コードモジュールを実行する工程と、 該実行可能コードモジュール内の関数内のメモリ動作についてキャッシュミスレートに関する統計を取る工程と、 多くのキャッシュミスを生成する関数のセットを識別する工程と によって、多くのキャッシュミスを生成する傾向のあるメモリ動作を含む関数を識別する工程と、 明示的なプリフェッチ命令を、該識別された関数のセット内でのメモリ動作に先立って、該実行可能コードモジュールにスケジューリングすることによって、プリフェッチ動作が多くのキャッシュミスを生成する該関数のセット内でのメモリ動作について行われるようにする工程と、 を包含する、方法。
IPC (2件):
G06F12/08 ,  G06F9/45
FI (6件):
G06F12/08 505B ,  G06F12/08 511C ,  G06F12/08 543B ,  G06F12/08 561 ,  G06F12/08 563 ,  G06F9/44 322H
Fターム (8件):
5B005JJ13 ,  5B005KK12 ,  5B005MM05 ,  5B005NN22 ,  5B005UU32 ,  5B005VV04 ,  5B081CC23 ,  5B081CC27

前のページに戻る