您的位置:首页 > 其它

PowerPC PPC460-S MMU(二)

2015-08-18 09:00 423 查看
OverView
页识别 Page Identification
1虚拟地址产生 Virtual Address Formation

2地址空间识别符 Address Space Identifier

3TLB匹配 Match Process

地址转译 Address Translation

访问控制 Access Control

存储属性 Storage Attribute

OverView

每个TLB Entry通过4个类域来实现页识别、转译、访问控制以及存储属性的定义。

关于每个域的属性可直接参考手册定义表,下面主要介绍4个类域的技术支持:

1. 页识别 Page Identification

1)虚拟地址产生 Virtual Address Formation

2)地址空间识别符 Address Space Identifier

针对两个独立的虚拟地址空间,由识别符的0和1来区别;

一个针对于系统的中断处理以及系统级代码和数据的访存;

一个针对于应用层的代码与数据的访存;

通常,用户态时,MSR的IS(取指)以及DS(取值)位会标记为1,

以允许应用层的代码和数据的访存;

然后,当发生中断时,MSR的IS、DS自动清零,通过系统级的TLB

便可以访问中断的代码以及数据区(也就是说,此时的TLB Entry中

TS=0 <–TS与MSR的IS、DS保持对应);

当然,操作系统也可能把一些系统级的代码与数据区置于应用层地址

空间(当然,对应的TS=1),这样在用户态就可以访问。(例如:

一些共享的系统库函数);那么,此时,如果系统级代码要想访问

这些区域时,也就需要首先设置MSR[IS,DS] = 1来获取应用层的TLB

(除非在系统级TLB中也存在同样可选的定义)。

由上,当应用层代码运行时(MSR[IS,DS] = 1),使用TLB entries

需要设置TS=1;反言之,在系统级时(MSR[IS,DS] = 0),TS=0;

当然,尽管在用户模式,也可以设置MSR[IS,DS]=0(特权模式也一样),

但此时需要注意的是,如果是中断发生导致的MSR清零,在修改MSR

[IS,DS]=1时,需要建立对应的页表入口,以保证系统级的中断处理代码

(TS=0)能够正常访问和执行。

* Note:*

* 对于中断处理Handler的有效地址,软件应尽可能保证为其找到 *

* 有效的TLB entry(TS=0,SX=1),否则引起异常后也会导致 *

* SRR0/SSR1(保存中断地址及MSR等)寄存器的状态破坏 *

3)TLB匹配 Match Process

虚拟地址的产生就是定位在TLB中的相应entry。

虚拟地址的匹配条件如下:

TLB entry[V](Valid field) is 1, and

The AS(address space identifier) is equal to TLB entry[TS], and

PID(process id) = TLB entry[TID](private page) 或者

TLB entry[TID] = 0(globally shared ), and

TLB entry[EPN] ( 0:N-1位) = EA (0:N-1位)

如下图:



* NOTE:如果软件创建了多个TLB entries匹配了同一个虚拟地址,*

* 可能会导致编程错误,发生未知的错误 *

2. 地址转译 Address Translation

对于给定的有效地址(EA),通过在页标识处理中形成虚拟地址,并通过虚拟地址匹配

过程顺利找到TLB Entry,那么虚拟地址便可以通过以下过程转译为物理地址。

TLB Entry中RPN(The Real Page Number)和ERPN(Extened Real Page Number)

提供了物理地址的分配页码;

转译过程如下:

RA = ERPN(0:3)|| RPN(0:n-1)|| EA ( n:31 ) ===>36位的物理地址

如下图:



3. 访问控制 Access Control

见(三)

4. 存储属性 Storage Attribute

见(四)

OverView
页识别 Page Identification
1虚拟地址产生 Virtual Address Formation

2地址空间识别符 Address Space Identifier

3TLB匹配 Match Process

地址转译 Address Translation

访问控制 Access Control

存储属性 Storage Attribute
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  MMU TLB PowerPC PID