KR950002422B1 - 다중처리시스템 및 다중처리시스템의 동기제어방법 - Google Patents
다중처리시스템 및 다중처리시스템의 동기제어방법 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/458—Synchronisation, e.g. post-wait, barriers, locks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/17—Interprocessor 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 의 데이타정보에 따라 해당하는 타스크를 실행하고, 그 실행완료를 나타내는 동기신호를 제 2 의 데이타정보로서 상기 통신로를 거쳐서 상기 메인프로세서로 출력하는 단계 및 상기 메인프로세서에서 상기 제 2 의 데이타정보와 등록되어 있는 상기 동기정보를 비교해서 상기 해당하는 타스크의 실행완료를 검출하고, 모든 타스크의 실행완료를 검출하면 다음의 타스크실행을 계획하는 단계로 이루어지는 다중처리시스템의 동기제어방법.
- 메인프로세서(1) 및 공통의 통신로를 거쳐서 상기 메인프로세서와 접속된 여러개의 서브프로세서(2)로 이루어지는 다중처리시스템에 있어서, 상기 메인프로세서는 상기 여러개의 서브프로세서(2)로의 타스크의 할당을 계획해서 그 실행과 동기에 관한 동기정보를 생성하는 타스크계획수단(5), 상기 동기정보를 등록해두는 동기정보등록수단(6), 상기 동기정보를 제 1 의 데이타정보로서 상기 통신로를 거쳐서 상기 여러개의 서브프로세서(2)로 출력하는 동기정보출력수단(5A) 및 상기 여러개의 서브프로세서에서 제 2 의 데이타정보로서 상기 통신로를 거쳐서 입력된 해당하는 타스크의 실행완료정보와 등록되어 있는 상기 동기정보를 비교해서 상기 해당하는 타스크의 실행완료를 검출하고, 상기 할당타스크의 모든 실행완료를 검출하면 상기 타스크계획수단(5)에 대하여 다음의 타스크실행을 계획하는 동기검출수단(8)을 구비한 다중처리시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2-315075 | 1990-11-20 | ||
JP2315075A JPH04184556A (ja) | 1990-11-20 | 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)
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)
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 |
-
1990
- 1990-11-20 JP JP2315075A patent/JPH04184556A/ja active Pending
-
1991
- 1991-09-07 KR KR1019910015620A patent/KR950002422B1/ko active IP Right Grant
- 1991-11-18 EP EP19910119659 patent/EP0487001A3/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP0487001A3 (en) | 1993-05-19 |
EP0487001A2 (en) | 1992-05-27 |
KR920010380A (ko) | 1992-06-26 |
JPH04184556A (ja) | 1992-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4626843A (en) | Multi-master communication bus system with parallel bus request arbitration | |
US4358823A (en) | Double redundant processor | |
US5781775A (en) | Parallel process scheduling method in a parallel computer and a processing apparatus for a parallel computer | |
CA1240399A (en) | Duplex controller synchronization circuit | |
EP0475282A2 (en) | Synchronous method and apparatus for processors | |
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) | 性能シミュレーション方法 | |
JP2002517035A (ja) | リアルタイムスケジューリングロジックおよび時間確定的アーキテクチャを使用する分散コンピューティング環境 | |
JPH07101410B2 (ja) | データ処理ネットワークにおいて逐次化手段の試験のため命令流の実行を同期させる方法 | |
Nicol et al. | Parallel simulation of timed petri-nets | |
CN101110118A (zh) | 健康体检控制系统和方法 | |
JP3285629B2 (ja) | 同期処理方法及び同期処理装置 | |
CN105022333B (zh) | 具有多个cpu模块的plc系统及其控制方法 | |
US6473821B1 (en) | Multiple processor interface, synchronization, and arbitration scheme using time multiplexed shared memory for real time systems | |
KR950002422B1 (ko) | 다중처리시스템 및 다중처리시스템의 동기제어방법 | |
CA1113575A (en) | Check circuit for synchronized clocks | |
EP0420457B1 (en) | Pipelined computer | |
JP2780623B2 (ja) | 情報処理装置 | |
US5634041A (en) | Rationally clocked communication interface | |
Halang | Achieving jitter-free and predictable real-time control by accurately timed computer peripherals | |
KR950010950B1 (ko) | 버스 구조에서의 프로세서간 통신 장치 및 방법 | |
JP4044468B2 (ja) | 時分割多重通信端末装置及びタイムスロットの割当判定方法 | |
SU1700559A1 (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 |