[SSD科普之1] PCIE接口详解及应用模式
PCI-Express(peripheral component interconnect express)是一种高速串行计算机扩展总线标准,它原来的名称为“3GIO”,是由英特尔在2001年提出的,旨在替代旧的PCI,PCI-X和AGP总线标准。
一、PCI-E x1/x4/x8/x16插槽模式
PCI-E有 x1/x4/x8/x16等多种插槽模式,那么这些有什么区别呢?


1、PCI-E x16插槽全长89mm,有164根针脚,靠主板外侧端有一卡口,将16x分为前后两组,较短的插槽有22根针脚,主要用于供电,较长的插槽142根,主要用于数据传输,具有16通道所带来的高带宽。
PCI-E x16插槽,主要用于显卡以及RAID阵列卡等,这个插槽拥有优良的兼容性,可以向下兼容x1/x4/x8级别的设备。可以说是PCI-E x16插槽是PCI-E的万能插槽。
由于PCI-E x16插槽常用于显卡,与cpu处理器直接相通,在物理位置上直接靠近cpu,这样显卡与处理器之间的数据交换就可以减少延迟,让系统的性能可以得到充分的发挥。
2、PCI-E x8插槽全长56mm,有98根针脚,与PCI-E x16比较,主要是数据针脚减少至76根,短的供电针脚仍然是22针脚。
为了兼容性,PCI-E x8插槽通常加工成PCI-E x16插槽的形式,但数据针脚只有一半是有效的,也就是说实际带宽只有真正的PCI-E x16插槽的一半。可以观察主板布线,x8的后半段没有线路连接,甚至针脚也没有焊接。
实际上除了旗舰级的主板,能提供多条真正的PCI-E x16插槽外,主流级主板,只会提供一条真正的PCI-E x16插槽,就是最靠近cpu的那条。而第二条和第三条PCI-E x16插槽,则多数是PCI-E x8甚至是x4级别的。
3、PCI-E x4插槽的长度为39mm,同样是在PCI-E x16插槽的基础上,以减少数据针脚的方式实现,主要用于PCI-E SSD固态硬盘,或者是通过PCI-E转接卡安装的M.2 SSD固态硬盘。
PCI-E x4插槽通常由主板芯片扩展而来,不过随着cpu内部PCI-E通道数的增多,现在有部分高端主板可以开始提供直连cpu的PCI-E x4插槽,用于安装PCI-E SSD固态硬盘。
主板上为什么找不到PCI-E x4插槽?其实它是以M.2接口的形式出现的。
不过与PCI-E x8插槽一样,PCI-E x4插槽为了兼容性,现在多数也是做成PCI-E x16插槽的形式,或是扩展为M.2接口,用于安装M.2 SSD、M.2无线网卡或者其它M.2接口设备,其余扩展卡则留给PCI-E x1插槽负责。
4、PCI-E x1插槽的长度是最短的,仅有25mm,相比PCI-E x16插槽,其数据针脚是大幅度减少至14个。PCI-E x1插槽的带宽通常由主板芯片提供,主要用途是独立网卡、独立声卡、USB 3.0/3.1扩展卡等都会用到PCI-E x1插槽,甚至可以通过转接线给PCI-E x1插槽装上显卡,用来挖矿或者实现多屏输出。
X1是用来替代原来的PCI设备的。
注意:为了长、短插槽互相兼容(物理长度兼容、版本的兼容包括1.0、2.0、3.0互相兼容),短插槽自然可以插入长插槽中,但长的插到短的插槽中就不容易,一般X1还是保持原来的长度,而x4、x8、x16在实际的主板中,都统一长度到x16。只是速度不同而已。多余的脚是悬空的,没有用处。这样外形上就统一兼容了,仔细看一下针脚是否焊接了线路,一般主板上都标明了是PCI-E x多少。
二、PCIE版本及规范
截止到当前,PCIE已经发展到6.0版本,以下是PCIE不同版本对比:

三、PCIE中的RC、EP模式
RC:Root Complex,RC设备用于连接CPU/内存子系统 和 I/O设备;RC模式下,PCIE配置头中的类型值为1;RC模式下,支持配置和I/O事务
EP:EndPoint,EP设备通常表示一个串行或I/O设备;EP模式下,PCIE配置头中的类型值为0;EP模式下,PCIE控制器接收针对本地内存空间的读写操作
四、M.2硬盘与PCI-E硬盘的区别
SATA和M.2指的是固态硬盘的接口种类,除了这两种常见的种类,还有其他的接口,例如mSATA和PCIe。固态硬盘不同的接口也代表了它们不同的传输速度,接口为SATA和mSATA的传输速度一般都在500MB/S以下,而常见的M.2接口的固态传输速度最高可达7000MB/S左右。
目前PCIe接口的固态硬盘,以及大部分M.2接口的固态硬盘都使用PCIe标准,SATA使用的就是SATA总线标准。
SATA总线使用的通信协议是AHCI或ATA,传输速度都不算快。PCIe总线使用的通信协议一般都是NVMe,主流配置是PCIe 3.0×4搭配NVMe 1.4,传输速度能达到2000MB/S以上,说它是主流是因为这样性价比最高。
1、PCIE:
目前使用较多的是PCIe X4,市面上流通较多的是PCI-E 2.0版本和3.0版本,对应的X4带宽为16Gbps/32Gbps,折算成传输速率约为2GB/s和3.93GB/s,相比SATA接口,这已经是非常恐怖的速率了。
当然,另一方面,PCI-E接口的固态硬盘,其价格昂贵到令许多普通用户望而却步,无法承受。

2、M.2:
M.2原名为NGFF接口,标准名称为PCI Express M.2 Specification。它是为超极本(Ultrabook)量身定做的新一代接口标准,以取代原来基于mini PCIe改良而来的mSATA固态硬盘。无论是更小巧的规格尺寸还是更高的传输性能M.2都远胜于mSATA。随着SATA接口瓶颈不断凸显,越来越多的主板厂商也开始在自家产品线上预留M.2接口,主流的M.2接口有三种尺寸,分别是M.2 2242、2260、2280。
M.2接口可以同时支持SATA及PCI-E通道,后者更容易提高速度。这里需要注意的是,M.2的连接器有三种类型,被称为Socket 1、2、3,Socket1由于尺寸比较特殊,比较少用,重点是Socket 2和3。Socket 2支持SATA和PCI-E X2接口,Socket 3则只支持PCI-E X4接口。如果是走SATA通道,那么传输速率就和SATA 6Gbps一模一样,没有区别,如果是走PCI-E通道,才能享受到超过SATA的高速。
下图就是Socket 2和3的外观区别,这里面引入B key和M key这两个概念:
接口连带B key一起使用,走SATA或PCI-E x2通道,就是Socket 2接口;
接口连带M key一起使用,走PCI-E x4通道,就是Socket 3接口。

五、PCIE硬件设计注意事项
PCIe2.0 设计中请注意:
1、Slot 设计时,外围电路及电源需要满足 Spec 要求;
2、PCIe2.0接口的TXP/N差分信号上串接的100nF交流耦合电容,AC耦合电容建议使用0201封装,更低的 ESR 和 ESL,也可减少线路上的阻抗变化;
PCIe3.0 设计中请注意:
1、Slot 设计时,外围电路及电源需要满足 Spec 要求;
2、PCIe3.0 接口的 TX0P/N,TX1P/N 差分信号上串接的 220nF 交流耦合电容,AC 耦合电容建议使用 0201 封装,更低的 ESR 和 ESL,也可减少线路上的阻抗变化。
————————————————
版权声明:本文为CSDN博主「流年過客」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_37659014/article/details/124588126
相关文章:

[SSD科普之1] PCIE接口详解及应用模式
PCI-Express(peripheral component interconnect express)是一种高速串行计算机扩展总线标准,它原来的名称为“3GIO”,是由英特尔在2001年提出的,旨在替代旧的PCI,PCI-X和AGP总线标准。一、PCI-E x1/x4/x8/x16插槽模式PCI-E有 x1/…...

Linux设备驱动模型与 sysfs实现分析
RTOS和Linux系统上开发驱动的方式非常的不同,在RTOS系统下,驱动和驱动之间并没有实质性的联系,不同的驱动和BSP之间仅仅通过一层很薄很薄的设备管理框架聚合在一起构成RTOS的设备管理子系统。图形化表示如下: 设备驱动&BSP之间互相独立,互不影响,互不依赖,独立实现,…...
软考高级之制定备考计划
制定备考计划 高项准备时间最好是三个月以上,分为三个阶段来复习。 第一个阶段——熟悉知识点 第二个阶段——刷题 第三个阶段——冲刺复习 具体操作 第一个阶段 这个阶段的复习以教材和视频为主,掌握重要知识点。基础知识要打牢。例如࿱…...

[Pytorch] Linear层输出nan
参考链接: https://discuss.pytorch.org/t/well-formed-input-into-a-simple-linear-layer-output-nan/74720/11 总结原因: numpy需要更新 PS. 查看numpy版本号 打开Anaconda Prompt 进入环境 输入命令conda activate envname 然后输入pip show numpy…...
2023-2-19-What is ‘ template<typename E, E V> ‘?
目录C里面template怎么用inline函数模板类模板函数模板特化C里面template怎么用 template是什么? template其实是C的一种语法糖,本意是去简化程序员的工作. void swap(int *a,int *b){int temp *a;*a *b;*b temp; }比如在写一个交换函数的的时候,参数为两个in…...
华为OD机试题 - 字符串加密(JavaScript)
最近更新的博客 华为OD机试题 - 任务总执行时长(JavaScript) 华为OD机试题 - 开放日活动(JavaScript) 华为OD机试 - 最近的点 | 备考思路,刷题要点,答疑 【新解法】 华为OD机试题 - 最小步骤数(JavaScript) 华为OD机试题 - 任务混部(JavaScript) 华为OD机试题 - N 进…...

美团前端一面手写面试题
实现斐波那契数列 // 递归 function fn (n){if(n0) return 0if(n1) return 1return fn(n-2)fn(n-1) } // 优化 function fibonacci2(n) {const arr [1, 1, 2];const arrLen arr.length;if (n < arrLen) {return arr[n];}for (let i arrLen; i < n; i) {arr.push(arr[…...

2D图像处理:缺陷检测--仿照Halcon的Variation Model
文章目录 基于 C++&Opencv 的检测结果(Robust模式-MAD)一、Variation Model1.1 准备和训练模型方法1.2 比较模板方法1.3 过滤(保留符合缺陷特征的区域)二、参考基于 C++&Opencv 的检测结果(Robust模式-MAD) 一、Variation Model Halcon中的Variation Model主要是将待…...
JavaScript 注释
JavaScript 注释可用于提高代码的可读性。JavaScript 注释JavaScript 不会执行注释。我们可以添加注释来对 JavaScript 进行解释,或者提高代码的可读性。单行注释以 // 开头。本例用单行注释来解释代码:实例// 输出标题:document.getElementB…...
浅谈使用CDN加速的OSS
目录引出OSS对象存储服务CDNCDN加速OSS资源总结引出 之前,我在写项目的时候,因为项目中存在音视频的存储,然后我看圈子里面的人都是使用OSS对象存储来处理,然后我也跟风去使用了,然后在之后,我一个朋友问我…...
华为OD机试题 - 服务依赖(JavaScript)
最近更新的博客 华为OD机试题 - 任务总执行时长(JavaScript) 华为OD机试题 - 开放日活动(JavaScript) 华为OD机试 - 最近的点 | 备考思路,刷题要点,答疑 【新解法】 华为OD机试题 - 最小步骤数(JavaScript) 华为OD机试题 - 任务混部(JavaScript) 华为OD机试题 - N 进…...

整合K8s+SpringCloudK8s+SpringBoot+gRpc
本文使用K8s当做服务注册与发现、配置管理,使用gRpc用做服务间的远程通讯一、先准备K8s我在本地有个K8s单机二、准备service-providerpom<?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.…...

Django框架之模型视图--HttpResponse对象
HttpResponse对象 视图在接收请求并处理后,必须返回HttpResponse对象或子对象。HttpRequest对象由Django创建,HttpResponse对象由开发人员创建。 1 HttpResponse 可以使用django.http.HttpResponse来构造响应对象。 HttpResponse(content响应体, con…...

Linux下的Jenkins安装教程
当前环境 CentOS 7.8Java 11(注意当前jenkins支持的Java版本最低为Java11)FinalShell 3.9(操作环境) 安装Jenkins PS:不建议使用Docker安装Jenkins,因为使用Jenkins的时候一般会调用外部程序,…...

[软件工程导论(第六版)]第5章 总体设计(课后习题详解)
文章目录1. 为每种类型的模块耦合举一个具体例子。2. 为每种类型的模块内聚举一个具体例子。3. 用面向数据流的方法设计下列系统的软件结构。4. 美国某大学共有200名教师,校方与教师工会刚刚签订一项协议。按照协议,所有年工资超过$26000(含$…...

力扣62.不同路径
文章目录力扣62.不同路径题目描述方法1:暴力深搜(超时未通过)方法2:动态规划力扣62.不同路径 题目描述 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器…...

【验证码的识别】—— 图形验证码的识别
前言 (结尾有彩蛋欧) 目前,许多网站采取各种各样的措施来反爬虫,其中一个措施便是使用验证码。随着技术的发展,验证码的花样越来越多。验证码最初是几个数字组合的简单的图形验证码,后来加入了英文字母和混…...

RocketMQ云服务器和本地基础安装搭建及可视化控制台安装使用
一起学编程,让生活更随和! 如果你觉得是个同道中人,欢迎关注博主gzh:【随和的皮蛋桑】。 专注于Java基础、进阶、面试以及计算机基础知识分享🐳。偶尔认知思考、日常水文🐌。 目录一、RocketMQ 介绍1、Ro…...

JavaScript:简单理解防抖和节流,如何定义防抖和节流函数?
防抖 防抖函数,就是防止抖动,避免事件重复触发。比如监听输入框的输入,不应该在用户每输入一个字符就触发监听,而是在用户输入结束后再来监听。 流程为: 1、事件触发; 2、开启定时器; 3、当事…...

【opencv 系列】第3章 图像的8种变换
文章目录前言上代码1.1 复习读取和显示1.2 图像放大、缩小 cv2.resize()1.3 图像平移1.4 图像旋转1.5 图像仿射变换1.6 图像的裁剪1.7 位运算(AND, OR, XOR)1.8 图像的分离和融合1.9 颜色空间 color space前言 坦白说,这一章我认为是整个opencv系列最难的一张&…...

IDEA运行Tomcat出现乱码问题解决汇总
最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...

【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...

STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...