- 计算机指令的组成:一条指令由
操作码
和操作数
两部分组成,操作码決定要完成的操作
,操作数指参加运算的数据
及其所在的单元地址
,在计算机中,操作要求和操作数地址都由二进制数码表示,分别称作操作码
和地址码
,整条指令以二进制编码
的形式存放在存储器
中。 - 计算机指令执行过程:取指令—分析指令—执行指令三个步骤,首先将程序计数器PC中的
指令地址
取出,送入地址总线
,CPU依据指令地址去内存中取出指令内容存入指令寄存器IR
;而后由指令译码器
进行分析,分析指令操作码;最后执行指令,取出指令执行所需的源操作数
。
指令寻址方式
-
顺序寻址方式:当执行一段程序时,是一条指令接着一条指令地
顺序
执行。 -
跳跃寻址方式:指下一条指令的地址码
不是由程序计数器给出
,而是由本条指令直接给出
。程序跳跃后,按新的指令地址开始顺序执行。因此,程序计数器的内容也必须相应改变,以便及时跟踪新的指令地址。
指令操作数的寻址方式
-
立即寻址方式:指令的地址码字段指出的不是地址,而是操作数本身。
-
直接寻址方式:在指令的地址字段中直接指出操作数在主存中的地址。
-
间接寻址方式:指会地址码字段所指向的存储单否中存储的是操作数的地址。
-
寄存器寻址方式:指令中的地址码是寄存器的编号。
-
基址寻址方式:将基址寄存器的内容加上指令中的形式地址而形成操作数的有效地址,,其优点是可以扩大寻址能力。 -
变址寻址方式:变址寻址方式计算有效地址的方法与基址寻址方式很相似,它是将变址寄存器的内容加上指令中的形式地址而形成操作数的有效地址。
CISC是复杂指令系统,兼容性强,指令繁多、长度可变,由微程序实现;
RISC是精简指令系统,指令少,使用频率接近,主要依靠硬件实现(通用寄存器、硬布线逻辑控制)。 具体区别如下:
指令系统类型 | 指今 | 寻址方式 | 实现方式 | 其它 |
---|---|---|---|---|
CISC(复杂) | 数量多,使用频率差别大,可变长格式 | 支持多种 | 微程序控制技术(微码) | 研制周期长 |
RISC(精简) | 数量少,使用频率接近,定长格式,大部分为单周斯指令,操作寄存器,只有Load/Store操作内存 | 文持方式少 | 增加了通用寄存器 ;硬步线设逻辑控制为主;适合采用流水线 | 优化编译,有效支持高级语言 |
指令流水线
- 指令流水线原理:将场会分成不同段,每段由不同的部分去处理,因此可以产生叠加的效果,所有的部件去处理指令的不同段
- RISC中的流水线技术:
-
超流水线(Super Pipe Line) 技术。它通过
细化流水
、增加级数
和提高主频
,使得在每个机器周期内能完成一个甚至两个浮点操作。其实质是以时间换取空间
。 -
超标量 (Super Scalar)技术。它通过内装
多条流水线
来同时执行多个处理,其时钟频率虽然与一般流水接近,却有更小的CPl
。其实质是以空间换取时间
。 -
超长指令字 (Very Long Instruction Word, VLIW)技术。VLIW和超标量都是20 世纪80 年代出现的概念,其共同点是要
同时执行多条指令
,其不同在于超标量依靠硬件来实现并行处理的调度,VLIW 则充分发挥软件的作用
,而使硬件简化,性能提高。
流水线时间计算
-
流水线周期:指令分成不同执行段,其中执行时间
最长
的段为流水线周期。 -
流水线执行时间:
1条指令总执行时间
+(总指令条数-1)*流水线周期
。 -
流水线吞吐率计算:吞吐率即单位时间内执行的指令条数。 公式:
指令条数
/流水线执行时间
。 -
流水线的加速比计算:加速比即使用流水线后的效率提升度,即比不使用流水线快了多少倍,越高表明流水线效率越高。 公式:
不使用流水线执行时间
/使用流水线执行时间
。