L-16Aの周辺LSI

サブチャネルアダプタ(SCA) MN1630は、サブチャネル、あるいは入出力用のチャネルとバスとのインターフェースを行うLSIです。チャネルというのは、どちらかというと大型コンピュータからの概念ですが、現在のパーソナルコンピュータで対応するものというと、SCSIが挙げられるでしょうか。システムバスに直接ディスクインターフェースやシリアルインターフェースやプリンタインターフェースを接続するのでなく、すべてサブチャネルバスに接続するアーキテクチャです。システムバスには、メモリとサブチャネルアダプタと、例外的にシステム制御のためのレジスタ類が接続されるだけ。システムバスの最大長を50 cm程度にして、サブチャネルバスは10 mくらいまで延長してさまざまなデバイスとインターフェースしようという考えであったと推定されます。今はハードディスクも磁気テープも小型になっていますが、1970年代は巨大な装置でしたから、小さな箱の中に納めるわけにはいかなかったわけです。

MN1630

プログラムモードとDMAモードの2種類のモードを持ち、データ転送の作業の大部分をCPUが世話するか、DMAコントローラが世話するかによって少々異なるインターフェースを持ちます。
プログラムモードではレベル入力やパルス入力のハンドシェークラインを備えた双方向8 bitインターフェース(2個使用して16 bitインターフェースも可)として使用できますし、サブチャネルバスへ転送中のデータがコマンドかデータかを示すような複数のコマンドラインや、サブチャネルバスに接続されたデバイスのステータスを取得できるステータスラインも数本ずつ備えられています。また、デバイス側からの割り込みも可能になっていて、確かに今でいうSCSIやGPIB的なI/Oバスとして使用できました。
ただし、あくまでPFL-16Aシリーズのみにおける独自I/Oバス(しかもMN1630を使用してすらハードウェアなどの設計者によってバスの仕様を変更できた)ということもあり、ローカル過ぎた感もあります。しかも単なるパラレルI/Oとしては高価すぎ、普通のラッチや8255とかMC6821の類をCPUのシステムバスに接続した方が安価でプログラミングしやすいこともあって、ちょっとねー、てな感じでした。

システムコントローラ、クロックジェネレータ、リアルタイムクロック(インターバルタイマ)などがひとつに納められているのが、リアルタイムシステムコントローラ(RSC) MN1640です。MN1610は、この頃のCPUではよく見られたように、TTLレベルでない非対称の2相クロックを必要とします。電圧レベルの変換は別の小規模なバイポーラICで行うことにして、このMN1640は10 MHzの水晶発振子から非対称2 MHzの2相クロック信号を生成します。クロック信号の生成だけではLSIにする意味がないと考えたか、2種類のバスマスタからのバス調停回路、簡単な割り込み管理、インターバルタイマなども合わせて集積されています。

MN1640

本当はこれ以外にDMAコントローラMN1650があります。MN1630 SCAと組み合わせて、DMA I/Oチャネルを構成するためのLSIです。
 

Return to Collection