Tales of Mados & Ringos / 真・窓と林檎の物語
トップ窓と林檎 → 動きの速い…2 1997.09.08

--------------------------
真・窓と林檎の物語
--------------------------

動きの速い幼稚園児・完全版
The Director's Cut

〜後編〜

  巷のチップはみな幼稚園児なRISCへせっせと向かっていることは前回述べた。 で、今回はた〜くさんの技術的な事柄が出て来るから心して読むように。

  しかしまた、どうしてみんなが幼稚園児を目指すようになったのか、 どうして一昔前までは大学生がもてはやされていたのか? それにはいくつかの原因があるが、 まずメモリの速度が向上したことがあげられる。 以前は、記憶素子は中央で計算するチップに比べて非常に低速 (というか、一回アクセスすると次のアクセスまですごく待たされる)であった。 そのため、命令の密度を出来る限り濃くする(=命令数を増やし、機能をひたすら拡張する)方向に進み、「よっこらせ!」と難儀をして取って来た中身の濃い命令を次のメモリアクセスまでにひたすらちまちまと解釈・実行するのが基本スタイルとなっていた。 メモリアクセスが頻繁にできないので、複雑で時間のかかる命令を「うりゃー」と実行しておればいいという、平穏無事な時代であった。 が、時は流れて、キャッシュが複数段になったりして記憶素子もなかなかの速度で動作するようになって来た。 そうなるとメモリ速度と命令の密度の関係が変化し始め、 「メモリにはもうアクセスできるのに、命令が複雑すぎて実行の方はまだ終らん」という状態が多発するようになった。 それならば、ということで命令の密度を下げて(専門用語で「粒度を下げる」という)処理時間を短くし、 速くなったメモリ速度に合わせてみようというアプローチがとられ始めた。 実際、複雑な命令をちんたら実行するより、 簡単な命令を猛スピードでブン回して複雑なことを実行させる方が結局は速いことが太陽の火花を散らすマシンで徹底的に証明されてしまった。

  が、この話には伏線がある。 実は、昔から大学生型のチップにおいても複雑な命令は実行されるときに内部で分割され、ちまちまと処理されていたのだ。 このような方式をマイクロプログラム方式と呼んでいる。 複雑な命令とはいっても部分的によく使う処理はそのようなマイクロプログラムになってチップ内部に構成されていたのであった。 それらを組み合わせてチップそのものの命令(=プログラマが扱う命令)が構成されていたのだ(もちろん、一般の人にはそのような内部構造はわからんようになっとるが)。 メモリ速度が向上するにつれて、このようなマイクロプログラムを直接に実行したほうが自由度も高いし、いろいろと細かいところが制御できて 「実は結構いいんではないか?」ということがわかってきたのであった。 で、実際にやってみればチップ設計は容易ですぐ製造に移せるし、 うそのような驚異的な処理速度が実現できたのであった。

  そして、このようなパラダイムの移行を助ける変化がソフトウェアの側でも進んでいた。 プログラミングとは、 従来なら機械語と呼ばれる非常に難解な言語を魔術師のように操り、 コンピュータと一対一でコミュニケーションを取る異能者のような才能が必要であったが、 いわゆる「高級言語」の発達により、 より日常に近い思考のもとにプログラミングできるようになっていった。 もちろん、ソフトウェアである高級言語のコンパイラ(翻訳コンニャクみたいなもんだ)より、 人間である異能者の方がチップの能力を極限まで引き出すことが可能だが、 人件費と人材不足により、そのような無形文化財のごとき才能は残念ながら地下に埋もれてしまった。

  まるでいいことづくめのような幼稚園児型チップだが、一つだけ欠点がある。 それは上にも書いたように、大学生に比べて命令の密度が低いことだ。 密度が低いということは裏返すと、 同じ事をするプログラムのサイズが大学生に比べて大きくなってしまうということである。 これは限られたメモリ空間のマシンでは致命的になることも有り得る。 が、実際のところ、そんな状況は皆無に等しい。 メモリ素子の価格を考えてもみるのだ。 この2年でメモリ価格は10分の1に近い下落を記録している。 こんな状況で「より少ないメモリで動く」などとがんばってみたところで、 豚の鼻毛ほどの価値もない風前の灯火なのは明らかであろう。

  ここまで来て、読者の方々はある疑問をお持ちであろう。 そう、「ではなぜ、大学生型チップの総本山、陰照の八六系チップがいまだ生き残っているのか?」と。 その答えは基本的には「馬鹿力方式」である。 世界中にチップをばらまいて得た有り余る金を湯水のように設計・開発につぎ込んで、 鬼のように強引に性能向上を図っているのだ。 さらには幼稚園児的な手法をも数多く自社のチップに取り入れて、 チップの世代が変わる毎に確実に性能を向上させて来た。 また、逆に現在では幼稚園児メーカーの中にも、 ちょっとずつ命令を増やしてみたりしてしまいにはなんだかよくわからない中学生みたいなチップをつくり出すメーカーさえ増えて来ている。 が、基本的に、全体の方向性として幼稚園児へと向かうことはあっても、 今さら大学生を目指すことはかなりタコであるからして、まずあり得ない話である。

  実際、陰照の互換チップを作っている「先進的微小装置」なる会社ではその罫六なるチップで、大学生のふりした幼稚園児をたくさん雇っておいて内部でシコシコと処理をさせているという話もある。 当の陰照にしても、Pentium以降は複媒体拡張などという変化球で話題をさらうのが精一杯で、 少し速いチップを開発してみたはいいものの、 チップサイズがデカくなりすぎてちっとも安くならない。 実際、PentiumからPentiumProへの移行は「世代が進んだのになぜか遅くなった」部分があるのをさらけだし、予想外の失敗を経験してしまった。 それに、最近は互換チップメーカが何社も乱入してきて、 陰照はじわじわとシェアを落としつつある。 思い切ってチップの価格を下げて対抗してみたが、 思いのほか儲けが減って毎夜哀しい思いで床についてるそうな。

  陰照社の命運を賭けた期待の次世代チップは結局自分達では作り切れないと判断し、 単系で有名なHP社と仲良く開発を進めて行こうと決めた。 これにはVLIWという未来の技術を混ぜて行こうとしているらしい。 が、その時で陰照は始めて「互換性」という言葉を怨みたくなるに違いない。 そしてPentiumProの時以上の大きな失敗をする可能性も否定できない。

  米の国の宇宙船が始めて人類を月に送り込んだ時、 その月着陸船のコンピュータの能力は初代ファミコン程度であったと言われている。 それほど、この世界は目まぐるしい進化の激流のまっただ中にいる。 そして、その未来には、VLIWというパラダイムが控えている。 これはいずれ「100万人の公衆便所」という題で取り上げる予定なので、 期待して待っておるのじゃぞ。 その前にあちこちの公衆便所をチェックしてそのシステムについて十分に熟知しておくようにな。もちろん、用を足したら手を洗うことも忘れずにな。

written by

窓と林檎 | 日々是考難(blog) | トップ