Фиксация кэша запрещает любые изменения его содержимого – неудачное обращение к кэшу не будет приводить к сохранению в кэше новой команды.
Отключение кэша полностью останавливает его работу; все выборки команды, вызывающие конфликт с обращением к данным памяти программы, задерживаются. Эти функции управляются битами CADIS (кэш включен/выключен) и CAFRZ (фиксация кэша) в регистре MODE2:
Бит MODE2 Имя Функция
4 CADIS Отключение кэша
19 CAFRZ Фиксация кэша
После сброса кэш обнулен, не содержит никаких команд, не зафиксирован и включен. Команда, в которой осуществляется обращение к данным памяти программы, не должна находиться непосредственно за командой включения или выключения кэша – процессор должен ждать, по крайней мере, один цикл перед выполнением обращения к данным PM. Для выполнения этого условия после команды включения или выключения кэша может быть добавлена команда NOP.
Обработка прерываний: общая последовательность действий. Таблица прерываний. Маскирование прерываний. Регистры, программного секвенсора, используемые при обработке прерываний.
|
|
Работа таймера
Процессоры семейства ADSP-21000 имеют программируемый интервальный таймер, который может генерировать периодические прерывания. Программируется таймер записью в два универсальных 32-разрядных регистра: TPERIOD (регистр периода) и TCOUNT (регистр счетчика). Таймер декрементирует TCOUNT в каждом тактовом цикле. Когда значение TCOUNT становится нулевым, таймер генерирует два прерывания таймера (высокого и низкого приоритета) и автоматически перезагружает TCOUNT значением из TPERIOD.
Содержимое регистра TPERIOD задает частоту прерываний от таймера: количество циклов между прерываниями равно TPERIOD+1.
Запуск и останов таймера осуществляется управлением битом TIMEN в регистре MODE2: если TIMEN=1, то таймер включен, иначе – выключен. Перед включением таймера необходимо инициализировать оба регистра TPERIOD и TCOUNT.