2022年6月18日土曜日

CPUとRAMを分離する必要があるのは何故ですか?CPUのほうがはるかに高速なのに、それらを一つにしておけないのは何故なのでしょう?

https://jp.quora.com/CPU%E3%81%A8RAM%E3%82%92%E5%88%86%E9%9B%A2%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8B%E3%81%AE%E3%81%AF%E4%BD%95%E6%95%85%E3%81%A7%E3%81%99%E3%81%8B-CPU%E3%81%AE%E3%81%BB%E3%81%86%E3%81%8C

並べ替え
 · 
フォロー

CPUにRAMを載せたいのはやまやまなんですが、これまでのところ技術の制約によりCPUにはメガバイト単位のキャッシュメモリしか載ってませんよね。

吉田 学 (Manabu Yoshida) さんが言うように、CPUとDRAMは相性が悪く、同じダイに載せるのが困難です。eDRAMという技術をIBMが採用していますが、やはり短所もあるらしく、大容量のRAMがそれで搭載できるまでには至っていません。

いま注目されているのは、CPUとは別のシリコンダイでメモリを作成して、それを同じ半導体パッケージ内に搭載する積層技術です。

これが実現すると、CPUは飛躍的なメモリアクセス性能を手にすることになり、コンピュータの性能は大幅に向上するでしょう。


追記: 富士通の最新CPU A64FXは32GBのHBM2メモリをCPUパッケージ内に搭載しているようです。たぶんパッケージ内にHBM2メモリを搭載した初めてのCPUだと思います。GPUなどのアクセラレータ不要の計算機がTop500に乗ったのは久々と思われ、使い勝手が高いのではないかと期待されてます。[1] [2]

脚注

石塚 正浩さんのプロフィール写真

 · 
フォロー

CPUが速すぎてそれについていけるRAMってのがクソ高いんですよ。なので、そういうクソ高いけどCPUについていける速いRAMはCPUに内蔵されキャッシュメモリとして使われてます。もちろんそのキャッシュメモリをひたすら増やして今のメインメモリほどに増量されせばものすごい速いCPUが出来上がりますが、ものすごく高くなります。1個1000万円で済めばまだ良いぐらいかもしれませんね(ニッコリ

なので、めちゃくちゃ高速でCPUについてけるほど高速だけどクソ高いメモリと、CPUからすればめちゃくちゃ遅くどれだけ私を待たせれば気が済むの!? (プンスカ しかしめちゃくちゃ大容量なメモリ、これらをうまく組み合わせて一番性能が出て一番安くなるのようにしているのが現状です。

石塚 正浩さんのプロフィール写真

 · 
フォロー

やろうと思えば出来ますよ?

10万円で買えるCPUに現在の1万円程度のCPUの計算性能と数十MBのメモリを統合するか、Windows10が最低限動くほどのサイズのメモリを持つCPUに高級自動車ほどの値段や快適に動くほどのサイズのメモリに大きな家が買える値段を払うかです。
 大昔のコンピュータはCPUと同じ速度で動くCPUと同じ仕組みによるSRAMを使っていましたが非常に高価で集積度も低く、メモリが足りなかったり機械が非常に高額になるのに比べれば、遅くても安くて容量が十分にある方がマシだったのでDRAMを積むようにしただけです。
 外付けだから遅いのは一つの理由ではありますが、中にあってもCPUの計算速度で動くメモリは非常に高いです。 現在CPUの中にあるメモリ(キャッシュ)もコストと速度の問題からレベルを分割して、数MB搭載されるメモリはL2やL3になりCPUのフルスピードに比べるとかなり低速です。
 値段と性能のバランスから、あえて低速な方式のRAMを選択して分けているのです。

0 コメント:

コメントを投稿