24531904_j
24531904_j 24531904_j
PREFETCH—Prefetch オペコード 命令 説明 0F,18,/1 PREFETCHT0 m8 t0 ヒントを使用して、アドレスで指定されたデータをプロ セッサの近くに移動する。 0F,18,/2 PREFETCHT1 m8 t1 ヒントを使用して、アドレスで指定されたデータをプロ セッサの近くに移動する。 0F,18,/3 PREFETCHT2 m8 t2 ヒントを使用して、アドレスで指定されたデータをプロ セッサの近くに移動する。 0F,18,/0 PREFETCHNTA m8 nta ヒントを使用して、アドレスで指定されたデータをプ ロセッサの近くに移動する。 操作 fetch (m8); 説明 例外条件がない場合、 プ リ フ ェ ッ チ命令は、 ア ド レ ス ・ バイ ト を含む行を、 ロ ー カ リ テ ィ ・ ヒ ン ト に よ っ て指定 さ れたキ ャ ッ シ ュ 階層内の位置に フ ェ ッ チす る。 指定された 行が、 すでにキャ ッシュ階層内のプロセッサによ り近いレベルにある場合は、 データは 移動 さ れない。 ModR/M バイ ト のビッ ト 5:3 は、 次のよ う にローカ リ テ ィ ・ ヒン ト を指 定する。 • テンポラル ・ データ (t0) - すべてのキャ ッ シュ ・ レベルにデー タをプ リ フ ェ ッチす る。 • 第 1 キャッシュ ・ レベル以上についてテンポラル(t1) - 第 0 キャッシュ ・ レベル以外 のすべてのキャ ッ シュ ・ レベルにデータをプ リ フ ェ ッ チする。 • 第 2 キャッシュ ・ レベル以上についてテンポラル(t2) - 第 0 および第1 キャッシュ ・ レベル以外のすべてのキャ ッ シュ ・ レベルにデータをプ リ フ ェ ッチする。 • すべてのキャ ッ シュ ・ レベルについて非テンポラル (nta) - 非テンポラルなキャ ッ シュ構造にデータをプリフェッチする。 ローカ リ テ ィ ・ ヒン ト は、 プログラムの機能に影響を与えない。 ロ ーカ リ テ ィ ・ ヒン ト はプロセ ッ サに依存する機能であ り、 一部のプロセ ッ サでは、 無効に された り無視され た り す る可能性があ る。 プ リ フ ェ ッ チ命令は、 コ ー ド のブ レ ー ク ポ イ ン ト 以外の例外を 発生 さ せない。 ま た、 こ の命令はプ ロ グ ラ ムの動作に影響を与えず、 無視される場合が ある。 プリ フェ ッチされるデータの量はプロセッサによ って異なるが、 最小でも 32 バイ トのデータがプリフェッチされる。 キャッシュ不可メモリ (UC メモリ ・ タイプまたは WC メモリ ・ タイプ ) に対す る プ リ フ ェ ッ チ命令は無視 さ れる。 上記の値以外の ModRM エン コ ー デ ィ ン グは予約済みであ る。 予約済みのエン コ ー デ ィ ン グを使用する と 、 将来 のプロセッサとの互換性を損な うおそれがある。 数値例外 なし。 保護モード例外 なし。 実アドレス・モード例外 なし。 3:1006 第 3 巻 : IA-32 ストリーミング SIMD 拡張命令リファレンス
PREFETCH—Prefetch ( 続き ) 仮想 8086 モード例外 なし。 追加の Itanium ベース・システム環境例外 なし。 コメント この命令は、 単なる ヒン ト である。 この命令は、 実行される と、 次に使用される こ と が 予測 さ れる デ ー タ をプ ロ セ ッ サの近 く に移動す る。 アプ リ ケ ー シ ョ ン ・ コ ー ド 内のプ リ フ ェ ッ チ命令のパ フ ォ ー マン ス は、 プ ロ セ ッ サに よ っ て異な る。 最大限の処理速度を達 成する には、 プ ロ セ ッ サご と に コ ー ド をチ ュ ー ニン グす る必要があ る。 ま た、 非テ ン ポ ラルなヒン ト は、 有益なキャ ッ シュ ・ データの汚染を最小限に抑えられる。 PREFETCH 命令は、 CR4.OSFXSR の値を無視す る。 こ の命令は新しいス ト リ ー ミ ン グ SIMD 拡張命令ス テ ー ト に影響を与えないため、 CR4.OSFXSR = 0 の場合で も 無効例外は 生成 さ れない。 第 3 巻 : IA-32 ストリーミング SIMD 拡張命令リファレンス 3:1007
- Seite 968 und 969: RSQRTSS—Scalar Single-FP Square R
- Seite 970 und 971: SHUFPS—Shuffle Single-FP ( 続き
- Seite 972 und 973: SQRTPS—Packed Single-FP Square Ro
- Seite 974 und 975: SQRTSS—Scalar Single-FP Square Ro
- Seite 976 und 977: STMXCSR—Store Streaming SIMD Exte
- Seite 978 und 979: SUBPS—Packed Single-FP Subtract
- Seite 980 und 981: SUBSS—Scalar Single-FP Subtract
- Seite 982 und 983: UCOMISS—Unordered Scalar Single-F
- Seite 984 und 985: UNPCKHPS—Unpack High Packed Singl
- Seite 986 und 987: UNPCKLPS—Unpack Low Packed Single
- Seite 988 und 989: XORPS—Bit-wise Logical Xor for Si
- Seite 990 und 991: PAVGB/PAVGW—Packed Average オペ
- Seite 992 und 993: PAVGB/PAVGW—Packed Average ( 続
- Seite 994 und 995: PINSRW—Insert Word オペコー
- Seite 996 und 997: PMAXSW—Packed Signed Integer Word
- Seite 998 und 999: PMAXUB—Packed Unsigned Integer By
- Seite 1000 und 1001: PMINSW—Packed Signed Integer Word
- Seite 1002 und 1003: PMINUB—Packed Unsigned Integer By
- Seite 1004 und 1005: PMOVMSKB—Move Byte Mask To Intege
- Seite 1006 und 1007: PMULHUW—Packed Multiply High Unsi
- Seite 1008 und 1009: PSADBW—Packed Sum of Absolute Dif
- Seite 1010 und 1011: PSHUFW—Packed Shuffle Word オペ
- Seite 1012 und 1013: MASKMOVQ—Byte Mask Write オペ
- Seite 1014 und 1015: MOVNTPS—Move Aligned Four Packed
- Seite 1016 und 1017: MOVNTQ—Move 64 Bits Non Temporal
- Seite 1020 und 1021: SFENCE—Store Fence オペコー
- Seite 1022 und 1023: 3:1010 第 3 巻 : IA-32 ストリ
- Seite 1024 und 1025: 4.5.2 分岐予測と nop . . . . .
- Seite 1027 und 1028: 第 I 部 : インテル ® Itanium
- Seite 1029 und 1030: 第 I 部 : インテル ® Itanium
- Seite 1031 und 1032: 4-45 オペコード 1 のシステ
PREFETCH—Prefetch<br />
オペコード 命令 説明<br />
0F,18,/1 PREFETCHT0 m8 t0 ヒントを使用して、アドレスで指定されたデータをプロ<br />
セッサの近くに移動する。<br />
0F,18,/2 PREFETCHT1 m8 t1 ヒントを使用して、アドレスで指定されたデータをプロ<br />
セッサの近くに移動する。<br />
0F,18,/3 PREFETCHT2 m8 t2 ヒントを使用して、アドレスで指定されたデータをプロ<br />
セッサの近くに移動する。<br />
0F,18,/0 PREFETCHNTA m8 nta ヒントを使用して、アドレスで指定されたデータをプ<br />
ロセッサの近くに移動する。<br />
操作<br />
fetch (m8);<br />
説明<br />
例外条件がない場合、 プ リ フ ェ ッ チ命令は、 ア ド レ ス ・ バイ ト を含む行を、 ロ ー カ リ<br />
テ ィ ・ ヒ ン ト に よ っ て指定 さ れたキ ャ ッ シ ュ 階層内の位置に フ ェ ッ チす る。 指定された<br />
行が、 すでにキャ ッシュ階層内のプロセッサによ り近いレベルにある場合は、 データは<br />
移動 さ れない。 ModR/M バイ ト のビッ ト 5:3 は、 次のよ う にローカ リ テ ィ ・ ヒン ト を指<br />
定する。<br />
• テンポラル ・ データ (t0) - すべてのキャ ッ シュ ・ レベルにデー タをプ リ フ ェ ッチす<br />
る。<br />
• 第 1 キャッシュ ・ レベル以上についてテンポラル(t1) - 第 0 キャッシュ ・ レベル以外<br />
のすべてのキャ ッ シュ ・ レベルにデータをプ リ フ ェ ッ チする。<br />
• 第 2 キャッシュ ・ レベル以上についてテンポラル(t2) - 第 0 および第1 キャッシュ ・<br />
レベル以外のすべてのキャ ッ シュ ・ レベルにデータをプ リ フ ェ ッチする。<br />
• すべてのキャ ッ シュ ・ レベルについて非テンポラル (nta) - 非テンポラルなキャ ッ<br />
シュ構造にデータをプリフェッチする。<br />
ローカ リ テ ィ ・ ヒン ト は、 プログラムの機能に影響を与えない。 ロ ーカ リ テ ィ ・ ヒン ト<br />
はプロセ ッ サに依存する機能であ り、 一部のプロセ ッ サでは、 無効に された り無視され<br />
た り す る可能性があ る。 プ リ フ ェ ッ チ命令は、 コ ー ド のブ レ ー ク ポ イ ン ト 以外の例外を<br />
発生 さ せない。 ま た、 こ の命令はプ ロ グ ラ ムの動作に影響を与えず、 無視される場合が<br />
ある。 プリ フェ ッチされるデータの量はプロセッサによ って異なるが、 最小でも 32 バイ<br />
トのデータがプリフェッチされる。 キャッシュ不可メモリ (UC メモリ ・ タイプまたは<br />
WC メモリ ・ タイプ ) に対す る プ リ フ ェ ッ チ命令は無視 さ れる。 上記の値以外の ModRM<br />
エン コ ー デ ィ ン グは予約済みであ る。 予約済みのエン コ ー デ ィ ン グを使用する と 、 将来<br />
のプロセッサとの互換性を損な うおそれがある。<br />
数値例外<br />
なし。<br />
保護モード例外<br />
なし。<br />
実アドレス・モード例外<br />
なし。<br />
3:1006 第 3 巻 : IA-32 ストリーミング SIMD 拡張命令リファレンス