# 第1章 计算机系统概论 > 📖 本章介绍计算机系统的基本概念和组成,是整个课程的基础。 > 🎯 重点理解计算机层次结构和冯·诺依曼体系 --- ## 📋 本章目录 - [[#1.1 计算机系统简介]] - [[#1.2 计算机的基本组成]] - [[#1.3 计算机硬件的主要技术指标]] - [[#本章小结]] --- ## 1.1 计算机系统简介 ### 1.1.1 计算机的软硬件概念 计算机系统由 **硬件** 和 **软件** 两大部分组成。 ```mermaid 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 计算机系统的层次结构 计算机系统具有多级层次结构,从低到高依次为: ```mermaid graph TB subgraph "五级层次结构" M4["虚拟机器 M4
(高级语言机器)"] --> |"用编译程序翻译"| M3 M3["虚拟机器 M3
(汇编语言机器)"] --> |"用汇编程序翻译"| M2 M2["虚拟机器 M2
(操作系统机器)"] --> |"用机器语言解释"| M1 M1["传统机器 M1
(机器语言机器)"] --> |"用微程序解释"| M0 M0["微程序机器 M0
(微指令系统)"] --> |"由硬件直接执行"| 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) > - **软硬件交界**:随着技术发展,部分软件功能由硬件实现(固件) #### 翻译程序的两种方式 ```mermaid 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. 指令在存储器内按顺序存放,通常顺序执行 ```mermaid 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 计算机的硬件框图 #### 传统结构(以运算器为中心) ```mermaid graph LR IN[输入设备] --> |"数据"| ALU[运算器] ALU --> |"数据"| MEM[存储器] MEM --> |"数据"| ALU ALU --> |"数据"| OUT[输出设备] CU[控制器] --> |"控制"| ALU CU --> |"控制"| MEM CU --> |"控制"| IN CU --> |"控制"| OUT ``` #### 现代结构(以存储器为中心) ```mermaid 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 现代计算机组成 ```mermaid graph TB subgraph "现代计算机组成" subgraph "主机" CPU["CPU"] --> ALU["运算器"] CPU --> CU["控制器"] MM["主存储器
(主存)"] 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. 现代计算机为什么采用以存储器为中心的结构? --- ## 🔗 相关链接 - [[00_计算机组成原理学习指南]] - 返回主目录 - [[03_系统总线]] - 下一章 - [[06_运算方法]] - 数据表示相关内容 - [[08_CPU结构与功能]] - CPU详细设计 --- *本章难度:⭐⭐ 简单* *重要程度:⭐⭐⭐ 基础*