【技术实现步骤摘要】
基于片上缓存的数据访问方法、装置及转置方法和装置
[0001]本专利技术属于数据处理
,具体涉及一种基于片上缓存的数据访问方法、装置及转置方法和装置。
技术介绍
[0002]在大规模信号处理领域中,要处理的矩阵规模较大,往往会达到几百MB的规模,需要分多个数据批次进行处理。并且信号矩阵经常要进行列向的数据处理,例如:列向FFT和列向共轭运算等。
[0003]另一方面,基于SIMD(全称为单指令多数据流)计算模式的向量处理器常被用于处理向量和矩阵类的计算任务。它通过把多个要执行相同指令操作的操作数据打包到大型寄存器里,一并进行访存和运算操作来实现较高的计算密度。然而SIMD操作在面临矩阵列向访问时,因为数据元素的非连续存放导致操作数据无法打包获取,直接降低向量处理器的运算效率。
[0004]此外,传统的矩阵转置是通过DMA按行读取放到片上缓存,然后按列存回到DDR存储器。列向存回的过程中,由于数据在DDR上不连续,DDR要激活多个访问通道降低数据传输带宽,最终成为整体处理流程的性能瓶颈。
技术实现思路
[0005]鉴于上述的分析,本专利技术旨在公开了一一种基于片上缓存的数据访问方法、装置及转置方法和装置,提升向量处理器在访存矩阵数据时获取列向数据的性能,提高矩阵转置的效率。
[0006]本专利技术公开了一种基于片上缓存的数据访问方法,包括以下步骤:
[0007]步骤S1、采用支持矩阵传输的块状结构DMA,按块状批量从DDR中读出数据块;采用行向写入模式或列向写入模式 ...
【技术保护点】
【技术特征摘要】
1.一种基于片上缓存的数据访问方法,其特征在于,包括以下步骤:步骤S1、采用支持矩阵传输的块状结构DMA,按块状批量从DDR中读出数据块;采用行向写入模式或列向写入模式将所述数据块写入到阵列式片上缓存中;在行向写入模式下,将数据块中数据逐行连续的写入到缓存中;在列向写入模式下,将数据块中数据逐行分别的写入到缓存中各对应的行中,使缓存数据与数据块保持相同的行列结构;步骤S2、对于阵列式片上缓存中缓存数据,根据向量处理器的访存请求,采用行向取出模式或列向取出模式进行并行数据取出;在行向取出模式下,向量处理器按缓存数据行向地址连续的方式顺序从缓存中取出数据后进行SIMD向量数据输出;在列向取出模式下,向量处理器按缓存数据列向地址相同并行顺序从缓存各行地址中取数进行SIMD合并后,进行SIMD向量数据输出。2.根据权利要求1所述的基于片上缓存的数据访问方法,其特征在于,所述数据访问方法包括三种数据传输模式:模式一、步骤S1采用行向写入模式,步骤S2采用行向写出模式;实现数据块的正常数据传输;模式二、步骤S1采用列向写入模式,步骤S2采用列向写出模式;实现数据块的转置数据传输;模式三、步骤S1采用列向写入模式,步骤S2采用行向写出模式;实现数据块的正常数据传输。3.根据权利要求1或2所述的基于片上缓存的数据访问方法,其特征在于,所述阵列式片上缓存的存储结构中,把存储空间进行多个行组的拆分;所述拆分后的行组数与向量处理器的SIMD合并所计算的宽度相同或成倍数关系。4.根据权利要求3所述的基于片上缓存的数据访问方法,其特征在于,所述步骤S1,具体包括:步骤S101、对块状结构DMA进行参数化配置,使DMA每次搬移的数据块大小与阵列式片上缓存的存储规模匹配;步骤S102、根据参数化配置结果,DMA自动计算出从DDR中所搬移数据块各行地址;步骤S103、根据参数化配置中传输方式标志位判断传输方式,标志位为“0”,则进入步骤S104;标志位为“1”,则进入步骤S105;步骤S104、采用行向写入模式进行正常传输;计算数据块总大小,将数据块中数据逐行连续的写入到缓存中,完成数据块写入缓存过程;步骤S105、采用列向写入模式进行转置传输;根据数据块的行数,计算出数据块每一行要写入到缓存中的行号地址,根据数据块的列数计算出每一行中各数据的行内地址;将数据块中数据逐行分别的写入到缓存中各对应的行中,使缓存数据与数据块保持相同的行列结构。5.根据权利要求4所述的基于片上缓存的数据访问方法,其特征在于,对块状结构DMA进行参数化配置包括:配置数据块起始地址Mem_Addr0,用于表示数据块左上角起始元素在DDR的存放地址;
配置数据块的连续有效长度X_Slice;其中,在转置数据传输时,X_Slice大小不能超过阵列式片上缓存中每一行容量大小;并且X_Slice大小还需小于DDR中原始数据全规模矩阵的行宽X_Full;配置数据块的行数Y_Slice;其中,在转置数据传输时,Y_Slice为阵列式片上缓存行数或者为阵列式片上缓存行数的整数倍;配置数据块写入阵列式片上缓存中的传输方式标志位;标志位为“1”时,为“转置传输”;标志位为“0”时,为“正常传输”。6.根据权利要求3所述的基于片上缓存的数据访问方法,其特征在于,所述步骤S2,具体包括:步骤S201、对于步骤S1中的参数化配置,判断出阵列式片上缓存中写入数据的写入模式,如果是行向写入模式下写入阵列式片上缓存中的数据块数据,则进入步骤S202;如果是列向写入模式下写入阵列式片上缓存中的数据块数据,则进入步骤S203;步骤S202、采用行向取出模式,向量处理器按缓存数据行向地址连续的方式顺序从缓存中取出数...
【专利技术属性】
技术研发人员:王胤燊,周良将,汪丙南,丁满来,丁赤飚,
申请(专利权)人:中国科学院空天信息创新研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。