搜索
bottom↓
回复: 19

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

[复制链接]

出0入0汤圆

发表于 2017-8-29 22:01:05 | 显示全部楼层 |阅读模式
如题:单片机每条语句的执行时间是多长?和总线频率有什么关系?
不同语句,执行时间是否不同?请大神指点!

出0入0汤圆

发表于 2017-8-29 22:08:17 | 显示全部楼层
这。。。。。。。。。。。。还是先看书吧

出0入0汤圆

 楼主| 发表于 2017-8-29 22:11:12 | 显示全部楼层
lonely9391 发表于 2017-8-29 22:08
这。。。。。。。。。。。。还是先看书吧

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

出0入0汤圆

发表于 2017-8-29 22:40:32 | 显示全部楼层
就是看单片机的Data sheet和指令集

出0入0汤圆

发表于 2017-8-29 22:55:44 | 显示全部楼层
学2行汇编你就开窍了

出0入0汤圆

发表于 2017-8-29 23:50:40 | 显示全部楼层
单片机每条语句的执行时间是多长?
这个和运行速度有关,只能说执行一条指令(不同的指令也有差别)需要几个系统周期.没法讲具体时间.

出0入0汤圆

发表于 2017-8-29 23:59:49 | 显示全部楼层
首先你要说明 你指的语句是
汇编级的一条
还是c语言的一条

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

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

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

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

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

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

出0入93汤圆

发表于 2017-8-30 06:01:34 | 显示全部楼层
BFXY5433 发表于 2017-8-29 23:59
首先你要说明 你指的语句是
汇编级的一条
还是c语言的一条

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

出0入59汤圆

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

出0入0汤圆

发表于 2017-8-30 09:40:47 | 显示全部楼层
单片机的汇编指令集看看应该就明白啦

出0入8汤圆

发表于 2017-8-30 10:53:25 | 显示全部楼层
时钟周期、机器周期、指令周期,
执行一条汇编指令需要一个指令周期,不同指令的需要不同的机器周期。8051单片机是12T的,执行一条最简单的指令如_NOP_需要12个时钟周期,现在有的单片机有1T的,执行一条最简单的指令一个机器周期就够了。
8楼的什么打算盘,莫名其妙,有问题就说问题。

出0入213汤圆

发表于 2017-8-30 11:00:15 | 显示全部楼层
用什么单片机,就看什么 单片机的芯片手册,  然后写两行代码, 实测一下就明白了.

出0入0汤圆

发表于 2017-8-30 11:01:30 | 显示全部楼层
做嵌入式,学习一下汇编还是很有必要的。

出0入8汤圆

发表于 2017-8-30 11:08:09 | 显示全部楼层
估计intel、TI的核心研发人员都没法回答这个残酷的问题。牵扯到的东西太多了。 只能说同等条件下 频率越高执行时间越短。 不同语句,执行时间一般是不同的。

出0入0汤圆

发表于 2017-8-30 14:43:45 | 显示全部楼层
补充一下,涉及到流水线,分支预测什么的,这问题变得更复杂- -

出0入0汤圆

 楼主| 发表于 2017-8-30 21:58:41 来自手机 | 显示全部楼层
dykwai1 发表于 2017-8-30 09:37
楼主的回复太没有礼貌了,你提了问题,别人帮你解答,你却在这里扣字眼

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

出0入0汤圆

发表于 2017-8-30 23:03:36 来自手机 | 显示全部楼层
单片机不同,指令周期不一定相同,查阅下所用单片机的手册

出0入59汤圆

发表于 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自己的时钟频率有关,但取指令和数据都要到外存,所以会受外存速度的限制

出0入8汤圆

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

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

出0入59汤圆

发表于 2017-8-31 10:17:45 | 显示全部楼层
确实,看错了,真是不好意思了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-19 17:16

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表