CPU、MPU、MCU和SOC学习笔记

CPU

  1. CPU是Central Processing Unit的缩写
  2. 计算机的运算控制核心就是CPU
  3. CPU是由运算器、控制器和寄存器及相应的总线构成
  4. 众所周知的三级流水线:取址、译码、执行的对象就是CPU
  5. CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码,然后执行指令。
  6. 而计算机的可编程性其实就是指对CPU的编程。

 

MPU-微处理器-ARM                     

  1. MPU是Micro Processor Unit的缩写
  2. 指微处理器(这里要注意不是微控制器,很多人会把微处理器和微控制器混淆)
    1. 微处理器
      • 是一个单芯片CPU,主要负责数据处理任务。
      • 基本组成部分包括寄存器堆、运算器、时序控制电路,以及数据和地址总线。
      • 通常需要外部器件的辅助,如内存、输入输出设备等。
      • 主要用于计算机、服务器、手机、平板电脑等通用计算设备上。
      • 适用于需要高性能计算和数据处理的任务。
    2. 微控制器
      • 在一块集成电路芯片中集成了CPU和其他电路,构成了一个完整的微型计算机系统。
      • 除了CPU,还包含RAM、ROM、串行接口、并行接口、计时器和中断调度电路等。
      • 这些组件都集成在一块集成电路上,使得微控制器可以独立地执行控制任务。
      • 主要用于嵌入式系统、汽车电子、家电、工业控制、医疗设备、智能家居等领域。
      • 适用于实时控制和监控任务,能够独立完成对输入/输出设备的控制。
  3. 微处理器通常代表功能强大的CPU(可理解为增强型的CPU),这种芯片往往是计算机和高端系统的核心CPU。
  4. 例如嵌入式开发者最熟悉的ARM的Cortex-A芯片,他们都属于MPU。
  5. 直接放代码是运行不了的,因为它本质上只是增强版的CPU,必须添加相应的RAM和ROM。   

 

MCU-微控制器-51-32

  1. MCU是Micro Control Unit的缩写,指微控制器
  2. 随着大规模集成电路的出现及发展,把计算机的CPU、RAM、ROM、定时器和输入输出I/O引脚集成在一个芯片上,比如51,STC、Cortex-M这些芯片,它们的内部除了CPU外还包含了RAM和ROM,可直接添加简单的器件(电阻,电容)等构成最小系统就可以运行代码了。
  3. 而像ARM(Cortex-A系列)直接放代码是运行不了的,因为它本质上只是增强版的CPU,必须添加相应的RAM和ROM。
  4. 集成了整个计算机系统,可以直接加简单的外围器件

 

SOC

  1. SOC是System on Chip的缩写,指的是片上系统
  2. 可以这样对比来看:MCU只是芯片级的芯片,而SOC是系统级的芯片
  3. 它集成了MCU和MPU的优点,即拥有内置RAM和ROM的同时又像MPU那样强大,它可以存放并运行系统级别的代码,也就是说可以运行操作系统(以Linux OS为主)

 

SOPC

  1. SOPC是System On a Programmable Chip的缩写,即 可编程片上系统
  2. SOPC与MCU、MPU、SOC最明显的区别在于:可更改硬件配置,也就是说自己构造芯片。
  3. 举个例子说明便于理解,单片机的硬件配置是固化好了的, 我们能够编程修改的就是软件配置,本来是串口通信功能,通过修改代码变成AD采样功能,也就是说硬件配置是固定了的,我们只能通过修改软件来选择其中的一项或多项功能;而SOPC可以修改硬件配置信息使其成为相应的芯片,可以是MCU,也可以是SOC

微处理器和微控制器我今天才知道是不一样的--------很6

上面的知识点是东平西凑来的,如涉及侵权,请联系删除

如有错误,请指教,感谢感谢

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

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

相关文章

GaussDB(类似PostgreSQL)常用命令和注意事项

文章目录 前言GaussDB(类似PostgreSQL)常用命令和注意事项1. 连接到GaussDB数据库2. 查看当前数据库中的所有Schema3. 进入指定的Schema4. 查看Schema下的表、序列、视图5. 查看Schema下所有的表6. 查看表结构7. 开始事务8. 查询表字段注释9. 注意事项&a…

request和websocket

当然,可以为你详细介绍 FastAPI 中的 Request 对象。Request 对象在 FastAPI 中扮演着重要的角色,负责封装来自客户端的 HTTP 请求信息。了解 Request 对象的使用方法和属性,有助于你更高效地处理请求数据、访问请求上下文以及进行各种操作。…

深入探索Flax:一个用于构建神经网络的灵活和高效库

深入探索Flax:一个用于构建神经网络的灵活和高效库 在深度学习领域,TensorFlow 和 PyTorch 作为主流的框架,已被广泛使用。不过,Flax 作为一个较新的库,近年来得到了越来越多的关注。Flax 是一个由Google Research团队…

在1~n中、找出能同时满足用3除余2,用5除余3,用7除余2的所有整数。:JAVA

链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网 题目描述 在1~n中、找出能同时满足用3除余2,用5除余3,用7除余2的所有整数。 输入描述: 输入一行,包含一个正整数n ,n在100000以内 输出描述:…

Python 自动化办公的 10 大脚本

大家好,我是你们的 Python 讲师!今天我们将讨论 10 个实用的 Python 自动化办公脚本。这些脚本可以帮助你简化日常工作,提高效率。无论是处理 Excel 文件、发送邮件,还是自动化网页操作,Python 都能派上用场。 1. 批量…

UNITY_GOF_ChainOfResponsibility

责任链模式 经理和高管可以响应采购请求或将其移交给上级。 每个位置都可以有自己的一套规则,他们可以批准这些订单。 首先有一个领导类专门负责处理这些请求之后根据权限分别对子类进行处理在调用的时候会根据处理类的权限进行处理,如果权限不足就传递给…

什么是Git

Git Git是什么?Git核心功能Git的常用命令Git原理对象存储Blob对象Tree对象 分支管理版本合并Git的工作流程Git的底层操作 Git是什么? Git是一种分布式版本控制系统,它可以帮助团队协作开发,跟踪代码变更历史,管理和维…

.net XSSFWorkbook 读取/写入 指定单元格的内容

方法如下&#xff1a; using NPOI.SS.Formula.Functions;using NPOI.SS.UserModel;using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime;using OfficeOpenXml.FormulaParsing.Excel.Functions.Numeric;/// <summary>/// 读取Excel指定单元格内容/// </summa…

704. 二分查找 C++

文章目录 一、题目链接二、参考代码三、所思所悟 一、题目链接 链接: 704. 二分查找 二、参考代码 int search(const vector<int>& nums, int target) {int left 0; int right nums.size() - 1;//左闭右闭[]while (left < right){int mid (left right) / 2;…

Matlab搜索路径添加不上

发现无论是右键文件夹添加到路径&#xff0c;还是在“设置路径”中专门添加&#xff0c;我的路径始终添加不上&#xff0c;导致代码运行始终报错&#xff0c;后来将路径中的“”加号去掉后&#xff0c;就添加成功了&#xff0c;经过测试&#xff0c;路径中含有中文也可以添加成…

知乎启用AutoMQ替换Kafka,开辟成本优化与运维提效新纪元

作者&#xff1a;知乎在线架构组 王金龙 关于知乎 知乎公司&#xff0c;成立于 2010 年 8 月 10 日&#xff0c;于 2011 年 1 月 26 日正式上线&#xff0c;是中文互联网的高质量问答社区和创作者聚集的原创内容平台。 知乎起步于问答&#xff0c;而超越了问答。知乎以「生…

Canal mysql数据库同步到es

Canal与Elasticsearch集成指南 [可视化工具](https://knife.blog.csdn.net/article/details/126348055)下载Canal 1.1.5版本 (alpha-2) 请从GitHub Releases下载Canal 1.1.5版本中间版本alpha-2。仅需下载canal.deployer和canal.adapter组件。 安装Elasticsearch 确保已安装…

LeetCode41:缺失的第一个正数

原题地址&#xff1a;41. 缺失的第一个正数 - 力扣&#xff08;LeetCode&#xff09; 题目描述 给你一个未排序的整数数组 nums &#xff0c;请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1&#xff1a; 输入…

Python蒙特卡罗MCMC:优化Metropolis-Hastings采样策略Fisher矩阵计算参数推断应用—模拟与真实数据...

全文链接&#xff1a;https://tecdat.cn/?p38397 本文介绍了其在过去几年中的最新开发成果&#xff0c;特别阐述了两种有助于提升 Metropolis - Hastings 采样性能的新要素&#xff1a;跳跃因子的自适应算法以及逆 Fisher 矩阵的计算&#xff0c;该逆 Fisher 矩阵可用作提议密…

相机学习笔记——工业相机的基本参数

0、相机分类 图像颜色不同可以分为黑白相机和彩色相机&#xff1a;相同分辨率下&#xff0c;黑白工业相机相比彩色工业相机精度更高&#xff0c;检测图像边缘时&#xff0c;黑白工业相机成像效果更好。 芯片类型不同可以分为CCD相机和CMOS相机&#xff1a;CCD工业相机具有体积小…

SpringBoot Web 开发请求参数

SpringBoot Web 开发请求参数 简单的 web 请求: @RestController public class HelloController {@RequestMapping("sayHello")public String sayHello(){System.out.println("Hello World");return "hello world";} }获取请求参数 简单参数…

服务器如何隐藏端口才能不被扫描?

在服务器上隐藏端口以避免被扫描&#xff0c;是一种增强安全性的措施。虽然完全隐藏端口不太可能&#xff08;因为网络通信本质上需要暴露端口&#xff09;&#xff0c;但可以通过一系列技术手段尽量降低端口被扫描或探测的可能性。以下是详细的实现方法&#xff1a; 1. 更改默…

Oracle—系统包使用

文章目录 系统包dbms_redefinition 系统包 dbms_redefinition 功能介绍&#xff1a;该包体可以实现将Oracle库下的表在线改为分区结构或者重新定义&#xff1b; 说明&#xff1a;在检查表是否可以重定义和开始重定义的过程中&#xff0c;按照表是否存在主键&#xff0c;参数 o…

专业清洁艺术,还原生活本色——友嘉高效除菌洗碗机

生活中&#xff0c;每个人都渴望拥有一份洁净的生活环境。而家&#xff0c;作为我们最温馨的港湾&#xff0c;对洁净的追求更是无时无刻不在进行。每当饭后的欢声笑语过后&#xff0c;面对一堆沾满油渍、藏匿着细菌的餐具&#xff0c;我们不禁感到一丝烦忧。然而&#xff0c;有…

Neo4j 图数据库安装与操作指南(以mac为例)

目录 一、安装前提条件 1.1 Java环境 1.2 Homebrew&#xff08;可选&#xff09; 二、下载并安装Neo4j 2.1 从官方网站下载 2.1.1 访问Neo4j的官方网站 2.1.2 使用Homebrew安装 三、配置Neo4j 3.1 设置环境变量(可选) 3.2 打开配置文件(bash_profile) 3.2.1 打开终端…