ライトバックキャッシュの採用で
メモリー書き込み待ちも短縮
かくして、486には8KBのキャッシュがコアに内蔵される事になった。i486DXの場合、総トランジスター数は120万個。8KBのキャッシュは6T SRAM構成の場合、トランジスター数は以下のようになる。
- 6(T SRAM)×8(bit)×8K(Byte)=38万4千個
つまり、総トランジスターの32%もの割合を占めることになる(実際はほかにも回路があるので、占める割合はもう少し大きくなる)。たかだか8KBでも、これだけ大きなインパクトがある、ということに注意されたい。
一方書き込みは? というと、まず最初に実用化されたのが図3に示す「Write Through」(ライトスルー)という方法である。つまりメモリーとキャッシュの両方に対して、同時に書き込むという方法だ。ただし、この方法だとメモリーへの書き込み完了をCPUはじっと待っていなければならず、効率が悪い。

図3 ライトスルーキャッシュの基本的な仕組み。①メモリーに書き込む。②同時にキャッシュにも書き込む
そこで「Write Back」(ライトバック)と呼ばれる方法が編み出された。これは、CPUはまずキャッシュに書き込み(③)、ついでキャッシュからメモリーに書き戻す(④)という方法だ。

③ CPUからキャッシュにデータを書き込む

④ 次にキャッシュからメモリーにデータを書き込む
SRAMの場合、書き込みも原則1サイクルで終了するから、DRAMのメモリーに比べると大幅に高速である。もちろん、常時メモリーに書き込みが発生するような場合には間に合わなくなる(キャッシュの容量が不足する)から、最終的にはメモリー書き込みが完了するのを待たなければならない。だが、ある程度のサイズのプログラムではこうしたことは起きにくいために、メモリーへの書き込みもまた高速化されるというわけである。
余談ではあるが、ではその「ある程度のサイズのプログラム」が満足するキャッシュ容量はどの位か? というのは理論だけでは決めにくく、実際にさまざまなプログラムを走らせて、その際に必要とされるキャッシュ容量を確認する。そのためには、いくつかのサイズのキャッシュをシミュレーション上で用意して、その上で実際のプログラムを走らせて、性能やキャッシュミス率を確認する必要がある。
こうした作業は、CPUのさまざまなパラメータすべてに言えることであり、これがゆえに新規のアーキテクチャーを立ち上げるのには時間がかかる理由ともなっている。さまざまなアーキテクチャー上の損得を、すべてシミュレーションなどで確認しないといけないのだ。
キャッシュの名簿となる「タグ」領域
キャッシュの構造面をもう少し詳しく説明しよう。図2の説明では、簡単に「まずCPUはメモリーに対して、読み込み要求を発行する」と書いたが、これがまず大変である。「あるメモリー領域のデータはキャッシュに入っているか否か」を、まずCPU(ようはキャッシュコントローラー)が判断しなければならない。この際に利用されるものが、「Tag」(タグ)と呼ばれる領域だ。
具体的にタグを含めた使い方を見てみよう(図4-1)。CPUがあるメモリーアドレス(赤)をアクセスしようとした場合、対象のアドレスがタグの中に入っているかどうかを確認する(①)。もちろん初期状態ではキャッシュは空なので、この場合CPUはキャッシュミス(キャッシュ領域に目的のデータがない)と判断する。そうなるとCPUは、メモリーに対してメモリーアドレスを指定して、読み込みアクセスを実行する(②)。
メモリーアクセスする場合は図4-2のように、メモリーは指定されたアドレスに対するデータをCPUに対して返す(③)。これと同時に、このデータのアドレス(④)をタグに、データの中身をキャッシュ自身に(⑤)それぞれコピーする(これがキャッシュフィル)。
一度キャッシュにデータが入ると、後はそこから参照が可能である。CPUからメモリーアドレスを指定してタグを検索すると、すぐにヒットする(図4-3)。そのため、当該するキャッシュから迅速にデータを読み込んで完了できるので、大幅なアクセス時間の軽減が図れる。

この連載の記事
- 第598回 最後のAtomとなるChromebook向けプロセッサーのJasper Lake インテル CPUロードマップ
- 第597回 Ryzen 5000Gシリーズに2つのコアが混在する理由 AMD CPUロードマップ
- 第596回 Rocket LakeではCore i3が発売されない可能性大 インテル CPUロードマップ
- 第595回 嗚呼憧れのReconfigurable Processor AIプロセッサーの昨今
- 第594回 数は力? RISC-VベースのAIチップを開発するEsperanto AIプロセッサーの昨今
- 第593回 車載向け市場にフォーカスしたGSP AIプロセッサーの昨今
- 第592回 自社専用と割り切ったからできたAlibabaのHanguang 800 AIプロセッサーの昨今
- 第591回 スタートアップ企業のMythicが実現した超低消費電力AIプロセッサー AIプロセッサーの昨今
- 第590回 Radeon Instinct MI100が採用するCDNAアーキテクチャーの内部構造 AMD GPUロードマップ
- 第589回 AIチップの性能評価基準を考えさせるFlex Logic AIプロセッサーの昨今
- 第588回 Ryzen 5000シリーズはなぜ高速なのか? 秘密はZen 3の内部構造にあり AMD CPUロードマップ
- この連載の一覧へ