как загружаются многоядерные процессоры? - PullRequest
10 голосов
/ 30 октября 2010

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

Ответы [ 2 ]

8 голосов
/ 30 октября 2010

Вы можете проверить все подробности в спецификации Intel .Подробные сведения приведены в главе 8.1.

Вот выдержка:

После включения питания или подтверждения вывода RESET # каждый процессор на системной шине выполняет аппаратное обеспечение.инициализация процессора (известная как аппаратный сброс) и дополнительная встроенная самопроверка (BIST).[snip] На этом этапе предпринимаемые действия зависят от семейства процессоров:

• Процессоры семейства P6 - все процессоры на системной шине (включая один процессор в однопроцессорной системе) выполняют многопроцессорный процессор (MP).) протокол инициализации через шину APIC.Затем процессор, выбранный с помощью этого протокола в качестве загрузочного процессора (BSP), немедленно начинает выполнение кода инициализации программного обеспечения в текущем сегменте кода, начиная со смещения в регистре EIP.

2 голосов
/ 30 января 2013

Существует несколько способов загрузки многоядерного ПО в зависимости от архитектуры, системы - AMP или SMP и т. Д. Одним из простых способов для двухъядерной системы SMP является то, что CPU0 запускается с вектора сброса (например, 0x00000000, который указывает на флэш-память, где находится программа монитора загрузки).хранится).В течение этого времени другие ядра находятся в состоянии WFI (ожидание прерывания) или в состоянии удержания загрузки.CPU0 загружается и устанавливает почву для загрузки CPU1.

для получения дополнительной информации http://www.linux -arm.org / LinuxBootLoader / SMPBoot

freescale.com / files / 32bit/doc/app_note/AN3542.pdf

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