总线仲裁是用于解决多个设备访问共享总线时可能发生的冲突的一种机制。
在系统中,总线通常被多个设备共享,但是在同一时间只能由一个设备进行读写操作,这就需要使用仲裁机制,以确保设备能够按照优先级顺序访问总线。
按总线仲裁电路的位置不同,仲裁方式分为集中式和分布式两种。
1.集中式仲裁方式是指所有设备都连接到一个中央仲裁电路,该电路负责判断哪个设备有权访问总线。这种方式简单易实现,但如果设备数量较多时,中央仲裁电路的复杂度会非常高,容易出现瓶颈。
2.分布式仲裁方式是指每个设备都具备仲裁功能,每个设备在请求访问总线时都会检测总线的状态,如果总线空闲则可以直接访问,否则会向总线发起请求,并在一段时间后再次检测总线状态,如果总线仍然忙,则再次等待一段时间后重复检测,直到获得总线访问权。这种方式不会出现集中式仲裁器的瓶颈问题,但是系统复杂度会增加。