冯·诺依曼 / 哈佛 / 改进型哈佛结构
本文声明:内容来源于网络,进行整合/再创作;部分内容由AI辅助生成。
处理器的存储体系结构(也称CPU总线架构)有冯·诺依曼结构、哈佛结构、改进型哈佛结构。目前大多数嵌入式处理器采用的存储体系结构为哈佛/改进型哈佛结构。
冯·诺伊曼结构
![]()
冯·诺依曼结构
冯·诺伊曼结构处理器中,程序指令和数据采用统一的存储器,对指令和数据的寻址不能同时进行,只能交替完成。程序指令地址和数据地址指向同个存储器的不同物理位置,因此指令和数据的宽度相同。
代表:早期 CPU、通用计算机、x86。
哈佛结构
![]()
哈佛结构
哈佛结构处理器中,程序指令和数据分开独立存储,通过各自不同的总线访问。哈佛体系结构是一种并行体系结构,程序指令存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。
代表: DSP、老式单片机(8051、AVR、PIC等)、专用控制器。
哈佛结构的核心特征:它将程序指令和数据存储在两个独立的物理存储器中。这种分离通过四条独立的总线实现,带来了显著的性能优势。
1. 总线结构
- 程序存储器:拥有专用的程序地址、数据总线。
- 数据存储器:拥有专用的数据地址、数据总线。
2. 性能优势:并行存取
由于指令和数据路径完全分离,处理器可以在同一个机器周期内并行完成两项操作:
- 通过程序总线读取下一条指令。
- 通过数据总线读写当前指令所需的操作数。
这种“取指”与“执行”的重叠,极大地提高了运行速度和数据吞吐率。
3. 工作流程
中央处理器的操作形成一个高效流水线(3级):
- 取指:通过程序总线,从程序存储器读取指令。
- 译码:解析指令,得到需要操作的数据地址。
- 执行:通过数据总线,根据地址从数据存储器读取或写入操作数,并执行运算。
注:下条指令的取指和当前指令的执行可同时进行。
4. 设计灵活性
存储空间的独立允许程序存储器和数据存储器采用不同的硬件设计。例如,两者可以具有不同的数据宽度(如指令字长是16位,而数据字长是32位),从而更好地适配特定应用需求。
改进型哈佛结构
改进型哈佛结构是一种结合了冯诺依曼结构和哈佛结构优点的计算机体系结构。它通过优化总线和存储器的设计,提高了数据传输和处理的效率。
![]()
改进型哈佛结构
改进型哈佛结构使用两个独立的存储器,分别存储程序指令和数据。每个存储模块都不允许指令和数据并存,以便实现并行处理。此外,它具有1条程序地址总线、1条数据总线,CPU通过公共地址总线访问两个存储器,CPU与两个存储器与之间的数据传输则通过公共数据总线完成。
代表:现代 ARM 处理器(Cortex‑A)。
改进型哈佛结构核心特征:双总线并行访问+可跨空间读取程序存储器+带缓存优化的高效通用架构。改进型哈佛结构是在经典哈佛结构基础上优化而来,既保留哈佛的并行优势,又解决灵活性问题,是嵌入式 / MCU / ARM 最常用架构。
1. 核心本质
- 指令与数据物理上分开总线:指令总线 I-Bus、数据总线 D-Bus
- 支持同时取指 + 同时读写数据,不冲突 → 效率更高
2. 最关键 4 个特征
- 双独立总线。指令、数据各走各的总线,CPU可一个周期内同时取指令和读写数据。
- 允许数据空间访问程序空间。可以把常量、字库、表格存在Flash(程序区),像读数据一样直接读取,不用搬运到RAM。
- 缓存机制融合。指令Cache、数据Cache 分开,但主存可以共用同一物理存储器(不像经典哈佛必须严格两片)。
- 兼顾效率与灵活。比冯・诺依曼更快、更适合运算;比经典哈佛更灵活、省硬件、易实现。
嵌入式处理器与通用处理器最大的区别在于,它大多工作于为特定用户群所专门设计的系统中,将通用处理器中许多由板卡完成的任务集成到芯片内部,从而有利于嵌入式系统在设计时趋于小型化,同时还具有很高的效率和可靠性。
冯·诺依曼 / 经典哈佛 / 改进型哈佛结构对比表
|
冯・诺依曼结构 |
经典哈佛结构 |
改进型哈佛结构 | |
|
存储与总线 |
指令、数据共用 同一存储器、同一总线 |
指令、数据完全分开 独立存储器 + 独立总线 |
指令、数据 独立总线,主存可共用 |
|
取指与访存 |
不能并行 取指时不能读写数据 |
可完全并行 同时取指 + 读写数据 |
可并行取指 + 访存,效率高 |
|
程序 / 数据访问 |
统一地址空间 灵活但易冲突 |
严格分离,不能直接互访 |
支持程序空间 当数据读(如常量存 Flash) |
|
缓存设计 |
统一缓存 |
指令缓存、数据缓存分开 |
指令 Cache、数据 Cache 分离 |
|
速度与效率 |
较低,总线易瓶颈 |
最高,无总线争抢 |
接近经典哈佛,效率很高 |
|
硬件复杂度 |
简单,成本低 |
较高,需两套存储控制 |
适中,现代 MCU 主流 |
|
典型应用 |
简单单片机、老式 CPU |
DSP、专用信号处理器 |
ARM Cortex-M、现代MCU、嵌入式主流 |
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐


所有评论(0)