PCI、PCI-X、PCI-E、PCI-E Card、Mini PCI-E、M.2、Add-in Card 这些概念你搞清楚了吗

news2024/11/20 6:27:42

搞硬件或通信的“攻城狮”们,免不了要和各种通信协议及接口打交道。比如,我们经常接触PCI、PCI-X、PCI-E、PCI-E Card、Mini PCI-E、M.2(NGFF)、Add-in Card这些概念,作为“攻城狮”队伍中的一员,你搞清楚它们之间的关系了吗?搞不清楚?It Doesn't Matter,且看下文分解。

PCI

西汉·贾谊之《过秦论》曰:“及至始皇,奋六世之余烈,振长策而御宇内,吞二周而亡诸侯,履至尊而制六合,执敲扑而鞭笞天下,威振四海。”

经历了ISA、MCA、EISA和VLB先祖们在通信协议领域“四世”之“奋”以后,Intel于1991年提出了PCI(Peripheral Component Interconnect)“外围组件互连”总线协议;且召集些许伙伴,成立PCI-SIG(PCI Special Interest Group)“PCI特别兴趣小组”,负责该标准的制定和推广工作,从此在电子和通信领域“威振四海”。

PCI属于并行的共享总线,时钟为33MHz,位宽为32bit,所以其最大数据传输速率仅为33MHz * 32bit = 1056Mb/s = 132MB/s,基本上满足了当时处理器的发展需要。随着对更高性能的要求,将总线的时钟频率提升到66MHz,意味着通信速率翻倍,达到264MB/s,可以为当时的声卡、网卡等设备提供数据通信,但对日益发展的显示技术或显卡来说,越来越吃力。

PCI-X

1993年,将位宽扩展到64bit,这就是PCI-X(PCI eXtended),“extended”就是“扩展”的意思。对的,就是这么简单粗暴。至于这里为何取“X”而不是首字母“E”,可能是因为“X”比较牛逼吧。“X”在数学中表示未知和无限;在社会界中还有“完美”“极致”等含义,比如“宝马X5”和“宝马X6”,硅谷钢铁侠埃隆·马斯克的“SpaceX(Space Exploration Technologies Corp)”,高通的“X24 Chipsets”和“X55 Chipsets”(这里的X55套片,正是移远5G模组RM500Q/RM510Q/RG500Q所用),Intel ATOM X系列处理器,Thinkpad X系列轻薄高端笔电,等等。

同时,PCI-X支持三种不同的时钟频率,即33MHz、100MHz和133MHz(意味着其最高速率可达133MHz * 64bit/8 = 1GB/s),可根据后端设备的不同而调整。PCI-X 的产品应用主要是服务器。

PCI和PCI-X都属于并行的共享总线,且是单端信号(Single-end Signal);类似于I2C总线,想要使用,先要申请,再由主机仲裁。因为是分时复用,共享总线会限制数据传输速率,且单端信号更容易受干扰,这就引出了后面速率更快的PCI-E总线协议规范。

PCI-E

PCI-E总线,也可简写成“PCIe”,其中的“E”是“Express”的简写,意思就是“特别快”。对的,又是这么简单粗暴。你且看一大堆快递品牌的Logo中也有“Express”这个词,都标榜自己很快。

不同于PCI和PCI-X的并行共享总线属性,PCI-E属于串行独立总线,且是差分信号(Differential Signal),抗干扰能力更强,也意味着传输速率可以更高。数据支持x1、x4、x8、x16和x32几种位宽(也称为lane的概念,每lane包含输入和输出两对差分线,分别对应为1 lane、4 lane、8 lane、16 lane和32 lane)。

如下图所示,Root Complex(RC)为PCI-E通信中的根设备(相当于总线控制器),其上可以挂多个端点设备Endpoint(EP),二者之间是点对点通信;且PCI-E总线支持用PCI-E Packet Switch IC来扩展EP设备的数量。

如前所述,PCI和PCI-X采用单端信号通信,PCI-E采用差分信号通信,二者信号是不可以直接相连的。但是,新技术往往需要兼容老技术,以便各类产品可以平滑升级。此时,可以使用PCI-E to PCI / PCI-X Bridge IC桥接PCI-E设备和PCI / PCI-X设备。

PCI-E Card

PCI-E Card是规范“PCI Express Card Electromechanical Specification”的简称;通常,也将满足该规范的模组产品称为PCI-E Card,比如台式机上的内存条、声卡、显卡和网卡等模组产品。

PCI-E Card规范的电源输入为+12V和+3.3V两个,系统板Slot上能够提供的功率高达75W (12V, 6.25A),其上协议类型只支持PCI-E协议。

PCI-E规范或PCI-E Card规范,主要用于台式机上的内存条、声卡、显卡和网卡等较大型的设备,可以认为其上只有PCI-E信号,主电源输入为+12V。随着移动通信的发展,移动终端需要的元器件和模组的尺寸也越来越小。PCI-E总线也与时俱进,推出了Mini PCI-E规范。

Mini PCI-E

Mini PCI-E是规范“PCI Express Mini Card Electromechanical Specification”的简称,针对移动通信终端的需求,在对Add-in Card尺寸进行小型化的基础上,同时扩展加入了UIM Interface、W_DISABLE# 和 LED_WPAN# / LED_WLAN# / LED_WWAN# 指示信号;其电源输入为+3.3V和+1.5V。

M.2 (NGFF)

如前所述,PCI、PCI-X和PCI-E,这些都属于总线协议,是协议层的概念,规范了数据传输格式及速率等内容。而M.2属于物理层接口规范,是为了供应链上不同厂家的产品可以相互兼容;它的曾用名“NGFF(Next Generation Form Factor)”更能体现M.2的特质,但是,既然标准都用“PCI Express M.2 Specification”这样的名字了,大家还是要与时俱进,所以通常也简称为“M.2规范”。

“PCI Express M.2 Specification”对“M.2”的定义为“The M.2 form factor is used for Mobile Add-In cards. The M.2 is a natural transition from the Mini Card and Half-Mini Card to a smaller form factor in both size and volume.”。

它主要规范了M.2支持的协议类型、M.2模组的接口形式、M.2模组的尺寸大小。

M.2规范支持的协议类型有PCI-E、HSIC、SSIC、USB、SDIO、UART、PCM/I2S、I2C、SATA、Display Port,以及WiFi、BT和NFC等,其中比较常用的是PCI-E、USB和UART。

M.2规范定义的接口形式有两种,即连接器形式(Connectorized)和贴片形式(Soldered-down)。

M.2规范定义的连接器形式的模组尺寸有1630/2230/3030/3042/22110等多种,如Quectel EM12模组的物理尺寸类型名为“Type 3042-S3-B”,其中“3042”表示模组尺寸为30mm*42mm,“S3”表示模组为单面摆件(Single)且高度限制在1.5mm以内,“B”表示缺口编号;具体可参考“PCI Express M.2 Specification”中的“Figure 3. M.2 Naming Nomenclature”。贴片形式的M.2模组只有1216/2226/3026三种LGA封装尺寸;可参考规范中的“2.3.5 Soldered-down Form Factors”。针对SSD(Solid State Drive)应用,也规定了1620/2024/2228/2828四种BGA封装尺寸,但由于各种原因,较少应用;可参考“2.3.6 Soldered-down Form Factors for BGA SSDs”。

综上,可以认为M.2规范是PCI-E规范大集合中的子集,主要为PCI-E服务,但又不完全只服务于PCI-E,基于其他很多总线协议的模组也可以使用M.2规范的物理接口形式。

Add-in Card

M.2规范中对“Add-in Card”的定义为“A card or module that is plugged into a connector and mounted in a chassis socket.”可见“Add-in Card”的概念基本等同于“Module”,在PCI-E Card规范中可称为“PCI-E Card Add-in Card”,在Mini PCIe规范中称为“PCIe Mini Card Add-in Card”,在M.2规范中称为“PCIe M.2 Card Add-in Card”。因此,在广义上,基于PCI-E协议的模组类产品,都可称之为“Add-in Card”。

比如早已远播大名的鼎鼎(哦,不,人家不叫“鼎鼎”,而是叫“RM500Q”),从这方面说,也可以叫做Add-in Card,是一种基于PCIe总线协议、M.2物理接口的Add-in Card或Module。

总结

我们这次对“PCI、PCI-X、PCI-E、Mini PCI-E、M.2、Add-in Card”这些概念进行了简介,为了更简单地区分它们,将它们的基本特点总结如下:

PCI:单端信号,并行共享总线,时钟33MHz或66MHz,最大支持32 lane;电源输入为+12V。

PCI-X:单端信号,并行共享总线,时钟33MHz、100MHz或133MHz,最大支持64 lane;电源输入为+12V。

PCI-E:差分信号,串行独立总线,规范3.0的时钟频率高达4GHz,最大支持32 lane;电源输入为+12V;用于声卡、网卡和显卡等。

PCI-E Card:基于PCI-E总线协议和物理接口的模组规范。

Mini PCI-E:差分信号,串行独立总线,在PCI-E的基础上,为满足移动通信终端的需求而将尺寸小型化,并扩展了UIM Interface、W_DISABLE# 和 LED_WPAN# / LED_WLAN# / LED_WWAN# 指示信号;其电源输入为+3.3V和+1.5V,金手指共52个引脚;用于笔记本电脑等移动终端。

M.2:从Mini PCI-E演化而来,物理接口规范,扩展应用范围支持USB和UART等总线协议;电源输入为+3.3V,金手指共75个引脚。

Add-in Card:广义上,PCI-E Card、Mini PCI-E Card和PCI-E M.2 Card,都属于Add-in Card的概念,都算是Add-in Card的子集。

注:图片来源于网络,如有侵权,联系删除。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux第一个小程序-进度条

目录 \r&&\n 行缓冲区概念 倒计时程序 进度条代码 \r&&\n 回车概念换行概念 \n[rootVM-12-17-centos lesson8]# touch test.c [rootVM-12-17-centos lesson8]# touoch Makefile bash: touoch: command not found [rootVM-12-17-centos lesson8]# touch Mak…

Python:每日一题之完全二叉树的权值

题目描述 给定一棵包含 N 个节点的完全二叉树,树上每个节点都有一个权值,按从 上到下、从左到右的顺序依次是 A1​,A2​,⋅⋅⋅AN​,如下图所示: 现在小张要把相同深度的节点的权值加在一起,他想知道哪个深度的节点 权…

【Linux操作系统】Linux进程状态和两个特殊进程

文章目录一.一套普适性的进程状态理论1.运行2.阻塞3.挂起二.一套具体的Linux进程状态1.R-运行2.S-睡眠3.T-暂停5.t-被追踪三.僵尸进程和孤儿进程1.僵尸进程2.孤儿进程一.一套普适性的进程状态理论 1.运行 由于CPU数量相对于进程数量来说少之又少,所以CPU维护了一个运行队列,方…

Synchronized底层原理系列之Synchronized的偏向锁实现原理

作者简介:专注于研究Linux内核、Hotspot虚拟机、汇编语言、JDK源码、各大中间件源码等等喜欢的话,可以三连关注~上篇文章已经对Synchronized关键字做了初步的介绍,从字节码层面介绍了Synchronized关键字,最终字节码层面就是monito…

【Linux】 iptables 入门简介

文章目录前言作用持久化和恢复执行的顺序前言 简单地说,iptables是Linux的防火墙程序。它将使用表监控进出服务器的流量。这些表包含称为链的规则集,这些规则将过滤传入和传出数据包。 作用 当数据包与规则匹配的时候,会为其指定一个目标&a…

基于幂等表思想的幂等实践

一、为什么需要幂等 分布式场景下,多个业务系统间实现强一致的协议是极其困难的。一个最简单和可实现的假设就是保证最终一致性,这要求服务端在处理一个重复的请求时需要给出相同的回应,同时不会对持久化数据产生副作用(即多次操…

【Linux】Linux下调试器gdb的使用

👑作者主页:安 度 因 🏠学习社区:StackFrame 📖专栏链接:Linux 文章目录一、前言二、铺垫三、指令集和使用1、指令集2、演示四、结语如果无聊的话,就来逛逛 我的博客栈 吧! 🌹 一、前…

通信原理与MATLAB(十三):AMI的编解码

目录1.AMI的的编解码原理1.1 AMI编码原理1.2 AMI解码原理2.AMI编解码的代码3.AMI编解码结果图4.AMI的误码率曲线4.1 原理4.2 AMI的误码率曲线代码4.3 误码率曲线图1.AMI的的编解码原理 1.1 AMI编码原理 如下图所示,AMI的编码原理:将原始码元的1转换成1,0转换成-1。…

快过年了,用Python康康哪一家足浴店可以带朋友去玩.....

人生苦短,我用Python 首先肯定是去正经足浴店, 毕竟一年出差也不少, 大家都很辛苦, 好不容易放假了, 约上好兄弟一起去放松放松~ 所需环境 python 3.8 解释器pycharm 编辑器 所需模块 requests 数据来源分析 …

Silane-PEG-NH2 氨基聚乙二醇硅烷 NH2-PEG-Silane结构式

英文名称:Silane-PEG-NH2 Silane-PEG-Amine 中文名称:硅烷-聚乙二醇-氨基 分子量:1k,2k,3.4k,5k,10k,20k。。。 存储条件:-20C,避光,避湿 用 途…

2022年度总结,迎接2023

目录 我和CSDN的2022 初次见面: 你我的成长: 博客: 比赛: 我和CSDN的2023 我和CSDN的2022 初次见面: CSDN你好啊!我跟你的初次见面在于2022年4月2日!!! 这这半年内…

【算法5.1】背包问题 - 01背包 (至多最大价值、至少最小价值)

目录 至少模板和至多模板的两大区别 1、至多模板 2、至少模板 2. 01背包 - 至多模板 - 体积至多j,总价值最大 1、朴素做法 - 二维dp 2、优化 - 一维dp 4700. 何以包邮? - 至少模板 - 价值至少j,总价值最小 至少模板和至多模板的两大区…

list容器与vector容器的区别

vector与list都是STL中非常重要的序列式容器,它们都存放在namespace std命名空间中,由于俩个容器的底层结构不同,导致其特性不同 一、底层实现结构不同 vector本质是一段动态连续的顺序表,而list底层是一个双向循环链表 二、访…

Ubuntu多硬盘luks全盘加密自动解锁(硬件变更后失效)的方法

简介大家都知道,Linux现在用Luks全盘加密一直有一个痛点,就是每次开机都需要输入解密硬盘的密码,之后又要输入用户密码,非常的麻烦!本文正是为了解决这个问题诞生的!本文多硬盘加密带来的效果是&#xff0c…

Redis持久化——RDB机制详解

在运行情况下,Redis 以数据结构的形式将数据维持在内存中,为了让这些数据在 Redis 重启之后仍然可用,需要将数据写入持久存储 持久化是指将数据写入持久存储,例如固态磁盘(SSD) Redis 提供了一系列持久化选项。这些包括&#xff1…

Java-黑马Java学习作业-day07综合练习

学习视频链接:黑马Java学习视频 文章目录练习一:飞机票练习二:打印素数练习三:验证码练习四:复制数组练习五:评委打分练习六:数字加密练习七:数字解密练习八:抽奖解法一:…

【C++11】—— 可变参数模板

目录 一、可变参数模板概念以及定义方式 二、参数包的展开 1. 递归函数方式展开参数包 2. 逗号表达式展开参数包 三、STL容器中的empalce相关接口函数 一、可变参数模板概念以及定义方式 在c11之前,类模板和函数模板只能含有固定数量的模板参数,c11…

JavaScript高级 ES5 面向对象原型继承

原型以及ES5中实现继承1. 对象和函数的原型1. 普通对象的原型 [[prototype]]2. 函数的原型 prototype2. new、constructor1. new 操作符2. constructor属性3. 将方法放到原型上4. 创建对象的内存表现5. 重写原型对象3. 原型链的查找顺序4. 原型链实现的继承5. 借用构造函数继承…

深入URP之Shader篇10: 深度值专题(1)

之前研究Unlit shader的时候就遇到一些Z值相关的问题,一笔带过了,比如ComputeFogFactor中的UNITY_Z_0_FAR_FROM_CLIPSPACE。今天就把URP Shader中出现的Z相关的问题做一个专题一起研究下。 深度缓冲的方向和UNITY_REVERSED_Z 先说这个关于z的宏&#x…

nacos:服务注册与发现

导入SpringCloudAlibaba相关的依赖&#xff0c;并在父工程将依赖进行管理 <dependencyManagement> <dependencies> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-s…