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、…”一个简单的选择题估计考歇了很多人)
作者:陈俊直 链接:

https://www.zhihu.com/question/22464046/answer/21450143
来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

ARM 架构、ARM7、ARM9、STM32、Cortex M3 M4 、51、AVR 之间有什么区别和联系?(转载自知乎)的更多相关文章

  1. 【ARM-Linux开发】ARM7 ARM9 ARM Cortex M3 M4 有什么区别

    ARM7 ARM9 ARM Cortex M3 M4 区别 arm7 arm9 可以类比386和奔腾, 不同代,arm9相比arm7指令集和性能都有所增强,arm7和arm9都有带mmu和无mmu的版 ...

  2. 【freertos】002-posix模拟器设计与cortex m3异常处理

    目录 前言 posix 标准接口层设计 模拟器的系统心跳 模拟器的task底层实质 模拟器的任务切换原理 cortex M3/M4异常处理 双堆栈指针 双操作模式 栈帧 EXC_RETURN 前言 如 ...

  3. ARM Cortex M3(V7-M架构)硬件启动程序 二

    解析 STM32 的启动过程 解析STM32的启动过程 当前的嵌入式应用程序开发过程里,并且C语言成为了绝大部分场合的最佳选择.如此一来main函数似乎成为了理所当然的起点——因为C程序往往从main ...

  4. ARM Cortex M3(V7-M架构)硬件启动程序 一

    Cortex-m3启动代码分析笔记 启动代码文件名是STM32F10X.S,它的作用先总结下,然后再分析. 启动代码作用一般是: 1)堆和栈的初始化: 2)中断向量表定义: 3)地址重映射及中断向量表 ...

  5. STM32学习之路入门篇之指令集及cortex——m3的存储系统

    STM32学习之路入门篇之指令集及cortex——m3的存储系统 一.汇编语言基础 一).汇编语言:基本语法 1.汇编指令最典型的书写模式: 标号 操作码        操作数1, 操作数2,... ...

  6. ARM内核全解析,从ARM7,ARM9到Cortex-A7,A8,A9,A12,A15到Cortex-A53,A57

    转自: ARM内核全解析,从ARM7,ARM9到Cortex-A7,A8,A9,A12,A15到Cortex-A53,A57 前不久ARM正式宣布推出新款ARMv8架构的Cortex-A50处理器系列 ...

  7. ARM Cortex M3系列GPIO口介绍(工作方式探讨)

    一.Cortex M3的GPIO口特性    在介绍GPIO口功能前,有必要先说明一下M3的结构框图,这样能够更好理解总线结构和GPIO所处的位置. Cortex M3结构框图     从图中可以看出 ...

  8. Implementation of Serial Wire JTAG flash programming in ARM Cortex M3 Processors

    Implementation of Serial Wire JTAG flash programming in ARM Cortex M3 Processors The goal of the pro ...

  9. arm架构与体系结构

    1.cpu与soc 内核版本号与soc版本号由arm公司确定. 芯片型号由各半导体公司确定. soc包括cpu与一些基本内设.(一般提到CPU都指的是soc,实际上cpu只是soc的一部分). RIS ...

随机推荐

  1. 记录python万恶的坑

    1.PyCharm Process finished with exit code -1073741819 (0xC0000005) 解决方法:卸载h5py这个包,在装cv2的时候有可能安装了h5py ...

  2. 强力上攻后,缓解期结束,MACD死叉的案例

    eg1.顶部,MACD收紧,缓解期刚过,正好下M5,触发减仓条件

  3. 笔记 : CSS3实现背景渐变过渡

    使用CSS3的人都知道背景background-image是可以线性渐变(linear-gradient)和径向渐变(radial-gradient),但是想要做到过渡动画,单纯的background ...

  4. LeetCode119.杨辉三角II

    给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行. 在杨辉三角中,每个数是它左上方和右上方的数的和. 示例: 输入: 3 输出: [1,3,3,1] 进阶: 你可以优化你的算法到 O ...

  5. TP文件上传

    一.单文件上传 <form action="__ACTION__" enctype="multipart/form-data" method=" ...

  6. 福布斯最佳雇主榜:谷歌母公司Alphabet再登榜首 微软次之

    http://www.sohu.com/a/259018538_114774 站长之家(ChinaZ.com) 10月12日 消息:在福布斯发布的最新全球最佳雇主榜单中,谷歌母公司Alphabet以满 ...

  7. 04-树6 Complete Binary Search Tree(30 分)

    title: 04-树6 Complete Binary Search Tree(30 分) date: 2017-11-12 14:20:46 tags: - 完全二叉树 - 二叉搜索树 categ ...

  8. html5-article元素

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  9. uvalive 3353 Optimal Bus Route Design

    题意: 给出n个点,以及每个点到其他点的有向距离,要求设计线路使得每一个点都在一个环中,如果设计的线路拥有最小值,那么这个线路就是可选的.输出这个最小值或者说明最小线路不存在. 思路: 在DAG的最小 ...

  10. Impala 学习

    Impala 基础知识介绍与学习,参考文章: Impala-大数据时代快速SQL引擎 https://blog.csdn.net/kangkangwanwan/article/details/7865 ...