如何解决如何计算 4 路组关联缓存的块大小?
一个 2KiB、4-way-set 关联缓存的行大小为 32B。块大小是多少字节?
我在第一个注释上很难理解这个问题。我从问题中得到的是缓存大小为 2KiB ,每组由 4 行组成,行大小为 32 B。 我真的不明白这里的块是什么。
解决办法是这样的:
块大小(以字节为单位)=(32 * 32 * 2)/5 = 512 字节。 我真的不明白它是如何解决的。 有人能解释一下吗?
解决方法
您可以参考The Basics of Caches
缓存块和缓存行指的是完全一样的东西,只是两个不同的名字。所以块大小是 32B。
让缓存更清晰。 4-way set associate表示一个缓存集(认为是一行缓存,后面会有很多行缓存)有4个这样的32B缓存行(chace block) .一个缓存集有 128B。缓存总大小为 2KiB,因此有 16 个 chche 集。称为16个缓存条目(非正式的16行缓存)
更多关于您的问题
块大小(以字节为单位)= (32 * 32 * 2)/5 = 512 字节
这个方程在数学上是错误的。应该是(32 * 32 * 2)/4 = 512
512 字节是 2KiB/4 = 512 字节,所以它猜测它可能意味着一列缓存集的大小。但除特殊情况外,在常理上似乎没有太大意义。
无论如何,您的解决方案首先是错误的。您可以提供更多信息来澄清原始问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。