【隔離】P4アーキテクチャについて議論する【スレ】
■ このスレッドは過去ログ倉庫に格納されています
0080Solaris使い>MACオタさん
02/10/14 18:51ID:bPNHvqGX元スレの689 でも触れましたが 、
http://pc.2ch.net/test/read.cgi/mac/1032957357/689
ラインサイズを大きくすることは、キャッシュミス率を上げる要因も 下げる要因もある。
# ここではプリフェッチ命令を挿まないような普通のアプリを想定しています。
# また、マルチプロセッサを考えていません。
1ワード=4バイトとして、64バイト(16ワード)の構造体へのアクセスを考えてみてください。
ラインサイズ16バイトのデータなら 4回キャッシュミスが起こって、キャッシュミス率 1/4。
ラインサイズ64バイトのデータならキャッシュミスは最初の 1回で、キャッシュミス率 1/16。
これが上がる根拠。
下がる根拠は、コンパイラがキャッシュラインに揃えてデータを整形するので、
ラインサイズ中に使えない部分があり容量性のキャッシュミスが起きる可能性が増える。
プログラムのデータ構造との兼ね合いによって決まる最適値がある。
しかし、私は Pentium3 までの16バイトというのはやや小さすぎで最適値ではないと考えます。
また、同一キャッシュ容量なら消費電力やレイテンシは、キャッシュラインサイズよりも連想度(associativity) に受けると考えれます。
# 消費電力はともかくレイテンシのはすぐには納得いかないと思いますが、
# 指摘があれば説明します。
p.s.
MACオタさんは、683で「L3 タグ管理がサボれる」、717 で「ラインサイズの
拡大でトランジスタ数と時間わ節約できる」と言われました。
http://pc.2ch.net/test/read.cgi/mac/1032957357/683
http://pc.2ch.net/test/read.cgi/mac/1032957357/717
これを読んだときから、ちょと変に感じていたのですが、どのような理由によってトランジスタ数と時間が節約できるとお考えですか?
なんらかの想定が必要でしたら 32KB の程度のキャッシュが 16バイト→64バイトをご仮定ください。
■ このスレッドは過去ログ倉庫に格納されています