RISCの生い立ちからRISC-Vまでの遠い道のり
RISCムーブメントが「IBM以外」で起きた、その理由(2/3 ページ)
86年といえば、既にMIPS R2000を搭載したワークステーションが1万ドル未満で購入できた時期であり、高いわりに性能の低いIBM PC RTには誰も見向きもしなかった。当時、ROMPの後継プロセッサも水面下では検討していたようだが、結局実現しないままで消え行くことになる。
ROMPそのものの後継ではなく、ROMPのアーキテクチャを基に作り直したのがPOWERプロセッサだが、その最初のPOWER1の最初のバージョン(RIOS-1)が完成したのは90年(ちなみに10チップ構成)で、そこから改良を重ねつつ、最終的に1チップ構成になったRSC(RISC Single Chip)が登場するのは92年。既にこの時点でRISCチップとしては後発になってしまっていた。
さて、前回の記事の最後に示した論文が世の中に出たのは2000年のことであるが、これに先んじてIBMのフェローだったジョージ・ラディン博士は“The 801 Minicomputer”という論文を83年に公開している。ただ、RISCのムーブメントはこれと全く異なるところから出現した。直接的なきっかけは、81年にUC Berkeleyのデビッド・A・パターソン教授とカルロ・H・セクイン教授が共著で出した"RISC I:A Reduced Instruction Set VLSI Computer"(PDFへのリンク)という論文である。
基本的な考え方はIBM 801におけるジョン・コック博士と同じであるが、パターソン教授はDECのVAX-11やPDP-11、IBMのSystem/38やSystem/3、それにIntelのiAPX-432やi8086を対象として利用される命令の頻度を調査した結果、こうした従来型(これをCISC:Complex Instruction Set Architectureと名付けた)のCPUでも、実際に利用されている命令はごくわずかであり、その割に複雑なために設計に時間がかかったり、設計にエラーが入り込んだりするとした。そこでCISCの対比としてRISC(Reduced Set Instruction Set)と呼ばれる新しい命令セットを提案した。
骨子は
- (1)全ての命令は1cycleで実行される(というか、全ての命令は1cycleで実行できるように設計する)。これにより複雑な回路実装が不要になり、回路規模を小さくできる。
- (2)全ての命令サイズを一定にする。これにより(プリフェッチが簡単になるので)回路を単純化できる。
- (3)メモリへのアクセスはLoad/Store命令に限り、その他の命令はレジスタアクセスのみとする。これにより命令体系が単純化され、複雑なアドレッシングが不要になる。
- (4)高級言語(論文ではCとPascalが挙げられた)のサポートを考慮する。
──の4つで、論文では実際にこの命令を実装したRISC Iという(この時点では仮想の)プロセッサをベースに議論が行われた。実際(4)を除くとコック博士のIBM 801と非常に似通った結論になっていることが分かる。もっとも(1)については、実際のIBM 801はインプリメントの都合もあってここまで徹底はできていないが、これはRISC Iがまだ仮想のプロセッサだったからこそという話もある。
このRISC Iは32bitアドレスと、8/12/32bitのデータタイプのサポート、32bit固定長のレジスタ、それとごく限られた命令の組み合わせで実現されることを想定していた。
汎用レジスタは全部で32個(R0~R31)というあたりはIBM 801の初期バージョンと似ているが、R0レジスタをZero Register(常に値が0)に割り当てたあたりはちょっと異なる。またRegister Windowという概念を導入したのも新しい。これはProcedure Call(今で言えばFunction Call)を高速化するための技法で、昨今のRegister Renamingの元祖とでもいうべきものである。
RISC Iの場合、見かけ上32個のレジスタがあると書いたが、実際にはR0~R9がGlobal、R10~R15がLow、R16~R25がLocal、R26~R31がHighと4グループに分割されている。Globalはシステム全体で共通、LowはProcedure Callの際に呼び出し元がパラメータを格納し、Highは呼び出し先が結果などを格納する。そしてLocalはそれぞれが独自に利用してよいというエリアであるが、このエリアをRegister Windowのメカニズムを利用して自動的にSave/Restoreする(というか、呼び出し元と呼び出し先で、同じLocalを使っているように見えて、実際には異なる内部レジスタに割り当てる)というのがRegister Windowの仕組みである。
ちなみに論文によれば、レジスタを複数バンク持たせる実装は、例えばBBNのC/70などにも存在したらしいが、番号をオーバーラップさせる仕組みはない、としている。またIBM 801はBranch and Executeと呼ばれる仕組みを搭載していたが、RISC IもDelayed Jumpと呼ばれる仕組みを搭載している。
さて、論文ではこのRISC Iをシミュレーションした結果として、プログラムサイズそのものは60%前後増えるものの、処理速度は大幅に向上するとして論文を締めくくっている。
Copyright © ITmedia, Inc. All Rights Reserved.
RISCの生い立ちからRISC-Vまでの遠い道のり
IBM Power、MIPS、PA-RISC、SPARC、Alpha、Arm、そしてRISC-V。IT史に詳しい大原雄介さんが、現代のプロセッサにおいて重要なRISCプロセッサの歴史を追っていきます。
この記事の著者
関連記事
こんなメディアも見られています
ITmedia NEWSに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
SpecialPR
本日の新着記事
アクセスランキング
-
1
LINE、着せかえ表示問題を謝罪 希望者に返金へ
-
2
FANZA、成人向けAI創作・公開サービス「FANZAスタジオ」発表 先行体験は8月24日から
-
3
スマート給餌器で38時間の障害、ペットがご飯食べられず 飼い主の苦情殺到 「旅行中なのに」「猫が死んじゃう」
-
4
法務省、「ラヴ上等」とのタイアップ中止 「当初の意図を全うすることが難しい」
-
5
中国の動画サイト「bilibili」にグローバル版アプリ 日本でも配信開始 まずはAndroidから
-
6
Anthropic、8月末にもIPO申請書類を公開か 調達額はSpaceXの過去最大に匹敵と米報道
-
7
コードが書けない筆者が愛車用にアプリを2本自作 「AI製アプリで起業」の夢膨らむも、見えた有料化の壁
-
8
終了発表の縦読み漫画「comico」――元重課金ユーザーが振り返る「いつしか開かなくなった」理由
-
9
目指すは、日本発IPで海外売上20兆円 経産省が新戦略を発表 「ものがたり大国5カ年計画」
-
10
生成AI画像で“架空の女性”に成り済まして政治投稿か 立憲栃木県連の男性党員 一部報道
ITmedia NEWS SNS
インフォメーション
注目情報をチェック
ITmediaNEWSをフォロー
あなたにおすすめの記事PR