トップページ > 自作PC > 2007年01月26日 > I6wB/cIp

書き込み時間帯一覧

時間01234567891011121314151617181920212223Total
書き込み数00000000000000014450100015



使用した名前一覧書き込んだスレッド一覧
Socket774Core 2 Duoはやっぱりもっさりだった Part13
【コンロ】INTEL Core 2 Duo/Quad Part61【ケンツ】

書き込みレス一覧

Core 2 Duoはやっぱりもっさりだった Part13
275 :Socket774[sage]:2007/01/26(金) 15:37:36 ID:I6wB/cIp
>>259

> Memory Disambiguation

お前が 語句を理解してないただの馬鹿だということはわかった。

http://www.c.csce.kyushu-u.ac.jp/lab_db/papers/paper/pdf/2002/metsugi02_3.pdf


以降チラ裏

K8にせよCoreMAにせよ、L1キャッシュからレジスタに
読み出すのに3クロック、L2だとそれ以上のレイテンシを生じる。、
高IPCを維持するには、ロードは必要になる前に先行して
実行しないといけないし、実際両者そうやっている。

ストア命令が前にあり書き込み先が解ってない場合は
後続のロード命令を先に実行することはできない。
なぜなら書き込み先アドレスが読み込み先と同値であれば
読み込んだデータに矛盾が生じてしまうから。

アドレスが重ならないと仮定して投機ロードする手もあるが、
重複が生じたらパイプラインを破棄して読み直す必要がある。

CoreMAでは過去の書き込み先のパターンから書き込み先のアドレスを
予測してやることで、投機ロードするかしないかを選択することができる。
CoreMAの速さの秘密はこの辺の機構にこそあると言ってもいい。
Core 2 Duoはやっぱりもっさりだった Part13
278 :Socket774[sage]:2007/01/26(金) 16:15:37 ID:I6wB/cIp
ただ単にmemory disambiguationの説明をしただけなのにそこに突っ込む必要がどこにあるのかな
自称「両方持ってる」奴ならシミュレーションくらい簡単に出来ると思うがなw

無論それだけじゃない。
あくまで投機ロードを補助する技術だから効果的な投機ロード技術が実装されてる必要がある。

Core 2 Duoはやっぱりもっさりだった Part13
279 :Socket774[sage]:2007/01/26(金) 16:17:33 ID:I6wB/cIp
>>277
恥の上塗りか

データの投機ロードとプリフェッチの違いを
学位持ちでも納得するように簡潔に説明してくれ
Core 2 Duoはやっぱりもっさりだった Part13
282 :Socket774[sage]:2007/01/26(金) 16:27:55 ID:I6wB/cIp
http://pc.watch.impress.co.jp/docs/2006/0306/kaigai247.htm

> ●【投機ロード】を可能にするMemory Disambiguation
>
> メモリマネージメントでは、【プリフェッチ】を強化し「Memory Disambiguation」を実装する。
> この2つは密接な関係にある。データのロードはレイテンシが長いので、できるだけ前
> もってロードしておきたい。つまり、ロード命令をできるだけ前に実行するように命令
> 順序を並べ替えたい。
>
> しかし、ロード命令より前の方にストア命令がある場合、通常は、それ以上前に
> ロード命令を実行することができない。それは、ストア命令がストアするはずの
> メモリアドレスから先にデータをロードしてしまうことになるかもしれないからだ。
> アドレスが前もってわかればコンパイラレベルで最適化が可能だが、実際には
> 実行時にならないとアドレスの依存関係が判明しないことが多い。そのため、
> ロードをストアの前に出すためには、動的に依存関係を判定するメカニズムが必要になる。
> Memory Disambiguationは、こうしたデータ依存関係の曖昧さ(ambiguity)を解決する機構だ。
> 何らかの方法で、アドレスの依存関係を解消またはチェックできれば、ロード命令を
> ストア命令よりも前に実行。演算命令が実行される時には、オペランドがレジスタに
> 格納されているように配置することができ、ロードレイテンシを隠蔽できるわけだ。



>>281
> 予測の段階でコア(レジスタだっけ?)にまでデータを送るのがメモリ投機
> キャッシュに入れるだけで待機させとくのがプリフェッチだろ

キャッシュのレベルやレジスタに依存して使い分ける語彙じゃない。
もう少しお勉強してこいハゲ。
Core 2 Duoはやっぱりもっさりだった Part13
284 :Socket774[sage]:2007/01/26(金) 16:37:21 ID:I6wB/cIp
「語彙」という単語が読めなかったのか 真性だな
Core 2 Duoはやっぱりもっさりだった Part13
287 :Socket774[sage]:2007/01/26(金) 17:19:29 ID:I6wB/cIp
モダンなCPUアーキテクチャにおいて、データプリフェッチは予測に基づいて行われるから
下位キャッシュ→上位キャッシュあるいはキャッシュからレジスタファイルへの転送に
おいて「投機ロード」と「ハードウェアプリフェッチ」は、ほぼ同等の意味合いで使われるんだよ
後藤氏の「Memory Dis〜」の説明しかり。
Core 2 Duoはやっぱりもっさりだった Part13
291 :Socket774[sage]:2007/01/26(金) 17:35:40 ID:I6wB/cIp
ローカリティヒント命令のことを言ってるのかな?
ソフトに組み込むことで明示的に読み込む「ヒント」は与えることはできるが
最終的に判断するのはハードだ。

たとえばNetBurstではprefetchntaからprefetcht0まで全部同じ動き(L2までの読み込み)だ。
L1への読み込みは自動に頼るのみ。
L1が小さいからprefetcht0でL1に読むようにしてしまうとかえってパイプラインを乱すかららしい。
Core 2 Duoはやっぱりもっさりだった Part13
292 :Socket774[sage]:2007/01/26(金) 17:38:20 ID:I6wB/cIp
> 「たまにしか予測ミスしないというふれこみのくせに実際ミスしたらしばらく機能完全停止する」くらいでかいペナルティを受ける
> C2Dもっさもさ伝説にはこの件がかなり関係すると思ってる

後続の命令を破棄してパイプラインをリフィルするのにたかだか10数クロック程度でしかないが
何が問題なのかね?
L2からのロードレイテンシ程度でしかない。
Core 2 Duoはやっぱりもっさりだった Part13
295 :Socket774[sage]:2007/01/26(金) 17:54:52 ID:I6wB/cIp
命令の分岐に関わるならまだしもデータ予測ミスなら
ただ単にレジスタを割り当てなおすだけだからな。
Core 2 Duoはやっぱりもっさりだった Part13
299 :Socket774[sage]:2007/01/26(金) 18:08:50 ID:I6wB/cIp
命令のリタイヤはインオーダで行われるから絶対あり得ないな
常識もないのか
【コンロ】INTEL Core 2 Duo/Quad Part61【ケンツ】
444 :Socket774[sage]:2007/01/26(金) 18:21:39 ID:I6wB/cIp
OS自体の実行はな。
カーネルをメモリになるべく割り当てるようなオプションならもともとあるだろ。
アプリケーションを使うならページの外に追い出されたら意味ないべ。

シリコンディスクが手軽にできるくらいにならないと駄目だね。
Core 2 Duoはやっぱりもっさりだった Part13
304 :Socket774[sage]:2007/01/26(金) 18:34:54 ID:I6wB/cIp
リタイヤを保留というより実行を保留する。

たとえば次のような場合
mov [memAddress1], edx
add eax, [memAddress2]

まずMemory Dis〜に基づいてmemAddress2を投機ロードするだろうが、
addの実行はAddress1が確定するまで待っておくだけでいい。
Address1とAddress2のアドレスが重複してしまっても値を読み直すだけで済む。
ずれてなければedxの値をそのままコピーしてしまう手もあるだろう。

add命令のレイテンシもたかだか1程度なので、危険をおかしてまで
ストアの前に実行する必要は無いし、実際やらない筈だ。
Core 2 Duoはやっぱりもっさりだった Part13
305 :Socket774[sage]:2007/01/26(金) 18:39:31 ID:I6wB/cIp
>>302
事実があるならきちんと引用するように。
君みたいな捏造デムパの妄言なんて誰も信じませんよ。






Core 2 Duoはやっぱりもっさりだった Part13
307 :Socket774[sage]:2007/01/26(金) 18:45:18 ID:I6wB/cIp
>>306
資料キボンヌ
間違えた場合にリタイヤせずに命令を再実行すれば原理的には帳尻は合うだろうが。
Core 2 Duoはやっぱりもっさりだった Part13
314 :Socket774[sage]:2007/01/26(金) 20:13:11 ID:I6wB/cIp
>>312
THX

つか、Flashかよ


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。