【PCIE体系结构二】计算机内部总线

👉个人主页:highman110

👉作者简介:一名硬件工程师,持续学习,不断记录,保持思考,输出干货内容 

参考文章:

深入PCI与PCIe之一:硬件篇 - 知乎 (zhihu.com)计算机体系结构基础(第3版)-胡伟武等-微信读书 (qq.com)

目录

总线

片内总线

内存总线

系统总线

设备总线

PCIE总线的发展历程        


总线

        上一章节讲述了计算机硬件模块的构成,这些模块是通过各类“总线”连接的,也包括我们本文的重点PCIE总线。本小节介绍一下总线的基础知识。

       总线的分类这个不多说,大家看图,接下来针对总线在计算机系统中的物理位置分类一一介绍。

片内总线

        一个SoC芯片中,集成了很多IP模块,这些IP可能来自不同的厂家,为了使这些IP能够兼容应用,所以必然会定义一个芯片内模块互联的接口总线规范。目前业界公开的主流片上互连总线是ARM公司的AMBA系列总线。高级微控制器总线架构(Advanced Microcontroller Bus Architecture,简称AMBA)系列总线包括AXI、AHB、ASB、APB等总线。这里的内容很多,不是本文的重点,后续学习计算机体系结构的时候再重点研究。

内存总线

        从计算机硬件结构的发展变化了解到,当下的CPU或SOC都集成了内存控制器,内存模组和处理器通过内存总线连接。内存总线规范是由JEDEC(Joint Electron Device Engineering Council)组织制定的,它包含了一般总线的三个层级:机械层、电气层和协议层。这里的内容也很多,不是本文的重点,后续学习内存的时候再重点研究。

系统总线

        系统总线通常用于处理器与桥片的连接,同时也作为多处理器间的连接以构成多路系统。英特尔处理器所广泛采用的QPI(Quick Path Interconnect)接口及在QPI之前的FSB(Front Side Bus),还有AMD处理器所广泛采用的HT(HyperTransport)接口都属于系统总线。系统总线是处理器与其他芯片进行数据交换的主要通道,系统总线的数据传输能力对计算机整体性能影响很大。如果没有足够带宽的系统总线,计算机系统的外设访问速度会明显受限,类似于显示、存储、网络等设备的交互都会受到影响。随着计算机系统技术的不断进步,微处理器与其他芯片间的数据传输性能成为制约系统性能进一步提升的一个重要因素。为了提升片间传输性能,系统总线渐渐由并行总线发展为高速串行总线。也有的处理器通过PCIE与IO套片(或者叫南桥)连接,这里的PCIE按照位置划分就是系统总线。

设备总线

        设备总线用于计算机系统中与IO设备的连接,也可以称为局部总线,设备总线是系统总线的延伸,用来连接外部设备。

        PCI(Peripheral Component Interconnect)总线是一种对计算机体系结构连接影响深远并广泛应用的设备总线。PCIE(PCI Express)可以被看作PCI总线的升级版本,兼容PCI软件架构。PCIE总线被广泛地用作连接设备的通用总线,在现有计算机系统中已经基本取代了PCI的位置。从本章第2小节可以看到PCIE总线的位置,一般和SATA、USB、显示等设备接口位于同样层次,用于扩展外部设备,比如可以在PCIE插槽上插网卡、显卡、固态硬盘等,也可以通过接口转换芯片将PCIE扩展成其他接口。

        那PCI怎么出来的?为什么要用PCIE替代PCI呢?处理器工艺、主频不断提升,IO交互的数据量越来越大,比如说网口的速率越来越高、硬盘的容量越来越大、显示的分辨率越来越高等等,这就需要配备速率更快、带宽更高的设备总线。

        在PCI总线规范定义之前,计算机依次使用了8位的XT总线、16位的ISA总线、32位的EISA总线、VESA总线、MCA总线等局部总线。在1992年6月22日,intel发布了PCI 1.0规范,随后几年PCI总线快速获得了各大厂家的认可,迅速统一了当时并存的各种局部总线(对显卡来说,PCI的带宽不够,此时替代VESA总线的是AGP总线),从此后的较长一段时间PCI总线在计算机体系结构中一直占据着重要地位,大多数设备都是直接或间接通过PCI总线与处理器连接。

        从PCI到PCIE很好理解,因为并行的PCI总线带宽上不去了,于是在2001年,非营利组织PCI-SIG召集了英特尔、AMD、博通、IBM、微软等厂商提出了PCIe(Peripheral Component Interconnect Express)新总线标准,变成了高速串行总线。当下的计算机系统里PCIE是主流,PCI用的比较少了。

   关于计算机中局部总线的发展变化具体情况可以参考此文:深入PCI与PCIe之一:硬件篇 - 知乎 (zhihu.com)

PCIE总线的发展历程        

        如下图,PCIe 从2003年的1.0版本开始到2022年的6.0经历了数次更新,速度从2.5GT/s提升到了64GT/s(下面这张图是2022年以前的,没有更新)。

        PCIE从1.0到6.0,几乎每一代物理线路传输速率都是翻倍增长,注意这里的传输速率单位为GT/S,也就是Giga transation per second (千兆传输/秒),每一秒内传输的次数,重点在于描述物理层通信协议的速率属性,和链路吞吐量不是相等关系。吞吐量单位一般为GB/s或Gb/s,表示每秒可以传输的原始数据比特数,吞吐量=传输速率*编码方案,比如PCIe 2.0协议的每一条Lane支持 5GT/s * 8 / 10=4 Gbps=500 MB/s的吞吐量。详细的速率变化如下表:

PCIE版本

PCS编码

Raw bit传输速率

吞吐量

X1

X4

X8

X16

1.0

8b/10b

2.5GT/s

250MB/s

1GB/s

2GB/s

4GB/s

2.0

8b/10b

5GT/s

500MB/s

2GB/s

4GB/s

8GB/s

3.0

128b/130b

8GT/s

984.6MB/s

3.938GB/s

7.877GB/s

15.754GB/s

4.0

128b/130b

16GT/s

1.969MB/s

7.877GB/s

15.754GB/s

31.508GB/s

5.0

128b/130b

32GT/s

3.9MB/s

15.8GB/s

31.5GB/s

63GB/s

6.0

1b/1b

64GT/s

8GB/s

32GB/s

64GB/s

128GB/s

       这里需要再说明一下PCIE 6.0的吞吐量计算方式。我们以前在《以太网硬件》系列文章提到过以太网的编码,分为介质无关编码和介质相关的编码(或者说是调制),文章链接:(2条消息) 【以太网硬件四】以太网信道编码方式有哪些?_以太网编码方式_highman110的博客-CSDN博客

        PCIE中也类似,上表中列的pcs编码为介质无关编码,是在信号往外发之前在芯片内部的编码,pcs层编码完成后得到了上表中描述的raw bit数据,顾名思义raw bit就是未加工的数据bit,这些数据在发送到外面的介质上传输时还需要经过一次介质相关的调制,比如1.0到5.0的NRZ,把芯片内部代表数据流bit0和bit1调制到外部走线所要求的对应电平,这种调制不会改变信号的传输速率,一个bit对应一个电平码元。而到了PCIE 6.0就不同了,为了使吞吐量翻倍,raw bit数据速率达到了64GT/s,如果还用NRZ这种方式,外部走线传输速率也用64GT/s,频率过高带来的插损过大,无法进行可靠的传输。所以采用了PAM4的编码方式,把原来的数据流通过4电平码元进行传输,一个码元可以表示2bit的数据,所以外部走线的波特率可以保持和PCIE 5.0一样,为32GBd,大大降低了插损的要求。关于NRZ与PAM4的区别,大家可查阅下其他文章。

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
PCIe体系结构是PCI发展而来的,它是一种用于计算机硬件总线结构。PCIeCPU-GPU-南桥-北桥结构中起到隔离处理器系统的存储器域和PCI总线域的作用,并管理PCI总线域。Host主桥是PCIe体系结构中的关键组件,它负责处理器与PCI设备之间的数据交换,包括CPU访问PCI设备的地址空间和PCI设备使用DMA机制访问主存储器。在PCIe总线中,存在三类设备:PCI主设备、PCI从设备和桥设备。PCI主设备可以通过总线仲裁获得PCI总线的使用权,并主动向其他PCI设备或主存储器发出读写请求。PCI从设备则是被动地接受来自主桥或其他PCI设备的读写请求。桥设备的主要作用是管理下游总线并转发上游总线的事务。PCIe体系结构的负载包括常见的PCI网卡、显卡、声卡等PCI Agent设备。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [【PCIE体系结构三】PCIE硬件拓扑结构和逻辑层次结构](https://blog.csdn.net/highman110/article/details/129861446)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [读书笔记之PCI Express体系结构导读](https://blog.csdn.net/Lq19880521/article/details/88118615)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

highman110

你的鼓励将是我最大的创作动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值