《系统结构第三章.pptVIP

  • 2
  • 0
  • 约5.8千字
  • 约 70页
  • 2018-09-14 发布于境外
  • 举报
3.2.2 LRU替换算法的实现 (1)计数法 是为Cache中的每一个数据块设置一个由寄存器构成的标记。其中若干位按一定的周期自动计数。当某一Cache块被访问时,其计数器清0。这样,最近未被访问的Cache块的计数值最大。在置换时优先置换。 (2)堆栈型替换算法 把本次访问的块号与堆栈中保存的所有块号进行相联比较。如果发现有相等的,则Cache命中。这时,把本次访问的块号从栈顶压入,堆栈内各单元中的块号依次往下移。 如果相联比较没有发现相等的,则Cache块失效。这时,本次访问的块号从栈顶压入,堆栈内各单元中的块号依次往下移,直至栈底,栈底单元中的块号被移出堆栈,它就是要被替换的块号。 (3)比较对法 比较对法是让各Cache块成对组合,用一个触发器的状态表示该比较对内两块访问的远近程度,再经门电路找到LRU块。例如有A、B、C三块,其组合对为AB、AC和BC。用三个触发器的状态TAB、TAC、TBC分别表示各对中数据块访问的顺序,比如TAB为1表示块A 比块B更近被访问过,依次类推。这样,最近未被访问的数据块可表示为: CLRU=TAC ·TBC BLRU=TAB·TBC ALRU=TAB·TAC 哪个为1则为替换对象,通过“与”门和触发器可构成完成上述功能的比较电路。这种方式在数据块很多时电路复杂,因此常用在组内数据块数较少的Cache中。 3.3并行主存系统 将存储器分成多个模块,可以并行地读出多个单元,这种存储器结构就是并行存储器。 单体单字存储器:图3-23是一个字长为W的单体主存,一次可以访问一个存储器字,所以主存频宽BM= W/ TM。若W与CPU字长一致,则CPU在一个存取周期TM时,获得信息量的速率就为BM。 要提高主存频宽BM,使之与CPU速度匹配,在相同芯片条件下(即相同的TM),提高存储器字长W才行,图3-24是在一个TM内读取4个字的单体多字存储器,,其速率是单体单字存储器的4倍。 单体多字存储器: 多个并行存储器与同一个地址寄存器连接,所以同时被一个单元地址驱动,一次访问读出的是沿n个存储器顺序排列的n个字,故也称单体多字方式。 多体多字存储器: 若n个并行工作的存储器具有各自的地址寄存器和地址译码、驱动、读放、时序电路,能各自以同等的方式与CPU传递信息,形成可以同时工作又独立编址且容量相同的n个分存储体,这就是多体方式。 多体主存系统能够实现多个分体并行存取,一次访问并行读出的n个字不像单体方式那样一定是沿存储器顺序排列的存储单元内容,而是分别由各分体的地址寄存器指示的存储单元信息。多体比单体方式控制线路复杂,但地址设置灵活,被大多数中、大型计算机所采用。 多体多字交叉存储器: 存储器也是由多个存储体构成。但是数据线是每一个存储体字(或字节)长的整倍数,每访问一次存储器,可同时读/写多个字(或字节)。多个存储体按流水线的方式启动,提高了存储器的整体速度,支持猝发传送方式,支持多处理机系统。 1.高位地址交叉多体存储器 高位地址交叉多体存储器的逻辑结构如图所示,体内地址连续,设有n位,容量为2n。若总体地址有m位,其高位地址经译码,选择某一存储体。存储体的个数最多有2m-n个,通过对m-n位的高位地址译码选择不同的存储体。 高位地址交叉多体存储器 2.低位地址交叉多体存储器 低位地址交叉多体存储器的结构如图3.4所示,用低位地址译码选择不同的存储体,而高位地址用于内部寻址。若总体地址有m位,低位地址有n位,则可连接2n个存储体,体内地址空间为2m-n。 低位地址交叉多体存储器 若设存储器的字存取周期为t0,由k个子周期τ组成,即t0=kτ。如果使用k个存储体交叉存储,再按时间τ依次启动k个存储体,则构成流水线存取方式,其示意如图所示,其中k=4。 3.4高速缓冲存储器(Cache)  Cache具有与CPU相匹配的存取速度,界于CPU和主存之间,其示意如图所示,用来存放频繁使用的程序和数据。 Cache 示意图 Cache的容量较小,比如1KB~1MB,主要存放(10~20)%频繁使用的程序或数据。当访问Cache失效时,再去访问主存,并把主存中找到的数据送到Cache中。相反,若Cache中的数据被修改,也要修改主存中的相应单元,以保证Cache与主存的一致性。因此,Cache实际上是主存的一个子集。 一般情况下,Cache与主存传送数据是以块为单位,数据块一般为4~128字节,实际上也是Cache与主存之间的映像

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档