[发明专利]用于可变长度整数译码的指令集在审
| 申请号: | 201780057071.7 | 申请日: | 2017-08-15 |
| 公开(公告)号: | CN109716291A | 公开(公告)日: | 2019-05-03 |
| 发明(设计)人: | J·D·吉尔福德;V·戈帕尔 | 申请(专利权)人: | 英特尔公司 |
| 主分类号: | G06F9/30 | 分类号: | G06F9/30 |
| 代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 黄嵩泉;钱慰民 |
| 地址: | 美国加利*** | 国省代码: | 美国;US |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 解码 解码指令 指令集 可变 指令 编码指令 长度整数 尺寸指令 单个指令 译码 处理器架构 方法和装置 指令集架构 八位位组 尺寸编码 长度量 架构 关联 | ||
1.一种处理器,包括:
电路和逻辑中的至少一者,被配置成用于实现指令的集合,所述指令的集合是用于所述处理器的指令集架构(ISA)的部分,所述指令的集合与对可变长度整数(varint)进行编码和解码有关,所述指令的集合包括,
varint尺寸编码指令,用于对varint的尺寸进行编码;
varint编码指令,用于对varint进行编码;
varint尺寸解码指令,用于对经编码的varint的尺寸进行解码;以及
varint解码指令,用于对经编码的varint进行解码。
2.如权利要求1所述的处理器,其中,所述varint尺寸编码指令包括:
将指令标识为varint尺寸编码指令的操作码;
标识在其中存储varint的源寄存器的源操作数;以及
标识将在其中写入所述varint尺寸编码指令的结果的目的地寄存器的目的地操作数。
3.如权利要求1或2所述的处理器,其中,所述varint编码指令包括:
将指令标识为varint编码指令的操作码;
包括目的地指针(dstptr)的第一操作数;
包括在其中存储源varint的64个位或128个位中的一者的源寄存器的第二操作数;以及
包括在其中存储所述varint的尺寸的寄存器的第三操作数。
4.如前述权利要求中任一项所述的处理器,其中,所述varint编码指令在被执行时执行包括以下各项的操作:
将varint转换为包括一个或多个可变长度量(VLQ)八位位组的VLQ编码。
5.如前述权利要求中任一项所述的处理器,其中,所述ISA包括并行位转储(PDEP)指令,并且所述varint编码指令在被执行时采用至少一个PDEP指令,每个PDEP指令包括与所述varint的原始或经位移位的部分对应的源操作数、以及包括具有0x7f7f7f7f...模式的掩码的第二操作数。
6.如前述权利要求中任一项所述的处理器,其中,所述varint尺寸解码指令包括:
将指令标识为varint尺寸解码指令的操作码;
标识将在其中写入所述varint尺寸解码指令的结果的目的地寄存器的目的地操作数;以及
指向将由所述varint尺寸解码指令进行解码的经编码的varint的位置的源指针。
7.如权利要求6所述的处理器,其中,所述varint编码指令在被执行时执行包括以下各项的操作:
开始于经编码的varint的第一个字节,对一个或多个顺序字节中的每个顺序字节求值,直到确定正在被求值的字节的最高有效位是‘0’;以及
将所述varint的以字节为单位的尺寸存储在目的地寄存器中,所述尺寸等于被求值的字节的数量。
8.如前述权利要求中任一项所述的处理器,其中,所述varint解码指令包括:
将指令标识为varint解码指令的操作码;
包括在其处写入所述varint解码指令的结果的目的地的第一操作数;
指向将由所述varint解码指令进行解码的经编码的varint的位置的源指针;以及
标识在其中存储所述varint的尺寸的寄存器的第三操作数。
9.如前述权利要求中任一项所述的处理器,其中,所述处理器采用基于Arm的微架构。
10.如前述权利要求中任一项所述的处理器,其中,所述处理器采用基于x86的微架构。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201780057071.7/1.html,转载请声明来源钻瓜专利网。





