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メモリでアクセスタイムが逆転した場合、何が起きるのかを考えると面白いですね。