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

Время реакции на прерывание у ARM'ов

Добрый день,

 

Поделитесь информацией, не дайте утонуть в чтении гор документации.

 

Каково минимальное время реакции на прерывание (в тактах ядра) и чем оно определяется ?

 

Прерывание внешнее (изменение состояние входа).

Прерывание от внутренней периферии.

 

У LPC2xxx?

У AT91xxx?

У остальных?

 

PS:

В faq не нашел, поиски по конфе ничего не дали, может не там искал. Если эта тема уже где то рассмотрена сообщите ссылку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день,

 

Поделитесь информацией, не дайте утонуть в чтении гор документации.

 

Каково минимальное  время реакции на прерывание (в тактах ядра)  и чем оно определяется ?

 

Прерывание  внешнее (изменение состояние входа).

Прерывание от внутренней периферии.

 

У LPC2xxx?

У AT91xxx?

У остальных?

 

PS:

В  faq не нашел, поиски по конфе ничего не дали, может не там искал. Если  эта тема уже где то  рассмотрена  сообщите ссылку.

 

Вот кусок из статьи, которую я еще не дописал...

 

"...Далее сам контроллер прерываний. Здесь необходимо учитывать латентность (задержку на выполнение) контроллера. Контроллер – статический автомат, шифрующий состояния приоритетов. На входе у него регистр маски прерываний, триггер глобального разрешения-запрета. На прохождение сигнала через эти цепи требуется некоторое время. Далее, сигнал запроса приходит а АЛУ и …. Но перед этим должна завершиться текущая выполняемая команда. И эта команда не всегда бывает однотактная.

В качестве примера возьмем ADuC7025. В самом худшем случае время ожидания для FIQ состоит из самого большого отрезка времени, которое может потребоваться для сигнала запроса, чтобы пройти через синхронизатор, плюс время для завершения самой длинной команды - LDM, которая загружает все регистры, включая PC, плюс время, необходимое для аварийного прекращения работы данных, плюс время для входа в FIQ . В конце этого времени, ARM7TDMI будет выполнять команду, расположенную по адресу 0x1C (адрес вектора прерывания FIQ). Максимальное время - 50 циклов процессора, которое равно 1.2 мкСек для системы, использующей для процессора синхрочастоту в 41.78 МГц. Максимальное вычисление времени ожидания запроса на прерывание IRQ подобно приведенному выше, но необходимо учесть тот факт, что FIQ имеет более высокий приоритет и может задержать вход в запрос на прерывание IRQ, поскольку обслуживание прерывания верхнего уровня может проводиться в течение произвольного отрезка времени.

Минимальное время ожидания может быть уменьшено до 42 циклов, если не используется команда LDM , поэтому некоторые компиляторы имеют такую опцию, позволяющую компилировать, не используя данную команду. Другая опция, позволяющая уменьшить латентность до 22 циклов, состоит в том, что программа должна выполниться в режиме THUMB.

Минимальное время ожидания для FIQ или прерываний IRQ - всего пять циклов, которое состоит из времени, необходимого для того, чтобы запрос мог пройти через синхронизатор плюс время, требуемое для выполнения режима исключения."

 

Надеюсь, что это Вам поможет. Если найдете, что либо еще интересное, пришлите мне.

Удачи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Короче, правильно рассчитать для чипов на ядре ARM не получится.

Кроме того, что вспомнил iosifk, нужно принять во внимание тормознутость контроллера памяти, FLASH и внутренних шинных мостов, могущие иметь место циклы DMA, эффекты конвеера и errata на ARM, эффекты кэша и его инвалидации, эффекты буферов отложенной записи и т.д. и это еще цветочки, для 2-х ядерных чипов DSP+ARM все еще гораздо сложнее.

Нужно делать замеры на железе в обязательном порядке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...