用于处理数据的方法和装置制造方法及图纸

技术编号:23399623 阅读:33 留言:0更新日期:2020-02-22 11:56
本申请实施例公开了用于处理数据的方法和装置。该方法的一具体实施方式包括:读取第一单指令流多数据流指令。对第一单指令流多数据流指令译码,得到源操作数在存储器中的第一源地址和目的操作数在存储器中的第一目的地址。根据第一源地址从存储器中读取源操作数。根据源操作数计算得到执行结果;根据第一目的地址将执行结果写回存储器中。该实施方式可以在单指令流多数据流指令时不需要使用向量寄存器,而是将处理器中的存储器部分复用为向量寄存器,从而节省了不必要的面积开销。

Methods and devices for processing data

【技术实现步骤摘要】
用于处理数据的方法和装置
本申请实施例涉及计算机
,具体涉及用于处理数据的方法和装置。
技术介绍
在通用处理器或者是针对一些有计算密集型特点的例如深度学习领域的处理器中,为了提高计算性能,往往通过增加SIMD(SingleInstructionMultipleData,单指令多数据流)指令来实现多路并行计算。在SIMD指令中,只需要译码一条指令,就可以并行读取多个源操作数,并行完成多个计算。SIMD已经被广泛应用于通用处理器以及一些其它计算密集型处理器中。SIMD指令的存在大大提高的并行数据并行计算能力,但是需要使用额外的向量寄存器来满足并行计算对数据访存更高的要求,普通的标量寄存器已经无法提供与SIMD指令相匹配的数据访问效率。如果想要获得更加灵活高效的SIMD指令计算效率,需要比较大容量的向量寄存器,这将会对资源和面积提出更高的需求。
技术实现思路
本申请实施例提出了用于处理数据的方法和装置。第一方面,本申请实施例提供了一种用于处理数据的方法,包括:读取第一单指令流多数据流指令;对第一单指令流多数据本文档来自技高网...

【技术保护点】
1.一种用于处理数据的方法,包括:/n读取第一单指令流多数据流指令;/n对所述第一单指令流多数据流指令译码,得到源操作数在存储器中的第一源地址和目的操作数在所述存储器中的第一目的地址;/n根据所述第一源地址从所述存储器中读取所述源操作数;/n根据所述源操作数计算得到执行结果;/n根据所述第一目的地址将所述执行结果写回所述存储器中。/n

【技术特征摘要】
1.一种用于处理数据的方法,包括:
读取第一单指令流多数据流指令;
对所述第一单指令流多数据流指令译码,得到源操作数在存储器中的第一源地址和目的操作数在所述存储器中的第一目的地址;
根据所述第一源地址从所述存储器中读取所述源操作数;
根据所述源操作数计算得到执行结果;
根据所述第一目的地址将所述执行结果写回所述存储器中。


2.根据权利要求1所述的方法,其中,所述方法还包括:
响应于读取到第二单指令流多数据流指令或装载指令,对所述第二单指令流多数据流指令或所述装载指令译码,得到第二源操作数在所述存储器中的第二源地址;
确定预先生成的写后读表中是否存在所述第二源地址,其中,所述写后读表用于记录正在执行过程中的、未将执行结果写回到所述存储器中的单指令流多数据流指令或存储指令的目的操作数在所述存储器中的地址;
若所述写后读表中存在所述第二源地址,则暂停所述第二单指令流多数据流指令或所述装载指令的流水线。


3.根据权利要求2所述的方法,其中,所述方法还包括:
响应于读取到所述第二单指令流多数据流指令或存储指令,对所述第二单指令流多数据流指令或所述存储指令译码,得到第二目的操作数在所述存储器中的第二目的地址;
确定预先生成的读后写表中是否存在所述第二目的地址,其中,所述读后写表用于记录正在执行过程中的、未从所述存储器中读取出源操作数的单指令流多数据流指令或装载指令的源操作数在所述存储器中的地址;
若所述读后写表中存在所述第二目的地址,则暂停所述第二单指令流多数据流指令或所述存储指令的流水线。


4.根据权利要求3所述的方法,其中,所述方法还包括:
响应于检测到所述写后读表中不存在所述第二源地址并且所述读后写表中不存在所述第二目的地址,结束所述第二单指令流多数据流指令或所述第二存储指令的流水线的暂停。


5.根据权利要求2所述的方法,其中,所述写后读表包括标志位和存储器写回地址;以及
所述写后读表通过以下步骤生成:
在对所述第一单指令流多数据流指令或存储指令译码后得到源操作数在存储器中的第一源地址和目的操作数在所述存储器中的第一目的地址之后,累加第一计数器,其中,所述第一计数器用于索引所述写后读表中的表格位置对应的存储器写回地址;
将所述第一计数器索引到的所述写后读表中的表格位置对应的存储器写回地址替换为所述第一目的地址,以及将所述索引到的所述写后读表中的表格位置对应的标志位设置为有效。


6.根据权利要求5所述的方法,其中,所述写后读表通过以下步骤生成:
响应于检测到所述第一单指令流多数据流指令或所述存储指令的执行结果写回到所述存储器中,累加第二计数器,其中,所述第二计数器用于索引所述写后读表中的表格位置对应的标志位;
将所述第二计数器索引到所述写后读表中的表格位置中的标志位设置为无效。


7.根据权利要求3所述的方法,其中,所述读后写表包括标志位和存储器读出地址;以及
所述读后写表通过以下步骤生成:
在对所述第一单指令流多数据流指令或第一装载指令译码后得到源操作数在存储器中的第一源地址和目的操作数在所述存储器中的第一目的地址之后,累加第三计数器,其中,所述第三计数器用于索引所述读后写表中的表格位置对应的存储器读出地址;
将所述第三计数器索引到的所述读后写表中的表格位置对应的存储器读出地址替换为所述第一源地址,以及将所述索引到的所述读后写表中的表格位置对应的标志位设置为有效。


8.根据权利要求7所述的方法,其中,所述读后写表通过以下步骤生成:
响应于检测到从所述存储器中根据所述第一源地址读取所述第一单指令流多数据流指令或所述第一装载指令的源操作数,累加第四计数器,其中,所述第四计数器用于索引所述读后写表中的表格位置对应的标志位;
将所述第四计数器索引到所述读后写表中的表格位置中的标志位设置为无效。


9.一种用于处理数据的装置,包括:
取指单元,被配置成读取第一单指令流多数据流指令;
译码单元,被配置成对所述第一单指令流多数据流指令译码,得到源操作数在存储器中的第一源地址和目的操作数在所述存储器中的第一目的地址;
读取单元,被配置成根据所述第一源...

【专利技术属性】
技术研发人员:李慧敏欧阳剑
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

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

1