2018年の年明け早々からCPUの脆弱性「Spectre」と「Meltdown」が公開され、話題となりました。 「Spectre」と「Meltdown」の脆弱性は、OSやアプリケーションのように限定的なソフトウェアにおけるバグに起因するものではなく、CPUのアーキテクチャーにかかわるハードウェアレベルの脆弱性であり、現在稼働している幅広いコンピュータ機器に影響があることからメディアなどでも大きく取り上げられ世間を騒がせることとなりました。 これらの脆弱性は、CPUの高速化手法である「投機的実行(speculative execution)」と「アウトオブオーダー実行(out-of-orderexecution)」の機能に存在していました。この機能がどのようにして高速化を実現しているかを説明します。 投機的実行(speculative execution) 何らかの分岐処理がある場合、分岐条