MPU和MCU

微处理器与单片机的发展与区别

CPU(Central Processing Unit,中央处理器)发展出来三个分枝:

1.DSP(Digital Signal Processing/Processor,数字信号处理);

2.MCU(Micro Control Unit,微控制器单元);

3.MPU(Micro Processor Unit,微处理器单元)。

MCU集成了片上外围器件;

MPU不带外围器件(例如存储器阵列),是高度集成的通用结构的处理器,是去除了集成外设的MCU;

DSP运算能力强,擅长很多的重复数据运算,而MCU则适合不同信息源的多种数据的处理诊断和运算,侧重于控制,速度并不如DSP。

MCU区别于DSP的最大特点在于它的通用性,反应在指令集和寻址模式中。DSP与MCU的结合是DSC,它终将取代这两种芯片。

在20世纪最值得人们称道的成就中,就有集成电路和电子计算机的发展。20世纪70年代出现的微型计算机,在科学技术界引起了影响深远的变革。在70年代中期,微型计算机家族中又分裂出一个小小的派系–单片机。随着4位单片机出现之后,又推出了8位的单片机。MCS48系列,特别是MCS51系列单片机的出现,确立了单片机作为微控制器(MCU)的地位,引起了微型计算机领域新的变革。在当今世界上,微处理器(MPU)和微控制器(MCU)形成了各具特色的两个分支。它们互相区别,但又互相融合、互相促进。与微处理器(MPU)以运算性能和速度为特征的飞速发展不同,微控制器(MCU)则是以其控制功能的不断完善为发展标志的。

51是INTEL公司早起的8051产品的简称,现在泛指一切用51内核的单片机,包括STC(宏晶)公司出的增强型80C51、80C52和ATLEM公司的一系列产品,属于单片机入门级,寄存器数目少,直接操作简单。

f26b3ec62d7c835e1c75d9882b5ca3c4811.jpg

STM32是一种基于ARM CORTEX-m3架构的一种单片机,寄存器复杂,直接用汇编操作比较麻烦,但是用ST给的库函数十分方便。

24d65b4a09551c5e7b37d22aa71df42538a.jpg

FPGA中文是现场可编程门阵列,用人话说就是一块可以通过编程改变结构的与非门集合,可以实现触发器等一系列数字电路结构。

a829a617cb0d67381e059e541b321135620.jpg

arduino准确的说是一个单片机及其外设的集合,主控是ATMEL出的AVR单片机,你可以理解成比51厉害一点。这个集合之所以出名在于其操作太简单。。。。。STM32库函数的一大堆命令,在这里只需要一句,并且有相当丰富的外设模块。

476c6a1aa2848ae6b403e9381099eaa5dff.jpg

转载于:https://my.oschina.net/hr874589148/blog/3009426

### MPUMCU 的详细对比 #### 定义与基本特征 - **MCU(Microcontroller Unit,微控制器单元)** 是一种高度集成的芯片,通常将处理器、内存(RAM ROM)、输入/输出端口以及其他外设(如定时器、ADC/DAC 转换器等)集成到一个单独的芯片中[^5]。这种一体化的设计使其非常适合于小型化低功耗的应用场景。 - **MPU(Microprocessor Unit,微处理器单元)** 则是一种专注于计算能力的处理器,不具备像 MCU 那样丰富的片上外设支持。它需要额外连接独立的 RAM ROM 存储器以及其他的硬件组件才能正常运作[^4]。 #### 性能比较 - **处理性能** - MCUs 往往具有较低的工作频率,并且主要面向实时性控制功能优化,因此更适合简单的逻辑操作或者轻量级的数据处理任务[^2]。 - MPUs 提供更高的主频更强的浮点运算能力,能够满足更复杂的算法需求,例如图像识别或机器学习推理等工作负载[^3]。 - **能耗水平** - 由于其紧凑型设计及专用电路实现策略,MCUs 通常表现出更低的能量消耗特性,在电池供电产品中有明显优势。 - 相较之下,尽管现代工艺节点下的某些高端型号也具备不错的功效比指标,但总体来说,MPUs 在高负荷运转期间仍会消耗较多电力资源[^1]。 #### 应用领域划分 - **适用范围** - MCUs 广泛应用于汽车电子控制系统、家用电器自动化管理等领域,这些地方往往强调稳定可靠的操作环境而不追求极致算力[^5]。 - MPUs 更多地服务于智能手机平板电脑之类的移动通讯设备还有桌面计算机系统之中,因为这里存在大量密集型数值计算的要求。 #### 结构组成差异 | 组件类别 | MCU | MPU | |----------------|-----------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------| | **处理器核心** | 内含简化版 RISC 或 CISC 架构 CPU | 同样基于 RISC/CISC 技术构建,不过规模更大 | | **存储子系统** | 包括 Flash Memory, SRAM 等形式的小容量内置缓存 | 不提供任何种类的本地储存空间 | | **I/O 接口模块** | 数字 I/Os, UARTS, SPI/IIC Buses, PWM Generators, ADC Converters | 主要是 PCI Express Lanes, USB Ports | | **扩展可能性** | 几乎不存在进一步升级的可能性 | 易于通过附加卡槽接入更多周边设施 | --- ### 示例代码片段展示两者初始化过程的不同之处 下面分别给出一段伪代码用来演示典型的 MCU MPU 初始化流程上的区别: ```c // Typical Initialization Sequence For An Embedded System Based On A Microcontroller (e.g., STM32) void mcu_init(void){ system_clock_config(); // Configure internal RC oscillator as the main clock source. gpio_pin_setup(PIN_LED); // Set up GPIO pin used to drive an external LED indicator light. } int main(){ mcu_init(); while(true){ toggle_led_state(); // Blinking pattern implemented directly within firmware loop. } } ``` ```cpp #include <linux/module.h> #include <linux/kernel.h> static int __init mpu_module_init(void){ printk(KERN_INFO "Loading kernel module...\n"); register_device_driver(); // Register device driver with operating system framework. return 0; } static void __exit mpu_module_exit(void){ unregister_device_driver(); // Unregister previously registered components before unloading. printk(KERN_INFO "Unloading kernel module.\n"); } module_init(mpu_module_init); module_exit(mpu_module_exit); MODULE_LICENSE("GPL"); MODULE_AUTHOR("Example Developer"); MODULE_DESCRIPTION("A simple Linux kernel module demonstrating MPU usage."); ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值