2017-08-30 21:34 — asano
カテゴリー:
今日のものも買った記憶のまったく無かったNEC VシリーズのDMAコントローラです。
NECのμPD71037CZ-10、10MHz版で40ピンDIPのものです。パッケージは他にQFPとPLCCがありました。
このμPD71037はIntel 8237をNECがVシリーズ向けにCMOS化したもの、機能などはそのままのはずです。ちょうど8255に対するμPD71055のようなものです。
元になった8237はPC-9801シリーズに使われていましたから知らずにお世話になった人は多いと思います。
資料には8237AC相当としかないので実際にμPD71037がPC-9801シリーズに使われたかはわかりません。私所有のPC-9801F2には8237が使われていました。
8237は8ビット時代の開発ですからアドレスは16ビットしかありません。μPD71037もこの点は一緒です。8086やV30(μPD70116)などと使う場合にはアドレスが不足しますので何らかの工夫が必要になります。PC-9801シリーズでは外部にレジスタを設け不足するアドレスを補っていました。初期の頃は単なるレジスタだったので64kB境界を跨ぐDMA転送を行うことはできませんでした。途中(80286が使われるようになった頃)からはこのレジスタに自動インクリメント機能がついてこの制限はなくなりましたが、オートロードモードは使えなかったはずです。
これらが完全に解決されたのはμPD71071ですが、PC-9801シリーズには(互換性のためか)採用されませんでした。例外はμPD71071相当のDMACを集積したV50(μPD70216)を搭載したPC-98LT, PC-98HAのシリーズだけだと思います。
最後に以前Z80 DMAの項に載せたDMAC比較の表を再掲します。デバイス・項目を追加しています。
Device | CH | SAM | DAM | アドレス幅 | データ幅 | 備考 |
---|---|---|---|---|---|---|
Intel 8257 | 4 | Yes | No | 16 (64kB) | 8 | |
Intel 8237 | 4 | Yes | M-to-M | 16 (64kB) | 8 | AMD Am9517がオリジナル DAMはメモリ-メモリ間転送時のみ |
NEC μPD71037 | 4 | Yes | M-to-M | 16 (64kB) | 8 | DAMはメモリ-メモリ間転送時のみ |
NEC μPD71071 | 4 | Yes | M-to-M | 24 (16MB) | 16 | DAMはメモリ-メモリ間転送時のみ |
Zilog Z80 DMA | 1 | No | Yes | 16 (64kB) | 8 | |
Zilog Z8016 | 1 | No | Yes | 16 (64kB) + S | 16 | メモリ空間はMMUに依存する |
Motorola MC6844 | 4 | Yes | No | 16 (64kB) | 8 | 日立 HD46504がオリジナル |
Motorola MC68440 | 2 | Yes | Yes | 24 (16MB) | 16 | |
Motorola MC68450 | 4 | Yes | Yes | 24 (16MB) | 16 | 日立 HD68450がオリジナル |
NS NS32203 | 4 | Yes | Yes | 24 (16MB) | 16 |
参考文献・関連図書:
アスキー出版局テクライト編(1990)『新版 PC-9800シリーズ テクニカルデータブック』アスキー出版局.
uPD71037データシート, 日本電気.
関連項目:
広告:
コメントを追加