SSブログ

特集「実力を発揮してきたRISCアーキテクチャ」(月刊ASCII 1988年9月号6) [月刊アスキー廃棄(スクラップ)]

特集記事のスクラップ3回目は「実力を発揮してきたRISCアーキテクチャ」
ASCII1988(09)c07RISCアーキ_あおり_W520.jpg
前回のスクラップを読むと「実力」って「貧弱な実力」ではないか。それを発揮してもたかが知れている。「コンピュータソフト無ければただの箱」と言われてきたが「CPUもソフト無ければただの石」それに100万個売れなければ採算ベースに乗らないのも重大な欠点だ。
とは言ってもスクラップしてRISCのアーキテクチャの利点を味わう。

シンプルで高速なーアーキテクチャ
 RISC(Reduced Instruction Set Computer)は,非常に素朴な考え方から生まれたものである.
 いまから10年以上前のこと,コンピュトータの中では,実際にはどのようなことが起きているのかということに興味を持った人たちがいた.コンピュータの中で何が起こっているか?それは,CPUの命令セットと、オペレーティングシステムと,アプリケーションプログラムで書かれたとおりの動作をしているに決まっている.ところが,実際のプログラムの動作状況をさまざまな方法で観測していった結果,いくつもの貴重な事実が明らかになってきた.
 たとえば,プログラムによっては,サブルーチンのcall/returnが実行時間の50%にも達することがあるとか,実行にあたっての命令の出現頻度について,非常に頻繁に現れる命令は何か?滅多に実行されない命令はなにか?といったことなどである.
 こうした経緯の後,シンプルな命令セットによるアーキテクチャの方が,パフォーマンスが上げられるのではないかというアイディアが生まれたより具体的には,ほとんどの命令を1マシンサイクルで実行できないかということである(マシンサイクルとは,CPUの動作周期のことであり,従来のコンピュータでは1命令で数サイクル必要とする場合が多い).このためには,命令の数が少なく,命令そのものもシンプルな構成となっている必要がある.これを具体的に実現したものが,RISCアーキテクチャである.
 命令の数でいえば,代表的な32bitコンピュータであるVAX-11には,300以上もの命令があるのに対して,RISCでは,数十個の命令しか用意していない.また,命令そのものがシンプルな構成かどうかという点についていえば,命令フォーマットが限定されているかどうか,アドレッシングモードが限定されているかどうかということがあげられる.RISCでは,ほとんどすべての命令を同じサイズにしているし,演算はレジスタ間で行い,メモリのアクセスはロード/ストア命令に限定している.アドレッシングモードも単純で,8086のように煩雑ではない(図1).
 演算をレジスタで行うようにしていることは,レジスタの参照よりも時間のかかるメモリのアクセスをできるだけ避ける意味もある.このため,RISCの演算命令では,一般に2つのソースオペランドと1つの結果オペランドを持っているほか,call/returnなどの処理でも必ずしもメモリのアクセスが必要とならないように,レジスタ数を増やしている(図2).
 RISCアーキテクチャのCPUに比べれば,パーソナルコンピュータ用の8bitCPUなども,なお複雑な命令セットということになる.あるRISCプロセッサでは,掛け算命令さえ削除されている.これは,実際に実行される掛け算命令では,乗数の値が非常に小さいケースがほとんどであり,シフトと足算の組み合せで実現した方が,総合的にパフォーマンスが上がるからであるという.
 このように,命令の数を少なくし,さらにシンプルにしたことで,ワイヤードロジックで実現することも容易になる.通常マイクロプロセッサでは,命令がマイクロプログラムで記述されているが,ワイヤードロジックでは直接ハードウェア的に記述されているため実行が高速である.

ASCII1988(09)c07RISCアーキ_図1_W515.jpg
ASCII1988(09)c07RISCアーキ_図2_W515.jpg

RISCなのかCISCなのか?
 最初のRISCマシンは、1970年代の終りに,IBMのトーマス・J・ワトソン研究所で,高速な電子交換機を開発するための研究から生まれた.このコンピュータは,プロジェクトの進められていた建物の名前をとって801ミニコンピュータと名付けられた.このマシンは、すべての命令サイズが同一であり,すべての命令が1マシンサイクルで実行されるように設計されていた.また,その結果として,パイプライン処理がスムーズに行われることが強調されている.
 パイプラインとは,プロセッサ内部での命令の解釈と実行を並行して行うことである.ある命令の実行中には,次の命令の解釈が行われており,前の命令の実行が終ったら,ただちに次の命令を実行できることになる.最近のマイクロプロセッサでは,より高度なパイプライン化が行われている.パイプライン処理のスムーズな動きは,現在のRISCチップでも重要なテーマの1つである.
 RISCという言葉は,801ミニコンピュータの後,カリフォルニア大学バークレイ校で作られたRISCIというチップに由来する.このチップを開発したクラスのDavid A. Patterson教授とスタンフォード大学のJohn Hennessey教授が,RISCの概念を広めることに大きな貢献をした.学生に作らせたチップが,1978年に鳴り物入りでデビューしたスーパーミニコンピュータVAX-11/780を上回るパフォーマンスを実現しうるというニュースは,物議をかもした.また,スタンフォード大学で作られたMIPS(Multiprocessor without Interlocked Pipe Stages)チップは商用化され,Mips Computer Systems社へ移行する.
 そして,RISCアーキテクチャが従来のCISC(Complex Instruction Set Computer)よりも優れたものなのか,あるいは,現実的なものではないのかといった議論が展開されるわけである.本誌でも,86年9月号「コンピュータアーキテクチャに“シンプルイズベスト”は通用するか?/RISCコンピュータの構造と展望」などで紹介している.しかし,依然としてRISCに対して疑問視する向きもあるようだ.高速性についても,RISCにおけるMIPS(Mega Instructions Per Second:1MIPSは1秒間に100万命令実行できることを表す単位)は“Meaning-less Index Processor Speed"であるとか,“RISC-MIPS"という言葉も生まれている.
 早くからRISCアーキテクチャに積極的だったのは,Hewlett-Packard(以下HPと記す)社である.また,801ミニコンピュータを試作したIBMも1986年になってRTPCというRISCアーキテクチャを採用したワークステーションを発表している.しかしながら,HPのSpectrumやIBMがワークステーション分野に新規参入したことは、大きなニュースではあったが,RISCアーキテクチャそのものの実力を知らしめたともいえない.
 RISCが現在注目を集めるにいたっているのは,“スーパーマイクロ”と呼ばれるワークステーション市場の急速な展開と,モトローラ,インテル,AMDなどの大手チップメーカーが,相継いで高性能のRISCチップを発表したことによるものである.Sun Microsystems社(以下サンマイク口と記す)のSun-4ワークステーションは,SPARCというRISCチップの採用で10MIPSを発揮するという.これは,現在のスーパーミニコンピュータ以上のパフォーマンスを意味する.各メーカーは、数年のうちに50~100MIPSのRISCチップを開発するとアナウンスしている.

ASCII1988(09)c08RISCアーキ_写真1_W501.jpg

過去のスクラップは
---------------------------------------------------------
RISCコンピュータの構造と展望(1) 月刊ASCII 1986年9月号12) 
>参考にASCIIのWEBページにある大原雄介氏の「ロードマップでわかる!当世プロセッサー事情」
で記事を探して復習する。
RISCコンピュータの構造と展望(2) 月刊ASCII 1986年9月号13)

Spectrumのスクラップは
ヒューレットパッカード(月刊ASCII 1985年9月号7)
https://cooblog.blog.ss-blog.jp/2020-09-27
でも書いたが
Spectrum関係の記事をASCIIネットから探すと
ロードマップでわかる!当世プロセッサー事情 第527回 32bitプロセッサーの開発を続けたHP 業界に多大な影響を与えた現存メーカー
ロードマップでわかる!当世プロセッサー事情 第528回 ワークステーションをRISC設計に移行させたHP 業界に多大な影響を与えた現存メーカー
があった。

さてSpectrumでのRISC開発のこと
ASCII1985(09)c03海外企業研究HP08抜粋RISC_W355.jpg
この記事では疑問符が付いている。この記事は1985年であり、その後の歴史を見ると惨憺たるものだった。

ロードマップでわかる!当世プロセッサー事情 第528回 ワークステーションをRISC設計に移行させたHP 業界に多大な影響を与えた現存メーカー
>さてそのSpectrum、PA-RISCという名称で1986年に製品が発表された。SpectrumはPrecision Architectureと命名され、これを実装したRISCプロセッサーということでPA-RISCというわけだ。
>これは一応8MHzで動作したそうだが、よく8MHzで動いたなという気すらする。それでも出荷されれば面目は経ったのだろうが、上で書いた通り実際の出荷は1987年にずれこんだわけで、踏んだり蹴ったりではある。
ソフトウェアに問題があり 立ち上げると数分ごとにクラッシュ

開発は難航し、なんと1990年にやっと

ロードマップでわかる!当世プロセッサー事情 第529回 HPの命運を変えた第一世代PA-RISCの誕生 業界に多大な影響を与えた現存メーカー MOSベースのプロセッサー PCXの開発に成功

RISCの系譜はIntelまで続き
ロードマップでわかる!当世プロセッサー事情 第121回 CPU黒歴史 64bit CPU時代の主流になり損ねたMerced Itaniumの元となったHP PA RISCとは?
技術者の苦労が忍ばれる。

HP、Spectrumの発表を延期
パソコン業界関係(月刊ASCII 1986年4月号2)
ASCII1986(04)b07HP社Spectrum発売延期_W520.jpg
------------------------------------------------------------------
スクラップではRISCが失敗する記事だった。だが、ASCIIの記事ではそんなことはおくびも出さずRISCいいねの記事だった。

動きだしたRISCチップ
 RISCには,シンプルなアーキテクチャを追求した結果,ほかにも有利な点があらわれている.たとえば,チップ上の部品数は,CISCの場合に比較して大幅に少なくなり,製造コストを抑えられる.部品数が少なくなったことで,チップ上にMMU(メモリ管理ユニット)やキャッシュメモリ,FLU(浮動小数点演算ユニット)などの周辺回路を吸収してしまっているチップもある(図3).
 もちろん,RISCには何も問題がないというわけではない.一般にいわれている点としては,プログラムのサイズが長くなってしまうこと,高速なメモリが必要であること,そして,高度な最適化コンパイラが必要であることなどである(図4).さらには,従来のCPUとの互換性の問題もあり,HPのSpectrumでは,HP-300シリーズの従来機のエミュレーションも可能となっている.
 実験的に作られたRISCチップに比べ,最近になって商品として発表されたRISCチップは,RISCの特性を最大限に生かすための,さまざまな工夫がなされている.RISCの問題点といわれていたことを,なんらかの形で解消するようにしているといってよい.メモリの高速アクセスが可能なバスやキャッシュが採用されているものもあるし,高度な最適化コンパイラを用意したもの,分岐処理に対する特殊な機構が組み込まれているものもある.サンマイクロのSPARCプロジェクトでは実に80%のパワーが最適化コンパイラの開発にあてられたという.最適化コンパイラの仕事としては、レジスタを駆使した高効率なコードの生成などもあるが,パイプラインの動作がスムーズにはこぶための遅延分岐などが特徴的である(図5)。
 RISCアーキテクチャを採用したCPUは,多数発表されているが,今回は,サンマイクロのSPARC,モトローラの88000,AMDのAm29000の3つについて,その内容を見ていくことにする.

ASCII1988(09)c09RISCアーキ_図3_W501.jpg
ASCII1988(09)c09RISCアーキ_図4_W513.jpg
ASCII1988(09)c09RISCアーキ_図5_W520.jpg
先行きの暗いRISCだが、この記事では前途洋々の印象を与えている。


nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。