当前位置:主页 > 科技论文 > 软件论文 >

MXXXX DSP编译器关键技术设计与实现

发布时间:2018-10-13 16:58
【摘要】:随着数字处理芯片(Digital Signal Processor,DSP)在航空、航天、雷达、声纳、通信以及家用电器等各个领域的应用,DSP设计技术得到业界广泛关注。在过去十多年里,国内DSP设计技术发展迅速,而近年来业界对自主知识产权DSP设计技术需要尤为迫切。MXXXX DSP是由国防科学技术大学研发的具有自主知识产权的DSP,面向高性能计算、无线通信以及视频图像处理等应用领域[1]。MXXXX DSP的体系结构和指令集具有自主知识产权,因此为了支持其应用推广,必须为其开发一套完整的软件工具链系统。软件工具链中最重要的就是编译器,编译器的性能直接影响着处理器特别是VLIW体系结构处理器性能的发挥,因此针对MXXXX DSP体系结构研发一款支持其体系结构、指令集,并能够充分发挥其性能的编译器非常必要。课题组基于GCC平台开发MXXXX DSP编译器。本文基于MXXXX DSP的特点,为提高编译器的编译性能,主要做了以下工作:1.设计并实现了32位字符及字符串的支持方法:MXXXX DSP专注于高性能数字信号处理,对于单字节和双字节类型的数据使用较少,未提供单字节和双字节的访存指令。针对这个问题,论文在MXXXX DSP编译器中设计并实现了32位字符及字符串的支持方法,在不降低性能的情况下提供了对低位宽的数据支持。2.提出并实现了平行运算单元的管理分配算法:MXXXX DSP为了提高程序的执行效率,采用了多运算单元并发执行。GCC只支持通过操作数类型来选择运算单元,因此无法实现指令在平行单元上的合理分配。针对这个问题,论文设计并实现了了平行运算单元的管理分配算法,有效地解决了指令间在平行功能单元上分配的问题,提高了MXXXX DSP程序执行效率。3.设计并实现了基于循环的延迟槽调度算法:MXXXX DSP支持指令流水执行。由于MXXXX DSP的跳转指令有6个时钟周期的延时,循环指令在流水执行时,跳转指令的延迟槽填充问题成为影响循环程序执行效率的重要因素。本文针对该问题,结合MXXXX DSP的指令集特点,提出了基于循环的延迟槽调度算法。从而实现了对分支跳转延迟槽的有效填充,显著提高了循环程序的执行效率。
[Abstract]:With the application of digital processing chip (Digital Signal Processor,DSP) in aviation, aerospace, radar, sonar, communication and household appliances, DSP design technology has been widely concerned. In the past ten years, the DSP design technology has developed rapidly in China. In recent years, the DSP design technology of independent intellectual property is especially urgent for. MXXXX DSP, which is developed by the National University of National Defense Science and Technology, which is DSP, with independent intellectual property for high-performance computing. The architecture and instruction set of. MXXXX DSP in wireless communication and video image processing have their own intellectual property rights. In order to support its application and popularization, we must develop a complete software tool chain system for it. The most important thing in the software tool chain is the compiler. The performance of the compiler directly affects the performance of the processor, especially the VLIW architecture processor. Therefore, a instruction set is developed to support the architecture of the MXXXX DSP architecture. And the ability to give full play to its performance of the compiler is very necessary. We develop a MXXXX DSP compiler based on GCC platform. This paper based on the characteristics of MXXXX DSP, in order to improve compiler compilation performance, mainly do the following work: 1. The supporting method of 32-bit characters and strings is designed and implemented.: MXXXX DSP focuses on high performance digital signal processing. It uses less single-byte and double-byte data, and does not provide single-byte and double-byte memory access instructions. In order to solve this problem, this paper designs and implements a 32-bit character and string support method in MXXXX DSP compiler. In order to improve the efficiency of program execution, a management and allocation algorithm for parallel computing units (: MXXXX DSP) is proposed and implemented. In order to improve the efficiency of program execution, multi-unit concurrent execution is adopted. GCC only supports the selection of operation units by optograph type. Therefore, the reasonable distribution of instructions on parallel units cannot be realized. In order to solve this problem, this paper designs and implements a management and allocation algorithm for parallel computing units, which effectively solves the problem of assignment between instructions on parallel functional units and improves the efficiency of MXXXX DSP program execution. A cyclic delay slot scheduling algorithm (: MXXXX DSP) is designed and implemented to support instruction pipeline execution. Due to the delay of six clock cycles in the jump instruction of MXXXX DSP, the delay slot filling problem becomes an important factor to affect the efficiency of loop program execution when the loop instruction is executed in pipelining. Considering the characteristics of MXXXX DSP instruction set, a cyclic delay slot scheduling algorithm is proposed in this paper. Thus, the effective filling of the branch hopping delay slot is realized, and the execution efficiency of the loop program is improved significantly.
【学位授予单位】:国防科学技术大学
【学位级别】:硕士
【学位授予年份】:2016
【分类号】:TP314

【参考文献】

相关期刊论文 前5条

1 廖龙灵;南建设;;体系结构设计技术及应用[J];电讯技术;2014年04期

2 李春江;徐颖;黄娟娟;杨灿群;;SIMD指令集设计空间的形式化描述[J];计算机科学;2013年06期

3 方芳;;基于循环程序的指令级并行[J];科技信息;2009年16期

4 谭郁松;戴华东;卢凯;刘进元;陈暄;鲁;李姗姗;;基于软流水体系结构的内核Web服务器——KETA[J];计算机工程与科学;2006年10期

5 蒋奕;吴承勇;张兆庆;冯晓兵;;一种面向RISC体系结构的全局延迟槽调度策略[J];计算机科学;2004年12期

相关博士学位论文 前4条

1 邓宇;基于图着色的存储层次优化技术研究[D];国防科学技术大学;2007年

2 任坤;DSP编译器关键技术研究[D];浙江大学;2007年

3 胡定磊;VLIW DSP编译器设计及性能与功耗的优化研究[D];国防科学技术大学;2006年

4 杨书鑫;全局无环指令调度研究[D];中国科学院研究生院(计算技术研究所);2004年

相关硕士学位论文 前9条

1 朱双兵;RISC微处理器软核的研究与设计[D];湖北大学;2013年

2 刘飞;YHFT-Matrix编译器全局指令调度相关技术的研究与实现[D];国防科学技术大学;2013年

3 罗杰;基于GCC的YHFT-Matrix编译器关键技术研究与实现[D];国防科学技术大学;2012年

4 张媛媛;自动向量化中的收益评估技术研究[D];解放军信息工程大学;2011年

5 孟昭天;基于GCC的ARCA3的编译器移植[D];哈尔滨工业大学;2010年

6 何涛;GCC编译器中间代码层控制流检测扩充研究[D];国防科学技术大学;2010年

7 俞甲子;GCC编译器安全验证方法研究[D];浙江大学;2008年

8 任国芳;基于TTCN-3开源编译器的SA设计[D];内蒙古大学;2008年

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



本文编号:2269315

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/2269315.html


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

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