KR19990062330A - Interrupt Control in Multi-Processor Systems - Google Patents

Interrupt Control in Multi-Processor Systems Download PDF

Info

Publication number
KR19990062330A
KR19990062330A KR1019970082642A KR19970082642A KR19990062330A KR 19990062330 A KR19990062330 A KR 19990062330A KR 1019970082642 A KR1019970082642 A KR 1019970082642A KR 19970082642 A KR19970082642 A KR 19970082642A KR 19990062330 A KR19990062330 A KR 19990062330A
Authority
KR
South Korea
Prior art keywords
interrupt
processor
data
slave
dpram
Prior art date
Application number
KR1019970082642A
Other languages
Korean (ko)
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 KR1019970082642A priority Critical patent/KR19990062330A/en
Publication of KR19990062330A publication Critical patent/KR19990062330A/en

Links

Abstract

본 발명은 단일의 마스터 프로세서에 대해 다수의 슬레이브 프로세서가 온-보드상에 구현된 상태에서 마스터 프로세서가 각 슬레이브 프로세서에 할당된 인터럽트데이터를 지정함으로써 프로세서간 분리적인 인터럽트제어가 가능하도록 하기 위한 멀티-프로세서 시스템의 인터럽트 제어장치에 관한 것이다.The present invention provides a multi-processor for enabling separate interrupt control between processors by designating interrupt data allocated to each slave processor while a plurality of slave processors are implemented on-board with respect to a single master processor. An interrupt control apparatus for a processor system.

본 발명에 따르면, 단일의 마스터 프로세서(100)에 대해 최소한 2이상의 슬레이브 프로세서(130,140)가 온-보드상에 구현되는 멀티-프로세서 시스템에서 상기 마스터 프로세서(100)로부터 상기 슬레이브 프로세서(130,140)에 대한 인터럽트데이터가 기록되는 DPRAM(Dual Port RAM)(110)과, 상기 DPRAM(110)에 기록된 인터럽트데이터에 근거하여 상기 인터럽트대상의 슬레이브 프로세서(130;140)에 대한 인터럽트신호를 발생하는 인터럽트제어로직(120)을 포함하여 구성되고, DPRAM(110)에는 상기 슬레이브 프로세서(130,140)에 대해 고유하게 할당되는 인터럽트데이터가 기록되는 인터럽트영역이 할당되며, 그 인터럽트영역에 대한 각 슬레이브 프로세서(130,140)의 인터럽트데이터는 최종의 어드레스 또는 (최종 어드레스 - 1)에 의해 기록지정되도록 된 것이다.According to the present invention, in a multi-processor system in which at least two or more slave processors (130,140) are implemented on-board for a single master processor (100), from the master processor (100) to the slave processors (130,140). Interrupt control logic for generating an interrupt signal for the slave processor (130; 140) of the interrupt target based on the DPRAM (Dual Port RAM) 110 in which the interrupt data is recorded and the interrupt data recorded in the DPRAM 110. And an interrupt area for recording interrupt data uniquely allocated to the slave processors 130 and 140, and an interrupt of each slave processor 130 and 140 for the interrupt area. Data is intended to be recorded by the last address or (final address-1).

Description

멀티-프로세서 시스템의 인터럽트 제어장치Interrupt Control in Multi-Processor Systems

본 발명은 멀티-프로세서 시스템의 인터럽트 제어장치에 관한 것으로, 보다 상세하게는 최소한 단일의 마스터 프로세서와 다수의 슬레이브 프로세서를 갖는 멀티-프로세서 시스템에서 글로벌 메모리(Global memory)를 매개하여 다수의 슬레이브 프로세서에 대한 인터럽트제어가 가능하도록 하기 위한 멀티-프로세서 시스템의 인터럽트 제어장치에 관한 것이다.The present invention relates to an interrupt control apparatus of a multi-processor system, and more particularly, to a plurality of slave processors through a global memory in a multi-processor system having at least a single master processor and a plurality of slave processors. An interrupt control apparatus of a multi-processor system for enabling interrupt control for the present invention.

주지된 바와 같이, 대량의 음성/영상데이터라던지 문자정보데이터를 고속으로 처리하여 외부적인 주변장치로 교환하도록 설계되는 시스템의 경우에는 최소한 하나의 마스터 프로세서와 그 마스터 프로세서의 제어하에 작용하는 다수의 슬레이브 프로세서가 소위 '멀티-프로세서 시스템'의 형태로 구현된다.As is well known, in the case of a system which is designed to process a large amount of audio / video data or text information data at high speed and exchange it with an external peripheral device, a plurality of master processors operating under the control of the master processor and at least one master processor may be used. The slave processor is implemented in the form of a so-called 'multi-processor system'.

따라서, 그러한 멀티-프로세서 시스템에는 통상적으로 마스터 프로세서의 제어하에 특정의 슬레이브 프로세서가 프로그램적인 서비스루틴에 근거하여 데이터처리를 수행하는 도중에 마스터 프로세서로부터 특정의 슬레이브 프로세서의 서비스 루틴을 일시적으로 중지시키고서 분기적인 서비스루틴을 수행하도록 요구하거나, 또는 특정의 슬레이브 프로세서로부터 마스터 프로세서의 서비스 루틴을 일시적으로 중지시키고서 분기적인 서비스루틴을 수행하도록 요구하기 위한 인터럽트체계가 설정된다.Thus, such a multi-processor system typically branches under the control of the master processor by temporarily suspending the service routine of the particular slave processor from the master processor while the particular slave processor is performing data processing based on a programmatic service routine. An interrupt scheme is set up for requesting to perform a routine service routine or for requesting to perform a branched service routine by temporarily suspending the service routine of the master processor from a specific slave processor.

도 1은 종래의 일예에 따른 멀티-프로세서 시스템의 인터럽트 제어장치를 나타내는 블록구성도이다. 동 도면에서, 참조부호 10은 멀티-프로세서시스템에 구성되어 인터럽트대상으로 상정되는 프로세서(예컨대, 슬레이브 프로세서)를 나타내고, 20은 그 프로세서(10)와 다수의 인터럽트 소오스(도시 생략)의 사이에 개재되어 그 인터럽트 소오스로부터의 인터럽트요구를 상기 프로세서(10)에 전달하기 위한 인터럽트중재부를 나타내는 바, 그 인터럽트중재부(20)는 각 인터럽트 소오스의 상태를 저장하기 위한 래치회로(30)와 3-상태 버퍼(Tri-state Buffer; 40) 및 각 인터럽트 소오스로부터의 인터럽트신호(INT1 - INT8)가 입력단에 접속되어 그 인터럽트신호(INT1 - INT8)의 논리AND처리결과를 상기 프로세서(10)의 인터럽트단자( )에 인가하는 AND게이트(50)를 구비하여 구성된다.1 is a block diagram illustrating an interrupt control apparatus of a multi-processor system according to an exemplary embodiment. In the figure, reference numeral 10 denotes a processor (e.g., a slave processor) configured in a multi-processor system and assumed to be an interrupt target, and 20 is interposed between the processor 10 and a plurality of interrupt sources (not shown). And an interrupt arbitration section for delivering an interrupt request from the interrupt source to the processor 10, the interrupt arbitration section 20 having a latch circuit 30 and a three-state for storing the state of each interrupt source. The tri-state buffer 40 and the interrupt signals INT1 to INT8 from each interrupt source are connected to the input terminal, and the result of logical AND processing of the interrupt signals INT1 to INT8 is outputted to the interrupt terminal of the processor 10. And an AND gate 50 to be applied.

그러한 구성에 의해 실현되는 종래의 멀티-프로세서 시스템의 인터럽트제어과정에 따르면, 상기 인터럽트대상의 프로세서(10)와 다수의 인터럽트 소오스의 사이에 인터럽트중재부(20)가 개재된 상태에서 전체의 인터럽트 소오스로부터 인터럽트가 발생되지 않는 경우에는 인터럽트신호(INT1 - INT8)가 하이레벨로 유지됨과 더불어 각 인터럽트 소오스의 상태데이터가 외부적인 클럭신호(CLK)에 기초하여 상기 래치회로(30)와 3-상태 버퍼(40)에 격납된다.According to the interrupt control process of the conventional multi-processor system realized by such a configuration, the interrupt source of the entire interrupt source 20 is interposed between the interrupt target processor 10 and the plurality of interrupt sources. If no interrupt is generated from the interrupt signal (INT1-INT8), the interrupt signal (INT1-INT8) is maintained at a high level, and the state data of each interrupt source is based on the external clock signal (CLK). It is stored in 40.

그 상태에서 상기 AND게이트(50)는 각 인터럽트신호(INT1 - INT8)의 정상적인 레벨(즉, 하이레벨)의 논리AND결과로부터 하이레벨의 출력이 얻어져서 마스터 프로세서(10)의 인터럽트단자( )에 인가되고, 그에 따라 마스터 프로세서(10)는 정상적인 동작을 실행하게 된다.In this state, the AND gate 50 obtains a high level output from the logical AND result of the normal level (that is, the high level) of each interrupt signal INT1-INT8, so that the interrupt terminal of the master processor 10 ( ), And thus, the master processor 10 executes a normal operation.

그리고, 다수의 인터럽트 소오스중 어느 하나의 인터럽트 소오스로부터 인터럽트신호가 발생되면 각 인터럽트 소오스의 상태가 래치회로(30)와 3-상태 버퍼(40)에 격납되고, 상기 AND게이트(50)로부터는 로우레벨의 신호가 출력되어 상기 인터럽트대상의 프로세서(10)의 인터럽트단자( )에 인가됨에 따라 그 인터럽트대상의 프로세서(10)는 인터럽트 소오스로부터의 인터럽트 요구가 발생된 상태를 인지하게 된다. 그러면, 상기 프로세서(10)는 칩선택신호(CS*)와 기록/독출제어신호(Rx/Wx)를 래치회로(30)와 3-상태 버퍼(40)에 인가하여 각 인터럽트 소오스의 상태 데이터를 독취해서 그 인터럽트요구가 자신의 인터럽트인지와 그 인터럽트 소오스를 판단하여 자신의 인터럽트인 경우 해당하는 인터럽트기능을 수행하게 된다.When an interrupt signal is generated from any one of a plurality of interrupt sources, the state of each interrupt source is stored in the latch circuit 30 and the tri-state buffer 40, and low from the AND gate 50. A level signal is output so that the interrupt terminal of the interrupt target processor 10 ( ), The interrupt target processor 10 recognizes a state in which an interrupt request from an interrupt source is generated. Then, the processor 10 applies the chip select signal CS * and the write / read control signal Rx / Wx to the latch circuit 30 and the tri-state buffer 40 to provide status data of each interrupt source. It reads and determines whether the interrupt request is its own interrupt and its interrupt source, and if it is its own interrupt, it performs the corresponding interrupt function.

그런데, 도 1에 도시된 인터럽트제어방식에 의하면, 인터럽트대상의 프로세서(10)에 대해 다수의 인터럽트 소오스(슬레이브 프로세서)가 신호적으로 접속된 상태에서 어느 하나의 인터럽트 소오스로부터 인터럽트요구가 발생되는 경우 상기 프로세서(10)는 AND게이트(50)를 매개하여 인터럽트요구를 인지하고나서 래치회로(30)와 버퍼(40)에 저장된 각 인터럽트 소오스의 상태데이터를 독취해야만 그 마스터 프로세서(10)에 대해 인터럽트를 요구한 인터럽트 소오스를 판단할 수 있게 된다. 또한, 다수의 인터럽트 소오스중 최소한 하나의 인터럽트 소오스로부터 인터럽트요구가 발생될 때마다 프로세서(10)는 래치회로(30)와 3-상태 버퍼(40)의 상태데이터를 독취해서 각 인터럽트 소오스의 상태를 확인하는 과정을 반복적으로 수행해야만 되며, 그에 따라 상기 프로세서(10)는 인터럽트의 요구가 발생되는지를 판단하기 위한 소프트웨어적인 부담이 가중될 뿐만 아니라 소비전력의 증가 및 인터럽트 서비스 루틴에서의 머신사이클(Machine cycle)이 소모적으로 증가된다는 불리함이 있게 된다.By the way, according to the interrupt control method shown in FIG. 1, when an interrupt request is generated from any one of the interrupt sources in a state in which a plurality of interrupt sources (slave processors) are connected to the processor 10 as the interrupt target. The processor 10 must read the state data of each interrupt source stored in the latch circuit 30 and the buffer 40 after recognizing the interrupt request through the AND gate 50, and then the master processor 10 must read the interrupt data. The interrupt source that requested the interrupt can be determined. In addition, whenever an interrupt request is generated from at least one interrupt source among a plurality of interrupt sources, the processor 10 reads the state data of the latch circuit 30 and the tri-state buffer 40 to determine the state of each interrupt source. It is necessary to perform the checking process repeatedly, so that the processor 10 not only increases the software burden for determining whether an interrupt request is generated, but also increases the power consumption and machine cycles in the interrupt service routine. There is a disadvantage that the cycle is increased in consumption.

본 발명은 상기한 종래기술의 사정을 감안하여 이루어진 것으로, 멀티-프로세서 시스템에 구성되는 다수의 프로세서가 동일한 인터럽트 순위를 공유하도록 하고서 인터럽트를 발생시키는 프로세서를 미리 판단하여 인터럽트신호를 프로세서간 분리적으로 발생되도록 함으로써 인터럽트를 발생한 프로세서에 대한 실시간적인 인지가 가능하도록 된 멀티-프로세서 시스템의 인터럽트 제어장치를 제공함에 그 목적이 있다.SUMMARY OF THE INVENTION The present invention has been made in view of the above-described circumstances of the prior art, and allows a plurality of processors configured in a multi-processor system to share the same interrupt rank, and to determine in advance a processor that generates an interrupt so that the interrupt signal is separated between processors. It is an object of the present invention to provide an interrupt control apparatus of a multi-processor system, which enables real-time recognition of the processor that generated the interrupt.

상기한 목적을 달성하기 위해, 본 발명의 바람직한 실시예에 따르면 단일의 마스터 프로세서에 대해 최소한 2이상의 슬레이브 프로세서가 온-보드상에 구현되는 멀티-프로세서 시스템에 있어서, 상기 마스터 프로세서와 상기 2 이상의 슬레이브 프로세서는 글로벌버스제어로직의 제어하에 어드레스/데이터/제어버스를 공유하게 되고, 상기 마스터 프로세서로부터 상기 슬레이브 프로세서에 대한 인터럽트데이터가 기록되는 DPRAM(Dual Port RAM)과, 상기 DPRAM에 기록된 인터럽트데이터에 근거하여 상기 인터럽트대상의 슬레이브 프로세서에 대한 인터럽트신호를 발생하는 인터럽트제어로직을 포함하여 구성된 멀티-프로세서 시스템의 인터럽트 제어장치가 제공된다.In order to achieve the above object, according to a preferred embodiment of the present invention, in a multi-processor system in which at least two or more slave processors are implemented on-board for a single master processor, the master processor and the two or more slaves. The processor shares the address / data / control bus under the control of the global bus control logic, and the DPRAM (Dual Port RAM) in which the interrupt data for the slave processor is recorded from the master processor, and the interrupt data recorded in the DPRAM. An interrupt control apparatus for a multi-processor system configured to include an interrupt control logic for generating an interrupt signal for the slave processor to be interrupted is provided.

바람직하게, 상기 DPRAM에는 상기 슬레이브 프로세서에 대해 고유하게 할당되는 인터럽트데이터가 기록되는 인터럽트영역이 할당되고, 그 인터럽트영역에 대한 각 슬레이브 프로세서의 인터럽트데이터는 최종의 어드레스 또는 (최종 어드레스 - 1)에 의해 기록지정된다.Preferably, the DPRAM is allocated an interrupt area in which interrupt data uniquely allocated to the slave processor is recorded, and the interrupt data of each slave processor for the interrupt area is determined by a final address or (final address-1). Record is specified.

또한, 본 발명에 따르면 상기 인터럽트제어로직은 상기 인터럽트데이터가 격납되는 레지스터와 그 인터럽트데이터에 의해 판별되는 슬레이브 프로세서에 대한 인터럽트신호를 프로세서간 분리적으로 발생하는 인터럽트분리로직을 구비하여 구성된다.In addition, according to the present invention, the interrupt control logic is configured to include an interrupt separation logic for separately generating an interrupt signal for a slave processor determined by the interrupt data and the slave processor determined by the interrupt data.

상기한 구성의 본 발명에 따른 멀티-프로세서 시스템의 인터럽트 제어장치에 의하면, 단일의 마스터 프로세서에 대해 다수의 슬레이브 프로세서가 온-보드상에 구현된 멀티-프로세서 시스템에서 상기 마스터 프로세서가 인터럽트대상의 프로세서에 할당된 고유한 인터럽트데이터를 DPRAM의 인터럽트영역에 기록하게 되면, 그 인터럽트데이터에 의거하여 인터럽트제어로직으로부터 인터럽트대상의 슬레이브 프로세서에 대한 인터럽트신호를 실시간적으로 분리해서 발생하여 해당하는 슬레이브 프로세서에 인가하도록 작용하게 된다.According to the interrupt control apparatus of a multi-processor system according to the present invention having the above configuration, in a multi-processor system in which a plurality of slave processors are implemented on-board for a single master processor, the master processor is an interrupt target processor. When the unique interrupt data allocated to is written to the interrupt area of the DPRAM, the interrupt signal for the interrupt processor of the interrupt target is generated in real time from the interrupt control logic based on the interrupt data, and is applied to the corresponding slave processor. To act.

도 1은 종래의 일예에 따른 멀티-프로세서 시스템의 인터럽트 제어장치를 설명하기 위한 블록구성도,1 is a block diagram illustrating an interrupt control apparatus of a multi-processor system according to an exemplary embodiment of the present invention;

도 2는 본 발명의 바람직한 실시예에 따른 멀티-프로세서 시스템의 인터럽트 제어장치를 나타낸 블록구성도,2 is a block diagram illustrating an interrupt control apparatus of a multi-processor system according to an exemplary embodiment of the present invention;

