ぱたへね

はてなダイアリーはrustの色分けができないのでこっちに来た

7章 OpenSPARC T1 の Memory Hierarchy

OpenSPARC Internals からOpenSparc T1のメモリ階層をまとめてみました。パタヘネでは、第7章で出てくる話です。

図の一番下にSPARCのcoreがあります。一つのT1チップには、8個のcoreが搭載されています。各coreについて、Iキャッシュが16Kバイト、Dキャッシュが8Kバイト搭載されています。

8つのcoreと、L2キャッシュの間にはCCXと呼ばれるキャッシュの切り替え機能があります。L2キャッシュは4つのバンクに分かれており、バンクの番号と物理的なアドレス線の[7:6]が対応しています。

L2キャッシュの外側には4つのDRAMコントローラがあり、それぞれにDDR2メモリが接続されます。

L1キャッシュのアクセスタイムが記載されていませんが、おそらく1〜2CLKでしょう。L2キャッシュは22〜23CLKでアクセス出来ます。このクロックは内部のクロックですので、1.0GHz もしくは1.2GHz です。これに対してDDR2メモリはCLKは若干落ちて400MHzでのアクセスになります。教科書に書いてあるとおり、DDR2メモリよりもL2キャッシュの方が速くアクセス出来ます。また、L2キャッシュよりもIキャッシュ、Dキャッシュの方が速くアクセス出来ます。

FPGAで動かす場合、内部のcoreは100MHz以下になるのに対し、DDR2部分は上手くすれば400MHzで動作する可能性があります。L2キャッシュとDDR2メモリでアクセスタイムが逆転した場合、何が起きるのかを考えると面白いですね。