一种用于并行计算机系统的带外诊断测试接口及测试方法

文档序号:6614550阅读:313来源:国知局
专利名称:一种用于并行计算机系统的带外诊断测试接口及测试方法
技术领域
本发明主要涉及到并行计算机系统的诊断测试技术领域,特指一种用于并行计算机 系统的带外诊断测试接口及测试方法。
背景技术
并行计算机系统通常由多个节点组成。每一个节点具有自己的微处理器、节点控制 器、本地内存、互连通信接口、输入输出设备等,形成一个相对独立的系统。所有节点 通过互连通信接口进行互连,组成高性能的并行计算机系统。随着超大规模集成电路技 术的发展以及印制电路板制造工艺的提高,现在的并行计算机系统性能日益提高,软硬 件规模和复杂性也日益增大,故障诊断测试问题越来越受到人们的重视。研究人员展开 了大量的系统诊断和测试问题的研究,许多新技术、新方法都应用到了系统的故障诊断 测试之中,融入到了系统设计的各个层次,力求使系统具有良好的诊断测试性,可以及 时、快速地检测与隔离故障,提高系统运行的可靠性与安全性,縮短故障检测与隔离时 间,进而减少维修时间,提高系统的可用性,降低系统使用保障费用。
目前业界对计算机系统的诊断测试方法主要采取内部测试为主,外部测试与内部测 试相结合的方法。外部测试使用专门的外部测试设备(如示波器、逻辑分析仪等)和被 测对象连接起来,对被测对象进行测试和诊断。但是外部测试不能完全满足实时测试与 诊断需求,因而产生了内部测试。内部测试技术是对系统进行测试性设计,使系统本身 具有一定的自我诊断测试能力,能够在系统运行时实时监测系统中的某些参数和状态, 自动检测与隔离故障。
然而,业界针对计算机系统采取的诊断测试方法,只能对系统的部分显式静态故障 进行检测,对于系统运行中出现的动态隐式故障以及部分显式静态故障则缺乏有效的检 测手段,无法做到在不影响系统正常运行的情况下获得系统内部实时的运行状态信息, 不能对系统进行带外诊断测试。特别是现在大规模的并行计算机系统,系统中包含的主 板种类多、数量大,对系统可靠性、可用性和可维护性要求高,诊断测试任务繁重,目 前尚未有一种有效的方法来实现对并行计算机系统多个节点的并行带外诊断测试。

发明内容
本发明要解决的问题就在于针对现有技术存在的技术问题,本发明提供一种结构
简单、操作简便、可靠性和稳定性高的用于并行计算机系统的带外诊断测试接口及测试 方法。
为解决上述技术问题,本发明提出的解决方案为 一种用于并行计算机系统的带外 诊断测试接口,其特征在于它包括外部连接端口单元和内部诊断测试逻辑单元,所述外
部连接端口单元包括边界扫描测试访问端口 TAP和与微处理器相连的RS232串行接口, 所述内部诊断测试逻辑单元包括
诊断测试指令寄存器,用于存储诊断测试指令;
诊断测试数据寄存器,用于存储诊断测试数据或者诊断测试指令的执行结果; 主机指令寄存器,微处理器直接访问,用于存储微处理器发送过来的错误处理指令; 主机数据寄存器,微处理器直接访问,用于存储微处理器发送过来的错误处理数据; 系统内部错误和状态寄存器,节点控制器将系统内部各个模块产生的错误以及一些
关键状态信息存储在此寄存器内;
TAP控制器,用于实现对诊断测试指令/数据寄存器、主机指令/数据寄存器、系统内
部错误和状态寄存器的读写访问控制;
诊断测试逻辑控制器,用于对系统主控管理模块加载的诊断测试指令进行解析,产
生相应的控制信号来启动硬件对诊断测试指令自动处理;
串口控制器,实现串口通信控制功能,为系统提供控制台终端服务; 中断控制逻辑单元,根据内部错误和状态寄存器的内容及微处理器的错误处理指令
生成相应的错误中断信号。
所述中断控制逻辑单元所接收的错误中断信号包括显式错误中断信号和隐式错误中
断信号,显式错误中断信号由系统节点控制器提供,用于系统运行时的故障检测;隐式
错误中断信号由微处理器进行设置,如果微处理器在执行指令的过程中发生错误或者需
要进行诊断测试操作,微处理器就会设置相应的错误中断信号通知主控管理模块进行错
误处理或诊断测试操作。
所述诊断测试指令寄存器为64位,由VAL (bit63)、 PI (bit62)、 NPI (bit61)、 CMP (bit60)、 CMD (bit[59:57])和ADDR (bit[56:0]) 6个域组成,各个域的含义如下
VAL:诊断测试指令有效标志;硬件根据该标志处理诊断测试指令,该位只能由主
控管理模块通过边界扫描写入设置,微处理器不可以操作;诊断测试接口控制逻辑通过
检测数据置位的上升沿启动对指令域的处理,主控管理模块启动一条诊断测试指令后,
在启动下一个指令时,需要将该位置为"o"后,再置为"r来启动下一个指令的处理,即产
生一个上升沿脉冲信号;PI:微处理器处理指令类型标志,表示指令类型是需要微处理器处理的指令;如果 指令是微处理器处理指令类型,则诊断测试接口硬件直接产生微处理器指令处理信号, 通知微处理器进行处理;
NPI:即非PI指令标志,表示指令类型是寄存器访问、清诊断测试指令寄存器、清 错误中断等测试指令类型;如果是非PI指令类型,则由节点控制器硬件自动进行处理;
CMP:指令处理完成标志;在主控管理模块启动一个指令后,诊断测试接口硬件首 先将该标志位置'T',然后节点控制器或者微处理器开始指令处理,在指令处理完成后清 "0";
CMD :诊断测试指令域,表示具体的指令类型-
今000:清零指令,对指令寄存器清零,为下次操作准备; 今001:寄存器读指令; 令010:寄存器写指令;
今Oil:清微处理器错误中断指令,同时置指令完成标志;
今1XX:主控管理模块发出给微处理器的指令,其中二进制的XX为预先约定 的指令,微处理器根据XX的内容执行指定的操作; ADDR:寄存器地址域,表示寄存器的具体字地址。
所述诊断测试主机指令寄存器为64位,由VAL (bit63)、 PEI (bit62)、 CLR (bit61) RESV (bit[60:0]) 6个域组成,各个域的含义如下
VAL:隐式错误处理指令有效标志;此有效位置"l",表明当前主机指令寄存器和主 机数据寄存器内容有效;
PEI:隐式错误处理中断标志,此位置"l",诊断测试接口产生一个隐式错误中断信 号,通知系统主控管理模块对此隐式错误进行处理;
CLR:微处理器无条件清主机指令寄存器信号,用于主控管理模块没有清除主机指 令寄存器时,微处理器自己清该寄存器。
所述诊断测试主机指令寄存器为64位,由VAL (bit63)、 PEI (bit62)、 CLR (bit61) RESV (bit[60:0]) 6个域组成,各个域的含义如下
VAL:隐式错误处理指令有效标志;此有效位置"l",表明当前主机指令寄存器和主 机数据寄存器内容有效;
PEI:隐式错误处理中断标志,此位置'T',诊断测试接口产生一个隐式错误中断信 号,通知系统主控管理模块对此隐式错误进行处理;
CLR:微处理器无条件清主机指令寄存器信号,用于主控管理模块没有清除主机指 令寄存器时,微处理器自己清该寄存器。
根据权利要求1的用于并行计算机系统的带外诊断测试方法,其特征在于步骤为
D. 主控管理模块对相应的节点通过带外诊断测试接口进行带外诊断测试;
E. 主控管理模块对诊断测试结果进行分析,查找并定位错误;
F. 主控管理模块将系统错误和诊断测试结果报告系统管理者。
在步骤A之前,可以通过主控管理模块检测系统某个节点的带外诊断测试接口的显 式错误中断信号或/和隐式错误中断信号。 所述步骤A包括以下内容
读取带外诊断测试状态和错误寄存器内容,查看系统运行状态,查找系统静态显式 故障;
或者,读取带外诊断测试主机指令/数据寄存器内容,查找系统运行中的动态隐式故
障;
或者,通过诊断测试指令/数据寄存器,读取内存、IO设备和节点控制器内部相关寄 存器信息,提供系统诊断现场数据; 或者以上各内容的组合。 与现有技术相比,本发明的优点就在于
1、 与目前业界诊断测试技术相比较,本发明在微处理器访问接口之外设计了诊断测 试指令/数据寄存器和主机指令/数据寄存器,可以使系统主控管理模块在不影响系统节点 正常运行的情况下对节点控制器进行动态调试和管理,对内存存储单元、内部寄存器、 外部设备进行访问,特别是系统宕机时能够对系统现场进行读取,为系统故障的诊断测 试提供了一个可靠高效的手段,这也是本发明的一个关键点所在。
2、 采用本发明设计的带外诊断测试接口和并行带外诊断测试方法,优点在于各个主 控管理模块独立操作,既不需要系统管理员的参与,也不会影响系统的正常运行,相互 之间也没有任何约束关系,从而做到了真正意义上的并行带外诊断测试,大大提高了整 个计算机系统的诊断测试效率,特别是对于大规模并行计算机系统,其可用性和可维护 性将跃上一个新的台阶。
3、 不同的系统规模,主控管理模块的数目也有所不同。由于主控管理模块的工作独 立于系统管理终端,因此整个系统的诊断测试结构具有良好的扩展性和并行性,特别有 利于对大规模并行计算机系统进行并行带外诊断测试。


图1是本发明带外诊断测试接口的结构框架示意图; 图2是本发明中诊断测试指令寄存器格式的示意图; 图3是本发明中诊断测试主机指令寄存器格式的示意图; 图4是本发明中诊断测试接口读写内部寄存器的流程示意图; 图5是本发明使用的节点控制器接口示意图; 图6是本发明的并行带外诊断测试方法示意图。
具体实施例方式
以下将结合附图和具体实施例对本发明做进一步详细说明。
本发明的一种用于并行计算机系统的带外诊断测试接口 ,它包括外部连接端口单元 和内部诊断测试逻辑单元,所述外部连接端口单元包括边界扫描测试访问端口 TAP和与 微处理器相连的RS232串行接口,所述内部诊断测试逻辑单元包括
诊断测试指令寄存器,用于存储诊断测试指令;
诊断测试数据寄存器,用于存储诊断测试数据或者诊断测试指令的执行结果; 主机指令寄存器,微处理器直接访问,用于存储微处理器发送过来的错误处理指令; 主机数据寄存器,微处理器直接访问,用于存储微处理器发送过来的错误处理数据; 系统内部错误和状态寄存器,节点控制器将系统内部各个模块产生的错误以及一些
关键状态信息存储在此寄存器内;
TAP控制器,用于实现对诊断测试指令/数据寄存器、主机指令/数据寄存器、系统内
部错误和状态寄存器的读写访问控制;
诊断测试逻辑控制器,用于对系统主控管理模块加载的诊断测试指令进行解析,产
生相应的控制信号来启动硬件对诊断测试指令自动处理;
串口控制器,实现串口通信控制功能,为系统提供控制台终端服务;
中断控制逻辑单元,根据内部错误和状态寄存器的内容及微处理器的错误处理指令
生成相应的错误中断信号。
其中,中断控制逻辑单元所接收的错误中断信号包括显式错误中断信号和隐式错误
中断信号,显式错误中断信号由系统节点控制器提供,用于系统运行时的故障检测;隐
式错误中断信号由微处理器进行设置,如果微处理器在执行指令的过程中发生错误或者
需要进行诊断测试操作,微处理器就会设置相应的错误中断信号通知主控管理模块进行
错误处理或诊断测试操作。
在本发明中,带外诊断测试是指在不需要微处理器参与、不影响系统正常运行的情
况下进行的诊断测试操作。并行带外诊断测试是指在不影响系统正常运行的情况下对并
行计算机系统的多个节点进行并行带外诊断测试操作。诊断测试接口设计在系统节点的
节点控制器内,是系统节点控制器的一个外部接口。系统节点控制器,含有微处理器接口、存储器接口、 IO接口、互连接口以及带外诊断测试接口等。微处理器接口与微处理 器总线相连,存储器接口与存储器总线相连;微处理器通过该接口访问本地存储器,其 它节点通过节点间的互连通路(即内部高速互连网络)实现对此节点本地存储器的访问。 IO接口用于挂接IO总线和IO设备,具有本地(本节点微处理器访问)和远程(其它节 点对其进行访问)访问能力。互连接口模块实现与系统内部高速互连网络的连接,通过 该模块本节点微处理器可以访问其它节点上的资源,其它节点也可以访问此节点上的本 地资源。边界扫描测试访问端口 TAP及TAP控制器符合正EE1994.1技术标准。边界扫 描技术是目前业界一个成熟的技术标准。系统节点控制器内设计有边界扫描测试访问端 口 TAP、边界扫描测试访问端口控制器、边界扫描指令寄存器、 一组边界扫描测试数据 寄存器,能够实现旁路测试(bypass)、外测试(extest)、采样测试(sample)、高阻态测 试(highz)等基本的边界扫描操作。同时TAP控制器内设计有读写带外诊断测试接口内 部寄存器的控制逻辑,实现了利用边界扫描机制读写带外诊断测试接口内部寄存器的功 能。诊断测试指令寄存器、诊断测试数据寄存器、主机指令寄存器、主机数据寄存器以 及系统错误和状态寄存器组成一个边界扫描寄存器链,由一条边界扫描寄存器访问指令 控制对它们的访问操作。诊断测试指令由指令码和操作地址组成。主控管理模块使用诊 断测试指令对节点内部进行诊断测试,这种诊断测试既可以通过节点控制器对硬件直接 进行诊断测试,又可以与微处理器进行交互诊断测试。诊断测试指令的指令码和操作地 址由主控管理模块通过边界扫描寄存器访问指令发送到节点控制器。诊断测试指令是由 主控管理模块根据用户输入或者诊断测试需要而生成的,指令分为节点控制器处理指令 和微处理器处理指令两类。节点控制器处理指令直接通过节点控制器对硬件进行诊断测 试,微处理器处理指令实现主控管理模块与微处理器的交互诊断测试。主控管理模块发 出的节点控制器处理指令由节点控制器硬件自动处理,整个过程不需要微处理器的参与, 不影响系统的正常运行;对于主控管理模块发出的微处理器处理指令,诊断测试控制逻 辑产生微处理器处理指令信号来通知微处理器进行处理,节点控制器硬件不再做其它操 作。微处理器响应诊断测试指令处理信号,完成指定的诊断测试操作,实现与主控管理 模块的交互诊断测试。操作地址指明了指令操作对象的系统内部地址,如寄存器地址、 内存存储单元地址、IO设备地址等。诊断测试指令需要的数据存储在诊断测试数据寄存 器中,节点控制器或者微处理器在将指令处理完成后,若有结果数据,则将结果数据保 存在这个寄存器中。主机指令寄存器和主机数据寄存器为检测系统运行中的动态隐式错 误提供了一个手段。当微处理器在正常运行过程中发现错误或者需要进行诊断测试操作 时,微处理器就直接访问这两个寄存器,将处理错误指令和数据写入,同时设置相应的 微处理器中断信号通知系统主控管理模块进行诊断测试和错误处理。系统内部错误与状态寄存器的内容反映了节点控制器内部实时的状态观察和静态错误检査,通过读取这个 寄存器的值,系统管理者可以实时了解系统的运行状态,并对内部错误作出快速的诊断。 错误中断信号包括显式错误中断信号和隐式错误中断信号。显式错误中断信号由系统节 点控制器提供,用于系统运行时的故障检测。节点控制器内部各个模块产生错误后,都 会向中断控制逻辑产生一个显式错误信号,中断控制逻辑在检测到显式错误信号后,形 成一个总的显式错误中断信号,通过诊断测试接口的显式错误中断信号送出;隐式错误 中断信号由微处理器进行设置,如果微处理器在执行指令的过程中发生错误或者需要进 行诊断测试操作,微处理器就会设置相应的错误中断信号通知主控管理模块进行错误处 理或诊断测试操作。
在上述装置的设计下,本发明进一步提出了根据上述装置,用于并行计算机系统的 带外诊断测试方法,当系统管理者希望通过诊断测试接口査看系统运行状态或者读取系 统内部数据时,其步骤为
A. 主控管理模块对相应的节点通过带外诊断测试接口进行带外诊断测试;
B. 主控管理模块对诊断测试结果进行分析,查找并定位错误;
C. 主控管理模块将系统错误和诊断测试结果报告系统管理者。
在较佳实施例中,在步骤A之前,可以通过主控管理模块检测系统某个节点的带外 诊断测试接口的显式错误中断信号或/和隐式错误中断信号。
所述主控管理模块具有系统监控管理功能,对系统节点进行的各种诊断测试操作都 是在主控管理模块的管理控制下完成的。主控管理模块通过边界扫描链路向诊断测试接 口发送诊断测试指令和数据,同时从诊断测试接口接收诊断测试结果数据并对数据进行 分析,査找和定位系统故障;主控管理模块可以有多种形式,既可以用系统管理终端实 现其功能,也可以作为一个功能模块设计在系统节点上。本方法中,为实现对并行计算 机系统进行并行带外诊断测试操作,将主控管理模块单独设计为一个系统管理控制板, 能够同时与多个系统节点的带外诊断测试接口连接,实现对多个系统节点的并行实时控 制、监视和诊断。
其中,步骤A包括以下内容-
读取带外诊断测试状态和错误寄存器内容,査看系统运行状态,査找系统静态显式 故障;
或者,读取带外诊断测试主机指令/数据寄存器内容,查找系统运行中的动态隐式故
障;
或者,通过诊断测试指令/数据寄存器,读取内存、IO设备和节点控制器内部相关寄 存器信息,提供系统诊断现场数据;或者以上各内容的组合。
以下所举的为具体实施例,在该实施例中,如图1所示,是本发明设计的带外诊断 测试接口,从图中可以看出,主要包括以下几个部分TAP控制器、诊断测试指令寄存 器(TESTJ3MD)、诊断测试数据寄存器(TEST一DATA)、主机指令寄存器(HOST—CMD)、 主机数据寄存器(HOST一DATA)、状态与错误标志寄存器、诊断测试控制逻辑模块、中 断控制逻辑模块、RS232串口控制器。诊断测试接口通过边界扫描TAP端口、 RS232与 系统主控管理模块连接,并输出两个中断信号来表明内部异常状态。
诊断测试指令/数据寄存器、主机指令/数据寄存器、状态与错误标志寄存器组成一个 边界扫描用户寄存器链,对这些寄存器的读写都是通过边界扫描TAP端口,在TAP控制 器的控制下实现的。
诊断测试处理控制逻辑模块检测接口输入指令的有效性,并按照不同的指令类型作 出不同的处理
*微处理器处理指令,则直接产生微处理器处理指令信号通知微处理器对此指令进 行处理,节点控制器硬件不再做其它的操作。微处理器处理完指令后,设置指令 处理完成标志;
内部寄存器访问指令和其它测试指令,则产生各种逻辑控制信号,启动节点控制 器硬件对指令进行处理;指令处理完后,设置指令处理完成标志;
状态与错误标志寄存器的内容反映了节点控制器内部静态的错误检査和状态观察, 通过读取这个寄存器的值,系统管理者可以实时了解系统的运行状态,并对内部错误作 出快速的诊断。
节点控制器提供的显式错误中断信号用于系统静态显式故障的检测,节点控制器内 部各个模块产生错误后,都会向中断控制逻辑产生一个错误信号,中断控制逻辑在检测 到错误信号后,形成一个总的错误中断信号,通过诊断测试接口送给系统主控管理模块。 系统主控管理模块一旦检测到节点控制器发出的总错信号,将立即读取节点控制器内部 关键寄存器的内容和错误标志寄存器的内容,对错误进行快速诊断。
隐式错误中断信号用于系统动态隐式故障的检测,微处理器在执行指令过程中发生 错误后或者在需要进行诊断测试时,就将错误处理指令和错误处理数据写入主机指令寄 存器和主机数据寄存器。系统主控管理模块一旦检测到带外诊断测试接口发出的隐式错 误中断信号,将立即读取主机指令寄存器和主机数据寄存器的内容,进行快速诊断处理。
RS232串行接口是系统管理者与微处理器交互通信的接口,系统管理者通过这个串
口向微处理器发送指令,微处理器通过此串口显示运行状态信息,实现硬件逻辑和系统 软件的功能调试,为系统提供控制台终端服务。
图2为本发明的诊断测试指令寄存器示意图,该寄存器有64位,由VAL(bit63)、 PI (bit62)、 NPI (bit61)、 CMP (bit60)、 CMD (bit[59:57])和ADDR (bit[56:0])等6 个域组成,各个域的含义如下-
* VAL:诊断测试指令有效标志;硬件根据该标志处理诊断测试指令,该位只能由 主控管理模块通过边界扫描写入设置,微处理器不可以操作;诊断测试接口控制 逻辑通过检测数据置位的上升沿启动对指令域的处理。主控管理模块启动一条诊 断测试指令后,在启动下一个指令时,需要将该位置为"0"后,再置为"l"来启动 下一个指令的处理(即产生一个上升沿脉冲信号);
* PI:微处理器处理指令类型标志,表示指令类型是需要微处理器处理的指令;如 果指令是微处理器处理指令类型,则诊断测试接口硬件直接产生微处理器指令处 理信号,通知微处理器进行处理。
* NPI:即非PI指令标志,表示指令类型是寄存器访问、清诊断测试指令寄存器、 清错误中断等测试指令类型;如果是非PI指令类型,则由节点控制器硬件自动 进行处理。
* CMP:指令处理完成标志;在主控管理模块启动一个指令后,诊断测试接口硬 件首先将该标志位置"r,然后节点控制器或者微处理器开始指令处理,在指令 处理完成后清"0"。
* CMD :诊断测试指令域,表示具体的指令类型
今000:清零指令,对指令寄存器清零,为下次操作准备;
今001:寄存器读指令;
令010:寄存器写指令;
今011:清微处理器错误中断指令,同时置指令完成标志;
今1XX:主控管理模块发出给微处理器的指令,其中二进制的XX为预先约定
的指令,微处理器根据xx的内容执行指定的操作。
* ADDR:寄存器地址域,表示寄存器的具体字地址。实际有效位设计为32位,
也可以根据系统设计需要进行更改。 图3为本发明的诊断测试主机指令寄存器示意图,该寄存器有64位,由VAL(bit63)、 PEI (bit62)、 CLR (bit61) RESV (bit[60:0])等6个域组成,各个域的含义如下
參VAL:隐式错误处理指令有效标志;此有效位置'T',表明当前主机指令寄存器
和主机数据寄存器内容有效。 * PEI:隐式错误处理中断标志。此位置'T',诊断测试接口产生一个隐式错误中断
信号,通知系统主控管理模块对此隐式错误进行处理。
CLR:微处理器无条件清主机指令寄存器信号,用于主控管理模块没有清除主机
指令寄存器时,微处理器自己清该寄存器。 主机指令/数据寄存器由微处理器写入,系统主控管理模块通过诊断测试接口进行读 取,用来实时通知主控管理模块,表示需要主控管理模块对节点进行诊断测试或错误处 理,包括以下几个步骤
1) 微处理器设置主机指令寄存器VAL标志位,产生隐式错误中断;
2) 系统主控管理模块检测到隐式错误中断信号,通过诊断测试接口读取主机指令寄 存器和主机数据寄存器的信息;
3) 系统主控管理模块通过边界扫描链路输入特殊指令处理序列清隐式错误中断信 号,或者微处理器自己清零主机指令寄存器。
图4为使用本发明的诊断测试接口读写系统内部寄存器流程示意图,包括如下几个 步骤-
1) 清除指令寄存器的指令有效标志位VAL;
2) 将诊断测试指令以及对应寄存器地址写入测试指令寄存器;
3) 若指令为写寄存器,则同时将数据写入测试数据寄存器;
4) 设置指令寄存器的指令有效标志VAL;
5) 节点控制器硬件检测指令有效标志位的上升沿变化,根据指令类型进行处理
a) 如果是预先定义的寄存器访问指令,则进行寄存器访问操作(包括读和写), 如果是寄存器读操作,则将输出值放在测试数据寄存器中;如果是寄存器写 操作,则将测试数据寄存器的值写入对应寄存器,最后设置指令处理完成标 志;
b) 如果是预先定义的清内部错误中断指令,则清除内部错误中断信号,设置指
令处理完成标志;
c) 如果是预定义的微处理器处理指令类型,则节点控制器直接产生微处理器指 令中断,通知微处理器进行处理。微处理器处理完后,设置指令处理完成标 志;
6) 系统主控管理模块通过边界扫描检测指令处理完成标志,如果指令处理完成标志
有效,则表明指令处理完成,否则循环步骤6;
7) .若当前的诊断测试操作为读取内部寄存器,则读取数据寄存器的值,获得读取结果。
8) 若需要进行其它的读写操作,重复步骤1 7。
所述系统内部寄存器包括节点控制器的内部寄存器、内存存储单元、IO等外部设备 存储单元等。只要是节点控制器能够访问的地址,主控管理模块都能够通过带外诊断测 试接口进行访问。
通过诊断测试接口对节点控制器内部的系统控制寄存器进行设置,可以对系统节点 进行冷复位、热复位等控制操作。当然,通过诊断测试接口能够实现哪些控制操作依赖 于具体的节点控制器设计,不同的设计可以实现不同的控制功能。
图5是本发明使用的节点控制器的接口示意图。节点控制器包括微处理器接口模块、 存储器接口模块、IO接口模块、互连接口模块和诊断测试接口模块等。微处理器接口与 微处理器总线相连;存储器接口模块与存储器总线相连,微处理器通过该模块访问本地 存储器,其它节点通过节点间的互连通路(即内部高速互连网络)实现对此节点本地存 储器的访问;IO接口模块用于挂接IO总线和IO设备,具有本地和远程(其它节点对其 进行访问)访问能力;互连接口模块实现与系统内部高速互连网络的连接,通过该模块 本地微处理器可以访问其它节点上的资源,其它节点也可以访问本地资源。
图6为本发明的并fi^带外诊断测试方法示意图,包括系统管理终端、系统主控管理 模块以及多个系统节点三部分。
全系统可以有一个或多个管理终端,系统管理终端既可以是服务器,也可以是台式 机、便携电脑。管理终端与系统主控管理模块之间通过串口或/和以太网连接,进行系统 管理、控制、监视、诊断测试信息的交换。
对系统进行并行带外诊断测试包括两个方面主动诊断测试和被动诊断测试。主动 诊断测试包括以下几个步骤
1) 系统管理员通过管理终端査看系统运行状态。串口终端软件通过主控管理模块的 串口控制模块与系统节点带外诊断测试串口建立连接,与微处理器进行交互通 信,查看系统实时运行状态。
2) 系统管理员向一个或多个主控管理模块发出带外诊断测试指令数据包。带外诊断 测试指令数据包中包含了相应目标节点的预定义编号、诊断测试操作以及相关的
一些信息,如寄存器读写地址、数据长度等。
3) 主控管理模块接收到带外诊断测试指令数据包后,对指定的节点进行带外诊断测
试。主控管理模块的诊断测模块对接收到的诊断测试指令数据包进行分析,确定 相应的目标节点,通过目标节点的诊断测试接口进行诊断测试操作,并从返回的 测试数据中提取有效数据进行分析,生成诊断测试结果。
4) 主控管理模块将带外诊断测试结果上报到系统管理终端。
5) 系统管理员从系统管理终端获得测试结果。
被动诊断测试在系统出现故障时进行,由相应的主控管理模块对故障点实施操作,
包括以下几个步骤
1) 主控管理模块检测到诊断测试接口的错误中断信号;
2) 诊断测试模块启动对故障点的带外诊断测试操作。
3) 诊断测试模块将测试结果上报系统管理终端。
采用上述接口和方法后,在不需要增加额外的电缆连接、不影响被测试系统正常运 行的情况下能够对并行计算机系统进行在线带外诊断测试,并且能够同时对多个系统节 点进行并行带外诊断测试,成功地解决了现有技术中不能对计算机系统进行带外诊断测 试的问题,特别是不能对并行计算机系统进行并行带外诊断测试的问题,提高了系统的 可靠性、可用性和可维护性。该接口和方法已经应用于本单位自行研制的某高性能大规 模并行计算机系统中,取得了很好的效果。
由于本发明所提出及在附图中展示的所有内容都是说明性而不是限制性的,因此在 不脱离本发明精神和范围的情况下,本领域的技术人员可以对上述在本发明中实现的概 念作出许多可能的技术改动和变型。倘若对本发明的这些改动和变型属于本发明权利要 求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1、一种用于并行计算机系统的带外诊断测试接口,其特征在于它包括外部连接端口单元和内部诊断测试逻辑单元,所述外部连接端口单元包括边界扫描测试访问端口TAP和与微处理器相连的RS232串行接口,所述内部诊断测试逻辑单元包括诊断测试指令寄存器,用于存储诊断测试指令;诊断测试数据寄存器,用于存储诊断测试数据或者诊断测试指令的执行结果;主机指令寄存器,微处理器直接访问,用于存储微处理器发送过来的错误处理指令;主机数据寄存器,微处理器直接访问,用于存储微处理器发送过来的错误处理数据;系统内部错误和状态寄存器,节点控制器将系统内部各个模块产生的错误以及一些关键状态信息存储在此寄存器内;TAP控制器,用于实现对诊断测试指令/数据寄存器、主机指令/数据寄存器、系统内部错误和状态寄存器的读写访问控制;诊断测试逻辑控制器,用于对系统主控管理模块加载的诊断测试指令进行解析,产生相应的控制信号来启动硬件对诊断测试指令自动处理;串口控制器,实现串口通信控制功能,为系统提供控制台终端服务;中断控制逻辑单元,根据内部错误和状态寄存器的内容及微处理器的错误处理指令生成相应的错误中断信号。
2、 根据权利要求l所述的用于并行计算机系统的带外诊断测试接口,其特征在于 所述中断控制逻辑单元所接收的错误中断信号包括显式错误中断信号和隐式错误中断信 号,显式错误中断信号由系统节点控制器提供,用于系统运行时的故障检测;隐式错误 中断信号由微处理器进行设置,如果微处理器在执行指令的过程中发生错误或者需要进 行诊断测试操作,微处理器就会设置相应的错误中断信号通知主控管理模块进行错误处 理或诊断测试操作。
3、 根据权利要求1或2所述的用于并行计算机系统的带外诊断测试接口,其特征在 于所述诊断测试指令寄存器为64位,由VAL (bit63)、 PI (bit62)、 NPI (bit61)、 CMP(b满)、CMD (bit[59:57])和ADDR (bit[56:0]) 6个域组成,各个域的含义如下 VAL:诊断测试指令有效标志;硬件根据该标志处理诊断测试指令,该位只能由主 控管理模块通过边界扫描写入设置,微处理器不可以操作;诊断测试接口控制逻辑通过 检测数据置位的上升沿启动对指令域的处理,主控管理模块启动一条诊断测试指令后,在启动下一个指令时,需要将该位置为"o"后,再置为"r来启动下一个指令的处理,即产 生一个上升沿脉冲信号;Ph微处理器处理指令类型标志,表示指令类型是需要微处理器处理的指令;如果 指令是微处理器处理指令类型,则诊断测试接口硬件直接产生微处理器指令处理信号, 通知微处理器进行处理;NPI:即非PI指令标志,表示指令类型是寄存器访问、清诊断测试指令寄存器、清 错误中断等测试指令类型;如果是非PI指令类型,则由节点控制器硬件自动进行处理;CMP:指令处理完成标志;在主控管理模块启动一个指令后,诊断测试接口硬件首 先将该标志位置"r,然后节点控制器或者微处理器开始指令处理,在指令处理完成后清"0";CMD :诊断测试指令域,表示具体的指令类型今000:清零指令,对指令寄存器清零,为下次操作准备; 令001:寄存器读指令; 今010:寄存器写指令;今Oil:清微处理器错误中断指令,同时置指令完成标志;今1XX:主控管理模块发出给微处理器的指令,其中二进制的XX为预先约定 的指令,微处理器根据XX的内容执行指定的操作; ADDR:寄存器地址域,表示寄存器的具体字地址。
4、 根据权利要求1或2所述的用于并行计算机系统的带外诊断测试接口,其特征在 于所述诊断测试主机指令寄存器为64位,由VAL (bit63)、 PEI (bit62)、 CLR (bit61) RESV (bit[60:0]) 6个域组成,各个域的含义如下VAL:隐式错误处理指令有效标志;此有效位置'T',表明当前主机指令寄存器和主 机数据寄存器内容有效;PEI:隐式错误处理中断标志,此位置"l",诊断测试接口产生一个隐式错误中断信 号,通知系统主控管理模块对此隐式错误进行处理;CLR:微处理器无条件清主机指令寄存器信号,用于主控管理模块没有清除主机指令寄存器时,微处理器自己清该寄存器。
5、 根据权利要求3所述的用于并行计算机系统的带外诊断测试接口,其特征在于所 述诊断测试主机指令寄存器为64位,由VAL (bit63)、 PEI (bit62)、 CLR (bit61) RESV(bit[60力])6个域组成,各个域的含义如下VAL:隐式错误处理指令有效标志;此有效位置'T',表明当前主机指令寄存器和主 机数据寄存器内容有效;PEI:隐式错误处理中断标志,此位置"l",诊断测试接口产生一个隐式错误中断信 号,通知系统主控管理模块对此隐式错误进行处理;CLR:微处理器无条件清主机指令寄存器信号,用于主控管理模块没有清除主机指 令寄存器时,微处理器自己清该寄存器。
6、 根据权利要求1的用于并行计算机系统的带外诊断测试方法,其特征在于步骤为A. 主控管理模块对相应的节点通过带外诊断测试接口进行带外诊断测试;B. 主控管理模块对诊断测试结果进行分析,査找并定位错误;C. 主控管理模块将系统错误和诊断测试结果报告系统管理者。
7、 根据权利要求6所述用于并行计算机系统的带外诊断测试方法,其特征在于在 所述步骤A之前,可以通过主控管理模块检测系统某个节点的带外诊断测试接口的显式 错误中断信号或/和隐式错误中断信号。
8、 根据权利要求6或7所述用于并行计算机系统的带外诊断测试方法,其#征在于 所述步骤A包括以下内容读取带外诊断测试状态和错误寄存器内容,査看系统运行状态,査找系统静态显式故障;或者,读取带外诊断测试主机指令/数据寄存器内容,査找系统运行中的动态隐式故障;或者,通过诊断测试指令/数据寄存器,读取内存、IO设备和节点控制器内部相关寄 存器信息,提供系统诊断现场数据; 或者以上各内容的组合。
全文摘要
本发明公开了一种用于并行计算机系统的带外诊断测试接口及测试方法,它包括外部连接端口单元和内部诊断测试逻辑单元,所述外部连接端口单元包括边界扫描测试访问端口TAP和与微处理器相连的RS232串行接口,所述内部诊断测试逻辑单元包括诊断测试指令寄存器、诊断测试数据寄存器、主机指令寄存器、主机数据寄存器、系统内部错误和状态寄存器、TAP控制器、诊断测试逻辑控制器、串口控制器以及中断控制逻辑单元。本发明是一种结构简单、操作简便、可靠性和稳定性高的用于并行计算机系统的带外诊断测试接口及测试方法。
文档编号G06F11/00GK101183321SQ20071019260
公开日2008年5月21日 申请日期2007年12月14日 优先权日2007年12月14日
发明者军 刘, 宏 吴, 屈婉霞, 庞征斌, 曹跃胜, 李永进, 田宝华, 勇 窦, 蒋句平, 谢伦国, 邓让钰, 郑明玲 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1