# Intel 80x86 Intelのレジスタメモリ型((1,2)分類)・可変長命令符号化ISA。1〜17バイトの間で命令長が変わり、opcode 1バイト+アドレス指定子1〜2バイト+アドレスフィールド1または4バイトのような可変構成を取る。付録Aは`add EAX,1000(EBX)`が6バイトになる符号化過程を具体例として示し、RISC系の固定長符号化とのコードサイズ・デコード容易性のトレードオフを説明する対比対象として使う(Source: [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Appendix A Instruction Set Principles]] §A.7)。整数プログラムの実行命令の上位10種類(Load・条件分岐・Compare・Store・Add等)だけで実行命令全体の96%を占めるという実測(SPECint92)も80x86上で示され、「単純な命令が最も頻繁に実行される」という設計原則の根拠として引用される(Source: [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Appendix A Instruction Set Principles]] §A.5)。 ## 「欠陥のあるアーキテクチャでも成功しうる」の代表例 付録A「誤謬と落とし穴」節は、80x86を「設計者だけが愛せる命令セット」と評しつつ、次の3点で商業的に成功したと分析する。(1) IBM PCの標準マイクロプロセッサに選定されたことによる2進互換性の価値、(2) Mooreの法則がもたらした潤沢なトランジスタ予算により、内部的にRISCライクな命令へハードウェア変換してから実行する設計が可能になったこと、(3) PC市場の圧倒的な出荷量により、ハードウェア変換の設計コスト増を吸収できたこと。80x86はセグメンテーション(他アーキテクチャはページングを採用)・拡張アキュムレータ(他は汎用レジスタ)・浮動小数点用の実行スタック(他アーキテクチャはとうに放棄した方式)という不人気な設計判断を抱えながらも、これらの経済的要因により生き残った(Source: [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Appendix A Instruction Set Principles]] §A.10)。 ## 出典 - [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Appendix A Instruction Set Principles]] §A.5, §A.7, §A.10