★阿修羅♪ 現在地 HOME > 掲示板 > Ψ空耳の丘Ψ35 > 1206.html
 ★阿修羅♪
次へ 前へ
頭脳放談 第27回 RISCの敗因、CISCの勝因
http://www.asyura2.com/0403/bd35/msg/1206.html
投稿者 乃依 日時 2004 年 6 月 24 日 17:31:20:YTmYN2QYOSlOI
 

@IT > System Insider > 頭脳放談 > 第27回 RISCの敗因、CISCの勝因

http://www.atmarkit.co.jp/fsys/zunouhoudan/027zunou/end_of_risc.html
   

頭脳放談

第27回 RISCの敗因、CISCの勝因


Massa POP Izumida
2002/08/16

 

Computer Architecture A Quantitative Approach, Second Edition
著者:John L Hennessy/David A Patterson
出版社:Morgan Kaufmann
ISBN:1558603727
プロセッサ・アーキテクチャを解説した伝説的な教科書。初版は1990年、Second Editionは1995年、Third Editionは2002年にそれぞれ出版されている。なお、日経BP社から初版を翻訳した「コンピュータ・アーキテクチャ(ISBN:4-8222-7152-8)」が出版されている。

 長いこと半導体業界で仕事をしていると、たまに新人や若いエンジニアに何かを教えなければならない、といった局面がある。マイコンのアーキテクチャがらみのときは、取りあえず「Computer Architecture A Quantitative Approach」を読んでいるかどうか聞くことにしている。そこで、「読んでいない」といった答えが返ってくるようだと、「読んでないのはモグリだ」などといって読むように勧めている。ただ勧める際には、「この本はコンピューティングの世界でMIPSやSPARCといったRISCプロセッサがx86系プロセッサに代表される古いCISCプロセッサを駆逐する」という教義に基づいて書かれているが、現実はそうなっていない、という点を忘れず付け加えている。

 Hewlett-PackardのPA-RISCやAlphaを採用したコンピュータ製品群は、Itaniumプロセッサ・ファミリ(IPF)へと統合される予定だし、Sun MicrosystemsもIPFのサポートを開始するのではないかとウワサされている。しかし、一時はこれらのRISCプロセッサが、x86系プロセッサを始めとするCISCプロセッサに取って代わる、と目されていたのだ。今回は、あれほど光を放った「RISC」がなぜ「CISC」に敗れることになったのか、なぜ「RISCが勝つ」という教義が挫折したのかを語りたい。
RISC登場の背景

 まず、なぜRISCが勝つという教義が成立したのかを振り返ってみたい。当時のCISCはどんどんと複雑な命令をハードウェアに取り込んでいた。これは、そのころにCISCの問題点として認識されていたセマンティック・ギャップ*1を埋める作業でもあった。その進化は高機能化といえた反面、どんどんと複雑化する命令は、実行時に複数のクロックを使うようになり、パイプラインを乱すような複雑な制御と長いクリティカル・パス*2をしばしば生じさせ、高速化とは矛盾するような方向性でもあったのだ。
*1 semantic gap:語義の隔たり。ここでは、プログラミング言語とそれを実行するプロセッサとの間の命令の隔たりという意味。当時、プログラミング言語はどんどんと高級化し、自然言語に近付いていくと考えられていた。そのため、プログラミング言語とプロセッサの命令とは大きくかけ離れてしまい、その隔たりがプログラミングを困難にするのではないかと思われていた。
 
*2 ここでいうクリティカル・パス(critical path)とは、回路の内部で最も時間がかかる処理のこと。一般的に、クリティカル・パスが長くなるほどクロック周波数も下げる必要があり、プロセッサの性能向上におけるボトルネックとなる。

 それに対するアンチテーゼというべくRISCは登場した。「セマンティック・ギャップを埋めるのは、ハードウェアでなくコンパイラだ」と割り切ったところから彼らはスタートしたのである。単純な命令を高速に動かすことにこそ、真の高性能はもたらされる、と見抜いたところに基本がある。高速化を容易にするために、単純でパイプラインを乱さない命令セット、解読しやすい固定長の命令コード、高速にアクセスできる多数のレジスタ、パイプラインの流れをストール(中断)させないための遅延分岐など、当時のCISCにはなかった概念を、RISCは次々と導入した。そして一度はCISCから性能面での主導権を奪ったのである。

 当時のRISC陣営側のプレゼンテーション資料などを見ると、CISCもRISCも年々右肩あがりで進歩するが、その傾きがRISCとCISCでは異なり、CISC側はどんなに追いかけてもRISCとは差が開くばかり、という予想になっていた。少なくともRISC陣営の提示する技術要素のどの点をとって議論しても、CISCのやり方よりRISCの方が合理的だった。「CISC側の敗北は理論的に不可避」と思われた状況だったのである。そういう状況下で、RISCというよりもすべてのプロセッサのアーキテクチャ上のトレード・オフを教えるために、前述の本は書かれた。それゆえ、「マイクロプロセッサを設計しています」などという以上は、「読んでないとモグリ」と言われるほど流布したわけである。

 だが、CISCの代表ともいえるx86系プロセッサが、Pentium 4などという名で健在である一方、SPARCやMIPSはもちろん、PowerPCも、こと動作クロックに関しては後塵を拝している。それどころか、CISCであるPentium系と静かに普及しつつあるEPIC(あるいはVLIWというべきか)のItanium 2との隙間で押しつぶされそうになっている。まさにRISCは、青息吐息の状態だ。まじめに「Computer Architecture A Quantitative Approach」を読んで設計していたら、EPICならいざ知らず、CISCに追い詰められるようなことはなかったはずなのに……。
A Quantitative Approachはなぜハズれたのか?

 では、RISC側の敗因を分析してみよう。一般的にRISC陣営は前述のようにキャッシュも含めたプロセッサ・パイプラインを高速化することに注力した。その方針はまったくもって正しいし、最初は確かに大成功であった。しかし、しばらく成長した後、徐々にRISCは問題に直面するようになったのである。最初は「簡単な命令=高速化しやすい」といえたのが、高速化のために大規模な回路、例えばスーパースカラー化や大規模な階層記憶(キャッシュ)などが必須となり、大規模な設計チームが必要になってからは、RISCだからといって高速化しやすいとはいえなくなってしまった。それでも多少はやりやすい面も残っていたが、それ以外の要素が大きくなるにつれて、RISC教義の意義は薄れてしまった。

 また、最初は無視できた既存コードとの互換性といった厄介な問題も、商売を続けるにつれて背負い込むようになった。本来は簡単な命令しかなかったはずのRISCが、過去のプロセッサとの互換性を維持したり、新しい機能を追加したりする過程で、どんどんと複雑になってしまったのだ。

 そして、高速なキャッシュ・システムの設計や、大量に集積できる回路技術、高速な設計を可能にする高価な設計ツール、貪欲にお金を吸い込む高度なプロセス技術など、先に進むためには非常に多くのリソース(設計者や開発費用など)がかかるようになってきた。しかし、リソースがかかるからといって、高速化競争の速度が衰えたかというとそんなことはない。結局、大規模な設計にリソースをつぎ込めないプロセッサから脱落を余儀なくされることになったのだ。

 プロセッサの開発過程において、どれだけのリソースをどの時期につぎ込むべきか、という点は、さすがに前述の教科書では取り上げられていない。例えば、一方を最新のプロセスで作り、他方を数世代前のプロセスで作ったとしたら、前者にアーキテクチャ上の問題があったとしても、性能にしろ価格にしろ後者より圧倒的に有利である。当然ながら教科書は、公平な条件下で技術的要素のトレード・オフを論じていたわけだが、現実世界では極めて偏りのある「ハンデ戦」で争われていたのだ。
