翻訳と辞書
Words near each other
・ アウデ・マース川
・ アウト
・ アウト (野球)
・ アウトEC
・ アウトKrAZ
・ アウト×デラックス
・ アウトウニオン
・ アウトウニオン・Pワーゲン
・ アウトウニオン・Pヴァーゲン
・ アウトウニオン・レーシングカー
アウトオブオーダー実行
・ アウトオブノイズ
・ アウトカースト
・ アウトキャスト
・ アウトクラーズ
・ アウトコード 超常犯罪特務捜査官
・ アウトゴルペ
・ アウトサイダー
・ アウトサイダー (映画)
・ アウトサイダー〜闘魚〜


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

アウトオブオーダー実行 : ウィキペディア日本語版
アウト・オブ・オーダー実行[-じっこう]

アウト・オブ・オーダー実行(-じっこう、)とは、高性能プロセッサにおいてクロックあたりの命令実行数(IPC値)を増やし性能を上げるための手法の1つで、機械語プログラム中の命令の並び順に依らず、データなどの依存関係から見て処理可能な命令について逐次開始・実行・完了させるものである。頭文字で'OoO'あるいは'O-o-O'とも書かれる。「順序を守らない実行」の意である。
プロセッサの設計と実装において、命令レベルの並列性(''Instruction-level parallelism''; ILP)を高めることは1つの目標でありスーパースケーラにより1サイクルあたり2命令を越えることが可能になったが、フォンノイマンアーキテクチャの前提である逐次実行が、並列化を施す上での障壁となる。アウト・オブ・オーダー実行(以下、OoO)は、結果(意味)に影響を与えないことを保証しながら可能な限り順序に従わずどんどん実行することにより、複数命令の同時実行の可能性を広げる最適化手法の1つである。


アウト・オブ・オーダー実行に対して、順序通り実行することを、イン・オーダー実行と言う。
== 歴史 ==
最初にアウト・オブ・オーダー実行を行ったマシンは、1960年代のCDC 6600とされている。6600ではscoreboardingという手法が発明された。ライト・アフター・ライト (WAW) 及びライト・アフター・リード (WAR) を解決しているが、レジスタ・リネーミングは行っていない。続いてIBM System/360 モデル91がTomasuloのアルゴリズム(データを更新する場合、共通データバスにブロードキャストする)を導入した。scoreboardingとTomasuloのアルゴリズムはどちらもこの分野における基本的なアイディアである。
アウト・オブ・オーダー実行はある種のデータフロー手法とも言える。データフローマシンは1980年代のコンピュータアーキテクチャー研究の主戦場であった。1980年代にこの分野に関連する研究をリードしたのはYale Pattと彼の開発になるHPSmシミュレータであった。
現実のコンピュータでは、ゼロ除算やページフォールトといった例外が発生するが、アウト・オブ・オーダー実行中のそれらへの対処は頭の痛い問題である。1985年のJ.E.Smith & A.R.Pleszkunの論文によって、アウト・オブ・オーダー実行において例外をうまく処理する手法が示された。
最初にアウト・オブ・オーダー実行を行った商用マイクロプロセッサは1990年発表のPOWER1とされている。x86ではP6マイクロアーキテクチャPentium Pro、1995年)が初である。他には、IBMとモトローラPowerPC 601 (1992/1993)、富士通とHALのSparc641 (1995)、ヒューレット・パッカードPA-8000 (1996)、MIPSMIPS R10000 (1996)、AMD K5 (1996)、DEC Alpha21264 (1998)などがある。
OoOではないことを特に示す意味があるだろうプロセッサには、サンのUltraSPARC(SPARC T3以前の場合。富士通のSPARC64では実現)、インテルとヒューレット・パッカードが共同開発したItaniumトランスメタCrusoeなどがある。これらでは、レジスタウィンドウがレジスタリネーミングと相性が悪い、プロセッサコアの命令体系にVLIWを採用しコア外のコンパイラなどで依存や並列実行を解決している、依存関係が無い異なるスレッドの命令を並列実行することで性能を得ている、といった理由でOoOが採用されていない。
原理上、アウト・オブ・オーダー実行のためには性能比以上にプロセッサが複雑になる傾向があるため、たとえば電力効率が求められる組込みプロセッサにはあまり採用されていない。

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「アウト・オブ・オーダー実行」の詳細全文を読む

英語版ウィキペディアに対照対訳語「 Out-of-order execution 」があります。



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.