首页/计算机组成原理/01-overview/计算机系统层次结构 🔗 在 Obsidian 中打开
计算机组成原理 · 01-overview

计算机系统层次结构

难度 ★★★重要度 ★★ 考查频率 低 计算机系统概述层次结构软硬件接口408
速查
计算机系统 = 硬件 + 软件,自顶向下分为高级语言→汇编→操作系统→机器语言→微程序→硬件逻辑六层;体系结构是功能定义,组成是逻辑实现,实现是物理实现。

速查

项目
层次硬件逻辑 → 微程序 → 操作系统 → 汇编 → 高级语言 → 应用
ISA指令集体系结构,软件和硬件的交界面
固件具有软件特性的硬件,存储在 ROM 中

核心概念

计算机系统由硬件软件组成,从不同抽象层次来看,计算机系统呈现出多层结构。

1. 计算机系统的层次划分

第5级  高级语言虚拟机(应用语言)    → 面向用户
第4级  汇编语言虚拟机               → 汇编语言
第3级  操作系统虚拟机               → 操作系统
第2级  一般机器级(机器语言)        → 硬件/固件
第1级  微程序机器级                 → 微指令
第0级  硬件逻辑级(门电路)          → 硬件

2. 软件与硬件的逻辑等价性

  • 任何由软件实现的功能都可以用硬件(固件)实现,反之亦然
  • 这是计算机系统层次结构的理论基础
  • 软件实现灵活但速度慢,硬件实现速度快但成本高
  • 现代计算机中,频繁使用的功能倾向于硬件化(如乘法器、浮点运算单元)

3. 固件(Firmware)

  • 固件是具有软件功能的硬件,介于纯硬件和纯软件之间
  • 通常用只读存储器(ROM/PROM/EPROM)实现
  • 典型例子:微程序控制器中的微程序
  • 固件兼具硬件的速度和软件的灵活性

4. 三个透明性概念

在计算机系统中,不同层次之间存在“透明性”:

  • 对程序员透明:程序员不需要了解(也看不到)的特性
  • 对系统透明:底层实现对上层不可见
  • 例:流水线对高级语言程序员透明,微程序对机器语言程序员透明

5. 从不同角度看计算机系统

角度关注内容研究领域
程序员角度指令集、数据类型、寻址方式计算机体系结构
硬件设计角度数据通路、控制逻辑、时序计算机组成
物理实现角度电路设计、器件工艺计算机实现

关键定义

术语定义
计算机体系结构程序员所见到的计算机属性,即概念性结构和功能行为(指令集、数据类型、寻址方式等)
计算机组成体系结构的逻辑实现,包括数据通路、控制器、存储器组织等
计算机实现组成的物理实现,包括器件选择、电路设计、封装等
固件用微程序实现的软件功能,固化在 ROM 中
透明性某个特性存在但对使用者不可见、不可访问

常见考法

  1. 选择题:判断某特性属于体系结构、组成还是实现
  2. 选择题:层次结构中各层的功能划分
  3. 选择题:软件与硬件逻辑等价性的理解
  4. 判断题:某特性对程序员是否透明
  5. 概念辨析:体系结构 vs 计算机组成的区别

易错点

必记
  • ⚠️ 体系结构 $\neq$ 计算机组成:体系结构是程序员可见的(如有没有乘法指令),组成是实现方式(如乘法器用何种方式实现)
  • ⚠️ “透明”在计算机中是“看不到”的意思,不是“公开透明”的含义
  • ⚠️ 指令集属于体系结构范畴,数据通路宽度属于组成范畴
  • ⚠️ 同一体系结构可以有不同的组成方式(如 CISC 指令集可以用硬布线或微程序实现)

核心结论

  1. 计算机系统 = 硬件 + 软件,软件和硬件在逻辑上等价
  2. 体系结构是功能定义,组成是逻辑实现,实现是物理实现
  3. 固件是硬件化的软件,用微程序实现
  4. 现代计算机以存储器为中心,而不是以运算器为中心

记忆卡片

计算机体系结构和计算机组成有什么区别?
体系结构是程序员可见的功能属性(如指令集),组成是其逻辑实现(如数据通路设计)。同一架构可有不同组成。
什么是固件?
用微程序实现的、固化在 ROM 中的软件,兼具硬件速度和软件灵活性。
软件与硬件逻辑等价性是什么含义?
任何软件实现的功能都可以用硬件实现,反之亦然。这是层次结构的理论基础。
“对程序员透明”是什么意思?
指该特性对程序员不可见、不可访问。例如微程序对机器语言程序员透明。
在层次结构中,操作系统虚拟机位于哪一层?
第 3 层,位于汇编语言虚拟机之上、高级语言虚拟机之下。

交互动画 · 六层结构

手动模式
第5级 高级语言虚拟机面向用户 第4级 汇编语言虚拟机汇编语言 第3级 操作系统虚拟机操作系统 第2级 一般机器级机器语言(硬件/固件) 第1级 微程序机器级微指令 第0级 硬件逻辑级门电路(硬件)
点击上方按钮或某一层,查看该层在层次结构中的角色
自顶向下:高级语言 → 汇编 → 操作系统 → 机器语言 → 微程序 → 硬件逻辑

相关知识点

暂无关联知识点

↑ 以上为站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。