论文摘要
随着集成电路和半导体的迅速发展,DSP处理器的应用得到了广泛的推动,DSP的设计由三个部分组成:DSP的硬件实现,软件开发工具链的设计以及系统综合和验证。软件开发工具链在整个流程中占据着重要的作用。本文研究了软件开发工具链的组织结构、设计理论及实现原理,工具链涉及到编译器,汇编器,链接器,仿真器和调试器。在此基础上,针对自主研发的嵌入式DSP处理器Spock设计了一套软件开发工具链。Spock是一个32位指令、16位数据、RISC结构的DSP处理器,能够用于音频处理和视频处理SoC进行熵编/解码加速。软件开发工具链中,编译器基于LCC进行了设计改进,然后移植了前端代码,开发后端并加入优化。汇编器用C/C++开发,完成前端词法语法分析和后端目标代码生成,链接器用XML脚本辅助设计,完成符号解析和重定位。仿真器和调试器用C/C++完成实现。本文研究设计的编译器,汇编器,链接器,仿真器和调试器具有很好的性能和可靠性,对DSP的设计起到了很好的推动作用。同时,本文在软件开发工具链的设计中总结了针对DSP的软件工具链的设计流程,该方法具有一定的通用价值,尤其对探索DSP开发的合理化流程有重要贡献。
论文目录
摘要Abstract目录第一章 绪论1.1 国内外IC设计状况1.2 DSP的发展1.3 软件开发工具链的设计方法1.4 工具链组织结构1.5 课题的来源、研究目的1.5.1 课题的来源1.5.2 研究目的1.6 本文的结构和主要研究内容第二章 DSP及Spock介绍2.1 DSP概念及特点2.1.1 指令集的比较2.1.2 体系结构比较2.2 Spock的结构及特点2.2.1 Spock DSP的硬件结构2.2.2 Spock的主要特点2.2.3 Spock指令集2.2 4 Spock的流水线定义2.4.5 Spock控制通路2.2.6 Spock数据通路第三章 工具链组织结构3.1 工具链介绍3.2 编译器原理和工作过程3.2.1 词法分析程序3.2.2 语法分析程序3.3.3 语义分析程序3.3.4 中间代码生成器3.3.5 代码优化程序3.3.6 目标代码生成3.3.7 符号表管理3.3.8 错误处理3.3 汇编器的工作原理3.4 链接器介绍3.5 仿真器与调试器第四章 LCC原理及在Spock上的实现4.1 LCC的引入4.2 LCC原理分析4.2.1 LCC的数据结构4.2.2 LCC的编译流程4.2.3 LCC的词法和语法分析4.2.4 LCC的后端设计4.3 LCC在 Spock上的实现4.3.1 基本数据结构定义4.3.2 寄存器和存储器使用约定4.3.3 函数调用约定4.3.4 指令选择4.3.5 寄存器分配4.3.6 前后端接口函数实现4.4 Spock中对 LCC的优化4.4.1 临时寄存器的分配优化4.4.2 寄存器变量分配寄存器的优化第五章 Spock工具链其他工具的设计5.1 Spock的汇编器5.2 Spock的链接器5.3 Spock指令仿真器和调试器第六章 总结与展望6.1 总结6.2 展望参考文献致谢
相关论文文献
标签:软件工具链论文; 编译器论文; 汇编器论文;