当前位置: 首页 > news >正文

MCU、MPU、SOC简介

文章目录

  • 前言
  • 一、MCU
  • 二、MPU
  • 三、SOC
  • 总结


前言

随着处理器技术的不断发展,CPU(Central Processing Unit)的发展逐渐出现三种分支,分别是MCU(Micro Controller Unit,微控制器单元) 和MPU(Micro Processor Unit,微处理器单元)和DSP(Digital Signal Processing/Processor)数字信号处理器。
在车载项目中广泛使用MCU(Microcontroller Unit)+SOC((System on Chip)的双芯系统设计,本文将介绍两者的区别与联系。


MCU+MPU

一、MCU

👉MCU:MCU是Micro Control Unit的缩写,指微控制器。随着大规模集成电路的出现及发展,把计算机的CPU、RAM、ROM、定时器和输入输出I/O引脚集成在一个芯片上,比如51,STC、Cortex-M这些芯片,它们的内部除了CPU外还包含了RAM和ROM,可直接添加简单的器件(电阻,电容)等构成最小系统就可以运行代码了。通常用于嵌入式系统中,这些系统需要执行特定的控制任务,如传感器数据采集、自动控制、嵌入式设备控制等。它们专注于实时控制和低功耗操作。
ARM(Cortex-A系列)直接放代码是运行不了的,因为它本质上只是增强版的CPU,必须添加相应的RAM和ROM。

MCU通常使用较简单的处理器核心,如基于RISC(精简指令集计算机)架构的核心。这些核心专注于执行嵌入式控制任务,通常性能较低。

MCU通常具有较小的内存和存储容量,足以支持嵌入式控制任务,但不适用于运行大型应用程序或操作系统。

二、MPU

👉MPU是Micro Processor Unit的缩写,指微处理器,微处理器通常代表功能强大的CPU(可理解为增强型的CPU),这种芯片往往是计算机和高端系统的核心CPU。例如嵌入式开发者最熟悉的ARM的Cortex-A芯片,他们都属于MPU。通常用于执行更复杂的通用计算任务,运行操作系统以及支持各种应用程序,如智能手机、个人电脑、服务器等。

MPU使用更强大的通用处理器核心,具有更高的性能和更复杂的指令集,适用于通用计算任务。

MPU通常具有更大的内存和存储容量,以支持运行复杂的应用程序和操作系统。

三、SOC

SOC指的是片上系统(System on Chip),MCU只是芯片级的芯片,而SOC是系统级的芯片,它既像MCU那样有内置RAM、ROM同时又像MPU那样功能强大,不单运行简单的控制或运算程序,结合了MCU集成化与MPU强处理能力的优势,还可以存放系统级的代码,比如车机操作系统就运行在SOC芯片上。

高通的8155芯片就是一款目前最为强大的智能座舱SOC芯片,全称是SA8155P,它采用7纳米工艺制造,具有八个核心,算力为8TOPS(也就是每秒运算8万亿次),可以最多支持6个摄像头,可以连接4块2K屏幕或者3块4K屏幕,支持Wi-Fi6,支持5G,支持蓝牙5.0。目前在车载SOC芯片领域,高通是绝对的领先者,国产新能源汽车威马W6、小鹏P5、吉利星越L、蔚来ET7、集度汽车据称都采用了8155芯片作为车载的SOC主力。SA8155P车规级芯片的原型就是高通骁龙8155,目前国内还看不到有同一层次的竞争对手。车载SOC芯片等价于手机上的CPU。

总结

项目MCUMPU
运算bit数主流8~32bit最低32bit,主流64bit
工作频率数兆到数百兆赫主流是从几百兆赫到几千兆赫
架构流水线系统或随机逻辑系统是主流(但有些是超级标量的)是超级标量方式是主流
内存管理可以有些外置内存,但主内存是内置的,有些内置缓存和MMC单元外部内存是主流,有些内置缓存和MMC单元
命令集基本算术运算,仅逻辑运算除了基本算术运算、逻辑运算之外,还包括DSP指令和浮动少数点指令
价格
例子ARM Cortex-M,(针对小面积/低功率控制器应用而开发的)ARM Cortex-A(是以面向高性能应用程序的处理器为理念开发的)
http://www.lryc.cn/news/277000.html

相关文章:

  • Kubernetes那点事儿——配置存储:ConfigMap、Secret
  • 小白向:搭建企业培训APP的完整技术指南
  • CVE-2023-36025 Windows SmartScreen 安全功能绕过漏洞
  • 分析一个项目(微信小程序篇)二
  • 每日论文推送(有中文摘或源码地址或项目地址)
  • 【漏洞复现】锐捷EG易网关login.php命令注入漏洞
  • Nginx安装http2和ssl模块
  • Android 8.1 隐藏设置中定位功能
  • 无线网卡怎么连接台式电脑?正确操作步骤分享!
  • 聚道云软件连接器助力某贸易公司实现付款流程自动化
  • 第六讲_css盒子模式
  • 【WSL】Win10 使用 WSL2 进行 Linux GPU 开发
  • 什么是博若莱新酒节?
  • Centos7下升级gcc/g++版本(简单 + 避坑)
  • PyTorch项目源码学习(1)
  • adb 使用的出现 adb server is out of date. killing
  • 数据结构之二叉搜索树(Binary Search Tree)
  • Spring Boot自定义启动Banner在线生成工具
  • Android Studio导入项目 下载gradle很慢或连接超时,提示:Read timed out---解决方法建议收藏!
  • 汽车标定技术(十五)--FETK如何帮助Aurix实现快速原型、标定测量功能(1)
  • linux项目部署(jdk,tomcat,mysql,nginx,redis)
  • Unity | 渡鸦避难所-6 | 有限状态机控制角色行为逻辑
  • 数据库参数 PGA_AGGREGATE_LIMIT 限制进程大小
  • 208.【2023年华为OD机试真题(C卷)】停车场车辆统计(贪心算法实现-JavaPythonC++JS实现)
  • JS 作用域和预解析
  • 各种锁的概述
  • 【docker笔记】Docker容器数据卷
  • 大前端nestjs入门教程系列(四):如何nestjs整合mysql数据库
  • Android studio环境配置
  • 017、使用包、单元包及模块来管理日渐复杂的项目