PPC的MCU初始化
发布时间:2020-12-15 06:15:05 所属栏目:百科 来源:网络整理
导读:MMU初始化重要的有2个,TLB和LAW ??? 通过TLB,把EA(Effective address)转换为RA(Real Address) ??? 通过LAW,把RA送到物理总线上去,即总线地址 下面以MPC8560来举例 -------------------------- 格机格机格机格机格机格机 ------------------------------
MMU初始化重要的有2个,TLB和LAW 第一步:根据 EA有效地址产生 VA虚拟地址。虚拟地址为 41位,构成如下: bit[0],AS,地址空间域 ??? 0 是和中断处理及系统级的代码和数据关联 ??? 1 是应用程序的代码和数据? ??? 用户模式的程序运行时,一般 MSR[IS,DS]为 1,只允许访问应用程序的代码及数据地址空间。 ??? 进入中断时,MSR[IS,DS]自带清 0,因此可以利用系统级的 TLB(TS=0)来访问中断处理相关的代码。? bit[1-8],TID,进程标识符 ??? 由 PID寄存器提供,多数操作系统都未实现,默认 0 bit[9-40]?即原来的 EA地址 (页表号+页内offset,) 第二步:根据虚拟地址匹配TLB,匹配过程如下: V域为 1,当前 TLB项有效; MSR[IS,DS]和 TLB表项的 TS域一致; TID一致或者 TLB表达 TID为 0,全局共享; 由表项的SIZE域根据公式 n = 32–log2 (page size in bytes)计算虚拟地址中 EPN的值,然后和TLB的 EPN域进行匹配且匹配成功。 第三步,根据TLB生成 RA TLB匹配成功后,将提取 TLB表的 RPN和 ERPN域,构成 RA物理实际地址的页编号部分,而页内偏移由 EA的低地址部分提供,相关构成如下: RA = ERPN0:3 || RPN0:n–1 || EAn:31 第四步,匹配LAW,生成总线地址 用RA来检索LAW entry,下面是一个LAW的例子 ? 比如命中了 PCI law entry,就会通过PCI的相关地址转换寄存器生成bus address总线地址, 然后送到PCI总线上 -------------------------- 格机格机格机格机格机格机 ------------------------------ 基本原理是用一些静态数组的值来初始化 TLB 和 LAW 的 entry
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |