• ベストアンサー

データ転送の違い

データ転送 プログラム転送 バッファ転送 DMA転送 以上のうち、バッファ転送はCPUを介さずに直接データをやりとりすることでCPUの負担を減らす転送、 バッファ転送は処理速度や転送速度を補うための一時的に保存する領域からの転送だと認知しておりますが、プログラム転送はそれらとはどのような違いがあるのでしょうか? これらの違いをお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • gungnir7
  • ベストアンサー率43% (1124/2579)
回答No.2

バッファ転送とDMA、及びプログラムIOは分けて考えた方がいいです。 おっしゃる通りバッファとは一時的な記憶領域のことを指します。 一時記憶領域ですから、これはかなり汎用的に使われます。 用途によってはキャッシュ、スプーラなど別の呼び方をします。 例えばここへの投稿のとき誤って消さないようにメモ帳で文章を作成したとします。 するとメモ帳がバッファとみなせるわけです。 バッファ転送は物理的に一時的な記憶領域をつくって、それを利用します。 それ以上の意味はないので >CPUを介さずに直接データをやりとりすること は全くの的はずれです。

その他の回答 (2)

  • Donotrely
  • ベストアンサー率41% (537/1280)
回答No.3

自分的には、DMA以外はなんとなくかなり普通名詞のような感覚なんですけどね。 まあ感触としては、とりあえず、 DMA ⇔ プログラム転送 かなあ。 DMAはCPUを使わない。プログラムはCPUを使う。 バッファ転送は、送り側の送信速度の変動や、受け側の受信速度の変動を 吸収する必要があったり、 元々送信速度>受信速度の関係があって、途中である程度溜め込む必要があるような場合、 途中にバッファを設置するイメージかなあ。 データ転送はほとんど普通名詞でしょう。データを転送することという以上の説明は難しいですね。

  • rinkun
  • ベストアンサー率44% (706/1571)
回答No.1

> CPUを介さずに直接データをやりとりすることでCPUの負担を減らす転送 これはDMA転送ですね。DMAはDirect Memory Accessの略です。 プログラム転送はCPUを使って1ワードごとに読込み書出しを行って転送する方法です。DMA転送の対語と思ってよいでしょう。

関連するQ&A