跳到主要内容
🔍
0.1.1已发布beginner · 约 1.5 课时 · P0

计算机系统层次与冯·诺依曼结构

理解计算机四层结构与五大部件,能解释一条指令如何被 CPU 执行,为后续嵌入式与底层知识建立坐标系

  • 来源

标记说明:【来源】来自上传资料 · 【补充】课程新编 · 【纠错】按勘误表修正 · 【更新】过时内容已现代化 · 【待确认】无法可靠还原

完成标准(本章)

  • 📖 已阅读:滚动 ≥ 80% 且有效阅读 ≥ 120
  • ✏️ 已练习:小练习正确率 ≥ 60%
  • 📝 已通过测验:分数 ≥ 60
  • 🛠️ 已掌握还需完成实践任务
学习状态:未开始

0.1.1 计算机系统层次与冯·诺依曼结构

本章来源:核心内容来自《第一阶段讲义》6.1-6.4 节【来源】,经重新组织表述;通俗解释、练习、测验与任务为新编【补充】。本章无代码示例(纯概念章),平台适用性 universal。

① 学习目标

  1. 说出计算机系统的四个层次,并举例说明每一层的作用;
  2. 说出冯·诺依曼结构的五大部件与"存储程序"思想;
  3. 按顺序说出指令执行五步,并说明 PC(程序计数器)存的是什么;
  4. 说出哈佛结构与冯·诺依曼结构的一处核心区别,并能举出哈佛结构的典型应用;
  5. 完成实践任务:画出一张"程序从启动到输出"的完整链路图。

② 前置知识

无(本章是课程起点)。若你已有基础,可直接完成章节测验,通过后跳到 0.1.2。

③ 核心概念【来源】

概念定义
四层结构硬件层 → 固件层 → 操作系统层 → 应用层(自下而上)
冯·诺依曼结构五大部件 + "存储程序"思想:程序以二进制形式与数据同存于存储器
五大部件运算器、控制器、存储器、输入设备、输出设备(运算器+控制器=CPU)
PC(程序计数器)保存下一条要执行指令的地址,不是指令本身
指令执行五步取指 → 译码 → 执行 → 访存 → 写回
哈佛结构指令与数据分开存储、总线独立、可并行访问(常见于 MCU/DSP)
冯·诺依曼瓶颈指令与数据共用总线,取指与访存互相争用

④ 通俗解释【补充】

把计算机想象成一家餐厅:

  • 顾客(应用层):只负责点菜,不关心厨房怎么运作——就像你双击 hello.exe,不关心 CPU 怎么执行;
  • 店长(操作系统层):把顾客的需求翻译成后厨听得懂的任务,协调所有资源;
  • 厨师长(固件层):开张前把灶台、冰柜检查并启动好——就像 U-Boot 初始化硬件再引导系统;
  • 后厨与食材(硬件层):真正干活的地方:灶台(CPU)、冰柜(内存)、货架(磁盘)。

点一道"清炒时蔬"(运行 Hello World):

  1. 店长去货架取菜单(取指:CPU 按 PC 从内存取指令);
  2. 厨师看菜单知道要干什么(译码);
  3. 切菜下锅(执行);
  4. 需要时开冰柜拿食材(访存);
  5. 装盘放回出菜口(写回:结果写回寄存器或内存)。

冯·诺依曼的餐厅只有一扇门:取菜单和拿食材都得走同一扇门,人多就堵(冯·诺依曼瓶颈);哈佛结构开了两扇门,菜单和食材分开走,效率更高——很多单片机就是这么设计的。

⑤ 示例代码

本章为纯概念章,无代码示例。第一个可运行程序见 0.2.4(Hello World 全流程)。

⑥ 编译与运行方法

本章无代码;0.2.4 将演示 gcc hello.c -o hello 的完整流程。

⑦ 常见错误

症状原因解决
认为"程序存在硬盘、执行时 CPU 直接读硬盘"忽略了内存中转程序执行前必须先加载进内存,CPU 只与内存/缓存直接交互
说"PC 里存的是当前指令"混淆指令与地址PC 存下一条指令的地址;指令本体在存储器里
认为五大部件包含"总线"总线是连接部件,不属于五部件五部件:运算器/控制器/存储器/输入/输出
认为固件=操作系统层次混淆固件(BIOS/U-Boot)负责硬件初始化与引导,位于操作系统之下
把"执行"与"访存"合并五步不完整访存只在需要读写内存时发生,是独立一步

⑧ 小练习

小练习

学习自测:提交后才显示答案与解析(前端判分,不作为正式考试)
  • ex-0-1-1-1.冯·诺依曼体系结构中,程序指令和数据存放在哪里?(单选)

    ◌ 未作答
  • ex-0-1-1-2.一条指令在 CPU 中的执行流程按顺序是?(单选)

    ◌ 未作答
  • ex-0-1-1-3.判断:哈佛结构与冯·诺依曼结构的主要区别是程序和数据是否分开存储。(判断)

    ◌ 未作答

⑨ 章节测验

章节测验

5 题题库 · 随机抽 5 题 · 及格线 60 分 · 前端判分(学习自测)
开始测验 →

⑩ 实战任务

实践任务

画出"Hello World 从磁盘到屏幕"的执行链路图

不写代码,画出一张链路图:用户双击 hello.exe(或执行 ./hello)后,程序经过哪些层次与部件, 最终在屏幕上显示 "Hello World"。目的是把四层结构与五大部件串成一条完整链路。

输入与输出

无程序输入输出。交付物为一张链路图(手绘拍照、白板、或文字版分层列表均可), 并配 3-5 句文字说明每个环节由哪个部件/层次完成。

功能要求

  • 链路至少包含:输入设备(键盘/鼠标)→ 应用层 → 操作系统 → 固件/硬件(磁盘、内存、CPU)→ 输出设备(显示器)
  • 明确标出"取指-译码-执行"发生在哪个部件
  • 标出程序与数据经过存储器的环节
  • 用文字说明每两个环节之间传递的是什么(地址、指令、数据)

限制条件

  • 纯概念任务,无需编程环境
  • 图的形式不限,但必须自己画/写,不得直接复制讲义插图

验收步骤(自检清单 0/4

验收标准

  • 链路图包含四层与五大部件中的至少四个(验收步骤 1/2)
  • 能说清"取指:CPU 按 PC 从内存读指令"(验收步骤 3)
  • 能说清"字符串从磁盘读入内存、再由显卡/显存送往显示器"(验收步骤 4)

常见失败原因

  • 把固件层漏掉,直接写'硬件→操作系统'
  • 把 PC 说成存指令而不是存地址
  • 把显示器当成输出前不经过内存(屏幕内容来自显存/内存缓冲区)

可选扩展

  • 补充一条中断路径:按下键盘时信号如何到达应用层
  • 用同样方法画出'STM32 上电启动'链路(留到阶段 7 对比)

完成必要清单后才能计入"已完成实践"(学习状态自动推导,不提供一键完成)

⑪ 面试问题

面试问题

  • 简单说说冯·诺依曼结构与哈佛结构的区别?嵌入式 · easy

    要点:前者指令与数据共用一套存储器与总线;后者分开存储、独立总线、可并行访问。

    冯·诺依曼:程序与数据同存于一个存储器,共用总线,结构简单、灵活(程序可以像数据一样被加载), 但取指与访存会争用总线(冯·诺依曼瓶颈)。哈佛:指令存储器与数据存储器物理分离、总线独立, 可同时取指与取数,速度快,常用于 MCU(如 STM32 的 Flash 存指令、SRAM 存数据)与 DSP。 嵌入式面试可补充:现代 CPU 通过 L1 指令/数据 Cache 分离在冯·诺依曼体系上模拟哈佛优点。

    追问:
    • 追问:STM32 属于哪种结构?(片上 Flash 与 SRAM 分离,属哈佛结构变体)
    • 追问:什么是冯·诺依曼瓶颈?
    评分要点:
    • 说出存储是否分离
    • 说出总线是否独立与并行访问
    • 举出应用场景加分
  • 一条指令在 CPU 里是怎么执行的?嵌入式 · easy

    要点:经典五步:取指→译码→执行→访存→写回;PC 记录下一条指令地址。

    取指(按 PC 从内存/缓存取指令,PC 自增)→ 译码(控制器解析操作码与操作数)→ 执行(运算器完成计算)→ 访存(需要时读写内存)→ 写回(结果写回寄存器)。可补充现代 CPU 的流水线:五步重叠执行,提高吞吐。

    追问:
    • 追问:PC 里存的是什么?
    • 追问:流水线为什么会提高速度?
    评分要点:
    • 五步顺序正确
    • 说明 PC 存地址
    • 提及流水线加分
  • 为什么程序要分"取指"和"执行"两个阶段?嵌入式 · easy

    要点:因为"存储程序"设计:指令先存在于存储器中,CPU 必须先取出才能知道要做什么。

    冯·诺依曼体系里指令以二进制存放在存储器,CPU 内部只有少量寄存器,不能一次装下整个程序, 因此必须一条一条取出再执行。这也是 PC 寄存器存在的意义。可以延伸到:这正是现代 CPU 流水线、分支预测、指令缓存优化的起点。

    评分要点:
    • 关联"存储程序"思想
    • 说明逐条取出的必要性

⑫ 延伸阅读

  • 《计算机组成与设计:硬件/软件接口》(Patterson & Hennessy)第 1 章:计算机概览;
  • 《深入理解计算机系统(CSAPP)》第 1 章:计算机系统漫游;
  • 维基百科词条:Von Neumann architecture / Harvard architecture(英文,不复制内容,仅作查阅入口);
  • 下一章预告:0.1.2 进制与进制转换——二进制为何是计算机的语言。

内容来源映射

内容部分资料位置标记说明
计算机系统层次结构、冯·诺依曼五大部件、指令执行流程、哈佛结构对比第一阶段讲义6.1/6.2/6.3/6.4 节(PAGE 145-150)来源正文在原资料基础上重新组织表述,未大段复制原文
通俗解释(后厨流水线类比)补充原资料无类比讲解,本节新编
小练习 / 章节测验 / 实践任务 / 面试问题 / 延伸阅读补充原资料该章无成体系练习,全部新编