基于MATLAB与FPGA的图像处理教程
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1.1 CPU体系结构加速

接下来,本节深入探讨CPU的体系结构,不外乎图1.2所示的几种:冯·诺依曼体系结构、哈佛结构、改进的哈佛结构,这几种结构有各自的优势,应用于不同的产品中,也有各自的优缺点,其中X86处理器是较典型的冯·诺依曼体系结构,广泛应用于个人计算机、工作站、服务器等;而ARM处理器是较典型的哈佛结构,广泛应用于单片机、ARM芯片等终端芯片,如手机、平板的CPU。关于具体的细分,详见图1.2所示的计算机体系结构思维导图。

冯·诺依曼体系结构(von Neumann Architecture),也称普林斯顿结构,冯·诺伊曼体系结构CPU,如图1.3所示,是一种将程序指令和数据合并在一起的存储器结构。该结构中程序指令和数据共用一条总线,通过分时复用的方式进行读写操作,结构相对简单,总线面积较小,但缺点是效率低,无法同时取程序指令和数据,成为执行的瓶颈。

图1.2 计算机体系结构思维导图

为了解决冯·诺依曼体系结构无法并行取指令和数据的问题,提高计算效率,在此基础上提出了哈佛结构(Harvard Structure),哈佛结构是一种将程序指令和数据分开的存储器结构,其CPU如图1.4所示。该结构由于程序指令和数据存储在两个独立的存储器,各自有独立的访问总线,因此提供了更大的存储器带宽,减轻了程序运行时访问内存的瓶颈。但相应的也需要独立的存储器,以及更大的总线面积,其中ARM就是典型的哈佛结构。

图1.3 冯·诺伊曼体系结构CPU

图1.4 哈佛结构CPU

同样采用流水线,相对于冯·诺依曼体系结构,哈佛结构的指令效率更高。首先哈佛结构在当前指令译码的时候,可以进行下一条指令的取指;然后在执行下一条指令译码的同时,又开始了第三条指令的取指。这一过程,通过指令预取加快了原先5个步骤的流水线结构,提高了流水线的并行度。

实际上计算机体系结构发展至今,冯·诺依曼体系结构和哈佛结构的界限已经没有那么清晰了。如改进的哈佛结构,指令和数据还是一起存储在主存储器中,但CPU有额外的指令存储器和数据存储器,混合型CPU体系结构,如图1.5所示。在主存储器带宽足够的前提下,使CPU可以同时取指令和数据,所以可以认为混合型CPU体系结构对外是冯·诺依曼体系结构,对内是哈佛结构,即改进的哈佛结构。

图1.5 混合型CPU体系结构

由于本章仅在高层次上,对CPU架构设计带来的加速进行基础的描述,这部分就不再深入介绍了。本节继续探讨,如何可以让CPU流水线计算得更快。