您的位置:

c语言执行周期,c语言执行过程

本文目录一览:

c51单片机中,每条c语言需要的时间是多少啊,是一个机器周期还是时钟周期!谢谢啦!

你说的是指令周期,根据指令的不同,一般一个指令需要1-4个机器周期来完成(比如乘法或除法就需要48个时钟周期来完成),一般的51单片机都是12分频,也就是说1个机器周期分为12个时钟周期。请你好好理解时钟周期--机器周期--指令周期三者之间的关系。

目前STC有不少型号的单片机有单时钟周期指令,一个时钟周期即为一个机器周期,不进行12分频,就是在1个时钟周期内可以执行一条指令,但只是部分指令可以单时钟周期执行,大多指令需要1-6个时钟周期来完成,相比较而言,已经比普通的12分频单片机速度快多了。

执行c语言中的赋值语句需要多长时间

12MHZ的单片机,一个机器周期是1us,c语言的赋值语句一般都是立即数送寄存器,即单片机汇编的 MOV Rn, #data

这是一条单周期指令,即c语言的赋值语句用一个机器周期执行完,用时1us

C语言的for循环中执行一次需多少机器周期?

机器循环,当然只是在单片机中,不同的单片机使用不同的编译软件,最终都转换成汇编,把机器代码烧录成单片机。

不同的编译软件可以用不同的方式编译语句。以keil为例。(我= 0;我 1;N + +我+ +);(I, n是char或unsigned char)

赋值语句(I=0)有两个机械循环,

一个判断语句(I 1) 4个机械循环,

一个自加语句(n++) 1机械循环,

另一个自我递增语句(i++)1机械循环,

另一个判断语句(I 1) 4个机械循环,结束。

扩展资料:

指令周期:

每次CPU获取一条指令并执行它,它就完成一系列操作,通常称为指令周期。换句话说,指令周期就是获取一条指令并执行它所花费的时间。由于每条指令的操作功能不同,每条指令的指令周期也不同。

例如加法指令的指令周期与乘法指令的指令周期是不同的。指令周期通常以CPU周期的数量表示,也称为机器周期。所需的机器周期数随指令的不同而变化。对于一些简单的单字节指令。

在指令取出周期中,将指令取出到指令寄存器后,立即对其进行解码并执行,不需要其他机器周期。对于更复杂的指令,例如转换和乘法指令,需要两个或更多的机器周期。

具有一个机器周期的指令通常称为单周期指令,具有两个机器周期的指令称为双周期指令。

c语言 if语句用几个周期

if是判断指令,相当于汇编中的cjne,一般需要2个指令周期

aa=2是立即寻址方式,需要1个指令周期

所以,应该需要3个指令周期

C语言中,一个语句执行一般(家用PC)需要多少时间?

这个需要分情况来看。

1.C语言源程序通过预处理然后编译,产生汇编代码,不同的汇编代码和指令有不同的执行时间。

2.一个指令的执行时间,用其所需要的指令周期(执行一条指令所需要的时间)来衡量。对于单字节指令,就是一个读取-执行周期(fetch-execute cycle),对于多字节指令,还需要更多的指令周期。

3.一个指令周期,一般是由若干个机器周期(完成一次基本操作需要的时间,比如获取变量在RAM当中的地址)组成。

4.再一个,时钟周期,这个可以形象一点地和通常所说的主频联系起来,比如CPU核心的主频是2.5GHz,则时钟周期为0.4ns,这个是计算机当中最小的时间计量单位。一个机器周期由若干个时钟周期组成。

C语言中 ,一个语句执行一般(家用PC)需要多少时间?

这个需要分情况来看。

1.C语言源程序通过预处理然后编译,产生汇编代码,不同的汇编代码和指令有不同的执行时间。

2.一个指令的执行时间,用其所需要的指令周期(执行一条指令所需要的时间)来衡量。对于单字节指令,就是一个读取-执行周期(fetch-execute cycle),对于多字节指令,还需要更多的指令周期。

3.一个指令周期,一般是由若干个机器周期(完成一次基本操作需要的时间,比如获取变量在RAM当中的地址)组成。

4.再一个,时钟周期,这个可以形象一点地和我们通常所说的主频联系起来,比如CPU核心的主频是2.5GHz,则时钟周期为0.4ns,这个是计算机当中最小的时间计量单位。一个机器周期由若干个时钟周期组成。

综上所述,你的问题没有明确的答案。这取决于你的CPU的主频,执行的是何种类型的C语言语句,是否编译器有对其进行优化。