计算机组成原理
6
6.1
机器数是符号化的数字 如 1 0001 表示 -1
真值是带有加减的数字 如 - 0001 表示 -1
原码为可以视为机器数
布码 正数不变 负数取反+1
反码
## 6.2
定点表示 符号 正数部分 小数部分
浮点表示 阶号 阶码部分 数符 尾数值
数符 尾数 * 阶号 阶码部分
32 8(1+7) 24(1+23)
64 11(1+10) 53(1+52)
80 15(1+14) 65(1+64)
规格化
尾码为0视为0
IEEE754:
32 8(1+7) 24(1+23)
64 11(1+10) 53(1+52)
80 15(1+14) 65(1+64)
# 7
## 7.1
instruction
操作码+地址码
op+address
操作码 地址码 地址码 地址码
1111 xxxx
1111 1111 xxxx
1111 1111 1111 xxxx
用地址码扩展操作码 15+15+15+16 = 61
### 7.1.1 #### 7.1.1.2 地址码
四地址 op a1 a2 a3 a4
操作 操作数1 操作数2 结果3 下一指令地址
三地址 op a1 a2 a3 (相比于四地址,三地址省略了下一指令地址,吓一指令地址可以通过pc 程序计数器获取)
二地址 op a1 a2 (相比于三地址,二地址省略了结果地址,其结果可以重新写入a1 也就是 a1 = a1 + a2 )
二地址 (a1)op(a2)->a1 (a1)op(a2)->acc 前者存入操作数a1地址中,后者存入acc中,都可以把结果地址省略
一地址 op a1 (相比于二地址,一地址又减少了一个操作数的取值地址)
一地址 (acc)op(a1)->acc 如 从 acc 和 a1地址取值 得出结果后存入 acc (或者存入 a1)
零地址 例如 进栈出栈 可以利用sp指针
Trap(陷入)/访管 指令
## 7.3 寻指方式
### 7.3.1 指令寻址
顺序寻址 pc
跳跃寻址 jup->pc
### 7.3.2 数据寻址
操作码 寻址特征 形式地址
立即寻址:
op 立即寻址特征 立即数 (这里的立即数就是操作数本身而非操作数地址 ,可以直接使用无需再去取地址 )
直接寻址:
op 寻址特征 形式地址
EA=A (EA 真实地址) A的范围 A的值
隐含寻址:
ADD 寻址特征 形式地址
ACC中存有另一个
间接寻址
EA=(A)
---- 操作数为 (EA)
所以可以理解为A为指令中内容 (A) A所在地址内容,也就是EA:操作数地址,(EA)为操作数内容
可以理解操作数 = ((A))
间接寻址可以是一次间接也可以是多次间接
寄存器寻址
EA=Ri 因为 Ri 为寄存器地址 所以不需要读内存 操作数为(Ri)
写法上 EA=Ri 和 EA=A
前者是寄存器寻址后者是直接寻址,不同之处 (Ri) 不是读内存,而是读寄存器,所以虽然写法相同但是读取的地址不同
后者 (A) 读取的地址为主存
寄存器间接寻址
EA=(Ri)
基址寻址
EA=A+(BR)
变指寻址
EA=A+(IX)
相对寻址
EA=(PC)+A
堆栈寻址
SP+X->SP
SP-X->SP
# 8 CPU
## 8.1 ### 8.1.1
取指令
分析指令
执行指令
顺序执行:指令控制,控制命令:操作控制,时间控制,数据控制,中断处理
### 8.1.3 CPU寄存器
用户可见寄存器 : 通用寄存器,数据寄存器,地址寄存器
控制和状态寄存器: MAR,MDR,PC,IR
## 8.2 指令周期
取指阶段 执行阶段
取指周期 执行周期
(取指+分析) (执行指令)
取指周期 间址周期 执行周期 (存在间接寻址的指令)
### 8.2.2 ****** 指令周期的数据流
### 8.4.1 中断系统
中断判优
### 8.4.4 中断相应
中断相应的条件
条件/时间/隐指令
中断隐指令
保护程序断点「保存pc内容也就是保存当前程序运行到底地址」
寻找中断服务的入口地址「要执行程序的地址」
关中断「不再接收其他程序」
### 8.4.5 保护现场和恢复现场
### 8.4.6 中断屏蔽技术
多重中断条件(单重中断/多重中断)
开中断
中断优先级
屏蔽技术
屏蔽触发器与屏蔽字
1就屏蔽
1111111 全屏蔽
0111111 又一个没有屏蔽
多重中断中断点保护
# 9
## 9.1
取间执中
取指令
间接寻址
执行指令
中断指令