Я работаю над проектом, в котором пытаюсь выяснить, как прерывание обрабатывается в глобальном контроллере прерываний для архитектуры ARM. Я работаю с контроллером прерываний pl390. Я вижу, что есть строка, которая упоминается как устаревшие прерывания, которые обходят логику распределителя. При условии, что 2 прерывания могут быть запрограммированы как устаревшие прерывания. Может ли кто-нибудь помочь с некоторым объяснением того, что такое устаревшее прерывание? Я пытаюсь искать в Интернете без везения.
Что такое устаревшие прерывания?
Ответы (1)
Устаревшие прерывания — это два прерывания, которые были в ARM до появления GIC: nIRQ — обычный запрос прерывания и fIRQ — быстрый запрос прерывания.
Поскольку устаревшие прерывания были созданы для одноядерных процессоров, а внутри они не поддерживают многоядерные процессоры, причина, по которой они обходят логику распределителя, должна быть достаточно ясна — устаревшие прерывания жестко зашиты в одно из ядер.
Короче говоря, это позволяет процессору работать в режиме обратной совместимости со старой спецификацией ARM. Например, четырехъядерный процессор ARM будет иметь 4 nIRQ и 4 fIRQ, отдельные для каждого из ядер. Если у вас есть старое ARM-совместимое оборудование (которое не поддерживает GIC), вы подключаете его к одному из nIRQ/fIRQ ядра так же, как если бы вы подключали его к старому одноядерному процессору, и он всегда будет выполняться. на этом одном ядре.
Дополнительную информацию можно найти здесь — http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0407e/CCHDBEBE.html