晓灰灰 发表于 2018-3-10 13:51:51

仲裁器的作用是什么,为什么要用到仲裁器?

由于加速器系统中,CPU委托加速器执行高速的长整计算(或其他加速任务),这就势必导致CPU访问的资源(例如存储器),同时也要被加速器访问。这就是加速器系统中的资源竞争。

早期的加速器系统中,是由CPU给出统一的指挥,即CPU不仅指挥加速器,也指挥所有的共享资源。这种方式的坏处是,CPU并不知道加速器何时执行何种动作,甚至并不知道加速器何时启动何时结束,因此要占用大量的开销(时间开销和资源开销),去指挥整个系统的资源切换。

现代的架构中,不再由CPU指挥这个系统的资源切换,而是采用一个独立的有限自动机部件,即仲裁器Arbiter独立完成。并且仲裁器的仲裁算法(称为仲裁策略),是由硬件设计者给定的,能够保障系统的安全(黑客无法攻击仲裁策略)。

由于仲裁器是采用独立的FA方式,因此有很高的效率以用于资源的切换,资源切换效率的提高,又使得整个系统的响应速度更快。同时也更安全。

因此,无论是CPU,DMA(也属于加速器),或图像加速器等等,在占用或使用共享资源时,必须先申请,然后等待仲裁结果,获得仲裁后才能够接管资源。

奋斗的小孩 发表于 2018-3-11 17:16:49

仲裁·····················?能不能搞一篇实例和代码说明一下,仲裁是个什么玩意?

大鹏 发表于 2018-3-12 09:25:57

求同楼上的问题
页: [1]
查看完整版本: 仲裁器的作用是什么,为什么要用到仲裁器?