PCI-Express总线基础知识

合集下载

pci-e总线基本传输机制

pci-e总线基本传输机制

pci-e总线基本传输机制1.引言1.1 概述概述部分的内容可以写成以下内容:PCI-E(Peripheral Component Interconnect Express)总线是一种计算机扩展插槽标准,旨在提供高速、高性能的数据传输能力。

它广泛应用于各种计算机设备,如显卡、网络卡、存储卡等,使它们能够与主板进行有效的通信和数据传输。

PCI-E总线采用了一套全新的传输机制,以取代之前的PCI (Peripheral Component Interconnect)总线。

与传统的PCI总线相比,PCI-E总线在带宽、速度和可扩展性等方面有了巨大的提升。

它能够提供更高的数据传输速度和更大的带宽,满足现代计算机对于高性能、高速度数据传输的需求。

PCI-E总线的传输机制是基于高速串行通信的。

传统的PCI总线采用的是并行传输,每次传输数据的位数较多,而PCI-E总线则采用了串行传输的方式,减少了数据线的数量,提高了信号传输的速度和质量。

同时,PCI-E总线还采用了差分传输技术,通过正负两个信号线来传输数据,有效地减少了信号的干扰和噪声,提高了信号的稳定性和可靠性。

除此之外,PCI-E总线还采用了分层的架构设计。

它将总线分为物理层、数据链路层和传输层,每一层都有相应的协议和规范,用于确保数据的正确传输和处理。

这种分层的设计使得PCI-E总线具有较高的灵活性和可扩展性,能够适应不同设备和不同需求的应用。

综上所述,PCI-E总线作为一种高速、高性能的数据传输接口,已经成为现代计算机系统中不可或缺的一部分。

它的概念和特点将在接下来的文章中进一步介绍和探讨。

1.2文章结构文章结构是指整篇文章的组织结构和内容安排。

一个清晰、合理的文章结构能够使读者更好地理解文章主题,并能够有条理地获取所需信息。

本文的结构如下:1. 引言1.1 概述:介绍PCI-E总线的重要性和应用背景,引出本文的主题。

1.2 文章结构:概述本文的组织结构并列举各部分的内容大纲。

PCI-Express总线简介

PCI-Express总线简介

pcie总线简述pcie总线是第三代i/o互连总线,pcie应用用在桌面电脑、通信平台、服务器、工作站、移动通信、嵌入式器件中。

是低价而大量的传输的解决方案。

pcie兼容pci总线,由于pcie的低潜伏期通信使得它拥有很高的带宽和总数较少的管脚数量。

pcie的主要特征:●可以传送多种数据信息格式。

●串行发送接收双通道,高带宽,速度快。

可灵活扩展。

●支持热插拔和热交换。

●低电源消耗,并有电源管理功能。

●支持QoS链路配置和公正策略。

●具有包和层协议架构。

●每个物理链接含有多种虚拟通道。

●兼容pci。

●多种保证数据完整性的机制。

●错误处理机制和调试简便性。

pcie的基本结构包括根组件(Root Complex)、交换器(Switch)和各种终端设备。

pcie总线一个拓扑结构例子如下:Root Complex(根组件):root Complex为下层io设备连接到cpu提供路径。

endpoint(终端设备):就是接收请求(request)或者发送应答(completer)的总线终端设备。

Swith(路由器):为上游器件和下游器件通信选择路径,如下图。

一个基本的数据链路(Link)如下图:一个基本的pcie数据链路至少两对差分驱动信号如图:一对是接收,一对是发送。

如图是一条lane,每个数据链路(link)至少包含一个lane,为了线性增加link的带宽,link支持*N条lanes(N=1、2、4、8、12、16、32)。

例如单条lane支持的单向带宽是 2.5gb/s,那么一个数据链路单方向支持的最高带宽就80gb/s。

pcie总线规范包括以下各子层协议:pcie总线包括Transaction Layer(处理层)、Data Link Layer (数据链路层)、Physical Layer(物理层)。

pcie总线使用包来完成器件之间的通信。

这些数据包信息在Transaction Layer 和Data Link Layer中形成,即除了数据信息外,在不同的层中加入不同的开销,以方便管理,如下图。

pcie基本原理

pcie基本原理

pcie基本原理PCI Express(Peripheral Component Interconnect Express)是一种高速串行总线标准,用于连接计算机内部的各种设备和组件,例如显卡、网卡、声卡等。

PCIe基于串行传输方式和点对点连接的思想,相比传统的并行总线具有更高的带宽和更低的延迟。

1. PCIe物理层PCIe物理层包括差分信号传输、时钟恢复、电源管理等方面。

差分信号传输是PCIe最关键的特性之一,它使用两条反向传输线代表一个数据位,实现了抗干扰性能更好和更远距离的数据传输。

时钟恢复是指接收端通过解码发送端发送过来的时钟信息来恢复本地时钟,从而实现同步通信。

电源管理则是为了节省能源,在设备空闲或未使用时自动进入低功耗模式。

2. PCIe数据链路层PCIe数据链路层负责将上层逻辑层的请求转换成可被物理层发送的数据包,并在接收端将数据包还原成原始请求。

数据链路层分为两个子层:逻辑子层(Logical Sublayer)和传输子层(Transport Sublayer)。

逻辑子层主要负责错误检测和纠正,传输子层则负责流量控制和错误恢复。

3. PCIe传输层PCIe传输层是PCIe中最重要的层次之一,它定义了数据包如何在发送端和接收端之间传输。

PCIe采用基于令牌的流控制方式,发送端将数据包打成一个个TLP(Transaction Layer Packet),并通过令牌的方式将TLP交给接收端。

如果接收端准备好接收数据,则返回一个令牌给发送端,发送端才会将数据包发送出去。

这种流控制方式可以有效地避免数据包丢失和冲突。

4. PCIe事务层PCIe事务层是PCIe协议中最高层次的逻辑,它定义了如何进行读写操作、配置设备、中断处理等操作。

PCIe事务分为两种类型:读取(Read)和写入(Write)。

读取操作由请求者发起,写入操作由请求者或响应者发起。

配置空间是一种特殊的地址空间,用于存储设备的配置信息。

pcie基本原理

pcie基本原理

pcie基本原理PCIe基本原理PCIe(Peripheral Component Interconnect Express)是一种高速、点对点的串行总线标准,用于连接计算机内部的外部设备。

它是目前最流行的计算机总线标准之一,被广泛用于连接各种设备,如显卡、网卡、存储控制器等。

本文将介绍PCIe的基本原理,以帮助读者更好地理解这一技术。

PCIe采用串行传输方式,相比传统的并行总线,具有更高的带宽和更低的延迟。

它采用差分信号传输,即同时传输正负两路信号,以减少信号干扰和提高传输速度。

PCIe总线的带宽通常用“xN”来表示,其中“x”表示总线的通道数,而“N”表示每个通道的数据传输速率。

例如,PCIe 3.0 x16表示具有16个通道,每个通道的传输速率为PCIe 3.0规范下的速率。

PCIe总线采用多通道的方式来提高数据传输速度。

每个通道都有自己的发送和接收端口,可以同时进行数据传输。

此外,PCIe还支持多路复用技术,即将多个数据流通过同一物理通道传输,以提高总线的利用率。

这种设计使PCIe具有更高的带宽和更好的扩展性,可以满足不同设备对数据传输速度的需求。

PCIe总线还采用了“插槽”和“连接器”的设计,以便用户可以方便地连接和更换设备。

每个PCIe插槽都有一定数量的针脚,用于传输数据、电源和地线。

连接器则负责将插槽与设备连接起来,保证信号传输的可靠性和稳定性。

PCIe插槽通常分为不同的规格,如PCIe x1、PCIe x4、PCIe x8和PCIe x16等,以适应不同设备的需求。

PCIe总线还具有“热插拔”和“热插拔”功能,用户可以在计算机运行时插入或拔出设备,而无需重新启动计算机。

这使得设备的更换和升级变得更加方便快捷。

此外,PCIe还支持“链路层发现”和“链路层训练”功能,用于自动检测和优化总线的性能,以提高数据传输的稳定性和可靠性。

总的来说,PCIe是一种高速、灵活、可靠的计算机总线标准,被广泛应用于各种设备之间的连接。

PCI总线协议基础

PCI总线协议基础

PCI总线协议基础PCI基本总线协议传输机制是猝发成组数据传输。

一个分组由一个地址相位和一个或多个数据相位组成。

1.PCI总线的传输控制PCI总线上所有的数据传输基本上都是由以下三条信号线控制的:FRAME#:由主设备驱动,说明一次数据传输周期的开始和结束。

IRDY#:由主设备驱动,表示主设备已经作好传送数据的准备。

TRDY#:由从设备驱动,表示从设备已经作好传送数据的准备。

当数据有效时,数据源设备需要无条件设置xRDY#,接收方可以在适当的时间发出xRDY#信号。

FRAME#信号有效后的第一个时钟前沿是地址相位的开始,此时,开始传送地址信息和总线命令,下一个时钟前沿进入一个或多个数据相位。

每当IRDY#和TRDY#同时有效时,所对应的时钟前沿就使数据在主从设备之间传送。

在此期间,可由主设备或从设备分别利用IRDY#和TRDY#的无效而插入等待周期。

一旦主设备设置了IRDY#,将不能再改变IRDY#和FRAME#,直到当前的数据相位完成为止,而此期间不管TRDY#的状态是否发生变化。

一旦从设备设置了TRDY#,就不能改变DEVSEL#、TRDY#或STOP#,直到当前的数据相位完成为止。

也就是说,只要数据传输已经开始,那么在当前数据相位结束之前,不管是主设备还是从设备都不能撤消命令,必须完成数据传输。

最后一次数据传输时(可能紧接地址相位之后),主设备应撤消FRAME#信号而建立IRDY#,表明主设备已作好了最后一次数据传输的准备。

当从设备发出TRDY#信号,表明最后一次数据传输已经完成,接口转入空闲状态,此时FRAME#和IRDY#均被撤消。

对于PCI总线的传输,可总结出以下几条规则:①FRAME#和IRDY#决定总线的忙/闲状态。

当其中一个有效时,表示总线忙;两个都无效时,总线进入空闲状态。

②一旦FRAME#被置为无效,在同一传输期间不能重新置为有效。

③除非设置IRDY#,一般情况下不能设置FRAME#无效(在FRAME#无效后的第一个时钟沿IRDY#必须保持有效)。

第1章 PCI总线的基本知识

第1章 PCI总线的基本知识

PCI(Peripheral Component Interconnect)总线的诞生与PC(Personal Computer)的蓬勃发展密切相关。

在处理器体系结构中,PCI总线属于局部总线(Local Bus)。

局部总线作为系统总线的延伸,主要功能是为了连接外部设备。

处理器主频的不断提升,要求速度更快,带宽更高的局部总线。

起初PC使用8位的XT总线作为局部总线,并很快升级到16位的ISA(Industry Standard Architecture)总线,逐步发展到32位的EISA(Extended Industry Standard Architecture)、VESA(Video Electronics Standards Association)和MCA(Micro Channel Architecture)总线。

PCI总线规范在上世纪九十年代提出。

这条总线推出之后,很快得到了各大主流半导体厂商的认同,迅速统一了当时并存的各类局部总线。

EISA、VESA等其他32位总线很快就被PCI总线淘汰了。

从那时起,PCI总线一直在处理器体系结构中占有重要地位。

在此后相当长的一段时间里,PC处理器系统的大多数外部设备都是直接或者间接地与PCI总线相连。

即使目前PCI Express总线逐步取代了PCI总线成为PC局部总线的主流,也不能掩盖PCI总线的光芒。

从软件层面上看,PCI Express总线与PCI总线基本兼容;从硬件层面上看,PCI Express总线在很大程度上继承了PCI总线的设计思路。

因此PCI总线依然是软硬件工程师在进行处理器系统的开发与设计时,必须要掌握的一条局部总线。

PCI总线V1.0规范仅针对在一个PCB(Printed Circuit Board)环境内的,器件之间的互连,而1993年4月30日发布的V2.0规范增加了对PCI插槽的支持。

1995年6月1日,PCI V2.1总线规范发布,这个规范具有里程碑意义。

PCI-Express总线及设备介绍

PCI-Express总线及设备介绍

精选课件ppt
17
❖ 2. 双通道,高带宽,传输速度快
▪ 在数据传输模式上,PCI Express总线采用独 特的双通道传输模式,类似于全双工模式,大 大提高了数据舆速度。在传输速度上,1.0版 本的PCI Express将从每个信道单方向 2.5Gbps的传输速率起步,而它在物理层上提 供的1~32速可选信道带宽特性更使其可以轻 松实现近乎"无限"的扩展传输能力。
❖ 今天的平台,必须在不断增加的数据传输率中,同步传输/处理多 个数据。在数据处理量疯狂增长的时候,对所有数据公平地对待是 不可能,也是不现实的,而这点也显得尤其重要。例如,系统会优 先处理流数据,因为断断续续的延迟数据就和没有数据没什么两样。 在这个时候,这些流媒体数据会通过一定的标记,以便I/O系统能够 让它们优先通过平台。
精选课件ppt
6
PCI VS PCI Express II

PCI和PCI_E 既有共同点也有差别,最重要
的地方被保留了,比如Load-Store 架构。由于
PCI Express 采用串行的机制,好象在计算机中
一直都是串行性能较优,比如串行接口的硬盘
VS并行接口的硬盘。PCI Express 较之PCI 也更
精选课件ppt
4
2. PCI Express 技术分析
精选课件ppt
5
PCI VS PCI Express I
❖ PCI 采用并行的信号机制 ❖ 传输速率从33MT/S 到 266MT/S ❖ 总线带宽有32bit/64bit 两种 ❖ 支持边带(Side band)信号控制 ❖ Load-Store 架构 ❖ 内存,I/O,配置 ❖ PCI 电源管理 ❖ 奇偶和ECC

PCI-Express详解

PCI-Express详解

基础篇随着Intel800MHzFSB芯片组i875P的推出,Intel同时也向世人显示一个全新的总线技术即将推出,那就是由Intel首先提出并开发的3GIO总线。

后来这一技术提交PCI-SIG(PCI特殊兴趣组织),由PCI-SIG改名为"PCIExpress",以标准的形式正式推出,目前的最新版本为v1.0。

本连载就要带大家深入了解这一即将改变整个计算机系统结构、成为下一代总线标准的总线技术。

首先本文要向大家介绍的是一些基础知识。

一、P C I标准的发展历史要了解PCIExpress总线技术的提出原因,我们先来简要回顾一下PCI总线的发展历史目前应用的计算机内部总线技术为PCI,即"PeripheralComponentInterconnect",中文名为"外围组件互连",它是由Intel于1991年提出的(与本文要介绍的PCI-Express总线技术属同一个公司开发的)。

后来,PCI-SIG小组接替了Intel的PCI规范的发展,在1993年5月发布了PCI2.0。

那时,PCI的竞争对手是VESA本地总线(VL-bus或VLB),它是由视频电子标准协会提出的32bit总线,在标准的ISA插槽之后提供附加的第三和第四接口,额定频率33MHz,并且能够提供超过ISA。

但是当时作为486处理器/内存总线的直接扩展,VESA 是运行在与处理器相同的频率上,因此名为"本地总线",这种直接的扩展意味着如果连接的设备过多,则很可能会干扰处理器自身的工作,特别是当信号通过一个插槽时。

于是VESA标准中建议在33MHz频率上只使用2个插槽,或者在总线使用电子缓冲时使用3个。

在更高的频率上不能连接2个以上的设备,而在50M H z时它们则必须都内建于主板内。

由于VESA与处理器同步工作,因而随着处理器频率的提高,VESA总线类型的外围设备工作频率也得随着提高,但是外围设备要求的速度越高,其造价也就更高,对外围设备的生产成本控制造成了极大的不利。

PCI-E资料(全)

PCI-E资料(全)
Sub-block
TxData Command Status RxData PClk
Transaction Link xx
State machines for Link Training and Status State Machine (LTSSM) and lane0lane deskew
转向PCIe主要是为了实现显著增强系统吞吐量、扩容性和灵活性的目标,同时还要降低制造成本,而这 些都是基于总线的传统互连标准所达不到的。PCI Express标准在设计时着眼于未来,并且能够继续演 进,从而为系统提供更大的吞吐量。第一代PCIe规定的吞吐量是每秒2.5千兆比特(Gbps),第二代规 定的吞吐量是5.0 Gbps,而最近公布PCIe 3.0标准已经支持8.0 Gbps的吞吐量。在PCIe标准继续充分利 用最新技术来提供不断加大的吞吐量的同时,采用分层协议也便于PCI向PCIe的演进,并保持了与现有 PCI应用的驱动程序软件兼容性。
Chip Set with Root Complex
PCIe RC Controller
PHY
PHY PCIe Endpoint
Endpoint
图3:SoC芯片内的PHY和控制器运用
正如上文所述,2个端口之间的虚线代表着链路。PCIe链路是单向的,并采用了低压差分信号。PCIe规 格定义了链路可以包含多达32个并行通道,用于将PCIe 1.x(2.5Gbps)链路的吞吐量扩展至80 Gbps, 或将PCIe 2.0(5.0 Gbps)的吞吐量扩展至160 Gbps。同一链路内的每个线路(Lane)均提供了自己的 内嵌时钟信号,因而无需在PC电路板上实现线路长度匹配——这种匹配是以前PCI接口为了保持时序所 必需的。
PCIe规格内所定义的此协议遵循的是开源促进会(OSI)模型。此协议分隔成5个基本层,如图2左侧所 示。本节对机械层和物理层进行了综述;后续各节将针对链路层、事务处理层和应用层进行说明。

PCIe基础篇(一)、基础知识扫盲

PCIe基础篇(一)、基础知识扫盲

PCIe基础篇(⼀)、基础知识扫盲1、PCIe:Peripheral Component interconnect Expess,外围组件接⼝互联,属于第三代IO总线,PCIe的传输速率指的是实际的有效传输速率,为RAW data(原始数据)的80%,因为其采⽤了8b/10b编解码技术,有效数据是原始数据的0.8,PCIe的iyidai和第⼆代采⽤8b/10b编解码技术,第三代、第四代、第五代采⽤128b/130b编解码技术。

2、PCI总线是⼀种共享总线,所以需要有特定的仲裁器(Arbiter)来决定当前时刻总线的控制权。

⼀般该仲裁器位于北桥中,⽽仲裁器(主机)通过⼀对引脚REQ#和GNT#(grant)来与各个从机连接。

PCI总线是⼀种地址和数据复⽤的总线,地址和数据占⽤同⼀组信号线。

PCIe采⽤了差分、全双⼯的传输设计,允许在同⼀时刻,同时进⾏发送进⽽接收数据,设备之间通过双向的Link连接,每个Link⽀持1~32个通道(lane),由于是串⾏总线,因此所有的数据(包括配置信息等)都是以数据包为单位进⾏发送。

PCIe中还引⼊了嵌⼊式时钟计数,发送端不再向接收端发送时钟,但是接收端可以通过8b/10b的编码从数据通道中恢复出时钟.PCIe是⼀种点对点连接的总线,不是共享总线。

但是PCIe可以通过SWITCH连接多个PCIe设备,Switch包含了多个类似于PCI总线中桥的该概念。

上图中,Root Component作为Root,是CPU和PCIe总线系统通信的媒介。

endpoint位于PCIe总线系统拓扑结构中的最末段,⼀般作为总线操作的发起作者(initiator,类似于主机)与终结者(Completers,类似于从机),endpoint只能接收上级拓扑的数据包或者向上级发送数据包。

此外,Leagcy PCIe Endpoint指的是元贝准备设计为PCI-X总线接⼝的设备,却被改为PCIe接⼝的设备,native PCIe ENDpoint指的是标准的PCIe设备。

PCI Express

PCI Express

PCI Express维基百科,自由的百科全书PCI Express ,简称PCI-E ,是电脑总线PCI 的一种,它沿用了现有的PCI 编程概念及通讯标准,但建基于更快的串行通信系统。

英特尔是该接口的主要支援者。

PCIe 仅应用于内部互连。

由于PCIe 是基于现有的PCI 系统,只需修改物理层而无须修改软件就可将现有PCI 系统转换为PCIe 。

PCIe 拥有更快的速率,以取代几乎全部现有的内部总线(包括AGP 和PCI )。

