硬件视角看段页式存储

题记

一直认为,段页式存储是一个软件概念,将软件分为各个不同的段来进行管理,通过划分页面进行内存分配,使用实际的物理内存空间。

今天一个同事提到了硬件的段页式管理的概念,感觉这个角度很好,以前从来没考虑过还能从这个角度去想段页式管理的问题,所以将他的描述整理记录下来。

MIPS的段页式管理

从硬件实现上来看,MIPS的虚拟地址空间分成个几个不同的段,以MIPS32为例,包含useg,kseg0,kseg1,kseg2和kseg3。其中kseg0和kseg1是kernel umap,不需要经过TLB转换,其它几个段需要经过TLB转换。

因此,可以认为MIPS32从硬件设计上就为段页式管理提供了方便,当只想使用段的映射方式,不使用页面的时候,可以使用kseg0和kseg1,因为这两个段直接由硬件实现了虚拟地址到物理地址的转换,不需要再额外的划分页面。

当需要使用段页式(TLB映射)的方式使用内存空间时,可以使用useg和kseg2、kseg3,通过TLB映射来配置不同大小的也,将虚拟地址根据页大小,映射到不同的物理地址上进行使用。

结束语

不同的硬件架构在硬件实现上对段页式的实现可能有所不同。例如MIPS同时包含了段和段页式两种地址使用方式,而RISC-V则略有不同。RISC-V在M态时,是完全的段式管理,而在S态时,可以通过配置SATP寄存器的模式,在完全的段式管理和段页式(走TLB)两种形式间进行切换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值