blackbit (13.05.2007 00:45, просмотров: 1) ответил bus16 на ==>
..пост, который притащил тогда Джага, впервые появился на электрониксе, где дядька Коршенбойм почти слово в слово перевел кусок из даташита на ADuM, не взяв на себя труд проверить AD на вшивость. Смотрим и считаем:
>В самом худшем случае время ожидания для FIQ состоит из самого
>большого отрезка времени, которое может потребоваться для сигнала
>запроса, чтобы пройти через синхронизатор,
Верно. Отстегнем на это 4 такта для ADuC'ового ARM7TDMI.
>плюс время для завершения самой длинной команды - LDM, которая
>загружает все регистры, включая PC,
еще 20 тактов
>плюс время, необходимое для аварийного прекращения работы данных,
и еще 3 такта
>плюс время для входа в FIQ .
согласен: 2 такта
Казалось бы: 4+20+2+3= 29 тактов (в АRM считают также). Ан нет:
>В конце этого времени, ARM7TDMI будет выполнять команду,
>расположенную по адресу 0x1C (адрес вектора прерывания FIQ).
>Максимальное время - 50 циклов процессора
Еще раз напомню, что рассматриваем только латентность прерывания, то бишь время от момента возникновения события до того момента установки PC вначале выполнения обработчика. Подчеркну на всякий случай - время выполнения первой команды обработчика не учитывается.