IMLAC Corporationは、マサチューセッツ州ニーダムに本社を置くアメリカの電子機器メーカーで、 1960年代後半から1970年代にかけて、主にPDS-1とPDS-4といったグラフィックディスプレイシステムを製造していた。
PDS-1は1969年後半に開催された秋の合同コンピュータ会議でデビューした。[ 1 ] [ 2 ] [ 3 ]これは、動きのある高度にインタラクティブなコンピュータグラフィックスディスプレイを低価格で商用化した最初の製品だった。[ 4 ] PDS-1の初期販売価格は、単体で9450ドル、大量購入の場合は1台あたり6545ドルまで下がった。[ 2 ] PDS-1は、はるかに大型で価格が30倍も高いIBM 2250と機能的に類似していた。これは、コンピュータワークステーションと現代のディスプレイへの大きな前進だった。
PDS-1は、 CRTモニター、キーボード、ライトペン、コントロールパネルが小さな机の上に設置されており、ほとんどの電子回路は机の台座に収められていた。電子回路には、シンプルな16ビットミニコンピュータ、8~16キロバイトの磁気コアメモリ、CRTビームの動きを制御するディスプレイプロセッサが含まれていた。1971年までにPDS-1用のマウスが利用可能になった。 [ 5 ]
IMLACは頭字語ではなく、サミュエル・ジョンソンの小説『アビシニアの王子ラッセラスの物語』に登場する詩人・哲学者の名前です。[ 6 ]
DEC GT40は、 PDS-1Dとデザインと価格帯が似ていた。デスクトップ型の電子回路はよりコンパクトで、ローカルミニコンピュータとして量産型のPDP 11/05ボードセットを使用していた。これにより、プログラミングツールは大幅に増えたが、やはり通常はより大型のPDPシステム上で動作するアプリケーションによって駆動されていた。
モニターは14インチのモノクロベクトルディスプレイで、ローカルメモリから常に更新される方式だった。通常の解像度は1024×1024ドット、小文字表示モードでは2K×2Kだった。CRTの電子ビームはプログラム制御でX軸とY軸の位置と角度を自由に移動でき、ペンプロッターのペンが紙に描くような動きで、個々の傾斜線や文字を描画できた。ビームは画面の空白部分をスキップし、描画順序も自由だった。
ベクターディスプレイは、現在ではラスタースキャンディスプレイの代替として使われなくなった方式です。ベクターディスプレイでは、CRTの電子ビームは表示される線と曲線のみを「描画」します。ラスタースキャンディスプレイでは、画像はピクセルスポットのグリッド(「ビットマップ」画像)であり、どのドットが点灯しているかに関わらず、CRTビームは(テレビのように)画面全体を固定された水平パターンで繰り返し走査します。[ 22 ] ビットマップラスターグラフィックスは、ベクターグラフィックスよりもはるかに多くのメモリを必要とします。XGAレベルの1024x768の白黒解像度には、96キロバイトのビデオリフレッシュメモリが必要で、これは基本的なPDS-1の12倍です。1970年当時、これだけのコアメモリは約8000ドルでした。[ 23 ] (現在では、共有DRAM のわずか0.05セントです。)
ベクターディスプレイは、データチャートの表示、線画やCAD図の修正、 3Dワイヤーフレーム形状の回転、テキストの編集、印刷ページのレイアウト、簡単なゲームの実行には適していました。しかし、色、画像、塗りつぶし領域、白地に黒の画面、プロ仕様の印刷テキストのフォントに対するWYSIWYG(見たまま編集)の忠実性には対応していませんでした。
PDS-1の画面は、ちらつきを目立たなくするために、毎秒40回繰り返し更新または再描画されていた。しかし、不規則なビームの動きは、ラスタディスプレイの定常的な動きよりも遅かった。ビームの偏向は磁気コイルによって駆動され、これらのコイルは電流の急激な変化に抵抗した。画面に800インチ以上 の線、または1200文字以上が表示されると、ビームがすべてをトレースし直すのに1/40秒以上かかるため、画面がちらついた。
競合する低価格のテクトロニクス4010グラフィック端末は、継続的なリフレッシュを必要としない代替ストレージチューブCRT技術を使用しており、ローカルコンピュータのディスプレイメモリは全く必要ありませんでした。光る画像はCRT蛍光体自体によって記憶されていました。しかし、エッチ・ア・スケッチのように、蓄積された画像を変更または移動するには、画面全体をフラッシュ消去してから、大型コンピュータから再送信されたデータを使用してすべてをゆっくりと再描画する必要がありました。[ 24 ]これはPDS-1よりもはるかにインタラクティブ性が低く、アニメーションを表示できませんでした。
この時代の他のディスプレイでは、テキストフォントはハードワイヤードされており、変更できませんでした。例えば、CDC 6600の操作コンソールでは、 Charactron CRTの電子ビームをA字型の穴が開いた金属製のステンシルマスク、またはB字型の穴が開いたマスクなどに通すことで、各文字を一度に形成していました。
しかし、PDS-1 では、すべての文字の形状、サイズ、間隔は完全にソフトウェアで制御されていました。文字 E の各希望する形状には、その文字の短いベクトルストロークのシーケンスを実行する独自の表示サブルーチンがありました。画面上の文字の出現は、その文字のサブルーチンへの表示プロセッサ呼び出しでした。この方式は、任意のフォント、拡張文字セット、さらにはアラビア語のような右から左に書く筆記体言語にも対応していました。小さくて描画速度の速いフォントは、丸みを帯びたループをひし形で近似した醜いものでした。表示サブルーチン方式は、電子設計記号にも対応していました。[ 25 ]
PDS-1モニターの画面は長方形で、縦向きと横向きの両方が用意されていました。1K×1Kのピクセルグリッドは、テキストやグラフィックを画面いっぱいに表示できるように、長辺方向に33%引き伸ばされていました。そのため、すべてのグラフィックプログラムは、正方形ではないピクセルを考慮する必要がありました。システムを主にグラフィック用途で使用する場合は、引き伸ばされていないグリッドでモニターを設置することができ、画面の両端は永久的に使用されません。
PDS-1の表示プロセッサとミニコンピュータは、同じメモリ上で同時に動作した。
ディスプレイプロセッサの命令は、文字や曲線用の 1 バイトのショートストローク命令、6 バイトのロングベクター命令、および 2 バイトの無条件ジャンプで構成されていました。ディスプレイプロセッサには従来のALU命令はなく、メモリを変更することもありませんでした。ジャンプは、文字や記号などの繰り返しオブジェクトのサブルーチン呼び出しをサポートしていました。また、ジャンプは、表示オブジェクトをリンク リストに配置して素早く編集することもサポートしていました。XY 座標は整数形式のみでした。オンザフライでの回転や任意のスケーリングはサポートされていませんでした。記号が画面の端を越えると、ビームは切り取られるのではなく反対側に回り込み、にじみが生じました。そのため、アプリケーションの上位レベルで、別のデータ構造を使用してクリッピング テストを実行する必要がありました。(これは後のモデルで修正されました。)文字フォントのサブルーチンのプログラミングは、アセンブラ言語で行われました。線画と全体的なレイアウトのコードは、ローカルのミニコンピュータまたは大規模なリモートコンピュータで実行されるプログラムによってオンザフライで生成されました。
PDS-1 の内蔵ミニコンピュータ[ 26 ]は、リモートのタイムシェアリングされた大型コンピュータに助けを求める遅延なしに、ユーザーのキーボードやライトペンの操作に迅速に対応するために必要でした。ミニコンピュータの主なタスクは、次の更新サイクルに必要な表示リストを構築および変更することでした。テキストと2 次元線グラフィックの場合、これは簡単で、多くの計算を必要としませんでした。コストを最小限に抑えるため、Imlac はレジスタとロジックゲートをできるだけ少なくした独自のシンプルなミニコンピュータを設計しました。これは、12 ビットではなく 16 ビットの命令とデータを使用する点を除いて、DEC PDP-8によく似た単一アキュムレータマシンでした。整数乗算/除算命令、浮動小数点命令、マイクロプログラミング、仮想アドレッシング、キャッシュはありませんでした。アドレス変更の唯一の方法は、メモリに保持された間接アドレスポインタを使用することでした。特定のポインタセルは、使用されると自動的にインクリメントされました。スタック操作はサポートされていませんでした。
このミニコンピュータのプログラミングはアセンブリ言語で行われていました。オブジェクトコードとの互換性がなかったため、ツールサポートも限られていました。Imlacは最終的に、メモリ容量が限られていたためコンパイルに1時間かかる自己ホスト型のFortranコンパイラを追加しました。一部のPDSモデルには、オプションでIBM 2310カートリッジディスクドライブまたは8インチフロッピーディスクドライブが搭載されていました。これらは、プログラムオーバーレイをサポートする基本的なディスクOSを実行していました。ディスクは後の製品では廃止されました。
PDS-1 の電子回路は、7400 シリーズの低密度TTL集積回路で構成されており、DIPチップ 1 つあたり 12 個のロジック ゲートまたは 4 ビットのレジスタしかありませんでした。小型のプリント基板には、それぞれ最大 12 個のチップが搭載されていました。浅いデスク ペデスタルには、3 段のカード ラックまたはカード 列があり、1 列あたり 25 枚のカードと、ワイヤ ラップバックプレーンですべてのカードが接続されていました。統一されたバックプレーン バスはありませんでした。顧客向けのドキュメントには、ゲート レベルまでの完全な回路図[ 27 ]が含まれており、顧客が独自のインターフェース ボードを設計できるようになっていました。システム全体の動作の詳細をすべて見て、触って、理解することができました。コア メモリのサイクル タイムは、PDS-1 では 2.0 マイクロ秒、PDS-1D では 1.8 マイクロ秒でした。TTL ロジックは、コア メモリ サイクルごとに 10 回のタイミング パルスで、10 倍高速に動作しました。
基本型のPDS-1には、長ベクトル用のオプションハードウェアカードは搭載されていませんでした。代わりに、ミニコンピュータは短いストロークの表示命令を長いシーケンスで生成しました。ソフトウェアは、乗算や除算を行わずに傾斜線の中間点を計算するために、高速なブレゼンハム法を使用していました。同様に、長ベクトルハードウェアも加算/減算回路のみを必要としました。このオプションが搭載されていない基本型マシンで誤って長ベクトルプログラムを実行すると、表示プロセッサが暴走し、モニターの蛍光体や偏向増幅器を焼損させる可能性がありました。
PDS-1とPDS-4は、研究開発機関や多くの大学によって少数ずつ購入されました。これらの機関は、先駆的なコンピュータアプリケーションを開発し、次世代のグラフィックスシステム設計者を育成しました。FRESSハイパーテキストシステムは、PDS-1システムからアクセスすると、機能と使いやすさが向上しました。ユーザーはライトペンでハイパーリンクを作成し、数回のキー操作で簡単にリンクを作成することができました。PDS-1を使用すれば、FRESSでのマルチウィンドウ編集も可能でした。PDS-1システムは、ARPANETのネットワークグラフィックスプロトコルの設計にも使用されました。
最初のオーバーラップ型マルチウィンドウシステムであるDNLS(またはDisplay NLS)は、1973年初頭にSRIによってPDS-1に初めて完全に実装されました(非オーバーラップ型ウィンドウは1971年に実装)。[ 28 ] [ 29 ] DNLSは、動的に移動、サイズ変更、オーバーラップできる「表示領域」(DA)を実装しました。後のウィンドウシステムとは対照的に、これらのDAはテキスト文字列のみを保存できました。DNLSは、ARPANETのいくつかの拠点にある複数のPDS-1で使用され、 Xerox Altoのオーバーラップ型ウィンドウシステムの主なインスピレーションとなりました。 [ 29 ]
Imlac ディスプレイシステムは、ビジュアルデザインや専用ソフトウェアを含むさまざまな大型商用製品に組み込まれていました。Imlac は、PDS-1 を使用した新聞レイアウトおよび植字システムである CES を販売していました。MCS の Anvil 機械 CAD システムは、後期の Imlac ワークステーションを使用して機械部品を対話的に設計し、その後、金属材料から自動的に切削加工されました。[ 30 ]
テキストエディタなどの単純なアプリケーションは、Imlacアセンブラで完全にコーディングされており、より大規模なコンピュータをほとんど必要とせずに実行できました。ホフスタッターは、著書『ゲーデル、エッシャー、バッハ』をImlacエディタで執筆しました。しかし、ほとんどのグラフィックスアプリケーションは、強力な浮動小数点サポート、コンパイラ、およびファイルシステムを必要としました。これらのアプリケーションは、主に高価なタイムシェアリングコンピュータ上で実行され、そのコンピュータはダイジェストされた画像データをImlacに送信し、Imlacは汎用グラフィックス端末をエミュレートする小さなアセンブラプログラムを実行しました。典型的な用途は、オフラインで事前に描かれた建築図面やアニメーションウォークスルーのレンダリングでした。PDS-1の使用は、アニメーションやインタラクティブな描画およびオブジェクトのドラッグをサポートする標準プログラムライブラリがなかったため、数年間制限されました。
しかし夜になると、学生たちはただ楽しむためだけに大量のアセンブラコードを書くことを厭わなかった。今日最も記憶に残っているPDS-1アプリケーションは、初期のインタラクティブゲームである。2人用ゲーム「Spacewar!」はPDP-1デモから移植された。人気アーケードゲーム「Frogger」の初期の先駆けである「Freeway Crossing」は、1971年の心理学実験の一環としてPDS-1上で作成された。[ 31 ] [ 32 ]最初のオンラインマルチプレイヤーコンピュータゲーム「Mazewar」は、2台のPDS-1上で作成された。その後、最大8人のプレイヤーが、Mazewar AIプログラムを実行しているMITホストPDP-10コンピュータにネットワーク接続されたPDS-1ステーションまたはその他の端末上でプレイした。[ 33 ] MITとスタンフォード間のMazewarゲームは、初期のARPANETに大きなデータ負荷をかけた。
コンピュータメモリの密度、容量、価格は数十年にわたり着実に、そして指数関数的に向上しており、これはムーアの法則と呼ばれる技術動向である。リフレッシュ型またはストレージ型ベクターディスプレイの限界が受け入れられたのは、これらのディスプレイがラスタースキャン方式のディスプレイよりもはるかに安価だった時代に限られる。128キロバイトの価格がもはや問題ではなくなったとき、ラスターグラフィックディスプレイが必然的に主流となった。
Xerox PARCのImlac PDS-1は、そのインタラクティブ性とグラフィックで彼らを感心させたが、その見苦しいテキストがきっかけとなり、チャック・タッカーは1973年に実験的なビットマップ方式のXerox Altoマシンを開発した[ 34 ]。これは、研究用以外のシングルユーザーマシンでそれほどのメモリが手頃な価格になる10年も前のことだった。AltoはGUI革命につながった。
PDS-1 や同様のベクター端末は、1980 年代に AED767 などの (プログラム不可能な) ラスタグラフィックス端末に取って代わられました。[ 35 ] [ 36 ]また、 Terak 8510/a UCSD Pascal マシンや高性能PERQ Unixシステム などのラスタグラフィックスを備えた簡単にプログラム可能なパーソナル ワークステーションにも取って代わられました。そして、それらはマイクロプロセッサベースの量産型Macintosh、Windows PC、ビデオゲーム コンソールに取って代わられました。そして現在では、スマートフォン内部の単一チップに取って代わられています。
2013年に、sImlacというImlacエミュレータが作成された。[ 37 ] このエミュレータのアップデート版は、シアトルを拠点とするLiving Computers: Museum + LabsのGitHubリポジトリから入手できる。
{{cite web}}: CS1 maint: bot: 元の URL の状態が不明です (リンク)