
指令不同机器周期数也不同,一条指令还是相当复杂的,处理器在一个时钟周期内肯定是完不成的,可能需要好多个时钟周期来完成执行。
如果这样让处理器执行完一条指令,再去执行另一条,处理器的效率是很低的,假如一条指令是5个时钟周期完成,对于500MHZ的处理器串行运行指令,1秒内取指100000000次。
因此处理器引入了流水线技术,将一条指令划分为多个功能,由不同的功能部件来执行,并且这些功能部件可以并行工作。
扩展资料:
CPU执行指令的过程:
计算机每执行一条指令都可分为三个阶段进行。即取指令-----分析指令-----执行指令。取指令的任务是:根据程序计数器PC中的值从程序存储器读出现行指令,送到指令寄存器。
分析指令阶段的任务是:将指令寄存器中的指令 *** 作码取出后进行译码,分析其指令性质。如指令要求 *** 作数,则寻找 *** 作数地址。计算机执行程序的过程实际上就是逐条指令地重复上述 *** 作过程,直至遇到停机指令可循环等待指令。
计算机进行工作时,首先要通过外部设备把程序和数据通过输入接口电路和数据总线送入到存储器,然后逐条取出执行。但单片机中的程序一般事先我们都已通过写入器固化在片内或片外程序存储器中。因而一开机即可执行指令。
这个需要分情况来看。1.C语言源程序通过预处理然后编译,产生汇编代码,不同的汇编代码和指令有不同的执行时间。
2.一个指令的执行时间,用其所需要的指令周期(执行一条指令所需要的时间)来衡量。对于单字节指令,就是一个读取-执行周期(fetch-execute cycle),对于多字节指令,还需要更多的指令周期。
3.一个指令周期,一般是由若干个机器周期(完成一次基本 *** 作需要的时间,比如获取变量在RAM当中的地址)组成。
4.再一个,时钟周期,这个可以形象一点地和通常所说的主频联系起来,比如CPU核心的主频是2.5GHz,则时钟周期为0.4ns,这个是计算机当中最小的时间计量单位。一个机器周期由若干个时钟周期组成。
:在流水线结构中,一般是把一条指令的执行过程分解成若干阶段,每个阶段都独立运行,而每个阶段的开始执行都是从一个时钟周期开始的,不同的执行阶段可能用的时钟周期不同。为了流水线处理的方便,一般都把占用时钟周期最多的执行阶段所用的时钟周期作为每个执行阶段的执行时间。例如,把一条指令的执行过程主要分解为取指令、分析、执行和写结果4个阶段,所用的时钟周期分别为2、3、4、2,那么,执行完这条指令所用的时间就是16个时钟周期。当然,CPU的时钟周期是不固定的,不同的机器可能不同,CPU的时钟周期长的机器处理一条指令用的时间就长。因此,执行指令的时间主要取决于CPU的时钟周期。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)