内存映射机制

当CPU读取数据时,是由 内存管理单元(MMU)管理的。MMU位于CPU与物理内存之间,它包含从虚拟地址向物理内存地址转化的映射信息。当CPU引用一个内存位置时,MMU决定哪些页需要驻留(通常通过移位或屏蔽地址的某些位)以及转化虚拟页号到物理页号。



当某个进程读取磁盘上的数据时,进程要求其缓冲通过read()系统调用填满,这个系统调用导致内核向磁盘控制硬件发出一条命令要从磁盘获取数据。磁盘控制器通过DMA直接将数据写入内核的内存缓冲区,不需要CPU协助。当请求read()操作时,一旦磁盘控制器完成了缓存的填写,内核从内核空间的临时缓存拷贝数据到进程指定的缓存中

用户空间是常规进程所在的区域,该区域执行的代码不能直接访问硬件设备。 空间是操作系统所在的区域,该区域能与设备控制器通讯,控制用户区域进程的运行状态。



内存映射文件技术是操作系统提供的一种新的文件数据存取机制,利用内存映射文件技术,系统可以在内存空间中为文件保留一部分空间,并将文件映射到这块保留空间,一旦文件被映射后,操作系统将管理页映射缓冲以及高速缓冲等任务,而不需要调
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Cortex-M3是一款基于ARM架构的微控制器,它的内存映射机制是指将外设寄存器和内存空间映射到处理器的地址空间中,以便处理器能够直接访问这些外设寄存器和内存空间。 Cortex-M3的地址空间被分为两个部分:内核空间和外设空间。内核空间包括处理器内部的寄存器和内存,外设空间则包括所有外部设备的寄存器和内存。 在Cortex-M3中,内核空间的地址范围为0x00000000~0x1FFFFFFF,而外设空间的地址范围为0x40000000~0xFFFFFFFF。这里的地址范围是指物理地址范围,而不是虚拟地址范围。 Cortex-M3的内存映射机制可以通过MMAP寄存器进行配置。MMAP寄存器有8个比特位,用于选择不同的映射模式。具体来说,MMAP[7:4]用于选择内核空间的映射方式,而MMAP[3:0]用于选择外设空间的映射方式。 对于内核空间的映射方式,有两种选择: 1.线性映射模式 这种模式下,内核空间的地址与物理地址相同,处理器可以直接访问内核空间中的寄存器和内存。 2.交叉映射模式 这种模式下,内核空间的地址被映射到了不同的物理地址上,需要通过地址转换器进行转换。这种模式可以增加地址空间的可用性,但会增加访问延迟和功耗。 对于外设空间的映射方式,也有两种选择: 1.线性映射模式 这种模式下,外设的寄存器和内存被映射到与物理地址相同的地址空间中,处理器可以直接访问外设的寄存器和内存。 2.直接映射模式 这种模式下,外设的寄存器和内存被映射到不同的物理地址上,需要通过地址转换器进行转换。这种模式可以增加地址空间的可用性,但会增加访问延迟和功耗。 总体来说,Cortex-M3的内存映射机制提供了灵活的配置选项,可以根据应用需求进行优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值