KR970006027B1 - 데이터전송장치 및 멀티프로세서시스템 - Google Patents

데이터전송장치 및 멀티프로세서시스템 Download PDF

Info

Publication number
KR970006027B1
KR970006027B1 KR1019930015560A KR930015560A KR970006027B1 KR 970006027 B1 KR970006027 B1 KR 970006027B1 KR 1019930015560 A KR1019930015560 A KR 1019930015560A KR 930015560 A KR930015560 A KR 930015560A KR 970006027 B1 KR970006027 B1 KR 970006027B1
Authority
KR
South Korea
Prior art keywords
data
data transmission
channel
data transfer
address
Prior art date
Application number
KR1019930015560A
Other languages
English (en)
Other versions
KR940004461A (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 KR940004461A publication Critical patent/KR940004461A/ko
Application granted granted Critical
Publication of KR970006027B1 publication Critical patent/KR970006027B1/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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
    • 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

Abstract

내용없음.

Description

데이터전송장치 및 멀티프로세서시스템
제1도는 본 발명의 제1의 실시예에 데이터전송장치의 구성을 표시하는 블록도.
제2도는 제1도중의 1개의 데이터전송채널에 설치된 입출력제어회로의 내부구성을 표시하는 블록도.
제3도는 제1의 실시예에 있어 프로세서엘리먼트에서 복수의 데이터전송채널에의 랜덤데이터전송의 동작을 표시하는 타이밍도.
제4도는 동 실시예에 있어 프로세서엘리먼트에서 복수의 데이터전송채널에의 순차데이터(sequential data)전송의 1개의 태양을 표시하는 타이밍도.
제5도는 동 실시예에 있어 프로세서엘리먼트에서 복수의 데이터전송채널에의 순차데이터전송의 다른 태양을 표시하는 타이밍도.
제6도는 동 실시예에 있어 프로세서엘리먼트에서 복수의 데이터전송채널에의 순차데이터전송의 또 다른 태양을 표시하는 타이밍도.
제7도는 동 실시예에 있어 1개의 데이터전송채널에서 프로세서엘리먼트에의 데이터 전송의 동작을 표시하는 타이밍도.
제8도는 본 발명의 제2의 실시예에 관한 데이터전송장치중의 1개의 데이터전송채널의 구성을 표시하는 도면.
제9도는 동 실시예에 있어 어드레서의 필드구성도.
제10도는 본 발명의 제3의 실시예에 관한 데이터전송장치중의 1개의 데이터전송채널에 설치된 입출력제어회로의 내부구성을 표시하는 블록도.
제11도는 제10도중의 코멘드레지스터의 필드구성도.
제12도는 제3의 실시예에 있어 프로세서엘리먼트에서 1개의 데이터전송채널에의 데이터전송의 동작을 표시하는 타이밍도.
제13도는 동 실시예에 있어 1개의 데이터전송채널에서 프로세서엘리먼트에의 데이터전송의 동작을 표시하는 타이밍도.
제14도는 동 실시예에 있어 프로세서엘리먼트에서 전 데이터전송채널에의 데이터의 브로드캐스트(broadcast)동작을 표시하는 타이밍도.
제15도는 본 발명의 제4의 실시예에 관한 데이터전송장치의 구성을 표시하는 블록도.
제16도는 동 실시예에 있어 프로세서엘리먼트에서 복수의 데이터전송채널에의 랜덤데이터전송의 동작을 표시하는 타이밍도.
제17도는 동 실시예에 있어 프로세서엘리먼트에서 복수의 데이터전송채널에의 순차데이터전송의 동작을 표시하는 타이밍도.
제18도는 본 발명의 제5의 실시예에 관한 멀티프로세서시스템의 전체 구성을 표시하는 블록도.
제19도는 제18도중의 1개의 프로세서엘리먼트의 내부 구성을 표시하는 블록도.
제20도는 제18도중의 1개의 데이터전송채널의 내부 구성을 표시하는 블록도.
제21도는 제5의 실시예에 있어서 1개의 프로세서엘리먼트에서 N개의 데이터전송채널에의 배열데이터전송의 동작설명도.
제22도는 동 실시예에 있어 N개의 데이터전송채널에서 1개의 프로세서엘리먼트의 배열데이터전송의 동작설명도.
제23도는 데이터전송처의 식별을 위해 어드레스버스를 사용한 종래의 데이터전송장치의 개략 구성을 표시하는 블록도.
제24도는 각 데이터 앞에 부가된 헤더에 의해 데이터전송처를 식별하는 구성을 구비한 종래의 다른 데이터전송장치의 동작을 표시하는 타이밍도.
* 도면의 주요부분에 대한 부호의 설명
10 : 프로세서엘리먼트(제1의 장치) 11 : 프로세서
12 : 메모리(인식번호기억수단, 채널수 기억수단) 13: 데이터전송제어회로
14 : 메모리액세스제어회로 15 : 전송포트제어회로
16a : 로우포트 16b : 컬럼포트
20 : 데이터전송채널(제2의 장치) 21 : 데이터전송버퍼
21a, 21b : 제1 및 제2의 포트 22 : 버퍼제어회로
22a : 제1의 버퍼제어회로(제1의 버퍼제어수단)
22b : 제2의 버퍼제어회로(제2의 버퍼제어수단)
31,31a,31b : 식별번호레지스터(식별번호유지수단)
32,32a,32b : 입출력제어회로(버퍼선택수단, 랜덤전송제어수단)
33,33a,33b : 어드레스카운터(채널어드레스유지수단)
34,34a,34b : 비교회로(버퍼선택수단)
35 : 데이터수제어회로(데이터수제어수단) 40,40a,40b : 데이터버스
50,50a,50b : 제어버스 55 : 데이터전송버스
55a : 로우버스 55b : 컬럼버스
61 : 채널어드레스 62 : 버퍼어드레스
71 : 전송방향필드(제2의 필드) 72 : 브로드캐스트필드(제3의 필드)
73 : 어드레스필드(제1의 필드) 81 : 어드레스제어회로
82 : 코멘드레지스터(코멘트유지수단) 83 : 프래그제어회로
84 : OR게이트(브로드캐스트제어수단) 91 : 데이터수레지스터
92 : 스트로브카운터 93 : 데이터카운터
94 : 비교기 ACNT : 어드레스카운트펄스
FLG : 프래그신호 STB : 데이터스트로브펄스
CD : 코멘드데이터신호 HE : 동작모드전환신호
본 발명은 1개의 장치와 복수의 다른 장치가 공통의 데이터전송버스를 통하여 접속된 구조를 가지는 데이터전송장치와, 이것을 이용한 멀티프로세서시스템(multiprocesser system)에 관한 것이다.
이 분야의 종래 기술로는 복수의 프로세서를 결합 네트워크로 상호 접속한 구조의 병렬처리시스템이 제안되어 있다. 이 병렬처리시스템에 의하면 높은 처리성능을 발휘할 수가 있다. 병렬처리에 있어서는 프로세서간에서 데이터전송을 행할 필요가 있고, 이 데이터전송을 효율좋게 고속으로 행하는 것이 중요하다. 또, 병렬도가 높게 되는데 따라 프로세서간의 결합 네트워크가 대규모로 되므로, 상기 네트워크와 배선수를 작게 하는 것도 긴요하다. 더욱이 복수의 프로세서의 상대적인 위치관계를 식별하기 위한 인식번호를 각 프로세서에 설정할 필요도 있다. 이 인식번호는 각 프로세서에의 데이터의 할당이나 프로세서간의 데이터전송을 기술할 때 사용된다. 배선수의 저감을 위해서는, 1개의 데이터전송원(Source)과 복수의 전송처(Destination)가 공통의 버스를 통하여 접속된 구조를 가지는 데이터전송장치가 유리하다. 데이터전송처의 식별을 위해 어드레스버스를 사용한 종래의 데이터전송장치의 개략 구성을 제23도에 표시한다. 동도에 있어서, 10은 프로세서엘리먼트, 40은 데이터버스, 41은 어드레스버스, 42는 복수의 입출력포트이다. 프로세서엘리먼트(10)는 어드레스버스(41)를 통하여 복수의 입출력포트(42)중에서 1개의 입출력포트를 데이터전송처로서 선택한다. 일본국 특개소 64-62,759호 공보에는 어드레스버스를 사용하는 다른 예로서, 데이터의 브로드캐스트(broad cast)시에 데이터전송처를 식별하기 위한 블록번호를 어드레스버스를 통하여 제공하는 방법이 제안되어 있다.
어드레스버스를 사용하지 않는 방식도 제안되고 있다. 예를들면 일본국 특개소 63-44,267호 공보에는 1개의 마스터모듈(master module)과 복수의 스레이브(slave)모듈 사이가 시리얼데이터버스(Serial data bus)와 클럭신호선에 의해 접속된 구성을 가지는 데이터전송장치가 표시되어 있다. 이것은, 제24도에 표시하는 것과 같이, 각 데이터(44)에 부가된 헤더(header)(43)에 의해 데이터전송처를 식별하는 것이다. 각 스레이브모듈은 시리얼데이터버스상의 헤더(43)와 데이터(44)를 분리하고, 상기 데이터(44)가 자기편의 데이터인가 어떤가를 헤더(43)에 의해 판정하는 것이다. 일본국 특개평 1-283,664호 공보에는 헤더가 붙은 데이터를 채용한 다른 예가 개시되어 있다. 또 프로세서에의 인식번호설정에 대해서는 모드 프로세서를 통괄하는 호스트(host)계산기에서 각 프로세서에 인식번호를 설정하는 방식이나 고정된 인식번호를 출력하기 위한 하드웨어를 프로세서마다 설치하는 방식이 채용되고 있다.
데이터전송처의 식별을 위해 어드레스버스를 사용한 상기 종래의 데이터전송장치에서는 배선수의 저감이 충분하다고는 할 수 없다. 또, 시스템의 확장시에 어드레스버스의 비트폭을 늘릴 필요가 생기는 문제도 있다.
또, 데이터전송처의 식별을 위해 각 데이터의 앞에 헤더를 부가하면, 어드레스버스의 폐지에 의해 배선수의 저감을 실현할 수 있어, 데이터의 전송속도가 저하하는 문제가 생긴다. 예를들면 매회 같은 전송처에 데이터를 송신하는 경우, 데이터전송처를 연속적으로 전환하는 경우 또는 브로드캐스트를 실행하는 경우에도, 각 데이터에 반드시 헤더를 부가할 필요가 있기 때문이다.
즉, 종래의 데이터전송장치에서는 배선수의 저감과 고속데이터전송과의 양립이 이루어지지 않았다. 종래의 멀티프로세서시스템에서도 같은 문제가 있었다.
또, 상기 종래의 멀티프로세서시스템에 있어 각 프로세서에의 인식번호의 설정방식에 의하면 호스트 계산 기상에 인식번호설정용의 특별한 프로그램을 준비하고 있는지, 각 프로세서인식번호설정용의 특별한 하드웨어를 부가하여 두는 것이 필요하였다.
본 발명의 목적은 배선수의 저감과 고속데이터전송을 양립되게 한 데이터전송장치와, 이것을 이용한 멀티프로세서시스템을 실현하는데에 있다. 본 발명의 다른 목적은 멀티프로세서시스템중의 결합네트워크를 구성하는 복수의 데이터전송채널을 이용하는 것에 의해 각 프로세서에의 인식번호의 자동설정을 실현하는 것에있다.
상기의 목적을 달성하기 위해서는 본 발명은 제1도 및 제15도에 표시하는 것과, 1개의 데이터전송제어회로(13)와 각각 데이터전송버퍼(21)를 구비한 복수의 데이터전송채널(20)이 공통의 데이터버스(40) 및 제어버스(50)를 통하여 접속된 구조를 갖는 데이터전송장치에 있어서, 각 데이터전송채널(20)에 따른 식별번호를 설정하고, 제어버스(50)를 통하여 일정치(一定値)씩 갱신되는 채널어드레스가 자기의 식별번호와 일치한 데이터전송채널에 한하여 데이터전송제어회로(13)간의 데이터전송을 실행하는 것으로 했다.
구체적으로 설명하면, 제1청구항의 발명에 관한 데이터전송장치에서는 제1도에 표시하는 것과 같이 복수의 데이터전송채널(20)의 각각은 자신의 데이터전송채널어드레스로서 다른 데이터전송채널과는 다른 식별 번호를 유지하기 위한 식별번호유지수단(31)과, 어느 데이터전송채널에서도 같은 값이 되도록 설정되고, 또한 데이터전송제어회로(13)에서 제어버스(50)를 통하여 어드레스카운트펄스(ACNT)를 받을 때마다 다른 데이터전송채널과 동시에 일정치씩 갱신되는 채널어드레스를 유지하기 위한 채널어드레스유지수단(33)과, 식별번호유지수단(31)이 유지하고 있는 식별번호와 채널어드레스유지수단(33)이 유지하고 있는 채널어드레스가 일치한 경우에 데이터전송제어회로(13)와의 사이의 데이터버스(40)를 통한 데이터전송의 상대로서 자신의 데이터전송채널의 데이터전송버퍼(21)를 선택하기 위한 버퍼선택수단(32,34)을 구비하기로 했다.
제2청구항의 발명에 관한 데이터전송장치에서는, 제8도 및 제9도에 표시하는 것과 같이, 복수의 데이터전송채널(20)은 각각 데이터를 일시 보유하기 위한 복수의 데이터전송버퍼(21)를 각각 구비하고, 또한 채널 어드레스유지수단(33)은 어느 데이터전송채널에서도 같은 값이 되도록 설정되고, 또한 제어버스(50)를 통하여 다른 데이터전송채널과 동시에 일정치씩 갱신되는 복합어드레스를 보유하는 기능을 가지고, 상기 복합어드레스는 채널어드레스(61)를 상위부분으로 하고, 또한 자신의 데이터전송채널의 복수의 데이터전송버퍼(21)중의 1개를 선택하기 위한 버퍼어드레스(62)를 하위 부분으로 하기로 했다.
제3청구항의 발명에 관한 데이터전송장치에서는 제1도, 제2도 및 제10도에 표시하는 것과 같이, 복수의 데이터전송채널(20)의 각각은 데이터버스(40)상에 코멘드를 송신한 취지의 코멘드데이터신호(CD)를 데이터전송제어회로(13)에서 제어버스(50)를 통하여 받았을 때에는 상기 데이터버스(40)상의 코멘드를 받고 또한 상기 받은 코멘드를 유지하기 위한 코멘드유지수단(82)를 추가로 구비하도록 했다.
제4청구항의 발명에 관한 데이터전송장치에서는 제10도 및 제11도에 표시하는 것과 같이, 상기 코멘드유지수단(82)은 채널어드레스유지수단(33)에 채널어드레스로서 설정하도록 데이터전송제어회로(13)에서 코멘드의 일부로서 제공된 어드레스(ADDR)를 유지하기 위한 제1의 필드(73)를 갖는 것으로 했다.
또, 제5청구항의 발명에 관한 데이터전송장치에서는 동일하게 제10도 및 제11도에 표시하는 것과 같이, 코멘드유지수단(82)은 데이터전송제어회로(13)와 데이터전송버퍼(21)간의 데이터전송의 방향을 결정하도록 데이터전송제어회로(13)에서 코멘드의 일부로서 제공된 데이터전송방향의 지정 D을 유지하기 위한 제2의 필드(71)를 가지는 것으로 했다.
또, 제6청구항의 발명에 관한 데이터전송장치에서는 동일하게 제10도 및 제11도에 표시하는 것과 같이 코멘드유지수단(82)은 데이터전송제어회로(13)에서 코멘드의 일부로서 제공된 브로드캐스트의 지정 B을 유지하기 위한 제3의 필드(72)을 가지고, 또한 복수의 데이터전송채널(20)의 각각은 코멘드유지수단(82)의 제3필드(72)중의 브로드캐스트의 지정 B에 따라 데이터전송제어회로(13)에서 데이터버스(40)에 송신되는 데이터를 버퍼선택수단(비교회로 34)의 선택에 관계없이 자신의 데이터전송채널의 데이터전송버퍼(21)에 수신하기 위한 브로드캐스트 제어수단(84)을 추가로 구비하도록 했다.
제7청구항의 발명에 관한 데이터전송장치에서는 제15도에 표시하는 것과 같이 복수의 데이터전송채널(20)의 각각은 자신의 데이터전송채널의 어드레스로서 다른 데이터전송채널과는 다른 식별번호를 유지하기 위한 식별번호유지수단(31)과, 어느 데이터전송채널에도 동일치가 되도록 리세트된 정수치를 유지하고 데이터전송제어회로(13)에서 데이터버스(40)상에 송신되는 데이터에 수반하여 상기 데이터전송제어회로(13)에서 제어버스(50)를 통하여 받는 데이터스트로브펄스(STB)에 따라 유지하고 있는 정수치를 일정치씩 갱신하고, 또한 상기 갱신된 정수치가 소정의 값에 달하였을 때에는, 카운트펄스를 출력하기 위한 데이터수제어수단(35)과, 어느 데이터전송채널에서도 같은 값이 되도록 설정되어 또한 데이터수제어수단(35)에서의 카운트펄스를 받을 때마다, 다른 데이터전송채널과 동시에 일정치씩 갱신되는 채널어드레스를 유지하기 위한 채널어드레스유지수단(33)과 식별번호유지수단(31)이 유지하고 있는 식별번호와 채널어드레스유지수단(33)이 유지하고 있는 채널어드레스가 일치한 경우에 데이터전송제어회로(13)와의 사이에 데이터버스를 통한 데이터전송의 상대로서 자신의 데이터전송채널의 데이터전송버퍼(21)를 선택하기 위한 버퍼선택수단(32,34)을 구비하도록 했다.
제8청구항의 발명에 관한 데이터전송장치에서는, 데이터전송제어회로(13)에는 1개의 데이터를 소정의 분할수의 부분데이터로 나누어서 순차 데이터버스(40)상에 송신하는 기능을 가지고, 또한, 데이터수제어수단(35)은 동일하게 제15도에 표시하는 것과 같이, 다음과 같은 데이터수레지스터(91)와, 스트로브카운터(92)와, 데이터카운터(93)와, 비교기(94)를 구비하도록 했다. 즉, 데이터수레지스터(91)는 어느 데이터전송채널에도 동일치로 되도록 설정된 데이터수를 보유하기 위한 레지스터이다. 스트로브카운터(92)는 어느 데이터전송채널에서도 동일치로 되도록 리세트된 제1의 정수치를 보유하고, 데이터전송제어회로(13)에서의 데이터스트로브펄스(STB)을 받을 때마다 유지하고 있는 제1의 정수치를 일정치씩 갱신하고, 또한 상기 갱신된 제1의 정수치가 데이터의 분할수에 달하였을 때에는 내부 카운트펄스를 출력하는 동시에 상기 갱신된 제1의 정수치가 데이터의 분할수에 달하였을 때에는 내부 카운트펄스를 출력하는 동시에 상기 갱신된 제1의 정수치를 다시 리세트하는 기능을 구비한 카운터이다. 데이터카운터(93)는 어느 데이터전송채널에도 동일치로 되도록 리세트된 제2의 정수치를 보유하고, 또한 스트로브카운터(92)에서의 내부 카운터펄스를 받을때마다 유지하고 있는 제2의 정수치를 일정치씩 갱신하는 기능을 구비한 카운터이다. 비교기(94)는 데이터카운터(93)중의 갱신된 제2의 정수치가 데이터수레지스터(91)에 유지되고 있는 데이터수와 일치했을 때는 채널어드레스유지수단(33)에 카운트펄스를 출력하기 위한 수단이다.
제9청구항의 발명에 관한 데이터전송장치에서는 제15도 및 제16도에 표시하는 것과 같이 복수의 데이터전송채널(20)의 각각은 다음과 같은 랜덤전송제어수단(32)을 추가로 구비하도록 했다. 즉, 랜덤전송제어수단(32)은 랜덤전송을 지정하는 취지의 동작모드전환신호(HE)를 데이터전송제어회로(13)에서 제어버스(50)를 통하여 계속적으로 받고 있는 동안은, 데이터전송제어회로(15)에서 데이터버스(40)를 통하여 어드레스를 표시하는 헤더 H1(i)를 받고, 또한 상기 받은 헤더를 채널어드레스유지수단(33)에 채널어드레스로서 설정하는 채널어드레스설정동작과, 버퍼선택수단(비교회로 34)에 의한 선택에 따라 자신의 데이터전송채널의 데이터전송버퍼(21)에 데이터버스(40)를 통한 데이터(D1)의 전송을 실행되게 하고 또는 상기 데이터전송을 금지하는 데이터전송동작을 교호로 반복하는 기능을 가지고 있다.
제10청구항에 관한 발명은 제18도에 표시하는 것과 같이, N개의 프로세서엘리먼트(10)와, 행열상으로 배치된 N×N개의 데이터전송채널(20)과, N조의 로우버스(55a)와, N조의 컬럼버스(55b)를 구비한 멀티프로세서시스템에 있어, 다음과 같은 구성을 채용한 것이다. 우선, N개의 프로세서엘리먼트(10)는, 제19도에 표시하는 것과 같이, 각각 로우포트(16a)와 컬럼포트(16b)를 갖는 데이터전송제어회로(13)를 각각 구비한다. N×N개의 데이터전송채널(20)의 각각은 제20도에 표시하는 것과 같이 제1 및 제2의 포트(21a,21b)를 갖는 데이터전송버퍼(21)와, 제1 및 제2의 버퍼제어수단(22a,22b)을 구비한다. N개의 프로세서엘리먼트(10)중의 i(i=1∼N)번째의 프로세서엘리먼트(i)의 데이터전송제어회로(13)의 로우포트(16a)는, N조의 로우버스(55a)중의 i번째의 로우버스를 통하여, N×N개의 데이터전송채널(20)중의 i번째의 로우를 구성하는 제i군의 N개의 데이터전송채널(i,1)∼(i,N) 각각의 제1의 포트(21a)에 공통 접속된다. 또, N개의 프로세서엘리먼트(10)중의 j(J=1∼N)번째의 프로세서엘리먼트(j)의 데이터전송제어회로(13)의 컬럼포트(16b)는 N조의 컬럼버스(55b)중의 j번째의 컬럼버스를 통하여, N×N개의 데이터전송채널(20)중의 j번째의 컬럼을 구성하는 제j군의 N개의 데이터전송채널(i,j)∼(N,j)의 각각의 제2의 포트(21b)에 공통 접속된다.
게다가, 제i군의 데이터전송채널(i,1)∼(i,N)의 각각의 제1의 버퍼제어수단(22a)은 다음과 같은 제1의 식별번호유지수단(31a)과, 제1의 채널어드레스유지수단(33a)과, 제1의 버퍼선택수단(32a,34a)를 구비한다. 여기서, 제1의 식별신호유지수단(31a)은, 자신의 데이터전송채널의 컬럼번호(j)를 제1의 식별번호로서 유지하는 기능을 갖는 것이다. 제1의 채널어드레스유지수단(33a)은, i번째의 프로세서엘리먼트(i)의 데이터전송제어회로(13)에서 i번째의 로우버스(55a)를 통하여 상기 제i군의 데이터전송채널(i,1)∼(i,N)중 어느 데이터전송채널에도 동일치로 되도록 설정되고 또한 상기 i번째의 로우버스(55a)를 통하여 상기 제i군의 데이터 전송채널(i,1)∼(i,N)중 다른 데이터전송채널과 동시에 1씩 갱신되는 제1의 채널어드레스를 유지하는 기능을 가지고 있다. 또, 제1의 버퍼선택수단(32a,34a)은, 제1의 식별번호유지수단(31a)이 유지하고 있는 제1의 식별번호와 제1의 채널어드레스유지수단(33a)이 유지하고 있는 제1의 채널어드레스가 일치한 경우에 i번째의 프로세서엘리먼트(i)의 데이터전송제어회로(13)와의 사이의 i번째의 로우버스(55a)를 통한 데이터전송의 상대로서 자신의 데이터전송채널의 데이터전송버퍼(21)를 선택하는 기능을 가진다.
한편, 제j군의 데이터전송채널(1,j)∼(N,j)의 각각의 제2의 버퍼제어수단(22b)은 다음과 같은 제2의 식별번호유지수단(31b)과, 제2의 채널어드레스유지수단(33b)와, 제2의 버퍼선택수단(32b,34b)을 구비한다. 여기에, 제2의 식별번호유지수단(31b)은, 자신의 데이터전송채널의 로우번호(i)를 제2의 식별번호로서 유지하는 기능을 갖는 것이다. 제2의 채널어드레스유지수단(33b)은, j번째의 프로세서엘리먼트(j)의 데이터전송제어회로(13)에서 j번째의 컬럼버스(55b)를 통하여 상기 제j군의 데이터전송채널(1,j)∼(N,j)중 어느 데이터전송채널에서도 동일치로 되도록 설정되고, 또한 상기 j번째의 컬럼버스(55b)를 통하여 상기 제j군의 데이터전송채널(1,j)∼(N,j)중의 다른 데이터 전송채널과 동시에 1개씩 갱신되는 제2의 채널어드레스를 유지하는 기능을 갖는 것이다. 또, 제2의 버퍼선택수단(32b,34b)은 제2의 식별번호유지수단(31b)이 유지하고 있는 제2의 식별번호와 제2의 채널어드레스유지수단(33b)이 유지하고 있는 제2의 채널어드레스가 일치한 경우에 j번째의 프로세서엘리먼트(j)의 데이터전송제어회로(13)와의 사이의 j번째의 컬럼버스(55b)를 통한 데이터전송의 상대로서 자신의 데이터전송채널의 데이터전송버퍼(21)를 선택하는 기능을 가진다.
제11청구항의 발명에 관한 멀티프로세서엘리먼트시스템에서는, 제18도∼제20도에 표시하는 것과 같이, N개의 프로세서엘리먼트(10)중의 i번째의 프로세서엘리먼트(i)는 제1군의 데이터전송채널(i,1)∼(i,N)중 어느 것인가의 데이터전송채널의 제2의 식별번호유지수단(31b)에 제2의 식별번호로서 유지되어 있고, 또한 i번째의 로우버스(55a)를 통하여 데이터전송제어회로(13)에 판독된 로우번호(i)를 자신의 프로세서엘리먼트의 인식번호로서 기억하기 위한 인식번호기억수단(12)를 추가로 구비한 구성을 채용했다.
또, 제12청구항의 발명에 관한 멀티프로세서시스템에서는 동일하게 제18도∼제20도에 표시하는 것과 같이, N개의 프로세서엘리먼트(10)중의 j번째의 프로세서엘리먼트(j)는 제j군의 데이터전송채널(1,j)∼(N,j)중의 어느 것인가의 데이터전송채널의 제1의 식별번호유지수단(31a)에 제1의 식별번호로서 유지되고 있고, 또한 j번째의 컬럼버스(55b)를 통하여 데이터전송제어회로(13)에 판독된 컬럼번호(j)를 자신의 프로세서엘리먼트의 인식번호로서 기억하기 위한 인식번호기억수단(12)을 추가로 구비하기로 했다.
제13청구항의 발명에 관한 멀티프로세서시스템에서는 동일하게는 제18도∼제20도에 표시하는 것과 같이, N개의 프로세서엘리먼트(10)중의 i번째의 프로세서엘리먼트(i)은, 제i군의 데이터전송채널(i,1)∼(i,N)의 각각의 제1의 식별번호유지수단(31a)에 제1의 식별번호로서 유지되고 있고, 또한 i번째의의 로우버스(55a)를 통하여 데이터전송제어회로(13)에 순차 판독된 N개의 컬럼번호 j(j=1∼N)중의 최대치 N을, i번째의 로우버스(55a)를 통하여 자신의 프로세서엘리먼트(i)에 접속된 데이터전송채널(20)의 수로서 기억하기 위한 채널수기억수단(12)을 추가로 구비한 구성을 채용하였다.
또, 제14청구항의 발명에 관한 멀티프로세서시스템에서는 동일하게 제18도∼제20도에 표시하는 것과 같이, N개의 프로세서엘리먼트(10)중의 j번째의 프로세서엘리먼트(j)는 제j군의 데이터전송채널(1,j)∼(N,j)의 각각의 제2의 식별번호유지수단(31b)에 제2의 식별번호로서 유지되어 있고, 또한 j번째의 컬럼버스(55b)를 통하여 데이터전송제어회로(13)에 판독된 N개의 로우번호 i(i=1∼N)중의 최대치 N을 j번째의 컬럼버스(55b)를 통하여 자신의 프로세서엘리먼트(j)에 접속된 데이터전송채널(20)의 수로서 기억하기 위한 채널기억수단(12)을 추가로 구비하였다.
제15청구항의 발명은 제1도, 제15도 및 제18도에 표시하는 것과 같이, 1개의 제1의 장치(10)와 복수의 제2의 장치(20)와의 공통의 버스(55)을 통한 데이터전송방법에 있어서, 제2의 장치(20)의 각각에 서로 다른 식별번호를 설정하는 스텝과, 제2의 장치(20)의 각각에 서로 같은 어드레스를 설정하는 스텝과, 제2의 장치(20)의 각각이 유지하고 있는 어드레스를 일정치씩 동시에 갱신하는 스텝과, 제2의 장치(20)중 갱신된 어드레스와 일치하는 식별번호를 유지하고 있는 제2의 장치를 제1의 장치(10)의 데이터전송상대로서 선택하는 스텝을 구비한 구성을 채용한 것이다.
제1청구항의 발명에 의하면, 예를들면 N개의 데이터전송채널(20)의 각각에 식별번호 1,2,…,N을 유지되게 하고, 상기 데이터전송채널(20)의 각각이 유지하는 채널어드레스를 모두 1에 초기화한 후, 제어버스(50)상의 어드레스카운트펄스(ACNT)를 수신할 때마다 전 채널어드레스를 1씩 동시에 증가되게 하면 데이터전송제어회로(13)와의 사이의 데이터전송의 상대로서 각 데이터전송채널의 데이터전송버퍼(21)가 순차 선택된다. 즉, 어드레스버스, 헤더의 어느것도 사용하지 않고서, 순차적인 데이터전송이 실현될 수 있다. 또, 채널어드레스를 계속하여 갱신되게 하면, 데이터전송상태의 스킵(skip)도 가능하다. 채널어드레스의 갱신을 정지되게 하면, 같은 데이터전송채널간의 복수데이터의 수수(授受)도 가능하다. 더욱, 예를들면 N개의 데이터전송채널(20)의 각각이 채널어드레스로서 2를 유지하고 있을 경우에, 이것을 전부 5에 설정 변경하면, 식별번호 2의 데이터전송채널에 계속하여 식별번호 5의 데이터전송채널이 선택된다. 즉, 데이터전송제어회로(13)는 N개의 데이터전송채널(20)중에서 데이터전송상태를 랜덤하게 선택할 수도 있다.
제2청구항의 발명에 의하면, 복합어드레스가 하위부분을 구성하는 버퍼어드레스에 자릿수올리기가 생긴 시점에서 그 상위부분을 구성하는 채널어드레스가 갱신된다. 어떤 데이터전송채널의 전 데이터전송버퍼(21)가 순차 선택된 후에 다음의 데이터전송채널이 선택되는 것이 된다.
제3청구항의 발명에 의하면, 각 데이터전송채널(20)은 코멘드데이터신호에 응하여 데이터버스(40)상의 코멘드와 데이터를 식별하고, 데이터전송제어회로(13)에서 제공된 코멘드를 자기의 내부에 유지한다. 이것에 의해, 데이터전송제어회로(13)은 각 데이터전송채널(20)의 내부설정이나 가끔 동작의 전환을 코멘드를 통하여 실행할 수가 있다. 코멘드에 의해, 오동작이 생긴 데이터전송채널을 정상상태로 복귀되게 하는 것도 가능하다.
제4청구항의 발명에 의하면, 각 데이터전송채널(20)이 유지해야 할 채널어드레스가 코멘드를 통하여 설정된다.
또, 제5청구항의 발명에 의하면 각 데이터전송채널(20)의 데이터전송방향이 코멘드를 통하여 전환된다.
또, 제6청구항의 발명에 의하면 데이터전송제어회로(13)는 코멘드를 통하여 브로드캐스트의 지정 B를 각 데이터전송채널(20)에 유지시킨다. 이 브로드캐스트의 지정을 받은 각 데이터전송채널(20)은 자기의 식별번호와 유지하고 있는 채널어드레스와의 일치 여하에 관계없이 데이터버스(40)상의 데이터를 브로드캐스트 데이터로서 각각의 데이터전송버퍼(21)에 수신한다.
또, 제7청구항의 발명에 의하면, 채널어드레스의 갱신이 제어버스(50)상의 데이터스트로브펄스(STB)에 의해 제어된다. 예를들면 데이터전송제어회로(13)에서 모든 데이터전송채널(20)에 2개씩 데이터를 전송하는 경우에는, N개의 데이터전송채널(20)의 각각이 식별번호 1,2,…N을 유지하고, 상기 데이터전송채널(20)의 각각의 데이터수제어수단(35)의 유지치가 0에 리세트되고, 또한 각 채널어드레스유지수단(33)이 유지하는 채널어드레스가 모두 1에 초기화된 상태에서 데이터전송제어회로(13)은 데이터버스(40)상에 1데이터를 송출할 때마다 제어버스(50)상에 데이터스트로브펄스(STB)을 송신한다. 우선, 식별번호 1의 데이터전송채널의 데이터전송버퍼(21)가 선택되어, 상기 데이터전송버퍼(21)가 2개의 데이터를 받은 시점에서 데이터수제어수단(35)의 계수치가 2로 되는 결과, 상기 데이터수제어수단(35)에서 카운트펄스가 출력되어, 채널어드레스유지수단(33)이 유지하는 채널어드레스가 2로 갱신된다. 이때, 식별번호 2의 데이터전송채널에서도 채널어드레스가 2로 갱신되므로, 데이터전송상대가 상기 데이터전송채널에 이행한다. 이하, 순차 동일하게 모든 데이터전송채널(20)에 데이터가 2개씩 전송된다. 데이터수제어수단(35)이 전송데이터수의 관리를 담당하고, 채널어드레스유지수단(33)이 채널어드레스의 갱신을 담당한다.
제8청구항의 발명에 의하면, 데이터전송제어회로(13)은, 1개의 데이터를 소정의 분할수의 부분데이터로 나눠서 순차 데이터버스(40)상에 송신한다. 예를들면 데이터버스(40)의 비트폭의 형편상 1개의 데이터가 4분할되는 경우, 스트로브카운터(92)가 유지하는 제1의 정수치는, 0에 리세트된 후에, 1개의 데이터스트로브펄스(STB)을 받을 때마다 증가된다. 그리고, 상기 제1의 정수치가 4에 달한 시점에서 스트로브카운터(92)에서 데이터카운터(93)에 내부 카운트펄스가 제공된다. 전송해야 할 데이터의 수는 데이터수레지스터(91)가 유지하고 있는 데이터카운터(93)의 유지치가 상기 데이터수에 달한 시점에서 채널어드레스가 갱신된다. 제9청구항의 발명에 의하면 각 데이터전송채널(20)은 데이터전송제어회로(13)에서 랜덤전송을 지정한는 취지의 동작모드전환신호(HE)를 계속적으로 받고 있는 동안에는, 데이터버스(40)상의 헤더에 의한 채널어드레스의 변경을 받으면서, 상기 데이터베스(40)를 통한 데이터의 랜덤전송을 실행한다. 이것에 의해, 동작모드전환신호(HE)에 응하여 종래와 같은 헤더부 데이터를 취급하는 것이 가능하게 된다.
제10청구항의 발명에 의하면 N개의 프로세서엘리먼트(10)중의 i(i=1∼N)번째의 프로세서엘리먼트(i)는 N조의 로우버스(55a)중의 i번째의 로우버스를 통하여, N×N개의 데이터전송채널(20)중의 i번째의 로우를 구성하는 제i군의 N개의 데이터전송채널(i,1)∼(i,N)의 각각의 데이터전송버퍼(21)에 데이터를 기록할 수가 있다. 이때, 제i군의 데이터전송채널(i,1)~(i,N)의 각각의 제1의 버퍼제어수단(22a)은 자신의 데이터전송채널의 컬럼번호 j(j=1∼N)를 제1의 식별번호로서 유지하고 있으므로, 상기 제i군의 데이터전송채널(i,1)∼(i,N)의 각각이 유지하는 채널어드레스를 모두 1로 초기화한후, i번째의 로우버스(55a)를 통하여 상기 제i군의 데이터전송채널(i,1)∼(i,N)의 전 채널어드레스를 1개씩 동시에 증가되게 하면, i번째의 프로세서엘리먼트(i)의 데이터전송제어회로(13)간의 데이터전송의 상대로서 상기 제i군의 데이터전송채널(i,1)∼(i,N)의 각각의 데이터전송버퍼(21)가 순차 선택된다. 동일하게 N개의 프로세서엘리먼트(01)중의 j(j=1∼N)번째의 프로세서엘리먼트(j)는 N조의 컬럼버스(55b)중의 j번째의 컬럼버스를 통하여 N×N개의 데이터전송채널(20)중의 j번째 컬럼을 구성하는 제j군의 N개의 데이터전송채널(1j)~(N,j)의 각각의 데이터전송버퍼(21)에서 데이터를 순차판독할 수 있다. 즉, 어그레스버스, 헤더의 어느 것도 사용하지 않고, N×N개의 데이터전송채널(20)로 구성되는 결합네트워크를 통하여, N개의 프로세서엘리먼트(10)사이의 순차적인 데이터 전송이 실현될 수가 있다. 또, 각 프로세서엘리먼트(10)는, 제i군의 데이터전송채널(i,1)∼(i,N) 또는 제j군의 데이터전송채널(1,j)∼(N,j)중에서 데이터전송상대를 랜덤으로 선택할 수도 있다.
제11청구항의 발명에 의하면, 모든 프로세서엘리먼트(10)을 통괄하는 호스트계산기상에 인식번호설정용의 특별한 프로그램을 준비해 두거나, 각 프로세서엘리먼트(1)에 인식번호설정용의 특별한 하드웨어를 부가하지 않아도, 각 프로세서엘리먼트(10)는 결합네트워크내에 유지되어 있는 정보(제2의 식별번호, 로우번호)에 의거하여, 로우버스(55a)를 통하여 자기의 인식번호를 얻는다.
또, 제12청구항의 발명에 의하면, 각 프로세서엘리먼트(10)는 결합네트워크내에 유지되어 있는 정보(제1의 식별번호, 컬럼번호)에 의거하여, 컬럼버스(55b)를 통하여 인식번호를 얻는다.
제13청구항의 발명에 의하면, 각 프로세서엘리먼트(10)는 결합네트워크내에 유지되어 있는 정보(제1의 식별번호, 컬럼번호)에 의거하여, 로우버스(55a)를 통하여, 상기 로우버스(55a)에 접속된 데이터전송채널(02)의 수, 나아가서는 프로세서엘리먼트(10)의 총수 N을 얻는다.
또, 제14청구항의 발명에 의하면, 각 프로세서엘리먼트(10)은 결합네트워크내에 유지되어 있는 정보(제2의 식별번호, 로우번호)에 의거하여, 컬럼버스(55b)를 통하여, 상기 컬럼버스(55b)에 접속된 데이터전송채널(20)의 수, 나아가서는 프로세서엘리먼트(10)의 총수 N을 얻는다.
제15청구항의 발명에 의하면, 복수의 제2의 장치(20)의 각각에 다른 식별번호가 설정되어, 공통의 버스(55)를 통하여 일정치씩 갱신되는 어드레스가 자기의 식별번호와 일치한 제2의 장치에 한하여 제1의 장치(10)와의 사이의 데이터전송을 실행한다. 즉, 선택적인 데이터전송시에 종래와 다른 어드레스버스, 헤더의 어느 것도 필요하지 않다.
이하, 본 발명의 실시예에 관한 데이터전송장치 및 멀티프로세서시스템에 대해 도면을 참조하여 설명한다.
(실시예 1)
본 발명의 제1실시예에 관한 데이터전송장치를 제1도∼제7도에 의거하여 설명한다.
제1도는 본 실시예의 데이터전송장치의 구성을 표시하는 블록도이다. 이 데이터전송장치는 1개의 프로세서엘리먼트(10)와 N개의 데이터전송채널(20)과의 사이를 데이터버스(40) 및 제어버스(50)로 구성된 공통의 데이터전송버스(55)로 접속한 것이다. 프로세서엘리먼트(10)는 프로세서(11)와, 메모리(12)와 데이터전송제어회로(13)를 구비하고 있다. 이중 데이터전송제어회로(13)는 메모리(12)와 각 데이터전송채널(20)과의 사이의 데이터전송의 제어를 담당하는 것이다. 제어브스(50)상에는 데이터전송제어회로(13)에서 어드레스카운트펄스(ACNT), 데이터스트로브펄스(STB) 및 코멘드데이터신호(CD)의 3개 신호가 출력되어, 각 데이터전송채널(20)에서는 프래그신호(FLG)가 데이터전송제어회로(13)에 반신(返信)된다.
N개의 데이터전송채널(20)의 각각은 데이터전송버퍼(21)와, 버퍼제어회로(22)를 구비한 것이다. 후자의 버퍼제어회로(22)는 식별번호레지스터(31)와, 입출력제어회로(32)와, 어드레스카운터(33)와, 비교회로(34)를 구비하고 있다. 이중 식별번호레지스터(31)는 데이터전송채널(20)의 식별번호를 유지하기 위한 레지스터이다. 각 식별번호레지스터(31)에는, 데이터전송의 개시에 앞서서, N개의 데이터전송채널(20)의 배열순서로 그의 식별번호 1∼N가 번호입력선을 통하여 채널마다에 제공된다. 어드레스카운터(33)는 데이터전송에 앞서서 어느 데이터전송채널(20)에도 동일치가 되도록 프로세서엘리먼트(10)의 데이터전송제어회로(13)에 의해 데이터버스(40) 및 입출력제어회로(32)를 통하여 설정되는 정수치를 채널어드레스로서 유지하고, 또한 같은 데이터전송제어회로(13)에서 어드레스카운트펄스(ACNT)를 받을 때마다 유지하고 있는 정수치를 1씩 증가하기 위한 카운트이다. 비교회로(34)는 식별번호레지스터(31)가 유지하고 있는 식별번호와 어드레스카운터(33)가 유지하고 있는 채널어드레스가 일치하는 경우에 데이터전송제어회로(13)의 데이터전송의 상대로서 자신의 데이터전송채널의 데이터전송버퍼(21)를 입출력제어회로(32)에 선택되게 하기 위한 회로이다.
제2도는 입출력제어회로(32)의 내부 구성을 표시하는 블록도이다. 이 입출력제어회로(32)는 어드레스제어회로(81)와, 코멘드레지스터(82)와, 프래그제어회로(83)를 구비하고 있다. AC1은 어드레스카운트펄스(ACNT)에 의거한 내부카운트펄스, ASET는 데이터버스(40)를 통하여 보내오는 정수치를 어드레스카운터(33)에 설정하기 위한 채널어드레스설정신호, WREG는 데이터버스(40)를 통하여 보내오는 코멘드를 코멘드레지스터(82)에 설정하기 위한 레지스터기록제어신호, CA는 어드레스제어회로(81)에 대한 코멘드, CF는 프래그제어회로(83)에 대한 코멘드, CMP는 비교회로(34)의 비교결과를 표시하는 신호, BR/W는 데이터전송버퍼(21)의 기록/판독제어선, BFLG는 데이터전송버퍼(21)의 프래그(풀/엠프티)선이다. 프래그제어회로(83)에서 제어버스(50)상에 출력되는 프래그신호(FLG)는, 데이터전송버퍼(21)에의 기록시에는 풀(full) 또는 낫풀(not full)을 표시하고, 데이터전송버퍼(21)에서의 판독시에는 엠프티(empty) 또는 낫엠프티(not empty)를 표시한다. 데이터전송버퍼(21)가 풀이 아닌 경우에는 데이터의 기록이 허가되고, 데이터전송버퍼(21)가 엠프티가 아닌 경우에는 데이터의 판독이 허가된다. 또, 입출력제어회로(32)는 데이터전송제어회로(13)가 데이터버스(40)상에 코멘드 또는 데이터를 송신할 때마다, 그의 송신타이밍을 표시하는 데이터스트로브펄스(STB)를 받는다. 데이터버스(40)상의 코멘드와 데이터와의 구별은 코멘드데이터신호(CD)의 논리레벨에 의한다.
이상과 같이 구성된 데이터전송장치의 여러 가지 태양의 동작을 제3도∼제7도를 참조하여 설명한다. 이들 도면에서는, 특히 필요한 경우를 제외하고 프래그신호(FLG) 및 데이터스트로브펄스(STB)의 도면 표시를 생략한다.
제3도는 프로세서엘리먼트(10)에서 복수의 데이터전송채널(20)에의 랜덤데이터전송의 동작을 표시하는 타이밍도이다. 데이터전송제어회로(13)는, 데이터버스(40)상의 코멘드와 데이터를 교호로 송출하는 동시에, 그때마다 제어버스(50)상에 데이터스트로브펄스(STB)를 송신한다. 이때, 코멘드 송출의 경우에는 코멘드데이터신호(CD)를 H에, 메모리(12)에서 꺼낸 데이터를 송출하는 경우에는 코멘드데이터신호(CD)를 L에 각각 설정하는 것에 의해, 코멘드와 데이터와의 구별을 가능하게 한다. 각 데이터전송채널(20)에서는 입출력 제어회로(32)가 코멘드를 받으면 상기 코멘드중에 포함되는 어드레스정보가 어드레스카운터(33)에 설정된다. 제3도에 예시하는 것과 같이, 어드레스 i를 포함한 제1의 코멘드 C1(i)를 받았을 때에는, 어드레스카운터(33)가 유지하는 채널어드레스가 i에 설정되고, 어드레스 j를 포함한 제2의 코멘드 C2(j)를 받았을 때에는 채널어드레스 j에 설정된다. 모든 데이터전송채널(20)에 있어 어드레스카운터(33)중의 채널어드레스가 제1의 코멘드 C1(i)에 의해 어느 것이고 i에 설정되면, 식별번호 i가 부여된 데이터전송채널만으로서 비교회로(34)에 의해 식별번호와 채널어드레스와의 일치가 검출되는 결과, 상기 식별번호 i의 데이터전송채널의 데이터전송버퍼(21)에, 상기 코멘드 C1(i)에 계속되는 데이터버스(40)상의 제1의 데이터(D1)가 수신된다. 또, 모든 데이터전송채널(20)에 있어 채널어드레스가 제2의 코멘드 C2(j)에 의해 어느 것이고 j에 설정되면, 식별번호(j)가 부여된 데이터전송채널의 데이터전송버퍼(21)에, 상기 코멘드 C2(j)에 계속되는 제2의 데이터(D2)가 수신된다. 이상과 같이, 필요하면 상기 종래의 헤더부 데이터전송에 유사한 동작을 실현할 수 있다.
제4도는 순차 데이터전송의 하나의 태양을 표시하는 타이밍도이고, 프로세서엘리먼트(10)에서 N개의 데이터전송채널(20)의 배열순서에 각 데이터전송버퍼(21)에 데이터를 1개씩 전송하는 경우를 표시한 것이다. 데이터전송제어회로(13)는, 제3도의 방법에 따라 전 데이터전송채널(20)에 있어 어드레스카운터(33)중의 채널어드레스를 어느 것이고 1에 설정한 후, 데이터버스(40)상에 1개의 데이터를 송출하는 그때마다 제어버스(50)상에 어드레스카운트펄스(ACNT)를 송신한다. 각 데이터전송채널(20)에서는, 입출력제어회로(32)가 어드레스카운트펄스(ACNT)를 받을 때마다 어드레스카운터(33)와 유지하는 채널어드레스가 1씩 증가된다. 이 결과, 제4도에 예시하는 것과 같이 식별번호 2가 부여된 데이터전송채널에서는 채널어드레스가 2로 되었을 시점에서, 데이터버스(40)상의 1개의 데이터(D2)가 데이터전송버퍼(21)에 수신된다. 다른 식별번호가 부여된 데이터전송채널의 동작도 동일하고, 데이터전송이 데이터전송채널(20)의 배열순서로 갱신된다.
제5도는 식별번호 1의 데이터전송채널의 데이터전송을 실행한 후, 식별번호 2 및 3의 데이터전송채널에의 데이터전송을 스킵하여 식별번호 4 이하의 데이터전송채널에의 데이터전송을 실행한다고 하는 다른 태양의 순차 데이터전송의 예를 표시하는 타이밍도이다. 데이터전송제어회로(13)는 전 데이터전송채널(20)에 있어 어드레스카운터(33)중의 채널어드레스를 어느 것이고 1에 설정한 후, 데이터버스(40)상에 제1의 데이터(D1)을 송출한다. 상기 데이터버스(40)상의 제1의 데이터(D1)은, 식별번호 1의 데이터전송채널의 데이터전송버퍼(21)에 수신된다. 데이터전송제어회로(13)은 다음에 제어버스(50)상의 3개의 어드레스카운트펄스(ACNT)를 계속하여 송신한다. 이 결과, 전 데이터전송채널(20)에 있어 어드레스카운터(33)중의 채널어드레스가 어느 것이고 4로 갱신되고, 식별번호 4의 데이터전송채널이 데이터전송처로 선택된다. 제5도에 예시하는 것과 같이, 이 상태로 데이터버스(40)상에 제2의 데이터(D2)가 송신되어, 상기 제2의 데이터(D2)가 식별번호 4의 데이터전송채널의 데이터전송버퍼(21)에 수신된다. 제3의 데이터(D3) 이후에 관한 동작은 제4도의 경우와 동일하다. 제6도는 프로세서엘리먼트(10)에서 N개의 데이터전송채널(20)의 배열순서로 각 데이터전송버퍼(21)에 데이터를 2개씩 전송하는 경우를 표시하는 타이밍도이다. 데이터전송제어회로(13)는, 전 데이터전송채널(20)에 있어 어드레스카운터(33)중의 채널어드레스를 어느 것이고 1에 설정한 후, 제1 및 제2의 2개의 데이터(D1,D2)를 도면에 표시하지 않은 데이터스트로브펄스(STB)와 함께 계속하여 송신한다. 이들 2개의 데이터(D1,D2)는 식별번호 1의 데이터전송채널의 데이터전송버퍼(21)에 순차 수신한다. 데이터전송제어회로(13)는 다음에 제어버스(50)상에 1개의 어드레스카운트펄스(ACNT)를 송신하는 것에 의해, 전 데이터전송채널(20)에 있어 어드레스카운터(33)중의 채널어드레스를 어느 것이고 2로 갱신시키다. 이 결과, 데이터전송처는 식별번호 2의 데이터전송채널에 이행하고, 제3 및 제4의 2개의 데이터(D3,D4)가 식별번호 2의 데이터전송채널의 데이터전송버퍼(21)에 순차 수신된다. 이하 같은 동작의 반복에 의해 전 데이터전송버퍼(21)에 데이터가 2개씩 전송된다. 각 데이터전송버퍼(21)에 3개 이상의 데이터를 전송하는 경우도 동일하다.
제7도는 데이터전송채널(20)에서 프로세서엘리먼트(10)에 의해 방향의 데이터전송의 예를 표시하는 타이밍도이다. 데이터전송채널(20)의 입출력제어회로(32)중의 프래그제어회로(83)는 비교회로(34)가 식별번호와 채널어드레스와의 일치를 검출한 시점에서 데이터전송버퍼(21)중에 프로세서엘리먼트(10)에 전송해야 할 데이터를 가지고 있는 경우에 한하여 프래그신호(FLG)를 'L에 강하하는 기능을 구비하고 있다. 프로세서엘리먼트(10)중의 데이터전송제어회로(13)는 전 데이터전송채널(20)에 있어 어드레스카운터(33)중의 채널어드레스를 어느것이고 1에 설정한 후 L의 프래그신호(FLG)의 반신의 유무를 확인하면서, N개의 데이터전송채널(20)을 순서대로 스캔(scan)하도록 어드레스카운트펄스(ACNT)를 1개씩 송신한다. 제7도에 표시하는 예에서는 식별번호 5의 데이터전송채널이 전송해야 할 데이터를 가지고 있으므로, 채널어드레스가 5로 갱신된 시점에서 프래그신호(FLG)가 L로 된다. L의 프래그신호(FLG)를 받은 데이터전송제어회로(13)는 이 시점에서 데이터전송원으로서 선택되어 있는 식별번호 5의 데이터전송채널의 데이터전송버퍼(21)에서, 데이터버스(40)를 통하여 데이터(Di)를 수신하고 이것을 메모리(12)에 격납한다.
이상과 같이, 본 실시예에 의하면 제4도에 표시하는 것과 같이 어드레스버스, 헤더의 어느 것도 사용하지 않고 순차적인 데이터전송이 실현될 수 있으므로, 배선수의 저감과 고속데이터전송과의 양립이 가능하다. 또, 어드레스카운터(33)중의 채널어드레스를 계속하여 갱신되게 하면 데이터전송상대의 스킵이 채널어드레스의 갱신을 정지되게 하면 동일 데이터전송채널과의 복수데이터의 수수가 각각 실현 가능하다. 코멘드에 의한 채널어드레스의 설정을 통하여, N개의 데이터전송채널(20)중에서 데이터전송상태를 랜덤으로 선택할 수도 있다.
더욱, 어드레스카운터(33)로서 업다운카운터를 채용하면, 업카운트의 다운카운트를 전환하는 것에 의해, N개의 데이터전송채널(20)배열의 올림순 및 내림순의 어느 것이고 데이터전송상대를 선택할 수가 있다.
(실시예 2)
제8도는 본 발명의 제2의 실시예에 관한 데이터전송장치중의 1개의 데이터전송채널(20)의 구성을 표시하는 블록도이다. 동 도면에 표시하는 것과 같이, 본 실시예의 각 데이터전송채널(20)은 복수의 데이터전송버퍼(21)를 구비하고 있다. 어드레스카운터(33)는 이것에 응하여 제9도에 표시하는 것과 같이 데이터전송채널의 선택을 위한 채널어드레스(61)를 상위부분으로 하고, 또한 자신의 데이터전송채널의 복수의 데이터전송버퍼(21)중의 1개를 선택하기 위한 버퍼어드레스(62)를 하위부분으로 한 복합어드레스를 유지하는 것이다. 제어버스(50)의 구성 등의 그 밖의 점은 제1실시예와 동일하다.
본 실시예에 의하면, 수신한 어드레스카운트펄스(ACNT)에 응하여 어드레스카운트(33)에 있어 버퍼어드레스(62)에 자릿수올리기가 생긴 시점에서, 채널어드레스(61)가 갱신된다. 즉, 어느 식별번호의 데이터전송채널(20)내의 전 데이터전송버퍼(21)가 순차 선택된 후에, 다음의 식별번호의 데이터전송채널이 선택되는 것이 된다.
(실시예 3)
본 발명의 제3실시예에 관한 데이터전송장치를 제10도∼제14도에 의거하여 설명한다.
본 실시예의 데이터전송장치는 제1실시예(제1도)의 구성을 전제로 하고, 입출력제어회로(32)의 내부구성을 제2도에서 제10도로 변경한 것이다. 즉, 본 실시예의 입출력제어회로(32)는 제10도에 표시하는 것과 같이, 어드레스제어회로(81)와, 코멘드레지스터(82)와, 프래그제어회로(83)와, OR게이트(84)를 구비하고 있다. 데이터버스를 통하여 보내져 오는 코멘드를 유지하기 위한 코멘드레지스터(82)는 제11도에 표시하는 것과 같은 데이터전송방향(D), 브로드캐스트(B), 어드레스(ADDR)의 각 필드(71,72,73)을 가지고 있다. 데이터전송방향의 지정 D는 데이터의 전송방향(프로세서엘리먼트(10)에서 본 송신 또는 수신)을 결정하기 위한 파리미터이다. OR게이트(84)는 코멘드레지스터(82)에서 브로드캐스트의 지정 B과 비교회로(34)의 비교결과 CMP와의 논리합을 표시하는 신호를 프래그제어회로(83)에 공급한다. 어드레스(ADDR)의 정보는 채널 어드레스의 설정 때문에 어드레스카운터(33)에 제공된다.
이상과 같이 구성된 데이터전송장치의 여러가지 태양의 동작을 제12도∼제14도를 참조하여 설명한다. 데이터전송의 개시에 앞서서 각 식별번호레지스터의 설정이 실행되는 점은 제1실시예와 동일하다. 더우기, 데이터전송에 앞서서 데이터전송제어회로(13)에서 데이터버스(40)를 통하여 복수의 데이터전송채널(20)에 대해 공통으로 제공되는 코멘드가 각 코메드레지스터(82)에 설정된다.
프로세서엘리먼트(10)에서 식별번호 k의 데이터전송채널(20)에의 데이터전송의 동작을 제12도에 표시한다. 프로세서엘리먼트(10)중의 데이터전송제어회로(13)는 송신코멘드 CS(k)에 의해 코멘드레지스터(82)중의 데이터전송방향의 지정 D를 프로세서엘리먼트(10)에서의 송신에 브로드캐스트의 지정 B를 「없다」로, 어드레스(ADDR)을 k로 각각 설정한다. 이 결과, 모든 데이터전송채널(20)에 있어 어드레스카운터(33)중의 채널어드레스가 어느 것이고 k에 설정되어, 송신코멘드 CS(k)에 계속하는 데이터버스(40)상의 데이터(D1,D2,D3)가 식별번호 k의 데이터전송채널의 데이터전송버퍼(21)에 순차 수신된다. 이후 제어버스(50)상에 어드레스카운트펄스(ACNT)가 송신되면 데이터전송처가 식별번호(k+1),(k+2),…의 각 데이터전송채널에 갱신되는 점은, 제1의 실시예와 동일하다.
식별번호 k의 데이터전송채널(20)에서 프로세서엘리먼트(10)에의 데이터전송의 동작을 제13도에 표시한다. 프로세서엘리먼트(10)중의 데이터전송제어회로(13)는, 수신코멘드 CR(k)에 의해, 코멘드레지스터(82)중의 데이터전송방향의 지정 D를 프로세서엘리먼트(10)에 의한 수신에, 브로드캐스트의 지정 B를 「없다」로, 어드레스(ADDR)을 k에 각각 설정한다. 이 결과, 모든 데이터전송채널(20)에 있어 어드레스카운터(33)중의 채널어드레스가 어느 것이고 k에 설정되어, 식별번호 k의 데이터전송채널의 데이터전송버퍼(21)에서 데이터버스(40)상에 판독된 D1,D2,D3이 데이터전송제어회로(13)에 순차적으로 수신된다.
프로세서엘리먼트(10)에서 전 데이터전송채널(20)에의 데이터의 브로드캐스트의 동작을 제14도에 표시한다. 프로세서엘리먼트(10)중의 데이터전송제어회로(13)는, 브로드캐스트코멘드 CB(all)에 의해, 코멘드레지스터(82)중의 데이터전송방향의 지정 D를 프로세서엘리먼트(10)에서의 송신에 브로드캐스트의 지정 B를 「있다」로 각각 설정한다. 코멘드레지스터(82)에의 어드레스(ADDR)의 설정은 임의이다. 이 결과, 모든 데이터전송채널(20)에 있어 비교회로(34)의 출력의 여하에 관계없이 OR게이트(84)의 출력이 액티브로 되고, 브로드캐스트코멘드 CB(all)에 계속되는 데이터버스(40)상의 데이터 D1,D2,D3이 브로드캐스트데이터로서 모든 데이터전송채널의 데이터전송버퍼(21)에 순차적으로 수신된다.
상기 프로세서엘리먼트에서의 개별송신과 프로세서엘리먼트에 의한 수신과 브로드캐스트의 3개의 데이터전송의 태양은 데이터전송제어회로(13)가 코멘드데이터신호(CD)를 H로 한 위에 필요한 코멘드를 데이터버스(40)상에 송신하는 것에 의해 상호 전환된다. 데이터버스(40)상에 송신된 코멘드는 전 데이터전송채널(20)에 있어 코멘드레지스터(82)에 설정되므로, 이후는 새로히 설정된 코멘드에 따라 소정의 태양의 데이터전송동작이 계속한다. 코멘드레지스터(82)의 재설정에 의해 각 데이터전송채널(20)의 내부상태를 초기화하는 것에 의해, 오동작이 생긴 데이터전송채널을 정상상태로 복귀되게 하는 것도 가능하다. 각 데이터전송채널(20)의 상태를 판독하기 위한 코멘드를 도입하고, 어떠한 상태로 데이터전송채널이 오동작했는가를 프로세서엘리먼트(10)가 판단하는 구성을 재용하는 것도 가능하다.
이상과 같이 본 실시예에 의하면, 프로세서엘리먼트(10)에서의 코멘드를 유지하기 위한 코멘드레지스터(82)를 설치한 구성을 채용하였으므로, 필요할 때만 코멘드를 송신하면 되고 쓸데없는 어드레스정보의 전송을 하지 않아도 되며, 데이터전송을 고속화할 수 있다. 또, 브로드캐스트동작의 선택도 가능하다. 더욱, 통상의 데이터전송은 1개의 방향으로 연속하므로, 어떤 데이터전송방향을 설정한 후는 당분간 이것을 전환할 필요는 없고, 순차적인 고속데이터전송이 실현될 수 있다.
(실시예 4)
본 발명의 제4실시예에 관한 데이터전송장치를 제15도∼제17도에 의거하여 설명한다.
제15도는 본 실시예와 데이터전송장치의 구성을 표시하는 블록도이다. 제1실시예와는 제어버스(50)의 구성과, 각 데이터전송채널(20)중의 버퍼제어회로(22)의 구성이 다르다. 제어버스(50)상에는 데이터전송제어회로(13)에서 데이터스트로브펄스(STB) 및 동작모드전환신호(헤더이네이블신호)(HE)의 2개의 신호가 출력되어 각 데이터전송채널(20)에서는 프래그신호(FLG)가 데이터전송제어회로(13)에 반신된다. 본 실시예의 버퍼제어회로(22)는 입출력제어회로(32)와 어드레스카운터(33)과의 사이에 데이터수제어회로(35)를 삽입한 구성을 구비한 것이다. 이 데이터수제어회로(35)는 데이터수레지스터(91)과, 스트로브카운터(92)와, 데이터카운터(93)와, 비교기(94)를 구비하고 있다. 한편, 데이터전송제어회로(13)는 각 데이터전송채널(20)의 내부설정을 위한 헤더와 전송해야 할 데이터를 어느 것이고 데이터버스(40)상에 송출하는 기능을 가진다. 데이터버스(40)의 비트폭의 형편상 1개의 헤더는 3개의 부분 헤더와, 1개의 데이터는 4개의 부분데이터에 각각 분할된다. 게다가, 각 부분 헤더 및 부분데이터의 송출상태에 따라 제어버스(50)상에 데이터스트로브펄스(STB)가 송신된다. 또, 데이터분할수에 대응하여 스트로브카운터(92)로서 4진 바이나리카운터(binary counter)가 채용된다.
이상과 같이 구성된 데이터전송장치의 동작모드전환신호(HE)에 응한 2개의 동작을 각각 제16도 및 제17도를 참조하여 설명한다. 데이터전송의 개시에 앞서서 각 식별번호레지스터(31)의 설정이 실행되는 점은 제1실시예와 동일하다.
제16도는 프로세서엘리먼트(10)에서 복수의 데이터전송채널(20)에의 랜덤데이터전송의 동작을 표시하는 타이밍도이다. 프로세서엘리먼트(10)중의 데이터전송제어회로(13)는 제어버스(50)상의 동작모드전환신호(HE)를 H에 유지한다. 또, 어드레스 i와 데이터수의 정보를 포함한 제1의 헤더 H1(i)을 데이터버스(40)상에 송출하는 동시에, 제어버스(50)상에 3개의 데이터스트로브펄스(STB)를 송신한다. 각 데이터전송채널(20)에서는 입출력제어회로(32)에 제1의 헤더 H1(i)가 공통으로 제공되면 상기 헤더중에 포함되는 어드레스 i가 채널어드레스로서 어드레스카운터(33)에 데이터수의 정보가 데이터수레지스터(91)에 각각 설정된다. 이것과 동시에, 스트로브카운터(92) 및 데이터카운터(93)의 양자의 유지치가 어느 것이고 0에 리세트된다. 제16도에 표시하는 예는 데이터수레지스터(91)에 1이 설정된 것으로 하고 있다.
모든 데이터전송채널(20)에 있어 어드레스카운터(33)중의 채널어드레스가 제1의 헤더 H1(i)에 의해 어느 것이고 i에 설정되면, 식별번호 i가 부여된 데이터전송채널만으로서 비교회로(34)에 의해 식별번호와 채널어드레스와의 일치가 검출되는 결과, 상기 식별번호 i의 데이터전송채널의 데이터전송버퍼(21)에, 상기 헤더 H1(i)에 계속되는 데이터버스(40)상의 제1의 데이터(D1)가 수신된다. 이때, 상기 데이터(D1)은 4분할되어 있으므로, 그 수신에는 4개의 데이터스트로브펄스(STB)을 요한다. 즉, 스트로브카운터(92)가 유지하는 내부 정수치는 1개의 데이터스트로브펄스(STB)를 받을 때마다 증가된다. 그리고, 4개째의 데이터스트로브펄스(STB)가 스트로브카운터(92)에 제공된 시점에서 상기 스트로브카운터(92)에서 데이터카운터(93)에 1개의 내부카운트펄스가 제공되어 데이터카운터(93)의 유지치가 1로 갱신된다. 이 시점에서 데이터카운터(93)의 유지치가 데이터수레지스터(91)가 유지되고 있는 데이터수와 일치하는 결과, 비교기(94)에서 어드레스카운터(33)에 카운터업펄스가 제공되어 채널어드레스가 (i+1)로 갱신된다. 이와 같이 하며 어드레스카운터(33)의 채널어드레스가 (i+1)로 갱신되면, 식별번호 i의 데이터전송채널은 데이터전송버퍼(21)에의 제1의 데이터(D1)의 수신을 종료한다.
한편, 식별번호(i+1)의 데이터전송채널에서도 어드레스카운터(33)의 채널어드레스가 동일하게 (i+1)로 갱신되므로, 상기 데이터전송채널에 의한 데이터수신의 준비가 갖추게 된다. 그런데, 각 데이터전송채널(20)은 동작모드전환신호(HE)가 H에 유지되고 있는 동안은 데이터수신동작 직전에 헤더의 수신과 채널어드레스의 설정을 포함하는 상기 선행동작을 반드시 실행하도록 프로토콜(protocol)이 정해져 있다. 즉, 식별번호(i+1)의 데이터전송채널에 있어, 비교회로(34)의 출력은 입출력제어회로(32)에 의해 무시되게 된다. 제16도에 표시하는 예에서는 이 시점에서 데이터버스(40)상에 어드레스 j를 포함한 제2의 헤더 H2(j)가 송출되어 상기 헤드에 계속하는 이 시점에서 데이터버스(40)상에 어드레스 j를 포함한 제2의 헤더 H2(j)가 송출되어 상기 헤더에 계속하는 제2의 데이터(D2)의 전송처가 식별번호 j의 데이터전송채널로 된다.
이상과 같이 동작모드전환신호(HE)가 H에 유지되고 있는 동안은 입출력제어회로(32)의 제어에 의해 채널어드레스설정동작과 데이터전송동작이 교호로 반복되는 결과, 상기 종래의 헤더부데이터전송에 유사한 동작이 실현될 수 있다.
제17도는 프로세서엘리먼트(10)에서 N개의 전송채널(20)의 배열순서로 각 데이터전송버퍼(21)에 데이터를 2개씩 전송하는 경우를 표시하는 순차 데이터전송의 타이밍도이다. 프로세서엘리먼트(10)중의 데이터전송제어회로(13)는 제어버스(50)상의 동작모드전환신호(HE)를 H에 유지하면서 어드레스 1과 데이터수의 정보를 포함한 헤더 H(1)를 데이터버스(40)상에 송출하는 동시에, 제어버스(50)상에 3개의 데이터스트로브펄스(STB)를 송신한다. 데이터버스(40)를 통하여 입출력제어회로(32)에 헤더 H(1)가 공통으로 제공된 각 데이터전송채널(20)에서는 상기 헤더중에 포함되는 어드레스 i가 채널어드레스로서 어드레스카운터(33)에 데이터수의 정보가 데이터수레지스터(91)에 각각 설정된다. 이것과 동시에, 스트로브카운터(92) 및 데이터카운터(93) 양자의 유지치가 어느 것이고 0에 리세트된다. 제17도에 표시하는 예에서는 데이터레지스터(91)에 2가 설정된 것으로 한다.
어드레스카운터(33) 및 데이터수레지스터(91)의 설정이 끝나면, 데이터전송제어회로(13)는 동작모드전환신호(HE)를 L에 강하한 뒤에, 데이터버스(40)상에 데이터를 순차 송출한다. 각 데이터전송채널(20)은 배열순서로 데이터버스(40)상의 데이터를 2개씩 데이터전송버퍼(21)에 수신한다.
이 사이의 사정을 상세히 설명하면, 우선 모든 데이터전송채널(2)에 있어 어드레스카운터(33)중의 채널어드레스가 헤더 H(1)에 의해 어느 것이고 1에 설정되면, 식별번호 1이 부여된 데이터전송채널만으로서 비교회로(34)에 의해 식별번호와 채널어드레스와의 일치가 검출되는 결과, 상기 식별번호 1의 데이터전송채널의 데이터전송버퍼(21)에, 상기 헤더 H(1)에 계속되는 데이터버스(40)상의 2개의 데이터가 수신된다. 이때, 각 데이터는 4분할되어 있으므로, 2개의 데이터의 수신은 8개의 데이터스트로브펄스(STB)를 요한다.
스트로브카운터(92)가 유지하는 내부정수치는 1개의 데이터스트로브펄스(STB)을 받을 때마다 증가된다. 그리고, 헤더 H(1)후의 4개째의 데이터스트로브펄스(STB)가 스트로브카운터(92)에 제공된 시점에서, 상기 스트로브카운터(92)에서 데이터카운터(93)에 1개의 내부카운트펄스가 제공되어 데이터카운터(93)의 유지치가 1로 갱신되는 동시에, 스트로브카운터(92)가 유지하고 있는 정수치가 다시 0으로 리세트된다. 이 시점에서는 데이터카운터(93)의 유지치가 데이터수레지스터(91)가 유지하고 있는 데이터수, 즉 2에 달하고 있지 않으므로, 비교기(94)에서 어드레스카운터(33)에 카운트업펄스가 제공되는 일은 없다. 따라서, 식별번호 1의 데이터전송채널이 데이터수신동작을 계속한다. 그리고, 더욱 4개의 데이터스트로브펄스(STB)가 스트로브카운터(92)에 제공된 시점에서, 상기 스트로브카운터(92)에서 데이터카운터(93)에 다음의 내부카운트펄스가 제공되어 데이터카운터(93)의 유지치가 2로 갱신되는 동시에, 스트로카운터(92)의 유지치가 다시 0으로 리세트된다. 이때 데이터카운터(93)의 유지치가 데이터수레지스터(91)가 유지하고 있는 데이터수와 일치하는 결과, 비교기(94)에서 어드레스카운터(33)에 카운트업펄스가 제공되어서 채널어드레스 2로 갱신되는 동시에, 데이터카운터(93)의 유지치가 다시 0에 리세트된다.
이와 같이 하여, 어드레스카운터(33)의 채널어드레스가 2로 갱신되면, 식별번호 1의 데이터전송채널은 데이터전송버퍼(21)에의 상기 2개의 데이터의 수신을 종료한다.
한편, 식별번호 2의 데이터전송채널에서도 스트로브카운터(92) 및 데이터카운터(93)에 의한 데이터스트로브펄스(STB)의 계수가 상기와 병행하여 동일하게 행하여지는 결과, 어드레스카운터(33)의 채널어드레스가 동일하게 2로 갱신되는 동시에, 스트로브카운터(92) 및 데이터카운터(93) 양자의 유지치가 어느 것이고 0에 리세트된다. 각 데이터전송채널(20)에서는 동작모드전환신호(HE)가 L에 유지되고 있는 동안은, 입출력제어회로(32)에 의해 비교회로(34)의 출력이 유효로 된다. 따라서, 데이터전송제어회로(13)에서 데이터버스(40)상에 다음에 송신되는 2개의 데이터는 식별번호 2의 데이터전송채널의 데이터전송버퍼(21)에 수신된다. 이하, 동일한 동작의 반복에 의해, N개의 데이터전송채널(20)의 배열순서로 각 데이터전송버퍼(21)에 2개씩의 데이터가 수신된다. 이때, 헤더의 전송은 최초에 1회만 실행하면 되므로 어드레스정보나 전송데이터 수정보의 쓸데없는 전송을 행하지 않아도 되고, 데이터전송을 고속화할 수 있다.
더욱, 상기 데이터수레지스터(91)에 대신하여, 제3실시예와 같은 데이터전송방향의 지정 D, 브로드캐스트의 지정 B 및 어드레스(ADDR) 각각의 유지를 위한 3개의 필드(제10도 및 제11도)에 가하여 전송데이터수를 유지하기 위한 제4의 필드를 구비한 코멘드레지스터를 채용하여도 좋다.
(실시예 5)
본 발명의 제5실시예에 관한 멀티프로세서시스템을 제18도 내지 제22도에 의거하여 설명한다.
제18도는 본 실시예의 멀티프로세서시스템의 전체 구성을 표시하는 블록도이다. 이 멀티프로세서시스템은 N개의 프로세서엘리먼트(10)와 행열상으로 배치된 N×N개의 데이터전송채널(20)과, N조의 로우버스(55a)와, N조의 컬럼버스(55b)를 구비한 것이다. 제18도는 N가 4의 경우를 표시한다. i(i=1~N)번째의 프로세서엘리먼트(i)에서 도출되는 i번째의 로우버스(55a)는, N×N개의 데이터전송채널(20)중의 i번째의 로우를 구성하는 N개의 데이터전송채널(i,1)~(i,N)의 각각에 접속된다. 또, j(j=1~N)번째의 프로세서엘리먼트(j)에서 도출되는 j번째의 로우버스(55b)는 j번째의 컬럼을 구성하는 N개의 데이터전송채널 (1,i)~(N,i)의 각각에 접속되어 있다.
제19도는 N개의 프로세서엘리먼트(10)중의 i번째의 프로세서엘리먼트(i)의 내부 구성을 표시하는 블록도이다. 각 프로세서엘리먼트(10)의 내부에서는 프로세서(11)와 메모리(12)와 데이터전송제어회로(13)가 내부버스를 통하여 상호 접속되어 있다. 이중 데이터전송제어회로(13)는 메모리엑세스제어회로(14)와 전송포트제어회로(15)와, 로우포트(16a)와 컬럼포트(16b)를 구비한 것이다. 로우포트(16a)에서는 로우버스(55a)가 도출되고 컬럼포트(16b)에서는 컬럼버스(55b)가 도출되어 있다. 메모리엑세스제어회로(14)는 전송하여야 할 데이터를 메모리(12)에서 판독하거나 전송을 받는 데이터를 메모리(12)에 격납할 때의 메모리어드레스를 생성하기 위한 회로이다. 전송포트제어회로(15)는 메모리(12)에서 판독된 데이터를 로우버스(55a) 또는 컬럼버스(55b)에 송출하거나 상기 버스(55a,55b)상의 데이터를 메모리(12)에 전송하는 것과 같이, 로우포트(16a) 및 컬럼포트(16b)의 동작을 제어하기 위한 회로이다.
제20도는 N×N개의 데이터전송채널(20)중의 로우번호 i 및 컬럼번호 j로 지정되는 데이터전송채널(i,j)의 내부구성을 표시하는 블록도이다. 이 데이터전송채널(i,j)은 제1 및 제2의 포트(21a,21b)를 가지는 듀얼(dual)포트의 데이터전송버퍼(21)와, 각각 제1의 실시예(제1도)와 동일한 구성을 구비한 로우측 및 컬럼측의 2개의 버퍼제어회로(22a,22b)를 구비하고 있다. 더우기 제20도에 상세히 표시하는 것과 같이, 로우버스(55a)는 데이터버스(40a)와 제어버스(50a)로서 구성되고, 컬럼버스(55b)도 데이터버스(40b)와 제어버스(50b)로서 구성된다. 이중 로우버스(55a)를 구성하는 데이터버스(40a)는 데이터전송버퍼(21)의 제1의 포트(21a)와 제1의 버퍼제어회로(22a)에 접속되고, 컬럼버스(55b)를 구성하는 데이터버스(40b)는 데이터전송버퍼(21)의 제2의 포트(21b)와 제2의 버퍼제어회로(22b)에 접속되어 있다. 또, 각 제어버스(50a,50b)는 제1의 실시예와 동일 어드레스카운트펄스(ACNT), 프래그신호(FLG), 데이터스트로브펄스(STB), 및 코멘드데이터신호(CD)의 4개의 신호를 전송하기 위한 것이고, 제1 및 제2의 각 버퍼제어회로(22a,22b)에 접속되어 있다.
로우측에 위치하는 제1의 버퍼제어회로(22a)는, 식별번호레지스터(31a)와 입출력제어회로(32a)와, 어드레스카운터(33a)와 비교회로(34a)를 구비하고 있다. 이중 식별번호레지스터(31a)는 상기 데이터전송채널(i,j)의 제1의 식별번호로서 상기 채널의 컬럼번호 j를 유지하기 위한 레지스터이다. 이 식별번호 j는 비교회로(34a)에 제공되는 동시에 입출력제어회로(32a)를 통하여 로우버스(55a)에 또 데이터전송버퍼(21)를 통하여 컬럼버스(55b)에 각각 판독되게 되어 있다.
컬럼측에 위치하는 제2의 버퍼제어회로(22b)도 식별번호레지스터(31b)와 입출력제어회로(32b)와, 어드레스카운터(33b)와 비교회로(34b)를 구비하고 있다. 이중 식별번호레지스터(31b)는 상기 데이터전송채널(i,j)의 제2의 식별번호로서 상기 채널의 로우번호 i를 유지하기 위한 레지스터이다. 이 식별번호 i는 비교회로(34b)에 제공되는 동시에 입출력제어회로(32b)를 통하여 컬럼버스(55b)에 또 더욱 데이터전송버퍼(21)를 통하여 로우버스(55a)에 각각 판독되도록 되어 있다.
이상과 같이 구성된 멀티프로세서시스템에 있어 프로세서간의 배열데이터전송의 동작을 제21도 및 제22도를 참조하여 설명한다.
N개의 프로세서엘리먼트(10)중의 i(i=1~N)번째의 프로세서엘리먼트(i)는 메모리(12)중에 N개의 요소로 되는 데이터배열 Ai을 가지고 있는 것으로 한다. 제21도에 표시하는 것과 같이, 이 데이터배열의 각 요소 Ai(x)(x=1~N)는 i번째의 로우버스(55a)를 통하여 i번째의 로우를 구성하는 N개의 데이터전송채널(i,1)~(i,N)의 각각의 데이터전송버퍼(21)에 기록된다. 이때, 제1실시예에 있어 제4도를 참조하여 설명한 바와 같이, 어드레스카운트펄스(ACNT)를 사용한 순차적인 고속데이터전송이 실행된다.
이와 같이 하여 N×N개의 데이터전송채널(20)의 각각의 데이터전송버퍼(21)에 그의 제1의 포트(21a)를 통하여 데이터가 기록된 후, 각 데이터가 제2의 포트(21b)를 통하여 판독된다. 제22도에 표시하는 것과 같이, j(j=1~N)번째의 컬럼을 구성하는 N개의 데이터전송채널(1,i)~(N,j)의 각각의 데이터전송버퍼(21)에서 판독된 데이터는 j번째의 컬럼버스(55b)를 통하여 j번째의 프로세서엘리먼트(j)중의 메모리(12)에 데이터배열요소 Bj(x)(x=1~N)로서 판독된다. 이때에도, 제1실시예에 있어 제7도를 참조하여 설명한 바와 같이, 어드레스카운트펄스(ACNT) 및 프래그신호(FLG)를 사용하는 것에 의해 순차적인 고속데이터전송이 실행된다.
N개의 프로세서엘리먼트(10)중의 2개의 특정의 프로세서엘리먼트간의 데이터전송, 예를들면 m번째의 프로세서엘리먼트(m)에서 n번째의 프로세서엘리먼트(n)에의 데이터전송은 N×N개의 데이터전송채널(20)중의 1개의 데이터전송채널(m,n)을 통하여 제1실시예에 있어 제3도를 참조하여 설명한 것과 같이 코멘트를 사용하여 실행된다. 또, 프로세서간의 데이터전송이 랜덤하게 발생하는 경우에는, j번째의 프로세서엘리먼트(j)는 제1의 실시예에 있어 제7도에 예시한 것과 같이 j번째의 컬럼버스(55b)상의 L의 프래그신호(FLG)의 반신의 유무를 확인하면서 j번째의 컬럼을 구성하는 N개의 데이터전송채널을 순서대로 스캔하도록 어드레스카운트펄스(ACNT)를 1개씩 송신하는 것에 의해 수신하여야 할 데이터를 기다려 받을 수 가 있다.
다음은, 각 프로세서엘리먼트(10)에의 인식번호의 자동설정에 대해 설명한다. 제18도 및 제20도를 보면 알 수 있는 것과 같이, i번째의 로우를 구성하는 N개의 데이터전송채널은 동일의 로우번호(i)를 각각 제2의 식별번호로서 유지하고 있다. 그래서, 각 프로세서엘리먼트(10)은 자기의 로우포트(16a)에 접속된 로우버스(55a)를 통하여, 상기 로우버스(55a)에 공통 접속된 N개의 데이터전송채널중의 어느 것이 제2의 식별번호로서 유지하고 있는 로우번호를 판독하고, 이것을 자기의 인식번호로서 메모리(12)에 격납한다. 또, j번째의 컬럼을 구성하는 N개의 데이터전송채널은 동일의 컬럼번호(j)를 각각 제1의 식별번호로서 유지하고 있다. 따라서, 각 프로세서엘리먼트(10)은 자기의 컬럼포트(16b)에 접속된 컬럼버스(55b)를 통하여 상기 컬럼버스(55b)에 공통 접속된 N개의 데이터전송채널중의 어느건가가 제1의 식별번호로서 유지하고 있는 컬럼번호를 판독하여 이것을 자기의 인식번호로 할 수도 있다. 즉, 각 프로세서엘리먼트(10)은 데이터전송채널(20)에 의해 구성되는 결합네트워크내에 유지되어 있는 정보에 의거하여 자기의 인식번호를 얻을 수가 있다. 이와 같이 얻게 된 각 프로세서엘리먼트(10)의 인식번호는 병렬화한 처리의 구별이나 병렬로 분할된 프로세서간의 통신 등에 사용된다.
또, 동일하게 제18도 및 제20도에서 알 수 있는 것과 같이 i번째의 로우를 구성하는 N개의 데이터전송채널은 1에서 N까지의 서로 다른 컬럼번호 j를 각각 제1의 식별번호로서 유지하고 있다. 그래서, 각 프로세서엘리먼트(10)는 자기의 로우포트(16a)에 접속된 로우버스(55a)를 통하여 상기 로우버스(55a)를 통하여 상기 로우버스(55a)에 공통 접속된 N개의 데이터전송채널의 모두가 제1의 식별번호로서 유지하고 있는 컬럼번호를 순차 판독하고, 이중의 확대치 N을 자신의 프로세서엘리먼트에 접속된 데이터전송채널의 수로서 메모리(12)에 격납한다. 이와 같이 얻은 채널수, 주결합네트워크의 사이즈(N)는 프로세서엘리먼트(10)의 총수도 표시하고 있고, 상기 인식번호와 함께 멀티프로세서시스템내에 있어 지신의 프로세서엘리먼트의 위치의 인식에 사용된다. 더우기 j번째의 컬럼을 구성하는 N개의 데이터전송채널은 1에서 N까지의 서로 다른 로우번호(i)를 각각 제2의 인식번호로서 유지하고 있다. 따라서, 각 프로세서엘리먼트(10)는 자기의 컬럼포트(16b)에 접속된 컬럼버스(55b)를 통하여 상기 컬럼버스(55b)에 공통 접속된 N개의 데이터전송채널의 모두가 제2의 식별번호로서 유지하고 있는 로우번호를 순차 판독하고, 그중의 최대치(N)를 메모리(12)에 격납하여야 할 채널수로 할 수도 있다.
이상과 같이 본 실시예에 의하면 어드레스버스, 헤더의 어느 것도 사용하지 않고서 순차적인 데이터전송이 실현될 수 있으므로, 멀티프로세서시스템에 있어 배선수의 저감과 고속데이터전송과의 양립이 가능하다. 이것에 의해, 대규모의 멀티프로세서시스템의 실현이 용이하게 된다. 또, 각 프로세서엘리먼트(10)는 결합네트워크내에 유지되고 있는 정보에 의거하여 자기의 인식번호와 상기 결합네트워크의 사이즈에 관한 정보를 얻는 것으로 하였으므로, 종래와는 다르게 호스트 계산기상에 특별한 프로그램을 준비해 두거나, 각 프로세서엘리먼트(10)에 특별한 하드웨어를 부가하지 않아도, 각 프로세서엘리먼트(10)에의 인식번호의 자동설정과 결합네트워크의 사이즈정보의 입수가 실현될 수 있다.
더우기, 각 프로세서엘리먼트(10)의 인식번호나 채널수(N)를 메모리(12)가 아니고, 프로세서(11)내의 레지스터나, 데이터전송제어회로(13)중에 설치되는 레지스터내에 격납하는 것으로 하여도 좋다. 또, 제4실시예(제15도)에 표시하는 것과 같이, 각 데이터전송채널(20)은 데이터스트로브펄스(STB)의 계수에 의거하여 채널어드레스를 갱신하는 것으로 하여도 좋다.
이상 설명한 바와 같이, 제1청구항의 발명에 의하면, 각 데이터전송채널(20)에 다른 식별번호를 설정하고, 제어버스(50)를 통하여 일정치씩 갱신되는 채널어드레스가 자기의 식별번호와 일치한 데이터전송채널에 한하여 데이터전송을 실행하도록 하였으므로 어드레스버스, 헤더의 어느 것도 사용하지 않고 순차적으로 데이터전송이 실행된다. 이것에 의해, 배선수의 저감과 고속데이터전송을 양립되게 한 데이터전송장티를 실현할 수가 있다. 게다가, 제어버스(50)상의 어드레스카운트펄스(ACNT)에 의해 채널어드레스의 갱신을 제어하도록 하였으므로, 데이터전송제어장치(13)에 의한 데이터전송상대의 유연한 선택이 용이하게 된다. 예르들면, 복수의 어드레스카운트펄스(ACNT)에 의해 채널어드레스를 계속하여 갱신되게 하면 데이터전송상대의 스킵이 가능하게 되어 어드레스카운트펄스(ACNT)의 출력을 정지되게 하면 같은 데이터전송채널과의 사이의 복수데이터의 수수도 실행 가능하다.
제2청구항의 발명에 의하면, 각 데이터전송태널(20)이 복수의 데이터전송버퍼(21)를 가지고, 채널어드레스(61)를 상위부분으로 하고 또한 버퍼어드레스(62)를 하위부분으로 한 복합어드레스를 일정치씩 갱신하도록 하였으므로 채널어드레스(61)의 갱신과 버퍼어드레스(62)의 갱신을 일원적으로 효율좋게 관리할 수가 있다.
제3청구항의 발명에 의하면, 각 데이터전송채널(20)은 제어버스(50)상의 코멘드데이터신호(CD)에 응하여 데이터버스(40)상의 코멘드를 받고, 상기 받은 코멘드를 유지하는 것으로 하였으므로, 종래의 데이터마다의 헤더전송을 폐지하여도, 데이터전송회로(13)는 상기 코멘드를 통하여 각 데이터전송채널(20)의 내부설정이나 가끔 동작의 전환을 실행할 수가 있다. 또 코멘트의 재설정에 의해 오동작이 생긴 데이터전송채널을 정상상태에 복귀되게 하는 것도 가능하다.
제4청구항의 발명에 의하면 각 데이터전송채널(20)이 유지하여야 할 채널어드레스를 데이터버스(40)상의 코멘드를 통하여 설정하도록 하였으므로, 데이터버스(40)의 유효이용이 가능하다.
제5청구항의 발명에 의하면, 데이터버스(40)상의 코멘드를 통하여 각 데이터전송채널(20)의 데이터전송방향을 전환하도록 하였으므로, 제어버스(50)중에 전송방향전환용의 특별한 배선을 설치하는 경우에 비하여, 제어버스(50)의 구성을 간소화할 수 있다.
또, 제6청구항의 발명에 의하면 각 데이터전송채널(20)은 코멘드의 일부로서 제공된 브로드캐스트의 지정 B을 유지하고, 상기 지정 B에 따라서 이후의 데이터를 브로드캐스트데이터로서 받도록 했으므로, 데이터의 브로드캐스트동작을 원활히 진행할 수가 있다.
제7청구항의 발명에 의하면, 제어버스(50)상의 데이터스트로브펄스(STB)에 의해 채널어드레스의 갱신을 제어하는 것으로 하였으므로, 데이터전송회로(13)에서 데이터전송채널마다에 복수의 데이터를 전송하는 경우에 상태가 좋다.
제8청구항의 발명에 의하면 전송하여야 할 데이터의 수를 유지하기 위한 데이터수레지스터(91)와, 데이터스트로브펄스(STB)를 계수하기 위한 스트로브카운터(92)와, 상기 스트로브카운터(92)에서의 내부카운트펄스를 계수하기 위한 데이터카운터(93)와, 상기 데이터카운터(93)의 계수치와 데이터수레지스터(91)의 유지치를 비교하기 위한 비교기(94)에 의해 채널어드레스의 갱신을 제어하도록 하였으므로, 각각 복수의 부분데이터에 분할된 2개 이상의 데이터를 전 데이터전송채널(20)에 각각 전송하는 경우에 상태가 좋다.
제9청구항의 발명에 의하면, 각 데이터전송채널(20)이 데이터전송제어회로(13)에서 랜덤전송을 지정하는 취지의 동작모드전환신호(HE)를 계속적으로 받고 있는 동안은 데이터버스(40)상의 헤더에 의해 채널어드레스를 변경하면서 상기 데이터버스(40)를 통한 데이터의 랜덤전송을 실행하는 것으로 하였으므로, 종래와 동일한 헤더부데이터를 취급하는 것이 가능하게 된다.
제10청구항의 발명에 의하면, N개의 프로세서엘리먼트(10)를 위한 결합네트워크를 구성하는 N×N개의 데이터전송채널(20)의 각각에 다른 식별번호를 설정하고, 일정치씩 갱신되는 채널어드레스가 자기의 식별번호와 일치한 데이터전송채널에 한하여 프로세서엘리먼트(10)와의 사이의 데이터전송을 실행하도록 하였으므로, 어드레스버스, 헤더의 어느 것도 사용하지 않고서 임의의 프로세서엘리먼트에서의 순차적인 데이터전송이 실현될 수가 있다. 이것에 의해, 배선수의 저감과 고속데이터전송을 양립되게 한 멀티프로세서시스템을 실현할 수가 있다.
제11 또는 제12청구항의 발명에 의하면, 각 프로세서엘리먼트(10)는 데이터전송채널(20)의 식별번호로서 결합네트워크내에 유지되어 있는 정보에 의거하여 자기의 인식번호를 얻도록 하였으므로 종래의 다른 호스트 계산기상에 인식번호설정용 특별한 프로그램을 준비해 두거나, 각 프로세서엘리먼트(10)에 인식번호설정용의 특별한 하드웨어를 부가할 필요없이 각 프로세서엘리먼트(10)에의 인식번호의 자동설정이 실현될 수 있다.
또, 제13 또는 제14청구항의 발명에 의하면, 각 프로세서엘리먼트(10)는 동일하게 데이터전송채널(20)의 식별번호로서 결합네트워크내에 유지되어 있는 정보에 의거하여 상기 결합네트워크의 사이즈(N)를 얻도록 하였으므로, 데이터전송채널(20)의 선택범위를 용이하게 확정할 수가 있다.
제15청구항의 발명에 의하면, 복수의 제2의 장치(20)중 일정치씩 갱신되는 어드레스가 자기의 식별번호와 일치한 제2의 장치에 한하여 제1의 장치(10)와의 사이의 데이터전송을 실행하도록 하였으므로, 선택적인 데이터전송시에 종래와는 다르게 어드레스버스, 헤더의 어느 것도 필요로 하지 않고, 배선수의 저감과 고속데이터전송의 양립이 가능하다.

Claims (15)

1개의 데이터전송제어회로와 각 데이터를 일시 유지하기 위한 데이터전송버퍼를 구비한 복수의 데이터전송채널이 공통의 데이터버스 및 제어버스를 통하여 접속된 구조를 갖는 데이터전송장치에 있어서, 상기 복수의 데이터전송채널의 각각은, 자신의 데이터전송채널의 어드레스로서 다른 데이터전송채널과는 다른 식별번호를 유지하기 위한 식별번호유지수단과, 어느 데이터전송채널에서도 동일치로 되도록 설정되고, 또한 상기 데이터전송제어회로에서 상기 제어버스를 통하여 어드레스카운트펄스를 받을 때마다 다른 데이터전송채널과 동시에 일정치씩 갱신되는 채널어드레스를 유지하기 위한 채널어드레스유지수단과, 상기 식별번호유지수단이 유지하고 있는 식별번호와 상기 채널어드레스유지수단이 유지하고 있는 채널어드레스가 일치된 경우에 상기 데이터전송제어회로와의 사이의 데이터버스를 통한 데이터전송의 상대로서 자신의 데이터전송채널의 상기 데이터전송버퍼를 선택하기 위한 버퍼선택수단을 구비한 것을 특징으로 하는 데이터전송장치.
제1항에 있어서, 상기 복수의 데이터전송채널은 각가 데이터를 일시 유지하기 위한 복수의 데이터전송버퍼를 각각 구비하고, 또한 상기 채널어드레스유지수단은 어느 데이터전송채널에도 동일치로 되도록 설정되고 또한 상기 제어버스를 통하여 다른 데이터전송채널과 동시에 일정치씩 갱신되는 복합어드레스를 유지하는 기능을 갖고, 상기 복합어드레스는 상기 채널어드레스를 상위부분으로 하고, 또한 자신의 데이터전송채널의 상기 복수의 데이터전송버퍼중의 1개를 선택하기 위한 버퍼어드레스를 하위부분으로 하는 것을 특징으로 하는 데이터전송장치.
제1항에 있어서, 상기 복수의 데이터전송채널의 각각은, 상기 데이터버스상에 코멘드를 송신한 취지의 코멘드데이터신호를 상기 데이터전송제어회로에서 상기 제어버스를 통하여 받았을 때에는 상기 데이터버스상의 코멘드를 받고 또한 받은 코멘드를 유지하기 위한 코멘드유지수단을 추가로 구비한 것을 특징으로 하는 데이터전송장치.
제3항에 있어서, 상기 코멘드유지수단은 상기 채널어드레스유지수단에 채널어드레스로서 설정하도록 상기 데이터전송제어회로에서 상기 코멘드의 일부로서 제공된 어드레스를 유지하기 위한 제1의 필드를 가지는 것을 특징으로 하는 데이터전송장치.
제3항에 있어서, 상기 코멘드유지수단은 상기 데이터전송제어회로와 상기 데이터전송버퍼와의 사이의 데이터전송의 방향을 결정하도록 상기 데이터전송제어회로에서 상기 코멘드의일부로서 제공된 데이터전송방향의 지정을 유지하기 위한 제2의 필드를 가지는 것을 특징으로 하는 데이터전송장치.
제3항에 있어서, 상기 코멘드유지수단은 상기 데이터전송제어회로에서 상기 코멘드의 일부로서 제공된 브로드캐스트의 지정을 유지하기 위한 제3의 필드를 가지고, 또한 상기 복수의 데이터전송채널의 각각은 상기 코멘드유지수단의 제3의 필드중의 브로드캐스트의 지정에 따라, 상기 데이터전송제어회로에서 상기 데이터버스상에 송신되는 데이터를, 상기 버퍼선택수단의 선택에 관계없이 자신의 데이터전송채널의 상기 데이터전송버퍼에 수신하기 위한 브로드캐스트제어수단을 추가로 구비한 것을 특징으로 하는 데이터전송장치.
1개의 데이터전송제어회로와, 각각 데이터를 일시 유지하기 위한 데이터전송버퍼를 구비한 복수의 데이터전송채널이 공통의 데이터버스 및 제어버스를 통하여 접속된 구조를 갖는 데이터전송장치에 있어서, 상기 복수의 데이터전송채널의 각각은, 자신의 데이터전송채널의 어드레스로서 다른 데이터전송채널과는 다른 식별번호를 유지하기 위한 식별번호유지수단과, 어느 데이터전송채널에서도 동일치로 되도록 리세트된 정수치를 유지하고, 상기 데이터전송제어회로에서 상기 데이터버스상에 송신되는 데이터에 수반하여 상기 데이터전송제어회로에서 상기 제어버스를 통하여 받는 데이터스트로브펄스에 응하여 상기 유지하고 있는 정수치를 일정치씩 갱신하고, 또한 상기 갱신된 정수치가 소정의 값에 달했을 때에는 카운트펄스를 출력하기 위한 데이터제어수단과, 어느 데이터전송채널에도 동일치로 되도록 설정하고, 또한 상기 데이터수제어수단에서의 카운트펄스를 받을 때마다 다른 데이터전송채널과 동시에 일정치씩 갱신되는 채널어드레스를 유지하기 위한 채널어드레스유지수단과, 상기 식별번호유지수단이 유지하고 있는 식별번호와 상기 채널어드레스유지수단이 유지하고 있는 채널어드레스가 일치한 경우에 상기 데이터전송제어회로와의 사이의 상기 데이터버스를 통한 데이터전송의 상대로서 자신의 데이터전송채널의 상기 데이터전송버퍼를 선택하기 위한 버퍼선택수단을 구비한 것을 특징으로 하는 데이터전송장치.
제7항에 있어서, 상기 데이터전송제어회로는 1개의 데이터를 소정의 분할수의 부분데이터로 나눠서 순차 상기 데이터버스상에 송신하는 기능을 가지고, 또한 상기 데이터수제어수단은, 어느 데이터전송채널에도 동일치로 되도록 설정된 데이터수를 유지하기 위한 데이터수레지스터와, 어느 데이터전송채널에도 동일치로 되도록 리세트된 제1의 정수치를 유지하고, 상기 데이터전송제어회로에서의 데이터스트로브펄스를 받을 때마다 상기 유지하고 있는 제1의 정수치를 일정치씩 갱신하고, 또한 상기 갱신된 제1의 정수치가 상기 데이터의 분할수에 달했을 때에는 내부카운트펄스를 출력하는 동시에 상기 갱신된 제1의 정수치를 다시 리세트하기 위한 스트로브카운터와, 어느 데이터전송채널에도 동일치로 되도록 리세트된 제2의 정수치를 유지하고, 또한 상기 스트로브카운터에서의 내부카운트펄스를 받을 때마다 상기 유지하고 있는 제2의 정수치를 일정치씩 갱신하기 위한 데이터카운트와, 상기 데이터카운트중의 갱신된 제2의 정수치가 상기 데이터수레지스터에 유지되고 있는 데이터수와 일치했을 때에는 상기 채널어드레스유지수단에 카운트펄스를 출력하기 위한 비교기를 구비한 것을 특징으로 하는 데이터전송장치.
제7항에 있어서, 상기 복수의 데이터전송채널의 각각은, 랜덤전송을 지정하는 취지의 동작모드전환신호를 상기 데이터전송제어회로에서 상기 제어버스를 통하여 계속적으로 받고 있는 동안은 상기 데이터전송제어회로에서 상기 데이터버스를 통하여 어드레스를 표시하는 헤더를 받고 또한 상기 받은 헤더를 상기 채널어드레스유지수단에 설정하는 채널어드레스설정동작과, 상기 버퍼선택수단에 의한 선택에 따라 자신의 데이터전송채널의 상기 데이터전송버퍼에 상기 데이터버스를 통한 데이터전송을 실행되게 하거나 또는 상기 데이터전송을 금지하는 데이터전송동작을 교호로 반복하기 위한 랜덤전송제어수단을 추가로 구비한 것을 특징으로 하는 데이터전송장치.
N개의 프로세서엘리먼트와, 행렬상으로 배치된 N×N개의 데이터전송채널과, N조의 로우버스와, N조의 컬럼버스를 구비한 멀티프로세서시스템에 있어서, 상기 N개의 프로세서엘리먼트는 각각 로우포트와 컬럼포트를 가지는 데이터전송제어회로를 각각 구비하고, 상기 N×N개의 데이터전송채널의 각각은 제1 및 제2의 포트를 가지는 데이터전송버퍼와, 제1 및 제2의 버퍼제어수단을 구비하고, 상기 N개의 프로세서엘리먼트중의 i[i=1~N]번째의 프로세서엘리먼트의 상기 데이터전송제어회로의 로우포트는, 상기 N조의 로우버스중의 i번째의 로우버스를 통하여 상기 N×N개의 데이터전송채널중의 i번째의 로우를 구성하는 제i군의 N개의 데이터전송채널의 각각의 상기 제1의 포트에 공통접속되고, 상기 N개의 프로세서엘리먼트중의 j[j=1~N]번째의 프로세서엘리먼트의 상기 데이터전송제어회로의 컬럼포트는, 상기 N조의 컬럼버스중의 j번째의 컬럼버스를 통하여, 상기 N×N개의 데이터전송채널중의 j번째의 컬럼을 구성하는 제j군의 N개의 데이터전송채널의 각각의 상기 제2의 포트에 공통 접속되고, 상기 제i군의 데이터전송채널의 각각의 상기 제1의 버퍼제어수단은 자신의 데이터전송채널의 컬럼번호 j를 제1의 식별번호로서 유지하기 위한 제1의 식별번호유지수단과, 상기 i번째의 프로세서엘리먼트의 데이터전송제어회로에서 상기 i번째의 로우버스를 통하여 상기 제i군의 데이터전송채널중의 어느 데이터전송채널에도 동일치로 되도록 설정되고, 또한 상기 i번째의 로우버스를 통하여상기 제i군의 데이터전송채널중의 다른 데이터전송채널과 동시에 1씩 갱신되는 제1의 채널어드레스를 유지하기 위한 제1의 채널어드레스유지수단과, 상기 제1의 식별번호유지수단이 유지하고 있는 제1의 식별번호와 상기 제1의 채널어드레스유지수단이 유지하고 있는 1의 채널어드레스가 일치한 경우에 상기 i번째의 프로세서엘리먼트의 데이터전송제어회로와의 사이의 상기 i번째의 로우버스를 통한 데이터전송의 상대로서 자신의 데이터전송채널의 상기 데이터전송버퍼를 선택하기 위한 제1의 버퍼선택수단을 구비하고 또한, 상기 제j군의 데이터전송채널의 각각의 상기 제2의 버퍼제어수단은, 자신의 데이터전송채널의 로우번호 i를 제2의 식별번호로서 유지하기 위한 제2의 식별번호유지수단과, 상기 j번째의 프로세서엘리먼트의 데이터전송제어회로에서 상기 j번째의 컬럼버스를 통하여 상기 제j군 전송채널중의 어느 데이터전송채널에도 동일치로 되도록 설정되고, 또한 상기 j번째의 컬럼버스를 통하여 상기 제j군의 데이터전송채널중의 다른 데이터전송채널과 동시에 1씩 갱신되는 제2의 채널어드레스를 유지하기 위한 제.의 채널어드레스유지수단과, 상기 제2의 식별번호유지수단이 유지하고 있는 제2의 식별번호와 상기 제2의 채널어드레스유지수단이 유지하고 있는 제2의 채널어드레스가 일치한 경우에 상기 j번째의 프로세서엘리먼트의 데이터전송제어회로와의 사이의 상기 j번째의 컬럼버스를 통한 데이터전송의 상대로서 자신의 데이터전송채널의 상기 데이터전송버퍼를 선택하기 위한 제2의 버퍼선택수단을 구비한 것을 특징으로 하는 멀티프로세서시스템.
제10항에 있어서, 상기 N개의 프로세서엘리먼트중의 i번째의 프로세서엘리먼트는, 상기 제i군의 데이터전송채널중의 어느건가의 데이터전송채널의 상기 제2의 인식번호유지수단에 상기 제2의 식별번호로서 유지되어 있고, 또한 상기 i번째의 로우버스를 통하여 상기 데이터전송제어회로에 판독된 로우번호 i를 자신의 프로세서엘리먼트의 인식번호로서 기억하기 위한 인식번호기억수단을 추가로 구비한 것을 특징으로 하는 멀티프로세스시스템.
제10항에 있어서, 상기 N개의 프로세서엘리먼트중의 j번째의 프로세서엘리먼트는 상기 제j군의 데이터전송채널중의 어느건가의 데이터전송채널의 상기 제1의 식별번호유지수단에 상기 제1의 식별번호로서 유지되어 있고, 또한 상기 j번째의 컬럼버스를 통하여 상기 데이터전송제어회로에 판독된 컬럼번호 j를 자신의 프로세서엘리먼트의 인식번호로서 기억하기 위한 인식번호기억수단을 추가로 구비한 것을 특징으로 하는 멀티프로세스시스템.
제10항에 있어서, 상기 N개의 프로세서엘리먼트중의 i번째의 프로세서엘리먼트는, 상기 제i군의 데이터전송채널 각각의 상기 제1의 식별번호유지수단에 상기 제1의 식별번호로서 유지되어 있고, 또한 상기 i번째의 로우버스를 통하여 상기 데이터전송제어회로에 순차 판독된 N개의 컬럼번호 j[j=1~N]중의 최대치 N을, 상기 i번째의 로우버스를 통하여 자신의 프로세서엘리먼트에 접속된 데이터전송채널의 수로서 기억하기 위한 채널수기억수단을 추가로 구비한 것을 특징으로 하는 멀티프로세서시스템.
제10항에 있어서, 상기 N개의 프로세서엘리먼트중의 j번째의 프로세서엘리먼트는, 상기 제j군의 데이터전송채널 각각의 상기 제2의 식별번호유지수단에 상기 제2의 식별번호로서 유지되어 있고, 또한 상기 j번째의 컬럼버스를 통하여 상기 데이터전송제어회로에 순차 판독된 N개의 로우번호 i[i=1~N]중의 최대치 N을, 상기 j번째의 컬럼버스를 통하여 자신의 프로세서엘리먼트에 접속된 데이터전송채널의 수로서 기억하기 위한 채널수기억수단을 추가로 구비한 것을 특징으로 하는 멀티프로세서시스템.
1개의 제1의 장치와 복수의 제2의 장치와의 사이의 공통버스를 통한 데이터전송방법에 있어서, 상기 복수의 제2의 장치 각각에 서로 다른 식별번호를 설정하는 스텝과, 상기 복수의 제2의 장치 각각에 서로 같은 어드레스를 설정하는 스텝과, 상기 복수의 제2의 장치 각각이 유지하고 있는 어드레스를 일정치씩 동시에 갱신하는 스텝과, 상기 복수의 제2의 장치중 갱신된 어드레스와 일치하는 식별번호를 유지하고 있는 제2의 장치를 상기 제1의 장치의 데이터전송상대로서 선택하는 스텝을 구비한 것을 특징으로 하는 데이터전송방법.
KR1019930015560A 1992-08-17 1993-08-11 데이터전송장치 및 멀티프로세서시스템 KR970006027B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP21761892 1992-08-17
JP92-217,618 1992-08-17
JP92-217618 1992-08-17

Publications (2)

Publication Number Publication Date
KR940004461A KR940004461A (ko) 1994-03-15
KR970006027B1 true KR970006027B1 (ko) 1997-04-23

Family

ID=16707118

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019930015560A KR970006027B1 (ko) 1992-08-17 1993-08-11 데이터전송장치 및 멀티프로세서시스템

Country Status (2)

Country Link
US (1) US5526490A (ko)
KR (1) KR970006027B1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4341043B2 (ja) 1995-03-06 2009-10-07 真彦 久野 I/o拡張装置,外部記憶装置,この外部記憶装置へのアクセス方法及び装置
US6144992A (en) * 1997-05-09 2000-11-07 Altiris, Inc. Method and system for client/server and peer-to-peer disk imaging
US6425026B1 (en) 2000-02-23 2002-07-23 Teranex, Inc. Distribution, processing, and reconstruction of variable-sized images using multiple processor arrays
DE10121912C2 (de) * 2001-05-05 2003-05-22 Phoenix Contact Gmbh & Co Verfahren zur zentralen Datenraten-Einstellung in einer Datenübertragungsanlage sowie Vorrichtung zur zentralen Datenraten-Einstellung
GB2393269B (en) * 2002-09-18 2006-01-11 Thales Plc Method and apparatus for data distribution
DE102005052971A1 (de) * 2005-11-07 2007-05-10 Siemens Ag Datenverarbeitungsvorrichtung und Verfahren zum Betrieb
TWI350457B (en) * 2007-09-19 2011-10-11 Htc Corp Data transmission method and system
DE102014110017A1 (de) * 2014-07-16 2016-01-21 Phoenix Contact Gmbh & Co. Kg Steuer- und Datenübertragungssystem, Gateway-Modul, E/A-Modul und Verfahren zur Prozesssteuerung
US11928069B2 (en) 2019-01-15 2024-03-12 Christoph HELDEIS Optical output device, bus unit, bus control unit and methods
JP2020190916A (ja) * 2019-05-22 2020-11-26 セイコーエプソン株式会社 データ転送回路、電子部品、電子機器及び移動体

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4223380A (en) * 1978-04-06 1980-09-16 Ncr Corporation Distributed multiprocessor communication system
US4513370A (en) * 1982-07-19 1985-04-23 Amdahl Corporation Data transfer control system and method for a plurality of linked stations
JPS6344267A (ja) * 1986-08-12 1988-02-25 Nec Corp モジユ−ル間バス方式
JPS6462759A (en) * 1987-09-03 1989-03-09 Agency Ind Science Techn Parallel processing system
JPH01283664A (ja) * 1988-05-11 1989-11-15 Fujitsu Ltd 並列計算機におけるデータ転送方式

Also Published As

Publication number Publication date
KR940004461A (ko) 1994-03-15
US5526490A (en) 1996-06-11

Similar Documents

Publication Publication Date Title
US5363484A (en) Multiple computer system with combiner/memory interconnection system employing separate direct access link for transferring information packets
EP0198010B1 (en) Packet switched multiport memory nxm switch node and processing method
US6763426B1 (en) Cascadable content addressable memory (CAM) device and architecture
US7093076B2 (en) Memory system having two-way ring topology and memory device and memory module for ring-topology memory system
US4412286A (en) Tightly coupled multiple instruction multiple data computer system
CN86107763B (zh) 具有相邻地址空间的存贮器系统
EP0432800A2 (en) High-speed asynchronous transfer mode packet switching network system having time slot scheduling unit
US5224093A (en) High-speed multi-port fifo buffer circuit
KR970006027B1 (ko) 데이터전송장치 및 멀티프로세서시스템
US4115854A (en) Channel bus controller
JPH0453358B2 (ko)
US5574885A (en) Modular buffer memory with separately controllable logical output queues for use in packet switched networks
JPS61182157A (ja) 画像処理装置及び相互通信バス装置
US4345325A (en) Message-interchange circuitry for microprocessors linked by synchronous communication network
US5371893A (en) Look-ahead priority arbitration system and method
US4172283A (en) Computer system comprising at least two individual computers and at least one system bus bar
EP0347929B1 (en) Parallel processor
US4126897A (en) Request forwarding system
US6034965A (en) Multi-stream associative memory architecture for computer telephony
CA2117506C (en) Return address adding mechanism for use in parallel processing system
EP0036766A1 (en) Computer system and interface therefor
US5613138A (en) Data transfer device and multiprocessor system
US6625440B1 (en) Drum memory controller
EP0269370B1 (en) Memory access controller
JPH06119284A (ja) データ転送装置及びマルチプロセッサシステム

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: 20010725

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee