您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 计算机系统结构-第5章(2016年-fourth)
1/41▲计算机系统结构讲义第5章存储层次讲解者:刘东波联系方式:155748848452/41▲计算机系统结构讲义1并行主存系统2虚拟存储器3本讲小结本讲主要内容3/41▲计算机系统结构讲义重点与难点1.重点三种提高主存性能的存储器组织技术的工作原理虚拟存储器的基本原理快速地址转换技术的工作原理2.难点多体交叉存储器的实现过程避免存储体冲突的实现过程4/41▲计算机系统结构讲义主存的主要性能指标:延迟和带宽以往:Cache主要关心延迟,I/O主要关心带宽。现在:Cache关心两者并行主存系统是在一个访存周期内能并行访问多个存储字的存储器。能有效地提高存储器的带宽。5.6并行主存系统5/41▲计算机系统结构讲义5.6并行主存系统一个单体单字宽的存储器字长与CPU的字长相同。每一次只能访问一个存储字。假设该存储器的访问周期是TM,字长为W位,则其带宽为:MMTWB数据寄存器W位地址寄存器…………L普通存储器6/41▲计算机系统结构讲义5.6并行主存系统在相同的器件条件(即TM相同)下,可以采用两种并行存储器结构来提高主存的带宽:单体多字存储器多体交叉存储器7/41▲计算机系统结构讲义5.6并行主存系统1.一个单体m字(这里m=4)存储器动画5.6.1单体多字存储器单字长寄存器W位地址寄存器L/4……8/41▲计算机系统结构讲义5.6并行主存系统存储器能够每个存储周期读出m个CPU字。因此其最大带宽提高到原来的m倍。单体多字存储器的实际带宽比最大带宽小2.优缺点优点:实现简单缺点:访存效率不高MMTWmB9/41▲计算机系统结构讲义5.6并行主存系统原因:如果一次读取的m个指令字中有分支指令,而且分支成功,那么该分支指令之后的指令是无用的。一次取出的m个数据不一定都是有用的。另一方面,当前执行指令所需要的多个操作数也不一定正好都存放在同一个长存储字中。写入有可能变得复杂。当要读出的数据字和要写入的数据字处于同一个长存储字内时,读和写的操作就无法在同一个存储周期内完成。10/41▲计算机系统结构讲义5.6并行主存系统1.多体交叉存储器:由多个单字存储体构成,每个体都有自己的地址寄存器以及地址译码和读/写驱动等电路。2.问题:对多体存储器如何进行编址?存储器是按顺序线性编址的。如何在二维矩阵和线性地址之间建立对应关系?两种编址方法高位交叉编址低位交叉编址(有效地解决访问冲突问题)5.6.2多体交叉存储器11/41▲计算机系统结构讲义5.6并行主存系统CPUIOP总线控制M0M1M2M3地址寄存器0………地址寄存器1地址寄存器2…地址寄存器3主存控制部件多体(m=4)交叉存储器12/41▲计算机系统结构讲义5.6并行主存系统3.高位交叉编址对存储单元矩阵按列优先的方式进行编址特点:同一个体中的高log2m位都是相同的(体号)0..00..0…存储体00..00..10..0F..F…0..10..0…存储体10..10..10..1F..F…F..F0..0…存储体m-1F..F0..1F..FF..F………13/41▲计算机系统结构讲义处于第i行第j列的单元,即体号为j、体内地址为i的单元,其线性地址为:A=j×n+i其中:j=0,1,2,…,m-1i=0,1,2,…,n-1一个单元的线性地址为A,则其体号j和体内地址i为:i=AmodnnAj5.6并行主存系统14/41▲计算机系统结构讲义5.6并行主存系统把A表示为二进制数,则其高log2m位就是体号,而剩下的部分就是体内地址。4.低位交叉编址对存储单元矩阵按行优先进行编址特点:同一个体中的低log2m位都是相同的(体号)线性地址A体号体内地址log2m位15/41▲计算机系统结构讲义5.6并行主存系统0..00..0…存储体00..10..0F..F0..0…0..00..1…存储体10..10..1F..F0..1…0..0F..F…存储体m-10..1F..FF..FF..F………处于第i行第j列的单元,即体号为j、体内地址为i的单元,其线性地址为:A=i×m+j其中:i=0,1,2,…,n-1j=0,1,2,…,m-116/41▲计算机系统结构讲义5.6并行主存系统一个单元的线性地址为A,则其体号j和体内地址i为:j=Amodm把A表示为二进制数,则其低log2m位就是体号,而剩下的部分就是体内地址。mAi线性地址A体号体内地址log2m位17/41▲计算机系统结构讲义数据寄存器地址寄存器(线性地址)体内地址(3位)体号(3位)0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263例:采用低位交叉编址的存储器由8个存储体构成、总容量为64。格子中的编号为线性地址。18/41▲计算机系统结构讲义5.6并行主存系统为了提高主存的带宽,需要多个或所有存储体能并行工作。在每一个存储周期内,分时启动m个存储体。如果每个存储体的访问周期是TM,则各存储体的启动间隔为:t=TM/m。增加m的值就能够提高主存储器的带宽。但是,由于存在访问冲突,实际加速比小于m。19/41▲计算机系统结构讲义5.6并行主存系统主存周期主存周期时间启动M0体启动M1体启动M2体启动M3体单纯靠增大m来提高并行主存系统的带宽是有限的,而且性能价格比还会随m的增大而下降。原因:程序的转移概率不会很低数据分布的离散性较大20/41▲计算机系统结构讲义5.6并行主存系统5.6.3避免存储体冲突1.体冲突:两个请求要访问同一个体。2.减少体冲突次数的一种方法:采用许多体例如,NECSX/3最多可使用128个体21/41▲计算机系统结构讲义5.6并行主存系统这种方法存在问题:假如我们有128个存储体,按字交叉方式工作,并执行以下程序:intx[256][512];for(j=0;j512;j=j+1)for(i=0;i256;i=i+1)x[i][j]=2*x[i][j];因为512是128的整数倍,同一列中的所有元素都在同一个体内,无论CPU或存储系统多么高级,该程序都会在数据Cache不命中时暂停。22/41▲计算机系统结构讲义5.6并行主存系统3.解决体冲突的方法软件方法(编译器)循环交换优化扩展数组的大小,使之不是2的幂。硬件方法使体数为素数体内地址=地址Amod(存储体中的字数)可以直接截取举例23/41▲计算机系统结构讲义体内地址存储体顺序交叉取模交叉012345顺序交叉和取模交叉的地址映像举例67012012012016834567891011121314212223151617181920911718102319111242021135622141572324/41▲计算机系统结构讲义1.虚拟存储器是“主存-辅存”层次进一步发展的结果。2.虚拟存储器可以分为两类:页式和段式页式虚拟存储器把空间划分为大小相同的块。(页面)段式虚拟存储器则把空间划分为可变长的块。(段)页面是对空间的机械划分,而段则往往是按程序的逻辑意义进行划分。5.7虚拟存储器5.7.1虚拟存储器的基本原理25/41▲计算机系统结构讲义5.7虚拟存储器参数第一级Cache虚拟存储器块(页)大小16-128字节4096-65,536字节命中时间1-3个时钟周期100-200个时钟周期不命中开销8-200个时钟周期1,000,000-10,000,000个时钟周期(访问时间)(6-160个时钟周期)(800,000-8,000,000个时钟周期)(传输时间)(2-40个时钟周期)(200,000-2,000,000个时钟周期)不命中率0.1-10%0.00001-0.001%地址映像25-45位物理地址到14-20位Cache地址32-64位虚拟地址到25-45位物理地址3.Cache和虚拟存储器的参数取值范围26/41▲计算机系统结构讲义5.7虚拟存储器5.7.2快速地址转换技术1.地址变换缓冲器TLBTLB是一个专用的高速缓冲器,用于存放近期经常使用的页表项;TLB中的内容是页表部分内容的一个副本;TLB也利用了局部性原理。2.TLB中的项由两部分构成:标识和数据标识中存放的是虚地址的一部分。数据部分中存放的则是物理页帧号、有效位、存储保护信息、使用位、修改位等。27/41▲计算机系统结构讲义5.7虚拟存储器3.AMDOpteron的数据TLB的组织结构包含40个项采用全相联映像AMDOpteron的地址转换过程4.一般TLB比Cache的标识存储器更小、更快。保证TLB的读出操作不会使Cache的命中时间延长。28/41▲计算机系统结构讲义5.7虚拟存储器虚拟地址〈36〉〈12〉虚页号页内位移物理地址〈1〉VR/W①②③④…U/SDA〈1〉〈1〉〈36〉标识〈28〉……40选1多路选择器…〈28〉〈12〉40位物理地址(低12位地址)(高28位地址)29/41▲计算机系统结构讲义本章小结1.三种提高主存性能的存储器组织技术的工作原理2.虚拟存储器的基本概念3.快速地址转换技术的工作原理
本文标题:计算机系统结构-第5章(2016年-fourth)
链接地址:https://www.777doc.com/doc-3381805 .html