Alpha 21164
キャッシュは3レベルとなっていて、二次キャッシュまでを内蔵し、三次キャッシュをオプションで外付けできる。キャッシュと関連論理回路だけで720万個のトランジスタを使用している。
一次キャッシュは命令とデータで分かれており、それぞれ8KB、ダイレクトマップ方式、ラインサイズは32バイトである。一次データキャッシュはデュアルポートで性能向上を図っており、二重化されて実装されている。ライトスルー方式でリード時に割り当てる方針を採用している。
二次キャッシュの容量は96KBである。21164では外付け二次キャッシュの帯域幅では命令やデータの供給能力が不十分と判断され、容量が制限されても内蔵するという方針になった。二次キャッシュは大きいため、アクセスに2サイクルを必要とする。性能を向上させるためキャッシュがパイプライン化されている。二次キャッシュを内蔵するもう1つの利点は、マルチウェイの構成を容易に実現できる点であり、実際3ウェイ・セットアソシアティブで実装してヒット率を向上させている。
三次キャッシュはSRAMを使って外付けで実装できる。オプションであるため、三次キャッシュを実装していないシステムもある。容量は1MBから64MBで、最小容量が1MBと大きいのは、二次キャッシュを内蔵しているため、小さい三次キャッシュは性能面で意味がないからである。ダイレクトマップでライトバック方式であり、ライト時に割り当てる方針を採用している。21064では外付けキャッシュの制御には外付けのキャッシュコントローラを必要としたが、21164では内蔵の外部インタフェース回路が外付けキャッシュを制御する。使用するSRAMは同期式でも非同期式でもよく、システムバス経由でアクセスする。