cpu和硬盘并行访问内存

半兽人 发表于: 2016-09-26   最后更新时间: 2023-05-23 13:25:30  
{{totalSubscript}} 订阅, 4,528 游览

实际上,CPU只知道硬盘存在,但不知道有硬盘缓存的存在,比如,你家的自来水,你只知道有自来水公司(相当于硬盘)给你提供水,但你不知道,你家楼顶上还有个水塔(假设你住在高楼,水塔相当于缓存)存在。水塔是供水系统提供一种保证水流畅通的机制,和你家的用水是无关的,因此,你是CPU,你根本不会去关心是否有水塔,水塔多大,水是怎么流进水塔的,硬盘和硬盘缓存的关系跟自来水公司和水塔的关系是一样的。但是,水肯定是从水塔流出来的,CPU读硬盘数据肯定也是一样,硬盘将数据准备到缓存,再由CPU读出。

写入也一样,假设你家有个大水泵,你可以向自来水公司供水,那你在你家的管道上,将水泵入,水肯定是经过你家楼上的水塔,再由水处理系统送到自来水公司的,除了你家(CPU)管道接口外,都是自来水公司(硬盘)管理的

事实上,你根本不用关心缓存的存在,缓存对应硬盘而言,你可以认为是透明的,存在不存在,在逻辑上,不影响使用,只影响性能。

CPU读取或写硬盘,一般由CPU控制电脑上的硬盘控制器,而控制硬盘,读写数据有两种方式,一种由cpu直接读写,另一种是dma传输,dma传输cpu给dma控制器设定参数,由dma控制器直接操作内存完成读写,此时cpu暂停工作。

IDE硬盘的传输模式

目前硬盘普遍采用IDE接口,使用美国国家标准协会(ATA)制定的标准,因而亦被称为IDE/ATA, 随着发展,后来又出现了ATA-2,FAST-ATA,FAST ATA-2,最高数据传输率达到了16.6MB/s。

IDE硬盘的传输模式分为两种,既PIO(Programmable I/O,可编程输入输出),另一种既为DMA。

顾名思义,PIO方式需由CPU来进行操控,故而CPU的资源也会被大幅占用。而DMA方式则由主板上的主控芯片组中的DMA控制器来管理硬盘与总线间的数据传输,是一种快速传输数据资料的方式,在资料传输时不需中断CPU的工作。所以可以节省CPU的占用率,使得CPU可以腾出大量的时间处理其他的数据和程序,进而能够大幅度地提高系统性能。PIO模式可分为Mode 0-4,DMA模式可分为Mode 0-2,传输率可从3.3-16.6MB/s不等。

更新于 2023-05-23

查看shares更多相关的文章或提一个关于shares的问题,也可以与我们一起分享文章