CN104714780A - 一种超标量流水线保留站处理指令的方法及装置 - Google Patents
一种超标量流水线保留站处理指令的方法及装置 Download PDFInfo
- Publication number
- CN104714780A CN104714780A CN201310692403.2A CN201310692403A CN104714780A CN 104714780 A CN104714780 A CN 104714780A CN 201310692403 A CN201310692403 A CN 201310692403A CN 104714780 A CN104714780 A CN 104714780A
- Authority
- CN
- China
- Prior art keywords
- instruction
- correlation
- correlativity
- reservation station
- operation queue
- 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
Landscapes
- Advance Control (AREA)
Abstract
本发明适用于微处理器技术领域,提供了一种超标量流水线保留站处理指令的方法及装置,包括:确定相关性指令和非相关性指令的判断规则;获取多条流水线中写入操作队列中的各个指令;根据该判断规则,判断该各个指令之间的相关性,识别该指令为相关性指令或非相关性指令;按操作队列中指令写入的顺序,将该相关性指令缓存在第一类型保留站,将该非相关性指令缓存在第二类型保留站;其中,该相关性指令指的操作队列中的计算结果或运算参数存在调用顺序的指令,该非相关性指令为操作队列中除相关性指令以外的指令,该第一类型保留站和第二类型保留站是不同的保留站。本发明提高了流水线执行段并行性处理的性能。
Description
技术领域
本发明属于微处理器技术领域,尤其涉及一种超标量流水线保留站处理指令的方法及装置。
背景技术
微处理器通过流水线技术,在各个阶段并行执行不同的指令以提高处理器的性能。流水线技术将指令执行的过程分为几个阶段,通过在各个不同阶段执行不同的指令,来实现指令的并行处理。
参考图1,图1是将指令执行划分为取指、译码、派发、发射及执行阶段的实施流程图。
指令在流水线中必须经过分派才能开始执行。
流水线分两种,一种是标量流水线,另一种是超标量流水线。
在标量流水线中,所有类型的指令均在同一条流水线中执行。
超标量流水线属于多配置流水线,也就是多条流水线,所有类型的指令均在多条流水线中执行,其执行段使用不同的执行部件,不同类型的指令要在不同的指令部件中执行。
在超标量流水线中,在译码和执行之间,指令要由集中控制转为分布处理,这一工作应由指令分派完成。
在指令译码和执行阶段还要对指令进行临时缓冲,一般解决方法是,把已经就绪的操作数读出并放入单独的缓冲中,并等待仍没有就绪的操作数。所有操作数就绪以后,从缓冲中读出指令并发射到功能部件执行。这个临时的缓冲为保留站。
指令分派段的保留站有两种实现方式,一种是集中保留站,另一种是分布保留站。
参考图2,图2是集中保留站较佳的样例图。
参考图3,图2是分布保留站较佳的样例图。
然而,由于保留站没有对操作队列中进行分类,将指令动态发射出去,在流水线的后续阶段中,需要更复杂的逻辑算法来保证访存操作的正确执行,因此其增加了访存操作和执行段控制复杂度,并降低了微处理器执行段性能,访存操作是指访问保留站的操作。
发明内容
本发明实施例的目的在于提供一种超标量流水线保留站处理指令的方法,旨在解决保留站没有对操作队列中进行分类,将指令动态发射出去,导致在流水线的后续阶段中,增加了访存操作和执行段控制复杂度,并降低了微处理器执行段性能的问题。
本发明实施例是这样实现的,一种超标量流水线保留站处理指令的方法,包括:
确定相关性指令和非相关性指令的判断规则;
获取多条流水线中写入操作队列中的各个指令;
根据所述判断规则,判断所述各个指令之间的相关性,识别所述指令为相关性指令或非相关性指令;
按操作队列中指令写入的顺序,将所述相关性指令缓存在第一类型保留站,按操作队列中指令写入的顺序,将所述非相关性指令缓存在第二类型保留站;
其中,所述相关性指令指的操作队列中的计算结果或运算参数存在调用顺序的指令,所述非相关性指令为操作队列中除相关性指令以外的指令,所述第一类型保留站和第二类型保留站是不同的保留站。
本发明实施例的另一目的在于提供一种超标量流水线保留站处理指令的装置,包括:
获取单元,用于获取多条流水线中写入操作队列中的各个指令;
判断单元,用于根据所述判断规则,判断所述各个指令之间的相关性,识别所述指令为相关性指令或非相关性指令;
缓存单元,按操作队列中指令写入的顺序,将所述相关性指令缓存在第一类型保留站,按操作队列中指令写入的顺序,将所述非相关性指令缓存在第二类型保留站;
其中,所述相关性指令指的操作队列中的计算结果或运算参数存在调用顺序的指令,所述非相关性指令为操作队列中除相关性指令以外的指令,所述第一类型保留站和第二类型保留站是不同的保留站。
在本实施例中,按操作队列中指令写入的顺序,将所述相关性指令缓存在第一类型保留站,按操作队列中指令写入的顺序,将所述非相关性指令缓存在第二类型保留站,完成了对操作队列中的指令进行分类,从而后续可以分别单独发送到不同的功能部件,执行相应的功能,提高微处理器执行段性能,提高流水线执行段并行性处理的性能。
附图说明
图1是将指令执行划分为取指、译码、派发、发射及执行阶段的实施流程图;
图2是集中保留站较佳的样例图;
图3是分布保留站较佳的样例图;
图4是本发明实施例提供的一种超标量流水线保留站处理指令的方法的实现流程图;
图5是操作队列中的指令需要调用前面的计算结果的较佳的样例图;
图6是操作队列中的指令需要调用前面的运算参数的较佳的样例图;
图7是一种超标量流水线保留站处理指令的装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参考图4,图4是本发明实施例提供的一种超标量流水线保留站处理指令的方法的实现流程图,详述如下:
在步骤S401中,确定相关性指令和非相关性指令的判断规则;
本发明实施例,确定相关性指令和非相关性指令的判断规则,判断规则可以为用户自设,也可以由系统设定。
其中,所述判断规则包括操作队列中的计算结果存在调用顺序的规则和操作队列中的运算参数存在调用顺序的规则中的至少一种。
在步骤S402中,获取多条流水线中写入操作队列中的各个指令;
在步骤S403中,根据所述判断规则,判断所述各个指令之间的相关性,识别所述指令为相关性指令或非相关性指令;
其中,所述相关性指令指的操作队列中的计算结果或运算参数存在调用顺序的指令,所述非相关性指令为操作队列中除相关性指令以外的指令。
本发明实施例,判断各个指令之间的相关性,存在两种情况;
第一种情况:操作队列中的指令需要调用前面的计算结果。
参考图5,图5是操作队列中的指令需要调用前面的计算结果的较佳的样例图。
其中,指令div r2,r1,r0,表示r1除以r0,生成r2。
指令stb r6,4(r2),表示将r6写入寄存器中,寄存器的地址值为4加r2的值。因为后一条指令需要用到前面指令的计算结果,表示操作队列中的计算结果存在调用顺序,因此指令div r2,r1,r0和stb r6,4(r2)均为相关性指令。
第二种情况:操作队列中的指令需要调用前面的运算参数。
参考图6,图6是操作队列中的指令需要调用前面的运算参数的较佳的样例图。
其中,指令stb r6,4(r2),表示将r6写入寄存器中,寄存器的地址值为4加r2的值。
lwz r7,4(r3),表示读取4加r3的值,放在r7里。
因此,lwz指令与stb指令存在先写入,后读的顺序,也就是操作队列中的运算参数存在调用顺序,4(r2)的调用要位于4(r3)之前。因此指令stb r6,4(r2)和lwz r7,4(r3)均为相关性指令。
本实施例中,识别指令为相关性指令或非相关性指令,可对其进行分类,分别存放在不同的保留站中,后续减少访存操作和执行段控制复杂度,提高微处理器执行段性能。
在步骤S404中,按操作队列中指令写入的顺序,将所述相关性指令缓存在第一类型保留站,按操作队列中指令写入的顺序,将所述非相关性指令缓存在第二类型保留站;
其中,第一类型保留站和第二类型保留站是不同的保留站。
本实施例中,指令在写入操作队列中时做出指令间相关性的判断,且指令间相关性的信息保存在操作队列中,将操作队列中相关性已经判断好的指令进行分类,按操作队列中指令写入的顺序派发到第一类型保留站,按操作队列中指令写入的顺序,将所述非相关性指令缓存在第二类型保留站。
第一类型保留站和第二类型保留站独立实现缓存指令。
第一类型保留站和第二类型保留站均整体形成分布保留站。
第一类型保留站的保留站个数与第二类型保留站的保留站个数可以相同,也可以不同,在此不做限制。
保留站包括多个记录项连接各个功能部件,指令分派后,可发射到功能部件执行。
在本实施例中,按操作队列中指令写入的顺序,将所述相关性指令缓存在第一类型保留站,按操作队列中指令写入的顺序,将所述非相关性指令缓存在第二类型保留站,完成了对操作队列中的指令进行分类,从而后续可以分别单独发送到不同的功能部件,执行相应的功能,提高微处理器执行段性能,提高流水线执行段并行性处理的性能。
作为本发明的一个优选实施例,在所述将所述相关性指令缓存在第一类型保留站之后,包括:
检测是否获取到所述相关性指令的操作数;
当获取到所述相关性指令的操作数时,第一类型保留站按操作队列中指令写入的顺序,发射所述相关性指令至相应的功能部件。
在本实施例中,基于未发射相关性指令的各操作数的状态,判断保留站中是否存在所有操作数均已准备好的待发射的相关性指令。
在本实施例中,当获取到所述相关性指令的操作数时,表示操作数准备好,第一类型保留站按操作队列中指令写入的顺序,发射所述相关性指令至相应的功能部件。
在本实施例中,按操作队列中指令写入的顺序,发射所述相关性指令至相应的功能部件,避免了出现当计算结果或运算参数存在调用顺序时,在流水线的后续阶段中,需要更复杂的逻辑算法来保证访存操作的正确执行的情况,简化了访存操作,使得在流水线的后续阶段中,可以正常调用相关性指令。
作为本发明的一个优选实施例,在所述将所述非相关性指令缓存在第二类型保留站之后,包括:
第二类型保留站不按操作队列中指令写入的顺序,将所述非相关性指令发送至相应的功能部件。
在本实施例中,第二类型保留站不按操作队列中指令写入的顺序,将非相关性指令发送至相应的功能部件,也就是第二类型保留站中有空闲项时,不按操作队列中指令写入的顺序,不管操作队列中的第一条非相关性指令的操作数是否已准备好,均将其发射到对应的保留站中。
作为本发明的一个优选实施例,在所述生成指令执行结果之后,还包括:
接收相应的功能部件生成的指令执行结果;
根据所述指令执行结果,更新未发送的相关性指令或非相关性指令操作数的状态,以便于检测是否获取到所述相关性指令的操作数或检测是否获取到所述非相关性指令的操作数。
在本实施例中,保留站向执行段发射指令进行指令动态调度,更新操作数状态,基于保留站中未发射指令与指令执行结果正在写回的指令之间的数据相关性,更新该未发射指令的操作数的状态,以便于实时检测是否获取到所述相关性指令的操作数或实时检测是否获取到所述非相关性指令的操作数。
图7是一种超标量流水线保留站处理指令的装置的结构框图,该装置可以运行于具备分布保留站的各种芯片。为了便于说明,仅示出了与本实施例相关的部分。
参照图7,该装置,包括:
确定单元71,用于确定相关性指令和非相关性指令的判断规则;
获取单元72,用于获取多条流水线中写入操作队列中的各个指令;
判断单元73,用于根据所述判断规则,判断所述各个指令之间的相关性,识别所述指令为相关性指令或非相关性指令;
缓存单元74,按操作队列中指令写入的顺序,将所述相关性指令缓存在第一类型保留站,不按操作队列中指令写入的顺序,将所述非相关性指令缓存在第二类型保留站;
其中,所述相关性指令指的操作队列中的计算结果或运算参数存在调用顺序的指令,所述非相关性指令为操作队列中除相关性指令以外的指令,所述第一类型保留站和第二类型保留站是不同的保留站。
进一步地,在该装置中,所述判断规则包括操作队列中的计算结果存在调用顺序的规则和操作队列中的运算参数存在调用顺序的规则中的至少一种。
进一步地,在该装置中,还包括:
第一检测单元,用于检测是否获取到所述相关性指令的操作数;
顺序发送单元,用于当获取到所述相关性指令的操作数时,第二类型保留站按操作队列中指令写入的顺序,发射所述相关性指令至相应的功能部件。
进一步地,在该装置中,还包括:
第二检测单元,用于检测是否获取到所述非相关性指令的操作数;
乱序发送单元,用于当获取到所述非相关性指令的操作数时,第二类型保留站不按操作队列中指令写入的顺序,将所述非相关性指令发送至相应的功能部件。
进一步地,在该装置中,还包括:
接收单元,用于接收相应的功能部件生成的指令执行结果;
更新单元,用于根据所述指令执行结果,更新未发送的相关性指令或非相关性指令操作数的状态,以便于检测是否获取到所述相关性指令的操作数或检测是否获取到所述非相关性指令的操作数。
本发明实施例提供的装置可以应用在前述对应的方法实施例中,详情参见上述实施例的描述,在此不再赘述。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种超标量流水线保留站处理指令的方法,其特征在于,包括:
确定相关性指令和非相关性指令的判断规则;
获取多条流水线中写入操作队列中的各个指令;
根据所述判断规则,判断所述各个指令之间的相关性,识别所述指令为相关性指令或非相关性指令;
按操作队列中指令写入的顺序,将所述相关性指令缓存在第一类型保留站,将所述非相关性指令缓存在第二类型保留站;
其中,所述相关性指令指的操作队列中的计算结果或运算参数存在调用顺序的指令,所述非相关性指令为操作队列中除相关性指令以外的指令,所述第一类型保留站和第二类型保留站是不同的保留站。
2.根据权利要求1所述的方法,其特征在于,所述判断规则包括操作队列中的计算结果存在调用顺序的规则和操作队列中的运算参数存在调用顺序的规则中的至少一种。
3.根据权利要求1所述的方法,其特征在于,在所述将所述相关性指令缓存在第一类型保留站之后,包括:
检测是否获取到所述相关性指令的操作数;
当获取到所述相关性指令的操作数时,第一类型保留站按操作队列中指令写入的顺序,发射所述相关性指令至相应的功能部件。
4.根据权利要求1所述的方法,其特征在于,在所述将所述非相关性指令缓存在第二类型保留站之后,包括:
检测是否获取到所述非相关性指令的操作数;
当获取到所述非相关性指令的操作数时,第二类型保留站不按操作队列中指令写入的顺序,将所述非相关性指令发送至相应的功能部件。
5.根据权利要求3或4所述的方法,其特征在于,在所述生成指令执行结果之后,还包括:
接收相应的功能部件生成的指令执行结果;
根据所述指令执行结果,更新未发送的相关性指令或非相关性指令操作数的状态,以便于检测是否获取到所述相关性指令的操作数或检测是否获取到所述非相关性指令的操作数。
6.一种超标量流水线保留站处理指令的装置,其特征在于,包括:
确定单元,用于确定相关性指令和非相关性指令的判断规则;
获取单元,用于获取多条流水线中写入操作队列中的各个指令;
判断单元,用于根据所述判断规则,判断所述各个指令之间的相关性,识别所述指令为相关性指令或非相关性指令;
缓存单元,按操作队列中指令写入的顺序,将所述相关性指令缓存在第一类型保留站,将所述非相关性指令缓存在第二类型保留站;
其中,所述相关性指令指的操作队列中的计算结果或运算参数存在调用顺序的指令,所述非相关性指令为操作队列中除相关性指令以外的指令,所述第一类型保留站和第二类型保留站是不同的保留站。
7.如权利要求6所述的装置,其特征在于,所述判断规则包括操作队列中的计算结果存在调用顺序的规则和操作队列中的运算参数存在调用顺序的规则中的至少一种。
8.如权利要求6所述的装置,其特征在于,还包括:
第一检测单元,用于检测是否获取到所述相关性指令的操作数;
顺序发送单元,用于当获取到所述相关性指令的操作数时,第一类型保留站按操作队列中指令写入的顺序,发射所述相关性指令至相应的功能部件。
9.如权利要求6所述的装置,其特征在于,还包括:
第二检测单元,用于检测是否获取到所述非相关性指令的操作数;
乱序发送单元,用于当获取到所述非相关性指令的操作数时,第二类型保留站不按操作队列中指令写入的顺序,将所述非相关性指令发送至相应的功能部件。
10.如权利要求8或9所述的装置,其特征在于,还包括:
接收单元,用于接收相应的功能部件生成的指令执行结果;
更新单元,用于根据所述指令执行结果,更新未发送的相关性指令或非相关性指令操作数的状态,以便于检测是否获取到所述相关性指令的操作数或检测是否获取到所述非相关性指令的操作数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310692403.2A CN104714780A (zh) | 2013-12-16 | 2013-12-16 | 一种超标量流水线保留站处理指令的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310692403.2A CN104714780A (zh) | 2013-12-16 | 2013-12-16 | 一种超标量流水线保留站处理指令的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104714780A true CN104714780A (zh) | 2015-06-17 |
Family
ID=53414159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310692403.2A Pending CN104714780A (zh) | 2013-12-16 | 2013-12-16 | 一种超标量流水线保留站处理指令的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104714780A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105117202A (zh) * | 2015-09-25 | 2015-12-02 | 上海兆芯集成电路有限公司 | 具有融合保留站结构的微处理器 |
CN106227507A (zh) * | 2016-07-11 | 2016-12-14 | 姚颂 | 计算系统及其控制器 |
CN108600406A (zh) * | 2018-03-27 | 2018-09-28 | 上海兆芯集成电路有限公司 | 处理不同类型请求的网络装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030163671A1 (en) * | 2002-02-26 | 2003-08-28 | Gschwind Michael Karl | Method and apparatus for prioritized instruction issue queue |
US7107433B1 (en) * | 2001-10-26 | 2006-09-12 | Lsi Logic Corporation | Mechanism for resource allocation in a digital signal processor based on instruction type information and functional priority and method of operation thereof |
CN101706714A (zh) * | 2009-11-23 | 2010-05-12 | 北京龙芯中科技术服务中心有限公司 | 指令发射系统及方法、处理器及其设计方法 |
CN101710272A (zh) * | 2009-10-28 | 2010-05-19 | 北京龙芯中科技术服务中心有限公司 | 指令调度装置和方法 |
-
2013
- 2013-12-16 CN CN201310692403.2A patent/CN104714780A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7107433B1 (en) * | 2001-10-26 | 2006-09-12 | Lsi Logic Corporation | Mechanism for resource allocation in a digital signal processor based on instruction type information and functional priority and method of operation thereof |
US20030163671A1 (en) * | 2002-02-26 | 2003-08-28 | Gschwind Michael Karl | Method and apparatus for prioritized instruction issue queue |
CN101710272A (zh) * | 2009-10-28 | 2010-05-19 | 北京龙芯中科技术服务中心有限公司 | 指令调度装置和方法 |
CN101706714A (zh) * | 2009-11-23 | 2010-05-12 | 北京龙芯中科技术服务中心有限公司 | 指令发射系统及方法、处理器及其设计方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105117202A (zh) * | 2015-09-25 | 2015-12-02 | 上海兆芯集成电路有限公司 | 具有融合保留站结构的微处理器 |
CN106557301A (zh) * | 2015-09-25 | 2017-04-05 | 上海兆芯集成电路有限公司 | 经由多级保留站结构的发射指令分派方法 |
CN106227507A (zh) * | 2016-07-11 | 2016-12-14 | 姚颂 | 计算系统及其控制器 |
CN106227507B (zh) * | 2016-07-11 | 2019-10-18 | 北京深鉴智能科技有限公司 | 计算系统及其控制器 |
CN108600406A (zh) * | 2018-03-27 | 2018-09-28 | 上海兆芯集成电路有限公司 | 处理不同类型请求的网络装置 |
CN108600406B (zh) * | 2018-03-27 | 2021-06-01 | 上海兆芯集成电路有限公司 | 处理不同类型请求的网络装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11048506B2 (en) | Tracking stores and loads by bypassing load store units | |
KR102333341B1 (ko) | 마이크로프로세서 시스템에서의 예외 처리 | |
US8433885B2 (en) | Method, system and computer-accessible medium for providing a distributed predicate prediction | |
JP5615361B2 (ja) | スレッドシフト:コアへのスレッド割振り | |
US20180267801A1 (en) | Systems and methods for load canceling in a processor that is connected to an external interconnect fabric | |
US20140317628A1 (en) | Memory apparatus for processing support of long routing in processor, and scheduling apparatus and method using the memory apparatus | |
US10031773B2 (en) | Method to communicate task context information and device therefor | |
US10331357B2 (en) | Tracking stores and loads by bypassing load store units | |
EP2972878B1 (en) | Mechanism for facilitating dynamic and efficient management of instruction atomicity violations in software programs at computing systems | |
US10289419B2 (en) | Method and apparatus for sorting elements in hardware structures | |
CN103365628A (zh) | 用于执行预解码时优化的指令的方法和系统 | |
US9921838B2 (en) | System and method for managing static divergence in a SIMD computing architecture | |
US9678792B2 (en) | Shared resources in a docked mobile environment | |
WO2013101114A1 (en) | Later stage read port reduction | |
EP3140730A1 (en) | Detecting data dependencies of instructions associated with threads in a simultaneous multithreading scheme | |
CN104714780A (zh) | 一种超标量流水线保留站处理指令的方法及装置 | |
CN104216681A (zh) | 一种cpu指令处理方法和处理器 | |
JP2016512366A (ja) | 定数キャッシュを使用してより効率的にリテラル生成データを従属命令に転送するための方法および装置 | |
US10599530B2 (en) | Method and apparatus for recovering in-memory data processing system | |
US6889314B2 (en) | Method and apparatus for fast dependency coordinate matching | |
US20200004546A1 (en) | Shared compare lanes for dependency wake up in a pair-based issue queue | |
US20140013312A1 (en) | Source level debugging apparatus and method for a reconfigurable processor | |
US9395962B2 (en) | Apparatus and method for executing external operations in prologue or epilogue of a software-pipelined loop | |
US20140372996A1 (en) | Compiler optimization for memoization of pure function arguments | |
US20210271488A1 (en) | Processor memory access |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150617 |