将事物从一个USB磁盘复制到另一个USB磁盘时,处理器会做什么?


21

我复制的所有数据都通过它还是还有其他更直接的方法?


该处理器处于活动状态,并且可以通过USB进行控制,但不能通过火线进行控制(因为该卡具有自己的CPU)
tobylane 2011年

Answers:


31

整!数据本身并没有真正通过CPU。

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

想象一下在您(数据),手臂(芯片组/ I / O芯片)和大脑(CPU)前面有一个对象。您实际上并没有使用大脑来移动对象,而是大脑对手臂执行了“命令”来移动对象。


1
好比喻,@ Wil。
Shinrai 2011年

4
@Shinrai-但是,如果他们有通灵的话就不会站起来!我想用我的大脑移动物体!
William Hilsum

DMA还是没有绕过CPU?
o0'。

2
DMA通过向CPU发出interruptIO命令block device(例如USB记忆棒)完成的时间来提供帮助。然后,CPU继续执行复制。实际上,CPU的工作是运行ioctl与设备驱动程序连接的内核代码,以复制chunks(实际名称)DMA。CPU还处理内核代码执行透视图,asynchronous IO并且与sync IO内核代码执行透视图略有不同。
亨里克

1
我不代表销售代表,只是喜欢这个网站并为人们提供帮助!我不认为最好用两个句子来表示,但是希望现在可以更好。...如果您不喜欢它,我认为对于低级成员来说是个新事物,请尝试自己编辑!
William Hilsum

5

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

通常,读取的数据将以块的形式读入主存储器,但实际上并没有通过CPU。


4

在具有智能通道的大型机上,cpu只会告诉通道进行复制。非常高效,可以快速进行大型备份,而CPU开销却很少。

不幸的是,我们没有智能通道,因此CPU最终陷入类似于以下的循环:

对于每个文件(dev1); 做
   createfile(dev2);
   copyfilecontent(dev1,dev2);
结束;

除非有很多小文件,特别是同一目录中有很多文件,否则CPU开销不会很高。创建文件操作通常具有最高的开销。磁盘到磁盘的复制只是将每个磁盘视为一个预先存在的文件。


什么是智能渠道?您可以为此显示一个伪代码段吗?
亨里克

智能通道是处理大型机上I / O的硬件设备。我希望它们本身就是功能有限的微型计算机。不知道他们的代码是什么样子。当大型机在8MB的内存中处理100个在线用户时,它们非常重要。我相信Commodore计算机过去在其磁盘系统中拥有第二个CPU。它们可能具有类似的功能。
BillThor 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.