计算机专业教材-第5章PCI.pdf
文本预览下载声明
下载
第5章 PCI
P C I 的英文全称为Periheral Component Interconnect 。正如它的名称一样,P C I局部总线是
微型计算机系统上处理器 / 存储器与外围控制部件、外围附加板之间的互连机构。“P C I 局部总
线规范 3 ”规定了互连机构的协议、电气、机械以及配置空间规范。本章主要介绍 L i n u x 的内
核如何初始化系统的P C I总线和设备。
图1 - 5 - 1是一个基于 P C I 局部总线的系统逻
辑示意图。P C I局部总线和P C I - P C I桥是将系统
的部件连接起来的连接器。 C P U连接到P C I 局 总线0
部总线 0 ,这条总线主要用于连接视频设备。
上游
被称为P C I - P C I桥的特别P C I 设备将P C I 局部总
桥 桥
线0 与从P C I局部总线连接起来。这种“从 P C I 下游
总线”被称为 P C I 局部总线 1。按照P C I规范的 总线 视频 总线1
术语来讲, P C I 局部总线 1被称作位于 P C I - P C I
桥的下游 ( d o w n s t r e a m ) ,而P C I局部总线0被称
为桥的上游 ( u p - s t r e a m ) 。从P C I 局部总线主要
连接系统的 S C S I设备和以太网设备。桥、从 控制器
P C I 局部总线以及上面的两种设备都可以物理
地集成在同一个 P C I 集成卡中。系统中的 P C I - 图1-5-1 基于PCI局部总线系统的示例
I S A桥支持老式、遗留下来的 I S A设备。在图 1 - 5 - 1中画出了一个超级I / O控制器芯片,它可以
控制键盘、鼠标和软盘驱动器。
5.1 PCI 的地址空间
C P U和P C I 的设备需要访问在二者之间共享的存储空间。这部分存储器用于设备驱动程序
控制P C I设备并在驱动程序和设备之间传递信息。典型的共享存储器包括设备的控制和状态寄
存器,这些寄存器可以控制 P C I设备并读取设备的状态信息。例如: P C I 的S C S I设备驱动程序
从S C S I设备读取状态信息,以确定 S C S I设备是否可以向S C S I磁盘写入一整块的数据。 S C S I设
备驱动程序还可以在启动后,向控制寄存器写入控制命令以启动 S C S I设备运行。
C P U 的系统存储器可以用作共享存储器。但如果这样做的话,每次P C I设备访问存储器时,
C P U不得不暂停,等待P C I设备完成访存操作。这样访存操作就变成每次只有一个系统部件可
以访存,导致整个系统的性能下降。让系统的外设以不加控制的方式来访问主存本身就不是
一个好办法。这样做非常危险,因为一个劣质的外设会使系统非常不稳定。因此外设可以有
自已的存储空间,C P U 可以访问这些存储空间而外设对系统存储空间的访问用 D M A ( D i r e c t
Memory Access ,直接存储访问 )通道的方式来严加控制。 I S A设备可以访问两类地址空间:
I S A 的I / O 空间和I S A存储空间。 P C I设备可以访问三类地址空间: P C I 的I / O 空间、P C I 的存储
空间和P C I 的配置空间。所有的这些空间对 C P U来说都是可访问的,其中 P C I 的I / O空间和P C I
50 第一部分 Linux 内核
下载
存储空间被设备驱动程序使用, P C I 的配置空间被L i n u x 内核中的初始化程序使用。
Alpha AXP 处理器不支持对除系统地址空间之外的其他地址空间的直接访问。它使
显示全部