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的的属
CPU内核部件之:MMU、MPU、ITCM、DTCM、CCM、Cache相关推荐
- 不使用总线矩阵的CortexM3最小系统搭建(AHB外设有ITCM,DTCM,DEFAULT_SLAVE和AHB_APB桥,APB外设只有一个UART)附整个工程
1.1. 实验任务: 不使用总线矩阵搭建系统,系统挂载APB_UART.AHB_SRAM等外设. 1.2. 实验所需模块 CortexM3.v ---------------------------- ...
- 未来CPU内核将更简单!
英特尔高级研究员:未来CPU内核将更简单! 2004/10/22 [日经BP社报道] 在英特尔公司负责系统架构研究部门的英特尔高级研究员.企业技术部门高级经理.系统技术实验室的贾斯廷·莱特纳(Ju ...
- 怎样才能找出哪个 CPU 内核正在运行该进程?(一)
top 命令也可以显示 CPU 被分配给哪个进程.首先,在top 命令中使用"P"选项.然后按"f"键,显示中会出现 "Last used CPU&q ...
- Linux查看版本信息及CPU内核、型号等
Linux下如何查看版本信息, 包括位数和多核信息,今天我们就来一起看看linux 查看版本信息以及查看CPU内核信息.CPU具体型号等等,整个CPU信息一目了然.相信不会让大家失望. # uname ...
- Linux内核部件分析 设备驱动模型之driver ---mark 详细
Linux内核部件分析 设备驱动模型之driver 转载:https://www.linuxidc.com/Linux/2011-10/44627p7.htm 上节我们分析设备驱动模型中的device ...
- linux下查看mysql线程_linux-如何查看线程在哪个CPU内核中运行?
linux-如何查看线程在哪个CPU内核中运行? 在Linux中,假设线程的pid是[pid],则从目录/ proc / [pid]中我们可以获得许多有用的信息. 例如,这些proc文件/ proc ...
- 物理cpu、物理cpu内核、逻辑cpu
物理cpu:就是实在的可以看到的计算机硬件,插入计算机的cpu插槽里面.如下图所示 在Linux系统中想查看物理cpu个数命令:cat /proc/cpuinfo |grep "physic ...
- X86架构CPU常识(主频,外频,FSB,cpu位和字长,倍频系数,缓存,CPU扩展指令集,CPU内核和I/O工作电压,制造工艺,指令集,超流水线与超标量)...
1.主频 主频也叫时钟频率,单位是MHz,用来表示CPU的运算速度. CPU的主频=外频×倍频系数.很多人认为主频就决定着CPU的运行速度,这不仅是个片面的,而且对于服务器来讲,这个认识也出现了偏差. ...
- 【图像增广库imgaug】官方文档翻译(二):在多个 CPU 内核上进行扩充
文章目录 一.示例:augment_batches(..., background=True) 二.包含非图像数据的Batches 三.使用池 四.用生成器使用池 五.限速池可降低最大内存要求 总结 ...
最新文章
- 人工智能皇冠上的明珠:自然语言处理简介、最新进展、未来趋势
- ASP.NET Forums 2.0 本地化修改(四)
- Windows 下 修改 Anaconda3 jupyter 默认启动目录
- C++Builder中ListView控件用法和示例总结整理
- ngnix的upstream模块配置详解
- Vue Google浏览器插件 Vue Devtools无法使用的解决办法
- Hibernate 语句总结
- 单一工作流的执行➕回滚框架初步想法(基于事件驱动模式)
- linux 行尾加字符串,linux – cat in expect脚本在字符串结尾添加新行
- java语音转文字_快速实现语音转文字,还自带翻译
- 如何搭建一个团队(一)
- Linux 运维之路001
- solidworks打开大型装配体特别卡。跑不满内存、CPU、GPU。
- 还不知道 RabbitMQ 常用的几种交换机模式?这篇小白都能看懂的 RabbitMQ 交换机模式
- 库函数memcpy的实现
- 【坎坷求职路】:选择大于努力!一名六次反复经历失败的应届生,最后一刻跻身阿里如愿以偿
- 微信开发 invalid openid
- 二进制与十进制、八进制、十六进制相互转换,八进制与十六进制以二进制为跳板转换(8421法则)
- [iOS开发]修改代码问题记录
- 共享微型(格子)酒店售货机方案分析
热门文章
- 数据库的分组统计查询
- R语言统计分析|批量单变量Cox回归分析
- php仿淘票票,node+vue模仿淘票票的app源码分享
- The Innovation | 粪菌移植治疗肥胖,如何突破瓶颈?
- commvault备份mysql_CommVault备份到华为云对象存储实践
- 跻身四强 | 坤前强势入围IDC加速计算服务器榜单
- 缓存服务器 MemcachedRedis
- 北京警方严打电信网络诈骗犯罪 五年端掉千余涉诈窝点
- 一个简单的注册页面制作
- 黑马培训教学SSM整合中Security遇到的问题org.springframework.security.access.AccessDeniedException: Access is denied