【PCIE-4】---PCIE中部分概念或问题总结(很基础很重要)
前面三小节,介绍了PCIE的基本知识和概念,以及扫描流程。在不求甚解的情况下,我想各位小伙伴应该对PCIE有了个宏观的认识,OK,那么本章我们在之前的基础上,再单独把一些概念和更深层次的问题摘出来具体讨论。
首先依旧是国际惯例,先列问题:
1. PCIE的各个模块中,经常提到Bridge/Host Bridge,Root Complex, Root port以及一些其他常用的部件概念要怎么理解?
2. PCI总线模型和PCIE是点对点模型,要怎么理解?
3. EndPint是否可以直接访问另外一个EndPoint
1. Bridge/Host Bridge,Root Complex, Root port这些要怎么理解(以下解释来源于PCIE Spec)
Host bridge的概念:Root Complex中用来链接一个主CPU或多个CPU和一个层次结构的一个部分。英文原意如下:

Port 的概念:
1.逻辑上: 位于部件和一个PCIE链路之间的接口。 2. 物理上: 位于同一个芯片上用来定义一个链路的一组发射器和接收器。 原意如下:

Add Receiver&Reveiver Port

Root Port的概念:一个位于Root Complex上通过相关联的虚拟PCI-PCI Bridge映射一个层次结构整体部分的的PCIE Port,

Root Complex的概念: 一个的系统元素,包含一个Host Bridge, 0个或多个集成EndPoints的Root Complex, 0个或多个Root Complex时间收集器,0个或多个Root Ports

Add Root complex Componen

Switch的概念:一个定义好的用来连接两个或多个Ports且允许数据包在不同Ports之间被路由转发的一个系统元素。通过配置软件,一个switch也被配置为一组虚拟PCI-to-PCI Bridges的集合

Link的概念:两个Ports和他们之间所连接Lanes的集合。一个Link是一个双工通信通道在两个部件之间。

Lane的概念:一组不同的信号对,一对用来传送,一堆用来接收。由于PCIE使用差分信号传输,一条lane四条线,两条线组成一对,供发送。另外两条接收!

2. PCI总线模型和PCIE是点对点模型,要怎么理解?
PCI总线模型: 在传统的PCI总线模型中,一个设备通过在Bus上判断DEVSEL(设备选择)来认领一个请求。如果在一段时钟周期后没有设备认领一个请求,这个请求就被放弃。
PCIE点对点模型:PCI是一种点对点的传输模型,不像PCI总线那样,在总线上有平等认领请求的机制。所有的传送总是由一个Device发给Link上的另外一个Device。所以,对于所有接收方来说,接收方将会直接判断这个请请求是否要被认领。
3. EndPint是否可以直接访问另外一个EndPoint
在PCIE这种点对点的模型中,设备之间之间的互联访问是可以的。
情况一:不需要CPU参与
最典型的应用就是在一个带有DMA功能的Switch下,挂载两个EP,CPU需要首先配置DMA控制器,包括设置一些源地址,目标地址,传输数据以及数据量。然后每个设备发起DMA传输的时候,会直接透过Switch中的DMA控制器,发数据到另外一个设备,这个过程不需要CPU干预
情况二:CPU参与
这个过程就相对来说简单了,CPU从一个PCIE设备中读取出要发送的数据,然后直接发送给指定的目的PCIE设备节点即可。
【PCIE-4】---PCIE中部分概念或问题总结(很基础很重要)的更多相关文章
- PCIE 3.0中使用的动态均衡概念
一.PCIE 3.0中使用的动态均衡概念 因为PCIE 3.0信号的速率可以达到8Gb/s,而且链路通道走线也可能会很长,这可能会导致高速信号衰减过大,在接收端无法得到张开的眼图.因此在PCIE 3. ...
- Kanzi Studio中的概念
Kanzi Studio是Kanzi的UI编辑器,功能非常强大.在使用Kanzi Stadio之前,首先要先熟悉编辑器中的概念. Kanzi Studio中主要分project窗格,property窗 ...
- clearcase 中一些概念和操作
clearcase 中一些概念和操作 视图 常用命令 ClearCase 安装和使用的一些FAQ 参考 ClearCase具体的说是做配置管理的工具,只是SCM管理工具其中的一种.是RATIONAL公 ...
- maya 2014帮助手册中 三维概念讲解
maya 2014 帮助手册中 三维概念讲解 多边形简介 三个或更多的边, 顶点 边 面 组成 经常使用三边形或四边形来建模 n边形不常用 单个多边形称为面 多个面连接到 ...
- Solr中的概念:分析器(analyzer)、字符过滤器(character filter)、分词器(Tokenizer)、词元过滤器(Token Filter)、 词干化(Stemming)
文本中包含许多文本处理步骤,比如:分词,大写转小写,词干化,同义词转化和许多的文本处理. 文本分析既用于索引时对一文本域的处理,也用于查询时查询字符串的文本处理.文本处理对搜索引擎的搜索结果有着重要的 ...
- 【COCOS2DX-LUA 脚本开发之一】在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途!
[COCOS2DX-LUA 脚本开发之一]在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途! 分类: [Cocos2dx Lua 脚本开发 ] 2012-04-1 ...
- PCIE笔记--PCIe错误定义与分类
转载地址:http://blog.chinaaet.com/justlxy/p/5100057782 前面的文章提到过,PCI总线中定义两个边带信号(PERR#和SERR#)来处理总线错误.其中PER ...
- javascript中重要概念-闭包-深入理解
在上次的分享中javascript--函数参数与闭包--详解,对闭包的解释不够深入.本人经过一段时间的学习,对闭包的概念又有了新的理解.于是便把学习的过程整理成文章,一是为了加深自己闭包的理解,二是给 ...
- Android开发环境中的概念和工具介绍
最近学习Android开发,以前使用C/C++多一些,现在再补点Java知识,不管是哪种语言,都不过是一种工具而已,真的学起来,大同小异,无谓优劣.学习Android编程肯定是要先从环境搭建开始,无论 ...
随机推荐
- Python--day43--补充之主键和外键
主键只有一个,但是可以用两列不为空的值组成:
- C# 7.2 通过 in 和 readonly struct 减少方法值复制提高性能
在 C# 7.2 提供了一系列的方法用于方法参数传输的时候减少对结构体的复制从而可以高效使用内存同时提高性能 在开始阅读之前,希望读者对 C# 的值类型.引用类型有比较深刻的认知. 在 C# 中,如果 ...
- asp dotnet core 图片在浏览器没访问可能原因
我写了一个项目用来广告就用到广告的图片,但是广告的图片放在博客的链接无法访问,连我的方法都没有调用,而我尝试网页直接访问图片链接是可以访问的,最后找到原因是广告插件禁用了图片访问 我在一个方法创建了广 ...
- linux ioctl 接口
大部分驱动需要 -- 除了读写设备的能力 -- 通过设备驱动进行各种硬件控制的能力. 大 部分设备可进行超出简单的数据传输之外的操作; 用户空间必须常常能够请求, 例如, 设 备锁上它的门, 弹出它的 ...
- Git用在公司项目上的操作
修改代码后再次提交 搭档优化好他自己的代码后,我想在vscode上看看他优化后的结果 此时直接git pull origin就可以看到了 j接下来的一些指令,慢慢了解... 分支本身已经在我上面 以下 ...
- mysql(8.0.16)安装及使用注意事项
1.安装地址:https://dev.mysql.com/downloads/mysql/ 2.在安装路径:D:\mysql\mysql-8.0.16-winx64(安装时的路径,可自己选择)下面新建 ...
- Linux 内核块 urb
块 urb 被初始化非常象中断 urb. 做这个的函数是 usb_fill_bulk_urb, 它看来如此: void usb_fill_bulk_urb(struct urb *urb, struc ...
- 微信 HTML5 VIDEO 视频播放解决方案
原文链接:https://www.jianshu.com/p/e4573acf6564 webkit-playsinline && playsinline="true&quo ...
- #mysql查询特定数据库中的所有表名
#mysql查询特定数据库中的所有表名select table_namefrom information_schema.tableswhere table_schema='smbms' and tab ...
- Visual Studio 2017 安装心得
既然VS2017已经发布了,就想安装一下试试,先卸载VS2015, 网上有个完全卸载的东东,https://github.com/Microsoft/VisualStudioUninstaller/r ...