Files
obsidian/计算机组成原理/学习笔记/01_计算机系统概论.md

9.7 KiB
Raw Blame History

第1章 计算机系统概论

📖 本章介绍计算机系统的基本概念和组成,是整个课程的基础。 🎯 重点理解计算机层次结构和冯·诺依曼体系


📋 本章目录


1.1 计算机系统简介

1.1.1 计算机的软硬件概念

计算机系统由 硬件软件 两大部分组成。

graph TB
    subgraph 计算机系统
        subgraph 硬件
            A[主机] --> A1[CPU]
            A --> A2[主存储器]
            A1 --> A11[运算器]
            A1 --> A12[控制器]
            B[外部设备] --> B1[输入设备]
            B --> B2[输出设备]
        end
        subgraph 软件
            C[系统软件] --> C1[操作系统]
            C --> C2[语言处理程序]
            C --> C3[数据库管理系统]
            D[应用软件] --> D1[科学计算程序]
            D --> D2[数据处理程序]
        end
    end

硬件Hardware

[!info] 定义 计算机的实体部分,由看得见摸得着的各种电子元器件组成。

  • 主机CPU + 主存储器
  • 外部设备:输入设备 + 输出设备

软件Software

[!info] 定义 人们事先编制的具有各类特殊功能的程序,存放在存储器中。

系统软件

  • 操作系统Windows、Linux等
  • 语言处理程序(编译程序、汇编程序)
  • 数据库管理系统
  • 服务程序(诊断、调试程序)

应用软件

  • 科学计算程序
  • 数据处理程序
  • 过程控制程序
  • 事务管理程序

[!tip] 关键理解 计算机性能 = 硬件功能 + 软件功能。软硬件相互依存,缺一不可。


1.1.2 计算机系统的层次结构

计算机系统具有多级层次结构,从低到高依次为:

graph TB
    subgraph "五级层次结构"
        M4["虚拟机器 M4<br/>(高级语言机器)"] --> |"用编译程序翻译"| M3
        M3["虚拟机器 M3<br/>(汇编语言机器)"] --> |"用汇编程序翻译"| M2
        M2["虚拟机器 M2<br/>(操作系统机器)"] --> |"用机器语言解释"| M1
        M1["传统机器 M1<br/>(机器语言机器)"] --> |"用微程序解释"| M0
        M0["微程序机器 M0<br/>(微指令系统)"] --> |"由硬件直接执行"| HW["硬件电路"]
    end

    style M4 fill:#e1f5fe
    style M3 fill:#b3e5fc
    style M2 fill:#81d4fa
    style M1 fill:#4fc3f7
    style M0 fill:#29b6f6
    style HW fill:#0288d1

各层次说明

层次 名称 说明 语言
M4 高级语言机器 用户编程层面 高级语言C、Java等
M3 汇编语言机器 汇编语言层面 汇编语言
M2 操作系统机器 操作系统层面 机器语言
M1 传统机器 硬件指令层面 机器语言
M0 微程序机器 微指令层面 微指令

[!note] 重要概念

  • 虚拟机:不是实际存在的机器,而是通过软件实现的功能层次
  • 实际机器物理存在的硬件机器M0和M1
  • 软硬件交界:随着技术发展,部分软件功能由硬件实现(固件)

翻译程序的两种方式

graph LR
    subgraph "编译程序"
        A1[源程序] --> B1[一次性全部翻译] --> C1[目标程序] --> D1[执行]
    end

    subgraph "解释程序"
        A2[源程序] --> B2[翻译一条] --> C2[执行一条] --> D2[下一条]
        D2 --> B2
    end
  • 编译程序一次性全部翻译然后执行如C、Pascal
  • 解释程序边翻译边执行如BASIC

1.1.3 计算机组成和计算机体系结构

这两个概念容易混淆,需要明确区分:

概念 定义 关注点 示例
计算机体系结构 程序员所见到的计算机属性 指令集、数据类型、寻址技术 是否有乘法指令
计算机组成 体系结构的实现方式 硬件细节、电路实现 乘法指令用专用电路还是加法器实现

[!example] 举例说明 IBM System/370系列

  • 体系结构相同:所有机型指令集相同
  • 组成不同:不同型号性能、价格差异很大
  • 好处:用户软件投资得到保护

1.2 计算机的基本组成

1.2.1 冯·诺依曼计算机的特点

[!important] 冯·诺依曼体系1945年 基于"存储程序"概念的计算机体系结构

五大特点

  1. 计算机由 运算器、存储器、控制器、输入设备、输出设备 五大部件组成
  2. 指令和数据以同等地位存放于存储器内,并可按地址寻访
  3. 指令和数据均用 二进制数 表示
  4. 指令由 操作码地址码 组成
  5. 指令在存储器内按顺序存放,通常顺序执行
graph TB
    subgraph "冯·诺依曼计算机结构"
        direction TB
        CU[控制器] --> |"控制信号"| ALU[运算器]
        CU --> |"控制信号"| MEM[存储器]
        CU --> |"控制信号"| IN[输入设备]
        CU --> |"控制信号"| OUT[输出设备]

        IN --> |"数据"| MEM
        MEM --> |"数据"| ALU
        ALU --> |"数据"| MEM
        MEM --> |"数据"| OUT
    end

    style CU fill:#ff9999
    style ALU fill:#99ccff
    style MEM fill:#99ff99
    style IN fill:#ffcc99
    style OUT fill:#cc99ff

1.2.2 计算机的硬件框图

传统结构(以运算器为中心)

graph LR
    IN[输入设备] --> |"数据"| ALU[运算器]
    ALU --> |"数据"| MEM[存储器]
    MEM --> |"数据"| ALU
    ALU --> |"数据"| OUT[输出设备]
    CU[控制器] --> |"控制"| ALU
    CU --> |"控制"| MEM
    CU --> |"控制"| IN
    CU --> |"控制"| OUT

现代结构(以存储器为中心)

graph TB
    IN[输入设备] --> |"数据"| MEM[存储器]
    MEM --> |"数据"| OUT[输出设备]
    MEM --> |"数据"| ALU[运算器]
    ALU --> |"数据"| MEM
    CU[控制器] --> |"控制信号"| ALU
    CU --> |"控制信号"| MEM
    CU --> |"控制信号"| IN
    CU --> |"控制信号"| OUT

[!tip] 结构变化的原因 以存储器为中心可以减少数据传输的瓶颈,提高系统效率。

1.2.3 各部件功能详解

部件 功能 关键特性
运算器 完成算术运算和逻辑运算 暂存中间结果
存储器 存放数据和程序 按地址访问
控制器 控制指挥程序运行 产生控制信号
输入设备 信息形式转换(人→机) 键盘、鼠标等
输出设备 信息形式转换(机→人) 显示器、打印机等

1.2.4 现代计算机组成

graph TB
    subgraph "现代计算机组成"
        subgraph "主机"
            CPU["CPU"] --> ALU["运算器"]
            CPU --> CU["控制器"]
            MM["主存储器<br/>(主存)"]
        end
        subgraph "外部设备"
            IO["I/O设备"] --> INPUT["输入设备"]
            IO --> OUTPUT["输出设备"]
        end
    end

    CPU <--> |"数据/地址"| MM
    CPU <--> |"数据"| IO
    MM <--> |"数据"| IO

    style CPU fill:#ff9999
    style MM fill:#99ff99
    style IO fill:#99ccff

术语说明

  • CPU = 运算器 + 控制器
  • 主机 = CPU + 主存储器
  • I/O设备 = 输入设备 + 输出设备(外部设备)

1.3 计算机硬件的主要技术指标

1.3.1 机器字长

[!info] 定义 CPU一次能处理数据的位数通常与CPU寄存器位数有关。

  • 影响:字长越长,计算精度越高
  • 常见8位、16位、32位、64位

1.3.2 存储容量

[!info] 定义 存储器能存放二进制代码的总位数

计算公式

存储容量 = 存储单元数 \times 存储字长

单位换算

  • 1KB = 1024B
  • 1MB = 1024KB
  • 1GB = 1024MB
  • 1TB = 1024GB

1.3.3 运算速度

常用指标

指标 说明 计算方式
MIPS 每秒百万条指令 指令数 / 执行时间
CPI 每条指令时钟周期数 时钟周期数 / 指令数
FLOPS 每秒浮点运算次数 浮点运算数 / 执行时间

1.3.4 其他指标

  • 主频CPU时钟频率GHz
  • 带宽数据传输速率MB/s
  • 兼容性:软件在不同机器上的通用性

📝 本章小结

核心概念

  1. 计算机系统 = 硬件 + 软件
  2. 层次结构:从微程序机器到高级语言机器的多级层次
  3. 冯·诺依曼体系:存储程序、五大部件、二进制表示
  4. 现代计算机以存储器为中心CPU = 运算器 + 控制器

关键术语

术语 英文 含义
CPU Central Processing Unit 中央处理器
ALU Arithmetic Logic Unit 算术逻辑单元
CU Control Unit 控制单元
MM Main Memory 主存储器
I/O Input/Output 输入输出

重点图示

[!summary] 必须掌握的图

  1. 计算机系统层次结构图
  2. 冯·诺依曼计算机结构框图
  3. 现代计算机组成框图(以存储器为中心)

🧪 自测练习

概念题

  1. 简述计算机硬件和软件的关系。
  2. 画出计算机系统的五级层次结构,并说明各层功能。
  3. 冯·诺依曼计算机有哪些特点?

思考题

  1. 为什么要区分计算机体系结构和计算机组成?
  2. 现代计算机为什么采用以存储器为中心的结构?

🔗 相关链接


本章难度: 简单 重要程度: 基础