计算机组成原理思维导图
暑假期间总结的,内容都比较基础,可用作基础复习!文章最下方有思维导图PDF版本下载链接!
再长的路,一步步也能走完,再短的路,不迈开双脚也无法到达。
计算机系统概述
发展历程
-
硬件的发展
- 电子管的时代、晶体管时代、中小规模集成电路时代、大规模和超大规模集成电路时代
- 摩尔定律
- 半导体存储器的发展
- 微处理器的发展-机器字长
-
软件的发展
-
计算机语言
- 机器语言、汇编语言、高级语言
-
操作系统
-
-
分类与发展方向
-
电子模拟计算机与电子数字计算机
-
专用计算机与通用计算机
-
指令流与数据流
- SISD
- SIMD
- MISD
- MIMD
-
层次结构
-
硬件系统
-
运算器
- 对数据进行加工处理
-
控制器
- 解析指令,发出控制信号
-
存储器
-
存储体-存储单元-存储元
- 存储一位二进制代码
-
MAR
- 由译码器进行地址译码后找到相应的存储单元
-
MDR
- 暂存要从存储器中读或写的信息
-
存储字长
- bit与Byte
-
-
输入设备和输出设备
- 人机交互
-
组织结构
- 运算器为中心
- 存储器为中心
-
-
软件系统
-
系统软件和应用软件
-
计算机语言
-
机器语言
- 二进制代码,机器直接执行
-
汇编语言
- 二进制代码的助记符
-
高级语言
- 面向问题
-
汇编、编译、解释
-
-
-
工作过程
- 1)把程序和数据装入主存储器
- 2)从程序的起始地址运行程序
- 3)用程序的首地址从存储器中取出第一条指令,经过译码、执行步骤等控制计算机各功能部件协同运行,完成这条指令功能,并计算下一条指令的地址
- 4)用新得到的指令地址继续读出第二条指令并执行,直到程序结束位置,每条指令都是在取指、译码和执行的循环过程中完成的。
-
五层结构
-
第1级是微程序机器层
- 硬件层。由机器硬件直接执行微指令
-
第2级是传统机器语言层
- 机器层,由微程序解释机器指令系统
-
第3级是操作系统层
- 由操作系统程序实现,操作系统程序由机器指令和广义指令组成,这些广义指令是为了扩展机器工程而设置的
-
第4级是汇编语言曾
- 为用户提供一种符号化的语言,借此可编写汇编语言源程序
-
第5级是高级语言层
- 面向用户,是为方便用户编写应用程序而设置的。该层由各种高级语言编译程序支持和执行
-
性能指标
-
容量
- 系统支持的最大容量
- 实际容量
- 地址映射
-
速度
-
机器字长
- 计算机进行一次整数运算(即定点整数运算)所能处理的二进制数据的位数,通常与CPU的寄存器位数、加法器有关。
-
CPU时钟周期与主频
-
CPU时钟周期
- 通常为节拍脉冲或T周期,即主频的倒数,它是CPU中最小的时间单位
-
主频(CPU时钟频率),机器内部主时钟的频率,是衡量机器速度的重要参数
-
-
CPI
- 执行一条指令所需的时钟周期数
-
CPU执行时间
- 指运行一个程序所花费的时间。
-
MIPS,MFLOPS,GFLOPS,TFLOPS
-
数据通路带宽
- 指数据总线一次所能并行传送信息的位数
-
吞吐量
- 指系统在单位时间内处理请求的数量
-
响应时间
- 指从用户向计算机发送一个请求,到系统对该请求做出相应并获得所需的结果的等待时间
-
数据的表示和运算
数制与编码
-
进位计数法
- 二进制
- 八进制
- 十进制
- 十六进制
-
进制之间的相互转换
- 二进制转换为八进制数和十六进制数
- 任意进制数转换为十进制数
- 十进制数转换为任意进制数
-
真值和机器数
-
真值
- 真值是机器数所代表的实际值
-
机器数
- 把符号“数字化”的数称为机器数
-
-
BCD码
-
二进制编码的十进制数通常采用4位二进制数表示一位十进制数中的0-9这10各数码。
-
8421码
- 若两个8421码相加之和小于等于(1001)2即(9)10,则不需要修正;若相加之和大于等于(1010)2即(10)10,则要加6修正
-
余3码
- 是一种无权码,是在8421码的基础上加(0011)2形成的,因每个数都多余"3",故称为余3码,如8-1011;9-1100
-
2421码
- 这也是一种有权码,权值由高到低分别位2,4,2,1,特点是大于等于5的4位二进制数中最高位为1,小于5的最高位为0.如5-1011而非0101
-
-
字符与字符串
-
ASCII码
- 7位
- 字母连续编码
-
大端模式与小端模式
-
汉字
- 区位码、国际码、汉字机内码
- 输入编码
- 汉字字形码
-
-
校验码
-
奇偶校验码
-
奇校验码
- 整个校验码(有效信息位和校验位)中“1”的个数为奇数
-
偶校验码
- 整个校验码(有效信息位和校验位)中“1”的个数为奇数
-
-
海明(汉明)校验码
- 不等式
- 求解步骤
- 按某种规律分成若干组,每组安排一个校验位进行奇偶性测试
-
循环冗余校验码(CRC)
- 求解步骤
-
定点数的表示与运算
-
定点数的表示
-
无符号数
-
有符号数
-
原码
- 符号,绝对值
- 原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值.
-
补码
- 简化加减运算
- 补码的表示方法是:正数的补码就是其本身;负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1.
负数的补码等于反码末位加1。
-
反码
- 原、补码转换的中间过渡
- 正数的反码是其本身;负数的反码是在其原码的基础上, 符号位不变,其余各个位取反。
-
移码
- 易于比较大小
- 移码等于补码的符号(第一位数字)位取反。
同一数值的移码与补码符号位相反,其它各位相同。
-
-
-
定点数的运算
- 移位
- 加减
- 溢出判断
- 乘除
- 强制类型转换
浮点数的表示与运算
-
浮点数的表示
-
基本格式
-
阶码
- 补码或移码
- 阶符、阶码数值
-
尾数
- 补码或源码
- 数符、尾数数值
-
-
规格化
-
原码规格化形式
- 正数0.1xx…x
- 负数1.1xx…x
-
补码规格化形式
- 正数0.1xx…x
- 负数1.0xx…x
-
-
表示范围
-
IEEE 754标准
- 最高位为数符
- 阶码用移码表示
- 尾数用原码表示
- 隐含表示数值最高位1
- 短浮点数、长浮点数、临时浮点数
-
-
浮点数的运算
-
加减运算
-
真值到机器数的转换:进制转换&移位
-
对阶:小阶向大阶看齐,有可能丢失末尾数据
-
尾数加减:双符号位方便处理溢出
-
规格化
- 左规
- 右规
-
舍入
- 0舍1入
- 恒量1
-
溢出判断
- 阶码上溢,需要进行中断处理
- 阶码下溢,按机器0处理
-
-
强制类型转换
-
无损
- char->int->long->double
- float->double
-
无符号数与有符号数
-
int<->float
- 精度
- 表示范围
-
-
算术逻辑单元
-
ALU
-
功能
- 算术运算:加减乘除等
- 逻辑运算:与、或、非、异或等
- 辅助功能:移位、求补等
-
基本结构
- 输入
- 控制
- 输出
-
-
加法器
-
一位全加器
- 和
- 进位
-
串行加法器
- 一位全加器&进位触发器
-
并行加法器
-
进位产生原理
- 进位产生信号&进位传递信号
-
串行进位
- 全加器简单串联
-
并行进位
- 组内并行、组间串行
- 组内并行、组间并行
-
-
存储系统
层次结构
- Cache-主存-磁盘-磁带、光盘
半导体存储器
-
组成
- 存储矩阵、译码驱动、读写电路、读写控制线、片选线、地址线和数据线
-
分类
-
RAM
-
SRAM
- 用双稳态触发器来记忆信息
-
DRAM
-
原理
- 利用存储元电路中栅极电容上的电荷来存储信息
-
刷新
-
集中
- 用一段固定时间依次对存储器的所有行逐一刷新
-
分散
- 把对每一行的刷新分散到各个工作周期中去
-
异步
- 把对每行刷新分散到一整个刷新周期中去
-
-
-
-
ROM
-
MROM
- 在生产过程中直接写入,以后任何人都无法改变其内容
-
PROM
- 允许用户用专门设备写入程序,写入后内容就无法改变
-
EPROM
- 允许用户写入程序,程序员可以对其内容进行多次改写
-
Flash
- 在不加电时仍可长期保存信息且能进行快速擦除重写
-
-
主存与CPU的连接
-
扩展
-
位扩展
- 将芯片的地址、片选和读写控制端相应并联,数据端分别引出
-
字扩展
- 将芯片的地址、数据、读写控制线相应并联,片选位译码给出
-
字位扩展
- 同时进行字扩展和位扩展
-
-
片选
-
线选法
- 用除片内寻址外的高位地址线直接分别接至存储芯片的片选端
-
译码片选发法
- 用除片内寻址外的高位地址线通过译码器产生片选信号
-
提速方案
-
双端口RAM
- 有两个独立的端口,允许两个独立的控制器同时异步地访问存储单元
-
多模块存储器
-
单体多字
- 一次并行读出多个字,地址必须顺序排列并处于同一单元
-
多体并行
-
高位交叉
- 高位地址为信号,低位地址为体内地址
-
低位交叉
- 低位地址为信号,高位地址为体内地址
-
-
Cache
-
引入目的
- 解决主存与CPU在速度上的矛盾
-
映射方式
-
直接映射
- 主存数据块只能装入Cache中地唯一位置
-
全相联映射
- 可以把主存数据块装入Cache中的任何位置
-
组相联映射
- 将Cache分为若干组,一个数据块可以装入一组内的任何一个位置
-
-
替换算法
-
随机算法
- 随机地确定替换地Cache块
-
先进先出
- 选择最早调入地行进行替换
-
近期最少使用
- 选择近期内长久未访问过地存储行作为替换地行
-
最不经常使用
- 将一段时间内被访问次数最少地存储行换出
-
-
写策略
-
全写法
- 当CPU对Cache写命中时,必须把数据同时写入Cache和主存
-
写回法
- 修改时不立即写回主存,只有当此块被换出时才写回主存
-
虚拟存储器
-
引入目的
- 解决主存不足地问题
-
基本分类
-
基本分页
- 内存分为固定的块,按物理结构划分,会有内部碎片
-
基本分段
- 内存块地大小不固定,按逻辑结构划分,会有外部碎片
-
段页式
- 基本分段和基本分页地结合,会有内部碎片
-
-
组成部分
-
页表机制
- 通过查表获取相关信息
-
中断机制
- 要访问页不在内存时产生缺页中断
-
地址变换机构
- 把逻辑地址变换成物理地址
-
内存和外存
- 需要一定容量的内存和外村的支持
-
-
置换算法
-
OPT
- 选择以后不用的页面
-
FIFO
- 选择最先装入的页面
-
LRU
- 选择最近最久未用的页面
-
CLOCK
- 选择最近未用的页面
-
改进型CLOCK
- 考虑页面修改的问题
-
-
地址翻译
- TLB-页表(TLB不命中)-Cache-主存-外存
中央处理器
功能
-
指令控制
- 完成取指令、分析指令和执行指令的操作,即程序的顺序控制
-
操作控制
- 管理并产生由内存取出的每条指令的操作信号
-
时间控制
- 为每条指令按时间顺序提供应有的控制信号
-
数据加工
- 对数据进行算数和逻辑运算
-
中断处理
- 对计算机运行过程中出现的异常情况和特殊请求进行处理
基本结构
-
运算器
- 对数据进行加工和处理
-
控制器
- 发出每条指令对应的操作序列对计算机进行控制
指令执行过程
-
指令周期
-
取指周期
- 根据PC中的内容取出指令代码并存放在IR中
-
间址周期
- 取操作数有效地址
-
执行周期
- 根据指令字的操作码和操作数执行相应的操作
-
中断周期
- 处理中断请求
-
-
执行方案
-
单指令周期
- 对所有指令都选用相同的执行来完成
-
多指令周期
- 对不同类的指令选用不同的执行步骤来完成
-
流水线周期
- 指令之间可以并行执行的方案
-
数据通路
-
内部总线
- CPU内部的公共通路,多个部件共享,可以存在一条或多条
-
专用通路
- 根据指令过程中的数据和地址的流动方向安排连接线路
控制器
-
硬布线控制器
- 由复杂的组合逻辑门电路和一些触发器构成,有硬件给出控制信号
-
微指令控制器
-
概念
- 把每条机器指令设计成一个微程序,由微指令给出控制信号
-
组成
- 控制存储器、微指令寄存器、微指令形成部件、微地址寄存器
-
编码方式
-
直接编码
- 字段中每一位代表一个微命令
-
字段直接编码
- 把互斥微命令放在一段编码
-
字段间接编码
- 某些微命令放在一段编码
-
-
格式
-
操作控制字段
- 各个微操作信号的集合
-
顺序控制字段
- 包括判断测试字段和后继微地址字段
-
-
指令流水线
-
分类
-
按使用级别分
- 部件功能流水线、处理机级流水线、处理机间级流水线
-
按完成功能分
- 单功能流水线、多功能流水线
-
按连接方式分
- 动态流水线、静态流水线
-
按有无反馈信号分
- 线性流水线、非线性流水线
-
-
影响因素
-
结构相关
- 由于多条指令在同一时刻争用同一资源而形成的冲突
-
数据相关
- 必须等前一条指令执行完才能执行后一条指令的情况
-
控制相关
- 遇到转移指令和其他改变PC值的指令而造成断流
-
-
性能指标
- 吞吐率、加速比、效率
-
基本技术
- 超标量流水线技术、超流水线技术、超长指令字技术
总线
概述
-
定义
- 一组能为多个部件分时共享的公共信息传送线路
-
分类
-
片内总线
- 用来连接芯片内部内各个部件
-
系统总线
- 用来连接计算机系统内各功能部件
-
通信总线
- 用于连接计算机系统之间或计算机系统与其他系统
-
-
性能指标
- 传输周期、时钟周期、总线宽度、总线带宽等
仲裁
-
集中式
-
链式查询
- 根据线的连接顺序依次查询每个部件有无请求
-
计算器定时查询
- 对每个设备编码,用计算器依次查询
-
独立请求方式
- 在总线控制器中排队,按照一定规则批准某个请求
-
-
分布式
- 不需要中央仲裁器,每个潜在的主模块都有自己的仲裁号和仲裁器
总线周期
-
申请分配阶段
- 主设备向总线提出使用请求
-
寻址阶段
- 通过总线发出本次要访问的从模块的地址及有关命令
-
传输阶段
- 主模块和从模块进行数据交换,可单向或双向进行数据传送
-
结束阶段
- 主模块的有关信息均从系统总线上撤除,让出总线使用权
定时
-
同步
- 系统采用一个统一的时钟信号来协调发送和接收双方的传递定时关系
-
异步
-
概念
- 没有统一的时钟,依靠相互制约的“握手”来实现定时通信
-
分类
- 不互锁、半互锁、全互锁
-
输入/输出方式
外部设备
-
输入设备
- 键盘、鼠标等
-
输出设备
- 显示器、打印机等
-
外存储器
- 硬盘存储器、磁盘阵列、光盘存储器等
I/O接口
-
主要功能
- 实现主机和外设的通信联络控制
- 进行地址译码和设备选择
- 实现数据缓冲
- 信号格式的转换
- 传送控制命令和状态信息
-
组成
- 数据缓冲寄存器、设备选择电路、命令寄存器、命令译码器、内部接口、外部接口、设备状态标记、控制逻辑电路
-
编址
-
统一编址
- 把I/O端口当做存储器的单元进行地址分配
-
独立编址
- I/O端口独立编址,设置专门的输入/输出访问端口
-
I/O方式
-
程序查询
- 由程序不断的查询外设的状态,直到外设准备就绪
-
程序中断
-
工作流程
-
中断请求
- 中断源向CPU发出中断信号
-
中断判优
- 判断多个中断源的优先级
-
响应条件
- 有中断源提出中断请求
- CPU允许中断及开中断
- 一条指令执行完毕且没有更紧迫的任务
-
中断隐指令
- 完成关中断、保护断点、引出中断服务程序
-
中断向量
- 查询中断服务程序的入口地址
-
中断处理
- 执行中断服务程序最后恢复现场,中断返回
-
-
多重中断
-
概念
- 当CPU处理中断时,又有更高优先级的中断请求
-
条件
- 在中断服务程序中提前设置开中断指令
- 优先级别高的中断源有权中断优先级别低的中断源
-
-
中断屏蔽技术
- 在处理中断时,用中断屏蔽字屏蔽掉某些中断源
-
-
DMA
-
组成
-
主存地址计数器
- 存放要交换数据的主存地址
-
传送长度计数器
- 用来记录传送数据的长度
-
数据缓冲寄存器
- 用于暂存每次传送的数据
-
DMA请求触发器
- I/O设备准备好数据后使DMA请求触发器复位
-
控制/状态逻辑
- 由控制和时序电路及状态标志组成
-
中断机构
- 数据块传送完毕后触发终端机构,提出中断请求
-
-
传送方式
-
停止CPU访存
- 当需要传送数据时,停止CPU对主存的访问
-
交替访存
- 将CPU周期分为DMA访存和CPU访存两个部分
-
周期挪用
- I/O设备需要访存时,停止CPU对主存的访问
-
-
传送方程
-
预处理
- 完成寄存器置初始值之类的准备工作
-
数据传送
- 占用总线传输数据,数据传送完全由DMA控制
-
后处理
- CPU执行中断服务程序做结束DMA处理
-
-
百度网盘链接:
链接:https://pan.baidu.com/s/1bvKbj3Iv2knIjU5PALwshg
提取码:8h7n
(需要请自取)