我正在做一些基于ZC706板的研究项目,其中包含Zynq-7000SoC。我需要知道Zynq-7000中的Cortex-A9 Cpu是否实现了返回堆栈缓冲区(返回堆栈缓冲区是一种程序流预测技术,如分支预测)或否。在Zynq-7000技术参考手册中,我看到一些寄存器指示是否实现了返回堆栈。

正如您在ETMCCER寄存器中看到的,第23位表示返回堆栈实现细节,它的复位值为0。
现在我想知道这意味着返回堆栈没有在这个SOC中实现?对吗?
请原谅我的简单问题,但是我真的很怀疑,我想知道在ARM内核中实现返回堆栈缓冲区是可选的。
发布于 2019-09-23 23:48:24
PTM中的返回堆栈功能与处理器中的性能功能无关。
使用PTM (和ETMv4),如果间接分支地址与先前跟踪的分支和链接指令的状态匹配,则不需要跟踪该间接分支地址。这可以在一定程度上减少跟踪带宽。
所有为A类CPU构建的PTM和ETM都可能实现返回堆栈。由于上面所有这些寄存器都是RAZ,我猜这个设备中没有PTM (但这与datasheet相矛盾)。
https://stackoverflow.com/questions/58044973
复制相似问题