打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Memery Management in Linux Kernel
                                    _______________________
                                   |                                                    |
                                   |     cache  <------>   CPU          |
                                   |                                    ^              |
                                   |     register                  |               |
                                   |                                   V              |
                                   |                                MMU          |
                                   |_______________/      \____ |
         _______                                            |  A  |                                                __________
        |   GPU    | <------------------------------  |  H  |----------------------------------> |         DDR      |
        |_______|                                           |  B  |                                              |__________ |
                                                                     \      /
                                                                        -                                                
                                                                      /    \
                                                                      |A |                                              ________
                                                                      |P |---------------------------------->|     USB    |
                                                                      |B |                                             | _______ |
                                                                      \    /
                                                                        -
                                                            (ARM 架构)
                CPU发出一个VA(Virtual address),MMU接收到VA后,会将VA转换为PA(physical address),其转换机制如下:
                        1、MMU收到VA
                        2、分配一个PT(page table),而VA的高20位(32 位)作为PT的index
                        3、 MMU根据VA的高20位在PT中找到与之对应的某一项,并把该项中的高20位作为PA的高20位
                        4、 MMU把VA中的低12位作为PA的低12位,得到PA
                    VA :_________________________________
                            | ____________________|____________ | ----------------------------------
                            |-------------------------------------|                                                                        |
                                                |                                                                                                   |
                   PT:  _________V________________________                                            |
                          |_____________________|_____________|                                          |
                                               |                                                                                                    |
                 PA:  _________ V________________________                                             |
                        |_____________________|______________|<--------------------------------|
       没有DMAC(DMA control),默认情况下,首先data会先放在cache中,CPU从cache取值,紧接着CPU会将下一步的指令放在cache,再传送给
DDR,外设再从DDR中取值
     有DMAC(GPU)时,外设便会直接从DDR中取值,不会经由cache
      当访问register时,同样也不回经过cache,而是直接访问register
      之所以能做到如上述所述,是因为,在PT中的低12位的flags位中,包含有是否打开cache这一个选项
                                                                                                                                                                                                             (欢迎转载,请指明出处)

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
piaoxiang
S3C2440的内存管理单元MMU--大小页地址转换
MMU问题集锦
关于cache maintenance 操作的四个寄存器(CTR,CLIDR,CSSELR,CCSIDR)解析
ARM920T虚拟地址原理分析及实现
S3C2410
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服