自PC在1981年被IBM发明以来,主板上都有扩展槽用于扩充计算机功能。现在最常见的扩展槽是PCIe插槽,实际上在你看不见的计算机主板芯片内部,各种硬件控制模块大部分也是以PCIe设备的形式挂载到了一颗或者几颗PCI/PCIe设备树上。固件和操作系统正是通过枚举设备树们才能发现绝大多数即插即用(PNP)设备的。那究竟什么是PCI呢?

PCI/PCIe的历史

在我们看PCIe是什么之前,我们应该要了解一下PCIe的祖先们,这样我们才能对PCIe的一些设计有了更深刻的理解,并感叹计算机技术的飞速发展和工程师们的不懈努力。

1. ISA (Industry Standard Architecture)

2. MCA (Micro Channel Architecture)

3. EISA (Extended Industry Standard Architecture)

4. VLB (VESA Local Bus)

5. PCI (Peripheral Component Interconnect)

6. PCI-X (Peripheral Component Interconnect eXtended)

7. AGP (Accelerated Graphics Port)

8. PCI Express (Peripheral Component Interconnect Express)

下面这个大表列出所有的速度比较。其中一些x8,x16的概念后面细节部分有介绍。

表1‑1 PCI到PCIe各历程对比

标准

时钟

传输带宽

每时种数据

带宽 /MB/s

ISA

4.77 MHz

8

1

4.77

ISA

8 MHz

160.5

0.5

8

MCA

5 MHz

16

1

10

MCA

5 MHz

32

1

20

EISA

8.33 MHz

32

1

33.3(16.7 typically)

VLB

33 MHz

32

1

133

PCI

33 MHz

32

1

133

PCI-X 66

66 MHz

64

1

533

PCI-X 133

133 MHz

64

1

1066

PCI-X 266

133 MHz

64

2

2132

PCI-X 533

133 MHz

64

4

4266

AGP x1

66 MHz

32

1

266

AGP x2

66 MHz

32

2

533

AGP x4

66 MHz

32

4

1066

AGP x8

66 MHz

32

8

2133

PCIe 1.0 x1

2.5 GHz

1

1

250

PCIe 1.0 x4

2.5 GHz

4

1

1000

PCIe 1.0 x8

2.5 GHz

8

1

2000

PCIe 1.0 x16

2.5 GHz

16

1

4000

PCIe 2.0 x1

5 GHz

1

1

500

PCIe 2.0 x4

5 GHz

4

1

2000

PCIe 2.0 x8

5 GHz

8

1

4000

PCIe 2.0 x16

5 GHz

16

1

8000

PCIe 3.0 x1

8 GHz

1

1

1000

PCIe 3.0 x4

8 GHz

4

1

4000

PCIe 3.0 x8

8 GHz

8

1

8000

PCIe 3.0 x16

8 GHz

16

1

16000

科技的每一步前进都是为了解决前一代中出现的问题,这里的问题就是速度。作为扩展接口,它主要用于外围设备的连接和扩展,而外围设备吞吐速度的提高,往往会倒推接口速度的提升。第一代ISA插槽出现在第一代IBM PC XT机型上(1981),作为现代PC的盘古之作,8位的ISA提供了4.77MB/s的带宽(或传输率)。到了1984年,IBM就在PC AT上将带宽提高了几乎一倍,16位ISA第二代提供了8MB/s的传输率。

之后各个厂家开始针对ISA进行升级,不过后来由于兼容性及速度瓶颈,虽然短暂的出现了EISA和VLB总线,但是最后也被Intel组建的PCI-SIG (PCI Special Interest Group)(PCI 特殊兴趣组J)的企业联盟,提出的PCI(Peripheral Component Interconnect)总线协议(1992)年所取代。

正是由于当时Intel并没有采封闭这一总线,使得PCI得到广泛推广和使用。并且统一之后的PCI总线刺激外围设备制造商进行不断地创新,丰富了整个PC行业的发展。

PCI总线标准第一次提出就提供了133MB/s的带宽(33MHz时钟,每时钟传送32bit)。

2004年,Intel觉得PCI总线还是不够,于是又搞起了小团体革了PCI的命。PCI express(PCIe,注意官方写法是这样,而不是PCIE或者PCI-E)诞生了,以上就是简单的PCIe诞生过程,看似简单,其实是一代代“革命者”不断追求完美才形成今天的PCIe。

从下面的主频变化图中,大家可能注意到更新速度越来越快。

图1‑1 主频变化图

下面简单总结一下PCI标准的特点

1. 它是个并行总线。在一个时钟周期内32个bit(后扩展到64)同时被传输。引脚定义如下:

图1‑4 PCI引脚定义

地址和数据在一个时钟周期内按照协议,分别一次被传输。

2. PCI空间与处理器空间隔离。PCI设备具有独立的地址空间,即PCI总线地址空间,该空间与存储器地址空间通过Host bridge隔离。处理器需要通过Host bridge才能访问PCI设备,而PCI设备需要通过Host bridge才能主存储器。在Host bridge中含有许多缓冲,这些缓冲使得处理器总线与PCI总线工作在各自的时钟频率中,彼此互不干扰。Host bridge的存在也使得PCI设备和处理器可以方便地共享主存储器资源。处理器访问PCI设备时,必须通过Host bridge进行地址转换;而PCI设备访问主存储器时,也需要通过Host bridge进行地址转换。

深入理解PCI空间与处理器空间的不同是理解和使用PCI的基础。

3.扩展性强。PCI总线具有很强的扩展性。在PCI总线中,Root Bridge可以直接连出一条PCI总线,这条总线也是该Root bridge所管理的第一条PCI总线,该总线还可以通过PCI桥扩展出一系列PCI总线,并以Root bridge为根节点,形成1颗PCI总线树。在同一条PCI总线上的设备间可以直接通信,并不会影响其他PCI总线上设备间的数据通信。隶属于同一颗PCI总线树上的PCI设备,也可以直接通信,但是需要通过PCI桥进行数据转发。

PCI后期越来越不能适应高速发展的数据传输需求,PCI-X和AGP走了两条略有不同的路径,PCI-x不断提高时钟频率,而AGP通过在一个时钟周期内传输多次数据来提速。随着频率的提高,PCI并行传输遇到了干扰的问题:高速传输的时候,并行的连线直接干扰异常严重,而且随着频率的提高,干扰(EMI)越来越不可跨越。

所以PCIe“拍了拍”PCI,就把PCI“拍在沙滩上”了。

推荐阅读

华为_2020数字IC笔试

华为经典FPGA设计全套入门技巧资料分享

基于FPGA的网口通信设计(完结)

Vivado 2020.1 开放下载,中文资料随贴奉送

Vivado 2020.1 开放下载,中文资料随贴奉送

一文学会使用全球第四大数字芯片仿真器iverilog!

数模接口设计JESD204B协议、Vivado License及相关参考设计

PCIe 她来了

点击上方字体即可跳转阅读哟

PCIe“拍了拍”PCI- PCI和PCIe发展历史相关推荐

  1. 采用pci的插槽计算机,从VGA视频采集卡看PCI插槽与PCI-E插槽

    带宽和数据传输速率.压缩等一直视频采集卡的性能标准,而视频采集卡是连接视频源和计算机的桥梁,这些都与计算机数据传输协议和数据传输总线.信号控制器等有着密切关系,在采集卡的板卡中都有两个连接设备,一个是 ...

  2. linux配置pcie无线网卡,【Linux c】读写pcie配置空间(安装lib库)

    readme.txt + pcie.c + in.txt +Makefile 可参考源码是: lspci readme.txt Please open the terminal in your lin ...

  3. PCI - PCI概述

    从1992年创立规范到如今,PCI总线已成为了计算机的一种标准总线.由PCI总线构成的标准系统结构如图一所示. PCI总线取代了早先的ISA总线.当然与在PCI总线后面出现专门用于显卡的AGP总线,与 ...

  4. z370支持pcie信号拆分吗_不再混乱 PCI-E插槽都有哪些样子?

    本文经超能网授权转载,其它媒体转载请经超能网同意. 主板上的扩展插槽曾经是多种多样的,例如曾经非常流行的组合就是PCI插槽搭配AGP插槽,其中AGP插槽主要用在显卡上,而PCI插槽的用途则更广一些,不 ...

  5. PCIe热插拔机制(详细)总结-PCIe专题知识(五)

    目录 前言 一.概述 二.原理详解 2.1 热插拔原理总结 2.2 热插拔软硬件要求 三.其他相关知识链接 1.PCIe物理层总结-PCIE专题知识(一) 2.PCIe数据链路层图文总结-PCIe专题 ...

  6. pyqt怎么给字体加粗_微信拍一拍可设置后缀?怎么用?还有更多新功能!

    阅读本文前,请您先点击上面的蓝色字体,再点击"关注",这样您就可以继续免费收到文章了.每天都有分享,完全是免费订阅,请放心关注. 注:本文转载自网络,如有侵权,请联系删除谢谢. 微 ...

  7. antd 动态添加表单_ZooTeam 拍了拍你,来看看如何设计动态化表单

    ? 这是第 58篇不掺水的原创,想要了解更多,请戳上方蓝色字体:政采云前端团队关注我们吧- 本文首发于政采云前端团队博客:ZooTeam 拍了拍你,来看看如何设计动态化表单 https://www.z ...

  8. 微信文件撤回时间多长_微信悄悄上线新玩法:拍了拍、朋友圈可重新编辑

    当当当,我猜大家应该是看到这么吸引人的标题进来的吧,确实这个超级实用的功能你还真的要知道. 今天写的部分内容,其他的全部内容将会在安卓微信7.0.16正式版发布的时候进行一次大汇总. 我猜大家昨天应该 ...

  9. ios 权限提示语_撩妹神技?iOS 微信偷偷上线“拍一拍”

    微信 概要 / 最近微信新功能不断,安卓和 iOS 前后上线了「修改微信号」功能,给了网友们"重新做人"的机会,这不,又来了一个新功能,iOS 的微信可以"拍一拍&quo ...

最新文章

  1. 简单mysql 查询_MySQL简单查询详解
  2. Asigra无代理备份:“云”数据保护的先行者
  3. 配置文件 web.config 的讨论
  4. Java SecurityManager checkPackageDefinition()方法与示例
  5. 企业邮箱及邮件服务器架设
  6. 长微博android,Android 上最强大的长微博工具:BlackLight 长微博
  7. 免费UNIX体验中心
  8. 对象创建从农业社会到共产主义的发展
  9. yeta机器人_Yeta智能语音电话机器人开放平台接入指南(2)
  10. Android 开源项目和文章集合(更新:2022.03.21)
  11. 百度网盘永久分享链接-注册电气工程师(注电)历年考试真题PDF, Word版资料(含答案), 相关视频资料
  12. chrome os 安装手册
  13. java 实现cmyk转rgb图片格式
  14. 有道云脑图 mindmap文件必须会员才能导出
  15. python浮点数加整数_Python中整数和浮点数运算
  16. 深度学习( Deep Learning )软件资源列表
  17. python汉明距离检索_【LeetCode 461】汉明距离(Python)
  18. virtual Box与Vagrant的安装与踩坑
  19. 最常用的65条正则表达式
  20. 推荐几款常用的企业网盘软件,你喜欢哪一款?

热门文章

  1. 修图教程:为照片增加云雾效果
  2. 《有一种错过叫作遗憾》
  3. PTA 7-47 打印选课学生名单
  4. lotus version 0.3.0+git1bfa2311 安装 interopnet
  5. git:remote: [session-f044bfa6] well: Incorrect username or password (access token)
  6. 禁毒海报|国际禁毒日海报素材图片大全
  7. 高中知识复习与拓展——数列的求和
  8. QQ邮箱疯狂的附件:别人笑我太疯癫 我笑别人看不穿
  9. 澳洲学计算机难毕业吗,澳洲新南威尔士大学计算机专业好吗
  10. python英文字符频率统计_Python中怎样统计英文文本中的字母频次?