CISCの勝因は競争にある?

 このようなリソース競争になったというのは、実はCISC側からの反発だったという見方もできる。自らの世界に安住していたCISC陣営にとって、突然ワークステーションという新市場とともに参入してきたRISC陣営は、「騎馬民族が突然現れた」というくらいの衝撃的なできごとであっただろう。そしてRISCから流布された「CISCはRISCを追い越せない」という教義に愕然としたはずだ。あわててRISCに対抗手段を講じ始めたものの、最初はRISCに追いつけそうな雰囲気は全然なかった。「CISCはなくなる」と誰もが思い、実際に消滅していったCISCプロセッサも数多くあった。

 しかし、CISC陣営、というよりその代表としてのx86アーキテクチャ同士での競争が、その窮地を救うことになる。それは、当時勃発したIntel対互換プロセッサ陣営のx86戦争と、同時並行的に起こったPCの販売競争である。ビジネス面から法律面までありとあらゆる手段が飛び交ったこれらの争いによって、結局のところプロセッサでは高速性が、PCでは価格が焦点となったのである。競争のために、x86系プロセッサ・ベンダ各社はRISC側の技術も次々と取り入れて、高速化にひた走った。また、PCベンダは必死の価格競争を行った。当然、ここでもリソース競争が起こり、弱体な互換プロセッサ・ベンダは淘汰されていくことになった。ところが、もともとx86系プロセッサはPCという有望な市場を持っており、またこの時期に価格競争でPCの価格が低下したことなどにより、PC市場が急速に拡大したことが幸いした。IntelやAMDは、拡大中の市場から得た収益により、十分なリソースをつぎ込むことができたので、競争に勝ち残ることができた。いまのx86系プロセッサは、CISCの命令セットを残した上で、SIMD命令などを追加してさらに複雑化しているが、それでも内部アーキテクチャ的にはCISCよりRISC的な要素の方が多くなっている。実は現時点ではCISCもRISCも内部的には似た者同士になってしまったのである。
RISCの未来

 結局、CISC(正確にいえばx86系プロセッサ)は急速に高速化し、いまやその動作クロックは3GHzのレンジにまで達しようとしている。一方、RISC陣営は、ワークステーション市場の成長がそれほどでもなかったために、つぎ込むリソースの割に見返りが少なく、それなりの進歩は続けたもののx86系プロセッサに比べた開発ペースが遅く、速度面での優位を保てなくなってきてしまった。昔、Sun Microsystemsのワークステーション(SPARCstation)は、そのころのPCとは段違いの性能で、エンジニアリング分野で普及したが、いまやエンジニアリング用の既存設計資産(ソフトウェアや設計ノウハウなど)が残っているから使われているようなものだ。単純なコスト性能比なら、PCにLinuxを組み合わせたシステムの方が格段に優れているかもしれない。そのためか大手CAEツール・ベンダも、PC+Linuxに対応した新製品を投入するようになってきている。

 また、AppleもPC側が8088のころには68000、PC側が486の時代にPowerPCと、 常にPC側から一歩先んじた性能のプロセッサを使ってきたのに、いつのまにかPC側に追い抜かれて、いまや動作クロック比で2倍以上の開きがでてしまっている。カッコがいいのはデザインばかりである。

 とはいえ、RISCが全滅というわけでもない。それどころか組み込み用途では、いまやRISC全盛の時代である。ここまでの話はリソースがものをいう「コンピューティング」の世界のことで、「組み込み」世界のRISC陣営にはARMのような勝ち組もいる。ここでは単純な「高速化=リソース競争」とはまた違った競争原理が働いているのである。こちらの方が「Computer Architecture A Quantitative Approach」の理論をいまだに生かせる世界のように思えてならない。
Massa POP Izumida
日本では数少ないx86プロセッサのアーキテクト。某米国半導体メーカーで8bitと16bitの、日本のベンチャー企業でx86互換プロセッサの設計に従事する。その後、出版社の半導体事業部を経て、現在は某半導体メーカーでRISCプロセッサを中心とした開発を行っている。
 

関連リンク
Morgan Kaufmann
「Computer Architecture: A Quantitative Approach, Second Edition」の書籍紹介ページ
Morgan Kaufmann
「Computer Architecture: A Quantitative Approach, Third Edition」の書籍紹介ページ
日経BP書店
「コンピュータ・アーキテクチャ」の書籍紹介ページ
  

 
     
「連載:頭脳放談」


 




ゲストさん、こんにちは
ログインする | ヘルプ
プリンタ用表示
リンクをメール
会議室を見る/書く


・“先駆者”サンがRFIDに本腰、開発センターを本社に開設

・メインフレームを駆逐せよ! HPのオープン戦略

・電子メールアドレスを公開鍵にすると何がよくなる?

・ビジネスFlashの最右翼となれるか? Macromedia Flex

・新SPARC64搭載の富士通サーバをサンはどう見る?

・世界は「Convergence=変革と統合」に向かう、ノーテル

・7.1チャンネル・オーディオを可能にする新Pentium 4


ニュース一覧へ
-PR-
◆転職プランの立て方、教えます
7/16無料セミナー in丸の内

◆プロジェクトの度重なる仕様
変更に柔軟に対応する方法


@IT自分戦略研究所へ

-PR-
世界に通じるITエンジニアを
目指す第二新卒を期間限定募集
-------------------------
【無料】あなたに合った
最新の仕事情報をメール配信


-PR-
◆待望の1冊! XMLマスター
プロフェッショナル編

◆UMLモデリングを
業界第一人者が伝授!


@ITハイブックスへ

-PR-
◆.NET 企業内Webアプリ
開発技術書プレゼント


@ITクラブへ

-PR-
◆年齢学歴不問!テンアートニ
Webシステム開発PMを募集中

◆組込みLinuxを
真のリアルタイムOSに

◆もっと上をめざす
開発者のためのギルド

◆check!あなたのPC
本当はもっと速い!

◆ソフトウェア開発者へ贈る
セキュアなコードへの第一歩

◆顧客に提案ができる自立したエ
ンジニアになるには?

◆持ち込みPCなどによる脅威と
クライアント・セキュリティ

◆24時間365日無料サポート
レンタルサーバの有力候補

◆SPSS Data Mining Day 2004
詳細なイベントレポート公開

◆手軽に使えるASP型VPN
「GMOどこでもLAN」登場!

◆オブジェクト指向と業務コン
サルのその先にある技術とは?

◆組み込み開発の常識を変える
「intent」の衝撃!全容紹介


@IT FYIへ

 
   
 


@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

@IT [FYI] 注目記事
持ち込みPCなどによる脅威とクライアント・セキュリティ
組み込み開発の常識を変える「intent」の衝撃!全容紹介
手軽に使えるASP型VPN「GMOどこでもLAN」登場!


@IT 新着記事
XULとJSFでリッチクライアント 〜JSF編〜
それでも不正確なデータを受け取ったらどうするの?
VB.NETにおける継承とポリモーフィズム
Linux Tips
“書類選考NG”にもめげないモチベーションアップ法
Eclipseプラグインを作る(2)
NISサーバとパスワード同期機能(後編)
VBのモジュールはオブジェクト指向に不要?
TravelXMLのWebサービス実証実験デモが成功
Java TIPS
パフォーマンス向上の最短コースを知る
ASP/ASP.NETを支える周辺技術の移行

 次へ  前へ

Ψ空耳の丘Ψ35掲示板へ



フォローアップ:


 

 

 

  拍手はせず、拍手一覧を見る


★登録無しでコメント可能。今すぐ反映 通常 |動画・ツイッター等 |htmltag可(熟練者向)
タグCheck |タグに'だけを使っている場合のcheck |checkしない)(各説明

←ペンネーム新規登録ならチェック)
↓ペンネーム(2023/11/26から必須)

↓パスワード(ペンネームに必須)

(ペンネームとパスワードは初回使用で記録、次回以降にチェック。パスワードはメモすべし。)
↓画像認証
( 上画像文字を入力)
ルール確認&失敗対策
画像の URL (任意):
投稿コメント全ログ  コメント即時配信  スレ建て依頼  削除コメント確認方法
★阿修羅♪ http://www.asyura2.com/  since 1995
 題名には必ず「阿修羅さんへ」と記述してください。
掲示板,MLを含むこのサイトすべての
一切の引用、転載、リンクを許可いたします。確認メールは不要です。
引用元リンクを表示してください。