スーパースカラーとアウトオブオーダーはセットの技術
スーパースカラーの次に紹介する技術が、アウトオブオーダーである。アウトオブオーダーはスーパースカラーを前提とした技術である。アウトオブオーダーなしのスーパースカラーはあるが、スーパースカラーなしのアウトオブオーダーはありえない(というか意味がない)ので、現実問題としてスーパースカラーが前提の技術、と考えてよいだろう。
アウトオブオーダーの言葉の意味は「乱れる、狂う、故障する」で、米国では故障した自動販売機とかに「Out of order」とか張り紙がしてあったりする。もちろんここで扱うのは別の意味。「乱れる、狂う」に近いが、ようするに「命令の実行順序を変えてしまう」ものだ。こう書くと、「では前回の命令の並び替えと何が違うのか?」と聞かれそうだが、実は「半分は」同じものである。
アウトオブオーダーは上に書いたとおり、「与えられた命令を一度展開し、依存関係がない順に順次実行する」方式である。前回「命令の並び替え」として説明した以下の並び替え例が、すでにアウトオブオーダーなのである。
| 並び替え前 | 並び替え後 | |
|---|---|---|
| 命令1 | R1=Data1 | R1=Data1 |
| 命令2 | R2=Data2 | R2=Data2 |
| 命令3 | R3=R1+R2 | R4=Data3 |
| 命令4 | R4=Data3 | R5=Data4 |
| 命令5 | R5=Data4 | R3=R1+R2 |
| 命令6 | R6=R4+R5 | R6=R4+R5 |
つまり本来の命令の並び順を、CPU内部で入れ替えているからだ。これによる効果は、前回述べたとおり非常に大きい。
さて、前回はアウトオブオーダーにはあまり積極的に触れなかったこともあり、従来のパイプラインの延長的な構図を示したが、本来のアウトオブオーダーのパイプラインは図1のようになる。前回と異なり、「Re-Order Buffer」と呼ばれるものが新たに出現しているわけだが、これがアウトオブオーダーの肝の部分である。
図1 アウトオブオーダーを実装したCPUパイプライン
まず、命令キャッシュからFetchを経て取り込まれた命令は、Decodeで解釈される。ここまでは「インオーダー」、つまりあくまで読み込んだ順に処理されてゆく。解釈が終わった命令は、いったんスケジューラに入る。ここで命令の並び替えが行なわれる。この例で言えば、左の4命令は先に処理され、右の2命令は後回しにされる。
| 先に処理 | 後回し |
|---|---|
| R1=Data1 | R3=R1+R2 |
| R2=Data2 | R6=R4+R5 |
| R4=Data3 | |
| R5=Data4 |
本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事
-
第869回
PC
半導体プロセスの新たな覇権! インテルのDNNプロセッサーはAMDやMetaを凌駕する配線密度と演算密度 -
第868回
PC
物理IPには真似できない4%の差はどこから生まれるか? RTL実装が解き放つDimensity 9500の真価 -
第867回
PC
計算が速いだけじゃない! 自分で電圧を操って実力を出し切る賢すぎるAIチップ「Spyre」がAI処理を25%も速くする -
第866回
PC
NVIDIAを射程に捉えた韓国の雄rebellionsの怪物AIチップ「REBEL-Quad」 -
第865回
PC
1400WのモンスターGPU「Instinct MI350」の正体、AMDが選んだ効率を捨ててでも1.9倍の性能向上を獲る戦略 -
第864回
PC
なぜAMDはチップレットで勝利したのか? 2万ドルのウェハーから逆算する経済的合理性 -
第863回
PC
銅配線はなぜ限界なのか? ルテニウムへの移行で変わる半導体製造の常識と課題 -
第862回
PC
「ビル100階建て相当」の超難工事! DRAM微細化が限界を超え前人未到の垂直化へ突入 -
第861回
PC
INT4量子化+高度な電圧管理で消費電力60%削減かつ90%性能アップ! Snapdragon X2 Eliteの最先端技術を解説 -
第860回
PC
NVIDIAのVeraとRubinはPCIe Gen6対応、176スレッドの新アーキテクチャー搭載! 最高クラスの性能でAI開発を革新 -
第859回
デジタル
組み込み向けのAMD Ryzen AI Embedded P100シリーズはZen 5を最大6コア搭載で、最大50TOPSのNPU性能を実現 - この連載の一覧へ











