KR920006617B1 - 멀티프로세서시스템 - Google Patents

멀티프로세서시스템 Download PDF

Info

Publication number
KR920006617B1
KR920006617B1 KR1019890007682A KR890007682A KR920006617B1 KR 920006617 B1 KR920006617 B1 KR 920006617B1 KR 1019890007682 A KR1019890007682 A KR 1019890007682A KR 890007682 A KR890007682 A KR 890007682A KR 920006617 B1 KR920006617 B1 KR 920006617B1
Authority
KR
South Korea
Prior art keywords
central processing
memory
unit
data
processing unit
Prior art date
Application number
KR1019890007682A
Other languages
English (en)
Other versions
KR910001565A (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 가부시기가이샤 히다찌세이사꾸쇼
Publication of KR910001565A publication Critical patent/KR910001565A/ko
Application granted granted Critical
Publication of KR920006617B1 publication Critical patent/KR920006617B1/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
    • 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
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks
    • 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
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port

Abstract

내용 없음.

Description

멀티프로세서시스템
제1도는 본원 발명의 제1의 실시예에 의한 멀티프로세서시스템의 요부의 구성을 나타낸 블록도.
제2a도 및 제2b도는 주기억장치와 확장기억장치 사이의 데이터전송명령의 형식의 일예를 나타낸 도면.
제3도는 기억제어장치를 내부 구성을 중심으로 제1의 처리계의 중앙처리장치로부터 제2의 처리계의 확장기억을 액세스하는 논리처리부의 요부의 구성을 나타낸 블록도.
제4a도,제4b도,제4c도 및 제4d도는 멀티프로세서시스템에 있어서의 주기억장치와 확장기억장치 사이의 다른 데이터전송명령의 형식의 일예를 나타낸 도면.
제5도는 확장기억상대어드레스로부터 확장기억절대어드레스에의 어드레스변환을 행하는 어드레스변환기구를 설명하는 도면.
제6도는 본원 발명의 다른 실시예에 의한 멀티프로세서시스템의 전체의 구성을 나타낸 블록도.
제7도는 본원 발명의 일실시예에 의한 멀티프로세서시스템의 데이터전송에 있어서의 공통클록공급계의 구성을 설명하는 도면.
제8도는 멀티프로세서시스템의 데이터전송에 있어서의 공통클록공급계의 구성의 다른 예를 설명하는 도면.
본원 발명은 멀티프로세서시스템에 관한 것이며, 특히 멀티프로세서시스템을 구성하는 각각의 중앙처리장치가 독립된 오퍼레이팅시스템으로 동작하는 소결합(疎結合)의 멀티프로세서시스템에 있어서, 시스템의 성능을 향상시키는 멀티프로세서시스템에 관한 것이다.
데이터처리시스템의 성능을 향상시키기 위해서, 복수대의 중앙처리장치로 시스템을 구성하는 멀티프로세서시스템이 실현되어 있다. 멀티프로세서시스템은 중앙처리장치의 결합방법의 차이에 따라 밀결합(密結合)의 멀티프로세서시스템과 소결합의 멀티프로세서시스템과의 2종류의 시스템 구성법이 있다.
소결합의 멀티프로세서시스템은 독립된 중앙처리장치 및 주기억장치를 가진 복수개의 시스템(독립된 오퍼레이팅시스템으로 동작하는 시스템)이 직접 액세스기억장치(DASD) 및 자기테이프장치를 공용(共用)하고, 채널간 결합장치(CTCA:Channel To Channel Adapter)로 결합됨으로써, 1시스템이미지로 운전되는 시스템이다. 또, 밀결합의 멀티프로세서시스템은 복수대의 중앙처리장치가 하나의 주기억장치를 공용하여 복수대의 중앙처리장치에서 하나의 오퍼레이팅시스템으로 동작하는 시스템이다.
소결합의 멀티프로세서시스템은 구성요소인 각 중앙처리장치가 독립된 오퍼레이팅시스템으로 동작하고, 그 사이의 결합이 채널결합장치에 의해 결합될 뿐이므로, 밀결합의 멀티프로세서시스템에 비하여 시스템의 확장이 용이하며, 대형의 시스템을 구성할 수 있다. 이 소결합의 멀티프로세서시스템에서는 상이한 타입의 중앙처리장치를 결합할 수 있는 이점이 있다. 이것은 소결합의 멀티프로세서시스템이 채널간 결합장치에 의해 공통의 표준인터페이스로 각 중앙처리장치간의 통신을 행하는 시스템구성으로 되어 있기 때문이다.
그런데, 이와 같은 채널결합장치에 의해 각 중앙처리장치 사이를 결합하는 소결합 멀티프로세서시스템의 구성에서는 입출력채널의 입출력인터페이스의 데이터전송의 스루푸트(through put)가 작다는 것, 또 어떤 중앙처리장치로부터 다른 중앙처리장치에의 통신을 하는 경우에, 데이터송출원의 중앙처리장치의 오퍼레이팅시스템에 의한 입출력 명령작성의 오버헤드, 수취측의 오퍼레이팅시스템에 의한 소프트웨어처리의 오버헤드 등에 의해 시스템의 성능의 향상에는 한도가 있다.
이에 대해서는 예를들면 일본국 특공소 61(1986)-25179호 공보에 기재된 바와 같이, 어떤 프로세서의 주기억장치중에 공용메모리영역을 설정하여 각 프로세서에 프로세서간 통신기능을 구비한 멀티프로세서시스템의 제안이 있다. 이 멀티프로세서시스템에서는 프로세서간 통신기능에 의해, 어떤 프로세서로부터 공용 메모리 영역이 있는 어떤 다른 중앙처리장치내의 주기억장치의 직접적인 액세스가 가능하게 되어 있다. 이 시스템에 있어서의 공용 메모리영역은 주기억장치의 일부의 영역이기 때문에 그 용량은 작다.
또, 주기억장치의 기억영역을 확장하기 위해 확장기억장치를 설치하는 시스템 구성의 데이터처리시스템은 예를들면 일본국 특개소 58(1983)-9276호 공보(미합중국 특허 제4,476,524호 명세서)에 기재되어 있다. 이 데이터처리시스템은 확장기억장치로서 페이지기억장치가 설치되어 있다. 페이지기억장치는 그것이 설치되어 있는 중앙처리장치에서 전용적으로 사용되는 것이며, 어떤 중앙처리장치의 프로세서로부터 다른 중앙처리장치내의 페이지기억장치(확장기억장치)에의 직접적인 액세스는 되지 않는 구성으로 되어 있다.
그런데, 소결합의 멀티프로세서시스템에 있어서는 각 중앙처리장치간의 데이터전송은 채널간 결합장치를 사용하여 채널경유로 행하는 시스템 구성이 일반적인 방법이다. 그러나, 이 채널결합에 의한 멀티프로세서화의 방법은 상술한 바와 같이 (1)채널간 결합장치의 채널인터페이스의 스루푸트가 작다는 것과, (2)데이터의 송출측과 수신측과의 중앙처리장치에서 각기 입출력기등과 입출력인터럽트의 소프트웨어처리가 소요되기 때문에 시스템 성능의 향상에는 한도가 있다. 이 때문에 예를들면 상술한 일본국 특공소 61(1986)-25179호 공보에 기재된 멀티프로세서시스템에서는 어떤 중앙처리장치내의 주기억장치에 공용 메모리영역을 설정하고, 다른 중앙처리장치로부터 인터페이스제어부에 의해 직접적으로 액세스할 수 있도록 하여 시스템의 성능향상을 도모하는 구성으로 되어 있다.
그러나, 이와 같은 멀티프로세서시스템의 구성에서는 프로세서간의 통신을 행하기 의해 사용하는 공용 메모리영역은 어떤 중앙처리장치의 주기억장치의 일부의 메모리영역이기 때문에, 공용 메모리영역을 그다지 크게 할 수 없고, 공용 메모리영역에는 대용량의 데이터를 들 수 없다. 이 때문에, 대용량의 데이터를 복수대의 프로세서에서 공유하여 처리할 필요가 있는 경우에는 빈번하게 프로세서간의 통신을 하든가, 또는 채널결합장치를 통해서 데이터전송을 하지 않으면 안되며, 시스템의 데이터처리의 성능은 향상되어 있지 않다.
본원 발명의 제1의 목적은 멀티프로세서시스템에 있어서의 각 중앙처리장치 사이에서 대용량의 데이터를 직접적으로 액세스가능한 상태로 공유하는 것을 가능하게 하여, 멀티프로세서시스템의 성능을 향상시키는데 있다.
본원 발명의 제2의 목적은 멀티프로세서시스템의 각 중앙처리장치 사이에서 대용량의 데이터를 각기 확장기억장치에 격납하여 공유하고, 각 중앙처리장치로부터 다른 중앙처리장치의 확장기억장치에 직접적으로 액세스를 하는 것을 가능하게 하여, 멀티프로세서시스템의 성능을 향상시키는데 있다.
본원 발명의 제3의 목적은 멀티프로세서시스템의 각 중앙처리장치 사이에서 각각의 확장기억장치에 격납하고 있는 대용량 데이터를 액세스하여, 독해기입하는 경우의 데이터전송의 전송제어를 용이하게 행하고, 각 중앙처리장치 사이에서 대용량 데이터를 공유화하여, 멀티프로세서시스템의 성능을 향상시키는데 있다.
상기 목적을 달성하기 위해, 본원 발명의 멀티프로세서시스템은 각 중앙처리장치가 확장기억장치를 구비하는 멀티프로세서시스템으로서, 한쪽의 중앙처리장치로부터 다른쪽의 중앙처리장치의 확장기억장치를 액세스하는 수단을 구비한 것을 특징으로 한다.
또, 본원 발명에 있어서는 주기억장치와, 확장기억장치와, 기억제어장치를 통해서 주기억장치 또는 확장기억장치를 액세스하는 명령처리장치와, 다른 중앙처리장치와의 사이의 통신을 행하는 인터페이스제어부를 포함하는 기억제어장치를 구비한 중앙처리장치의 각각이 인터페이스제어부를 통해서 결합된 멀티프로세서시스템으로서, 각 중앙처리장치의 확장기억장치에 대하여 미리 설정된 식별번호에 의해 확장기억장치를 식별하여, 당해 확장기억장치를 액세스하는 것을 특징으로 한다.
본원 발명의 멀티프로세서시스템에 있어서는 또한 공통 클록을 발생하는 공통클록발생수단을 구비하고, 인터페이스제어부가 다른 중앙처리장치와의 사이에서 통신을 행하고, 다른 중앙처리장치의 확장기억장치에 격납된 데이터의 데이터전송을 행하는 경우, 공통클록에 의해 자체의 중앙처리장치와 통신을 행하는 다른 중앙처리장치를 동일의 시간계로 동작시키고, 다른 중앙처리장치내의 확장기억장치의 데이터를 액세스하여, 중앙처리장치간의 데이터전송을 행하는 것을 특징으로 한다.
본원 발명의 멀티프로세서시스템에 있어서, 각 중앙처리장치에는 주기억장치, 확장기억장치, 기억제어장치를 통해서 주기억장치 또는 확장기억장치를 액세스하는 명령처리장치와, 다른 중앙처리장치와의 사이의 통신을 하는 인터페이스제어부를 포함하는 기억제어장치가 구비된다. 이 기억제어장치의 인터페이스제어부에 의해 복수개의 중앙처리장치가 결합되어서 소결합의 멀티프로세서시스템이 구성된다. 이 멀티프로세서시스템에 있어서의 각 중앙처리장치는 독립된 오퍼레이팅시스템으로 동작한다. 각 중앙처리장치에 구비된 각 확장기억장치에 대해서는 미리 식별번호가 설정되고, 각 중앙처리장치의 명령처리장치는 확장기억장치의 식별번호를 저정하여, 당해 확장기억장치를 액세스한다. 이로 인해, 멀티프로세서시스템에 있어서, 데이터처리에서 사용하는 대용량 데이터가 기억되는 확장기억장치(복수)는 각 중앙처리장치에서 독립해서 동작하고 있는 오퍼레이팅시스템에 의해 액세스할 수 있게 되고, 확장기억장치(복수)의 데이터가 임의의 각 중앙처리장치의 오퍼레이팅시스템으로부터 공통으로 직접적으로 이용할 수 있게 된다.
즉, 멀티프로세서시스템에 있어서, 각 중앙처리장치에서 독립해서 동작하는 오퍼레이팅시스템(명령처리장치)으로부터 각 확장기억장치에 대하여 그 식별번호를 지정하여 액세스를 행하고, 액세스한 중앙처리장치와 당해 확장기억장치 사이에서의 데이터전송을 행하는 경우, 데이터전송은 인터페이스제어부에 의한 프로세서간 통신기능을 사용해서 직접적으로 행한다. 또, 인터페이스제어부를 통해서 프로세서간 통신을 행하는 경우, 인터페이스제어부는 공통클록을 사용하고, 자체의 중앙처리장치와 통신을 행하는 다른 중앙처리장치를 동일의 시간계로 동작시켜, 일련의 데이터전송동작을 한다. 이로 인해, 데이터전송에 있어서의 동기화가 용이하게 행해지고, 비동기로 중앙처리장치간의 데이터전송을 하는 경우에 비교해서, 발생하는 동기화 손실을 없앨 수 있다.
이로 인해, 본원 발명의 멀티프로세서시스템에 있어서는 각 중앙처리장치간에서 대용량을 확장기억장치에 격납하여 데이터를 공유할 수 있게 되고, 또 각 중앙처리장치는 임의의 확장기억장치의 데이터의 액세스를 용이하게 행할 수 있으므로, 멀티프로세서시스템의 성능을 향상시킬 수 있게 된다.
제1도는 본원 발명의 제1의 실시예에 의한 멀티프로세서시스템의 요부의 구성을 나타낸 블록도이다. 제1도의 블록도에서는 2대의 중앙처리장치로 이루어지는 소결합 멀티프로세서시스템을 나타내고 있다. 제1도에 있어서, (10)은 제1의 처리계(CPU #0)의 중앙처리장치이다. 이 중앙처리장치(10)에는 명령처리를 실행하는 명령처리장치(IP)(11), 기억제어장치(SC)(12), 주기억장치(MS)(13), 확장기억장치(ES)(14)가 구비되어 있다. 기억제어장치(12)에는 기억제어부(storage controls)(12a) 및 인터페이스제어부(IF)(15)가 포함되어 있다. 또, (20)은 제2의 처리계(CPU #1)의 중앙처리장치이다. 이 중앙처리장치(20)에는 명령처리장치(21), 기억제어장치(22), 주기억장치(23), 확장기억장치(24)가 구비되어 있다. 기억제어장치(22)에는 기억제어부(22a) 및 인터페이스제어부(25)가 포함되어 있다. 제1의 처리계의 확장기억장치(14)에는 식변번호 ESID로서 "ESID=0"가 설정되고, 제2의 처리계의 확장기억장치(24)에는 식변번호 ID로서 "ESID=1"이 설정되어 있다. 각 인터페이스제어부(15), (25)는 각기 중앙처리장치간에서 데이터전송을 위한 인터페이스제어를 한다. 이 인터페이스제어부는 고속의 데이터전송을 하기 때문에 예를들면 하드웨어회로로 구성된다. 또는, 인터페이스제어부는 기억제어장치(12)가 행하는 각각의 제기능에 포함되어서 실현된다.
멀티프로세서시스템에 있어서, 주기억장치와 확장기억장치 사이의 데이터전송에는 동기전송과 비동기전송의 2형태가 있다. 동기전송의 형태의 데이터전송은 명령처리장치의 명령처리에 있어서, 명령어로 기동하고, 그 명령실행중에 데이터전송을 행하는 것이다. 이 데이터전송의 명령처리가 실행되면, 데이터전송의 처리완료까지 명령처리장치는 대기상태가 되고, 다음의 명령처리가 행하여지지 않는다. 이 때문에, 데이터전송은 명령실행과 동기하여 행하여지므로 이것을 동기전송이라고 한다. 다른 하나의 비동기전송의 데이터전송은 스타트 I/O, 스타트서브채널 등의 입출력명령에 의해 입출력처리를 행하는 채널코맨드어(CCW)의 코맨드로 기동되고, 명령처리장치의 명령실행과는 비동기로 데이터전송을 행하는 것이다. 이 때문에, 이 형태의 데이터전송을 비동기전송이라고 한다.
제2a도 및 제2b도는 주기억장치와 확장기억장치 사이의 동기전송명령의 형식의 일예를 나타내는 도면이다. 데이터전송명령은 제2a도에 나타내는 바와 같이, 명령코드와 주기억상의 1오퍼랜드를 지정하는 형식으로 되어 있다. 주기억상에서 지정되는 오퍼랜드는 제2b도에 나타내는 바와 같이 3워드(W0, W1, W2)로 구성되어 있다. 구체적으로는 오퍼랜드의 3워드(W0워드, W1워드, W2워드)의 각 워드는 각기 데이터전송을 위한 지시제어데이터가 격납된다. W0워드에는 데이터전송의 종류 즉 주기억으로부터 확장기억인지 또는 그 반대인지를 표시하는 코맨드(COMMAND)와, 데이터전송하는 대상의 확장기억장치를 지정하는 식별번호(ESID)와, 전송하는 데이터량(L)이 격납된다. W1워드에는 데어터전송선 또는 데이터전송원의 확장기억어드레스(ES ADDRESS)가 격납되고, 또 W2워드에는 데이터전송선 또는 데이터전송원의 주기억어드레스(MS ADDRESS)가 격납된다.
제2a도 및 제2b도를 참조하여 주기억장치와 확장기억장치 사이의 데이터전송의 동작을 설명한다. 먼저, 제1의 처리계(CPU #0)내에서 중앙처리장치(10)가 주기억장치(13)와 확장기억장치(14)간의 데이터전송을 실행할때의 동작을 설명한다. 명령처리장치(11)는 주기억장치(13)로부터 제2a도로 도시한 명령을 독해했을때, 기억제어부(12a)에 대하여 확장기억과 주기억간의 데이터전송을 지시한다. 데이터전송처리를 개시하면 명령처리장치(11)는 제2b도에 도시된 바와 같은 오퍼랜드데이터를 독해하고, 기억제어부(12a)에 대하여 코맨드, 확장기억의 식별번호 ESID, 전송하는 데이터량, 확장기억어드레스 및 주기억어드레스를 송출한다. 이 경우, 기억제어부(12a)에 송출된 ESID가 0이므로, 대상으로 하는 확장기억은 제1의 처리계(CPU #0)의 중앙처리장치(10)에 내장되어 있는 확장기억장치(14)를 지시하고 있다. 따라서, 기억제어장치(12)는 지정된 어드레스에 의해 해당하는 확장기억장치(l4)와 주기억장치(13) 사이의 데이터전송을 행한다. 또, ESID가 1인때, 대상으로 하는 확장기억은 제2의 처리계(CPU #1)의 중앙처리장치(20)에 내장되어 있는 확장기억장치(24)를 지시하고 있다. 이 경우에는, 기억제어장치(12)는 인터페이스부(15)에 의해 기억제어장치(22)를 경유하여 지정된 어드레스에 따라 해당하는 확장기억장치(24)와 주기억장치(13) 사이의 데이터전송을 행하게 된다. 이것을 다음에 설명한다.
제1의 처리계(CPU #0)의 중앙처리장치(10)에서 실행하는 데이터전송명령의 코맨드가 제2의 처리계(CPU #1)의 확장기억장치(24)에 대한 스토어일때에는 기억제어장치(12)에 있어서 데이터전송리퀘스트, 확장기억어드레스, 송출데이터를 인터페이스제어부(15)에 각각 세트한다. 인터페이스제어부(15)는 이들 전송데이터를 제2의 처리계(CPU #1)의 중앙처리장치(20)에 송출하고, 기억제어장치(22)에 있어서의 인터페이스제어부(25)에 세트한다. 이에 따라서, 인터페이스제어부(25)로부터 기억제어부(22a)에 그들 전송제어데이터를 전달하고, 기억제어장치(22)는 부여된 전송제어데이터에 의거하여 제1의 처리계(CPU #0)의 주기억장치(13)와 제2의 처리계(CPU #1)의 확장기억장치(24) 사이의 데이터전송을 실행한다. 즉, 코맨드가 확장기억장치(24)에 대한 스토어를 지시하는 것이면, 인터페이스제어부(25)에 세트된 확장기억어드레스에 의해 전송데이터를 확장기억장치(24)에 스토어하여 동작을 종료한다.
또, 제1의 처리계(CPU #0)의 중앙처리장치(10)에서 실행하는 데이터전송명령의 코맨드가 제2의 처리계(CPU #1)의 확장기억장치(24)로부터의 데이터독해를 지시하는 것이면, 기억제어장치(22)는 지시된 확장기억어드레스로 데이터를 독해하고, 인터페이스제어부(25)내에 데이터를 세트한다. 이때, 인터페이스제어부(25)에는 데이터전송선의 주기억장치(13)에 데이터스토어를 지시하는 데이터전송리퀘스트가 세트되어 있으며, 또한 그 확장기억어드레스가 세트되어 있다. 이들 데이터는 인터페이스제어부(15)로부터 인터페이스제어부(25)에 송출된 것이다. 확장기억장치(24)로부터 독해된 데이터는 인터페이스제어부(25)를 통해서 인터페이스제어부(15)에 세트된다. 그리고, 기억제어부(12a)가 주기억장치(13)에 대한 데이터의 기입을 지시하고, 이 기입종료에 의해 중앙처리장치(10)가 기동한 확장기억장치(24)에 대한 독해동작이 종료된다. 제2의 처리계(CPU #1)의 중앙처리장치(20)측으로부터 이 종류의 데이터전송명령을 실행하는 동작도 상술한 바와같은 동작이 된다.
제3도는 제1의 실시예에 있어서의 기억제어장치 SC를 내부구성을 중심으로, 제1의 처리계의 중앙처리장치로부터 제2의 처리계의 확장기억을 액세스하는 논리처리부의 세부의 구성을 나타내는 블록도이다. 제1도와 같은 것은 동일 부호가 붙여져 있다.제1도에 있어서의 인터페이스제어부(15)는 우선순위결정회로(36b), (36c), (36d), 레지스터(38), (39)가 해당된다.
제3도를 참조하여 주기억에서 확장기억으로 데이터를 동기전송하는 경우와 확장기억에서 주기억으로 데이터를 동기전송하는 경우의 동작을 설명한다.
먼저, 전자에 대해 설명한다. 명령처리장치(11)는 주기억장치(13)로부터 제2a도에 도시한 명령을 독해하고, COMMAND를 해독하여 주기억으로부터 확장기억에의 동작지시를 알게 된다. 이때, 명령처리장치(11)는 이 동작지시리퀘스트와 함께 제2b도에 도시한 주기억데이터어드레스(R1), ESID, 확장기억어드레스, 진송데이터 L을 레지스터(31a)에 송출한다. 우선순위결정회로는 복수의 IP,IOP 중의 하나를 미리 정해진 우선순위를 따라서 선택한다. 리퀘스트와 부수정보는 우선순위결정회로(PRI)(36a)를 통과한 후 기억제어부(12a)에 들어간다. 기억제어부(12a)는 MS제어회로(34a)에 주기억데이터어드레스를 송출하고, 주기억장치(13)로부터 1단위의 데이터를 독해한다. 기억제어부(l2a)는 독해한 데이터를 확장기억에 전송한다. 이 경우, 확장기억절대어드레스의 ESID가 "ESID=0"이면 우선순위결정회로(PRI)(36d)에 대하여 기입리퀘스트와 확장기억블록어드레스와 주기억데이터를 송출한다. PRI(36d)는 이 리퀘스트를 선택한 후 리퀘스트와 부수정보를 ES 제어회로(35a)에 송출한다. ES 제어회로(35a)는 확장기억장치(14)에 주기억데이터를 격납하고, 그 완료를 우선순위결정회로(PRI)(36c)를 경유하여 기억제어부(12a)에 보고한다. 기억제어부(12a)는 전송블록수를 조사하여 아직도 전송해야할 블록이 남아 있으면, 그것이 없어질때까지 상술한 바와 같은 동작으로 주기억으로부터 확장기억에의 데이터전송을 실행한다.
다음에, 확장기억절대어드레스의 ESID가 "ESID=1"인 경우의 동작을 설명한다. 기억제어부(12a)는 주기억장치(13)로부터 1단위의 데이터를 독해한 후, 독해한 데이터를 전송해야 할 확장기억장치의 ESID가 1이라는 것을 알면, 레지스터(38), 우선순위결정회로(PRI)(36b), 레지스터(39)를 경유하여, CPU #0의 출력포트 A0로부터 인터페이스선(27b)를 통해서 CPU #1의 입력포트 B0에 대하여 확장기억블록어드레스, 기입데이터, 기입리퀘스트를 송출한다. 이 리퀘스트 및 부수정보는 우선순위결정회로(PRI)(46d)를 지나서 ES제어회로(45a)에 들어간다. ES 제어회로(45a)는 1단위의 데이터를 확장기억장치(24)에 기입한 후, 그 완료를 우선순위결정회로(PRI)(46b), 레지스터(49), CPU #1의 출력포트 A0로부터 인터페이스선(27b)를 통해서 CPU #0의 입력포트 B0에 송출한다. CPU #0에서는 그 정보를 받아서 PRI(36c)를 통해서 기억제어부(12a)에 입력한다. 기억제어부(12a)는 이 정보로부터 전송블록수를 조사하여 아직도 전송해야 할 데이터가 남아 있으면, 같은 순서로 데이터의 전송처리를 속행하고, 전송해야 할 데이터가 없어질때까지 주기억장치(13)로부터 확장기억장치(24)에의 데이터전송을 실행한다.
다음에, 확장기억장치로부터 주기억장치에 데이터를 동기전송하는 경우(확장기억의 독해)의 동작을 설명한다. 이 경우, 명령처리장치(11)가 확장기억으로부터 주기억에의 데이터전송리퀘스트, 주기억데이터어드레스, 확장기억어드레스, 전송데이터수를 레지스터(31a)에 송출하기까지의 동작은 상술한 경우의 동작과 같다. 이 데이터전송리퀘스트와 부수정보는 PRI(36a)를 통과한 후 기억제어부(12a)에 들어간다. 기억제어부(12a)는 확장기억절대어드레스를 조사하여 "ESID=0"이면, PRI(36d)를 통해서 ES 제어회로(35a)에 확장기억어드레스와 독해리퀘스트를 송출한다. ES 제어회로(35a)는 1단위의 데이터를 독해하고, 데이터와 독해완료보고를 PRI(36c)를 통해서 기억제어부(12a)에 송출한다. 기억제어부(12a)는 이 데이터와 주기억데이터어드레스를 MS 제어회로(34a)에 송출하여 주기억장치(13)에 데이터를 기입한다. MS 제어회로(34a)는 이 기입완료를 기억제어부(12a)에 보고한다. 기억제어부(12a)는 전송데이터수를 조사하여 아직 전송해야 할 데이터가 남아 있으면, 같은 순서로 그것이 없어질때까지 확장기억장치(14)로부터 주기억장치(13)에의 데이터전송을 실행한다.
다음에, 확장기억절대어드레스의 ESID가 "ESID=1"인 경우의 동작을 설명한다. 기억제어부(12a)는 ESID가 1이라는 것을 알면, 레지스터(38), PRI(36b), 레지스터(39)를 경유하여 CPU #0의 출력포트 A0로부터 인터페이스선(27a)를 통해서 CPU #1의 입력포트 B0에 대하여 확장기억어드레스와 데이터전송리퀘스트를 송출한다. 이 리퀘스트 및 부수정보는 PRI(46d)를 지나서 ES 제어회로(45a)에 들어간다. ES 제어회로(45a)는 확장기억장치(24)로부터 데이터를 독해하고, 데이터와 독해완료보고를 PRI(46b), 레지스터(49)를 통해서 CPU #1의 출력포트 A0로부터 인터페이스선(27b)를 통해서 CPU #0의 입력포트 B0에 송출한다. 이 데이터와 완료보고는 PRI(36c)을 통해서 기억제어부(12a)에 입력된다. 기억제어부(12a)는 MS 제어회로(34a)에 대해 주기억데이터어드레스, 데이터, 데이터전송리퀘스트를 송출하고, MS제어회로(34a)는 데이터의 기입을 행한 후, 그 완료보고를 기억제어부(12a)에 송출한다. 기억제어부(12a)는 전송블록수를 조사하여 아직도 전송해야 할 데이터가 남아 있으면, 같은 순서로 데이터전송 및 데이터기입을 속행하여, 그것이 없어질때까지 확장기억장치(24)로부터 주기억장치(13)에의 데이터전송을 실행한다.
이상의 실시예에 있어서는 명령중의 오퍼랜드로 직접 ESID를 지정하는 예를 나타냈으나, 다음에 간접적으로 ESID를 지정한 경우의 동기전송에 의한 데이터전송명령의 예를 나타낸다.
이 예에서는 1테라바이트의 용량을 가진 파일이라는 개념을 도입하여, 이 파일을 하나의 단위로서 데이터를 취급하기로 한다.
본 실시예에 있어서의 데이터전송명령은 제4a도에 도시한 바와 같이, 데이터전송명령이 명령코드 OP와 2개의 레지스트 R1, R2를 지정하는 형식으로 되어 있다. 레지스터 R1, R2의 내용은 제4b도에 도시한 바와 같이, R1에는 주기억데이터어드레스가 격납되고, 다음 번지의 레지스터 R1+1에는 데이터전송 도중에 이미 전송된 블록수와 주기억 참조를 위한 키를 격납한다. 이 예에서는 주기억장치의 블록의 사이즈는 4KB로 되어 있다. 또, 레지스터 R2에는 주기억상의 ES 제어파라미터를 지정하기 위해, ES 제어파라미터의 기억영역어드레스를 포인트하는 ES 제어파라미터어드레스가 격납된다. ES 제어파라미터는 제4b도의 하부에 도시한 바와 같이, 확장기억상대어드레스와 전송해야 할 블록수가 설정되어 기억영역에 격납되어 있다. 이 예에서는 확장기억에 있어서의 프래그멘테이션 방지를 위해, 동기전송시의 확장기억의 어드레스는 절대 어드레스가 아니고 상대어드레스로 하고 있다. 상대어드레스로부터 절대어드레스에의 변환과정은 3단계의 어드레스변환테이블 참조에 의한 어드레스변환기구에 의해 행하여진다. 이 어드레스변환과정을 제5도에 의해 설명한다.
제5도는 확장기억상대어드레스로부터 확장기억절대어드레스에의 어드레스변환을 행하는 어드레스변환기구를 설명하는 도면이다.
확장기억상대어드레스레지스터(67)에 확장기억상대어드레스가 격납된다. 리로케이션테이블오리진레지스터(RTOR)(66)내에는 제1리로케이션테이블(77)의 선두어드레스가 격납되어 있다. 이 선두어드레스와 확장기억상대어드레스의 FID(파일 ID)부를 가산하여, 제1리로케이션테이블(77)을 참조하고, 제1리로케이션테이블(77)로부터 ESID(69a)를 구하는 동시에, 제2리로케이션테이블(78)의 선두어드레스를 구한다. 다음에, 이 제2리로케이션테이블(78)의 선두어드레스와 확장기억상대어드레스의 Cp(C부)를 가산하여, 제2리로케이션테이블(78)을 참조하고, 제3리로케이션테이블(79)의 선두어드레스를 구한다. 다음에, 이 제3리로케이션테이블(79)의 선두어드레스에 확장기억상대어드레스의 Bp(B부)를 가하여 제3리로케이션테이블(79)을 참조하고, 제3리로케이션테이블(79)내의 확장기억절대어드레스의 일부를 구하고, 이것과 확장기억상대어드레스의 Ap(A부)를 결합하여 확장기억절대어드레스(69b)를 얻는다.
이와 같이, 사용자는 사용하고 싶은 파일이 어느 중앙처리장치의 확장기억장치에 존재하고 있는가를 알지 못해도 FDID를 ESID로 변환하여, 그 ESID를 가진 확장기억장치를 이용할 수 있다.
다음에, 제3도를 참조하여, 본 실시예의 명령에 의해 주기억으로부터 확장기억에 데이터를 동기전송하는 경우와, 확장기억으로부터 주기억에 데이터를 동기전송하는 경우의 동작을 설명한다.
먼저, 전자에 대해 설명한다. 명령처리장치(11)는 주기억장치(13)로부터 제4a도에서 도시한 명령을 독해하고, 오퍼레이션코드(OP)를 해독하여, 주기억으로부터 확장기억에의 동작지시를 알게 된다. 이때, 명령처리장치(11)는 이 동작지시리퀘스트와 함께 제4b도에 도시한 주기억데이터어드레스(R1), 확장기억상대어드레스를 변환한 결과의 확장기억절대어드레스(ESID와 확장기억블록어드레스; 제5도), 전송블록수를 레지스터(31a)에 송출한다. 리퀘스트와 부수정보는 우선순위결정회로(PRI)(36a)를 통과한 후 기억제어부(12a)에 들어간다. 기억제어부(12a)는 MS 제어회로(34a)에 주기억데이터어드레스를 송출하고, 주기억장치(13)로부터 1블록분의 데이터를 독해한다. 기억제어부(12a)는 독해한 데이터를 확장기억에 전송한다. 이 경우, 확장기억절대어드레스의 ESID가 "ESID=0"이면, 우선순위결정회로(PRI)(36d)에 대하여 기입리퀘스트와 확장기억블록어드레스와 주기억 데이터 1블록을 송출한다. PRI(36d)는 이 리퀘스트를 선택한 후 리퀘스트와 부수정보를 ES 제어회로(35a)에 송출한다. ES 제어회로(35a)는 확장기억장치(14)에 주기억데이터를 격납하고, 그 완료를 우선순위결정회로(PRI)(36c)를 경유하여 기억제어부(37)에 보고한다. 기억제어부(12a)는 전송블록수를 조사하여 아직 전송해야할 블록이 남아 있으면, 그것이 없어질 때까지 상술한 바와 같은 동작으로 주기억으로부터 확장기억에의 데이터전송을 실행한다.
다음에, 확장기억절대어드레스의 ESID가 "ESID=1"인경우의 동작을 설명한다. 확장기억상대어드레스를 변환한 결과 "ESID=1"이면 기억제어부(12a)는 주기억장치(13)로부터 1블록의 데이터를 독해한 후, 레지스터(38), 우선순위결정회로(PRI)(36b), 레지스터(39)를 경유하여 CPU#0의 출력포트 A0로부터 인터페이스선(27a)를 통해서 CPU#1의 입력포트 B0에 대하여 확장기억블록어드레스, 기입데이터, 기입리퀘스트를송출한다. 이 리퀘스트 및 부수정보는 우선순위결정회로(PRI)(46d)를 통과하여 ES 제어회로(45a)에 들어간다. ES 제어회로(45a)는 1블록의 데이터를 확장기억장치(24)에 기입한 후, 그 완료를 우선순위결정회로(PRI)(46b), 레지스터(49), CPU#1의 출력포트 A0로부터 인터페이스선(27b)을 통해서 CPU#0의 입력포트 B0에 송출한다. CPU#0에서는 이 정보를 받아서 PRI(36c)를 통해서 기억제어부(12a)에 입력한다. 기억제어부(12a)는 이 정보로부터 전송블록수를 조사하여 아직도 전송해야 할 블록이 남아 있으면, 같은 순서로 데이터의 전송처리를 속행하고, 전송해야할 블록이 없어질 때까지 주기억장치(13)로부터 확장기억장치(24)에의 데이터전송을 실행한다.
다음에, 확장기억장치로부터 주기억장치에 데이터를 동기전송하는 경우의 동작을 설명한다. 이 경우, 명령처리장치(11)가 확장기억으로부터 주기억에의 데이터전송리퀘스트, 주기억데이터어드레스, 확장기억절대어드레스, 전송블록수를 레지스터(31a)에 보내기까지의 동작은 상술한 경우의 동작과 같다. 이 데이터전송리퀘스트와 부수정보는 PRI(36a)를 통과한 후 기억제어부(12a)에 들어간다. 기억제어부(12a)는 확장기억절대어드레스를 조사하여, "ESID=0"이면, RPI(36d)를 통해서 ES 제어회로(35a)에 확장기억블록 어드레스와 독해리퀘스트를 송출한다. ES 제어회로(35a)는 1블록의 데이터를 독해하고, 데이터와 독해완료보고를 PRI(36c)를 통해서 기억제어부(12a)에 송출한다. 기억제어부(12a)는 이 데이터와 주기억데이터어드레스를 MS 제어회로(36a)에 송출하여 주기억장치(13)에 데이터를 기입한다. MS 제어회로(34a)는 이 기입완료를 기억제어부(12a)에 보고한다. 기억제어부(12a)는 전송블록수를 조사하여 아직도 전송해야할 블록이 남아 있으면, 같은 순서로 그것이 없어질 때까지 확장기억장치(14)로부터 주기억장치(13)에의 데이터전송을 실행한다.
다음에, 확장기억절대어드레스의 ESID가 "ESID=1"인 경우의 동작을 설명한다. 기억제어부(12a)는 ESID가 1이라는 것을 알면, 레지스터(38), PRI(36b), 레지스터(39)를 경유하여 CPU#0의 출력포트 A0로부터 인터페이스선(27a)을 통해서 CPU#1의 입력포트 B0에 대하여 확장기억블록어드레스와 독해리퀘스트를 송출한다. 이 리퀘스트 및 부수정보는 PRI(46d)를 통과하여 ES 제어회로(45a)에 들어간다. ES 제어회로(45a)는 확장기억장치(45)로부터 데이터를 독해하고, 데이터와 독해완료보고를 PRI(46b), 레지스터(49)를 통해서 CPU#1의 출력포트 A0로부터 인터페이스선(27b)를 통해서 CPU#0의 입력포트 B0에 송출한다. 이 데이터와 완료보고는 PRI(36c)를 통해서 기억제어부(12a)에 입력된다. 기억제어부(12a)는 MS 제어회로(34a)에 대해 주기억데이터어드레스, 데이터, 기입리퀘스트를 송출하고, MS 제어회로(34a)는 데이터의 기입을 행한 후, 그 완료보고를 기억제어부(l2a)에 보낸다. 기억제어부(12a)는 전송블록수를 조사하여 아직도 전송해야할 블록이 남아 있으면, 같은 순서로 데이터전송 및 데이터기입을 속행하여 그것이 없어질 때까지 확장기억장치(24)로부터 주기억장치(13)에의 데이터전송을 실행한다.
다음에, 제4c도, 제4d도를 참조하여 비동기전송의 형태의 데이터전송에 대해 설명한다.
비동기전송에 사용하는 CCW(Channel Command Word)는 제4c도 및 제4d도에 나타내는 바와 같이, 준비 CCW(제4c도) 및 실행 CCW(제4d도)이다. 준비 CCW에서는 코맨드부 CMD에서 확장기억에의 기입준비, 독해준비 등을 지시하는 동시에, 주기억상의 확장기억용 IDAW(Indirect Data Address Word)의 어드레스(ES-IDAW ADDRESS)를 표시한다. 이 IDAW의 형식은 제6도에 도시한 확장기억절대어드레스와 같은 형식이다. 실행 CCW는 코맨드부 CMD에서 준비 CCW의 코맨드의 실행을 지시하는 동시에, 플래그, 전송블록수, 주기억데이터어드레스를 규정한다.
비동기전송은 명령처리장치(11), (21) 대신에 입출력처리장치(16), (26)이 데이터전송을 기동하지만, 기타의 데이터전송조작의 기억제어장치(13), (23)에 있어서의 동작은 동기전송과 전혀 동일하다. 입출력처리장치(16)은 주기억장치(13)로부터 CCW(제4c도)를 독해하면, 그 코맨드(준비코맨드)와 ES-IDAW내의 확장기억 절대어드레스를 레지스터(32a)에 송출한다. 제4c도의 CCW의 어드레스에 의해 다음에 제4d도의 CCW가 체인되어 있으므로, 입출력장치는 제4d도의 CCW를 독해하여 코맨드(실행코맨드), 전송블록수, 주기억데이터어드레스를 레지스터(32a)에 송출한다. 그후, 레지스터(32a)로부터 PRI(36a)를 통해서 리퀘스트, 주기억어드레스, 확장기억어드레스, 전송블록수가 기억제어부(12a)에 송출된다. 이후의 동작은 동기전송과 전혀 동일하다.
상기 실시예의 멀티프로세서시스템은 2대의 중앙처리장치로부터 구성되는 멀티프로세서시스템인데, 3대 이상의 중앙처리장치에 의해 시스템이 구성되는 경우에 있어서도 마찬가지로 하여 각 중앙처리장치 사이를 결합하여 동일한 멀티프로세서시스템을 구성할 수 있다.
제6도는 본원 발명의 다른 실시예에 의한 멀티프로세서시스템의 전체 구성을 나타낸 블록도이다. 제6도에 나타내는 멀티프로세서 시스템의 블록도에서는 4대의 중앙처리장치로 구성되는 소결합의 멀티프로세서시스템을 나타내고 있다. 제6도에 있어서, (30)은 제1의 처리계(CPU#1)의 중앙처리장치이다. 이 중앙처리장치(30)에는 명령처리장치(1P)(31), 입출력처리장치(IOP)(32), 기억제어장치(SC)(33), 주기억장치(MS)(34), 확장기억장치(ES)(35)가 구비되어 있다. 또, (40)은 제2의 처리계(CPU#2)와 중앙처리장치, (50)은 제3의 처리계(CPU#3)의 중앙처리장치, (60)은 제4의 처리계(CPU#4)의 중앙처리장치이다. 이들 각 중앙처리장치(40), (50), (60)에는 제1의 처리계인 중앙처리장치(30)과 마찬가지로, 명령처리장치(IP)(41), (51), (61), 입출력처리장치(IOP) (42), (52), (62), 기억제어장치(SC), (43), (53), (63), 주기억장치(MS)(44), (54), (64), 확장기억장치(ES)(45), (55), (65)가 구비되어 있다. 이들 4대의 각 중앙처리장치가 다른 중앙처리장치내의 확장기억장치에 격납된 데이터를 참조하기 위해, 각 중앙처리장치 사이가 기억제어장치(33), (43), (53), (63)를 통해서 인터페이스선(71), (72), (73), (74), (75), (76)에 의해 서로 접속되어 있다.
이와 같은 인터페이스선(71), (72), (73), (74), (75), (76)에 의한 상호접속은 제3도의 예에 있어서의 입출력포트 A0, A1, A2, B0, B1, B2에 의해서 실현된다.
제3도의 예에서는 CPU#0의 출력포트 A0 및 입력포트 B0, CPU#1의 입력포트 B0 및 출력포트 A0만 사용하여, CPU#0와 CPU#1사이의 데이터전송을 행하였으나, CPU#0와 CPU#2 또는 CPU#3사이의 데이터전송도 마찬가지로 행하여진다. 즉, CPU#0와 CPU#2 또는 CPU#3사이의 데이터전송도 각기 CPU#0에 있어서의 출력포트 A1, A2 및 입력포트 B1, B2를 사용하여, CPU#0와 CPU#2 또는 CPU#3 사이에서의 데이터 전송이 상술한 바와 같이 하여 행할 수 있다. 또, 다른 중앙처리장치 사이에서도 마찬가지로 확장기억에 대한 액세스의 데이터전송이 행하여진다.
이와 같이, 소결합 멀티프로세서시스템에 있어서의 복수의 중앙처리장치간의 데이터전송을 각 중앙처리장치의 기억제어장치의 입력포트, 츨력포트로 결합하여(인터페이스제어부로 결합하여) 행할 수 있다.
제7도는 본 발명의 일실시예에 의한 멀티프로세서시스템의 데이터전송에 있어서의 공통 클록공급계의 구성을 실시하는 도면이다. 제7도를 참조하여 멀티프로세서시스템에 설치되는 공통클록공급계의 구성을 설명한다. 기준이 되는 공통클록발진기(80)는 제1의 처리계(CPU#0)의 중앙처리장치(30), 제2의 처리계(CPU#1)의 중앙처리장치(40), 제3의 처리계(CPU#2)의 중앙처리장치(50) 및 제4의 처리계(CPU#3)의 중앙처리장치(60)에 대하여 등거리의 위치에 배치되며, 공통클록을 공급하여 각기에 중앙처리장치에 있어서의 머신사이클을 규정한다.
멀티프로세서시스템에 있어서, 시스템을 구성하는 요소의 중앙처리장치는 독립된 클록발진기를 가지며, 각기 중앙처리장치는 각자의 클록발진기로부터의 클록에 의해 비동기로 동작한다. 제7도에 도시된 바와 같이, 각 처리계의 중앙처리장치(30), (40)는 각기 클록발진기(83), (84)를 가지며, 이를 클록발진기(83), (84)로부터 머신사이클을 규정하는 클록펄스가 공급된다. 멀티프로세서 시스템에 있어서, 데이터전송명령의 실행에 의해 데이터전송을 행하는 경우, 각 중앙처리장치(30), (40)이 가진 각기 클록발진기(83), (84)로부터의 클록을 사용하여 비동기방식에서도 동작할 수 있으나, 동기화 처리 때문에 불필요한 처리가 들어오게 된다. 이 때문에 본 실시예의 멀티프로세서시스템에서는 중앙처리장치(30), (40)사이의 데이터전송과 그 제어를 동기와 손실없이 동작시키기 위해 공통 클록을 발생하는 공통클록발진기(80)가 구비되어 있다. 이것은 예를들면 중앙처러장치(30), (40), (50), (60)사이를 접속하는 상자체내에 놓이고, 각 중앙처리장치에 대하여 등거리의 위치에 배치된다. 각 중앙처리장치(30), (40)의 내부유니트(83b), (83c), (84b), (84c)에의 클록펄스의 분배는 펄스분배기(83a), (84a)에 의해 행한다. 펄스분배기(83a), (84a)는 데이터전송을 행하는 2개의 중앙처리장치(30), (40)의 동작 사이를 동기화시키기 위해, 공통클록을 발생시키는 공통클록발진기(80)를 선택하든가, 또는 각 중앙처리장치에서 고유의 클록발진기(83), (84)를 선택하든가를 제어한다. 데이터전송명령의 처리를 하는 경우에, 공통클록을 사용하여 2개의 중앙처리장치(30) 및 (40)을 동일한 클록으로 머신사이클을 규정하여 동작시킴으로써, 중앙처리장치(30) 및 (40)사이의 데이터전송과 그 제어가 동기화 손실없이 동작될 수 있다. 그리고, 제7도에 있어서는 멀티프로세서시스템을 구성하는 중앙처리장치(50) 및 (60)의 클록공급계에 대해서는 특히 도시하지 않으나, 이것은 중앙처리장치(30) 및 (40)과 같다. 공통클록을 사용함으로써 각 중앙처리장치 사이의 데이터전송과 그 제어가 동기화 손실없이 동작될 수 있다.
이와 같이, 4대의 중앙처리장치로 구성되는 멀티프로세서서 시스템을 예로서 클록공급계를 설명하였으나, 2대의 중앙처리장치로 시스템이 구성되는 멀티프로세서시스템에 있어서도 같은 클록공급계의 제어가 행하여진다.
제8도는 멀티프로세서시스템의 데이터전송에 있어서의 공통클록공급계의 구성의 다른 예를 설명하는 도면이다. 제8도는 2대의 중앙처리장치로 구성되는 멀티프로세서시스템의 데이터전송에 있어서의 공통클록공급계의 구성예이다. 제8도를 참조하여, 이 경우의 멀티프로세서시스템에 설치되는 클록공급계의 구성을 설명한다. 이 예에서는 멀티프로세서시스템에 대한 클록을 공급하는 클록공급장치(90)가 설치된다. 클록공급장치(90)에 있어서의 공통클록발진기(91)는 제1의 처리계(CPU#0)의 중앙처리장치(10) 및 제2의 처리계(CPU#1)의 중앙처리장치(20)가 동시에 동작하는 데이터전송 등의 시스템 공통동작의 머신사이클을 규정한다.
클록공급장치(90)는 중앙처리장치(10) 및 중앙처리장치(20)으로 구성되는 멀티프로세서시스템에 대하여 클록을 공급하기 위해, 시스템에 공통의 클록을 공급하는 공통클록발진기(91)와, 각 중앙처리장치(10), (20)에 대응하여 설치되는 독립된 클록을 공급하는 클록발진기(92), (93)과, 펄스분배기(94), (95)로 구성되어 있다. 각 중앙처리장치(10), (20)은 각각에 대응해서 설치되어 있는 클록발진기(92), (93)으로부터의 클록이 공급되어 비동기로 동작한다.
즉, 각 중앙처리장치(10), (20)은 제8도에 나타내는 바와 같이 클록공급장치(90), 각 클록발진기(92), (93) 또는 공통클록발진기(91)로부터 머신사이클을 규정하는 클록펄스가 공급되어 동작한다. 중앙처리장치(10)과 (20)사이에서 데이터전송명령의 실행에 의해 데이터전송을 행하는 경우, 각 중앙처리장치(10), (20)에 대응하는 각 클록발진기(92), (93)으로부터의 클록에 의한 비동기방식으로도 동작할 수 있으나, 동기화처리 때문에 불필요한 처리가 들어온다. 이 때문에, 이 멀티프로세서시스템에 있어서는 중앙처리장치(10)과 (20) 사이의 데이터전송과 그 제어를 동기화 손실없이 동작시키기 위해, 공통클록발진기(91)로부터의 클록을 사용하여 데이터전송을 행한다. 각 중앙처리장치(10), (20)에의 클록펄스의 분배는 펄스분배기(94), (95)로 행한다. 펄스분배기(94), (95)는 중앙처리장치(10), (20)의 동작 사이를 동기화하기 위해서 공통클록발진기(91)를 선택하든가 또는 각 중앙처리장치에 대응하는 클록발진기(92), (93)을 선택하든가의 제어를 행한다. 데이터전송명령의 처리를 하는 경우에, 공통클록발진기(91)로부터의 공통클록을 사용하여 중앙처리장치(10)과 (20)을 동작시킴으로써, 중앙처리장치(10)과 (20)사이의 데이터전송과 그 제어가 동기화 손실없이 동작될 수 있다.
이상, 본원 발명을 실시예에 의거하여 구체적으로 설명하였으나, 본원 발명은 상기 실시예에 한정되는 것은 아니며, 그 요지를 일탈하지 않는 범위에 있어서 여러가지로 변경할 수 있는 것은 물론이다.
이와 같이, 본 실시예의 멀티프로세서시스템에 의하면, 시스템을 구성하는 각 중앙처리장치로부터 임의의 확장기억장치의 직접적인 액세스가 가능하게 되고, 시스템내에서 확장기억을 공유할 수 있는 시스템을 할 수 있으므로, 다음과 같은 이점이 있다. 즉,
(1) 종래, 소결합의 멀티프로세서시스템에 있어서, 디스크장치등의 입출력처리장치를 통해서 외부기록장치에 격납하고 있던 데이터베이스를 공유화 된 확장기억장치에 격납함으로써, 액세스 속도의 비약적 향상을 기대할 수 있다. 이로 인해, 시스템의 스루푸트, 응답시간의 향상이 기대된다. 또, 동기명령으로 확장기억을 액세스하면 입출력명령을 발행하여 확장기억을 액세스하는 경우와 비교하여, 프로그램스텝을 비약적으로 감소시킬 수 있고, 또 이 경우 입출력인터럽트가 발생하지 않으므로 그로 인한 처리스텝도 필요없다. 이 때문에, 이 프로그램스텝의 감소효과에 의한 시스템의 스루푸트, 응답시간의 향상이 기대된다.
(2) 호트스탠트바이계의 장해회복용의 정보는 종래 소결합 타입의 멀티프로세서시스템으로서 복수의 중앙처리시간에서 공유하는 디스크장치 등에 격납되어 있으나, 이 장해회복용 정보를 공유화한 확장기억에 격납함으로써, 1대의 중앙처리장치에서 장해가 발생하고 다른 중앙처리장치에서 처리를 인계하는 경우, 장해회복용의 정보(인계정보)가 확장기억에 있으므로, 디스크장치에 있는 경우보다 고속으로 인계처리를 실행할 수 있다.
(3) 밀결합 타입의 주기억을 공유하는 멀티프로세서에 있어서는 명령처리장치를 증가시킨 경우, 주기억에 있어서의 공유자원의 경합이 발생하여, 명령처리장치를 증가시킨데 비해서는 시스템의 처리능력이 향상되어있지 않으나, 이 경우 본원 발명의 공유화 된 확장기억시스템의 개념을 적용함으로써, 시스템의 스루푸트를 향상시킬 수 있다. 즉, 주기억을 몇개로 분할하고, 분할된 각각의 주기억을 각 명령처리장치군에 전용(專用)시켜서 각 명령처리장치 단위를 구성하고, 각 명령처리장치 단위의 군 사이에서 필요한 정보교환을 확장기억을 통해서 행하는 시스템 구성으로 함으로써, 시스템의 스루푸트를 향상시킬 수 있다.

Claims (10)

  1. 주기억장치와, 확장기억장치와, 기억제어장치를 통해서 주기억장치 또는 확장기억장치를 액세스하는 명령처리장치와, 다른 중앙처리장치와의 사이의 통신을 행하는 인터페이스제어부를 포함하는 기억제어장치를 구비한 중앙처리장치의 각각이 인터페이스제어부를 통해서 결합된 멀티프로세서시스템으로서, 각 중앙처리장치의 확장기억장치에 대하여 미리 설정된 식별번호에 의해 각 확장기억장치를 식별하는 수단과, 각 명령처리장치가 발생한 확장기억장치의 식별번호에 의해 당해 확장기억장치를 액세스하는 수단을 구비한 것을 특징으로 하는 멀티프로세서시스템.
  2. 제1항에 있어서, 중앙처리장치는 복수개가 서로 결합되고, 각 중앙처리장치가 독립된 오퍼레이팅 시스템으로 동작하며, 각 중앙처리장치의 기억제어장치에는 복수개의 명령처리장치와, 복수개의 입출력처리장치가 결합되는 것을 특징으로 하는 멀티프로세서시스템.
  3. 주기억장치와, 확장기억장치와, 기억제어장치를 통해서 주기억장치 또는 확장기억장치를 액세스하는 명령처리장치와, 기억제어장치를 통해서 주기억장치 또는 확장기억장치를 액세스하는 입출력처리장치와, 다른 중앙처리장치와의 사이의 통신을 행하는 인터페이스제어부를 포함하는 기억제어장치를 구비한 중앙처리장치의 각각이 인터페이스제어부를 통해서 결합된 멀티프로세서시스템으로서, 각 중앙처리장치의 확장기억장치에 대하여 미리 설정된 식별번호에 의해 각 확장기억장치를 식별하는 수단과, 각 명령처리장치 또는 각 입출력처리장치가 발생한 확장기억장치의 식별번호에 의해 당해 확장기억장치를 액세스하는 수단을 구비한 것을 특징으로 하는 멀티프로세서시스템.
  4. 제3항에 있어서, 중앙처리장치는 복수개가 서로 결합되고, 각 중앙처리장치가 독립된 오퍼레이팅 시스템으로 동작하며, 각 중앙처리장치의 기억제어장치에는 복수개의 명령처리장치와, 복수개의 입출력 처리장치가 결합되는 것을 특징으로 하는 멀티프로세서시스템.
  5. 제4항에 있어서, 중앙처리장치의 기억제어장치에 결합되는 복수개의 명령처리장치와, 복수개의 입출력처리장치는 우선순위 결정회로를 통해서 기억제어부에 결합되고, 기억제어부는 우선순위에 따라 차례로 하나의 명령처리장치 또는 입출력 처리장치로부터의 액세스요구를 처리하는 것을 특징으로 하는 멀티프로세서시스템.
  6. 제1항에 있어서, 또한 공통클록을 발생하는 공통클록발생수단을 구비하고, 인터페이스제어부가 다른 중앙처리장치와의 사이에서 통신을 행하고, 확장기억장치에 격납된 데이터의 데이터전송을 행하는 경우, 공통클록에 의해 자체의 중앙처리장치와 통신을 행하는 다른 중앙처리장치를 동일의 시간계로 동작시키고, 다른 중앙처리장치내의 확장기억장치의 데이터를 액세스하여, 중앙처리장치 사이의 데이터전송을 행하는 확장기억억세스수단을 구비한 것을 특징으로 하는 멀티프로세서시스템.
  7. 제6항에 있어서, 공통클록발생수단은 시스템을 구성하는 각각의 중앙처리장치애 대하여 등거리의 위치에 배치되고, 각 중앙처리장치의 사이에서 데이터전송을 행하는 경우에, 각 중앙처리장치에 동일의 공통클록을 공급하는 것을 특징으로 하는 멀티프로세서시스템.
  8. 주기억장치, 확장기억장치, 기억제어장치를 통해서 주기억장치 또는 확장기억장치를 액세스하는 명령처리장치, 기억제어장치를 통해서 주기억장치 또는 확장기억장치를 액세스하는 입출력처리장치, 및 다른 중앙처리장치와의 사이의 통신을 행하는 인터페이스 제어부를 포함하는 기억제어장치가 각 중앙처리장치에 구비되고, 기억제어장치의 인터페이스 제어부에 의해 복수개의 중앙처리장치가 결합된 멀티프로세서시스템으로서, 확장기억장치에 격납된 데이터를 각 중앙처리장치에서 독립해서 동작하는 오퍼레이팅 시스템이 각각의 중앙처리장치에 구비되는 확장기억장치에 대하여 설정된 식별번호에 따라 지정하고, 당해 중앙처리장치의 확장기억장치를 액세스하고, 당해 확장기억장치의 데이터를 각 중앙처리장치의 오퍼레이팅 시스템으로부터 공통으로 직접적으로 이용 가능하도록 한 것을 특징으로 하는 멀티프로세서시스템.
  9. 제8항에 있어서, 중앙처리장치가 다른 중앙처리장치의 확장기억장치에 대하여 식별번호를 지정하여 액세스를 행하고, 액세스하는 중앙처리장치와 당해 확장기억장치와의 사이에서의 데이터전송을 행하는 경우, 인터페이스제어부를 시스템에서 단일의 공통클록에 의해 데이터전송제어를 행하는 것을 특징으로 하는 멀티프로세서시스템.
  10. 제9항에 있어서, 인터페이스제어부를 통해서 데이터전송을 행하는 경우, 인터페이스제어부는 공통클록을 사용하고, 자체의 중앙처리장치와 통신을 행하는 다른 중앙처리장치를 동일의 시간계로 동작시켜, 일련의 데이터전송동작을 행하는 것을 특징으로 하는 멀티프로세서시스템.
KR1019890007682A 1988-06-07 1989-06-05 멀티프로세서시스템 KR920006617B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP14126188 1988-06-07
JP88-141261 1988-06-07
JP63-141,261 1988-06-07

Publications (2)

Publication Number Publication Date
KR910001565A KR910001565A (ko) 1991-01-31
KR920006617B1 true KR920006617B1 (ko) 1992-08-10

Family

ID=15287792

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019890007682A KR920006617B1 (ko) 1988-06-07 1989-06-05 멀티프로세서시스템

Country Status (4)

Country Link
EP (1) EP0345738A3 (ko)
JP (1) JPH0277867A (ko)
KR (1) KR920006617B1 (ko)
CA (1) CA1323445C (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0697449B2 (ja) * 1989-09-20 1994-11-30 株式会社日立製作所 多重化共有メモリ制御方法、多重化共有メモリシステムおよび共有メモリ拡張方法
JPH03271860A (ja) * 1990-03-20 1991-12-03 Fujitsu Ltd 共通メモリマルチプロセッサ方式
JPH0433139A (ja) * 1990-05-30 1992-02-04 Fujitsu Ltd ファィルアクセス方式
JPH04149658A (ja) * 1990-10-08 1992-05-22 Canon Inc 情報処理装置
US5339429A (en) * 1991-05-08 1994-08-16 Hitachi, Ltd. Parallel processing system and compiling method used therefor
US5386560A (en) * 1991-05-23 1995-01-31 International Business Machines Corporation Execution of page data transfer by PT processors and issuing of split start and test instructions by CPUs coordinated by queued tokens
US5617537A (en) * 1993-10-05 1997-04-01 Nippon Telegraph And Telephone Corporation Message passing system for distributed shared memory multiprocessor system and message passing method using the same
DE19606629A1 (de) * 1996-02-22 1997-08-28 Siemens Nixdorf Inf Syst Mehrprozessor-Zentraleinheit
US5958019A (en) * 1996-07-01 1999-09-28 Sun Microsystems, Inc. Multiprocessing system configured to perform synchronization operations
US6055584A (en) * 1997-11-20 2000-04-25 International Business Machines Corporation Processor local bus posted DMA FlyBy burst transfers
US6643749B2 (en) * 2000-11-06 2003-11-04 Matsushita Electric Industrial Co., Ltd. Interface for multi-processor
JP4715219B2 (ja) * 2005-02-10 2011-07-06 ソニー株式会社 共有メモリ装置
US9094317B2 (en) 2009-06-18 2015-07-28 Hewlett-Packard Development Company, L.P. Processor topology switches

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8329510D0 (en) * 1983-11-04 1983-12-07 Inmos Ltd Computer apparatus
JPS6151258A (ja) * 1984-08-20 1986-03-13 Matsushita Electric Ind Co Ltd 制御装置間インタ−フエ−ス

Also Published As

Publication number Publication date
KR910001565A (ko) 1991-01-31
EP0345738A3 (en) 1992-04-15
CA1323445C (en) 1993-10-19
JPH0277867A (ja) 1990-03-16
EP0345738A2 (en) 1989-12-13

Similar Documents

Publication Publication Date Title
US4754398A (en) System for multiprocessor communication using local and common semaphore and information registers
US5367690A (en) Multiprocessing system using indirect addressing to access respective local semaphore registers bits for setting the bit or branching if the bit is set
US4796176A (en) Interrupt handling in a multiprocessor computing system
KR920006617B1 (ko) 멀티프로세서시스템
EP0318221A2 (en) Controlling responding by users of an intercommunications bus
JPS6270964A (ja) デ−タハブ
JPH0332094B2 (ko)
US4750113A (en) Dual function I/O controller
US4209839A (en) Shared synchronous memory multiprocessing arrangement
JPH03131945A (ja) スタッガード・アクセス・メモリ
US5761728A (en) Asynchronous access system controlling processing modules making requests to a shared system memory
US5526487A (en) System for multiprocessor communication
US4884195A (en) Multiprocessor system for loading microprograms into a RAM control store of a bus controller
US3947822A (en) Processor of micro-computer with division of micro-instruction
EP0378071A2 (en) Multiprocessor controller having shared control store
US5367701A (en) Partitionable data processing system maintaining access to all main storage units after being partitioned
US5522060A (en) Multiprocessor memory managing system and method for executing sequentially renewed instructions by locking and alternately reading slave memories
JPH0478902A (ja) バスコントローラ
JP2705955B2 (ja) 並列情報処理装置
JPS598845B2 (ja) チヤンネル制御方式
JP2687716B2 (ja) 情報処理装置
JPH0246967B2 (ko)
EP1193606B1 (en) Apparatus and method for a host port interface unit in a digital signal processing unit
JPH0215152Y2 (ko)
JPH06243102A (ja) 多重情報処理システムの割込み同期方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20010726

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee