4.3 指令系统CISC和RISC(20)
发布时间
阅读量:
阅读量
指令系统中两种设计方向
1,CISC
Complex Instruction Set Computer
复杂指令
设计思路:一条指令完成一个复杂的功能
代表:x86:台式机、笔记本
80-20规律:典型程序中,只有80%的语句需要20%的指令
2,RISC
流水线:同一时刻不同指令占用不同的资源
| CISC | RISC | |
|---|---|---|
| 设计思想 | 一条指令完成一个复杂的功能 | 一条指令完成一个基本“动作”,多条指定组合成一个复杂的功能 |
| 代表 | x86:台式机、笔记本 | 手机、平板 |
| 设计 | 主要是通过通用电路配合“特定电路存储部件”完成指令(微程序) | 基本动作通过并行、流水线去实现组合 |
| 指令系统 | 复杂、庞大 | 简单 |
| 指令数目 | 多 | 少 |
| 指令字长 | 不确定 | 确定 |
| 可访存指令 | 大部分可以访存 | 只有Load和Store指令 |
| 各指令使用时间 | 不确定 | 一个周期 |
| 通用寄存器数目 | 少 | 多(硬件占用比较少,有比较多的地方存储寄存器;有很多中间结果需要寄存器存放) |
| 目标代码 | 难以优化 | 可以优化 |
| 控制方式 | 绝大多数是微程序控制(要做的硬件的比较多) | 绝大多数是组合逻辑电路 |
| 指令流水线 | 可以通过一定方式实现(指令占用空间多,指令和指令之间的并行就很难安排) | 必须实现 |
指令是单字长还是双字长是和机器字长进行比较的
指令格式:
①定长指令和变长指令
②操作码:定长操作码和扩展操作码
③地址码
地址码可以分为一地址、二地址。。。
指令是存放在数据的,所以需要了解数据的存放
编址(给每一个存储单元编号)和寻址(可以采用字节寻址之类的方式一次性取出多少数据)
边界对齐
大端和小端
指令寻址
顺序寻址,按照PC中指令自动+1的操作(注意+1是字节还是字长)
跳跃寻址:修改PC中的值,从而达到跳跃寻址的目的
数据寻址
1,隐含寻址(自动到特殊的存储部件),操作数存直接在指令中
2,直接寻址、间接地址(放在主存)
3,寄存器寻址,寄存器间接寻址
4,偏移寻址:基址寻址(多道程序),变址寻址(数组)。相对寻址(转移指令)
5,堆栈寻址:主存(硬堆栈),寄存器(软堆栈)
全部评论 (0)
还没有任何评论哟~
