「哈佛架构」
MCU(单片机)几乎都是用哈佛结构,譬如广泛使用的51单片机、典型的STM32单片机(核心是ARM Cortex-M系列的)都是哈佛结构。
「冯诺依曼架构」
PC和服务器芯片(譬如Intel AMD),ARM Cortex-A系列嵌入式芯片(譬如核心是ARM Cortex-A9的三星exynos-4412,譬如华为的麒麟970等手机芯片)等都是冯诺依曼结构。这些系统都需要大量内存,所以工作内存都是DRAM,因为他们更适合使用冯诺依曼系统。
「混合结构」
实际上现代的CPU(准确说叫SoC)基本都不是纯粹的哈佛结构或冯诺依曼机构,而都是混合结构的。
比如三星exynos 4412,使用ARM的Cortex-A9核心。基于exynos 4412开发板上都配备了1024MB的DDR SDRAM,和8GB的EMMC。
正常工作时所有的程序和数据都从EMMC中加载到DDR中,也就是说不管你是指令还是数据,存储都是在EMMC中,运行时都在DDR中,再通过cache和寄存器送给CPU去加工处理。这就是典型的冯诺依曼系统。
但是,exynos 4412内部仍然有一定容量的64KB irom和64KB iram,这些irom和iram是用于SoC引导和启动的,芯片上电后首先会执行内部irom中固化的代码,其实执行这些代码时4412就好像一个MCU一样,irom就是他的flash,iram就是他的SRAM,这又是典型的哈佛结构。
这就是混合式结构设计,而非纯粹设计。之所以采用混合式设计其实就是为了各取所长而已。
不管白猫黑猫,解决问题就是好猫。
|