[go: up one dir, main page]

KR100304036B1 - 데이타동기시스템및방법 - Google Patents

데이타동기시스템및방법 Download PDF

Info

Publication number
KR100304036B1
KR100304036B1 KR1019940022059A KR19940022059A KR100304036B1 KR 100304036 B1 KR100304036 B1 KR 100304036B1 KR 1019940022059 A KR1019940022059 A KR 1019940022059A KR 19940022059 A KR19940022059 A KR 19940022059A KR 100304036 B1 KR100304036 B1 KR 100304036B1
Authority
KR
South Korea
Prior art keywords
signal
data
control signal
period
ratio
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1019940022059A
Other languages
English (en)
Other versions
KR950009450A (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 KR950009450A publication Critical patent/KR950009450A/ko
Application granted granted Critical
Publication of KR100304036B1 publication Critical patent/KR100304036B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • 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/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4217Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Abstract

제 1 및 제 2 장치와 함께 사용되는 데이타 동기 시스템(12)은 제어 회로(34), 제 1 회로(36,38,40,42 및44) 및 제 2 회로를 갖는다. 제어 회로는 제 1 및 제 2 제어 신호를 발생한다. 두 제어 신호의 논리 상태는 상기 두 장치의 클록 주파수의 비율에 의존한다. 제 1 회로는 제 1 장치로부터 제 1 데이타 신호를 수신하고, 제 1 제어 신호의 논리 상태에 의존하는 제 2 장치에 대한 제 1 출력 신호를 발생한다. 반대로, 제 2 회로는 제 2 장치로부터 제 2 데이타 신호를 수신하고, 제 2 제어 신호의 논리 상태에 의존하는 제 1 장치에 대한 제 2 출력 신호를 발생한다. 동기 시스템은 데이타 처리기 및 버스가 다른 클록 주파수에서 동작하는 데이타 처리 시스템으로 통합될 수 있다.

Description

데이타 동기 시스템 및 방법(System for data synchronization and method therefor)
제 1 도는 본 발명에 따라 구성된 데이타 처리기의 블록도.
제 2 도는 제 1 구성에 따른 본 발명을 실행하는데 동작가능한 1 세트 제어 신호의 타이밍도.
제 3 도는 제 2 구성에 따른 본 발명을 실행하는데 동작가능한 1 세트 제어 신호의 타이밍도.
제 4 도는 제 1 도에 도시된 버스 인터페이스 유닛 블록의 부분적인 흐름도.
제 5 도 및 제 6 도는 제 4 도에 도시된 동기 상태 머신의 동작을 예시하는 2-상태-변화도.
* 도면의 주요부분에 대한 부호의 설명
10 : 데이타 처리기
12 : 데이타 동기 시스템(버스 인터페이스 유닛)
14 : 명령 캐시 16 : 데이타 캐시
34 : 제어 회로(동기 상태 머신)
40 : 마스터-슬레이브 래치
[발명의 분야]
본 발명은 일반적으로 데이타 처리 시스템에 관한 것으로 특히, 데이타 처리 시스템에 사용되는 데이타 동기화 방법론에 관한 것이다.
[발명의 배경]
많은 데이타 처리 시스템은 다른 클록 주파수로 동작하는 부시스템과 함께 설계된다. 이런 방법은 남아 있는 부시스템에 관련한 선택 부시스템의 동작 속도를 증가시킴으로써 전체적인 처리 시스템 효율을 증가시킬 수 있다. 통상적으로, 이같은 부시스템의 빠른 동작은 시스템의 전반적인 동작에 대해 임계적이거나 속도 증가에 비해 비교적 비용이 적게 든다. 설계 방법의 일례로 결합된 버스의 클록 주파수를 여러번 클록 주파수에서 작동하는 단일 VLSI(Very Large Scale Integrated ; 초대규모 집적회로)의 데이타 처리기를 갖는 데이타 처리 시스템을 들 수 있다. 이 경우, 데이타 처리 시스템에 있는 다른 모든 부시스템은 낮은 버스 클록 속도로 동작한다. 일반적으로, 두개의 클록 주파수의 비율은 두 정수비 2:1, 3:2, 4:1 등으로 표현될 수 있다. 이런 비율의 범위는 내부 시스템 통신을 동기화하도록 두 클록 신호가 빈번한 위상 정렬을 갖는다는 실제적인 요구사항을 반영하고 있다. 위상 정렬이 더욱 빈번할수록 빠른 데이타 처리기 및 느린 버스간의 데이타를 전달할 기회가 더욱 많아진다.
결합된 버스와 다른 클록 주파수에서 동작하는 데이타 처리기를 갖는 데이타 처리 시스템은 데이타 처리기 및 버스간의 데이타 전달을 동기화시켜야 한다. 예를 들면, 2:1 처리기-버스 시스템에서, 데이타 처리기가 1 개 처리기 클록 사이클동안 신호를 결정하기만 한다면 버스 신호의 적정 위상동안 출력 신호를 인가하지 않는 경우가 될 수 있다. 반대로, 버스는 두개의 처리기 클록 사이클 동안 데이타 처리기에 입력 신호를 인가할 수 있다. 이런 두가지 내용들로 신빙성 없는 데이타 전달의 결과를 낳는다. 첫째 경우에 있어서, 데이타는 데이타 처리기로부터 버스로 전혀 전달될 수 없다. 둘째 경우에 있어서, 버스는 동일한 데이타를 데이타 처리기에 두번 전달할 것이다.
공지된 동기화 방법에는 한계성이 있다. 일반적으로, 데이타 전달 방법은 비동기적이거나 동기적인 것으로 설명될 수 있다. 이들 각각의 방법은 다른 동기화 문제점을 갖는다.
비동기적인 경우에 있어서, 최소 신호 유지 시간과 다른 두개의 통신 부시스템간에 필요한 시간은 없다. 공지된 하나의 해결책에 있어서, 느린 출력 신호는 일련의 순차 래칭 소자를 통하여 빠른 입력 장치에 의해 샘플된다. 더 빠른 입력 장치의 클록킹 신호는 각각의 래칭 소자를 클록한다. 각각의 연속적인 래칭 소자는 준 안정상태(metastable state)가 더 느린 장치에서 더 빠른 장치로 넘어갈 것이다. 불리하게, 각각의 부가적인 래치는 부가적인 고속 클록 사이클에 의해 부시스템에서 부시스템으로의 전달 시간을 증가시킨다.
동기적인 경우에 있어서, 두개의 통신 부시스템간에 요구되는 시간이 있다. 특히, 신호는 수신 장치의 클록 신호의 특정 위상동안 인가되어야 한다. 공지된 두번째 해결책에 있어서, 단일 래칭 소자-멀티플렉서 회로는 다른 클록 주파수에서 동작하는 두개의 부시스템을 연결한다. 래칭 소자는 각각의 빠른 클록 사이클에 부합하는 멀티플렉서의 출력을 샘플한다. 멀티플렉서치 출력이 제어 신호에 의해 선택됨으로써 수신 부시스틸의 타이밍 억제에 따라 각각의 입력 신호를 통과시킨다. 이 해결책은 두개의 클록 주파수의 비율이 정수인 데에서만 적당하다. 부가적으로, 특별한 해결책은 통상적으로 하나의 처리기 대 버스 클럭 비에 대해서만 유용하다.
[발명의 개요]
본 발명에 관하여, 종래의 동기화 시스템의 단점을 거의 배제하는 다른 클록 주파수에서 동작하는 두 장치간의 데이타 통신을 동기화 하는 데이타 동기 시스템이 서술되어 있다. 제 1 및 제 2 장치와 함께 사용되는 데이타 동기 시스템은 제어 회로, 제 1 회로 및 제 2 회로를 구비한다. 제어 회로는 제 1 회로 및 제 2 제어 신호를 발생한다. 제 1및 제 3제어 신호는 주기에 의해 특정화된다. 그 주기는 정수(N)의 제 1 장치의 주파수 및 정수 N의 쿼션트(quotient)와 동일하며, 여기에서 제 1 및 제 2 장치의 클록 주파수의 비는 가장 간단한 식으로 N : M 으로 표현될 수 있다. 제 1제어 신호는 제 1혹은 제 2논리 상태를 갖는다. 제 1제어 신호는 주기의 제 1 부분(fractional portion) 동안의 제 1 논리 상태 및 주기의 제 2 부분 동안의 제 2 논리 상태에 대응한다. 제 2 부분은 제 1 부분에 이어서 계속된다. 주기의 제 1부분은 (N-1) : N의 비율과 같다. 주기의 제 2부분은 1 : N 의 비율과 같다. 제 2 제어 신호는 제 3 또는 제 4 논리 상태를 갖는다. 제 2 제어 신호는 주기의 제 3 부분 동안의 제 3 논리 상태 및 주기의 제 4 부분동안의 제 4 논리 상태에 대응한다. 제 4 부분은 제 3 부분에 이어서 계속된다. 제 3 부분은 1 : N 의 비율과 같고, 제 4 부분은 (N-1) : N 의 비율과 같다. 제 1 회로는 제 1 장치로부터 제 1 데이타 신호를 수신하고, 제 2 논리 상태시 제 2 장치에 대한 제 1 출력 신호를 발생시킨다. 반대초, 제 2 회로는 제 2 장치로부터 제 2 데이타 신호를 수신하고, 제 2 제어 신호의 제 3 논리 상태시 제 1 장치에 대한 제 2 출력 신호를 발생시킨다.
게다가, 데이타 처리기 및 버스간의 데이타 전달을 동기화 하는 방법에는 제 1 제어 신호를 발생하는 단계, 제 2 제어 신호를 발생하는 단계, 제 1 데이타 신호를 발생하는 단계, 제 1 데이타 신호를 버스에 출력하는 단계, 버스로부터 제 2 데이타 신호를 수신하는 단계 및 데이타 처리기에 제 1 데이타 신호를 입력하는 단계가 있다. 제 1 및 제 2 제어 신호를 발생하는 단계에는 주기에 대한 특징이 각각 있는 제 1및 제 2제어 신호를 발생시킨다. 그 주기는 데이타 처리기의 주파수 및 정수 N의 쿼션트와 같으며, 여기에서 데이타 처리기 및 버스의 클록 주파수 비율은 가장 간단한 식으로 N : M 으로 표현될 수 있다. 제 1 제어 신호는 제 1 혹은 제 2 논리 상태를 갖는다. 제 1 제어 신호는 주기의 제 1 부분 동안의 제 1 논리 상태 및 주기의 제 2 부분 동안의 제 2 논리 상태에 대응한다. 제 2 부분은 제 1 부분에 이어 계속된다. 주기의 제 1 부분은 (N-1) : N 의 비율과 같다. 주기의 제 2 부분은 1 : N 의 비율과 같다. 제 2 제어 신호는 제 3 혹은 제 4 논리 상태를 갖는다. 제 2 제어 신호는 주기의 제 3 부분 동안의 제 3 논리 상태 및 주기의 제 4 부분동안의 제 4 논리 상태에 대응한다. 제 4 부분은 제 3 부된에 이어 계속 된다. 제 3부분은 1 : N의 비율과 같다. 제 4부분은 (N-1) : N의 비율과 같다. 출력 단계는 제 2논리 상태동안 출력 신호를 발생시킨다. 입력 단계는 제 3 논리 상태동안 신호를 입력한다.
[양호한 실시예에 대한 상세한 설명]
제 1 도는 본 발명에 따라 구성된 데이타 처리기(10)의 블록도를 나타내고 있다. 도시된 바와 같이, 데이타 처리기 (10)는 버스 인터페이스 유닛(12, 이하 간단히 BIU 라 함)을 포함한다. BIU(12)는 데이타 처리기(12) 및 어드레스와 데이타 버스간의 데이타 흐름을 제어한다. 데이타 처리기(10) 및 BIU (12)는 어드레스 및 데이타 버스의 클록 속도보다 빠른 클록 속도로 동작한다. 발명의 배경에서 설명한 바와 같이, 이 클록킹 기술은 데이타 처리기(10)를 포함한 데이타 처리 시스템의 수행을 향상시킨다. BIU(12)는 이 BIU(12)가 데이타를 동작시키는데 사용하는제어 신호를 발생시키고, 어드레스 및 데이타 버스로부터 수신하고 그 버스로 출력한다. 이런 신호들 및 그 하드웨어는 정확하게 하나의 신호가 데이타 처리기(10)로부터 어드레스 및 데이타 버스 그리고 그와 반대로 전송되는 것을 확인하는데 사용된다. BIU(12)는 또한 데이타 프로세서(10)의 다른 부분들 사이의 내부 데이타 전달을 동기화하기 위해 2개의 제어 신호를 사용할 수 있다.
BIU(12)는 명령 캐시(14) 및 데이타 캐시(16)에 접속된다. 명령 캐시(14)는 순서기(sequencer)/지령 유닛 (dispatch Unit)(18)에 명령 대열을 공급한다. 순서기/지령 유닛(18)은 적절한 실행 유닛블록에 개개의 명령을 전송한다. 데이타 처리기(10)는 고정 소숫점 실행 유닛(20), 브렌치 실행 유닛(22), 부동 소숫점 실행 유닛(24) 및 적재(load)/저장(store) 실행 유닛(26)을 갖는다. 이러한 실행 유닛 블록들은 재명명 버퍼(28) 및 구조적인(architectural) 레지스터 파일(30)에 접속된다.
개시된 동기화 방법 및 시스템 없는 데이타 처리기(10)의 동작은 본 기술 분야에 공지되어 있다. 일반적으로, 순서기/지령 유닛(18)은 여러 실행 유닛
(20,22,24 및 26)에 개개의 명령을 발생시킨다. 각각의 실행 유닛은 특정 부류의 명령들중 1 개 이상의 명령을 수행한다. 각 실행 유닛의 특정 부류의 명령들은 실행 유닛의 명칭에 의해 지시된다. 예를 들면, 브렌치 실행 유닛(22)은 브렌치 명령을 실행한다. 실행 유닛 블록(20,22,24 및 26)은 그들 동작의 결과를 재명명 버퍼 (28)내에 지정된 엔트리에 반환한다. 재명명 버퍼(28)는 본 발명에 관계되지 않은 공지된 프로토콜에 따라 구조적 레지스터 파일(30)에 상기 값들을 갱신한다. 재명명 버퍼(28) 및 구조적 레지스터 파일(30)은 실행 유닛 블록(20 내지 26)에 오퍼 랜드를 제공한다.
데이타 동기화 방법 및 그 시스템을 갖는 데이타 처리기 (10)의 동작은 제 2 도 내지 제 6 도와 관련하여 이하 설명되고 있다. 일반적으로, 데이타 처리기(10) 및 어드레스 및 데이타 버스는 1 : 1 인 데이타 처리기 클록 주파수 대 버스 클록 주파수에서 어떤 동기화 방법 또는 시스템도 없이 데이타 통신을 허용하는 통신 프로토롤을 따른다. 예를 들면, 특정 지속기간 동안 머스 클록의 특정 위상 구간에서 둘중 하나의 버스에 인가된 신호는 데이타 처리기 및 버스가 동일한 주파수에서 동작할 때 그 다음의 특정 에지 전이 발생부에서 데이타 처리기 (10)에 의해 적절하게 래치될 것이다. 게다가, 데이타 처리기 (10) 및 어드레스와 데이타 버스는 "핸드 셰이크(handshake)" 통신 프로토콜을 따른다. 핸드 세이크 통신 프로토콜은 프로토콜 관련의 어떤 클록 사이클이 데이타 프로토콜 동작의 어떤 타입에 사용될 수 있는 프로토콜 중 하나이다. 프로토콜 관련자간의 한 세트의 제어 신호에 인가된 한 세트의 논리 신호는 어떤 동작이 각 클록 사이클 동안 발생할 경우 그 동작
을 결정한다. 특정 프로토콜은 본 발명의 일부가 아니다. 일반적으로 가능한 한 높은 클록 주파수에서 데이타 처리기 (10)를 동작시키는 것이 유리하다. 하지만, 높은 클록 주파수 에서 어드레스 및 데이타 버스를 동시에 동작시키는 것은 단지 가능할 뿐이며 비경제적일 수 있다. 개시된 데이타 동기화 시스템은 그와 같은 한 시스템으로 통합될 수 있다.
제 2 도에서는 제 1 구성으로 개시된 본 발명을 수행하는데 동작가능한 한 세트의 제어 신호에 대한 타이밍도를 나타내고 있다. 이런 제 1 구성에 있어서, 처리기 클록 (P-CLOCK)의 주파수 대 어드레스 및 데이타 버스 클록 (B-CLOCK)의 주파수의 비율은 4 : 1 이다. 제 2 도는 개시된 발명의 제 1 부류의 구성에 대한 특정 일례로 이해될 수 있다. 제 1 부류의 구성에는 P-클록 내지 B-클록의 주파수 비율이 정수인 실시예가 포함된다. 5 번째 내지 12 번째 논리 트레이스는 4 가지 다른 경우로 나타나 있다. 소정의 어떤 B-클록 사이클에서는 4 경우중 단지 한 경우만이 발생됨을 이해할 수 있다. 이들 각각의 4 경우에 있어서, 데이타 처리기(10)에서 나온 중간 처리기 출력 신호(INTERMEDIATE PROCESSOR OUTPUT Signal)가 B-클록과 함께 동기화되어 최종 처리기 출력 신호를 형성한다. 최종 처리기 출력 신호(FINAL PROCESSOR OUTPUT Signal)은 적절한 어드레스나 데이타 버스에 혹은 B-클록에 의해 클록된 회로에 출력된다. 13 번째 및 14 번째 논리 트레이스에 있어서, 어드레스 또는 데이타 버스에서 나온 중간 입력 신호는 P-클록에 동기된다. 최종 버스 입력 신호는 데이타 처리기(10)에 입력된다.
제 2 도에 계속되는 BIU(12)는 내부적으로 두개의 제어 신호(래치/및 통과/)를 발생시킨다. 이 두개의 제어 신호는 두가지 통신 장치(어드레스 및 데이타 버스들)의 더 느린(1) 클록 주파수 및 (2) M 의 비율, 또는 두가지 통신 장치 (데이타 처리기, 10)의 더 빠른 (1) 클록 주파수 및 (2) N 의 비율과 같은 주파수를 갖는데, 여기에서 더 빠른 장치 (P-CLOCK)의 클록 주파수 대 더 느린 장치(B-CLOCK)의 클록 주파수의 비율(ratio)은 정수인 N 과 M 에 관한 N : M 으로 가장 간단한 형태로 표현될 수 있다. 분자 및 분모의 가장 큰 일반 정수 계수가 1 일때 비율은 가장 간단한 형태가 된다. 예를 들면, 비율 2 : 1 및 4 · 1 은 가장 간단한 형태가 아니다. 하지만, 비율 4 . 2 및 8 : 2 는 가장 간단한 형태가 아니다. 후자의 두 비율의 양쪽에 있는 분자 및 분모는 2 로 나누어질 수 있다. 반대로, 신호(통과/, PASS/)의 주기는 (1) M 및 두 통신 장치의 더 낮은 (2) 클록 주파수의 비율 혹은 (1) N 및 두 통신 장치의 더 빠른 (2) 클록 주파수의 비율로 표현될 수 있다.
클록 신호 사이클 그룹에 있어서, 더 빠른 장치 (P-CLOCK)의 N 사이클 및 더 느린 장치(B-CLOCK)의 M 사이클이 있다. 클록 신호 사이클 그룹은 P-클록 및 B-클록의 동시 에지 (coincident edge) 한 세트로 시작하고 이와 동일한 동시 클록 에지의 다음 세트로 끝난다. 도시된 실시예에 있어서, 클록 신호 사이클 그룹은 두 클록 신호가 고 논리 상태(high logic state)로 변할 때 시작하고, 두 클록 신호가 고 논리 상태로 그 다음에 변할 때 끝난다. 제 2 도는 두 그룹의 클록 신호 사이클을 나타내고 있다.
제어 신호(래치/)는 데이타 처리기(10)에 의해 발생되거나 P-클록에 의해 클록되는 신호를 동기화시키고, 그들 신호를 어드레스 및 데이타 버스에 또는 B-클록에 의해 클록되는 회로에 출력한다. 예시된 논리 도표에 있어서, 신호 (래치/)는 P-클록의 N 사이클의 각 그룹의 제 1 (N-1) 사이클에 대해 인가된다. 일반적으로, 신호 (래치/)는 (N-1) : N 과 같은 주기의 부분에 대해 인가된다. 인가되는 동안 제어 신호(래치/)는 BIU(12)로 하여금 중간 처리기 신호를 래치함과 동시에 어드레스 및 데이타 버스로부터 중간 처리기 출력 신호를 차단하는 것을 야기시킨다 신호 (래치/) P-클록의 N 사이클 각 그룹의 최종 또는 N 번째 사이클 동안 인가되지 않는다. 일반적으로, 신호 (래치/)는 1 : N 과 같은 주기의 부분에 대해 인가되지 않는다. 인가되지 않는 동안, 최종 처리기 출력 신호와 마찬가지로 제어 신호(래치/)는 이전에 저장된 중간 처리기 출력 신호를 어드레스 또는 데이타 버스에 통과시키게 한다. 후술될 실시예에 있어서, BIU(12)는 또한 P-클록의 (N-1) 이전 클록 사이클동안 저장되는 어떤 신호를 운반하기 때문에, N 사이클 각 그룹의 N 번째 클록 사이클 동안 발생되는 중간 처리기 출력 신호를 어드레스 또는 데이타 버스에 통과시킨다. 이 방법으로 BIU(12)가 B-클록의 다음 상승 에지에 앞선 적정 신호를 출력시킴을 확인할 수 있다. 이 신호는 신호의 내용(context)에 적합한 것으로서 어드레스 혹은 데이타 버스상에 출력될 수 있다.
제 2 도에 도시된 1 내지 4 가지 경우들은 N : M 비율이 4 : 1 과 같을때 중간 처리기 출력 신호 및 B-클록 사이에 존재가능한 4 가지 다른 타이밍 관계를 예시하고 있다. 데이타 처리기(10)는 각 B-클록엔 발생하는 4 개의 P-클록 사이클중 어떤 1 사이클동안 중간 처리기 출력 신호를 발생시킬 수 있다. 첫번째 3 가지 경우의 각각에 있어서, BIU(12)는 신호 발생시 (고논리 상태에 따라) 중간 처리기 출력 신호를 래치한다. 제 4 혹은 최종 P-클록 사이클 동안만 BIU(12)가 래치된 신호를 어드레스 또는 데이타 버스로 운반한다. 이들 4가지 경우에서, BIU(12)는 최종 처리기 출력 신호와 마찬가지로 중간 처리기 출력 신고를 어드레스 또는 데이타 버스에 직접 운반한다. 이 4번째 경우에서, BIU(12)는 중간 처리기 출력 신호를 래치하지 않는다. 상술한 기능들을 수행하는데 동작가능한 회로가 제 4 도에 도시되어 있다.
제어 신호(통과/)는 어드레스 및 데이타 버스에 의해 통신되고 데이타 처리기(10)에 입력되는 신호를 동기화 한다. 예시된 논리 도표에 있어서, 신호(통과/)는 P-클록의 N 사이클의 각 그룹에 대한 제 1 사이클에 인가된다. 일반적으로, 신호(통과/)는 1 : N 과 같은 주기의 일부분에 인가된다. 인가되는 동안, 최종 버스 입력 신호로서 제어 신호 (통과/)는 BIU(12)로 하여금 데이타 처리기(10)에 중간 버스 입력 신호를 통과시키게 한다. 신호(통과/)는 N 그룹의 P-클록 사이클내의 매 다른 P-클록 사이클에 대하여 인가되지 않는다. 일반적으로, 신호(통과/)는 (Y-1) : N 과 같은 주기의 일부분에 대해 인가되지 않는다. 인가되지 않는 동안, 제어 신호(통과/)는 BIU(12)로 하여금 데이타 처리기(10)로 부터 중간 버스 입력 신호를 차단하게끔 한다. 아래쪽에 있는 두 논리 트레이스는 중간 버스 입력 신호 및 P-클록과 최종 버스 입력 신호 사이에 나타나는 단일 타이밍 관계식을 도시하고 있다.
제 3 도는 제 2 구성으로 개시된 본 발명을 실행할 수 있는 한 세트의 제어 신호에 데한 타이밍도를 도시하고 있다. 이러한 제 2 의 구성에 있어서, 처리기 클록(P-CLOCK)의 주파수 대 어드레스 및 데이타 버스 클록(B-CLOCK)의 주파수에 대한 비율은 3 : 2 의 가장 간단한 형태로 나타난다. 제 3 도는 개시된 본 발명의 제 2 부류의 구성에 대한 특정 일례로 이해될 수 있다. 제 2 부류의 구성에는 P-클록 대 B-클록의 주파수 비율이 정수가 아닌 실시예를 포함하고 있다. 특정비(3 : 2)는 가장 간단한 비정수 구성 형태이므로 제 3 도에 예시되어 있다.
제 5∼제 10 논리 트레이스는 3 가지 분리된 처리기 대 버스의 경우에서 래치/신호의 동작을 나타낸다. 제 3도 에서, N은 3과 같다. 따라서, 중간 처리기 출력 신호 및 B-클록간의 가능한 타이밍 관계식이 단지 3 가지 있다. 이들 3 가지 경우는 제 2 도의 상부에 도시된 제 1. 제 2 및 제 4 경우와 각각 유사하다.
제 2 부류의 구성에 있어서, p-클록 사이클의 각 그룹에 있는 최소한 하나의 다른 B-클록 사이클이 있으며 그로 인해 더 빠른 장치로 신호를 진행시키기 위해 더 느린 장치에 대한 하나의 다른 기회가 있다. M 개 B-클록 사이클의 M 번째 B-클록 사이클은 N 개 P-클록 사이클의 N 번째 P-클록 사이클과 동기 가능하다. BIU(12)는 P-클록의 N 번째 사이클 동안 통과/신호를 인가함으로써 M 번째 B-클록 사이클 동안 버스 입력 신호를 데이타 처리기(10)에 통과시킬 것이다. 일반적으로, 신호(통과/)는 1 : N 과 같은 주기의 일부분에 대해 인가되고, (N-2) : N 과 같은 주기의 일부분에 대해 인가되지 않으며, 제 2 구성에 있어서 1 : N 과 같은 주기의 일부분에 대해 다시 인가된다(re-asserted).
중간 버스 입력 신호 및 P-클록간의 2 가지 가능한 타이밍 관계는 제 3 도에 각각 경우 1 및 경우 2 로 표기된다. 이 두 경우중 제 1 경우는 제 2 도에 관련 기술된 단일 통과/경우와 동일하다. 제 2 경우에 있어서, 중간 버스 입력 신호는 제 2 P-클록의 두번째 1/2 동안 및 P-클록의 세번째 사이클동안 인가된다. BIU(12)는 두 P-클록 사이클 사이에 있는 단일 버스 신호를 두번 발견할 수 있다. 따라서, 통과/신호는 제 2 의 P-클록 사이클의 두번째 1/2 동안 인가되지 않는다. 이런 차폐는 단일 P-클록 사이클동안 중간 버스 입력 신호의 발생을 확신할 수 있다. 제 4 도는 제 1 도에 도시된 BIU(12)의 블록도이다. BIU(12)는 활성 신호가 논리 레벨의 하나에 대응하는 통신 프로토콜로 작동하도록 설계된다. 이하 설명과 관련하여 디지탈 회로 설계 기술로 실행하는 것은 활성 신호가 논리 레벨 0에 대응하는 통신 프로토콜을 이용하도록 BIU(12)를 변경시킬 수 있다. BIU(12)는 데이타 및 명령 캐시 블록(14 및 16)에서 나온 중간 처리기 출력 신호와 어드레스 또는 데이타 버스에서 나온 중간 버스 입력 신호를 수신한다. BIU(12)는 최종 처리기 출력 신호를 발생하고 그 신호의 내용에 적합한 것으로서 어드레스 또는 데이타 버스를 통신한다. BIU(12)는 또한 데이타 캐시(14) 또는 명령 캐시(16)를 통과하는 최종 버스 입력 신호를 발생한다. 제 4 도는 두 장치간의 단일 데이타 비트 신호를 동기화 하는 회로를 도시함을 이해할 수 있다. 데이타 처리기 (10)가 64비트 어드레스-데이타 버스 결합으로 실행될 경우, BIU(12)는 제 4 도에 도시된 회로와 유사한 64 회로를 가질 수 있다(제 4 도에 도시된 장치들은 가정의 64 회로 사이에 공존될 수 있다).
BIU(12)는 제어 신호(주파수 제어, 리셋, 인에이블) 및 처리기 클록 신호(P-클록)를 수신한다. 제어 신호(주파수 제어)는 가장 간단한 형태로서 P-클록의 주파수 대 B-클록의 주파수 비율을 가리킨다. 예시된 실시예에서, BIU(12)는 1 : 1, 3 : 2, 2 : 1, 3 : 1 및 4 : 1 의 비율을 유지한다. 제어 신호(RESET)는 데이타 처리기(10)를 통합하는 시스템의 동작을 리셋하도록 데이타 처리기(10)에 접속되는 장치에 의해 인가된다. BIU(12)는 소정의 P-클록 에지 및 소정의 B-클록 에지가 일치할때 리셋 신호 인가에 따른 인에이블 신호를 발생한다. 도시된 실시예에서, BIU(12)는 P-클록 및 B-클록의 상승 에지가 정렬될 때 인에이블로 인가된다. BIU(12)는 리셋 신호가 다음 시간에 인가될 때까지 인에이블로 계속 인가된다.
AND 게이트(32)의 출력은 최종 버스 입력 신호를 발생하고, 그 신호에 적합한 것으로서 명령 캐시(14) 또는 베이타 캐시(16)에 신호를 통과시킨다. AND 게이트(32)의 제 1 입력은 어드레스 또는 데이타 버스로부터 중간 버스 입력 신호를 수신한다. 그리고 AND 게이트(32)의 제 2 입력은 통과/차폐 신호를 수신한다. 상태 머신(34)은 상술한 통과/신호 및 래치/신호를 발생한다. 상태 머신(34)은 제어 신호 (주파수 제어, 인에이블, 리셋) 및 클로킹 신호(P-클록)을 수신한다. BIU(12)는 예시된 상태 머신을 대신하여 P-클록 및 B-클록의 기능이 되는 결합 논리 회로로 실행될 수 있다. 상태 머신은 BIU(12)가 더 완전하게 테스트되게 하기 위하여 예시된 실시예에서 사용된다.
AND 게이트(36)의 출력은 최종 처리기 출력 신호를 발생하고 그 신호의 내용에 맞게 어드레스 버스 또는 데이타 버스(16)에 신호를 통과시킨다. AND 게이트(36)의 입력은 OR 게이트(38)의 출력에 접속된다. AND 게이트(36)의 인버팅 입력은 래치/신호를 수신한다. OR게이트(38)의 제 1 입력은 마스터-슬레이브 래치(40, Master-Slave Latch)의 출력에 접속된다. OR 게이트(38)의 제 2 입력은 중간 처리기 출력 신호를 수신한다. 마스터-슬레이브 래치(40)는 AND 게이트 (42)의 출력에 접속된다. 마스터-슬레이브 래치(40)는 P-클록 신호에 의해 클록된다. AND 게이트(42)의 제 1 입력은 OR 게이트(44)의 출력에 접속된다. AND 게이트(42)의 제 2 입력은 래치/신호를 수신한다. OR 게이트(44)의 제 1 입력은 마스터-슬레이브 래치(40)의 출력을 수신한다. OR 게이트(44)의 제 2 입력은 중간 처리기 출력 신호를 수신한다.
처리기 대 버스 동작시, BIU(12)는 N 개의 P-클록 사이클의 각 그룹에 있는 어떤 N 개의 P-클록 사이클 동안 중간 처리기 출력 신호를 인가할 수 있다. 상기된 바와 같이, 인가는 논리값에 대응한다. 마스터-슬레이브 래치 (40)는 N 번째 사이클내에 인가된 한 신호를 제외한 인가된 중간 처리기 출력 신호를 래치할 수 있다. AND 게이트(36)는 래치/신호가 비 인가될 때, 래치된 중간 처리기 출력 신호 및 N 번째 P-클록 사이클의 중간 처리기 출력 신호를 진행시킨다.
버스 대 처리기 동작시, 어드레스 또는 데이타 버스들은 N 개 P-클록 사이클에 대한 각 그룹에 있는 N 개의 P-클록 사이클의 어떤 N-사이클 동안 중간 버스 입력 신호를 인가할 수 있다. 상기된 바와 같이, 인가는 논리값에 대응한다. AND게이트(32)는 신호(통과/)가 인가될 때, 래치된 중간 처리기 출력 신호 및 N번째 P-클록 사이클의 중간 처리기 출력 신호를 진행시킨다.
제 5 도 및 제 6 도는 제 4 도에 도시된 동기 상태 머신(34)의 동작을 예시하는 두 상태 변화도(state-transition diagram)를 도시하고 있다. 동기 상태 머신(34)은 이들 두 상태 변화도를 상호 동시에 또한 독립적으로 실행한다 도시된 상태 변화에 있어서, P-클록의 주파수 대 B-클록의 주파수 비율이 1 : 1, 2 : 1, 3 : 2 및 4 : 1 이 될 수 있다. 후술되는 내용과 관련하여, 디지탈 회로 설계의 숙련된 기술로는 다른 주파수 비율을 유치하기 위해서 동기 상태 머신(34)의 설계를 확대할 수 있다.
제어 신호(래치/)는 제 5 도에 도시된 상태에 의존함과 동시에 가장 간단한 형테로 P-클록의 주파수 대 B-클록의 주파수의 비율에 의존하는 특정 P-클록 사이클 동안 인가되거나 인가되지 않을 것이다. 특정 P-클록 사이클 동안 동기 상태 머신(34)의 상태는 차례로, 선행하는 P-클록 사이클 동안 제 4 도에 도시된 제어 신호의 기능 및 선행하는 P-클록 동안 동기 상태 머신(34)의 상태 기능이 된다. 동기 상태 머신 (34)은 L/-1, L/-2, L/-3 및 L/-4 로 표기된 제어 신호 (래치/)의 발생에 관련되는 4 가지 상태를 갖는다. 동기 상태 머신(34)은 이 머신이 상태(L/-2 또는 L/-3)중 하나의 상태에 있을때 제어 신호(래치/)를 인가한다. 동기 상태 머신(34)은 이 머신이 상태(L/-1)에 있고 3 : 2, 2 : 1 또는 4 : 1 의 클록 비율 모드에 있을때 제어 신호(래치/)를 인가한다. 그리고, 동기 상태 머신(34)은 이 머신이 상태 (L/-1)에 있고 1 : 1 클록 비율 모드에 있거나 상태(L/-4)에 있을때 제어 신호(래치/)를 비인가한다.
동기 상태 머신(34)은 제어 신호(RESET)의 인가 후에 상태(L/-1)로 리셋한다. 각각의 후속되는 P-클록 사이클에서 상태 머신(34)은 인접 상태로 변화되기 시작한다. 동기 상태 머신(34)은 제어 신호(인에이블)가 인가될 경우와 데이타 처리기(10)가 3 : 2 또는 4 : 1 모드에 있을 경우에 상태 (L/-1)에서 상태(L/-2)로 변한다. 동기 상태 머신(34)은 제어 신호(인에이블)가 인가될 경우와 데이타 처리기(10)가 2 : 1 모드에 있을 경우에 상태(L/-1)에서 상태(L/-4)로 변한다. 동기 상태 머신(34)은 데이타 처리기(10)가 1 : 1 모드에 있을 경우 상태(L/-1)로 남게 된다. 동기 상태 머신(34)은 데이타 처리기(10)가 3 : 2 모드에 있을 경우 상태 (L/-2)에서 상태 (L/-3)로 변한다. 동기 상태 머신(34)은 P-클록의 다음 사이클에서 상태(L/-3)에서 상태(L/-4)로 변한다. 동기 상태 머신(34)은 데이타 처리기(10)가 2 : 1, 3 : 2 또는 4 : 1 모드에 있을 경우 상태(L/-4)에서 상태 (L/-1)로 변한다.
제어 신호(통과/)는 제 6 도에 도시된 상태에 따른 특정 P-클록 동안 인가되거나 인가되지 않을 수 있다. 특정 P-클록 사이클 동안 동기 상태 머신(34)의 상태는 차례로, 선행하는 P-클록 사이클 동안 제 4 도에 도시된 제어 신호의 기능이고 선행하는 P-클록 사이클 동안 상태 머신(34)의 상태의 기능이 된다. 동기 상태 머신(34)은 P/-1, P/-2, P/-3, P/-4 및 P/-5 로 표기된 제어 신호(통과/)의 발생에 관련되는 5 가지 상태를 갖는다. 동기 상태 머신(34)은 이 머신이 상태 (P/-1 또는 P/-2)중 하나일 때 제어 신호(통과/)를 인가한다. 반대로, 동기 상태 머신(34)은 이 머신이 상태 (P/-3, P/-4 또는 P/-5)중 하나에 있을때 제어 신호 (통과/)를 인가하지 않는다.
동기 상태 머신(34)은 제어 신호(리셋)의 인가한 후 상태 (P/-1)로 리셋한다. 각각의 후속되는 P-클록 사이클에서, 동기 상태 머신(34)은 인접한 상태로 변하기 시작한다. 동기 상태 머신(34)은 제어 신호(인에이블)가 인가될 경우와 데이타 처리기 (10)가 2 : 1, 3 : 2 또는 4 : 1 모드에 있을 경우, 상태(P/-1) 에서 상태(P/-3)로 변한다. 동기 상태 머신(34)은 데이타 처리기(10)가 1 : 1 모드에 있을 경우 상태(P/-1)로 남게 된다. 동기 상태 머신(34)은 데이타 처리기(10)가 3 : 2 모드에 있을 경우 상태(P/-3)에서 상태(P/-2)로 변한다. 동기 상태 머신(34)은 P-클록의 다음 사이클에서 상태(P/-2)에서 상태 (P/-1)로 변한다. 동기 상태 머신(34)은 데이타 처리기(10)가 2 : 1 모드에 있을 경우, 상태 (P/-3)에서 상태(P/-1)로 변한다. 동기 상태 머신(34)은 데이타 처리기(10)가 4 : 1 모드에 있을 경우 상태(P/-3)에서 상태(P/-4)로 변한다. 동기 상태 머신(34)은 P-클록의 다음 사이클에서 상태(P/-4) 에서 상태(P/-5)로 변한다. 동기 상태 머신(34)은 P-클록의 그 다음 사이클에서 상태(P/-5)에서 상태(P/-1)로 변한다.
본 발명은 구체적인 실시예를 참고로 하여 설명되었으나, 본 발명의 전문가에 의한 추가적인 변경 및 개선이 실행될 수 있을 것이다. 예를 들면, 개시된 본 발명은 데이타 처리기의 통합된 부분으로서 기재되었다. 하지만, 개시된 본 발명은 어드레스 또는 데이타 버스의 일부로서 또는 독립형 장치로서 실행될 수 있다. 그에 따라, 청구범위는 두 장치 사이에서 동작하는 데이타 동기 시스템을 인용할 것이다. 따라서, 본 발명은 수반하는 청구범위에 정의된 바와 같은 본 발명의 원리 및 적용범위를 벗어나지 않는 범위내에서의 모든 변경을 포함함을 이해할 수 있을 것이다.

Claims (3)

  1. 제1 및 제2 장치와 함께 사용하기 위한 데이타 동기 시스템(12)으로서, 상기 제1 장치는 제1 주파수로 동작하며, 상기 제2 장치는 제 2 주파수로 동작 하며, 상기 제1 주파수는 상기 제2 주파수 보다 크며, 상기 제1 및 제2 주파수들의 비는 가장 간단한 형태의 N : M의 비와 동일하며, N 및 M은 정수들인 상기 데이타 동기 시스템에 있어서,
    상기 제1 주파수로 동작하는 제1 클록 신호를 수신하기 위한 제어 회로(34)로서, 상기 제어 회로는 제1 제어 신호 및 제2 제어 신호들을 발생시키며, 상기 제 1 및 제2 제어 신호들은 상기 제1 주파수 및 정수 N의 쿼션트와 동일한 주기에 의해 특징지어 지며, 상기 제1 제어 신호는 제1 또는 제2 논리 상태중 하나의 논리 상태를 갖으며, 상기 제1 제어 신호는 상기 주기의 제1 부분(fractional portion)동안 상기 제1 논리 상태 및 상기 제1 부분 다음의 상기 주기의 제2 부분동안 상기 제2 논리 상태에 대응하며, 상기 제1 부분은 (N-1) : N의 비와 동일하며, 상기 제2 부분은 1 : N의 비와 동일하며, 상기 제2 제어 신호는 제3 또는 제4 논리 상태 중 하나의 논리 상태를 갖으며, 상기 제2제어 신호는 상기 주기의 제3 부분동안 상기 제3 논리 상태 및 상기 제3 부분 다음의 상기 주기의 제4 부분동안 상기 제 4논리 상태에 대응하며, 상기 제3 부분은 1 : N의 비와 동일하며, 상기 제4 부분은 (N-1) : N의 비와 동일한, 상기 제어 회로(34)와, 상기 제어 회로에 결합되는 제1 회로(36, 38, 40, 42 및 44)로서, 상기 제1 회로는 상기 제1 장치로부터 제1 데이타 신호를 수신하여 상기 제2 장치에 결합되는 제1 출력 신호를 발생시키며, 상기 제1 회로는 상기 주기의 상기 제2 부분동안 상기 제1 출력 신호를 발생시키는, 상기 제1 회로 및, 상기 제어 회로에 결합되는 제2 회로(32)로서, 상기 제2 회로는 상기 제2 장치로부터 제2 데이타 신호를 수신하여 상기 제1 장치에 결합되는 제2 출력 신호를 발생시키며, 상기 제2 회로는 상기 주기의 상기 제3 부분동안 상기 제2 출력 신호를 발생시키는, 상기 제2 회로(32)를 구비하는 데이타 동기 시스템.
  2. 데이타 처리기 및 버스간의 데이타 전송을 동기화시키는 방법으로서, 상기 데이타 처리기는 제1 주기 클록 주파수로 동작하며, 상기 버스는 제2 주기 클록 주파수로 동작하며, 상기 제1 주기 클록 주파수는 상기 제2 주기 클록 주파수보다 크며, 상기 제1 및 제2 주기 클록 주파수들의 비는 가장 간단한 형태의 N : M의 비와 동일하며, N 및 M은 정수인, 상기 데이타 동기화 방법에 있어서,
    상기 데이타 처리기에서 제1 제어 신호(LATCH/)를 발생시키는 단계로서, 상기 제1 제어 신호는 상기 제1 주기 클록 주파수 및 정수 N의 쿼션트와 동일한 주기에 의해 특징지어 지며, 상기 제1 제어 신호는 제1 또는 제2 논리 상태중 하나의 논리 상태를 갖으며, 상기 제1 제어신호는 상기 주기의 제 1 부분동안 상기 제1 논리 상태 및 상기 제1 부분 다음의 상기 주기의 제2 부분동안 상기 제2 논리 상태에 대응하며, 상기 제1 부분은 (N-1) : N의 비와 동일하며, 상기 제2 부분은 1 : N의 비와 동일한, 상기 제1 제어 신호 발생 단계와,
    상기 데이타 처리기에서 제2 제어 신호(PASS/)를 발생시키는 단계로서, 상기 제2 제어 신호는 상기 주기에 의해 특징지어 지며 제3 또는 제4 논리 상태중 하나의 논리 상태를 갖으며, 상기 제2 제어 신호는 상기 주기의 제3 부분동안 상기 제3 논리 상태 및 상기 제3 부분 다음의 상기 주기의 제 4 부분동안 상기 제 4 논리 상태에 대응하며, 상기 제 3 부분은 1 : N의 비와 동일하며, 상기 제 4 부분은 (N-1) : N과 동일한, 상기 제 2 제어 신호 발생 단계와,
    상기 데이타처리기에서 제1 데이타 신호(중간 처리기 출력)를 발생시키는 단계와,
    상기 주기의 상기 제 2 부분동안 상기 버스에 상기 제 1 데이타 신호(최종 처리기 출력)를 출력시키는 단계와,
    상기 버스로부터 상기 데이타 처리기에서 제2 데이타 신호(중간 버스 입력)를 수신하는 단계 및,
    상기 주기의 상기 제 3 부분동안 상기 데이타 처리기에 상기 제2 데이타 신호(최종 버스 입력)를 입력하는 단계를 포함하는, 데이타 동기화 방법.
  3. 제2항에 있어서,
    상기 데이타 처리기에서 제2 제어 신호를 발생시키는 단계는 제2 제어 신호를 발생시키는 단계를 포함하며, 상기 제2 제어 신호는 상기 주기에 의해 특징지어지며, 상기 제2 제어 신호는 제3 또는 제4 논리 상태중 하나의 논리 상태를 갖으며, 상기 제2 제어 신호는 N : M의 비가 비정수값일때 상기 주기의 제5 및 제6 부분동안 상기 제3 논리 상태 및 상기 주기의 제7 부분동안 상기 제4 논리 상태에 대응하며, 상기 제6 부분은 상기 제7 부분 다음에 있으며, 상기 제7 부분은 상기 제5 부분 다음에 있으며, 상기 제5및 제6 부분들은 1 : N의 비와 동일하며, 상기 제6 부분은 (N-2) : N의 비와 동일한, 데이타 동기화 방법.
KR1019940022059A 1993-09-07 1994-09-02 데이타동기시스템및방법 Expired - Fee Related KR100304036B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US117,278 1993-09-07
US08/117,278 US5422914A (en) 1993-09-07 1993-09-07 System and method for synchronizing data communications between two devices operating at different clock frequencies

Publications (2)

Publication Number Publication Date
KR950009450A KR950009450A (ko) 1995-04-24
KR100304036B1 true KR100304036B1 (ko) 2001-11-22

Family

ID=22371974

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940022059A Expired - Fee Related KR100304036B1 (ko) 1993-09-07 1994-09-02 데이타동기시스템및방법

Country Status (5)

Country Link
US (1) US5422914A (ko)
EP (1) EP0645717A1 (ko)
JP (1) JPH0784668A (ko)
KR (1) KR100304036B1 (ko)
TW (1) TW241349B (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5548620A (en) * 1994-04-20 1996-08-20 Sun Microsystems, Inc. Zero latency synchronized method and apparatus for system having at least two clock domains
DE69429614T2 (de) * 1994-05-10 2002-09-12 Intel Corporation, Santa Clara Verfahren und Anordnung zur synchronen Datenübertragung zwischen Digitalgeräten, deren Betriebsfrequenzen ein P/Q Integer-Frequenzverhältnis aufweisen
US5564027A (en) * 1995-04-20 1996-10-08 International Business Machines Corporation Low latency cadence selectable interface for data transfers between busses of differing frequencies
US5812875A (en) * 1995-05-02 1998-09-22 Apple Computer, Inc. Apparatus using a state device and a latching circuit to generate an acknowledgement signal in close proximity to the request signal for enhancing input/output controller operations
US5781765A (en) * 1995-11-03 1998-07-14 Motorola, Inc. System for data synchronization between two devices using four time domains
US5802132A (en) 1995-12-29 1998-09-01 Intel Corporation Apparatus for generating bus clock signals with a 1/N characteristic in a 2/N mode clocking scheme
US5821784A (en) * 1995-12-29 1998-10-13 Intel Corporation Method and apparatus for generating 2/N mode bus clock signals
US5834956A (en) 1995-12-29 1998-11-10 Intel Corporation Core clock correction in a 2/N mode clocking scheme
US5862373A (en) * 1996-09-06 1999-01-19 Intel Corporation Pad cells for a 2/N mode clocking scheme
US5826067A (en) 1996-09-06 1998-10-20 Intel Corporation Method and apparatus for preventing logic glitches in a 2/n clocking scheme
EP0840237B1 (en) * 1996-10-29 2007-01-03 Matsushita Electric Industrial Co., Ltd. Synchronization of data processor with external bus
US5794019A (en) * 1997-01-22 1998-08-11 International Business Machines Corp. Processor with free running clock with momentary synchronization to subsystem clock during data transfers
US5898640A (en) * 1997-09-26 1999-04-27 Advanced Micro Devices, Inc. Even bus clock circuit
US6269136B1 (en) * 1998-02-02 2001-07-31 Microunity Systems Engineering, Inc. Digital differential analyzer data synchronizer
FI982040A7 (fi) * 1998-09-22 2000-03-23 Nokia Multimedia Network Terminals Oy Menetelmä ja laite datavirran synkronoimiseksi
US6549593B1 (en) 1999-07-19 2003-04-15 Thomson Licensing S.A. Interface apparatus for interfacing data to a plurality of different clock domains
US6956918B2 (en) * 2001-06-27 2005-10-18 Intel Corporation Method for bi-directional data synchronization between different clock frequencies
US7134035B2 (en) * 2003-05-30 2006-11-07 Sun Mircosystems, Inc. Method for generating a synchronization signal based on the clock ratio between two clock domains for data transfer between the domains
US7393450B2 (en) * 2003-11-26 2008-07-01 Silveri Michael A System for maintaining pH and sanitizing agent levels of water in a water feature
US7219177B2 (en) * 2004-11-23 2007-05-15 Winbond Electronics Corp. Method and apparatus for connecting buses with different clock frequencies by masking or lengthening a clock cycle of a request signal in accordance with the different clock frequencies of the buses
US7738484B2 (en) * 2004-12-13 2010-06-15 Intel Corporation Method, system, and apparatus for system level initialization
US7734741B2 (en) * 2004-12-13 2010-06-08 Intel Corporation Method, system, and apparatus for dynamic reconfiguration of resources

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3162749D1 (en) * 1980-06-30 1984-04-26 Ibm Data transfer apparatus
US4412342A (en) * 1981-12-18 1983-10-25 Gte Automatic Electric Labs Inc. Clock synchronization system
US4845437A (en) * 1985-07-09 1989-07-04 Minolta Camera Kabushiki Kaisha Synchronous clock frequency conversion circuit
EP0375794A1 (en) * 1988-12-24 1990-07-04 International Business Machines Corporation Method of synchronizing signals which are generated on different chips having on-chip clocking systems with different speed

Also Published As

Publication number Publication date
US5422914A (en) 1995-06-06
JPH0784668A (ja) 1995-03-31
TW241349B (ko) 1995-02-21
KR950009450A (ko) 1995-04-24
EP0645717A1 (en) 1995-03-29

Similar Documents

Publication Publication Date Title
KR100304036B1 (ko) 데이타동기시스템및방법
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
US5087828A (en) Timing circuit for single line serial data
JP3156813B2 (ja) バッファ制御回路
EP1166210B1 (en) Elastic interface apparatus and method therefor
KR101089153B1 (ko) 상이한 클록 도메인 간에서의 데이터 신호 전송 방법 및 집적 회로
US5654988A (en) Apparatus for generating a pulse clock signal for a multiple-stage synchronizer
US5638015A (en) Avoiding instability
US5634116A (en) Non-integer multiple clock translator
US6172540B1 (en) Apparatus for fast logic transfer of data across asynchronous clock domains
US4949249A (en) Clock skew avoidance technique for pipeline processors
US5781765A (en) System for data synchronization between two devices using four time domains
US6550013B1 (en) Memory clock generator and method therefor
JPH05197673A (ja) 論理回路
EP1436685B1 (en) Data synchronization on a peripheral bus
US6542999B1 (en) System for latching first and second data on opposite edges of a first clock and outputting both data in response to a second clock
US6999542B1 (en) Data ready indicator between different clock domains
CA1302585C (en) Clock skew avoidance technique for pipeline processors
EP0438126A2 (en) Pipeline type digital signal processing device
US6031396A (en) Circuit for synchronizing asynchronous inputs using dual edge logic design
US12073111B2 (en) Domain-selective control component
US5598552A (en) Error free data transfers
KR20010006850A (ko) 스큐 포인터 발생 회로 및 방법
US6856172B1 (en) Sequential logic circuit for frequency division
Smith et al. Low-latency multiple clock domain interfacing without alteration of local clocks

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

A201 Request for examination
P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R14-asn-PN2301

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

FPAY Annual fee payment

Payment date: 20070702

Year of fee payment: 7

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 7

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20080719

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20080719

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000