计算机系统结构-第5章(2016年-fourth).ppt
文本预览下载声明
* * */41 ▲ 计算机系统结构讲义 */41 ▲ 计算机系统结构讲义 第5章 存储层次 讲解者:刘东波 联系方式并行主存系统 虚拟存储器 本讲小结 本讲主要内容 重点与难点 重点 三种提高主存性能的存储器组织技术的工作原理 虚拟存储器的基本原理 快速地址转换技术的工作原理 难点 多体交叉存储器的实现过程 避免存储体冲突的实现过程 主存的主要性能指标:延迟和带宽 以往: Cache主要关心延迟,I/O主要关心带宽。 现在:Cache关心两者 并行主存系统是在一个访存周期内能并行访问多个存储字的存储器。 能有效地提高存储器的带宽。 5.6 并行主存系统 5.6 并行主存系统 一个单体单字宽的存储器 字长与CPU的字长相同。 每一次只能访问一个存储字。假设该存储器的访问周期是TM,字长为W位,则其带宽为: 普通存储器 5.6 并行主存系统 在相同的器件条件(即TM相同)下,可以采用两种并行存储器结构来提高主存的带宽: 单体多字存储器 多体交叉存储器 5.6 并行主存系统 一个单体m字(这里m=4)存储器 动画 5.6.1 单体多字存储器 5.6 并行主存系统 存储器能够每个存储周期读出m个CPU字。因此其最大带宽提高到原来的m倍 。 单体多字存储器的实际带宽比最大带宽小 优缺点 优点:实现简单 缺点:访存效率不高 5.6 并行主存系统 原因 : 如果一次读取的m个指令字中有分支指令,而且分支成功,那么该分支指令之后的指令是无用的。 一次取出的m个数据不一定都是有用的。另一方面,当前执行指令所需要的多个操作数也不一定正好都存放在同一个长存储字中。 写入有可能变得复杂。 当要读出的数据字和要写入的数据字处于同一个长存储字内时,读和写的操作就无法在同一个存储周期内完成。 5.6 并行主存系统 多体交叉存储器:由多个单字存储体构成,每个体都有自己的地址寄存器以及地址译码和读/写驱动等电路。 问题:对多体存储器如何进行编址? 存储器是按顺序线性编址的。如何在二维矩阵和线性地址之间建立对应关系? 两种编址方法 高位交叉编址 低位交叉编址 (有效地解决访问冲突问题 ) 5.6.2 多体交叉存储器 5.6 并行主存系统 多体(m=4)交叉存储器 5.6 并行主存系统 高位交叉编址 对存储单元矩阵按列优先的方式进行编址 特点:同一个体中的高log2m位都是相同的 (体号) 处于第i行第j列的单元,即体号为j、体内地址为i的单元,其线性地址为: A=j×n+i 其中:j=0,1,2,…,m-1 i=0,1,2,…,n-1 一个单元的线性地址为A,则其体号j和体内地址i为: i =A mod n 5.6 并行主存系统 5.6 并行主存系统 把A表示为二进制数,则其高log2m位就是体号,而剩下的部分就是体内地址。 低位交叉编址 对存储单元矩阵按行优先进行编址 特点:同一个体中的低log2m位都是相同的 (体号 ) 5.6 并行主存系统 处于第i行第j列的单元,即体号为j、体内地址为i的单元,其线性地址为: A=i×m+j 其中:i=0,1,2,…,n-1 j=0,1,2,…,m-1 5.6 并行主存系统 一个单元的线性地址为A,则其体号j和体内地址i为: j=A mod m 把A表示为二进制数,则其低log2m位就是体号,而剩下的部分就是体内地址。 例:采用低位交叉编址的存储器 由8个存储体构成、总容量为64。格子中的编号为线性地址。 5.6 并行主存系统 为了提高主存的带宽,需要多个或所有存储体能并行工作。 在每一个存储周期内,分时启动m个存储体。 如果每个存储体的访问周期是TM,则各存储体的启动间隔为: t=TM/m。 增加m的值就能够提高主存储器的带宽。但是,由于存在访问冲突,实际加速比小于m。 5.6 并行主存系统 单纯靠增大m来提高并行主存系统的带宽是有限的,而且性能价格比还会随m的增大而下降。 原因: 程序的转移概率不会很低 数据分布的离散性较大 5.6 并行主存系统 5.6.3 避免存储体冲突 体冲突:两个请求要访问同一个体。 减少体冲突次数的一种方法:采
显示全部