Как может стек на TCM снизить производительность процессора
Я измеряю производительность процессора ARM cortex R5f, выполняя тест производительности ядра с использованием различных сценариев. Один из сценариев - установить STACK в памяти ATCM.
при компиляции без inline
флаг, STACK на TCM получить лучшие результаты. и при компиляции с inline
флаг, STACK на RAM получить лучший результат.
как это можно объяснить, учитывая, что TCM быстрее и ближе к процессору.
в моей программе нет переполнения стека при установке стека в TCM.
1 ответ
Как это можно объяснить, учитывая, что TCM быстрее и ближе к процессору.
Ваш TCM быстрее, чем кэш данных L1? Это не всегда (у многих проектов есть кэш L1 D с одним циклом, но доступ к TCM с двумя циклами).
Обычной целью TCM является не производительность (хотя это и приятно), а предсказуемость - вы не можете получить ошибки в кэше в TCM, поэтому системы реального времени используют его для синхронизации критического кода и разделов данных.