E500的内存管理分析

关键字:TLB e500   e500的内存管理由两级TLB实现。我们把一级的TLB简称为L1,把二级的TLB简称为L2。其中L1对系统程序员不可见,L1的刷新和维护都由CPU的内部硬件逻辑实现。L1的刷新数据来自于L2,程序员可以通过编程来改变L2中的内容,从而也可以间接的改变L1中的内容。
下面我们主要讨论L2的逻辑
L2由两个TLB数组组成,这两个TLB数组是统一的TLB,也就是说它们既可以缓存指令也可以缓存数据。我们把这两个L2的数组分别称为L2TLB1和L2TLB2。其中L2TLB1有16个表项,并且每一个表项可以影射的内存大小可变。(对于e500v1来说,可变得范围为4k到256M,对于e500v2来说,可变范围为4k到4G范围)。L2TLB2有512个表项,而且只支持4k的固定大小的内存影射。
我们可以通过以下指令来操作L2中的两个TLB数组:
tlbre
tlbwe
tlbsx
tlbsync
tlbivax
mtspr
系统程序员需要在程序启动时对L2TLB1或者L2TLB2进行编程,建立相应的内存影射来满足自己程序运行的需要。当系统刚刚启动,e500默认会在L2TLB1数组的第一个表项里填充内容,对整个地址空间的最后4k地址进行影射。内容如下:
V 1
TS 0
TID[0-7] 0x00
EPN[32-51] 0xFFFFF
RPN[32-51] 0xFFFFF
SIZE[0-3] 0001
SX/SR/SW 111
UX/UR/UW 000
WIMGE 01000
X0-X1 00
U0-U3 0000
IPROT 1
e500规范规定,系统已启动,应该从0xFFFFFFFC开始运行,一般来说这个地方存放了一条跳转指令,跳转到系统为我们已经影射好的最后的4k的代码中,而在最后的4k代码中,我们需要进行TLB的映射,否则我们只能使用最后的4k空间。
(未完待续) 作者:michael.kang(blackfin.kang@gmail.com)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
PowerPC的E500是飞思卡尔(FreeScale)基于Power Architecture的32位微处理器核心。E500系列核心有三个版本,即E500v1,E500v2的E500mc。64位版本的E500mc演变为E5500核心,并于2010年推出。\[1\]关于PowerPC E500的中断系统,它由两部分组成,一部分是E500的内核,另一部分是中断异常控制器(Programmable Interrupt Controller, PIC)和中断协议(Interrupt Protocol)。\[2\]\[3\] #### 引用[.reference_title] - *1* [PowerPC E500 MMU详解](https://blog.csdn.net/digi2020/article/details/123174801)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [linux powerpc e500内核外部中断](https://blog.csdn.net/weixin_39945475/article/details/116858667)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [linux powerpc e500内核外部中断,PIC,PPC,设备驱动](https://blog.csdn.net/lanmanck/article/details/5416057)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值