[发明专利]内存访问方法及装置有效
申请号: | 202111033648.5 | 申请日: | 2021-09-03 |
公开(公告)号: | CN113468079B | 公开(公告)日: | 2021-11-19 |
发明(设计)人: | 刘晓建 | 申请(专利权)人: | 支付宝(杭州)信息技术有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02;G06F12/1009 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 周嗣勇 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 访问 方法 装置 | ||
1.一种内存访问方法,包括:
处理器响应于获取到的内存访问指令,确定所述内存访问指令携带的逻辑地址,所述逻辑地址中包括目标内存空间在目标地址段中对应的段偏移量;
所述处理器将所述段偏移量与段号寄存器中预存储的目标段号进行拼接以生成线性地址,所述目标地址段的段基址包含位于高位的所述目标段号和位于低位的若干零值逻辑位,且所述零值逻辑位与所述段偏移量的位数相同;
所述处理器根据所述线性地址访问内存中的所述目标内存空间。
2.根据权利要求1所述的方法,所述处理器将所述段偏移量与段号寄存器中预存储的目标段号进行拼接以生成线性地址,包括:
所述处理器在获取到所述内存访问指令后,确定所述处理器当前所处的处理器模式和/或所述内存访问指令的操作码;
在所述处理器模式处于用户态模式和/或所述内存访问指令的操作码用于指示所述处理器通过拼接方法进行寻址的情况下,所述处理器将所述段偏移量与段号寄存器中预存储的所述目标段号进行拼接以生成所述线性地址。
3.根据权利要求2所述的方法,还包括:
在所述内存访问指令由用户态程序发出的情况下,所述处理器将所述处理器模式设置为用户态模式。
4.根据权利要求3所述的方法,还包括:
在所述处理器将所述处理器模式设置为用户态模式的情况下,向所述段号寄存器中写入所述目标段号,其中,所述目标地址段中加载有所述用户态程序。
5.根据权利要求2所述的方法,还包括:
所述处理器将所述逻辑地址中包含的除所述段偏移量以外的剩余逻辑位写入段号选择器的第一输入端,所述段号选择器的第二输入端与所述段号寄存器相连;
所述进行拼接以生成所述线性地址,包括:
所述处理器将所述段偏移量与从所述段号选择器的输出端读取出的所述目标段号拼接得到所述线性地址。
6.根据权利要求2所述的方法,所述逻辑地址中还包括所述目标段号,所述方法还包括:
在所述处理器模式处于内核态模式和/或所述内存访问指令的操作码用于指示所述处理器进行直接寻址的情况下,所述处理器根据所述逻辑地址访问所述内存中的所述目标内存空间。
7.根据权利要求6所述的方法,还包括:
在所述内存访问指令由内核态程序或操作系统发出的情况下,所述处理器将所述处理器模式设置为内核态模式。
8.根据权利要求6所述的方法,还包括:
所述处理器将所述逻辑地址中包含的除所述段偏移量以外的剩余逻辑位写入段号选择器的第一输入端,所述段号选择器的第二输入端与所述段号寄存器相连;
所述根据所述逻辑地址访问所述内存中的所述目标内存空间,包括:
所述处理器将所述段偏移量与从所述段号选择器的输出端读取出的所述剩余逻辑位拼接得到所述逻辑地址,根据拼接得到的所述逻辑地址访问所述内存中的所述目标内存空间。
9.根据权利要求1所述的方法,所述进行拼接以生成线性地址,包括:
所述处理器将所述逻辑地址中的段偏移量作为所述线性地址的低位写入为所述线性地址所分配的存储空间的低位,并将所述段号寄存器中的段号作为所述线性地址的高位写入所述存储空间的高位以在所述存储空间中生成所述线性地址。
10.根据权利要求1所述的方法,所述进行拼接以生成所述线性地址,包括:
所述处理器将所述段偏移量写入预设源寄存器,利用所述处理器提供的寄存器拼接操作,将所述段号寄存器中的目标段号与所述预设源寄存器中的所述段偏移量进行拼接,以在目的寄存器中生成所述线性地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于支付宝(杭州)信息技术有限公司,未经支付宝(杭州)信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111033648.5/1.html,转载请声明来源钻瓜专利网。