问题 问答题

试题四 阅读以下关于某嵌入式系统BIT的说明,回答下列问题。 [说明] 某公司负责研制一个嵌入式计算机系统,如图1所示。该系统以PowerPC处理器为核心,通过AD进行实时数据采集,并将采集来的数据进行预处理后,通过RS422总线发送给后端计算中心。同时为了提高产品的安全性和可靠性,设计实现了机内自测试(Built_In_Test, BIT)。BIT依靠自身电路和程序完成对计算机平台硬件的功能检查、故障诊断与隔离。

李工负责设计CPU单元的BIT测试算法,通过对每组指令分别设计一组测试用例,定义不同的操作数、操作码和预期值,在指令运行后比较结果与预期值。由于该系统选用的处理器集成了多级Cache(高速缓存),并且指令缓存和数据缓存是分开的,执行指令功能测试前需要刷新指令Cache,以保证与内存中的测试代码一致。每个测试项的测试结果正确为0,故障为1。

以32位字比较指令cmpw测试为例,cmpw将寄存器rA和rB内数据比较的结果(大于、小于、等于)放入条件寄存器crx,其操作码为0x7C000000,测试用例数据如表2所示。

cmpw指令功能测试的算法流程示意如图3所示。请补全流程图3中的执行操作。

答案

参考答案:

(1)刷新指令Cache(高速缓存) (2)将res与测试用例表中的预期结果进行比较 (3)测试结果ret=1

解析:

根据cmpw指令功能测试的算法流程示意图,结合题干中的描述信息,可以得出该测试算法的流程如下: a)初始化测试结果为正确; b)从测试用例表中获取一个测试用例数据; c)根据测试用例动态生成测试过程汇编代码; d)由于该系统选用的处理器集成了多级Cache(高速缓存),并且指令缓存和数据缓存是分开的,执行指令功能测试前需要刷新指令Cache,以保证与内存中的测试代码一致; e)执行测试过程,比较测试用例中的两个操作数,并返回比较结果; f)将测试用例执行的结果与测试用例表中的预期结果进行比较,判断是否相等; g)如果相等,继续从测试用例表中获取下一个测试用例数据,进行执行,直至全部执行完所有测试用例; h)如果不相等,则置测试结果为故障; i)返回测试结果。

单项选择题
单项选择题