KR0170507B1 - 인터럽트 수신용 메시지 큐의 제어방법 - Google Patents

인터럽트 수신용 메시지 큐의 제어방법 Download PDF

Info

Publication number
KR0170507B1
KR0170507B1 KR1019950024213A KR19950024213A KR0170507B1 KR 0170507 B1 KR0170507 B1 KR 0170507B1 KR 1019950024213 A KR1019950024213 A KR 1019950024213A KR 19950024213 A KR19950024213 A KR 19950024213A KR 0170507 B1 KR0170507 B1 KR 0170507B1
Authority
KR
South Korea
Prior art keywords
storage means
general
general message
bit
valid
Prior art date
Application number
KR1019950024213A
Other languages
English (en)
Other versions
KR970012142A (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 KR1019950024213A priority Critical patent/KR0170507B1/ko
Publication of KR970012142A publication Critical patent/KR970012142A/ko
Application granted granted Critical
Publication of KR0170507B1 publication Critical patent/KR0170507B1/ko

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Abstract

본 발명은 멀티프로세서 인터럽트 처리기에서의 인터럽트 수신용 메시지 큐의 제어방법에 관한 것으로서, 그 특징은, 긴급 메시지 저장수단과 소정개수의 일반 메시지 저장수단들과 제어상태 저장수단을 포함한 멀티프로세서 인터럽트 처리기를 제어하기 위한 인터럽트 수신용 메시지 큐의 제어 방법에 있어서, 상기 멀티프로세서 인터럽트 처리기가 초기화되는 제1과정과, 현상태가 응답회신 상태인지와 수신 메시지에 전송 오류가 없는지와 상기 수신 메시지가 일반 메시지인지를 판단하는 제2과정과, 상기 제2과정에서 현상태가 응답회신 상태이고 상기 수신 메시지에 전송 오류가 없고 상기 수신 메시지가 일반 메시지로 판단되면, 상기 일반 메시지 저장수단에 상기 수신 메시지를 저장하는 제3과정과, 상기 제2과정에서 현상태가 응답회신상태가 아니거나 상기 수신 메시지에 전송 오류가 있거나 상기 수신 메시지가 긴급 메시지로 판단되면, 상기 제어상태 저장수단의 일부 비트들을 '비유효'를 나타내도록 설정하는 제4과정 및 상기 제3과정 또는 제4과정 수행 후, 상기 제2과정으로 진행하는 제5과정을 포함하는 데에 있고, 그 효과는 인터럽트를 2종류로 나누어 처리함으로써 보다 경제적으로 멀티프로세서 시스템을 운영하여 시스템의 속도를 종래보다 크게 증가시킨다는 데에 있다.

Description

인터럽트 수신용 메시지 큐의 제어방법
제1도는 멀티프로세서 인터럽트 처리기의 연결도.
제2도는 멀티프로세서 인터럽트 처리기의 내부 레지스터 구성도.
제3도는 멀티프로세서 인터럽트 처리기의 내부 상태 천이도.
제4도는 본 발명에 따른 메시지 큐의 제어방법을 나타낸 흐름도.
* 도면의 주요부분에 대한 부호의 설명
110 : 프로세서(processor)
120 : 프로세서 인터페이스 회로(processor interface circuit)
130 : 멀티프로세서 인터럽트 처리기(multiprocessor interrupt handler)
140 : 인터럽트 버스 인터페이스(interrupt bus interface)
IB : 인터럽트 버스(interrupt bus)
210 : 긴급 메시지 레지스터(emergency-type message register)
220 : 일반 메시지 레지스터(queueing-type message register)
221 : 제1일반 메시지 레지스터
222 : 제2일반 메시지 레지스터
223 : 제3일반 메시지 레지스터
224 : 제4일반 메시지 레지스터
230 : 제어상태 레지스터(control and status register)
231A 내지 231C : 유보 비트
232 : 일반 메시지 충만 비트
233 : 긴급 메시지 충만 비트
234 : 일반 메시지 방지 비트
235 : 태스크 우선 순위부
236 : 제1일반 메시지 유효 비트
237 : 제2일반 메시지 유효 비트
238 : 제3일반 메시지 유효 비트
239 : 제4일반 메시지 유효 비트
본 발명은 멀티프로세서 인터럽트 처리기에서의 인터럽트 수신용 메시지 큐의 제어 방법에 관한 것으로서, 특히 인터럽트를 긴급 메시지와 일반 메시지로 구분하여 일반 메시지를 도착한 순서대로 큐잉(queueing)하여 프로세서에게 알려주는 메시지 큐의 제어 방법에 관한 것이다.
요즘의 시스템에서는 복수의 프로세서를 구비하기도 하는데, 이때에 프로세서들끼리 충돌하지 않도록 프로세서들을 잘 중재해야 할 필요가 생겼다.
이에 따라 몇 가지 용어를 정리하면, 복수의 프로세서들을 하나로 묶어서 멀티프로세서라고 일컬으며, 복수의 프로세서들 사이에서 상호간 전송되는 인터럽트를 멀티프로세서 인터럽트라고 부르고, 복수의 프로세서들을 구비한 시스템을 멀티프로세서 시스템이라고 한다.
종래의 멀티프로세서 시스템의 멀티프로세서 인터럽트는 모든 인터럽트가 구분없이 하나의 방식으로 처리되어 시스템의 속도가 저하되는 결과를 초래한다는 문제점이 있다.
그래서, 상기 문제점을 해결하기 위한 본 발명의 목적은, 인터럽트를 두 종류로 나누어, 하나는 긴급하게 전송하여 처리해야 할 필요가 있는 인터럽트 메시지인 긴급 메시지(Emergency-type message)와 다른 하나는 긴급하게 전송할 필요가 없어서 큐잉하여 처리하는 인터럽트 메시지인 일반 메시지(Queueing-type message)로 구분하고, 이 두 가지의 메시지 중의 하나인 일반 메시지를 큐잉하여 수신하는 메시지 큐의 제어 방법을 제공하는 데에 있다.
상기 목적을 달성하기 위한 본 발명의 특징은, 긴급 메시지 저장수단과 소정재수의 일반 메시지 저장수단들과 제어상태 저장수단을 포함한 멀티프로세서 인터럽트 처리기를 제어하기 위한 인터럽트 수신용 메시지 큐의 제어방법에 있어서, 상기 멀티프로세서 인터럽트 처리기가 초기화되는 제1과정과, 현상태가 응답회신 상태인지와 수신 메시지에 전송 오류가 없는지와 상기 수신 메시기가 일반 메시지인지를 판단하는 제2과정과, 상기 제2과정에서 현상태가 응답회신 상태이고 상기 수신 메시지에 전송 오류가 없고 상기 수신 메시지가 일반 메시지로 판단되면, 상기 일반 메시지 저장수단에 상기 수신 메시지를 저장하는 제3과정과, 상기 제2과정에서 현상태가 응답 회신 상태가 아니거나 상기 수신 메시지에 전송 오류가 있거나 상기 수신 메시지가 긴급 메시지로 판단되면, 상기 제어상태 저장수단의 일부 비트들을 '비유효'를 나타내도록 설정하는 제4과정 및 상기 제3과정 또는 제4과정 수행 후, 상기 제2과정으로 진행하는 제5과정을 포함하는 데에 있다.
제1도는 멀티프로세서 인터럽트 처리기의 연결도이다.
제1도를 참조하면, 복수의 프로세서를 구비한 멀티프로세서 시스템은 멀티프로세서 인터럽트의 전송을 위한 인터럽트 버스(IB)와, 멀티프로세서 인터럽트 처리기(130)와, 인터럽트 버스(IB)와 인터럽트 처리기(130)를 연결시켜주는 인터럽트 버스 인터페이스(140) 및 멀티프로세서 인터럽트 처리기(130)와 프로세서(110)를 연결시켜주는 프로세서 인터페이스 회로(120)로 구성되어 있다.
멀티프로세서 인터럽트 처리기(130)는 멀티프로세서 시스템에서 인터럽트 버스(IB)를 통해 멀티프로세서 인터럽트를 수신하여 프로세서(110)에게 알려준다.
이때에, 멀티프로세서 인터럽트 처리기(130)와 프로세서(110)사이에 프로세서 인터페이스 회로(120)가 있어서 멀티프로세서 인터럽트 처리기(130)와 프로세서를 연결시켜주어 멀티프로세서 인터럽트 처리기(130)가 일반 메시지의 수신 사실을 프로세서(110)에게 알려줄 때에 멀티프로세서 인터럽트 처리기(130)가 일반 인터럽트 신호(이하 QINT라고 약칭함)를 프로세서 인터페이스 회로(120)를 통하여 발생시킨다.
그리고 멀티프로세서 인터럽트 처리기(130)와 인터럽트 버스(IB) 사이에는 인터럽트 버스 인터페이스(140)가 있어서 멀티프로세서 인터럽트 처리기(130)와 인터럽트 버스(IB)를 연결시켜 준다.
멀티프로세서 인터럽트를 송신할 때에 송신측에서 수신처를 명시하지 않고 인터럽트를 송신하는 경우가 있는데, 이때에는 멀티프로세서 인터럽트 처리기(130)들끼리 인터럽트 버스 인터페이스(140)를 통하여 중재함으로써 수신처를 결정하게 된다.
또한 인터럽트 버스(IB)에는 멀티프로세서 인터럽트를 송신하는 멀티프로세서 인터럽트 요청기 및 멀티프로세서 인터럽트를 수신하여 처리하는 멀티프로세서 인터럽트 처리기가 각기 인터럽트 버스 인터페이스(140)를 통하여 복수개 연결될 수도 있다.
제2도는 멀티프로세서 인터럽트 처리기의 내부 레지스터 구성도이다.
제2도를 참조하면, 멀티프로세서 인터럽트 처리기(130)는, 수신된 긴급 메시지를 저장하는 1개의 긴급 메시지 레지스터(Emergency-type message register, 이하 EMR로 약칭 함)(210), 수신된 일반 메시지를 저장하는 4개의 일반 메시지 레지스터들(Queueing-tyPe message registers 이하, QMR0 내지 QMR3(221 내지 224)으로 약칭함)로 구성된 메시지 큐를 형성하는 일반 메시지 레지스터군(Queueing-type message register group, 이라 QMR로 약칭함)(220), 현재의 제어상태를 저장하며 저장된 제어 및 상태정보에 따라 상기 인터럽트 처리기가 인터럽트의 수신을 제어하는 데에 사용되는 1개의 제어상태 레지스터(control and status register, 이하 CSR로 약칭함)(230) 모두 6개의 레지스터를 구비하고 있다.
여기서, QMR0(221)이 상기 메시지 큐의 맨앞(head)이고, 상기 QMR3(224)이 메시지 큐의 맨뒤(tail)이며, 메시지 큐(220)에 저장된 메시지는 선입선출(First-In First-Out)의 순서로 프로세서(110)에게 알려준다.
상술한 6개의 레지스터는 모두 32비트의 길이로 구성되어 있고, 프로그램에 의해서 액서스(access)될 수 있는 것들로서, 특히 CSR(230)은 프로세서(110)로부터 읽혀지거나 쓰여지는 것이 요구된다.
EMR(210)와 4개의 레지스터로 구성된 QMR(220)은 읽혀질 수만 있으며, 인터럽트 버스를 통하여 수신된 메시지가, 긴급 메시지이면 EMR(210)에, 일반 메시지이면 QMR(220)에 저장되고, 긴급 메시지와 일반 메시지에는 각각 수신처, 송신처, 인터럽트의 종류, 벡터의 형태 및 벡터 등이 포함되어 있다.
CSR(230)는 멀티프로세서 인터럽트 처리기(130)의 제어 정보 및 상태를 저장하는데, CSR(230)의 각 비트에 대해서 설명하면, QMR충만비트(232)는, QMR0(221), QMR1(222), QMR2(223) 및 QMR3(224)이 모두 일반 메시지로 채워져 있어서 더 이상 일반 메시지가 저장될 수 없음을 나타내며, EMR 충만비트(233)는, EMR(210)이 긴급 메시지로 채워져 있음을 나타내고, QMR 충만비트(232)와 EMR충만비트(233)는 모두 읽혀질 수만 있다.
일반 메시지 수신방지 비트(234)는 일반 메시지의 수신을 방지하며, 읽혀질 수도 있고 쓰여질 수도 있다.
또한, 일반 메시지 수신방지 비트(234)가 프로세서(110)에 의해 '1'로 설정되면, 인터럽트 버스(IB)를 통하여 도착되는 일반 메시지는 마스크(mask)되어 수신되지 않는다.
멀티프로세서 인터럽트를 송신하는 측에서 수신처를 명시하지 않은 경우에는, 멀티프로세서 인터럽트 처리기(130)들끼리 인터럽트 버스 인터페이스(140)를 통하여 중재함으로써 수신처를 결정하게 되는데, 이때에 태스크 우선순위부(235)의 값은 중재 정보로 사용되며, 태스크 우선순위부(235)의 값은 프로세서(110)에 의해 결정되어 쓰여지고, 이 값이 높을수록 수신처가 될 확률이 낮아져서 프로세서(110)에서 수행되는 태스크가 인터럽트에 의한 간섭을 적게 받는다.
이때, 태스크 우선순위부(235)의 값을 이용한 중재 과정은 인터럽트 버스 인터페이스(140)의 내부에 있는 중재회로가 수행한다.
중재회로는 태스크 우선순위부(235)의 값을 인터럽트 버스(IB)에 구동하고, 일정 시간 경과 후 인터럽트 버스(IB)의 값을 입력하여 중재를 수행하게 되며, 인터럽트 버스(IB)로부터 입력된 값이 자신이 구동한 값과 동일하면 중재의 승자(winner)가 되어 수신처로 결정된다.
QMR0 유효비트(236)는 QMR0(221)에 대하여, QMR1 유효비트(237)는 QMR1(222)에 대하여, QMR2 유효비트(238)는 QMR2(223)에 대하여, QMR3 유효비트(239)는 QMR3(224)에 대하여 각각 해당 QMR의 내용이 유효함을 각각 나타내고, 이들은 읽혀질 수만 있다.
유보부(reserved)(231A 내지 231C)는 향후의 기능 확장을 위하여 사용되지 않고 유보되어 있는 소정개수의 비트로 구성되어 있다.
QMR충만비트(232), EMR충만비트(233), QMR0 유효비트(236), QMR1 유효비트(237), QMR2 유효비트(238) 및 QMR3 유효비트(239)는 읽혀질 수만 있다.
EMR(210), QMR(220) 및 CSR(230)은, 프로세서(110)로 부터 프로세서 인터페이스 회로(120)를 경유하여 레지스터의 읽기나 쓰기가 요구된다.
멀티프로세서 인터럽트 처리기(130)와 프로세서 인터페이스 회로(120) 사이에 읽기와 쓰기가 수행될 때에, 어드레스 스트로브(address strobe)신호선과, 5비트의 폭을 가진 어드레스 버스(address bus)와, 4비트의 폭을 가진 바이트 인에이블(byte enable) 신호선과, 읽기/쓰기 선택신호선과, 32비트의 폭을 가진 데이터 버스 및 응답(acknowledge) 신호선이 사용된다.
어드레스 버스는 어드레스 신호를 위한 5비트의 폭을 가진 버스인데, 어드레스 신호는 프로세서 인터페이스(120)로부터 상기 인터럽트 처리기(130)로 구동된다.
읽기/쓰기 선택신호선은 읽기인지 쓰기인지 선택하는 선택신호를 위한 신호선이다.
데이터 버스는 데이터의 전송을 위한 32비트의 폭을 가진 버스이다.
응답신호선은 읽기 및 쓰기의 수행이 완료되었음을 알려주기 위하여 멀티프로세서 인터럽트 처리기(130)로 부터 프로세서 인터페이스 회로(120)로 구동되는 응답신호를 위한 신호선이다.
EMR(210)의 5비트 어드레스스는 00100이고 QMR0(221), QMR1(222), QMR2(223) 및 QMR3(224)의 5비트 어드레스는 각각 00110, 00111, 01000 및 01001 이고 CSR(230)의 5비트 어드레스는 01110이다.
바이트 인에이블 신호선은 4개의 각 바이트에 1대1로 대응된다.
즉, 최상위 바이트 인에이블 신호선은 데이터 버스의 최상위 바이트에 대응되고, 두 번째 상위 바이트 인에이블 신호선은 데이터 버스의 두 번 째 상위 바이트에 대응되고, 세 번째 상위 2바이트 인에이블 신호선은 데이터 버스의 세 번째 상위 바이트에 대응되며, 마지막 최하위 바이트 인에이블 신호선은 데이터 버스의 최하위 바이트에 대응된다.
레지스터의 읽기 및 쓰기 수행 후, 멀티프로세서 인터럽트 처리기(130)는 프로세서 인터페이스 회로(120)에게 응답 신호를 구동하여 요구가 완료되었음을 알려 준다.
상기 멀티프로세서 인터럽트 처리기(130)는 다음과 같은 메커니즘으로 동작하는데, 그 상태천이에 대하여 설명한다.
제3도는 멀티프로세서 인터럽트 처리기의 내부 상태 천이도이다.
제3도에서 동그라미는 상태를, 동그라미 안에 쓰여 있는 것은 상태명을 나타내고, 화살표는 상태천이의 방향을 나타내며, 화살표와 함께 쓰여져 있는 것은 상태천이의 조건을 나타내고, 화살표만 있고 아무것도 쓰여 있지 않은 것은 무조건 다음 클럭에서 화살표 방향으로 천이됨을 나타낸다.
상태천이는 클럭의 상승 에지(rising edge)에서 일어난다.
제3도를 참조하면, 초기 상태는 유휴상태(가)이다.
유휴상태(가)에서 인터럽트 버스가 유휴상태이면 제1중재상태(나)로 천이하고, 인터럽트 버스가 사용중이면 유휴상태(가)를 유지하다가 인터럽트 버스가 유휴상태가 되면 제1중재상태(나)로 천이한다.
제1중재상태(나)에서 인터럽트 버스(IB)가 사용 중(interrupt bus busy)이면 제2중재상태(다)로 천이하고, 반대로 인터럽트 버스가 유휴상태이면 제1중재상태(나)를 유지하다가 인터럽트 버스가 사용중이 되면 제2중재상태(다)로 천이한다.
제2중재상태(다), 제3중재상태(라), 제4중재상태(마) 및 제5중재상태(바)에서는 조건없이 다음 상태로 천이한다.
제1중재상태(나), 제2중재상태(다), 제3중재상태(라), 제4중재상태(마) 및 제5중재상태(바)는 송신측에서 인터럽트 버스(IB)의 사용권을 얻는 중재과정에 대응되는 단계이다.
수신상태(사)에서는, 멀티프로세서 인터럽트를 송신하는 측에서 수신처를 명시하면 수신처가 자신인지 아닌지 쉽게 알 수 있지만, 수신처를 명시하지 않은 경우에는 멀티프로세서 인터럽트 처리기(130)들끼리 중재를 수행함으로써 수신처가 자신인지 아닌지 판단하여 인터럽트 버스(IB)를 통하여 메시지를 수신하는데, 메시지의 수신처가 자신이 아니면 유휴상태(가)로 천이하고, 수신처가 자신이면 메시지를 수신하면서 수신상태(사)에 머물다가 메시지 수신이 종료되면 디코딩(decoding)상태(아)로 천이한다.
디코딩상태(아)는 인터럽트 버스를 통하여 수신한 메시지를 디코딩하여 전송상의 오류가 없는지를 조사하고, 송신측으로 보낼 응답 정보를 준비하고, 수신한 메시지를 EMR(210) 또는 QMR(220)에 저장한다.
응답회신상태(자)는 수신된 멀티프로세서 인터럽트에 대하여 오류정보를 포함하는 응답(acknowledge)을 송신측에 인터럽트 버스(IB)를 통하여 회신하고, 무조건 제1중재상태(나)로 천이한다.
멀티프로세서 인터럽트 처리기(130)는 리세트(reset)에 의해서 초기화되어 유휴상태(가)가 된다.
초기 상태(가)에서 멀티프로세서 인터럽트 처리기(130)는 유휴 상태가 되며, CSR(230)의 QMR충만비트(232), EMR충만비트(10), 태스크우선순위부(235), QMR0 유효비트(236), QMR1 유효비트(237), QMR2 유효비트(238) 및 QMR3 유효비트(239) 부분은 모두 0이 되고, 일반 메시지 수신방지 비트(234)는 1이 된다.
이하, 첨부한 도면을 참조하여 바람직한 일 실시예를 상세히 설명 한다.
제4도는 본 발명에 따른 메시지 큐의 제어 방법을 나타낸 흐름도이다.
초기화 수행에 의하여 상기 멀티프로세서 인터럽트 처리기를 초기 상태로 만든다(S1).
현상태가 응답회신 상태(자)인지와 수신 메시지에 전송 오류가 없는지와 상기 수신 메시지가 일반 메시지인지를 판단한다(S2).
상기 단계(S2)에서 현상태가 응답회신 상태이고 상기 수신 메시지에 전송 오류가 없고 상기 수신 메시지가 일반 메시지로 판단되면, 상기 CSR(230)의 QMR0 유효비트(236)가 '1'을 나타내면 다음 단계(S4)로 진행하고,'0'을 나타내면 수신된 메시지를 QMR0(221)에 저장하고 상기 CSR(230)의 상기 QMR0 유효비트(236)를 '1'로 설정하고 상기 단계(S2)로 진행한다(S3).
상기 CSR(230)의 QMR1 유효비트(237)가 '1'을 나타내면 다음 단계(S5)로 진행하고, '0'을 나타내면 QINT가 '1'을 나타내는지와 상기 QMR0(221)의 읽기가 발생하는지를 판단하여, 상기 QMT가 '1'을 나타내고 상기 QMR0(221)의 읽기가 발생하면 상기 수신된 메시지를 상기 QMR0(221)에 저장하고 나서 상기 단계(S2)로 진행하며, 상기 QINT가 '0'을 나타내거나 상기 QMR0(221)의 읽기가 발생하지 않으면 상기 수신된 메시지를 QMR1(222)에 저장하고 상기 CSR(230)의 상기 QMR1 유효비트(237)를 '1'로 설정하고 나서 상기 단계(S2)로 진행한다(S4).
상기 CSR(230)의 QMR2 유효비트(238)가 '1'을 나타내면 다음 단계(S6)로 진행하고, '0'을 나타내면 상기 QINT가 '1'을 나타내는지와 상기 QMR0(221)의 읽기가 발생하는지를 판단하여, 상기 QINT가 '1'을 나타내고 상기 QMR0(221)의 읽기가 발생하면 상기 수신된 메시지를 상기 QMR1(222)에 저장하고 나서 상기 단계(S2)로 진행하며, 상기 QINT가 '0'을 나타내거나 상기 QMR0(221)의 읽기가 발생하지 않으면 상기 수신된 메시지를 QMR2(223)에 저장하고 상기 CSR(230)의 QMR2 유효비트(238)를 '1'로 설정하고 나서 상기 단계(S2)로 진행한다(S5).
상기 QINT가 '1'을 나타내고 상기 QMR0(221)의 읽기가 발생하면 상기 수신된 메시지를 상기 QMR2(223)에 저장하고 나서 상기 단계(S2)로 진행하며, 상기 QMT가 '0'을 나타내거나 상기 QMR0(221)의 읽기가 발생하지 않으면 상기 수신된 메시지를 QMR3(224)에 저장하고 상기 CSR(230)의 QMR3 유효비트(239)를 '1'로 설정하고 상기 CSR(230)의 일반 메시지 큐 충만비트를 '1'로 설정하고 나서 상기 단계(S2)로 진행한다(S6).
상기 단계(S2)에서 현상태가 응답회신 상태가 아니거나 상기 수신 메시지에 전송 오류가 있거나 상기 수신 메시지가 긴급 메시지로 판단되면, QINT가 '1'이고 QMR0(221) 읽기가 발생하면 다음 단계(S8)로 진행하고, 상기 QINT가 '1'이 아니거나 상기 QMR0(221) 읽기가 발생하지 않으면 상기 단계(S2)로 진행한다(S7).
상기 CSR(230)의 QMR1 유효비트(237)가 '1'이면 다음 단계(S9)로 진행하고, '0'이면 상기 CSR(230)의 QMR0 유효비트(236)를 '0'으로 설정하고 나서 상기 단계(S2)로 진행한다(S8).
상기 CSR(230)의 QMR2 유효비트(238)가 '1'이면 다음 단계(S10)로 진행하고, '0'이면 QMR1(222)의 내용을 상기 QMR0(221)으로 옮기고 상기 CSR(230)의 상기 QMR1 유효비트(237)를 '0'으로 설정하고 나서 상기 단계(S2)로 진행한다(S9).
상기 CSR(230)의 QMR3 유효비트(239)가 '0'이면 상기 QMR1(222)의 내용을 상기 QMR0(221)으로 옮기고 QMR2(223)의 내용을 상기 QMR1(222)로 옳기고 상기 CSR(230)의 상기 QMR2 유효비트(238)를 '0'으로 설정하고 나서 상기 단계(S2)로 진행하며, 상기 CSR(230)의 QMR2 유효비트(238)가 '1'이면 상기 QMR1(222)의 내용을 상기 QMR0(221)으로 옮기고 상기 QMR2(223)의 내용을 상기 QMR1(222)로 옮기고 QMR3(223)의 내용을 상기 QMR2(223)로 옮기고 상기 CSR(230)의 상기 QMR3 유효비트(239)를 '0'으로 설정하고 상기 CSR(230)의 일반 메시지 큐 충만비트를 '0'으로 설정하고 나서 상기 단계(S2)로 진행한다(S10).
본 발명의 효과는 인터럽트를 2종류로 나누어 처리함으로써 보다 경제적으로 멀티프로세서 시스템을 운영하여 시스템의 속도를 종래보다 크게 증가시킨다는 데에 있다.

Claims (3)

  1. 긴급 메시지 저장수단과 소정 개수의 일반 메시지 저장수단들과 제어상태 저장수단을 포함한 멀티프로세서 인터럽트 처리기를 제어하기 위한 인터럽트 수신용 메시지 큐의 제어방법에 있어서, 상기 멀티프로세서 인터럽트 처리기가 초기화되는 제1과정; 현상태가 응답회신 상태인지와 수신 메시지에 전송 오류가 없는지와 상기 수신 메시지가 일반 메시지인지를 판단하는 제2과정; 상기 제2과정에서 현상태가 응답회신 상태이고 상기 수신 메시지에 전송 오류가 없고 상기 수신 메시지가 일반 메시지로 판단되면, 상기 일반 메시지 저장수단에 상기 수신 메시지를 저장하는 제3과정; 상기 제2과정에서 현상태가 응답회신 상태가 아니거나 상기 수신 메시지에 전송 오류가 있거나 상기 수신 메시지가 긴급 메시지로 판단되면, 상기 제어상태 저장수단의 일부 비트들을 '비유효'를 나타내도록 설정하는 제4과정; 및 상기 제3과정 또는 제4과정 수행 후, 상기 제2과정으로 진행하는 제5과정을 포함하는 것을 특징으로 하는 인터럽트 수신용 메시지 큐의 제어방법.
  2. 제1항에 있어서, 상기 제3과정이, 제1일반 메시지 저장수단이 유효 여부를 나타내는 상기 제어상태 저장수단의 제1비트가 '유효'를 나타내는지 '비유효'를 나타내는지 판단하는 제1단계; 상기 제1단계에서 제1비트가 '비유효'를 나타낸다고 판단되면, 상기 수신된 메시지를 제1일반 메시지 저장수단에 저장하는 제2단계; 상기 제어상태 저장수단의 상기 제1비트를 '유효'를 나타내도록 설정하는 제3단계; 상기 제1단계에서 제1비트가 '유효'를 나타낸다고 판단되면, 제2일반 메시지 저장수단이 유효 여부를 나타내는 상기 상태 저장수단의 제2비트가 '유효'를 나타내는지 '비유효'를 나타내는지 판단하는 제4단계; 상기 제4단계에서 제2비트가 '비유효'를 나타낸다고 판단되면, 일반 인터럽트 신호가 구동되어 있는지와 상기 제1일반 메시지 저장수단의 읽기가 발생하는지를 판단하는 제5단계; 상기 제5단계에서 상기 일반 인터럽트 신호가 구동되었고 상기 제1일반 메시지 저장수단의 읽기가 발생하였다고 판단되면, 상기 수신된 메시지를 상기 제1일반 메시지 저장수단에 저장하는 제6단계; 상기 제5단계에서 상기 일반 인터럽트 신호가 철회되었거나 상기 제1일반 메시지 저장수단의 읽기가 발생하지 않았다고 판단되면, 상기 수신된 메시지를 제2일반 메시지 저장수단에 저장하는 제7단계; 상기 제어상태 저장수단 내의 상기 제2비트를 '유효'를 나타내도록 설정하는 제8단계; 상기 제4단계에서 상기 제2비트가 '유효'를 나타낸다고 판단되면, 제3일반 메시지 저장수단이 유효 여부를 나타내는 상기 제어상태 저장수단 내의 제3비트가 '유효'를 나타내는지 '비유효'를 나타내는지 판단하는 제9단계; 상기 제9단계에서 상기 제어상태 저장수단의 제3비트가 '비유효'를 나타낸다고 판단되면, 상기 일반 인터럽트 신호가 구동되어 있는지와 상기 제1일반 메시지 저장수단의 읽기가 발생하였는지를 판단하는 제10단계; 상기 제10단계에서 상기 일반 인터럽트 신호가 구동되어 있고 상기 제1일반 메시지 저장수단의 읽기가 발생하였다고 판단되면, 상기 수신된 메시지를 상기 제2일반 메시지 저장 수단에 저장하는 제11단계; 상기 제10단계에서 상기 일반 인터럽트 신호가 철회되었거나 상기 제1일반 메시지 저장수단의 읽기가 발생하지 않았다고 판단되면, 상기 수신된 메시지를 제3일반 메시지 저장 수단에 저장하는 제12단계; 상기 제어상태 저장수단의 제3비트를 '유효'를 나타내도록 설정하는 제13단계; 상기 제9단계에서 상기 제어상태 저장수단의 제3비트가 '유효'를 나타낸다고 판단되면, 상기 일반 인터럽트 신호가 구동되어 있는지와 상기 제1일반메시지저장수단의 읽기가 발생하였는지를 판단하는 제14단계; 상기 제14단계에서 상기 일반 인터럽트 신호가 어서트되어 있고 상기 제1일반 메시지 저장수단의 읽기가 발생하였다고 판단되면, 상기 수신된 메시지를 상기 제3일반 메시지 저장수단에 저장하는 제15단계; 상기 제14단계에서 상기 일반 인터럽트 신호가 철회되었거나 상기 제1일반 메시지 저장수단의 읽기가 발생하지 않았다고 판단되면, 상기 수신된 메시지를 제4일반 메시지 저장수단에 저장하는 제16단계; 상기 제어상태 저장수단의 제4비트를 '유효'를 나타내도록 설정하는 제17단계; 및 일반 메시지 저장수단의 충만 여부를 나타내는 상기 제어상태 저장수단의 제5비트를 '충만'을 나타내도록 설정하는 제18단계로 이루어지는 것을 특징으로 하는 인터럽트 수신용 메시지 큐의 제어방법.
  3. 제1항에 있어서, 상기 제4과정이, 일반 인터럽트 신호가 구동되어 있는지와 제1일반 메시지 저장수단의 읽기가 발생하였는지를 판단하는 제1단계; 상기 제1단계에서 상기 일반 인터럽트 신호가 구동되어 있고 상기 제1일반 메시지 저장수단의 읽기가 발생하였다고 판단되면, 제2일반 메시지 저장수단의 유효 여부를 나타내는 상기 제어상태 저장수단의 제2비트가 '유효'를 나타내는지 '비유효'를 나타내는지 판단하는 제2단계; 상기 제2단계에서 상기 제2비트가 '비유효'를 나타낸다고 판단되면, 제1일반 메시지 저장수단의 유효 여부를 나타내는 상기 제어상태 저장수단의 제1비트를 '비유효'를 나타내도록 설정하는 제3단계; 상기 제2단계에서 상기 제2비트가 '유효'라고 판단되면, 제3일반 메시지 저장수단의 유효 여부를 나타내는 상기 제어상태 저장수단의 제3비트가 '유효'를 나타내는지 '비유효'를 나타내는지 판단하는 제4단계; 상기 제4단계에서 상기 제3비트가 '비유효'를 나타낸다고 판단되면, 상기 제2일반 메시지 저장수단에 저장된 일반 메시지를 상기 제1일반 메시지 저장수단에 저장하는 제5단계; 상기 제2일반 메시지 저장수단의 유효 여부를 나타내는 상기 제어상태 저장수단의 제2비트를 '비유효'를 나타내도록 설정하는 제6단계; 상기 제4단계에서 상기 제3비트가 '유효'를 나타낸다고 판단되면, 제4일반 메시지 저장수단의 유효 여부를 나타내는 상기 제어상태 저장수단의 제3비트가 '유효'를 나타내는지 '비유효'를 나타내는지 판단하는 제7단계; 상기 제7단계에서 상기 제4비트가 '비유효'를 나타낸다고 판단되면, 상기 제2일반 메시지 저장수단에 저장된 일반 메시지를 상기 제1일반 메시지 저장수단에 저장하는 제8단계; 상기 제3일반 메시지 저장수단에 저장된 일반 메시지를 상기 제2일반 메시지 저장수단에 저장하는 제9단계; 상기 제3일반 메시지 저장수단의 유효 여부를 나타내는 상기 제어상태 저장수단의 제3비트를 '비유효'를 나타내도록 설정하는 제10단계; 상기 제7단계에서 상기 제4비트가 '유효'를 나타낸다고 판단되면, 상기 제2일반 메시지 저장수단에 저장된 일반 메시지를 상기 제1일반 메시지 저장수단에 저장하는 제11단계; 상기 제3일반 메시지 저장수단에 저장된 일반 메시지를 상기 제2일반 메시지 저장수단에 저장하는 제12단계; 상기 제4일반 메시지 저장수단에 저장된 일반 메시지를 상기 제3일반 메시지 저장수단에 저장하는 제13단계; 상기 제3일반 메시지 저장수단의 유효 여부를 나타내는 상기 상태저장수단의 제4비트를 '비유효'를 나타내도록 설정하는 제14단계; 및 상기 일반 메시지 저장수단의 충만 여부를 나타내는 상기 제어상태 저장수단의 제5비트를 '충만'을 나타내도록 설정하는 제15단계로 이루어지는 것을 특징으로 하는 인터럽트 수신용 메시지 큐의 제어방법.
KR1019950024213A 1995-08-05 1995-08-05 인터럽트 수신용 메시지 큐의 제어방법 KR0170507B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950024213A KR0170507B1 (ko) 1995-08-05 1995-08-05 인터럽트 수신용 메시지 큐의 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950024213A KR0170507B1 (ko) 1995-08-05 1995-08-05 인터럽트 수신용 메시지 큐의 제어방법

Publications (2)

Publication Number Publication Date
KR970012142A KR970012142A (ko) 1997-03-29
KR0170507B1 true KR0170507B1 (ko) 1999-03-30

Family

ID=19422951

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950024213A KR0170507B1 (ko) 1995-08-05 1995-08-05 인터럽트 수신용 메시지 큐의 제어방법

Country Status (1)

Country Link
KR (1) KR0170507B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101166842B (zh) 2005-06-28 2012-07-04 坂仓康郎 氧活化材料、燃烧效率改良材料、植物生长促进材料、嗜氧微生物活化材料、动物生长促进及活化材料、肌肉软化材料、除锈及防锈材料以及氧气活化的方法

Also Published As

Publication number Publication date
KR970012142A (ko) 1997-03-29

Similar Documents

Publication Publication Date Title
US7277449B2 (en) On chip network
US7058735B2 (en) Method and apparatus for local and distributed data memory access (“DMA”) control
US5608869A (en) Method and apparatus for reliable descriptor chaining in a media access control/host system interface unit
US6996651B2 (en) On chip network with memory device address decoding
JP5026660B2 (ja) 直接メモリアクセス(dma)転送バッファプロセッサ
US6912610B2 (en) Hardware assisted firmware task scheduling and management
US7139860B2 (en) On chip network with independent logical and physical layers
US7200137B2 (en) On chip network that maximizes interconnect utilization between processing elements
US7051150B2 (en) Scalable on chip network
US5182800A (en) Direct memory access controller with adaptive pipelining and bus control features
US5459840A (en) Input/output bus architecture with parallel arbitration
EP0139563B1 (en) Control mechanism for multiprocessor system
EP0036185B1 (en) Information processing system incorporating 1-chip arithmetic control unit of very large scale integrated semiconductor element
US20050097240A1 (en) Supercharge message exchanger
US6715055B1 (en) Apparatus and method for allocating buffer space
US6539448B1 (en) Priority first come first serve interrupt controller
GB2204974A (en) Programmable i/o sequencer for use in an i/o processor
EP0138676B1 (en) Retry mechanism for releasing control of a communications path in a digital computer system
US7143226B2 (en) Method and apparatus for multiplexing commands in a symmetric multiprocessing system interchip link
JP2004531830A (ja) キャッシュメモリバーストサイクル中にバスアービトレーションを制御するためのシステム及び方法
US6263393B1 (en) Bus switch for realizing bus transactions across two or more buses
EP0840223B1 (en) Microcomputer capable of accessing an external memory
KR0170507B1 (ko) 인터럽트 수신용 메시지 큐의 제어방법
US7210027B2 (en) Processor transferring multiple working register windows transfers global registers only for select exception handling
CN109426562B (zh) 优先级加权轮转调度器

Legal Events

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

Payment date: 20031001

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee