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设备。Legacy PCIe Endpoint可以使用一些在native PCIe Endpoint禁止使用的操作。native PCIe Endpoint则全部通过内存映射来操作,所以Native PCIe Endpoint也被称为Memory Mapped Devices(MMIO Device)

PCIe基础篇(一)、基础知识扫盲的更多相关文章

  1. iOS开发基础篇-Button基础

    一.简单介绍  UIButton 的功能:响应用户操作.显示文字.显示图片.调整内部图片和文字的位置. 二. UIButton 的状态  UIControlStateNormal :普通状态,为默认情 ...

  2. Extjs 基础篇—— Function基础

    这里主要是JS的基础知识,也是深入理解Ext的基础.1.参数可变长,注意跟Java还是有一点区别的.例: 1.function getUser(name,age){ 2.alert("nam ...

  3. 1.Ceph 基础篇 - 存储基础及架构介绍

    文章转载自:https://mp.weixin.qq.com/s?__biz=MzI1MDgwNzQ1MQ==&mid=2247485232&idx=1&sn=ff0e93b9 ...

  4. JavaSE基础篇—MySQL基础知识点

    MySQL MySQL是一种关系数据库管理系统,是一种开源软件.可搭配PHP和Apache可以有更好的性能,也可以工作在众多的平台上.Orcale是一个数据库创建多个用户,MySQL是一个用户创建多个 ...

  5. Python学习之路基础篇--08Python基础+ 文件的基本操作和 注册小作业

    1 文件的基本操作 #1. 打开文件的模式有(默认为文本模式): r ,只读模式[默认模式,文件必须存在,不存在则抛出异常] w,只写模式[不可读:不存在则创建:存在则清空内容] a, 只追加写模式[ ...

  6. python基础篇_002_基础数据类型

    Python基础数据类型 1.int # int 用于计算 num = 3 # int 与其他数据类型转换 int_to_str = str(num) # 数字加引号 print(int_to_str ...

  7. Python学习之路基础篇--02Python基础+小作业

    1 变量 变量就是将一些运算的中间结果暂存到内存中,以便后续代码调用.必须由数字,字母,下划线任意组合,且不能数字开头.不能是python中的关键字,如['and', 'as', 'assert', ...

  8. 学习笔记三:基础篇Linux基础

    Linux基础 直接选择排序>快速排序>基数排序>归并排序 >堆排序>Shell排序>冒泡排序=冒泡排序2 =直接插入排序 一.Linux磁盘分区表示 Linux中 ...

  9. Python学习之路基础篇--07Python基础+编码、集合 和 深浅Copy

    1 小数据池(节省内存) 只有数字和字符串中内存,储存在同一个内存地址中 数字的范围在-5~256中,字符串有以下两个特点:不能含有特殊字符,还有就s*20 不是同一个地址,而要*21就不是了 2 编 ...

  10. 【Unity|C#】基础篇(1)——基础入门

    [学习资料] <C#图解教程>(第2~12章):https://www.cnblogs.com/moonache/p/7687551.html 电子书下载:https://pan.baid ...

随机推荐

  1. JavaScript 练习

    搜索框 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...

  2. 手把手搭建K3cloud插件开发环境

    最近几天在配置K3cloud开发环境,发现不论是产品论坛还是百度出来的结果,都不够满意,很多大咖给提供的环境搭建手册都是那个云山雾罩的PPT 也就是这个open.kingdee.com/K3Cloud ...

  3. 【noip2016提高组day2T3】【愤怒的小鸟】状压dp转移时的集合包含

    (上不了p站我要死了,图来自百度,侵权度娘背锅) 调死我了... 标题就说明了,死在了集合包含上.因为这道题与其他的状压题不同,其他的题基本上都是要求集合不重合,而这道题完全是可以的. 废话不多说,先 ...

  4. android读取xml

    /*** 从config.xml中获取版本信息以及应用id* * @param urlPath* @return* @throws Exception*/public List getUpdateIn ...

  5. [CSP-S模拟测试]:小P的2048(模拟)

    题目描述 最近,小$P$迷上了一款叫做$2048$的游戏.这块游戏在一个$n\times n$的棋盘中进行,棋盘的每个格子中可能有一个形如$2^k(k\in N^*)$的数,也可能是空的.游戏规则介绍 ...

  6. 2.Vue子组件给父组件通信

    子组件给父组件通信 如果子组件想要改变数据呢?这在vue中是不允许的,因为vue只允许单向数据传递,这时候我们可以通过触发事件来通知父组件改变数据,从而达到改变子组件数据的目的 子组件: <te ...

  7. 记一次SQL Server delete语句的优化过程

    今天测试反应问题,性能测试环境一个脚本执行了3个小时没有出结果,期间其他dba已经建立了一些索引但是没有效果. 语句: DELETE T  from License T  WHERE exists ( ...

  8. 转:KVM使用NAT联网并为VM配置iptables端口转发,kvmiptables

    转载地址:https://www.ilanni.com/?p=7016 在前面的文章中,我们介绍KVM的虚拟机(以下简称VM)都是通过桥接方式进行联网的. 本篇文章我们来介绍KVM的VM通过NAT方式 ...

  9. Rtmp AAC基本格式(转)

    第一个audio data包:AAC sequence header 第二个audio data包:AAC raw AF表示的含义: 1)第一个字节af,a就是10代表的意思是AAC, Format ...

  10. Vue实现音乐播放器(六):jsonp的应用+抓取轮播图数据

    用jsonp来获取数据   通过封装方法来获取 在src文件夹下的api文件夹里面去封装一些获取相关部分组件的数据的方法 在api文件夹下的recommend.js中 配置一下公共参数 请求的真实的u ...