KR19980035186A - Mass interrupt handler and its processing method - Google Patents
Mass interrupt handler and its processing method Download PDFInfo
- Publication number
- KR19980035186A KR19980035186A KR1019960053463A KR19960053463A KR19980035186A KR 19980035186 A KR19980035186 A KR 19980035186A KR 1019960053463 A KR1019960053463 A KR 1019960053463A KR 19960053463 A KR19960053463 A KR 19960053463A KR 19980035186 A KR19980035186 A KR 19980035186A
- Authority
- KR
- South Korea
- Prior art keywords
- interrupt
- vector
- interrupts
- processor
- decoder
- Prior art date
Links
Landscapes
- Bus Control (AREA)
Abstract
본 발명은 대용량의 인터럽트 처리를 요구하는 프로세서에서 인터럽트를 대량으로 실시간 처리하기 위해서 벡터 인터럽트 방식을 지원하며, 인터럽트수를 효율적으로 증감시킬 수 있는 하드웨어적 인터럽트 처리 구조에 관한 것으로서, 인터럽트 제어부 부분에서 전체적인 제어를 수행하며, 인터럽트를 마스킹시킬 수 있는 마스크부와, 도착한 인터럽트들을 저장할 수 있는 인터럽트 저장부와, 우선순위를 사용한 우선순위 인코더부와, 프로세서에 인터럽트 근원을 알려줄 수 있는 벡터 생성부와, 임의의 시점에서의 인터럽트를 저장하여 해제시킬 수 있는 디코더 저장부와, 인터럽트 해제를 위한 디코더부로 구성되며, 본 방법은 하드웨어로 구현되어 프로세서의 클럭 스피드에 동기되어 빠른 시간내에 수행될 수 있으며, 프로세서에서 제공되는 인터럽트 벡터의 수 만큼 쉽게 확장 가능하며, 수행중 인터럽트 근원이 동적으로 변하는 것을 수용하며, 우선순위를 지원함으로써 체계적인 인터럽트 할당이 가능하고 또한 인터럽트를 저장하는 저장부를 둠으로써 인터럽트를 잃어버리지 않는 효과가 있다.The present invention relates to a hardware interrupt processing structure that supports a vector interrupt method for processing a large amount of interrupts in real time in a processor requiring a large amount of interrupt processing, and can efficiently increase or decrease the number of interrupts. A mask section for performing control and masking interrupts, an interrupt storage section for storing the arriving interrupts, a priority encoder section using priority, a vector generator section for informing the processor of the interrupt source, and arbitrary And a decoder storage unit for storing and releasing interrupts at a time point of time, and a decoder unit for releasing interrupts. The method is implemented in hardware and can be performed in a short time in synchronization with the clock speed of the processor. Provided Inter It can be easily scaled up to the number of trace vectors, accommodates dynamic changes in the source of interrupts during execution, supports systematic priority assignment by supporting priorities, and has the effect of not losing interrupts by allowing storage to store interrupts. .
Description
본 발명은 프로세서에서 입출력 장치의 인터럽트를 처리하는 방법으로서, 종래에는 대용량의 인터럽트 처리를 위해서 데이지 체인(daisy chain; 버스(bus)를 통해 신호를 전달시키는 방법) 방법을 사용하여 지능적인 입출력 장치 등에 사용하였으나, 인터럽트 근원이 단순하며 백플레인을 통해 대용량의 인터럽트 선들이 연결되어 있으며 동적인 인터럽트 재구성이 필요한 응용의 경우에는 어려움이 따른다.The present invention is a method for processing an interrupt of an input / output device in a processor, and in the related art, an intelligent input / output device using a daisy chain method for a large amount of interrupt processing is used. However, the source of the interrupt is simple, and there are difficulties in applications where large interrupt lines are connected through the backplane and dynamic interrupt reconfiguration is required.
하드웨어로 구현되어 프로세서의 클럭 스피드에 동기되어 빠른 시간내에 수행될 수 있으며, 프로세서에서 제공되는 인터럽트 벡터의 수 만큼 쉽게 확장 가능하며, 수행중 인터럽트 근원이 동적으로 변하는 것을 수용하며, 우선 순위를 지원함으로써 체계적인 인터럽트 할당이 가능하고, 또한 인터럽트를 저장하는 기능을 둠으로써 인터럽트를 잃어버리지 않도록 한다.Implemented in hardware, it can be executed in fast time in synchronization with the clock speed of the processor, easily scaleable by the number of interrupt vectors provided by the processor, accommodates dynamic changes in interrupt sources during execution, and supports priority Systematic interrupt assignment is possible, and the ability to save interrupts is ensured so that interrupts are not lost.
도1은 본 발명의 대용량 인터럽트 처리기 블럭 다이어그램1 is a block diagram of a large interrupt handler of the present invention.
도2는 본 발명에 따른 인터럽트 제어부 상태 흐름도2 is a flowchart illustrating an interrupt controller state according to the present invention.
도3은 본 발명에 따른 백플레인에 분산된 대용량 인터럽트의 일실시예Figure 3 is an embodiment of a large interrupt distributed on the backplane in accordance with the present invention
* 도면의 주요부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings
1 : 마스크부2 : 인터럽트 저장부1: Mask unit 2: Interrupt storage unit
3 : 우선순위 인코더부4 : 벡터 생성부3: priority encoder section 4: vector generation section
5 : 디코더 저장부6 : 디코더부5 decoder storage 6 decoder unit
7 : 인터럽트 제어부7: interrupt control unit
본 발명은 인터럽트 처리기 및 그 처리 방법에 관한 것으로서, 특히 인터럽트 근원이 단순하며, 백플레인 또는 동일 보드내에 대용량의 인터럽트를 프로세서 클럭에 동기시켜 벡터 방식으로 인터럽트를 처리하는 기능에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an interrupt handler and a method of processing the same, and more particularly, to a simple interrupt source and a function of processing interrupts in a vector manner by synchronizing a large amount of interrupts in a backplane or the same board to a processor clock.
상기 인터럽트 처리기는 인터럽트 근원이 아주 단순하며, 백플레인 또는 동일 보드내에 대용량의 인터럽트를 프로세서 클럭에 동기시켜 벡터 방식으로 인터럽트를 처리한다.The interrupt handler has a very simple source of interrupts and handles interrupts in a vector fashion by synchronizing large interrupts in the backplane or on the same board to the processor clock.
이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명하면 다음과 같다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
도1은 본 발명의 대용량 인터럽트 처리기 블럭 다이어그램으로서, 전체적인 제어 기능을 수행하는 인터럽트 제어부(7)와, 상기 인터럽트 제어부의 제어를 받아 특정 인터럽트를 활성화/비활성화 시킬 수 있는 마스크부(1)와, 발생된 인터럽트를 기억하는 인터럽트 저장부(2)와, 인터럽트에 우선순위를 부여해주는 우선순위 인코더부(3)와, 상기 프로세서에 인터럽트 근원을 알려줄 수 있는 벡터 생성부(4)와, 적절한 시점에서 최근 인터럽트를 저장하여 현재 처리중인 인터럽트를 해제시킬 수 있는 이전 디코더 저장부(5) 그리고 인터럽트 해제를 위한 디코더부(6)로 구성된다.1 is a block diagram of a large-capacity interrupt processor of the present invention, an interrupt control unit 7 performing an overall control function, a mask unit 1 capable of activating / deactivating a specific interrupt under the control of the interrupt control unit, and generating An interrupt storage section 2 for storing interrupts, a priority encoder section 3 for giving priority to interrupts, a vector generator section 4 for informing the processor of an interrupt source, and at a suitable time; And a decoder decoder 6 for storing interrupts and releasing interrupts that are currently being processed.
상기 인터럽트가 처리되는 기본 절차는 대용량의 인터럽트가 경로(10)을 통해 상기 마스크부(1)로 유입되면 상기 인터럽트 제어부(7)의 제어를 받아 프로세서에 쓰여진 마스크 값을 비교하여, 해당 인터럽트가 활성화되어 있을 경우 인터럽트가 발생했음을 경로(11)을 통해 인터럽트 저장부(2)에 알리게 된다.The basic procedure of processing the interrupt is that when a large amount of interrupt enters the mask unit 1 through the path 10, the interrupt value is controlled by the interrupt control unit 7 and the mask value written in the processor is compared to activate the corresponding interrupt. If so, the interrupt storage unit 2 is notified via the path 11 that an interrupt has occurred.
상기 인터럽트 저장부(2)에서는 상기 인터럽트 제어부(7)의 제어를 받아 발생된 각 인터럽트 근원마다 사건 저장을 위한 한개의 메모리 셀을 가지게 되며, 경로(11)을 통해 인터럽트가 걸리면, 이 메모리 셀에 인터럽트 상황을 경로(12)를 통해 우선순위 인코더부(3)에게 전달한다.In the interrupt storage unit 2, each interrupt source generated under the control of the interrupt control unit 7 has one memory cell for storing an event. When an interrupt is interrupted through the path 11, The interrupt status is transmitted to the priority encoder section 3 via the path 12.
상기 인터럽트 상황을 전달받은 우선순위 인코더부(3)는 우선순위 인코더 규칙에 의해 인코딩된 값을 경로(13)을 통해 벡터 생성부(4)에게 전달하게 된다.The priority encoder unit 3, which has received the interrupt condition, transfers the value encoded by the priority encoder rule to the vector generator 4 through the path 13.
상기 인코딩된 값을 전달받은 벡터 생성부(4)는 상기 인터럽트 제어부(7)의 제어를 받아 프로세서로부터 인터럽트 확인 사이클이 도착할 경우 현재의 인터럽트 인코딩된 값을 경로(14)를 통해 프로세서에 전송하게 된다.The vector generator 4 receiving the encoded value transmits the current interrupt encoded value to the processor through the path 14 when an interrupt acknowledgment cycle arrives from the processor under the control of the interrupt controller 7. .
동시에 경로(15)를 통해 디코더 저장부(5)로 현재 수행되고 있는 인터럽트 확인 사이클에 해당하는 벡터 값을 전달해 준다.At the same time, a vector value corresponding to the interrupt confirmation cycle currently being performed is transmitted to the decoder storage unit 5 through the path 15.
상기 벡터 값을 전달받은 디코더 저장부(5)는 상기 인터럽트 제어부(7)의 제어를 받아 인터럽트 확인 사이클이 종결될때까지 현재의 벡터 값을 저장하고 사이클이 종결될 경우 저장된 값을 리셋시킨다.The decoder storage unit 5 having received the vector value stores the current vector value until the interrupt confirmation cycle is terminated under the control of the interrupt controller 7 and resets the stored value when the cycle is terminated.
상기 디코더 저장부(5)의 현재 벡터 출력 값은 경로(16)을 통해 디코더부(6)로 전달되며, 상기 벡터 출력 값을 전달받은 디코더부(6)에서는 벡터 값을 디코딩하여 경로(17)을 통해 상기 인터럽트 저장부(2)로 인터럽트 해제 신호를 전달하며, 해제 신호를 수신한 인터럽트 저장부(2)는 메모리에 저장되어 있는 인터럽트 상황을 해제시킨다.The current vector output value of the decoder storage unit 5 is transmitted to the decoder unit 6 via the path 16, and the decoder unit 6 which has received the vector output value decodes the vector value and passes the path 17. An interrupt release signal is transmitted to the interrupt storage unit 2 through the interrupt storage unit 2, and the interrupt storage unit 2 receiving the release signal releases the interrupt state stored in the memory.
다음의 도2는 상기 도1의 인터럽트 제어부의 흐름도를 나타낸 것으로서, 상기 처리가 수행되면 초기화(100) 절차를 수행한다.FIG. 2 is a flowchart of the interrupt controller of FIG. 1, and when the processing is performed, the initialization 100 procedure is performed.
상기 초기화 절차에는 프로세서에 연결된 인터럽트 신호선을 비활성화시키고, 상기 벡터 생성부(4)의 우선순위 인코더부로부터 수신되는 벡터를 래치하는 제어선을 비활성화하고, 인터럽트 확인 사이클시 상기 벡터를 프로세서에게 전달해 주는 버퍼의 인에이블 제어선을 비활성화 한다.In the initialization procedure, the interrupt signal line connected to the processor is inactivated, the control line latching the vector received from the priority encoder unit of the vector generator 4 is inactivated, and the buffer which delivers the vector to the processor during an interrupt confirmation cycle. Disable the enable control line for.
또한 상기 마스크부(1)에 사용할 인터럽트만을 경로(18)을 통해 등록시키고, 경로(19)를 통해 인터럽트 저장 메모리를 리셋시킨다.In addition, only the interrupt to be used for the mask unit 1 is registered through the path 18 and the interrupt storage memory is reset through the path 19.
상기 초기화 절차에서는 상기 우선순위 인코더부에서 발생한 인터럽트 정보를 모니터링하여(101), 인터럽트 발생시 인터럽트 요구 및 벡터 래치제어(102)를 수행한다.In the initialization procedure, the interrupt information generated by the priority encoder unit is monitored (101) to perform an interrupt request and vector latch control (102) when an interrupt occurs.
상기 인터럽트 요구 및 벡터 래치 제어에서는 프로세서로 인터럽트를 발생시키고 경로(20)을 통해 벡터 생성부(4)가 우선순위 인코딩된 인터럽트를 래치하도록 한다.In the interrupt request and vector latch control, the processor generates an interrupt and causes the vector generator 4 to latch the priority encoded interrupt via the path 20.
상기 프로세서에서는 인터럽트 확인 사이클의 수신을 판단하여(103), 확인 사이클 수신시 벡터발생 및 디코더 레지스터 래치제어부(104)를 수행한다.The processor determines reception of an interrupt acknowledgment cycle (103), and performs the vector generation and decoder register latch control unit 104 upon receipt of the acknowledgment cycle.
상기 벡터발생 및 디코더 레지스터 래치제어부(104)에서는 벡터 생성부 래치 신호를 비활성화시키고, 현재 인터럽트 벡터를 프로세서에게 전달해주는 버퍼의 인에이블 제어선을 활성화시켜서, 벡터 값이 프로세서에게 전달되도록 한다.The vector generation and decoder register latch control unit 104 deactivates the vector generator latch signal and activates an enable control line of a buffer that delivers the current interrupt vector to the processor, so that the vector value is transmitted to the processor.
그리고 처리된 인터럽트의 해제를 위해 디코더 저장부(5)에 경로(21)을 통해 현재 벡터 래치 신호를 전송한다.The current vector latch signal is transmitted to the decoder storage unit 5 via the path 21 to release the processed interrupt.
상기 인터럽트 확인 사이클의 종결을 판단하여(105) 확인 사이클이 끝나면 벡터발생 및 디코더 레지스터 래치제어부(106)을 수행한다.When the check cycle is finished (105), the vector generation and decoder register latch control unit 106 is performed.
상기 인터럽트 래치제어부(106)에서는 인터럽트 신호선을 제어하며, 벡터 생성부의 버퍼 인에이블 신호를 비활성화하여 상기 디코더 저장부(5)의 벡터 래치 신호를 비활성화 한다.The interrupt latch control unit 106 controls the interrupt signal line and inactivates the buffer enable signal of the vector generator to inactivate the vector latch signal of the decoder storage unit 5.
그리고 상기 디코더 저장부(5)의 저장된 벡터의 리셋을 판단하여(107) 리셋하도록 하는 신호를 경로(21)을 통해 전달하고, 인터럽트 종단 처리부(108)를 수행하고 바로 상기 초기화 절차로 천이한다.In addition, a signal for determining the reset of the stored vector of the decoder storage unit 5 is transmitted through the path 21, the interrupt termination processing unit 108 is performed, and the process proceeds directly to the initialization procedure.
상기 인터럽트 종단 처리부(108)에서는 상기 디코더 저장부의 벡터 리셋 신호를 비활성화한다.The interrupt termination processor 108 deactivates the vector reset signal of the decoder storage.
상기 4개의 상태 흐름은 프로세서의 버스 클럭에 동기되어 수행된다.The four state flows are performed in synchronization with the bus clock of the processor.
본 발명은 우선순위를 가지는 대용량의 인터럽트 처리기를 구형할때 적용되는 것으로서, 본 방법은 특히 중앙 집중된 제어방법을 따르며, 백플레인 상에 인터럽트 근원들이 분산되고 인터럽트 근원의 수가 동적으로 변할 경우에 유용하게 사용될 수 있다.The present invention is applied when implementing a large-capacity interrupt handler with priority, and the method follows a particularly centralized control method, which is useful when the interrupt sources are distributed on the backplane and the number of interrupt sources is dynamically changed. Can be.
Claims (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960053463A KR19980035186A (en) | 1996-11-12 | 1996-11-12 | Mass interrupt handler and its processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960053463A KR19980035186A (en) | 1996-11-12 | 1996-11-12 | Mass interrupt handler and its processing method |
Publications (1)
Publication Number | Publication Date |
---|---|
KR19980035186A true KR19980035186A (en) | 1998-08-05 |
Family
ID=66519729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960053463A KR19980035186A (en) | 1996-11-12 | 1996-11-12 | Mass interrupt handler and its processing method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR19980035186A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7836291B2 (en) | 2006-02-06 | 2010-11-16 | Samsung Electronics Co., Ltd. | Method, medium, and apparatus with interrupt handling in a reconfigurable array |
-
1996
- 1996-11-12 KR KR1019960053463A patent/KR19980035186A/en not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7836291B2 (en) | 2006-02-06 | 2010-11-16 | Samsung Electronics Co., Ltd. | Method, medium, and apparatus with interrupt handling in a reconfigurable array |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA1251572A (en) | Multiple port service expansion adapter for a communications controller | |
US4218739A (en) | Data processing interrupt apparatus having selective suppression control | |
KR970002590A (en) | An integrated circuit device, a digital data processing and video display signal generation system | |
KR970002694A (en) | An integrated circuit device, a digital data processing and video display signal generation system | |
US5778221A (en) | System for executing asynchronous branch and link in parallel processor | |
KR880000253B1 (en) | Data carrying system | |
KR19980035186A (en) | Mass interrupt handler and its processing method | |
KR950704742A (en) | Pipelined Data Ordering System | |
US5940607A (en) | Device and method for automatically selecting a central processing unit driving frequency | |
US6795911B1 (en) | Computing device having instructions which access either a permanently fixed default memory bank or a memory bank specified by an immediately preceding bank selection instruction | |
KR970002412B1 (en) | Communication coprocessor board capable of using dma | |
JPH0546535A (en) | Data transfer interface device | |
KR100767551B1 (en) | Interrupt processing apparatus | |
KR940008483B1 (en) | Interrupt controller | |
JPH02162457A (en) | Multiprocessor system | |
JPH05143364A (en) | Interruption control device | |
KR940011045B1 (en) | Interrupt vector addressing method in micro controller unit | |
KR0182944B1 (en) | Remocon data receiving apparatus | |
KR100427789B1 (en) | Data input / output method | |
KR0138792B1 (en) | Data transmission circuit | |
JP2667285B2 (en) | Interrupt control device | |
KR950012507B1 (en) | Method for processing interrupt in high speed mini computer system | |
JP2876629B2 (en) | Data processing device | |
JPH0374751A (en) | Input/output controller | |
JPH04140810A (en) | Information processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |