单片机采用的架构主要有两种:哈佛结构和冯诺依曼结构。
哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。哈佛结构是一种并行体系结构。它的主要特点是将程序和数据存储在不同的存储空间中,每个存储器独立编址、独立访问。与两个存储器对应的是系统的4条总线:程序的数据总线与地址总线、数据的数据总线与地址总线。这种分离的程序总线和数据总线允许在一个机器周期内同时获得指令字(来自程序存储器)和操作数(来自数据存储器),从而提高了执行速度,进而提高了数据的吞吐率。
哈佛结构的单片机通常具有较高的执行效率,其程序指令和数据指令分开组织和存储,执行时可以预先读取下一条指令。
冯诺依曼结构是在哈佛结构之后提出的,冯诺依曼提出“代码本身也是一种数据”的概念,解决了哈佛结构的一个问题--总线占用资源太多。
冯诺依曼结构是将数据和代码放在一起的。
通过BIOS(uboot)将硬盘(FLASH)中的程序(数据和代码)全部复制到RAM,所以此时RAM内部会分为多个段--代码段、data段等,从而相比哈佛结构,节省了一套外部的数据总线和地址总线。
但是这样带来了一个副作用:速度变慢了。本来数据和代码是分开存储的,它们分别对应“两条高速通道”。现在,数据和代码都放在一起,对应“一条高速通道”。
联系客服