动态VLIW体系结构关键技术研究与实现
发布时间:2020-10-14 14:40
人们对微处理器性能的追求永无止尽。目前工艺技术的飞速发展,为设计提供了广阔的空间,如何有效利用这上亿个晶体管,开发更快、更高效的微处理器,是当前计算机体系结构设计研究面临的极为重要的课题之一。 获得高度的并行性,仍然是开发高性能计算机系统的基本途径,而可以获得的并行效率,也越来越与程序的内在特性相关联。根据不同应用的特点,程序中的并行可以分为不同的级别。指令级并行(Instruction Level Parallelism,ILP)作为其中粒度最小的并行,是不同级别并行实现的基础。ILP可以通过软件或硬件技术开发,面向ILP开发的体系结构只有合理划分软硬件在ILP开发过程中承担的工作,并且软、硬件紧密配合,才能取得理想的性能和复杂度。动态VLIW(Very Long Instruction Word,超长指令字)结构兼具软硬件ILP开发技术的优点,是具有良好性能潜力和发展前景的计算机体系结构技术方向之一。 本文在深入分析开发ILP的软硬件技术优缺点的基础上,以降低硬件设计的复杂度为目标,划分了它们在动态VLIW结构中承担的ILP开发工作,明确了需要解决的关键技术。本文针对这些关键技术展开了深入研究,主要取得了以下一些研究成果: 1.提出了一种VLIW动态指令调度模型DLV(Deterministic Latency Schedule for VLIW)。DLV模型以硬件机制了解每条指令的准确延迟这一事实为依据动态调度指令流出,使用再定序缓冲实现精确异常处理,并保证乱序执行和前瞻执行的正确。DLV模型能够大大降低指令流出机制的硬件复杂度,并有效解决VLIW结构的目标代码兼容问题。 2.高质量的访存优化技术能够缓解日益严重的处理器/存储器性能差距,提高微处理器系统的性能。本文分别研究了指令访问和数据访问技术,提出了基于控制流的混合指令预取方法,并探讨了在动态VLIW结构中实现Load前瞻所需的体系结构和编译支持。 3.谓词的引入给传统编译优化技术带来了新的问题,如果不能准确分析谓词关系,编译优化只能获得保守的结果。本文提出了一个基于路径信息的谓词分析技术,能够避免现有技术中重构控制流信息这一复杂过程,高效精确地分析谓词之间的关系。 4.扩大基本块体积是编译技术开发更多ILP的必由之路,但是其实现复杂度也非常高。在谓词执行体系结构的支持下,本文将HyperBlock结构从单入口扩展为多入口,并提出了相应的优化技术。 国防科学技术大学研究生院学位论文 5.计算机体系结构的新理论、新方法的正确性和有效性验证,是体系结构 技术的重要组成部分。本文以MIPS R2O00为基础,设计了一个原型验证系统, 以检验上述技术的正确性和有效性。该系统实现了DLV模型以及其它编译技术 所需的体系结构支持。 以上研究成果都以降低硬件设计的复杂度为前提,充分发挥各种技术自身的 长处,并互相弥补其它技术的不足。实际测试结果表明,以上基于动态VLIW结 构的研究成果,能够在保持较低硬件复杂度的基础上,开发并获得更多的ILP, 提高处理器的并行性。 关键词:动态VLIW体系结构,动态调度,指令预取,Load前瞻,谓词执行, 扩展超块 第11页
【学位单位】:国防科学技术大学
【学位级别】:博士
【学位年份】:2003
【中图分类】:TP332
【部分图文】:
图3.4OLV模型性能测试结果从图中的数据可以得到以下结论:乱序执行模型的性能最好,DL模型的性能随DIQ项数的增加而增加,当IQ项数为64时性能最好。由于大多数Load操作访问Cache都会命中,DL6中与Load相关的操作都必须等待足够的时间后才能够流出,因此其性能受DIQ项数的影响较少,而DLI性能受其影响较大。当DIQ项数大于犯项时,DLI的性能与乱序执行相同,但实现复杂度却明显降低。实际上,如果从DL模型中去掉IQ模块,DLI模型就是乱序执行模型。当DIQ项数比较小(<6)时,DL6的性能好于DLI,随着DIQ项数的增加DLI的性能逐渐超过DL6。这是因为,当Load操作延迟为1时,如果DIQ容量比较小,将无法容纳那些相关于Load但因Load访问Cache失效而无法流出的操作,从而阻碍了其它与Load无关的操作流出执行。但随着DIQ容量的增加,与Load相关的操作都能放入DIQ中,那些无关操作也能够顺利地流出,DLI的性能也因此得到提高。而对于DL6模型,毕竟延迟为6的Load操作很少,所以DIQ
所带来的性能提升。由于评测的重点在于HyperBlock与EHB这两种结构开发ILP的作用,模拟过程中我们约定:数据Cache与指令Cache的访问命中率均为100%。图6.8比较了EHB结构在最大路径数分别为16、32、64以及没有任何限制的情况下的性能,BB表示采用传统的基本块优化时的加速比(下同)o从图中可以看出,如果不加选择的构造EHB,最终的性能反而会有所降低。这个结论与Mahlke对HyPerBlock进行研究所得的结果相似,说明只有对构造EHB的基本块进行一定的控制才能取得比较理想的性能。图6.8最大路径数不同时E日B的性能图6.9t匕较了HyperBloek和EHB这两种结构的性能,图中HB表示HyperBlock结构,而EHB表示EHB结构,其最大路径数为犯。尽管对于个别程序而言HyperBlock的性能稍好
图6.gEHB与HyPerBloek性能比较6.10列出了第3章所介绍的四个模型DLI、DL6、乱序执行、DLV~EHB,测试所用的基准程序以及模拟环境的具体参数与第3章相同,其中HB表示经过EHB转换并经过相应优化后的代码在DLV模型中的性能。出,经过EHB优化后,DLV模型的性能进一步提升,已经超过了乱序执能,这是因为EHB优化能够根据DLV模型的特点改善代码结构,并且消部分控制相关,而在第3章的DLV模型采用了“向后转移成功,向前转”的预测方式,预测错误的概率比较大。
【引证文献】
本文编号:2840800
【学位单位】:国防科学技术大学
【学位级别】:博士
【学位年份】:2003
【中图分类】:TP332
【部分图文】:
图3.4OLV模型性能测试结果从图中的数据可以得到以下结论:乱序执行模型的性能最好,DL模型的性能随DIQ项数的增加而增加,当IQ项数为64时性能最好。由于大多数Load操作访问Cache都会命中,DL6中与Load相关的操作都必须等待足够的时间后才能够流出,因此其性能受DIQ项数的影响较少,而DLI性能受其影响较大。当DIQ项数大于犯项时,DLI的性能与乱序执行相同,但实现复杂度却明显降低。实际上,如果从DL模型中去掉IQ模块,DLI模型就是乱序执行模型。当DIQ项数比较小(<6)时,DL6的性能好于DLI,随着DIQ项数的增加DLI的性能逐渐超过DL6。这是因为,当Load操作延迟为1时,如果DIQ容量比较小,将无法容纳那些相关于Load但因Load访问Cache失效而无法流出的操作,从而阻碍了其它与Load无关的操作流出执行。但随着DIQ容量的增加,与Load相关的操作都能放入DIQ中,那些无关操作也能够顺利地流出,DLI的性能也因此得到提高。而对于DL6模型,毕竟延迟为6的Load操作很少,所以DIQ
所带来的性能提升。由于评测的重点在于HyperBlock与EHB这两种结构开发ILP的作用,模拟过程中我们约定:数据Cache与指令Cache的访问命中率均为100%。图6.8比较了EHB结构在最大路径数分别为16、32、64以及没有任何限制的情况下的性能,BB表示采用传统的基本块优化时的加速比(下同)o从图中可以看出,如果不加选择的构造EHB,最终的性能反而会有所降低。这个结论与Mahlke对HyPerBlock进行研究所得的结果相似,说明只有对构造EHB的基本块进行一定的控制才能取得比较理想的性能。图6.8最大路径数不同时E日B的性能图6.9t匕较了HyperBloek和EHB这两种结构的性能,图中HB表示HyperBlock结构,而EHB表示EHB结构,其最大路径数为犯。尽管对于个别程序而言HyperBlock的性能稍好
图6.gEHB与HyPerBloek性能比较6.10列出了第3章所介绍的四个模型DLI、DL6、乱序执行、DLV~EHB,测试所用的基准程序以及模拟环境的具体参数与第3章相同,其中HB表示经过EHB转换并经过相应优化后的代码在DLV模型中的性能。出,经过EHB优化后,DLV模型的性能进一步提升,已经超过了乱序执能,这是因为EHB优化能够根据DLV模型的特点改善代码结构,并且消部分控制相关,而在第3章的DLV模型采用了“向后转移成功,向前转”的预测方式,预测错误的概率比较大。
【引证文献】
相关期刊论文 前2条
1 李云照;王志英;沈立;;一种动态VLIW调度机制的研究和实现[J];计算机工程与科学;2008年07期
2 王磊;;Tomasulo算法与记分牌调度算法研究[J];自动化技术与应用;2013年06期
相关博士学位论文 前3条
1 欧国东;基于线程的数据预取技术研究[D];国防科学技术大学;2011年
2 文梅;流体系结构关键技术研究[D];国防科学技术大学;2006年
3 万江华;基于超长指令字处理器的同时多线程关键技术研究[D];国防科学技术大学;2006年
相关硕士学位论文 前2条
1 郭松;面向空间目标轨道预测的定制处理器及其编译器的关键技术研究[D];国防科学技术大学;2010年
2 孟涛;分组密码ASIP关键技术研究及实现[D];解放军信息工程大学;2008年
本文编号:2840800
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2840800.html