KR102003874B1 - 전력 분배 네트워크(pdn) 드룹/오버슈트 완화 - Google Patents
전력 분배 네트워크(pdn) 드룹/오버슈트 완화 Download PDFInfo
- Publication number
- KR102003874B1 KR102003874B1 KR1020187003127A KR20187003127A KR102003874B1 KR 102003874 B1 KR102003874 B1 KR 102003874B1 KR 1020187003127 A KR1020187003127 A KR 1020187003127A KR 20187003127 A KR20187003127 A KR 20187003127A KR 102003874 B1 KR102003874 B1 KR 102003874B1
- Authority
- KR
- South Korea
- Prior art keywords
- clock signal
- frequency
- clock
- ramp
- clk
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3237—Power saving characterised by the action undertaken by disabling clock generation or distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Electronic Switches (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
Abstract
전력 분배 네트워크(PDN) 드룹/오버슈트 완화를 위한 시스템들 및 방법들이 제공된다. 소정의 실시예들에서, 오버슈트는, 프로세서가 클록 주파수들을 스위칭할 때 그리고/또는 프로세서가 활성 모드로부터 유휴 모드로 전환될 때, 프로세서로의 클록 신호의 주파수를 램프 다운함으로써 완화된다. 소정의 실시예들에서, 드룹은, 프로세서가 클록 주파수들을 스위칭할 때 그리고/또는 프로세서가 유휴 모드로부터 활성 모드로 전환될 때, 프로세서로의 클록 신호의 주파수를 램프 업함으로써 완화된다.
Description
[0001] 본 출원은, 2015년 8월 3일자로 미국 특허청에 출원된 정규 출원 번호 제14/817,057호를 우선권으로 주장하고 그 권익을 청구하며, 이 정규 출원의 전체 내용은 인용에 의해 본원에 포함된다.
[0002] 본 개시내용의 양상들은 일반적으로, 전력 분배 네트워크(PDN; power distribution network)들에 관한 것으로, 더 구체적으로는 PDN 드룹(droop)/오버슈트(overshoot) 완화에 관한 것이다.
[0003] 동적 주파수 스케일링은, 사용 경우들에 기반하여 프로세서의 클록 주파수를 동적으로 변화시키기 위해 널리 사용된다. 예컨대, 프로세서의 클록 주파수는, 프로세서가 고속 애플리케이션을 위해 사용될 때 증가될 수 있고, 전력을 절약하기 위하여 프로세서가 저속 애플리케이션을 위해 사용될 때 감소될 수 있다.
[0004] 다음은 하나 또는 그 초과의 실시예들의 기본적인 이해를 제공하기 위해 이러한 실시예들의 단순화된 요약을 제시한다. 이 요약은 모든 고려되는 실시예들의 광범위한 개요가 아니며, 모든 실시예들의 핵심적인 또는 중요한 엘리먼트들을 식별하거나 임의의 또는 모든 실시예들의 범위를 기술하도록 의도되지 않는다. 그 유일한 목적은 하나 또는 그 초과의 실시예들의 일부 개념들을, 나중에 제시되는 보다 상세한 설명에 대한 서론으로서 단순화된 형태로 제시하는 것이다.
[0005] 양상에 따르면, 시스템이 본원에서 설명된다. 시스템은 제1 클록 신호를 생성하도록 구성된 클록 회로, 및 클록 회로로부터 제1 클록 신호를 수신하고, 제1 클록 신호에 기반하여 제2 클록 신호를 제공하고, 그리고 제2 클록 신호의 주파수를 조정하도록 구성된 주파수 램프 회로를 포함한다. 시스템은 또한, 제2 클록 신호의 주파수를 램프 다운(ramp down)하도록 주파수 램프 회로에 명령하도록 구성된 클록 제어기를 포함한다.
[0006] 제2 양상은 클록 주파수 스위칭을 위한 방법에 관한 것이다. 방법은, 제2 클록 신호의 주파수를 램프 다운하는 단계 ― 제2 클록 신호는 제1 클록 신호로부터 제공됨 ―, 제2 클록 신호를 디스에이블하는 단계, 및 제2 클록 신호가 디스에이블된 후에, 제1 클록 신호를 제1 클록 주파수로부터 제2 클록 주파수로 스위칭하는 단계를 포함한다. 방법은 또한, 제1 클록 신호가 제2 클록 주파수로 스위칭된 후에 제2 클록 신호를 인에이블하는 단계, 및 제2 클록 신호의 주파수를 램프 업(ramp up)하는 단계를 포함한다.
[0007] 제3 양상은 클록 주파수 스위칭을 위한 장치에 관한 것이다. 장치는, 제2 클록 신호의 주파수를 램프 다운하기 위한 수단 ― 제2 클록 신호는 제1 클록 신호로부터 제공됨 ―, 제2 클록 신호를 디스에이블하기 위한 수단, 및 제2 클록 신호가 디스에이블된 후에, 제1 클록 신호를 제1 클록 주파수로부터 제2 클록 주파수로 스위칭하기 위한 수단을 포함한다. 장치는 또한, 제1 클록 신호가 제2 클록 주파수로 스위칭된 후에 제2 클록 신호를 인에이블하기 위한 수단, 및 제2 클록 신호의 주파수를 램프 업하기 위한 수단을 포함한다.
[0008] 전술한 그리고 관련되는 목적들의 달성을 위해서, 하나 또는 그 초과의 실시예들은 아래에서 완전히 설명되고 특히 청구항들에서 언급되는 특징들을 포함한다. 다음의 설명 및 부가된 도면들은 하나 또는 그 초과의 실시예들의 소정의 예시적인 양상들을 상세히 기술한다. 그러나, 이들 양상들은, 다양한 실시예들의 원리들이 이용될 수 있는 다양한 방식들 중 일부만을 나타내며, 설명된 실시예들은 모든 이러한 양상들 및 이들의 등가물들을 포함하도록 의도된다.
[0009] 도 1a는 주파수 스케일링을 갖는 예시적인 시스템을 도시한다.
[0010] 도 1b는 PLL(phase locked loop) 및 주파수 분주기들을 포함하는 예시적인 시스템을 도시한다.
[0011] 도 1c는 PLL들 및 주파수 분주기들을 포함하는 예시적인 시스템을 도시한다.
[0012] 도 2는 글리치-프리 멀티플렉서(glitch-free multiplexer)의 예시적인 구현을 도시한다.
[0013] 도 3은 클록 스위칭의 예를 예시하는 타이밍도를 도시한다.
[0014] 도 4는 본 개시내용의 실시예에 따른 주파수 스케일링을 갖는 시스템을 도시한다.
[0015] 도 5는 본 개시내용의 실시예에 따른 클록 스위칭을 위한 예시적인 절차를 도시한다.
[0016] 도 6은 본 개시내용의 실시예에 따른 클록 스왈로어(clock swallower)를 포함하는 시스템을 도시한다.
[0017] 도 7a 및 도 7b는 본 개시내용의 실시예에 따른 클록 스위칭의 예를 예시하는 타이밍도들을 도시한다.
[0018] 도 8은 본 개시내용의 실시예에 따른 예시적인 펄스 스왈로우 패턴(pulse swallow pattern)들을 도시한다.
[0019] 도 9는 본 개시내용의 실시예에 따른 예시적인 클록 인덱스를 도시한다.
[0020] 도 10은 본 개시내용의 다른 실시예에 따른 예시적인 클록 인덱스를 도시한다.
[0021] 도 11은 본 개시내용의 실시예에 따른 전력 관리자를 포함하는 예시적인 시스템을 도시한다.
[0022] 도 12는 본 개시내용의 실시예에 따른, 프로세서를 활성 모드와 유휴 모드 간에서 전환하기 위한 예시적인 절차를 도시한다.
[0023] 도 13은 본 개시내용의 실시예에 따른 온도 완화를 갖는 예시적인 시스템을 도시한다.
[0024] 도 14는 본 개시내용의 실시예에 따른 온도 완화를 위한 예시적인 펄스 스왈로우 패턴들을 도시한다.
[0025] 도 15는 본 개시내용의 실시예에 따른 클록 회로를 도시한다.
[0010] 도 1b는 PLL(phase locked loop) 및 주파수 분주기들을 포함하는 예시적인 시스템을 도시한다.
[0011] 도 1c는 PLL들 및 주파수 분주기들을 포함하는 예시적인 시스템을 도시한다.
[0012] 도 2는 글리치-프리 멀티플렉서(glitch-free multiplexer)의 예시적인 구현을 도시한다.
[0013] 도 3은 클록 스위칭의 예를 예시하는 타이밍도를 도시한다.
[0014] 도 4는 본 개시내용의 실시예에 따른 주파수 스케일링을 갖는 시스템을 도시한다.
[0015] 도 5는 본 개시내용의 실시예에 따른 클록 스위칭을 위한 예시적인 절차를 도시한다.
[0016] 도 6은 본 개시내용의 실시예에 따른 클록 스왈로어(clock swallower)를 포함하는 시스템을 도시한다.
[0017] 도 7a 및 도 7b는 본 개시내용의 실시예에 따른 클록 스위칭의 예를 예시하는 타이밍도들을 도시한다.
[0018] 도 8은 본 개시내용의 실시예에 따른 예시적인 펄스 스왈로우 패턴(pulse swallow pattern)들을 도시한다.
[0019] 도 9는 본 개시내용의 실시예에 따른 예시적인 클록 인덱스를 도시한다.
[0020] 도 10은 본 개시내용의 다른 실시예에 따른 예시적인 클록 인덱스를 도시한다.
[0021] 도 11은 본 개시내용의 실시예에 따른 전력 관리자를 포함하는 예시적인 시스템을 도시한다.
[0022] 도 12는 본 개시내용의 실시예에 따른, 프로세서를 활성 모드와 유휴 모드 간에서 전환하기 위한 예시적인 절차를 도시한다.
[0023] 도 13은 본 개시내용의 실시예에 따른 온도 완화를 갖는 예시적인 시스템을 도시한다.
[0024] 도 14는 본 개시내용의 실시예에 따른 온도 완화를 위한 예시적인 펄스 스왈로우 패턴들을 도시한다.
[0025] 도 15는 본 개시내용의 실시예에 따른 클록 회로를 도시한다.
[0026] 첨부된 도면들과 관련하여 아래에 제시되는 상세한 설명은, 다양한 구성들의 설명으로 의도되며, 본원에서 설명되는 개념들이 실시될 수 있는 유일한 구성들만을 나타내는 것으로 의도되는 것은 아니다. 상세한 설명은 다양한 개념들의 완전한 이해를 제공하는 목적을 위해서 특정 세부사항들을 포함한다. 그러나, 이들 개념들이 이들 특정 세부사항들 없이 실시될 수 있다는 것은 당업자들에게 명백할 것이다. 일부 경우들에서, 이러한 개념들을 불명료하게 하는 것을 피하기 위해, 잘 알려진 구조들 및 컴포넌트들은 블록 다이어그램 형태로 도시된다.
[0027] 동적 주파수 스케일링은, 사용 경우들에 기반하여 프로세서의 클록 주파수를 동적으로 변화시키기 위해 널리 사용된다. 예컨대, 프로세서의 클록 주파수는, 프로세서가 고속 애플리케이션을 위해 사용될 때 증가될 수 있고, 전력을 절약하기 위하여 프로세서가 저속 애플리케이션을 위해 사용될 때 감소될 수 있다.
[0028] 도 1a는 동적 주파수 스케일링을 갖는 시스템(100)의 예를 도시한다. 시스템(100)은 프로세서(예컨대, CPU, GPU, DSP 등)(110), 클록 제어기(115), 및 클록 회로(140)를 포함한다. 프로세서(110)에는 전력원에 의해 전력 분배 네트워크(PDN)(도시되지 않음)를 통해 전력이 공급될 수 있다. 전력원은 PMIC(power management integrated circuit) 또는 다른 전력원을 포함할 수 있다. 다른 회로들(예컨대, 하나 또는 그 초과의 다른 프로세서들)이 또한 PDN에 커플링될 수 있다.
[0029] 클록 회로(140)는, 아래에서 추가로 논의되는 바와 같이, 클록 신호("Clk_sel"로 표기됨)를 프로세서(110)에 제공하도록, 그리고 클록 제어기(115)의 제어 하에 클록 신호를 복수의 선택가능한 클록 주파수들 중 임의의 하나로 설정하도록 구성된다. 도 1a의 예에서, 클록 회로(140)는, 상이한 클록 주파수들을 갖는 복수의 입력 클록 신호들(Clk_a 내지 Clk_d)을 클록 라인들(122-1 내지 122-4)을 통해 각각 수신하도록, 그리고 제어기(115)의 제어 하에 입력 클록 신호들(Clk_a 내지 Clk_d) 중 하나를 프로세서(110)에 선택적으로 출력하도록 구성된 멀티플렉서(120)를 포함한다. 멀티플렉서(120)는 선택된 클록 신호(Clk_sel)를 클록 라인(125)을 통해 프로세서(110)에 출력한다.
[0030] 입력 클록 신호들(Clk_a 내지 Clk_d)은 다양한 클록 소스들에 의해 제공될 수 있다. 이와 관련하여, 도 1b는, 클록 회로(155)가 PLL(phase locked loop)(130), 및 제1, 제2 및 제3 주파수 분주기들(135-1, 135-2 및 135-3)을 포함하는, 시스템(150)의 예를 도시한다. 이 예에서, 입력 클록 신호(Clk_a)는 PLL(130)에 의해 제공된다. PLL(130)은 수정 발진기(도시되지 않음)로부터의 레퍼런스 클록 신호의 주파수에 소정의 양을 곱함으로써, 입력 클록 신호(Clk_a)를 생성할 수 있다. 도 1b의 예에서, 제1 주파수 분주기(135-1)는 입력 클록 신호(Clk_a)의 주파수를 제1 양으로 분주하여 입력 클록 신호(Clk_b)를 생성하고, 제2 주파수 분주기(135-2)는 입력 클록 신호(Clk_a)의 주파수를 제2 양으로 분주하여 입력 클록 신호(Clk_c)를 생성하고, 제3 주파수 분주기(135-3)는 입력 클록 신호(Clk_a)의 주파수를 제3 양으로 분주하여 입력 클록 신호(Clk_d)를 생성한다. 이 예에서, 입력 클록 신호(Clk_a)는 최고-주파수 클록 신호이다.
[0031] 도 1c는 클록 회로(165)가 제1 PLL(140-1), 제2 PLL(140-2), 제1 주파수 분주기(145-1), 및 제2 주파수 분주기(145-2)를 포함하는, 시스템(160)의 다른 예를 도시한다. 이 예에서, 입력 클록 신호(Clk_a)는 제1 PLL(140-1)에 의해 제공되고, 입력 클록 신호(Clk_c)는 제2 PLL(140-2)에 의해 제공된다. 제1 PLL(140-1)은 수정 발진기(도시되지 않음)로부터의 레퍼런스 클록 신호의 주파수에 제1 양을 곱함으로써 입력 클록 신호(Clk_a)를 생성할 수 있고, 제2 PLL(140-2)은 레퍼런스 클록 신호의 주파수에 제2 양을 곱함으로써 입력 클록 신호(Clk_c)를 생성할 수 있다. 도 1c의 예에서, 제1 주파수 분주기(145-1)는 입력 클록 신호(Clk_a)의 주파수를 제3 양으로 분주하여 입력 클록 신호(Clk_b)를 생성하고, 제2 주파수 분주기(145-2)는 입력 클록 신호(Clk_c)의 주파수를 제4 양으로 분주하여 입력 클록 신호(Clk_d)를 생성한다. 이 예에서, 입력 클록 신호(Clk_a) 또는 입력 클록 신호(Clk_c)는 최고-주파수 클록 신호이다. 제1 및 제2 주파수 분주기들은 그들의 각각의 클록 신호를 동일한 양(예컨대, 제수(divisor))로 분주할 수 있다.
[0032] 본 개시내용이 도 1b 및 1c에 도시된 예들로 제한되지 않으며, 입력 클록 신호들(Clk_a 내지 Clk_d)이 PLL들, 주파수 분주기들 및/또는 다른 컴포넌트들의 임의의 어레인지먼트를 사용하여 생성될 수 있다는 것이 인지되어야 한다. 멀티플렉서(120)가 임의의 수의 입력 클록 신호들을 멀티플렉싱할 수 있으며, 따라서 도 1a 내지 1c에 도시된 4개의 입력 클록 신호들의 예로 제한되지 않는다는 것이 또한 인지되어야 한다.
[0033] 동작에서, 멀티플렉서(120)는 한 번에 입력 클록 신호들(Clk_a 내지 Clk_d) 중 하나를 선택하고, 선택된 클록 신호(Clk_sel)를 클록 라인(125)을 통해 프로세서(110)에 출력한다. 프로세서(110)는 선택된 클록 신호(Clk_sel)를 사용하여 프로세서(110)에서의 스위칭 동작들을 타이밍(time)한다. 예컨대, 프로세서(110)의 로직 게이트들(예컨대, 트랜지스터들)은 선택된 클록 신호(Clk_sel)의 주파수에 따라 스위칭할 수 있다. 선택된 클록 신호(Clk_sel)의 주파수가 더 높을수록, 프로세서(110)의 로직 게이트들의 스위칭이 더 신속하며, 이는 더 신속한 프로세싱 속도로 해석된다.
[0034] 클록 제어기(115)는 멀티플렉서(120)에 의해 선택된 입력 클록 신호를 변화시킴으로써 사용 경우들에 기반하여 프로세서(110)의 클록 주파수를 동적으로 변화시키도록 구성된다. 예컨대, 프로세서(110)는 프로세서(110)의 프로세싱 부하를 결정하고, 결정된 프로세싱 부하에 기반하여 클록 주파수를 결정하고, 결정된 클록 주파수에 따라 클록 신호(Clk_sel)의 주파수를 설정하도록 클록 제어기(115)에 명령할 수 있다. 이 예에서, 프로세서(110)는 예컨대, 프로세싱 부하들의 변화로 인해 클록 주파수를 변화시키도록 클록 제어기(115)에 명령할 수 있다. 예컨대, 프로세서(110)가 더 높은 속도를 요구하는 애플리케이션을 론칭(launch)하는 경우, 프로세서(110)는 더 높은 클록 주파수로 스위칭하도록 클록 제어기(115)에 명령할 수 있다. 따라서, 클록 제어기(115)는 프로세서(110)의 프로세싱 필요성들에 기반하여 입력 클록 신호들을 스위칭할 수 있다.
[0035] 멀티플렉서(120)가 2개의 입력 클록 신호들 간을 스위칭할 때, 특히 멀티플렉서(120)가 클록 신호들 중 하나 또는 둘 모두와 비동기적으로 동작하는 경우, 멀티플렉서(120)는 글리치(glitch)를 발생시킬 수 있다. 이 예에서, 클록 신호들 중 하나 또는 둘 모두가 하이(high)일 때, 멀티플렉서(120)가 2개의 입력 클록 신호들 간을 스위칭하는 경우, 글리치가 발생되어, 클록 신호들 중 하나 또는 둘 모두의 버림(chopping)을 초래할 수 있다. 글리치들을 방지하기 위해, 멀티플렉서(120)는 글리치-프리 멀티플렉서를 사용하여 구현될 수 있다.
[0036] 이와 관련하여, 도 2는 멀티플렉서(120)의 글리치-프리 구현의 예를 도시한다. 이 예에서, 멀티플렉서(120)는 멀티플렉서(210), 멀티플렉서 제어 로직(215), 제1 동기화기(synchronizer)(220-1), 제2 동기화기(220-2), 제3 동기화기(220-3), 및 제4 동기화기(220-4)를 포함한다. 도 2에 도시된 바와 같이, 동기화기들(220-1 내지 220-4) 각각은 직렬로 커플링된 3개의 네거티브-에지-트리거 플립-플롭(negative-edge-triggered flip-flop)들을 포함한다. 제1 동기화기(220-1)의 플립-플롭들은 클록 신호(Clk_a)를 사용하여 클로킹되고, 제2 동기화기(220-2)의 플립-플롭들은 클록 신호(Clk_b)를 사용하여 클로킹되고, 제3 동기화기(220-3)의 플립-플롭들은 클록 신호(Clk_c)를 사용하여 클로킹되고, 제4 동기화기(220-4)의 플립-플롭들은 클록 신호(Clk_d)를 사용하여 클로킹된다. 도 2에 명시적으로 도시되지 않았지만, 각각의 동기화기는 각각의 클록 신호를 수신하기 위해 각각의 클록 신호의 클록 라인에 커플링될 수 있다.
[0037] 제어 로직(215)은, 입력 클록 신호들(Clk_a 내지 Clk_d) 중 하나를 선택하도록 그리고 나머지 입력 클록 신호들(Clk_a 내지 Clk_d)을 비선택(unselect)하도록 구성된다. 이를 수행하기 위해, 제어 로직(215)은 입력 클록 신호들(Clk_a 내지 Clk_d) 각각에 대한 선택/비선택 신호(select/unselect signal)를 동기화기들(220-1 내지 220-4) 중 각각의 동기화기를 통해 멀티플렉서(210)에 출력한다. 더 구체적으로, 제어 로직(215)은 입력 클록 신호(Clk_a)에 대한 선택/비선택 신호("sel_a/unsel_a"로 표기됨)를 제1 동기화기(220-1)를 통해 출력하고, 입력 클록 신호(Clk_b)에 대한 선택/비선택 신호("sel_b/unsel_b"로 표기됨)를 제2 동기화기(220-2)를 통해 출력하고, 입력 클록 신호(Clk_c)에 대한 선택/비선택 신호("sel_c/unsel_c"로 표기됨)를 제3 동기화기(220-3)를 통해 출력하고, 입력 클록 신호(Clk_d)에 대한 선택/비선택("sel_d/unsel_d"로 표기됨)을 제4 동기화기(220-4)를 통해 출력한다. 멀티플렉서(210)가 입력 클록 신호에 대한 선택 신호를 수신하는 경우, 멀티플렉서(210)는 입력 클록 신호를 프로세서(110)에 출력한다. 멀티플렉서(210)가 입력 클록 신호에 대한 비선택 신호를 수신하는 경우, 멀티플렉서(210)는 입력 클록 신호의 출력을 디스에이블한다. 이 예에서, 선택 신호는 로직 1에 대응할 수 있고 그리고 비선택 신호는 로직 0에 대응할 수 있거나, 또는 그 반대도 가능하다.
[0038] 주어진 시간에서, 제어 로직(215)은 입력 클록 신호들 중 선택된 하나에 대한 선택 신호를 출력하고 그리고 나머지 비선택된 클록 신호들에 대한 비선택 신호들을 출력할 수 있다. 이와 관련하여, 제어 로직(215)은, 어떤 입력 클록 신호를 선택할지를 표시하는 클록 제어 신호를 제어기(115)로부터 수신할 수 있다. 이에 대한 응답으로, 제어 로직(215)은 제어 신호에 의해 표시된 입력 클록 신호에 대한 선택 신호를 출력하고, 나머지 입력 클록 신호들에 대한 비선택 신호들을 출력할 수 있다.
[0039] 일 양상에서, 도 2에 도시된 바와 같이, 동기화기들(220-1 내지 220-4) 각각의 출력(225-1 내지 225-4)은 제어 로직(215)에 피드백된다. 이는, 아래에서 추가로 논의되는 바와 같이, 멀티플렉서(210)가 클록 스위칭 동안 클록 신호를 출력하는 것을 중단할 때를 제어 로직(215)이 결정하게 할 수 있다.
[0040] 멀티플렉서(210)의 출력을 입력 클록 신호들(Clk_a 내지 Clk_d) 중 현재 입력 클록 신호로부터 입력 클록 신호들(Clk_a 내지 Clk_d) 중 새로운 입력 클록 신호로 스위칭하기 위해, 제어 로직(215)은 먼저, 현재 클록 신호에 대한 비선택 신호를 출력함으로써, 현재 입력 클록 신호의 출력을 디스에이블할 수 있다. 비선택 신호는, 비선택 신호를 멀티플렉서(210)에 출력하는 각각의 동기화기를 통해 전파된다. 각각의 동기화기는, 현재 입력 클록 신호가 로우(low)일 때, 비선택 신호가 멀티플렉서(210)에 출력되도록, 비선택 신호의 출력을 현재 입력 클록 신호와 동기화한다. 이는, 각각의 동기화기의 플립-플롭들이 네거티브-에지 트리거되기(negative-edge triggered) 때문이다. 결과적으로, 멀티플렉서(210)는, 현재 입력 클록 신호가 로우일 때, 현재 입력 클록 신호의 출력을 디스에이블하고, 이에 의해, 글리치를 방지한다. 이 시점에서, 입력 클록 신호들 모두는 비선택되고, 멀티플렉서(120)는 클록 신호를 프로세서(110)에 출력하는 것을 중단한다.
[0041] 각각의 동기화기에 의해 출력되는 비선택 신호가 제어 로직(215)에 피드백되어서, 현재 입력 클록 신호의 출력이 멀티플렉서(210)에서 디스에이블되었다는 것을 제어 로직(215)에 표시한다. 이에 대한 응답으로, 제어 로직(215)은 새로운 입력 클록 신호에 대한 선택 신호를 출력한다. 선택 신호는, 선택 신호를 멀티플렉서(210)에 출력하는 각각의 동기화기를 통해 전파된다. 각각의 동기화기는, 새로운 입력 클록 신호가 로우일 때, 선택 신호가 멀티플렉서(210)에 출력되도록, 선택 신호의 출력을 새로운 입력 클록 신호와 동기화한다. 이는, 각각의 동기화기의 플립-플롭들이 네거티브-에지 트리거되기 때문이다. 결과적으로, 멀티플렉서(210)는, 새로운 입력 클록 신호가 로우일 때, 새로운 입력 클록 신호의 출력을 인에이블하고, 이에 의해, 글리치를 방지한다.
[0042] 위의 예에서, 현재 클록 신호의 출력이 멀티플렉서(210)에서 디스에이블되는 시간과 새로운 클록 신호의 출력이 멀티플렉서(210)에서 인에이블되는 시간 간에 유휴 기간이 존재한다. 유휴 기간 동안, 멀티플렉서(210)는 클록 신호를 프로세서(110)에 출력하지 않는다. 유휴 기간은, 새로운 클록 신호에 대한 선택 신호를 새로운 클록 신호와 동기화하는 데 사용되는 동기화기의 전파 지연과 거의 동일할 수 있다. 도 2의 예에서, 새로운 클록 신호에 대한 선택 신호가 멀티플렉서(210)에 도달하기 위해서는 각각의 동기화기의 3개의 플립-플롭들을 통해 전파되어야 하기 때문에, 유휴 기간은 새로운 클록 신호의 적어도 3개의 사이클들에 미칠 수 있다. 유휴 기간은 또한, 데드 기간(dead period) 또는 다른 용어로 지칭될 수 있다.
[0043] 도 3은 멀티플렉서(210)의 선택된 클록 신호(Clk_sel)가 입력 클록 신호(Clk_a)로부터 입력 클록 신호(Clk_b)로 스위칭되는 타이밍도를 도시한다. 이 예에서, 선택된 클록(Clk_sel)은 초기에 입력 클록 신호(Clk_a)에 의해 제공된다(소싱됨(sourced)). 시간(t1)에서, 클록 신호(Clk_a)의 출력이 멀티플렉서(210)에서 디스에이블된다. 유휴 기간 동안, 멀티플렉서(210)는 클록 신호를 출력하지 않는다. 유휴 기간은 도 2의 예에 대해 클록 신호(Clk_b)의 거의 3개의 사이클들에 미칠 수 있다. 시간(t2)에서의 유휴 기간의 종료 시에, 클록 신호(Clk_b)의 출력은 멀티플렉서(210)에서 인에이블된다.
[0044] 멀티플렉서(120)가 도 2에 도시된 예시적인 구현으로 제한되지 않으며, 따라서, 멀티플렉서(120)는 다른 회로들을 사용하여 구현될 수 있다는 것이 인지되어야 한다. 멀티플렉서(120)의 다른 글리치-프리 구현들이 또한 클록 스위칭 동안 유휴 기간(즉, 클록 출력이 없는 기간)을 가질 수 있다는 것이 또한 인지되어야 한다.
[0045] 클록 스위칭 동안의 유휴 기간은, 멀티플렉서(120)의 클록 출력이 디스에이블될 때 PDN에서 전압 오버슈트(voltage overshoot)를 야기하고 그리고 멀티플렉서(120)의 클록 출력이 새로운 입력 클록 신호로 인에이블될 때 PDN에서 전압 드룹(voltage droop)을 야기한다. 오버슈트의 크기는 현재 입력 클록 신호의 주파수에 의존한다. 현재 입력 클록 신호의 주파수가 더 높을수록, 오버슈트는 더 크다. 이는, 현재 입력 클록 신호의 출력이 멀티플렉서(120)에서 디스에이블될 때, 클록 주파수가 더 높을수록 PDN 상의 전류 부하에서 더 큰 변화율을 초래하기 때문이다. 유사하게, 드룹의 크기는 새로운 입력 클록 신호의 주파수에 의존한다. 새로운 입력 클록 신호의 주파수가 더 높을수록, 드룹은 더 크다. 이는, 새로운 입력 클록 신호의 출력이 멀티플렉서(120)에서 인에이블될 때, 클록 주파수가 더 높을수록 PDN 상의 전류 부하에서 더 큰 변화율을 초래하기 때문이다. 전압 오버슈트 및/또는 드룹이 너무 높은 경우, 오버슈트 및/또는 드룹은 PDN에 커플링되는 다른 회로들(도시되지 않음)이 오동작하도록 야기할 수 있다. 따라서, 클록 스위칭 동안 PDN 상의 오버슈트 및/또는 드룹을 감소시키기 위한 기법들이 바람직하다.
[0046] 본 개시내용의 실시예들은, 아래에서 추가로 논의되는 바와 같이, 현재 입력 클록 신호가 디스에이블되기 전에 프로세서(110)로의 클록 신호의 주파수를 램프 다운함으로써 그리고/또는 새로운 입력 클록 신호가 인에이블될 때 프로세서(110)로의 클록 신호의 주파수를 램프 업함으로써, 클록 스위칭 동안 PDN 상의 전압 오버슈트 및/또는 드룹을 감소시킨다.
[0047] 도 4는 본 개시내용의 실시예에 따른 동적 주파수 스케일링을 갖는 예시적인 시스템(400)을 도시한다. 시스템(400)은 클록 회로(140)와 프로세서(110) 간에 커플링된 주파수 램프 회로(410)를 포함한다. 주파수 램프 회로(410)는, 아래에서 추가로 논의되는 바와 같이, 선택된 클록 신호(Clk_sel)의 주파수를 램프 다운 및/또는 램프 업하도록, 그리고 결과적인 주파수-조정된 클록 신호("Clk_out"으로 표기됨)를 프로세서(110)에 출력하도록 구성된다.
[0048] 멀티플렉서(120)의 출력을 입력 클록 신호들(Clk_a 내지 Clk_d) 중 현재 입력 클록 신호로부터 입력 클록 신호들(Clk_a 내지 Clk_d) 중 새로운 입력 클록 신호로 스위칭할 때, 주파수 램프 회로(410)는, 현재 입력 클록 신호가 디스에이블되기 전에 출력 클록 신호(Clk_out)의 주파수를 램프 다운할 수 있다. 램프 다운 동안, 출력 클록 신호는 현재 입력 클록 신호에 의해 제공된다(소싱됨). 주파수 램프 회로(410)는 아래에서 추가로 논의되는 바와 같은 다양한 기법들 중 임의의 기법을 사용하여 출력 클록 신호(Clk_out)의 주파수를 램프 다운할 수 있다. 출력 클록 신호(Clk_out)의 주파수를 램프 다운하는 것은, 전체 주파수(full frequency)(즉, 현재 입력 클록 신호의 주파수)에서 출력 클록 신호를 갑자기 중단시키는 것과 비교하여, PDN 상의 전류 부하가 더 느린 레이트로 감소되게 하며, 이에 의해, PDN 상의 전압 오버슈트를 감소시킨다.
[0049] 주파수 램프 회로(410)는, 새로운 입력 클록 신호가 인에이블될 때, 출력 클록 신호(Clk_out)의 주파수를 램프 업할 수 있다. 램프 업 동안, 출력 클록 신호(Clk_out)는 새로운 입력 클록 신호에 의해 제공된다(소싱됨). 주파수 램프 회로(410)는 아래에서 추가로 논의되는 바와 같은 다양한 기법들 중 임의의 기법을 사용하여 출력 클록 신호(Clk_out)의 주파수를 램프 업할 수 있다. 출력 클록 신호(Clk_out)의 주파수를 램프 업하는 것은, 전체 주파수(즉, 새로운 입력 클록 신호의 주파수)에서 출력 클록 신호(Clk_out)를 갑자기 출력하는 것과 비교하여, PDN 상의 전류 부하가 더 느린 레이트로 증가되게 하며, 이에 의해, PDN 상의 전압 드룹을 감소시킨다.
[0050] 일 실시예에서, 주파수 램프 회로(410)는 하나 또는 그 초과의 단계들에서 출력 클록 신호(Clk_out)의 주파수를 램프 다운할 수 있고, 여기서 출력 클록 신호의 주파수는 각각의 단계에서 소정의 양만큼 감소된다. 각각의 단계의 시간 지속기간은 미리 결정될 수 있다. 예컨대, 주파수 램프 회로(410)가 복수의 단계들에서 출력 클록 신호(Clk_out)의 주파수를 램프 다운하는 경우, 주파수 램프 회로(410)는 각각의 단계에서 출력 클록 신호(CLK_out)의 주파수를 더 낮은 주파수로 감소시킬 수 있다.
[0051] 일 실시예에서, 주파수 램프 회로(410)는 하나 또는 그 초과의 단계들에서 출력 클록 신호(Clk_out)의 주파수를 램프 업할 수 있고, 여기서 출력 클록 신호의 주파수는 각각의 단계에서 소정의 양만큼 증가된다. 각각의 단계의 시간 지속기간은 미리 결정될 수 있다. 예컨대, 주파수 램프 회로(410)가 복수의 단계들에서 출력 클록 신호(Clk_out)의 주파수를 램프 업하는 경우, 주파수 램프 회로(410)는 각각의 단계에서 출력 클록 신호(Clk_out)의 주파수를 더 높은 주파수로 증가시킬 수 있다.
[0052] 일 예에서, 주파수 램프 회로(410)는, 램프 회로(410)에 입력되는 선택된 클록 신호(Clk_sel)의 주파수를 제어가능한 양으로 분주함으로써, 출력 클록 신호(Clk_out)의 주파수를 감소시키는 주파수 분주기를 포함할 수 있다. 이 예에서, 출력 클록 신호(Clk_out)는 주파수-분주된 선택된 클록 신호(Clk_sel)이다. 주파수 램프 회로(410)는, 선택된 클록 신호(Clk_sel)의 주파수가 시간의 경과에 따라 분주되는 양(예컨대, 제수)을 증가시킴으로써, 램프 다운 동안 시간의 경과에 따라 증가하는 양만큼 출력 클록 신호(Clk_out)의 주파수를 감소시킬 수 있다. 또한, 주파수 램프 회로(410)는, 선택된 클록 신호(Clk_sel)의 주파수가 시간의 경과에 따라 분주되는 양(예컨대, 제수)을 감소시킴으로써, 램프 업 동안 시간의 경과에 따라 증가하는 양만큼 출력 클록 신호(Clk_out)의 주파수를 증가시킬 수 있다. 이 예에서, 출력 클록 신호(Clk_out)의 최대 주파수(maximum frequency)는, 제수가 1일 때 발생할 수 있으며, 이 경우, 출력 클록 신호(Clk_out)의 주파수는 선택된 신호(Clk_sel)의 주파수와 거의 동일하다.
[0053] 다른 예에서, 주파수 램프 회로(410)는 램프 회로(410)에 입력되는 선택된 클록 신호(Clk_sel)의 펄스들을 선택적으로 스왈로잉(swallowing)함으로써, 출력 클록 신호(Clk_out)의 주파수를 감소시키는 클록 스왈로어를 포함할 수 있다. 이 예에서, 출력 클록 신호(Clk_out)는 펄스-스왈로잉된 선택된 클록 신호(Clk_sel)이다. 주파수 램프 회로(410)는, 시간의 경과에 따라 스왈로잉되는 선택된 클록 신호(Clk_sel)의 펄스들의 퍼센티지를 증가시킴으로써, 램프 다운 동안 시간의 경과에 따라 증가하는 양만큼 출력 클록 신호(Clk_out)의 주파수를 감소시킬 수 있다. 또한, 주파수 램프 회로(410)는 시간의 경과에 따라 스왈로잉되는 선택된 클록 신호(Clk_sel)의 펄스들의 퍼센티지를 감소시킴으로써, 램프 업 동안 시간의 경과에 따라 증가하는 양만큼 출력 클록 신호의 주파수를 증가시킬 수 있다. 이 예에서, 출력 클록 신호(Clk_out)의 최대 주파수는, 선택된 클록 신호(Clk_sel)의 어떤 펄스들도 스왈로잉되지 않을 때 발생할 수 있으며, 이 경우, 출력 클록 신호(Clk_out)의 주파수는 선택된 신호(Clk_sel)의 주파수와 거의 동일하다.
[0054] 도 5는 본 개시내용의 실시예에 따른, 클록 스위칭 동안의 주파수 램프 다운 및 주파수 램프 업을 위한 예시적인 절차(500)를 도시한다. 절차(500)는 제어기(115), 멀티플렉서(120) 및/또는 램프 회로(410)에 의해 수행될 수 있다. 절차(500)는, 프로세서(110)에 출력되는 클록이 입력 클록 신호들(Clk_a 내지 Clk_d) 중 현재 입력 클록 신호로부터 입력 클록 신호들(Clk_a 내지 Clk_d) 중 새로운 입력 클록 신호로 스위칭할 때, 수행될 수 있다.
[0055] 단계(510)에서, 출력 클록 신호(Clk_out)의 주파수가 램프 다운된다. 램프 다운 동안, 출력 클록 신호(Clk_out)는 현재 입력 클록 신호에 의해 제공된다(소싱됨). 주파수 램프 회로(410)는, 선택된 클록 신호(Clk_sel)를 시간의 경과에 따라 증가하는 양으로 주파수 분주함으로써 또는 시간의 경과에 따라 선택된 클록 신호(Clk_sel)의 증가하는 퍼센티지의 클록 펄스들을 스왈로잉함으로써, 이 단계를 수행할 수 있다.
[0056] 단계(520)에서, 출력 클록 신호(Clk_out)는 디스에이블된다. 예컨대, 제어기(115)는, 주파수 램프 회로(410)가 출력 클록 신호(Clk_out)의 램프 다운을 완료할 때, 램프 회로로의 선택된 클록 신호(Clk_sel)의 출력을 디스에이블하도록 멀티플렉서(120)에 명령함으로써, 출력 클록 신호(Clk_out)를 디스에이블할 수 있다.
[0057] 단계(530)에서, 출력 클록 신호(Clk_out)는 새로운 입력 클록 신호를 사용하여 인에이블된다. 예컨대, 멀티플렉서(120)는, 글리치를 방지하기 위해 유휴 기간 후에 램프 회로(410)로의 선택된 클록 신호(Clk_sel)의 출력을 인에이블함으로써, 출력 클록 신호를 인에이블할 수 있다. 이 예에서, 멀티플렉서(120)는 현재 입력 클록 신호가 디스에이블된 후에 새로운 입력 클록 신호를 선택함으로써 새로운 입력 클록 신호를 사용하여 출력 클록 신호를 인에이블할 수 있다.
[0058] 단계(540)에서, 출력 클록 신호(Clk_out)의 주파수가 램프 업된다. 램프 업 동안, 출력 클록 신호(Clk_out)는 새로운 입력 클록 신호에 의해 제공된다(소싱됨). 주파수 램프 회로(410)는, 선택된 클록 신호(Clk_sel)를 시간의 경과에 따라 감소하는 양으로 주파수 분주함으로써 또는 시간의 경과에 따라 선택된 클록 신호(Clk_sel)의 감소하는 퍼센티지의 클록 펄스들을 스왈로잉함으로써, 이 단계를 수행할 수 있다. 일 양상에서, 멀티플렉서(120)는, 선택된 클록 신호(Clk_sel)가 인에이블될 때를 표시하는 신호를 제어기(115)에 출력할 수 있다. 이에 대한 응답으로, 제어기(115)는 램프 회로(410)가 램프 업을 시작하도록 트리거할 수 있다.
[0059] 도 6은 도 4의 주파수 램프 회로(410)가 클록 스왈로어(610)를 포함하는 예를 도시한다. 클록 스왈로어(610)는, 위에서 논의된 바와 같이, 램프 회로(410)에 입력되는 선택된 클록 신호(Clk_sel)의 펄스들을 선택적으로 스왈로잉함으로써, 출력 클록 신호(Clk_out)의 주파수를 가변적인 양만큼 감소시키도록 구성된다. 이 예에서, 출력 클록 신호(Clk_out)는 펄스-스왈로잉된 선택된 클록 신호(Clk_sel)이다.
[0060] 클록 스왈로어(610)의 예시적인 동작들은 이제 도 7a 및 7b를 참조하여 설명될 것이다. 도 7a 및 7b는, 멀티플렉서(120)가 입력 클록 신호(Clk_b)로부터 입력 클록 신호(Clk_a)로 스위칭하는, 입력 클록 신호들(Clk_a 및 Clk_b)의 예시적인 타이밍도들을 도시한다. 도 7a 및 7b는 또한, 클록 스왈로어(610)에 입력되는 선택된 클록 신호(Clk_sel), 및 프로세서(110)로의 출력 신호 클록(Clk_out)을 도시한다.
[0061] 유휴 기간 전에, 클록 스왈로어(610)는 4개의 단계들로 출력 클록 신호(Clk_out)의 주파수를 램프 다운한다. 램프 다운 동안, 출력 클록 신호(Clk_out)는 입력 클록 신호(Clk_a)에 의해 제공된다(소싱됨). 제1 단계에서, 클록 스왈로어(610)는, 도 7a에 도시된 바와 같이, 출력 클록 신호(Clk_out)의 주파수를 입력 클록 신호(Clk_a)의 주파수의 80%까지 감소시키기 위해, 선택된 클록 신호(Clk_sel)의 펄스들의 20%를 스왈로잉한다. 제2 단계에서, 클록 스왈로어(610)는, 출력 클록 신호(Clk_out)의 주파수를 입력 클록 신호(Clk_a)의 주파수의 60%까지 감소시키기 위해, 선택된 클록 신호(Clk_sel)의 펄스들의 40%를 스왈로잉한다. 제3 단계에서, 클록 스왈로어(610)는, 출력 클록 신호의 주파수를 입력 클록 신호(Clk_a)의 주파수의 40%까지 감소시키기 위해, 선택된 클록 신호(Clk_sel)의 펄스들의 60%를 스왈로잉한다. 마지막으로, 제4 단계에서, 클록 스왈로어(610)는, 출력 클록 신호의 주파수를 입력 클록 신호(Clk_a)의 주파수의 20%까지 감소시키기 위해, 선택된 클록 신호(Clk_sel)의 펄스들의 80%를 스왈로잉한다. 따라서, 각각의 후속적인 단계에서, 클록 스왈로어(610)는 더 큰 퍼센티지의 클록 펄스들을 스왈로잉한다.
[0062] 이어서, 멀티플렉서(120)는 선택된 클록 신호(Clk_sel)를 디스에이블하고(즉, 클록 신호(Clk_a)의 출력을 디스에이블함), 이는 출력 클록 신호(Clk_out)의 주파수를 제로로 감소시킨다. 따라서, 이 예에서, (입력 클록 신호(Clk_a)에 의해 초기에 제공된) 출력 클록 신호(Clk_out)의 주파수는 갑자기 제로로 진행하는 대신에 20%의 단계들로 램프 다운된다. 주파수 램프 다운은, 도 3에 도시된 바와 같이, 전체 주파수에서 출력 클록 신호(Clk_out)를 갑자기 디스에이블하는 것과 비교하여, PDN 상의 전압 오버슈트를 감소시킨다.
[0063] 도 7a에 도시된 바와 같이, 출력 클록 신호(Clk_out)가 디스에이블된 후에, 멀티플렉서(120)는 글리치를 방지하기 위해 유휴 기간 동안 클록 신호를 출력하지 않는다. 유휴 기간의 종료 시에, 멀티플렉서(120)는 입력 클록 신호(Clk_b)로, 선택된 클록 신호(Clk_sel)를 인에이블한다. 도 7b에 도시된 바와 같이, 클록 스왈로어(610)는 출력 클록 신호(Clk_out)의 주파수를 3개의 단계들로 입력 클록 신호(Clk_b)의 주파수까지 램프 업한다. 제1 단계에서, 클록 스왈로어(610)는, 도 7b에 도시된 바와 같이, 출력 클록 신호(Clk_out)의 주파수를 제로로부터 클록 신호(Clk_b)의 주파수의 40%까지 증가시키기 위해, 선택된 클록 신호(Clk_sel)의 클록 펄스들의 60%를 스왈로잉한다. 제2 단계에서, 클록 스왈로어(610)는, 출력 클록 신호(Clk_out)의 주파수를 클록 신호(Clk_b)의 주파수의 80%까지 증가시키기 위해, 선택된 클록 신호(Clk_sel)의 클록 펄스들의 20%를 스왈로잉한다. 마지막으로, 제3 단계에서, 클록 스왈로어(610)는 선택된 클록 신호(Clk_sel)의 클록 펄스들을 스왈로잉하는 것을 중단하고, 이에 의해 출력 클록 신호(Clk_out)의 주파수를 클록 신호(Clk_b)의 전체 주파수까지 증가시킨다. 따라서, 각각의 후속적인 단계에서, 클록 스왈로어(610)는 더 작은 퍼센티지의 클록 펄스들을 스왈로잉한다. 주파수 램프 업은, 도 3에 도시된 바와 같이, 전체 주파수에서 출력 클록 신호(Clk_out)를 갑자기 출력하는 것과 비교하여, 주파수 스위치 동안 PDN 상의 전압 드룹을 감소시킨다. 도 7a 및 7b에 도시된 램프 다운 및 램프 업 시퀀스들은 단지 예시적이라는 것이 인지되어야 한다. 램프 다운 및 램프 업 시퀀스들의 다른 예들이 아래에서 제공된다.
[0064] 일 실시예에서, 클록 스왈로어(610)는 출력 클록 신호를 제공하는(소싱하는) 입력 클록 신호의 주파수에 따라 상이한 램프 다운 시퀀스들을 사용할 수 있다. 예컨대, 높은 주파수의 입력 클록 신호에 대한 램프 다운 시퀀스는, 더 낮은 주파수의 입력 클록에 대한 램프 다운 시퀀스와 비교하여, 더 많은 단계들을 갖고 그리고 각각의 단계에서 더 작은 퍼센티지만큼 주파수를 감소시킬 수 있다. 이는, 더 낮은 주파수의 클록이 프로세서(110)로부터의 PDN 상의 더 적은 전류 부하, 및 그에 따른 더 적은 오버슈트에 대응하기 때문이다. 입력 클록 신호의 주파수가 충분히 낮다면, 출력 클록 신호는 램프 다운 없이 디스에이블될 수 있다. 이는, 입력 클록 신호의 낮은 주파수가, 수용가능한 한계 내에 있는 비교적 작은 오버슈트를 초래할 수 있기 때문이다. 이 경우, 클록 스왈로어(610)는 클록 스왈로잉을 수행하지 않을 수 있다.
[0065] 일 실시예에서, 클록 스왈로어(610)는 출력 클록 신호를 제공하는(소싱하는) 입력 클록 신호의 주파수에 따라 상이한 램프 업 시퀀스들을 사용할 수 있다. 예컨대, 높은 주파수의 입력 클록 신호에 대한 램프 업 시퀀스는, 더 낮은 주파수의 입력 클록에 대한 램프 업 시퀀스와 비교하여, 더 많은 단계들을 갖고 그리고 각각의 단계에서 더 작은 퍼센티지만큼 주파수를 증가시킬 수 있다. 이는, 더 낮은 주파수의 클록이 프로세서(110)로부터의 PDN 상의 더 적은 전류 부하, 및 그에 따른 더 적은 드룹에 대응하기 때문이다. 입력 클록 신호의 주파수가 충분히 낮다면, 출력 클록 신호는 램프 업 없이 유휴 기간 후에 인에이블될 수 있다. 이는, 입력 클록 신호의 낮은 주파수가, 수용가능한 한계 내에 있는 비교적 작은 드룹을 초래할 수 있기 때문이다. 이 경우, 클록 스왈로어(610)는 클록 스왈로잉을 수행하지 않을 수 있다.
[0066] 일 실시예에서, 클록 스왈로어(610)는 다수의 상이한 펄스 스왈로우 패턴들 중 하나에 따라 클록 펄스들을 스왈로잉하도록 구성될 수 있다. 이와 관련하여, 도 8은 8개의 펄스 스왈로우 패턴들의 예를 도시하며, 여기서 각각의 펄스 스왈로우 패턴은 고유 패턴 ID(PID)에 의해 식별된다. 이 예에서, 각각의 펄스 스왈로우 패턴은 8 비트들의 시퀀스에 의해 정의되며, 여기서 비트 값 0은 펄스 스왈로우(pulse swallow)에 대응하고 비트 값 1은 펄스 패스(pulse pass)에 대응한다. 예컨대, PID 2에 대응하는 펄스 스왈로우 패턴은 2개의 0 값 비트들 및 6개의 1 값 비트들을 갖는다. 따라서, 이 펄스 스왈로우 패턴에 대해, 클록 스왈로어(610)는, 선택된 클록 신호(Clk_sel)의 클록 펄스들의 대략 25%를 스왈로잉하며, 이는 25%의 주파수 감소에 대응한다. 결과적으로, 이 펄스 스왈로우 패턴에 대해, 출력 클록 신호의 주파수는 출력 클록 신호를 제공하는(소싱하는) 입력 클록 신호의 주파수의 75%까지 감소된다.
[0067] 다른 예에서, PID 5에 대응하는 펄스 스왈로우 패턴은 5개의 0 값 비트들 및 3개의 1 값 비트들을 갖는다. 따라서, 이 펄스 스왈로우 패턴에 대해, 클록 스왈로어(610)는, 선택된 클록 신호(Clk_sel)의 클록 펄스들의 대략 62.5%를 스왈로잉하며, 이는 62.5%의 주파수 감소에 대응한다. 결과적으로, 이 펄스 스왈로우 패턴에 대해, 출력 클록 신호의 주파수는 출력 클록 신호를 제공하는(소싱하는) 입력 클록 신호의 주파수의 37.5%까지 감소된다.
[0068] 도 8의 예에서, PID 0에 대응하는 펄스 스왈로우 패턴은 모두가 1 값인 비트들을 포함한다. 따라서, 이 펄스 스왈로우 패턴에 대해, 클록 스왈로어(610)는 출력 클록 신호의 클록 펄스들 모두를 패스한다(즉, 클록 스왈로잉을 수행하지 않음).
[0069] 일 양상에서, 제어기(115)는, 대응하는 PID를 클록 스왈로어(610)에 입력함으로써 특정 펄스 스왈로우 패턴에 따라, 선택된 클록 신호(Clk_sel)의 펄스들을 스왈로잉하도록 클록 스왈로어(610)에 명령할 수 있다. 예컨대, 제어기(115)가 PID 6을 클록 스왈로어(610)에 입력하면, 클록 스왈로어(610)는 도 8에 도시된 대응하는 펄스 스왈로우 패턴에 따라 펄스들을 스왈로잉할 수 있다. 이 예에서, 클록 스왈로어(610)는 선택된 클록 신호(Clk_sel)의 펄스들의 대략 75%를 스왈로잉하며, 이는 출력 클록 신호(Clk_out)의 주파수를, 출력 클록 신호(Clk_out)를 제공하는(소싱하는) 입력 클록 신호의 주파수의 대략 25%까지 감소시킨다.
[0070] 클록 스왈로어(610)가 펄스 스왈로우 패턴에 따라 클록 펄스들을 스왈로잉할 때, 클록 스왈로어(610)는 패턴을 반복할 수 있다. 도 8의 예를 사용하면, 클록 스왈로어(610)는 선택된 클록 신호(Clk_sel)의 8개의 펄스들마다 펄스 스왈로우 패턴을 반복할 수 있으며, 여기서 8은 패턴을 정의하는 비트들의 수이다. 예컨대, 도 8의 PID 3에 대응하는 스왈로우 패턴에 대해, 클록 스왈로어(610)는 그 패턴에 따라, 선택된 클록 신호(Clk_sel)의 8개의 펄스들마다 3개의 펄스들을 스왈로잉할 수 있다.
[0071] 일 실시예에서, 램프 다운 시퀀스는 PID들의 대응하는 시퀀스에 의해 각각의 입력 클록 신호에 대해 정의될 수 있다. 입력 클록 신호에 대한 PID들의 시퀀스는, 출력 클록 신호(Clk_out)가 입력 클록 신호에 의해 제공될(소싱될) 때, 출력 클록 신호(Clk_out)의 주파수를 램프 다운하기 위해 클록 스왈로어(610)에 의해 사용될 펄스 스왈로우 패턴들의 시퀀스를 식별한다.
[0072] 이 실시예에서, 클록 스왈로어(610)는, 시퀀스 내의 각각의 PID에 따라 클록 스왈로잉을 순차적으로 수행함으로써 PID들의 시퀀스에 따라 램프 다운을 수행할 수 있다. 시퀀스 내의 각각의 PID에 대해, 클록 스왈로어(610)는 PID에 대응하는 스왈로우 패턴에 따라 클록 펄스들을 스왈로잉할 수 있다. 램프 다운 동안 클록 스왈로어(610)가 각각의 PID에 대해 소비하는 시간량은 미리 결정된 시간 지속기간 또는 대응하는 스왈로우 패턴의 반복들의 미리 결정된 횟수에 대응할 수 있다. 램프 다운 시퀀스의 PID들은, 시퀀스 내의 각각의 후속적인 PID가 클록 펄스 스왈로우들의 더 큰 퍼센티지에 대응하도록, 순서화된다. 따라서, 클록 스왈로어(610)가 순차적으로 시퀀스 내의 PID들을 통과할 때, 클록 스왈로어(610)는 증가하는 퍼센티지의 클록 펄스들을 스왈로잉한다.
[0073] 일 실시예에서, 제어기(115)는 메모리에 테이블을 포함할 수 있으며, 여기서 테이블은 각각의 입력 클록 신호(Clk_a 내지 Clk_d)에 대한 램프 다운 시퀀스를 포함한다. 각각의 입력 클록 신호에 대한 램프 다운 시퀀스는, 위에서 논의된 바와 같이, 출력 클록 신호(Clk_out)의 주파수를 램프 다운하기 위해 클록 스왈로어(610)에 의해 사용될 펄스 스왈로우 패턴들의 시퀀스를 식별하는 PID들의 시퀀스를 포함할 수 있다. 출력 클록 신호(Clk_out)를 클록 신호들(Clk_a 내지 Clk_d) 중 현재 클록 신호로부터 클록 신호들(Clk_a 내지 Clk_b) 중 새로운 클록 신호로 스위칭할 때, 제어기(115)는 현재 입력 클록 신호에 대한 램프 다운 시퀀스를 테이블로부터 리트리브하고, 리트리브된 램프 다운 시퀀스에 따라 출력 클록 신호의 주파수를 램프 다운하도록 클록 스왈로어(610)에 명령할 수 있다.
[0074] 일 실시예에서, 각각의 입력 클록 신호에 대한 램프 다운 시퀀스는, 각각의 입력 클록 신호를 PID들 중 하나에 맵핑하는 클록 인덱스에 의해 정의될 수 있다. 이 실시예에서, 각각의 입력 클록 신호에 대한 램프 다운 시퀀스는, PID 0으로부터 램프 다운 시퀀스의 제1 단계에서 맵핑된 PID로 점프할 수 있다. 램프 다운 시퀀스의 나머지 단계들은 램프 다운 방향의 나머지 PID들에 의해 정의된다. 이는 도 9를 참조하여 예로서 설명될 수 있다.
[0075] 도 9는 각각의 입력 클록 신호(Clk_a 내지 Clk_d)가 PID에 맵핑되는, 예시적인 클록 인덱스를 도시한다. 이 예에서, 각각의 입력 클록 신호에 대한 램프 다운 시퀀스는, PID 0으로부터 램프 다운 시퀀스의 제1 단계에서 맵핑된 PID로 점프한다. 램프 다운 시퀀스의 나머지 단계들은, 도 9의 하향 화살표에 의해 표시되는 램프 다운 방향의 나머지 PID들에 의해 정의된다.
[0076] 도 9의 예에서, 입력 클록 신호(Clk_b)는 PID 2에 맵핑된다. 따라서, 입력 클록 신호(Clk_b)에 대한 램프 다운 시퀀스는 아래와 같이 주어질 수 있다:
또한, 이 예에서, 입력 클록 신호(Clk_c)는 PID 4에 맵핑된다. 따라서, 입력 클록 신호(Clk_c)에 대한 램프 다운 시퀀스는 아래와 같이 주어질 수 있다:
또한, 이 예에서, 입력 클록 신호(Clk_d)는 PID 6에 맵핑된다. 따라서, 입력 클록 신호(Clk_d)에 대한 램프 다운 시퀀스는 아래와 같이 주어질 수 있다:
마지막으로, 이 예에서, 입력 클록 신호(Clk_a)는 PID 0에 맵핑된다. 따라서, 입력 클록 신호(Clk_a)에 대한 램프 다운 시퀀스는 아래와 같이 주어질 수 있다:
이 예에서, 입력 클록 신호(Clk_a)에 대한 램프 다운 시퀀스는 램프 다운 방향으로 도 9의 PID들 모두를 통과한다.
[0077] 일 실시예에서, 램프 업 시퀀스는 PID들의 대응하는 시퀀스에 의해 각각의 입력 클록 신호에 대해 정의될 수 있다. 입력 클록 신호에 대한 PID들의 시퀀스는, 출력 클록 신호(Clk_out)가 입력 클록 신호에 의해 제공될(소싱될) 때, 출력 클록 신호(Clk_out)의 주파수를 램프 업하기 위해 클록 스왈로어(610)에 의해 사용될 펄스 스왈로우 패턴들의 시퀀스를 식별한다.
[0078] 이 실시예에서, 클록 스왈로어(610)는, 시퀀스 내의 각각의 PID에 따라 클록 스왈로잉을 순차적으로 수행함으로써 PID들의 시퀀스에 따라 램프 업을 수행할 수 있다. 시퀀스 내의 각각의 PID에 대해, 클록 스왈로어(610)는 PID에 대응하는 스왈로우 패턴에 따라 클록 펄스들을 스왈로잉할 수 있다. 램프 업 동안 클록 스왈로어(610)가 각각의 PID에 대해 소비하는 시간량은 미리 결정된 시간 지속기간 또는 대응하는 스왈로우 패턴의 반복들의 미리 결정된 횟수에 대응할 수 있다. 램프 업 시퀀스의 PID들은, 시퀀스 내의 각각의 후속적인 PID가 클록 펄스 스왈로우들의 더 작은 퍼센티지에 대응하도록, 순서화된다. 따라서, 클록 스왈로어(610)가 순차적으로 PID의 시퀀스 내의 PID들을 통과할 때, 클록 스왈로어(610)는 감소하는 퍼센티지의 클록 펄스들을 스왈로잉한다.
[0079] 일 실시예에서, 제어기(115)는 메모리에 테이블을 포함할 수 있으며, 여기서 테이블은 각각의 입력 클록 신호(Clk_a 내지 Clk_d)에 대한 램프 업 시퀀스를 포함한다. 각각의 입력 클록 신호에 대한 램프 업 시퀀스는, 위에서 논의된 바와 같이, 출력 클록 신호(Clk_out)의 주파수를 램프 업하기 위해 클록 스왈로어(610)에 의해 사용될 펄스 스왈로우 패턴들의 시퀀스를 식별하는 PID들의 시퀀스를 포함할 수 있다. 출력 클록 신호(Clk_out)를 클록 신호들(Clk_a 내지 Clk_d) 중 현재 클록 신호로부터 클록 신호들(Clk_a 내지 Clk_b) 중 새로운 클록 신호로 스위칭할 때, 제어기(115)는 새로운 입력 클록 신호에 대한 램프 업 시퀀스를 테이블로부터 리트리브하고, 리트리브된 램프 업 시퀀스에 따라 새로운 입력 클록 신호가 인에이블될 때 출력 클록 신호의 주파수를 램프 업하도록 클록 스왈로어(610)에 명령할 수 있다.
[0080] 일 실시예에서, 각각의 입력 클록 신호에 대한 램프 업 시퀀스는, 각각의 입력 클록 신호를 PID들 중 하나에 맵핑하는 클록 인덱스에 의해 정의될 수 있다. 이 실시예에서, 각각의 입력 클록 신호에 대한 램프 업 시퀀스는, 램프 업 방향으로 맵핑된 PID보다 더 높은 퍼센티지의 클록 펄스 스왈로우들을 갖는 각각의 PID를 통해 시퀀싱될 수 있다. 맵핑된 PID에 도달한 후에, 램프 업 시퀀스는 맵핑된 PID로부터 PID 0으로 점프할 수 있다. 이는 도 9의 예를 사용하여 설명될 수 있다.
[0081] 이 예에서, 각각의 입력 클록 신호에 대한 램프 업 시퀀스는, 도 9의 상향 화살표에 의해 표시되는 램프 업 방향으로 PID 7에서 시작하여 맵핑된 PID로 시퀀싱된다. 각각의 맵핑된 PID에 도달한 후에, 각각의 램프 업 시퀀스는 맵핑된 PID로부터 PID 0으로 점프할 수 있다.
[0082] 도 9의 예에서, 입력 클록 신호(Clk_b)는 PID 2에 맵핑된다. 따라서, 입력 클록 신호(Clk_b)에 대한 램프 업 시퀀스는 아래와 같이 주어질 수 있다:
또한, 이 예에서, 입력 클록 신호(Clk_c)는 PID 4에 맵핑된다. 따라서, 입력 클록 신호(Clk_c)에 대한 램프 업 시퀀스는 아래와 같이 주어질 수 있다:
또한, 이 예에서, 입력 클록 신호(Clk_d)는 PID 6에 맵핑된다. 따라서, 입력 클록 신호(Clk_d)에 대한 램프 업 시퀀스는 아래와 같이 주어질 수 있다:
마지막으로, 이 예에서, 입력 클록 신호(Clk_a)는 PID 0에 맵핑된다. 따라서, 입력 클록 신호(Clk_a)에 대한 램프 업 시퀀스는 아래와 같이 주어질 수 있다:
이 예에서, 입력 클록 신호(Clk_a)에 대한 램프 업 시퀀스는 램프 업 방향으로 도 9의 PID들 모두를 통과한다. 이 예에서, 동일한 클록 인덱스가 램프 다운 및 램프 업에 대해 사용되기 때문에, 각각의 입력 클록 신호에 대한 램프 업 시퀀스는 입력 클록 신호에 대한 램프 다운 시퀀스의 역방향(reverse)이다.
[0083] 램프 다운 및 램프 업에 대한 클록 인덱스는 상이할 수 있다는 것이 인지되어야 한다. 이와 관련하여, 도 10은 램프 다운에 대한 클록 인덱스 및 램프 업에 대한 별개의 클록 인덱스의 예를 도시한다. 이 예에서, 램프 다운에 대한 클록 인덱스는 도 9의 클록 인덱스와 동일하다. 그러므로, 도 9 및 도 10에 대한 램프 다운 시퀀스들은 동일하다. 이 예에서, 램프 업에 대한 클록 인덱스는 입력 클록 신호들(Clk_a, Clk_b 및 Clk_c) 각각을 PID 0에 맵핑하고, 입력 클록 신호(Clk_d)를 PID 2에 맵핑한다. 따라서, 이 예에서, 입력 클록 신호들(Clk_a, Clk_b 및 Clk_c) 각각에 대한 램프 업 시퀀스는 아래와 같이 주어질 수 있다:
입력 클록 신호(Clk_d)에 대한 램프 업 시퀀스는 아래와 같이 주어질 수 있다:
[0084] 본 개시내용의 실시예들이 클록 스위칭으로 제한되지 않는다는 것이 인지되어야 한다. 예컨대, 본 개시내용의 실시예들은, 전력을 절약하기 위해 프로세서(110)가 활성 모드로부터 유휴 모드로 전환될 때 출력 클록 신호의 주파수를 램프 다운하고, 그리고 프로세서(110)가 다시 활성 모드로 전환될 때 출력 클록 신호의 주파수를 램프 업하는 데 사용될 수 있다.
[0085] 이와 관련하여, 도 11은 프로세서(110)의 전력을 관리하도록 구성된 전력 관리자(1110), 및 프로세서(110)로의 클록 신호를 선택적으로 게이팅하도록 구성된 클록 게이트 회로(1115)를 더 포함하는 예시적인 시스템(1100)을 도시한다. 일 양상에서, 전력 관리자(1110)는 프로세서가 사용되지 않을 때 전력을 절약하기 위해 프로세서(110)를 유휴 모드에 두도록 구성될 수 있다. 이를 수행하기 위해, 전력 관리자(1100)는 클록 게이트 회로(1115)를 사용하여 클록 신호를 게이팅할 수 있다. 클록 신호를 게이팅하는 것은 프로세서(110)의 대부분의 또는 모든 스위칭 활동을 중단시키고, 그에 따라 프로세서(110)에 의한 동적 전력 소비를 상당히 감소시킬 수 있다. 프로세서(110)가 나중에 (예컨대, 명령들을 실행하기 위해) 필요할 때, 전력 관리자(1110)는, 클록 게이트 회로(1115)를 사용하여 클록 신호를 언-게이팅(un-gating)함으로써 프로세서(110)를 다시 활성 모드로 전환할 수 있다. 클록 게이트 회로(1115)가 프로세서(110) 내에 있을 수 있고, 프로세서가 유휴 모드에 있을 때 프로세서(110)의 내부 클록 경로들을 게이팅하도록 구성될 수 있다는 것이 인지되어야 한다.
[0086] 일 실시예에서, 전력 관리자(1110)가 프로세서(110)를 유휴 모드에 둘 때, 전력 관리자(1110)는 프로세서(110)로의 출력 클록 신호(Clk_out)의 주파수를 램프 다운하도록 클록 제어기(115)에 명령하는 유휴-모드 신호를 클록 제어기(115)에 전송할 수 있다. 전력 관리자(1110)는, 클록 게이트 회로(1115)가 프로세서(110)에서 클록 신호를 게이팅하기 전에, 이를 수행할 수 있다. 클록 제어기(115)는 출력 클록 신호를 제공하는(소싱하는) 입력 클록 신호에 대응하는 램프 다운 시퀀스에 따라 출력 클록 신호(Clk_out)의 주파수를 램프 다운할 수 있다. 램프 다운 시퀀스는, 출력 클록 신호의 주파수가, 각각의 후속적인 단계에서 증가하는 양만큼 감소되는, 하나 또는 그 초과의 단계들을 포함할 수 있다. 램프 회로(410)는, 위에서 논의된 바와 같이, 선택된 클록 신호(Clk_sel)의 클록 주파수를 분주함으로써 또는 선택된 클록 신호(Clk_sel)의 펄스들을 스왈로잉함으로써, 출력 클록 신호의 주파수를 램프 다운할 수 있다.
[0087] 이 실시예에서, 클록 제어기(115)는, 출력 클록 신호(Clk_out)의 주파수를 거의 제로 헤르츠까지 또는 출력 클록 신호(Clk_out)를 제공하는(소싱하는) 입력 클록 신호보다 더 낮은 주파수까지 계속해서 램프 다운하도록 램프 회로(410)에 명령할 수 있다. 일단 램프 다운이 완료되면, 클록 제어기(115)는 주파수가 램프 다운되었다는 것을 전력 관리자(1110)에 알릴 수 있다. 이에 대한 응답으로, 전력 관리자(120)는 프로세서(110)를 유휴 모드에 두기 위해 프로세서(110)로의 클록 신호를 게이팅할 수 있다.
[0088] 출력 클록 신호(Clk_out)의 주파수를 램프 다운하는 것은, 프로세서(110)가 유휴 모드에 놓일 때, PDN 상의 전압 오버슈트를 감소시킬 수 있다. 이는, 주파수를 램프 다운하는 것이, 전체 주파수(즉, 출력 클록 신호를 소싱하는 입력 클록 신호의 주파수)에서 프로세서(110)로의 클록을 게이팅하는 것과 비교하여, 더 느린 레이트로 PDN 상의 전류 부하를 감소시키기 때문이다.
[0089] 이 실시예에서, 클록 제어기(115)는, 프로세서(110)가 유휴 모드에 있을 때 출력 클록 신호를 디스에이블할 수 있다. 예컨대, 클록 제어기(115)는 램프 다운의 종료 시에, 선택된 클록 신호(Clk_sel)를 디스에이블할 수 있다.
[0090] 전력 관리자(1110)가 프로세서(110)를 다시 활성 모드로 전환할 때, 전력 관리자(1110)는 출력 클록 신호(Clk_out)의 주파수를 전체 주파수(즉, 출력 클록 신호를 소싱하는 입력 클록 신호의 주파수)로 램프 업하도록 클록 제어기(115)에 명령하는 활성-모드 신호를 클록 제어기(115)에 전송할 수 있다. 전력 관리자(1110)는 프로세서(110)로의 클록 신호가 언-게이팅된 후에 주파수를 램프 업할 수 있다. 클록 제어기(115)는 출력 클록 신호를 제공하는(소싱하는) 입력 클록 신호에 대응하는 램프 업 시퀀스에 따라 출력 클록 신호(Clk_out)의 주파수를 램프 업할 수 있다. 램프 업 시퀀스는, 출력 클록 신호의 주파수가 각각의 후속적인 단계에서 더 높은 주파수로 증가되는, 하나 또는 그 초과의 단계들을 포함할 수 있다. 램프 회로(410)는, 위에서 논의된 바와 같이, 선택된 클록 신호(Clk_sel)의 클록 주파수를 시간의 경과에 따라 감소하는 양으로 분주함으로써 또는 시간의 경과에 따라, 선택된 클록 신호(Clk_sel)의 감소하는 퍼센티지의 펄스들을 스왈로잉함으로써, 출력 클록 신호의 주파수를 램프 업할 수 있다.
[0091] 출력 클록 신호(Clk_out)의 주파수를 램프 업하는 것은, 프로세서(110)가 활성 모드에 놓일 때, PDN 상의 전압 드룹을 감소시킬 수 있다. 이는, 주파수를 램프 업하는 것이, 전체 주파수(즉, 출력 클록 신호를 소싱하는 입력 클록 신호의 주파수)에서 프로세서(110)로의 클록을 언-게이팅하는 것과 비교하여, 더 느린 레이트로 PDN 상의 전류 부하를 증가시키기 때문이다.
[0092] 일 실시예에서, 전력 관리자(1110)는, 프로세서(110)가 WFI(wait-for-interrupt) 명령, WFE(wait-for-event) 명령, 또는 다른 명령을 실행할 때, 프로세서(110)를 유휴 모드에 둘 수 있다. 프로세서(110)가 유휴 모드에 놓인 후에, 전력 관리자(1110)는, 전력 관리자(1110)가 인터럽트 신호를 수신할 때 또는 소정의 이벤트가 발생할 때, 프로세서(110)를 다시 활성 모드로 전환할 수 있다. 인터럽트 신호는 프로세서를 필요로 하는 디바이스(예컨대, 주변 디바이스)로부터 비롯될 수 있다. 다른 예에서, 인터럽트 신호는 타이머로부터 비롯될 수 있다. 이 예에서, 타이머는, 프로세서(110)가 유휴 모드에 놓일 때 카운터를 트리거할 수 있고, 카운터의 카운트 값이 미리 결정된 값에 도달할 때 인터럽트 신호를 출력할 수 있다.
[0093] 다른 예에서, 프로세서(110)(예컨대, GPU)는 시간 프레임들에서 데이터를 프로세싱할 수 있다. 이 예에서, 프로세서(110)는 다음 시간 프레임에 대한 데이터가 수신되기 전에, 현재 시간 프레임에 대한 데이터를 프로세싱하는 것을 마무리할 수 있다. 이 경우, 프로세서(110)가 현재 시간 프레임에 대한 데이터를 프로세싱하는 것을 마무리했을 때, 프로세서(110)는 현재 프레임에 대한 프로세싱이 마무리되었다는 것을 전력 관리자(1110)에 알릴 수 있다. 이에 대한 응답으로, 전력 관리자(1110)는 전력을 절약하기 위해 프로세서(110)를 유휴 모드에 둘 수 있다. 전력 관리자(1110)는 다음 시간 프레임의 시작 시에 프로세서(110)를 다시 활성 모드로 전환할 수 있다. 이 예에서, 전력 관리자(1110)는 시간 프레임들의 경계들을 추적하는 타이머를 가질 수 있다. 이는, 전력 관리자(1110)가 다음 시간 프레임의 시작을 결정하고, 그에 따라 다음 시간 프레임의 시작 시에 프로세서(110)를 다시 활성 모드로 전환하게 할 수 있다.
[0094] 도 12는 프로세서를 활성 모드와 유휴 모드 간에서 전환하기 위한 예시적인 절차(1200)를 도시한다. 방법은 전력 관리자(1110), 클록 제어기(115), 멀티플렉서(120), 클록 게이트 회로(1115) 및/또는 램프 회로(410)에 의해 수행될 수 있다.
[0095] 단계(1210)에서, 클록 신호가 프로세서에 제공되며, 프로세서는 활성 모드에서 프로세서의 동작들을 타이밍하기 위해 클록 신호를 사용한다. 예컨대, 클록 신호는 복수의 입력 클록 신호들 중 선택된 입력 클록 신호를 프로세서(예컨대, 프로세서(110))에 출력하는 멀티플렉서(예컨대, 멀티플렉서(120))에 의해 제공될 수 있다.
[0096] 단계(1220)에서, 프로세서가 유휴 모드에 놓일 때, 클록 신호의 주파수는 램프 다운된다. 예컨대, 클록 신호의 주파수는, 시간의 경과에 따라 클록 신호의 증가하는 퍼센티지의 펄스들을 스왈로잉함으로써 또는 클록 신호의 주파수를 시간의 경과에 따라 증가하는 양으로 분주함으로써, 램프 다운될 수 있다. 클록 신호는 거의 제로 헤르츠 또는 더 낮은 주파수까지 계속해서 램프 다운될 수 있다.
단계(1230)에서, 클록 신호의 주파수가 램프 다운된 후에, 클록 신호는 게이팅된다. 예컨대, 클록 신호는 클록 게이트 회로(예컨대, 클록 게이트 회로(1115))에 의해 게이팅될 수 있다.
[0097] 방법은 선택적으로, 프로세서가 다시 활성 모드에 놓일 때 클록 신호를 언-게이팅(un-gating)하는 단계를 포함할 수 있다. 예컨대, 위에서 논의된 바와 같이, 프로세서는 인터럽트 신호에 대한 응답으로 다시 활성에 놓일 수 있다. 방법은 또한, 클록 신호가 언-게이팅된 후에 클록 신호의 주파수를 램프 업하는 단계를 포함할 수 있다. 예컨대, 클록 신호의 주파수는, 시간의 경과에 따라 클록 신호의 감소하는 퍼센티지의 펄스들을 스왈로잉함으로써 또는 클록 신호의 주파수를 시간의 경과에 따라 감소하는 양으로 분주함으로써 램프 업될 수 있다.
[0098] 일 실시예에서, 프로세서(110)가 유휴 모드에 있는 동안 멀티플렉서(120)가 출력 클록 신호를 디스에이블하게 함으로써, 프로세서(110)가 유휴 모드에 있는 동안 출력 클록 신호가 게이팅될 수 있다. 이 실시예에서, 클록 제어기(115)는 출력 클록 신호(Clk_out)를 디스에이블하기 위해 램프 다운의 종료 시에, 선택된 클록 신호(Clk_sel)를 디스에이블하도록 멀티플렉서(120)에 명령할 수 있다. 클록 제어기(115)는 예컨대, 입력 클록 신호들 모두를 비선택함으로써, 이를 수행할 수 있다. 프로세서(110)가 다시 활성 모드로 전환될 때, 클록 제어기(115)는, 선택된 클록 신호(Clk_sel)를 인에이블하여 출력 클록 신호(Clk_out)를 인에이블하도록 그리고 선택된 클록 신호(Clk_sel)가 인에이블될 때 램프 업을 시작하도록 멀티플렉서(120)에 명령할 수 있다. 클록 제어기(115)는 예컨대, 입력 클록 신호들 중 하나를 선택함으로써, 이를 수행할 수 있다. 선택된 입력 클록 신호는, 프로세서(110)가 마지막으로 활성 모드에 있었을 때 선택되었던 입력 클록 신호와 동일할 수 있다. 이 실시예에서, 클록 게이트 회로(1115)는 생략될 수 있다. 또한, 클록 신호는, 멀티플렉서(120)가 클록 신호의 출력을 디스에이블하게 함으로써, 방법(1200)의 단계(1230)에서 게이팅될 수 있다.
[0099] 일 실시예에서, 주파수 램프 회로(410)는 온도 완화를 위해 출력 클록 신호(Clk_out)의 주파수를 스케일링(스로틀링)하는 데 사용될 수 있다. 이와 관련하여, 도 13은 온도 제어기(1310) 및 하나 또는 그 초과의 온도 센서들(1320)을 더 포함하는 예시적인 시스템(1300)을 도시한다.
[0100] 온도 센서(1320)는 프로세서(110)의 온도를 측정하도록 그리고 측정된 온도를 온도 제어기(1310)에 출력하도록 구성된다. 온도 센서(1320)는 프로세서(110)의 정확한 온도 판독을 획득하기 위해 프로세서(110) 근처에 또는 프로세서(110) 내에 로케이팅될 수 있다. 온도 제어기(1310)는, 아래에서 추가로 논의되는 바와 같이, 측정된 온도에 기반하여 출력 클록 신호(Clk_out)의 주파수를 제어하도록 구성된다.
[0101] 일 실시예에서, 온도 제어기(1310)는 측정된 온도를 온도 임계치와 주기적으로 비교할 수 있다. 측정된 온도가 임계치 미만일 때, 온도 제어기(1310)는 출력 클록 신호의 주파수를 그대로 둘 수 있다. 측정된 온도가 임계치 초과로 상승될 때, 온도 제어기(1310)는 온도를 낮추기 위해 온도 완화를 개시할 수 있다. 예컨대, 온도 제어기(1310)는 출력 클록 신호(Clk_out)의 주파수를 감소시키기 위한 커맨드를 클록 제어기(115)에 출력할 수 있다. 이에 대한 응답으로, 클록 제어기(115)는, 선택된 클록 신호(Clk_sel)의 주파수를 소정의 양으로 분주함으로써 또는 선택된 클록 신호(Clk_sel)의 소정의 퍼센티지의 클록 펄스들을 스왈로잉함으로써 주파수를 감소시키도록 주파수 램프 회로(410)에 명령할 수 있다.
[0102] 주파수가 감소된 후에, 온도 제어기(1310)는 측정된 온도를 온도 임계치와 주기적으로 비교하는 것을 계속할 수 있다. 측정된 온도가 여전히 임계치를 초과하는 경우, 온도 제어기(1310)는 출력 클록 신호의 주파수를 추가로 감소시키기 위한 커맨드를 클록 제어기(115)에 전송할 수 있다. 출력 클록 신호의 주파수의 감소는, 프로세서(110)의 동적 전력 소모를 감소시킴으로써 프로세서(110)의 온도가 떨어지게 한다.
[0103] 측정된 온도가 온도 임계치 미만으로 떨어질 때, 온도 제어기(1310)는, 출력 클록 신호의 주파수가 타겟 주파수(예컨대, 출력 클록 신호를 소싱하는 입력 클록 신호의 주파수) 미만인 경우, 출력 클록 신호(Clk_out)의 주파수를 증가시키도록 클록 제어기(115)에 명령할 수 있다. 이에 대한 응답으로, 클록 제어기(115)는, 선택된 클록 신호(Clk_sel)의 주파수를 더 작은 양으로 분주하도록 또는 선택된 클록 신호(Clk_sel)의 더 작은 퍼센티지의 클록 펄스들을 스왈로잉하도록 램프 회로(410)에 명령함으로써 주파수를 증가시킬 수 있다. 출력 클록 신호의 주파수 감소로 인해 손실되는 성능을 회복(regain)하기 위해, 온도가 임계치 미만으로 떨어질 때, 출력 클록 신호의 주파수가 증가된다.
[0104] 일반적으로, 측정된 온도가 임계치 초과로 상승할 때, 온도 제어기(1310)는, 위에서 논의된 바와 같이, 프로세서(110)의 온도를 감소시키기 위해 출력 클록 신호의 주파수를 감소시킬 수 있다. 측정된 온도가 온도 임계치 미만으로 떨어지고 출력 클록 신호의 주파수가 타겟 주파수 미만일 때, 온도 제어기(1310)는 프로세서(110)의 성능을 증가시키기 위해 출력 클록 신호의 주파수를 증가시킬 수 있다.
[0105] 위에서 논의된 바와 같이, 램프 회로(410)는 선택된 클록 신호(Clk_sel)의 펄스들을 선택적으로 스왈로잉함으로써, 출력 클록 신호의 주파수를 스케일링하는 클록 스왈로어를 포함할 수 있다. 이 예에서, 클록 제어기(115)는 복수의 펄스 스왈로우 패턴들 중 하나에 따라 클록 펄스들을 스왈로잉하도록 램프 회로(410)에 명령할 수 있다. 이와 관련하여, 도 14는 열적 완화를 위해 클록 제어기(115)에 의해 사용될 수 있는 8개의 펄스 스왈로우 패턴들의 예를 도시한다. 이 예에서, 각각의 스왈로우 패턴은 고유 PID에 대응할 수 있다. 도 14에 도시된 열적 완화에 대한 스왈로우 패턴들이 도 8에 도시된 클록 스위칭에 대한 스왈로우 패턴들과 유사하지만, 이는 반드시 그럴 필요가 없다는 것이 인지되어야 한다. 각각의 스왈로우 패턴에 대해, 도 14는 출력 클록 신호를 소싱하는 입력 클록 신호의 퍼센티지로서 출력 클록 신호의 대응하는 주파수를 도시한다.
[0106] 열적 완화가 개시되기 전에, 클록 제어기(115)는 PID 0을 램프 회로(410)에 입력할 수 있고, 이 경우, 출력 클록 신호(Clk_out)는 전체 주파수(즉, 출력 클록 신호를 소싱하는 입력 클록 신호의 주파수)에 있다. 측정된 온도가 임계치 초과로 상승할 때, 온도 제어기(1310)는 열적 완화를 개시할 수 있고, 출력 클록 신호의 주파수를 감소시키도록 클록 제어기(115)에 명령할 수 있다. 이에 대한 응답으로, 클록 제어기(115)는 램프 회로(410)의 스왈로우 패턴을 PID 1로 변화시킬 수 있다. 이는, 램프 회로(410)로 하여금, 출력 클록 신호의 주파수를, 도 14의 예의 입력 클록 신호의 주파수의 87.5%로 감소시키게 한다. 측정된 온도가 온도 임계치를 계속 초과하는 경우, 클록 제어기(115)는 출력 클록 신호의 주파수를 추가로 감소시키기 위한 후속적인 커맨드들을 온도 제어기(1310)로부터 수신할 수 있다. 클록 제어기(115)가 출력 클록 신호의 주파수를 감소시키기 위한 커맨드를 수신할 때마다, 클록 제어기(115)는 램프 회로(410)에 의해 사용되는 현재 스왈로우 패턴을, 하향 방향으로 도 14에 도시된(도 14에서 하향 화살표에 의해 표시된) 다음 스왈로우 패턴으로 변화시킬 수 있다. 예컨대, 현재 스왈로우 패턴이 PID 1에 대응하는 경우, 클록 제어기(115)는 램프 회로(410)를 PID 2에 대응하는 스왈로우 패턴으로 변화시킬 수 있다.
[0107] 측정된 온도가 온도 임계치 미만으로 떨어지는 경우, 온도 제어기(1310)는 출력 클록 신호(Clk_out)의 주파수를 증가시키도록 클록 제어기(115)에 명령할 수 있다. 이에 대한 응답으로, 클록 제어기(115)는 현재 스왈로우 패턴을, 상향 방향으로 도 14에 도시된(도 14에서 상향 화살표에 의해 표시된) 다음 스왈로우 패턴으로 변화시킬 수 있다. 예컨대, 현재 스왈로우 패턴이 PID 3에 대응하는 경우, 클록 제어기(115)는 램프 회로(410)를 PID 2에 대응하는 스왈로우 패턴으로 변화시킬 수 있다.
[0108] 따라서, 클록 제어기(115)는 온도 제어기(1310)의 제어 하에 출력 클록 신호의 주파수를 감소 또는 증가시키기 위해 램프 회로(410)의 스왈로우 패턴을 변화시킬 수 있다. 도 14에 도시된 스왈로우 패턴은 단지 예시적이라는 것이 인지되어야 한다. 예컨대, 스왈로우 패턴들은 더 많은 수의 비트들을 사용하여 정의될 수 있다. 이는, 램프 회로(410)에 의해 사용될 수 있는 가능한 스왈로우 패턴들의 수를 증가시키며, 그에 따라, 클록 제어기가 더 미세한 세분성으로 출력 클록 신호의 주파수를 조정하게 할 수 있다.
[0109] 일 양상에서, 클록 제어기(115)는 주어진 입력 클록 주파수(즉, 출력 클록 신호를 소싱하는 입력 클록 신호의 주파수)에 대해 하나 또는 그 초과의 스왈로우 패턴들을 스킵할 수 있다. 이는, 주어진 입력 클록 주파수에 대해, 특정 스왈로우 패턴이, PDN의 공진을 여기시키고 그리고/또는 하나 또는 그 초과의 컴포넌트들(예컨대, 수신기)과 간섭하는 방출들을 야기하는 출력 클록 주파수를 초래할 수 있기 때문이다. 예컨대, PID 2에 대응하는 스왈로우 패턴이, 입력 클록 신호(Clk_a)에 대한 PDN의 공진을 여기시키는 출력 클록 신호를 초래하는 경우, 클록 제어기(115)는, 출력 클록 신호가 입력 클록 신호(Clk_a)에 의해 소싱될 때, 열적 완화 동안 이 스왈로우 패턴을 스킵할 수 있다.
[0110] 주어진 입력 클록 신호에 대한 열적 완화를 위해 스킵되는 스왈로우 패턴은 주어진 입력 클록 신호에 대한 클록 스위칭 동안 램프 다운 또는 램프 업을 위해 사용될 수 있다. 이는, 출력 클록 신호가, 램프 다운 또는 램프 업 동안 훨씬 더 짧은 시간 기간 동안 PDN 공진을 여기시키는 주파수로 유지될 수 있고, 그에 따라, 램프 다운 또는 램프 업에 대한 우려가 더 적을 수 있기 때문이다.
[0111] 일 실시예에서, 클록 제어기(115)는 열적 완화 동안 입력 클록 신호들을 스위칭하기 위한 요청을 수신할 수 있다. 더 구체적으로, 클록 제어기(115)가 열적 완화로 인해 출력 클록 신호의 주파수를 스케일링(스로틀링)하는 동안, 클록 제어기(115)는 입력 클록 신호들(Clk_a 내지 Clk_d) 중 현재 입력 클록 신호로부터 입력 클록 신호들 중 새로운 입력 클록 신호로 출력 클록을 스위칭하기 위한 요청을 프로세서(110)로부터 수신할 수 있다. 요청이 수신될 때마다, 램프 회로(410)는 PID 0 대신에 온도 제어기(1310)에 의해 설정된 PID에 대응하는 스왈로우 패턴에 따라 클록 펄스들을 스왈로잉할 수 있다. 이 경우, 클록 제어기(115)는 PID 0 대신에 온도 제어기(1310)에 의해 현재 설정된 스왈로우 패턴에서 시작하여 출력 클록 신호를 램프 다운할 수 있다.
[0112] 따라서, 현재 입력 클록 신호에 대한 램프 다운 시퀀스는 온도 제어기(1310)에 의해 현재 설정된 PID에 대응하는 스왈로우 패턴에서 시작할 수 있다. 다시 말해, 램프 다운 시퀀스는 전체 주파수(즉, 현재 입력 클록 신호의 주파수)에서 시작하는 대신에 온도 제어기(1310)에 의해 현재 설정된 출력 클록 주파수에서 시작할 수 있다. 예컨대, 온도 제어기(1310)에 의해 현재 설정된 스왈로우 패턴이 PID 2에 대응하는 경우, 클록 제어기(115)는 PID 2에 대응하는 스왈로우 패턴에서 시작하여 출력 클록 신호를 램프 다운할 수 있다. 도 10의 예를 사용하면, 현재 입력 클록 신호가 입력 클록 신호(Clk_c)인 경우, 램프 다운 시퀀스는 열적 완화가 없는 경우에 대해 대신에 이다. 현재 입력 클록 신호가 입력 클록 신호(Clk_b)인 경우, 램프 다운 시퀀스는 열적 완화가 없는 경우에 대해 대신에 이다.
[0113] 새로운 입력 클록 신호로 스위칭한 후에, 새로운 입력 클록 신호에 대한 램프 업 시퀀스는 (전체 주파수에 대응하는) PID 0 대신에 온도 제어기(1310)에 의해 현재 설정된 PID에 대응하는 스왈로우 패턴에서 종료될 수 있다. 예컨대, 온도 제어기(1310)에 의해 현재 설정된 스왈로우 패턴이 PID 2에 대응하는 경우, 클록 제어기(115)는 출력 클록 신호를 PID 2에 대응하는 스왈로우 패턴으로 램프 업할 수 있다. 도 10의 예를 사용하면, 현재 입력 클록 신호가 입력 클록 신호(Clk_a)인 경우, 램프 업 시퀀스는 열적 완화가 없는 경우에 대해 대신에 이다.
[0114] 위의 실시예에서, 램프 다운을 위한 시작 스왈로우 패턴은 램프 업을 위한 종료 스왈로우 패턴과 동일하다. 이는, 온도 제어기(1310)의 구현을 단순화하기 위해 수행될 수 있다. 다른 실시예에서, 램프 업에 대한 종료 스왈로우 패턴은 상이할 수 있는데, 왜냐하면, 동일한 스왈로우 패턴이, 상이한 입력 클록 주파수들에 대한 상이한 출력 클록 주파수들에 대응할 수 있기 때문이다. 이 실시예에서, 클록 제어기(115)는 현재 입력 클록 신호에 대한 PID들을 새로운 입력 클록 신호에 대한 PID들에 맵핑하는 클록 테이블을 메모리에 포함할 수 있다. 예컨대, 현재 입력 클록 신호가 2 GHz의 주파수를 갖고, 새로운 입력 클록 신호가 1 GHz의 주파수를 갖는 경우, 테이블은 현재 입력 클록 신호에 대한 PID 6을 새로운 입력 클록 신호에 대한 PID 4에 맵핑할 수 있다. 이는, 2 GHz의 25%가 1 GHz의 50%와 거의 동일하기 때문이다. 이 예에서, 클록 테이블은 또한, 현재 입력 클록 신호에 대한 PID 2를 새로운 입력 클록 신호에 대한 PID 0에 맵핑할 수 있다.
[0115] 이 실시예에서, 클록 제어기(115)가 열적 완화 동안 출력 클록을, 현재 입력 클록 신호로부터 새로운 입력 클록 신호로 스위칭하기 위한 요청을 수신할 때, 클록 제어기(115)는 PID 0 대신에 온도 제어기(1310)에 의해 현재 설정된 스왈로우 패턴에서 시작하여 출력 클록 신호의 주파수를 램프 다운할 수 있다. 클록 제어기(115)는 또한, 클록 테이블을 사용하여 온도 제어기(1310)에 의해 설정된 현재 입력 클록 신호에 대한 PID에 맵핑되는 새로운 입력 클록 신호에 대한 PID를 결정할 수 있다. 이어서, 클록 제어기(115)는 새로운 입력 클록 신호의 출력을 인에이블하고, 출력 클록 신호의 주파수를 맵핑된 PID로 램프 업할 수 있다. 따라서, 이 예에서, 온도 제어기(1310)에 의해 설정된 PID는, 멀티플렉서(120)가 입력 클록 신호들 간의 주파수 차이들을 설명하기 위해 입력 클록 신호들을 스위칭할 때, 업데이트된다.
[0116] 일 실시예에서, 스왈로우 패턴들의 상이한 세트는, 클록 스위칭을 위한 주파수 램프 다운/업을 위해서 보다는 온도 완화를 위해 사용될 수 있다. 이 실시예에서, 온도 완화를 위해 사용되는 스왈로우 패턴들의 세트는 대응하는 PID들을 가질 수 있고, 주파수 램프 다운/업을 위해 사용되는 스왈로우 패턴들의 세트는 대응하는 PID들을 가질 수 있다. 클록 제어기(115)는 온도 완화를 위한 PID들을 주파수 램프 다운/업을 위한 PID들에 맵핑하는 링크 테이블을 포함할 수 있다. 예컨대, 온도 완화를 위한 PID는 유사한 퍼센티지의 클록 펄스 스왈로우들에 대응하는 램프 다운/업을 위한 PID에 맵핑될 수 있다.
[0117] 이 실시예에서, 클록 제어기(115)가 열적 완화 동안 입력 클록 신호들을 스위칭하기 위한 요청을 수신할 때, 클록 제어기(115)는 링크 테이블을 사용하여, 온도 제어기(1310)에 의해 설정된 현재 PID를 램프 다운/업을 위한 대응하는 PID에 맵핑할 수 있다. 이어서, 클록 제어기(115)는 맵핑된 PID에 대응하는 스왈로우 패턴에서 시작하여 출력 클록 신호를 램프 다운할 수 있다. 따라서, 현재 입력 클록 신호에 대한 램프 다운 시퀀스는 맵핑된 PID(즉, 온도 제어기(1310)에 의해 현재 설정된 열적 완화를 위한 PID에 대응하는 램프 다운/업을 위한 PID)에 대응하는 스왈로우 패턴에서 시작할 수 있다.
[0118] 출력 클록 신호가 새로운 입력 클록 신호로 인에이블될 때, 클록 제어기(115)는 출력 클록 신호를 맵핑된 PID에 대응하는 스왈로우 패턴으로 램프 업할 수 있다. 따라서, 새로운 입력 클록 신호에 대한 램프 업 시퀀스는 맵핑된 PID에 대응하는 스왈로우 패턴에서 종료될 수 있다. 이어서, 클록 신호 제어기(115)는 온도 제어기(1310)에 의해 설정된 스왈로우 패턴(즉, 온도 제어기(1310)에 의해 현재 설정된 PID)에서 열적 완화를 계속할 수 있다.
[0119] 일 실시예에서, 클록 제어기(115)는 또한, 위에서 논의된 클록 테이블을 사용하여 입력 클록 신호들을 스위칭할 때, 열적 완화를 위한 PID를 업데이트할 수 있다. 이 실시예에서, 클록 제어기(115)가 열적 완화 동안 입력 클록 신호들을 스위칭하기 위한 요청을 수신할 때, 클록 제어기(115)는 링크 테이블을 사용하여, 온도 제어기(1310)에 의해 설정된 현재 PID를 램프 다운/업을 위한 대응하는 PID에 맵핑할 수 있다. 온도 제어기(1310)에 의해 현재 설정된 열적 완화를 위한 PID에 대응하는 램프 다운/업을 위한 PID는 램프 다운을 위한 시작 PID로 지칭될 수 있다. 이어서, 클록 제어기(115)는 시작 PID에 대응하는 스왈로우 패턴에서 시작하여 출력 클록 신호를 램프 다운할 수 있다.
[0120] 클록 제어기(115)는 또한, 클록 테이블을 사용하여 현재 입력 클록 신호에 대한 시작 PID에 맵핑되는 새로운 입력 클록 신호에 대한 PID를 결정할 수 있다. 현재 입력 클록 신호에 대한 시작 PID에 맵핑되는 새로운 입력 클록 신호에 대한 PID는 램프 업을 위한 종료 PID로 지칭될 수 있다. 클록 제어기(115)는 또한, 링크 테이블을 사용하여 종료 PID에 맵핑되는 열적 완화를 위한 PID를 결정할 수 있다.
[0121] 출력 클록 신호가 새로운 입력 클록 신호로 인에이블될 때, 클록 제어기(115)는 출력 클록 신호를 종료 PID에 대응하는 스왈로우 패턴으로 램프 업할 수 있다. 따라서, 새로운 입력 클록 신호에 대한 램프 업 시퀀스는 종료 PID에 대응하는 스왈로우 패턴에서 종료될 수 있다. 이어서, 클록 신호 제어기(115)는 종료 PID에 대응하는 열적 완화를 위한 PID(즉, 종료 PID에 맵핑되는 열적 완화를 위한 PID)에서 열적 완화를 계속할 수 있다.
[0122] 위의 예들에서, 클록 회로(140)는, 선택가능한 클록 주파수들을 갖는 복수의 입력 클록들(Clk_a 내지 Clk_d) 간에서 선택하기 위해 멀티플렉서를 사용함으로써, 선택된 클록 신호(Clk_sel)를 복수의 선택가능한 클록 주파수들 간에서 스위칭한다. 그러나, 본 개시내용의 실시예들이 이 예로 제한되지 않는다는 것이 인지되어야 한다. 이와 관련하여, 도 15는 클록 회로(1550)가 선택가능한 클록 주파수들을 갖는 PLL(1540)을 포함하는, 시스템(1500)의 예를 도시한다.
[0123] 이 예에서, PLL(1540)은 PFD(phase-frequency detector)(1510), 차지 펌프(charge pump)(1515), 루프 필터(1520), VCO(voltage-controlled oscillator)(1525), 및 피드백 주파수 분주기(1530)를 포함한다. VCO(1525)의 출력은 선택된 클록 신호(Clk_sel)를 램프 회로(410)에 제공한다. 클록 신호(Clk_sel)는, 피드백 신호를 생성하기 위해 조정가능한 제수 N으로 클록 신호의 주파수를 분주하는 주파수 분주기(1530)를 통해 PFD(1510)에 피드백된다.
[0124] PFD(1510)는 피드백 신호 및 레퍼런스 클록 신호를 입력들로서 수신한다. 레퍼런스 클록 신호는 수정 발진기 또는 다른 안정적인 클록 소스로부터 비롯될 수 있다. PFD(1510)는 피드백 신호와 레퍼런스 신호 간의 위상차(에러)를 검출하고, 검출된 위상차(에러)를 차지 펌프(1515)에 출력한다. 차지 펌프(1515) 및 루프 필터(1520)는 검출된 위상차를, VCO(140)의 주파수를 제어하는 제어 전압, 따라서, 선택된 클록 신호(Clk_sel)의 주파수로 변환한다. 제어 전압은 레퍼런스 클록 신호와 피드백 신호 간의 위상차(에러)를 감소시키는 방향으로 VCO(1525)의 주파수를 조정한다. PLL(1540)이 로킹될 때, 클록 신호(Clk_sel)의 주파수는 레퍼런스 클록 신호의 주파수의 N배와 거의 동일하다. 따라서, 클록 신호(Clk_sel)의 주파수는, 주파수 분주기(1530)의 제수 N을 조정함으로써 조정될 수 있다.
[0125] 이 예에서, 클록 제어기(115)는 주파수 분주기(1530)의 제수 N을 그에 따라서 조정함으로써, 클록 신호(Clk_sel)를 복수의 선택가능한 클록 주파수들 중 임의의 하나로 스위칭할 수 있다. 예컨대, 클록 제어기(115)는, 제수 N을, 현재 선택된 클록 주파수에 대응하는 제수 값으로부터 새로운 선택된 클록 주파수에 대응하는 제수 값으로 변화시킴으로써, 선택된 클록 신호(Clk_sel)를 현재 선택된 클록 주파수로부터 새로운 선택된 클록 주파수로 스위칭할 수 있다. 이 예에서, 클록 제어기(115)는 현재 선택된 클록 주파수가 디스에이블되기 전에 출력 클록 신호(Clk_out)의 주파수를 램프 다운하도록 램프 회로(410)에 명령할 수 있다. 램프 회로(410)는 시간의 경과에 따라, 선택된 클록 신호(Clk_sel)의 증가하는 퍼센티지의 펄스들을 스왈로잉함으로써 또는 선택된 클록 신호(Clk_sel)의 주파수를 시간의 경과에 따라 증가하는 양으로 분주함으로써, 출력 클록 신호(Clk_out)의 주파수를 램프 다운할 수 있다. 램프 다운 시퀀스를 결정하기 위해 클록 인덱스(예컨대, 도 9의 클록 인덱스)가 사용되는 예에 대해, 클록 인덱스는 선택가능한 클록 주파수들 각각을 인덱스의 PID들 중 하나에 맵핑할 수 있다.
[0126] 선택된 클록 신호(Clk_sel)가 새로운 선택된 클록 주파수로 스위칭된 후에, 클록 제어기(115)는 출력 클록 신호(Clk_out)의 주파수를 램프 업하도록 램프 회로(410)에 명령할 수 있다. 램프 회로(410)는 시간의 경과에 따라, 선택된 클록 신호(Clk_sel)의 감소하는 퍼센티지의 펄스들을 스왈로잉함으로써 또는 선택된 클록 신호(Clk_sel)의 주파수를 시간의 경과에 따라 감소하는 양으로 분주함으로써, 출력 클록 신호(Clk_out)의 주파수를 램프 업할 수 있다. 램프 업 시퀀스를 결정하기 위해 클록 인덱스(예컨대, 도 9의 클록 인덱스)가 사용되는 예에 대해, 클록 인덱스는 선택가능한 클록 주파수들 각각을 인덱스의 PID들 중 하나에 맵핑할 수 있다.
[0127] 일 양상에서, 클록 회로(1550)는 PLL(1540)의 출력과 램프 회로(410) 간에 게이팅 회로(도시되지 않음)를 포함할 수 있다. 게이팅 회로는, PLL이 현재 선택된 클록 주파수로부터 새로운 선택된 클록 주파수로 스위칭할 때, 짧은 시간 기간 동안 PLL의 출력을 게이팅하도록 구성될 수 있다. 새로운 선택된 클록 주파수에서 선택된 클록 신호(Clk_out)의 출력을 인에이블하기 전에, 새로운 선택된 클록 주파수에서 안정화하기에 충분한 시간을 PLL에 제공하기 위해, 짧은 시간 기간이 사용될 수 있다. 선택된 클록 신호(Clk_sel)가 클록 회로(1550)로부터 출력되지 않는 짧은 시간 기간은, 위에서 논의된 유휴 기간과 유사하다. 이 양상에서, 출력 클록 신호(Clk_out)는, 클록 회로(1550)가 클록 주파수들을 스위칭할 때, 전압 오버슈트 및/또는 전압 드룹을 감소시키기 위해 램프 다운 및/또는 램프 업될 수 있다.
[0128] 위에서 논의된 실시예들 중 임의의 실시예에 따른 클록 제어기가 범용 프로세서, DSP(digital signal processor), ASIC(application specific integrated circuit), FPGA(field programmable gate array) 또는 다른 프로그램가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본원에서 설명된 기능들을 수행하도록 설계된 이들의 임의의 조합으로 구현될 수 있다는 것이 인지되어야 한다. 범용 프로세서는 마이크로프로세서일 수 있지만, 대안적으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수 있다. 프로세서는 기능들을 수행하기 위한 코드를 포함하는 소프트웨어를 실행함으로써 본원에서 설명된 지연 제어기의 기능들을 수행할 수 있다. 소프트웨어는 컴퓨터-판독가능 저장 매체, 이를테면, RAM, ROM, EEPROM, 광학 디스크 및/또는 자기 디스크 상에 저장될 수 있다.
[0129] 본 개시내용의 이전의 설명은 임의의 당업자가 본 개시내용을 사용 또는 실시할 수 있게 하기 위해 제공된다. 본 개시내용에 대한 다양한 수정들이 당업자들에게 용이하게 명백할 것이며, 본원에서 정의된 일반적인 원리들은 본 개시내용의 사상 또는 범위로부터 벗어나지 않으면서 다른 변형들에 적용될 수 있다. 따라서, 본 개시내용은, 본원에서 설명된 예들로 제한되도록 의도되는 것이 아니라, 본원에서 개시된 원리들 및 신규한 특징들에 부합하는 가장 넓은 범위에 따를 것이다.
Claims (24)
- 시스템(400)으로서,
제1 클록 신호를 생성하도록 구성된 클록 회로(140);
상기 클록 회로로부터 상기 제1 클록 신호를 수신하고, 상기 제1 클록 신호에 기반하여 제2 클록 신호를 제공하고, 그리고 상기 제2 클록 신호의 주파수를 조정하도록 구성된 주파수 램프 회로(410); 및
상기 제2 클록 신호의 주파수를 램프 업(ramp up) 또는 램프 다운(ramp down)하도록 상기 주파수 램프 회로에 명령하도록 구성된 클록 제어기(115)를 포함하고,
상기 클록 회로는 추가로, 상기 제1 클록 신호를 제1 클록 주파수(122-1)로부터 제2 클록 주파수(122-2)로 스위칭하도록 구성되고, 그리고
상기 클록 제어기는 추가로, 상기 스위칭 전에 상기 제2 클록 신호의 주파수를 램프 다운하도록 상기 주파수 램프 회로(410)에 명령하고 그리고 상기 스위칭 후에 상기 제2 클록 신호의 주파수를 램프 업하도록 상기 주파수 램프 회로(410)에 명령하도록 구성되는,
시스템(400). - 제1 항에 있어서,
상기 주파수 램프 회로(410)는, 상기 제1 클록 신호의 펄스들을 선택적으로 스왈로잉(swallowing)함으로써, 상기 제2 클록 신호의 주파수를 조정하도록 구성되는,
시스템(400). - 제2 항에 있어서,
상기 주파수 램프 회로(410)는, 시간의 경과에 따라 상기 제1 클록 신호의 더 높은 퍼센티지의 펄스들을 스왈로잉함으로써 상기 제2 클록 신호의 주파수를 램프 다운하도록 구성되는,
시스템(400). - 제1 항에 있어서,
상기 주파수 램프 회로(410)는, 상기 제1 클록 신호의 주파수를 분주함으로써, 상기 제2 클록 신호의 주파수를 조정하도록 구성되는,
시스템(400). - 제4 항에 있어서,
상기 주파수 램프 회로(410)는, 시간의 경과에 따라 상기 제1 클록 신호의 주파수를 더 많은 양으로 분주함으로써 상기 제2 클록 신호의 주파수를 램프 다운하도록 구성되는,
시스템(400). - 제1 항에 있어서,
상기 제2 클록 신호는 프로세서(110)에 제공되고, 그리고 상기 클록 제어기(115)는, 상기 프로세서가 wait-for-interrupt 명령 또는 wait-for-event 명령을 실행하는 것에 대한 응답으로, 상기 제2 클록 신호의 주파수를 램프 다운하도록 상기 주파수 램프 회로에 명령하도록 구성되는,
시스템(400). - 제1 항에 있어서,
상기 클록 회로(140)는, 복수의 입력 클록 신호들(122)을 수신하고, 상기 입력 클록 신호들 중 하나를 선택하고, 그리고 상기 입력 클록 신호들 중 선택된 하나를 상기 제1 클록 신호로서 출력하도록 구성된 멀티플렉서(120)를 포함하는,
시스템(400). - 제1 항에 있어서,
상기 주파수 램프 회로(410)는, 시간의 경과에 따라 상기 제1 클록 신호의 더 작은 퍼센티지의 펄스들을 스왈로잉함으로써 또는 시간의 경과에 따라 상기 제1 클록 신호의 주파수를 더 작은 양으로 분주함으로써 상기 제2 클록 신호의 주파수를 램프 업하도록 구성되는,
시스템(400). - 제1 항에 있어서,
상기 제2 클록 신호는 프로세서(110)에 제공되고, 그리고 상기 클록 제어기(115)는, 상기 프로세서가 활성 모드로부터 유휴 모드로 전환된다는 표시에 대한 응답으로, 상기 제2 클록 신호의 주파수를 램프 다운하도록 상기 주파수 램프 회로(410)에 명령하도록 구성되는,
시스템(400). - 제9 항에 있어서,
상기 제2 클록 신호의 주파수의 램프 다운 후에 상기 제2 클록 신호를 게이팅(gate)하도록 구성된 게이트 회로(1115)를 더 포함하는,
시스템(400). - 제10 항에 있어서,
상기 게이트 회로(1115)는 상기 프로세서(110)가 상기 활성 모드에 다시 놓일 때, 상기 제2 클록 신호를 언-게이팅(un-gate)하도록 구성되고, 그리고 상기 클록 제어기(115)는 상기 제2 클록 신호가 언-게이팅된 후에 상기 제2 클록 신호의 주파수를 램프 업하도록 상기 주파수 램프 회로(410)에 명령하도록 구성되는,
시스템(400). - 클록 주파수 스위칭을 위한 방법(500)으로서,
제2 클록 신호의 주파수를 램프 다운하는 단계(510) ― 상기 제2 클록 신호는 제1 클록 신호로부터 제공됨 ―;
상기 제2 클록 신호를 디스에이블하는 단계(520);
상기 제2 클록 신호가 디스에이블된 후에, 상기 제1 클록 신호를 제1 클록 주파수로부터 제2 클록 주파수로 스위칭하는 단계;
상기 제1 클록 신호가 상기 제2 클록 주파수로 스위칭된 후에 상기 제2 클록 신호를 인에이블하는 단계(530); 및
상기 제2 클록 신호의 주파수를 램프 업하는 단계(540)를 포함하는,
클록 주파수 스위칭을 위한 방법(500). - 제12 항에 있어서,
상기 제2 클록 신호의 주파수를 램프 다운하는 단계(510)는, 시간의 경과에 따라 상기 제1 클록 신호의 증가하는 퍼센티지의 펄스들을 스왈로잉하는 단계 또는 시간의 경과에 따라 증가하는 양으로 상기 제1 클록 신호의 주파수를 분주하는 단계를 포함하는,
클록 주파수 스위칭을 위한 방법(500). - 제12 항에 있어서,
상기 제2 클록 신호의 주파수를 램프 업하는 단계(540)는, 시간의 경과에 따라 상기 제1 클록 신호의 감소하는 퍼센티지의 펄스들을 스왈로잉하는 단계 또는 시간의 경과에 따라 감소하는 양으로 상기 제1 클록 신호의 주파수를 분주하는 단계를 포함하는,
클록 주파수 스위칭을 위한 방법(500). - 제12 항에 있어서,
상기 제2 클록 신호는 프로세서(110)에 입력되고, 그리고
상기 제2 클록 신호의 주파수를 램프 다운(510)하는 단계는 상기 제1 클록 주파수로부터 상기 제2 클록 주파수로 스위칭하라는 상기 프로세서로부터의 요청에 대한 응답으로 수행되는,
클록 주파수 스위칭을 위한 방법(500). - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/817,057 | 2015-08-03 | ||
US14/817,057 US9778676B2 (en) | 2015-08-03 | 2015-08-03 | Power distribution network (PDN) droop/overshoot mitigation in dynamic frequency scaling |
PCT/US2016/040797 WO2017023463A1 (en) | 2015-08-03 | 2016-07-01 | Power distribution network (pdn) droop/overshoot mitigation |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180036964A KR20180036964A (ko) | 2018-04-10 |
KR102003874B1 true KR102003874B1 (ko) | 2019-07-25 |
Family
ID=56684224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020187003127A KR102003874B1 (ko) | 2015-08-03 | 2016-07-01 | 전력 분배 네트워크(pdn) 드룹/오버슈트 완화 |
Country Status (9)
Country | Link |
---|---|
US (1) | US9778676B2 (ko) |
EP (1) | EP3332302B1 (ko) |
JP (1) | JP6595092B2 (ko) |
KR (1) | KR102003874B1 (ko) |
CN (1) | CN109074118A (ko) |
BR (1) | BR112018002261A2 (ko) |
ES (1) | ES2715027T3 (ko) |
HU (1) | HUE042604T2 (ko) |
WO (1) | WO2017023463A1 (ko) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2547609A (en) * | 2014-12-31 | 2017-08-23 | Halliburton Energy Services Inc | Synchronizing downhole subs |
US10642336B2 (en) | 2016-07-12 | 2020-05-05 | Advanced Micro Devices, Inc. | Clock adjustment for voltage droop |
US10303200B2 (en) | 2017-02-24 | 2019-05-28 | Advanced Micro Devices, Inc. | Clock divider device and methods thereof |
US10409317B2 (en) | 2017-06-05 | 2019-09-10 | Qualcomm Incorporated | Apparatus and methods for reducing clock-ungating induced voltage droop |
US10606305B2 (en) | 2018-04-30 | 2020-03-31 | Qualcomm Incorporated | Processor load step balancing |
KR102440976B1 (ko) * | 2018-07-27 | 2022-09-08 | 삼성디스플레이 주식회사 | 구동 전압 제공부 |
US11054891B2 (en) | 2019-05-09 | 2021-07-06 | Google Llc | Resonance aware performance management |
FR3096474A1 (fr) | 2019-05-20 | 2020-11-27 | Stmicroelectronics (Grenoble 2) Sas | Procédé de régulation de tension d’alimentation et circuit intégré correspondant |
US11442082B2 (en) | 2019-12-23 | 2022-09-13 | Graphcore Limited | Droop detection |
GB2590660B (en) * | 2019-12-23 | 2022-01-05 | Graphcore Ltd | Reactive droop limiter |
CN113741619B (zh) * | 2020-05-27 | 2024-03-12 | 安徽寒武纪信息科技有限公司 | 时钟控制装置及相关产品 |
US11309047B2 (en) * | 2020-09-14 | 2022-04-19 | Micron Technology, Inc. | Test circuit using clock signals having mutually different frequency |
CN114448399A (zh) * | 2020-10-30 | 2022-05-06 | 阿里巴巴集团控股有限公司 | 时钟电路、计算装置和片上系统 |
US11290095B1 (en) * | 2021-05-25 | 2022-03-29 | Xilinx, Inc. | Programmable dynamic clock stretch for at-speed debugging of integrated circuits |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003073244A2 (en) | 2002-02-27 | 2003-09-04 | Advanced Micro Devices, Inc. | Frequency divider |
US20050083098A1 (en) | 2003-10-15 | 2005-04-21 | Fujitsu Limited | Clock shift circuit for gradual frequency change |
US20130219199A1 (en) | 2012-02-22 | 2013-08-22 | Subrata Roy | Clocking a processor |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2111269B (en) | 1981-11-25 | 1986-04-09 | Plessey Co Plc | Adjustable ratio divider |
US4780890A (en) | 1986-09-29 | 1988-10-25 | Microwave Semiconductor Corp. | High-speed pulse swallower |
US5572719A (en) * | 1994-11-22 | 1996-11-05 | Advanced Micro Devices | Clock control system for microprocessors including a delay sensing circuit |
US5790609A (en) | 1996-11-04 | 1998-08-04 | Texas Instruments Incorporated | Apparatus for cleanly switching between various clock sources in a data processing system |
JPH11143573A (ja) * | 1997-11-10 | 1999-05-28 | Fujitsu Ltd | クロック供給方法及び情報処理装置 |
US6415388B1 (en) | 1998-10-30 | 2002-07-02 | Intel Corporation | Method and apparatus for power throttling in a microprocessor using a closed loop feedback system |
US6289067B1 (en) | 1999-05-28 | 2001-09-11 | Dot Wireless, Inc. | Device and method for generating clock signals from a single reference frequency signal and for synchronizing data signals with a generated clock |
JP2004001382A (ja) | 2002-04-03 | 2004-01-08 | Sii Printek Inc | インクジェット用プリントヘッド |
US7051227B2 (en) | 2002-09-30 | 2006-05-23 | Intel Corporation | Method and apparatus for reducing clock frequency during low workload periods |
US7404099B2 (en) | 2004-08-13 | 2008-07-22 | Intel Corporation | Phase-locked loop having dynamically adjustable up/down pulse widths |
KR100616688B1 (ko) | 2005-06-21 | 2006-08-28 | 삼성전기주식회사 | 저분주비 프로그램가능 주파수 분주기 및 그 방법 |
US7483281B2 (en) * | 2006-08-11 | 2009-01-27 | System General Corp. | Multi-channel power converter with switching frequency modulation circuit for power saving |
US8132041B2 (en) | 2007-12-20 | 2012-03-06 | Qualcomm Incorporated | Method and apparatus for generating or utilizing one or more cycle-swallowed clock signals |
JP5384910B2 (ja) | 2008-11-11 | 2014-01-08 | ルネサスエレクトロニクス株式会社 | 半導体集積回路及びクロック同期化制御方法 |
US8885531B1 (en) * | 2009-04-16 | 2014-11-11 | Marvell International Ltd. | Power save schemes for access point solutions |
US8407528B2 (en) * | 2009-06-30 | 2013-03-26 | Texas Instruments Incorporated | Circuits, systems, apparatus and processes for monitoring activity in multi-processing systems |
KR101617377B1 (ko) | 2009-11-06 | 2016-05-02 | 삼성전자주식회사 | 동적 전압 주파수 스케일링 방법 |
US8450990B2 (en) | 2010-08-16 | 2013-05-28 | Taiwan Semiconductor Manufacturing Company, Ltd. | Dynamic control loop for switching regulators |
JP2012141730A (ja) | 2010-12-28 | 2012-07-26 | Brother Ind Ltd | 動作クロック生成装置及び処理装置 |
US20120187991A1 (en) | 2011-01-25 | 2012-07-26 | Advanced Micro Devices, Inc. | Clock stretcher for voltage droop mitigation |
US8937511B2 (en) * | 2011-11-22 | 2015-01-20 | Marvell World Trade Ltd. | Frequency scaling of variable speed systems for fast response and power reduction |
US8729947B2 (en) | 2012-09-06 | 2014-05-20 | Oracle International Corporation | Wide-range glitch-free asynchronous clock switch |
US9041375B2 (en) | 2012-10-30 | 2015-05-26 | Infineon Technologies Ag | High resolution control for a multimode SMPS converter and high resolution slope generator |
US10020931B2 (en) | 2013-03-07 | 2018-07-10 | Intel Corporation | Apparatus for dynamically adapting a clock generator with respect to changes in power supply |
US8933737B1 (en) | 2013-06-28 | 2015-01-13 | Stmicroelectronics International N.V. | System and method for variable frequency clock generation |
US9940140B2 (en) * | 2013-09-18 | 2018-04-10 | Nxp Usa, Inc. | Systems and methods of resetting a processor |
US9582027B2 (en) | 2014-06-09 | 2017-02-28 | Qualcomm Incorporated | Clock swallowing device for reducing voltage noise |
-
2015
- 2015-08-03 US US14/817,057 patent/US9778676B2/en active Active
-
2016
- 2016-07-01 BR BR112018002261A patent/BR112018002261A2/pt not_active Application Discontinuation
- 2016-07-01 KR KR1020187003127A patent/KR102003874B1/ko active IP Right Grant
- 2016-07-01 JP JP2018505404A patent/JP6595092B2/ja active Active
- 2016-07-01 EP EP16751042.9A patent/EP3332302B1/en active Active
- 2016-07-01 WO PCT/US2016/040797 patent/WO2017023463A1/en active Application Filing
- 2016-07-01 HU HUE16751042A patent/HUE042604T2/hu unknown
- 2016-07-01 CN CN201680044838.8A patent/CN109074118A/zh active Pending
- 2016-07-01 ES ES16751042T patent/ES2715027T3/es active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003073244A2 (en) | 2002-02-27 | 2003-09-04 | Advanced Micro Devices, Inc. | Frequency divider |
JP2005519367A (ja) | 2002-02-27 | 2005-06-30 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 直線電流ランプ |
US20050083098A1 (en) | 2003-10-15 | 2005-04-21 | Fujitsu Limited | Clock shift circuit for gradual frequency change |
US20130219199A1 (en) | 2012-02-22 | 2013-08-22 | Subrata Roy | Clocking a processor |
Also Published As
Publication number | Publication date |
---|---|
US9778676B2 (en) | 2017-10-03 |
KR20180036964A (ko) | 2018-04-10 |
US20170038789A1 (en) | 2017-02-09 |
HUE042604T2 (hu) | 2019-07-29 |
EP3332302A1 (en) | 2018-06-13 |
EP3332302B1 (en) | 2019-01-09 |
JP6595092B2 (ja) | 2019-10-23 |
CN109074118A (zh) | 2018-12-21 |
JP2018523872A (ja) | 2018-08-23 |
WO2017023463A1 (en) | 2017-02-09 |
BR112018002261A2 (pt) | 2018-09-18 |
ES2715027T3 (es) | 2019-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102003874B1 (ko) | 전력 분배 네트워크(pdn) 드룹/오버슈트 완화 | |
KR102049952B1 (ko) | 전력 분배 네트워크(pdn) 드룹/오버슈트 완화 | |
ES2388085T3 (es) | Procedimiento y aparato para el ajuste dinámico de la escala de frecuencias de bucles de sincronización de fase para microprocesadores | |
US8046609B2 (en) | Semiconductor device | |
US8466723B2 (en) | Clock generator | |
CN104702278A (zh) | 一种频率校准方法及装置 | |
KR20140000224A (ko) | Pll 듀얼 에지 로크 검출기 | |
US10353447B2 (en) | Current in-rush mitigation for power-up of embedded memories | |
US7609095B2 (en) | System and method for maintaining device operation during clock signal adjustments | |
JP6118827B2 (ja) | 高分解能パルス幅変調器 | |
EP3262759B1 (en) | Power-up system comprising a voltage comparator | |
US8188766B1 (en) | Self-contained systems including scalable and programmable divider architectures and methods for generating a frequency adjustable clock signal | |
US8717073B2 (en) | Digital PLL circuit and clock generator | |
WO2018164828A1 (en) | Fractional clock generator with ramp control including fixed time interval and coarse/fine frequency change steps | |
US6973155B2 (en) | Highly scalable glitch-free frequency divider | |
US20120286835A1 (en) | Pll circuit | |
TWI483554B (zh) | 倍頻延遲鎖定迴路 | |
JP6036014B2 (ja) | クロック切替装置 | |
US8803571B1 (en) | Reset signal propagation in an integrated circuit | |
KR100738734B1 (ko) | 클록 생성기를 포함하는 칩 및 마이크로 프로세서 시스템 | |
JP2004080155A (ja) | デジタル逓倍装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |