请问这种什么是组相联映射射和常见的什么是组相联映射射方式有什么区别?是不是同一种映射方式?

当前位置: >> Cache和主存的三种映射方式 Cachec主存之g的全相映射,直接映射和M相映射的^e1.高速_存ζ鞯墓δ堋⒔Yc工作原理 高速_存ζ魇谴嬖陟吨鞔媾cCPU之g的一存ζ鳎 由oB存π酒 (SRAM)M成,容量比^小但速度比主存高得多, 接近於CPU的速度。 Cache的 功能是用泶娣拍切┙谛枰\行的指令cD康氖翘岣CPUΥζ鞯脑L 速度。榇诵枰Q2技g}:一是主存地址c娴刂返挠诚蠹稗DQ; 二是 按一定原tCache的热葸M行替Q。 Cache的Y和工作原理如D2.3.1所示。主要由三大部分M成: Cache存w:存放由主存{入的指令cK。 地址DQ部件:建立目表以F主存地址到娴刂返霓DQ。 替Q部件:在嬉Mr按一定策略M行K替Q,K修改地址DQ部件。 2.地址映象cDQ 地址映象是指某一却嬷械牡刂放c在_中的地址,烧咧g的P 系。下面介B三N地址映象的方式。 1.全相方式 地址映象t:主存的任意一K可以映象到Cache中的任意一K (1) 主存c娣殖上嗤笮〉K。 (2) 主存的某一K可以b入娴娜我庖K空g中。 全相方式的P系如D2.3.2所示。如果Cache的KCb,主存的K Mb,t映象P系共有Cb×MbN。D2.3.3示出了目表的格式及地址Qt。 目表存放在相P()存 器中,其中包括三部分:K在主存的K地址、存入驷岬K地址、及有效位 (也Qb入位)。由於是全相方式,因此,目表的容量c娴K迪嗤 e例:某C主存容量1M,Cache的容量32KB, 每K的大小16字(或 字)。 出主、娴牡刂犯袷健 目表格式及其容量。容量:c_K盗肯嗤211=2048(或32K/16=2048)。 c:命中率比^高,Cache存臻g利用率高。 缺c:L相P存ζr,每次都要c全部热荼容^,速度低,成本高,因而 蒙佟 2.直接相方式 地址映象t: 主存ζ髦幸K只能映象到Cache的一特定的K中。 (1) 主存c娣殖上嗤笮〉K。 (2) 主存容量蔷嫒萘康恼当叮⒅鞔婵臻g按娴娜萘糠殖^,主存 中每一^的K蹬c娴目K迪嗟取 (3) 主存中某^的一K存入r只能存入嬷K相同的位置。 D2.3.4示出了直接相映象t。 可,主存中各^认嗤K的K都 可以分e{入嬷K相同的地址中,但同r只能有一^的K存入妗S伸 主、K相同,因此,目登r,只{入K的^即可。 D2.3.5示出了主、 _地址格式、目表的格式及地址Qt。主、 K及K鹊刂字段完全相同。目表存放在高速小容量存ζ髦校渲邪 二部分:K在主存的^和有效位。目表的容量c娴K迪嗤 地址Q^程:用主存地址中的KB去L目存ζ鳎 把x出淼^c 主存地址中的^EM行比^, 比^Y果相等,有效位1,tCache命中,可以 直接用K及K鹊刂方M成的_地址到嬷腥担槐容^Y果不相等,有效位 1, 可以M行替Q,如果有效位0,可以直接{入所需K。 c:地址映象方式危Lr,只需z查^是否相等即可,因而可 以得到比^快的L速度,硬件O浜巍 缺c:替Q操作l繁,命中率比^低。 e例:上例中,主存容量1M, Cache的容量32KB,每K的大小16字 (或字)。出主、娴牡刂犯袷健⒛夸表格式及其容量。容量:c_K盗肯嗤211=2048(或32K/16=2048)。 3.M相映象方式 M相的映象t: (1) 主存和Cache按同哟笮分成K。 (2) 主存和Cache按同哟笮分成M。 (3) 主存容量是嫒萘康恼当叮⒅鞔婵臻g按_^的大小分成^,主存 中每一^的M蹬c娴慕M迪嗤 (4) 主存的{入r,主存c娴慕M嗟龋簿褪歉^中的某 一K只能存入娴耐M的空g龋 但M雀K地址之gt可以任意存放, 即 主存的M到Cache的M之g采用直接映象方式;在慕M炔坎捎萌嗦映 象方式。 D2.3.6示出了M相的映象P系, D中婀卜CgM,每M包含有GbK; 主存是娴Me倍, 所以共分有Me^, 每^有CgM, 每M有GbK。 那N, 主 存地址格式中4字段:^、^冉M、MK和K鹊刂贰 而嬷 包含3字段:M、MK、K鹊刂贰V鞔娴刂放c娴刂返霓DQ有刹糠郑 M地址是按直接映象方式,按地址M行L,而K地址是采用全相方式,按热 L。M相的地址DQ部件也是采用相P存ζF,D2.3.7。 相P存ζ髦忻卧校 主存地址中的^EcMKB,烧呓Y合 在一起,其淖侄问蔷K地址b。相P存ζ鞯娜萘浚c娴K迪嗤 M行Lr,先根M,在目表中找到M所包含的各K的目,然後 ⒈辉L闹鞔^cMK,c本M雀K的目同rM行比^。如果比^ 相等,而且有效位椤1”t命中。 可⑵木K地址b送到娴刂芳拇嫫鞯K地址字段,cM及K 地址Mb即形成娴刂贰H绻容^不相等,f明]命中,所L的K尚]有 M入妫tM行M忍Q;如果有效位0,tf明娴脑K尚未利用, 或是 原U,可重新{入新K。 c:K的_突概率比^低,K的利用率大幅度提高,K失效率明@降低。 缺c:Fy度和造r要比直接映象方式高。 Cache和主存的三种映射方式_计算机硬件及网络_IT/计算机_专业资料。Cachec主存之g的全相映射,直接映射和M相映射的^e 1.高速_存ζ鞯墓δ堋⒔Yc工作...CACHE与主存之间的全相联映射,直接映射和组相联映射的区别_IT/计算机_专业资料...下面介绍 三种地址映象的方式。 1.全相联方式 地址映象规则:主存的任意一块...高速缓存Cache与主存间采用全相联地址映像方式,高速缓存的容量为4MB,分为4块,每块1MB,主存容量为256MB。若主存读写时间为30ns,高速缓存的读写时间为3ns,平均读...练习1、 计算机主存容量 8MB,分为 4096 个主存块,cache 有 64KB,请问 若按照采用直接映射方式。 1) cache 有多少字块? 2) Cache 的字块内地址为多少位 3)...在Cache的地址映射中,凡主存中任意一块均可映射到Cache内的任意一块位置上,则这种映射方法称为 A.直接映射B.全相联映射C.组相联映射D.混合映射_答案解析_2016...5、 试比较 cache 和主存之间的三种不同映射方式。 6、 试比较硬布线控制和微程序控制。 四、 分析设计题 (共 6 题,75 分) 1、(10 分)已知 X 和 Y ...中, 必须应用某种函数把主存地址映像到 Cache 中定位, 称为地址映像(映射)。而...常用的地址映像方式有三种,分别是全相联映像、直接映像和组 相联映像。 1.全...简答题 1、CPU 与 Cache 之间为什么要建立地址映射,请简述三中不同的地址映射?...组相联方式三种: 全相联映射方式:将主存的一个块直接拷贝到 Cache 中的任意...(3) 调度分支延迟指令的三种常用方法是: ( 预测...( 5 )在“Cache- 主存”层次中,主存的更新算法有...( 直接映射 ) ,当组数 G 变为1时,组相联就...由此可用字长位数扩展与字单元数扩展相结合的方法组成组成整个存储器 字长位数扩展...tag 行号 字地址 4位 12 位 4位 两个映射到同一个 cache 行的内存地址满足... All rights reserved Powered by www.tceic.com copyright ©right 。文档资料库内容来自网络,如有侵犯请联系客服。 >   >   >  Cache基本原理之:结构 摘要:Cacheentries数据在主存和缓存之间以固定大小的”块(block)”为单位传递,每个块的大小可能是4,8,16Bytes或其他值,不同的CPU不尽相同,根据CacheBlock的大小而定。通常,人们更习惯称之为cache行,或者cacheline。根据前一篇文章的描述,每个cacheline除了包含数据,还包含TAG(地址信息)和状态信息。关联方式(Associativity)Cache的替换策略决定了主存中的数据块会拷贝到cache中的哪个位置,如果对于一块数据(大 Cache entries 数据在主存和缓存之间以固定大小的”块(block)”为单位传递,每个块的大小可能是4,8,16 Bytes或其他值,不同的CPU不尽相同,根据Cache Block 的大小而定。通常,人们更习惯称之为cache行,或者cache line。根据前一篇文章的描述,每个cache line除了包含数据,还包含TAG(地址信息)和状态信息。关联方式(Associativity) Cache的替换策略决定了主存中的数据块会拷贝到cache中的哪个位置,如果对于一块数据(大小为一个cache line ),只有一个cache line与之对应,我们称之为”直接映射 (Direct map)”;如果该数据块可以和cache中的任意一个cache line对应,则称之为”全相联(Full-Associative)”而目前更多的实现方式是采用”N路组相连(N Way Set-Associative)”的方式,即内存中的某一块数据可能在cache中的N个位置出现,N可能是2,4,8,12,或其他值。直接映射 这是一种多对一的映射关系,在这种映射方式下,主存中的每个数据块只能有一个cache line与之对应,因此直接映射也称为”单路组相联”。在1990年代初期,直接映射是当时最流行的机制,Alpha 2A和21164的L1 D Cache和I Cache都采用直接映射。它所需的硬件资源非常有限,每次对主存的访问都固定到一个指定的cache line,这种简单明了有一系列的好处,最大的优点是在200~300MHz CPU主频的情况下,Load-Use Latency可以快到只需要1个cycle! 一般地,缓存索引I可以示为: 其中, Am为内存地址,B为cache line 大小,N为cache line 的总数。 随着CPU主频的提高,Load-Use Latency也在相对缩小,直接映射方式的优势也就显得不那么明显,同时,成平方级别增长的主存容量使得cache的容量显得越来越小。 由于没有替换策略,主存的数据能存在哪个cache line根本没得选 ,这也意味着当两个变量映射到同一个cache line时,他们会不停地把对方替换出去。由于严重的冲突,频繁刷新cache将造成大量的延时,而且在这种机制下,如果没有足够大的cache,程序几乎无时间局部性可言。 如今直接映射机制正在逐渐退出舞台。2路组相联 一个2组2路相联的如上图所示,cache分成s组,每组包含两个cache line,也称为两路(2 ways),主存中的每个数据块只能位于s个set中的某一个,但可以在指定set中的任意一个cache line中。 AMD Athlon的L1 cache所采用的就是这种2路组相联的映射方式。N路组相联 相对于2路组相联更通用的方式是n路组相联:cache共分成s组,每组有n个cache line组成。 一般地,缓存索引I可以示为: 其中, Am为内存地址,B为cache line 大小, N表示每组含多少路数(ways),S为组数。全相联 全相联是组相联的一个极端,这种映射关系意味着主存中的数据块可能出现在任意一个cache line中。这样替换算法有最大的灵活度,也意味着可以有最低的miss 率。同时因为没有索引可以使用,检查一个cache是否命中需要在整个cache范围内搜索,这带来了查找电路的大量延时。因此只有在缓存极小的情况才有可能使用这种关联方式。小结 主存和cache的关联方式的选择,是多种因素互相妥协的结果。比如某种替换策略使得一个主存数据块可以有10个cache line与之相对应时,处理器就必须想办法查找这10个位置,看看是否在其中某一个命中。越多的查找,意味着需要越大的功耗,越大的芯片面积,以及越长的时间;而从另一个角度来看则是,越多的对应项可已有越低的miss,也就需要花费更少的时间来等待数据从低速主存获取。 研究(参考1)表明将路数N增大一倍,对于cache命中率的提升效果和增大一倍cache面积几乎相等。但是,当路数大于4以后,对于命中率的提高作用就不那么明显。而另一些研究(参考2,3)则表明,就单级cache而言,8路组相联的方式和全相联从miss率上来看效果相当。不少CPU采用了16路甚至32路组相联的关联方式,并不是单单为了降低miss率。 前大部分cache使用的都是N路组相联的方式。N路组相联的Cache结构 如上图所示,一个cache line 分成两部分存储,RAT和Status状态位存储在CAM(Content Addressable Memory)中,以利于并行查找(Parallel search),相比较于串行查找(Sequential search),并行查找虽然可以获得较快的速度,但当Way数较多时,需要占用相当多的物理资源。目前大部分的架构中,数据字段一般采用多端口,多Bank的SRAM阵列。 CAM分NAND和NOR两种,NOR CAM使用并行查找,NAND CAM使用级联查找。随着每个cache line上包含的信息越来越多,使用NOR CAM时需要的功率越来越大,且由于实现方式的原因,路数越多会导致时延越大(参考4);而NAND CAM采用一推一的方式,对功耗的要求较低。 CAM除了需要判断某一单元是否命中之外,就是查找电路的驱动问题,一个门电路的驱动能力和许多因素有关,如电流、频率、介质等。提升驱动能力的方法有很多,如采用金属介质、适应多级驱动器,缩短走线距离等,但这些方法不是导致功耗变大,就是导致时延变长。当然还有人提出使用流水方式,使用更多的节拍来完成搜索,这显然和各大厂家努力在尽可能少的节拍内完成cache读写操作的目标相悖。种种原因使得现代处理器中L1 cache的关联路数不会太大。 目前大部分CPU采用的是2-Ways、4-Ways、8-Ways或者16-Ways组相联的方式,路数多为2的幂,以便于硬件的实现,当然也不是没有例外,个别CPU中就有10路或者12路的情况,出现这个现象的原因在于路数并非对。在一个外设中,CPU 和外设都可以访问主存储器,比如显卡或者各类PCIe设备。这些访问并不完全相同,多数情况下,CPU经过LSQ、FLC、MLCs之后通过LLC最终与主存交换数据,外设进行DMA访问时,直接面对的是LLC和主存储器,并对L1 cache产生间接影响。这些差异使得处理器中中LLC路数的构成是由若干而2的幂之和。 除了访问路线的不一致,另一个使得非对等路数的原因是为了降低miss 率。如Skewed-Associative cache(参考5)使用两种hash算法,分别映射一个组内的不同两路,这样可以在不增加组和路数的情况下有效降低miss率。 在某些情况下,cache miss导致的代价是无法忍受的,比如TLB miss,无论采用存软件还是硬件辅助的形式,miss导致的代价都过于昂贵,最终人们选择了全相联的实现方式。TLB的设计还必须对Hit time和Hit rate进行折中,应此TLB分成两级,L1-TLB的设计侧重于使Hit time小一些,其目标就是尽可能快;而L2则需要进一步考虑命中率问题,通常比较大,而且是采用N路组相联的方式。 参考1:《Phased set associative cache design for reduced power consumption》,链接 参考2:《Computer Architecture A Quantitative Approach》 David A. Patterson and John L. Hennessy [Jan. 2008] 参考3:《Cache Memories》 Alan Jay Smith [Sep. 1982], ACM Computing Surveys Volume 14 Issue 3. 参考4:《Cache Memory》 Wang Qi, Yang xi等 [Mar. 2010] 参考5:《A case for two-way skewed-associative caches》 Andre S&ance [May. 1993] 以上是的内容,更多 的内容,请您使用右上方搜索功能获取相关信息。 若你要投稿、删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内给你回复。 云服务器 ECS 可弹性伸缩、安全稳定、简单易用 &40.8元/月起 预测未发生的攻击 &24元/月起 为您提供0门槛上云实践机会 你可能还喜欢 你可能感兴趣 阿里云教程中心为您免费提供 Cache基本原理之:结构相关信息,包括 的信息,所有Cache基本原理之:结构相关内容均不代表阿里云的意见!投稿删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内答复 售前咨询热线 支持与服务 资源和社区 关注阿里云 International以下试题来自: 问答题案例分析题 设主存容量为256K字,Cache容量为2K字,块长为4。 在四路组相联映射方式下,设计主存地址格式。 根据四路组相联的条件,一组内共有4块,得Cache共分为512/4=128=27组,主存字块标记为18-7-2=9位,主存地址格...... 为您推荐的考试题库 您可能感兴趣的试卷 你可能感兴趣的试题 1.问答题 主存容量为256K字=218字,主存地址共18位,共分256K/4=216块,主存字块标记为18-9-2=7位。直......2.问答题 Cache容量为2K字,块长为4,Cache共有2K/4=211/22=29=512块,Cache字地址9位,字块内地......3.问答题 将指令Cache和数据Cache分开有如下好处:(1)可支持超前控制和流水线控制,有利于这类控制方式下指令预取操作的完成。

我要回帖

更多关于 常见的施工组织方式有 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信