模拟(Simulation)和仿真(Emulation)常用于不同系列计算机之间的程序移植,它们都是在一种机器的系统结构上实现另一种机器系统结构。其中,一般说来,模拟是在宿主机上用 (19) 解释实现目标机指令, (19) 存放在 (20) 中,仿真是在宿主机上用 (21) 解释实现目标机指令, (21) 存放在 (22) 中。
典型测试程序(Benchmark)通常用 (23) 编写。
A.汇编语言
B.高级语言
C.机器语言
D.自然语言
参考答案:B
解析:
[分析]: 模拟和仿真都可用于不同系列计算机之间的程序移植,也就是在一台计算机上执行为另一台不同系列的计算机所编制的程序,前一台计算机称为宿主机,后一台计算机则称为目标机。模拟和仿真的不同在于,模拟是在宿主机上用机器程序来解释实现目标的指令,通常目标机中的每条指令对应于宿主机中的一个子程序,模拟程序存放在宿主机的主存中;而仿真则是在宿主机上用微程序来解释实现目标机的指令,仿真微程序存放宿主机的控制存储器中。由于模拟是完全用软件来实现的,速度较慢,通常用于计算机的设计以及其性能的研究与分析。仿真则是借助于硬件的配合来实现的,速度较快,但必须依赖于硬件也是其缺点,若无相应的硬件支持,就无法实现仿真。
典型测试程序(Benchmark),有时也译为基准测试程序,是一种目前常用 来进行计算机性能测试,比较和评价的较好的手段。该程序要能对不同的计算机进行性能测试和比较,当然不能用依赖于机器的汇编语言和机器语言来写,而必须用与具体机型无关的高级语言编写。以著名的基准综合测试程序 SPEC1.0版为例,它包含有10个测试程序,其中4个程序用来测试机器整数性能,是用C语言编写的,其测试结果反映在一个称为SPECinteger的值中。另外6个程序用来测试浮点性能,是用FORTRAN语言编写的,其测试结果反映在一个称为SPECfloat的值中。两者的综合测试结果则反映在SPECmark的值中。