CN102722353B - Java处理器浮点运算单元及其控制方法 - Google Patents

Java处理器浮点运算单元及其控制方法 Download PDF

Info

Publication number
CN102722353B
CN102722353B CN201210160866.XA CN201210160866A CN102722353B CN 102722353 B CN102722353 B CN 102722353B CN 201210160866 A CN201210160866 A CN 201210160866A CN 102722353 B CN102722353 B CN 102722353B
Authority
CN
China
Prior art keywords
floating
operand
java processor
point unit
unit
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.)
Expired - Fee Related
Application number
CN201210160866.XA
Other languages
English (en)
Other versions
CN102722353A (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.)
SYSU HUADU INDUSTRIAL SCIENCE AND TECHNOLOGY INSTITUTE
Original Assignee
GUANGZHOU KINGRAY INFORMATION 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 GUANGZHOU KINGRAY INFORMATION TECHNOLOGY Co Ltd filed Critical GUANGZHOU KINGRAY INFORMATION TECHNOLOGY Co Ltd
Priority to CN201210160866.XA priority Critical patent/CN102722353B/zh
Publication of CN102722353A publication Critical patent/CN102722353A/zh
Application granted granted Critical
Publication of CN102722353B publication Critical patent/CN102722353B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Advance Control (AREA)

Abstract

本发明公开了一种满足嵌入式系统对高精度运算的要求的Java处理器浮点运算单元及其控制方法,它作为硬件加速器直接连接至Java处理器核心,FPU的输入端口接收来自于Java处理器核心的时钟输入、开始信号、操作数A、操作数B、运算符以和舍入方式。FPU包括运算单元和多路输出选择器,FPU根据输入的运算符选择相应的运算单元,运算单元实现各种基本运算操作,运算单元分为加减运算单元、乘运算单元和除运算单元,多路输出选择器根据输入的运算符选择相应的运算单元的运算结果寄存器,同时还检查运算操作和待输出的运算结果是否触发标准定义的浮点异常,如果是,则输出相应的异常信号;否则FPU输出端口将完成信号和该寄存器内的运算结果发送至Java处理器核心。

Description

Java处理器浮点运算单元及其控制方法
技术领域
本发明属于嵌入式处理器设计技术领域,具体来说,涉及一种支持浮点类型运算,可以使得浮点运算更加直接高效,并且满足嵌入式系统对高精度运算的要求的Java处理器浮点运算单元及其控制方法。
背景技术
随着Java语言在嵌入式领域中的应用日益广泛,Java处理器也逐渐受到系统开发者的青睐。Java处理器通过硬件的方式实现了Java虚拟机(Java Virtual Machine,JVM),可以直接运行Java字节码。与Java虚拟机相同,Java处理器多数采用堆栈体系结构,即在Java处理器系统中,绝大部分的Java字节码的操作都与堆栈有关。
当前嵌入式应用对高精度运算的需求越来越大,这就要求Java处理器必须具备浮点运算能力。一部分Java处理器通过软件的方式来实现浮点运算指令,即把浮点运算指令翻译成一段整型运算程序,从而实现浮点运算,这种方式的优点是不需要额外的硬件支持,缺点是效率极低。另一部分Java处理器通过硬件的方式来支持浮点运算指令,即设计专门的浮点运算单元(Floating Point Unit,FPU)来进行浮点类型的运算,这种方式的缺点是需要额外的硬件支持,优点是效率比软件方式的高,然而在半导体技术飞速发展的今天,在大多数场合,效率远比硬件消耗重要。
在国内外为数不多的Java处理器中,具备很高实用价值和研究价值,同时属于开源项目的有奥地利Wien大学的学者Martin Schoeberl设计的JOP(Java Optimized Processor)。在JOP系统中,浮点运算单元是作为外围设备模块,挂载在JOP自定义的系统总线SimCon上的,它有独立的访问地址,Java处理器核心需要把浮点运算的操作数、运算符以及舍入方式等分别写入相应的地址,才能使得浮点运算单元开始工作,浮点运算单元准备好运算结果后,处理器核心需要经过总线去读取相应的地址才能获得这个结果。这个方法的优点是简单、易于管理,但是浮点运算单元与Java处理器核心之间经过了总线,导致通信不直接,从而极大地限制了运行效率的提高。
中国专利申请号200710179973.6的专利申请“一种并行浮点乘加单元”中公开了一种浮点运算单元,可以同时实行一条加法指令和一条乘法指令,对一些发生了数据相关的连续两条指令进行加速。但是在基于堆栈体系结构的Java处理器系统中,一次只能提供两个操作数,分别存放于堆栈的栈顶(TOS)和次栈顶(NOS),因此无法采用此种并行运算的方法。
发明内容
针对以上的不足,本发明提供了一种Java处理器浮点运算单元及其控制方法,本发明通过浮点运算单元和对应的控制方法,不仅提供了浮点类型运算的支持,还可以使得浮点运算更加直接高效,以满足嵌入式系统对高精度运算的要求。
本发明的Java处理器浮点运算单元作为硬件加速器直接连接至Java处理器核心,用于接收来自于Java处理器核心的开始信号、操作数A、操作数B和运算符,根据运算符对操作数A和操作数B进行相关运算操作,并将完成信号和运算结果发送至Java处理器核心。
它包括运算单元和多路输出选择器,Java处理器浮点运算单元根据运算符选择相应的运算单元对操作数A和操作数B进行相关运算操作,运算单元分为加减运算单元、乘运算单元和除运算单元,加减运算单元对操作数A和操作数B进行加减运算操作;乘运算单元对操作数A和操作数B进行乘法运算操作;除运算单元对操作数A和操作数B进行除法运算操作,多路输出选择器根据运算符选择相应的运算单元的运算结果寄存器,并将完成信号和该寄存器内的运算结果发送至Java处理器核心。
所述多路输出选择器同时还检查运算操作和待输出的运算结果是否触发标准定义的浮点异常,如果是,则输出相应的异常信号;否则直接输出完成信号和待输出的运算结果。
所述异常信号包括溢出、被零除、无穷大、零、不准确、非法操作QNAN和非法操作SNAN。
每一所述运算单元均由三级流水实现,第一级流水线:前置规格化,把操作数的尾数转换成规格化数;第二级流水线:运算核心,完成基本的加法、减法、乘法或者除法算术运算操作;第三级流水线:后置规格化,把运算结果转换成IEEE 754标准声明的浮点表示格式。
所述算术运算操作包括对阶码和尾数相应的算术运算操作。
它还接收来自于Java处理器核心的舍入方式信号,运算核心对初步的运算结果进行舍入操作。
所述舍入方式采用就近舍入方式、向零舍入方式、向上舍入方式或向下舍入方式。
本发明的Java处理器浮点运算单元的控制方法包括如下步骤:步骤一,把浮点运算单元作为硬件加速器连接到Java处理器核心;步骤二,定义专门的本地指令,即专门用于控制浮点运算单元的控制微码,控制微码控制浮点运算单元完成从读取参数到返回运算结果的整个过程;步骤三,根据控制微码实现Java字节码中浮点运算指令。
所述控制微码包括控制浮点运算单元完成读取参数操作和基本运算操作的第一类微码,以及控制浮点运算单元将运算结果返回到Java处理器核心的第二类微码。
本发明的有益效果:本发明设计的浮点运算单元非常适用于Java处理器的堆栈体系结构,而且完全符合IEEE 754标准,此外还提出了相应的控制方法,使得浮点运算单元能真正融入Java处理器,从而使得Java处理器运行浮点字节码指令更加直接、高效。
附图说明
图1为本发明的Java处理器浮点运算单元的框架示意图;
图2为本发明的浮点运算单元连接到Java处理器核心的原理示意图;
图3为本发明执行浮点运算字节码前后堆栈变化情况示意图;
图4为本发明用微码程序段实现Java字节码示意图。
具体实施方式
下面结合附图对本发明进行进一步阐述。
本发明的浮点运算单元及其控制方法,是针对基于堆栈体系结构的Java处理器系统的,该浮点运算单元接口简单,非常适合与Java处理器核心连接,可以与堆栈体系结构完美融合;相应的控制方法贯穿从底层的微码到上层的Java字节码,直接高效。
如图1和图2,本发明的Java处理器浮点运算单元(简称为FPU)作为硬件加速器直接连接至Java处理器核心,整个FPU的输入端口接收来自于Java处理器核心的时钟输入、开始信号(start)、操作数A、操作数B、运算符以和舍入方式,FPU输出端口包括完成信号(ready)、运算结果和异常输出。FPU包括运算单元和多路输出选择器,FPU根据输入的运算符选择相应的运算单元对操作数A和操作数B进行相关运算操作,运算单元实现各种基本运算操作,运算单元分为加减运算单元、乘运算单元和除运算单元,加减运算单元对操作数A和操作数B进行加减运算操作;乘运算单元对操作数A和操作数B进行乘法运算操作;除运算单元对操作数A和操作数B进行除法运算操作,多路输出选择器根据输入的运算符选择相应的运算单元的运算结果寄存器,同时还检查运算操作和待输出的运算结果是否触发标准定义的浮点异常,如果是,则输出相应的异常信号;否则直接将完成信号(ready)和该寄存器内的运算结果发送至Java处理器核心,其中,异常信号包括溢出、被零除、无穷大、零、不准确、非法操作QNAN和非法操作SNAN。
操作数A和操作数B分别来自Java处理器核心堆栈的栈顶(TOS)和次栈顶(NOS),运算符和舍入方式来自Java处理器核心的译码模块,当来自的译码模块的运算开始信号(start)为高电平时,FPU开始工作,其运算步骤如下:
步骤A,根据运算符的值选择相应的运算单元。运算符值为“00”时,为加法运算,选择加减运算单元,为“01”时,为减法运算,同样是选择加减运算单元,为“10”时,选择乘运算单元,为“11”时,选择除运算单元。
步骤B,启动相应运算单元的前置规格化。把操作数A和操作数B的格式转换成内部更容易处理的格式,即把操作数的尾数转换成规格化数。
步骤C,根据相应的算法完成基本的算术运算。包括阶码和尾数相应的算术运算,另外还需要根据舍入方式的值对初步的运算结果进行舍入操作,其中,当舍入方式的值为“00”时,采用就近舍入的方法,为“01”时,采用向零舍入,为“10”时,采用向上舍入,为“11”时,采用向下舍入。
步骤D,完成运算结果的后置规格化。如果可能的话,把步骤C的运算结果规格化,也就是使小数点前一位为‘1’,然后把它转换成IEEE754标准声明的浮点表示格式。
步骤E,启动多路输出选择器。多路输出选择器根据运算符的值,选择相应的运算单元的结果寄存器,并检查是否触发了IEEE 754标准定义的浮点异常,是则输出相应的异常信号,否则把运算结果输出,同时使运算完成信号(ready)有效。
经过以上步骤,FPU完成一次浮点运算,下面详细说明Java处理器对其的控制方法,它包括三个步骤:
步骤一、把FPU与Java处理器核心连接起来。作为硬件加速器,FPU与处理器核心之间的通信应该尽量直接,FPU对处理器核心的控制信号响应应该尽量迅速,只有这样才能得到更高的运算效率。如图2所示,本发明的控制方法中,FPU的两个操作数(操作数A和操作数B)直接与堆栈的栈顶(TOS)和次栈顶(NOS)相连;开始信号(start)、运算符以和舍入方式都是直接来自译码模块,当运行到浮点运算指令时,译码模块可以第一时间将控制信号发送到FPU;运算结果直接返回到处理器核心堆栈的栈顶数据输入寄存器(DATA),栈顶可以在第一时间得到运算结果。
步骤二、定义专门用于控制FPU的本地指令,即控制微码。这些控制微码应该能够控制FPU完成从读取参数到返回运算结果的整个过程。因此本发明定义了两类控制微码,第一类微码控制FPU读取参数(包括操作数、运算符以及舍入方式)并开始运算,第二类微码则控制FPU将运算结果返回到栈顶。
在本实施例中,针对浮点加减乘除运算定义了四条第一类控制微码,如图4所示,第一类控制微码分别是:
浮点加运算微码,助记符为“stfadd”,操作码为0x05,完成的功能为:栈顶和次栈顶元素分别作为FPU的两个操作数,使运算符为“00”,并使FPU开始运算,即使start信号有效。
浮点减运算微码,助记符为“stfsub”,操作码为0x06,完成的功能为:栈顶和次栈顶元素分别作为FPU的两个操作数,使运算符为“01”,并使FPU开始运算,即使start信号有效。
浮点乘运算微码,助记符为“stfmul”,操作码为0x07,完成的功能为:栈顶和次栈顶元素分别作为FPU的两个操作数,使运算符为“10”,并使FPU开始运算,即使start信号有效。
浮点除运算微码,助记符为“stfdiv”,操作码为0x08,完成的功能为:栈顶和次栈顶元素分别作为FPU的两个操作数,使运算符为“11”,并使FPU开始运算,即使start信号有效。
这一类微码涉及到的堆栈数据流描述如下:栈顶和次栈顶元素被读取作为FPU操作数后出栈,由堆栈存储区的头两个数据来填充栈顶和次栈顶,同时堆栈存储区指针减二。
本实施例还定义了一条第二类的控制微码,助记符为“ldfpu”,操作码为0xE6,完成把FPU运算得到的结果压入堆栈栈顶的控制功能,堆栈数据流描述如下:运算结果被压入栈顶,原栈顶元素被压入次栈顶,原次栈顶元素保存到堆栈存储区的第一个位置,同时堆栈存储区指针加一,如图3所示。
步骤三、用步骤二定义的控制微码来实现Java字节码中浮点运算指令。在步骤二针对FPU新定义了微码之后,实现Java字节码中的浮点运算指令并不困难,只需要简单的微码子程序段便可以实现原来只能用Java方法来实现的浮点运算字节码。
在Java虚拟机的指令集中,单精度浮点类型的数学运算指令包括fadd、fsub、fmul以及fdiv,分别对应加、减、乘、除四种单精度浮点运算,它们的操作码分别是0x62、0x66、0x6A和0x6E。在执行这些字节码指令前后堆栈的变化情况如图3所示。在图3中,result是value1与value2进行相应浮点运算得到的运算结果。可以看到这四条字节码指令的功能都是对栈顶元素与次栈顶元素进行相应的运算,得到的结果替代它们在堆栈中的位置。
根据浮点运算字节码的功能描述,本实施例编写了微码子程序段来实现fadd、fsub、fmul以及fdiv这四条字节码的功能,示意图如图4所示。在示意图的微码子程序段中,先由stfadd或stfsub或stfmul或stfdiv从堆栈的栈顶和次栈顶取出FPU需要的两个操作数,并且使FPU开始相应的运算,然后等待特定数目的时钟周期,最后由ldfpu指令完成把运算结果压入栈顶的步骤,至此完全实现了fadd、fsub、fmul或fdiv的功能。
在本实施例中,采用本发明的运算单元和控制方法后,运行浮点运算的过程描述如下:取字节码模块取到fadd、fsub、fmul或fdiv中的其中一个,比如fadd,则此时取微码模块取出与fadd相对应的微码子程序段,交给译码模块进行译码,译码模块识别出stfadd指令,使栈顶和次栈顶元素成为FPU的操作数并出栈,同时使运算符为“00”,start信号有效。此时FPU开始运算,Java处理器核心开始8个周期的无操作(nop)等待。等待结束,译码模块识别出ldfpu指令,把运算结果压入栈顶。至此完成一次单精度浮点运算流程。
以上所述仅为本发明的较佳实施方式,本发明并不局限于上述实施方式,在实施过程中可能存在局部微小的结构改动,如果对本发明的各种改动或变型不脱离本发明的精神和范围,且属于本发明的权利要求和等同技术范围之内,则本发明也意图包含这些改动和变型。

Claims (8)

1.一种Java处理器浮点运算单元,其特征在于,它作为硬件加速器直接连接至Java处理器核心,用于接收来自于Java处理器核心的开始信号、操作数A、操作数B和运算符,根据运算符对操作数A和操作数B进行相关运算操作,并将完成信号和运算结果发送至Java处理器核心,它包括运算单元和多路输出选择器,Java处理器浮点运算单元根据运算符选择相应的运算单元对操作数A和操作数B进行相关运算操作,运算单元分为加减运算单元、乘运算单元和除运算单元,加减运算单元对操作数A和操作数B进行加减运算操作;乘运算单元对操作数A和操作数B进行乘法运算操作;除运算单元对操作数A和操作数B进行除法运算操作,多路输出选择器根据运算符选择相应的运算单元的运算结果寄存器,并将完成信号和该寄存器内的运算结果发送至Java处理器核心。
2.根据权利要求1所述的Java处理器浮点运算单元,其特征在于,所述多路输出选择器同时还检查运算操作和待输出的运算结果是否触发标准定义的浮点异常,如果是,则输出相应的异常信号;否则直接输出完成信号和待输出的运算结果。
3.根据权利要求2所述的Java处理器浮点运算单元,其特征在于,所述异常信号包括溢出、被零除、无穷大、零、不准确、非法操作QNAN和非法操作SNAN。
4.根据权利要求1所述的Java处理器浮点运算单元,其特征在于,每一所述运算单元均由三级流水实现,
第一级流水线:前置规格化,把操作数的尾数转换成规格化数;
第二级流水线:运算核心,完成基本的加法、减法、乘法或者除法算术运算操作;
第三级流水线:后置规格化,把运算结果转换成IEEE 754标准声明的浮点表示格式。
5.根据权利要求4所述的Java处理器浮点运算单元,其特征在于,所述算术运算操作包括对阶码和尾数相应的算术运算操作。
6.根据权利要求4所述的Java处理器浮点运算单元,其特征在于,它还接收来自于Java处理器核心的舍入方式信号,运算核心对初步的运算结果进行舍入操作。
7.根据权利要求6所述的Java处理器浮点运算单元,其特征在于,所述舍入方式采用就近舍入方式、向零舍入方式、向上舍入方式或向下舍入方式。
8.一种Java处理器浮点运算单元的控制方法,其特征在于,它包括如下步骤:
步骤一,把浮点运算单元作为硬件加速器连接到Java处理器核心;
步骤二,定义专门的本地指令,即专门用于控制浮点运算单元的控制微码,控制微码控制浮点运算单元完成从读取参数到返回运算结果的整个过程;
所述控制微码包括控制浮点运算单元完成读取参数操作和基本运算操作的第一类微码,以及控制浮点运算单元将运算结果返回到Java处理器核心的第二类微码;
步骤三,根据控制微码实现Java字节码中浮点运算指令。
CN201210160866.XA 2012-05-22 2012-05-22 Java处理器浮点运算单元及其控制方法 Expired - Fee Related CN102722353B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210160866.XA CN102722353B (zh) 2012-05-22 2012-05-22 Java处理器浮点运算单元及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210160866.XA CN102722353B (zh) 2012-05-22 2012-05-22 Java处理器浮点运算单元及其控制方法

Publications (2)

Publication Number Publication Date
CN102722353A CN102722353A (zh) 2012-10-10
CN102722353B true CN102722353B (zh) 2015-09-23

Family

ID=46948135

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210160866.XA Expired - Fee Related CN102722353B (zh) 2012-05-22 2012-05-22 Java处理器浮点运算单元及其控制方法

Country Status (1)

Country Link
CN (1) CN102722353B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101156131A (zh) * 2005-04-15 2008-04-02 爱特梅尔公司 使用本机指令将操作数堆栈作为寄存器堆的微处理器存取
CN101178645A (zh) * 2007-12-20 2008-05-14 清华大学 一种并行浮点乘加单元

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101156131A (zh) * 2005-04-15 2008-04-02 爱特梅尔公司 使用本机指令将操作数堆栈作为寄存器堆的微处理器存取
CN101178645A (zh) * 2007-12-20 2008-05-14 清华大学 一种并行浮点乘加单元

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Schoeberl Martin.JOP Architecture.《JOP:A Java Optimized Processor for Embedded Real-Time Systems》.2008,第55-66页. *
一种堆栈型Java处理器的流水线设计;杨骥等;《计算机工程与设计》;20041231;第25卷(第12期);第2357-2359页 *

Also Published As

Publication number Publication date
CN102722353A (zh) 2012-10-10

Similar Documents

Publication Publication Date Title
US10469397B2 (en) Processors and methods with configurable network-based dataflow operator circuits
US10387319B2 (en) Processors, methods, and systems for a configurable spatial accelerator with memory system performance, power reduction, and atomics support features
US10467183B2 (en) Processors and methods for pipelined runtime services in a spatial array
US10558575B2 (en) Processors, methods, and systems with a configurable spatial accelerator
US10416999B2 (en) Processors, methods, and systems with a configurable spatial accelerator
US10445098B2 (en) Processors and methods for privileged configuration in a spatial array
US10445451B2 (en) Processors, methods, and systems for a configurable spatial accelerator with performance, correctness, and power reduction features
CN109643228B (zh) 用于浮点乘加运算的低能耗尾数乘法
US11086816B2 (en) Processors, methods, and systems for debugging a configurable spatial accelerator
KR101566257B1 (ko) 입력 데이터 값에 따른 결합형 곱셈-덧셈 (fma) 유닛의 전력 소모 절감
US10817291B2 (en) Apparatuses, methods, and systems for swizzle operations in a configurable spatial accelerator
US11029958B1 (en) Apparatuses, methods, and systems for configurable operand size operations in an operation configurable spatial accelerator
US20190004878A1 (en) Processors, methods, and systems for a configurable spatial accelerator with security, power reduction, and performace features
US10459866B1 (en) Apparatuses, methods, and systems for integrated control and data processing in a configurable spatial accelerator
US20200410323A1 (en) Apparatuses, methods, and systems for memory interface circuit arbitration in a configurable spatial accelerator
US20200409709A1 (en) Apparatuses, methods, and systems for time-multiplexing in a configurable spatial accelerator
US11907713B2 (en) Apparatuses, methods, and systems for fused operations using sign modification in a processing element of a configurable spatial accelerator
JP2006154979A (ja) 浮動小数点数演算回路
Tiwari et al. Peri: A posit enabled RISC-V core
CN102722353B (zh) Java处理器浮点运算单元及其控制方法
CN104823153A (zh) 引导变化预测器逻辑
Goulding-Hotta Specialization as a Candle in the Dark Silicon Regime
Cardarilli et al. Algorithm acceleration on LEON-2 processor using a reconfigurable bit manipulation unit
Yu et al. Performance optimisation strategies for automatically generated FPGA accelerators for biomedical models
CN118092853B (zh) 基于risc-v浮点超越函数指令集扩展方法及装置

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
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160304

Address after: 510006, No. 8, Jinghu Avenue, Xinhua Street, Huadu District, Guangdong, Guangzhou

Patentee after: Guangzhou Kingray Information Technology Co., Ltd.

Patentee after: SYSU HUADU INDUSTRIAL SCIENCE AND TECHNOLOGY INSTITUTE

Address before: 510006, No. 8, Jinghu Avenue, Xinhua Street, Huadu District, Guangdong, Guangzhou

Patentee before: Guangzhou Kingray Information Technology Co., Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210512

Address after: 510006 No.8, Jinghu Avenue, Xinhua Street, Huadu District, Guangzhou City, Guangdong Province

Patentee after: SYSU HUADU INDUSTRIAL SCIENCE AND TECHNOLOGY INSTITUTE

Address before: 510006 No.8, Jinghu Avenue, Xinhua Street, Huadu District, Guangzhou City, Guangdong Province

Patentee before: GUANGZHOU KINGRAY INFORMATION TECHNOLOGY Co.,Ltd.

Patentee before: SYSU HUADU INDUSTRIAL SCIENCE AND TECHNOLOGY INSTITUTE

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150923

Termination date: 20210522