基于Spock的软件开发工具链研究和设计

基于Spock的软件开发工具链研究和设计

论文摘要

随着集成电路和半导体的迅速发展,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 展望
  • 参考文献
  • 致谢
  • 相关论文文献

    标签:;  ;  ;  

    基于Spock的软件开发工具链研究和设计
    下载Doc文档

    猜你喜欢