CPU、MCU、MPU、SOC、SOCPC、概念解释之在嵌入式领域常听到的名词含义

CPU、MCU、MPU、SOC等几个在嵌入式领域学习过程中会涉及到的几个名词。我们来学习一下,资料从网上搜集的,有错的地方可以指出。。。

CPU、MCU、MPU、SOC、SOCPC、

  • 1. CPU
  • 2. MPU
  • 3.MCU
  • MPU和MCU的区别:
  • 4.SOC
  • 5. SoPC

1. CPU

CPU,即中央处理器,是一台计算机的运算核心和控制核心。其功能主要是解释计算机指令以及处理计算机软件中的数据。CPU由运算器、控制器、寄存器、高速缓存及实现它们之间联系的数据、控制及状态的总线构成。
存储器,分为外存和内存, 用于存储数据(使用二进制方式存储)
输入设备,用户给计算机发号施令的设备
输出设备,计算机个用户汇报结果的设备

CPU工作的三级流水线:取址、译码、执行的对象就是CPU,但是差不多所有的CPU的运作原理可分为四个阶段:提取(Fetch)、解码(Decode)、执行(Execute)和写回(Writeback)。 CPU从存储器或高速缓冲存储器中取出指令(因为CPU和存储介质的存取速度不一样),放入指令寄存器,并对指令译码,并执行指令。所谓的计算机的可编程性主要是指对CPU的编程。

2. MPU

MPU (Micro Processor Unit),叫微处理器(不是微控制器MCU,很多人会把微处理器和微控制器混淆),MPU通常代表一个功能强大的CPU(暂且理解为增强版的CPU吧),但我在工作用到的芯片中,也有提到MCU有MPU单元的。MPU不是为任何已有的特定计算目的而设计的芯片。这种芯片往往是个人计算机和较为高级的芯片,一般在嵌入式系统中会提及。例如Intel 的X86,ARM的一些Cortex-A芯片如飞思卡尔i.MX6、全志A20、TI AM335X等都属于MPU。这几个MPU可以去搜一下都有介绍。

在这里插入图片描述

3.MCU

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

MPU和MCU的区别:

微控制器 (MCU)往往比微处理器 (MPU)更便宜、设置更简单、操作更简单。MCU可以被视为单芯片计算机,集成了ROM、RAM等在芯片内部,而 MPU则具有支持各种功能(如内存、接口和 I/O)的外围芯片,可任意更换不同厂商的同种类型外设。微控制器和微处理器之间的一个重要区别是微处理器通常会运行操作系统。操作系统允许多个进程通过多个线程同时运行。需要驱动程序来支持外围设备。

MCU将运行“裸机接口”,这意味着没有操作系统。没有操作系统,MCU一次只能运行一个控制回路。从软件的角度来看,这意味着单个线程在微控制器的处理器或中央处理单元 (CPU)上运行。
MCU可能有 I2C、SPI、UART(串行),有时还有低级 USB连接。这些基本接口通常仅用于对 MCU进行编程。MCU的目的是永远运行一个相当简单的控制循环,或者直到它中断或以其他方式停止。MCU往往比 MPU便宜。MCU并非不可能进行无线通信,但请记住,MCU一次只能运行一个线程。要得到服务,任何其他输入或进程都必须等待单线程或控制循环先完成它正在执行的操作。除了 I2C、SPI或 UART等基础接口外,微处理器往往还有许多接口。MPU也可能有更复杂的接口,如以太网、蓝牙、WiFi、闪存等。

不过现在越来越难判断一个设备是 MCU还是 MPU,因为如今 MCU可以做很多事情,包括更复杂的外围设备,以至于完成MPU的工作。MCU和 MPU之间的区别变得不那么明显。

4.SOC

SOC称为系统级芯片,也称片上芯片,是一个专有目标的集成电路的产品,其中包括完整系统并有嵌入软件的全部内容。目前SOC更多的集成处理器(包括CPU,GPU,DSP),存储器,基带,各种接口控制模块,各种互联总线等,其典型代表为手机芯片。
SoC(System on Chip),整体的一个电路系统,完成一个具体功能的东西,指的是片上系统,MCU只是芯片级的芯片,而SoC是系统级的芯片,它既MCU那样有内置RAM、ROM同时又像MPU那样强大,不单单是放简单的代码,可以放系统级的代码,也就是说可以运行操作系统(以Linux OS为主)(将就认为是MCU集成化与MPU强处理力各优点二合一)。

5. SoPC

SoPC(System On a Programmable Chip)与上述几项概念相比,SoPC的出现频率并不是那么高,但这并不影响它的重要性。SOPC是System On a Programmable Chip的缩写,即 可编程片上系统,SoPC与MCU、MPU、SoC最明显的区别在于:可更改硬件配置,也就是说自己构造芯片。
举个例子说明便于理解,单片机的硬件配置是固化好了的, 我们能够编程修改的就是软件配置,本来是串口通信功能,通过修改代码变成AD采样功能,也就是说硬件配置是固定了的,我们只能通过修改软件来选择其中的一项或多项功能;而SoPC可以修改硬件配置信息使其成为相应的芯片,可以是MCU,也可以是SoC。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/51979.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring之Spring生态系统的演进

未来展望:Spring生态系统的演进 未来展望:Spring生态系统的演进 摘要引言词汇解释详细介绍新技术趋势与影响开发方向与展望探讨Spring在未来的发展趋势微服务与云原生响应式编程强调开发效率和全栈式开发支持人工智能和大数据保持灵活性和创新性 针对新兴…

docker 内apt-get安装软件都不好使

报各种错误 apt-get install --no-install-recommends libboost-all-dev Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed:autoconf automake autotools-dev cpp-8 gc…

索引设计规范

索引是帮助数据库高效获取数据的数据结构。索引是加速查询的常用技术手段。在设计索引时,要遵循索引设计规范,避免不必要的踩坑。 【推荐】索引存储结构推荐BTREE InnoDB和MyISAM存储引擎表,索引类型必须为BTRER,MEMORY表可以根…

vue2 vue中的常用指令

一、为什么要学习Vue 1.前端必备技能 2.岗位多,绝大互联网公司都在使用Vue 3.提高开发效率 4.高薪必备技能(Vue2Vue3) 二、什么是Vue 概念:Vue (读音 /vjuː/,类似于 view) 是一套 **构建用户界面 ** 的 渐进式 …

go:正确引入自己编写的包(如何在 Go 中正确引入自己编写的包)

前言 目录如下: 具体教程 1. 工作空间(我的是根目录)新建 go.work 文件 文件内容如下: go 1.21.0use (./tuchuang./tuchuang/testm ) 2. 添加go.mod文件 1. 包文件夹下 进入testm目录执行 go mod init testModule 2. 引用目…

设计模式——装饰器模式

装饰器模式 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。 装饰器模式通过将对象包装在装饰器类中,以便动态…

软考高级系统架构设计师系列论文九十九:论软件开发平台的选择和应用

软考高级系统架构设计师系列论文九十九:论软件开发平台的选择和应用 一、相关知识点二、摘要三、正文四、总结一、相关知识点 软考高级系统架构设计师系列之:面向构件的软件设计,构件平台与典型架构二、摘要 本文从一个行业MIS系统的开发实践,讨论了软件开发平台的选择和应…

java maven项目打jar包发布(精简版)

目录 一、maven打包 二、安装jdk环境 三、安装mysql 四、jar包传输到服务器 一、maven打包 先clean再package target文件夹下面有生成一个jar包 二、安装jdk环境 1、下载jdk cd /usr/local wget https://repo.huaweicloud.com/java/jdk/8u201-b09/jdk-8u201-linux-x64.tar.…

数据库——事务,事务隔离级别

文章目录 什么是事务?事务的特性(ACID)并发事务带来的问题事务隔离级别实际情况演示脏读(读未提交)避免脏读(读已提交)不可重复读可重复读防止幻读(可串行化) 什么是事务? 事务是逻辑上的一组操作,要么都执行,要么都不执行。 事务最经典也经常被拿出…

sonarqube报错http status 500-internal server error,什么原因,怎么解决

sonarqube报错http status 500-internal server error,什么原因,怎么解决 答案: SonarQube报错HTTP状态500-内部服务器错误通常是由于服务器端出现了一些问题导致的。这可能是由于配置错误、资源不足、数据库连接问题或其他一些未知的问题引起的。 以下…

【PHP】基础语法变量常量

文章目录 PHP简介前置知识了解静态网站的特点动态网站特点 PHP基础语法代码标记注释语句分隔(结束)符变量变量的基本概念变量的使用变量命名规则预定义变量可变变量变量传值内存分区 常量基本概念常量定义形式命名规则使用形式系统常量魔术常量 PHP简介 PHP定义:一…

03ShardingSphere-JDBC读写分离

背景 面对日益增加的系统访问量,数据库的吞吐量面临着巨大瓶颈。 对于同一时刻有大量并发读操作和较少写操作类型的应用系统来说,将数据库拆分为主库和从库,主库负责处理事务性的增删改操作,从库负责处理查询操作,能够…

理解 Delphi 的类(四) - 初识类的事件

先勾画一下思路: 1、建立一个类, 里面有年龄字段 FAge; 2、通过 Age 属性读写 FAge; 3、如果输入的年龄刚好是 100 岁, 将会激发一个事件, 这个事件我们给它命名为: OnHundred unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, F…

resource doesn‘t have a corresponding Go package.

resource doesnt have a corresponding Go package. GO这个鬼东西不能直接放src下。 ************ Building Go project: ProjectGoTest ************with GOPATH: D:\Go;D:\eclipse-jee-oxygen-2-win32-x86_64\workspace\ProjectGoTest >> Running: D:\Go\bin\go.exe …

Java | 使用ServerSocket查找TCP可用端口

关注:CodingTechWork 引言 在项目开发中,有一个程序是专门给服务下发tcp端口占用的,但是tcp端口有时候会被其他服务给占用,此时端口就会冲突。本文提供一个工具类进行端口占用判断并返回可用端口。 代码 工具类 Slf4j public …

Open Source Program Office

OSPO 表示 "Open Source Program Office",是指开源项目办公室或开源计划办公室。它是指在组织内部负责管理和支持开源项目的团队或部门。OSPO 的目标是协调、推动和管理组织内部的开源项目,以促进开源文化、社区参与和开源项目的成功。 OSPO …

爱校对发布全新PDF校对工具,为用户带来更为便捷的校正体验

随着数字化文档使用的普及,PDF格式已经成为最为广泛使用的文件格式之一。为满足广大用户对于高效、准确PDF文档校对的需求,爱校对团队经过深入研发,正式推出全新的PDF校对工具! 这一全新工具针对PDF文件格式进行了深度优化&#…

k8s 常用命令(四)

12、删除pod中的nginx服务及service [rootmaster ~]# kubectl delete deployment nginx -n kube-public [rootmaster ~]# kubectl delete svc -n kube-public nginx-service 13、查看endpoint的信息 [rootmaster ~]# kubectl get endpoints 14、修改/更新(镜像、…

机器学习十大算法之七——随机森林

0 引言 集成学习(ensemble learning)是时下非常流行的机器学习算法,它本身不是一个单独的机器学习算法,而是通过在数据上构建多个横型,集成所有模型的建模结果,基本上所有的机器学习领域都可以看到集成学习…

11.redis持久化

1.redis持久化 Redis的所有数据都是保存在内存中,因此redis重启后数据就丢失了,所以需要不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”);或者把每一次数据变化都写入到一个append only file(aof)里面(这称为“全持久化模式”)。 …