最新の x86 ハードウェアはメモリに 1 バイトも保存できないのか?
ストラストラップ氏の著書の中での声明は、仮想ハードウェアの潜在的な動作について言及しています。明確に定義された記憶モデル。彼は、そのようなハードウェアが非アトミック更新によるバイト ストアを実装し、隣接するバイトに影響を与える可能性があると示唆しています。
実際の最新のハードウェアの動作
しかし、x86 を含む最新のハードウェアでは、 Stroustrup が説明するように動作しません。
歴史的背景
Stroustrap のステートメントは、初期の Alpha AXP プロセッサの動作に基づいていた可能性があり、当初はバイト ロード/ストア命令をサポートしていませんでした。 。ただし、Alpha の以降のバージョンとすべての最新の CPU は、安全で効率的なバイト ストアをサポートしています。
ハードウェア実装
最新の CPU は通常、メモリのセグメントを保存するキャッシュを使用します。キャッシュされたシステムでは:
例外
最新の CPU はアトミック バイト ストアを提供しますが、特定の状況では例外が発生する可能性があります。
結論
実際には、最新のハードウェアはアトミック バイト ストアをサポートしているため、潜在的なハードウェア動作に関する Stroustrup の説明は実際のシステムとの関連性が低くなります。 C コンパイラによって提供されるメモリ モデル保証は、スレッドの安全性を確保するために最新のハードウェアの信頼できる動作に依存しています。
以上が最新の x86 CPU は本当にメモリに 1 バイトをアトミックに保存できないのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。