TCM, Tightly-Coupled Memory - это одна (или несколько) небольшая выделенная область памяти, которая, как следует из названия, очень близка к процессору. Главное преимущество этого заключается в том, что ЦП может получить доступ к TCM в каждом цикле. В отличие от обычной памяти не задействован кеш, который делает все доступ к памяти предсказуемым.
Основное использование TCM заключается в хранении критически важных данных и кода. Общим примером являются обработчики прерываний, данные для задач реального времени и структур управления ОС.
если это специализированная память, поэтому мы можем настроить его расположение и размер
делает его настраиваемым просто усложняют адрес декодирования для всех обращений к памяти, пока не дает никаких реальных преимуществ по сравнению с фиксированным диапазоном адресов , Поэтому было проще и быстрее просто привязать TCM к фиксированному адресу.
Btw, если вы работаете в системе с TCM, и вы еще не используете ее, постарайтесь разместить там свой стек. Это обычно дает вам некоторый процент прироста производительности бесплатно, так как все обращения к стековой памяти теперь имеют один цикл и больше не загрязняют кеш-данные.
Как насчет размера, как мы можем настроить его размер, так как это аппаратное обеспечение – mikmak
Это зависит от конкретного оборудования. Существуют архитектуры ARM, которые позволяют разделить TCM, чтобы вы могли использовать некоторые из них в качестве TCM, а остальное - в качестве кэша данных. По мнению разработчиков микросхем, при разработке микроконтроллера вы можете решить, насколько велика ваша TCM. –
Я понимаю, что при установке стека в ОЗУ процессор будет извлекать данные ОЗУ стека в кеш-память L1 и работать с ним. но при установке STACK на TCM данные всегда будут находиться на TCM (нет кэширования от TCM до кеша L1), так что всегда будет меньше промаха в прогоне программы? или я ошибаюсь ?? – mikmak