论文部分内容阅读
自1958年美国著名公司TI发明了全球第一块集成电路之后,集成电路的规模和相关技术得到了飞速的发展。其中最明显的就是处理器包含的晶体管数目越来越多,而体积却越来越小。尽管近年来处理器的晶体管数目继续如摩尔定律所揭示的那样每隔18个月翻一倍,但是换来的结果并不是直接的处理器性能增加一倍,造成这种现象的主要因素就是处理器的功耗预算是一定的,而这有限的功耗预算不足以让处理器的大部分晶体管工作,最终就导致了“利用墙”、“功耗墙”问题的出现。尤其是在移动设备领域,处理器能够使用的功耗预算更加有限,使得这个问题成为了限制移动设备性能的最主要因素。目前主要有两类方法解决“利用墙”、“功耗墙”问题。其一是根据需求定制ASIC,这种方法简单有效,但是有明显的缺陷,就是ASIC只能运行特定的软件,即使对该特定软件进行微小的升级也意味着芯片报废,若要继续使用就需要重新定制芯片,尤其在软件升级频繁的情况下会大大增加使用者的成本。另外一类方法就是为特定领域设计硬件加速器,这种方法对于处理器功耗使用效率有明显的提升,即使软件升级了也不会大幅影响处理器性能,而且它还能运行普通程序,据此本文提出了一种基于硬件加速器的通用处理器架构设计。设计基于加速器的通用处理器架构主要面临两个主要的问题。第一个问题是如何确定需要集成到片上的加速器的种类和数量已达到对应用程序最大的覆盖率。第二则是编程模型,即众多的加速器采用何种方式集成到片上,编程人员如何使用它们让程序运行时更加高效。为解决这两个问题,我们将设计一种全新的多加速器架构,在针对特定领域的应用时在应用性和功耗之间取得平衡,在保证编程模型简单可靠的情况下提高加速器对应用的覆盖率,达到较好的加速比,有效解决“利用墙”、“功耗墙”问题。考虑到Openrisc是开源的CPU架构,且拥有完整的工具链可用,本设计选用Openrisc为整个SoC的核心处理器。文中研究了Openrisc的核心部分、数据和指令高速缓存、数据和指令MMU、可编程的中断控制器、定时器、电源模块、调试模块等,还研究了Wishbone总线。紧接着提出了基于FFT算法的IP核设计,着重介绍了IP核的结构、功能验证、上板测试、加速比等。最终得出的结论,在同样的CPU架构之下运行同样的算法,有FFT IP核的CPU比没有FFT IP核的CPU运行时间大大缩短,这样就通过缩短CPU对相同代码运行的时间来减少CPU的功耗。后期会将IP核与Openrisc较好的耦合在一起,通过编译器来识别符合加速的代码段,以最大效率的发挥加速器的作用,这样程序员便无须了解硬件架构,可以根据实际需要灵活的书写代码。