KR0170491B1 - 프로세서간 통신장치 - Google Patents

프로세서간 통신장치 Download PDF

Info

Publication number
KR0170491B1
KR0170491B1 KR1019950024209A KR19950024209A KR0170491B1 KR 0170491 B1 KR0170491 B1 KR 0170491B1 KR 1019950024209 A KR1019950024209 A KR 1019950024209A KR 19950024209 A KR19950024209 A KR 19950024209A KR 0170491 B1 KR0170491 B1 KR 0170491B1
Authority
KR
South Korea
Prior art keywords
processor
communication
data
clock
processors
Prior art date
Application number
KR1019950024209A
Other languages
English (en)
Other versions
KR970012164A (ko
Inventor
백인기
박재홍
Original Assignee
양승택
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 양승택, 한국전자통신연구원 filed Critical 양승택
Priority to KR1019950024209A priority Critical patent/KR0170491B1/ko
Publication of KR970012164A publication Critical patent/KR970012164A/ko
Application granted granted Critical
Publication of KR0170491B1 publication Critical patent/KR0170491B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • 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

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)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Multi Processors (AREA)

Abstract

본 발명은 프로세서간 통신장치에 관한 것으로서, 종래기술에서 송신할 데이터가 있어도 사용 권한이 주어질 때까지 대기해야 했던 문제점을 해결하기 위해 소정 클럭에 따라 프로세서와 주변회로 및 프로세서간 송수신되는 데이터를 프로세서간 상호 통신에 해당한 데이터로 변환하는 다수개의 프로세서와, 프로세서로 부터 송신되는 데이터의 경로 및 송신순서를 제어하는 스위칭수단과, 스위칭수단으로 부터 입력되는 N개의 프로세서간 통신 메세지를 한개의 통신로를 통해 큐(Queue) 대기시간 없이 동시에 송수신하는 프로세서간 통신제어수단으로 구성된 다중 프로세서간 통신장치를 제공함으로써 다수개의 프로세서간 통신 성능을 향상시킬 수가 있는 것이다.

Description

프로세서간 통신장치(Communication device of inter-processor)
제1도는 본 발명이 적용되는 다중 프로세서에서의 통신을 위한 블럭 구성도.
제2도는 제1도에서의 프로세서간 통신제어수단의 상세 블럭 구성도.
* 도면의 주요부분에 대한 부호의 설명
10A,10B,‥‥,10N : 프로세서 20 : 스위칭부
30 : 프로세서간 통신제어부 31 : 송신 래치부
32 : A/D 변환부 33 : D/A변환부
34 : 수신 래치부 35 : 클럭 발생부
본 발명은 다중 프로세서에 관한 것으로, 특히 다수의 프로세서가 상호 메세지를 교환하면서 제어기능을 수행하는 시스템에 있어서 D/A 및 A/D변환기를 이용하여 프로세서간 통신의 성능을 향상시키기 위한 프로세서간 통신장치에 관한 것이다.
일반적으로, 다수의 프로세서가 상호 메세지를 교환하면서 제어기능을 수행할 때 프로세서간 통신은 시스템의 성능에 많은 영향을 미친다.
종래기술에서의 프로세서간 통신장치는 다수의 프로세서가 하나의 통신로를 공유하는 방식(BUS 구조, RING 구조)과 다수의 프로세서가 1:1로 전용 통신로를 갖는 방식(MESH 구조)으로 크게 구분된다.
상기에서 전자의 방식은 하나의 통신로를 다수의 프로세서가 공유하여야하므로 통신로상에서의 데이터 충돌을 방지하기 위하여 통신로 사용 순서를 정하는 방식에 따라서 다시 선택(Selection), 경쟁(Random access), 예약(reserve) 방식으로 분류된다.
즉, 이 방식의 경우 한 순간에 다수의 프로세서 중 한개의 프로세서만이 통신로를 사용할 수 있고, 나머지 프로세서들은 통신로의 사용 권한이 주어질 때까지 송신할 데이터가 있어도 대기하여야 하는 문제점을 갖고 있다.
그리고, 후자의 방식은 다수의 프로세서가 각각 1:1의 전용 통신로를 갖어야 하므로 상당히 많은 수의 통신로를 필요로 하게 되어 시스템이 복잡해지는 문제점을 갖게 된다.
따라서, 본 발명은 상기 문제점을 해결하기 위해 한개의 통신로를 다수의 프로세서가 공유하는 방식에 있어서 사용권한이 주어짐에 상관없이 송신할 데이터가 있는 경우 즉시 통신로를 통하여 송신할 수 있도록 하여 다수의 프로세서가 동시에 통신로를 사용할 수 있도록 하므로써 프로세서간 통신의 성능을 향상시키기 위한 프로세서간 통신장치를 제공하는데 그 목적이 있다.
상기 목적을 달성하기 위한 본 발명의 기술적 수단은, 소정 클럭에 따라 프로세서와 주변회로 및 프로세서간 송수신되는 데이터를 프로세서간 상호 통신에 해당한 데이터로 변환하는 다수개의 프로세서와, 상기 프로세서로 부터 송신되는 데이터의 경로 및 송신순서를 제어하는 스위칭수단과, 상기 스위칭수단으로 부터 입력되는 N 개의 프로세서간 통신 메세지를 한개의 통신로를 통해 큐 대기시간 없이 동시에 송수신하는 프로세서간 통신제어수단으로 구성된 것이다.
이하, 본 발명을 첨부된 도면에 의거하여 상세히 설명하면 다음과 같다.
본 발명의 구성은 제1도에 도시된 바와 같이, 소정 클럭에 따라 프로세서와 주변회로 및 프로세서간 송수신되는 데이터를 프로세서간 상호 통신에 해당한 데이터로 변환하는 다수개의 프로세서부(10A, l0B,‥‥,10N)와, 상기 프로세서로 부터 송신되는 데이터의 경로 및 송신순서를 제어하는 스위칭부(20)와, 상기 스위칭부(20)로 부터 입력되는 N 개의 프로세서간 통신 메세지를 한개의 통신로를 통해 큐(QUEUE) 대기시간 없이 동시에 송수신하는 프로세서간 통신제어부(30)로 구성된 것이다.
이와같은 구성에 따른 동작을 설명하면 다음과 같다.
상기 다수개의 프로세서부(10A,‥‥,10N)는 프로세서와 주변회로 및 프로세서간 통신을 위한 송신 단자 Tx와 수신 단자 Rx로 구성되어, 다른 프로세서부로 송신하고자 하는 데이터를 프로세서간 통신에 적합한 형태로 생성시켜 요구되어지는 프로세서부에 정확히 수신될 수 있도록 스위칭부(20)로 전송한다.
또한 다른 프로세서부(10A, l0B,‥‥)로 부터 프로세서간 통신에 적합한 형태로 입력되는 데이터를 정확히 수신하고, 이로부터 프로세서가 처리하기에 적합한 형태로 데이터를 변환하는 기능을 수행한다.
더불어 다수개의 프로세서(10A,‥)가 동일한 한개의 프로세서로 동시에 프로세서간 통신 메세지를 송신하고자 하는 경우를 방지하기 위한 제어신호도 발생시킨다.
상기 스위칭부(20)는 데이터를 송신하고자 하는 프로세서부(10A,‥‥)로 부터 수신하는 프로세서부(l0B,‥‥)까지의 경로를 공간 스위치에 의해 제공하고, 또한 다수개의 프로세서부(10A,‥‥)에서 한개의 프로세서부(l0B,‥‥)로 동시에 프로세서간 통신 메세지를 전송하고자 하는 경우에 이들의 송신 순서를 제어한다.
그리고 프로세서간 통신 제어부(30)는 상기 스위칭부(20)로 부터 입력되는 N개의 프로세서간 통신 메세지를 한개의 통신로를 통해 동시에 송수신한다.
이러한 상기 프로세서간 통신 제어부(30)의 구성은 제2도에 도시된 바와 같이, 소정 클럭을 공급하는 클럭발생부(35)와, 상기 클럭발생부(35)로 부터 공급된 클럭에 의해서 상기 스위칭부(20)를 통한 데이터들을 정렬 및 안정화시켜 N-비트 형태로 출력하는 송신래치부(31)와, 상기 송신래치부(31)로 부터 출력된 데이터들을 상기 클럭발생부(35)에서 공급된 클럭에 의해 입력시켜 N-비트에 해당하는 아날로그신호를 단일 프로세서간 통신로에 출력하는 D/A변환부(32)와, 상기 D/A변환부(32)를 통해 입력되는 아날로그신호로 부터 상기 다수개의 프로세서부(10A,‥‥,10N)에서 동시에 전송된 프로세서간 통신 메세지를 N 개의 데이터로 분리하여 상기 클럭발생부(35)에서 공급되는 클럭에 동기시켜 N-비트 형태의 데이터를 출력하는 A/D변환부(33)와, 상기 A/D변환부(33)를 통해 출력된 N-비트의 데이터를 상기 클럭발생부(35)에서 공급된 클럭에 의해 상기 다수개의 프로세서에서 정확히 수신하도록 안정화시키는 수신래치부(34)로 구성된 것이다.
이와같은 구성에 의한 상기 프로세서간 통신제어부(30)의 동작을 설명하면 다음과 같다.
N 개의 프로세서부(10A,‥‥)들로 부터 송신된 프로세서간 통신 메세지들은 스위칭부(20)의 경로 제어를 받아 각자 수신 프로세서부(l0B,‥‥)에 해당하는 프로세서간 통신 제어부(30)의 입력 단자로 입력되고, 이들은 다시 프로세서간 통신 제어부(30)내의 송신 래치부(31)로 입력된다.
이때, 상기 클럭 발생부(35)에서 제공하는 클럭에 의해서 데이터들이 정렬되어 안정된 N-비트 형터의 데이터를 D/A 변환부(32)로 제공한다.
상기 송신 래치부(31)에 의해서 N-비트의 데이터가 D/A 변환부(32)로 제공되면, D/A 변환부(32)는 클럭 발생부(35)에서 제공하는 클럭에 의해 데이터를 내부로 입력한다.
이때, N-비트에 해당하는 아날로그 전압레벨이 D/A 변환부(32)의 출력단자(Aout)를 통해 단일 프로세서간 통신로로 출력된다.
상기 통신로로 출력되는 전압은 다수개의 프로세서부(10A,‥‥,10N)가 동시에 전송하는 프로세서간 통신 메세지에 대한 모든 정보를 포함하게 된다.
그리고 상기 D/A변환부(32)로 부터 출력된 신호는 통신로를 통해 A/D 변환부(33)로 입력된다.
그러면, A/D 변환부(33)는 입력되는 아날로그 신호로 부터 다수개의 프로세서부(10A,‥‥,10N)에서 동시에 전송된 프로세서간 통신메세지를 N개의 데이터로 분리하여 클럭 발생부(35)에서 제공하는 클럭에 동기시켜 N-비트 형태의 데이터로 출력한다.
이와같은 N-비트의 데이터는 수신래치부(34)로 입력되는데 여기서는 프로세서부(10A,‥‥)의 수신 단자(Rx)에서 정확히 데이터를 수신할 수 있도록 안정된 데이터를 제공하는데, 이는 상기 클럭 발생부(35)에서 출력하는 클럭에 동기시켜 수행한다.
상기한 클럭 발생부(35)는 프로세서간 통신에 있어서 정확히 프로세서간 통신 데이터를 송수신 하기 위해 필요한 데이터 송수신 동기 클럭을 발생시켜 프로세서간 통신로에 연결된 모든 프로세서부(10A,‥‥,10N)로 분배하고, 프로세서간 통신 제어부(30)를 구성하는 송신 래치부(31), D/A 변환부(32), A/D 변환부(33), 수신 래치부(34)들이 각각 안정된 프로세서간 통신 데이터를 입출력하기 위한 클럭을 제공하는 기능을 수행한다.
상기와 같은 내용에 부가적으로 상기 제1도와 제2도를 참조하여, 임의의 프로세서부에서 다른 프로세서부로 데이터를 송신할 때의 경로제어에 대해 설명하면 다음과 같다.
상기 제1도의 프로세서부1(10A)에서 프로세서부2(10B)로 데이터를 송신하고자 하는 경우에 스위칭부로 송신하고자 하는 데이터가 입력된다.
이 데이터들은 프로세서간 통신 제어부(30)를 구성하는 D/A 변환기(32) 상위 2번째 비트로 입력되어야 A/D 변환기(33) 상위 2번째 비트에 연결되어 있는 프로세서부2(10B)로 경로가 형성된다.
따라서, 상기 스위칭부(20)는 Tx(1)으로 입력되는 신호를 D/A 변환기(32) 상위 2번째 비트로 연결시켜 주는 기능을 수행하게 된다.
즉, D/A 변환기(32) 입력의 각 디지털 비트들은 이미 A/D 변환기(33)출력의 각 디지털 비트와 1:1로 연결된다고 볼 수 있으므로 상기 스위칭부(20)는 입력되는 데이터를 목적지로 해당하는 프로세서부로 연결되는 D/A 변환기(32)에 해당 비트로 연결시켜 주는 기능을 수행한다.
다시말해서, 상기 송신데이터는 그 데이터 자체내에 수신될 어드레스가 데이터 헤더에 표시되어 있으므로 스위칭부에서 이 데이터를 받아 헤더내의 어드레스를 분석하여 해당 비트로 연결시켜주는 기능을 합니다.
또한 스위칭부(20)는 다수의 프로세서부가 동시에 임의의 한 개의 프로세서부로 데이터를 송신하고자 하는 경우 데이터의 송신 순서를 정해주기 위한 기능도 수행한다.
즉 프로세서부2(10B)는 프로세서부1(10A)와 프로세서3(10C)가 동시에 데이터를 보내고자 하는 경우에 프로세서1(10A)와 프로세서3(10C)중 어느 프로세서부가 먼저 보낼 수 있는지를 결정해 주는 기능도 수행한다.
순서를 결정하는 방식은 다양한 방식이 있는데, 우선권(priority)에 의해서 결정하는 방식, 라운트 로빈(Round robin)방식으로 결정하는 방식 등등 여러 방식을 다 사용할 수 있다.
프로세서간 통신 방식에 있어서, 버스 구조를 갖는 경우 프로세서부1(10A)와 프로세서부2(10B)가 버스를 사용하고 있는 경우에 다른 프로세서부는 버스를 사용하지 못하고 대기하고 있어야 하나, 본 발명에서 제안하는 구조에서는 목적지 프로세서부가 동일한 경우만 제외하고 언제든지 송신할 수 있어, 프로세서간 통신에 있어서 성능에 가장 큰 영향을 미치게 되는 전송하고자 하는 프로세서간 통신 메시지 큐(Queue)에서의 대기시간을 줄일 수 있는 장점이 있다.
즉, 통신로의 사용권한이 주어져 송신하고자 하는 메시지가 통신선로상에 실리기까지 메시지가 큐에서 기다리는 시간을 줄일 수가 있는 것이다.
이상과 같은 본 발명은 통신로의 사용 권한이 주어질 때까지 전송하여야 할 프로세서간 통신 데이터를 큐에 대기시키는 종래의 방식과는 달리 D/A, A/D 변환기를 사용하여 다수개의 프로세서간 통신 메세지를 아날로그 신호로 변환하여 동시에 전송 가능하게 하므로써, 큐 대기 시간을 제거시켜 프로세서간 통신의 성능을 대폭 향상시킬 수가 있는 것이다.

Claims (2)

  1. 소정 클럭에 따라 프로세서와 주변회로 및 프로세서간 송수신되는 데이타를 프로세서간 상호 통신에 해당한 데이터로 변환하는 다수개의 프로세서와, 상기 프로세서로 부터 송신되는 데이터의 경로 및 송신 순서를 제어하는 스위칭수단과, 상기 스위칭수단으로 부터 입력되는 N 개의 프로세서간 통신 메세지를 한개의 통신로를 통해 큐(Queue) 대기시간 없이 동시에 송수신하는 프로세서간 통신제어수단으로 구성된 것을 특징으로 하는 프로세서간 통신장치.
  2. 제1항에 있어서, 상기 프로세서간 통신제어수단은 소정 클럭을 공급하는 클럭발생부(35)와, 상기 클럭발생부(35)로 부터 공급된 클럭에 의해서 상기 스위칭수단을 통한 데이터들을 정렬 및 안정화시켜 N-비트 형태로 출력하는 송신래치부(31)와, 상기 송신래치부(31)로 부터 출력된 데이터들을 상기 클럭발생부(35)에서 공급된 클럭에 의해 입력시켜 N-비트에 해당하는 아날로그신호를 단일 프로세서간 통신로에 출력하는 D/A변환부(32)와, 상기 D/A변환부(32)를 통해 입력되는 아날로그신호로 부터 상기 다수개의 프로세서에서 동시에 전송된 프로세서간 통신 메세지를 N 개의 데이터로 분리하여 상기 클럭발생부(35)에서 공급되는 클럭에 동기시켜 N-비트 형태의 데이터를 출력하는 A/D변환부(33)와, 상기 A/D변환부(33)를 통해 출력된 N-비트의 데이터를 상기 클럭발생부(35)에서 공급된 클럭에 의해 상기 다수개의 프로세서에서 정확히 수신하도록 안정화시키는 수신래치부(34)로 구성된 것을 특징으로 하는 프로세서간 통신장치.
KR1019950024209A 1995-08-05 1995-08-05 프로세서간 통신장치 KR0170491B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950024209A KR0170491B1 (ko) 1995-08-05 1995-08-05 프로세서간 통신장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950024209A KR0170491B1 (ko) 1995-08-05 1995-08-05 프로세서간 통신장치

Publications (2)

Publication Number Publication Date
KR970012164A KR970012164A (ko) 1997-03-29
KR0170491B1 true KR0170491B1 (ko) 1999-03-30

Family

ID=19422944

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950024209A KR0170491B1 (ko) 1995-08-05 1995-08-05 프로세서간 통신장치

Country Status (1)

Country Link
KR (1) KR0170491B1 (ko)

Also Published As

Publication number Publication date
KR970012164A (ko) 1997-03-29

Similar Documents

Publication Publication Date Title
US3331055A (en) Data communication system with matrix selection of line terminals
JPH02156750A (ja) 多重アクセス制御方法および該方法を実施する多重アクセス制御システム
US4916695A (en) Stored program controlled real time system including three substantially identical processors
US7047350B2 (en) Data processing system having a serial data controller
WO1999022307A1 (fr) Interface de donnees et systeme de communication haute vitesse utilisant cette interface
US4773067A (en) Multi-node data processing system
KR0170491B1 (ko) 프로세서간 통신장치
US4720828A (en) I/o handler
JPS6035854A (ja) デ−タ伝送方式
KR100204494B1 (ko) 분산 처리 시스템에서의 작업 제어 장치 및 그 방법
US20040136391A1 (en) Circuit arrangement for data stream distribution with conflict resolution
JP2626487B2 (ja) 伝送装置
JP3000608B2 (ja) 衛星通信方式
KR100350465B1 (ko) 선입선출 메모리를 이용한 동기화 장치 및 방법
JP3074598B2 (ja) データ交換装置
JPH11212927A (ja) 競合調停方法
KR100299137B1 (ko) 통신시스템의 서킷 에뮬레이션 장치
KR930003450B1 (ko) 패리티변환방식을 이용한 프로세서간 데이터 송수신 장치
JP2547437B2 (ja) デマンドアサイン加入者無線方式
JP2606868B2 (ja) 電話交換システム
US7315556B1 (en) Shared CODEC in multiprocessor systems
KR20000047242A (ko) 메인 프로세서와 다수의 서브프로세서간의 데이터통신장치
JPH0225962A (ja) シリアル伝送によるプロセッサ間通信方式
JPH10240406A (ja) コンピュータ装置
US5995616A (en) Apparatus for communication between a telephone exchange and connected telephone sets

Legal Events

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

Payment date: 20081001

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee