【技术实现步骤摘要】
【国外来华专利技术】具有精确中断和/或重写的向量指令
[0001]相关申请的交叉引用
[0002]本申请要求于2018年8月14日提交的美国临时申请62/718,426的优先权,其全部内容通过引用合并于此。
[0003]本公开涉及计算机处理器,尤其涉及支持具有精确中断和/或重写的向量指令的处理器。
技术介绍
[0004]向量处理器(也称为阵列处理器)是一种硬件处理装置(例如,中央处理单元(CPU)或图形处理单元(GPU)),其实现了包含对数据元素的向量进行操作的向量指令的指令集架构(ISA)。向量是包含有序标量数据元素的单向阵列。作为比较,标量指令对单个数据元素进行操作。与支持对单个数据元素进行操作的标量指令的标量处理器相比,向量处理器通过对包含多个数据元素的向量进行操作可以获得显著的性能改进。
附图说明
[0005]根据以下给出的详细描述以及本公开的各种实施例的附图,将更充分地理解本公开。然而,不应将附图视为将本公开限制于特定实施例,而是仅用于解释和理解。
[0006]图1示出了根据本公开的实施方式的硬件处理器。
[0007]图2示出了根据本公开的实施方式的使用缓冲寄存器的向量指令的示例性实施方式。
具体实施方式
[0008]实现为由硬件处理器执行的向量指令是对包含特定数据类型的多于一个元素的向量执行操作的指令。输入和输出数据被存储在与处理器相关联的一个或多个向量寄存器中。这些向量寄存器是存储单元,其被设计为保存向量的多个数据元素。示例性向量指令包括在x86指令集架构(I ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种处理器,包括:向量寄存器文件,包括多个向量寄存器;至少一个缓冲寄存器;以及向量处理核心,通信地连接到所述向量寄存器文件和所述至少一个缓冲寄存器,以:接收向量指令,所述向量指令包括表示所述多个向量寄存器中的第一向量寄存器的第一标识符和表示所述多个向量寄存器中的第二向量寄存器的第二标识符,其中所述第一向量寄存器是源寄存器,以及所述第二向量寄存器是目的地寄存器;基于存储在所述第一向量寄存器中的数据值执行所述向量指令以生成结果并将所述结果存储在所述至少一个缓冲寄存器中;以及响应于确定所述第二向量寄存器是安全写入的,将所述结果从所述至少一个缓冲寄存器复制到所述第二向量寄存器。2.根据权利要求1所述的处理器,其中,所述源寄存器是与所述目的地寄存器相同或不同的寄存器。3.根据权利要求1或2中任一项所述的处理器,其中,向量指令集定义了多个架构寄存器,以及其中,所述多个架构寄存器中的每一个被映射到所述多个向量寄存器中的相应的一个。4.根据权利要求1或2中任一项所述的处理器,其中,所述多个架构寄存器中的每一个被固定地映射到所述多个向量寄存器中的相应的一个,以及其中,架构寄存器与相应的向量寄存器之间的映射不在执行第二向量指令期间通过寄存器重命名更改。5.根据权利要求1或2中任一项所述的处理器,其中,所述向量指令的执行在两个阶段中进行,所述两个阶段包括生成第一结果并将所述第一结果存储在所述至少一个缓冲寄存器中的第一阶段以及将所述结果从所述至少一个缓冲寄存器复制到所述第二向量寄存器的第二阶段。6.根据权利要求1或2中任一项所述的处理器,其中,所述至少一个缓冲寄存器是与所述处理器相关联的存储器的位置、与所述向量寄存器文件分离的逻辑电路、或除所述向量寄存器文件中的所述多个向量寄存器以外的附加向量寄存器的其中之一。7.根据权利要求1或2中任一项所述的处理器,其中,确定所述第二向量寄存器是安全写入的包括确定所述向量指令的执行不遭受先读后写危害。8.根据权利要求1或2中任一项所述的处理器,其中,确定所述第二向量寄存器是安全写入的包括确定所述向量指令的执行是否引起中断,以及其中,响应于确定所述向量指令的执行不引起中断或所述处理核心在非精确中断模式下运行,所述处理核心将绕过所述至少一个缓冲寄存器而将所述结果直接写入所述第二向量寄存器。9.根据权利要求8所述的处理器,其中响应于确定所述向量指令的执行引起精确中断,所述处理核心将:基于存储在所述第一向量寄存器中的数据值执行所述向量指令以生成结果并将所述结果存储在所述至少一个缓冲寄存器中;以及将所述结果从所述至少一个缓冲寄存器复制到所述第二向量寄存器。10.根据权利要求1或2中任一项所述的处理器,其中,所述处理核心包括向量指令执行流水线,所述向量指令执行流水线包括:
指令获取电路,接收所述向量指令;指令解码电路,基于所述向量指令生成微操作;指令执行电路,基于存储在所述第一向量寄存器中的数据值执行所述向量指令以生成第一结果并将所述第一结果存储在所述至少一个缓冲寄存器中;以及指令回写电路,响应于确定所述第二向量寄存器是安全写入的,将所述结果从所述至少一个缓冲寄存器复制到所述第二向量寄存器。11.根据权利要求1或2中任一项所述的处理器,其中,所述向量指令包括:表示用作源寄存器的多于一个第一向量寄存器的多于一个第一标识符,表示用作目的地寄存器的多于一个第二向量寄存器的多于一个第二标识符,以及存储结果的多于一个缓冲寄存器,以及其中所述第一向量寄存器包括多个数据元素,以及其中所述处理核心将:基于存储在所述多于一个第一向量寄存器中的数据值执行所述向量指令,以生成包括数据元素的结果;将所述结果的数据元素的第一子集存储在所述多于一个缓冲寄存器中,并将所述结果的数据元素的第二子集存储在所述多于一个第二向量寄存器中;以及响应于确定所述多于一个第二向量寄存器是安全写入的,将所述结果的数据元素的...
【专利技术属性】
技术研发人员:玛雅,
申请(专利权)人:优创半导体科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。