問題 No.6889
コンピュータの入出力制御方式の一つであるDMA(Direct Memory Access)に関して、不適切なものはどれか。
【正解の解説】
CPUを介さずにメモリと入出力装置の間で直接データ転送を行うため、転送処理中であってもCPUは他の命令を実行することが一切できず停止する。
レストランの注文で例えると、ウェイター(CPU)がいちいち厨房と客席を往復せず、専用の配膳ロボット(DMAコントローラ)が料理を運ぶ仕組みです。ロボットが運んでいる間もウェイターは別の客の接客ができるため、転送中であってもCPUが完全停止することはありません。
スポンサーリンク
【その他の選択肢の解説】
CPUの代わりに専用の制御回路であるDMAコントローラがバスを占有してデータ転送を主導するため、システム全体のバス使用効率が向上する。
CPUがすべてのデータ移動の雑用をこなしていると、本業である複雑な計算処理の時間が奪われてしまいます。そこで、専門の運び屋であるDMAコントローラに任せることで、CPUの負担を大幅に軽減し、コンピュータ全体の仕事効率を高めることができます。
磁気ディスク装置やネットワークインターフェースなどの高速な入出力装置において、大量のデータを効率よく転送するために広く利用されている。
一文字ずつ手紙を書き写すような低速な処理ではなく、分厚い辞書をごっそりコピー機にかけるような大量データのやり取りで真価を発揮します。ハードディスクやネット通信といった、次から次へと大量のデータが流れてくる現代の高速デバイスには欠かせない技術です。
メモリと入出力装置の間で直接データ転送を行う際、メインメモリ上のアドレス指定などを正確に行うためにDMAコントローラが内部レジスタを利用する。
どこからどこへデータを運ぶのかという「宛先」や「荷物の量」を管理するために、DMAコントローラ自身もメモ帳や黒板のような一時記憶エリア(内部レジスタ)を持っています。これを利用して正確な住所(アドレス)を指定し、迷うことなくデータを送り届けています。