LISPマシン
出典: フリー百科事典『ウィキペディア(Wikipedia)』
LISPマシンは、LISPを主要なプログラミング言語として効率的に実行することを目的として設計された汎用のコンピュータである。ある意味では、最初の商用シングルユーザーワークステーションと言うこともできる。
目次 |
[編集] 歴史
1960年代から1970年代にかけて、人工知能プログラムは当時の基準では非常に多くのプロセッサ時間とメモリ空間を消費するものだった。当時の研究機関で使われていたコンピュータは高価であるために多くのユーザーが共有して使用するのが一般的だった。1960年代から1970年代にかけての集積回路技術の進展はコンピュータのサイズとコストを小さくしていったが、AIプログラムが使用するメモリ量は一般的な当時の研究用コンピュータ(DECのPDP-10)のアドレス空間を越えようとしていた。研究者たちは、巨大な人工知能プログラムを開発し動作させるのに最適化した新しいコンピュータを設計することを検討し始め、LISPプログラミング言語の実行に最適化されたマシンを作った。そのオペレーティングシステムを単純にするために、LISPマシンはシングルユーザー用のマシンとなった。
[編集] MITのLISPマシン
1974年、MITのリチャード・グリーンブラットは MIT LISPマシンプロジェクトを立ち上げた。最初のマシンは CONS(LISPのリスト作成演算子にちなんだ名称)と呼ばれ、さらに改良された CADR(LISPの cdr
関数が "caddr" と発音されることから)と呼ばれるバージョンが完成した。CADR は後に商用化され、シンボリックス社が LM-2、Lisp Machines, Inc.(LMI)が LMI-CADR を売り出した。両社は第二世代の製品も CADR のアーキテクチャに基づいて製品化した(Symbolics 3600 と LMI-LAMBDA)。3600 ではワードをCADRより拡張してアドレス空間を広げ、CADRではマイクロコードで実現されていた関数の一部をハードウェアで実装して高速化を図った。LMI-LAMBDA は CADR 互換を保った(CADRのマイクロコードを実行可能)が、ハード的には違いがある。テキサス・インスツルメンツ(TI)社は、LMI-LAMBDA のライセンス供与を受け、互換マシン TI Explorer を開発した。
シンボリックス社は 3600 ファミリを開発し続け、シンボリックスのCPUをワンチップ化した Ivory も開発した。Ivory を使ったいくつかのマシンも開発された。例えば、サンや Mac 向けのボード、スタンドアロンのワークステーション、そして組み込みシステムなどにまで利用された。TI も Explorer をワンチップ化した MicroExplorer を開発している。LMI社は CADR アーキテクチャをやめて新たに K-Machine を開発したが、リリースする前に倒産した。
これらのマシンは様々なLISPの基本関数をハードウェアでサポートしており(データ型チェック、CDRコーディング)、インクリメンタル(漸進型)ガベージコレクションもハードウェアでサポートしている。これにより、大きなLISPプログラムを非常に効率的に動作させることができた。シンボリックス社のマシンは商用のスーパーミニコンピュータ(VAXなど)と競合したが、人工知能研究以外の用途に使われることはほとんどなかった。とは言うものの、シンボリックスのLISPマシンはAI以外の市場としてコンピュータグラフィックスでのモデリングやアニメーションに使われたりもしている。
MITから派生したLISPマシンは、MITのMacLispを先祖とするZetaLispという方言を主要言語としていた。オペレーティングシステムもLISPで書かれていて、オブジェクト指向による拡張も使われていた。後にLISPマシンはCommon Lisp(とFlavorsやCLOS)をサポートするようになった。
[編集] ゼロックスのLISPマシン
一方、ゼロックス社のパロアルト研究所は、InterLisp(後にCommon Lisp)やSmalltalkのような言語が動作するよう設計されたマシンを開発した。Xerox 1100(ドルフィン)、Xerox 1132(ドラド)、Xerox 1108(ダンデライオン)、Xerox 1109(ダンデタイガー)、Xerox 6085(デイブレイク)である。ゼロックスのマシンは商業的には失敗だったがアップルコンピュータ社のMacintoshに影響を与えた。ゼロックスのLISPマシンのオペレーティングシステムは仮想マシンに移植され、Medleyという名前でいくつかのプラットフォーム上で動作した。ゼロックスのLISPマシンは先進的な開発環境で知られており、Altoから受け継がれたGUIとNoteCards(初期のハイパーテキストアプリケーション)などが有名である。
[編集] その他のLISPマシン
BBNは、独自のLISPマシン Jericho を開発した。InterLispが動作するマシンであったが、市場には出されなかった。
イギリスの Racal-Norsk は、ノルウェーの Norsk Data のミニコンのマイクロプログラムをLISPマシン化してシンボリックス社のZetaLispを動作させることを試みている。
日本でも富士通のFACOM α(メインフレームのコプロセッサとして動作。1978年ごろ)などのLISPマシン市場への参入を試みた例がある。また、いくつかの大学でも試作が行われている。LISPマシンの日本での影響を最もよく表しているのは第五世代コンピュータ計画であろう。このプロジェクトでは、LISPよりもさらにCPU性能を必要とするProlog系言語に最適化されたマシン(逐次推論型マシン PSI、並列推論型マシン PIM)が開発されている。また、NTTの電気通信研究所では、人工知能研究用に Elis というマシンを開発した。Elis は述語論理ベースの独自の言語に最適化されている。
パーソナルコンピュータの進化によって、ミニコンピュータやワークステーションの業者は一掃された。一般のデスクトップPCが特別なハードウェア無しで LISPマシンよりも高速にLISPを実行できるようになったため、1990年代初めにはLISPマシンを製造していた企業は商売が成り立たなくなった。ゼロックス以外ではシンボリックスは今も残っている唯一の企業で、LISPマシン環境 Open Genera と 数式処理システム Macsyma を販売している。
1990年代終盤、サン・マイクロシステムズは Java に最適化されたコンピュータを作る計画を持っていた。