KR930001589B1 - 고속동기식 데이타 전송 시스템 및 그 전송방법 - Google Patents

고속동기식 데이타 전송 시스템 및 그 전송방법 Download PDF

Info

Publication number
KR930001589B1
KR930001589B1 KR1019890007231A KR890007231A KR930001589B1 KR 930001589 B1 KR930001589 B1 KR 930001589B1 KR 1019890007231 A KR1019890007231 A KR 1019890007231A KR 890007231 A KR890007231 A KR 890007231A KR 930001589 B1 KR930001589 B1 KR 930001589B1
Authority
KR
South Korea
Prior art keywords
data
functional device
machine cycle
register
signal
Prior art date
Application number
KR1019890007231A
Other languages
English (en)
Other versions
KR890017616A (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 KR890017616A publication Critical patent/KR890017616A/ko
Application granted granted Critical
Publication of KR930001589B1 publication Critical patent/KR930001589B1/ko

Links

Images

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
    • 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/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • G06F13/4256Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus using a clocked protocol

Abstract

내용 없음.

Description

고속동기식 데이타 전송 시스템 및 그 전송방법
제1a도는 종래의 동기식 데이타 전송 시스템의 구성을 도시하는 블록 구성도.
제1b도는 파이프라인형으로 접속된 종래의 동기식 데이타 전송 시스템의 구성을 도시한 블록 구성도.
제1c도는 제1b도에 도시되는 기능 장치 스테이지 사이의 신호 AVL과 신호 WAIT의 관계를 설명하는 도면.
제2a도∼제2e도는 제1도에 도시된 시스템의 동작을 설명하는 타이밍 차트.
제3도는 본 발명의 동기식 데이타 전송 시스템의 한 실시예를 도시하는 블록 구성도.
제4도는 제3도에 도시하는 기능 장치(20, 21)의 내부 구성을 상세히 도시하는 블록 구성도.
제5a도∼제5e도는 제3도에 도시되는 실시예의 동작을 설명하는 타이밍 차트.
제6도는 제4도에 도시된 수신측 기능 장치(21)의 변형예의 블록 구성도.
제7a도∼제7i도는 제3도의 구성을 응용예를 설명하는 타이밍 차트.
제8도는 기능 장치를 접속한 경우의 구성을 도시하는 블록 다이어그램.
제9도는 파이프라인 접속된 기능 장치로 구성되는 시스템을 도시하는 블록 구성도.
* 도면의 주요부분에 대한 부호의 설명
5, 16, 26, 32 : 레지스터 6, 7 : 신호발생기
10, 11, 20, 21 : 기능장치 13 : 유효 신호 AVL
12 : 데이타 전송로 14 : 대기 신호
27, 28, 29, 42, 46 : 플립플롭
본 발명은 기능 장치 상호간의 데이타 전송의 고속화에 관한 것으로, 특히 파이프라인형으로 다단 접속되고, 데이타 처리를 고속으로 실시할 수 있으며, 예를들면 특정 용도로 사용되는 고집적 ASIC에 장치된 기능 장치 상호간의 고속 데이타 전송에 적합한 고속 동기식 데이타 전송 시스템에 관한 것이다.
종래, 기능 장치 상호간에서 동기식의 데이타 전송을 하는 시스템은 제1a도의 도시와 같이 구성되는 것이 일반적인 것이다. 제1a도에 있어서, 예를들면 ASIC로서 LSI화된 기능 장치(10, 11)간의 데이타 전송은 데이타전송로(12)를 개재하여 제2b도의 머신·사이클 n에 표시되는 것과 같이 1머신·사이클에 1회씩 실시되고 있었다. 이 데이타 전송에 있어서는 송신측기능 장치(10)에서 데이타 송출을 표시하는 논리 "1"(고레벨)의 유효 신호 AVL(13)이 발생되어 수신측 기능 장치(11)에 송출된다. 본 설명에서는 정논리가 사용된다. 제2e도에 도시되는 바와같이 수신측 기능 장치(11)가 그 머신·사이클 n에서 기능 장치(10)로부터의 데이타를 수취할 수 있는 상태에 있을 때, 송신측 기능 장치(10)로부터의 데이타는 제2d도에 도시되는 논리"1"의 신호 AVL(13)에 응답하여, 머신·사이클 n의 종단, 즉 머신·사이클 n과 다음의 머신·사이클(n+1)과의 경계에서 수신측 기능 장치(11)내의 레지스터(16)에 로드된다.
이것에 대하여 송신측 기능 장치(10)에서 데이타와 함께 논리 "1"의 신호 AVL(13)이 출력되어도 제2b도에 도시된 바와같이 머신·사이클(n+1)에서 수신측 기능 장치(11)가 송신측 기능 장치(10)로부터의 데이타를 기능 장치(11)가 수취할 수 없는 경우에는 그 취지를 표시하는 논리 "1"의 대기 신호 WAIT(14)가, 제2e도의 도시와같이 수신측기능장치(11)로부터 송신측 기능장치(10)에 출력된다. 이 신호 WAIT(14)가 출력되는 조건에는 송신측 기능 장치(10)로부터의 신호 AVL(13)이 수신되었는지의 여부와, 또 수신측 기능 장치(11)가 그 머신·사이클에서 데이타를 받을 수가 있는 상태인지의 여부가 포함되어 있다. 이 데이타를 수취할 수 있는 상태인지의 여부를 표시하는 신호는 수신측 기능 장치(11)의 내부에서 생성되는 것이다. 그 생성 조건은 복잡하다. 특히 수신측 기능 장치(11)의 출력에 접속되는 다른 기능 장치의 상태도 포함된다. 따라서 기능 장치(11)에 있어서 신호 WAIT(14)의 상태가 확정되기 위해서는 장시간이 필요하고, 머신·사이클의 비교적 빠른 타이밍에서는 신호 WAIT(14)가 확정될 수 없다. 이로인해 기능장치(10, 11)를 LSI화하여 내부의 동작 속도를 높인다 해도 머신·사이클을 빨리하기는 곤란하다. 또, 제2a도 내지 제2e도에 있어서 데이타 전송로(12)의 데이타 신호 및 신호 AVL(13), 신호 WAIT(14)는 각각 대응하는 신호의 수취측에서 본 상태가 표시된다.
송신측 기능 장치(10)는 제2e도에 표시되는 것과 같이 머신·사이클(n+1)에 있어서 수신측 기능 장치(11)로부터의 논리"1"의 신호 WAIT(14)를 수신하고, 식별했을때는 다음의 머신·사이클(n+2)에 있어서도 머신·사이클(n+1)의 경우와 같이 동일한 데이타 및 논리 "1"의 신호 AVL(13)을 계속해서 송출한다. 머신·사이클(n+2)에 있어서 수신측 기능 장치(11)가 송신측 기능장치(10)로부터 데이타를 수취할 상태가 되면 수신측 기능 장치(11)는 신호 WAIT(14)를 취소하고, 머신·사이클(n+2)의 종단에서 데이타를 레지스터(16)에 로드한다. 이 경우 1개의 데이타를 전송하기 위하여 2개의 머신·사이클이 필요하다. 또 제2d도에서는 머신·사이클 n에 선행하는 머신·사이클에서 신호 AVL(13)이 논리 "0"임을, 그리고 제2c도에서는 송신측 기능 장치(10)가 데이타를 송출하고 있지 않는 상태를 도시하고 있다.
제1b도의 도시와 같이 기능 장치(1, 2, 3)가 파이프라인형으로 접속되는 경우에도 다음 스테이지의 상태를 확정하기 위한 동작은 제1a도에 도시되는 예와 동일하다. 스테이지(1, 2)가 제1c도의 도시와같이 구성되는 경우, 스테이지(1)의 유효 신호 발생기(6)에서 출력된 신호 AVL은 대기 신호 발생기(7)에서 수신되어 스테이지(3)로부터의 신호 WAIT에 따라 스테이지(2)로부터의 신호 WAIT로서 스테이지(1)에 복귀된다. 따라서 스테이지(2)에서 신호 WAIT를 발생하기 위해서는 스테이지(3)로부터의 신호를 수신해야 한다. 이를 위해서는 시간이 걸린다. 또 스테이지(3)로부터의 신호 WAIT가 수신된후 스테이지(2)로 부터 신호 WAIT가 스테이지(1)로 송출된다. 따라서 스테이지(2)에서 데이타를 수신할 수 있는지의 여부를 스테이지(1)에서 확정하기 위해서는 신호 AVL이 스테이지(1, 2)사이를 왕복하는 전파 시간 이상의 시간이 필요하다. 이 때문에 클럭을 빨리하는 것, 그리고 이것으로서 머신·사이클의 시간 기간을 단축할 수는 없었다.
반도체 기술의 진보에 따라 LSI의 칩 내부의 동작 속도는 계속 고속화되고 있다. 이것에 대하여 칩간의 신호 전달 속도는 상기와 같이 그다지 고속화가 안되고 있다. 이로인해 제1a도에 도시되는 기능 장치(10, 11)가 각각 독립이 LSI에 장착되고 있는 경우, 또는 그들의 LSI가 제각기 별도의 프린트 기판에 실장되는 경우에는 기능 장치(10, 11)상호간의 신호수에 필요한 시간이 머신·사이클의 시간 기간에 대하여 큰 비율을 점유하게 된다. 이 비율은 기능 장치(10, 11) 사이에 논리 회로 등의 회로 소자가 개재되고 있는 경우는 더한층 커진다. 또한 종래의 데이타 전송 방식으로는 수신측 기능 장치에 송신측 기능 장치로부터의 데이타의 수취가 불가능한지의 여부를 통지하기 위한 신호의 생성 조건이 특히 복잡하고, 또한 수신측 기능 장치의 출력측에 접속되는 다른 기능 장치의 상태도 포함된다. 이로인해 그 신호의 상태를 머신·사이클의 비교적 빠른 타이밍으로 확정할 수가 없다. 따라서 기능 장치 내부의동작 속도는 빨라져도 머신·사이클을 빠르게 하는 것은 곤란하고, 기능 장치 상호간의 데이타 전송 속도를 향상시킬 수는 없었다.
따라서 본 발명은 수신측 기능 장치에 있어서 송신측 기능 장치로부터의 데이타의 수취가 불가능한지의 여부를 머신·사이클의 비교적 빠른 타이밍에서 확정할 수 있고, 이로인해 기능 장치 상호간의 데이타 전송을 고속화 할 수 있는 동기식 전송 시스템을 제공하는 것을 목적으로 한다.
상기의 목적을 달성하기 위하여 제1과 제2의 기능 장치 사이에서 고속·동기식으로 데이타를 전송하는 시스템은 상기 제1과 제2의 기능 장치를 포함하며 상기 제1과 제2의 기능 장치는 다음과 같이 구성된다. 제1의 기능 장치는, 입력되는 마스터 클럭 신호에 동기해서 동작하는 수단으로서, 마스터 클럭은 머신·사이클을 규정하고, 현 머신·사이클의 개시점에서 데이타를 전송하는 것을 표시하는 데이타 송신 신호를 발생하여 상기 제2의 기능 장치의 출력하기 위한 송신 신호 송신 수단을 구비하고, 상기 제2의 기능 장치는, 입력되는 마스터 클럭 신호에 동기하여 동작하는 수단으로서, 상기 제2의 기능 장치의 내부 상태만으로 상기 머신·사이클에 있어서 데이타를 수신할 수 있는지의 여하를 표시하는 수신 상태 신호를 발생하여 상기 제1의 머신·사이클의 개시점에서 상기 수신 상태 신호를 상기 제1의 기능 장치에 송신하기 위한 상태 송신 수단을 구비한다.
또 상기 제1의 기능장치는 상기 현 머신·사이클에 있어서 상기 제2의 기능 장치가 데이타를 수신할 수 없는 사실을 표시하는 수신 상태 신호에 따라서 현 머신·사이클의 다음의 머신·사이클에 있어서도 상기 송신 수단으로 하여금 상기 제2의 기능 장치에 데이타 송신 신호를 계속 송신시키기 위한 수단과, 그 내부에서 생성된 데이타를 래치하고, 유지되어 있는 데이타를 상기 제2의 기능 장치에 송신하기 위한 송신 레지스터 수단과, 상기 현 머신·사이클에 있어서 상기 제2의 기능 장치가 데이타를 수신할 수 없는 사실을 표시하는 수신 상태 신호에 따라서 상기 현 머신·사이클에 있어서 상기 송신 레지스터 수단의 래치 동작을 금지하는 수단을 추가로 구비하고, 상기 제2의 기능 장치는 현 머신·사이클의 소정의 타이밍에서 상기 제1의 기능 장치로부터의 데이타를 수신하기 위한 제1의 레지스터 수단과, 상기 제1의 레지스터 수단에서 데이타를 선택적으로 수신하기 위한 제2의 레지스터 수단과, 제1레지스터 수단에 유효한 데이타가 유지되고 있음을 표시하기 위한 제1상태 유지 수단과, 상기 현 머신·사이클에 있어서 상기 제2의 기능 장치가 데이타를 수신할 수 없는 사실을 표시하는 수신 상태 신호에 따라서 현 머신·사이클에 있어서 상기 제1의 레지스터 수단의 수신을 금지시키기 위한 수단과, 상기 제2의 기능 장치가 데이타를 수신할 수 있음을 표시하는 상태 제어 신호에 따라 현 머신·사이클의 다음에 머신·사이클의 개시점에서 제1의 레지스터 수단으로부터 데이타를 수신하는 것을 상기 제2의 레지스터 수단에 허용하기 위한 수단과, 상기 제2의 기능 장치가 데이타를 수신할 수 없음을 표시하는 상태 제어 신호에 따라 다음의 머신·사이클에서 데이타를 상기 제2의 레지스터 수단이 수신하는 것을 금지시키기 위한 수단과, 상기 제2의 레지스터 수단이 데이타를 래치한 것을 표시하는 신호를 발생하기 위한 수단을 추가로 구비한다.
상기의 구성에 의하면 제1의 기능 장치(송신측 기능 장치)로부터의 송출데이타가 머신·사이클의 중간부분의 소정 타이밍에서 제2의 기능장치(수신측 기능 장치)의 제1레지스터 수단에 유지되는 동시에 송신측 기능 장치로부터의 특정 인터페이스 신호의 상태가 제1상태 유지 수단에 유지되고, 제1레지스터 수단에 유효한 데이타가 유지되고 있음을 표시한다. 이때 제1레지스터 수단에 유지되는 데이타를 제2레지스터 수단에서 수신이 허용되지 않는 상태에 있는 경우에는 머신·사이클의 종단의 타이밍에서 제1레지스터 수단은 래치 동작 금지 상태가 된다. 제2상태 유지 수단의 상태에 따라 데이타의 수취가 불가능한지의 여부가 다음의 머신·사이클에서 수신측 기능장치에 통지된다. 즉 수신측 기능 장치에서는 송신측 장치로부터의 수취가 불가능한지의 여부를 머신·사이클의 빠른 타이밍에서 확정할 수 있다. 따라서 각 기능 장치 내부의 동작 속도에 비해서 기능 장치 상호간의 신호 전달 속도(기능 장치의 인터페이스의 동작)가 대단히 늦은 경우에도 인터페이스를 한쪽 방향으로 신호가 전파하는 시간과 같은 정도 가까이 까지 클럭 속도 및 머신·사이클을 높일 수 있고, 전체의 고속화가 가능하다. 또 머신·사이클 n의 종단의 타이밍에서 금지 상태로 변하면 제1레지스터의 래치 동작이 금지되므로 다음의 머신·사이클(n+1)의 중간 부분의 상기 소정 타이밍을 경과해도 제1레지스터 수단의 내용은 갱신되지 않고, 유지되어 있는 데이타가 그대로 계속 유지된다. 즉 제1레지스터 수단은 클럭·스큐 대책에 기여되는 동시에 제2레지스터 수단에 데이타가 수취되는 것이 허용되지 않는 상태에서는 데이타 버퍼로서 기능한다.
본 발명의 목적을 달성하기 위하여 제1과 제2의 기능 장치 사이에서 고속·동기식으로 데이타를 전송하는 방법은 머신·사이클을 규정하는 마스터 클럭 신호에 동기해서 현 머신·사이클의 개시점에서 데이타를 전송하는 것을 표시하는 데이타 송신 신호를 발생하여 상기 제1의 기능 장치에서 상기 제2의 기능 장치에 출력하는 단계와, 상기 제2의 기능 장치에서 마스터 클럭 신호에 동기하여, 데이타 송신 신호와는 독립적으로 상기 현 머신·사이클에서 데이타의 송신이 가능한지를 표시하는 수신 상태 신호를 발생하고, 상기 제2의 머신·사이클의 개시점에서 상기 수신 상태 신호를 상기 제1기능 장치에 송신하는 단계를 포함한다.
이상 상세히 설명한 바와같이 본 발명에 따르면, 특히 수신측 기능 장치에 있어서, 송신측 기능 장치로부터의 데이타의 수취가 불가능한지의 여부를 송신측 기능 장치에 통지하기 위한 신호를 외부 입력과는 관계없이 그 수신측 기능장치의 내부 상태만으로 머신·사이클의 비교적 빠른 타이밍에서 확정할 수 있고, 기능 장치 사이를 한쪽 방향으로 신호가 전파하는 시간과 같은 정도까지 클럭 속도 및 머신·사이클을 빨리 할수 있으므로, 기능 장치 상호간의 데이타 전송을 고속화 할수 있다. 또 송신측 기능 장치로부터의 데이타를 수취하기 위한 레지스터를 2단 구성으로하여 전단의 레지스터를 머신·사이클의 중간부분의 소정 타이밍에서 스트로브되는 구성으로 했으므로 동 레지스터를 2단째의 레지스터기 데이타를 수취할 수 없을 경우의 데이타 버퍼로 할 수 있는 동시에 기능 장치 상호간의 클럭 스큐가 커져도 안정하게 동작할수 있게 된다.
이하에 첨부 도면을 참조하여 본 발명에 의한 고속 동기식 데이타 전송 시스템에 대하여 상세히 설명한다.
먼저, 제3도를 참조하여 본 발명에 의한 동기식 데이타 전송 시스템의 한 실시예의 구성을 설명한다. 제3도에 도시되는 실시예에 있어서 기능 장치(20, 21)는 CMOS 대규모 ASIC를 사용한 LSI칩으로 실현되고 있고, 데이타 전송로(22)를 개재하여 상호 접속되고 있다. 클록 CLK(25)는 기능 장치(20, 21)간의 내부 동작의 타이밍을 규정하는 동시에, 특히 데이타 전송의 동기를 취하기 위하여 기능 장치(20, 21)에 공급되고 있다. 기능 장치(20, 21)는 시스템 전체에서 실행될 처리를 각각 분담하고 있다.
송신측의 기능 장치(20)는 그것이 분담하는 처리의 결과를 표시하는, 예를들면 1바이트의 데이타를 어떤 머신·사이클에서 데이타 전송로(22)를 개재하여 수신측 기능 장치(21)에 병렬로 전송한다. 송신측 기능 장치(20)는 데이타의 송출과 동시에 인터페이스 신호로서의 전송 제어 신호(유효 신호 AVL)(23)를 발생하여 수신측 기능 장치(21)에 송신한다. 수신측 기능 장치(21)는 송출된 데이타를 해당 머신·사이클에서 수신할 수 있는지의 여부를 송신측 기능장치(20)에 통지하기 위한 인터페이스 신호로서 전송 제어신호(대기 신호 WAIT)(24)를, 신호 AVL(23)과는 독립적으로 발생하여 송신측 기능 장치(20)에 송신한다. 수신측 기능 장치(21)는 그것이 데이타를 수신할 수 있는 상태에 있을 때 송신측 기능 장치(20)로부터의 송신 데이타를 그 머신·사이클에서 수취하고, 그 다음의 머신·사이클에서 그것에 할당되고 있는 처리를 실행한다. 이 수신측 기능 장치(21)에는 할당되고 있는 처리의 결과를 다시 다음단의 기능장치(도시 생략)에 송출하는 기능을 적절히 형성할 수 있다.
수신측 기능 장치(21)내의 레지스터(26)는 송신측 기능 장치(20)로부터의 송출 데이타를 현 머신·사이클의 중간 부분의 소정의 타이밍, 예를들면 현 머신·사이클의 종단, 즉 다음 머신·사이클의 시초단의 타이밍보다 1/4머신·사이클앞의 타이밍에서 래치한다. 플립플롭(이하, F/F로 호칭함)(27)은 신호 AVL(23)을 레지스터(26)와 동일한 타이밍에서 래치하기위한, 예를들면 D형의 플립플롭이다. 레지스터(28)는 레지스터(26)에 유지되는 데이타를 현 머신·사이클의 종단의 타이밍에서 래치한다. D형의 F/F(29)에는 F/F(27)이 세트되어 있고, 또 레지스터(26)에 유지된 데이타가 레지스터(28)에 로드되는 것이 허용되지 아니한 상태에 있는 경우에 세트된다. 이 F/F(29)가 세트되고 있을 때 레지스터(26)에서 레지스터(26)에의 데이타 전송은 금지되고, 또, 액티브한, 즉 논리"1"의 신호 WAIT(24)가 생성된다.
제4도는 제3도에 도시된 송신측 기능 장치(20) 및 수신측 기능 장치(21)의 상세한 내부 구성을 도시한다. 또 제3도와 동일한 부분에는 동일부호를 부여한다.
제4도에 있어서 송신측 기능 장치(20)의 클럭 생성부(47)는 클럭(25)에 따라 타이밍을규정하는 스트로브 클럭 펄스 $M1와 $S1을 생성한다. AND게이트(45)에는 레지스터(32)를 클럭 인에이블로 하기 위한 신호(31)가 공급되고 있다. 게이트(45)의 출력은 레지스터(32)의 클럭 인에이블 단자 E에 출력된다. 송신측 기능 장치(20)가 출력 가능 상태에 있을 때, F/F(42)는 리세트 상태에 있고, 그 Q 출력 신호는 논리"0"이다. 이때 게이트(45)는 개방 상태를 이루고, 신호(31)를 레지스터(32)의 클럭 인에이블 단자 E에 출력한다. 신호(31)는 송신측 기능 장치(20) 내부에서 생성된 데이타가 유효하고, 또 송신측 기능 장치(20)가 출력 가능 상태에 있을 때, 액티브(논리 "1")이다. 레지스터(32)는 그 클럭 단자에 클럭 생성부(47)로부터 펄스 $M1를 받아 클럭 인에이블 단자 E에 논리 "1"의 신호가 공급될 때 펄스 $M1의 타이밍에 동기해서 송신측 기능 장치(20)의 내부에서 생성된 데이타를 통로(30)를 개재하여 래치한다. 이것으로 레지스터(32)에 래치된 데이타는 출력 드라이버 게이트(D1)를 개재하여 데이타 전송로(22)상에 출력된다. 게이트(45)의 출력은 또, OR 게이트(44)의 한쪽의 입력 단자에 공급된다. 다른쪽의 입력 단자에는 AND 게이트(43)의 출력 신호가 공급되고 있다. OR 게이트(44)의 출력 신호는 D형 F/F(46)의 D 입력 단자에 유도된다. F/F(46)의 클럭 입력 단자에는 클럭 생성부(47)로부터 펄스 $M1이 공급된다. 따라서 F/F(46)는 클럭 $M1의 타이밍에 동기하여, 즉 데이타가 레지스터(32)에 로드되는 타이밍과 동일한 타이밍에서 D 입력을 Q출력에 세트한다. 이 결과로 F/F(46)의 Q출력은 드라이버(D2)를 개재하여 신호 AVL로서 출력된다.
신신측 기능 장치(21)로부터의 신호 WAIT(24)는 F/F(42)의 입력 단자에 공급되고 있다. 신호 WAIT(24)는 상기의 펄스 $M1과 동일한 머신·사이클의 펄스$S1 타이밍에서 F/F(42)에 세트된다. F/F(42)의 Q 출력은 반전되어 게이트(45)에 입력된다. 게이트(45)는 F/F(42)의 Q 출력이 논리 "1"일 때 폐쇄상태가 되고, 신호(31)가 레지스터(32)의 클럭 인에이블 입력 단자 E에 전달되는 것을 금지한다. 이 결과 레지스터(32)에 새로운 데이타가 로드되는 동작이 억제되고, 현재의 머신·사이클에서 레지스터(32)에 유지되는 데이타가 다음의 머신·사이클에서 계속 유지된다. 따라서 데이타 전송로(22)상의 데이타는 변화되지 않는다. 즉 송신측 기능 장치(20)는 어떤 머신·사이클의 개시점에서 수신측 기능 장치(21)로부터 논리 "1"의 신호 WAIT(24)가 출력되었을 때 송출된 데이타가 수신측 기능 장치(21)에 수취될 수 없다고 판단하여 다음의 머신·사이클에서도 계속해서 그 동일 데이타를 송출한다.
또, F/F(42)의 Q 출력은 F/F(46)의 Q 출력과 함께 앤드 게이트(43)로도 유도된다. 앤드 게이트(43)의 출력 신호는 게이트(45)의 출력 신호와 함께 오어 게이트(44)에 유도된다. 오어 게이트(44)의 출력 신호는 F/F(46)의 D 입력 단자에 유도된다. 따라서 F/F(46)가 이미 세트되고, Q 출력 신호가 논리 "1"일 때, 또 F/F(42)의 Q 출력 신호가 논리 "1"이면 앤드 게이트(43)의 출력신호는 논리 "1"이 된다. 이 결과로 F/F(46)은 다음의 머신·사이클도 세트된 상태를 유지하므로, 논리 "1"의 신호 AVL(33)이 다음의 머신·사이클에서도 유지된다.
또, F/F(42)의 Q 출력은 송신측 기능 장치(20)내의 각종 레지스터의 클럭 인에이블 신호, 예를들면 신호(31)를 생성하는 로직 회로(도시 생략)의 입력 신호로서도 사용될 수 있다. 상기와 같이 F/F(42)의 Q 출력은 펄스 $S1의 타이밍에 동기하여 신호 WAIT에 따라서 경신된다. 따라서 본 실시예에서는 다음의 머신·사이클에 있어서의 펄스 $S1의 타이밍까지는 1/4 머신·사이클밖에 없다. 그러나 클럭 인에이블 신호계는 특별히 신호 전파를 짧게 설계하는 것이 일반적이기 때문에 문제는 없다.
수신측 기능 장치(21)내의 펄스 생성부(48)는 클럭 CLK(25)에 따라 타이밍을 규정하는 스트로브 클럭 펄스 $M2와 $S2를 생성한다. 펄스 $M2와 $S2는 클럭의 전파 때문에 펄스 $M1 및 $S1과 미묘하게 어긋나고 있다. 데이타 전송로(22)상의 데이타는 수신측 기능 장치(21)의 레지스터(26)의 입력에 유도된다. 레지스터(26)의 클럭 인에이블 입력 단자 E에는 F/F(29)의 Q 출력 신호가 인버터(41)에 의하여 반전되어 유도된다. 또 레지스터(26)의 펄스 단자에는 펄스 생성부(48)로부터 펄스 $S2가 공급된다. 따라서 F/F(29)가 리세트되고, 그 Q 출력 신호가 논리 "0"일 때 송신측 기능 장치(20)가 데이타 전송로(22)에 데이타를 송출한 머신·사이클과 동일한 머신·사이클의 펄스 $S2의 타이밍에서 데이타 전송로(22)상의 데이타가 레지스터(26)에 래치된다. 래치된 데이타는 레지스터(28)에 출력된다.
송신측 기능 장치(20)로부터의 신호 AVL(23)은 수신측 기능 장치(21)의 F/F(27)의 D 입력 단자에 유도된다. F/F(27)의 클럭 입력 단자에도 클럭 생성부(48)에서 펄스 $S2가 공급되고 있다. 따라서 신호 AVL(23)은 데이타가 레지스터(26)에 래치되는 타이밍과 동일한 타이밍에서 F/F(27)에 래치된다. 그 결과로 신호 AVL이 논리 "1"이면 F/F(27)는 세트된다. F/F(27)이 세트되므로써 레지스터(26)에 새로운 데이타가 래치된 것이 표시된다.
레지스터(26)에 유지되는 데이타는 레지스터(28)의 입력에 유도된다. 이 레지스터(28)의 클럭 인에이블 입력 단자 E에는 수신측 기능 장치(21)에 있어서 레지스터(26)에 유지되는 데이타를 레지스터(28)가 받을수 있는지와 여부를 표시하는 신호(35)가 공급된다. 레지스터(28)의 클럭 입력 단자에는 클럭 생성부(48)에서 펄스 $M2가 유도되고 있다. 따라서 레지스터(28)가 데이타를 수신할 수 있는 경우, 즉 신호(35)가 논리 "1"일 때 레지스터(26)에 유지되고 있는 데이타가 상기의 펄스 $S2가 속하는 머신·사이클의 다음의 머신·사이클의 펄스 $M2의 타이밍에서 레지스터(28)에 로드된다. 수신측 기능 장치(21)에 있어서 레지스터(28)가 레지스터(26)에서 새로운 데이타를 받을 수가 없는 경우에도 신호(35)는 논리 "0"이고, 레지스터(28)는 래지 동작이 금지된다. 이 결과 펄스 $M2의 타이밍을 경과하고, 즉 다음의 머신·사이클에 들어가도 레지스터(26, 28)에 유지되는 데이타는 변화되지 않고 그대로이다. 여기에서 레지스터(26, 28)간에 레지스터(26)로부터의 데이타에 대하여 데이타 처리를 하는 조합 회로로 구성되는 로직 회로를 필요에 따라 설치할 수도 있다. 그러나 펄스 $S2의 타이밍에서 다음의 머신·사이클의 펄스 $M2의 타이밍까지의 시간 간격은 머신·사이클 보다 짧아서, 이 예에서는 약 1/4 머신·사이클이므로 논리 단수를 짧게 할 필요가 있음은 당연하다.
F/F(27) 및 F/F(29)의 양 Q 출력 신호는 오어 게이트(37)에 유도된다. 이 오어 게이트(37)의 출력 신호는 신호(35)의 레벨 반전 신호와 함께 앤드 게이트(38)에 유도된다. 송신측 기능 장치(20)내의 F/F(42)의 출력과 동일한 목적으로 수신측 기능 장치(21)내에서 사용되는 것이 오어 게이트(37)의 출력 신호(40)이다. 이 신호(40)의 레지스터(28)에 로드되는 다음의 데이타가 레지스터(26)에 유지되고 있음을 표시한다. 앤드 게이트(38)의 출력 신호는 F/F(29)의 D 입력 단자에 유도된다. 따라서 신호(35)는 OR 게이트(37)의 출력 신호에 의하여 게이트된다. F/F(29)의 클럭 입력 단자에는 클럭 생성부(48)에서 펄스 $M2가 유도된다. 따라서 펄스 $M2의 타이밍에서 F/F(29)에 신호(35)가 세트된다. 그 Q 출력 신호가 이미 논리 "1"이고, 또 신호(35)가 논리 "0"일 때, F/F(29)의 D 입력 단자에 유도되는 앤드 게이트(38)의 출력 신호는 논리 "1"이 되고, 신호(35)는 F/F(29)에 펄스 $S2에 계속되는 다음의 머신·사이클의 펄스 $M2의 타이밍에서 세트된다. 즉 레지스터(26)에 로드되는 데이타를 레지스터(28)가 받을 수 없을 때, F/F(29)는 세트된다. F/F(29)가 세트되면 그 머신·사이클에서 F/F(29)로부터의 논리 "1"의 Q 출력 신호가 출력 드라이버(D3)를 개재하여 액티브한 신호 WAIT(24)로서 송신측 기능 장치(20)에 송출된다. 또 F/F(29)로부터의 논리"1"의 Q 출력 신호는 인버터(41)에 의하여 레벨 반전되어 레지스터(26)의 클럭 인에이블 입력 단자 E에 유도되고 있다. 이것에 의하여 레지스터(26)에의 새로운 데이타의 로드 동작이 억제되고, 현재 유지되는 데이타가 그대로 유지된다.
F/F(29)가 세트되어 있을 때 신호(35)가 논리 "1"이 되면, 즉 레지스터(26)에 유지되고있는 데이타를 레지스터(28)가 받을 수 있게 되면 F/F(29)의 D 입력이 논리 "0"으로 되고, 펄스 $M2의 타이밍에서 F/F(29)가 리세트된다. 동시에 레지스터(26)에 유지된 데이타가 레지스터(28)에 로드된다. F/F(29)가 리세트되면 레지스터(26)의 로드 동작 억제가 해제되어 송신측 기능 장치(20)에서 데이타 전송로(22)상으로 계속 송출되고 있는 데이타가 그 펄스 $M2와 동일한 머신·사이클의 펄스 $S22의 하강 타이밍에서 레지스터(26)에 로드된다. 또 F/F(29)가 펄스 $M2의 상승에 동기해서 리세트되면 그 머신·사이클에 있어서 신호 WAIT(24)가 논리 "0"으로 되고, 그 머신·사이클의 펄스 $S1의 타이밍에서 송신측 기능 장치(20)의 F/F(42)가 리세트된다. F/F(42)가 리세트되면 게이트(45)가 개방 상태를 이루고, 다음의 머신·사이클의 펄스 $M1의 타이밍에서 새로운 송출용 데이타가 레지스터(32)에 로드될 수 있게 된다.
다음에 제5a도∼제5g도를 참조하여 상기 실시예의 동작을 상세히 설명한다. 제5a도∼제5g도에서는 신호를 받는 쪽의 파형이 펄스 $M2, $S2를 기준으로하여 표시되어 있다.
우선, 송신측 기능 장치(20)에 있어서 머신·사이클 n의 앞의 머신·사이클에서 데이타 N이 생성되고, 송신측 기능 장치(20)가 송신이 가능한 상태에 있을때는 신호(31)가 액티브(논리 "1")가 된다. 이때 F/F(42)가 리세트된 것으로 하면, 게이트(45)가 개방 상태에 있으므로 신호(31)는 게이트(45)를 통해서 그대로 레지스터(32)의 클럭 인에이블 입력 E에 유도된다. 이 레지스터(32)의 클럭 입력에는 펄스 $M1이 공급되고 있다. 따라서 머신·사이클의 펄스 $M1의 타이밍에서 데이타 N이 버스(30)를 개재하여 레지스터(32)에 래치되고, 송신측 기능 장치(20)에서 데이타 전송로(22)를 개재하여 수신측 기능 장치(21)에 출력된다. 신호(31)는 또 오어 게이트(44)를 통해서 D형 F/F(46)의 D 입력으로 유도된다. 이 F/F(46)의 클럭 입력에는 펄스 $M1이 공급되고 있다. 따라서 F/F(46)는 데이타 N이 레지스터(32)에 로드되는 펄스 $M1의 타이밍에서 세트된다. 데이타 N이 데이타 전송로(22)상에 출력되는 동시에 데이타 N이 송출된 것을 표시하는 논리 "1"의 신호 AVL(23)이 드라이버(D2)를 개재하여 수신측 기능 장치(21)에 출력된다. 또 송신측 기능 장치(20)에 있어서는, 머신·사이클 n에서 데이타(N+1)가 생성된다. 수신측 기능 장치(21)가 데이타를 수신할 수 있을때에는 F/F(29)에서 논리 "0"의 신호 WAIT(24)가 송신측 기능 장치(20)에 출력되고, 머신·사이클 n의 펄스 $S1의 타이밍에서 스트로브 되고, F/F(42)는 리세트된다.
데이타 전송로(22)상의 데이타 N은 수신측 기능 장치(21)의 레지스터(26)의 입력에 유도되고, 신호 AVL(23)은 수신측 기능 장치(21)의 F/F(27)의 D 입력에 유도된다. 레지스터(26) 및 F/F(27)의 클럭 입력에는 클럭 생성부(48)로부터 펄스 $S2가 공급되고 있다. 레지스터(26)의 클럭 인에이블 입력 단자 E에는 F/F(29)의 Q 출력 신호가 인버터(41)에 의하여 반전되어 유도된다. F/F(29)가 리세트 상태에 있으면, 즉 신호 WAIT가 논리 "0"에 있으면 머신·사이클 n의 펄스 $S2의 타이밍에서, 즉 머신·사이클 n의 종단 타이밍보다 1/4 머신·사이클 빠른 타이밍에서 데이타 전송로(22)상의 데이타가 레지스터(26)에 래치된다. 동시에 논리 "1"의 신호 AVL(23)도 F/F(27)에 래치되고, F/F(27)는 세트된다. F/F(27)이 세트되면 레지스터(26)에 새로운 데이타가 유지된 것을 표시한다. 레지스터(26)에 유지되고 있는 데이타 N은 레지스터(28)의 입력에 유도된다. 머신·사이클(n+1)에서는, 수신측 기능 장치(21)의 레지스터(28)의 클럭 인에이블 입력 E에는 레지스터(26)에 유지되고 있는 데이타 N을 레지스터(28)가 받을 수 없는 상태에 있는지의 여부를 표시하는 신호(논리 "1"에 유의)(35)가 유도된다. 머신·사이클(n+1)에서 수신측 기능 장치(21)내의 레지스터(26)에 유지되고 있는 데이타 N이 레지스터(28)에서 받지 못할 경우에는 신호(35)는 논리 "0"이다. 이 경우 레지스터(28)의 클럭 인에이블 입력 E도 논리 "0"이 되므로 레지스터(28)의 래치 동작은 금지된다. OR 게이트(37)를 개재한 F/F(27)의 Q 출력으로 게이트된 신호(35)의 반전 신호는 머신·사이클(n+1)의 펄스 $M2의 타이밍에서 F/F(29)에 래치되고, F/F(29)는 세트된다.
F/F(29)가 세트되면 머신·사이클(n+1)에 있어서 F/F(29)로부터의 논리 "1"의 Q 출력 신호가 출력 드라이버(D3)를 통해서 액티브한 신호 WAIT(24)로서 송신측 기능 장치(20)에 송출된다. 또 F/F(29)로부터의 논리 "1"의 Q 출력 신호는 인버터(41)에 의하여 레벨 반전되어 레지스터(26)의 클럭 인에이블 입력 E에 유도되고 동 입력 E가 논리 "0"로 된다. 이것에 의하여 레지스터(26)의 로드 동작이 억제되고, 데이타 N이 머신·사이클(n+3)에서도 계속 유지된다.
송신측 기능 장치(20)에서는 머신·사이클(n+1)의 시작의 타이밍에서는 F/F(42)가 리세트되고 있으므로 상기와 동일한 방법으로 송신측 기능 장치(20)로부터 데이타(N+1)와 신호 VAL이 송신측 기능 장치(21)에 송신된다. 송신측 기능 장치(20)에 있어서는 신호 WAIT(24)가 F/F(42)의 D 입력에 유도된다. F/F(42)에는 펄스 $S1의 타이밍에서 래치된다. 따라서 수신측 기능 장치(21)로부터 논리 "1"의 신호 WAIT(24)가 송출된 경우에는 머신·사이클(n+1)의 펄스 $S1의 타이밍에서 F/F(42)가 세트된다. F/F(42)의 Q 출력 신호는 게이트(45)에 유도된다. 게이트(45)는 F/F(46)가 세트되어 그 Q 출력 신호가 논리 "1"이 되면 폐쇄 상태가 되고, 클럭 인에이블용의 신호(31)가 레지스터(32)의 클럭 인에이블 입력 단자 E에 전달되는 것이 금지된다. 그 결과 레지스터(32)는 새로운 데이타를 로드하는 동작이 억제되고, 데이타(N+1)가 머신·사이클(n+2)에서도 계속 유지되므로 데이타 전송로(22)상의 데이타는 변화되지 않는다. 즉 송신측 기능 장치(20)는 수신측 기능 장치(21)에서 논리 "1"의 신호 WAIT(24)가 출력되면 동일 머신·사이클에 있어서 송출된 데이타가 수신측 기능 장치(21)에 수취되지 않는 것으로 단정하여 다음의 머신·사이클에서도 동일 데이타를 계속 송출한다.
머신·사이클(n+1) 사이에 신호(35)가 논리 "1"이 되면, 즉 수신측 기능 장치(21)가 레지스터(26)의 유지 데이타를 레지스터(28)에서 받을 수 있는 상태가 되면 F/F(29)의 D 입력이 논리 "0"가 되고, 머신·사이클(n+2)의 펄스 $M2의 타이밍에서 F/F(29)가 리세트된다. 동시에 레지스터(26)의 유지 데이타가 레지스터(28)에 로드된다. 동시에 F/F(27)가 세트되어 레지스터(26)에 새로운 데이타가 로드된 것을 표시한다. F/F(29)가 리세트되면 레지스터(26)의 로드 동작 억제가 해제되고, 송신측 기능 장치(20)로부터 데이타 전송로(22)상에 계속해서 송출되고 있던 데이타(N+1)가 머신·사이클(n+1)의 펄스 $S2의 타이밍에서 레지스터(26)에 로드된다.
또, 송신측 기능 장치(20)에서는 F/F(29)가 리세트되면 머신·사이클(n+2)에 있어서 신호 WAIT(24)가 논리 "0"가 되고, 펄스 $S1의 타이밍에서 F/F(42)가 리세트된다. F/F(42)가 리세트되면 게이트(45)가 개방 상태가 되고, 머신·사이클(n+2)의 다음의 머신·사이클의 펄스 $S1의 타이밍에서 새로운 데이타의 레지스터(32)에의 로드가 가능해진다.
이상의 설명과 같이 레지스터(26)는 클럭·스큐 대책(잘 알려진 기술이므로 설명은 생략한다)에 기여한다. 즉 기능 장치(20, 21)간의 클럭·스큐가 상당히(본 예에서는 기준에 대하여 머신·사이클의 1/8 가까이) 커져도 안전하게 동작한다. 또 레지스터(26)는 레지스터(28)가 데이타를 받을 수 없는 상태에 있을 때 데이타 버퍼로서 작용한다. 이로인해 F/F(29)가 머신·사이클(n+1)의 펄스 $M2의 타이밍에서 세트되었을 경우는 이 F/F(29)의 출력에 따라 머신·사이클(n+1)에서 레지스터(26)에 유지되고 있는 데이타 N을 레지스터(28)가 받을 수 없다는 것, 따라서 머신·사이클(n+1)에서 데이타 전송로(22)에 송출되는 데이타(N+1)을 레지스터(26)가 받을 수 없음을 표시하기 위한 논리 "1"의 신호 WAIT(24)가 송신측 기능 장치(20)에 출력된다. 이 신호 WAIT(24)의 상태는 수신측 기능 장치(21)에 있어서는 머신·사이클(n+2)의 개시전에, 즉 머신·사이클(n+1)의 펄스 $S1의 타이밍에서 확정된다. 따라서 기능 장치(20, 21)의 내부의 동작 속도에 비해서 기능 장치(20, 21)간의 신호 전파 속도(기능 장치(20, 21)간의 인터페이스의 동작)가 대단히 늦은 경우에도 인터페이스를 한쪽 방향으로 신호가 전파하는 시간과 같은 정도까지(이 예에서는 전파 시간이 머신·사이클의 3/4 가까이를 점하게 될 때까지) 클럭 속도 및 머신·사이클을 빨리할 수가 있고, 전체를 고속화할 수 있다.
이상, 본 발명의 한 실시예를 설명했으나, 본 발명은 상기 실시예에 한정되는 것은 아니고, 이하의 설명과 같이 여러 가지로 변형예를 고려할 수 있다. 우선, 상기 실시예에서는 기능 장치(20)로부터 기능 장치(21)에 한쪽 방향으로 데이타를 전송할 경우에 대하여 설명했으나, 기능 장치(20, 21) 쌍방을 송신 및 수신의 양 기능을 가지는 동일한 회로 구성으로 하고, 데이타 전송로(22)를 양방향으로 데이타 전송이 가능하도록 구성하는 일도 공지 기술과 조합해서 실현이 가능하다.
또, 제4도에 있어서 레지스터(26)와 인버터(41)를 삭제한 구성을 생각할 수 있다. 이 경우에는 데이타를 버퍼할 수는 없으나, 신호 WAIT를 신호 AVL과는 관계없이, 그리고 다른 기능 장치가 기능 장치(21)에 후속하고 있어도, 그 기능 장치로부터의 신호 WAIT를 대기하지 않고 어떤 머신·사이클의 시작에도 신호 WAIT를 발생할 수 있다. 따라서 클럭을 빨리할 수가 있고, 데이타 전송의 속도를 향상시킬 수 있다.
또한, 제8도의 도시와 같이 송신할 기능 장치를 증가된 버스 형식의 데이타 전송로에 적용하는 것도 종래 기술과의 조합으로 가능하다. 예를들면 머신·사이클 n에서 데이타 전송과 병행하여 다음의 머신·사이클(n+1)의 데이타 전송권이 기능 장치(20-1, 20-2) 사이에서 쟁탈되고, 송신권을 얻은 기능 장치가 상기와 동일하게 데이타를 수신측 기능 장치(21-1, 21-2)에 송신한다. 예를들면 송신측 기능 장치(21-1)가 데이타를 기능 장치(21-1)에 송신할때는 기능 장치(21-2)로부터의 신호 WAIT가 아니고 기능 장치(21-1)로부터의 신호 WAIT에 따라 데이타 전송이 제어된다.
또 상기 실시예에서는 기능장치(20, 21)가 각각 CMOS 대규모 ASIC를 사용한 LSI칩으로서 설명했으나, GaAa LSI칩을 적용하는 것도 가능하다. 이 GaAa LSI칩은 고속성이 요구되는 분야에 이용되는 것으로, 이 칩을 기능 장치에 사용했을 경우에는 칩내의 동작 속도와 칩 밖의 신호 전파 속도와의 비가 대단히 크기 때문에 본 발명을 적용하는 효과는 극히 크다.
또한, 펄스 $S1 및 $S2의 타이밍은 머신·사이클의 종단에서 1/4머신·사이클앞으로 할 필요는 없고, 머신·사이클의 중간 부분의 소정의 타이밍으로 하면 된다. 어느 타이밍으로 하느냐는 기능 장치간의 신호 전파 속도, 장치 내부의 동작 속도 등을 기초로, 시스템 설계 및 기능장치 설계의 형편으로 적절히 결정하면 된다.
그밖에, 인터페이스 신호(데이타신호, 신호 AVL, 신호 WAIT 등)가 송출되는 레지스터(32), F/F(46, 29)와 출력 드라이버(D1∼D3)와의 사이에 소량의 로직회로를 넣을 수도 있다. 예를들면 레지스터(28)의 출력 데이타(34)는 적어도 1 머신·사이클 동안 유의하고 (신호(35)가 논리 "0"이 되므로써 후속 머신·사이클도 유의될 수 있다). 수신측 기능 장치(21)의 설계에 있어서, 「레지스터(28)의 출력 데이타(34)가 유의하다」를 표시하는 동기화된 신호가 필요한 경우이다. 그와 같은 경우에는, 예를들면 오어 게이트(37)의 출력 신호를 펄스 $W2의 타이밍에 동기화해서 사용하는 것이 고려된다. 그것을 위해서는 제4도에 도시되는 수신측 기능 장치(21)의 내부 구성의 일부를, 제6도의 도시와 같이 변경하면 된다. 제6도에서는 제4도와 동일 구성물에 대하여 동일 부호를 부여한다.
제6도에 있어서 D형의 플립플롭(F/F)(50)의 D입력단자에서 F/F(27)의 Q출력 신호 및 후기하는 앤드 게이트(54)의 출력신호가 입력되는 오어 게이트(37)의 출력신호가 유도된다. 또, 그 클럭 입력단자에는 펄스 $M2가 유도된다. 따라서 F/F(27)가 세트되면 그 논리 "1"의 Q출력신호가 오어게이트(37)를 개재하여 F/F(50)의 D입력 단자에 유도되므로서 F/F(50)은 펄스 $M2의 타이밍에서 세트된다. 이로인해 F/F(50)에서 논리 "1"의 Q출력 신호가 출력된다. 이 신호는 「레지스터(28)의 출력 데이타(34)가 유의하다」는 것을 표시하는 동기화된 신호(51)로서 기능 장치 내부에서 사용될 수 있다. 제6도의 구성에서는 레지스터(28)에 유지된 데이타(34)의 처리가 종료되고, 새로운 데이타를 레지스터(26)에서 레지스터(28)가 받을 수 있게 되었을 때 신호(35)는 논리 "1"이 된다. 인버터(52)에 의하여 반전된 신호(35)는 펄스 $M2의 타이밍에서 F/F(53)에 래치된다. 이 F/F(53) Q출력 신호는 F/F(50)의 Q 출력신호와 함께 앤드 게이트(54)에 유도된다. 이 앤드 게이트(54)의 출력 신호는 F/F(50, 53)의 양 Q출력 신호가 다같이 논리 "1"인 기간만 논리 "1"이 되므로 제4도의 F/F(29)의 Q출력신호와 같은 논리상의 의미를 가진다. 따라서 앤드게이트(54)의 출력신호를 제4도의 F/F(29)의 Q출력신호 대신 사용하므로써 신호 WAIT(24)의 송출 및 레지스터(26)의 클럭 인에이블 제어를 실시할 수 있다.
또, 제4도에 도시되는 실시예에서는 클럭 인에이블 입력 E부착의 레지스터(ASIC의 경우에는 클럭 인에이블 가능한 레지스터.마크로셀)를 적용했을 경우에 대하여 설명했으나 이와 같은 종류의 레지스터를 사용하지 않는 경우에는 타이밍 설계상의 문제 때문에 바람직하지는 못하나, 스트로브 클럭펄스 $M과 $S 대신에 클럭펄스와 동일한 펄스에 의하여 게이트하는 방식을 적용하므로서 대처할 수 있다. 즉 펄스 $S로부터 펄스 $M로부터 펄스 $M까지의 사이가 논리 "0"이 되는 제5a도의 도시와 같은 부(負)펄스의 열로 이루어지는 펄스를 사용하고, 그 펄스의 상승 또는 하강을 펄스 $M과 $S의 타이밍으로 사용하는 게이티드·클럭 설계법의 적용도 가능하다. 이 경우 제4도의 예와 동일하게 머신·사이클의 2배의 주파수의 클럭이 각 기능 장치에 공통으로 입력되는 방식을 취하면 인터페이스 신호(데이타 전송로(22)상의 데이타 신호, 신호 AVL23, 신호 WATT24)를 최초로 받는 레지스터(26), F/F(27), F/F(42)의 스트로브 타이밍은 제7a도 내지 I의 타이밍 차트에 표시하는 것과 같은 머신·사이클의 중앙으로 하는 것이 가장 적합하다. 또, 펄스 $S1 및 $S2의 클럭이 머신·사이클의 중앙에 시프트하는 것만으로 기본적 동작은 제4도 및 제5a도∼제5g도에 도시되는 그것과 동일하다.
또, 본 발명은 제9도의 도시와 같이 제4도에 도시되는 실시예에 있어서의 송신측 기능장치(20)의 송신 기능과 수신측 기능장치(21)의 수신기능을 가지는 기능장치(60, 61, 62,…)를 다단으로 접속해서 파이프라인 방식의 데이타 전송을 하는 시승템에도 응용이 가능하다. 이 시스템에서는 각 기능장치(60, 61, 62,…)의 수신측에 데이타 버퍼(제3도 및 제4도에 도시하는 레지스터 26)가 설치되므로, 예를들면 기능 장치(62)가 데이타를 받을 수 없는 경우에도 기능장치(61)와 기능 장치(60) 사이에서만 인터페이스 신호의 송수신으로 데이타 전송을 할 수 있고, 1머신·사이클 동안에 3단 이상의 기능장치에 걸쳐서 전파할 신호는 존재하지 않는다. 따라서 시스템·클럭을 기능장치가 적을 경우와 동일하게 고속화할 수 있다.

Claims (22)

  1. 제1과 제2의 기능 장치 사이에서 고속 동기식으로 데이타를 전송하는 시스템에 있어서, 상기 제1의 기능장치(20)가, 입력되는 마스터 클럭신호에 동기하여 동작하는 수단으로서, 마스터 클럭은 머신·사이클을 규정하고, 현 머신·사이클의 개시점에서 데이타를 전송하는 것을 표시하는 데이타 송신신호를 발생하여, 상기 제2의 기능장치(21)에 출력하기 위한 송신신호 송신수단(46)을 포함하고, 상기 제2의 기능장치(21)가, 입력되는 마스터 클럭신호에 동기하여 동작하는 수단으로서, 상기 제2의 기능장치(21)의 내부 상태만으로 상기 현 머신·사이클에 있어서 데이타를 수신할 수 있는지의 여부를 표시하는 수신상태 신호를 발생하여, 상기 제1의 머신·사이클의 개시점에서 상기 수신 상태신호를 상기 제1의 기능장치(20)에 송신 하기 위한 상태 신호 송신수단(29)을 포함하는 것을 특징으로 하는 시스템.
  2. 제1항에 있어서, 상기 제1의 기능장치는, 상기 현 머신·사이클에서 상기 제2의 기능 장치(21)가 데이타를 수신할 수 없는 것을 표시하는 수신 상태 신호에 따라서, 현 머신·사이클의 다음의 머신·사이클에서도, 상기 송신수단(46)으로 하여금 상기 제2의 기능장치(21)에 데이타 송신신호를 계속 송신하게하기 위한 수단(42, 43, 44)을 추가로 포함하는 것을 특징으로 하는 시스템.
  3. 제2항에 있어서, 상기 제1의 기능장치(20)가, 그 내부에서 생성된 데이타를 래치하고, 유지되고 있는 데이타를 상기 제2의 기능장치(21)에 송신하기 위한 송신레지스터 수단(32)과, 상기 현 머신·사이클에 있어서 상기 제2의 기능장치(21)가 데이타를 수신할 수 없는 것을 표시하는 수신 상태신호에 따라서 상기 현 머신·사이클에 있어서 상기 송신 레지스터 수단(32)의 래치동작을 금지시키는 수단(45)을 추가로 포함 하는 것을 특징으로 하는 시스템.
  4. 제1항에 있어서, 상기 제2의 기능장치(21)가 현 머신·사이클의 소정의 타이밍에서 상기 제1의 기능장치(20)로부터 데이타를 수신하기 위한 제1의 레지스터 수단(26)을 추가로 포함하는 것을 특징으로 하는 시스템.
  5. 제4항에 있어서, 상기 제2기능장치(21)는, 상기 현 머신·사이클에서 상기 제2의 기능장치(21)가 데이타를 수신할 수 없는 것을 표시하는 수신 상태 신호에 따라, 현 머신·사이클에서 상기 제1의 레지스터 수단(26)의 수신을 금지시키기 위한 수단(41)을 추가로 포함하는 것을 특징으로 하는 시스템.
  6. 제5항에 있어서, 상기 제2의 기능장치(21)는, 상기 제1의 레지스터 수단(26)으로부터 데이타를 선택적으로 수신하기 위한 제2의 레지스터 수단(28)과, 상기 제2의 레지스터 수단(28)이 데이타를 수신할 수 있음을 표시하는 상태 제어신호에 따라, 현 머신·사이클의 다음 머신·사이클의 개시점에서 상기 제1의 레지스터 수단(26)으로부터 데이타를 수신하는 것을 상기 제2의 레지스터 수단(28)에 허용하기 위한 수단(48)을 추가로 포함하는 것을 특징으로 하는 시즈템.
  7. 제6항에 있어서, 상기 제2의 기능장치(21)는, 상기 제2의 레지스터 수단(28)이 데이타를 수신할 수 없음을 표시하는 상태 제어신호에 따라 다음의 머신·사이클에서 데이타를 상기 제2의 레지스터 수단(28)이 수신하는 것을 금지시키기 위한 수단(48)을 추가로 포함하는 것을 특징으로 하는 시스템.
  8. 제6항에 있어서, 상기 제2의 기능장치(21)는, 상기 제2의 레지스터 수단(28)이 데이타를 래치한 것을 표시하는 신호를 발생하기 위한 수단(50)을 추가로 포함하는 것을 특징으로 하는 시스템.
  9. 제1과 제2의 기능 장치간에서 고속 동기식으로 데이타를 전송하는 방법에 있어서, 머신·사이클을 규정하는 마스터 클럭신호에 동기해서, 현 머신·사이클의 개시점에서 데이타를 전송하는 것을 표시하는 데이타 송신신호를 발생하여 상기 제1의 기능장치로부터 상기 제2의 기능장치에 출력하는 단계와, 상기 제2의 기능장치에서 마스터 클럭신호에 동기해서 데이타 송신신호와는 독립적으로 상기 현 머신·사이클에서 데이타를 수신할 수 있는지의 여부를 표시하는 수신상태신호를 발생하여 상기 제1의 머신·사이클의 개시점에서 상기 수신상태신호를 상기 제1의 기능장치에 송신하는 단계를 포함하는 것을 특징으로 하는 방법.
  10. 제9항에 있어서, 상기 현 머신·사이클에서 상기 제1의 기능장치가 데이타를 수신할 수 없는 것을 표시하는 수신 상태신호에 따라 현 머신·사이클의 다음의 머신·사이클에서도 상기 제2의 기능장치에 데이타 송신신호를 계속 송신하는 단계를 추가로 포함하는 것을 특징으로 하는 방법.
  11. 제10항에 있어서, 그 내부에서 생성된 데이타를 래치하여, 유지된 데이타를 상기 제2의 기능장치에 송신하는 단계와, 상기 현 머신·사이클에서 상기 제2의 기능장치가 데이타를 수신할 수 없는 것을 나타내는 수신 상태신호에 따라 상기 현 머신·사이클에서 새로운 데이타의 래치 동작을 금지하는 단계를 추가로 포함하는 것을 특징으로 하는 방법.
  12. 제9항에 있어서, 현 머신·사이클의 소정의 타이밍에서 상기 제1의 기능 장치로부터의 데이타를 제1의 레지스터에서 수신하는 단계를 추가로 포함하는 것을 특징으로 하는 방법.
  13. 제12항에 있어서, 상기 현 머신·사이클에서, 상기 제2의 기능 장치가 데이타를 수신할 수 없음을 표시하는 수신 상태 신호에 따라 현 머신·사이클에서 제 1의 레지스터의 데이타의 수신을 금지시키는 단계를 추가로 포함하는 것을 특징으로 하는 방법.
  14. 제13항에 있어서, 상기 제2의 기능장치가 데이타를 수신할 수 있음을 표시하는 상태 제어신호에 따라 현 머신·사이클의 다음의 머신·사이클의 개시점에서, 제1의 레지스터에 수신된 데이타를 수신하는 것을 제2의 레지스터에 허가하는 단계를 추가로 포함하는 것을 특징으로 하는 방법.
  15. 제14항에 있어서, 상기 제2의 기능장치가 데이타를 수신할 수 없음을 표시하는 상태 제어신호에 따라 다음의 머신·사이클에서 데이타를 제2의 레지스터가 제1의 레지스터로부터 수신하는 것을 금지하는 단계를 추가로 포함하는 것을 특징으로 하는 방법.
  16. 제14항에 있어서, 상기 제2의 레지스터가 데이타를 래치한 것을 표시하는 신호를 발생하는 단계를 추가로 포함하는 것을 특징으로 하는 방법.
  17. 공통의 클럭에 의해 동기화된 송신측 기능 장치로부터 수신측 기능장치에 데이타를 고속으로 송신하기 위한 시스템에 있어서, 상기 송신측 기능장치로부터의 데이타를 머신·사이클의 중간 부분의 소정타이밍에서 유지하기 위한 상기 수신측 기능 장치내의 제1레지스터 수단과; 상기 제1레지스터 수단에 유지된 데이타를 상기 머신·사이클의 종단의 타이밍에서 래치하기 위한 상기 수신측 기능 장치내의 제2의 레지스 터 수단과; 상기 송신측 기능 장치로부터 데이타가 송출된 것을 표시하기 위하여 상기 송신측 기능 장치에서 출력되는 특정의 인터페이스 신호를 상기 제1레지스터 수단과 동일한 타이밍에서 유지하고, 상기 제1레지스터 수단에 유효한 데이타가 유지되고 있는지의 여부를 표시하기 위한 상기 수신측 기능장치내의 제1상태 유지 수단을 포함하는 것을 특징으로 하는 시스템.
  18. 제17항에 있어서, 상기 제1상태 유지수단에 의하여 상기 제1레지스터 수단에 유효한 데이타가 유지되고 있음을 표시하고, 상기 제1레지스터 수단에 유지되고 있는 데이타를 상기 제2레지스터 수단에 로드 하는 것이 허용되지 아니할 경우에 상기 제1레지스터 수단의 새로운 데이타의 유지 동작을 금지하기 위한 금지 상태로 상기 머신·사이클의 종단의 타이밍에서 변화하고, 상기 송신측 기능 장치로부터의 데이타를 받 을 수 있는지의 여부를 그 자신의 상태에 따라 상기 송신측 기능 장치에 통지하기 위한 상기 수신측 기능장치내의 제2상태 유지수단을 추가로 포함하는 것을 특징으로 하는 시스템.
  19. 제18항에 있어서, 상기 제2상태유지수단이, 상기 제1레지스터 수단의 유지 데이타를 상기 제2레지스터 수단에 로드하는 것이 허용될 경우, 상기 머신·사이클의 종단의 타이밍까지 금지 상태를 유지하는 수단을 포함하는 것을 특징으로 하는 시스템.
  20. 제17항에 있어서, 상기 제1상태 유지수단에 의하여 상기 제1레지스터수단에 유효한 데이타가 유지되고 있음이 표시되었을때, 상기 제2의 레지스터 수단에 데이타가 유지되어 있지 않음을 표시하는 허가 상태로 상기 머신·사이클의 종단의 타이밍에서 변화하는 제2상태유지수단과, 상기 제1레지스터 수단에 유지되고 있는 데이타를 상기 제2레지스터 수단에 로드하는 것이 허용되는지의 여부를 표시하는 신호의 상태를 상기 머신·사이클의 종단의 타이밍에서 유지하고, 상기 제1레지스터 수단에 유지되고 있는 데이타를 상기 제2레지스터 수단에 로드하는 것이 허용되는지의 여부를 표시하는 신호의 상태를 상기 머신·사이클의 종단의 타이밍에서 유지하고, 상기 제1레지스터 수단에 유지되고 있는 데이타를 상기 제2레지스터 수단에 로드하는 것이 허용되는지의 여부를 표시하기 위한 제3상태 유지수단과. 상기 제3상태 유지수단에 의하여 상기 제1레지스터 수단에 유지되고 있는 데이타를 상기 제2레지스터 수단에 로드하는 것이 허용되지 않음을 표시하고, 상기 제2상태 유지수단이 금지상태를 유지하고 있는지의 여부를 검출하며, 상기 제1레지스터 수단의 상태 변화를 금지하고, 상기 송신측 기능장치로부터 상기 데이타를 받을 수 있는지의 여부를 상기 검출결과에 따라 상기 송신측 기능장치에 통지하기 위한 상태 검출수단을 추가로 포함하는 것을 특징으로 하는 시스템.
  21. 제20항에 있어서, 상기 제2상태 유지수단은, 상기 제3상태 유지 수단에 의하여 상기 제1레지스터 수단의 유지 데이타를 상기 제2레지스터 수단에 로드하는 것이 허용되는 것이 표시될 경우, 상기 머신·사이클의 중간의 타이밍까지 상기 금지 상태를 유지하기 위한 수단인 것을 특징으로 하는 시스템.
  22. 제21항에 있어서, 상기 송신측 기능장치가, 상기 송신측 기능장치로부터 상기 데이타를 받을 수 없다는 것을 상기 수신측 기능장치로부터 통지 받았을 경우, 동일한 상기 데이타 및 동일상태의 상기 특정 인터페이스신호의 송출을 계속하기 위한 수단을 포함하는 것을 특징으로 하는 시스템.
KR1019890007231A 1988-05-31 1989-05-30 고속동기식 데이타 전송 시스템 및 그 전송방법 KR930001589B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP63131515A JPH01302459A (ja) 1988-05-31 1988-05-31 高速同期式データ転送方式
JP131515 1988-05-31

Publications (2)

Publication Number Publication Date
KR890017616A KR890017616A (ko) 1989-12-16
KR930001589B1 true KR930001589B1 (ko) 1993-03-05

Family

ID=15059846

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019890007231A KR930001589B1 (ko) 1988-05-31 1989-05-30 고속동기식 데이타 전송 시스템 및 그 전송방법

Country Status (3)

Country Link
EP (1) EP0344736A3 (ko)
JP (1) JPH01302459A (ko)
KR (1) KR930001589B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5392422A (en) * 1992-06-26 1995-02-21 Sun Microsystems, Inc. Source synchronized metastable free bus
EP0590212A1 (en) * 1992-09-30 1994-04-06 International Business Machines Corporation Synchronization apparatus for a synchronous data communication system
US5442658A (en) * 1993-09-07 1995-08-15 International Business Machines Corporation Synchronization apparatus for a synchronous data processing system
US6304125B1 (en) * 1998-09-04 2001-10-16 Sun Microsystems, Inc. Method for generating and distribution of polyphase clock signals

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4112490A (en) * 1976-11-24 1978-09-05 Intel Corporation Data transfer control apparatus and method
US4476527A (en) * 1981-12-10 1984-10-09 Data General Corporation Synchronous data bus with automatically variable data rate
EP0262429B1 (en) * 1986-09-01 1995-11-22 Nec Corporation Data processor having a high speed data transfer function
DE3854181T2 (de) * 1987-04-28 1995-11-30 Fujitsu Ten Ltd System zur datenübertragung.

Also Published As

Publication number Publication date
JPH01302459A (ja) 1989-12-06
EP0344736A3 (en) 1991-07-24
EP0344736A2 (en) 1989-12-06
KR890017616A (ko) 1989-12-16

Similar Documents

Publication Publication Date Title
US5600824A (en) Clock generating means for generating bus clock and chip clock synchronously having frequency ratio of N-1/N responsive to synchronization signal for inhibiting data transfer
KR101089153B1 (ko) 상이한 클록 도메인 간에서의 데이터 신호 전송 방법 및 집적 회로
US5764710A (en) Meta-stable-resistant front-end to a synchronizer with asynchronous clear and asynchronous second-stage clock selector
EP2026493A1 (en) Method and systems for mesochronous communications in multiple clock domains and corresponding computer program product
JPH07167921A (ja) バウンダリスキャンセル装置とバウンダリスキャンテスト方法
KR20130139770A (ko) 진단 데이터 경로 상에서의 홀드 시간을 증가시키기 위한 소자들을 갖는 순차 래칭장치
JPS62109337A (ja) テスト/マスタ−/スレ−ブ・トリプルラツチフリツプフロツプ
KR900014970A (ko) 동기 회로
KR20030064376A (ko) 클럭이 전송되는 i/o 시스템을 위한 효율적인 클럭 시작및 정지 장치
EP1901474A1 (en) System for synchronizing modules in an integrated circuit in mesochronous clock domains
KR930001589B1 (ko) 고속동기식 데이타 전송 시스템 및 그 전송방법
US6711089B2 (en) Method and apparatus for performing signal synchronization
KR950012058B1 (ko) 레지스터 제어 회로
KR20040073538A (ko) 디지털 전자 회로 및 시스템 구성 요소
US5726595A (en) Circuit for coupling an event indication signal across asynchronous time domains
US4554466A (en) Edge-triggered latch circuit conforming to LSSD rules
US5282210A (en) Time-division-multiplexed data transmission system
US6381719B1 (en) System and method for reducing clock skew sensitivity of a shift register
US6150861A (en) Flip-flop
US4962474A (en) LSSD edge detection logic for asynchronous data interface
US6255869B1 (en) Method and apparatus for system resource negotiation
CN113168205B (zh) 用于低功率设计的用于基于事务的传输时钟门控的装置
KR100241765B1 (ko) Atm방식의 통신에서 고유번호 생성장치
KR0146531B1 (ko) 반도체 메모리장치
KR950006826Y1 (ko) 직렬 데이타 전송회로

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 19960226

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee