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)と呼ばれる新しい命令セットを提案した。
骨子は
──の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.
Special
PR