指令系统是CPU所有指令的集合,通常一条指令可分为操作码和地址码两部分,操作码确定指令的操作类型,地址码确定指令要处理的操作数的位置。
1.寻址方式
指令系统中采用不同寻址方式的目的是扩大可寻址空间并提高编程灵活性。
立即寻址,通常直接在指令的地址码部分给出操作数。
内存寻址 直接寻址:在指令中直接给出参加运算的操作数或运算结果所存放的主存地址。
间接寻址:在指令中给出操作数地址的地址。
变址寻址:变址寄存器中的内容加地址码中的内容
即可完成寻址。
寄存器寻址,寄存器直接寻址:指令在执行过程中所需要的操作数来源于寄存器。
寄存器间接寻址:寄存器存放的是操作数在主存上的地址。
2.RISC和CISC
是目前设计制造CPU的两种典型技术。
指令系统 | 指令 | 寻址方式 | 实现方式 |
---|---|---|---|
CISC | 指令种类多,使用频率相差大,采用变长编码 | 支持多种寻址方式,主存指令多 | 微程序控制 |
RISC | 指令种类少,使用频率接近,采用定长编码 | 只支持少量寻址方式,并且控制了访问内存的指令数量 | 硬布线逻辑控制 |
3.流水线
流水线是指在程序执行过程中多条指令重叠进行操作的一种准并行处理实现技术。即可以同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度。
流水线指令执行时间
标准算法:T=第一条指令执行所需时间+(指令条数-1)*流水线周期
其中流水线周期是指令执行阶段中执行时间最长的一段。 例如,指令流水线把一条指令的执行过程分为取指令、分析和执行3个部分,且3个部分的时间分别是2ns,2ns,1ns.那么最长的是2ns,因此100条指令全部执行完毕所需要的时间是(2+2+1)+(100-1)*2=203 ns
流水线的技术指标
吞吐率:计算机中的流水线在特定的时间内可以处理的任务数量。TP=n/TK (n为指令条数,TK为流水线方式时间),其中理论上的最大吞吐率是1/流水线周期。
加速比:完成一批任务,不使用流水线所使用的时间与使用流水线的时间之比称为流水线的加速比。s=TS/TK(TS 为顺序执行时间,TK是流水线方式时间)
流水线的效率;流水线设备的利用率。