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

news/2024/11/16 11:56:19/

概念

1、cpu

cpu(central processing unit)是一台计算机的运算核心和控制核心,CPU由运算器、控制器和寄存器以及实现他们联系的数据、控制总线构成,cpu典型的三级流水线操作是取值、译码、执行,差不多所有CPU的执行原理可以分为四个阶段:提取(Fetch)、解码(Decode)、执行(Execute)和写回(Writeback),CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码,并执行指令,所谓的计算机的可编程性主要指对CPU的编程。

2、mpu

mpu(micro processor unit),叫微处理器,与微控制器(mcu)不同,通常可以看做一个功能强大的cpu,这种芯片一般用于个人计算机或高端工作站的核心CPU,例如intel的X86,ARM的一些Cortex-A,飞思卡尔的i.MX6、全志A20、TI AM335X等都属于MPU。

3、mcu

mcu(micro control unit),叫微控制器,即平常所说的单片机,随着大规模集成电路的发展,将计算机CPU、RAM、ROM、定时器、计数器和多种I/O接口集成在一片芯片上,形成芯片级的芯片,比如51,STM,Cortex-M这些芯片,相当于内部集成了整个计算机系统,可以加一些简单的外围器件(电阻、电容等)即可运行代码,其有处理器,有外围接口,基于已有的系统架构进行开发,应用者主要工作是添加外围设备和开发软件程序,而像ARM(Cortex-A系列,前文已经说明此为mpu)直接放代码运行不了,因为本质上是cpu,必须添加响应RAM或ROM才能运行代码。

4、soc

soc(system on chip),叫片上系统,MCU只是芯片级的芯片,而SOC是系统级芯片,它既包含了mcu中的内置RAM、ROM等资源,也拥有mpu的强大功能,可以放系统级的代码,也就是说可以运行操作系统。

5、sopc

sopc(system on a programmable chip),叫可编程片上系统,它可更改硬件配置,即自己构造芯片。

区别:

1、mcu和mpu的区别

mcu在一块芯片中集成了整个计算机系统,可以直接加简单的外围器件运行代码,本质上是一个完整的单片机,有处理器、有各种接口,所有开发基于已经存在的系统架构,应用者只需添加外围设备和开发软件程序。

mpu是增强版的cpu,直接放代码是运行不了的。

2、cpu和soc的区别

soc可以认为是将mcu集成化和mpu强处理能力优点二合一,其中mcu是cpu集成了各种外设,mpu是增强版的cpu。

cpu通过总线连接各种外设,mcu通过芯片内部总线连接芯片外设接口。目前大多数芯片都属于soc,没有纯粹的cpu了。

说明:本文是摘抄的网上相关说明介绍,如有疑问可私信交流。


http://www.ppmy.cn/news/146791.html

相关文章

CPU、MPU、MCU、SOC的理解

1、CPU(Central Processing Unit) 中央处理器(central processing unit,简称CPU)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。CPU由运算器、控制器和寄存器及实现它们之间联系的数…

【日常】怀念儿童时的多啦A梦

怀念儿童时期的多啦A梦 儿童时期的乐趣HTML多啦A梦效果图:总结对自己孩子的期望 儿童时期的乐趣 时光飞逝,如白驹过隙版飞逝而过,一眨眼已经到了奔三的年纪。俗话说三十而立,是我拖了三十群里的后腿,在这里说一声抱歉…

ARM:MPU MMU SMMU

1、MPU (Memory Protection Unit); 2、MMU(Memory Management Unit)。 MMU是比MPU提供了功能更强大的内存保护机制,MPU只提供了内存区域保护,而MMU是在此基础上提供了虚拟地址映射技术&#x…

glGenBuffers与glBindBuffer理解

1.glGenBuffers 官方解释:generate buffer object names unsigned int VBO; glGenBuffers(1, &VBO); void glGenBuffers(GLsizei n,GLuint * buffers); 第一个参数是要生成的缓冲对象的数量,第二个是要输入用来存储缓冲对象名称的数组&#xff0c…

Vue实现订单确认界面禁止浏览器返回操作导致重复提交订单的问题

哈喽 大家好啊 最近遇到一个问题,就是在提交订单成功后的页面,然后用户去浏览器返回,就导致又提交了一次 然后就想到了如果提交成功页面,就阻止浏览器返回操作 主要实现如下: 1.在mounted的钩子函数: 2.…

Flask知识点2

1、flash() get_flashed_messages() : 用来消耗flash方法中存储的消息 使用flash存储消息时,需要设置SECRET_KEY flash 内部消息存储依赖了session 2、CSRF(Cross Site Request Forgery) 跨站请求伪造,指攻击者盗用你的身份发送恶意请求 CSRFProt…

大文件分片上传与下载

gitee地址:OPEN-文件上传下载大文件断点续传漂亮的前端页面: 基于Springboot2.x的文件上传下载经典案例,文件上传下载大文件断点续传、秒传漂亮的前端页面 大文件上传/下载_大文件上传下载_前端阿彬的博客-CSDN博客 主要靠前端进行分片上传&#xff…

像写 Rust 一样写 Python!

几年前,开始使用Rust编程,它逐渐改变了我使用其他编程语言(尤其是Python)设计程序的方式。在我开始使用Rust之前,我通常以一种非常动态和类型松散的方式编写Python代码,没有类型提示,到处传递和…