メインコンテンツへ
コンピュータ構成要素

DMA(Direct Memory Access)の特徴として、最も適切なものはどれか。

ア.CPU が1バイトずつ入出力装置と主記憶の間のデータ転送を仲介する方式
イ.CPU が定期的に入出力装置の状態を問い合わせる方式
ウ.主記憶上に直接プログラムをコンパイルする方式
エ.CPU を介さず、入出力装置と主記憶の間で直接データを転送する方式正解

解説

DMA は「宅配便を玄関先で受け渡しせず、台所まで直接搬入してくれる業者」。CPU の手を煩わせずにデータを運びます。

なぜ エ が正解か

エが正解。DMA コントローラが CPU の代わりに転送を担当することで、CPU は転送中に別の処理を進められます。バスの占有権を一時的に DMA に譲る「サイクルスチール」などの方式があり、ディスク・ネットワーク・グラフィックスなど大量データ転送で活躍します。

なぜ ア は間違いか

これはプログラム制御転送(PIO)の説明。CPU が逐次関与するため負荷が高く、DMA とは対照的な方式です。

なぜ イ は間違いか

これはポーリングの説明。状態問い合わせを延々と行うため CPU を消費し、DMA とは別の話題です。

なぜ ウ は間違いか

これは JIT コンパイルなどに近いですがDMAとは無関係。「メモリへの直接アクセス」という字面に引きずられた誤答パターンです。

出典: AI生成問題(学習用)