一、基于VLIW的机器相关优化编译技术研究(论文文献综述)
唐镇[1](2020)在《向量VLIW DSP寄存器偶对的代码优化技术研究》文中指出本文对向量VLIW DSP的寄存器偶对相关的代码优化技术进行了研究,具体包括寄存器偶对操作数处理、寄存器偶对指派、自动向量化过程中的寄存器偶对使用等三个代码优化问题的研究。本文提出了寄存器偶对操作数修正算法,该算法解除了指令操作数中的成对符号寄存器必须在寄存器分配时作为一个整体同时获得寄存器偶对的要求,提升了对寄存器的使用的灵活性。本文为指令的操作数中的成对符号寄存器提供了一种灵活的寄存器偶对指派算法,可以提高寄存器指派过程的成功率,减少插入溢出恢复指令的数量。本文结合自动向量化算法的处理过程和硬件特征,提出了自动向量化过程中寄存器偶对利用的代码优化算法。具体研究内容如下:(1)针对寄存器偶对操作数的代码优化。这项优化的算法结合数据流信息,分别对指令的源操作数和目标操作数按照寄存器分配结果用不同方法进行修正。此算法将指令操作数中不符合寄存器偶对使用约束条件的寄存器偶对称为错误寄存器偶对。在进行指令寄存器偶对操作数修正时,以单条指令为基本对象,分析处理模式,通过插入数据转移指令把指令中错误寄存器偶对中的数据暂存到通过启发式方法找到的合法寄存器偶对中。然后,在该指令后添加数据传送指令将暂存的数据传送回原来的寄存器中。指令寄存器偶对操作数修正算法使得寄存器偶对操作数的使用符合物理寄存器偶对使用的约束条件,并保证输入代码的语义不发生变化;(2)寄存器偶对指派的代码优化。这项优化的算法结合候选物理寄存器集合的编号特征和寄存器偶对的约束条件,对寄存器分配流程中的寄存器指派环节进行了优化。当存在符合寄存器偶对的使用约束条件的空闲物理寄存器偶对时,此优化算法将尽可能地指派空闲物理寄存器偶对给成对的符号寄存器。当不存在这样的空闲物理寄存器偶对时,指派任意两个空闲的物理寄存器给成对符号寄存器,避免寄存器指派失败;(3)自动向量化中寄存器偶对利用的代码优化。这项优化的算法建立了以代码片段的指令执行包数量为衡量标准的代价模型来指导代码转换,并将输入代码中部分使用单个寄存器操作数的指令映射成使用寄存器偶对的操作数指令。此方法能够帮助提升了数据处理能力更强的指令的利用率。
李盛[2](2020)在《分组密码专用描述语言及编译技术研究》文中认为可重构专用指令密码处理器具有面向密码运算的专用指令集和可重构专用运算单元,密码处理性能高、灵活性强,已成为密码算法的一种重要实现方式。但该类处理器指令集和体系结构复杂,代码编写和编译优化困难,影响了芯片应用,本文针对这一问题开展了研究,主要成果及创新点如下:1.提出了一种分组密码专用描述语言DSLBCA(Domain Specific Language for Block Cipher Algorithm)。针对通用编程语言难以直观描述分组密码算法的算子和结构的问题,采用领域专用语言建模的方法,从问题域和解答域的角度建立了分组密码算法加密过程特征模型、层次化特征模型和执行模型,定义了DSLBCA语言的数据类型、标识符、函数结构和程序控制结构,使密码应用者能够通过数学思维方式编写算法程序代码。2.设计了面向DSLBCA和可重构VLIW分组密码处理器RVBCP(Reconfigurable VLIW Block Cipher Processor)的编译基础设施。研究了RVBCP处理器指令集特点,结合分组密码专用描述语言的语言规则,提出了相应的编译基础设施,设计了词法分析器、语法分析器、语义分析器,实现了DSLBCA程序代码向RVBCP汇编指令集的符号编译。3.提出了面向可重构多引擎密码So C的反馈式编译器结构。研究了基于RVBCP的多引擎密码So C(System on Chip)的工作流程,提出了反馈式编译器结构,设计了基于平均代码行数的循环展开因子算法UFACLA(Unrolling Factor Based on Average Code Line Amount),在编译器前端实现了DSLBCA应用程序源代码在So C下的并行分配;并对展开后的代码进行标量替换,通过降低访存时间提高了分组密码算法的执行效率。4.提出了DSLBCA程序代码在RVBCP中的算子自动映射方案。建立分组密码算子调度参数模型,量化描述算子结点的调度状态信息;建立RVBCP的计算资源与寄存器资源参数模型,量化计算运行时计算资源与寄存器资源的消耗;基于贪婪策略、列表调度与线性扫描算法思想,设计了面向多发射可重构分组密码算法指令集处理器的并行资源分配算法,实现了分组密码算子在RVBCP上的自动并行映射。5.提出了RVBCP处理器低功耗指令调度方案。分析VLIW(Very Long Instruction Word)指令级功耗模型和RVBCP指令字内部指令排序与动态功耗变化的关系,对调整指令字之间汉明距离的方案进行了数学描述和讨论,将该低功耗指令调度问题归纳为广义旅行商问题,提出了一种基于禁忌搜索的改进广义遗传算法求解广义旅行商问题,实现了低功耗指令调度。
侯子健[3](2017)在《粗粒度可重构阵列的系统级功耗建模及优化》文中研究说明可重构体系结构是一种介于通用处理器与专用集成电路之间的结构,结合了通用处理器的灵活性和专用集成电路的高性能优点,适用范围广,可以通过动态重构灵活的实现不同功能的切换,因此获得了广泛的研究与应用。目前低功耗设计已成为现代可重构系统设计的重要任务之一。可以在系统级、软件层级、RTL级、逻辑层级、部件级和版图级等不同层次进行功耗优化的建模与设计,而进行低功耗设计的优化层级越高,优化空间越大。因此本文对可重构系统的系统级功耗建模问题进行研究,并在此基础上进行系统级的功耗优化。本课题面向粗粒度可重构体系结构,对指令级功耗模型、部件级功耗模型等系统级功耗模型进行研究,在指令级功耗模型的基础上进行改进,通过建立指令查找表,重点对可重构阵列进行功耗优化分析并在系统级层面建立了改进型指令级功耗模型。通过EEMBC标准进行测试,发现该模型的误差在10%以内,可以通过该模型指导功耗优化。基于该功耗模型,我们设计了功耗感知的任务编译算法,该算法以RSMap算法为基础,在指令级层面对可重构阵列进行了功耗优化。以该编译算法为基础,设计了基于LLVM的GRVM编译器平台,可以完成面向粗粒度可重构系统的硬件编译工作。利用所开发的功耗感知任务编译器在GREP可重构体系架构与功耗模型上进行了详细的实验,结果表明,提出的功耗感知的优化编译算法可平均降低22.9%的程序执行总功耗,而性能损失只有3.9%。相关结果及方法对于未来可重构架构的低功耗优化设计及应用具有较为重要的价值。
王向前[4](2015)在《魂芯DSP编译设计与优化》文中进行了进一步梳理近年来,随着国家自主设计芯片的能力的增强,涌现了一批成熟的产品级处理器芯片,主要有中科院计算所研制的龙芯、江南计算所研制的申威、国防科大研制的银河飞腾、北大众志、苏州国芯、杭州中天、华东电子工程研究所的魂芯等。为了突破市场,围绕自主芯片构建完善的“硬件平台-基础软件-应用”的生态系统成为研发工作的重要任务。其中,编译系统在该生态系统中占据至关重要的地位。论文以基于自主设计的魂芯DSP处理器构建优化编译器作为研究课题,主要研究工作摘要如下。(1)论文综合对比主流开源编译基础设施Open64、GCC、LLVM的重定向机制、优化技术,总结了基于开源编译基础设施进行编译开发的选型标准,并阐述了移植开源基础设施到魂芯DSP硬件平台的关键技术。(2)针对魂芯DSP分块内存的特点,创新地提出对程序中的存储访问构建关于变量的冲突图,针对分块内存进行存储块分配,优化数据在分块内存的分布,使得编译器生成的代码可以最大程度地挖掘程序中数据访问的并行性;考虑了分块内存、传参规则、向量化指令以及指令本身的固有特性等多个因素设计了面向数据并行的优化分簇算法,有效地解决了面向高数据并行领域分簇结构处理器的并行性挖掘。(3)魂芯DSP体系结构的主要特性是向量化体系结构,包括访存向量化和计算向量化。提出针对循环采取基于依赖分析的向量化方法以及对未成功向量化的循环基本块和其它基本块采取超字级并行性(SLP)技术相结合的向量化框架。(4)针对魂芯DSP分簇结构、支持SIMD、VLIW的体系结构特点研究模调度框架的实现方法。介绍了零开销循环识别和转换方法;论述了分簇结构、支持SIMD、VLIW体系结构的机器资源描述方法;研究了模调度与循环展开的关系;提出了模变量扩展的算法框架;描述了基于推测执行的代码生成模式。(5)针对魂芯DSP先进的谓词机制,提出了高效的编译实现框架。对比分析了魂芯DSP两种谓词形式,给出其各自的优势所在以及各自的适用范围。深入研究了两种谓词形式的特性以及编译支持方法。创新地提出基于循环展开的分簇结构部分谓词实现框架。(6)针对数字信号领域典型的FFT算法,研究其在魂芯DSP体系结构下的优化技术。创新地提出了基于部分逆序、面向高数据并行的FFT优化算法框架。
阳柳[5](2014)在《面向动态双模多层次并行体系结构的编译优化技术研究》文中指出无线通信与视频图像处理等应用领域的快速发展对数字信号处理器(DSP)的性能提出了较高的要求。DSP因具有数据处理能力强大、可编程性良好、使用灵活等特点被广泛使用。动态双模多层次并行DSP(Dynamic dual-mode multi-level parallel DSP,DDMP-DSP)是自主设计并实现的一款面向无线通信和视频图像处理的高性能浮点数字信号处理器。DDMP-DSP采用动态双模多层次并行体系结构,基于超长指令字(VLIW)技术支持指令级并行,基于宽字向量单指令流多数据流(SIMD)技术支持数据级并行,基于动态双模技术支持任务级并行。软件工具链对于新体系结构的实用性和性能发挥非常重要。在无线通信和视频图像处理应用中,随着算法复杂程度的提升,应用开发的工作量越来越大,采用手工代码优化的方式无法满足应用开发的需求。因此,开发过程中更多地采用高级语言编译优化的方式进行应用开发,这对高级语言编译器的设计和开发提出了更高要求。动态双模多层次并行体系结构的性能发挥很大程度上依赖于编译器,采用当前已有的DSP编译优化技术无法充分利用DDMP-DSP体系结构的特点并发挥其性能优势。论文针对DDMP-DSP体系结构的编译优化技术展开研究,针对指令级并行、数据级并行和任务级并行三种并行特征,采用建立执行模型、编程模型和代价模型的方式,从调度优化、数据重组以及循环优化等角度设计并实现了三种编译优化技术,有效支持DDMP-DSP体系结构和指令集特征。本文的主要研究成果和创新体现在以下几个方面:1.根据DDMP-DSP体系结构特点抽象出一种动态双模多层次并行执行模型(Dualmode multi-level parallel execution model,DDMPEM),提取出VLIW、宽字向量SIMD和动态双模三个主要执行特征,DDMPEM能够作为研究和开发编译优化技术的基础,指导编程模型和代价模型的实现。设计了一种Kernel Based编程模型(Kernel-based programming model,KBPM),程序员能够方便地利用KBPM进行应用开发,通过支持KBPM,编译器能够识别应用程序中的并行特征,更高效地进行编译优化。提出了一种多层次并行代价模型(Multi-level parallel cost model,MPCM),对指令级并行、数据级并行和任务级并行进行综合考虑,能够对编译优化进行指导。2.提出了一种支持任务级并行的动态双模优化调度技术(Dual-mode optimizing scheduling,DMCOS)。DDMP-DSP体系结构中执行并行任务的向量部件和执行串行任务的标量部件能够在紧耦合模式(Tightly coupled Mode,TCM)串行工作,也能在松耦合模式(Loosely coupled Mode,LCM)并行工作。采用DMCOS优化技术能够确定两种模式的切换时机并实现动态切换。DMCOS对使用KBPM编程模型开发的双模式区(Dual-mode code field,DMC)源代码进行独立任务双模调度(Independent dual-mode scheduling,IDS),或者根据动态双模切换代价模型(Dual-mode switching cost model,DDSCM)进行流调度(Flow scheduling,FS)和双模切换调度(Dual-mode switching scheduling,DSS)。DMCOS能够发掘应用程序中的任务级并行,并将高级语言应用程序转换为满足动态双模执行模型要求的代码。DMCOS能够更好地利用DDMP-DSP的动态双模体系结构特征,开发任务级并行。3.提出了一种支持数据级并行的宽字向量SIMD数据重组编译优化技术(Data reorganization for wide SIMD,DRWS)。DDMP-DSP体系结构中的向量部件包括一组同构的向量运算单元(VE),多个VE可组合支持宽字向量SIMD。DRWS主要包括三个模块:基于多模的数据重组(Data reorganization based on multimodulo,DRMM)模块,宽向量填充数据重组(Data reorganization for wide vector filling,DRWF)模块和分支数据重组(Data reorganization for branch,DRB)模块,这三个模块能够处理多种情况下的数据重组。DRWS能够支持灵活的数据重组,从而在SIMD向量化(SIMDization)时能够更好地匹配VE个数,提高DDMP-DSP中的SIMD计算资源利用率,开发数据级并行。4.提出了一种支持数据级并行和指令级并行的多层次循环优化编译技术(Multilevel loop optimization,MLOP)。MLOP有效地将多面体优化技术、SIMDization编译优化技术、面向VLIW的编译优化技术和运行时编译优化技术结合起来,包括多面体优化模块、子字与超字SIMD向量化模块(S-Ⅱ SIMDization)模块、面向VLIW的循环优化模块和运行时优化模块。使用类迭代编译的方法进行编译优化,综合多种因素,选择合适的循环展开因子并进行循环优化。MLOP能够充分利用DDMP-DSP多层次并行体系结构特点,挖掘程序中的数据级并行和指令级并行。
王旭涛[6](2014)在《基于TMS320C6000的GCC编译器指令调度算法的设计与实现》文中研究表明TI公司研发的TMS320C6000系列DSP是一款针对实时数字信号处理的DSP。此类DSP采用VLIW体系结构,每个时钟周期可以发射八条指令,对于指令级别并行处理有着很好的支持,并广泛的应用于军用和民用方面。但VLIW体系结构的DSP在指令并行的发挥方面严重依赖于编译器对于机器指令的静态调度。现有的GCC编译器是一款面向多种体系结构的通用型编译器。针对特定的C6000体系架构,GCC编译器在后端体系架构相关的优化方面存在着许多的不足之处。直接采用GCC编译器来编译生成对应的C6000可执行程序,不仅会造成C6000硬件资源的浪费,还将影响到C6000的实时响应能力。如果采用GCC编译器就需要在编译器前端的基础上,紧密结合相关C6000体系架构的特点使编译器后端针对具体的架构进行指令的调度。这样才能编译出针对于C6000VLIW体系架构的程序,保证硬件资源的利用率以及C6000的实时响应能力。论文通过深入研究GCC编译器在体系结构相关优化的技术应用,在分析GCC前端和后端现有的优化基础上,紧密结合C6000体系结构的特点,改进了 GCC编译器后端优化的指令调度技术。在原有指令调度优化算法基础之上,通过引入关键字,让编程人员标识出源程序分支结构的关键路径,并以此为依据,划分出新的调度区域。针对新的调度区域进行踪迹的划分和调度。对于分支中执行频率高的踪迹,首先忽略分支处判断的结果,优先执行此条频率高的踪迹,将执行频率高的基本块与分支前的基本块归并在一块调度。当分支判断判断执行完毕,并且结果为其它路径时,再对相应的踪迹进行相关的补偿,然后再进行相关的调度工作。论文采用这样的算法不仅扩大了调度区域,使得可并行指令发掘的范围和可能性都增大,而且超前调度了分支后最可能执行的代码。论文中针对C6000在指令调度优化过程中采用了新的区域划分和踪迹调度方法。在GCC编译器前端分析的基础上,针对GCC后端的中间语言对后端的指令调度方法进行改进。在新的调度区域内对指令进行了进一步的并行性发掘,增加了指令在VLIW体系结构上每周期的执行的数目。采用针对于划分出的区域进行踪迹调度不仅避免了由于全局性的踪迹调度引起的代码量过大在具体的嵌入式设备中难以容纳的问题,而且扩大了指令并行性发掘的区域,减少了指令分支处的延迟间隙,提高了程序中每周期指令的并行数目以及C6000的资源利用率和实时能力。
丁陈飞[7](2014)在《VLIW体系的多簇DSP分簇算法的研究和复数运算的优化》文中研究表明现代数字信号处理器(DSP)一般采取超长指令字或是超标量来实现指令级并行。超长指令字(VLIW)数字信号处理器将并行任务的识别和调度交给了编译器,因此在利用VLIW DSP的时候需要有一个功能更为强大的编译器。编译器代替硬件去进行指令调度的工作。BWDSP是中国电子集团某研究所自主研发的一款高性能数字信号处理器,它采用的是多簇结构的超长指令字架构。为了能利用C语言为BWDSP开发应用,我们将Open64编译基础设施移植到BWDSP上。并针对特定的架构和指令集,为BWDSP编译器做了优化。由于BWDSP采用的是多簇的结构,因此为了使得BWDSP编译器能充分利用处理器自身提供的资源,需要设计一个分簇算法。这个分簇算法能合理的将各个指令分配到相应的簇上面执行。由于多簇架构中,各个簇上的执行单元只能访问自身簇上的寄存器,因此如果一条指令需要利用到其他簇上指令的结果就必须利用簇间传输指令。分簇算法就需要解决并行度和簇间传输的平衡。本文提出基于SSA(静态单赋值,Static Single Assignment)数据流图的分簇算法。算法首先为基本块构建静态单赋值形式的数据流图,并自底向上遍历数据流图来计算各条指令分到某个簇上的资源得分和簇间传输的得分,通过比较这两者的得分并选择得分较高的簇作为该指令执行的簇。本文还通过多组实验验证了该算法编译器的编译性能确有提升。数字信号处理器上一类最常见的计算就是复数运算,例如FFT等都包含了大量的复数运算。而BWDSP在设计的时候就已经考虑到这一点,因此它的指令集中就包含了复数运算指令。然而Open64并没有对这类指令做进一步优化处理,因此我们需要对复数运算做进一步优化来获取更高的性能。添加复数运算的机器描述并通过编译制导来将识别复数运算之后合成复数指令。除此之外,我们还在分簇和寄存器分配模块为复数运算做了相应的修改。
施自龙[8](2013)在《面向全分布式VLIW结构的功能单元互连技术研究》文中提出近年来,传统驱动单处理器计算性能提升的技术逐步接近极限,但应用的发展对处理器性能的追求是无止境的,基于此,众核体系结构成为越来越多的研究人员热衷的对象。由于当前体系结构的发展面临诸如线资源昂贵,能效要求高的挑战,要想设计出成功的众核处理器,必须更加精细化小核的设计。而超长指令字结构作为一种高性能、低能耗的技术,更是多数处理器选择的结构。因而论文选取了面向全分布式VLIW结构的功能单元互连技术作为研究的对象。本文在深入研究VLIW相关技术的基础上,提出了对原有功能单元互连结构的改进和相关编译技术的优化:1.提出了功能单元部分互连设计。通过分析媒体程序的数据供给特征,对功能单元全互连网络进行削减,提出了对称式和非对称式的两类部分互连结构。2.进行了针对部分互连的编译优化。分析了通信调度在共享互连体系结构编译中所发挥的重要作用,针对部分互连结构的特点,在操作数优先级和功能单元分配时采用启发式规则,实现适应部分互连结构的编译优化。3.提出了负载均衡层次化互连设计。通过分析计算密集型程序的寄存器使用特征,在原有互连结构基础上加入层次化互连。在设计过程中,提出了虚拟化寄存器存储的思想和负载均衡层次化互连的传递式结构。4.进行了针对层次化互连的编译优化。通过一系列启发式规则的层次化互连调度,实现适应负载均衡层次化互连结构的编译优化。实验表明,部分互连结构可以在保证程序性能相当的情况下,有效减小互连结构的面积、延时和能耗,并呈现出良好的扩展性;层次化互连结构可以减缓改善由寄存器分配不均导致的过载现象,并在一定范围内减小程序的调度长度,降低能量消耗。
宋云朋[9](2013)在《基于超长指令字的ASIP设计与实现》文中研究说明在数字信号处理的应用中,采用传统的通用处理器(GPP, General PurposeProcessor)或者专用集成电路(ASIC,Application Specific Integrated Circuit)难以同时兼顾灵活性和高效性方面的要求。专用指令集微处理器(ASIP, Application SpecificInstruction set Processor)结合了GPP的可编程特性和ASIC的高速性,逐渐成为在硬件实现时一个新型的研究领域。在处理器结构中,超长指令字(VLIW,Very Long Instruction Word)结构即具有支持较高的指令级并行性的能力,又能够用较为简单的控制逻辑实现,在数字信号处理领域得到了飞速的发展。本文设计了基于超长指令字的ASIP,包括硬件功能的设计和软件功能的设计:硬件方面,设计并实现了一个基于超长指令字的ASIP,并且阐述了基于超长指令字VLIW的ASIP指令集和各个处理单元的结构设计;设计了处理器的流水线结构,使用相关技术解决了流水线中的数据相关和控制相关等问题,提高了处理器的工作频率。软件方面,设计并实现了对应汇编器的,阐述了汇编器的设计方法和流程,并且在汇编器中添加了寄存器重命名和指令调度技术,成功地提高了指令级并行性。
邱春武[10](2008)在《基于并行处理单元的代码优化方法研究》文中进行了进一步梳理与传统DSP相比,现代DSP采用更多的ILP技术以提高机器性能。本文讨论的DSP采用分簇的VLIW体系结构,能够在单个时钟周期同时执行多个操作。本文先讨论这款DSP代码优化器的构造方法,之后对TI TMS320DM642给出了代码优化器的具体实现。VLIW DSP代码优化器在LCC编译器框架基础上实现。首先用LCC作为编译前端得到中间代码,然后对中间代码进行模版注释得到目标机器指令相对应的程序,最后对其进行簇分配和调度,同时分配寄存器和功能单元,得到优化的并行汇编代码。我们为VLIW DSP定制它的机器规格说明和机器描述,书写代码生成规则的iburg规范文本,并由iburg规范自动生成代码优化器中的指令选择部分。这样提高了VLIW DSP的代码优化器的可重定目标性。VLIW DSP体系结构的一个显着特点是分簇,与这一特点相对应,代码生成的一个重要步骤是簇分配,即为每个操作及其操作数映射合适的簇。簇分配应使得各簇的功能单元得到充分利用,并设法减少簇之间的数据传递。本文讨论了簇分配的常用算法和LIST调度算法,最后给出统一的簇分配与调度算法(UAS)针对VLIW DSP的实现。该算法的特点是簇分配与调度一同进行,当调度一个操作时,同时为这个操作和它的操作数分配合适的簇。实验证明本文给出的代码优化方法对于常用的DSP算法具有较好的优化效果。
二、基于VLIW的机器相关优化编译技术研究(论文开题报告)
(1)论文研究背景及目的
此处内容要求:
首先简单简介论文所研究问题的基本概念和背景,再而简单明了地指出论文所要研究解决的具体问题,并提出你的论文准备的观点或解决方法。
写法范例:
本文主要提出一款精简64位RISC处理器存储管理单元结构并详细分析其设计过程。在该MMU结构中,TLB采用叁个分离的TLB,TLB采用基于内容查找的相联存储器并行查找,支持粗粒度为64KB和细粒度为4KB两种页面大小,采用多级分层页表结构映射地址空间,并详细论述了四级页表转换过程,TLB结构组织等。该MMU结构将作为该处理器存储系统实现的一个重要组成部分。
(2)本文研究方法
调查法:该方法是有目的、有系统的搜集有关研究对象的具体信息。
观察法:用自己的感官和辅助工具直接观察研究对象从而得到有关信息。
实验法:通过主支变革、控制研究对象来发现与确认事物间的因果关系。
文献研究法:通过调查文献来获得资料,从而全面的、正确的了解掌握研究方法。
实证研究法:依据现有的科学理论和实践的需要提出设计。
定性分析法:对研究对象进行“质”的方面的研究,这个方法需要计算的数据较少。
定量分析法:通过具体的数字,使人们对研究对象的认识进一步精确化。
跨学科研究法:运用多学科的理论、方法和成果从整体上对某一课题进行研究。
功能分析法:这是社会科学用来分析社会现象的一种方法,从某一功能出发研究多个方面的影响。
模拟法:通过创设一个与原型相似的模型来间接研究原型某种特性的一种形容方法。
三、基于VLIW的机器相关优化编译技术研究(论文提纲范文)
(1)向量VLIW DSP寄存器偶对的代码优化技术研究(论文提纲范文)
摘要 |
Abstract |
第1章 绪论 |
1.1 研究背景与意义 |
1.2 国内外研究现状 |
1.2.1 数字信号处理器发展现状 |
1.2.2 寄存器分配研究现状 |
1.2.3 面向SIMD扩展部件的自动向量化研究现状 |
1.3 研究内容 |
1.4 论文框架 |
第2章 寄存器分配与自动向量化基础算法 |
2.1 代码分析 |
2.1.1 控制流分析 |
2.1.2 数据流分析 |
2.2 乐观图着色寄存器分配算法 |
2.3 面向SIMD扩展部件循环级自动向量化算法 |
2.3.1 循环信息分析 |
2.3.2 构造数据依赖图 |
2.3.3 循环向量化代价分析 |
2.3.4 代码转换 |
2.4 本章小结 |
第3章 针对寄存器偶对操作数的代码优化 |
3.1 问题分析 |
3.2 寄存器偶对操作数的处理算法 |
3.3 寄存器偶对操作数修正算法 |
3.3.1 源寄存器偶对操作数修正 |
3.3.2 目标寄存器偶对操作数修正 |
3.4 实例分析 |
3.5 本章小结 |
第4章 寄存器偶对指派的代码优化 |
4.1 问题分析 |
4.2 寄存器偶对的指派优化算法 |
4.3 实例分析 |
4.4 实验分析 |
4.5 本章小结 |
第5章 自动向量化中寄存器偶对的代码优化 |
5.1 问题分析 |
5.2 优化算法框架 |
5.3 向量化代价模型 |
5.4 代码转换及寄存器偶对使用优化 |
5.5 实例分析 |
5.6 本章小结 |
第6章 总结与展望 |
6.1 总结 |
6.2 展望 |
参考文献 |
附录A 攻读学位论文期间获得的学术成果 |
致谢 |
(2)分组密码专用描述语言及编译技术研究(论文提纲范文)
摘要 |
Abstract |
第一章 绪论 |
1.1 研究背景 |
1.2 国内外研究现状 |
1.2.1 密码算法编程语言 |
1.2.2 处理器的编译技术 |
1.2.3 处理器的编译优化技术 |
1.3 本文主要研究工作 |
1.3.1 研究内容 |
1.3.2 论文结构 |
第二章 理论研究基础 |
2.1 领域专用语言设计概念 |
2.2 分组密码算法特点 |
2.2.1 分组密码算法数学模型 |
2.2.2 分组密码算法的网络结构 |
2.3 可重构分组密码指令集处理器 |
2.3.1 RVBCP体系结构及功能单元 |
2.3.2 RVBCP指令系统 |
2.4 本章小结 |
第三章 分组密码专用描述语言及编译基础设施研究 |
3.1 引言 |
3.2 分组密码专用描述语言建模 |
3.2.1 问题域分析 |
3.2.2 解答域分析 |
3.3 分组密码专用描述语言定义及实例 |
3.3.1 变量类型与数据表示 |
3.3.2 标识符与关键字 |
3.3.3 函数与程序控制结构 |
3.3.4 分组密码描述语言的格式 |
3.4 面向分组密码专用描述语言的编译器基础设施设计 |
3.4.1 词法分析器设计 |
3.4.2 语法分析器设计 |
3.4.3 语义分析器设计 |
3.5 本章小结 |
第四章 编译器结构设计及前端编译优化研究 |
4.1 引言 |
4.2 优化编译结构设计 |
4.2.1 分组密码异构SoC结构及工作流程 |
4.2.2 编译器结构设计原则 |
4.2.3 反馈式编译器结构设计 |
4.3 反馈式编译器前端优化算法研究 |
4.3.1 基于平均代码行数的循环展开算法研究 |
4.3.2 标量替代算法研究 |
4.4 实验及分析 |
4.4.1 实验验证 |
4.4.2 实验结果分析 |
4.5 本章小结 |
第五章 可重构分组密码指令集处理器的自动映射研究 |
5.1 引言 |
5.2 分析与参数建模 |
5.2.1 分组密码算子调度与映射参数模型 |
5.2.2 可重构分组密码指令集处理器资源模型 |
5.2.3 资源消耗与资源约束关系分析 |
5.3 可重构指令集处理器自动映射算法 |
5.3.1 初始化调度 |
5.3.2 资源分配与结点调度调整 |
5.4 实验及分析 |
5.4.1 实验设计 |
5.4.2 实验结果分析 |
5.5 本章小结 |
第六章 面向VLIW结构密码处理器的低功耗指令调度研究 |
6.1 引言 |
6.2 VLIW结构的指令级低功耗分析 |
6.2.1 密码处理器功耗的编译调优方法分析 |
6.2.2 低功耗调度原理分析及低功耗指令调度问题 |
6.3 面向低功耗指令调度问题求解的改进广义遗传算法 |
6.3.1 遗传算法、广义遗传算法与禁忌搜索算法 |
6.3.2 基于禁忌搜索的改进广义遗传算法设计 |
6.4 实验及分析 |
6.4.1 IGGABTS算法仿真实验 |
6.4.2 平均功耗测试 |
6.5 本章小结 |
第七章 总结与展望 |
7.1 研究总结 |
7.2 创新点总结 |
7.3 展望 |
致谢 |
参考文献 |
(3)粗粒度可重构阵列的系统级功耗建模及优化(论文提纲范文)
摘要 |
ABSTRACT |
第一章 绪论 |
1.1 课题研究背景 |
1.2 可重构计算硬件架构概述 |
1.2.1 可重构计算系统 |
1.2.2 粒度分类 |
1.2.3 CGRA结构与数据传输 |
1.3 任务编译 |
1.3.1 可重构系统的任务编译流程 |
1.3.2 算法编译技术 |
1.4 国内外研究现状 |
1.4.1 功耗优化现状 |
1.4.2 系统级功耗模型种类 |
1.5 课题来源 |
1.6 论文的主要内容和章节安排 |
第二章 系统级功耗模型的建立与评估 |
2.1 方案选择 |
2.1.1 技术路线 |
2.1.2 存在的问题 |
2.1.3 模型选择与改进 |
2.2 指令查找表的建立 |
2.3 模型确立 |
2.3.1 计算模型 |
2.3.2 体系结构模型 |
2.3.3 片上共享存储 |
2.3.4 可重构运算阵列 |
2.3.5 优化相关 |
2.4 测试算法选择 |
2.4.1 矩阵乘算法(GEMM) |
2.4.2 卷积码编码算法(CONVEN) |
2.4.3 蒙特卡洛算法(MONTECARLO) |
2.4.4 mcf-hs1算法(MCF) |
2.4.5 高斯滤波算法(GAUSS) |
2.4.6 离散余弦变换算法(DCT) |
2.5 模型评估 |
2.5.1 结果分析 |
2.5.2 误差分析 |
2.6 本章小结 |
第三章 功耗感知的任务编译器设计 |
3.1 编译器架构 |
3.2 LLVM简介 |
3.3 编译流程说明 |
3.3.1 自动并行化的编译流程 |
3.3.2 GRVM具体技术路线 |
3.3.3 GRVM具体编译流程 |
3.4 编译器架构设计 |
3.4.1 文件预处理 |
3.4.2 转换与实现 |
3.5 本章小结 |
第四章 功耗感知的优化编译算法设计 |
4.1 优化编译算法选择 |
4.1.1 RPU级别并行调度方案 |
4.1.2 REGIMap |
4.1.3 EPIMap |
4.1.4 RSMap |
4.2 算法实现 |
4.2.1 实现流程 |
4.2.2 配置信息规范 |
4.2.3 算法描述 |
4.3 本章小结 |
第五章 实验结果与功耗分析 |
5.1 实验设计 |
5.2 实验结果 |
5.3 功耗分析 |
5.4 本章小结 |
第六章 结束语 |
6.1 主要工作与创新点 |
6.2 后续研究内容 |
参考文献 |
附录 |
致谢 |
攻读硕士学位期间已录用的论文和申请的专利 |
(4)魂芯DSP编译设计与优化(论文提纲范文)
致谢 |
摘要 |
ABSTRACT |
第1章 绪论 |
1.1 引言 |
1.1.1 编译技术发展趋势 |
1.1.2 自主编译发展的迫切性 |
1.1.3 面向DSP开发编译系统的挑战 |
1.2 研究背景 |
1.2.1 课题来源 |
1.2.2 魂芯DSP体系结构 |
1.3 研究意义 |
1.4 研究目标及研究内容 |
1.5 论文章节安排 |
第2章 编译基础设施选型 |
2.1 开源编译基础设施现状 |
2.1.1 发展现状 |
2.1.2 选型考虑 |
2.2 Open64 |
2.2.1 概述 |
2.2.2 重定向机制 |
2.2.3 优化技术 |
2.3 GCC |
2.3.1 概述 |
2.3.2 重定向机制 |
2.3.3 优化技术 |
2.4 LLVM |
2.4.1 概述 |
2.4.2 重定向技术 |
2.4.3 优化技术 |
2.5 魂芯DSP编译系统选型 |
2.6 魂芯DSP编译系统基本问题 |
2.6.1 字编址模式支持 |
2.6.2 重定向 |
2.6.3 C标准库函数IO重定向支持 |
2.6.4 正确性测试集 |
2.6.5 体系结构优化 |
2.6.6 性能测试集 |
2.7 开源编译设施开发编译器的注意点 |
2.8 本章小结 |
第3章 基于数据分布优化的分簇算法 |
3.1 引言 |
3.2 研究现状 |
3.2.1 数据分布优化研究现状 |
3.2.2 分簇算法研究现状 |
3.3 分块内存数据分布优化 |
3.3.1 编译制导指示的数据分布优化 |
3.3.2 数据自动分布优化 |
3.3.3 数据自动分布优化与向量化 |
3.3.4 数据分布优化分析实例分析 |
3.4 分簇算法启发因子 |
3.5 分簇算法 |
3.6 实验结果及分析 |
3.7 本章小结 |
第4章 面向向量化体系结构的软件流水优化 |
4.1 引言 |
4.2 研究现状 |
4.2.1 向量化研究现状 |
4.2.2 软件流水研究现状 |
4.3 向量化框架实现 |
4.3.1 基于依赖分析的循环向量化技术的改进 |
4.3.2 超字级并行向量化技术的实现 |
4.3.3 向量指令的后端表示形式 |
4.3.4 向量寄存器分配 |
4.4 模调度实现框架 |
4.4.1 框架介绍 |
4.4.2 零开销循环的识别和转换 |
4.4.3 分簇结构机器资源的描述 |
4.4.4 循环展开 |
4.4.5 模变量扩展 |
4.4.6 代码生成与寄存器分配方法 |
4.5 实验结果及分析 |
4.6 本章小结 |
第5章 分簇结构谓词编译支持框架 |
5.1 引言 |
5.2 相关工作 |
5.3 魂芯DSP的谓词机制 |
5.4 谓词形式 |
5.4.1 一般谓词框架 |
5.4.2 魂芯DSP谓词支持方法 |
5.5 谓词支持框架 |
5.5.1 两种谓词优化的选择 |
5.5.2 基于循环展开的CPred谓词支持框架 |
5.6 实验结果及分析 |
5.7 结论 |
第6章 FFT算法优化 |
6.1 引言 |
6.2 高效指令内建函数支持 |
6.2.1 普通向量指令 |
6.2.2 复数向量指令 |
6.2.3 位反序指令 |
6.3 FFT优化 |
6.3.1 汇编优化思路 |
6.3.2 相关工作 |
6.3.3 部分逆序 |
6.3.4 部分逆序的非原位算法实现方法 |
6.3.5 部分逆序的原位实现方法 |
6.3.6 FFT优化算法框架 |
6.3.7 高效FFT算法分析 |
6.3.8 重构C语言FFT算法 |
6.3.9 测试结果 |
6.4 本章小结 |
第7章 总结与展望 |
7.1 全文总结 |
7.2 未来研究展望 |
参考文献 |
攻读博士学位期间发表的论文和参加的科研项目 |
(5)面向动态双模多层次并行体系结构的编译优化技术研究(论文提纲范文)
摘要 |
Abstract |
第一章 绪论 |
1.1 研究背景 |
1.1.1 动态双模多层次并行体系结构介绍 |
1.1.2 动态双模多层次并行体系结构特点分析 |
1.1.3 动态双模多层次并行体系结构对编译提出的挑战 |
1.2 相关研究工作 |
1.2.1 SIMD向量化相关研究 |
1.2.2 数据重组相关研究 |
1.2.3 循环展开相关研究 |
1.2.4 多面体优化相关研究 |
1.3 本文的工作和创新 |
1.4 论文结构 |
第二章 动态双模多层次并行模型 |
2.1 引言 |
2.2 动态双模多层次并行执行模型 |
2.2.1 动态双模 |
2.2.2 宽字向量SIMD |
2.2.3 超长指令字 |
2.3 编程模型 |
2.4 多层次并行代价模型 |
2.5 本章小结 |
第三章 支持任务级并行的动态双模优化调度技术 |
3.1 引言 |
3.2 动态双模优化调度技术 |
3.2.1 参数分析 |
3.2.2 独立任务双模调度 |
3.2.3 流调度 |
3.2.4 双模切换调度 |
3.2.5 动态双模切换代价模型 |
3.3 实验与分析 |
3.4 本章小结 |
第四章 支持数据级并行的宽字向量SIMD数据重组编译优化技术 |
4.1 引言 |
4.2 宽字向量SIMD数据重组编译优化技术 |
4.2.1 多模数据重组 |
4.2.2 宽向量填充数据重组 |
4.2.3 分支数据重组 |
4.3 宽字向量SIMD数据重组编译优化技术的实际应用 |
4.3.1 向量数据布局 |
4.3.2 向量运算中的数据重组 |
4.3.3 分级数据重组 |
4.4 实验与分析 |
4.5 本章小结 |
第五章 支持数据级并行和指令级并行的多层次循环优化编译技术 |
5.1 引言 |
5.2 多层次循环优化编译技术 |
5.2.1 多面体优化模块 |
5.2.2 子字与超字SIMD向量化模块 |
5.2.3 面向VLIW的循环优化模块 |
5.2.4 运行时优化模块 |
5.3 实验与分析 |
5.4 本章小结 |
第六章 动态双模多层次并行编译系统 |
6.1 动态双模多层次并行编译系统介绍 |
6.2 三种编译优化技术在编译系统中的作用 |
6.3 实验与分析 |
6.4 本章小结 |
第七章 结束语 |
7.1 论文工作总结 |
7.2 课题研究展望 |
致谢 |
参考文献 |
作者在学期间取得的学术成果 |
附录:英文缩写对照表 |
(6)基于TMS320C6000的GCC编译器指令调度算法的设计与实现(论文提纲范文)
摘要 |
ABSTRACT |
符号对照表 |
缩略语句对照表 |
第一章 绪论 |
1.1 选题背景和意义 |
1.2 编译器发展现状与选取 |
1.3 论文主要工作 |
1.4 论文结构 |
第二章 GCC编译流程分析 |
2.1 GCC编译流程 |
2.2 编译器CC1介绍 |
2.2.1 编译流程 |
2.2.2 CC1对应的优化器 |
2.3 寄存器传送语言RTL简介 |
2.4 控制流分析 |
2.4.1 块的确认 |
2.4.2 边的确认 |
2.5 依赖关系分析 |
2.6 机器描述 |
2.7 本章小结 |
第三章 TMS320C6000架构分析 |
3.1 TMS320C6000系列结构特点——VLIW体系结构 |
3.1.1 并行体系结构 |
3.1.2 C6000的体系结构特点 |
3.1.3 C6000体系结构内部的特点 |
3.2 TMS320C6000系列CPU结构与指令集 |
3.2.1 C6000系列CPU结构 |
3.2.2 C6000数据通路 |
3.2.3 通用寄存器 |
3.2.4 功能单元 |
3.2.5 寄存器组交叉通路 |
3.2.6 数据存储器和读取存储通路 |
3.2.7 数据地址通路和控制寄存器 |
3.3 并行操作 |
3.4 流水线操作 |
3.5 GCC针对C6X的机器描述 |
3.6 本章小结 |
第四章 踪迹调度 |
4.1 指令级并行度探索 |
4.2 指令调度 |
4.2.1 基本块调度 |
4.2.2 分支延迟槽调度 |
4.3 局部踪迹调度 |
4.4 踪迹调度的详细算法 |
4.4.1 关键路径处理 |
4.4.2 区域以及区域中踪迹的确立 |
4.4.3 区域中的DAG图分析 |
4.4.4 一条主踪迹上的优化 |
4.4.5 辅助踪迹路径的补偿 |
4.5 踪迹调度PASS |
4.5.1 创建所在的优化遍 |
4.5.2 初始化遍时进行踪迹调度相应的初始化 |
4.5.3 踪迹调度实现方法 |
4.6 本章小结 |
第五章 测试 |
5.1 配置项测试 |
5.2 性能测试 |
5.2.1 编译器的编译性能测试 |
5.2.2 编译正确性测试和程序效率测试 |
5.3 本章小结 |
第六章 结束语 |
6.1 论文工作总结 |
6.2 后续工作展望 |
附录A |
参考文献 |
致谢 |
作者简介 |
(7)VLIW体系的多簇DSP分簇算法的研究和复数运算的优化(论文提纲范文)
摘要 |
ABSTRACT |
第1章 绪论 |
1.1 研究背景 |
1.1.1 多簇VLIW DSP介绍 |
1.1.2 多簇VLIW DSP对编译器的要求 |
1.2 研究意义 |
1.3 本文研究内容 |
1.4 论文组织 |
第2章 BWDSP编译器的设计与结构 |
2.1 引言 |
2.2 BWDSP与open64概述 |
2.2.1 BWDSP介绍 |
2.2.2 Open64编译器 |
2.3 BWDSP编译器机器描述 |
2.3.1 BWDSP机器描述介绍 |
2.3.2 BWDSP编译器机器描述的实现 |
2.4 与机器无关优化 |
2.4.1 过程间分析优化 |
2.4.2 全局标量优化 |
2.4.3 嵌套循环优化 |
2.5 与机器相关优化 |
2.5.1 代码生成器结构 |
2.5.2 指令注释 |
2.5.3 控制流优化和if转换 |
2.5.4 软件流水 |
2.5.5 指令分簇 |
2.5.6 指令调度 |
2.5.7 寄存器分配 |
2.6 本章小结 |
第3章 基于SSA数据流图的分簇算法 |
3.1 引言 |
3.2 已有的工作 |
3.2.1 BUG算法 |
3.2.2 基于寄存器压力的分簇算法 |
3.3 基于SSA数据流图的分簇算法 |
3.3.1 静态单赋值 |
3.3.2 算法思想概述 |
3.3.3 构建SSA数据流图 |
3.3.4 簇上资源得分 |
3.3.5 簇间传输得分 |
3.3.6 分簇策略 |
3.3.7 实验结果和性能分析 |
3.4 本章小结 |
第4章 多簇超长指令字复数运算的优化 |
4.1 引言 |
4.2 复数指令机器描述 |
4.2.1 指令信息 |
4.2.2 调度信息 |
4.2.3 格式信息 |
4.3 复数指令的识别与生成 |
4.3.1 概述 |
4.3.2 复数指令编译指示 |
4.3.3 LD/ST指令的调度 |
4.3.4 复数运算操作的识别 |
4.3.5 指令合成 |
4.4 复数操作的分簇与寄存器分配 |
4.4.1 分簇 |
4.2.2 寄存器分配 |
4.5 实验分析与性能测试 |
4.6 本章小结 |
第5章 总结 |
5.1 本文工作 |
5.2 本文贡献与创新之处 |
5.3 进一步工作 |
参考文献 |
附录1 插图索引 |
附录2 表格索引 |
致谢 |
在读期间发表的学术论文 |
攻读学位期间参加的科研项目 |
(8)面向全分布式VLIW结构的功能单元互连技术研究(论文提纲范文)
摘要 |
Abstract |
第一章 绪论 |
1.1 研究背景 |
1.1.1 处理器发展趋势 |
1.1.2 体系结构研究面临的问题 |
1.2 研究现状 |
1.2.1 VLIW结构 |
1.2.2 VLIW的功能单元互连 |
1.2.3 VLIW编译 |
1.3 本文主要工作 |
1.4 论文组织结构 |
第二章 功能单元部分互连 |
2.1 问题提出与分析 |
2.1.1 全互连结构 |
2.1.2 媒体应用特征分析 |
2.2 部分互连结构 |
2.2.1 部分互连结构 |
2.2.2 部分互连形式 |
2.2.3 部分互连通信 |
2.2.4 硬件实现及布局 |
2.3 编译支持 |
2.3.1 通信调度基本原理 |
2.3.2 通信调度算法 |
2.3.3 通信调度关键步骤实现 |
2.3.4 VLIW调度 |
2.3.5 编译支持 |
2.4 小结 |
第三章 负载均衡层次化互连 |
3.1 问题提出与分析 |
3.1.1 计算密集型应用 |
3.1.2 寄存器过载特征 |
3.1.3 溢出调度技术 |
3.2 负载均衡层次化互连结构 |
3.2.1 负载均衡层次化互连结构 |
3.2.2 负载均衡层次化互连形式 |
3.2.3 负载均衡层次化互连通信 |
3.3 编译支持 |
3.3.1 在VLIW调度中的角色 |
3.3.2 层次化互连调度策略 |
3.4 小结 |
第四章 实验与分析 |
4.1 实验设置 |
4.2 功能单元部分互连实验分析 |
4.2.1 部分互连的面积与延时 |
4.2.2 部分互连的能耗 |
4.2.3 部分互连的性能 |
4.3 负载均衡层次化互连实验分析 |
4.4 小结 |
第五章 总结与展望 |
5.1 工作总结 |
5.2 未来研究方向 |
致谢 |
参考文献 |
作者在学期间取得的学术成果 |
(9)基于超长指令字的ASIP设计与实现(论文提纲范文)
摘要 |
Abstract |
第一章 绪论 |
1.1 论文的选题背景 |
1.2 VLIW 简介 |
1.3 ASIP 设计流程 |
1.4 本文的研究内容及章节安排 |
第二章 基于 VLIW 的 ASIP 总体结构设计 |
2.1 基于 VLIW 的 ASIP 简介 |
2.1.1 基于 VLIW 的 ASIP 的特点 |
2.1.2 基于 VLIW 的 ASIP 优缺点 |
2.2 基于 VLIW 的 ASIP 指令集 |
2.3 处理单元结构的设计 |
2.3.1 算术运算单元 |
2.3.2 通用寄存器文件 |
2.3.3 存储器 |
2.3.4 程序定序器 |
2.3.5 乘累加 |
2.3.6 蝶形运算单元 |
2.4 本章小结 |
第三章 基于 VLIW 的 ASIP 流水线设计 |
3.1 流水线的基本概念 |
3.2 流水线处理器的设计 |
3.2.1 流水线的划分 |
3.2.2 流水线的冲突及解决方法 |
3.3 流水线的整体结构 |
3.4 ASIP 的测试及验证 |
3.4.1 ASIP 的测试 |
3.4.2 综合验证 |
3.5 本章小结 |
第四章 基于 VLIW 的 ASIP 汇编器设计 |
4.1 基于 VLIW 的 ASIP 汇编器的设计要求 |
4.2 基于 VLIW 的 ASIP 汇编器的整体结构 |
4.3 基于 VLIW 的 ASIP 汇编器的各个单元 |
4.3.1 词法分析和语法分析 |
4.3.2 错误类型和错误判断 |
4.3.3 目标代码生成 |
4.4 本章小结 |
第五章 提高 VLIW 结构 ASIP 汇编效率的关键技术 |
5.1 寄存器重命名 |
5.1.1 寄存器重命名的条件 |
5.1.2 建立寄存器的状态列表 |
5.1.3 寄存器重命名的流程 |
5.2 基于 VLIW 的 ASIP 汇编器的指令打包流程 |
5.2.1 程序分段 |
5.2.2 段内的指令打包和调度 |
5.2.3 段间冲突检查和调整 |
5.2.4 跳转指令标号的匹配 |
5.2.5 跳转指令冲突检查和调整 |
5.3 段内的指令打包和调度 |
5.3.1 指令的冲突检查 |
5.3.2 指令打包和调度的实现 |
5.4 本章小结 |
第六章 总结与展望 |
6.1 总结 |
6.2 展望 |
致谢 |
参考文献 |
附录 |
(10)基于并行处理单元的代码优化方法研究(论文提纲范文)
摘要 |
ABSTRACT |
第一章 绪论 |
1.1 引言 |
1.1.1 课题背景 |
1.1.2 研究现状 |
1.1.3 研究内容 |
1.2 本文贡献 |
1.3 论文结构 |
第二章 VLIW DSP体系结构 |
2.1 VLIW体系结构 |
2.1.1 VLIW的特点 |
2.1.2 VLIW技术的发展 |
2.1.3 VLIW结构的编译方法 |
2.2 VLIW DSP的数据通路 |
2.2.1 通用寄存器文件 |
2.2.2 功能单元 |
2.2.3 交叉通路 |
2.2.4 存储访问通路 |
2.2.5 资源约束小结 |
2.3 流水线和指令延迟 |
2.4 取指包和执行包 |
2.5 条件执行 |
第三章 VLIW DSP代码优化器的设计 |
3.1 代码优化器总体设计框架 |
3.1.1 概述 |
3.1.2 代码优化器的工作环境 |
3.2 优化器前端 |
3.2.1 LCC概述 |
3.2.2 数据结构 |
3.3 与目标机器无关的代码生成接口 |
3.3.1 接口概述 |
3.3.2 接口标记 |
3.3.3 接口函数 |
3.3.4 接口绑定 |
3.4 优化器后端 |
3.4.1 基于iburg自动代码生成 |
3.4.2 后端接口函数的实现 |
3.4.3 机器无关的寄存器分配 |
第四章 机器规格说明和机器描述 |
4.1 机器规格说明 |
4.1.1 函数参数传递 |
4.1.2 运行栈的组织 |
4.2 机器描述 |
4.2.1 格式信息 |
4.2.2 资源信息 |
4.2.3 延时信息 |
4.3 TI TMS320DM642机器描述 |
4.3.1 TMS320DM642指令集 |
4.3.2 TMS320DM642寻址方式 |
4.3.3 TMS320DM642机器描述 |
第五章 簇分配和调度方法研究及其实现 |
5.1 概述 |
5.2 簇分配算法 |
5.2.1 BUG |
5.2.2 A.Capitanio等人的方法 |
5.2.3 Partial Component Clustering(PCC) |
5.2.4 R.Leupers的方法 |
5.2.5 基于区域的分级划分(RHOP) |
5.2.6 簇分配算法的四个特征 |
5.3 LIST调度算法 |
5.4 USA算法 |
5.4.1 UAS算法介绍 |
5.4.2 UAS算法的实现 |
5.5 实验分析 |
第六章 总结与展望 |
6.1 结论 |
6.2 进一步工作 |
参考文献 |
致谢 |
硕士期间发表论文目录 |
四、基于VLIW的机器相关优化编译技术研究(论文参考文献)
- [1]向量VLIW DSP寄存器偶对的代码优化技术研究[D]. 唐镇. 湖南科技大学, 2020(06)
- [2]分组密码专用描述语言及编译技术研究[D]. 李盛. 战略支援部队信息工程大学, 2020(03)
- [3]粗粒度可重构阵列的系统级功耗建模及优化[D]. 侯子健. 上海交通大学, 2017(10)
- [4]魂芯DSP编译设计与优化[D]. 王向前. 合肥工业大学, 2015(02)
- [5]面向动态双模多层次并行体系结构的编译优化技术研究[D]. 阳柳. 国防科学技术大学, 2014(02)
- [6]基于TMS320C6000的GCC编译器指令调度算法的设计与实现[D]. 王旭涛. 西安电子科技大学, 2014(05)
- [7]VLIW体系的多簇DSP分簇算法的研究和复数运算的优化[D]. 丁陈飞. 中国科学技术大学, 2014(10)
- [8]面向全分布式VLIW结构的功能单元互连技术研究[D]. 施自龙. 国防科学技术大学, 2013(03)
- [9]基于超长指令字的ASIP设计与实现[D]. 宋云朋. 西安电子科技大学, 2013(S2)
- [10]基于并行处理单元的代码优化方法研究[D]. 邱春武. 北京邮电大学, 2008(10)