ロード命令のレイテンシは非常に長く,コンピュータの性能を大きく制限している.この問題を解決する方法として,積極的なアウト・オブ・オーダ実行がある.これはメモリ・レベル並列性(MLP)を利用し,複数のロード要求を並列化することでレイテンシを隠蔽しようとするものである.
多くのMLPを利用可能とするためには,プロセッサ内で同時に処理できる命令の数(in-flight命令数)を十分大きくしなければならない.そのためには巨大なリオーダ・バッファ(ROB)が必要となるが,ROBの単純な拡大はプロセッサの回路面積・消費電力増加の原因となるため,現実的ではない.
本研究では,ROBを拡大することなく,in-flight命令数を増加させる手法を提案する.その方法として,ROBを割り当てられない時も命令を先行実行という形で実行する.ROB未割り当ての命令をも実行することで,in-flight命令数を増加し,より多くのMLPを利用可能となる.先行実行した命令は後にROBが利用可能となった時点で本実行する必要があるが,その時点では既に先行実行によってメモリ・アクセスが開始されているため,レイテンシは短縮される.