CN112051981B - 一种数据流水线计算路径结构及单线程数据流水线系统 - Google Patents

一种数据流水线计算路径结构及单线程数据流水线系统 Download PDF

Info

Publication number
CN112051981B
CN112051981B CN202010969599.5A CN202010969599A CN112051981B CN 112051981 B CN112051981 B CN 112051981B CN 202010969599 A CN202010969599 A CN 202010969599A CN 112051981 B CN112051981 B CN 112051981B
Authority
CN
China
Prior art keywords
data
parameter
accumulation unit
multiplication accumulation
tree
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.)
Active
Application number
CN202010969599.5A
Other languages
English (en)
Other versions
CN112051981A (zh
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.)
Xiamen Yipu Intelligent Technology Co ltd
Original Assignee
Xiamen Yipu Intelligent Technology Co ltd
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 Xiamen Yipu Intelligent Technology Co ltd filed Critical Xiamen Yipu Intelligent Technology Co ltd
Priority to CN202010969599.5A priority Critical patent/CN112051981B/zh
Publication of CN112051981A publication Critical patent/CN112051981A/zh
Application granted granted Critical
Publication of CN112051981B publication Critical patent/CN112051981B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Advance Control (AREA)

Abstract

本发明涉及人工智能技术领域,更具体地,涉及一种数据流水线计算路径结构及单线程数据流水线系统。所述数据流水线计算路径结构包括顺次连接的树状结构的乘法累加单元、线性结构的乘法累加单元、非线性结构的乘法累加单元;树状结构的乘法累加单元、线性结构的乘法累加单元、非线性结构的乘法累加单元接收所需处理的数据与参数并对其进行处理后流出数据流水线计算路径结构,得到处理后的最终数据。所述数据流水线计算路径结构是一种通用的数据流水线计算架构,能够更高效地进行人工智能领域的计算。

Description

一种数据流水线计算路径结构及单线程数据流水线系统
技术领域
本发明涉及人工智能技术领域,更具体地,涉及一种数据流水线计算路径结构及单线程数据流水线系统。
背景技术
处理器技术是人类科技进步的重大体现之一。然而,处理器的抽象模型却十分简单:(1)处理器都由存储器、输入/输出接口、控制单元和计算单元组成;(2)处理器循环执行下列操作:“取指令/数据、执行指令、写数据”;(3)处理器的行为完全由指令和数据决定。无论处理器多复杂,无论是CPU、GPU或DSP,上述模型全部适用。这个处理器抽象模型就是著名的“冯诺依曼结构”,其核心是把用于控制的程序当作数据来存储,这种基于存储程序的计算模型一直沿用至今,无论半导体工艺多先进,处理器结构多复杂,存储程序型计算从未改变。
在存储程序计算中,指令和数据是所有操作的核心,直观地按照指令和数据来划分,传统计算体系结构可以分为四类:
1)SISD(单指令单数据):最早的计算体系结构,任何时刻,只有一条指令执行,处理一个数据。
2)SIMD(单指令多数据):一种并行计算体系,任何时刻,只有一条指令执行,处理多个数据。大多数现代处理器都拥有这类体系结构扩展(例如ARM NEON扩展指令和X86MMX/SSE扩展指令)。
3)MISD(多指令单数据):多条指令处理一个数据,目前未被普遍使用。
4)MIMD(多指令多数据):一种并行计算体系,多个核心(运行不同指令)处理多个数据,大多数MIMD体系实际由包含SIMD的多个核心组成。
然而,随着数据密集型任务的出现,数据并行成为计算性能的关键瓶颈。SIMD架构是用于增加数据并行的直观选择,然而,把多个数据同步打包成一个向量数据并用一条指令执行,这极大地限制了数据并行度的发掘。
对此,英伟达提出了SIMT(单指令多线程)架构。相比于SIMD,SIMT的数据由不同线程维护,数据之间是完全异步的关系,各自完全独立,可以实现大量异步数据的完全并行,也即线程级的数据并行。这样的架构极大地增加了数据的并行维度。典型的,1个16核现代先进CPU通常只能同时执行16或32个线程,而一个现代先进GPU同时执行的线程数高达几千个。
显而易见的,在存储程序计算中,提高计算性能就是提高指令和数据的执行性能。在过去的近50年发展历程中,以英特尔、英伟达为代表的美国企业引领了处理器技术的重要发展。根据计算任务的特点:指令密集型或数据密集型,处理器架构也按照指令优化和数据优化两大方向发展,并衍生出CPU、GPU两大处理器类型。CPU是最早的处理器,其技术发展主要面向指令执行效率的优化,包括更高的频率、更高效的指令集(RISC)、更多的指令级并行(超标量)、更多的任务级并行(超线程、多核)等。GPU是随着数据密集型任务的增多而逐渐发展起来的处理器,其技术发展主要面向数据执行效率的优化,包括更多核心数,更多线程(SIMT)、更高效的内存结构,更高效的编程模型等。
在通用并行计算这条路上,CPU/GPU架构探索了近50年,拥有一系列复杂的“组合拳”来完成多种粒度的并行计算,从而实现最高能效比的高性能计算,软硬件技术壁垒之高很难打破。
从一开始,计算机编程就存在两种模型,一种模拟人类行为结果,一种模拟人类大脑。
1)模拟人类行为结果的编程模型(称为传统编程模型),本质是基于人类认知的数学抽象进行编程。在该模型下,计算机的一切行为由人类的抽象思维决定,人类编写的程序代码变成确定的执行序列,并被特定的硬件使用。
2)模拟人类大脑的编程模型(称为神经网络编程模型),本质是基于人类大脑的生物抽象进行编程。在该模型下,计算机的一切行为由神经网络结构和知识参数决定,训练获得的知识通过数据的形式存储,并被特定硬件使用。
在过去的70年间,由于各种原因,模拟人类行为结果的编程模型得到蓬勃发展,并成为如今主流,目前几乎所有软件编程都属于此类。而模拟人类大脑的编程模型则历经几次浪潮与寒冬,进展缓慢,目前基于神经网络/深度学习技术的编程属于此类。
CPU/GPU是基于传统编程模型打造的处理器。CPU/GPU也可以运行神经网络算法,但这是通过把神经网络算法转换成传统编程模型后实现的。大量事实证明,神经网络编程模型十分重要,是下一代智能计算体系的核心关键。如此重要的体系需要一种比CPU、GPU更高效的架构来执行。
神经网络编程模型的本质是计算图模型,计算图的输入/输出是张量数据,计算图的类型代表操作类型。因此,直观的,最适合于神经网络编程模型的计算体系结构,是Graph/Tensor计算体系,其中,处理器的功能由计算图类型决定,而数据则是计算图的输入/输出张量。然而,计算图这一层级的粒度太粗,各类型间并没有太大的相关性,一个典型的神经网络计算由Convolution、Pooling、BN、Scale、RELU等组成,它们之间的行为差异巨大,如果处理器按照计算图操作的粒度去设计,这就意味着需要为每一个计算图操作(或某几个)设计专门的计算硬件(正如NVIDIADLA那样,NVDLA为卷积、池化和BN专门设计了不同的计算电路),这样的代价是巨大的,而且也不具备可扩展性。
由于人工智能计算任务是数据密集型任务,传统处理器的指令流水线架构会引入过多的指令冗余,不利于计算效率的提高。因此,人工智能计算更适合于数据流水线架构。
发明内容
本发明旨在克服上述现有技术的至少一种缺陷(不足),提供一种数据流水线计算路径结构,用于对神经网络算法进行集中化计算。
本发明还提供一种包括数据流水线计算路径结构的单线程数据流水线系统,用于提高人工智能计算中数据密集型任务计算效率,如神经网络算法计算。
本发明采取的技术方案是,提供一种数据流水线计算路径结构,包括顺次连接的树状结构的乘法累加单元、线性结构的乘法累加单元、非线性结构的乘法累加单元;树状结构的乘法累加单元、线性结构的乘法累加单元、非线性结构的乘法累加单元接收所需处理的数据与参数并对其进行处理后流出数据流水线计算路径结构,得到处理后的最终数据。所述的树状结构的乘法累加单元、线性结构的乘法累加单元、非线性结构的乘法累加单元都属于乘法累加器。
一个神经网络算法通常由多种不同类型的神经网络计算层组成,如卷积、池化、线性激活、非线性激活、全连接等。本发明所述的数据流水线计算路径结构提供了树状结构的乘法累加单元、线性结构的乘法累加单元、非线性结构的乘法累加单元,可以匹配大部分的神经网络计算层,如卷积、池化、线性激活、非线性激活、全连接等计算层,故而该数据流水线计算路径结构能够通用于神经网络算法计算。同时所述数据流水线计算路径结构一体化集成了树状结构的乘法累加单元、线性结构的乘法累加单元、非线性结构的乘法累加单元,可以使得计算高效、简单,使得运行该数据流水线计算路径结构的计算电路可以运行在较高的频率,再配合高效的数据控制系统(包括高效的软件编译器系统),可以实现较高的乘法累加单元利用率。
进一步地,所述树状结构的乘法累加单元用于将接收的多个数据以及参数相乘并累加;所述树状结构的乘法累加单元包括m个乘法器和n个加法器,其中,m>0,n>0;m个乘法器用于并行计算,分别将接收的参数和/或数据相乘后输出结果到加法器;n个加法器用于并行和/或串行计算,将乘法器中输入的所有结果相加并输出数据至线性结构的乘法累加单元或非线性结构的乘法累加单元或作为处理后的最终数据。所述树状结构的乘法累加单元可以将接收到的参数和/或者数据相乘后累加。因此,本发明可以用于例如神经网络计算中的平均池化层(平均池化层的主要作用是把邻近数据乘法累加在一起后获得新结果)的计算。
进一步地,所述线性结构的乘法累加单元用于把接收的一个数据与一个参数相乘后再与另一个参数相加;所述线性结构的乘法累加单元包括乘法器与加法器;所述乘法器将接收的一个参数和来自树状结构的乘法累加单元的一个数据相乘再输出结果到加法器中;加法器将从乘法器中输出的结果与另一个参数相加后输出数据至非线性结构的乘法累加单元或作为处理后的最终数据。所述线性结构的乘法累加单元可以将一个参数或数据与另一个参数或数据相乘后再与第三个参数或数据相加。因此,乘法累加单元可以用于线性计算。进一步地,所述非线性结构的乘法累加单元使用LUT查找表;非线性结构的乘法累加单元用于将接收的参数存储在LUT查找表中;非线性结构的乘法累加单元还用于将接收的来自树状结构的乘法累加单元或者线性结构的乘法累加单元的数据作为地址输入LUT查找表后获得相应内容,所述相应的内容作为处理后的最终数据。非线性结构的乘法累加单元可以根据接收的数据作为地址输出所需数据,因此非线性结构的乘法累加单元具有非线性计算功能。
本发明还提供一种单线程数据流水线系统,包括所述的数据流水线计算路径结构、参数路径结构、数据路径结构、配置控制器;配置控制器与参数路径结构、数据路径结构以及数据流水线计算路径结构连接,用于控制获取配置信息后对参数路径结构、数据路径结构以及数据流水线计算路径结构进行配置;所述数据路径结构与数据流水线计算路径结构的树状结构的乘法累加单元连接,为数据流水线计算路径结构的树状结构的乘法累加单元提供数据;参数路径结构包括树状参数路径结构、线性参数路径结构、非线性参数路径结构;树状参数路径结构、线性参数路径结构、非线性参数路径结构分别与数据流水线计算路径结构中的树状结构的乘法累加单元、线性结构的乘法累加单元、非线性的乘法累加单元连接,为数据流水线计算路径结构提供参数;数据流水线计算路径结构对数据路径结构以及参数路径结构提供的数据和参数进行运算后,将数据结果输出。所述单线程数据流水线系统利用配置控制器对数据路径结构、参数路径结构进行数据和参数的控制,利用数据路径结构根据配置向数据流水线计算路径结构输入数据,利用参数路径结构根据配置信息向数据流水线计算路径结构输入参数,利用数据流水线计算路径结构实现多种计算方式,使得本发明更适合于数据密集型任务的人工智能计算,能够提高数据的处理效率,同时,该单线程数据流水线系统根据配置控制器的配置信息即可完成数据的处理,不依赖于指令,是对于数据和/或参数的一种通用且直接的流水线处理架构,并在数据处理过程中能够完全去除指令所带来的性能损失,从而最大化提高计算资源的利用率。
进一步地,所述数据路径结构包括顺次连接的数据存储访问模块、数据紧耦合内存以及数据获取模块;所述数据存储访问模块用于连接外部设备并从外部设备获取计算所需数据;所述数据紧耦合内存用于存储数据存储访问模块所获取的计算所需数据;所述数据获取模块用于从数据紧耦合内存获取到数据后输入到数据流水线计算路径结构的树状结构的乘法累加单元。所述数据路径结构可以为数据流水线计算路径结构中的树状结构的乘法累加单元提供所需数据。
进一步地,所述树状参数路径结构包括顺次连接的树状参数存储访问模块、树状参数紧耦合内存以及树状参数获取模块;所述树状参数存储访问模块用于连接外部设备并从外部设备获取计算所需参数;所述树状参数紧耦合内存用于存储树状参数存储访问模块所获得的计算所需参数;所述树状参数获取模块用于从树状参数紧耦合内存获取到参数后再输入到数据流水线计算路径结构的树状结构的乘法累加单元。所述树状参数路径结构可以为数据流水线计算路径结构中的树状结构的乘法累加单元提供计算所需参数。
进一步地,所述线性参数路径结构包括顺次连接的线性参数存储访问模块、线性参数紧耦合内存以及线性参数获取模块;所述线性参数存储访问模块用于连接外部设备并从外部设备获取计算所需参数;所述线性参数紧耦合内存用于存储线性参数存储访问模块所获得的计算所需参数;所述线性参数获取模块用于从线性参数紧耦合内存获取到参数后再输入到数据流水线计算路径结构的线性结构的乘法累加单元。所述线性参数路径结构可以为数据流水线计算路径结构中的线性结构的乘法累加单元提供计算所需参数。
进一步地,所述非线性参数路径结构包括顺次连接的非线性参数存储访问模块、非线性参数紧耦合内存以及非线性参数获取模块;所述非线性参数存储访问模块用于连接外部设备并从外部设备获取计算所需参数;所述非线性参数紧耦合内存用于存储非线性参数存储访问模块所获得的计算所需参数;所述非线性参数获取模块用于从非线性参数紧耦合内存获取到参数后再输入到数据流水线计算路径结构的非线性的乘法累加单元。所述非线性参数路径结构可以为数据流水线计算路径结构中的非线性结构的乘法累加单元提供计算所需参数。
进一步地,数据流水线计算路径结构与直接存储器写模块相连接,数据流水线计算路径结构将处理后的结果输出到直接存储器写模块,直接存储器写模块再将结果输出到预先设置的地址中。
与现有技术相比,本发明的有益效果为:本发明能够更加高效地进行人工智能领域的数据密集型任务的计算。
附图说明
图1为本发明的数据流水线计算路径结构的架构图。
图2为本发明的树状结构的乘法累加单元结构图。
图3为本发明的线性结构的乘法累加单元结构图。
图4为本发明的非线性结构的乘法累加单元结构图。
图5为本发明的单线程数据流水线系统的流程图。
图6为实施例3的神经网络算法及其计算流程图。
附图标记说明:
Data:数据;
Param:参数;
MAC Tree:树状结构的乘法累加单元;
MAC Linear:线性结构的乘法累加单元;
MAC Nolinear:非线性结构的乘法累加单元;
MUL:乘法器;
ADD:加法器;
LUT:LUT查找表;
DDMA:数据存储访问模块;
DTCM:数据紧耦合内存;
DFetch:数据获取模块;
TDMA:树状参数存储访问模块;
TTCM:树状参数紧耦合内存;
TFetch:树状参数获取模块;
LDMA:线性参数存储访问模块;
LTCM线性参数紧耦合内存;
LFetch:线性参数获取模块;
NDMA:非线性参数存储访问模块;
NTCM:非线性参数紧耦合内存;
NFetch:非线性参数获取模块;
Data Path:数据路径结构;
Tree Param Path:树状参数路径结构;
Linear Param Path:线性参数路径结构;
Nolinear Param Path:非线性参数路径结构;
Configuration controller:配置控制器;
WDMA:直接存储器写模块;
Config:配置信息。
具体实施方式
本发明附图仅用于示例性说明,不能理解为对本发明的限制。为了更好说明以下实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
实施例1
如图1所示,本实施例技术方案是提供一种数据流水线计算路径结构,包括顺次连接的树状结构的乘法累加单元、线性结构的乘法累加单元、非线性结构的乘法累加单元;树状结构的乘法累加单元、线性结构的乘法累加单元、非线性结构的乘法累加单元接收所需处理的数据与参数并对其进行处理后流出数据流水线计算路径结构,得到处理后的最终的数据。所述的树状结构的乘法累加单元、线性结构的乘法累加单元、非线性结构的乘法累加单元都属于乘法累加器。
树状结构的乘法累加单元将接收到的多个数据以及参数处理后输出结果至线性结构的乘法累加单元或非线性结构的乘法累加单元或者将输出结果作为最终数据输出;所述线性结构的乘法累加单元接收到来自树状结构的乘法累加单元的数据结果以及接收到的参数后进一步处理再输出至非线性结构的乘法累加单元或将进一步处理后的输出结果作为最终数据输出,非线性结构的乘法累加单元对来自树状结构的乘法累加单元或者线性结构的乘法累加单元的数据结果结合接收到的参数再做进一步处理后作为处理后的最终数据输出。在具体实施过程中,树状结构的乘法累加单元、线性结构的乘法累加单元对数据和参数进行处理后得到的数据是送入下一个单元还是直接作为最终数据输出可以通过外部的配置控制器来控制相对应的数据处理路径。在一种优选的实施方式中,可以通过外部的配置控制器来对树状结构的乘法累加单元、线性结构的乘法累加单元、非线性结构的乘法累加单元进行配置,以确定在某一个具体计算中是否需要参与计算。树状结构的乘法累加单元所接收的数据和参数通过外部设备输入,线性结构的乘法累加单元所接收的数据来自树状结构的乘法累加单元,所接收的参数来自外部设备输入,非线性结构的乘法累加单元所接收的数据来自树状。
一个神经网络算法通常由多种不同类型的神经网络计算层组成,如卷积、池化、线性激活、非线性激活、全连接等。本发明所述的数据流水线计算路径结构提供了树状结构的乘法累加单元、线性结构的乘法累加单元、非线性结构的乘法累加单元,可以匹配大部分的神经网络计算层,如卷积、池化、线性激活、非线性激活、全连接等计算层,故而该数据流水线计算路径结构能够通用于神经网络算法计算。同时所述数据流水线计算路径结构一体化集成了树状结构的乘法累加单元、线性结构的乘法累加单元、非线性结构的乘法累加单元,使得计算高效、简单,使得运行该数据流水线计算路径结构的计算电路可以运行在较高的频率,再配合高效的数据控制系统(包括高效的软件编译器系统),可以实现较高的乘法累加单元利用率。
进一步地,如图2所示,所述树状结构的乘法累加单元用于将接收的多个数据以及参数相乘并累加;所述树状结构的乘法累加单元包括m个乘法器和n个加法器,其中,m>0,n>0;m个乘法器用于并行计算,分别将接收的参数和数据相乘后输出结果到加法器;n个加法器用于并行和/或串行计算,将乘法器中输入的所有结果累加并输出数据至线性结构的乘法累加单元或非线性结构的乘法累加单元或作为处理后的最终数据。所述接收的参数和数据通过外部设备输入,所述树状结构的乘法累加单元可以将接收到的参数和数据相乘后累加。因此,本发明可以用于例如神经网络计算中的平均池化层(平均池化层的主要作用是把邻近数据乘法累加在一起后获得新结果)的计算。
优选地,当神经网络算法中不需要进行相乘后累加的计算时,树状结构的乘法累加单元可以利用外部的配置控制器设置为旁路模式。树状结构的乘法累加单元的旁路模式可以采用如下方式实现:配置乘法累加单元的m个乘法器的只有一个有效输入数据(如图1中左边第一路),该输入数据直接赋值给输出数据,而不经过树状结构内部的乘法器和加法器。
在具体实施过程中,树状结构的乘法累加单元中的乘法器和加法器根据实际情况进行数量的设置。
进一步地,如图3所示,所述线性结构的乘法累加单元用于把接收的一个数据与一个参数相乘后再与另一个参数相加;所述线性结构的乘法累加单元包括乘法器与加法器;所述乘法器将接收的一个参数和来自树状结构的乘法累加单元的一个数据相乘再输出结果到加法器中;加法器将从乘法器中输出的结果与另一个参数相加后输出数据至非线性结构的乘法累加单元或作为处理后的最终数据。所述线性结构的乘法累加单元可以将一个参数或数据与另一个参数或数据相乘后再与第三个参数或数据相加。因此,乘法累加单元可以用于线性计算。
当数据流水线计算路径结构中的线性结构的乘法累加单元通过外部的配置控制器设置为旁路模式时,计算模式下的树状结构的乘法累加单元中的加法器将乘法器中输入的所有结果相加后输出数据至计算模式下的非线性结构的乘法累加单元。
进一步地,如图4所示,所述非线性结构的乘法累加单元使用LUT查找表;非线性结构的乘法累加单元用于将接收的参数存储在LUT查找表中;非线性结构的乘法累加单元还用于将接收的来自树状结构的乘法累加单元或者线性结构的乘法累加单元的数据作为地址输入LUT查找表后获得相应内容,所述相应的内容作为处理后的最终数据。非线性结构的乘法累加单元可以根据接收的数据作为地址输出所需数据,因此非线性结构的乘法累加单元具有非线性计算功能。
一种最优选的实施方式是,树状结构的乘法累加单元中的m个乘法器分别将接收到的一个数据与一个参数相乘后得到m个结果再将其输出至n个加法器中,加法器将m个结果进行累加后得到的数据结果输出至线性结构的乘法累加单元的乘法器中,线性结构的乘法累加单元的乘法器将得到的数据结果与接收到的参数通过乘法器相乘后再通过线性结构的乘法累加单元的加法器将其与另一个接收到的参数相加得到数据结果后输出到非线性结构的乘法累加单元的LUT查找表中,接收的参数存储在LUT查找表中,所述数据结果作为地址对LUT查找表进行查找后输出相应内容并作为处理后的最终数据输出数据流水线的计算路径结构。在实际应用中,可以根据实际的计算需求,通过外部的配置控制器将某一个或某两个乘法累加单元设置为旁路模式,也就是在计算模式下设置为旁路模式的乘法累加单元不接收数据和参数,也不参与到当前的计算中。
实施例2
如图5所示,本实施例为一种单线程数据流水线系统,包括实施例1所述的数据流水线计算路径结构以及参数路径结构、数据路径结构、配置控制器;配置控制器与参数路径结构、数据路径结构以及数据流水线计算路径结构连接,用于获取配置信息后对参数路径结构、数据路径结构以及数据流水线计算路径结构进行配置;所述数据路径结构与数据流水线计算路径结构的树状结构的乘法累加单元连接,为数据流水线计算路径结构的树状结构的乘法累加单元提供数据;参数路径结构包括树状参数路径结构、线性参数路径结构、非线性参数路径结构;树状参数路径结构、线性参数路径结构、非线性参数路径结构分别与数据流水线计算路径结构中的树状结构的乘法累加单元、线性结构的乘法累加单元、非线性的乘法累加单元连接,为数据流水线计算路径结构提供参数;数据流水线计算路径结构对数据路径结构以及参数路径结构提供的数据和参数进行运算后,将数据结果输出。所述单线程数据流水线系统利用配置控制器对数据路径结构、参数路径结构进行数据和参数的控制,利用数据路径结构根据配置向数据流水线计算路径结构输入数据,利用参数路径结构根据配置信息向数据流水线计算路径结构输入参数,利用数据流水线计算路径结构实现多种计算方式,使得本发明更适合于数据密集型任务的人工智能计算,能够提高数据的处理效率,同时,该单线程数据流水线系统根据配置控制器的配置信息即可完成数据的处理,不依赖于指令,是对于数据和/或参数的一种通用且直接的流水线处理架构,并在数据处理过程中能够完全去除指令所带来的性能损失,从而最大化提高计算资源的利用率。
来自数据路径结构的数据与来自树状参数路径结构的参数进入树状结构的乘法累加单元的乘法器中进行并行相乘后输出结果至树状结构的乘法累加单元的加法器中,树状结构的乘法累加单元的加法器将所有接收到的结果累加后作为数据结果输出到线性结构乘法累加器的乘法器或非线性结构的乘法累加单元的LUT查找表或者作为最终的计算结果输出,所述线性结构乘法累加器的乘法器将接收到的数据结果与来自线性参数路径结构的参数进行相乘后得到结果进入到线性结构的乘法累加单元的加法器中再与来自线性参数路径结构的参数相加后作为数据结果输出到非线性乘法累加单元的LUT查找表或者作为最终计算结果输出,非线性乘法累加单元将接收到的来自树状结构的乘法累加单元的数据结果或者来自线性结构的乘法累加单元的数据结果输入LUT查找表中,LUT查找表存储来自非线性参数路径结构的参数,LUT查找表根据输入的数据结果查找相应的内容并作为处理的最终计算结果。
根据数据流水线计算路径结构中的计算资源的可用情况,可以通过外部的编译器把上述多个不同类型的神经网络计算层整合(映射)到一次所述单线程数据流水线系统中。
进一步地,所述数据路径结构包括顺次连接的数据存储访问模块、数据紧耦合内存以及数据获取模块;所述数据存储访问模块用于连接外部设备并从外部设备获取计算所需数据;所述数据紧耦合内存用于存储数据存储访问模块所获取的计算所需数据;数据获取模块用于从数据紧耦合内存获取到数据后输入到数据流水线计算路径结构的树状结构的乘法累加单元。所述数据路径结构可以为数据流水线计算路径结构中的树状结构的乘法累加单元提供所需处理的数据。
进一步地,所述树状参数路径结构包括顺次连接的树状参数存储访问模块、树状参数紧耦合内存以及树状参数获取模块;所述树状参数存储访问模块用于连接外部设备并从外部设备获取计算所需参数;所述树状参数紧耦合内存用于存储树状参数存储访问模块所获得的计算所需参数;树状参数获取模块用于从树状参数紧耦合内存获取到参数后再输入到数据流水线计算路径结构。所述树状参数路径结构可以为数据流水线计算路径结构中的树状结构的乘法累加单元提供计算所需参数。
一个来自数据路径结构的数据与一个来自树状参数路径结构的参数输入到树状结构的乘法累加单元的乘法器中相乘后输出结果至树状结构的乘法累加单元的加法器中,加法器将所有接收到的结果进行累加后输出到线性结构的乘法累加单元的乘法器中或者是作为最终计算结果输出。
进一步地,所述线性参数路径结构包括顺次连接的线性参数存储访问模块、线性参数紧耦合内存以及线性参数获取模块;所述线性参数存储访问模块用于连接外部设备并从外部设备获取计算所需参数;所述线性参数紧耦合内存用于存储参数存储访问模块所获得的计算所需参数;线性参数获取模块用于从线性参数紧耦合内存获取到参数后再输入到数据流水线计算路径结构的线性结构的乘法累加单元。所述线性参数路径结构可以为数据流水线计算路径结构中的线性结构的乘法累加单元提供计算所需参数。
线性参数路径结构提供的所需参数与来自树状结构的乘法累加单元的加法器所输出的数据结果在线性结构的乘法累加单元的乘法器中进行相乘后再通过线性结构的乘法累加单元的加法器与来自线性参数路径的参数进行相加后输出到非线性结构的乘法累加单元中的LUT查找表或者是作为最终计算结果输出。
进一步地,所述非线性参数路径结构包括顺次连接的非线性参数存储访问模块、非线性参数紧耦合内存以及非线性参数获取模块;所述非线性参数存储访问模块用于连接外部设备并从外部设备获取计算所需参数;所述非线性参数紧耦合内存用于存储参数存储访问模块所获得的计算所需参数;非线性参数获取模块用于从非线性参数紧耦合内存获取到参数后再输入到数据流水线计算路径结构的非线性的乘法累加单元。所述非线性参数路径结构可以为数据流水线计算路径结构中的非线性结构的乘法累加单元提供计算所需参数。非线性参数路径结构提供的所需参数与来自树状结构的乘法累加单元的加法器所输出的数据结果或线性结构的乘法累加单元所输出的数据结果作为地址输入LUT查找表,LUT查找表存储来自非线性参数路径结构的参数,数据结果作为地址输入LUT查找表后获得相应的内容并作为处理后的最终计算结果输出。
进一步地,数据流水线计算路径结构还可以与一直接存储器写模块相连接,数据流水线计算路径结构将处理后的最终计算结果输出到直接存储器写模块,直接存储器写模块再将最终的计算结果输出到预先设置的地址中。
实施例3
本实施例利用实施例2所述的单线程流水线系统进行一次神经网络算法计算。如图6所示,某个神经网络算法包括卷积计算层conv1、平均池化层pool1以及非线性激活函数mish1,本实施例主要是对于平均池化层pool1以及非线性激活函数mish1的计算,其中平均池化层pool1的作用是把邻近数据乘法累加在一起从而获得新结果,故而适合于用树状结构的乘法累加单元进行计算。非线性激活函数mish1的数学表达为f(x)=x×sigmoid(βx),故而适合于用非线性结构的乘法累加单元进行计算。由于本实施例中对于平均池化层pool1以及非线性激活函数mish1的计算并没有用到线性计算功能,故而利用配置控制器将数据流水线计算路径结构中的线性结构的乘法累加单元设置为旁路模式。
外部的编译器根据数据流水线计算路径结构中的计算资源的可用情况,把上述多个不同类型的神经网络计算层(如平均池化层pool1以及非线性激活函数mish1)整合(映射)到一次所述单线程数据流水线系统中。
如图6所示,单线程数据流水线系统的一次数据流计算包含配置和计算两部分,其中,首先进行配置操作。
配置控制器的配置操作如下:
S1.配置数据路径结构的数据存储访问模块和数据紧耦合内存,使其指向卷积计算层conv1计算输出数据的地址,并且配置数据存储访问模块和数据紧耦合内存进行数据获取以及存储操作。具体实施过程中,配置控制器还可以按照预先设置的正确的数据尺寸进一步配置数据存储访问模块和数据紧耦合内存的数据获取操作和存储操作。
S2.配置数据获取模块,并配置数据紧耦合内存将其所缓存的数据送入数据流水线计算路径结构的树状结构的乘法累加单元中。
S3.配置树状参数存储访问模块和树状参数紧耦合内存,使其指向平均池化层pool1参数的地址,并配置树状参数存储访问模块和树状参数紧耦合内存进行参数获取以及存储操作。具体实施过程中,配置控制器还可以按照预先设置的正确的数据尺寸进一步配置树状参数存储访问模块和树状参数紧耦合内存的数据获取操作和存储操作。
S4.配置树状参数获取模块,并配置树状参数紧耦合内存将其所缓存的参数送入数据流水线计算路径结构的树状结构的乘法累加单元中。
S5.配置非线性参数存储访问模块和非线性参数紧耦合内存,使其指向非线性激活函数mish1的地址,并配置非线性参数存储访问模块和非线性参数紧耦合内存进行参数获取以及存储操作。具体实施过程中,配置控制器还可以按照预先设置的正确的数据尺寸进一步配置非线性参数存储访问模块和非线性参数紧耦合内存的数据获取操作和存储操作。
S6.配置非线性参数获取模块,并配置非线性参数紧耦合内存将其所缓存的参数送入数据流水线计算路径结构的非线性结构的乘法累加单元中。
S7.配置树状结构的乘法累加单元为计算模式,使树状结构的乘法累加单元参与计算。
S8.配置线性结构的乘法累加单元为旁路(Bypass)模式,使线性结构的乘法累加单元不参与计算。
S9.配置非线性参数路径结构为计算模式,并配置数据流水线计算路径结构中非线性结构的乘法累加单元的LUT查找表的内容。
S10.配置直接存储器写模块,使其指向非线性激活函数mish1计算输出数据的地址,并且按照预先设置的正确的数据尺寸将计算结果输出。
配置操作结束后数据以及参数开始进入单线程数据流水线系统进行计算,数据路径结构中的数据存储访问模块连接外部设备并从外部设备获取计算所需数据;数据紧耦合内存存储数据存储访问模块所获取的计算所需数据;数据获取模块从数据紧耦合内存获取到数据后输入到数据流水线计算路径结构的树状结构的乘法累加单元的乘法器中。所述数据路径结构可以为数据流水线计算路径结构中的树状结构的乘法累加单元的乘法器提供所需处理的数据。
树状参数路径结构中的树状参数存储访问模块连接外部设备并从外部设备获取计算所需参数;所述树状参数紧耦合内存存储树状参数存储访问模块所获得的计算所需参数;树状参数获取模块从树状参数紧耦合内存获取到参数后再输入到数据流水线计算路径结构的树状结构的乘法累加单元的乘法器。所述树状参数路径结构可以为数据流水线计算路径结构中的树状结构的乘法累加单元提供计算所需参数。
非线性参数存储访问模块连接外部设备并从外部设备获取计算所需参数;所述非线性参数紧耦合内存存储参数存储访问模块所获得的计算所需参数;非线性参数获取模块从非线性参数紧耦合内存获取到参数后再输入到数据流水线计算路径结构的非线性的乘法累加单元。所述非线性参数路径结构可以为数据流水线计算路径结构中的非线性结构的乘法累加单元提供计算所需参数。
树状结构的乘法累加单元的多个乘法器将来自数据获取模块的数据与来自树状参数路径的参数进行相乘后得到多个乘积,多个乘积输出至树状结构的乘法累加单元的加法器中进行累加得到数据结果,再将数据结果输出至非线性结构的LUT查找表中,LUT查找表存储来自非线性参数路径结构的参数,数据结果作为地址输入LUT查找表后获得相应的内容并作为处理后的最终计算输出。
在数据流水线计算路径结构之后可以连接的直接存储器写模块,通过直接存储器写模块将数据流水线计算路径结构的最终计算结果输出至预先设置的非线性激活函数mish1计算输出数据的地址。通过此方式可以完成神经网络的计算。本发明的单线程数据流水线系统通过配置控制器的配置,利用树状结构的乘法累加单元、线性结构的乘法累加单元、非线性结构的乘法累加单元实现较高的乘法累加单元利用率。
显然,本发明的上述实施例仅仅是为清楚地说明本发明技术方案所作的举例,而并非是对本发明的具体实施方式的限定。凡在本发明权利要求书的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

Claims (7)

1.一种数据流水线计算路径电路,其特征在于,包括顺次连接的树状结构的乘法累加单元、线性结构的乘法累加单元、非线性结构的乘法累加单元;
树状结构的乘法累加单元所接收的数据和参数通过外部设备输入;线性结构的乘法累加单元所接收的数据来自树状结构的乘法累加单元,所接收的参数来自外部设备输入;非线性结构的乘法累加单元所接收的数据来自线性结构的乘法累加单元,所接收的参数来自外部设备输入;所述线性结构的乘法累加单元和所述非线性结构的乘法累加单元在不参与计算时,配置为旁路模式;
树状结构的乘法累加单元、线性结构的乘法累加单元、非线性结构的乘法累加单元接收所需处理的数据与参数并对其进行处理后流出数据流水线计算路径电路,得到处理后的最终数据;
所述树状结构的乘法累加单元用于将接收的多个数据以及参数相乘并累加;
所述树状结构的乘法累加单元包括m个乘法器和n个加法器,m>0,n>0;
m个乘法器用于并行计算,分别将接收的参数和数据相乘后输出结果到加法器;
n个加法器用于并行和/或串行计算,将乘法器中输入的所有结果相加并输出数据至线性结构的乘法累加单元或非线性结构的乘法累加单元或作为处理后的最终数据;
所述树状结构的乘法累加单元在不参与计算时,配置为旁路模式;
所述线性结构的乘法累加单元用于把接收的一个数据与一个参数相乘后再与另一个参数相加;
所述线性结构的乘法累加单元包括乘法器与加法器;
所述乘法器将接收的一个参数和来自树状结构的乘法累加单元的一个数据相乘再输出结果到加法器中;
加法器将从乘法器中输出的结果与另一个参数相加后输出数据至非线性结构的乘法累加单元或作为处理后的最终数据;
所述非线性结构的乘法累加单元使用LUT查找表;
非线性结构的乘法累加单元用于将接收的参数存储在LUT查找表中;
非线性结构的乘法累加单元还用于将接收的来自树状结构的乘法累加单元或者线性结构的乘法累加单元的数据作为地址输入LUT查找表后获得相应内容,所述相应内容作为处理后的最终数据。
2.一种单线程数据流水线系统,其特征在于,包括权利要求1所述的数据流水线计算路径电路、参数路径结构、数据路径结构、配置控制器;
配置控制器与参数路径结构、数据路径结构以及数据流水线计算路径电路连接,用于控制获取配置信息后对参数路径结构、数据路径结构以及数据流水线计算路径电路进行配置;
所述数据路径结构与数据流水线计算路径电路的树状结构的乘法累加单元连接,为数据流水线计算路径电路的树状结构的乘法累加单元提供数据;
参数路径结构包括树状参数路径结构、线性参数路径结构、非线性参数路径结构;
树状参数路径结构、线性参数路径结构、非线性参数路径结构分别与数据流水线计算路径电路中的树状结构的乘法累加单元、线性结构的乘法累加单元、非线性的乘法累加单元连接,为数据流水线计算路径电路提供参数;
数据流水线计算路径电路对数据路径结构以及参数路径结构提供的数据和参数进行运算后,将数据结果输出。
3.根据权利要求2所述的一种单线程数据流水线系统,其特征在于,所述数据路径结构包括顺次连接的数据存储访问模块、数据紧耦合内存以及数据获取模块;
所述数据存储访问模块用于连接外部设备并从外部设备获取计算所需数据;
所述数据紧耦合内存用于存储数据存储访问模块所获取的计算所需数据;
所述数据获取模块用于从数据紧耦合内存获取到数据后输入到数据流水线计算路径电路的树状结构的乘法累加单元。
4.根据权利要求2所述的一种单线程数据流水线系统,其特征在于,所述树状参数路径结构包括顺次连接的树状参数存储访问模块、树状参数紧耦合内存以及树状参数获取模块;
所述树状参数存储访问模块用于连接外部设备并从外部设备获取计算所需参数;
所述树状参数紧耦合内存用于存储树状参数存储访问模块所获得的计算所需参数;
所述树状参数获取模块用于从树状参数紧耦合内存获取到参数后再输入到数据流水线计算路径电路的树状结构的乘法累加单元。
5.根据权利要求2所述的一种单线程数据流水线系统,其特征在于,所述线性参数路径结构包括顺次连接的线性参数存储访问模块、线性参数紧耦合内存以及线性参数获取模块;
所述线性参数存储访问模块用于连接外部设备并从外部设备获取计算所需参数;
所述线性参数紧耦合内存用于存储线性参数存储访问模块所获得的计算所需参数;
所述线性参数获取模块用于从线性参数紧耦合内存获取到参数后再输入到数据流水线计算路径电路的线性结构的乘法累加单元。
6.根据权利要求2所述的一种单线程数据流水线系统,其特征在于,所述非线性参数路径结构包括顺次连接的非线性参数存储访问模块、非线性参数紧耦合内存以及非线性参数获取模块;
所述非线性参数存储访问模块用于连接外部设备并从外部设备获取计算所需参数;
所述非线性参数紧耦合内存用于存储非线性参数存储访问模块所获得的计算所需参数;
所述非线性参数获取模块用于从非线性参数紧耦合内存获取到参数后再输入到数据流水线计算路径电路的非线性的乘法累加单元。
7.根据权利要求2所述的一种单线程数据流水线系统,其特征在于,所述数据流水线计算路径电路与直接存储器写模块相连接,数据流水线计算路径电路将处理后的结果输出到直接存储器写模块,直接存储器写模块再将结果输出到预先设置的地址中。
CN202010969599.5A 2020-09-15 2020-09-15 一种数据流水线计算路径结构及单线程数据流水线系统 Active CN112051981B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010969599.5A CN112051981B (zh) 2020-09-15 2020-09-15 一种数据流水线计算路径结构及单线程数据流水线系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010969599.5A CN112051981B (zh) 2020-09-15 2020-09-15 一种数据流水线计算路径结构及单线程数据流水线系统

Publications (2)

Publication Number Publication Date
CN112051981A CN112051981A (zh) 2020-12-08
CN112051981B true CN112051981B (zh) 2023-09-01

Family

ID=73604251

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010969599.5A Active CN112051981B (zh) 2020-09-15 2020-09-15 一种数据流水线计算路径结构及单线程数据流水线系统

Country Status (1)

Country Link
CN (1) CN112051981B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113419702B (zh) * 2021-06-21 2022-11-22 安谋科技(中国)有限公司 一种数据累加方法、处理器、电子设备及可读介质
CN113282219B (zh) * 2021-07-22 2021-09-28 深圳英集芯科技股份有限公司 一种流水线cpu架构图的绘制方法及终端设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102629189A (zh) * 2012-03-15 2012-08-08 湖南大学 基于fpga的流水浮点乘累加方法
CN103176767A (zh) * 2013-03-01 2013-06-26 浙江大学 一种低功耗高吞吐的浮点数乘累加单元的实现方法
CN108805273A (zh) * 2018-05-20 2018-11-13 复旦大学 一种lstm中门控单元加速运算的硬件实现电路
CN108958704A (zh) * 2017-05-18 2018-12-07 华为技术有限公司 一种数据处理装置及方法
CN110188869A (zh) * 2019-05-05 2019-08-30 北京中科汇成科技有限公司 一种基于卷积神经网络算法的集成电路加速计算的方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10310818B2 (en) * 2017-07-19 2019-06-04 Arm Limited Floating point chained multiply accumulate
WO2020046642A1 (en) * 2018-08-31 2020-03-05 Flex Logix Technologies, Inc. Multiplier-accumulator circuit, logic tile architecture for multiply-accumulate and ic including logic tile array

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102629189A (zh) * 2012-03-15 2012-08-08 湖南大学 基于fpga的流水浮点乘累加方法
CN103176767A (zh) * 2013-03-01 2013-06-26 浙江大学 一种低功耗高吞吐的浮点数乘累加单元的实现方法
CN108958704A (zh) * 2017-05-18 2018-12-07 华为技术有限公司 一种数据处理装置及方法
CN108805273A (zh) * 2018-05-20 2018-11-13 复旦大学 一种lstm中门控单元加速运算的硬件实现电路
CN110188869A (zh) * 2019-05-05 2019-08-30 北京中科汇成科技有限公司 一种基于卷积神经网络算法的集成电路加速计算的方法及系统

Also Published As

Publication number Publication date
CN112051981A (zh) 2020-12-08

Similar Documents

Publication Publication Date Title
JP6821002B2 (ja) 処理装置と処理方法
CN109543832B (zh) 一种计算装置及板卡
CN109522052B (zh) 一种计算装置及板卡
Tanomoto et al. A CGRA-based approach for accelerating convolutional neural networks
CN112381220B (zh) 一种神经网络张量处理器
CN111105023B (zh) 数据流重构方法及可重构数据流处理器
CN110163356A (zh) 一种计算装置及方法
CN112051981B (zh) 一种数据流水线计算路径结构及单线程数据流水线系统
CN110717584A (zh) 神经网络编译方法、编译器、计算机设备及可读存储介质
CN112580792B (zh) 一种神经网络多核张量处理器
CN111047022A (zh) 一种计算装置及相关产品
CN108710943B (zh) 一种多层前馈神经网络并行加速器
Huang et al. IECA: An in-execution configuration CNN accelerator with 30.55 GOPS/mm² area efficiency
CN114035916A (zh) 计算图的编译、调度方法及相关产品
Li et al. Research and implementation of parallel artificial fish swarm algorithm based on ternary optical computer
CN102214157A (zh) 一种动态可重构阵列时序控制的方法
Shivapakash et al. A power efficient multi-bit accelerator for memory prohibitive deep neural networks
CN111178492B (zh) 计算装置及相关产品、执行人工神经网络模型的计算方法
CN112052042B (zh) 一种数据流水线处理器系统
de Dinechin et al. Deep learning inference on the mppa3 manycore processor
Sun et al. Unicnn: A pipelined accelerator towards uniformed computing for cnns
Thuerck Supporting irregularity in throughput-oriented computing by SIMT-SIMD integration
Molendijk et al. Benchmarking the epiphany processor as a reference neuromorphic architecture
CN116400926A (zh) 面向人工智能芯片的标量引擎处理方法和装置
Andrade et al. Multi-Processor System-on-Chip 1: Architectures

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
GR01 Patent grant
GR01 Patent grant