定义:指计算机所能执行的全部指令的集合,它描述了计算机内全部的控制信息和“逻辑判断”能力。
一条指令包括:操作码、地址码(操作数)
1、根据地址码代表的地址类型,指令系统可以分为:
(1)立即寻址:操作数就包含在指令中。作为指令的一部分,跟在操作码后存放在代码段;
(2)直接寻址:指令中直接使用存储器或寄存器地址编号,直接到指定的区域读取或写入
(3)间接寻址:地址通过某个特定的内存单元得出,第一次是得到特定内存单元里的地址数据,第二次再将得出的地址进行运算得到地址。
(4)寄存器寻址:操作数在CPU内部的寄存器中,指令指定寄存器号。
(5)寄存器间接寻址:操作数在存储器中,操作数的有效地址用SI、DI、BX和BP等四个寄存器之一来指定,称这种寻址方式为寄存器间接寻址方式。
2、复杂指令集和精简指令集
(1)CISC(复杂指令集系统):为提高操作系统的效率,向指令系统中添加更多、更复杂的指令来实现,导致指令集越来越大。
(2)RISC(精简指令集):指令周期相同,采用流水线技术,指令并行执行程度更好;
CISC和RISC的简单对比
CISC | RISC | |
指令条数 | 多 | 只选取最常见的指令 |
指令复杂度 | 高 | 低 |
指令长度 | 变化 | 短、固定 |
指令执行周期 | 随指令变化大 | 大多在一个机器周期完成 |
指令格式 | 复杂 | 简单 |
寻址方式 | 多 | 极少 |
涉及访问主存指令 | 多 | 极少,大部分只有两条存指令 |
通用寄存器数量 | 一般 | 大量 |
移码方式 | 微程序控制 | 硬件电路 |
对编译系统要求 | 低 | 高 |
3、流水线
(1)执行任务的时间Nt+(k-1)t
注意:如果每个子任务所需时间不同,其时间取决于执行顺序中最慢的哪一个
(2)流水线的吞吐率:单位时间(1s)内流水线所弯沉的任务数量或输出的结果数量。
,
其中,n为任务数,Tk是完成n各任务所需要的时间
(3)加速比:不采用流水线的执行时间/采用流水线的执行时间
(4)影响因素:
- 转移指令(go to)
- 共享资源访问的冲突
- 响应中断