並列処理の第一歩
by だいみょーじん
目次
2
自己紹介
3
並行処理と並列処理
4
x64におけるマルチプロセッサの構成
5
BSPとAP
6
HeliOSにおけるAP起動の全体的な流れ
7
BSPがプロセッサを列挙
8
BSPが自分のLocal APIC IDを確認
GPD Micro PCのBSPのLocal APIC IDは0だったので,
9
BSPがAPを起動
手順
10
BSPのINIT-SIPI-SIPI送信における待ち時間の測定
時間を測定する方法はいろいろあるがHeliOSではHPET(High Precision Event Timer)を使用する.
11
APの起動
12
実際のログ
APが16ビットモードから32ビットモードへ移行
13
APが32ビットモードから64ビットモードへ移行
14
ELFへの移行
15
プロセッサ間通信
16
←APのブート完了を通知
←文字送信
←APがHLTループに入ることを通知
APからBSPへのハローワールド
17
メッセージ列挙体
AP側のkernel.elf
BSPは全てのAPからKernelCompletedを受け取ったら,
APから受信した文字列を表示
←APのブート完了を通知
←文字送信
←APがHLTループに入ることを通知
今後の課題
18
参考文献
ご清聴ありがとうございました!
19