chap1 绪论
1. 冯诺伊曼体制
- 采用二进制代码表示数据和指令
- 采用存储程序工作方式
- 由运算器、控制器、存储器、输入设备、输出设备构成计算机硬件
2. 存储程序工作方式
- 事先编制程序
- 事先存储程序
- 自动、连续地执行程序
3. 指令执行的过程
- 取指令和分析指令
- 读取操作数
- 运算
- 后继指令地址
4. 提高CPU性能的技术
- 流水线处理技术
- 超标量技术
chap2 计算机中的信息表示
1. 十进制小数->二进制:乘2取整,顺序排列(结果可能循环)
2. 常用寻址方式
- 立即寻址:指令直接给出操作数
优点:不访问内存,执行时间短缺点:灵活性差
e.g. MOV AX 12H
- 直接寻址:指令直接给出操作数地址,根据该地址从主存读取操作数
优点:速度快缺点:寻址受地址码长度影响,只能访问固定单元
e.g. MOV AX [12H]
- 寄存器寻址:指令直接给出寄存器号,该寄存器存放操作数(属于直接寻址的一种)
优点:寄存器存取比内存快(不需要经过系统总线,只经过内部总线) 寄存器数目比内存单元数目少,指令的OA长度可以缩短e.g. MOV AX BX
- 间接寻址:指令给出存放操作数地址的主存单元的地址(地址的地址)
优点:编程灵活缺点:增加访存的次数,速度慢
- 寄存器间接寻址:指令给出存放存放操作数地址的寄存器号
- 变址寻址:指令的一部分给出形式地址,另一部分指定一个寄存器存放变址值,相加得到有效地址(常用)
- 相对寻址:用PC的内容作为基准地址,指令中给出的形式地址作为基准量,相加得到有效地址
即操作数的地址是通过与当前指令地址之间的距离得到的
- 堆栈寻址:操作数在堆栈中,指令隐含通过SP提供堆栈栈顶单元地址
用途:中断处理时保存现场信息
chap3 微体系结构——CPU组织
1. 取指令过程1⃣️ (PC) -> IRPC -> MARM -> MDR -> IR2⃣️ PC + 1 -> PC
2. 时序控制方式
- 同步控制方式:各项操作由统一的时序信号控制
多级时序系统
- 机器周期(组合逻辑控制器中才有,微程序控制器的多级时序系统不存在这一级)
- 节拍(时钟周期)
- 时钟脉冲:下降沿配合节拍作切换,上升沿配合节拍作数据传输
- 异步控制方式:应和答
3. 移位
- 逻辑移位:只是位置变化,移掉补0
- 循环移位:最高/低位移入最低/高位
- 祘术移位
- 原码祘术移位:符号位不变,左/右移补0
- 补码祘术移位
- 补码祘术左移:各位左移,末尾补0,符号位发生变化时溢出中断
- 补码祘术右移:保持符号位,复制符号位至最高位
4. 模型机时序系统
- 工作周期划分
- 取指周期 FT
- 源周期 ST
- 目的周期 DT
- 执行周期 ET
- 中断响应周期 IT
- DMA周期 DMAT
5. 微程序控制的基本思想:用微程序/指令完成一个节拍的操作将机器指令分解为基本的微命令序列,用二进制代码表示这些微命令,并编成微指令,多条微指令再形成微程序。每条机器指令对应一段微程序,固化在CPU中的控制存储器(CM)中。本质:不断读取CM中的指令实现操作控存CM
- 一个单元的内容:一条微指令
- 一个单元的地址:微地址
6.微程序执行过程:
- CM --取指微指令-> μIR ---> 译码器 --机器指令-> IR
- IR --机器指令的操作码-> 微地址形成电路 --微程序入口地址-> μMAR
- CM --根据入口地址取出的微指令-> μIR ---> 译码器 --机器指令-> 操作部件 (重复3直至微程序执行完毕)
- 回到步骤1,取出下一条机器指令
chap4 指令系统层
1. 8086 CPU 中,取指令和执行指令的功能分别由总线接口部件(BIU)和执行部件(EU)两个部件独立完成
2. 结果标识位
- OF(OverFlow Flag)溢出标志 1溢出 0未溢出
- SF(Sign Flag)符号标志 1负 0正
- ZF(Zero Flag)零标志 1表示结果全0
- CF(Carry Flag)进位标志 1表示有进位
- IF(Interrupt Flag) 中断标志 1表示准许CPU响应可屏蔽中断
3.常用指令整理
- MOV 传送指令
- PUSH 进栈指令
- POP 出栈指令
- XCHG 交换指令
- LEA 有效地址送寄存器
- LDS/LES/LSS 地址指针送寄存器和段寄存器指令
LDS DEST, SRC
DEST <= SRCDS <= (SRC + 2) or DS <= (SRC + 4)
- ADD 加法
- ADC 带进位加法
- INC 加1
- SUB 减法
- SBB 带进位减法
- DEC 减1
- CMP 比较
CMP DEST, SRC作用:DEST - SRC 不改变原操作数与目的操作数结果:ZF = 1 DEST = SRC 对于无符号数 CF = 0 DEST >= SRC CF = 1 DEST < SRC 对于带符号数 OF = SF DEST > SRC OF != SF DEST < SRC
- MUL 乘法
- DIV 除法
- AND 与
- OR 或
- NOT 非
- XOR 异或
- TEST 测试
TEST DEST, SRC
作用 DEST ^ SRC (与)
- SHL(SHift logical Left) 逻辑左移
- SHR(SHift logical Right) 逻辑右移
- SAL(Shift Arithmetic Left) 祘术左移
- SAR(Shift Arithmetic Right) 祘术右移
- ROL(ROtate Left) 循环左移
- ROR(ROtate Right) 循环右移
- RCL(Rotate Left through Carry) 带进位循环左移
- RCR(Rotate Right through Carry)带进位循环右移
- CLC(CLear Carry flag) CF置0
- STC(SeT Carry flag) CF置1
- CMC(CoMplement Carry flag) CF取反
- CLD(CLear Direction flag) DF置0
- STD(SeT Direction flag) DF置1
chap5 汇编语言层
1. 地址表达式AT1 DW ARYAT1存放ARY的偏移地址(16位)AT1 DD ARYAT1前两字节存放ARY偏移地址,后两字节存放ARY的段地址
2. 数值返回运算符
- SEG 返回段基值
- OFFSET 返回偏移地址
- TYPE BYTE返回1,WORD返回2,DWORD返回4
- SIZE LENGTH * TYPE
- LENGTH DUP重复的次数,没有DUP返回1
3. 属性修改运算符 PTRMOV WORD PTR DA_BYTE[10], AX强制转换DA_BYTE为WORD类型,将AX赋值给他
4. 跳转指令
- JMP 无条件跳转
- JC CF = 1
- JNC CF = 0
- JE/JZ ZF = 1
- JNE/JNZ ZF = 0
- JA/JNBE CF = 0 && ZF = 0
- JAE/JNB CF = 0 || ZF = 1
- JB/JNAE CF = 1 && ZF = 0
- JBE/JNA CF = 1 || ZF = 1
- JG/JNLE SF = OF && ZF = 0
- JGE/JNL SF = OF || ZF = 1
- JL/JNGE SF != OF && ZF = 0
- JLE/JNG SF != OF || ZF = 1
chap6 存储系统
1. DRAM重写:因为破坏性读出,只针对某个单元动态刷新:因为电荷泄漏,针对全部单元
cache组织 P278 (三种地址格式)
- 直接映像
- 全相联映像
- 组相联映像
2. 磁介质写入:电磁转换读出:磁电转换
3. Cache工作原理:基于程序和数据访问的局部性
写方式写回法:块内容替换出cache是才写入主存写直达法:写入cache时同时写入主存
4. 虚存组织方式:页式虚拟存储器段式虚拟存储器段页式虚拟存储器
chap7 输入输出系统
1. I/O接口编址:与存储器统一编址,I/O端口单独编址(IN/OUT)
2.直接程序控制方式立即程序传送方式程序查询方式
3.程序中断方式中断入口地址形成方式
- 查询法
- 单独请求线编码
- 向量中断法




Comments | 1 条评论
感谢博主的整理和分享w