[发明专利]一种超长指令字处理的方法和装置有效
申请号: | 200810006836.7 | 申请日: | 2008-02-02 |
公开(公告)号: | CN101470600A | 公开(公告)日: | 2009-07-01 |
发明(设计)人: | 何虎;陈震;范文奇;程由猛 | 申请(专利权)人: | 华为技术有限公司;清华大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京挺立专利事务所 | 代理人: | 皋吉甫 |
地址: | 518129广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 超长 指令 字处理 方法 装置 | ||
1.一种超长指令处理的方法,其特征在于,包括:
根据指令编码中的功能单元类型标识任意选择一个同类型的功能单元,并向所述功能单元分发所述指令编码;
将所述指令编码进行译码,获知所述功能单元所要执行的操作指令和所述功能单元所要访问的寄存器堆;
根据所述操作指令从所述寄存器堆读取数据进行操作;
当所述数据分别存放在第一寄存器堆和第二寄存器堆时,所述根据操作指令从所述寄存器堆读取数据进行操作,包括:
将所述数据在所述第一寄存器堆的部分和所述数据在所述第二寄存器堆的部分转移到全局寄存器堆;
根据所述操作指令从所述全局寄存器堆读取数据进行操作;
或
将所述数据在所述第一寄存器堆的部分转移到全局寄存器堆,将所述第一寄存器堆转移到所述全局寄存器堆的数据转移到所述第二寄存器堆,根据所述操作指令从所述第二寄存器堆读取数据进行操作;或者
将所述数据在所述第二寄存器堆的部分移动到所述全局寄存器堆,将所述第二寄存器堆转移到所述全局寄存器堆的数据转移到所述第一寄存器堆,根据所述操作指令从所述第一寄存器堆读取数据进行操作。
2.如权利要求1所述超长指令处理的方法,其特征在于,所述第一寄存器堆,第二寄存器堆和全局寄存器堆中的寄存器的数量由各自寄存器堆的端口数量决定。
3.一种超长指令处理的装置,其特征在,包括:
选择单元,用于根据指令编码中的功能单元类型标识任意选择一个同类型的功能单元;
分发单元,用于向所述选择单元选择的功能单元分发所述指令编码;
译码单元,用于对分发给所述功能单元的指令编码进行译码,获知所述功能单元所要执行的操作指令和所述功能单元所要访问的寄存器堆;
功能单元,用于根据所述译码单元的译码出的操作指令从所述译码单元译码出的所述功能单元所要访问的寄存器堆读取数据进行操作;
所述功能单元包括:
第一转移功能子单元,用于将所述数据在第一寄存器堆的部分和所述数据在第二寄存器堆的部分转移到全局寄存器堆;
第三操作功能子单元,用于根据所述译码单元译码出的操作指令从所述全局寄存器堆读取数据进行操作;
或
所述功能单元包括:
第二转移功能子单元,用于将所述数据在所述第一寄存器堆的部分转移到全局寄存器堆,将所述第一寄存器堆转移到所述全局寄存器堆的数据转移到所述第二寄存器堆;
第四操作功能子单元,用于根据所述操作指令从所述第二寄存器堆读取数据进行操作;
或
所述功能单元包括:
第三转移功能子单元,用于将所述数据在所述第二寄存器堆的部分移动到所述全局寄存器堆,将所述第二寄存器堆转移到所述全局寄存器堆的数据转移到所述第一寄存器堆;
第五操作功能子单元,用于根据所述操作指令从所述第一寄存器堆读取数据进行操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;清华大学,未经华为技术有限公司;清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810006836.7/1.html,转载请声明来源钻瓜专利网。