CPU、MPU、MCU和SOC还傻傻分不清楚 看这篇文章就够了
关注、星标公众号,直达精彩内容
来源:付斌综合自网络
在嵌入式开发中,我们会经常看到或接触一些专业术语,例如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还傻傻分不清楚 看这篇文章就够了相关推荐
- docker 容器之间通信_还不清楚docker容器间是如何通信的?看这篇文章就够了
如果觉得文章有帮助,欢迎点击头像关注我获取更多原创文章,同时也欢迎转发. 同时也可以在我的历史文章中找到Linux操作系统相关的服务器运维管理入门系列文章,欢迎交流. 前文演示docker容器内部数据 ...
- 还不知道Dokcer怎么入门?看这篇文章就够了
Docker 贴上学习视频链接视频链接 一 Docker概述 1.聊一聊Docker为什么会出现? 解决多环境配置问题,作为开发我们都知道,我们的项目是分为本地开发环境.测试环境.生产环境最基本的三套 ...
- 还不会子网划分?看这篇文章还远远不够!
子网划分的概念 Internet组织机构定义了五种IP地址,有A.B.C三类地址.A类网络有126个,每个A类网络可能有16777214台主机,它们处于同一广播域.而在同一广播域中有这么多节点是不可能 ...
- 还在纠结交易系统的细节吗?看这篇文章就够了!
来源: 汇商琅琊榜 原文连接:https://mp.weixin.qq.com/s/KBEDuf6QB096OeWNdvx9Ng 关于交易系统 很多问我交易系统,还以为我不想说,其实不是我不想说,因为 ...
- Servlet还不会?那就看这篇文章吧
一. Servlet是什么? Servlet是Server Applet的简称,也就是服务程序.当然,杨哥习惯称它为"服务连接器". 像上面这么说,大家可能会有所疑惑:什么是服务程 ...
- i7处理器好吗_二手CPU值得买吗?购买二手CPU不想交智商税就看这篇文章
二手CPU值得买吗?众所周知,不少装机用户可能因为预算的原因,可能会考虑二手硬件,理论上二手CPU无疑相比全新更加便宜,但是CPU这玩意真的有很多例外,有些二手CPU还真的没有全新划算,较老型号的in ...
- CPU,MPU,MCU,SOC,SOPC联系与差别
CPU.MCU.MPU及DSP的区别 CPU(Central Processing Unit,中央处理器)发展出来三个分枝,一个是DSP(Digital Signal Processing/Proce ...
- 还没吃透内存缓存LruCache实现原理的看这篇文章,面试必会
前言 这篇文章主要是分享今年上半年的面试心得,现已就职于某大厂有三个月了,近期有很多公司均已启动秋招,也祝大家在 2020 的下半年面试顺利,获得理想的offer! 之前找工作的那段时间感想颇多,总结 ...
- redis缓存雪崩、缓存击穿和缓存穿透还傻傻分不清?看这篇就够了
前言 关于Redis的高频问题,缓存雪崩.缓存击穿和缓存穿透一定少不了,相信大家在面试中都被问到过类似的问题.为什么这些问题一直热门呢?因为我们在使用Redis缓存时,这些问题都是很容易遇到的.接下来 ...
- 正反馈、负反馈傻傻分不清?看这篇电路深度讲解
一.反馈的基本概念 1.1 什么是反馈? 反馈,就是把放大电路的输出量的一部分或全部,通过反馈网络以一定的方式又引回到放大电路的输入回路中去,以影响电路的输入信号作用的过程. 1.2 放大电路中引入反 ...
最新文章
- linux命令速查手册_值得收藏!Linux系统常用命令速查手册
- 【图像分类】从数据集和经典网络开始
- 解决spring-session升级到2.0.0报错的问题
- 十行代码实现title滚动显示
- linux 怎么改系统字体,Linux下如何设置中文字体
- java list 效率_Java中5种List的去重方法及它们的效率对比,你用对了吗?
- android测试工具Demo,Android 测试工具,实时抓被测app crash实现思路
- 前端常见开发英语单词大全
- 【136天】尚学堂高淇Java300集视频精华笔记(77-78)
- 《预告 》 明天(9月19日),中国科学院自动化研究所首届智能决策论坛即将开幕!(附带10+位作者演讲主题及摘要)...
- 日历控件修改的JS代码
- mysql面试题学校三表查询_mysql经典面试题之学生成绩表
- keyshot渲染图文教程_KeyShot中渲染汽车教程
- 男装品牌十如仕官宣谢霆锋为品牌代言人
- 自动对焦模块理论基础及其硬件实现浅析(四)
- 全网最简单的百度网盘提速方法!!!!
- java-线程的实现方式
- MacBook Pro安装WIN10问题集锦
- 网络机房搬迁的实施和经验
- Code Jam Problem D. GoroSort
热门文章
- 海科融通:关于降低商户银行卡刷卡手续费的公告
- win32gui操作
- storm风暴英雄 tempo_【风暴英雄】锐派专区 - fb.replays.net | 风暴英雄官网合作中文站...
- RPL协议的原理与安全机制
- 利用线性回归预测波士顿房价
- 笔记本软件兼容性测试,Windows 10 技术预览版 国产杀毒软件兼容性测试:大多可以使用...
- python量化期权_Python量化之期货期权无风险套利测试
- 深入研究webrtc平滑发送(paced sender)
- 通常在计算机中连接硬盘驱动器的接口为,解决方案:如何在Win10系统中向计算机添加硬盘驱动器...
- python例子之一句话求列表中偶数