[发明专利]解码被一个或多个其它指令修改的指令有效
申请号: | 201510247606.X | 申请日: | 2015-05-15 |
公开(公告)号: | CN105183429B | 公开(公告)日: | 2019-06-11 |
发明(设计)人: | 詹姆斯·罗伯特·惠特克 | 申请(专利权)人: | 美普思技术有限责任公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 陆建萍;杨明钊 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 解码 一个 其它 指令 修改 | ||
1.一种在解码单元处对计算机程序的指令解码的方法(500),所述方法包括:
在所述解码单元处接收第一指令(502);
在所述解码单元处确定所述第一指令是否通过程序计数器的非递增变化来调用(506);
响应于确定所述第一指令通过所述程序计数器的非递增变化来调用,从取指单元请求第二指令,所述第二指令是所述计算机程序中紧靠所述第一指令的前面的指令(520);
在所述解码单元处从所述取指单元接收第二指令(522);
在所述解码单元处分析所述第二指令以确定所述第一指令是否是基本指令(522、524),基本指令是由至少一个其它指令进行修改的指令;以及
响应于确定所述第一指令是基本指令,调用异常处理代码(526)。
2.如权利要求1所述的方法(500),其中,分析所述第二指令以确定所述第一指令是否是基本指令包括分析所述第二指令以确定所述第二指令是否是前缀指令(524)。
3.如权利要求1所述的方法(500),还包括:
响应于确定所述第一指令不通过所述程序计数器的非递增变化来调用,在所述解码单元处确定所述第一指令是否是前缀指令(508);以及
响应于确定所述第一指令是前缀指令,存储所述第一指令(510)。
4.如权利要求3所述的方法(500),还包括:
响应于确定所述第一指令不是前缀指令,确定是否存在所述第一指令的至少一个存储的前缀指令(512);
响应于确定存在所述第一指令的至少一个存储的前缀指令,在所述解码单元处使用所述至少一个存储的前缀指令来修改所述第一指令(514);以及
响应于确定不存在所述第一指令的至少一个存储的前缀指令,向执行单元提供所述第一指令用于执行(518)。
5.如权利要求1到4中的任一项所述的方法(500),还包括,响应于确定所述第一指令不是基本指令且不是前缀指令,向执行单元提供所述第一指令用于执行(518)。
6.如权利要求1到4中的任一项所述的方法(500),其中,调用异常处理代码包括更新所述程序计数器以指向异常处理代码。
7.如权利要求1到4中的任一项所述的方法(500),其中,所述计算机程序存储在程序存储器中,使得基本指令和所述基本指令的每个前缀指令一起存储在程序存储器边界的同一侧上。
8.一种布置成执行计算机程序的数据处理装置(100),所述数据处理装置包括:
程序存储器(102),其配置成存储所述计算机程序,所述计算机程序包括多个指令(402、404);
程序计数器(112),其配置成识别所述程序存储器(102)中的第一指令(404);
取指单元(104),其配置成取回所述程序存储器(102)中的由所述程序计数器(112)识别的所述第一指令(404);以及
解码单元(106),其配置成:
从所述取指单元(104)接收所述第一指令(404);
确定所述第一指令(404)是否通过所述程序计数器(112)的非递增变化来调用;
响应于确定所述第一指令(404)通过所述程序计数器(112)的非递增变化来调用,从所述取指单元(104)请求第二指令(402),所述第二指令(402)是所述程序存储器(102)中紧靠所述第一指令的前面的指令;
从所述取指单元(104)接收所述第二指令(402);
分析所述第二指令(402)以确定所述第一指令(404)是否是基本指令,基本指令是由至少一个其它指令进行修改的指令;以及
响应于确定所述第一指令(404)是基本指令,调用异常处理代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于美普思技术有限责任公司,未经美普思技术有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510247606.X/1.html,转载请声明来源钻瓜专利网。