PCI局部总线介绍剖析.ppt

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PCI局部总线介绍剖析

举例2:基址寄存器的值=FFF00000h =11111111111100000000000000000000B 位0=0,表示是一个存储器地址空间映射 位[2:1]=00b,它使32位存储器映射 位3=0,表示它不是预取存储器。 位[31:4] 第一个为1的是位20,表示映射的存储空间为1MB。 这意味着存储映射的基地址应该起始于1MB、2MB、3MB等的边界上。 系统经过权衡后再向该基址寄存器写入实际映射的空间基址。 求:最大/最小存储映射地址空间? 最小存储映射地址空间=16字节(2^4) 最大存储映射地址空间=2GB(2^31) (9)扩展ROM基地址寄存器 扩展ROM基地址=FFFF0001h 位0=1,表示扩展ROM访问允许 位[31:11] 第一个为1的是位16,表示映射的存储空间为64K。 这意味着ROM映射的基地址应该起始于64KB的边界 (13)中断引脚寄存器 8位只读寄存器,指明设备使用了PCI的哪个中断引脚。1代表INTA#,2为INTB#…… (14)中断请求线寄存器 8位可读/写寄存器,指明设备的中断引脚和PC机的8259A的哪个中断输入线连。 (15)Min_Gnt/Max_lat寄存器 Min_Gnt用来指定设备需要多长的突发传输时间。 Max_lat用来表示对PCI总线进行访问的频繁程度。 (10)高速缓冲(cache)行大小寄存器(CALN) (11)延时定时器(LAT) (12)内含自测试寄存器(BIST) 2.配置空间的访问 1)配置空间的寻址方式: 片选:只有当输入它的IDSEL信号有效, 设备选择:并且在地址期内AD[1:0]为00时,才能被作为配置访问的目标设备。 片内选择:AD7-2 2)配置空间访问的类型 0类配置空间访问 对(正在运行的)当前PCI总线上的目标设备配置寄存器所进行的访问。 被配置访问的目标设备必须在地址期采样到其IDSEL输入信号有效,并且AD[1∶0]必须为00。 地址期,AD[10∶8]用于选择物理设备的八种功能之一。AD [7∶2]为选择该功能设备的配置寄存器号(双字号);AD[1∶0]必须为00。 数据期,AD[31∶0]传送的是配置读/写数据 1类配置空间访问 对(通过PCI/PCI桥连接的)下一级PCI总线上的目标设备(配置寄存器)所进行的访问。 地址期:AD[10∶8]用于选择物理设备的八种功能之一。AD [7∶2]为选择该功能设备的配置寄存器号;AD[15∶11]用于选择第二级总线上的某个设备的IDSEL信号有效,AD[23∶16] 放总线号,AD[1∶0]必须为01。 一旦PCI/PCI桥检测到1类配置访问,就有三种情况,须分别进行处理。 桥片中也有桥配置空间寄存器,存放有总线号和次级总线号等信息。 如果要访问的总线号既不同于桥的第二级总线号,也不在桥的第二级总线号的下级总线范围内,那么桥将忽略本次访问。 如果总线号不同于桥的第二级总线,但在桥的第二级总线号的下级总线范围内,那么桥将本次访问作为1类配置访问传递给第二级总线。配置命令从第一级传递到第二级C/BE总线。 如果总线号与桥的第二级总线号相同,那么桥将本次访问作为0类配置访问传递给第二级总线。AD[10:2]直接从桥的第一级传递到第二级AD总线。AD[15:11 ]的设备号用于选择第二级总线上哪个设备的IDSEL信号有效。配置命令从第一级传递到第二级C/BE总线。 3 配置空间的访问方法 针对x86兼容的系统,PCI协议定义了将处理器发出的I/O或存储器访问识别或转换为配置访问的转换机构,称为配置机构。配置机构是利用两个32位的I/O端口寄存器来访问PCI设备的配置空间的。 配置地址端口寄存器(I/O地址为0CF8H~0CFBH) 配置数据口寄存器(I/O地址为0CFCH~0CFFH)。 第一步,将要访问的总线号、设备号、功能号和双字号写到配置地址端口寄存器。(32位写) 第二步,执行一次对配置数据端口寄存器的I/O读/写。 PCI BIOS 初始化程序只能通过PCI BIOS才能访问PCI配置寄存器。PCI BIOS再通过配置地址端口寄存器和配置数据口寄存器实现其功能。 1、16位PCI BIOS的调用 通过INT 1AH实现:AH=B1H,AL为子功能号。 2、32位PCI BIOS的调用 确认32位BIOS是否存在; 确认BIOS是否支持PCI BIOS,取得PCI BIOS入口地址; 通过对PCI BIOS入口地址的远程调用来实现:AH=B1H,AL为子功能号。 4. PCI中断 1. PCI中断请求 PCI中断线:INTA#、INTB#、INTC#、INTD#。 PCI中断源:PIRQA#~P

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档