计算机组成原理

概论
CPI平均指令周期数
MIPS百万级指令每秒
CPU的CPI与时钟频率无关
数据
定点数:
1.纯整数
2.纯小数
有符号数:
原码,不适合加法运算,发现[a+-b]原 !=[a]原+-[b]原
1,001 => -(1)
反码
没有实际意义,只是过渡阶段
补码,补码适合加减法,发现[a+-b]补 =[a]补+-[b]补
实际上补码减法也是通过换成加法来的
1,001 => (-8 + 1) = -7
.
因为有2^8=256
原码有正负0,补码没有正负0
但是+0(0,000 0000)和-0(1,000 0000)多了
所以256-1
移码
从补码一一对应过来的,用于方便比较数字大小
补码+2^n = 移码
逻辑移位算术移位
算数左移不应该改变符号位,符号位不动
加减法
现代计算机都是用补码加减法
溢出的判断:
双符号位的意义:
10
真正的符号是1,本来的符号位是0
所以是负溢出
计算机讲座2
题目:
特权指令:
1)允许和禁止中断,控制中断禁止屏蔽位
2)在进程间切换处理
3)存取用于主存保护的寄存器
4)执行I/O操作
5)停止一个中央处理器的工作
6)清理内存
7)设置时钟
8)建立存储键
9)加载PSW
*
寻址方式
这里采用特殊寻址方式则指令格式
操作码OP 寻址特征M 形式地址
1.立即寻址
2直接寻址 间接寻址。。。。
间接寻址{
一次间接
多次间接
多次间接就需要1个标志位
}
基址寻址,BX用户不可修改
变址寻址,IX用户可修改
相对寻址,是以下一条指令的PC为基准
指令格式设置
想要端操作吗和长操作码同时存在于指令系统
则需要让短操作码不能是长操作码的前缀
0000~1110是4位操作码
1111 0000 ~ 1111 1110是8位操作码
短操作码不断变成长操作码
每次增长必须是多占用一个操作数长度
指令周期
唐书的和csapp不一样
唐书说通过取指阶段从存储器取出指令
执行阶段从存储器取出数据
由于控制器的控制知道是啥阶段,所以控制器可以区分拿到指令还是数据
唐叔认为,CPU想要响应中断一定是等到上一条指令结束执行周期
且唐书认为PC++必须在取指阶段
指令周期
机器周期:比如取指周期
时钟周期;比如T0
指令周期{
机器周期1-取指周期:{
时钟周期1-T0
时钟周期2-T1
}
机器周期2-间址周期:
{
}
}
流水线
结构相关
有两个想要同时使用访存主存(但只能同一时间允许最高一个)
暂停
指令和数据分开储存
数据相关
先写后读
旁路技术
控制相关
跳转所以会使得流水线不能按照原先预想的那样流水
所以流水线(一直按照PC+1流水的顺序)会错
暂停+分支预测
流水线性能指标
直接做题理解
看天勤P222
数据通路
天勤206
理解流程
速成
P9
1.DMA是每传送完一个数据块就中断一次作为后处理,中断过程不包括穿字节
每一份数据块就有预处理数据传输后处理
程序中断是每次通过一次中断来传送一字节,中断过程包括穿字节包括数据传输
首选位扩展
1KB=1024B
存储器