KR950002422B1 - 다중처리시스템 및 다중처리시스템의 동기제어방법 - Google Patents

다중처리시스템 및 다중처리시스템의 동기제어방법 Download PDF

Info

Publication number
KR950002422B1
KR950002422B1 KR1019910015620A KR910015620A KR950002422B1 KR 950002422 B1 KR950002422 B1 KR 950002422B1 KR 1019910015620 A KR1019910015620 A KR 1019910015620A KR 910015620 A KR910015620 A KR 910015620A KR 950002422 B1 KR950002422 B1 KR 950002422B1
Authority
KR
South Korea
Prior art keywords
synchronization
information
subprocessors
task
completion
Prior art date
Application number
KR1019910015620A
Other languages
English (en)
Other versions
KR920010380A (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 KR920010380A publication Critical patent/KR920010380A/ko
Application granted granted Critical
Publication of KR950002422B1 publication Critical patent/KR950002422B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
    • G06F8/458Synchronisation, e.g. post-wait, barriers, locks
    • 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/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)

Abstract

내용 없음.

Description

다중처리시스템 및 다중처리시스템의 동기제어방법
제 1 도는 본 발명의 1실시예에 의한 다중처리시스템에서의 동기검출시스템의 블럭구성도.
제 2 도는 제 1 도에 도시한 다중처리시스템의 상태천이도.
제 3 도는 제 1 도에 도시한 다중처리시스템의 H/W의 블럭구성도(S/W 기능과 데이타정보의 소재를 나타낸다).
제 4 도는 제 1 도의 동기정보등록부의 구성을 도시한 블럭도.
제 5 도는 제 1 도의 동기검출제어신호 생성부의 구성을 도시한 블럭도.
제6도는 제1도의 동기검출부의 구성을 도시한 블럭도.
제 7 도는 종래의 다중처리시스템에서의 동기검출시스템의 블럭구성도.
* 도면의 주요부분에 대한 부호의 설명
1 : 메인 프로세서 1B :동기기구부
2 : 서브 프로세서 5 : 스케줄링부
5A : 동기정보출력부 6 : 동기정보 등록부
7 : 동기검출제어신호 생성부 8 : 동기검출부
본 발명은 메인프로세서와 할당된 타스크를 동기를 도모해서 실행하는 여러개의 서브프로세서로 이루어지는 다중처리시스템 및 다중처리시스템의 동기제어방법에 관한 것이다.
제 7 도는 종래의 다중처리시스템을 위한 동기기구를 도시한 블럭도로서, (1A)는 메인프로세서, (2A)는 여러개의 서브프로세서, (3)은 통신로로서의 시스템버스, (4)는 시스템버스(3)의 액세스권을 관리하는 버스아비터, (71)은 동기기구의 마스터, (72)는 동기기구의 슬레이브, (73)은 동기제어버스이다.
다음에 동작에 대해서 설명한다. 메인프로세서(1A)내의 스케줄리에 의해서 서브프로세서 1~n(2A)가 실행하는 타스크가 결정되고, 각 서브프로세서(2A)로 분배된다.
각 서브프로세서(2A)는 부여된 타스크의 실행을 완료하면 완료한 것을 메인프로세서(1A)로 통지한다. 메인프로세서(1A)는 각 서브프로세서(2A)에서의 완료신호를 받아서 타스크간의 동기를 취함과 동시에 일련의 타스크가 완료된 시점에서 재스케줄링을 실행하여, 재차 서브프로세서 1~n(2A)에 타스크를 분배한다. 이상이 전체로서의 동작이다.
다음에 각 서브프로세서(2A)에서 메인프로세서(1A)로의 완료신호통지의 동작에 대해서 설명한다. 이 동작은 메인프로세서(1A)상의 동기기구마스터(71), 각 서브프로세서(2A)상의 동기기구슬레이브(72), 동기제어버스(73) 사이에서 실행된다.
서브프로세서(2A)가 부여된 타스크를 완료하면 동기기구슬레이브(72)에 대해서 완료신호를 발생한다. 동기기구슬레이브(72)는 버스아비터(4)에 동기제어버스(73)의 액세스권을 요구하여 그것을 획득한후 동기제어버스(73)을 거쳐서 메인프로세서(1A)내의 동기기구마스터(71)에 완료신호를 전송한다.
또한, 상기 종래예에서의 동기기구의 예로서는 일본국 특허 공고공보 소화63-14387(제 1 도)에 개시되어 있다.
종래의 다중처리시스템은 이상과 같이 구성되어 있으므로 메인프로세서(1A)상의 동기기구마스터(71) 뿐만 아니라 모든 서브프로세서(2A)상에 동기기구슬레이브(72)를 마련함과 동시에 동기처리전용의 동기제어버스(73)을 마련하지 않으면 안되어 다대한 H/W를 필요로 한다. 또, 동기검출이 S/W에서 실행되기 때문에 다대한 시간을 요하는 등의 문제점이 있었다.
본 발명의 목적은 상기와 같은 문제점을 해결하기 위해 이루어진 것으로서, 동기처리에 필요한 H/W량을 삭감할 수 있음과 동시에 동기검출에 요하는 시간을 삭감할 수 있는 다중처리시스템 및 다중처리시스템의 동기제어방법을 제공하는 것이다.
첫째, 본 발명에 관한 다중처리시스템의 동기제어방법은 메인프로세서 및 공통의 통신로를 거쳐서 상기메인프로세서와 접속된 여러개의 서브프로세서로 이루어지는 다중처리시스템에 있어서, 상기 메인프로세서에서 상기 여러개의 서브프로세서의 타스크의 할당을 계획하여 그 실행과 동기에 관한 동기정보를 생성하는 단계, 상기 동기정보를 제 1 의 데이타정보로서 상기 통신로를 거쳐서 상기 여러개의 서브프로세서로 출력함과 동시에 상기 동기정보를 등록해 두는 단계, 상기 여러개의 서브프로세서에서 상기 제 1 의 데이타정보의 해당하는 타스크를 실행하고, 그 실행완료를 나타내는 동기신호를 제 2 의 데이타정보로서 상기 통신로를 거쳐서 상기 메인프로세서로 출력하는 단계 및 상기 메인프로세서에서 상기 제 2 의 데이타정보와 등록되어 있는 상기 동기정보를 비교해서 상기 해당하는 타스크의 실행완료를 검출하고, 모든 타스크의 실행완료를 검출하면 다음의 타스크의 실행을 계획하는 단계로 이루어지는 것이다.
둘째, 본 발명의 관한 다중처리시스템은 메인프로세서 및 공통의 통신로를 거쳐서 상기 메인프로세서와 접속된 여러개의 서브프로세서로 이루어지는 다중처리시스템에 있어서, 상기 메인프로세서는 상기 여러개의 서브프로세서로의 타스크의 할당을 계획해서 그 실행과 동기에 관한 동기정보를 생성하는 타스크 계획수단, 상기 동기정보를 등록해두는 동기정보등록수단, 상기 동기정보를 제 1 의 데이타정보로서 상기 통신로를 거쳐서 상기 여러개의 서브프로세서로 출력하는 동기정보출력수단 및 상기 여러개의 서브프로세서에서 제 2 의 데이타정보로서 상기 통신로를 거쳐서 입력된 해당하는 타스크의 실행완료 정보와 등록되어 있는 상기 동기정보를 비교해서 상기 해당하는 타스크의 실행완료를 검출하고, 상기 할당타스크의 모든 실행완료를 검출하면 상기 타스크 계획수단에 대하여 다음의 타스크 실행을 계획하는 동기검출수단을 마련한 것이다.
본 발명에서는 메인프로세서에서 여러개의 서브프로세서로의 타스크의 할당을 계획해서 그 실행에 관한 타스크정보 및 동기정보를 생성하고, 상기 동기정보를 제 1 의 데이타정보로서 상기 통신로를 거쳐 상기 여러개의 서브프로세서로 출력함과 동시에 상기 동기정보가 등록되고, 상기 여러개의 서브프로세서에서 상기 제 1 의 데이타정보의 해당하는 타스크가 실행되고, 그 실행완료를 나타내는 동기신호를 제 2 의 데이타정보로서 상기 통신로를 거쳐 상기 메인프로세서로 출력하고, 상기 메인프로세서에서 상기 제 2 의 데이타정보와 등록되어 있는 상기 동기정보를 비교해서 상기 해당하는 타스크의 실행완료를 검출하고, 모든 타스크의 실행완료를 검출하면 다음의 타스크의 할당과 그 동기실행의 계획을 지시한다.
또, 본 발명에서의 타스크계획수단은 여러개의 서브프로세서의 타스크의 할당을 계획해서 그 실행에 관한 동기정보를 생성하고, 동기정보등록수단은 상기 동기정보를 등록해 두고, 타스크 및 동기정보출력수단은 상기 동기정보를 제 1 의 데이타정보로서 상기 통신로를 거쳐 상기 여러개의 서브프로세서로 출력하고, 동기검출수단은 상기 여러개의 서브프로세서에서 제 2 의 데이타정보로서 상기 통신로를 거쳐서 입력된 해당하는 타스크의 실행완료정보와 상기 동기정보를 비교해서 상기 해당하는 타스크의 실행완료를 검출하고, 상기 할당타스크의 모든 실행완료를 검출하면 상기 타스크계획수단에 대하여 다음의 타스크실행을 계획한다.
이하 본 발명의 1실시예를 제 1 도 내지 제 6 도에 따라 설명한다. 도면에서 종래예와 같은 부호로 나타낸 것은 종래예의 그것과 동일 또는 동등한 것을 나타낸다.
제 1 도는 다중처리시스템의 개요를 도시한 블럭도이다. 도면에서 (1)은 메인프로세서, (1B)는 다중처리시스템의 메인프로세서(1)에 마련되는 동기기구부, (2)는 여러개의 서브프로세서, (5)는 다중처리시스템내의 모든 타스크의 스케줄링을 실행하고, 여러개의 서브프로세서(2) 각각에 타스크를 할당하며, 동기정보를 생성하는 타스크계획수단으로서의 스케줄링부, (5A)는 동기정보를 데이타정보로서 통신로를 거쳐서 여러개의 서브프로세서(2)로 출력하는 동기정보출력부, (6)은 동기정보를 후술하는 동기검출부(8)에 설정하는 동기정보등록부, (7)은 서브프로세서(2)에서 전송된 해당 타스크의 실행완료정보인 데이타정보를 기본으로 동기검출제어신호를 생성하여 동기검출부(8)에 공급하는 동기검출제어신호생성부, (8)은 동기정보와 동기검출제어신호를 비교해서 동기, 즉 상기 할당타스크의 모든 완료를 검출하는 동기검출부, (9)는 스케줄링부(5)에서 동기정보등록부(6)으로 동기정보를 전송하기 위한 동기정보전송로, (10)은 동기정보등록부(6)에서 동기검출부(8)에 동기정보를 설정하기 위한 동기정보설정로, (11)은 동기검출제어신호생성부(7)에서 동기검출부(8)로 동기검출제어신호를 전송하기 위한 동기검출제어신호전송로, (12)는 동기검출부(8)에서 스케줄링부(5)로 동기가 검출된 것을 나타내는 동기완료신호를 전송하기 위한 동기완료전송로이다.
제 2 도는 제 1 도에 도시한 다중처리시스템의 동작순서를 도시한 시스템상태 천이도이다. 도면에서, (201)은 메인프로세서(1)에서의 스케줄링상태, (202)는 동기정보생성상태, (203)은 여러개의 서브프로세서(2)에 대한 동기정보분배상태, (204)는 동기정보등록부(6)에서의 동기정보등록상태, (205)는 동기정보설정상태,(206)은 동기전송데이타정보검사상태, (207)은 동기검출제어신호 생성상태, (208)은 동기검출제어신호 전송상태, (209)는 동기검출실행상태, (210)은 동기완료신호 생성상태, (211)은 동기완료신호 전송상태, (212)는 동기정보 설정상태, (213)은 타스크실행상태, (214)는 동기신호데이타생성상태, (215)는 동기신호데이타 전송상태이다. 또한, (2a)~(2v)는 각각 그들의 전단에서 후단으로의 이행조건을 나타낸다.
다음에 상기 실시예의 동작을 제 1 도 및 제 2 도를 사용해서 설명한다. 먼저, 스케줄링상태(201)로 들어가 메인프로세서(1)내의 스케줄링부(5)에 의해 서브프로세서 1~n(2)가 실행하는 타스크를 결정한다. 이것은 완료(2a)하면 동기정보생성상태(202)로 들어가 그들 타스크간의 동기를 취하기 위해 필요한 동기를 취해야할 타스크수, 타스크명, 담당하는 프로세서, 담당하는 동기검출부 번호로 이루어지는 동기정보 및 동기를식별하기 위한 동기식별번호가 생성된다. 이것을 완료(2b)하면 동기정보분배상태(203)으로 들어가 각 서브프로세서(2)가 실행해야할 타스크와 그 타스크번호 및 그 타스크가 완료된 시점에 동기검출제어신호를 전송하는 동기검출부(8)의 번호는 메인프로세서(1)에 의해 시스템버스(3)을 거쳐서 해당하는 서브프로세서(2)로 전송된다. 이것을 완료(2p, 2s)하면 각 서브프로세서는 타스크정보설정상태(212)로 들어간다. 이것을 완료(2q,2t)하면 타스크실행상태(213)으로 들어간다.
한편, 메인프로세서는 동기정보분배상태(203)의 완료(2c)에 의해 동기정보등록상태(204)로 들어가 동기정보는 동기정보전송로(9)를 거쳐서 동기정보등록부(6)으로 전송된다. 이것을 완료(2d)하면 동기정보설정상태(205)로 들어가 동기정보등록부(6)은 동기정보에 의해 지정된 동기검출부(8)에 대해서 동기정보설정로(10)을 거쳐서 동기정보를 전송한다. 이 동기정보에 의해 동기를 취해야할 타스크의 수와 그 타스크를 실행하는 서브프로세서(2)의 번호가 동기검출부(8)에 설정된다. 각 서브프로세서(2)는 지정된 타스크의 실행을완료(2r, 2u)하면 동기신호데이타생성상태(214)로 들어가 먼저 메인프로세서(1)에서 전송되어 있는 타스크가 완료되었을때 동기검출신호를 전송하도록 지정된 동기검출부(8)의 번호와 자신의 서브프로세서(2)의 번호를 합성해서 인코드하고, 동기검출제어신호생성부(7)로 전송하는 데이타를 생성한다. 이것을 완료(2v)하면 동기신호데이타 전송상태(215)로 들어가 서브프로세서(2)는 버스아비터(4)에 시스템버스(6)의 액세스권을 요구하여 획득한 후, 시스템버스(6)을 거쳐서 동기검출제어신호 생성부(7)에 인코드된 동기신호데이타를 전송한다. 이것을 완료(2e)하면, 메인프로세서(1)은 동기전송데이타 정보검사상태(206)으로 들어가고, 동기검출제어신호 생성부(7)은 상기 동기신호데이타를 디코드해서 동기검출제어신호를 전송해야할 동기검출부(8)의 번호와 타스크의 실행을 완료해서 데이타정보를 전송해온 서브프로세서(2)의 번호를 생성하고, 정당한 동기신호데이타인가 아닌가를 검사한다.
이것을 완료(2h)하면, 동기검출신호 전송상태(208)로 들어가 동기검출제어신호 생성부(7)은 해당하는 번호의 동기검출부(8)에 대해서 동기검출제어신호 통신로(11)을 거쳐 타스크의 실행을 완료하여 데이타정보를 전송해온 서브프로세서(2)의 번호를 전송한다. 이것을 완료(2i)하면 동기검출실행상태(209)로 들어가 동기검출부(8)은 미리 설정되어 있는 동기정보의 동기에 관계되는 타스크를 실행하고 있는 서브프로세서(2)의 번호와 동기검출제어신호 전송로(11)을 거쳐 동기검출제어신호 생성부(7)에서 전송된 타스크를 완료한 서브프로세서(2)의 번호를 조합하여, 일치하는 서브프로세서(2)의 번호가 존재한 경우에는 그 서브프로세서(2)의 번호를 동기정보에서 삭제함과 동시에 동기를 취해야할 타스크의 수를 1만 감소한다. 동기검출부(8)내에 동기정보로서 설정된 서브프로세서(2)의 번호가 모두 삭감되어 동기를 취해야할 타스크 수가 0으로 되면, 동기검출부(8)은 동기가 완료되었다고 판단(2j)하고, 동기완료신호 생성상태(210)으로 들어가 동기정보내의 동기식별번호가 동기검출부(8)의 번호에서 동기완료신호를 생성한다.
이것을 완료(2k)하면 동기완료신호 전송상태(211)로 들어가 동기검출부(8)은 스케줄링부(5)에 대하여 동기완료신호 전송로(12)을 거쳐 동기완료신호를 전송한다. 이것을 완료(2ι)하면 재차 스케줄링상태(201)로 들어가 스케줄링부(5)는 동기완료신호로서 전송되어온 동기식별번호와 동기검출부(8)의 번호의 조합이 스케줄링시의 것과 합치하고 있는가를 조사한다. 합치한 경우에는 동기가 완료되었다고 판단하여 실행을 완료한 서브프로세서(2)에 대해서 타스크 할당하도록 스케줄링을 재개한다.
한편, 동기전송데이타정보검사상태(206)에서 동기가 완료되지 않은 경우에는 조건(2e)의 대기상태로 들어간다. 이상이 전체로서의 동작으로서, 다중처리시스템내의 할당된 모든 타스크가 완료되기까지 이 동작을 반복해서 실행하고, 완료되면 최초의 스케줄링으로 되돌아가서 상기 동작을 반복하는 것에 의해 다중처리시스템의 동기제어가 실행된다.
제 3 도는 제 1 도에 도시한 다중처리시스템의 H/W 구성을 도시한 도면으로서, S/W 기능과 데이타정보의 소재를 나타낸다.
도면에서, (301)은 메인프로세서내의 CPU, (302)는 스케줄링데이타를 저장하는 RAM, (303)은 ROM으로서, CPU(301)에서 실행되는 것에 의해 스케줄링기능을 발생하는 프로그램을 저장하고 있다. (304)는 동기검출기구, (305)는 시스템버스 I/F, (306)은 서브프로세서의 시스템버스 I/F, (307)은 서브프로세서내의 CPU, (308)은 타스크번호, 타스크동기번호를 저장하는 RAM, (309)는 ROM으로서, CPU(307)이 실행하는 것에 의해 동기신호데이타 생성기능을 발생하는 프로그램을 저장한다.
제 4 도는 제 1 도에서의 동기정보등록부(6)의 구성을 도시한 블럭도이다. 도면에서, (401)은 동기정보를 등록해두는 RAM, (402)는 RAM(401)의 어드레스를 선택하는 멀티플렉서, (403)은 스케줄링부에서 오는 데이타정보를 래치하는 데이타래치, (404)는 스케줄링부에서 오는 어드레스데이타를 래치하는 어드레스래치, (405)는 동기검출부로 출력하는 선택정보를 생성하는 선택정보생성기, (406)은 동기검출부로 출력되는 동기완료신호를 생성하는 동기완료신호 생성기, (407)은 동기정보버퍼, (408)은 타이밍생성기, (409)은 선택정보버퍼이다.
제 5 도는 제 1 도에서의 동기검출제어신호 생성기(7)의 구성을 도시한 블럭도이다. 도면에서, (501)은 동기정보와 동기신호를 비교하는 비교기, (502)는 동기정보래치, (503)은 선택정보래치, (504)는 서브프로세서에서의 동기신호데이타를 래치하는 동기신호데이타래치, (505)는 동기검출제어신호 버퍼, (506)은 동기검출부 선택신호생성기이다.
제 6 도는 제 1 도에서의 동기검출부(8)의 구성을 도시한 블럭도이다. 도면에서, (601)은 후술하는 동기정보래치(602)에 래치된 동기정보와 후술하는 동기검출제어신호 래치(606)에 래치된 동기검출제어신호를 비교하는 비교기, (602)는 제 4 도에 도시한 동기정보등록부에서 오는 동기정보를 래치하는 동기정보래치, (603)은 여러개가 있는 비교기(601)의 어느 것인가를 선택하기 위한 선택정보래치, (604)는 동기정보등록부에서 오는 동기완료정보를 래치하는 동기완료정보래치, (605)는 정당한 동기검출제어신호가 들어간 경우에 동기정보를 1만 감소하고, 0으로된 시점에서 스케줄링부로 동기완료정보를 출력하기 위한 다운카운터, (606)은 제 5 도에 도시한 동기검출제어신호 생성부에서 오는 동기검출제어신호를 래치하는 동기검출제어신호 래치,(607)은 다운카운터(605)에서 다운카운트하는 펄스를 생성하는 펄스생성기이다.
또한, 제 4 도 내지 제 6 도에 도시한 동기정보등록부(6), 동기검출제어신호 생성부(7), 동기검출부(8)에 의해 제 3 도에 도시한 동기검출기구(304)를 구성한다.
다음에 제 3 도 내지 제 6 도를 사용해서 동기기구(1B)에서의 동기 검출기구 (304) 의 동작에 대해서 설명한다.
제 3 도에서의 CPU(301) 이 ROM(303)에 저장된 프로그램을 실행하는 것에 의해 스케줄링부(5)로서의 스케줄링 기능이 발생하여, 여러개의 서브프로세서(2)로의 타스크의 할당을 계획하고, 그 실행과 동기에 관한 동기정보를 생성한다.
스케줄링부(5)의 출력신호는 제 4 도에 도시한 동기정보등록부(6) 및 제 5 도에 도시한 동기검출제어신호 생성부(7)로 입력된다.
제 4 도에 도시한 동기정보등록부(6)에서 스케줄링부(5)에서의 데이타정보는 데이타래치(403)에서 래치되고, 어드레스데이타는 어드레스래치(404)에 래치된다. 래치된 데이타정보는 RAM(401)에 저장되어 등록되지만, 그 어드레스는 상기 래치된 어드레스데이타에 따라 멀티플렉서(402)에 의해 설정된다. 선택정보생성기(405)에는 선택해야할 동기검출부(8)의 논리번호가 데이타래치(403)을 거쳐서 설정된다. 선택정보생성기(405)는 이 논리번호를 기본으로 물리어드레스를 산출하여 선택정보를 생성한다.
동기정보생성기(406)은 데이타래치(403)을 거쳐서 동기정보를 받아 동기완료시에 스케줄링부(5)로 출력하는 동기완료신호를 생성한다.
다음에 동기정보등록부(6)에 등록된 동기정보는 선택정보생성기(405)에서 발생되고, 선택정보버퍼(409)를 거쳐서 출력되는 선택정보에 의해 결정된 다음단의 동기검출부(8)내의 설정행성지에 설정된다. 즉, 실행되는 타스크번호가 동기검출부(8)내의 비교기(601)에 설정되고, 동기를 취해야할 타스크수가 다운카운터(605)에 설정되어 동기완료정보가 동기완료정보래치(605)에 래치된다.
제 5 도에 도시한 동기검출제어신호 생성부(7)에서, 스케줄링부(5)에서 전송되는 타스크번호와 서브프로세서로 이루어지는 동기정보는 동기정보래치(502)에서 래치되어 사용하는 비교기(501)을 결정한다. 선택정보는 선택정보래치(503)에 래치된다. 동기정보래치(502)내의 정보는 선택정보에 의해 선택된 비교기(501)에 등록된다.
한편, 서브프로세서(2)의 처리가 완료된 시점에서 출력되는 서브프로세서(2)에서의 동기신호데이타는 동기신호데이타래치(504)에 래치되고, 상기 동기정보와 동기신호가 비교기(501)에서 비교되어 타스크번호, 서브프로세서(2)의 번호등이 일치하면 동기검출제어신호 버퍼(505)를 거쳐서 동기검출기(8)로 출력된다. 동시에 동기신호데이타에서 얻어진 타스크동기번호에 따른 동기검출부선택신호를 동기검출부선택신호 생성기(506)에서 발생시켜 출력된다. 동기검출제어신호는 여러개가 있는 동기검출부 (8 )중의 동기검출부 선택신호 생성기(506)에 의해 선택된 동기검출부(8)로 출력된 다.
제 6 도에 도시한 동기검출부(8)에서, 동기정보등록부(6)에서 입력된 동기정보는 동기정보래치(601)을 거쳐서 비교기(601), 다운카운터(605), 동기완료정보래치 (604)에 래치되어 있다. 동기검출제어신호 생성부(7)에서의 동기검출제어신호는 동기검출제어신호래치(606)에 래치되고, 상기 동기정보와 동기검출제어신호는 비교기(60 1)에서, 즉 여러개가 있는 비교기(601) 각각에 동기검출제어신호를 입력하는 것에 의해 상기 동기정보와 동기검출제어신호를 비교하여 상기 양신호가 일치하면 최초에 할당한 타스크의 하나의 실행완료로 판단하고, 펄스생성기(607)에서 펄스를 생성하여 서브프로세서(2)의 수(사전의 할당타스크의 수)로 설정된 다운카운터(605)의 값(동기정보)를 정당한 동기검출제어신호가 들어간 것으로 해서 1만 감소하고, 0으로된 시점에서 스케줄링부(5)로 동기완료정보(12A)를 출력한다. 스케줄링부(5)는 동기완료정보(2A)의 입력에 의해 할당된 모든 타스크의 실행완료로 판단하고, 동기완료정보래치 (604)의 정보를 기본으로 여러개가 있는 동기검출부의 어느 동기검출부(8)에 할당된 동기가 완료했는가를 판단하여 다음의 타스크의 할당과 그 실행을 계획한다.
또한, 상기 실시예에서의 다중처리시스템의 동기기구(1B)는 시스템버스(6)을 동기신호의 전송로로서 사용하고 있지만, 이 전송로를 직렬라인 또는 네트워크로서 구성할 수도 있다. 이 경우 버스아비터(4)는 필요없게 된다.
또, 상기 실시예에서의 다중처리시스템의 동기검출기구(304)는 메인프로세서 (1)내에 구성되어 있지만, 이것을 독립된 프로세서로서 구성해도 좋다.
이상과 같이 본 발명에 의하면 메인프로세서와 여러개의 서브프로세서 사이의 동기신호는 데이타정보로서 통신로를 거쳐 전송하고, 등록된 데이타정보와 비교해서 여러개의 서브프로세서에서의 할당타스크의 완료를 검출하도록 했으므로, 상기 메인프로세서와 여러개의 서브프로세서 사이의 동기제어를 전용의 동기기구나 신호선을 필요로 하는일 없이 효율있게 실행하는 다중처리시스템 및 그 동기제어방법이 얻어지는 효과가 있다.

