サイクルスチールDMA

 データ転送の間だけアドレスバスあるいはデータバスとCPUとを電気的に切り離す方法である。このような方法をサイクルスチール(cycle steal)という。ここで、切り離すというのはCPUのバス端子とシステムのバスとの間がハイインピーダンスになって電気的にOFFになるという意味である。

 例えば8080Aの場合、DMACはHOLD端子をハイにして、DMA転送をCPUに要求し、CPUはそれを認めるとバスラインは浮いた状態(floating:フローティング)になって、HLDAピンに応答信号を出力する。

 CPUのバスをOFFにしておき一挙に転送してしまう場合、即ちDMAサイクルが連続していて、転送の途中でCPUが命令を実行しない場合をバーストモード(burst mode)またはホールトバーストモード(halt burst mode)という。そして、命令実行の特定のタイミングにのみDMAサイクルを入れる方式をホールトサイクルスチール(halt cycle steal)と呼び、区別している場合もある。

[補講]6800の場合、HALT端子をハイにすると、アドレスバス、データバスがハイインピーダンスになる。 ◇

参考文献

  • 『学習コンピュータ 1978年2月号』