CN115437994A - 一种多级流水多路数据运算与存取控制系统 - Google Patents

一种多级流水多路数据运算与存取控制系统 Download PDF

Info

Publication number
CN115437994A
CN115437994A CN202211070128.6A CN202211070128A CN115437994A CN 115437994 A CN115437994 A CN 115437994A CN 202211070128 A CN202211070128 A CN 202211070128A CN 115437994 A CN115437994 A CN 115437994A
Authority
CN
China
Prior art keywords
data
access
storage
control
parallel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211070128.6A
Other languages
English (en)
Inventor
母国标
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN202211070128.6A priority Critical patent/CN115437994A/zh
Publication of CN115437994A publication Critical patent/CN115437994A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Multi Processors (AREA)

Abstract

本发明涉及一种多级流水多路数据运算与存取控制系统,包括:多级流水处理器组、基础参数配置模块、存算取参数配置模块、存算取时序控制训练单元、存算取调度控制器、CPU单元、SOC总线、并行数据搬移模块及DDR存储单元;在多路输入数据的多级流水线处理下,通过存、算、取的数据流水处理训练,由训练数据运算得到多级流水处理器组或处理器核的架构配置方案和多级流水处理的存算取时序控制方法,根据训练所得架构配置方案和流水处理控制方法工作运行完成多级流水的存算取处理;能够动态适应各类应用场景下不同的性能与客户需求,减少SOC总线与存储器单元的套数,提高流水处理存取访问效率,提高存取和计算并行度效率,简化系统设计节省成本。

Description

一种多级流水多路数据运算与存取控制系统
技术领域
本发明涉及数据处理技术领域,具体涉及一种多级流水多路数据运算与存取控制系统。
背景技术
相关技术中,现有的多核芯片数据处理技术,在实现多路输入信号的数据计算和存取时,如果要做到多路多级流水并行处理,对应芯片需要使用多套SOC总线和存储器单元,对整个芯片内部及外围系统来讲,芯片内总线互连和架构设计复杂,多套系统控制复杂,存算取处理效率不高,整个系统的功耗、面积、成本都非常高,对普通应用、中高端应用来说代价太大。
同时,当芯片做好后,当算法和软件变化后,由于处理器分配变化导致存、算、取时间和数据量产生变化,芯片控制架构无法更好适应新的变化,导致性能降低。
另外,在流水化处理的单套总线系统芯片或芯片子总线系统中,存储和读取数据量大,不同总线访问的次数多,造成总线访问冲突频繁,影响总线系统效率,芯片性能降低。
发明内容
有鉴于此,本发明的目的在于提供一种多级流水多路数据运算与存取控制系统,以解决现有技术中至少一种问题。
根据本发明实施例的第一方面,提供一种多级流水多路数据运算与存取控制系统,包括:
多级流水处理器组、基础参数配置模块、存算取参数配置模块、存算取时序控制训练单元、存算取调度控制器、CPU单元、SOC总线、并行数据搬移模块及DDR存储单元;
所述多级流水处理器组,获取待处理多路输入数据,对所述多路输入数据进行运算处理,得到运算处理结果数据;
所述基础参数配置模块,用于配置存算取参数配置模块、存算取时序控制训练单元、存算取调度控制器和并行数据搬移模块的基础参数;
所述存算取参数配置模块,与所述存算取时序控制训练单元、所述并行数据搬移模块、所述存算取调度控制器连接,用于获取所述存算取时序控制训练单元训练得到的控制参数,配置所述控制参数至所述并行数据搬移模块和所述存算取调度控制器;
所述存算取时序控制训练单元,分别与所述基础参数配置模块、所述存算取调度控制器、所述存算取参数配置模块和所述并行数据搬移模块连接,用于按照预设算法运算求解所述多级流水处理器组或处理器核的架构配置方案,及,所述多级流水处理器组或处理器核的存算取时序控制方法,输出所述架构配置方案和所述时序控制方法的参数;
所述存算取调度控制器分别与所述基础参数配置模块、所述多级流水处理器组、所述存算取参数配置模块、所述存算取时序控制训练单元、所述并行数据搬移模块、所述CPU单元连接,用于控制多级流水处理器组的存算取处理,控制所述并行数据搬移模块的并行存储和读取操作,以及输出调度控制数据至所述存算取时序控制训练单元;
所述CPU单元,用于所述SOC总线占用申请的响应和处理,控制权的分配,输出总线控制权响应信号至所述存算取调度控制器;
所述SOC总线,用于所述CPU单元、所述并行数据搬移模块、所述存储器单元的信号互连;
并行数据搬移模块,用于根据搬移控制信号和所述控制参数将所述运算处理结果数据搬移到外部存储器指定地址中,或将外部存储器指定地址中的数据搬移到多级流水处理器组缓存中。
优选的,所述存算取时序控制训练单元,从所述基础参数配置模块加载训练算法运算基础参数,获取所述存算取调度控制器的调度控制数据,获取所述并行数据搬移模块的存储控制信号和读取控制信号;
并根据训练算法运算基础参数、调度控制数据、存储控制信号和读取控制信号以及多级流水处理器组的每一路数据的运算计时值、存储计时值以及读取计时值,由预设算法运算输出存算取时序控制参数。
优选的,所述多级流水处理器组还用于根据运算处理结果向存算取调度控制器发出完毕指示信号,根据存算取调度控制器的指示信号发出请求指示信号,所述请求指示信号为数据的存储请求信号和数据的读取请求信号;
所述多级流水处理器组还用于接收存算取时序控制器的运算控制信号,并根据所述运算控制信号来进行数据的运算处理;
所述多级流水处理器组还用于接收并行数据搬移模块的请求响应信号,根据所述请求响应信号,准备数据的读写操作,所述请求响应信号为数据的读响应信号和数据的写响应信号。
优选的,所述存算取时序控制训练单元,还用于对所述待处理多路输入数据进行存算取时序控制训练,并根据训练结果数据,采用预设的算法运算得到可使各级流水运算与存取并行度最优且并行存取效率最高的架构配置方案及其配置参数,输出至所述存算取参数配置模块。
优选的,所述存算取调度控制器根据存算取参数配置模块下发的所述架构配置方案和存算取时序控制方法的参数,基础参数配置模块配置的基础参数,申请SOC总线控制权,根据CPU单元的响应信号,以控制多级流水处理器组的存算取处理,控制并行数据搬移模块的并行存储和读取操作,以及输出调度控制数据至所述存算取时序控制训练单元;
存算取调度控制器还用于训练模式下,控制多级流水处理器组按照流水线顺序逐级进行存算取处理,控制并行数据搬移模块按照流水线顺序逐级进行数据存储和读取操作,以及输出调度控制数据至所述存算取时序控制训练单元。
优选的,所述存算取时序控制训练单元与所述并行数据搬移模块连接;
用于获取所述并行数据搬移模块的存储和读取控制信号,以及获取所述存算取调度控制器的控制信号;
根据所述并行数据搬移模块的存储和读取控制信号以及所述存算取调度控制器的控制信号对所述待处理多路输入数据进行存算取训练,得到训练结果;
将所述训练结果用预设算法进行架构配置方案和存算取时序控制方法的参数运算。
本发明的实施例提供的技术方案可以包括以下有益效果:
可以理解的是,本发明涉及的一种多级流水多路数据运算与存取控制系统,包括:多级流水处理器组、基础参数配置模块、存算取参数配置模块、存算取时序控制训练单元、存算取调度控制器、CPU单元、SOC总线、并行数据搬移模块及DDR存储单元;在多路输入数据的多级流水线处理下,通过存、算、取的数据流水处理训练,由训练数据运算得到多级流水处理器组或处理器核的架构配置方案和多级流水处理的存算取时序控制方法,根据训练所得架构配置方案和流水处理控制方法工作运行完成多级流水的存算取处理;能够动态适应各类应用场景下不同的性能与客户需求,减少SOC总线与存储器单元的套数,提高流水处理存取访问效率,提高存取和计算并行度效率,简化系统设计节省成本。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种多级流水多路数据计算与存取控制系统的结构框图示意图;
图2是根据一示例性实施例示出的并行数据搬移模块结构示意图;
图3是根据一示例性实施例示出的存算取时序控制训练单元结构示意图;
图4是根据一示例性实施例示出的存算取调度控制器结构示意图;
图5是根据一示例性实施例示出的一种多级流水多路数据运算与存取控制方法步骤流程图;
图6是根据一示例性实施例示出的运算耗时比存取耗时长-运算瓶颈类型时序控制示意图;
图7是根据一示例性实施例示出的运算耗时比存取耗时短-存取瓶颈类型时序控制示意图;
图8是根据一示例性实施例示出的视频图像处理中数据存储耗时比运算耗时长-存取瓶颈类型时序控制示意图;
图9是根据一示例性实施例示出的视频图像处理中数据存储耗时比运算耗时长的本专利具体实现方式流程图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
首先,在现有技术中,以无线通信中多路输入中频信号的DSP处理为例说明:
如四通道输入,四级流水完成数字信号算法处理的架构下,每一级由一组多核DSP完成一段算法处理后,将结果数据传输到下一级流水进行下一段算法处理。
其他方案一、采用一套总线、存储器系统,将四路进行逐路轮询流水算法处理计算,通过DMA控制器按照优先级等待总线响应,完成多级流水处理器组存取数据的搬移,每一级流水DSP处理器在进行频繁的DMA控制器数据搬移时,会出现总线冲突严重,并且输出数据缓存延时非常高。
其他方案二、采用四套总线、存储器系统和四套四级流水处理多核DSP,将四路进行并行流水算法处理计算,通过DMA控制器按照优先级等待总线响应,完成多级流水处理器组存取数据的搬移,每一级流水DSP处理器在进行频繁的DMA控制器数据搬移时,也会出现总线冲突严重,并且系统复杂度高、成本功耗高。
其他方案三、采用四套总线、存储器系统和四套四级流水处理多核DSP,每套总线和存储器系统对应一级流水处理多核DSP,将四路流水算法处理计算后的结果数据并行存储到每套存储器,下一级的总线和存储器系统将四路流水处理存储的结果数据从每套存储器中读取出再分割,当数据通路太多,会导致并行数据位宽太大没有合适的存储器单元或额外使用更多存储器单元,另外,多套总线和存储器系统造成系统复杂度高、成本功耗高。
实施例一
图1是根据一示例性实施例示出的一种多级流水多路数据计算与存取控制系统的结构框图示意图,参见图1,提供一种多级流水多路数据运算与存取控制系统,包括:
A、B、……、N多级流水处理器组1、基础参数配置模块2、存算取参数配置模块3、存算取时序控制训练单元4、存算取调度控制器5、CPU单元6、SOC总线7、并行数据搬移模块8及DDR存储单元9;
所述多级流水处理器组,获取待处理多路输入数据,对所述多路输入数据进行运算处理,得到运算处理结果数据;
所述基础参数配置模块,用于配置存算取参数配置模块、存算取时序控制训练单元、存算取调度控制器和并行数据搬移模块的基础参数;
所述存算取参数配置模块,与所述存算取时序控制训练单元、所述并行数据搬移模块、所述存算取调度控制器连接,用于获取所述存算取时序控制训练单元训练得到的控制参数,配置所述控制参数至所述并行数据搬移模块和所述存算取调度控制器;
所述存算取时序控制训练单元,分别与所述基础参数配置模块、所述存算取调度控制器、所述存算取参数配置模块和所述并行数据搬移模块连接,用于按照预设算法运算求解所述多级流水处理器组或处理器核的架构配置方案,及,所述多级流水处理器组或处理器核的存算取时序控制方法,输出所述架构配置方案和所述时序控制方法的参数;
需要说明的是,存算取时序控制训练单元根据待处理多路输入信号数据运算数据个数、流水级数以及数据通路数等参数,训练计算每一级流水多个处理器组的运算处理时间,以及每一级流水结果数据到DDR存储器的存储和读取时间;按照预设算法运算得到满足输出速率要求、并行存储和读取流水级数最大化、运算和存取并行度最优的架构配置方案和存算取时序控制方法的参数,并输出到存算取参数配置模块。
所述存算取调度控制器分别与所述基础参数配置模块、所述多级流水处理器组、所述存算取参数配置模块、所述存算取时序控制训练单元、所述并行数据搬移模块、所述CPU单元连接,用于控制多级流水处理器组的存算取处理,控制所述并行数据搬移模块的并行存储和读取操作,以及输出调度控制数据至所述存算取时序控制训练单元;
需要说明的是,所述存算取调度控制器与所述CPU单元连接,用于SOC总线控制权的申请和响应;与所述存算取参数配置模块连接,用于获取输出总延时计时参数,仲裁裕量计时参数,并行存取初始通道号排列顺序参数,所述各级流水存算取时序控制参数;与所述存算取时序控制训练单元连接,用于输出时序控制和计时数据信号,供所述存算取时序控制训练单元采集数据用于预设算法的运算;与所述并行数据存取模块、所述A-N多级流水处理器组连接,用于控制运算处理后多级流水多路信号数据的并行存储及从DDR存储单元并行读取的多级流水多路信号数据的拆分获取。
所述CPU单元,用于所述SOC总线占用申请的响应和处理,控制权的分配,输出总线控制权响应信号至所述存算取调度控制器;
所述SOC总线,用于所述CPU单元、所述并行数据搬移模块、所述存储器单元的信号互连;
所述并行数据搬移模块,用于根据搬移控制信号和所述控制参数将所述运算处理结果数据搬移到外部存储器指定地址中,或将外部存储器指定地址中的数据搬移到多级流水处理器组缓存中。
需要说明的是,并行数据搬移模块每次读写操作是同时并行搬移所述A-N多级流水处理器组1的数据。
所述DDR存储单元,用于对所述SOC总线的数据进行存储和读取。
在具体实践中,图2是本申请一个实施例所提供的并行数据搬移模块结构示意图,所述并行数据搬移模块,用于根据每一级运算数据数量同时将每一级流水所述多个处理器组缓存中的结果数据搬移并行存储到外部存储器中,或从外部存储器中将运算数据读取并同时分发到多个处理器组缓存中,包括:所述并行数据搬移模块根据存算取调度控制器输入的所述SOC总线访问权响应信号;向各处理器组反馈存取响应信号,通过各写通道1-n进行数据读取或通过各读通道1-n进行数据存储操作,并将读、写控制信号发送至存算取时序控制训练单元用于操作计时的计数。
存取配置参数用于保存训练完成后的并行存取初始通道号排列顺序参数,组合序列查找表存储通道号排列顺序参数,在每次并行存储或读取操作查找对应的通道号排列参数用于本次并行数据合并与拆分;
每次并行存储操作中,每1级处理器组存储操作的内部缓存地址被映射到统一的内部地址,存储到统一的外部存储器地址,每次并行读取操作中,统一的内部地址映射到每1级处理器组内部缓存地址,存储和读取数据数量用于存储和读取数据个数的计数,存储和读取时序调节控制参数用于不同流水级的存储和读取数据偏移地址的调节。
计算完毕并行写外部存储器操作:
各处理器组计算完1路数据后,向存算取调度控制器发送运算完成指示信号,向并行数据搬移模块发送写请求信号,待并行数据搬移模块收到存算取调度控制器的SOC总线响应信号,并向各处理器组反馈写请求响应信号后,内部的并行写控制与计数单元发起数据搬移操作,从各处理器组将数据搬移至数据聚合缓冲控制单元,数据聚合缓冲控制单元根据从组合序列查找表得到的通道号排列顺序参数,完成各组处理器搬移出数据的拼接,拼接后的数据通过总线时序接口单元并行搬移至外部存储器中,直到存储数据数量参数规定的数据全部存储完为止,释放SOC总线。写地址映射模块完成内部统一地址与各处理器缓存地址的映射。
或,
各处理器组计算完1路数据后,向存算取调度控制器发送运算完成指示信号,各处理器组内部DMA控制器向并行数据搬移模块发起写请求信号,待并行数据搬移模块收到存算取调度控制器的SOC总线响应信号,并同时向各处理器组内部发起写请求信号的DMA控制器反馈写响应信号后,各组DMA控制器同时搬移各处理器缓存中的数据到并行数据搬移模块,数据聚合缓冲控制单元根据从组合序列查找表得到的通道号排列顺序参数,完成各组DMA控制器输入数据的拼接,拼接后的数据通过总线时序接口单元并行搬移至外部存储器中,直到各组DMA控制器中数据数量参数规定的数据全部写完为止,释放SOC总线。写地址映射模块完成内部统一地址与各处理器内部DMA控制器源缓存地址的映射。
上级流水存储完毕后下级流水并行读外部存储器操作:
上1级流水处理器组完成1次读取数据数量参数规定的数据存储后,进行下1级流水数据的读取操作,待并行数据搬移模块收到存算取控制器控制各处理器组发起的数据读取请求信号,且收到存算取调度控制器的SOC总线响应信号,并向各处理器反馈读请求响应信号后,并行读控制与计数单元发起数据读取操作,从统一地址的外部存储器中将数据搬移至数据分配缓冲控制单元,数据分配缓冲控制单元根据从组合序列查找表得到的通道号排列顺序参数,完成搬移出数据的拆分,拆分后的数据通过流水并行读写接口单元同时搬移各处理器组的缓存中,直到读取数据数量参数规定的数据全部读完为止,释放SOC总线。读地址映射模块完成内部统一地址与各处理器缓存地址的映射。
或,
上1级流水处理器组完成1次读取数据数量参数规定的数据的存储后,进行下1级流水数据的读取操作,待并行数据搬移模块收到存算取控制器控制各处理器组内部的DMA控制器发起的数据读取请求信号,且收到存算取调度控制器的SOC总线响应信号,并向各处理器组内部的DMA控制器反馈读请求响应信号后,并行读控制与计数单元发起数据读取操作,从统一地址的外部存储器中将数据搬移至数据分配缓冲控制单元,数据分配缓冲控制单元根据从组合序列查找表每次得到的通道号排列顺序参数,完成搬移出数据的拆分,再由各DMA控制器同时搬移至各处理器组的缓存中,直到各组DMA控制器中读取数据数量参数规定的数据全部读完为止,释放SOC总线。读地址映射模块完成内部统一地址与各处理器内部DMA控制器目的缓存地址的映射。
优选的,所述存算取时序控制训练单元,从所述基础参数配置模块加载训练算法运算基础参数,获取所述存算取调度控制器的调度控制数据,获取所述并行数据搬移模块的存储控制信号和读取控制信号;
并根据训练算法运算基础参数、调度控制数据、存储控制信号和读取控制信号以及多级流水处理器组的每一路数据的运算计时值、存储计时值以及读取计时值,由预设算法运算输出存算取时序控制参数。
优选的,所述多级流水处理器组还用于根据运算处理结果向存算取调度控制器发出完毕指示信号,根据存算取调度控制器的指示信号发出请求指示信号,所述请求指示信号为数据的存储请求信号和数据的读取请求信号;
所述多级流水处理器组还用于接收存算取时序控制器的运算控制信号,并根据所述运算控制信号来进行数据的运算处理;
所述多级流水处理器组还用于接收并行数据搬移模块的请求响应信号,根据所述请求响应信号,准备数据的读写操作,所述请求响应信号为数据的读响应信号和数据的写响应信号。
需要说明的是,多级流水处理器组在运算完毕时,发出运算完毕指示,在读取完毕时发出读取完毕指示。
优选的,所述存算取时序控制训练单元,还用于对所述待处理多路输入数据进行存算取时序控制训练,并根据训练结果数据,采用预设算法运算得到可使各级流水运算与存取并行度最优且并行存取效率最高的架构配置方案及其配置参数,输出至所述存算取参数配置模块。
需要说明的是,在训练模式下,存算取调度控制器加载基础参数配置模块输入的配置参数,基于当前架构配置方案,根据CPU单元输入的总线控制权响应有效信号,控制流水处理器组第1级单元,按照配置数据数量,通过并行数据搬移模块进行任意1路数据的读取操作,读取完毕后启动数据运算,运算完毕后启动数据存储;存储完毕后,控制流水处理器组下1级单元,通过并行数据搬移模块,重复上述读取、运算、存储操作处理,上述过程中根据每次操作的启动和完毕控制信号指示和并行数据搬移模块输入的读、写控制信号,对各级流水处理器组的读取、运算、存储操作消耗时间进行计数,待最后1级流水处理器组完成上述操作后,将全部操作时间计数值采集保存,并输出至存算取时序控制训练单元。
参见图3,在训练阶段,通过训练数据与控制信号采集将存算取调度控制器输入的训练结果数据保存,根据基础参数配置模块输入的基础参数,按照需要的输入数据数量,通过架构配置参数训练与算法运算单元进行各级流水处理数据读取、运算和存储操作的训练,根据输入输出数据处理时间约束要求,按照预设算法运算得到使各级流水运算与存取并行度最优且并行存取效率最高的架构配置方案;
通过时序控制参数训练与算法运算单元按照配置策略加载单元输入的训练策略(用户配置延时优先策略、用户配置第N级流水基准时序排列策略、默认配置策略),并采用预设算法运算所有级流水处理运算、并行存储和读取并行度最优且并行存取效率最高的时序控制参数,输出到出口条件验证运算单元;
由出口条件验证运算单元按照输入到输出的数据处理时间约束要求和各级流水处理读取、运算、存储先后顺序要求,进行出口条件约束验证符合要求后,再输出保存至配置与控制参数保存输出单元,用于存储存算取调度控制器的时序控制参数。
整体训练运算处理逻辑(可采用芯片内硬件电路实现,也可以采用CPU进行训练运算):
存算取调度控制器加载基础参数配置模块输入的配置参数,基于当前架构配置方案,根据CPU单元输入的总线控制权响应有效信号,控制流水处理器组第1级单元,按照配置数据数量,通过并行数据搬移模块进行任意1路数据的读取操作,读取完毕后启动数据运算,运算完毕后启动数据存储;存储完毕后,控制流水处理器组下1级单元,通过并行数据搬移模块,重复上述读取、运算、存储操作处理,上述过程中根据每次操作的启动和完毕控制信号指示和并行数据搬移模块输入的读、写控制信号,对各级流水处理器组的读取、运算、存储操作消耗时间进行计数,待最后1级流水处理器组完成上述操作后,将全部操作时间计数值采集保存,并输出至存算取时序控制训练单元。
架构配置参数训练与算法运算单元根据所述基础参数加载单元的基础参数,所述训练数据与控制信号采集单元输入的存算取操作时间计数值对应的时钟数训练数据,以数据输入速率运算得到的处理延时要求时钟数作为约束条件,运算得到每1级流水处理所需的运算单元数量,若所述每级运算单元数量大于基础配置参数中设定的本级运算单元数量总用量,输出告警并增大所述最大限制条件,重复上述运算训练直至运算得到新的每级运算单元数量符合基础配置参数中设定的本级运算单元数量总用量要求;
基于新的流水处理架构,时序控制参数训练与算法运算单元再重新进行一次上述各级流水处理的存算取调度控制训练,从所述存算取调度控制器采集到新的存算取操作时间计数值对应的时钟数作为训练中间数据;
根据所述训练中间数据,所述基础参数配置模块的基础参数,预设算法运算获取存算取时序控制参数的方式如下:
比较求解得到每级流水计算时钟周期计数最大值B,再计算出每级流水处理前级存取时钟计数C与本级读取时钟计数D相加的和作为存取时钟周期计数最大值A;
比较最大值A和最大值B,
若最大值A>=最大值B,以最大值A作为最大时钟周期计数基准控制参数,按照配置的算法策略,进行一路数据的各级流水处理器组并行读取、并行存储、各级流水运算的控制时序排列计算,分别得到各级流水处理器组并行读取和并行存储的时钟循环计数时序控制参数,还得到各级流水处理器组不同流水运算的时钟循环计数时序控制参数;
若最大值A<最大值B,以最大值B作为最大时钟周期计数基准控制参数,按照配置的算法策略,进行一路数据的各级流水处理器组并行读取、并行存储、各级流水运算的控制时序排列计算,分别得到各级流水处理器组并行读取和并行存储的时钟循环计数时序控制参数,还得到各级流水处理器组不同流水运算的时钟循环计数时序控制参数;
根据所述配置的算法策略,查找计算得到并行存取初始通道号排列顺序参数,采用所述存算取时序控制参数和架构配置参数,在重新进行一次存算取调度控制训练后,从所述并行数据搬移模块输入的读写控制信号,所述存算取调度控制器采集到新的存算取所需时钟循环计数,进行精确修正调整后作为训练后输出待验证时序控制参数,根据出口条件进行时序控制正确性验证;
所述出口条件,包括:
判断全部通道轮询完成一次全部流水处理所需时钟数是否<=数据块输入时钟数;判断本级流水任意通道号读取起始时刻>=上级流水对应通道号存储结束时刻;判断本级流水任意通道号计算起始时刻>=本级流水对应通道号读取结束时刻;判断本级流水任意通道号存储起始时刻>=本级流水对应通道号计算结束时刻;
根据所述统一时钟周期循环计数值和时钟周期循环计数值,按照起始通道号依次计算进行出口条件验证,判断全部通道轮询完成一次全部流水处理所需时钟数是否<=数据块输入时钟数,判断本级流水任意通道号读取起始时刻>=上级流水对应通道号存储结束时刻,判断本级流水任意通道号计算起始时刻>=本级流水对应通道号读取结束时刻,判断本级流水任意通道号存储起始时刻>=本级流水对应通道号计算结束时刻,满足出口条件则输出所述存算取时序控制参数(并行读取时钟循环计数值和并行存储时钟循环计数值参数),总延时时钟计数参数,仲裁裕量时钟计数参数,并行存取初始通道号排列顺序参数到存算取参数配置模块。
在工作模式下,
第一步,所述存算取调度控制器加载基础参数配置模块输入的配置参数,存算取参数配置模块输入的配置与调度控制参数,与CPU单元进行控制通信,根据需要完成各级流水内部架构,SOC总线,配置参数等初始化;
第二步,所述存算取调度控制器根据多级流水处理器组输出的1路数据的运算完成指示信号,且其内部的运算控制计时达到计数值信号,则向CPU单元申请SOC总线控制权,并根据多级流水处理器组的运算完成指示信号控制流水处理器组发起写请求,再根据CPU单元输入的总线控制权响应有效信号,控制所述并行数据搬移模块,响应所述并行写请求,按照直接内存访问方式,根据输入各级流水处理器组对应1路的存储数据数量,将每级流水处理器组缓存中的运算结果数据,同时搬移及并行存储到外部存储器单元指定地址中,直到存储数据数量参数规定的数据存储完毕,由并行数据搬移模块输出并行存储完毕指示信号;
第三步,根据所述并行数据搬移模块输入的并行存储完毕指示信号,且所述存算取调度控制器的存储控制计时到达计数值,则向CPU单元申请SOC总线控制权,根据CPU单元输入的总线控制权响应有效信号,控制多级流水处理器组并行发起读请求,控制所述并行数据搬移模块响应所述读请求,按照直接内存访问方式,根据输入各级流水处理器组对应1路的读取数据数量,将外部存储器单元指定地址中的数据搬移出,分配得到各级流水处理器组对应的1路数据,根据各级流水处理器组地址信息,同一时刻并行存储到各级流水处理器组的缓存中,直到读取数据数量参数规定的数据读取完毕,由并行数据搬移模块输出并行读取完毕指示信号;
第四步,根据所述每级流水处理器组输入的读取完毕指示信号,按照所述存算取调度控制器内各级流水处理器组的读取控制时钟计数器完成计数指示,控制多级流水处理器组完成各自对应1路数据的运算处理,并输出运算完成指示信号到存算取调度控制器;
按照多路输入数据流顺序轮询方式,所述存算取调度控制器重复上述第二到第四步操作。参见表1:
Figure BDA0003829652830000151
Figure BDA0003829652830000161
表1
优选的,所述存算取调度控制器根据存算取参数配置模块下发的所述架构配置方案和存算取时序控制方法的参数,基础参数配置模块配置的基础参数,申请SOC总线控制权,根据CPU单元的响应信号,以控制多级流水处理器组的存算取处理,控制并行数据搬移模块的并行存储和读取操作,以及输出调度控制数据至所述存算取时序控制训练单元;
存算取调度控制器还用于训练模式下,控制多级流水处理器组按照流水线顺序逐级进行存算取处理,控制并行数据搬移模块按照流水线顺序逐级进行数据存储和读取操作,以及输出调度控制数据至所述存算取时序控制训练单元。
参见图4,图4是本申请一个实施例中存算取调度控制器结构示意图,具体地,存算取调度控制器完成的处理流程:
控制各级流水处理的处理器组,针对多路输入数据,按照配置的轮询优先级顺序,逐路进行运算、存储和读取操作控制,其控制过程为:
根据配置的存算取时序控制方法的参数进行计时,每级处理器组缓存中一路输入数据准备完毕,则进行输入数据的运算处理,当运算完毕一路输入数据将结果数据存放到处理器缓存后,待本级处理器组缓存中的下一路数据准备完毕,本级处理器组开始进行下一路输入数据的运算处理,在本级处理器组运算的同时,如果本级处理器组缓存中的上一路结果数据准备完毕,且并行读取时序控制计时和本级流水上一路数据的运算控制计时完毕,则控制并行数据搬移模块,根据存储数据数量参数规定的数据数量,同时将每一级处理器组缓存中的上一路结果数据搬移并行存储到外部存储器指定地址中,在并行存储完毕且并行存储控制计时完毕后,控制并行数据搬移模块同时将外部存储器指定地址中上一级流水的结果数据读取出,作为下一级流水的输入数据,根据读取数据数量参数规定的数据数量,按照每一级的不同通路规定数据数量同时分发到每个下一级流水各处理器组的缓存中,直到每一级对应通路规定数量数读取完毕为止,由此重复上述进行过程;
整体处理逻辑原理如下:
基础参数加载完成来自基础参数配置模块配置的基础参数加载,配置与控制参数加载完成来自存算取时序控制训练单元配置的时序控制方法的参数(包含系统总延时参数、总线仲裁裕量时间参数、存算取通路号起始排列序号参数、并行存储时序控制参数、并行读取时序控制参数、各级流水运算时序控制参数);
根据工作模式切换进入工作模式后,工作模式控制状态机启动,如收到来自流水处理器组的第一级输入数据准备完毕指示信号或并行存储数据搬移完毕且控制计时值恢复至初始值(如零值)后,通过CPU请求与控制通信单元取得SOC总线占用权,将SOC总线占用有效指示信号输出给并行数据搬移模块,同时输出读取指示信号控制各级处理器组发起读取请求,此时启动并行读取控制计时并等待并行数据搬移模块同时从外部存储器将数据分发搬移到各处理器组的缓存中;待收到任意一级处理器组输入的读取完毕指示信号,且此级运算时序控制的计时为初始值(如零值),则输出运算指示信号控制此级处理器组启动运算处理,同时启动此级对应的运算控制计时;待并行数据搬移模块输入并行读取完毕指示信号后,且并行读取控制计时值达到并行读取时序控制参数设定值后,通过状态机将并行读取控制计时恢复至初始值(如零值);
过程中,收到任意一级处理器组输入的运算完毕指示信号,则将此级运算控制计时恢复至初始值(如零值),但内部保存此级运算完毕指示有效状态直到并行存储启动后对应此级的写请求指示信号有效时,清除此级运算完毕指示有效状态;
并行读取控制计时恢复至初始值(如零值),且每一级内部保存的运算完毕指示状态全部有效时,通过CPU请求与控制通信取得SOC总线占用权,将SOC总线占用有效指示信号输出给并行数据搬移模块,同时输出存储指示信号控制各级处理器组发起存储请求,此时启动并行存储控制计时并等待并行数据搬移模块从各处理器组的缓存中同时将数据并行搬移到外部存储器中;待并行数据搬移模块输入并行存储完毕指示信号后,且并行存储控制计时值达到并行存储时序控制参数设定值后,通过状态机将并行存储控制计时恢复至初始值(如零值);由此按照上述方式状态机进行循环运行。
在处于训练阶段时,由训练模式控制状态机依次控制并行数据搬移模块进行从前到后每一级流水的一路数据读取、处理器运算和数据存储直到最后一级首次得到输出数据,并由训练结果反馈模块将收集的每一级处理器运算计时、每一级存储计时、每一级读取计时,以及计算、存储和读取顺序,输出给存算取时序控制训练单元。
优选的,所述存算取时序控制训练单元与所述并行数据搬移模块连接;
用于获取所述并行数据搬移模块的存储和读取控制信号,以及获取所述存算取调度控制器的控制信号;
根据所述并行数据搬移模块的存储和读取控制信号以及所述存算取调度控制器的控制信号对所述待处理多路输入数据进行存算取训练,得到训练结果;
将所述训练结果用于预设算法进行架构配置方案和存算取时序控制方法的参数运算。
参见图5,图5是本申请提供了一种多级流水多路输入数据的运算与存取控制方法步骤流程图,包括:
步骤S101、获取待处理多路输入数据,对所述多路输入数据进行逐级逐路输入数据的运算、存储和读取处理,得到运算处理结果数据;
步骤S102、获取存算取时序控制训练单元训练得到的结果数据用于算法运算得到架构配置方案参数;
步骤S103、采用架构配置方案参数设定的新架构配置方案,重复步骤S101;
步骤S104、获取存算取时序控制训练单元训练得到的结果数据用于算法运算得到流水处理运算、并行存储和读取的时序控制参数,并验证参数符合出口条件;
步骤S105、获取待处理多路输入数据,根据所述时序控制参数进行运算处理控制,启动所述多路输入数据的运算处理,得到运算处理结果数据;
步骤S106、根据所述时序控制参数进行并行存储控制,将所述运算处理结果数据并行搬移到外部存储器指定地址中;
步骤S107、根据所述时序控制参数进行并行读取控制,将外部存储器指定地址中存储的结果数据并行读取到多个处理器组缓存中,用于下一次运算处理;
步骤S108、重复步骤S105到步骤S108,直到全部数据处理完毕。
可以理解为,本申请所提供的一种多级流水多路数据运算与存取控制方法
通过获取待处理多路输入数据,对所述多路输入数据进行逐级逐路输入数据的运算、存储和读取处理,得到运算处理结果数据;获取存算取时序控制训练单元训练得到的结果数据用于算法运算得到架构配置方案参数;采用架构配置方案参数设定的新架构配置方案,重复步骤S101;获取存算取时序控制训练单元训练得到的结果数据用于算法运算得到流水处理运算、并行存储和读取的时序控制参数,并验证参数符合出口条件;获取待处理多路输入数据,根据所述时序控制参数进行运算处理控制,启动所述多路输入数据的运算处理,得到运算处理结果数据;根据所述时序控制参数进行并行存储控制,将所述运算处理结果数据并行搬移到外部存储器指定地址中;根据所述时序控制参数进行并行读取控制,将外部存储器指定地址中存储的结果数据并行读取到多个处理器组缓存中,用于下一次运算处理;重复步骤S105到步骤S108,直到全部数据处理完毕。可以通过智能训练得到使各级流水运算与存取并行度最优且并行存取效率最高的架构配置方案和存算取时序控制方法,可以减少SOC总线与存储控制器及其存储介质的套数,简化设计、节省成本,以适应新的变化和客户需求。
本申请所提供的多级流水多路数据计算与存取控制系统,采用了在芯片内部新增面向多个运算处理器组的SOC总线的并行数据搬移模块,通过规律化的存储和读取控制与最大程度运算并行化相结合的存算取时序控制,将每一级进行存储处理时间同时对齐和读取处理时间同时对齐,避免同时SOC总线频繁的占用冲突,而将每次存取数据效率最大化,以最大节省SOC总线与DDR存储单元的套数。解决了多套SOC总线及存储器系统,单套总线系统内部,多个处理器单元流水线计算处理进行大量数据搬移出现的SOC总线频繁占用冲突问题,提高SOC总线访问效率。采用一套SOC总线及存储器系统,还可节省总线和存储器资源/成本。针对多路输入数据不采用每级流水都使用更多处理器并行计算每路数据,而串行轮询处理每路数据可以节省处理器资源/成本。通过芯片内的训练功能可更改控制方案,适应灵活多变的算法。
一些实施例中,一个SOC芯片内部多个处理器组(或处理单元)通过并行数据搬移模块挂接到系统SOC互连总线的架构,联合进行多级流水计算处理应用。
图6是本申请一个实施例所提供的运算耗时比存取耗时长,运算瓶颈类型时序控制示意图;
图7是本申请一个实施例所提供的运算耗时比存取耗时短,存取瓶颈类型时序控制示意图;
图8是本申请一个实施例所提供的视频信号处理中数据存储耗时比运算耗时长,存取瓶颈类型时序控制示意图。
本发明还提供了一个具体使用实施例,请参阅图9,图9是本申请一个实施例提供的输入视频信号数据具体实现方式流程图,如图9所示,
输入数据流的流水处理算法功能分级划分确定情况下,输出结果数据数量和位宽则确定,所需并行存取的DRAM位宽为6级流水数据位宽相加;
训练阶段:根据配置的输入行宏块运算数据数量,数据通路数量,流水处理级数,处理延时要求,各级处理器核/处理单元总数,算法训练策略等参数,逐级控制一路数据按照配置的每1级处理数据数量,经过第一级流水输入到最后一级流水输出逐级进行存算取处理,统计并记录每一级流水处理器组的运算处理时间,每一级流水结果数据与DRAM间的存储和读取时间,按照处理延时要求,按照处理耗时计算方法求得满足4路输入数据的各级流水处理器组所需运算处理单元数量,得到新的架构配置方案;
基于新的架构配置方案完成第3、4、5、6级流水处理采用2、5、2、4套处理器核/处理单元并行运算处理的架构初始化后,再逐级控制一路数据按照配置的每1级处理数据数量,经过第一级流水输入到最后一级流水输出逐级进行存算取处理,统计并记录每一级流水处理器组的运算处理时间,每一级流水结果数据与DRAM间的存储和读取时间,由此训练得到真实的各级处理时间数据;
按照所述训练得到真实的各级处理时间数据,根据配置的算法训练策略,采用预设算法,首先计算并分类得出其中一级流水处理的前后级存储与读取时间大于任何一级流水处理的运算时间,然后,在这类情况作为条件下,采用预设算法进行各级存算取时序控制参数运算,使运算结果满足6级流水运算与存取并行度最优且并行存取效率最高,同时,进行总演示时钟计数参数、仲裁裕量时钟计数参数、并行存取初始通道号排列顺序参数的运算,最后,将得到的存算取时序控制参数按照出口条件验证运算的约束条件进行判断,如果符合要求则将总延时时钟计数参数,仲裁裕量时钟计数参数,并行存取初始通道号排列顺序参数,存算取时序控制参数输出保存到存算取参数配置模块用于工作模式下的存算取时序控制执行。
控制执行:
进入工作模式下,当4路行宏块数量的数据按照并行存取的排列格式在DRAM中缓存好后,启动存算取调度控制。
存算取调度控制器向CPU申请并取得SOC总线占用权后,控制各级处理器组发起读取请求,并控制并行数据搬移模块响应请求,同时启动内部并行读取计时;控制并行数据搬移模块按照并行读取宏块数据数量将行宏块数据从DRAM中并行读取出,按照并行存取初始通道号排列顺序参数拆分,同时搬移到6级流水处理的输入乒乓缓存中,任意一级流水处理的数据读取完毕,则输出读取完毕指示信号到存算取调度控制器,存算取调度控制器收到任意一路读取完毕指示信号,且乒乓运算计时对应的一个计数器为初始零值,则启动此级流水的对应乒乓运算计时,并控制此级流水启动运算处理,运算处理完毕则将结果数据输出至流水处理的输出乒乓缓存中。
过程中,并行数据搬移模块输出并行读取完毕指示,且存算取调度控制器并行读取计时达到读取时序控制参数设定值后,启动并行数据存储操作;并且,过程中,一旦收到任意一级流水处理输入的运算完毕指示信号,存算取调度控制器保持此级的乒乓计数器中上一个运算控制计时值不变,等待对应乒乓顺序的并行存储指示信号后再将此计数器恢复至初始值零值,并启动并行数据存储操作;
数据组合查找表根据流水级数和数据通路数不同而不同,如当前流水级数设为M=6,通路数设为N=4,并行存取初始通道号排列顺序为3-1-3-1-3-1,则初始读取拆分给6级流水的数据对应通道号为,流水级1:通道号3,流水级2:通道号1,流水级3:通道号3,流水级4:通道号1,流水级5:通道号3,流水级6:通道号1;
第二次并行读取拆分给6级流水的数据对应通道号为,流水级1:通道号4,流水级2:通道号2,流水级3:通道号4,流水级4:通道号2,流水级5:通道号4,流水级6:通道号2;
第三次并行读取拆分给6级流水的数据对应通道号为,流水级1:通道号1,流水级2:通道号3,流水级3:通道号1,流水级4:通道号3,流水级5:通道号1,流水级6:通道号3;
第四次并行读取拆分给6级流水的数据对应通道号为,流水级1:通道号2,流水级2:通道号4,流水级3:通道号2,流水级4:通道号4,流水级5:通道号2,流水级6:通道号4;
按照读取的计数顺序,进行上述循环。
启动并行数据存储操作后,存算取调度控制器向CPU申请并取得SOC总线占用权后,控制各级处理器组发起存储请求,并控制并行数据搬移模块响应请求,同时启动内部并行读取计时;控制并行数据搬移模块按照并行存储宏块数据数量将行宏块数据从6级流水处理对应的一个输出乒乓缓存中读取出,按照并行存取初始通道号排列顺序参数从数据组合查找表得到的上一次的通道号排列,将读取的6级流水的数据拼接,并行存储到DRAM指定地址中;此时,6级流水数据并行存储的拼接对应通道号为,流水级1:通道号2,流水级2:通道号4,流水级3:通道号2,流水级4:通道号4,流水级5:通道号2,流水级6:通道号4。
并行存储操作启动后,则按照上表通道号清除流水运算处理对应一个乒乓运算计数器恢复至初始值零值;
待并行数据搬移模块输入并行存储完毕指示信号,且存算取调度控制器内部并行存储计时达到并行存储时序控制参数设定值后,则输出并行存储完毕指示信号到存算取调度控制器,启动并行读取操作;过程中,一旦收到任意一级流水处理输入的运算完毕指示信号,存算取调度控制器保持此级对应的一个乒乓计数器当前运算控制计时值不变,等待对应乒乓顺序的并行存储指示信号后再将此计数器恢复至初始值零值;
由此,重复上述运算和存取控制处理,可以实现6级流水多路连续输入数据流的处理。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

Claims (6)

1.一种多级流水多路数据运算与存取控制系统,其特征在于,包括:
多级流水处理器组、基础参数配置模块、存算取参数配置模块、存算取时序控制训练单元、存算取调度控制器、CPU单元、SOC总线、并行数据搬移模块及DDR存储单元;
所述多级流水处理器组,获取待处理多路输入数据,对所述多路输入数据进行运算处理,得到运算处理结果数据;
所述基础参数配置模块,用于配置存算取参数配置模块、存算取时序控制训练单元、存算取调度控制器和并行数据搬移模块的基础参数;
所述存算取参数配置模块,与所述存算取时序控制训练单元、所述并行数据搬移模块、所述存算取调度控制器连接,用于获取所述存算取时序控制训练单元训练得到的控制参数,配置所述控制参数至所述并行数据搬移模块和所述存算取调度控制器;
所述存算取时序控制训练单元,分别与所述基础参数配置模块、所述存算取调度控制器、所述存算取参数配置模块和所述并行数据搬移模块连接,用于按照预设算法运算求解所述多级流水处理器组或处理器核的架构配置方案,及,所述多级流水处理器组或处理器核的存算取时序控制方法,输出所述架构配置方案和所述时序控制方法的参数;
所述存算取调度控制器分别与所述基础参数配置模块、所述多级流水处理器组、所述存算取参数配置模块、所述存算取时序控制训练单元、所述并行数据搬移模块、所述CPU单元连接,用于控制多级流水处理器组的存算取处理,控制所述并行数据搬移模块的并行存储和读取操作,以及输出调度控制数据至所述存算取时序控制训练单元;
所述CPU单元,用于所述SOC总线占用申请的响应和处理,控制权的分配,输出总线控制权响应信号至所述存算取调度控制器;
所述SOC总线,用于所述CPU单元、所述并行数据搬移模块、所述存储器单元的信号互连;
并行数据搬移模块,用于根据搬移控制信号和所述控制参数将所述运算处理结果数据搬移到外部存储器指定地址中,或将外部存储器指定地址中的数据搬移到多级流水处理器组缓存中。
2.根据权利要求1所述的系统,其特征在于,所述存算取时序控制训练单元,从所述基础参数配置模块加载训练算法运算基础参数,获取所述存算取调度控制器的调度控制数据,获取所述并行数据搬移模块的存储控制信号和读取控制信号;
并根据训练算法运算基础参数、调度控制数据、存储控制信号和读取控制信号以及多级流水处理器组的每一路数据的运算计时值、存储计时值以及读取计时值,由预设算法运算输出存算取时序控制参数。
3.根据权利要求2所述的控制系统,其特征在于,
所述多级流水处理器组还用于根据运算处理结果向存算取调度控制器发出完毕指示信号,根据存算取调度控制器的指示信号发出请求指示信号,所述请求指示信号为数据的存储请求信号和数据的读取请求信号;
所述多级流水处理器组还用于接收存算取时序控制器的运算控制信号,并根据所述运算控制信号来进行数据的运算处理;
所述多级流水处理器组还用于接收并行数据搬移模块的请求响应信号,根据所述请求响应信号,准备数据的读写操作,所述请求响应信号为数据的读响应信号和数据的写响应信号。
4.根据权利要求1所述的系统,其特征在于,
所述存算取时序控制训练单元,还用于对所述待处理多路输入数据进行存算取时序控制训练,并根据训练结果数据,采用预设算法运算得到可使各级流水运算与存取并行度最优且并行存取效率最高的架构配置方案及其配置参数,输出至所述存算取参数配置模块。
5.根据权利要求1所述的系统,其特征在于,所述存算取调度控制器根据存算取参数配置模块下发的所述架构配置方案和存算取时序控制方法的参数,基础参数配置模块配置的基础参数,申请SOC总线控制权,根据CPU单元的响应信号,以控制多级流水处理器组的存算取处理,控制并行数据搬移模块的并行存储和读取操作,以及输出调度控制数据至所述存算取时序控制训练单元;
存算取调度控制器还用于训练模式下,控制多级流水处理器组按照流水线顺序逐级进行存算取处理,控制并行数据搬移模块按照流水线顺序逐级进行数据存储和读取操作,以及输出调度控制数据至所述存算取时序控制训练单元。
6.根据权利要求1或4所述的系统,其特征在于,
所述存算取时序控制训练单元与所述并行数据搬移模块连接;
用于获取所述并行数据搬移模块的存储和读取控制信号,以及获取所述存算取调度控制器的控制信号;
根据所述并行数据搬移模块的存储和读取控制信号以及所述存算取调度控制器的控制信号对所述待处理多路输入数据进行存算取训练,得到训练结果;
将所述训练结果用预设算法进行架构配置方案和存算取时序控制方法的参数运算。
CN202211070128.6A 2022-09-02 2022-09-02 一种多级流水多路数据运算与存取控制系统 Pending CN115437994A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211070128.6A CN115437994A (zh) 2022-09-02 2022-09-02 一种多级流水多路数据运算与存取控制系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211070128.6A CN115437994A (zh) 2022-09-02 2022-09-02 一种多级流水多路数据运算与存取控制系统

Publications (1)

Publication Number Publication Date
CN115437994A true CN115437994A (zh) 2022-12-06

Family

ID=84247538

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211070128.6A Pending CN115437994A (zh) 2022-09-02 2022-09-02 一种多级流水多路数据运算与存取控制系统

Country Status (1)

Country Link
CN (1) CN115437994A (zh)

Similar Documents

Publication Publication Date Title
JP7074833B2 (ja) ネットワークオンチップによるデータ処理方法及び装置
CN107590085B (zh) 一种具有多级缓存的动态可重构阵列数据通路及其控制方法
CN104699631A (zh) Gpdsp中多层次协同与共享的存储装置和访存方法
CN112799726B (zh) 数据处理装置、方法及相关产品
GB2600791A (en) Neural network processing
US20060004940A1 (en) Operation apparatus, operation apparatus control method, program and computer readable information recording medium
WO2021108356A1 (en) Tile subsystem and method for automated data flow and data processing within an integrated circuit architecture
WO2021115208A1 (zh) 神经网络处理器、芯片和电子设备
CN112905530A (zh) 片上架构、池化计算加速器阵列、单元以及控制方法
CN110991619A (zh) 神经网络处理器、芯片和电子设备
JP5158091B2 (ja) 自律または共通制御されるpeアレイを有するシステムのためのデータ転送ネットワークおよび制御装置
KR102539571B1 (ko) 네트워크 온칩 데이터 처리 방법 및 장치
KR102539572B1 (ko) 네트워크 온칩 데이터 처리 방법 및 장치
CN113869507B (zh) 一种基于脉动阵列的神经网络加速器卷积计算装置与方法
US20240054075A1 (en) Neural processing device and load/store method of neural processing device
KR102539573B1 (ko) 네트워크 온칩 데이터 처리 방법 및 장치
CN104572519A (zh) 一种用于多处理器的多端口访存控制器及其控制方法
CN115437994A (zh) 一种多级流水多路数据运算与存取控制系统
CN111078623B (zh) 片上网络处理系统和片上网络数据处理方法
CN111078624B (zh) 片上网络处理系统和片上网络数据处理方法
CN111078625B (zh) 片上网络处理系统和片上网络数据处理方法
CN110413562B (zh) 一种具有自适应功能的同步系统和方法
KR20200139256A (ko) 네트워크 온칩 데이터 처리 방법 및 장치
CN112906877A (zh) 用于执行神经网络模型的存储器架构中的数据布局有意识处理
US20230259486A1 (en) Neural processing unit synchronization systems and methods

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination