为实现Cache地址映射,需要将来自CPU的物理地址根据映射方式进行不同划分,下列述中正确的是 ( )
A. 全相联映射方式下,将地址划分为主存块地址和块内偏移地址两部分。
B. 直接相联映射方式下,根据Cache大小将地址划分为标记(Tag)、索引、 块内偏移地址三部分。其中Index指向Cache特定行位置。
C. 组相联映射方式下,根据Cache 分组数大小将地址划分为标记(Tag)、索引和块内偏移地址三部分。其中Index指向Cache特定组位置
D. K路组相联是指Cache被分成K组
答案:ABC
解析:D:是K行
组相联映射将cache分成固定大小的组,每组有k行,称为k-路组相联;主存数据块,首先采用直接相联映射的方式定位到cache中固定的组,然后采用全相联映射的方式映射到组内任何一个cache行,组相联映射规则如下:
cache组号=主存块号mod (cache组数)
根据该规则,主存地址可细分为标记字段( tag)、组索引( index )、块内偏移( offset )3部分,这里的组索引实际就是上式中的余数。直接相联映射让数据查找的范围快速缩小到某一个cache组,大大缩小了查找范围,降低了全相联并发比较的硬件开销;cache组内多个cache行则采用全相联映射规则.有效避免了直接相联映射冲突率较高的问题,大大提高了cache命中率。
PS:本人也是在学习过程中,如有不对的地方,希望大家可以指正,谢谢!