PCI Express体系结构导读

所需积分/C币:48 2012-05-25 19:41:25 7.75MB PDF

PCI Express体系结构导读 PDF格式, 很值得读。
琿器特指 Intel的处理器,而不是其他厂商的x86处理器 (2)可扩展性 PCI总线具有很强的扩展性。在PCI总线中,HOST主桥可以直接推出一条PCI总线,这条总 线也是该HOST主桥的所管理的第一条PCI总线,该总线还可以通过PCI桥扩展出一系列PCI 总线,并以IOST主桥为根节点,形成1颗PCI总线树。这些PCI总线都可以连接PCI设备, 但是在1颗PCI总线树上,最多只能挂接256个PCI设备(包括PCI桥)。 在同一条PCI总线上的设备间可以直接通信,并不会影响其他PCI总线上设备间的数据通信。 隶属于同一颗PCI总线树上的PCI设备,也可以直接通信,但是需要通过PCⅠ桥进行数据转发。 PCI桥是PCI总线的个重要组成部件,该部件的存在使得PCI总线极具扩展性。PCI桥也是 有别于其他局部总线的一个重要部什。在“以HOST桥为根节点”的PCI总线树中,每一个 PCⅠ桥卜也可以连接一个PCI总线子树,PCI桥卜的PCI总线仍然可以使用PCI桥继续进行总 线扩展 PCI桥可以管理这个PCⅠ总线子树,PCI桥的配置空间含有一系列管理PCⅠ总线子树的配置寄 存器。在PCⅠ桥的两端,分别连接了两条总线,分别是上游总线( Primary Bus)和下游总线 ( Secondary Bus)。其中与处理器距离较近的总线被称为上游总线,另一条被称为下游总线。这 两糸总线间的通信需要通过PCI桥进行。PCⅠ桥中的许多概念被PCIe总线采纳,理解PCI桥也 是理解PCIc体系结构的基础。 (3)动态置机制 PCI设备使用的地址可以根据需要由系统软件动态分配。PCI总线使用这种方式合理地解决了设 备间的地址冲突,从而实现了“即插即用”功能。从而PCI总线不需要使用ISA或者EISA接 口卡为解决地址冲突而使用的硬件跳线 每一个PCⅠ设备都有独立的配詈空间,在配置空间中含有该设备在PCI总线中使用的基地址, 系统软件可以动态配置这个基地址,从而保证锊一个PCI设备使用的物理地址并不相同。PCl 桥的配置空间中含有其下PCI子树所能使用的地址范围 (4)总线带宽 PCI总线与之前的局部总线相比,极大提高了数据传送带宽,32位/33MHz的PCI总线可以提 供132MB/s的峰值带宽,而64位6MHz的PCⅠ总线可以提供的峰值带宽为532MB/s虽然PCI 总线所能提供的峰值带宽远不能和PCIc总线相比,但是与之前的局部总线ISA、FISA和MCA 总线相比,仍然具有较大的优势。 ISA总线的最高主频为8MH,位宽为16,其峰值带宽为16MB/s;ESA总线的最高主频为 8.3MHz,位宽为32,其峰值带宽为33MB/s;而MCA总线的最高主频为10MHz,最高位宽为 32,其峰值带宽为40MB/s。PCI总线提供的峰值带宽远高于这些总线。 共享总线机制 PCI设备通过仲裁获得PCⅠ总线的使用权后,才能进行数据传送,在PCI总线上进行数据传送, 并不需要处理器进行干预。 PCI总线仲裁器不在PCI总线规范定义的范围内,也不一定是HOST主桥和PCI桥的一部分。 虽然绝大多数HOST主桥和PCI桥郁包含PCl总线仲裁器,但是在某些处理器系统的设计中也 可以使用独立的PCI总线仲裁器。如在 PowerPC处理器的HOST主桥中含有PCI总线仲裁器, 但是用户可以关闭这个总线仲裁器,而使用独立的PCI总线仲裁器 PCI设各使用共享总线方式进行数据传递,在同一条总线上,所有PCI设备共享同一总线带宽, 这将极大地影响PCI总线的利用率。这种机制显然不如PCle总线采用的交换结构,但是在PCI 总线盛行的年代,半导体的T艺、设计能力和制作成本决定了采用共享总线方式是当时的最优 选择。 (6)中断机制 PCI总线上的设备可以通过四根中断请求信号ⅠNTA~D向处理器提交中断请求。与ISA总线上 的设备不同,PCI总线上的设备可以共享这些中断请求信号,不同的PCl设备可以将这些中断 请求信号“线与”后,与中断控制器的中断请求引脚连接。PCI设备的配置空间记录了该设备 使用这四根中断请求信号的信息。 PCI总线进步提出了MSI( Message Signal Interrupt)机制,该机制使用存储器写总线事务传递中 断请求,并可以使用x86处理器FSB( Front sidc bus)总线提供的 Interrupt Mcssagc总线事务,从 而提高了PCI设备的中断请求效率 虽然从现代总线技术的角度上看,PCI总线仍有许多不足之处,但也不能否认PCI总线已经获 得了巨大的成功,不仅x86处理器将PCI总线作为标准的局部总线迕接各类外部设备, PowerPC、 MPS和ARM[处理器也将PCI总线作为标准局部总线。除此之外,基于PCI总线的外部设备 如以太网控制器、声卡、硬盘控制器等,也已经成为主流 [1]在ARM处理器中,使用SC半台总线,即AMBA总线,连接片内设备。但是某些ARM 生产厂商,依然使用AMBA-to-PCI桥推出PCI总线,以连接PCI设备。 1.1PCI总线的组成结构 如上文所述,PCI总线作为处理器系统的局部总线,是处理器系统的一个组成部件,讲述PCI 总线的组成结构不能离开处理器系统这个大环境。在一个处理器系统中,与PCI总线相关的模 块如图1-1所示 处理器 内部Cah 前端总统 Cache-致 模块 外 Cache HOST主标 yOST主标x 主存倦器 控制 DDR-SDRAM PC总统y0 PCI总线x0 PC设备y![PC设备32[PC![比设备![设备02[P:184桥 PCI总线x1 IsA总线 PCI设备11 PCI级备12 IsA设备1 ISA设备2 图1-1基于PCI总线的处理器系统 如图1-1所示在一个处理器系统中,与PCI总线相关的模块包括,HOST主桥、PCl总线、PCl 桥和PCI设备。PCⅠ总线由HoST主桥和PCI桥推出,HOST主桥与主存储器控制器在同一级 总线上,PCI设各可以方便地通过HOST主桥访问主存储器,即进行DMA操作。 值得注意的是,PCI设备的DMA操作需要与处理器系统的 Cache进行一致性操作,当PCI设 备通过HOST主桥访问主存储器时, Cache一致性模块将进行地址监听,并根据监听的结果改 变 Cache的状态。 在一些简单的处理器系统中,可能不含有PCI桥,此时所有PCI改备都是连接在HOST主桥推 出的PCl总线上,此外在一些处理器系统中可能含有多个HOST主桥,如在图1-1所示的处理 器系统中含有HOST主桥x和HOST主桥Y 1.1.1HOST主桥 HOST主桥是一个很特别的桥片,其主要功能是隔离处理器系统的存储器域与处理器系统的PCI 总线域,管理PCI总线域,并完成处理器与PCI设各间的数据交换。处理器与PCI设备间的数 据交换十要由“处理器访问PCI设备的地址空间”和“PCI设备使用DMA机制访问存储器” 这两部分组成 为简便起见,下文将处理器系统的存储器域简称为存储器域,而将处理器系统的PCⅠ总线域称 为PCⅠ总线域,有储器域和PCI总线域的详细介绍见第2.1节。佰得注意的是,在一个处理器 系统中,有几个IOST主桥,就有几个PCI总线域 HOST主桥在处理器系统中的位置并不相同,如 PowerPC处理器将HOST主桥与处理器集成在 个芯片中。而有些处理器不进行这种集成,如x86处理器使用南北桥结构,处理器内核在 个芯片中,而HOST主桥在北桥中。但是从处理器体系结构的角度上看,这些集成方式并不重 要 PCI设备通过HOST主桥访问主存储器时,需要与处理器的 Cache进行一致性操作,因此在设 计HOST主桥时需要重点考虑 Cache一致性操作。在HOST主桥中,还含有许多数据缓冲,以 支持PCI总线的预读机制 HoST主桥是联系处理器与PCI设备的桥梁。在一个处理器系统中,每一个HOST主桥都管理 了颗PCⅠ总线树,在同颗PCI总线树上的所有PCI设各属于同个PCI总线域。如图1-1 所示,HOST桥x之下的PCI设备属于PCI总线x域,而HOST主桥y之下的PCI设备属于 PCI总线y域。在这颗总线树上的所有PCI设备的配置空间都由HOST主桥通过型置读写总线 周期访问 如果HOST主桥支持PCIⅤ3.0规范的Peer-to-Per数据传送方式,那么分属不同PCI总线域的 PCI设备可以直接进行数据交换。如图1-1所示,如果IOST主桥y支持 Peer-to-Peer数据传送 方式,PCI设备y01可以直接访问PCI设备01或者PCI设备11,而不需要通过处理器的参与。 但是这种跨越总线域的数据传送方式在PC架构中并不常用,在PC架构中,重点考虑的是PCl 设备与存储器之间的数据交换,而不是PCI设备之间的数据交换。此外在PC架构中,具有 两个HOST主桥的处理器系统也并不多见。 在 PowerPC处理器中,HOST桥可以通过设置 Inbound寄存器,使得分属于不同PCI总线域 的设备可以直接通信。许多 PowerPc处理器都只有多个HOST主桥,有关 Power(处理器使 用的HOST主桥详见第22节 1.1.2PCⅠ总线 在处理器系统中,含有PCⅠ总线和PCI总线树这两个概念。这两个概念并不相同,在一颗PCl 总线树中可能具有多条PCI总线,而具有血缘关系的PCI总线组成一颗PCI总线树。如在图1-1 所示的处理器系统中,PCI总线x树具有两条PCI总线,分别为PCI总线x0和PCI总线x1 而PCI总线y树中仅有一条PCI总线。 PCⅠ总线由HOST主桥或者PCI桥管理,用来连接各类设备,如声卡、网卡和IDE接口卡等。 在一个处理器系统中,可以通过PCI桥护展PCI总线,并形成具有血缘关系的多级PCI总线 从而形成PCI总线树型结构。在处理器系统中有几个HOST主桥,就有几颗这样的PCI总线树, 而每一颗PCI总线树都与一个PC总线域对应。 与HOST主桥直接连接的PCⅠ总线通常被命名为PCI总线0。考虑到在一个处理器系统中可能 有多个主桥,图1-1将HOSI主桥x推出的PCl总线命名为x0总线,而将PCI桥x1扩展出的 PCI总线称之为x1总线;而将HOST主桥y推出的PCI总线称为y0-yn。分属不同PCI总线树 的设备,其使用的PCI总线地址空间分属于不同的PCI总线域空问。 1.1.3PCI设各 在PCI总线中有三类设备,PCI主设备、PCI从设备和桥设备。其中PCI从设备只能被动地接 收来自HOST主桥,或者其他PC设备的读写请求;而PCl主设备可以通过总线仲裁获得PCl 总线的使用权,主动地向其他PCI设备或者主存储器发起存储器读写请求。而桥设备的主要作 用是管理下游的PC1总线,并转发上下游总线之间的总线事务 个PCI设备可以即是主设备也是从设备,但是在同一个时刻,这个PCI设备或者为主设备或 者为从设备。PCI总线规范将PCI主从设备统称为 PCI Agent设备。在处理器系统中常见的PCI 网卡、显卡、声卡等设备都属于 PCIAgent设备。 在PI总线中,HOST主桥是一个特殊的PCI设各,该设备可以获取PCI总线的控制权访问PCI 设备,也可以被PCI设备访问。但是HOST主桥并不是PCI设备。PCⅠ规范也没有规定如何设 计IOST主桥 在PCⅠ总线中,还有一类特殊的设备,即桥设备。桥没备包括PCI桥、 PCI-to-E)SA桥和 PCI-to- Cardbus桥。本篇重点介绍PCI桥,而不关心其他桥设备的实现原理。PCI桥的存在使 PCI总线极具扩展性,处理器系统可以使用PCI桥进一步扩展PCI总线。 PCⅠ桥的出现使得釆用PCI总线进行大规模系统互连成为可能。但是在目前凵经实现的大规模 处押器系统中,并没有使用PCI总线进行处理器系统与处理器系统之间的大规模互连。因为PCI 总线是一个以HOST主桥为根的树型结构,使用主从架构,因而不易实巩多处理器系统间的对 等互连 即便如此PCI桥仍然是PI总线规范的精华所在,掌握PCI桥是深入理解PCⅠ体系结构的基础。 PCI桥可以连接两条PCⅠ总线,上游PCI总线和下游PCI总线,这两个PCI总线属于同一个PCI 总线域,使用PCI桥扩展的所有PCⅠ总线都同属于一个PCI总线域。 其中对PCI设备配置空间的访问可以从上游总线转发到下游总线,而数据传送可以双方向进行。 在PI总线中,还存在一种非透明PCI桥,该桥片不是PCI总线规范定义的标准桥片,但是适 用于某些特殊应用,木篇将在第2.5节中详细介绍这种桥片ε在木书中,如不特别强调,PCI 桥是指透明桥,透明桥也是PCⅠ总线规范定义的标准桥片。 PCI-to(E)SA桥和 PCI-to- Cardbus桥的主要作用是通过PI总线扩展(ESA和 Cardbus总线。 在PCⅠ总线推出之后,(ESA总线并没有在处理器系统中立即消失,此时需要使用PCI-(EISA 桥扩展(ESA总线,而使用 PCI-to-Cardbus桥用来扩展 Cardbus总线,本篇并不关心(EISA和 Cardbus总线的设计与实现。 1.14HOST处珥器 PCI总线规定在同吋刻内,在颗PCI总线树上有且只有个HOST处理器。这个HOST处 理器可以通过HOST主桥,发起PCI总线的配置请求总线事务,并对PCI总线上的设备和桥片 进行配置 在PCI总线中,HOST处理器是一个较为模糊的概念。在SMP( symmetric multiprocessing)处理 器系统中,所有CPU都可以通过HOST主桥访问其下的PCI总线树,这些CPU都可以作为HOST 处理器。但是值得注意的是,HOST主桥才是PCl总线树的实际管理者,而不是HOST处理器。 在 HOST主桥中,设置了许多寄存器,HOST处理器通过操作这些寄存器管理这些PCI设备。 如在x86处理器的HOST主桥中设置了0xCF8和0xCFC这两个1O端∏访问PCI设备的配置 间,而 Powero处理器的HOST主桥设置了 CFG ADDR和 CFG DATA寄存器访问PCI设备 的置空间。值得注意的是,在Pυ werE处琎器中并没有IO端口,因此使用存储器映像寻址 方式访问外部设备的寄存器空间。 1.1.5PCI总线的负载 PCⅠ总线的所能挂接的负载与总线频率相关,其中总线频率越高,所能挂接的负载越少。下文 以PCI总线和PCⅠX总线为例说明总线频率、峰佰带宽和负载能力之间的关系,如表1-1所示。 表1-1PCI总线频率、带宽与负载之间的关系 总线类型 总线频率 峰值带宽 负载能力 PCI 33MHZ 133MB/S 4-5个插槽 66MHZ 266MB/S 1-2个插槽 PCI-X 66MHZ 266MB/s 4个插槽 133MHZ 533MB/s 2个插槽 266MHZ 1066MB/s 个插槽 533MHZ 2131MB/s 个插槽 山表1-1所示,PCI总线频率越高,所能排接的负毂越少,但是整条总线所能提供的带宽越大, 值得注意的是,PCI-Ⅹ总线与PCI总线的传送协议略有不同,因此66MHz的PCIX总线的负载 数较大,PCI-X总线的详细说明见第1.5节。当PCIX总线频率为266MHz和53MHz时,该 总线只能挂接一个PCⅠ-X插梄。在PCⅠ总线中,一个插槽相当于两个负载,接插件和插卜各算 为一个负载,在表1-1中,33Mz的PCⅠ总线可以挂接4~5个插槽,相当于直接挂接8~10个 负载 12PCI总线的信号定义 PCI总线是一条共享总线,在一条PCⅠ总线上可以挂接多个PCI设备。这些PCI设备通过一系 列信号与PCI总线相连,这些信号由地址/数据信号、控制信号、仲裁信号、中断信号等多种信 号组成 PCI总线是一个同步总线,每一个设备都具有一个CLK信号,其发送设备与接收设备使用这个 CIK信号进行同步数据传递。PCI总线可以使用33MH或者66MH的时钟频率,而PCIX总 线可以使用133MHz、266MHz或者533MHz的时钟频率。 除了RST#、ⅠNTIA~D#、PME井和 CLKRUN等信号之外,PCI设备使用的绝大多数信号需要与 CLK信号同步。其中RST是复位信号,PCⅠ设备使用INTA~D信号进行中断请求。本篇并不 关心PME#和 CLKRUN#信号。 12.1地址和数据信号 在PCI总线中,与地址和数据相关的信号如卜所示。 (1)AD[310]信号 PCI总线复用地址与数据信号。PCI总线事务在启动后的第一个时钟周期传送地址,这个地址是 PCI总线域的存储器地址或者IO地址:而在下一个时钟周期传送数据[1]。传送地址的时钟周 期也被称为地址周期,而传送数据的时钟周期也被称为数据周期。PCI总线支持突发传送,即 在一个地址周期之后,可以紧跟多个数据周期 (2)PAR信号 PCI总线使用奇偶校验机制,保证地址和数据信号在进行数据传递吋的止桷性。PAR信号是 AD[31:0]和CBEB3:O]的奇偶校验信号。PCI主设备在地址周期和数据周期中,使用该信号为地 址和数据信号线提供奇俜校验位。 C/BF[30#信号 PCI总线复用命令与字节选通引脚。在地址周期中,CBE[3:0]信号表示PCI总线的命令。而在 数据周期,C/BE3J0引脚输出字节选通信号,其中CBE3、CBE2、CBE和C/BEO与数据的 字节3、2、1和0对应。使用这组信号可以对PCI设备进行单个字节、字和双字访问。PCⅠ总 线通过CBE[3:0H信号定义了多个总线事务,这些总线事务如表1-2所示。 表1-2PCI总线事务 CBE[3:0#命令类型 0000 Interrupt 中断响应总线事务读取当前挂接在PCI总线上的中断 Acknowledge 控制器的中断向量号。目前大多数处坦器系统的中断 控制器都不挂接在PCI总线上,因此这种总线事务很 少被使用 Special cycle HOST主桥可以使用 Special cycle事务在PCI总线上, 进行信息广播。 0010 LO Read HOST主桥可以使用该总线事务对PCI设备的IO地址 空间进行读操作。目前多数PCⅠ设备都不支持IO地址 空间,而仅攴持存储器地址空间,但是仍有部分PCI 设备同时包含IO地址空间和存储器地址空间 Doll lO Write 对PCI总线的IO地址空间进行写操作。 0100 Reserved 保留 CBE[3#命令类型 说明 0101 Reserved 保留 0110 Memory read HOST主桥可以使用该总线事务对PCI设各的存储器 空间进行读操作。PCI设备也可以使用该总线事务读取 处理器的存储器室间 0111 Memory write HOST主桥可以使用该总线事务对PCI设各的存储器 空间进行写操作。PCⅠ设备也可以使用该总线事务向处 理器的存储器空间进行写操作。 Reserved 保留 1001 Reserved 1010 Configuration Read HOST桥可以对PCI设备的配置空间进行读操作。每 个PCI设各郗有独立的配置空间。在多功能PCI设 备中,每一个子设备( Function)也有一个独立的配置空 问。该总线事务只能由HOST主桥发出,PCI桥可以转 发该总线事务 1011 Configuration WriteHOST桥对PCI设备的配置空间进行写澡作 1100 Memory Read HOST卡桥可以使用该总线事务对PCI设各的存储器 Multiple 空间进行多行读操作,这和操作并不多见。该总线事 务的主要用途是供PCⅠ设备使用,读取主存储器。这 个读操作与 Memory read操作(C/BE[30]为0x0110时) 略有不同,详见第3.4.5节。 1101 Dual Address CyclePCI总线支持64位地址,处理器或者其他PCI设备访 问64位PCI总线地址时,必须使用双地址周期产生64 位的PCl总线地址。PCI设备使用DMA读写方式访问 64位的存储器地址时,也可以使用该总线事务。 1110 Memory Read LineHOST主桥可以使用该总线事务对PCI设备的存储器 空间进行单行读操作,这和操作并不多见。该总线事 务的主要用途是供PCI设备使用,读取主存储器。详 见第34.5节 Memory Write and存储器写并无效操作,与存储器写不同,PCI设备可 Invalidate 使用该总线事务对主存储器空间进行写操作。该总线 事务将数据与入主存储尜的同时,将对应 Cache行中 的数据“使无效”,详见第3.34节 12.2接口控制信号 在PCI总线中,接∏控制信号的主要作用是保证数据的止常传递,并根据PCⅠ主从设备的状态, 暂停、终止或者正常完成当前总线事务,其主要信号如下。 (1) FRAME#信号 该信号指示一个PCI总线事务的开始与结束。当PCI设备获得总线的使用权后,将置该信号有 效,即置为低,启动PCI总线事务,当结束总线事务时,将置该信号无效,即置为高。PCI设 各(HOSI主桥)只有通过仲裁获得当前PCI总线的使用权后,才能驱动该信号 (2)IRDY#信号 该信号由PCⅠ主设各(包括HOST主桥)驱动,该信号有效时表示PCI主设备的数据已经准备完 毕。如果当前PCI总线事务为写事务,表示数据已经在AD[31]上有效;如果为读事务,表示 PCI日标设备已经准备好接收缓冲,目标设备可以将数据发送到AD[31:O]⊥。 (3)TRDY#信号 该信号由目标改备驱动,该信号有效时表小目标设备己经将数据准备完毕。如果当前PCI总线 事务为写事务,表示目标没备已经准备好接收缓冲,可以将AD[31:0]上的数据写入目标设备; 如果为读事务,表示PCI设备需要的数据已经在AD[310]上有效 该信号可以和IRDY#信号联合使用,在PCI总线事务上插入等待周期,对PCI总线的数据传送 进行控制。 (4)STOP#信号 该信号有效时表示日标设备请求主设备停止当前PCI总线事务。一个PCI总线事务除了可以正 常结東外,目标设备还可以使用该信号终止当前PCI总线事务。目标设备可以根据不同的情况, 要求主设备对当前PCⅠ总线事务进行重试(Rery)、断连( Disconnect,也可以向主设各报告目标 设备天折( Target Abort) 目标设备要求主设备 Rctry和 Disconnect并不意味着当前PCI总线事务出现错误。当目标设各 没有将数据准备好时,可以使用 Retry周期使主设备重试当前PCⅠ总线事务。有时目标设备不 能接收来自主设备较长的 Burst操作时,可以使用 Disconnect周期,将一个较长的 Burst操作, 分解为多个 Burst操作。当主设备访问的地址越界时,目标设备可以使用 Disconnect周期,终 止主设备的越界访问。 而 TargetΔbort表示在数据传送中出现错误。处理器系统必须要对这种情况进行处理。在PCI 总线中,出现Abot般意味着当前PCI总线域出现了较为严重的错误。 (5) IDSEL信号 PCⅠ总线在进行置读写总线事务时,使用该信号选择PCI目标设备。配置读写总线事务与存 储器读写总线事务在实现上略有不同。在PCI总线中,存储器读写总线事务使用地址译码方式 访门外部改备。而配置读写总线事务使用“I译码方式”访问PCI设备,即通过PCI设备的总 线号、设备号和寄存器号访问PCI设备的配置空间 IDSEL信号与PCⅠ设备的设备号相关,相当于PCI设备配置空间的片选信号,这部分内容将在 第244节中详细介绍。 (6) DEVSE#信号 该信号有效时表示PCI总线的目标设备准备好,该信号与TRDY#信号不同之处在于该信号有效 仅表示目标设备已纾完成了地址译码。目标设各使用该信号通知PCI主设备,其访问对象在当 前PCⅠ总线上,但是并不表小目标设备可以与主改备进行数据交换。而TRDY#信号表小数据有 效,PCI主设备可以向目标设备写入或者从目标设备读取数据 PCI总线规范根据设备进行译码速度的快慢,将PCI设备分为快速、中速和慢速三种设备。在 PCⅠ总线上还有一种特殊的设备,即负向译码设备,在一条PCl总线上当快速、中速和慢速 种设备都不能响应PCⅠ总线事务的地址时,负向译码设备将被动地接收这个PCI总线事务。如 果在PCI主设各访问的PCI总线上,没有任何设各可以置DEⅤSEL#信号为有效,主设备将使 用 Master abort周期结東当前总线事务。 (7) LOCK#信号 PCI主设备可以使用该信号,将目标设备的某个存储器或者1O资源锁定,以禁止其他PCI主 设备访问此资源,直到锁定这个资源的主改备将其释放。PCI总线使用LOCK#信号实现LOCK 总线事务,只有HOSI主桥、PCl桥或者其他桥片可以使用LOCK#信号。在PCI总线的早期版 本中, PCI Agent设备也可以使用LOCK#信号,而目前PCI总线使用LOCK信号仅是为防止死 锁和向前兼容。LOCK总线事务将严重影响PCI总线的传送效率,在实际应用中,设计者应当 尽量避免使用该总线事务 1.23仲裁信号 PCI设备使用该组信号进行总线仲裁,并获得PCI总线的使用权。只有PCT主设备需要使用该 组信号,而PCI从设备可以不使用总线仲裁信号。这组信号由REQ4和GNT#组成。其中PCI 主设备的RQ和GN#信号与PCI总线的仲裁器直接相连。 PCI主设备的总线仲裁信号与PCⅠ总线仲裁器的连接关系如图1-2所示。值得注意的是,每 个PC1主设备都具有独立的总线仲裁信号,并与PCI总线仲裁器一一相连。而总线仲裁器需要 保证在同一个时间段内,只有一个PCI设备可以使用当前总线 PCI总仲款器 之 PC说备1 F各?各了 图1-2PCI设备与总线仲裁器的连接关系 在一个处理器系统中,一条PCI总线可以挂接PCI主设备的数日,除了与负载能力相关之外, 还与PCI总线仲裁器能够提供的仲裁信号数目直接相关。 在一颗PCI总线树中,每一条PCI总线上都有一个总线仲裁器。一个处理器系统可以使用PCI 桥扩展出条新的PCI总线,这条新的PCI总线也需要个总线仲裁器,通常在PCI桥中集成 了这个总线仲裁器。多数HOST主桥也集成了一个PCI总线仲裁器,但是PCI总线也可以使用 独立的PCI总线仲裁器 PCI主设备使用PCⅠ总线进行数据传递时,需要首先置RFQ#信号有效,向PCI总线仲裁器发 出总线申请,当PCI总线仲裁器允许PCI主设备获得PCI总线的使用权后,脊置GNT#信号为 有效,并将其发送给指定的PCI主设备。而PCl主设备在获得总线使用权之后,将可以置 FRAME#信号有效,与PCI从设备进行数据通信 1.24中断请求等其他信号 PCI总线提供了INTA#、ⅠNTB井、INTC#和INTD#四个中断请求信号,PCI设备借助这些中断请 求信号,使用电平触发方式向处理器提交中断请求。当这些中断请求信号为低时,PCI没备将 向处理器提交中断请求;当处理器执行断服务程序清除PCI设各的中断请求后,PCI设备将 该信号置高[2],结束当前中断请求。 PCl总线规定单功能设备只能使用INIA#信号,而多功能设备才能使用INTB##/1#信号。PCI 设备的这些中断请求信号可以通过某种规则进行线与,之后与中断控制器的中断请求信号线相 连。而处理器系统需要预先知道这个规则,以便正确处理来自不同PCI设备的中断请求,这个 规则也被称为中断路山表,有关中断路山表的详细描述见第1.4.2节。 PCⅠ总线在进行数据传递过程时,难免会出现各种各样的错误,因此PCI总线提供了一些错误 信号,如PFRR#和SFRR#信号。其中当PFRR#信号有效时,表示数据传送过程中出现奇偶校 验错( Special Cycle周期除外);而当SERH信号有效时,表示当前处理器系统出垗∫三种错误 可能,分别为地址奇偶校验错,在 Special Cycle周期中出现数据奇偶校验错,或者系统岀现貝 他严重错误。 如果PCI总线支持64位模式,还需要提供AD63:32、CBE[7:4]、REQ64、ACK64和PAR64 这些信号。此外PCI总线还有一些与JAG、 SMBCLK以及66MⅦHz使能等信号,本章并不关心 这些信号。 [1]双地址周期在第一、二个时钟周期,都传送地址。 [2]INT姅#这组信号为开瀕输岀,当所有的驱动源不驱动该信号时,该信号由上拉电陧驱动为高。 13PCI总线的存储器读写总线事务 总线的基本仟务是实现数据传送,将一组数据从一个设备传送到另一个设备,当然总线也可以 将个设备的数据广播到多个设备。在处理器系统中,这些数据传送都要依赖‘定的规则,PCI 总线并不例外。

...展开详情
试读 127P PCI Express体系结构导读

评论 下载该资源后可以进行评论 54

zyp2524153 很不过的东西,很详细
2019-08-16
回复
chenlei_cauc 极好的一本书,国内少有,有作者自己的深刻理解,绝不是抄来抄去的。
2019-02-17
回复
老家衡水 这个资料对理解PCIE总线非常有帮助,感谢
2016-03-17
回复
lmqputin 有本书PCI 系统结构 讲的很好, 4分资源太多啦
2016-01-13
回复
yc2711550 正好用到·谢谢
2015-11-17
回复
long22885528 学习pcie必备资料,和原版差不多,建议还是看纸质的,电子版看的累。
2015-08-06
回复
hzbzfj 对于初学PCIe的同学还是很有帮助的。感谢分享。
2015-06-19
回复
colvin77 不错不错,就是不太完整
2015-04-14
回复
xudaiyang3 东西实在太好了,谢谢分享
2015-02-14
回复
lilian_lilith 跟原书不太一致,不过也有参考价值
2014-11-19
回复
img
lieying116

关注 私信 TA的资源

上传资源赚积分,得勋章
    最新推荐
    PCI Express体系结构导读 48积分/C币 立即下载
    1/127
    PCI Express体系结构导读第1页
    PCI Express体系结构导读第2页
    PCI Express体系结构导读第3页
    PCI Express体系结构导读第4页
    PCI Express体系结构导读第5页
    PCI Express体系结构导读第6页
    PCI Express体系结构导读第7页
    PCI Express体系结构导读第8页
    PCI Express体系结构导读第9页
    PCI Express体系结构导读第10页
    PCI Express体系结构导读第11页
    PCI Express体系结构导读第12页
    PCI Express体系结构导读第13页
    PCI Express体系结构导读第14页
    PCI Express体系结构导读第15页
    PCI Express体系结构导读第16页
    PCI Express体系结构导读第17页
    PCI Express体系结构导读第18页
    PCI Express体系结构导读第19页
    PCI Express体系结构导读第20页

    试读已结束,剩余107页未读...

    48积分/C币 立即下载 >