PDP-11
ERRORS DETECTED:  0
.LINK HELLO
.R HELLO
Hello, world!
.
(RT-11のコマンドプロンプトは「<tt>.</tt>」である)
MACRO-11 のコードのもっと複雑な例としては、ケビン・ミュレルの KPUN.MAC やファーバ・リサーチの JULIAN ルーチンがある。その他のPDP-11用コードのライブラリとして Metalab や Trailing Edge アーカイブがある。
これらのコードを PDP-11 エミュレータで実行してみることもできる。ボブ・スプニクの SIMH はPDP-11だけでなく各種アーキテクチャをエミュレートでき、それらアーキテクチャのオペレーティングシステムのソフトウェアキットを含む(RT-11もある)。
PDP-11プロセッサはI/Oバスの種類などでいくつかのグループに分類される。いずれのグループも各機種にはOEM版とエンドユーザー版がある。どの機種であっても命令セットは同じだが、後期機種には新命令が追加されており、一部命令の動作が若干異なる。アーキテクチャの進化の伴い、プロセッサのステータス/コントロールレジスタ群の扱い方も変化している。
以下の機種は主要バスとして Unibus を使用:
PDP-11(後に PDP-11/20 に改名), PDP-11/15 - 最初の機種。マイクロプログラム方式でないプロセッサを使用。ジェームス・オラフリンが設計。浮動小数点数はオプション。
PDP-11/35, 11/40 - /20 をマイクロプログラム方式にした後継。ジェームス・オラフリンが設計チームを率いた。
PDP-11/45, 11/50, 11/55 - 磁気コアメモリと同時に半導体メモリ(最大256kB)を使用可能とした高速なマイクロプログラム方式プロセッサ。FP11 FPU をオプションでサポートし、浮動小数点数のフォーマットがこれによって確立された。
PDP-11/70 - 11/45 のアーキテクチャを物理メモリ4MBまで拡大し、専用メモリバスを装備し、2Kバイトのキャッシュメモリを備え、Massbus で 高速I/Oデバイスを接続。
PDP-11/05, 11/10 - 11/20のコスト低減版
PDP-11/34, 11/04 - 11/35と11/05のコスト低減版。PDP-11/34 のコンセプトはボブ・アームストロングによるもの。11/34はUnibusメモリを最大256kBまでサポート。11/34a ではFPUオプションをサポートし、11/34c ではキャッシュメモリオプションをサポート。
PDP-11/60 - ユーザーが書き込み可能なマイクロプログラム記憶装置を持つ PDP-11。ジェームス・オラフリンが率いる別のチームの設計
PDP-11/44 - 11/45と11/70の後継。標準でキャッシュメモリと浮動小数点ユニットを装備したもの。このマシンには洗練されたシリアル・コンソールを装備し、4MBの物理メモリをサポート。設計チームは John Sofio が率いた。複数ICでCPUを構成した最後の機種。
PDP-11/24 - Unibus使用のPDP-11で初のVLSI版 PDP-11。Fonz-11 (F11) チップセットとUnibusアダプタを使用
PDP-11/84 - VLSI Jaws-11(J11) チップセットとUnibusアダプタを使用
PDP-11/94 - J11ベースで 11/84 よりも高速
以下の機種は主要バスとして Q-bus を使用:
PDP-11/03 (LSI-11/03) - 最初のLSI版 PDP-11。ウェスタン・デジタル社のMCP-1600チップセットを使用し、60kBまでのメモリをサポート。
PDP-11/23 - 第2世代のLSI (F-11) を使用。初期のユニットのメモリ容量は 248Kバイトだが、後に 4Mバイトまでサポートするようになった。
PDP-11/23+/MicroPDP-11/23 - プロセッサカード上の機能を強化した 11/23
MicroPDP-11/73 - 第3世代LSI-11。高速な Jaws-11 (J-11) チップセットを使用し、最大4MBのメモリをサポート。
MicroPDP-11/53 - オンボードメモリを持つ低速版 11/73
MicroPDP-11/83 - PMI(private memory interconnect)を使った高速版 11/73
MicroPDP-11/93 - さらに高速。Q-bus を使用した最後の PDP-11
Mentec M100 - Mentecが再設計した 11/93.J-11チップセットを 19.66MHz で駆動し、4個のオンボード・シリアルポート、最大4MBのオンボードメモリ、オプションのFPUがある。
Mentec M11 - プロセッサアップグレードボード。Mentec による PDP-11マイクロコードの実装で、テキサス・インスツルメンツの TI 8832 ALU と TI 8818 マイクロシーケンサを使用。
Mentec M1 - プロセッサアップグレードボード。Mentec による PDP-11マイクロコードの実装で、Atmelの0.35μm版ASICを使用。
Quickware QED-993 --高性能 PDP-11/93 プロセッサアップグレードボード
PDT-11/110
PDT-11/130
PDT-11/150
PDTシリーズは「スマート(賢い)端末」としてマーケティングされたデスクトップシステムである。/110 と /130 はVT100端末と同じ筐体だった。/150は8インチFDDを2つ、非同期シリアルポートを3つ、プリンターポートを1つ、モデムポートを1つ、同期シリアルポートを1つ備えた装置で、端末そのものは別途接続する必要がある。どれもLSI-11/03と同じ4つのチップで構成されるチップセットを使用している。/150とVT105を組み合わせたシステムは MiniMINC として販売された。
PRO-325
PRO-350
PRO-380
DEC Professional シリーズは IBMの 8088 や 80286 ベースの初期のパーソナルコンピュータに対抗しようとしたデスクトップ機である。5.25インチフロッピーディスクドライブを装備し、325 以外はハードディスクも装備していた。CPU は LSI-11 で、RSX-11M+ にメニューシステムを追加した P/OS が動作した。既存のPDP-11とのソフトウェア互換を意図的に阻害したため、(DEC以外の人々に予想された通り)市場では全く振るわなかった。また、RT-11も移植された。DEC内部ではRSTS/Eも移植されたが、外部にはリリースされなかった。325と350は DCF-11 (Fonz) チップセットを採用しており、PDP-11/23などと同じである。380は DCJ-11 (Jaws) チップセットを採用しており、MicroPDP-11/53 などと同じだが、周辺チップセットの制約からクロック周波数は10MHzに制限されていた。
PDP-11/27 - 主要I/Oバスとして VAXBIバス(VAX用32ビットバス)を使った Jaws-11 を使った実装
PDP-11/68 - 物理メモリ4MバイトをサポートするPDP-11/60の後継
PDP-11/74 - PDP-11/70をマルチプロセッサ化したもの。最大4個のプロセッサを相互接続し、ケーブルの取り回しが非常に難しくなった。また、ビジネス向きの命令セット拡張も行われている。いくつかのプロトタイプが組み立てられ、少なくとも2台のマルチプロセッサシステムがユーザーサイトでベータテストを受けたが、公式には出荷されることはなかった。4プロセッサシステムは RSX-11 オペレーティングシステム開発チームがテストし、シングルプロセッサ機は開発チーム全体のタイムシェアリング環境として使われた。11/74は32ビット機 VAX 11/780 と同時期に計画された。フィールドでの保守の問題でキャンセルされた。いずれにしてもDECはPDP-11ユーザー全部をVAXに移行させることはできなかった。その原因は性能ではなく、PDP-11のリアルタイム性の良さにある。
GT40 - PDP-11/05をベースとしたベクターグラフィック端末
GT42 - PDP-11/10をベースとしたベクターグラフィック端末
GT44 - PDP-11/40をベースとしたベクターグラフィック端末
GT62 - PDP-11/34aをベースとしたベクターグラフィック端末
H-11 - LSI-11/03の Heathkit社 OEM版
VT20 - PDP-11/05ベースのテキスト端末(ダイレクトマップ方式)で、テキスト編集と組版用
VT71 - LSI-11/03ベースのテキスト端末(ダイレクトマップ方式)で、テキスト編集と組版用
VT103 - LSI-11を搭載したバックプレーン内蔵のVT100端末
VT173 - PDP-11/03をベースとしたハイエンド端末。ホストからシリアル接続で編集ソフトウェアをダウンロードして使用できる。出版社などで使われた。
MINC-11 -- PDP-11/03 または 11/23 をベースとした実験用システム。11/23ベースのものは MINC-23 として販売されたが、MINC-11からMINC-23へのフィールドアップグレードが可能だった。命令セットが微妙に変更されており、MINC-23用ソフトウェアは11/23では動作できないことがあった。後期モデルでは互換性を確保していた。
C.mmp -- カーネギーメロン大学によるマルチプロセッサシステム
PDP-11は非常に人気があったため、鉄のカーテンの向こう側で無許可のクローンが何種類か製造された。一部はDECのPDP-11とピン互換があり、周辺機器やシステムソフトウェアを流用することができた。以下のような機種が知られている:
SM-4、SM-1420、SM-1600、エレクトロニカBKシリーズ、Electronika 60、DVK、UKNC(ソビエト連邦、PDP-11ский(PDP-11スキイ)とも呼ばれ、DECの米国内の生産台数より多かったと推定されている)。Elektronika 85、90は、いわゆるポケットコンピューターのような極小のフォームファクタで製品化されていた。
SM-4、SM-1420、IZOT-1016、および周辺装置(ブルガリア)
SM-1620、SM-1630(東ドイツ)
MERA-60(ポーランド)
SM-4、TPA-1140、TPA-1148、TPA-11/440(ハンガリー)
CalData CDP-XI — アメリカ製で、DEC製OSが全て動作した。
PDP-11では以下のようなオペレーティングシステム (OS) が使用可能であった。
DEC製:
BATCH-11/DOS-11 - PDP-11ファミリ用の最初のOSだが、後に登場したRT-11に取って代わられた。
DSM-11 (Digital Standard MUMPS) - MUMPS環境のDECによる実装。
RSX-11 - リアルタイムオペレーティングシステム。VMSやWindows NT系を設計した、デヴィッド・カトラーが初めて設計したOS。Windows NT の遠い祖先にあたる。
IAS - Interactive Application System、1975年ごろ登場したOSでRSX-11から派生。
P/OS - PDP-11ベースのパーソナルコンピュータ用OS、RSX-11から派生。
サードパーティー製:
ANDOS - ソビエト連邦製。ファイルシステムは互換。
CSI-DOS - ソビエト連邦製。
DEMOS - ソビエト連邦製。Unix系。
Duress - イリノイ大学アーバナ・シャンペーン校とDatalogicsが開発。
Fuzzball - LSI-11ベースのルーター。NSFnetの初期のバックボーンを形成した。
MERT - ベル研究所がUNIXから派生させたマイクロカーネル的なOS。
MK-DOS -ソビエト連邦製。
MONECS - モナシュ大学で開発。教育用であり、言語処理系が豊富。
MUMPS - 医療情報処理環境。
PC11 - ピルキントンが開発したプロセス制御OS。
polyForth - Forth Inc. によるForth環境。
Solo - Concurrent Pascal で書かれたシングルユーザーOS
TRIPOS - ケンブリッジ大学の実験的OS。PDP-11以外にもデータゼネラル Nova やMC68000で動作した。
TSX-Plus - RT-11ベースのマルチユーザーOS
UCSD p-System - UCSD Pascal の開発環境を発展させたOS。
UNIX - 様々なバージョンがあり、主なものとして Version 6 Unix、Version 7 Unix、UNIX System III、2BSD、Venix がある。
Xinu - 教育用Unix系OS。
PDP-11ファミリは様々な用途で使われた。標準ミニコンピュータとして、タイムシェアリングシステム、科学技術計算、教育、ビジネスなどに使われた。またリアルタイムシステムとして、プロセス制御やファクトリーオートメーションにも使われた。
OEM版は大規模システムの制御用組み込みシステムとして使われることが多かった。交通信号システム、医療システム、CNC機械加工、ネットワーク管理などに使われた。例えば、パケット交換網の管理に使われた例がある。1980年代のイギリスの航空交通管制でのレーダー情報処理には、PDP-11/34をベースとしたシステムが使われていた。放射線療法機器セラック25はPDP-11/23を組み込んでいた。
テラダインは半導体試験装置のテストプログラム格納用にPDP-11を採用していた。組み込みシステムで使われたPDP-11は、ソフトウェアの2000年問題で使用不可能になるまで使われ続けたものが多い。アメリカ海軍は、パイロットの空間識失調状態の訓練を行うシミュレータで、2007年までPDP-11/34を使い続けていた。今ではPDP-11のソフトウェアをPC上のエミュレータで実行している。