1、3.4 高速存储器,提高存储器工作速度的技术(频带平衡) 解决存储器与CPU速度不匹配问题 容量、速度、价格的矛盾 三个层次的工作: 研究新的DRAM芯片技术; 在结构技术上考虑更好的措施; 从系统结构角度采用多层存储体系。 (每项技术措施都是为了整体改善存储器性能价格比,但不同技术主要针对某个存储器技术指标的提高。) 1、芯片技术,在DRAM芯片中采用高速存取方式。,快速页面访问方式(FPM):此次访问的存储单元与上次访问的单元处于存储单元阵列的同一行(即页面)时,可以利用上次访问的行地址。比一般访问提高23倍。 增强数据输出存储器(EDO DRAM):在FPM DRAM的基础上,增加一个数
2、据锁存器,在输出一个数据的过程中就准备下一个数据的输出。性能提高15%30%(5%)。 同步型DRAM(SDRAM):将CPU和RAM通过一个相同的时钟锁在一起。实际是通过地址、数据锁存及流水方式达到同步。 RDRAM(Rambus DRAM):经专用RDRAM总线与CPU之间传送数据。SLDRAM,双端口存储器;相联存储器 ;等等。,2、结构技术:选定存储芯片后,从结构上提高存储器的带宽。 主要技术多体交叉存储技术。 3、采用多层次存储体系结构 Cache主存虚存,3.4 高速存储器 3.4.1 双端口存储器:端口指读写口,可使存储器并行工作。,地 址 寄 存 器,地 址 寄 存 器,译 码
3、 器,译 码 器,存储体,应用实例:FPM DRAM+双口技术用于视频卡(VRAM),地址,地址,MDR,MDR,数据,数据,读写电路,读写电路,WE,WE,MAR,MAR,访存冲突由存储器仲裁逻辑解决,3.4.2 多模块交叉(多体交叉)存储器,一、并行主存系统 用W/w片字长w的芯片可以扩展成W位字长的存储器,一般把这种扩展叫存储芯片的并联组织。各个芯片同时工作,在一个Tm内读出一个W位的字,获得Bm=W/Tm的频宽。 同理可进一步把n个W位字长的同容量存储器并成一个更大的存储器以获得Bm=n X W/Tm的频宽。这样组织的主存系统叫并行主存系统。 作用:加快从主存读出信息到CPU的速度,以
4、解决主存和CPU之间速度不匹配的问题。 二、并行主存系统的两种组成方式单体多字方式与多体并行方式 多个存储体共用一套地址寄存器和控制逻辑还是各个模块有各自独立的控制部件?即各块是否可以独立工作?单体多字和多体并行即因此而有别。,1、单体多字方式:并行的存储器共用一套地址寄存及译码等线路。一个地址驱动n个存储器,一次可读写沿个n存储器顺序排列的n个字,故称单体多字方式。,实际相当于增加存储器的字长,故称单体。,M0,M1,Mn-1,地址译码,地址寄存,W位,W位,W位, ,CPU,优点:实现简单。缺点:访问冲突大,(1)取指令冲突; (2)取操作数冲突; (3)写数据冲突; (4)读写冲突。 冲
5、突的主要原因;交叉访问方式因此而出现。2、多体并行方式:n个并行的存储体具有各自的地址寄存器的地址译码、驱动、读放等电路,形成可同时工作又独立编址的同容量n个分存储体(模块),称为多体并行(或多模块存储)方式。,W位 W位 W位CPU给地址,M0,译码,地址寄存,M1,Mn-1,交叉访问存储器又分为地址码高位交叉和低位交叉 两种工作方式。,两种方式因存储单元在多模块之间编址方法不同而分。,其中低位交叉访问存储器才是一般讨论所指的多体交叉 或多模块交叉存储器。,三、多体交叉存储器的工作原理 (Interleaved memory),1、多体交叉编址线性编址:即连续地址。线性地址在多模块中有两种安
6、排方式: 顺序方式:线性地址按模块走,第一块排完再排第二块.;编址为高位交叉。 交叉方式:线性地址逐模块走,所有块编一个单元,再回到第一块;编址为低位交叉,并行主存系统中常用的是这种方式。 以上两种方式图解见教材P.101图3.29:,00000,数据总线,多模块的顺序编址方式,M0,M1,M2,M3,内存地址:,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,
7、10111,11000,11001,11010,11011,11100,11101,11110,11111,模块(分体)号,块内字地址,00000,数据总线,多模块的交叉编址方式,M0,M1,M2,M3,内存地址:,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,11
8、111,模块(分体)号,块内字地址,译码器,寻找模块,模块的MAR,地址交叉排列的目的:获得比单体多字方式更高的频宽。例:在一个具有4个存储体的多体交叉存储器中,如果处理器的访存地址为以下十进制值。求该存储器比单体存储器的平均访问速率提高多少(忽略初启时的延迟)?(0001为第一个地址。) (1)0001,0002,0003,0100 (2)0002,0004,0006,0200 (3)0003,0006,0009,0300 (1)4倍 (2)2倍 (3)4倍 2、多体交叉存储体分时工作原理:无论多体存储器中有几个分体,CPU与主存之间数据通路仍是一个W位。n个W位如何在一个存储周期Tm中读出
9、?一般采用分时启动分体的分时读出法。,例:设有4体交叉的存储器,分时即每隔1/4Tm启动一个分体。要点:存储器读出虽用一个Tm,一旦读出后在主存CPU的总线上传递的速度以及处理的速度要比读内存快得多。,M3M2M1M01/4 2/4 3/4 1 2 t(Tm),3、交叉存取度 设多体中各分体(模块)字长等于数据总线宽度; 又设各模块存取周期为T,总线传送周期为,存储器的模块数为m,为了实现流水存取,应满足: T= m m=T/叫做交叉存取度 T与的数值对比 t1=T+(m-1)为交叉存储器连续取m个字所需时间; t2=mT为顺序存储器连续取m个字所需时间; P.102【例4】说明:,【例4】设
10、存储器容量为32字,字长64位,模块数m=4,分别用顺序方式和交叉方式进行组织。存储周期T=200ns,数据总线宽度为64位,总线传送周期=50ns。问顺序存储器和交叉存储器的带宽各是多少? 解:二者读出4个字的信息量均为64 X 4=256位;所需时间分别为: T1=T+(m-1)=350ns T2=mT =800ns 带宽分别为: W1=256/350=73 X 107位/s W2=256/800=32 X 107位/s ?带宽的物理含义。Bm=W/Tm:单位时间里存储器所存取的信息量。,T,时间,字,模块,W0 M0,W1 M1,W2 M2,W3 M3,W0 M0,初启延迟,有关多体交叉
11、存储器的书后习题:P.125习题8(略)、 P.126习题13 8、设存储容量为64M,字长为64位,模块数m=8,分别用顺序和交叉方式进行组织。存储周期T=100ns,数据总线宽度为64位,总线传送周期=50ns。求:顺序存储器和交叉存储器的带宽各是多少? 解答:m=8,从存储器读取8个字的位数为W=8 X 64(位) 顺序存储器要取的8个字在同一分体(模块)内,所用时间为 t2=8 X Tm=8 X 100=800(ns)频宽为 Bm2=W/t2=6.4 X 108(bits/s) 交叉存储器要取的8个字在8个模块内,所用时间为t1=Tm+(m-1)X(总线传送周期)=100+7 X 50
12、=450(ns)频宽为 Bm1=W/t11.14 X 109(bits/s) 比较大小。,13、某机器采用四体交叉存储器,今执行一小段循环程序,此程序放在存储器的连续地址单元中。假设每条指令的执行时间相等,而且不需要到存储器存取数据,请问在下面两种情况中(执行的指令数相等),程序的运行时间是否相等? (1)循环程序由6条指令组成,重复执行80次。 (2)循环程序由8条指令组成,重复执行60次。 解答:方法有两种,请比较。 方法一:,指令1,指令5,指令2,指令6,指令3,指令4,指令7,指令8,M0,M3,M2,M1,(1)T1=(T+3 +T+ ) X 80=160T+320 ,(2)T2(
13、T+3 +T+ 3) X 60=120T+360 ,T1-T2=40(T-),T1T2,T ,指令1,指令5,指令2,指令6,指令3,指令4,指令7,指令8,M0,M3,M2,M1,(1)T1=(T+7 ) + 8 X 79=T+639 ,(2)T2=(T+7 ) + 8 X 59=T+479 ,T1-T2=160,T1T2,方法二:,多体交叉存储器的两点说明: (1)采用低位交叉方式工作的存储器实际是一种流水方式工作的并行存储器系统。能够大幅度提高主存储器的速度,在共享主存的多机系统及许多高速的单机系统中用作主存。 (2)增加存储体个数(多模块的块数)可提高主存速度,但是,主存速度并非随存储
14、体个数增加而线性提高。 例表:几台大型计算机的主存储器结构(低位交叉)数据,4、多体交叉存储器的组成:下图。存控的作用组织多体并行工作,实现分时流水读出,管理信息流动次序和方向。,I/O处理器,CPU,M0,M1,M2,M3,总 线 控 制,IOP,地址,地址,地址,地址,存 储 器 控 制 器,3.4.3 相联存储器(CAMContent Access Memory),一、相联存储器的实质(工作原理) 按内容访问的存储器。“内容”指存储单元中一个子段(字段)。 将数据字的某字段作为关键字,给出要找数据字的关键字的值,用它与存储体中所有单元进行比较,找出关键字相同的数据字,且,有多少个找出多少
15、个。 二、相联存储器的结构与功能 结构框图如下:,检索寄存器(n位),屏蔽寄存器(n位),数据寄存器(n位),存储体(包括比较 电路)(m个单 元,每单元n位),译 码 电 路,地址 寄存器,1,2,m,匹 配 寄 存 器, , , ,相联存储器的结构框图,用来存放关键字,屏蔽关键字段 以外的值。,存储体中各单元相 应字段同时与关键字 比较,相同者,匹配 寄存器相应位置为1。,译码电路 找到对应的 存储单元。,数据寄存器存放 读出或写入的数据。,也具备 按地址 访问的 功能。,三、相联存储器的用途,1、用在高速缓冲存储器中; 2、在虚拟存储器中用作段表、页表存储器,或快表存储器; 用于数据库和知识库中。,