首页 > 租号营中心 正文

组相联映射怎么求租号

时间:2020-04-24 02:00:01 作者:租号谷平台

以全相联映射技术为例,说明在带有cache的存储系统中,"读"操作是怎样完成的

全相联的cache容量不会太大,因为延迟比较大。全相联的tag部分放在CAM中,(CAM既有存储功能也有比较功能)都是tag字段通过比较命中cache line。block offset进行数据对齐取一字节数据。

组相联映射中cache地址的问题

母鸡呀!

组相联映射是直接映射和相联映射方法的结合,它综合了直接映射结构简单和相联映射数据替换灵活的优点。在组相联映射的结构中,将Cache分为m组,每组r’行,主存中共有s个数据块,每s/r’个数据块可以分别装入某一相同行号的m个Cache行中。

组相联的映象规则:

(1) 主存和Cache按同样大小划分成块。

(2) 主存和Cache按同样大小划分成组。

(3) 主存容量是缓存容量的整数倍,将主存空间按缓冲区的大小分成区,主存中每一区的组数与缓存的组数相同。

(4) 当主存的数据调入缓存时,主存与缓存的组号应相等,也就是各区中的某一块只能存入缓存的同组号的空间内,但组内各块地址之间则可以任意存放, 即从主存的组到Cache的组之间采用直接映象方式;在两个对应的组内部采用全相联映象方式。

相关存储器中每个单元包含有: 主存地址中的区号E与组内块号B,两者结合在一起,其对应的字段是缓存块地址b。相关存储器的容量,应与缓存的块数相同。当进行数据访问时,先根据组号,在目录表中找到该组所包含的各块的目录,然后将被访数据的主存区号与组内块号,与本组内各块的目录同时进行比较。如果比较相等,而且有效位为“1”则命中。

将其对应的缓存块地址b送到缓存地址寄存器的块地址字段,与组号及块内地址组装即形成缓存地址。如果比较不相等,说明没命中,所访问的数据块尚没有进入缓存,则进行组内替换;如果有效位为0,则说明缓存的该块尚未利用, 或是原来数据作废,可重新调入新块。

一道关于组相联映射的题目

快内地址32字节 为5位

每组两个 共8组,组号占了 3位

129化为2进制 为1 00(组号) 00001(快内)

所以他应该映射到 第4组 的第一块

在Cache映射里的组相联映射,是每一组共有一个主存字块标记还是组里的每一块都有一个主存字块标记

你说的组我理解是cache line, 每一个cache line里面有若干数据(应该是你说的字块吧)。应该是每一个cache line有个一个tag(标记),字块查找是通过地址后几位来完成的。可以参阅http://blog.csdn.net/pang040328/article/details/4285590。

Cache地址映像的组相联映像中计算主存地址的组号怎么算?(提示:t+r位,r是Cache采用的2的r次方路相联中的r,我就想知道t是怎么得出的?)

1.全相联映象 主存中的每一个字块可映像到Cache任何一个字块位置上,这种方式称为全相联映像。这种方式只有当Cache中的块全部装满后才会出现块冲突,所以块冲突的概率低,可达到很高的Cache命中率;但实现很复杂。当访问一个块中的数据时,块地址要与Cache块表中的所有地址标记进行比较已确定是否命中。在数据块调入时存在着一个比较复杂的替换问题,即决定将数据块调入Cache中什么位置,将Cache中那一块数据调出主存。为了达到较高的速度,全部比较和替换都要用硬件实现。 2.组相联映象 组相联映象方式是直接映象和全相联映象的一种折衷方案。这种方法将存储空间分为若干组,各组之间是直接映像,而组内各块之间则是全相联映像。它是上述两种映像方式的一般形式,如果组的大小为1,即Cache空间分为2N组,就变为直接映像;如果组的大小为Cache整个的尺寸,就变为了全相联映像。组相联方式在判断块命中及替换算法上都要比全相联方式简单,块冲突的概率比直接映像的低,其命中率也介于直接映像和全相联映像方式之间。 ·替换策略和一致性问题的处理方法 Cache和存储器一样具有两种基本操作,即读操作和写操作。 当CPU发出读操作命令时,根据它产生的主存地址分为两种情形:一种是需要的数据已在Cache中,那么只需直接访问Cache,从对应单元中读取信息到数据总线;另一种是需要的数据尚未装入Cache,CPU需从主存中读取信息的同时,Cache替换部件把该地址所在的那块存储内容从主存拷贝到Cache中;若Cache中相应位置已被字块占满,就必须去掉旧的字块。常见的替换策略有两种: 1.先进先出策略(FIFO)FIFO(First In First Out)策略总是把最先调入的Cache字块替换出去,它不需要随时记录各个字块的使用情况,较容易实现;缺点是经常使用的块,如一个包含循环程序的块也可能由于它是最早的块而被替换掉。 2.最近最少使用策略(LRU)LRU(Least Recently Used)策略是把当前近期Cache中使用次数最少的那块信息块替换出去,这种替换算法需要随时记录Cache中字块的使用情况。LRU的平均命中率比FIFO高,在组相联映像方式中,当分组容量加大时,LRU的命中率也会提高。 当CPU发出写操作命令时,也要根据它产生的主存地址分为两种情形:一种是不命中时,只向主存写入信息,不必同时把这个地址单元所在的整块内容调入Cache中;另一种是命中时,这时会遇到如何保持Cache与主存的一致性问题,通常有三种处理方式: 1.直写式(write through)即CPU在向Cache写入数据的同时,也把数据写入主存以保证Cache和主存中相应单元数据的一致性,其特点是简单可靠,但由于CPU每次更新时都要对主存写入,速度必然受影响。 2.缓写式(post write)即CPU在更新Cache时不直接更新主存中的数据,而是把更新的数据送入一个缓存器暂存,在适当的时候再把缓存器中的内容写入主存。在这种方式下,CPU不必等待主存写入而造成的时延,在一定程度上提高了速度,但由于缓存器只有有限的容量,只能锁存一次写入的数据,如果是连续写入,CPU仍需要等待。 3.回写式(write back)即CPU只向Cache写入,并用标记加以注明,直到Cache中被写过的块要被进入的信息块取代时,才一次写入主存。这种方式考虑到写入的往往是中间结果,每次写入主存速度慢而且不必要。其特点是速度快,避免了不必要的冗余写操作,但结构上较复杂。 此外,还有一种设置不可Cache区(Non-cacheable Block)的方式,即在主存中开辟一块区域,该区域中的数据不受Cache控制器的管理,不能调入Cache,CPU只能直接读写该区域的内容。由于该区域不与Cache发生关系,也就不存在数据不一致性问题。目前微机系统的BIOS设置程序大多允许用户设置不可Cache区的首地址和大小。

Cache与主存之间的全相联映射,直接映射和组相联映射的区别

高速缓冲存储器是存在于主存与CPU之间的一级存储器, 由静态存储芯片(SRAM)组成,容量比较小但速度比主存高得多, 接近于CPU的速度。 Cache的功能是用来存放那些近期需要运行的指令与数据。目的是提高CPU对存储器的访问速度。为此需要解决2个技术问题:一是主存地址与缓存地址的映象及转换; 二是按一定原则对Cache的内容进行替换。

Cache的结构和工作原理如图2.3.1所示。

主要由三大部分组成:

Cache存储体:存放由主存调入的指令与数据块。

地址转换部件:建立目录表以实现主存地址到缓存地址的转换。

替换部件:在缓存已满时按一定策略进行数据块替换,并修改地址转换部件。

2.3.2 地址映象与转换

地址映象是指某一数据在内存中的地址与在缓冲中的地址,两者之间的对应关系。下面介绍三种地址映象的方式。

1.全相联方式

地址映象规则:主存的任意一块可以映象到Cache中的任意一块

(1) 主存与缓存分成相同大小的数据块。

(2) 主存的某一数据块可以装入缓存的任意一块空间中。

全相联方式的对应关系如图2.3.2所示。如果Cache的块数为Cb,主存的块数为Mb,则映象关系共有Cb×Mb种。

组相联映射怎么求租号链接:/about/96973.html

  •  标签:  
  • 组相联映射怎么求租号相关阅读
  • 组相联映射怎么求租号评论列表

发表评论: