1、2022-8-5计算机接口技术1第第2章章 总线技术总线技术本章主要内容本章主要内容 总线的组成和作用、性能参数、标准总线的组成和作用、性能参数、标准 总线传输操作过程总线传输操作过程 现代微机系统总线新技术现代微机系统总线新技术 ISA总线总线 PCI总线总线 2.1 总线的作用与组成总线的作用与组成2022-8-5计算机接口技术2微机体系结构的重要组成部分系统中传递各类信息的通道系统中各模块间的物理连接数据总线地址总线控制总线电源线和地线作用作用组成组成 2.2 总线的性能参数总线的性能参数 2022-8-5计算机接口技术3反映总线工作速率数据总线的位数总线上可传输的数据总量总线传输率(总
2、线宽度8位)总线频率同步和异步 2022-8-5计算机接口技术4地址线和数据线能共用一条物理线,如PCI一般采用“可连接的扩增电路板的数量”来表示数据线、控制线和地址线的总和如传输方式、设备配置方式、中断分配和仲裁方式等 2.3 总线传输操作过程总线传输操作过程 总线传输总线传输是指在主控器(如在主控器(如CPUCPU、DMACDMAC等)控制下通过等)控制下通过 各级总线进行的信息传送各级总线进行的信息传送(数据读写)操作操作。总线完成一次数据传输操作总线完成一次数据传输操作,一般经过四个阶段四个阶段。2022-8-5计算机接口技术51.申请与仲裁阶段2.寻址阶段3.传输阶段4.结束阶段 2
3、.4 总线标准与总线插槽总线标准与总线插槽 总线标准总线标准是指微机系统的各成员之间利用总线进行信息微机系统的各成员之间利用总线进行信息传输时应遵守的协议和规范传输时应遵守的协议和规范。包括信号线定义信号线定义、电气特性电气特性、机械特性机械特性、插头插头/插座插座等一系列规定。有内总线与外总线之分。内部总线标准内部总线标准:如ISA、EISA、PCI-X、PCIE等外部总线标准外部总线标准:如RS-232C、RS-485、USB、SPI、IEEE-488、GPIB/VXI等2022-8-5计算机接口技术6 总线插槽总线插槽是将总线的每根信号线都分配一个总线将总线的每根信号线都分配一个总线引脚
4、,并按一定的顺序排列做成一个个插槽引脚,并按一定的顺序排列做成一个个插槽,把这种插槽叫做系统总线插槽。如图如图2.1所示所示的PCI总线的标准插槽。2022-8-5计算机接口技术7图2.1 PCI总线标准插槽 2.5 现代微机系统总线的新技术现代微机系统总线的新技术 1.多总线技术多总线技术 在一个微机系统中同时存在几种性能不同的总线,并按其性能的高低分层次构成总线系统的技术多总线技术多总线技术大大增强了系统的兼容性。增强了系统的兼容性。2.总线结构层次化技术总线结构层次化技术 将总线按性能高低分层组织,主要有三个层次。总线结构层次化技术总线结构层次化技术直接促成接口分层次概念直接促成接口分层
5、次概念2022-8-5计算机接口技术8提供系统的数据、地址,控制命令等,速度最快提供高速外设与CPU间的数据通路提供系统与一般速度或慢速设备的连接现代微机系统的多总线的层次化结构多总线的层次化结构如图如图2.2所示所示。2022-8-5计算机接口技术9图2.2 总线的层次化结构2022-8-5计算机接口技术103总线桥总线桥 (1)总线桥的概念)总线桥的概念 总线桥总线桥是不同总线之间是不同总线之间的转换器和控制器转换器和控制器。桥的内部桥的内部包含有一些相当复杂的兼容相当复杂的兼容协议协议及总线信号和数据的及总线信号和数据的缓冲电路缓冲电路,以便把一条总线映射到另一条总线上。实现“即插即用即
6、插即用”的的配置空间配置空间也放也放在在桥内桥内。桥与桥与I/0设备接口之不同设备接口之不同,一是一是所连接的对象不一样对象不一样,二是二是传递传递信息的方法不同信息的方法不同。桥桥是间接传递信息是间接传递信息,桥桥两端的信息是一种映射两端的信息是一种映射的关系的关系,因此可动态改变。接口接口是直接传递信息是直接传递信息,接口接口两端的信两端的信息通过硬件直接传递信息息通过硬件直接传递信息,是一种固定的关系。实现桥两端信息映射关系实现桥两端信息映射关系的是桥内的桥内的配置空间配置空间,它既不是不是I/O空空间间,也不是存储器空间不是存储器空间,而是专门用于为是专门用于为两种总线之间两种总线之间
7、进行进行资源资源动态配置动态配置的特殊地址空间的特殊地址空间,正是由于这种资源的可动态分配,才使现代微机的即插即用技术得以实现。(2)PCI总线芯片组总线芯片组 实现这些总线桥功能实现这些总线桥功能的是一组大规模集成专用电路大规模集成专用电路,称为PCI总线芯片组或PCI总线组件。4.多级总线结构中,多级总线结构中,设备设备与与总线总线的连接的连接2022-8-5计算机接口技术11低速低速IO设备设备,扩展存储器扩展存储器与本地总线(本地总线(ISA)连接)连接高速外设高速外设通过其内部的总线桥直接挂在直接挂在PCI总线上总线上高速主存储器高速主存储器通过自身的总线桥直接连到直接连到Host桥
8、桥多级总线结构中设备与总线的连接多级总线结构中设备与总线的连接如图如图2.3所示所示2022-8-5计算机接口技术12图2.3 现代微机多级总线与各类外设接口的连接2.6 ISA总线总线2.6.1 ISA总线在多总线结构中的作用总线在多总线结构中的作用早期早期ISA总线作为16位微机系统的系统总线系统总线,现代微机现代微机系统中系统中作为本地本地或用户总线用户总线。PCIPCI高速总线出现后高速总线出现后ISAISA总线作为总线作为用户总线用户总线连接连接一些低低速设备速设备。在现代微机系统中在现代微机系统中,ISAISA总线还在使用总线还在使用,只是不用做系只是不用做系统总线了统总线了,而用
9、于低速设备,处在总线层次结构中的最底层。2022-8-5计算机接口技术132.6.2 ISA总线的信号线和插槽总线的信号线和插槽 ISAISA总线标准总线标准共有共有9898根根信号线信号线,分别是地址线地址线、数据线数据线、控控制线制线、时钟和电源线。主要信号线定义主要信号线定义如表如表2.12.1所示所示。2022-8-5计算机接口技术14信号线名称信号线名称功能定义功能定义SA0SA19(出)地址线,传输20位地址SD0SD15(双向)数据线 传输16位数据AEN(出)地址允许 AEN=1 DMA传输;AEN=0,非DMA传输IOR(出)I/O读命令IOW(出)I/O写命令SMEMR(出
10、)存储器读命令SMEMW(出)存储器写命令表2.1 ISA总线主要信号线定义接上表接上表2022-8-5计算机接口技术15信号线名称信号线名称功能定义功能定义MEMCS16(出)16位存储器片选信号I/OCS16(出)16位I/O设备片选信号SBHE(出)总线高字节允许信号IRQ2IRQ7(入)INTR中断请求线,连到主中断控制器 IRQ10IRQ15(入)INTR中断请求线,连到从中断控制器DRQ1DRQ3(入)DMA请求线,连到主DMA控制器 DRQ5 DRQ7(入)DMA请求线,连到从DMA控制器 DACK1DACK3(出)主DMA控制器回答信号,表示进入DMA周期DACK5DACK7(
11、出)从DMA控制器回答信号,表示进入DMA周期MASTER(入)请求占用总线,由有主控能力的I/O设备卡驱动接上表接上表2022-8-5计算机接口技术16信号线名称信号线名称功能定义功能定义RSTDRV(出)系统复位信号,复位和初始化接口和I/O设备I/OCHCK(出)I/O 通道检查信号,当I/O奇偶校验错时,产生NMI中断I/OCHRDY(入)I/O 通道就绪信号,当该信号变低,请求插入等待状态周期OWS(入)零等待状态信号,该信号为低电平时,无需插入等待周期OSC/CLK(入)时钟12V、5V(入)电源ISA总线引脚插槽总线引脚插槽分布分布如图如图2.4所示。所示。2022-8-5计算机
12、接口技术172.6.3 ISA总线的特点及应用总线的特点及应用1.ISA总线的总线的特点特点2022-8-5计算机接口技术18特点特点支持16MB存储器地址的寻址能力和64KB I/O64KB I/O端口端口地址地址的访问能力支持8 8位位和1616位数据位数据读/写能力支持1515级外部硬件中断级外部硬件中断处理和7 7级级DMADMA传输传输能力支持8/16 I/O、存储器读/写周期,中断周期和DMA周期 2.ISA总线的应用总线的应用I/O设备接口与设备接口与ISA总线的连接总线的连接如图如图2.5所示所示。2022-8-5计算机接口技术19图2.5 ISA(用户)总线与I/O设备接口的
13、连接 使用使用ISA总线需要注意的问题总线需要注意的问题2022-8-5计算机接口技术20确定实际使用的总线数目总线的隔离与驱动对一些有特殊要求的总线的使用 2.7 PCI 总线总线 PCIPCI(Peripheral Component Interconnect)的 含义含义是外围器件互连外围器件互连。随着PCI总线技术的不断发展,继继PCIPCI总线之后总线之后又有PCI-XPCI-X 总线和PCI ExpresPCI Expres总线总线。2022-8-5计算机接口技术21计算机接口技术21采用分离事物处理方式,大幅度地提高了总线的利用率。PCI Expres PCI Expres 总线
14、总线基于串行差动传输、高带宽、点对点的总线技术,适用于高速设备。PCI-X PCI-X 总线总线2.7.1 PCI总线的主要特点:总线的主要特点:2022-8-5计算机接口技术22特点特点n 独立于微处理器独立于微处理器n 多总线共存多总线共存n 支持突发传输支持突发传输n 支持即插即用支持即插即用n 支持三类地址空间访问支持三类地址空间访问2.7.2 PCI 总线的信号线总线的信号线 PCI 主设备主设备和和从从(目标目标)设备设备:取得了总线控制权的设备取得了总线控制权的设备称为主设备主设备。被主设备选中被主设备选中进行数据交换的设备的设备称为从从(目标目标)设备设备。必须信号线和可选信号
15、线:必须信号线和可选信号线:对于必须信号线必须信号线,主设备有主设备有4949条条,从设备有从设备有4747条条。对于可选信号线可选信号线,有有5151条条,主要用于64位扩展、中断请求、高速缓存支持等。2022-8-5计算机接口技术23 PCI PCI总线信号线总线信号线如图如图2.62.6所示所示:2022-8-5计算机接口技术24图2.6 PCI总线信号线 1.地址和数据信号地址和数据信号地址期地址期 当FRAME#有效时的第1个时钟,AD3100AD3100上传输的是地址上传输的是地址信号。数据期数据期 当IRDY#和TRDY#同时有效时,AD3100AD3100上传输的为数据上传输的
16、为数据信号。在地址期在地址期,这4条线上传输传输的是总线命令总线命令(代码)。在数据期在数据期,它们传输传输的是字节允许信号字节允许信号,用来指定在整个数据期中指定在整个数据期中,AD3100上哪些字节哪些字节为有效数据有效数据。2022-8-5计算机接口技术25AD31AD310000地址和数据复用的输入/输出信号,分为地址期和数据期C/BE C/BE#03#030000 总线命令和字节允许复用信号 2.接口控制信号接口控制信号2022-8-5计算机接口技术26FRAME#FRAME#帧周期帧周期信号,由当前主设备驱动,表示表示一次传输的开始一次传输的开始和持续持续。IRDY#IRDY#主设
17、备准备好主设备准备好信号TRDY#TRDY#从设备准备好从设备准备好信号IDSEL INIDSEL IN 初始化设备选择初始化设备选择信号DEVSEL#DEVSEL#设备选择设备选择信号 3.仲裁信号仲裁信号2022-8-5计算机接口技术27REQ#REQ#总线占用请求总线占用请求信号。GNT#GNT#总线占用允许信总线占用允许信号 4.中断信号中断信号2022-8-5计算机接口技术28PCIPCI有有4 4条中断线条中断线,分别是INTA#INTA#、INTB#INTB#、INTC#INTC#、INTD#INTD#。中断申请触发方式中断申请触发方式,电平触发电平触发,低电平有效低电平有效。中
18、断线使用中断线使用,单功能设备单功能设备只有一条中断线只有一条中断线,并且只能使用并且只能使用INTA#INTA#,多功能设备多功能设备最多可以使用使用4 4条中断线条中断线。2.7.3 PCI 总线的三种地址空间总线的三种地址空间 PCI总线总线定义了内存地址空间内存地址空间、I/OI/O地址空间地址空间、配置地址空间配置地址空间 3种种物理地址空间物理地址空间。其中,内存地址空间内存地址空间和I/O地址空间是地址空间是通常意义通常意义的地址空间,而配置地址空间配置地址空间用于支持硬件资源配置硬件资源配置和进行地址映射进行地址映射,并且被安排存放在总线桥内存放在总线桥内。一般用户不使用配置空
19、间地址一般用户不使用配置空间地址。三者地址的寻址范围、寻址数据的宽度及所处的位置不同。2022-8-5计算机接口技术29地址空间类型地址空间类型寻址范围寻址范围寻址宽度寻址宽度位置位置 I/O地址空间4G 字节字节接口电路的寄存器接口电路的寄存器 内存地址空间1G 双字节双字节存储器存储器 配置地址空间64个双字节双字节总线桥的配置寄存器总线桥的配置寄存器2.7.4 PCI 设备与设备与PCI功能功能 1.PCI设备设备 PCIPCI设备设备是能够理解能够理解PCIPCI协议协议和支持标准的支持标准的PCIPCI操作操作,并且拥有由拥有由PCIPCI-SGSG分配的唯一固定的厂商标志码分配的唯
20、一固定的厂商标志码的各类设备。PCIPCI设备设备可以可以通过设备自带的总线桥总线桥直接挂到直接挂到PCIPCI总线总线,包括PCI总线上的PCI器件和PCI插槽上的PCI卡。如PCI-ISA总线接口卡、高速PCI显示器卡等。ISA设备与设备与ISA设备不同之处:设备不同之处:ISAISA设备,设备,如键盘、打印机、鼠标、LED显示器,不具备不具备PCIPCI设备的特点设备的特点,不能直接与不能直接与PCIPCI高速总线相连高速总线相连,而是与本地与本地ISAISA总线相连总线相连。ISAISA设备设备必须通过通过ISAISA总线和总线和PCI-ISAPCI-ISA桥桥才能与与PCIPCI总线
21、连总线连接接而进入微机系统中来。2022-8-5计算机接口技术302022-8-5计算机接口技术31图2.7 PCI设备与ISA设备 PCI设备和设备和ISA设备与系统的连接设备与系统的连接如图如图2.7所示所示。2.PCI功能功能 PCIPCI功能功能是一个PCIPCI物理设备物理设备可能包含包含的具有独立功能的具有独立功能的逻辑设备逻辑设备,一个一个PCIPCI设备设备可包含1818个个PCIPCI功能功能。若是单功能设备,则无PCI设备与PCI功能的区别,就统称PCI设备。PCIPCI规范规范要求对每个每个PCIPCI功能功能都配备都配备一个一个256256字节的配置空字节的配置空间间。
22、2022-8-5计算机接口技术322.7.5 PCI 设备配置空间设备配置空间1.PCI配置空间的作用配置空间的作用 PCIPCI配置空间配置空间是PCIPCI设备和设备和PCIPCI功能功能专用的地址空间专用的地址空间。2022-8-5计算机接口技术33作用n 分配给PCI设备,存放必要的配置信息n 建立本地用户总线与PCI总线资源的映射关系n 支持设备的即插即用2.PCI配置空间的格式配置空间的格式 每个 PCI 设备都分配有 64 个双字的配置空间,其开头开头16 16 个双字个双字称为称为 PCI PCI 设备的设备的配置空间头区域配置空间头区域,分为分为三类三类。它们的用途和格式均不
23、相同。2022-8-5计算机接口技术340 0类类,用于定义标准PCI设备1 1类类,用于定义PCI-PCI桥2 2类类,用于PCI-CardBus桥一般用户都使用一般用户都使用0 0类配置空间类配置空间,其头部区域的配置格式头部区域的配置格式如图如图2.82.8所示所示。2022-8-5计算机接口技术35图2.8 0类配置空间头区域布局格式3.配置空间的功能配置空间的功能 利用利用配置空间头区域配置空间头区域的配置寄存器提供的信息配置寄存器提供的信息,可以进行可以进行设备识别设备识别、设备地址映射设备地址映射、中断申请中断申请、设备控制设备控制以及提供设备状态提供设备状态等,这些信息这些信息
24、为在在PCIPCI总线系统中总线系统中搜索搜索PCIPCI设设备备和进行资源动态配置进行资源动态配置准备了条件准备了条件。其中,设备识别设备识别、设备地址映射设备地址映射、设备中断申请设备中断申请几种功能与与PCIPCI总线接口设计者关系密切总线接口设计者关系密切,故作重点介绍。下面分别讨论这些功能的实现。在了解这些配置寄存器时,一定要对照图2.8进行查看。2022-8-5计算机接口技术36(1)(1)设备识别功能设备识别功能 系统加电后系统加电后,会对总线上所有设备的配置空间进行扫描,检测是否有新设备和是什么样的设备(卡)检测是否有新设备和是什么样的设备(卡),然后根据各设备(卡)所提出的资
25、源请求根据各设备(卡)所提出的资源请求,给它们分配存储给它们分配存储器及器及I/OI/O基地址、地址范围和中断资源基地址、地址范围和中断资源,对其进行初始化对其进行初始化,实现设备即插即用。共有7 7个寄存器个寄存器支持设备的识别支持设备的识别。2022-8-5计算机接口技术37厂商标志(Vendor ID)寄存器设备标志(Device ID)寄存器版本标志(Revision ID)寄存器分类码(Class Code)寄存器子系统标志(Subsystem ID)寄存器头区域类型(Header Type)寄存器子系统厂商标志(Subsystem Vendor ID)寄存器(2)(2)设备地址的映
26、射功能设备地址的映射功能 1 1)地址空间映射地址空间映射PCI设备可以在地址空间中浮动,即PCI设备的起始地址不固定,是PCI总线中最重要的功能之一,它能够简化设备的配置过程。系统初始化软件系统初始化软件在引导操作系统之前,必须要建立建立起一个统一的系统地址空间起一个统一的系统地址空间与与本地空间之间地址映射关系本地空间之间地址映射关系,把本地的存储器本地的存储器和I/O I/O 控制器控制器映射到映射到适当的系统地址空间系统地址空间。为了使映射能够为了使映射能够做到做到与相应的设备无关与相应的设备无关,在配置空间的在配置空间的头区域头区域中安排了 6 6 个个双字的双字的基址寄存器基址寄存
27、器。基地址寄存器基地址寄存器简称基址寄存器,其格式与作用格式与作用如图如图2.92.9和和图图2.102.10所示所示。2022-8-5计算机接口技术38 2 2)基址寄存器格式与作用)基址寄存器格式与作用 基址寄存器为32位,所有的基址寄存器基址寄存器的位位0 0作为标志位标志位,用来标记标记是将将PCIPCI设备所需的地址空间设备所需的地址空间映射映射到到系统的存储空间系统的存储空间还是是I/OI/O空间空间。若为若为0 0,则则表示映射到存映射到存储器空间储器空间;若为若为1 1,则则表示映射到映射到I/OI/O地址空间地址空间。该位只能读,不能写。映射映射到系统到系统I/OI/O地址空
28、间的地址空间的基址寄存器基址寄存器 映射到映射到系统系统I/OI/O地址空间地址空间的基址寄存器的基址寄存器格式如图如图2.92.9所示所示。0 0位位为标志位,必须置必须置1 1,1 1位位为保留位,其余各位其余各位用来把PCIPCI设备的设备的I/OI/O空间的空间的基地址基地址映射到系统系统I/OI/O空间的空间的基地基地址址。2022-8-5计算机接口技术39图2.9 映射到I/O地址空间的基址寄存器格式 映射映射到系统存储器地址空间的到系统存储器地址空间的基址寄存器基址寄存器 映射映射到系统存储器地址空间的到系统存储器地址空间的基址寄存器基址寄存器格式如图如图2.102.10所所示示
29、。0 0位位为标志位,必须置必须置0 0,1 1位位、2 2位位为保留位,3 3位位为类型。其余各位其余各位用来把把PCIPCI设备的存储器空间的设备的存储器空间的基地址基地址映射到系统存储器空间的系统存储器空间的基地址基地址。2022-8-5计算机接口技术40图2.10 映射到存储器地址空间的基址寄存器格式 扩展的扩展的ROM 基址寄存器基址寄存器 有些PCIPCI设备设备,需要自己的需要自己的EPROMEPROM作为扩展ROM。为此,在配置空间定义一个双字的寄存器,用来用来将将PCIPCI设备的扩展设备的扩展ROMROM映射到系统存储器空间系统存储器空间。凡是支持扩展ROM的PCI设备,必
30、须设置这个寄存器。(3)设备中断处理功能设备中断处理功能 用于中断处理用于中断处理的寄存器的寄存器,在配置空间在配置空间有中断线寄存器中断线寄存器和中断引脚寄存器中断引脚寄存器。其作用如下。2022-8-5计算机接口技术41 中断线寄存器中断线寄存器 8 8位位,用于用于存放存放系统分配给系统分配给PCIPCI设备的中断号设备的中断号,即设备设备的中断中断请求线请求线与中断控制器中断控制器82C59A的哪一个中断输入线的哪一个中断输入线IRIR相连接相连接。这个寄存器寄存器的0 01515,对应对应IRQ0IRQ0IRQ15IRQ15,16254之间的值为保留值,255表示没有中断请求。POS
31、TPOST例程例程在在系统进行初始化和配置时初始化和配置时,要将将中断号中断号写入该寄存器写入该寄存器。设备驱动程序和操作系统可以利用中断线寄存器的信息来确定中断的优先级和向量。凡是使用了一个中断凡是使用了一个中断的PCIPCI设备设备都必须配置这个寄存器必须配置这个寄存器。中断引脚寄存器中断引脚寄存器 8 8位位,用于用于存放存放系统分配给系统分配给PCIPCI设备的中断申请线设备的中断申请线,即PCIPCI总线的中断引总线的中断引脚脚。该寄存器该寄存器的值为值为1 1表示使用使用INTA#INTA#,为为2 2表示使用使用INTB#INTB#,而3和4分别表示使用INTC#和INTD#。单
32、功能设备单功能设备只能使用只能使用INTA#INTA#。如果设备不使用中断,则必须将该寄存器清0。2022-8-5计算机接口技术424.配置空间的映射关系配置空间的映射关系 (1)PCI 配置空间整体结构配置空间整体结构 用于资源动态配置和地址映射的配置空间整体结构配置空间整体结构,实际上,有两套有两套寄存器寄存器:PCIPCI配置寄存器配置寄存器和LocalLocal配置寄存器配置寄存器。PCIPCI配置寄存器配置寄存器是PCIPCI协议协议标准规定的格式标准规定的格式,如图如图2.82.8所示所示0 0类配置空间头区域类配置空间头区域布局格式格式。LocalLocal配置配置寄存器寄存器是
33、PCIPCI接口芯片(桥)生产厂家设计的接口芯片(桥)生产厂家设计的,包括包括两个两个LocalLocal地址空间地址空间:Local Spase0和Local Spase1,以及以及处理中断和DMA传输的若干个若干个3232位位寄存器寄存器,这些寄存器在PCI配置空间头区域并不出现。为什么要搞两套寄存器?为什么要搞两套寄存器?由于系统的系统的与本地的本地的地址空间的大小地址空间的大小和描述描述方式不同方式不同,不能把用户所访问不能把用户所访问的本地地址本地地址直接传送到直接传送到系统的地址系统的地址空间,而是采用一种间接的方法采用一种间接的方法,把LocalLocal总线总线(如ISA总线)
34、的的I/OI/O及存储器地及存储器地址址映射到系统(系统(即PCIPCI总线)的总线)的I/OI/O及存储器地址及存储器地址。这样一来,处理器处理器对系统系统的的I/OI/O及存储器地址的访问及存储器地址的访问,也就是也就是对本地的本地的I/OI/O及存储器地址的访及存储器地址的访问问。为此为此,在PCI桥芯片内部桥芯片内部安排了PCIPCI和LocalLocal两侧两侧各自的配置寄存器各自的配置寄存器,为实现系统系统与本地本地两种资源的配置两种资源的配置与映射映射提供硬件支持提供硬件支持。2022-8-5计算机接口技术43(2)实现设备地址映射的基本方法)实现设备地址映射的基本方法 有了PC
35、I和Local两侧的配置寄存器,用户用户(设计者设计者)就可以利用利用Local一侧的寄存器一侧的寄存器提出(设置)提出(设置)所所要求使用要求使用的地地址空间址空间,而系统系统则利用则利用PCI一侧的一侧的6个基地址寄存器个基地址寄存器分配分配(配置)用户所要求(配置)用户所要求的地址空间地址空间。以此方法以此方法,对对桥芯片的内部配置寄存器进行初始化配置寄存器进行初始化,通通过初始化过初始化,在桥芯片内部建立起系统建立起系统与与本地之间地址空间本地之间地址空间的对应关系的对应关系,以便实现以便实现PCI与与Local两者地址的两者地址的映射映射,如图图2.11所示所示。2022-8-5计算
36、机接口技术44实现实现PCI与与Local两者地址的映射两者地址的映射,如图图2.11所示所示。1Local的配置空间存储器映射(定位到系统的存储空间)2Local的配置空间I/O映射(定位到系统的I/O空间)3Local的设备I/O映射(定位到系统的I/O空间)4Local的设备存储器映射(定位到系统的存储空间)2022-8-5计算机接口技术45图2.11 PCI与Local映射关系图5.配置空间的初始化过程配置空间的初始化过程 以桥芯片桥芯片PLX9054PLX9054内部配置空间的初始化为例内部配置空间的初始化为例介绍配置空间 初始化过程初始化过程。1)准备一片串行准备一片串行EEPRO
37、MEEPROM。2)事先把把用户所需要用到的资源用户所需要用到的资源作为初始值作为初始值烧入烧入EEPROMEEPROM 3)在系统启动系统启动时,桥桥PLX9054PLX9054自动将自动将EEPROMEEPROM中的值中的值读出读出并 装入装入LocalLocal配置寄存器配置寄存器。4)系统的即插即用管理程序即插即用管理程序,根据根据LocalLocal配置寄存器配置寄存器中的的 值分配值分配中断号中断号、内存空间内存空间、I/OI/O空间空间等系统资源系统资源,并装装 入入相应的PCIPCI配置寄存器配置寄存器。通过初始化通过初始化,在桥在桥PLX9054内部建立起内部建立起PCI配置
38、空间配置空间与Local配置空配置空 间间之间地址空间的对应关系地址空间的对应关系,为实现实现PCI与Local两者地址空间的映两者地址空间的映 射射提供支持。2022-8-5计算机接口技术462.7.6 PCI 配置空间的访问配置空间的访问1.1.配置空间的访问特点配置空间的访问特点2022-8-5计算机接口技术47处理器不能直接访问配置空间处理器不能直接访问配置空间,需通过配置机构的转换需通过配置机构的转换,将将处理器处理器发出的对对IO空间的访问空间的访问转换为对配置空间的访问对配置空间的访问。要实现对配置空间对配置空间配置寄存器配置寄存器的访问访问,必须先找到配置空间先找到配置空间,然
39、后然后再定位配置空间中定位配置空间中的配置寄存器配置寄存器。因为配置空间配置空间是PCIPCI设备的配置空间设备的配置空间,所以,找到找到PCIPCI设备设备也就是找也就是找到了配置空间到了配置空间,就能确定配置空间确定配置空间本身在系统中的地址在系统中的地址。那么,PCIPCI设备的地址是怎么分配的设备的地址是怎么分配的?在PCI总线结构中,系统系统给挂挂在在PCIPCI总线上总线上的每个PCIPCI设备设备分配一个总线号与设备号总线号与设备号,并以此作为以此作为PCIPCI设备设备在系统中的系统中的地址地址。为此为此专门设置了设置了一个配置地址寄存器配置地址寄存器为寻找寻找PCIPCI设备
40、提供地址设备提供地址。配配置地址寄存器的格式置地址寄存器的格式如图如图2.122.12所示所示。配置地址寄存器的格式配置地址寄存器的格式如图如图2.12所示所示。配置地址寄存器配置地址寄存器的最高位“使能使能”位必须置必须置1 1,表示是对配置空间进表示是对配置空间进行寻址。行寻址。若置若置0 0,则是一般的一般的I/OI/O访问访问。从图2.12可看出,配置地址寄存器配置地址寄存器包括8 8位总线号位总线号,可寻址可寻址256256条总线条总线,每个总线每个总线包含5 5位设备号位设备号,可挂可挂3232个设备个设备,每个设备每个设备包含3 3位功能号位功能号,可包括8 8个功能个功能,每个
41、功能每个功能有6464个双字个双字(配置寄存器)。可见,配置地址寄存器配置地址寄存器的内容为为PCIPCI设备在系统中的设备在系统中的定位定位提供了地址提供了地址,在稍后的例例2.12.1中可以看到,为了在系统中找到为了在系统中找到PCIPCI卡卡就是把把总线号、总线号、设备号设备号作为作为PCIPCI卡的地址卡的地址进行搜索的进行搜索的。这个地址也就是PCI卡的配置空间的基地址。2022-8-5计算机接口技术48图2.12 配置地址寄存器格式2.配置空间访问的方法与流程配置空间访问的方法与流程 1 1)配置空间的访问方法)配置空间的访问方法 通过配置机构访问配置空间访问配置空间的方法方法是使
42、用使用两个两个3232位位I/OI/O端口寄存器端口寄存器。一个一个叫配置地址寄存器(配置地址寄存器(I/O地址为0CF8H0CFBH),另一个另一个叫配置数据配置数据寄存器(寄存器(I/O地址为0CFCH0CFFH),通过通过这两个这两个3232位端口寄存器位端口寄存器来搜索搜索要访问的目标要访问的目标PCIPCI设备设备(卡)和获取配置信息。2 2)配置空间的)配置空间的访问流程访问流程第一步第一步,执行一次执行一次对32位配置地址寄存器写操作配置地址寄存器写操作,将将0 0号总线,号总线,0 0号设号设备备(若是多功能设备,则为0号功能)作为初始值作为初始值写到写到32位配置地址寄配置地
43、址寄存器存器。第二步第二步,执行一次执行一次对32位配置数据寄存器的读操作配置数据寄存器的读操作,检查读取的值是检查读取的值是不是目标设备不是目标设备,若是若是,则则找到了目标设备找到了目标设备;若不是若不是,则则改变配置地址改变配置地址寄存器的设备号寄存器的设备号,再写入再写入配置地址寄存器配置地址寄存器,然后再读取再读取配置数据寄存配置数据寄存器器,以此循环下去以此循环下去,直至获得要找的获得要找的PCIPCI设备设备(卡)。2022-8-5计算机接口技术49例例2.1 在在PCI总线系统中查找总线系统中查找PCI设备设备(卡卡)1.1.要求要求 通过两个32位I/O端口寄存器在在PCIP
44、CI总线系统中总线系统中查找查找目标设备目标设备PLX9054PLX9054接口卡接口卡,并获取该卡的配置信息。PLX9054PLX9054卡卡的Device IDDevice ID为0 x54060 x5406、Vendor IDVendor ID为0 x10B50 x10B5,并且是单功能设备是单功能设备。2.2.分析分析 要访问要访问PCIPCI设备设备的配置空间配置空间,必须要必须要先找到先找到PCIPCI设备设备,然后然后再去访问该再去访问该设备的配置空间设备的配置空间,获取配置信息。要查找要查找PCIPCI设备设备,其实其实就是查找就是查找PCIPCI设设备的配置空间头区域备的配置
45、空间头区域,也就是也就是确定配置空间头区域在系统中的确定配置空间头区域在系统中的基地址基地址,可以按照上述访问配置空间的两步法去做。3.3.程序程序 本程序本程序仅实现了找卡的任务实现了找卡的任务,未进行访问配置寄存器的操作,具体程具体程序清单序清单,参见教材参见教材P P29-P3129-P31 4.4.讨论讨论 参见教材P312022-8-5计算机接口技术50本本 章章 小小 结结1.总线的组成和作用、性能参数、标准总线的组成和作用、性能参数、标准2.总线传输操作过程总线传输操作过程3.重点分析了现代微机系统总线新技术重点分析了现代微机系统总线新技术4.ISA总线总线5.重点讨论了重点讨论了PCI总线技术中配置空间的作用总线技术中配置空间的作用及配置空间的访问方法及配置空间的访问方法