PCI系统结构(第四版) 第2章

上一篇 / 下一篇  2007-12-04 11:12:52 / 个人分类:读书笔记

2章:PCI总线操作简介

突发传送

      见下图,突发传送是一种包含一个地址段,后面跟着两个或两个以上数据段的数据传送方式。总线主设备仅对总线拥有着做出一次仲裁。起始地址和交易类型在地址段发布,总线的所有设备锁定地址和交易类型,并将之译码以确定谁目标设备。目标设备将起始地址锁存在地址计数器并且按照一个个数据段递增该地址。

 

2007-12-1

      PCI数据传送能够用突发传送完成。许多PCI总线设备和目标设备支持突发模式。但要注意,一个PCI目标也可能被设计成只能处理单个数据段交易,当一个总线主设备试图执行一次突发交易时,目标在完成第一个数据段时强制主设备终止交易,主设备必须重新仲裁总线,准备下一个数据项的突发传送。当第一个数据段完成时,目标终止每个突发传送的打算,这导致了性能变差,但对于并不要求高流通量的设备,却可能是正确的方法。每一个突发传送包括以下基本部分:

    在地址段输出地址和传送类型。

    在每一个后继数据段传送数据项(32位或64位)。

假设在每个数据段中起动方(主设备)和目标设备都没有插入等待态,数据项(双字或四字)可以在每个PCI时钟周期的上升沿传送。对于33MHZPCI总线时钟频率,可以达到每秒132Mb的传送速率。当每个数据段执行64位传送时,64位的实施方案就可以达到每秒264Mb的传送速率。一个66MHZPCI总线方案使用32位或64位传送时,可以达到每秒264528Mb的传送速率。这里介绍的突发机理用于在PCI总线上执行块传送。

 

起动方、目标和代理

每个PCI突发传送都有两个参与者:起动方和目标。起动方或总线主设备是起动传送的设备。在PCI规范中,总线主设备和起动方两个术语能替换使用。目标是指起动方为规范实现执行数据传送的目的而正在寻址的设备。PCI起动方和目标设备在规范中常称为符合PCI规范的兼容代理。

 

单功能与多功能PCI设备

   PCI物理设备可以是集成在系统板的器件或是做在PCI插入卡上的器件。每个PCI设备可以包含一到八个独立功能,一个功能就是一个逻辑设备。这类似于ISAEISA或微通道机器中的多功能卡。

    一个设备包含一个功能称为单功能PCI设备。

    一个设备包含两个以上功能称为多功能PCI设备。

每个功能包含自己的独立寻址的配置空间,尺寸64双字,在其上实现配置寄存器。使用这些寄存器,配置软件能够自动检测功能的存在,确定其资源要求(存储器空间、IO空间、中断线等),并能为功能分配资源,以保证不与已分配给其他功能的资源冲突。

 

PCI总线时钟

参见下图的时钟信号(CLK),PCI总线上的所有行动都与PCI CLK信号同步。CLK信号的频率从0MHZ33MHZ。规范1.0版本指出,所有设备必须支持从16MHZ33MHZ的操作,并推荐支持直到0MHZ的操作(换言之,因节电而时钟停止)。PCI规范2.x版(x = 12)指出,所有PCI设备必须支持0MHZ33MHZ范围内的PCI操作,对0MHZ操作的支持,提供了低功耗和静态调试能力。在时钟运行在33MHZ或以下的总线上,PCI CLK的频率可以随时改变并且可以停止(但仅在低功率状态)。集成在系统板上的器件在设计时可以使其仅在某个频率下工作,并且可以要求不允许改变频率(而且系统板设计者应能够保证时钟频率保持不变)。插入卡上的设备必须支持0MHZ33MHZ的操作(因为插卡必须工作在可能装入的任何平台上)。

规范2.1版本也定义了66MHZ速度下PCI总线的操作。第16章将对其进行详细说明。

 

地址段

   见上图(2-2),每个PCI交易(除使用64位寻址的交易外)都以一个PCI时钟阶段内的地址段开始(唯一的例外就是主设备使用64位寻址的交易在两个PCI时钟段内传送两个地址段)。在这个地址段,主设备通过地址识别目标设备和交易类型(也称为命令类型)。主设备通过驱动PCI地址/数据总线上分配范围中的起始地址来识别目标设备。同时,主设备通过驱动命令类型给4位宽PCI命令/字节使能总线而识别交易类型。主设备还有效FRAME#信号,表明总线上存在有效的起始地址和命令类型。由于主设备仅在一个PCI时钟周期内发出起始地址和命令,每个PCI目标设备都有责任在时钟的下一个上升沿锁存地址和命令,以便顺序译码。

   通过对地址总线锁存的地址和命令/字节使能总线锁存的命令类型进行译码,目标设备能够确定是否正被寻址以及进行中的交易类型。注意,主设备只向目标提供起始地址(在地址段)。地址段完成后,地址/数据总线在交易过程中成为数据总线,用于在每个数据段传送数据。目标负责锁存起始地址并在每个后继数据传送中自动递增(假设目标支持突发传送)以指向下一组单元(双字或四字)。

 

声明一个交易

   见上图(2-2),当PCI目标确定自己是交易的目标,就必须通过有效DEVSEL#(设备选择)声明这个交易,如果主设备在一个预定的时间段没有采样到有效的DEVSEL#,就使交易失败。

 

数据段

   见上图(2-2),交易的数据段是在主设备和目标之间传送数据项的阶段。在数据段传送的数据字节数目由命令/字节使能型号的数目决定,这些信号是在数据段中由主设备有效的。

   每个数据段至少持续一个PCI时钟周期,主设备和目标设备必须表明他们准备完成数据段,或者在下一个PCI CLK周期插入等待态扩展数据段。PCI总线定义了准备信号线,主设备使用IRDY#而目标使用TRDY#

 

交易过程

   主设备不向目标发出传送数目,而是在每个数据段,主设备指明是否准备传送当前数据项,如果是,是否最后数据项。在地址段的起点有效FRAME#并保持有效,直到主设备准备(有效IRDY#)完成最后数据段。当目标在数据段采样有效的IRDY#和无效的FRAME#,它就知道这是最后一个数据段。但是,直到目标也有效TRDY#信号,数据段才酸完成。

 

交易完成与总线返回空闲状态

   见上图(2-2),主设备通过无效FRAME#和有效IRDY#表明,突发传送的最后一个数据传送在进行中,当最后的数据传送完成时,主设备通过无效其准备线IRDY#,将PCI总线返回空闲态。如果另一个总线主设备已经先被PCI总线仲裁器授权拥有总线,并正在等待当前主设备放弃总线,它通过在PCI时钟的同一个上升沿检测无效的FRAME#IRDY#,从而检测到总线已经返回空闲状态。

 

对非法操作的反应

   PCI规范并不鼓励设备设计者主动检查协议冲突。如果一个设备的确检测到冲突,建议采用下面的策略。

   一检测到总线协议有非法使用,所有PCI设备即应尽快从容地返回空闲状态(即停止驱动全部总线信号并将目标状态和/或主设备状态机返回到静止状态)。好的设备(相对于坏的)应保持可操作状态以便能够参加将来的交易。

   规范在这一点上含糊不清,这是可以理解的,因为这要看违反协议的性质,设备是否能从容的返回空闲状态并仍能正常操作。例如,规范引入了下面的情况,主设备同步失效FRAME#IRDY#(非法操作),此时,当目标检测到交易的非法结束,建议目标失效所有与目标有关的信号并将目标状态机返回到空闲状态。如果协议冲突让目标设备怀疑它在将来正确操作的能力,它能用目标失败对将来的所有访问作出反应。如果目标认为协议冲突没有损害其正确操作的能力,就放弃所有信号,返回空闲状态,并不指出错误类型。

 

“绿色”机器

   为了保持低功耗的目标,规范号召PCI设备使用低功耗的CMOS输出驱动器和接收器。下一章介绍PCI总线环境下使用的反射波转换,允许低功耗CMOS驱动器成功驱动总线。如果地址/数据总线和命令/字节使能总线漂移(在每个PCI设备内有的COMS输入缓冲区的转换区附近)一段时间,接收器输入可能震荡并且导出过量电流,这样违反了规范。为了防止上述情况发生,在PCI中规定,地址/数据总线、命令/字节使能总线和奇偶校验信号不允许漂移。由于总线在大部分时间被驱动,假设预装载总线(由于一个实体预装载以驱动总线)在交接周期的小段时间内未被驱动时保持其状态。


FPGA/CPLD器件价格查询

TAG:

 

评分:0

我来说两句

显示全部

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

Open Toolbar