mmu常 见terms

来源:互联网 发布:淘宝1元秒杀攻略 编辑:程序博客网 时间:2024/06/05 14:22
stage 2 address translation : 指实现了LPAE(Large Physical Address Extension),支持40bit的地址的地址转换(VA-->PA)。
stage 1 address translation : 指32bit地址的地址转换(VA-->PA)。
PL1 :  特权运行模式。
PL0:非特权运行模式(对应user模式)
PL2:  对应HYP模式(只有实现了Virtualization Extension的芯片支持)

Direct read :     使用一个MRC, MRC2, MRRC, MRRC2, LDC, or LDC2 指令读一个寄存器,当前的处理器状态下the architecture 允许。
如果一个寄存器直接读有改变一个寄存器值的副作用,对那个寄存器直接读的效果被定义为一个间接的写,并且有间接写的同步请求。这意味着这个间接写被保证会发生,并且只要做同步就对这个直接读接下来的直接或间接读和写可见。
Note:
这个所说的间接写能够影响包括可被直接写所写的寄存器或一些其它寄存器。所有对那些寄存器写入需要做的同步请求,这里同样需要做。
Direct write:    使用一条MCR, MCR2, MCRR,MCRR2, STC, or STC2指令写一个寄存器,当前的处理器状态下the  architecture 允许。
在下列cases中,直接写的副作用定义为对所影响的寄存器的间接写,并且有对一个间接写的同步需求。
1、如果直接写除了对所访问的寄存器的改变外还有对别的寄存器的改变的副作用。
2、如果直接写对所访问的寄存器写入的值与这个寄存器实际变化的值不一致。
在这两种cases中,这意味着间接写不被保证对于之后接下来的直接或间接读和写可见,除非在直接写之后进行了同步。
Note:1、做为一个对一个寄存器直接写也是对那个寄存器间接写的例子,对PMCNTENCLR.Px位写1也是一个间接写,因为如果Px 位己经是1,这个直拉写1的副作用就是把这一位的值变为0.
2、这个所说的间接写能够影响包括可被直接写所写的寄存器或一些其它寄存器。所有对那些寄存器写入需要做的同步请求,这里同样需要做。例如:向为1的PMCNTENCLR.Px写1也改变相对应的PMCNTENSET.Px位
从1到0.这意味着对PMCNTENCLR直接写定义为对它自己和PMCNTENSET的间接写。
Indirect read: