CN108845659A - 一种功耗优先的嵌入式处理器实时任务分配方法 - Google Patents
一种功耗优先的嵌入式处理器实时任务分配方法 Download PDFInfo
- Publication number
- CN108845659A CN108845659A CN201810091744.7A CN201810091744A CN108845659A CN 108845659 A CN108845659 A CN 108845659A CN 201810091744 A CN201810091744 A CN 201810091744A CN 108845659 A CN108845659 A CN 108845659A
- Authority
- CN
- China
- Prior art keywords
- frequency
- task
- power consumption
- cpu
- time
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
本发明提出了一种功耗优先的嵌入式处理器实时任务分配方法,通过确定嵌入式处理器各工作频率段与功耗之间对应的关系,进而提出一种既满足功耗优先又满足实时性要求的任务分配方法。该方法先通过一个测试任务计算其在处理器某个频率段的工作时间,然后通过嵌入式处理各频率段的频率比值换算出上述工作任务在所有频率段的工作时间,进而计算出测试任务在每一个频率段上工作的功耗开销,确定工作频率与功耗的对应关系。最后找出执行任务的最佳功耗频率段,对应用的计算任务进行分配。该方法操作简单,实用性强。可广泛适用于各种嵌入式***软件的开发。
Description
技术领域
本发明属于嵌入式处理器功耗管理领域,特别是涉及到可以工作在多个频 率段的嵌入式处理器的功耗管理课题。
背景技术
嵌入式设备的各种硬件中,中央处理器(CPU,Central Processing Unit)是 耗电的主要部件之一,例如,在拥有四核CPU的三星Galaxy S3智能手机中,CPU 的功率高达2845mW,是屏幕最大功率2.43倍,也是3G接口的最大功率的2.5 倍。CPU功耗管理是嵌入式设备功耗优化的主要任务。
当前众多关于嵌入式设备CPU功耗优化的方法大多在内核级别做任务调度 策略的优化:如Sangwook Kim等科研人员提出了一种事件处理为导向的实时高 响应度CPU调度方法,Jong-Moon Chung等科研人员提出了一种响应时间步长 控制策略(RSC)用于改善传统动态电压调频(DVFS)响应缓慢的问题;公开专 利CN105740075A,公开了一种内核层级的CPU调度策略,设置了多个升频降 频阈值,分多个梯度来调节CPU频率。公开专利CN107506244A提出了一种结 合网络服务器给移动端软件做任务调度的方法。以上内核级别的优化调度算法可 以很精确的控制处理器的频率变化,优化处理器的性能与功耗。但是当处理周期 性的高计算复杂度的任务时,上述的内核调度算法会频繁唤醒CPU,在高频率段完成该任务,功耗开销也相应增大。针对该问题,根据嵌入式处理器的芯片特 性,计算单位工作量的工作频率与功耗的对应关系表,提出一种多任务分配方法, 把大任务分配为子任务执行,减少任务连续占用CPU的时间,从而使CPU在任 务周期内既实现了低功耗又满足了任务的实时性要求。
发明内容
本发明的目的在于,通过计算实时周期性任务复杂度、工作频率与功耗之间 的对应关系,提出了一种优化嵌入式处理器计算任务分配方法,在任务周期内实 现频率和功耗的最佳平衡。
本发明的技术方法如下:
一种功耗优先的嵌入式处理器实时任务分配方法,其特征在于,包含以下步 骤:
步骤1、获取频率段、电流和电压参数:获取CPU在不同频率段fj(j=1,2… N,N为CPU支持的频率段。本说明书所有的j均表示相同含义。)的工作电流 Ij与电源的额定电压U。
步骤2、计算单一任务在CPU最高频率段的运行时间:通过给定合适的单 线程计算任务,测量该任务在CPU最高频率fH的运行时间tH。
步骤3、计算单一任务在CPU所有频率段的运行时间:通过频率之间的比 例换算出该任务在所有频率段的运行时间tj;
步骤4、计算工作频率与功耗关系表:根据功耗公式:
Q=UIjtj(一)
计算出处理器在不同频率段完成同一工作任务的功耗。不同工作频率完成单 一任务的功耗特征在于:随着工作频率越大,功耗越大的趋势,局部可能会出现 若干功耗极小值点。
上述计算工作频率与功耗关系的方法,步骤2中,一定时间理论上可以是任 意能够被采集到的CPU工作时间,可以任意选择计算任务,CPU不同工作频率 的比例换算是一致的,频率与功耗的变化趋势与计算任务无关。
上述计算工作频率与功耗关系的方法,确定了嵌入式处理器各工作频率段与 功耗之间的对应关系,针对该特性,我们提出了一种任务分配方法:
步骤a、选择执行任务的最佳频率段:设目标任务的限定时间为Tlim,任务运 行在CPU最高频率fH的执行时间为TH。设将计算任务置于低频段运行时的CPU 使用率(纯计算时间在任务周期的占比)为u,则根据公式(二)计算理论最佳 功耗频率fW:
由于CPU工作频率段有限,实际最佳功耗频率应该从CPU频率段中选择大 于fW的频率点fWR,作为理想功耗点。
步骤b,分割并执行计算任务:根据实际最佳功耗频率fWR,将需要在限定 周期Tlim内完成的长任务分配为短任务,设短任务的周期时间为Tsam,短任务的 CPU持续计算时间为TSW,其中TSW=Tsam·u。每个短周期Tsam内,CPU持续计算 时间为TSW,然后释放CPU,等一个Tsam周期结束进入下一Tsam周期。任务分配 方法流程图如附图一,任务分配示意图附图二所示。
本发明的优势在于,根据嵌入式处理器的工作频率与功耗之间对应的关系表, 提出了一种任务分配的方法。可以保证在限定时间内完成计算任务的前提下,单 一任务的功耗开销最小。整个分配方法,简单明了,可实施性强。
附图说明
图1是本发明的方法流程示意图。
图2是本发明的任务分配流程图。
图3是本发明实施例的频率与功耗关系表。
具体实施方式
本发明主要通过计算CPU频率与功耗的关系表,对计算任务进行分配,保 证在任务期限时间内,用最佳功耗频率点完成计算任务。
在本实施例中,以MJPEG格式视频压缩应用为例对本发明的流程进行具体 的阐述。摄像头实时获取的图像为位图格式,将其压缩为JPEG格式。设置MJPEG 每一帧的频率为25Hz,每一帧的限制时间Tlim要求为40ms。根据实际的监测结 果,分配任务前完成MJPEG图像压缩每一帧的总时间为10ms,功耗为15.4*10-3j, 分配任务后,Bitmap图像的压缩总时间为19ms,功耗为19.5*10-3j,节能18.46.%。
实施例使用的设备为NEXUS 5手机,具体参数与实施例中要采集的参数信 息如下:
CPU型号高通骁龙800,同架构四核心
操作***:Android 5.1
额定电压U:4.2V
实施例需要采集的数据与对应的接口:
A:NEXUS 5的CPU调度算法ondemandgovernor[6](按需模式)的参数文 件路,读取sampling_rate_min与sampling_rate文件可以获得采样CPU使用率 的周期Tsam=10ms,读取up_threshold文件可以获得CPU上调频率的使用率阈值 u=80%。
B:NEXUS 5的CPU频率段文件路径:
/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
步骤1、提取各频率段工作电流及工作电压:通过Linux***接口可以读取 预置与安卓手机的power_profile.xml文件,也可按照安卓官方指导文档[8]使用功 耗测量仪测试CPU在不同频段fj对应的电流值ij。
步骤2、计算处理器在最高频率段的功耗:我们选取大质数检测算法进行 CPU功耗测算。通过选取大质数2402203,使CPU处于最高频率2265MHz持续 运算,计算时间Th=200ms。
步骤3、计算处理器在所有频率段的功耗:通过各频率段与最高频率段的频 率比值换算,可以计算质数2402203在各频率段的执行时间tj。
步骤4、计算工作频率与功耗关系表由能量公式(一):Q=UIjtj可以计算出 各频率段对应的能量消耗。由步骤2的各频率段的功耗绘制以CPU频率为横坐 标,计算任务的功耗为纵坐标的表图,如附图三。NEXUS 5手机的功耗大致随 频率的增大而增加,其中有两个“极小值点”,883MHz与1190MHz,其中883MHz 的功耗值优于比它更低的频率,即把任务分配给883MHz不仅可以更快的完成, 而且完成整个任务的总功耗更低。1190MHz的功耗值优于小于它的1036MHz与 960MHz,即把任务分配到1190MHz与分配到1036MHz与960MHz上运行相比 可以完成的更快,而且完成任务的功耗更低。
步骤5、选择执行任务的最佳频率段:实施例选取MJPEG格式视频压缩作 为计算任务,每一帧位图压缩为JPEG的限制时间Tlim=40ms,NEXUS 5手机的的 fH=2265MHz,图像压缩在fH上运行的平均时间TH=10ms,则根据公式(二): 计算理论最佳频率fW=1014.72MHz。由于CPU是按照频率 段进行运行的,实际最佳功耗频率应该从CPU频率段序列中选择大于fW的最小 频率fWR。根据NEXUS 5的频率表(如上述实施例接口B所示),可以得知预判 的实际最近频率为fWR=1190MHz。该公式中的Tsam和u可由上述实施例接口A的 方式获得。1190MHz正好也是频率功耗表图的最佳功耗点,属于功耗比较理想 的频率段。既满足了功耗优先又满足了实时性要求。
步骤6、根据步骤5的实际最佳功耗频率fWR,将需要在限定周期Tlim内完成 的长任务分配为短任务,短任务的CPU持续计算时间为TSW,以周期Tsam为间 隔顺序执行到任务完成。其中TSW=Tsam·u。实施例中TSW=8ms。每个短周期Tsam内,CPU持续计算时间为TSW,然后释放CPU,等一个Tsam周期结束进入下一 Tsam周期。
本发明的优势在于,通过应用开发者对于应用计算任务的优化分配,保证 CPU在限定的时间内用实际最佳功耗频率完成任务,可以有效减少CPU频率频 繁跳变或者长时间保持高频率,操作简单,应用层的程序员也可以做到CPU的 功耗节能优化,可以很好地满足实时要求,可广泛应用于Android,Linux应用 开发。
本文中所阐述的具体实施例仅仅是对本发明的方法作举例说明。本发明所属 技术领域的技术人员可以对所描述的具体实施例做各种符合自己需求的修改或 补充或采用类似的方式替代,但并不会偏离本发明的思想或者超越所附权利要求 书所定义的范围。
Claims (1)
1.一种能耗优先的嵌入式处理器实时任务分配方法,其特征在于,包含以下步骤:
步骤1、获取频率段、电流和电压参数:获取CPU在不同频率段fj的工作电流Ij与电源的额定电压U,其中,j=1,2…N,N为CPU支持的频率段;
步骤2、计算单一任务在CPU最高频率段的运行时间:通过给定合适的单线程计算任务,测量该任务在CPU最高频率fH的运行时间tH;
步骤3、计算单一任务在CPU所有频率段的运行时间:通过频率之间的比例换算出该任务在所有频率段的运行时间tj;
步骤4、计算工作频率与功耗关系表:根据功耗公式:
Q=UIjtj式一
计算出处理器在不同频率段完成同一工作任务的功耗,随着工作频率越大,功耗越大的趋势,局部可能会出现若干功耗极小值点,本步骤通过计算工作频率与功耗关系确定了嵌入式处理器各工作频率段与功耗之间的对应关系,具体是基于任务分配方法得到,包括:
步骤a、选择执行任务的最佳频率段:设目标任务的限定时间为Tlim,任务运行在CPU最高频率fH的执行时间为TH;设将计算任务置于低频段运行时的CPU使用率(纯计算时间在任务周期的占比)为u,则根据公式(二)计算理论最佳功耗频率fW:
由于CPU工作频率段有限,实际最佳功耗频率应该从CPU频率段中选择大于fW的频率点fWR,作为理想功耗点;
步骤b,分割并执行计算任务:根据实际最佳功耗频率fWR,将需要在限定周期Tlim内完成的长任务分配为短任务,设短任务的周期时间为Tsam,短任务的CPU持续计算时间为TSW,其中TSW=Tsam·u;每个短周期Tsam内,CPU持续计算时间为TSW,然后释放CPU,等一个Tsam周期结束进入下一Tsam周期。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810091744.7A CN108845659B (zh) | 2018-01-30 | 2018-01-30 | 一种功耗优先的嵌入式处理器实时任务分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810091744.7A CN108845659B (zh) | 2018-01-30 | 2018-01-30 | 一种功耗优先的嵌入式处理器实时任务分配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108845659A true CN108845659A (zh) | 2018-11-20 |
CN108845659B CN108845659B (zh) | 2021-06-04 |
Family
ID=64211778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810091744.7A Active CN108845659B (zh) | 2018-01-30 | 2018-01-30 | 一种功耗优先的嵌入式处理器实时任务分配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108845659B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112468533A (zh) * | 2020-10-20 | 2021-03-09 | 安徽网萌科技发展股份有限公司 | 一种面向农产品种植的边缘学习模型在线分割方法和*** |
CN112486683A (zh) * | 2020-11-27 | 2021-03-12 | 中国科学技术大学先进技术研究院 | 处理器控制方法、控制设备以及计算机可读存储介质 |
CN115390610A (zh) * | 2022-08-22 | 2022-11-25 | 哲库科技(北京)有限公司 | 一种用电***、频率控制方法、芯片及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1945498A (zh) * | 2006-10-12 | 2007-04-11 | 浙江大学 | 面向嵌入式***低功耗实时任务参数模型调度方法 |
CN101135927A (zh) * | 2006-10-12 | 2008-03-05 | 浙江大学 | 一种面向嵌入式***低功耗实时任务调度的简化方法 |
CN104808770A (zh) * | 2015-04-23 | 2015-07-29 | 南京大学 | 基于动态调频的数据中心能耗管理方法及*** |
CN105893148A (zh) * | 2016-03-30 | 2016-08-24 | 华侨大学 | 一种基于rm策略的偶发任务低能耗调度方法 |
CN106095058A (zh) * | 2016-06-08 | 2016-11-09 | 华东师范大学 | 一种应对软错误的温度感知的实时任务调度方法 |
CN106293909A (zh) * | 2016-07-29 | 2017-01-04 | 华东师范大学 | 一种对异构多核处理器温度‑调度长度感知的实时任务调度方法 |
US20170083383A1 (en) * | 2015-09-23 | 2017-03-23 | Tomer RIDER | Task assignment for processor cores based on a statistical power and frequency model |
CN106569574A (zh) * | 2015-10-10 | 2017-04-19 | 中兴通讯股份有限公司 | 多核处理器cpu的频率管理方法及装置 |
CN106598203A (zh) * | 2016-12-21 | 2017-04-26 | 上海海事大学 | 一种数据密集环境下的单芯片多处理器***的电源管理方法 |
CN107071833A (zh) * | 2017-05-27 | 2017-08-18 | 努比亚技术有限公司 | 数据包传输***及方法 |
-
2018
- 2018-01-30 CN CN201810091744.7A patent/CN108845659B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1945498A (zh) * | 2006-10-12 | 2007-04-11 | 浙江大学 | 面向嵌入式***低功耗实时任务参数模型调度方法 |
CN101135927A (zh) * | 2006-10-12 | 2008-03-05 | 浙江大学 | 一种面向嵌入式***低功耗实时任务调度的简化方法 |
CN104808770A (zh) * | 2015-04-23 | 2015-07-29 | 南京大学 | 基于动态调频的数据中心能耗管理方法及*** |
US20170083383A1 (en) * | 2015-09-23 | 2017-03-23 | Tomer RIDER | Task assignment for processor cores based on a statistical power and frequency model |
CN106569574A (zh) * | 2015-10-10 | 2017-04-19 | 中兴通讯股份有限公司 | 多核处理器cpu的频率管理方法及装置 |
CN105893148A (zh) * | 2016-03-30 | 2016-08-24 | 华侨大学 | 一种基于rm策略的偶发任务低能耗调度方法 |
CN106095058A (zh) * | 2016-06-08 | 2016-11-09 | 华东师范大学 | 一种应对软错误的温度感知的实时任务调度方法 |
CN106293909A (zh) * | 2016-07-29 | 2017-01-04 | 华东师范大学 | 一种对异构多核处理器温度‑调度长度感知的实时任务调度方法 |
CN106598203A (zh) * | 2016-12-21 | 2017-04-26 | 上海海事大学 | 一种数据密集环境下的单芯片多处理器***的电源管理方法 |
CN107071833A (zh) * | 2017-05-27 | 2017-08-18 | 努比亚技术有限公司 | 数据包传输***及方法 |
Non-Patent Citations (2)
Title |
---|
张春林等: "音频内容分割与聚类的研究", 《计算机工程》 * |
熊永华等: "云视频监控***的能耗优化研究", 《软件学报》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112468533A (zh) * | 2020-10-20 | 2021-03-09 | 安徽网萌科技发展股份有限公司 | 一种面向农产品种植的边缘学习模型在线分割方法和*** |
CN112468533B (zh) * | 2020-10-20 | 2023-01-10 | 安徽网萌科技发展股份有限公司 | 一种面向农产品种植的边缘学习模型在线分割方法和*** |
CN112486683A (zh) * | 2020-11-27 | 2021-03-12 | 中国科学技术大学先进技术研究院 | 处理器控制方法、控制设备以及计算机可读存储介质 |
CN112486683B (zh) * | 2020-11-27 | 2023-05-19 | 中国科学技术大学先进技术研究院 | 处理器控制方法、控制设备以及计算机可读存储介质 |
CN115390610A (zh) * | 2022-08-22 | 2022-11-25 | 哲库科技(北京)有限公司 | 一种用电***、频率控制方法、芯片及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108845659B (zh) | 2021-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9086876B2 (en) | Technique for selecting a frequency of operation in a processor system | |
CN108845659A (zh) | 一种功耗优先的嵌入式处理器实时任务分配方法 | |
CN104423529B (zh) | 中央处理单元状态调整方法和装置 | |
KR100661851B1 (ko) | 플랫폼의 소비 전력 관리 방법 및 그 플랫폼 | |
CN101727172B (zh) | 一种计算机进程功耗的测量方法及测量装置、计算机*** | |
CN105677000B (zh) | 动态电压频率调整的***及方法 | |
WO2006026649A2 (en) | Dynamic clock frequency adjustment based on processor load | |
CN102292685A (zh) | 使充电受限设备能够在期望的时间段内工作 | |
CN103472904B (zh) | 一种智能调整多个定时器的方法和装置 | |
US11240865B2 (en) | Method for dynamically adjusting a Bluetooth connection interval applied to ECG measuring instrument | |
CN103095599A (zh) | 一种云计算操作***中动态反馈加权综合负载调度方法 | |
CN110795238B (zh) | 负载计算方法、装置、存储介质及电子设备 | |
WO2016115956A1 (zh) | 基于云计算的业务***的调度方法及调度装置 | |
CN104049716A (zh) | 一种结合温度感知的计算机节能方法及*** | |
CN112954707B (zh) | 基站的节能方法、装置、基站和计算机可读存储介质 | |
CN104408663A (zh) | 智能电网用户需求响应调度***及方法 | |
CN103023802B (zh) | 一种面向web集群的低能耗调度***和方法 | |
CN103298087B (zh) | 基于状态机的无线传感器网络节点低功耗方法 | |
KR101655030B1 (ko) | 태스크 특성 기반의 여유시간 분배를 통한 동적 전압 주파수 스케일링 방법, 그 방법을 실행시키기 위하여 매체에 저장된 컴퓨터프로그램 및 그 매체 | |
CN101365192A (zh) | 调整嵌入式处理器和移动终端处理器的频率的方法、装置 | |
WO2021057023A1 (zh) | 一种基于部件温度自动分配计算资源的降功耗方法和*** | |
CN101685335A (zh) | 基于seda的应用服务器及其节能装置和方法 | |
CN104796673A (zh) | 一种面向能耗优化的云视频监控***任务接入方法 | |
CN109144693A (zh) | 一种功率自适应任务调度方法及*** | |
CN108334738B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |