RISCプロセッサの興亡

 以降では,RISC系MPUの興亡史を簡単にまとめてみる.

● IBM801

 1975年,IBMは高級言語のプログラムを用いて既存のものよりも非常にコスト/パフォーマンスのよいシステムを提供するため,ハードウェア,OS,コンパイラを含めたコンピュータシステムの設計に着手した.その設計思想は,ほとんどの命令の処理は1クロックで終了するべきというものだった.これは,コンパイラが生成する命令コードは基本命令(ロード,ストア,分岐,比較,加算)ばかりであり,それらを高速化すれば全体の性能が向上するという根拠に基づく.その研究の結果生まれたのがIBM801である.しかし,なぜかIBMは1982年までその存在を公表しなかったという.

 IBM801の扱うデータ型はキャラクタ(バイト),ハーフワード,ワードの3種類で,アドレシングモードは「ベース+インデックス+オフセット」という単純なものだった.命令長は1ワード固定で,3オペランド演算を行った.また,当時は汎用レジスタの本数は16本が主流だったが,IBM801は32本のレジスタを備えていたのが特徴的である.IBM801はECLプロセスで製造され,決してVLSIと呼べる集積度ではなかったが,命令キャッシュなどRISCの特徴を備えており,後年のカリフォルニア大学バークレー校やスタンフォード大学のRISC研究に大きな影響を与えた.

 そのわりには,IBM自身はRISCの有効性に気付いていたとは言い難く,IBMがRISCに本格的に手を染めるのは,1992年のPowerPCになってからである.

● バークレーRISC I/RISC II

 カリフォルニア大学バークレー校のRISCの研究は,高級言語コンパイラが複雑な命令を有効に使えないという事実に着目することから始まった.プログラム実行時の命令の出現頻度,アドレッシングモード,変数の使われ方などの統計を採り,新しい命令セット設計の指針とした.この研究結果は,1980年に同大学のPattersonとDitzelによって初めてのRISCに関する論文『The Case for the Reduced Instruction Set Computer』として発表された.この論文は,シングルチップコンピュータに最適なアーキテクチャはRISCであると主張し,その理論をバークレー校の大学院生が実践したのがRISC IとRISC IIである.これらは当時のCISCよりも単純で,設計の労力も少なかったが,CISCに匹敵する性能を発揮していた.かくしてバークレーRISCは,後のARMやSPARCアーキテクチャの基礎となるのである.また,RISCという言葉はバークレー校によって初めて使用された.

 ちなみにDitzel氏といえば,Crusoeを開発したTransmetaの創業者としても有名である.RISCを提案した彼がCrusoeではVLIWを選択したところが興味深い.

● スタンフォードMIPS

 バークレーRISCと同時期,スタンフォード大学でもHennessyを中心にRISCの研究が行われていた.それは以前のRISCとは毛色が異なり,ハードウェアをできるだけ単純にして,レジスタの依存関係等の煩雑な処理は「リオーガナイザ」と呼ばれる再構成ソフトウェアで解決しようと試みた.パイプラインを効率的に動作させるためにハードウェアによるインターロックを許さず,ソフトウェアで命令の順序を並び替えて正常動作を保証する.

 このためスタンフォード大学のRISCは『Microprocessor without Interlocked Pipeline Stages(パイプラインステージがインターロックしないマイクロプロセッサ)』の頭文字を採ってMIPSと呼ばれた.もちろん,コンピュータの性能を示すMIPS(Million Instructions Per Second)との掛詞である.

 MIPSではハードウェアを簡単にするために,メモリアクセスはワードアクセスのみとし,バイト単位の操作が必要な場合は専用命令を使ってレジスタ上で処理する.また,汎用レジスタは16本だった.

 最初のMIPSプロセッサは実用的といえるものではなかった.しかし,スタンフォード大学の研究者たちは,その研究を推し進め,2Kバイトの内蔵命令キャッシュと256Kバイトの外付け混合キャッシュインターフェース,32本の汎用レジスタ,乗除算用の特殊レジスタ,ゼロレジスタ,5段パイプラインを特徴とするMIPS-Xというプロセッサを設計した.これは後のR2000とほぼ同じ構成であるが,分岐の遅延スロットが2命令である点が決定的に異なる.

● R2000以降のMIPS

 スタンフォードMIPSの研究成果を受けて,1984年にベンチャー企業のMIPS Computer Systems(現MIPS Technologies Inc.)が生まれ,R2000をはじめとする非常に高速なプロセッサファミリを世に送り出すことになる.これは,Hennessy教授の研究成果を誰も信じてくれなかったため,RISCで高性能を達成できることを実証するために自らMIPS社を創設したものである.

 1991年,MIPS社は世界初の64ビットMPUであるR4000を発表する.CPU,FPU,L1キャッシュ,L2キャッシュインターフェース,マルチプロセッサ機能を1チップに内蔵した画期的なものだった.

 MIPSのMPUは,それまでおもにSGI(Silicon Graphics Inc.)のGWS(Graphics Workstation)に採用されていたが,SGIは1992年にMIPS社を買収して超高性能なMPUの開発を行わせることになる.それがR10000をはじめとするハイエンドプロセッサシリーズである.R10000の開発と並行して,MIPS社はローエンドのR4200/R4300も開発している.R4300はNintendo64に採用されることを目的として開発されたMPUである.

 この頃になると,元MIPS社の開発メンバがスピンアウトしてQED(現PMC-Sierra),SandCraftといった新しい会社を設立し,MIPS社と独立にMIPSアーキテクチャのMPUを開発するようになった.

 そして1998年,SGIが自社のGWSのMPUとして将来的にIntelのIA-64プロセッサ(Itanium)を採用することを決定すると,MIPS社はライセンス管理とIPコアの販売を目的としてSGIから分社化される.分社化されたMIPS社は,それまでのMIPSアーキテクチャを,32ビットのMIPS32,64ビットのMIPS64として再整理した.そしてそのほかにも,特定分野向けにMIPSアーキテクチャの拡張を積極的に行うようになった.たとえば,組み込み制御用に16ビット長の命令でコード効率を上げるMIPS16,3次元グラフィックス用のMIPS-3D,スマートカードやJava用のSmartMIPS,ネットワークアプリケーション用拡張などを提唱している.

 現在では,SGI,MIPS社以外でも,独自にMIPSアーキテクチャのプロセッサを製造するようになっている.代表的なところでは,PMC-Sierra,IDT,NEC(VRシリーズ),東芝(TXシリーズ),Alchemy,SiByte(現在はBroadcomに買収された)がある.とくにAlchemyとSiByteは,DECでAlphaチップやStrongARMチップを開発していた技術者がスピンアウトして設立した会社である.いわば,他のアーキテクチャからの乗り換え組である.

 2002年2月,Alchemyはx86互換メーカーの老舗であるAMDに買収された.AlchemyはAu1000/Au1500というMPUで,400MHzで500mW,500MHzで900mWと,高動作周波数にもかかわらず低消費電力を達成していることで定評がある.IntelがStrongARMやXScaleでインターネットアクセス系の組み込み分野に進出しようとしているのに対抗する形である.IPコアの分野において,MIPSはARMよりもやや不利な状況にあったが,この買収劇でMIPS陣営が活気付くかもしれない.さらに2002年4月29日,AMDはMIPS64のライセンスを取得した.AlchemyはMIPS32のライセンスしかもってなかったが,これでAMDは思う存分MIPSチップを製造できる.

 2002年10月のMicroprocessorForumでは,Broadcomが1GHzのMIPS64コア(SB1)を1チップに4個内蔵するBCM1400を発表した.消費電力は,1GHz動作時に1チップ全体で25Wとかなり小さい.同フォーラムで東芝は,800MHz動作のTX99(Amethyst)をCPUコアとするSoCであるTMPR9961を発表した.CPUコアはMIPSでありながら,内部バスがARM系のAMBAバス(AHB)であることが興味深い.また同時期,NECはVR5500(コードネームSapphire)というCPUコアで800MHz動作を達成したと発表し,2003年には1GHz版の開発を完了すると発表した.PowerPCやx86系のMPUに対して周波数の向上が遅れていると酷評されることが多いMIPSアーキテクチャであるが,着実に動作周波数を上げてきている.

 現在,MIPS64系のIPコアは5Kのみとなり,20K(Ruby)と25Kf(Amethyst)が新しいロードマップからは消え失せている.これは,MIPS社がMIPS32アーキテクチャに注力しようという表れであろう.新しいプロセッサの24Kという名称は明らかに25K(Amethyst)の下位チップであることを強調するものである.スーパースカラではなくなったが,シングルパイプで動作周波数を向上させていくことで20Kや25Kの置き換えをねらったものであろう.東芝はMIPS社と共同でTX99(25Kf,Amethyst)の開発を行っていたが,梯子を外された格好である.

 これをもって,MIPS社はMIPSアーキテクチャを管理・維持していく求心力を失ったと見る向きもある.2003年5月にはSandCraft社も倒産しており,64ビットアーキテクチャ(MIPS64)を維持していくためには,NEC,東芝,MC-Sierra(QED),AMD(Alchemy),BroadCom(SiByte)の頑張りが期待される.しかし,MIPS社以外では,実際にフルスクラッチでCPUコアを開発しているのはAMDとBroadComとNECだけであり,MIPSアーキテクチャの衰退を伺わせる.

● ARM

 ARMの歴史は,英BBC教育チャネルによる教育用コンピュータプロジェクトに端を発する.このプロジェクトがAcorn Computerに発展した.1983年,Acorn社は英国で成功を収めていた6502を搭載したBBCコンピュータ(一般にはBeepとして知られている)の次機種用のMPUを探していたが,市場に出ていたMPUで満足のいくものがなかったため,Acorn社はMPUを自社開発することにした.しかし,MPU設計の経験が浅かったAcorn社は,少ない設計労力で良い設計をする必要があった.そこに現われたのがバークレーのRISC Iの論文であり,それを参考に,約18か月を費やしてMPUが設計された.これがAcorn RISC Machine,つまりARMである.

 ARMプロセッサは,当時PDA「Newton」を計画していたAppleの目にとまり,同機のCPUとして採用されることになった.これが契機となり,1990年にARMは,Apple,Acorn,VLSI Technologyの出資によって設立されたAdvanced RISC Machines社に移管された.そして,その3年後に「Newton」が発売された.

 ARMはARM7でヒットを飛ばし,ARM8,ARM9とアーキテクチャを開発していく.

 後年,ARM社はDEC(Digital Equipment Corporation)と共同でStrongARMを開発した.これは,高速動作を誇るDECのAlphaプロセッサの技術を応用して高い性能を引き出そうとするものである.ARMとしてはキャッシュ構成に初めてハーバードアーキテクチャを採用した.

 一方,StrongARM部門はIntel社に買収された.正確には,1997年にDEC社がIntelをAlphaの知的所有権侵害として提訴した際の和解条件の一環として,DEC社が半導体工場をIntelに売却したとき,工場と一緒にARMの製造権利が付いてきた.IntelにすればPC用MPU以外の組み込み制御分野への事業展開を図るための手駒をおまけ同然(?)に入手したわけである.この状況に面白くないのはARM社である.ARM社自体はARM9,ARM10と独自の製品展開を行っていくが,StrongARMに関しては口を閉ざして何も語らなかった.

 ARM社はARMの製造ライセンスを多くの半導体メーカーに与えているが,基本的に,ARMアーキテクチャの改造権はない(Motorolaには特別に改造権を与えているらしい?).ARM社の提供する設計情報をそのまま使用しなければならない.これが,ICE機能を含め,確固たる互換性を実現している.

 しかし,StrongARMを製造するIntelにはARM社の強制力はない.Intelは独自にStrongARMを改造して,より高速,より低消費電力なStrongARM2(後にXScaleとして発表された)を開発してしまった.しかしXScale登場当初は,バグが直らず散々だったようだ.

 そして2001年7月30日,ARM社は次世代のプロセッサアーキテクチャ「v6」をIntelとTexas Instruments(TI)にライセンスすると発表した.ARMとIntelは不仲だったはずでは? しかし,Palmが次期OS用のデバイスとしてARMアーキテクチャを採用するにあたり,Intel,TI,Motorolaと提携することを表明したのを契機に和解したのかもしれない(真相は不明).XScaleの(バグや性能が低いという)評判を受けて,ARM社がXScaleを脅威に感じなくなったせいというのは穿ち過ぎか.

 別の情報筋によれば,IntelはもともとARMアーキテクチャをカスタマイズする権利を有していたという.今回契約を拡大し,「v6」だけでなく,ARM7,ARM9,ARM10のコアにアクセスする権利を得たという.ARMとIntelの不仲説は幻想だったのかもしれない.実際,いつの間にかXScaleの命令セットはARM v5TE互換ということになっている.これはXScaleも純粋なARMの系譜であることを強調するものである.現状,StrongARMとXScaleがARMのWebサイトに載っていることを思うと感慨深い.

 2002年4月29日,ARMはEmbedded Processor ForumでARM11コアを発表した.これは,v6アーキテクチャに基づく最初の製品となり,2002年第4四半期にライセンスを開始するという.XScaleをARMの一員と認めつつも,ARM本家の意地にかけて,より高性能のMPUをぶつけてきたというところか.

● i860

 i860は1986年に開発が着手された.1988年の半導体技術を考えると,100万トランジスタを1チップに集積できるとし,x86とは異なる新しいアーキテクチャを提供する目的で開発された.結果,I386+80387の性能を上回る高性能を実現することができ,従来のスーパーコンピュータやミニコンが提供していた科学技術計算や各種のシミュレーションをより小型で安価なシステムで実現できた.

 i860/i960は,現在でもDSPの代用品やRAID用のプロセッサとして生き残っている.

● 88000

 EWS用のMPUがRISCに傾き始めると,Motorolaもその風潮に迎合した.1988年から88000の出荷を開始した.当時のMotorolaの副社長は「混乱した32ビットプロセッサの競争で生き残ったのはIntelとMotorolaだ.RISCも同様だ」と自身満々のコメントを出していた.

 88000とは,CPUであるMC88100とキャッシュとMMUを内蔵するMC88200というチップの総称である.コードユニット,データユニット,整数ユニット,FPU(加減乗除と変換用の二つ)の計五つのユニットが各自パイプラインで並行動作するという意味で,スーパースカラのはしりである.1988年に発表された.MC88100は比較結果を反映させる条件コードレジスタをもっていない.比較命令は,ほかの演算命令と同じく,3オペランド命令で,比較結果をデスティネーションレジスタに格納する.条件分岐命令はこのレジスタの値に基づいて分岐する.この構成により,比較命令と条件分岐命令間の命令を自由にスケジューリング(入れ替え)できる.条件コードを使用しないこの方式は,MIPSをはじめとする多くのRISCで採用されている.

 88000の売れ行きは,最初は好調だったが,徐々に翳りを見せていった.88000の失敗の原因はいくつかあるが,最大の原因はIntelのi486対抗の68040と並行して開発をしたため,リソース不足となり次機種の開発が大幅に遅れてしまったことである.実際,88000と68040そのものも開発が遅れた.

● SPARC

 SPARCとは『Scalable Processor ARChitecture(拡張性のあるアーキテクチャ)』を意味する.それ自体は命令セット,アドレシング,MMUのソフトウェアのみの規格であり,実装は半導体メーカーにまかされている.

 現在のSPARCは,バークレーRISCの研究成果を基に1992年にSun Microsystemsが自社のEWSであるSUN4用のMPUのアーキテクチャとして提唱し開発したものである.その仕様はオープンアーキテクチャとしてSPARCインタナショナル社によって管理されている.そのメンバにはSunのほかに,富士通,TI(Texas Instruments),LSI Logic,Rossなどが所属し,各社独自にSPARCチップの開発を行っている.

 SPARCにはいくつかのバージョンがあり,最新バージョンは9である.バージョン9は64ビットアーキテクチャだが,(少し前の)典型的なSPARCチップは32ビットアーキテクチャのバージョン7または8に基づいている.

 2001年ごろから,Sun OS(Solaris)の64ビット化が急速に進行中で,MPUもバージョン9を実装するUltraSPARC IIIの750MHz品を搭載したマシンがSunの稼ぎ頭になってきた(なお,UltraSPARCシリーズの製造はTIが担当している).またサーバやEWS分野だけでなく,組み込み向け分野では,低消費電力版SPARCとしてSPARCLite(富士通)などもシェアをもっている.

 SunはIA-64のItaniumをライバルと考えている節がある.しかしIA-64同様,実際の製品出荷は発表したロードマップからは遅れぎみだ.Sunでは,現在,別々の開発チームがUltraSPARC IVとUltraSPARC Vの開発に従事している.UltraSPARC Vの動作周波数は1.5GHzを匂わせているが,1GHz動作のUltraSPARC VIも出荷されてない現状では,まだ海のものとも山のものともわからない.

