[拼音]:jisuanji zhenduan jishu
[外文]:computer diagnosis
计算机硬件故障的自动检测和自动定位的技术。故障检测是为了测试并确定计算机有无故障;故障定位是为了进一步把故障孤立或隔离到系统中的一个最小可替换的部位,如计算机的一块插件,插件的一个组件等。诊断是这两个过程的结合,而且是借助计算机自动实现的。
系统组成和诊断模式
为实现故障自动诊断,通常需要两个系统:一是数据生成系统,即预先在宿主机上按被诊断的数字网络建立故障模型,计算测试数据,编制故障字典;二是诊断控制系统,又称测试系统,由扫入扫出部件、诊断计算机或诊断处理部件和诊断程序组成。扫入部件用于向被测网络加载测试码,扫出部件用于回收被测网络的输出响应;诊断计算机或处理部件存放诊断数据和诊断程序,并通过执行诊断程序控制数据的扫入扫出,按故障字典分析和定位故障,最后给出诊断报告。
用一台计算机(一般是高可靠的小型机或微型机)作为诊断机对另一台计算机实施故障诊断,称作他诊断。应用通信技术,从一地对另一地的计算机实施他诊断称为远程诊断。在被诊断的计算机内设置叫作“硬核”的相当独立的诊断处理部件实施故障诊断,称为自诊断。诊断处理部件一般有较强的容错能力。在微程序控制的计算机中,以原有的微指令和微操作为基础,添加少量硬件,使用特殊的微程序来实施故障诊断,称为微诊断。在多机系统的系统级诊断中,多台计算机(好机和坏机)之间用互诊断模式实施诊断。
数据生成技术
计算机诊断离不开测试数据和故障定位数据。随着数字网络的规模越来越大,要求数据生成技术既能使诊断数据有较高的测试效率,又能尽量减少生成方法的计算复杂性。
测试生成算法
按故障模型对给定网络生成测试码的方法。布尔差分法和D算法是最著名的方法,它们都属确定性算法,即针对固定型故障模型中某一特定故障产生测试码。
布尔差分法是一种代数方法。实现布尔函数f(X)=f(x1,…,xn)的数字网络,记为
为检测xi固定0的故障,网络的正常输出值应与相应故障下的输出值存在差异,即布尔式
应取值1。式中嘰表示逻辑异或。展开f(X),得
因子fi(1)嘰fi(0)称为f关于xi的布尔差分,记作df/dxi,它是xi的变化传播到网络输出的布尔表示。于是,xi固定0的测试集是如下方程的解
同样可导出xi固定 1的测试方程。这一原理可以推广到时序电路和多故障模型。
D算法是一种试探法。网络的引线值除0,1和表示任意值的x 外,还引进d 和d 两个出错信号值。d 表示引线在正常网络中取1,故障网络中取0,而d 反之。D算法的实质是从故障引线出发,先沿着能反映出错情况的各条单通路或多通路途径试探,把出错信号值逐级传播到网络的某一输出线(称为D驱赶);再从网络输出向输入逐级检验D驱赶时所确定的值能否与元件功能一致(称为一致性操作),直到最终得到一组与D驱赶时的赋值相容的网络输入值。D算法采用“立方”运算,特别适用于计算机,是应用最广泛的测试生成算法,并被推广到时序电路和多故障模型。
在D算法基础上发展起来的九值算法,是把引线值扩充到九个值,每个值都包含正常网络和故障网络的引线状态(0,1或x),它更适于时序电路的测试生成。当扇出线数为n时,向前驱赶的最大试探次数由D算法的2n-1次减少到n次。为提高试探的成功率,还有许多改进的D算法,如加权法、代价分析法和智能试探法等。
除确定性算法外,还有覆盖全部故障的全电路测试生成法和选用某些随机数作测试码的蒙特卡洛法。
在整机和部件的测试生成中,除改进确定性算法以适应元件高级化的网络模型外,还有基于硬件描述语言,借助图论工具的功能性测试生成法。在系统级诊断中,用好机和坏机之间互诊断的测试响应模型来代替故障模型,从系统图生成测试。
故障模拟技术
故障模拟的主要作用是按给定的测试码对给定的网络模型计算各种故障的输出响应,以生成故障定位用的故障字典。
平行故障模拟是应用较广泛的一种门级故障模拟方法。若故障模型含m种故障,则对每个测试码需要模拟的网络有正常网络和各种故障网络共m+1个。针对各网络的不同点仅在故障元件,且引线值通常只用计算机的1~2位表示的特点,平行法以计算机单元的某一位对应一个网络,在字长为w的计算机上,一次便可平行地模拟w个网络。
演绎模拟一遍可以模拟全部故障。基本思想是先算出各引线的正常值,再从网络输入开始,根据各元件的功能和正常的输入输出值,逐级递推出各元件的故障表。通常,演绎模拟速度很快,但容量较大。
同时模拟是从演绎模拟发展而来的。元件故障表加进故障响应等内容而成为超级故障表,使多个测试码模拟节省很多重复操作。这种方法还适用于功能级故障模拟。
可测性设计
从易于测试出发,增设必要的控制点(输入)和观察点(输出),把大型系统的诊断化为若干小系统的诊断;把时序网络的诊断化为若干组合网络的诊断。
增加最少的控制点和观察点,使网络分成k个同规模的子网络,这属于测试点布局问题,是可测性设计的重要研究课题。
在时序网络的诊断中,对存储元件进行控制和观察具有重要意义,但不能为此而增加大量外部引线。较为通用的重要设计方法是使用附加的移位寄存器,即把所有按规则设计的存储元件连成移位寄存器链,只需两条外部引线就能实现链中所有内部状态的控制和观察。