Lecture-13-多体交叉存储器_第1页
Lecture-13-多体交叉存储器_第2页
Lecture-13-多体交叉存储器_第3页
Lecture-13-多体交叉存储器_第4页
Lecture-13-多体交叉存储器_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

提高访存速度的措施采用高速器件采用层次结构Cache–主存调整主存结构多个存储器并行工作由于CPU和主存储器之间在速度上是不匹配的,这种情况便成为限制高速计算机设计的主要问题。课程结构双端口存储器同一个存储器具有两组相互独立的读写控制电路两组相互独立的读写控制电路可同时进行存储器的读写无冲突读写控制送到两端口的读写地址不同时有冲突读写控制两个端口同时存取存储器同一存储单元时…双端口存储器一个例子程序指令i1指令i2指令i3指令i4指令i5指令i6指令i7指令i8指令i9:如果条件C满足转到指令5指令i10…i1i2i3i4…i10…i1

i2

i3

i4…

i10

…(1)存储器的模块化组织M0……M1……M2M3…………体内地址模块号地址000000000001001111010000010001011111100000100001101111110000110001111111顺序方式多模块交叉存储器M0地址01……n-1M1nn+1……2n-1M22n2n+13n-1M33n3n+14n-1…………地址译码体内地址模块号模块号多模块交叉存储器多模块交叉存储器顺序方式的特点顺序访问地址连续的存储单元时(局部性原理),只能单个模块工作,其他模块不工作〔串行工作〕某一模块出现故障时,其他模块可以照常工作;通过增添模块来扩充存储器容量比较方便。各模块串行工作,存储器的带宽受到了限制。M0……M1……M2M3…………

模块号体内地址地址000000000001000010000011000100000101000110000111111100111101111110111111交叉方式多模块交叉存储器(2)存储器的模块化组织M0地址04……4n-4M115……4n-3M2264n-2M3374n-1…………地址译码

模块号体内地址

模块号多模块交叉存储器多体交叉存储器是指存储体内有多个容量相同的存储模块,而且各存储模块都有各自独立的地址存放器、译码器和数据存放器,各模块可独立进行工作。多个模块采用交叉编址,连续的地址被安排在不同的模块中。多模块交叉存储器交叉方式的特点在不改变存取周期的前提下,增加存储器的带宽时间

单体访存周期

单体访存周期启动存储体0启动存储体1启动存储体2启动存储体3多模块交叉存储器

连续读取4个字所需的时间为T+(4

-1)τ多模块交叉存储器设四模块交叉存储器,存取周期为T,总线传输周期(连续两次在总线上传输数据信息的最小间隔)为τ,为实现流水线方式存取,应满足τ<=T/4。二模块交叉存储器举例计算机字长64位,存储模块数m=4,分别用顺序方式和交叉方式进行组织。存储周期T=200ns,数据总线宽度为64位,总线传送周期τ=50ns。假设连续读出4个字,问顺序存储器和交叉存储器的带宽各是多少?解:顺序存储器和交叉存储器连续读出4个字所需的时间分别是:t2=mT=4×200ns=800ns=8×10-7st1=T+(m-1)τ

=200ns+150ns=350ns=3.5×10-7s4个字的信息总量是64×4=256b顺序存储器和交叉存储器的带宽分别是:W2=q/t2=256b÷(8×10-7)s=320Mb/sW1=q/t1=256b÷(35×10-7)s=730Mb/s二模块交叉存储器举例

例在一个具有八模块交叉的存储器中,如果处理器的访存地址为以下八进制。求该存储器比单体存储器的平均访问速率提高多少?〔忽略初启时的延迟〕〔1〕10018、10028、10038、……11008〔2〕10028、10048、10068、……12008解:设存储器的访问周期为T,总线传送周期为t(一般t=T/m,m为模块数)。〔1〕八体低位多体交叉的存储器访问顺序如下:10018~10108所需时间=T;10118~10208所需时间=T;102108~10308所需时间=T;10318~10408所需时间=T;10418~10508所需时间=T;10518~10608所需时间=T;10618~10708所需时间=T;10718~11008所需时间=T;所以访问64个地址所需时间=8T+7t;单体存储器访问所需时间=64T;所以平均访问速率提高:64/8≈810018~1010810118~10208〔2〕单体存储器访问所需时间=64T;多体时:10028~10108所需时间=T;10128~10208所需时间=T;10228~10308所需时间=T;10328~10408所需时间=T;10428~10508所需时间=T;10528~10608所需时间=T;10628~10708所需时间=T;10728~11008所需时间=T;11028~11108所需时间=T;11128~11208所需时间=T;11228~11308所需时间=T;11328~11408所需时间=T;11428~11508所需时间=T;11528~11608所需时间=T;11628~11708所需时间=T;11728~12008所需时间=T;八体低位多体交叉的存储器访问64个地址所需时间=16T+3t;10028~1010810128~1020810021012同一模块,不能同时访问练习1.某机采用四体交叉存储器,今执行一段小循环程序,此程序放在存储器的连续地址单元中,请问在下面两种情况下〔执行指令数相等〕。程序运行的时间是否相等?为什么?设每条指令的执行时间相同,每条指令占内容中的一个存储单元。〔1〕循环程序由6条指令组成,重复执行80次。〔2〕循环程序由8条指令组成,重复执行60次。2.在一个具有八体多体交叉的存储器中,如果处理器的访存地址为以下八进制。求该存储器比单体存储器的平均访问速率提高多少?〔忽略初启时的延迟〕10038、10068、10118、……130081解:〔1〕在四体交叉存储器中取6条指令的时间=2T,重复执行80次的时间=80×2T=160T。〔2〕在四体交叉存储器中取8条指令的时间=2T,重复执行60次的时间=60×2T=120T。所以第一种情况的运行的时间大于第二种情况的运行的时间。

1234模块指令65432187详细分析(1)如果取指令和执行指令并行,那么答案中应该没有执行时间t0,因为执行在取指期间可以完成;(2)如果取完指令后一定要执行,然后才能取下一指令,那么没有发挥交叉模块的作用,含6条指令的循环每次循环需要6(T+t0);(3)考虑上面第(1)种情况,对于6条指令的循环,如果最后一条跳转的目标地址可以事先得知,那么未执行完最后一条指令前(或者在最后一条指令取指的同时,即可开始新一轮循环的取指。新一轮循环中第一条指令取指时,需要在第五条指令取指完成之后(因为第1条指令与第5条指令在同一模块)。故每轮循环需要2T,具体的总时间应该分别为:2T*80+t和2T*60+3t(4)考虑上面第(1)种情况,如果每次循环的最后一条跳转的目标地址必须取完该条指令后才能知道,那么下一轮循环的取指就不能和上一轮并行执行。此时,总时间应该分别为(T+5t)*80和(T+7t)*60(5)如果是突发访存,每轮循环时,先一下把指令都取出,再执行。那么为((T+5t+6t0)*80和(T+7t+8t0)*602解:设存储器的访问周期为T。〔1〕八体低位多体交叉的存储器访问的情况如下:1003、1006、1011、1014、1017、1022、1025、1030所需时间=T;1033、1036、1041、1044、1047、1052、1055、1060所需时间=T1063、1066、1071、1074、1077、1102、1105、1110所需时间=T1113、1116、1121、1124、1127、1132、1135、1140所需时间=T1143、1146、1151、1154、1157、1162、1165、1170所需时间=T1173、1176、1201、1204、1207、1212、1215、1220所需时间=T1223、1226、1231、12341237、1242、1245、1250所需时间=T1253、1256、1261、1264、1267、12

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论