KR102643032B1 - 전력 제어 시스템 및 이를 포함한 시스템 온 칩 장치 - Google Patents

전력 제어 시스템 및 이를 포함한 시스템 온 칩 장치 Download PDF

Info

Publication number
KR102643032B1
KR102643032B1 KR1020230124656A KR20230124656A KR102643032B1 KR 102643032 B1 KR102643032 B1 KR 102643032B1 KR 1020230124656 A KR1020230124656 A KR 1020230124656A KR 20230124656 A KR20230124656 A KR 20230124656A KR 102643032 B1 KR102643032 B1 KR 102643032B1
Authority
KR
South Korea
Prior art keywords
power
domain
manager
processing unit
control command
Prior art date
Application number
KR1020230124656A
Other languages
English (en)
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 KR1020230124656A priority Critical patent/KR102643032B1/ko
Application granted granted Critical
Publication of KR102643032B1 publication Critical patent/KR102643032B1/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
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • 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)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Sources (AREA)

Abstract

본 발명은 소프트웨어 레벨에서의 전력 제어 결정과 하드웨어 레벨에서의 전력 제어 실행을 병행하여 시스템 온 칩 장치를 구성하는 복수의 전력 도메인의 전력을 제어하는 전력 제어 시스템 및 이를 포함한 시스템 온 칩 장치에 관한 것이다.
본 발명에 따른 전력 제어 시스템은, 시스템 온 칩 장치에 포함된 복수의 전력 도메인 중 적어도 하나의 제어 대상 전력 도메인에 대한 전력 업 또는 전력 다운을 결정하고, 도메인 전력 업/다운 결정에 기반하여 도메인 전력 업 커맨드 및 도메인 전력 다운 커맨드 중 적어도 하나의 도메인 전력 제어 커맨드를 송출하는 중앙 처리 장치와, 도메인 전력 제어 커맨드를 수신하고 제어 대상 전력 도메인에 전력 업 시퀀스 및 전력 다운 시퀀스 중 적어도 하나를 수행하는 도메인 전력 관리자를 포함한다.

Description

