您的位置 首页 电源

ARM中的CACHE机制

ARMcache架构由cache存储器和写缓冲器(write-buffer)组成,其中写缓冲器是CACHE按照FIFO原则向主存写的缓冲处理器。下图是ARMV5核的CACHE…

ARMcache架构由cache存储器和写缓冲器(write-buffer)组成,其间写缓冲器是CACHE依照FIFO准则向主存写的缓冲处理器。下图是ARMV5核的CACHE方位

Cache坐落MMU前面接近CPU称为逻辑CACHE又名虚拟Cache。CPU能够直接拜访CACHE的数据,而ARM11(ARMV6)的结构是CACHE在MMU后边CPU拜访CACHE要经过MMU地址转化

在DM6446的core用的是哈佛结构,即把CACHE分为8K的D-CACHE(数据CACHE)和16K的I-cache(指令CACHE)

一个完好的CACHE分为CACHE控制器和CACHE存储器

见下图:

DavinciDM6446D-cache行应为512行,cache存储器首要分为三个部分:目录存储段(driectory-story),状况信息段(statusinformation)和数据项段(datasection)每一行cache都包括这三部分。Cache用目录存储段来存储主存的地址,数据项段寄存的是主存的数据,在cache顶用状况信息段来记载状况信息,其间v表明有用位,d表明脏位,有用位记载当时cache行是活动的,cache行的数据和主存中的数据是共同的,处理器能够读取。脏位则表明cache行的数据和主存中的数据不共同。

在读写恳求抵达存储器前会被CACHE捕获,cache存储器将该恳求分红三部分标签,组索引和数据索引域,cache经过组索引域确认或许包括地址和数据cache的行,cache存储器查看匹配的CACHE行的状况标签,假如是V表明(cachehit)射中,不然cache失效(cachemiss)在cache失效时从主存吧cache行考到CACHE存储器

主存中的部分内容寄存在cache中的最简略办法是直接映射,在一个直接映射中,主存的地址仅有对应cache行,因为主存容量很大所以主存的许多地址映射到同一个cache行

见下图:

在DM6446中内存为128M(bootargs设为128M)8K的D-CACHE则128×1024/8=16384映射一个cache行。因为cache的速度大大大于低速的主存速度,因而需要写缓冲器。

Cache的写战略分为直写战略和回写战略。一起向cache行和相应的主存方位写数据,一起更新这两个当地的数据的办法称为直写战略(writethrough),把数据写入cache行,不写入主存的或许只有当cache被替换时或整理cache行时才写入主存的战略称为回写战略(writeback)。采用回写战略时,当处理器cache射中,只向cache存储器写数据,不写入主存,主存里的数据就和cache里不共同,cache里的数据是最新的,主存里的数据是早前的。这就用cache存储器信息状况标志位了,当向cache存储器里某行写数据时,置相应行的信息标志脏位为1,那么主控制器下次拜访cache存储器就知道cache里有主存没有的数据了,把数据写回到主存中去。

当一个cache拜访失效时,cache控制器有必要从当时有用行中取出一个cache行存储从主存中取到的信息,被选中替换的cache行称为丢掉者,假如这个cache行中脏位为1则应把该cache行中的数据回写到主存中,而替换战略决议了那个cache行会被替换,在arm926ejs中ARM支撑两种战略:轮转战略和伪随机战略。轮转战略便是取当时cache行的下一行,伪随机战略是控制器随机发生一个值。

当cache失效时,ARM采纳两种办法分配cache行,一种是读操作(read-allocate)还有一种是读-写分配战略(read-write-allocate),当cache未射中时关于读操作战略,在对cache存储器读操作时才会分配cache行

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/dianyuan/277021.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部