根据王道专业书课后习题整理得到,md文档网址:https://gitee.com/infiniteStars/wang-dao-408-notes
解析:在取值阶段取的是指令,执行阶段取的是数据。容易选成 指令操作码的译码结果,需要注意的是,CPU只有在确定取出的是指令时,才会将其操作码送去译码。
各种关系的转换
MIPS = 时钟频率/CPI
程序执行时间 = CPI * 时钟周期 * 指令数
指令周期 = 1 / 指令执行速度
微机逻辑电路相同,指的是 CPI 相同, 时钟周期不一定相同
原码正数: 0.1…… 原码负数:1.1……
补码正数: 0.1…… 补码负数:1.0……
在对阶操作中,不存在阶码减小,位数左移的情况。因为阶码小的要向阶码大的对齐。
采用规格化浮点数主要是为了增加数据的表示精度
8421码是十进制数的编码
原码表示的规格化小数是小数点后两位(基数为4,用两位表示)不全为0的小数
定点数没有舍入的概念,只有浮点数才有
浮点数舍入的情况有两种:1. 对阶 2. 右规格化
舍入不一定产生误差
float类型(IEEE754 单精度浮点数格式)能表示的最大正整数是 2^128 - 2^104
尾数溢出时,可能只产生误差,结果不一定溢出
对阶操作不会引起阶码上溢或下溢
公式 = 1/ [H + (1-H)*r] H为命中率,r 为主存访问时间除以 Cache访问时间
DRAM采用地址复用技术,因此地址线只有一半
因为寄存器的数量较小,使用较少的位数即可全部表示
因为在执行本条指令时,PC已完成加一操作
采用跳跃寻址时,可以实现程序的无条件浮动和条件浮动
指令寄存器寻址和指令寄存器间接寻址所需的指令码长度最短,立即寻址,直接寻址,间接寻址方式的指令码长度最长
寄存器寻址方式执行速度最快,间接寻址方式的执行速度最慢
若指令系统采用定长指令码格式,则立即寻址方式执行速度最快。若采用变长指令码格式时,寄存器寻址方式执行速度最快
两数相加寄存器变化:
OF(溢出标志位,over flag): 没有溢出为0
SF(符号标志位,symbol flag):看符号位
CF(进位标志位,carry flag):sub⊕C (做减法时sub为1,C作为进位输出)
ZF(零标志位,zero flag)相关指令执行后结果为0那么 ZF=1,结果不为0则 ZF=0;
需要对标志寄存器的内容进行测试,看是否满足转移条件
采用CPU内部总线方式的数据通路的特点:结构简单,容易实现,性能较低,存在较多的冲突现象
在总线仲裁方式中,独立请求方式响应时间最快,是以增加控制线数为代价的
中断向量是中断服务程序入口地址,中断向量地址是中断服务程序入口地址的地址(重要)
可以提出中断的有 外部事件,虚拟存储器失效,浮点数运算上溢, 浮点数运算下溢不能引起中断
DMA的优先级比程序中断的优先级高
能产生DMA请求的总线部件是具有DMA接口的设备
中断优先级从高到低:访管->程序性-> 重新启动
检测有无DMA请求,一般在存取周期结束后,而不是在指令周期结束后(易错)
设置中断屏蔽标志可以改变多个中断服务程序执行完的次序
中断方式的特点是 CPU与外设并行工作,传送与主程序串行工作
CPU响应DMA请求的条件是当前机器周期执行完
中断发生时,程序计数器内容的保护和更新是由硬件自动完成的
在DMA方式下,数据从内存传送到外设经过的路径是内存->数据总线->DMAC(DMA的数据缓冲寄存器)->外设
DMA传送前由设备驱动程序设置传送参数,传送结束后的处理由中断服务程序完成