电工学习网

 找回密码
 立即注册
查看: 4059|回复: 0
打印 上一主题 下一主题

单片机的执行速度与什么有关

[复制链接]
跳转到指定楼层
楼主
发表于 2017-11-17 15:48:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单片机的执行速度与什么有关呢,当然对于初学者来说,第一时间想到的是晶振,没错,晶振算一个,但准确的来说应该是单片机的时钟源(再具体一点就是单片机的系统时钟)。单片机的时钟源来说有分为内部时钟和外部时钟,外部时钟源一般指的就是晶振了;内部时钟对于比较老的单片机是没有的(比如51单片机)。还有一点需要注意的是现在许多高级一点的单片机都会涉及到倍频和分频,n倍频即把单片机的时钟源乘以n作为单片机的系统时钟;分频与倍频恰好相反。
第二点,应该是执行一条指令需要多少个时钟周期,对于老一点的51单片机执行一条指令需要12个时钟周期,但现在大多数单片机执行一条指令仅需1个时钟周期(STC的 1 T 单片机),这样速度一下子就提高12倍。
第三点,就是常说的几位机,最初接触的51大多为8位机,而后来随着技术的发展有了16位机(飞思卡尔、AVR等)、32位机(stm32)。我们都知道所有的指令最后执行的都是一连串的2进制数,对于8位机一次可以执行8位,而16位机可以执行16位,32位机可以执行32位,这样32位的明显比8位的快。
最后一点也是比较难理解的一点,就是单片机的内部结构,正常情况下一条执行完成需要经过取指令、解密寻址、执行指令三个步骤,比较老的单片机在执行这三个步骤时需要按照执行顺序依次执行,而高级的单片机(stm32)具有三级流水线,通俗的理解就是可以同时执行三个步骤,这样也大大的增加了单片机的执行速度。
特别注意的是:所有的速度并不是成线性关系的,即在相同条件下,不是32位机的执行速度就是8位机的4倍,更不是具有三级流水线的单片机的执行速度是普通单片机的3倍。具体原因与其内部设计的局限性有关系,这里我也不太清楚,不做太多介绍了。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

电工学习网 ( )

GMT+8, 2024-9-4 14:52

Powered by © 2011-2022 www.shop-samurai.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

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