x86に限ってだが、アウトオブオーダーで欠かせないのが命令変換の仕組みである。インテルの場合は「μOp」(マイクロオプ)、AMD(というか旧NexGen)は当初「RISC86」と称し、その後「Op」、最終的には「microOp」と表記は変わっているが、要するにx86命令を「RISC風の」内部命令に変換する仕組みである。この内部命令が、μOpとかmicroOpなどと呼ばれるわけだ。
ここでちょっと寄り道して、RISCとCISCの話をしておくことにする。例えばx86という命令はCISCの代表例であるが、そもそもRISCとCISCの違いとは? というところを簡単に説明しておこう。
RISCとCISCの違いをざっとおさらい
RISCという概念を、それと明確には知らずに搭載したCPUはかなり昔からある※1。だが、RISCという概念が明確になったのは、1981年にデビッド・パターソン(David Patterson)がプロジェクトの指揮を取った「RISC-I/RISC-II」プロジェクトと、ほぼ同じ1982年に、ジョン・ヘネシー(John Hennessy)がプロジェクトの指揮を取った「MIPS」プロジェクトがそれぞれ大きな成果を上げ、これに基づいた製品が登場するようになってからではないかと思う(IBM 801とかもあるが、ここでは割愛する)。
※1 1964年の「CDC6600」が最初、という説が根強い。
ここで初めて、RISC(Reduced Instruction Set Computer:縮小命令セットコンピューター)という概念が定義された。この当時のRISCの概念は、以下の要素に代表されている。
- 命令長は固定
- 処理時間は命令によらず一定(原則1クロック)
- 演算はすべてレジスター間のみ
- マイクロコードを廃する
- 汎用レジスターを多数用意
- 遅延スロットを設けてパイプラインストールを防止
これらを(全部ではないにせよ)搭載したものがRISC、そうでないものがCISC(Complex Instruction Set Computer:複合命令セットコンピューター)というのが、やや乱暴だが現実に即した分類だった。例えばCISCの代表例たるx86の場合は、以下のようになる。
- 命令長は可変。しかも規則性がないため、命令を1byteずつデコードしないと、最終的な命令長が不明
- 処理時間は命令によって大きく変わる
- 演算はレジスター間演算以外に、メモリーや即値、アドレス指定など多彩なモードがある
- マイクロコードを多用しており、特に80386ではデコードのレイテンシがかなり多かった
- 汎用レジスターは非常に少なく、スタックを多用する必要があった
- 遅延スロットに相当するものはない
本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事
-
第878回
PC
もはや銅配線は限界? 3200Gイーサネット実現に立ちはだかる200GT/秒の壁 -
第877回
PC
「不良品ゼロ」と「水冷NG」の狭間で。ルネサスが明かした車載チップレットSoCのリアル -
第876回
PC
このままではメモリーが燃える! HBM4/5世代に向けた電力供給の限界と、Samsungが示すパッケージ協調設計の解 -
第875回
PC
1000A超のAIプロセッサーをどう動かすか? Googleが実践する垂直給電(VPD)の最前線 -
第874回
PC
AIの未来は「電力」で決まる? 巨大GPUを支える裏面給電とパッケージ革命 -
第873回
PC
「銅配線はまだ重要か? 答えはYesだ」 NVIDIA CEOジェンスンが語った2028年ロードマップとNVLink 8の衝撃 -
第872回
PC
NVIDIAのRubin UltraとKyber Rackの深層 プロトタイプから露見した設計刷新とNVLinkの物理的限界 -
第871回
PC
GTC 2026激震! 突如現れたGroq 3と消えたRubin CPX。NVIDIAの推論戦略を激変させたTSMCの逼迫とメモリー高騰 -
第870回
PC
スマホCPUの王者が挑む「脱・裏方」宣言。Arm初の自社販売チップAGI CPUは世界をどう変えるか? -
第869回
PC
半導体プロセスの新たな覇権! インテルのDNNプロセッサーはAMDやMetaを凌駕する配線密度と演算密度 -
第868回
PC
物理IPには真似できない4%の差はどこから生まれるか? RTL実装が解き放つDimensity 9500の真価 - この連載の一覧へ











