【訂正】Xeon PhiのKNLのMCDRAMとHBMなどのその他の高帯域スタックド・メモリについての勘違いについての訂正

キャッシュとメモリの線引き

一般的なコンピューターの保存領域は以下のような階層に分かれるメモリヒエラルキーで説明されます。

  • キャッシュ

  • メモリ

  • ストレージ

私が勘違いしていたのは、これらの違いはスピードの差で説明出来るという点。

  • キャッシュ


速い
遅い

  • メモリ


速い
遅い

  • ストレージ

ザックリとこういう理解をしていました。そんな中こういった記事を目にします。

https://software.intel.com/en-us/blogs/2016/01/20/an-intro-to-mcdram-high-bandwidth-memory-on-knights-landing

Intelの高速なスタックド・メモリにMCDRAMはキャッシュとしても振る舞うと言う記事です。これを良く考えずに「メインメモリに標準的に使われているDDR4より明らかに高速だからキャッシュと呼ぶことも出来る。」と勘違いしていました。その他の超高速なスタックド・メモリについても、明らかに高帯域であればキャッシュと読んで差し支え無いと考えていました。

プロセッサのどの部分でコントロールをしているか、と言う分類

メモリヒエラルキーは速い遅い以外にも、キャッシュはプロセッサに内蔵されたキャッシュコントローラーによって、メインメモリはメモリコントローラーによって、ストレージはPCIeコントローラーによって整理されている部分だと言う分類も出来ます。プロセッサとのやり取りの方式によって分類する方法です。IntelのXeon PhiのKNLに搭載されているMCDRAMは、中身はHBMなどと同じスタックドSDRAMなのですが、この意味での最下層キャッシュとしても使用出来ると言う特徴を持っています。

HBMなどは確かに通常メインメモリとして使用されているDDR4よりも随分早いですが、キャッシュコントローラーによってコントロールされないことから、そのプロセッサに対する役割はDDR4と同じです。MCDRAM以外のスタックド・メモリをキャッシュと呼んでしまうことは、あたかもキャッシュコントローラーによってコヒーレントなどが取られているかのような表現であり不適当でした。