KR20010058509A - Interrupt processing apparatus reducing interrupt response time - Google Patents
Interrupt processing apparatus reducing interrupt response time Download PDFInfo
- Publication number
- KR20010058509A KR20010058509A KR1019990065845A KR19990065845A KR20010058509A KR 20010058509 A KR20010058509 A KR 20010058509A KR 1019990065845 A KR1019990065845 A KR 1019990065845A KR 19990065845 A KR19990065845 A KR 19990065845A KR 20010058509 A KR20010058509 A KR 20010058509A
- Authority
- KR
- South Korea
- Prior art keywords
- interrupt
- address
- code
- storage means
- normal
- Prior art date
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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4818—Priority circuits therefor
-
- 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
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
Abstract
Description
본 발명은 마이크로컨트롤러 등과 같은 제어 시스템에 관한 것으로, 특히 제어 시스템에서 빈번하게 발생하는 인터럽트(interrupt)를 처리하는 인터럽트 처리 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a control system such as a microcontroller and the like, and more particularly, to an interrupt processing apparatus for handling interrupts that frequently occur in a control system.
먼저, 마이크로컨트롤러에서 발생된 인터럽트를 처리하는 종래의 과정을 설명한다.First, a conventional process of processing an interrupt generated by a microcontroller will be described.
도 1a는 종래의 인터럽트 처리 메카니즘을 개념적으로 도시한 도면이고, 도 1b는 상기 도 1의 처리 메카니즘을 보다 상세히 설명하기 위하여 프로그램 메모리를 도시한 것이다.FIG. 1A is a diagram conceptually illustrating a conventional interrupt processing mechanism, and FIG. 1B illustrates a program memory to explain the processing mechanism of FIG. 1 in more detail.
먼저, 다수의 인터럽트가 발생되면, 각 인터럽트에 대한 인터럽트 플래그(flag) 및 우선 순위를 체크하여 그 중 하나의 최우선 인터럽트를 선택하고(10, interrupt polling), 하드웨어적으로 선택된 인터럽트의 벡터가 있는 프로그램 메모리의 번지로 점프(jump)하게 된다(12). 여기서, 하드웨어적으로 선택된 인터럽트의 벡터가 있는 프로그램 메모리 번지로 점프하는 것을 "LCALL"이라 하고, 이를 도면에 도시하였다.First, when multiple interrupts are generated, the interrupt flag and priority of each interrupt is checked to select one of the highest priority interrupts (10, interrupt polling), and a program with a vector of hardware-selected interrupts. Jump to the address of the memory (12). Here, jumping to a program memory address where a vector of interrupts selected by hardware is referred to as "LCALL", which is illustrated in the figure.
그리고, 인터럽트 벡터가 있는 프로그램 메모리의 번지로 점프한 후 해당 인터럽트 벡터에 대한 실제 인터럽트 서비스 루틴이 있는 메모리의 번지로 다시 점프한다(14). 여기서, 실제 인터럽트 서비스 루틴이 있는 메모리 번지로의 점프를"LJMP"라 하고, 이를 도면에 도시하였다.After jumping to the address of the program memory in which the interrupt vector is located, it jumps back to the address of the memory in which the actual interrupt service routine for the corresponding interrupt vector is located (14). Here, the jump to the memory address where the actual interrupt service routine is located is called "LJMP", which is shown in the figure.
이어서, "LJMP"를 통해 실제 인터럽트 서비스 루틴으로 점프한 후 본격적인 인터럽트 서비스 루틴을 수행한다.Subsequently, jump to the actual interrupt service routine via "LJMP" and then perform an interrupt service routine in earnest.
도 1b에서는 인터럽트 체크 동작(10)에서 인터럽트 1을 선택하고, 상기 인터럽트 1에 대한 처리 과정을 일예로 도시한 것이다. 즉, "LCALL"을 통해 인터럽트 1의 벡터가 있는 프로그램 메모리의 번지로 점프하고, "LJMP"를 통해 인터럽트 벡터 1에 대한 실제 인터럽트 서비스 루틴이 있는 메모리 번지로 점프한다.In FIG. 1B, interrupt 1 is selected in the interrupt check operation 10 and a process of the interrupt 1 is illustrated as an example. That is, jump to the address of the program memory with the vector of interrupt 1 via "LCALL" and jump to the memory address with the actual interrupt service routine for interrupt vector 1 via "LJMP".
상기와 같이 이루어지는 종래의 인터럽트 처리 과정은, 인터럽트의 발생 시 곧바로 실제 인터럽트 서비스 루틴을 수행하지 않고, "LJMP"를 한번 더 수행한 후에 실제 인터럽트 서비스 루틴을 본격적으로 수행함으로써 인터럽트 응답 시간이 길고, 전체적인 인터럽트 처리 속도가 떨어지는 문제가 있다.In the conventional interrupt processing procedure as described above, the interrupt response time is long because the actual interrupt service routine is performed in earnest after performing "LJMP" once more without performing the actual interrupt service routine immediately when an interrupt occurs. There is a problem that the interrupt processing speed is slow.
본 발명은 상기 문제점을 해결하기 위하여 안출된 것으로써, "LJMP" 수행을 거치지 않고 곧바로 실제 인터럽트 서비스 루틴을 수행하여 인터럽트 응답 시간을 줄이고, 전체 인터럽트 처리 속도를 높인 인터럽트 처리 장치를 제공하는데 그 목적이 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and provides an interrupt processing apparatus that reduces an interrupt response time by performing an actual interrupt service routine immediately without performing "LJMP" and increases the overall interrupt processing speed. have.
도 1a는 종래의 인터럽트 처리 메카니즘을 개념적으로 도시한 도면.1A conceptually illustrates a conventional interrupt processing mechanism.
도 1b는 상기 도 1의 처리 메카니즘을 보다 상세히 설명하기 위하여 프로그램 메모리를 도시한 도면.FIG. 1B illustrates a program memory for explaining the processing mechanism of FIG. 1 in more detail. FIG.
도 2는 본 발명의 일실시예에 따른 인터럽트 처리 장치에 대한 블록도.2 is a block diagram of an interrupt processing apparatus according to an embodiment of the present invention;
도 3은 본 발명의 다른 실시예에 따른 인터럽트 처리 장치에 대한 블록도.Figure 3 is a block diagram of an interrupt processing apparatus according to another embodiment of the present invention.
* 도면의 주요 부분에 대한 설명* Description of the main parts of the drawing
100 : 인터럽트 어드레스 레지스터 파일100: interrupt address register file
120 : 인터럽트 코드 레지스터 파일120: interrupt code register file
140, 160 : 멀티플렉서140, 160: multiplexer
180 : 프로그램 카운터180: program counter
200 : 명령어 레지스터200: instruction register
220 : 명령어 큐220: command queue
상기 목적을 달성하기 위한 본 발명은, 다수의 인터럽트에 대해 각각의 인터럽트 서비스 루틴을 수행하는 마이크로컨트롤러를 위한 인터럽트 처리 장치에 있어서, 각 인터럽트 서비스 루틴이 저장되어 있는 프로그램 메모리의 첫번째 어드레스 + 1에 해당되는 인터럽트 어드레스를 저장하는 인터럽트 어드레스 저장 수단; 상기 각 인터럽트 서비스 루틴의 첫번째 명령어 코드를 저장하는 인터럽트 코드 저장 수단; 인터럽트 인에이블 신호에 응답하여 노말 동작 시와 인터럽트 처리 동작 시에 노말 어드레스 또는 인터럽트 플래그에 의해 지정된 상기 인터럽트 어드레스 저장 수단의 인터럽트 어드레스를 선택적으로 출력하는 제1 선택 수단; 및 상기 인터럽트 인에이블 신호에 응답하여 상기 노말 동작 시와 상기 인터럽트 처리 동작 시에 노말 코드 또는 상기 인터럽트 플래그에 의해 지정된 상기 인터럽트 코드 저장 수단의 명령어 코드를 선택적으로 출력하는 제2 선택 수단을 포함하여, 인터럽트 발생 시 인터럽트 종류에 응답하여 상기 제1 선택 수단으로부터 출력되는 인터럽트 어드레스로 프로그램 카운터를 세팅하고, 상기 제2 선택 수단으로부터 출력되는 인터럽트 코드를 명령어 레지스터에 로딩하여, 인터럽트 처리 동작을 수행하는 것을 특징으로 한다.In order to achieve the above object, the present invention provides an interrupt processing apparatus for a microcontroller that executes respective interrupt service routines for a plurality of interrupts, the first address corresponding to the first address + 1 of the program memory in which each interrupt service routine is stored. Interrupt address storage means for storing an interrupt address to be used; Interrupt code storage means for storing a first instruction code of each interrupt service routine; First selecting means for selectively outputting an interrupt address of said interrupt address storage means designated by a normal address or an interrupt flag in normal operation and in an interrupt processing operation in response to an interrupt enable signal; And second selecting means for selectively outputting a normal code or an instruction code of the interrupt code storing means designated by the interrupt flag in the normal operation and the interrupt processing operation in response to the interrupt enable signal. In response to an interrupt type, a program counter is set to an interrupt address output from the first selecting means in response to an interrupt type, and the interrupt code output from the second selecting means is loaded into an instruction register to perform an interrupt processing operation. It is done.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부된 도면을 참조하여 설명하기로 한다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings so that those skilled in the art may easily implement the technical idea of the present invention. do.
도 2는 본 발명의 일실시예에 따른 인터럽트 처리 장치에 대한 블록도로서, 각 인터럽트 서비스 루틴이 저장되어 있는 프로그램 메모리의 첫번째 어드레스 + 1에 해당되는 인터럽트 어드레스를 저장하는 프로그램 가능한 인터럽트 어드레스 레지스터 파일(Programmable Interrupt Address Register File, 이하 PIARF라 함)(100), 각 인터럽트 서비스 루틴의 첫번째 명령어 코드를 저장하는 프로그램 가능한 인터럽트 코드 레지스터 파일(Programmable Interrupt Code Register File, 이하 PICRF라 함)(120), 인터럽트 인에이블 신호에 응답하여 노말(normal) 동작 시와 인터럽트 처리 동작 시에 노말 어드레스 또는 인터럽트 플래그에 의해 지정된 상기 PIARF(100)의 인터럽트 어드레스를 선택적으로 출력하는 멀티플렉서(140) 및 인터럽트 인에이블 신호에 응답하여 노말(normal) 동작 시와 인터럽트 처리 동작 시에 노말 코드 또는 인터럽트 플래그에 의해 지정된 상기 PICRF(120)의 명령어 코드를 선택적으로 출력하는 멀티플렉서(160)로 이루어진다. 이때 멀티플렉서(140)로부터 출력되는 어드레스는 프로그램 카운터(180)로 출력되고, 멀티플렉서(160)로부터 출력되는 코드는 명령어 레지스터(200)로 출력되어 인터럽트 발생 시 인터럽트 종류에 따라 명령어 레지스터(200)에는 인터럽트 플래그에 의해 지정된 PICRF(120)의 코드가 로딩되고, 프로그램 카운터(180)에는 인터럽트 플래그에 의해 지정된 PIARF(100)의 인터럽트 어드레스로 세팅된다.FIG. 2 is a block diagram of an interrupt processing apparatus according to an embodiment of the present invention, in which a programmable interrupt address register file storing an interrupt address corresponding to the first address + 1 of a program memory in which each interrupt service routine is stored ( Programmable Interrupt Address Register File (hereinafter referred to as PIARF) (100), Programmable Interrupt Code Register File (hereinafter referred to as PICRF) 120 that stores the first instruction code of each interrupt service routine, Interrupt In In response to the enable signal and in response to the normal operation and the interrupt processing operation in response to the multiplexer 140 and the interrupt enable signal selectively outputting the interrupt address of the PIARF 100 specified by the normal address or interrupt flag. Normal operation and interrupt In the processing operation, the multiplexer 160 selectively outputs the instruction code of the PICRF 120 designated by the normal code or the interrupt flag. At this time, the address output from the multiplexer 140 is output to the program counter 180, the code output from the multiplexer 160 is output to the instruction register 200, when the interrupt occurs in the instruction register 200 according to the interrupt type The code of the PICRF 120 specified by the flag is loaded, and the program counter 180 is set to the interrupt address of the PIARF 100 designated by the interrupt flag.
상기와 같이 구성된 본 발명의 인터럽트 처리 장치에 대한 구체적인 동작을 아래에 설명한다.A detailed operation of the interrupt processing apparatus of the present invention configured as described above will be described below.
먼저, 정상적인 노말 명령어의 수행시에는 인터럽트 인에이블 신호가 디스에이블되어 멀티플렉서(140, 160)로부터 각각 노말 어드레스 및 노말 코드가 선택되어 출력된다. 그에 따라, 프로그램 카운터(180)와 명령어 레지스터(200)는 노말 어드레스 및 노말 코드를 각기 입력받아 정상적인 프로그램을 수행한다.First, when performing a normal normal instruction, an interrupt enable signal is disabled, and a normal address and a normal code are selected and output from the multiplexers 140 and 160, respectively. Accordingly, the program counter 180 and the instruction register 200 receive normal addresses and normal codes, respectively, and perform normal programs.
다음으로, 인터럽트가 발생하면 해당 인터럽트의 종류와 인터럽트 우선 순위에 따라 결정된 최우선 순위의 인터럽트에 대한 인터럽트 플래그 신호(Interrupt_Flag[n:0])가 PIARF(100) 및 PICRF(120)로 입력되고, 입력된 인터럽트 플래그 신호(Interrupt_Flag[n:0])에 응답하여 해당 인터럽트 어드레스와 인터럽트 코드가 PIARF(100) 및 PICRF(120)로부터 출력된다. PIARF(100) 및 PICRF(120)로부터 각기 출력된 인터럽트 어드레스 및 인터럽트 코드는 인터럽트 인에이블신호에 의해 멀티플렉서(140, 160)에서 선택되어 프로그램 카운터(180) 및 명령어 레지스터(200)로 출력됨으로써 프로그램 카운터(180)에 세팅된 인터럽트 어드레스와 명령어 레지스터(200)에 저장된 인터럽트 코드에 따라 인터럽트 서비스 루틴이 수행된다.Next, when an interrupt occurs, the interrupt flag signal Interrupt_Flag [n: 0] for the highest priority interrupt determined according to the interrupt type and the interrupt priority is input to the PIARF 100 and the PICRF 120. In response to the interrupt flag signal Interrupt_Flag [n: 0], the corresponding interrupt address and interrupt code are output from the PIARF 100 and the PICRF 120. The interrupt address and the interrupt code respectively output from the PIARF 100 and the PICRF 120 are selected by the multiplexers 140 and 160 by the interrupt enable signal and output to the program counter 180 and the instruction register 200. An interrupt service routine is performed according to the interrupt address set at 180 and the interrupt code stored in the instruction register 200.
따라서, 인터럽트 처리 동작 시에 "LJMP"를 수행하지 않고 인터럽트 서비스 루틴으로 곧바로 가 인터럽트 처리를 수행할 수 있다.Accordingly, the interrupt processing can be performed directly to the interrupt service routine without performing "LJMP" during the interrupt processing operation.
도 3은 본 발명의 다른 실시예에 따른 인터럽트 처리 장치에 대한 블록도로서, 명령어 파이프 라인 구조에 적용한 것이다.3 is a block diagram of an interrupt processing apparatus according to another embodiment of the present invention, which is applied to an instruction pipeline structure.
도 3에 도시된 바와 같이, 본 발명의 다른 인터럽트 처리 장치는 상기 도 2의 구조와 동일하되, 명령어 파이프 라인 구조에 따라 명령어 큐(instruction queue, 220)를 더 포함하여 이루어진다.As shown in FIG. 3, another interrupt processing apparatus of the present invention has the same structure as that of FIG. 2, but further includes an instruction queue 220 according to an instruction pipeline structure.
일반적으로, 코드 페치 사이클이 긴 명령어 파이프 라인 구조에서 인터럽트가 걸리게 되면, 파이프 라인이 깨지게 된다. 따라서, 이러한 파이프 라인의 깨짐을 방지하기 위하여 본 발명의 인터럽트 처리 장치에 명령어 큐(220)를 더 구비하여 노말 코드를 입력받아 미리 저장하여 계속적으로 명령어를 실행할 수 있다.In general, if an interrupt occurs in an instruction pipeline structure with a long code fetch cycle, the pipeline is broken. Therefore, in order to prevent such a pipeline from being broken, the interrupt processing apparatus of the present invention may further include an instruction queue 220 to receive normal codes, store them in advance, and continuously execute the instructions.
본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.Although the technical idea of the present invention has been described in detail according to the above preferred embodiment, it should be noted that the above-described embodiment is for the purpose of description and not of limitation. In addition, those skilled in the art will understand that various embodiments are possible within the scope of the technical idea of the present invention.
상기와 같이 이루어지는 본 발명은, "LJMP" 수행을 거치는 종래와 다르게 프로그램 가능한 어드레스 및 코드 레지스터 파일과, 노말 동작 및 인터럽트 동작 시 선택적으로 노말 어드레스 및 코드 또는 인터럽트 어드레스 및 코드를 출력하는 멀티플렉서를 구비하여 "LJMP" 수행을 거치지 않고 곧바로 실제 인터럽트 서비스 루틴을 수행함으로써 인터럽트 응답 시간을 줄이고, 전체 인터럽트 처리 속도를 높일 수 있다.The present invention as described above comprises a programmable address and code register file, which is different from the conventional one through "LJMP" execution, and a multiplexer for selectively outputting the normal address and code or interrupt address and code during normal operation and interrupt operation. By performing the actual interrupt service routine immediately without going through the "LJMP", it can reduce interrupt response time and speed up the overall interrupt processing.
또한, 명령어 코드에 대한 페치 사이클이 긴 경우에 본 발명을 적용하여 파이프라인의 깨짐을 방지함으로써 전체 시스템의 효율을 향상시킬 수 있는 효과가 있다.In addition, when the fetch cycle for the instruction code is long, the present invention has an effect of improving the efficiency of the entire system by preventing the pipeline from being broken.
Claims (4)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990065845A KR100329780B1 (en) | 1999-12-30 | 1999-12-30 | Interrupt processing apparatus reducing interrupt response time |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990065845A KR100329780B1 (en) | 1999-12-30 | 1999-12-30 | Interrupt processing apparatus reducing interrupt response time |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010058509A true KR20010058509A (en) | 2001-07-06 |
KR100329780B1 KR100329780B1 (en) | 2002-03-25 |
Family
ID=19633011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019990065845A KR100329780B1 (en) | 1999-12-30 | 1999-12-30 | Interrupt processing apparatus reducing interrupt response time |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100329780B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111045730A (en) * | 2019-12-12 | 2020-04-21 | 南京沁恒微电子股份有限公司 | Hardware fast interrupt processing system and method for RISC-V architecture |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1040115A (en) * | 1996-07-25 | 1998-02-13 | Nec Eng Ltd | Interruption processing system |
US5953535A (en) * | 1997-03-28 | 1999-09-14 | International Business Machines Corporation | Using intelligent bus bridges with pico-code to service interrupts and improve interrupt response |
KR19990015316A (en) * | 1997-08-05 | 1999-03-05 | 윤종용 | Interrupt handling method |
KR19990037242U (en) * | 1998-03-02 | 1999-10-05 | 김영환 | High speed interrupt device |
-
1999
- 1999-12-30 KR KR1019990065845A patent/KR100329780B1/en not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111045730A (en) * | 2019-12-12 | 2020-04-21 | 南京沁恒微电子股份有限公司 | Hardware fast interrupt processing system and method for RISC-V architecture |
CN111045730B (en) * | 2019-12-12 | 2023-07-21 | 南京沁恒微电子股份有限公司 | Hardware rapid interrupt processing system and method for RISC-V architecture |
Also Published As
Publication number | Publication date |
---|---|
KR100329780B1 (en) | 2002-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5680679B2 (en) | Apparatus and method for handling exception events | |
JP6185487B2 (en) | Keeping secure data isolated from non-secure access when switching between domains | |
US20200364054A1 (en) | Processor subroutine cache | |
US5471595A (en) | Asynchronous interrupt inhibit method and apparatus for avoiding interrupt of an inseparable operation | |
EP0378425A2 (en) | Branch instruction execution apparatus | |
US8589664B2 (en) | Program flow control | |
JPH02224025A (en) | Programmable computer and compiling thereof | |
EP0777877B1 (en) | Processing system, processor, memory storing instruction stream and compiler | |
US7987347B2 (en) | System and method for implementing a zero overhead loop | |
JPH01310441A (en) | Data processor | |
IL256717A (en) | Data processing | |
US5901309A (en) | Method for improved interrupt handling within a microprocessor | |
US8601488B2 (en) | Controlling the task switch timing of a multitask system | |
KR100329780B1 (en) | Interrupt processing apparatus reducing interrupt response time | |
US6775740B1 (en) | Processor having a selector circuit for selecting an output signal from a hit/miss judgement circuit and data from a register file | |
US5963725A (en) | Simulation system and method for microcomputer program | |
EP0417916A2 (en) | Procedure state descriptor system for digital data processors | |
KR19990072645A (en) | Device and method for fetching instruction for a program controlled unit | |
JP2591200B2 (en) | Program prefetching device | |
WO1988007239A1 (en) | Apparatus and method for synchronization of arithmetic exceptions in parallel pipelined execution units | |
JPS60231241A (en) | Program advance fetch control system | |
JPH0287229A (en) | Prefetch control system for execution instruction | |
JPS6152747A (en) | Microprocessor | |
JP3100705B2 (en) | Apparatus for instruction preparation in a microprocessor | |
JP2583614B2 (en) | Vector arithmetic unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20050221 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |