2015-06-12 2 views
12

Что такое память TCM на процессорах ARM, это выделенная память, которая находится рядом с процессором или только область памяти, которая настроена как TCM ??.Что такое память ARM TCM

Если это выделенная память, почему мы можем настроить ее местоположение и размер ?.

ответ

14

TCM, Tightly-Coupled Memory - это одна (или несколько) небольшая выделенная область памяти, которая, как следует из названия, очень близка к процессору. Главное преимущество этого заключается в том, что ЦП может получить доступ к TCM в каждом цикле. В отличие от обычной памяти не задействован кеш, который делает все доступ к памяти предсказуемым.

Основное использование TCM заключается в хранении критически важных данных и кода. Общим примером являются обработчики прерываний, данные для задач реального времени и структур управления ОС.

если это специализированная память, поэтому мы можем настроить его расположение и размер

делает его настраиваемым просто усложняют адрес декодирования для всех обращений к памяти, пока не дает никаких реальных преимуществ по сравнению с фиксированным диапазоном адресов , Поэтому было проще и быстрее просто привязать TCM к фиксированному адресу.

Btw, если вы работаете в системе с TCM, и вы еще не используете ее, постарайтесь разместить там свой стек. Это обычно дает вам некоторый процент прироста производительности бесплатно, так как все обращения к стековой памяти теперь имеют один цикл и больше не загрязняют кеш-данные.

+0

Как насчет размера, как мы можем настроить его размер, так как это аппаратное обеспечение – mikmak

+0

Это зависит от конкретного оборудования. Существуют архитектуры ARM, которые позволяют разделить TCM, чтобы вы могли использовать некоторые из них в качестве TCM, а остальное - в качестве кэша данных. По мнению разработчиков микросхем, при разработке микроконтроллера вы можете решить, насколько велика ваша TCM. –

+0

Я понимаю, что при установке стека в ОЗУ процессор будет извлекать данные ОЗУ стека в кеш-память L1 и работать с ним. но при установке STACK на TCM данные всегда будут находиться на TCM (нет кэширования от TCM до кеша L1), так что всегда будет меньше промаха в прогоне программы? или я ошибаюсь ?? – mikmak