英特尔希望将来能用一个PCIe 控制器和所有外部设备交流,取代现有的南桥/北桥方案。

除了这些,PCIe 设备能够支援热拔插以及热交换特性,支援的三种电压分别为+3.3V 、3.3Vaux 以及+12V 。

考虑到现在显卡功耗的日益增加,PCIe 而后在规范中改善了直接从插槽中取电的功率限制,16x 的最大提供功率达到了75W[1],比AGP 8X 接口有了很大的提升。

基本可以满足当时(2004年)中高阶显卡的需求。

这一点可以从AGP 、PCIe 两个不同版本的6600GT 显卡上就能明显地看到,后者并不需要外接电源。

PCIe 只是南桥的扩展总线,它与操作系统无关,所以也保证了它与原有PCI 的兼容性,也就是说在很长一段时间内在主板上PCIe 接口将和PCI 接口共存,这也给用户的升级带来了方便。

由此可见,PCIe 最大的意义在于它的通用性,不仅可以让它用于南桥和其他设备的连接,也可以延伸到芯片组间的连接,甚至也可以用于连接图形芯片,这样,整个I/O 系统重新统一起来,将更进一步简化计算机系统,增加计算机的可移植性和模块化。

历史在2001年的春季英特尔开发者论坛(IDF )上Intel 公布了取代PCI 总线的第三代I/O 技术,被称为“3GIO ”。

该总线的规范由Intel 支持的AWG (Arapahoe Work Group )负责制定。

2002年4月17日,AWG 正式宣布3GIO 1.0规范草稿制定完毕,移交PCI 特殊兴趣组织(PCI-SIG )进行审核,2002年7月23日经过审核后正式公布,改名为“PCI Express ”,并根据开发蓝图2006年正式推出Spec2.0(2.0规范)。

PCI-Express详解

PCI-Express详解

基础篇随着Intel 800MHz FSB芯片组i875P的推出,Intel同时也向世人显示一个全新的总线技术即将推出,那就是由Intel首先提出并开发的3GIO总线。

后来这一技术提交PCI-SIG(PCI 特殊兴趣组织),由PCI-SIG改名为"PCI Express",以标准的形式正式推出,目前的最新版本为v1.0。

本连载就要带大家深入了解这一即将改变整个计算机系统结构、成为下一代总线标准的总线技术。

首先本文要向大家介绍的是一些基础知识。

一、PCI标准的发展历史要了解PCI Express总线技术的提出原因,我们先来简要回顾一下PCI总线的发展历史目前应用的计算机内部总线技术为PCI,即"Peripheral Component Interconnect",中文名为"外围组件互连",它是由Intel于1991年提出的(与本文要介绍的PCI-Express总线技术属同一个公司开发的)。

后来,PCI-SIG小组接替了Intel的PCI规范的发展,在1993年5月发布了PCI 2.0。

那时,PCI的竞争对手是VESA本地总线(VL-bus或VLB),它是由视频电子标准协会提出的32bit总线,在标准的ISA插槽之后提供附加的第三和第四接口,额定频率33MHz,并且能够提供超过ISA。

但是当时作为486处理器/内存总线的直接扩展,VESA 是运行在与处理器相同的频率上,因此名为"本地总线",这种直接的扩展意味着如果连接的设备过多,则很可能会干扰处理器自身的工作,特别是当信号通过一个插槽时。

于是VESA标准中建议在33MHz频率上只使用2个插槽,或者在总线使用电子缓冲时使用3个。

在更高的频率上不能连接2个以上的设备,而在50MHz时它们则必须都内建于主板内。

由于VESA与处理器同步工作,因而随着处理器频率的提高,VESA总线类型的外围设备工作频率也得随着提高,但是外围设备要求的速度越高,其造价也就更高,对外围设备的生产成本控制造成了极大的不利。

PCIe总线基础

PCIe总线基础
链路层。
PCIe总线物理层
• 差分信号与单端信号:单端信号地平面是电流回路,差分信号
地平面也是重要的回路,之间也是电流回路。因此在设计时候要注意差分信号的地平 面也是很重要的。不要出现不连续的地平面或者没有参考地平面。
差分的好处:
1 共模抑制比高,抗干扰能力强; 2有效抑制信号传递带来的EMI干扰,极性相反;对外界的辐射相互抵消,因此产生的 噪声也是最小的。 3 逻辑状态定位准确,不受工艺和环境的影响 ;
PCIe总线带宽
PCIe总线架构
PCIe总线架构
Intel体系中的PCIe体系架构
PCIe总线层次结构
PCIe总线层次结构
software
TLP
DLLP
PLP
PCIe总线采集卡实现模式
PCIe三种实现模式
PCIe各层封装
• 各层叠加关系
各层包结构概览
• 作用:接收链路层的东西并发送到物理线路上,2,3,4………….) 2 rxnx,rxpx(x为1 ,2,3,4………….) 3 REFCLK+和REFCLK-信号 4 PERST#信号 5 WAKE#信号 6 SMCLK和SMDAT信号 7 JTAG信号 8 PRSNT1#和PRSNT2#信号
PCI总线信号
PCIe总线技术概览
PCIe总线是PCI总线的一种实现方式,从逻辑上来说他还是PCI总线, 他的大部分的概念来源于PCI总线,因此我们要从PCI总线讲起。
目录
1 2 3
PCI总线概述 PCIE总线各层 PCIE总线板卡实现
PCI技术概览

PCIE总线信号 PCIe总线架构 PCIe总线各层 PCIe总线物理层和链路层 PCIe总线事务层

PCIe总线的定义、组成和分层结构

PCIe总线的定义、组成和分层结构

PCIe总线的定义、组成和分层结构1、PCI-E总线定义PCI-E(PCI-Express)是一种通用的总线规格,它由(Intel)所提倡和推广,其最终的设计目的是为了取代现有(电脑)系统内部的总线传输(接口),这不只包括显示接口,还囊括了(CPU)、PCI、HDD、Netw(or)k等多种应用接口。

PCIe总线与PCI最大的区别在(工作原理)上,PCIe是采用点到点的串行方式进行传输的,被称为“串行PCI”,由于采用了串行方式传输使得其工作频率可以达到2.(5G)hz,大大增加了传输速率,同时采用全双工的(通信)方式,使得其传输速度提高了一倍,每一个PCIe总线设备与外部通信时有四根数据总线,分别有两个RX和TX,两根用于发送,两根由于接收。

当前的Intel平台CPU每颗最大支持40个通道(Lane),但是对于现在比较主流的(GPU)服务器需要插入多张高兴能显卡,每颗CPU 提供x40个通道就显得不够用了。

另外,传统存储(控制器)之间需要做各种数据交换和同步,一般也是用PCI-E,这又增加了对通道数量的消耗。

对于一般的高端服务器,普遍都是双路、四路配置,双路下提供x80通道,理论上可连接10个x8的PCI-E设备,去掉一些用于管理、内部嵌入式PCI-E设备的通道占用之后,连接8个设备不在话下,可以覆盖几乎所有应用场景。

2、PCI-E的组成和分层结构与大多数总线一样,PCIe总线也包括(电气)属性和协议组成两部分。

PCIe 规范对于设备的设计采用分层的结构,有事务层、数据链路层和物理层组成,各层有都分为发送和接收两功能块。

在发送端,应用程序(设备核A)在事务层形成事务层包(TLP——Transac(ti)on Layer Package),储存在发送缓冲器里,等待推向下层。

在数据链路层,在TLP 包上再串接一些附加(信息),这些信息是对方接收TLP 包时进行错误检查要用到的,形成数据链路层包(DLLP——Data Link Layer Package);在物理层,对DLLP 包进行编码,占用链路中的可用通道,从发送器发送出去。

PCIe总线基础及FPGA设计实战

PCIe总线基础及FPGA设计实战

PCIe总线基础及FPGA设计实战pciexpress总线基础及fpga设计实战1、PCIExpress基金会pcie总线是基于pci总线发展起来的,很多基本概念都来自于pci总线,有必要在介绍pcie之前了解pci总线。

1.1 PCI基金会pci总线作为处理器系统的局部总线,其主要目的是为了连接外部设备,而不是作为处理器系统的系统总线连接cache和主存储器。

pci总线作为系统总线的延伸,其设计考虑了许多与处理器相关的内容,孤立的研究pci总线并不可取,因此需要将pci作为存储器系统的一个部分来研究。

1.1.1几个重要概念1)pci总线空间与处理器空间隔离PCI设备有一个独立的地址空间,即PCI总线地址空间,它通过主机桥与内存地址空间隔离。

处理器需要通过主机桥来访问PCI设备,PCI设备需要通过主机桥来定位主存。

要注意区分存储器地址空间和pci总线地址。

在一个处理器系统中,存储器域、pci 总线域与host主桥的关系如下图。

图中的处理器系统由一个CPU、一个DRAM控制器和两个主机网桥组成。

处理器系统包括CPU域、DRAM域、内存域和PCI总线域地址空间。

主机网桥X和主机网桥y分别管理PCI总线X域和PCI总线y域。

当CPU访问PCI设备时,它必须通过主机主桥执行地址转换,而当PCI设备访问内存设备时,它也需要主机主桥执行地址转换。

主桥的一个重要作用就是将存储器访问的存储器地址转换成pci总线地址。

CPU域地址空间是指可由CPU直接访问的一组地址空间。

dram域地址空间是指dram控制器所能访问的地址空间集合,又称为主主存储器域。

存储器域是cpu域和dram域的集合。

存储器域包括cpu内部的通用寄存器、存储器映射寻址的寄存器、主存储器空间和外部设备空间。

在intel的x86处理系统中,外部设备空间与pci总线域地址空间等效。

因为在x86处理器系统中,使用pci总线同一管理全部外部设备。

值得注意的是,在内存域的外部设备空间中,PCI总线域中还有一个地址映射。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PCIe总线的基础知识与PCI总线不同,PCIe总线使用端到端的连接方式,在一条PCIe链路的两端只能各连接一个设备,这两个设备互为是数据发送端和数据接收端。

PCIe总线除了总线链路外,还具有多个层次,发送端发送数据时将通过这些层次,而接收端接收数据时也使用这些层次。

PCIe 总线使用的层次结构与网络协议栈较为类似。

4.1.1 端到端的数据传递PCIe链路使用“端到端的数据传送方式”,发送端和接收端中都含有TX(发送逻辑)和RX(接收逻辑),其结构如图4‑1所示。

由上图所示,在PCIe总线的物理链路的一个数据通路(Lane)中,由两组差分信号,共4根信号线组成。

其中发送端的TX部件与接收端的RX部件使用一组差分信号连接,该链路也被称为发送端的发送链路,也是接收端的接收链路;而发送端的RX部件与接收端的TX部件使用另一组差分信号连接,该链路也被称为发送端的接收链路,也是接收端的发送链路。

一个PCIe链路可以由多个Lane组成。

高速差分信号电气规范要求其发送端串接一个电容,以进行AC耦合。

该电容也被称为AC 耦合电容。

PCIe链路使用差分信号进行数据传送,一个差分信号由D+和D-两根信号组成,信号接收端通过比较这两个信号的差值,判断发送端发送的是逻辑“1”还是逻辑“0”。

与单端信号相比,差分信号抗干扰的能力更强,因为差分信号在布线时要求“等长”、“等宽”、“贴近”,而且在同层。

因此外部干扰噪声将被“同值”而且“同时”加载到D+和D-两根信号上,其差值在理想情况下为0,对信号的逻辑值产生的影响较小。

因此差分信号可以使用更高的总线频率。

此外使用差分信号能有效抑制电磁干扰EMI(Electro Magnetic Interference)。

由于差分信号D+与D-距离很近而且信号幅值相等、极性相反。

这两根线与地线间耦合电磁场的幅值相等,将相互抵消,因此差分信号对外界的电磁干扰较小。

当然差分信号的缺点也是显而易见的,一是差分信号使用两根信号传送一位数据;二是差分信号的布线相对严格一些。

PCIe链路可以由多条Lane组成,目前PCIe链路可以支持1、2、4、8、12、16和32个Lane,即×1、×2、×4、×8、×12、×16和×32宽度的PCIe链路。

每一个Lane上使用的总线频率与PCIe总线使用的版本相关。

第1个PCIe总线规范为V1.0,之后依次为V1.0a,V1.1,V2.0和V2.1。

目前PCIe总线的最新规范为V2.1,而V3.0正在开发过程中,预计在2010年发布。

不同的PCIe总线规范所定义的总线频率和链路编码方式并不相同,如表4-1所示。

表4-1 PCIe总线规范与总线频率和编码的关系如上表所示,不同的PCIe总线规范使用的总线频率并不相同,其使用的数据编码方式也不相同。

PCIe总线V1.x和V2.0规范在物理层中使用8/10b编码,即在PCIe链路上的10 bit 中含有8 bit的有效数据;而V3.0规范使用128/130b编码方式,即在PCIe链路上的130 bit 中含有128 bit的有效数据。

由上表所示,V3.0规范使用的总线频率虽然只有4GHz,但是其有效带宽是V2.x的两倍。

下文将以V2.x规范为例,说明不同宽度PCIe链路所能提供的峰值带宽,如表4‑2所示。

表4-2 PCIe总线的峰值带宽由上表所示,×32的PCIe链路可以提供160GT/s的链路带宽,远高于PCI/PCI-X总线所能提供的峰值带宽。

而即将推出的PCIe V3.0规范使用4GHz的总线频率,将进一步提高PCIe 链路的峰值带宽。

在PCIe总线中,使用GT(Gigatransfer)计算PCIe链路的峰值带宽。

GT是在PCIe链路上传递的峰值带宽,其计算公式为总线频率×数据位宽×2。

在PCIe总线中,影响有效带宽的因素有很多,因而其有效带宽较难计算,这部分内容详见第8.4.1节。

尽管如此,PCIe总线提供的有效带宽还是远高于PCI总线。

PCIe总线也有其弱点,其中最突出的问题是传送延时。

PCIe链路使用串行方式进行数据传送,然而在芯片内部,数据总线仍然是并行的,因此PCIe链路接口需要进行串并转换,这种串并转换将产生较大的延时。

除此之外PCIe总线的数据报文需要经过事务层、数据链路层和物理层,这些数据报文在穿越这些层次时,也将带来延时。

本书将在第8.4节详细讨论PCIe总线的延时与带宽之间的联系。

在基于PCIe总线的设备中,×1的PCIe链路最为常见,而×12的PCIe链路极少出现,×4和×8的PCIe设备也不多见。

Intel通常在ICH中集成了多个×1的PCIe链路用来连接低速外设,而在MCH中集成了一个×16的PCIe链路用于连接显卡控制器。

而PowerPC处理器通常能够支持×8、×4、×2和×1的PCIe链路。

PCIe总线物理链路间的数据传送使用基于时钟的同步传送机制,但是在物理链路上并没有时钟线,PCIe总线的接收端含有时钟恢复模块CDR(Clock Data Recovery),CDR将从接收报文中提取接收时钟,从而进行同步数据传递。

值得注意的是,在一个PCIe设备中除了需要从报文中提取时钟外,还使用了REFCLK+和REFCLK-信号对作为本地参考时钟,这个信号对的描述见下文。

4.1.2 PCIe总线使用的信号PCIe设备使用两种电源信号供电,分别是Vcc与V aux,其额定电压为3.3V。

其中Vcc为主电源,PCIe设备使用的主要逻辑模块均使用Vcc供电,而一些与电源管理相关的逻辑使用V aux供电。

在PCIe设备中,一些特殊的寄存器通常使用V aux供电,如Sticky Register,此时即使PCIe设备的Vcc被移除,这些与电源管理相关的逻辑状态和这些特殊寄存器的内容也不会发生改变。

在PCIe总线中,使用V aux的主要原因是为了降低功耗和缩短系统恢复时间。

因为V aux在多数情况下并不会被移除,因此当PCIe设备的Vcc恢复后,该设备不用重新恢复使用V aux 供电的逻辑,从而设备可以很快地恢复到正常工作状状态。

PCIe链路的最大宽度为×32,但是在实际应用中,×32的链路宽度极少使用。

在一个处理器系统中,一般提供×16的PCIe插槽,并使用PETp0~15、PETn0~15和PERp0~15、PERn0~15共64根信号线组成32对差分信号,其中16对PETxx信号用于发送链路,另外16对PERxx 信号用于接收链路。

除此之外PCIe总线还使用了下列辅助信号。

1 PERST#信号该信号为全局复位信号,由处理器系统提供,处理器系统需要为PCIe插槽和PCIe设备提供该复位信号。

PCIe设备使用该信号复位内部逻辑。

当该信号有效时,PCIe设备将进行复位操作。

PCIe总线定义了多种复位方式,其中Cold Reset和Warm Reset这两种复位方式的实现与该信号有关,详见第4.1.5节。

2 REFCLK+和REFCLK-信号在一个处理器系统中,可能含有许多PCIe设备,这些设备可以作为Add-In卡与PCIe插槽连接,也可以作为内置模块,与处理器系统提供的PCIe链路直接相连,而不需要经过PCIe 插槽。

PCIe设备与PCIe插槽都具有REFCLK+和REFCLK-信号,其中PCIe插槽使用这组信号与处理器系统同步。

在一个处理器系统中,通常采用专用逻辑向PCIe插槽提供REFCLK+和REFCLK-信号,如图4‑2所示。

其中100Mhz的时钟源由晶振提供,并经过一个“一推多”的差分时钟驱动器生成多个同相位的时钟源,与PCIe插槽一一对应连接。

PCIe插槽需要使用参考时钟,其频率范围为100MHz±300ppm。

处理器系统需要为每一个PCIe插槽、MCH、ICH和Switch提供参考时钟。

而且要求在一个处理器系统中,时钟驱动器产生的参考时钟信号到每一个PCIe插槽(MCH、ICH和Swith)的距离差在15英寸之内。

通常信号的传播速度接近光速,约为6英寸/ns,由此可见,不同PCIe插槽间REFCLK+和REFCLK-信号的传送延时差约为2.5ns。

当PCIe设备作为Add-In卡连接在PCIe插槽时,可以直接使用PCIe插槽提供的REFCLK+和REFCLK-信号,也可以使用独立的参考时钟,只要这个参考时钟在100MHz±300ppm范围内即可。

内置的PCIe设备与Add-In卡在处理REFCLK+和REFCLK-信号时使用的方法类似,但是PCIe设备可以使用独立的参考时钟,而不使用REFCLK+和REFCLK-信号。

在PCIe设备配置空间的Link Control Register中,含有一个“Common Clock Configuration”位。

当该位为1时,表示该设备与PCIe链路的对端设备使用“同相位”的参考时钟;如果为0,表示该设备与PCIe链路的对端设备使用的参考时钟是异步的。

在PCIe设备中,“Common Clock Configuration”位的缺省值为0,此时PCIe设备使用的参考时钟与对端设备没有任何联系,PCIe链路两端设备使用的参考时钟可以异步设置。

这个异步时钟设置方法对于使用PCIe链路进行远程连接时尤为重要。

在一个处理器系统中,如果使用PCIe链路进行机箱到机箱间的互连,因为参考时钟可以异步设置,机箱到机箱之间进行数据传送时仅需要差分信号线即可,而不需要参考时钟,从而极大降低了连接难度。

3 W AKE#信号当PCIe设备进入休眠状态,主电源已经停止供电时,PCIe设备使用该信号向处理器系统提交唤醒请求,使处理器系统重新为该PCIe设备提供主电源Vcc。

在PCIe总线中,WAKE#信号是可选的,因此使用WAKE#信号唤醒PCIe设备的机制也是可选的。

值得注意的是产生该信号的硬件逻辑必须使用辅助电源V aux供电。

WAKE#是一个Open Drain信号,一个处理器的所有PCIe设备可以将W AKE#信号进行线与后,统一发送给处理器系统的电源控制器。

当某个PCIe设备需要被唤醒时,该设备首先置WAKE#信号有效,然后在经过一段延时之后,处理器系统开始为该设备提供主电源Vcc,并使用PERST#信号对该设备进行复位操作。

此时W AKE#信号需要始终保持为低,当主电源Vcc上电完成之后,PERST#信号也将置为无效并结束复位,W AKE#信号也将随之置为无效,结束整个唤醒过程。

相关文档
最新文档