KR102161821B1 - 클록 모니터 및 이를 포함하는 시스템 온 칩 - Google Patents
클록 모니터 및 이를 포함하는 시스템 온 칩 Download PDFInfo
- Publication number
- KR102161821B1 KR102161821B1 KR1020140111545A KR20140111545A KR102161821B1 KR 102161821 B1 KR102161821 B1 KR 102161821B1 KR 1020140111545 A KR1020140111545 A KR 1020140111545A KR 20140111545 A KR20140111545 A KR 20140111545A KR 102161821 B1 KR102161821 B1 KR 102161821B1
- Authority
- KR
- South Korea
- Prior art keywords
- frequency
- clock signal
- clock
- signal
- selection
- Prior art date
Links
- 238000001514 detection method Methods 0.000 claims abstract description 85
- 230000006870 function Effects 0.000 claims abstract description 23
- 238000012544 monitoring process Methods 0.000 claims abstract description 22
- 230000002159 abnormal effect Effects 0.000 claims abstract description 21
- 230000004913 activation Effects 0.000 claims description 20
- 238000000034 method Methods 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 16
- 238000012937 correction Methods 0.000 claims description 13
- 230000005856 abnormality Effects 0.000 claims description 3
- 230000003213 activating effect Effects 0.000 claims 1
- 239000000284 extract Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 34
- 230000000630 rising effect Effects 0.000 description 17
- 238000012545 processing Methods 0.000 description 13
- 230000008859 change Effects 0.000 description 11
- 230000001960 triggered effect Effects 0.000 description 11
- 238000011161 development Methods 0.000 description 5
- 230000018109 developmental process Effects 0.000 description 5
- 101100072644 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) INO2 gene Proteins 0.000 description 4
- 101100454372 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) LCB2 gene Proteins 0.000 description 4
- 101100489624 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) RTS1 gene Proteins 0.000 description 4
- 230000007423 decrease Effects 0.000 description 4
- 102100040862 Dual specificity protein kinase CLK1 Human genes 0.000 description 3
- 102100040858 Dual specificity protein kinase CLK4 Human genes 0.000 description 3
- 101000749294 Homo sapiens Dual specificity protein kinase CLK1 Proteins 0.000 description 3
- 101000749298 Homo sapiens Dual specificity protein kinase CLK4 Proteins 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 239000013078 crystal Substances 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/0008—Arrangements for reducing power consumption
- H03K19/0016—Arrangements for reducing power consumption by using a control or a clock signal, e.g. in order to apply power supply
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/19—Monitoring patterns of pulse trains
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/16—Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop
- H03L7/18—Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop using a frequency divider or counter in the loop
Landscapes
- Physics & Mathematics (AREA)
- Nonlinear Science (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Power Sources (AREA)
Abstract
시스템 온 칩은 각각의 고유 기능들을 수행하는 복수의 기능 블록들, 상기 기능 블록들에 각각 제공되는 복수의 동작 클록 신호들을 발생하는 클록 제어부, 상기 동작 클록 신호들의 주파수들을 모니터링하여 인터럽트 신호를 발생하는 클록 모니터, 및 상기 인터럽트 신호에 기초하여 상기 동작 클록 신호들의 주파수들을 제어하는 프로세서를 포함한다. 상기 클록 모니터는 선택부, 주파수 검출부 및 인터럽트 발생부를 포함한다. 상기 선택부는 복수의 기능 블록들에 각각 제공되는 복수의 동작 클록 신호들 중에서 하나를 선택하여 선택 클록 신호를 제공한다. 상기 주파수 검출부는 상기 선택 클록 신호의 주파수를 측정하여 검출 주파수를 제공한다. 상기 인터럽트 발생부는 상기 검출 주파수에 기초하여 상기 선택 클록 신호에 상응하는 동작 클록 신호의 주파수 이상 여부를 나타내는 인터럽트 신호를 발생한다.
Description
본 발명은 반도체 집적 회로에 관한 것으로서, 더욱 상세하게는 클록 신호의 이상 여부를 모니터링하기 위한 클록 모니터 및 이를 포함하는 시스템 온 칩에 관한 것이다.
최근 애플리케이션 프로세서(application processor)와 같은 집적 회로(integrated circuit)는 저전력 동작을 위하여 DVFS(Dynamic Voltage Frequency Scaling) 기법을 채용하고 있다. 한편 반도체 공정의 발달에 따라서 하나의 집적 회로가 많은 기능들을 수행하도록 설계되고 집적 회로의 클록 도메인들 또는 파워 도메인들이 점점 더 복잡해지고 있다.
집적 회로의 클록 도메인들이 복잡해지고, 나아가 DVFS 기법에 의해 동작 클록 신호들의 주파수 변경이 빈번해짐에 따라서, 부적절한 클록 설정에 따른 시스템 불안정이 문제가 된다. 실제로 시스템 개발 단계에서 시스템 다운의 정확한 원인을 찾지 못하고 전원 전압 또는 구동 전압을 적절한 전압 레벨보다 높은 전압 레벨로 증가시켜 시스템 다운을 해결하는 경우도 다수 발생하고 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 일 목적은, 복수의 동작 클록 신호들의 주파수들을 효율적으로 모니터링할 수 있는 클록 모니터를 제공하는 것이다.
또한 본 발명의 일 목적은, 복수의 동작 클록 신호들의 주파수들을 효율적으로 모니터링할 수 있는 클록 모니터를 포함하는 시스템 온 칩을 제공하는 것이다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 클록 모니터는 선택부, 주파수 검출부 및 인터럽트 발생부를 포함한다.
상기 선택부는 복수의 기능 블록들에 각각 제공되는 복수의 동작 클록 신호들 중에서 하나를 선택하여 선택 클록 신호를 제공한다. 상기 주파수 검출부는 상기 선택 클록 신호의 주파수를 측정하여 검출 주파수를 제공한다. 상기 인터럽트 발생부는 상기 검출 주파수에 기초하여 상기 선택 클록 신호에 상응하는 동작 클록 신호의 주파수 이상 여부를 나타내는 인터럽트 신호를 발생한다.
상기 선택부는, 동작 클록 선택 신호에 응답하여 상기 동작 클록 신호들 중에서 하나를 상기 선택 클록 신호로서 출력하는 멀티플렉서를 포함할 수 있다.
상기 멀티플렉서가 상기 동작 클록 신호들을 순차적으로 상기 선택 클록 신호로서 출력하도록 상기 동작 클록 선택 신호의 값이 순차적으로 변경될 수 있다. 이때 상기 인터럽트 신호는 순차적으로 상기 동작 클록 신호들의 주파수 이상 여부를 나타낼 수 있다.
상기 멀티플렉서가 상기 동작 클록 신호들 중에서 주파수가 변경되거나 상응하는 기능 블록의 전력 레벨이 변경된 동작 클록 신호를 상기 선택 클록 신호로서 출력하도록 상기 동작 클록 선택 신호의 값이 결정될 수 있다. 이때 상기 인터럽트 신호는 상기 주파수 또는 전력 레벨이 변경된 동작 클록 신호의 주파수 이상 여부를 나타낼 수 있다.
상기 주파수 검출부 및 상기 인터럽트 발생부는 상기 동작 클록 신호들의 주파수 이상 여부를 순차적으로 모니터링하도록 상기 동작 클록 신호에 대하여 공통으로 사용될 수 있다.
상기 주파수 검출부는 상기 검출 주파수를 제공하기 위하여 상기 선택 클록 신호의 주파수를 분주할 수 있다.
상기 인터럽트 발생부는 상기 선택 클록 신호에 상응하는 기능 블록의 전력 레벨을 반영하여 상기 선택 클록 신호에 상응하는 동작 클록 신호의 주파수 이상 여부를 판단할 수 있다.
상기 주파수 검출부는, 상기 선택 클록 신호의 주파수를 분주하여 분주 클록 신호를 발생하는 주파수 분주기, 기준 클록 신호에 기초하여 카운트 인에이블 신호를 발생하는 카운트 인에이블 신호 발생기, 상기 카운트 인에이블 신호의 활성화 시간 동안 상기 분주 클록 신호의 클록 수를 카운트하여 카운트 값을 제공하는 클록 카운터, 및 상기 카운트 값에 기초하여 상기 검출 주파수를 계산하는 검출 주파수 계산기를 포함할 수 있다.
상기 주파수 분주기는 적어도 하나의 플립플롭을 이용하여 상기 선택 클록 신호의 주파수를 분주한 적어도 하나의 클록 신호를 발생할 수 있다.
상기 주파수 분주기는, 상기 선택 클록 신호를 수신하여 상기 선택 클록 신호보다 주파수가 반감된 제1 클록 신호를 발생하는 제1 플립플롭, 상기 제1 클록 신호를 수신하여 상기 제1 클록 신호보다 주파수가 반감된 제2 클록 신호를 발생하는 제2 플립플롭, 및 분주비 선택 신호에 응답하여 상기 선택 클록 신호, 상기 제1 클록 신호 및 상기 제2 클록 신호 중에서 하나를 선택하여 상기 분주 클록 신호로서 출력하는 멀티플렉서를 포함할 수 있다.
상기 카운트 인에이블 신호 발생기는 상기 카운트 인에이블 신호의 활성화 시간이 상기 기준 클록 신호의 사이클 주기의 정수배가 되도록 상기 카운트 인에이블 신호를 발생할 수 있다.
상기 검출 주파수 계산기는 하기의 수학식에 따라서 상기 검출 주파수를 계산할 수 있다.
Fd=Fr*S*N/T
여기서, Fd는 상기 선택 클록 신호에 상응하는 동작 클록 신호의 검출 주파수, Fr은 상기 기준 클록 신호의 주파수, S는 상기 주파수 분주기의 분주비, N은 상기 카운트 값, T는 상기 카운트 인에이블 신호의 활성화 시간이다.
상기 인터럽트 발생부는, 상기 동작 클록 신호들에 각각 상응하는 구현 주파수의 값들 및 상기 기능 블록들의 전력 레벨들에 각각 상응하는 보정 값들을 저장하는 저장부, 상기 저장부로부터 상기 선택 클록 신호에 상응하는 구현 주파수 및 보정 값을 추출하고, 상기 추출된 구현 주파수 및 상기 추출된 보정 값에 기초하여 기준 주파수를 계산하는 기준 주파수 계산기, 및 상기 기준 주파수와 상기 검출 주파수를 비교하여 상기 인터럽트 신호를 발생하는 비교기를 포함할 수 있다.
상기 비교기는 상기 검출 주파수가 상기 기준 주파수보다 클 때 상기 인터럽트 신호를 활성화할 수 있다.
상기 저장부는 외부의 프로세서가 참조할 수 있도록 상기 주파수 검출부에서 측정된 상기 검출 주파수를 저장할 수 있다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 시스템 온 칩은 각각의 고유 기능들을 수행하는 복수의 기능 블록들, 상기 기능 블록들에 각각 제공되는 복수의 동작 클록 신호들을 발생하는 클록 제어부, 상기 동작 클록 신호들의 주파수들을 모니터링하여 인터럽트 신호를 발생하는 클록 모니터, 및 상기 인터럽트 신호에 기초하여 상기 동작 클록 신호들의 주파수들을 제어하는 프로세서를 포함한다. 상기 클록 모니터는, 상기 동작 클록 신호들 중에서 하나를 선택하여 선택 클록 신호를 제공하는 선택부, 상기 선택 클록 신호의 주파수를 측정하여 검출 주파수를 제공하는 주파수 검출부, 및 상기 검출 주파수에 기초하여 상기 선택 클록 신호에 상응하는 동작 클록 신호의 주파수 이상 여부를 나타내는 상기 인터럽트 신호를 발생한다.
상기 프로세서는 상기 인터럽트 신호가 활성화된 경우, 상기 선택 클록 신호에 상응하는 동작 클록 신호의 주파수를 재설정할 수 있다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 시스템 온 칩은 복수의 동작 클록 신호들에 기초하여 동작한다. 상기 시스템 온 칩은 상기 동작 클록 신호들의 주파수들을 모니터링하여 인터럽트 신호를 발생하는 클록 모니터를 포함한다. 상기 클록 모니터는, 상기 동작 클록 신호들 중에서 하나를 선택하여 선택 클록 신호를 제공하는 선택부, 상기 선택 클록 신호의 주파수를 측정하여 검출 주파수를 제공하는 주파수 검출부, 및 상기 검출 주파수에 기초하여 상기 선택 클록 신호에 상응하는 동작 클록 신호의 주파수 이상 여부를 나타내는 상기 인터럽트 신호를 발생하는 인터럽트 발생부를 포함한다.
본 발명의 실시예들에 따른 클록 모니터 및 이를 포함하는 시스템 온 칩은 공통의 하드웨어를 이용하여 복수의 동작 클록 신호들을 모니터링함으로써 시스템의 사이즈를 과도하게 증가시키지 않으면서 시스템의 성능을 향상시킬 수 있다.
또한 본 발명의 실시예들에 따른 클록 모니터 및 이를 포함하는 시스템 온 칩은 DVFS 기법에 따른 전력 레벨의 변화를 반영하여 동작 클록 신호들을 더욱 정밀하게 모니터링할 수 있다.
또한 본 발명의 실시예들에 따른 클록 모니터 및 이를 포함하는 시스템 온 칩은 동작 클록 신호의 주파수를 분주하여 분주된 클록 신호의 클록 수를 카운팅함으로써 동작 클록 신호의 주파수가 높은 경우에도 효율적인 모니터링을 수행할 수 있다.
도 1은 본 발명의 실시예들에 따른 시스템을 나타내는 블록도이다.
도 2는 본 발명의 실시예들에 따른 클록 모니터를 나타내는 블록도이다.
도 3은 도 2의 클록 모니터에 포함되는 주파수 검출부의 일 실시예를 나타내는 블록도이다.
도 4는 도 3의 주파수 검출부에 포함되는 주파수 분주기의 일 실시예를 나타내는 블록도이다.
도 5는 상승 에지 트리거형 플립플롭의 일 예를 나타내는 회로도이다.
도 6은 도 5의 상승 에지 트리거형 플립플롭을 이용한 주파수 분주기의 동작을 나타내는 타이밍도이다.
도 7은 하강 에지 트리거형 플립플롭의 일 예를 나타내는 회로도이다.
도 8은 도 7의 하강 에지 트리거형 플립플롭을 이용한 주파수 분주기의 동작을 나타내는 타이밍도이다.
도 9는 도 3의 주파수 검출부에 포함되는 카운트 인에이블 신호 발생기의 동작을 나타내는 타이밍도이다.
도 10은 도 2의 클록 모니터에 포함되는 인터럽트 발생부를 나타내는 블록도이다.
도 11은 도 10의 인터럽트 발생부에 포함되는 저장부에 저장되는 룩업 테이블의 일 예를 나타내는 도면이다.
도 12는 본 발명의 실시예들에 따른 클록 모니터의 전체적인 동작의 일 예를 나타내는 타이밍도이다.
도 13은 도 1의 시스템에 포함되는 클록 제어부의 일 예를 나타내는 블록도이다.
도 14는 본 발명의 실시예들에 따른 클록 모니터링 방법을 나타내는 순서도이다.
도 15는 본 발명의 실시예들에 따른 모바일 기기를 나타내는 블록도이다.
도 16은 도 15의 모바일 기기가 스마트폰으로 구현되는 일 예를 나타내는 도면이다.
도 17은 도 15의 모바일 기기에서 사용되는 인터페이스의 일 예를 나타내는 블록도이다.
도 18은 본 발명의 실시예들에 따른 휴대용 단말기를 나타내는 블록도이다.
도 2는 본 발명의 실시예들에 따른 클록 모니터를 나타내는 블록도이다.
도 3은 도 2의 클록 모니터에 포함되는 주파수 검출부의 일 실시예를 나타내는 블록도이다.
도 4는 도 3의 주파수 검출부에 포함되는 주파수 분주기의 일 실시예를 나타내는 블록도이다.
도 5는 상승 에지 트리거형 플립플롭의 일 예를 나타내는 회로도이다.
도 6은 도 5의 상승 에지 트리거형 플립플롭을 이용한 주파수 분주기의 동작을 나타내는 타이밍도이다.
도 7은 하강 에지 트리거형 플립플롭의 일 예를 나타내는 회로도이다.
도 8은 도 7의 하강 에지 트리거형 플립플롭을 이용한 주파수 분주기의 동작을 나타내는 타이밍도이다.
도 9는 도 3의 주파수 검출부에 포함되는 카운트 인에이블 신호 발생기의 동작을 나타내는 타이밍도이다.
도 10은 도 2의 클록 모니터에 포함되는 인터럽트 발생부를 나타내는 블록도이다.
도 11은 도 10의 인터럽트 발생부에 포함되는 저장부에 저장되는 룩업 테이블의 일 예를 나타내는 도면이다.
도 12는 본 발명의 실시예들에 따른 클록 모니터의 전체적인 동작의 일 예를 나타내는 타이밍도이다.
도 13은 도 1의 시스템에 포함되는 클록 제어부의 일 예를 나타내는 블록도이다.
도 14는 본 발명의 실시예들에 따른 클록 모니터링 방법을 나타내는 순서도이다.
도 15는 본 발명의 실시예들에 따른 모바일 기기를 나타내는 블록도이다.
도 16은 도 15의 모바일 기기가 스마트폰으로 구현되는 일 예를 나타내는 도면이다.
도 17은 도 15의 모바일 기기에서 사용되는 인터페이스의 일 예를 나타내는 블록도이다.
도 18은 본 발명의 실시예들에 따른 휴대용 단말기를 나타내는 블록도이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되지 않는다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 시스템을 나타내는 블록도이다.
도 1을 참조하면, 시스템(100)은 집적 회로(integrated circuit)(10) 및 전압 제어부(VCU, voltage control unit)(70)를 포함할 수 있다.
집적 회로(10)는 적어도 하나의 프로세서(processor)(20), 전력 관리부(PMU, power management unit)(30), 클록 제어부(CCU, clock control unit)(40), 하나 이상의 기능 블록들(FB1~FBm, function blocks) 및 클록 모니터(clock monitor)(60)를 포함할 수 있다.
집적 회로(10)는 다양한 구성 요소들이 하나의 칩에 집적된 시스템 온 칩(SOC: system on chip) 또는 애플리케이션 프로세서(AP, application processor) 칩일 수 있다. 집적 회로(10)는 전압 제어부(70)로부터 필요한 전력을 공급받을 수 있다. 전압 제어부(70)는 적어도 하나의 전압 레귤레이터를 포함할 수 있고, 파워 서플라이 또는 전력 관리 집적 회로(PMIC: power management integrated circuit)로 지칭될 수도 있다. 실시예에 따라서, 전압 제어부(70)는 집적 회로(10)와는 별개의 칩으로 구현될 수도 있고, 전압 제어부(70)의 적어도 일부 구성 요소는 집적 회로(10)에 포함될 수도 있다.
도 1에는 하나의 프로세서(20)만을 도시하였으나, 집적 회로(10)는 하나 이상의 프로세서 또는 프로세싱 유닛을 더 포함할 수 있다. 프로세서(20)는 집적 회로(10)의 주요 기능을 수행하는 CPU(central processing unit)일 수 있고, 프로그램 명령들(instructions) 특히 운영 체제(OS: operating system)를 수행하도록 구현될 수 있다.
전력 관리부(30)는 집적 회로(10)의 동작 상태를 모니터링하여 복수의 전력 레벨들 중에서 현재의 동작 상태에 상응하는 동작 전력 레벨을 결정할 수 있다. 본 명세서에서 사용되는 전력 레벨은 동작 전압과 동작 주파수 중 적어도 하나로서 표현될 수 있다. 즉 동작 전압과 동작 주파수 중 적어도 하나를 변경함으로써 전력 레벨을 변경할 수 있다. 동작 전압은 전원 전압일 수 있고 동작 주파수는 동작 클록 신호의 주파수일 수 있다.
전력 관리부(30)는 집적 회로(10)의 작업부하(workload), 동작 온도와 같은 동작 상태(operating state or operating condition)를 모니터링하여 현재의 동작 상태에 상응하는 동작 전력 레벨을 결정할 수 있다. 예를 들어, 집적 회로(10)의 작업부하가 증가하면, 전력 관리부(30)는 집적 회로(10)의 동작 전압 및/또는 동작 주파수가 증가하도록 동작 전력 레벨을 상승시킬 수 있다. 반면에 집적 회로(10)의 작업 부하가 감소하면, 전력 관리부(30)는 집적 회로(10)의 동작 전압 및/또는 동작 주파수가 감소하도록 동작 전력 레벨을 하강시킬 수 있다. 또한 적정 동작 온도 범위를 초과하여 온도 상승으로 인한 정상 동작이 문제가 될 경우 집적 회로의 동작 전압 및 또는 동작 주파수가 감소하도록 동작 전력 레벨을 하강시킬 수 있다. 전력 레벨을 상승시켜 성능 저하를 방지하고, 전력 레벨을 하강시켜 불필요한 전력 소모를 방지할 수 있다. 일 실시예에서, 전력 관리부(30)는 프로세서(10)의 작업부하를 모니터링하여 동작 전력 레벨을 결정할 수 있다. 다른 실시예에서, 프로세서(10)가 자신의 작업부하를 모니터링하고 그 결과에 기초하여 동작 전력 레벨의 변경을 전력 관리부(30)에 요청할 수도 있다.
전력 관리부(30)는 전압 제어 신호(VCTR) 및 클록 제어 신호(CCTR)를 발생하여 동작 전력 레벨에 상응하는 동작 전압 및 동작 주파수를 제공하도록 전압 제어부(70) 및 클록 제어부(40)를 제어할 수 있다. 전력 레벨의 변경은 동작 전압 및 동작 주파수 중 적어도 하나를 변경하는 것일 수 있다. 한편 전력 관리부(30)는 집적 회로(10)의 일부분의 전력 레벨을 다른 부분들과 독립적으로 제어할 수 있다. 예를 들어, 기능 블록들(FB1~FBm)이 서로 다른 파워 도메인들에 각각 속하는 경우에는 기능 블록들(FB1~FBm)에 제공되는 동작 전압들(VOP1~VOPm)은 서로 독립적으로 제어될 수 있다. 또한 기능 블록들(FB1~FBm)이 서로 다른 클록 도메인들에 각각 속하는 경우에는 기능 블록들(FB1~FBm)에 제공되는 동작 클록 신호들(OCK1~OCKm)은 서로 독립적으로 제어될 수 있다.
기능 블록들(FB1~FBm)은 각각의 고유 기능들을 수행하며, 기능 블록들(FB1~FBm)은 지능 소자(IP, intellectual property)라고 지칭될 수 있다. 예를 들어, 기능 블록들(FB1~FBm)은 메모리 콘트롤러(memory controller)(MC), 중앙 처리부(central processing unit), 디스플레이 콘트롤러(display controller)(DIS), 파일 시스템 블록(file system block)(FSYS), 그래픽 처리부(graphic processing unit)(GPU), 이미지 신호 프로세서(image signal processor)(ISP), 멀티 포맷 코덱 블록(multi-format codec block)(MFC) 등을 포함할 수 있다. 프로세서(20), 전력 관리부(30)도 각각 독립된 기능 블록일 수 있다.
클록 제어부(40)는 기능 블록들(FB1~FBm)에 각각 제공되는 동작 클록 신호들(OCK1~OCKm)을 발생한다. 클록 제어부(40)는 위상 고정 루프(PLL: phase-locked), 지연 고정 루프(DLL: delay-locked loop), 클록 체배기(clock multiplier), 클록 분배기(clock divider), 또는 이들의 조합으로 구현될 수 있다. 클록 제어부(40)에 대해서는 도 13의 실시예를 참조하여 후술한다.
클록 모니터(60)는 동작 클록 신호들(OCK1~OCKm)의 주파수들을 모니터링하여 인터럽트 신호(INTR)를 발생한다. 클록 모니터(60)에 대해서는 도 2의 실시예를 참조하여 후술한다. 프로세서(20)는 클록 모니터(60)를 제어하기 위한 모니터 제어 신호(MCTR)를 발생할 수 있다. 또한 프로세서(20)는 클록 모니터(60)로부터의 인터럽트 신호(INTR)에 기초하여 동작 클록 신호들(OCK1~OCKm)의 주파수들을 제어할 수 있다.
도 1에는 편의상 프로세서(20) 및 전력 관리부(30)에 제공되는 동작 전압과 클록 신호는 생략되어 있으며 기능 블록들의 개수는 다양하게 변경될 수 있다. 전력 관리부(30) 및/또는 기능 블록들(FB1~FBm) 중 하나는 프로세서(20)와 동일한 파워 도메인에 속할 수 있으며, 전력 관리부(30)는 프로세서(20) 내에 포함될 수도 있다.
도 2는 본 발명의 실시예들에 따른 클록 모니터를 나타내는 블록도이다.
도 2를 참조하면, 클록 모니터(60)는 선택부(MUX, multiplexer)(61), 주파수 검출부(frequency detector)(63) 및 인터럽트 발생부(interrupt generator)(65)를 포함할 수 있다.
선택부(61)는 복수의 기능 블록들(FB1~FBm)에 각각 제공되는 복수의 동작 클록 신호들(OCK1~OCKm) 중에서 하나를 선택하여 선택 클록 신호(SCK)를 제공한다. 주파수 검출부(63)는 선택 클록 신호(SCK)의 주파수를 측정하여 검출 주파수(FDET)를 제공한다. 인터럽트 발생부(65)는 검출 주파수(FDET)에 기초하여 선택 클록 신호(SCK)에 상응하는 동작 클록 신호의 주파수 이상 여부를 나타내는 인터럽트 신호(INTR)를 발생한다.
도 2에 도시된 바와 같이, 선택부(61)는 동작 클록 선택 신호(OCS)에 응답하여 동작 클록 신호들(OCK1~OCKm) 중에서 하나를 선택 클록 신호(SCK)로서 출력하는 멀티플렉서(MUX)를 포함할 수 있다. 동작 클록 선택 신호(OCS)는 도 1의 프로세서(20)로부터 제공되는 모니터 제어 신호(MCTR)에 포함될 수 있다.
일 실시예에서, 도 12에 도시된 바와 같이, 프로세서(20)는 멀티플렉서(61)가 동작 클록 신호들(OCK1~OCKm)을 순차적으로 선택 클록 신호(SCK)로서 출력하도록 동작 클록 선택 신호(OCS)의 값을 순차적으로 변경할 수 있다. 이때, 인터럽트 신호(INTR)는 순차적으로 동작 클록 신호들(OCK1~OCKm)의 주파수 이상 여부를 나타낼 수 있다.
다른 실시예에서, 프로세서(20)는 멀티플렉서(61)가 동작 클록 신호들(OCK1~OCKm) 중에서 주파수가 변경되거나 상응하는 기능 블록의 전력 레벨이 변경된 동작 클록 신호를 선택 클록 신호(SCK)로서 출력하도록 동작 클록 선택 신호(OCS)의 값을 결정할 수 있다. 이때, 인터럽트 신호(INTR)는 상기 주파수 또는 전력 레벨이 변경된 동작 클록 신호의 주파수 이상 여부를 나타낼 수 있다.
도 2에 도시된 바와 같이, 주파수 검출부(63) 및 인터럽트 발생부(65)는 복수의 동작 클록 신호들(OCK1~OCKm)의 주파수 이상 여부를 순차적으로 모니터링하도록 동작 클록 신호(OCK1~OCKm)에 대하여 공통으로 사용된다. 이와 같이, 본 발명의 실시예들에 따른 클록 모니터 및 이를 포함하는 시스템 온 칩은 공통의 하드웨어를 이용하여 복수의 동작 클록 신호들을 모니터링함으로써 시스템의 사이즈를 과도하게 증가시키지 않으면서 시스템의 성능을 향상시킬 수 있다.
주파수 검출부(63)에 대해서는 도 3 내지 9의 실시예들을 참조하여 후술한다. 후술하는 바와 같이, 주파수 검출부(63)는 검출 주파수(FDET)를 제공하기 위하여 선택 클록 신호(SCK)의 주파수를 분주할 수 있다. 이와 같이, 본 발명의 실시예들에 따른 클록 모니터 및 이를 포함하는 시스템 온 칩은 동작 클록 신호의 주파수를 분주하여 분주된 클록 신호의 클록 수를 카운팅함으로써 동작 클록 신호의 주파수가 높은 경우에도 효율적인 모니터링을 수행할 수 있다.
인터럽트 발생부(65)에 대해서는 도 10 및 11을 참조하여 후술한다. 후술하는 바와 같이, 인터럽트 발생부(65)는 선택 클록 신호(SCK)에 상응하는 기능 블록의 전력 레벨을 반영하여 선택 클록 신호(SCK)에 상응하는 동작 클록 신호의 주파수 이상 여부를 판단할 수 있다. 이와 같이, 본 발명의 실시예들에 따른 클록 모니터 및 이를 포함하는 시스템 온 칩은 DVFS 기법에 따른 전력 레벨의 변화를 반영하여 동작 클록 신호들을 더욱 정밀하게 모니터링할 수 있다.
도 3은 도 2의 클록 모니터에 포함되는 주파수 검출부의 일 실시예를 나타내는 블록도이다.
도 3을 참조하면, 주파수 검출부(63)는 주파수 분주기(frequency divider)(210), 카운트 인에이블 신호 발생기(count enable signal generator)(220), 클록 카운터(clock counter)(230) 및 검출 주파수 계산기(detection frequency calculator)(240)를 포함할 수 있다.
주파수 분주기(210)는 선택 클록 신호(SCK)의 주파수를 분주하여 분주 클록 신호(DCK)를 발생한다. 카운트 인에이블 신호 발생기(220)는 기준 클록 신호(RCK)에 기초하여 카운트 인에이블 신호(CEN)를 발생한다. 클록 카운터(230)는 카운트 인에이블 신호(CEN)의 활성화 시간 동안 분주 클록 신호(DCK)의 클록 수를 카운트하여 카운트 값(CN)을 제공한다. 검출 주파수 계산기(240)는 카운트 값(CN)에 기초하여 검출 주파수(FDET)를 계산한다.
도 4 내지 8을 참조하여 후술하는 바와 같이, 주파수 분주기(210)는 적어도 하나의 플립플롭을 이용하여 선택 클록 신호(SCK)의 주파수를 분주한 적어도 하나의 클록 신호를 발생하고, 이를 이용하여 분주 클록 신호(DCK)를 출력할 수 있다. 주파수 분주기(210)는 분주비 선택 신호(DRS)에 응답하여 분주 클록 신호(DCK)로서 출력될 클록 신호를 선택할 수 있다. 분주비 선택 신호(DRS)는 도 1의 프로세서(20)로부터 제공되는 모니터 제어 신호(MCTR)에 포함될 수 있다. 전술한 바와 같이, 분주된 클록 신호의 클록 수를 카운팅함으로써 동작 클록 신호의 주파수가 높은 경우에도 효율적인 모니터링을 수행할 수 있다.
기준 클록 신호(RCK)는 동작 온도 및 동작 전압에 관계없이 실질적으로 고정된 주파수를 갖는다. 일반적으로 애플리케이션 프로세서 칩 또는 시스템 온 칩은 크리스탈 발진기(crystal oscillator)로부터 고정된 주파수(예를 들어, 약 24 MHz)를 갖는 클록 신호를 수신할 수 있다. 기준 클록 신호(RCK)는 크리스탈 발진기로부터 제공되는 클록 신호일 수 있다. 일 실시예에서, 카운트 인에이블 신호 발생기(220)는 신호폭 값(signal width value)(WID)에 기초하여 카운트 인에이블 신호(CEN)의 활성화 시간을 제어할 수 있다. 신호폭 값(WID)은 도 1의 프로세서(20)로부터 제공되는 모니터 제어 신호(MCTR)에 포함될 수 있다. 예를 들어, 도 9에 도시된 바와 같이, 카운트 인에이블 신호 발생기(220)는 신호폭 값(WID)에 기초하여 카운트 인에이블 신호(CEN)의 활성화 시간이 기준 클록 신호(RCK)의 사이클 주기의 정수배가 되도록 카운트 인에이블 신호(CEN)를 발생할 수 있다.
도 4는 도 3의 주파수 검출부에 포함되는 주파수 분주기의 일 실시예를 나타내는 블록도이다.
도 4를 참조하면, 주파수 분주기(210)는 제1 플립플롭(FF, flip-flop)(211), 제2 플립플롭(212) 및 멀티플렉서(MUX, multiplexer) (213)를 포함할 수 있다.
제1 플립플롭(211)은 선택 클록 신호(SCK)를 수신하여 선택 클록 신호(SCK)보다 주파수가 반감된 제1 클록 신호(DCK1)를 발생한다. 제2 플립플롭(212)은 제1 클록 신호(DCK1)를 수신하여 제1 클록 신호(DCK1)보다 주파수가 반감된 제2 클록 신호(DCK2)를 발생한다. 멀티플렉서(213)는 분주비 선택 신호(DRS)에 응답하여 선택 클록 신호(SCK), 2분주된 제1 클록 신호(DCK1) 및 4분주된 제2 클록 신호(DCK2) 중에서 하나를 선택하여 분주 클록 신호(DCK)로서 출력한다. 도 4에 도시된 주파수 분주기(210)는 예시적인 것으로서, 주파수 분주기(210)의 구성은 다양하게 변경될 수 있다. 예를 들어, 주파수 분주기는 하나의 플립플롭을 포함하여 선택 클록 신호(SCK) 또는 2분주된 제1 클록 신호(DCK1)를 분주 클록 신호(DCK)로서 선택할 수 있다.
분주비 선택 신호(DRS)는 도 1의 프로세서(20)로부터 제공되는 모니터 제어 신호(MCTR)에 포함될 수 있다. 프로세서(20)는 선택 클록 신호(SCK)의 주파수에 기초하여 분주비 선택 신호(DRS)의 값을 조절함으로써, 선택 클록 신호(SCK)의 주파수가 상대적으로 낮은 경우에는 선택 클록 신호(SCK)를 선택하고 선택 클록 신호(SCK)의 주파수가 상대적으로 높은 경우에는 주파수를 감소시킨 클록 신호(DCK1 또는 DCK2)를 선택하도록 멀티플렉서(213)를 제어할 수 있다. 이와 같은 주파수 분주기(210)를 이용하여, 본 발명의 실시예들에 따른 클록 모니터 및 이를 포함하는 시스템 온 칩은 동작 클록 신호의 주파수를 분주하여 분주된 클록 신호의 클록 수를 카운팅함으로써 동작 클록 신호의 주파수가 높은 경우에도 효율적인 모니터링을 수행할 수 있다.
도 5는 상승 에지 트리거형 플립플롭의 일 예를 나타내는 회로도이고, 도 6은 도 5의 상승 에지 트리거형 플립플롭을 이용한 주파수 분주기의 동작을 나타내는 타이밍도이다.
도 5를 참조하면, 상승 에지 트리거형 플립플롭은 제1 인버터(111), 제2 인버터(112), 제1 스위치(113) 및 제2 스위치(114)를 포함한다.
제1 인버터(111)의 출력은 제2 인버터(112)의 입력과 연결되고 제2 스위치(114)를 매개로 하여 제2 인버터(112)의 출력이 제1 인버터(111)의 입력과 연결되는 래치 구조를 갖는다. 제1 스위치(113)는 데이터 단자(D)와 제1 인버터(111)의 입력 사이에 연결되고 1 스위치(113)의 제어 단자(CK)는 클록 단자에 해당한다. 제1 스위치(113)의 제어 단자(CK)에는 클록 신호(CLK)가 인가되고 제2 스위치(114)의 제어 단자(/CK)에는 클록 신호(CLK)의 반전 신호(/CLK)가 인가된다.
상승 에지 트리거형 플립플롭은 저장 상태를 초기화하기 위한 리셋 스위치(115)를 더 포함할 수 있다. 리셋 신호(RST)에 응답하여 리셋 스위치(115)가 턴온되면 리셋 전압(VDD, GND)의 논리 레벨에 따라 반전 출력 단자(/Q) 및 비반전 출력 단자(Q)의 논리 상태가 논리 로우(logic low) 또는 논리 하이(logic high)로 초기화될 수 있다.
제어 단자(CK)로 인가되는 클록 신호(CLK)가 논리 로우일 때 도 5의 플립플롭은 메모리, 즉 저장 상태에 있고 데이터 단자(D)의 논리 상태가 변하더라도 플립플롭의 상태는 변하지 않는다. 클록 신호(CLK)가 논리 하이로 천이할 때, 즉 클록 신호(CLK)의 상승 에지에서 비반전 출력 단자(Q)에는 데이터 단자(D)의 논리 상태가 저장된다. 이와 같이 제어 단자(CK)에 인가되는 신호의 에지에 동기하여 논리 상태가 변화하는 플립플롭을 에지 트리거형(edge-triggered)이라고 하고, 도 5의 플립플롭은 상승 에지 트리거형 플립플롭에 해당한다.
상승 에지 트리거형 플립플롭은 반전 출력 단자(/Q)가 데이터 단자(D)와 연결되어 토글링 동작을 수행한다. 제어 단자(CK)에 인가되는 클록 신호(CLK)가 하강하여 논리 로우가 되면 제2 스위치(114)가 턴온되어 비반전 출력 단자(Q)와 반대되는 반전 출력 단자(/Q)의 논리 상태가 데이터 단자(D)에 설정되지만 플립플롭의 상태는 변하지 않는다. 클록 신호(CK)가 상승하여 논리 하이가 되면 결과적으로 반전 출력 단자(/Q)의 논리 상태가 제1 인버터(111)의 입력에 인가되어 비반전 출력 단자(Q)의 논리 상태가 역전된다. 이와 같이 상승 에지 트리거형 플립플롭은 클록 신호(CLK)의 상승 에지마다 논리 하이에서 논리 로우로 또는 논리 로우에서 논리 하이로 저장 상태가 역전되는 토글링 동작을 수행한다.
이와 같은 상승 에지 트리거형 플립플롭을 이용하여 도 6에 도시된 바와 같이 선택 클록 신호(SCK)의 상승 에지에 응답하여 토글링하는 제1 클록 신호(DCK1) 및 제1 클록 신호(DCK1)의 상승 에지에 응답하여 토글링하는 제2 클록 신호(DCK2)를 발생할 수 있다. 결과적으로, 제1 클록 신호(DCK1),는 선택 클록 신호(SCK)와 비교하여 반감된 주파수를 갖고 제2 클록 신호(DCK2)는 제1 클록 신호(DCK1)와 비교하여 반감된 주파수를 갖는다.
도 7은 하강 에지 트리거형 플립플롭의 일 예를 나타내는 회로도이고, 도 8은 도 7의 하강 에지 트리거형 플립플롭을 이용한 주파수 분주기의 동작을 나타내는 타이밍도이다.
도 7을 참조하면, 하강 에지 트리거형 플립플롭은 제1 인버터(121), 제2 인버터(122), 제1 스위치(123) 및 제2 스위치(124)를 포함하고, 실시예에 따라서 리셋 스위치(125)를 더 포함할 수 있다.
도 7의 하강 에지 트리거형 플립플롭은 도 5의 상승 에지 트리거형 플립플롭과 유사한 구성을 갖지만, 제1 스위치(123)의 제어 단자(/CK)에 클록 신호(CLK)의 반전 신호(/CLK)가 인가되고 제2 스위치(124)의 제어 단자(CK)에 클록 신호(CLK)가 인가되는 점이 다르다. 즉 도 5 및 7의 플립플롭들은 클록 단자들(CK, /CK)이 서로 뒤바뀐 구조를 갖는다.
클록 신호(CLK)의 상승 에지에 응답하여 토글링 동작을 수행하는 도 5의 상승 에지 트리거형 플립플롭과는 반대로 도 7의 하강 에지 트리거형 플립플롭은 클록 신호(CLK)의 하강 에지에 응답하여 토글링 동작을 수행한다. 클록 신호(CLK)가 상승하여 논리 하이가 되면 제2 스위치(124)가 턴온되어 비반전 출력 단자(Q)와 반대되는 반전 출력 단자(/Q)의 논리 상태가 데이터 단자(D)에 설정되지만 플립플롭의 상태는 변하지 않는다. 클록 신호(CLK)가 하강하여 논리 로우가 되면 반전 출력 단자(/Q)의 논리 상태가 제1 인버터(121)의 입력에 인가되어 비반전 출력 단자(Q)의 논리 상태가 역전된다. 이와 같이 하강 에지 트리거형 플립플롭은 클록 신호(CLK)의 하강 에지마다 저장 상태가 역전되는 토글링 동작을 수행한다.
이와 같은 하강 에지 트리거형 플립플롭을 이용하여 도 8에 도시된 바와 같이 선택 클록 신호(SCK)의 하강 에지에 응답하여 토글링하는 제1 클록 신호(DCK1) 및 제1 클록 신호(DCK1)의 하강 에지에 응답하여 토글링하는 제2 클록 신호(DCK2)를 발생할 수 있다. 결과적으로, 제1 클록 신호(DCK1),는 선택 클록 신호(SCK)와 비교하여 반감된 주파수를 갖고 제2 클록 신호(DCK2)는 제1 클록 신호(DCK1)와 비교하여 반감된 주파수를 갖는다.
도 9는 도 3의 주파수 검출부에 포함되는 카운트 인에이블 신호 발생기의 동작을 나타내는 타이밍도이다.
도 3 및 9를 참조하면, 카운트 인에이블 신호 발생기(220)는 카운트 인에이블 신호(CEN)의 활성화 시간이 기준 클록 신호(RCK)의 사이클 주기(Tcyc)의 정수배가 되도록 카운트 인에이블 신호(CEN)를 발생할 수 있다. 예를 들어, 도 9에 예시된 바와 같이, 신호폭 값(WID)이 1인 경우에는 카운트 인에이블 신호(CEN)의 활성화 시간(Tcnt1)이 기준 클록 신호(RCK)의 사이클 주기(Tcyc)와 같고, 신호폭 값(WID)이 2인 경우에는 카운트 인에이블 신호(CEN)의 활성화 시간(Tcnt2)이 기준 클록 신호(RCK)의 사이클 주기(Tcyc)의 2배가 될 수 있다.
이와 같이, 카운트 인에이블 신호 발생기(220)는 신호폭 값(WID)에 기초하여 카운트 인에이블 신호(CEN)의 활성화 시간(Tcnt1)을 제어할 수 있다. 분주된 카운트 인에이블 신호(CEN)를 발생하기 위하여, 카운트 인에이블 신호 발생기(220)는 도 5 및 7에 도시된 것과 같은 플립플롭들을 포함할 수 있다. 클록 카운터(230)는 카운트 인에이블 신호(CEN)의 활성화 시간 동안 분주 클록 신호(DCK)의 클록 수를 카운트하여 카운트 값(CN)을 제공한다. 카운트 인에이블 신호(CEN)의 활성화 시간이 증가할수록 카운트 값(CN)이 증가하고 주파수 측정의 정밀도가 증가할 수 있다.
검출 주파수 계산기(240)는 하기의 수학식 1에 따라서 검출 주파수(FDET)를 계산할 수 있다.
수학식 1에서 Fd는 선택 클록 신호(SCK)에 상응하는 동작 클록 신호의 검출 주파수(FDET)이고, Fr은 기준 클록 신호(RCK)의 주파수이다. S는 주파수 분주기(210)의 분주비를 나타낸다. 도 4에 도시된 주파수 분주기(210)의 경우, 선택 클록 신호(SCK)가 분주 클록 신호(DCK)로서 선택되는 경우에는 S=2^0=1이고, 제1 클록 신호(DCK1)가 분주 클록 신호(DCK)로서 선택되는 경우에는 S=2^1=2이고, 제2 클록 신호(DCK2)가 분주 클록 신호(DCK)로서 선택되는 경우에는 S=2^2=4이다. N은 클록 카운터(230)에서 제공되는 카운트 값(CN)이고, T는 카운트 인에이블 신호(CEN)의 활성화 시간이다. 전술한 바와 같이, 주파수 분주기(210)는 프로세서(20)로부터 제공되는 분주비 선택 신호(DRS)에 기초하여 분주비(S)를 조절할 수 있고, 카운트 인에이블 신호 발생기(220)는 프로세서(20)로부터 제공되는 신호폭 값(WID)에 기초하여 활성화 시간(T)을 조절할 수 있다. 이와 같이, 분주비(S) 및/또는 활성화 시간(T)을 조절함으로써 효율적인 주파수 측정을 수행할 수 있다.
도 10은 도 2의 클록 모니터에 포함되는 인터럽트 발생부를 나타내는 블록도이고, 도 11은 도 10의 인터럽트 발생부에 포함되는 저장부에 저장되는 룩업 테이블의 일 예를 나타내는 도면이다.
도 10을 참조하면, 인터럽트 발생부(65)는 저장부(storage)(310), 기준 주파수 계산기(reference frequency calculator)(320) 및 비교기(comparator)(330)를 포함할 수 있다.
저장부(310)는 도 11에 예시된 바와 같이 동작 클록 신호들(OCK1~OCKm)에 각각 상응하는 구현 주파수(FIMP, implemented frequency)의 값들(FI1~FIm) 및 기능 블록들(FB1~FBm)의 전력 레벨들(PL1~PLn)에 각각 상응하는 보정 값들(S11~Smn, scaling values)을 저장할 수 있다. 예를 들어, 저장부(310)는 레지스터의 형태로 구현될 수 있으며, 저장부(310)는 특수 기능 레지스터(SFR, special function register)라 지칭될 수 있다. 기준 주파수 계산기(320)는 동작 클록 선택 신호(OCS) 및 파워 레벨 정보(PLI)에 기초하여 저장부(310)로부터 선택 클록 신호(SCK)에 상응하는 구현 주파수(FIMP) 및 보정 값(SCL)을 추출할 수 있다. 기준 주파수 계산기(320)는 추출된 구현 주파수(FIMP) 및 추출된 보정 값(SCL)에 기초하여 기준 주파수(FREF)를 계산할 수 있다. 비교기(330)는 기준 주파수(FREF)와 검출 주파수(FDET)를 비교하여 인터럽트 신호(INTR)를 발생할 수 있다. 한편, 도 11에 도시된 바와 같이, 저장부(330)는 프로세서(20)가 참조할 수 있도록 주파수 검출부(63)에서 측정된 검출 주파수(FDET)의 값들(FD1~FDm)을 저장할 수 있다.
도 1에 도시된 기능 블록들(FB1~FBm)에 공급되는 동작 전압들(VOP1~VOPm)의 변경은 기능 블록들(FB1~FBm)의 동작에 영향을 미칠 수 있다. 예를 들어, 기능 블록들((FB1~FBm) 중 하나는 임베디드 메모리(embedded memory)를 포함할 수 있다. 이 경우 상기 임베디드 메모리의 독출 동작은 동작 전압이 높은 경우보다 동작 전압이 낮은 경우에 더 많은 시간을 필요로 할 수 있다. 메모리 셀이 비트라인과 연결되어 메모리 셀에 저장된 데이터가 비트라인으로 전개되기 위하여 일정한 디벨롭 시간이 요구되고, 필요한 디벨롭 시간(develop time)은 동작 전압에 따라 변화할 수 있다. 즉 동작 전압이 증가할수록 더 작은 디벨롭 시간이 요구되고 동작 전압이 감소할수록 더 큰 디벨롭 시간이 요구될 수 있다.
기준 주파수 계산기(320)는 추출된 구현 주파수(FIMP) 및 추출된 보정 값(SCL)을 곱한 값으로 기준 주파수(FREF)를 계산할 수 있다. 구현 주파수(FIMP)의 값들(FI1~FIm)은 정적 타이밍 분석(STA, static timing analysis) 기법에 따라 결정될 수 있다. 보정 값들(S11~Smn)은 실리콘 평가 등을 통해 결정될 수 있으며, 전력 레벨이 증가할수록 큰 값을 가질 수 있다. 도 11에는 동작 클록 신호들(OCK1~OCKm)에 대하여 각각의 보정 값들을 도시하였으나, 전력 레벨이 같은 경우에는 동작 클록 신호들(OCK1~OCKm)에 관계없이 보정 값들이 동일할 수도 있다. 이와 같이, 선택 클록 신호(SCK)에 상응하는 기능 블록의 전력 레벨을 반영하여 선택 클록 신호(SCK)에 상응하는 동작 클록 신호의 주파수 이상 여부를 판단함으로써, 동작 클록 신호들을 더욱 정밀하게 모니터링할 수 있다.
비교기(330)는 검출 주파수(FDET)가 기준 주파수(FREF)보다 클 때 인터럽트 신호(INTR)를 활성화할 수 있다. 도 1의 프로세서(20)는 인터럽트 신호(INTR)에 기초하여 잘못된 클록 주파수 설정으로 인한 시스템 다운을 방지할 수 있다. 예를 들어, 프로세서(20)는 인터럽트 신호(INTR)가 활성화된 경우 상응하는 기능 블록의 동작을 중단시키거나 상응하는 동작 클록 신호의 주파수를 낮추는 방향으로 클록 신호의 설정 값을 조절할 수 있다.
도 12는 본 발명의 실시예들에 따른 클록 모니터의 전체적인 동작의 일 예를 나타내는 타이밍도이다.
도 1, 2 및 12를 참조하면, 프로세서(20)는 멀티플렉서(61)가 동작 클록 신호들(OCK1~OCKm)을 순차적으로 선택 클록 신호(SCK)로서 출력하도록 동작 클록 선택 신호(OCS)의 값을 순차적으로 변경할 수 있다. 예를 들어, 프로세서(20)는 제1 모니터링 주기(Tm1) 동안에는 동작 클록 선택 신호(OCS)의 값을 1로 설정하고, 제2 모니터링 주기(Tm2) 동안에는 동작 클록 선택 신호(OCS)의 값을 2로 설정하고, 제3 모니터링 주기(Tm3) 동안에는 동작 클록 선택 신호(OCS)의 값을 3으로 설정할 수 있다.
이러한 동작 클록 선택 신호(OCS)에 응답하여, 선택부(61)는 제1 모니터링 주기(Tm1) 동안에는 제1 동작 클록 신호(OCK1)를 선택 클록 신호(SCK)로서 출력하고, 제2 모니터링 주기(Tm2) 동안에는 제2 동작 클록 신호(OCK2)를 선택 클록 신호(SCK)로서 출력하고, 제3 모니터링 주기(Tm3) 동안에는 제3 동작 클록 신호(OCK3)를 선택 클록 신호(SCK)로서 출력할 수 있다.
주파수 검출부(63)는 카운트 인에이블 신호(CEN)의 활성화 시간들(Tc1, Tc2, Tc3) 동안에 각각 선택 클록 신호(SCK)의 클록 수를 카운트하고 이에 기초하여 검출 주파수(FDET)의 값들(FD1, FD2, FD3)을 제공한다. 카운트 인에이블 신호(CEN)의 활성화 시간들(Tc1, Tc2, Tc3)은 모니터링 주기들(Tm1, Tm2, Tm3)에 대하여 동일할 수도 있고 다를 수도 있다.
인터럽트 발생부(65)는 검출 주파수(FDET)의 값들(FD1, FD2, FD3)을 전술한 기준 주파수의 값들과 각각 비교하여 인터럽트 신호(INTR)의 활성화 여부를 결정할 수 있다. 이때, 인터럽트 신호(INTR)는 순차적으로 동작 클록 신호들(OCK1~OCKm)의 주파수 이상 여부를 나타낼 수 있다. 도 12에는 제2 모니터링 구간(Tm2)에서만 인터럽트 신호(INTR)가 펄스 형태로 활성화되는 예가 도시되어 있다. 이와 같이, 일부 동작 클록 신호(OCK2)의 주파수가 비정상적으로 높게 설정된 경우에는 시스템 다운의 가능성이 커지게 되므로, 프로세서(20)는 인터럽트 신호(INTR)에 기초하여 시스템 다운을 방지하기 위한 조치를 취할 수 있다. 예를 들어, 프로세서(20)는 인터럽트 신호(INTR)가 활성화된 경우, 해당 동작 클록 신호의 주파수를 낮추도록 도 13을 참조하여 설명하는 바와 같은 소스 클록 선택 신호의 값, 분주비 등을 조절할 수 있다. 나아가 프로세서(20)는 해당 동작 클록 신호의 주파수를 제어하기 위한 소스 클록 선택 신호의 값, 분주비 등의 설정 값들을 상기 조절된 값으로 갱신할 수 있다.
도 12의 실시예는 예시적인 것으로서, 필요에 따라서 주파수 모니터링이 필요한 동작 클록 신호에 대해서만 검출 주파수의 측정 및 인터럽트 신호의 활성화를 위한 비교가 수행될 수도 있다. 예를 들어, 프로세서(20)는 멀티플렉서(61)가 동작 클록 신호들(OCK1~OCKm) 중에서 주파수가 변경되거나 상응하는 기능 블록의 전력 레벨이 변경된 동작 클록 신호를 선택 클록 신호(SCK)로서 출력하도록 동작 클록 선택 신호(OCS)의 값을 결정할 수 있다. 이때, 인터럽트 신호(INTR)는 상기 주파수 또는 전력 레벨이 변경된 동작 클록 신호의 주파수 이상 여부를 나타낼 수 있다.
도 13은 도 1의 시스템에 포함되는 클록 제어부의 일 예를 나타내는 블록도이다.
도 13을 참조하면, 클록 제어부(40)는 복수의 클록 소스들(CS1~CS4) 및 복수의 클록 발생 유닛들(CGU1~CGUm)을 포함할 수 있다. 클록 소스들(CS1~CS4)은 크리스탈 발진기, 위상 고정 루프(PLL, phase-locked loop) 등을 포함하여 소스 클록 신호들(CLK1~CLK4)을 각각 제공할 수 있다. 클록 발생 유닛들(CGU1~CGUm)은 소스 클록 신호들(CLK1~CLK4)에 기초하여 동작 클록 신호들(OCK1~OCKm)을 각각 발생할 수 있다. 클록 발생 유닛들(CGU1~CGUm)의 각각에 연결되는 클록 소스들(CS1~CS4)의 개수는 클록 발생 유닛들(CGU1~CGUm)마다 다를 수 있으며, 클록 소스들(CS1~CS4)의 적어도 일부는 클록 제어부(40)의 외부에 위치할 수도 있다.
예를 들어, 제1 클록 발생 유닛(CGU1)은 클록 먹스(411) 및 주파수 분주기(412)를 포함하여 구현될 수 있다. 클록 먹스(411)는 소스 클록 선택 신호(SCS1)에 응답하여 클록 소스들(CS1~CS4)로부터 제공되는 소스 클록 신호들(CLK1~CLK4) 중에서 하나를 선택하여 출력한다. 주파수 분주기(412)는 선택된 클록 신호를 분주비(DR1)에 따라 분주하여 동작 클록 신호(OCK1)를 발생한다.
소스 클록 선택 신호(SCS1)와 분주비(DR1)는 도 1의 전력 관리부(30)로부터 제공되는 클록 제어 신호(CCTR)에 포함될 수 있다. 프로세서(20)는 인터럽트 신호(INTR)가 활성화된 경우 전력 관리부(30)를 제어하여 소스 클록 선택 신호(SCS1) 및/또는 분주비(DR1)를 변경하게 함으로써 동작 클록 신호(OCK1)의 주파수를 재설정할 수 있다. 실시예에 따라서, 인터럽트 신호(INTR)는 전력 관리부(30)에 직접 제공되어 시스템 다운을 방지하기 위하여 전력 관리부(30)가 신속하게 소스 클록 선택 신호(SCS1) 및/또는 분주비(DR1)를 변경할 수도 있다.
도 14는 본 발명의 실시예들에 따른 클록 모니터링 방법을 나타내는 순서도이다.
도 1, 2 및 14를 참조하면, 클록 제어부(40)는 기능 블록들(FB1~FBm)에 각각 제공되는 복수의 동작 클록 신호들(OCK1~OCKm)을 발생한다(S100). 프로세서(20)의 제어에 따라서 전력 관리부(30)는 클록 제어 신호(CCTR)를 발생하여 동작 클록 신호들(OCK1~OCKm)의 주파수들을 제어할 수 있다.
클록 모니터(60)의 선택부(61)는 동작 클록 신호들(OCK1~OCKm) 중에서 하나를 선택하여 선택 클록 신호(SCK)를 제공한다(S200). 선택부(61)는 동작 클록 선택 신호(OCS)에 응답하여 동작 클록 신호들(OCK1~OCKm) 중에서 하나를 선택 클록 신호(SCK)로서 출력하는 멀티플렉서(MUX)를 포함할 수 있다. 동작 클록 선택 신호(OCS)는 도 1의 프로세서(20)로부터 제공되는 모니터 제어 신호(MCTR)에 포함될 수 있다.
주파수 검출부(63)는 선택 클록 신호(SCK)의 주파수를 측정하여 검출 주파수(FDET)를 제공한다(S300). 인터럽트 발생부(65)는 검출 주파수(FDET)에 기초하여 선택 클록 신호(SCK)에 상응하는 동작 클록 신호의 주파수 이상 여부를 나타내는 인터럽트 신호(INTR)를 발생한다(S400). 주파수 검출부(63) 및 인터럽트 발생부(65)는 복수의 동작 클록 신호들(OCK1~OCKm)의 주파수 이상 여부를 순차적으로 모니터링하도록 동작 클록 신호(OCK1~OCKm)에 대하여 공통으로 사용된다. 인터럽트 발생부(65)는 선택 클록 신호(SCK)에 상응하는 기능 블록의 전력 레벨을 반영하여 선택 클록 신호(SCK)에 상응하는 동작 클록 신호의 주파수 이상 여부를 판단할 수 있다.
프로세서(20)는 인터럽트 신호(INTR)에 기초하여 동작 클록 신호들(OCK1~OCKm)의 주파수들을 제어한다(S500). 일부 동작 클록 신호(OCK2)의 주파수가 비정상적으로 높게 설정된 경우에는 시스템 다운의 가능성이 커지게 되므로, 프로세서(20)는 인터럽트 신호(INTR)에 기초하여 시스템 다운을 방지하기 위한 조치를 취할 수 있다.
도 15는 본 발명의 실시예들에 따른 모바일 기기를 나타내는 블록도이고, 도 16은 도 15의 모바일 기기가 스마트폰으로 구현되는 일 예를 나타내는 도면이다.
도 15 및 16을 참조하면, 모바일 기기(700)는 시스템 온 칩(710) 및 복수의 또는 기능 모듈들(740, 750, 760, 770)을 포함한다. 모바일 기기(700)는 메모리 장치(720), 저장 장치(730) 및 전력 관리 장치(780)를 더 포함할 수 있다. 한편, 도 16에 도시된 바와 같이, 모바일 기기(700)는 스마트폰으로 구현될 수 있다.
시스템 온 칩(710)은 모바일 기기(700)의 전반적인 동작을 제어할 수 있다. 다시 말하면, 시스템 온 칩(710)은 메모리 장치(720), 저장 장치(730) 및 복수의 기능 모듈들(740, 750, 760, 770)을 제어할 수 있다. 예를 들어, 시스템 온 칩(710)은 모바일 기기(700)에 구비되는 애플리케이션 프로세서(Application Processor; AP)일 수 있다.
시스템 온 칩(710)은 도 1의 집적 회로(10)일 수 있으며, 중앙 처리 유닛(712) 및 전력 관리 시스템(714)을 포함할 수 있다. 전력 관리 시스템(714)은 본 발명의 실시예들에 따른 클록 모니터(CM)(60)를 포함할 수 있다. 클록 모니터(60)는, 전술한 바와 같이, 시스템 온 칩(710) 내의 기능 블록들에 각각 제공되는 복수의 동작 클록 신호들 중에서 하나를 선택하여 선택 클록 신호를 제공하는 선택부, 상기 선택 클록 신호의 주파수를 측정하여 검출 주파수를 제공하는 주파수 검출부, 및 상기 검출 주파수에 기초하여 상기 선택 클록 신호에 상응하는 동작 클록 신호의 주파수 이상 여부를 나타내는 인터럽트 신호를 발생하는 인터럽트 발생부를 포함할 수 있다.
메모리 장치(720) 및 저장 장치(730)는 모바일 기기(700)의 동작에 필요한 데이터들을 저장할 수 있다. 예를 들어, 메모리 장치(720)는 DRAM(dynamic random access memory) 장치, SRAM(static random access memory) 장치, 모바일 DRAM 장치 등과 같은 휘발성 메모리 장치에 상응할 수 있고, 저장 장치(730)는 EPROM(erasable programmable read-only memory) 장치, EEPROM(electrically erasable programmable read-only memory) 장치, 플래시 메모리(flash memory) 장치, PRAM(phase change random access memory) 장치, RRAM(resistance random access memory) 장치, NFGM(nano floating gate memory) 장치, PoRAM(polymer random access memory) 장치, MRAM(magnetic random access memory) 장치, FRAM(ferroelectric random access memory) 장치 등과 같은 비휘발성 메모리 장치에 상응할 수 있다. 실시예에 따라서, 저장 장치(730)는 솔리드 스테이트 드라이브(solid state drive; SSD), 하드 디스크 드라이브(hard disk drive; HDD), 씨디롬(CD-ROM) 등을 더 포함할 수도 있다.
복수의 기능 모듈들(740, 750, 760, 770)은 모바일 기기(700)의 다양한 기능들을 각각 수행할 수 있다. 예를 들어, 모바일 기기(700)는 통신 기능을 수행하기 위한 통신 모듈(740)(예를 들어, CDMA(code division multiple access) 모듈, LTE(long term evolution) 모듈, RF(radio frequency) 모듈, UWB(ultra wideband) 모듈, WLAN(wireless local area network) 모듈, WIMAX(worldwide interoperability for microwave access) 모듈 등), 카메라 기능을 수행하기 위한 카메라 모듈(750), 표시 기능을 수행하기 위한 디스플레이 모듈(760), 터치 입력 기능을 수행하기 위한 터치 패널 모듈(770) 등을 포함할 수 있다. 실시예에 따라서, 모바일 기기(700)는 GPS(global positioning system) 모듈, 마이크 모듈, 스피커 모듈, 자이로스코프(gyroscope) 모듈 등을 더 포함할 수 있다. 다만, 모바일 기기(700)에 구비되는 복수의 기능 모듈들(740, 750, 760, 770)의 종류는 그에 한정되지 않음은 자명하다.
전력 관리 장치(780)는 시스템 온 칩(710), 메모리 장치(720), 저장 장치(730) 및 복수의 기능 모듈들(740, 750, 760, 770)에 각각 구동 전압을 제공할 수 있다.
도 17은 도 15의 모바일 기기에서 사용되는 인터페이스의 일 예를 나타내는 블록도이다.
도 17을 참조하면, 모바일 기기(800)는 시스템 온 칩(802) 및 복수의 인터페이스들(811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823)을 포함한다. 실시예에 따라서, 모바일 기기(800)는 휴대폰(Mobile Phone), 스마트 폰(Smart Phone), 개인 정보 단말기(Personal Digital Assistant; PDA), 휴대형 멀티미디어 플레이어(Portable Multimedia Player; PMP), 디지털 카메라(Digital Camera), 음악 재생기(Music Player), 휴대용 게임 콘솔(Portable Game Console), 네비게이션(Navigation) 시스템 등과 같은 임의의 모바일 시스템으로 구현될 수 있다.
시스템 온 칩(802)은 모바일 기기(800)의 전반적인 동작을 제어할 수 있다. 예를 들어, 시스템 온 칩(802)은 모바일 기기(800)에 구비되는 애플리케이션 프로세서(Application Processor; AP)일 수 있다.
시스템 온 칩(802)은 복수의 인터페이스들(811~823) 각각을 통하여 다수의 주변 장치들 각각과 통신할 수 있다. 예컨대, 복수의 인터페이스들(811~823) 각각은 각 전력 영역에 구현된 다수의 IP들 중에서 상응하는 IP로부터 출력된 적어도 하나의 제어 신호를 상기 다수의 주변 장치들 각각으로 전송할 수 있다.
예를 들어, 시스템 온 칩(802)은 각 디스플레이 인터페이스(811, 812)를 통하여 각 평판 디스플레이 장치(flat panel display)의 전력 상태와 동작 상태를 제어할 수 있다. 평판 디스플레이 장치는 LCD(liquid crystal device) 디스플레이, LED(light emitting diode) 디스플레이, OLED(Organic Light Emitting Diode) 디스플레이, 또는 AMOLED(Active Matrix Organic Light-Emitting Diode) 디스플레이를 포함할 수 있다.
시스템 온 칩(802)은 캠코더 인터페이스(813)를 통하여 캠코더의 전력 상태와 동작 상태를 제어할 수 있고, TV 인터페이스(814)를 통하여 TV 모듈의 전력 상태와 동작 상태를 제어할 수 있고, 이미지 센서 인터페이스(815)를 통하여 카메라 모듈 또는 이미지 센서 모듈의 전력 상태와 동작 상태를 제어할 수 있다.
시스템 온 칩(802)은 GPS 인터페이스(816)를 통하여 GPS 모듈의 전력 상태와 동작 상태를 제어할 수 있고, UWB 인터페이스(817)를 통하여 UWB(ultra wideband) 모듈의 전력 상태와 동작 상태를 제어할 수 있고, USB 드라이브 인터페이스(818)를 통하여 USB 드라이브의 전력 상태와 동작 상태를 제어할 수 있다.
시스템 온 칩(802)은 DRAM 인터페이스(dynamic random access memory interface; 819)를 통하여 DRAM의 전력 상태와 동작 상태를 제어할 수 있고, 비휘발성 메모리 인터페이스(820), 예컨대 플래시 메모리 인터페이스를 통하여 비휘발성 메모리, 예컨대 플래시 메모리의 전력 상태와 동작 상태를 제어할 수 있고, 오디오 인터페이스(821)를 통하여 오디오 모듈의 전력 상태와 동작 상태를 제어할 수 있고, MFC 인터페이스(822)를 통하여 MFC의 전력 상태를 제어할 수 있고, MP3 플레이어 인터페이스(823)를 통하여 MP3플레이어의 전력 상태를 제어할 수 있다. 여기서 모듈(module) 또는 인터페이스는 하드웨어 또는 소프트웨어로 구현될 수 있다.
시스템 온 칩(802)은 도 1의 집적 회로(10)일 수 있으며, 중앙 처리 유닛(804) 및 전력 관리 시스템(806)을 포함할 수 있다. 전력 관리 시스템(806)은 본 발명의 실시예들에 따른 클록 모니터(CM)(60)를 포함할 수 있다. 클록 모니터(60)는, 전술한 바와 같이, 시스템 온 칩(802) 내의 기능 블록들에 각각 제공되는 복수의 동작 클록 신호들 중에서 하나를 선택하여 선택 클록 신호를 제공하는 선택부, 상기 선택 클록 신호의 주파수를 측정하여 검출 주파수를 제공하는 주파수 검출부, 및 상기 검출 주파수에 기초하여 상기 선택 클록 신호에 상응하는 동작 클록 신호의 주파수 이상 여부를 나타내는 인터럽트 신호를 발생하는 인터럽트 발생부를 포함할 수 있다.
도 18은 본 발명의 실시예들에 따른 휴대용 단말기를 나타내는 블록도이다.
도 18을 참조하면, 휴대용 단말기(1000)는 이미지 처리부(1100), 무선 송수신부(1200), 오디오 처리부(1300), 이미지 파일 생성부(1400), 메모리 장치(1500), 유저 인터페이스(1600), 애플리케이션 프로세서(1700) 및 전력 관리 장치(1800)를 포함한다.
이미지 처리부(1100)는 렌즈(1110), 이미지 센서(1120), 이미지 프로세서(1130) 및 디스플레이부(1140)를 포함한다. 무선 송수신부(1200)는 안테나(1210), 트랜시버(1220) 및 모뎀(1230)을 포함한다. 오디오 처리부(1300)는 오디오 프로세서(1310), 마이크(1320) 및 스피커(1330)를 포함한다.
휴대용 단말기(1000)에는 다양한 종류의 반도체 장치들이 포함될 수 있으며, 특히 애플리케이션 프로세서(1700)의 저전력, 고성능이 요구될 수 있다. 이러한 요구에 따라 애플리케이션 프로세서(1700)는 미세화 공정에 따라 멀티 코어 형태로 제공되기도 한다. 애플리케이션 프로세서(1700)는 도 1의 집적 회로(10)일 수 있으며, 중앙 처리 유닛(1702) 및 전력 관리 시스템(1704)을 포함할 수 있다. 전력 관리 시스템(1704)은 본 발명의 실시예들에 따른 클록 모니터(CM)(60)를 포함할 수 있다. 클록 모니터(60)는, 전술한 바와 같이, 애플리케이션 프로세서(1700) 내의 기능 블록들에 각각 제공되는 복수의 동작 클록 신호들 중에서 하나를 선택하여 선택 클록 신호를 제공하는 선택부, 상기 선택 클록 신호의 주파수를 측정하여 검출 주파수를 제공하는 주파수 검출부, 및 상기 검출 주파수에 기초하여 상기 선택 클록 신호에 상응하는 동작 클록 신호의 주파수 이상 여부를 나타내는 인터럽트 신호를 발생하는 인터럽트 발생부를 포함할 수 있다.
전력 관리 장치(780)는 이미지 처리부(1100), 무선 송수신부(1200), 오디오 처리부(1300), 이미지 파일 생성부(1400), 메모리 장치(1500), 유저 인터페이스(1600), 애플리케이션 프로세서(1700)에 각각 구동 전압을 제공할 수 있다.
이상 설명한 바와 같이, 본 발명의 실시예들에 따른 클록 모니터 및 이를 포함하는 시스템 온 칩은 공통의 하드웨어를 이용하여 복수의 동작 클록 신호들을 모니터링함으로써 시스템의 사이즈를 과도하게 증가시키지 않으면서 시스템의 성능을 향상시킬 수 있다. 또한 본 발명의 실시예들에 따른 클록 모니터 및 이를 포함하는 시스템 온 칩은 DVFS 기법에 따른 전력 레벨의 변화를 반영하여 동작 클록 신호들을 더욱 정밀하게 모니터링할 수 있다. 또한 본 발명의 실시예들에 따른 클록 모니터 및 이를 포함하는 시스템 온 칩은 동작 클록 신호의 주파수를 분주하여 분주된 클록 신호의 클록 수를 카운팅함으로써 동작 클록 신호의 주파수가 높은 경우에도 효율적인 모니터링을 수행할 수 있다.
본 발명의 실시예들에 따른 클록 모니터 및 이를 포함하는 시스템 온 칩은 전력 소모를 감소하고 시스템의 성능을 향상하기 위하여 유용하게 이용될 수 있다. 특히 고속으로 동작하고 전력 감소가 요구되는 메모리 카드, 솔리드 스테이트 드라이브(Solid State Drive; SSD), 컴퓨터(computer), 노트북(laptop), 핸드폰(cellular), 스마트폰(smart phone), MP3 플레이어, 피디에이(Personal Digital Assistants; PDA), 피엠피(Portable Multimedia Player; PMP), 디지털 TV, 디지털 카메라, 포터블 게임 콘솔(portable game console) 등과 같은 전자 기기에 더욱 유용하게 적용될 수 있다.
상기에서는 본 발명이 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.
61: 선택부
63: 주파수 검출부
65: 인터럽트 발생부
210: 주파수 분주기
220: 인에이블 신호 발생기
230: 클록 카운터
240: 검출 주파수 계산기
310: 저장부
320: 기준 주파수 계산기
330: 비교기
OCK: 동작 클록 신호
SCK: 선택 클록 신호
DCK: 분주 클록 신호
RCK: 기준 클록 신호
CEN: 카운트 인에이블 신호
FDET: 검출 주파수
FIMP: 구현 주파수
FREF: 기준 주파수
INTR: 인터럽트 신호
63: 주파수 검출부
65: 인터럽트 발생부
210: 주파수 분주기
220: 인에이블 신호 발생기
230: 클록 카운터
240: 검출 주파수 계산기
310: 저장부
320: 기준 주파수 계산기
330: 비교기
OCK: 동작 클록 신호
SCK: 선택 클록 신호
DCK: 분주 클록 신호
RCK: 기준 클록 신호
CEN: 카운트 인에이블 신호
FDET: 검출 주파수
FIMP: 구현 주파수
FREF: 기준 주파수
INTR: 인터럽트 신호
Claims (10)
- 복수의 기능 블록들에 각각 제공되는 복수의 동작 클록 신호들 중에서 하나를 선택하여 선택 클록 신호를 제공하는 선택부;
상기 선택 클록 신호의 주파수를 측정하여 검출 주파수를 제공하는 주파수 검출부; 및
상기 검출 주파수에 기초하여 상기 선택 클록 신호에 상응하는 동작 클록 신호의 주파수 이상 여부를 나타내는 인터럽트 신호를 발생하는 인터럽트 발생부를 포함하는 클록 모니터. - 제1 항에 있어서, 상기 선택부는,
동작 클록 선택 신호에 응답하여 상기 동작 클록 신호들 중에서 하나를 상기 선택 클록 신호로서 출력하는 멀티플렉서를 포함하는 것을 특징으로 하는 클록 모니터. - 제1 항에 있어서,
상기 주파수 검출부 및 상기 인터럽트 발생부는 상기 동작 클록 신호들의 주파수 이상 여부를 순차적으로 모니터링하도록 상기 동작 클록 신호들에 대하여 공통으로 사용되는 것을 특징으로 하는 클록 모니터. - 제1 항에 있어서,
상기 주파수 검출부는 상기 검출 주파수를 제공하기 위하여 상기 선택 클록 신호의 주파수를 분주하는 것을 특징으로 하는 클록 모니터. - 제1 항에 있어서,
상기 인터럽트 발생부는 상기 선택 클록 신호에 상응하는 기능 블록의 전력 레벨을 반영하여 상기 선택 클록 신호에 상응하는 동작 클록 신호의 주파수 이상 여부를 판단하는 것을 특징으로 하는 클록 모니터. - 제1 항에 있어서, 상기 주파수 검출부는,
상기 선택 클록 신호의 주파수를 분주하여 분주 클록 신호를 발생하는 주파수 분주기;
기준 클록 신호에 기초하여 카운트 인에이블 신호를 발생하는 카운트 인에이블 신호 발생기;
상기 카운트 인에이블 신호의 활성화 시간 동안 상기 분주 클록 신호의 클록 수를 카운트하여 카운트 값을 제공하는 클록 카운터; 및
상기 카운트 값에 기초하여 상기 검출 주파수를 계산하는 검출 주파수 계산기를 포함하는 것을 특징으로 하는 클록 모니터. - 제6 항에 있어서,
상기 주파수 분주기는 적어도 하나의 플립플롭을 이용하여 상기 선택 클록 신호의 주파수를 분주한 적어도 하나의 클록 신호를 발생하는 것을 특징으로 하는 클록 모니터. - 제6 항에 있어서,
상기 검출 주파수 계산기는 하기의 수학식에 따라서 상기 검출 주파수를 계산하는 것을 특징으로 하는 클록 모니터.
Fd=Fr*S*N/T
여기서, Fd는 상기 선택 클록 신호에 상응하는 동작 클록 신호의 검출 주파수, Fr은 상기 기준 클록 신호의 주파수, S는 상기 주파수 분주기의 분주비, N은 상기 카운트 값, T는 상기 카운트 인에이블 신호의 활성화 시간임. - 제1 항에 있어서, 상기 인터럽트 발생부는,
상기 동작 클록 신호들에 각각 상응하는 구현 주파수의 값들 및 상기 기능 블록들의 전력 레벨들에 각각 상응하는 보정 값들을 저장하는 저장부;
상기 저장부로부터 상기 선택 클록 신호에 상응하는 구현 주파수 및 보정 값을 추출하고, 상기 추출된 구현 주파수 및 상기 추출된 보정 값에 기초하여 기준 주파수를 계산하는 기준 주파수 계산기; 및
상기 기준 주파수와 상기 검출 주파수를 비교하여 상기 인터럽트 신호를 발생하고, 상기 검출 주파수가 상기 기준 주파수보다 클 때 상기 인터럽트 신호를 활성화하는 비교기를 포함하는 것을 특징으로 하는 클록 모니터. - 각각의 고유 기능들을 수행하는 복수의 기능 블록들;
상기 기능 블록들에 각각 제공되는 복수의 동작 클록 신호들을 발생하는 클록 제어부;
상기 동작 클록 신호들의 주파수들을 모니터링하여 인터럽트 신호를 발생하는 클록 모니터; 및
상기 인터럽트 신호에 기초하여 상기 동작 클록 신호들의 주파수들을 제어하는 프로세서를 포함하고,
상기 클록 모니터는,
상기 동작 클록 신호들 중에서 하나를 선택하여 선택 클록 신호를 제공하는 선택부;
상기 선택 클록 신호의 주파수를 측정하여 검출 주파수를 제공하는 주파수 검출부; 및
상기 검출 주파수에 기초하여 상기 선택 클록 신호에 상응하는 동작 클록 신호의 주파수 이상 여부를 나타내는 상기 인터럽트 신호를 발생하는 인터럽트 발생부를 포함하는 시스템 온 칩.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140111545A KR102161821B1 (ko) | 2014-08-26 | 2014-08-26 | 클록 모니터 및 이를 포함하는 시스템 온 칩 |
US14/692,771 US9391615B2 (en) | 2014-08-26 | 2015-04-22 | Clock monitor and system on chip including the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140111545A KR102161821B1 (ko) | 2014-08-26 | 2014-08-26 | 클록 모니터 및 이를 포함하는 시스템 온 칩 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160024581A KR20160024581A (ko) | 2016-03-07 |
KR102161821B1 true KR102161821B1 (ko) | 2020-10-06 |
Family
ID=55403759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140111545A KR102161821B1 (ko) | 2014-08-26 | 2014-08-26 | 클록 모니터 및 이를 포함하는 시스템 온 칩 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9391615B2 (ko) |
KR (1) | KR102161821B1 (ko) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9690727B2 (en) * | 2014-10-31 | 2017-06-27 | Atmel Corporation | System internal latency measurements in realtime applications |
JP6589375B2 (ja) * | 2015-05-27 | 2019-10-16 | セイコーエプソン株式会社 | タイミング信号生成装置、電子機器および移動体 |
JP2017199104A (ja) * | 2016-04-26 | 2017-11-02 | ソニー株式会社 | 半導体装置および半導体装置の制御方法 |
US10514401B2 (en) * | 2017-08-02 | 2019-12-24 | Qualcomm Incorporated | On-chip frequency monitoring |
US10795783B2 (en) | 2017-10-16 | 2020-10-06 | Microchip Technology Incorporated | Fault tolerant clock monitor system |
KR102640922B1 (ko) | 2018-03-05 | 2024-02-27 | 삼성전자주식회사 | 동작 상태에 따라 기능 모듈들을 저전력 상태로 제어하는 집적 회로, 전자 장치 및 그 제어 방법 |
US11042181B2 (en) * | 2018-11-01 | 2021-06-22 | Siemens Industry Software Inc. | Local clock injection and independent capture for circuit test of multiple cores in clock mesh architecture |
US11327525B1 (en) * | 2020-12-18 | 2022-05-10 | Qualcomm Incorporated | Clock monitoring unit with serial clock routing pipeline |
CN114094537B (zh) * | 2021-11-15 | 2023-03-24 | 珠海海奇半导体有限公司 | 带时钟数字接口的热插拔保护电路、检测方法、器件及应用 |
TWI779930B (zh) * | 2021-11-18 | 2022-10-01 | 新唐科技股份有限公司 | 時脈監控電路、微控制器,及其控制方法 |
CN114528998B (zh) * | 2022-01-26 | 2023-05-12 | 山东浪潮科学研究院有限公司 | 用于量子测控***的多板卡信号同步方法、设备及介质 |
US12019509B2 (en) * | 2022-11-10 | 2024-06-25 | Qualcomm Incorporated | Switching processor clock signals upon fault detection |
KR20240083703A (ko) * | 2022-12-05 | 2024-06-12 | 삼성전자주식회사 | 클럭 모니터링 회로 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020147932A1 (en) | 2001-04-05 | 2002-10-10 | International Business Machines Corporation | Controlling power and performance in a multiprocessing system |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5619155A (en) | 1995-06-02 | 1997-04-08 | United Microelectronics Corporation | IC-chip operation inhibitor |
SE506739C2 (sv) * | 1995-09-29 | 1998-02-09 | Ericsson Telefon Ab L M | Drift och underhåll av klockdistributionsnät med redundans |
US6385735B1 (en) | 1997-12-15 | 2002-05-07 | Intel Corporation | Method and apparatus for limiting processor clock frequency |
KR19990060348A (ko) | 1997-12-31 | 1999-07-26 | 윤종용 | 자체클럭을 이용한 클럭 감시회로 |
US6091255A (en) * | 1998-05-08 | 2000-07-18 | Advanced Micro Devices, Inc. | System and method for tasking processing modules based upon temperature |
KR100336459B1 (ko) | 1999-11-29 | 2002-05-15 | 김덕중 | 로봇의 오프-라인 제어 방법 |
JP2002055130A (ja) | 2000-08-14 | 2002-02-20 | Nec Microsystems Ltd | 周波数判定回路、データ処理装置 |
KR20020053492A (ko) | 2000-12-27 | 2002-07-05 | 박종섭 | 주파수 검출기 |
JP4033066B2 (ja) | 2003-05-07 | 2008-01-16 | ソニー株式会社 | 周波数制御装置、情報処理装置、周波数制御方法及びプログラム |
JP2006031133A (ja) | 2004-07-13 | 2006-02-02 | Toshiba Corp | 半導体装置 |
JP2006172202A (ja) | 2004-12-16 | 2006-06-29 | Nec Electronics Corp | 半導体装置 |
JP4463115B2 (ja) | 2005-01-04 | 2010-05-12 | 株式会社ルネサステクノロジ | 半導体装置 |
US7567054B2 (en) * | 2006-03-01 | 2009-07-28 | Media Tek Inc. | Control circuit and method of controlling rotation frequency of spindle in optical disc drive for reducing frequency difference of output signals respectively corresponding to different disc rotation modes |
US20080122491A1 (en) * | 2006-09-20 | 2008-05-29 | Chien-Wei Kuan | Frequency comparator, frequency synthesizer, and related methods thereof |
JP2009026199A (ja) | 2007-07-23 | 2009-02-05 | Auto Network Gijutsu Kenkyusho:Kk | クロック周波数制御方法及びコンピュータプログラム |
WO2009031060A2 (en) * | 2007-09-03 | 2009-03-12 | Nxp B.V. | Clock supervision unit |
US8868364B2 (en) * | 2011-04-29 | 2014-10-21 | Analog Devices, Inc. | Apparatus and method for real time harmonic spectral analyzer |
JP5660000B2 (ja) | 2011-10-18 | 2015-01-28 | 株式会社デンソー | 周波数測定装置 |
-
2014
- 2014-08-26 KR KR1020140111545A patent/KR102161821B1/ko active IP Right Grant
-
2015
- 2015-04-22 US US14/692,771 patent/US9391615B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020147932A1 (en) | 2001-04-05 | 2002-10-10 | International Business Machines Corporation | Controlling power and performance in a multiprocessing system |
Also Published As
Publication number | Publication date |
---|---|
US9391615B2 (en) | 2016-07-12 |
KR20160024581A (ko) | 2016-03-07 |
US20160065215A1 (en) | 2016-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102161821B1 (ko) | 클록 모니터 및 이를 포함하는 시스템 온 칩 | |
US11561600B2 (en) | Application processor, mobile device having the same, and method of selecting a clock signal for an application processor | |
US9541992B2 (en) | Method of performing dynamic voltage and frequency scaling operation, application processor performing method, and mobile device comprising application processor | |
KR102190453B1 (ko) | 전력 관리 장치 및 이를 포함하는 시스템 온 칩 | |
US8928385B2 (en) | Methods of controlling clocks in system on chip including function blocks, systems on chips and semiconductor systems including the same | |
US9876491B2 (en) | Apparatus, system, and method for re-synthesizing a clock signal | |
US10042731B2 (en) | System-on-chip having a symmetric multi-processor and method of determining a maximum operating clock frequency for the same | |
KR101748747B1 (ko) | 프로세서의 구성가능한 피크 성능 제한들의 제어 | |
US9880608B2 (en) | Application processor for adjusting clock signal using hardware power management unit and devices including the same | |
US20160359476A1 (en) | Method for reduced power clock frequency monitoring | |
JP2018511869A (ja) | グリッチフリークロック切替えのための装置、方法、およびシステム | |
US8134389B2 (en) | Programmable frequency divider | |
US9671847B2 (en) | Semiconductor device employing closed loop and open loop DVFS control and semiconductor system including the same | |
KR20170046504A (ko) | 디스큐 기능을 갖는 클락 발생 회로 및 상기 회로를 포함하는 반도체 집적회로 장치 | |
US11256287B2 (en) | Apparatus and method to maintain stable clocking | |
US9190991B2 (en) | Apparatus, system, and method for re-synthesizing a clock signal | |
US9983617B2 (en) | Integrated circuit and computing device having the same | |
US20140136861A1 (en) | Data request pattern generating device and electronic device having the same | |
JP6483099B2 (ja) | チャージポンプの電力を低減する装置 | |
US20140152372A1 (en) | Semiconductor integrated circuit and method of operating the same | |
US8310291B2 (en) | DLL having a different training interval during a voltage change | |
US9294103B2 (en) | Pre-program of clock generation circuit for faster lock coming out of reset | |
JP2023093336A (ja) | チューナブル複製回路を用いる自動オン・ダイ周波数チューニング |
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 |