KR100677199B1 - Interrupt processing apparatus - Google Patents

Interrupt processing apparatus Download PDF

Info

Publication number
KR100677199B1
KR100677199B1 KR1020000006676A KR20000006676A KR100677199B1 KR 100677199 B1 KR100677199 B1 KR 100677199B1 KR 1020000006676 A KR1020000006676 A KR 1020000006676A KR 20000006676 A KR20000006676 A KR 20000006676A KR 100677199 B1 KR100677199 B1 KR 100677199B1
Authority
KR
South Korea
Prior art keywords
interrupt
state register
request signal
register
signal
Prior art date
Application number
KR1020000006676A
Other languages
Korean (ko)
Other versions
KR20010081323A (en
Inventor
이준찬
Original Assignee
엘지전자 주식회사
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020000006676A priority Critical patent/KR100677199B1/en
Publication of KR20010081323A publication Critical patent/KR20010081323A/en
Application granted granted Critical
Publication of KR100677199B1 publication Critical patent/KR100677199B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4825Interrupt from clock, e.g. time of day
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30105Register structure
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
    • H03K19/21EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Bus Control (AREA)

Abstract

본 발명은 인터럽트 처리장치에 관한 것으로, 종래 인터럽트 처리장치는 인터럽트 요청신호를 클리어하는 경우에 있어서 약속된 시간 후에 클리어시키는 방법은 호스트의 사정에 의해 무시되는 경우가 있고, 호스트가 제 1상태레지스터를 읽으면 클리어시키는 방법은 연이어 들어오는 인터럽트 소스에 의해 인터럽트 요청신호가 클리어되지 않아 호스트가 인터럽트 재 요청을 인식하지 못하는 경우가 있으므로 상기 어떠한 방법이든 인터럽트 요청이 무시되는 경우가 발생하는 문제점이 있었다. 따라서 본 발명은 다수의 인터럽트 소스를 받아들여 원하지 않는 인터럽트는 걸러내기위해 외부 호스트에 의해 설정되는 마스크레지스터와; 상기 마스크레지스터를 거친 인터럽트 소스를 저장하는 제 1상태레지스터와; 상기 제 1상태레지스터의 내용을 한 클럭 늦게 입력받아 저장하는 제 2상태레지스터와; 상기 제 1상태레지스터의 값과 외부 호스트로부터 설정되는 인터럽트 모드에 의해 인터럽트 요청신호를 출력하거나 설정된 시간동안 보류한 후 출력하고, 외부 호스트의 신호에 의해 제 1상태레지스터를 클리어하는 인터럽트 발생 및 클리어부로 구성하는 인터럽트 처리장치를 통해 인터럽트 모드를 설정하여 인터럽트 요구신호를 클리어 한 후 설정한 기간동안 인터럽트 요구신호가 보류됨은 물론이고 보류되는 기간동안 발생한 인터럽트 소스의 내용을 제 1상태레지스터에 누적저장 함으로써 발생한 인터럽트 요구신호를 호스트가 모두 인지할 수 있도록 하여 유실되는 인터럽트 요청신호가 없도록 할 수 있는 효과가 있다.The present invention relates to an interrupt processing apparatus. In the conventional interrupt processing apparatus, when the interrupt request signal is cleared, the method of clearing after a predetermined time may be ignored due to the host's circumstances. When the read method is cleared, since the interrupt request signal is not cleared by subsequent interrupt sources, the host may not recognize the interrupt re-request, so that the interrupt request may be ignored in any of the above methods. Accordingly, the present invention provides a mask register configured by an external host to accept a plurality of interrupt sources and filter out unwanted interrupts; A first state register storing an interrupt source passed through the mask register; A second state register configured to receive and store the contents of the first state register one clock late; The interrupt request signal is output by the value of the first state register and the interrupt mode set by the external host, or is output after the interrupt request signal is held for a set time, and is cleared by the signal of the external host. The interrupt request signal is cleared by setting the interrupt mode through the configured interrupt processor, and the interrupt request signal is not only held for the set period but also accumulated and stored in the first state register. The host can recognize all interrupt request signals so that there is no lost interrupt request signal.

Description

인터럽트 처리장치{INTERRUPT PROCESSING APPARATUS}Interrupt handler {INTERRUPT PROCESSING APPARATUS}

도 1은 일반적인 인터럽트 처리장치의 구성도.1 is a block diagram of a general interrupt processing apparatus.

도 2는 종래 인터럽트 처리장치의 인터럽트 발생 타이밍도.2 is an interrupt generation timing diagram of a conventional interrupt processing apparatus.

도 3은 종래 인터럽트 처리장치의 일반적인 인터럽트 클리어 타이밍도.3 is a general interrupt clear timing diagram of a conventional interrupt processing apparatus.

도 4는 종래 인터럽트 처리장치의 특이한 인터럽트 클리어 타이밍도.4 is an unusual interrupt clear timing diagram of a conventional interrupt processing apparatus.

도 5는 본 발명 인터럽트 처리장치의 구성도.5 is a block diagram of an interrupt processing apparatus of the present invention.

도 6은 본 발명의 인터럽트 클리어 타이밍도.6 is an interrupt clear timing diagram of the present invention.

*** 도면의 주요부분에 대한 부호의 설명 ****** Explanation of symbols for main parts of drawing ***

10 : 인터럽트 발생 및 클리어부 11 : 인터럽트 초기화부10: interrupt generation and clearing section 11: interrupt initialization section

12 : 상태레지스터 연산부 13 : 인터럽트 저장 및 클리어부12: Status register calculating section 13: Interrupt storing and clearing section

14 : 인터럽트 지연부 15 : 인터럽트 발생부14: interrupt delay unit 15: interrupt generator

30 : 제 1상태레지스터 40 : 제 2상태레지스터30: first state register 40: second state register

본 발명은 인터럽트 처리장치에 관한 것으로 특히 다수의 인터럽트 소스를 인가 받아 하나의 인터럽트 요청신호를 발생하는 인터럽트 처리장치에서 인터럽트 요청신호를 효과적으로 클리어함으로써 발생한 인터럽트를 외부 호스트에서 모두 정확히 인식하도록 하기에 적당하도록 한 인터럽트 처리장치에 관한 것이다.The present invention relates to an interrupt processing apparatus. In particular, an interrupt processing apparatus that receives a plurality of interrupt sources to generate a single interrupt request signal effectively clears the interrupt request signal so that the interrupt can be correctly recognized by the external host. One interrupt handler is concerned.

도 1은 일반적인 인터럽트 처리장치로서, 도시한 바와 같이 다수의 인터럽트 소스(IS_1~IS_N)를 받아들여 원하지 않는 인터럽트는 걸러내기위해 외부 호스트(미도시)에 의해 설정되는 마스크레지스터(20)와; 상기 마스크레지스터(20)를 거친 인터럽트 소스(IS_1~IS_N)를 저장하는 제 1상태레지스터(30)와; 상기 제 1상태레지스터(30)의 내용을 한 클럭 늦게 입력받아 저장하는 제 2상태레지스터(40)와; 상기 제 1상태레지스터(30)의 값에 따라 인터럽트 요청신호(IRQ)를 출력하고, 외부 호스트의 신호에 의해 제 1상태레지스터(30)를 클리어하는 인터럽트 발생 및 클리어부(10)로 구성된다.1 is a general interrupt processing apparatus, which includes a mask register 20 set by an external host (not shown) to receive a plurality of interrupt sources IS_1 to IS_N to filter out unwanted interrupts as shown in the figure; A first state register 30 for storing interrupt sources IS_1 to IS_N which have passed through the mask register 20; A second state register 40 which receives and stores the contents of the first state register 30 by one clock; The interrupt request signal IRQ is output according to the value of the first state register 30, and the interrupt generation and clear unit 10 is configured to clear the first state register 30 by a signal of an external host.

상기 구성한 일반적인 인터럽트 처리장치를 종래 방식으로 운영하는 경우에 대해 자세히 설명하면 다음과 같다.The case of operating the above-described general interrupt processing apparatus in a conventional manner will be described in detail as follows.

외부 호스트에서 기 할당된 어드레스(Add)를 설정하여 인터럽트 처리장치(1)를 선택하고, 데이터(DATA)를 전송하여 N비트의 마스크레지스터(20)를 원하는 값으로 세팅한다.The interrupt processor 1 is selected by setting a pre-assigned address Add in the external host, and the data DATA is transmitted to set the N-bit mask register 20 to a desired value.

그리고, 상기 세팅된 마스크레지스터(20)에 의해 입력되는 인터럽트 소스(IS-1~IS_N)는 걸러져서 N비트의 제 1상태레지스터(30)에 인가되고, 상기 인터럽트 발생 및 클리어부(10)는 제 1상태레지스터(30)의 내용을 모두 OR연산하여 하나라도 1이 있으면 인터럽트 요청신호(IRQ)를 호스트로 출력한다.Then, the interrupt sources IS-1 to IS_N inputted by the set mask register 20 are filtered and applied to the N-bit first state register 30, and the interrupt generation and clearing unit 10 is The OR of all contents of the first state register 30 is ORed, and if any one is 1, the interrupt request signal IRQ is output to the host.

이때, 상기 인터럽트 소스(IS_1~IS_N)는 일정한 시간이 지나면 소멸되도록 구성하고, 제 2상태레지스터(40)는 제 1상태레지스터(30)의 내용을 한 클럭 지연 후 입력받는다.At this time, the interrupt sources IS_1 to IS_N are configured to disappear after a predetermined time, and the second state register 40 receives the contents of the first state register 30 after one clock delay.

호스트에서 상기 인터럽트 요청신호(IRQ)를 인지하면 상기 인터럽트 처리장치(1)를 어드레스(Add)를 이용하여 지정하고 제 1상태레지스터(30)의 값을 데이터(DATA)라인을 통해 읽어들여 그에 맞는 인터럽트 서브루틴을 실행한다.When the host recognizes the interrupt request signal IRQ, the interrupt processing apparatus 1 is designated by using an address Add, and the value of the first state register 30 is read through the data DATA line. Run the interrupt subroutine.

이때, 상기 제 1상태레지스터(30)를 클리어시켜 인터럽트 요청신호(IRQ)를 리셋하는데, 그 방법은 두가지로 호스트가 제 1상태레지스터(30)의 값을 읽음과 동시에 클리어신호를 이용하여 제 1상태레지스터(30)의 모든 비트를 클리어시키는 방법과 일정시간이 지난 후 인터럽트 발생 및 클리어부(10)에서 일방적으로 클리어신호를 제 1상태레지스터(30)로 보내 모든 비트를 리셋하는 방법이 있다.At this time, the first state register 30 is cleared to reset the interrupt request signal IRQ. In this method, the host reads the value of the first state register 30 and uses the first clear signal at the same time. There is a method of clearing all bits of the state register 30 and a method of resetting all bits by unilaterally sending a clear signal to the first state register 30 from the interrupt generation and clearing unit 10 after a predetermined time elapses.

상기 두가지 방법 중에서 일정시간 경과 후에 일방적으로 인터럽트 요청신호(IRQ)를 클리어시키는 두번째 방법은 호스트가 다른 일을 처리하느라 바쁜 경우 인터럽트 요청신호(IRQ)를 차단함으로써 무시될 수 있어 호스트의 일이 일정한 경우가 아니면 적용이 힘드므로 호스트가 제 1상태레지스터의 값을 읽어감과 동시에 클리어되는 첫번째 방법에 대해 계속 설명한다.Among the two methods, the second method of unilaterally clearing the interrupt request signal (IRQ) after a predetermined time elapses can be ignored by interrupting the interrupt request signal (IRQ) when the host is busy processing other tasks. Otherwise, it is difficult to apply, so the first method of clearing the host while reading the value of the first state register will be described.

도 2는 종래 인터럽트 처리장치의 인터럽트 발생 타이밍도로서 도시한 바와 같이 모든 동작은 일정한 클럭신호(clk)가 저전위에서 고전위로 변하는 라이징(Rising)에 맞추어 동작하고, 인터럽트 소스(IS_1~IS_N)중 어느 하나라도 셋되면 그 신호는 마스크레지스터를 통해 다음 클럭에 제 1상태레지스터로 인가되는데, 도시한 바와 같이 여기서는 1클럭동안만 셋된다.2 is an interrupt generation timing diagram of a conventional interrupt processing apparatus. As shown in FIG. 2, all operations operate in response to a rising clock in which a constant clock signal clk changes from a low potential to a high potential, and any of interrupt sources IS_1 to IS_N If one is set, the signal is applied to the first state register through the mask register to the next clock, as shown here, which is only set for one clock.

상기 나타낸 SR1은 인터럽트 소스(IS_1~IS_N)중에서 변화가 있는 소스에 연결된 제 1상태레지스터의 한 비트값이고, SR2는 상기 제 1상태레지스터와 같은 위치의 제 2상태레지스터 비트값을 나타내는데, 도시한 바와 같이 인터럽트 소스(IS_1~IS_N)가 셋되었으므로 그에 해당하는 제 1상태레지스터 비트(SR1)는 그 다음 클럭에서 셋되고, 그에 따라 클럭에 상관없는 인터럽트 요청신호(IRQ)가 동시에 셋된다.SR1 represents one bit value of the first state register connected to the source of the change among the interrupt sources IS_1 to IS_N, and SR2 represents the second state register bit value of the same position as the first state register. As described above, since the interrupt sources IS_1 to IS_N are set, the corresponding first state register bit SR1 is set at the next clock, thereby simultaneously setting the interrupt request signal IRQ regardless of the clock.

상기 인터럽트 요청신호(IRQ)는 N비트의 제 1상태레지스터중 한 비트만 셋되어도 셋된다.The interrupt request signal IRQ is set even if only one bit of the N-bit first state register is set.

그리고, 그 다음 클럭에서 제 1상태레지스터의 내용이 제 2상태레지스터로 인가된다.Then, at the next clock, the contents of the first state register are applied to the second state register.

도시한 클리어신호(clear)가 계속 리셋되어 있으므로 제 1상태레지스터 및 제 2상태레지스터는 그 값을 유지하고, 제 2레지스터의 값에 의한 인터럽트 요청신호(IRQ)도 그 값을 유지한다.Since the clear signal clear shown is continuously reset, the first state register and the second state register maintain their values, and the interrupt request signal IRQ by the value of the second register also maintains the value.

도 3은 종래 인터럽트 처리장치의 일반적인 인터럽트 클리어 타이밍도로서, 도시한 바와 같이 인터럽트 소스(IS_1~IS_N)가 셋되었으므로 그에 해당하는 제 1상 태레지스터 비트(SR1)는 그 다음 클럭에서 셋되고, 그에 따라 클럭에 상관없는 인터럽트 요청신호(IRQ)가 동시에 셋된다.FIG. 3 is a general interrupt clear timing diagram of a conventional interrupt processing apparatus. As shown in FIG. 3, interrupt source IS_1 to IS_N are set so that the corresponding first phase register bit SR1 is set to the next clock. Accordingly, the interrupt request signal IRQ irrespective of the clock is simultaneously set.

그리고, 그 다음 클럭에서 제 1상태레지스터의 내용이 제 2상태레지스터로 인가된다.Then, at the next clock, the contents of the first state register are applied to the second state register.

호스트가 상기 인터럽트 요청신호(IRQ)를 확인하기 위해 제 1상태레지스터를 읽으면 도시한 클리어신호(clear)가 셋되고, 이때 제 1상태레지스터와 제 2상태레지스터를 XOR(Exclusive OR)연산하여 그 값을 제 1상태레지스터에 저장한다.When the host reads the first state register to check the interrupt request signal IRQ, the illustrated clear signal clear is set. At this time, the first state register and the second state register are XORed to perform an Exclusive OR operation. Is stored in the first state register.

그러면, 상기 클럭에서 제1, 제 2상태레지스터가 셋되어 있으므로 XOR의 결과는 0이 되고, 이 값이 다음 클럭에서 제 1상태레지스터에 인가 되므로, 제 1상태레지스터 및 인터럽트 요청신호(IRQ)는 리셋된다.Then, since the first and second state registers are set in the clock, the result of XOR becomes 0. Since the value is applied to the first state register in the next clock, the first state register and the interrupt request signal IRQ are It is reset.

도 4는 종래 인터럽트 처리장치의 특이한 인터럽트 클리어 타이밍도로서, 도시한 바와 같이 인터럽트 소스(IS_1~IS_N)중 3번째를 제외한 일부가 셋되어 있고, 그에 해당하는 제 1,제 2상태레지스터 비트는 셋되고, 그에 따라 인터럽트 요청신호(IRQ)가 셋되어 있다. FIG. 4 is an unusual interrupt clear timing diagram of a conventional interrupt processing apparatus. As shown in FIG. 4, a portion except for the third of the interrupt sources IS_1 to IS_N is set, and corresponding first and second state register bits are set. The interrupt request signal IRQ is set accordingly.

상기와 같은 상태에서 클리어신호(clear)가 인가되기 전에 도시한 바와 같이 3번째 인터럽트 소스(IS_3)가 추가로 1클럭동안 셋되면 그 다음 클럭에서 리셋되어 있던 제 1상태레지스터의 3번째 비트(SR1_3)가 셋된다.In the above state, when the third interrupt source IS_3 is set for one additional clock as shown before the clear signal clear is applied, the third bit SR1_3 of the first state register reset at the next clock is shown. ) Is set.

이때, 우연하게도 상기 클럭에서 클리어신호(clear)가 인가 된다면 제 1상태레지스터와 제 2상태레지스터가 XOR연산을 하므로, 제 1상태레지스터의 3번째 비트(SR1_3)를 제외하고 모두 리셋되지만 제 1상태레지스터의 3번째 비트(SR1_3)와 제 2상태레지스터의 3번째 비트(SR2_3)의 값이 서로 다르므로 클리어한 후에도 제 1,제 2상태레지스터는 셋을 유지하고, 그에따라 인터럽트 요청신호(IRQ)또한 셋을 유지한다. In this case, if a clear signal (clear) is applied to the clock by chance, since the first state register and the second state register performs an XOR operation, all but the third bit SR1_3 of the first state register is reset but the first state. Since the values of the third bit SR1_3 of the register and the third bit SR2_3 of the second state register are different from each other, the first and second state registers remain set even after clearing, and accordingly the interrupt request signal IRQ. It also keeps three.

상기와 같은 경우는 호스트에서 인터럽트가 다시 요청되었다는 것을 인지하지 못하는 경우도 있다.In this case, the host may not know that the interrupt has been requested again.

상기한 바와 같은 종래 인터럽트 처리장치는 인터럽트 요청신호를 클리어하는 경우에 있어서 약속된 시간 후에 클리어시키는 방법은 호스트의 사정에 의해 무시되는 경우가 있고, 호스트가 제 1상태레지스터를 읽으면 클리어시키는 방법은 연이어 들어오는 인터럽트 소스에 의해 인터럽트 요청신호가 클리어되지 않아 호스트가 인터럽트 재 요청을 인식하지 못하는 경우가 있으므로 상기 어떠한 방법이든 인터럽트 요청이 무시되는 경우가 발생하는 문제점이 있었다.In the case of clearing the interrupt request signal, the conventional interrupt processing apparatus as described above may be cleared after a predetermined time. The method may be cleared when the host reads the first state register. Since the host may not recognize the interrupt re-request because the interrupt request signal is not cleared by the incoming interrupt source, the interrupt request may be ignored in any of the above methods.

본 발명은 상기한 바와 같은 종래 문제점을 해결하기 위하여 창안한 것으로, 본 발명의 목적은 인터럽트 요청신호가 연이어 발생하는 것을 방지함으로써 유실되는 인터럽트 요청신호가 없도록 할 수 있는 인터럽트 처리장치를 제공하는데 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned conventional problems, and an object of the present invention is to provide an interrupt processing apparatus which can prevent the interrupt request signal from being lost by preventing the interrupt request signal from occurring successively.

상기한 바와 같은 본 발명의 목적을 달성하기 위한 인터럽트 처리장치는 다수의 인터럽트 소스를 받아들여 원하지 않는 인터럽트는 걸러내기위해 외부 호스트에 의해 설정되는 마스크레지스터와; 상기 마스크레지스터를 거친 인터럽트 소스를 저장하는 제 1상태레지스터와; 상기 제 1상태레지스터의 내용을 한 클럭 늦게 입력받아 저장하는 제 2상태레지스터와; 상기 제 1상태레지스터의 값과 외부 호스트로부터 설정되는 인터럽트 모드에 의해 인터럽트 요청신호를 설정된 시간동안 보류한 후 출력하고, 외부 호스트의 클리어 신호에 따라 상기 제 1상태레지스터와 제 2상태레지스터를 XOR 연산하여 그 결과로 상기 제 1상태레지스터를 갱신하는 인터럽트 발생 및 클리어부로 구성하는 것을 특징으로한다.An interrupt processing apparatus for achieving the object of the present invention as described above comprises a mask register set by an external host to accept a plurality of interrupt sources to filter out unwanted interruptions; A first state register storing an interrupt source passed through the mask register; A second state register configured to receive and store the contents of the first state register one clock late; After interrupting the interrupt request signal for a predetermined period of time by the value of the first state register and the interrupt mode set by the external host, and outputting the same, and performing an XOR operation on the first state register and the second state register according to the clear signal of the external host. And as a result, an interrupt generating and clearing unit for updating the first state register.

상기 인터럽트 발생 및 클리어부는 클럭신호와 외부 리셋신호에 의해 인터럽트 초기신호를 출력하는 인터럽트 초기화부와; 제 1상태레지스터의 모든 비트를 OR연산하는 상태레지스터 OR연산부와; 외부 호스트로부터 인터럽트 모드를 설정받고, 클럭신호를 인가 받아 그 모드 별로 설정된 지연시간내에는 인터럽트 요구신호를 외부로 출력하지 못하도록하는 인터럽트 인에이블 신호를 생성하는 인터럽트 지연부와; 상기 인터럽트 인에이블신호 및 클리어신호에 의해 제 1상태레지스터와 제 2상태레지스터를 XOR연산하여 그 값으로 제 1상태레지스터를 클리어 하거나 인터럽트 요구신호가 출력되지 못한 인터럽트 소스정보를 제 1상태레지스터에 저장하도록하는 인터럽트 저장 및 클리어부와; 상기 인터럽트 초기화부의 출력에 의해 초기화 되고, 상태레지스터 OR연산부의 출력과 상기 인터럽트 지연부의 인터럽트 인에이블 신호의 상태에 의해 인터럽트 요구신호를 출력하거나 보류하는 인터럽트 발생부로 구성한다.The interrupt generation and clearing unit may include an interrupt initialization unit for outputting an interrupt initial signal by a clock signal and an external reset signal; A state register OR operation unit for ORing all bits of the first state register; An interrupt delay unit configured to receive an interrupt mode from an external host, receive an clock signal, and generate an interrupt enable signal to externally output an interrupt request signal within a delay time set for each mode; XOR-operates the first state register and the second state register according to the interrupt enable signal and the clear signal, and clears the first state register with the value, or stores the interrupt source information in which the interrupt request signal is not output, in the first state register. An interrupt storing and clearing unit; And an interrupt generator that is initialized by the output of the interrupt initializer and outputs or suspends an interrupt request signal by the output of the status register OR operator and the state of the interrupt enable signal of the interrupt delay unit.

이하, 첨부한 도면에 의거하여 상세히 살펴보면 다음과 같다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

본 발명의 구성및 동작을 도 1 및 도 5의 일실시예를 참고하여 설명하면 다음과 같다.Referring to the configuration and operation of the present invention with reference to the embodiment of Figure 1 and 5 as follows.

다수의 인터럽트 소스(IS_1~IS_N)를 받아들여 원하지 않는 인터럽트는 걸러내 기위해 외부 호스트에 의해 설정되는 마스크레지스터(20)와; 상기 마스크레지스터(20)를 거친 인터럽트 소스(IS_1~IS_N)를 저장하는 제 1상태레지스터(30)와; 상기 제 1상태레지스터(30)의 내용을 한 클럭 늦게 입력받아 저장하는 제 2상태레지스터(40)와; 상기 제 1상태레지스터(30)의 값과 외부 호스트에 의해 설정되는 인터럽트 모드에 의해 인터럽트 요청신호(IRQ)를 출력하거나 설정된 시간동안 보류한 후 출력하고, 외부 호스트의 신호에 의해 제 1상태레지스터(30)를 클리어하는 인터럽트 발생 및 클리어부(10)로 구성한다. A mask register 20 set by an external host to accept a plurality of interrupt sources IS_1 to IS_N to filter out unwanted interrupts; A first state register 30 for storing interrupt sources IS_1 to IS_N which have passed through the mask register 20; A second state register 40 which receives and stores the contents of the first state register 30 by one clock; The interrupt request signal IRQ is output by the value of the first state register 30 and the interrupt mode set by the external host, or is output after the interrupt request signal IRQ is held for a set time, and is output by the signal of the external host. 30 is configured to generate an interrupt generation and clear section 10 to clear.

상기 인터럽트 발생 및 클리어부(10)는 클럭신호(clk)와 외부 리셋신호(reset)에 의해 인터럽트 초기신호를 출력하는 인터럽트 초기화부(11)와; 제 1상태레지스터(30)의 모든 비트를 OR연산하는 상태레지스터 OR연산부(12)와; 외부 호스트로부터 인터럽트 모드를 설정받고 클럭신호(clk)를 인가 받아 그 모드 별로 설정된 지연시간내에는 인터럽트 요구신호(IRQ)를 외부로 출력하지 못하도록하는 인터럽트 인에이블 신호(intr_en)를 생성하는 인터럽트 지연부(14)와; 상기 인터럽트 지연부(14)의 인터럽트 인에이블신호(intr_en) 및 클리어신호(clear)에 의해 제 1상태레지스터(30)와 제 2상태레지스터(40)를 연산하여 그 값으로 제 1상태레지스터(30)를 클리어 하거나 제 1상태레지스터(30)에 인터럽트 요구신호(IRQ)가 출력되지 않은 인터럽트 소스(IS_1~IS_N)를 저장하도록하는 인터럽트 저장 및 클리어부(13)와; 상기 인터럽트 초기화부(11)의 출력에 의해 초기화 되고, 상태레지스터 OR연산부(12)의 출력과 상기 인터럽트 지연부(14)의 인터럽트 인에이블신호(intr_en)의 상태에 의해 인터럽트 요구신호(IRQ)를 출력하거나 보류하는 인터럽터 발생부(15)로 구성한다.The interrupt generation and clearing unit 10 includes an interrupt initiation unit 11 for outputting an interrupt initial signal by a clock signal clk and an external reset signal reset; A state register OR operator 12 for ORing all bits of the first state register 30; An interrupt delay unit configured to set an interrupt mode from an external host, receive a clock signal clk, and generate an interrupt enable signal intr_en that does not output an interrupt request signal IRQ to the outside within a delay time set for each mode. 14; The first state register 30 and the second state register 40 are calculated by using the interrupt enable signal intr_en and the clear signal clear of the interrupt delay unit 14, and the first state register 30 is calculated using the interrupt register 14 and the second state register 40. ), Or an interrupt storing and clearing unit 13 for storing interrupt sources IS_1 to IS_N for which the interrupt request signal IRQ is not output to the first state register 30; The interrupt request signal IRQ is initialized by the output of the interrupt initiation unit 11 and is output by the output of the state register OR operation unit 12 and the state of the interrupt enable signal intr_en of the interrupt delay unit 14. It consists of the interrupter generation part 15 which outputs or is suspended.

상기와 같이 구성한 본 발명의 동작을 자세히 살펴보면 다음과 같다.Looking at the operation of the present invention configured as described above in detail.

외부 호스트에서 기 할당된 어드레스(Add)를 설정하여 인터럽트 처리장치(1)를 선택하고, 데이터(DATA)를 전송하여 N비트의 마스크레지스터(20) 및 인터럽트 지연부(14)를 원하는 값으로 세팅한다.Set the pre-allocated address Add in the external host to select the interrupt processing apparatus 1, and transmit the data DATA to set the N-bit mask register 20 and the interrupt delay unit 14 to a desired value. do.

상기 인터럽트 지연부(14)는 호스트의 세팅에의해 인터럽터 모드가 결정되는데, 인터럽터 모드는 얼마동안 인터럽트 요구신호(IRQ)의 출력을 금지시킨 후 출력을 재계할 것인지 정하는 것으로, 그에 맞추어 인터럽트 인에이블신호(intr_en)를 출력한다. The interrupt delay unit 14 determines the interrupter mode according to the setting of the host. The interrupter mode determines how long the output of the interrupt request signal (IRQ) is prohibited and then resumes the output. Print (intr_en).

그리고, 입력되는 인터럽트 소스(IS-1~IS_N)는 상기 세팅된 마스크레지스터(20)에 의해 걸러져서 N비트의 제 1상태레지스터(30)에 인가되고, 상기 상태 레지스터 OR연산부(12)는 제 1상태레지스터(30)의 내용을 모두 OR연산하여 인터럽트 발생부(15)로 출력한다.Then, the input interrupt sources IS-1 to IS_N are filtered by the set mask register 20 and applied to the first N-bit state register 30 of N bits, and the state register OR operator 12 is made of the first. The contents of the one state register 30 are ORed together and output to the interrupt generator 15.

이때, 상기 인터럽트 소스(IS_1~IS_N)는 일정한 시간이 지나면 소멸되도록 구성하고, 제 2상태레지스터(40)는 제 1상태레지스터(30)의 내용을 한 클럭 지연 후 입력받는다.At this time, the interrupt sources IS_1 to IS_N are configured to disappear after a predetermined time, and the second state register 40 receives the contents of the first state register 30 after one clock delay.

호스트에서 상기 인터럽트 요청신호(IRQ)를 인지하면 어드레스(Add)를 이용하여 인터럽트 처리장치(1)를 지정하고, 제 1상태레지스터(30)의 값을 데이터(DATA)라인을 통해 읽어 들여 그에 맞는 인터럽트 서브루틴을 실행한다.When the host recognizes the interrupt request signal IRQ, the interrupt processor 1 is designated by using an address Add, and the value of the first state register 30 is read through the data line to match the interrupt processing device 1. Run the interrupt subroutine.

이때, 상기 어드레스(Add)를 해석하거나 다른 신호를 이용하여 클리어(clear)신호를 생성하여 이를 인터럽트 저장 및 클리어부(13)에 인가하면, 상기 인터럽트 저장 및 클리어부(13)는 제 1상태레지스터(30)와 제 2상태레지스터(40)를 XOR연산하여 그 값을 제 1상태레지스터(30)로 인가하여 제 1 상태레지스터(30)를 클리어하고, 이 정보를 인터럽트 지연부(14)에 인가하여 기 설정한 시간동안 다른 인터럽트 소스(IS_1~IS_N)에 의한 인터럽트 요청신호(IRQ) 출력을 보류하도록 한다.In this case, when the address (Add) is interpreted or a clear signal is generated using another signal and applied to the interrupt storage and clearing unit 13, the interrupt storing and clearing unit 13 is the first state register. (30) and the second state register 40 are subjected to XOR operation, the value is applied to the first state register 30 to clear the first state register 30, and this information is applied to the interrupt delay unit 14. To interrupt the interrupt request signal IRQ output by other interrupt sources IS_1 to IS_N for a preset time.

또한, 인터럽트 저장 및 클리어부(13)는 인터럽트 인에이블신호(intr_en)에의해 인터럽트 요구신호(IRQ)가 보류되고 있으면 매 클럭마다 제 1상태레지스터(30)에 인가되는 인터럽트 소스(IS_1~IS_N)의 변화를 감시하여 변화가 있으면 제 1상태레지스터(30)와 제 2상태레지스터(40)중 변화가 발생한 비트만 XOR연산 하여 그 값을 제 1상태레지스터(30)의 동일 비트로 인가 하여 인터럽트 소스(IS_1~IS_N)의 요구를 누적 저장 한다. In addition, the interrupt storing and clearing unit 13 supplies an interrupt source IS_1 to IS_N applied to the first state register 30 every clock when the interrupt request signal IRQ is held by the interrupt enable signal intr_en. XOR operation is performed only when the change occurs by monitoring the change of the first state register 30 and the second state register 40, and the value is applied to the same bit of the first state register 30 to interrupt the source. Accumulate and store IS_1 ~ IS_N) requests.

도 6은 상기와 같은 본 발명 일실시예에 의한 인터럽트 클리어 타이밍도로서, 도시한 바와 같이 인터럽트 소스(IS_1~IS_N)중 3번째를 제외한 일부가 셋되어 있고, 그에 해당하는 제 1,제 2상태레지스터 비트는 이미 셋되고, 그에 따라 인터럽트 요청신호(IRQ)가 셋되어 있다. FIG. 6 is an interrupt clear timing diagram according to an embodiment of the present invention as described above. As shown in FIG. 6, a part except for the third of the interrupt sources IS_1 to IS_N is set, and corresponding first and second states are shown. The register bit is already set, and the interrupt request signal IRQ is set accordingly.

상기와 같은 상태에서 클리어신호(clear)가 인가되기 전에 도시한 바와 같이 3번째 인터럽트 소스(IS_3)가 추가로 1클럭동안 셋되면 그 다음 클럭에서 리셋되어 있던 제 1상태레지스터의 3번째 비트(SR1_3)가 셋된다.In the above state, when the third interrupt source IS_3 is set for one additional clock as shown before the clear signal clear is applied, the third bit SR1_3 of the first state register reset at the next clock is shown. ) Is set.

이때, 우연하게도 상기 클럭에서 클리어신호(clear)가 인가 된다면 인터럽트 저장 및 클리어부(13)에서 제 1상태레지스터와 제 2상태레지스터를 XOR연산하여 제 1상태레지스터에 인가 하므로 제 1상태레지스터는 3번째 비트(SR1_3)를 제외하고 모두 리셋되지만, 제 1상태레지스터의 3번째 비트(SR1_3)와 제 2상태레지스터의 3번째 비트(SR2_3)의 값이 서로 다르므로 클리어한 후에도 제 1상태레지스터의 3번째 비트(SR1_3)는 셋을 유지한다.At this time, if a clear signal (clear) is applied to the clock by chance, the first state register is applied to the first state register by XOR operation of the first state register and the second state register in the interrupt storing and clearing unit 13. All but the 1st bit SR1_3 are reset, but the values of the 3rd bit SR1_3 of the first state register and the 3rd bit SR2_3 of the second state register are different from each other. Bit SR1_3 maintains the set.

그리고, 상기 인터럽트 저장 및 클리어부(13)에서 정보를 받은 인터럽트 지연부(14)는 기 설정한 인터럽트 모드에 맞추어 인터럽트 요청신호(IRQ)의 출력을 D클럭 만큼 보류하는데, 이때 인터럽트 모드가 "111"이라면 7클럭동안 출력이 보류된다. The interrupt delay unit 14, which has received the information from the interrupt storing and clearing unit 13, holds the output of the interrupt request signal IRQ by D clock in accordance with the preset interrupt mode. ", The output is suspended for 7 clocks.

상기와 같은 방법을 통해 호스트에 인터럽트가 다시 요청되었다는 것을 인지시키고, 상기 보류되는 클럭(D)에서 발생하는 인터럽트 소스(IS_1~IS_N)는 제 1상태 레지스터에 기억되어 보류 기간이 지나면 인터럽트 요구신호(IRQ)를 출력하여 호스트에 인터럽트 발생사실을 놓치지 않고 알릴 수 있다.By recognizing that the interrupt is requested again to the host through the above-described method, the interrupt sources IS_1 to IS_N generated in the suspended clock D are stored in the first status register so that the interrupt request signal (if IRQ) can be output to notify the host without missing an interrupt.

상기한 바와 같이 본 발명 인터럽트 처리장치는 인터럽트 모드를 설정하여 인터럽트 요구신호를 클리어 한 후 설정한 기간동안 인터럽트 요구신호가 보류됨은 물론이고 보류되는 기간동안 발생한 인터럽트 소스의 내용을 제 1상태레지스터에 누적저장 함으로써 발생한 인터럽트 요구신호를 호스트가 모두 인지할 수 있도록 하여 유실되는 인터럽트 요청신호가 없도록 할 수 있는 효과가 있다.As described above, the interrupt processing apparatus of the present invention sets the interrupt mode to clear the interrupt request signal and then accumulates the contents of the interrupt source generated during the suspended period as well as the interrupt request signal for the set period. By storing the interrupt request signal, the host can recognize all the interrupt request signals.

Claims (2)

다수의 인터럽트 소스를 받아들여 원하지 않는 인터럽트는 걸러내기위해 외부 호스트에 의해 설정되는 마스크레지스터와;  A mask register set by an external host to accept multiple interrupt sources and filter out unwanted interrupts; 상기 마스크레지스터를 거친 인터럽트 소스를 저장하는 제 1상태레지스터와; A first state register storing an interrupt source passed through the mask register; 상기 제 1상태레지스터의 내용을 한 클럭 늦게 입력받아 저장하는 제 2상태레지스터와; A second state register configured to receive and store the contents of the first state register one clock late; 상기 제 1상태레지스터의 값과 외부 호스트로부터 설정되는 인터럽트 모드에 의해 인터럽트 요청신호를 설정된 시간동안 보류한 후 출력하고, 외부 호스트의 클리어 신호에 따라 상기 제 1상태레지스터와 제 2상태레지스터를 XOR 연산하여 그 결과로 상기 제 1상태레지스터를 갱신하는 인터럽트 발생 및 클리어부로 구성하는 것을 특징으로 하는 인터럽트 처리장치.After interrupting the interrupt request signal for a predetermined period of time by the value of the first state register and the interrupt mode set by the external host, and outputting the same, and performing an XOR operation on the first state register and the second state register according to the clear signal of the external host. And as a result, an interrupt generating and clearing unit for updating the first state register. 제 1항에 있어서, 상기 인터럽트 발생 및 클리어부는 The method of claim 1, wherein the interrupt generation and clearing unit 클럭신호와 외부 리셋신호에 의해 인터럽트 초기신호를 출력하는 인터럽트 초기화부와; An interrupt initialization unit for outputting an interrupt initial signal by a clock signal and an external reset signal; 제 1상태레지스터의 모든 비트를 OR연산하는 상태레지스터 OR연산부와; A state register OR operation unit for ORing all bits of the first state register; 외부 호스트로부터 인터럽트 모드를 설정받고, 클럭신호를 인가 받아 그 모드 별로 설정된 지연시간내에는 인터럽트 요구신호를 외부로 출력하지 못하도록하는 인터럽트 인에이블 신호를 생성하는 인터럽트 지연부와; An interrupt delay unit configured to receive an interrupt mode from an external host, receive an clock signal, and generate an interrupt enable signal to externally output an interrupt request signal within a delay time set for each mode; 상기 인터럽트 인에이블신호 및 클리어신호에 의해 제 1상태레지스터와 제 2상태레지스터를 XOR연산하여 그 값으로 제 1상태레지스터를 클리어 하거나 인터럽트 요구신호가 출력되지 못한 인터럽트 소스정보를 제 1상태레지스터에 저장하도록하는 인터럽트 저장 및 클리어부와; XOR-operates the first state register and the second state register according to the interrupt enable signal and the clear signal, and clears the first state register with the value, or stores the interrupt source information in which the interrupt request signal is not output, in the first state register. An interrupt storing and clearing unit; 상기 인터럽트 초기화부의 출력에 의해 초기화 되고, 상태레지스터 OR연산부의 출력과 상기 인터럽트 지연부의 인터럽트 인에이블 신호의 상태에 의해 인터럽트 요구신호를 출력하거나 보류하는 인터럽트 발생부로 구성하는 것을 특징으로 하는 인터럽트 처리장치.And an interrupt generator which is initialized by the output of the interrupt initiator and outputs or suspends an interrupt request signal according to the output of a status register OR operator and the state of the interrupt enable signal of the interrupt delay unit.
KR1020000006676A 2000-02-12 2000-02-12 Interrupt processing apparatus KR100677199B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000006676A KR100677199B1 (en) 2000-02-12 2000-02-12 Interrupt processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000006676A KR100677199B1 (en) 2000-02-12 2000-02-12 Interrupt processing apparatus

Publications (2)

Publication Number Publication Date
KR20010081323A KR20010081323A (en) 2001-08-29
KR100677199B1 true KR100677199B1 (en) 2007-02-05

Family

ID=19645989

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000006676A KR100677199B1 (en) 2000-02-12 2000-02-12 Interrupt processing apparatus

Country Status (1)

Country Link
KR (1) KR100677199B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101061133B1 (en) * 2008-12-18 2011-08-31 한국전자통신연구원 Interrupt handling system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100200821B1 (en) * 1994-02-16 1999-06-15 윤종용 A multiplexing circuit of interrupt signal

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100200821B1 (en) * 1994-02-16 1999-06-15 윤종용 A multiplexing circuit of interrupt signal

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101061133B1 (en) * 2008-12-18 2011-08-31 한국전자통신연구원 Interrupt handling system

Also Published As

Publication number Publication date
KR20010081323A (en) 2001-08-29

Similar Documents

Publication Publication Date Title
KR100240873B1 (en) Serial interface unit having the same register for reception/transmission
KR100881191B1 (en) Apparatus for Multi Protocol Serial Interface and System On Chip thereof
US10785057B2 (en) Programmable and reconfigurable frame processor
KR100230451B1 (en) Method of transceiving asynchronous serial data of digital signal processor
US5469449A (en) FIFO buffer system having an error detection and resetting unit
KR100677199B1 (en) Interrupt processing apparatus
JP3571195B2 (en) Host interface circuit of image forming apparatus
US20020188785A1 (en) Interrupt signal processing apparatus
US5774482A (en) Apparatus and method for processing errors associated with data transfers in a computer
KR19990029006A (en) Extended chip select reset device and method
EP3242211B1 (en) Memory controller
US6459751B1 (en) Multi-shifting shift register
JP3592169B2 (en) Asynchronous data transfer control device and asynchronous data transfer control method
JPH05250316A (en) Inter-device interface system
US5802595A (en) Serial data transfer apparatus
KR950006619A (en) Processing Unit with Serial Interface Unit
KR100657292B1 (en) DMA extension arrangement and computer system using DMA extension arrangement
Fawcett The Z8000 peripheral family
JP2008078974A (en) Asynchronous transmitting/receiving circuit
JP2001337841A (en) Task control unit
KR19990069963A (en) timer
JPH0546516A (en) Reception control system
SU560211A1 (en) Device for numerical control
KR20010106638A (en) Microcontroller unit
JPH11186997A (en) Slip control processing circuit

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee