это возвратный стек реализован в Zynq 7000 SOC - PullRequest
0 голосов
/ 22 сентября 2019

Я работаю над некоторым исследовательским проектом на плате ZC706, который содержит Zynq-7000 соц.Мне нужно знать, что процессор Cortex-A9 в Zynq-7000 реализовал буфер возврата стека (буфер возврата стека - это метод спекуляции потока программы, такой как предсказание ветвления) или нет.В Техническом справочнике Zynq-7000 я видел несколько регистров, которые указывают, что стек возврата был реализован или нет.

enter image description here

, как вы можете видеть в регистровом бите ETMCCER23 указывают детали реализации стека возврата, и его значение сброса равно 0.

Теперь я хочу знать, что это означает, что стек возврата не реализован в этом SOC?Правильно?

извините за простой вопрос, но я действительно сомневаюсь, и мне интересно, что реализация буфера возврата стека необязательна в ядрах ARM.

1 Ответ

1 голос
/ 23 сентября 2019

Функция стека возврата в PTM не связана с функциями производительности в процессоре.

При использовании PTM (и ETMv4) не требуется отслеживать косвенный адрес ветвления, если он соответствует состоянию ранеетрассируемая ветка и ссылка инструкция.Это позволяет немного уменьшить пропускную способность трассировки.

Все PTM и ETM, созданные для CPU класса A, вероятно, реализуют стек возврата.Поскольку все перечисленные выше регистры являются RAZ, я предполагаю, что в этом устройстве нет PTM (но это противоречит спецификации ).

...