c语言的指令周期
‘壹’ 计算机里面,,,啥是指令,,啥是指令周期 最好举个例子,通俗点,,我只学了c语言
指令就是他要执行的命令,比如mov A, B这就是一条指令
指令周期是他做完这条指令用了多久,比如1微秒
‘贰’ 单片机C语言中执行一次: i=1; while(i--); 需要几个指令周期啊
需要几个指令周期与i的数据类型有关;
参考如下:
int型2字节
9: while(i--);
C:0x000F EF MOV A,R7 1个指令周期
C:0x0010 1F DEC R7 1个指令周期
C:0x0011 8E83 MOV DPH(0x83),R6 2个指令周期
C:0x0013 7001 JNZ C:0016 2个指令周期
C:0x0015 1E DEC R6 1个指令周期
C:0x0016 4583 ORL A,DPH(0x83) 1个指令周期
C:0x0018 70F5 JNZ C:000F 2个指令周期
9*(r7+1)+(256*9+1)*r6+1个指令周期
char型1字节
12: while(a--);
C:0x0027 AF05 MOV R7,0x05 2个指令周期
C:0x0029 1D DEC R5 1个指令周期
C:0x002A EF MOV A,R7 1个指令周期
C:0x002B 70FA JNZ C:0027 2个指令周期
6*(r5+1)个指令周期
此应用每个指令周期1us。(1e-6s)
已上是keil C 4的编译器的结果。
‘叁’ 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语言语句,是否编译器有对其进行优化。
‘伍’ 430的C语言指令,一条指令就是一个时钟周期吗
那就是1us 在430中, 一个时钟周期= MCLK晶振的倒数。如果MCLK是8M,则一个时钟周期为1/8us; 一个机器周期 =一个时钟周期,即430每个动作都能完成一个基本操作; 一个指令周期 = 1~6个机器周期,具体根据具体指令而定。
‘陆’ c51单片机中,每条c语言需要的时间是多少
应该是指令周期,根据指令的不同,一般一个指令需要1-4个机器周期来完成(比如乘法或除法就需要48个时钟周期来完成),一般的51单片机都是12分频,也就是说1个机器周期分为12个时钟周期。请你好好理解时钟周期--机器周期--指令周期三者之间的关系。
目前STC有不少型号的单片机有单时钟周期指令,一个时钟周期即为一个机器周期,不进行12分频,就是在1个时钟周期内可以执行一条指令,但只是部分指令可以单时钟周期执行,大多指令需要1-6个时钟周期来完成,相比较而言,已经比普通的12分频单片机速度快多了。
‘柒’ C语言的for循环中执行一次需多少机器周期
机器循环,当然只是在单片机中,不同的单片机使用不同的编译软件,最终都转换成汇编,把机器代码烧录成单片机。
不同的编译软件可以用不同的方式编译语句。以keil为例。(我= 0;我< 1;N + +我+ +);(I, n是char或unsigned char)
赋值语句(I=0)有两个机械循环,
一个判断语句(I <1) 4个机械循环,
一个自加语句(n++) 1机械循环,
另一个自我递增语句(i++)1机械循环,
另一个判断语句(I <1) 4个机械循环,结束。
(7)c语言的指令周期扩展阅读:
指令周期:
每次CPU获取一条指令并执行它,它就完成一系列操作,通常称为指令周期。换句话说,指令周期就是获取一条指令并执行它所花费的时间。由于每条指令的操作功能不同,每条指令的指令周期也不同。
例如加法指令的指令周期与乘法指令的指令周期是不同的。指令周期通常以CPU周期的数量表示,也称为机器周期。所需的机器周期数随指令的不同而变化。对于一些简单的单字节指令。
在指令取出周期中,将指令取出到指令寄存器后,立即对其进行解码并执行,不需要其他机器周期。对于更复杂的指令,例如转换和乘法指令,需要两个或更多的机器周期。
具有一个机器周期的指令通常称为单周期指令,具有两个机器周期的指令称为双周期指令。
‘捌’ c语言 if语句用几个周期
if是判断指令,相当于汇编中的cjne,一般需要2个指令周期
aa=2是立即寻址方式,需要1个指令周期
所以,应该需要3个指令周期
‘玖’ 51单片机c语言 _nop_()是一个空指令短时间延时的空几个机器周期
这个_nop_()等效与汇编里面的,NOP指令,也就是空一个机器周期,如果是传统51单片机的话,等于空12个时钟周期【即一个机器周期】,操作方法如下:
1、首先,可以利用keil来进行模拟实验,观察软件所显示的数值,然后再进行相关的运算,即可得出结果。