网站大量收购独家精品文档,联系QQ:2885784924

体系结构模拟器的技术和发展.doc

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
体系结构模拟器的技术和发展

体系结构模拟器的技术和发展 摘要 模拟器是体系结构研究和设计的重要工具,在学术界和工业界得到广泛使用。软件全系统模拟器具有开发速度快、成本低、易于修改等特点,因此在计算机系统设计、验证,系统软件开发、调优等方面都可以发挥重要作用。理想的模拟器应该具有运行速度快、模拟精度高、配置修改灵活等特点,但这三个要素是相互矛盾的,很难兼得。 模拟器的三个要素中,速度尤为重要,是制约模拟器使用的最主要的因素,因此人们从模拟器的开发和模拟器的运行两个层次采取技术措施来提高模拟器速度。本文重点对这些技术进行介绍。除了介绍模拟器加速技术外,本文还对提高模拟器灵活性、提高模拟器精度的技术做了描述,并分析了一些常见的模拟器,从中可以看出各种技术在实际模拟器中的使用。最后,文章对目前模拟器的发展方向做了简单描述。 概述 模拟器在计算机系统的设计开发过程中有非常重要的作用:设计初期,模拟器可以用来对各种设计方案进行粗粒度模拟,通过比较模拟结果来选择最优设计方案;产品开发期间,模拟器用来对各种微结构设计进行评估,对一些选择进行折衷;产品开发后期,模拟器主要用来进行目标系统的系统软件开发,使得软硬件开发可以同时进行,加快系统开发速度;系统完成之后,模拟器可以取得丰富的踪迹(trace)信息,从而对系统进行瓶颈分析和性能优化。由于模拟器具有上述重要作用,学术和工业界都开发了大量的模拟器。常见的研究用的模拟器有SimpleScalar[1]、SimOS[2]、M5[3]、Liberty[4]等,各个公司也都开发自己的模拟器,比如IBM公司的Mambo[5]模拟器、AMD公司的SimNow[6]等。 模拟器有三个非常重要的衡量指标:速度、精度和灵活性。速度指模拟器执行模拟任务的快慢,通常用模拟器上执行应用和在宿主机上执行相同应用的时间比来表示,这个时间比通常称为减速比(slowdown);精度指模拟器模拟出的目标系统和实际系统的接近程度,CPU模拟器常用模拟得到的每条指令所用周期数(CPI,cycles per instruction)和实际值偏离的百分比来表示;灵活性指模拟器通过配置来模拟不同结构的方便程度及是否具有多种执行模式和灵活可配置的数据收集、显示方式。一个理想的模拟器要求执行速度快、模拟器精度高并且可以灵活地配置出想要的结构,但实际中速度、精度和灵活性这三者存在相互制约的关系,很难同时兼得。通常来说,抽象程度越高、模拟的速度就越快,但模拟的精度也越差;增加模拟精度则增大了模拟负载,带来模拟速度的下降,并且由于模拟的粒度变细,灵活性也会受到影响。因此,根据不同的需要,模拟器在这三个因素中往往有所侧重。一般来说,设计初期,灵活性要求较高,而精度要求较低。在系统的后期设计开发过程中,对精度的要求逐渐提高,而对灵活性的要求则逐渐降低。但模拟器的速度则贯穿整个设计开发的始末,也是制约模拟器使用的最重要的因素。 软件模拟器具有模拟精度高、开发成本低、修改配置灵活、开发周期短等特点而受到研究和开发者的喜爱。软件模拟器中全系统模拟器还支持开发运行操作系统、获取应用程序丰富的踪迹等功能,因此全系统模拟器得到了广泛的应用。本文重点对全系统软件模拟器进行分析,并对常见的硬件模拟器和局部模拟器做介绍。 常见术语 系统/局部模拟器 系统模拟器对整个计算机系统都进行模拟,通常模拟处理器(CPU)、缓存(Cache )、内存管理单元(MMU,Memory Management Unit)、内存、中断控制器、磁盘以及直接内存存取(DMA,Direct Memory Access)控制器、以太网等,由于系统模拟器除了提供完整的指令集架构(ISA,instruction set architecture)外,也可对外设模拟,所以一般都可以启动操作系统,很多甚至可以启动不加修改的操作系统。系统模拟器除了可以用在对设计方案进行选择之外,还可以进行产品开发、系统调优等。常见的系统模拟器包括SimOS[1]、SimICS[7]、Mambo[5]、QEMU[8]、SandUPSim[9]、SimOS-Goodson[10]等。 局部模拟器指对整个计算机系统的某个部件进行细致模拟,提供多种配置参数,可以模拟多种类型的部件。局部模拟器由于无法运行真实的应用,所以通常以踪迹为输入。常见的局部模拟包括缓存模拟器[11]、磁盘模拟器DiskSim[12]、网络模拟器ns2[13]、能耗模拟器Wattch[14]等。 功能级/时钟级模拟 功能级模拟器指模拟器仅保证目标系统的指令集架构的模拟正确,认为所有的指令(包括访存指令)都是一个模拟周期执行完毕,忽略访存延迟、缓存以及现在微处理器指令级并行(ILP,Instruction Level Parallelism)技术的影响。由于功能级模拟器不需要提供详细的

文档评论(0)

yurixiang1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档