低レベルアーキテクチャ向けのプリミティブ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/01/11 01:18 UTC 版)
「メモリバリア」の記事における「低レベルアーキテクチャ向けのプリミティブ」の解説
メモリバリアは、アーキテクチャのメモリモデルの定義の一部の低レベルプリミティブである。命令セットと同様、メモリモデルはアーキテクチャによって様々であるため、その動作を概括的に述べることは適切ではない。一般にメモリバリアを正しく使用するには、プログラミング対象のハードウェアのアーキテクチャマニュアルを読むべきである。とはいうものの、以下ではいくつかの実在するメモリバリアについて紹介する。 いくつかのアーキテクチャでは、「フルフェンス」と呼ばれる一種類のメモリバリア命令だけを提供する。フルフェンス命令は、その前の全ロード/ストア命令がフェンス後のロード/ストア命令の前に完了することを保証する。他のアーキテクチャでは、「acquire」命令と「release」命令でメモリバリアを構成する。これはリード・アフター・ライト操作の可視性に関するもので、読み込む側(acquire)と書き込む側(release)がそれぞれの観点で命令を使用する。いくつかのアーキテクチャでは主記憶とI/Oメモリの操作の組合せに合わせて何種類かのメモリバリア命令を提供する。メモリバリア命令が複数種類存在するアーキテクチャでは、それぞれの命令にかかるコストに大きな違いがある点が重要である。
※この「低レベルアーキテクチャ向けのプリミティブ」の解説は、「メモリバリア」の解説の一部です。
「低レベルアーキテクチャ向けのプリミティブ」を含む「メモリバリア」の記事については、「メモリバリア」の概要を参照ください。
- 低レベルアーキテクチャ向けのプリミティブのページへのリンク