当我将东西从一个 USB 磁盘复制到另一个时,处理器会做什么?

Fel*_*bek 24 cpu file-transfer

我复制的所有数据都是通过它还是有另一种更直接的方式?

Wil*_*sum 34

棘手的一个!数据本身并没有真正通过 CPU。

数据和关键的 1 和 0 通过芯片组或专用 I/O 芯片和内存,但是,当您复制文件时,执行复制的命令由处理器运行。

想象一下,在您(数据)、您的手臂(芯片组/I/O 芯片)和您的大脑(CPU)面前有一个物体。你实际上并没有用你的大脑来移动物体,你的大脑运行“命令”到你的手臂来移动物体。

  • @Shinrai - 不过,如果他们是通灵者,它就站不住脚!我很想用我的大脑移动物体! (4认同)
  • DMA 通过在对“块设备”(例如 U 盘)的 IO 命令*完成*时为 CPU 提供“中断”来提供帮助。然后 CPU 继续执行复制。事实上,CPU 正在运行内核-`ioctl` 代码,该代码与设备驱动程序接口以通过`DMA` 复制`chunks`(实际名称)。CPU 还处理与内核代码执行视角略有不同的“异步 IO”和“同步 IO”。 (3认同)

Chr*_*isF 5

CPU 必须运行读取源文件然后写入目标文件的程序。

读取的数据(通常)会以块的形式读入主内存,但实际上并不通过 CPU。