标签:状态 请求 com 暂停 取出 程序设计 选择 搬家 图片
这篇用来存档 基本并不能帮助大家速成 只是博主突击时用来巩固时用的(假装大家都看不见)
教材:《计算机组成原理》唐朔飞版
内容:第四章到第八章不完全总结
chapter 4
存储器
存储器的层次结构:缓存-主存 提高速度 主存地址 实地址 物理地址
主存-辅存 提高容量 虚拟存储器 虚地址 逻辑地址
2^地址线 * 数据线 =存储容量
半导体存储器芯片的译码驱动方式:线选法 重合法
动态RAM刷新:
在规定的一个刷新周期内,对全部存储单元集中一段时间逐行进行刷新,此刻必须停止读、写操作。存在“死时间”
对每行存储单元的刷新分散到每个存储周期内完成,不存在读写操作死时间,但存取周期长了,整个系统速度降低了
是两种方式的结合 既可缩短死时间,又充分利用最大刷新间隔为2ms的特点。
海明码:2^k >=n+k+1
K=3 1 3 5 7 2 3 6 7 4 5 6 7
K=4 3 5 7 9 11 3 6 7 10 11 5 6 7 9 10 11
Cache-主存地址映射
直接映射:有固定的映射关系,某一主存块只能固定映射到某一缓存块
优点:实现简单,只要利用主存地址的某些位直接判断,即可确定所需字块是否在缓存中
缺点:不够灵活。
全相联映射:某一主存块可以映射到任一缓存块
优点:方式灵活 命中率更高 缩小了块冲突率
缺点:逻辑电路甚多 成本较高
组相联映射:是直接映射和全相联映射的一中折中。某一主存块能映射到某一缓存组中的任一块
性能及复杂度介于直接映射和全相联映射之间。
chapter 5
I/O设备与主机信息传送的控制方式
程序查询方式:CPU启动I/O设备后便不断查询I/O设备是否已做好准备。启动I/O设备,CPU便不断查询I/O设备的状态,若查得I/O设备未准备就绪,就继续查询;若查得I/O设备准备就绪,就将数据从I/O接口送至CPU,再由CPU送至主存,一个字一个字地传送,直至全部结束,CPU回到原现行程序。
特点:
程序中断方式:启动I/O设备后,不查询设备是否已准备就绪,继续执行自身程序,当I/O设备准备就绪并向CPU发出中断请求后才给予响应。处理完中断后返回原程序断点处,继续执行原程序
特点:
(硬件需增加相应电路,软件必须编制中断服务程序)
过程:
D设备准备就绪 EINT允许中断触发器(开中断、关中断)
DMA方式:主存与I/O设备之间有一条数据通路,无需调用中断服务程序,若CPU和DMA同时访存,总是把总线占有权给DMA,DMA窃取或挪用一个存取周期。
特点:
DMA与主存交换数据的三种方法(优缺点?):
DMA的数据传送过程:
预处理 数据传送 后处理
DMA接口类型:
选择型 多路型
DMA与程序中断方式比较:
chapter 6
无符号数和有符号数,定点表示和浮点表示
X=0时,[+0]原=0,0000 [-0]原=1,0000 [+0]原[-0]原
[+0]补=0,0000 [-0]补=0,0000 [+0]补[-0]补
[+0]反=0,0000 [-0]反=1,1111 [+0]反[-0]反
[+0]移=1,0000 [-0]移=1,0000 [+0]移[-0]移
补码或移码唯一
原码小数点(小数)或逗号(整数)前永远是符号位
[y]补求[-y]补:连同符号位,每位取反,末位加一
移码:补码符号位取反
IEEE754: 短实数 符号位1 阶码8 位数23 总位数32
定点运算
有符号数的移位:算术移位 无符号数的移位:逻辑移位
现代计算机使用补码加减法
补码加减法(符号位也做运算,由于模2,溢出丢掉即可):
[A]补+[B]补=[A+B]补 [A-B]补= [A]补+[-B]补 (记得溢出判断)
补码:参与加减的两个数符号相同但与结果符号不同,则溢出
变形补码:结果的符号位不用则溢出,高位为真正的符号
原码一位乘:逻辑移位、移位次数判断结束、n次加法和n次移位
原码两位乘:算术移位、移位次数判断结束、n/2+1次加法和n/2次移位(n为偶)
补码乘法(booth算法,被乘数和乘数符号均任意的情况):
原码乘符号位单独处理,补码乘符号位自然形成
chapter 7
指令的一般格式
操作码:长度固定(集中放在指令字的一个字段内,用于指令字较长的情况)、
长度不固定(分散在指令字的不同字段中,增加译码和分析的难度)、
扩展操作码(位数随地址数减少而增加)
扩展操作码:
地址码(通常是形式地址而不是有效地址):两个源操作数、结果、下一条指令
四地址:四次访存、A1(OP)A2 →A3
三地址:四次访存、A1(OP)A2 →A3、PC代替A4
二地址:四次访存(若结果存于ACC则三次访存)、A1(OP)A2 →A1、结果存于A1
一地址:两次访存、ACC(OP)A1→ACC、ACC代替原A1
零地址:无地址码
指令字长:取决于操作码长度、操作数地址的长度、操作数地址的个数
指令字长固定:指令字长=存储字长
指令字长可变:按字节的倍数变化
寻址方式
寻址方式:确定本条指令地址的数据地址、确定下一条将要执行的指令地址,包括指令寻址和数据寻址
指令寻址:顺序寻址、跳跃寻址
数据寻址:
RISC的特点
chapter 8
CPU的结构(ALU、CU、寄存器、中断系统)
CPU功能:指令控制(控制程序的顺序执行)、操作控制(产生完成每条指令所需的控制命令)时间控制(对各种操作加以时间上的控制)、数据加工(对数据进行算术运算和逻辑运算)、处理中断
CPU的寄存器:
CU控制单元:产生全部指令的微操作命令部件(两种方法:组合逻辑设计方法(硬连线逻辑)、微程序设计方法(存储逻辑))
指令周期
指令周期=取指周期(取指、分析)+间址周期+执行周期(执行)+中断周期
指令流水
为什么要用指令流水?提高细粒度并行性,开发系统的并行性,提高机器速度——小圆想的,错了不挨打
指令的二级流水:如果指令的执行阶段不访问主存,就可以利用这段时间取下一条指令,使得取下一条指令的操作和执行当前指令的操作同时进行,这就是两条指令的重叠
指令预取:由指令部件取出一条指令,并将它暂存起来,如果执行部件空闲,就将暂存的指令传给执行部件执行。与此同时,指令部件又可取出下一条指令并暂存起来。
如果取值和执行阶段时间上完全重叠,指令周期减半,速度提高一倍。影响效率加倍的因素?
影响流水线性能的因素?(看书上的例子)
解决?
a) 后推法:流水线在完成前一条指令对数据的存储器访问时,暂停(一个时钟周期)取后一条指令的操作
b) 指令存储器和数据存储器分开,以免取指令和取操作数同时进行时互相冲突
c) 指令预取技术,适用于访存周期短的情况
解决?
a) 后推法:遇到数据相关时,就停顿后继指令的运行,直至前面指令的结果已经生成
b) 定向技术(旁路技术、相关专用通路技术):不必等某条指令的执行结果送回到寄存器后,再从寄存器中取出该结果,作为下一条指令的源操作数,而是直接将执行结果送到其他指令所需要的地方放。
解决?(了解)
尽早判别法,转移预测法,加快和提前生成条件码,提高猜准率
数据相关分类:
流水线性能指标:吞吐率、加速比、效率
流水线中的多发技术:
1. 超标量技术:每个时钟周期内同时并发多条独立指令,即以并行操作方式将两条或两条以上指令编译并执行
要求配置多个功能部件,要求通过编译优化技术把可并行的指令搭配起来,硬件不能调整指令执行顺序
2. 超流水技术:将一些流水线寄存器插入到流水线段中,好比将流水线再分段。使得一个时钟周期内一个功能部件使用多次
硬件不能调整指令的执行顺序,靠编译程序解决优化问题
3. 超长指令字技术:由编译程序在编译时挖掘出指令间潜在的并行性后,把多条能并行操作的指令组合成具有多个操作码字段的超长指令
采用多个处理部件。对优化编译器的要求高,对Cache容量要求大。
中断系统
标签:状态 请求 com 暂停 取出 程序设计 选择 搬家 图片
原文地址:https://www.cnblogs.com/zhanjiahui/p/12234519.html