基于LLVM的NiosⅡ处理器后端快速移植及优化
【学位授予单位】:中南大学
【学位级别】:硕士
【学位授予年份】: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