KR940008483B1 - Interrupt controller - Google Patents

Interrupt controller Download PDF

Info

Publication number
KR940008483B1
KR940008483B1 KR1019910024046A KR910024046A KR940008483B1 KR 940008483 B1 KR940008483 B1 KR 940008483B1 KR 1019910024046 A KR1019910024046 A KR 1019910024046A KR 910024046 A KR910024046 A KR 910024046A KR 940008483 B1 KR940008483 B1 KR 940008483B1
Authority
KR
South Korea
Prior art keywords
interrupt
priority
edge
vector
input
Prior art date
Application number
KR1019910024046A
Other languages
Korean (ko)
Other versions
KR930014071A (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 KR1019910024046A priority Critical patent/KR940008483B1/en
Publication of KR930014071A publication Critical patent/KR930014071A/en
Application granted granted Critical
Publication of KR940008483B1 publication Critical patent/KR940008483B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt

Abstract

The invention is an interrupt controller of which an interrupt input recognizes both falling edges and rising edges. The controller comprises edge detectors recognizing rising edges and falling edges of interrupt inputs; interrupt mask latches for disabling or enabling edge detectors; priority decoder and interrupt vector generation logic; a latch holding the most significant bits of vector. The edge detector comprises two flip-flops (31,32) detecting falling edges and rising edges of the interrupt request input; AND gates (34,35) clearing the edge detectors by logical-ANDing clear signal from priority decoder and vector generating logic with enable values of interrupt mask latches.

Description

인터럽트 제어기Interrupt controller

제1도는 본 발명에 의한 인터럽트 제어기의 일실시예 구성 블럭도.1 is a block diagram of an embodiment of an interrupt controller according to the present invention.

제2도는 제1도의 에지검출부 구성을 나타낸 일실시예 회로도.FIG. 2 is a circuit diagram of an embodiment of the edge detector of FIG.

제3도는 제1도의 우선순위 디코더 및 벡터발생부 구성을 나타낸 일실시예 회로도.3 is a circuit diagram illustrating an example of a priority decoder and a vector generator in FIG.

제4도는 본 발명을 적용시킨 전전자 교환시스템의 개략적인 요구 블럭도.4 is a schematic request block diagram of an electronic switching system to which the present invention is applied.

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

1,2 : 래치부 3 : 에지검출부1, 2 latch portion 3, edge detection portion

4 : 우선순위 디코더 및 벡터발생부 5 : 벡터래치부4: priority decoder and vector generator 5: vector latch

본 발명은 인터럽트 제어기에 관한 것으로, 특히 디바이스제어용 프로세서 시스팀에서 여러 인터럽트 발생원으로부터 인터럽트 요구입력을 받아 프로세서에 인터럽트를 요구하고 프로세서에서 인터럽트 응답신호를 받으면 요구입력의 우선순위에 해당하는 인터럽트 벡터를 발생시키는 인터럽트 제어기에 관한 것이다.The present invention relates to an interrupt controller. In particular, the device control processor system receives an interrupt request input from various interrupt sources and requests an interrupt from the processor, and generates an interrupt vector corresponding to the priority of the request input when the processor receives an interrupt response signal. An interrupt controller.

기존의 일반적인 인터럽트 제어기는 인터럽트 요구신호가 액티브(active)되었을 경우에만 인터럽트가 발생되므로 신호값이 변화(transition : 논리값 0에서 1로 또는 1에서 0으로 변화)되는 순간마다 인터럽트를 발생시키고자 하는 경우, 부가장치를 통하여 신호의 변화시마다 인터럽트 제어기가 인터럽트로 인지할 수 있는 신호로 변환시켜 주어야 한다.Conventional interrupt controllers generate interrupts only when the interrupt request signal is active. Therefore, the interrupt controller generates an interrupt every time a signal value changes (transition: from 0 to 1 or 1 to 0). In this case, whenever the signal changes through the additional device, it must be converted into a signal that the interrupt controller can recognize as an interrupt.

그 예로서, 인텔의 8259A와 같은 인터럽트 제어기는 입력이 논리값 1이 되면 프로세서에 인터럽트를 요구하며 프로세서로부터 인터럽트 응답(interrupt acknowledgement)을 받을때까지 계속 논리값 1을 유지하고 있어야만 정상적인 인터럽트가 프로세서에 전달되는 레벨 트리거링(level triggering) 방식을 채용하고 있다.As an example, an interrupt controller, such as Intel's 8259A, requests an interrupt from the processor when the input reaches a logic value of 1, and must remain at logic value 1 until an interrupt acknowledgment is received from the processor. The level triggering method is adopted.

그러나 이러한 인터럽트 제어기를 사용할 경우는 신호가 변환될때마다 인터럽트를 발생기키기 위해서 입력신호가 변화될때마다 일정시간동안 논리값 1을 유지시키는 장치를 부가하여야 한다.However, in the case of using such an interrupt controller, in order to generate an interrupt every time a signal is converted, a device for maintaining a logic value 1 for a predetermined time every time the input signal is changed must be added.

반면에, 모토로라의 MC68901과 같은 에지 트리거링 방식의 인터럽트 제어기는 신호가 변화될때 인터럽트를 발생시키거나 레지스터에 의하여 폴링에지와 라이징에지의 하나를 선택하도록 되어있다.On the other hand, edge-triggered interrupt controllers, such as Motorola's MC68901, are designed to either generate an interrupt when the signal changes or select one of the polling and rising edges by a register.

따라서 신호가 변화될때마다 인터럽트를 발생시키고자 할 경우 신호를 2개의 입력에 연결하고 하나의 입력은 폴링에지, 나머지 하나의 입력은 라이징에지에서 인터럽트를 발생하도록 하여 신호가 변화될때마다 인터럽트를 발생시키고 있다.Therefore, if you want to generate an interrupt every time the signal changes, connect the signal to two inputs, one input polling edge and the other input to generate an interrupt on the rising edge. have.

그러나 프로세서에서 볼때 폴링에지에서 발생되는 인터럽트와 라이징에지에서 발생되는 인터럽트는 별개의 인터럽트로 인식되며, 또한 우선순위도 다르므로 소프트웨어에 의하여 동일한 인터럽트로 인식되도록 별도의 처리를 하여야 하며, 동일한 인터럽트를 발생시키기 위해서는 반드시 2개의 입력을 사용하여야 하는 문제점이 있었다.However, in the processor, interrupts generated from polling edges and interrupts generated from rising edges are recognized as separate interrupts, and because their priority is different, they must be processed separately so that they are recognized as the same interrupt by software. In order to do this, there is a problem that two inputs must be used.

따라서, 본 발명은 상기의 제반 문제점들을 해결하기 위하여 안출된 것으로서, 하나의 입력에 폴링에지와 라이징에지에 의하여 인터럽트를 발생시키는 회로를 조합하여 레지스터의 조작으로 폴링에지, 라이징에지, 또는 폴링에지와 라이징에지 모두에 의하여 인터럽트를 발생시킬 수 있도록 하며, 이러한 장치 다수를 우선 순위를 가지도록 조합하여 인터럽트가 발생되면 우선순위에 따라서 프로세서에 인터럽트를 요구하고, 해당 인터럽트를 구분할 수 있도록 인터럽트 벡터를 발생시키는 인터럽트 제어기를 제공함에 그 목적을 두고 있다.Accordingly, the present invention has been made to solve the above problems, by combining a circuit that generates an interrupt by the falling edge and the rising edge at one input, and the falling edge, rising edge, or falling edge with the operation of the register. Interrupts can be generated by all of the rising edges, and a combination of a number of these devices has a priority to request an interrupt to the processor according to the priority when the interrupt occurs, and generate an interrupt vector to distinguish the interrupts. Its purpose is to provide an interrupt controller.

본 발명은 상기 목적을 달성하기 위하여, 인터럽트 발생원으로부터 인터럽트 요구입력을 받아 프로세서에 인터럽트를 요구하고, 프로세서로부터 인터럽트 응답신호를 받으면 요구입력의 우선순위에 해당하는 인터럽트 벡터를 발생시키는 인터럽트 제어기에 있어서, 우선순위를 가지는 다수의 인터럽트 요구입력을 받아 라이징에지와 폴링에지를 검출하는 에지검출수단 ; 출력단에 연결된 에지검출수단의 폴링에지 검출동작을 인에이블 또는 디스에이블 시키는 값을 입력하여 저장하는 제1래치수단 ; 출력단에 연결된 에지검출수단의 라이징에지 검출동작을 인에이블 또는 디스에이블 시키는 값을 입력하여 저장하는 제2래치수단 ; 상기 에지검출수단의 출력을 받아 인터럽트를 요구하고, 인터럽트 응답을 받으면 상기 에지검출수단으로부터 입력된 신호중 가장높은 우선순위의 우선순위 값에 해당하는 인터럽트 벡터를 출력하고 에지검출수단으로 해당 우선순위 요소를 클리어 시키는 신호를 출력하는 우선순위 디코더 및 벡터발생수단 ; 및 상기 우선순위 디코더 및 벡터발생수단에서 출력되는 벡터와 조합하여 완전한 인터럽트 벡터를 구성하도록 상위비트의 벡터값을 저장하는 제3래치수단을 구비하여 인터럽트 요구입력의 라이징에지, 폴링에지 또는 양쪽 모두의 에지에서 선택적으로 인터럽트를 발생시킬 수 있게 한다.In order to achieve the above object, the present invention provides an interrupt controller which receives an interrupt request input from an interrupt generation source, requests an interrupt from the processor, and generates an interrupt vector corresponding to the priority of the request input when receiving an interrupt response signal from the processor. Edge detection means for detecting a rising edge and a falling edge by receiving a plurality of interrupt request inputs having priority; First latch means for inputting and storing a value for enabling or disabling the polling edge detection operation of the edge detection means connected to the output terminal; Second latch means for inputting and storing a value for enabling or disabling the rising edge detection operation of the edge detection means connected to the output terminal; Receives the output of the edge detection means and requests an interrupt. When receiving the interrupt response, outputs an interrupt vector corresponding to the priority value of the highest priority among the signals input from the edge detection means, and sends the priority element to the edge detection means. Priority decoder and vector generating means for outputting a signal for clearing; And a third latch means for storing the vector value of the higher bit to form a complete interrupt vector in combination with the vector output from the priority decoder and the vector generating means, for the rising edge, the falling edge, or both of the interrupt request input. Enables selective interrupt generation at the edge.

이하, 첨부한 도면을 참조하여 본 발명의 실시예를 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described an embodiment of the present invention;

제1도는 본 발명에 의한 인터럽트 제어기의 일실시예 구성 블럭도로서, 본 발명의 인터럽트 제어기는 입력의 수에 제한이 없으나, 본 도의 경우는 8개의 입력을 가지는 구성예를 나타낸 것이다.1 is a block diagram of an embodiment of an interrupt controller according to the present invention. Although the interrupt controller of the present invention has no limit on the number of inputs, the present invention shows an example of a configuration having eight inputs.

도면에서 1 및 2는 래치부, 3은 에지검출부, 4는 우선순위 디코더 및 벡터발생부, 5는 벡터래치부를 각각 나타낸다.In the drawings, 1 and 2 denote latch portions, 3 denote edge detection portions, 4 denote priority priorities and vector generators, and 5 denote vector latches.

도면에 도시한 바와 같이 본 발명의 인터럽트 제어기는, 인터럽트 요구입력 신호의 에지를 검출하는 에지 검출부(3)와, 상기 에지검출부(3)로부터 입력된 8개의 신호들중 하나 이상의 신호가 액티브 되면 프로세서에 인터럽트를 요구하고 프로세서로부터 인터럽트 응답이 오면 액티브된 입력신호들중 가장 높은 우선순위 값에 해당되는 3비트의 인터럽트 벡터를 발생시키고 해당 우선순위의 에지검출부를 클리어 하기 위한 신호를 출력하는 우선순위 디코더 및 벡터발생부(4)와, 프로세서가 지정하는 상위 벡터를 저장하고 있다가 인터럽트 응답시 벡터발생부에서 발생되는 3비트의 벡터와 동시에 출력하여 1바이트의 벡터를 프로세서에 주기 위한 5비트의 벡터래치부(5)와, 상기 에지검출부(3)에 입력되는 신호 각각의 폴링에지 검출과 라이징에지 검출동작 수행 여부를 결정하기 위한 2개의 8비트 래치부(1,2)를 구비하고 있다.As shown in the figure, the interrupt controller of the present invention includes a processor for detecting an edge of an interrupt request input signal and a processor when one or more signals among eight signals inputted from the edge detector 3 are activated. Priority decoder that generates an interrupt vector of 3 bits corresponding to the highest priority value among the active input signals and outputs a signal to clear the edge detection part of the priority when an interrupt is requested from the processor and an interrupt response is received from the processor. And a 5-bit vector for storing the vector generator 4 and the higher vector designated by the processor and simultaneously outputting the 3-bit vector generated by the vector generator in response to an interrupt to give the 1-byte vector to the processor. Falling edge detection and rising edge detection motion of the latch unit 5 and the signal input to the edge detection unit 3, respectively Further comprises two 8-bit latch section (1, 2) for determining whether to perform.

또한, 본 발명은 입력신호에서 에지를 감지하기 위하여 폴링에지와 라이징에지를 감지하는 두개의 에지검출소자를 조합하고, 이러한 검출소자를 다수 우선순위 엔코더(priority encoder)를 통하여 가장 높은 우선순위의 입력을 구분하며, 프로세서에 인터럽트를 요구하고 동시에 인터럽트 벡터를 만들어낸다. 프로세서에서 인터럽트 응답이 오면 가장 높은 우선순위의 벡터를 프로세서에 공급하고 해당 우선순위의 에지검출소자를 클리어한다.In addition, the present invention combines two edge detection elements for detecting edges and rising edges in order to detect edges in the input signal, and inputs the detection elements with the highest priority through a plurality of priority encoders. It requests an interrupt from the processor and generates an interrupt vector at the same time. When the processor receives an interrupt response, it supplies the processor with the highest priority vector and clears the edge detector with that priority.

에지검출부(3)는 제어 레지스터에 의하여 폴링에지 검출소자와 라이징에지 검출소자를 각각 인에이블(enable), 디스에이블(disable)시킬 수 있는데, 모두 디스에이블 시키면 인터럽트가 발생되지 않으며, 폴링에지 검출소자만을 인에이블 시키면 폴링에지에 의하여 인터럽트가 발생되며, 라이징에지 검출소자만을 인에이블 시키면 라이징에지에 의하여 인터럽트가 발생되며, 모두 인에이블 시키면 입력신호가 변화될때마다 인터럽트가 발생된다.The edge detector 3 may enable or disable the falling edge detector and the rising edge detector, respectively, by means of a control register. When the edge detector 3 is disabled, interrupts are not generated. If only the enable is enabled, an interrupt is generated by the falling edge. If only the rising edge detection element is enabled, an interrupt is generated by the rising edge. When all are enabled, an interrupt is generated whenever the input signal changes.

에지검출부(3)는 우선순위를 갖는 다수의 인터럽트 요구입력을 받아 라이징에지와 폴링에지를 검출하는 것이다.The edge detector 3 detects a rising edge and a falling edge by receiving a plurality of interrupt request inputs having priority.

래치부(1)는 데이타 버스에 입력단이 연결되고 출력단은 상기 에지검출부(3)의 폴링에지 인에이블 단자에 각각 연결되어 있으며, 상기 에지검출부(3)의 폴링에지 검출동작을 인에이블 또는 디스에이블 시키는 값을 저장하는 것이다.The latch unit 1 has an input terminal coupled to the data bus and an output terminal coupled to the polling edge enable terminal of the edge detector 3, respectively, and enables or disables the polling edge detection operation of the edge detector 3. Is to store the value to

래치부(2)는 데이타 버스에 입력단이 연결되고 출력단은 상기 에지검출부(3)의 폴링에지 인에이블 단자에 각각 연결되어 있으며, 상기 에지검출부(3)의 라이징에지 검출동작을 인에이블 또는 디스에이블 시키는 값을 저장한다.The latch unit 2 has an input terminal coupled to the data bus and an output terminal coupled to the falling edge enable terminal of the edge detector 3, respectively, and enables or disables the rising edge detection operation of the edge detector 3. Save the value

우선순위 디코더 및 벡터발생부(4)는 상기 에지검출부(3) 및 프로세서간에 연결되어 있으며, 상기 에지검출부(3)로부터 입력된 8개의 신호들중 하나 이상의 신호가 액티브 되면 프로세서에 인터럽트를 요구하고 프로세서로부터 인터럽트 응답이 오면 액티브된 입력 신호들중 가장 높은 우선순위의 우선순위 값에 해당하는 3비트의 인터럽트 벡터를 발생시키고, 해당 우선순위의 에지검출부(3)내 검출소자를 클리어 시키기 위한 신호를 출력한다.The priority decoder and the vector generator 4 are connected between the edge detector 3 and the processor. When one or more of the eight signals input from the edge detector 3 are activated, an interrupt is requested from the processor. When an interrupt response is received from the processor, a three-bit interrupt vector corresponding to a priority value of the highest priority among the active input signals is generated, and a signal for clearing the detection element in the edge detection unit 3 of the corresponding priority is cleared. Output

벡터래치부(5)는 데이타 버스와 상기 우선순위 디코더 및 벡터발생부(4) 연결되어 있으며, 프로세서가 저장하는 상위 벡터를 저장하고 있다가 인터럽트 응답시 상기 우선순위 디코더 및 벡터발생부(4)에서 발생되는 3비트의 벡터와 조합하여 1바이트의 완전한 인터럽트 벡터를 구성하고 프로세서에 주기 위해 상위 비트의 벡터값을 저장하는 5비트의 래치부이다.The vector latch unit 5 is connected to a data bus, the priority decoder and the vector generator 4, and stores a higher vector stored by a processor, and the priority decoder and the vector generator 4 in response to an interrupt response. It is a 5-bit latch that stores the vector value of the high-order bit to form a complete interrupt vector of 1 byte and combines it with the 3-bit vector generated by the.

제2도는 본 발명에 의한 에지검출부의 일실시예 회로도로서, 하나의 입력에 대한 것이다.2 is a circuit diagram of an edge detector according to an exemplary embodiment of the present invention, and is for one input.

따라서 제1도에서와 같이 8개의 입력을 가지는 경우 이와 같은 에지검출부 회로가 8개 필요하다.Therefore, in the case of having eight inputs as shown in FIG. 1, eight such edge detector circuits are required.

도면에 도시한 바와 같이 에지검출부는 하나의 인터럽트 요구입력신호로부터 라이징에지를 검출하는 플립플롭(32)과, 인터럽트 요구입력단에 연결되어 입력된 신호를 반전시키는 인버터(33)와, 반전된 입력을 받아 폴링에지를 검출하는 플립플롭(31)과, 상기 두 플립플롭(31,32)의 부출력을 하나의 출력으로 만들어주는 AND 게이트(36)와, 인터럽트의 전달이 완료되어 우선순위 디코더 및 벡터발생부(4)로부터 클리어 신호와, 폴링에지 인에이블 또는 라이징에지 인에이블 신호를 받으며 논리곱하여 해당 에지검출부(3)의 플립플롭을 클리어시키는 AND 게이트(34,35)와, 상기 AND 게이트(36) 출력단과 우선순위 디코더 및 벡터발생부(4)의 클리어 신호 출력단에 입력단이 연결되고 상기 두 AND 게이트(34,35) 입력단이 각각 연결된 OR 게이트(37)를 구비함을 보인다.As shown in the figure, the edge detector includes a flip-flop 32 for detecting a rising edge from one interrupt request input signal, an inverter 33 connected to the interrupt request input terminal and inverting the input signal, and an inverted input. A flip-flop 31 for receiving polling edges, an AND gate 36 for making the sub-outputs of the two flip-flops 31 and 32 into one output, and the transfer of the interrupts to complete the priority decoder and the vector. AND gates 34 and 35 for receiving a clear signal from the generator 4 and a falling edge enable or rising edge enable signal to logically multiply to clear the flip-flop of the edge detector 3, and the AND gate 36. ), An input is connected to an output terminal, a clear signal output terminal of the priority decoder and the vector generator 4, and an OR gate 37 connected to the two AND gates 34 and 35, respectively.

플립플롭(31,32)의 클리어 단자에 연결된 상기 두 AND 게이트(34,35)는 플립플롭의 동작여부를 결정하는 신호 (폴링에지 인에이블, 라이징에지 인에이블)와 연결되어 있어 폴링에지 및 라이징에지의 검출을 선택적으로 제어할 수 있다.The two AND gates 34 and 35 connected to the clear terminals of the flip-flops 31 and 32 are connected to signals (falling edge enable and rising edge enable) to determine whether the flip-flop is operated. Detection of edges can be selectively controlled.

제3도는 본 발명에 의한 우선순위 디코더 및 벡터발생부(4)의 일실시예 회로도로서, 에지검출부(3)의 출력을 받아 프로세서에 인터럽트를 요구하고 프로세서로부터 인터럽트 응답신호가 오면 가장 높은 우선순위의 인터럽트 벡터를 출력하고 해당 우선순위의 에지검출부에 있는 플립플롭을 클리어하기 위한 신호를 발생시키는 회로이다.3 is a circuit diagram of an embodiment of the priority decoder and the vector generator 4 according to the present invention, which receives the output of the edge detector 3 and requests an interrupt from the processor, and has the highest priority when an interrupt response signal is received from the processor. A circuit for outputting an interrupt vector and generating a signal for clearing the flip-flop in the edge detector of the priority.

도면에 도시한 바와 같이 우선순위 및 디코더 및 벡터발생부(4)는, 에지검출부(3)로부터 입력된 다수의 신호들중 하나 이상의 신호가 액티브되면 인터럽트 요구신호를 발생시키는 AND 게이트(41)와, 액티브된 입력신호들중 가장 높은 우선순위 신호의 우선순위 값을 2진 신호의 조합으로 출력하는 것으로서 TTL74148과 같은 우선순위 엔코더(42 ; priority encoder)와, 프로세서로부터 인터럽트 응답신호를 받으면 상기 우선순위 엔코더의 출력을 래치하고 래치된 값을 벡터의 일부로 출력하는 3비트 래치(43)와, 상기 래치(43)에 저장된 값이 출력되면 이 출력값을 받아 에지검출부(3)에 해당 우선순위의 인터럽트 전달이 완료되었음을 나타내는 클리어 신호를 발생시키는 것으로서 TTL74138과 같은 디코더(44)로 구성된다.As shown in the figure, the priority and decoder and vector generator 4 includes an AND gate 41 which generates an interrupt request signal when one or more signals among a plurality of signals input from the edge detector 3 are activated. The priority encoder 42 outputs the priority value of the highest priority signal among the active input signals as a combination of binary signals, and receives the interrupt response signal from the processor. 3-bit latch 43 for latching the output of the encoder and outputting the latched value as part of the vector, and when the value stored in the latch 43 is outputted, the output is received and the interrupt of the priority is transmitted to the edge detector 3. It is composed of a decoder 44 such as TTL74138 as generating a clear signal indicating that this is completed.

래치(43)의 출력은 프로세서로 입력되는 인터럽트 벡터값의 일부분이 되며, 이는 디코더(44)를 통하여 해당 우선순위의 에지검출부 클리어 신호를 발생시키므로 여러 입력이 동시에 가해졌을 경우에도 가장 높은 우선순위의 입력부터 차례로 처리된다.The output of the latch 43 becomes part of the interrupt vector value input to the processor, which generates the edge detector clear signal of the corresponding priority through the decoder 44, so that even if multiple inputs are applied simultaneously, the highest priority It is processed in turn from the input.

본 도 (제3도)는 에지검출부로부터의 인터럽트 입력이 8개일 경우의 예이며, 입력의 수가 달라질 경우 우선순위 엔코더(42)와 디코더(44)는 해당 갯수만큼을 처리하도록 하며, 래치(43)의 비트수도 입력수에 맞도록 조정하면 된다.FIG. 3 is an example of eight interrupt inputs from the edge detector. If the number of inputs is different, the priority encoder 42 and the decoder 44 process the corresponding number, and the latch 43 You can also adjust the number of bits to fit the input number.

그러면, 에지검출부(3)로부터 받은 우선순위를 가진 다수의 입력들중 하나 이상의 액티브 신호가 발생될때마다 인터럽트 출력 (INTREQ)신호를 발생시키고, 인터럽트 응답 신호를 받으면 다수의 입력 신호들에서 액티브된 신호들중 가장 높은 우선순위 신호의 우선순위를 2진값으로 출력하고 해당 우선순위의 클리어신호를 발생시킨다.Then, an interrupt output (INTREQ) signal is generated whenever one or more active signals among the plurality of inputs having the priority received from the edge detector 3 are generated, and when the interrupt response signal is received, the signals are activated from the plurality of input signals. Among these, the priority of the highest priority signal is output as a binary value and a clear signal of the corresponding priority is generated.

제4도는 본 발명을 국산 전전자 교환기인 TDX-10(등록상표임) 전전자 교환에 응용한 예이다.4 is an example in which the present invention is applied to TDX-10 (registered trademark) electronic exchange, which is a domestic electronic exchanger.

즉 두개의 하위프로세서(A,B)가 이중화되어 있으며, 하나의 하위프로세서가 디바이스(C)의 제어권을 갖는다. 디바이스제어권은 두 하위프로세서에서 출력되는 제어버스선택(이하, TBSEL이라 함) 신호에 의하여 결정되는데, 하위프로세서 A에서 출력되는 TBSEL(A)와 하위프로세서 B에서 출력되는 TBSEL(B)가 동일한 값을 가지면 하위프로세서 B가 디바이스의 제어권을 갖고, 다른값을 가지면 프로세서 A가 디바이스의 제어권을 가지게 된다.That is, two subprocessors (A, B) are redundant, and one subprocessor has control of the device (C). The device control right is determined by the control bus select signal output from the two subprocessors (hereinafter referred to as TBSEL). TBSEL (A) output from subprocessor A and TBSEL (B) output from subprocessor B have the same value. If it has, subprocessor B has control of the device, and if it has a different value, processor A has control of the device.

따라서, 각각의 하위프로세서는 상대편의 TBSEL 신호를 받아 자신의 TBSEL과 비교하므로써 자신의 제어권을 가지고 있는지 알수 있으며, 또한 자신의 TBSEL을 변화시켜 상대편이 가지고 있는 제어권을 가져올 수 있다.Therefore, each subprocessor knows whether it has its own control right by receiving the other's TBSEL signal and compares it with its own TBSEL, and can also change its TBSEL to bring its own control right.

이와 같이 두 하위프로세서는 언제든지 TBSEL을 변화시켜 제어권을 바꿀 수 있으므로 상대편의 TBSEL의 변화를 감지하여 제어권의 변화에 대한 적절한 대응을 할 수 있어야 한다. 이러한 경우에 하위프로세서는 상대편 TBSEL 신호를 본 발명의 인터럽트 제어기에 입력하면 상대편 TBSEL 신호가 변화될때마다 인터럽트를 발생시키므로 하위프로세서는 상대편 TBSEL 신호의 변화를 신속하게 감지할 수 있다.As such, the two subprocessors can change the control right by changing the TBSEL at any time, so that the sub-processor must detect the change in the TBSEL of the other side and respond appropriately to the change in the control right. In this case, when the subprocessor inputs the counterpart TBSEL signal to the interrupt controller of the present invention, the subprocessor generates an interrupt whenever the counterpart TBSEL signal changes, so that the subprocessor can quickly detect a change in the counterpart TBSEL signal.

따라서, 상술한 바와 같은 본 발명의 인터럽트 제어기는 래치(1,2)의 값에 따라 입력신호의 폴링에지, 라이징에지 또는 양쪽 모두에서 인터럽트를 선택적으로 발생시킬 수 있으므로, 입력신호의 액티브 값(0 또는 1)에 상관없이 인터럽트를 발생시킬 수 있고, 또한 입력신호가 변화될때마다 인터럽트를 발생시킬 수 있어 다양한 인터럽트 소스를 별도의 처리과정을 거치지 않고 그대로 연결하여 사용할 수 있는 효과를 갖는다.Accordingly, the interrupt controller of the present invention as described above can selectively generate interrupts at the falling edge, rising edge, or both of the input signals according to the values of the latches 1, 2, so that the active value of the input signal is zero. Alternatively, regardless of 1), an interrupt can be generated, and an interrupt can be generated whenever an input signal is changed, so that various interrupt sources can be connected and used without going through a separate process.

Claims (4)

인터럽트 발생원으로부터 인터럽트 요구입력을 받아 프로세서에 인터럽트를 요구하고, 프로세서로부터 인터럽트 응답신호를 받으면 요구입력의 우선순위에 해당하는 인터럽트 벡터를 발생시키는 인터럽트 제어기에 있어서, 우선순위를 가지는 다수의 인터럽트 요구입력을 받아 라이징에지와 폴링에지를 검출하는 에지검출수단(3) : 출력단에 연결된 상기 에지검출수단(3)의 폴링에지 검출동작을 인에이블 또는 디스에이블 시키는 값을 입력하여 저장하는 제1래치수단(1) : 출력단에 연결된 상기 에지검출수단(3)의 라이징에지 검출동작을 인에이블 또는 디스에이블 시키는 값을 입력하여 저장하는 제2래치수단(2) ; 상기 에지검출수단(3)의 출력을 받아 인터럽트를 요구하고, 인터럽트 응답을 받으면 상기 에지검출수단(3)으로부터 입력된 신호중 가장높은 우선순위의 우선순위 값에 해당하는 인터럽트 벡터를 출력하고 상기 에지검출수단(3)으로 해당 우선순위의 요소를 클리어 시키는 신호를 출력하는 우선순위 디코더 및 벡터발생수단 (4) ; 및 상기 우선순위 디코더 및 벡터발생수단(4)에서 출력되는 벡터와 조합하여 완전한 인터럽트 벡터를 구성하도록 상위비트의 벡터값을 저장하는 제3래치수단(5)을 구비하여 인터럽트 요구입력의 라이징에지, 폴링에지 또는 양쪽 모두의 에지에서 선택적으로 인터럽트를 발생시킬 수 있는 것을 특징으로 하는 인터럽트 제어기.An interrupt controller that receives an interrupt request input from an interrupt source and requests an interrupt from a processor, and generates an interrupt vector corresponding to a priority of a request input when an interrupt response signal is received from the processor. Edge detection means for detecting the rising edge and the falling edge (3): First latch means (1) for inputting and storing a value for enabling or disabling the polling edge detection operation of the edge detection means (3) connected to the output terminal ): Second latch means (2) for inputting and storing a value for enabling or disabling the rising edge detection operation of the edge detection means (3) connected to the output terminal; Receives the output of the edge detection means 3, requests an interrupt, and receives an interrupt response, outputs an interrupt vector corresponding to a priority value of the highest priority among the signals input from the edge detection means 3, and outputs the edge detection. Priority decoder and vector generating means (4) for outputting a signal for clearing the element of the corresponding priority to the means (3); And a third latch means (5) for storing the vector value of the higher bit so as to form a complete interrupt vector in combination with the vector output from the priority decoder and the vector generating means (4). An interrupt controller capable of selectively generating an interrupt at the falling edge or at both edges. 제1항에 있어서, 상기 에지검출수단(3)은 하나의 인터럽트 요구입력에 대하여 폴링에지를 검출하는 제1플립플롭(31) ; 상기 하나의 인터럽트 요구입력에 대한 반전된 입력을 받아 라이징에지를 검출하는 제2플립플롭(32) ; 상기 제1 및 제2플립플롭(31,32)의 출력을 논리곱하여 출력하는 제1AND 게이트(36) ; 및 상기 우선순위 디코더 및 벡터발생수단(4)으로부터 입력된 클리어 신호와 폴링에지 인에이블 또는 라이징에지 인에이블 입력을 논리곱하여 상기 제1 및 제2플립플롭을 클리어시키는 제2 및 제3 AND 게이트 (34,35)를 구비하고 있는 것을 특징으로 하는 인터럽트 제어기.2. The apparatus as claimed in claim 1, wherein said edge detecting means (3) comprises: a first flip-flop (31) for detecting a falling edge with respect to one interrupt request input; A second flip-flop (32) for receiving a reversed input for the one interrupt request input and detecting a rising edge; A first AND gate 36 which multiplies and outputs outputs of the first and second flip-flops 31 and 32; And second and third AND gates for performing an AND operation on the clear signal input from the priority decoder and the vector generating means 4 and the falling edge enable or rising edge enable input to clear the first and second flip-flops. 34, 35, characterized in that the interrupt controller. 제2항에 있어서, 상기 에지검출수단(3)은 상기 제1AND 게이트의 출력과 우선순위 디코더 및 벡터 발생수단(4)의 클리어 신호 출력을 논리합하여 상기 제2 및 제3 AND 게이트의 입력단에 인가하는 OR 게이트(37)를 더 포함하고 있는 것을 특징으로 하는 인터럽트 제어기.3. The edge detecting means (3) according to claim 2, wherein the edge detecting means (3) logically combines the output of the first AND gate and the clear signal output of the priority decoder and the vector generating means (4) to the input terminals of the second and third AND gates. And an OR gate (37). 제1항 내지 제3항중 어느 한 항에 있어서, 상기 우선순위 디코더 및 벡터발생수단(4)은 에지검출수단(3)으로부터 입력된 우선순위를 가지는 다수의 입력신호 모두를 논리곱하는 제4AND 게이트(41) ; 상기 우선순위를 가진 다수의 입력신호들 중에서 액티브된 가장 높은 우선순위 신호의 우선순위를 2진 조합으로 출력하는 우선순위 엔코더(42) ; 인터럽트 응답신호를 받으면 우선순위 엔코더로부터 출력된 값을 래치하고 래치된 값을 벡터의 일부로 출력하는 제3래치(43) ; 및 인터럽트 응답신호를 받으면 2진 조합으로 구성된 래치(43) 출력을 입력하여 그 값에 해당하는 신호선을 클리어 시키는 디코더 (44)를 구비하고 있는 것을 특징으로 하는 인터럽트 제어기.The fourth AND gate (4) according to any one of claims 1 to 3, wherein the priority decoder and the vector generating means (4) logically multiply all of a plurality of input signals having a priority input from the edge detecting means (3). 41); A priority encoder 42 for outputting the priority of the highest priority signal activated among the plurality of input signals having the priority in binary combination; A third latch 43 which latches the value output from the priority encoder upon receiving the interrupt response signal and outputs the latched value as part of the vector; And a decoder (44) for receiving a latch (43) output composed of a binary combination and clearing a signal line corresponding to the value upon receiving an interrupt response signal.
KR1019910024046A 1991-12-23 1991-12-23 Interrupt controller KR940008483B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019910024046A KR940008483B1 (en) 1991-12-23 1991-12-23 Interrupt controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019910024046A KR940008483B1 (en) 1991-12-23 1991-12-23 Interrupt controller

Publications (2)

Publication Number Publication Date
KR930014071A KR930014071A (en) 1993-07-22
KR940008483B1 true KR940008483B1 (en) 1994-09-15

Family

ID=19325725

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019910024046A KR940008483B1 (en) 1991-12-23 1991-12-23 Interrupt controller

Country Status (1)

Country Link
KR (1) KR940008483B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19739530C1 (en) * 1997-09-09 1998-12-24 Siemens Ag Circuit for generating interrupt signal for microprocessor

Also Published As

Publication number Publication date
KR930014071A (en) 1993-07-22

Similar Documents

Publication Publication Date Title
US4785421A (en) Normalizing circuit
US4237534A (en) Bus arbiter
US4495569A (en) Interrupt control for multiprocessor system with storage data controlling processor interrupted by devices
US4021655A (en) Oversized data detection hardware for data processors which store data at variable length destinations
US4788640A (en) Priority logic system
US20020129074A1 (en) Modulo remainder generator
US4733348A (en) Virtual-memory multiprocessor system for parallel purge operation
JPH0260004B2 (en)
JPH09160785A (en) Apparatus and method for generation of interrupt
KR940008483B1 (en) Interrupt controller
JPH07152586A (en) Cyclic priority-level encoder
US5481728A (en) Data processor having circuitry for high speed clearing of an interrupt vector register corresponding to a selected interrupt request
CN215833909U (en) Secure operation circuit and microprocessor chip
US4831572A (en) Polynomial vector arithmetic operation control system
KR100313945B1 (en) Multi-interrupt controller
KR960016407B1 (en) Interrupt generating circuit in mcu
US4969090A (en) Program routine vectoring circuit for selectively using either stored interupt instructions or incoming interupt handling instructions
KR100244885B1 (en) Multiple interrupt communication circuit
JPH0546535A (en) Data transfer interface device
KR200142909Y1 (en) Input/output interface apparatus
EP0431570A2 (en) Logical circuit
SU794631A1 (en) Input-output control device
SU1084795A1 (en) Interruption device
KR100267767B1 (en) Interrupt generator
JP4068020B2 (en) Network communication equipment

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 19980616

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee