Как прерывания обрабатываются машинами сдвоенного процессора?

вам нужно запустить приложение с режимом отладки, а не подключать режим отладки в середине приложения

18
задан Jonas 10 May 2010 в 08:30
поделиться

4 ответа

В x86 системах каждый ЦП получает свой собственный локальный APIC (Усовершенствованный Программируемый Контроллер прерываний), которые также соединены проводом друг другу и к APIC ввода-вывода, который обрабатывает прерывания устройства маршрутизации к локальному APICs.

ОС может программировать APICs для определения, какие прерывания направляются к который центральные процессоры (или позволять APICs принять то решение).

я предполагаю, что многоядерный ЦП имел бы локальный APIC для каждого ядра, но я честно не уверен в этом.

Дополнительную информацию см. в этих ссылках:

7
ответ дан 30 November 2019 в 09:30
поделиться

То, чем Вы интересуетесь, является Привязкой Процессора SMP. Здесь превосходная статья о том, как она обрабатывается в Linux. Усовершенствованный программируемый контроллер прерываний (APIC) - то, как Вы управляете этим в современной системе. В основном значение по умолчанию было бы всем, переходят к процессору 0, если у Вас не было ОС, которая использовала этот интерфейс для установки вещей правильно. Кроме того, Вы не обязательно хотите ядро, которое дало команду для ожидания на особом прерывании. Вы хотите, чтобы менее загруженные ядра получили его.

3
ответ дан 30 November 2019 в 09:30
поделиться

Я уже задал этот вопрос некоторое время назад. Возможно, это может предложить Вам некоторое понимание:)

, как делают прерывания в multicore/multicpu работе машин

1
ответ дан 30 November 2019 в 09:30
поделиться

Я сказал бы, что это будет зависеть от производителя оборудования...

Однако эта ссылка убеждает мне, больше всего, вероятно, обрабатываются основным процессором и/или первым ядром.

Другая ссылка

0
ответ дан 30 November 2019 в 09:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: