KR100376056B1 - 멀티 프로세서 인터럽트 처리장치 - Google Patents

멀티 프로세서 인터럽트 처리장치 Download PDF

Info

Publication number
KR100376056B1
KR100376056B1 KR1019950067174A KR19950067174A KR100376056B1 KR 100376056 B1 KR100376056 B1 KR 100376056B1 KR 1019950067174 A KR1019950067174 A KR 1019950067174A KR 19950067174 A KR19950067174 A KR 19950067174A KR 100376056 B1 KR100376056 B1 KR 100376056B1
Authority
KR
South Korea
Prior art keywords
interrupt
processor
signal
int
logic
Prior art date
Application number
KR1019950067174A
Other languages
English (en)
Other versions
KR970049516A (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 KR1019950067174A priority Critical patent/KR100376056B1/ko
Publication of KR970049516A publication Critical patent/KR970049516A/ko
Application granted granted Critical
Publication of KR100376056B1 publication Critical patent/KR100376056B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Landscapes

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

Abstract

본 발명은 멀티프로세서 인터럽트 처리장치에 관한 것으로, 멀티프로세서 환경시스템에서 다양한 인터럽트 소스를 신속하게 처리하고자 하는 멀티프로세서 인터럽트 처리장치에 관한 것이다.
이와 같이 본 발명의 목적을 달성하기 위한 장치는 외부 하드웨어 인터럽트를 입력으로 받아 처리하는 시스템 인터럽트 로직부(1)와, 각 프로세서에 대해 인터럽트를 제어하고 프로세서의 처리 결과를 기억하는 프로세서 인터럽트 로직부(2)와, 상기 시스템 인터럽트 로직부(1)와, 프로세서 인터럽트 로직부(2)에서 제어된 신호에 따라 데이타를 처리하는 멀티플렉서(3)로 구성된다.

Description

멀티 프로세서 인터럽트 처리장치
본 발명은 멀티 프로세서의 인터럽트 처리에 관한 것으로 특히 멀티프로세서 환경 시스템에서 다양한 인터럽트 소스를 신속하게 처리하고자 하는 멀티프로세서인터럽트 처리장치에 관한 것이다.
일반적으로, 멀티 프로세서 환경 시스템에서는 각종 인터럽트를 처리하는 것도 중요하지만 시스템 성능에 영향을 미치지 않고 적절한 업무 스케줄링으로 다수개의 프로세서에 균등하게 업무를 분담하여 처리하는 것이 중요하다.
다수개의 인터럽트 소스는 동일한 레벨로 인터럽트를 걸수도 있지만, 하드웨어적으로 전기적 신호를 요구하여 서비스를 인터럽트 콘트롤러를 통해 레벨 소스를 확인하고 레벨이 결정하는 간접적인 요구(Indirected interrupt)도 있지만, 소프트 웨어적으로 소스및 레벨을 미리 정해 놓고 요구하는 직접적인 인터럽트(Directed interrupt)방법도 있다.
또한 치명적인 에러 발생으로 시스템의 리셋 조건이 발생할때 모든 프로세서에게 보고하는 브로드캐스트(Broadcast) 인터럽트 방법도 있다.
현재 프로세서가 인터럽트 처리중이면 다음에 요구하는 인터럽트는 대기상태(wait)로 하여 이전 서비스가 종료되기를 기다려야 하고, 만일 종료되면 이전것은 클리어 시켜 다음 요구에 서비스를 받을 준비가 되어 있어야한다.
그러나 이와같은 종래의 멀티 프로세서의 인터럽트 시스템은 프로세서가 여러개인 시스템 환경하에서 다양한 인터럽트 소스에 대해 신속한 서비스 처리가 어렵고, 프로세서별 업무 균등화가 이루어지지 않아 시스템 성능 저하 요인이 되었다.
따라서 본 발명의 목적은 멀티 프로세서 환경 시스템에서 다양한 인터럽트 소스를 신속하게 처리하고, 시스템 성능에 영향을 미치지 않고 적절한 업무 스케줄링으로 다수개의 프로세서에 균등히 업무를 분담하여 처리하는 멀티프로세서 인터럽트 처리장치를 제공하는 것이다.
이와 같은 목적을 달성하기 위한 방법는 외부 하드웨어 인터럽트를 입력으로 받아 처리하는 시스템 인터럽트 로직부와, 각 프로세서에 대해 인터럽트를 제어하고 프로세서의 처리 결과를 기억하는 프로세서 인터럽트 로직부와, 상기 시스템 인터럽트 로직부와, 프로세서 인터럽트 로직부에서 제어된 신호에 따라 데이타를 처리하는 멀티플렉서로 구성된 것이다.
제 1도는 본 발명의 블럭구성도로서, 이에 도시한 바와 같이 외부 하드웨어 인터럽트를 입력으로 받아 처리하는 시스템 인터럽트 로직부(1)와, 각 프로세서에 대해 인터럽트를 제어하고 프로세서의 처리 결과를 기억하는 프로세서 인터럽트 로직부(2)와, 상기 프로세서 인터럽트 로직부(2)에서 제어된 신호에 따라 데이타를 처리하는 제 1 멀티플렉서(3)로 구성된다.
또한 상기 시스템 인터럽트 로직부(1)는 제 2 도에 도시한 바와 같이 외부의 인터럽트 요구에 대해 AD(31:0)를 통해 들어온 어드레스로 부터 인터럽트 요구 장치가 무엇인지 소스(source)를 기억해두고 또한 어느 프로세서로 부터 인터럽트 서비스를 받을 것인지 타겟(target) 프로세서를 TRGTREG(1:0)을 통해 출력하는 시스템 인터럽트 타겟 레지스터부(1A)와, 인터럽트 로직이 구동중인 동안 외부 인터럽트를 막기위해 SETMSK 신호를 통해 마스킹(masking)하고 현재 진행중인 인터럽트가 종료되면 CLRMSK 신호를 통해 이전에 마스크(mask)된 것을 클리어(clear)시키는 시스템 인터럽트 마스크 레지스터(1B)와, 상기 시스템 인터럽트 타겟 레지스터부(1A)에서 출력된 신호와, 상기 시스템 인터럽트 마스크 레지스터(1B)에서 출력된 신호와 INT-Px-ACC 신호와, 인터럽트 소스(source)는 정해진 인터럽트 레벨에 따라 SYS-INT(25:0) 까지 요구하고, 간접적으로 요구된 장치에 대해 레벨을 인코딩하여 Px-UNDIR-IRL(3:0)에 실어보내는 동시에 동시에 서비스할 프로세서는 상기 시스템 인터럽트 타겟 레지스터부에서 출력된 TRGTREG(1:0)를 통해 서비스할 프로세서를 결정하는 시스템 인터럽트 팬딩 모듈(1C)과, MUX-SEL(1:0)신호와 INT-Px-ACC(1:0) 신호와 상기 시스템 인터럽트 마스크 레지스터(1B)에서 출력된 신호와 시스템 인터럽트(25:0)신호를 입력받아 SYS-DOUT(31:0)을 출력하는 제 2 멀티플렉서(1D)로 구성된다.
또한 상기 프로세서 인터럽트 로직부(2)는 제 3 도에 도시한 바와 같이 Px-UNDIR-IRL(3:0)신호와 클럭 신호를 입력받아서 하드웨어적으로 걸려온 인터럽트는 상기 시스템 인터럽트 로직부(1)에서 확인되어 해당 프로세서에 프로세서 인터럽트(3:0) 신호로 인터럽트 서비스 레벨을 결정하는 프로세서 엔코더부(200)와, AD(31:0), LVL15-INT, CLOCK, Px-SET, Px-CLR,등의 입력신호를 입력받아 인터럽트를 실행할 해당 프로세서로 Px-SET-INT(15:1)를 통보하고, 브로드캐스트 인터럽트 LEVEL 15를 Px-LVL15-INT 신호를 통하여 통보하는 프로세서 소프트 인터럽트 모듈 Px-UNDIR-IRL(3:0)신호와 클럭 신호를 입력받아서 하드웨어적으로 걸려온 인터럽트는 상기 시스템 인터럽트 로직부(1)에서 확인되어 해당 프로세서로 프로세서 인터럽트(3:0)신호로 인터럽트 서비스 레벨을 결정하는 프로세서 엔코더부와, AD(31:0),
LVL15-INT, CLOCK, Px-SET, Px-CLR, 등의 입력신호를 입력받아 인터럽트를 실행할 해당 프로세서로 Px-SET-INT(15:1)를 통보하고, 브로드캐스트 인터럽트 LEVEL 15를 Px-LVL15-INT 신호를 통하여 통보하는 프로세서 소프트 인터럽트 모듈(201)로 구성된다.
이와 같이 구성된 본 발명의 작용 및 효과를 설명하면 다음과 같다. 시스템 인터럽트 로직부(1)는 외부의 인터럽트 요구에 대해 AD(31:0)를 통해 들어온 어드레스로 부터 인터럽트 요구 장치가 무엇인지 소스(source)를 기억해두고 또한 어느 프로세서로 부터 인터럽트 서비스를 받을 것인지 타겟(target) 프로세서 TRGREG(1:0)을 통해 출력하는 시스템 인터럽트 타겟 레지스터부(1A)와, 인터럽트 모듈이 구동중인 동안 외부 인터럽트를 막기위해 SETMSK 신호를 통해 마스킹(masking)하고 현재 진행중인 인터럽트가 종로되면 CLRMSK 신호를 통해 이전에 마스크(mask)된 것을 클리어(clear)시키는 시스템 인터럽트 마스크 레지스터와, 상기 시스템 인터럽트 타겟 레지스터부(1A)에서 출력된 신호와 상기 시스템 인터럽트 마스크 레지스터에서 출력된 신호와 INT-Px-ACC 신호와 인터럽트 소스(source)는 정해진 인터럽트 레벨에 따라 SYS-INT(25:0) 까지 요구할수 있으며, 간접적으로 요구된 장치에 대해 레벨을 인코딩하여 Px-UNDIR-IRL(3:0)에 실어보내고 이때 서비스할 프로세서는 상기 시스템 인터럽트 타겟 레지스터(1A)부에서 출력된 TRGTREG(1:0)를 통해 서비스할 프로세서를 결정하는 시스템 인터럽트 팬딩 모듈과, MUX-SEL(1:0)신호와 INT-Px-ACC(1:0) 신호와 상기 시스템 인터럽트 마스크 레지스터에서 출력된 신호와 시스템 인터럽트(25:0)신호를 입력받아 SYS-DOUT(31:0)을 출력하는 멀티플렉서(3)로 구성되어 있고 치명적인 에러 발생으로 시스템 리셋 조건이 발생하면 인터럽트 레벨을 인코딩없이 넌 마스커블 인터럽트 LVL-15로 모든 프로세서에게 알릴수 있도록 하고 앞서 요구한 인터럽트에 대해 아직 서비스 중이라면 서비스가 종료 될때 까지 팬딩 시켜두는 기능을 가진다.
프로세서 인터럽트 로직(2)은 각 프로세서 마다 1개씩 두어 제 1 도의 시스템 인터럽트 로직(1)에서 타겟 프로세서가 결정되면 각 프로세서에 해당하는 프로세서 인터럽트 로직(2)부가 동작을 개시한다. 인터럽트 소스는 인터럽트를 하드웨어적으로 걸수도 있고 소프트 웨어적으로도 걸수있다. 하드웨어적으로 걸려온 인터럽트는 Px-UNDIR(3:0)로 제1 도의 시스템 인터럽트 로직(1)부에서 확인 되어 프르세서 엔코더부로 들어와 최종적으로 클락에 동기되어 해당 프로세서 Px-IRL(3:0) 신호로 인터럽트 서비스 레벨이 결정되어진다. 소프트 인터럽트는 AD(31:0)신호로 요구되면 프로세서 소프트 인터럽트 모듈에 레치되어 이의 결과 Px-SET-INT(15:1)까지 15개의 레벨로 해당 프로세서로 통보된다. 브로드 캐스트 인터럽트인 레벨 15 인터럽트 역시 프로세서 소프트 인터럽트 모듈에 기억되고 소프트 인터럽트와 유사하게 Py-LVL-INY로 전달된다.
본 이상에서 상세히 설명한 바와같이 본 발명은 프로세서가 여러개인 시스템 환경하에서 다양한 인터럽트 소스에 대해 신속한 서비스 처리는 물론 프로세서 신속한 서비스 처리는 물론 프로세서별 업무 균등화를 시켜 시스템 성능 저하 요인 없이 효율적인 서비스가 가능한 효과가 있다.
제 1 도는 본 발명의 블럭 구성도
제 2 도는 본 발명의 시스템 인터럽트 로직의 상세 블럭구성도
제 3 도는 본 발명의 프로세서 인터럽트 로직의 상세 블럭구성도
*** 도면의 주요 부분에 대한 부호의 설명 ***
1: 시스템 인터럽트 로직부 2: 프로세서 인터럽트 로직부
3: 멀티 플렉서
1A: 시스템 인터럽트 타겟 레지스터
1B: 시스템 인터럽트 마스크 레지스터
1C: 시스템 인터럽트 팬딩 모듈
2A,2B,2C,2D: 제 1 내지 제 4 인터럽트 프로세서 로직
200 : 프로세서 엔코디 201: 프로세서 소프트 인터럽트 모듈

Claims (3)

  1. 외부 하드웨어 인터럽트를 입력으로 받아 처리하는 시스템 인터럽트 로직부와,
    각 프로세서에 대해 인터럽트를 제어하고 프로세서의 처리 결과를 기억하는 프로세서 인터럽트 로직부와,
    상기 프로세서 인터럽트 로직부에서 제어된 신호에 따라 데이타를 처리하는 멀티플렉서로 구성된 것을 특징으로 하는 멀티프로세서 인터립트 처리장치.
  2. 제 1항에 있어서,
    상기 시스템 인터럽트 로직부는 외부의 인터럽트 요구에 대해 AD(31:0)를 통해 들어온 어드레스로 부터 인터럽트 요구 장치가 무엇인지 소스(source)를 기억해두고 또한 어느 프로세서로 부터 인터럽트 서비스를 받을 것인지 타겟(target) 프로세서를 TRGREG(1:0)을 통해 출력하는 시스템 인터럽트 타겟 레지스터부와,
    인터럽트 로직이 구동중인 동안 외부 인터럽트를 막기위해 SETMSK 신호를 통해 마스킹(masking)하고 현재 진행중인 인터럽트가 종료되면 CLRMSK 신호를 통해 이전에 마스크(mask)된 것을 클리어(clear)시키는 시스템 인터립트 마스크 레지스터와,
    상기 시스템 인터럽트 타겟 레지스터두에서 출력된 신호와 상기 시스템 인터럽트 마스크 레지스터에서 출력된 신호와 INT-Px-ACC 신호와 인터럽트소스(source)는 정해진 인터럽트 레벨에 따라 SYS-INT(25:0) 까지 요구하고, 간접적으로 요구된 장치에 대해 레벨을 인코딩하여 Px-UNDIR-IRL(3:0)에 실어보내는 동시에 서비스할 프로세서는 상기 시스템 인터럽트 타겟 레지스터부에서 출력된 TRGREG(1:0)를 통해 서비스할 프로세서를 결정하는 시스템 인터럽트 팬딩 모듈과,
    MUX-SEL(1:0)신호와 INT-Px-ACC(1:0) 신호와 상기 시스템 인터럽트 마스크 레지스터에서 출력된 신호와 시스템 인터럽트(25:0)신호를 입력받아 SYS-DOUT(31:0)을 출력하는 멀티플렉서로 구성된 것을 특징으로 하는 멀티프로세서 인터럽트 처리장치.
  3. 제 1항에 있어서,
    상기 프로세서 인터럽트 로직부는 Px-UNDIR-IRL(3:0)신호와 클럭 신호를 입력받아서 하드웨어적으로 걸려온 인터럽트는 상기 시스템 인터럽트 로직부에서 확인되어 해당 프로세서에 프로세서 인터럽트(3:0)신호로 인터럽트 서비스 레벨을 결정하는 프로세서 엔코더부와,
    AD(31:0), LVL15-INT, CLOCK, Px-SET, Px-CLR, 등의 입력신호를 입력받아 인터럽트를 실행할 해당 프로세서로 Px-SET-INT(15:1)를 통보하고, 브로드캐스트 인터럽트를 Px-LVL15-INT 신호를 통하여 통보하는 프로세서 소프트 인터럽트 모듈로 구성된 것을 특징으로 하는 멀티프로세서 인터럽트 처리장치.
KR1019950067174A 1995-12-29 1995-12-29 멀티 프로세서 인터럽트 처리장치 KR100376056B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950067174A KR100376056B1 (ko) 1995-12-29 1995-12-29 멀티 프로세서 인터럽트 처리장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950067174A KR100376056B1 (ko) 1995-12-29 1995-12-29 멀티 프로세서 인터럽트 처리장치

Publications (2)

Publication Number Publication Date
KR970049516A KR970049516A (ko) 1997-07-29
KR100376056B1 true KR100376056B1 (ko) 2003-07-22

Family

ID=37416931

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950067174A KR100376056B1 (ko) 1995-12-29 1995-12-29 멀티 프로세서 인터럽트 처리장치

Country Status (1)

Country Link
KR (1) KR100376056B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101248170B1 (ko) 2004-03-31 2013-03-27 후지쯔 세미컨덕터 가부시키가이샤 멀티코어 아키텍처 내의 리소스 관리
US8533716B2 (en) 2004-03-31 2013-09-10 Synopsys, Inc. Resource management in a multicore architecture

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100456630B1 (ko) * 2001-12-11 2004-11-10 한국전자통신연구원 프로세서간 통신을 위한 인터럽트 중계 장치 및 방법
KR20170020685A (ko) 2015-08-14 2017-02-23 ㈜리커시브소프트 신호 정보를 반영한 최적 경로 안내 시스템

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4839800A (en) * 1986-08-29 1989-06-13 Bull Hn Information Systems Inc. Data processing system with a fast interrupt
KR910017297A (ko) * 1990-03-09 1991-11-05 삼성전자 주식회사 마이크로 프로세서의 인터럽트 구현회로
JPH076143A (ja) * 1993-06-18 1995-01-10 Toshiba Corp タスク起動要求伝達装置
EP0675434A2 (en) * 1994-03-31 1995-10-04 International Business Machines Corporation Processing system and method of operation
JPH07281946A (ja) * 1993-11-01 1995-10-27 Ericsson Inc データメモリへのアクセスを制御するための装置
KR970002671A (ko) * 1995-06-15 1997-01-28 구자홍 모듈로 카운터를 이용한 인터럽트신호 인터페이스 장치

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4839800A (en) * 1986-08-29 1989-06-13 Bull Hn Information Systems Inc. Data processing system with a fast interrupt
KR910017297A (ko) * 1990-03-09 1991-11-05 삼성전자 주식회사 마이크로 프로세서의 인터럽트 구현회로
JPH076143A (ja) * 1993-06-18 1995-01-10 Toshiba Corp タスク起動要求伝達装置
JPH07281946A (ja) * 1993-11-01 1995-10-27 Ericsson Inc データメモリへのアクセスを制御するための装置
EP0675434A2 (en) * 1994-03-31 1995-10-04 International Business Machines Corporation Processing system and method of operation
KR970002671A (ko) * 1995-06-15 1997-01-28 구자홍 모듈로 카운터를 이용한 인터럽트신호 인터페이스 장치

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101248170B1 (ko) 2004-03-31 2013-03-27 후지쯔 세미컨덕터 가부시키가이샤 멀티코어 아키텍처 내의 리소스 관리
US8533716B2 (en) 2004-03-31 2013-09-10 Synopsys, Inc. Resource management in a multicore architecture
US9779042B2 (en) 2004-03-31 2017-10-03 Synopsys, Inc. Resource management in a multicore architecture
US10268609B2 (en) 2004-03-31 2019-04-23 Synopsys, Inc. Resource management in a multicore architecture

Also Published As

Publication number Publication date
KR970049516A (ko) 1997-07-29

Similar Documents

Publication Publication Date Title
US5905898A (en) Apparatus and method for storing interrupt source information in an interrupt controller based upon interrupt priority
KR100291301B1 (ko) 신호 데이터 처리 시스템 및 방법과 신호 데이터 처리 시스템을 구비한 통신 시스템
GB1357576A (en) Digital data processing systems
US8386684B2 (en) Data processing system and method of interrupt handling
RU2134446C1 (ru) Способ управления перегрузкой сообщениями элементарной программы в мультипроцессорной управляющей системе (варианты)
DE69531270D1 (de) Unterbrechungssteuerungsgeräte in symmetrischen Mehrprozessorsystemen
KR100376056B1 (ko) 멀티 프로세서 인터럽트 처리장치
US5850558A (en) System and method for referencing interrupt request information in a programmable interrupt controller
JPH10149293A (ja) 割込みを処理するための方法および装置
JPS6131904B2 (ko)
KR100411113B1 (ko) 멀티 스레드 처리방법
JPH0496167A (ja) マルチプロセッサシステムの割込み方式
JPS55103656A (en) Information processing system
SU1674125A2 (ru) Устройство дл распределени заданий процессорам
JPS6010383A (ja) マルチプロセツサシステムにおける負荷分散制御方式
JPH07168723A (ja) コンピュータシステムの外部イベント検出方式
JP2582414B2 (ja) 割込み処理装置
KR100401613B1 (ko) 범용 운영체제의 실시간 처리방법
Tulpule et al. Event driven executive
KR200326854Y1 (ko) 프로세서간의인터럽트처리장치
JPS61136115A (ja) マイクロコンピユ−タシステムの基本クロツク発生回路
SU1180892A2 (ru) Многоканальное устройство дл обслуживани запросов со сменными кодами приоритетов
JPH06175867A (ja) 割込制御装置
JPH09218792A (ja) 割り込み通知回路
JPH0644178A (ja) 割込み制御装置

Legal Events

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

Payment date: 20130111

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20131217

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20150105

Year of fee payment: 13

EXPY Expiration of term