當我將內容從一個 USB 磁碟複製到另一個 USB 磁碟時,處理器會做什麼?

當我將內容從一個 USB 磁碟複製到另一個 USB 磁碟時,處理器會做什麼?

我複製的所有數據都經過它還是有其他更直接的方式?

答案1

棘手的一個!數據本身並不真正經過CPU。

資料以及關鍵的 1 和 0 通過晶片組或專用 I/O 晶片和內存,但是,當您複製檔案時,執行複製的命令將由處理器運行。

想像一下,您面前有一個物體(數據)、您的手臂(晶片組/I/O 晶片)和您的大腦(CPU)。你實際上並沒有用你的大腦來移動物體,你的大腦向你的手臂發出「命令」來移動物體。

答案2

CPU必須執行讀取來源檔案然後寫入目標檔案的程式。

讀取的資料(通常)會以區塊的形式讀入主內存,但實際上並不會經過 CPU。

答案3

在有智慧通道的大型主機上,CPU 只會告訴通道進行複製。非常高效,並且允許以很少的 CPU 開銷進行快速的大型備份。

不幸的是,我們沒有智慧通道,因此 CPU 最終會陷入類似於以下的循環:

對於每個檔案(dev1);做
   建立檔案(dev2);
   複製檔案內容(dev1,dev2);
結尾;

除非有很多小文件,特別是同一目錄下有很多文件,否則CPU開銷不會那麼高。建立文件操作通常具有最高的開銷。磁碟到磁碟複製只是將每個磁碟視為預先存在的檔案。

相關內容