当前位置:主页 > 科技论文 > 计算机论文 >

基于LLVM的NiosⅡ处理器后端快速移植及优化

发布时间:2020-07-05 11:45
【摘要】:编译器是嵌入式系统研发的基础,快速实现特定硬件平台的嵌入式系统编译器可以大大缩短嵌入式系统研发周期。目前研究人员主要采用GCC编译器后端移植方法来生成嵌入式系统编译器。GCC主要使用RTL描述后端处理器,但是RTL抽象复杂不便于编写和阅读。同时GCC复杂的软件结构以及后端移植文档缺乏导致GCC后端移植方法无法满足嵌入式系统研发周期短的要求。如何快速实现编译器后端移植仍然是嵌入式系统研究的热点。 首先本文采用新的编译器架构低级虚拟机(Low Level Virtual Machine, LLVM),通过移植NiosⅡ嵌入式处理器来分析LLVM快速后端移植架构。采用LLVM后端移植架构中的TableGen描述NiosⅡ基本体系结构,使用完备的LLVM C++函数库来描述复杂或特殊的操作。TableGen与LLVM C++函数库配合使用,实现LLVM编译器对NiosⅡ处理器后端的支持。实验结果表明与GCC后端移植方法相比,基于LLVM快速后端移植方法大大减少了源代码量及无需模仿已有的处理器,大大节省了后端移植时间。 其次本文研究并实现后端描述辅助系统,以加快目标处理器后端描述速度。针对LLVM后端移植架构中存在大量繁杂且重复的文本TableGen描述,本文设计人性化、可视化的后端描述辅助系统。输入少量目标处理器后端信息,通过后端描述辅助系统快速生成相应的TableGen描述文件。 最后本文以纸张计数系统为出发点,鉴于纸张图像处理的运算量大和循环数目多的特点,研究并实现LLVM编译器循环优化功能,并对该系统进行循环优化。通过实验表明经过LLVM编译器的循环优化,纸张计数系统的图像数据处理速度提高了10.1%-14.6%。
【学位授予单位】:中南大学
【学位级别】:硕士
【学位授予年份】:2011
【分类号】:TP368.1
【图文】:

层次结构图,后端,层次结构图,目标处理


硕士学位论文第三章基于LLVM的Niosll处理器后端移植图3一 1LLVM后端移植层次结构图从图3一1可看出,虚线上部表示LLVM后端移植架构提供的后端移植类接口,下部表示用户端移植架构类接口。LLVM后端移植工作主要由目标静态描述和动态描述两部分完成。目标静态描述使用几bleGen描述目标处理器后端寄存器、指令、调用约定等基本属性。动态描述使用C++类描述目标处理器复杂或特殊操作。TableGen描述的目标处理器体系结构基本信息存放在以“.td”为后缀的文件中。LLVM后端移植架构提供了描述目标处理器体系结构基本属性的基类例如寄存器Register、指令Instruetion等。在用户端移植架构中使用几bleGen继承并扩展这些记录,获得目标处理器相关属性的几bleGen描述。thlgen解析工具解析目标处理器体系结构的TableGen描述文件生成完整的C十十信息记录。LLVM后端移植架构中提供大量关于描述处理器复杂特征属性的C++抽象基类,我们首先需要继承并实现这些基类。由于大多数抽象基类不直接提供任何功能的代码生成功能,只是包含目标处理器特征及性能的选择信息。这种方式可以使大量的实际算法和优化过程与具体目标无关,减少复杂特征属性描述的工作量。只需实现指定的接口就可以获得目标处理器所需的特征属性信息,这样可以大大降低后端移植的复杂度。用C++代码动态补充TableGen不能描述的特殊或复杂的目标体系结构特征

界面图,寄存器,信息输入,界面


寄存器类数据表。然后从寄存器类表中提取寄存器类名将其存放在寄存器信息输入模块中的寄存器类中,供用户选择,提供人性化的输入界面,减少用户的负担。图4一3为寄存器类输入模块界面。纂勤私砷娜薰薰蘸羹…彝薰蘸薰薰薰馨鬓纂熟儡井i窖牵蟀率寄存器类信息输入清委妻造募藏人工婿夏衬请戴补二认奏至聪溺反工遭厢董赎万寄存器类名玩tRe:,星号必须镇写寄存器位宽5命名空间。:。:::寄存器编号~l子寄存器序列泣塾‘一以~一一~俩偏一琳~赫赫一赢一一粼图4一3寄存器类信息输入界面寄存器信息输入模块则根据已创建的寄存器类以及目标处理器寄存器的特点,实例化对应的寄存器类,得到目标处理器具体寄存器的描述例如语句“ defGO:形<0,”GO”>,DwarfRegNum<[0]>;”。上面的语句定义了寄存器GO,它是整数寄存器,寄存器编号为0,寄存器内部编号为0

【参考文献】

相关期刊论文 前7条

1 郑建丹,张广泉;软件体系结构描述语言ADL[J];重庆师范学院学报(自然科学版);2000年04期

2 魏亮辉;李曦;徐步荣;纪金松;;基于XP-ADL的重定向编译器后端设计[J];计算机辅助工程;2007年01期

3 任小西,李仁发,张克环,郭媛妮;一种基于多目标设计方法的嵌入式编译器技术[J];计算机应用;2004年02期

4 徐步荣;李曦;魏亮辉;;一种基于可重定向编译器的功耗优化框架[J];计算机仿真;2007年04期

5 卢德良;周学功;彭澄廉;;NIOS Ⅱ处理器中定制指令的设计与实现[J];计算机应用与软件;2007年12期

6 崔莹;辛晓晨;沈钢纲;;基于UEFI的嵌入式驱动程序的开发研究[J];计算机工程与设计;2010年10期

7 郑光;陈幼平;余文勇;艾武;;基于数学形态学的纸张计数算法的研究[J];微计算机信息;2007年21期

相关博士学位论文 前1条

1 琚小明;面向媒体处理器可重定目标编译器的设计研究[D];浙江大学;2004年

相关硕士学位论文 前8条

1 苏斐琦;交叉编译系统的研究与实现[D];浙江大学;2003年

2 朱少波;基于GCC开发C编译器的研究与实践[D];浙江大学;2003年

3 蔡杰;GCC编译系统结构分析与后端移植实践[D];浙江大学;2004年

4 冯钢;基于GCC的嵌入式系统编译器研究与开发[D];浙江大学;2004年

5 任小西;嵌入式系统编译器的快速生成方法研究[D];湖南大学;2004年

6 董峻峰;基于龙芯2号结构特征对GCC的分析与优化[D];中国科学院研究生院(计算技术研究所);2006年

7 杨川龙;基于GCC的嵌入式系统编译器的研究与开发[D];哈尔滨工程大学;2006年

8 曾楠;可重定目标编译器辅助移植系统设计实现[D];厦门大学;2006年



本文编号:2742563

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2742563.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户64945***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com