相信学过计算机技术这门课程的读者都知道,通用CPU采用的是冯。诺依曼结构,而很多嵌入式处理器多采用哈佛结构,那么这两种结构究竟有什么区别,各自有什么优势,在进入嵌入式处理器的学习之前有必要先搞清楚这个问题。因此在开始嵌入式处理器的学习之前先让我们来了解一下这两种结构。
(1)哈佛结构
哈佛结构(Harvard)是哈佛大学物理学家A·Howard于1930年提出的,其结构原理如图 1.1所示。哈佛结构的主要特点是将程序和数据存储在不同的存储器中,每个独立的存储器独立编址,独立访问,这一点是与冯·诺依曼结构的主要区别。该结构在片内设置了与两个存储器相对应的程序总线和数据总线,取指令和执行能重叠运行,故数据的吞吐率提高了一倍。
哈佛结构的微处理器通常具有较高的执行效率。其程序指令和数据指令分开组织和存储的,执行时可以预先读取下一条指令。
目前使用哈佛结构的中央处理器和微控制器有很多,摩托罗拉公司的MC68系列、Zilog公司的Z8系列、最为常用的8051系列、ATMEL公司的AVR系列和ARM公司的ARM9、ARM10、ARM11以及本书的主角Cortex-M3系列。
哈佛结构是指程序和数据空间独立的体系结构, 目的是为了减轻程序运行时的访存瓶颈。
例如当一条指令同时取两个操作数, 在流水线处理时, 同时还有一个取指操作, 如果程序和数据通过一条总线访问, 取指和取数必会产生冲突, 而这对大运算量的循环的执行效率是很不利的。
哈佛结构能基本上解决取指和取数的冲突问题,然而,对于一些需要高速运算和数据处理的场合为了进一步提升运行速度和灵活性,人们在基本哈佛结构的基础之上做了一些改进提出了改进的哈佛结构,其主要特点如下。
(1)允许数据存放在程序存储器中,并被算数运算指令直接使用,增强了芯片的灵活性。
(2)指令存储在高速缓冲器中,当执行此指令时不需要再从存储器中读取指令,节约了一个指令周期,大大提高了运行速度。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !