传统固定功能微处理器的设计是为了满足通用应用的需求,因此可能无法充分适应特定领域或特定任务的要求,缺乏灵活性,所以在某些特定任务下,提供的不是最优的性能。针对该问题,本文设计了一种可配置的微处理器,通过模块解耦的方法选择是否添加CP0相关模块的微处理器架构,使该微处理器在是否可以实现异常指令、特权态指令两种架构中进行切换,并且可以优化资源利用、降低功耗和减少成本。同时,可以广泛地应用在使用轻量级微处理器的场景中。
微处理器技术在信息社会进步以及军事设施中起关键作用。目前,我国的微处理器产业在不断的完善下也有了一定的研究与生产能力, 并在多个领域也有了自主研发的产品, 并形成了自主的技术体系[1]。
也有大部分技术引进的支持者,例如,使用ARM 所提供的IP 核完成微处理器的设计。现在的微处理器不仅仅是传统意义上的“运算器 + 控制器”,而是包含了微处理器内核、片上的集成控制等,本文研究的微处理器是片上系统的一个核心IP。
桑红石等人[2]通过使用单口存储器构建FIFO 读写时序设计了适合大量计算的高效可配置浮点FFT处理器;陈东晓等人[3]设计了一种32 位媒体增强的可配置RISC 微处理器,最后与外围接口以及片上存储单元配合使用,在不改变微处理器的体系结构下适应用户的需求;Krishnan N K 等研究人员[4]设计了一款微处理器,具有动态可重配置的特性,通过选择线路的方式,可以在16 位和32 位之间灵活切换, 然而, 这款微处理器并没有实现完整的指令集;肖世伟等人[5]设计了面向物联网的MIPS 微处理器设计, 实现了三级流水与五级流水之间的切换;邓豹等研究者[6]对国产嵌入式微处理器进行了描述,根据国内嵌入式微处理器的发展规划和市场需求,微处理器将会逐步向可配置方向发展。
基于以上的研究,发现现有的微处理器大都是通过外接模块的方法来实现可配置,研究人员更专注于通用性能的微处理器的可配置设计。然而,近年来随着物联网、嵌入式系统等领域的发展,对于轻量级、低功耗的微处理器需求逐渐增加。少量研究人员对微处理器内核进行可配置的研究,本文根据微处理器的发展趋势以及存在的问题,实现一种可配置的微处理器。
2. 可配置微处理器体系结构 2.1. 可配置微处理器的基本架构 可配置微处理器的体系结构为哈佛结构,如图1 所示,该微处理器的设计主要有程序计数器、指令存储器、通用寄存器、特殊寄存器、运算单元、控制单元、数据存储器等部件组成。其中程序计数器用来计算指令的地址,通用寄存器以及特殊寄存器用来保存运算的结果,运算单元来进行运算操作,控制单元用来产生译码过后的控制信号。该结构与冯诺依曼结构最大的不同之处在于它将指令存储器和数据存储器分开,微处理器可以从两个存储器中读取信息,从而提高了数据访问效率。这种结构可以实现更高效的并行处理,从而提升了计算机的整体性能。采用哈佛结构不仅可以减少数据相关的问题,还可以提高流水线的效率。