计算机系统简介(二)
一、什么是存储器系统?
存储器系统(memory system)是一个具有不同容量、成本和访问时间的存储设备的层次结构。
二、计算机中的存储器
1. 存储器是计算机系统中的记忆设备,用来存放程序和数据
- 主存(Memory):也叫内存,多指存储器的整体,包括记录介质,有关电路和其他部件
- 辅存(Storage):也叫外存,多指记录介质本身,包括:磁盘、固态盘、磁带、存储阵列等
2. 存储器在计算机中扮演的角色:
三、存储器的层次结构
1. 寄存器(Registers):
属于CPU内部的最快存储器,用于存储指令和临时数据。寄存器的容量非常有限,但访问速度非常快。寄存器常用于存储正在执行的指令和高频使用的数据,以减少访问其他存储器层次的开销。
2. 高速缓存(Cache):
位于CPU和主存储器之间的缓存层次。高速缓存由多个层次组成,例如L1、L2和L3缓存。它们的容量比寄存器大,但比主存储器小。高速缓存用于存储CPU最常访问的数据和指令,加速CPU对数据的访问,减少访问主存储器的延迟。
3. 主存储器(Main Memory):
主存储器是计算机系统中的主要存储介质。它通常由DRAM(动态随机存取存储器)构成,容量较大,并通过总线与CPU连接。主存储器用于存储程序、数据和操作系统等信息。由于主存储器与CPU之间的距离较远,访问速度相对较慢,因此高速缓存的存在可以提供更快的数据访问。
4. 辅助存储器(Secondary Storage):
辅助存储器用于长期存储数据和程序,例如硬盘驱动器、光盘和固态硬盘(SSD)。辅助存储器具有较大的容量,但访问速度较慢。它通常在主存储器上扩展存储容量,并且数据需要被加载到主存储器中才能被CPU访问。
四、局部性
- 空间局部性:
良好的空间局部性是指如果某个数据在某个位置被引用了一次,那么在不远的将来将引用它附近的内存位置。
- 时间局部性:
良好的时间局部性是指是被引用过一次的数 据项会在不远的将来再次被多次引用。
怎样提高时间局部性和空间局部性?
一个连续的向量,每个K个元素进行访问,我们就成为步长为K的引用模式stride-k reference pattern,步长越长,空间局部性越差,因此我们应该按照数据在内存中的存储位置,按照步长为1的模式读取数据;