KR970006410B1 - 핸드 쉐이킹방법을 이용한 어레이 프로세서간의 데이타 통신회로 - Google Patents

핸드 쉐이킹방법을 이용한 어레이 프로세서간의 데이타 통신회로 Download PDF

Info

Publication number
KR970006410B1
KR970006410B1 KR1019930028258A KR930028258A KR970006410B1 KR 970006410 B1 KR970006410 B1 KR 970006410B1 KR 1019930028258 A KR1019930028258 A KR 1019930028258A KR 930028258 A KR930028258 A KR 930028258A KR 970006410 B1 KR970006410 B1 KR 970006410B1
Authority
KR
South Korea
Prior art keywords
data
processor
signal
communication
flag
Prior art date
Application number
KR1019930028258A
Other languages
English (en)
Other versions
KR950022338A (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 KR1019930028258A priority Critical patent/KR970006410B1/ko
Publication of KR950022338A publication Critical patent/KR950022338A/ko
Application granted granted Critical
Publication of KR970006410B1 publication Critical patent/KR970006410B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Landscapes

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

Abstract

내용없음.

Description

핸드 쉐이킹방법을 이용한 어레이 프로세서간의 데이터 통신회로
제1도는 어레이 프로세서의 핸드 쉐이킹(hand shaking) 통신 회로도.
제2도는 제1도의 단방향 데이터 통신회로의 연결.
제3도는 단방향 데이터 통신회로의 통신타이밍도.
제4도는 데이터 통신회로의 양방향 회로구성.
* 도면의 주요부분에 대한 부호의 설명
1 : D flip-flop with set and reset(상태 플래그)
2 : R/S flip-flop with reset(상태 플래그)
3 : flip-flop 4 : D flip-flop(data buffer)
본 발명은 디지털 초고집적(Digital VLSI)회로의 제작기술을 이용한 MIMD(multiple instruction multiple data)방식으로 동작할 수 있는 어레이 프로세서(array processor)의 설계에서, 어레이 프로세서간에 핸드 쉐이킹(hand-shaking)방법으로 데이터 통신을 하는 회로의 구성에 관한 것이다.
어레이 프로세서는 병렬시스템에서 주 프로세서(main processor)로 사용하는 중앙처리장치에 해당된다.
병렬시스템에서는 이러한 어레이 프로세서가 여러 개 사용된다.
그리고, 통신은 한 클럭(clock)안에 데이터가 전달될 수 있는 인쇄회로기판(PCB)에서의 즉, 시스템 차원에서의 통신이다.
병렬시스템은 여러 종류의 통신방법들을 사용할 수 있으며 사용되는 통신방법에 의해서 병렬시스템의 성능이 결정된다. 그중에서 MIMD 형태의 어레이 프로세서는 양방향 비동기식 통신을 사용할 수 있다.
양방향 비동기식 통신은 핸드 쉐이킹 통신으로 불린다.
이 방법은 다른 통신방법에 비교해서 시스템의 확장성과 통신의 유연성에서 유리하다.
그러나, 통신 프로토콜(communication protocol)을 맞추기 위한 셋업(setup)시간이 필요하고, 동작주파수가 높으면 클럭스큐(clock skew)와 글리치(glitch) 등의 문제들이 발생하여 통신하는데 영향을 준다.
따라서, 본 발명의 목적은 안정된 데이터 통신회로를 제공하는 것이다.
각각이 통신포트를 갖는 적어도 두 개 이상의 어레이 프로세서들 중 통신을 원하는 두 개의 프로세서가 핸드 쉐이킹에 의해 통신을 안정되게 수행할 수 있도록 지원하기 위한 통신회로는 통신을 원하는 상기 두 프로세서 중 데이터를 전송하려는 제1의 프로세서가 제2의 프로세서로 데이터를 보낼 때 생성시키는 데이터 전송 표시 신호에 의해 세팅되어 제2의 프로세서로 데이터를 전송하였음을 표시함과 아울러 제2의 프로세서가 제1의 프로세서로부터 전송된 데이터를 받아들였는지를 나타내는 플래그(flag)신호를 제1의 프로세서로 출력하는 플래그 수단과; 제1의 프로세서로부터 제공되는 데이터를 소정의 시간동안 래치(latch)하기 위한 데이터 버퍼 수단과; 제1의 프로세서로부터 제공되는 데이터 전송표시 신호에 응답하여 데이타 버퍼수단으로 인-에이블 신호를 출력하여 제1의 프로세서로부터의 데이터가 상기 버퍼 수단에 의해 래치되게 하여 데이터가 제2의 프로세서로 안정되게 전달되게 하는 수단과; 제1의 프로세서로부터 제공되는 상기 데이터 전송표시 신호에 응답하여 제1의 프로세서로부터의 데이터가 상기 데이터 버퍼 수단에 래치되었음을 나타내는 신호(IRS_ IN)를 제2의 프로세서로 제공하고, 제2의 프로세서가 상기 데이터 버퍼 수단에 의해 래치된 제1의 프로세서로부터의 데이터를 읽어갈 때 제1의 프로세서가 발생하는 소정의 신호에 응답하여 제2의 프로세서가 데이터를 읽어 갔음을 나타내는 소정의 신호(IRS)를 상기 플래그 수단으로 제공하여 플래그 수단이 제1의 프로세서로 그것을 알리게 하는 수단을 포함하는 것이 특징이다.
본 발명에 따른 통신회로는 게이트 클럭이 없으며, 데이터를 저장하는 버퍼(buffer)의 인에이블(enable)신호를 안정되게 만들어 주며, 어레이 프로세서는 각각의 내부 클럭만을 사용한다.
그래서, 클럭스큐와 글리치 등에 대한 적응성이 높고 안정되게 동작할 수 있도록 한다.
이외에 통신을 위한 프로토콜의 환경설정(setup)을 빨리할 수 있도록 하여 시스템 차원에서 어레이 프로세서의 동작지연이 없도록 한다.
제1도는 본 발명에 따른 통신회로의 구성을 나타낸 것이다.
도면에서 OR_WR_IN, OR_WR신호는 데이터를 전송하는 프로세서로부터 출력되는 펄스신호이고 IR_RD_IN, IR_RD신호는 데이터를 받아들이는 프로세서로부터 출력되는 펄스신호이다. IRS_IN, IRS, ORS_IN, ORS는 레벨(level)신호이다.
플리플롭1과 2는 출력용 상태 플래그와 입력용 상태 플래그로서 각각 기능한다.
어레이 프로세서가 데이터를 외부로 보태면 플리플롭1이 세팅(=1)되고, 외부에서 데이터를 사용하면 리세팅(=0)된다.
데이터가 외부에서 들어오면 플립플롭2가 세팅(=1)되고 들어온 데이터를 사용하면 리세팅(=0)된다.
제1플립플롭(1)의 SDN단자는 OR_WR_IN신호에 의해서 세팅된다.
세팅된 이후에는 외부에서 오는 ORS신호에 의해서 값이 결정된다.
이와 같이 SDN단자를 이용하여 ORS_IN값을 변화시키면 외부에서 오는 ORS값에 따른 변화보다 앞서서 ORS_IN을 변화시킬 수 있다.
제2플립플롭(2)은 R/S플립플롭으로 게이트 클럭을 사용하지 않도록 구성되어 있다.
제3플립플롭(3)은 데이터 버퍼용 플립플롭(4)의 인에이블 신호를 안정되게 만들기 위하여 사용된다.
즉, 플립플롭(4)은 전송된 데이터를 저장하는 데이터 버퍼 수단이다.
클럭스큐가 생겨서 시스템 차원에서 어레이 프로세서 사이에 신호의 타이밍(timing)이 상이하더라도 내부의 제3플립플롭(3)에 의해서 인에이블신호가 만들어지므로 안정되게 데이터를 받을 수 있다.
제2도는 본 발명에 따른 통신회로(제1도)를 이용하여 단방향으로 통신할 수 있도록 두 개의 어레이 프로세서의 통신포트(PORT)가 연결된 회로를 보인다.
점선으로 분리된 PE1과 PE2가 각각의 칩 또는 어레이 프로세서의 통신포트(prot)이다.
먼저, 포트 PE1이 데이터를 보내는 동작을 설명하면 다음과 같다.
데이터를 보내는 포트 PE1에서 OR_WR_IN, OR_WR, ORS_IN, ORS신호가 변화된다.
ORS_IN이 1이면 외부로 보내어진 데이터가 있음을, 0이면 외부로 보내어진 데이터가 없음을 표시한다.
OR_WR_IN은 포트 PE1에서 포트 PE2로 데이터를 보낼 때 만들어지는 신호로 이 신호에 의해서 통신 포트 PE1이 외부로 하나의 데이터를 보냈음을 표시하는 상태플래그가 세팅된다.
여기서 상태플래그는 ORS_IN신호이다.
ORS_IN신호의 값은 두 가지 방법에 의해 변화될 수 있다.
첫째는 위에서 말한 OR_WR_IN신호에 의해서 SDN단자를 세팅시키는 방법이며, 둘째는 포트 PE2에서 오는 신호인 ORS신호에 의해서 변화시킬 수 있다.
ORS_IN신호는 칩 내부의 클럭에 동기되어 만들어진다.
ORS신호는 OR_WR_IN의 신호가 출력되어 포트 PE2의 상태플래그(2)를 세팅하여 만들어지는 신호이다.
그래서, 포트 PE1의 상태플래그(ORS_IN)는 반드시 SDN을 이용해서 변화시킬 필요는 없다.
그러나, 이를 이용하므로서 ORS신호가 변하기 전에 ORS_IN신호를 변화시킬 수 있으므로 통신 프로토콜을 셋업하는데 필요한 시간을 줄일 수 있다.
포트 PE2가 데이터를 받는 동작을 보면 다음과 같다.
데이터를 받는 포트 PE2에서 IR_RD_IN, IR_RD, IRS_IN, IRS신호가 변화된다.
IRS_IN신호가 1이면 포트 PE1으로부터 데이터가 들어 왔음을, 0이면 데이터가 없음을 표시한다.
데이터를 받을 때는 IR_RD신호가 들어와서 IRS 즉, IRS_IN신호를 1로 만든다.
전송된 데이터는 데이터 버퍼940에 저장되는데, 이 플립플롭(4)의 인에이블 신호는 IR_RD신호를 이용하여 제3플립플롭(3)에서 만들어진다.
이와 같이 제3플립플롭(3)을 두는 이유는 인에이블 신호를 안정하게 만들어 주기 위해서이다.
그리고, 전송된 데이터는 데이터를 사용할 어레이 프로세서의 버퍼가 래치(latch)하고 있도록 한다.
전송된 데이터를 사용할 어레이 프로세서의 버퍼(4)가 데이터를 가지고 있으므로, 데이터가 들어왔다고 상태 플래그가 가리키고 있으면(PE2 : IRS_IN=1)데이터를 사용할 포트 PE2는 지연없이 언제든지 데이터를 사용할 수 있다.
만약, 데이터 버퍼(4)가 데이터를 보내는 어레이 프로세서의 포트 PE1에 있다면 데이터를 가지고 와야 하므로 사용하는데 지연이 생길 수 있다.
제3도는 제2도의 통신 타이밍도이다.
포트 PE1에서 포트 PE2로 데이터가 전달될 때의 타이밍도이다.
시간흐름별로 동작을 설명하면 다음과 같다.
구간 T1에서 포트 PE1은 ORS_IN을 확인하므로서 데이터를 보낼 수 있음을 판단한다(ORS_IN이 영이면 데이터를 보낼 수 있음을 표시한다).
ORS_IN이 영이므로 구간 T2에서 OR_WR_IN의 펄스가 나가서 플래그 수단인 제1플립플롭(1)의 SDN을 미리 세팅(원래는 ORS신호에 의해서 변함)시켜서 ORS_IN을 1로 만들고 데이터를 보낸다.
그리고, 포트 PE2의 IRS_IN신호는 내부클럭에 동기되어 1로 된다.
이렇게 지연없이 신호들이 흘러가면 SDN의 효과가 없을 수 있으나 주파수가 높으면 클럭 주기가 짧아서 지연이 나쁜 영향을 주며, SDN은 효과를 볼 수 있다(ORS의 빗금친 부분과 같은 지연이 생길 수 있으나 SDN으로 이의 영향을 없앤다).
구간 T3에서 포트 PE2는 IRS_IN이 1임을 확인한다.
즉, 데이터가 들어와 있음을 확인한다.
구간 T4에서는 포트 PE2가 전송된 데이터를 받는 동작을 한다.
포트 PE2에서 IR_RD_IN신호가 나와서 포트 PE2의 IRS 즉 PE1의 ORS를 영으로 만들어 포트 PE1이 다시 데이터를 보낼 수 있도록 한다.
동시에 데이터 버퍼(4)의 출력을 받아간다.
구간 T5에서 데이터의 전송과 관련해서 특별한 동작이 수행되지 않는다.
제4도는 양방향 통신을 위해서 실제 어레이 프로세서간의 연결을 나타낸 것이다.
각 포트는 제2도의 통신회로를 각각 구비한다.
이의 동작은 제2도의 그것과 동일하다.
그리고, 데이터 버스로 사용하는 두 개의 선(PE1의 DATA_OUT와 PE2의 DATA_OUT)은 삼상-상태 버퍼(tri-state buffer)를 사용하여 하나로 묶을 수 있다.
이상에서 설명된 본 발명은 다음과 같은 장점들을 갖는다.
본 발명에 의하면 핸드 쉐이킹 통신용 회로구성에서 게이트 클럭을 사용하지 않고, 어레이 프로세서의 내부클럭만을 사용하더라도 안정된 동작을 할 수 있다.
본 발명에 의하면 데이터 버퍼에 사용하는 기입 인에이블(write enable) 신호를 내부의 플립플롭에 의해서 만들어지도록 하므로 데이터가 데이터 버퍼에 안정되게 쓰여질 수 있으며, 통신 프로토콜로 사용할 상태 플래그 신호를 데이터가 보내지기 전에 미리 세팅시킴으로써 통신프로토콜을 맞추기 위한 시스템 차원에서의 동작지연을 방지할 수 있다.

Claims (1)

  1. 각각이 통신코포트를 갖는 적어도 두 개 이상의 어레이 프로세서들 중 통신을 원하는 두 개의 프로세서가 핸드쉐이킹에 의해 통신을 수행할 수 있도록 지원하는 통신회로에 있어서, 통신을 원하는 상기 두 프로세서 중 데이터를 전송하려는 제1의 프로세서가 제2의 프로세서로 데이터를 보낼 때 생성시키는 데이터 전송 표시 신호(OR_WR_IN)에 의해 세팅되어 상기 제2의 프로세서로 데이터를 전송하였음을 표시함과 아울러 상기 제2의 프로세서가 상기 제1의 프로세서로부터 전송된 데이터를 받아들였는지를 나타내는 플래그 신호(ORS_IN)를 상기 제1의 프로세서로 출력하는 플래그 수단(1)과; 상기 제1의 프로세서로부터 제공되는 데이터를 소정의 시간동안 래치하기 위한 데이터 버퍼 수단(4)과; 상기 제1의 프로세서로부터 제공되는 상기 데이터 전송 표시 신호에 응답하여 상기 데이터 버퍼 수단으로 인에이블 신호를 출력하여 상기 제1의 프로세서로부터의 데이터가 상기 버퍼 수단에 의해 래치되게 하여 상기 데이터가 상기 제2의 프로세서로 안정되게 전달되게 하는 수단(3)과; 상기 제1의 프로세서로부터 제공되는 상기 데이터 전송 표시 신호에 응답하여 상기 제2의 프로세서로 상기 제1의 프로세서로부터의 데이터가 상기 데이터 버퍼 수단에 래치되었음을 나타내는 신호(IRS_IN)를 제공하고, 상기 제2의 프로세서가 상기 데이터 버퍼 수단에 의해 래치된 상기 제1의 프로세서로부터의 데이터를 읽어 갈 때 상기 제2의 프로세서가 발생하는 신호(IR_RD_IN)에 응답하여 상기 제2의 프로세서가 데이터를 읽어 갔음을 나타내는 신호(IRS)를 상기 플래그 수단으로 제공하여 상기 플래그 수단이 상기 제1의 프로세서로 그것을 알리게 하는 수단(2)을 포함하는 것을 특징으로 하는 핸드 쉐이킹 방법을 이용한 어레이 프로세서 간의 데이터 통신회로.
KR1019930028258A 1993-12-17 1993-12-17 핸드 쉐이킹방법을 이용한 어레이 프로세서간의 데이타 통신회로 KR970006410B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019930028258A KR970006410B1 (ko) 1993-12-17 1993-12-17 핸드 쉐이킹방법을 이용한 어레이 프로세서간의 데이타 통신회로

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019930028258A KR970006410B1 (ko) 1993-12-17 1993-12-17 핸드 쉐이킹방법을 이용한 어레이 프로세서간의 데이타 통신회로

Publications (2)

Publication Number Publication Date
KR950022338A KR950022338A (ko) 1995-07-28
KR970006410B1 true KR970006410B1 (ko) 1997-04-28

Family

ID=19371455

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019930028258A KR970006410B1 (ko) 1993-12-17 1993-12-17 핸드 쉐이킹방법을 이용한 어레이 프로세서간의 데이타 통신회로

Country Status (1)

Country Link
KR (1) KR970006410B1 (ko)

Also Published As

Publication number Publication date
KR950022338A (ko) 1995-07-28

Similar Documents

Publication Publication Date Title
KR880010365A (ko) 디지탈 데이타 프로세서용 버스 인터페이스 회로
CA2129241A1 (en) Scalable tree structured high speed i/o subsystem architecture
US5025414A (en) Serial bus interface capable of transferring data in different formats
KR970006410B1 (ko) 핸드 쉐이킹방법을 이용한 어레이 프로세서간의 데이타 통신회로
IE59877B1 (en) Method and apparatus for transferring data between two data processing equipments each driven by an independent clock
JP3525881B2 (ja) ソースシンクロナスデータ転送方法及びソースシンクロナスデータ転送装置
CN115687197B (zh) 数据接收模块、数据接收方法、电路、芯片及相关设备
KR0122879Y1 (ko) 캐스케이드에서의 직렬데이타 송수신 장치
KR920007254B1 (ko) 스타방식 멀티 프로세서 시스템의 인터페이스 간략화회로
JPH07131504A (ja) データ転送装置
KR100308148B1 (ko) 메모리공유장치
KR19990003133A (ko) 멀티-보드 시스템의 인터페이스장치
KR100448088B1 (ko) 클럭 포워딩 회로
JPS6195648A (ja) デ−タ転送方式
KR890005154B1 (ko) 쿼드유와트 칩 선택제어회로
KR930004903B1 (ko) 데이타 버스를 이용한 프로세서간 병렬 데이타 통신시스팀 및 통신방법
SU1541625A2 (ru) Устройство дл сопр жени абонента с общей магистралью
JPH031610A (ja) 信号検出回路
KR920000092B1 (ko) 디지탈 전화기를 이용한 디지탈 단말 접속회로
AU7433898A (en) Method and arrangement for connecting processor to asic
KR940004583B1 (ko) 핸드 쉐이킹 로직을 이용한 보드간 바이트 단위의 데이타 송수신 장치
KR970007157Y1 (ko) 시스템버스와 다수 병렬포트 사이의 인터페이스 장치
KR950004509B1 (ko) 장거리 인터페이스 장치의 버스 중계 회로
KR960007836B1 (ko) 트랜스퓨터 링크용 링크 어댑터 제어장치
KR950014995B1 (ko) 데이타 버퍼 인에이블 회로

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

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee