寄存器>缓存>内存>硬盘>其他
在开发过程中,系统性能是开发人员必须要考虑的一个问题。
cpu访问快慢的速度:寄存器>缓存>内存>硬盘>其他
金字塔存储体系:
寄存器 |
寄存器位于存储器层次结构的最顶端,也是CPU可以读写的最快的存储器。寄存器通常都是以他们可以保存的比特数量来计量,举例来说,一个8位寄存器或32位寄存器。在中央处理器中,包含寄存器的部件有指令寄存器(IR)、程序计数器和累加器。寄存器现在都以寄存器数组的方式来实现,但是他们也可能使用单独的触发器、高速的核心存储器、薄膜存储器以及在数种机器上的其他方式来实现出来。
寄存器也可以指代由一个指令之输出或输入可以直接索引到的寄存器组群,这些寄存器的更确切的名称为“架构寄存器”。例如,x86指令集定义八个32位寄存器的集合,但一个实现x86指令集的CPU内部可能会有八个以上的寄存器。
CPU缓存 |
当处理器发出内存访问请求时,会先查看缓存内是否有请求数据。如果存在(命中),则不经访问内存直接返回该数据;如果不存在(失效),则要先把内存中的相应数据载入缓存,再将其返回处理器。
缓存之所以有效,主要是因为程序运行时对内存的访问呈现局部性(Locality)特征。这种局部性既包括空间局部性(Spatial Locality),也包括时间局部性(Temporal Locality)。有效利用这种局部性,缓存可以达到极高的命中率。
内存 |
随机存取存储器(英语:Random Access Memory,缩写:RAM;也叫主存)是与CPU直接交换数据的内部存储器。它可以随时读写,而且速度很快,通常作为操作系统或其他正在运行中的程序的临时资料存储介质。
硬盘 |
硬盘(英语:Hard Disk Drive,缩写:HDD,有时为了与固态硬盘相区分称“机械硬盘”)是电脑上使用坚硬的旋转盘片为基础的非易失性存储器,它在平整的磁性表面存储和检索数字数据,数据通过离磁性表面很近的磁头由电磁流来改变极性的方式被写入到磁盘上,数据可以通过盘片被读取,原理是磁头经过盘片的上方时盘片本身的磁场导致读取线圈中电气信号改变。硬盘的读写是采用半随机存取的方式,可以以任意顺序读取硬盘中的资料,但读取不同位置的资料速度不相同。硬盘包括一至数片高速转动的盘片以及放在执行器悬臂上的磁头。