第4~5步 STM32内部核心功能
前两节中,我们了解了什么是ARM、什么是STM32系列,接下来就是了解具体的一款STM32单片机的内部功能。单片机就是一种微小型计算机,其核心原理就是计算机原理。对于其他非ARM构架的单片机来说学习过程也是相似的。
我们学习的是STM32F103C8T6这款单片机,首先需要看关于STM32F103C8T6的芯片手册,不仅要看中文手册也需要会看英文原版手册。还需要你在学习中多动手、多实践。
图3.1 STM32F103x8/xB数据手册第1页
3.1 ARM内核
3.1.1 “ARM 32位”
-M3,最高72MHz工作频率
这部分说明了单片机采用的是什么样的计算核心,不同的核心就会有不同的处理性能。最高72MHz工作频率是说这款单片机的工作效率可以通过内部的分频器设置而改变,最大只能达到72MHz,超过这个设置,单片机工作起来可能就不稳定,甚至不能工作。这句话就是告诉开发人员,这个芯片的工作频率只能到达72MHz,如果需要更高的工作频率,那么就要选择其他型号的芯片。
3.1.2 “在存储器的0等待周期访问时可达1.25DMIPS/MHz”
存储器0等待周期时读写RAM和Flash时不需要浪费时间,读和写在一瞬间就完成了,在这种情况下内核的速度可达1.25DMIPS/MHz。DMIPS时一种速率计算方式(Million Instructions executed Per Second,每秒执行百万条指令,用来计算同一秒内系统的处理能力,即每秒执行了多少百万条指令)。单片机运行不同的程序,速度也不一样,这种数据只是参考。
“单周期乘法和硬件除法”:所有单片机的程序都会涉及运算,加减法是单片机内核硬件完成的,部分单片机有硬件完成的乘法,还有少部分单片机加入了硬件除法运算。为什么要加硬件运行呢?因为速度快!如果你的单片机只有硬件加减法,那么计算乘法就要在软件上转换为加法,例如3 x 4,要换成3 + 3 + 3 + 3,需要3次加法才能得到结果,而单周期乘法运算只用1个时钟周期1次完成计算(时钟周期以后会讲)。除法同理。