整備者:よしだ かのう
2000.12.13 更新
6100FAQ 第2版 「L2キャッシュ」編
- L2キャッシュの役割は
- L2キャッシュによる性能向上
- L2キャッシュの種類など
- L2キャッシュはどこにある
- G3カードとL2キャッシュ
- L2キャッシュの役割は
Level 2 cache,レベル2キャッシュ,2次キャッシュともいう.
コンピュータ内部のデータは,ハードディスクからメモリーに読み込まれ,
さらにメモリーからCPUに受け渡される.
ここで転送速度を単純に比較するともっとも高速なのがCPU内部で,
次にロジックボード上のバスクロックで動作するメモリーが続き,
SCSIで接続されたハードディスクがもっとも遅い.
このようにデータの転送速度が大きく異なっている場合,
遅いほうがボトルネックとなって本来の性能が発揮できないことが多い.
しかし,コンピューターの原理上一度アクセスされたデータは,
近い時間内に再アクセスされる確率が高いという特徴がある(参照の局所性).
これを利用して一度アクセスされたデータをより高速なメモリー上に蓄積しておくことで,
遅いデバイスへのアクセス頻度を減らそうというのがキャッシュの基本的な考え方である.
このことから一般のメインメモリーのアクセススピードが60ns程度なのに対して,
L2キャッシュのそれは10ns程度と極めて高速である.
なお,L2キャッシュということはL1 キャッシュも当然ありそれは,
1次キャッシュまたはCPUキャッシュと呼ばれている.
PM6100に搭載されているPPC601にもL1キャッシュは用意されておりそれは,
データを蓄積するデータキャッシュと,
命令を蓄積するインストラクションキャッシュの2つで構成されている.
キャッシュ自体は共用となっており,
容量は32KBと小さいがアクセススピードは数nsとさらに高速なメモリーが使用されている.
- L2キャッシュによる性能向上
PM6100/60ではL2キャッシュはオプション扱いであったが,
PM6100/66には標準で256KBのL2キャッシュが搭載されている.
PM6100/66は10%のCPUの動作クロックアップと256KBのL2キャッシュの搭載により,
PM6100/60と比べて処理能力が30%向上していると発表された.
- L2キャッシュの種類など
キャッシュに蓄積されるデータは使用頻度の低い物から順に捨てられるので,
結果的に使用頻度の高いものが残る構造になっている.
しかし,どのデータを捨ててどのデータを残すのかいう判断はキャッシュを制御するアルゴルゴリズムに依存する.
目的のデータがキャッシュから見つかるかどうかをヒット率といい,
ヒット率が低いとキャッシュにアクセスした後に再びメモリーにアクセスしなくてはならなくなるため,
余分な作業が加わることになり,逆に処理速度が低下してしまう.
また,繰り返し利用されるデータには限界があるため,
キャッシュの容量も多ければ良いというものでもない.
一般にキャッシュのサイズは1MBが限界といわれ,
1MB以上に容量を増やしても性能向上はほとんど期待できないといわれている.
実際には6100/60には256KB,512KB,1MBのL2キャッシュがNuBus Mac用としてアフターマーケットで販売され,
6100/66にも同様に512KB,1MBのL2キャッシュが販売されているが,
これらの大容量のキャッシュは極めて高価であった.
また,G3カードによるアップグレードが可能になった最近では,
大容量のキャッシュを搭載することによる性能向上はコストパフォーマンスが悪いのであまり見られなくなった.
ちなみにNuBus Mac以降のPCI Mac用などのL2キャッシュとは互換性がないので使用できない.
- L2キャッシュはどこにある
PM6100/66ではL2キャッシュは正面から見て,
ロジックボード上のCPUのすぐ左側のスロットに刺さっている.
ただし,そこには全く同じスロットが2つ並んでおり,
1つにはROM-SIMMが必ず刺さっている.
スロット自体は全く同じなのでどちらにL2キャッシュとROM-SIMMが刺さっていてもかまわない.
ただし,L2キャッシュは無くても起動するがROM-SIMMは無いと起動音すらしないので,
L2キャッシュ交換の際には注意が必要である.
なお,ROM-SIMMにはKMM264512G-12APPLE341-0741,
純正の256KBのL2キャッシュには7MP6080 S15M/0285 9513AAと書いてあるが,
それぞれいくつかのメーカーが有るようだ.
- G3カードとL2キャッシュ
1997年末にNewerがG3 PDSを発表した.
また同時期にSONNETも同様にCPUにPPC750を使用したアップグレードカードを発表した.
PPC750の場合,CPUバス上にセカンダリキャッシュバスを用意し,
これに直接L2キャッシュを接続させることでキャッシュをCPUクロックの半分の速度で動作させている.
さらに専用のL2キャッシュコントローラーを用意することで命令の処理とシステムバスを介したデータの送信,
キャッシュとの通信の3つの処理を同時に行えるようになっている.
このように高速で大容量のL2キャッシュがアップグレードカード上に搭載されているので,
従来から有るロジックボード上のL2キャッシュ(L3キャッシュとなる)は不要とされ,
G3カードメーカーは取り外すように指示している場合が多く,また,
G3カードのヒートシンクの空間確保のため,PDSスロット側のキャッシュスロットは空きにした方がよい.
しかし,L2キャッシュをさしておいても全く支障の無い場合や逆にベンチマークテストのスコアがアップする場合もあるのはどうしたことか?.
なお,L2キャッシュを取り外す際に誤ってROM-SIMMを引っこ抜く場合があるが,
そうすると起動音すらしないので大あわてしてしまう.