web-dev-qa-db-ja.com

すべてのプログラマがメモリについて知っておくべきことは?

2007年以降、Ulrich Drepper すべてのプログラマーがメモリについて知っておくべきこと がどれだけ有効か疑問に思っています。また、1.0またはエラッタより新しいバージョンを見つけることができませんでした。

133
Framester

私が覚えている限りでは、Drepperのコンテンツはメモリに関する基本的な概念、CPUキャッシュの仕組み、物理メモリと仮想メモリ、LinuxカーネルがそのZooを処理する方法について説明しています。おそらくいくつかの例には古いAPIリファレンスがありますが、それは問題ではありません。基本的な概念の関連性には影響しません。

したがって、基本的なことを説明している本や記事は時代遅れとは言えません。 「すべてのプログラマーがメモリについて知っておくべきこと」は間違いなく読む価値がありますが、「すべてのプログラマー」のためだとは思いません。システム/組み込み/カーネルの人により適しています。

93
Dan Kruchinin

私の目を通してみると、かなり正確に見えます。注目すべき1つのことは、「統合」メモリコントローラーと「外部」メモリコントローラーの違いに関する部分です。 i7ラインのIntel CPUがリリースされて以来、AMDはAMD64チップが最初にリリースされて以来、統合メモリコントローラを使用してきました。

この記事が書かれて以来、全体が大きく変わったわけではなく、速度が向上し、メモリコントローラーのインテリジェント化が進んでいます(i7は、変更をコミットするまで、RAMへの書き込みを遅延させます)、しかし、全体の多くは変わっていません。少なくとも、ソフトウェア開発者が気にするようなことはありません。

70