LINC
LINC(Laboratory Instrument Computer; 実験器具コンピュータ)は、12ビット、2048ワードのコンピュータ。LINCは世界初のミニコンピュータであり、同時に世界初の個人用コンピュータ(パーソナルコンピュータ)と呼べるものであった。
LINCおよびMITの Linc Computer(1980年にDECが開設した博物館によれば、DECがプロジェクトに参加する前はそのように呼ばれていた)は、MITで設計され、最終的にディジタル・イクイップメント・コーポレーション (DEC) と Spear Inc. (後に Becton Dickinson and Company が子会社化)が製造した。当時4万ドル以上の価格で販売された。6フィート×20インチのラックに格納された構成が多く、テープドライブ、小型ディスプレイ、制御パネル、キーボードが入っている4つのボックスから成る。
その命令セットは小さかったが、PDP-8の命令セットに比べれば大きかった。
実験で使用するのに便利なインターフェイスを備えていた。アナログ入出力は基本設計の一部となっている。1962年、リンカーン研究所の Charles Molnar と Wesley Clark が、アメリカ国立衛生研究所 (NIH) のために設計したものである。LINCの設計が文字通りパブリックドメイン化されたことで、コンピュータ史上でもユニークなマシンとなっている。LINCの生産台数や誰が製造したかということはあまり問題にされない。ある文献によれば、24台のLINCがMITのサマーワークショップで組み立てられたという。DEC(1964年から)と Spear Inc. が製品化し製造した。
ゴードン・ベルは、LINCプロジェクトが1961年に始まり、1962年3月に1台目が完成したとしており、それが正式に撤収されたのは1969年12月のこととしている。DEC製のモジュールと筐体を使って全部で50台が生産され、多くがリンカーン研究所で組み立てられた。1台目のLINCには2つのオシロスコープが表示装置として備えられていた。DECは製品版21台を43,600ドルで販売。標準の開発用ソフトウェア(アセンブラ/エディタ)は Mary Allen Wilkes で、最終版は LAP6 (LINC Assembly Program 6) と呼ばれていた。
LINCの制御パネルの機能はプログラムのステップ実行機能だけではなく、あらゆる意味でデバッガ機能を備えていた。例えば、プログラムカウンタがスイッチで設定した値になったところで実行を停止することができた。より重要な機能として、プログラムがスイッチで指定したアドレスにアクセスしたときに停止させる機能もあった。シングルステップ実行や停止状態からの復帰は自動的に繰り返し行うことができた。繰り返しレートは毎秒1命令から最高速度の半分の速度まで、制御パネルにあるアナログノブとセレクトスイッチ(4位置)で選択可能だった。プログラムを毎秒1命令で実行開始して、徐々に加速させて最高速度まで持っていくこともでき、コンピュータの速度というものを体感することができたのである。
アナログノブはマウスのような入力デバイスとして利用でき、例えばディスプレイでのグラフ表示の拡大縮小、ディスプレイでのカーソルの移動といった制御が行われていた。
LINCの特筆すべき機能としてLINCtapeと呼ばれる磁気テープ装置がある。オプション装置ではなく基本スペックに含まれており、オペレーティングシステムはLINCtapeに依存していた。LINCtapeは言ってみればシークが非常に遅いフロッピーディスクのようなものである。当時の大型マシンの磁気テープ装置は大容量で全部を読み取るには長時間かかり、テープ上の特定の位置のデータブロックだけを書き換えるということができなかった。対照的にLINCtapeは小型で素早いデバイスであり、容量は約400Kで、個別書き換え可能な固定フォーマットになっていて、1分足らずで端から端まで読み取り可能であった。テープは固定サイズのブロックでフォーマットされとして使用された。1命令で指定箇所までシークし、そこで複数ブロックを読み/書きできた。
ファイル名は6文字である。このファイルシステムはソースファイルと対応する実行ファイルを同じファイル名で格納することができた。実際にはファイル名には1文字の拡張子があり、"S" と "B" でソースかバイナリかを示していた。LINCは標準スペックでは1024×12ビットワードのコアメモリしかなく(最大で2048ワード)、通常の操作でもLINCtapeへのスワップアウトが頻繁に発生した。DECは後に非常によく似た設計のDECtapeの特許を取得したが、後に裁判で無効とされた。
LINCtapeは非常に信頼性が高く、後にその代替となったフロッピーディスクよりも信頼できた。LINCtapeには簡単な冗長性が備わっていて、データはテープの幅方向の2箇所に必ずコピーして記録された。これを確認するために紙テープのさん孔装置でLINCtapeに穴を空けてみると、全く問題なく読み込むことができるのである。装置にはキャプスタン(テープを定速で送るための回転軸)がなく、テープの回転は直接リールのモーターで制御された。早送りとか高速な巻き戻しは無く、ある意味で常に高速回転しながら読み書きしていたとも言える。操作モードによっては内蔵スピーカーでテープの内容を音として再生することもできる。
LINCのキーボードは Soroban Engineering 社が製造したもので、各キーにはロック式ソレノイドが使われている。ユーザーがキーを押下すると、LINCは全キーをロックしてその状態で動かないようにし、押されているキーをハードウェアレジスタに読み取り、プログラムがそのレジスタを読み取って、その後にソレノイドのロックを解除するという手順を踏んでいた。このため、キー入力は非常に遅くなってしまい、キーロールオーバーが全くできないのである。そのため、後述する LINC-8 や PDP-12 ではこのキーボードは使われなかった。
LINCは12ビットワードを横4ピクセル×縦6ピクセルでディスプレイに高速かつ自動的に表示することができ、これによってちらつきの無いフルスクリーンテキスト表示を可能としていた。標準表示ルーチンは4×6ピクセルの文字を表示するもので、非常に粗くて見にくい表示だった。
ディスプレイはテクトロニクス製オシロスコープを流用した5インチのブラウン管で、特別な増幅器を接続していた。
ゴードン・ベルによれば、LINCの設計からDECは初の18ビット機PDP-4と初の12ビット機PDP-5の着想を得たという。その後 PDP-8 で成功を収め、それにLINCとの互換性を加えたコンピュータ LINC-8 を開発。その後TTL化したPDP-8/Iをベースにし、LINCも再設計して結合したPDP-12を開発。
LINC-8 はPDP-8とLINCを結合したもので、PDP-8側の PROGOFOP(PROGram OF OPeration)というプログラムで(ゆっくり)起動された。PDP-12はLINCの後継としては最後の機種で最も広く使われた。様々な改善がなされていたが、根本的にはLINCとPDP-8を無理やり結合したアーキテクチャである。例えば、LINCにはオーバーフロービットがあり、アーキテクチャ上重要である。しかし、PDP-12ではPDP-8側の割り込みの際にこのオーバーフロービットをセーブ/リストアする機能がなかった。
DECのPDP-11/03はMINC-11と呼ばれ、各種実験用入出力モジュールを実装できた。プログラミング言語としては、実験用I/Oをサポートする MINC BASIC がある。MINCという名称は "Multi-Instrument Computer"の略で、明らかにLINCを意識した命名だが、LINCとの互換性も無く、全くアーキテクチャ上の関係はない。