首页 > 其他分享 >PCIe学习笔记(一)-------1.2 PCIe总线简介

PCIe学习笔记(一)-------1.2 PCIe总线简介

时间:2024-08-29 14:29:40浏览次数:8  
标签:1.2 RC SW ------- PCIe PCI 链路 port

1,PCIe概览

PCIe是第三代外围设备总线,英文缩写为PCIe或者PCI Express。PCIe是点对点,全双工的差分传输信号总线。点对点互连表示链路上的电气负载有限,从而使发送和接收频率可扩展到更高。PCIe目前成熟的版本有GEN1,GEN2,GEN3,GEN4和GEN5,每一代相较上一代传输速率和传输带宽都有了很大幅度的提升。PCIe每个Function的配置空间从PCI的256B扩展到了4KB,但前64B(PCI Header)配置寄存器仍然是相同的。
差分信号对:PCIe采用差分对来串行传输数据。
D+和D-之间电压差为正表示1,D+和D-之间的电压差为负表示0。两者之间没有电压差意味着处于第三态---高阻态,这种状态称为链路的electrical-idle状态。
选择一个参考地后,差分信号两个电压的相对差值(D+ - D-)就是差模电压,两电压的绝对高度的平均值((D+ + D-) / 2)就是共模电压。PCIe差分信号峰峰值的电压范围是800mV~1200mV,共模电压可以为0V~3.6V之间的任何电压。也就是说,差分信号相交的地方(Vcm)不一定是绝对零。

链路:PCIe链路是两台设备之间的物理连接。

Lane:一条链路在每个方向上可以有x1,x2,x4,x8,x16或者x32个信号对,这些信号对称为lane。每个信号对分为TX和RX,因为是差分信号,所以每个信号对总共有四根信号,分别为TX+,TX-,RX+,RX-。

下图中PCI-XP表示PCIe。

2,PCIe带宽

PCIe GEN1在链路上的传输速率为2.5Gb/s。PCIe在GEN1和GEN2采用了8b/10b编码方式,也就是说链路上传输10b数据,实际传输的有效数据只有8b。对于GEN1 x1的PCIe链路,传输的有效带宽为:

2.5Gb/s * 2 * 8b/10b * B/8b = 0.5GB/s             2代表TX和RX

3,PCIe拓扑结构

PCIe主要的组件有RC(Root Complex),SW(Switch),EP(Endpoint)

RC可以和所有device进行通信,一个EP也可以和一个PCIe系统中的EP来通信(Peer-to-Peer)。协议规定SW需要支持Peer-to-Peer,但对于有多个port的RC并没有要求。也就是说下图中 PCIe4 和 PCIe5 可以进行数据通信,但 PCIe4 和 PCIe6 就不一定能进行数据传输。

RC是指连接CPU和存储器子系统以及PCIe结构的设备,可以支持一个或多个PCIe Port,下图中RC支持3个PCIe Port,每个Port连接EP或者SW,SW形成一个子层,又可以挂接其他PCIe设备。

RC上的port可以进行数据交互,但协议并没有规定必须支持。

SW是PCIe链路转接设备,拥有一个upstream prot和多个downstream port。可以将SW当作多个PCIe桥组成的设备。

EP是PCIe链路的末端,有两种类型:Legacy Endpoint 和 PCIe Endpoint。传统EP支持IO事务,而且还需要能接收锁定事务。而PCIe EP不必支持IO事务和接收锁定事务,但必须支持MSI中断。

 upstream port:在一个PCIe 设备上靠近RC方向的port。

downstream port:在一个PCIe 设别上远离RC方向的port。

Ingress port(入端口):接收数据包的端口。

Egress port(出端口):发送数据包的端口。

在一个PCIe系统中,upstream port 和 downstream port是固定的,但是Ingress port 和 Egress port 是不固定的,和数据包的传输方向相关。例如:图中RC发起 MWr 事务到PCI-XP 4,那么SW上的upstream就是Ingress port,downstream就是Egress port。而当PCI-XP4发起 MWr到 RC时,那么SW的downstream就是 Ingress port,upstream就是 Egress port。

4,PCIe Transaction

事务:Transaction指 requester 和 completer 之间完成一次信息传送时所需要完成的一系列或多个数据包传送的过程。

PCIe支持的事务类型与PCI、PCI-X支持的事务类型相同,包括存储器读和存储器写,IO读和IO写,配置读和配置写,此外还增加了一种新事务:消息(message)。

4.1,PCIe 事务的分类

PCIe事务可以分为Non-Posted 和 Posted。

Non-Posted指 requester 发送TLP请求包给completer时,completer需要返回一个TLP完成数据包给requester。

Posted指requester 发送TLP请求事务包给 completer时,completer不需要回复TLP完成数据包给requester。

 

 

标签:1.2,RC,SW,-------,PCIe,PCI,链路,port
From: https://www.cnblogs.com/YINBin/p/18386583

相关文章

  • Android开发 - “序列化”与“反序列化”解析
    简介序列化和反序列化是计算机科学中两个非常常用的概念。简单来说,它们是将数据转换成不同形式的过程序列化(Serialization)序列化是将对象(比如一个Java对象或一个Python字典)转换成一种可以保存或传输的格式的过程。这种格式通常是字节流或字符串。通过序列化,你可以将一个......
  • 1-0.AI工具
    AI工具1.你知道或使用过哪些AI大模型平台?chatgpt文心一言讯飞星火天工AIKimi元宝2.如果有AI大模型平台助力学习的经历,举例说明AI如何提升你的学习效率的?写作辅导:有时在写作时缺乏思路,AI平台可以为我们提供写作框架,可以起到扩展思路的作用。同时,AI可以帮助修改错误和......
  • inventor软件下载-Autodesk Inventor各版本下载-inventor2023
    Inventor是Autodesk公司推出的三维机械CAD软件,用于机械产品的数字原型设计和仿真模拟。Inventor的主要功能包括:-三维机械建模-包含丰富的机械设计工具,可以快速设计机械产品。-大组装设计-支持大规模机械系统的组装设计。-机械动画仿真-可以进行运动学和动力......
  • 【xilinx】米联客 2022 版 ZYNQ SOC SDK 入门篇学习04PS-XADC 实验
    1.了解内置XADC4.3内置XADC介绍4:XADC外部采集接口1:共模输入ADC的模拟输入使用差分采样方案来降低共模噪声信号的影响。下图显示了差分采样方案的优势,电源的噪声和地上的噪声相互抵消,从而提高采样精度。当采集外部模拟输入信号的时候,只需要把外部模拟信号接入到VP......
  • nginx-lua 使用 jwt 验证
    参考因为不涉及到数据库和其它资源的依赖,jwt本身也是无状态的。因此鉴权服务没有再基于Java或者其它语言来做。而是使用lua脚本对nginx做了一个增强:使用lua脚本来校验token是否有效,无效直接返回401,有效则原样转发。方案实现过程中主要参考了基于OpenResty实现JWT验证,只是遇......
  • WEB渗透Win提权篇-提权工具合集
      提权工具合集包(免费分享): 夸克网盘分享 往期文章WEB渗透Win提权篇-提权工具合集-CSDN博客WEB渗透Win提权篇-RDP&Firewall-CSDN博客WEB渗透Win提权篇-MSSQL-CSDN博客WEB渗透Win提权篇-MYSQL-udf-CSDN博客WEB渗透Win提权篇-AccountSpoofing-CSDN博客WEB渗透Win提权篇......
  • gyp GET https://nodejs.org/download/release/v20.15.0/node-v20.15.0-headers.tar.g
    如图我执行yarn关于node会报错:gyphttpGEThttps://nodejs.org/download/release/v20.15.0/node-v20.15.0-headers.tar.gzgyphttpfetchGEThttps://nodejs.org/download/release/v20.15.0/node-v20.15.0-headers.tar.gzattempt1failedwithETIMEDOUTgypWARNins......
  • 图论-基础概念与问题(2)
    我们将展示一些(多少有点难度的)图论问题。计数类例1设\(n\)是正整数,\(G\)有\(12n\)个顶点,每个顶点的度数都是\(3n+6\),且任何两个顶点的公共邻点数相同,求\(n\)的值。对这类计数类问题,常见的做法是进行算两次。对于公共邻点,常见的统计对象是三元组\((u,v,w)\),其中\(......
  • 0828-T4 聪聪与可可
    0828-T4聪聪与可可题意猫抓老鼠。猫每次会走到四周距离老鼠最近的点。若没抓到老鼠还会再走一次。老鼠每次会等概率向四周走一步,求猫抓到老鼠的期望时间。思路与处理出\(nxt_{i,j}\)表示猫在\(i\)老鼠在\(j\),猫下一步走到哪里。\(f_{i,j}\)表示猫在\(i\)老鼠在\(......
  • JavaScript高阶 day-04
    目录一.严格模式1.1什么是严格模式1.2开启严格模式1.3严格模式中的变化二.高阶函数三.闭包3.1变量的作用域3.2什么是闭包3.3闭包的作用3.4闭包的案例四.递归4.1什么是递归4.2利用递归求1~n的阶乘五.赋值(地址传递)-浅拷贝-深拷贝5.1地址传递5.2Object.......