购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

前言

DSP是数字信号处理器(Digital Signal Processor)的简称,它是一种专门为数字信号处理应用而优化设计的微处理器,因其灵活的可编程性、强实时性的处理能力,以及优异的计算效能等特点,广泛应用在工业控制、新能源、无线通信、电动汽车、轨道交通和智能家电领域,是信息产业的核心处理器。

DSP已经有四十多年的发展历史,其技术一直在不断进步,主频、峰值处理能力和存储容量等指标不断提升。美国TI公司是这个领域的领军企业,它引领着DSP技术的发展,面向不同的细分领域推出几大类产品(如C6000、C5000和C2000等),并凭借优异的性能,获得了巨大成功,在国际上占据了DSP的绝大部分市场份额。我国DSP主要依赖进口,国产化率非常低,迫切需要保障自主可控,这带给我们严峻的挑战,同时也给国产DSP产业发展带来前所未有的机遇。

DSP结构复杂,设计难度大。研制DSP是一个大工程问题,其难点不在于某个单点技术的突破或者创新,而在于如何把众多技术融合起来,保证功能全部正确、各类指标满足目标应用的需求,涉及应用研究、算法研究、芯片设计、软件设计和系统设计等多个方面,需要大量的资源和时间投入,以及应用领域的支持。由于国外DSP发展较早,提前完成了专利布局,对后来者进入该领域设置了巨大的障碍。

RISC-V诞生十余年来,凭借开源、简洁、模块化和可扩展等诸多技术优势迅速发展,引起工业界和学术界的高度关注,被认为有望改变世界芯片格局。当前,RISC-V已经初步建立了良好的产业生态,在芯片设计、工具链开发等方面均具有优秀的开源项目,通过借鉴这些开源项目,可大幅降低处理器设计的技术门槛,提高处理器的开发效率。更重要的是,RISC-V是开源开放的,基于RISC-V架构开发处理器产品,可以避开知识产权的壁垒。

虽然RISC-V有以上诸多优势,但本团队在选择它作为DSP发展路线的时候还是经过了再三思考和权衡。这是因为RISC-V本质上是一种CPU架构,与DSP架构存在很大的不同,很难像DSP那样极致地适配数字信号处理应用。以TI的C2000处理器为例,相比RISC架构,它采用了CISC架构,在代码密度、访存效率、计算并行性等方面存在较大的优势,当然由于编码复杂,导致译码电路复杂,从而在主频和功耗等方面存在一定劣势。有两条技术路线摆在我们面前,一条是借鉴TI的C2000 DSP架构,自主定义指令集,独立完成全部的芯片设计和软件开发,这条路线所研发的DSP肯定是最优的,但由此带来的设计挑战和工作量也非常巨大;另外一条路线就是采用RISC-V架构,积极采用其开源技术成果,通过扩展DSP指令和优化微结构,提升DSP的处理性能,以较低的人力和资源投入,在较短的时间内推出DSP产品。充分考虑技术发展趋势、研发投入等诸多因素,以及对RISC-V发展前景的信心后,我们最终选择了基于RISC-V架构开发DSP芯片,结果表明,通过充分的指令集和微结构优化设计,基于RISC-V架构的DSP可以媲美甚至超越国际同类产品。

正如前面提到的,研发DSP是一个大工程问题,一款DSP产品是否优异,也不能单凭主频、峰值计算能力或者内部存储容量来衡量,最核心的是需要考量其实时信号链性能、常用数字信号处理算法的处理能力以及工具链的完善程度等多项因素。DSP的设计技术除了大家熟知的流水线、计算部件和存储器设计之外,还包括中断电路、调试器、安全机制以及验证技术等,上述技术对于产品成功也至关重要。本书以SpringCore RISC-V架构DSP内核为例,从指令集定义、运算部件、存储结构、工具链开发等诸多环节,系统全面地介绍RISC-V架构DSP的设计过程,并分享了每个设计环节中的思考、原则和技术选择过程,以及如何充分利用开源成果进行敏捷开发。本书是基于RISC-V架构进行DSP设计工程技术实践的成果,其特点是产品导向,注重技术的可操作性和系统性,并进行了必要的创新,作者希望本书不仅对从事DSP芯片研发的工作者、科研人员有所帮助,对从事RISC-V架构其他类型处理器研发的人员也有参考价值。

本书的内容组织如下:

第1章为数字信号处理器简介,主要介绍DSP的发展历程、主要特征以及应用领域。第2章为RISC-V架构,主要介绍RISC-V的发展历程、优势、指令集设计以及开源项目情况。

第3章为SpringCore体系结构,该章首先介绍了SpringCore的设计目标,进而对SpringCore指令集设计和体系结构设计进行了详细描述。

第4章介绍了SpringCore流水线设计,主要从流水线划分、取指单元、译码单元、相关处理、零开销循环和低功耗控制等方面进行了详细介绍。

第5章介绍了访存结构,详细介绍了SpringCore的存储结构划分DSP的存储属性与保护、访存模块设计和存储一致性等相关内容。

第6章围绕运算部件展开,分别描述了定点运算部件和浮点运算部件,对构成运算部件的加法器、布什-华莱士树乘法器和移位器等均进行了介绍,并详细介绍了浮点除法和开平方根等操作。

第7章介绍了异常和中断机制、涵盖了异常和中断的原理、处理器的中断异常处理机制以及RISC-V的中断异常规范等内容。

第8章为SpringCore调试单元设计,系统介绍了调试单元的结构,并详细介绍了调试处理机制,最后通过示例进一步详细描述了调试工作过程。

第9章全面介绍了软件开发环境,主要包括编译器、汇编器、反汇编器、链接器、模拟器、调试器和集成开发环境等。

第10章介绍了基于SpringCore的DSP芯片FDM320RV335,系统介绍了该芯片的功能结构、引脚、地址映射、低功耗模式、原型板卡以及在典型信号处理算法上的性能表现等。

本书的编写得到中科院自动化所研究生王伟营、翟擎辰、向远洋、汪越越、徐琛,中科本原邢园园、张余超、高玉鑫、彭轶群、郭允、张钰、张志远、张智也等工程师,以及中科院自动化所肖偌舟副研究员、丁光新副研究员的大力帮助和支持,他们参与了相关章节的编写、制表绘图、文献整理、文档修订、审阅和校对等。本书基于SpringCore内核和FDM320RV335芯片展开,相关数据得到中科本原李阳、洪新红、高青雯、孙石兴、王新刚和薛晓军等相关研发负责人及工程师的支持。在此一并向他们表示衷心感谢。

由于作者水平有限,疏漏甚至谬误在所难免,敬请读者不吝赐教。 qg9S5tG+yNLBehiViwaY05MLL8kw1wPR/pnJjrR7Yhoxt1642hDD37VOf/Y4/zGd

点击中间区域
呼出菜单
上一章
目录
下一章
×

打开