【日更计划025】数字IC基础题
上期答案
[047] 将内存映射到cache有哪些机制?请比较他们的优缺点
一共有三种主要的映射方法。这三种映射中,主存储器和cache都被划分为存储块(blocks of memory,也称cache line,每个64bytes),这是映射时的最小单位。
- 直接映射(Direct Mapping):直接映射中,主内存和cache中始终存在一对一的映射,一组只有一个数据块。例如:在下图中,cache大小为128个块,而主内存中有4096个块。设计实现是基于模数计算得到的,i为cache的块序号,j是主内存的块编号,m是cache的行数,i = j mod m。如果块的大小为64B而地址为32为,则地址[5:0]称为字节偏移量,它说明字节在块中的位置,地址[12:6]称为组位,说明地址地址映射到哪一组,剩下的地址位作为标志位,标志说明cache映射了哪些内存中的地址。这是最简单的映射,并且可以通过内存地址可以轻松计算cache中的数据在内存中的位置,并且只需要一个标记为进行比较就能知道是否命中。这种映射的缺点是命中率低, Cache的存储空间利用率低。
- 全局关联映射(Fully Associate Mapping):任何的内存块都能映射到cache的任何块中,使用和上面的图一样的例子,地址[5:0],作为块内部的索引,剩下的所有位都用于和cache中的所有标记为进行比较,这需要很大的比较器。虽然这种方式命中率较高,Cache的存储空间利用率高,但是线路复杂,成本高,速度低
- 组关联映射(Set Associate Mapping):将cache分成u组,每组v行,主存块存放到哪个组是固定的,至于存到该组哪一行是灵活的,即有如下函数关系:cache总行数m=u×v,组号q=j mod u组间采用直接映射,组内为全相联。例如,下图显示了128个块的相同高速缓存,这些高速缓存组织为64个集合,每个集合具有2个块。硬件较简单,速度较快,命中率较高,但是与分组有关系。
[048] 更高关联性的缓存有什么缺点?
更高关联性的cache意味着需要更加大的比较器,用于将传入的地址和标签进行对比,会导致更加大的硬件需求和功耗。
你答对了吗
本期题目
[049] 一个按字节寻址的CPU的cache具有以下特征:a)与大小为1byte的块直接映射 b)块的cache索引位4位。那么cache中包含多少个块,作为cache的一部分,需要存储多少个标记为?
[050] 一个四路组关联的cache总大小为256KB,如果每个cache line的大小为64byte,那么cache中有多少组?标记位需要多少位?假设地址位宽位32位。
欢迎在留言区给出你的答案,正确答案将在下一期公布,或者到下面的文章获取答案
面试攻略
以上是 【日更计划025】数字IC基础题 的全部内容, 来源链接: utcz.com/a/72629.html