第一章:冯~诺依曼思想(重要)
1 工作原理:
-
存储程序:将程序存放在计算机的存储器中。储存系统构建与快速访问。
-
程序控制:按指令地址访问储存器并取出指令,经译码器依次产生指令执行所需的控制信号,实现对计算机的控制,完成指令功能。
2 冯·诺依曼计算机的组成
1 硬件
- 输入输出设备
- 运算器
- 算术运算、逻辑运算
- 控制器
- 存储器
2 软件
软件系统:
-
系统软件:如操作系统、网络系统、编译系统
-
支持软件:界面工具、开发工具等
-
应用软件:字处理软件、游戏软件等
第二章:数据表示
1.数据的表示
-
真值(书写用)
- +1011,-1011
-
机器码(机器内部使用)
- 正数原码、反码、补码不变
- 原码: 0正1负
- 表示简单:[X]原=2n-X
- 运算复杂:符号位不参与运算,要设置加减法器
- 0的表示不唯一
- 如+1011——>01011
- 反码:原码符号位不变,数值位取反
- 相对原码复杂:[X]反=2n+1+X-1
- 运算相对简单:符号位参加运算,只需加法器,但符号位的进位要加到最低位
- 0的表示不唯一
- 如10100——>10100
- 补码:反码+1或者扫描法
- 扫描法:数值位右往左第一个1不变,其余逐位取反
- 相对原码复杂:[X]补=2n+1+X
- 运算简单:只需加法器
- 0的表示唯一
- 补码中膜的概念:符号位进位后所在位的权值,相当于有几位就是2的几次方
- 10000表示最小负数-16的补码,无原码反码,比较特殊。
- 移码:补码符号位取反
- [X]移=2n+X
2.同余
a≡b(mod m):a与b同时mod m的值相同(mod是取余)
3.定点与浮点数据表示
浮点数:让数据表示唯一,规格化。
科学计数法:
- 十进制:N=10ExM,1≤|M|<10
- 二进制:N=2ExM,1≤|M|<2
浮点数表示:
- 适用于当数的范围超出了定点数能表示的范围时
- 一般格式:不同系统提取的阶码位数不同,会出错。
- IEEE 754格式:
- IEEE 754 32位浮点数与真值的转换流程
- 符号意义:
- S=符号位
- e=阶数
- E=阶码=阶数+127=阶数+01111111
- M=尾数=1.M的M
- 0舍1入
- 符号意义:
- IEEE 754 32位浮点数与真值的转换流程
4 数据校验的基本原理
数据校验:
- 解决编码在时间、空间上传输的可靠性
- 编码引入一定冗余,增加最小码距,使编码符合某种规则,以便错误时的判断
- 码距:两个合法编码间不同二进制位数
- 码距越大,抗干扰、纠错越强,冗余也越大,效率也越低
- 码距为1时无法检错
码距与检错或纠错能力的关系:
5 奇偶校验
基本原理:
- 添加校验位使得数据加校验码中1的个数满足奇或偶的要求
检错方法:
- G=1必出错,否则大概率正常
- 奇校验检错码
- 偶校验检错码
特点:
- 最小码距为2
- 检测奇数位错,不能检测偶数位错,不能纠错,不保证正确,实现简单,编码效率高
6 海明编码
基本原理:
- 增加冗余码(检验位)
- 校验位P的值
- 指错字G:可定位错
- 分组方法:
特点:
-
最小码距为3,编码效率高,可纠正一位错
第三章:运算方法与运算器
1 定点数运算及溢出检测
加法运算:
- [X]补+[Y]补=[X+Y]补 mod 2n+1
- [X-Y]补=[X]补 +[-Y]补
- [-Y]补=[Y]补带上符号位逐位取反+1
溢出及判断:
- 正正得负——>正溢
- 负负得正——>负溢
- 判断
- 对操作数和运算结果的符号进行检测:此方法不准确
- 方法4:用软件的方法
2 加法器的逻辑实现
串行加法器:基于一位全加器FA
行加/减法器:sub输入0控制加法,1控制减法
并行加法器进位链设计:
- 成组进位:
- 延迟:
- 四位快速加法器:
- 两级先行进位电路:
- 先行进位电路CLA74182
- 芯片:
- 电路逻辑:
- 芯片:
第四章:储存系统
1 储存器概述
分类:
-
按储存介质分
- 半导体MOS 储存器:SRAM和DRAM
- 磁储存器
- 光盘储存器
-
按存取方式分
- 随机存储器:存取时间与物理位置无关
- 顺序存储器:存取时间与物理位置有关
- 直接存储器:访问时读写部件先直接指向一个小区域,再在该区域内顺序查找
-
按读写功能分
- 只读存储器:ROM
- 掩模式只读存储器MROM,
- 一次编程只读存储器PROM(可编程只读存储器),
- 多次编程只读存储器EPROM(可擦除可编程只读存储器),
- EEPROM(电可擦除可编程只读存储器)
- 闪存Flash Memory:本质属于EEPROM
- 读/写存储器:RAM
- 只读存储器:ROM
-
按信息的可保存性分
- 易失性储存器:断电后信息消失
- 易失性半导体储存器:FPM-DRAM,EDO-DRAM,同步DRAM(SDRAM),BEDO-DRAM,DDR SDRAM,SRAM
- 非易失性储存器:断电后仍能保存信息
- 非易失性半导体储存器:ROM,PROM,EPROM,EEPROM,FERAM,MRAM,PCRAM
- 易失性储存器:断电后信息消失
-
按功能和存取速度分
- 寄存器型储存器
- 高速缓冲器Cache
- 主储存器
- 辅助储存器(外储存器)
储存器技术指标
- 储存容量
- 位表示法
- 如1kX4位:表示1k个单元,每单元4位
- 字节表示法
- 如128B:表示128个单元,每个单元一个B,就是8位
- 位表示法
- 储存速度
- 储存时间
- 一次操作到结束的时间
- 储存周期
- 两次操作的间隔,比储存时间略长
- 储存器带宽
- 单位时间传输的信息量
- bit/s, B/s
- 储存时间
2 储存系统的层次结构
-
基本储存体系:
-
主存速度慢的原因
- 主存增速与CPU增速不同步
- 执行指令期间多次访问主存
-
主存容量不足的原因
- 存在制约主存容量的技术因素,由CPU、主板等相关技术指标确定
- 应用对主存的需求不断增大
-
存储体系的层次化结构
-
存储体系层次化结构的理论基础
3 主存中的数据存放
-
储存字长
- 主存的一个储存单元所包含的二进制位数
-
数据储存与边界的关系
- 按边界对齐的数据储存
- 与储存地址的关系(以32位为例)
- 与储存地址的关系(以32位为例)
- 未按边界对齐的数据储存
- 按边界对齐的数据储存
-
大端与小端储存方式
4 储存器工作原理
半导体存储器:
- RAM:随机访问存储器
- SRAM:静态MOS存储器(随机访问)
- DRAM:动态MOS存储器(随机访问)
- ROM:只读存储器
静态存储器SRAM:
-
存储单元结构
-
工作原理
- 读/写过程
- 读/写过程
-
静态储存器的结构
动态存储器DRAM
-
SRAM的不足
- 晶体管过多
- 存储密度大
- 功耗大
-
存储单元的基本结构
-
工作原理
-
存储单元的刷新
-
与SRAM对比
5 储存扩展
-
存储扩展的基本概念及类型:
-
位扩展举例
-
字扩展举例
-
字位同时扩展举例
6 多体交叉储存器
通过芯片交叉组织,提高cpu单位时间访问的数据量,缓解快速cpu与慢速主存的差异。
- 高位多体交叉存储器的组织方式
- 低位多体交叉存储器的组织方式
- 性能分析
- 性能分析
7 高速缓冲存储器Cache
基本原理
-
Cache的关键技术
- 数据查找:如何判断数据在Cache中
- 地址映射:主存数据如何放置到Cache行/槽中
- 替换策略:Cache满后如何处理
- 写入策略:如何保证Cache与memory的一致性
-
读操作
- 命中:在cache中
- 缺失:不在cache中,先去主存去到cache再取
-
写操作
- 写穿策略:把数据写到cache和主存中,不能高速
- 写回策略:把数据写到cache,但主存数据没更新
-
Cache地址的映射机制
-
Cache的结构
相联储存器
作用:判断CPU要访问的内容是否在Cache中
基本思路:根据不同规则抽取主存地址的部分内容作为查找的依据
如何实现快速查找:
- 顺序查找、二分查找等
- 使用相联存储器,通过硬件并发查找
基本结构及工作原理:
相联存储器的一种技术实现:
cache地址映射与变换方法
全相连映射
-
工作原理:
直接相联映射
- 工作原理
组相联映射
- 工作原理
三种映射的对比
8 替换算法
Cache存储空间被占满,当新数据要调入时,就需要通过某种机制决定替换的对象
-
先进先出法——FIFO
-
最不经常使用法——LFU
-
近期最少使用法——LRU
-
随机替换法
- 随机替换一个
第五章:指令系统
1 指令系统概述及指令格式
基本概念
-
指令:计算机能直接识别、执行的操作命令
-
指令系统(指令集):
- 一台计算机中所有机器指令的集合
- 系列机:同一公司不同时期生产,基本系统结构和指令系统相同的计算机
- 如IBM,PDP11,VAX-11,Intel-x86
- 兼容机:不同公司生产,基本系统结构和指令系统相同的计算机
- 如IBM兼容机
-
指令字长:
- 指令中包含的二进制数
- 单字长、双字长、半字长等长度指令
- 多字长:多次访问内存,影响速度,占用空间大
- 等长指令:字长固定
- 变长指令:字长可根据需要改变
指令的分类:
- 根据计算机层次结构分:
- 根据指令中地址的字段个数分:
- 根据指令中操作数的物理位置分:
- 根据指令的功能分:
- 根据指令中地址的字段个数分:
指令格式:
- 举例:
拓展指令举例:
指令格式设计举例:
2 寻址方式及指令寻址
指令寻址:
- 顺序寻址
- 跳跃寻址
操作数寻址:
- 实际操作数S,实际有效地址E
- 立即数寻址
- 寄存器寻址
- 直接寻址
- 间接寻址
- 寄存器间接寻址
- 相对寻址
- 基址寻址
- 变址寻址
- 总结
3 指令格式设计
- 主要内容:
- 设计举例
4 MIPS指令概述
只有三种指令格式:
-
R型指令
- 由op和funct字段共同说明当前寻址方式
-
I型指令
- 由op字段说明当前寻址方式
-
J型指令
- 由op字段说明当前寻址方式
第六章:*处理器
CPU: Central Processing Unit
1 CPU的组成与功能
1 组成
2 主要功能
3 主要寄存器
4 操作控制器
2 数据通路
-
执行部件间传送信息的路径
-
通路的建立是由控制信号控制,受时钟驱动
-
不通指令、统一指令在执行的不同阶段的数据通路不通
1 定时模型
2 数据通路与时钟周期
3 保持时间伪例
保证下一个数据来的时候,当前数据已经储存。
3 数据通路与总线结构
1 分类
2 单总线结构中的数据通路
3 双总线结构中的数据通路
3.三总线结构中的数据通路
4 小结
总线越多,性能越好
4 数据通路实例
1 单总线(非常重要)
2 多总线
3 专用通路
4 小结
5 指令周期
1 一般流程
黄色为必要,白色非必要
2 基本概念
3 指令控制同步
4 三级时序系统(同步时序)(重要)
5 现代时序系统(异步时序)(重要)
6 总线结构CPU指令周期
1 单总线CPU(重要)
1)、取指令数据通路
2)、lw
3)、sw
4)、beq
5)、addi
6)、add
7)、指令周期方框图(重要)
2 小结
7 硬布线控制器设计
1 基本原理
2.单总线
3 三级时序
4 现代时序
6.8 微程序控制器
1.基本思想
2.工作原理
3.单总线CPU微指令构造
4.程序、微程序、指令、微指令对应关系
5.微程序组成原理
6.9 微程序设计
1.取指令
2.lw
3.sw
4.beq
5.add
6.addi
7.总
10 微指令格式
1 设计原则
- 有利于缩短微指令长度
- 有利于减少控制存储器容量
- 有利于提高微程序执行速度
- 有利于对微指令进行修改
- 有利于提高微程序设计的灵活性
2 直接表示法
3.编码表示法
4.微指令地址形成方法
5.水平型微指令编码效率
6.垂直型微指令
7.比较
- 水平型微指令
- 并行能力强,效率高,灵活性强
- 指令字段较长,微程序短,控存容量大,性能佳
- 垂直型微指令
- 字段短,微程序长,控存容量小,性能差
- 垂直型与指令相似,易于掌握
- 基本被淘汰
七:输入输出系统
1 概述
输入输出系统的组成与功能:
I/O特点:
输入输出过程:
2 输入输出方式
- 程序查询方式
- 程序中断方式
- 直接内存访问DMA方式
- 通道方式
- 外围处理机方式
3 程序中断方式
1 基本概念
- CPU暂时中止现行程序的执行,转去执行为某个随机事件服务的中断处理子程序,处理完后自动恢复原程序的执行
- 实现主机和外设准备阶段的并行工作
- 避免重复查询外设状态、提升工作效率
2 实质域特点
3 分类与作用
4 响应流程
5 中断优先级
划分优先级的一般规律:
6 中断屏蔽
7 中断识别
4 DMA方式
1 基本概念
2 特点与应用
3 工作状态
4 内存争用
停止CPU使用内存:
DMA与CPU交替使用主存:
周期挪用法:
5 主要操作过程
准备阶段:
传送阶段:
结束阶段: