【PCIe】初识PCIe

在这里插入图片描述

🔥博客主页:[PannLZ]

😘欢迎关注:👍点赞🙌收藏✍️留言

文章目录

      • PCIe简介
      • PCIe速度


PCIe简介

计算机内部有很多电子元器件,他们之间会有数据沟通和传输的需求。如果A元件想给B元件传输数据,那他就需要建立通路。在电脑里这种不同交互数据的通路就被我们称为总线。无论什么线路,都是基于目前的物理准则之上的,总线也是有一定承载能力的,不可能做到所有的数据秒传。总线单位时间内传输的数据量我们称之为带宽

说了总线再简单说说协议,简单来说协议就是电脑内部的一种规矩,规定了两个设备通讯时如何识别对方,如何建立连接,使用的讯号类型,数据编码解码方式,数据传输的类型,数据传输的方式,物理层电压电流,保持和截止时间等等规定。两个设备只有协议一样或者相容才能够进行通讯。协议也可以说就是通讯双方提前约定好采用某种形式,以某种规格利用某种物体把数据传输出去,另一方在以同样的规则和流程去接受数据的约定制度。

**PCI-Express(peripheral component interconnect express),简称PCIE,**是一种高速串行计算机扩展总线标准,主要用于扩充计算机系统总线数据吞吐量以及提高设备通信速度。即是总线,也是协议。作为一种总线标准,PCIe定义了设备间的物理连接方式和电气特性。作为一种协议,PCIe定义了设备间数据传输的规则和格式12。PCIe协议包括物理层、数据链路层、事务层等多个层次,每个层次都有其特定的功能

PCIe速度

PCle 发展到现在,从 PCle 1.0、PCle 2.0,PCIe 3.0 -->PCIe 6.0 速度一代比一代快。如下表:

连接速度x 1x 2x 4x 8x 12x 16x 32
PCIe 1.0带宽/(GB/s)0.51246816
PCIe 2.0带宽/(GB/s)1248121632
PCIe 3.0带宽/(GB/s)~2~4~8~16~24~32~64

连接速度这一行的x1、x2、 x4等指PCIe连接的通道数(Lane)。就像高速公路有单车道、2 车道、4 车道一样(见图 8-1),PCIe 连接也可以有多个通道,只不过8车道及以上的公路不常见,而PCle最多可以有32个Lane。
两个设备之间的PCIe连接称为**Link**。

在这里插入图片描述

两个PCIe设备之间,有独立的发送和接受数据通道,数据可以往两个方向传输。

表中的带宽,如PCIe 3.0 x 1,带宽为2 GB/s,是指双向带宽,即读写带宽。如果单独指读或者写,带宽应减半。

表中带宽是如何计算的:

PCIe是串行总线,PCIe 1.0的线上位传输速率为2.5 Gb/s,物理层使用8/10编码,即8位的数据,实际在物理线路上是需要传输10位的,多余的2位用来校验。因此:

PCIe 1.0 ×1的带宽=(2.5 GB/s×2(双向通道))/10=0.5 GB/s

PCIe是从PCI发展过来的,PCIe中的“e”是express的简称,表示“快”。PCIe怎么能比PCI(或者PCI-X)快呢?那是因为PCIe在物理传输上跟PCI有着本质的区别:PCI使用并口传输数据,而PCIe使用串口传输数据。PCI并行总线单个时钟周期可以传输32 b或64 b数据,为什么比不了单个时钟周期传输1 b数据的串行总线呢?

在实际时钟频率比较低的情况下,并口因为可以同时传输若干比特位,速率确实比串口快。随着技术的发展,要求数据传输速率越来越快,要求时钟频率也越来越快,但是并行总线时钟频率不是想快就能快的。

在发送端,数据在某个时钟沿传出去,在接收端,数据在下个时钟沿接受。因此,要想使接收端能正确采集到数据,时钟 的周期必须大于数据传输的时间。受限于数据传 输时间(该时间随着数据线长度的增加而增加),时钟频率不能做得太高。另外,时钟信号 在线上传输的时候,也会存在相位偏移(Clock Skew), 影响接收端的数据采集。由于采用 并行传输,接收端必须等最慢的那个比特位数据到了以后才能锁住整个数据。

PCIe 使用串行总线进行数据传输就没有上述问题。它没有外部时钟信息,它的时钟信 息通过8/10编码或者128/130编码嵌在数据流中,接收端可以从数据流里面恢复时钟信息, 因此,它不受数据在线上传输时间的限制,导线多长、数据传输频率多快都没有问题。没有 外部时钟信息,自然就没有所谓的相位偏移问题。由于是串行传输,只有一位数据在传输, 所以也不存在信号偏移 (Signal Skew) 问题。但是,如果使用多条Lane 传输数据(串行中 又有并行),那么这个问题就又回来了,因为接收端同样要等最慢的那个Lane 上的数据到达 后才能处理整个数据。不过,PCle 自己能解决这个问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/519450.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录day15(2)栈与队列:滑动窗口最大值(leetcode239)

题目要求:给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。 思路:首先的想法就是暴力方法,遍历一遍…

【Python】新手入门(9):数值和序列

🐍【Python】新手入门(9):数值和序列 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&am…

分段线性化问题探析

目录 1 使用0-1变量将分段函数转换为线性约束 2 连续函数采用分段线性化示例 3 matlab程序测试 4 matlab测试结果说明 5 分段线性化应用 1 使用0-1变量将分段函数转换为线性约束 2 连续函数采用分段线性化示例 3 matlab程序测试 clc;clear all; gn10;tn1; x_pfsdpvar(1, t…

【开源物联网平台】使用MQTT.fx模拟设备接入FastBee物联网平台

​🌈 个人主页:帐篷Li 🔥 系列专栏:FastBee物联网开源项目 💪🏻 专注于简单,易用,可拓展,低成本商业化的AIOT物联网解决方案 目录 一、接入步骤 1.1 创建产品&#xff…

阿珊带你深入理解 async/await 函数

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

2024阿里云服务器ECS u1实例性能测评,CPU内存、网络和存储

阿里云服务器u1是通用算力型云服务器,CPU采用2.5 GHz主频的Intel(R) Xeon(R) Platinum处理器,通用算力型u1云服务器不适用于游戏和高频交易等需要极致性能的应用场景及对业务性能一致性有强诉求的应用场景(比如业务HA场景主备机需要性能一致)&#xff0c…

第十篇:复习maven

文章目录 一、什么是Maven1. 依赖管理2. 统一项目结构3. 项目构建4. 依赖的仓库 二、IDEA集成Maven1. Maven简单的安装和配置2. 配置Maven环境3. 创建Maven项目4. Maven坐标4. 导入Maven项目 三、依赖管理1. 依赖配置2. 依赖传递3. 依赖范围4. 生命周期 四、小结 一、什么是Mav…

(二十二)devops持续集成开发——jenkins服务代理Agent搭建

前言 在Jenkins 中,代理(Agent)是一种用于执行构建、部署和其他任务的计算节点。代理节点可以是物理机器、虚拟机或容器,它们负责接收 Jenkins 主控节点委派的任务并执行这些任务。通过使用代理节点,可以有效地分担Je…

Unity Samples和帧动画的问题

拖动序列帧图片和自己创建clip的帧率不同 我今天在创建帧动画的时候用了两种方式第一种是直接拖动序列帧图片到Hierachy,然后生成的第二种是这样我发现两者播放的动画速率不一样最后查了半天查不到原因。最后发现是Samples的原因,而且Unity把Samples这个…

数据结构 - 堆

这篇博客将介绍堆的概念以及堆的实现。 1. 堆的定义: 首先堆的元素按照是完全二叉树的顺序存储的。 且堆中的某个节点总是不大于或不小于其父节点的值。 根节点最大的堆叫做大堆,根节点最小的堆叫小堆。逻辑结构如下图所示: 大堆和小堆的…

【C语言】操作符详解,手把手教你,保姆级!!!

一,C语言中操作符分类 • 算术操作符: 、- 、* 、/ 、% • 移位操作符: > • 位操作符: & | ^ • 赋值操作符: 、 、 - 、 * 、 / 、% 、> 、& 、| 、^ • 单⽬操作符: !、、--、&、*、、-、~ 、sizeof、(类…

sudo command not found

文章目录 一句话Intro其他操作 一句话 sudo 某命令 改成 sudo -i 某命令 试试。 -i 会把当前用户的环境变量带过去,这样在sudo的时候,有更高的权限,有本用户的环境变量(下的程序命令)。 -i, --login run login shell as the target user; a …