考查目标
- 理解单处理器计算机系统中各部件的内部工作原理、组成结构以及相互连接方式,具有完整的计算机系统的整机概念。
- 理解计算机系统层次化结构概念,熟悉硬件与软件之间的界面,掌握指令集体系结构的基本知识和基本实现方法。
- 能够运用计算机组成的基本原理和基本方法,对有关计算机硬件系统中的理论和实际问题进行计算、分析,并能对一些基本部件进行简单设计。
第一章 计算机系统概述
计算机发展历程
第一台电子计算机 ENIAC(Electronic Numerical Integrator And Computer)诞生于 1946 年的美国宾夕法尼亚大学。ENIAC 用了 18000 电子管、1500 继电器、重 30 吨、占地 170m²、耗电 140kw、每秒计算 5000 次加法。冯·诺依曼(VanNeumann)首次提出存储程序的概念,将数据和程序一起放在存储器中,保证计算机自动、连续地执行程序。50 多年来,虽然对冯·诺依曼机进行了很多改革,但结构变化不大,仍然称为冯·诺依曼机。
冯·诺依曼计算机的特点是:
- 计算机由运算器、控制器、存储器、输入设备、输出设备五大部件组成;
- 指令和数据以同等地位存放于存储器内,并可以按地址访问;
- 指令和数据均用二进制表示;
- 指令由操作码、地址码两大部分组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置;
- 指令在存储器中顺序存放,通常自动顺序取出执行;
- 机器以运算器为中心(原始冯·诺依曼机)。
一般把计算机的发展分为四个阶段:
- 第一代(1946 - 50 年代后期):电子管计算机时代;
- 第二代(50 年代中期 - 60 年代后期):晶体管计算机时代;
- 第三代(60 年代中期 - 70 年代前期):集成电路计算机时代;
- 第四代(70 年代初 - 至今):大规模集成电路计算机时代。
计算机系统层次结构
计算机硬件的基本组成
计算机硬件主要指计算机的实体部分,通常有运算器、控制器、存储器、输入和输出五部分。CPU 是指将运算器和控制器集成到一个电路芯片中。
计算机软件的分类
计算机软件按照面向对象的不同可分两类:
- 系统软件:用于管理整个计算机系统,合理分配系统资源,确保计算机正常高效地运行,这类软件面向系统。
- 应用软件:是面向用户根据用户的特殊要求编制的应用程序,这类软件通常实现用户的某类要求。
计算机的工作过程
- 计算机的工作过程就是执行指令的过程:指令由操作码和操作数组成,操作码指明本指令完成的操作,地址码指明本指令的操作对象。
- 指令的存储:指令按照存储器的地址顺序连续地存放在存储器中。
- 指令的读取:为了纪录程序的执行过程,需要一个记录读取指令地址的寄存器,称为指令地址寄存器(程序计数器)。每次读取一条指令之后,程序计数器加一。
- 执行指令的过程:在控制器的控制下,完成以下三个阶段任务:
- 取指令阶段:按照程序计数器取出指令,程序计数器加一
- 指令译码阶段:分析操作码,决定操作内容,并准备操作数
- 指令执行阶段:执行操作码所指定内容
计算机性能指标
吞吐量、响应时间
- 吞吐量:单位时间内的数据输出数量。
- 响应时间:从事件开始到事件结束的时间,也称执行时间。
CPU 时钟周期、主频、CPI、CPU 执行时间
- CPU 时钟周期:机器主频的倒数,Tc
- 主频:CPU 工作主时钟的频率,机器主频 Rc
- CPI:执行一条指令所需要的平均时钟周期
- CPU 执行时间:TCPU = In × CPI × TC
MIPS、MFLOPS
- MIPS(Million Instructions Per Second):MIPS = In/(Te × 10⁶) = Rc/(CPI × 10⁶)。只适合评价标量机,不适合评价向量机。
- MFLOPS(Million Floating Point Operations Per Second):MFLOPS = Ifn/(Te × 10⁶)。测量单位比较适合于衡量向量机的性能。
第二章 总线
总线概述
总线的基本概念
总线是连接各个部件的信息传输线,是各个部件共享的传输介质,总线上信息的传送分为串行和并行传输。
总线的分类
- 片内总线:芯片内部的总线
- 系统总线:计算机各部件之间的信息传输线
- 数据总线:双向,与机器字长、存储字长有关
- 地址总线:单向,与存储地址、I/O 地址有关
- 控制总线:部分出部分入,控制器控制所有部件
- 通信总线:用于计算机系统之间或计算机系统与其他系统之间的通信
- 传输方式:串行通信总线和并行通信总线
总线的组成及性能指标
- 总线的结构分为单总线结构和多总线结构。
- 性能指标:总线宽度、总线带宽、时钟同步/异步、总线复用、信号线数、总线控制方式、其他(负载能力、电源电压、总线宽度能否扩展等)。
总线仲裁
总线仲裁逻辑可分为集中式和分布式两种。
集中仲裁方式
- 链式查询:BG 信号沿菊花链串行传送,到达最近的发出请求的设备后不再下传。对电路故障最敏感。
- 计数器定时查询:计数器计数值通过地址线发往各设备,匹配的设备对 BS 线置”1”。
- 独立请求方式:每个设备有单独的 BRi 和 BGi 信号,由排队电路决定优先级。响应速度最快。
分布仲裁方式
不需要中央仲裁器,各个主设备功能模块都有自己的仲裁号和仲裁电路。将唯一仲裁号发送到共享总线上,获胜的仲裁号保留在总线上。
总线操作和定时
操作类型
- 读和写
- 块传送
- 写后读或读后写
- 广播和广集
定时协议
- 同步定时方式:所有模块由统一时钟脉冲控制,动作在时钟周期开始产生。
- 异步定时方式:应答方式或互锁机制,操作由主设备或从设备的特定信号确定。
总线标准
系统总线
- ISA:工业标准体系,最早出现的微型计算机总线标准
- EISA:扩展工业标准体系,完全兼容 ISA
- VESA:视频电子标准协会,已淘汰
- PCI:外围设备互联,32 位或 64 位高性能局部总线
- AGP:专用于连接主存和图形存储器的视频接口标准
设备总线
- IDE:集成驱动电子设备
- SCSI:小型计算机系统接口
- RS-232:串行通信总线标准
- USB:通用串行总线
第三章 存储器
存储器的分类
- 按存储介质分类:半导体存储器、磁表面存储器、磁芯存储器、光盘存储器
- 按存取方式分类:随机存储器、只读存储器、串行访问存储器
- 按在计算机中的作用分类:主存、辅存、缓存
存储器的层次化结构
存储器有 3 个重要指标:速度、容量和每位价格。速度越快,位价越高;容量越大,位价越低;容量大,速度就越低。
存储系统层次结构主要体现在缓存-主存-辅存两个存储层次上。
半导体随机存取存储器
SRAM 存储器的工作原理
- 静态存储单元由四到六个晶体管组成(典型为六管)
- 信息为非破坏性读出,不需要重写或刷新
- 结构简单、可靠性高、速度快,但占用元件多、功耗大、集成度不高
DRAM 存储器的工作原理
- 常见的有三管式和单管式两种
- 靠电容存储电荷的原理来寄存信息
- 电容电荷一般只能维持 1-2ms,必须在 2ms 内刷新
- 与 SRAM 相比,集成度更高、功耗更低
只读存储器
- ROM(掩模式 ROM):制造商写入内容,只能读不能写入
- PROM(可编程 ROM):用户一次性写入,熔丝通断表示信息
- EPROM(可擦除 PROM):浮动栅 MOS 电路保存信息,紫外线擦除
- E²PROM(电擦除 PROM):电擦除,重复改写次数有限(约 10 万次)
- 闪速存储器(Flash Memory)
存储器与 CPU 的连接
包括存储容量的扩展(位扩展、字扩展、字位扩展)和存储器与 CPU 的连接。
习题
用 16K × 16 位的 DRAM 芯片构成 64K × 32 位存储器,需要 8 个芯片。存储器可分为 4 个模块,每个模块 16K × 32 位,各模块通过 A15、A14 进行 2:4 译码器选择。
第四章 I/O 系统
I/O 系统基本概念
输入输出系统的发展概况:
- 早期:分散连接,CPU 和 I/O 设备串行工作,程序查询方式
- 接口模块和 DMA 阶段:总线连接,CPU 和 I/O 设备并行工作,中断方式和 DMA 方式
- 具有通道结构的阶段
- 具有 I/O 处理机的阶段
外部设备
输入设备
- 键盘:目前应用最普遍的输入设备,标准 101 键
- 鼠标:机械式(金属球 + 电位器)、光电式(光电转换器)
输出设备
显示器:
- 按器件分:CRT、LED、等离子体
- 按显示内容分:字符、图形、图像
- 字符显示:字符发生器
- 图形显示:主观图像
- 图像显示:客观图像,分辨率可达 1024 × 1024 像素
打印机:
- 按印字原理分:打击式(点阵式)、非打击式(激光、静电、喷墨)
- 激光打印机:充电→曝光→显影→转印→分离→定影→放电清洁
- 喷墨打印机:连续式和随机式
外存储器
硬盘存储器:
- 性能指标:存储密度(道密度、位密度)、存储容量(C = n × k × s)、寻址时间(寻道时间 + 等待时间)、数据传输率(Dr = Db × V)、误码率
- 类型:固定磁头/移动磁头、可换盘/固定盘
- 磁道记录格式:柱面、扇区
磁盘阵列(RAID):
- RAID-0:无冗余无校验的数据分块
- RAID-1:磁盘镜像阵列
- RAID-2:海明纠错码
- RAID-3:奇偶校验冗余,数据位交叉
- RAID-4:独立传送,数据块交叉
- RAID-5:独立传送,数据块交叉,分布式冗余校验
光盘存储器:
- 利用激光束烧蚀凹坑存储信息
- 种类:只读光盘、写一次/多次读光盘、可重写光盘
- CD-ROM 扇区结构:同步区(12 字节)+ ID 区(4 字节)+ 数据区(2048 字节)+ 校验区(288 字节)= 2352 字节
I/O 接口
I/O 接口的功能
- 实现设备的选择
- 实现数据缓冲达到速度匹配
- 实现数据串并格式转换
- 实现电平转换
- 传送控制命令
- 反映设备状态(“忙”、“就绪”、“中断请求”)
I/O 端口及其编址
- 专门的 I/O 指令:如 IN/OUT 指令,由 M/IO# 信号区分
- 存储器映射 I/O:从主存地址空间中分出一部分地址作为 I/O 设备端口
I/O 方式
程序查询方式
CPU 不断查询 I/O 设备是否准备好,CPU 利用率不高。
程序中断方式
中断响应过程:
- 中断源提出请求
- 中断判优:查询法(软件)或串行排队链法(硬件)
中断处理过程:
- 关中断
- 保存断点和现场
- 判别中断源,转向中断服务程序
- 开中断(允许中断嵌套)
- 执行中断服务程序
- 退出中断(关中断→恢复现场→恢复断点→开中断→返回)
多重中断与中断屏蔽:
- 多重中断:中断嵌套
- 中断屏蔽:每个中断源设置中断屏蔽触发器,组成中断屏蔽寄存器
DMA 方式
DMA 是 I/O 设备与主存储器之间由硬件组成的直接数据通路。
DMA 控制器组成:
- 主存地址寄存器(MAR)
- 外围设备地址寄存器(ADR)
- 字数计数器(WC)
- 控制与状态寄存器(CSR)
- 数据缓冲寄存器(DBR)
- 中断机构
DMA 传送过程:
- DMA 预处理(CPU 执行 I/O 指令初始化)
- DMA 控制数据交换
- CPU 中断后处理
DMA 工作方式:
- CPU 暂停方式
- CPU 周期窃取方式
- CPU 和 DMA 交替工作方式
通道方式
I/O 通道是代替 CPU 管理控制外设的独立部件,能执行有限 I/O 指令集合。
通道种类:
- 字节多路通道:分时服务于多台低速设备
- 选择通道:每次选择一台高速设备,独占通道
- 数组多路通道:结合字节多路和选择通道的特点
第五章 数据的表示和运算
数制与编码
进位计数制及其相互转换
- 基数:进位计数制中所拥有数字的个数
- 权:每位数字的值 = 数字 × 所在位置的常数
转换方法:
- 二/八/十六进制 → 十进制:按权展开
- 十进制 → 二进制:整数除 2 取余,小数乘 2 取整
- 二进制 ↔ 八/十六进制:3 位/4 位一组转换
真值和机器数
- 真值:正负号 + 绝对值
- 机器数:符号数字化(0 正 1 负)
BCD 码
4 位二进制码表示 1 位十进制数。加法修正规则:和 ≤ 9 不需修正;和 ≥ 10 或有进位需加 6 修正。
字符与字符串
- ASCII 码:7 位二进制,128 个字符
- EBCDIC 码:8 位二进制
- 字符串存放:向量存储法、串表存储法
校验码
- 奇偶校验码:奇校验/偶校验,码距为 2
- 海明校验码:加入校验位,满足 2ʳ ≥ k + r + 1
- CRC 校验码:M(x)·xʳ 除以生成多项式 G(x) 的余数作为校验码
定点数的表示和运算
定点数的表示
- 无符号数:字长全部位数表示数值,范围 0 ~ 2ⁿ⁺¹ - 1
- 带符号数:
- 原码:最高位为符号位(0 正 1 负),数值以绝对值形式给出
- 补码:正数同原码,负数为对应正数取反加 1
- 反码:正数同原码,负数为对应正数取反
定点数的运算
- 位移运算:左移绝对值扩大,右移绝对值缩小。算术移位符号位不变。
- 原码加减:符号位和数值位分别处理,较复杂
- 补码加减:连同符号位一起相加,进位自然丢掉
- 加法:[A]补 + [B]补 = [A+B]补
- 减法:[A]补 - [B]补 = [A]补 + [-B]补
- 溢出判别:
- 同号数相加结果符号与加数不同
- 最高位进位 C ≠ 符号位进位 Cf
- 双符号位 fs2 ⊕ fs1 = 1
浮点数的表示和运算
浮点数的表示
N = M × Rᴱ,R 为基数(一般 2、8 或 16)
IEEE 754 标准:
- 单精度(32 位):1 位符号 + 8 位阶码 + 23 位尾数(实际 24 位,含隐含位 1)
- 双精度(64 位):1 位符号 + 1 位阶码 + 52 位尾数(实际 53 位,含隐含位 1)
- 阶码采用移码,偏移量 127
- 规格化数:1.M × 2^(E-127)
- 非规格化数:0.M × 2^(-126)
浮点数的加/减运算
- 对阶:小阶向大阶看齐
- 尾数加减
- 规格化
- 舍入:0 舍 1 入法
- 检查阶码溢出
算术逻辑单元 ALU
串行加法器和并行加法器
- 串行进位加法器:逐级产生进位,速度慢
- 并行进位加法器:提前进位/先行进位
- 进位产生函数:Gi = Ai·Bi
- 进位传递函数:Pi = Ai + Bi
- Ci = Gi + Pi·Ci-1
- 单级先行进位:组内并行,组间串行
- 多级先行进位:组内组间都并行
ALU 的功能和结构
- 算术运算部件:加法器、减法器、乘法器、除法器、增量器、减量器
- 逻辑运算:与、或、非、异或、移位
- 通用寄存器组:存取速度最快
- 专用寄存器:IP(PC)、FLAGS
第六章 指令系统
指令格式
指令的基本格式
一条指令包含操作码和地址码:
- 操作码:表示操作的性质及功能
- 地址码:指出操作数的地址、操作结果的存储地址、下一条指令的地址
指令的操作码
- 定长操作码:操作码位数固定
- 扩展操作码:操作码位数可变,位数取决于指令条数
第七章 CPU 的结构和功能
CPU 的结构
CPU 由运算器、控制器和寄存器组组成。主要寄存器包括:PC、IR、MAR、MDR、AC、状态条件寄存器。
习题
说明 CPU 中的主要寄存器及其功能:
- 指令寄存器(IR):保存当前正在执行的一条指令。
- 程序计数器(PC):确定下一条指令的地址。
- 地址寄存器(MAR):保存当前 CPU 所访问的内存单元的地址。
- 缓冲数据寄存器(MDR):CPU 和内存/外设之间的中转站;补偿速度差;可兼作操作数寄存器。
- 通用寄存器(AC):为 ALU 提供工作区。
- 状态条件寄存器:保存条件码及中断、系统状态信息。
说明机器周期、时钟周期、指令周期之间的关系:指令周期包含若干 CPU 周期(机器周期),一个 CPU 周期包含若干时钟周期。
CPU 响应中断的条件:
- 中断允许触发器开放
- 中断请求触发器处于”1”状态
- 外设中断允许触发器为”1”
- 现行指令结束的最后一个状态周期
控制器的功能和工作原理
硬布线控制器
采用组合逻辑电路产生控制信号。
- 时序与节拍:每一步由一个机器周期完成
- 操作码译码器:指出本指令执行什么操作
- 操作控制信号的产生:根据指令和机器周期产生各信号
举例:”+“操作控制信号的逻辑表达式为 ”+” = 加法指令·(cy2+cy4) + 减法指令·cy2 + 转移指令·cy2 + …
微程序控制器
基本概念:
- 微操作:最基本的、不可再分的操作
- 微命令:实现微操作的控制命令
- 微指令:同时发出的控制信号执行的一组微操作
- 微程序:微指令序列的集合
微指令编码方式:
- 直接控制法:每一位代表一个微命令
- 字段直接编译法:互斥微命令编成字段,二进制编码
- 字段间接编译法:一个字段的微命令兼由另一字段解释
微地址形成方式:
- 入口地址:一级转移、多级转移
- 后继地址:增量方式、增量与下址字段结合
指令流水线
基本原理
指令取指完成后不等该指令执行完毕即可取下一条指令。把指令过程分成多个子过程,重叠执行。
影响流水线性能的因素
- 结构相关:硬件资源满足不了指令重叠执行
- 数据相关:后继指令需要前面指令的执行结果
- 控制相关:分支指令和其他改变 PC 值的指令
流水线性能
- 吞吐率:单位时间完成的指令数
- 加速比:流水线速度 / 非流水线速度
- 效率:各功能段的利用率
超标量和动态流水线
- 超标量:集成多条流水线,每个时钟周期可完成多条指令
- 动态流水线:同一时间将不同功能段连接成不同功能子集
- 多功能流水线 vs 单功能流水线
- 静态流水线 vs 动态流水线
习题答案汇总
总线
- 三种集中式总线控制中,链式查询方式对电路故障最敏感。
- 独立请求方式响应速度最快,链式查询方式对电路故障最敏感。
- 地址总线信号状态是单向双态的。
- 总线带宽计算:Dr = D × f
运算器
- 算术右移:符号位不变,顺次右移 1 位,最低位移至进位标志位。
- 补码运算目的:简化运算器的设计。
- 移码表示阶码好处:便于比较阶码大小。
- 规格化浮点表示法好处:使浮点表示是唯一的且保留最多的有效数字。
- 下溢:运算结果的绝对值小于机器所能表示的最小绝对值。
- 补码运算变为 CFH:算术右移。
- Booth 补码一位乘法最多需要 n 次加法运算。
- 8 位补码 4 个 1 和 4 个 0 最小值:-112。
I/O 系统
- 磁盘驱动器读写数据的基本存取单位为扇区。
- 中断处理过程:设备提出请求→指令结束响应→关中断→保存断点→判别中断源→开中断→执行中断服务→退出中断。
控制器
- 控制器的功能是控制机器各个部件协调一致地工作。
- RISC 机器一定是流水 CPU。
- 扩展操作码:最多 14 条一地址指令。
- 四级流水线:时钟周期取 90 ns;数据相关推迟两个时钟周期(180 ns)。