4313 字
22 分钟
计算机组成原理
复习大纲2
一、计算机系统基础
1. 计算机系统的组成
计算机系统由硬件和软件两部分组成。其中,硬件部分包括运算器、控制器、存储器、输入设备和输出设备5大功能部件,它们通过总线相互连接成一个完整的硬件系统;软件部分包括系统软件和应用软件。
2. 冯·诺依曼机的基本特点
硬件结构特点
- 五大部件组成:由运算器、控制器、存储器、输入设备、输出设备五大部件构成,各部件通过总线连接。
- 以存储器为中心:现代冯・诺依曼机数据传输以存储器为中心,输入/输出设备可直接与存储器交换数据。
冯・诺依曼机工作方式的基本特点
- 存储程序原理
- 指令和数据以二进制形式存于存储器,可按地址访问。
- 指令由操作码和地址码组成,操作码指定操作类型,地址码指定数据位置。
- 顺序执行机制
- 程序按指令地址顺序执行,通过程序计数器(PC)自动指向下一条指令。
- 遇转移指令时,PC值被修改以改变执行顺序。
- 二进制统一表示:指令和数据均用二进制编码,操作码和地址码的位数决定指令功能和寻址范围。
3. 计算机语言
高级语言、汇编语言和机器语言的差别及联系
本质特征
- 机器语言:由二进制代码(0和1)构成的指令集合,是计算机硬件唯一能直接识别和执行的语言。
- 汇编语言:用助记符(如ADD表示加法、MOV表示数据传送)替代机器语言的二进制码,与机器指令一一对应。
- 高级语言:采用接近自然语言(如英语)和数学表达式的语法,不依赖具体硬件架构。
核心差别解析
- 可读性与编程效率
- 机器语言完全由二进制组成,可读性极差,编写复杂程序时极易出错,开发效率最低。
- 汇编语言通过助记符提升了可读性,但仍需关注CPU寄存器、内存地址等底层细节,适合专业程序员编写底层代码。
- 高级语言使用类自然语言的语句,无需了解硬件细节,代码量少且易维护,开发效率显著高于前两者。
- 执行方式与效率
- 机器语言直接被硬件执行,运行速度最快,但编写成本极高。
- 汇编语言经汇编程序转换为机器码后执行,效率接近机器语言,常用于对性能要求苛刻的场景。
- 高级语言有两种执行方式:编译型语言(如C++)经编译器生成机器码后执行,效率接近汇编语言;解释型语言(如Python)逐行解释执行,效率相对较低,但灵活性更强。
- 硬件依赖性
- 机器语言和汇编语言与特定CPU架构深度绑定,移植性极差。
- 高级语言通过编译器适配不同硬件平台,硬件依赖性弱,移植性强。
三者的内在联系
- 目标一致性:三种语言均用于编写计算机程序,最终目的是让计算机执行特定任务。
- 层级转换关系:机器语言是基础,汇编语言和高级语言必须转换为机器语言才能执行:
- 汇编语言→汇编程序→机器语言;
- 高级语言→编译程序或解释程序→机器语言。
- 抽象层级的递进:机器语言(0级)→汇编语言(1级抽象)→高级语言(2级以上抽象),抽象程度越高,越远离硬件细节,越接近人类思维。
- 效率与抽象的平衡:机器语言和汇编语言牺牲可读性换取执行效率,适用于对性能要求极高的场景;高级语言牺牲部分效率换取开发效率,适用于快速开发应用程序。
二、数据表示与编码
- 数的表示方法:原码、补码、反码;不同进制的转换,2,8,16进制与十进制的转换;浮点数的组成(阶码和尾数)。
三、计算机硬件部件
1. 运算器
运算器的核心部分是算术逻辑运算单元(ALU),ALU的核心是加法器。
2. 存储器
内存储器与外存储器的特点比较
内存储器(主存)的核心特点
- 速度与访问方式:直接与CPU交换数据,存取速度极快(纳秒级)。
- 存储介质:由半导体存储器(RAM和ROM)组成,其中RAM(如DRAM)为易失性存储器,断电后数据丢失;ROM为非易失性,存储固件(如BIOS)。
- 容量与成本:容量相对较小(现代计算机通常为8GB-64GB),单位存储成本高。
- 作用:存放正在运行的程序和数据,是CPU运算的直接数据来源。
外存储器(辅存)的核心特点
- 速度与访问方式:存取速度较慢(毫秒级),如机械硬盘(HDD)的随机访问时间约为5-10ms,需通过I/O接口与CPU间接交互。
- 存储介质:非易失性存储介质,包括磁性存储(硬盘、磁带)、光存储(光盘)、固态存储(SSD)等,数据可永久保存。
- 容量与成本:容量极大(从TB到PB级),单位存储成本低。
- 作用:存储大量暂时不参与运算的数据和程序,作为主存的后备存储。
存储器系统的组成
存储器系统由主存储器和外存储器组成。
Cache(高速缓存)的作用
高速缓存(Cache)的核心作用是加速数据访问,具体体现为:
- 弥补CPU与主存的速度鸿沟:CPU运算速度远高于主存(DRAM)读写速度,Cache作为高速缓冲区(SRAM),存储CPU近期可能访问的指令和数据,避免CPU因等待主存数据而空闲。
- 利用局部性原理提升效率:
- 时间局部性:频繁访问的数据短期内可能再次使用(如循环变量)。
- 空间局部性:CPU访问的数据邻近数据很可能被后续使用(如数组遍历)。Cache通过预取和保留这些”热点数据”,减少访问主存的次数。
- 降低系统延迟:直接由Cache响应CPU请求(命中时),访问延迟降至纳秒级,较主存快10~100倍。
虚拟存储器的作用
- 扩展逻辑地址空间:虚拟存储器通过主存与外存的动态映射,为程序提供远超物理主存的逻辑地址空间。
- 解决内存容量不足问题:当程序所需内存超过物理主存时,虚拟存储器将不常用的数据块(页面)置换到外存(硬盘),仅保留活跃数据在主存中,实现“以时间换空间”。典型技术如分页机制:将主存和外存划分为固定大小的页(如4KB),通过页表映射逻辑地址与物理地址,支持数据的动态加载和置换。
- 内存保护与多任务隔离:虚拟存储器为每个进程分配独立的逻辑地址空间,通过页表权限控制防止进程间数据非法访问,提升系统安全性和稳定性。
3. 总线
总线的分类
总线分为数据总线、地址总线、控制总线。
地址线的功能
地址线是计算机总线中用于传输存储单元或I/O设备地址的物理线路,核心功能如下:
- 存储单元寻址:CPU通过地址线发送二进制地址信号,定位主存中具体存储单元,实现数据读写。
- I/O端口寻址:指定外设端口地址(如键盘、硬盘控制器),实现CPU与外设的通信。
- 决定寻址空间:地址线位数n决定最大寻址空间为2ⁿ个存储单元(如32位地址线可寻址4GB)。
- 与总线协同:配合数据总线(传输数据)和控制总线(指示操作类型),完成“寻址-操作”流程。
四、指令系统
- 指令的组成:指令由操作码和地址码组成。
- 指令的寻址方式:不同寻址方式的特点和应用(如寄存器间接寻址、隐含寻址等)。
- 指令操作码:指令操作码字段表征的指令属性(操作类型),操作码的位数决定了指令条数;扩展操作码技术中,不同地址数的指令可具有不同长度的操作码。
- 指令执行过程:通常为取指、译码、执行和写回。
五、CPU与中断系统
1. CPU的组成部分与功能
CPU的组成部分
- 运算器(ALU):执行算术运算(+、-、×、÷)和逻辑运算(与、或、非、移位)。
- 控制器(CU):控制指令执行流程:取指令→译码→执行→写回。
- 寄存器组:
- 通用寄存器:暂存运算数据(如累加器)。
- 程序计数器(PC):存放下一条指令地址。
- 状态寄存器(FLAGS):记录运算状态(溢出/零标志等)。
- 高速缓存(Cache):存储高频访问的指令和数据,减少访问主存延迟。
核心功能
- 指令执行:按取指→译码→执行→写回循环处理指令。
- 数据运算:ALU执行计算与逻辑判断(如条件跳转)。
- 资源调度:控制器协调内存、外设等硬件操作。
- 中断响应:暂停当前任务处理紧急事件(如硬件请求)。
CPU响应中断的时间点
CPU响应中断的严格时间点是:当前指令执行结束后,下一条指令开始前。
2. 中断系统
中断屏蔽技术的作用
定义:通过硬件或软件设置屏蔽标志,选择性地阻止某些中断请求被CPU响应的技术。
核心作用:
- 优先级控制:当多个中断源同时请求时,屏蔽低优先级中断,确保高优先级中断优先处理;CPU处理关键任务时,可屏蔽键盘、鼠标等低优先级中断,避免任务被打断。
- 中断嵌套管理:在处理某中断时,通过屏蔽同级或更低优先级中断,防止中断嵌套过深导致系统混乱;处理磁盘中断时,屏蔽打印机中断,确保磁盘数据传输不被干扰。
- 灵活配置中断响应:通过中断屏蔽寄存器(IMR)的二进制位设置,动态启用或禁用特定中断源;操作系统可通过软件设置屏蔽位,临时禁止非必要外设的中断请求。
中断向量地址的定义
本质:指向中断服务程序入口地址的主存地址,即存储中断向量(服务程序入口地址)的地址。
六、存储器系统
- 存储器的分类与特点:易失性存储器与非易失性存储器的区别(如RAM与ROM);主存与Cache的交互方式(如直接映射、组相联映射等);多体交叉存储器的作用。
- 存储器编址方式:按字编址与按字节编址的区别,对应寻址空间如何计算。
| 维度 | 按字节编址 | 按字编址 |
|---|---|---|
| 基本单位 | 以字节(Byte,8bit)为最小编址单位 | 以字(Word,长度由机器字长决定)为最小编址单位 |
| 地址含义 | 每个地址对应1字节(8bit)存储单元 | 每个地址对应1个字(n bit)存储单元,n=机器字长 |
| 典型场景 | 通用计算机(如x86、ARM)、嵌入式系统 | 早期计算机、特定架构(如部分DSP) |
| 地址空间利用率 | 高(灵活访问任意字节) | 低(可能产生地址对齐浪费) |
(1)按字节编址
公式:寻址空间 = (2地址线位数 × 1 Byte)
示例:若地址线为32位,则寻址空间为232 Byte = 4 GB。
(2)按字编址
公式:寻址空间 = (2地址线位数 × 字长(Byte)),其中,字长 = 机器字长(bit) / 8
示例:
a. 若机器字长为32bit(4Byte),地址线为32位,则:寻址空间 = 232 × 4 Byte = 16 GB。
b. 若机器字长为64bit(8Byte),地址线为20位,则:寻址空间 = 220 × 8 Byte = 8 MB。
七、DMA与总线
1. DMA访问主存的方式
停止CPU访问主存
- 概念:DMA控制器接管总线,完全禁止CPU访问主存,直至传输完成。
- 特点:传输效率高,但CPU完全停顿,适合高速设备成块数据传输(如磁盘读写)。
周期挪用
- 概念:DMA请求时挪用CPU一个主存周期传输数据,与CPU分时共享总线。
- 特点:CPU停顿少,适合低速设备零星数据传输(如打印机字节传输),控制较复杂。
DMA与CPU交替访问
- 概念:CPU周期分为两段,一段由CPU使用,一段由DMA使用,无需总线切换。
- 特点:CPU无停顿,总线利用率高,硬件要求高,适用于高速同步传输(如GPU数据交换)。
DMA方式中,数据传输由DMA控制器直接控制。
2. 总线的功能与分类
数据总线(Data Bus)
- 功能:双向传输数据,传输位数与机器字长、存储字长一致(如32位总线一次传4字节)。
- 特点:位数决定CPU与设备间一次传输的数据量。
地址总线(Address Bus)
- 功能:单向传输主存或I/O设备的地址,位数决定寻址空间大小。
- 特点:如32位地址总线可寻址4GB空间,16位可寻址64KB。
控制总线(Control Bus)
- 功能:传输控制信号(如读/写命令、中断请求)和状态信号(如设备就绪)。
- 特点:每根线传输单向信号,总线上控制信号组合决定操作类型。
3. 总线指标
- 总线宽度:数据总线的位数,如32位、64位,决定单次传输数据量。
- 总线时钟频率:总线工作的时钟频率(单位MHz),如100MHz总线每秒振荡1亿次。
- 总线带宽:单位时间内总线传输的数据量,公式:带宽 = (总线宽度(bit) × 时钟频率(MHz)) / 8 (MB/s)
例:64位总线、100MHz频率,带宽为(64 × 100) / 8 = 800 MB/s。 - 总线传输周期:完成一次总线操作的时间(如读/写周期),与时钟周期相关(如100MHz总线时钟周期为10ns)。
八、指令执行与流水线
- 指令执行过程:取指、译码、执行和写回四个阶段。
- 指令流水线技术:指令流水线中各段执行时间的均衡性(是否必须完全相同)。
九、I/O系统
1. I/O接口
概念
I/O接口(Input/Output Interface)是CPU与外部设备之间的逻辑电路,是CPU与外设进行信息交换的中转站。
作用
- 速度匹配:协调CPU(高速)与外设(低速)的工作节奏,如通过缓冲区暂存数据。
- 信号转换:转换电平、格式(如并行→串行)或逻辑(如TTL→RS-232)。
- 设备控制:接收CPU命令并控制外设工作(如启动/停止硬盘读写)。
- 状态反馈:向CPU报告外设状态(如“就绪”“忙”“错误”)。
分类
- 按数据传输方式:
- 并行接口:多位数据同时传输(如打印机接口LPT),速度快,适合短距离。
- 串行接口:逐位传输数据(如USB、RS-232),速度较慢,适合长距离。
- 按功能灵活性:
- 可编程接口:通过软件配置功能(如8255A芯片)。
- 不可编程接口:功能固定(如简单的开关接口)。
- 按主机控制方式:
- 程序查询接口:CPU主动查询外设状态(适用于低速设备)。
- 中断接口:外设就绪时向CPU发中断请求(如键盘中断)。
- DMA接口:支持主存与外设直接数据传输(如磁盘DMA)。
I/O接口与I/O端口的区别
| 维度 | I/O接口 | I/O端口(Port) |
|---|---|---|
| 定义 | 连接CPU与外设的逻辑电路(硬件组件) | 接口电路中可被CPU访问的寄存器 |
| 组成 | 含控制逻辑、状态寄存器、数据缓冲器等 | 是接口的一部分,如数据端口、状态端口 |
| 访问方式 | 不直接被CPU访问,通过端口间接交互 | 被CPU直接寻址(如IN/OUT指令访问) |
| 典型示例 | 主板上的USB接口电路 | USB接口中的数据寄存器(端口地址0x3F8) |
十、综合应用能力
- Cache-主存系统性能分析:Cache命中率、平均访问时间和效率的计算。
- Cache地址格式设计:直接映射、组相联映射和全相联映射方式下的地址格式设计。