AHCI(NCQ)开启跟关闭的本质区别

近来看见很多人在关心AHCI这个话题哦!都在讨论该不该开AHCI或开启后性能提升多少这个问题!
兴趣浓烈啊!为了让大家打消心中疑虑,我就在这里简单说说吧!

先来说说硬盘的普通读写过程吧:
大家都知道,电脑所有动作都需要指令,也就是说电脑每个部件的所有运作都根据CPU发出指令,对应部件接收到指令才执行相应的动作,硬盘也不例外!在没有开启AHCI的情况下硬盘是接收到读写某文件的指令后硬盘就根据指令要求寻找文件在磁盘的所在位置(NTFS文件系统可以根据文件表记录快速寻找)再进行读写和修改工作!操作是有先后顺序连的!

最后一句“操作是有先后顺序连的”解释:
1、读取:
因为文件非连续性,所以硬盘在读取时是按照顺序读取同一个文件的第一部分再第二部分再第三部分以此类推!读取出来的各部分直接送到所需设备运用!当然遇到大文件时时需要内存来暂存的!
2、写入:
文件存在于硬盘并不是单个文件写入在磁盘同一个区域,而是有空间就写入,遇到这个区域空间不够就跳到另一个空间继续写入,这样就形成了零散文件!


以上就是硬盘普通读写过程!

再来说说AHCI方式下的读写过程:
AHCI(NCQ)本地命令队列,“命令队列”,了解这个词的意思不?意思就是利用CPU指令重新编排好读取顺序,不需要按照文件的拆包的先后顺序分别读取各个区域的文件!
1、读取:
前面已经说过了,普通读写是要按照顺序的,但AHCI不需要,它已经利用驱动和支持的硬件重新编排好指令!具体如何实现呢!?原理就是让CPU/南桥/内存介入工作,优化后的指令送到硬盘,硬盘接收到优化后的指令不需要按照顺序读取所需文件,而是遇到那部分就读取那部分,读取出来的错乱顺序数据先由南桥整理后再放到内存重新编排, 整理好后再由内存输出给需要的设备使用!
2、写入:
基本和普通一样,也是遇到有空位就写,写满这个空位后就另外找地方再写,写完为止!没有什么特殊!唯一差别就是占用了更多的系统资源!

原理大概就是这样,如果看明白的话就应该能了解到所谓的性能提升是从何而来!
AHCI最大的好处就是硬盘磁头不需要来回这么多次,减少寻道次数!单方向活动就能读取到所需的文件!而普通方式读取却需要来回很多次,至于多少次那要看文件的零散程度了!
而坏处是需要外接介入控制编排指令,这样就造成了系统资源被占用增大!

结合上面说所的,AHCI总体性能提升不会有多大,它无非就是优化了零散文件读取的速度,如果文件本来就是连续性的话AHCI根本就一无是处!我们使用电脑需要养成良好习惯,定时整理一下文件碎片,这样的话有没有AHCI也一样了!还能腾出一部分系统资源呢!

你可能感兴趣的:(区别)