KR940001878B1 - 멀티 프로세서시스템 및 인터럽션 제어장치 - Google Patents

멀티 프로세서시스템 및 인터럽션 제어장치 Download PDF

Info

Publication number
KR940001878B1
KR940001878B1 KR1019910003591A KR910003591A KR940001878B1 KR 940001878 B1 KR940001878 B1 KR 940001878B1 KR 1019910003591 A KR1019910003591 A KR 1019910003591A KR 910003591 A KR910003591 A KR 910003591A KR 940001878 B1 KR940001878 B1 KR 940001878B1
Authority
KR
South Korea
Prior art keywords
interruption
request
register
interruption request
bit
Prior art date
Application number
KR1019910003591A
Other languages
English (en)
Other versions
KR910017305A (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
Priority claimed from JP5742490A external-priority patent/JP2831083B2/ja
Priority claimed from JP2070866A external-priority patent/JP2801943B2/ja
Application filed by 가부시끼가이샤 히다찌세이사꾸쇼, 미다 가쓰시게 filed Critical 가부시끼가이샤 히다찌세이사꾸쇼
Publication of KR910017305A publication Critical patent/KR910017305A/ko
Application granted granted Critical
Publication of KR940001878B1 publication Critical patent/KR940001878B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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 Hardware Design (AREA)
  • Software Systems (AREA)
  • Bus Control (AREA)

Abstract

내용 없음.

Description

멀티 프로세서시스템 및 인터럽션 제어장치
제1도는 본 발명의 멀티프로세서시스템에 접속된 인터럽션제어장치를 개략적으로 도시한 도면.
제2도는 본 발명의 인터럽션제어장치에 포함된 인터럽션요구레지스터와 인터럽션인에이블레지스터의 개략적인 도면.
제3도는 본 발명의 인터럽션제어장치를 상세하게 도시한 도면.
제4도는 프로세서소자 사이의 인터럽션요구를 제어하기 위한 인터럽션요구레지스터와 인터럽션인에이블레지스터의 개략적인 도면.
제5도는 프로세서소자 사이 및 프로세서소자와 주변장치 사이의 인터럽션요구를 제어하기 위한 인터럽션요구레지스터와 인터럽션인에이블레지스터의 개략적인 도면.
제6도는 프로세서소자와 주변장치 사이의 인터럽션요구를 제어하기 위한 인터럽션요구레지스터와 인터럽션인에이블레지스터의 개략적인 도면.
제7도는 멀티프로세서시스템에 접속된 인터럽션제어장치의 상세를 도시한 도면.
제8도는 단일 반도체집적회로칩상에 형성된 인터럽션제어장치와 버스컨트롤회로를 도시한 개략적인 도면.
본 발명은 프로세서시스템의 인터럽션요구를 제어하는 장치에 관한 것으로, 특히 다수의 상호접속된 프로세서소자를 갖는 멀티프로세서시스템에서 인터럽션요구를 제어하는 인터럽션제어장치에 관한 것이다.
종래 기술에서 잘 알려진 바와 같이, 인터럽션요구는 현재 실행되는 프로그램의 실행을 중지하고, 인터럽션을 요구하는 장치에 연관된 다른 몇 개의 더욱 중요한 타스크를 실행하도록 컴퓨터의 프로세서로 명령되는 컴퓨터명령이다. 대표적으로, 인터럽션요구는 종래의 프로세서시스템과 주변장치 사이에 접속된 인터럽션요구선을 구동하는 입/출력(I/O)장치등의 주변장치에 의해 종래의 프로세서시스템에서 발생된다.
종래의 프로세서시스템에서는 다수의 다른 인터럽션이 다수의 다른 주변장치에 의해 발생될 수 있도록 다수의 인터럽션요구선이 마련된다. 종래의 프로세서시스템에서 실행된 특정의 타스크는 구동되는 특정의 인터럽션요구선에 의해 결정된다. 인터럽션요구원의 식별은 구동되는 인터럽션요구선을 간단히 식별하는 것에 의해 용이하게 이루어진다. 상술한 바와 같이, 인터럽션요구선은 종래의 프로세서시스템과 각각의 주변장치 사이에 접속되어 있다.
따라서, 특정의 인터럽션요구에 대응하는 특정의 타스크와 인터럽션요구를 발생하는 주변장치 또는 프로세서를 식별하는 것이 멀티프로세서시스템에서 더욱 복잡하게 된다. 멀티프로세서시스템은 다수의 상호접속된 프로세서소자(PE)와 1개 이상의 프로세서소자에 각각 접속된 다수의 주변장치를 포함한다. 프로세서소자의 각각과 주변장치의 각각은 프로세서소자의 적어도 하나에서 인터럽션요구를 발생할 수도 있다.
실행되어야할 특정의 인터럽션요구와 멀티프로세서시스템에서 인터럽션요구를 발생하는 주변장치 또는 프로세서소자의 식별을 달성하기 위한 간단한 방법은 멀티프로세서의 각각의 프로세서소자와 각각의 주변장치 사이의 인터럽션요구선을 전기적으로 접속하는 것이다. 이 구성은 각각의 주변장치 또는 프로세서소자에 의해 멀티프로세서시스템의 프로세서소자중의 어느 하나에서 인터럽션요구를 초기화할 수 있게 한다.
상기 장치에서는 각각의 프로세서소자가 주변장치중의 어느 하나 또는 다른 프로세서소자중의 어느 하나에서 인터럽션요구를 수신하도록 하였지만, 이 장치는 멀티프로세서시스템의 프로세서소자와 주변장치 사이에 다수의 상호접속배선을 갖는다고 하는 불합리한 점을 갖는다. 이러한 구성은 새로운 프로세서소자와 주변장치의 부가에 의해 멀티프로세서시스템의 크기가 증대하는 것에 따라서 극히 불합리한 방해요소로 된다.
따라서, 상술한 구성에서의 인터럽션요구선의 수를 저감하기 위한 장치가 일본국 특허공개공보 No.163948/88호에 제안되어 있다. 일본국 특허공개공보 No. 163948/88호에 기재된 바와 같은 장치는 멀티프로세서시스템의 모든 프로세서소자에 접속된 단일의 인터럽션요구선을 마련하고 있다. 이 단일의 인터럽션요구선은 인터럽트되어야할 프로세서소자의 메모리의 고유메모리 공간에 정보를 어드레스함과 동시에 기억하는 것에 의해 인터럽트가 요구되어야 하는 프로세서소자를 지정한다. 일본국 특허공개공보 No.163948/88호에 따르면, I/O 장치 또는 프로세서소자중의 하나와 단일 인터럽션요구선 사이에 접속된 장치가 상기 어드레스 및 기억동작을 실행하기 위해 마련된다.
따라서, 일본국 특허공개공보 No.163948/88호에 기재된 장치에서는 인터럽션요구가 I/O 장치중의 하나에 의해 발생되었을 때, 장치에 의해 인터럽션요구에 대응하는 멀티프로세서시스템의 프로세서소자중의 하나의 메모리에 단일 인터럽션요구선을 거쳐서 어드레스가 동시에 출력된다. 장치에 의해 발생된 어드레스는 요구된 인터럽션에 대응하는 프로세서소자중의 메모리의 특정의 메모리공간에 어드레스된다.
일본국 특허공개공보 No.163948/88호에 기재된 상기 장치는 멀티프로세서시스템의 프로세서소자와 주변장치 사이에 접속된 인터럽션요구선의 수를 저감하지만, 일본국 특허공개공보 No.163948/88호에 기재된 장치는 멀티프로세서시스템의 프로세서소자와 주변장치 사이의 인터럽션요구의 스루풋을 저하시킨다는 불합리한 점이 있었다. 일본국 특허공개공보 No.163948/88호에 기재된 장치에서는 멀티프로세서시스템의 프로세서소자의 각각에 접속된 단일의 인터럽션요구선상으로 발생해야할 어드레스가 출력되는 장치에 의해 하나의 인터럽션요구만을 한번에 취급할 수 있다.
따라서, 상술한 구성에 따르면, 종래의 시스템에서는 특정인터럽션요구와 인터럽션요구원을 멀티프로세서시스템의 프로세서소자에 대해서 식별하는 효과적인 인터럽션제어를 실행하는데 필요한 하드웨어의 양을 저감하는 인터럽션요구를 발생할 수 없게 된다.
또, 종래의 시스템에서는 동시 및 순차적인 인터럽션요구의 효과적인 제어를 허가하는 것에 의해 멀티프로세서시스템내의 다른 프로세서소자에 대해서 인터럽션요구의 스루풋을 제한할 수 없다는 문제점이 있었다.
본 발명의 목적은 다수의 주변장치 또는 프로세서소자에 의해 인터럽션요구가 초기화된 것을 프로세서소자에게 알리는 인터럽션요구를 효과적으로 제어하는데 필요로 되는 하드웨어의 양을 저감하는 다수의 프로세서소자를 갖는 멀티프로세서시스템에서 동작하는 인터럽션제어장치를 제공하는 것이다.
본 발명의 다른 목적은 다수의 주변장치 또는 프로세서소자에 의해 발생된 동시 또는 순차적인 인터럽션 요구를 효과적으로 제어하기 위한 다수의 프로세서소자를 갖는 멀티프로세서시스템에서 사용하기 위한 인터럽션제어장치를 제공하는 것이다.
본 발명의 또다른 목적은 특정의 인터럽션요구와 인터럽션요구원을 식별하기 위한 다수의 프로세서소자를 갖는 멀티프로세서시스템에서 동작하기 위한 인터럽션제어장치를 제공하는 것이다.
상기 목적을 달성하기 위하여 본 발명은 본 발명의 제1, 제2 및 제3의 실시예를 마련한다.
본 발명의 제1의 실시예는 다수의 상호접속된 프로세서소자를 갖는 멀티프로세서시스템에서 인터럽션요구선에 의해 프로세서소자의 각각에 접속되어 동작하는 인터럽션제어장치를 마련한다. 본 발명의 제1의 실시예는 프로세서소자 사이의 인터럽션요구의 제어를 위해 마련된다.
본 발명의 제1의 실시예의 인터럽션제어장치는 다수의 프로세서소자에 대응하는 다수의 인터럽션요구레지스터를 갖는 인터럽션제어레지스터를 포함한다. 인터럽션요구레지스터의 각각은 대응하는 프로세서소자에서 적어도 리드액세스 및 대응하는 프로세서소자 이외의 적어도 프로세서소자에서 라이트액세스 가능하게 된다. 또한, 인터럽션제어장치는 인터럽션요구컨트롤러를 포함한다.
인터럽션요구레지스터의 각각은 인터럽션요구레지스터에 대응하는 프로세서소자 이외의 프로세서소자의 각각에 대응하는 적어도 하나의 인터럽션요구비트를 포함한다. 각각의 인터럽션요구비트는 대응하는 프로세서소자에서의 인터럽션요구의 발생을 표시하도록 대응하는 프로세서소자에 의해 설정된다.
인터럽션요구컨트롤러는 인터럽션요구레지스터의 인터럽션요구비트의 설정에 응답한다. 인터럽션요구비트의 설정에 응답해서 인터럽션요구컨트롤러는 인터럽션요구비트가 속해 있는 인터럽션요구레지스터에 대응하는 프로세서소자에 인터럽션요구선을 거쳐서 인터럽션요구를 출력한다.
본 발명의 제2의 실시예는 다수의 상호접속된 프로세서소자와 I/O 등의 다수의 주변장치를 갖는 멀티프로세서시스템에서 사용하기 위한 인터럽션제어장치를 마련한다. 인터럽션제어장치는 제1의 인터럽션요구선에 의해 프로세서소자의 각각과 제2의 인터럽션요구선에 의해 주변장치의 각각에 접속되어 있다. 본 발명의 제2의 실시예는 프로세서소자 사이 및 프로세서소자와 주변장치 사이의 인터럽션요구의 제어를 위해 마련한다.
본 발명의 제2의 실시예의 인터럽션제어장치는 다수의 프로세서소자에 대응하는 다수의 인터럽션요구레지스터를 갖는 인터럽션제어레지스터를 포함한다. 인터럽션요구레지스터의 각각은 인터럽션요구레지스터에 대응하는 적어도 프로세서소자에서 리드액세스 및 대응하는 프로세서소자 이외의 적어도 프로세서소자에서 라이트액세스 가능하게 된다.
다수의 인터럽션인에이블레지스터는 인터럽션요구레지스터에 대응하는 인터럽션제어레지스터에 마련된다. 각각의 인터럽션인에이블레지스터는 인터럽션요구레지스터 및 인터럽션인에이블레지스터에 대응하는 적어도 프로세서소자에서 라이트액세스 가능하게 된다.
또, 본 발명의 제2의 실시예의 인터럽션제어장치는 인터럽션요구컨트롤러를 포함한다.
각각의 인터럽션요구레지스터는 인터럽션요구레지스터에 대응하는 프로세서소자 이외의 적어도 프로세서소자에 대응하는 다수의 제1의 인터럽션요구비트와 다수의 주변장치에 대응하는 다수의 제2의 인터럽션요구비트를 포함한다. 각각의 제1의 인터럽션요구비트는 대응하는 프로세서소자에 의해 설정된다. 각각의 제2의 인터럽션요구비트는 대응하는 주변장치에서의 인터럽션요구의 발생에 따라서 비트설정수단에 의해 설정된다. 인터럽션요구비트의 설정은 대응하는 프로세서소자 또는 주변장치에서의 인터럽션요구의 발생을 나타낸다.
각각의 인터럽션인에이블레지스터는 제1의 인터럽션요구비트에 대응하는 다수의 제1의 인터럽션인에이블비트와 대응하는 인터럽션요구레지스터의 제2의 인터럽션요구비트에 대응하는 다수의 제2의 인터럽션인에이블비트를 포함한다. 인터럽션인에이블비트의 각각은 대응하는 인터럽션요구레지스터의 대응하는 인터럽션요구비트에 의해 표시된 인터럽션요구의 허가를 표시하도록 인터럽션요구 및 인에이블레지스터에 대응하는 프로세서소자에 의해 설정된다.
인터럽션요구컨트롤러는 인터럽션요구비트와 인터럽션인에이블비트의 설정에 응답한다. 인터럽션요구컨트롤러는 인터럽션요구비트와 인터럽션인에이블비트의 설정에 따라서 인터럽션요구비트와 인터럽션인에이블비트가 설정되어 속해 있는 인터럽션요구레지스터와 인터럽션인에이블레지스터에 대응하는 프로세서소자에 인터럽션요구를 출력한다.
본 발명의 제3의 실시예는 다수의 상호접속된 프로세서소자와 다수의 주변장치를 갖는 멀티프로세서시스템에서 사용되는 인터럽션제어장치를 마련한다. 인터럽션제어장치는 제1의 인터럽션요구선에 의해 프로세서소자의 각각에 접속되고, 제2의 인터럽션요구선에 의해 주변장치의 각각에 접속되어 있다. 본 발명의 제3의 실시예는 프로세서소자와 주변장치 사이의 인터럽션요구의 제어를 위해 마련된다.
본 발명의 제3의 실시예의 인터럽션제어장치는 다수의 주변장치에 대응하는 다수의 인터럽션요구레지스터를 갖는 인터럽션제어레지스터를 포함한다. 각각의 인터럽션요구레지스터는 프로세서소자의 각각에서 리드액세스 가능하게 된다.
또한, 인터럽션제어레지스터는 다수의 인터럽션요구레지스터에 대응하는 다수의 인터럽션인에이블레지스터를 포함한다. 각각의 인터럽션인에이블레지스터는 프로세서소자의 각각에서 라이트액세스 가능하게 된다.
본 발명의 제3의 실시예의 인터럽션제어장치는 또 인터럽션요구컨트롤러를 포함한다.
인터럽션요구레지스터의 각각은 각각의 인터럽션요구비트가 설정되었을 때 인터럽션요구레지스터에 대응하는 주변장치에서 인터럽션요구비트에 대응하는 프로세서소자로 인터럽션요구의 발생을 표시하는 다수의 프로세서소자에 대응하는 다수의 인터럽션요구비트를 포함한다.
인터럽션인에이블레지스터의 각각은 대응하는 인터럽션요구레지스터내의 다수의 인터럽션요구비트에 대응하는 다수의 인터럽션인에이블비트를 포함한다. 각각의 인터럽션인에이블비트가 프로세서소자에 의해 설정되었을 때는 인터럽션요구 및 인에이블레지스터에 대응하는 주변장치에서 인터럽션요구 및 인에이블비트에 대응하는 프로세서소자로 인터럽션요구에 대한 허가를 나타낸다.
인터럽션요구가 주변장치에서 발생되었을 때, 인터럽션요구컨트롤러는 주변장치에 대응하는 인터럽션요구레지스터에 프로세서소자에 대응하는 인터럽션요구비트를 설정한다. 인터럽션요구비트의 설정에 따라서 인터럽션요구컨트롤러는 인터럽션요구가 허가된 것을 대응하는 인터럽션인에이블레지스터의 대응하는 인터럽션인에이블비트가 나타날 때 인터럽션요구비트에 대응하는 프로세서소자로 인터럽션요구를 출력한다.
본 발명의 인터럽션제어장치는 단일 반도체집적회로칩상에 구성된다. 인터럽션제어장치는 포함하는 이러한 칩은 그의 인터럽션요구를 제어하는데 필요로 되는 어떤 형식의 프로세서시스템에도 삽입될 수 있다.
본 발명의 제1의 실시예의 칩은 인터럽션제어장치의 외부에서 리드액세스를 각각 허가하는 다수의 인터럽션요구레지스터를 갖는 인터럽션제어레지스터를 구비한 인터럽션제어장치를 그 위에 형성하고 있다. 인터럽션요구레지스터의 각각은 인터럽션요구의 발생을 나타내도록 설정되는 적어도 하나의 인터럽션요구비트를 포함한다.
또한, 본 발명의 제1의 실시예의 인터럽션제어레지스터에는 다수의 인터럽션요구레지스터에 대응하는 다수의 인터럽션인에이블레지스터가 마련되어 있다. 인터럽션인에이블레지스터의 각각은 인터럽션제어장치의 외부에서 라이트액세스 가능하게 된다. 각각의 인터럽션인에이블레지스터는 대응하는 인터럽션요구레지스터의 적어도 하나의 인터럽션요구비트에 대응하는 적어도 하나의 인터럽션인에이블비트를 포함한다. 각각의 인터럽션인에이블비트는 대응하는 인터럽션요구레지스터의 대응하는 인터럽션요구비트로 표시된 인터럽션요구의 허가를 나타내도록 설정된다.
또한 본 발명의 제1의 실시예의 칩상의 인터럽션제어장치는 인터럽션요구레지스터내에 인터럽션요구비트가 인터럽션요구의 발생을 나타내도록 설정되었을 때, 인터럽션요구레지스터에 대응하는 인터럽션 신호를 발생하는 인터럽션요구컨트롤러를 포함한다. 인터럽션 신호는 인터럽션요구가 허가된 것을 인터럽션요구비트에 대응하는 인터럽션인에이블비트가 나타내도록 설정되었을 때, 인터럽션요구컨트롤러에 의해 출력된다. 본 발명의 제1의 실시예의 칩상의 인터럽션제어장치는 또 입력신호에 따라서 고유의 인터럽션요구레지스터에 인터럽션요구비트를 설정하는 비트설정장치를 포함한다.
본 발명의 제2의 실시예의 칩은 인터럽션제어장치의 외부에서 적어도 리드액세스를 허가하는 다수의 인터럽션요구레지스터를 갖는 인터럽션제어레지스터를 구비한 인터럽션제어장치를 그 위에 형성하고 있다. 인터럽션요구레지스터의 각각은 인터럽션요구의 발생을 표시하도록 설정되는 적어도 하나의 인터럽션요구비트를 포함한다.
또한, 인터럽션제어레지스터는 다수의 인터럽션요구레지스터에 대응하는 다수의 인터럽션인에이블레지스터를 포함한다. 인터럽션인에이블레지스터의 각각은 인터럽션제어장치의 적어도 외부에서 라이트액세스 가능하다. 각각의 인터럽션인에이블레지스터는 대응하는 인터럽션요구레지스터의 적어도 하나의 인터럽션요구비트에 대응하는 적어도 하나의 인터럽션인에이블비트를 포함한다. 인터럽션인에이블비트의 각각은 대응하는 인터럽션요구레지스터의 대응하는 인터럽션요구비트로 표시된 인터럽션요구의 허가를 표시하도록 설정된다.
본 발명의 제2의 실시예의 칩상의 인터럽션제어장치는 입력신호에 따라서 인터럽션요구비트를 설정하는 비트설정장치를 포함한다.
인터럽션요구컨트롤러는 인터럽션요구레지스터내에 인터럽션요구비트가 인터럽션요구의 발생을 표시하도록 설정될 때, 인터럽션요구레지스터에 대응하는 인터럽션 신호를 발생하기 위해 본 발명의 제2의 실시예의 칩상의 인터럽션제어장치내에 마련된다. 인터럽션 신호는 인터럽션요구가 허가된 것을 인터럽션요구비트에 대응하는 인터럽션인에이블비트가 나타내도록 설정될 때 인터럽션요구컨트롤러에 의해 출력된다. 또한, 본 발명의 제2의 실시예의 칩은 그 위에 인터럽션제어장치와 함께 프로세서시스템의 버스를 제어하는 버스제어장치를 마련하고 있다.
이하, 제1도 내지 제8도를 참조해서 멀티프로세서시스템에 접속된 인터럽션제어장치의 제1, 제2 및 제3의 실시예와 하나의 반도체집적회로칩상에 형성된 인터럽션제어장치의 제1 및 제2의 실시예에 대해서 설명한다.
본 발명의 장치는 통상 제1도 및 제2도에 도시한 것이며, 제1도는 다수의 프로세서소자(103-1)∼(103-4)를 갖는 멀티프로세서시스템을 도시한 것이다. 프로세서소자(103-1)∼(103-4)는 제1의 버스(101)에 의해 상호접속되어 있다. 또한, 주변장치(106-1)∼(106-24)중의 몇 개는 I/O 장치이어도 좋은 다수의 주변장치(106-1)∼(106-24)도 마련되어 있다. 또한, 멀티프로세서시스템의 인터럽션요구를 제어하는 인터럽션제어장치(104)도 마련되어 있다. 이 인터럽션제어장치(104)는 제1의 인터럽션요구선(109-1)∼(109-4)에 의해 프로세서소자의 각각에 접속되어 있다. 또, 인터럽션제어장치(104)는 제2의 인터럽션요구선(110-1)∼(110-24)에 의해 주변장치(106)의 각각에 접속되어 있다. 이 주변장치는 제2의 버스(102)에 의해 상호접속되어 있다. 버스제어장치(105)는 그의 동작을 제어하기 위하여 제1의 버스(101)과 제2의 버스(102) 사이에 접속되어 있다. 인터럽션제어장치(104)는 버스커넥터(108)을 통해서 제1의 버스(101)을 제어한다.
인터럽션제어장치(104)는 인터럽션요구를 제어하는 인터럽션요구컨트롤러(111)과 인터럽션요구에 대해서 정보를 유지하는 인터럽션제어레지스터(107)을 포함한다. 인터럽션제어레지스터(107)의 상세한 것은 인터럽션요구레지스터 CHINT 1∼4와 대응하는 인터럽션인에이블레지스터 CHENB 1∼4를 갖는 것으로써 제2도에 도시한다. 인터럽션요구레지스터 CHINT의 각각에 포함된 인터럽션요구비트(201)은 소자(205)에 대해서 비트 CI1∼24로써 표시되고, 인터럽션인에이블레지스터 CHENB의 각각에 포함된 인터럽션인에이블비트(202)는 소자(206)에 대해서 비트 CE1∼24로써 표시된다. 또, 인터럽션요구가 주변장치(106-1)∼(106-24)에 의해 발생되었을 때, 인터럽션요구비트 CI1∼24를 설정하기 위해 비트설정장치(113)이 마련된다.
본 발명의 제1의 실시예에 따르면, 제1도에 도시한 바와 같이 다수의 상호접속된 프로세서소자(103-1)∼(103-4)를 갖는 멀티프로세서시스템에서 동작하는 인터럽션제어장치(104)를 마련하는 것이다. 본 발명의 제1의 실시예는 프로세서소자 사이의 인터럽션요구의 제어를 위해 마련된다.
제1의 실시예의 인터럽션제어장치(104)는 제4도에 도시한 바와같이 다수의 프로세서소자(103-1)∼(103-4)에 대응하는 다수의 인터럽션요구레지스터 PPINT1-4와 (301-1)∼(301-4)를 갖는 인터럽션요구레지스터(107)을 포함하고 있다. 각각의 인터럽션요구레지스터 PPINT는 대응하는 프로세서소자(103)에서 리드액세스 및 대응하는 프로세서소자(103) 이외의 적어도 프로세서소자(103)에서 라이트액세스할 수 있도록 되어 있다. 또한, 제1의 실시예의 인터럽션제어장치(104)는 다음에 그의 동작을 설명하는 인터럽션요구컨트롤러(111)을 포함한다.
인터럽션요구레지스터 PPINT의 각각은 프로세서소자(103-1)∼(103-4)에 대응하는 다수의 인터럽션요구비트 PI1-PI4를 포함한다. 각각의 인터럽션요구비트 PI는 대응하는 프로세서소자(103)에서의 인터럽션요구의 발생을 나타내도록 대응하는 프로세서소자(103)에 의해 설정된다.
인터럽션요구컨트롤러(111)은 인터럽션요구레지스터 PPINT의 인터럽션요구비트 PI의 설정에 응답한다. 인터럽션요구레지스터 PPINT의 인터럽션요구비트 PI의 설정은 프로세서소자에서 인터럽트요구가 전달되는 프로세서소자(103)에 대응하는 고유 인터럽션요구레지스터 PPINT로의 라이트액세스에 의해 실행된다.
예를 들면, 제1도에 도시한 바와 같이, 프로세서소자(103-4)를 위해 프로세서소자(103-1)의 인터럽트를 요구하도록 프로세서소자(103-4)는 프로세서소자(103-1)에 대응하는 인터럽션요구레지스터 PPINT1의 라이트액세스를 실행한다. 라이트액세스시에 프로세서소자(103-4)는 인터럽션요구레지스터 PPINT1의 프로세서소자(103-4)에 대응하는 인터럽션요구비트 PI4를 설정한다.
인터럽션요구레지스터 PPINT1의 인터럽션요구비트 PI4의 설정에 응답해서 인터럽션요구컨트롤러(111)은 프로세서소자(103-1)의 인터럽션을 요구한다.
본 발명의 제1의 실시예에서는 상기한 예에서의 인터럽션요구레지스터 PPINT1에서 리드액세스동작을 실행하는 프로세서소자(103)을 갖는 것에 의해 인터럽션요구원을 결정할 수 있다. 프로세서소자(103-1)에 의해 실행된 리드액세스동작은 인터럽션요구레지스터 PPINT1의 인터럽션요구비트 PI4가 프로세서소자(103-4)로써 인터럽션요구원을 표시하여 설정되는 것을 결정한다.
본 발명의 제1의 실시예에서는 인터럽션요구레지스터 PPINT1-4에 대응하는 다수의 인터럽션인에이블레지스터 PPENB1-4가 프로세서소자(103)의 인터럽트의 발생을 방지하도록 인터럽션제어장치(104)의 인터럽션제어레지스터(107)에 마련된다. 이 특징은 프로세서소자(103)에 의해 실행되는 중요한 동작을 인터럽트하지 않도록 하는데 유용하다.
각각의 인터럽션인에이블레지스터 PPENB는 프로세서소자(103-1)∼(103-4)에 대응하는 다수의 인터럽션인에이블비트 PEN1∼PEN4를 포함한다. 각각의 인터럽션인에이블비트 PEN은 인터럽션인에이블비트 PEN이 속하는 인터럽션인에이블레지스터 PPENB에 대응하는 인터럽션요구레지스터 PPINT의 대응하는 인터럽션요구비트 PI에 의해 표시된 인터럽션요구의 허가를 나타내도록 대응하는 프로세서소자(103)에 의해 설정된다.
따라서, 본 발명의 제1의 실시예에서는 인터럽션인에이블레지스터 PPENB1∼4가 마련되었을 때, 인터럽션요구컨트롤러(111)은 인터럽션요구비트 PI 및 인터럽션인에이블비트 PEN의 설정에 응답한다. 본 발명의 제1의 실시예에 있어서, 인터럽션요구비트 PI와 대응하는 인터럽션인에이블비트 PEN의 설정에 따라서 인터럽션요구컨트롤러(111)은 인터럽션요구비트 PI와 인터럽션인에이블비트 PEN이 각각 속하는 인터럽션요구레지스터 PPINT와 인터럽션인에이블레지스터 PPENB에 대응하는 프로세서소자(103)에 제1의 인터럽션요구선(109)를 거쳐서 인터럽션요구를 출력한다.
본 발명의 제2의 실시예는 제1도, 제5도 및 제7도에 도시한 바와같이 다수의 상호접속된 프로세서소자(103)과 다수의 주변장치(106-1)∼(106-24)를 갖는 멀티프로세서시스템에서 사용되는 인터럽션제어장치(104)를 마련하는 것이다. 본 발명의 제2의 실시예는 프로세서소자 사이 및 프로세서소자와 주변장치 사이의 인터럽션요구의 제어를 위해 마련된다.
제2의 실시예의 인터럽션제어장치(104)는 제5도에 도시한 바와같이 다수의 프로세서소자(103-1)∼(103-4)에 대응하는 다수의 인터럽션요구레지스터 PPINT1-4/CHINT1-4와 다수의 인터럽션요구레지스터 PPINT1-4/CHINT1-4에 대응하는 다수의 인터럽션인에이블레지스터 PPENB1-4/CHENB1-4를 갖는 인터럽션제어레지스터(107)을 포함한다. 또한, 제2의 실시예의 인터럽션제어장치는 인터럽션요구컨트롤러(111)과 비트설정장치(113)을 포함한다.
인터럽션요구레지스터 PPINT/CHINT의 각각은 적어도 대응하는 프로세서소자(103)에서 리드액세스 및 대응하는 프로세서소자(103) 이외의 적어도 프로세서소자(103)에서 라이트액세스가 가능하게 된다.
각각의 인터럽션요구레지스터 PPINT/CHINT는 프로세서소자(103-1)∼(103-4)에 대응하는 PI1-PI4로써 표시된 다수의 제1의 인터럽션요구비트(301-1)∼(301-4)와 주변장치(106-1)∼(106-24)에 대응하는 CI1-24로 표시된 다수의 제2의 인터럽션요구비트(202-1)∼(202-4)를 포함한다. 각각의 제1의 인터럽션요구비트 PI는 대응하는 프로세서소자(103)에 의해 설정된다. 각각의 제2의 인터럽션요구비트 CI는 대응하는 주변장치에서의 인터럽션요구의 발생에 따라서 비트설정장치(113)에 의해 설정된다. 인터럽션요구비트 PI/CI의 설정은 대응하는 프로세서소자(103) 또는 주변장치(106)에서의 인터럽션요구의 발생을 나타낸다.
각각의 인터럽션인에이블레지스터 PPENB/CHENB는 인터럽션요구레지스터 PPINT/CHINT와 PPENT/CHENB에 대응하는 적어도 프로세서소자에서 라이트액세스 가능하다.
각각의 인터럽션인에이블레지스터 PPENB/CHENB는 다수의 제1의 인터럽션요구비트 PI1-4에 대응하는 PEN1-PEN4로 표시된 다수의 제1의 인터럽션인에이블비트(302-1)∼(302-4)와 제2의 인터럽션요구비트 CI1∼CI24에 대응하는 CE1∼CE24로 표시된 다수의 제2의 인터럽션인에이블비트(204-1)∼(204-24)를 포함한다. 각각의 인터럽션인에이블비트 PEN/CE는 인터럽션요구레지스터 PPINT/CHINT의 대응하는 인터럽션요구비트 PI/CI로 표시된 인터럽션요구의 허가를 표시하도록 대응하는 프로세서소자(103)에서 라이트액세스에 의해 설정된다. 따라서, 인터럽션인에이블레지스터 PPENB/CHENB의 각각의 인터럽션인에이블비트 PEN1∼CE24를 사용하는 것에 의해 인터럽션요구의 발생을 방지하여 대응하는 프로세서소자(103)은 인터럽트해서는 안되는 중요한 동작을 연속적으로 실행할 수 있다.
인터럽션요구컨트롤러(111)은 각각 인터럽션요구레지스터 PPINT/CHINT 및 인터럽션인에이블레지스터 PPENB/CHENB내의 인터럽션요구비트 PI1-CI24의 설정 및 인터럽션인에이블비트 EPN1-CE24의 설정에 응답한다. 인터럽션요구컨트롤러(111)은 인터럽션요구비트 PI1-CI24의 설정 및 인터럽션인에이블비트 PEN1-CE24의 설정에 따라서 인터럽션요구비트 PI1-CI24와 인터럽션인에이블비트 PEN1-CE24가 각각 속해 있는 인터럽션요구레지스터 PPINT/CHINT와 인터럽션인에이블레지스터 PPENB/CHENB에 대응하는 프로세서소자(103)으로 인터럽션요구를 출력한다.
인터럽션요구컨트롤러(111)은 인터럽트요구가 출력되어야 하는가를 결정하기 위하여 인터럽션요구비트 PI1-CI24와 인터럽션인에이블비트 PEN1-CE24를 AND하는 것에 의해 동작된다.
본 발명의 제2의 실시예는 인터럽션요구가 대응하는 프로세서소자(103)에 대해서 허가되었는가를 인터럽션인에이블레지스터 PPENB1-4/CHENB1-4의 각각의 인터럽션인에이블비트 PEN가 나타내고, 프로세서소자(103) 또는 주변장치(106)중의 어느 하나에서 인터럽트요구가 발생되었다는 것을 인터럽션요구레지스터 PPINT1-4/CHINT1-4의각각의 인터럽션요구비트 PI/CI가 나타내는 상기 제1의 실시예에 대해서 모두 마찬가지로 작용한다. 인터럽션요구컨트롤러(111)은 프로세서소자(103) 또는 주변장치(106)중의 어느 하나에 대응하는 인터럽션요구비트 PI1-CI24의 설정 및 인터럽션요구비트 PI1-CI24에 대응하는 인터럽션인에이블비트 PEN1-CE24의 설정에 따라서 인터럽션요구비트 PI1-CI24와 인터럽션인에이블비트 PEN1-CE24가 각각 속해 있는 인터럽션요구레지스터 PPINT/CHINT와 인터럽션인에이블레지스터 PPENB/CHENB에 대응하는 프로세서소자(103)으로 인터럽션요구를 출력한다.
본 발명의 제2의 실시예에서는 인터럽션요구가 출력되어 있는 프로세서소자(103)이 그 안의 인터럽션요구비트 PI/CI의 설정에 의해 프로세서소자(103) 또는 주변장치(106)중의 어느 하나가 인터럽션요구원인 것을 나타내는 대응하는 인터럽션요구레지스터 PPINT/CHINT의 리드액세스동작을 실행하는 것에 의해 인터럽션요구원을 결정할 수 있다.
본 발명의 제3의 실시예는 제1도 및 제6도에 도시한 바와 같이 다수의 상호접속된 프로세서소자(103-1)∼(103-4)와 다수의 주변장치(106-1)∼(106-24)를 갖는 인터럽션제어장치(104)를 마련한다. 본 발명의 제3의 실시예는 프로세서소자와 주변장치 사이의 인터럽션요구의 제어를 위해 마련된다.
제3의 실시예의 인터럽션제어장치(104)는 제6도에 도시한 바와같이 다수의 주변장치(106-1)∼(106-24)에 대응하는 다수의 인터럽션요구레지스터 CHINT1-24와 다수의 인터럽션요구레지스터 CHINT1-24에 대응하는 다수의 인터럽션인에이블레지스터 CHENB1-24를 갖는 인터럽션제어레지스터(107)을 포함한다.
각각의 인터럽션요구레지스터 CHINT는 다수의 프로세서소자(103-1)∼(103-4)의 각각에서 리드액세스가능하게 된다. 각각의 인터럽션요구레지스터 CHINT는 다수의 프로세서소자(103-1)∼(103-4)에 대응되었을 때 CI로 표시된 다수의 인터럽션요구비트(201)을 포함한다. 각각의 인터럽션요구비트 CI1-CI4는 인터럽션요구비트 CI1-CI4가 인터럽션요구비트 CI에 대응하는 프로세서소자(103)에 속하는 인터럽션요구레지스터 CHINT에 대응하는 주변장치(106)에서 인터럽션요구의 발생을 나타낸다.
각각의 인터럽션인에이블레지스터 CHENB는 다수의 프로세서소자(103)의 각각에서 라이트액세스 가능하게 된다. 각각의 인터럽션인에이블레지스터는 대응하는 인터럽션요구레지스터 CHINT내의 다수의 인터럽션요구비트 CI1-CI4에 대응하는 CE1-CE4로 표시된 다수의 인터럽션인에이블비트(202)를 포함한다. 대응하는 프로세서소자(103)에 의해 설정되었을때에 각각의 인터럽션인에이블비트 CE는 인터럽션요구에 대응하는 주변장치(106)와 인에이블레지스터 CHINT 및 CHENB에서 인터럽션요구와 인에이블비트 CI 및 CE에 대응하는 프로세서소자(103)으로의 인터럽션요구에 대한 허가를 나타낸다.
인터럽션요구컨트롤러(111)은 프로세서소자(103)에 대한 인터럽션요구가 주변장치(106)에서 발생되었을 때, 주변장치(106)에 대응하는 인터럽션요구레지스터 CHINT에 프로세서소자(103)에 대응하는 인터럽션요구비트 CI를 설정한다. 또한, 인터럽션요구비트 CI에 대응하는 인터럽션인에이블비트 CE가 대응하는 프로세서소자(103)에서 라이트동작을 거쳐서 설정되면, 인터럽션요구컨트롤러(111)은 인터럽션요구레지스터 CHINT와 인터럽션인에이블레지스터 CHENB의 인터럽션요구비트 CI와 인터럽션인에이블비트 CE에 각각 대응하는 프로세서소자(103)으로 인터럽션요구를 출력한다.
제3도는 본 발명의 인터럽션제어장치(104)내에 포함된 소자를 더욱 상세하게 설명한 것이다.
인터럽션제어장치(104)는 리드/라이트신호(724), 스트로브신호(725) 및 어드레스(726)을 디코드해서 래치(708), (709), (710) 및 (711)에 공급되는 부하타이밍신호(727-1)∼(727-4)를 출력하는 라이트디코더(701)을 포함한다. 라이트액세스동작이 라이트디코더(701)에 의해 실행되었을 때, 선 D8∼D24상의 데이타가 셀렉터(704), (705), (706) 및 (707)을 거쳐서 래치(708), (709), (710) 및 (711)에 설정된다. 래치(703-1)∼(703-24)는 제2도에 도시한 바와같이 인터럽션요구레지스터 CHINT1-4에 대응한다. 래치(703-1)∼(703-24)내의 데이타의 상태가 인터럽션요구레지스터의 각각에 대해서 동일하고, 래치(703-1)∼(703-24)는 래치(708), (709), (710) 및 (711)의 각각의 군에 접속된 상태로 제3도에 도시되어 있다.
래치(708-1)∼(708-24)는 인터럽션인에이블레지스터 CHENB1에 대응하고, 래치(709-1)∼(709-24)는 인터럽션인에이블레지스터 CHENB2에 대응하고, 래치(710)∼(710-24)는 인터럽션인에이블레지스터 CHENB3에 대응하고, 래치(711-1)∼(711-24)는 인터럽션인에이블레지스터 CHENB4에 대응한다.
주변장치(106-1)∼(106-24)에서의 인터럽션요구는 제2의 인터럽션요구선(110-1)∼(110-24)에 의해 래치(702-1)∼(702-24)에 각각 공급된다. 인터럽션요구는 래치(702-1)∼(702-24)내의 내부신호와 동기해서 래치(703-1)∼(703-24)에 설정된다.
인터럽션요구를 제1의 인터럽션요구선(109-1)∼(109-4)에 의해 프로세서소자(103)으로 출력할 수 있는 가를 결정하기 위하여 래치(703-1)∼(703-24)의 각각과 래치(708-1)∼(711-24)의 각각은 AND게이트(712-1)∼(715-24)에 의해 함께 AND된다. 예를 들면, 래치(703)의 비트가 대응하는 주변장치(106)에서의 인터럽션요구의 발생을 나타내도록 설정되고, 래치(703)의 비트에 대응하는 래치(708)의 비트가 인터럽션요구의 인에이블(허가, 해제(unmaskea))을 나타내도록 설정되면, AND게이트(712-1)∼(712-24)에서의 출력중의 하나가 OR게이트(717)에 설정되어 제1의 인터럽션요구선(109-1)상의 인터럽션요구를 프로세서소자(103-1)로 출력한다.
AND게이트(713-1)∼(715-24)로부터의 출력은 래치(703-1)∼(703-24)의 비트중의 하나가 주변장치(106)중의 하나에서의 인터럽션요구의 발생을 나타낼 때, 제1의 인터럽션요구선(109-2)∼(109-4)상의 인터럽션요구를 출력하는 OR게이트(718)∼(720)으로 공급되고, 래치(709-1)∼(711-24)의 비트중의 하나는 대응하는 프로세서소자(103)에 대해서 인터럽션요구가 허가된 것을 나타내도록 설정된다.
래치(708-1∼24), (709-1∼24), (710-1∼24) 및 (711-1∼24)에 각각 대응하는 인터럽션인에이블레지스터 CHENB1-4의 데이타는 리드액세스동작이 리드디코더(721)을 거쳐서 실행되었을 때, AND게이트(730-1∼24), (731-1∼24), (732-1∼24) 및 (733-1∼24)를 거쳐서 OR게이트(736-1∼24)에서 출력된다. 또한, 디코더(721)에서의 리드액세스동작에 의해 래치(703-1∼24)에 각각 대응하는 인터럽션요구레지스터 CHINT1-4의 데이타가 OR게이트(737)에서의 출력에 의해 OFF되는 AND게이트(734-1∼24)를 거쳐서 출력된다.
제8도는 그 위에 형성된 인터럽션제어장치(104)와 제1 및 제2의 버스(101) 및 (102)를각각 제어하는 버스컨트롤러회로(501)을 갖는 반도체집적회로칩(112)의 제1 및 제2의 실시예를 도시한 것이다. 버스컨트롤러회로(501)은 버스커넥터(108)과 제2의 버스(102)에 접속되어 있다. 멀티프로세서시스템의 다른 모든 소자는 제1도와 마찬가지로 해서 동일한 기능을 갖고 접속되어 있다.
단일집적회로칩(112)상에 형성된 인터럽션제어장치(104)는 그의 인터럽션요구를 제어하도록 임의의 형식의 프로세서시스템내에 삽입될 칩을 사용할 수도 있다.
칩(112)내의 제1의 실시예는 칩(112)상에 형성된 인터럽션제어장치(104)에 대해서 인터럽션제어레지스터(107)을 갖기 위해 마련된다. 인터럽션제어레지스터(107)은, 예를들면 제2도에 도시한 바와같이 인터럽션제어장치(104)의 외부에서 리드액세스를 각각 허가하는 다수의 인터럽션요구레지스터 CHINT1-4를 포함한다. 인터럽션요구레지스터 CHINT의 각각은 인터럽션요구의 발생을 설정하였을 때를 나타내기 위해 CI1-24로 표시된 적어도 하나의 인터럽션요구비트(201)을 포함한다.
또한, 인터럽션제어레지스터(107)내에는 다수의 인터럽션요구레지스터 CHINT1-4에 대응하는 다수의 인터럽션인에이블레지스터 CHENB1-4도 마련되어 있다. 각각의 인터럽션인에이블레지스터 CHENB는 인터럽션제어장치(104)의 외부에서 라이트액세스 가능하게 된다. 각각의 인터럽션인에이블레지스터 CHENB는 대응하는 인터럽션요구레지스터 CHINT의 적어도 하나의 인터럽션요구비트 CI1-24(201)에 대응하는 CE1-24도 표시된 적어도 하나의 인터럽션인에이블비트(202)를 포함한다. 각각의 인터럽션인에이블비트 CE는 대응하는 인터럽션요구비트 CI로 표시된 인터럽션요구의 허가를 설정하였을 때를 나타낸다.
또한, 인터럽션제어장치(104)는 인터럽션요구의 발생을 나타내는 인터럽션비트 CI가 속해 있는 인터럽션요구레지스터 CHINT에 대응하는 인터럽션 신호를 출력하는 인터럽션요구컨트롤러(111)도 포함하고 있다.
인터럽션 신호는 인터럽션요구비트 CI에 대응하는 인터럽션인에이블비트 CE가 인터럽션요구가 허가된 것을 나타낼 때 출력된다.
반도체집적회로칩의 제1의 실시예의 인터럽션제어장치(104)는 제2의 인터럽션요구선(110)의 하나에 공급된 입력신호에 따라서 고유의 인터럽션요구레지스터 CHINT에 인터럽션요구비트 CI를 설정하는 비트설정장치(113)을 포함한다.
제2의 실시예의 반도체집적회로칩(112)는, 예를들면 제2도에 도시한 바와 같이 다수의 인터럽션요구레지스터 CHINT1-4와 다수의 대응하는 인터럽션인에이블레지스터 CHENB1-4를 포함하는 인터럽션제어레지스터(107)을 갖는 인터럽션제어장치(104)를 그 위에 형성하고 있다. 각각의 인터럽션요구레지스터 CHINT는 인터럽션제어장치(104)의 외부에서 적어도 리드액세스 가능하고, 각각의 인터럽션요구레지스터 CHINT는 CI1-24로 표시된 다수의 인터럽션요구비트(201)을 포함한다. 각각의 인터럽션요구비트 CI는 인터럽션요구의 발생을 나타낸다.
각각의 인터럽션인에이블레지스터 CHENB는 인터럽션제어장치(104)의 적어도 외부에서 라이트액세스 가능하다. 각각의 인터럽션인에이블레지스터 CHENB는 CE1-24로 표시된 다수의 인터럽션인에이블비트(202-1)을 포함한다. 각각의 인터럽션인에이블레지스터 CHENB에서는 다수의 인터럽션인에이블비트 CE1-24가 대응하는 인터럽션요구레지스터 CHINT의 다수의 인터럽션요구비트 CI1-24에 대응한다. 인터럽션인에이블비트 CE의 각각은 대응하는 인터럽션요구레지스터 CHINT의 대응하는 인터럽션요구비트 CI로 표시된 인터럽션요구에 대한 허가를 나타낸다.
제2의 실시예에서의 칩(112)상의 인터럽션제어장치(104)는 제2의 인터럽션요구선(110)상에 공급된 입력신호에 따라서 인터럽션요구비트 CI를 설정하는 비트설정장치(113)을 포함한다.
제2의 실시예에서의 칩상의 인터럽션제어장치(104)는 또 인터럽션요구의 발생을 표시하는 인터럽션요구비트 CI가 속해 있는 인터럽션요구레지스터 CHINT에 대응하는 제1의 인터럽션요구선(109)중의 하나로 인터럽션 신호를 출력하는 인터럽션요구컨트롤러(111)도 포함한다. 그러나, 인터럽션 신호는 인터럽션요구비트 CI에 대응해서 인터럽션요구가 허가된 것을 나타내는 인터럽션인에이블비트 CE가 설정될 때까지 출력되지 않는다.
또한, 제2의 실시예의 반도체집적회로칩(112)는 그 위에 형성된 인터럽션제어장치(104)와 함께 프로세서시스템의 버스를 제어하는 버스컨트롤러회로(501)을 갖는다.
따라서, 본 발명의 상기 실시예에 따르면, 인터럽션요구가 주변장치 또는 프로세서소자에 의해 초기화되었는가를 프로세서소자로 알리는 인터럽션요구를 효율적으로 제어하는데 필요한 하드웨어의 양을 저감하는 다수의 프로세서소자를 갖는 멀티프로세서시스템의 동작을 위한 인터럽션제어장치가 마련된다.
또, 본 발명의 상기 실시예에 따르면, 인터럽션제어장치는 인터럽션요구가 주변장치 또는 프로세서소자에 의해 발생된 동시 및 순차적인 인터럽션명령을 효과적으로 제어하는 다수의 프로세서소자를 갖는 멀티프로세서시스템에서 사용하기 위해 마련된다.
또한, 상술한 바와같이 본 발명에서는 초기화된 특정인터럽션요구와 주변장치 또는 프로세서소자로부터의 인터럽션요구원을 식별하는 다수의 프로세서소자를 갖는 멀티프로세서시스템의 동작을 위해 인터럽션제어장치가 마련된다.
이상 본 발명자에 의해서 이루어진 발명을 상기 실시예에 따라 구체적으로 설명했지만, 본 발명은 상기 실시예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다. 예를들면, 본 발명은 인터럽션요구와 인터럽션요구원의 식별을 요구하는 어떠한 것에도 적용 가능하다.

Claims (14)

  1. 다수의 상호접속된 프로세서소자를 포함하는 멀티프로세서시스템에서 인터럽션요구를 제어하고, 인터럽션요구선에 의해 각각의 프로세서소자에 접속되어 있는 인터럽션제어장치에 있어서, 상기 프로세서소자에 대응하는 다수의 인터럽션요구레지스터를 가지며, 각각의 인터럽션요구레지스터가 대응하는 프로세서소자에서 적어도 리드액세스 가능하고, 상기 대응하는 프로세서소자 이외의 적어도 프로세서소자에서 라이트액세스 가능하고, 상기 프로세서소자에 대응하는 다수의 인터럽션요구비트를 포함하며, 상기 각각의 인터럽션요구비트가 상기 대응하는 프로세서소자에서 상기 인터럽션요구레지스터에 대응하는 프로세서소자로 인터럽션요구의 발생을 표시하도록 대응하는 프로세서소자에 의해 설정되는 인터럽션제어레지스터와 상기 인터럽션요구비트의 설정에 따라서 인터럽션요구레지스터내에 인터럽션요구비트가 설정되었을 때 인터럽션요구를 인터럽션요구레지스터에 대응하는 프로세서소자로 출력하는 인터럽션요구컨트롤러를 포함하는 인터럽션제어장치.
  2. 특허청구의 범위 제1항에 있어서, 또 상기 대응하는 인터럽션요구레지스터에 대응하는 적어도 하나의 프로세서소자에서 라이트액세스를 허가하는 상기 인터럽션제어레지스터내에 포함된 상기 인터럽션요구레지스터에 대응하는 다수의 인터럽션인에이블레지스터를 포함하고, 상기 각각의 인터럽션인에이블레지스터는 상기 대응하는 인터럽션요구레지스터의 상기 다수의 인터럽션요구비트에 대응하는 다수의 인터럽션인에이블비트를 포함하고, 상기 각각의 인터럽션인에이블비트는 상기 대응하는 인터럽션요구레지스터의 대응하는 인터럽션요구비트로 표시된 인터럽션요구의 허가를 표시하도록 대응하는 프로세서소자에 의해 설정되고, 상기 인터럽션요구컨트롤러는 상기 인터럽션요구비트와 인터럽션인에이블비트의 설정에 따라서, 상기 인터럽션인에이블비트가 설정되었을 때 상기 인터럽션요구비트와 상기 인터럽션인에이블비트가 각각 속해 있는 상기 인터럽션요구레지스터와 상기 인터럽션인에이블레지스터에 대응하는 프로세서소자로 인터럽션요구를 출력하는 인터럽션제어장치.
  3. 특허청구의 범위 제2항에 있어서, 또 상기 멀티프로세서시스템은 제2의 인터럽션요구선에 의해 상기 인터럽션제어장치에 각각 접속된 다수의 주변장치를 포함하고, 상기 각각의 인터럽션요구레지스터는 상기 주변장치에 대응하는 다수의 제2의 인터럽션요구비트를 포함하고, 상기 각각의 제2의 인터럽션요구비트는 대응하는 주변장치에서의 인터럽션요구의 발생을 표시하도록 비트설정수단에 의해 설정되고, 상기 각각의 인터럽션인에이블레지스터는 상기 대응하는 인터럽션요구레지스터의 상기 제2의 인터럽션요구비트에 대응하는 다수의 제2의 인터럽션인에이블비트를 포함하고, 상기 각각의 인터럽션인에이블비트는 상기 대응하는 인터럽션요구레지스터의 대응하는 인터럽션요구비트로 표시된 인터럽션요구의 허가를 표시하도록 대응하는 프로세서소자에 의해 설정되고, 상기 인터럽션요구컨트롤러는 상기 인터럽션요구비트와 인터럽션인에이블비트의 설정에 따라서, 상기 인터럽션인에이블비트가 설정되었을 때 상기 인터럽션요구비트와 상기 인터럽션인에이블비트가 각각 속해 있는 상기 인터럽션요구레지스터와 상기 인터럽션인에이블레지스터에 대응하는 프로세서소자로 인터럽션요구를 출력하는 인터럽션제어장치.
  4. 다수의 상호접속된 프로세서소자와 다수의 주변장치를 포함하는 멀티프로세서시스템에서 인터럽션요구를 제어하고, 제1의 인터럽션요구선에 의해 상기 프로세서소자의 각각에 접속되고, 제2의 인터럽션요구선에 의해 상기 주변장치의 각각에 접속되어 있는 인터럽션제어장치에 있어서, 상기 프로세서소자의 각각에서 각각 리드액세스 가능하고, 상기 프로세서소자의 각각에서 각각 라이트액세스 가능하며, 상기 주변장치에 대응하는 다수의 인터럽션요구레지스터와 상기 인터럽션요구레지스터에 대응하는 다수의 인터럽션인에이블레지스터를 갖는 인터럽션제어레지스터와 상기 인터럽션요구레지스터에 대응하는 주변장치에 의해 발생된 인터럽션요구에 따라서 인터럽션요구레지스터에 인터럽션요구비트를 설정하고, 인터럽션요구가 허가된 것을 대응하는 인터럽션인에이블비트가 나타낼 때 설정되어 있는 상기 인터럽션요구비트에 대응하는 프로세서소자로 인터럽션요구를 출력하는 인터럽션요구컨트롤러를 포함하며, 각각의 인터럽션요구레지스터는 각각이 상기 인터럽션요구레지스터에 대응하는 주변장치에서 상기 인터럽션요구비트에 대응하는 프로세서소자로 인터럽션요구의 발생을 표시하도록 설정되고 상기 프로세서소자에 대응하는 다수의 인터럽션요구비트를 포함하고, 각각의 인터럽션인에이블레지스터는 각각이 상기 대응하는 인터럽션요구레지스터에 대응하는 주변장치에서 대응하는 인터럽션요구비트에 대응하는 프로세서소자로 인터럽션요구에 대한 허가를 표시하도록 대응하는 프로세서소자에 의해 설정되고 대응하는 인터럽션요구레지스터내의 상기 다수의 인터럽션요구비트에 대응하는 다수의 인터럽션인에이블비트를 포함하는 인터럽션제어장치.
  5. 인터럽션제어장치의 외부에서 액세스 가능하며, 각각이 인터럽션요구의 발생이 설정된 때를 나타내는 다수의 인터럽션요구비트를 갖는 다수의 인터럽션요구레지스터, 대응하는 인터럽션요구레지스터의 인터럽션요구비트에 대응하고 각각이 상기 대응하는 요구레지스터의 대응하는 인터럽션요구비트로 표시된 인터럽션요구에 대한 허가를 설정한 때를 나타내는 다수의 인터럽션인에이블비트를 갖고, 상기 인터럽션요구레지스터에 대응하며, 각각이 상기 인터럽션제어장치의 외부에서 라이트액세스 가능한 다수의 인터럽션인에이블레지스터와 상기 인터럽션요구비트와 인터럽션인에이블비트의 설정에 따라서, 상기 인터럽션인에이블비트가 설정될 때 상기 인터럽션요구비트와 상기 인터럽션인에이블비트가 각각 속해 있는 인터럽션요구레지스터와 인터럽션인에이블레지스터에 대응하는 인터럽션요구를 출력하는 인터럽션수단을 포함하는 인터럽션제어장치.
  6. 특허청구의 범위 제5항에 있어서, 또 입력신호에 대응하는 인터럽션요구비트를 설정하는 비트설정수단을 포함하는 인터럽션제어장치.
  7. 특허청구의 범위 제5항에 있어서, 상기 인터럽션제어장치는 단일 반도체집적회로칩상에 형성되는 인터럽션제어장치.
  8. 특허청구의 범위 제6항에 있어서, 상기 인터럽션제어장치는 단일 반도체집적회로칩상에 형성되는 인터럽션제어장치.
  9. 특허청구의 범위 제7항에 있어서, 또 상기 인터럽션제어장치와 함께 상기 칩상에 형성되어 버스를 제어하는 버스제어장치를 포함하는 인터럽션제어장치.
  10. 특허청구의 범위 제5항에 있어서, 또 상기 다수의 인터럽션요구레지스터와 상기 다수의 인터럽션인에이블레지스터를 포함하는 인터럽션제어레지스터, 입력신호에 따라서 인터럽션요구비트를 인터럽션요구레지스터에 설정하는 비트설정장치를 포함하는 인터럽션제어장치.
  11. 특허청구의 범위 제10항에 있어서, 또 상기 인터럽션제어장치와 함께 상기 칩상에 형성되어 버스를 제어하는 버스제어장치를 포함하는 인터럽션제어장치.
  12. 다수의 프로세서소자와 상기 프로세서소자에 대응하는 다수의 인터럽션요구레지스터와 인터럽션요구수단을 가지며, 상기 멀티프로세서시스템의 프로세서소자 사이의 인터럽션요구를 제어하는 인터럽션제어장치를 포함하고, 각각의 인터럽션요구레지스터는 대응하는 프로세서소자에서 리드액세스를 허가하고, 상기 대응하는 프로세서소자 이외의 적어도 프로세서소자에서 라이트액세스를 허가하며, 각각의 프로세서소자에서의 인터럽션요구의 발생을 표시하도록 설정되는 다수의 인터럽션요구비트를 포함하고, 상기 인터럽션요구수단은 인터럽션요구레지스터의 인터럽션요구비트의 설정에 따라서 설정되어 있는 상기 인터럽션요구비트가 속해 있는 인터럽션요구레지스터에 대응하는 프로세서소자로 인터럽션요구를 출력하는 멀티프로세서시스템.
  13. 특허청구의 범위 제12항에 있어서, 또 상기 인터럽션제어장치내에 포함되어 상기 인터럽션요구레지스터에 대응하는 다수의 인터럽션인에이블레지스터를 포함하고, 각각의 인터럽션인에이블레지스터는 적어도 하나의 대응하는 프로세서소자에서 라이트액세스를 허가하고, 각각의 인터럽션인에이블레지스터는 각각의 인터럽션인에이블비트가 설정되었을 때 대응하는 인터럽션요구레지스터의 대응하는 인터럽션요구비트로 표시된 인터럽션요구에 대한 허가를 나타내고 대응하는 인터럽션요구레지스터의 상기다수의 인터럽션요구비트에 대응하는 다수의 인터럽션인에이블비트를 포함하고, 상기 인터럽션요구수단은 상기 인터럽션요구비트와 인터럽션인에이블비트의 설정에 따라서, 상기 인터럽션인에이블비트가 설정되었을 때 상기 인터럽션요구비트와 상기 인터럽션인에이블비트가 각각 속해 있는 인터럽션요구레지스터와 인터럽션인에이블레지스터에 대응하는 프로세서소자로 인터럽션요구를 출력하는 멀티프로세서시스템.
  14. 특허청구의 범위 제13항에 있어서, 또 다수의 주변장치를 포함하고, 상기 각각의 인터럽션요구레지스터는 상기 주변장치에 대응하며, 각각이 대응하는 주변장치에서의 인터럽션요구의 발생을 설정할 때를 나타내는 다수의 제2의 인터럽션요구비트를 포함하고, 상기 각각의 인터럽션인에이블레지스터는 각각의 인터럽션인에이블비트가 설정되었을 때 대응하는 인터럽션요구레지스터의 대응하는 인터럽션요구비트로 표시된 인터럽션요구의 허가를 나타내고 상기 제2의 인터럽션요구비트에 대응하는 다수의 제2의 인터럽션인에이블비트를 포함하며, 상기 인터럽션요구수단은 프로세서소자 또는 주변장치에 의해 발생된 인터럽션요구의 발생에 따라서 인터럽션요구레지스터에 상기 프로세서소자 또는 주변장치에 대응하는 인터럽션요구비트를 설정하고, 상기 인터럽션요구비트에 대응하는 인터럽션인에이블비트가 설정되었을 때 상기 인터럽션요구레지스터에 대응하는 프로세서소자로 인터럽션요구를 출력하는 멀티프로세서시스템.
KR1019910003591A 1990-03-08 1991-03-06 멀티 프로세서시스템 및 인터럽션 제어장치 KR940001878B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP5742490A JP2831083B2 (ja) 1990-03-08 1990-03-08 マルチプロセッサシステムおよび割り込み制御装置
JP2-57424 1990-03-08
JP2070866A JP2801943B2 (ja) 1990-03-20 1990-03-20 バス制御方式、情報処理システムおよびバス制御装置
JP2-70866 1990-03-20

Publications (2)

Publication Number Publication Date
KR910017305A KR910017305A (ko) 1991-11-05
KR940001878B1 true KR940001878B1 (ko) 1994-03-10

Family

ID=26398466

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019910003591A KR940001878B1 (ko) 1990-03-08 1991-03-06 멀티 프로세서시스템 및 인터럽션 제어장치

Country Status (2)

Country Link
US (1) US5317747A (ko)
KR (1) KR940001878B1 (ko)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5581770A (en) * 1992-06-04 1996-12-03 Mitsubishi Denki Kabushiki Kaisha Floating interruption handling system and method
JP2729343B2 (ja) * 1992-08-28 1998-03-18 三菱電機株式会社 複数個の処理装置を有する情報処理システムおよびこの情報処理システムにおいて用いられる制御装置ならびに処理装置
US5461720A (en) * 1992-09-23 1995-10-24 International Business Machines Corporation System for increasing the efficiency of communications between controller and plurality of host computers by prohibiting retransmission of the same message for predetermined period of time
EP0590175B1 (de) * 1992-09-28 1996-07-24 Siemens Aktiengesellschaft Prozesssteuerungssystem
US5481724A (en) * 1993-04-06 1996-01-02 International Business Machines Corp. Peer to peer computer-interrupt handling
US5894577A (en) * 1993-09-22 1999-04-13 Advanced Micro Devices, Inc. Interrupt controller with external in-service indication for power management within a computer system
US6018785A (en) * 1993-12-30 2000-01-25 Cypress Semiconductor Corp. Interrupt-generating hardware semaphore
DE4406094C2 (de) * 1994-02-25 2000-04-13 Lp Elektronik Gmbh Vorrichtung zum Betrieb einer Steuerungsanwendung
US5905898A (en) * 1994-05-31 1999-05-18 Advanced Micro Devices, Inc. Apparatus and method for storing interrupt source information in an interrupt controller based upon interrupt priority
JP2921412B2 (ja) * 1994-09-30 1999-07-19 日本電気株式会社 データ処理装置
US5708813A (en) * 1994-12-12 1998-01-13 Digital Equipment Corporation Programmable interrupt signal router
US5535420A (en) * 1994-12-14 1996-07-09 Intel Corporation Method and apparatus for interrupt signaling in a computer system
US5872982A (en) * 1994-12-28 1999-02-16 Compaq Computer Corporation Reducing the elapsed time period between an interrupt acknowledge and an interrupt vector
US5721931A (en) * 1995-03-21 1998-02-24 Advanced Micro Devices Multiprocessing system employing an adaptive interrupt mapping mechanism and method
US5594905A (en) * 1995-04-12 1997-01-14 Microsoft Corporation Exception handler and method for handling interrupts
US5933613A (en) * 1995-07-06 1999-08-03 Hitachi, Ltd. Computer system and inter-bus control circuit
US5764996A (en) * 1995-11-27 1998-06-09 Digital Equipment Corporation Method and apparatus for optimizing PCI interrupt binding and associated latency in extended/bridged PCI busses
US5892956A (en) * 1995-12-19 1999-04-06 Advanced Micro Devices, Inc. Serial bus for transmitting interrupt information in a multiprocessing system
US5894578A (en) * 1995-12-19 1999-04-13 Advanced Micro Devices, Inc. System and method for using random access memory in a programmable interrupt controller
US5850558A (en) * 1995-12-19 1998-12-15 Advanced Micro Devices System and method for referencing interrupt request information in a programmable interrupt controller
US5850555A (en) * 1995-12-19 1998-12-15 Advanced Micro Devices, Inc. System and method for validating interrupts before presentation to a CPU
US5778236A (en) * 1996-05-17 1998-07-07 Advanced Micro Devices, Inc. Multiprocessing interrupt controller on I/O bus
US5923887A (en) * 1996-05-20 1999-07-13 Advanced Micro Devices, Inc. Interrupt request that defines resource usage
US6421746B1 (en) 1998-03-26 2002-07-16 Micron Electronics, Inc. Method of data and interrupt posting for computer devices
US6298409B1 (en) 1998-03-26 2001-10-02 Micron Technology, Inc. System for data and interrupt posting for computer devices
US6760799B1 (en) * 1999-09-30 2004-07-06 Intel Corporation Reduced networking interrupts
DE19955776C1 (de) * 1999-11-19 2001-07-19 Infineon Technologies Ag Multitasking-Prozessorsystem
EP1191455A1 (en) * 2000-09-25 2002-03-27 Lucent Technologies Inc. Interrupt processor
US7343510B1 (en) 2003-12-22 2008-03-11 Cypress Semiconductor Corporation Method and device for selecting one of multiple clock signals based on frequency differences of such clock signals
JP4171910B2 (ja) * 2004-03-17 2008-10-29 日本電気株式会社 並列処理システム及び並列処理プログラム
JP2006119802A (ja) * 2004-10-20 2006-05-11 Hitachi Ltd マルチプロセッサシステム
US7702835B2 (en) * 2005-02-03 2010-04-20 Oracle America, Inc. Tagged interrupt forwarding
US7415557B2 (en) 2006-06-06 2008-08-19 Honeywell International Inc. Methods and system for providing low latency and scalable interrupt collection
US20080082710A1 (en) * 2006-09-29 2008-04-03 Dell Products L.P. System and method for managing system management interrupts in a multiprocessor computer system
KR101841930B1 (ko) 2012-01-30 2018-03-26 삼성전자주식회사 인터럽트 스프레드 방법, 인터럽트 스프레드 장치 및 이를 구비하는 시스템 온-칩
US8924615B2 (en) 2012-10-26 2014-12-30 Arm Limited Communication of message signalled interrupts

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3676861A (en) * 1970-12-30 1972-07-11 Honeywell Inf Systems Multiple mask registers for servicing interrupts in a multiprocessor system
US3829839A (en) * 1972-07-24 1974-08-13 California Inst Of Techn Priority interrupt system
US3999165A (en) * 1973-08-27 1976-12-21 Hitachi, Ltd. Interrupt information interface system
DE2659662C3 (de) * 1976-12-30 1981-10-08 Ibm Deutschland Gmbh, 7000 Stuttgart Prioritätsstufengesteuerte Unterbrechungseinrichtung
US4279016A (en) * 1979-06-21 1981-07-14 International Business Machines Corporation Instruction pre-fetch microprocessor interrupt system
US4271468A (en) * 1979-11-06 1981-06-02 International Business Machines Corp. Multiprocessor mechanism for handling channel interrupts
US4420806A (en) * 1981-01-15 1983-12-13 Harris Corporation Interrupt coupling and monitoring system
US4495569A (en) * 1982-06-28 1985-01-22 Mitsubishi Denki Kabushiki Kaisha Interrupt control for multiprocessor system with storage data controlling processor interrupted by devices
US4779195A (en) * 1985-06-28 1988-10-18 Hewlett-Packard Company Interrupt system using masking register in processor for selectively establishing device eligibility to interrupt a particular processor
JPS62243058A (ja) * 1986-04-15 1987-10-23 Fanuc Ltd マルチプロセツサシステムの割込制御方法
US4989113A (en) * 1987-03-13 1991-01-29 Texas Instruments Incorporated Data processing device having direct memory access with improved transfer control
US4953072A (en) * 1987-05-01 1990-08-28 Digital Equipment Corporation Node for servicing interrupt request messages on a pended bus
US4991084A (en) * 1988-02-05 1991-02-05 International Business Machines Corporation N×M round robin order arbitrating switching matrix system
US5115506A (en) * 1990-01-05 1992-05-19 Motorola, Inc. Method and apparatus for preventing recursion jeopardy
US5125093A (en) * 1990-08-14 1992-06-23 Nexgen Microsystems Interrupt control for multiprocessor computer system

Also Published As

Publication number Publication date
KR910017305A (ko) 1991-11-05
US5317747A (en) 1994-05-31

Similar Documents

Publication Publication Date Title
KR940001878B1 (ko) 멀티 프로세서시스템 및 인터럽션 제어장치
US4325116A (en) Parallel storage access by multiprocessors
US3573855A (en) Computer memory protection
US5043878A (en) System with real-time checking of privilege levels and the system's state to allow access to internal resources of the system
US5276842A (en) Dual port memory
KR100385871B1 (ko) 인터럽트 제어기
US3828327A (en) Simplified storage protection and address translation under system mode control in a data processing system
US4137565A (en) Direct memory access module for a controller
US5142638A (en) Apparatus for sharing memory in a multiprocessor system
KR100344132B1 (ko) 컴퓨터 메모리 인터페이스용 장치와, 휴대용 이동 컴퓨터와 그 컴퓨터에서의 프로그램 명령 페치 및 데이타 기록/판독 요청 수행 방법
JPH0430053B2 (ko)
US5291605A (en) Arrangement and a method for handling interrupt requests in a data processing system in a virtual machine mode
US5459872A (en) Software control of hardware interruptions
US5933613A (en) Computer system and inter-bus control circuit
EP0331487B1 (en) Data transfer control system
JP2831083B2 (ja) マルチプロセッサシステムおよび割り込み制御装置
US5568631A (en) Multiprocessor system with a shared control store accessed with predicted addresses
KR920002830B1 (ko) 다이렉트 메모리 액세스 제어장치
CA2078913A1 (en) Interprocessor communication system and method for multiprocessor circuitry
JP2797760B2 (ja) 並列処理コンピュータシステム
CA1245772A (en) Logical arrangement for controlling use of different system displays by main processor and co-processor
US7765383B2 (en) Data processing unit and data processing apparatus using data processing unit
JPH0330175B2 (ko)
US6282600B1 (en) Method and apparatus of resolving conflicting register access requests from a service processor and system processor
JPS6362778B2 (ko)

Legal Events

Date Code Title Description
A201 Request for examination
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: 20030228

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee