第三章存储系统.ppt

上传人:ga****84 文档编号:434748 上传时间:2018-10-05 格式:PPT 页数:33 大小:407KB
下载 相关 举报
第三章存储系统.ppt_第1页
第1页 / 共33页
第三章存储系统.ppt_第2页
第2页 / 共33页
第三章存储系统.ppt_第3页
第3页 / 共33页
第三章存储系统.ppt_第4页
第4页 / 共33页
第三章存储系统.ppt_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、第三章 存储系统,存储器概述,主存储器的基本构造和操作,主存储器组织,高速缓冲存储器Cache 高速存储器,半导体存储器芯片,虚拟存储器,原因:主存工作速度总落后于CPU的需求,主存容量总是落后于软件的需求.提高存储器性能的方法: 提高主存工作速度(1)提高主存读写速度:从最早使用的DRAM到后来的FPM DRAM、EDO DRAM、SDRAM 、DDR SDRAM 和若RDRAM等;(2)在DRAM芯片中采用高速存取方式,如相联存储器、双端口存储器等;(3)采用并行主存技术. 改善系统结构采用多级存储体系结构,3.6 高速存储器,3.6.1 相联存储器(CAMContent Access M

2、emory),一、相联(联想)存储器的实质(工作原理)与常规存储器按地址访问不同,CAM是既可按地址寻址,又可按内容(通常是某些字段)寻址.CAM的每个字由若干字段组成,待检索的某字段作为关键字,用它与存储体中所有单元进行比较,找出关键字相同的所有数据字.用于信息检索、Cache和虚拟存储器.二、相联存储器的结构与功能 结构框图如下:,检索寄存器(n位),屏蔽寄存器(n位),数据寄存器(n位),存储体(包括比较电路)(m个单元,每单元n位),译码电路,地址寄存器,1,2,m,匹配寄存器, , , ,图3.32 相联存储器的结构框图,用来存放待检索内容,屏蔽关键字段以外的值,即进行检索时,将MR

3、中要比较的位置置为1,不需要比较的位置置为0.,存储体中各单元相应字段同时与关键字比较,相同者,匹配寄存器相应位置为1.若同时有i个字满足要求,则相应有i位为1,译码电路找到对应的存储单元.,也具备按地址访问的功能。,CR,MR,CAM在Cache中的具体应用,数据寄存器存放读出或写入的数据. 字选择寄存器用来确定哪些字参与检索.,字选择寄存器,559,00,00,00,00,111,第一次检索寄存器内容,屏蔽寄存器内容,1,赵XX,男,17,582,2,钱XX,男,18,611,3,孙XX,女,17,584,4,李XX,男,19,604,N,丁XX,女,18,520,序号,姓名,性别,年龄,

4、分数,图3.33 相联存储器检索举例,例如:某高校学生入学总成绩已经存入相联存储器如图3.33,要求列出“总分”在560-600分范围内学生名单.可用二次查找完成:第一次找出“总分”大于559的考生,第二次再找出“总分”小于601的考生.,匹配寄存器,字选择寄存器,559,00,00,00,00,111,第一次检索寄存器内容,屏蔽寄存器内容,1,赵XX,男,17,582,2,钱XX,男,18,611,3,孙XX,女,17,584,4,李XX,男,19,604,N,丁XX,女,18,520,序号,姓名,性别,年龄,分数,图3.33 相联存储器检索举例,分别将559和601作为关键字段内容置于比较

5、寄存器中,屏蔽寄存器只在“总分”字段上设置111,而在其他字段设置000,表示不必比较,第一次查找结果送入匹配寄存器,为了进行第二次查找,先将匹配寄存器内容送入字选择寄存器,并将比较寄存器中的559更换为601,然后将第二次查找结果送入匹配寄存器,匹配寄存器和字选择寄存器内容同时为1位所对应的考生,即为查找结果。,匹配寄存器,字选择寄存器,1,1,1,1,0,1,0,1,0,1,检索寄存器(n位),屏蔽寄存器(n位),数据寄存器(n位),存储体(包括比较电路)(m个单元,每单元n位),译码电路,地址寄存器,1,2,m,匹配寄存器, , , ,图3.32 相联存储器的结构框图,CR,MR,从按地

6、址访问的存储器中检索某一个单元,平均约W/2次操作(W为存储单元数),而在相联存储器中仅需要进行一次检索操作,故大大提高了处理速度。,3.6.2 双端口存储器,端口:指读/写控制电路。常规存储器为单端口存储器,即每次只能接收一个地址,访问一个存储单元。在高速系统中,主存是信息交换的中心,CPU、外设需要频繁访问主存,而单端口存储器每次只能接受一个访存者,影响工作速度。双端口存储器:具有两个彼此独立的读/写口,每个读/写口有独立的地址寄存器和译码电路,可以并行地独立工作。,地址寄存器,地址寄存器,译码器,译码器,存储体,应用实例:FPM DRAM+双口技术用于视频卡(VRAM),地址,地址,MD

7、R,MDR,数据,数据,读写电路,读写电路,WE,WE,MAR,MAR,工作方式:两个读/写口可以按各自接收的地址,同时并行访问主存。与两个独立存储器不同的是,两套读/写口的访存空间相同,可以访问同一区间、同一存储单元。在发生访存冲突时由存储器仲裁逻辑解决。,图3.34 双端口存储器示意图,3.6.3 多模块交叉(多体交叉)存储器,一、并行主存系统用W/w片字长w的芯片可以扩展成W位字长的存储器,一般把这种扩展叫存储芯片的并联组织(位扩展)。各个芯片同时工作,在一个Tm内读出一个W位的字,获得Bm=W/Tm的频宽。同理可进一步把n个W位字长的同容量存储器并成一个更大的存储器以获得Bm=n X

8、W/Tm的频宽。这样组织的主存系统叫并行主存系统。作用:加快从主存读出信息到CPU的速度,以解决主存和CPU之间速度不匹配的问题。二、并行主存系统的两种组成方式单体多字方式与多体并行方式多个存储体共用一套地址寄存器和控制逻辑还是各个模块有各自独立的控制部件?即各块是否可以独立工作?单体多字和多体并行即因此而有别。,1、单体多字并行主存系统 如下图所示,多个并行工作的存储器共用一套地址寄存器,按同一地址码并行地访问各自的对应单元,假定送入的地址码为A,则n个存储器同时访问各自的A号单元.可将这n个存储器视作一个大的主存储器,每个编址对应于n字w位,故称为单体多字方式,适用于向量运算. 即一个向量

9、型的操作数 是 n个标量型操作数的 集合,可按同一地址分 别存放于n个并行主存 中.,地址寄存器,地址,M0,M1,.,M n-1,W位,W位,.,W位,nw,图3.35 单体多字并行主存系统,地址译码器,2、多体并行主存系统 (1)多体交叉存储器组成: n个容量相同的存储器(或称为n个存储体),它们具有自己的地址寄存器、数据线、读写时序,形成可以同时工作又独立编址且容量相同的n个分存储体,故称为多体系统.,总 线 控 制,CPU,地址寄存器,地址寄存器,地址寄存器,地址寄存器,存 控 部 件,0,4,M0,1,5,2,6,3,7,M1,M2,M3,数据,存控部件:接收系统中各部件或设备的访存

10、请求,按预定的优先顺序进行排队,响应其访存请求;分时接收各请求源发来的访存地址,转送至相应存储体等等。,(2)多体交叉编址 分为高位交叉(顺序方式)和低位交叉编址(交叉方式)。 高位交叉编址:程序按体内地址连续存放,一个存储体存满后再存入下一个存储体,存储器地址寄存器的高位表示体号,低位表示体内地址.,MDR,M0,地址译码,MAR,MDR,M1,地址译码,MAR,MDR,Mn-1,地址译码,MAR,体号,体内地址,图3.36(a) 高位交叉编址的多体存储器,00000,M0,M1,M2,M3,4 3 2 1 0,00001,00010,00011,00100,00101,00110,0011

11、1,01000,01001,01010,01011,01100,01101,01110,01111,10000,10001,10010,10011,10100,10101,10110,10111,11000,11001,11010,11011,11100,11101,11110,11111,模块(分体)号,块内字地址,数据寄存器MDR(16位),DB(16位),图3.36(b)高位交叉编址的多体存储器(例),16位,16位,16位,16位,高位交叉即模块地址在高位,低位交叉编址:同一存储体中的地址是不连续的,程序连续存放在相邻体中.存储器地址寄存器的低位部分选择不同的存储体,而高位部分则指向存

12、储体内的存储字.,MDR,M0,地址译码,MAR,MDR,M1,地址译码,MAR,MDR,Mn-1,地址译码,MAR,体号,体内地址,图3.37(a) 低位交叉编址的多体存储器,00000,数据总线DB(16位),4 3 2 1 0,00001,00010,00011,00100,00101,00110,00111,01000,01001,01010,01011,01100,01101,01110,01111,10000,10001,10010,10011,10100,10101,10110,10111,11000,11001,11010,11011,11100,11101,11110,111

13、11,模块(分体)号,块内字地址,译码器,寻找模块,图3.37(b)低位交叉编址的多体存储器(例),MDR0,MDR3,MDR2,MDR1,MAR0,MAR3,MAR2,MAR1,16位,16位,16位,16位,高位交叉编址特点:地址高位选择模块,地址低位选择字;某模块进行存取时,其它模块不工作;某模块出现故障时,不影响其它模块;扩容方便;各模块串行工作,存储器带宽受限.低位交叉编址特点:地址低位选择模块,地址高位选择字;连续地址分布在不同模块中,模块可同时并行工作,提高了带宽;但一个模块出错,则程序出错.,例:一个四体并行交叉存储器,每个模块的容量是16K32位,存取周期为200ns,在下述

14、说法中( )是正确的。在200ns内,该存储器能向CPU提供256位二进制信息B. 在200ns内,该存储器能向CPU提供128位二进制信息C. 在50ns内,每个存储模块能向CPU提供32位二进制信息D. 在50ns内,该存储器能向CPU提供128位二进制信息,(3)多体交叉存储体分时工作原理无论多体存储器中有几个分体,CPU与主存之间数据通路仍是一个W位.n个W位如何在一个存储周期Tm中读出? 分时启动多个分体,使得每个Tm周期内得到多个单体字宽的数据.设主存有n个分体(模块),各自的存取周期都是Tm;则第一个分体启动后,每隔1/n个Tm再启动下一个分体.,例:设有4体交叉的存储器,分时即

15、每隔1/4Tm启动一个分体.要点:存储器读出虽用一个Tm,一旦读出后在主存CPU的总线上传递的速度以及处理的速度要比读内存快得多.,M3M2M1M0 1/4 2/4 3/4 1 2 t(Tm),图3.38 模4交叉存取分时工作示意图,单体访存周期,单体访存周期,T,时间,字,模块,W0 M0,W1 M1,W2 M2,W3 M3,W0 M0,图3.29 流水方式存取示意图,设每个体的存储字长和数据总线的宽度一致, 低位交叉编址的存储器模块数为n,存取周期为T,总线传输周期为,当采用流水线方式时,应满足T= n. n=T/称为交叉存取度,要求模块数=n,以保证启动某模块后经n时间再启动该模块时,它

16、的上一次存取操作已经完成.,T,时间,字,模块,W0 M0,W1 M1,W2 M2,W3 M3,W0 M0,图3.29 流水方式存取示意图,对于低位交叉存储器,连续读取n个字所需时间t1为:t1=T+(n-1)对于高位交叉存储器,连续读取n个字所需时间t2为:t2=nT,例:设存储器容量为32字,字长64位,模块数m=4,分别用顺序方式和交叉方式进行组织.存储周期T=200ns,数据总线宽度为64位,总线传送周期=50ns.问顺序存储器和交叉存储器的带宽各是多少?解:二者读出4个字的信息量均为64 4=256位;所需时间不同,分别为:T1=T+(m-1)=350nsT2=mT =800ns带宽

17、分别为:W1=256/350=73 107位/sW2=256/800=32 107位/s,例:某机器采用4体交叉存储器,今执行一小段循环程序,此程序放在存储器的连续地址单元中.假设每,条指令的执行时间相等,而且不需要到存储器存取数据,请问在下面两种情况中(执行的指令数相等),程序的运行时间是否相等?(1)循环程序由6条指令组成,重复执行80次.(2)循环程序由8条指令组成,重复执行60次.,指令1,指令5,指令2,指令6,指令3,指令4,指令7,指令8,M0,M3,M2,M1,(1)T1=(T+7 ) + 8 79=T+639 ,(2)T2=(T+7 ) + 8 59=T+479 ,T1-T2

18、=160,T1T2,解:,(1)6条指令,重复80次(2)8条指令重复60次,例:设某计算机采用直接映像Cache,已知主存容量为4MB,Cache容量为4096B,字块长度为8个字(32位/字). (1)画出反映主存与Cache映像关系的主存地址各字段分配框图,并说明各字段的名称及位数; (2)设cache初始状态为空,若CPU依次从主存第0,1,99号单元读出100个字 (主存一次读出一个字),并重复按此次序读10次,问命中率为多少? (3)若Cache的存取时间为50ns,主存的存取时间为500ns,根据(2)求出的命中率,计算平均存取时间; (4)计算Cache-主存系统的效率.,解:

19、(1)回顾计算机系统既可按照字节寻址,也可按照字寻址.若某机主存容量为16K32位,如果采用字编址,地址码14位,如果采用字节编址,则地址码为16位。见下图。,字地址,字节地址,0,1,2,3,4,5,6,7,8,9,A,B,FFFCH,FFFDH,FFFEH,FFFFH,0000 0000 0000 0000,0000 0000 0000 0100,0000 0000 0000 1000,1111 1111 1111 1100,.,字地址,0,31,00 0000 0000 0000,00 0000 0000 0001,00 0000 0000 0010,11 1111 1111 1111,

20、按字节编址与按字编址的区别,解:本题目中,主存容量为4MB,Cache容量为4KB,字长为32位(4B),字块大小为8个字(32B),则地址分配见下图所示.,主存,字地址,字节地址,0,1,2,3,4,5,6,8,9,A,B,3FFFFC,3FFFFD,3FFFFE,3FFFFF,00 0000 0000 0000 0000 0000,00 0000 0000 0000 0000 0100,00 0000 0000 0000 0000 1000,11 1111 1111 1111 1111 1100,.,7,主存容量4MB,其地址22位,字块8个字,共32B,故块内地址5位.主存分4MB/4K

21、B=210组,故组数10位.Cache分4KB/(2322)B=27块,故组内块数7位.,组数(10位),组内块数(7位),块内地址(5位),(2)由于Cache初始为空,且块长为8,故CPU第一次读出100个字时,共有13次未命中(即读第0、8、16、96号单元时未命中),以后9次重复读这100个字时,均命中,故命中率为: (10010-13)/1000 100% =98.7%(3)平均访问时间=0.98750ns+(1-0.987) 500ns=55.85ns(4)Cache-主存系统的效率为: (50ns/55.85ns) 100%=89.5%,例:(大纲中示例题:二、综合应用题43)某

22、计算机的主存地址位数为32位,按字节编址.假定数据Cache中最多存放128个主存块,采用4路组相联方式,块大小为64B,每块设置了1位有效位.采用一次性写回策略,为此每块设置了1位“脏(Dirty)”位.要求:(1)分别指出主存地址中标记(Tag)、组号(Index)和块内地址(Offset)三部分的位置和位数.,【解答】(1)主存地址格式划分如下:,标记(Tag),组号(Index),块内地址(Offset),Cache每块64B,并且是字节寻址,故Offset段为6位;四路组相联的Cache共128块,所以组数为:128/4=25;组号Index为5位;32位主存地址中其余32-5-6=

23、21位即Tag字段的位数(主存标记).,例:(大纲中示例题:二、综合应用题43)某计算机的主存地址位数为32位,按字节编址.假定数据Cache中最多存放128个主存块,采用4路组相联方式,块大小为64B,每块设置了1位有效位.采用一次性写回策略,为此每块设置了1位“脏(Dirty)”位.要求:(2)计算该数据Cache的总位数(请给出详细计算过程).,【解答】(2)Cache的容量(位数)计算如下:该数据Cache有128块;每块数据部分64Byte=64 8=512位除数据外,每块还有Tag标记21位、有效位1位和“脏(Dirty)”位1位,即每块除了数据外还要有21+1+1=23位;所以有该数据Cache的总位数为:128块 (512+23)位/块=68480位,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。