Как может стек на TCM снизить производительность процессора

Я измеряю производительность процессора ARM cortex R5f, выполняя тест производительности ядра с использованием различных сценариев. Один из сценариев - установить STACK в памяти ATCM.

при компиляции без inline флаг, STACK на TCM получить лучшие результаты. и при компиляции с inline флаг, STACK на RAM получить лучший результат.

как это можно объяснить, учитывая, что TCM быстрее и ближе к процессору.

в моей программе нет переполнения стека при установке стека в TCM.

1 ответ

Решение

Как это можно объяснить, учитывая, что TCM быстрее и ближе к процессору.

Ваш TCM быстрее, чем кэш данных L1? Это не всегда (у многих проектов есть кэш L1 D с одним циклом, но доступ к TCM с двумя циклами).

Обычной целью TCM является не производительность (хотя это и приятно), а предсказуемость - вы не можете получить ошибки в кэше в TCM, поэтому системы реального времени используют его для синхронизации критического кода и разделов данных.

Другие вопросы по тегам