关注、星标公众号,直达精彩内容

来源:付斌综合自网络

在嵌入式开发中,我们会经常看到或接触一些专业术语,例如CPU、MPU、MCU和SOC等,并且这些专业术语出现的频率也是非常之高,在面试中也常常会作为提问的知识点,下面我们就来看一下他们之间的特点和区别。

CPU

CPU是Central Processing Unit的缩写,计算机的运算控制核心就是CPU。CPU是由运算器、控制器和寄存器及相应的总线构成。众所周知的三级流水线:取址、译码、执行的对象就是CPU,CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码,然后执行指令。而计算机的可编程性其实就是指对CPU的编程。

MPU

MPU是Micro Processor Unit的缩写,指微处理器(这里要注意不是微控制器,很多人会把微处理器和微控制器混淆),微处理器通常代表功能强大的CPU(可理解为增强型的CPU),这种芯片往往是计算机和高端系统的核心CPU。例如嵌入式开发者最熟悉的ARM的Cortex-A芯片,他们都属于MPU。

MCU

MCU是Micro Control Unit的缩写,指微控制器。随着大规模集成电路的出现及发展,把计算机的CPU、RAM、ROM、定时器和输入输出I/O引脚集成在一个芯片上,比如51,STC、Cortex-M这些芯片,它们的内部除了CPU外还包含了RAM和ROM,可直接添加简单的器件(电阻,电容)等构成最小系统就可以运行代码了。而像ARM(Cortex-A系列)直接放代码是运行不了的,因为它本质上只是增强版的CPU,必须添加相应的RAM和ROM。

SOC

SOC是System on Chip的缩写,指的是片上系统。可以这样对比来看:MCU只是芯片级的芯片,而SOC是系统级的芯片,它集成了MCU和MPU的优点,即拥有内置RAM和ROM的同时又像MPU那样强大,它可以存放并运行系统级别的代码,也就是说可以运行操作系统(以Linux OS为主)

另外,SOPC也是一个值得了解的概念,与上述几项概念相比,SOPC的出现频率并不是那么高,但这并不影响它的重要性。SOPC是System On a Programmable Chip的缩写,即 可编程片上系统,SOPC与MCU、MPU、SOC最明显的区别在于:可更改硬件配置,也就是说自己构造芯片。

举个例子说明便于理解,单片机的硬件配置是固化好了的, 我们能够编程修改的就是软件配置,本来是串口通信功能,通过修改代码变成AD采样功能,也就是说硬件配置是固定了的,我们只能通过修改软件来选择其中的一项或多项功能;而SOPC可以修改硬件配置信息使其成为相应的芯片,可以是MCU,也可以是SOC。

结语

在嵌入式开发中,接触频率较多的一般是MCU和SOC,而现在STM32也几乎成为了MCU的代名词,SOC目前则以Cortex-A系列为主,开发难度也有所差异,对于嵌入式从业者来说,弄清楚这些专业概念是必备的。

来源:头条号-嵌入式在左C语言在右

链接:https://www.toutiao.com/i6841833288915485192/


版权归原作者所有,如有侵权,请联系删除。

‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧  END  ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧

关注我的微信公众号,回复“加群”按规则加入技术交流群。
点击下面图片,有星球具体介绍,新用户有新人优惠券,老用户半价优惠,期待大家一起学习一起进步。
点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。

CPU、MPU、MCU和SOC还傻傻分不清楚 看这篇文章就够了相关推荐

  1. docker 容器之间通信_还不清楚docker容器间是如何通信的?看这篇文章就够了

    如果觉得文章有帮助,欢迎点击头像关注我获取更多原创文章,同时也欢迎转发. 同时也可以在我的历史文章中找到Linux操作系统相关的服务器运维管理入门系列文章,欢迎交流. 前文演示docker容器内部数据 ...

  2. 还不知道Dokcer怎么入门?看这篇文章就够了

    Docker 贴上学习视频链接视频链接 一 Docker概述 1.聊一聊Docker为什么会出现? 解决多环境配置问题,作为开发我们都知道,我们的项目是分为本地开发环境.测试环境.生产环境最基本的三套 ...

  3. 还不会子网划分?看这篇文章还远远不够!

    子网划分的概念 Internet组织机构定义了五种IP地址,有A.B.C三类地址.A类网络有126个,每个A类网络可能有16777214台主机,它们处于同一广播域.而在同一广播域中有这么多节点是不可能 ...

  4. 还在纠结交易系统的细节吗?看这篇文章就够了!

    来源: 汇商琅琊榜 原文连接:https://mp.weixin.qq.com/s/KBEDuf6QB096OeWNdvx9Ng 关于交易系统 很多问我交易系统,还以为我不想说,其实不是我不想说,因为 ...

  5. Servlet还不会?那就看这篇文章吧

    一. Servlet是什么? Servlet是Server Applet的简称,也就是服务程序.当然,杨哥习惯称它为"服务连接器". 像上面这么说,大家可能会有所疑惑:什么是服务程 ...

  6. i7处理器好吗_二手CPU值得买吗?购买二手CPU不想交智商税就看这篇文章

    二手CPU值得买吗?众所周知,不少装机用户可能因为预算的原因,可能会考虑二手硬件,理论上二手CPU无疑相比全新更加便宜,但是CPU这玩意真的有很多例外,有些二手CPU还真的没有全新划算,较老型号的in ...

  7. CPU,MPU,MCU,SOC,SOPC联系与差别

    CPU.MCU.MPU及DSP的区别 CPU(Central Processing Unit,中央处理器)发展出来三个分枝,一个是DSP(Digital Signal Processing/Proce ...

  8. 还没吃透内存缓存LruCache实现原理的看这篇文章,面试必会

    前言 这篇文章主要是分享今年上半年的面试心得,现已就职于某大厂有三个月了,近期有很多公司均已启动秋招,也祝大家在 2020 的下半年面试顺利,获得理想的offer! 之前找工作的那段时间感想颇多,总结 ...

  9. redis缓存雪崩、缓存击穿和缓存穿透还傻傻分不清?看这篇就够了

    前言 关于Redis的高频问题,缓存雪崩.缓存击穿和缓存穿透一定少不了,相信大家在面试中都被问到过类似的问题.为什么这些问题一直热门呢?因为我们在使用Redis缓存时,这些问题都是很容易遇到的.接下来 ...

  10. 正反馈、负反馈傻傻分不清?看这篇电路深度讲解

    一.反馈的基本概念 1.1 什么是反馈? 反馈,就是把放大电路的输出量的一部分或全部,通过反馈网络以一定的方式又引回到放大电路的输入回路中去,以影响电路的输入信号作用的过程. 1.2 放大电路中引入反 ...

最新文章

  1. linux命令速查手册_值得收藏!Linux系统常用命令速查手册
  2. 【图像分类】从数据集和经典网络开始
  3. 解决spring-session升级到2.0.0报错的问题
  4. 十行代码实现title滚动显示
  5. linux 怎么改系统字体,Linux下如何设置中文字体
  6. java list 效率_Java中5种List的去重方法及它们的效率对比,你用对了吗?
  7. android测试工具Demo,Android 测试工具,实时抓被测app crash实现思路
  8. 前端常见开发英语单词大全
  9. 【136天】尚学堂高淇Java300集视频精华笔记(77-78)
  10. 《预告 》 明天(9月19日),中国科学院自动化研究所首届智能决策论坛即将开幕!(附带10+位作者演讲主题及摘要)...
  11. 日历控件修改的JS代码
  12. mysql面试题学校三表查询_mysql经典面试题之学生成绩表
  13. keyshot渲染图文教程_KeyShot中渲染汽车教程
  14. 男装品牌十如仕官宣谢霆锋为品牌代言人
  15. 自动对焦模块理论基础及其硬件实现浅析(四)
  16. 全网最简单的百度网盘提速方法!!!!
  17. java-线程的实现方式
  18. MacBook Pro安装WIN10问题集锦
  19. 网络机房搬迁的实施和经验
  20. Code Jam Problem D. GoroSort

热门文章

  1. 海科融通:关于降低商户银行卡刷卡手续费的公告
  2. win32gui操作
  3. storm风暴英雄 tempo_【风暴英雄】锐派专区 - fb.replays.net | 风暴英雄官网合作中文站...
  4. RPL协议的原理与安全机制
  5. 利用线性回归预测波士顿房价
  6. 笔记本软件兼容性测试,Windows 10 技术预览版 国产杀毒软件兼容性测试:大多可以使用...
  7. python量化期权_Python量化之期货期权无风险套利测试
  8. 深入研究webrtc平滑发送(paced sender)
  9. 通常在计算机中连接硬盘驱动器的接口为,解决方案:如何在Win10系统中向计算机添加硬盘驱动器...
  10. python例子之一句话求列表中偶数