ARM V7内存术语

/*
 * 2020/12/28    11:58        qing
 */

/*
 * shu yu
 */
    LPAE : 大物理地址扩展
    IPA  : 中间物理地址
    PMSA : Protected Memory System Architecture
    VMSA : 虚拟存储系统架构
    FCSE : 快速上下文切换机制
    VMID : 虚拟机ID

    PGD : 页全局目录(Page Global Directory)

    PUD : 页上级目录(Page Upper Directory)

    PMD : 页中间目录(Page Middle Directory)

    PT  : 页表(Page Table)

    memory hierarchy : 内存层次结构

    cache hierarchy     : 缓存层次结构

    PoU : Point of Unification 统一点

    PoC : Point of Coherency 一致点

    TLB : Translation lookaside buffer 是一种硬件缓冲区,很多体系结构用它来缓存虚拟地址到物理地址的映射关系。
                                        它极大地提高了系统的性能,因为大多数内存访问都要时行虚拟寻址。

/*
 * arm v7
 */
    ARMv7-A: Application profile, 支持ARM和Thumb指令集, 支持MMU(Memory Management Unit)
    ARMv7-R: Real-time profile, 支持ARM和Thumb指令集, 支持MPU(Memory Protection Unit), 无MMU
    ARMv7-M: Micro-controller profile, 只支持Thumb指令集, 支持MPU, 无MMU

    在 ARMv7 架构上,比较突出的特性是支持了:包括大内存(Large Memory)、虚拟化(Virtualization)和安全(Security)

    1. 大内存(Large Memory)
        支持高达40bits的物理地址空间。但受限于32-bit的指令集,虚拟地址空间依旧只有32bits(4G),如果有应用需要更大的虚拟内存,怎么办?
        只能定义一个新的架构,使用64-bit的指令集(也即我们常说的ARM64)。

    2. 虚拟化(Virtualization)和安全(Security)
        
        ARM v6引入了security extension,把硬件资源划分成了两个部分secure world和normal world。当 CPU 运行在 secure world 的时候,
        它可以访问所以的硬件资源,但当CPU运行在normal world的时候,它只能访问normal world的资源。

        ARM v7引入了virtualization extension,在 normal world 里面加入了一个新的CPUmode:HYP mode。

        这样CPU 在normal world运行的时候就有三种模式:USR mode, SVC mode和 HYP mode,分别对应 PL0, PL1, PL2 (PL:privilege level),
        number越大,权限越高。

        权限的理解是:寄存器的访问和指令的执行。比如说一些特殊的寄存器(HVBAR)只能再HYP mode里面才能访问,
        一些特殊的指令(HVC)只能再SVC 或者 HYP mode执行。而CPU处于哪个模式是由CPSR这个寄存器决定的。
    
        PL0进PL1通过SWI指令(system call),PL1回PL0通过复原CPSR

        hypervisor也是由HYP exception vector和handler。一个最简单的hypervisor就是HVBAR寄存器定义vector的位置,
        在offset 0x14的地方放一个eret指令。这样的hypervisor可以处理kernel发起的HVC call

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值