ARM技术论坛
直播中

贾桂林

7年用户 1387经验值
私信 关注
[问答]

关于ARM的指令周期请诸位指教

请教:
1。ARM7TDMI处理器使用流水线来增加处理器指令流的速度。请问,一条指令用几个机器周期,我用11.0592M的晶振的话,一个机器周期是多少时间。。。。例如“MOV R1,#Ox10”或者“NOP”各用了几个机器周期,各用了多少时间。。。哪里可以找得到对照表?
2。另。。一直在用汇编写程序,MCU的C语言编程我就是白痴了,但现在不得不用,所以问一个可能很低级的问题,Cx51的基本语句都用几个机器周期来执行呀,哪里可以找得到对照表?例如:“if (条件表达式) 语句1”这个语句“如果执行语句1,那么用了几个机器周期?如果不执行语句1(即条件表达式为假),那么用了几个机器周期?

回帖(3)

张龙祥

2022-6-29 15:41:58
1.大部分算术运算和逻辑运算指令都是单周期的,例如加法、减法、位级运算和移位 $ l4 E/ m- ~/ F0 x
  2.乘法指令根据操作数位数的不同,从2-5个周期都有可能。 - g, w( d* J3 D. y2 A% B4 T0 G* n
  3.无条件跳转语句和跳转语句成功跳转,需要重新填充流水线,因此至少需要3个周期/ T# |, `; V& y% F" I' ]# @
  4.跳过条件不满足的指令只需要花1个周期
  (以上周期应该是指各指令包含的机器周期数)
举报

安德森大

2022-6-29 15:42:26

时钟周期: 振荡周期,即CPU主频。
  机器周期 :又称CPU周期,完成一个基本操作(如取指、存储器读、写)所需要的时间.通常用从内存读取一条指令字的最短时间定义CPU周期
  指令周期 :执行一条指令所需要的时间,由若干个机器周期组成。指令不同,所需的机器周期也不同。现在的处理器的大部分指令(ARM、DSP)均采用单周期指令,比如CLR,MOV等。多周期指令,比如转移指令、乘法和除法指令。
举报

五斤麻辣油

2022-6-29 15:42:44
ARM7的指令大部分是单周期,STR之类的2个周期,LDR3个周期,跳转语句要分情况,乘法、乘加语句一般3-6个周期,要看具体操作数的范围。
书上能查得到的,或者在ADS中模拟运行也可以看到周期数。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分