CN100552636C - 一种用于并行计算机系统的带外诊断测试接口及测试方法 - Google Patents
一种用于并行计算机系统的带外诊断测试接口及测试方法 Download PDFInfo
- Publication number
- CN100552636C CN100552636C CNB2007101926074A CN200710192607A CN100552636C CN 100552636 C CN100552636 C CN 100552636C CN B2007101926074 A CNB2007101926074 A CN B2007101926074A CN 200710192607 A CN200710192607 A CN 200710192607A CN 100552636 C CN100552636 C CN 100552636C
- Authority
- CN
- China
- Prior art keywords
- diagnostic test
- instruction
- register
- microprocessor
- administration module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Abstract
本发明公开了一种用于并行计算机系统的带外诊断测试接口及测试方法,它包括外部连接端口单元和内部诊断测试逻辑单元,所述外部连接端口单元包括边界扫描测试访问端口TAP和与微处理器相连的RS232串行接口,所述内部诊断测试逻辑单元包括诊断测试指令寄存器、诊断测试数据寄存器、主机指令寄存器、主机数据寄存器、系统内部错误和状态寄存器、TAP控制器、诊断测试逻辑控制器、串口控制器以及中断控制逻辑单元。本发明是一种结构简单、操作简便、可靠性和稳定性高的用于并行计算机系统的带外诊断测试接口及测试方法。
Description
技术领域
本发明主要涉及到并行计算机系统的诊断测试技术领域,特指一种用于并行计算机系统的带外诊断测试接口及测试方法。
背景技术
并行计算机系统通常由多个节点组成。每一个节点具有自己的微处理器、节点控制器、本地内存、互连通信接口、输入输出设备等,形成一个相对独立的系统。所有节点通过互连通信接口进行互连,组成高性能的并行计算机系统。随着超大规模集成电路技术的发展以及印制电路板制造工艺的提高,现在的并行计算机系统性能日益提高,软硬件规模和复杂性也日益增大,故障诊断测试问题越来越受到人们的重视。研究人员展开了大量的系统诊断和测试问题的研究,许多新技术、新方法都应用到了系统的故障诊断测试之中,融入到了系统设计的各个层次,力求使系统具有良好的诊断测试性,可以及时、快速地检测与隔离故障,提高系统运行的可靠性与安全性,缩短故障检测与隔离时间,进而减少维修时间,提高系统的可用性,降低系统使用保障费用。
目前业界对计算机系统的诊断测试方法主要采取内部测试为主,外部测试与内部测试相结合的方法。外部测试使用专门的外部测试设备(如示波器、逻辑分析仪等)和被测对象连接起来,对被测对象进行测试和诊断。但是外部测试不能完全满足实时测试与诊断需求,因而产生了内部测试。内部测试技术是对系统进行测试性设计,使系统本身具有一定的自我诊断测试能力,能够在系统运行时实时监测系统中的某些参数和状态,自动检测与隔离故障。
然而,业界针对计算机系统采取的诊断测试方法,只能对系统的部分显式静态故障进行检测,对于系统运行中出现的动态隐式故障以及部分显式静态故障则缺乏有效的检测手段,无法做到在不影响系统正常运行的情况下获得系统内部实时的运行状态信息,不能对系统进行带外诊断测试。特别是现在大规模的并行计算机系统,系统中包含的主板种类多、数量大,对系统可靠性、可用性和可维护性要求高,诊断测试任务繁重,目前尚未有一种有效的方法来实现对并行计算机系统多个节点的并行带外诊断测试。
发明内容
本发明要解决的问题就在于:针对现有技术存在的技术问题,本发明提供一种结构简单、操作简便、可靠性和稳定性高的用于并行计算机系统的带外诊断测试接口及测试方法。
为解决上述技术问题,本发明提出的解决方案为:一种用于并行计算机系统的带外诊断测试接口,其特征在于它包括外部连接端口单元和内部诊断测试逻辑单元,所述外部连接端口单元包括边界扫描测试访问端口TAP和与微处理器相连的RS232串行接口,所述内部诊断测试逻辑单元包括:
诊断测试指令寄存器,用于存储诊断测试指令;
诊断测试数据寄存器,用于存储诊断测试数据或者诊断测试指令的执行结果;
主机指令寄存器,微处理器直接访问,用于存储微处理器发送过来的错误处理指令;
主机数据寄存器,微处理器直接访问,用于存储微处理器发送过来的错误处理数据;
系统内部错误和状态寄存器,节点控制器将系统内部各个模块产生的错误以及一些关键状态信息存储在此寄存器内;
边界扫描测试访问端口控制器,用于实现对诊断测试指令/数据寄存器、主机指令/数据寄存器、系统内部错误和状态寄存器的读写访问控制;
诊断测试逻辑控制器,用于对系统主控管理模块加载的诊断测试指令进行解析,产生相应的控制信号来启动硬件对诊断测试指令自动处理;
串口控制器,实现串口通信控制功能,为系统提供控制台终端服务;
中断控制逻辑单元,根据内部错误和状态寄存器的内容及微处理器的错误处理指令生成相应的错误中断信号。
所述中断控制逻辑单元所接收的错误中断信号包括显式错误中断信号和隐式错误中断信号,显式错误中断信号由系统节点控制器提供,用于系统运行时的故障检测;隐式错误中断信号由微处理器进行设置,如果微处理器在执行指令的过程中发生错误或者需要进行诊断测试操作,微处理器就会设置相应的错误中断信号通知主控管理模块进行错误处理或诊断测试操作。
所述诊断测试指令寄存器为64位,由VAL0(bit63)、PI(bit62)、NPI(bit61)、CMP(bit60)、CMD(bit[59:57])和ADDR(bit[56:0])6个域组成,各个域的含义如下:
VAL0:诊断测试指令有效标志;硬件根据该标志处理诊断测试指令,该位只能由主控管理模块通过边界扫描写入设置,微处理器不可以操作;诊断测试接口控制逻辑通过检测数据置位的上升沿启动对指令域的处理,主控管理模块启动一条诊断测试指令后,在启动下一个指令时,需要将该位置为″0″后,再置为″1″来启动下一个指令的处理,即产生一个上升沿脉冲信号;
PI:微处理器处理指令类型标志,表示指令类型是需要微处理器处理的指令;如果指令是微处理器处理指令类型,则诊断测试接口硬件直接产生微处理器指令处理信号,通知微处理器进行处理;
NPI:即非PI指令标志,表示指令类型是寄存器访问、清诊断测试指令寄存器、清错误中断等测试指令类型;如果是非PI指令类型,则由节点控制器硬件自动进行处理;
CMP:指令处理完成标志;在主控管理模块启动一个指令后,诊断测试接口硬件首先将该标志位置″1″,然后节点控制器或者微处理器开始指令处理,在指令处理完成后清″0″;
CMD:诊断测试指令域,表示具体的指令类型:
001:寄存器读指令;
1XX:主控管理模块发出给微处理器的指令,其中二进制的XX为预先约定的指令,微处理器根据XX的内容执行指定的操作;
ADDR:寄存器地址域,表示寄存器的具体字地址。
所述诊断测试主机指令寄存器为64位,由VAL1(bit63)、PEI(bit62)、CLR(bit61)RESV(bit[60:0])4个域组成,各个域的含义如下:
VAL1:隐式错误处理指令有效标志;此有效位置″1″,表明当前主机指令寄存器和主机数据寄存器内容有效;
PEI:隐式错误处理中断标志,此位置″1″,诊断测试接口产生一个隐式错误中断信号,通知系统主控管理模块对此隐式错误进行处理;
CLR:微处理器无条件清主机指令寄存器信号,用于主控管理模块没有清除主机指令寄存器时,微处理器自己清该寄存器。
根据权利要求1的用于并行计算机系统的带外诊断测试方法,其特征在于步骤为:
A.主控管理模块对相应的节点通过带外诊断测试接口进行带外诊断测试;
B.主控管理模块对诊断测试结果进行分析,查找并定位错误;
C.主控管理模块将系统错误和诊断测试结果报告系统管理者。
在步骤A之前,可以通过主控管理模块检测系统某个节点的带外诊断测试接口的显式错误中断信号或/和隐式错误中断信号。
所述步骤A包括以下内容:
读取带外诊断测试状态和错误寄存器内容,查看系统运行状态,查找系统静态显式故障;
或者,读取带外诊断测试主机指令/数据寄存器内容,查找系统运行中的动态隐式故障;
或者,通过诊断测试指令/数据寄存器,读取内存、IO设备和节点控制器内部相关寄存器信息,提供系统诊断现场数据;
或者以上各内容的组合。
与现有技术相比,本发明的优点就在于:
1、与目前业界诊断测试技术相比较,本发明在微处理器访问接口之外设计了诊断测试指令/数据寄存器和主机指令/数据寄存器,可以使系统主控管理模块在不影响系统节点正常运行的情况下对节点控制器进行动态调试和管理,对内存存储单元、内部寄存器、外部设备进行访问,特别是系统宕机时能够对系统现场进行读取,为系统故障的诊断测试提供了一个可靠高效的手段,这也是本发明的一个关键点所在。
2、采用本发明设计的带外诊断测试接口和并行带外诊断测试方法,优点在于各个主控管理模块独立操作,既不需要系统管理员的参与,也不会影响系统的正常运行,相互之间也没有任何约束关系,从而做到了真正意义上的并行带外诊断测试,大大提高了整个计算机系统的诊断测试效率,特别是对于大规模并行计算机系统,其可用性和可维护性将跃上一个新的台阶。
3、不同的系统规模,主控管理模块的数目也有所不同。由于主控管理模块的工作独立于系统管理终端,因此整个系统的诊断测试结构具有良好的扩展性和并行性,特别有利于对大规模并行计算机系统进行并行带外诊断测试。
附图说明
图1是本发明带外诊断测试接口的结构框架示意图;
图2是本发明中诊断测试指令寄存器格式的示意图;
图3是本发明中诊断测试主机指令寄存器格式的示意图;
图4是本发明中诊断测试接口读写内部寄存器的流程示意图;
图5是本发明使用的节点控制器接口示意图;
图6是本发明的并行带外诊断测试方法示意图。
具体实施方式
以下将结合附图和具体实施例对本发明做进一步详细说明。
本发明的一种用于并行计算机系统的带外诊断测试接口,它包括外部连接端口单元和内部诊断测试逻辑单元,所述外部连接端口单元包括边界扫描测试访问端口TAP和与微处理器相连的RS232串行接口,所述内部诊断测试逻辑单元包括:
诊断测试指令寄存器,用于存储诊断测试指令;
诊断测试数据寄存器,用于存储诊断测试数据或者诊断测试指令的执行结果;
主机指令寄存器,微处理器直接访问,用于存储微处理器发送过来的错误处理指令;
主机数据寄存器,微处理器直接访问,用于存储微处理器发送过来的错误处理数据;
系统内部错误和状态寄存器,节点控制器将系统内部各个模块产生的错误以及一些关键状态信息存储在此寄存器内;
TAP控制器,用于实现对诊断测试指令/数据寄存器、主机指令/数据寄存器、系统内部错误和状态寄存器的读写访问控制;
诊断测试逻辑控制器,用于对系统主控管理模块加载的诊断测试指令进行解析,产生相应的控制信号来启动硬件对诊断测试指令自动处理;
串口控制器,实现串口通信控制功能,为系统提供控制台终端服务;
中断控制逻辑单元,根据内部错误和状态寄存器的内容及微处理器的错误处理指令生成相应的错误中断信号。
其中,中断控制逻辑单元所接收的错误中断信号包括显式错误中断信号和隐式错误中断信号,显式错误中断信号由系统节点控制器提供,用于系统运行时的故障检测;隐式错误中断信号由微处理器进行设置,如果微处理器在执行指令的过程中发生错误或者需要进行诊断测试操作,微处理器就会设置相应的错误中断信号通知主控管理模块进行错误处理或诊断测试操作。
在本发明中,带外诊断测试是指在不需要微处理器参与、不影响系统正常运行的情况下进行的诊断测试操作。并行带外诊断测试是指在不影响系统正常运行的情况下对并行计算机系统的多个节点进行并行带外诊断测试操作。诊断测试接口设计在系统节点的节点控制器内,是系统节点控制器的一个外部接口。系统节点控制器,含有微处理器接口、存储器接口、IO接口、互连接口以及带外诊断测试接口等。微处理器接口与微处理器总线相连,存储器接口与存储器总线相连;微处理器通过该接口访问本地存储器,其它节点通过节点间的互连通路(即内部高速互连网络)实现对此节点本地存储器的访问。IO接口用于挂接IO总线和IO设备,具有本地(本节点微处理器访问)和远程(其它节点对其进行访问)访问能力。互连接口模块实现与系统内部高速互连网络的连接,通过该模块本节点微处理器可以访问其它节点上的资源,其它节点也可以访问此节点上的本地资源。边界扫描测试访问端口TAP及TAP控制器符合IEEE1994.1技术标准。边界扫描技术是目前业界一个成熟的技术标准。系统节点控制器内设计有边界扫描测试访问端口TAP、边界扫描测试访问端口控制器、边界扫描指令寄存器、一组边界扫描测试数据寄存器,能够实现旁路测试(bypass)、外测试(extest)、采样测试(sample)、高阻态测试(highz)等基本的边界扫描操作。同时TAP控制器内设计有读写带外诊断测试接口内部寄存器的控制逻辑,实现了利用边界扫描机制读写带外诊断测试接口内部寄存器的功能。诊断测试指令寄存器、诊断测试数据寄存器、主机指令寄存器、主机数据寄存器以及系统错误和状态寄存器组成一个边界扫描寄存器链,由一条边界扫描寄存器访问指令控制对它们的访问操作。诊断测试指令由指令码和操作地址组成。主控管理模块使用诊断测试指令对节点内部进行诊断测试,这种诊断测试既可以通过节点控制器对硬件直接进行诊断测试,又可以与微处理器进行交互诊断测试。诊断测试指令的指令码和操作地址由主控管理模块通过边界扫描寄存器访问指令发送到节点控制器。诊断测试指令是由主控管理模块根据用户输入或者诊断测试需要而生成的,指令分为节点控制器处理指令和微处理器处理指令两类。节点控制器处理指令直接通过节点控制器对硬件进行诊断测试,微处理器处理指令实现主控管理模块与微处理器的交互诊断测试。主控管理模块发出的节点控制器处理指令由节点控制器硬件自动处理,整个过程不需要微处理器的参与,不影响系统的正常运行;对于主控管理模块发出的微处理器处理指令,诊断测试控制逻辑产生微处理器处理指令信号来通知微处理器进行处理,节点控制器硬件不再做其它操作。微处理器响应诊断测试指令处理信号,完成指定的诊断测试操作,实现与主控管理模块的交互诊断测试。操作地址指明了指令操作对象的系统内部地址,如寄存器地址、内存存储单元地址、IO设备地址等。诊断测试指令需要的数据存储在诊断测试数据寄存器中,节点控制器或者微处理器在将指令处理完成后,若有结果数据,则将结果数据保存在这个寄存器中。主机指令寄存器和主机数据寄存器为检测系统运行中的动态隐式错误提供了一个手段。当微处理器在正常运行过程中发现错误或者需要进行诊断测试操作时,微处理器就直接访问这两个寄存器,将处理错误指令和数据写入,同时设置相应的微处理器中断信号通知系统主控管理模块进行诊断测试和错误处理。系统内部错误与状态寄存器的内容反映了节点控制器内部实时的状态观察和静态错误检查,通过读取这个寄存器的值,系统管理者可以实时了解系统的运行状态,并对内部错误作出快速的诊断。错误中断信号包括显式错误中断信号和隐式错误中断信号。显式错误中断信号由系统节点控制器提供,用于系统运行时的故障检测。节点控制器内部各个模块产生错误后,都会向中断控制逻辑产生一个显式错误信号,中断控制逻辑在检测到显式错误信号后,形成一个总的显式错误中断信号,通过诊断测试接口的显式错误中断信号送出;隐式错误中断信号由微处理器进行设置,如果微处理器在执行指令的过程中发生错误或者需要进行诊断测试操作,微处理器就会设置相应的错误中断信号通知主控管理模块进行错误处理或诊断测试操作。
在上述装置的设计下,本发明进一步提出了根据上述装置,用于并行计算机系统的带外诊断测试方法,当系统管理者希望通过诊断测试接口查看系统运行状态或者读取系统内部数据时,其步骤为:
A.主控管理模块对相应的节点通过带外诊断测试接口进行带外诊断测试;
B.主控管理模块对诊断测试结果进行分析,查找并定位错误;
C.主控管理模块将系统错误和诊断测试结果报告系统管理者。
在较佳实施例中,在步骤A之前,可以通过主控管理模块检测系统某个节点的带外诊断测试接口的显式错误中断信号或/和隐式错误中断信号。
所述主控管理模块具有系统监控管理功能,对系统节点进行的各种诊断测试操作都是在主控管理模块的管理控制下完成的。主控管理模块通过边界扫描链路向诊断测试接口发送诊断测试指令和数据,同时从诊断测试接口接收诊断测试结果数据并对数据进行分析,查找和定位系统故障;主控管理模块可以有多种形式,既可以用系统管理终端实现其功能,也可以作为一个功能模块设计在系统节点上。本方法中,为实现对并行计算机系统进行并行带外诊断测试操作,将主控管理模块单独设计为一个系统管理控制板,能够同时与多个系统节点的带外诊断测试接口连接,实现对多个系统节点的并行实时控制、监视和诊断。
其中,步骤A包括以下内容:
读取带外诊断测试状态和错误寄存器内容,查看系统运行状态,查找系统静态显式故障;
或者,读取带外诊断测试主机指令/数据寄存器内容,查找系统运行中的动态隐式故障;
或者,通过诊断测试指令/数据寄存器,读取内存、IO设备和节点控制器内部相关寄存器信息,提供系统诊断现场数据;
或者以上各内容的组合。
以下所举的为具体实施例,在该实施例中,如图1所示,是本发明设计的带外诊断测试接口,从图中可以看出,主要包括以下几个部分:TAP控制器、诊断测试指令寄存器(TEST_CMD)、诊断测试数据寄存器(TEST_DATA)、主机指令寄存器(HOST_CMD)、主机数据寄存器(HOST_DATA)、状态与错误标志寄存器、诊断测试控制逻辑模块、中断控制逻辑模块、RS232串口控制器。诊断测试接口通过边界扫描TAP端口、RS232与系统主控管理模块连接,并输出两个中断信号来表明内部异常状态。
诊断测试指令/数据寄存器、主机指令/数据寄存器、状态与错误标志寄存器组成一个边界扫描用户寄存器链,对这些寄存器的读写都是通过边界扫描TAP端口,在TAP控制器的控制下实现的。
诊断测试处理控制逻辑模块检测接口输入指令的有效性,并按照不同的指令类型作出不同的处理:
●微处理器处理指令,则直接产生微处理器处理指令信号通知微处理器对此指令进行处理,节点控制器硬件不再做其它的操作。微处理器处理完指令后,设置指令处理完成标志;
●内部寄存器访问指令和其它测试指令,则产生各种逻辑控制信号,启动节点控制器硬件对指令进行处理;指令处理完后,设置指令处理完成标志;
状态与错误标志寄存器的内容反映了节点控制器内部静态的错误检查和状态观察,通过读取这个寄存器的值,系统管理者可以实时了解系统的运行状态,并对内部错误作出快速的诊断。
节点控制器提供的显式错误中断信号用于系统静态显式故障的检测,节点控制器内部各个模块产生错误后,都会向中断控制逻辑产生一个错误信号,中断控制逻辑在检测到错误信号后,形成一个总的错误中断信号,通过诊断测试接口送给系统主控管理模块。系统主控管理模块一旦检测到节点控制器发出的总错信号,将立即读取节点控制器内部关键寄存器的内容和错误标志寄存器的内容,对错误进行快速诊断。
隐式错误中断信号用于系统动态隐式故障的检测,微处理器在执行指令过程中发生错误后或者在需要进行诊断测试时,就将错误处理指令和错误处理数据写入主机指令寄存器和主机数据寄存器。系统主控管理模块一旦检测到带外诊断测试接口发出的隐式错误中断信号,将立即读取主机指令寄存器和主机数据寄存器的内容,进行快速诊断处理。
RS232串行接口是系统管理者与微处理器交互通信的接口,系统管理者通过这个串口向微处理器发送指令,微处理器通过此串口显示运行状态信息,实现硬件逻辑和系统软件的功能调试,为系统提供控制台终端服务。
图2为本发明的诊断测试指令寄存器示意图,该寄存器有64位,由VAL0(bit63)、PI(bit62)、NPI(bit61)、CMP(bit60)、CMD(bit[59:57])和ADDR(bit[56:0])等6个域组成,各个域的含义如下:
●VAL0:诊断测试指令有效标志;硬件根据该标志处理诊断测试指令,该位只能由主控管理模块通过边界扫描写入设置,微处理器不可以操作;诊断测试接口控制逻辑通过检测数据置位的上升沿启动对指令域的处理。主控管理模块启动一条诊断测试指令后,在启动下一个指令时,需要将该位置为″0″后,再置为″1″来启动下一个指令的处理(即产生一个上升沿脉冲信号);
●PI:微处理器处理指令类型标志,表示指令类型是需要微处理器处理的指令;如果指令是微处理器处理指令类型,则诊断测试接口硬件直接产生微处理器指令处理信号,通知微处理器进行处理。
●NPI:即非PI指令标志,表示指令类型是寄存器访问、清诊断测试指令寄存器、清错误中断等测试指令类型;如果是非PI指令类型,则由节点控制器硬件自动进行处理。
●CMP:指令处理完成标志;在主控管理模块启动一个指令后,诊断测试接口硬件首先将该标志位置″1″,然后节点控制器或者微处理器开始指令处理,在指令处理完成后清″0″。
●CMD:诊断测试指令域,表示具体的指令类型:
1XX:主控管理模块发出给微处理器的指令,其中二进制的XX为预先约定的指令,微处理器根据XX的内容执行指定的操作。
●ADDR:寄存器地址域,表示寄存器的具体字地址。实际有效位设计为32位,也可以根据系统设计需要进行更改。
图3为本发明的主机指令寄存器示意图,该寄存器有64位,由VAL1(bit63)、PEI(bit62)、CLR(bit61)RESV(bit[60:0])4个域组成,各个域的含义如下:
●VAL1:隐式错误处理指令有效标志;此有效位置″1″,表明当前主机指令寄存器和主机数据寄存器内容有效。
●PEI:隐式错误处理中断标志。此位置″1″,诊断测试接口产生一个隐式错误中断信号,通知系统主控管理模块对此隐式错误进行处理。
●CLR:微处理器无条件清主机指令寄存器信号,用于主控管理模块没有清除主机指令寄存器时,微处理器自己清该寄存器。
●RESV:用于存储微处理器发送过来的错误处理指令。
主机指令/数据寄存器由微处理器写入,系统主控管理模块通过诊断测试接口进行读取,用来实时通知主控管理模块,表示需要主控管理模块对节点进行诊断测试或错误处理,包括以下几个步骤:
1)微处理器设置主机指令寄存器VAL标志位,产生隐式错误中断;
2)系统主控管理模块检测到隐式错误中断信号,通过诊断测试接口读取主机指令寄存器和主机数据寄存器的信息;
3)系统主控管理模块通过边界扫描链路输入特殊指令处理序列清隐式错误中断信号,或者微处理器自己清零主机指令寄存器。
图4为使用本发明的诊断测试接口读写系统内部寄存器流程示意图,包括如下几个步骤:
1)清除指令寄存器的指令有效标志位VAL0;
2)将诊断测试指令以及对应寄存器地址写入测试指令寄存器;
3)若指令为写寄存器,则同时将数据写入测试数据寄存器;
4)设置指令寄存器的指令有效标志VAL0;
5)节点控制器硬件检测指令有效标志位的上升沿变化,根据指令类型进行处理:
a)如果是预先定义的寄存器访问指令,则进行寄存器访问操作(包括读和写),如果是寄存器读操作,则将输出值放在测试数据寄存器中;如果是寄存器写操作,则将测试数据寄存器的值写入对应寄存器,最后设置指令处理完成标志;
b)如果是预先定义的清内部错误中断指令,则清除内部错误中断信号,设置指令处理完成标志;
c)如果是预定义的微处理器处理指令类型,则节点控制器直接产生微处理器指令中断,通知微处理器进行处理。微处理器处理完后,设置指令处理完成标志;
6)系统主控管理模块通过边界扫描检测指令处理完成标志,如果指令处理完成标志有效,则表明指令处理完成,否则循环步骤6;
7)若当前的诊断测试操作为读取内部寄存器,则读取数据寄存器的值,获得读取结果。
8)若需要进行其它的读写操作,重复步骤1~7。
所述系统内部寄存器包括节点控制器的内部寄存器、内存存储单元、IO等外部设备存储单元等。只要是节点控制器能够访问的地址,主控管理模块都能够通过带外诊断测试接口进行访问。
通过诊断测试接口对节点控制器内部的系统控制寄存器进行设置,可以对系统节点进行冷复位、热复位等控制操作。当然,通过诊断测试接口能够实现哪些控制操作依赖于具体的节点控制器设计,不同的设计可以实现不同的控制功能。
图5是本发明使用的节点控制器的接口示意图。节点控制器包括微处理器接口模块、存储器接口模块、IO接口模块、互连接口模块和诊断测试接口模块等。微处理器接口与微处理器总线相连;存储器接口模块与存储器总线相连,微处理器通过该模块访问本地存储器,其它节点通过节点间的互连通路(即内部高速互连网络)实现对此节点本地存储器的访问;IO接口模块用于挂接IO总线和IO设备,具有本地和远程(其它节点对其进行访问)访问能力;互连接口模块实现与系统内部高速互连网络的连接,通过该模块本地微处理器可以访问其它节点上的资源,其它节点也可以访问本地资源。
图6为本发明的并行带外诊断测试方法示意图,包括系统管理终端、系统主控管理模块以及多个系统节点三部分。
全系统可以有一个或多个管理终端,系统管理终端既可以是服务器,也可以是台式机、便携电脑。管理终端与系统主控管理模块之间通过串口或/和以太网连接,进行系统管理、控制、监视、诊断测试信息的交换。
对系统进行并行带外诊断测试包括两个方面:主动诊断测试和被动诊断测试。主动诊断测试包括以下几个步骤:
1)系统管理员通过管理终端查看系统运行状态。串口终端软件通过主控管理模块的串口控制模块与系统节点带外诊断测试串口建立连接,与微处理器进行交互通信,查看系统实时运行状态。
2)系统管理员向一个或多个主控管理模块发出带外诊断测试指令数据包。带外诊断测试指令数据包中包含了相应目标节点的预定义编号、诊断测试操作以及相关的一些信息,如寄存器读写地址、数据长度等。
3)主控管理模块接收到带外诊断测试指令数据包后,对指定的节点进行带外诊断测试。主控管理模块的诊断测模块对接收到的诊断测试指令数据包进行分析,确定相应的目标节点,通过目标节点的诊断测试接口进行诊断测试操作,并从返回的测试数据中提取有效数据进行分析,生成诊断测试结果。
4)主控管理模块将带外诊断测试结果上报到系统管理终端。
5)系统管理员从系统管理终端获得测试结果。
被动诊断测试在系统出现故障时进行,由相应的主控管理模块对故障点实施操作,包括以下几个步骤:
1)主控管理模块检测到诊断测试接口的错误中断信号;
2)诊断测试模块启动对故障点的带外诊断测试操作。
3)诊断测试模块将测试结果上报系统管理终端。
采用上述接口和方法后,在不需要增加额外的电缆连接、不影响被测试系统正常运行的情况下能够对并行计算机系统进行在线带外诊断测试,并且能够同时对多个系统节点进行并行带外诊断测试,成功地解决了现有技术中不能对计算机系统进行带外诊断测试的问题,特别是不能对并行计算机系统进行并行带外诊断测试的问题,提高了系统的可靠性、可用性和可维护性。该接口和方法已经应用于本单位自行研制的某高性能大规模并行计算机系统中,取得了很好的效果。
由于本发明所提出及在附图中展示的所有内容都是说明性而不是限制性的,因此在不脱离本发明精神和范围的情况下,本领域的技术人员可以对上述在本发明中实现的概念作出许多可能的技术改动和变型。倘若对本发明的这些改动和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1、一种用于并行计算机系统的带外诊断测试接口,其特征在于它包括外部连接端口单元和内部诊断测试逻辑单元,所述外部连接端口单元包括边界扫描测试访问端口TAP和与微处理器相连的RS232串行接口,所述内部诊断测试逻辑单元包括:
诊断测试指令寄存器,用于存储诊断测试指令;
诊断测试数据寄存器,用于存储诊断测试数据或者诊断测试指令的执行结果;
主机指令寄存器,微处理器直接访问,用于存储微处理器发送过来的错误处理指令;
主机数据寄存器,微处理器直接访问,用于存储微处理器发送过来的错误处理数据;
系统内部错误和状态寄存器,节点控制器将系统内部各个模块产生的错误以及一些关键状态信息存储在此寄存器内;
边界扫描测试访问端口控制器,用于实现对诊断测试指令/数据寄存器、主机指令/数据寄存器、系统内部错误和状态寄存器的读写访问控制;
诊断测试逻辑控制器,用于对系统主控管理模块加载的诊断测试指令进行解析,产生相应的控制信号来启动硬件对诊断测试指令自动处理;
串口控制器,实现串口通信控制功能,为系统提供控制台终端服务;
中断控制逻辑单元,根据内部错误和状态寄存器的内容及微处理器的错误处理指令生成相应的错误中断信号。
2、根据权利要求1所述的用于并行计算机系统的带外诊断测试接口,其特征在于:所述中断控制逻辑单元所接收的错误中断信号包括显式错误中断信号和隐式错误中断信号,显式错误中断信号由系统节点控制器提供,用于系统运行时的故障检测;隐式错误中断信号由微处理器进行设置,如果微处理器在执行指令的过程中发生错误或者需要进行诊断测试操作,微处理器就会设置相应的错误中断信号通知主控管理模块进行错误处理或诊断测试操作。
3、根据权利要求1或2所述的用于并行计算机系统的带外诊断测试接口,其特征在于所述诊断测试指令寄存器为64位,由VAL(bit63)、PI(bit62)、NPI(bit61)、CMP(bit60)、CMD(bit[59:57])和ADDR(bit[56:0])6个域组成,各个域的含义如下:
VAL0:诊断测试指令有效标志;硬件根据该标志处理诊断测试指令,该位只能由主控管理模块通过边界扫描写入设置,微处理器不可以操作;诊断测试接口控制逻辑通过检测数据置位的上升沿启动对指令域的处理,主控管理模块启动一条诊断测试指令后,在启动下一个指令时,需要将该位置为″0″后,再置为″1″来启动下一个指令的处理,即产生一个上升沿脉冲信号;
PI:微处理器处理指令类型标志,表示指令类型是需要微处理器处理的指令;如果指令是微处理器处理指令类型,则诊断测试接口硬件直接产生微处理器指令处理信号,通知微处理器进行处理;
NPI:即非PI指令标志,表示指令类型是寄存器访问、清诊断测试指令寄存器、清错误中断等测试指令类型;如果是非PI指令类型,则由节点控制器硬件自动进行处理;
CMP:指令处理完成标志;在主控管理模块启动一个指令后,诊断测试接口硬件首先将该标志位置″1″,然后节点控制器或者微处理器开始指令处理,在指令处理完成后清″0″;
CMD:诊断测试指令域,表示具体的指令类型:
ADDR:寄存器地址域,表示寄存器的具体字地址。
4、根据权利要求1或2所述的用于并行计算机系统的带外诊断测试接口,其特征在于所述主机指令寄存器为64位,由VAL1(bit63)、PEI(bit62)、CLR(bit61)RESV(bit[60:0])4个域组成,各个域的含义如下:
VAL1:隐式错误处理指令有效标志;此有效位置″1″,表明当前主机指令寄存器和主机数据寄存器内容有效;
PEI:隐式错误处理中断标志,此位置″1″,诊断测试接口产生一个隐式错误中断信号,通知系统主控管理模块对此隐式错误进行处理;
CLR:微处理器无条件清主机指令寄存器信号,用于主控管理模块没有清除主机指令寄存器时,微处理器自己清该寄存器;
RESV:用于存储微处理器发送过来的错误处理指令。
5、根据权利要求3所述的用于并行计算机系统的带外诊断测试接口,其特征在于所述主机指令寄存器为64位,由VAL1(bit63)、PEI(bit62)、CLR(bit61)RESV(bit[60:0])4个域组成,各个域的含义如下:
VAL1:隐式错误处理指令有效标志;此有效位置″1″,表明当前主机指令寄存器和主机数据寄存器内容有效;
PEI:隐式错误处理中断标志,此位置″1″,诊断测试接口产生一个隐式错误中断信号,通知系统主控管理模块对此隐式错误进行处理;
CLR:微处理器无条件清主机指令寄存器信号,用于主控管理模块没有清除主机指令寄存器时,微处理器自己清该寄存器。
6、根据权利要求1的用于并行计算机系统的带外诊断测试方法,其特征在于步骤为:
A.主控管理模块对相应的节点通过带外诊断测试接口进行带外诊断测试;
B.主控管理模块对诊断测试结果进行分析,查找并定位错误;
C.主控管理模块将系统错误和诊断测试结果报告系统管理者。
7、根据权利要求6所述用于并行计算机系统的带外诊断测试方法,其特征在于:在所述步骤A之前,可以通过主控管理模块检测系统某个节点的带外诊断测试接口的显式错误中断信号或/和隐式错误中断信号。
8、根据权利要求6或7所述用于并行计算机系统的带外诊断测试方法,其特征在于所述步骤A包括以下内容:
读取带外诊断测试状态和错误寄存器内容,查看系统运行状态,查找系统静态显式故障;
或者,读取带外诊断测试主机指令/数据寄存器内容,查找系统运行中的动态隐式故障;
或者,通过诊断测试指令/数据寄存器,读取内存、IO设备和节点控制器内部相关寄存器信息,提供系统诊断现场数据;
或者以上各内容的组合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101926074A CN100552636C (zh) | 2007-12-14 | 2007-12-14 | 一种用于并行计算机系统的带外诊断测试接口及测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101926074A CN100552636C (zh) | 2007-12-14 | 2007-12-14 | 一种用于并行计算机系统的带外诊断测试接口及测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101183321A CN101183321A (zh) | 2008-05-21 |
CN100552636C true CN100552636C (zh) | 2009-10-21 |
Family
ID=39448609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007101926074A Expired - Fee Related CN100552636C (zh) | 2007-12-14 | 2007-12-14 | 一种用于并行计算机系统的带外诊断测试接口及测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100552636C (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102053217A (zh) * | 2009-11-05 | 2011-05-11 | 上海华虹Nec电子有限公司 | 晶圆中断测试后再工事时快速处理的方法 |
CN106649043B (zh) * | 2016-12-28 | 2020-03-27 | 深圳新基点智能股份有限公司 | 一种运维系统故障自动诊断方法及系统 |
CN107168815B (zh) * | 2017-05-19 | 2020-09-18 | 苏州浪潮智能科技有限公司 | 一种收集硬件错误信息的方法 |
CN112100016B (zh) * | 2020-07-27 | 2023-07-14 | 珠海亿智电子科技有限公司 | 一种系统异常场景下的soc诊断方法及系统 |
CN112181744A (zh) * | 2020-09-25 | 2021-01-05 | 北京博睿维讯科技有限公司 | 一种转换器接口的故障检测方法、系统、终端以及存储介质 |
-
2007
- 2007-12-14 CN CNB2007101926074A patent/CN100552636C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101183321A (zh) | 2008-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7222262B2 (en) | Methods and devices for injecting commands in systems having multiple multi-processor clusters | |
CN100504798C (zh) | 处理器故障隔离的方法和装置 | |
CN102103535B (zh) | 多核处理器、多核处理器的调试系统和调试方法 | |
CN105074671B (zh) | 用于在内核模块和设备驱动程序中检测并发编程错误的方法和系统 | |
CN100552636C (zh) | 一种用于并行计算机系统的带外诊断测试接口及测试方法 | |
US4984239A (en) | Automatic verification system for maintenance/diagnosis facility in computer system | |
CN103810074A (zh) | 一种片上系统芯片及相应的监控方法 | |
CN101105782B (zh) | 基于高性能计算通讯架构的边界扫描系统及方法 | |
CN115841089A (zh) | 一种基于uvm的系统级芯片验证平台及验证方法 | |
CN103748562A (zh) | 测试、验证和调试架构 | |
CN101008916A (zh) | 处理误差信息和在处理器系统中注入误差的方法和装置 | |
CN103197914B (zh) | 多处理器延迟执行的方法和系统 | |
CN109426613A (zh) | 在uefi中检索调试数据的方法及其电脑系统 | |
US6282674B1 (en) | Apparatus and method for retrieval of circuit state information | |
CN101458304A (zh) | 嵌入式边界扫描技术验证平台 | |
CN102231079A (zh) | 基于实车行驶状态动态实时回放的车辆电控系统测试方法 | |
CN113887161A (zh) | 一种片上网络设计实例的验证方法、装置、设备及介质 | |
EP1990722B1 (en) | Failure analyzer | |
CN112685212B (zh) | 一种处理器异常的调试追踪方法、装置和系统 | |
CN101784905B (zh) | 用于对片上系统的制造进行控制的设计信息的验证 | |
CN102725735B (zh) | 多线程协同仿真方法及系统 | |
CN101706746A (zh) | 一种对存储器接口电路进行在线调试的装置及方法 | |
CN101895426B (zh) | 一种网络资源评估中的数据采集方法及系统 | |
CN110991614A (zh) | 一种Linux下GPU神经网络深度学习测试方法和系统 | |
CN101714114A (zh) | 一种支持处理器硅后调试的装置和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20091021 Termination date: 20131214 |