免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5553 | 回复: 8
打印 上一主题 下一主题

PCI EXPRESS 和 (传统)PCI 的简略区别 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-19 05:47 |只看该作者 |倒序浏览
PCI EXPRESS 和 (传统)PCI 的简略区别

术语表:
PCIe: PCI EXPRESS
PCI: 传统 PCI.

简介:
我以前做过PCI BUS的一些东西,后来停了一段时间,错过了PCI-X.现在又开始要做外设了,于是开始看PCI EXPRESS. 在看PCIe SPEC的时候,有意识的把新的PCIe和PCI比较.这样加深了解. 下面的都是个人观点,适合那些从PCI直接转到PCIe的人.本人水平有限,文中或许有不对的地方,欢迎大家指正.

1) LAYERED DESIGN(分层式设计). PCIe很像网络,分成3层,从上到下为 TRANSACTION LAYER, DATA LINK LAYER, PHYSICAL LAYER. PCI是不分的. 分层设计的好处是灵活.比如每一层可以有不同的协议实现. 同时只要2层的接口没变,那么改下层的实现的时候,可以不改上层. 从PCI EXPRESS 1.0 到3.0 (还没正式出), 每LANE的速度每次都翻一倍.估计其中也有分层设计带来的便利.另外,我觉得因为PCIe采用了串行总线,而不是象PCI那样用并行总线,这应该也是导致网络式设计的一个重要原因.

坏处:实现起来比较复杂?

一点感想:刚看PCI EXPRESS规范的时候,差点以为错下了一个讲网络的文件.因为里面充斥了网络术语,比如3个分层,PACKET,SWITCH等. 这点很出乎我的意外.不过仔细想了下,这样设计确实有上面说的好处.以前还和一位老师讨论过直接在网卡上做流量控制,错包重发等.那时他的结论就是如果这样做了,最后就变成了TCP/IP. 没想到PCI EXPRESS差不多也是这样做的.意外啊意外.


2) ADDRESS SPACE(地址空间). PCIe有5个ADDRESS SPACE. PCI有3个.PCIe除了继续保留PCI中的IO,MEMORY, CONFIGURATION外,又加了2个.那就是 TRUSTED CONFIGURATION 和MESSAGE. 看来现在安全设计越来越重要了. MESSAGE 那个估计就是为了取消中断引脚的(这样可以降低成本).

论坛徽章:
0
2 [报告]
发表于 2009-12-20 22:44 |只看该作者
根本区别应该是一个串行信号一个是并行信号。
串行信号虽然数据带宽低,但是频率高,误码率低,所以传输效率要比并行的高。

论坛徽章:
0
3 [报告]
发表于 2009-12-21 16:36 |只看该作者
原帖由 emmoblin 于 2009-12-20 22:44 发表
根本区别应该是一个串行信号一个是并行信号。
串行信号虽然数据带宽低,但是频率高,误码率低,所以传输效率要比并行的高。


论坛徽章:
0
4 [报告]
发表于 2009-12-26 10:29 |只看该作者

回复 #1 accessory 的帖子

第二点:PCI设备有6个BAR,就是楼上说说的ADDRESS SPACE,具体实现(使用)多少个BAR取决于具体的设备。
还有一点就是:PCIe在软件上是完全兼容PCI的,如果PCIe取消了中断还能做到软件上的兼容吗。

论坛徽章:
0
5 [报告]
发表于 2009-12-26 13:19 |只看该作者
我在第一贴里说的是“取消了中断引脚”,不是取消了中断。中断引脚是指硬件上的一个管脚(PIN)。
从软件上来说,PCI EXPRESS还是兼容老的中断方式的。只不过硬件方面传递中断信号的方法做了改进。

论坛徽章:
0
6 [报告]
发表于 2009-12-26 13:26 |只看该作者
另外,我觉得6个BAR只是对应了 IO , MEMORY SPACE。还有其他3个ADDRESS SPACE似乎不是通过BAR来指定的。至少CONFIGURATION, MEMORY 不是。

论坛徽章:
0
7 [报告]
发表于 2009-12-28 08:52 |只看该作者

回复 #5 accessory 的帖子

对。架构兼容。信号层当然变化大去了。写软件的也不需要关心。

论坛徽章:
0
8 [报告]
发表于 2009-12-31 09:23 |只看该作者
原帖由 accessory 于 2009-12-19 05:47 发表
ADDRESS SPACE(地址空间). PCIe有5个ADDRESS SPACE. PCI有3个.PCIe除了继续保留PCI中的IO,MEMORY, CONFIGURATION外,又加了2个.那就是 TRUSTED CONFIGURATION 和MESSAGE. 看来现在安全设计越来越重要了. MESSAGE 那个估计就是为了取消中断引脚的(这样可以降低成本).


bar这个东西,没有具体定义成什么类型。看实际需要,我们现在的项目,就是2个bar对应configuration(一个本端,一个对端),3个bar对应Memory,实际上这个情况还是1个configuration,4个Memory。

pci的管脚中断要被多个设备共享,但是msi不存在这个问题

论坛徽章:
0
9 [报告]
发表于 2009-12-31 22:24 |只看该作者
MSI中断在PCI中就已经有了,并不是PCIe特有的。

实现复杂度的话看你从哪个角度看了,这种分层的设计更容易IP化,如果用逻辑做开发,通常有PCIe的Core的话实现起功能来相对简单,因为更多是关注自己的功能,DMA等都是通过包来传输,和下层的接口比较明确;而PCI的Core就算是提供了,要DMA还是要自己去做哪个Cycle发起传输、如何重传等,挺麻烦的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP