CPU、MPU、MCU、SOC的概念与区别

这篇具有很好参考价值的文章主要介绍了CPU、MPU、MCU、SOC的概念与区别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考资料:
SoC和MCU的区别
CPU、MCU和SOC的区别以及外设的概念理解
CPU、MPU、MCU和SOC还傻傻分不清楚 看这篇文章就够了


1. 概念

1.1 CPU(Central Processing Unit)

CPU(Central Processing Unit),是一台计算机的运算核心和控制核心。CPU由运算器、控制器和寄存器及实现它们之间联系的数据、控制及状态的总线构成。众所周知的三级流水线:取址、译码、执行的对象就是CPU,差不多所有的CPU的运作原理可分为四个阶段:提取(Fetch)、解码(Decode)、执行(Execute)和写回(Writeback)。 CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码,并执行指令。所谓的计算机的可编程性主要是指对CPU的编程。

1.2 MPU (Micro Processor Unit)

MPU (Micro Processor Unit),叫微处理器(不是微控制器MCU,很多人会把微处理器和微控制器混淆),通常代表一个功能强大的CPU(暂且理解为增强版的CPU吧),但不是为任何已有的特定计算目的而设计的芯片。这种芯片往往是个人计算机和高端工作站的核心CPU。例如Intel 的X86,ARM的一些Cortex-A芯片如飞思卡尔i.MX6、全志A20、TI AM335X等都属于MPU。

1.3 MCU(Micro Control Unit)

MCU(Micro Control Unit):叫微控制器,其实就是我们平常说的单片机。是指随着大规模集成电路的出现及其发展,将计算机的CPU、RAM、ROM、定时计数器和多种I/O接口集成在一片芯片上,形成芯片级的芯片,比如51、STC、AVR、Cortex-M这些芯片,内部除了CPU外还有RAM、ROM,也就是在一块芯片中集成了整个计算机系统,可以直接加简单的外围器件(电阻,电容)就可以运行代码了。它本质上仍是一个完整的单片机,有处理器,有各种接口,所有的开发都是基于已经存在的系统架构,应用者要做的就是开发软件程序和加外部设备。而像ARM(Cortex-A系列)直接放代码是运行不了的,因为它本质上只是增强版的CPU,必须添加相应的RAM和ROM。

1.4 SoC(System on Chip)

SoC(System on Chip,整体的一个电路系统,完成一个具体功能的东西):指的是片上系统,MCU只是芯片级的芯片,而SoC是系统级的芯片,它既MCU那样有内置RAM、ROM同时又像MPU那样强大,不单单是放简单的代码,可以放系统级的代码,也就是说可以运行操作系统(以Linux OS为主)(将就认为是MCU集成化与MPU强处理力各优点二合一)。

1.5 SoPC(System On a Programmable Chip)

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

举个例子说明便于理解,单片机的硬件配置是固化好了的, 我们能够编程修改的就是软件配置,本来是串口通信功能,通过修改代码变成AD采样功能,也就是说硬件配置是固定了的,我们只能通过修改软件来选择其中的一项或多项功能;而SoPC可以修改硬件配置信息使其成为相应的芯片,可以是MCU,也可以是SoC。文章来源地址https://www.toymoban.com/news/detail-405834.html

2. 区别

2.1 MCU和MPU的区别

MCU在一块芯片中集成了整个计算机系统,可以直接加简单的外围器件(电阻,电容)就可以运行代码了。它本质上仍是一个完整的单片机,有处理器,有各种接口,所有的开发都是基于已经存在的系统架构,应用者要做的就是开发软件程序和加外部设备。

MPU如ARM的Cortex-A系列,直接放代码是运行不了的,因为它本质上只是增强版的CPU,必须添加相应的RAM和ROM。

2.2 CPU与SoC的区别

SoC可以认为是将MCU集成化与MPU强处理力各优点二合一,其中MCU是CPU集成了各类外设,MPU是增强版的CPU。可以从下图中直观地看出CPU与SoC的区别。
CPU、MPU、MCU、SOC的概念与区别
目前芯片的发展方向是从CPU到SoC,现在已经没有纯粹的CPU了,都是SoC。ARM出卖的内核其实就是CPU(当然还需要总线),各种外设是半导体厂商自己添加的。

2.3 SoPC与MCU、MPU、SoC的区别

SoPC与MCU、MPU、SoC最明显的区别在于:可更改硬件配置,也就是说自己构造芯片。

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

到了这里,关于CPU、MPU、MCU、SOC的概念与区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 谈谈CPU,MCU,SOC的区别和用途

    很多刚学习嵌入式的同学困惑经常看到CPU,MCU,SOC这几个名词,难道是同一样东西吗? 其实不是。它们之间还是有区别的。 让我们深入了解它们之间的区别,探索它们在计算世界中各自的作用。 中央处理器,或称为CPU,是计算机的大脑。它是一块硅芯片,负责执行计算机程

    2024年01月19日
    浏览(47)
  • 如何根据需求理解CPU、SoC和MCU的区别

    在当今数字化的世界中,我们经常听到关于CPU、SoC和MCU的名词,它们都是计算机科学和电子工程领域中的重要组成部分。然而,这三者之间存在着明显的区别。本文将深入探讨CPU(中央处理器)、SoC(系统芯片)和MCU(微控制器)的定义、功能和应用领域,以帮助读者更好地

    2024年02月19日
    浏览(39)
  • CPU、MCU、MPU、DSP、FPGA各是什么?有什么区别?

    中央处理器,简称 CPU(Central Processing Unit), 中央处理器主要包括两个部分,即 控制器 、 运算器 ,其中还包括 高速缓冲存储器 及 实现它们之间联系的数据、控制的总线 。 电子计算机三大核心部件 就是 CPU、内部存储器、输入/输出设备 。中央处理器的功效主要为 处理指

    2024年02月05日
    浏览(52)
  • 到底什么是MCU、MPU、CPU,和芯片是什么关系?区别又是什么?

    目录 0.前言 1. 芯片 2. CPU 3. MPU 4. MCU  5. 总结         更新的是有点慢,从这周开始吧,应该会快一点。推荐一首歌《你到底有没有爱过我》——蓝波,额,怎么说呢,大家,音乐是没有对错的。         曾经出过一次笑话,就是我在拿到一个产品的时候,我用Keil烧录时不知

    2024年02月07日
    浏览(86)
  • webgis开发参考资料

    http://zhihu.geoscene.cn/article/1038 2、arcgis server 紧促(bundle)格式缓存文件的读取 https://blog.csdn.net/abc553226713/article/details/8668839 3、ArcGIS 10.0紧凑型切片读写方法 https://www.cnblogs.com/yuantf/p/3320876.html 4、发布地图服务时导入已有的tpk切片包作为缓存 https://blog.csdn.net/hellfire2007/article/de

    2024年02月08日
    浏览(50)
  • 网络参考资料汇总(1)

    将这段时间参考的各路大佬的资料加以汇总分类: (1)FFmpeg: 基于FFmpeg进行rtsp推流及拉流(详细教程) Linux 编译安装 FFmpeg 步骤(带ffplay) Jetson 环境安装(三):jetson nano配置ffmpeg和nginx(亲测) Linux编译FFmpeg libx264 libx265 libfdk-aac libmp3lame libvpx libopus等 ffmpeg推流时报错 Unknown encod

    2024年02月07日
    浏览(43)
  • Flutter参考资料

    Flutter 官网 : https://flutter.dev/ Flutter 插件下载地址 : https://pub.dev/packages Flutter 开发文档 : https://flutter.cn/docs ( 强烈推荐 ) 官方 GitHub 地址 : https://github.com/flutter Flutter 中文社区 : https://flutter.cn/ Flutter 实用教程 : https://flutter.cn/docs/cookbook Flutter CodeLab : https://codelabs.flutter-io.cn/ Dart 中

    2024年02月13日
    浏览(42)
  • STM32重要参考资料

    stm32f103c8t6 (有时候不小心短接VCC和GND,芯片会锁住,可以BOOT0拉高试试(用跳线帽接)) 可用于PCB设计 1.RCC开启时钟错误,例如    RCC_ APB2 PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); 写成    RCC_ APB1 PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); 这个函数是有说明的,可以看看vscode显示的函

    2024年04月11日
    浏览(40)
  • 资料与参考

    资料: 本书(《Python神经网络编程》)的资料是使用Jupyter notebooks写的,本人并不擅长使用Jupyter,所以用传统py重写了一遍,并附加了新功能(即多数字识别),现将Jupyter版和py版连带本书pdf一并上传至gitee,地址:python-neuralNetwork-coding: 《Python神经网络编程》pdf和随书源码,

    2024年02月11日
    浏览(59)
  • Fast Planner——代码解读参考资料整理

    参数解读 主要函数解读 概率栅格地图,概率更新过程的公式推导过程 全概率公式、贝叶斯公式 一. kinodynamic a_star(前端hybrid A_star动力学路径搜索) 1.1启发函数的计算 1.2 Compute shot Traj 1.3 节点扩张 1.4 节点剪枝 1.5 返回kinopath与 getsamples 二、B样条曲线设置 2.1 均匀B样条设置

    2024年02月05日
    浏览(88)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包