CN113806285A - 一种数据处理模组、芯片和数据处理方法 - Google Patents
一种数据处理模组、芯片和数据处理方法 Download PDFInfo
- Publication number
- CN113806285A CN113806285A CN202111111132.8A CN202111111132A CN113806285A CN 113806285 A CN113806285 A CN 113806285A CN 202111111132 A CN202111111132 A CN 202111111132A CN 113806285 A CN113806285 A CN 113806285A
- Authority
- CN
- China
- Prior art keywords
- unit
- data
- output
- interface
- data stream
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 89
- 238000003672 processing method Methods 0.000 title claims abstract description 11
- 238000004364 calculation method Methods 0.000 claims abstract description 32
- 230000005540 biological transmission Effects 0.000 claims abstract description 28
- 238000000034 method Methods 0.000 claims abstract description 26
- 230000008569 process Effects 0.000 claims abstract description 21
- 238000010586 diagram Methods 0.000 description 11
- 230000009471 action Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/177—Initialisation or configuration control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7839—Architectures of general purpose stored program computers comprising a single central processing unit with memory
- G06F15/7842—Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Bus Control (AREA)
Abstract
本申请提供一种数据处理模组、芯片和数据处理方法,该数据处理模组包括互联单元、至少一个计算单元以及控制单元,计算单元与互联单元连接,控制单元与互联单元连接;其中,控制单元用于根据数据处理方案确定所需的计算单元和所需的计算单元的执行顺序,并将所需的计算单元和执行顺序发送给互联单元;其中,互联单元用于根据执行顺序生成所需的计算单元之间的数据传输路径,以利用所需的计算单元执行处理方案对接收的原始数据流进行处理以生成输出数据流,从而将输出数据流存储于内置内存,该原始数据流存储于外置内存,从而在数据搬运过程中直接处理数据,以降低功耗和数据处理时延。
Description
技术领域
本申请涉及数据流处理技术领域,具体而言,涉及一种数据处理模组、芯片和数据处理方法。
背景技术
目前的神经网络数据处理中,设计的芯片经常需要将存储在外置内存上的数据搬运到芯片的片上存储中,再在片上的计算单元进行计算。
但在神经网络的大数据流程中,上述的芯片处理数据时存在两次读写过程,即读取外置内存中的原始数据,将读取的原始数据存储在片上存储中,读取片上存储的原始数据并进行处理,将处理完成的数据存在片上存储中,由于神经网络处理的数据一般数量庞大,因此目前这样的两次读写数据的处理方式使得芯片功耗和时延高。
发明内容
本申请实施例的目的在于提供一种数据处理模组、芯片和数据处理方法,用以解决上述问题。
第一方面,本发明提供一种数据处理模组,所述数据处理模组包括:互联单元、至少一个计算单元以及控制单元,所述计算单元与所述互联单元连接,所述控制单元与所述互联单元和计算单元连接;其中,所述控制单元用于根据数据处理方案确定所需的计算单元和所需的计算单元的执行顺序,并将所需的计算单元和执行顺序发送给所述互联单元;其中,所述互联单元用于根据所述执行顺序生成所需的计算单元之间的数据传输路径,以利用所需的计算单元执行所述处理方案对接收的原始数据流进行处理以生成输出数据流,从而将输出数据流存储于内置内存,所述原始数据流存储于外置内存。
在上述设计的数据处理模组中,控制单元根据数据处理方案确定所需的计算单元和执行顺序,互联单元根据执行顺序生成所需的计算单元之间的数据传输路径,从而利用互联单元将数据处理方案所需的计算单元联系起来,进而在读取的外置内存的原始数据流之后即可利用所需的计算单元根据该数据传输路径对原始数据流依次进行处理生成数据处理方案对应的输出数据流,进而将输出数据流存储在内置内存中,从而在数据搬运过程中完成数据的计算进而存储在内置内存中,其相对于传统方案省略了将外置内存读取的原始数据流存入内置内存以及从内置内存中读取原始数据流的读写过程,进而降低了功耗并且提高了数据处理的时效性。
在第一方面的可选实施方式中,所述互联单元包括多个输入接口和多个输出接口;所述计算单元的数据输出端与所述互联单元的输入接口连接,所述计算单元的数据输入端与所述互联单元的输出接口连接;每一计算单元对应的互联单元的输入接口与其他每一计算单元对应的互联单元的输出接口连接;其中,所述互联单元用于根据所述执行顺序导通每一所需的计算单元对应的输入接口与对应所需计算单元对应的互联单元的输出接口,以生成所需的计算单元之间的数据传输路径。
在第一方面的可选实施方式中,所述互联单元包括选线器,每一计算单元对应的输入接口与其他每一计算单元对应的输出接口之间的线路通过选线器选择导通;所述互联单元,用于根据所述执行顺序控制所述选线器导通每一所需的计算单元对应的输入接口与对应所需的计算单元的输出接口之间的线路,以生成所需的计算单元之间的数据传输路径。
在第一方面的可选实施方式中,所述互联单元包括多个选线器,每一计算单元对应的输入接口与其他每一计算单元对应的输出接口之间的线路通过一个选线器选择导通;所述互联单元,用于根据所述执行顺序控制每一所需计算单元对应的选线器,以导通每一所需计算单元对应的输入接口与对应所需的计算单元的输入接口之间的线路,从而生成所需的计算单元之间的数据传输路径。
在第一方面的可选实施方式中,所述数据处理模组还包括数据流读取单元和数据流写入单元,所述数据流读取单元和数据流写入单元与所述互联单元连接;所述数据流读取单元,用于读取外置内存上的原始数据流,并将所述原始数据流传输给所述互联单元;所述数据流写入单元,用于接收所述互联单元输出的原始数据流经过处理后的输出数据流,并将输出数据流写入到内置内存中。
在第一方面的可选实施方式中,所述互联单元包括原始数据接口和原始数据选线器,所述数据流读取单元通过所述原始数据接口与所述互联单元连接,所述原始数据接口与每一输出接口连接,所述原始数据接口与每一输出接口之间的线路通过所述原始数据选线器选择导通;所述互联单元,用于控制所述原始数据选线器导通所述原始数据接口与所述执行顺序中最先执行的计算单元对应的输出接口之间的线路,以通过所述互联单元将所述原始数据传输给所述执行顺序中最先执行的计算单元。
在第一方面的可选实施方式中,所述互联单元还包括输出数据接口和输出数据选线器,所述数据流写入单元通过所述输出数据接口和所述互联单元连接,所述输出数据接口与每一输入接口连接,所述输出数据接口与每一输入接口之间的线路通过所述输出数据选线器选择导通;所述互联单元,用于控制所述输出数据选线器导通所述输出数据接口与执行顺序中最后执行的计算单元对应的输入接口,以使最后执行的计算单元计算后生成的输出数据传输给所述数据流写入单元。
在第一方面的可选实施方式中,所述输出数据接口与所述原始数据接口连接,所述输出数据接口与所述原始数据接口之间的线路通过所述原始数据选线器选择导通;所述互联单元,还用于控制所述原始数据选线器导通所述输出数据接口与所述原始数据接口之间的线路,以使原始数据流传输给所述数据流写入单元。
在第一方面的可选实施方式中,所述数据处理模组还包括寄存器,所述寄存器与所述互联单元连接,所述寄存器中存储有每一计算单元对应的输入接口信息、输出接口信息,所述数据流读取单元对应的原始数据接口信息以及所述数据流写入单元对应的输出数据接口信息。
第二方面,本发明提供一种芯片,所述芯片包括前述实施方式中任一项所述的数据处理模组。
上述设计的芯片,由于其内部包含了第一方面中的数据处理模组,因此,设计的该芯片相对于传统方案省略了将外置内存读取的原始数据流存入内置内存以及从内置内存中读取原始数据流的读写过程,进而降低了功耗并且提高了数据处理的时效性。
第三方面,本发明提供一种数据处理方法,应用于前述实施方式所述的芯片,所述方法包括:获得原始数据流,所述原始数据流存储于外置内存;根据数据处理方案确定所需的计算单元和所需的计算单元的执行顺序;根据所述执行顺序生成所需的计算单元之间的数据传输路径,以利用所需的计算单元执行所述数据处理方案对接收的原始数据流进行处理以生成输出数据流,从而将输出数据流存储于内置内存。
在上述设计的数据处理方法中,芯片根据数据处理方案确定所需的计算单元和执行顺序,根据执行顺序生成所需的计算单元之间的数据传输路径,从而将数据处理方案所需的计算单元联系起来,进而在读取的外置内存的原始数据流之后即可利用所需的计算单元根据该数据传输路径对原始数据流依次进行处理生成数据处理方案对应的输出数据流,进而将输出数据流存储在内置内存中,从而在数据搬运过程中完成数据的计算进而存储在内置内存中,其相对于传统方案省略了将外置内存读取的原始数据流存入内置内存以及从内置内存中读取原始数据流的读写过程,进而降低了功耗并且提高了数据处理的时效性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的数据处理模组的第一结构示意图;
图2为本申请实施例提供的数据处理模组的第二结构示意图;
图3为本申请实施例提供的数据处理模组的第三结构示意图;
图4为本申请实施例提供的数据处理模组的第四结构示意图;
图5为本申请实施例提供的数据处理模组的第五结构示意图;
图6为本申请实施例提供的数据处理模组的第六结构示意图;
图7为本申请实施例提供的数据处理模组的第七结构示意图;
图8为本申请实施例提供的数据处理模组的第八结构示意图;
图9为本申请实施例提供的数据处理模组的第九结构示意图;
图10为本申请实施例提供的数据处理模组的第十结构示意图;
图11为本申请实施例提供的芯片的结构示意图;
图12为本申请实施例提供的数据处理方法的流程示意图。
图标:1-芯片;2-数据处理模组;10-互联单元;20-计算单元;30-控制单元;40-数据流读取单元;50-数据流写入单元;60-寄存器。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
第一实施例
本申请实施例提供一种数据处理模组,该数据处理模组在数据搬移过程中直接对数据进行计算,如图1所示,该数据处理模组2包括互联单元10、至少一个计算单元20以及控制单元30,每一个计算单元20与互联单元10连接,控制单元30与互联单元20连接,其中,计算单元20的数量可为一个,也可以为多个,每一个计算单元20可采用配置的计算方案对接收的数据进行计算。
上述设计的数据处理模组2,控制单元30可根据数据处理方案确定所需的计算单元20和所需的计算单元20的执行顺序,其中,该数据处理方案表示对芯片外部存储的原始数据流执行的算法过程,所需的计算单元20和执行顺序表示执行该数据处理方案需要哪些计算单元20依次配合才能完成。
例如,数据处理方案可为方案A,此时控制单元30则确定所需的计算单元20分别为计算单元a、计算单元b以及计算单元c,这三个计算单元的执行顺序为首先执行计算单元a、然后执行计算单元b,最后执行计算单元c。
然后控制单元30将所需的计算单元20和执行顺序发送给互联单元10,互联单元10接收到所需的计算单元20和执行顺序之后,根据所需的计算单元20和执行顺序生成数据传输路径,从而获得在外置内存读取的原始数据流后,利用该数据传输路径使得所需的计算单元依次对数据进行处理,从而生成输出数据流,并存储于内置内存中。
例如,如图1所示,假设与互联单元10连接的计算单元20分别有计算单元a、计算单元b、计算单元c、计算单元d以及计算单元e,依照前述的举例,此时互联单元10则生成计算单元a输出的数据传输给计算单元b,计算单元b输出的数据传输给计算单元c的数据传输路径,从而在互联单元10获得原始数据流后,将原始数据流传输给计算单元a,从而依照上述生成的数据传输路径依次执行,进而获得计算单元c处理完成后生成的输出数据流,进而将输出数据流存储于内置内存,其中,该原始数据流表示从芯片外部的内存上读取的一系列原始数据。
下面对一种具体的实施场景进行介绍:
例如,如图2所示,设计的计算单元20可包括将8/10/12/14位数据转换成16bit数据的pack计算单元,将16bit数据转换成8/10/12/14位数据输出的unpack计算单元,在图像上下左右加入边框的padding计算单元,bayer格式的数据和RGB0格式数据互转的bayer2rggb计算单元,实现颜色空间转换成CCM计算单元等等。
这里需要说明的是,本方案设计的计算单元20可采用现有任一在先计算算法单元实现,其并不限于上述举例的计算单元。
控制单元30当前的数据处理方案为将读取的10bit拜尔(bayer)格式的原始图像数据转换为16bit的RGB格式的图像数据,此时控制单元30则确定所需的计算单元20为pack计算单元、bayer2rggb计算单元以及CCM计算单元,这三个计算单元的执行顺序为首先执行pack计算单元、然后执行bayer2rggb计算单元,最后执行CCM计算单元。
互联单元10接收到所需的pack计算单元、bayer2rggb计算单元以及CCM计算单元以及执行顺序后,生成数据传输路径如图3所示,其为pack计算单元输出的数据传输给bayer2rggb计算单元,bayer2rggb计算单元输出的数据传输给CCM计算单元。
假设互联单元10获得的原始数据流为10bit bayer图像数据,则控制10bit bayer图像数据传输给pack计算单元,pack计算单元对原始数据流计算生成16bit的bayer图像数据。
pack计算单元将16bit的bayer图像数据输出给bayer2rggb计算单元,bayer2rggb计算单元将bayer格式排列的图像数据重排成rggb格式的图像数据。
bayer2rggb计算单元将rggb格式的图像数据输出给CCM计算单元,CCM计算单元将rggb格式的图像数据乘上一个颜色变换矩阵,得到RGB格式的图像数据,从而得到10bit拜尔(bayer)格式的原始图像数据对应的16bit的RGB格式的图像数据,从而16bit的RGB格式的图像数据存储在内置内存中。
上述设计的数据处理模组,控制单元根据数据处理方案确定所需的计算单元和执行顺序,互联单元根据执行顺序生成所需的计算单元之间的数据传输路径,从而利用互联单元将数据处理方案所需的计算单元联系起来,进而在读取的外置内存的原始数据流之后即可利用所需的计算单元根据该数据传输路径对原始数据流依次进行处理生成数据处理方案对应的输出数据流,进而将输出数据流存储在内置内存中,从而在数据搬运过程中完成数据的计算进而存储在内置内存中,其相对于传统方案省略了将外置内存读取的原始数据流存入内置内存以及从内置内存中读取原始数据流的读写过程,进而降低了功耗并且提高了数据处理的时效性。
在本实施例的可选实施方式中,如图4所示,互联单元10包括多个输入接口和多个输出接口,每个计算单元20的数据输出端与互联单元10的一个输入接口连接,每个计算单元20的数据输入端与互联单元10的一个输出接口连接。这里需要说明的是,该输入接口和输出接口表示互联单元10内部的数据接口,输入接口用于接收计算单元20通过计算单元20的数据输出端传输的数据,输出接口用于向计算单元20的数据输入端发送数据。
另外,每个计算单元20连接的输入接口与除该计算单元以外的其他所有计算单元的输出接口均连接。这里需要说明的是,此处所指的连接仅仅只是具有实体线路上的连接,但线路的导通状态可控。例如,计算单元a对应的输入接口与计算单元b的输出接口通过数据传输线连接,但在计算单元a的输入接口到计算单元b的输出接口的线路上具有一个开关,该开关可控制线路的导通状态。
在上述设计的基础上,互联单元10可根据执行顺序导通每一所需的计算单元的输入接口与对应所需的计算单元的输出接口,从而生成所需的计算单元之间的数据传输路径。
例如,依照前述举例的计算单元基础上,如图4所示,互联单元10可包括5个输入接口和5个输出接口,其分别为输入接口1+、输出接口1-、输入接口2+、输出接口2-、输入接口3+、输出接口3-、输入接口4+、输出接口4-、输入接口5+以及输出接口5-。
其中,pack计算单元的数据输出端通过输入接口1+与互联单元10连接,pack计算单元的数据输入端通过输出接口1-与互联单元10连接。
unpack计算单元的数据输出端通过输入接口2+与互联单元10连接,unpack计算单元的数据输入端通过输出接口2-与互联单元10连接。
padding计算单元的数据输出端通过输入接口3+与互联单元10连接,padding计算单元的数据输入端通过输出接口3-与互联单元10连接。
bayer2rggb计算单元的数据输出端通过输入接口4+与互联单元10连接,bayer2rggb计算单元的数据输入端通过输出接口4-与互联单元10连接。
CCM计算单元的数据输出端通过输入接口5+与互联单元10连接,CCM计算单元的数据输入端通过输出接口5-与互联单元10连接。
并且,pack计算单元连接的输入接口1+与输出接口2-、输出接口3-、输出接口4-以及输出接口5-连接。
unpack计算单元连接的输入接口2+与输出接口1-、输出接口3-、输出接口4-以及输出接口5-连接。
padding计算单元连接的输入接口3+与输出接口1-、输出接口2-、输出接口4-以及输出接口5-连接。
bayer2rggb计算单元连接的输入接口4+与输出接口1-、输出接口2-、输出接口3-以及输出接口5-连接。
CCM计算单元连接的输入接口5+与输出接口1-、输出接口2-、输出接口3-以及输出接口4-连接。
在前述举例的执行顺序为首先执行pack计算单元、然后执行bayer2rggb计算单元,最后执行CCM计算单元基础上,互联单元10控制pack计算单元连接的输入接口1+与bayer2rggb计算单元的输出接口4-之间的线路导通,互联单元控制bayer2rggb计算单元的输入接口4+与CCM计算单元连接的输出接口5-之间的线路导通,其余线路均不导通,这样既可形成如图4所示的数据传输路径。
在上述基础上,如图5所示,当获得原始数据流之后,将原始数据流通过输出接口1-传输给pack计算单元,然后控制输入接口1+与输出接口4-之间的线路、输入接口4+与输出接口5-之间的线路导通,进而即可将pack计算单元处理完成的数据传输给bayer2rggb计算单元,并且将bayer2rggb计算单元处理完成的数据传输给CCM计算单元。
在本实施例的可选实施方式中,前述描述到互联单元10控制输入接口与输出接口之间线路导通还是断开,其具体可通过如下方式,作为一种可能的实施方式,如图6所示,该互联单元10还包括选线器G,每一计算单元的输入接口与其他每一计算单元的输出接口之间的线路均通过选线器G选择导通。
例如,前述的pack计算单元连接的输入接口1+输出接口2-、输出接口3-、输出接口4-以及输出接口5-之间的线路以及输入接口2+与输出接口1-、输出接口3-、输出接口4-以及输出接口5-之间的线路等所有线路均通过该选线器G选择导通。
依照前述的举例,选线器中的所有线路均可处于常开状态,互联单元10可通过选线器中的输入接口1+与输出接口4-之间的线路以及输入接口4+与输出接口5-之间的线路导通。
作为另一种可能的实施方式,如图7所示,该互联单元10可包括多个选线器,每一个计算单元的输入接口与其他每一计算单元的输出接口之间的线路通过对应的选线器选择导通。
例如,依照前述举例该互联单元10可包括5个选线器,其可分别为选线器H、选线器I、选线器J、选线器K以及选线器L;
pack计算单元连接的输入接口1+与输出接口2-、输出接口3-、输出接口4-以及输出接口5-之间的线路通过选线器H选择导通。
unpack计算单元连接的输入接口2+与输出接口1-、输出接口3-、输出接口4-以及输出接口5-之间的线路通过选线器I选择导通。
padding计算单元连接的输入接口3+与输出接口1-、输出接口2-、输出接口4-以及输出接口5-之间的线路通过选线器J选择导通。
bayer2rggb计算单元连接的输入接口4+与输出接口1-、输出接口2-、输出接口3-以及输出接口5-之间的线路通过选线器K选择导通。
CCM计算单元连接的输入接口5+与输出接口1-、输出接口2-、输出接口3-以及输出接口4-之间的线路通过选线器L选择导通。
在上述基础上,互联单元10在生成前述举例的数据传输路径时,每个选线器中的线路均处于常开状态,互联单元10通过选线器H控制输入接口1+与输出接口4-之间的线路闭合导通,并且通过选线器K控制输入接口4+与输出接口5-之间的线路闭合导通。
在本实施例的可选实施方式中,如图8所示,该数据处理模组还包括数据流读取单元40和数据流写入单元50,该数据流读取单元40和数据流写入单元50与互联单元10连接,该数据流读取单元40用于读取外置内存上的原始数据流,然后将该原始数据流传输给互联单元10,互联单元10使得原始数据流输入给执行顺序中最先执行的计算单元20;该数据流写入单元50用于接收互联单元10输出的原始数据流经过处理后的输出数据流,然后将该输出数据流写入到内置内存中。
作为一种可能的实施方式,如图9所示,该互联单元10还包括原始数据接口0+和原始数据选线器M,数据流读取单元40通过原始数据接口与互联单元10连接,该原始数据接口还与每一计算单元20对应的输出接口连接,原始数据接口与每一计算单元20对应的输出接口之间的线路通过原始数据选线器选择导通。
例如,原始数据接口0+与前述举例的pack计算单元的输出接口1-、unpack计算单元的输出接口2-、padding计算单元的输出接口3-、bayer2rggb计算单元的输出接口4-以及CCM计算单元的输出接口5-连接,并通过原始数据选线器M来控制这些线路的导通状态。
依照前述的具体举例场景,原始数据流需要传输给pack计算单元,那么互联单元10则通过原始数据选线器M控制原始数据接口0+到pack计算单元的输出接口1-之间的线路接通,其他的线路均断开,从而使得原始数据流传输给pack计算单元。
作为一种可能的实施方式,该互联单元10还包括输出数据接口6-和输出数据选线器N,该数据流写入单元通过输出数据接口6-和互联单元10连接,并且该输出数据接口6-与每一计算单元20的输入接口连接,输出数据接口6-与每一计算单元20对应的输入接口之间的线路通过输出数据选线器N选择导通。
例如,输出数据接口6-与前述举例的pack计算单元的输入接口1+、unpack计算单元的输入接口2+、padding计算单元的输入接口3+、bayer2rggb计算单元的输入接口4+以及CCM计算单元的输入接口5+连接,并通过输出数据选线器N来控制这些线路的导通状态。
依照前述的具体举例场景,输出数据流通过CCM计算单元输出并存储,那么互联单元10则控制数据选线器N将输出数据接口6-与CCM计算单元的输入接口5+之间的线路导通,其他的线路均断开,从而使得CCM计算单元处理完成后生成的输出数据流传输给数据流写入单元50,从而使得数据流写入单元50将得到的输出数据流写入内置内存中。
在本实施例的可选实施方式中,该输出数据接口6-还可以与原始数据接口0连接,该输出数据接口6-与原始数据接口0之间的线路通过原始数据选择器M选择导通,进而可以使得原始数据无需进行计算处理时,互联单元10可通过原始数据选择器M将输出数据接口6-与原始数据接口0的线路接通,此时,互联单元中,其他所有线路均断开,从而使得数据读取单元40读取的原始数据可直接传输给数据流写入单元50进行写入存储。
这里需要说明的是,前述介绍的均是通过选线器来对多条线路进行导通状态控制的方式,本申请方案除了利用选线器以外,还可以针对每一条线路设置一个可控开关,从而来实现,例如,针对输出数据接口6-与原始数据接口0之间得到线路,可在该线路上设置一可控开关,进而在需要闭合输出数据接口6-与原始数据接口0时,控制该可控开关闭合即可实现。
在本实施例的可选实施方式中,如图10所示,该数据处理模组还包括寄存器60,该寄存器60中存储有前述每一计算单元对应的输入接口信息、输出接口信息、数据流读取单元40对应的原始接口信息以及数据流写入单元50对应的输出数据接口信息和每个选线器的信息,互联单元10通过调用寄存器60中对应存储的信息来获得每个计算单元20、数据流读取单元40以及数据流写入单元50的接口信息,进而进行各项处理。
第二实施例
本申请提出一种芯片1,如图11所示,该芯片1包括第一实施例中任一可选实施方式的数据处理模组2,该芯片1可利用第一实施例中的数据处理模组2,在读取芯片1外存储的原始数据流后,根据数据处理方案确定所需的计算单元和所需的计算单元的执行顺序,然后利用互联单元10根据直线顺序生成所需的计算单元之间的传输路径,从而使得所需的计算单元根据该数据处理方案对原始数据流进行处理生成输出数据流,由此实现芯片直接对原始数据流进行处理得到原始数据流处理完成的输出数据流,从而将输出数据流存储在片内,进而省略原始数据处理过程中的将原始数据存储在片内,在处理时区读取片内存储的原始数据的读写过程,进而节约功耗和数据处理时延。
第三实施例
本申请提供一种数据处理方法,该数据处理方法应用于第二实施例中的芯片,如图12所示,该数据处理方法包括如下步骤:
步骤S100:获得原始数据流。
步骤S110:根据数据处理方案确定所需的计算单元和所需的计算单元的执行顺序。
步骤S120:根据执行顺序生成所需的计算单元之间的数据传输路径,以利用所需的计算单元执行数据处理方案对接收的原始数据流进行处理以生成输出数据流,从而将输出数据流存储于内置内存。
在步骤S100中,芯片通过读取外置内存上存储的一系列数据进而获得原始数据流,具体的,该芯片可通过第一实施例中的数据流读取单元来读取外置内存的原始数据流。
芯片可通过第一实施例中的控制单元来执行步骤S110,具体实现方式在第一实施例中已经进行了描述,在这里不再赘述。
芯片可通过第一实施例中的互联单元来执行步骤S120,具体实现方式在第一实施例中已经进行了描述,在这里不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
需要说明的是,功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (11)
1.一种数据处理模组,其特征在于,所述数据处理模组包括:
互联单元、至少一个计算单元以及控制单元,所述计算单元与所述互联单元连接,所述控制单元与所述互联单元连接;
其中,所述控制单元用于根据数据处理方案确定所需的计算单元和所需的计算单元的执行顺序,并将所需的计算单元和执行顺序发送给所述互联单元;
其中,所述互联单元用于根据所述执行顺序生成所需的计算单元之间的数据传输路径,以利用所需的计算单元执行所述处理方案对接收的原始数据流进行处理以生成输出数据流,从而将输出数据流存储于内置内存;以及
其中,所述原始数据流存储于外置内存。
2.根据权利要求1所述的数据处理模组,其特征在于,所述互联单元包括多个输入接口和多个输出接口;
所述计算单元的数据输出端与所述互联单元的输入接口连接,所述计算单元的数据输入端与所述互联单元的输出接口连接;
每一计算单元对应的互联单元的输入接口与其他每一计算单元对应的互联单元的输出接口连接;
其中,所述互联单元用于根据所述执行顺序导通每一所需的计算单元对应的输入接口与对应所需计算单元的输出接口,以生成所需的计算单元之间的数据传输路径。
3.根据权利要求2所述的数据处理模组,其特征在于,所述互联单元包括选线器,每一计算单元对应的输入接口与其他每一计算单元对应的输出接口之间的线路通过所述选线器选择导通;
所述互联单元,用于根据所述执行顺序控制所述选线器导通每一所需的计算单元对应的输入接口与对应所需的计算单元的输出接口之间的线路,以生成所需的计算单元之间的数据传输路径。
4.根据权利要求2所述的数据处理模组,其特征在于,所述互联单元包括多个选线器,每一计算单元对应的输入接口与其他每一计算单元对应的输出接口之间的线路通过一个选线器选择导通;
所述互联单元,用于根据所述执行顺序控制每一所需计算单元对应的选线器,以导通每一所需计算单元对应的输入接口与对应所需的计算单元的输入接口之间的线路,从而生成所需的计算单元之间的数据传输路径。
5.根据权利要求2所述的数据处理模组,其特征在于,所述数据处理模组还包括数据流读取单元和数据流写入单元,所述数据流读取单元和数据流写入单元与所述互联单元连接;
所述数据流读取单元,用于读取所述外置内存上的原始数据流,并将所述原始数据流传输给所述互联单元;
所述数据流写入单元,用于接收所述互联单元输出的原始数据流经过处理后的输出数据流,并将所述输出数据流写入到所述内置内存中。
6.根据权利要求5所述的数据处理模组,其特征在于,所述互联单元包括原始数据接口和原始数据选线器,所述数据流读取单元通过所述原始数据接口与所述互联单元连接,所述原始数据接口与每一输出接口连接,所述原始数据接口与每一输出接口之间的线路通过所述原始数据选线器选择导通;
所述互联单元,用于控制所述原始数据选线器导通所述原始数据接口与所述执行顺序中最先执行的计算单元对应的输出接口之间的线路,以通过所述互联单元将所述原始数据传输给所述执行顺序中最先执行的计算单元。
7.根据权利要求6所述的数据处理模组,其特征在于,所述互联单元还包括输出数据接口和输出数据选线器,所述数据流写入单元通过所述输出数据接口和所述互联单元连接,所述输出数据接口与每一输入接口连接,所述输出数据接口与每一输入接口之间的线路通过所述输出数据选线器选择导通;
所述互联单元,用于控制所述输出数据选线器导通所述输出数据接口与执行顺序中最后执行的计算单元对应的输入接口,以使最后执行的计算单元计算后生成的输出数据传输给所述数据流写入单元。
8.根据权利要求7所述的数据处理模组,其特征在于,所述输出数据接口与所述原始数据接口连接,所述输出数据接口与所述原始数据接口之间的线路通过所述原始数据选线器选择导通;
所述互联单元,还用于控制所述原始数据选线器导通所述输出数据接口与所述原始数据接口之间的线路,以使原始数据流传输给所述数据流写入单元。
9.根据权利要求8所述的数据处理模组,其特征在于,所述数据处理模组还包括寄存器,所述寄存器与所述互联单元连接,所述寄存器中存储有每一计算单元对应的输入接口信息、输出接口信息,所述数据流读取单元对应的原始数据接口信息以及所述数据流写入单元对应的输出数据接口信息。
10.一种芯片,其特征在于,所述芯片包括权利要求1-9中任一项所述的数据处理模组。
11.一种数据处理方法,其特征在于,应用于权利要求10所述的芯片,所述方法包括:
获得原始数据流,所述原始数据流存储于外置内存;
根据数据处理方案确定所需的计算单元和所需的计算单元的执行顺序;
根据所述执行顺序生成所需的计算单元之间的数据传输路径,以利用所需的计算单元执行所述数据处理方案对接收的原始数据流进行处理以生成输出数据流,从而将输出数据流存储于内置内存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111111132.8A CN113806285A (zh) | 2021-09-18 | 2021-09-18 | 一种数据处理模组、芯片和数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111111132.8A CN113806285A (zh) | 2021-09-18 | 2021-09-18 | 一种数据处理模组、芯片和数据处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113806285A true CN113806285A (zh) | 2021-12-17 |
Family
ID=78940106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111111132.8A Pending CN113806285A (zh) | 2021-09-18 | 2021-09-18 | 一种数据处理模组、芯片和数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113806285A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100313001A1 (en) * | 2009-06-08 | 2010-12-09 | Canon Kabushiki Kaisha | Data processing apparatus, data processing method, and computer-readable storage medium |
CN109522052A (zh) * | 2018-11-27 | 2019-03-26 | 北京中科寒武纪科技有限公司 | 一种计算装置及板卡 |
CN110597559A (zh) * | 2017-07-20 | 2019-12-20 | 上海寒武纪信息科技有限公司 | 计算装置以及计算方法 |
CN113312304A (zh) * | 2021-06-04 | 2021-08-27 | 海光信息技术股份有限公司 | 一种互联装置、主板及服务器 |
-
2021
- 2021-09-18 CN CN202111111132.8A patent/CN113806285A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100313001A1 (en) * | 2009-06-08 | 2010-12-09 | Canon Kabushiki Kaisha | Data processing apparatus, data processing method, and computer-readable storage medium |
CN110597559A (zh) * | 2017-07-20 | 2019-12-20 | 上海寒武纪信息科技有限公司 | 计算装置以及计算方法 |
CN109522052A (zh) * | 2018-11-27 | 2019-03-26 | 北京中科寒武纪科技有限公司 | 一种计算装置及板卡 |
CN113312304A (zh) * | 2021-06-04 | 2021-08-27 | 海光信息技术股份有限公司 | 一种互联装置、主板及服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110084361B (zh) | 一种运算装置和方法 | |
CN110825434B (zh) | 计算装置及计算方法 | |
EP3579152A1 (en) | Computing apparatus and related product | |
CN107391419B (zh) | 支持多主机的通用序列汇流排集线设备及车用主机 | |
CN109739786B (zh) | 一种dma控制器和异构加速系统 | |
CN103988190A (zh) | 用于通过外部显示-数据i/o端口来扩展图形处理的方法、设备及系统 | |
CN103154921A (zh) | Usb至i2c和spi桥接器 | |
CN107943756B (zh) | 一种计算方法及相关产品 | |
CN107957975B (zh) | 一种计算方法及相关产品 | |
CN107957977B (zh) | 一种计算方法及相关产品 | |
CN111338808B (zh) | 一种协同计算方法及系统 | |
CN111488976A (zh) | 神经网络计算装置、神经网络计算方法及相关产品 | |
CN113177015B (zh) | 基于帧头的串口通讯方法和串口芯片 | |
CN111488963A (zh) | 神经网络计算装置和方法 | |
CN113806285A (zh) | 一种数据处理模组、芯片和数据处理方法 | |
US10127040B2 (en) | Processor and method for executing memory access and computing instructions for host matrix operations | |
CN106548574B (zh) | Pos系统、蓝牙连接设备 | |
CN107977231B (zh) | 一种计算方法及相关产品 | |
CN108021393B (zh) | 一种计算方法及相关产品 | |
WO2023124371A1 (zh) | 数据处理装置、方法、芯片、计算机设备及存储介质 | |
CN108037908B (zh) | 一种计算方法及相关产品 | |
US10338921B2 (en) | Asynchronous instruction execution apparatus with execution modules invoking external calculation resources | |
CN111368967A (zh) | 一种神经网络计算装置和方法 | |
CN106940684B (zh) | 一种按比特写数据的方法及装置 | |
CN109583581B (zh) | 数据转换装置及相关产品 |
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 |