реклама на сайте
подробности

 
 
> Время реакции на прерывание у ARM'ов, в тактах, для распространенных МК
spf
сообщение Nov 1 2005, 05:05
Сообщение #1


Странник
****

Группа: Свой
Сообщений: 766
Регистрация: 29-08-05
Из: Екатеринбург
Пользователь №: 8 051



Добрый день,

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

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

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

У LPC2xxx?
У AT91xxx?
У остальных?

PS:
В faq не нашел, поиски по конфе ничего не дали, может не там искал. Если эта тема уже где то рассмотрена сообщите ссылку.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 2)
iosifk
сообщение Nov 1 2005, 06:00
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(spf @ Nov 1 2005, 08:05)
Добрый день,

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

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

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

У 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 - всего пять циклов, которое состоит из времени, необходимого для того, чтобы запрос мог пройти через синхронизатор плюс время, требуемое для выполнения режима исключения."

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


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Nov 1 2005, 12:48
Сообщение #3


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



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

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 22:21
Рейтинг@Mail.ru


Страница сгенерированна за 0.01365 секунд с 7
ELECTRONIX ©2004-2016