> [!abstract] 概要(Key Insights・冒頭段落の日本語訳) > 我々は2018年6月4日の Turing Lecture を、1960年代以降のコンピュータアーキテクチャの回顧から始めた。それに加えてここでは、現在の課題を強調し将来の機会を特定し、次の10年においてコンピュータアーキテクチャ分野に新たな黄金時代が到来することを予測する。それはちょうど1980年代、我々がACM Turing 賞につながる研究を行った時代のように、コスト・エネルギー・セキュリティの面で、そして性能の面でも利得をもたらすだろう。 > > Key Insights: > - ソフトウェアの進歩はアーキテクチャの革新を触発しうる。 > - ハードウェア/ソフトウェアインタフェースを引き上げることは、アーキテクチャ革新の機会を生む。 > - 市場は最終的にアーキテクチャ論争を決着させる。 ## 論文情報 - タイトル: A New Golden Age for Computer Architecture - 著者: John L. Hennessy(Stanford University 元学長、Alphabet Inc. 会長)・David A. Patterson(UC Berkeley Pardee 名誉教授、Google Distinguished Engineer) - 媒体: Communications of the ACM, Vol. 62, No. 2(2019年2月)、DOI: 10.1145/3282307 - 位置づけ: 2018年6月4日に ISCA 2018 で行われた 2017年 ACM A.M. Turing 賞受賞記念講演(Turing Lecture)を基にした CACM 掲載版。RISC アーキテクチャおよび定量的手法によるコンピュータアーキテクチャ設計への貢献に対して両名が受賞した。 ## 概要 RISC の共同開発者である Hennessy と Patterson が、命令セットアーキテクチャ(ISA)の歴史を IBM System/360 から RISC-V まで振り返りつつ、Moore の法則と Dennard スケーリングの終焉によって汎用プロセッサの性能向上が頭打ちになった現状を分析する。その上で、ドメイン固有アーキテクチャ(DSA)・オープン ISA・アジャイルなハードウェア開発という3つの機会が「新たな黄金時代」を切り拓くと論じる、歴史回顧と将来展望を兼ねた立場表明論文(Turing Lecture 記事)である。 ## 問題設定 本論文は新規手法を提案する実験論文ではなく、ISA と計算機アーキテクチャの歴史的教訓を整理した上で今後10年の方向性を論じる回顧・展望論文である。扱う中心的な問いは次の3点。 - なぜ IBM System/360 の統一 ISA が成功し、Intel iAPX-432 や Itanium のような野心的な新規 ISA が市場に受け入れられなかったのか。 - Moore の法則(トランジスタ密度の指数的増加)と Dennard スケーリング(電力密度の一定性)が鈍化・終焉した現在、汎用プロセッサの性能向上をどう持続させるか。 - 命令レベル並列性(ILP)による投機実行が Meltdown・Spectre のようなハードウェアセキュリティ脆弱性を生んだ現状に、アーキテクトはどう向き合うべきか。 ## 提案手法(3つの機会) 論文は特定のアルゴリズムではなく、次の10年に汎用プロセッサの限界を超えるための3つの方向性を提示する。 - **ドメイン固有アーキテクチャ(DSA)**: 特定の問題領域に特化したアーキテクチャで、汎用 CPU に対して大幅な性能・電力効率の向上を狙う。GPU・TPU・FPGA・専用 ASIC がこれに該当する。DSA が高効率を達成する理由を4点挙げる。(1) その領域に適したより効率的な並列性(SIMD 等)を利用できる、(2) メモリ階層をアプリケーションに合わせて最適化できる(ユーザー制御メモリはキャッシュよりも省電力になりうる)、(3) 必要な精度だけを使う(DNN 推論では4/8/16 ビット整数で十分)、(4) ドメイン固有言語(DSL)で記述されたプログラムを対象にできる。具体例として Google TPU v1 の内部構成(Figure 8)を挙げ、汎用 CPU 比で 29 倍の速度・80 倍超のエネルギー効率を達成したと報告する。 - **オープンアーキテクチャ(RISC-V)**: Linux が果たしたようなオープンソースの役割を ISA レベルで担う「プロセッサ向け Linux」を目指す取り組み。RISC-V は UC Berkeley で開発された5世代目の RISC アーキテクチャで、モジュール化された基本命令セット(整数演算のみの base ISA)に M(乗除算)・A(アトミック操作)・F/D(単精度/倍精度浮動小数点)・C(圧縮命令)の標準拡張を任意に追加できる。ARMv8 が500命令・14命令フォーマットを持つのに対し、RISC-V は base 50命令+標準拡張(M・A・F・D・C)で137命令・6命令フォーマットと大幅に単純である。オープンな実装はセキュリティ専門家による検証を容易にし、「security through obscurity(隠蔽によるセキュリティ)」に頼らない設計を可能にするとも論じる。 - **アジャイルなハードウェア開発**: ソフトウェア業界のアジャイル開発手法(Beck ら 2001年のアジャイルソフトウェア開発宣言)にヒントを得て、ハードウェア設計にも数週間単位のスプリントを導入する方法論(Figure 9)。ソフトウェアシミュレータ → FPGA → ECAD ツールによるチップレイアウト生成(「tape in」)→ 実チップ製造(「tape out」)という4段階のプロトタイピングにより、それぞれ4週間スプリントを回すことができるとする。小規模チップは28 nmプロセスで100個の1mm²チップを14,000ドルで製造でき、RISC-V コアと NVDLA アクセラレータを載せるのに十分な面積があると具体的なコスト感を示す。 ## 新規性 - **RISC対CISCの定量的説明**: DEC のエンジニアによる先行研究(Bhandarkar & Clark 1991)を引用し、CISC(VAX 系)は RISC に比べプログラムあたりの命令数が約75%で済むが、命令あたりのクロックサイクル数が5〜6サイクル多く、結果として RISC が約4倍高速になるという定量的な説明を与える(Time/Program = Instructions/Program × Clock cycles/Instruction × Time/Clock cycle の式で分解)。 - **性能向上率のフェーズ分解(Figure 6)**: CISC 時代(22%/年、2.5年で2倍)→ RISC 時代(52%/年、1.5年で2倍、1986〜2002年の ILP 活用期)→ マルチコア時代(Dennard スケーリング終焉後、23%/年、3.5年で2倍)→ Amdahl の法則が支配する現在(12%/年、6年で2倍)→ 今後予測される「End of the Line」(3%/年、20年で2倍)という5段階の性能成長率の推移を、VAX-11/780 比の相対性能として定量的に描く。この分解は個々の技術トレンドの寄与を年率%で示す点が新しい。 - **Meltdown/Spectre をアーキテクトの ISA 定義問題として位置づける視点**: 従来 ISA の正しい実装とは「ISA が可視化するアーキテクチャ状態」だけを規定し、命令列実行の性能への影響には触れないとされてきた。本論文はこの定義の欠落こそが投機実行に起因するセキュリティ脆弱性を生んだ根本原因であるとし、アーキテクトが ISA の「正しい実装」の定義を再考すべきだと主張する。 ## 実験設定 本論文は自ら新規実験を行うものではなく、既発表の測定結果を引用・要約する立場表明論文である。引用される主な測定結果は以下。 - **Figure 4**: Intel Core i7 上で SPEC integer ベンチマーク群(perlbench・bzip2・gcc・mcf・gobmk・hmmer・sjeng・libquantum・h264ref・omnetpp・astar・xalancbmk)を実行し、投機的実行によって無駄になった命令の割合を測定。 - **Figure 7**: Leiserson ら(2020年発表予定の論文, "There's plenty of room at the top")の測定を引用し、行列積を Python → C → 並列ループ → メモリレイアウト最適化 → SIMD 命令、の4段階で最適化した際のマルチコア Intel プロセッサ上での速度向上を比較。 - **TPU v1 の評価**: Jouppi ら(ISCA 2017)の測定を引用し、Google データセンターにおける6種類の代表的な推論ワークロードの加重平均で、TPU v1 と汎用 CPU の性能・エネルギー効率を比較。 ## 実験結果 - **投機実行の無駄(Figure 4)**: 分析対象ベンチマーク群平均で **19%** の命令が投機ミスにより無駄になる(個別には perlbench で最大 39% 程度、libquantum で 1% 程度と幅がある)。分岐予測が完璧な場合は投機はエネルギーコストをほぼ生まないが、ミス時にはパイプライン内の誤投機命令とプロセッサ内部状態の復元にエネルギーを浪費する。 - **Amdahl の法則(Figure 5)**: 逐次実行部分が全体の1%の場合、64プロセッサ構成での高速化は約35倍にとどまる一方、消費電力は64プロセッサ分必要となるため約45%のエネルギーが無駄になると試算する。 - **行列積の最適化効果(Figure 7)**: Python 実装(基準 1倍)に対し、C 言語化で **47倍**、並列ループの追加で **366倍**、メモリレイアウト最適化で **6,727倍**、SIMD 命令の追加で最終的に **62,806倍**の高速化を達成。 - **TPU v1 の効果**: 汎用 CPU 比で **29倍**高速、消費電力は半分以下のため、エネルギー効率は**80倍超**優れる。 - **Moore の法則とトランジスタ密度(Figure 2)**: 2018年時点で Moore の1975年版予測(2年ごとに2倍)と実際の Intel マイクロプロセッサの密度実績との間に、約15倍のギャップが生じている。 - **Dennard スケーリングの終焉(Figure 3)**: プロセス技術が200 nmから10数 nmへ微細化する一方、単位面積(nm²)あたりの相対消費電力は2000年頃の1近辺から2020年頃には4を超える水準まで増加しており、電力密度が一定に保たれるという Dennard の前提が2007年頃から崩れ始め2012年までにほぼ消失したことを示す。 - **市場シェアの転換**: ポストPC時代において x86 の出荷台数は2011年のピーク以降年率約10%で減少する一方、RISC プロセッサ(主にARM系)は200億個規模まで急増し、2019年時点で32/64ビットプロセッサの99%が RISC であると報告する。 ## 考察 - IBM System/360 の統一 ISA、Intel 8086 → x86、ARM といった長期にわたり高い年間収益をもたらしたアーキテクチャ投資がある一方、Intel iAPX-432 や Itanium のように投資に見合う対価を得られなかった事例があり、「市場が最終的にアーキテクチャ論争を決着させる」という繰り返し観察される法則を、両陣営の事例で裏付ける。 - RISC-CISC 論争は PC 時代後期には CISC(x86)が勝利したが、ポストPC時代には RISC が勝利しつつあり、過去数十年に新規 CISC ISA は登場していないと指摘。命令セット哲学としては RISC が今なお一般的なコンセンサスであるとする。 - Moore の法則・Dennard スケーリングの終焉と Amdahl の法則の制約が重なった結果、汎用プロセッサの性能改善率は年数%にまで落ち込むと予測し(Figure 6 の「End of the Line」トレンドライン)、これは「解決すべき問題ではなく、対処すべき事実」であると位置づける。 - ソフトウェアの高級化・動的型付け言語の普及がもたらす実行効率の低下(Python の遅さ)は一見デメリットに見えるが、その改善余地の大きさ自体が DSA・コンパイラ技術の投資機会になると捉え直す視点を提示する。 ## 強み / 弱点・課題 **Strengths** - IBM System/360(1964年)から RISC-V(2010年代)まで半世紀以上にわたる ISA の歴史を、System/360の control store 実装の詳細やGordon Mooreの雇用戦略といった一次資料的なエピソードを交えて具体的に語れる、著者ら自身がRISC設計の当事者であることに由来する説得力。 - 定量的アプローチ(Time/Program 分解式、性能成長率の年率%分解)により、直感や経験に頼らず測定とベンチマークで論じるという、著者らが1989年の教科書 "Computer Architecture: A Quantitative Approach" 以来一貫して掲げる方法論が本論文でも貫かれている。 - DSA・オープンISA・アジャイル開発という3つの機会が、それぞれ独立してではなく組み合わせて機能しうる(例: RISC-V ベースの DSA を FPGA でアジャイルに検証する)という統合的な視座を示す。 **Weaknesses/Limitations** - Turing Lecture の記念記事という性格上、新規の実験や定量評価は行っておらず、既発表論文(Jouppi ら 2017年のTPU評価、Bhandarkar & Clark 1991年のRISC/CISC比較等)からの引用に依拠している。 - DSA の効率化根拠として挙げる4要因(並列性・メモリ階層・精度・DSL)は定性的な説明にとどまり、TPU以外のDSA(GPU・FPGA)については定量的な裏付けが薄い。 - 2019年時点の予測(RISC-V の普及、Moore法則の終焉時期等)であり、5年以上経過した時点での検証は本論文の対象外である。 ## 図表 **Figure 1: RISC-I と MIPS のマイクロプロセッサ写真** ![[_attachments/cacm19golden-age/fig01a-risc-i-chip.png]] ![[_attachments/cacm19golden-age/fig01b-mips-chip.png]] (Figure 1. UC Berkeley の RISC-I(上)と Stanford University の MIPS(下)、それぞれ1982年・1983年に開発された初期の RISC マイクロプロセッサのダイ写真。両校の大学院生が産業界に匹敵するマイクロプロセッサを構築できることを実証した。) **Figure 2: Moore の法則と Intel マイクロプロセッサ密度の比較** ![[_attachments/cacm19golden-age/fig02-moores-law-density.png]] (Figure 2. 縦軸対数スケールでのトランジスタ密度の推移。Moore の1975年版予測(2年で2倍)と Intel マイクロプロセッサの実測密度を比較すると、2018年時点で約15倍のギャップが生じている。) **Figure 3: プロセス微細化と単位面積あたり消費電力の推移** ![[_attachments/cacm19golden-age/fig03-power-per-nm2.png]] (Figure 3. プロセス技術(nm、赤線・左軸)は一貫して微細化する一方、相対消費電力/nm²(青線・右軸)は2007年頃を境に上昇へ転じ、Dennard スケーリングの前提が崩れたことを示す。) **Figure 6: 整数プログラム(SPECintCPU)による性能成長の推移** ![[_attachments/cacm19golden-age/fig06-performance-growth.png]] (Figure 6. VAX11-780比の相対性能(対数軸)の年代別推移。CISC期(22%/年)→ RISC/ILP期(52%/年)→ マルチコア期(23%/年)→ Amdahlの法則支配期(12%/年)→ 今後のEnd of the Line予測(3%/年)という5段階の成長率の変化を色分けして示す。) **Figure 7: Python 行列積の最適化段階別高速化** ![[_attachments/cacm19golden-age/fig07-matmul-speedup.png]] (Figure 7. Python(1倍)→ C(47倍)→ 並列ループ(366倍)→ メモリ最適化(6,727倍)→ SIMD命令(62,806倍)の対数軸グラフ。高級言語の生産性と伝統的な性能重視アプローチとの間のギャップの大きさを示す。) **Figure 8: Google Tensor Processing Unit (TPU v1) の機能構成** ![[_attachments/cacm19golden-age/fig08-tpu-architecture.png]] (Figure 8. Matrix Multiply Unit(64K MAC/サイクル)を中心に、Unified Buffer(ローカルアクティベーションストレージ)・Systolic Array Control・Weight FIFO・DDR3インタフェース・PCIeインタフェースから構成される。DRAMアクセスの代わりにユーザー制御のオンチップメモリを多用する設計。)