現在地

Zilog Z80 DMA


テーマ:

カテゴリー:

Zilog Z80ファミリーのDMAコントローラです。


Z0841004PSC、DIPの4MHz版のZ80 DMAです。他ファミリーのDMAコントローラが大抵4ch内蔵しているのに対し、これはたったの1chしかない上に高価だったので、使われているところをあまり見ません。私も実際に回路設計やソフトウェア開発の経験はないです。

さてこれの資料を読んだとき(30年ぐらい前)はちょっと衝撃でした。それまで知っていたDMACというのはPC-8001にも使われていたIntel 8257で、DMA転送時にDMACはメモリアクセスのバスサイクルを発生し、同時にI/Oデバイスをこじ開けてメモリ-I/O間で直接転送する方式になっており、それが当然だと思っていたのです。それなのにこのZ80 DMAは2回のバスサイクル(リードとライト)を発生するなんてというわけです。この方式では転送レートは約半分になる代わりに、メモリ-メモリ間とかI/O-I/O間といった転送が可能になったり、I/OデバイスとDMACの結びつきを弱く出来るなどのメリットもあります。
この2つの方式、確か前者をシングルアドレスモード、後者をデュアルアドレスモードと呼んだと思います。有名な独立DMAC(CPU/MPU内蔵ではない)を表にしてみました。

Device CH SAM DAM
Intel 8257 4 Yes No
Intel 8237 4 Yes No
Zilog Z80 DMA 1 No Yes
Motorola MC6844 4 Yes No
Motorola MC68440 2 Yes Yes
Motorola MC68450 4 Yes Yes
参考文献・関連図書: 
Z84C10データシート, Zilog.
"Z80 Family CPU Peripherals User Manual", Zilog.
関連項目: 

コメントを追加

Plain text

  • HTMLタグは利用できません。
  • ウェブページアドレスとメールアドレスは、自動的にハイパーリンクに変換されます。
  • 行と段落は自動的に折り返されます。
※ コメントは原則公開です。個別のご相談などは「ご意見・ご要望」からお願いします。