Claims (2)

  1. 메인프로세서 및 공통의 통신로를 거쳐서 상기 메인프로세서와 접속된 여러개의 서브프로세서로 이루어지는 다중처리시스템의 동기제어방법에 있어서, 상기 메인프로세서에서 상가 여러개의 서브프로세서로의 타스크의 할당을 계획해서 그 실행과 동기에 관한 동기정보를 생성하는 단계, 상기 동기정보를 제 1 의 데이타정보로서 상기 통신로를 거쳐서 상기 여러개의 서브프로세서로 출력함과 동시에 상기 동기정보를 등록해두는 단계, 상기 여러개의 서브프로세서에서 상기 제 1 의 데이타정보에 따라 해당하는 타스크를 실행하고, 그 실행완료를 나타내는 동기신호를 제 2 의 데이타정보로서 상기 통신로를 거쳐서 상기 메인프로세서로 출력하는 단계 및 상기 메인프로세서에서 상기 제 2 의 데이타정보와 등록되어 있는 상기 동기정보를 비교해서 상기 해당하는 타스크의 실행완료를 검출하고, 모든 타스크의 실행완료를 검출하면 다음의 타스크실행을 계획하는 단계로 이루어지는 다중처리시스템의 동기제어방법.
  2. 메인프로세서(1) 및 공통의 통신로를 거쳐서 상기 메인프로세서와 접속된 여러개의 서브프로세서(2)로 이루어지는 다중처리시스템에 있어서, 상기 메인프로세서는 상기 여러개의 서브프로세서(2)로의 타스크의 할당을 계획해서 그 실행과 동기에 관한 동기정보를 생성하는 타스크계획수단(5), 상기 동기정보를 등록해두는 동기정보등록수단(6), 상기 동기정보를 제 1 의 데이타정보로서 상기 통신로를 거쳐서 상기 여러개의 서브프로세서(2)로 출력하는 동기정보출력수단(5A) 및 상기 여러개의 서브프로세서에서 제 2 의 데이타정보로서 상기 통신로를 거쳐서 입력된 해당하는 타스크의 실행완료정보와 등록되어 있는 상기 동기정보를 비교해서 상기 해당하는 타스크의 실행완료를 검출하고, 상기 할당타스크의 모든 실행완료를 검출하면 상기 타스크계획수단(5)에 대하여 다음의 타스크실행을 계획하는 동기검출수단(8)을 구비한 다중처리시스템.
KR1019910015620A 1990-11-20 1991-09-07 다중처리시스템 및 다중처리시스템의 동기제어방법 KR950002422B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2315075A JPH04184556A (ja) 1990-11-20 1990-11-20 多重処理システムおよび多重処理システムの同期制御方法
JP2-315075 1990-11-20

Publications (2)

Publication Number Publication Date
KR920010380A KR920010380A (ko) 1992-06-26
KR950002422B1 true KR950002422B1 (ko) 1995-03-20

Family

ID=18061118

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019910015620A KR950002422B1 (ko) 1990-11-20 1991-09-07 다중처리시스템 및 다중처리시스템의 동기제어방법

Country Status (3)

Country Link
EP (1) EP0487001A3 (ko)
JP (1) JPH04184556A (ko)
KR (1) KR950002422B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007328822A (ja) * 2007-09-10 2007-12-20 Matsushita Electric Ind Co Ltd マルチタスクプロセッサ
WO2010001353A1 (en) 2008-07-02 2010-01-07 Nxp B.V. A multiprocessor circuit using run-time task scheduling

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0131658B1 (en) * 1983-07-08 1987-10-28 International Business Machines Corporation A synchronisation mechanism for a multiprocessing system
EP0353819B1 (en) * 1988-08-02 1997-04-09 Koninklijke Philips Electronics N.V. Method and apparatus for synchronizing parallel processors using a fuzzy barrier

Also Published As

Publication number Publication date
KR920010380A (ko) 1992-06-26
EP0487001A2 (en) 1992-05-27
JPH04184556A (ja) 1992-07-01
EP0487001A3 (en) 1993-05-19

Similar Documents

Publication Publication Date Title
US4626843A (en) Multi-master communication bus system with parallel bus request arbitration
US4358823A (en) Double redundant processor
US5361369A (en) Synchronous method of, and apparatus for, allowing a processor to process a next task before synchronization between a predetermined group of processors
US5781775A (en) Parallel process scheduling method in a parallel computer and a processing apparatus for a parallel computer
CA1240399A (en) Duplex controller synchronization circuit
JP2763886B2 (ja) 2進木構造並列処理装置
SE452231B (sv) Forfarande for synkronisering av klockor ingaende i ett lokalt netverk av busstyp
US4920485A (en) Method and apparatus for arbitration and serialization in a multiprocessor system
JP3746371B2 (ja) 性能シミュレーション方法
WO1992015061A1 (en) System for distributed multiprocessor communication
CN101110118A (zh) 健康体检控制系统和方法
JPH04350758A (ja) 多重処理能力を備えたワークステーション
KR950002422B1 (ko) 다중처리시스템 및 다중처리시스템의 동기제어방법
EP1132818A2 (en) Multiple processor interface, synchronization, and arbitration scheme using time multiplexed shared memory for real time systems
US5680554A (en) Method and apparatus for arbitrating among processors for access to a common bus
EP0827070B1 (en) Pipelined computer
JPH07200486A (ja) 情報処理装置
JPH01241662A (ja) 並列処理方法
Halang Achieving jitter-free and predictable real-time control by accurately timed computer peripherals
KR950010950B1 (ko) 버스 구조에서의 프로세서간 통신 장치 및 방법
JPH07160657A (ja) クラスタ間通信制御装置
JP4044468B2 (ja) 時分割多重通信端末装置及びタイムスロットの割当判定方法
SU1700559A1 (ru) Система отладки микропроцессорных устройств
SU1539780A1 (ru) Устройство дл контрол за ходом вычислительного процесса
SU752342A1 (ru) Мультипроцессорна вычислительна система

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
NORF Unpaid initial registration fee