1、Switch基本结构

Switch结构图如图1-3所示,switch包含一个upstream port和若干个downstream port,upstream port和downstream port是通过virtual PCI-PCI bridge进行连接。

以下是PCIE 5.0原文描述:

• Switches appear to configuration software as two or more logical PCI-to-PCI Bridges.

• A Switch forwards transactions using PCI Bridge mechanisms; e.g., address-based routing except when engaged in a Multicast, as defined in Section 6.14 .

• Except as noted in this document, a Switch must forward all types of Transaction Layer Packets (TLPs) between any set of Ports.

• Locked Requests must be supported as specified in Section 6.5 . Switches are not required to support Downstream Ports as initiating Ports for Locked Requests.

• Each enabled Switch Port must comply with the Flow Control specification within this document.

• A Switch is not allowed to split a packet into smaller packets, e.g., a single packet with a 256-byte payload must not be divided into two packets of 128 bytes payload each.

• Arbitration between Ingress Ports (inbound Link) of a Switch may be implemented using round robin or weighted round robin when contention occurs on the same Virtual Channel. This is described in more detail later within the specification.

• Endpoints (represented by Type 00h Configuration Space headers) must not appear to configuration software on the Switch’s internal bus as peers of the virtual PCI-to-PCI Bridges representing the Switch Downstream Ports.

2、Switch中的downstream port数量与device number

以不支持ARI结构的switch作为案例讲解:

2.1 Single-function 类型的switch

常见设计中,Downstream Ports和upstream port都是Single-function ,即单个function。其中所有(数量不大于32)Downstream Ports公用一个总线号,如图1-3所示结果。不同的downstream port仅仅device number(8-bit)不一样,从0~31。

​​​​​​​2.1 Multifunction 类型的switch

当switch中downstream port数量超过32个时,Single-function 类型的switch的旧无法满足需求了。此时downstream port或者upstream port 都需要实现为Multifunction 的设备。

如图21-10 所示,仅仅downstream port实现为Multifunction,所有的downstream port依旧公用一组总线号,,每个function都拥有一个type1 类型的配置空间。

如图21-11 所示,upstream port和downstream port均实现为Multifunction,downstream port分别公用两组总线。

但是非non-ARI 的upstream port只能使用单个device(见PCIE 5.0协议 P680)

3、参考文献

MindShare_PCI_Express_System_Architecture P819 图21-10 和图21-11

PCI Express Base Specification Revision 5.0, Version 1.0  7.3.1 Device Number P680

With non-ARI Devices, PCI Express components are restricted to implementing a single Device Number on their primary interface (Upstream Port), but are permitted to implement up to eight independent Functions within that Device Number. Each internal Function is selected based on decoded address information that is provided as part of the address portion of Configuration Request packets.

PCIE知识点-008:PCIE switch的结构相关推荐

  1. 初学 PCIe System (一) - PCIe介绍及其配置空间

    第二部分在:初学 PCIe System (二) - 如何访问PCIe设备的配置空间 PCI Express 介绍 PCI Express (PCIe) 属于第三代的高效能 I/O 汇流排,PCIe ...

  2. AGP与PCI-E的区别 PCI-E接口与PCI接口的区别

    AGP(Accelerate Graphical Port)加速图形接口 PCI-E是PCI Express的简称,是用来代替PCI.AGP接口规范的一种新标准,由PCI或AGP的并行数据传输变为串行 ...

  3. if...else if switch分支结构

    switch分支结构 一.程序运行流程的分类 1.顺序结构:根据程序顺序依次执行. 2.分支结构:根据判断决定程序的执行顺序. 3.循环结构. 分支结构三要素:(1)必须有一个明确的判断语句. (2) ...

  4. switch分支结构

    switch分支结构

  5. java switch和if_对比Java中if和switch选择结构二者的区别

    理博软件实训部的小伙伴遇到这么一个问题就是,也会用if结构,也会用switch结构,但是二者有什么区别呢,我相信学Java的小伙伴也会遇到这种困扰,所以特地作一下对比. switch选择结构和多重if ...

  6. java switch嵌套if_(新手)Java课程作业,请各位老哥指教:综合运用嵌套if选择结构、switch选择结构、多重if选择结构实现商品换购功能...

    综合运用嵌套if选择结构.switch选择结构.多重if选择结构实现商品换购功能 下面是我自己的代码,功能虽然基本满足,但是感觉好臃肿,很不简洁,有更好的方法吗?import java.util.Sc ...

  7. 试炼四:switch选择结构

    目录 1.使用switch选择结构实现判断某年某月某日是这一年的第几天? 2.使用switch选择结构判断一个月份属于一年中的那个季节.(春夏秋冬) 1.使用switch选择结构实现判断某年某月某日是 ...

  8. 8、JAVA入门——switch选择结构

    目录 1.定义 2.语法 3.执行规律 4. switch与多重if异同点 1.定义 switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支. 2.语法 switch ...

  9. 新品推介:乐扩PCI-E转NGFF(PCIe)SSD+SATA转NGFF(SATA)转接卡

    提到对台式机的性能升级,多数人的想法是换个更快的处理器,加大内存容量,买个更高级的显卡.而实际上,对于一台性能不是很差的电脑来说,最直观有效的性能升级是为它配备固态硬盘.乐扩PCIe转 NGFF(PC ...

最新文章

  1. 成功解决 cl: 命令行 error D8021 :无效的数值参数“/Wno-cpp” 和 cl: 命令行 error D8021 :无效的数值参数“/Wno-unused-function”
  2. 【PAT乙级】1044 火星数字 (20 分)
  3. C语言 | 编程实现6
  4. 详解设计模式之工厂模式(简单工厂+工厂方法+抽象工厂) v阅读目录
  5. 两者结合在一起看SphereFace
  6. SAP License:SAP常用操作
  7. html中ng-src,angular项目中,ie中iframe动态的ng-src,如果是路由的地址(带有#的url),页面不显示,googel却正常...
  8. 减小Gcc编译程序的体积
  9. boost::asio async_write也不能保证一次发完所有数据 二
  10. bzoj 2743spoj DQUERY - D-query
  11. 排序算法专题-堆排序
  12. C++学习之 delete 构造器
  13. QGIS教程—缓冲区buffer
  14. 速读-对抗攻击的弹性异构DNN加速器体系结构
  15. Bilibili缓存视频在电脑端直接打开方式
  16. 最好的年终奖,是你拥有随时跳槽的能力
  17. MODERN ROBOTICS MECHANICS, PLANNING, AND CONTROL
  18. Coloring Contention
  19. windows 定时任务:schtasks,定时关闭网易云音乐
  20. 讲一个玩 HASS 一年的故事

热门文章

  1. make make install的意思
  2. 杨元庆获颁2014爱迪生奖 美媒:联想立异里程碑
  3. 里程碑4刷Android和Linux双系统教程——win10系统win7虚拟机环境
  4. bzoj4316: 小C的独立集(仙人掌+树形dp)
  5. 车牌号正则。国家标准:GA 36-2018。
  6. 今天早上进入你的空间突然发现咱们以前的东西都不见了,点开你的情侣空间........
  7. 基于Java+SpringBoot+Vue大创管理系统设计和实现
  8. python使用Cookie登录网页爬取信息(超简单)
  9. VS code 自动报错提示
  10. 神雕侠侣服务器维修时间,《神雕侠侣》2020年6月25日更新维护新服开启公告