您的位置 首页 IOT

第1章 PCI总线的基本知识

PCI总线作为处理器系统的局部总线,主要目的是为了连接外部设备,而不是作为处理器的系统总线连接Cache和主存储器。但是PCI总线、系统总线

PCI总线作为处理器体系的部分总线,首要意图是为了衔接外部设备,而不是作为处理器的体系总线衔接Cache和主存储器。可是PCI总线、体系总线和处理器体系结构之间仍然存在着严密的联络。

PCI总线作为体系总线的延伸,其规划考虑了许多与处理器相关的内容,如处理器的Cache同享一致性和数据完整性,以及怎么与处理器进行数据交流等一系列内容。其间Cache同享一致性和数据完整性是现代处理器部分总线的规划的要点和难点,也是本书将要点叙述的主题之一。

独登时研讨PCI总线并不可取,由于PCI总线仅是处理器体系的一个组成部分。深化了解PCI总线需求了解一些与处理器体系结构相关的常识。这些常识是本书所偏重描绘的,一起也是PCI总线规范所疏忽的内容。脱离实际的处理器体系,不容易也不可能深化了解PCI总线规范。

关于今日的读者来说,PCI总线提出的许多概念略显过期,也有许多不足之处。可是在当年,PCI总线与之前的存在其他并行部分总线如ISA、EISA和MCA总线比较,具有许多杰出的长处,是一个全新的规划。

(1) PCI总线空间与处理器空间阻隔

PCI设备具有独立的地址空间,即PCI总线地址空间,该空间与存储器地址空间经过HOST主桥阻隔。处理器需求经过HOST主桥才干拜访PCI设备,而PCI设备需求经过HOST主桥才干主存储器。在HOST主桥中含有许多缓冲,这些缓冲使得处理器总线与PCI总线作业在各自的时钟频率中,互相互不搅扰。HOST主桥的存在也使得PCI设备和处理器能够方便地同享主存储器资源。

处理器拜访PCI设备时,有必要经过HOST主桥进行地址转化;而PCI设备拜访主存储器时,也需求经过HOST主桥进行地址转化。HOST主桥的一个重要作用便是将处理器拜访的存储器地址转化为PCI总线地址。PCI设备运用的地址空间是归于PCI总线域的,而与存储器地址空间不同。

x86处理器对PCI总线域与存储器域的差异并不清楚,这也使得许多程序员并没有精确地差异PCI总线域地址空间与存储器域地址空间。而本书将反复强调存储器地址和PCI总线地址的差异,由于这是了解PCI体系结构的重要内容。

PCI规范并没有对HOST主桥的规划进行束缚。每一个处理器厂商运用的HOST主桥,其规划都不尽相同。HOST主桥是联络PCI总线与处理器的核心部件,把握HOST主桥的完成机制是深化了解PCI体系结构的条件。

本书将以Freescale的PowerPC处理器和Intel的x86处理器为例,阐明各自HOST主桥的完成方法,值得注意的是本书触及的PowerPC处理器仅针对Freescale的PowerPC处理器,而不包括IBM和AMCC的Power和PowerPC处理器。并且假如没有特别阐明,本书中触及的x86处理器特指Intel的处理器,而不是其他厂商的x86处理器。

(2) 可扩展性

PCI总线具有很强的扩展性。在PCI总线中,HOST主桥能够直接推出一条PCI总线,这条总线也是该HOST主桥的所办理的第一条PCI总线,该总线还能够经过PCI桥扩展出一系列PCI总线,并以HOST主桥为根节点,构成1颗PCI总线树。这些PCI总线都能够衔接PCI设备,可是在1颗PCI总线树上,最多只能挂接256个PCI设备(包括PCI桥)。

在同一条PCI总线上的设备间能够直接通讯,并不会影响其他PCI总线上设备间的数据通讯。隶归于同一颗PCI总线树上的PCI设备,也能够直接通讯,可是需求经过PCI桥进行数据转发。

PCI桥是PCI总线的一个重要组成部件,该部件的存在使得PCI总线极具扩展性。PCI桥也是有别于其他部分总线的一个重要部件。在“以HOST主桥为根节点”的PCI总线树中,每一个PCI桥下也能够衔接一个PCI总线子树,PCI桥下的PCI总线仍然能够运用PCI桥继续进行总线扩展。

PCI桥能够办理这个PCI总线子树,PCI桥的装备空间含有一系列办理PCI总线子树的装备寄存器。在PCI桥的两头,别离衔接了两条总线,别离是上游总线(Primary Bus)和下流总线(Secondary Bus)。其间与处理器间隔较近的总线被称为上游总线,另一条被称为下流总线。这两条总线间的通讯需求经过PCI桥进行。PCI桥中的许多概念被PCIe总线选用,了解PCI桥也是了解PCIe体系结构的根底。

(3) 动态装备机制

PCI设备运用的地址能够根据需求由体系软件动态分配。PCI总线运用这种方法合理地处理了设备间的地址抵触,然后完成了“即插即用”功用。然后PCI总线不需求运用ISA或许EISA接口卡为处理地址抵触而运用的硬件跳线。

每一个PCI设备都有独立的装备空间,在装备空间中含有该设备在PCI总线中运用的基地址,体系软件能够动态装备这个基地址,然后确保每一个PCI设备运用的物理地址并不相同。PCI桥的装备空间中含有其下PCI子树所能运用的地址规模。

(4) 总线带宽

PCI总线与之前的部分总线比较,极大提高了数据传送带宽,32位/33MHz的PCI总线能够供给132MB/s的峰值带宽,而64位/66MHz的PCI总线能够供给的峰值带宽为532MB/s。尽管PCI总线所能供给的峰值带宽远不能和PCIe总线比较,可是与之前的部分总线ISA、EISA和MCA总线比较,仍然具有较大的优势。

ISA总线的最高主频为8MHz,位宽为16,其峰值带宽为16MB/s;EISA总线的最高主频为8.33MHz,位宽为32,其峰值带宽为33MB/s;而MCA总线的最高主频为10MHz,最高位宽为32,其峰值带宽为40MB/s。PCI总线供给的峰值带宽远高于这些总线。

(5) 同享总线机制

PCI设备经过裁定取得PCI总线的运用权后,才干进行数据传送,在PCI总线进步行数据传送,并不需求处理器进行干涉。

PCI总线裁定器不在PCI总线规范界说的规模内,也纷歧定是HOST主桥和PCI桥的一部分。尽管绝大多数HOST主桥和PCI桥都包括PCI总线裁定器,可是在某些处理器体系的规划中也能够运用独立的PCI总线裁定器。如在PowerPC处理器的HOST主桥中含有PCI总线裁定器,可是用户能够封闭这个总线裁定器,而运用独立的PCI总线裁定器。

PCI设备运用同享总线方法进行数据传递,在同一条总线上,一切PCI设备同享同一总线带宽,这将极大地影响PCI总线的利用率。这种机制明显不如PCIe总线选用的交流结构,可是在PCI总线盛行的时代,半导体的工艺、规划能力和制造本钱决议了选用同享总线方法是其时的最优挑选。

(6) 中止机制

PCI总线上的设备能够经过四根中止请求信号INTA~D#向处理器提交中止请求。与ISA总线上的设备不同,PCI总线上的设备能够同享这些中止请求信号,不同的PCI设备能够将这些中止请求信号“线与”后,与中止控制器的中止请求引脚衔接。PCI设备的装备空间记录了该设备运用这四根中止请求信号的信息。

PCI总线进一步提出了MSI(Message Signal Interrupt)机制,该机制运用存储器写总线业务传递中止请求,并能够运用x86处理器FSB(Front Side Bus)总线供给的Interrupt Message总线业务,然后提高了PCI设备的中止请求功率。

尽管从现代总线技能的角度上看,PCI总线仍有许多不足之处,但也不能否定PCI总线现已取得了巨大的成功,不只x86处理器将PCI总线作为规范的部分总线衔接各类外部设备,PowerPC、MIPS和ARM[1]处理器也将PCI总线作为规范部分总线。除此之外,根据PCI总线的外部设备,如以太网控制器、声卡、硬盘控制器等,也现已成为干流。



[1] 在ARM处理器中,运用SoC渠道总线,即AMBA总线,衔接片内设备。可是某些ARM出产厂商,仍然运用AMBA-to-PCI桥推出PCI总线,以衔接PCI设备。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/iot/233724.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部