Skip to content

计组

计算机系统概述

  • 计算机硬件的发展

    • 计算机的四代变化
    • 计算机元件的更新换代
  • 计算机软件的发展

  • 计算机系统层次结构

    • 计算机硬件
      • 冯洛伊曼机
    • 计算机的功能部件
      • 输入设备
      • 输出设备
      • 存储器
      • 运算器
      • 控制器
    • 计算机软件
      • 三个级别的语言
        • 机器语言
        • 汇编语言
        • 高级语言
      • 软件和硬件的逻辑功能等价性
    • 计算机系统的层次结构
    • 计算机系统的工作原理
      • 存储程序工作方式
      • 从源程序到可执行程序
      • 程序执行过程的描述
      • 指令执行过程的描述
        • 取指令:PC->MAR->M->MDR->IR
        • 分析指令:OP(IR)->CU
        • 执行指令:Ad(IR)->MAR->M->MDR->ACC
  • 计算机的主要性能指标

    • 字长
    • 数据通路带宽
    • 主存容量
    • 运算速度
    • MIPS(每秒执行多少百万条指令)
    • MFLOPS、CFLOPS、TFLOPS、PFLOPS、EFLOPS和ZFLOPS
      • MFLOPS:每秒执行多少百万次浮点运算(执行时间*10^6);
      • CFLOPS:每秒执行多少十亿次浮点运算(执行时间*10^9);
      • TFLOPS:每秒执行多少万亿次浮点运算(执行时间*10^12);
      • PFLOPS:浮点操作次数(执行时间*10^15);
      • EFLOPS:浮点操作次数(执行时间*10^18);
      • ZFLOPS:浮点操作次数(执行时间*10^21);
  • 几个专业术语

    • 固件:将程序固化在ROM中组成的部件称为固件,执行速度快于软件,灵活性优于硬件;

数据的表示和运算

  • 数值与编码
    • 进位制数及其相互转换
      • 进位计数法
      • 不同进制数之间的相互转换
      • 真值和机器数
    • BCD码(Binary-Coded Decimal)
      • 8421码
      • 余三码
      • 2421码
    • 定点数的编码表示
      • 机器数的定点表示
        • 定点小数
        • 定点整数
      • 原码、反码、补码、移码
    • 整数的表示
      • 无符号整数的表示
      • 带符号整数的表示
  • 运算方法和运算电路
    • 基本运算部件
      • 一位全加器
      • 串行进位加法器
      • 并行进位加法器
      • 带标志加法器
      • 算术逻辑单元(ALU)
    • 定点数的移位运算
      • 算术移位
      • 逻辑移位
      • 循环移位
    • 定点数的加减运算
      • 补码的加减法运算
      • 补码的加减运算电路
      • 溢出判断方法
      • 原码的加减法运算
    • 定点数的乘除运算
      • 定点数的乘法运算
      • 无符号数乘法运算电路
    • 定点数的出发运算
      • 符号扩展
      • 原码除法运算(不恢复余数法)
      • 补码减法运算(加减法交替)
      • 除法运算电路
  • C语言中的整数类型及类型转换
    • 有符号数和无符号数的转换
    • 不同字长整数之间的转换
  • 整数的存储和排列
    • 数据的“大端方式”和“小端方式”存储
    • 数据按“边界对齐”方式存储

存储系统

  • 存储器概述

    • 存储器的分类
      • 按在计算机中的作用(层次)分类
        • 主存储器(内存)
        • 辅助存储器(辅存)
        • 高速缓冲存储器(Cache)
      • 按存储介质分类
        • 磁表面存储器(磁盘、磁带)、磁芯存储器
        • 半导体存储器(MOS型存储器、双极型存储器)
        • 光存储器(光盘)
      • 按信息的可保存性分类
        • RAM:断电后存储信息消失,称为易失性存储器;
        • ROM:断电后存储仍然保存信息;
      • 存储器的性能指标
        • 存储容量
        • 单位成本
        • 存储速度
    • 多级层次的存储系统
      • 为了解决存储系统大容量、高速度和低成本3个相互制约的矛盾,通常采用多级存储结构。由上至下,价格越来越低,速度越来越慢。
  • 主存储器

    • SRAM芯片和DRAM芯片
      • SRAM的工作原理
      • DRAM的工作原理
        • 集中刷新
        • 分散刷新
        • 异步刷新
      • DRAM芯片的读写周期
      • SRAM芯片和DRAM的比较
      • 存储芯片的内部结构
        • 存储体(存储结构)
        • 地址译码器
        • I/O控制电路
        • 片选控制信号
        • 读/写控制信号
    • 只读存储器
      • 只读存储器(ROM)的特点
      • ROM的类型
        • 掩模式只读存储器
        • 一次可编程只读存储器
        • 可擦除可编程只读存储器
        • Flash存储器
        • 固态硬盘(Solid State Drives, SSD)
      • 主存储器的基本组成
      • 多模块存储器
        • 单体多字存储器
        • 多体并行存储器
          • 高位交叉编址(顺序方式)
          • 低位交叉编址(交叉方式)
  • 主存储器与CPU的连接

    • 连接原理
      • 主存储器通过数据总线、地址总线和控制总线与CPU连接。
      • 数据总线的位数与工作频率的乘积正比于数据传输率。
      • 地址总线的位数决定了可寻址的最大内存空间。
      • 控制总线(读/写)指出总线周期的类型和本次输入/输出操作完成的时刻;
    • 主存容量的扩展
      • 位扩展法
      • 字扩展法
      • 字位同时扩展法
    • 存储芯片的地址分配和片选
      • 线选法
      • 译码片选法
    • 存储器与CPU的连接
      • 合理选择存储芯片
      • 地址线的连接
      • 数据线的连接
      • 读/写命令线的连接
      • 片选线的连接
  • 外部存储器

    • 磁盘存储器
      • 磁盘存储器
        • 磁盘设备的组成
        • 磁记录原理
        • 磁盘的性能指标
        • 磁盘地址
        • 磁盘的工作原理
      • 磁盘阵列
        • RAID0:无冗余和无校验的磁盘阵列;
        • RAID1:镜像磁盘阵列;
        • RAID2:采用纠错的海明码的磁盘阵列;
        • RAID3:
        • RAID4:
        • RAID5:
    • 固态硬盘
  • 高速缓冲存储器

    • 程序访问的局部性原理

    • Cache的基本工作原理

    • Cache和主存的映射方式

      • 直接映射
      • 全相联隐射
      • 组相联隐射
    • Cache中主存块的替换算法

      • 随机算法
      • 先进先出算法
      • 仅此最少使用算法(LRU)
    • Cache写策略

      • 全写法(write-through)
      • 回写法(write-back)
        • 写分配法(write-allocate)
        • 非写分配法(not-write-allocate)
  • 虚拟存储器

    • 虚拟存储器的基本概念
    • 页式虚拟存储器
      • 页表
      • 快表(TLB)
      • 具有(TLB)和Cache的多级存储系统
    • 段式虚拟存储器
    • 段页式虚拟存储器
    • 虚拟存储器与Cache的比较
      • 相同之处
      • 不同之处

指令系统

  • 指令系统

    • 指令(机器指令)是指计算机执行某种操作的命令
    • 指令的基本格式
      • 零地址指令
      • 一地址指令
      • 二地址指令
      • 三地址指令
      • 四地址指令
    • 定长操作码指令格式
    • 扩展操作码指令格式
    • 指令的操作类型
      • 数据传送
      • 算术和逻辑运算
      • 移位操作
      • 转移操作
      • 输入和输出操作
  • 指令的寻址方式

    • 指令寻址和数据寻址
      • 指令寻址
        • 顺序寻址
        • 跳跃寻址
      • 数据寻址
    • 常见的数据寻址方式
      • 隐含寻址
      • 立即寻址
      • 直接寻址
      • 间接寻址
      • 寄存器寻址
      • 寄存器间接寻址
      • 相对寻址
      • 基址寻址
      • 变址寻址
      • 堆栈寻址
  • 程序的机器级代码表示

    • 常用汇编指令介绍
      • 相关寄存器
      • 汇编指令格式
        • AT&T格式的指令只能用小写字母,而Intel格式的指令对大小写不敏感;
        • 在AT&T格式中,第一个为目的操作数,第二个为目的源操作数;
        • 在AT&T格式中,寄存器需要加前缀“%”,立即数需要加前缀“$”;
        • 在内存寻址方面,AT&T格式使用“(”和“)”,而Intel格式使用“[” 和 “]”;
        • 在处理复杂寻址方是时,例如AT&T格式的内存操作数?分别表示偏移量;
        • 在指定数据长度方面,AT&T格式指令操作码的后面紧跟一个字符,表示操作数大小;
      • 常用指令
        • 数据传送指令
          • mov指令
          • push指令
          • pop指令
        • 算术和逻辑运算指令
          • add/sub指令
          • inc/dec指令
          • imul指令
          • idiv指令
          • and/or/xor指令,and、or、xor指令分别是逻辑与、逻辑或、逻辑异或操作指令;
          • not指令
          • neg指令
          • sh/shr指令
        • 控制流指令
          • jmp指令
          • jcondition指令:条件转移指令,依据CPU状态字中的一系列条件状态转移;
          • cmp/test指令:比较两个操作数的值,test指令对两个操作数进行逐位与运算;
          • call/ret指令
      • 过程调用的机器级表示
        • 过程调用的执行步骤如下:P(调用者),Q(被调用者)
          • P将入口参数放在Q能访问到的地方;
          • P将返回地址存在特定的地方,然后将控制转移到Q;
          • Q保存P的现场(通用寄存器的内容),并未自己的非静态局部变量分配空间;
          • 执行过程Q;
          • Q恢复P的现场,将返回结果放到P能访问到的地方,并释放局部变量所占空间;
          • Q取出返回地址,将控制转移到P;
          • 步骤2是call指令实现的,步骤6是通过ret指令返回到过程P;
      • 选择语句的机器级表示
        • 条件码(标志位)
        • if语句
      • 循环语句的机器级表示
        • do-while循环
        • while循环
        • for循环
  • CISC和RISC的基本概念

    • 复杂指令系统计算机(CISC),主要特点如下:
      • 指令系统复杂庞大,指令数目一般为200条以上;
      • 指令的长度不固定,指令格式多,寻址方式多;
      • 可以访存的指令不受限制;
      • 各种指令使用频度相差很大;
      • 各种指令执行时间相差很大,大多数指令需多个时钟周期才能完成;
      • 控制器大多数采用微程序控制;
      • 难以用优化编译生成高效的目标代码程序;
    • 精简指令系统计算机(RISC),主要特点如下:
      • 选取使用频率最高的一些简单指令,复杂指令的功能由简单指令的组合来实现;
      • 指令长度固定;
      • 只有Load/Store指令访存,其余指令的操作都在寄存器之间进行;
      • CPU中通用寄存器的数量相当多。
      • RISC一定采用指令流水线技术,大部分指令在一个始终周期内完成;
      • 以硬布线控制为主,不用或少用程序执行时间;
      • 从指令系统兼容性看,RISC大多能实现软件兼容,既高档机包含了低档机的全部指令;
    • CISC和RISC的比较
      • RISC能充分利用VLSI芯片的面积。RISC的控制器大多采用微程序控制;
      • RISC更能提高运算速度。RISC的指令数、寻址方式和指令格式种类少,设有多个通用寄存器,采用流水线技术,所以运算速度快,大多数指令在一个时钟周期内完成;
      • RISC便于设计,可降低成本,提高可靠性;
      • RISC有利于编译程序代码优化。可以使得代码执行更高效化;

中央处理器

  • CPU的功能和基本结构

    • CPU的功能
      • 指令控制
      • 操作控制
      • 时间控制
      • 数据加工
      • 中断处理
    • CPU的基本结构
      • 运算器
      • 控制器,由以下组成
        • 程序计数器(PC)
        • 指令寄存器(IR)
        • 指令译码器
        • 存储器地址寄存器(MAR)
        • 存储器数据寄存器(MDR)
        • 时序系统
        • 微操作信号发生器
  • 指令执行过程

    • 指令周期
    • 指令周期的数据流
      • 取指周期
      • 间址周期
      • 执行周期
      • 中断周期
    • 指令执行方案
      • 单指令周期
      • 多指令周期
      • 流水线方案
  • 数据通路的功能和基本结构

    • 数据通路的功能
    • 数据通路的基本结构
      • CPU内部单总线方式
      • CPU内部多总线方式
      • 专用数据通路方式
    • 寄存器之间的数据传送
    • 主存与CPU之间的数据传送
    • 执行算术或逻辑运算
  • 控制的功能和工作原理

    • 控制器的结构和功能
    • 硬布线控制器
      • 硬布线控制单元图
      • 硬布线控制器的时序系统及微操作
      • CPU的控制方式
      • 硬布线控制单元设计步骤
    • 微程序控制器
      • 微程序控制的基本概念
        • 微命令与微操作
        • 微指令与微周期
        • 主存储器与控制存储器
        • 程序与微程序
      • 微程序控制器组成和工作过程
        • 微程序控制器的基本组成
        • 微程序控制器的工作过程
      • 微指令与编码方式
        • 直接编码方式
        • 字段直接编码方式
        • 字段间接编码方式
      • 微指令的地址形成方式
        • 直接由微指令的下地址字段指出
        • 根据机器指令的操作码形成
      • 微指令格式
        • 水平型微指令
        • 垂直型微指令
        • 混合型微指令
      • 微程序控制单元的设计步骤
        • 写出对应机器指令的微操作命令及节拍安排
        • 确定微指令格式
        • 编写微指令码点
      • 动态微程序设计和毫微程序设计
        • 动态微程序设计
        • 毫微程序设计
      • 硬布线和微程序控制器的特点
        • 硬布线控制器的特点
        • 微程序控制器的特点
  • 异常与中断机制

    • 异常和中断的基本概念
    • 异常和中断的分类
      • 异常的分类
        • 故障(Fault)
        • 自陷(Trap)
        • 终止(Abort)
      • 中断的分类
        • 可屏蔽中断
        • 不可屏蔽中断
    • 异常和中断的响应过程
      • 关中断
      • 保存断点和程序状态
      • 识别异常和关中断并转到相应的处理程序
  • 指令流水线

    • 流水线的基本概念
      • 定义
      • 五个阶段
        • 取指(IF)
        • 译码/读寄存器(ID)
        • 执行/地址寄存器(EX)
        • 访存(MEM)
        • 写回(WB)
      • 流水线的表示方法
    • 流水线的基本实现
      • 流水线的数据通路
      • 流水线的控制信号
      • 流水线的执行过程
        • 取指(IF)
        • 译码/读寄存器(ID)
        • 执行/地址寄存器(EX)
        • 访存(MEM)
        • 写回(WB)
    • 流水线的冒险与处理
      • 结构冒险
      • 数据冒险
      • 控制冒险
    • 流水线的性能指标
      • 流水线的吞吐率
      • 流水线的加速比
    • 高级流水线技术
      • 超标量流水线技术
      • 超长指令字技术
      • 超流水线技术
  • 多处理器的基本概念

    • SISD、SIMD、MIMD的基本概念,单处理器属于SISD,多处理器属于MIMD
      • 单指令流单数据流(SISD)结构
      • 单指令流多数据流(SIMD)结构
      • 多指令流单数据流(MISD)结构
      • 多指令流多数据流(MIMD)结构
    • 硬件多线程的基本概念
      • 细颗粒多线程
      • 粗颗粒多线程
      • 同时多线程
    • 多核处理器的基本概念
    • 共享内存多处理器的基本概念

总线

  • 总线概述
    • 总线基本概念
      • 总线定义
      • 总线设备
      • 总线特性
    • 总线的分类
      • 片内总线
      • 系统总线
      • I/O总线
      • 通信总线
    • 系统总线的结构
      • 单总线结构
      • 双总线结构
      • 三总线结构
    • 常见的总线标准
      • ISA
      • EISA
      • VESA
      • PCI
      • AGP
      • PCI-E
      • RS-232C
      • USB
      • PCMCLA
      • IDE
      • SCSI
      • SATA
    • 总线的性能指标
      • 总线传输周期
      • 总线时钟周期
      • 总线工作频率
      • 总线时钟频率
      • 总线宽度
      • 总线带宽
      • 总线复用
      • 信号线数
  • 总线事务和定时
    • 总线事务
    • 同步定时方式
    • 异步定时方式

输入/输出系统

  • I/O系统基本概念

    • I/O系统中的几个基本概念
      • 外部设备
      • 接口
      • 输入设备
      • 输出设备
      • 外存设备
      • I/O软件
      • I/O硬件
    • I/O控制方式
      • 程序查询方式
      • 程序中断方式
      • DMA方式
      • 通道方式
    • 外部设备
      • 输入设备:键盘、鼠标
      • 输出设备
        • 显示器
        • 打印机
          • 针式打印机
          • 喷墨式打印机
          • 激光打印机
      • 外部存储器(辅存)
        • 磁表面存储器
        • 固态硬盘(SSD)
        • 光盘存储器
  • I/O接口

    • 主要功能如下
      • 进行地址译码和设备选择。
      • 实现主机和外设的通信联络控制;
      • 实现数据缓冲;
      • 信号格式转换;
      • 传送控制命令和状态信息;
    • I/O接口的基本结构
    • I/O接口的类型
      • 按数据传送方式分为:串行和并行接口;
      • 按主机访问I/O设备的控制方式可分为:
        • 程序查询接口
        • 中断接口
        • DMA接口
      • 按功能选择的灵活性可分为:可编程和不可编程接口;
    • I/O端口及其编址
      • 统一编址,又称存储器隐射方式
      • 独立编址,又称I/O映射方式
  • I/O方式

    • 程序查询方式,工作流程如下:
      • CPU执行初始化程序,并预置传送参数;
      • 向I/O接口发出命令字,启动I/O设备;
      • 向外设接口读取其状态信息;
      • CPU不断查询I/O设备状态,知道外设准备就绪;
      • 传送一次数据;
      • 修改地址和计数器参数;
      • 判断传送是否结束,若未结束转第3步,直到计数器为0;
    • 程序中断方式,主要功能有:
      • 实现CPU与I/O设备的并行工作;
      • 处理硬件故障和软件错误;
      • 实现人机交互;
      • 实现多道程序;
      • 实时处理需要借助中断程序来实现快速响应;
      • 实现应用程序和操作系统的切换,软中断;
      • 多处理器系统中各处理器之间的信息交流和任务切换;
    • 程序中断的工作流程
      • 中断请求
      • 中断响应判优
      • CPU响应中断的条件
        • 中断源有中断请求
        • CPU允许中断及开中断;
        • 一条指令执行完毕;
      • 中断响应过程
        • 关中断
        • 保存断点
        • 引出中断服务程序
      • 中断向量
      • 中断处理过程
        • 关中断
        • 保存断点
        • 中断服务程序寻址;
        • 保存现场和屏蔽字
        • 开中断
        • 执行中断服务程序
        • 关中断
        • 修复现场和屏蔽字
        • 开中断、中断返回;
      • 多重中断和中断屏蔽技术
        • CPU要具备多重中断的功能,必须满足以下条件
          • 在中断服务程序中提前设置中断指令
          • 优先级别高的中断源有权中断优先级别低的中断源;
    • DMA方式
      • DMA方式的特点
      • DMA控制器的组成
        • 接收外设发出的DMA请求,并向CPU发出总线请求;
        • CPU响应并发出总线响应信号,DMA接管总线控制权,进入DMA操作周期;
        • 确定传送数据的主存单元地址及长度,并自动修改主存地址计数和传送长度计数;
        • 规定数据在主存和外设间的传送方向,发出读写等控制信号,执行数据传送操作;
        • 向CPU报告DMA操作结束;
      • DMA的传送方式
        • 地址CPU访存
        • 周期挪用
        • DMA与CPU交替访存
      • DMA的传送过程
        • 预处理
        • 数据传送
        • 后处理
      • DMA方式和中断方式的区别
        • 中断方式是切换,需要保护和恢复现场。而DMA方式不中断现行程序,无需保护现场,除了预处理和后处理,其它时候不占用任何CPU资源;
        • 对中断请求的响应只能发生在每条指令执行结束时(执行周期后);而对DMA请求的响应可以发生在任意一个机器周期结束时(取指、间址、执行周期后均可);
        • 中断传送过程需要CPU的干预;而DMA传送过程不需要CPU的干预,因此数据传输率非常高,适合于高速外设的成组数据传送;
        • DMA请求的优先级高于中断请求;
        • 中断方式有处理异常事件的能力,而DMA方式仅局限于大批数据的传送;
        • 从数据传送来看,中断方式考程序传送,DMA方式靠硬件传送;