发布信息

ARM架构、ARM7、STM32、Cortex之间有什么区别和联系?

作者:软荐小编      2023-08-28 09:09:01     199

ARM架构、ARM7、ARM9、STM32、CortexM3M4、51、AVR有何区别和联系?

ARM架构:美国ARM公司设计的一系列32位RISC微处理器架构,现有ARMv1~ARMv8类型。

ARM7:采用ARMv3或ARMv4架构并采用冯诺依曼结构的一类内核。

ARM9:采用ARMv4或ARMv5架构的一类内核,采用Yale结构。

CortexM3:采用ARMv7框架,采用Yale结构的核心。

CortexM4:采用ARMv7架构,采用Yale结构的核心。 (相比后者最大的区别:不减少一个DSP处理功能,SIMD单指令多数据功能。其他区别请在实际项目开发中自行体会)

STM32:意法半导体(ST)推出的一系列基于Cortex-M0/Cortex-M3/Cortex-M4内核的微处理器/微控制器芯片

-------------------------------- 相似的集合用分割线分隔

51:Intel于1981年推出了8位8051微控制器,由8031微控制器芯片翻新升级,采用CISC指令集,具有冯·诺依曼架构。 后来Intel将8051单片机的核心授权给其他芯片厂商,导致市场上大量出现类似8051的芯片。 这些采用8051内核的芯片简称为51。

-------------------------------- 相似的集合用分割线分隔

AVR:采用改进的耶鲁结构、采用ATMEL在20世纪90年代推出的RISC指令集的一系列8位微处理器芯片。

================= 邀请添加========================

最早的英特尔公司从头开始开发处理器芯片。 从4004、8008、8086、80286……TI的TMS1000……还有其他公司开发的可编程芯片。 由于是不同的公司,公司之间无法进行沟通(避免商业秘密泄露),因此每个公司制造的芯片在内部CPU、总线、存储单元、指令集上都有差异(如果相同的话,那么就是专利侵权,比如当初INTEL坚持起诉AMD)。 但各个公司开发的新旧芯片之间存在一定的架构和技术提升,因此不同公司开发的芯片存在不同的架构。

建筑:它是一个具体的概念,是结构中的元素和元素之间的关系的主观映射的产物。 请参阅微体系结构了解概念性内容。

上位机软件有哪些_上位机软件开发用什么语言_上位机软件

比如我们常说的电脑处理器有486、IvyBridge、PentiumM……这就是架构上的区别(它们都属于x86架构)。 wiki 的内容只提到了计算机处理器中常见的硬件架构,而没有提到你想知道的,嵌入式系统中常用的微处理器/微控制器芯片所使用的架构。

而你所说的联系,就是我后面用分界线隔开的:ARM架构到STM32之类的名称都属于ARM架构的范畴。

这三天一直忙着思考控制步进电机的程序设计,所以脑子有点不够用,表达也有点受阻。 如果你关注过计算机CPU的历史,你就能明白我所说的架构是什么意思。

内核 IPcore:有关概念,请参阅 IP 核。 可以说IP核是硬件架构具体概念在芯片中的具体实现。

正如其中提到的,一开始,各个厂商都是自己做的上位机软件,从框架开发到芯片成型,这些好处都是因为他们完全掌握了核心技术。 但缺点是投资巨大。 一旦投入很大,但设计的芯片因结构不合理而丢失,那么之前的投入就白费了。

当初在嵌入式工控领域流行的是INTEL的8031和8051(虽然有些工控领域仍然坚持使用8031,但由于其稳定性,这个以后有时间再讲)。 不过,英特尔可能是考虑到生产成本和领域的扩展(人们制造计算机微处理器比这赚更多的钱),逐渐放弃了8051芯片的生产,转而授权其他公司生产。 集成芯片内部是一堆晶体管的集合,用硬件描述语言来指定晶体管的排列组合,从而实现中央处理器、总线、存储单元……Intel授权如何实现硬件描述语言将8051架构的技术转让给其他公司(购买核心),授权公司可以生产具有8051核心的芯片。

微控制器MCU/微处理器μP:

最初,只有大型微型计算机使用的微处理器。 后来Intel从4004发展到8086,不仅用于工业控制,还从8031衍生到8051,然后用于计算机的微处理器逐渐发展到超高集成度。 精度高、容量大、频率高、处理能力大,可以满足计算机技术日益增长的需求。 8051已稳步发展成为高稳定性、多功能集成的微控制器,满足工控领域对显存需求不太大,但稳定性高、外围功能多、占用空间小的要求。

初步区分是单片机有内部RAM(相当于电脑的显存,其实集成芯片没有这么大的显存,通常支持128K显存)和ROM(相当于电脑的硬盘,实际上不会有硬盘容量),以及其他外围功能(如并口、spi、I2C等)。 简单来说,就是将资源容量减少的计算机放在一个芯片中。 也因为这样的单片机上面集成了完整的计算机系统,所以20世纪80、90年代的台湾电子工程师将其称为“单片机”,影响至今。

(注意,一个完整的计算机系统就是处理器、总线、存储结构、输入输出结构,所以别告诉我为什么没有显示器、键盘和鼠标,单片机还敢说它继承了计算机系统。可以阅读《计算机系统原理》教材)

由于计算机微处理器需要从处理数据的角度来考虑,因此只需要在处理方面进行升级即可。 因此,初步判断,该微处理器没有集成RAM、ROM等外围功能。

只是由于PowerPC向嵌入式发展,以及后来ARM的出现上位机软件,微处理器和微控制器的差别开始逐渐缩小。 这类微处理器也开始集成RAM、ROM等外设……

但现在国际上还没有统一的标准,微处理器和微处理器之间有什么区别。 就像“单片机”一样,是工程师自己称呼的。 有些人也称 8051 为微处理器...

从Ti的DSP、ARM7、ARM9等芯片我做过:

上位机软件_上位机软件有哪些_上位机软件开发用什么语言

微处理器μP需要通过串口扩展RAM和ROM,但程序是从外部ROM启动并在外部RAM中运行的。

单片机MCU通过内部ROM启动程序并运行内部或外部RAM中的程序。

这只是我个人的看法,因为有些芯片可以配置为微处理器或微控制器,配置后的区别在于程序在那里启动并在那里运行。 例如泰安仪器TI的TMS320320FF28122812DSP芯片。

BTW:虽然DSP芯片本质上是微处理器/微控制器芯片,但它只包含DSP数字信号处理功能。 比如上面提到的Cortex-M4,也集成了DSP数字信号处理功能,但是ARM公司并没有尊称它为DSP,这是工程师自己的称呼。 没有统一的标准。 我在另一个答案里提到过。 我就不贴了

ARM和Intel谁能取代DSP?

---------------------------------- 关于冯诺依曼结构 -------------------- ---- ------------------------------------------------

冯·诺依曼结构:是一种集程序指令存储和数据存储于一体的笔记本设计概念结构。 应该说,ARMv3等内核的存储结构模式和主存模式都使用了这些冯·诺依曼结构,而一个完整的微处理器架构还需要指令集等其他系列结构。

如果提问者不了解冯·诺依曼结构,建议学习《计算机系统》或《计算机系统原理》等书籍。 记忆中好像都会提到学院大一、大二选修课的《计算机原理》(计算机一二年级的教材)。

-------------------------------------- 插入关于嵌入概念的补充 ----------- --- -----------------------

IEEE和IEC对嵌入式系统(EmbeddedSystem)的解释,从最早的4004、8031、8051,到目前流行的ARM和难学的PowerPC,如果这种芯片用在“用于控制、监视或操作机械设备的辅助装置” ” 应被嵌入。 (有人用过嵌入式系统的X86框架的80386)

所以不要问我如何从单片机切换到嵌入式。 因为单片机的开发本身就是嵌入式开发。 如需询问,请明确您是否要从 8051 切换到 ARM 还是 PowerPC。

最后,我想提一下CPU的概念:通常当人们看到CPU时,都会想到个人笔记本上被散热器和风扇重压的大芯片。 虽然严格来说这是一个错误的概念。

CPU:(zh.wikipedia.org/wiki/CPU)严格来说,CPU仅指微处理器/微控制器芯片内部的中央处理单元模块,但人们夸大了某个主要功能而忽略了这些思维的其他必要的可访问性。 所以有时候当你看到电子工程师或者嵌入式工程师在谈论CPU输出什么的时候,不要以为他在谈论笔记本里的大芯片。 他可能在谈论ARM、PowerPC、51、AVR。 这样的筹码。

(我记得某年公务员考试的试卷中提到了CPU的实际概念,就是问“计算机中必须有哪些芯片?”,并给出了几个选项“A、微处理器;B、CPU;C、……”一个简单的选择题恐怕会让很多人望而却步)

相关内容 查看全部