# 1.2 计算机系统层次结构 ## 一、计算机系统的组成 ### 1.1 计算机系统的层次 **计算机系统 = 硬件系统 + 软件系统** ``` +------------------+ | 应用软件 | 用户直接使用 +------------------+ | 系统软件 | 操作系统、编译器 +------------------+ | 指令集体系结构 | 机器语言 +------------------+ | 微体系结构 | 数据通路、控制器 +------------------+ | 数字逻辑 | 门电路、触发器 +------------------+ | 器件层 | 晶体管、集成电路 +------------------+ ``` ### 1.2 硬件系统 **硬件(Hardware)**: - 计算机的物理设备 - 看得见摸得着的部分 **硬件组成**: - **运算器**:执行算术和逻辑运算 - **控制器**:控制计算机各部件协调工作 - **存储器**:存储程序和数据 - **输入设备**:将信息输入计算机 - **输出设备**:将结果输出 **冯·诺依曼结构**: - 运算器 + 控制器 = CPU - CPU + 存储器 + 输入/输出设备 = 计算机硬件 ### 1.3 软件系统 **软件(Software)**: - 计算机的程序和数据 - 看不见摸不着,但可执行 **软件分类**: - **系统软件**: - 操作系统 - 编译程序 - 数据库管理系统 - 设备驱动程序 - **应用软件**: - 办公软件 - 浏览器 - 游戏 - 各种工具软件 --- ## 二、冯·诺依曼计算机 ### 2.1 冯·诺依曼结构的特点 **存储程序概念**: - 程序和数据以二进制形式存储在存储器中 - 计算机自动从存储器中取出指令并执行 **五大部件**: 1. **运算器(ALU)**:执行算术和逻辑运算 2. **控制器(CU)**:控制指令的执行 3. **存储器(Memory)**:存储程序和数据 4. **输入设备(Input)**:输入程序和数据 5. **输出设备(Output)**:输出结果 **特点**: - 指令和数据同等对待 - 指令按顺序执行 - 以运算器为中心(早期) ### 2.2 冯·诺依曼结构的组成 ``` +-----------+ | 输入设备 | +-----+-----+ | v +-----+ +---+---+ +-----+ | 存储器 |<--| 运算器 |<-->| 控制器 | +-----+ +---+---+ +-----+ | v +-----+-----+ | 输出设备 | +-----------+ ``` ### 2.3 现代计算机结构 **以存储器为中心**: ``` +-----------+ | 输入设备 | +-----+-----+ | v +-----+ +---+---+ +-----+ | 控制器 |-->| 存储器 |<--| 运算器 | +-----+ +---+---+ +-----+ ^ | +-----+-----+ | 输出设备 | +-----------+ ``` **改进**: - 以存储器为中心 - 减轻运算器负担 - 提高系统效率 --- ## 三、计算机硬件的基本组成 ### 3.1 中央处理器(CPU) **CPU = 运算器 + 控制器** **功能**: - 执行指令 - 控制数据流动 - 协调各部件工作 **组成**: - **运算器(ALU)**: - 算术逻辑单元 - 执行算术运算(加、减、乘、除) - 执行逻辑运算(与、或、非、异或) - **控制器(CU)**: - 程序计数器(PC) - 指令寄存器(IR) - 指令译码器 - 时序电路 - 控制信号产生电路 - **寄存器组**: - 通用寄存器 - 专用寄存器 - 暂存数据 ### 3.2 存储器 **功能**: - 存储程序和数据 - 按地址访问 **分类**: - **主存储器(内存)**: - RAM(随机存取存储器) - ROM(只读存储器) - 速度快、容量小、易失性 - **辅助存储器(外存)**: - 硬盘、SSD - 光盘 - 速度慢、容量大、非易失性 - **高速缓冲存储器(Cache)**: - 位于CPU和主存之间 - 缓解速度差异 ### 3.3 输入/输出设备 **输入设备**: - 键盘 - 鼠标 - 扫描仪 - 摄像头 - 麦克风 **输出设备**: - 显示器 - 打印机 - 音箱 **输入/输出接口**: - I/O控制器 - 数据缓冲 - 格式转换 ### 3.4 总线 **功能**: - 连接各部件 - 传输数据、地址、控制信号 **分类**: - **数据总线**:传输数据 - **地址总线**:传输地址 - **控制总线**:传输控制信号 --- ## 四、计算机软件系统 ### 4.1 系统软件 **操作系统(OS)**: - 管理计算机硬件和软件资源 - 提供用户接口 - 如:Windows、Linux、macOS **语言处理程序**: - **编译程序**:将高级语言编译成机器语言 - **解释程序**:逐行解释执行 - **汇编程序**:将汇编语言翻译成机器语言 **数据库管理系统(DBMS)**: - 管理数据库 - 如:MySQL、Oracle、SQL Server **设备驱动程序**: - 控制硬件设备 - 提供统一接口 ### 4.2 应用软件 **办公软件**: - Word、Excel、PowerPoint **浏览器**: - Chrome、Firefox、Edge **多媒体软件**: - 播放器、编辑器 **游戏软件** **各种工具软件** --- ## 五、计算机的工作过程 ### 5.1 基本工作过程 **程序执行的基本步骤**: 1. **取指令(Fetch)**: - 根据PC中的地址,从存储器取出指令 - PC自动增量,指向下一条指令 2. **译码(Decode)**: - 指令译码器对指令进行译码 - 确定指令的操作类型和操作数 3. **执行(Execute)**: - 根据译码结果,执行相应操作 - 可能是运算、数据传输、控制转移等 4. **访存(Memory Access)**: - 如果需要,访问存储器读写数据 5. **写回(Write Back)**: - 将运算结果写回寄存器或存储器 ### 5.2 指令周期 **指令周期**: - 取出并执行一条指令所需的全部时间 **机器周期(CPU周期)**: - 完成一个基本操作所需的时间 - 通常等于一个时钟周期或多个时钟周期 **时钟周期**: - CPU操作的最基本时间单位 - 由时钟频率决定 **关系**: ``` 指令周期 = n × 机器周期 机器周期 = m × 时钟周期 ``` --- ## 六、计算机系统的层次结构 ### 6.1 层次结构的概念 **层次结构**: - 将计算机系统划分为多个层次 - 每一层建立在下一层的基础上 - 每一层为上一层提供服务 - 隐藏下层细节 ### 6.2 计算机系统的层次 **第5级:高级语言层** - 使用高级语言编程 - 如:C、C++、Java、Python - 可移植性好 **第4级:汇编语言层** - 使用汇编语言编程 - 与机器语言一一对应 - 可移植性差 **第3级:操作系统层** - 提供系统调用接口 - 管理资源 - 提供虚拟机器 **第2级:指令集体系结构层(ISA)** - 机器语言 - 软硬件接口 - 定义指令格式和功能 **第1级:微体系结构层** - 数据通路 - 控制器 - 实现ISA **第0级:数字逻辑层** - 门电路 - 触发器 - 寄存器 ### 6.3 层次结构的意义 **对程序员**: - 提供抽象的编程环境 - 隐藏底层细节 **对硬件设计者**: - 明确软硬件接口 - 便于模块化设计 **对系统设计者**: - 分层设计,降低复杂度 - 便于维护和升级 --- ## 七、考研重点 1. **计算机系统的组成**: - 硬件系统 - 软件系统 2. **冯·诺依曼计算机**: - 存储程序概念 - 五大部件 - 特点 - 现代计算机结构的改进 3. **计算机硬件的基本组成**: - CPU(运算器、控制器、寄存器) - 存储器 - 输入/输出设备 - 总线 4. **计算机软件系统**: - 系统软件 - 应用软件 5. **计算机的工作过程**: - 取指令、译码、执行、访存、写回 - 指令周期、机器周期、时钟周期 6. **计算机系统的层次结构**: - 层次结构的概念 - 各层的特点 - 层次结构的意义 --- *下一节:1.3 计算机性能指标*