今さら聞けないマルチプロセッサの基礎教えます ――キャッシュの共有,割り込みの共有,OSによる制御
● 割り込みをバス・トランザクションとして処理
ところでマルチプロセッサ・システムは,I/Oからの割り込み要求が入った場合,どのように処理するのでしょうか?先ほど取り上げたXeonプロセッサもそうですが,対称型マルチプロセッサ(SMP)の多くは,割り込み要求をバス・トランザクションの一環として処理します(図6(b)).すなわち,読み出し/書き込みなどの通常の要求と同様に,割り込み要求がバス上を行き来するわけです.
図6 割り込み処理
(a)では,CPUに接続された割り込みコントローラがI/Oデバイスからの割り込み要求を受け付け,割り込み処理の優先度に従ってCPUに割り込み信号(IRQ)を発行する.一方,(b)には各CPUとメモリを接続するホスト・バス,I/Oデバイス群を接続するI/Oバス,ホスト・バスとI/Oバスを仲介するI/Oブリッジが存在する.I/Oデバイス群からの割り込み要求はI/Oブリッジがいったん受け付け,割り込み処理の優先度に従って,バス・トランザクションとして割り込み信号(IRQ)をホスト・バスに送出する.