计算机组成原理第三章 第5讲 并行存储器.ppt
并行存储器3.5 并行存储器由于由于CPUCPU和主存储器之间在速度上是不匹配的,和主存储器之间在速度上是不匹配的,这种情况便成为限制高速计算机设计的主要问题。这种情况便成为限制高速计算机设计的主要问题。为了提高为了提高为了提高为了提高CPUCPU和主存之间的数据传输率:和主存之间的数据传输率:和主存之间的数据传输率:和主存之间的数据传输率:l l采用更高速的技术来缩短读写时间采用更高速的技术来缩短读写时间l l采用并行技术采用并行技术 空间并行空间并行双端口存储器双端口存储器 时间并行时间并行-多体交叉存储器多体交叉存储器l l采用分层存储系统采用分层存储系统 CacheCache 虚拟存储系统虚拟存储系统3.5 并行存储器一、双端口存储器 1、双端口存储器的逻辑结构 l l双端口存储器:同一个存储器具有两组相互独双端口存储器:同一个存储器具有两组相互独立的读写控制电路立的读写控制电路l l是一种高速工作的存储器,独立并行操作是一种高速工作的存储器,独立并行操作l l双端口存储器双端口存储器IDT7133IDT7133的逻辑框图如图示。的逻辑框图如图示。3.5 并行存储器R3.5 并行存储器2、无冲突读写控制l l当两个端口的地址不相同时,在两个端口上进当两个端口的地址不相同时,在两个端口上进行读写操作,一定不会发生冲突。行读写操作,一定不会发生冲突。l l片选控制片选控制(CE(CE,低电平有效,低电平有效)l l输出驱动控制输出驱动控制(OE(OE,低电平有效,低电平有效)。3.5 并行存储器勘误:l lP85 P85 图图3.24 3.24 右下角右下角BUSYBUSY脚标脚标L L改为改为R R分析表3.43.5 并行存储器3、有冲突读写控制l l两个端口地址相同时发生读写冲突两个端口地址相同时发生读写冲突l l置了置了BUSYBUSY标志解决冲突:标志解决冲突:判断逻辑可以决定优先权判断逻辑可以决定优先权 对获得使用权的端口放开对获得使用权的端口放开BUSYBUSY标志标志(高高)对被延迟的端口置对被延迟的端口置BUSYBUSY标志标志(BUSY(BUSY变为低电平变为低电平),即,即暂时关闭此端口。暂时关闭此端口。3.5 并行存储器4 4、有冲突读写控制判断方法、有冲突读写控制判断方法l l(1)(1)如果先地址匹配,后如果先地址匹配,后CECE片选有效:片选有效:片上的控制逻辑在片上的控制逻辑在CECEL L和和CECER R之间进行判断来选择端口之间进行判断来选择端口(CE(CE判断判断)。l l(2)(2)如果先片选如果先片选CECE有效,后在地址匹配:有效,后在地址匹配:片上的控制逻辑在左、右地址间进行判断来选择端口片上的控制逻辑在左、右地址间进行判断来选择端口(地址有效地址有效判断判断)。l l无论采用哪种判断方式,最终延迟端口的无论采用哪种判断方式,最终延迟端口的BUSYBUSY标志都标志都将置位而关闭此端口。将置位而关闭此端口。l l而当允许存取的端口完成操作时,延迟端口而当允许存取的端口完成操作时,延迟端口BUSYBUSY标志标志才进行复位而打开此端口。才进行复位而打开此端口。勘误:l lP86P86表表3.53.5l l第六行文字,第六行文字,“右端口右端口”列:列:(A0(A0A10)RA10)R改为改为 (A0(A0A10)A10)L L阅读表3.5LV5R:左地址有效先于右地址50ns以上RV5L:右地址有效先于左地址50ns以上Same:左右地址有效均在50ns内匹配 LL5R:CEL变低先于CER50ns以上RL5L:CER变低先于CEL50ns以上LW5R:CEL和CER均互50ns在内变低3.5.1双端口存储器地址相同地址相同3.5.1双端口存储器3.5 并行存储器二、多模块交叉存储器:由若干个存储模块组成的主存储器是线性编址的。具体有两种方式:l l一种是顺序方式一种是顺序方式l l一种是交叉方式一种是交叉方式当要访问某数据块内容时,需访问连续的存储单元3.5 并行存储器3.5 并行存储器1 1、顺序方式、顺序方式 例例 M0M0M3M3共四个模块,则每个模块共四个模块,则每个模块8 8个字个字顺序方式:顺序方式:M0M0:0 07 7 M1 M1:8 81515 M2 M2:16162323 M3 M3:242431315 5位地址组织如下:位地址组织如下:X XX X X X X X X X高位选模块,低位选块内地址高位选模块,低位选块内地址3.5 并行存储器特点:l l某个模块进行存取时,其他模块不工作某个模块进行存取时,其他模块不工作l l优点是某一模块出现故障时,其他模块可以照优点是某一模块出现故障时,其他模块可以照常工作常工作l l通过增添模块来扩充存储器容量比较方便。通过增添模块来扩充存储器容量比较方便。l l缺点是各模块串行工作,存储器的带宽受到了缺点是各模块串行工作,存储器的带宽受到了限制,并行性低。限制,并行性低。3.5 并行存储器 例例 M0M0M3M3共四个模块,则每个模块共四个模块,则每个模块8 8个字个字交叉方式:交叉方式:M0M0:0 0,4,.4,.除以除以4 4余数为余数为0 0 M1 M1:1 1,5,.5,.除以除以4 4余数为余数为1 1 M2 M2:2 2,6,.6,.除以除以4 4余数为余数为2 2 M3 M3:3 3,7,.7,.除以除以4 4余数为余数为3 35 5位地址组织如下:位地址组织如下:X X XX X X X X X X高位选块内地址,低位选模块高位选块内地址,低位选模块3.5 并行存储器特点:l l连续地址分布在相邻的不同模块内,同一个模连续地址分布在相邻的不同模块内,同一个模块内的地址都是不连续的。块内的地址都是不连续的。l l优点是对连续字的成块传送可实现多模块流水优点是对连续字的成块传送可实现多模块流水式并行存取,大大提高存储器的带宽。式并行存取,大大提高存储器的带宽。l l使用场合为成批数据读取。使用场合为成批数据读取。3.5 并行存储器l l假设有假设有假设有假设有n n个存储体,每个存储体的容量为个存储体,每个存储体的容量为个存储体,每个存储体的容量为个存储体,每个存储体的容量为mm个存个存个存个存储单元储单元储单元储单元l l顺序方式存储单元地址:顺序方式存储单元地址:顺序方式存储单元地址:顺序方式存储单元地址:高位高位高位高位低位低位低位低位m个存储单元,每个存储单元,每个存储体内的地址个存储体内的地址位数位数片选,片选,n个存储体个存储体选择选择3.5 并行存储器2、交叉方式、交叉方式l l存储单元地址:存储单元地址:存储单元地址:存储单元地址:高位高位高位高位低位低位低位低位(可以实现多模块流水式并行存取)(可以实现多模块流水式并行存取)每个存储体内每个存储体内的地址位数的地址位数片选,存储体片选,存储体选择选择3.5 并行存储器3、多模块交叉存储器的基本结构 四模块交叉存储器结构框图3.5 并行存储器主存被分成主存被分成主存被分成主存被分成4 4个相互独立、容量相同的模块个相互独立、容量相同的模块个相互独立、容量相同的模块个相互独立、容量相同的模块M0M0,M1M1,M2M2,M3M3每个模块都有自己的读写控制电路、地址寄存器每个模块都有自己的读写控制电路、地址寄存器每个模块都有自己的读写控制电路、地址寄存器每个模块都有自己的读写控制电路、地址寄存器和数据寄存器和数据寄存器和数据寄存器和数据寄存器各自以等同的方式与各自以等同的方式与各自以等同的方式与各自以等同的方式与CPUCPU传送信息传送信息传送信息传送信息如果程序段或数据块都是连续地在主存中存取,如果程序段或数据块都是连续地在主存中存取,如果程序段或数据块都是连续地在主存中存取,如果程序段或数据块都是连续地在主存中存取,那么将大大提高主存的访问速度,怎样提高?那么将大大提高主存的访问速度,怎样提高?那么将大大提高主存的访问速度,怎样提高?那么将大大提高主存的访问速度,怎样提高?思考你觉得采用什么样的机制能提高内存数据你觉得采用什么样的机制能提高内存数据访问效率?访问效率?分时使用数据总线假定模块字长(存储单元位数)等于数据总线宽度多模块流水!多模块流水!定量分析:假定模块内访问一个存储单元(字)的存储周期是T模块数m总线传送周期tT=mt流水方式存取示意图1时间M0 M1 M2 M3t 时间片T流水方式存取示意图23.5 并行存储器通常在一个存储器周期内,通常在一个存储器周期内,通常在一个存储器周期内,通常在一个存储器周期内,n n个存储体个存储体个存储体个存储体必须分时启必须分时启必须分时启必须分时启动,各变量应该满足关系:动,各变量应该满足关系:动,各变量应该满足关系:动,各变量应该满足关系:T=T=mtmtm=T/tm=T/t,称为交叉存取度,称为交叉存取度,称为交叉存取度,称为交叉存取度整个存储器的存取速度有望提高整个存储器的存取速度有望提高整个存储器的存取速度有望提高整个存储器的存取速度有望提高mm倍倍倍倍若数据块由连续的若数据块由连续的若数据块由连续的若数据块由连续的x x个存储字构成个存储字构成个存储字构成个存储字构成例5设存储器容量为32字,字长64位,模块数m=4,分别用顺序方式和交叉方式进行组织。存储周期T=200ns,数据总线宽度为64位,总线传送周期=50ns。若连续读出4个字,问顺序存储器和交叉存储器的带宽各是多少?解:顺序存储器和交叉存储器连续读出解:顺序存储器和交叉存储器连续读出解:顺序存储器和交叉存储器连续读出解:顺序存储器和交叉存储器连续读出m=4m=4个字的个字的个字的个字的信息总量都是:信息总量都是:信息总量都是:信息总量都是:q=64b4=256bq=64b4=256b顺序存储器和交叉存储器连续读出顺序存储器和交叉存储器连续读出顺序存储器和交叉存储器连续读出顺序存储器和交叉存储器连续读出4 4个字所需的时间个字所需的时间个字所需的时间个字所需的时间分别是:分别是:分别是:分别是:t2=t2=mTmT=4200ns=800ns=810=4200ns=800ns=810-7-7s st1=T+(m-1)t=200ns+3*50ns=350ns=3.510t1=T+(m-1)t=200ns+3*50ns=350ns=3.510-7-7s s顺序存储器和交叉存储器的带宽分别是:顺序存储器和交叉存储器的带宽分别是:顺序存储器和交叉存储器的带宽分别是:顺序存储器和交叉存储器的带宽分别是:W2=q/t2=256b(810W2=q/t2=256b(810-7-7)s=320Mb/s)s=320Mb/sW1=q/t1=256b(3.510W1=q/t1=256b(3.510-7-7)s=730Mb/s)s=730Mb/s二模块交叉存储器举例(略)二模块交叉存储器举例(略)