ライトバックキャッシュの採用で
メモリー書き込み待ちも短縮
かくして、486には8KBのキャッシュがコアに内蔵される事になった。i486DXの場合、総トランジスター数は120万個。8KBのキャッシュは6T SRAM構成の場合、トランジスター数は以下のようになる。
- 6(T SRAM)×8(bit)×8K(Byte)=38万4千個
つまり、総トランジスターの32%もの割合を占めることになる(実際はほかにも回路があるので、占める割合はもう少し大きくなる)。たかだか8KBでも、これだけ大きなインパクトがある、ということに注意されたい。
一方書き込みは? というと、まず最初に実用化されたのが図3に示す「Write Through」(ライトスルー)という方法である。つまりメモリーとキャッシュの両方に対して、同時に書き込むという方法だ。ただし、この方法だとメモリーへの書き込み完了をCPUはじっと待っていなければならず、効率が悪い。
そこで「Write Back」(ライトバック)と呼ばれる方法が編み出された。これは、CPUはまずキャッシュに書き込み(③)、ついでキャッシュからメモリーに書き戻す(④)という方法だ。
SRAMの場合、書き込みも原則1サイクルで終了するから、DRAMのメモリーに比べると大幅に高速である。もちろん、常時メモリーに書き込みが発生するような場合には間に合わなくなる(キャッシュの容量が不足する)から、最終的にはメモリー書き込みが完了するのを待たなければならない。だが、ある程度のサイズのプログラムではこうしたことは起きにくいために、メモリーへの書き込みもまた高速化されるというわけである。
余談ではあるが、ではその「ある程度のサイズのプログラム」が満足するキャッシュ容量はどの位か? というのは理論だけでは決めにくく、実際にさまざまなプログラムを走らせて、その際に必要とされるキャッシュ容量を確認する。そのためには、いくつかのサイズのキャッシュをシミュレーション上で用意して、その上で実際のプログラムを走らせて、性能やキャッシュミス率を確認する必要がある。
こうした作業は、CPUのさまざまなパラメータすべてに言えることであり、これがゆえに新規のアーキテクチャーを立ち上げるのには時間がかかる理由ともなっている。さまざまなアーキテクチャー上の損得を、すべてシミュレーションなどで確認しないといけないのだ。
キャッシュの名簿となる「タグ」領域
キャッシュの構造面をもう少し詳しく説明しよう。図2の説明では、簡単に「まずCPUはメモリーに対して、読み込み要求を発行する」と書いたが、これがまず大変である。「あるメモリー領域のデータはキャッシュに入っているか否か」を、まずCPU(ようはキャッシュコントローラー)が判断しなければならない。この際に利用されるものが、「Tag」(タグ)と呼ばれる領域だ。
具体的にタグを含めた使い方を見てみよう(図4-1)。CPUがあるメモリーアドレス(赤)をアクセスしようとした場合、対象のアドレスがタグの中に入っているかどうかを確認する(①)。もちろん初期状態ではキャッシュは空なので、この場合CPUはキャッシュミス(キャッシュ領域に目的のデータがない)と判断する。そうなるとCPUは、メモリーに対してメモリーアドレスを指定して、読み込みアクセスを実行する(②)。
メモリーアクセスする場合は図4-2のように、メモリーは指定されたアドレスに対するデータをCPUに対して返す(③)。これと同時に、このデータのアドレス(④)をタグに、データの中身をキャッシュ自身に(⑤)それぞれコピーする(これがキャッシュフィル)。
一度キャッシュにデータが入ると、後はそこから参照が可能である。CPUからメモリーアドレスを指定してタグを検索すると、すぐにヒットする(図4-3)。そのため、当該するキャッシュから迅速にデータを読み込んで完了できるので、大幅なアクセス時間の軽減が図れる。
この連載の記事
-
第768回
PC
AIアクセラレーター「Gaudi 3」の性能は前世代の2~4倍 インテル CPUロードマップ -
第767回
PC
Lunar LakeはWindows 12の要件である40TOPSを超えるNPU性能 インテル CPUロードマップ -
第766回
デジタル
Instinct MI300のI/OダイはXCDとCCDのどちらにも搭載できる驚きの構造 AMD GPUロードマップ -
第765回
PC
GB200 Grace Blackwell SuperchipのTDPは1200W NVIDIA GPUロードマップ -
第764回
PC
B100は1ダイあたりの性能がH100を下回るがAI性能はH100の5倍 NVIDIA GPUロードマップ -
第763回
PC
FDD/HDDをつなぐため急速に普及したSASI 消え去ったI/F史 -
第762回
PC
測定器やFDDなどどんな機器も接続できたGPIB 消え去ったI/F史 -
第761回
PC
Intel 14Aの量産は2年遅れの2028年? 半導体生産2位を目指すインテル インテル CPUロードマップ -
第760回
PC
14nmを再構築したIntel 12が2027年に登場すればおもしろいことになりそう インテル CPUロードマップ -
第759回
PC
プリンター接続で業界標準になったセントロニクスI/F 消え去ったI/F史 -
第758回
PC
モデムをつなぐのに必要だったRS-232-CというシリアルI/F 消え去ったI/F史 - この連載の一覧へ