プロフィール

kosaki

Author:kosaki
連絡先はコチラ

ブログ検索
最近の記事
最近のコメント
最近のトラックバック
リンク
カテゴリー
月別アーカイブ
RSSフィード
FC2ブログランキング

Itanium2 の1次キャッシュが16KBなわけ このエントリーをはてなブックマークに追加

最近、Itaniumについて色々と調べていて、Intelの発行している
IntelR ItaniumR 2 Processor Reference Manual for Software Development and Optimization

を見ています。

かなり実装に近いことが赤裸々に書いてあって非常に興味深いです。



編集: 2/28 友人からボロクソに言われたので文章を直す

最近目からウロコが落ちたのは、Itaniumの1次キャッシュ

いままで、キャッシュというと多いほどよくて、かつVIPT(Virtually Indexed and Physically Tagged)サイコー。
というのがなんとなく思い込んでいて、いままでずっとなんでハイエンド向けなItanium2がPIPT(Physically Indexed and Physically Tagged)なのかと疑問だったのですよ

PIPTってハードの設計は楽になるかもしれんけど、TLBによる仮想ー物理アドレス変換が終わらない限りキャッシュ検索をはじめられないから速度的に不利じゃーん。と

注: VIPTについてはこちらがよくまとまっている
コンピュータアーキテクチャの話: 第12回キャッシュの構造や働き(上級編) - メモリエーリアス


んで、見つけたのが以下


6.4 First-Level Instruction Cache
The first-level instruction cache (L1I) is a 16KB, four-way set associative, physically addressed cache with a 64-byte line size. Lower virtual address bits 11:0, which represent the minimum virtual page, are never translated and are used for cache indexing. The L1I can fill a 64-byte line once every two cycles. It blocks on-demand fetch misses but is non-blocking for prefetch misses allowing up to seven to be outstanding to the L2 cache.




Cache accesses must wait for TLB resolution to complete:
L1D accesses both L1 DTLB and L2 DTLB in parallel.
L1I accesses only require an L1 ITLB lookup (an L2 ITLB lookup is required upon an L1
ITLB miss).
L2/L3 data access only require an L2 DTLB lookup.
L2/L3 instruction accesses only require an L2 ITLB lookup.



つまり
16KBで4wayだから、1wayあたり4KB.
IA-64はページサイズ可変だが最小ページサイズは4Kだから、下12bitは必ずvirtual/physical addressで一致する。
だから、TLB lookupとキャッシュアクセスは同時に走る事が出来る。

と。
これによってVIPTを実装するときの無駄トランジスタをはぶいているわけやね。
なるほどぉ

勝手に勘違いしていただけなんですけど、すっかり騙されてしまいましたよ。


オラオラ詐欺
キャッシュ! 騙される! ランキング!

関連記事
テクノロジー | 【2006-02-27(Mon) 01:15:33】 | Trackback:(0) | Comments:(1)
コメント
このコメントは管理人のみ閲覧できます
2007-09-01 土 06:49:42 | | # [ 編集]
コメントの投稿(メールアドレスは公開されますのでMail欄は使わないことをオススメします)

  1. 無料アクセス解析