プログラムモードと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種類のバスマスタからのバス調停回路、簡単な割り込み管理、インターバルタイマなども合わせて集積されています。
本当はこれ以外にDMAコントローラMN1650があります。MN1630 SCAと組み合わせて、DMA
I/Oチャネルを構成するためのLSIです。
Return to Collection