第四章 指令系统

1.指令格式

扩展操作码指令格式
(1).方式一(这种方式要记得,除了零地址,其他的都需要留一位进行扩展)


(2)方式二:(要求最短的指令字长就使用这种方式)



2.指令的寻址方式

隐含寻址
注意下隐含寻址,这个有点忽略了

三种偏移寻址
(7)基址寻址



(8)变址寻址





(9)相对寻址




3.精简指令集RISC和复杂指令集CISC

4.指令的机器级代码表示







5.函数调用时,如何切换栈帧
栈顶往低地址走,栈底元素在高位地址!!!




add函数执行完成后接着调用的IP值,回到调用函数的下一条指令
总结:

很重要!!!
call(把IP旧值压栈,旧栈帧栈顶)+enter(新栈帧栈低放入上一层栈帧基址)
leave(定位到当前栈帧底部,pop,栈顶指针指向旧帧栈顶)+ret指令(从栈帧顶部得到IP旧值,赋值给IP寄存器)



第五章 中央处理器
1.CPU的基本结构


2.指令执行过程

对比五段式指令流水线:取指周期、译码、执行周期、访存、写回周期



3.数据通路



多路选择器功能是:通过控制信号确定两个输入端其中之一的数据从输出端输出
4.控制器功能和工作原理



注意当Store指令时,可能只有一个内存地址,指令有可能包含隐含寻址过程,
5.微程序、微指令相关
主存储器和控制存储器对比:主存储器用于存放程序和数据,在CPU外部,用RAM来实现;控制存储器CM用于存放微程序,在CPU内部,用ROM实现。比如可用EPROM
微程序控制器采用存储逻辑实现,微程序存储在控制存储器CM中。
|-------|------------------|
| 一条指令 | 一个微程序 |
| 一个微程序 | 包含多个微指令 |
| 一个微指令 | 包含多个命令(看3.微指令格式) |
| 一个微命令 | 控制一个微操作 |
| 一条指令 | 不同机器周期执行多个不同的微操作 |


微指令的编码方式(垂直型):微指令短、简单、规整,但是微程序长,执行速度慢,效率低
微指令的编码方式(水平型):
注意字段直接编码这块有坑,对实际所需的指令数量需要加一再确定编码位数

还有一种字段间接编码:一个段的命令编码可能需要其他的段来参与解释




注意:对取指周期的微指令序列只需要在内存中保存一次即可。这块看题目怎么说。不要忽略这个共同的取指周期。
6.指令流水线(重要!!!)





7.流水线多发技术



8.多处理器




1.多核CPU:一个CPU芯片含有多个核
2.多CPU处理器:也是多处理器,本质上和多核CPU一样
共享存储多处理器:SMP 共享存储MIMD 一般采用偶数路CPU
超线程技术SMT:硬件多线程(同时多线程,也就是超线程技术:一个或单个核中设置了两套线程状态部件,共享高速缓存和功能部件↑)


