RockはSunがマイクロコアと呼ぶプロセサコアを4個まとめたコアを4個搭載したチップである。1次キャッシュとしては、各マイクロコアは16KBのL1データキャッシュを持つが、命令キャッシュは、16KBのL1命令キャッシュを2つのマイクロコアで共有する構造となっている。そしてマイクロコアを4個まとめたコア単位で2MBの2次キャッシュへ接続する構造となっている。他のサーバ用プロセサが大量のキャッシュを搭載し、チップ面積の半分以上がキャッシュというチップもあるが、Rockの場合は、16コアのプロセサに大半のチップ面積を食われ、L2キャッシュは2MBしかない。このため、CPUチップの外に8MBのL3キャッシュチップを2個接続する構成となっている。

2チップRockシステムの構成

この2CPUチップ構成のシステムの構成図に見られるように、L3キャッシュチップはメモリコントローラを兼ねており、DIMMが5チャンネル接続されている。また、Rockチップと4個のL3$/MCチップ間は完全結合されており、CPUチップからどのL3$、メモリにも対称的に等距離でアクセスすることができる構成となっている。

Rockのマイクロコアのブロック図

Rockプロセサは、2つのハードウェアスレッド(ソフトウェアのスレッドと区別するため、ハードウェアがサポートするスレッドをSunはストランド(Strand)と呼ぶが、一般にはなじみが薄いので、ここではスレッド、あるいはハードウェアスレッドを使う)を並列に実行するので、L1命令キャッシュから2系列の命令をフェッチして、それぞれの命令バッファに格納する。命令デコードユニットは、命令バッファから命令を取り出してデコードし、それぞれのスレッドの命令キューに入れる。そして命令発行ユニットは命令キューから命令を取り出し、空色の箱で示すリザベーションステーションに命令を格納する。

実行パイプラインは整数(ALU)が2系統、分岐(BR)が1系統、浮動小数点(FP)が1系統、更にメモリアクセス(MEM)が1系統という構成である。そしてIARFは整数系のアーキテクチャレジスタファイル、FARFは浮動小数点のアーキテクチャレジスタファイル、IWRF、FWRFはそれぞれのワークのレジスタファイルと思われる。

なお、Sunの2つのハードウェアスレッドは、ある意味ではそれぞれが2つのスレッドをサポートしており、アーキテクチャレジスタは4組存在するという。リザベーションステーションの命令が実行可能になると緑の箱の実行パイプラインに投入され、結果はそれぞれのレジスタファイルに格納される。