集積化の時代 コンピュータにとって第2の転機は,1959年に訪れた.テキサス・インスツルメントのジャック・キルビー(Jack Killbey)とインテルの創始者の一人であるロバート・ノイス(Robert Noyce)が,シリコンウエハ上に抵抗やコンデンサを作るというアイデアを実現させたからだ.これがIC(集積回路)の誕生である.それまでは構成要素が独立した多くの部品であったため,それらを接続する困難さが生じる.それならば,いっそのこと,一つのチップに構成要素を作り込んでやれば接続の手間が省けるばかりでなく,非常に小型化できるというのがその基本的なアイデアである.もちろん,思い付きだけでICが製造できるわけではないが,とにかく,数々の製造上の困難を乗り越えた奇跡のチップとしてICが誕生した. そして,ICが登場してから10年後の1969年,人類は月面上に小さいけれど人類にとっては大きな一歩を印すことができるようになった.あのアポロ計画である.しかし,合理的なアメリカ人が道楽(?!)で月まで行くわけはない.その背後に,宇宙の軍事利用という暗い影を宿していたことは厳然たる事実である.しかし,その技術が民間用に転換されてきて,われわれ一般人もその恩恵に預かることができたのは一筋の光明かもしれない.ICの初めての応用例は補聴器だったというし,ICがなければ現在のように信頼性の高いテレビ,ビデオ,DVDプレーヤなどのAV機器を手にすることもなかったはずである.
マイクロプロセッサの鼓動 マイクロコンピュータのMPU,すなわちマイクロプロセッサの誕生には日本が大きく関わっている.なぜなら,マイクロプロセッサの物語は東京に端を発するからである. 1968年,日本の事務機器メーカーであるビジコン社は画期的なプリンタ付き電卓を作った.この電卓はプログラムをROMから読み出して実行するという,現在のコンピュータに近い形式を採用していた.しかも,この電卓はROMの内容を変更するだけでまったく別の電卓を作ることができるようになっていた. 1969年に入ると,電卓の高性能化,多様化,低価格化,高信頼化などの要請から,電卓をLSI化する計画が生まれた.しかし悲しいかな,日本には電卓程度の複雑さをもつ回路をLSI化する技術すらなかった.そこでビジコンは,インテルに援助を求めた.そのときインテルは,ビジコン側の示すLSIの規模が他社の電卓用LSIに比べて大きい(約16個の異なるチップを使用する)ので商売にならないと判断し,代わりに4ビットのMPUというアイデアを提示してきた(本音はチップ1個分の開発コストしかなかった).これは,電卓のプログラムに使われていた命令をもっと低レベルの機械語レベルに引き下げて,汎用性をもったLSIをねらったものである.ビジコンはもともとプログラム方式の電卓を作っていた経験から,この新しいアイデアをすんなりと受け入れることができた.結果としてビジコンとインテルの折衷案で,世界初の4ビットMPUが作られることになったという. 電卓用のLSIに見られるように,当時のLSIの多くはカスタムデザイン(固有の目的のための設計)によって作られていた.特殊な目的をもったLSIを数多く短期間に製造していくためには,プログラム可能な汎用LSIというアプローチは非常に有用な解答だった.これがゆくゆくは「部品としてのコンピュータ」という市場を産んでいくことになる. 今ではインテルの主要製品となっているMPUであるが,当初インテルの幹部はその将来性に気付いてなかった.電卓の部品という認識で,メモリ事業が主体のインテルにとってはサイドビジネスの一環でしかなかった.MPUがインテルの未来をもたらす存在であることに気付くのは,発表から15年くらい経った後だという. インテルが4004の所有権をもつようになるのは,積極的な理由からではなかった.4004の開発中に電卓事業が不振になり,ビジコン側が契約料の大幅値下げを要求してきた.インテルは,電卓市場以外での4004の外販権を無料で提供することを条件に,その要求を飲んだ. かくして,1971年11月15日,インテルは4004を世界初のマイクロプロセッサとして発表した.これがマイクロプロセッサの誕生である.当時のインテルの最高経営責任者は,「人類史上でもっとも革命的な製品の一つ」とコメントしたらしい.しかし,多くの人々は4004のコンセプトを理解できず,インテルを脅威と思う者はほとんどいなかった.革新的なものの最初は,おしなべてこんなものかもしれない.
4004は750KHzのクロックで動作し,1命令の実行には最低8クロック必要だった.これは,1クロック実行が当然の,現在のRISC技術から見れば隔世の感がある.4004のクロックに関しては,インテルの公式資料では108KHzとなっているが,これは誤りである.4004のニュースリリースで命令の実行速度が10.8μsとなっていたのを勘違いしたものと思われる.この後に登場する8008の動作周波数も200KHzとなっている文献が多いが,500KHzの誤りである. マイクロプロセッサの展開 1972年4月1日,インテルは4004のアーキテクチャを拡張して8ビットデータ(文字データ)を扱えるようにした8ビットMPUの8008を発表した.動作周波数は500KHzだった(後に800KHz品も開発される).8008はテキサスの端末メーカーであるデータポイント社からの受注である.しかし,データポイント社が契約料を払えなかったため,インテルは8008の命令セットの使用権とチップの外販権を獲得する.のちのx86命令セットの萌芽である. 8008は4004の後継と説明されることが多いが,4004の開発中にその技術者を引き抜いて開発したという.その意味で4004と同世代の兄弟チップである. そして1974年,8008の改良版である,同じ8ビットMPUの8080が発表されるにあたって,マイクロプロセッサが本格的に市場に受け入れられるようになった.そして人々は,マイクロプロセッサによって多くの製品に知能を与えることができると考え,無数の新しい応用を夢に描いていった. 約55年前,部屋いっぱいの設置場所と機関車並みの電力を必要としたコンピュータが小指大(現在の規模では親指大というほうが適切か)のマイクロプロセッサへと凝縮されることで,コンピュータは日常生活の基本的な枠組みの中へ浸透していくようになった. とはいえ,マイクロプロセッサの誕生が電卓用LSIをきっかけとしたように,初期におけるマイクロプロセッサの役割は,既存の制御機器の置き換えが主目的だった.この場合,とにかく動くことが第一で,プログラムの生産性や性能は2の次だった. 小型で動けばいいという時代を経ると,当然のことながら,マイクロプロセッサは性能を要求されることになる.そこで,マイクロプロセッサは8,16,32とビット数を増やしながら大型計算機の進歩を大急ぎで追いかけていった.そして,現在の32ビットマイクロプロセッサの処理能力は大型計算機の処理能力に近づき(ある意味では凌駕し),コンピュータごとに専用のMPUを使用していたミニコンのMPUすら駆逐してしまった感がある.また,その応用分野もエンジニアリングワークステーション,画像処理システム,音声処理システム,ロボット制御,プロセス制御,人工知能システムなどという多種多様の分野に広がるようになった. もし……の世界,世界最初のMPUは日本製だったかもしれない 上述のとおり,MPUの歴史は,インテル社4004の1971年の発売に始まったといわれている.しかし,4004に遅れること数か月,日本でもμPD700という2チップ構成のMPUが開発されていることはあまり知られていない.これは,シャープがコカ・コーラ社から依頼を受けて論理設計をし,NECが製造した4ビットのプロセッサである.シャープは,最初,三菱電機に製造を依頼したのだが,これが見事にコケてしまう.そして,NECにお鉢が回ってきて日の目を見たわけだ.もし,シャープが初めからNECに依頼をしていれば,世界最初のMPUは日本製ということになっていたかもしれない. μPD700は,その後NECが権利を買い取り,1チップのμCOM4として発売された.このMPUは電子式キャッシュレジスタを中心に広く応用されたという.筆者は命令セットの詳細をよく知らないが,どちらかといえばインテルよりもモトローラのMPUに近く,使い勝手が良かったと聞く. 4ビットMPUは,その後の低価格化の要求から,1チップマイコンが市場の中心になっていき,家電製品に採用されるようになる.この分野は日本の独壇上である.1チップマイコンは4ビット,8ビットと独自の進化を遂げていくが,16ビット以降になるとアメリカ製のメジャーなMPUに置き換えられていく運命をたどった. 日本の半導体史においては,国産第一号のマイコンは1973年に発表された東芝製のTLCS-12ということになっているものもある.これは最初から12ビットプロセッサであったことが画期的である.インテルでは8ビットの8008が発表されたばかリである.さて,TLCS-12は米国フォード社の思惑が絡んで開発された.1970年に米国では自動車の排ガスを規制するマスキー法が成立し,自動車メーカーは対応を迫られていた.東芝とフォードは協力してエンジン制御の自動化をマイクロプロセッサに託したのだ. RISCの台頭 1980年頃,米スタンフォード大学とカリフォルニア大学のバークレー分校においてRISCの研究がなされていた.RISCとはReduced Instruction Set Computer(縮小命令セットコンピュータ)の略で,命令体系を単純化することで,それを実行するハードウェアも単純化し,高い動作周波数で高性能を得るという思想に則ったコンピュータのことである.スタンフォード大学やバークレー校の研究もその例から漏れていない.その共通するアーキテクチャは次のようなものだった. ・ロード/ストアアーキテクチャ これは,現在のRISCチップにみられる特徴でもある.RISCでは,インタロック(パイプラインのステージ間の待ち合わせ)などの複雑な制御をハードウェアで行わないことが基本である.それによって,ソフトウェアが複雑になってもハードウェアをできるだけ簡単にすることを第一としていた.これは,コンパイラ技術の劇的な進歩を呼んだ.まがりなりにも,RISCというMPUが使い物になることが世間に認められたのは,コンパイラ技術の向上によるところが大きい.
優れたコンパイラ技術に支えられたRISCの性能は,驚くべきものだった.たとえば,MIPSの最初のRISCであるR2000は1986年に発表されたが,それを採用したSGIのGWS(グラフィクスワークステーション)はわずか8MHzという低い動作周波数にもかかわらず,当時の32ビットMPUを採用したEWS(エンジニアリングワークステーション)以上の性能を発揮していた.RISCの高性能は徐々に世間に認められるようになり,現在ではほとんどすべてのMPUがRISCになっている.インテルやAMDが開発しているx86プロセッサも命令体系自体は従来どおりのCISCのものを採用しているが,その中身はRISC技術を最大限に採用して高速化を実現したものだ. まとめ 原稿執筆段階ではもっと長かったのだが,本編がなかなか始まらないという声もあるので,プロローグはここまでとしよう. 人類は,その夢と理想をマイクロプロセッサという数ミリ角のチップに詰め込んできた.約30年前に初めて発表されたマイクロプロセッサは4ビットの処理能力しかなかったが,マイクロプロセッサは8ビット,16ビット,32ビット,64ビットと性能向上を達成してきた.いま,コンピュータの世界では32ビットが常識で,64ビットへの転換期にある. ここ数年の動向を眺めていると,かつての大型計算機のMPUはEWSのMPUに駆逐され,そのEWSのMPUは(POWERやSPARCが気を吐いているものの)PCのMPUであったx86系MPUにとって変わられようとしている.これはPCもEWSも性能差がなくなってきていることを意味する.MPUの発展は,始まったばかりなのか絶頂期なのか……神ならぬ身の知る由もなし.
1)T・R・リード,『チップに組み込め!マイクロエレクトロニクス革命をもたらした男たち』,草思社,1986年 以降の内容は本誌を参照ください Copyright 2003 中森 章 |