アウトオブオーダー実行とコンパイラによる命令順序の最適化とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > アウトオブオーダー実行とコンパイラによる命令順序の最適化の意味・解説 

アウトオブオーダー実行とコンパイラによる命令順序の最適化

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/01/11 01:18 UTC 版)

メモリバリア」の記事における「アウトオブオーダー実行とコンパイラによる命令順序の最適化」の解説

メモリバリア命令はハードウェアレベルの命令並べ替え対するものであるメモリマップドI/Oアクセス時に必要とされるコンパイラ最適化処理の一環として命令並べ替えをすることがあるいずれの場合並列処理では同様の問題引き起こすので、マルチスレッド共有されるデータ関わるコード最適化抑制する手段提供する必要がある。なお、そのような手段が必要となるのは、同期プリミティブ保護されていないデータのみである。 C言語のキーワードvolatile使用すると、その変数に関するメモリ操作並べ替え省略といった最適化抑制することができる。これは、シングルプロセッサシステムでのマルチスレッドやシグナルハンドラといった割り込み対す一種バリア提供するのである。しかし、volatileコンパイラ最適化に関するのであるため、マルチプロセッサシステムでの並べ替え問題には不十分である。 いくつかの言語コンパイラ最適化にもアウト・オブ・オーダー実行にも対処する機能を持つものもあるが、そのコンパイラ生成したコード本当に並べ替え行っていないか調べるなど、十分注意して使用すべきである開発者によっては、コンパイラによる並べ替え問題を防ぐ必要があるときにはアセンブリ言語使用する者もいる。 Java 1.5バージョン5とも言う)は新たなメモリモデル採用しており、キーワードvolatileある種ハードウェアによる命令並べ替えコンパイラによる並べ替えを防ぐことを保証している。C++でも同様の拡張提案されている。

※この「アウトオブオーダー実行とコンパイラによる命令順序の最適化」の解説は、「メモリバリア」の解説の一部です。
「アウトオブオーダー実行とコンパイラによる命令順序の最適化」を含む「メモリバリア」の記事については、「メモリバリア」の概要を参照ください。

ウィキペディア小見出し辞書の「アウトオブオーダー実行とコンパイラによる命令順序の最適化」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「アウトオブオーダー実行とコンパイラによる命令順序の最適化」の関連用語

アウトオブオーダー実行とコンパイラによる命令順序の最適化のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



アウトオブオーダー実行とコンパイラによる命令順序の最適化のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのメモリバリア (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2024 GRAS Group, Inc.RSS