qiangxiaochen 发表于 2017-8-29 22:01:05

单片机每条语句的执行时间是多长?和总线频率有什么关...

如题:单片机每条语句的执行时间是多长?和总线频率有什么关系?
不同语句,执行时间是否不同?请大神指点!

lonely9391 发表于 2017-8-29 22:08:17

这。。。。。。。。。。。。还是先看书吧

qiangxiaochen 发表于 2017-8-29 22:11:12

lonely9391 发表于 2017-8-29 22:08
这。。。。。。。。。。。。还是先看书吧

看什么书??
太基础的知识,不知道在哪里找了……
感觉自己好low,
大神指点下吧,

pisgah 发表于 2017-8-29 22:40:32

就是看单片机的Data sheet和指令集

ronghuaw 发表于 2017-8-29 22:55:44

学2行汇编你就开窍了{:lol:}

liufabing 发表于 2017-8-29 23:50:40

单片机每条语句的执行时间是多长?
这个和运行速度有关,只能说执行一条指令(不同的指令也有差别)需要几个系统周期.没法讲具体时间.

BFXY5433 发表于 2017-8-29 23:59:49

首先你要说明 你指的语句是
汇编级的一条
还是c语言的一条

c语言的一条语句要变成很多条汇编语句

汇编语句又分单指令周期和多指令周期
单周期语句一个hz执行一条

多指令周期就几个hz才能完成一个逻辑

不管你指的是汇编还是c语言与主频当然有关啊

还要分整数型运算和浮点运算

复杂一点还分cpu框架
框架间同频率不一定同速度的

takashiki 发表于 2017-8-30 06:01:34

BFXY5433 发表于 2017-8-29 23:59
首先你要说明 你指的语句是
汇编级的一条
还是c语言的一条


你确定单周期语句一个hz执行一条?
那还是打算盘吧,要快得多

dykwai1 发表于 2017-8-30 09:37:54

楼主的回复太没有礼貌了,你提了问题,别人帮你解答,你却在这里扣字眼

xuzhiping9889 发表于 2017-8-30 09:40:47

单片机的汇编指令集看看应该就明白啦

轻风 发表于 2017-8-30 10:53:25

时钟周期、机器周期、指令周期,
执行一条汇编指令需要一个指令周期,不同指令的需要不同的机器周期。8051单片机是12T的,执行一条最简单的指令如_NOP_需要12个时钟周期,现在有的单片机有1T的,执行一条最简单的指令一个机器周期就够了。
8楼的什么打算盘,莫名其妙,有问题就说问题。

jyrpxj 发表于 2017-8-30 11:00:15

用什么单片机,就看什么 单片机的芯片手册,然后写两行代码, 实测一下就明白了.

su33691 发表于 2017-8-30 11:01:30

做嵌入式,学习一下汇编还是很有必要的。

tongdayusu 发表于 2017-8-30 11:08:09

估计intel、TI的核心研发人员都没法回答这个残酷的问题。牵扯到的东西太多了。 只能说同等条件下 频率越高执行时间越短。 不同语句,执行时间一般是不同的。

大傻师 发表于 2017-8-30 14:43:45

补充一下,涉及到流水线,分支预测什么的,这问题变得更复杂- -

qiangxiaochen 发表于 2017-8-30 21:58:41

dykwai1 发表于 2017-8-30 09:37
楼主的回复太没有礼貌了,你提了问题,别人帮你解答,你却在这里扣字眼

??什么意思?我怎么扣字眼了?

hnzbding 发表于 2017-8-30 23:03:36

单片机不同,指令周期不一定相同,查阅下所用单片机的手册

dykwai1 发表于 2017-8-31 10:08:03

qiangxiaochen 发表于 2017-8-30 21:58
??什么意思?我怎么扣字眼了?

所谓   单周期语句一个hz执行一条,说的是 单周期指令一个cpu时钟周期执行一条
形象点说 一个100MHz主频的cpu,每个Hz执行一条指令,当然这种说法不严谨,但这里估计没有人会理解成一秒钟执行一条指令

再说楼主的问题
一般的cpu主要分两种架构cisc和risc
cisc,复杂指令集cpu,比如常用的X86,MCS51系列,一条指令的执行一般需要多个时钟周期
risc,简单指令集cpu,比如常用的AVR,   ARM系列,一条指令的执行一般需要一个时钟周期
一般cisc一条指令完成的事,risc需要多条指令完成,所以这两种也没什么谁好谁不好的,现代的cpu一般都是这两种的混合架构

通常的cpu频率指的都是cpu本身的频率,不包括外部存储
cpu的计算都是在内部寄存器进行的,就是说外存的指令和数据要先搬移到cpu内部的指令译码器及寄存器中再计算,计算结果再搬移回外部存储
cpu和外部存储是通过总线连接的,cpu快,总线慢,所以经常在cpu中集成一些指令和数据cache,cache的速度一般是和cpu一致的

外存用来包括指令空间和数据空间,根据cpu结构的不同可以在一个地址空间或者不同地址空间,但总之都是外存
外存的速度也不一样,比如sdram、sram、flash、IO外设、硬盘。。。。。。
所以有些cpu会有几条外总线,每条外总线的速度也不一样,比如计算机上会有pcie pci isa

所以,严格的说,cpu的指令执行速度只与cpu自己的时钟频率有关,但取指令和数据都要到外存,所以会受外存速度的限制

security 发表于 2017-8-31 10:12:22

dykwai1 发表于 2017-8-31 10:08
所谓   单周期语句一个hz执行一条,说的是 单周期指令一个cpu时钟周期执行一条
形象点说 一个100MHz主频 ...

你错怪楼主了。
你眼中那个抠字眼的人,并不是楼主,你再认真瞧瞧?

dykwai1 发表于 2017-8-31 10:17:45

确实,看错了,真是不好意思了
页: [1]
查看完整版本: 单片机每条语句的执行时间是多长?和总线频率有什么关...