前言:想要写出一篇引人入胜的文章?我们特意为您整理了计算机体系软件模拟技术探究范文,希望能给你带来灵感和参考,敬请阅读。
摘要:随着社会经济的不断发展,计算机技术水平也在不断的提高,促使着计算机体系结构软件模拟技术日趋成熟,对计算机软件开发有着非常重要的意义。基于此,本文通过对计算机体系结构软件模拟技术难点进行分析,从降低模拟器负荷、控制指令数量、应用任务映射等方面入手,详细的论述了计算机体系结构软件模拟技术的优化措施。
【关键词】计算机体系;结构软件;模拟技术
随着信息技术的不断发展,计算机逐渐成为处理信息和设计系统的核心工具。模拟技术在计算机体系中占据着非常重要的地位,是其不可或缺的技术手段。由于计算机体系非常庞大,导致其生产周期不断被拉长,无论是在效率上还是在成本上,都没有明显的优势,计算机体系结构软件模拟技术的出现,不仅能够大幅度降低软件研发成本,同时也提高了开发效率和生产效率。
1计算机体系结构软件模拟技术难点
1.1开发难度较大
随着计算机技术的不断发展,计算机功能变得越来越强大,适用于各行各业,并且能够攻克很多难题。但是,随着功能的增强,其体系结构逐渐变得越来越复杂,开发与设计人员主要应用计算机体系层次简化功能来简化计算机体系的复杂度,但是层次简化功能又会大大增加开发模拟器的难度。除此之外,开发人员在编程过程中,主要应用的C++或者是C语言等,这种语言存在误差大、处理时间长等问题。同时开发人员在对模拟器进行开发时,经常会以调整现有模拟器的方法达到目的,这种二次开发,不但影响着开发效率,还增加了开发成本。
1.2模拟器运行时间过长
在运行模拟器时,要求开发人员在时钟周期下时刻记录处理器状态和动态指令在运行时输出的结果。由于模拟器运行时,动态指令运行会产生大量的数据信息,使得模拟速度受到很大的影响。如SMARTS模拟器的运行速度大约为9MIPS,但是与主机硬件相比,其运行速度相差大约4个数量级。虽然SPEC组织针对这类问题进行改善,并且研发了评估处理器性能的程序包,一定程度上提高了模拟技术的可靠性和真实性,但是这个程序包却具有耗费时间长和模拟速度缓慢等问题。
1.3模拟器运行精度不佳
在对模拟其进行开发过程中,通过确定体系结构中相关信息,然后在已经存在的结构上实现和设计模拟器。在这个过程中,开发模拟的三个主要环节都可能存在误差问题。开发人员在获取相关信息过程中,如果出现误差会使其无法准确判断模拟器的需求。在获取准确信息之后,如果不重视计算机系统结构中小模块内容,同样会出现误差,直接影响着模拟器的设计成果。
2计算机体系结构软件模拟技术的优化措施
2.1降低模拟器负荷
降低模拟器负荷,对模拟技术进行优化主要从以下几方面进行:2.1.1测试过程中,减少参数输入量。在一个性能标准的测试环境中,可以建立多套长期固定的参数测试数集,如参考输入测试数集、训练输入测试数集以及测试输入参数数集等。这些数集的建立,可减少参数输入数量,从而降低模拟器负荷,使模拟器性能变得更加精准,有效的解决了模拟技术精准度不高的问题。2.1.2集中测试。在利用程序包测试过程中,包含的测试程序是非常多的,如SPECCPU2000中的点数测试程序和证书测试程序便有20多个,这些程序在某种程度上具有很大的相关性,因此,开发人员要寻找能够代表各个程序的因素,然后集中对这个因素进行测试,这样便可以有效的降低模拟器的负荷。2.1.3处理测试程序中部分指令。这个方法主要是模拟其中一小部分指令,以期能够优化模拟环境和缩短模拟时间。模拟指令有两种方法,其一是对一段连续指令进行截取;其二是以抽样统计方法来选取指令。无论哪种方法都能够有效的降低模拟器负荷,提高数据模拟的准确性。
2.2控制指令数量
在优化模拟技术过程中,控制指令数量主要体现在以下几点:2.2.1直接选取。直接选取是指以全部指令为一个单位,在其中随意选取,然后将随意选取的指令放置在模拟器中。选取方式为:首先选择M百万条指令,其次选取L百万条指令,并将这些指令预热执行,再选择Z百万条指令,以此获得最终的执行结果,这种方式作用是在指令完成执行操作后,与模拟器向对应的信息不会全部消失,为后续模拟工作提供保障,从而提高模拟效率。2.2.2利用统计学方式对指令进行选取。选取方法为:(1)代表性采样,例如:利用Simpint进行模拟时,首先,要对测试程序进行分析,其次选取一组有代表性的模拟点,分配模拟点的权重,从而使模拟结果更加精准。(2)周期采样,首先将测试程序启动,在动态状态下,以一个周期为基础,选取指令,这样可以有效控制指令数量,从而提高模拟精准度。
2.3应用任务映射
应用并行模拟器处理环境映射时,主要是指定子任务传输到并行进程的过程。在当前并行处理环境中,包含和涉及到的任务映射策略非常多,通常运用的有两种:(1)映射策略可以得到最优解;(2)可以得到相似值。为了优化体系结构模拟技术,使模拟器模拟过程更加精准,需要以排队论、图论和教学规划为基础进行计算,得出模拟数值。在此期间,为了使数据准确度和耗费时间之间的冲突得到有效缓解,学术界利用启发式方法和最优算法对上述两种方法进行进一步优化。这样可以使任务映射方式简化,从而提升模拟数据的精确度。
3结论
综上所述,提升计算机体系机构软件模拟技术的开发效率,并将其推广应用,已经成为新软件开发的主要手段。经过上文分析可得,现阶段,在应用模拟技术对软件进行模拟运时,仍然存在一些技术难点难以解决。基于技术难点,应该从模拟器中的指令、负荷、映射等方面入手,提高模拟运行的精确度。因此,只有不断完善计算机体系结构软件模拟技术,才能开发出更高价值的计算机软件。
参考文献
[1]郑刚.计算机体系结构软件模拟技术应用研究[J].信息与电脑(理论版),2016(07):41-42.
[2]喻之斌,金海,邹南海.计算机体系结构软件模拟技术[J].软件学报,2008(04):1051-1068.
作者:李萧玮 单位:格讯科技(深圳)有限公司