当前位置: 首页 > news >正文

计算机组成与体系结构:计算机结构的分类(classifications of computer architecture)

目录

Von Neumann Architecture(冯·诺依曼结构)

Harvard Architecture(哈佛结构) 

Modified Harvard Architecture(改进哈佛结构) 

三种结构对比总结表


💡 从“内存访问结构”角度分类,最经典的方式主要包括两种:

✅ 冯·诺依曼结构(Von Neumann Architecture)

✅ 非冯·诺依曼结构(Non-Von Neumann Architecture)

↪️ 包括:Harvard 架构、Modified Harvard 架构等

Von Neumann Architecture(冯·诺依曼结构)

它的核心思想是:

程序和数据共用一块内存,通过同一条总线读写。

📦 特点总结:

特性描述
✅ 程序和数据存放在同一内存没有“代码区”和“数据区”之分
✅ 共用总线传输数据和指令通过同一通道来回搬
⚠️ 容易出现“瓶颈”CPU 想读数据,程序也要读,会排队,叫“冯·诺依曼瓶颈”
📍 应用广泛普通 PC、服务器、单片机等都大量使用

 举个例子:

CPU --> Memory↗     ↖指令    数据

CPU 要先从内存拿一条“指令”(比如加法),然后再去内存拿“操作数”(数据),两步都走同一条路,所以容易“堵车”。 

 

Harvard Architecture(哈佛结构) 

哈佛结构把程序和数据分开存在不同的内存中,而且有两条独立的总线。 

📦 特点总结:

特性描述
✅ 指令和数据分开放各有自己的内存区域
✅ 双通道传输可以同时访问指令和数据,效率更高
📍 常用于嵌入式系统微控制器(比如 AVR)、DSP 使用较多

 举个例子:

CPU↑    ↑
指令  数据
内存  内存

这样,CPU 可以一边从指令内存读取指令,一边从数据内存拿数据 —— 互不干扰! 

Modified Harvard Architecture(改进哈佛结构) 

为了兼顾灵活性 + 高性能,出现了这种“混合型结构”。 

📦 特点总结:

特性描述
✅ 数据/指令分离但可交互程序也可以像数据一样修改(比如写入内存)
✅ 实际上使用“共享存储器 + 分离缓存”一般有统一的物理存储器,但用不同的缓存处理指令和数据
📍 用在现代高级 CPU、ARM Cortex 系列等

三种结构对比总结表

特性Von NeumannHarvardModified Harvard
内存是否分离❌ 否✅ 是✅ 是(逻辑上)
总线是否分离❌ 否✅ 是✅ 是(部分)
是否易堵塞⚠️ 容易堵🚀 不堵🚀 不堵(缓存优化)
编程灵活性✅ 灵活❌ 程序不易修改✅ 灵活
应用领域通用计算机嵌入式系统、DSPARM、现代 CPU、MCU

 

http://www.xdnf.cn/news/44983.html

相关文章:

  • 牛客 | OJ在线编程常见输入输出练习
  • Towards Transferable Targeted 3D Adversarial Attack in the Physical World--阅读笔记
  • 深度解析 PointNet:点云深度学习的开山之作
  • 低代码开发平台:企业数字化转型的加速器
  • MCU中的BSS和data都占用SRAM空间吗?
  • LeetCode hot 100—分割等和子集
  • JavaWeb 课堂笔记 —— 15 MyBatis 基础操作
  • 【2】Kubernetes 架构总览
  • Java synchroinzed和ReentrantLock
  • 2025年MathorCup竞赛助攻资料免费分享
  • LLM基础-什么是Token?
  • 位运算---总结
  • ASP.NET Core 最小 API:极简开发,高效构建(下)
  • From RAG to Memory: Non-Parametric Continual Learning for Large Language Models
  • wordpress独立站的产品详情页添加WhatsApp链接按钮
  • docker配置skywalking 监控springcloud应用
  • 缓存 --- Redis性能瓶颈和大Key问题
  • 数据通信学习笔记之OSPF其他内容3
  • 学习设计模式《四》——单例模式
  • sizeof和strlen区分,(好多例子)
  • gbase8s之线程状态详解(超值)
  • deep-share开源浏览器扩展,用于分享 DeepSeek 对话,使用户能够将对话内容保存为图片或文本以便轻松分享
  • Linux 进程间通信之消息队列:原理 + API 与实战 (System-V IPC)
  • 人工智能-机器学习其他技术(决策树,异常检测,主成分分析)
  • 论文笔记(七十八)Do generative video models understand physical principles?
  • vscode使用技巧
  • SpringBoot 3 与 SpringDoc 打造完美接口文档
  • 面试常用基础算法
  • JSON-RPC远程控制
  • Linux中的信号量