280 likes | 464 Views
4 PCI 总线. PCI 总线也称为外部设备互连,为 Peripheral Component Interconnect Special Interest Group ,缩略语为 PCISIG 1992 年 6 月推出 1.0 版本 1993 年 4 月推出 2.0 1995 年 6 月 2.1 版本 1998 年 12 月推出 2.2 版本. 4.1 PCI 总线的特点. 线性突发传输 同步总线操作 多总线主控方式 不受处理器限制 适用于便携式计算机、服务器等各种机型 与 ISA 、 EISA 及 MCA 总线完全兼容 预留扩展空间 具有自动配置功能
E N D
4 PCI总线 • PCI总线也称为外部设备互连,为Peripheral Component Interconnect Special Interest Group,缩略语为PCISIG • 1992年6月推出1.0版本 • 1993年4月推出2.0 • 1995年6月2.1版本 • 1998年12月推出2.2版本
4.1 PCI总线的特点 • 线性突发传输 • 同步总线操作 • 多总线主控方式 • 不受处理器限制 • 适用于便携式计算机、服务器等各种机型 • 与ISA、EISA及MCA总线完全兼容 • 预留扩展空间 • 具有自动配置功能 • 编码总线命令 • …………
处理器 Cache AGP接口 运动视频 桥/存储控制器 DRAM SCSI 音频 图形 LAN PCI局部总线 扩展总线桥 基本I/O设备 扩展总线 工作站的PCI系统结构图
PCI总线连接器 • PCI总线规范定义了5V和3.3V两种工作电源电压 • 连接器有32位和64位两种 • 5V的连接器用于3.3V时,需要旋转180度 • PCI接口卡的金手指根据需要可设计成5V通用、5V/32位、5V/64位以及3.3V通用、3.3V/32位、3.3V/64位等多种形式
32位PCI总线连接器引脚序号 5V/32位连接器引脚排列 3.3V/32位连接器引脚排列
C/BE[3: 0]# 命令类型说明 C/BE[3:0]# 命令类型说明 0 0 0 0 中断应答(中断识别) 1 0 0 0 保留 0 0 0 1 特殊周期 1 0 0 1 保留 0 0 1 0 I/O读(从I/O口地址中读数据) 1 0 1 0 配置读 0 0 1 1 I/O写(向I/O口地址中写数据) 1 0 1 1 配置写 0 1 0 0 保留 1 1 0 0 存储器多行读 0 1 0 1 保留 1 1 0 1 双地址周期 0 1 1 0 存储器读(从内存空间映象读数据) 1 1 1 0 存储器读行 0 1 1 1 存储器写(向内存空间映象写数据) 1 1 1 1 存储器写并无效 4.3 PCI总线操作命令
4.4 PCI总线协议 • PCI的基本总线传输机制是突发传输,包括一个地址相位和一个或多个数据相位,支持存储器和I/O • 突发传输是指主桥电路(位于主处理器和PCI总线之间)可将针对存储器的多次访问在不影响正常操作的前提下合并为一次传输 • 置位基地址寄存器的预取位,可将数据预取与写合并。并可区分哪些空间可合并,哪些不能合并 • 遇到不可预取或任意范围的读操作时,停止合并 • I/O访问一般只有一个数据相位,因此不能突发访问
1、PCI总线的传输控制 • 数据传输控制信号线 • FRAME#,主设备驱动,传输起始和结束 • IRDY#,主设备驱动,允许插入等待周期 • TRDY#,从设备驱动,允许插入等待周期 • 无论主/从设备,一旦启动数据传输,就必须完成 • 最后一次数据传输完成时,FRAME#和IRDY#信号均被撤消,接口信号回到空闲状态 • FRAME#无效、而IRDY#有效时,总线忙;都无效时,总线空闲 • 一旦设置了IRDY#信号,直到当前数据相位结束为止,主设备不能改变IRDY#信号和FRAME#信号的状态
2、PCI总线的寻址 • 三种地址空间:内存地址空间、I/O地址空间和配置地址空间 • PCI总线的每个设备都有自己的地址译码逻辑 • 支持正向、负向两种地址译码方式 • 正向译码:每个设备都监视地址总线上的访问地址是否落在它的地址范围内 • 负向译码:未被其他设备在正向译码中接受的所有译码要等总线上其他所有设备都拒绝之后才能确定,总线上只能有一个设备采用此种方式。如标准扩展总线
AD1 AD0 C/BE3# C/BE2# C/BE1# C/BE0# 0 0 X X X 0 0 1 X X 0 1 1 0 X 0 1 1 1 1 0 1 1 1 1)I/O地址空间 • 采用全部译码 • 在I/O访问中,AD[l:0]一方面用来产生DEVSEL#信号,另一方面说明传输的有效字节
2)内存地址空间 • AD[31:02]译码得到双字边界对齐的起始地址,每个数据周期过后地址加4,直到传输过程结束 • AD[l:0]=00时,突发传输顺序为地址递增方式 • AD[l:0]=01时,为Cache行切换方式 • AD[l:0]=1X时,保留
3)配置地址空间 • IDSEL信号有效且AD[1:0]=00,则该设备被选为访问的从设备 • AD[l:0]=01,且译码符合某桥电路的编号,则说明配置访问是针对该桥电路后面的设备 • AD[7:2]用于选择每个设备配置空间的双字寄存器(共64个) • AD[10:8]用于选择某个功能设备 • AD[31:11]无意义
3、字节对齐 • 字节使能信号说明哪些字节有效。PCI总线上不能进行字节的交换,但64位总线的主设备可交换双字 • 数据来源于可缓冲的存储器时,无论使能是否有效,须传送所有字节 • 不支持高速缓存但支持预取的从设备,也可回送全部字节而不受字节使能信号的控制 • 字节使能可相邻或不相邻地组合 • 从设备必须通过发送TRDY#使数据传输完成
4、PCI总线的驱动与过渡 • 交换周期:为避免多个设备同时驱动一个PCI信号而产生竞争,信号由一个设备驱动转换到另一个设备驱动时,中间插入的时钟周期。用双箭头表示 • 不同信号的交换周期出现的时刻不同 • 所有AD信号在每个地址相位和数据相位期间,都必须是稳定状态(即使未用)
4.5 PCI总线上的数据传输过程 • PCI总线操作时序,介绍各信号之间的约束关系。 • 当某信号以虚线画出时,则表示没有设备驱动它。
4.7 PCI总线的其他操作 1、PCI设备的选择 • DEVSEL#指示PCI设备是否被选中,并由目标设备驱动 • DEVSEL#可在地址后1、2或3个时钟处被驱动,但不能迟后于TRDY#、STOP#或读数据的时钟沿 • 若FRAME#有效后的3个周期内没有DEVSEL#,则负向译码设备可置DEVSEL#有效而占用总线 • 在非配置命令中,设备先用FRAME#认可AD线上的信息,后才能设置DEVSEL#信号 • 在配置命令中,设备用FRAME#和AD[l:0]认可IDSEL后再设置DEVSEL#
AD[15:0] 消息类型 AD[31:16] 由消息决定的可选数据 0000H SHUTDOWN HALT 0001H 86有关信息 0002H 0003H-FFFFH 保留 2、PCI总线特殊周期命令 • 特殊周期命令中没有明显的目标地址,而是广播给所有的设备,设备无需给出联络信号作为响应 • 包含一个地址相位和一个数据相位。无需设备给出DEVSEL#。一般不超过6个时钟周期 • 在地址相位中,只有命令没有地址 • 在数据相位内,AD[15:00]表示信息类型;AD[31:16]表示选项数据
3、PCI总线配置周期 • PCI设备的地址译码不能对配置空间直接寻址,而要用下面方法: • ①片选信号。IDSEL选择PCI设备 • ②设备选择。地址相位期间,AD[l:0]=00选择设备进行配置 • ③片内选择。AD[7:2]和C/BE确定双字配置寄存器地址 • 选择AD[31:11]之一为IDSEL,因此可选中21个设备,未作IDSEL的线应为稳定状态
可编程逻辑器件实现PCI总线接口 • CPLD(复杂可编程逻辑器件 )或FPGA (现场可编程门阵列 )的优点是具有灵活的可编程性 • PCI接口可以依据插卡功能进行最优化,而不必实现所有的PCI功能,这样可以节约系统的逻辑资源 • 可以将PCI插卡上的其他用户逻辑与PCI接口逻辑集成在一个芯片上,实现紧凑的系统设计。 • 当系统升级时,只需对可编程器件重新进行逻辑设计,而无需更新PCB
PCI接口专用芯片 • 专用PCI接口芯片可以实现完整的PCI主控模块和目标模块接口功能,将复杂的PCI总线接口转换为相对简单的用户接口 • 厂商对PCI总线接口已经进行了严格的测试,用户只要设计转换后的总线接口即可。用户可集中于应用设计,而不是调试PCI总线接口,缩短开发时间 • 应用比较普遍的主要有AMCC公司的S5920(从)、 S5933(主),PLX公司的PCI9050、 PCI9054及PCI9080等芯片