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