基于Trimaran平台的多核模拟器设计与实现
发布时间:2020-05-29 05:02
【摘要】:在计算机领域中,软件的发展相对滞后于硬件的更新是一个长期存在的问题。而当人们迈入多处理器、多核心时代时,该问题变得更加严峻。特别是在多核的模拟器方面,虽然各大厂家在生产硬件的同时都会开发相应的模拟平台,但由于价格昂贵以及缺乏可定制性,这些工具都不适合多核架构以及其编译技术的研究。 本文以嵌入式领域中一款主流的开源编译器和体系结构研究工具Trimaran为研究平台,在对其代码进行了深入分析的基础上,设计了基于Trimaran的多核模拟框架,从而改造后端模拟器使其能够模拟程序在同构多核架构上的运行,并能统计其相应的信息。本文从添加与本地SPM交互的指令和访问远端SPM的指令、单核模拟器的封装、多核指令序列的生成以及各个核上指令运行信息的统计四个方面阐述了该模拟框架的实现过程。最后,在实验中相应地测试了这四个方面的功能。实验结果表明,本文设计并实现的Trimaran后端模拟器能够在支持各种SPM操作的基础上有效地支持同构多核架构的模拟,并能够准确地统计和分析程序在目标系统上的运行情况。
【图文】:
第二章多核架构与模拟器技术概述算的性能,进而,其前所未有的计算能力也增强了多任务环境下的计算体验。如今的桌面操作系统几乎都是多任务的环境,特别是在数字娱乐、多媒体技术高速发展的今天,并行计算、并行处理的能力已经是衡量计算机性能的重要指标。用户使用计算机时,往往是一组前台应用程序和一组后台应用程序并发地执行。在单核时期,并发的效果只是是软件模拟出来的。各个进程和线程对处理器的控制权是由操作系统的进程管理部分负责调度,其按照设定的优先级别把时间片轮流分配给各个进程和线程。因而,从时间段的角度上来看,这些任务仿佛是被同时完成的,而事实上,这只是处理器不停地切换服务对象,从而达到的并发的效果。这种并发机制耗费不少代价,因为处理器在管理和调度进程或线程时需要一定的开销。所以,这时期的并行是以牺牲一定的CPU效率为前提的。
集成的多个处理器核相同,核之间地位相等,如图2.2所示;异构多核,芯片上所集成的多个处理器核不同,,其中一个担当主处理器,其他的作为协处理器,如图2.3所示。通过这两个图可以看出,各个核芯还是与原有的单核一样,只是无执执行核 11111执行核 lll {{{{{’ ’ ’一 ({{{ LLLlllllLlllllLlllllLlllllLZSRAMMM指指令内存 存存数据内存 存存指令内存存存数据内存 存存 存 系系统总线 线内内存 存 图2.2典型同构多核块图论同构还是异构,多个处理器间都共享了Cache或者内存,这是因为处理器和主存间的速度差距在多核架构来说更是一个突出的矛盾,因此必须使用多级Cache来缓解。目前常用的方式有:共享一级Cache、共享二级Cache以及共享主存。然而,共享二级Cache更受多核设计者们的青睐,即处理器核心拥有各自的一级Cache,且处理器核心之间共享二级Cache。虽然在片上多处 DDDDDDDDDDDDDDDSP-lllllDSP.22222DSP-33333DSP444同同步控制制 制制制制制 制制制制制 制制制制制 制制制制 LLLLLLLLLLLLLLLlllllLlllllLlllllLlllCCC朗 heeeeeC朗 heeeeeC忍上 eeeeeC以泪eeeRRRISC核
【学位授予单位】:西安电子科技大学
【学位级别】:硕士
【学位授予年份】:2010
【分类号】:TP368.1
本文编号:2686441
【图文】:
第二章多核架构与模拟器技术概述算的性能,进而,其前所未有的计算能力也增强了多任务环境下的计算体验。如今的桌面操作系统几乎都是多任务的环境,特别是在数字娱乐、多媒体技术高速发展的今天,并行计算、并行处理的能力已经是衡量计算机性能的重要指标。用户使用计算机时,往往是一组前台应用程序和一组后台应用程序并发地执行。在单核时期,并发的效果只是是软件模拟出来的。各个进程和线程对处理器的控制权是由操作系统的进程管理部分负责调度,其按照设定的优先级别把时间片轮流分配给各个进程和线程。因而,从时间段的角度上来看,这些任务仿佛是被同时完成的,而事实上,这只是处理器不停地切换服务对象,从而达到的并发的效果。这种并发机制耗费不少代价,因为处理器在管理和调度进程或线程时需要一定的开销。所以,这时期的并行是以牺牲一定的CPU效率为前提的。
集成的多个处理器核相同,核之间地位相等,如图2.2所示;异构多核,芯片上所集成的多个处理器核不同,,其中一个担当主处理器,其他的作为协处理器,如图2.3所示。通过这两个图可以看出,各个核芯还是与原有的单核一样,只是无执执行核 11111执行核 lll {{{{{’ ’ ’一 ({{{ LLLlllllLlllllLlllllLlllllLZSRAMMM指指令内存 存存数据内存 存存指令内存存存数据内存 存存 存 系系统总线 线内内存 存 图2.2典型同构多核块图论同构还是异构,多个处理器间都共享了Cache或者内存,这是因为处理器和主存间的速度差距在多核架构来说更是一个突出的矛盾,因此必须使用多级Cache来缓解。目前常用的方式有:共享一级Cache、共享二级Cache以及共享主存。然而,共享二级Cache更受多核设计者们的青睐,即处理器核心拥有各自的一级Cache,且处理器核心之间共享二级Cache。虽然在片上多处 DDDDDDDDDDDDDDDSP-lllllDSP.22222DSP-33333DSP444同同步控制制 制制制制制 制制制制制 制制制制制 制制制制 LLLLLLLLLLLLLLLlllllLlllllLlllllLlllCCC朗 heeeeeC朗 heeeeeC忍上 eeeeeC以泪eeeRRRISC核
【学位授予单位】:西安电子科技大学
【学位级别】:硕士
【学位授予年份】:2010
【分类号】:TP368.1
【参考文献】
相关期刊论文 前1条
1 高翔;张福新;汤彦;章隆兵;胡伟武;唐志敏;;基于龙芯CPU的多核全系统模拟器SimOS-Goodson[J];软件学报;2007年04期
本文编号:2686441
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2686441.html