用于缓存的Armv8地址字段?

问题描述 投票:0回答:1

我正在阅读,ARM Cortex-A Series Programmer’s Guide for ARMv8-A

在11.1.2缓存标记和物理地址中,其中有一个缓存地址字段的示例。

示例:

缓存为4路32KB

高速缓存行= 16字(64字节)

以及文档中所述的地址字段:设置(索引)= 8位,偏移= 6位,标记= 30位

据我了解,8位索引将以每种方式对应256条缓存行(在示例中已正确说明)。偏移量是6位(2 ^ 6 = 64),用于正确寻址行内的字节(64字节)。

但是高速缓存是4种方式,这意味着高速缓存大小是4 * 256 * 64 = 64KB而不是32KB。

我的分析是否正确,或者我缺少什么?

caching arm cpu-architecture armv8
1个回答
1
投票

有人在手臂社区网站上问了同样的问题:https://community.arm.com/developer/ip-products/processors/f/cortex-a-forum/8159/how-to-compute-a-cache-size

这是他的问题的答复:

“得到了ARM的答复。它是一个文档错误。它应该是2路集关联缓存。16KB * 2 = 32 KB”

© www.soinside.com 2019 - 2024. All rights reserved.