ARM架构ARM7ARM9STM32CortexM3M451AVR有啥区别


ARM架构、ARM7、ARM9、STM32、Cortex M3 M4、51、AVR之间有什么区别和联系?


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


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


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


Cortex M3:采用了ARMv7架构的,使用哈佛结构的内核。


Cortex M4:采用了ARMv7架构的,使用哈佛结构的内核。(较前者最大区:增加了一个DSP处理功能,SIMD单指令多数据功能。其他区别请自己在实际项目开发中体验)


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


51:Intel在1981年推出的由8031微控制器芯片改造升级的、使用CISC指令集的、冯诺依曼架构的、8位的8051微控制器。后Intel将8051微控制器的内核授权给其他芯片厂商,使得市面上广泛出现类似于8051的芯片,这种采用8051内核的芯片被简称为51。

AVR:一系列由Atmel公司在九十年代初推出的系列8位的、采用改进哈佛结构的、使用RISC指令集的微处理器芯片。

最开始的Intel公司都是自己从头研发处理器芯片。从4004、8008、8086、80286……TI公司的TMS 1000……还有其他的公司研发的可编程芯片。因为是不同公司,而且各公司之间也不可能有交流(防止商业秘密泄露),所以各自做的芯片都有在内部CPU、总线、存储单元、指令集上的不同(如果有相同,那就是专利侵权了,比如Intel当年锲而不舍控告AMD)。但每个公司研发的新老芯片之间都有一定的结构和技术上的传承,所以出现了不同公司研发的芯片中有不同的架构。


架构 architecture:是一个抽象的概念,是一个结构内的元素及元素间关系的一种主观映射的产物。概念性的东西请看微架构。


比如我们常说的计算机处理器有486、Ivy Bridge、Pentium M……这就是架构的不同(其都从属于x86架构),维基的内容里只提到了计算机处理器中的常见硬件架构,而没提到你想了解的、常用于嵌入式系统中的微处理器/微控制器芯片所用到的架构。


而所谓的联系,就是我前面用分割线隔离开来的:ARM架构到STM32这些名称都属于ARM架构的范畴。


这两天忙着考虑控制步进电机的程序设计,所以脑子有点不够用,表达有点障碍。如果你关注过计算机CPU历史,就能理解我所说的架构是怎么一回事。


内核 IP core:概念请看IP核。可以说IP核是硬件架构这个抽象概念在芯片内的具体实现。


上面说了,最开始都是各个厂家自己做,从架构研发到芯片成型,这种好处是自己完全掌握了核心技术。但劣势是投入巨大,一旦大投入,但设计出来的芯片因为架构的不合理而导致市场流失,那之前的投入就打水漂了。


而当年Intel的8031和8051在嵌入式工控领域热卖(其实现在还有些工控领域坚持用8031,因为稳定,这个以后有空再说)。而Intel可能是从生产成本和扩展领域方面的考虑(人家做计算机微处理器比这赚钱多了),自己逐渐放弃了8051芯片的生产,转而允许授权其他公司生产。集成芯片内部就是一堆晶体管的集合,用硬件描述语言来规定晶体管的排列组合从而实现中央处理器、总线,存储单元……,Intel把如何实现8051架构的硬件描述语言授权卖给其他公司(买内核),获授权的公司就能生产具有8051内核的芯片了。


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


一开始只有小型微型计算机所使用的微处理器,后来Intel从4004发展到8086阶段中衍生出了专门用于工业控制方面的8031到8051,然后是用于计算机的微处理器慢慢发展向超高集成度、大容量、高频率、大处理能力以符合计算机技术的日益发展需求。而8051则平稳发展向了高稳定性、多功能集成度的微控制器,以满足工业控制领域对内存需求相对不是太大,但稳定性高、外设功能较多、占用面积小的要求。


最开始的区分就是微控制器带有内部RAM(等同于计算机的内存条,当然芯片内集成不会有那么大的内存,一般撑死了128K内存)、和ROM(等同于计算机的硬盘,当然也不会有像硬盘大的容量),以及其他的外设功能(如串口、spi、I2C等功能)。简单的说就是把一个缩小资源容量的计算机放到一个芯片内。也因为这样单芯片集成了一个完整的计算机系统在里面,大陆地区在80、90年代的电子工程师将其称为“单片机”,然后影响至今。


(注意,一个完整的计算机系统是处理器、总线、存储结构、输入输出结构,所以不要跟我说为啥没有显示器和鼠标键盘,它单片机也敢说继承了一个计算机系统,你可以翻翻《计算机系统原理》课本)


而计算机微处理器因为需要从处理数据角度考虑,纯粹只做处理方面的升级,所以在一开始的区分中,微处理器是不集成RAM、ROM、和其他外设功能的。


只是因为PowerPC往嵌入式发展,以及后来ARM的出现,开始慢慢的又缩小了微处理器和微控制器的区别,这些微处理器也开始集成了RAM、ROM、其他外设……


但现在国际上也没有一个统一的,通用的标准说微处理器和微处理器之间的区别是什么。跟“单片机”一样,都是工程师自己叫出来的。也有人把8051也称为微处理器的……


而从我做过的TI的DSP、ARM7、ARM9等芯片来看:


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


微控制器MCU通过内部ROM启动程序,在内部或外部RAM运行程序的。


这只是我的个人见解,因为有的芯片可以被配置为微处理器,也可以被配置为微控制器,其配置后的区别就是程序从哪里启动在哪里运行。比如德州仪器TI的TMS320F2812 DSP芯片。


BTW:DSP芯片本质上其实也是一个微处理器/微控制器芯片,只是它内含了DSP数字信号处理功能,比如上面说到的Cortex-M4也是集成了DSP数字信号处理功能呢,但ARM公司不称呼它为DSP,这都是工程师自己称的。没有统一标准。


ARM和 Intel谁能代替 DSP?


关于冯诺依曼结构

冯诺依曼结构:是一种将程序指令存储器和数据存储器合并在一起的电脑设计概念结构。应该说ARMv3之类的内核的存储结构模式和寻址模式使用了这种冯诺依曼结构,一个完整的微处理器架构还需要指令集等其他系列结构。


如果是问不理解冯诺依曼结构的话,建议学习一下《计算机系统》或《计算机系统原理》这一类书籍。在我记忆中貌似大学大一大二必修的《计算机原理》这一类的都会提到(用于考计算机一二级神马的教材)。


插一个关于嵌入式概念的补充

IEEE和IEC对于嵌入式系统(Embedded System)的诠释,从最早期的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、…”一个简单的选择题估计考歇了很多人)

↓↓↓↓点击阅读原文,查看更多新闻

建久三年(1192年),源赖朝出任征夷大将军,建立了日本历史上第一个幕府——镰仓幕府。但在源赖朝病死后十几年,源氏将军家彻底绝后,镰仓幕府的实权则控制在北条一族手中..

氽,一个生活中比较少见的汉字,读音是tǔn,一般用在方言中。那么,氽是什么意思呢?快来看看吧。基本信息中文名:氽拼 音:tǔn笔 画:6部 首:水五 ..

左 支 右 绌支:支持。绌(chù):屈曲,引申为不足。它原指弯弓射箭的姿势,左手支持,右手屈曲,应付了这方面,那方面又出了问题。现在用以形容财力或能..

很多朋友对于any和some的用法区别和any和many的用法和区别是什么不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!any和some的用法区别1、相同之处二者都可以修饰可数名词复数,又可以修饰不可数名词。There are some policemen at the door.门口有一..

万万没想到,这些保健品也在收智商税!身为子女,都期待父母身体健康,身为父母,都期望子女茁壮健康地成长。家人总有一些让你哑口无言的“养生观”,譬如:“吃冬虫夏草可..

大家好,小编来为大家解答被减数和减数的区别这个问题,被减数和减数的区别是什么很多人还不知道,现在让我们一起来看看吧!减数和被减数怎么区分一年级?减数和被减数区分方式减号后面的数称为减数,减号前面的数称为被减数。被减数减减数等于差。当减数大于被减数时,结果等于负数。无论数学算式如何..

大家好,小编来为大家解答主观题与客观题的区别这个问题,主观题还是客观题很多人还不知道,现在让我们一起来看看吧!主观题和客观题的区别主观题和客观题的区别:一、本质不同1、客观题,就是反映社会生活本来面目,不以人的意志为转移的问题,往往考察人的知识面。比如,甲午中日战争是在1895年发生..

本篇文章给大家谈谈茅台今日价格表茅台陈酿,以及陈酿茅台和普通茅台区别对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。茅台金字陈酿谁喝普通人也可以喝啊!就是价格真的有点贵,6499左右一瓶!所谓陈酿,指的是具有陈酿茅台酒的品质。陈酿是酱瓶高端茅台。茅台最厉害的酒质就是国宴,而此款..

大家好,关于毛肚是什么动物身上的很多朋友都还不太明白,不知道是什么意思,那么今天我就来为大家分享一下关于毛肚是什么动物身上的 和牛肚的区别的相关知识,文章篇幅可能较长,还望大家耐心阅读,希望本篇文章对各位有所帮助!毛肚是什么动物身上的-简短介绍 毛肚是牛身上的胃,牛身上有..

大家好,今天本篇文章就来给大家分享淡奶油和动物奶油的区别,以及淡奶油与动物奶油的区别对应的知识和见解,内容偏长哪个,大家要耐心看完哦,希望对各位有所帮助,不要忘了收藏本站喔。淡奶油和动物奶油的区别是什么 淡奶油和动物奶油有哪些区别1、包含不同 淡奶油:淡奶油指可以打发裱花..

2002年5月7日21时24分,一架从北京飞往大连的CJ6136麦道客机在大连附近的渤海湾发生空难,103名乘客和9名机组人员全部罹难。这场空难发生后,无数人为此揪紧了心,家属们更..

大家好,相信到目前为止很多朋友对于海思和麒麟有啥区别和海思和麒麟有什么区别不太懂,不知道是什么意思?那么今天就由我来为大家分享海思和麒麟有啥区别相关的知识点,文章篇幅可能较长,大家耐心阅读,希望可以帮助到大家,下面一起来看看吧!华为手机海思和麒麟处理器是同一种型号吗?为什么叫海思..

很多朋友对于真假灵芝的区别图片和真假灵芝的区别图片什么树上长灵芝不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!如何辨别真假灵芝图(1)外观鉴别灵芝粉末浅棕色、棕褐色至紫褐色。菌丝散在或黏结成团,无色或淡棕色,细长,稍弯曲,有分枝。直径2.5~6.5微米。孢子褐..

2020年10月22日是世界传统医药日,全国一些中小学开展传统中医药文化进校园活动。同学们在各地中医医院、中药房医务人员的科普下学习中医理论,辨识中药,了解针灸、拔火罐..

大家好,关于参议院和众议院的区别很多朋友都还不太明白,不知道是什么意思,那么今天我就来为大家分享一下关于参议院和众议院的区别国会的相关知识,文章篇幅可能较长,还望大家耐心阅读,希望本篇文章对各位有所帮助!参议院和众议院有什么区别?美国的国会、参议院和众议院是什么,三者有何关系?首..

来源:Cosmetic美妆大赏 ID:riyudongyuan早上好。今天是2018年1月2日,时间过得可真快呀,2017一转眼就变成了“去年”。元旦也过完啦,都收收心,好好计划一下2018年..

如果是仅仅论有名的话,纵横哥认为,海南文昌鸡名气最大,其次是湛江白切鸡,化州香油鸡的名气要稍小一点。不过名气归名气,三种鸡到底有什么区别呢?之前纵横哥已经谈过文..

本文由 电子产品世界 来源发布

ARM架构ARM7ARM9STM32CortexM3M451AVR有啥区别

评论问答