【问题标题】:L1 cache ports in ARM Cortex processorsARM Cortex 处理器中的 L1 高速缓存端口
【发布时间】:2012-09-28 23:15:45
【问题描述】:

我做了一些研究,但找不到太多信息。

我想知道 ARM 嵌入式处理器有多少个 L1 读取和 L1 写入端口以及端口的宽度。具体来说,我对 Cortex-A8、Cortex-A9 和 Cortex-A15 感兴趣。

我的盲目猜测是 Cortex-A9 处理器有一个 64 位宽的 L1 读端口和一个 L1 写端口。我的另一个猜测是它有一个共享的读/写端口。对此有什么想法吗?

【问题讨论】:

  • 不,你弄错了。行缓冲区是另一回事,与端口无关。
  • 所有 Cortex-A CPU 都使用 AXI 总线。 32 位 CPU 为 64 位,因此端口大小至少为 64 位。唯一确定的答案是 TRM(正如其他人回答的那样)。

标签: arm cpu-cache cortex-a amba


【解决方案1】:

这些处理器具有独立的 L1 指令和数据缓存。我很确定所有 ARM 内核的 L1 I-cache 和 D-cache 都有 1 个读取和 1 个写入端口 Furber p.81。

L1 缓存位于每个核心中,因此有关详细信息,我将转到核心 TRM,例如Cortex-A9 TRM 而不是 MPCore TRM。第 7 章讲述了每个 64 位数据路径。

【讨论】:

  • 感谢您的回答。他们有一个专用(独占)读取和一个专用写入端口还是一个共享读/写端口?或者它甚至可以是两个共享的读/写端口?顺便说一句,我无法访问那本书,这就是我问的原因。第 7 章有很多我一直在寻找的信息。
  • 嗯,Furber 显示 I-cache 和 D-cache 的单独读取端口,但不显示写入端口。我应该找到一个参考来证明我的回答。 Patterson-Hennesey 页。 530 引用单独的 cache->mem 和 mem->cache 路径,这是有道理的。 Cortex-A9 TRM 数据和指令预取描述暗示了专用的 mem->cache 路径。
  • 这里只需要澄清一件事。我说的是 L1 DATA 缓存和 cpu 之间的端口。 L1 到 L2 连接和 L2 到内存连接是另一个主题的主题。
【解决方案2】:

您应该检查每个处理器的 AXI 功能。

Cortex-A9 的示例页面包含 AXI 主接口属性和状态的详细表:

Cortex-A9 MPCore L2 接口可以有两个 64 位宽的 AXI 总线主控器。

Cortex-A15 的页面包含较少的信息,说明:

处理器实现了一个 AMBA 4 AXI 一致性扩展 (ACE) 主接口和一个 AMBA 3 AXI 加速器一致性端口 (ACP) 从接口。 ACE 和 ACP 都支持硬件可配置的 64 位或 128 位数据宽度。

也有类似的页面或Cortex-A8

【讨论】:

  • 感谢您的评论。但是该链接谈论的是 L2 接口。我的问题与处理器(实际上是处理器的加载/存储队列)及其 L1 数据缓存之间的端口有关。处理器和一级缓存之间没有总线,因为这两者是直接相连的。
  • 我一直认为它们具有相同的属性。
猜你喜欢
  • 2017-09-24
  • 2017-09-26
  • 2018-09-22
  • 2018-12-04
  • 2019-12-14
  • 2020-08-04
  • 2011-12-18
  • 2020-01-10
  • 2014-08-29
相关资源
最近更新 更多