KR100333355B1 - Interrupt control device of microcomputer - Google Patents
Interrupt control device of microcomputer Download PDFInfo
- Publication number
- KR100333355B1 KR100333355B1 KR1019980062562A KR19980062562A KR100333355B1 KR 100333355 B1 KR100333355 B1 KR 100333355B1 KR 1019980062562 A KR1019980062562 A KR 1019980062562A KR 19980062562 A KR19980062562 A KR 19980062562A KR 100333355 B1 KR100333355 B1 KR 100333355B1
- Authority
- KR
- South Korea
- Prior art keywords
- interrupt
- signal
- count register
- register
- nested
- 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 OR CALCULATING; 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/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/268—Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Abstract
본 발명은 복수개의 인터럽트가 발생하였을 때 이를 하드웨어적으로 처리함으로써 인터럽트 발생에 따른 오버헤드의 발생을 억제하는데 그 목적이 있다.An object of the present invention is to suppress the occurrence of overhead caused by interrupt generation by processing hardware when a plurality of interrupts occur.
이와 같은 목적의 본 발명은 프로그래머블 로직 어레이와 인터럽트 제어로직, 카운트 레지스터, 인터럽트 신호 발생수단을 포함하여 이루어진다. 프로그래머블 로직 어레이는 명령어를 디코딩하여 제어신호를 발생시킨다. 인터럽트 제어로직은 제어신호를 입력받아 인터럽트 제어신호를 발생시킨다. 카운트 레지스터는 인터럽트 발생회수를 카운트하여 저장한다. 인터럽트 신호 발생수단은 카운트 레지스터에 저장되어 있는 값을 입력받아 네스티드 인터럽트 신호를 발생시켜서 인터럽트 제어로직을 인에이블시킨다.The present invention for this purpose comprises a programmable logic array, an interrupt control logic, a count register and an interrupt signal generating means. The programmable logic array decodes an instruction to generate a control signal. The interrupt control logic receives the control signal and generates an interrupt control signal. The count register counts and stores the number of interrupt occurrences. The interrupt signal generating means receives a value stored in the count register to generate a nested interrupt signal to enable interrupt control logic.
이와 같은 본 발명은 복수개의 인터럽트가 발생하였을 때 이를 하드웨어적으로 처리함으로써 인터럽트 발생에 따른 오버헤드의 발생을 억제하는 효과를 제공한다.As described above, the present invention provides an effect of suppressing the occurrence of overhead due to interrupt generation by processing hardware when a plurality of interrupts are generated.
Description
본 발명은 마이크로 프로세서의 인터럽트 제어장치에 관한 것으로, 중첩되어 발생한 복수개의 인터럽트를 수행하기 수한 인터럽트 제어장치에 관한 것이다.The present invention relates to an interrupt control apparatus of a microprocessor, and more particularly, to an interrupt control apparatus capable of performing a plurality of overlapping interrupts.
마이크로 프로세서에서, 임의의 명령(instruction)을 수행하는 도중에 인터럽트(interrupt)가 발생하면, CPU는 인터럽트 서비스 루틴(ISR, interrupt serviceroutine)이 수행되기 전에 다른 작업(task)에서 상용되던 레지스터의 데이터를 스택에 푸쉬(데이터 항목을 스택에 넣은 일)한 다음 인터럽트 서비스 루틴을 수행한다. 이처럼 인터럽트가 발생하였을 때 레지스터의 데이터들을 스택에 푸쉬하는데 많은 시간이 소요되어 컨텍스트 스위칭(context switching) 시간이 증가한다.In a microprocessor, if an interrupt occurs during the execution of any instruction, the CPU stacks the data from the registers that were used in another task before the interrupt service routine (ISR) was performed. Pushes (puts a data item on the stack) and then performs an interrupt service routine. When an interrupt occurs, it takes a lot of time to push the register data onto the stack, which increases the context switching time.
이를 해결하기 위하여 일부 마이크로 프로세서에서는 두 개의 뱅크를 구비하고 이를 교대로 사용하여 컨텍스트 스위칭 시간의 증가를 억제하고 있으며(히타치의 SH-3 모델), 이를 도 1에 나타내었다. 도 1에 나타낸 바와 같이 두 개의 뱅크(102)(104)를 구비하고, 인터럽트가 발생하면 상태 레지스터(SR)의 뱅크 레지스터 비트(RB)를 "0"에서 "1"로 전환함으로써 이전 작업시에 사용되던 뱅크 레지스터(102)의 내용을 그대로 유지한 채 다른 뱅크 레지스터(104)를 이용하여 인터럽트에 의한 새로운 작업을 수행한다. 이 상태에서 또 다시 인터럽트가 발생하면 뱅크 레지스터(102)를 사용하는 수밖에 없는데, 이 뱅크 레지스터(102)에는 이전 작업의 데이터가 저장되어 있으므로 새로운 데이터를 저장할 수 없다. 따라서 이 뱅크 레지스터(102)에 저장되어 있던 데이터들을 스택에 푸쉬한 다음 두 번째 인터럽트에 의한 작업을 수행한다. 뱅크의 개념이 없는 마이크로 프로세서의 경우에는 뱅크의 전환과정이 없이 바로 스택에 데이터를 푸쉬하고 인터럽트에 의한 작업을 수행한다.In order to solve this problem, some microprocessors have two banks and use them alternately to suppress an increase in context switching time (Hitachi's SH-3 model). As shown in Fig. 1, two banks 102 and 104 are provided, and when an interrupt occurs, the bank register bit RB of the status register SR is switched from " 0 " to " 1 " While the contents of the used bank register 102 are kept intact, a new operation by interrupt is performed by using another bank register 104. In this state, when an interrupt occurs again, the bank register 102 is inevitably used. Since the data of the previous operation is stored in this bank register 102, new data cannot be stored. Therefore, the data stored in the bank register 102 is pushed onto the stack and the second interrupt is performed. In the case of a microprocessor without the concept of a bank, data is pushed onto the stack and an interrupted operation is performed without a bank switching process.
상술한 바와 같이 뱅크의 개념을 갖는 마이크로 프로세서나 뱅크의 개념을 갖지 않는 마이크로 프로세서의 경우 모두 복수개의 인터럽트가 발생하면 필수적으로 이전 작업에서 사용되던 데이터들을 스택에 푸쉬해야만 한다. 이 때문에 컨텍스트 스위칭 명령에는 이전 데이터를 스택으로 푸쉬하기 위한 별도의 명령이 추가되어야 하므로, 결과적으로 오버헤드(overhead)가 증가하는 문제가 있다. 이와 같은 오버헤드의 증가는 실시간 연산 시스템(Real Time Operating System)에서 시스템의 동작을 제한하는 원인이 된다.As described above, in the case of the microprocessor having the concept of a bank or the microprocessor having no concept of a bank, when a plurality of interrupts occur, it is necessary to push data used in the previous operation onto the stack. For this reason, since a separate instruction for pushing the previous data onto the stack must be added to the context switching instruction, the overhead increases as a result. This increase in overhead causes a limitation of the operation of the system in a real time operating system.
따라서 본 발명은 복수개의 인터럽트가 발생하였을 때 이를 하드웨어적으로 처리함으로써 인터럽트 발생에 따른 오버헤드의 발생을 억제하는데 그 목적이 있다.Accordingly, an object of the present invention is to suppress the occurrence of overhead due to interrupt generation by processing hardware when a plurality of interrupts are generated.
이와 같은 목적의 본 발명은 프로그래머블 로직 어레이와 인터럽트 제어로직, 카운트 레지스터, 인터럽트 신호 발생수단을 포함하여 이루어진다.The present invention for this purpose comprises a programmable logic array, an interrupt control logic, a count register and an interrupt signal generating means.
프로그래머블 로직 어레이는 명령어를 디코딩하여 제어신호를 발생시킨다. 인터럽트 제어로직은 제어신호를 입력받아 인터럽트 제어신호를 발생시킨다. 카운트 레지스터는 인터럽트 발생회수를 카운트하여 저장한다. 인터럽트 신호 발생수단은 카운트 레지스터에 저장되어 있는 값을 입력받아 네스티드 인터럽트 신호를 발생시켜서 인터럽트 제어로직을 인에이블시킨다The programmable logic array decodes an instruction to generate a control signal. The interrupt control logic receives the control signal and generates an interrupt control signal. The count register counts and stores the number of interrupt occurrences. The interrupt signal generating means receives the value stored in the count register and generates a nested interrupt signal to enable interrupt control logic.
도 1은 종래의 마이크로 컴퓨터의 뱅크 레지스터 구조를 나타낸 도면.1 is a diagram showing a bank register structure of a conventional microcomputer.
도 2는 본 발명에 따른 인터럽트 제어장치의 인터럽트 카운트 레지스터와 인터럽트 제어신호 발생수단을 나타낸 도면.2 is a diagram showing an interrupt count register and an interrupt control signal generating means of an interrupt control apparatus according to the present invention;
도 3은 인터럽트가 발생하였을 때 본 발명에 따른 인터럽트 제어장치의 동작을 설명하기 위한 도면.3 is a view for explaining the operation of the interrupt control apparatus according to the present invention when an interrupt occurs.
도 4는 단일 인터럽트가 발생한 경우의 CPU의 동작을 나타낸 도면.4 is a diagram showing the operation of the CPU when a single interrupt has occurred.
도 5는 네스티드 인터럽트가 발생한 경우의 CPU의 동작을 나타낸 도면.5 is a diagram showing the operation of the CPU when a nested interrupt occurs.
도 6은 인터럽트 서비스 루틴이 종료된 다음 인터럽트로부터 복귀하는 경우의 CPU의 동작을 나타낸 도면.Fig. 6 is a diagram showing the operation of the CPU when the interrupt service routine ends and returns from an interrupt.
이와 같이 이루어지는 본 발명의 바람직한 실시예를 도 2 내지 도 6을 참조하여 설명하면 다음과 같다. 먼저 도 2는 본 발명에 따른 인터럽트 카운트 레지스터의 구조와 이 인터럽트 카운트 레지스터의 값을 이용하여 네스티드 인터럽트 신호(NI)를 발생시키는 인터럽트 신호 발생수단을 나타낸 도면이다. 도 2(a)에 나타낸 바와 같이 본 발명에 따른 인터럽트 카운트 레지스터는 모두 10비트로 구성되어 최대 1023개의 인터럽트 발생회수를 저장할 수 있다. 인터럽트가 발생하면 그 값을 증가시키고, 인터럽트로부터 복귀할 때에는 그 값을 감소시킨다. 만약 이 레지스터의 크기를 증가시키면 더 많은 수의 인터럽트 발생회수를 저장하는 것이 가능하다.Referring to Figures 2 to 6 a preferred embodiment of the present invention made as described above are as follows. 2 is a diagram illustrating an interrupt signal generating means for generating a nested interrupt signal NI using the structure of an interrupt count register and a value of the interrupt count register according to the present invention. As shown in FIG. 2A, the interrupt count registers according to the present invention are all 10 bits, and can store up to 1023 interrupt occurrence times. Increase the value when an interrupt occurs and decrease it when returning from an interrupt. If you increase the size of this register, it is possible to store more interrupts.
도 2(b)는 네스티드 인터럽트 신호(NI) 발생수단을 나타낸 것으로서, 오어 게이트에 인터럽트 카운트 레지스터의 값(C1∼C9)이 입력되고, 그 출력이 네스티드 인터럽트 신호(NI)가 된다. 이때 오어 게이트에는 인터럽트 카운트 레지스터의 값 가운데 최하위 비트(C0)를 제외한 값이 입력된다. 최하위 비트(C0)의 값은 인터럽트가 최대 1회 발생한 경우에만 해당되므로 중복 인터럽트(nested interrupt)의 검출에는 사용하지 않는 것이다.Fig. 2 (b) shows the nested interrupt signal NI generating means. The values C1 to C9 of the interrupt count register are input to the OR gate, and the output thereof becomes the nested interrupt signal NI. At this time, a value other than the least significant bit (C0) of the interrupt count register is input to the or gate. The value of the least significant bit (C0) is only used when one interrupt occurs at most, so it is not used to detect nested interrupts.
도 3은 인터럽트가 발생하였을 때 인터럽트 제어장치의 동작을 설명하기 위한 도면이다. 도 3에서 프로그래머블 로직 어레이(PLA)(302)는 명령어를 입력받아 디코딩하여 해당 제어신호를 발생시킨다. 제어신호는 인터럽트 제어로직(304)에 입력된다. 인터럽트 제어로직(304)은 네스티드 인터럽트 신호(NI)에 의해 제어된다. 즉, 단일 인터럽트가 발생한 경우와 네스티드 인터럽트가 발생한 경우 각각에 맞는 인터럽트 루틴을 수행하도록 한다.3 is a diagram for describing an operation of an interrupt control apparatus when an interrupt occurs. In FIG. 3, the programmable logic array (PLA) 302 receives a command and decodes it to generate a corresponding control signal. The control signal is input to the interrupt control logic 304. The interrupt control logic 304 is controlled by the nested interrupt signal NI. That is, when a single interrupt occurs and a nested interrupt occurs, an interrupt routine suitable for each is executed.
도 4는 단일 인터럽트가 발생한 경우의 CPU의 동작을 나타낸 도면이다. 인터럽트가 발생하면 먼저 명령어의 디코딩(ID, Instruction Decoding)이 이루어진 다음 인터럽트 루틴이 수행된다. 도 4의 (1)에서는 프로그램 카운터(PC)의 값을 보조 기억장치의 프로그램 카운터(SPC)에 저장하고, (2)에서는 상태 레지스터(SR)의 값을 보조 기억장치의 상태 레지스터(SSR)에 저장한다. 다음으로 (3)에서는 상태 레지스터(SR)의 값을 인터럽트에 의한 새로운 작업에 맞도록 설정하고, (4)에서 인터럽트 서비스 루틴의 번지를 계산한 다음 인터럽트에 의한 명령어를 가져온다(IF). 즉 일반적인 인터럽트 서비스 루틴이 수행되는 것이다.4 is a diagram illustrating the operation of the CPU when a single interrupt occurs. When an interrupt occurs, instruction decode (ID) is first performed, and then an interrupt routine is performed. In Fig. 4 (1), the value of the program counter PC is stored in the program counter SPC of the auxiliary storage. In (2), the value of the status register SR is stored in the status register SSR of the auxiliary storage. Save it. Next, in (3), the value of the status register (SR) is set to be suitable for a new job by interrupt. In (4), the address of the interrupt service routine is calculated, and the instruction by interrupt is obtained (IF). That is, the normal interrupt service routine is executed.
도 5는 네스티드 인터럽트가 발생한 경우의 CPU의 동작을 나타낸 도면이다. 먼저 인터럽트가 발생하면 명령어를 디코딩한다. 도 5의 (1)에서 보조 기억장치의 프로그램 카운터(SPC)의 값을 스택에 저장하고, 역시 보조 기억장치의 상태 레지스터(SSR)의 값을 스택에 푸쉬한다. (3)에서는 모두 15회의 명령어의 수행(execution)이 이루어진다. 이 동안에는 도 1의 뱅크 레지스터(104)에 저장되어 있는 R0_BANK1∼R7BANK1, R8∼R14의 값을 스택에 푸쉬한다. (4)에서는 프로그램 카운터(PC)의 값을 보조 기억장치의 프로그램 카운터(PC)에 저장하고, (5)에서는 상태 레지스터(SR)의 값을 보조 기억장치의 상태 레지스터(SSR)에 저장한 다음 인터럽트에 의한 새로운 명령어를 수행하기 위한 새로운 상태 레지스터의 값을 세팅(SR SET)한다. 상태 레지스터의 값이 세팅되면 (7)에서 인터럽트 서비스 루틴을 수행하기 위한 번지를 계산한 다음 (8)에서 해당 명령어를 페취한다. 즉 첫 번째 인터럽트 발생시에 사용하던 레지스터의 값들을 스택에 푸쉬한 다음 새로운 인터럽트에 의한 명령을 수행하도록 하는 것이다. 이때 새로운 인터럽트에 따른 서비스 루틴의 수행은 소프트웨어적으로 지시하는 것이 아니라 도 2에 나타낸 것과 같은 하드웨어를 이용하여 지시하는 것으로서, 결과적으로 네스티드 인터럽트에 의한 인터럽트 서비스 루틴을 수행하기 위하여 별도의 오버헤드가 발생하지 않는 것이다.5 is a diagram illustrating the operation of the CPU when a nested interrupt occurs. First, when an interrupt occurs, it decodes the instruction. In FIG. 5 (1), the value of the program counter SPC of the auxiliary storage device is stored on the stack, and the value of the status register SSR of the auxiliary storage device is also pushed onto the stack. In (3), all 15 instruction executions are performed. In the meantime, the values of R0_BANK1 to R7BANK1 and R8 to R14 stored in the bank register 104 in Fig. 1 are pushed onto the stack. In (4), the value of the program counter PC is stored in the program counter PC of the auxiliary storage. In (5), the value of the status register SR is stored in the status register SSR of the auxiliary storage. Set the value of the new status register (SR SET) to execute a new instruction by interrupt. When the value of the status register is set, the address for executing the interrupt service routine is calculated in (7), and the corresponding instruction is fetched in (8). In other words, it pushes the register values used in the first interrupt on the stack and executes the instruction by the new interrupt. In this case, the execution of the service routine according to the new interrupt is not instructed by software but by using hardware as shown in FIG. 2. As a result, a separate overhead is required to execute the interrupt service routine by nested interrupt. It doesn't happen.
도 6은 인터럽트 서비스 루틴이 종료된 다음 인터럽트로부터 복귀하는 경우의 CPU의 동작을 나타낸 도면이다. (1)에서 스택에 저장되어 있는 R0_BANK1∼R7BANK1, R8∼R14의 값을 꺼내어(pop)도 1의 뱅크 레지스터(104)에 다시 저장한다. 또 (2)에서 보조 기억장치의 상태 레지스터 값을 본래의 상태 레지스터(SR)로 불러와 저장하고, (3)에서 보조 기억장치의 프로그램 카운터(SPC)의 값을 본래의 프로그램 카운터(PC)로 불러와 저장한다.Fig. 6 is a diagram showing the operation of the CPU when the interrupt service routine ends and then returns from the interrupt. In (1), the values of R0_BANK1 to R7BANK1 and R8 to R14 stored on the stack are popped and stored again in the bank register 104 of FIG. In (2), the state register value of the auxiliary storage device is loaded and stored in the original state register SR, and in (3), the value of the program counter (SPC) of the auxiliary storage device is returned to the original program counter (PC). Recall and save
따라서 본 발명은 복수개의 인터럽트가 발생하였을 때 이를 하드웨어적으로 처리함으로써 인터럽트 발생에 따른 오버헤드의 발생을 억제하는 효과를 제공한다.Therefore, the present invention provides an effect of suppressing the occurrence of overhead due to interrupt generation by processing hardware when a plurality of interrupts are generated.
Claims (1)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1019980062562A KR100333355B1 (en) | 1998-12-30 | 1998-12-30 | Interrupt control device of microcomputer |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1019980062562A KR100333355B1 (en) | 1998-12-30 | 1998-12-30 | Interrupt control device of microcomputer |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20000045933A KR20000045933A (en) | 2000-07-25 |
| KR100333355B1 true KR100333355B1 (en) | 2002-08-28 |
Family
ID=19569225
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1019980062562A Expired - Fee Related KR100333355B1 (en) | 1998-12-30 | 1998-12-30 | Interrupt control device of microcomputer |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR100333355B1 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100812346B1 (en) * | 2006-02-06 | 2008-03-11 | 삼성전자주식회사 | Interrupt Handling Method and Device in Reconstruction Array |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR920008282A (en) * | 1990-10-01 | 1992-05-27 | 노르그렌 룬 | Drilling tool attachment means |
| WO1996027156A1 (en) * | 1995-03-01 | 1996-09-06 | Intel Corporation | Interrupt steering for a computer system |
-
1998
- 1998-12-30 KR KR1019980062562A patent/KR100333355B1/en not_active Expired - Fee Related
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR920008282A (en) * | 1990-10-01 | 1992-05-27 | 노르그렌 룬 | Drilling tool attachment means |
| WO1996027156A1 (en) * | 1995-03-01 | 1996-09-06 | Intel Corporation | Interrupt steering for a computer system |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20000045933A (en) | 2000-07-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR970008523B1 (en) | High-speed processor capable of handling multiple interupts | |
| US4410939A (en) | System for program interrupt processing with quasi-stack of register-sets | |
| US5642516A (en) | Selective shadowing of registers for interrupt processing | |
| AU618142B2 (en) | Tightly coupled multiprocessor instruction synchronization | |
| US5881302A (en) | Vector processing unit with reconfigurable data buffer | |
| US5043867A (en) | Exception reporting mechanism for a vector processor | |
| AU598969B2 (en) | Method and apparatus for executing instructions for a vector processing system | |
| KR19990044957A (en) | Methods and apparatus that affect the processing of subsequent instructions in a data processor | |
| US4833640A (en) | Register bank change including register to register transfer in a data processing system | |
| US20100023730A1 (en) | Circular Register Arrays of a Computer | |
| EP1770519A2 (en) | Information processing apparatus and its data processing method capable of forming descriptor queue | |
| KR100333355B1 (en) | Interrupt control device of microcomputer | |
| JPH0619711B2 (en) | Data processing system with priority branch mechanism | |
| AU626067B2 (en) | Apparatus and method for control of asynchronous program interrupt events in a data processing system | |
| JPH01286030A (en) | Information processor | |
| EP0319132B1 (en) | Interrupt handling in a parallel data processing | |
| US7107478B2 (en) | Data processing system having a Cartesian Controller | |
| AU691593B2 (en) | Vector processing unit with reconfigurable data buffer | |
| US20050154864A1 (en) | Method and apparatus for nested control flow | |
| US7818549B2 (en) | Event driven digital signal processor with time constraints | |
| JPH0496167A (en) | Interruption system for multi-processor system | |
| JP2591212B2 (en) | High-speed interrupt processing device | |
| KR100329780B1 (en) | Interrupt processing apparatus reducing interrupt response time | |
| JPH0340013A (en) | Central arithmetic processing unit | |
| JPS61243538A (en) | Data processing device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| R17-X000 | Change to representative recorded |
St.27 status event code: A-3-3-R10-R17-oth-X000 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-3-3-R10-R13-asn-PN2301 St.27 status event code: A-3-3-R10-R11-asn-PN2301 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| N231 | Notification of change of applicant | ||
| PN2301 | Change of applicant |
St.27 status event code: A-3-3-R10-R13-asn-PN2301 St.27 status event code: A-3-3-R10-R11-asn-PN2301 |
|
| R17-X000 | Change to representative recorded |
St.27 status event code: A-3-3-R10-R17-oth-X000 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R14-asn-PN2301 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R14-asn-PN2301 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 5 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 6 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 7 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 8 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 9 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 10 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 11 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
| FPAY | Annual fee payment |
Payment date: 20130327 Year of fee payment: 12 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 12 |
|
| FPAY | Annual fee payment |
Payment date: 20140305 Year of fee payment: 13 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 13 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 14 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
| LAPS | Lapse due to unpaid annual fee | ||
| PC1903 | Unpaid annual fee |
St.27 status event code: A-4-4-U10-U13-oth-PC1903 Not in force date: 20160410 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE |
|
| PC1903 | Unpaid annual fee |
St.27 status event code: N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20160410 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |