共查询到19条相似文献,搜索用时 437 毫秒
1.
分支调度是一种有效消除分支指令延迟的指令调度技术,对于提升VLIW类处理器的性能非常重要。提出了一个针对分支延迟槽的指令调度优化算法。该算法面向VLIW体系结构,根据程序依赖图选择合适的候选指令序列;通过建立代价收益模型为分支延迟槽产生一个收益较大的指令调度序列。实验数据表明,分支调度算法可以平均提升12.9%的应用程序性能。 相似文献
2.
SIMD扩展部件是近年来集成到通用处理器中的加速部件,旨在发掘多媒体和科学计算等程序的数据级并行.控制依赖给发掘程序中的数据级并行带来了阻碍,当前不论基于loop-based还是SLP的控制流向量化方法都需要if转换,而没有考虑循环内蕴含的向量并行度,导致生成的向量代码效率较低.此外不精确的代价模型指导控制流向量化,同样导致生成的向量代码效率较低.为此提出了改进的控制流SIMD向量化方法,首先提出了含有控制依赖的循环分布算法,分离循环的可向量化部分和不可向量化部分,同时考虑分布时数据的局部性;其次提出了一种直接向量化控制流的方法,该方法考虑了基本块间的向量重用;最后利用精确的代价模型指导超字选择指令和超字条件分支指令的生成.实验结果表明,与现有的控制流向量化方法相比,本文提出的改进方法生成的向量代码性能提高24%. 相似文献
3.
指令间的依赖关系是阻碍指令调度发挥作用,进而影响指令级并行的主要障碍。寄存器重命名是解决控制依赖和数据依赖的一种重要技术。研究并实现了一种指令调度中的寄存器重命名技术。它在164.gzip和186.crafty上分别取得了约5%和3%的加速比。 相似文献
4.
面向Java语言的进化测试中分支依赖图的构建 总被引:3,自引:0,他引:3
在面向对象程序的进化测试中,面向对象程序本身的状态特性使得一个分支的到达需要一定长度方法调用序列的执行,而封装特性则使得在一个对象外部无法直接调用其private方法或者protected方法。针对这两个问题,采用基于蚁群算法和遗传算法的动态搜索与静态分析相结合的方式提供了一种有效的思路。本文针对这种思路中的静态分析过程提出分支依赖图的概念,并设计、实现了针对Java语言的方法内分支依赖图以及类的分支依赖图的构建算法。 相似文献
5.
6.
现代编译器越来越依赖SIMD指令来提高向量化性能,但控制流的复杂性严重阻碍了SIMD向量化的发掘。现有的控制流向量化方法对于单层控制流的向量化很有效,但对嵌套等复杂控制流无法取得令人满意的效果。因此,提出了一种基于条件分类的控制流向量化方法。该方法对条件为循环不变量的控制流,以层次遍历的顺序实施IF外提;对条件为循环变量的控制流,结合语句匹配和条件合并递归地进行IF转换,生成相应的SIMD指令,从而实现嵌套控制流的向量化。实验结果表明,该方法能够有效消除循环中的嵌套控制流,提高向量化发掘的能力, 有效提升 测试程序的性能。 相似文献
7.
8.
9.
10.
11.
在现代高性能微处理器设计中,推断和推测成为开发指令级并行性ILP(Instruction Level Parallelism)的两种重要技术途径.推断的目的是打破程序间固有的控制流程,将控制相关转变为数据相关,使指令级并行性识别从一个基本块扩大为一个超块.推测执行是为打破分支或访存引起的相关问题而进行的操作,进一步分为控制推测和数据推测.控制推测的目的是打破分支和其他操作间的相关性,进而由编译器在一个超块内识别并行性,减小控制相关的高度.数据推测则是消去访存相关,提高指令级并行度.该文首先对推断和推测本身进行分析,然后在此基础上进一步将推断、推测技术相结合,并应用于高性能媒体处理器的设计中.性能评价和比较结果显示,两种技术相结合将比任何一种技术都更加行之有效. 相似文献
12.
CACHE技术是现代计算机存储体系结构中普遍使用的一种重要技术。文章通过分析了合一CACHE和分离CACHE的特点,发现如果能解决合一CACHE中同时进行取指和存取数而引起的资源冲突问题,则能够更好地利用CACHE的功能。因此提出了一种VLIW体系中在合一CACHE的基础上增加一个填充指令BUF的方案,并从其指令界面的支持,硬件结构,和编译支持三个方面对该方案进行了阐述。并通过实例和实验数据证明它能够较有效地解决同时取指和取数的资源冲突问题。 相似文献
13.
分支预测技术一直是提高处理器性能的重要方法,工业界和学术界对之进行了大量研究。分支预测的本质是克服指令控制相关,提高指令并行度。随着研究的不断深入,当前学术界认为分支预测是一个指令学习的过程,这就使得对分支预测的研究出现了新的趋势。该文对分支预测技术进行了归纳以及评估,以便从总体上了解分支预测技术的发展过程。 相似文献
14.
针对底层虚拟机混淆器(OLLVM)在指令混淆层面只支持指令替换一种算法,且仅支持5种运算符和13种替换方案的问题,设计了一种改进版的指令混淆框架InsObf,以加强OLLVM指令层面的混淆效果。InsObf包含指令加花和指令替换,其中指令加花首先对基本块的指令进行依赖分析,然后插入叠加跳转和虚假循环两种花指令;指令替换在OLLVM的基础上,拓展至13种运算符,共计52种指令替换方案。在底层虚拟机(LLVM)上实现了框架原型后,通过实验表明,与OLLVM相比,InsObf在时间开销增长约10个百分点,空间开销增长约20个百分点的情况下,圈复杂度和抗逆向能力均可提高近4倍;与同样基于OLLVM改进的Armariris和Hikari相比,InsObf在同一量级的时空开销下,可以提供更高的代码复杂度。因此,InsObf可提供指令层级的有效保护。 相似文献
15.
16.
为了利用依存关系进行短文本分类,研究了利用依存关系进行短文本分类存在的四个关键问题。分别在长文本语料集和两个短文本语料集上,抽取具有依存关系的词对,并利用这些词对作为特征进行分类实验。实验结果表明:依存关系能够作为有效的特征进行文本分类,并能够改善文本分类的性能;单独把依存关系作为特征,不能提高短文本的分类性能;可以利用依存关系作为特征扩充的手段,增加短文本的特征,增强短文本的描述能力,进而进行有效的短文本分类。 相似文献
17.
RISC-V是基于精简指令集原理建立的免费开放指令集架构, 具有完全开源、架构简单、易于移植、模块化设计等特点. 随着网络高速发展, 安全风险无处不在, 利用RISC-V的可扩展特性是一种非常有效地提升RISC-V设备安全的方式. 因此, 本文针对RISC-V自定义指令的安全能力, 结合可信计算、流密码技术, 设计了简单高效的RISC-V自定义指令, 实现基于可信基的数据安全存储功能, 并依托GNU编译工具链实现对自定义指令的编译支持, 在模拟器上测试应用程序对自定义指令的调用执行. 该指令充分结合可信计算与流密码的安全特性, 可实现较强的安全性. 相似文献
18.
19.
同步数据触发体系结构SDTA将传统指令级并行细化到微操作级并行,具有较高的数据处理能力,但其特殊的指令格式及指令特性,给指令Cache访问带来了挑战。指令预取技术能够有效地降低指令Cache的访问失效率,增强处理器取指能力,提高性能。本文分析了SDTA指令集特性,提出了一种适合SDTA指令集特性的软硬件相结合的混合指令预取机制,采用硬件预取引擎和软件提示相结合进行预取。该方法能够有效地提高指令Cache命中率,且具有实现简单、无效预取率低、不会增加代码体积等特点。 相似文献