打印
[学习资料]

单片机的身体和心脏

[复制链接]
1881|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
blust5|  楼主 | 2023-2-14 10:18 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
STM32,大家比较熟悉,是ST公司推出的32位单片机系列。
官方的说明是:
基于ARM® Cortex®  内核的 32位微控制器和微处理器STM32产品家族,为MCUMPU用户开辟了一个全新的自由开发空间,并提供了各种易于上手的软硬件辅助工具。
STM32 MCUMPU融高性能、实时性、数字信号处理、低功耗、低电压于一身,同时保持高集成度和开发简易的特点。
业内最强大的产品阵容,基于工业标准的处理器,大量的软硬件开发工具,让STM32成为各类中小项目和完整平台解决方案的理想选择。
ST是公司简称,全称为意法半导体(STMicroelectronics)集团,于19876月成立,是由意大利的SGS 微电子公司和法国Thomson 半导体公司合并而成。19985月,SGS-THOMSON Microelectronics 将公司名称改为意法半导体有限公司,意法半导体是世界最大的半导体公司之一。从成立之初至如今,ST 的增长速度超过了半导体工业的整体增长速度。自1999年起,ST 始终是世界十大半导体公司之一。
MMCU的缩写,代表STM32为单片机芯片。
32则表示该系列为32位单片机。
STM32功能强大、性能优异、片上资源丰富、功耗低,是一款经典的嵌入式微控制器,常应用在嵌入式领域,如智能车、四轴飞行器、机器人、无线通信、物联网、工业控制、娱乐电子产品等。
按内核架构分为不同产品:主流产品(STM32F0STM32F1STM32F3)、超低功耗产品(STM32L0STM32L1STM32L4STM32L4+)、高性能产品(STM32F2STM32F4STM32F7STM32H7
下面再来说一下什么是ARM9
要说ARM9,需要先来说一下ARMARM是什么呢?ARM是一家公司,也指代一个处理器内核。
英国ARM公司是全球领先的半导体知识产权(IP)提供商。全世界超过95%的智能手机和平板电脑都采用ARM架构。ARM设计了大量高性价比、耗能低的RISC处理器、相关技术及软件。
ARM 公司是专门从事基于RISC 技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。全世界有几十家大的半导体公司都使用ARM公司的授权,因此既使得ARM 技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场被消费者所接受,更具有竞争力。
ARM处理器是英国ARM公司设计的低功耗成本的第一款RISC微处理器。全称为Advanced RISC MachineARM处理器本身是32位设计,但也配备16位指令集,一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势。
ARM处理器的三大特点是:耗电少功能强、16/32位双指令集和合作伙伴众多。
这里简单介绍一下RISC
RISC就是精简指令集计算机(Reduced Instruction Set Computer),RISC结构优先选取使用频最高的简单指令,避免复杂指令;将指令长度固定,指令格式和寻址方式种类减少;以控制逻辑为主,不用或少用微码控制等。
与之对应的就是CISCComplex Instruction Set Computer,复杂指令集计算机),在CISC指令集的各种指令中,大约有20%的指令会被反复使用,占整个程序代码的80%。而余下的指令却不经常使用,在程序设计中只占20%
下面继续说回ARM处理器。
ARM微处理器在较新的体系结构中支持两种指令集:ARM指令集和Thumb指令集。其中,ARM指令为32位的长度,Thumb指令为16位长度。Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省30%40%以上的存储空间,同时具备32位代码的所有优点。
ARM9处理器是ARM处理器的一个系列,算是主流嵌入式处理器,主要包括ARM9TDMIARM9E-S等系列。
ARM9采用哈佛体系结构,指令和数据分属不同的总线,可以并行处理。在流水线上,ARM7是三级流水线,ARM9是五级流水线。由于结构不同,ARM7的执行效率低于ARM9。平时所说的ARM7ARM9实际上指的是ARM7TDMIARM9TDMI软核,这种处理器软核并不带有MMUcache,不能够运行诸如linux这样的嵌入式操作系统。而ARM公司对这种架构进行了扩展,所以有了ARM710TARM720TARM920TARM922T等带有MMUcache的处理器内核。
从上面的介绍可以看出,ARM9是处理器核心,可以看做是芯片的心脏;而STM32是一个系列的单片机型号,是芯片IC本身。
那么,单片机都拥有哪些核心呢?
最早的单片机时51核的,后期出现了AVRARMPICPower PCRISCV等内核。不同的内核具有不同的架构和指令集,对应的汇编语言指令就会有区别。
单片机的内核架构主要是哈佛架构和冯诺依曼架构(又叫普林斯顿架构)。HARVARD(哈佛)架构:ROM(程序空间)RAM(数据空间)分开,便于程序与数据的同时访问,减少程序运行时访问的瓶颈,提高数据吞吐。PRINCETON(普林斯顿)架构:采用通用计算机广泛使用的ROMRAM合二为一的方式,就是众所周知的冯诺依曼结构,程序指令存储地址和数据指令存储地址指向同一存储器不同位置,因此程序指令和数据的宽度相同。
STM32单片机使用的是ARM核,ARM核使用的是哈佛架构。
ARM处理器包括了ARM7ARM9ARMCortex等系列。其中ARMCORTEX不是代表更高端,而是一个全新的系列,CORTEX分三个系列:A系列,R系列,M系列。A系列是面向应用的,如苹果公司的iphone4就是cortexA8架构的,但是A系列的底层嵌入式开发难度很大,国内很少有公司有实力开发ARM A系列处理器并采用;在R系列里,实时性高,多用于汽车电子和特殊行业,并且在实际开发中很少遇到;M系列终端快,多应用于机械加工领域,典型的产品有M0,M3,M4,其中M0是为了抢占传统的51单片机市场,M3是为了取代ARM7M4M3的基础上增加了DSPMPU,这是为了与低端的DSP处理器竞争。
STM32单片机使用的就是ARM Cortex-M系列内核,包括M0M0+M3M4M7等。
由以上内容可知,STM32是芯片IC本身,是芯片的身体,而ARM是处理器内核,是芯片的心脏。但是STM32并没有使用ARM9内核,而是使用的ARM Cortex-M系列内核。

使用特权

评论回复
沙发
Innercourage| | 2023-2-27 08:55 | 只看该作者
很好很好,值得点赞

使用特权

评论回复
板凳
tpgf| | 2023-3-1 15:54 | 只看该作者
我一直理解的单片机的心脏是晶振呢 呵呵呵

使用特权

评论回复
地板
nawu| | 2023-3-1 16:09 | 只看该作者
这个也是一个恰当的比喻了  感觉做大脑更合适

使用特权

评论回复
5
aoyi| | 2023-3-1 16:18 | 只看该作者
我们看一个芯片的计算速度 看的是哪个参数呢

使用特权

评论回复
6
zljiu| | 2023-3-1 16:36 | 只看该作者
内核不同 主要会影响哪部分的功能呢

使用特权

评论回复
7
gwsan| | 2023-3-1 16:50 | 只看该作者
内核的作用可以理解为用于执行存储器中程序员写的代码,它可以按照代码中的每条指令的要求进行处理

使用特权

评论回复
8
tfqi| | 2023-3-1 17:11 | 只看该作者
其他条件相同的话 哪种内核的语句执行速度最快啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:业精于勤荒于嬉,行成于思毁于随。

72

主题

2816

帖子

11

粉丝