[发明专利]虚拟地址确定方法及装置、处理器、存储介质有效
申请号: | 201810005947.X | 申请日: | 2018-01-03 |
公开(公告)号: | CN109992529B | 公开(公告)日: | 2021-07-16 |
发明(设计)人: | 劳咏仪 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F12/0875 | 分类号: | G06F12/0875;G06F9/38 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 肖庆武 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 虚拟 地址 确定 方法 装置 处理器 存储 介质 | ||
1.一种虚拟地址确定方法,其特征在于,所述方法包括:
从待获取的目标指令的上一指令的指令空间中读取所述目标指令的低位地址,所述目标指令的低位地址为将所述上一指令写入一级指令缓存之前计算得到并存储在所述上一指令的指令空间中的地址,其中,所述目标指令的低位地址根据所述上一指令的虚拟地址的低位地址和所述上一指令所包含的偏移地址计算得到;
确定所述目标指令的剩余地址,所述目标指令的剩余地址的宽度与所述目标指令的低位地址的宽度之和等于所述上一指令的虚拟地址的宽度;
将所述目标指令的低位地址与所述目标指令的剩余地址合并,得到所述目标指令的虚拟地址。
2.根据权利要求1所述的方法,其特征在于,在所述从待获取的目标指令的上一指令的指令空间中读取所述目标指令的低位地址之前,所述方法还包括:
计算所述目标指令的低位地址;
将所述目标指令的低位地址存储至所述上一指令的指令空间。
3.根据权利要求2所述的方法,其特征在于,所述计算所述目标指令的低位地址,包括:
确定所述上一指令的虚拟地址和所述上一指令所包含的偏移地址;
根据页表的大小,从所述上一指令的虚拟地址中确定所述上一指令的低位地址,并从所述偏移地址中确定所述偏移地址的低位地址,所述上一指令的低位地址与所述偏移地址的低位地址对齐且宽度相等;
将所述上一指令的低位地址与所述偏移地址的低位地址相加,得到所述目标指令的低位地址,所述目标指令的低位地址与所述上一指令的低位地址对齐且宽度相等。
4.根据权利要求3所述的方法,其特征在于,在将所述上一指令的低位地址与所述偏移地址的低位地址相加之后,所述方法还包括:
将低位进位存储至扩展指令空间,所述低位进位为将所述上一指令的低位地址与所述偏移地址的低位地址相加产生的进位,所述扩展指令空间为对所述上一指令的指令空间进行扩展得到的指令空间。
5.根据权利要求4所述的方法,其特征在于,所述剩余地址包括中位地址和高位地址,所述确定所述目标指令的剩余地址,包括:
从所述偏移地址中确定所述偏移地址的高位地址,所述偏移地址由所述偏移地址的高位地址和所述偏移地址的低位地址组成;
根据所述偏移地址的高位地址,从所述上一指令的虚拟地址中确定所述上一指令的中位地址,所述上一指令的中位地址与所述偏移地址的高位地址对齐且宽度相等;
从所述扩展指令空间中读取所述低位进位;
将所述上一指令的中位地址、所述偏移地址的高位地址和所述低位进位相加,得到所述目标指令的中位地址;
从所述上一指令的虚拟地址中确定所述上一指令的高位地址,所述上一指令的虚拟地址由所述上一指令的高位地址、所述上一指令的中位地址和所述上一指令的低位地址组成;
根据中位进位、所述上一指令的高位地址和所述偏移地址的符号,确定所述目标指令的高位地址,所述中位进位为将所述上一指令的中位地址、所述偏移地址的高位地址和所述低位进位相加产生的进位。
6.根据权利要求5所述的方法,其特征在于,所述根据中位进位、所述上一指令的高位地址和所述偏移地址的符号,确定所述目标指令的高位地址,包括:
当所述中位进位为1且所述偏移地址的符号为0时,确定所述目标指令的高位地址等于所述上一指令的高位地址加1;
当所述中位进位为0且所述偏移地址的符号为0,或者,所述中位进位为1且所述偏移地址的符号为1时,确定所述目标指令的高位地址等于所述上一指令的高位地址;
当所述中位进位为0且所述偏移地址的符号为1时,确定所述目标指令的高位地址等于所述上一指令的高位地址减1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810005947.X/1.html,转载请声明来源钻瓜专利网。