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

来源 :中南大学 | 被引量 : 0次 | 上传用户:fakejay
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
编译器是嵌入式系统研发的基础,快速实现特定硬件平台的嵌入式系统编译器可以大大缩短嵌入式系统研发周期。目前研究人员主要采用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%。
其他文献
词是最小的能独立表示语义的语言单位,因而是处理各种自然语言文本的基础。汉语书写显得很特别,因为它没有明确的标志将词与词分开,而是一段连续的汉字串。如何把汉字串正确
跨层设计是最近几年通信网络领域研究的热点之一。跨层设计是相对于传统的分层设计思想而言的。传统的分层设计思想在有线网络设计中的应用非常成功。但是在无线网络中,传统
为了满足基于无线传感器网络的危险品运输监测系统的高可靠性和高实时性,在设计时必须要求传感器节点的低功耗和系统对事件处理的实时性响应,从而实现车辆在行驶状态中传感器
膜计算是生物计算的分支,是从生物活细胞的功能和结构中抽象出来的计算模型。膜计算又称之为P系统,是由罗马尼亚科学家Gh.Paun于1998年提出的一种计算模型,为计算机科学带来
Internet上面的信息数量与日俱增,使得互联网的使用者已经很难以地址栏输入地址或简单的导航网站等方式准确、有效地找到所需内容。搜索引擎的出现给这个问题提供一个有效的解
当今世界,科学技术飞速发展,信息技术日新月异。随着网络技术快速发展和在教育中的广泛应用,针对网站和网络设备的监控已经成为网络发展中必然产物。如何选择一个适合的监控
潜在狄利克雷分布(Latent Dirichlet Allocation,LDA)是一种流行的主题模型算法。它对每篇文本以及文本中每个单词进行主题层次上的聚类,将高维稀疏的文本单词矩阵分解成两个相对
随着信息技术的普及和深入应用,企事业已将大量以各种形式存在的关于顾客、产品开发和协作知识等的信息存储于内部的信息管理系统中;同时因特网上也出现了大量企事业感兴趣的
在机器学习领域的分类问题中,对于待分类的样例,当我们用于判断其类别的属性个数很多时,用传统的分类算法建立分类器,消耗较多的计算机时间和空间。近年来,研究学者们对数据
深度强化学习是机器学习领域中一个新的研究热点。它以一种通用的形式将深度学习的感知能力与强化学习的决策能力相结合,并通过端对端的方式学习从原始输入到动作输出的一个映