专利名称:单粒子效应引起cpu寄存器位翻转的测试方法及装置的制作方法
技术领域:
本发明涉及一种单粒子效应引起CPU寄存器位翻转的测试方法及装置。
随着我国航天、核武器、核潜艇等科学技术的发展,大规模计算机CPU芯片的辐射效应的研究也日趋重要,因为这些芯片往往是某一部分的控制核心,一旦失控将造成巨大损失,故如何模拟该芯片的辐射环境,并对其辐射产生的各种现象进行一些测试和分析,将具有十分重要的意义。通常,半导体电子部件在辐射环境下,随着辐射种类和辐射剂量的不同,它可能产生位移效应、电离效应、表面效应,这些效应均可导至半导体永久、半永久或瞬时损伤。对于双极性晶体管,一般用共发射极电流增益hFE来表征,其Δ(l/hFE)与辐射通量Ф成正比,即Δ(l/hFE)=kФ,其中K为损伤系数,所以对于中子、质子和电子所造成的永久损伤K将是一个很好的损伤表征量。瞬时辐射效应主要表现为出现感生光电流效应。但作为大规模集成电路CPU芯片它是一个电子系统,除了数以万计的晶体管上产生的辐射效应外,还要考虑到线路的辐射效应,及各单元元器件之间的寄生结和寄生晶体管引起的瞬时光电流,还有无源器件,它们也会产生辐射效应;因此CPU芯片的辐射效应将是一个非常复杂的过程。目前的趋向是建立辐射效应模型,用数学模型进行分析。在实验中,趋向测试其辐射效应的宏观现象,如单粒子效应SEE(Slngle Event Efect)其中又以单粒子位翻转SEU(Slngle Event Upest)和单粒子闭锁SEL(Slngle Event Latchup)的研究为主。微处理器的SEU测试在国际上通常流行以下五种检验方法(1)单计算机自检法(Self-test Single Computer method)以单个计算机的构型,来检验微处理器,如使用单板计算机(Single Board Computer),其处理器具备“自检(Self-Tests)”功能,并能将自检结果通过CRT显示或简单的LED显示。(2)附加控制器的单计算机法一个外部控制器通过与一个已存有“真值”的外部存储器不断比较来查询微处理器的工作。(3)控制器辅助的Golden Chlp法一个外部控制器比较所检验的微处理器与一个“标准”(Golden Chlp)微处理器的输出,它们都运行相同的程序。以上三种方法中,被测微处理器都是在它们需要的时候,自动提取存储在存储器(RAM or ROM)中的指令。(4)控制器支配的单个计算机法(Controller Domlnated,Slngle Computer Method)控制器“接替”(take over)单个计算机的存储器的功能,当被测微处理器需要提取指令时,由控制器来引入指令,所以指令是“force-fed”被动调入的,实际上被测微处理器是在给定的程序中依次单步(Slngle-steps)运行,用一控制器查询每一步的输出。(5)控制器支配的Golden Chlp法(Controller Domlnted,Golden Chip method)这是另一种单步法,翻转的查询包括比较被测微处理器的输出和“标准”微处理器(Golden Chlp)的输出,该标准CPU工作在相同的程序下。由控制器存储出错数据,在上述方法中,除了第(1)种外,其余的工作速度都受控制器“握手”(handshake)通信时的限制,控制器通常是一个微型或小型计算机,它需要好几个微妙(Tens of mlcroseconds)来收集和存储数据,因此一个DUT(Devlce Under Test)的时钟频率必须被中断,当控制器收集翻转数据时,“平均时钟频率”的概念被引人是为了特指在检验周期中平均时钟频率(average clock rate)。
本发明的目的是为了提供一种能仿真模拟并测试单粒子位翻转效应,且能实时获取、比较分析数据的单粒子效应引起CPU寄存器位翻转的测试方法。
本发明的另一目的还在于提供一种只有被测CPU接收辐照而确保位翻转产生源的单一性、并能不断自测各寄存器内容且可随时发送,数据处理部分可实时获取、不断比较分析、并实时记录翻转时间、寄存器类型和数据的单粒子效应引起CPU寄存器位翻转的测试装置。
本发明的目的可通过如下措施来实现一种单粒子应引起CPU寄存器位翻转的测试方法,含有下述步骤——给被测前端单板片的CPU的每个寄存器预先存贮一个易于观测位翻转的位图,并将欲执行读取各寄存器位翻转数据的程序存入被测CPU单板机的ROM存储器中;——将欲执行数据获取与处理的程序存入主控制计算机的程序存储器中;——将被测CPU置于辐照环境中;——启动主控计算机和前端单板机的被测CPU,在被测CPU的控制下,启用ROM中的程序,依次读出被测CPU的每个寄存器的内容,并传输至控制主机;——主计算机按其程序存储器中的数据获取与处理程序接收来自被测前端单板机传来的数据,并将其与已存入主机内存中的“真值”进行比较;比较后相同则不记录;如不同表示寄存器已发生位翻转,则记录发生位翻转的时间、寄存器名及数据本身,并将其作为下一次数据的原初值;——重复上述步骤直至闭锁现象或死机;则使用被测CPU的远端硬清除开关,重新开始直至测试结束。
一种单粒子效应引起CPU寄存器位翻转的测试装置含有主控计算机和PC机接口板;该装置还包括被测前端单板机;在前端单板机上装有被测CPU及其寄存器、时钟芯片、译码器、定时芯片和并行通用接口芯片;还装有存储读取被测CPU各寄存器位翻转程序的ROM存储器;前端单板机被屏蔽,只有被测CPU置于辐射环境中。
本发明的目的还可通过如下措施来实现单粒子效应引起CPU寄存器位翻转的测试方法中给被测CPU的每个寄存器预先存储的位图可为FFFF、OAOA、0505等类十六进制码。
其测试装置在主控计算机上还设有一个可远程硬清除被测CPU闭锁或死机的硬清除开关。
本发明相比现有技术具有如下优点1、本发明的测试方法与其他方法相比不受“握手”的限制,可方便快捷地测试单粒子效应引起的位翻转效应。
2、本发明的装置能准确、及时记录单粒子效应所产生的位翻转所发生的时间、寄存器名、事件个数和翻转后的位图;便于离线分析和处理数据。
3、本发明的装置可在计算机屏幕上直观定性观察、监测位翻转的情况。
4、本发明的装置可在加速器束流的辐照下进行观察与测试单粒子效应。
5、本发明的装置由于主计算机与前端单板机之间通讯采用并行和“握手”方式;因而其测试速度快,数据可靠、误码率极低。
本发明的具体结构由以下附图给出
图1是本发明的测试装置结构示意图1-前端单板机 2-被测CPU 3-时钟芯片 4-译码器 5-定时芯片6-并行通用接口芯片 7-PC机接口板 8-控制主机 9-ROM存储器10-寄存器图2是本发明的ROM存储器内的读取各寄存器位翻转程序的流程3是本发明的控制主机的数据获取与处理程序的流程图本发明还将结合附图实施例作进一步详述实施例一种单粒子应引起CPU寄存器位翻转的测试方法含有下述步骤——给被测前端单板机1的CPU2的每个寄存器10预先存贮一个易于观测位翻转的位图FFFF、OAOA、0505等类十六进制码;并将欲执行读取各寄存器10位翻转数据的程序存入被测CPU单板机的ROM存储器9中;
——将欲执行数据获取与处理的程序存入主控制计算机8的程序存储器中;——将被测CPU置于辐照环境中;——启动主控计算机8和前端单板机1的被测CPU2,在被测CPU2的控制下,启用ROM9中的程序,依次读出被测CPU2的每个寄存器10的内容,并传输至控制主机8;——主计算机8按其程序存储器中的数据获取与处理程序接收来自被测前端单板机1传来的数据,并将其与已存入主机8内存中的“真值”进行比较;比较后相同则不记录;如不同表示寄存器10已发生位翻转,则记录发生位翻转的时间、寄存器10名及数据本身,并将其作为下一次数据的原初值;——重复上述步骤直至闭锁现象或死机;则使用被测CPU的远端硬清除开关,重新开始直至测试结束。
参照图1,单粒子效应引起CPU寄存器位翻转的测试装置含有主控计算机8和PC机接口板7;该装置还包括被测前端单板机1;在前端单板机1上装有被测CPU2及其寄存器10、时钟芯片3、译码器4、定时芯片5和并行通用接口芯片6;还装有存储读取被测CPU2各寄存器10位翻转程序的ROM9存储器;前端单板机1上的其他元件远离被测CPU2而被屏蔽,只有被测CPU10置于辐射环境中;在主控计算机8上还设有一个可远程硬清除被测CPU2闭锁或死机的硬清除开关;主控计算机8的PC机接口板7与并行通用接口芯片6通过10m50Ω的同轴电缆联接。
参照图2,ROM流程图的说明如下启动控制主机8和被测CPU2,控制主机8的程序启动,给出一个控制字CTL并行通用接口芯片8255输入至被测CPU2,如控制字CTL=F1,则ROM程序选择测试CPU80C86寄存器的位翻转,然后初始化8255,初始化被测CPU80C86的各个寄存器10;然后选取第1个寄存器10的识别码F(R1)通过8255的A口发送至主机8,判断主机是否接收到识别码,“否”则重新发送,“是”则读取第1个寄存器10的内容C(R1)并通过8255的A口发送至主机8;再判断是否发送至主机8,“否”则重新发送,“是”则开始1+1个寄存器的测试,返回至选取1+1个寄存器10的识别码直至测试结束。
参照图3,主机8的数据获取与处理程序流程图的说明如下主机8和被测CPU2启动后,主机8的程序开始启动进入初始化,输入$A如为F1,则主机8程序选择获取,处理被测CPU2发送的寄存器10数据;首先检验主机内存储的被测CPU寄存器内容R1,接收由ROM程序读取的F(R1)从8255输入的寄存器状态识别码F1,判断F1是否等于主机的第1个寄存器,“否”则返回重新接收,“是”则程序选择进入1处理子程序;然后接收ROM程序读取的第1个寄存器的内容R1,判断R1是否等于R1-1(即第一次接收时为主机的初始值),“否”则将R1作为下一次比较的初始值,并存盘记录发生位翻转的时间、寄存器名和数据并显示;“是”则显示;显示后则返回接收下一个发送的寄存器识别码F1+1,如此反复直至测试结束。
上述两个流程图进行循环时,如CPU出现闭锁或死机,则用硬清除开关清除,重新开始。由于辐射效应并非仅仅发生在CPU所能测出的各寄存器中, 也可能出现在其它环节中,因而本发明还可测试定时芯片8254的位翻转效应。
ROM程序是采用汇编语言编写的,其关键性的子程序主要有1、发送位图的程序ORG0A60HTST1MOV AL,82HOUT0D7H,AL ;
AX2299INT MOV BL,11H ;03
BX8811MOV BH,88H ;04
CXaaaaMOV CL,0AAH ;05
DX005fMOV CH,0AAH ;06
BP00FFMOV DL,05FH ;07
DI2299MOV DH,00H ;08
SP00ffMOV BP,00FFH ;0B-0C
SIff00MOV DI,2299H ;09-0A
CS9922MOV SP,00FFH ;0D-0E [10]DS2299MOV SI,0FF00H ;0F-10[11]SS00FFMOV DS,DI ;11-12 [12]ESaaaaMOV SS,BP ;15-16 [13]FL46,47MOV ES,CX ;17-18LAHF ;19JMP J22、读取B、C寄存器数据的子程序J1IN AL,0D3HCMP AL,01HJZ INI;;;;;;;;;B B B B ;;;L L L L L ;;;;;;;;;;;;;;;;J2MOV AL,030HOUT0D5H,ALMOVAL,BLOUT0D1H,ALDEC DLJN2 J2MOV DL,5FH;;;;;;;;;B B B B B ;;;H H H H H ;;;;;;;;;;;;;;;;;J3MOV AL,040HOUT0D5H,ALMOV AL,BHOUT0D1H,ALDEC DLJNZ J3MOV DL,5FH;;;;;;;;;C C C C C ;;;L L L L L;;;;;;;;;;;;;;;;;J4MOV AL,050HOUT0D5H,ALMOV AL,CLOUT OD1H,ALDEC DLJNZ J4MOV DL,5FH;;;;;;;;;C C C C C;;;H H H H H;;;;;;;;; ; ; ;;;;;;J5MOV AL,060HOUT0D5H,ALMOV AL,CHOUT0D1H,ALDEC DLJNZ J5MOV DL,5FH
主机数据获取与处理程序是采用Turbo C语言编成的,其主要创建的函数有Vold lntlallze(Vold) 初始化Vold user-lnterrupt-test(Vold) 用户中断检验Vold textbox(Vold) 创建用户界面Vold putvsca(Vold) 创建不断刷新画面的函数Int getkey() 热键处理函数Vold lookroad()程序分支控制函制Locat (lnt x,int y) 定位函数Vold changetextstyle(lnt font,Int dlrectlon,lnt charslze) 改变文本输出格式函数Int gprlnt(lat *xloc,int Yloc,char *fmt) 图形文本打印函数
权利要求
1.一种单粒子效应引起CPU寄存器位翻转的测试方法,其特征是该方法含有下述步骤——给被测前端单板机(1)的CPU(2)的每个寄存器(10)预先存贮一个易于观测位翻转的位图,并将欲执行读取各寄存器(10)位翻转数据的程序存入被测CPU的ROM存储器(9)中;——将欲执行数据获取与处理的程序存入主控制计算机(8)的程序存储器中;——将被测CPU置于辐照环境中;——启动主控计算机(8)和前端单板机(1)的被测CPU(2),在被测CPU(2)的控制下,启用ROM(9)中的程序,依次读出被测CPU(2)的每个寄存器(10)的内容,并传输至控制主机(8);——主计算机(8)按其程序存储器中的数据获取与处理程序接收来自被测前端单板机(1)传来的数据,并将其与已存在主机(8)内存中的“真值”进行比较;比较后相同则不记录;如不同表示寄存器(10)已发生位翻转,则记录发生位翻转的时间、寄存器(10)名及数据本身,并将其作为下一次数据的原初值;——重复上述步骤直至闭锁现象或死机;则使用被测CPU(2)的远端硬清除开关,重新开始直至测试结束。
2.如权利要求1所述的单粒子效应引起CPU寄存器位翻转的测试方法,其特征是给被测CPU(2)的每个寄存器(10)预先存储的位图可为FFFF、OAOA、0505类十六进制码。
3.一种单粒子效应引起CPU寄存器位翻转的测试装置,含有主控计算机(8)和PC机接口板(7);其特征是该装置还包括被测前端单板机(1);在前端单板机(1)上装有被测CPU(2)及其寄存器(10)、时钟芯片(3)、译码器(4)、定时芯片(5)和并行通用接口芯片(6);还装有存储读取被测CPU(2)各寄存器(10)位翻转程序的ROM(9)存储器;前端单板机(1)被屏蔽,只有被测CPU(10)置于辐射环境中。
4.如权利要求1所述的单粒子效应引起CPU寄存器位翻转的测试装置,其特征是在主控计算机(8)上还设有一个可远程硬清除被测CPU(2)闭锁或死机的硬清除开关。
全文摘要
本发明涉及一种单粒子效应引起CPU寄存器位翻转的测试方法及装置,该方法是首先使被测寄存器保持一个初始常数,然后不断测试它并与存储于主控计算机内的“真值”进行比较,如不同于原初值则立即记录该寄存器名、数据和时间,并将其作为下一次测试的原初值,如此循环直至死机出现;其装置是由一个带被测CPU远离其它芯片而受辐照的屏蔽的前端单板机和主控计算机组成;本发明测试方法方便可靠;装置能准确及时记录寄存器发生位翻转的时间、器名、事件个数和翻转的位图,其测试速度快、数据可靠误码率低。
文档编号G06F11/22GK1183564SQ9611145
公开日1998年6月3日 申请日期1996年11月22日 优先权日1996年11月22日
发明者王树金 申请人:中国科学院近代物理研究所