return 堆栈是在 Zynq 7000 SOC 中实现的

is return stack implemented in Zynq 7000 SOC

我正在进行一些基于包含 Zynq-7000 soc 的 ZC706 板的研究项目。我需要知道 Zynq-7000 中的 Cortex-A9 Cpu 实现了 Return 堆栈缓冲区(Return 堆栈缓冲区是一种程序流推测技术,如分支预测)或否。在 Zynq-7000 技术参考手册中,我看到一些寄存器表明 Return 堆栈已实现或未实现。

正如您在 ETMCCER 寄存器中看到的,第 23 位指示 return 堆栈实现细节,它的重置值为 0。

现在我想知道这意味着 Return 堆栈没有在这个 SOC 中实现?对吗?

请问一个简单的问题,但我真的很怀疑,我想知道 return 堆栈缓冲区的实现在 ARM 内核中是可选的。

PTM 中的 return 堆栈功能与处理器中的性能功能无关。

使用 PTM(和 ETMv4),如果间接分支地址与先前跟踪的分支和 link 指令的状态匹配,则不需要跟踪它。这允许在一定程度上减少跟踪带宽。

为 A-classCPU 构建的所有 PTM 和 ETM 可能会实现 return 堆栈。由于上面所有这些寄存器都是 RAZ,我猜这个设备中没有 PTM(但这与 datasheet 相矛盾)。