并行主存系统
目前,主存的存取速度已经成为提升计算机系统性能的瓶颈,而提高存储器的访问速度可以从两个方面进行:
- 选择高速元件
- 存储器的并行工作
并行主存系统主要从存储器并行工作的角度来提高存储器的访问速度,并行工作的存储器主要有三种,它们分别是:
- 双端口存储器
- 单体多字存储器
- 多体交叉存储器
双端口存储器
双端口存储器的特点如下:
- 具有两组相互独立的读写控制线路
- 两组读写控制线路可以并行操作
- 端口地址不相同,无冲突,并行存取
- 端口地址相同,读写冲突,无法并行存取
冲突处理
为解决冲突,每个端口各设置了一个标志 B U S Y ‾ {\overline{BUSY}} BUSY,当发生冲突时,有判断逻辑决定哪个端口优先进行读写操作,而另一个端口的 B U S Y ‾ {\overline{BUSY}} BUSY设置为0,以延迟其对存储器的访问。
由于冲突访问不可避免,因此双端口存储器的速度不可能提高两倍。
单体多字存储器
单体多字存储器的特点如下:
- 构造与存储器位扩展方式完全相同
- 多个单字长存储模块并发
- 共用一个地址寄存器
- 单存储周期内访问多个存储字
- 性能线性增长,总线位宽变化
目前在计算机中常见的多通道内存技术就是采用单体多字技术,常见的有双通道、三通道、四通道技术。双通道内存技术有两种不同的模式:
- 联动模式
- 非联动模式
联动模式:同一时刻两根内存并发工作各自访问同一地址单元中的64位数据(共128位),并将其送入内存控制器,相比单通道内存带宽提升2倍,两根内存的容量、频率、时序只有完全一致才能同步工作。
非联动模式:内存控制器通过独立的片选信号、地址总线、读写控制线连接两根内存,数据总线也是独立的两条64位总线,该方式中两根内存也可以并发工作,但两者地址、读写命令并不需要同步,只要两根内存的频率相同,容量和时序特性并不要求一致,这种模式灵活性高,但复杂。
多体交叉存储器
多体交叉存储器由多个存储模块构成,这些模块的容量和存取速度相同。根据对多个模块编址方式的不同,其组织方式可分为高位多体交叉和低位多体交叉两种。
高位多体交叉
- 顺序编址
- 多模块串行
- 扩充容量
低位多体交叉
- 交叉编址
- 多模块流水并行
- 扩充容量
- 提升性能
顺序与交叉的比较
在顺序编址模式中,如果访问相邻的地址单元,由于处于同一存储体中,所有需要一次访问,即需要等待存储体读取一个地址单元的内容并等待存储体恢复至可以进行下一次读取的状态,而由于程序具有局部性和连续型,这种模式效率往往较低。
在交叉编址模式中,如果访问相邻的地址单元,由于处于不同的存储体中,因此,在读取一个地址单元后,无需等待该存储体恢复至可以进行下一次读取的状态,而可以直接读取另一个存储体,这种模式运用了流水线的思想(如下图),效率往往较高。