PCI系统结构(第四版) 第4章 之四
上一篇 /
下一篇 2007-12-14 15:47:37
负向译码(通过ISA桥)
背景
见图4-4。尽管我们正努力能在不远的将来消除ISA总线,但是市场上ISA总线仍出现在大部分系统中(此文写与02/28/98)。它可称作PCI规范中扩展总线桥,并主要嵌入在南桥中(与其他设备一起)。ISA桥以两种方式声明交易。
方法1:当PCI设备正在寻址一个嵌入在桥中的设备时(如实时时钟),桥就会知道所连接设备的地址并且很快译码地址和声明交易。
方法2:另一个方面,如果一个主设备正在寻址一个驻留在ISA总线上的设备时,桥就有一个问题,它不知道是否有设备安装在ISA扩展槽上,即使它知道,它也没有办法它们所用的I/O以及/或者存储范围。在这种情况下,桥执行负向译码。在一个特定时期内没有其他PCI设备声明交易时,PCI扩展总线桥可有效DEVSEL#并将交易转送到扩展总线上。它可以通过监视其他PCI设备产生的DEVSEL#信号状态,来确定没有其他PCI设备声明交易。如果在一个交易的地址段后的4个时钟周期都没有采样到有效的DEVSEL#,那么说明没有其他PCI设备已声明交易,扩展总线桥可以通过交易的第五个和第六个时钟周期内有效DEVSEL#来声明交易。这就称作负向译码。
ISA总线环境主要依靠负向译码来声明交易。,因为大多数ISA总线设备不是即插即用的,配置软件不能自动检测到它们的存在,并分配地址范围给她们的地址译码器。ISA桥使用负向译码来声明符合以下规范的交易:
■ 没有其它PCI设备已声明交易。据定义,所有PCI设备地址译码器是:
-快速(在紧跟地址段完成后的时钟单元内译码地址并有效DEVSEL#);
-中速(在地址段完成后的第二个时钟内有效DEVSEL#);
-慢速(在地址段完成后的第三个时钟内有效DEVSEL#);
如果ISA桥没有检测到任何其他的PCI设备使DEVSEL#有效(目标地址会对ISA环境有“感觉”,见下一条),那么在地址段完成后的第四个时钟内,桥有效DEVSEL#,交易在ISA总线上起动。
■ 目标地址段是整个ISA存储器或I/O地址范围中的一个。PCI设备未声明的低于16MB的任何存储器地址都被声明并传递到ISA总线。PCI设备未声明的低于64KB的任何I/O地址被声明并传送到ISA总线上。
调节负向译码器
由主机处理器(或任何其他总线主设备)起动的交易,直到PCI总线上地址段完成后的4个或5个周期才出现在ISA总线上,因此,访问ISA设备时,处理器的性能是下降的。为了缩小负向译码器在性能上的影响,ISA桥设计者允许负向译码器“可调”。在配置过程中,配置软件读取PCI总线每个设备的配置状态寄存器(见图4-5),在状态寄存器中所需要的单元之一就是DEVSEL#时间单元,表明设备是否有快速、中速或慢速地址译码器。例如,如果PCI总线上每个设备表明有一个快速译码器,软件可编程负向译码器以有效DEVSEL#,并在地址段完成后的第二时钟周期内声明交易(如果它在地址段后第一个时钟没有检测到DEVSEL#有效)。
阅读时序图
图4-6是一个典型的PCI时序图。当一个PCI设备使PCI信号有效或无效时,所使用的输出驱动器是典型的若CMOS驱动器。因此驱动器将信号线通过逻辑门限值转换为逻辑高或低十是不能一步到位的。在信号线上引起的电压变化一直传送下去,直到线路的物理末端。当沿着路径寻址,追到了每个PCI设备的根部时,波前端仍没有传送通过新逻辑门限值,因此任何设备都不能检测到。当沿着线路反馈时,无论如何,反馈全在线上产生双倍电压改变,使它穿过逻辑门限值。当双倍的波前端传送给线路时,它通过的每个设备会检测信号的新状态。信号穿过总线整长和返回所花费的时间称作Tprop或传送延迟。这个延迟参见时序图。
例如,一个主设备在时钟1的上升沿采样到FRAME#和IRDY#无效(总线空闲),并它的GNT#有效,表明它获取总线。主设备在时钟单位1使FRAME#信号有效,以表明交易的开始来启动交易。在时序图中,FRAME#直到时钟1上升沿后和时钟2上升沿前一段时间才显示出由高到低的转换示意传送延迟。FRAME#有效的同时,在时钟单元1期间开始主设备驱动地址到AD总线,但是地址的变化直到时钟1上升沿后和时钟2上升沿前一段时间才有效。
地址段在时钟2上升沿结束,并且主设备开始关闭它的AD总线驱动器。驱动器确实停止驱动AD总线所花费的时间在时序图上可见(直到时钟单元2的一段时间,主设备才成功地与AD总线断开)。
导入论坛
收藏
分享给好友
推荐到圈子
管理
举报
TAG: