论文部分内容阅读
随着人们对高质量通信业务的不断需求,移动通信技术发生了翻天覆地的变化。如今,4G已经被广泛使用,5G的研究也已经初见成效,但是这也带来了新的挑战。新标准的更新换代往往都会伴随着传输速率的增加,这给终端和基站的处理平台带来了不小的压力。传统的基站平台一般是专用集成电路,虽然其处理速度快,但是灵活性却不高,升级成本太大。为了解决上述的问题,本文参考MIPS架构设计了一款通信专用矢量处理器,而面向C语言程序的编译器在基于矢量处理器的开发过程中非常重要。本文完成了将GCC移植到矢量处理器。GCC是一个被广泛使用的开源编译器架构,并具有众多优点。它的开源特性允许编译器开发者可以洞察其内部的工作模式,并且提供了修改编译器源代码的可能。同时,GCC还可以针对不同的应用优化和目标机器结构实现快速移植。在进行移植前,首先对GCC的系统结构和工作流程进行了介绍。GCC系统主要由前端、中间代码和后端组成,整个移植工作集中在后端上,包括了对目标宏定义文件和目标机器描述文件中源代码的修改。矢量处理器移植GCC与目标机的体系架构密切相关,本文介绍了自主开发的矢量处理器的硬件结构设计、指令集设计和流水线设计。整个移植过程是在GCC支持的MIPS架构已有源代码上进行的。首先,在目标机器宏文件中添加矢量处理器的寄存器、寄存器类别、帧栈布局和汇编输出相关的宏定义。然后,在目标机器描述文件中定义和矢量处理器指令集相关的指令模式和扩展模式,包括跳转操作、存储访问操作、算术操作等。因为指令集包含的指令众多,并且相同类型指令的指令模式大致相同,所以本文中只介绍了具有代表性的指令。本文最后进行了生成矢量处理器编译器所必须的环境配置,完成了其安装流程。然后使用C语言测试案例对编译器的各个功能进行了测试,将生成的汇编文件在已有的仿真平台进行仿真验证,仿真结果说明基于GCC成功移植了编译器。