KR101835615B1 - 시스템 온 칩, 이를 포함하는 장치들, 및 상기 시스템 온 칩의 전력 제어 방법 - Google Patents

시스템 온 칩, 이를 포함하는 장치들, 및 상기 시스템 온 칩의 전력 제어 방법 Download PDF

Info

Publication number
KR101835615B1
KR101835615B1 KR1020110043094A KR20110043094A KR101835615B1 KR 101835615 B1 KR101835615 B1 KR 101835615B1 KR 1020110043094 A KR1020110043094 A KR 1020110043094A KR 20110043094 A KR20110043094 A KR 20110043094A KR 101835615 B1 KR101835615 B1 KR 101835615B1
Authority
KR
South Korea
Prior art keywords
power
state
finite state
control
cluster
Prior art date
Application number
KR1020110043094A
Other languages
English (en)
Other versions
KR20110123698A (ko
Inventor
이재곤
조장호
박봉일
김광호
신택균
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US13/103,535 priority Critical patent/US8726047B2/en
Priority to CN201110118818.XA priority patent/CN102270030B/zh
Priority to JP2011104665A priority patent/JP5875782B2/ja
Priority to DE102011050218.1A priority patent/DE102011050218B8/de
Publication of KR20110123698A publication Critical patent/KR20110123698A/ko
Application granted granted Critical
Publication of KR101835615B1 publication Critical patent/KR101835615B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

집적 회로 장치가 개시된다. 상기 집적 회로 장치는 복수의 전력 영역 블록들과, 코어와, 상기 코어의 제어에 응답하여 복수의 전력 영역 블록들에 공급되는 전력을 독립적으로 제어하는 전력 제어 회로를 포함한다. 상기 전력 제어 회로는 복수의 전력 영역 블록들에 각각 대응하는 복수의 전력 클러스터들과 중앙 클러스터를 포함한다. 각 전력 클러스터는 코어의 제어에 응답하여 상기 복수의 전력 영역 블록들 중에서 대응하는 전력 영역 블록에 공급되는 전력을 독립적으로 제어한다. 상기 중앙 클러스터는 상기 코어의 제어에 응답하여 상기 복수의 전력 클러스터들의 동작 순서를 제어한다.

Description

시스템 온 칩, 이를 포함하는 장치들, 및 상기 시스템 온 칩의 전력 제어 방법{SYSTEM ON CHIP, DEVICES HAVING THE SAME, AND METHOD FOR POWER CONTROL OF THE SoC}
본 발명의 개념에 따른 실시 예는 전력 제어 기술(power management technology)에 관한 것으로, 특히 각각의 유한 상태 머신(finite state machine)에 설정된 환경설정 레지스터 값들(configuration register values)에 따라 각각의 전력 영역(power domain)의 전력 상태(power state)와 동작 상태(operation state)를 독립적으로 제어할 수 있는 SoC, 이를 포함하는 장치들, 및 상기 SoC의 전력 제어 방법에 관한 것이다.
반도체 제조 기술의 발전과 함께, 하나의 집적 회로에 제공될 수 있는 소자의 수가 증가하고 있다. 하나의 집적 회로에 제공될 수 있는 소자의 수가 증가하면서, 메모리, 프로세서, 또는 전압 제어 회로 등과 같은 구성 요소들이 하나의 집적 회로에 집적되고 있다.
이와 같이, 상기 메모리, 상기 프로세서, 또는 상기 전원 제어 회로 등과 같이 하나의 시스템을 구성하는 다양한 구성 요소들이 하나의 집적 회로에 집적된 시스템은 시스템-온-칩(System-on-Chip, SoC)이라 불린다. 시스템-온-칩(SoC)은 하나의 칩으로 구성되므로, 종래의 시스템보다 적은 면적을 차지하며 적은 전력을 소모한다.
반도체 제조 기술의 발전과 함께 하나의 집적 회로, 예컨대 시스템 온 칩 (system on chip(SoC))에 집적될 수 있는 IP들(intellectual properties)의 수가 증가하고 있다. 따라서 배터리를 전원(power)으로 사용하며 SoC를 포함하는 전자 장치에서 소모되는 전력을 제어하는 방법이 연구되고 있다.
본 발명이 이루고자 하는 기술적인 과제는 면적이 감소하며 복잡도가 감소하는 집적 회로 장치를 제공하는 데에 있다.
본 발명이 이루고자 하는 다른 기술적인 과제는 다수의 전력 영역들을 포함하되, 다수의 유한 상태 머신들 각각에 설정된 환경설정 레지스터 값들에 따라 상기 다수의 전력 영역들 각각의 전력 상태와 동작 상태를 독립적으로 제어할 수 있는 SoC, 이를 포함하는 장치들, 및 상기 SoC의 전력 제어 방법을 제공하는 것이다.
본 발명의 실시 예에 따른 집적 회로 장치는 복수의 전력 영역 블록들과, 코어와, 상기 코어의 제어에 응답하여 상기 복수의 전력 영역 블록들에 공급되는 전력을 독립적으로 제어하도록 구성되는 전력 제어 회로를 포함한다. 상기 전력 제어 회로는 상기 복수의 전력 영역 블록들에 각각 대응하는 복수의 전력 클러스터들과 중앙 클러스터를 포함하고, 각 전력 클러스터는 상기 코어의 제어에 응답하여 상기 복수의 전력 영역 블록들 중 대응하는 전력 영역 블록에 공급되는 전력을 독립적으로 제어하도록 구성되고, 상기 중앙 클러스터는 상기 코어의 제어에 응답하여 상기 복수의 전력 클러스터들의 동작 순서를 제어하도록 구성된다.
실시 예로서, 상기 복수의 전력 클러스터들 중 특정 전력 클러스터는 상기 코어의 제어에 응답하여 상기 복수의 전력 영역 블록들 중 상기 특정 전력 클러스터에 대응하는 특정 전력 영역 블록에 공급되는 전력을 차단하도록 구성된다.
실시 예로서, 상기 특정 전력 클러스터는 상기 코어의 제어 하에 상기 특정 전력 영역 블록의 전력 공급을 재개하도록 구성된다.
실시 예로서, 상기 전력 제어 회로는 상기 코어에 공급되는 전력을 제어하도록 구성되는 코어 전력 클러스터를 더 포함하고, 상기 중앙 클러스터의 제어에 응답하여, 상기 복수의 전력 클러스터들 및 상기 코어 전력 클러스터는 상기 복수의 전력 영역 블록들 및 상기 코어에 공급되는 전력을 순차적으로 차단하도록 구성된다.
실시 예로서, 상기 중앙 클러스터는 상기 복수의 전력 영역 블록들 및 상기 코어 중 액세스 권한이 높은 전력 영역 블록에 대응하는 전력 클러스터를 다른 전력 클러스터들 보다 먼저 제어하도록 구성된다.
실시 예로서, 상기 중앙 클러스터의 제어에 응답하여, 상기 복수의 전력 클러스터들 및 상기 코어 전력 클러스터는 상기 복수의 전력 영역 블록들 및 상기 코어의 전력 공급을 순차적으로 재개하도록 구성된다.
실시 예로서, 상기 복수의 전력 영역 블록들 및 상기 코어의 전력 공급이 재개되는 순서는 상기 복수의 전력 영역 블록들 및 상기 코어의 전력 공급이 차단되는 순서의 역순이다.
실시 예로서, 상기 복수의 전력 클러스터들 중 특정 전력 클러스터에 상기 코어로부터 제 1 제어 신호가 전달되고, 그리고 상기 중앙 클러스터로부터 상기 특정 전력 클러스터에 제 2 제어 신호가 전달될 때, 상기 특정 전력 클러스터는 상기 제 2 제어 신호에 대한 응답 신호를 상기 중앙 클러스터에 전송하되, 상기 제 2 제어 신호를 무시하도록 구성된다.
실시 예로서, 상기 전력 제어 회로는 상기 복수의 전력 영역 블록들에 각각 대응하며, 상기 코어의 제어에 응답하여 상기 복수의 전력 영역 블록들에 공급되는 클럭을 독립적으로 제어하도록 구성되는 복수의 클럭 클러스터들을 더 포함하고, 상기 중앙 클러스터는 상기 코어의 제어에 응답하여 상기 복수의 클럭 클러스터들의 동작 순서를 제어하도록 구성된다.
실시 예로서, 상기 전력 제어 회로의 제어 하에, 상기 복수의 전력 영역 블록들 중 특정 전력 영역 블록에 공급되는 클럭이 차단된 후에 상기 특정 전력 영역 블록에 공급되는 전력이 차단된다.
본 발명의 실시예에 따른 SoC(System on Chip)는 각각이 다수의 IP들 (intellectual properities)을 포함하는 다수의 전력 영역들과, 각각이 그 안에(therein) 구현된 레지스터에 설정된 레지스터 값들에 따라 상기 다수의 전력 영역들 각각의 전력 상태와 동작 상태를 독립적으로 제어하는 다수의 유한 상태 머신들(finite state machines)을 포함하는 전력 제어 유닛과, 그 안에 포함된 중앙 환경설정 레지스터에 설정된 적어도 하나의 중앙 환경설정 레지스터 값에 따라 상기 다수의 유한 상태 머신들 각각의 활성화 순서 또는 활성화 여부를 결정하는 중앙 순서기(central sequencer)를 포함한다.
상기 다수의 유한 상태 머신들 각각은 다수의 상태들을 포함하며, 상기 다수의 상태들 각각의 활성화(activation) 순서 또는 활성화 여부는 상기 레지스터 값들에 따라 결정된다.
상기 다수의 유한 상태 머신들 각각은 각각이 상기 전력 상태와 상기 동작 상태를 독립적으로 제어하는 다수의 서브-유한 상태 머신들과, 그 안에 설정된 상기 레지스터 값들에 따라 상기 다수의 서브-유한 상태 머신들 각각의 활성화 순서 또는 활성화 여부를 결정하는 메인 상태 머신을 포함한다.
상기 SoC는 상기 다수의 전력 영역들 각각에 포함된 상기 IP들 각각의 동작을 감시하고, 감시 결과에 따라 상기 다수의 전력 영역들 중에서 제어될 전력 영역에 대한 상기 레지스터 값들을 생성하는 CPU를 더 포함한다.
상기 중앙 순서기에 의하여 독립적으로 제어되는 상기 다수의 전력 영역들 각각의 최종 상태(final state)는 서로 동일하다.
상기 다수의 유한 상태 머신들 각각은 전력 영역 단위로 파워-업 상태, 파워-다운 상태, 파워-업 시퀀스, 또는 파워-다운 시퀀스로 정의된 상기 전력 상태를 제어하고, IP 단위로 상기 동작 상태를 제어한다.
상기 SoC는 각각이 상기 다수의 전력 영역들 사이에 접속된 다수의 분리 회로들(isolation circuits)을 더 포함하며, 상기 다수의 분리 회로들 각각은 상기 다수의 유한 상태 머신들 각각에 저장된 상기 레지스터 값들에 따라 접속 또는 분리된다.
상기 다수의 유한 상태 머신들 각각은 상기 전력 상태를 결정하기 위한 제1서브-유한 상태 머신과, 상기 동작 상태를 결정하기 위한 제2서브-유한 상태 머신을 포함하며, 상기 다수의 전력 영역들 각각은 전력 공급 회로로부터 출력된 다수의 전력들 중에서 대응되는 전력을 공급하는 파워 라인과, 그 안에 포함된 다수의 IP들이 접속된 공통 파워 라인과, 각각이 상기 파워 라인과 상기 공통 파워 라인 사이에 접속되고 상기 제1서브-유한 상태 머신의 제어에 따라 스위칭되는 다수의 제1스위치들과, 클락 제어 유닛으로부터 출력된 다수의 클락 신호들 각각을 그 안에 포함된 상기 다수의 IP들 각각으로 공급하기 위한 다수의 제2스위치들을 포함하며, 상기 다수의 제1스위치들 각각의 스위칭 여부는 상기 제1서브-유한 상태 머신에 저장된 제1스위치 레지스터 값들에 따라 결정되고, 상기 다수의 제2스위치들 각각의 스위칭 여부는 상기 제2서브-유한 상태 머신에 저장된 제2스위치 레지스터 값들에 따라 결정된다.
상기 다수의 유한 상태 머신들 각각은 상기 동작 상태를 결정하기 위한 제3서브-유한 상태 머신을 더 포함하며, 상기 다수의 전력 영역들 각각은 그 안에 포함된 상기 다수의 IP들 각각에 구현된 제1데이터 저장 장치와 제2데이터 저장 장치를 포함하며, 상기 제1데이터 저장 장치에 저장된 데이터는 상기 제3서브-유한 상태 머신에 포함된 유지 레지스터 값에 의하여 발생한 유지(retention) 제어 신호에 따라 상기 제2데이터 저장 장치에 유지된다.
상기 다수의 유한 상태 머신들 각각은 상기 동작 상태를 결정하기 위한 제4서브-유한 상태 머신을 더 포함하며, 상기 다수의 전력 영역들 각각은 그 안에 포함된 상기 다수의 IP들 각각에 구현된 다수의 인터페이스들을 포함하며, 상기 다수의 인터페이스들 각각의 활성화 여부는 상기 제4서브-유한 상태 머신에 저장된 제어 레지스터 값들에 따라 결정된다.
상기 다수의 전력 영역들 중에서 어느 하나의 전력 영역은 제1코어와 제2코어를 포함하는 CPU를 포함하며, 상기 다수의 유한 상태 머신들 중에서 상기 어느 하나의 전력 영역을 제어할 수 있는 유한 상태 머신은 상기 제1코어의 상기 전력 상태와 리셋 여부를 제어할 수 있는 제1서브-유한 상태 머신과, 상기 제2코어의 상기 전력 상태와 리셋 여부를 제어할 수 있는 제2서브-유한 상태 머신을 포함한다.
본 발명의 다른 실시 예에 따른 SoC는 각각이 다수의 IP들(intellectual properities)을 포함하는 다수의 전력 영역들과, 각각이 그 안에(therein) 구현된 레지스터에 설정된 레지스터 값들에 따라 상기 다수의 전력 영역들 각각의 전력 상태와 동작 상태를 독립적으로 제어하는 다수의 유한 상태 머신들(finite state machines)을 포함하는 전력 제어 유닛과, 그 안에 포함된 중앙 환경설정 레지스터에 설정된 적어도 하나의 중앙 환경설정 레지스터 값에 따라 상기 다수의 유한 상태 머신들 각각의 활성화 순서 또는 활성화 여부를 결정하는 중앙 순서기와, 상기 다수의 유한 상태 머신들 중에서 리셋 기능을 수행할 수 있는 다수의 유한 상태 머신들 각각의 리셋 동작을 제어하는 리셋 순서기를 포함한다.
본 발명의 또 다른 실시 예에 따른 SoC는 각각이 다수의 IP들을 포함하는 다수의 전력 영역들과, 계층적으로 구현된 다수의 FSM들(finite state machines)을 포함하는 전력 제어 유닛을 포함하며, 상기 다수의 FSM들 중에서 자식 FSM들 각각의 활성화 순서 또는 활성화 여부는 상기 자식 FSM들 각각이 속하는 부모 FSM에 설정된 제1레지스터 값들에 따라 결정되고, 상기 자식 FSM들 각각에 속하는 손자 FSM들 각각의 활성화 순서 또는 활성화 여부는 상기 자식 FSM들 각각에 설정된 제2레지스터 값들에 따라 결정되고, 상기 손자 FSM들 각각은 상기 다수의 전력 영역들 각각에 포함된 상기 다수의 IP들 각각의 전력 상태와 동작 상태를 독립적으로 제어한다.
상기 손자 FSM들은 전력 영역 단위로 파워-업 상태, 파워-다운 상태, 파워-업 시퀀스 또는 파워-다운 시퀀스로 정의된 상기 전력 상태를 제어하는 제1FSM과, IP 단위로 클락 신호의 공급 여부로 정의된 상기 동작 상태를 제어하는 제2FSM을 포함한다.
상기 SoC는 상기 다수의 전력 영역들 각각에 포함된 상기 IP들 각각의 동작을 감시하고, 감시 결과에 따라 상기 다수의 전력 영역들 중에서 제어될 전력 영역에 대한 상기 제2레지스터 값들을 생성하는 CPU를 더 포함한다.
본 발명의 실시 예에 따른 전자 장치는 각각이 다수의 IP들을 포함하는 다수의 전력 영역들을 포함하는 SoC(System on Chip)와, 각각이 상기 다수의 IP들 각각의 제어에 따라 동작하는 다수의 주변 장치들을 포함한다.
상기 SoC는 각각이 그 안에(therein) 구현된 레지스터에 설정된 레지스터 값들에 따라 상기 다수의 전력 영역들 각각의 전력 상태와 동작 상태를 독립적으로 제어하는 다수의 유한 상태 머신들을 포함하는 전력 제어 유닛과, 그 안에 포함된 중앙 환경설정 레지스터에 설정된 적어도 하나의 중앙 환경설정 레지스터 값에 따라 상기 다수의 유한 상태 머신들 각각의 활성화 순서 또는 활성화 여부를 결정하는 중앙 순서기를 포함한다.
본 발명의 실시예에 따른 휴대용 통신 장치는 각각이 다수의 IP들을 포함하는 다수의 전력 영역들을 포함하는 SoC와, 상기 다수의 전력 영역들 중에서 어느 하나에 포함된 다수의 IP들 중에서 어느 하나의 IP의 제어에 따라 동작하는 디스플레이 장치와, 상기 다수의 전력 영역들 중에서 다른 하나에 포함된 다수의 IP들 중에서 어느 하나의 IP의 제어에 따라 동작하는 메모리 장치를 포함한다,
상기 SoC는 각각이 그 안에(therein) 구현된 레지스터에 설정된 레지스터 값들에 따라 상기 다수의 전력 영역들 각각의 전력 상태와 동작 상태를 독립적으로 제어하는 다수의 유한 상태 머신들을 포함하는 전력 제어 유닛과, 그 안에 포함된 중앙 환경설정 레지스터에 설정된 적어도 하나의 중앙 환경설정 레지스터 값에 따라 상기 다수의 유한 상태 머신들 각각의 활성화 순서 또는 활성화 여부를 결정하는 중앙 순서기를 포함한다.
본 발명의 실시 예에 따른 SoC의 전력 제어 방법은 각각이 다수의 IP들을 포함하는 다수의 전력 영역들 각각을 독립적으로 제어하는 다수의 유한 상태 머신들 중에서 어느 하나의 유한 상태 머신이 CPU에 의하여 생성된 환경설정 레지스터 값들을 수신하는 단계와, 상기 환경설정 레지스터 값들에 따라, 상기 어느 하나의 유한 상태 머신은 상기 다수의 전력 영역들 중에서 어느 하나의 전력 영역의 전력 상태를 제어하고 상기 어느 하나의 전력 영역에 포함된 적어도 두 개의 IP들 각각의 동작 상태를 독립적으로 제어하는 단계를 포함한다.
상기 SoC의 전력 제어 방법은 중앙 순서기의 중앙 환경설정 레지스터에 설정된 적어도 하나의 중앙 환경설정 레지스터 값에 따라 상기 다수의 유한 상태 머신들 각각의 활성화 순서 또는 활성화 여부를 결정하는 단계를 더 포함한다.
본 발명의 실시 예에 따른 집적 회로 장치의 전력 제어 회로는 전력 클러스터들과 중앙 클러스터로 구성된다. 따라서, 상기 집적 회로 장치의 상기 전력 제어 회로의 면적 및 복잡도가 감소하며, 적응성이 향상된다.
본 발명의 실시 예에 따른 다수의 전력 영역들을 포함하는 SoC는 다수의 유한 상태 머신들 각각에 설정된 환경설정 레지스터 값들에 따라 상기 다수의 전력 영역들 각각의 전력 상태와 동작 상태를 독립적으로 제어할 수 있는 효과가 있다. 따라서 상기 SoC는 낮은 설계 복잡도로 구현될 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 집적 회로 장치를 보여주는 블록도이다.
도 2는 도 1의 집적 회로 장치의 동작 방법을 보여주는 순서도이다.
도 3은 도 2에서 전원 영역 블록 단위로 절전 모드 또는 정상 모드로 진입하는 단계를 보여주는 순서도이다.
도 4는 도 1의 제 1 내지 제 n 전력 영역 블록들 중 하나의 전력 영역 블록을 보여주는 블록도이다.
도 5는 도 4의 전력 영역 블록을 제어하는 전력 클러스터의 동작 방법을 보여주는 상태도이다.
도 6은 도 2에서 전원 영역 블록 단위로 절전 모드 또는 정상 모드로 진입하는 단계의 다른 실시 예를 보여주는 순서도이다.
도 7은 도 2에서 중앙 클러스터를 제어하여 전력 영역 블록들의 전력 공급을 제어하는 단계를 보여주는 순서도이다.
도 8은 도 1의 중앙 클러스터의 동작 방법을 보여주는 상태도이다.
도 9는 도 2에서 중앙 클러스터를 제어하여 전력 영역 블록들의 전력 공급을 제어하는 단계의 다른 실시 예를 보여주는 순서도이다.
도 10은 본 발명의 다른 실시 예에 따른 집적 회로 장치를 보여주는 블록도이다.
도 11은 도 10의 전력 제어 회로의 동작 방법을 보여주는 상태도이다.
도 12는 본 발명의 실시 예에 따른 SoC의 블록도를 나타낸다.
도 13은 도 12에 도시된 제1전력 영역과 제1유한 상태 머신의 블록도를 나타낸다.
도 14는 도 12에 도시된 제2전력 영역의 블록도를 나타낸다.
도 15는 도 14에 도시된 데이터 저장 장치의 블록도를 나타낸다.
도 16은 도 12에 도시된 분리 회로의 블록도를 나타낸다.
도 17은 도 12에 도시된 제2유한 상태 머신의 블록도를 나타낸다.
도 18은 본 발명의 실시예에 따른 유한 상태 머신의 포괄적인 상태도 (generic state diagram)를 나타낸다.
도 19는 도 18에 도시된 상태도의 일 실시예에 따른 서브-셋(sub-set)을 나타낸다.
도 20은 도 18에 도시된 상태도의 다른 실시예에 따른 서브-셋을 나타낸다.
도 21은 도 18에 도시된 상태도의 또 다른 실시예에 따른 서브-셋을 나타낸다.
도 22는 도 18에 도시된 상태도의 또 다른 실시예에 따른 서브-셋을 나타낸다.
도 23은 도 18에 도시된 상태도의 또 다른 실시예에 따른 서브-셋을 나타낸다.
도 24는 리셋 동작(reset operation)을 수행할 수 있는 유한 상태 머신의 상태도를 나타낸다.
도 25는 도 12에 도시된 SoC의 동작을 설명하기 위한 플로우차트이다.
도 26은 계층적으로 구현된 다수의 유한 상태 머신들의 일 실시예를 개념적으로 나타낸다.
도 27은 계층적으로 구현된 다수의 유한 상태 머신들의 다른 실시예를 개념적으로 나타낸다.
도 28은 도 12에 도시된 SoC를 포함하는 전자 장치의 블록도를 나타낸다.
이하에서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부된 도면을 참조하여 설명하기로 한다. 동일한 구성 요소들은 동일한 참조 번호를 이용하여 인용될 것이다. 유사한 구성 요소들은 유사한 참조 번호들을 이용하여 인용될 것이다.
도 1은 본 발명의 실시 예에 따른 집적 회로 장치(100)를 보여주는 블록도이다. 도 1을 참조하면, 집적 회로 장치(100), 예컨대 SoC는 시스템 버스(110), 전력 공급 회로(120), 제1내지 제n전력 영역 블록들(131~13n), 그리고 전력 제어 회로 (140)를 포함한다.
시스템 버스(110)는 집적 회로 장치(100)의 구성 요소들 사이에 채널을 제공한다. 전력 공급 회로(120)는 외부로부터 전력을 수신한다. 전력 공급 회로(120)는 수신된 외부 전력을 내부 전력으로 변환하여 집적 회로 장치(100)의 구성 요소들에 제공하도록 구성된다.
제1내지 제n전력 영역 블록들(131~13n)은 각각 시스템 버스(110)에 연결된다. 제1내지 제n전력 영역 블록들(131~13n)은 각각 미리 설정된 동작을 수행하도록 구성된다. 예를 들면, 제1내지 제n전력 영역 블록들(131~13n)은 각각 코어, 입출력 인터페이스, 메모리, 클럭 발생기, 내부 인터페이스, 타이머, 파워-온 리셋 회로 등과 같은 다양한 구성 요소들 중 적어도 하나를 포함할 수 있다.
각 전력 영역 블록은 독립적으로 전원을 공급받는다. 예를 들면, 제k전력 영역 블록(13k, k는 n 보다 작거나 같은 양의 정수)은 다른 전력 영역 블록들과 상이한 전력 라인을 통해 전력을 공급받는다. 따라서, 제 k 전력 영역 블록(13k)에 공급되는 전력은 다른 전력 영역 블록들에 공급되는 전력과 독립적으로 제어될 수 있다. 즉, 제1내지 제n전력 영역 블록들(131~13n)은 각각 독립적으로 절전 모드 (sleep mode) 및 정상 모드(normal mode) 중 하나로 제어될 수 있다.
예시적으로, 제1내지 제n전력 영역 블록들 중 제i전력 영역 블록(i는 n보다 작은 양의 정수)은 제j전력 영역 블록(j는 n보다 작은 양의 정수)의 종속 전력 영역 블록일 수 있다. 예를 들면, 제i전력 영역 블록은 제j전력 영역 블록의 종속 전력 영역 블록일 수 있다. 제j전력 영역 블록에 전원이 공급될 때, 제i전력 영역 블록에 공급되는 전력은 다른 전력 영역 블록들과 독립적으로 제어될 것이다. 제j전력 영역 블록의 전력 공급이 차단될 때, 제i전력 영역 블록의 전력 공급은 함께 차단될 것이다.
예시적으로, 제1내지 제n전력 영역 블록들(131~13n) 중 적어도 하나의 전력 영역 블록은 전력 공급을 차단하는 것이 금지된 전력 영역 블록일 수 있다. 즉, 제1내지 제n전력 영역 블록들(131~13n) 중 적어도 하나의 전력 영역 블록은 절전 모드(sleep mode)를 갖지 않는 전력 영역 블록일 수 있다.
예시적으로, 제1전력 영역 블록(131)은 코어인 것으로 가정한다. 코어(131)는 집적 회로 장치(100)의 제반 동작을 제어하도록 구성된다. 예를 들면, 코어(131)는 ARM 프로세서일 것이다. 예를 들면, 제1내지 제n전력 영역 블록들 (131~13n) 중 적어도 두 개의 전력 영역 블록들이 각각 코어들일 수 있다. 이하에서, 참조 번호 131은 제1전력 영역 블록 또는 코어를 인용하도록 사용될 것이다.
예시적으로, 제2전력 영역 블록(132)은 입출력 인터페이스인 것으로 가정한다. 입출력 인터페이스(132)는 시스템 버스(110)에 연결된다. 입출력 인터페이스 (132)는 외부와 통신하기 위한 적어도 하나의 프로토콜을 포함할 것이다. 예를 들면, 입출력 인터페이스(132)는 USB(Universal Serial Bus) 프로토콜, MMC (multimedia card) 프로토콜, PCI (peripheral component interconnection) 프로토콜, PCI-E (PCI-express) 프로토콜, ATA (Advanced Technology Attachment) 프로토콜, Serial-ATA 프로토콜, Parallel-ATA 프로토콜, SCSI (small computer small interface) 프로토콜, ESDI (enhanced small disk interface) 프로토콜, 그리고 IDE (Integrated Drive Electronics) 프로토콜, Firewire 프로토콜, Ethernet 프로토콜 등과 같은 다양한 인터페이스 프로토콜들 중 적어도 하나에 기반하여 외부와 통신하도록 구성된다. 이하에서, 참조 번호 132는 제2전력 영역 블록 또는 입출력 인터페이스를 인용하도록 사용될 것이다.
전력 제어 회로(140)는 집적 회로 장치(100)에 공급되는 전력을 제어하도록 구성된다. 예를 들면, 전력 제어 회로(140)는 코어(131)의 제어에 응답하여 제1내지 제n전력 영역 블록들(131~13n)에 공급되는 전력을 독립적으로 제어하도록 구성된다. 예를 들면, 전력 제어 회로(140)는 제어 신호(CS)를 조절함으로써 제1내지 제n전력 영역 블록들(131~13n)에 공급되는 전력을 독립적으로 제어하도록 구성된다.
전력 제어 회로(140)는 제1내지 제n전력 클러스터들(141~14n) 및 중앙 클러스터(150)를 포함한다. 제1내지 제n전력 클러스터들(141~14n)은 제1내지 제n전력 영역 블록들(131~13n)에 각각 대응한다. 제1내지 제n전력 클러스터들(141~14n)은 코어(131) 또는 중앙 클러스터(150)의 제어에 응답하여 제1내지 제n전력 영역 블록들(131~13n)에 공급되는 전력을 각각 독립적으로 제어하도록 구성된다. 예시적으로, 제1내지 제n전력 클러스터들(141~14n)은 제어 신호(CS)를 조절함으로써 제1내지 제n전력 영역 블록들(131~13n)에 공급되는 전력을 각각 독립적으로 제어하도록 구성된다.
예시적으로, 시스템 버스(110)가 하나의 전력 영역 블록으로 구성될 때, 제1내지 제n전력 클러스터들(141~14n) 중 적어도 하나는 시스템 버스(110)에 대응할 것이다. 마찬가지로, 전력 공급 회로(120) 또는 클럭 발생 회로(미도시)에 대응하는 전력 클러스터 또한 제공될 수 있다.
예를 들면, 제k전력 클러스터(14k, k는 n과 같거나 그보다 작은 양의 정수)는 제k전력 영역 블록(13k)에 공급되는 전력을 독립적으로 제어한다. 제k전력 클러스터(14k)는 코어(131)의 제어에 응답하여 제k전력 영역 블록(13k)에 공급되는 전력을 차단 및 재개할 것이다.
중앙 클러스터(150)는 코어(131)의 제어에 응답하여 제1내지 제n전력 클러스터들(141~14n)의 동작 순서를 제어하도록 구성된다. 예를 들면, 중앙 클러스터 (150)는 코어(131)의 제어에 응답하여 제1내지 제n전력 클러스터들(141~14n)을 특정한 순서에 따라 순차적으로 활성화 또는 비활성화하도록 구성된다. 예를 들면, 중앙 클러스터(150)는 코어(131)의 제어에 응답하여 적어도 두 개의 전력 클러스터들을 동시에 제어할 것이다.
도 1에서, 전력 영역 블록들의 수 및 전력 클러스터들의 수는 각각 n개인 것으로 도시되어 있다. 그러나, 전력 영역 블록들의 수 및 전력 클러스터들의 수는 상이할 수 있다.
도 2는 도 1의 집적 회로 장치(100)의 동작 방법을 보여주는 순서도이다. 도 1 및 도 2를 참조하면, S110 단계에서, 적어도 하나의 전력 클러스터들을 제어함으로써, 적어도 하나의 전력 영역 블록의 전력 공급이 제어된다. 예를 들면, 코어(131)의 제어 하에, 적어도 하나의 전력 클러스터는 대응하는 적어도 하나의 전력 영역 블록에 공급되는 전력을 제어할 것이다. 예를 들면, 적어도 하나의 전력 클러스터의 제어 하에, 적어도 하나의 전력 영역 블록에 공급되는 전력이 차단되거나 재개될 것이다.
S120 단계에서, 중앙 클러스터(150)를 제어함으로써, 전력 영역 블록들의 전력 공급이 제어된다. 예를 들면, 중앙 클러스터(150)는 코어(131)의 제어에 응답하여 제1내지 제n전력 클러스터들(141~14n)을 순차적으로 제어할 것이다. 순차적으로 제어되는 제1내지 제n전력 클러스터들(141~14n)에 의해, 제1내지 제n전력 영역 블록(131~13n)에 공급되는 전력이 순차적으로 제어될 것이다. 예를 들면, 제1내지 제n전력 영역 블록(131~13n)에 공급되는 전력이 차단되거나 재개될 것이다.
S110 단계는 집적 회로 장치(100)가 전원 영역 블록 단위로 절전 모드(sleep mode) 또는 정상 모드(normal mode)로 진입할 때 수행될 것이다. S120 단계는 집적 회로 장치(100)가 시스템 레벨에서(예를 들면, 집적 회로 장치(100) 전체가) 절전 모드(sleep mode) 또는 정상 모드(normal mode)로 진입할 때 수행될 것이다.
도 3은 도 2에서 전원 영역 블록 단위로 절전 모드 또는 정상 모드로 진입하는 단계(S110)를 보여주는 순서도이다. 도 1 및 도 3을 참조하면, S210 단계에서, 코어(131)는 제2전력 클러스터(142)에 절전 요청을 전달한다. 수신된 절전 요청에 응답하여, 제2전력 클러스터(142)는 제2전력 영역 블록(132)을 절전 모드로 제어한다(S215 단계). 예를 들면, 제2전력 클러스터(142)는 제 2 전력 영역 블록(132)에 공급되는 전력을 차단한다. 이후에, 제2전력 클러스터(142)는 코어(131)에 절전 응답을 전송한다(S220 단계).
S210 단계 내지 S220 단계는 제1내지 제n전력 영역 블록들(131~13n) 중 특정 전력 영역 블록(예를 들면, 제2전력 영역 블록(132))을 절전 모드로 제어하는 동작을 구성할 것이다.
S225 단계에서, 코어(131)는 제3전력 클러스터(143)에 절전 요청을 전달한다. 수신된 절전 요청에 응답하여, 제3전력 클러스터(143)는 제3전력 영역 블록 (133)을 절전 모드로 제어한다(S230 단계). 이후에, 제3전력 클러스터(143)는 코어 (131)에 절전 응답을 전송한다(S235 단계). S225 단계 내지 S235 단계는 제1내지 제n전력 영역 블록들(131~13n) 중 다른 하나의 전력 영역 블록(예를 들면, 제3전력 영역 블록(133))을 절전 모드로 제어하는 동작을 구성할 것이다.
S210 단계 내지 S220 단계와 S225 단계 내지 S235 단계는 코어(131)의 제어에 의해 독립적으로 수행될 것이다. 예를 들면, S210 단계 내지 S220 단계가 수행되었는지, 수행되는지, 그리고 수행될 지의 여부는 S225 단계 내지 S235 단계가 수행되는 것에 영향을 주지 않을 것이다. 마찬가지로, S225 단계 내지 S235 단계가 수행되었는지, 수행되는지, 그리고 수행될 지의 여부는 S210 단계 내지 S220 단계가 수행되는 것에 영향을 주지 않을 것이다.
S240 단계에서, 코어(131)는 제2전력 클러스터(142)에 정상 요청을 전달한다. 수신된 정상 요청에 응답하여, 제2전력 클러스터(142)는 제2전력 영역 블록(132)을 정상 모드로 제어한다(S245 단계). 예를 들면, 제2전력 클러스터(142)의 제어 하에, 제2전력 영역 블록(132)의 전력 공급이 재개될 것이다. 이후에, 제2전력 클러스터(142)는 코어(131)에 정상 응답을 전송한다(S250 단계).
S255 단계에서, 코어(131)는 제3전력 클러스터(143)에 정상 요청을 전달한다. 수신된 정상 요청에 응답하여, 제3전력 클러스터(143)는 제3전력 영역 블록 (133)을 정상 모드로 제어한다(S260 단계). 이후에, 제3전력 클러스터(143)는 코어(131)에 정상 응답을 전송한다(S265 단계).
S240 단계 내지 S250 단계는 제1내지 제n전력 영역 블록들(131~13n) 중 특정 전력 영역 블록(예를 들면, 제2전력 영역 블록(132))을 정상 모드로 제어하는 동작을 구성한다. 그리고, S255 단계 내지 S265 단계는 제1내지 제n전력 영역 블록들(131~13n) 중 다른 하나의 전력 영역 블록(예를 들면, 제3전력 영역 블록(133))을 정상 모드로 제어하는 동작을 구성한다.
S240 단계 내지 S250 단계와 S255 단계 내지 S265 단계는 독립적으로 수행된다. 예를 들면, S240 단계 내지 S250 단계가 수행되었는지, 수행되는지, 그리고 수행될 지의 여부는 S255 단계 내지 S265 단계가 수행되는 것에 영향을 주지 않을 것이다. 마찬가지로, S255 단계 내지 S265 단계가 수행되었는지, 수행되는지, 그리고 수행될 지의 여부는 S240 단계 내지 S250 단계가 수행되는 것에 영향을 주지 않을 것이다.
도 3에서, 제 2 및 제 3 전력 영역 블록들(132, 133)이 절전 모드 및 정상 모드로 제어되는 동작 방법이 설명되었다. 제 2 및 제 3 전력 영역 블록들(132, 133) 이외의 나머지 전력 영역 블록들 또한 제 2 및 제 3 전력 영역 블록들(132, 133)과 마찬가지로, 코어(131) 및 대응하는 전력 클러스터의 제어 하에 절전 모드 및 정상 모드로 제어될 수 있다.
도 4는 도 1의 제 1 내지 제 n 전력 영역 블록들(131~13n) 중 하나의 전력 영역 블록(13k)을 보여주는 블록도이다. 도 4를 참조하면, 전력 영역 블록(13k)은 제 1 내지 제 m 스위치들(SW1~SWm), 내부 블록(IB), 제 1 고립 회로(IC1), 그리고 제 2 고립 회로(IC2)를 포함한다.
내부 블록(IB)은 제 1 내지 제 m 전력 라인들(PL1~PLm)에 연결된다. 제 1 내지 제 m 전력 라인들(PL1~PLm)은 제 1 내지 제 m 스위치들(SW1~SWm)을 통해 시스템 버스(110)에 각각 연결된다. 제 1 내지 제 m 스위치들(SW1~SWm)은 시스템 버스(110)를 통해 수신되는 제어 신호에 응답하여 제어된다. 예시적으로, 제 1 내지 제 m 스위치들(SW1~SWm)은 제 k 전력 영역 블록(13k)에 대응하는 제 k 전력 클러스터(14k)로부터 수신되는 제어 신호에 응답하여 제어될 것이다.
내부 블록(IB)은 제 1 내지 제 m 전력 라인들(PL1~PLm)을 통해 전력을 공급받는다. 즉, 제 k 전력 클러스터(14k)의 제어 하에 제 1 내지 제 m 스위치들(SW1~SWm)이 제어되면, 제 k 전력 영역 블록(13k)에 공급되는 전력이 제어될 수 있다.
내부 블록(IB)은 신호 라인(SL)을 통해 시스템 버스(110)에 연결된다. 내부 블록(IB)은 신호 라인(SL)을 통해 시스템 버스(110)와 통신한다. 예시적으로, 신호 라인(SL)은 복수의 신호 라인들로 대체될 수 있다.
내부 블록(IB)은 제 1 고립 회로(IC1)을 통해 다른 전력 영역 블록과 통신한다. 예시적으로, 내부 블록(IB)은 제 1 고립 회로(IC1)를 통해 제 k-1 전력 영역 블록(13(k-1))과 통신하는 것으로 도시되어 있다.
제 1 고립 회로(IC1)는 제 1 제어 라인(CL1)을 통해 시스템 버스(110)에 연결된다. 제 1 고립 회로(IC1)는 제 1 제어 라인(CL1)을 통해 수신되는 제어 신호에 응답하여 활성화 및 비활성화 된다. 예시적으로, 제 1 고립 회로(IC1)는 제 k 전력 클러스터(14k)로부터 제 1 제어 라인(CL1)을 통해 수신되는 제어 신호에 응답하여 동작할 것이다.
활성화된 제 1 고립 회로(IC1)는 제 k 전력 영역 블록(13k)의 전력이 차단될 때, 내부 블록(IB)을 제 k-1 전력 영역 블록(13(k-1))으로부터 고립시킨다.
예시적으로, 제 k 전력 영역 블록(13k)에 공급되는 전력이 차단될 때, 제 k 전력 영역 블록(13k)의 내부 노드들의 전압 레벨은 접지 레벨로 조절될 것이다. 접지 레벨로 조절되는 노드가 외부의 제 k-1 전력 영역 블록(13(k-1))과 연결된 노드인 경우, 제 k-1 전력 영역 블록(13(k-1))으로부터 제 k 전력 영역 블록(13k)으로 전류가 흐를것이다. 즉, 제 k-1 전력 영역 블록(13(k-1))으로부터 제 k 전력 영역 블록(13k)으로 누설 전류가 발생할 것이다. 제 1 고립 회로(IC1)는 제 k 전력 영역 블록(13k)을 제 k-1 전력 영역 블록(13(k-1))으로부터 고립시킴으로써, 누설 전류를 방지하도록 구성된다.
내부 블록(IB)은 제 2 고립 회로(IC2)를 통해 외부의 전력 영역 블록과 통신한다. 예시적으로, 내부 블록(IB)은 제 2 고립 회로(IC2)를 통해 제 k+1 전력 영역 블록(13(k+1))과 통신하는 것으로 도시되어 있다. 제 2 고립 회로(IC2)는 제 k 전력 클러스터(14k)로부터 제 2 제어 라인(CL2)을 통해 수신되는 제어 신호에 응답하여 활성화 및 비활성화 된다.
활성화된 제 1 고립 회로(IC1)과 마찬가지로, 제 k 전력 영역 블록(13k)의 전력이 차단될 때 제 2 고립 회로(IC2)는 제 k 전력 영역 블록(13k)을 제 k+1 전력 영역 블록(13(k+1))으로부터 고립시키도록 구성될 것이다.
도 4에서, 제 k 전력 영역 블록(13k)은 제 1 내지 제 m 스위치들(SW1~SWm)을 포함하는 것으로 도시되어 있다. 그러나, 제 k 전력 영역 블록(13k)은 하나의 전력 라인 및 하나의 스위치를 통해 전력을 공급받도록 구성될 수 있다.
도 4에서, 제 k 전력 영역 블록(13k)은 두 개의 전력 영역 블록들과 통신하는 것으로 도시되어 있다. 그러나, 제 k 전력 영역 블록(13k)은 적어도 하나의 전력 영역 블록과 통신할 수 있으며, 다른 전력 영역 블록과 통신하지 않도록 구성될 수 있다. 예시적으로, 제 k 전력 영역 블록(13k)은 통신하는 전력 영역 블록들에 각각 대응하는 고립 회로들을 포함할 수 있다.
예시적으로, 제 k 전력 영역 블록(13k)은 하나의 고립 회로를 포함할 수 있으며, 내부 블록(IB) 및 외부와 연결된 신호 라인들 사이에 고립 회로가 배치될 수 있다. 즉, 내부 블록(IB)이 외부와 통신하는 신호 라인들은 하나의 고립 회로에 공통으로 연결될 수 있다.
도 5는 도 4의 전력 영역 블록(13k)을 제어하는 전력 클러스터(14k)의 동작 방법을 보여주는 상태도이다. 도 4 및 도 5를 참조하면, 전력 클러스터(14k)의 제어 하에, 전력 영역 블록(13k)은 절전 모드(S11) 및 정상 모드(S12)로 동작한다.
전력 영역 블록(13k)이 절전 모드(S11)로부터 정상 모드(S12)로 제어될 때, 전력 클러스터(14k)는 전력 영역 블록(13k)의 제 1 내지 제 m 스위치들(SW1~SWm)을 순차적으로 턴-온 한다. 즉, 제 k 전력 영역 블록(13k)에 전원이 공급된다. 이후에, 절력 클러스터(14k)는 제 1 및 제 2 고립 회로들(IC1, IC2)을 비활성화 한다. 즉, 제 k 전력 영역 블록(13k)이 외부와 통신 가능한 상태로 제어된다. 이때, 제 k 전력 영역 블록(13k)은 정상 모드(S12)로 진입한다.
전력 영역 블록(13k)이 정상 모드(S12)로부터 절전 모드(S11)로 제어될 때, 전력 클러스터(14k)는 제 1 및 제 2 고립 회로들(IC1, IC2)을 활성화한다. 즉, 제 k 전력 영역 블록(13k)는 외부로부터 고립된다. 이후에, 전력 클러스터(14k)는 전력 영역 블록(13k)의 제 1 내지 제 m 스위치들을 순차적으로 턴-오프 한다. 즉, 전력 영역 블록(13k)에 공급되는 전력이 차단된다. 이때, 전력 영역 블록(13k)은 절전 모드(S11)로 진입한다.
스위치들(SW1~SWm)의 수 및 고립 회로들(IC1, IC2)의 수에 따라, 전력 클러스터(14k)의 동작은 변화될 수 있다. 예를 들면, 스위치들(SW1~SWm)의 수가 증가 또는 감소되면, 전력 클러스터(14k)가 스위치들(SW1~SWm)을 제어하는 동작의 수가 증가 또는 감소될 것이다. 고립 회로들(IC1, IC2)의 수가 증가 또는 감소되면, 전력 클러스터(14k)가 고립 회로들(IC1, IC2)을 제어하는 동작의 수가 증가 또는 감소될 것이다.
예시적으로, 전력 클러스터(14k)는 도 5에 도시된 바와 같은 상태 제어 동작을 수행하는 스테이트 머신(state machine)일 수 있다. 예시적으로, 전력 클러스터(14k)는 도 5에 도시된 바와 같은 동작을 수행하는 프로세서일 수 있다.
도 4 및 도 5에서, 제 k 전력 영역 블록(13k) 및 제 k 전력 클러스터(14k)가 설명되었다. 나머지 전력 영역 블록들 및 나머지 전력 클러스터들 또한 도 4 및 도 5를 참조하여 설명된 바와 마찬가지로 구성될 것이다.
도 6은 도 2에서 전력 영역 블록 단위로 절전 모드 또는 정상 모드로 진입하는 단계(S110)의 다른 실시 예를 보여주는 순서도이다. 도 6에서, 도 3을 참조하여 설명된 동작 단계와 유사한 동작 단계에 대한 상세한 설명은 생략된다. 도 1 및 도 6을 참조하면, S310 단계에서 코어(131)는 제 2 전력 클러스터(142)에 절전 요청을 전송한다. S315 단계에서 코어(131)는 제 3 전력 클러스터(143)에 절전 요청을 전송한다.
S320 단계에서, 제 2 전력 클러스터(142)는 제 2 전력 영역 블록(132)을 절전 모드로 제어한다. S325 단계에서, 제 3 전력 클러스터(143)는 제 3 전력 영역 블록(133)을 절전 모드로 제어한다.
S330 단계에서, 제 2 전력 클러스터(142)는 코어(131)에 절전 응답을 전송한다. S335 단계에서, 제 3 전력 클러스터(143)는 코어(131)에 절전 응답을 전송한다.
즉, 코어(131)는 특정 전력 클러스터(예를 들면, 제 2 전력 클러스터(142))에 절전 요청을 전송한 후 제 2 전력 클러스터(142)로부터 절전 응답이 수신되기 전에, 다른 전력 클러스터(예를 들면, 제 3 전력 클러스터(143))에 절전 요청을 전송할 수 있다.
S340 단계에서, 코어(131)는 제 2 전력 클러스터(142)에 정상 요청을 전송한다. S345 단계에서, 코어(131)는 제 3 전력 클러스터(143)에 정상 요청을 전송한다.
S350 단계에서, 제 2 전력 클러스터(142)는 제 2 전력 영역 블록(132)을 정상 모드로 제어한다. S355 단계에서, 제 3 전력 클러스터(143)는 제 3 전력 영역 블록(133)을 정상 모드로 제어한다.
S360 단계에서, 제 2 전력 클러스터(142)는 코어(131)에 정상 응답을 전송한다. S365 단계에서, 제 3 전력 클러스터(143)는 코어(131)에 정상 응답을 전송한다.
즉, 코어(131)는 특정 전력 클러스터(예를 들면, 제 2 전력 클러스터(142))에 정상 요청을 전송한 후 제 2 전력 클러스터(142)로부터 정상 응답이 수신되기 전에, 다른 전력 클러스터(예를 들면, 제 3 전력 클러스터(143))에 정상 요청을 전송할 수 있다.
상술한 바와 같이, 코어(131)는 제 1 내지 제 n 전력 클러스터들(141~14n)을 병렬적으로 제어하는 것이 가능하다.
도 7은 도 2에서 중앙 클러스터(150)를 제어하여 전력 영역 블록들(141~14n)의 전력 공급을 제어하는 단계(S120)를 보여주는 순서도이다. 도 1 및 도 7을 참조하면, S410 단계에서 코어(131)는 중앙 클러스터(150)에 절전 요청을 전송한다.
S415 단계에서, 중앙 클러스터(150)는 제 1 전력 클러스터(141)에 절전 요청을 전송한다. S420 단계에서, 제 1 전력 클러스터(141)는 제 1 전력 영역 블록(131)을 절전 모드로 제어한다. 이후에, S425 단계에서, 제 1 전력 클러스터(141)는 중앙 클러스터(150)에 절전 응답을 전송한다. S415 단계 내지 S425 단계는 중앙 클러스터(150)가 제 1 전력 클러스터(141)를 통해 제 1 전력 영역 블록(131)을 절전 모드로 제어하는 동작을 구성한다.
S430 단계에서, 중앙 클러스터(150)는 제 2 전력 클러스터(142)에 절전 요청을 전송한다. S435 단계에서, 제 2 전력 클러스터(142)는 제 2 전력 영역 블록(132)을 절전 모드로 제어한다. 이후에, S440 단계에서, 제 2 전력 클러스터는 중앙 클러스터(150)에 절전 응답을 전송한다.
간결한 설명을 위하여, 중앙 클러스터(150)는 제 1 및 제 2 전력 클러스터들(141, 142)에 절전 요청을 전송하는 것으로 설명되었다. 그러나, 중앙 클러스터(150)는 코어(131)로부터의 절전 요청에 응답하여, 제 1 내지 제 n 전력 클러스터들(141~14n)에 순차적으로 절전 요청을 전송할 것이다.
예시적으로, 도 6을 참조하여 설명된 바와 같이, 중앙 클러스터(150)는 특정 전력 클러스터에 절전 요청을 전송한 후 특정 전력 클러스터로부터 절전 응답이 수신되기 전에, 다른 전력 클러스터에 절전 요청을 전송할 수 있다.
예시적으로, 코어(131)로부터 절전 요청을 수신한 후, 중앙 클러스터(150)는 코어(131)와 독립적으로 동작할 것이다. 중앙 클러스터(150) 및 전력 클러스터들(141~14n)은 코어(131)를 포함하는 전력 영역 블록들(131~13n)을 절전 모드로 제어할 것이다. 이때, 중앙 클러스터(150) 및 전력 클러스터들(141~14n)은 정상 모드를 유지할 것이다. 중앙 클러스터(150)는 정상 이벤트가 검출되는지 판별할 것이다.
S445 단계에서, 정상 이벤트가 검출된다. 예를 들면, 중앙 클러스터(150)는 정상 이벤트를 검출할 것이다. 예를 들면, 정상 이벤트는 집적 회로 장치(100)의 입출력 핀들(미도시) 중 정상 모드에 대응하는 핀에 대한 액세스를 포함할 것이다. 즉, 정상 모드에 대응하는 핀에 대한 액세스가 발생할 때, 중앙 클러스터(150)는 정상 이벤트가 검출된 것으로 판별할 것이다. 예를 들면, 외부로부터 제어 신호가 수신될 때, 중앙 클러스터(150)는 정상 이벤트가 검출된 것으로 판별할 것이다.
예를 들면, 정상 이벤트는 제 1 내지 제 n 전력 영역 블록들(131~13n)이 절전 모드로 진입한 후 경과한 시간에 따라 검출될 것이다. 예를 들면, 제 1 내지 제 n 전력 영역 블록들(131~13n)이 절전 모드로 진입한 후 특정 시간이 경과할 때, 중앙 클러스터(150)는 정상 이벤트가 검출된 것으로 판별할 것이다. 예를 들면, 중앙 클러스터(150)는 시간을 측정하기 위한 카운터(미도시)를 구비할 것이다.
S450 단계에서, 중앙 클러스터(150)는 제 1 전력 클러스터(141)에 정상 요청을 전송한다. S455 단계에서, 제 1 전력 클러스터(141)는 제 1 전력 영역 블록(131)을 정상 모드로 제어한다. 이후에, S460 단계에서, 제 1 전력 클러스터(141)는 중앙 클러스터(150)에 정상 응답을 전송한다.
S465 단계에서, 중앙 클러스터(150)는 제 2 전력 클러스터(142)에 정상 요청을 전송한다. S470 단계에서, 제 2 전력 클러스터(142)는 제 2 전력 영역 블록(132)을 정상 모드로 제어한다. 이후에, S475 단계에서, 제 2 전력 클러스터(142)는 중앙 클러스터(150)에 정상 응답을 전송한다.
간결한 설명을 위하여, 중앙 클러스터(150)는 정상 이벤트의 검출에 응답하에 제 1 및 제 2 전력 클러스터들(141, 142)에 정상 요청을 전송하는 것으로 설명되었다. 그러나, 중앙 클러스터(150)는 정상 이벤트의 검출에 응답하여 제 1 내지 제 n 전력 클러스터들(141~14n)에 정상 요청을 전송할 것이다.
S480 단계에서, 중앙 클러스터(150)는 코어(131)에 정상 응답을 전송한다.
상술한 바와 같이, 코어(131)가 중앙 클러스터(150)에 절전 요청을 전송할 때, 중앙 클러스터(150)에 의해 코어(131)를 포함하는 제 1 내지 제 n 전력 영역 블록들(131~13n)이 절전 모드로 제어된다. 즉, 중앙 클러스터(150)에 의해 집적 회로 장치(100)가 절전 모드로 제어될 수 있다.
또한, 중앙 클러스터(150)에 의해 정상 이벤트가 검출될 때, 중앙 클러스터(150)에 의해 코어(131)를 포함하는 제 1 내지 제 n 전력 영역 블록들(131~13n)이 정상 모드로 제어된다. 즉, 중앙 클러스터(150)에 의해 집적 회로 장치(100)가 정상 모드로 제어될 수 있다.
도 8은 도 1의 중앙 클러스터(150)의 동작 방법을 보여주는 상태도이다. 도 1, 도 7, 그리고 도 8을 참조하면, 중앙 클러스터(150)는 집적 회로 장치(100)를 절전 모드(S21) 및 정상 모드(S22)로 제어한다. 예시적으로, 중앙 클러스터(150)는 코어(131)로부터 수신되는 절전 요청에 응답하여, 집적 회로 장치(100)를 절전 모드(S21)로 제어한다. 정상 이벤트가 검출될 때, 중앙 클러스터(150)는 집적 회로 장치(100)를 정상 모드(S22)로 제어한다.
집적 회로 장치(100)가 절전 모드(S21)로 제어될 때, 중앙 클러스터(150)는 제 1 내지 제 n 전력 영역 블록들(131~13n)이 순차적으로 정상 모드로 제어되도록 제 1 내지 제 n 전력 클러스터들(141~14n)을 순차적으로 제어한다.
예시적으로, 중앙 클러스터(150)는 특정한 순서에 따라 제 1 내지 제 n 전력 클러스터들(141~14n)을 순차적으로 제어할 것이다. 예를 들면, 코어(131)는 시스템 버스(110) 및 다른 전력 영역 블록들(132~13n)에 대한 액세스 요청을 발생하는 구성 요소이다. 코어(131)로부터 액세스 요청이 발생될 때, 대응하는 구성 요소는 절전 모드인 경우에도 정상 모드로 제어된다. 따라서, 집적 회로 장치(100)가 절전 모드로 제어될 때, 중앙 클러스터(150)는 코어(131)에 대응하는 제 1 전력 클러스터(141)를 다른 전력 클러스터들(142~14n)보다 먼저 제어할 것이다.
예를 들면, 입출력 인터페이스(132) 또는 메모리 컨트롤러(미도시)와 같은 버스 마스터는 시스템 버스(110)에 대한 액세스 요청을 발생하는 구성 요소이다. 버스 마스터로부터 액세스 요청이 발생될 때, 시스템 버스(110)는 절전 모드인 경우에도 정상 모드로 제어된다. 따라서, 집적 회로 장치(100)가 절전 모드로 제어될 때, 중앙 클러스터(150)는 버스 마스터(예를 들면, 입출력 인터페이스(132))에 대응하는 제 2 전력 클러스터(142)를 코어(131)에 대응하는 제 1 전력 클러스터(141) 다음에 제어할 것이다.
예를 들면, 중앙 클러스터(150)는 제 1 내지 제 n 전력 영역 블록들 중 액세스 권한이 높은 전력 영역 블록에 대응하는 전력 클러스터를 다른 전력 클러스터보다 먼저 제어할 것이다.
집적 회로 장치(100)가 절전 모드(S21)로부터 정상 모드(S22)로 제어될 때, 중앙 클러스터(150)는 제 1 내지 제 n 전력 클러스터들(141~14n)을 특정 순서에 따라 순차적으로 제어할 것이다. 예시적으로, 집적 회로 장치(100)가 정상 모드(S22)로 제어될 때의 제 1 내지 제 n 전력 클러스터들(141~14n)의 동작 순서는 집적 회로 장치(100)가 절전 모드(S21)로 제어될 때의 제 1 내지 제 n 전력 클러스터들(141~14n)의 동작 순서의 역순일 것이다.
도 8을 참조하여 설명된 바와 같이, 중앙 클러스터(150) 및 제 1 내지 제 n 전력 클러스터들(141~14n)은 코어(131)가 비활성 상태인 때에도 동작하도록 구성된다. 따라서, 중앙 클러스터(150) 및 제 1 내지 제 n 전력 클러스터들(141~14n)은 코어(131)와 독립적인 하드웨어로 구성될 것이다. 예를 들면, 중앙 클러스터(150) 및 제 1 내지 제 n 전력 클러스터들(141~14n)은 스테이트 머신(state machine) 또는 프로세서(processor)로 구현될 것이다.
도 9는 도 2에서 중앙 클러스터를 제어하여 전력 영역 블록들의 전력 공급을 제어하는 단계(S120)의 다른 실시 예를 보여주는 순서도이다. 도 1 및 도 9를 참조하면, S510 단계에서 코어(131)는 제 2 전력 클러스터(142)에 유지 요청을 전송한다.
S515 단계에서, 코어(131)는 중앙 클러스터(150)에 절전 요청을 전송한다. S520 단계에서, 중앙 클러스터(150)는 제 1 전력 클러스터(141)에 절전 요청을 전송한다. S525 단계에서, 제 1 전력 클러스터(141)는 중앙 클러스터(150)로부터 수신된 절전 요청에 응답하여 제 1 전력 영역 블록(131)을 절전 모드로 제어한다. S530 단계에서, 제 1 전력 클러스터(141)는 중앙 클러스터(150)에 절전 응답을 전송한다. S520 단계 내지 S530 단계에서, 중앙 클러스터(150) 및 제 1 전력 클러스터(141)에 의해 제 1 전력 영역 블록(131)이 절전 모드로 제어된다.
S535 단계에서, 중앙 클러스터(150)는 제 2 전력 클러스터(142)에 절전 요청을 전송한다. 제 2 전력 클러스터(142)는 S510 단계에서 코어(131)로부터 수신된 유지 요청 및 S535 단계에서 중앙 클러스터(150)로부터 수신된 절전 요청에 응답하여 동작한다. 더 상세하게는, 제 2 전력 클러스터(142)는 코어(131)로부터 수신된 유지 요청에 응답하여, 중앙 클러스터(150)로부터 수신된 절전 요청을 무시한다. 예를 들면, 제 2 전력 클러스터(150)는 제 2 전력 영역 블록(132)을 절전 모드로 제어하지 않으며, 중앙 클러스터(150)에 절전 응답을 전송한다(S540 단계).
즉, 집적 회로 장치(100)가 절전 모드로 제어될 때, 코어(131)의 제어에 응답하여 제 1 내지 제 n 전력 영역 블록들(131~13n) 중 적어도 하나가 정상 모드를 유지할 수 있다.
S545 단계에서, 중앙 클러스터(150)는 정상 이벤트를 검출한다. S550 단계에서, 중앙 클러스터(150)는 제 1 전력 클러스터(141)에 정상 요청을 전송한다. S555 단계에서, 제 1 전력 클러스터(141)는 중앙 클러스터(150)로부터 수신된 정상 요청에 응답하여 제 1 전력 영역 블록(141)을 정상 모드로 제어한다. S560 단계에서, 제 1 전력 클러스터(141)는 중앙 클러스터(150)에 정상 응답을 전송한다. S550 단계 내지 S560 단계에서, 중앙 클러스터(150) 및 제 1 전력 클러스터(141)에 의해 제 1 전력 영역 블록(131)이 정상 모드로 제어된다.
S565 단계에서, 중앙 클러스터(150)는 제 2 전력 클러스터(142)에 정상 요청을 전송한다. 그런데, S510 단계의 유지 요청에 따라, 제 2 전력 영역 블록(132)은 정상 모드를 유지하고 있다. 따라서, 제 2 전력 클러스터(142)는 중앙 클러스터(150)로부터 수신된 정상 요청을 무시한다. 예를 들면, 제 2 전력 클러스터(142)는 중앙 클러스터(150)로부터 수신된 정상 요청에 따른 동작을 수행하지 않으며, 중앙 클러스터(150)에 정상 응답을 전송한다.
상술한 바와 같이, 본 발명에 의하면, 전력 영역 블록들(131~13n)은 전력 클러스터들(141~14n)에 의해 독립적으로 제어될 수 있다. 각 전력 클러스터는 대응하는 전력 영역 블록의 제어 기능만 구비하므로, 전력 제어 회로(140)의 복잡도가 감소하며, 면적이 감소할 수 있다.
집적 회로 장치(100)가 절전 모드 또는 정상 모드로 제어될 때, 제 1 내지 제 n 전력 클러스터들(141~14n)의 동작 순서가 중앙 클러스터(150)에 의해 제어된다. 따라서, 집적 회로 장치(100)에 전력 영역 블록이 추가될 때, 전력 제어 회로(140)의 전체 구성이 갱신될 필요가 없다. 집적 회로 장치(100)에 전력 영역 블록이 추가될 때, 추가된 전력 영역 블록에 대응하는 전력 클러스터가 전력 제어 회로(140)에 추가되면, 추가된 전력 영역 블록이 절전 모드 및 정상 모드로 제어될 수 있다.
또한, 추가된 전력 클러스터의 동작 순서를 포함하도록 중앙 클러스터(150)가 갱신되면, 추가된 전력 영역 블록을 포함하는 집적 회로 장치(100)가 절전 모드 및 정상 모드로 제어될 수 있다. 즉, 집적 회로 장치(100)의 전력 제어 회로(140)의 적응성이 향상되며, 전력 제어 회로(140)의 재설계에 따른 시간 및 비용이 감소될 수 있다.
도 10은 본 발명의 다른 실시 예에 따른 집적 회로 장치(200)를 보여주는 블록도이다. 도 10을 참조하면, 집적 회로 장치(200)는 시스템 버스(210), 전력 공급 회로(220), 제 1 내지 제 n 전력 영역 블록들(231~23n), 전력 제어 회로(240), 그리고 클럭 발생 회로(270)를 포함한다.
시스템 버스(210), 전력 공급 회로(220), 그리고 제 1 내지 제 n 전력 영역 블록들(231~23n)은 도 1의 시스템 버스(110), 전력 공급 회로(120), 그리고 제 1 내지 제 n 전력 영역 블록들(131~13n)과 마찬가지로 구성된다. 따라서, 상세한 설명은 생략된다.
클럭 발생 회로(270)는 클럭을 발생하도록 구성된다. 클럭 발생 회로(270)에 의해 발생된 클럭은 시스템 버스(210)를 통해 집적 회로 장치(200)의 각 구성 요소들에 전달된다. 예시적으로, 클럭 발생 회로(270)가 하나의 전력 영역 블록으로 구성되는 경우, 제 1 내지 제 n 전력 클러스터들(241~24n) 중 적어도 하나는 클럭 발생 회로(270)에 대응할 것이다.
전력 제어 회로(240)는 제 1 내지 제 n 전력 클러스터들(241~24n), 제 1 내지 제 p 클럭 클러스터들, 그리고 중앙 클러스터(250)를 포함한다.
제 1 내지 제 n 전력 클러스터들(241~24n)은 제 1 내지 제 n 전력 영역 블록들(231~23n)에 각각 대응한다. 도 1 내지 도 9를 참조하여 설명된 바와 마찬가지로, 제 1 내지 제 n 전력 클러스터들(241~24n)은 제 1 내지 제 n 전력 영역 블록들(231~23n)에 공급되는 전력을 제어하도록 구성된다.
*제 1 내지 제 p 클럭 클러스터들(261~26p)은 제 1 내지 제 p 클럭 영역 블록들(clock domain blocks)에 대응할 것이다. 예시적으로, 집적 회로 장치(200)에서 전력 영역 블록들 및 클럭 영역 블록들이 일치하는 경우, 제 1 내지 제 n 전력 영역 블록들(231~23n)은 제 1 내지 제 n 클럭 영역 블록들일 것이다. 이때, 제 1 내지 제 p 클럭 클러스터들(261~26p)은 각각 제 1 내지 제 n 클럭 영역 블록들(231~23n)에 대응할 것이다. 예시적으로, 집적 회로 장치(200)에서, 전력 영역 블록들 및 클럭 영역 블록들은 일치하는 것으로 가정한다. 또한, 변수 p의 값은 변수 n의 값과 일치하는 것으로 가정한다.
각 클럭 클러스터는 대응하는 클럭 영역 블록에 공급되는 클럭을 독립적으로 제어하도록 구성된다. 예를 들면, 각 클럭 클러스터는 중앙 클러스터(250) 또는 코어(231)의 제어에 응답하여 클럭 공급을 제어하도록 구성될 것이다.
중앙 클러스터(250)는 제 1 내지 제 n 전력 클러스터들(241~24n) 및 제 1 내지 제 p 클럭 클러스터들(261~26p)의 동작 순서를 제어하도록 구성된다. 예시적으로, 도 1 내지 도 9를 참조하여 설명된 바와 마찬가지로, 중앙 클러스터(250)는 특정 순서에 따라 제 1 내지 제 p 클럭 클러스터들(261~26p)의 동작 순서를 제어하고, 그리고 특정 순서에 따라 제 1 내지 제 n 전력 클러스터들(241~24n)의 동작 순서를 제어하도록 구성된다.
도 11은 도 10의 전력 제어 회로(240)의 동작 방법을 보여주는 상태도이다. 도 10 및 도 11을 참조하면, 전력 제어 회로(240)는 정상 모드(S31), 제 1 절전 모드(S32), 그리고 제 2 절전 모드(S33)로 집적 회로 장치(200)를 제어하도록 구성된다.
예시적으로, 제 k 전력 클러스터(24k)에 의해 제 k 전력 영역 블록(23k)의 전력 공급이 제어되고, 제 k 클럭 클러스터(26k)에 의해 제 k 전력 영역 블록(23k)의 클럭 공급이 제어되는 것으로 가정한다. 제 k 전력 클러스터(24k) 및 제 k 클럭 클러스터(26k)는 제 k 전력 영역 블록(23k)을 정상 모드(S31), 제 1 절전 모드(S32), 그리고 제 2 절전 모드(S33) 중 하나로 제어할 것이다.
제 k 전력 영역 블록(23k)이 정상 모드(S31)일 때, 제 k 클럭 클러스터(26k)는 코어(231)의 제어에 응답하여 제 k 전력 영역 블록(23k)을 제 1 절전 모드로 제어한다. 예를 들면, 코어(231)의 제어에 응답하여, 제 k 클럭 클러스터(26k)는 제 k 전력 영역 블록(23k)에 공급되는 클럭을 차단할 것이다. 클럭 공급이 차단되면, 제 k 전력 영역 블록(23k)은 제 1 절전 모드(S32)로 진입한다. 예를 들면, 제 1 절전 모드(S32)는 클럭에 따른 동작을 중지하는 동작 중지 모드일 것이다. 즉, 제 1 절전 모드(S32)에서, 제 k 전력 영역 블록(23k)에서 정적 전력 소모(static power consumption)는 발생하되 동적 전력 소모(dynamic power consumption)는 방지될 것이다.
제 k 전력 영역 블록(23k)이 제 1 절전 모드(S32)일 때, 제 k 클럭 클러스터(24k) 또는 제 k 전력 클러스터(26k)는 코어(231)의 제어에 응답하여 제 k 전력 영역 블록(23k)을 정상 모드(S31) 또는 제 2 절전 모드(S33)로 제어한다.
예시적으로, 제 k 클럭 클러스터(26k)의 제어 하에, 제 k 전력 영역 블록(23k)의 클럭 공급이 재개될 것이다. 클럭 공급이 재개되면, 제 k 전력 영역 블록(23k)은 정상 모드(S31)로 진입할 것이다. 예시적으로, 전력 공급 및 전력 차단이 클럭 공급 및 클럭 차단으로 대체되는 것을 제외하면, 제 k 전력 영역 블록(23k)에 클럭을 공급 및 차단하는 동작은 도 3 내지 도 6을 참조하여 설명된 바와 마찬가지로 수행될 것이다.
예시적으로, 제 k 전력 클러스터(24k)의 제어 하에, 제 k 전력 영역 블록(23k)의 전력 공급이 차단될 것이다. 전력 공급이 차단되면, 제 k 전력 영역 블록(23k)은 제 2 절전 모드(S33)로 진입할 것이다. 제 2 절전 모드(S33)에서, 제 k 전력 영역 블록(23k)의 동적 전력 소모(dynamic power consumption) 및 정적 전력 소모(static power consumption)가 방지될 것이다.
제 k 전력 영역 블록(23k)이 제 2 절전 모드(S33)일 때, 제 k 전력 클러스터(24k)는 코어(231)의 제어 하에 제 k 전력 영역 블록(23k)을 제 1 절전 모드(S32)로 제어할 것이다. 예를 들면, 제 k 전력 클러스터(24k)의 제어 하에, 제 k 전력 영역 블록(23k)의 전력 공급이 재개될 것이다. 전력 공급이 재개되면, 제 k 전력 영역 블록(23k)은 제 1 절전 모드(S32)로 진입할 것이다.
예시적으로, 제 k 전력 영역 블록(23k)에 전력을 공급 및 차단하는 동작은 도 3 내지 도 6을 참조하여 설명된 바와 마찬가지로 수행될 것이다.
예시적으로, 중앙 클러스터(250)에 의해 집적 회로 장치(200)가 제어되는 것으로 가정한다. 중앙 클러스터(250)는 집적 회로 장치(200)를 정상 모드(S31), 제 1 절전 모드(S32) 그리고 제 2 절전 모드(S33) 중 하나로 제어할 것이다.
집적 회로 장치(200)가 정상 모드(S31)일 때, 중앙 클러스터(250)는 코어(231)의 제어에 응답하여 집적 회로 장치(200)를 제 1 절전 모드(S32)로 제어한다. 예를 들면, 중앙 클러스터(250)는 특정 순서에 따라 제 1 내지 제 p 클럭 클러스터들(261~26p)을 제어할 것이다. 중앙 클러스터(250)의 제어에 응답하여, 제 1 내지 제 p 클럭 클러스터들(261~26p)은 특정 순서에 따라 제 1 내지 제 n 전력 영역 블록들(231~23n)에 공급되는 클럭들을 차단할 것이다.
집적 회로 장치(200)가 제 1 절전 모드일 때, 중앙 클러스터(250)는 집적 회로 장치(200)를 정상 모드(S31) 또는 제 2 절전 모드(S33)로 제어한다.
예를 들면, 정상 이벤트가 검출될 때, 중앙 클러스터(250)는 집적 회로 장치(200)를 정상 모드(S31)로 제어할 것이다. 예를 들면, 중앙 클러스터(250)는 제 1 내지 제 p 클럭 클러스터들(261~26p)을 특정 순서에 따라 제어할 것이다. 중앙 클러스터(250)의 제어에 응답하여, 제 1 내지 제 p 클럭 클러스터들(261~26p)은 제 1 내지 제 n 전력 영역 블록들(231~23n)의 클럭 공급을 특정 순서에 따라 재개할 것이다. 예시적으로, 전력 공급 및 전력 차단이 클럭 공급 및 클럭 차단으로 대체되는 것을 제외하면, 제 1 내지 제 n 전력 영역 블록들(231~23n)에 클럭을 공급 및 차단하는 동작은 도 7 내지 도 9를 참조하여 설명된 바와 마찬가지로 수행될 것이다.
예시적으로, 절전 이벤트가 검출될 때, 중앙 클러스터(250)는 집적 회로 장치(200)를 제 2 절전 모드(S33)로 제어할 것이다. 예를 들면, 집적 회로 장치(200)가 제 1 절전 모드(S32)로 진입한 후 특정 시간이 경과할 때, 중앙 클러스터(250)는 집적 회로 장치(200)를 제 2 절전 모드(S33)로 제어할 것이다. 예를 들면, 외부 제어 신호에 응답하여, 중앙 클러스터(250)는 집적 회로 장치(200)를 제 2 절전 모드(S33)로 제어할 것이다.
중앙 클러스터(250)는 제 1 내지 제 n 전력 클러스터들(241~24n)을 특정 순서에 따라 제어할 것이다. 제 1 내지 제 n 전력 클러스터들(241~24n)은 제 1 내지 제 n 전력 영역 블록들(231~23n)에 공급되는 전력을 특정 순서에 따라 차단할 것이다.
집적 회로 장치(200)가 제 2 절전 모드(S33)일 때, 중앙 클러스터(250)는 집적 회로 장치(200)를 제 1 절전 모드(S32)로 제어할 것이다. 예를 들면, 외부로부터 제어 신호가 수신될 때, 또는 집적 회로 장치(200)가 제 2 절전 모드(S33)로 진입한 후 특정 시간이 경과할 때, 중앙 클러스터(250)는 집적 회로 장치(200)를 제 1 절전 모드(S32)로 제어할 것이다.
예를 들면, 중앙 클러스터(250)는 제 1 내지 제 n 전력 클러스터들(241~24n)을 특정 순서에 따라 제어할 것이다. 제 1 내지 제 n 전력 클러스터들(241~24n)은 제 1 내지 제 n 전력 영역 블록들(231~23n)의 전력 공급을 특정 순서에 따라 재개할 것이다.
제 1 내지 제 n 전력 영역 블록들(231~23n)에 전력 공급을 차단 및 재개하는 동작은 도 7 내지 도 9를 참조하여 설명된 바와 마찬가지로 수행될 것이다.
예시적으로, 집적 회로 장치(200)가 정상 모드(S31)일 때, 중앙 클러스터(250)는 코어(231)의 제어에 응답하여 집적 회로 장치(200)를 제 2 절전 모드(S33)로 제어하도록 구성될 수 있다. 예를 들면, 코어(231)로부터 절전 요청이 수신될 때, 중앙 클러스터(250)는 제 1 내지 제 p 클럭 클러스터들(261~26p)을 특정 순서에 따라 제어하고, 이후에 제 1 내지 제 n 전력 클러스터들(241~24n)을 특정 순서에 따라 제어할 것이다.
예시적으로, 정상 이벤트가 검출될 때, 중앙 클러스터(250)는 집적 회로 장치(200)를 제 2 절전 모드(S33)로부터 정상 모드(S31)로 제어할 수 있다. 예를 들면, 중앙 클러스터(250)는 제 1 내지 제 n 전력 클러스터들(241~24n)을 특정 순서에 따라 제어할 것이다. 이후에, 중앙 클러스터(250)는 제 1 내지 제 p 클럭 클러스터들(261~26p)을 특정 순서에 따라 제어할 것이다.
즉, 집적 회로 장치(200)가 절전 모드로 제어될 때, 제 1 절전 모드(S32)는 생략될 수 있다. 집적 회로 장치(200)가 정상 모드로 제어될 때, 제 1 절전 모드(S32)는 생략될 수 있다. 또한, 집적 회로 장치(200)가 절전 모드 및 정상 모드로 제어될 때, 제 1 절전 모드(S32)는 생략될 수 있다.
상술한 실시 예에서, 집적 회로 장치(200)의 전력 영역 블록들 및 클럭 영역 블록들은 일치하는 것으로 가정되었다. 그러나, 집적 회로 장치(200)의 전력 영역 블록들 및 클럭 영역 블록들은 상이할 수 있다.
도 12는 본 발명의 실시예에 따른 SoC의 블록도를 나타낸다.
도 12를 참조하면, SoC(system on chip; 1010)는 전자 장치(electronic device), 휴대용 통신 장치, 또는 IT 장치(information technology device)에 포함될 수 있다. SoC(1010)는 다수의 전력 영역들(power domains; 1011-1~1011-n; n은 자연수), 전력 공급 회로(power supply circuit; 1013), 및 전력 관리 유닛(power management unit (PMU); 1017)을 포함한다.
각각의 전력 영역(1011-1~1011-n), 전력 공급 회로(1013), 및 PMU(1017)는 버스(bus; 1015)를 통하여 서로 통신할 수 있다.
SoC(1010)는 각각이 다수의 전력 영역들(1011-1~1011-n) 사이에 접속된 다수의 분리 회로들(isolation circuits; 1012-1, 1012-2, ...)을 더 포함할 수 있다.
실시 예에 따라 다수의 분리 회로들(1012-1, 1012-2, ...) 각각은 다수의 유한 상태 머신들(1019-1~1019-n) 각각에 저장된 레지스터 값들에 따라 접속 또는 분리될 수 있다. 다른 실시 예에 따라 다수의 분리 회로들(1012-1, 1012-2, ...) 각각은 다수의 유한 상태 머신들(1019-1~1019-n) 중에서 어느 하나의 유한 상태 머신에 저장된 레지스터 값들에 따라 접속 또는 분리될 수 있다(도 17 참조).
다수의 분리 회로들(1012-1, 1012-2, ...) 각각은 다수의 전력 영역들(1011-1~1011-n) 각각의 내부 또는 외부에 구현될 수 있다. 예컨대, 다수의 분리 회로들(1012-1, 1012-2, ...) 각각은 다수의 전력 영역들(1011-1~1011-n) 사이에서 발생할 수 있는 누설 전류 경로(leakage current path)를 차단할 수 있다.
다수의 전력 영역들(1011-1~1011-n) 각각은 다수의 IP들(intellectual properities; IP)을 포함한다. 여기서, IP라 함은 집적 회로(1010), 예컨대 SoC에 집적될 수 있는 회로(circuit), 로직(logic), 또는 이들의 조합을 의미한다. 또한 상기 회로 또는 상기 로직에는 코드(code)가 저장될 수 있다.
예컨대, IP는 CPU(central processing unit), 상기 CPU에 포함된 복수의 코어들(cores) 각각, MFC(multi-Format Codec), 비디오 모듈(예컨대, 카메라 인터페이스(camera interface), JPEG(Joint Photographic Experts Group) 프로세서, 비디오 프로세서(video processor), 또는 믹서(mixer), 등), 3D 그래픽 코어(graphic core), 오디오 시스템(audio system), 드라이버(driver), 디스플레이 드라이버 (display driver), 휘발성 메모리(volatile memory device), 비휘발성 메모리(non-volatile memory), 메모리 컨트롤러(memory controller), 또는 캐시 메모리(cache memory) 등을 포함한다.
예컨대, 다수의 전력 영역들(1011-1~1011-n) 각각은 유사한 기능을 수행할 수 있는 다수의 애플리케이션들(applications)의 집합(set) 또는 다수의 모듈들 (modules)의 집합일 수 있다. 애플리케이션 또는 모듈은 하드웨어 또는 소프트웨어가 내장된 하드웨어로 구현될 수 있다.
전력 공급 회로(1013)는 외부, 예컨대 배터리(battery)로부터 공급된 외부 전력(EXPWR)을 수신하고 다수의 전력들(PWR1~PWRn)을 발생한다.
실시 예에 따라 다수의 전력들(PWR1~PWRn) 각각은 다수의 전력 영역들(1011-1~1011-n) 각각으로 공급될 수 있다. 다른 실시 예에 따라 다수의 전력들 (PWR1~PWRn) 각각은 다수의 전력 영역들(1011-1~1011-n) 각각에 포함된 다수의 IP들 각각으로 공급될 수 있다. 따라서 하나의 전력 영역에는 적어도 하나의 전력이 공급될 수 있다.
PMU(1017)는 다수의 유한 상태 머신들(finite state machines(FSM); 1019-1~1019-n)을 포함한다. 다수의 유한 상태 머신들(1019-1~1019-n) 각각은 CPU, 예컨대 제1전력 영역(1011-1)에 구현된 CPU의 제어에 따라, 특히 상기 CPU로부터 출력된 환경설정 레지스터 값들에 따라 다수의 전력 영역들(1011-1~1011-n) 각각을 독립적으로 제어할 수 있다.
다수의 유한 상태 머신들(1019-1~1019-n) 각각은 그 안에(therein) 포함된 환경설정 레지스터(configuration register)에 설정된 환경설정 레지스터 값들에 따라 다수의 전력 영역들(1011-1~1011-n) 각각에 대한 전력 상태(power state) 및/또는 동작 상태(operation state)를 독립적으로 제어할 수 있다. 상기 환경설정 레지스터는 1-비트 또는 그 이상의 비트들을 포함하는 환경설정 레지스터 값들을 저장할 수 있는 스토리지(storage)의 일 예이다.
예컨대, 상기 환경설정 레지스터 값들은 다수의 비트들(bits)을 포함하며, 상기 다수의 비트들 중에서 일부의 비트들은 다수의 유한 상태 머신들(1019-1~1019-n) 각각을 구분하기 위한 식별 비트들(identification bits)로서 사용될 수 있다.
여기서, 전력 상태라 함은 파워-업(power-up) 상태(또는 파워-온(power-on) 상태), 파워-다운(power-down) 상태(또는 파워-오프(power-off) 상태), 파워-업 시퀀스(power-up sequence; 또는 파워-온 시퀀스), 또는 파워-다운 시퀀스(또는 파워-오프 시퀀스)를 의미한다.
상기 파워-업 상태는 제어될 전력 영역(예컨대, 타겟(target) 전력 영역)의 전력(또는 전압)이 완전히 파워-업(fully powered up)된 상태를 의미한다. 상기 파워-다운 상태는 타겟 전력 영역의 전력이 오프된 상태를 의미한다.
상기 파워-업 시퀀스(power-up sequence)는 타겟 전력 영역이 상기 파워-다운 상태로부터 직접 또는 적어도 하나의 상태(state)를 통하여 상기 파워-업 상태로 천이(transition)하는 것을 의미한다. 상기 파워-다운 시퀀스(power-down sequence)는 타겟 전력 영역이 직접 또는 적어도 하나의 상태를 통하여 상기 파워-업 상태로부터 상기 파워-다운 상태로 천이하는 것을 의미한다.
예컨대, 제1전력 영역(1011-1)이 제1유한 상태 머신(1019-1)의 제어에 따라 파워-업 상태일 때, 제2전력 영역(1011-2)은 제2유한 상태 머신(1019-2)의 제어에 따라 파워-다운 시퀀스를 수행할 수 있고 제3전력 영역(1011-3)은 제3유한 상태 머신(1019-3)의 제어에 따라 파워-업 시퀀스를 수행할 수 있다.
상기 동작 상태(operation state)는 각 IP로의 클락(clock) 신호의 공급 여부, 각 IP에 구현된 데이터 저장 장치(data storage device)에 저장된 데이터의 유지(data retention) 여부, 각 IP의 버스(bus) 사용 여부, 각 IP에 구현된 패드 (pad)의 분리 또는 접속 여부, 또는 각 IP에 구현된 인터페이스(interface)의 활성화 여부 등에 따라 결정될 수 있다.
실시 예에 따라 상기 전력 상태와 상기 동작 상태는 전력 영역 단위 또는 IP 단위로 제어될 수 있으나, 본 명세서에서는 설명의 편의를 위하여 전력 영역 단위로 상기 전력 상태가 제어되고, IP 단위로 상기 동작 상태가 제어되는 것을 설명한다.
그러나, 하나의 전력 영역에 포함된 CPU가 복수의 코어들(cores)을 포함할 때, 상기 복수의 코어들 각각의 전력 상태(예컨대, 전력 공급 여부)와 동작 상태(예컨대, 리셋(reset) 여부) 각각은 코어 단위로 독립적으로 제어될 수도 있다.
예컨대, CPU는 다수의 전력 영역들(1011-1~1011-n) 각각에 포함된 다수의 IP들 각각의 동작(예컨대, 각 IP가 파워를 얼마만큼 소모하고 있는지의 여부, 각 IP가 특정 동작을 수행하고 있는지의 여부, 또는 각 IP가 아이들 상태(idle state)인지의 여부)을 감시하고, 감시 결과에 따라 다수의 전력 영역들(1011-1~1011-n) 중에서 제어될 전력 영역, 즉 타겟 전력 영역을 지시하는 환경설정 레지스터 값들을 생성하고, 생성된 환경설정 레지스터 값들을 버스(1015)를 통하여 PMU(1017)로 출력할 수 있다.
상기 타겟 전력 영역의 전력 상태를 제어할 수 있는 유한 상태 머신은 상기 CPU로부터 출력된 상기 환경설정 레지스터 값들을 해석하고, 해석 결과에 따라 전력 영역 단위로 상기 타겟 전력 영역의 전력 상태를 제어할 수 있다.
또한, 상기 유한 상태 머신은 상기 환경설정 레지스터 값들에 따라 상기 타겟 전력 영역에 포함된 다수의 IP들 각각의 동작 상태를 독립적으로 제어할 수 있다.
실시 예에 따라 PMU(1017)는 그 안에 포함된 중앙 환경설정 레지스터(1021-1)에 설정된 적어도 하나의 중앙 환경설정 레지스터 값에 따라 다수의 유한 상태 머신들(1019-1~1019-n)의 활성화(activation) 순서 또는 활성화 여부를 결정하는 중앙 순서기(central sequencer; 1021)를 더 포함할 수 있다.
예컨대, 적어도 하나의 중앙 환경설정 레지스터 값에 따라, PMU(1017)는 각 전력 영역(1011-1~1011-n)의 전력 상태를 균일하게(in a uniform) 제어하는 SoC-레벨(SoC-level) 전력 제어 동작 또는 각 전력 영역(1011-1~1011-n)의 전력 상태를 독립적으로 제어하는 영역-레벨(domain-level) 전력 제어 동작을 수행할 수 있다.
본 명세서에서 구체적인 실시 예 없이 활성화(activation)라고 언급될 때, 상기 활성화는 특정 동작(예컨대, 전력 공급 여부, 클락 공급 여부, 데이터 유지(data retention) 여부, 분리(isolation) 여부, 또는 리셋(reset) 여부)을 수행하기 위해 특정 대상(object), 예컨대 상태(state) 또는 유한 상태 머신이 특정 행위(action)나 특정 일(work)을 수행하는 것을 의미한다.
중앙 순서기(1021)는 다수의 상태들(states)을 포함하는 유한 상태 머신으로 구현될 수 있다. 예컨대, 상태(state)는 회로, 로직, 코드, 또는 이들의 조합으로 구현될 수 있다.
상기 다수의 상태들 각각의 활성화 순서 또는 활성화 여부는 상기 적어도 하나의 중앙 환경설정 레지스터 값에 따라 결정되고, 상기 다수의 상태들 각각의 활성화 순서 또는 활성화 여부에 따라 다수의 유한 상태 머신들(예컨대, 1019-1~1019-n) 각각의 활성화 순서 또는 활성화 여부가 결정될 수 있다.
중앙 순서기(1021)는 다수의 유한 상태 머신들(1019-1~1019-n) 각각의 활성화 순서 또는 활성화 여부만을 결정할 뿐, 다수의 유한 상태 머신들(1019-1~1019-n) 각각의 동작 여부 또는 동작 결과는 결정하지 않는다. 따라서, 활성화된 유한 상태 머신이라도 어떠한 행위(action) 또는 어떠한 일(work)도 하지 않을 수 있다.
중앙 순서기(1021)는 다수의 유한 상태 머신들(1019-1~1019-n) 각각과 핸드세이킹(handshaking)을 통하여 서로 통신할 수 있다. 중앙 순서기(1021)는 SoC-레벨 전력 제어를 담당하므로, 중앙 순서기(1021)에 저장된 중앙 환경설정 레지스터 값(들)에 따라 활성화된 다수의 유한 상태 머신들(1019-1~1019-n) 각각에 의하여 독립적으로 제어되는 다수의 전력 영역들(1011-1~1011-n) 각각의 최종 상태(final state)는 서로 동일하다.
상기 최종 상태가 유한 상태 머신의 최종 상태를 의미하는 경우, 상기 최종 상태에 상응하는 서브 유한 상태 머신은 특정한 행위 또는 특정한 일을 수행할 수도 있고 수행하지 않을 수도 있다.
예시적으로, 상기 최종 상태는 정상 동작 상태(normal operation state), 슬립 상태(sleep state), 또는 깊은-정지 상태(deep-stop state)일 수 있다. 상기 정상 동작 상태에서는 다수의 전력 영역들(1011-1~1011-n) 모두는 파워-업 상태로 된다. 상기 슬립 상태에서는 PMU(1017)를 제외한 다수의 전력 영역들(1011-1~1011-n) 모두는 파워-다운 상태로 된다. 상기 깊은-정지 상태에서는 다수의 전력 영역들 (1011-1~1011-n) 각각에 구현된 다수의 IP들 각각으로의 클락 신호의 공급이 차단되고 CPU로 공급되는 전력도 파워-다운 상태로 된다.
다른 실시 예에 따라 PMU(1017)는 리셋 이벤트(예컨대, 하드웨어 리셋 (hardware reset), 소프트웨어(software) 리셋, 웜 리셋(warm reset), 또는 웨이크업(wakeup) 리셋)에 따라 다수의 유한 상태 머신들(1019-1~1019-n, 및 21) 중에서 리셋 기능을 수행할 수 있는 다수의 유한 상태 머신들 각각의 리셋 동작을 제어할 수 있는 리셋 순서기(reset sequencer; 1023)를 더 포함할 수 있다.
리셋 순서기(1023)는 다수의 상태들을 포함하는 유한 상태 머신으로 구현될 수 있다. 도 1에 도시된 바와 같이, 리셋 순서기(1023)는 각 유한 상태 머신(1019-1, 1019-2, 및 1021)의 리셋 동작을 제어할 수 있다.
도 13에 도시된 바와 같이 제1유한 상태 머신(1019-1)은 다수의 서브-유한 상태 머신들(1119-1과 1119-2)을 포함하고, 도 17에 도시되 바와 같이 제2유한 상태 머신(1019-2)은 다수의 서브-유한 상태 머신들(1210-1~1210-s)과 다수의 서브-유한 상태 머신들(1210-1~1210-s) 각각의 활성화 순서 또는 활성화 여부를 결정할 수 있는 메인 유한 상태 머신(1200)을 포함한다.
본 명세서에 기재된 각 유한 상태 머신은 그 명칭에도 불구하고 CPU(1111)로부터 출력된 환경설정 레지스터 값들을 저장하기 위한 환경설정 레지스터를 포함한다.
도 13은 도 12에 도시된 제1전력 영역과 제1유한 상태 머신의 블록도를 나타낸다. 도 12와 도 13을 참조하면, 예시적으로 도시된 제1전력 영역(1011-1)은 CPU(1111), 파워 라인(1101), 및 다수의 스위치들(1110-1과 1110-2)을 포함한다.
CPU(1111)는 복수 개의 코어들(1111-1과 1111-2)을 포함하며, 각 코어(1111-1과 1111-2)로 공급되는 전력(PWR1)은 각 서브-유한 상태 머신(1119-1과 1119-2)의 제어에 따라 독립적으로 제어될 수 있다. 또한, 각 코어(1111-1과 1111-2)의 리셋 여부는 각 서브-유한 상태 머신(1119-1과 1119-2)의 제어에 따라 독립적으로 제어될 수 있다.
예컨대, 제1서브-유한 상태 머신(1119-1)은 그 안에 포함된 환경설정 레지스터(1120-1)에 설정된 환경설정 레지스터 값에 따라 제1스위칭 신호(SW11) 또는 제1리셋 신호(RST1)를 발생할 수 있다. 따라서, 제1스위치(1110-1)는 제1스위칭 신호 (SW11)에 따라 제1코어(1111-1)로 전력(PWR1)을 공급하거나 제1코어(1111-1)로 공급되는 전력(PWR1)을 차단할 수 있다.
제2서브-유한 상태 머신(1119-2)은 그 안에 포함된 환경설정 레지스터(1120-2)에 설정된 환경설정 레지스터 값에 따라 제2스위칭 신호(SW12) 또는 제2리셋 신호(RST2)를 발생할 수 있다. 따라서, 제2스위치(1110-2)는 제2스위칭 신호(SW12)에 따라 제2코어(1111-2)로 전력(PWR1)을 공급하거나 제2코어(1111-2)로 공급되는 전력(PWR1)을 차단할 수 있다.
예컨대, 각 IP(1111-1과 1111-2)의 전력 상태가 파워-업 상태, 즉 전력 (PWR1)이 각 IP(1111-1과 1111-2)로 공급되고 있을 때, 환경 설정 레지스터(1120-1)에 저장된 환경설정 레지스터 값이 CPU(1111)에 의하여 Ox0으로 설정되면, 제1서브-유한 상태 머신(1119-1)은 하이 레벨을 갖는 스위치 신호(SW11)를 출력한다. 따라서 PMOS 트랜지스터로 구현된 스위치(1110-1)가 턴-오프되므로, 제1코어(1111-1)로 공급되는 전력(PWR1)은 차단된다.
반대로, 각 IP(1111-1과 1111-2)의 전력 상태가 파워-다운 상태, 즉 전력 (PWR1)이 각 IP(1111-1과 1111-2)로 공급되지 않을 때, 환경설정 레지스터(1120-1)에 저장된 환경설정 레지스터 값이 CPU(1111)에 의하여 Ox3으로 설정되면, 제1서브-유한 상태 머신(1119-1)은 로우 레벨을 갖는 스위치 신호(SW11)를 출력한다. 따라서 PMOS 트랜지스터로 구현된 스위치(1110-1)는 턴-온되므로, 제1코어(1111-1)로 전력(PWR1)이 공급된다.
환경설정 레지스터(1120-2)에 설정된 환경설정 레지스터 값에 따라, 제2서브-유한 상태 머신(1119-2)은 제2코어(1111-2)로 전력(PWR1)을 공급하거나 제2코어(1111-2)로 공급되는 전력(PWR1)을 차단할 수 있다.
도 14는 도 12에 도시된 제2전력 영역의 블록도를 나타내고, 도 15는 도 13에 도시된 데이터 저장 장치의 블록도를 나타내고, 도 16은 도 12에 도시된 분리 회로의 블록도를 나타내고, 도 17은 도 12에 도시된 제2유한 상태 머신의 블록도를 나타낸다.
도 14부터 도 17을 참조하면, 예시적으로 도시된 제2전력 영역(1011-2)은 다수의 제1스위치들(1130-1~1130-k, k는 자연수), 다수의 IP들(1140-1~1140-m, m은 자연수), 다수의 제2스위치들(1149-1~1149-m), 클락 관리 유닛(clock management unit(CMU); 1150), 및 위상 동기 루프(phase locked loop(PLL); 1151)를 포함한다.
다수의 제1스위치들(1130-1~1130-k) 각각은 파워 라인(1131-1)과 공통 파워 라인(1131-2) 사이에 접속된다.
예컨대, 다수의 제1스위치들(1130-1~1130-k) 각각이 PMOS 트랜지스터로 구현될 때, 파워-다운 시퀀스에서, 다수의 제1스위치들(1130-1~1130-k) 각각은 제1서브-유한 상태 머신(1210-1)으로부터 출력된 다수의 스위칭 신호들(SW31~SW3k) 각각에 따라 턴-오프될 수 있다.
즉, 다수의 스위칭 신호들(SW31~SW3k) 각각의 레벨은 제1서브-유한 상태 머신(1210-1)에 구현된 환경설정 레지스터(1211-1)에 설정된 환경설정 레지스터 값들에 따라 결정될 수 있다.
파워-업 시퀀스에서, 다수의 제1스위치들(1130-1~1130-k) 각각은 제1서브-유한 상태 머신(1210-1)으로부터 출력된 다수의 스위칭 신호들(SW31~SW3k) 각각에 따라 턴-온될 수 있다.
즉, 다수의 스위칭 신호들(SW31~SW3k) 각각의 레벨은 제1서브-유한 상태 머신(1210-1)에 구현된 환경설정 레지스터(1211-1)에 설정된 환경설정 레지스터 값들에 따라 결정될 수 있다. CPU(1111)는 환경설정 레지스터(1211-1)에 저장될 환경설정 레지스터 값들은 설정할 수 있다.
각 IP(1140-1~140-m)는 각 내부 로직 회로(1141-1~1141-m)와 각 인터페이스 (1145-1~1145-m)를 포함한다. 각 내부 로직 회로(1141-1~1141-m)는 각 IP(1140-1~1140-m)의 코어(core)로서, 각 데이터 저장 장치(1143-1~1143-m)를 포함할 수 있다.
각 데이터 저장 장치(1143-1~1143-m)의 구조는 도 15에 도시된 바와 같다. 각 데이터 저장 장치(1143-1~1143-m)의 구조는 실질적으로 동일하므로, 설명의 편의를 위하여 하나의 데이터 저장 장치(1143-1)를 도시한다.
각 데이터 저장 장치(1143-1~1143-m)는 파워-다운 시퀀스 또는 파워-다운 상태에서 보존되어야할 데이터(DATA)를 유지(retention)하는 기능을 수행하는 데이터 저장 장치의 일 예이다.
데이터 저장 장치(1143-1)는 제1데이터 저장 장치(1144-1)와 제2데이터 저장 장치(1144-2)를 포함한다. 제1데이터 저장 장치(1144-1)는 제3서브-유한 상태 머신 (1210-3)으로부터 출력된 유지 제어 신호(RC1)에 따라 그 안에 저장된 데이터를 제2데이터 저장 장치(1144-2)로 전송한다. 따라서, 제2데이터 저장 장치(1144-2)는 파워-다운 시퀀스 또는 파워-다운 상태에서도 데이터를 유지할 수 있다. 예컨대, 각 데이터 저장 장치(1144-1과 1144-2)는 래치로 구현될 수 있다.
각 데이터 저장 장치(1143-1~1143-m)의 데이터 유지 여부는 제3서브-유한 상태 머신(1210-3)으로부터 출력된 다수의 제어 신호들(RC1~RCm) 각각의 활성화 순서 또는 활성화 여부에 따라 결정된다. 다수의 제어 신호들(RC1~RCm) 각각의 활성화 순서 또는 활성화 여부는 제3서브-유한 상태 머신(1210-3)의 환경설정 레지스터 (1211-3)에 저장된 환경설정 레지스터 값들 각각에 따라 결정된다. CPU(1111)는 환경설정 레지스터(1211-3)에 저장될 환경설정 레지스터 값들을 설정할 수 있다.
다수의 제2스위치들(1149-1~1149-m) 각각의 활성화 순서 또는 활성화 여부는 CMU(1150)로부터 출력된 다수의 제어 신호들(CT1~CTm) 각각의 활성화 순서 또는 활성화 여부에 따라 결정된다. CMU(1150)는 제2서브-유한 상태 머신(1210-2)으로부터 출력된 제어 신호(CMUC)에 따라 다수의 제어 신호들(CT1~CTm) 각각의 활성화 순서 또는 활성화 여부를 결정한다.
실시 예에 따라, 다수의 제2스위치들(1149-1~1149-m) 각각의 활성화 순서 또는 활성화 여부는 제2서브-유한 상태 머신(1210-2)의 제어에 따라 직접 결정될 수 있다.
다수의 제2스위치들(1149-1~1149-m) 각각은 AND 게이트로 구현될 수 있다. 따라서, 각 AND 게이트(1149-1~1149-m)는 각 제어 신호(CT1~CTm)의 레벨에 따라 각 클락 신호(CLK1~CLKm)를 각 IP(1140-1~1140-m)로 공급하거나 차단할 수 있다.
CMU(1150)는 PLL(1151)로부터 출력된 클락 신호(CLK)에 따라 다수의 클락 신호들(CLK1~CLKm)을 발생할 수 있다. 다수의 클락 신호들(CLK1~CLKm) 각각은 다수의 IP들(1140-1~1140-m) 각각의 동작 클락 신호로서 사용될 수 있다.
회로 또는 로직으로 구현될 수 있는 각 인터페이스(1145-1~1145-m)는 PMU (1017) 내에 구현되고 각 인터페이스(1145-1~1145-m)의 동작을 제어할 수 있는 서브-유한 상태 머신(미도시)으로부터 출력된 각 제어 신호(PC1~PCm)에 따라 인에이블 또는 디스에이블될 수 있다. 각 제어 신호(PC1~PCm)의 활성화 순서 또는 활성화 여부는 상기 서브-유한 상태 머신에 구현된 환경설정 레지스터에 설정된 각 환경설정 레지스터 값에 따라 결정된다.
각 인터페이스(1145-1~1145-m)는 패드(pad)일 수 있다. 각 패드는 각 제어 신호(PC1~PCm)에 따라 분리(isolation), 접속(connection), 또는 유지(retention)를 할 수 있다. 또한, 각 인터페이스(1145-1~1145-m)는 오실레이터 패드 (oscillator pad)일 수 있다. 각 오실레이터 패드는 각 제어 신호(PC1~PCm)에 따라 온(on) 또는 오프(off)될 수 있다.
도 17에 도시된 바와 같이, 제2유한 상태 머신(1019-2)은 다수의 서브-유한 상태 머신들(1210-1~1210-s) 각각의 활성화 순서 또는 활성화 여부를 결정하기 위한 메인 유한 상태 머신(1200)을 포함한다. 다수의 서브-유한 상태 머신들(1210-1~1210-s) 각각의 활성화 순서 또는 활성화 여부는 메인 유한 상태 머신(1200)의 환경설정 레지스터(1201)에 설정된 환경설정 레지스터 값들에 따라 결정된다. CPU(1111)는 환경설정 레지스터(1201)에 저장될 환경설정 레지스터 값들을 설정할 수 있다.
상술한 바와 같이, 메인 유한 상태 머신(1200)과 다수의 서브-유한 상태 머신들(1210-1~1210-s) 각각은 핸드세이킹(handshaking)을 통하여 서로 통신한다.
CPU(1111)는 각 전력 영역(1011-1~1011-n)에 포함된 각 IP의 상태를 감시하고, 감시 결과에 따라 각 환경설정 레지스터(1201, 및 1211-1~1211-s)에 설정될 환경설정 레지스터 값들을 생성할 수 있다.
도 18은 본 발명의 실시 예에 따른 유한 상태 머신의 포괄적인 상태도를 나타낸다. 도 7을 참조하면, 포괄적인 상태도는 다수의 상태들(S1001~S1023)을 포함한다.
본 명세서에 기재된 각 유한 상태 머신은 다수의 상태들(S1001~S1023) 중에서 적어도 두 개의 상태들을 포함한다.
회로, 로직, 코드, 또는 이들의 조합으로 구현될 수 있는 각 상태 (S1001~S1023)는 각 상태(S1001~S1023)에 상응하는 하위 유한 상태 머신의 동작을 제어할 수 있다. 또한, 각 상태(S1001~S1023)는 각 상태(S1001~S1023)에 상응하는 하위 유한 상태 머신과 핸드세이킹(handshaking)을 통하여 요구 신호(request signal)와 응답 신호(acknowledge signal)를 주고받을 수 있다.
각 조건, 예컨대 요구 신호(C1~C9)는 상위 유한 상태 머신으로부터 출력된 신호이고 각 조건, 예컨대 요구 신호(C11~C13)는 유한 상태 머신 내부에서 생성된 신호들이다.
도 18을 참조하면, 대응되는 상위 유한 상태 머신으로부터 출력된 각 요구 신호(C1~C9)에 따라 각 상태(S1005, S1008, S1011, S1013, S1023, S1020, S1017, 및 S1015)가 수행된다.
리셋 시퀀스(reset sequence)는 상태(S1001)부터 상태(S1003)까지를 포함한다. 예컨대, 상태(S1001)에서 리셋 이벤트(C9)가 입력되면, 리셋 순서기(1023)는 상태(S1002)와 상태(S1003)를 순차적으로 수행한다. 각 상태(S1002와 S1003)는 핸드세이킹을 통하여 각 하위 유한 상태 머신과 통신한다. 따라서 타겟 전력 영역은 상태(S1002)와 상태(S1003)를 통하여 파워-업 상태(S1004)로 천이한다.
파워-다운 시퀀스는 상태(S1005)로부터 상태(S1013)까지를 포함한다. CPU로부터 출력된 환경설정 레지스터 값들에 따라 다수의 상태들(S1005~S1013) 각각의 활성화 순서 또는 활성화 여부가 결정된다.
파워-업 상태(S1004)를 갖는 유한 상태 머신으로 상위 유한 상태 머신으로부터 조건(C1), 예컨대 파워-다운 요구 신호가 입력되면, 상태(S1004)는 상태(S1005)로 천이한다. 상태(S1005)는 자신의 하위 유한 상태 머신과 핸드세이킹을 통하여 통신하고, 상태(S1005)는 상기 하위 위한 상태 머신으로부터 출력된 응답 신호에 따라 상태(S1006)로 천이한다. 상태(S1006)는 자신의 하위 유한 상태 머신과 핸드세이킹을 통하여 통신하고, 상태(S1006)는 상기 하위 위한 상태 머신으로부터 출력된 응답 신호에 따라 상태(S1007)로 천이한다.
상위 유한 상태 머신으로부터 조건(C2)가 입력되기 전에 조건(C11)이 발생하면, 상태(S1007)는 상태(S1008)로 천이하지 않고 상태(S1021)로 천이한다. 그러나, 조건(C11)이 발생하기 전에 상위 유한 상태 머신으로부터 조건(C2)가 입력되면 상태(S1007)는 상태(S1008)로 천이한다. 파워-업 상태(S1004)는 다수의 상태들 (S1005~S1013)을 통하여 파워-다운 상태(S1014)로 천이한다.
파워-업 시퀀스는 상태(S1015)로부터 상태(S1023)까지를 포함한다. CPU로부터 출력된 환경설정 레지스터 값들에 따라 다수의 상태들(S1015~S1023) 각각의 활성화 순서 또는 활성화 여부가 결정된다.
상위 유한 상태 머신으로부터 조건(C8)이 입력되면, 파워-다운 상태(S1014)는 상태(S1015)로 천이하고, 상태(S1015)는 자신의 하위 유한 상태 머신과 핸드세이킹을 통하여 통신하고, 상기 하위 유한 상태 머신으로부터 응답 신호가 입력되면, 상태(S1015)는 상태(S1016)으로 천이한다. 상태(S1016)는 자신의 하위 유한 상태 머신과 핸드세이킹을 통하여 통신한다. 상위 유한 상태 머신으로부터 조건(C7)이 입력되면, 상태(S1016)는 상태(S1017)로 천이하고, 상태(1017)는 자신의 하위 유한 상태 머신과 핸드세이킹을 통하여 통신한다. 상태(S1014)는 다수의 상태들 (S1015~S1023)을 통하여 파워-업 상태(S104)로 천이한다.
예컨대, 활성화된 상태에 상응하는 하위 유한 상태 머신은 상기 상태로부터 출력된 요구 신호에 따라 행위 또는 일을 수행할 수도 있고 수행하지 않을 수도 있다. 예컨대, 파워-다운 시퀀스에서 환경설정 레지스터 값들에 따라 상태들 (S1005~S1013) 모두가 활성화되더라도 상태(S1007)에 상응하는 하위 유한 상태 머신이 어떠한 행위 또는 어떠한 일도 하지 않을 수 있다. 이 경우 상태(S1007)는 상기 하위 유한 상태 머신으로부터 출력된 응답 신호에 따라 상태(S1008)로 바로 천이한다. 즉, 상태(S1007)는 바이패스될 수 있다. 바이패스된 상태 또는 상기 바이패스된 상태에 상응하는 유한 상태 머신은 비활성화(deactivation) 되었다고 정의할 수 있다.
예컨대, 환경설정 레지스터 값 '1'에 해당하는 상태의 하위 유한 상태 머신이 정해진 행위 또는 일을 수행하고, 환경설정 레지스터 값 '0'에 해당하는 상태의 하위 유한 상태 머신이 어떠한 행위 또는 어떠한 일을 수행하지 않는다고 정의하면, 환경설정 레지스터 값들 각각에 상응하는 다수의 상태들 각각의 활성화 순서 또는 활성화 여부는 결정될 수 있다.
예컨대, 파워-다운 시퀀스에서 환경설정 레지스터 값들이 '111111111'로 설정되면 다수의 상태들(S1005~S1013)은 순차적으로 활성화되고 이에 따라 다수의 상태들(S1005~S1013) 각각에 상응하는 하위 유한 상태 머신은 정해진 행위 또는 정해진 일을 수행할 수 있다. 그러나, 환경설정 레지스터 값들이 '101010101'로 설정되면, 각 상태(S1006, S1008, S1010, 및 S1012)는 바이패스된다. 즉, 각 상태(S1006, S1008, S1010, 및 S1012)는 비활성화되었다고 정의할 수 있다.
실시 예에 따라 환경설정 레지스터 값들이 '101010101'로 설정되면, 상태 (S1005)에 상응하는 행위 또는 일이 종료하면 상태(S1005)는 상태(S1007)로 천이(또는, 점프)하고, 상태(S1007)에 상응하는 행위 또는 일이 종료하면 상태(S1007)는 상태(S1009)로 천이한다. 유사하게 상태(S1009)는 상태(S1011)로 천이하고 상태(S1011)는 상태(S1013)로 천이한다. 따라서 환경설정 레지스터 값들은 다수의 상태들 각각의 활성화 순서 또는 활성화 여부를 결정할 수 있다. 상기 다수의 상태들 각각의 활성화 순서 또는 활성화 여부에 따라 다수의 유한 상태 머신들 각각의 활성화 순서 또는 활성화 여부가 결정된다.
상술한 바와 같이 환경설정 레지스터 값 1에 상응하는 상태 또는 상기 상태에 상응하는 유한 상태 머신은 활성화되었다고 표현할 수 있고 환경설정 레지스터 값 0에 상응하는 상태 또는 상기 상태에 상응하는 유한 상태 머신은 비활성화되었다고 표현할 수 있다.
도 19는 도 18에 도시된 상태도의 일 실시 예에 따른 서브-셋을 나타낸다. 도 19에 도시된 서브-셋은 도 18의 상태도에 포함된 다수의 상태들(S1001~S1023) 중에서 두 개의 상태들(S1004와 S1014)만을 포함하는 유한 상태 머신의 상태도이다.
도 12, 도 13, 도 17, 도 18, 및 도 19를 참조하면, 각 서브-유한 상태 머신(1119-1과 1210-1)은 두 개의 상태들(S1004와 S1014)을 포함한다. 파워-업 상태 (S1004)에서 타겟 전력 영역은 정상적으로 동작하고, 파워-다운 상태(S1014)에서 타겟 전력 영역은 파워-다운 상태이다. 각 상태(S1004와 S1014)는 각 요구 신호 (down_req와 up_req)에 따라 천이된다. 각 요구 신호(down_req와 up_req)의 소스 (source)는 중앙 순서기(1021) 또는 각 서브-유한 상태 머신(1119-1과 1210-1)의 각 환경설정 레지스터(1120-1과 1211-1)이다.
중앙 순서기(1021)는 SoC-레벨 전력 제어를 담당하고, 각 환경설정 레지스터 (1120-1과 1211-1)은 영역-레벨 전력 제어(domain-level power control)를 담당한다.
도 20은 도 18에 도시된 상태도의 다른 실시 예에 따른 서브-셋을 나타낸다. 도 20에 도시된 서브-셋은 도 18의 상태도에 포함된 다수의 상태들(S1001~S1023) 중에서 다수의 상태들(S1004~S1007, S1009, S1014, S1019, 및 S1021~S1023)을 포함하는 유한 상태 머신의 상태도이다.
도 20을 참조하면, 파워-업 상태(S1004)와 파워-다운 상태(S1014) 사이에는 다수의 상태들(S1005, S1006, S1007, 및 S1009)이 존재한다. 상위 유한 상태 머신으로부터 출력된 하나의 요구 신호(down_req)에 따라, 파워-업 상태(S1004)는 다수의 상태들(S1005~S1009)을 통하여 파워-다운 상태(S1014)로 천이할 수 있다. 즉, 파워-업 상태(S1004)를 갖는 전력 영역 또는 IP는 다수의 상태들(S1005, S1006, S1007, 및 S1009)을 포함하는 파워-다운 시퀀스를 통하여 파워-다운 상태(S1014)로 천이할 수 있다.
상위 유한 상태 머신으로부터 출력된 하나의 요구 신호(up_req)에 따라, 파워-다운 상태(S1014)는 다수의 상태들(S1019, S1021, S1022, 및 S1023)을 통하여 파워-업 상태(S1004)로 천이할 수 있다. 즉, 파워-다운 상태(S1014)를 갖는 전력 영역 또는 IP는 다수의 상태들(S1019, S1021, S1022, 및 S1023)을 포함하는 파워-업 시퀀스를 통하여 파워-업 상태(S1004)로 천이할 수 있다.
도 21은 도 18에 도시된 상태도의 또 다른 실시 예에 따른 서브-셋을 나타낸다. 도 21을 참조하면, 파워-업 상태(S1004)와 파워-다운 상태(S1014) 사이에는 다수의 상태들(S1005, S1006, S1007, 및 S1009)이 존재한다. 다수의 요구 신호들 (down_req[0]와 down_req[1])에 따라, 파워-업 상태(S1004)는 다수의 상태들 (S1005, S1006, S1007, 및 S1009)을 통하여 파워-다운 상태(S1014)로 천이할 수 있다. 즉, 파워-업 상태(S1004)를 갖는 전력 영역 또는 IP는 다수의 상태들(S1005, S1006, S1007, 및 S1009)을 포함하는 파워-다운 시퀀스를 통하여 파워-다운 상태 (S1014)로 천이할 수 있다. 다수의 요구 신호들(down_req[0]와 down_req[1]) 각각은 동일한 상위 유한 상태 머신 또는 서로 다른 상위 유한 상태 머신으로부터 출력될 수 있다.
예컨대, 첫 번째 요구 신호(down_req[0])에 따라 타겟 전력 영역에 상응하는 모든 버스 마스터들이 디스에이블되고, 두 번째 요구 신호(down_req[1])에 따라 상기 타겟 전력 영역으로 공급되는 전력이 차단될 수 있다.
다수의 요구 신호들(up_req[0]와 up_req[1])에 따라, 파워-오프 상태(S1014)는 다수의 상태들(S1019, S1021, S1022, 및 S1023)을 통하여 파워-업 상태(S1004)로 천이할 수 있다. 즉, 파워-업 상태(S1004)를 갖는 전력 영역 또는 IP는 다수의 상태들(S1005, S1006, S1007, 및 S1009)을 포함하는 파워-다운 시퀀스를 통하여 파워-다운 상태(S1014)로 천이할 수 있다. 다수의 요구 신호들(up_req[0]와 up_req[1]) 각각은 동일한 상위 유한 상태 머신 또는 서로 다른 상위 유한 상태 머신으로부터 출력될 수 있다.
도 22는 도 18에 도시된 상태도의 또 다른 실시 예에 따른 서브-셋을 나타낸다. 도 21과 도 22를 참조하면, 파워-다운 시퀀스에 포함된 상태(S1007)는 상태 (S1009)를 통하여 파워-다운 상태(S1014)로 도달하기 전에 조건(C11)에 따라 파워-업 시퀀스에 포함된 상태(S1021)로 천이할 수 있다. 이 경우, 파워-업 상태(S1004)를 갖는 전력 영역 또는 IP는 파워-다운 상태(S1014)로 도달하기 전에 각 상태 (S1021, S1022, 및 S1023)를 통하여 다시 파워-업 상태(S1004)로 돌아올 수 있다.
도 22에 도시된 바와 같이, 첫 번째 다운 요구 신호(down_req[0])에 따라 타겟 전력 영역, 예컨대 CPU의 L2 캐시 메모리에 대한 데이터 유지(retention)가 수행되고, 두 번째 다운 요구 신호(down_req[1])에 따라 상기 타겟 전력 영역, 예컨대 상기 L2 캐시 메모리로 공급되는 전력이 차단될 수 있다.
도 23은 도 18에 도시된 상태도의 또 다른 실시 예에 따른 서브-셋을 나타낸다.
도 22과 도 23을 참조하면, 리셋 기능을 수행할 수 있는 유한 상태 머신은 상위 유한 상태 머신으로부터 출력된 리셋 요구 신호(reset_req)에 따라 다수의 상태들(S1002와 S1003)을 포함하는 리셋 시퀀스를 수행한다. 따라서, 상기 유한 상태 머신의 제어에 따라 해당 전력 영역은 상태(S1001)로부터 파워-업 상태(S1004)로 천이한다.
도 24는 리셋 동작을 수행할 수 있는 유한 상태 머신의 상태도를 나타낸다.
도 12와 도 24를 참조하면, 리셋 이벤트가 발생하면(S1100), 리셋 순서기 (1023)는 상기 리셋 이벤트에 따라 다수의 유한 상태 머신들(1011-1~1011-n) 중에서 리셋 기능을 수행할 수 있는 다수의 유한 상태 머신들 각각의 리셋 동작을 제어한다.
예컨대, 리셋 순서기(1023)는 브렌치(branch)가 없는 유한 상태 머신으로 구현될 수 있다. 도 24에 도시된 바와 같이, 리셋 순서기(1023)의 제어에 따라, 타겟 전력 영역 또는 타겟 IP에 대한 리셋 동작을 수행할 수 있는 유한 상태 머신은 다수의 상태들(S1110~S1150)을 포함한다.
리셋 동작시 리셋 순서기(1023) 또는 유한 상태 머신의 리셋 서브 유한 상태 머신은 오실레이터로 공급되는 전력을 대기시키고(S1110), CMU가 리셋되고(S1120), 내부 로직 회로가 리셋되고(S1130), 메모리에 포함된 각 서브 블록이 리셋되고 (S1141, S1143, 및 S1145), CPU가 리셋된다(S1150). 따라서 해당 전력 영역 또는 IP는 파워-업 상태가 된다(S1160).
도 25는 도 12에 도시된 SoC의 동작을 설명하기 위한 플로우차트이다.
도 12와 도 25를 참조하면, CPU는 다수의 전력 영역들(1011-1~1011-n) 각각에 포함된 IP들 각각의 동작을 감시하고 감시 결과에 따라 환경설정 레지스터 값들을 생성한다(S1200).
각각이 다수의 IP들을 포함하는 다수의 전력 영역들(1011-1~1011-n) 각각을 독립적으로 제어하는 다수의 유한 상태 머신들(1019-1~1019-n) 중에서 어느 하나의 유한 상태 머신이 상기 CPU로부터 출력된 상기 환경설정 레지스터 값들을 수신한다(S1210).
상기 어느 하나의 유한 상태 머신은 상기 환경설정 레지스터 값들에 따라 다수의 전력 영역들(1011-1~1011-n) 중에서 어느 하나의 전력 영역의 전력 상태와 동작 상태를 독립적으로 제어한다(S1220).
도 26은 계층적으로 구현된 다수의 유한 상태 머신들의 일 실시예를 개념적으로 나타낸다. 도 12와 도 26을 참조하면, SoC(1010)는 각각이 다수의 IP들을 포함하는 다수의 전력 영역들(1011-1~1011-n)과, PMU(1017)를 포함한다.
PMU(1017)는 계층적으로 구현된 다수의 FSM들(finite state machines; 1021, 1019-1~1019-n; GC1~GCp)을 포함한다. 도 26에서는 설명의 편의를 위하여 3개 계층으로 구현된 다수의 FSM들(1021, 1019-1~1019-n; GC1~GCp)를 도시하나 이에 한정되는 것은 아니다.
다수의 FSM들(1021, 1019-1~1019-n; GC1~GCp) 중에서 자식 FSM들(1019-1~1019-n) 각각의 활성화 순서 또는 활성화 여부는 자식 FSM들(1019-1~1019-n) 각각이 속하는 부모 FSM(1021), 예컨대 중앙 순서기에 설정된 제1레지스터 값들에 따라 결정된다.
자식 FSM들(1019-1~1019-n) 각각에 속하는 손자 FSM 그룹들(GC1~GCp) 각각의 활성화 순서 또는 활성화 여부는 자식 FSM들(1019-1~1019-n) 각각에 설정된 제2레지스터 값들에 따라 결정된다. 손자 FSM 그룹들(GC1~GCp) 각각은 다수의 손자 FSM들을 포함한다.
자식 FSM들(1019-1~1019-n) 각각은 다수의 전력 영역들(1011-1~1011-n) 각각을 독립적으로 제어하고, 손자 FSM 그룹들(GC1~GCp) 각각에 포함된 손자 FSM들 각각은 다수의 전력 영역들(1011-1~1011-n) 각각에 포함된 상기 다수의 IP들 각각의 전력 상태와 동작 상태를 독립적으로 제어한다.
도 27은 계층적으로 구현된 다수의 유한 상태 머신들의 다른 실시예를 개념적으로 나타낸다. 도 12, 도 26, 및 도 27을 참조하면, PMU(1017)는 다수의 유한 상태 머신들(1019-1~1019-n) 중에서 리셋 기능을 수행할 수 있는 다수의 유한 상태 머신들(1019-1과 1019-2) 각각의 리셋 동작을 제어하는 리셋 순서기(1023)을 더 포함한다. 실시 예에 따라 리셋 순서기(1023)는 중앙 순서기(1021)의 리셋 동작을 제어할 수 있다.
도 28은 도 12에 도시된 SoC를 포함하는 전자 장치의 블록도를 나타낸다.
도 12와 도 28을 참조하면, 전자 장치(1300)는 PC(personal computer), 랩탑 컴퓨터(laptop computer), 이동 전화기(mobile phone), 스마트 폰(smart phone), 태블릿 PC(tablet PC), PDA(personal digital assistant), 또는 PMP(portable multimedia player)로 구현될 수 있다.
전자 장치(1300)는 SoC(1010)와 다수의 인터페이스들(interfaces; 1311~1323)을 포함한다. SoC(1010)의 CPU는 SoC(1010)의 전반적인 동작을 제어한다.
SoC(1010)는 다수의 인터페이스들(1311~1323) 각각을 통하여 다수의 주변 장치들 각각과 통신할 수 있다. 예컨대, 다수의 인터페이스들(1311~1323) 각각은 각 전력 영역(1011-1~1011-n)에 구현된 다수의 IP들 중에서 상응하는 IP로부터 출력된 적어도 하나의 제어 신호를 상기 다수의 주변 장치들 각각으로 전송할 수 있다.
예컨대, SoC(1010)는 각 디스플레이 인터페이스(1311과 1312)를 통하여 각 평판 디스플레이 장치(flat panel display)의 전력 상태와 동작 상태를 제어할 수 있다. 평판 디스플레이 장치는 LCD(liquid crystal device) 디스플레이, LED(light emitting diode) 디스플레이, OLED(Organic Light Emitting Diode) 디스플레이, 또는 AMOLED(Active Matrix Organic Light-Emitting Diode) 디스플레이를 포함한다.
SoC(1010)는 캠코더 인터페이스(1313)를 통하여 캠코더의 전력 상태와 동작 상태를 제어할 수 있고, TV 인터페이스(1314)를 통하여 TV 모듈의 전력 상태와 동작 상태를 제어할 수 있고, 이미지 센서 인터페이스(1315)를 통하여 카메라 모듈 또는 이미지 센서 모듈의 전력 상태와 동작 상태를 제어할 수 있다.
SoC(1010)는 GPS 인터페이스(1316)를 통하여 GPS 모듈의 전력 상태와 동작 상태를 제어할 수 있고, UWB 인터페이스(1317)를 통하여 UWB(ultra wideband) 모듈의 전력 상태와 동작 상태를 제어할 수 있고, USB 드라이브 인터페이스(1318)를 통하여 USB 드라이브의 전력 상태와 동작 상태를 제어할 수 있다.
SoC(1010)은 DRAM 인터페이스(dynamic random access memory interface; 1319)를 통하여 DRAM의 전력 상태와 동작 상태를 제어할 수 있고, 불휘발성 메모리 인터페이스(1320), 예컨대 플래시 메모리 인터페이스를 통하여 불휘발성 메모리, 예컨대 플래시 메모리의 전력 상태와 동작 상태를 제어할 수 있고, 오디오 인터페이스(1321)를 통하여 오디오 모듈의 전력 상태와 동작 상태를 제어할 수 있고, MFC 인터페이스(1322)를 통하여 MFC의 전력 상태를 제어할 수 있고, MP3 플레이어 인터페이스(1323)를 통하여 MP3플레이어의 전력 상태를 제어할 수 있다. 여기서 모듈(module) 또는 인터페이스는 하드웨어 또는 소프트웨어로 구현될 수 있다.
본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위와 기술적 사상에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능하다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100,200;집적 회로 장치
120,220;전력 공급 회로
131~13n,231~23n;전력 영역 블록들
140,240;전력 제어 회로
141~14n,241~24n;전력 클러스터들
150,250;중앙 클러스터
260;클럭 발생 회로

Claims (36)

  1. 복수의 전력 영역 블록들;
    코어; 그리고
    상기 코어의 제어에 응답하여 상기 복수의 전력 영역 블록들 각각의 전력 상태를 독립적으로 제어하는 전력 제어 회로를 포함하고,
    상기 전력 제어 회로는 상기 복수의 전력 영역 블록들 각각에 대응하는 복수의 전력 클러스터들 및 중앙 클러스터를 포함하고,
    각 전력 클러스터는 상기 코어의 제어에 응답하여 상기 복수의 전력 영역 블록들 중 대응하는 전력 영역 블록의 전력 상태를 독립적으로 제어하고,
    상기 중앙 클러스터는 상기 코어의 제어에 응답하여 상기 복수의 전력 클러스터들의 동작 순서를 제어하는 집적 회로 장치.
  2. 제1항에 있어서,
    상기 복수의 전력 클러스터들 중 특정 전력 클러스터는 상기 코어의 제어에 응답하여 상기 복수의 전력 영역 블록들 중 상기 특정 전력 클러스터에 대응하는 특정 전력 영역 블록에 공급되는 전력을 차단하는 집적 회로 장치.
  3. 제1항에 있어서,
    상기 전력 제어 회로는 상기 코어의 전력 상태를 제어하는 코어 전력 클러스터를 더 포함하고,
    상기 중앙 클러스터의 제어에 응답하여, 상기 복수의 전력 클러스터들 및 상기 코어 전력 클러스터는 상기 복수의 전력 영역 블록들 및 상기 코어에 공급되는 전력을 순차적으로 차단하는 집적 회로 장치.
  4. 제1항에 있어서,
    상기 복수의 전력 클러스터들 중 특정 전력 클러스터에 상기 코어로부터 제1제어 신호가 전달되고, 그리고 상기 중앙 클러스터로부터 상기 특정 전력 클러스터에 제2제어 신호가 전달될 때, 상기 특정 전력 클러스터는 상기 제2제어 신호에 대한 응답 신호를 상기 중앙 클러스터에 전송하되, 상기 제2제어 신호를 무시하는 집적 회로 장치.
  5. 제1항에 있어서,
    상기 전력 제어 회로는
    상기 복수의 전력 영역 블록들에 각각 대응하며, 상기 코어의 제어에 응답하여 상기 복수의 전력 영역 블록들의 동작 상태를 독립적으로 제어하는 복수의 클럭 클러스터들을 더 포함하고,
    상기 중앙 클러스터는 상기 코어의 제어에 응답하여 상기 복수의 클럭 클러스터들의 동작 순서를 제어하는 집적 회로 장치.
  6. 각각이 복수의 IP들(intellectual properities)을 포함하는 복수의 전력 영역들:
    각각이 그 안에(therein) 구현된 레지스터에 설정된 레지스터 값들에 따라 상기 복수의 전력 영역들 각각의 전력 상태와 동작 상태를 독립적으로 제어하는 복수의 유한 상태 머신들(finite state machines)을 포함하는 전력 제어 유닛; 및
    그 안에 포함된 중앙 환경설정 레지스터에 설정된 적어도 하나의 중앙 환경설정 레지스터 값에 따라 상기 복수의 유한 상태 머신들 각각의 활성화 순서 또는 활성화 여부를 결정하는 중앙 순서기(central sequencer)를 포함하는 SoC(System on Chip)
  7. 제6항에 있어서, 상기 복수의 유한 상태 머신들 각각은,
    복수의 상태들을 포함하며,
    상기 복수의 상태들 각각의 활성화(activation) 순서 또는 활성화 여부는 상기 레지스터 값들에 따라 결정되는 SoC.
  8. 제6항에 있어서, 상기 복수의 유한 상태 머신들 각각은,
    각각이 상기 전력 상태와 상기 동작 상태를 독립적으로 제어하는 복수의 서브-유한 상태 머신들; 및
    그 안에 설정된 상기 레지스터 값들에 따라 상기 복수의 서브-유한 상태 머신들 각각의 활성화 순서 또는 활성화 여부를 결정하는 메인 상태 머신을 포함하는 SoC.
  9. 제6항에 있어서, 상기 SoC는,
    상기 복수의 전력 영역들 각각에 포함된 상기 IP들 각각의 동작을 감시하고, 감시 결과에 따라 상기 복수의 전력 영역들 중에서 제어될 전력 영역에 대한 상기 레지스터 값들을 생성하는 CPU(central processing unit)를 더 포함하는 SoC.
  10. 제6항에 있어서,
    상기 중앙 순서기에 의하여 독립적으로 제어되는 상기 복수의 전력 영역들 각각의 최종 상태(final state)는 서로 동일한 SoC.
  11. 제6항에 있어서, 상기 복수의 유한 상태 머신들 각각은,
    전력 영역 단위로 파워-업 상태, 파워-다운 상태, 파워-업 시퀀스, 또는 파워-다운 시퀀스로 정의된 상기 전력 상태를 제어하고,
    IP 단위로 상기 동작 상태를 제어하는 SoC.
  12. 제6항에 있어서, 상기 SoC는,
    각각이 상기 복수의 전력 영역들 사이에 접속된 복수의 분리 회로들 (isolation circuits)을 더 포함하며,
    상기 복수의 분리 회로들 각각은,
    상기 복수의 유한 상태 머신들 각각에 저장된 상기 레지스터 값들에 따라 접속 또는 분리되는 SoC.
  13. 제6항에 있어서, 상기 복수의 유한 상태 머신들 각각은,
    상기 전력 상태를 결정하기 위한 제1서브-유한 상태 머신; 및
    상기 동작 상태를 결정하기 위한 제2서브-유한 상태 머신을 포함하며,
    상기 복수의 전력 영역들 각각은,
    전력 공급 회로로부터 출력된 복수의 전력들 중에서 대응되는 전력을 공급하는 파워 라인;
    그 안에 포함된 복수의 IP들이 접속된 공통 파워 라인;
    각각이 상기 파워 라인과 상기 공통 파워 라인 사이에 접속되고 상기 제1서브-유한 상태 머신의 제어에 따라 스위칭되는 복수의 제1스위치들; 및
    클락 제어 유닛으로부터 출력된 복수의 클락 신호들 각각을 그 안에 포함된 상기 복수의 IP들 각각으로 공급하기 위한 복수의 제2스위치들을 포함하며,
    상기 복수의 제1스위치들 각각의 스위칭 여부는 상기 제1서브-유한 상태 머신에 저장된 제1스위치 레지스터 값들에 따라 결정되고,
    상기 복수의 제2스위치들 각각의 스위칭 여부는 상기 제2서브-유한 상태 머신에 저장된 제2스위치 레지스터 값들에 따라 결정되는 SoC.
  14. 제6항에 있어서, 상기 복수의 전력 영역들 중에서 어느 하나의 전력 영역은,
    제1코어와 제2코어를 포함하는 CPU를 포함하며,
    상기 복수의 유한 상태 머신들 중에서 상기 어느 하나의 전력 영역을 제어할 수 있는 유한 상태 머신은,
    상기 제1코어의 상기 전력 상태와 리셋 여부를 제어할 수 있는 제1서브-유한 상태 머신; 및
    상기 제2코어의 상기 전력 상태와 리셋 여부를 제어할 수 있는 제2서브-유한 상태 머신을 포함하는 SoC.
  15. 각각이 복수의 IP들(intellectual properities)을 포함하는 복수의 전력 영역들:
    각각이 그 안에(therein) 구현된 레지스터에 설정된 레지스터 값들에 따라 상기 복수의 전력 영역들 각각의 전력 상태와 동작 상태를 독립적으로 제어하는 복수의 유한 상태 머신들(finite state machines)을 포함하는 전력 제어 유닛;
    그 안에 포함된 중앙 환경설정 레지스터에 설정된 적어도 하나의 중앙 환경설정 레지스터 값에 따라 상기 복수의 유한 상태 머신들 각각의 활성화 순서 또는 활성화 여부를 결정하는 중앙 순서기(central sequencer); 및
    상기 복수의 유한 상태 머신들 중에서 리셋 기능을 수행할 수 있는 복수의 유한 상태 머신들 각각의 리셋 동작을 제어하는 리셋 순서기(reset sequencer)를 포함하는 SoC.
  16. 각각이 복수의 IP들(intellectual properities)을 포함하는 복수의 전력 영역들: 및
    계층적으로 구현된 복수의 FSM들(finite state machines)을 포함하는 전력 제어 유닛을 포함하며,
    상기 복수의 FSM들 중에서 자식 FSM들 각각의 활성화 순서 또는 활성화 여부는 상기 자식 FSM들 각각이 속하는 부모 FSM에 설정된 제1레지스터 값들에 따라 결정되고,
    상기 자식 FSM들 각각에 속하는 손자 FSM들 각각의 활성화 순서 또는 활성화 여부는 상기 자식 FSM들 각각에 설정된 제2레지스터 값들에 따라 결정되고,
    상기 손자 FSM들 각각은 상기 복수의 전력 영역들 각각에 포함된 상기 복수의 IP들 각각의 전력 상태와 동작 상태를 독립적으로 제어하는 SoC(System on Chip).
  17. 각각이 복수의 IP들(intellectual properities)을 포함하는 복수의 전력 영역들을 포함하는 SoC(System on Chip); 및
    각각이 상기 복수의 IP들 각각의 제어에 따라 동작하는 복수의 주변 장치들을 포함하며,
    상기 SoC는,
    각각이 그 안에(therein) 구현된 레지스터에 설정된 레지스터 값들에 따라 상기 복수의 전력 영역들 각각의 전력 상태와 동작 상태를 독립적으로 제어하는 복수의 유한 상태 머신들을 포함하는 전력 제어 유닛; 및
    그 안에 포함된 중앙 환경설정 레지스터에 설정된 적어도 하나의 중앙 환경설정 레지스터 값에 따라 상기 복수의 유한 상태 머신들 각각의 활성화 순서 또는 활성화 여부를 결정하는 중앙 순서기(central sequencer)를 포함하는 전자 장치.
  18. 각각이 복수의 IP들(intellectual properities)을 포함하는 복수의 전력 영역들을 포함하는 SoC(System on Chip);
    상기 복수의 전력 영역들 중에서 어느 하나에 포함된 복수의 IP들 중에서 어느 하나의 IP의 제어에 따라 동작하는 디스플레이 장치;
    상기 복수의 전력 영역들 중에서 다른 하나에 포함된 복수의 IP들 중에서 어느 하나의 IP의 제어에 따라 동작하는 메모리 장치를 포함하며,
    상기 SoC는,
    각각이 그 안에(therein) 구현된 레지스터에 설정된 레지스터 값들에 따라 상기 복수의 전력 영역들 각각의 전력 상태와 동작 상태를 독립적으로 제어하는 복수의 유한 상태 머신들을 포함하는 전력 제어 유닛; 및
    그 안에 포함된 중앙 환경설정 레지스터에 설정된 적어도 하나의 중앙 환경설정 레지스터 값에 따라 상기 복수의 유한 상태 머신들 각각의 활성화 순서 또는 활성화 여부를 결정하는 중앙 순서기(central sequencer)를 포함하는 휴대용 통신 장치.
  19. 각각이 복수의 IP들(intellectual properities)을 포함하는 복수의 전력 영역들: 및
    각각이 그 안에(therein) 구현된 레지스터에 설정된 레지스터 값들에 따라 상기 복수의 전력 영역들 각각의 전력 상태와 동작 상태를 독립적으로 제어하는 복수의 유한 상태 머신들(finite state machines)을 포함하는 전력 제어 유닛을 포함하며,
    상기 복수의 유한 상태 머신들 각각은,
    상기 전력 상태를 결정하기 위한 제1서브-유한 상태 머신; 및
    상기 동작 상태를 결정하기 위한 제2서브-유한 상태 머신과 제3서브-유한 상태 머신을 포함하며,
    상기 복수의 전력 영역들 각각은,
    전력 공급 회로로부터 출력된 복수의 전력들 중에서 대응되는 전력을 공급하는 파워 라인;
    그 안에 포함된 복수의 IP들이 접속된 공통 파워 라인;
    각각이 상기 파워 라인과 상기 공통 파워 라인 사이에 접속되고 상기 제1서브-유한 상태 머신의 제어에 따라 스위칭되는 복수의 제1스위치들;
    클락 제어 유닛으로부터 출력된 복수의 클락 신호들 각각을 그 안에 포함된 상기 복수의 IP들 각각으로 공급하기 위한 복수의 제2스위치들; 및
    그 안에 포함된 상기 복수의 IP들 각각에 구현된 제1데이터 저장 장치와 제2데이터 저장 장치를 포함하며,
    상기 복수의 제1스위치들 각각의 스위칭 여부는 상기 제1서브-유한 상태 머신에 저장된 제1스위치 레지스터 값들에 따라 결정되고,
    상기 복수의 제2스위치들 각각의 스위칭 여부는 상기 제2서브-유한 상태 머신에 저장된 제2스위치 레지스터 값들에 따라 결정되고,
    상기 제1데이터 저장 장치에 저장된 데이터는 상기 제3서브-유한 상태 머신에 포함된 유지 레지스터 값에 의하여 발생한 유지(retention) 제어 신호에 따라 상기 제2데이터 저장 장치에 유지되는 SoC.
  20. 각각이 복수의 IP들을 포함하는 복수의 전력 영역들 각각을 독립적으로 제어하는 복수의 유한 상태 머신들 중에서 어느 하나의 유한 상태 머신이 CPU에 의하여 생성된 환경설정 레지스터 값들을 수신하는 단계; 및
    상기 환경설정 레지스터 값들에 따라, 상기 어느 하나의 유한 상태 머신은 상기 복수의 전력 영역들 중에서 어느 하나의 전력 영역의 전력 상태를 제어하고 상기 어느 하나의 전력 영역에 포함된 적어도 두 개의 IP들 각각의 동작 상태를 독립적으로 제어하는 단계를 포함하는 SoC(System on Chip)의 전력 제어 방법.
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
KR1020110043094A 2010-05-07 2011-05-06 시스템 온 칩, 이를 포함하는 장치들, 및 상기 시스템 온 칩의 전력 제어 방법 KR101835615B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US13/103,535 US8726047B2 (en) 2010-05-07 2011-05-09 System on chip, devices having the same, and method for power control of the SOC
CN201110118818.XA CN102270030B (zh) 2010-05-07 2011-05-09 片上***、具有其的设备以及该片上***的电力控制方法
JP2011104665A JP5875782B2 (ja) 2010-05-07 2011-05-09 システムオンチップ並びにこれを含む電子装置及び携帯用通信装置
DE102011050218.1A DE102011050218B8 (de) 2010-05-07 2011-05-09 Ein-Chip-System, Vorrichtungen mit demselben und Verfahren zur Leistungssteuerung des Ein-Chip-Systems

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020100043070 2010-05-07
KR20100043070 2010-05-07

Publications (2)

Publication Number Publication Date
KR20110123698A KR20110123698A (ko) 2011-11-15
KR101835615B1 true KR101835615B1 (ko) 2018-03-09

Family

ID=45393800

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110043094A KR101835615B1 (ko) 2010-05-07 2011-05-06 시스템 온 칩, 이를 포함하는 장치들, 및 상기 시스템 온 칩의 전력 제어 방법

Country Status (2)

Country Link
KR (1) KR101835615B1 (ko)
DE (1) DE102011050218B8 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200069900A (ko) * 2018-12-07 2020-06-17 한국항공우주연구원 인공위성 내 소프트웨어 기반 재설정 유닛
KR102643030B1 (ko) 2023-10-10 2024-03-04 주식회사 잇다반도체 시스템 온 칩 및 멀티 칩 전력 관리 시스템
KR102643031B1 (ko) 2023-09-07 2024-03-04 주식회사 잇다반도체 프로그램 가능 시퀀서와 이를 이용한 시스템 온 칩 장치
KR102643032B1 (ko) 2023-09-19 2024-03-04 주식회사 잇다반도체 전력 제어 시스템 및 이를 포함한 시스템 온 칩 장치

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102057504B1 (ko) * 2013-07-24 2020-01-22 삼성전자주식회사 어플리케이션 프로세서, 이를 구비하는 모바일 디바이스 및 전력 관리 방법
KR102154080B1 (ko) * 2014-07-25 2020-09-09 삼성전자주식회사 전력 관리 시스템, 이를 포함하는 시스템 온 칩 및 모바일 기기
KR102252643B1 (ko) 2014-10-20 2021-05-17 삼성전자주식회사 시스템 온 칩의 전원 경로 제어기
KR101544466B1 (ko) * 2015-01-29 2015-08-13 (주)에어포인트 휴대용 단말기의 전원회로 제어장치 및 방법
KR102280433B1 (ko) * 2015-09-23 2021-07-22 삼성전자주식회사 전력 공급 회로 및 이를 포함하는 저장 장치
US10642338B2 (en) 2017-09-28 2020-05-05 Intel Corporation Hierarchical power management unit for low power and low duty cycle devices

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002202833A (ja) * 2000-10-26 2002-07-19 Matsushita Electric Ind Co Ltd 集積回路の電力管理システム
JP2006237189A (ja) * 2005-02-24 2006-09-07 Renesas Technology Corp 半導体集積回路装置
JP2007036899A (ja) 2005-07-28 2007-02-08 Sony Corp 制御信号発生回路およびそれを用いた信号処理回路
JP2007079881A (ja) * 2005-09-14 2007-03-29 Nec Corp 電源供給システム、携帯機器及びそれらに用いる電源投入順序制御方法
JP2009134576A (ja) * 2007-11-30 2009-06-18 Fujitsu Microelectronics Ltd 集積回路装置
JP2009237712A (ja) 2008-03-26 2009-10-15 Fujitsu Ltd 回路システムおよびプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7369815B2 (en) 2003-09-19 2008-05-06 Qualcomm Incorporated Power collapse for a wireless terminal
KR101044499B1 (ko) 2009-10-21 2011-06-27 한양대학교 산학협력단 도로용 접착 조성물 및 그것을 이용한 접착 시공방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002202833A (ja) * 2000-10-26 2002-07-19 Matsushita Electric Ind Co Ltd 集積回路の電力管理システム
JP2006237189A (ja) * 2005-02-24 2006-09-07 Renesas Technology Corp 半導体集積回路装置
JP2007036899A (ja) 2005-07-28 2007-02-08 Sony Corp 制御信号発生回路およびそれを用いた信号処理回路
JP2007079881A (ja) * 2005-09-14 2007-03-29 Nec Corp 電源供給システム、携帯機器及びそれらに用いる電源投入順序制御方法
JP2009134576A (ja) * 2007-11-30 2009-06-18 Fujitsu Microelectronics Ltd 集積回路装置
JP2009237712A (ja) 2008-03-26 2009-10-15 Fujitsu Ltd 回路システムおよびプログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200069900A (ko) * 2018-12-07 2020-06-17 한국항공우주연구원 인공위성 내 소프트웨어 기반 재설정 유닛
KR102154245B1 (ko) 2018-12-07 2020-09-09 한국항공우주연구원 인공위성 내 소프트웨어 기반 재설정 유닛
KR102643031B1 (ko) 2023-09-07 2024-03-04 주식회사 잇다반도체 프로그램 가능 시퀀서와 이를 이용한 시스템 온 칩 장치
KR102643032B1 (ko) 2023-09-19 2024-03-04 주식회사 잇다반도체 전력 제어 시스템 및 이를 포함한 시스템 온 칩 장치
KR102643030B1 (ko) 2023-10-10 2024-03-04 주식회사 잇다반도체 시스템 온 칩 및 멀티 칩 전력 관리 시스템

Also Published As

Publication number Publication date
DE102011050218B4 (de) 2020-04-09
DE102011050218A1 (de) 2012-02-16
KR20110123698A (ko) 2011-11-15
DE102011050218B8 (de) 2020-06-10

Similar Documents

Publication Publication Date Title
JP5875782B2 (ja) システムオンチップ並びにこれを含む電子装置及び携帯用通信装置
KR101835615B1 (ko) 시스템 온 칩, 이를 포함하는 장치들, 및 상기 시스템 온 칩의 전력 제어 방법
US11237620B2 (en) Hierarchical power management unit for low power and low duty cycle devices
US9268395B2 (en) Hierarchical power management circuit, power management method using the same, and system on chip including the hierarchical power management circuit
US8782456B2 (en) Dynamic and idle power reduction sequence using recombinant clock and power gating
US8347130B2 (en) Low-power system-on-chip
US8607177B2 (en) Netlist cell identification and classification to reduce power consumption
CN104024980A (zh) 连接的待机睡眠状态
CN1758183A (zh) 集成电路器件
CN101517510A (zh) 使计算平台转换到低功率***状态
CN103959648B (zh) 节约电荷的功率门控装置和方法
KR20130030683A (ko) 이종의 전력 제어와 동종의 전력 제어를 선택적으로 수행할 수 있는 시스템-온 칩과 이의 동작 방법
KR102325453B1 (ko) 반도체 장치의 동작 방법
Kanno et al. Hierarchical power distribution with power tree in dozens of power domains for 90-nm low-power multi-CPU SoCs
Raab et al. Low power design of the X-GOLD® SDR 20 baseband processor
Hattori Challenges for Low-power Embedded SOC's
Xiao et al. Godson-2H: a complex low power SOC in 65nm CMOS
Solomon PCI Express [Product Reviews]
US20230086149A1 (en) Reducing memory power usage in far memory
US20160216756A1 (en) Power management in computing devices
Marjanen Power management of embedded Linux systems
Rusu Multi-domain processors design overview
Balasubramanian et al. IP-ESC 2009
JP2022548483A (ja) 低オーバーヘッド広帯域幅再構成可能な相互接続装置及び方法
Shimizu et al. Low Power Platform for Embedded Processor LSIs

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