전력 제어 시스템 및 이를 포함한 시스템 온 칩 장치 {POWER CONTROL SYSTEM, AND SYSTEM-ON CHIP DEVICE INCLUDING THE SAME}
본 발명은 시스템 온 칩 장치의 전력 제어에 관한 것으로서, 보다 상세하게는 소프트웨어 레벨에서의 전력 제어 결정과 하드웨어 레벨에서의 전력 제어 실행을 병행하여 시스템 온 칩 장치를 구성하는 복수의 전력 도메인의 전력을 제어하는 전력 제어 시스템 및 이를 포함한 시스템 온 칩 장치에 관한 것이다.
시스템 온 칩(system-on chip(SoC))은 컴퓨터 시스템 또는 다른 전자 시스템을 구현하기 위해 CPU(central processing unit), 메모리, 인터페이스(interface), 디지털 신호 처리 회로 및 아날로그 신호 처리 회로 등 다양한 기능 블록들(function blocks)을 하나의 반도체 집적 회로에 집적하는 기술 또는 그 기술에 따라 집적된 하나의 집적 회로(integrated circuit(IC))를 의미한다. SoC는 프로세서, 멀티미디어(multimedia), 그래픽(graphic), 인터페이스 및 보안 등 다양한 기능 블록들을 포함하는 더욱 복잡한 시스템으로 발전하고 있다.
SoC는 SoC에서 소모되는 전력을 적절하게 관리하기 위한 전력 관리 유닛(Power Management Unit)이 필요하며, 이 전력 관리 유닛은 전력 도메인별로 전력 업/다운 시퀀스를 수행하는 전력 컨트롤러를 포함할 수 있다.
SoC의 전력 도메인들에 대한 전력 제어는, 하드웨어 기반 전력 제어 또는 소프트웨어 기반 전력 제어가 각각 별도로 이용되었다. 하드웨어 기반 전력 제어는 SoC에서 소프트웨어의 개입 없이 하드웨어 레벨에서 동작하여 전력 도메인의 전력을 제어하는 것을 의미하며, 소프트웨어 기반 전력 제어는 SoC에서 소프트웨어를 통해 전력 도메인의 전력을 제어하는 것을 의미한다. 여기서, 소프트웨어라 함은 운영체제(OS), 펌웨어, 디바이스 드라이버, 응용 애플리케이션(Application) 등을 의미하며, 하드웨어라 함은 그 하위의 레이어를 의미할 수 있다.
대표적인 하드웨어 기반 전력 제어로서 상태 머신을 이용한 전력 제어가 있다. 종래의 하드웨어 기반 전력 컨트롤러는 상태 머신(state machine)을 기반으로 미리 정해진 시퀀스를 수행하는 고정 시퀀서로 설계되었다. 상태 머신은 단순하고 빠르다는 장점이 있는 반면에, 미리 정해진 시퀀스만을 수행하므로 유연성(flexibility)이 떨어지는 단점이 있다.
최근 SoC가 복잡해짐에 따라 전력 도메인별 전력 업/다운 시퀀스가 매우 복잡해지고 있으며, 이에 따라 SoC를 설계한 후 실제 실리콘 칩으로 팹 아웃(Fab-out)될 때 여러 가지 비정상적인 케이스들(abnormal cases)이 발생될 수 있다. 이러한 비정상적인 케이스들이 발생하면 전력 업/다운 시퀀스를 변경해야 하는데, 종래의 고정 시퀀서로 동작하도록 설계된 상태 머신은 다양한 비정상적인 케이스에 유연하게 대처할 수 없는 문제가 있다.
이에 최근에는 소프트웨어 기반 전력 제어가 주로 사용된다. 소프트웨어 기반 전력 제어시, 중앙 처리 장치(CPU; Central Processing Unit)를 이용하여 전력 컨트롤러를 설계하는데, 이때 ARM Holdings사에서 개발한 상용 MCU(micro processing unit)인 cortex-M이 주로 이용된다. 중앙 처리 장치는 소프트웨어 레벨에서 각 전력 도메인에 전력 제어 신호를 송출하여 전력 제어를 수행한다.
상용 MCU는 고가이기 때문에 개별 전력 도메인마다 개별 전력 컨트롤러를 매칭하여 배치하면 시스템 온 칩 장치의 가격이 매우 상승하게 된다. 따라서, 하나의 중앙 처리 장치가 복수의 전력 도메인을 대상으로 전력 업/다운 시퀀스를 수행하도록 설계된다. 중앙 처리 장치는 소프트웨어 기반 전력 제어를 수행하기 때문에, 팹 아웃 후 비정상적인 케이스에 적응하는 유연성(flexibility)은 높으나, 하나의 중앙 처리 장치가 복수의 전력 도메인을 대상으로 한 번에 하나의 전력 도메인씩 순차적으로 전력 제어를 하기 때문에 동작 지연 시간이 길어지는 문제점이 있다.
또한, 중앙 처리 장치는 자체 소모 전력이 매우 크지만 전력 도메인의 전력 제어를 위해 파워 오프되지 못하는 문제가 있다. 극단적인 상황에서, 0.1mW를 소모하는 전력 도메인의 전력 제어를 위해, 1000mW를 소모하는 중앙 처리 장치가 동작되어야 하는 아이러니한 상황이 발생될 수 있다. 또한, 중앙 처리 장치가 파워 오프되면 SoC를 다시 파워 온시킬 방법이 없기 때문에 중앙 처리 장치는 스스로 파워 오프될 수 없다. SoC의 전체 소모 전력 중 약 60%가 중앙 처리 장치의 구동을 위해 소모되고, 약 40%가 다른 전력 도메인에서 소모되는 것을 고려하면, 중앙 처리 장치는 SoC의 전체 소모 전력 중 약 40% 정도만을 전력 제어할 수 있을 뿐이다.
SoC는 컴퓨팅 또는 연산을 수행하는 컴퓨팅 구간과, 컴퓨팅 또는 연산을 수행하는 부분이 아닌 다른 기능 또는 요소를 나타내는 넌-컴퓨팅 구간으로 구분될 수 있다. 컴퓨팅 구간에는 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU), 연산 가속기 등 프로그램 실행, 데이터 처리, 연산 작업 등과 관련된 구성요소들이 위치한다. 넌-컴퓨팅 구간에는 통신 인터페이스, 센서 인터페이스, 전원 관리 및 배터리 관리, 오디오 및 비디오 인터페이스, 입출력 인터페이스, 보안 요소, 클럭 및 타이밍 회로 등 다양한 기능들이 포함되는데, 컴퓨팅 구간에 위치한 중앙 처리 장치가 넌-컴퓨팅 구성요소들의 전력 제어를 수행하기 어렵다. 또한, 중앙 처리 장치는 비실시간(non-real time) 동작을 수행하므로, 실시간 주변 장치들(예컨대, 오디오, 디스플레이, 모뎀, 카메라, 센서 등)의 전력을 실시간으로 제어하기는 매우 어려운 문제점이 있다.
대한민국 등록특허 제10-1861743호 대한민국 등록특허 제10-1835615호
본 발명의 목적은, 소프트웨어 레벨에서의 전력 제어 결정과 하드웨어 레벨에서의 전력 제어 실행을 병행하여 시스템 온 칩 장치를 구성하는 복수의 전력 도메인의 전력을 제어하는 전력 제어 시스템을 제공하기 위한 것이다.
본 발명의 다른 목적은, 소프트웨어 레벨에서 동작하는 전력 제어 결정부와 하드웨어 레벨에서 동작하는 전력 제어 실행부를 포함하는 시스템 온 칩 장치를 제공하기 위한 것이다.
본 발명에 따른 전력 제어 시스템은, 시스템 온 칩 장치에 포함된 복수의 전력 도메인 중 적어도 하나의 제어 대상 전력 도메인에 대한 전력 업 또는 전력 다운을 결정하고, 도메인 전력 업/다운 결정에 기반하여 도메인 전력 업 커맨드 및 도메인 전력 다운 커맨드 중 적어도 하나의 도메인 전력 제어 커맨드를 송출하는 중앙 처리 장치와, 도메인 전력 제어 커맨드를 수신하고 제어 대상 전력 도메인에 전력 업 시퀀스 및 전력 다운 시퀀스 중 적어도 하나를 수행하는 도메인 전력 관리자를 포함한다.
바람직하게는, 중앙 처리 장치는 복수의 전력 도메인 중 적어도 일부를 포함하는 시스템에 대한 전력 업 또는 전력 다운을 결정하고, 시스템 전력 업/다운 결정에 기반하여 시스템 전력 업 커맨드 및 시스템 전력 다운 커맨드 중 적어도 하나의 시스템 전력 제어 커맨드를 송출하고, 전력 제어 시스템은 시스템 전력 제어 커맨드를 수신하고 도메인 전력 관리자에 전력 업 시퀀스 및 전력 다운 시퀀스 중 적어도 하나를 수행하는 루트 전력 관리자를 더 포함한다.
바람직하게는, 전력 관리 시스템은 도메인 전력 관리자가 도메인 전력 제어 커맨드를 수행하기 위한 적어도 하나 이상의 명령어 및 루트 전력 관리자가 시스템 전력 제어 커맨드를 수행하기 위한 적어도 하나 이상의 명령어가 저장된 메모리를 더 포함한다.
보다 바람직하게는, 도메인 전력 관리자는 중앙 처리 장치로부터 도메인 전력 제어 커맨드를 수신하고, 도메인 전력 제어 커맨드를 수행하기 위한 적어도 하나 이상의 명령어가 저장된 메모리에 접근하여 메모리에 저장된 적어도 하나 이상의 명령어를 실행하는 프로세싱 유닛과, 프로세싱 유닛에 의해 적어도 하나 이상의 레지스터 필드 값이 변경되어 제어 대상 전력 도메인에 전력 제어 신호가 송출되도록 하는 레지스터 뱅크를 포함한다.
보다 바람직하게는, 도메인 전력 관리자는, 제어 대상 전력 도메인으로부터 신호를 수신하여 레지스터 뱅크의 특정 레지스터 필드 값을 변경하는 전력 관리자 인터페이스를 더 포함한다.
보다 바람직하게는, 루트 전력 관리자는 중앙 처리 장치로부터 시스템 전력 제어 커맨드를 수신하고, 시스템 전력 제어 커맨드를 수행하기 위한 적어도 하나 이상의 명령어가 저장된 메모리에 접근하여 메모리에 저장된 적어도 하나 이상의 명령어를 실행하는 프로세싱 유닛과, 프로세싱 유닛에 의해 적어도 하나 이상의 레지스터 필드 값이 변경되어 도메인 전력 관리자에 전력 제어 신호가 송출되도록 하는 레지스터 뱅크를 포함한다.
보다 바람직하게는, 루트 전력 관리자는 도메인 전력 관리자로부터 신호를 수신하여 레지스터 뱅크의 특정 레지스터 필드 값을 변경하는 전력 관리자 인터페이스를 더 포함한다.
보다 바람직하게는, 명령어는 레지스터 뱅크의 특정 레지스터 필드 값을 변경하는 명령어를 포함한다.
보다 바람직하게는, 명령어는 레지스터 뱅크의 특정 레지스터 필드 값이 변경될 때까지 기다리는 명령어를 더 포함한다.
보다 바람직하게는, 명령어는 특정 사이클의 시간을 대기하는 명령어를 더 포함한다.
보다 바람직하게는, 명령어는 프로세싱 유닛의 내부 레지스터 값을 레지스터 뱅크의 특정 레지스터 필드로 기록하는 명령어와, 레지스터 뱅크의 특정 레지스터 필드 값을 프로세싱 유닛의 내부 레지스터로 기록하는 명령어, 및 사용자 입력 상수 값을 프로세싱 유닛의 내부 레지스터로 기록하는 명령어 중 적어도 하나를 더 포함한다.
보다 바람직하게는, 명령어는 메모리에 저장된 명령어들의 수행 순서를 결정하는 명령어를 더 포함한다.
보다 바람직하게는, 도메인 전력 관리자는 제어 대상 전력 도메인의 비-전력 게이팅 영역에 배치된다.
보다 바람직하게는, 도메인 전력 관리자 및 루트 전력 관리자는 항상 활성 도메인에 배치된다.
보다 바람직하게는, 제어 대상 전력 도메인은 중앙 처리 장치이다.
본 발명에 따른 시스템 온 칩 장치는, 복수의 전력 도메인을 포함하고, 복수의 전력 도메인 중 적어도 일부를 포함하는 제1서브 시스템과 복수의 전력 도메인 중 적어도 다른 일부를 포함하는 제2서브 시스템을 포함한다. 시스템 온 칩 장치는, 제1서브 시스템에 포함된 복수의 전력 도메인 중 적어도 하나의 제1제어 대상 전력 도메인에 대한 전력 업 또는 전력 다운을 결정하고 도메인 전력 업/다운 결정에 기반하여 제1도메인 전력 제어 커맨드를 송출하고, 제2서브 시스템에 포함된 복수의 전력 도메인 중 적어도 하나의 제2제어 대상 전력 도메인에 대한 전력 업 또는 전력 다운을 결정하고 도메인 전력 업/다운 결정에 기반하여 제2도메인 전력 제어 커맨드를 송출하고, 제1서브 시스템에 대한 전력 업 또는 전력 다운을 결정하고 제1서브 시스템 전력 업/다운 결정에 기반하여 제1시스템 전력 제어 커맨드를 송출하고, 제2서브 시스템에 대한 전력 업 또는 전력 다운을 결정하고 제2서브 시스템 전력 업/다운 결정에 기반하여 제2시스템 전력 제어 커맨드를 송출하는 중앙 처리 장치; 제1도메인 전력 제어 커맨드 및 제1시스템 전력 제어 커맨드를 수신하여 제1서브 시스템에 포함된 복수의 전력 도메인들에 대한 전력 제어를 수행하는 제1전력 관리 유닛; 및 제2도메인 전력 제어 커맨드 및 제2시스템 전력 제어 커맨드를 수신하여 제2서브시스템에 포함된 복수의 전력 도메인들에 대한 전력 제어를 수행하는 제2전력 관리 유닛을 포함한다.
바람직하게는, 제1전력 관리 유닛은, 제1도메인 전력 제어 커맨드를 수신하고 제1제어 대상 전력 도메인에 전력 업 시퀀스 및 전력 다운 시퀀스 중 적어도 하나를 수행하는 도메인 전력 관리자와, 제1시스템 전력 제어 커맨드를 수신하고 도메인 전력 관리자에 전력 업 시퀀스 및 전력 다운 시퀀스 중 적어도 하나를 수행하는 루트 전력 관리자, 및 도메인 전력 관리자가 제1도메인 전력 제어 커맨드를 수행하기 위한 적어도 하나 이상의 명령어 및 루트 전력 관리자가 제1시스템 전력 제어 커맨드를 수행하기 위한 적어도 하나 이상의 명령어가 저장된 메모리를 포함한다.
바람직하게는, 제2전력 관리 유닛은, 제2도메인 전력 제어 커맨드를 수신하고 제2제어 대상 전력 도메인에 전력 업 시퀀스 및 전력 다운 시퀀스 중 적어도 하나를 수행하는 도메인 전력 관리자와, 제2시스템 전력 제어 커맨드를 수신하고 도메인 전력 관리자에 전력 업 시퀀스 및 전력 다운 시퀀스 중 적어도 하나를 수행하는 루트 전력 관리자, 및 도메인 전력 관리자가 제2도메인 전력 제어 커맨드를 수행하기 위한 적어도 하나 이상의 명령어 및 루트 전력 관리자가 제2시스템 전력 제어 커맨드를 수행하기 위한 적어도 하나 이상의 명령어가 저장된 메모리를 포함한다.
보다 바람직하게는, 도메인 전력 관리자는, 중앙 처리 장치로부터 도메인 전력 제어 커맨드를 수신하고, 메모리에 접근하여 수신된 도메인 전력 제어 커맨드를 수행하기 위한 적어도 하나 이상의 명령어를 실행하는 프로세싱 유닛과, 프로세싱 유닛에 의해 적어도 하나 이상의 레지스터 필드 값이 변경되어 제어 대상 전력 도메인에 전력 제어 신호가 송출되도록 하는 레지스터 뱅크를 포함한다.
보다 바람직하게는, 루트 전력 관리자는, 중앙 처리 장치로부터 시스템 전력 제어 커맨드를 수신하고, 메모리에 접근하여 수신된 시스템 전력 제어 커맨드를 수행하기 위한 적어도 하나 이상의 명령어를 실행하는 프로세싱 유닛과, 프로세싱 유닛에 의해 적어도 하나 이상의 레지스터 필드 값이 변경되어 도메인 전력 관리자에 전력 제어 신호가 송출되도록 하는 레지스터 뱅크를 포함한다.
보다 바람직하게는, 도메인 전력 관리자 및 루트 전력 관리자는 항상 활성 도메인에 배치된다.
보다 바람직하게는, 복수의 전력 도메인 중 적어도 하나는 중앙 처리 장치이다.
보다 바람직하게는, 복수의 전력 도메인 중 적어도 하나는 실시간 주변 장치이다.
본 발명에 의하면, 다음과 같은 효과가 있다.
본 발명은 소프트웨어 레벨에서 동작하는 전력 제어 결정부를 중앙 처리 장치로 구현하고, 하드웨어 레벨에서 동작하는 전력 제어 실행부를 프로그램 가능 시퀀서를 포함하여 구성하여 소프트웨어 기반 전력 제어와 하드웨어 기반 전력 제어를 병행하는 전력 제어 시스템을 제공할 수 있다.
본 발명은 전력 도메인의 전력 제어를 위한 전력 컨트롤러를 하드웨어 레벨에서 동작하고 전력 업/다운 시퀀스를 변경할 수 있는 프로그램 가능 시퀀서로 구현하여 팹 아웃(Fab-out) 이후 결함에 유연하게 대처할 수 있다.
본 발명은 마이크로 프로세싱 유닛을 이용하여 프로그램 가능 시퀀서를 구현함으로써 전력 도메인의 동작 지연 시간과 프로그램 가능 시퀀서의 아이들 상태 진입 시간을 절감할 수 있기 때문에, 시스템 온 칩 장치의 속도가 빨라지고 소모 전력을 줄일 수 있다.
본 발명은 전력 도메인별로 개별 설계된 프로그램 가능 시퀀서를 이용하여 전력 제어를 하기 때문에 전력 도메인별로 효율적이며 빠른 제어가 가능하다.
본 발명은 하드웨어 레벨에서 동작하는 프로그램 가능 시퀀서를 이용하여 소프트웨어 레벨에서 동작하는 상위의 중앙 처리 장치(CPU)의 전력 제어를 수행하여 중앙 처리 장치(CPU)의 전력 업/다운이 가능하므로 SoC의 전력 소모량을 획기적으로 줄일 수 있다.
본 발명은 각각의 실시간 주변 장치별로 별도의 프로그램 가능 시퀀서를 매칭하여 실시간 주변 장치들의 전력 제어를 수행하기 때문에 실시간 주변 장치들의 전력을 실시간으로 제어할 수 있다.
본 발명의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 다른 효과들은 청구범위의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자("통상의 기술자"라 함)에게 명확하게 이해될 수 있을 것이다.
본 발명의 실시예들은, 이하 설명하는 첨부 도면들을 참조하여 설명될 것이며, 여기서 유사한 참조 번호는 유사한 요소들을 나타내지만, 이에 한정되지는 않는다.
도 1은 본 발명의 한 실시예에 따른 시스템 온 칩 장치의 구성도이다.
도 2는 본 발명의 한 실시예에 따른 도메인 전력 관리자의 구성도이다.
도 3은 본 발명의 전력 도메인의 전력 상태 천이도를 도시한다.
도 4는 본 발명의 도메인 전력 관리자에서 수행되는 전력 업 시퀀스와 전력 다운 시퀀스의 예시를 도시한 도면이다.
도 5는 본 발명의 한 실시예에 따른 루트 전력 관리자의 구성도이다.
도 6은 본 발명의 다른 실시예에 따른 시스템 온 칩 장치의 구성도이다.
본 발명의 실시예들은, 이하 설명하는 첨부 도면들을 참조하여 설명될 것이며, 여기서 유사한 참조 번호는 유사한 요소들을 나타내지만, 이에 한정되지는 않는다.
이하, 본 발명의 실시를 위한 구체적인 내용을 첨부된 도면을 참조하여 상세히 설명한다. 다만, 이하의 설명에서는 본 발명의 요지를 불필요하게 흐릴 우려가 있는 경우, 널리 알려진 기능이나 구성에 관한 구체적 설명은 생략하기로 한다.
첨부된 도면에서, 동일하거나 대응하는 구성요소에는 동일한 참조부호가 부여되어 있다. 또한, 이하의 실시예들의 설명에 있어서, 동일하거나 대응되는 구성요소를 중복하여 기술하는 것이 생략될 수 있다. 그러나, 구성요소에 관한 기술이 생략되어도, 그러한 구성요소가 어떤 실시예에 포함되지 않는 것으로 의도되지는 않는다.
본 명세서에 개시된 실시예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명과 연관된 통상의 기술자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않은 한 이상적으로 또는 과도하게 해석되지 않는다.
예를 들어, "기술"이라는 용어는 시스템, 방법, 컴퓨터 판독 가능 명령어, 모듈, 알고리즘, 하드웨어 로직 및/또는 상기 기술된 문맥에 의해 허용되고 문서 전체에 걸쳐 동작을 지칭할 수 있다.
본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다. 또한, 복수의 표현은 문맥상 명백하게 복수인 것으로 특정하지 않는 한, 단수의 표현을 포함한다. 명세서 전체에서 어떤 부분이 어떤 구성요소를 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.
본 발명에서, '포함하다', '포함하는' 등의 용어는 특징들, 단계들, 동작들, 요소들 및/또는 구성요소들이 존재하는 것을 나타낼 수 있으나, 이러한 용어가 하나 이상의 다른 기능들, 단계들, 동작들, 요소들, 구성요소들 및/또는 이들의 조합이 추가되는 것을 배제하지는 않는다.
본 발명에서, 특정 구성요소가 임의의 다른 구성요소에 '결합', '조합', '연결', '연관' 되거나, '반응' 하는 것으로 언급된 경우, 특정 구성요소는 다른 구성요소에 직접 결합, 조합, 연결 및/또는 연관되거나, 반응할 수 있으나, 이에 한정되지 않는다. 예를 들어, 특정 구성요소와 다른 구성요소 사이에 하나 이상의 중간 구성요소가 존재할 수 있다. 또한, 본 발명에서 "및/또는"은 열거된 하나 이상의 항목의 각각 또는 하나 이상의 항목의 적어도 일부의 조합을 포함할 수 있다.
본 발명에서, '제1', '제2' 등의 용어는 특정 구성요소를 다른 구성요소와 구별하기 위해 사용되는 것으로, 이러한 용어에 의해 상술한 구성요소가 제한되진 않는다. 예를 들어, '제1' 구성 요소는 '제2' 구성 요소와 동일하거나 유사한 형태의 요소를 지칭하기 위해 사용될 수 있다.
도 1은 본 발명의 한 실시예에 따른 시스템 온 칩 장치(100)의 구성도이다.
본 발명에 따른 시스템 온 칩 장치(100)는 하나의 집적회로에 완전 구동한 제품과 시스템이 들어 있는 것으로서, 칩이나 모듈 또는 시스템 등으로 구현될 수 있다.
본 발명에 따른 시스템 온 칩 장치(100)는 소프트웨어 레벨에서 동작하는 전력 제어 결정부와, 전력 제어 결정부의 제어를 받아 하드웨어 레벨에서 동작하여 적어도 하나 이상의 전력 도메인(PD; Power Domain)의 전력 제어를 수행하는 전력 제어 실행부를 포함하여 구성된다.
전력 제어 결정부는 소프트웨어 레벨에서 전력 제어 실행부를 제어하는 중앙 처리 장치(CPU; Central Processing Unit)(110)를 포함할 수 있다. 전력 제어 실행부는 중앙 처리 장치(110)의 제어를 받아 적어도 하나 이상의 전력 도메인 각각에 전력 업/다운 시퀀스를 수행하는 전력 관리 유닛(PMU; Power Management Unit)(120)을 포함할 수 있다.
중앙 처리 장치(110)는 소프트웨어 레벨에서 전력 관리 유닛(120)을 제어하며, 아울러 시스템 온 칩 장치를 구성하는 하나의 전력 도메인(110)일 수 있다. 따라서, 본 명세서에서 참조 번호 110은 전력 관리 유닛(120)을 제어하는 전력 제어 결정부로서 기능을 수행할 경우에는 중앙 처리 장치(110)로 명명하고, 전력 도메인 중 하나로 지칭할 경우에는 전력 도메인(110)으로 명명하기로 한다.
중앙 처리 장치(110)는 소프트웨어 레벨에서 시스템 온 칩 장치, 복수의 전력 도메인으로 이루어진 서브 시스템 및 개별 전력 도메인에 대한 전력 업/다운 여부를 결정하고, 그 결정 사항을 기반으로 시스템 전력 업/다운 커맨드 및 도메인 전력 업/다운 커맨드를 전력 관리 유닛(120)으로 출력한다.
전력 관리 유닛(120)은 적어도 하나 이상의 전력 도메인(110, 130, 140)을 각각 대응하여 전력 업/다운 시퀀스를 수행할 수 있다. 각 전력 도메인(110, 130, 140)은 전력 업/다운 시퀀스를 처리하여 전력 업 상태가 되거나 전력 다운 상태가 될 수 있다. 시스템 온 칩 장치는 적어도 하나 이상의 전력 관리 유닛(120)을 포함할 수 있다.
전력 도메인에는 중앙 처리 장치(110)가 포함된 코어 도메인, 주 메모리나 캐시 메모리 등 메모리 서브 시스템이 포함된 메모리 도메인, 그래픽 처리 장치나 비디오 인코딩/디코딩 장치 등의 멀티미디어 소자가 포함된 그래픽 및 비디오 도메인 및 외부와의 통신을 위한 입출력 인터페이스 소자가 포함된 입출력 도메인 등이 포함될 수 있다. 각 전력 도메인들은 하위의 서브 전력 도메인을 포함할 수 있고, 적어도 둘 이상의 전력 도메인들이 하나의 서브 시스템으로 묶일 수도 있다.
전력 관리 유닛(120)은 각각의 전력 도메인(110, 130, 140)에 대응되며, 대응되는 전력 도메인(110, 130, 140)을 전력 제어하는 적어도 하나 이상의 도메인 전력 관리자(PMD; Power Management for Domain)(122, 123, 124)와, 적어도 하나 이상의 도메인 전력 관리자(122, 123, 124)를 관리하는 루트 전력 관리자(PMR; Power Management for Root)(121)와, 루트 전력 관리자(121) 및 적어도 하나 이상의 도메인 전력 관리자(122, 123, 124)를 동작시키는 프로그램을 저장하는 메모리(125)를 포함할 수 있다. 적어도 하나 이상의 도메인 전력 관리자(122, 123, 124)와 루트 전력 관리자(121) 및 메모리(125)는 내부 버스(126)에 의해 상호 연결될 수 있다. 메모리(125)에 저장된 프로그램에는 명령어(Instruction)과 데이터가 포함될 수 있다.
루트 전력 관리자(121)와 도메인 전력 관리자(122, 123, 124)는 각각 하드웨어 레벨에서 동작하는 프로그램 가능 시퀀서로 구현될 수 있다.
루트 전력 관리자(121)는 중앙 처리 장치(110)로부터 시스템 전력 업/다운 커맨드를 수신할 수 있다. 시스템 전력 업/다운 커맨드는 시스템 온 칩 장치에 대한 전력 업/다운 커맨드 및 하나 이상의 전력 도메인으로 이루어진 서브 시스템에 대한 전력 업/다운 커맨드를 포함할 수 있다. 본 발명에서는 시스템 온 칩 장치에 대한 전력 업/다운 커맨드와 서브 시스템에 대한 전력 업/다운 커맨드를 통칭하여 시스템 전력 업/다운 커맨드라 하기로 한다.
루트 전력 관리자(121)는 중앙 처리 장치(110)로부터 시스템 전력 업/다운 커맨드가 수신되면 해당 커맨드를 수행하기 위한 명령어와 데이터를 기반으로 적어도 하나 이상의 도메인 전력 관리자(122, 123, 124)를 제어하여 시스템 온 칩 장치(100), 또는 여러 개의 전력 도메인으로 이루어진 서브 시스템을 파워 온/오프 시킬 수 있다.
또한, 루트 전력 관리자(121)는 시스템 온 칩 장치의 부팅 시에 부팅을 수행하기 위한 명령어와 데이터를 기반으로 적어도 하나 이상의 도메인 전력 관리자(122, 123, 124)를 동작 시켜서 시스템 온 칩 장치(100)의 부팅을 수행할 수 있다. 루트 전력 관리자(121)는 시스템 온 칩 장치의 부팅 시에는 중앙 처리 장치(110)의 커맨드 없이도 하드웨어 레벨에서 동작할 수 있다.
적어도 하나 이상의 도메인 전력 관리자(122, 123, 124)는 중앙 처리 장치(110)로부터 개별 전력 도메인의 전력 제어를 위한 도메인 전력 업/다운 커맨드(command)가 수신되면 해당 커맨드를 수행하기 위한 명령어과 데이터를 기반으로 대응되는 전력 도메인에 전력 업/다운 시퀀스 제어를 수행한다.
제1도메인 전력 관리자(122)는 중앙 처리 장치(110)인 전력 도메인(110)에 전력 제어 신호를 출력하며 전력 업/다운 시퀀스를 수행하고, 제2도메인 전력 관리자(123)는 제1전력 도메인(130)에 전력 제어 신호를 출력하며 전력 업/다운 시퀀스를 수행하고, 제3도메인 전력 관리자(124)는 제2전력 도메인(140)에 전력 제어 신호를 출력하며 전력 업/다운 시퀀스를 수행한다.
본 발명에서는 중앙 처리 장치(110)의 전력 제어를 위한 제1도메인 전력 관리자(122)를 포함하여 중앙 처리 장치(110)가 전력 다운 상태가 될 수 있도록 하여 시스템 온 칩 장치의 전력 소모량을 절감할 수 있다. 또한, 각 전력 도메인(110, 130, 140) 별로 별도의 도메인 전력 관리자(122, 123, 124)를 매칭하여 각 전력 도메인(110, 130, 140)의 전력 제어를 병렬로 수행할 수 있기 때문에 효율적이며 빠른 처리가 가능하다.
루트 전력 관리자(121), 제1도메인 전력 관리자(122), 제2도메인 전력 관리자(123) 및 제3도메인 전력 관리자(124)는 각각 본 발명의 프로그램 가능 시퀀서로 구현될 수 있다.
메모리(125)는 루트 전력 관리자(121)가 시스템 전력 업/다운 커맨드를 수행하기 위한 명령어와 데이터, 루트 전력 관리자(121)가 부팅시 수행하기 위한 명령어와 데이터, 각 도메인 전력 관리자(122, 123, 124)가 도메인 전력 업/다운 커맨드를 수행하기 위한 명령어와 데이터를 모두 저장할 수 있다. 이때, 메모리(125)는 어드레스에 따라 구획을 나누고, 각 관리자(121, 122, 123, 124) 별로 독립적인 어드레스 영역을 할당할 수도 있다. 한편, 복수의 관리자(121, 122, 123, 124) 중 적어도 둘 이상에서 동작해야 하는 프로그램이 동일한 경우 동일한 어드레스 영역을 여러 개의 관리자(121, 122, 123, 124)가 공유할 수도 있다.
본 실시예에서는 3개의 전력 도메인과 3개의 도메인 전력 관리자로 구성된 시스템 온 칩 장치를 예시하였으나, 본 발명은 이에 한정되지 아니하며 전력 도메인의 개수는 시스템 온 칩 장치의 복잡도에 따라 다른 개수로 설계될 수도 있고, 전력 도메인의 개수에 따라 도메인 전력 관리자의 개수는 변경될 수 있다.
루트 전력 관리자(121) 및 각 도메인 전력 관리자(122, 123, 124)는 마이크로 프로세싱 유닛(MCU)으로 구현된 프로그램 가능 시퀀서일 수 있다. 시스템 온 칩 장치에 주로 사용되는 마이크로 프로세싱 유닛(MCU)의 상용 제품으로 ARM Holdings 사에서 개발한 cortex-M이 있으며, 이러한 상용 MCU는 범용적으로 사용될 수 있도록 제작된다. 본 발명의 프로그램 가능 시퀀서는 범용적인 MCU를 사용하여 구현될 수도 있다. 그러나, 이러한 범용적인 MCU는 프로그램 가능 시퀀서로서 동작하는데 불필요한 구성요소들, 예컨대 캐시(cache), 인터럽트 핸들러(interrupt handler), 산출 연산 유닛(arithmetic unit), 디버거 인터페이스(debugger interface), 실행 중지 설정 유닛(breakpoint unit)을 포함하며, 이러한 불필요한 구성요소들 때문에 사이즈가 크고 구동 속도가 느린 단점이 있다.
본 발명에서는 범용적인 MCU를 사용하지 않고, 프로그램 가능 시퀀서로 동작하는데 필요한 특화된 MCU를 설계하여 본 발명의 프로그램 가능 시퀀서를 구성하는 것이 바람직하다.
도 2는 본 발명의 한 실시예에 따른 도메인 전력 관리자(210)의 구성도이다.
도메인 전력 관리자(210)는 프로그램 가능 시퀀서의 일 실시예일 수 있다.
도메인 전력 관리자(210)는 전력 도메인(220)에 전력 제어 신호들을 송출하며 전력 도메인(220)의 전력 업/다운 시퀀스를 수행하여, 전력 도메인(220)이 전력 업 상태에서 전력 다운 상태가 되거나 전력 다운 상태에서 전력 업 상태가 되도록 한다. 전력 업/다운 시퀀스를 수행하기 위한 전력 제어 신호들에는 리셋 신호(Reset), 아이솔레이션 신호(Isolation), 스위치 제어 신호(Switch Control), 리텐션 신호(Retention) 등이 포함될 수 있다. 이러한 전력 제어 신호들은 전력 도메인(220)의 사양에 따라 추가/삭제/변경될 수 있다.
도 2의 도메인 전력 관리자(210)는 도 1의 제1도메인 전력 관리자(122), 제2도메인 전력 관리자(123) 및 제3도메인 전력 관리자(124) 중 하나일 수 있다. 도 2의 전력 도메인(220)은 도 1의 전력 도메인(110, 130, 140) 중 하나일 수 있다. 중앙 처리 장치(110)는 도메인 전력 관리자(210)가 수행해야 하는 명령어와 데이터를 포함하는 프로그램을 메모리(125)에 저장할 수 있다. 중앙 처리 장치(110)는 메모리(125)에 저장된 명령어 및 데이터를 변경하여 저장할 수 있다. 따라서, 도메인 전력 관리자(210)가 수행하는 명령어의 내용 및 순서 등이 변경될 수 있으며, 이로 인해 도메인 전력 관리자(210)는 프로그램 가능 시퀀서가 될 수 있다.
중앙 처리 장치(110)는 전력 도메인(220)의 전력 업/다운 여부를 결정하고 그 결정 사항을 기반으로 도메인 전력 업 커맨드 또는 도메인 전력 다운 커맨드를 도메인 전력 관리자(210)에게 출력한다.
도메인 전력 관리자(210)는 도메인 전력 업 커맨드 또는 도메인 전력 다운 커맨드가 수신되면, 대응되는 전력 도메인(220)에 전력 제어 신호들을 송출하여 전력 업 시퀀스 또는 전력 다운 시퀀스를 수행한다. 전력 도메인(220)은 해당 전력 업 시퀀스 또는 전력 다운 시퀀스를 처리하여 전력 업 상태 또는 전력 다운 상태가 된다.
도메인 전력 관리자(210)는, 중앙 처리 장치(110)로부터 전력 도메인(220)의 전력 제어에 관련된 커맨드 즉, 도메인 전력 업/다운 커맨드를 수신하고 해당 커맨드를 수행하기 위한 명령어(instruction)가 저장된 메모리(125)에 접근하여 메모리(125)에 저장된 명령어를 실행하는 프로세싱 유닛(211)과, 프로세싱 유닛(211)에 의해 적어도 하나 이상의 필드 값이 변경되어 전력 도메인(220)에 전력 제어 신호들이 송출되도록 하는 레지스터 뱅크(212)를 포함한다.
레지스터 뱅크(212)는 각 전력 제어 신호에 대응하는 복수의 레지스터 필드를 포함하며, 레지스터 필드에 기록된 값들이 해당 전력 제어 신호로서 전력 도메인(220)으로 송출된다. 예컨대, 레지스터 뱅크(212)는 리셋 신호에 대응되는 레지스터 필드와, 아이솔레이션 신호에 대응되는 레지스터 필드와, 스위치 제어 신호에 대응되는 레지스터 필드와, 리텐션 신호에 대응되는 레지스터 필드를 포함하며, 해당 레지스터 필드 값(0 또는 1)에 따라 해당 전력 제어 신호가 0 또는 1로 송출된다.
메모리(125)에 저장된 명령어는 레지스터 뱅크(212)의 특정 레지스터 필드 값을 0으로 쓰는(write) 명령어와, 레지스터 뱅크(212)의 특정 필드값을 1로 쓰는 명령어를 포함한다. 프로세싱 유닛(211)은 해당 명령어를 실행하여 레지스터 뱅크(212)의 특정 레지스터 필드 값을 0 또는 1로 변경할 수 있다. 그러면, 해당 전력 제어 신호의 값이 0 또는 1로 변경되어 전력 도메인(220)으로 송출될 수 있다.
도메인 전력 관리자(210)는 전력 도메인(220)으로부터 신호를 수신하여 프로세싱 유닛(211)과 레지스터 뱅크(212) 중 적어도 하나로 송출하는 전력 관리자 인터페이스(213)를 더 포함할 수 있다. 레지스터 뱅크(212)에서 전력 도메인(220)으로 송출되는 전력 제어 신호들은 전력 관리자 인터페이스(213)를 통해 전력 도메인(220)에 전달될 수 있다.
도메인 전력 관리자(210)의 한 실시예로서, 도메인 전력 관리자(210)는 전력 도메인(220)의 비-전력 게이팅 영역(Non-Power Gating)에 배치될 수 있다.
도메인 전력 관리자(210)의 다른 실시예로서, 도메인 전력 관리자(210)는 루트 전력 관리자(121), 다른 도메인 전력 관리자들 및 메모리와 함께 시스템 온 칩 장치의 '항상 활성 도메인(Always-On Domain)'에 배치될 수 있다. 이때, 전력 관리자 인터페이스(213)는 항상 활성 도메인이 아니라 해당 전력 도메인(220)의 비전력 게이팅 영역(Non-Power Gating)에 배치될 수 있다. 이와 같이 루트 전력 관리자와 복수의 도메인 전력 관리자들이 시스템 온 칩 장치의 항상 활성 도메인에 집합되어(clustered) 배치되면, 메모리를 공유할 수 있고, 중앙 처리 장치에 대한 전력 업/다운 제어 및 실시간 주변 장치들에 대한 실시간 전력 업/다운 제어를 하드웨어 레벨에서 수행할 수 있다.
전력 제어 신호 중에는 핸드쉐이크(handshake)로 이루어진 신호들이 다수 존재한다. 예컨대, 전력 스위치 인에이블 신호를 송출한 다음에는 그에 따른 피드백 신호가 수신되기까지 대기하여야 한다. 이때, 전력 도메인에서 출력되는 피드백 신호는 전력 관리자 인터페이스(213)를 통해 레지스터 뱅크(212)의 특정 레지스터 필드 값으로 기록되며, 프로세싱 유닛(211)은 해당 레지스터 필드 값이 해당 특정 값이 기록될 때까지 대기한다. 이를 위해, 메모리(125)에 저장된 명령어는 레지스터 뱅크(212)의 특정 레지스터 필드 값이 0이 될 때까지 기다리는 명령어와, 레지스터 뱅크(212)의 특정 레지스터 필드 값이 1이 될 때까지 기다리는 명령어를 포함할 수 있다.
또한, 전력 제어 신호 중에는 하나의 신호를 송출한 후 일정 시간 이상 대기한 후 다음 동작을 수행해야 할 수도 있다. 예컨대, 전력 도메인(220)을 리셋 릴리즈(Reset Release)한 경우, 전력 도메인(220)이 리셋되고 정상 동작하기까지 기다려야 한다.
이를 위해, 메모리(125)에 저장된 명령어는 특정 사이클의 시간을 대기하는 명령어를 포함할 수 있으며, 대기하는 시간 정보는 레지스터 뱅크(212)의 특정 레지스터 필드에 저장될 수도 있고, 사용자가 입력 상수 값이 프로세싱 유닛(211)의 내부 레지스터에 저장될 수도 있다.
또한, 메모리(125)에 저장된 명령어는 프로세싱 유닛(211)의 내부 레지스터 값을 레지스터 뱅크(212)의 특정 레지스터 필드로 기록하는 명령어와, 레지스터 뱅크(212)의 특정 레지스터 필드 값을 프로세싱 유닛(211)의 내부 레지스터로 기록하는 명령어와, 사용자 입력 상수 값을 프로세싱 유닛(211)의 내부 레지스터로 기록하는 명령어를 포함할 수 있다.
또한, 메모리(125)에 저장된 명령어는 메모리(125)에 저장된 명령어들의 수행 순서를 결정하는 명령어들을 포함할 수 있으며, 이러한 명령어는 특정 어드레스로 점프하는 명령어, 이전 어드레스로 복귀하는 명령어, 명령어 수행 결과에 따라 특정 어드레스로 이동하는 명령어 등이 포함될 수 있다.
도 3은 본 발명의 전력 도메인의 전력 상태 천이도를 도시한다.
전력 도메인(220)이 전력 업 상태에서, 리셋(Reset) 신호가 1에서 0으로 천이하고, 아이솔레이션(Isolation) 신호가 0에서 1로 천이하고, 스위치 제어(Switch control) 신호가 0에서 1로 천이하면, 해당 전력 도메인은 전력 다운 상태가 된다고 가정한다. 전력 도메인(220)이 전력 업 상태에서 전력 다운 상태가 되도록 하는 전력 제어 신호들을 전력 다운 시퀀스라 한다. 또한, 전력 도메인(220)이 전력 다운 상태에서, 스위치 제어 신호가 1에서 0으로 천이하고 아이솔레이션 신호가 1에서 0으로 천이하고, 리셋 신호가 0에서 1로 천이하면 전력 업 상태가 된다고 가정한다. 전력 도메인(220)이 전력 다운 상태에서 전력 업 상태가 되도록 하는 전력 제어 신호들을 전력 업 시퀀스라 한다.
도 4는 본 발명의 도메인 전력 관리자에서 수행되는 전력 업 시퀀스와 전력 다운 시퀀스의 예시를 도시한 도면이다.
도메인 전력 관리자(210)는 전력 도메인(220)에 대해 전력 업 시퀀스와 전력 다운 시퀀스를 수행하며, 전력 도메인(220)은 전력 업 시퀀스 및 전력 다운 시퀀스를 실행하여 전력 업 상태와 전력 다운 상태로 천이할 수 있다.
중앙 처리 장치(110)는 메모리(125)에 도메인 전력 관리자(210)가 전력 도메인(220)을 전력 제어하기 위한 명령어들을 저장해 놓고, 전력 도메인(220)에 대한 전력 업 또는 전력 다운이 결정되면, 도메인 전력 관리자(210)에게 도메인 전력 업 커맨드 또는 도메인 전력 다운 커맨드를 송출한다.
도메인 전력 관리자(210)는 중앙 처리 장치(110)로부터 도메인 전력 다운 커맨드가 수신되면 메모리(125)에서 전력 도메인(220)에 전력 다운 시퀀스를 수행하기 위한 명령어들을 읽어서 실행한다. 이러한 명령어들에는 레지스터 뱅크(212)의 특정 레지스터 필드 값을 0 또는 1로 설정하는 명령어가 포함되며, 이러한 명령어의 실행을 통해 전력 도메인(220)에 도 4에 도시된 바와 같이 전력 다운 시퀀스가 수행될 수 있다.
한편, 도메인 전력 관리자(210)는 중앙 처리 장치(110)로부터 도메인 전력 업 커맨드가 수신되면 메모리(125)에서 전력 도메인(220)에 전력 업 시퀀스를 수행하기 위한 명령어들을 읽어서 실행하며, 이를 통해 전력 도메인(220)에 도 4에 도시된 바와 같이 전력 업 시퀀스가 수행될 수 있다.
전력 다운 시퀀스 및 전력 업 시퀀스 중 적어도 일부가 변경된 경우, 중앙 처리 장치(110)는 메모리(125)에 저장된 명령어들의 실행 순서와 데이터를 변경할 수 있다. 이렇게 메모리(125)에 저장된 명령어들의 실행 순서와 데이터가 변경되면, 이후의 도메인 전력 업 커맨드 또는 도메인 전력 다운 커맨드를 수신한 도메인 전력 관리자(210)는 변경된 명령어 실행 순서와 데이터를 반영하여 전력 업/다운 시퀀스를 수행하게 된다. 이와 같이 도메인 전력 관리자(210)는 프로그램 가능 시퀀스로서 동작하게 된다.
본 발명에서는 전력 다운 시퀀스 또는 전력 업 시퀀스를 변경해야 할 상황이 발생하면, 중앙 처리 장치(110)가 메모리(125)에 저장된 명령어들의 실행 순서와 데이터를 변경하면 된다. 본 발명에 따른 프로그램 가능 시퀀서는 팹 아웃 후 다양한 비정상적인 케이스에 유연하게 대처할 수 있다.
도 5는 본 발명의 한 실시예에 따른 루트 전력 관리자(510)의 구성도이다.
루트 전력 관리자(510)는 프로그램 가능 시퀀서의 다른 실시예일 수 있다.
루트 전력 관리자(510)는 도 1의 루트 전력 관리자(PMR: Power Management for Root)(121)일 수 있다.
중앙 처리 장치(110)는 루트 전력 관리자(510)가 수행해야 하는 명령어와 데이터를 포함하는 프로그램을 메모리(125)에 저장할 수 있다. 중앙 처리 장치(110)는 메모리(125)에 저장된 명령어 및 데이터를 포함하는 프로그램을 변경하여 저장할 수 있다. 따라서, 루트 전력 관리자(510)가 수행하는 명령어의 내용 및 순서 등이 변경될 수 있으며, 이러한 이유로 인하여 루트 전력 관리자(510)는 프로그램 가능 시퀀서로서 동작할 수 있다.
중앙 처리 장치(110)는 시스템 온 칩 장치 또는 복수의 전력 도메인으로 이루어진 서브 시스템에 대한 전력 업 또는 전력 다운을 결정하고, 그 결정 사항에 따라 루트 전력 관리자(510)에게 시스템 전력 업/다운 커맨드를 출력할 수 있다. 이러한 시스템 전력 업/다운 커맨드에는 시스템 온 칩 장치(100)에 대한 전력 업/다운 커맨드 또는 여러 개의 전력 도메인으로 이루어진 임의의 서브 시스템에 대한 전력 업/다운 커맨드가 포함될 수 있다.
루트 전력 관리자(510)는, 중앙 처리 장치(110)로부터 시스템 전력 업/다운 커맨드를 수신하고 해당 커맨드를 수행하기 위한 명령어(instruction)가 저장된 메모리(125)에 접근하여 메모리(125)에 저장된 명령어를 실행하는 프로세싱 유닛(511)과, 프로세싱 유닛(511)에 의해 적어도 하나 이상의 필드 값이 변경되어 적어도 하나 이상의 도메인 전력 관리자(122, 123, 124)에 전력 제어 신호를 송출하는 레지스터 뱅크(712)를 포함한다. 루트 전력 관리자(510)는 적어도 하나 이상의 도메인 전력 관리자(122, 123, 124)로부터 신호를 수신하여 프로세싱 유닛(511)과 레지스터 뱅크(512) 중 적어도 하나로 송출하는 전력 관리자 인터페이스(미도시)를 더 포함할 수도 있다. 여기서, 도메인 전력 관리자(122, 123, 124)는 도 1의 도메인 전력 관리자(122, 123, 124)일 수 있다.
메모리(125)에는 중앙 처리 장치(110)로부터 입력된 커맨드에 따라 루트 전력 관리자(510)가 수행해야 하는 명령어들이 저장되어 있는 바, 중앙 처리 장치(510)로부터 시스템 전력 업/다운 커맨드가 수신되면 루트 전력 관리자(510)는 메모리(125)에 저장된 명령어들을 수행하여 적어도 하나 이상의 도메인 전력 관리자(122, 123, 124)에 전력 제어 신호를 송출하여 전력을 제어한다.
즉, 루트 전력 관리자(510)는 중앙 처리 장치(110)로부터 시스템 전력 업/다운 커맨드가 수신되면 해당 커맨드를 수행하기 위한 명령어와 데이터를 기반으로 적어도 하나 이상의 도메인 전력 관리자(122, 123, 124)를 동작시켜서 시스템 온 칩 장치(100) 또는 여러 개의 전력 도메인으로 이루어진 서브 시스템을 파워 온/오프 시킬 수 있다.
팹 아웃 후, 도메인 전력 관리자의 전력 업 순서 또는 파워 오프시 전력 다운 순서 등을 변경해야 할 상황이 발생할 수 있다. 이러한 경우 중앙 처리 장치(110)가 메모리(125)에 저장된 명령어들의 실행 순서와 데이터를 변경하면 된다. 그러면, 이후 루트 전력 관리자(510)는 시스템 온 칩 장치(100), 또는 여러 개의 전력 도메인으로 이루어진 서브 시스템의 파워 온/오프 순서 등을 변경된 순서로 실행할 수 있다. 따라서, 본 발명에 따르면 팹 아웃 후 다양한 비정상적인 케이스에 유연하게 대처할 수 있다.
도 6은 본 발명의 다른 실시예에 따른 시스템 온 칩 장치(600)의 구성도이다.
시스템 온 칩 장치(600)는 복수의 서브 시스템(610, 620)을 포함할 수 있다. 여기서, 제1서브 시스템(610)은 중앙 처리 장치(611)를 포함하는 CPU 서브 시스템일 수 있으며, 제1서브 시스템(610)에는 중앙 처리 장치(611) 이외의 복수의 전력 도메인, 예컨대, 제11전력 도메인(612)과 제12전력 도메인(613)이 포함될 수 있다. 제2서브 시스템(620)은 그래픽 처리 유닛(GPU)을 포함하는 GPU 서브 시스템 또는 카메라 서브 시스템일 수 있으며, 제2서브 시스템에는 복수의 전력 도메인, 예컨대, 제21전력 도메인(621), 제22전력 도메인(622), 제23전력 도메인(623)이 포함될 수 있다. 시스템 온 칩 장치(600)는 2개의 서브 시스템 이외의 복수의 서브 시스템을 더 포함할 수도 있다.
복수의 서브 시스템(610, 620)에 각각 대응하여 각 서브 시스템(610, 620)에 포함된 적어도 하나 이상의 전력 도메인들 각각에 전력 업/다운 시퀀스를 수행하는 전력 관리 유닛(PMU; Power Management Unit)(630, 640)을 포함할 수 있다. 예컨대, 제1전력 관리 유닛(630)은 제1서브 시스템(610)에 포함된 전력 도메인들에 대한 전력 업/다운 시퀀스를 수행하고, 제2전력 관리 유닛(640)은 제2서브 시스템(620)에 포함된 전력 도메인들에 대한 전력 업/다운 시퀀스를 수행할 수 있다.
제1전력 관리 유닛(630)은 제1서브 시스템(610)에 포함된 각각의 전력 도메인(611, 612, 613)에 대응되며, 대응되는 전력 도메인(611, 612, 613)을 전력 제어하는 적어도 하나 이상의 도메인 전력 관리자(PMD; Power Management for Domain)(632, 633, 634)와, 적어도 하나 이상의 도메인 전력 관리자(632, 633, 634)를 관리하는 루트 전력 관리자(PMR; Power Management for Root)(631)와, 루트 전력 관리자(631) 및 적어도 하나 이상의 도메인 전력 관리자(632, 633, 634)를 동작시키는 프로그램을 저장하는 메모리(635)를 포함할 수 있다. 적어도 하나 이상의 도메인 전력 관리자(632, 633, 634)와 루트 전력 관리자(631) 및 메모리(635)는 내부 버스(636)에 의해 상호 연결될 수 있다.
제2전력 관리 유닛(640)은 제2서브 시스템(620)에 포함된 각각의 전력 도메인(621, 622, 623)에 대응되며, 대응되는 전력 도메인(621, 622, 623)을 전력 제어하는 적어도 하나 이상의 도메인 전력 관리자(PMD; Power Management for Domain)(642, 643, 644)와, 적어도 하나 이상의 도메인 전력 관리자(642, 643, 644)를 관리하는 루트 전력 관리자(PMR; Power Management for Root)(641)와, 루트 전력 관리자(641) 및 적어도 하나 이상의 도메인 전력 관리자(642, 643, 644)를 동작시키는 프로그램을 저장하는 메모리(645)를 포함할 수 있다. 적어도 하나 이상의 도메인 전력 관리자(642, 643, 644)와 루트 전력 관리자(641) 및 메모리(645)는 내부 버스(646)에 의해 상호 연결될 수 있다.
각 루트 전력 관리자(631, 641)와 각 도메인 전력 관리자(632, 633, 634, 642, 643, 644)는 각각 하드웨어 레벨에서 동작하는 프로그램 가능 시퀀서로 구현될 수 있다.
중앙 처리 장치(611)는 소프트웨어 레벨에서, 시스템 온 칩 장치, 제1서브 시스템(610), 제2 서브시스템(620) 및 개별 전력 도메인(611, 612, 613, 621, 622, 623)에 대한 전력 업/다운을 결정하고, 그 결정 사항을 기반으로 시스템 업/다운 커맨드 및 도메인 전력 업/다운 커맨드를 제1전력 관리 유닛(630) 및 제2전력 관리 유닛(640)에게 송출한다.
중앙 처리 장치(611)는 시스템 온 칩 장치의 전력 다운 결정시에는 제1전력 관리 유닛(630)과 제2전력 관리 유닛(640)에게 시스템 온 칩 장치에 대한 시스템 전력 다운 커맨드를 송출한다. 이 시스템 전력 다운 커맨드는 제1전력 관리 유닛(630)의 루트 전력 관리자(631)와 제2전력 관리 유닛(640)의 루트 전력 관리자(641)에 전달되어, 루트 전력 관리자(631, 641)는 시스템 온 칩 장치의 전력 다운 커맨드를 수행하기 위한 명령어를 수행하여 각각 도메인 전력 관리자(632, 633, 634, 642, 643, 644)의 전력을 제어한다.
중앙 처리 장치(611)는 제1서브 시스템(610)의 전력 업 또는 전력 다운 결정시, 제1전력 관리 유닛(630)에게 제1서브 시스템(610)에 대한 시스템 전력 업/다운 커맨드를 송출하고, 제2서브 시스템(620)의 전력 업 또는 전력 다운 결정시, 제2전력 관리 유닛(640)에게 제2서브 시스템(620)에 대한 시스템 전력 업/다운 커맨드를 송출한다. 제1서브 시스템(610)에 대한 시스템 전력 업/다운 커맨드를 수신한 제1전력 관리 유닛(630)의 루트 전력 관리자(631)는 해당 커맨드를 수행하기 위한 명령어와 데이터를 기반으로 적어도 하나 이상의 도메인 전력 관리자(632, 633, 634)를 제어하고, 제2서브 시스템(620)에 대한 시스템 전력 업/다운 커맨드를 수신한 제2전력 관리 유닛(640)의 루트 전력 관리자(641)는 해당 커맨드를 수행하기 위한 명령어와 데이터를 기반으로 적어도 하나 이상의 도메인 전력 관리자(642, 643, 644)를 제어한다.
한편, 중앙 처리 장치(611)는 개별 전력 도메인에 대한 전력 업 또는 전력 다운 결정시, 해당 전력 도메인에 매칭된 도메인 전력 관리자(632, 633, 634, 642, 643, 644)에게 도메인 전력 업/다운 커맨드를 송출하고, 해당 도메인 전력 관리자(632, 633, 634, 642, 643, 644)는 해당 커맨드를 수행하기 위한 명령어와 데이터를 기반으로 해당 전력 도메인에게 전력 제어 신호들을 송출한다.
본 명세서에 기술되고 및/또는 첨부 도면에 도시된 흐름도의 임의의 일상적인 설명, 요소 또는 블록은 특정 논리 함수 또는 요소를 구현하기 위한 하나 이상의 실행 가능한 명령을 포함하는 코드, 모듈, 세그먼트 또는 부분을 잠재적으로 나타내는 것으로 이해되어야 한다. 루틴. 대안적인 예는 여기에 설명된 예의 범위 내에 포함되며, 여기에서 이해될 수 있는 기능에 따라 실질적으로 동 기적으로 또는 역순으로 요소 또는 기능이 삭제되거나 도시되거나 논의된 것으로부터 순서대로 실행될 수 있다.
상술된 실시예에 대해 많은 변형 및 수정이 이루어질 수 있으며, 그 요소는 다른 허용 가능한 예 중 하나인 것으로 이해되어야 한다. 이러한 모든 수정 및 변형은 본 개시의 범위 내에 포함되고 다음의 청구범위에 의해 보호되도록 의도된다. 이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 한정되어서는 아니되며, 후술하는 특허청구범위 뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
100: 시스템 온 칩 장치(SoC; System-on Chip)
110: 중앙 처리 장치(CPU; Central Processing Unit)
120: 전력 관리 유닛(PMU; Power Management Unit)
130, 140: 전력 도메인(PD; Power Domain)
121: 루트 전력 관리자(PMR; Power Management for Root)
122, 123, 124: 도메인 전력 관리자(PMD; Power Management for Domain)
125: 메모리
126: 내부 버스

Claims (23)

  1. 시스템 온 칩 장치에 포함된 복수의 전력 도메인 중 적어도 하나의 제어 대상 전력 도메인에 대한 전력 업 또는 전력 다운을 결정하고, 도메인 전력 업/다운 결정에 기반하여 도메인 전력 업 커맨드 및 도메인 전력 다운 커맨드 중 적어도 하나의 도메인 전력 제어 커맨드를 송출하는 중앙 처리 장치와,
    상기 제어 대상 전력 도메인과 일대일 매칭되고 상기 도메인 전력 제어 커맨드를 수신하고 상기 제어 대상 전력 도메인에 전력 업 시퀀스 및 전력 다운 시퀀스 중 적어도 하나를 수행하는 도메인 전력 관리자, 및
    상기 도메인 전력 관리자가 상기 도메인 전력 제어 커맨드를 수행하기 위한 적어도 하나 이상의 명령어가 저장된 메모리를 포함하고,
    상기 도메인 전력 관리자는, 상기 중앙 처리 장치로부터 상기 도메인 전력 제어 커맨드를 수신하고, 상기 도메인 전력 제어 커맨드를 수행하기 위한 적어도 하나 이상의 명령어가 저장된 상기 메모리에 접근하여 상기 메모리에 저장된 적어도 하나 이상의 명령어를 실행하는 프로세싱 유닛과, 상기 프로세싱 유닛에 의해 적어도 하나 이상의 레지스터 필드 값이 변경되어 상기 제어 대상 전력 도메인에 전력 제어 신호가 송출되도록 하는 레지스터 뱅크를 포함하고,
    상기 명령어는 상기 레지스터 뱅크의 특정 레지스터 필드 값을 변경하는 명령어와, 상기 제어 대상 전력 도메인으로부터 상기 레지스터 뱅크의 특정 레지스터 필드 값이 변경될 때까지 기다리는 명령어를 포함하는,
    전력 관리 시스템.
  2. 제1항에 있어서,
    상기 중앙 처리 장치는 상기 복수의 전력 도메인 중 적어도 일부를 포함하는 시스템에 대한 전력 업 또는 전력 다운을 결정하고, 시스템 전력 업/다운 결정에 기반하여 시스템 전력 업 커맨드 및 시스템 전력 다운 커맨드 중 적어도 하나의 시스템 전력 제어 커맨드를 송출하고,
    상기 전력 관리 시스템은 상기 시스템 전력 제어 커맨드를 수신하고 상기 도메인 전력 관리자에 전력 업 시퀀스 및 전력 다운 시퀀스 중 적어도 하나를 수행하는 루트 전력 관리자를 더 포함하는,
    전력 관리 시스템.
  3. 제2항에 있어서,
    상기 메모리는 상기 루트 전력 관리자가 상기 시스템 전력 제어 커맨드를 수행하기 위한 적어도 하나 이상의 명령어가 더 저장되는,
    전력 관리 시스템.
  4. 삭제
  5. 제1항에 있어서,
    상기 도메인 전력 관리자는,
    상기 제어 대상 전력 도메인으로부터 신호를 수신하여 상기 레지스터 뱅크의 특정 레지스터 필드 값을 변경하는 전력 관리자 인터페이스를 더 포함하는,
    전력 관리 시스템.
  6. 제3항에 있어서,
    상기 루트 전력 관리자는,
    상기 중앙 처리 장치로부터 상기 시스템 전력 제어 커맨드를 수신하고, 상기 시스템 전력 제어 커맨드를 수행하기 위한 적어도 하나 이상의 명령어가 저장된 상기 메모리에 접근하여 상기 메모리에 저장된 적어도 하나 이상의 명령어를 실행하는 프로세싱 유닛과,
    상기 프로세싱 유닛에 의해 적어도 하나 이상의 레지스터 필드 값이 변경되어 상기 도메인 전력 관리자에 전력 제어 신호가 송출되도록 하는 레지스터 뱅크를 포함하는,
    전력 관리 시스템.
  7. 제6항에 있어서,
    상기 루트 전력 관리자는,
    상기 도메인 전력 관리자로부터 신호를 수신하여 상기 레지스터 뱅크의 특정 레지스터 필드 값을 변경하는 전력 관리자 인터페이스를 더 포함하는,
    전력 관리 시스템.
  8. 삭제
  9. 삭제
  10. 제1항에 있어서,
    상기 명령어는 특정 사이클의 시간을 대기하는 명령어를 더 포함하는,
    전력 관리 시스템.
  11. 제1항에 있어서,
    상기 명령어는 상기 프로세싱 유닛의 내부 레지스터 값을 상기 레지스터 뱅크의 특정 레지스터 필드로 기록하는 명령어와, 상기 레지스터 뱅크의 특정 레지스터 필드 값을 상기 프로세싱 유닛의 내부 레지스터로 기록하는 명령어, 및 사용자 입력 상수 값을 상기 프로세싱 유닛의 내부 레지스터로 기록하는 명령어 중 적어도 하나를 더 포함하는,
    전력 관리 시스템.
  12. 제1항에 있어서,
    상기 명령어는 상기 메모리에 저장된 명령어들의 수행 순서를 결정하는 명령어를 더 포함하는,
    전력 관리 시스템.
  13. 제2항에 있어서,
    상기 도메인 전력 관리자는 상기 제어 대상 전력 도메인의 비-전력 게이팅 영역에 배치되는,
    전력 관리 시스템.
  14. 제2항에 있어서,
    상기 도메인 전력 관리자 및 상기 루트 전력 관리자는 항상 활성 도메인에 배치되는,
    전력 관리 시스템.
  15. 제2항에 있어서,
    상기 제어 대상 전력 도메인은 상기 중앙 처리 장치인,
    전력 관리 시스템.
  16. 복수의 전력 도메인을 포함하고, 상기 복수의 전력 도메인 중 적어도 일부를 포함하는 제1서브 시스템과 상기 복수의 전력 도메인 중 적어도 다른 일부를 포함하는 제2서브 시스템을 포함하는 시스템 온 칩 장치에 있어서,
    상기 제1서브 시스템에 포함된 복수의 전력 도메인 중 적어도 하나의 제1제어 대상 전력 도메인에 대한 전력 업 또는 전력 다운을 결정하고 도메인 전력 업/다운 결정에 기반하여 제1도메인 전력 제어 커맨드를 송출하고, 상기 제2서브 시스템에 포함된 복수의 전력 도메인 중 적어도 하나의 제2제어 대상 전력 도메인에 대한 전력 업 또는 전력 다운을 결정하고 도메인 전력 업/다운 결정에 기반하여 제2도메인 전력 제어 커맨드를 송출하고, 상기 제1서브 시스템에 대한 전력 업 또는 전력 다운을 결정하고 제1서브 시스템 전력 업/다운 결정에 기반하여 제1시스템 전력 제어 커맨드를 송출하고, 상기 제2서브 시스템에 대한 전력 업 또는 전력 다운을 결정하고 제2서브 시스템 전력 업/다운 결정에 기반하여 제2시스템 전력 제어 커맨드를 송출하는 중앙 처리 장치;
    상기 제1도메인 전력 제어 커맨드 및 제1시스템 전력 제어 커맨드를 수신하여 상기 제1서브 시스템에 포함된 복수의 전력 도메인들에 대한 전력 제어를 수행하는 제1전력 관리 유닛; 및
    상기 제2도메인 전력 제어 커맨드 및 제2시스템 전력 제어 커맨드를 수신하여 상기 제2서브시스템에 포함된 복수의 전력 도메인들에 대한 전력 제어를 수행하는 제2전력 관리 유닛을 포함하고,
    상기 제1전력 관리 유닛은, 상기 제1제어 대상 전력 도메인과 일대일 매칭되고 상기 제1도메인 전력 제어 커맨드를 수신하고 상기 제1제어 대상 전력 도메인에 전력 업 시퀀스 및 전력 다운 시퀀스 중 적어도 하나를 수행하는 제1도메인 전력 관리자와, 상기 제1시스템 전력 제어 커맨드를 수신하고 상기 제1도메인 전력 관리자에 전력 업 시퀀스 및 전력 다운 시퀀스 중 적어도 하나를 수행하는 제1루트 전력 관리자, 및 상기 제1도메인 전력 관리자가 상기 제1도메인 전력 제어 커맨드를 수행하기 위한 적어도 하나 이상의 명령어, 상기 제1루트 전력 관리자가 상기 제1시스템 전력 제어 커맨드를 수행하기 위한 적어도 하나 이상의 명령어가 저장된 제1메모리를 포함하고,
    상기 제1도메인 전력 관리자는, 상기 중앙 처리 장치로부터 상기 제1도메인 전력 제어 커맨드를 수신하고, 상기 제1메모리에 접근하여 상기 수신된 제1도메인 전력 제어 커맨드를 수행하기 위한 적어도 하나 이상의 명령어를 실행하는 제1프로세싱 유닛과, 상기 제1프로세싱 유닛에 의해 적어도 하나 이상의 레지스터 필드 값이 변경되어 제1제어 대상 전력 도메인에 전력 제어 신호가 송출되도록 하는 제1레지스터 뱅크를 포함하고,
    상기 명령어는 상기 제1레지스터 뱅크의 특정 레지스터 필드 값을 변경하는 명령어와, 상기 제1제어 대상 전력 도메인으로부터 상기 제1레지스터 뱅크의 특정 레지스터 필드 값이 변경될 때까지 기다리는 명령어를 포함하는,
    시스템 온 칩 장치.
  17. 삭제
  18. 제16항에 있어서,
    상기 제2전력 관리 유닛은,
    상기 제2도메인 전력 제어 커맨드를 수신하고 상기 제2제어 대상 전력 도메인에 전력 업 시퀀스 및 전력 다운 시퀀스 중 적어도 하나를 수행하는 제2도메인 전력 관리자와,
    상기 제2시스템 전력 제어 커맨드를 수신하고 상기 제2도메인 전력 관리자에 전력 업 시퀀스 및 전력 다운 시퀀스 중 적어도 하나를 수행하는 제2루트 전력 관리자, 및
    상기 제2도메인 전력 관리자가 상기 제2도메인 전력 제어 커맨드를 수행하기 위한 적어도 하나 이상의 명령어 및 상기 제2루트 전력 관리자가 상기 제2시스템 전력 제어 커맨드를 수행하기 위한 적어도 하나 이상의 명령어가 저장된 제2메모리를 포함하는,
    시스템 온 칩 장치.
  19. 삭제
  20. 제16항에 있어서,
    상기 제1루트 전력 관리자는,
    상기 중앙 처리 장치로부터 제1시스템 전력 제어 커맨드를 수신하고, 상기 제1메모리에 접근하여 상기 수신된 제1시스템 전력 제어 커맨드를 수행하기 위한 적어도 하나 이상의 명령어를 실행하는 제2프로세싱 유닛과,
    상기 제2프로세싱 유닛에 의해 적어도 하나 이상의 레지스터 필드 값이 변경되어 제1도메인 전력 관리자에 전력 제어 신호가 송출되도록 하는 제2레지스터 뱅크를 포함하는,
    시스템 온 칩 장치.
  21. 제16항에 있어서,
    상기 제1도메인 전력 관리자 및 상기 제1루트 전력 관리자는 항상 활성 도메인에 배치되는,
    시스템 온 칩 장치.
  22. 제16항에 있어서,
    상기 복수의 전력 도메인 중 적어도 하나는 상기 중앙 처리 장치인,
    시스템 온 칩 장치.
  23. 제16항에 있어서,
    상기 복수의 전력 도메인 중 적어도 하나는 실시간 주변 장치인,
    시스템 온 칩 장치.

KR1020230124656A 2023-09-19 2023-09-19 전력 제어 시스템 및 이를 포함한 시스템 온 칩 장치 KR102643032B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230124656A KR102643032B1 (ko) 2023-09-19 2023-09-19 전력 제어 시스템 및 이를 포함한 시스템 온 칩 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230124656A KR102643032B1 (ko) 2023-09-19 2023-09-19 전력 제어 시스템 및 이를 포함한 시스템 온 칩 장치

Publications (1)

Publication Number Publication Date
KR102643032B1 true KR102643032B1 (ko) 2024-03-04

Family

ID=90297622

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230124656A KR102643032B1 (ko) 2023-09-19 2023-09-19 전력 제어 시스템 및 이를 포함한 시스템 온 칩 장치

Country Status (1)

Country Link
KR (1) KR102643032B1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007079881A (ja) * 2005-09-14 2007-03-29 Nec Corp 電源供給システム、携帯機器及びそれらに用いる電源投入順序制御方法
KR20100053697A (ko) * 2003-05-07 2010-05-20 모사이드 테크놀로지스 코포레이션 파워 아일랜드를 사용한 집적 회로의 파워 관리
JP2015195690A (ja) * 2014-03-31 2015-11-05 ローム株式会社 パワーマネージメントコントローラ、それを用いたパワーマネージメント回路および電子機器
KR101835615B1 (ko) 2010-05-07 2018-03-09 삼성전자주식회사 시스템 온 칩, 이를 포함하는 장치들, 및 상기 시스템 온 칩의 전력 제어 방법
KR101861743B1 (ko) 2011-09-19 2018-05-30 삼성전자주식회사 이종의 전력 제어와 동종의 전력 제어를 선택적으로 수행할 수 있는 시스템-온 칩과 이의 동작 방법
JP2019028683A (ja) * 2017-07-28 2019-02-21 ローム株式会社 シーケンスコントローラおよび電子機器

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100053697A (ko) * 2003-05-07 2010-05-20 모사이드 테크놀로지스 코포레이션 파워 아일랜드를 사용한 집적 회로의 파워 관리
JP2007079881A (ja) * 2005-09-14 2007-03-29 Nec Corp 電源供給システム、携帯機器及びそれらに用いる電源投入順序制御方法
KR101835615B1 (ko) 2010-05-07 2018-03-09 삼성전자주식회사 시스템 온 칩, 이를 포함하는 장치들, 및 상기 시스템 온 칩의 전력 제어 방법
KR101861743B1 (ko) 2011-09-19 2018-05-30 삼성전자주식회사 이종의 전력 제어와 동종의 전력 제어를 선택적으로 수행할 수 있는 시스템-온 칩과 이의 동작 방법
JP2015195690A (ja) * 2014-03-31 2015-11-05 ローム株式会社 パワーマネージメントコントローラ、それを用いたパワーマネージメント回路および電子機器
JP2019028683A (ja) * 2017-07-28 2019-02-21 ローム株式会社 シーケンスコントローラおよび電子機器

Similar Documents

Publication Publication Date Title
JP7313381B2 (ja) ハードウェアアクセラレーションのためのハードウェアリソースの埋込みスケジューリング
US5634131A (en) Method and apparatus for independently stopping and restarting functional units
JP3454866B2 (ja) バスユニットと実行ユニットとを含むタイプのプロセッサを動作させる方法、中央処理装置、コンピュータシステム、およびクロック制御装置回路
US6314515B1 (en) Resetting multiple processors in a computer system
EP0569969B1 (en) Microcomputer having instruction memory storing instructions for reading out internal conditions
US20090153211A1 (en) Integrated circuit device core power down independent of peripheral device operation
US6883102B2 (en) Apparatus and method for performing power management functions
JP4621706B2 (ja) ハードウェア制御のパワー管理機能を備えたコンピュータ・システム
US20160253196A1 (en) Optimized extended context management for virtual machines
US7774629B2 (en) Method for power management of central processing unit and system thereof
US5826105A (en) System for using an external CPU to access multifunction controller's control registers via configuration registers thereof after disabling the embedded microprocessor
US20090217298A1 (en) Data processor device supporting selectable exceptions and method thereof
US10705993B2 (en) Programming and controlling compute units in an integrated circuit
JP2001202155A (ja) 低消費電力処理装置
US7565558B2 (en) Power saving method and system for a central processing unit disposed in a non-snooping sleep state when a peripheral device sends a bus master request
KR102643032B1 (ko) 전력 제어 시스템 및 이를 포함한 시스템 온 칩 장치
JP2001209534A (ja) 述語データを提供するシステム
KR102643031B1 (ko) 프로그램 가능 시퀀서와 이를 이용한 시스템 온 칩 장치
KR102643030B1 (ko) 시스템 온 칩 및 멀티 칩 전력 관리 시스템
EP0806723A2 (en) Method and apparatus for handling multiple precise events in a pipelined digital processor
KR100204616B1 (ko) 효율적인 파우어 온 초기화를 갖는 정보 처리 시스템
JPS62150416A (ja) 低消費電力状態への移行方式
US20070234098A1 (en) Self-timed clock-controlled wait states
CN111176409B (zh) 一种通用可在线编程的功耗控制电路、系统与方法
US20210096849A1 (en) Information processing system and information processing apparatus

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant