目录
CPU
CPU(Central Processing Unit)- 中央处理单元:由运算器、控制器和寄存器及相应的总线构成。它可以是一个独立的处理器芯片或一个内含多核处理器的大型集成电路。
众所周知的三级流水线:取址、译码、执行的对象就是 CPU,CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码,然后执行指令。所谓的计算机的可编程性其实就是指对CPU的编程。
MCU
MCU(Microcontroller Unit)- 微控制器单元: MCU是一个紧凑型处理器,随着大规模集成电路的出现及发展,把计算机的 CPU、RAM、ROM、定时器和输入输出 I/0 引脚集成在一个芯片上。
比如 51、STC、Cortex-M 这些芯片,它们的内部除了 CPU外还包含了 RAM 和 ROM,可直接添加简单的器件(电阻,电容)等构成最小系统就可以运行代码了。
MCU 常用于嵌入式系统,如家用电器、汽车电子设备和医疗设备中。与 MPU相比,MCU 更多的是自成一体的解决方案,可独立执行预定的任务。
MPU
MPU(Microprocessor Unit)-微处理器单元:是一种更具体的 CPU类型,微处理器通常代表功能强大的 CPU(可理解为增强型的 CPU)这种芯片往往是计算机和高端系统的核心 CPU。
例如嵌入式开发者最熟悉的ARM的Cortex-A芯片,他们都属于 MPU。MPU 主要在个人电脑、服务器和其他高性能计算设备中使用。微处理器单元的设计注重于高性能指令处理。
SOC/SOPC
SoC(System on Chip)- 片上系统:是一种集成电路,它将所有或部分必要的电子电路和部件集成到单一芯片上。
包括 CPU 核心、内存、输入/输出控制器、外围设备和其他功能模块。SoC 的设计目标是为了让它能够作为系统的主要计算引擎。
MCU 只是芯片级的芯片,而 SOC是系统级的芯片,它集成了 MCU 和MPU的优点,即拥有内置 RAM 和 ROM 的同时又像 MPU那样强大,它可以存放并运行系统级别的代码,也就是说可以运行操作系统。
SoPC(System on aProgrammable Chip)- 可编程片上系统:是指硬件逻辑可编程的片上系统,如FPGA(现场可编程门阵列)被用于创建系统级的设计。
与传统的 SoC相比,SoPC提供了更多的灵活性,因为硬件逻辑可以在芯片制造后根据需求进行修改和配置。
举个例子说明便于理解,单片机的硬件配置是固化好了的,我们能够编程修改的是软件配置,本来是串口通信功能,通过修改代码变成 AD采样功能,也就是说硬件配置是固定了的,只能通过修改软件来选择其中的一项或多项功能。
而 SoPC 可以修改硬件配置信息使其成为相应的芯片,可以是 MCU也可以是 SOC。
MCM
MCM(Multi-Chip Module)-多芯片模块:MCM 是将多个独立的集成电路封装在一个单独的芯片上的技术。
与将所有功能集成到单个集成电路的 SoC 不同,MCM 通常用于封装性能更强、功能专注的独立集成电路。它们可以提供类似系统总线的内部连接,使得性能更优于单芯片解决方案。
在嵌入式开发中,接触频率较多的一般是 MCU和 SOC,而现在 STM32也几乎成为了 MCU 的代名词,SOC 目前则以 Cortex-A 系列为主,开发难度也有所差异,对于嵌入式从业者来说,弄清楚这些专业概念是必备的。