KR100322725B1 - 전문 갱신 및 분기 명령을 이용하는 밀리코드 플래그 - Google Patents
전문 갱신 및 분기 명령을 이용하는 밀리코드 플래그 Download PDFInfo
- Publication number
- KR100322725B1 KR100322725B1 KR1019990008700A KR19990008700A KR100322725B1 KR 100322725 B1 KR100322725 B1 KR 100322725B1 KR 1019990008700 A KR1019990008700 A KR 1019990008700A KR 19990008700 A KR19990008700 A KR 19990008700A KR 100322725 B1 KR100322725 B1 KR 100322725B1
- Authority
- KR
- South Korea
- Prior art keywords
- millicode
- flag
- instruction
- instructions
- milli
- 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
Links
Classifications
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/3017—Runtime instruction translation, e.g. macros
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
- G06F9/30014—Arithmetic instructions with variable precision
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30018—Bit or string instructions
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
- G06F9/30038—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30094—Condition code generation, e.g. Carry, Zero flag
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
Claims (14)
- 비교적 간단한 명령 세트는 하드웨어 제어 실행 유닛에서 실행하고 비교적 복잡한 명령 세트는 상기 하드웨어 제어 실행 유닛에서 간단한 명령의 밀리코드 시퀀스 (millicode sequence)로 밀리-모드 (milli-mode) 설계 상태에서 실행하는 파이프라인 컴퓨터 프로세서 (pipelined computer processor)를 갖춘 컴퓨터 시스템에서, 전문 갱신 및 분기 명령(specialized update and branch instructions)으로 조건들을 설정하고 테스트하는 밀리코드 방법에 있어서,내부 코드 어레이에 밀리-모드 루틴을 상기 간단한 밀리코드 명령의 세트로 저장하는 단계; 및상기 프로세서의 명령 레지스터에 연결된 밀리-모드 검출 논리부가, 복호화되고 있는 매크로-명령 (macro-instruction)이 상기 밀리-모드 설계 동작 상태에서 해석되어야 하는 종류라는 것을 검출하면, 상기 밀리-모드 설계 상태가 밀리-모드 인식 신호로 인에이블되고, 상기 프로세서에 의한 매크로-모드 (macro-mode) 복호화가 중단되어 상기 시스템이 후속하여 프로세서 밀리-레지스터를 사용하도록 하는 단계를 포함하며,상기 내부 코드 어레이로부터 인출되어 상기 프로세서 명령 레지스터로 전달되는, 상기 내부 코드 어레이에 저장된 밀리코드의 주소를 지정하기 위해 밀리-모드 진입 지점 주소가 발생되고, 상기 프로세서의 디코더는 프로세서 밀리-모드로 진입할 때 실행을 위해 이들을 복호화하여 스케쥴 처리하며,상기 밀리-모드 설계 상태 밀리코드 루틴으로의 진입 이후에, 하나 이상의 밀리코드 플래그 (millicode flag)가 밀리코드 명령에 대해 특별히 설정되거나 클리어 (clear)되고,전문 밀리코드 명령에 대한 상기 밀리코드 플래그는 설정 플래그 (Set Flag), 재설정 플래그 (Reset Flag), 로드 플래그 (Load Flag), 및 분기 플래그 (Branch on Flag)를 포함하고, 설정 플래그 명령(Set Flag instruction)에 대해 제2 오퍼랜드 주소 D2(B2)가 저장장소(storage)를 접근하는데 사용되지 않고, 상기 주소의 하위 4개 비트 (비트 28:31)가 어느 밀리코드 플래그가 설정되어야 하는지를 선택하기 위한 마스크 (mask)로서 사용되는밀리코드 방법.
- 제1항에 있어서,상기 밀리코드 플래그 세트는 전문 밀리코드 명령의 세트에 의해 명시적으로(explicitly) 설정 및 변경되고,상기 플래그는 확장된 조건 코드로 작용하는 편집 기능을 위한 전문 밀리코드 명령에 의해 암시적으로(implicitly) 갱신되고, 번역 및 테스트에 대한 전문 밀리코드 명령의 실행을 변경시킬 수 있는 밀리코드 방법.
- 제2항에 있어서,확장된 밀리코드 조건 코드로 작용하는 편집 기능을 위한 전문 밀리코드 명령을 위한 밀리코드에 추가 하드웨어 싸이클을 할당하지 않고 상기 플래그가 진입시에 특별히 설정되거나 클리어되고,초기 실행시, 상기 밀리코드 플래그는 롱 이동 및 롱 비교(Move Long and Compare Long)와 로드 제어 (Load Control)를 위한 특수한 조건을 지시할 수 있는 밀리코드 방법.
- 제1항에 있어서,상기 밀리코드 플래그는 정적 분기 결정(static branch resolution)을 위한, 그리고 조건상의 분기 명령(Branch on Condition instruction)과 동일한 방식으로 동적 분기 예측에 따른 밀리코드 플래그 설정의 다양한 조합에 따라 밀리코드가 분기되도록 하는 밀리코드에 의해 사용하기 위해 정의된 조건부 분기 명령을 위한, 분기점을 위한 플래그상 분기 명령(Branch on Flag instruction)으로 사용되는 밀리코드 방법.
- 삭제
- 삭제
- 제1항에 있어서,플래그 설정 명령에 대해 대응하는 마스크 비트가 '1'b인 플래그는 '1'b로 설정되고, 대응하는 마스크 비트가 '0'b인 플래그는 변경되지 않는 밀리코드 방법.
- 제7항에 있어서,플래그 설정 명령에 대해, 결과 플래그는 후속하는 플래그상의 상대적 분기 (Branch Relative on Flag) 동작의 결과에 반영되고,밀리코드 루틴은 설정 플래그 밀리코드 명령과 상기 명령에 의해 갱신되는 밀리코드 플래그값을 테스트하는 특수한 상대적 분기 명령(Branch Relative Special instruction) 사이에 충분한 파이프라인 공간을 제공하는 밀리코드 방법.
- 제1항에 있어서,재설정 플래그 명령에 대해, 밀리코드 플래그가 재설정될 때 상기 제2 오퍼랜드 주소 D2(B2)가 저장장소를 접근하는 데 사용되지 않고, 상기 주소의 하위 4개 비트 (비트 28:31)가 어느 밀리코드 플래그가 설정되어야 하는지를 선택하기 위한 마스크로서 사용되는 밀리코드 방법.
- 제9항에 있어서,밀리코드 플래그가 재설정될 때 대응하는 마스크 비트가 '1'b인 플래그는 '0'b로 설정되고, 대응하는 마스크 비트가 '0'b인 플래그는 변경되지 않는 밀리코드 방법.
- 제10항에 있어서,결과 플래그는 후속하는 플래그상 상대적 분기 (Branch Relative on Flag) 동작의 결과에 반영되고,밀리코드 루틴은 상기 명령과 상기 명령에 의해 갱신되는 밀리코드 플래그값을 테스트하는 특수한 상대적 분기 명령(Branch Relative Special instruction) 사이에 충분한 파이프라인 공간이 있도록 보장하는 밀리코드 방법.
- 제1항에 있어서,로드 플래그 명령에 대해, 밀리코드 플래그가 로드될 때 상기 제2 오퍼랜드 주소 D2(B2)가 저장장소를 접근하는 데 사용되지 않고, 대신에 상기 주소의 하위 4개 비트 (비트 28:31)가 설정 플래그 (Set Flag), 재설정 플래그 (Reset Flag), 로드 플래그 (Load Flag), 및 분기 플래그 (Branch on Flag)로 기입되고,결과 플래그는 후속하는 플래그상 상대적 분기 (Branch Relative on Flag) 동작의 결과에 반영되고, 밀리코드 루틴은 상기 명령과 상기 명령에 의해 갱신되는 밀리코드 플래그값을 테스트하는 특수한 상대적 분기 명령(Branch Relative Special instruction) 사이에 충분한 파이프라인 공간이 있도록 보장하는 밀리코드 방법.
- 제1항에 있어서,플래그상 브랜치 명령에 대해 M1및 M3에 의해 지정된 밀리코드 플래그의 논리 함수가 논리 1인 경우, 밀리코드 명령 주소가 분기 주소에 의해 대체되고, 그렇지 않은 경우에는 갱신된 밀리코드 명령 주소로 정상적인 명령 순차가 진행되는 밀리코드 방법.
- 제1항에 있어서,설정 플래그에 의해 명시적 또는 암시적으로 결정되는 플래그 설정의 조합과 함께 밀리코드를 내부 코드로 사용함으로써, 분기점과 복합 조건 코드(complex condition codes) 양자가 결정되는 밀리코드 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/056,485 US6055624A (en) | 1998-04-07 | 1998-04-07 | Millicode flags with specialized update and branch instructions |
US9/056,485 | 1998-04-07 | ||
US09/056,485 | 1998-04-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990082750A KR19990082750A (ko) | 1999-11-25 |
KR100322725B1 true KR100322725B1 (ko) | 2002-02-07 |
Family
ID=22004714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019990008700A Expired - Fee Related KR100322725B1 (ko) | 1998-04-07 | 1999-03-15 | 전문 갱신 및 분기 명령을 이용하는 밀리코드 플래그 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6055624A (ko) |
KR (1) | KR100322725B1 (ko) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001188691A (ja) * | 1999-12-28 | 2001-07-10 | Toshiba Corp | 検証プログラム自動生成方法及び検証プログラム自動生成プログラムを記録したコンピュータ読み取り可能な記録媒体 |
TWI265093B (en) * | 2005-12-29 | 2006-11-01 | Ind Tech Res Inst | Integrated circuit of inkjet print system and control circuit thereof |
CN100530164C (zh) * | 2007-12-29 | 2009-08-19 | 中国科学院计算技术研究所 | 一种risc处理器及其寄存器标志位处理方法 |
US7913068B2 (en) * | 2008-02-21 | 2011-03-22 | International Business Machines Corporation | System and method for providing asynchronous dynamic millicode entry prediction |
US9086886B2 (en) | 2010-06-23 | 2015-07-21 | International Business Machines Corporation | Method and apparatus to limit millicode routine end branch prediction |
US9223714B2 (en) | 2013-03-15 | 2015-12-29 | Intel Corporation | Instruction boundary prediction for variable length instruction set |
CN117008977B (zh) * | 2023-08-08 | 2024-03-19 | 上海合芯数字科技有限公司 | 一种可变执行周期的指令执行方法、系统和计算机设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR880011657A (ko) * | 1987-03-11 | 1988-10-29 | 아오이 죠이치 | 마이크로프로세서 |
KR890000973A (ko) * | 1987-06-19 | 1989-03-17 | 야마모도 다꾸마 | 마이크로코드 판독 제어 시스템 |
JPH06290043A (ja) * | 1992-06-15 | 1994-10-18 | Matsushita Electric Ind Co Ltd | データ処理用プロセッサ |
JPH07129399A (ja) * | 1993-10-28 | 1995-05-19 | Motohiro Kurisu | 命令属性レジスターを使用して多機能命令を実行する マイクロコンピュータ |
JPH09198247A (ja) * | 1996-01-17 | 1997-07-31 | Yamaha Corp | プロセッサおよび該プロセッサの割込制御方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4541048A (en) * | 1978-10-06 | 1985-09-10 | Hughes Aircraft Company | Modular programmable signal processor |
US5471593A (en) * | 1989-12-11 | 1995-11-28 | Branigin; Michael H. | Computer processor with an efficient means of executing many instructions simultaneously |
US5226164A (en) * | 1991-04-24 | 1993-07-06 | International Business Machines Corporation | Millicode register management and pipeline reset |
CA2060555A1 (en) * | 1991-04-24 | 1992-10-25 | Robert J. Bullions, Iii | System and method for draining an instruction pipeline |
US5345567A (en) * | 1991-06-10 | 1994-09-06 | International Business Machines Corporation | System and method for modifying program status word system mask, system access key, and address space code with overlap enabled |
US5694587A (en) * | 1995-03-31 | 1997-12-02 | International Business Machines Corporation | Specialized millicode instructions for test PSW validity, load with access test, and character translation assist |
US5802359A (en) * | 1995-03-31 | 1998-09-01 | International Business Machines Corporation | Mapping processor state into a millicode addressable processor state register array |
US5694617A (en) * | 1995-03-31 | 1997-12-02 | International Business Machines Corporation | System for prioritizing quiesce requests and recovering from a quiescent state in a multiprocessing system with a milli-mode operation |
US5754810A (en) * | 1996-03-12 | 1998-05-19 | International Business Machines Corporation | Specialized millicode instruction for certain decimal operations |
-
1998
- 1998-04-07 US US09/056,485 patent/US6055624A/en not_active Expired - Lifetime
-
1999
- 1999-03-15 KR KR1019990008700A patent/KR100322725B1/ko not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR880011657A (ko) * | 1987-03-11 | 1988-10-29 | 아오이 죠이치 | 마이크로프로세서 |
KR890000973A (ko) * | 1987-06-19 | 1989-03-17 | 야마모도 다꾸마 | 마이크로코드 판독 제어 시스템 |
JPH06290043A (ja) * | 1992-06-15 | 1994-10-18 | Matsushita Electric Ind Co Ltd | データ処理用プロセッサ |
JPH07129399A (ja) * | 1993-10-28 | 1995-05-19 | Motohiro Kurisu | 命令属性レジスターを使用して多機能命令を実行する マイクロコンピュータ |
JPH09198247A (ja) * | 1996-01-17 | 1997-07-31 | Yamaha Corp | プロセッサおよび該プロセッサの割込制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US6055624A (en) | 2000-04-25 |
KR19990082750A (ko) | 1999-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5694587A (en) | Specialized millicode instructions for test PSW validity, load with access test, and character translation assist | |
US5303356A (en) | System for issuing instructions for parallel execution subsequent to branch into a group of member instructions with compoundability in dictation tag | |
KR100513358B1 (ko) | Risc형명령세트및슈퍼스칼라마이크로프로세서 | |
EP0381471B1 (en) | Method and apparatus for preprocessing multiple instructions in a pipeline processor | |
EP0071028B1 (en) | Instructionshandling unit in a data processing system with instruction substitution and method of operation | |
US6351804B1 (en) | Control bit vector storage for a microprocessor | |
US5517651A (en) | Method and apparatus for loading a segment register in a microprocessor capable of operating in multiple modes | |
US6334176B1 (en) | Method and apparatus for generating an alignment control vector | |
US6029240A (en) | Method for processing instructions for parallel execution including storing instruction sequences along with compounding information in cache | |
US5504932A (en) | System for executing scalar instructions in parallel based on control bits appended by compounding decoder | |
RU2137184C1 (ru) | Отображение с помощью мультинаборов команд | |
EP0380859B1 (en) | Method of preprocessing multiple instructions | |
US6594754B1 (en) | Mapping destination logical register to physical register storing immediate or renamed source register of move instruction and using mapping counters | |
CN102792265B (zh) | 基于机器状态的指令破解 | |
EP0381469A2 (en) | Method and data processing unit for pipeline processing of register and register modifying specifiers within the same instruction | |
EP0730226A2 (en) | Hardware support for fast software emulation of unimplemented instructions | |
JP2006079652A (ja) | 多重命令セットによるデータ処理 | |
US7546442B1 (en) | Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions | |
KR100308512B1 (ko) | 편집 기능을 위한 전문 밀리코드 지시 | |
KR100317769B1 (ko) | 압축 기억된 십진수 나눗셈에 대한 전문 밀리코드 명령 | |
KR100322726B1 (ko) | 번역 및 테스트를 위한 전문 밀리코드 명령 | |
KR100322725B1 (ko) | 전문 갱신 및 분기 명령을 이용하는 밀리코드 플래그 | |
KR20010053623A (ko) | 명령들의 철회시 물리적인 레지스터들을 선택적으로자유롭게 사용하도록 구성된 프로세서 | |
US5713035A (en) | Linking program access register number with millicode operand access | |
EP0545927B1 (en) | System for preparing instructions for instruction parallel processor and system with mechanism for branching in the middle of a compound instruction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 19990315 |
|
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 19990910 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 19990315 Comment text: Patent Application |
|
PG1501 | Laying open of application | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20010629 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20011221 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20020117 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20020118 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20041110 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20051213 Start annual number: 5 End annual number: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20070104 Start annual number: 6 End annual number: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20080103 Start annual number: 7 End annual number: 7 |
|
PR1001 | Payment of annual fee |
Payment date: 20090106 Start annual number: 8 End annual number: 8 |
|
PR1001 | Payment of annual fee |
Payment date: 20091203 Start annual number: 9 End annual number: 9 |
|
PR1001 | Payment of annual fee |
Payment date: 20101210 Start annual number: 10 End annual number: 10 |
|
PR1001 | Payment of annual fee |
Payment date: 20120103 Start annual number: 11 End annual number: 11 |
|
FPAY | Annual fee payment |
Payment date: 20130102 Year of fee payment: 12 |
|
PR1001 | Payment of annual fee |
Payment date: 20130102 Start annual number: 12 End annual number: 12 |
|
FPAY | Annual fee payment |
Payment date: 20131227 Year of fee payment: 13 |
|
PR1001 | Payment of annual fee |
Payment date: 20131227 Start annual number: 13 End annual number: 13 |
|
FPAY | Annual fee payment |
Payment date: 20141215 Year of fee payment: 14 |
|
PR1001 | Payment of annual fee |
Payment date: 20141215 Start annual number: 14 End annual number: 14 |
|
FPAY | Annual fee payment |
Payment date: 20151228 Year of fee payment: 15 |
|
PR1001 | Payment of annual fee |
Payment date: 20151228 Start annual number: 15 End annual number: 15 |
|
FPAY | Annual fee payment |
Payment date: 20161228 Year of fee payment: 16 |
|
PR1001 | Payment of annual fee |
Payment date: 20161228 Start annual number: 16 End annual number: 16 |
|
FPAY | Annual fee payment |
Payment date: 20171227 Year of fee payment: 17 |
|
PR1001 | Payment of annual fee |
Payment date: 20171227 Start annual number: 17 End annual number: 17 |
|
LAPS | Lapse due to unpaid annual fee | ||
PC1903 | Unpaid annual fee |
Termination category: Default of registration fee Termination date: 20191028 |