首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 109 毫秒
1.
嵌入式RISC-V处理器交叉开发生成高质量目标代码的关键是GCC的移植与优化.分析GCC的基本结构和RISC-V体系结构的数据与指令特点,建立GCC后端移植机制,采用机器描述方法,生成32位riscv-none-embed-gcc编译器,实现RISC-V处理器的GCC移植,设计强度削弱的窥孔优化方法解决中间代码生成过程中CPU计算代价高的问题.验证与测试结果表明编译器编译正确并具有通用功能,优化后编译生成的目标代码体积减少约11%,提高了目标代码质量,节省了嵌入式处微理器的存储空间.  相似文献   

2.
王国栋  侯朝焕  马杰 《计算机工程与设计》2005,26(8):1980-1981,1985
在现代微处理器设计中,推断和预测成为开发指令级并行性ILP(Instruction-Level Parallelism)的两种重要技术途径。通过移植GCC可以开发出运行在不同系统平台的高效快速的编译系统。分析了GCC对编译优化的支持,总结了推断和预测在GCC移植过程中的实现方案。  相似文献   

3.
一个基于DAG图的指令调度优化算法   总被引:1,自引:0,他引:1  
指令调度是优化编译技术中一项关键技术,对于VLIW体系结构的CPU,指令调度显得尤为重要。指令调度是在保证语义正确的前提下,改变指令的执行顺序,减少流水线中的空闲周期,从而提高CPU性能的一种优化方法。文章着重分析了优化编译中的指令调度问题,提出了一个指令调度算法和DAG图的一种化简方法,证明了算法的正确性,分析了算法的效率,比较了生成的新指令序列和最优的指令序列总的执行时间的差别。同时,针对目前流行的编译器GCC的指令调度算法中存在的问题,提出了一个较好的解决途径。  相似文献   

4.
循环展开是一种常用的编译优化技术,能够有效减少循环开销,提升指令级并行程度和数据局部性,提升循环的执行效能。然而,过度的循环展开会造成指令Cache溢出,增大寄存器压力,循环展开次数太少又会浪费潜在的性能提升机会,因此寻找恰当的展开因子是研究循环展开问题的核心。基于GCC开源编译器,面向循环展开问题开展深入的分析与研究,针对指令Cache和寄存器资源对循环展开的影响,提出了一种基于指令Cache和寄存器压力的循环展开因子计算方法,并在GCC编译器中实现了该计算方法。申威和海光平台上的实验结果显示,相较于目前GCC中存在的其它展开因子计算方法,所提出的方法可以获得更为有效的循环展开因子,提升了程序性能。在SPEC CPU 2006测试集上的平均性能分别提升了2.7%和3.1%,在NPB-3.3.1测试集上的分别为5.4%和6.1%。  相似文献   

5.
在分析GCC结构的基础上, 阐述了GCC在C4350AL处理器上的移植与优化方案. 针对C4350AL对GCC的x86后端进行了扩展, 实现了GCC对C4350AL的识别. 根据C4350AL的结构特性, 在GCC中为建立了流水线模型描述, 并基于SPEC2006测试程序对模型效果进行了验证. 实验表明采用该模型使得GCC在C4350AL上获得了性能的提升.  相似文献   

6.
为了克服手工编写汇编代码易于出错、难于维护等缺点,在 GCC 编译器的基础上生成了 DSP TMS320C67xx芯片的汇编指令集。首先,研究了GCC中与机器描述相关的RTL模板,重点研究了RTL模板的组成结构及其各个部分的作用;然后,通过编写RTL模板完成了TMS320C67xx汇编指令的生成。在编写RTL模板的过程中,运用多种RTL模板编写技术实现了TMS320C67xx的指令集,同时针对实现难度较大的指令给出了解决方案。最后,对C语言源程序进行了编译,验证了TMS320C67xx所有6种类型的汇编指令都已被生成,所提方法具有一定的通用性和扩展性。  相似文献   

7.
由于超长指令字处理器通常都有多级流水线和复杂的资源使用限制,如何准确地描述处理器的流水线模型,快速地判断是否存在资源冲突并不是个简单地任务。文章介绍GCC新引入的正则表达式语法的流水线描述机制。在将GCC移植到笔者所开发的SuperV芯片的过程中,利用该机制对SuperV芯片的流水线结构和资源使用限制进行详尽地描述,启动了GCC的指令级并行调度。通过并行调度,测试程序的性能提高了大约6%—35%。  相似文献   

8.
魂芯DSP处理器是一款32 bit静态超标量、分簇结构的、支持SIMD的VLIW处理器。魂芯DSP芯片有4个执行簇和3个内存块,但簇间数据传输和寻址会占用总线带宽。魂芯DSP上每个簇中有大量的计算部件,但是现有的编译器框架中指令调度算法是针对非分簇结构的,无法充分利用魂芯DSP的分簇结构特点,产生出高效的指令级并行代码。根据魂芯处理器架构分簇的特点,提出了在魂芯DSP上进行指令分簇和指令调度的启发式算法,并且在开源Open64编译器框架上进行了实现。实验结果表明,该算法在魂芯DSP编译器上的实现可以显著提高一些在DSP上有着计算密集型程序的性能。  相似文献   

9.
指令级并行在提高处理器运行速度方面显得越来越重要,if转换技术是一种在处理器支持条件执行的前提下,有助于提高指令级并行度的编译优化技术。在详细分析GCC(GNU Compiler Collection)内部if转换技术的实现机制和算法的基础上,针对matrix体系结构特点,对GCC中现有if转换算法进行了移植与改进,实现了matrix编译器的if转换算法。实验证明,改进后的if转换算法能够更有效地移除分支,减少基本块的数量,扩大单个基本块的范围,有助于编译器生成更加优化的代码。  相似文献   

10.
在分析Linux内核和DSP&CPU体系结构的基础上,提出了在DSP&CPU体系结构下FDS-Iinux的实现方案。并对DSP&CPU体系结构下的内存管理、进程调度和中断实施过程进行了设计与实现。  相似文献   

11.
ARM Compute Library是一类针对ARM Cortex-A系列CPU处理器和ARM Mali系列GPU特定优化的软件算法函数库,内部实现了卷积滤波器、卷积神经网络等算法,并且使用Cortex-A CPU NEON、Mali GPU的SIMD技术加速算法运行。RISC-V指令集作为一种开源的指令集,目前发布了相对稳定的SIMD指令集版本,并且C-SKY开源了支持v0.7.1 intrinsics的GCC和QEMU。在这些基础上,本文尝试将ARM Compute Library函数库移植至支持RISC V向量指令集,其中函数移植的核心思想是在不修改源文件的前提下,通过编写一个头文件,用宏定义把ARM NEON向量类型接口逐一替换成RISC-V intrinsics中定义的向量类型和向量函数接口。  相似文献   

12.
针对嵌入式和移动设备对处理器高性能低功耗日趋强烈的要求,提出一种基于MIPS指令集的顺序超标量和超长指令字混合架构处理器设计方案,便于以同构多核架构代替目前业界普遍采用的CPU与DSP异构结构,降低功耗面积,同时以VLIW模式获得较好的DSP性能。在PD(Processor Designer)平台下以LISA语言建立处理器的周期精度软件模拟器,通用性能和DSP性能分别由dhrystone、coremark基准测试程序及EEMBC的telecom测试程序进行验证。测试结果表明该设计以较低的硬件开销通过混合架构获得较高的数字信号处理性能,在高性能低功耗的处理器应用场景中拥有良好的适用性。  相似文献   

13.
DSP指令集仿真器的设计与实现   总被引:3,自引:1,他引:2  
指令集仿真器是进行芯片设计评估,系统软件设计开发以及计算机软硬件协同设计的不可或缺的工具.在DSP的硬件设计和后期算法开发中,指令集仿真器也同样是起着至关重要的作用.该文参考当前在指令集仿真领域比较先进的JIT-CCS和IS-CS仿真技术,吸取了各自的一些优点,提出了仿真策略,设计并实现了基于DSP3000的指令集仿真器HJS.为了兼顾仿真速度与精度的要求,HJS实现了指令精度和时钟周期精度两种级别的仿真.同时,在指令Cache和流水线的仿真上都做到了既尽可能与实际硬件相符,同时也兼顾执行效率.为评估DSP硬件设计、DSP算法的实现提供了很好的软件模拟平台.  相似文献   

14.
在构造嵌入式系统开发环境的时候,GCC作为一个成功的开源项目,以其源码开放以及众多的目标体系结构支持,引起人们的关注。然而,人们仍然可能面临一些问题,其中之一就是如果使用的处理器并不在GCC的支持列表中,应该怎么做。针对该问题,GCC良好的扩展机制提供了简单自行编写特定目标体系结构支持后端的机会。该文以实际项目中的MPC5××系列为例,描述如何基于GCC构造开源的嵌入式环境开发工具链。  相似文献   

15.
王云贵  杨靓 《微处理机》2011,32(2):7-9,13
算术逻辑单元(ALU)是现代通用处理器和DSP处理器的核心功能部件。设计了一种定浮点合并的FALU,通过结合使用功能单元复用技术、操作数隔离技术和旁路技术,理论上能有效减少芯片的面积,降低芯片的功耗。FALU能实现21种指令,仿真验证显示其功能完全正确。  相似文献   

16.
17.
东野长磊 《计算机工程》2011,37(11):242-244
基于现场可编程门阵列(FPGA)平台,设计嵌入式精简指令集计算机(RISC)中央处理器(CPU)。参考无内部互锁流水级微处理器(MIPS)指令集制定原则设计CPU指令集,通过分析指令处理过程构建嵌入式CPU的5级流水线,结合数据前推技术和软件编译方法解决流水线相关性问题,并实现CPU的算术逻辑单元、控制单元、指令cache等关键模块设计。验证结果表明,该嵌入式RISC CPU的速度和稳定性均达到设计要求。  相似文献   

18.
自动向量化技术是编译器提高程序并行性的优化方法。随着支持SIMD结构处理器的计算平台的广泛应用,自动向量化技术也成为编译器技术研究的热点。GCC编译器是一种开源、跨平台的编译器。本文基于GCC内部自动向量化算法,结合Matrix芯片的体系结构和指令集特点,完成了Matrix向量指令集在GCC后端扩展,实现了基本的自动向量化支持。测试结果表明,扩展后的编译器能够支持Matrix向量指令集,进行基本的自动向量化,同时支持以内建函数方式开发基于Matrix的并行程序。  相似文献   

19.
GCC中内嵌函数实现剖析   总被引:2,自引:2,他引:0  
李春江  杜云飞  易会战  杨灿群 《计算机科学》2012,39(106):357-359,379
GNU编译器集合(GCC)具有支持多种高级语言和多种目标处理器平台、文档及源代码开放等的特点,在工业界和学术界被广泛使用。GCC支持非常多的内嵌函数,内嵌函数是GCC编译器中非常重要的一部分实现。首先分析GCC中多种内嵌函数的目的和作用;之后结合实际工作,以使用向量扩展指令的内嵌函数实现为例,剖析了平台相关的内嵌函数的实现过程。本工作对深入理解C}CC编译器中的内嵌函数实现机制,对基于C}CC的研究和开发有较强的参考意义。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号