[发明专利]一种数据处理装置及方法有效
申请号: | 201480000412.3 | 申请日: | 2014-04-28 |
公开(公告)号: | CN105308557B | 公开(公告)日: | 2018-06-15 |
发明(设计)人: | 陈云;蔡卫光;宋昆鹏 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明的实施例提供一种数据处理装置及方法,涉及计算机领域,能够有效提高寄存器堆缓存子模块的使用效率。所述数据处理装置,包括:指令预译码模块、指令缓存模块、寄存器堆控制模块、重命名模块、寄存器堆缓存子模块,获取N个源寄存器号和N个目的寄存器号;当第i目的寄存器号满足第一预设条件时,标记所述第i目的寄存器号,将标记的所述第i目的寄存器号映射到寄存器堆缓存子模块中的第一物理寄存器的寄存器号。本发明实施例提供的数据处理装置及方法用于处理数据。 1 | ||
搜索关键词: | 寄存器号 数据处理装置 寄存器堆 缓存子模块 计算机领域 物理寄存器 指令预译码 处理数据 控制模块 使用效率 预设条件 源寄存器 指令缓存 映射 | ||
所述寄存器堆控制模块,用于从所述指令预译码模块,或者所述指令缓存模块,或者所述指令预译码模块和所述指令缓存模块中获取N个源寄存器号和N个目的寄存器号;
所述寄存器堆控制模块还用于:
当第i目的寄存器号满足第一预设条件时,标记所述第i目的寄存器号,所述i为大于等于1且小于等于N的整数,所述N为大于等于2的整数;
所述重命名模块,用于将标记的所述第i目的寄存器号映射到所述寄存器堆缓存子模块中的第一物理寄存器的寄存器号,所述第一物理寄存器为所述寄存器堆缓存子模块中多个空闲的物理寄存器中任意一个。
2.根据权利要求1所述的数据处理装置,其特征在于,所述第一预设条件为所述第i目的寄存器号等于第i+1源寄存器号至第N源寄存器号中至少一个源寄存器号,所述i+1为小于等于N的整数。3.根据权利要求2所述的数据处理装置,其特征在于,所述指令预译码模块,用于预译码至少一条指令,得到N个源寄存器号和N个目的寄存器号,每一个所述指令包括至少一个源寄存器号和至少一个目的寄存器号;
所述指令缓存模块用于存储所述指令。
4.根据权利要求3所述的数据处理装置,其特征在于,所述寄存器堆控制模块具体用于:
从所述指令缓存模块获取N个源寄存器号和N个目的寄存器号;
或者,直接从所述指令预译码模块获取N个源寄存器号和N个目的寄存器号;
或者,从所述指令缓存模块获取N‑1个源寄存器号和N‑1个目的寄存器号,从所述指令预译码模块获取第N源寄存器号和第N目的寄存器号。
5.根据权利要求4所述的数据处理装置,其特征在于,所述寄存器堆控制模块还用于:
当第i+1源寄存器号满足第二预设条件时,标记所述第i+1源寄存器号,所述i+1为小于等于N的整数;
所述重命名模块还用于:
将标记的所述第i+1源寄存器号映射到所述寄存器堆缓存子模块中的物理寄存器的寄存器号,所述物理寄存器的寄存器号为与所述第i+1源寄存器号相等的目的寄存器号被映射到的所述寄存器堆缓存子模块中的物理寄存器的寄存器号;
所述寄存器堆缓存子模块,用于根据所述物理寄存器的寄存器号从所述物理寄存器读取第一源操作数。
6.根据权利要求5所述的数据处理装置,其特征在于,所述第二预设条件为所述第i+1源寄存器号等于第i目的寄存器号至第1目的寄存器号中的任意一个目的寄存器号,所述i+1为小于等于N的整数,或,所述第i+1源寄存器号等于所述N个源寄存器号中两个或两个以上的源寄存器号。7.根据权利要求6所述的数据处理装置,其特征在于,所述重命名模块具体用于:
当所述第i+1源寄存器号等于第i目的寄存器号时,将标记的所述第i+1源寄存器号映射到所述寄存器堆缓存子模块中的所述第一物理寄存器的寄存器号;
所述寄存器堆缓存子模块具体用于:
根据所述第一物理寄存器的寄存器号从所述第一物理寄存器读取所述第一源操作数。
8.根据权利要求6所述的数据处理装置,其特征在于,所述寄存器堆控制模块还用于:
当第i+1目的寄存器号等于第i+2源寄存器号至第N源寄存器号中至少一个源寄存器号时,标记所述第i+1目的寄存器号,所述i+2为小于等于N的整数;
所述重命名模块还用于:
将标记的所述第i+1目的寄存器号映射到所述寄存器堆缓存子模块中的第二物理寄存器的寄存器号,所述第二物理寄存器为所述寄存器堆缓存子模块中多个空闲的物理寄存器中任意一个。
9.根据权利要求8所述的数据处理装置,其特征在于,所述数据处理装置还包括执行单元Exe模块和写回WB模块,其中,所述执行单元模块,用于获取所述第一源操作数和所述第二物理寄存器的寄存器号,根据所述第一源操作数运算得到第一目的操作数;
所述写回模块,用于根据所述第二物理寄存器的寄存器号将所述第一目的操作数写回到所述第二物理寄存器。
10.根据权利要求4所述的数据处理装置,其特征在于,所述重命名模块还用于:
当所述第i目的寄存器号不等于第i+1源寄存器号至第N源寄存器号中任意一个源寄存器号时,将所述第i目的寄存器号映射到所述主寄存器堆子模块中的第三物理寄存器的寄存器号,所述第三物理寄存器为所述主寄存器堆子模块中多个空闲的物理寄存器中任意一个。
11.根据权利要求10所述的数据处理装置,其特征在于,所述重命名模块还用于:
当所述第i+1源寄存器号不等于第i目的寄存器号至第1目的寄存器号中的任意一个目的寄存器号,或,所述第i+1源寄存器号不等于所述N个源寄存器号中任意一个源寄存器号时,将所述第i+1源寄存器号映射到所述主寄存器堆子模块中的第四物理寄存器的寄存器号,所述第四物理寄存器为所述主寄存器堆子模块中多个空闲的物理寄存器中任意一个。
12.根据权利要求11所述的数据处理装置,其特征在于,所述主寄存器堆子模块,用于根据所述第四物理寄存器的寄存器号从所述第四物理寄存器读取第二源操作数。
13.根据权利要求6或12所述的数据处理装置,其特征在于,所述重命名模块还用于:
当第i+1目的寄存器号不等于第i+2源寄存器号至第N源寄存器号中任意一个源寄存器号时,将所述第i+1目的寄存器号映射到所述主寄存器堆子模块中的第五物理寄存器的寄存器号,所述第五物理寄存器为所述主寄存器堆子模块中多个空闲的物理寄存器中任意一个。
14.根据权利要求13所述的数据处理装置,其特征在于,所述数据处理装置还包括执行单元模块和写回模块,所述执行单元模块,用于获取第一源操作数和所述第五物理寄存器的寄存器号,根据所述第一源操作数运算得到第一目的操作数;
所述写回模块,用于根据所述第五物理寄存器的寄存器号将所述第一目的操作数写回到所述第五物理寄存器。
15.根据权利要求13所述的数据处理装置,其特征在于,所述数据处理装置还包括执行单该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201480000412.3/,转载请声明来源钻瓜专利网。
- 上一篇:一种天线谐振电路
- 下一篇:电容式MEMS器件微弱电容的检测装置