pci总线功能是由什么提供并支持的(PCI总线的组成结构以及重要模块介绍)

一、PCI总线与处理器系统

PCI总线作为处理器系统的局部总线,是处理器系统的重要组成部件,与处理器系统息息相关。

处理器系统中与PCI总线相关的模块包括:HOST主桥、PCI总线、PCI桥、PCI设备。

PCI总线是由HOST主桥和PCI桥推出,HOST主桥和主存储器控制器处于同一级总线上,PCI设备可以通过HOST主桥访问主存储器的方式,即常说的PCI设备的DMA操作。PCI设备的DMA操作需要与处理器系统的Cache进行一致性操作,当PCI设备通过HOST主桥访问主存储器时,Cache一致性模块将进行地址监听,并根据监听的结果改变Cache的状态,从而实现DMA操作。

pci总线功能是由什么提供并支持的(PCI总线的组成结构以及重要模块介绍)(1)

1.1、HOST主桥

HOST主桥是一种特殊的桥片,不同处理器系统的位置不相同。PowerPC处理器中将HOST主桥和处理器集成在一个芯片中。Inter的X86处理器采用南北桥的结构,处理器内核在一个芯片内,HOST主桥在北桥中。

HOST主桥,主要功能是隔离处理器系统的存储器域和处理器系统的PCI总线域,并管理PCI总线域,完成处理器与PCI设备间的数据交换。

处理器与PCI设备间的数据交换包括两部分,一是处理器访问PCI设备的地址空间,二是PCI设备使用DMA机制访问主存储器。

存储器域——处理器系统的存储器域

PCI总线域——处理器系统的PCI总线域

HOST主桥是联系处理器与PCI设备的桥梁。每一个HOST主桥管理一颗PCI总线树,树下挂载的所有PCI设备均属于同一PCI总线域,该树下的PCI设备的配置空间均由HOST主桥通过配置读写总线周期访问。

1.2、PCI总线

处理器系统中,常说的PCI总线和PCI总线树概念是不同的。一颗PCI总线树可以包含多条PCI总线,相互之间具有血缘关系的PCI总线组成一颗PCI总线树。

上图中,处理器系统包含两个HOST主桥,对应了两个PCI总线树,X树和Y树,每一颗PCI总线树对应一个PCI总线域。通常与HOST主桥直接连接的PCI总线被命名为PCI总线0,比如X0和Y0。而HOST主桥扩展出的PCI桥x1连接的PCI总线命名为PCI总线X1。其他类推即可。

PCI总线是由HOST主桥或者PCI桥管理的,用来连接外部设备,比如:声卡、网卡、PCI板卡等。

1.3、PCI桥和PCI设备

PCI总线中包含三种设备:PCI主设备、PCI从设备和桥设备。

PCI主设备可以通过总线仲裁获得PCI总线的使用权,从而主动向其他PCI设备或者主存储器发起存储器读写请求。

PCI从设备只能被动接收来自HOST主桥或者其他PCI主设备的读写请求。

桥设备主要作用是管理下游的PCI总线,并转发上下游之间的总线事务。

PCI总线规范将PCI主从设备称为PCI Agent设备,比如处理器系统中PCI网卡、显卡、声卡。PCI主从设备,指一个PCI设备既可以是主设备也可以是从设备,但同一时刻只能为两者中一种。

HOST主桥,可以获取PCI总线的控制权访问PCI设备,也可以被PCI设备访问,但HOST主桥不属于PCI设备。

桥设备,包括PCI桥、PCI-to-EISA桥、PCI-to-Cardbus桥。

PCI桥是的PCI总线极具扩展性,处理器系统使用PCI桥实现PCI总线的扩展。PCI桥可以连接两条PCI总线,上游PCI总线和下游PCI总线,同属于一个PCI总线域,该桥下的所有PCI总线也同属于一个PCI总线域。对于PCI设备配置空间的访问可以从上游总线转发到下游总线,而数据传送可以双向进行。

PCI-to-EISA桥是将PCI总线扩展成EISA总线。

PCI-to-Cardbus桥是将PCI总线扩展成Cardbus总线。

1.4、HOST处理器

PCI总线规定,在同一时刻,一颗PCI总线树上有且只能有一个HOST处理器。HOST处理器可以通过HOST主桥,发起PCI总线的配置请求总线事务,并对PCI总线上的PCI设备和桥设备进行配置。通常CPU都可以通过HOST主桥访问下挂的PCI设备,这些CPU也被称为HOST处理器。

HOST处理器可以通过配置HOST主桥中的寄存器管理PCI设备。比如:X86处理器系统采用I/O访问方式,其下的HOST主桥设置了0xCF8和0xCFC这两个I/O端口访问PCI设备的配置空间,Power PC处理器采用寄存器映像寻址方式访问外部设备的寄存器空间,其下的HOST主桥设置了CFG_ADDR和CFG_DATA寄存器访问PCI设备的配置空间。

1.5、PCI总线的负载

PCI总线能挂接的负载与总线频率有关,总线频率越高,能挂接的负载越少。

在PCI总线中,一个插槽相当于两个负载,即接插件和插卡。33MHz的PCI总线可以挂载4-5个卡槽,即8-10个负载。

pci总线功能是由什么提供并支持的(PCI总线的组成结构以及重要模块介绍)(2)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页