Перейти к содержанию
    

dimdimych

Новичок
  • Постов

    1
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о dimdimych

  • День рождения 01.01.1977

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array
  1. Много работал и продолжаю с TMS320C6412. Ситуация с кешем следующая: 1. Кеш обновляется всегда не ячейками а строками. В процессорах TMS320C64xx длина строки для кеша L1D - 64 байта, для L1P - 32 байта, для L2 - 128 байт. Строки, разумеется, выровнены по адресам кратным их размеру, для L2 есть еще ньюансы с банками, но это для сложных случаев. Процессор всегда работает только с кешем, даже если ваша память помечена как НЕкешируемая, она копируется в кеш и только тогда процессор может начать с ней работать. Разница кеширования и НЕкеширования только в механизме копирования в кеш, насколько я понял. Для кешируемых областей копирование всегда выполняется строками, для НЕкешируемых, скорее всего, блоками другого размера, скорее всего по 4-8 байт, разница в скорости в 8-10 раз. 2. Автообновление кеша (без ручного сброса) производится только для адресов в L2. То есть, если по HPI менять данные в L2, то заботиться о кеше не нужно, синхронизацию кеша и памяти выполняет сам процессор (Другой вопрос, что при одновременном доступе к одной строке процессором и HPI начинается вакханалия кеширования, когда каждое обращение к памяти затормаживает процессор или HPI, чтобы дождаться сброса кеша). 3. При любом доступе во ВНЕШНЮЮ (НЕ L2) память по DMA (HPI является частным случаем DMA), неважно, кешируемая эта область или нет, вопросы синхронизации памяти и кеша выполняются вручную пользователем.
×
×
  • Создать...