前回は1980年代後半から1990年代ごろのRISCの代表選手の一つ、MIPSの解説書でした。MIPS取り上げたのなら2大巨頭のもう一方を取りあげないわけにいかんでしょう。SPARCです。掘り出したご本はSPARCアーキテクチャに関する論文集です。これ1冊読めばSPARCの心が分かるとか分からんとか、誰が言った?
※『Literature Watch Returns (L.W.R.)』の投稿順 index はこちら
SPARC=The Scalable Processor Architecture
お惚け老人の今となっては怪しい記憶によれば、前回のMIPSよりもSPARCの方が、一歩(半歩?)登場が早かった気がします。SPARCプロセッサ自体は、UC Barkeleyで開発されたRISCを元にしてますが、ワークステーションベンダであるSUN社が実用化してます。今回掘り起こしたご本もSUN Microsystemsの本です。
なおSUNのSはStandord大のSであるはず。前回のMIPSプロセッサがStanford発祥で、そのMIPSを登載したグラフィクス・ワークステーションで一世を風靡したSGI社がやはりStanford発祥であったことと、ほとんど同時期であったことも考えると一つ穴のムジナ感?があります。ただし、SUNのSはStandordのSといいつつ、SPARCの起源はUC Barkeleyだし、SUNのOSはBSDベースであったので、UC Barkeleyの影響が「濃ゆい」感じがします。ビル・ジョイ先生のせい?
前回MIPS-RISC用のCHIPSETのプロモーションにお惚け老人も一枚噛んでいたことがあるけど売れなかったと書きましたが、実はMIPSのワークステーションは使っていた経験ありません(でも手元で実験できるMIPSベースのマイコンボードは持っている。)しかし、SPARCについては実体験があるのです。SUN-4ワークステーションね。1980年代末くらいにそのコスパで他を圧倒したマシンです。これがSPARC登載。当時はまだミニコン(DECのマイクロVAXとか)の時代の末期でしたが、SUN-4のコスパはダンチだったような遠い記憶。ただ今となってはSPARCできるボードなど手元には無いのだね。
しかしそのうちPCの性能向上がアカラサマになり。徐々にRISCワークステーションのコスパに陰りが現れたのか?SUN自体、オラクルに吸収されてしまい無くなってしまいました。それが十数年くらい前かと。
前回のMIPSにはNEC(後からToshiba)の日本勢がついてましたが、SPARCについては富士通が密に絡んできます。実際、このご本を紐解く?と、SUNのエンジニアにより1985年に富士通の20Kゲート、 1.5u CMOSゲートアレイ上で設計されたのが最初の実装だったみたいです。それが最初のSPARCプロセッサ富士通MB86900につながるみたい。MBナンバ、懐かし~。クロック速度は16.67MHzだったよし。まあ40年前だし。
しかし富士通はSUNの製造請負をするだけでなく、SPARCにコミットしつづけ、遂にはスパコン「京」の時代までSPARCを拡張しつづけたと。そういうことでいいですかね?それも今や昔。
レジスタ・ウインドウ
さてSPARCというと忘却力の老人がいまだに覚えているのが「レジスタ・ウインドウ」です。SPARCは命令セット的には32本のレジスタを一度に扱えるようになっていましたが、呼び出し側と呼び出され側でレジスタが自動でズレたものが見えるようになってました。最下位のレジスタ8本はグローバル(r[0]はゼロレジスタなので実質7本)ということでどのレベルからも見え、中ほどのr[16]-r[23]の8本がlocalsということで好き勝手に使え、その前後のouts r[8]-r[15]とins r[24]-r[31]の8本ずつが「重なる」。まあ、レジスタのセーブ、リストアをバタバタしなくてもハードが勝手にずらしてくれるっと。しかし内蔵できるレジスタには限りがあるので、端に来てしまったら結局バタバタするのでないの?何本のレジスタをチップ上に集積できるかは実装依存だそうです。手元にデータシートがあったFUJITSU MB86932、組み込み向け?SPARCliteでは、136ワードとなってました。グローバル8本+重なりありの8ウインドウ分ですな。
しかしどうなんだろうレジスタウインドウ?その後、レジスタウインドウ採用のマシンが登場してないことをみればこれまた一時の気の迷いか?知らんけど。