バスアービトレーションとは?ばすあーびとれーしょん
バスアービトレーションとは、複数のバスマスタが同時に使用を要求したとき、どれに使用権を与えるかを決める仕組み。デイジーチェーン方式・ポーリング方式・独立要求方式といった集中制御と、各マスタが自律的に判断する分散制御があり、方式の違いが公平性と最大待ち時間の見積りに直結する。
最終更新:2026-10-06
エンベデッドSPを最短で暗記・合格する →背景
共有資源を複数の主体が奪い合うという点で、RTOSのスケジューラと同じ問題をハードの回路で解いたものにあたる。組込みで効くのは平均スループットではなく最悪待ち時間で、ここが決まらないと制御周期の余裕を見積れない。だから調停方式の選択は性能設計というより、実時間性を保証できるかどうかの一部として扱われる。
具体例
DMAコントローラとCPUが同じバスを共有する構成で固定優先度にすると、長いDMAバーストが続く間はCPUのメモリアクセスが待たされる。ラウンドロビンへ変えれば1マスタあたりの最大待ちは抑えられるが、切替えが増えて平均スループットは落ちる。ArmのAMBA(AHB/AXI)は調停方式そのものを実装側に委ねている。
試験での引っ掛け
マスタが複数あることと調停が必要なことは別で、マスタが1つなら調停回路は要らない。バス使用権の割当てであって、割込みコントローラが行う割込みの優先順位付けとは独立した仕組み。固定優先度は低優先マスタが待たされ続ける飢餓を起こしうるので、最悪値を求める問題では方式を確かめてから計算する。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。