● Am29000

 AMD(Advanced Micro Devices)は,いまやIntelの最大のライバルであるx86互換MPUメーカーである.しかし,昔はIntelの8080A,8086,80386やZilogのZ8000のセカンドソースを製造する会社というイメージがあり,オリジナルなMPUには注力してなかった.

 唯一,1978年に発表されたビットスライス型のAm2901ファミリがあった程度である.これらはコンピュータや専用制御回路を作成するためのLSI群だった.たとえば,Am2901は4ビットALUやレジスタを含むLSIであり,8ビットプロセッサでは2個,16ビットプロセッサでは4個を組み合わせて使用する.

 そのAMDが,1987年に突如,オリジナルな1チップRISC型MPUを発表した.それが,バークレーRISCの流れを受け継ぐAm29000である.これは,同じバークレーRISCの流れを継ぐSPARCと同時期である.CISCでいえば,Intelの80386やMotorolaの68030と同世代である.

 Am29000の特徴といえば,192個という大量の32ビット汎用レジスタである.これが,SPARCと同様のレジスタウィンドウ方式で使用され,64本がグローバルレジスタ,残りがスタックキャッシュとなる(SPARCのグローバルレジスタは8本).命令体系は3オペランド形式で,分岐遅延スロットをもつ.この時期のRISCと同様に,乗除算命令はもっていないが,乗除算処理の1ステップ分を実行する命令が用意されている.これもSPARCとよく似ている.Am29000は4ステージパイプラインのスーパースカラ構造を採る.また,浮動小数点演算を行うためにはコプロセッサのAm29027が必要である.

 Am29000の命令セットの特徴として,この時期のRISCには珍しく,CISCと同様なビット操作命令とビットフィールド命令をもつ.

 Am29000は,EWSというよりも組み込み制御向けに使われたので,同時期のRISC系MPUの中では出荷数が多い.しかし組み込み分野でも,徐々にMIPSやSPARC系のMPUに押されはじめたAm29000は,1995年,突如「終了宣言」が出された.登場も突如だったが,終焉も突如だった.

 以後,AMDはAm29000の技術を応用してK5を開発し,より利益の見込めるx86互換ビジネスへ注力するようになる.

● Transputer

 かつて一世を風靡したTransputerは,英国INMOS社が設計した,マルチプロセッサシステムの構築を容易にするMPUである.INMOSは,1978年に英国の国策会社として設立された.設立初期はRAMを開発していたが,1980年に最初のTransputerを開発した.Transputerは,TransistorとComputerを併せた造語である.INMOSは1984年に民営化されている.1987年にはSGS-Thomson Microelectronics(現在のST Microelectronics)に買収されている.

 INMOSは,1978年にOxford大学のCharles Antony Hoare博士によって提唱されたCommunicating Sequential Processes (CSP)理論に基づいて,Occamというコンピュータ言語を開発した.Transputerは,このOccamのプログラムを実行させるために開発され,その後の並列コンピュータの実用化に多大な影響を与えた.

 Transputerは単純さを第一として開発された.たとえば,レジスタは3個しかなく(このほかに,FPUに3個,命令ポインタ,ワークスペースポインタ,オペランドレジスタの計9本がある),命令セットも単純である.内部的にはスタックアークテクチャに基づいたRISCである.

 Transputerは最大4チャネルの双方向シリアルリンクをもち,これをほかのTransputerのシリアルリンクと上下左右に結合することで,並列的なネットワークシステムを構築できる.ネットワーク形態には,相互通信,パイプライン,ツリー,2次元格子,ハイパーキューブなどがある.このシリアルリンクとチップ内のメモリはDMAで通信される.

 Transputerの最上位版であるT9000は1991年に発表された.T9000は,最高50MHzで動作し,8命令を同時実行するスーパースカラである.一説によると,このT9000の開発がうまくいかなかったため,Transputerのラインが途絶えてしまったという.

 Transputer自体は簡単に並列システムが構成されるために,大学などの研究機関で多用されていた.しかし,通常のMPUでマルチプロセッサ構成が常識になっている現在では,その存在を知る人は少ない.

● 60xからG4までのPowerPC

 PowerPCとは,IBMが大型計算機用に設計したPOWER(Performance Optimized With Enhanced RISC)アーキテクチャを1チップで実現するものである.本来はIBMのEWSであるRISC System/6000(RS/6000)のアーキテクチャを基にしている.RS/6000は科学計算を前提として設計されたが,PowerPCはノートPC,組み込みコントローラ,高性能科学計算用およびGWS(Graphics Work Station),マルチプロセッサ構成のメインフレームなどに対象を拡げた.

 RS/6000は7〜9の複数チップから構成されたが,PowerPCでは1チップの実装に適するように命令の削除,追加が行われている.とくに使用頻度が低く,IPCを上げにくい命令は削除または簡潔化されている.追加命令は整数や浮動小数点の演算系に多い.

 PowerPCは発表当時,RISCの中でも豊富な命令を備えた「Rich RISC」と呼ばれ,(今ではありふれているが)積和命令やレジスタ値に依存した分岐命令,OS専用命令が注目を浴びた.後々高性能化の妨げになるので遅延分岐は採用しないといったのは有名である.

 1991年7月にApple,IBM,MotorolaがPowerPCに関して提携し,IBMとMotorolaが製造するMPUをIBMやAppleが自社のPCに採用することを決めた.IBMとAppleは,IntelとMicrosoftの寡占状態にあるPC分野において,新しいPCだけでなく情報機器の世界標準を作ろうと画策して,Motorolaを巻き込んだ形で提携を成立させた.Apple,IBM,Motorolaの連合は各社の頭文字を取ってAIM連合(後にはPowerPC連合)とよばれるようになった.AIM連合の成立から約1年後,1992年の6月にはテキサス州のオースチンにSomersetという研究所が設立されて本格的な開発が始まった.

 1992年12月,IBMはすでに最初のPowerPCアーキテクチャのMPUとして,PowerPC601を開発していた.Somersetの最初の仕事はPowerPC601のシュリンク版の開発である.それは1994年に登場した.IBMの公式資料によれば,まず,POWERを1チップ化したRSCというMPUがあり,それを基にPowerPC601が開発されたとある.このあたりの事情は不透明である.その後,IBMとMotorolaは,PowerPC601に引き続いて,第2世代(G2)のPowerPC603/604/620をを開発することになる.

 当初,Somersetでの製品開発は非常に順調に行っているように見えた.PowerPC連合は次期PCの標準仕様としてPReP(PowerPC Reference Platform)やCHRP(Common Hardware Reference Platform)という規格を制定して,PowerPCの市場への浸透を図った.1996年にはPC向けにPowerPC603eとPowerPC604e(604の1次キャッシュ倍増版)が発表され,Macintoshの68000系からPowerPCへの完全移行も発表された.そして,1997年に開発コードネームArthurと呼ばれていたPowerPC750(G3)が登場すると,MacintoshもPowerPC603/604からPowerPC750に移行していった.

 しかし,PowerPC連合の蜜月時代は長くは続かなかった.AppleがIBMの意向を無視してPowerPCをApple(Macintosh)に特化しすぎたため,IBMはMotorolaとの共同開発から撤退してそれぞれ独自のPowerPC路線を構築することになる.具体的には,性能向上のためのAltiVecの仕様をめぐる意見の対立が原因といわれている.また,MicrosoftがWindows NTでのPowerPCのサポートを途中で放棄したことも一因であろう.

 その後,AppleとMotorolaは,1999年8月に,第4世代に相当するPowerPC G4(MPC7400)を発表した.これはPowerPC740/750に,結局はMotorolaが開発した,マルチメディア用SIMD命令であるAlti

Vecを実装した製品である.G3,G4はMotorolaが開発したPower

PC603をコアとした派生品であり,どれも最大2命令(+AltiVec)同時発行,最大3命令同時実行のスーパースカラということになっている.

● Power4とPowePC970

 IBMにはPowerPCとは別のロードマップとしてサーバ向けのラインナップとして,Power1,Power2,Power3がある.これらはPowerPCを,より性能が出るように,SMP(Symmetric Multi-processor System)対応に改造したものである(Power1はPowerPC601と同一という話もあるが).IBMの大型計算機であるRS/6000シリーズの開発チームによって独自に開発された.しかし,これらのチップとそれを搭載したサーバは,動作周波数が他社に比べて劣るため,市場でのシェアを徐々に失っていった.

 Power4はそのような状況を打破するために開発された.Power4は,命令セット以外は,それ以前のPowerチップとは別物である.高速クロック技術は637MHzを実現したPowerPCの開発チームが担当した.高速バス技術,パッケージ技術も,それぞれIBM内の専門家チームが担当した.システム設計はRS/6000チームが担当した.CPUコアはPower3の技術者とSomersetの残留組が担当した.このように,その時点でのIBMがもてる最高技術を注ぎ込んで開発された.

 2002年10月14日,Microprocessor Forumに先立ち,Power4を基にしたPowerPCであるPowerPC970が正式に発表された.1.8GHzで動作し,32ビットだけでなく64ビットアプリケーションの実行が可能である.さらにSMPをサポートする.Power4との最大の違いはCPUコアを一つしか内蔵しないこと,CPUコアの動作周波数が1.8GHzに引き上げられたことである(Power4は1.3GHz).ベクタ命令に関しては,プレスリリースでは,単にSIMD命令をサポートするとなっている.

 そして2003年6月23日,AppleはPowerMac G5を世界最高速で世界初の64ビットPCとして発表した.プレスリリースによれば,CPU(PowerPC G5)はAppleとIBMの共同開発となっているので,PowerPC970と考えて間違いない.G4のAltiVecをめぐって一度は袂を分かったAppleとIBMだが,なかなかクロックの上がらないMotorolaのG4にしびれを切らせたAppleが,IBMとよりを戻したといったところか.

● PA-RISC

 PA-RISC(Precision Architecture RISC)とはHP社のEWSであるHP9000シリーズのアーキテクチャであり,EWSの分野ではかなりの実績をもつ.それでいて,ビット操作命令,ビットフィールド命令,独自機能をサポートするSFU(Special Function Unit)を有し,組み込み制御分野にも適している.事実,1991年に発表されたHD69010(PA/10)は,EWSだけでなく組み込み分野の応用も見込んでいた.

 PA-RISCのアーキテクチャは,HPと契約を結んだメーカーにしか公表されていないので詳細は長らく不明だった(現在は,その概要をHPのサイトで知ることができる).ただ,初期のPA-RISCではメモリアクセスを非常に高速にし,その代わりL2キャッシュを使用しないことを公言していた.メモリアクセスが十分高速なら容量に制限のあるL2キャッシュは意味がないというわけである.この思想が現在も生きているか否かは不明だが,メモリアクセスを高速化したければ,DRAMでなく(高価でも)SRAMを使えという主張は核心を突いているかもしれない.

 1998年に発表されたPA-8500では,巨大な4ウェイのL1キャッシュ(命令0.5Mバイト,データ1Mバイト)を内蔵している.2001年に発表されたPA-8700に至っては,命令0.75Mバイト,データ1.5Mバイトと超巨大なL1キャッシュを内蔵する.これはチップ面積の3/4以上を占め,MPUではなくSDRAMチップと揶揄する声もあるとか.ただし,相変わらず,L2キャッシュはサポートしない.PA-8700は800MHz以上で動作する.

以降の内容は本誌を参照ください

インデックス
RISCはCISCに対するアンチテーゼ!...
◆RISCプロセッサの興亡

今月号特集トップページへ戻る


Copyright 2003 中森 章