好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

llvm编译系统结构分析与后端移植aspx.pdf

87页
  • 卖家[上传人]:xzh****18
  • 文档编号:41704733
  • 上传时间:2018-05-30
  • 文档格式:PDF
  • 文档大小:1.12MB
  • / 87 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 上海交通大学硕士学位论文LLVM编译系统结构分析与后端移植姓名:董峰申请学位级别:硕士专业:计算机系统结构指导教师:付宇卓20070119LLVM 编译系统结构分析与后端移植摘 要伴随着复杂逻辑设计这样的挑战的出现,诞生了许多的基于平台 的设计在为硬件设计提供了一个好的解决方案的同时,基于平台的 设计仍然需要给出一个完备的开发工具链,包括编译器、汇编器、仿 真器等等因此出现了 ADL(Architecture Description Language)以帮助 进行工具链的生成其中的 MADL(Mescal Architecture Description Language) 是 一 个 良 好 设 计 但 尚 不 完 善 的 ADL UADL(Unified Architecture Description Language)项目致力于在 MADL 的基础之上提 供一个工具链自动生成的更好方法本文是 UADL 项目的一部分,提 供了对 LLVM(Low Level Virtual Machine)编译系统的后端移植,这构成 了 UADL 项目进行编译器自动生成研究的基础LLVM 架构是美国伊 利诺斯大学开发的开放源代码编译器架构,本文介绍了 LLVM 架构的 基本构成,其组成部分的具体功能,详细分析了该架构的后端移植机 制,包括寄存器描述、指令集描述、汇编输出等移植机制的各个方面, 然后给出实现 ARM 后端移植的具体工作细节,最终实现了 LLVM 架 构对 ARM 处理器后端的支持。

      关键词:LLVM,编译器,ARM,后端移植ANALYSIS OF LLVM COMPILER INFRASTRUCTURE AND BACKEND PORTING FOR ARMABSTRACTWith the rising challenges, such as the complexity of logic design, many platform-based designs came out. While providing a good solution for hardware design, platform-based designs still need to supply a qualified development toolchain, including compiler, assembler, simulator and etc. Then ADL (Architecture Description Language) came out to facilitate the generation of the toolchain. MADL (Mescal Architecture Description Language) is a well-designed but immature one. Our UADL (Unified Architecture Description Language) project aims to offer a better toolchain auto-generation methodology on the basis of MADL. This paper is part of the UADL project and gives a solution to LLVM (Low Level Virtual Machine) backend porting, which can be the basis of the research of compiler auto-generation for UADL project. LLVM Infrastructure is an open-source compiler structure developed by University of Illinois at Urbana-Champaign. In this paper, first the components of LLVM Infrastructure and their corresponding functions are introduced. Then LLVM Infrastructure’s backend-porting scheme is analyzed, including register description, instruction description, assembly output etc. Finally, the details of porting LLVM Infrastructure on ARM are given and the LLVM Infrastructure’s support for ARM backend is arrived.KEY WORDS: LLVM, Compiler, ARM, Backend Porting图片目录图 1 摩尔定律在 Intel 公司芯片上的体现 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 2图 2 不同工艺尺寸下的掩模制作费用⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 2图 3 IC 设计中的不同流片次数⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 3图 4 LLVM 工具及相互关系⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯11图 5 LLVM 编译流程结构图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯12图 6 高级语言前端结构图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯13图 7 中间代码优化器结构图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯13图 8 代码生成器的结构图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯14图 9 LLVM 后端移植结构⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯17图 10 ARM 指令集编码⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯44图 11 ARM 条件码⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯45图 12 三种数据处理类指令编码 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯46图 13 单字内的访存指令编码 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯47表格目录表 1 LLVM 原子类型⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯10表 2 ARM 处理器数据类型与对齐 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯41表 3 ARM 处理器寄存器功能表 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯421上海交通大学学位论文原创性声明上海交通大学学位论文原创性声明本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。

      除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的作品成果 对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明本人完全意识到本声明的法律结果由本人承担学位论文作者签名:董峰日期:2007 年 01 月 19 日2上海交通大学学位论文版权使用授权书上海交通大学学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定, 同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅本人授权上海交通大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文保密保密□,在 年解密后适用本授权书 本学位论文属于不保密 不保密□√请在以上方框内打“√√”)学位论文作者签名:董峰 指导教师签名:付宇卓日期:2007 年 01 月 19 日 日期:2007 年 01 月 19 日– 1 –1 绪论1.1 课题研究背景自从 1947 年美国贝尔实验室发明了晶体管以来,集成电路已经被广泛地使用,计算机、通信设备、汽车电子、消费电子,所有这些设备中都包含有集成电路,它们极大地改善了人们的日常生活。

      但伴随着集成电路的广泛使用,人们对它们的要求也越来越高对产品用户而言,要求更快的速度、更多的功能、更低的功耗、更小的尺寸、更稳定的性能;对生产厂商而言,为了获得更大的利润,需要使用最少的成本在最短的时间内将产品上市这一切都对现在的电子系统设计工程师和科学家提出了更多的要求,带来了更大的挑战对应到电子系统设计,这些要求和挑战中最难解决的有:a. 功耗控制传统电池提供的能量有限,如镍铬电池每磅仅能提供 20W*h 的能量,电源技术每 5 年最大能将电池的性能提高 30%[1],而当今的 SoC 已达到百瓦量级,如 Intel 的 Itanium 2 功耗约 130 瓦[2],这导致封装制冷成本提高b. 复杂的逻辑设计1965 年提出的摩尔定律距今已经 40 多年,芯片产业的确在按照这一规律在发展进步,即单位面积芯片上的晶体管数量大约每 18 个月增加一倍图 1 为摩尔定律在 Intel 公司芯片上的体现[3]工程师们要在短时间内充分利用单个芯片上可容纳的越来越多的晶体管,就必须采用更有效的快速电子系统设计方法– 2 –图 1 摩尔定律在 Intel 公司芯片上的体现Fig. 1 Moore’s Law on Intel’s processorsc. 生成产生的 NRE(Non-Recurring Engineering)费用。

      在生成芯片的过程中有一项是光学曝光[4],随着工艺尺寸的不断缩小,不得不采用复杂的解析度增强技术,这些技术导致了更多的花费图 2 显示了不同工艺尺寸下的掩模制作费用[5]图 2不同工艺尺寸下的掩模制作费用Fig. 2 Mask cost under different technology generation– 3 –除了以上这些困难,还有其他影响生产的因素,如信号完整性,电磁干扰等等再加上越来越复杂的功能,和与之产生的相应的芯片测试和验证工作,导致了现在越来越多的设计失败和越来越多的流片次数(见图 3) 这些因素使得当今的电子系统设计是高风险和高成本的“双高”产业,即使是一个成功的设计也要通过巨大的产品生产量来平摊设计成本调查显示,ASIC 项目的开展数目从 1998 年的大约 5000 个到 2002 年降为不到 1500 个[6]图 3 IC 设计中的不同流片次数Fig. 3 Number of spins in IC Designs由于设计的复杂性和生产效率之间的差距越拉越大,必须有一种全新的设计方法来简化设计的复杂性,减少重新流片的次数,降低 NRE 成本,让电子系统设计回到一个合理的范围, 这些要求触发了基于平台设计的出现。

      Vincentelli 在 “Definingplatform-based design”一文中对基于平台的设计做了总结[7]在该文中,平台被定义为“设计流程中的一个抽象层,它使得对设计流程中下一个抽象层的改进优化工作变得更加方便” 这个定义使平台这一概念可广泛地用于从抽象级最高的电子设计级到抽象级最低的硅片实现级平台的本质是使设计分成若干可以被快速理解的不同层次,让设计的复杂程度降低到适当的程度,即让每一层次可以单独快速地被实现,能在每一层内进行充分有效地改进和优化,并使得因为层次划分而不能或不易进行的全局优化降到最低的一种设计方法在各种电子系统中,现有的硬件设计平台包括:基于全定制的版图的,基于可– 4 –重配置结构的,基于现场可编程门阵列(field-programmable gate array,FPGA)的,基于专用指令集处理器(application-specific instruction set processor, ASIP)的,基于数字信号处理器(digital signal processor, DSP)或通用处理器(general-purposeprocessor, GPP)的。

      所有这些平台依次提供相对越来越高的灵活。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.