在计算机体系结构中,仲裁逻辑的设计空间是什么?
仲裁逻辑在挂起和分事务总线的实现中起着至关重要的作用。这些被称为 N 选 1 仲裁器,因为它们仅向其中一个请求者授予请求的资源。仲裁逻辑的设计空间非常丰富。根据其组件在多处理器系统中的分布,有两种方法可以组织仲裁逻辑:
- 集中式仲裁器
- 分散式仲裁器
固定优先级策略的实现非常简单,但它无法提供公平的总线分配。在轮循优先级方案中,最高优先级可以动态更改,提供公平的总线分配策略,但硬件复杂性增加。
在循环轮询仲裁器策略中,固定长度的总线时间片被分配并依次分配给每个总线主控器,以循环轮询的方式。在最近最少使用策略中,最长时间未使用总线的总线主控器在每个总线周期都获得最高优先级。这两种方案都提供了良好的负载均衡,但后者比前者需要更少的等待时间。在先到先服务方案中,总线按请求顺序授予。这种方法提供了最佳性能,但它需要最复杂的硬件来实现。
具有独立请求和授权线的集中式仲裁器有两个主要优点,如下所示:
它可以实现任何总线分配策略。
与菊花链仲裁器相比,它具有更快的仲裁时间。
仲裁逻辑最流行的组织结构之一是菊花链。在菊花链总线仲裁方案中,只有一个共享的总线请求线。所有主控器都使用此线路来指示它们访问共享总线的需求。
仲裁器将总线授权线传递给第一个主控器,然后从一个主控器传递到另一个主控器,形成一个主控器链。主控器的优先级由其在授权链中的位置决定。越靠近仲裁器,优先级越高。
菊花链仲裁方案的实现非常经济高效。添加新的处理器模块不需要扩展现有的总线交换线。该方案的主要缺点是授权信号在授权链线上传播相对较慢。另一个缺点是分配方案缺乏公平性。
它可以消除这种缺点,可以在共享总线多处理器中采用一种改进版本,称为轮循仲裁器。轮循仲裁器的优先级循环的工作原理类似于菊花链仲裁器的授权链。
如果主控器已激活其总线请求线、总线繁忙线处于非活动状态且优先级输入线处于活动状态,则允许仲裁器授予其耦合的主控单元。如果主控器未激活其总线请求线,则仲裁器激活其输出优先级线。