基础——MCU和MPU,CACHE和MMU

news/2024/11/16 10:38:30/

                                         MCU和MPU

1. 是什么 


       CPU(Central Processing Unit,中央处理器)发展出来三个分枝,一个是DSP(Digital Signal Processing/Processor,数字信号处理),另外两个是MCU(Micro Control Unit,微控制器单元)和MPU(Micro Processor Unit,微处理器单元)。

*********************单片机属于微控制器,也就是MCU********************************

*******************像ARM9,ARM11,A8,A9就是MPU*******************************

2. 异同

嵌入式MCU单片机集成了嵌入式系统工作所需的逻辑计算内核cpu,存储数据/代码的RAM,EEPROM和Flash,内部互联总线—Crossbar、AMBA(APB、AHB以及AXI bus),定时器资源、中断控制器(INTC,通用GPIO,ADC、DAC和ACMP,段码LCD控制器、TFT LCD控制器,通信接口/控制器—IIC、SPI、USART、CAN等;

当然,MPU中也会集成很多嵌入式系统工作所需的大部分片上外设,但因为其计算单元CPU内核运行速度非常快,所以其一般不会再片内集成系统工作所需的RAM和Flash存储器,而是集成SDR/DDR2/3/4等外部SRAM扩展接口和NAND/NOR Flash扩展接口,用户设计基于MPU的硬件系统时还需选择合适的SRAM和外部Flash才可以保证系统正常工作。

相比较于MCU来说MPU多了两个部件, CACHEMMU。

                                           CACHE和MMU

1. 是什么

CACHE:高速缓存,是硬件。

MMU:memory management unit,称为内存管理单元,是硬件。

物理地址:(英语:physical address),也叫实地址(real address)、二进制地址(binary address),它是在地址总线上,以电子形式存在的,使得数据总线可以访问主存的某个特定存储单元的内存地址。

虚拟地址:虚拟地址是相对于物理地址来说的。虚拟地址的提出,主要是为了解决在操作系统中,多线程内存地址重复,大进程在小内存运行等问题 , 在32位系统中,虚拟地址空间中有4G,在操作系统中程序中使用的都是虚拟地址
 

2. 特点,功能

2.1 Cache

Cache存储器:电脑中为高速缓冲存储器,是位于CPU和主存储器DRAM(Dynamic Random Access Memory)之间,规模较小,但速度很高的存储器,通常由SRAM(Static Random Access Memory静态存储器)组成。

就是因为处理器速度相对于内存速度,差距太大,所以就引入了CACHE。

而cache经常与写缓冲器(write buffer)一起使用,使用writer buffer的目的是,将处理器和cache从较慢的对主存的写操作中脱离出来。

 当CPU 要访问 cache 时, CPU 送来主存地址,放到主存地址寄存器中。然后通过地址变换部件把主存地址中的块号 B 变成 cache 的块号b,并放到 cache 地址寄存器当中。同时将主存地址中的块内地址 W 直接作为 cache 的块内地址 w装入到 cache 地址寄存器中。如果地址变换成功(通常称为 cache 命中),就用得到的 cache 地址去访问 cache,从 cache 中取出数据送到 CPU 中。如果地址变换不成功,则产生 cache 失效信息,并且接着使用主存地址直接去访问主存储器 。
工作原理:
              1.程序要读取内存中地址A数据,然后程序首先以地址A查找Cache,一开始Cache无数据,导致“cache  miss”。

              2.程序以地址A查找内存,读取数据后,把数据填入cache,称为”cache  fill“。

              3.程序再次读取内存中A地址数据,这次直接以地址A查找cache,读取数据后直接返回给CPU,不用再去操作内存。

              4.重复步骤1,周而复始,直到把cache填满(cache容量一般很小)。此时CPU再访问,就要发生cache替换,即把一些数据替换出去,填充新数据。
 

2.2 MMC

单片机里没有‘虚拟地址’这个概念,而是‘物理地址’,而在ARM领域,Linux编程的时候,就会涉及到‘虚拟地址’,经过MMU以后才是物理地址。

简单说MMC的作用有两点,地址翻译和内存保护。

具体参考:大神的博文

文档介绍:MMC原理

 

 

 

 

 

 

 

 

 

 

 

 


http://www.ppmy.cn/news/146803.html

相关文章

CPU FPU DSP MPU的概念介绍

CPU FPU DSP MPU的概念介绍 目前世界上有两种文明,一种是人类社会组成的的碳基文明,一种是各种芯片组成的硅基文明——因为几乎所有的芯片都是以单晶硅为原料制作的,芯片系统的总数比人类的数量还多出数十上百倍。芯片大家族里面也分各种不同…

STM32H7-MPU的理解和配置

STM32H7-MPU 一、MPU的作用 防止不受信用的应用程序访问受保护的内存区域防止用户应用程序破坏操作系统使用的数据通过阻止任务访问其他任务的数据区允许将内存区域定义为只读,以便保护重要数据。检测意外的内存访问 简单来说,就是内存保护、外设保护…

CPU_SOC_MPU和MCU

CPU_SOC_MPU和MCU 一、CPU(Central Processing Unit)二、MPU (Micro Processor Unit)三、MCU(Micro Control Unit)四、SOC(System on Chip)五、SOPC(System On a Programmable Chip)六、区别6.1、MCU和MPU的区别6.2、CPU与SoC的区别6.3、SoPC与MCU、MPU、SoC的区别 一、CPU(Cen…

CPU、 MCU、 MPU、 DSP的区别

CPU、 MCU、 MPU、 DSP的区别 CPU、 MCU、 MPU、 DSP的区别 CPU( CentralProcessing Unit, 中央处理器) 发展出来三个分枝, 一个是DSP( Digital Signal Processing/Processor, 数字信号处 理) &…

CPU、MCU、MPU及DSP的区别和介绍

CPU、MCU、MPU及DSP的区别 CPU(Central Processing Unit,中央处理器)发展出来三个分枝,一个是DSP(Digital Signal Processing/Processor,数字信号处理),另外两个是MCU(M…

GPU CPU SOC DSP FPGA ASIC MCU MPU GPP ECU

FPGA、ASIC、DSP全面大比拼_pilifeng1的博客-CSDN博客_asic dsp DSP首先是Digital Signal Processing(数字信号处理),然后才是Digital Singnal Processor(数字信号处理器) FPGA( Field Programmable Gate Array)即现场可编程门阵列,它是在PAL、GAL、PL…

CPU、MPU、MCU、SOC的概念与区别

参考资料: SoC和MCU的区别 CPU、MCU和SOC的区别以及外设的概念理解 CPU、MPU、MCU和SOC还傻傻分不清楚 看这篇文章就够了 1. 概念 1.1 CPU(Central Processing Unit) CPU(Central Processing Unit),是一台计算机的运算核心和控制核心。CPU由运算器、控…

ARM Cortex-M7 中 MPU 与 Cache

项目中采用了ARM cortex-M7的架构进行芯片设计,在随后的开发中遇到了关于Cache配置等问题,花费了一段时间查阅资料与参考STM32H743开发板代码,现在记录总结一下。 1、关于Cache 1.1 Cache是什么 Cache是位于core与内存之间的一个高速缓存区…