KR100958966B1 - 클럭 분배 도메인들로의 클럭 분배 순서 제어 - Google Patents

클럭 분배 도메인들로의 클럭 분배 순서 제어 Download PDF

Info

Publication number
KR100958966B1
KR100958966B1 KR1020077022370A KR20077022370A KR100958966B1 KR 100958966 B1 KR100958966 B1 KR 100958966B1 KR 1020077022370 A KR1020077022370 A KR 1020077022370A KR 20077022370 A KR20077022370 A KR 20077022370A KR 100958966 B1 KR100958966 B1 KR 100958966B1
Authority
KR
South Korea
Prior art keywords
clock
ckdoms
distribution
clock distribution
signals
Prior art date
Application number
KR1020077022370A
Other languages
English (en)
Other versions
KR20070110400A (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 KR20070110400A publication Critical patent/KR20070110400A/ko
Application granted granted Critical
Publication of KR100958966B1 publication Critical patent/KR100958966B1/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/10Distribution of clock signals, e.g. skew

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)
  • Power Sources (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Manipulation Of Pulses (AREA)

Abstract

본 발명의 일 실시예는 회로로의 클럭 분배를 제어하기 위한 기술이다. 스케줄러는 회로의 상태 지위에 따라 회로의 복수의 CKDOM(clock distribution domains)으로의 클럭 신호들의 클럭 분배 순서를 예정한다. 제어기는 예정된 순서에 따라 CKDOM들로의 클럭 분배를 인에이블하는 것을 제어한다.
Figure R1020077022370
클럭 분배, 순서, PLL(phase-locked loop) 회로, CKDOM(clock distribution domain), 상태 지위

Description

클럭 분배 도메인들로의 클럭 분배 순서 제어{CONTROLLING SEQUENCE OF CLOCK DISTRIBUTION TO CLOCK DISTRIBUTION DOMAINS}
본 발명의 실시예들은 마이크로 프로세서 분야에 관련되고, 보다 상세하게는 클럭 분배에 관련된다.
고성능 마이크로 프로세서들의 속도가 점점 더 빨라질수록, 믿을 수 있는 클럭 생성을 갖는 것이 유리하다. 통상적으로 클럭 신호들은 프로세서의 코어 내의 몇몇 회로 요소들로 라우팅된다. 프로세서의 전력 상태가 변할때, 클럭 분배 네트워크는 비활성 상태로부터 활성 상태로의 천이들, 또는 그 반대를 경험할 수 있다. 이러한 천이들은 프로세서 상의 민감한 또는 혼합된 신호 회로들에 악영향을 줄 수 있는 거대한 시스템 전원 공급장치 불안들을 초래할 수 있다.
클럭 분배의 천이들의 문제를 다루는 기존의 기술들은 수많은 불편들을 갖는다. 하나의 기술은 공급 불안들을 견디기 위한 특수 회로들을 만드는 것이다. 이러한 기술은 비용이 많이 들고, 부가적인 실리콘 영역을 필요로 한다. 그것은 다양한 불안 현상을 다루기에 충분히 유연하지도 않다.
본 발명의 실시예들은 본 발명의 실시예들을 예시하는 데 사용된 이하의 설 명 및 첨부 도면들을 참조하여 가장 잘 이해될 수 있다.
도 1A는 본 발명의 일 실시예가 실시될 수 있는 시스템을 예시하는 도면이다.
도 1B는 본 발명의 일 실시예에 따른 프로세서 코어를 예시하는 도면이다.
도 2는 본 발명의 일 실시예에 따른 클럭 분배 시퀀서를 예시하는 도면이다.
도 3은 본 발명의 일 실시예에 따른 비활성 상태로부터 활성 상태로의 클럭 분배 순서를 예시하는 타이밍도이다.
도 4는 본 발명의 일 실시예에 따른 활성 상태로부터 비활성 상태로의 클럭 분배 순서를 예시하는 타이밍도이다.
도 5는 본 발명의 일 실시예에 따른 클럭 분배 순서를 제어하기 위한 프로세스를 예시하는 플로우차트이다.
본 발명의 일 실시예는 회로의 클럭 분배를 제어하기 위한 기술이다. 스케줄러는 회로의 상태 지위에 따라 회로의 복수의 CKDOM(clock distribution domains)으로의 클럭 신호들의 클럭 분배 순서를 예정한다. 제어기는 예정된 순서에 따라 CKDOM들로의 클럭 분배를 인에이블하는 것을 제어한다.
이하의 설명에서, 다수의 특정한 세부사항들이 개시된다. 그러나 본 발명의 실시예들이 이러한 특정한 세부사항들 없이 실시될 수 있다는 것이 이해된다. 다른 예들에서, 본 설명의 이해를 모호하게 하는 것을 피하기 위해 공지의 회로들, 구조들, 및 기술들이 도시되지 않았다.
본 발명의 일 실시예는 보통 플로우차트, 흐름도, 구조도, 또는 블록도로서 묘사되는 프로세스로서 기술될 수 있다. 플로우차트가 동작들을 순차적인 프로세스로서 기술할 수 있지만, 동작들 중 다수는 병렬로 또는 동시에 수행될 수 있다. 게다가, 동작들의 차례는 재배열될 수 있다. 프로세스는 그 동작들이 완료되었을 때 종료된다. 프로세스는 방법, 프로그램, 절차, 제조 또는 제작 방법 등에 대응할 수 있다.
본 발명의 일 실시예는 회로에 대한 클럭 분배를 제어하기 위한 기술이다. 회로는 복수의 CKDOM을 포함한다. CKDOM들 각각은 클럭 생성기에 의해 제공되는 클럭 신호를 사용한다. 클럭 시퀀서는 회로가 그 상태 지위를 변경할 때 CKDOM들 각각이 클럭 신호를 인에이블 또는 디스에이블하기 위한 인에이블 또는 디스에이블 제어 신호를 하나씩 수신하도록 CKDOM들로의 클럭 분배 순서를 제어한다. 예정된 순서에 따라 클럭 신호들을 분배함에 의해, 회로에 존재하는 전력 불안들, 전류 서지, 또는 잡음이 감소되어 회로의 상태 변화 동안 믿을 수 있는 동작을 제공한다.
도 1A는 본 발명의 일 실시예가 실시될 수 있는 시스템(10)을 예시하는 도면이다. 시스템(10)은 프로세서(20), 칩셋(30), 및 주 메모리(40)를 포함한다. 시스템(10)은 대용량 저장 디바이스(예를 들면, CDROM(compact disk read only memory), 하드 드라이브), 입력/출력 디바이스들(예를 들면, 마우스, 키보드, 디스플레이 모니터), 및 다른 칩셋들과 같은 다른 요소들을 포함할 수 있다.
프로세서(20)는 클럭 분배를 갖는 임의의 집적 회로를 대표한다. 이것은 거대한, 고밀도의, 또는 고전력 디바이스들을 포함할 수 있다. 이러한 디바이스들의 예들은 마이크로 프로세서들, 미디어 프로세서들, 네트워크 디바이스들, 칩셋들, 그래픽 프로세서 등일 수 있다. 마이크로 프로세서일 경우, 프로세서(20)는 하이퍼스레딩(hyper-threading), 보안, 또는 가상화 기술들을 사용하는 프로세서들, 단일 코어 프로세서들, 멀티 코어 프로세서들, 내장형 프로세서들, 모바일 프로세서들, 네트워크 프로세서들, 마이크로 컨트롤러들, 디지털 신호 프로세서들, 수퍼스칼라 컴퓨터들, 벡터 프로세서들, SIMD(single instruction multiple data) 컴퓨터들, CISC(complex instruction set computers), RISC(reduced instruction set computers), VLIW(very long instruction word), 또는 하이브리드 아키텍처와 같은 임의의 유형의 아키텍처의 CPU일 수 있다. 그것은 프로세서 코어(25) 및 기준 클럭원(28)을 포함한다. 프로세서(25)는 순차적 클럭 분배 제어 기능들을 갖는 회로들을 포함한다. 기준 클럭원(28)은 안정된 클럭 신호를 프로세서 코어(25)에 제공한다. 기준 클럭원(28)의 예들은 외부 수정 발진기(crystal oscillator)들 또는 임의의 다른 클럭원들에 인터페이스하기 위한 회로를 포함할 수 있다.
칩셋(30)은 메모리 제어, 그래픽 프로세싱, 및 입력/출력 인터페이스들과 같은 통합된 기능들을 제공하는 임의의 칩셋이다. 칩셋(30)의 예들은 MCH(memory control hub), ICH(input/output control hub), 및 GMCH(graphics and memory control hub)를 포함할 수 있다. 메모리(40)는 프로세서에 대한 명령어들 또는 데이터를 포함한다. 그것은 ROM(read-only memory), 및 RAM(random access memory), 플래시 메모리, 또는 프로세서(20)에 의해 액세스될 수 있는 임의의 다른 적절한 메모리일 수 있다. 칩셋(30)은 프로세서(20)에 대해 외부 또는 내부일 수 있다. 예를 들면, 메모리 컨트롤러는 프로세서와 동일한 다이에 있을 수 있다. 멀티 코어 프로세서들에 대해, 칩셋(30)은 칩의 모든 코어 또는 프로세서들을 위해 작동할 수 있거나, 또는 칩의 상이한 코어들 도는 프로세서들에 대해 개별적으로 작동할 수 있는 상이한 부분들을 포함할 수 있다.
도 1B는 본 발명의 일 실시예가 실시될 수 있는 프로세서 코어(25)를 예시하는 도면이다. 프로세서 코어(25)는 회로(110), 클럭 생성기(120), 및 클럭 분배 시퀀서(130)를 포함한다.
회로(110)는 클럭 분배 시퀀서(130)로부터 클럭 신호들을 수신하는 임의의 회로이다. 일 실시예에서, 회로(110)는 회로의 동작적 상태들의 지위를 가리키는 상태 지위(state status)를 갖는다. 상태 지위는 비활성 상태로부터 활성 상태로 또는 활성 상태로부터 비활성 상태로의 천이를 가리킬 수 있다. 활성 상태는 회로(110)가 정상적으로 동작하고 있거나 파워 업 상태에 있는 상태이다. 활성 상태에서, 회로(110)는 다양한 회로 요소들을 클러킹하기 위한 클럭 신호들을 수신한다. 비활성 상태는 프로세서가 유휴 상태이거나, 대기 모드, 또는 파워 다운 상태에 있는 상태이다. 비활성 상태에서, 회로(110)는 클럭 신호들을 수신하지 않는다. 통상적으로, 활성 상태는 정상 기능의, 고 전력소비 모드에 대응하고, 비활성 상태는 저전력 또는 대기 모드에 대응한다.
회로(110)는 N 개의 CKDOM(1201 내지 120N)을 포함한다. CKDOM은 공통 클럭 신호를 이용하여 동작하는 프로세서(100) 상의 회로 요소들을 포함한다. 각 CKDOM의 회로 요소들은 디지털 컴포넌트들, 아날로그 컴포넌트들, 또는 혼합 모드(mixed-mode) 컴포넌트들을 포함할 수 있다. 회로 요소들은 소정의 기준에 기초하여 CKDOM으로 그룹화된다. 이러한 기준들의 예들은 클럭 신호들의 부하 분배, 크로스토크 간섭들, 물리적 위치 등을 포함한다. CKDOM들의 개수는 회로(110)의 복잡성 또는 클럭 부하에 의존한다. 그것은 클럭 생성기(120) 상의 회로(110)의 동시 스위칭 용량성 부하(concurrent switching capacitive load)의 영향에도 의존한다. 일 실시예에서, CKDOM들은 회로 요소들이 회로의 물리적 레이아웃에 걸쳐 분배 또는 분산되도록 형성된다. 이러한 그룹화 기법의 이점은 CKDOM들이 순차적으로 전력을 공급받을 때, 또는 파워 다운될 때 전력 순서가 전체 회로에 걸쳐 공급 스트레스를 고르게 분배하여서, 좁은 영역에 집중되지 않게 한다는 점이다.
클럭 생성기(120)는 버스 클럭과 같은 기준 클럭 신호를 수신하고, CKDOM으로의 복수의 클럭 신호를 생성한다. 클럭 생성기(120)로부터의 출력의 주파수는 알파 인자와 클럭 생성기(120)로의 입력 주파수의 곱일 수 있고, 여기서 알파는 0이 아닌 임의의 양의 실수 또는 정수일 수 있다. 통상적으로 버스 클럭 신호는 ㎒ 단위인 반면 클럭 생성기(120)에 의해 생성되는 클럭 신호들은 ㎓ 단위이다. 일 실시예에서, 클럭 생성기(120)는 PLL(phase-locked loop) 회로를 포함한다. PLL 회로는 본 기술분야에서 공지된 기술들을 사용하여 버스 클럭으로부터 클럭 신호들을 생성한다. 통상적으로 PLL 회로는 회로가 클럭 신호에 동기(lock)하려고 시도하는 동기 획득 시간(lock acquisition time)을 갖는다. 이 동기 획득 시간 동안, 동기가 믿을 수 있게 수행되도록 회로 환경이 조용하거나 잡음이 없는 것이 바람직하다.
클럭 분배 시퀀서(130)는 회로(110)의 CKDOM들로의 클럭 분배 순서를 제어한다. 시스템 상태 천이 동안, 클럭 분배 시퀀서(130)는 클럭 신호를 수신하여 CKDOM들에 제어 조치들을 제공할 수 있다. 클럭 분배 시퀀서(130)는 클럭 신호들의 클럭 생성기(120)로부터 회로(110)의 CKDOM들로의 클럭 분배를 순차적으로 또는 하나씩 인에이블 또는 활성화한다. 클럭 분배의 활성화는 시간이 지나면서 동요되어 전력 소비에서의 변화를 분배한다. 이러한 순차적 클럭 분배는 전력 소비에서의 점진적인 변화를 제공한다. 상태 천이 동안의 이러한 점진적인 변화의 효과는 전력 소모의 매끄러운 천이를 제공하여 클럭 생성기(120)에 대해 조용하거나 덜 시끄러운 환경을 초래한다.
비활성 상태 동안, CKDOM들은 클럭 신호들을 수신하지 않는다. 데이터의 손실을 피하기 위해 클러킹을 필요로 하는 동적 요소들을 갖는 CKDOM들에 있어서, 비활성 상태는 통상적으로 CKDOM들이 어떠한 유용한 정보도 유지할 것이라고 기대되지 않는 파워 다운 상태이다. 이러한 시나리오에서, 시퀀서(130)에 의해 제공되는 순차적인 클럭 분배는 파워 업 기간 동안 가장 유용하다. 그러나 CKDOM들이 대기 모드 동안 클러킹이 필요하지 않은 정적 요소들을 포함할 경우, 파워 업 기간 동안 또는 정적 대기 모드가 수용 가능한 임의의 다른 기간 동안 순차적인 클럭 분배가 사용될 수 있다. 그리하여 클럭 분배 시퀀서(130)는 비활성 상태 동안 CKDOM들의 회로 요소들에 대한 클러킹이 필요하지 않는 변경 상태를 갖는 임의의 응용들에서 사용될 수 있다.
도 2는 본 발명의 일 실시예에 따른 클럭 분배 시퀀서(130)를 예시하는 도면이다. 클럭 분배 시퀀서는 스케줄러(210) 및 제어기(250)를 포함한다.
스케줄러(210)는 회로(110)의 상태 지위에 따라 클럭 신호들의 회로(110)의 CKDOM들로의 클럭 분배 순서를 예정한다. 클럭 분배 순서는 클럭 생성기(120)의 PLL 회로의 동기 획득 시간 동안의 조용한 간격의 순서에 대응한다. 이것은 시스템 상태의 천이에 의해 야기되는 전류 서지 또는 전력 불안들의 악영향을 감소시키는 것을 돕는다. 스케줄러(210)는 타이머(220) 및 저장 요소들(2401 내지 240N)을 포함한다. 타이머(220)는 순서에 대해 타이밍 신호들을 생성하도록 버스 클럭에 의해 클러킹된다. 일 실시예에서, 타이머(220)는 회로(110) 내의 N 개의 CKDOM에 대응하는 N 개의 카운터(2301 내지230N)을 포함한다. N 개의 카운터(2301 내지 230N) 각각은 CKDOM들 각각에 대해 예정된 순서에서의 대기 기간(waiting period)에 대응하는 카운팅 간격을 갖는다. N 개의 카운터(2301 내지 230N)에 대한 카운팅 간격들은 CKDOM들이 조직된 방식 및/또는 시퀀싱 전략에 따라 동일하거나 상이할 수 있다. 카운터 230k의 카운팅 간격은 CKDOM(k-1)이 인에이블된 후 CKDOM k의 대기 기간에 대응한다. 저장 요소들(2401 내지 240N)은 카운팅 간격에 대응하는 미리 프로그램된 값들을 저장한다. 미리 프로그램된 값들은 시스템 구성 또는 전력 소모 프로파일에 따라 고정되거나 또는 동적으로 프로그램 가능하다.
제어기(250)는 예정된 순서에 따라 CKDOM들로의 클럭 분배를 인에이블하는 것을 제어한다. 제어기(250)는 복수의 클럭 스위치(2701 내지 270N) 및 클럭 인에이블러(260)를 포함한다. 클럭 스위치들(2701 내지 270N)은 클럭 신호들의 CKDOM들로의 클럭 분배를 활성화 또는 비활성화한다. 클럭 스위치들(2701 내지 270N)은 간단한 논리 게이트들(AND, OR) 및/또는 버퍼들로서 구현될 수 있다. 클럭 인에이블러(260)는 스케줄러(210)로부터의 타이밍 신호들에 응답하여 클럭 스위치들(2701 내지 270N)을 인에이블 또는 디스에이블한다. 클럭 인에이블러(260)는 디코더 또는 시프트 레지스터로서 구현될 수 있다. 클럭 인에이블러(260)는 CKDOM들 각각이 관련된 클럭 신호를 예정된 순서에 따라 하나씩 수신하도록 클럭 스위치들(2701 내지 270N)을 인에이블하는 것에 의해 CKDOM들로의 클럭 분배를 활성화한다. 클럭 인에이블러(260)는 CKDOM들 각각이 관련된 클럭 신호를 예정된 순서에 따라 하나씩 수신하는 것을 중지하도록 클럭 스위치들(2701 내지 270N)을 디스에이블하는 것에 의해 CKDOM들로의 클럭 분배를 비활성화한다.
도 3은 본 발명의 일 실시예에 따라 비활성 상태로부터 활성 상태로의 클럭 분배 순서를 예시하는 타이밍도이다.
비활성 상태 동안 모든 클럭 인에이블 신호들은 무효화되어(예를 들면, LOW로 되어) 클럭 신호들이 CKDOM들로 분배되지 않음을 가리킨다. 회로의 전력 상태가 상태 변화가 있음을 가리킬 경우, 비활성 상태로부터 활성 상태로의 천이는 A 선에서 발생한다. 이 천이에서, 클럭 분배 순서를 인에이블하는 것은 제1 CKDOM과 함께 시작한다. 클럭 인에이블 1(CLKEN1) 신호가 어서트되어(예를 들면, HIGH로 되어) 제1 CKDOM과 관련된 클럭 신호가 인에이블됨을 가리킨다. CLKEN1 신호는 파워 다운 순서가 있을 때와 같은 다음 상태 변화가 일어날 때까지 어서트된 채로 남아있는다. 분배의 순서는 다음 CKDOM으로 계속된다. 클럭 인에이블 k(CLKENK) 신호가 어서트되어(예를 들면, HIGH로 되어) k번째 CKDOM과 관련된 클럭 신호가 인에이블됨을 가리킨다. 시간 간격 k는 CKDOM(k-1)과 CKDOM k의 인에이블 시각 사이의 카운팅 간격이다. 그것은 CKDOM(k-1)이 인에이블된 후 CKDOM k의 대기 기간이다. 순서는 마지막 CKDOM에 이를 때까지 계속된다. 시간 간격 N은 CKDOM(N-1)과 CKDOM N의 인에이블 시각 사이의 카운팅 간격이다. 클럭 신호들의 연속하는 인에이블 시각들 사이의 시간 간격들은 CKDOM들의 구성 및/또는 시퀀싱 전략에 따라 동일하거나 상이할 수 있다.
클럭 인에이블 신호들이 어서트되는 시간 동안, 활성화된 CKDOM들과 관련된 클럭 신호들은 인에이블된다. 타이밍도에서 도시된 바와 같이, 이러한 클럭 신호들(CKDOM1CLK, CKDOMkCLK 등)은 예정된 순서에 따라 하나씩 활성화되거나 인에이블된다.
도 4는 본 발명의 일 실시예에 따라 활성 상태로부터 비활성 상태로의 클럭 분배 순서를 예시하는 타이밍도이다.
활성 상태 동안, 모든 클럭 인에이블 신호가 어서트되어(예를 들면, HIGH로 되어) 클럭 신호들이 CKDOM들로 분배됨을 가리킨다. 회로의 상태 지위가 상태 변화가 있음을 가리킬 경우, 활성 상태로부터 비활성 상태로의 천이가 A 선에서 일어난다. 이 천이에서, 클럭 분배 순서를 디스에이블하는 것은 제1 CKDOM과 함께 시작한다. 클럭 인에이블 1(CLKEN1) 신호가 무효화되어(예를 들면, LOW로 되어) 제1 CKDOM과 관련된 클럭 신호가 디스에이블됨을 가리킨다. CLKEN1 신호는 파워 업 순서가 있는 때와 같이 상태 변화가 일어날 때까지 무효화된 채로 남아있는다. 분배의 순서는 다음 CKDOM으로 계속된다. 클럭 인에이블 k(CLKENK) 신호가 B 선에서 무효화되어(예를 들면, LOW로 되어) k번째 CKDOM과 관련된 클럭 신호가 디스에이블됨을 가리킨다. 순서는 마지막 CKDOM에 이를 때까지 계속된다. 도 4에서와 같이, 클럭 신호들의 연속하는 디스에이블 시각들 사이의 시간 간격들은 동일하거나 상이할 수 있다.
클럭 인에이블 신호들이 무효화되는 시간 동안, 활성화된 CKDOM들에 관련된 클럭 신호들은 디스에이블된다. 타이밍도에서 도시된 바와 같이, 이러한 클럭 신호들(CKDOM1CLK, CKDOMkCLK 등)은 예정된 순서에 따라 하나씩 비활성화 또는 디스에이블된다.
도 5는 본 발명의 일 실시예에 따른 클럭 분배의 시퀀스를 제어하기 위한 프로세스(500)를 예시하는 플로우차트이다.
시작할 때, 프로세스(500)는 클럭 생성기로부터의 버스 클럭과 같은 안정된 클럭원으로부터 클럭 신호들을 생성한다(블럭 510). 다음으로, 프로세스(500)는 상태 변화가 일어나는지를 판정한다(블럭 520). 상태 변화는 파워 업, 파워 다운, 대기 등과 같은 임의의 적절한 시스템 레벨 상태 변화일 수 있다.
그 후, 프로세스(500)는 회로의 상태 지위에 따라 클럭 신호들의 CKDOM들로의 클럭 분배 순서를 예정한다(블럭 530). 이것을 하기 위해, 프로세스(500)는 버스 클럭과 같은 안정된 클럭원으로부터 순서에 대해 타이밍 신호들을 생성한다(블럭 540). 이것은 카운터를 사용하여 각 CKDOM에 대한 카운팅 간격을 생성함에 의해 달성될 수 있다(블럭 550). 카운팅 간격은 카운터에 대한 입력으로서 저장 요소에 미리 프로그램될 수 있다.
다음으로, 프로세스(500)는 예정된 순서에 따라 CKDOM들로의 클럭 분배를 인에이블하는 것을 제어한다(블럭 560). 이것을 하기 위해, 프로세스(500)는 클럭 스위치들이 타이밍 신호들에 응답하여 클럭 분배를 활성화 또는 비활성화하도록 제어한다(블럭 570). 프로세스(500)는 클럭 분배를 활성화하거나 비활성화하여, CKDOM들 각각이 관련된 클럭 신호를 예정된 순서에 따라 하나씩 수신하는 것을 수신하거나 중지하도록 한다(블럭 580). 그 후 프로세스(500)는 종료된다.
본 발명이 몇몇 실시예들에 대해 기술되었지만, 본 기술분야의 숙련자들은 본 발명이 기술된 실시예들로 제한되지 않고, 첨부된 청구범위의 사상 및 범위 내에서 수정 또는 변경되어 실시될 수 있음을 인식할 것이다. 그리하여 본 명세서는 제한하는 것이 아닌 예시적인 것으로 여겨져야 한다.

Claims (30)

  1. 회로의 상태 지위(state status)에 따라 상기 회로의 복수의 CKDOM(clock distribution domains)으로의 클럭 신호들의 클럭 분배 순서를 예정하기 위한 스케줄러; 및
    상기 예정된 순서에 따라 상기 CKDOM들로의 상기 클럭 분배를 인에이블하는 것을 제어하도록 상기 스케줄러에 연결된 제어기를 포함하는 장치.
  2. 제1항에 있어서,
    상기 스케줄러는,
    상기 순서에 대해 타이밍 신호들을 생성하도록 버스 클럭에 의해 클러킹되는 타이머를 포함하는 장치.
  3. 제2항에 있어서,
    상기 타이머는,
    각각이 상기 CKDOM들 각각에 대해 예정된 순서에서의 대기 기간(waiting period)에 대응하는 카운팅 간격을 갖는 복수의 카운터를 포함하는 장치.
  4. 제2항에 있어서,
    상기 제어기는,
    상기 클럭 신호들의 상기 CKDOM들로의 상기 클럭 분배를 활성화하거나 비활성화하는 복수의 클럭 스위치; 및
    상기 타이밍 신호들에 응답하여 상기 클럭 스위치들을 인에이블 또는 디스에이블하기 위한 클럭 인에이블러를 포함하는 장치.
  5. 제4항에 있어서,
    상기 클럭 인에이블러는 상기 CKDOM들로의 상기 클럭 분배를 활성화하여 상기 CKDOM들 각각이 관련된 클럭 신호를 상기 예정된 순서에 따라 하나씩 수신하도록 하는 장치.
  6. 제4항에 있어서,
    상기 클럭 인에이블러는 상기 CKDOM들로의 상기 클럭 분배를 비활성화하여 상기 CKDOM들 각각이 관련된 클럭 신호를 상기 예정된 순서에 따라 하나씩 수신하는 것을 중지하도록 하는 장치.
  7. 제1항에 있어서,
    상기 클럭 신호들은 버스 클럭으로부터 클럭 생성기에 의해 제공되는 장치.
  8. 제7항에 있어서,
    상기 클럭 생성기는 동기 획득 시간(lock acquisition time)을 갖는 PLL(phase locked loop) 회로를 포함하는 장치.
  9. 제8항에 있어서,
    상기 클럭 분배의 순서는 상기 동기 획득 시간 동안 조용한 간격(quiet interval)들의 순서에 대응하는 장치.
  10. 제1항에 있어서,
    상기 상태 지위는 활성 상태로부터 비활성 상태로 또는 비활성 상태로부터 활성 상태로의 천이인 장치.
  11. 회로의 상태 지위에 따라 상기 회로의 복수의 CKDOM으로의 클럭 신호들의 클럭 분배 순서를 예정하는 단계; 및
    상기 예정된 순서에 따라 상기 CKDOM들로의 상기 클럭 분배를 인에이블하는 것을 제어하는 단계를 포함하는 방법.
  12. 제11항에 있어서,
    상기 예정하는 단계는 상기 순서에 대해 버스 클럭으로부터 타이밍 신호들을 생성하는 단계를 포함하는 방법.
  13. 제12항에 있어서,
    상기 타이밍 신호들을 생성하는 단계는, 상기 CKDOM들 각각에 대해 상기 예정된 순서에서의 대기 기간에 대응하는 카운팅 간격을 생성하는 단계를 포함하는 방법.
  14. 제12항에 있어서,
    상기 제어하는 단계는, 클럭 스위치들이 상기 타이밍 신호들에 응답하여 상기 CKDOM들로의 상기 클럭 분배를 활성화 또는 비활성화하도록 제어하는 단계를 포함하는 방법.
  15. 제14항에 있어서,
    상기 클럭 스위치들을 제어하는 단계는 상기 CKDOM들로의 상기 클럭 분배를 활성화하여 상기 CKDOM들 각각이 관련된 클럭 신호를 상기 예정된 순서에 따라 하나씩 수신하게 하는 단계를 포함하는 방법.
  16. 제14항에 있어서,
    상기 클럭 스위치들을 제어하는 단계는 상기 CKDOM들로의 상기 클럭 분배를 비활성화하여 상기 CKDOM들 각각이 관련된 클럭 신호를 상기 예정된 순서에 따라 하나씩 수신하는 것을 중지하도록 하는 단계를 포함하는 방법.
  17. 제11항에 있어서,
    클럭 생성기에 의해 상기 CKDOM들로의 상기 클럭 신호들을 버스 클럭으로부터 생성하는 단계를 더 포함하는 방법.
  18. 제17항에 있어서,
    상기 클럭 신호들을 생성하는 단계는 동기 획득 시간을 갖는 PLL 회로에 의해 상기 클럭 신호들을 생성하는 단계를 포함하는 방법.
  19. 제18항에 있어서,
    상기 예정하는 단계는 상기 동기 획득 시간 동안 조용한 간격들의 순서에 대응하도록 상기 클럭 분배 순서를 예정하는 단계를 포함하는 방법.
  20. 제11항에 있어서,
    상기 예정하는 단계는 상기 상태 지위가 활성 상태로부터 비활성 상태로의 천이인가 또는 비활성 상태로부터 활성 상태로의 천이인가에 따라서 상기 클럭 분배 순서를 예정하는 단계를 포함하는 방법.
  21. 복수의 CKDOM을 갖는 회로;
    상기 CKDOM에 클럭 신호들을 제공하도록 상기 회로에 연결된 클럭 생성기; 및
    상기 클럭 생성기 및 상기 회로에 연결된 클럭 시퀀서
    를 포함하고, 상기 클럭 시퀀서는
    상기 회로의 상태 지위에 따라 상기 CKDOM들로의 클럭 신호들의 클럭 분배 순서를 예정하는 스케줄러, 및
    상기 예정된 순서에 따라 상기 CKDOM들로의 상기 클럭 분배를 인에이블하는 것을 제어하도록 상기 스케줄러에 연결된 제어기
    를 포함하는 시스템.
  22. 제21항에 있어서,
    상기 스케줄러는,
    상기 순서에 대해 타이밍 신호들을 생성하도록 버스 클럭에 의해 클러킹되는 타이머를 포함하는 시스템.
  23. 제22항에 있어서,
    상기 타이머는,
    각각이 상기 CKDOM들 각각에 대해 예정된 순서에서의 대기 기간에 대응하는 카운팅 간격을 갖는 복수의 카운터를 포함하는 시스템.
  24. 제22항에 있어서,
    상기 제어기는,
    상기 클럭 신호들의 상기 CKDOM들로의 상기 클럭 분배를 활성화 또는 비활성화하는 복수의 클럭 스위치; 및
    상기 타이밍 신호들에 응답하여 상기 클럭 스위치들을 인에이블 또는 디스에이블하는 클럭 인에이블러를 포함하는 시스템.
  25. 제24항에 있어서,
    상기 클럭 인에이블러는 상기 CKDOM들로의 상기 클럭 분배를 활성화하여 상기 CKDOM들 각각이 관련된 클럭 신호를 상기 예정된 순서에 따라 하나씩 수신하도록 하는 시스템.
  26. 제24항에 있어서,
    상기 클럭 인에이블러는 상기 CKDOM들로의 상기 클럭 분배를 비활성화하여 상기 CKDOM들 각각이 관련된 클럭 신호를 상기 예정된 순서에 따라 하나씩 수신하는 것을 중지하도록 하는 시스템.
  27. 제21항에 있어서,
    상기 클럭 생성기는 상기 CKDOM들로의 상기 클럭 신호들을 버스 클럭으로부터 생성하는 시스템.
  28. 제27항에 있어서,
    상기 클럭 생성기는 동기 획득 시간을 갖는 PLL 회로를 포함하는 시스템.
  29. 제28항에 있어서,
    상기 클럭 분배의 순서는 상기 동기 획득 시간 동안 조용한 간격들의 순서에 대응하는 시스템.
  30. 제21항에 있어서,
    상기 상태 지위는 활성 상태로부터 비활성 상태로 또는 비활성 상태로부터 활성 상태로의 천이인 시스템.
KR1020077022370A 2005-03-04 2006-02-13 클럭 분배 도메인들로의 클럭 분배 순서 제어 KR100958966B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/073,294 2005-03-04
US11/073,294 US7386749B2 (en) 2005-03-04 2005-03-04 Controlling sequence of clock distribution to clock distribution domains

Publications (2)

Publication Number Publication Date
KR20070110400A KR20070110400A (ko) 2007-11-16
KR100958966B1 true KR100958966B1 (ko) 2010-05-20

Family

ID=36406525

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077022370A KR100958966B1 (ko) 2005-03-04 2006-02-13 클럭 분배 도메인들로의 클럭 분배 순서 제어

Country Status (8)

Country Link
US (1) US7386749B2 (ko)
JP (1) JP2008536201A (ko)
KR (1) KR100958966B1 (ko)
CN (1) CN101133375B (ko)
DE (1) DE112006000386B4 (ko)
GB (1) GB2436260B (ko)
TW (1) TWI324715B (ko)
WO (1) WO2006096294A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080155296A1 (en) * 2006-12-22 2008-06-26 Fujitsu Limited Apparatus for controlling clock signals to processor circuit
US7954000B2 (en) * 2008-01-14 2011-05-31 International Business Machines Corporation Power supply current spike reduction techniques for an integrated circuit
US10521265B2 (en) * 2008-09-19 2019-12-31 Microsoft Technology Licensing, Llc Coalescing periodic timer expiration in guest operating systems in a virtualized environment
JP2010176158A (ja) * 2009-01-27 2010-08-12 Hitachi Ltd 情報処理システムおよびそのcpuクロック周波数制御管理方法
US9405347B2 (en) 2009-02-26 2016-08-02 Microsoft Technology Licensing, Llc Power-saving operating system for virtual environment
US8412967B2 (en) * 2009-07-28 2013-04-02 Stmicroelectronics S.R.L. Method of enhancing power saving in an integrated electronic system with distinctly powered islands of functional circuitries and related device architecture
US8713348B2 (en) * 2010-08-30 2014-04-29 Mediatek Inc. Apparatus for performing timer management regarding a system timer scheduler service, and associated method
US8909849B2 (en) * 2010-11-15 2014-12-09 Intel Corporation Pipeline architecture for scalable performance on memory
TWI474673B (zh) * 2012-12-06 2015-02-21 Inst Information Industry 工作負載分配裝置及其工作負載分配方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100847364B1 (ko) 2000-08-11 2008-07-21 어드밴스드 마이크로 디바이시즈, 인코포레이티드 클럭 포워드 i/o 시스템을 위한 효율적인 클럭 개시 및 정지 장치

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0778993B2 (ja) * 1985-11-05 1995-08-23 株式会社日立製作所 半導体メモリ
JPH04302014A (ja) * 1991-03-28 1992-10-26 Tokyo Electric Co Ltd 論理回路駆動装置
JPH05150870A (ja) * 1991-05-20 1993-06-18 Fujitsu Ltd 演算回路の消費電力低減方式
JPH04349515A (ja) * 1991-05-28 1992-12-04 Nec Corp データ処理装置
US5586307A (en) * 1993-06-30 1996-12-17 Intel Corporation Method and apparatus supplying synchronous clock signals to circuit components
US5623647A (en) * 1995-03-07 1997-04-22 Intel Corporation Application specific clock throttling
JPH09237131A (ja) * 1996-03-04 1997-09-09 Fujitsu Ltd 半導体集積回路装置
US6611920B1 (en) * 2000-01-21 2003-08-26 Intel Corporation Clock distribution system for selectively enabling clock signals to portions of a pipelined circuit
JP2001243065A (ja) * 2000-02-28 2001-09-07 Mitsubishi Electric Corp プロセッサ
DE10041688B4 (de) 2000-08-24 2008-03-27 Infineon Technologies Ag Integrierter Speicher mit Speicherzellen in mehreren Speicherzellenblöcken und Verfahren zum Betrieb eines solchen Speichers
US6779122B2 (en) * 2000-12-26 2004-08-17 Intel Corporation Method and apparatus for executing a long latency instruction to delay the restarting of an instruction fetch unit
US6647540B2 (en) * 2001-11-08 2003-11-11 Telefonaktiebolaget Lm Ericsson(Publ) Method for reducing EMI and IR-drop in digital synchronous circuits
JP2003256066A (ja) * 2002-02-28 2003-09-10 Matsushita Electric Ind Co Ltd クロック供給制御装置
JP2004110718A (ja) * 2002-09-20 2004-04-08 Matsushita Electric Ind Co Ltd 半導体集積回路装置のリセット方法及び半導体集積回路装置
JP2004199115A (ja) * 2002-12-16 2004-07-15 Renesas Technology Corp 半導体集積回路

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100847364B1 (ko) 2000-08-11 2008-07-21 어드밴스드 마이크로 디바이시즈, 인코포레이티드 클럭 포워드 i/o 시스템을 위한 효율적인 클럭 개시 및 정지 장치

Also Published As

Publication number Publication date
CN101133375A (zh) 2008-02-27
GB0713059D0 (en) 2007-08-15
KR20070110400A (ko) 2007-11-16
JP2008536201A (ja) 2008-09-04
TWI324715B (en) 2010-05-11
US7386749B2 (en) 2008-06-10
TW200705154A (en) 2007-02-01
CN101133375B (zh) 2011-11-23
DE112006000386B4 (de) 2009-05-07
US20060200694A1 (en) 2006-09-07
WO2006096294A1 (en) 2006-09-14
DE112006000386T5 (de) 2008-02-28
GB2436260B (en) 2008-09-10
GB2436260A (en) 2007-09-19

Similar Documents

Publication Publication Date Title
KR100958966B1 (ko) 클럭 분배 도메인들로의 클럭 분배 순서 제어
US10635155B2 (en) Independent power control of processing cores
US9703313B2 (en) Peripheral clock management
US8769332B2 (en) Regional clock gating and dithering
KR100397025B1 (ko) 전력관리상태에응답하여다중클럭된회로를클럭하는클럭제어기
EP2549354B1 (en) Dynamic frequency control using coarse clock gating
KR100385155B1 (ko) 외부핀신호를다중화하는장치를포함하는집적프로세서
US9411404B2 (en) Coprocessor dynamic power gating for on-die leakage reduction
JP4566180B2 (ja) 演算処理装置およびクロック制御方法
US10990159B2 (en) Architected state retention for a frequent operating state switching processor
CN110226148B (zh) 时钟分频器装置及其方法
WO2018013156A1 (en) Clock adjustment for voltage droop
WO2019094108A1 (en) Dynamic clock control to increase efficiency in the memory subsystem
KR100986534B1 (ko) 멀티모드,일정―대기시간 클록 생성 회로
JP2004512614A (ja) オペレーティングシステムサポートのために一定の時間基準を用いるマルチモード電力管理システムのハードウェアアーキテクチャ
WO2011107828A1 (en) Integrated circuit device comprising clock gating circuitry, electronic device and method for dynamically configuring clock gating

Legal Events

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

Payment date: 20130503

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140502

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150430

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160427

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170504

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180427

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190429

Year of fee payment: 10