计算机组成原理
第一章:计算机系统概述
本章是基础,主要介绍计算机的基本构成、工作原理和性能指标。
-
计算机系统基本概念
-
计算机的软硬件组成:
硬件*:指计算机的实体部分,如CPU、存储器、输入输出设备等。
- 软件:分为系统软件(如操作系统、编译器)和应用软件。
* 计算机系统的层次结构:从下至上通常分为微程序机器层、传统机器层、操作系统层、汇编语言层、高级语言层和应用层。
* 冯·诺依曼计算机的特点:
计算机由运算器、控制器、存储器、输入设备和输出设备五大部件组成。*
- 指令和数据以同等地位存放在存储器内,并可按地址寻访。
- 指令和数据均用二进制表示。
- 指令由操作码和地址码组成。
- 指令在存储器内按顺序存放。
- 以运算器为中心。
- 计算机硬件的基本组成
-
CPU (中央处理器):由运算器和控制器组成,是计算机的核心。
* 存储器:分为主存储器(内存)和辅助存储器(外存)。
* 输入/输出 (I/O) 设备:用于计算机与外部世界进行信息交换。
* 计算机性能指标
-
字长:CPU一次能处理数据的二进制位数。
* 时钟周期/主频:CPU工作的基本时间单位/CPU内核工作的时钟频率。
* CPI (Cycles Per Instruction):执行一条指令所需的平均时钟周期数。
* MIPS (Million Instructions Per Second):每秒执行百万条指令数。
* FLOPS (Floating-point Operations Per Second):每秒执行的浮点运算次数。
* 吞吐量:单位时间内系统处理的请求数量。
第二章:数据的表示和运算
本章是核心基础,重点在于理解数据在计算机内部的二进制表示形式以及如何进行运算。
-
数制与编码
-
进位计数制:二进制、八进制、十进制、十六进制之间的相互转换。
* 真值和机器数:机器数是将符号“数字化”的数。
* BCD 码:用4位二进制表示一位十进制数。
* 字符与字符串:ASCII码、Unicode编码。
* 校验码:奇偶校验码、海明码、循环冗余码 (CRC)。
* 定点数的表示与运算
-
定点小数和定点整数。
* 原码、反码、补码、移码:重点掌握补码的表示和运算规则。
* 定点数的加减法:主要使用补码进行运算,需要注意溢出判断。
* 定点数的乘法:原码一位乘、补码一位乘 (Booth算法)。
* 定点数的除法:原码恢复余数法、原码加减交替法。
* 浮点数的表示与运算
-
浮点数的表示格式:阶码 (E)、尾数 (M) 和数符。
* IEEE 754 标准:单精度 (32位) 和双精度 (64位) 浮点数的格式。
* 浮点数的加减运算:对阶 -> 尾数求和 -> 规格化 -> 舍入 -> 溢出判断。
* 算术逻辑单元 (ALU)
-
串行加法器和并行加法器。
* ALU 的基本结构和功能。
第三章:存储系统
本章是重点和难点,需要理解存储器的层次化结构以及各层次的工作原理。
-
存储器概述
-
存储器分类:按存储介质、存取方式、在计算机中的作用等分类。
* 存储器的层次化结构:Cache - 主存 - 辅存。构建该结构的主要依据是局部性原理(时间局部性和空间局部性)。
* 主存储器
-
SRAM 和 DRAM:静态RAM和动态RAM的特点和区别。DRAM需要定期刷新。
* 只读存储器 (ROM):MROM、PROM、EPROM、EEPROM。
* 主存与CPU的连接:地址线的连接、数据线的连接、控制线的连接。
* 主存容量的扩展:位扩展、字扩展、字位同时扩展。
* 存储保护:确保多道程序环境下各个程序在自己的内存空间运行,互不干扰。
* 高速缓冲存储器 (Cache)
-
Cache 的工作原理:利用局部性原理,提高CPU访问存储器的速度。
* Cache 和主存的地址映射方式:
直接映射*:主存块只能存放到Cache的特定位置。
- 全相联映射:主存块可以存放到Cache的任意位置。
* 组相联映射:以上两种方式的折中。
* Cache 的替换算法:随机替换 (RAND)、先进先出 (FIFO)、近期最少使用 (LRU)。
* Cache 的写策略:
写回法 (Write-back)*:只在块被替换出Cache时才写回主存。
- 全写法/写直通法 (Write-through):CPU写Cache时也同时写主存。
* 虚拟存储器
-
基本概念:将主存和辅存结合,为用户提供一个比物理主存大得多的地址空间。
* 页式虚拟存储器:将地址空间划分为大小相等的页。
* 段式虚拟存储器:按程序的逻辑结构分段。
* 段页式虚拟存储器:结合了段式和页式的优点。
* 地址转换 (虚地址 -> 实地址):需要快表 (TLB) 和页表共同完成。
第四章:指令系统
本章是连接软件和硬件的桥梁,是CPU设计的重要依据。
-
指令格式
-
指令的基本格式:操作码 + 地址码。
* 定长操作码和扩展操作码。
* 指令字长、机器字长、存储字长的区别。 * 指令的寻址方式
-
立即寻址
- 直接寻址
- 间接寻址
- 寄存器寻址
- 寄存器间接寻址
- 相对寻址
- 基址寻址
- 变址寻址
-
CISC 和 RISC
-
复杂指令集计算机 (CISC):指令数量多,功能复杂,变长格式。
* 精简指令集计算机 (RISC):指令数量少,格式统一,多采用流水线技术。
第五章:中央处理器 (CPU)
本章是计算机组成原理的核心,需要深入理解CPU的内部结构和指令执行过程。
-
CPU 的功能和基本结构
-
功能:指令控制、操作控制、时间控制、数据加工。
* 结构:由运算器和控制器组成。
运算器*:ALU、累加器 (AC)、数据缓冲寄存器 (DR)、状态条件寄存器 (PSW)。
- 控制器:程序计数器 (PC)、指令寄存器 (IR)、指令译码器、时序部件。
* 指令执行过程
-
指令周期:CPU取出并执行一条指令所需的全部时间。
* 指令周期的流程:取指周期 -> 间址周期 -> 执行周期 -> 中断周期。
* 数据通路:CPU内部数据流动的路径。
* 数据通路的功能和基本结构
-
单总线结构:所有部件连接到一条总线上。
* 多总线结构:CPU内部专用总线结构。
* 控制器的功能和工作原理
-
硬布线控制器:采用组合逻辑电路实现,速度快,但设计复杂,不易修改。
* 微程序控制器:采用存储逻辑实现,将指令的控制信号序列编成微程序存放在控制存储器中。
微指令和微程序*
- 微指令的编码方式:水平型、垂直型、混合型。
* 微指令的地址形成方式。
* 指令流水线
-
流水线的概念:将指令执行过程分解为多个阶段,使得多个阶段可以重叠执行。
* 流水线性能指标:吞吐率、加速比。
* 影响流水线的因素:结构相关、数据相关、控制相关。
* 流水线的解决方法:暂停、数据旁路技术、分支预测等。
第六章:总线
本章介绍计算机各部件之间的连接方式。
-
总线的基本概念
-
总线的定义和分类:片内总线、系统总线、通信总线。
* 总线的组成及性能指标
-
组成:数据线、地址线、控制线。
* 性能指标:总线宽度、总线带宽、时钟同步/异步。
* 总线仲裁
-
集中仲裁方式:链式查询、计数器定时查询、独立请求。
* 分布式仲裁方式。
* 总线操作和定时
-
同步定时方式
- 异步定时方式
- 总线标准:ISA、EISA、PCI、PCI-Express、USB 等。
第七章:输入/输出 (I/O) 系统
本章介绍计算机如何与外部设备进行交互。
-
I/O 系统基本概念
-
I/O 接口 (I/O控制器) 的功能和结构。
-
I/O 端口及其编址方式:统一编址 (访存指令) 和独立编址 (专用I/O指令)。
* I/O 控制方式
-
程序查询方式:CPU主动查询I/O设备状态,效率低。
* 程序中断方式:I/O设备在准备好后向CPU发出中断请求。
中断处理过程*:中断请求 -> 中断判优 -> 中断响应 -> 中断服务 -> 中断返回。
* DMA (直接存储器存取) 方式:I/O设备与主存之间的数据交换不经过CPU。
DMA 控制器的组成和工作过程*。
* 通道方式:进一步解放CPU,由通道来管理I/O操作。