[发明专利]矢量处理器及其控制方法有效
申请号: | 201780074579.8 | 申请日: | 2017-10-23 |
公开(公告)号: | CN110050259B | 公开(公告)日: | 2023-08-11 |
发明(设计)人: | 权起奭;朴哉彦;徐东宽;尹江镇 | 申请(专利权)人: | 三星电子株式会社 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/38 |
代理公司: | 北京市柳沈律师事务所 11105 | 代理人: | 邵亚丽 |
地址: | 韩国*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 矢量 处理器 及其 控制 方法 | ||
公开了一种矢量处理器。矢量处理器包括提供给多个单指令多数据(SIMD)通道中的每一个、存储多条数据中的每一个、并且分别输出在多条数据当中的要在当前周期中使用的输入数据的多个寄存器文件;混洗单元,用于接收从多个寄存器文件输出的多条输入数据,并执行混洗使得所接收的多条输入数据分别对应于多个SIMD通道,并输出多条输入数据;以及,命令运行单元,用于通过接收从混洗单元输出的输入数据来执行并行操作。
技术领域
本公开涉及矢量处理器及其控制方法,更具体地,涉及用于利用一个指令同时处理若干值的矢量处理器及其控制方法。
背景技术
单指令多数据(Single Instruction Multiple Data,SIMD)是用于通过一个个指令处理若干数据的一类并行操作。具体地,SIMD是多个运行单元对多个数据应用相同或类似的操作并同时处理这些操作的方法。
在相关技术中,多个数据存储在矢量寄存器文件中,并且这多个数据中的要在当前周期中使用的数据被混洗(shuffle)并再次存储在矢量寄存器文件中。换句话说,除了多个数据之外,矢量寄存器文件还另外存储有对多个数据进行混洗的单独的数据,以及重复使用后的删除步骤。因此,存在功耗巨大的问题。
此外,当对多个数据执行混洗时,每个周期的混洗方法存在差异,因此需要用于在每个周期执行混洗的单独的指令。结果,存在程序代码加长的问题。
发明内容
技术问题
本公开提供了一种用于提高冗余操作的处理速度的矢量处理器及其控制方法。
技术方案
根据本公开的实施例,一种矢量处理器包括多个寄存器文件,其中,多个寄存器文件中的每一个提供给单指令多数据(SIMD)通道中的每一个,存储多个数据,并且输出多个数据当中的要在当前周期中使用的输入数据;混洗单元,用于接收从多个寄存器文件输出的多个输入数据,并且执行混洗使得接收到的多个输入数据分别对应于多个SIMD通道并输出多个输入数据;运行单元,用于接收从混洗单元输出的输入数据,并对输入数据执行并行操作。
混洗单元可以包括在多个SIMD通道中的每一个中提供的多个多路复用器,并且多个多路复用器中的每一个可以接收从多个寄存器文件输出的多个输入数据,并且输出接收到的多个输入数据当中的与提供有对应的多路复用器的通道相对应的一个输入数据。
矢量处理器还可以包括混洗控制单元,用于基于输入指令周期性地控制多个寄存器文件和混洗单元。
混洗控制单元可以将多个SIMD通道中的每一个的参考寄存器地址发送到多个寄存器文件中的每一个,并且参考寄存器地址是被存储在每个寄存器文件中的多个数据当中的在当前周期中使用的输入数据的地址。
混洗控制单元可以将关于多个输入数据的混洗信息发送到混洗单元,并且混洗信息是关于要从多个SIMD通道中的每一个输出的输入数据的信息。
混洗控制单元可以包括:用于将要在当前周期中使用的输入数据的参考寄存器地址提供给多个寄存器文件中的每一个的地址多路复用器,以及用于控制地址多路复用器的控制单元。
混洗控制单元还可以包括用于存储多个SIMD通道中的每一个的参考寄存器地址的至少一个地址寄存器,并且控制单元可以控制地址多路复用器以将从指令解码单元和至少一个地址寄存器提供的多个参考寄存器地址中的一个提供给对应的寄存器文件。
输入指令可以包括要由运行单元处理的操作的类型、操作方法以及关于水平方向上的增量和垂直方向上的增量的信息中的至少一种。
矢量处理器还可以包括标量寄存器文件,并且运行单元可以使用从标量寄存器文件输出的标量数据对从混洗单元输出的输入数据执行并行操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于三星电子株式会社,未经三星电子株式会社许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201780074579.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:可执行数据流图的差分
- 下一篇:基于用户条件或者平台条件的优化电力转变