PCI系统结构(第四版) 第5章之一

上一篇 / 下一篇  2007-12-20 13:53:47 / 个人分类:读书笔记

5章:PCI总线仲裁

 

仲裁器

   在任意时刻,一个或多个PCI总线主设备可能要求使用PCI总线,执行数据传送到另一个PCI设备。每个发出请求的主设备有效其REQ#输出,通知总线仲裁器,它正在请求使用总线。图5-1所示,PCI主设备与中央PCI资源间的关系就是总线仲裁。在此例中,有7个可能的主设备直接到PCI总线仲裁器,每个主设备都是通过一对独立的REQ#/GNT#信号连接到仲裁器。虽然仲裁器是个独立的器件,但它通常都集成到PCI芯片组中;特别是集成到HOST/PCIPCI扩展总线桥芯片中。

仲裁算法

   如上面所讲,PCI规范没有定义当多个主设备同时请求总线所有权时,PCI总线仲裁器用来决定竞争优胜者的机理。仲裁器可以使用任何机理,如基于固定或优先循环级的机理,或者是这二者的组合(在一组主设备采用循环机理,而另一组主设备采用固定机理)。规范2.1版指出,要求仲裁器实现公平算法以避免死锁。规范的原文如下:

   “要求中央仲裁器实现公平算法以避免死锁。公平意味着:必须授权每个潜在的总线主设备,独立于其他请求地访问总线。公平是一项政策,保证了当高优先级主设备连续访问总线时,不会霸占总线,不让低优先级主设备访问。但这并不意味着要求所有代理平均访问总线。通过公平算法,当LOCK#有效时(假设资源锁定),或当Cache化存储器驻留在PCI上时,没有特殊情况发生。使用公平算法的系统,如果执行完全的总线锁定,而不是资源锁定,它仍是公平的。但是,如果建立锁定的起动交易以重试而终止,那么仲裁器必须进入一个新的代理。”

   规范含有一个仲裁器实现的例子,澄清了规范的意图。总线仲裁器采用系统可编程是最理想的。如果是,那么起动配置软件能通过读每个总线主设备的最大延迟(Max_Lat)配置寄存器,确定分配到每个总线主设备的优先级(见图5-2)。总线主设备的设计者硬连线该寄存器,表明主设备要求多快访问总线以达到足够的性能,以250ns递增。

   为了将PCI总线授予总线主设备,仲裁器有效设备响应的GNT#信号,这样将PCI总线授予主设备完成一次交易(包含一个或多个数据段)。如果主设备发出请求,随后被授予总线,并在总线空闲后的16PCI时钟内未起动交易(有效FRAME#),仲裁器可以认为主设备功能错误,这种情况下,仲裁器采取的行动是系统设计决定的。


FPGA/CPLD器件价格查询

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar