他们为什么要在硬盘上放置“处理器”?


54

硬盘驱动器上有处理器时,这是什么意思?它是如何工作的,有什么好处?

我不明白-计算机上的CPU是处理器,硬盘驱动器将其内容传输到主机的RAM。其他处理器是否以某种方式预处理数据?

这里有些例子:

  1. 西部数据WD黑色WD1002FAEX 1TB “双处理器速度”
  2. NETGEAR ReadyNAS 312 2托架无盘网络附加存储 “双核Intel 2.1GHz处理器和2GB板载内存”

此外,路由器现在也具有处理器。为什么有必要?我认为这很有道理-读入数据包需要一些逻辑才能知道将数据发送到哪个端口,但是为什么旧路由器不需要它们?

带有处理器的无线路由器示例:“双核处理器”

我很惊讶,因为冯·诺依曼机器模型不包括存储处理器 图


19
Netgear不仅是路由器,还是功能强大的文件服务器。使用硬盘驱动器,它只在一个硬盘上做一些预处理,而在另一个硬盘上做IO。从理论上讲速度要快一点,但是SSD仍然是速度之王。看起来ASUS路由器具有某些VPN功能和其他功能,需要具备一定的处理能力,因此是双核。
user341814 2014年

17
冯·诺依曼模型没有说明I / O设备的结构。您仍然需要图形卡来驱动监视器,即使该模型将其全部集中在单个“输出”块下。
user253751 2014年

10
冯·诺依曼体系结构(从1945年开始)(从概念上来说)是理解存储程序计算机的一个很好的起点。现代计算机(包括大多数外围设备)的实际实现要详细得多。在1945年,没有“智能外围设备”,因此它们不会在图中显示。汽车在概念上与1945年相同(四个车轮,一个发动机,一个方向盘),但是您不会期望1945年以后的汽车的简化图可以全面了解它们。
Maxx Daymon 2014年

7
冯·诺依曼架构图也没有在“内存”和“存储”之间包含箭头。考虑DMA
2014年

3
您是否知道(除了苹果公司-由于Woz),每台早期的家用微型计算机(我能想到)都在软盘驱动器中装有处理器?还记得早期的苹果软盘驱动器的大块大块的声音吗?那是因为他们通过将驱动臂移至最大距离三次而发现扇区为零。
Elliott Frisch 2014年

Answers:


81

好吧,HDD总是有处理器,主要用于缓存数据和做其他HDD东西,例如标记坏块等。

您链接的Netgear产品是NAS,它使您可以通过网络从其中流式传输媒体,因此它并不是真正的HDD。它更像是将HDD与某些功能强大的软件通过网络连接在一起,使您可以通过网络流式传输信息。

旧路由器也有处理器,尽管它们过去很慢并且根本不做广告。WRT54G于2002年问世,其Broadcom BCM4702运行于125Mhz。确实不是很快。但是,如今,我们对路由器的要求更高,而VPN等功能需要更快的处理器。


14
HDD并非总是具有可识别的“处理器”,但是它们在15到20年中已经很普遍了。
Daniel R Hicks

21
ST-506驱动器是“哑”驱动器,并一直持续到1990年代初期。IDE(集成驱动器电子设备,也称为“智能”驱动器)将控制器(CPU)放在驱动器上,SCSI也是如此。
2014年

11
包含处理器的硬盘驱动器可以追溯到1960年代初,当时带有CDC 6000系列外围处理器以及IBM System / 360中的等效处理器(可能还有更早的机器)。
2014年

3
好吧,您确实需要处理器来使缓存发挥最佳性能,例如确定要缓存的数据
matthew5025

3
硬盘肯定不是一直在内部跟踪坏块。为什么您认为MS-DOS 6.0引入了Scandisk及其表面扫描功能,以用不良群集列表填充FAT?
2014年

125

我不明白-计算机上的CPU是处理器,硬盘驱动器将其内容传输到主机的RAM。其他处理器是否以某种方式预处理数据?

在CPU是一个处理器; 还有其他。处理器负责运行程序代码,因此任何具有固件(即代码)的设备都具有某种处理器。

硬盘驱动器具有自己的(小型)处理器,该处理器运行固件,该固件实现接口协议(例如SATA或SCSI)并控制驱动器的电动机。将硬盘驱动器视为一台专用于计算机的计算机;SATA电缆就像一条网络电缆,可使其与“主”计算机进行通信。CPU创建消息(例如SATA命令包)以告知驱动器所需的数据,然后通过电缆将其发送到驱动器。驱动器的处理器查看来自CPU的消息,并控制驱动器的电动机和磁头实际读取或写入数据。

NAS是运行文件服务器软件的计算机。原则上,这与在PC上设置共享文件夹没有什么不同。NAS在速度较慢的处理器上运行更轻量级的操作系统,但实际上执行的是相同的工作。路由器也是如此。


53
我喜欢这个答案。CPU是中央处理单元,因此必须有其他处理器
gronostaj 2014年

19
关键是“任何具有固件(运行代码)的设备都具有某种处理器”。方式去做Wyzard!
2014年

2
掉电保护是可以在具有处理器和程序代码的硬盘驱动器中实现的功能示例。驱动器可以检测到MB断电的时间。然后,在高清处理器中运行的程序可以将缓冲数据的最后一位写入磁盘(通过板载电容器供电)。由于MB没电,所以它上的CPU没有电,对任何未完成的HD写入操作都没有用。因此,HD具有自己的功能,处理器和程序代码来完成缓冲的写入操作并完全关闭就可以了。
MikeM 2014年

2
并且来自Wikipedia:“一些早期的PC HDD不能在电源过早断开时自动停放磁头,并且磁头会落在数据上。在其他一些早期设备中,用户将运行一个程序来手动停放磁头。” -使用处理器和程序代码也解决了该问题。
MikeM 2014年

@gronostaj,所以我们还需要分散处理单元?
托尔比约恩Ravn的安德森

33

如果您可以详细了解典型台式PC的工作原理,那么到处都有处理器。如果您将键盘和鼠标连接到USB端口,则键盘内部有一个处理器,鼠标内部有一个说USB协议的处理器。

对于硬盘驱动器,该处理器需要完成很多工作。一方面,处理器必须定位磁头,等待正确的时间,然后将数据发送到磁盘。当CPU要求读取一堆数据时,处理器会找到从磁盘上检索数据的最佳顺序,甚至可能会提取一些恰好通过头部的多余数据以放入高速缓存中,以防CPU要求。下一个。

现代硬盘驱动器还可以在后台执行SMART运行状况检查。除了不必定期询问结果之外,CPU不必担心这些事情。

现代的SoHo“路由器”不仅仅是路由器。它们还是访问点,交换机,DHCP服务器,Web服务器,并且它们实现NAT,防火墙,有时甚至是NAS功能以及大量其他功能。他们的处理器有大量工作要做。

基本上,如今处理器的实施成本非常低廉,以至于几乎在任何有意义的情况下都可以使用它们。例外情况是任务非常简单或需要高性能的情况。哎呀,您的电源中甚至可能只有一个电源可以管理风扇速度并优化功耗。


1
“如果您将键盘和鼠标连接到USB端口,则键盘内部有一个处理器,鼠标内部有一个说USB协议的处理器。” 我以为这是控制器的工作。有时控制器被视为与处理器相同吗?
Celeritas 2014年

1
控制器可以是纯硬件,但是对它们的要求往往会增加,从而使硬件越来越复杂。在某种程度上讲,使用处理器和在软件中进行处理比较容易。但这并没有给控制器一个不同的名字。用户通常不希望或不必知道控制器的实现方式。而且,由于如今使用复杂的硬件ASIC和FPGA,与处理器的区别变得有些模糊。
2014年

我起初是把它读作“老鼠吱吱声” :)
Tom Zych 2014年

21

实际上,许多当前的“智能”设备都是成熟的计算机,通常运行某些Linux克隆。如果设备足够允许,或者已经被生根/越狱,则您可以进行修补,安装新软件包甚至更改操作系统。他们当然使用CPU。

示例包括电话,电视,DVD播放器,电子书阅读器,NAS盒,家用路由器,调制解调器和服务器中的带外管理,这些服务器实际上是具有自己操作系统的整个计算机。

但是,即使是愚蠢的设备也具有处理器,通常称为微控制器,负责例如读取和写入数据。手机中的Micro SD卡包含一个处理器,而SIM卡包含另一个可以运行Java应用程序的处理器。

即使是简单的儿童玩具(如交通信号灯)也具有microntroller,因为在微控制器的软件中实现照明逻辑比在分立组件中更容易且更便宜


8
实际上很少有人知道SIM卡是一台真正的计算机,您甚至可以通过特殊
SMS


不仅是SIM卡,而且任何符合ISO标准的Chip&Pin智能卡。银行卡,会员卡等现在都可以携带这些东西,其中一些功能非常强大。
2014年

20

回答您有关硬盘驱动器的特定问题,似乎没人能解决。

SATA(以及我能想到的所有其他磁盘附件接口)可与块配合使用。定义命令(以进行其他操作)以读取和写入特定的物理存储块,并且通过附件接口电缆提供数据。该命令必须在某个地方进行处理,可以在运行在板载处理器上的软件中完成,也可以使用某种纯硬件设置来完成,而这可能需要做很多相同的事情。

猜猜有什么便宜,体积更小,几乎不可能更容易使用并且通常用途更多的东西?没错,处理器,少量程序存储器(闪存,EPROM,ROM或其他任何适合您的需求)和少量RAM,如果您的需求足够小,则后两者甚至可以包含在其中。处理器本身(例如参见PIC系列单片机)。

另外,请记住,磁盘盘实际上并不存储位。它们存储位的磁通量编码。 事情必须处理来自读取头传来的流量读数,或将数据处理成流量转变为给予写头。如果读取不完美,则使用纠错数据(与数据一起存储)在理想情况下(不幸的是,并非总是如此)纠正错误并返回正确的数据而不是垃圾,或者如果问题也太多则返回错误严重到可以纠正。同样,这是最简单的方法,可以在必须运行某些程序的软件中实施,并且具有一定内存的处理器也非常合适。

板载强大的处理能力意味着您可以使用更高级的编码和错误恢复方案,对于硬盘而言,这意味着您可以将更多数据填充到同一物理表面积上。最终结果是为您提供了比其他方式更大的存储容量。但是,硬盘微控制器本身的处理能力对于驱动器用户而言并不是至关重要的。


1
为了详细说明“或使用某种纯硬件设置”,微控制器(如您所提到的)和自定义ASIC过去更加普遍。如今,使用“真正的”处理器(其运行的是基于ROM的嵌入式OS)比设计和制造定制ASIC并为微控制器编写高度专业化的固件通常更便宜,更简单。硬件问题变成了软件问题,并且组件更加标准化。这些都降低了成本……并为新功能打开了大门。
2014年

12

如果我已经阅读了这一点,请原谅我,但我还没有在答案中读到它(尽管所有其他答案都很棒)。

将处理器部署到硬件设备还可以减少中央处理器(即主板上的CPU)的工作量。

想想一台只有一个CPU的计算机,它必须完成所有需要完成的工作。控制内存,控制总线,管理硬盘驱动器特定的计算(驱动器旋转,访问,写入,读取的大小等)

如果一切需要做你的CPU来完成比不会有太多的时间留给您的实际任务。


9

让我们从显而易见的地方开始-那些“处理器”一直都处于某个级别。在较旧的驱动器中,这些存储在控制器卡中,而在任何接近现代的驱动器中,硬盘驱动器都具有光盘控制器 -pata驱动器的“ IDE”名称是指电子设备​​是板载而不是单独的卡。

传统上,这些都是微控制器,而我的固态硬盘-三星840具有基于三核 ARM的处理器。这些芯片做这样的事情的磨损均衡,处理各种内部转换(如转换ATA或SCSI命令的东西驱动电子groks),和两个因素-硬件是很多比以往更加复杂,处理器更便宜更快速比过去意味着将切碎的通用内核插入驱动器更有意义。但是,是的,这些处理器一直在那里。

有了路由器,他们一直都有mips或arm核心-他们基本上需要运行Web服务器和路由等功能。许多网络连接的驱动器使用相似或更好的内核,因此它们可以处理smb或admin页面之类的东西。

多年来,键盘具有与许多旧计算机相同的M68K处理器,并且鼠标带有臂芯以处理诸如奇特的灯光之类的东西,并且响应速度更快。


键盘何时有68K微处理器!像ST-225这样的驱动器中确实有处理器吗?
2014年

好吧,这是一个古老的,pack脚的Packard铃键盘,我在4-5年前就拆开了,当时是二手。有点意外。ST 225早于IDE,因此我需要一个单独的控制器。我几乎不会认为您会在过去15年左右的时间里在PC上找到它
Journeyman Geek

您确定它是68K与68HC05之类的东西吗?
2014年

关于ST225。MFM驱动器已经足够旧,可以使用主计算机的CPU。驱动器本身仅具有一条电缆,其中包含来自驱动器磁头的原始信号,用于改变磁道的信号,用于磁道改变方向的信号(指向较高的磁道或指向较低的磁道)以及指示磁道为零的信号达到了。所有管理(包括跟踪磁盘标签上打印的故障扇区)均在主计算机上的软件中进行。
Hennes 2014年

5

此外,路由器现在也具有处理器。为什么有必要?我认为这很有道理-读入数据包需要一些逻辑才能知道将数据发送到哪个端口,但是为什么旧路由器不需要它们?

路由器一直都有处理器。最初的两个路由器是在PDP-11上运行的软件(是的,最初为Unix编写的机器的后继产品)。一种在斯坦福大学开发,另一种在麻省理工学院开发。斯坦福路由器后来被许可给当时名为思科系统公司的小型初创公司使用。思科将PDP计算机重新包装到自定义的机箱中,贴在“思科”标签上,并将其作为路由器出售。

这就是旧路由器使用的处理器。

我记得曾经读过一篇关于思科创始人的采访,他曾这样说:“这是将软件作为金属盒出售的优势-您无需说服人们不要将其副本传递给朋友。” 我的Google Fu今天失败了,所以我找不到实际的报价。那时,一家名为Microsoft的小公司的某位创始人说服人们,他们必须为软件付费(当时这是Basic的早期版本)。


4

自从计算机革命诞生以来,所有半自动设备上都带有某种“处理器”,直到现在,它从未真正被标记为“处理器”。

您在这里看到的是过度的热心营销机构在我们的社会中传播的持续腐败和半信半疑,那里的销售人员受到越来越多的鼓励,并使其相信自己是展会的明星,这仅仅是因为他们是展会的主角利润。

事实是这样的,但是,任何必须执行一组任务的过程中,过程的下一个迭代可能不同于上一个迭代,则必须具有某种可以理解设备所给出指令的解释器。 ,然后以某种方式对这些说明做出反应。

回到时间的迷雾中,诸如“控制器”之类的术语成为常态,但这些仍然归结为同一件事。

以“ IDE硬盘驱动器,其在板载IDE控制器上”为例,虽然这与您在PC主板上所想到的CPU的含义不同,但它仍然是CPU的一种形式。

主机PC通过总线(PCI,ISA,MCI,PCIe或其他)向驱动器控制器发送“ OP代码”(操作代码简称)到驱动器控制器,然后控制器读取该代码以及随其提供的任何数据并将其翻转进行物理操作,然后使驱动器将磁头移动到正确的位置,并读取请求的数据。

路由器的历史更悠久,在过去50多年或更长时间中,Cisco现已建立了网络设备,并且这些设备中的每一个始终都具有自定义的控制器/ CPU。该CPU由Cisco设计,专门为Cisco进行编程和控制其整个范围或路由器和交换机。

图形卡是另一回事,您会听到人们将“ GPU”一词带入其中,就像有些神秘的事物只执行图形一样。不是,它是一个大规模并行数学算法处理器,我刚刚完成了有关Nvidia CUDA的书的技术编辑,而我从Nvidia GPU中学到的东西令人惊讶,这些东西本身就是Processor,设计用于执行一组专门的工作,但它们仍然是半智能的,并且能够执行许多不同类型的操作。

正如已经指出的那样,Netgear Readynas实际上更像是一台完整的PC。它只是专门设计为只能用作远程存储设备。

如果您愿意,没有什么可以阻止您使用新软件对Netgear设备进行重新编程,并使其完美用作Web服务器,数据库服务器甚至小型Linux开发服务器。(快速搜索将为您显示为数不多的旨在利用这些NAS单元完成此类任务的项目)

在处理器方面,要知道现在不仅是具有“处理器”的硬盘驱动器,您可能会感到惊讶,请尝试一下这个小实验。

进入厨房,看看您可以数多少个CPU。

我敢打赌,您的冰箱/冰柜,洗衣机,洗碗机,烤箱和微波炉(至少)都装有某种处理器,虽然它可能不是Intel Core i7,但它仍然是处理器,并且它设计成安静地坐着,解释其他电子/数字电路发送给它的指令,然后将其转变为您看到的物理操作。

那么,处理器的定义是什么?

好吧,这几天很难确定,但是总的来说,“处理器”的定义类似于“任何自包含单元,能够以半智能的方式作用于外部输入,并产生从这些输入派生的一组已知输出”

因此,任何可以基于一组预定义输入来影响某个已知过程的物理表现的独立单元,电路,芯片或自治机器,从其最基本,最一般的意义上讲,都可以视为是某种描述的处理器。


+1找到了一个不错的进一步思考的答案。我希望阅读有关“ 1024个内核同时执行所有相同指令”方面的GPU大规模并行化的信息,以使该方向更精确-但无论如何,我喜欢您的回答:)
Stefan

1
谢谢:-)如果您对GPU的大规模并行性感兴趣,请关注Syncfusions的免费电子书系列“ CUDA Succintly”,它应该在不远的将来发布,并且可以免费下载。
2014年

4

虽然硬盘和闪存介质卡并不总是包括处理器,其设计受到相当简单的原则:什么用处理器必须知道什么是必要的存储和检索数据。如果存储设备不包含处理器,但已连接到有处理器的设备,则硬件必须允许使用连接设备期望的确切步骤顺序来存储和检索信息。即使以其他方式存储和检索信息可能会更有效,但连接的系统可能无法知道该信息。

例如,大多数硬盘驱动器通过在两个方向之一上磁化每个磁盘来工作。如果“ L”代表一个方向在一定时间范围内的磁化强度,而“ R”代表另一个方向在相同时间范围内的磁化强度,则尝试直接使用“ L”表示“ 1”和“ R”代表“ 0”将非常不可靠,原因有两个:

  1. 一串长的1或0代表一串长的Ls或Rs,这又可能会误读为稍长或稍短的字符串。例如,如果驱动马达在读取数据时的运行速度比写入数据时慢5%,则以20 Ls的字符串写入的驱动器可能会以21 Ls的字符串读取错误。

  2. 由少量Rs分隔的两串Ls可能会扩散成该小串Rs并“吞噬”。同样,两个R串由少量L分隔。

由于这些因素,驱动器通常需要将信息编码到长度介于最大和最小之间的Ls和Rs中。最大长度和最小长度的最佳值可能取决于电子设备,电机,打印头和介质的质量。此外,由于磁盘上的外部磁道比内部磁道长,因此它们可能能够存储比外部磁道短的Ls和Rs。

为了将信息存储在驱动器中,必须将其连接到知道如何将数据转换为媒体可以容纳的Ls和Rs字符串的设备。如果转换Ls和Rs的行为是与驱动器本身分开的控制器的责任,那么驱动器将只需要使用可能被其连接的任何控制器都可以理解的格式。将控制器移动到驱动器组合件上可以缓解此问题:如果每个制造商在驱动器中附带的控制器都可以理解其数据存储方式,则无需担心其他任何控制器是否会理解该数据,因为信息只会由驱动器组件中包含的控制器存储和检索。


3

正如人们已经解释的那样,许多外围设备/设备始终具有处理器来提供其核心功能,甚至相对基本的路由器实际上都是小型服务器(对于最终用户而言,最明显的方面是基于Web的配置向导,您需要一个IP堆栈,Web服务器等以及在其上运行的处理器)。

但是您还应该意识到,现代的消费类NAS不仅如此,通常您可以通过网络浏览器登录它,并且可以访问具有许多应用程序,软件包管理系统,多种服务以流媒体文件,运行自动更新,读取连接到USB端口的其他存储设备等,因此几乎是一个完整的桌面环境(尽管GUI的某些工作显然是与客户端计算机共享的)。


2

所有硬盘驱动器始终具有处理器。 所有路由器都始终具有处理器。

您的图形卡具有处理器。一直都有。您的网络接口卡具有处理器。一直都有。您的打印机具有处理器,键盘,鼠标,并且处于打开状态。我很难想像连接到您计算机上的没有某种处理器的设备。

现在,由于它们的性能更加关键,因此越来越多地在宣传它们,因为我们要求这些设备做更多的事情。


2

实际上,计算机电子学中没有任何设备如此笨拙,以至于没有处理器就可以发挥作用-至少几乎所有东西都必须在某个时间输入或输出信号。如果该信号发生变化,则必须有关于如何变化的规则,并且处理器将执行这些规则。

远离问题,但加强了所有具有处理器主题的主题,在80年代,我是一名系统管理员,负责一些VAX / VMS大型机。

我们有一台非常快的(嘈杂的)乐队打印机,用一堆锤子敲打了一个高速,高张力的乐队。我认为这是一台每分钟600行的打印机。这样就完全形成了132个字符行,而不是点线。

为了控制锤子敲打乐队的时间,它有一些简单的电子电路。这需要根据频段使用不同的程序-您可能有更快的频段,这些频段只有大写字母(一个频段上有几组ASCII)。

每次打开打印机电源时,该处理器的程序都存储在一条纸带上,并连续读取该纸带(是的,大多数时间它都在运行)。

我只有在操作员热情清洁打印机并找到纸带时才发现。幸运的是,他意识到这不仅是一张纸,而且没有尝试将其取出。


2

硬盘驱动器上有处理器时,这是什么意思?

这意味着驱动器的CPU较小。通常,任何具有CPU的设备都将具有固件。

它是如何工作的,有什么好处?

计算机外围设备很复杂。例如,相当涉及读取和写入数据到软盘驱动器的操作。您需要操纵用于移动驱动器磁头的硬件,然后查找扇区标头,并根据协议来确定读入行中的数据是否有意义。

让我们以读取软盘驱动器的简化示例为例:CPU与外界进行通信的最基本的方式可能是通过I / O端口。这些端口连接到主板或插座上的线路-如果电流通过线路,则在读取端口时,端口上的CPU可以看到1;否则,CPU可以看到0。类似地,对于写操作,CPU可以在端口上写1以使电流通过线路,或将其设置为0以阻止线路通过。

因此,对于软盘驱动器,让我们说一下,您有一条线连接到软盘的读/写头。要读取数据,您需要等待“磁通反转”-基本上是磁能的转变,这将导致线路从0变到1或从1变到0。然后,您需要跟踪多少时间直到您将检测到第二次磁通反转,并继续执行此操作,直到将所有位都包含在扇区中,然后将这些测得的持续时间放在一起以重新创建数据。这甚至不涉及诸如移动驱动器头部或等待驱动器电动机达到正常速度之类的事情,因此您的持续时间不会被弄乱,并且考虑到没有两个电动机可能完全相同的事实,因此您需要以某种方式灵活地进行测量。

希望这听起来很复杂,因为确实如此。

可以肯定的是,您可以对普通的计算机CPU进行编程来实现此目的,但是由于它对时间非常敏感,因此在进行此操作时,计算机的CPU实际上无法做其他事情。出于这种原因,实际上在所有CPU /所有软件中都这样做以节省成本的旧计算机(例如旧的Apple IIe)在读取/写入光盘时无法执行任何其他操作。

通过在驱动器中放置一个小型CPU并在主板上设置一个实际上只是通信总线的控制器,您的CPU可以运行其他程序,使用该总线获取/发送数据到驱动器,并卸载大部分物理低功耗驱动器。将驱动器本身的水平工作。此外,随着技术的进步,用于处理它的低级编程可以保留在驱动器中,而无需更改计算机上的程序以使用不同的内部驱动器格式。

对于路由器,实际的低级路由功能在硬件中并不难做到,许多企业级路由器都可以做到这一点,但是防火墙,端口转发,访问控制以及Web界面或控制台之类的东西就足够复杂,需要使用一个CPU来做。

我很惊讶,因为冯·诺依曼机器模型不包含存储中的处理器

冯·诺依曼模型中没有任何东西表明任何外围设备本身都不是冯·诺依曼机器。使外围设备成为外围设备的原因是,CPU可以通过某种总线或其他I / O机制向其发送命令并返回结果。


2

----此页面上的所有答案都太长了(或让我觉得)---所以id喜欢添加一个...

  • 磁盘具有处理器,因为按顺序从磁盘上的“ Spot”移动到“ Spot”的物理活动是一项半艰巨的任务

  • 如果您以“错误”或“慢速”顺序读/写数据,并根据彼此之间的距离等,您会严重降低数据传输速度。

最好的描述方法是,如果您在商店工作,并被告知要从最远的角落获取物品,然后再将所有物品带上路途。

一个聪明的命令是沿途捡起所有东西= =这就是AHCI与NCQ一起工作的方式。

NCQ需要更智能的处理,因为它可以更好地计划其搜索。

在此之前,有一种称为PIO或“处理器控制的... umm ... I / O。”之所以缓慢,是因为1.用计算机术语来说,CPU和HDD之间的距离很大:延迟。确定命令的延迟= 2. CPU需要做其他事情3.多数民众赞成在真的。

计算机在此处此处询问文件 磁盘负责“ HOW”将其发送到计算机。

...完成


您所描述的被称为电梯算法。命令排队(例如SATA的NCQ)使CPU可以将多个命令作为一个组发送到驱动器,以便驱动器可以确定执行它们的最有效顺序。在没有命令排队的情况下,CPU必须先等待驱动器为每个请求提供服务,然后再发送下一个请求,因此驱动器必须按照CPU发送请求的顺序来服务这些请求。由于CPU不知道磁盘的内部物理布局,因此效率可能较低。
Wyzard

不过,PIO有所不同。在这种模式下,CPU必须运行代码以接收驱动器正在读取的数据,这效率很低。它通常被DMA取代,它使驱动器可以将数据直接存储到RAM中,而CPU可以处理其他事情。
Wyzard
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.