计组知识点
第4章指令系统
4.1指令系统
1.指令集体系结构ISA
2.指令的基本格式
零地址,一地址,二地址,三地址
3.定长操作码指令
4.扩展操作码指令
(1)不允许短码是长码的前缀
(2)各指令的操作码一定不能重复
计算题考点:设地址长度为n,上一层留m种用于扩展,下一层可扩展m*2^n^
5.指令的操作类型
(1)数据传送类
(2)运算类->算数和逻辑运算,移位操作
(3)程序控制类:转移操作
中断隐指令是硬件完成的,不属于程序控制指令
(4)输入和输出操作
4.2指令的寻址方式
1.指令寻址
确定下一条指令存放的地址,由PC指明
(1)顺序寻址 PC=PC+“1“,1为一个指令字长
(2)跳跃寻址 ,执行转移类指令时,PC的值被修改
2.数据寻址
表格中访存次数不包含取指的访存
| 寻址方式 | 有效地址 | 访存次数 |
|---|---|---|
| 隐含寻址 | 程序指定 | 0 |
| 立即寻址 | A即是操作数 | 0 |
| 直接寻址 | EA=A | 1 |
| 一次间接寻址 | EA=(A) | 2 |
| N次间接寻址 | EA=(((A))) | N+1 |
| 寄存器寻址 | EA=R |
0 |
| 寄存器间接一次寻址 | EA=(R |
1 |
| 相对寻址 | EA=PC+A | 1 |
| 基址寻址 | EA=(BR)+A | 1 |
| 变址寻址 | EA=(IX)+A | 1 |
| 堆栈寻址 | 硬堆栈(寄存器) | 0 |
| 堆栈寻址 | 软堆栈(主存) | 1 |
| 寻址方式 | 知识点 |
|---|---|
| 立即寻址 | 指令执行期间不访存 |
| 隐含寻址 | 有效缩短指令字长 |
| 变址寻址 | 解决数组问题(A不可变,IX可变,面向用户) |
| 基址寻址 | 多道程序设计或数据分配存储空间(BR不可变,A可变,面向系统) |
| 相对寻址 | 便于程序浮动 |
4.4 CISC和RISC
复杂指令系统CISC
精简指令系统RISC
CISC和RISC的对比
| CISC | RISC | |
|---|---|---|
| 指令系统 | 复杂庞大 | 简单,精简 |
| 指令数目 | 一般大于200条 | 一般小于100条 |
| 指令字长 | 不固定 | 定长 |
| 可访存指令 | 不加限制 | 只有LOAD/STORE指令 |
| 各种指令执行时间 | 相差较大 | 绝大多数一个周期内完成 |
| 各种指令使用频度 | 相差较大 | 都比较常用 |
| 通用寄存器数量 | 少 | 多 |
| 目标代码 | 难以用优化编译生成 | 优化的编译程序,生成代码高效 |
| 控制方式(绝大多数) | 微程序控制 | 组合逻辑 |
| 指令流水线 | 非必须 | 必须 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Sereincease's Blog!
评论

