Как выбирается процессор начальной загрузки (BSP) в кольцевых и ячеистых архитектурах Intel - PullRequest
1 голос
/ 23 марта 2019

В разделе 2.13.2 упоминается, что идентификатор арбитража используется для определения того, какой процессор сначала выдает цикл бездействия, и я видел это в нескольких источниках и руководстве Intel. Руководство Intel, которое ссылается на последовательность инициализации MP, касается только Pentium 4, когда была «системная шина», а до этого изначально была «шина APIC». У меня сложилось впечатление, что арбитражный идентификатор нужен только в тех архитектурах, где несколько процессоров используют одну шину. Но теперь, с архитектурой кольцевой шины, арбитраж осуществляется путем обнаружения пустого слота на кольцевой шине и размещения транзакции на нем, и он вращается с одной остановкой за цикл, что означает, что арбитраж больше не требуется.

Что интересно, Раздел 2.13.2 является частью документа, в котором говорится о Intel ME и PCH, так что, очевидно, речь идет о Nehalem и последних, но сказать, что используется APIC ArbID, возможно, речь идет только о Нехалем или Вестмер.

Итак, я спрашиваю, как BSP выбирается на кольцевых и действительно сеточных архитектурах? Я думал, что он может использовать кеш в качестве ОЗУ, и если когерентность кеша работает в режиме без заполнения, тогда они могут бороться за мьютекс

1 Ответ

2 голосов
/ 24 марта 2019

Полагаю, это просто запрограммировано, что одним из ядер является BSP. Я не думаю, что другие ядра даже включаются до тех пор, пока вы не отправите им IPI, и они определенно не будут запускать код, который пытается получить мьютекс в кеше, чтобы разобраться с этим. Другие ядра, вероятно, приходят в состояние, подобное HALT, которое ожидает прерывания.

(Но, вероятно, C-состояние глубокого сна, такое как C7 или что-то подобное, в отличие от действующей инструкции HALT, поэтому, если ОС никогда не пробуждает некоторые из ядер, перевод спящих ядер в спящий режим может позволить всему пакету перейти в глубокое состояние. состояние сна.)

Для систем с несколькими сокетами, предположительно, один сокет является чем-то особенным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...