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

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.kler.cn/a/415465.html

相关文章:

  • 在Springboot项目中实现将文件上传至阿里云 OSS
  • 【前端】跨域问题与缓存
  • MyBatis-Plus忽略多租户隔离自定义注解
  • 二刷代码随想录第16天
  • websocket前后端长连接之java部分
  • C++ 【异步日志模块和std::cout << 一样使用习惯替代性好】 使用示例,后续加上远程日志
  • 今日codeforces刷题(1)
  • 【Canvas与雷达】简约绿色扫描雷达图标
  • 【Linux】Linux常用命令
  • .net6.0 mvc 传递 model 实体参数(无法对 null 引用执行运行时绑定)
  • Python 3 教程第36篇(XML 解析)
  • 小程序 - 婚礼邀请函
  • 微信小程序Webview与H5通信
  • Vision Transformer(vit)的主干
  • CSS学习记录02
  • AI开发:逻辑回归 - 实战演练- 垃圾邮件的识别(一)
  • SpringMVC跨域问题解决方案
  • BUUCTF—Reverse—GXYCTF2019-luck_guy(9)
  • 003 MATLAB基础计算
  • Cesium 当前位置矩阵的获取
  • 深入探索 Java 中的 Spring 框架
  • ORACLE之DBA常用数据库查询
  • openGauss你计算的表大小,有包含toast表么?
  • ArcGIS pro中的回归分析浅析(加更)关于广义线性回归工具的补充内容
  • 2.安装docker、docker compose
  • 使用Native AOT发布C# dll 提供给C++调用