CN102253920A - 一种全互联路由结构动态可重构数据处理方法及处理器 - Google Patents
一种全互联路由结构动态可重构数据处理方法及处理器 Download PDFInfo
- Publication number
- CN102253920A CN102253920A CN2011101522397A CN201110152239A CN102253920A CN 102253920 A CN102253920 A CN 102253920A CN 2011101522397 A CN2011101522397 A CN 2011101522397A CN 201110152239 A CN201110152239 A CN 201110152239A CN 102253920 A CN102253920 A CN 102253920A
- Authority
- CN
- China
- Prior art keywords
- data
- output
- unit
- array
- routing
- 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.)
- Granted
Links
Images
Landscapes
- Logic Circuits (AREA)
Abstract
本发明提供了一种全互联路由结构动态可重构数据处理方法和处理器。所述的方法包括:步骤101、输入一个周期的待处理数据;步骤102、将输入的每个待处理数据由每个路由单元按分配编码方法接收数据,输送到与每个路由单元相配的计算单元进行处理;步骤103、将处理完毕的数据通过提取编码方法提取所需数据;步骤104、将所述提取的数据输出。所述的处理器包括输入FIFO,动态可重构阵列;动态可重构阵列,包括阵2m×2k列单元,所述的阵列单元包括路由单元和计算单元,每个路由单元连接输入FIFO;动态可重构阵列按列排列形成一维环状结构;输出FIFO,连接输出路由,用于将所述提取的数据输出。通过本发明提高了处理器带宽和数据运行效率。
Description
技术领域
本发明涉及动态可重构处理器领域,特别涉及一种全互联路由结构动态可重构数据处理方法及处理器。
背景技术
可重构计算是一种将软件的灵活性和硬件的高效性结合在一起的计算方式,比如现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)就是一个可重构计算应用的具体实例。和普通微处理器之间的区别在于它不仅可以改变控制流,还可以改变数据通路(Data Path)的结构,具有高性能、低硬件开销和功耗、灵活性好、扩展性好的优点。目前主要应用于媒体处理、模式识别、基带处理等计算密集型的算法。随着嵌入式处理器普遍要求缩短设计周期、降低设计和开发成本,另外最终市场和技术的不确定性越来越大,可重构处理逐步成为嵌入式处理器国际发展的趋势。不仅如此,在很多高性能计算的领域它也有所涉足,包括结构分析、计算流体力学、分子模拟、生物信息、计算化学、地震地质(油气勘探)、数值气象、宇宙学研究等。
新的半导体工艺为可重构硬件带来千万门级电路的技术,从而为可重构硬件提供足够的面积;在速度上,可重构硬件的性能正在接近专用定制芯片。在这些变化影响下,可重构计算在技术路线上逐步走上动态重构、粗颗粒度并行硬件、异构多核的道路。例如欧洲微电子中心(IMEC)的ADRES处理器由紧耦合的超长指令字(Very Long Instruction Word,VLIW)处理器内核和粗颗粒度并行矩阵计算的可重构硬件构成。而惠普(HP)的CHESS处理器则由大量可重构算术计算单元阵列构成。
可重构处理器的基本组成包括主控制器和可重构运算单元。可重构运算单元均采用阵列的形式(阵列是并行化硬件的基本形式),来加大处理能力,同时通过灵活的互联结果来保证阵列的通用性。
现有技术是通过寄存器堆从外部读入数据,并且外部寄存器中数据只能传递给对应列的相邻三个计算单元,它主要有如下四个缺点:(1)阵列的数据输入口和输出口使用同一套寄存器接口,并且由于采用寄存器堆,难以批量的同时导入导出;(2)输入互联不够灵活,如需要实现负责的功能映射,则需要浪费计算单元;(3)由于阵列内部均采用十字互联,导致难以映射较大规模的算法,并行计算的效率低;(4)阵列内部的路由单元采用,局部区块内十字互联,全局相邻互联,导致计算模型复杂,难于算法的自动编译。另一种是采用总线形式分发数据,需要格外的周期进行地址译码和控制信息解析,并且数据单个单个写入接口寄存器,效率低。
发明内容
本发明所要解决的技术问题是提供一种全互联路由结构动态可重构数据处理方法及处理器,实现提高输入输出带宽及运行效率。
为了解决上述问题,本发明公开了一种全互联路由结构动态可重构数据处理方法,包括:
步骤101、输入一个周期的待处理数据;
步骤102、将输入的每个待处理数据由每个路由单元按分配编码方法接收数据,输送到与每个路由单元相配的计算单元进行处理;
步骤103、将处理完毕的数据通过提取编码方法提取所需数据;
步骤104、将所述提取的数据输出。
其中,步骤102所述的分配编码方法具体包括:
当每个周期内输入阵列的数据个数为2n,阵列大小为2m×2k个,其中2m为行宽,2k为列宽时,对每个路由单元按照1+max(n,m)比特的形式进行编码。
其中,步骤103所述的提取编码方法具体包括:
当阵列大小为2m×2k个,每个周期输出数据为2j个时,输出路由针对m+k进行编码,配置输出路由的i个输出端口。
其中,提取编码方法为对于计算单元的输出位置编码或者对于输出的计算单元位置编码。
本发明还公开了一种全互联路由结构动态可重构处理器,包括:
输入FIFO,用于输入多个待处理数据;
动态可重构阵列,包括阵2m×2k列单元,所述的阵列单元包括路由单元和计算单元,每个路由单元连接输入FIFO;动态可重构阵列按列排列形成一维环状结构;用于将输入的每个待处理数据由每个路由单元按分配编码方法接收数据,输送到与每个路由单元相配的计算单元进行处理;
输出路由,每个计算单元连接输出路由,用于将处理完毕的数据通过提取编码方法提取所需数据;
输出FIFO,连接输出路由,用于将所述提取的数据输出。
其中,还包括内部缓存,连接输出路由与动态可重构阵列的每个路由单元,用于使阵列的运算结果在内部反复运算。
其中,还包括编译单元,连接每个计算单元和输出路由,用于转换对于计算单元的输出位置编码为对于输出的计算单元位置编码。
与现有技术相比,本发明具有以下优点:
(1)本发明采用输入FIFO输入数据,输出FIFO输出数据,实现全局数据的输入和输出,加大数据带宽。
(2)本发明采用一个计算单元配一个路由单元,输出路由连接所有计算单元的形式,按特定的编码方法输入和输出数据,使内部互联灵活,提高了数据的运行效率。
附图说明
图1是本发明一种全互联路由结构动态可重构数据处理方法;
图2是本发明的动态可重构阵列全互联的路由单元的编码方法;
图3是本发明的动态可重构阵列全互联的输出路由的编码方法;
图4是本发明一种全互联路由结构动态可重构处理器的实施例一;
图5是本发明一种全互联路由结构动态可重构处理器的实施例二。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明一种全互联路由结构动态可重构数据处理方法。
步骤101、输入一个周期的待处理数据;
通过输入FIFO(First In First Out,一种先进先出的数据缓存器)输入2n个数据。
由于输入FIFO缓存同时可以具有很大的宽度和深度,当输入的数据大于宽度时,输入FIFO自动将数据分为多列然后输入。比如当输入FIFO宽度为16位时,如果输入了48位的数据,那么输入FIFO就将这40位数据分为3列,每列16位。
步骤102、将输入的每个待处理数据由每个路由单元按分配编码方法接收数据,输送到与每个路由单元相配的计算单元进行处理;
实际中,先对每个计算单元的路由单元进行配置,包括按分配编码方法进行编码,然后依照编码后的配置条件分配被输入FIFO输入的2n个数据,并进行处理。
实际中,如果一个数据需要多次处理才能得到最终的数据,那么首先由每个计算单元的路由单元按分配编码方法接收数据到相应的计算单元先处理,然后从这个计算单元开始,通过路由单元将数据传输到与计算单元全互联的下一个计算单元进行处理,直到数据处理完毕。
所述的分配编码方法包括:
当每个周期内输入阵列的数据个数为2n,阵列大小为2m×2k个(2m为宽度,2k为深度)。针对每个计算单元设计专门的路由单元,此路由单元同时接受来自输入接口的2n个数据和来自上一行的2m个计算结果。路由单元的编码方式采用输入2n个数据的n比特地址线和上一行2m个计算结果的m比特地址线相结合的方式,使用1+max(n,m)比特的形式进行编码。第1比特选择来自内部还是外部的数据,剩余的max(n,m)比特作为地址译码得到输入数据或者上一行计算结果的编码。
参照图2,示出了本发明的动态可重构阵列全互联的路由单元的编码方法。
S1表示路由单元数据来源选择位:外部或者内部。S2表示数据的独立地址编码。
步骤103、将处理完毕的数据通过提取编码方法提取所需数据;
实际中,当将输入的2n个数据处理完毕时,将处理完毕的数据通过提取编码方法提取所需的数据。
所述的提取编码方法包括:
当阵列大小为2m×2k个,每个周期内输出阵列的数据个数为2j,通常情况下m+k要大于j的值,故在输出路由的实现上针对m+k进行编码,配置输出的i个端口。即每个端口都可以获得m+k比特的配置内容,用以选择对应的输出数据。这是对于输出的单元位置编码,可以简化输出路由的代价。而在编程模型上,选择对于单元的输出位置编码或者对于输出的单元位置编码,均是可以的。前者虽然在硬件实现上并不可取,但是对于统一输入输出路由的描述方式,则提供了很大的便利。故可以使用专门的编译单元或者硬件单元转换这两种编码方式。
参照图3,示出了本发明的动态可重构阵列全互联的输出路由的编码方法。
P1表示数据的行地址选择,P2表示数据的列地址选择
步骤104、将所述提取的数据输出。
输出路由将需要的数据提取出来之后,输入到输出FIFO,然后由输出FIFO将数据输出。
上文出现的n\m\k\j均为正整数。2n表示单个周期内输入到阵列的数据个数;2m表示阵列的宽度;2k表示阵列的深度;2j表示单个周期内从阵列输出的数据个数。
其中,2x不一定要取2的整数次幂(x表示2的指数),假定参数为A,这里只是使用整数x来表示可以取得刚好大于A的2x,即2x-1<A且2x≥A。
上述的编码方式也适用于多周期的输入输出情况。由于入口的数据宽度终究有限,大于宽度个数的数据需要分多个周期输入,在多个周期输入时,路由单元的编码方式需要另外再加上输入个数的配置部分(比如使用s比特来编码输入个数2s,使用这s比特来选择输入数据所在输入个数的位置),其余的部分还和以前一样。出口的情况同理。
参照图4,示出了本发明一种全互联路由结构动态可重构处理器的实施例一。本实施例包括:
输入FIFO201,输入多个待处理数据;
动态可重构阵列202,包括阵2m×2k列单元,所述的阵列单元包括x型的路由单元和白色的计算单元,每个路由单元连接输入FIFO201;动态可重构阵列202按列排列形成一维环状结构;经过x型路由单元将输入的每个待处理数据通过分配编码方法分配一个计算单元进行处理;
输出路由203,每个白色的计算单元连接输出路由,将处理完毕的数据通过提取编码方法提取所需数据;
输出FIFO204,连接输出路由203,用于将所述提取的数据输出。
数据流从输入FIFO201进入,沿着动态可重构阵列202的路由单元从左向右流动,经过输出路由203从输出FIFO204流出,形成一个一维互连结构。同时A位置和A’位置相重合,形成一维的互联环。
本发明中,路由单元结构(包括路由单元和输出路由204)连接了输入FIFO201,动态可重构阵列单元202,以及阵列单元之间的数据交互通道,形成了动态可重构处理器的基本计算通路。计算通路是一维结构,纵向是计算数据流(运算数据只能从阵列中的某一行传输给它的下一行),横向上可以自由通信(数据在阵列的一行之间可以自由取用,比如第二行的n个单元均可以使用第一行的第一个输出结果),同时环形的通路设计使计算深度可以进一步的延深(环形通信这里指当运算数据收到阵列的深度限制时,比如传输到最后一行时,可以返回连接第一行计算单元,故复用原有行中空闲的单元电路),达到计算单元利用的最大化。输入FIFO同时向动态可重构阵列输送多个数据,输出FIFO从阵列中同时取得多个数据,输入和输出均可以针对任意的可重构计算单元。故路由单元不但要处理运算单元间的数据;还需要在多个FIFO数据中选择输入和输出的位置。
参照图4,X型方格指动态可重构阵列的互联单元,白色方格指计算单元,十字型方格指阵列的输出路由。按从左至右的顺序,数据是从左到右横向流动的,第二列可以自由选择第一列的数据,最后一列的数据可以回到第一列来继续计算。互联单元均可以接受来自输入FIFO的数据,而输出数据通过输出路由连接到输出FIFO。
动态可重构阵列的全互联路由单元分成两部分实现,一部分实现计算单元输入的互联,另一部分实现计算单元输出的互联。
例如,可重构计算阵列大小为4x4,输入数据宽度是4个,输出数据宽度是4个。这样路由单元需要选择来自输入FIFO和上一行输出结果一共(4+4=)8个数据,使用3比特(取8以2为底的幂指数)编码的方式。第一比特选择来自FIFO还是来自上一行的输出结果,接下来两个比特选择FIFO或者上一行结果的位置。
输出路由则从(4x4=)16个计算单元的结果中进行选择,按照针对输出的单元位置编码,(这里一个周期可以输出4个数据)输出的每一个数据都获得4比特的输出配置信息。这4比特中,前两比特选择阵列的行(选择哪一行的单元输出),后两比特选择这一行中第几列(选择哪一列中的单元输出),最终得到满足这个行列位置选择的特定单元的计算结果。
参照图5,示出了本发明一种全互联路由结构动态可重构处理器的实施例二。
除了图4包括的结构,还包括了内部寄存器组205。输出路由203和路由x型单元这两种互联结构在阵列内通过内部寄存器组205相连接,形成从输出重新回到输入的环形通道。这种环形通道使得阵列的运算结果可以不用输出到外部,而在内部进行反复运算,成为节省接口数据带宽的有效手段。
本发明全互联路由结构动态可重构处理器还可以还包括硬件单元,连接每个计算单元和输出路由,用于转换对于计算单元的输出位置编码为对于输出的计算单元位置编码。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本发明所提供的一种全互联路由结构动态可重构数据处理方法及处理器进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (7)
1.一种全互联路由结构动态可重构数据处理方法,其特征在于:
步骤101、输入一个周期的待处理数据;
步骤102、将输入的每个待处理数据由每个路由单元按分配编码方法接收数据,输送到与每个路由单元相配的计算单元进行处理;
步骤103、将处理完毕的数据通过提取编码方法提取所需数据;
步骤104、将所述提取的数据输出。
2.如权利要求1所述的全互联路由结构动态可重构处理数据方法,其特征在于:
步骤102所述的分配编码方法具体包括:
当每个周期内输入阵列的数据个数为2n,阵列大小为2m×2k个,其中2m为行宽,2k为列宽时,对每个路由单元按照1+max(n,m)比特的形式进行编码。
3.如权利要求1所述的全互联路由结构动态可重构处理数据方法,其特征在于:
步骤103所述的提取编码方法具体包括:
当阵列大小为2m×2k个,每个周期输出数据为2j个时,输出路由针对m+k进行编码,配置输出路由的i个输出端口。
4.如权利要求3所述的全互联路由结构动态可重构处理数据方法,其特征在于:
提取编码方法为对于计算单元的输出位置编码或者对于输出的计算单元位置编码。
5.一种全互联路由结构动态可重构处理器,其特征在于:
包括:
输入FIFO,用于输入多个待处理数据;
动态可重构阵列,包括阵2m×2k列单元,所述的阵列单元包括路由单元和计算单元,每个路由单元连接输入FIFO;动态可重构阵列按列排列形成一维环状结构;用于将输入的每个待处理数据由每个路由单元按分配编码方法接收数据,输送到与每个路由单元相配的计算单元进行处理;
输出路由,每个计算单元连接输出路由,用于将处理完毕的数据通过提取编码方法提取所需数据;
输出FIFO,连接输出路由,用于将所述提取的数据输出。
6.如权利要求5所述的全互联路由结构动态可重构处理器,其特征在于:
还包括内部缓存,连接输出路由与动态可重构阵列的每个路由单元,用于使阵列的运算结果在内部反复运算。
7.如权利要求5所述的全互联路由结构动态可重构处理器,其特征在于:
还包括编译单元,连接每个计算单元和输出路由,用于转换对于计算单元的输出位置编码为对于输出的计算单元位置编码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110152239 CN102253920B (zh) | 2011-06-08 | 2011-06-08 | 一种全互联路由结构动态可重构数据处理方法及处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110152239 CN102253920B (zh) | 2011-06-08 | 2011-06-08 | 一种全互联路由结构动态可重构数据处理方法及处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102253920A true CN102253920A (zh) | 2011-11-23 |
CN102253920B CN102253920B (zh) | 2013-03-27 |
Family
ID=44981192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110152239 Active CN102253920B (zh) | 2011-06-08 | 2011-06-08 | 一种全互联路由结构动态可重构数据处理方法及处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102253920B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103914429A (zh) * | 2014-04-18 | 2014-07-09 | 东南大学 | 用于粗粒度动态可重构阵列的多模式数据传输互连器 |
CN104615488A (zh) * | 2015-01-16 | 2015-05-13 | 华为技术有限公司 | 异构多核可重构计算平台上任务调度的方法和装置 |
CN112989675A (zh) * | 2021-04-20 | 2021-06-18 | 北京智芯仿真科技有限公司 | 集成电路层间耦合即时更新的粗颗粒并行迭代方法及装置 |
CN115421788A (zh) * | 2022-08-31 | 2022-12-02 | 苏州发芯微电子有限公司 | 寄存器堆系统、方法及使用该寄存器堆的汽车控制处理器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1819667A (zh) * | 2005-02-08 | 2006-08-16 | 西门子公司 | 分配编码和调度编码的方法以及网络侧设备和无线电站 |
CN101625635A (zh) * | 2009-07-31 | 2010-01-13 | 清华大学 | 一种处理循环任务的方法、系统和设备 |
CN101630275A (zh) * | 2009-07-31 | 2010-01-20 | 清华大学 | 一种实现生成循环任务配置信息的方法和装置 |
-
2011
- 2011-06-08 CN CN 201110152239 patent/CN102253920B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1819667A (zh) * | 2005-02-08 | 2006-08-16 | 西门子公司 | 分配编码和调度编码的方法以及网络侧设备和无线电站 |
CN101625635A (zh) * | 2009-07-31 | 2010-01-13 | 清华大学 | 一种处理循环任务的方法、系统和设备 |
CN101630275A (zh) * | 2009-07-31 | 2010-01-20 | 清华大学 | 一种实现生成循环任务配置信息的方法和装置 |
Non-Patent Citations (1)
Title |
---|
MIN ZHU ET.AL: "a reconfigurable multi-processor SoC for media applications", 《PROCEEDINGS OF 2010 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS(ISCAS)》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103914429A (zh) * | 2014-04-18 | 2014-07-09 | 东南大学 | 用于粗粒度动态可重构阵列的多模式数据传输互连器 |
CN103914429B (zh) * | 2014-04-18 | 2016-11-23 | 东南大学 | 用于粗粒度动态可重构阵列的多模式数据传输互连器 |
CN104615488A (zh) * | 2015-01-16 | 2015-05-13 | 华为技术有限公司 | 异构多核可重构计算平台上任务调度的方法和装置 |
CN104615488B (zh) * | 2015-01-16 | 2018-01-19 | 华为技术有限公司 | 异构多核可重构计算平台上任务调度的方法和装置 |
US10552222B2 (en) | 2015-01-16 | 2020-02-04 | Huawei Technologies Co., Ltd. | Task scheduling method and apparatus on heterogeneous multi-core reconfigurable computing platform |
CN112989675A (zh) * | 2021-04-20 | 2021-06-18 | 北京智芯仿真科技有限公司 | 集成电路层间耦合即时更新的粗颗粒并行迭代方法及装置 |
CN115421788A (zh) * | 2022-08-31 | 2022-12-02 | 苏州发芯微电子有限公司 | 寄存器堆系统、方法及使用该寄存器堆的汽车控制处理器 |
CN115421788B (zh) * | 2022-08-31 | 2024-05-03 | 苏州发芯微电子有限公司 | 寄存器堆系统、方法及使用该寄存器堆的汽车控制处理器 |
Also Published As
Publication number | Publication date |
---|---|
CN102253920B (zh) | 2013-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Nabavinejad et al. | An overview of efficient interconnection networks for deep neural network accelerators | |
CN101782893B (zh) | 可重构数据处理平台 | |
CN102541809B (zh) | 一种动态可重构处理器 | |
US8803552B2 (en) | Reconfigurable sequencer structure | |
CN109284131B (zh) | 具有可编程优化的存储器-网络处理器 | |
Mohanty et al. | Memory footprint reduction for power-efficient realization of 2-D finite impulse response filters | |
CN111291859A (zh) | 通用矩阵-矩阵乘法数据流加速器半导体电路 | |
CN107807819A (zh) | 一种支持离散数据表示的用于执行人工神经网络正向运算的装置及方法 | |
CN102508643A (zh) | 一种多核并行数字信号处理器及并行指令集的运行方法 | |
CN110276450A (zh) | 基于多粒度的深度神经网络结构化稀疏系统和方法 | |
CN1434380A (zh) | 图像处理装置和方法以及用于该装置的编译程序 | |
CN102214158B (zh) | 一种全互联路由结构动态可重构处理器 | |
CN105630735A (zh) | 一种基于可重构计算阵列的协处理器 | |
KR20010015731A (ko) | 복합 어레이 처리에 대한 방법 및 장치 | |
CN102253920B (zh) | 一种全互联路由结构动态可重构数据处理方法及处理器 | |
Khailany et al. | Exploring the VLSI scalability of stream processors | |
CN102637157A (zh) | 一种片上数字模板系统dtsoc | |
CN102495719A (zh) | 一种向量浮点运算装置及方法 | |
CN102306141B (zh) | 一种描述动态可重构阵列配置信息的方法 | |
US10564929B2 (en) | Communication between dataflow processing units and memories | |
CN101620587B (zh) | 柔性可重构任务处理单元结构 | |
Javaid et al. | Optimal synthesis of latency and throughput constrained pipelined MPSoCs targeting streaming applications | |
CN114356836A (zh) | 基于risc-v的三维互联众核处理器架构及其工作方法 | |
CN102567279B (zh) | 一种动态可重构阵列时序配置信息的生成方法 | |
CN110503179A (zh) | 计算方法以及相关产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |