PDP-11をLSI化したDCJ11マイコン
DEC のミニコン PDP-11 の CPU を LSI 化した DCJ11 というチップがあります。これを使ったマイコンシステムを構築し、UNIX V6 を動かしたい。
既に DCJ11 を使ったマイコンシステムの構築や、UNIX V6 を動かしたという先行事例があるので、それらの成果を使わせてもらいます。
DEC PDP-11
PDP-11は、ミニコンで一世を風靡した DEC の代表的なシリーズの一つです。またコンピュータを動かすには OS が必要ですが、現在広く使われる Linux の源流1とも言える UNIX の開発に使われた機種でもあります。
初期の PDP-11 は、CPU を今では考えられませんが基本的なロジック IC を組み合わせて作成していたそうです。そのため CPU の機能だけで現在のパソコンのマザーボード 1 枚分くらいの大きさがあったようです。それが 1975 年に発表された PDP-11/03 (LSI-11)以降は、CPU 機能が専用 LSI に集約されました。
DCJ11 マイコン
PDP-11 の CPU を LSI 化した物には、何種類かあるようですが 2025 年現在でも MICRO/J-11 (DCJ11)というチップ2は中古として eBay で流通3しています。
現在ではパソコンを自分で組み立てることは特別なことではなくなり、CPU 単体を購入することはなんの不思議もありません。また 8 ビットマイコンの時代も CPU 単体を購入し自分でメモリー等と組み合わせてコンピュータを作る雑誌記事が連載されていました。
しかし、ミニコン用の CPU をマイコン感覚で動かした例を見たときには、そんなことができるのかと驚きました。また FPGA を使っている点も注目で、この成果はGitHub に公開されています。
目標
DCJ11 は、2025 年 4 月現在でも eBay で複数の出品者が取り扱っていることを確認しています。そこで、この DCJ11 を使って、有名な UNIX V6 を実行させることを目標とします。
DCJ11 の入手
DCJ11 は、先人の動作実績がある eBay の Zoe’s CPU store よりDEC J-11 CPU DCJ11-AE Processor CDIP60 16bit 18MHz 57-19400-09 Microprocessor | eBayを購入しました。ここは他の DCJ11 を扱うところよりも、非常に安価な点も魅力です。そのため品切れなことも多いですが、頻繁に補充されます。
なお、こちらは eBay から独立したサイトも最近できたそうです。
DCJ11 と PDP-11 の資料
ハードウエアの基本方針
当初は@uCOM80等の例を参考に秋月電子から購入可能なTangNano 9Kを使った回路を設計しました。
この FPGA 評価ボードには、64Mbit の RAM が乗っています。そのため、この RAM を使って DCJ11 がサポートする最大メモリである4MiB を実装することが可能です。
UNIX V6 のシェル起動までは持っていけたのですが、あるはずのコマンドが見つからなくなる等どうにも安定させることができませんでした。
そこで、改めて FPGA ではなく、ロジック IC とマイコンの組み合わせで新しく回路を設計することにしました。
また基板のサイズが多分$10cm^2$を超えるためリフローによるハンダ付けを行えません。そこで、表面実装ではなくできるだけ DIP パッケージを使用しようと思います。
実装が必要な周辺装置
目標となる UNIX V6 を動かすためには、次の周辺装置が必要です。
この他 UNIX を動かす前に動作確認をするために紙テープの入出力装置PC11の実装も必要となります。ただ紙テープからの読み込みは、GUI でコンソールを操作するPDP11GUIを使用することで省略可能です。