当前位置: 首页 > 专利查询>尹启凤专利>正文

基于计算机PCI总线的I/O端口的监控方法及装置制造方法及图纸

技术编号:2873822 阅读:196 留言:0更新日期:2012-04-11 18:40
本发明专利技术是一种对基于计算机PCI总线的I/O端口进行监控的方法及装置。挂接在计算机PCI总线(1)上的目标设备(3),其I/O端口在PCI总线上具有独占的地址;本发明专利技术的方法是在PCI总线上挂接一个监控装置(2),具有与被监控I/0端口相同的端口地址,本身不实现I/O端口的数据输入输出,而只是监控处于同一地址的被监控I/O端口所进行的I/O操作;该装置在检测到指定条件时,抢在被监控I/O端口进行数据传输前,向发起本次操作的PCI主设备(4)发出目标失败信号,强行取消本次操作,从而实现有目的地监控。(*该技术在2022年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及一种基于计算机PCI总线的I/O端口的监控方法及装置,尤其是对挂接在PCI总线上的设备的I/O端口进行监控,并对被监控的I/O端口进行有条件的操作限制的一种方法及监控装置。众所周知,计算机中的很多设备都是挂接在计算机系统总线上的,例如挂接在PCI总线上的网卡、显卡、数据保护卡,另外,当前计算机芯片组中的南桥芯片已经集成了PC机的很多外围I/O设备,例如RTC实时时钟和CMOS RAM、IDE控制器、定时器、DMA控制器等,虽然被集成在南桥芯片内部,但实际上这类设备仍然相当于挂接在系统总线上。以VIA威盛公司的南桥芯片VT82C686B为例,其集成了RTC、CMOS RAM、IDE等设备,整个南桥芯片挂接在PCI总线上,处理器CPU则通过北桥芯片VT82C694X与PCI总线通讯,当程序需要存取CMOS RAM时,处理器通过北桥芯片在PCI总线上发出I/O操作命令,此时所有挂接在PCI总线上的设备均可以接受到该命令,而只有南桥芯片中的CMOS RAM在接受到该命令时,在PCI总线上作出回应并被北桥芯片传递给处理器。Intel英特尔公司的一些南桥芯片,例如I82801BA则通过HUB Interface专用接口与北桥芯片I82815通讯,北桥芯片不直接连接PCI总线,处理器通过北桥芯片、再通过专用接口、最后通过南桥芯片与PCI总线通讯,当处理器存取IDE控制器时,南桥芯片有可能直接作出回应,而不再将操作发送到PCI总线上,但对于存取CMOS RAM的操作,南桥芯片将该I/O操作命令发送到PCI总线上,当然,最后还是南桥芯片集成的CMOS RAM自己作出回应。在实际应用中,有时我们需要监控某个设备的I/O操作甚至限制其中的一些操作。例如,当前的CMOS主要用于保存计算机的参数设置,包括工作方式、系统密码等,这些参数比较重要,通常情况下,操作系统只是读取参数,而BIOS则可以读取或者改写参数,但在学校等公用机房中的计算机上,个别操作者有可能修改CMOS,甚至加上开机密码,使得其它人无法正常使用,所以有必要锁定CMOS中的数据,即在设定好CMOS数据后禁止未授权的修改;对于硬盘及硬盘中的数据也存在类似的情况,费时费力安装好的软件很容易被实验者和恶意破坏者损坏,所以要对硬盘中的数据加以保护,当然,只要对硬盘局部的数据例如操作系统部分加以保护就可以了,而不必完全防止数据写入。目前针对上述问题的解决主要有一些软件方案,例如数据保护卡、硬盘还原卡,对于CMOS的保护,可以设定一个定时中断,每隔几十毫秒读取CMOS数据,与备份数据比较看是否被修改,如果被修改则恢复,很明显这样的方式效率很低,影响了系统性能,并且不能防止在禁止中断后的修改以及修改后立即复位的情况;对于硬盘数据保护,如果破坏者使用硬盘IO操作命令对IDE端口直接进行控制,因为没有办法事先对这类非授权IO操作加以阻拦,所以就很难加以防范。考虑到这类非授权IO操作的实际情况,管理人员希望有一种方法能够监控并且有条件地阻止IO端口操作,作为上述软件方案的替代方法或者辅助方法。本专利技术的目的是,提供一种基于PCI总线的监控I/O端口操作的方法及装置。本专利技术的技术构思主要基于PCI总线规范(PCI Local Bus Specification)考虑到一般的PCI设备为中速译码(Medium DEVSEL#timing,Medium Decode),即在发起操作的主设备(Master)发出操作命令、PCI总线地址周期后隔一个时钟周期,与该地址相匹配的PCI设备才通过有效DEVSEL#来声明自己被选中(Device Select),然后进行相应的操作,所以我们可以在与被监控I/O端口相同的端口地址上进行监听,并且采用快速译码方式,抢在中速译码的被监控I/O端口执行操作前,强行取消非授权的I/O端口操作,取消操作的方法可以采用PCI总线规范中所定义的目标失败(Target Abort)。实现本专利技术的技术方案是将一个硬件监控装置挂接在PCI总线上,该装置内部使用快速译码(Fast DEVSEL#Decode Timing)方式;该装置在与被监控I/O端口相同的端口地址上对I/O操作进行监听;该装置对被监控I/O端口的当前I/O操作进行筛选,如果检测到未经授权的I/O操作,则立即产生目标失败(Target Abort)信号,否则忽略当前的I/O操作。上述方案中的硬件监控装置,具有一个标准PCI总线I/O设备所应该有的PCI总线状态机、地址译码、命令译码等部分,但不需要I/O设备的执行部分。该监控装置与PCI总线相连接的引脚至少包括RST#,CLK,AD,C/BE#,FRAME#,STOP#,其中,RST#和CLK为系统复位信号和时钟信号,AD为地址或数据的复用信号,C/BE为命令或字节使能信号,FRAME#用于指示一个操作周期的起始,STOP#为用于产生目标失败信号;在实际应用时,通常还需要下列引脚PAR,IRDY#,TRDY#,DEVSEL#,IDSEL,这些引脚主要用于系统通过PCI总线识别并配置该硬件监控装置。在该监控装置内部设定对所监听的I/O端口地址使用PCI总线规范所定义的快速译码,也就是在检测到FRAME#变为有效时,对C/BE引脚上的操作命令进行命令译码,过滤掉非I/O操作,并对AD引脚上的地址进行地址译码,确定当前I/O操作的端口地址是否与被监控的I/O端口地址相匹配;如果地址匹配则该硬件装置进入一个伪I/O操作状态,但不驱动DEVSEL#和TRDY#及其它任何信号,在伪I/O操作状态中对当前的I/O操作进行具体过滤,筛选出未经授权的I/O操作。例如事先设定对CMOS数据端口71H进行写保护,则在进入71H端口写操作的伪I/O操作状态后立即产生目标失败;如果事先设定IDE命令端口1F7H不对数据30H作出反应(30H是IDE硬盘的写命令代码),则在进入1F7H端口写操作的伪I/O操作状态后,在IRDY#有效时对AD上的数据进行比较,如果是30H则产生目标失败或重试,否则忽略当前操作。上述方案中的目标失败(Target Abort),根据PCI总线规范,是指有效STOP#信号而无效DEVSEL#和TRDY#信号,指示本次I/O操作的目标设备无法完成本次操作。理论上,目标失败是由目标设备根据需要自行发出的,本专利技术的精髓之处,就是通过独立的监控装置监听目标设备的I/O操作,并根据需要强行替目标设备发出目标失败信号。因为PCI总线的STOP#是总线上各设备共用的,所以发起本次I/O操作的主设备(Master)不知道这是另一个设备发出的信号,在检测到目标失败后,主设备决定放弃本次操作;虽然目标失败不是I/O端口被监控的真实I/O目标设备发出的,但按照PCI总线规范,因为主设备无效FRAME#和IRDY#以放弃一个操作,目标设备也只能被动放弃操作,从而取消了一次未经授权的I/O操作。为了能够产生目标失败,监控装置应该使用快速译码,使得如果需要有效STOP#信号时,能够先于被监控I/O端口有效DEVSEL#信号;如果STOP#信号未能先于DEVSEL#信号有效,则目标失败信号变为重试信号,即要求主设备重试,这样有可能在重试计数结束后放弃操作本文档来自技高网...

【技术保护点】
基于PCI总线的I/O端口的一种监控方法,其特征是:将监控装置与I/O端口被监控的目标设备一起并联挂接在PCI总线上;该装置在与被监控I/O端口相同的端口地址上对I/O操作进行监听;该装置通过目标失败或重试信号取消对被监控I/O 端口的未经授权的I/O操作。

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:尹启凤
申请(专利权)人:尹启凤
类型:发明
国别省市:84[中国|南京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1