головы и прерывания

У Змея Горыныча три головы. И хотя формально они равноправны, фактически ясно, что например при полёте в сложных воздушных условиях, левая голова отвечает за помехи слева, правая - за помехи справа, а центральная - за общую курсовую устойчивость и облёт препятствий.
А какая из "голов" отвечает за обработку аппаратных прерываний в многопроцессорных/многоядерных компьютерных конфигурациях? У обычных домашних "писюков на интеле" заявлена "симметричная многопроцессорность", т.е. какого-то выделенного "центрального" процессора/ядра нет, "все одинаковые" (все центральные), так какое же ядро из восьми (точнее, из шестнадцати полуядер, гипертрединг же) в каком-нибудь intel i7, "бежит за Клинским" при возникновении соответствующего аппаратного прерывания? Это как-то распределяется между ядрами, или за всех отдувается одно (например, первое)? Прерывание аппаратное, значит решать это должно железо, не софт, софт максимум может заранее запрограммировать железо на какое-то поведение (и то не факт). Вопрос из чистого любопытства, практически применять не собираюсь (некуда) :-)
Кстати, когда в "интел пентиумах" было по одному ядру на процессор, и многоядерные системы были автоматически многопроцессорными, многопроцессорные конфигурации в обиходе действительно называли "многоголовыми", а процессоры в них - "головами". Потом интел начал запихивать по несколько ядер в один процессор, и жаргонный термин "многоголовый сервер" куда-то ушёл, все стали "многоядерными".
|
</> |