KR100278258B1 - 데이터 전송 중에 서브시스템 클럭에 일시적 동기화를 위한 자유 실행 클럭을 구비한 프로세서 - Google Patents

데이터 전송 중에 서브시스템 클럭에 일시적 동기화를 위한 자유 실행 클럭을 구비한 프로세서 Download PDF

Info

Publication number
KR100278258B1
KR100278258B1 KR1019970072657A KR19970072657A KR100278258B1 KR 100278258 B1 KR100278258 B1 KR 100278258B1 KR 1019970072657 A KR1019970072657 A KR 1019970072657A KR 19970072657 A KR19970072657 A KR 19970072657A KR 100278258 B1 KR100278258 B1 KR 100278258B1
Authority
KR
South Korea
Prior art keywords
processor
clock
subsystem
synchronization
frequency
Prior art date
Application number
KR1019970072657A
Other languages
English (en)
Other versions
KR19980070203A (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 KR19980070203A publication Critical patent/KR19980070203A/ko
Application granted granted Critical
Publication of KR100278258B1 publication Critical patent/KR100278258B1/ko

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/03Astable circuits
    • H03K3/0315Ring oscillators
    • 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/08Clock generators with changeable or programmable clock frequency

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Executing Machine-Instructions (AREA)
  • Multi Processors (AREA)

Abstract

본 발명에 따르면, 프로세서 클럭(302)은 프로세서(301)와 서브시스템(305) 사이의 데이터 전송 중에 서브시스템 클럭(307)에 일시적으로 동기화된다. 데이터 전송의 완료 이후에, 동기는 디스에이블되고, 프로세서 클럭은 서브시스템 클럭 주파수 보다 높은 그 고유의 내부 주파수에서 비동기적으로 실행된다. 본 발명의 한 실시예에서, 프로세서 클럭은 프로세서와 동일한 집적회로 칩 상에 구성된 자유 실행(free running) 링 오실레이터(401)를 사용한다. 온도 및 전원 공급 전압에서의 변화는 프로세서의 최대 동작 속도에서의 변화 뿐만 아니라 프로세서 클럭의 주파수에서의 상응하는 변화도 유발한다. 따라서, 프로세서 클럭의 주파수는 온도 및 전원 공급 전압 변화에 의해 유발되는 프로세서의 최대 동작 속도에서의 변화를 따라간다.

Description

데이터 전송 중에 서브시스템 클럭에 일시적 동기화를 위한 자유 실행 클럭을 구비한 프로세서
본 발명은 컴퓨터 및 다른 정보 처리 시스템에 관한 것으로서, 특히, 프로세서와 서브시스템 사이의 데이터 전송 중에 프로세서 클럭이 서브시스템 클럭에 일시적으로 동기화되는, 독립된 일반적으로는 비동기인 프로세서 클럭 및 서브시스템 클럭을 가진 컴퓨터 시스템에 관한 것이다. 또한, 본 발명은 클럭의 주파수가 부분적으로는 칩의 온도와 칩에 인가되는 전원 공급 전압에 의해 결정되도록 프로세서 또는 다른 서브시스템 집적회로 칩과 함께 집적되어 자유롭게 실행되는 프로세서 또는 다른 서브시스템 클럭에 관한 것이다.
도1은 고정 주파수 프로세서 클럭(101)과, 서브시스템 클럭을 발생하기 위한 분주기(frequency divider)(102)를 구비한 종래 기술의 컴퓨터 시스템을 도시하고 있다. 이 도면을 참조하면, 데이터는 프로세서(103)와 서브시스템(104) 사이에서 전송될 수 있다. 고정 주파수 클럭(101)은 그 클럭 신호를 프로세서(103)에는 직접 공급하고, 서브시스템(104)에는 분주기(102)를 통해 간접적으로 공급한다. 분주기(102)는 프로세서 클럭(101)의 주파수를 소정의 수로 분할하므로써 서브시스템 클럭을 발생한다. 결과적으로, 프로세서 클럭과 서브시스템 클럭은 항상 동기되어 있으며, 프로세서 클럭의 주파수는 항상 서브시스템 클럭 주파수의 배수가 된다. 서브시스템(104)은 통상적으로 서브시스템 버스(도시 안됨) 및 그 서브시스템 버스에 결합된 다수의 어드레스가능한 "어댑터" 또는 "장치(device)"(도시 안됨)를 포함한다. 서브시스템 버스의 설계와 그 버스에 결합된 장치의 설계는 초과되어서는 안되는 최대 허용가능 서브시스템 클럭 주파수를 설정한다.
만일 프로세서(103)의 최대 동작 주파수가 최대 서브시스템 클럭 주파수의 배수가 되면, 프로세서 및 서브시스템은 모두 그 최대 주파수에서 동작할 수 있다. 예를 들어, 만일 프로세서(103)의 최대 동작 주파수가 66 MHz 이고, 서브시스템(104)이 33 MHz PCI 버스를 포함하면, 프로세서 클럭(101)은 66 MHz에서 동작할 수 있으며, 서브시스템 클럭 주파수는 2로 분할하므로써 33 MHz가 되게 된다. 따라서, 프로세서(103) 및 서브시스템(104)은 그 최대 주파수에서 동작한다.
새로운 프로세서가 도입될 때, 이들 새로운 프로세서의 최대 동작 주파수가 최대 서브시스템 주파수를 얻기 위해 항상 분할될 수 있는 것은 아니다. 예를 들어, 75 MHz 프로세서(103)와 33 MHz PCI 서브시스템 버스를 가진 시스템에 있어서는, 75 MHz 프로세서 클럭을 33 MHz로 감소시킬 수 있는 정수로된 제수(divisor)는 없다. 75 MHz 프로세서 클럭을 2로 분할하면, 37.5 MHz 서브시스템 클럭이 발생되며, 이것은 최대 허용가능한 서브시스템 클럭 주파수를 초과하는 것이며, 따라서 이용불가능 하다. 75 MHz 프로세서 클럭을 3로 분할하면, 25 MHz 서브시스템 클럭이 발생되며, 이것은 이용가능하지만, 서브시스템 클럭이 최대 허용가능한 서브시스템 클럭 주파수 보다 8 MHz 아래에 있게 되는 결과를 초래한다. 결과적으로, 33 MHz 서브시스템 클럭 주파수를 사용하는 도1에 도시된 바와 같은 시스템에 있어서는, 66 MHz 프로세서로부터 75 MHz 프로세서로 승급시키는데 있어서의 속도 이익은 실익이 없을 수도 있다. 다시 말하면, 프로세서 속도에서의 이득이 서브시스템 버스 속도의 손실에 의해 상쇄될 수도 있다.
도2는 방금 전술한 문제에 대한 하나의 해결책을 제공하는 종래 기술의 컴퓨터 서브시스템을 도시하고 있다. 이 도면을 참조하면, 데이터는 인터페이스 유닛(203)을 통해 프로세서(201)와 서브시스템(202) 사이에서 전송될 수 있다. 프로세서 클럭(204)과 서브시스템 클럭(205)은 고정 주파수의 독립적이고 비동기적인 클럭이며, 한 클럭의 주파수가 다른 클럭의 주파수의 소정의 배수가 되어야 하는 요구조건은 없다. 그러므로, 프로세서(201)와 서브시스템(202)은 각각 그 고유의 독립적인 "클러킹 엔벨로프(Clocking envelopes)" 내에서 실행되며, 인터페이스 유닛(203)은 이들 2개의 엔벨로프 사이에서 데이터 전송을 처리한다. 이 시스템은 프로세서와 서브시스템이 모두 그 최대 허용가능한 동작 주파수에서 동작할 수 있도록 허용하지만, 한 클러킹 엔벨로프로부터 데이터를 받아들이고 그 데이터를 다른 엔벨로프의 클럭에 재동기화하는 인터페이스 및 그 기능과 관련된 많은 문제점 및 제한이 존재한다.
집적 회로 프로세서 칩에 있어서, 프로세서의 최대 동작(클러킹) 주파수는 온도 및 전원 공급 전압에 따라 변화된다. 예를 들어, 온도가 증가하면, 최대 동작 주파수는 통상적으로 낮아진다. 그러나, 최대 동작 주파수는 통상적으로 단일 주파수로서 지정되며, 이 단일 주파수는 온도와 전원 공급 전압의 최악의 경우의 조건하에서 지정된다. 결과적으로, 프로세서 클럭의 주파수는 통상적으로 최대 동작 주파수 명세와 동일하게 설정되는데, 이것은 온도와 전압의 실제적인 조건하에서, 프로세서의 최대 동작 능력 보다 2배 또는 그 이상 느리게 될 수도 있다.
종래 기술의 문제점 및 제한을 극복하기 위해, 이하에서는 프로세서와 서브시스템 사이에서 데이터를 전송 중일 때를 제외하고는, 프로세서 클럭과 서브시스템 클럭이 독립적이고 비동기적인 컴퓨터 시스템이 설명된다. 데이터 전송 중에, 프로세서 클럭은 서브시스템 클럭에 일시적으로 동기화되고, 전송이 완료되면, 프로세서 클럭은 그 비동기 모드 및 주파수로 복귀된다. 비록 프로세서 클럭은, 그 비동기 모드에서, 고정 주파수에서 동작할 수도 있지만, 프로세서 클럭의 일부로서 자유 실행 오실레이터(free running oscillator)가 사용될 수 있다. 이 자유 실행 오실레이터는 그 오실레이터의 주파수가 온도 및 전원 공급 전압에서의 변화에 따라 변화하도록, 프로세서와 동일한 집적 회로 칩상에 직접 구성되는 것이 바람직하다.
요약하면, 본 발명은 프로세서 및 프로세서 클럭을 구비한 집적 회로 칩을 포함하는 컴퓨터 시스템이다. 프로세서는 다수의 게이트를 포함하고, 프로세서 클럭은 자유 실행, 가변 주파수 오실레이터를 포함한다. 비동기 모드에서, 프로세서 클럭의 주파수는 부분적으로 칩의 온도 및 칩에 인가되는 전원 공급 전압에 의해 결정된다. 그러므로, 게이트의 전파 지연(propagation delay)이 온도 및 전압에서의 변화에 따라 감소됨에 따라, 프로세서 클럭의 주파수는 증가한다. 마찬가지로, 게이트의 전파 지연이 온도 및 전압에서의 변화에 따라 증가함에 따라, 프로세서 클럭의 주파수는 감소한다. 이 컴퓨터 시스템은 또한, 서브시스템 클럭을 구비한 서브시스템을 포함하고 있다. 이 컴퓨터 서브시스템은 프로세서와 서브시스템 사이에서 데이터가 전송될 수 있도록 프로세서에 결합된다. 신호 수단(signaling means)은 프로세서와 서브시스템 사이의 데이터 블록의 전송에 앞서는 동기화 신호를 발생한다. 또한, 프로세서 클럭과 서브시스템 클럭의 일시적인 동기화를 제공하는 동기화 수단이 포함되어 있다. 일시적인 동기화는 동기화 신호에 의해 개시되어, 데이터의 전송 완료시 종료된다. 따라서, 프로세서 클럭은 프로세서 클럭과 서브시스템 클럭이 동기화되어 있지 않은 비동기 모드와, 프로세서 클럭이 서브시스템 클럭에 동기화되어 있는 동기 모드에서 동작할 수 있다. 동기 모드는 데이터의 전송 중에 이용된다.
다른 실시예에서, 본 발명은 프로세서 및 그 프로세서에 결합된 프로세서 클럭을 포함하는 컴퓨터 시스템이다. 이 컴퓨터 시스템은 서브시스템 클럭을 포함한다. 이 서브시스템은 프로세서와 서브시스템 사이에서 데이터가 전송될 수 있도록 프로세서에 결합된다. 프로세서와 서브시스템 사이의 데이터 블록의 전송에 앞서는 동기화 신호를 발생하기 위한 신호 수단이 제공된다. 이 컴퓨터 시스템은 또한, 프로세서 클럭과 서브시스템 클럭의 일시적인 동기화를 제공하기 위한 동기화 수단을 포함한다. 일시적인 동기화는 동기화 신호에 의해 개시되고, 데이터 블록의 전송 완료시 종료된다. 따라서, 프로세서 클럭은 프로세서 클럭과 서브시스템 클럭이 동기화되어 있지 않은 비동기 모드와, 프로세서 클럭이 서브시스템 클럭에 동기화되어 있는 동기 모드에서 동작할 수 있다. 동기 모드는 데이터의 전송 중에 이용된다.
도1은 프로세서 클럭 주파수가 서브시스템 클럭 주파수의 정수배가 되는 종래 기술의 컴퓨터 시스템의 블록도.
도2는 프로세서와 서브시스템이 각각 독립적이고 비동기적인 클러킹 엔벨로프에 있으며, 데이터가 인터페이스 유닛을 통해 2개의 엔벨로프 사이에서 전달되는 종래 기술의 컴퓨터 시스템의 블록도.
도3은 프로세서 클럭이 데이터 전송 중에 서브시스템 클럭에 일시적으로 동기화될 수 있는 프로세서 및 서브시스템의 블록도.
도4는 링 오실레이터와 그 오실레이터를 외부 클럭 CE에 동기화시키기 위한 회로를 포함하는, 도3의 프로세서 클럭의 개략도.
도5 및 도6은 상태 머신으로서 구현될 수 있는, 도4의 동기화 회로의 상태도 및 상태 테이블을 각각 도시하는 도면.
도7은 도5 및 도6의 Si상태를 예시하는 타이밍도.
도8은 SYNCin이 활성상태로 천이할 때 CI와 CE가 동일한 극성을 갖고, CI가 CE에 앞서는 SI- SE상태 천이를 예시하는 타이밍도.
도9는 SYNCin이 활성상태로 천이할 때 CI와 CE가 동일한 극성을 갖고, CI가 CE에 뒤지는 SI- SE상태 천이를 예시하는 타이밍도.
도10은 SYNCin이 활성상태로 천이할 때 CI와 CE가 상이한 극성을 갖고, CI가 CE에 뒤지는 SI- SE상태 천이를 예시하는 타이밍도.
도11은 SYNCin이 활성상태로 천이할 때 CI와 CE가 상이한 극성을 갖고, CI가 CE에 앞서는 SI- SE상태 천이를 예시하는 타이밍도.
도12는 SE- SI상태 천이를 예시하는 타이밍도.
*도면의 주요 부분에 대한 부호의 설명
301:프로세서 302:프로세서 클럭
303:버스 인터페이스 논리회로 304:OR 게이트
305:서브시스템 306:서브시스템 버스
307:서브시스템 클럭
도3은 본 발명에 따른 프로세서 및 서브시스템의 블록도이다. 이 도면을 참조하면, 프로세서(301)는 프로세서 클럭(302)과 공지된 버스 인터페이스 논리 회로(303)를 포함하고 있다. 버스 인터페이스 논리 회로(303)로부터의 공지된 "데이터 전송" 또는 DATAtrn신호 출력은 OR 게이트(304)의 제1 입력을 통해 프로세서 클럭(302)의 SYNCin입력에 결합된다. DATAtrn신호는 프로세서(301)가 서브시스템 버스(306)를 통해 서브시스템(305)으로 전송될 필요가 있는 데이터를 갖고 있을 때마다 활성상태(active)로 된다. 서브시스템(305)은 그 고유의 독립적인 클럭인 서브시스템 클럭(307)을 포함하고 있으며, 이 클럭은 서브시스템 버스(306)의 서브시스템 클럭 라인에 결합된다. 이 서브시스템 클럭 라인은 또한, 프로세서 클럭(302)의 "외부 클럭" 또는 CE입력에도 접속된다. 서브시스템 버스(306)의 공지된 "데이터 준비(data ready)" 또는 DATArdy라인도 또한, OR 게이트(304)의 제2 입력을 통해 프로세서 클럭(302)의 SYNCin입력에 접속된다. DATArdy신호는 서브시스템(305)(또는 버스(306)에 접속된 다른 서브시스템이나장치)이 전송할 데이터를 갖고 있을 때마다 활성상태로 된다. 결과적으로, SYNCin입력이 활성상태일 때, 프로세서 클럭(301)은 그 내부 클럭을 CE의 외부 클럭 신호에 동기화한다. SYNCout은 프로세서 클럭이 외부 클럭 신호 CE에 동기화될 때 활성상태로 되며, 이 신호의 활성화는 두 클럭이 지금 동기화되어 있다는 것을 버스 인터페이스 논리회로(303)에 지시하는 것이다.
도4는 프로세서 클럭(302)의 한 실시예의 개략도이다. 이 도면을 참조하면, 링 오실레이터(401)는 인버터(402-406), "피드 포워드(feed forward)" 경로의 NOR 게이트(407-409), "교차(Cross over)" 경로의 NOR 게이트(410-412), 및 "피드백(feed baCk)" 경로의 NOR 게이트(413-415)를 포함하고 있다. 요약하면, 인버터(406)의 출력이 동기화 회로(416)를 통해 인버터(402)의 입력에 결합되면, 폐쇄 루프가 형성되고, 발진 주파수는 루프내의 인버팅 스테이지의 총수에 의해 결정된다. 보다 정확하게 말하면, 발진 주파수는 루프내의 각각의 스테이지를 통한 신호의 전파 지연의 합계에 의해 결정된다.
루프내의 스테이지의 수는 적절한 제어 라인 "A", "B" 및 "C"를 활성상태 또는 비활성상태로 셋트하는 제어 회로(도시 안됨)에 의해 결정된다. 예를 들어, A=1, B=0, C=1 일 때, "교차" 경로의 NOR 게이트(410,412)의 출력은 0이되고, 따라서 NOR 게이트(410,412)를 효과적으로 오프(OFF) 상태로 스위칭한다. 그러나, B=0 이기 때문에, NOR 게이트(411)는 피드 포워드 경로의 NOR 게이트(407)의 출력을 반전시켜 피드백 경로의 NOR 게이트(414)의 입력에 결합시키므로써 인버터로서 작용한다. 이것은 인버터(402,403), NOR 게이트(407,411,414,413), 인버터(406) 및 동기화 회로(416)(이때 동기화 회로는 외부 클럭 신호 CE에 동기화되지 않은 모드에 있는 것으로 가정함)로 이루어진 폐쇄 루프를 형성한다. 링 오실레이터(401)에 대해서는 본 명세서에 참조로써 병합된 미국 특허 제 4,978,927호에 보다 상세하게 기재되어 있다.
본 발명의 한 실시예에 있어서, 오실레이터(401)는 프로세서(301)를 포함하는 집적회로의 일부로서 일체적으로 형성된다. 다시 말하면, 이 오실레이터(401)는 프로세서(301)와 동일한 실리콘 칩 또는 반도체 물질 상에 형성된다. 본 실시예에서, 또한, 비록 필수적인 것은 아니지만, 오실레이터(401)가 프로세서(301)와 동일한 집적회로 제조 기술을 이용하여 구성되는 것이 바람직하다. 예를 들어, 만일 프로세서(301)가 특정 바이폴라 기술을 이용하여 구성되면, 오실레이터(401)도 역시 동일한 바이폴라 기술을 이용하여 구성되는 것이 바람직하다.
반도체 칩의 온도 및 그 칩에 인가되는 전압은 칩상의 게이트 및 다른 회로 각각을 통한 신호의 전파 지연에 직접적으로 영향을 준다. 예를 들어, 온도가 상승함에 따라 전파 지연은 통상적으로 증가하여 칩의 최대 동작 속도를 실제적으로 감소시키게 된다. 그러므로, 종래의 컴퓨터 시스템에서, 프로세서의 최대 동작 속도는 통상적으로 최악의 경우의 온도 및 전압 조건에 근거하여 선택되며, 고정 주파수 오실레이터가 사용된다(오실레이터 주파수는 이들 최악의 경우의 조건에 근거하여 선택된다). 온도 및 전압의 다른 조건하에서는, 프로세서의 최대 동작 속도가 상당히 증가할 수도 있다. 그러나, 종래의 시스템에서, 프로세서는 고정 주파수 오실레이터에 의해 제한받으며, 프로세서 최대 성능에서의 어떠한 개선도 유용하지 않다.
오실레이터(401)와 프로세서(301)가 동일한 칩상에 구성되는 본 발명의 실시예에 있어서, 프로세서의 최대 동작 속도의 개선을 유발하는 온도 및 전압에서의 변화는 또한 오실레이터의 주파수에 대해서도 상응하는 변화를 유발한다. 다시 말하면, 프로세서의 최대 동작 속도가 증가함에 따라, 또한 오실레이터의 주파수에서의 상응하는 증가가 이루어진다.
동기화 회로(416)는, SYNCin이 활성상태에 있을 때에만, 입력 CI의 링 오실레이터의 내부 클럭 신호를 입력 CE의 외부 클럭 신호(서브시스템 클럭)에 동기화시킨다. SYNCin이 비활성상태에 있으면, 프로세서 클럭은 그 고유의 내부 주파수에서 자유 실행(free run)된다. 동기화 회로(416)는 도5 및 도6에 각각 도시된 상태도 및 상태 테이블에 따라 동작하는 공지된 상태 머신으로서 구현되는 것이 바람직하다. 도5 및 도6을 참조하면, 5가지 상태 SA, SB, SC, SE, 및 SI를 가진 상태도 및 상태 테이블이 각각 도시되어 있다. 요약하면, 상태 SI는 내부 프로세서 클럭이 외부 서브시스템 클럭에 동기화되지 않고 자유 실행 상태에 있을 때의 동기화 회로(416)의 상태이고, 반면에, 상태 SE는 동기화가 이루어진 후의 상태이다. 상태 SA,SB, 및 SC는 천이(transitional) 상태이다. 예를 들어, 만일 프로세서 클럭이 자유 실행 상태이고 SYNCin이 비활성상태(0)에 있으면, 도6의 상태 테이블의 제1 및 제2 라인은 "차기 상태(next state)"가 동일한 상태, 즉 SI에 있게 된다는 것을 나타낸다. SI 상태에 대한 타이밍도는 도7에 도시되어 있다.
만일 상태 테이블의 제3 라인에 도시된 바와 같이, CI와 CE가 모두 하이상태인 동안에 SYNCin이 활성상태로 되면, 차기 상태는 상태 SA에 있게 된다. 상태 SA에 도달한 이후에는, 상태 테이블의 제7 및 제8 라인에 도시된 바와 같이, 차기 상태는 상태 SB에 있게 된다. 상태 SB로부터, 동기화 회로는 상태 테이블의 제11 및 제12 라인에 도시된 바와 같이, 상태 SE로 이동한다. 상태 SE에 있고 SYNCin이 활성상태(1)로 유지되면, 상태 테이블의 제13 및 제14 라인에 도시된 바와 같이, SYNCout은 활성상태(1)에 있게 되고, 내부 클럭은 입력 CE의 외부 클럭에 동기화 된다. 도8 및 도9에는, SYNCin이 활성상태로 천이할 때 CI와CE가 모두 하이상태인, SI로부터 SE 상태로의 천이에 대한 타이밍도가 도시되어 있다(도8에서는 CI가 CE 보다 앞서 로우상태로 천이하고, 도9에서는 CE가 CI 보다 앞서 천이한다는 점에서 도8과 도9는 다르다). 또한, 도10과 도11은 SYNCin이 활성상태로 천이할 때 CE와 CI가 반대 극성으로 되는 유사한 타이밍도를 도시하고 있다.
프로세서(301)와 서브시스템(305) 사이에서 데이터를 전송한 이후에는, 더 이상 동기화가 요구되지 않으며, 프로세서 클럭은 서브시스템 클럭 보다 높은 주파수에서 자유 실행되기 때문에, 바람직하게도 프로세서로 하여금 다시 비동기적으로 실행될 수 있도록 한다. 이러한 천이에 대해서는, 상태 테이블의 마지막 2개의 라인에 도시되어 있는데, 여기서는 SYNCin이 비활성상태(0)로 천이하고, "차기 상태"는 SI 상태이다. SE로부터 SI 상태로의 천이에 대한 타이밍도는 도12에 도시되어 있다.
도8 내지 도11의 타이밍도를 참조하면, 동기화 회로(416)의 한가지 중요한 특징, 특히, 상태 SI로부터 SE로의 천이시 어떤 지점에서도, 자유 실행상태인 비동기 상태의 그 주기(또는 반주기) 보다 짧은 프로세서 클럭(CI)의 주기(또는 반주기)가 없다는 것을 주목하자. 다시 말하면, 동기화 회로(416)는 항상 프로세서 클럭이 자체적으로 외부 서브시스템 클럭과 동기화될 때까지 프로세서 클럭을 "연장(stretch)"시키며, 따라서, 프로세서 클럭의 한 사이클(또는 반 사이클)이 프로세서의 최대 동작 속도를 초과하지 않도록 방지한다.
전술한 바와 같은 본 발명에 따르면, 프로세서와 서브시스템 사이에서 데이터를 전송 중일 때를 제외하고는, 프로세서 클럭과 서브시스템 클럭이 독립적이고 비동기적으로 동작할 수 있는 컴퓨터 시스템이 제공된다.

Claims (6)

  1. (1) 프로세서 및 프로세서 클럭 - 여기서, 상기 프로세서는 다수의 게이트를 포함하고, 상기 프로세서 클럭은 자유 실행(free running), 가변 주파수 오실레이터를 포함하고, 상기 프로세서 클럭의 주파수는, 비동기 모드에서, 상기 칩의 온도와 상기 칩에 인가되는 전압에 의해 부분적으로 결정되며, 따라서, 상기 게이트의 전파 지연이 상기 온도 및 전압에서의 변화에 따라 감소할 때에는 상기 프로세서 클럭의 주파수는 증가하고, 상기 게이트의 전파 지연이 상기 온도 및 전압에서의 변화에 따라 증가할 때에는 상기 프로세서 클럭의 주파수는 감소하도록 되어 있음 - 을 포함하는 집적회로 칩;
    (2) 서브시스템 클럭을 구비한 컴퓨터 서브시스템 - 상기 컴퓨터 서브시스템은 상기 프로세서와 상기 서브시스템 사이에서 데이터가 전송될 수 있도록 상기 프로세서에 결합됨 - ;
    (3) 상기 프로세서와 상기 서브시스템 사이의 데이터 블록의 전송에 앞서는 동기화 신호를 발생하기 위한 신호 수단; 및
    (4) 상기 프로세서 클럭과 상기 서브시스템 클럭의 일시적인 동기화를 제공하기 위한 동기화 수단 - 여기서, 상기 일시적인 동기화는 상기 동기화 신호에 의해 개시되고 데이터 블록의 전송 완료시 종료됨 - 을 포함하고,
    상기 프로세서 클럭은, 상기 프로세서 클럭과 상기 서브시스템 클럭이 동기화되지 않은 비동기 모드와 상기 프로세서 클럭이 상기 서브시스템 클럭에 동기화되는 동기 모드 중 선택된 모드에서 동작하며, 상기 동기 모드는 데이터 블록의 전송 중에 선택되는
    컴퓨터 시스템.
  2. 제1항에 있어서,
    상기 가변 주파수 오실레이터는 링 오실레이터인
    컴퓨터 시스템.
  3. 제1항에 있어서,
    상기 동기화 수단은, 동기화 신호에 응답하여, 동기화가 실현될 때까지 프로세서 클럭의 펄스폭을 연장시키는 상태 머신을 포함하는
    컴퓨터 시스템.
  4. 제2항에 있어서,
    상기 동기화 수단은, 동기화 신호에 응답하여, 동기화가 실현될 때까지 프로세서 클럭의 펄스폭을 연장시키는 상태 머신을 포함하는
    컴퓨터 시스템.
  5. (1) 프로세서;
    (2) 상기 프로세서에 결합된 프로세서 클럭;
    (3) 서브시스템 클럭을 구비한 컴퓨터 서브시스템 - 상기 컴퓨터 서브시스템은 상기 프로세서와 상기 서브시스템 사이에서 데이터가 전송될 수 있도록 상기 프로세서에 결합됨 - ;
    (4) 상기 프로세서와 상기 서브시스템 사이의 데이터 블록의 전송에 앞서는 동기화 신호를 발생하기 위한 신호 수단; 및
    (5) 상기 프로세서 클럭과 상기 서브시스템 클럭의 일시적인 동기화를 제공하기 위한 동기화 수단 - 여기서, 상기 일시적인 동기화는 상기 동기화 신호에 의해 개시되고 데이터 블록의 전송 완료시 종료됨 - 을 포함하고,
    상기 프로세서 클럭은, 상기 프로세서 클럭과 상기 서브시스템 클럭이 동기화되지 않은 비동기 모드와 상기 프로세서 클럭이 상기 서브시스템 클럭에 동기화되는 동기 모드 중 선택된 모드에서 동작하며, 상기 동기 모드는 데이터 블록의 전송 중에 선택되는
    컴퓨터 시스템.
  6. 제5항에 있어서,
    상기 동기화 수단은, 동기화 신호에 응답하여, 동기화가 실현될 때까지 프로세서 클럭의 펄스폭을 연장시키는 상태 머신을 포함하는
    컴퓨터 시스템.
KR1019970072657A 1997-01-22 1997-12-23 데이터 전송 중에 서브시스템 클럭에 일시적 동기화를 위한 자유 실행 클럭을 구비한 프로세서 KR100278258B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US8/787,556 1997-01-22
US08/787556 1997-01-22
US08/787,556 US5794019A (en) 1997-01-22 1997-01-22 Processor with free running clock with momentary synchronization to subsystem clock during data transfers

Publications (2)

Publication Number Publication Date
KR19980070203A KR19980070203A (ko) 1998-10-26
KR100278258B1 true KR100278258B1 (ko) 2001-01-15

Family

ID=25141875

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970072657A KR100278258B1 (ko) 1997-01-22 1997-12-23 데이터 전송 중에 서브시스템 클럭에 일시적 동기화를 위한 자유 실행 클럭을 구비한 프로세서

Country Status (4)

Country Link
US (1) US5794019A (ko)
JP (1) JPH10222243A (ko)
KR (1) KR100278258B1 (ko)
TW (1) TW378295B (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5964866A (en) * 1996-10-24 1999-10-12 International Business Machines Corporation Elastic self-timed interface for data flow elements embodied as selective bypass of stages in an asynchronous microprocessor pipeline
US7310811B1 (en) 1997-07-15 2007-12-18 At&T Corp. Interaction modalities for multimedia delivery and presentation
US6751717B2 (en) 2001-01-23 2004-06-15 Micron Technology, Inc. Method and apparatus for clock synchronization between a system clock and a burst data clock
US7197658B2 (en) * 2003-12-31 2007-03-27 Intel Corporation Synchronizing samples of a multimedia stream with a system clock
US7356618B2 (en) * 2003-12-31 2008-04-08 Intel Corporation Method and system for synchronizing platform clocks in a distributed wireless platform
US7266713B2 (en) * 2004-01-09 2007-09-04 Intel Corporation Apparatus and method for adaptation of time synchronization of a plurality of multimedia streams
JP4524566B2 (ja) * 2004-01-30 2010-08-18 セイコーエプソン株式会社 非同期プロセッサ、電気光学装置、及び電子機器
US20060088137A1 (en) * 2004-10-25 2006-04-27 Broadcom Corporation Multi-frequency clock stretching systems
US8015428B2 (en) * 2007-06-12 2011-09-06 Renesas Electronics Corporation Processing device and clock control method
CN100476694C (zh) * 2007-09-28 2009-04-08 中国科学院计算技术研究所 一种多核处理器及其变频装置和核间通信方法
JP5173751B2 (ja) * 2008-11-10 2013-04-03 パナソニック株式会社 同期・非同期制御部を有するコンピュータシステム
US9535778B2 (en) 2013-03-15 2017-01-03 International Business Machines Corporation Reestablishing synchronization in a memory system
US9092330B2 (en) 2013-03-15 2015-07-28 International Business Machines Corporation Early data delivery prior to error detection completion
US9146864B2 (en) 2013-03-15 2015-09-29 International Business Machines Corporation Address mapping including generic bits for universal addressing independent of memory type
US9142272B2 (en) * 2013-03-15 2015-09-22 International Business Machines Corporation Dual asynchronous and synchronous memory system
US9430418B2 (en) 2013-03-15 2016-08-30 International Business Machines Corporation Synchronization and order detection in a memory system
US9136987B2 (en) 2013-03-15 2015-09-15 International Business Machines Corporation Replay suspension in a memory system

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5266346A (en) * 1975-11-29 1977-06-01 Tokyo Electric Co Ltd Synch. clock control of microcomputer system
JPS5629730A (en) * 1979-08-17 1981-03-25 Hitachi Ltd Interface control system
JPS56105524A (en) * 1980-01-28 1981-08-22 Canon Inc Phase synchronizing device
US4346343A (en) * 1980-05-16 1982-08-24 International Business Machines Corporation Power control means for eliminating circuit to circuit delay differences and providing a desired circuit delay
US4383216A (en) * 1981-01-29 1983-05-10 International Business Machines Corporation AC Measurement means for use with power control means for eliminating circuit to circuit delay differences
US4827401A (en) * 1984-10-24 1989-05-02 International Business Machines Corporation Method and apparatus for synchronizing clocks prior to the execution of a flush operation
JPS63260218A (ja) * 1987-04-16 1988-10-27 Nec Corp 制御発振器
US5428754A (en) * 1988-03-23 1995-06-27 3Dlabs Ltd Computer system with clock shared between processors executing separate instruction streams
US4978927A (en) * 1989-11-08 1990-12-18 International Business Machines Corporation Programmable voltage controlled ring oscillator
JPH0483413A (ja) * 1990-07-26 1992-03-17 Seiko Epson Corp 発振回路及び集積回路
JPH04365111A (ja) * 1991-06-13 1992-12-17 Mitsubishi Electric Corp 同期回路
JP3190398B2 (ja) * 1991-12-24 2001-07-23 松下電器産業株式会社 データ入出力制御装置及び方法
US5396111A (en) * 1993-03-11 1995-03-07 Data General Corporation Clocking unit for digital data processing
US5537582A (en) * 1993-05-21 1996-07-16 Draeger; Jeffrey S. Bus interface circuitry for synchronizing central processors running at multiple clock frequencies to other computer system circuitry
US5422914A (en) * 1993-09-07 1995-06-06 Motorola, Inc. System and method for synchronizing data communications between two devices operating at different clock frequencies
JPH07253824A (ja) * 1994-03-14 1995-10-03 Toshiba Corp 動作速度自動補正回路及び通信制御回路
US5450458A (en) * 1994-08-05 1995-09-12 International Business Machines Corporation Method and apparatus for phase-aligned multiple frequency synthesizer with synchronization window decoder
JPH096726A (ja) * 1995-06-15 1997-01-10 Fuji Electric Co Ltd データ処理装置
JPH09223395A (ja) * 1996-02-20 1997-08-26 Mitsubishi Electric Corp 半導体記憶装置

Also Published As

Publication number Publication date
US5794019A (en) 1998-08-11
KR19980070203A (ko) 1998-10-26
TW378295B (en) 2000-01-01
JPH10222243A (ja) 1998-08-21

Similar Documents

Publication Publication Date Title
KR100278258B1 (ko) 데이터 전송 중에 서브시스템 클럭에 일시적 동기화를 위한 자유 실행 클럭을 구비한 프로세서
US4973860A (en) Circuit for synchronizing an asynchronous input signal to a high frequency clock
US5317601A (en) Clock distribution system for an integrated circuit device
KR970006395B1 (ko) 싱크로나이저 장치 및 그 방법
US6975145B1 (en) Glitchless dynamic multiplexer with synchronous and asynchronous controls
US5914996A (en) Multiple clock frequency divider with fifty percent duty cycle output
US5548620A (en) Zero latency synchronized method and apparatus for system having at least two clock domains
KR100398480B1 (ko) 디엘엘 회로, 이를 사용하는 반도체 장치 및 지연 제어 방법
US5706484A (en) Method for eliminating transition direction sensitive timing skews in a source synchronous design
US5517147A (en) Multiple-phase clock signal generator for integrated circuits, comprising PLL, counter, and logic circuits
US5793227A (en) Synchronizing logic avoiding metastability
JPH07253947A (ja) データ通信装置
US5774001A (en) Method for eliminating multiple output switching timing skews in a source synchronous design
US7821850B2 (en) Semiconductor digital circuit, FIFO buffer circuit, and data transferring method
US5638019A (en) Accurately generating precisely skewed clock signals
JP2579237B2 (ja) フロースルーラッチ回路を有する状態素子回路、該状態素子回路を有するvlsi回路、及びラッチをマスタースレーブフリップフロップの機能的代替物として作動する方法
US6624681B1 (en) Circuit and method for stopping a clock tree while maintaining PLL lock
US20040193931A1 (en) System and method for transferring data from a first clock domain to a second clock domain
US6535048B1 (en) Secure asynchronous clock multiplexer
US5723995A (en) Method for eliminating process variation timing skews in a source synchronous design
US4926451A (en) Timing controller for high-speed digital integrated circuit
CA2116825C (en) Clocking unit for digital data processing
JP2002524790A (ja) 同期多相クロック分配システム
KR19980078161A (ko) 반도체 메모리 소자의 딜레이 루프 럭크 회로
US7333516B1 (en) Interface for synchronous data transfer between domains clocked at different frequencies

Legal Events

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

Payment date: 20030808

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee