论文部分内容阅读
SoC9(System onchip)的系统功能由处理器上执行的软件和专用硬件模块实现。在SoC系统设计时,要求从全局统筹软件与硬件的功能分配以及软硬件的交互关系,即采用软硬件协同设计方法。软硬件划分是指在系统设计时,确定各个系统功能j是采取软件还是硬件的实现方式。软硬件划分是指在Soc软硬件协同设计的主要研究内容之一,对系统的性能和成本有十分重要的影响。软件实现的特特是灵活、成本低,但性能差;而硬件实现的性能好,但是成本高,如何兼顾系统的速度和成本,达到成本和性能的最佳结合,是软硬件划分要解决的问题。本文认为,针对Soc软硬件划分问题,从静态角度来看,作为系统级设计输入的程序中代码语句的结构安排和书写方法并小能充分体现程序内在的关联;从动态的角度看,二进制程序按照地址的布局也小能很好符合程序动态执行中的规律。本文研究了根据相关性进行软硬件划分的方法。论文分析了软硬件划分巾子种划分对象粒度的特点以技粒度对划分效率和划分质量的影响。从静态的角度分析了系统中操作间的相关性对软硬件划分的影响,提出了根据静态相关链进行软硬件划分的方法。基于静态相关链的划分对象反映了操作之间的关联,降低了对象间相关性,减小通信的开销,从而获得优化的软硬件划分。论文设计了基于静态相关链的划分对象产生算法和相应的软硬件优化映射算法,给出了基于静态相关链的软硬件划分方法的实现过程。实验表明,基于静态相关链软硬件划分方法产生的划分对象数量接近于函数级粗粒度划分,在较伙收敛速度下,获得相当于细粒度划分的优化结果。论文提出了基于程序热trace提取硬件加速模块的软硬件划分方法。热trace是程序执,亍时重复出现的行为模式,对于大多数程序,少数几个较短的热trace决定了系统的总体性能。按照本文基于相关性的软硬件划分思想,热tracell’以看作是从动态角度根据相关性组织的操作单位。本文使用热trace提取算法划分系统中关键的trace到硬件,使用分支断言构造原子执行单位,以较小的硬件代价荻得较高的加速比。目前的trace收集和分析都是基于特定处理器的指令进行的,但Soc系统级设计位于升发流程的早期阶段,用于Soc软硬件划分的trace分析应该独立于具体的处理器体系结构。本文提出了体系结构无关的程序trace分析方法,使基于热trace软硬件划分方法可以独市于特定的处理器,并且可以排除机器代码的干扰因素,准确定位性能关键并且适合硬件执行的部分,使基于热trace软硬件划分方法成为了通用用的Soc系统级设计优化的工具。trace预测足应用trace执行必不可少的组成部分,SoC中的处理器通常采用低成4的嵌入式处理器卡核,不具备硬件trace预测功能。本文提出了一种结合路径剖析和Pc散列的软件trace预测方法,只需存软件代码中某些位置增加执行路径记录的操作,无需更改处理器硬件设计。实验表明,本文的软件trace预测以少量升销获得92%的平均预测命中l率,有效地支持了基于trace的软硬件划分方法。最后,为了支持软硬件划分的实现和划分结果评估,设计了一个软硬件划分的设计空问探索环境,用于Soc软硬件协同设计的早期设计空间探索该环境集成了本文提出的基于静态相关链软硬件划分算法和基于trace的软硬件划分算法,实现Soc系统级设计最关键的软硬件划分决策功能。此外,为了提高了仿真效率研究了基于动态译码缓存的高性能指令集模拟器技术。综上,论文针对SoC设计方法学中的重要问题软硬件划分,提出了基于相关性的软硬件划分方法,从动态和静态两个角度,根据程序内存的相关性信息,提取最适合硬件实现的模块。与目前的软硬件划分方法相比,论文的工作成果的贡献包括:通过基于静态相关链的划分,在不牺牲划分质量的情况下,提高了软硬件划分过程的效率;利用热trace推测执行划分专用硬件的方法提高划分质量降低硬件代价,提高性能;并提出了处理器无关的trace分析方法,使论文提出的基于热trace软硬件划分成为通用的Soc系统级设计优化方法。