算术运算装置和进行算术运算的方法制造方法及图纸

技术编号:3892145 阅读:214 留言:0更新日期:2012-04-11 18:40
一种技术实现了用更少的指令种类码来执行例如SIMD浮点积和算术运算中的算术运算的各种组合。算术运算装置(1)包括设定单元(20),设定单元(20)在单个指令中的一个或多个未使用的位中设定扩展指令信息,以指示寄存器(11)和算术运算器(12b、12e)中的至少一个进行与普通处理不同的扩展处理。

【技术实现步骤摘要】

这里记载的实施例是一种在用一个或多个浮点积和算术运算 器进行的复数矩阵积和等算术运算中优选地使用的技术。
技术介绍
一般地,使用复数作为操作数的算术运算是由下式(l)来实现的。<formula>formula see original document page 5</formula>使用单个浮点积和算术运算器执行该矩阵积和运算需要执行下式 (1-1)~(1-4)这4次算^算。也就是说,如果用单个浮点积和算^算器 来实现复数矩阵积和运算,则必须向算术运算器发布4个指令。<formula>formula see original document page 5</formula>一般地,单个指令对多个数据流进行处理的单指令流多数据流(SIMD) 方案因用更少的指令高效地执行积和运算而广为人知。可用于SIMD方案 的算术运算单元包括寄存器和使用存储在该寄存器中的操作数(寄存器值) 进行相同算^算的2个浮点积和算"算器。这2个浮点积和算^算 器分别称作普通浮点积和算术运算器(普通算^算器)和扩展浮点积和算^算器(扩展算^:算器)。将与寄存器的前半区域中的指定寄存器编号关联的寄存器值输入到普通运算器中以用作供算术运算用的^Mt数,而将与寄存器的后半区域中的指定寄存器编号关联的寄存器值输入到扩展运算器中以用作供算" 算用的操作数。此处,寄存器的后半区域中的指定寄存器编号是寄存器的 前半区域中的指定寄存器编号与预定偏移之和。假设寄存器编号数目是128,则偏移设定为64。对于这种构造,单个指令分配对要从寄存器输出至普通算术运算器的 寄存器值进行指定的寄存器编号,还可分配对要从寄存器输出至扩展算术运算器的寄存器值进行指定的寄存器编号。也就是说,单个指令可指示2 个算术运算器执行算术运算,因此,用2个指令可实现以往需要4个指令 的算术运算,从而使吞吐量加倍。〔专利文献1 〕日本特开2003-16051号4^才艮然而,由上式(l-l) ~ (l-4)这4次算^J逸算(即4个指令)执行的复数矩 阵积和运算不能依照2个指令而用无修改的SIMD方案来实现,这是由于 以下的原因普通算^逸算器使用寄存器的前半区域、且扩展算术运算器 使用寄存器的后半区域这一对寄存器的限制;以及普通算术运算器和扩展 算术运算器进行相同算术运算这一对算术运算的限制。
技术实现思路
这里的实施例的目的是用更少的指令种类码来实现例如SIMD浮点 积和算^J逸算中的算&逸算的各种组合。除了上述目的以外,本实施例的另一目的是提供从本专利技术的最佳实施 方式得到的、未由传统技术实现的优点。根据本实施例的一个方面,提供了一种算錄算装置,包括寄存器, 所述寄存器存储要用于算术运算的操作数; 一个或多个算术运算器,所述 一个或多个算术运算器响应于对要从该寄存器读取的操作数和要由该算 术运算器进行的一个或多个算^算进行指定并具有多个位的第一指令、 使用由该第一指令指定的操作数来进行由该笫一指令指定的算^逸算;以 及设定单元,所述设定单元在该第一指令中未用于普通处理的一个或多个 未使用的位中设定扩展指令信息,该扩展指令信息指示该寄存器和该算术 运算器中的至少 一个根据该第 一指令执行与普通处理不同的扩展处理。根据本实施例的另一方面,提供了一种在算术运算装置中进行算^M1 算的方法,所述算术运算装置包括寄存器,所述寄存器存储要用于算术 运算的操作数;以及一个或多个算术运算器,所述一个或多个算术运算器 使用从该寄存器读取的操作数来进行算术运算,所述方法包括在该算术 运算器处响应于对要从该寄存器读取的操作数和要由该算术运算器进行 的一个或多个算术运算进行指定并具有多个位的第一指令、使用由该第一 指令指定的操作数来进行由该第一指令指定的算W算;以及在该第一指令中未用于普通处理的一个或多个未使用的位中设定扩展指令信息,该扩 展指令信息指示该寄存器和该算术运算器中的至少一个根据该第一指令 执行与普通处理不同的扩展处理。所^Hf的算术运算装置和算术运算的方法可通过使用一个或多个未 使用的位来指示寄存器和运算器执行与普通处理不同的扩展处理。因此, 可由更少的指令种类码来实现例如SIMD浮点积和的算^i逸算的各种组 合。因此,由2个指令可实现例如以往需要4个指令的复数矩阵乘积运算 等的复杂算术运算,从而可以使吞吐量加倍。本专利技术(实施例)的更多目的和优点部分地在下面的说明中阐明,部分 地从说明中显而易见,或者可通过实践本专利技术而习知。将借助在所附权利 要求书中特别指出的要素和组合来实现和获得本专利技术的目的和优点。应当理解,前面的一般性说明和下面的详细说明仅是示例性和解释性 的,而不对所要求的本专利技术构成限制。附图说明将基于以下附图来详细说明本专利技术的诸示例实施例,在附图中图l是示意性地示出了第一实施例的算术运算装置的框图2是示出在根据第一实施例的算^算装置中进行的一连串基本 工序步骤的流程图3是简要地示出了由图1的算术运算装置中包含的算术运算单元在 非SIMD模式下进行的操作的图4是示出了由图1的算^逸算装置中包含的指令码发布单元和生成 单元在非SIMD模式下进行的操作的图5A ~ 5D是示出了由图1的算^il算装置在非SIMD模式下使用的 指令码、算术码、寄存器记录信号和寄存器编号分配(仅最高有效位)的表格;图6是筒要地示出了由图1的算术运算装置中包含的算术运算单元在 SIMD模式下进4亍的IMt的图7是示出了由图1的算术运算装置中包含的指令码发布单元和生成 单元在SIMD模式下进行的操作的图;图8A ~ 8D是示出了由图1的算絲算装置在SIMD模式下使用的指 令码、算术码、寄存器记录信号和寄存器编号分配(仅最高有效位)的表格;图9是简要地示出了由图1的算术运算装置的算术运算单元在将未使 用的位^使用的第 一模式下进行的操作的图IO是简要地示出了由图1的算^逸算装置的指令码发布单元(设定 单元)和生成单元在将未使用的位投入使用的第一模式下进行的操作的图11A ~ UD是示出了由图l的算^:算装置在将未使用的位^使 用的第一模式下使用的指令码、算术码、寄存器记录信号和寄存器编号分 配(仅最高有效位)的表格;图12~15是各自示出了由图1的算W算装置的算^:算单元在将 未使用的位^v使用的第一模式下进行的算^逸算的组合的图16和17是各自示出了由图l的算术运算装置的算术运算单元在将 未使用的位^使用的第二模式下进行的算^i逸算的组合的图18A ~ 18D是示出了由图1的算^:算装置在将未使用的位^7v使用的第二模式下使用的指令码、算术码、寄存器记录信号和寄存器编号分配(仅最高有效位)的表格;图19和20是各自简要地示出了由图1的算术运算装置的算术运算单 元在将未使用的位^vf吏用的笫三才莫式下进行的^作的图21是简要地示出了由图1的算术运算装置的指令码发布单元(设定 单元)和生成单元在将未使用的位投入使用的第三模式下进行的操作的图22A ~ 22D是示出了由图1的算^逸算装置在将未使用的位^V(吏 用的第三模式下使用的指令码、算术码、寄存器记录信号和寄存器编号分 配(仅最高有效位)的表格;图23和24是各自示出了由图1的算^算装置的算^算本文档来自技高网
...

【技术保护点】
一种算术运算装置,包括: 寄存器(11),所述寄存器(11)存储要用于算术运算的操作数; 一个或多个算术运算器(12b、12e),所述算术运算器(12b、12e)响应于对要从所述寄存器(11)读取的操作数和要由所述算术运算器(1 2b、12e)进行的一个或多个所述算术运算进行指定并具有多个位的第一指令、使用由所述第一指令指定的操作数来进行由所述第一指令指定的算术运算;以及 设定单元(20),所述设定单元(20)在所述第一指令中未用于普通处理的一个或多个未使用的 位中设定扩展指令信息,所述扩展指令信息指示所述寄存器(11)和所述算术运算器(12b、12e)中的至少一个根据所述第一指令执行与所述普通处理不同的扩展处理。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:伊藤成记
申请(专利权)人:富士通株式会社
类型:发明
国别省市:JP[日本]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利