仲裁器的作用是什么,为什么要用到仲裁器?
由于加速器系统中,CPU委托加速器执行高速的长整计算(或其他加速任务),这就势必导致CPU访问的资源(例如存储器),同时也要被加速器访问。这就是加速器系统中的资源竞争。早期的加速器系统中,是由CPU给出统一的指挥,即CPU不仅指挥加速器,也指挥所有的共享资源。这种方式的坏处是,CPU并不知道加速器何时执行何种动作,甚至并不知道加速器何时启动何时结束,因此要占用大量的开销(时间开销和资源开销),去指挥整个系统的资源切换。
现代的架构中,不再由CPU指挥这个系统的资源切换,而是采用一个独立的有限自动机部件,即仲裁器Arbiter独立完成。并且仲裁器的仲裁算法(称为仲裁策略),是由硬件设计者给定的,能够保障系统的安全(黑客无法攻击仲裁策略)。
由于仲裁器是采用独立的FA方式,因此有很高的效率以用于资源的切换,资源切换效率的提高,又使得整个系统的响应速度更快。同时也更安全。
因此,无论是CPU,DMA(也属于加速器),或图像加速器等等,在占用或使用共享资源时,必须先申请,然后等待仲裁结果,获得仲裁后才能够接管资源。 仲裁·····················?能不能搞一篇实例和代码说明一下,仲裁是个什么玩意? 求同楼上的问题
页:
[1]