도 3은 도 2에 도시된 인터럽트제어로직의 구성예를 나타낸 도면,3 is a diagram showing an example of the configuration of the interrupt control logic shown in FIG. 2;

도 4는 본 발명에 따른 멀티-프로세서 시스템의 인터럽트 제어장치를 설명하기 위한 타이밍차트이다.4 is a timing chart illustrating an interrupt control apparatus of a multi-processor system according to the present invention.

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

10: 프로세서, 30: 래치회로,10: processor, 30: latch circuit,

40: 3-상태 버퍼, 50: AND게이트,40: 3-state buffer, 50: AND gate,

100: 마스터 프로세서, 120: 인터럽트 제어로직,100: master processor, 120: interrupt control logic,

110: DPRAM(Dual Port RAM), 130,140: 슬레이브 프로세서,110: Dual Port RAM (DPRAM), 130,140: Slave Processor,

150: 글로벌버스 제어로직.150: global bus control logic.

이하, 본 발명에 대해 첨부도면을 참조하여 상세하게 설명한다.Hereinafter, with reference to the accompanying drawings, the present invention will be described in detail.

도 2는 본 발명의 바람직한 실시예에 따른 멀티-프로세서 시스템의 인터럽트 제어장치를 나타낸 블록구성도이다.2 is a block diagram illustrating an interrupt control apparatus of a multi-processor system according to an exemplary embodiment of the present invention.

도면중, 참조부호 100은 멀티-프로세서 시스템에서 주제어기능을 담당하는 마스터 프로세서를 나타내는 바, 본 발명에 따르면 그 마스터 프로세서(100)는 최소한 2 이상의 슬레이브 프로세서에 할당되는 고유한 인터럽트데이터를 기초로 인터럽트대상의 슬레이브 프로세서를 지정하게 된다. 참조부호 110은 그 마스터 프로세서(100)와 신호적으로 접속되는 후술하는 슬레이브 프로세서의 사이에서 메시지의 전달에 공용되는 DPRAM(Dual Port RAM)을 나타내는 바, 본 발명에 따르면 그 DPRAM(110)의 소정영역이 각 슬레이브 프로세서중 인터럽트대상으로 지정되는 프로세서의 고유한 ID데이터가 인터럽트데이터로서 기록되는 인터럽트영역으로서 할당된다.In the figure, reference numeral 100 denotes a master processor that is responsible for main control functions in a multi-processor system. According to the present invention, the master processor 100 is based on unique interrupt data allocated to at least two slave processors. Specify the target slave processor. Reference numeral 110 denotes a DPRAM (Dual Port RAM) shared by the master processor 100 and a later-described slave processor that is connected in signal, and according to the present invention, a predetermined number of the DPRAM 110 according to the present invention. The unique ID data of the processor whose area is designated as the interrupt target among each slave processor is allocated as the interrupt area in which the area is recorded as the interrupt data.

또, 도 2에서 참조부호 120은 상기 마스터 프로세서(100)에 의해 인터럽트요구대상으로 상정되는 슬레이브 프로세서(130,140)에 그 마스터 프로세서(100)로부터의 인터럽트신호를 분리적으로 발생하여 해당하는 슬레이브 프로세서(130 및/또는 140)를 인터럽트제어하는 인터럽트제어로직을 나타낸다.In FIG. 2, reference numeral 120 denotes a slave processor 130 and 140 separately generated by the master processor 100 to generate an interrupt signal from the master processor 100 and corresponding slave processor. An interrupt control logic for interrupt control 130 and / or 140).

또, 150은 상기 마스터 프로세서(100)와 슬레이브 프로세서(130,140)가 상기 DPRAM(110)을 매개하여 메시지의 교환을 수행하는 작용을 제어하기 위한 글로벌버스 제어로직을 나타낸다.In addition, 150 denotes a global bus control logic for controlling the operation of the master processor 100 and the slave processors 130 and 140 to exchange messages via the DPRAM 110.

여기서, 본 발명에 따르면 상기 DPRAM(110)의 최종 어드레스영역에 임의의 데이터를 기록하는 경우에는 좌측으로부터 우측으로 인터럽트가 발생되는 반면, 그 DPRAM(110)의 (최종 어드레스 - 1)의 영역에 임의의 데이터를 기록하는 경우에는 우측으로부터 좌측으로 인터럽트가 발생되도록 상정되고, 그에 따라 DPRAM(110)의 인터럽트영역에 데이터를 기록하는 경우에 그 기록데이터를 이용하여 인터럽트신호를 분리적으로 발생하는 것이 가능하게 된다.Here, according to the present invention, when arbitrary data is written to the final address area of the DPRAM 110, an interrupt is generated from the left to the right, whereas the random address is located in the area of the (final address-1) of the DPRAM 110. It is assumed that an interrupt is generated from right to left in the case of recording data, and accordingly, an interrupt signal can be generated separately using the write data in the case of recording data in the interrupt area of the DPRAM 110. Done.

또한, 본 발명에 따르면 상기 DPRAM(110)과 인터럽트제어로직(120), 제 1 - 제 n의 프로세서(즉, 슬레이브 프로세서) 및 글로벌버스 제어로직(150)은 온-보드(On-board)상에 설계되는 한편, 상기 제 1 - 제 n의 프로세서(130,140)는 글로벌버스제어로직(150)의 제어하에 어드레스버스와 데이터버스 및 제어버스를 공유하여 상기 DPRAM(110)을 억세스하도록 상정된다.In addition, according to the present invention, the DPRAM 110, the interrupt control logic 120, the first to nth processors (i.e., the slave processor) and the global bus control logic 150 are on-board. The first through nth processors 130 and 140 are assumed to access the DPRAM 110 by sharing an address bus, a data bus, and a control bus under the control of the global bus control logic 150.

도 3은 상기 인터럽트제어로직(120)의 구성예를 나타내는 도면으로, 그 인터럽트제어로직(120)은 상기 마스터 프로세서(100)로부터 제공되어 상기 DPRAM(110)에 격납되는 데이터(DT)와 기록/독취제어신호 및 칩선택신호(CS*)가 일시적으로 격납되는 레지스터(122)와, 그 레지스터(122)에 격납되는 데이터(DT)와 상기 DPRAM(110)의 소정영역에 기록되는 액티브-로우레벨의 인터럽트신호 를 기초로 상기 다수의 슬레이브 프로세서(130,140)에 대한 인터럽트신호(Int1 - Int8)를 분리적으로 발생하는 인터럽트분리로직(124)을 포함하여 구성된다.FIG. 3 is a diagram showing an example of the configuration of the interrupt control logic 120. The interrupt control logic 120 is provided from the master processor 100 and stored in the DPRAM 110 and recorded / stored with data DT. Read control signal And a register 122 in which the chip select signal CS * is temporarily stored, data DT stored in the register 122, and an active-low level interrupt signal recorded in a predetermined area of the DPRAM 110. It is configured to include an interrupt separation logic 124 for separately generating the interrupt signal (Int1-Int8) for the plurality of slave processors (130,140) based on.

이어, 상기한 구성의 본 발명에 따른 멀티-프로세서 시스템의 인터럽트 제어장치의 작용에 대해 도 4에 도시된 타이밍차트를 참조하여 설명한다.Next, the operation of the interrupt control apparatus of the multi-processor system according to the present invention having the above-described configuration will be described with reference to the timing chart shown in FIG.

먼저, 상기 마스터 프로세서(100)가 다수의 슬레이브 프로세서(130, 140)중 예컨대 제 1의 프로세서(130)에 인터럽트를 요구하려는 경우 그 마스터 프로세서(100)는 어드레스신호(AD; 도 4 참조)에 의해 지정가능한 상기 DPRAM(110)의 소정영역(즉, 인터럽트 영역)에 인터럽트데이터로서 그 제 1의 프로세서(130)에 할당된 ID데이터(예컨대, '00h')를 기록하게 된다.First, when the master processor 100 wants to request an interrupt from, for example, the first processor 130 among the plurality of slave processors 130 and 140, the master processor 100 responds to the address signal AD (see FIG. 4). ID data (e.g., 00h) allocated to the first processor 130 is recorded as interrupt data in a predetermined area (i.e., an interrupt area) of the DPRAM 110 that can be designated by the program.

그러면, 상기 인터럽트제어로직(120)의 레지스터(122)는 상기 DPRAM(110)에 대한 기록/독출제어신호 와 칩선택신호(CS*; 도 4 참조)에 의거하여 상기 마스터 프로세서(100)로부터의 데이터(DT)가 일시적으로 격납되고나서 상기 인터럽트분리로직(124)에 인가되고, 그 인터럽트분리로직(124)은 상기 DPRAM(110)의 인터럽트영역에서 제공되는 인터럽트데이터 에 기초하여 상기 제 1의 프로세서(130)에 대한 인터럽트신호(예컨대, Int1; 도 4 참조)를 발생하여 상기 제 1의 프로세서(130)에 인가함으로써 그 제 1의 프로세서(130)가 인터럽트상태로 진입하게 된다.Then, the register 122 of the interrupt control logic 120 writes / writes a control signal to the DPRAM 110. And data DT from the master processor 100 are temporarily stored based on the chip select signal CS * (see FIG. 4) and then applied to the interrupt isolation logic 124, and the interrupt isolation logic 124. FIG. ) Is interrupt data provided in the interrupt area of the DPRAM 110. Generates an interrupt signal (eg, Int1; see FIG. 4) to the first processor 130 based on the first processor 130 and generates an interrupt signal to the first processor 130. Will enter.

그에 대해, 상기 마스터 프로세서(100)가 상기 제 n의 프로세서(140)에 인터럽트요구를 행하는 경우에 상기 마스터 프로세서(100)는 상기한 과정과 유사하게 상기 DPRAM(110)의 인터럽트영역에 그 제 n의 프로세서(140)에 할당된 인터럽트데이터를 기록하게 되면, 상기 인터럽트제어로직(120)에서는 그 인터럽트데이터에 근거하여 상기 제 n의 프로세서(140)에 대한 인터럽트신호(Intn; 도 4 참조)를 발생하여 해당하는 제 n의 프로세서(140)에 인가하게 된다.In contrast, when the master processor 100 makes an interrupt request to the n-th processor 140, the master processor 100 transmits the n-th to the interrupt area of the DPRAM 110 similarly to the above-described process. When the interrupt data allocated to the processor 140 of the processor 140 is recorded, the interrupt control logic 120 generates an interrupt signal Intn (see FIG. 4) for the nth processor 140 based on the interrupt data. To be applied to the corresponding nth processor 140.

따라서, 본 발명에 의하면, DPRAM(110)의 인터럽트영역에 기록되는 인터럽트데이터를 온-보드상에 구성되는 슬레이브 프로세서에 대해 설계시에 할당되는 ID데이터로 설정하게 되면 실시간적으로 인터럽트대상의 프로세서에 대한 분리적인 인터럽트신호의 발생이 가능하게 된다. 또한, 다수의 프로세서에 대한 인터럽트신호를 발생하기 위해 사용되는 데이터(DT)의 비트 수에 근거하여 연결가능한 프로세서의 수가 결정되는 바, 예컨대 8비트의 경우에는 최대 256의 프로세서가 연결가능하게 된다.Therefore, according to the present invention, when the interrupt data recorded in the interrupt area of the DPRAM 110 is set to the ID data assigned at the time of design for the slave processor configured on the on-board, the interrupt target processor is executed in real time. It is possible to generate a separate interrupt signal. In addition, the number of processors that can be connected is determined based on the number of bits of the data DT used to generate interrupt signals for a plurality of processors. For example, in the case of 8 bits, a maximum of 256 processors may be connected.

상기한 바와 같이, 본 발명에 따른 멀티-프로세서 시스템의 인터럽트 제어장치에 의하면, 멀티-프로세서 시스템에 구성되는 다수의 프로세서에 대해 고유하게 할당된 인터럽트데이터에 근거하여 해당하는 프로세서에 대한 인터럽트신호의 실시간적이면서 프로세서간 분리적인 발생이 가능하게 되고, 그에 따라 인터럽트대상의 프로세서의 판별을 위한 프로그램적인 부담이 경감될 뿐만 아니라 인터럽트 서비스 루틴에서의 머신사이클(Machine cycle)의 단축이 가능하게 된다.As described above, according to the interrupt control apparatus of the multi-processor system according to the present invention, the real time of the interrupt signal for the corresponding processor based on the interrupt data uniquely assigned to the plurality of processors configured in the multi-processor system. It is possible to generate a separate and separate process between processors, thereby reducing the program burden for determining the processor to be interrupted and shortening the machine cycle in the interrupt service routine.

Claims (3)

단일의 마스터 프로세서(100)에 대해 최소한 2이상의 슬레이브 프로세서(130,140)가 온-보드상에 구현되는 멀티-프로세서 시스템에 있어서,In a multi-processor system in which at least two slave processors (130, 140) are implemented on-board for a single master processor (100), 상기 마스터 프로세서(100)와 상기 2 이상의 슬레이브 프로세서(130,140)는 글로벌버스제어로직(150)의 제어하에 어드레스/데이터/제어버스를 공유하게 되고,The master processor 100 and the two or more slave processors 130 and 140 share an address / data / control bus under the control of the global bus control logic 150, 상기 마스터 프로세서(100)로부터 상기 슬레이브 프로세서(130,140)에 대한 인터럽트데이터가 기록되는 DPRAM(Dual Port RAM)(110)과,Dual port RAM (DPRAM) 110 in which interrupt data for the slave processors 130 and 140 are recorded from the master processor 100, and 상기 DPRAM(110)에 기록된 인터럽트데이터에 근거하여 상기 인터럽트대상의 슬레이브 프로세서(130;140)에 대한 인터럽트신호를 발생하는 인터럽트제어로직(120)을 포함하여 구성된 것을 특징으로 하는 멀티-프로세서 시스템의 인터럽트 제어장치.An interrupt control logic (120) for generating an interrupt signal for the slave processor (130; 140) of the interrupt target based on the interrupt data recorded in the DPRAM (110). Interrupt Control. 제 1항에 있어서, 상기 DPRAM(110)에는 상기 슬레이브 프로세서(130,140)에 대해 고유하게 할당되는 인터럽트데이터가 기록되는 인터럽트영역이 할당되고, 그 인터럽트영역에 대한 각 슬레이브 프로세서(130,140)의 인터럽트데이터는 최종의 어드레스 또는 (최종 어드레스 - 1)에 의해 기록지정되는 것을 특징으로 하는 멀티-프로세서 시스템의 인터럽트 제어장치.The method of claim 1, wherein the DPRAM 110 is allocated an interrupt area for recording interrupt data uniquely allocated to the slave processors (130, 140), the interrupt data of each slave processor (130, 140) for the interrupt area is An interrupt control apparatus for a multi-processor system, characterized in that it is designated by the last address or (final address-1). 제 1항에 있어서, 상기 인터럽트제어로직(120)은 상기 인터럽트데이터가 격납되는 레지스터(122)와 그 인터럽트데이터에 의해 판별되는 슬레이브 프로세서(130;140)에 대한 인터럽트신호를 프로세서간 분리적으로 발생하는 인터럽트분리로직(124)을 구비하여 구성된 것을 특징으로 하는 멀티-프로세서 시스템의 인터럽트 제어장치.The interrupt control logic 120 of claim 1, wherein the interrupt control logic 120 separately generates an interrupt signal for the processor 122 and the slave processor 130 and 140, which are determined by the interrupt data, which are stored by the interrupt data. Interrupt control logic of the multi-processor system, characterized in that it comprises an interrupt separation logic (124).
KR1019970082642A 1997-12-31 1997-12-31 Interrupt Control in Multi-Processor Systems KR19990062330A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970082642A KR19990062330A (en) 1997-12-31 1997-12-31 Interrupt Control in Multi-Processor Systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970082642A KR19990062330A (en) 1997-12-31 1997-12-31 Interrupt Control in Multi-Processor Systems

Publications (1)

Publication Number Publication Date
KR19990062330A true KR19990062330A (en) 1999-07-26

Family

ID=66181950

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970082642A KR19990062330A (en) 1997-12-31 1997-12-31 Interrupt Control in Multi-Processor Systems

Country Status (1)

Country Link
KR (1) KR19990062330A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100459417B1 (en) * 2001-12-19 2004-12-03 엘지전자 주식회사 Task function processing method for multi processor system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100459417B1 (en) * 2001-12-19 2004-12-03 엘지전자 주식회사 Task function processing method for multi processor system

Similar Documents

Publication Publication Date Title
US4449183A (en) Arbitration scheme for a multiported shared functional device for use in multiprocessing systems
US4737932A (en) Processor
EP0355463B1 (en) Timer channel with multiple timer reference features
JP4891405B2 (en) Method and apparatus for conditional propagation of barrier operations
EP0355462B1 (en) Dedicated service processor with inter-channel communication features
US5930502A (en) Method for sharing a random-access memory between two asynchronous processors and electronic circuit for the implementation of this method
KR900005287A (en) Data control device and system using it
JP4902640B2 (en) Integrated circuit and integrated circuit system
JP2002163228A (en) External bus deciding technology for multi-core dsp device
US7130946B2 (en) Configuration and method having a first device and a second device connected to the first device through a cross bar
KR101022473B1 (en) Memory bank interleaving method and apparatus in the multi-layer bus system
KR19990062330A (en) Interrupt Control in Multi-Processor Systems
KR920010977B1 (en) Memory bus architecture
KR920002830B1 (en) Direct memory access controller
KR100441996B1 (en) Direct Memory Access(DMA) Controller and control method
US20010005870A1 (en) External bus control system
JPH09311812A (en) Microcomputer
KR100283187B1 (en) Device and method for accessing common memory in system using common memory
JPS59229662A (en) Common memory control circuit
KR940004578B1 (en) Slave board control unit
JP4642398B2 (en) Shared bus arbitration system
JP3266610B2 (en) DMA transfer method
KR100217743B1 (en) Common memory interface apparatus and method
KR960007835B1 (en) Common memory access device for multi-processor
JPH11273380A (en) Lsi operation mode setting signal fetching method and lsi with mode signal fetching function

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application