[发明专利]具有可重构指令集的硬件加速器在审
申请号: | 202080082790.6 | 申请日: | 2020-12-03 |
公开(公告)号: | CN114761920A | 公开(公告)日: | 2022-07-15 |
发明(设计)人: | R·戴尔蒙特 | 申请(专利权)人: | 亚马逊技术股份有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 钱慰民;周全 |
地址: | 美国华*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 具有 可重构 指令 硬件 加速器 | ||
1.一种硬件加速器,其包括:
指令解码器;
指令模式映射表;
硬件执行引擎;以及
控制器,所述控制器被配置成:
接收指令;
使用所述指令解码器从所述指令中提取操作码;
从所述指令模式映射表中并且基于所述操作码获得所述指令的指令模式;并且
将所述指令和所述指令模式转发到所述硬件执行引擎以使所述硬件执行引擎能够从所述指令中提取操作数并且基于所述操作数执行所述指令。
2.根据权利要求1所述的硬件加速器,其中所述硬件指令解码器可基于操作码编程文件进行编程,以从所述指令的单个字节或从所述指令的多个字节中提取所述操作码的位;
其中所述操作码编程文件指定所述操作码的所述位在所述指令中的位置和大小。
3.根据权利要求2所述的硬件加速器,其中所述操作码编程文件指定所述操作码的多个位集在所述指令的多个字节中的位置和大小;并且
其中所述硬件指令解码器基于所述操作码编程文件进行编程以从所述指令的所述多个字节中提取所述操作码的所述多个位集,并且组合所述多个位集以提取所述操作码。
4.根据权利要求1到3中任一项所述的硬件加速器,其中所述指令模式映射表可基于指定操作数在所述指令中的位位置和位偏移的指令模式编程文件进行编程。
5.根据权利要求4所述的硬件加速器,其中所述指令模式映射表可在由所述硬件执行引擎执行包括第一指令和第二指令的指令文件期间进行编程;
其中所述指令模式映射表基于第一指令模式编程文件进行编程以将所述第一指令的第一指令模式提供到所述硬件执行引擎;并且
其中所述指令模式映射表基于第二指令模式编程文件进行编程以将所述第二指令的第二指令模式提供到所述硬件执行引擎。
6.根据权利要求1到5中任一项所述的硬件加速器,其中所述指令模式映射表是使用内容可寻址存储器(CAM)实施的,所述CAM将所述操作码映射到所述CAM中的多个指令模式的地址,并且使得能够基于所述操作码从所述CAM中检索所述指令模式。
7.根据权利要求1到6中任一项所述的硬件加速器,
其中所述操作数是第一操作数;
其中所述硬件加速器进一步包括存储器存取电路;并且
其中所述控制器被配置成:
从所述指令模式映射表中并且基于所述操作码获得所述第一操作数的第一定义和第二操作数的第二定义;并且
将所述指令和所述第二定义转发到所述存储器存取电路以控制所述存储器存取电路从所述指令中提取所述第二操作数,并且基于所述第二操作数进行存储器存取操作,以支持由所述硬件执行引擎对所述指令的所述执行。
8.根据权利要求7所述的硬件加速器,其进一步包括片上存储器;
其中所述硬件执行引擎包括脉动阵列;
其中所述操作码控制所述脉动阵列进行计算以生成中间输出;并且
其中所述存储器存取操作将输入数据元素和权重元素从所述片上存储器获取到所述脉动阵列以进行所述计算。
9.根据权利要求8所述的硬件加速器,其中所述指令是第一指令;
其中所述硬件加速器进一步包括后处理引擎;
其中所述控制器被配置成:
接收第二指令;
使用所述指令解码器从所述第二指令中提取第二操作码;
从所述指令模式映射表中并且基于所述第二操作码获得第三操作数的第三定义和第四操作数的第四定义;
将所述第二指令和所述第三定义转发到所述后处理引擎以使所述后处理引擎能够从所述第二指令中提取所述第三操作数,并且基于所述第三操作数对所述脉动阵列的所述中间输出进行后处理操作以生成输出;并且
将所述第二指令和所述第四定义转发到所述存储器存取电路以将所述输出存储在所述片上存储器处。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于亚马逊技术股份有限公司,未经亚马逊技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202080082790.6/1.html,转载请声明来源钻瓜专利网。