CPU内核部件之:MMU、MPU、ITCM、DTCM、CCM、Cache

    最近了解到了很多关于CPU内核架构中的组件的相关知识,感觉受益颇丰,在这里总结分享下:

 

1.MMU:Memory Management Unit,即内存管理单元,主要工作就是进行虚拟内存地址和物理内存地址的映射,而进行映射的目的有两个:一个是解决物理内存不足以提供给程序运行时的问题,另一个是可以给操作系统的每一个进程提供一个单独独立的虚拟空间。

2.MPU:Memory Protection Unit,即内存保护单元,主要负责检查将要执行的内存访问操作是否存在违法/违规嫌行为,如堆栈溢出、数组访问越界、内存访问越界等,对于Cortex-M系列处理器来说,当MPU检测到违规操作时将产生MemManage_Handler或HardFault_Handler(如果MemManage_Handler中断没开的话)错误中断。

3.TCM:Tightly Coupled Memory,中文名:紧密耦合内存,内存中的一种,直接集成在CPU内核中,与普通SRAM相比的优点是存取速度快得多得多;TCM分为ITCM和DTCM,即指令紧密耦合内存和数据紧密耦合内存,顾名思义,ITCM就是用于存指令的,DTCM就是用于存数据的;合格优秀的程序应该将程序中需要快速执行的代码(如中断函数和算法)和经常访问的数据放到ITCM和DTCM中,以提高程序运行效率;由于栈中的数据是会经常使用和释放的,所以对于有DTCM的处理器来说通常都把栈放到DTCM中。另,DMA是无法访问TCM的。

    那么如何将指定的代码放到ITCM中呢?有两种方法,一种是利用gcc的的属

  • 3
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
CPU核、cacheMMU是计算机系统中三个重要的组成部分,它们协同工作可以提高计算机系统的性能和安全性。具体来说,它们的协同工作可以通过以下几个方面实现: 1. Cache的命中率:当CPU核执行指令或访问数据时,首先会查询cache中是否已经存在需要的数据或指令,如果存在则可以直接从cache中读取,减少了从主存中读取的时间和开销。而MMU则可以通过虚拟地址转换为物理地址,将cache中的数据和指令正确地映射到物理内存中。 2. Cache的一致性:由于多个CPU核可能同时访问同一个缓存行,因此需要保证缓存中数据的一致性。当一个CPU核更新了缓存中的数据时,MMU会通过硬件机制通知其他CPU核对该缓存行的数据进行更新,从而保证缓存中数据的一致性。 3. 内存保护:MMU可以通过虚拟地址转换为物理地址,并对物理地址进行访问权限的检查,从而保护系统的内存不被非法访问。此外,MMU还可以将物理地址映射到不同的页面中,实现内存的隔离和保护。 4. 虚拟化:MMU可以将物理内存映射到不同的虚拟地址空间中,从而实现虚拟化。虚拟化技术可以让多个操作系统同时运行在同一台物理计算机上,提高计算机系统的利用率和灵活性。 综上所述,CPU核、cacheMMU是计算机系统中协同工作的重要组成部分,它们的协同工作可以提高计算机系统的性能和安全性,实现内存保护、虚拟化等功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值