KR20070101393A - 조건 평가를 위한 에미서리 명령을 통한 조건 명령 실행 - Google Patents
조건 평가를 위한 에미서리 명령을 통한 조건 명령 실행 Download PDFInfo
- Publication number
- KR20070101393A KR20070101393A KR1020077020700A KR20077020700A KR20070101393A KR 20070101393 A KR20070101393 A KR 20070101393A KR 1020077020700 A KR1020077020700 A KR 1020077020700A KR 20077020700 A KR20077020700 A KR 20077020700A KR 20070101393 A KR20070101393 A KR 20070101393A
- Authority
- KR
- South Korea
- Prior art keywords
- instruction
- condition
- base
- emission
- command
- Prior art date
Links
- 238000011156 evaluation Methods 0.000 title claims abstract description 35
- 238000001514 detection method Methods 0.000 claims abstract description 20
- 238000000034 method Methods 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
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/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- 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
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
-
- 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
-
- 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/30072—Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
-
- 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/30181—Instruction operation extension or modification
-
- 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
- G06F9/3824—Operand accessing
-
- 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
- G06F9/3824—Operand accessing
- G06F9/3826—Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Debugging And Monitoring (AREA)
- Control Of Transmission Device (AREA)
- Semiconductor Integrated Circuits (AREA)
- Electronic Switches (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
Description
Claims (19)
- 파이프라인화된 프로세서에서, 조건이 충족되는 경우에 연산을 수행하도록 동작하는 조건 명령을 실행하는 방법으로서,상기 조건 명령을, 상기 조건이 충족되는지의 여부를 결정하도록 동작하는 에미서리 명령 및 상기 연산을 수행하도록 동작하는 비조건 베이스 명령으로 변환하는 단계,상기 에미서리 명령을 실행하는 단계, 및상기 에미서리 명령의 실행이 상기 조건이 충족된다는 것을 나타내는 경우에 상기 비조건 베이스 명령을 실행하는 단계를 포함하는, 조건 명령 실행 방법.
- 제 1 항에 있어서,상기 에미서리 명령의 실행이 상기 조건이 충족되지 않는다는 것을 나타내는 경우에 상기 비조건 베이스 명령 대신에 NOP 명령을 실행하는 단계를 더 포함하는, 조건 명령 실행 방법.
- 제 1 항에 있어서,상기 에미서리 명령의 실행이 상기 조건이 충족되지 않는다는 것을 나타내는 경우에 상기 베이스 명령을 폐기하는 단계를 더 포함하는, 조건 명령 실행 방법.
- 제 1 항에 있어서,상기 에미서리 명령의 실행 이후에, 상기 조건 명령에 후속하는 명령에 대한 해저드 검출을 수행하는 단계를 더 포함하는, 조건 명령 실행 방법.
- 명령 전송 파이프 스테이지 및 조건 평가 파이프 스테이지를 포함하는 명령 실행 파이프라인,상기 조건 평가 파이프 스테이지로부터 상기 명령 전송 파이프 스테이지로의 피드백 경로, 및상기 명령 전송 파이프 스테이지에서 조건 명령을 에미서리 명령 및 비조건 베이스 명령으로 변환하고, 상기 에미서리 명령을 전송하며, 상기 에미서리 명령에 의한 상기 조건 평가 파이프 스테이지로부터의 피드백에 응답하여 상기 베이스 명령을 조건적으로 전송하도록 동작하는 파이프라인 제어기를 포함하는, 프로세서.
- 제 5 항에 있어서,상기 조건 평가 이후에, 후속 명령에 의한 상기 조건 명령에 대한 의존성을 검출하도록 동작하는 해저드 검출 로직을 더 포함하는, 프로세서.
- 파이프라인화된 프로세서에서 해저드 검출을 수행하는 방법으로서,조건이 충족되는 경우에만 연산을 수행하도록 동작하는 조건 명령을 디코딩하는 단계,상기 조건 명령을, 상기 조건을 평가하도록 동작하는 에미서리 명령 및 상기 연산을 수행하도록 동작하는 비조건 베이스 명령으로 변환하는 단계,조건 평가를 획득하기 위해 상기 에미서리 명령을 실행하는 단계, 및상기 조건이 충족되지 않는 경우에 후속 명령이 상기 조건 명령에 대해 의존하지 않는다는 것을 결정하는 단계를 포함하는, 해저드 검출 수행 방법.
- 제 7 항에 있어서,상기 조건이 충족되는 경우에 상기 조건 명령에 의해 기록된 레지스터 또는 메모리 위치를 판독하는 임의의 후속 명령의 의존성을 검출하는 단계를 더 포함하는, 해저드 검출 수행 방법.
- 제 8 항에 있어서,상기 조건이 충족되는 경우에 상기 비조건 베이스 명령을 실행하는 단계를 더 포함하는, 해저드 검출 수행 방법.
- 제 9 항에 있어서,상기 의존성은 상기 비조건 베이스 명령의 실행 이전에 검출되는, 해저드 검출 수행 방법.
- 제 10 항에 있어서,상기 비조건 베이스 명령이 실행을 완료할 때 까지, 의존성이 검출되는 후속 명령을 스톨 (stall) 하는 단계를 더 포함하는, 해저드 검출 수행 방법.
- 제 7 항에 있어서,상기 조건이 충족되지 않는 경우에 상기 비조건 베이스 명령 대신에 NOP 명령을 실행하는 단계를 더 포함하는, 해저드 검출 수행 방법.
- 제 7 항에 있어서,상기 조건이 충족되지 않는 경우에 상기 베이스 명령을 폐기하는 단계를 더 포함하는, 해저드 검출 수행 방법.
- 파이프라인화된 프로세서에서 해저드 검출을 수행하는 방법으로서,조건이 사실 (TRUE) 인 경우에만 연산을 수행하도록 동작하는 조건 명령을 디코딩하는 단계,상기 조건 명령을, 2개의 개별 명령, 즉, 에미서리 명령 및 상기 연산을 수행하기 위한 실행시에 동작하는 비조건 베이스 명령으로 변환하는 단계,상기 에미서리 명령을 실행하고, 상기 에미서리 명령으로 하여금 상기 조건을 평가하게 하는 단계,상기 에미서리 명령에 의한 상기 조건의 평가에 의존하여 상기 베이스 명령을 실행 또는 비실행하는 단계, 및하나 이상의 후속 명령과 상기 베이스 명령 사이의 데이터 의존성을 검출하는 단계를 포함하는, 해저드 검출 수행 방법.
- 제 14 항에 있어서,상기 의존성의 검출에 응답하여, 상기 베이스 명령이 상기 연산을 수행할 때 까지 상기 후속 명령 중 하나 이상의 실행을 지연시키는 단계를 더 포함하는, 해저드 검출 수행 방법.
- 제 14 항에 있어서,하나 이상의 후속 명령에 의한, 상기 베이스 명령에 대한 의존성이 없다는 검출에 응답하여, 실행을 위해 상기 하나 이상의 후속 명령을 즉시 런치하는 단계를 더 포함하는, 해저드 검출 수행 방법.
- 조건 명령을 에미서리 명령 및 베이스 명령으로 변환하는 단계,상기 에미서리 명령을 실행하는 단계, 및상기 에미서리 명령에 의한 조건 평가에 응답하여 상기 베이스 명령을 조건적으로 실행하는 단계를 포함하는, 조건 명령 실행 방법.
- 제 17 항에 있어서,상기 조건 명령에 후속하는 하나 이상의 명령에 대한 해저드 검출을 수행하 는 단계를 더 포함하는, 조건 명령 실행 방법.
- 제 18 항에 있어서,상기 베이스 명령이 실행되지 않는 경우에, 하나 이상의 후속 명령과 상기 조건 명령 사이에는 의존성이 존재하지 않는, 조건 명령 실행 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/055,919 US7210024B2 (en) | 2005-02-10 | 2005-02-10 | Conditional instruction execution via emissary instruction for condition evaluation |
US11/055,919 | 2005-02-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070101393A true KR20070101393A (ko) | 2007-10-16 |
KR100916168B1 KR100916168B1 (ko) | 2009-09-08 |
Family
ID=36676060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020077020700A KR100916168B1 (ko) | 2005-02-10 | 2006-02-10 | 조건 평가를 위한 에미서리 명령을 통한 조건 명령 실행 |
Country Status (11)
Country | Link |
---|---|
US (1) | US7210024B2 (ko) |
EP (1) | EP1846817B1 (ko) |
JP (1) | JP4903720B2 (ko) |
KR (1) | KR100916168B1 (ko) |
CN (1) | CN100498693C (ko) |
AT (1) | ATE463787T1 (ko) |
BR (1) | BRPI0606973A2 (ko) |
DE (1) | DE602006013415D1 (ko) |
IL (1) | IL185066A0 (ko) |
TW (1) | TW200641675A (ko) |
WO (1) | WO2006086713A2 (ko) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008079433A1 (en) * | 2006-12-20 | 2008-07-03 | Rowley, Richard | Method and system for installing a root certificate on a computer with a root update mechanism |
KR100854720B1 (ko) * | 2007-03-23 | 2008-08-27 | 삼성전자주식회사 | 루프 통합 방법 및 루프 통합 장치 |
US7793079B2 (en) * | 2007-06-27 | 2010-09-07 | Qualcomm Incorporated | Method and system for expanding a conditional instruction into a unconditional instruction and a select instruction |
CN101739237B (zh) * | 2009-12-21 | 2013-09-18 | 龙芯中科技术有限公司 | 微处理器功能性指令实现装置和方法 |
US8527804B2 (en) * | 2010-11-01 | 2013-09-03 | Qualcomm Incorporated | Architecture and method for eliminating store buffers in a DSP/processor with multiple memory accesses |
US9043580B2 (en) | 2011-04-07 | 2015-05-26 | Via Technologies, Inc. | Accessing model specific registers (MSR) with different sets of distinct microinstructions for instructions of different instruction set architecture (ISA) |
US8880851B2 (en) | 2011-04-07 | 2014-11-04 | Via Technologies, Inc. | Microprocessor that performs X86 ISA and arm ISA machine language program instructions by hardware translation into microinstructions executed by common execution pipeline |
US9292470B2 (en) | 2011-04-07 | 2016-03-22 | Via Technologies, Inc. | Microprocessor that enables ARM ISA program to access 64-bit general purpose registers written by x86 ISA program |
EP2508980B1 (en) * | 2011-04-07 | 2018-02-28 | VIA Technologies, Inc. | Conditional ALU instruction pre-shift-generated carry flag propagation between microinstructions in read-port limited register file microprocessor |
US9645822B2 (en) | 2011-04-07 | 2017-05-09 | Via Technologies, Inc | Conditional store instructions in an out-of-order execution microprocessor |
US8924695B2 (en) | 2011-04-07 | 2014-12-30 | Via Technologies, Inc. | Conditional ALU instruction condition satisfaction propagation between microinstructions in read-port limited register file microprocessor |
US9141389B2 (en) | 2011-04-07 | 2015-09-22 | Via Technologies, Inc. | Heterogeneous ISA microprocessor with shared hardware ISA registers |
US9146742B2 (en) | 2011-04-07 | 2015-09-29 | Via Technologies, Inc. | Heterogeneous ISA microprocessor that preserves non-ISA-specific configuration state when reset to different ISA |
US9317288B2 (en) | 2011-04-07 | 2016-04-19 | Via Technologies, Inc. | Multi-core microprocessor that performs x86 ISA and ARM ISA machine language program instructions by hardware translation into microinstructions executed by common execution pipeline |
US9274795B2 (en) | 2011-04-07 | 2016-03-01 | Via Technologies, Inc. | Conditional non-branch instruction prediction |
US9898291B2 (en) | 2011-04-07 | 2018-02-20 | Via Technologies, Inc. | Microprocessor with arm and X86 instruction length decoders |
US9244686B2 (en) | 2011-04-07 | 2016-01-26 | Via Technologies, Inc. | Microprocessor that translates conditional load/store instructions into variable number of microinstructions |
US9032189B2 (en) * | 2011-04-07 | 2015-05-12 | Via Technologies, Inc. | Efficient conditional ALU instruction in read-port limited register file microprocessor |
US9378019B2 (en) | 2011-04-07 | 2016-06-28 | Via Technologies, Inc. | Conditional load instructions in an out-of-order execution microprocessor |
US9336180B2 (en) | 2011-04-07 | 2016-05-10 | Via Technologies, Inc. | Microprocessor that makes 64-bit general purpose registers available in MSR address space while operating in non-64-bit mode |
US9128701B2 (en) | 2011-04-07 | 2015-09-08 | Via Technologies, Inc. | Generating constant for microinstructions from modified immediate field during instruction translation |
US8880857B2 (en) | 2011-04-07 | 2014-11-04 | Via Technologies, Inc. | Conditional ALU instruction pre-shift-generated carry flag propagation between microinstructions in read-port limited register file microprocessor |
US9176733B2 (en) | 2011-04-07 | 2015-11-03 | Via Technologies, Inc. | Load multiple and store multiple instructions in a microprocessor that emulates banked registers |
US9639359B2 (en) * | 2013-05-21 | 2017-05-02 | Advanced Micro Devices, Inc. | Thermal-aware compiler for parallel instruction execution in processors |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5533235A (en) * | 1978-08-30 | 1980-03-08 | Toshiba Corp | Microprogram control system |
US6016543A (en) * | 1997-05-14 | 2000-01-18 | Mitsubishi Denki Kabushiki Kaisha | Microprocessor for controlling the conditional execution of instructions |
US6505296B2 (en) * | 1997-10-13 | 2003-01-07 | Hewlett-Packard Company | Emulated branch effected by trampoline mechanism |
US6170052B1 (en) * | 1997-12-31 | 2001-01-02 | Intel Corporation | Method and apparatus for implementing predicated sequences in a processor with renaming |
EP0992891A1 (en) * | 1998-10-06 | 2000-04-12 | Texas Instruments Inc. | A processor |
JP3437135B2 (ja) * | 1999-02-08 | 2003-08-18 | 松下電器産業株式会社 | プログラム実行制御システム及びその方法 |
US6598153B1 (en) | 1999-12-10 | 2003-07-22 | International Business Machines Corporation | Processor and method that accelerate evaluation of pairs of condition-setting and branch instructions |
US6877086B1 (en) | 2000-11-02 | 2005-04-05 | Intel Corporation | Method and apparatus for rescheduling multiple micro-operations in a processor using a replay queue and a counter |
JP3900485B2 (ja) * | 2002-07-29 | 2007-04-04 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 最適化装置、コンパイラプログラム、最適化方法、及び記録媒体 |
GB2402510A (en) * | 2003-06-05 | 2004-12-08 | Advanced Risc Mach Ltd | Predication instruction within a data processing system |
-
2005
- 2005-02-10 US US11/055,919 patent/US7210024B2/en active Active
-
2006
- 2006-02-10 CN CNB2006800099523A patent/CN100498693C/zh active Active
- 2006-02-10 EP EP06734847A patent/EP1846817B1/en active Active
- 2006-02-10 AT AT06734847T patent/ATE463787T1/de not_active IP Right Cessation
- 2006-02-10 TW TW095104623A patent/TW200641675A/zh unknown
- 2006-02-10 KR KR1020077020700A patent/KR100916168B1/ko active IP Right Grant
- 2006-02-10 JP JP2007555283A patent/JP4903720B2/ja active Active
- 2006-02-10 DE DE602006013415T patent/DE602006013415D1/de active Active
- 2006-02-10 BR BRPI0606973-8A patent/BRPI0606973A2/pt not_active IP Right Cessation
- 2006-02-10 WO PCT/US2006/004892 patent/WO2006086713A2/en active Application Filing
-
2007
- 2007-08-06 IL IL185066A patent/IL185066A0/en unknown
Also Published As
Publication number | Publication date |
---|---|
US20060179288A1 (en) | 2006-08-10 |
CN100498693C (zh) | 2009-06-10 |
EP1846817A2 (en) | 2007-10-24 |
ATE463787T1 (de) | 2010-04-15 |
TW200641675A (en) | 2006-12-01 |
JP2008530693A (ja) | 2008-08-07 |
BRPI0606973A2 (pt) | 2009-07-28 |
WO2006086713A3 (en) | 2006-11-16 |
DE602006013415D1 (de) | 2010-05-20 |
KR100916168B1 (ko) | 2009-09-08 |
JP4903720B2 (ja) | 2012-03-28 |
CN101151591A (zh) | 2008-03-26 |
IL185066A0 (en) | 2007-12-03 |
WO2006086713A2 (en) | 2006-08-17 |
EP1846817B1 (en) | 2010-04-07 |
US7210024B2 (en) | 2007-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100916168B1 (ko) | 조건 평가를 위한 에미서리 명령을 통한 조건 명령 실행 | |
KR100938367B1 (ko) | 분기 예측 오류를 정정하는 시스템 및 방법 | |
JP5059623B2 (ja) | プロセッサ及び命令プリフェッチ方法 | |
JP5198879B2 (ja) | ループ末尾に置かれた分岐により分岐履歴レジスタの更新を抑制すること | |
KR100953856B1 (ko) | 조건부 명령이 무조건적으로 출력을 제공하는 시스템 및방법 | |
KR101459536B1 (ko) | 사전 통지 기법들을 사용하여 프로그램의 순차적 흐름을 변경하기 위한 방법들 및 장치 | |
KR101099203B1 (ko) | 명시적 서브루틴 호출의 브랜치 예측 동작을 에뮬레이트하기 위한 방법 및 장치 | |
JP2011100466A5 (ko) | ||
JP2008532142A5 (ko) | ||
KR20010109354A (ko) | 프로세서내의 기록 트래픽을 감소시키는 시스템 및 방법 | |
US5799180A (en) | Microprocessor circuits, systems, and methods passing intermediate instructions between a short forward conditional branch instruction and target instruction through pipeline, then suppressing results if branch taken | |
US9851973B2 (en) | Dynamic branch hints using branches-to-nowhere conditional branch | |
US7020766B1 (en) | Processing essential and non-essential code separately | |
KR101723711B1 (ko) | 조건부 쇼트 포워드 브랜치들을 산술적으로 동등한 술어적 명령어들로 변환 | |
US8250344B2 (en) | Methods and apparatus for dynamic prediction by software | |
JP2021174513A (ja) | データ依存脆弱分岐の機会主義的再誘導のための命令セットアーキテクチャベース自動負荷追跡 | |
JP2008537208A (ja) | 条件付命令を実行しない時のソース・オペランドの停止待機 | |
US10235173B2 (en) | Program code optimization for reducing branch mispredictions | |
Nayak | Dynamic branch prediction for embedded system applications | |
US20240192958A1 (en) | Branch target buffer operation with auxiliary indirect cache |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120830 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20130830 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20140828 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20160629 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20170629 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20180628 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20190624 Year of fee payment: 11 |