一种模拟器及方法技术

技术编号:2829655 阅读:204 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及计算机领域,公开了一种模拟器及方法。所述模拟器中,包括指令级CPU模拟单元、时钟级CPU模拟单元、全CPU模拟单元、Trace数据导入工具或可执行脚本解释器、外部通信数据处理单元、用户动态链接库接口、串行切换处理单元以及并行协同处理单元。采取本发明专利技术中的一种模拟器及方法,可以使系统模拟在性能、精度以及扩展性等方面得到大幅度的提高。

【技术实现步骤摘要】

本专利技术涉及计算机领域,特别是。
技术介绍
模拟器是科研人员在研究计算机体系结构的过程中所需要的重要工具,执 行驱动的系统模拟器由于具有模拟精度高、可以开发和调试系统软件等特点, 在很多方面都得到了广泛的使用。理想的模拟器应该具备模拟速度快,模拟的 精度高,并且易于配置和修改,然而模拟器的速度、精度和灵活性之间存在者 相互制约的关系,因此很难兼得。目前,单处理器由单核变为多核,超级计算 机节点数目由几千个变为几万甚至几十万,要模拟这样的大规模计算机系统或 者未来更大规模的计算机系统,模拟器的速度、精度和灵活性问题就变得更为 突出。在早期的单核时代,为了适应于实际应用中所需要的特点,计算机系统模拟器的CPU单元也是单核的。其中,由于研究的关注点不同,CPU单元的模 拟精度和模拟重点会存在一定的差别,例如SimOS包括三种CPU模拟器,分 别是Embra、Mipsy和MXS,在模拟精度上依次增强;SimpleScalar包括sim-fast、 sim-cache、 sim-bpred禾卩sim-outorder等模拟单元,在木莫拟重点上各有不同。而 后,随着多核时代的来临,模拟器的CPU单元也纷纷由原来的单核向多核方 向进行着扩展。之前的单核模拟器在增加了片上互连单元、共享二级缓存以及 相关的仲裁和一致性协议后,使得原来的CPU单元可以配置多个核,从而模 拟出学术界和商业界所需要的多核处理器,例如M5模拟器。随着多核技术的 进一步发展,大规模并行应用的需求日趋迫切,从而对模拟器性能的要求越来 越高。模拟器普遍存在模拟精度,系统性能和配置灵活性三者矛盾难以统一。如 果对功能部件模拟得过于详细,能够更精确地反应功能部件真实的执行情况, 提高了模拟的精度,但这样会影响到系统执行的性能,使得模拟速度慢得不可接受。简化功能部件的模拟可以提高系统执行的性能,却又无法得到系统执行 的有效信息,使得模拟系统失去可靠性。如果在保证一定模拟精度的情况下, 针对特定的模拟器进行专门的优化,同样可以提高系统执行的性能,然而又妨 碍了系统配置的灵活性,使得模拟系统变得难以使用。这些问题随着模拟规模的进一步扩大变得更加严重。特别是在高性能计算 机领域,系统往往是由成千上万的处理器、存储部件和复杂的网络互连结构组 成。针对这种规模庞大的系统,使用传统的全细节方式进行模拟几乎是不可能 的。例如,传统方式为了达到速度和精度的统一,往往采用同时提供时钟级和 功能级模拟等多种运行模式,并支持多种模式间动态切换的方式,但系统运行 的任一时刻系统中所有节点的模拟都位于相同的执行模式,而大规模目标系统 中所有节点模拟都采用细粒度模拟将导致模拟速度无法令人接受。另外,传统 方式的多种运行模式之间行为仍比较相近,尤其是对于内存的需求方面相差不 大,这样大规模目标系统的内存模拟所带来的宿主机内存需求又将成为新的制 约因素。因此需要专门根据这样新的特点来分析模拟重点,从而选取合适的模拟方 式,以便满足用户对模拟器使用的期望。那么如何在具备局部细节模拟能力的 前提下,改善模拟器的整体性能,又能在一定程度上反应系统执行的详细信息, 并进一步扩大模拟的规模,成为模拟器新的发展要求。本专利技术正是根据这些需 要提出的解决方案。
技术实现思路
本专利技术的目的在于,提供,以解决现有的模拟器及方法 在模拟精度、系统性能和配置灵活性等方面的不足。为了实现上述目的,本专利技术提供了一种模拟器,包括模拟单元以及运行模式单元,所述模拟单元用以模拟多种不同形态的CPU模拟单元,所述运行模 式单元用以实现所述多种不同形态的CPU模拟单元间的切换执行以及协同执行。较佳的,在所述模拟器中,所述模拟单元中,包括指令级CPU模拟单元、 时钟级CPU模拟单元、全CPU模拟单元、Trace数据导入工具或可执行脚本 解释器、外部通信数据处理单元以及用户动态链接库接口中的至少两种;所述指令级CPU模拟单元,用以实现指令级CPU模拟功能; 所述时钟级CPU模拟单元,用以实现时钟级CPU模拟功能; 所述全CPU模拟单元,用以参照某真实的CPU以模拟相应的系统;所述Trace数据导入工具或可执行脚本解释器,用以实现指令处理单元的 功能;所述外部通信数据处理单元,用以接收通过网络传来的指令数据,并对这 些指令数据进行相应处理;所述用户动态链接库接口,用以提供一组接口,其指令处理部分在用户给 定的动态链接库上。较佳的,在所述模拟器中,所述运行模式单元中,包括串行切换处理单元 以及并行协同处理单元;所述串行切换处理单元,用以实现多种形态的CPU模拟单元的串行切换;所述并行协同处理单元,用以实现多种形态的CPU模拟单元的并行协同;较佳的,在所述模拟器中,所述串行切换处理单元在实现多种形态的CPU 模拟单元的串行切换时,对不关心的运行过程使用粗粒度的模拟方式,对关心 的运行过程使用细粒度的模拟方式。较佳的,在所述模拟器中,所述并行协同处理单元中,包括同构协同处理 单元以及异构协同处理单元;所述同构协同处理单元用于模拟同构多核处理器的执行,所述异构协同处 理单元用于模拟异构多核处理器的执行。为了实现上述目的,本专利技术还提供了一种模拟的方法,包括以下步骤步骤IOO,设置模拟单元;步骤200,设置运行模式单元。较佳的,在所述模拟的方法中,所述步骤100中,包括以下步骤中的至少 两个,且其顺序可以任意排列步骤110,设置指令级CPU模拟单元; 步骤120,设置时钟级CPU模拟单元; 步骤130,设置全CPU模拟单元;步骤140,设置Trace数据导入工具或可执行脚本解释器; 步骤150,设置外部通信数据处理单元;步骤160,设置用户动态链接库接口。较佳的,在所述模拟的方法中,所述歩骤200中,包括以下步骤步骤210,设置串行切换处理单元;步骤220,设置并行协同处理单元。较佳的,在所述模拟的方法中,所述步骤220中,包括以下步骤步骤221,设置同构协同处理单元; 步骤222,设置异构协同处理单元。较佳的,在所述模拟的方法中所述指令级CPU模拟单元,用以实现指令级CPU模拟功能; 所述时钟级CPU模拟单元,用以实现时钟级CPU模拟功能; 所述全CPU模拟单元,用以参照某真实的CPU以模拟相应的系统; 所述Trace数据导入工具或可执行脚本解释器,用以实现指令处理单元的 功能;所述外部通信数据处理单元,用以接收通过网络传来的指令数据,并对这 些指令数据进行相应处理;所述用户动态链接库接口,用以提供一组接口,其指令处理部分在用户给 定的动态链接库上。较佳的,在所述模拟的方法中,所述运行模式单元中,包括串行切换处理 单元以及并行协同处理单元;所述串行切换处理单元,用以实现多种形态的CPU模拟单元的串行切换;所述并行协同处理单元,用以实现多种形态的CPU模拟单元的并行协同;较佳的,在所述模拟的方法中,所述串行切换处理单元在实现多种形态的 CPU模拟单元的串行切换时,对不关心的运行过程使用粗粒度的模拟方式, 对关心的运行过程使用细粒度的模拟方式。较佳的,在所述模拟的方法中,所述并行协同处理单元中,包括同构协同 处理单元以及异构协同处理单元;所述同构协同处理单元用于模拟同构多核处理器的执行,所述异构协同处 理单元用于模拟异构多核处理器的本文档来自技高网
...

【技术保护点】
一种模拟器,其特征在于,包括模拟单元以及运行模式单元,所述模拟单元用以模拟多种不同形态的CPU模拟单元,所述运行模式单元用以实现所述多种不同形态的CPU模拟单元间的切换执行以及协同执行。

【技术特征摘要】
1、一种模拟器,其特征在于,包括模拟单元以及运行模式单元,所述模拟单元用以模拟多种不同形态的CPU模拟单元,所述运行模式单元用以实现所述多种不同形态的CPU模拟单元间的切换执行以及协同执行。2、 根据权利要求1所述的一种模拟器,其特征在于,所述模拟单元中, 包括指令级CPU模拟单元、时钟级CPU模拟单元、全CPU模拟单元、Trace 数据导入工具或可执行脚本解释器、外部通信数据处理单元以及用户动态链接 库接口中的至少两种;所述指令级CPU模拟单元,用以实现指令级CPU模拟功能; 所述时钟级CPU模拟单元,用以实现时钟级CPU模拟功能; 所述全CPU模拟单元,用以参照某真实的CPU以模拟相应的系统; 所述Trace数据导入工具或可执行脚本解释器,用以实现指令处理单元的 功能;所述外部通信数据处理单元,用以接收通过网络传来的指令数据,并对这 些指令数据进行相应处理;所述用户动态链接库接口,用以提供一组接口,其指令处理部分在用户给 定的动态链接库上。3、 根据权利要求1所述的一种模拟器,其特征在于,所述运行模式单元 中,包括串行切换处理单元以及并行协同处理单元;所述串行切换处理单元,用以实现多种形态的CPU模拟单元的串行切换; 所述并行协同处理单元,用以实现多种形态的CPU模拟单元的并行协同。4、 根据权利要求3所述的一种模拟器,其特征在于,所述串行切换处理 单元在实现多种形态的CPU模拟单元的串行切换时,对不关心的运行过程使 用粗粒度的模拟方式,对关心的运行过程使用细粒度的模拟方式。5、 根据权利要求3所述的一种模拟器,其特征在于,所述并行协同处理 单元中,包括同构协同处理单元以及异构协同处理单元;所述同构协同处理单元用于模拟同构多核处理器的执行,所述异构协同处 理单元用于模拟异构多核处理器的执行。6、 一种模拟的方法,其特征在于,包括以下步骤步骤IOO,设置模拟单元; 步骤200,设置运行模式单元。7、 根据权利要求6所述的一种模拟的方法,其特征在于,所述步骤100中,包括以下步骤中的至少两个,且其顺序可以任...

【专利技术属性】
技术研发人员:陈明宇杨伟
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1