美文网首页
计算机的时间尺度

计算机的时间尺度

作者: Ericgogo | 来源:发表于2018-04-20 14:46 被阅读0次

    计算机内设备运行的时间尺度相差非常大, CPU的时钟周期、内存存取周期和硬盘读写周期相差一个到几个数量级

    比如:

    主频是4GHz的GPU的时钟周期是0.25ns.

    相比CPU,一般的DDR内存芯片速率仅为400MHz,时钟周期达2.5ns, 再加上总线延时,导致内存访问时间达到几十纳秒。CPU运行速率与内存访问速率比大致为100:1

    硬盘的读写速度就更慢了,一般的机械硬盘的完成一次读写所需要的时间,主要取决寻道时间+旋转时间,完成一次读或者写的时间量级大致为ms级别,因此内存访问速率与磁盘存取速度比大致为1000:1

    由于计算机的运行需要CPU、内存和磁盘的配合,这就造成了高速设备访问低速设备时要大量等待,大大浪费了高速设备的时间。

    比如CPU在运行时需要用到内存中的数据,就需要读取内存。例如一个单核CPU执行一个有10个单周期指令的函数,如果没有内存访问,那么大致需要2.5ns执行完毕,但是如果有一次读区内存操作,这个函数就需要几十ns,而这几十ns的时间中,CPU只运行了2.5ns,剩余时间都浪费了,这是对CPU的大大浪费。

    解决这个问题的办法是缓存,CPU中有L1、L2、L3级缓存,这些缓存是内置在CPU中,访问速度与CPU基本一致。

    通过把内存中的数据提前加载到缓存中,CPU直接从缓存中读取数据,可以大大减小CPU等待内存时间。

    但是,CPU中的缓存成本非常高,缓存非常小,需要复杂的算法决定把哪些数据提前读区到缓存中,以提高缓存命中率。

    相关文章

      网友评论

          本文标题:计算机的时间尺度

          本文链接:https://www.haomeiwen.com/subject/xgrqvttx.html