计算机硬件——指令系统


计算机硬件——指令系统

每天一个计算机知识点:指令系统
一、计算机指令的组成
计算机指令本质上是由操作码操作数两个部分构成:操作码用来指定指令需要完成的具体操作,操作数则给出了参与运算的数据内容,或者该数据存放的地址位置。由于计算机只能识别二进制信号,所以指令的操作要求、操作数的存储地址都会转换为二进制数码来表示,也就是我们常说的操作码和地址码,整条指令最终以二进制编码的形式保存在存储器里等待调用。
二、计算机指令执行过程
计算机执行指令的过程分为三个固定环节:取指令分析指令执行指令。首先会从程序计数器中获取指令所在的地址,把地址信息传递到地址总线,CPU就根据这个地址从内存中把指令读取出来,存入指令寄存器缓存;接下来由指令译码器对指令进行拆解,解析出指令操作码;最后进入指令执行阶段,取出完成该操作所需的全部源操作数,为实际运算做准备。
三、指令寻址方式
    1、顺序寻址方式:当执行一段程序时,是一条指令接着一条指令地顺序执行。
    2、跳跃寻址方式:指下一条指令的地址码不是由程序计数器给出,而是由本条指令直接给出。程序跳跃后,按新的指令地址开始顺序执行。因此,程序计数器的内容也必须相应改变。

四、指令操作数的寻址方式

立即寻址:指令的地址码字段指出的不是地址,而是操作数本身。

直接寻址:在指令的地址字段中直接指出操作数在主存中的地址。

间接寻址:指令地址码字段所指向的存储单元中存储的是操作数的地址。

寄存器寻址:指令中的地址码是寄存器的编号。

基址寻址:将基址寄存器的内容加上指令中的形式地址而形成操作数的有效地址,其优点是可以扩大寻址能力。

变址寻址:变址寻址方式计算有效地址的方法与基址寻址方式很相似,它是将变址寄存器的内容加上指令中的形式地址而形成操作数的有效地址。

五、CISC和RISC

CISC是复杂指令系统,兼容性强,指令繁多、长度可变,由微程序实现;

RISC是精简指令系统,指令少,使用频率接近,主要依靠硬件实现(通用寄存器、硬布线逻辑控制)。

六、指令流水线
指令流水线是将一条指令的执行拆分为多个独立阶段(如取指、译码、执行、访存、写回),让不同指令的多个阶段重叠并行处理,以提升CPU指令吞吐量的技术。‌

流水线时间计算

流水线周期:指令分成不同执行段,其中执行时间最长的段为流水线周期。

流水线执行时间:1条指令总执行时间+(总指令条数-1)*流水线周期。

流水线吞吐率计算:吞吐率即单位时间内执行的指令条数。公式:指令条数/流水线执行时间。

流水线的加速比计算:加速比即使用流水线后的效率提升度,即比不使用流水线快了多少倍,越高表明流水线效率越高,公式:不使用流水线执行时间/使用流水线执行时间。