如图:
按照计算256 index的话,256*64Byte*4=65536Byte,算出来是64KB的cache,但是这里说的是32KB,是官网数据有误还是我算错了?
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.den0024a/ch11s01s02.html
It may be a typo and should be 2-way set. If we consider the description text for this Figure 11.4, we can see
"
A simplified four-way set associative 32KB L1 cache (such as the data cache of the Cortex-A57processor), with a 16-word (64 byte) cache line length, is shown in Figure 11-4:
But for Cortex-A57, its L1 data cache is 2-way set 32KB, not 4-way set.
感谢两位的回答!
在资料ARM® Cortex -A Series Version: 4.0 Programmer’s Guide.pdf中同样的图,给出的是A9参数cache line=32byte,4way,32KB,得到的是256set,这样数据跟图就对的上了!
所以麻烦更新下《ARM Cortex-A Series Programmer’s Guide for ARMv8-A》:http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.den0024a/ch11s01s02.html中的描述吧!辛苦了!
其次,256set需要bit6~bit13共计8bit来进行定位set,现在我的A53只有128set,那么address中占用的就对应变更为bit6~bit12吗?tag对应的位是否也会变为bit13~bit42?
再次感谢!