OSDev

для всех
Текущее время: 09 май 2024, 08:16

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
СообщениеДобавлено: 05 сен 2009, 19:32 
Народ, поделитесь информацией по работе в многоядерных и многопроцессорных системах.
В первуюочередь интересует три вопроса.
1) Как происходит инициализация ведомых ядер/процессоров.
2) Как работает система прерываний в таких системах.
3) Как происходит обмен сообщениями между ядрами.


Вернуться к началу
  
 
СообщениеДобавлено: 05 сен 2009, 23:04 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
Всё -- через Local APIC, описан в интеловском мануале на IA-32, в третьей части. Для обработки прерываний ввода-вывода привлекается IOAPIC, он описывается отдельно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 сен 2009, 11:16 

Зарегистрирован: 05 дек 2008, 03:58
Сообщения: 57
Все описанно в MultiProcessor Specification.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 сен 2009, 21:44 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
Она благополучно устарела и заменена соответствующей частью ACPI.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 сен 2009, 22:29 

Зарегистрирован: 05 дек 2008, 03:58
Сообщения: 57
Не помню что-бы ACPI отвечала на эти вопросы.
1) Как происходит инициализация ведомых ядер/процессоров.
2) Как работает система прерываний в таких системах.
3) Как происходит обмен сообщениями между ядрами.

Хотя второй и расписан в ACPI, но не так подробно, как мультипроцессорной спецификации.
Так что я бы не стал сбрасывать ее со счетов.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 07 сен 2009, 11:52 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
На все три вопроса ответ дают интеловские мануалы. В конце концов, LocalAPIC -- это часть процессора, а IOAPIC -- часть чипсета (в виде отдельной микросхемы или интегрированная с чем-то другим -- неважно). Т.е. от MPS в как раз этих вопросах лично я особой пользы не вижу, хотя почитать для общего развития стоит. А вот управление производительностью и энергопотреблением относятся к компетенции ACPI, поэтому без него обойтись нельзя, если делать что-то полноценное. Но конечно, чтобы "потрогать" многопроцессорность, заморачиваться с ACPI смысла нет, сей стандарт надо принимать во внимание, если планируется серьёзная разработка.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 07 сен 2009, 14:58 

Зарегистрирован: 22 май 2007, 15:29
Сообщения: 283
Тем более, что современные биосы не поддерживают MPS.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 окт 2009, 05:01 
Типичнейшая ошибка новичка, сующево нос в гнилые дебри х86-ых помоев, заключаеться в ступоре и тупняке от прочтения манов, вмест тово чтоб тупо вступить и компелировать хорошые примеры!!1

Посему строго рекомендед не ток, покурить (до просветления) шедевральнейшая статейку по мультипроцессенгу:
http://www.xakep.ru/post/44460/default.asp
http://www.xakep.ru/post/44508/default.asp

но прежде - сконпелировать пример к нему идущий (DOS/Tasm), и убедиццо в работоспособносте..

аминь.


Вернуться к началу
  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 79


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB