KR102643030B1 - 시스템 온 칩 및 멀티 칩 전력 관리 시스템 - Google Patents

시스템 온 칩 및 멀티 칩 전력 관리 시스템 Download PDF

Info

Publication number
KR102643030B1
KR102643030B1 KR1020230133947A KR20230133947A KR102643030B1 KR 102643030 B1 KR102643030 B1 KR 102643030B1 KR 1020230133947 A KR1020230133947 A KR 1020230133947A KR 20230133947 A KR20230133947 A KR 20230133947A KR 102643030 B1 KR102643030 B1 KR 102643030B1
Authority
KR
South Korea
Prior art keywords
power
domain
chip
power management
processing unit
Prior art date
Application number
KR1020230133947A
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 KR1020230133947A priority Critical patent/KR102643030B1/ko
Application granted granted Critical
Publication of KR102643030B1 publication Critical patent/KR102643030B1/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
    • 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)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Sources (AREA)

Abstract

본 발명은 적어도 둘 이상의 시스템 온 칩이 연결되어 확장될 수 있도록 하는 시스템 온 칩 및 멀티 칩 전력 관리 시스템에 관한 것이다.
본 발명에 따른 시스템 온 칩은, 적어도 하나 이상의 제1전력 도메인이 포함되고 제2시스템 온 칩과 연결된 시스템 온 칩에 있어서, 적어도 하나 이상의 제1전력 도메인의 전력 관리를 위한 제1전력 관리 신호와 제2시스템 온 칩에 포함된 적어도 하나 이상의 제2전력 도메인의 전력 관리를 위한 제2전력 관리 신호를 생성하는 중앙 처리 장치와, 중앙 처리 장치의 제어를 받아 제1전력 관리 신호를 기반으로 적어도 하나 이상의 제1전력 도메인 각각에 전력 업/다운 시퀀스를 수행하는 전력 관리 유닛과, 중앙 처리 장치의 제어를 받아 제2전력 관리 신호를 제2시스템 온 칩에 송출하는 연결부를 포함한다.

Description

시스템 온 칩 및 멀티 칩 전력 관리 시스템 {SYSTEM ON CHIP AND POWER MANAGEMENT SYSTEM OF MULTI-CHIPS}
본 발명은 시스템 온 칩 및 멀티 칩 전력 관리 시스템에 관한 것으로서, 보다 상세하게는 적어도 둘 이상의 시스템 온 칩이 연결되어 확장될 수 있도록 하는 시스템 온 칩과, 확장된 적어도 둘 이상의 시스템 온 칩의 전력을 관리하기 위한 멀티 칩 전력 관리 시스템에 관한 것이다.
시스템 온 칩(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)은 높으나, 하나의 중앙 처리 장치가 복수의 전력 도메인을 대상으로 한 번에 하나의 전력 도메인씩 순차적으로 전력 제어를 하기 때문에 동작 지연 시간이 길어지는 문제점이 있다.
한편, 최근 SoC의 트렌드로서, SoC는 멀티 칩 솔루션이 적용되어 하나의 칩 내에 모든 기능을 통합하는 대신에 여러 개의 다이 칩(die chip)을 조합하여 하나의 시스템으로 구축될 수 있다. 멀티 칩 솔루션을 적용하면 특정 응용 분야나 요구 사항에 맞게 조합되는 다이 칩 개수를 조절하여 보다 유연하게 설계가 가능한 장점이 있다. 이러한 멀티 칩 솔루션이 적용된 SoC에 적합한 멀티 칩 전력 관리 기술이 필요하다.
대한민국 등록특허 제10-1861743호 대한민국 등록특허 제10-1835615호
본 발명의 목적은, 다른 시스템 온 칩에 포함된 복수의 전력 도메인의 전력을 제어할 수 있고, 다른 시스템 온 칩에 포함된 중앙 처리 장치로부터 전력 도메인의 전력 제어를 받을 수 있는 시스템 온 칩을 제공하기 위한 것이다.
본 발명의 다른 목적은, 둘 이상의 시스템 온 칩을 연결하여 둘 중 적어도 하나의 시스템 온 칩에 포함된 중앙 처리 장치를 이용하여 둘 이상의 시스템 온 칩에 포함된 복수의 전력 도메인의 전력을 제어하는 멀티 칩 전력 관리 시스템을 제공하기 위한 것이다.
본 발명의 다른 목적은, 시스템 온 칩에 포함된 전력 컨트롤러를 프로그램 가능 시퀀서로 구현하여 전력 도메인에 유연하게 대처하여 전력 업/다운 시퀀스를 변경할 수 있도록 하는 멀티 칩 전력 관리 시스템을 제공하기 위한 것이다.
본 발명에 따른 시스템 온 칩은, 적어도 하나 이상의 제1전력 도메인이 포함되고 제2시스템 온 칩과 연결된 시스템 온 칩에 있어서, 적어도 하나 이상의 제1전력 도메인의 전력 관리를 위한 제1전력 관리 신호와 제2시스템 온 칩에 포함된 적어도 하나 이상의 제2전력 도메인의 전력 관리를 위한 제2전력 관리 신호를 생성하는 중앙 처리 장치와, 중앙 처리 장치의 제어를 받아 제1전력 관리 신호를 기반으로 적어도 하나 이상의 제1전력 도메인 각각에 전력 업/다운 시퀀스를 수행하는 전력 관리 유닛과, 중앙 처리 장치의 제어를 받아 제2전력 관리 신호를 제2시스템 온 칩에 송출하는 연결부를 포함한다.
바람직하게는, 중앙 처리 장치는 제3시스템 온 칩에 포함된 적어도 하나 이상의 제3전력 도메인의 전력 관리를 위한 전력 관리 신호를 더 생성한다.
바람직하게는, 연결부는 제2시스템 온 칩으로부터 적어도 하나 이상의 제1전력 도메인의 전력 관리를 위한 제3전력 관리 신호를 수신한다.
보다 바람직하게는, 시스템 온 칩은 제1전력 관리 신호와 제3전력 관리 신호를 수신하고 선택하여 제1전력 관리 유닛에게 송출하는 제1아비터를 더 포함한다.
보다 바람직하게는, 제1시스템 온 칩은 제1서브 시스템에 포함된 적어도 하나 이상의 전력 도메인의 전력을 관리하고, 제2시스템 온 칩은 제2서브 시스템에 포함된 적어도 하나 이상의 전력 도메인의 전력을 관리한다.
바람직하게는, 중앙 처리 장치는 적어도 하나 이상의 제1전력 도메인 및 적어도 하나 이상의 제2전력 도메인 중 적어도 하나의 제어 대상 전력 도메인에 대한 전력 업 또는 전력 다운을 결정하고, 도메인 전력 업/다운 결정에 기반하여 도메인 전력 업 커맨드 및 도메인 전력 다운 커맨드 중 적어도 하나의 도메인 전력 제어 커맨드를 송출하고, 전력 관리 유닛은 도메인 전력 제어 커맨드를 수신하고 제어 대상 전력 도메인에 전력 업 시퀀스 및 전력 다운 시퀀스 중 적어도 하나를 수행하는 도메인 전력 관리자를 포함한다.
보다 바람직하게는, 중앙 처리 장치는 적어도 하나 이상의 제1전력 도메인 및 적어도 하나 이상의 제2전력 도메인 중 적어도 일부를 포함하는 서브 시스템에 대한 전력 업 또는 전력 다운을 결정하고, 시스템 전력 업/다운 결정에 기반하여 시스템 전력 업 커맨드 및 시스템 전력 다운 커맨드 중 적어도 하나의 시스템 전력 제어 커맨드를 송출하고, 전력 관리 유닛은 시스템 전력 제어 커맨드를 수신하고 도메인 전력 관리자에 전력 업 시퀀스 및 전력 다운 시퀀스 중 적어도 하나를 수행하는 루트 전력 관리자를 더 포함한다.
보다 바람직하게는, 전력 관리 유닛은 도메인 전력 관리자가 도메인 전력 제어 커맨드를 수행하기 위한 적어도 하나 이상의 명령어와 루트 전력 관리자가 시스템 전력 제어 커맨드를 수행하기 위한 적어도 하나 이상의 명령어가 저장된 메모리를 더 포함한다.
보다 바람직하게는, 도메인 전력 관리자는 중앙 처리 장치로부터 도메인 전력 제어 커맨드를 수신하고, 도메인 전력 제어 커맨드를 수행하기 위한 적어도 하나 이상의 명령어가 저장된 메모리에 접근하여 메모리에 저장된 적어도 하나 이상의 명령어를 실행하는 프로세싱 유닛과, 프로세싱 유닛에 의해 적어도 하나 이상의 레지스터 필드 값이 변경되어 제어 대상 전력 도메인에 전력 제어 신호가 송출되도록 하는 레지스터 뱅크를 포함한다.
보다 바람직하게는, 도메인 전력 관리자는 제어 대상 전력 도메인으로부터 신호를 수신하여 레지스터 뱅크의 특정 레지스터 필드 값을 변경하는 전력 관리자 인터페이스를 더 포함한다.
보다 바람직하게는, 루트 전력 관리자는 중앙 처리 장치로부터 시스템 전력 제어 커맨드를 수신하고, 시스템 전력 제어 커맨드를 수행하기 위한 적어도 하나 이상의 명령어가 저장된 메모리에 접근하여 메모리에 저장된 적어도 하나 이상의 명령어를 실행하는 프로세싱 유닛과, 프로세싱 유닛에 의해 적어도 하나 이상의 레지스터 필드 값이 변경되어 도메인 전력 관리자에 전력 제어 신호가 송출되도록 하는 레지스터 뱅크를 포함한다.
보다 바람직하게는, 루트 전력 관리자는 도메인 전력 관리자로부터 신호를 수신하여 레지스터 뱅크의 특정 레지스터 필드 값을 변경하는 전력 관리자 인터페이스를 더 포함한다.
보다 바람직하게는, 명령어는 레지스터 뱅크의 특정 레지스터 필드 값을 변경하는 명령어를 포함한다.
보다 바람직하게는, 명령어는 레지스터 뱅크의 특정 레지스터 필드 값이 변경될 때까지 기다리는 명령어를 더 포함한다.
보다 바람직하게는, 명령어는 특정 사이클의 시간을 대기하는 명령어를 더 포함한다.
보다 바람직하게는, 명령어는 프로세싱 유닛의 내부 레지스터 값을 레지스터 뱅크의 특정 레지스터 필드로 기록하는 명령어와, 레지스터 뱅크의 특정 레지스터 필드 값을 프로세싱 유닛의 내부 레지스터로 기록하는 명령어, 및 사용자 입력 상수 값을 프로세싱 유닛의 내부 레지스터로 기록하는 명령어 중 적어도 하나를 더 포함한다.
보다 바람직하게는, 명령어는 메모리에 저장된 명령어들의 수행 순서를 결정하는 명령어를 더 포함한다.
본 발명에 따른 멀티 칩 전력 관리 시스템은, 적어도 하나 이상의 제1전력 도메인을 포함하는 제1시스템 온 칩과, 제1시스템 온 칩과 연결되고 적어도 하나 이상의 제2전력 도메인을 포함하는 제2시스템 온 칩을 포함한다. 제1시스템 온 칩은, 적어도 하나 이상의 제1전력 도메인의 전력 관리를 위한 제1전력 관리 신호와 적어도 하나 이상의 제2전력 도메인의 전력 관리를 위한 제2전력 관리 신호를 생성하는 제1중앙 처리 장치와, 제1중앙 처리 장치의 제어를 받아 제1전력 관리 신호를 기반으로 적어도 하나 이상의 제1전력 도메인 각각에 전력 업/다운 시퀀스를 수행하는 제1전력 관리 유닛과, 제1중앙 처리 장치의 제어를 받아 제2전력 관리 신호를 제2시스템 온 칩에 송출하는 제1연결부를 포함하고, 제2시스템 온 칩은, 제2전력 관리 신호를 수신하는 제2연결부와, 제2연결부를 통해 수신되는 제2전력 관리 신호를 기반으로 적어도 하나 이상의 제2전력 도메인 각각에 전력 업/다운 시퀀스를 수행하는 제2전력 관리 유닛을 포함한다.
바람직하게는, 제2시스템 온 칩은, 적어도 하나 이상의 제1전력 도메인의 전력 관리를 위한 제3전력 관리 신호와 적어도 하나 이상의 제2전력 도메인의 전력 관리를 위한 제4전력 관리 신호를 생성하는 제2중앙 처리 장치를 더 포함하고, 제3전력 관리 신호는 제1연결부 및 제2연결부를 통해 제1시스템 온 칩으로 송출된다.
보다 바람직하게는, 제1시스템 온 칩은, 제1전력 관리 신호와 제3전력 관리 신호를 수신하고 선택하여 제1전력 관리 유닛에게 송출하는 제1아비터를 더 포함한다.
보다 바람직하게는, 제2시스템 온 칩은, 제2전력 관리 신호와 제4전력 관리 신호를 수신하고 선택하여 제2전력 관리 유닛에게 송출하는 제2아비터를 더 포함한다.
보다 바람직하게는, 제1시스템 온 칩은 제1서브 시스템에 포함된 적어도 하나 이상의 전력 도메인의 전력을 관리하고, 제2시스템 온 칩은 제2서브 시스템에 포함된 적어도 하나 이상의 전력 도메인의 전력을 관리한다.
바람직하게는, 제1전력 관리 유닛은, 각각의 전력 도메인에 대응되며 대응되는 전력 도메인을 전력 제어하는 적어도 하나 이상의 도메인 전력 관리자와, 적어도 하나 이상의 도메인 전력 관리자를 관리하는 루트 전력 관리자와, 루트 전력 관리자 및 적어도 하나 이상의 도메인 전력 관리자를 동작시키는 프로그램을 저장하는 메모리를 포함한다.
바람직하게는, 제2전력 관리 유닛은, 각각의 전력 도메인에 대응되며 대응되는 전력 도메인을 전력 제어하는 적어도 하나 이상의 도메인 전력 관리자와, 적어도 하나 이상의 도메인 전력 관리자를 관리하는 루트 전력 관리자와, 루트 전력 관리자 및 적어도 하나 이상의 도메인 전력 관리자를 동작시키는 프로그램을 저장하는 메모리를 포함한다.
본 발명에 의하면, 다음과 같은 효과가 있다.
본 발명은 하나의 시스템 온 칩에 포함된 중앙 제어 장치를 이용하여 적어도 둘 이상의 시스템 온 칩에 포함된 복수의 전력 도메인의 전력을 관리할 수 있다.
본 발명은 적어도 둘 이상의 시스템 온 칩을 소프트웨어 레벨에서 하나의 단일 칩으로 취급하여 동작시킬 수 있다.
본 발명의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 다른 효과들은 청구범위의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자("통상의 기술자"라 함)에게 명확하게 이해될 수 있을 것이다.
본 발명의 실시예들은, 이하 설명하는 첨부 도면들을 참조하여 설명될 것이며, 여기서 유사한 참조 번호는 유사한 요소들을 나타내지만, 이에 한정되지는 않는다.
도 1은 본 발명의 한 실시예에 따른 멀티 칩 전력 관리 시스템의 구성도이다.
도 2는 본 발명의 다른 실시예에 따른 멀티 칩 전력 관리 시스템의 구성도이다.
도 3은 본 발명의 한 실시예에 따른 도메인 전력 관리자의 구성도이다.
도 4는 본 발명의 한 실시예에 따른 루트 전력 관리자의 구성도이다.
본 발명의 실시예들은, 이하 설명하는 첨부 도면들을 참조하여 설명될 것이며, 여기서 유사한 참조 번호는 유사한 요소들을 나타내지만, 이에 한정되지는 않는다.
이하, 본 발명의 실시를 위한 구체적인 내용을 첨부된 도면을 참조하여 상세히 설명한다. 다만, 이하의 설명에서는 본 발명의 요지를 불필요하게 흐릴 우려가 있는 경우, 널리 알려진 기능이나 구성에 관한 구체적 설명은 생략하기로 한다.
첨부된 도면에서, 동일하거나 대응하는 구성요소에는 동일한 참조부호가 부여되어 있다. 또한, 이하의 실시예들의 설명에 있어서, 동일하거나 대응되는 구성요소를 중복하여 기술하는 것이 생략될 수 있다. 그러나, 구성요소에 관한 기술이 생략되어도, 그러한 구성요소가 어떤 실시예에 포함되지 않는 것으로 의도되지는 않는다.
본 명세서에 개시된 실시예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명과 연관된 통상의 기술자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않은 한 이상적으로 또는 과도하게 해석되지 않는다.
예를 들어, "기술"이라는 용어는 시스템, 방법, 컴퓨터 판독 가능 명령어, 모듈, 알고리즘, 하드웨어 로직 및/또는 상기 기술된 문맥에 의해 허용되고 문서 전체에 걸쳐 동작을 지칭할 수 있다.
본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다. 또한, 복수의 표현은 문맥상 명백하게 복수인 것으로 특정하지 않는 한, 단수의 표현을 포함한다. 명세서 전체에서 어떤 부분이 어떤 구성요소를 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.
본 발명에서, '포함하다', '포함하는' 등의 용어는 특징들, 단계들, 동작들, 요소들 및/또는 구성요소들이 존재하는 것을 나타낼 수 있으나, 이러한 용어가 하나 이상의 다른 기능들, 단계들, 동작들, 요소들, 구성요소들 및/또는 이들의 조합이 추가되는 것을 배제하지는 않는다.
본 발명에서, 특정 구성요소가 임의의 다른 구성요소에 '결합', '조합', '연결', '연관' 되거나, '반응' 하는 것으로 언급된 경우, 특정 구성요소는 다른 구성요소에 직접 결합, 조합, 연결 및/또는 연관되거나, 반응할 수 있으나, 이에 한정되지 않는다. 예를 들어, 특정 구성요소와 다른 구성요소 사이에 하나 이상의 중간 구성요소가 존재할 수 있다. 또한, 본 발명에서 "및/또는"은 열거된 하나 이상의 항목의 각각 또는 하나 이상의 항목의 적어도 일부의 조합을 포함할 수 있다.
본 발명에서, '제1', '제2' 등의 용어는 특정 구성요소를 다른 구성요소와 구별하기 위해 사용되는 것으로, 이러한 용어에 의해 상술한 구성요소가 제한되진 않는다. 예를 들어, '제1' 구성 요소는 '제2' 구성 요소와 동일하거나 유사한 형태의 요소를 지칭하기 위해 사용될 수 있다.
도 1은 본 발명의 한 실시예에 따른 멀티 칩 전력 관리 시스템의 구성도이다.
시스템 온 칩은 하나의 집적회로에 완전 구동한 제품과 시스템이 들어 있는 것으로서, 칩이나 모듈 또는 시스템 등으로 구현될 수 있다.
본 발명에 따른 멀티 칩 전력 관리 시스템은 상호 연결된 제1시스템 온 칩(100)과 제2시스템 온 칩(200)을 포함하여 구성된다.
제1시스템 온 칩(100)은 제1시스템 온 칩(100)에 포함된 적어도 하나 이상의 전력 도메인(PD; Power Domain)의 전력 관리를 위한 제1전력 관리 신호와 제2시스템 온 칩(200)에 포함된 적어도 하나 이상의 전력 도메인(PD; Power Domain)의 전력 관리를 위한 제2전력 관리 신호를 생성하는 제1중앙 처리 장치(110)와, 제1중앙 처리 장치(110)의 제어를 받아 제1전력 관리 신호를 기반으로 제1시스템 온 칩(100)에 포함된 적어도 하나 이상의 전력 도메인 각각에 전력 업/다운 시퀀스를 수행하는 제1전력 관리 유닛(PMU; Power Management Unit)(120)과, 제1중앙 처리 장치(110)의 제어를 받아 제2전력 관리 신호를 제2시스템 온 칩(200)에 송출하는 제1연결부(130)를 포함하여 구성될 수 있다.
제2시스템 온 칩(200)은 제1시스템 온 칩(100)으로부터 제2전력 관리 신호를 수신하는 제2연결부(210)와, 제2연결부(210)를 통해 수신된 제2전력 관리 신호를 기반으로 제2시스템 온 칩(200)에 포함된 적어도 하나 이상의 전력 도메인에 각각에 전력 업/다운 시퀀스를 수행하는 제2전력 관리 유닛(220)을 포함하여 구성될 수 있다.
도시되지 않았으나, 제1중앙 처리 장치(110)는 제3시스템 온 칩에 포함된 적어도 하나 이상의 전력 도메인의 전력 관리를 위한 전력 관리 신호를 더 생성할 수 있고, 제1시스템 온 칩(100)은 제3시스템 온 칩에 전력 관리 신호를 송출할 수 있다.
제1중앙 처리 장치(110)는 소프트웨어 레벨에서 시스템 온 칩 장치, 복수의 전력 도메인으로 이루어진 서브 시스템 및 제1시스템 온 칩(100)과 제2시스템 온 칩(200)에 포함된 개별 전력 도메인에 대한 전력 업/다운 여부를 결정하고, 그 결정 사항을 기반으로 시스템 전력 업/다운 커맨드 및 도메인 전력 업/다운 커맨드를 생성할 수 있다. 시스템 전력 업/다운 커맨드는 시스템 온 칩 장치에 대한 전력 업/다운 커맨드 및 하나 이상의 전력 도메인으로 이루어진 서브 시스템에 대한 전력 업/다운 커맨드를 포함할 수 있다. 본 발명에서는 시스템 온 칩 장치에 대한 전력 업/다운 커맨드와 서브 시스템에 대한 전력 업/다운 커맨드를 통칭하여 시스템 전력 업/다운 커맨드라 하기로 한다.
제1중앙 처리 장치(110)는 제1시스템 온 칩(100)을 관리하기 위한 제1전력 관리 신호와 제2시스템 온 칩(200)을 관리하기 위한 제2전력 관리 신호를 생성할 수 있다.
제1전력 관리 유닛(120) 및 제2전력 관리 유닛(220)은 적어도 하나 이상의 전력 도메인을 각각 대응하여 전력 업/다운 시퀀스를 수행할 수 있다. 각 전력 도메인은 전력 업/다운 시퀀스를 처리하여 전력 업 상태가 되거나 전력 다운 상태가 될 수 있다.
전력 도메인에는 중앙 처리 장치가 포함된 코어 도메인, 주 메모리나 캐시 메모리 등 메모리 서브 시스템이 포함된 메모리 도메인, 그래픽 처리 장치나 비디오 인코딩/디코딩 장치 등의 멀티미디어 소자가 포함된 그래픽 및 비디오 도메인 및 외부와의 통신을 위한 입출력 인터페이스 소자가 포함된 입출력 도메인 등이 포함될 수 있다. 각 전력 도메인들은 하위의 서브 전력 도메인을 포함할 수 있고, 적어도 둘 이상의 전력 도메인들이 하나의 서브 시스템으로 묶일 수도 있다.
적어도 둘 이상의 서브 시스템이 제1시스템 온 칩(100)과 제2시스템 온 칩(200)에 모두 포함될 수 있다. 예컨대, 코어 서브 시스템을 구성하는 복수의 전력 도메인들이 제1시스템 온 칩(100)과 제2시스템 온 칩(200)에 모두 포함되고, 메모리 서브 시스템을 구성하는 복수의 전력 도메인들도 제1시스템 온 칩(100)과 제2시스템 온 칩(200)에 모두 포함될 수 있다.
제1전력 관리 유닛(120)은 각각의 전력 도메인에 대응되며, 대응되는 전력 도메인을 전력 제어하는 적어도 하나 이상의 도메인 전력 관리자(PMD; Power Management for Domain)(122, 123, 124)와, 적어도 하나 이상의 도메인 전력 관리자(122, 123, 124)를 관리하는 제1루트 전력 관리자(PMR; Power Management for Root)(121)와, 제1루트 전력 관리자(121) 및 적어도 하나 이상의 도메인 전력 관리자(122, 123, 124)를 동작시키는 프로그램을 저장하는 제1메모리(125)를 포함할 수 있다. 적어도 하나 이상의 도메인 전력 관리자(122, 123, 124)와 제1루트 전력 관리자(121) 및 제1메모리(125)는 내부 버스(126)에 의해 상호 연결될 수 있다. 메모리(125)에 저장된 프로그램에는 명령어(Instruction)과 데이터가 포함될 수 있다.
제2전력 관리 유닛(220)은 각각의 전력 도메인에 대응되며, 대응되는 전력 도메인을 전력 제어하는 적어도 하나 이상의 도메인 전력 관리자(PMD; Power Management for Domain)(222, 223, 224)와, 적어도 하나 이상의 도메인 전력 관리자(222, 223, 224)를 관리하는 제2루트 전력 관리자(PMR; Power Management for Root)(221)와, 제2루트 전력 관리자(221) 및 적어도 하나 이상의 도메인 전력 관리자(222, 223, 224)를 동작시키는 프로그램을 저장하는 제2메모리(225)를 포함할 수 있다. 적어도 하나 이상의 도메인 전력 관리자(222, 223, 224)와 제2루트 전력 관리자(221) 및 제2메모리(225)는 내부 버스(226)에 의해 상호 연결될 수 있다. 메모리(225)에 저장된 프로그램에는 명령어(Instruction)과 데이터가 포함될 수 있다.
제1루트 전력 관리자(121), 제2루트 전력 관리자(221) 및 복수의 도메인 전력 관리자(122, 123, 124, 222, 223, 224))는 각각 하드웨어 레벨에서 동작하는 프로그램 가능 시퀀서로 구현될 수 있다. 루트 전력 관리자와 도메인 전력 관리자에 대한 구성 및 동작에 대한 상세한 설명은 후술하기로 한다.
제1전력 관리 신호는 제1루트 전력 관리자(121)를 동작시키기 위한 제1시스템 전력 업/다운 커맨드와, 복수의 도메인 전력 관리자(122, 123, 124) 중 적어도 하나를 동작시키기 위한 제1도메인 전력 업/다운 커맨드 중 적어도 하나를 포함할 수 있다. 제2전력 관리 신호는 제2루트 전력 관리자(221)를 동작시키기 위한 제2시스템 전력 업/다운 커맨드와, 복수의 도메인 전력 관리자(222, 223, 224) 중 적어도 하나를 동작시키기 위한 제2도메인 전력 업/다운 커맨드 중 적어도 하나를 포함할 수 있다.
제1루트 전력 관리자(121)는 제1중앙 처리 장치(110)로부터 제1전력 관리 신호에 포함된 제1시스템 전력 업/다운 커맨드를 수신할 수 있다. 제1루트 전력 관리자(121)는 제1중앙 처리 장치(110)로부터 제1시스템 전력 업/다운 커맨드가 수신되면 해당 커맨드를 수행하기 위한 명령어와 데이터를 기반으로 적어도 하나 이상의 도메인 전력 관리자(122, 123, 124)를 제어하여 시스템 온 칩 장치 또는 여러 개의 전력 도메인으로 이루어진 서브 시스템을 파워 온/오프 시킬 수 있다.
제2루트 전력 관리자(221)는 제1중앙 처리 장치(110)로부터 제2전력 관리 신호에 포함된 제2시스템 전력 업/다운 커맨드를 수신할 수 있다. 제2루트 전력 관리자(221)는 제1중앙 처리 장치(110)로부터 제2시스템 전력 업/다운 커맨드가 수신되면 해당 커맨드를 수행하기 위한 명령어와 데이터를 기반으로 적어도 하나 이상의 도메인 전력 관리자(222, 223, 224)를 제어하여 시스템 온 칩 장치 또는 여러 개의 전력 도메인으로 이루어진 서브 시스템을 파워 온/오프 시킬 수 있다.
제1전력 관리 유닛(120)의 적어도 하나 이상의 도메인 전력 관리자(122, 123, 124) 중 적어도 하나의 도메인 전력 관리자는 제1중앙 처리 장치(110)로부터 개별 전력 도메인의 전력 제어를 위한 제1도메인 전력 업/다운 커맨드(command)가 수신되면 해당 커맨드를 수행하기 위한 명령어과 데이터를 기반으로 대응되는 전력 도메인에 전력 업/다운 시퀀스 제어를 수행한다. 제2전력 관리 유닛(220)의 적어도 하나 이상의 도메인 전력 관리자(222, 223, 224) 중 적어도 하나의 도메인 전력 관리자는 제1중앙 처리 장치(110)로부터 개별 전력 도메인의 전력 제어를 위한 제2도메인 전력 업/다운 커맨드(command)가 수신되면 해당 커맨드를 수행하기 위한 명령어과 데이터를 기반으로 대응되는 전력 도메인에 전력 업/다운 시퀀스 제어를 수행한다.
제1메모리(125)는 제1루트 전력 관리자(121)가 제1시스템 전력 업/다운 커맨드를 수행하기 위한 명령어와 데이터, 각 도메인 전력 관리자(122, 123, 124)가 제1도메인 전력 업/다운 커맨드를 수행하기 위한 명령어와 데이터를 모두 저장할 수 있다. 이때, 제1메모리(125)는 어드레스에 따라 구획을 나누고, 각 관리자(121, 122, 123, 124) 별로 독립적인 어드레스 영역을 할당할 수도 있다. 한편, 복수의 관리자(121, 122, 123, 124) 중 적어도 둘 이상에서 동작해야 하는 프로그램이 동일한 경우 동일한 어드레스 영역을 여러 개의 관리자(121, 122, 123, 124)가 공유할 수도 있다.
제2메모리(225)는 제2루트 전력 관리자(221)가 제2시스템 전력 업/다운 커맨드를 수행하기 위한 명령어와 데이터, 각 도메인 전력 관리자(222, 223, 224)가 제2도메인 전력 업/다운 커맨드를 수행하기 위한 명령어와 데이터를 모두 저장할 수 있다. 이때, 제2메모리(225)는 어드레스에 따라 구획을 나누고, 각 관리자(221, 222, 223, 224) 별로 독립적인 어드레스 영역을 할당할 수도 있다. 한편, 복수의 관리자(221, 222, 223, 224) 중 적어도 둘 이상에서 동작해야 하는 프로그램이 동일한 경우 동일한 어드레스 영역을 여러 개의 관리자(221, 222, 223, 224)가 공유할 수도 있다.
각 루트 전력 관리자(121, 221) 및 각 도메인 전력 관리자(122, 123, 124, 222, 223, 224)는 마이크로 프로세싱 유닛(MCU)으로 구현된 프로그램 가능 시퀀서일 수 있다. 본 발명의 프로그램 가능 시퀀서는 범용적인 MCU를 사용하여 구현될 수도 있다. 본 발명의 프로그램 가능 시퀀서는 범용적인 MCU를 사용하지 않고, 프로그램 가능 시퀀서로 동작하는데 필요한 특화된 MCU를 설계하여 본 발명의 프로그램 가능 시퀀서를 구성할 수 있다.
도 1에 도시된 멀티 칩 전력 관리 시스템의 동작을 설명한다.
제1시스템 온 칩(100)은 제1중앙 처리 장치(110)를 포함한 마스터(master) 시스템 온 칩으로 동작하고, 제2시스템 온 칩(200)은 중앙 처리 장치 없이 슬레이브(slave) 시스템 온 칩으로 동작할 수 있다. 제1시스템 온 칩(100)과 제2시스템 온 칩(200)에 포함된 복수의 도메인 전력 관리자(122, 123, 124, 222, 223, 224)에는 각각 전력 도메인이 연결될 수 있다.
제1중앙 처리 장치(110)는 제1시스템 온 칩(100)에 포함된 전력 도메인의 전력 관리를 위한 제1전력 관리 신호를 생성하고, 제2시스템 온 칩(200)에 포함된 전력 도메인의 전력 관리를 위한 제2전력 관리 신호를 생성할 수 있다. 제1전력 관리 신호는 제1전력 관리 유닛(120)에 전달되고, 제2전력 관리 신호는 제1연결부(130) 및 제2연결부(210)를 통해 제2전력 관리 유닛(220)에 전달될 수 있다.
제1전력 관리 신호는 제1전력 관리 유닛(120)의 제1루트 전력 관리자(121)를 제어하기 위한 제1시스템 전력 업/다운 커맨드와 제1시스템 온 칩(100)에 포함된 개별 전력 도메인의 전력을 제어하기 위한 제1도메인 전력 업/다운 커맨드를 포함할 수 있다. 제2전력 관리 신호는 제2전력 관리 유닛(220)의 제2루트 전력 관리자(221)를 제어하기 위한 제2시스템 전력 업/다운 커맨드와 제2시스템 온 칩(200)에 포함된 개별 전력 도메인의 전력을 제어하기 위한 제2도메인 전력 업/다운 커맨드를 포함할 수 있다.
제1시스템 전력 업/다운 커맨드를 수신한 제1루트 전력 관리자(121)는 해당 커맨드를 수행하기 위한 명령어와 데이터를 기반으로 적어도 하나 이상의 도메인 전력 관리자(122, 123, 124)를 제어하고, 제2시스템 전력 업/다운 커맨드를 수신한 제2루트 전력 관리자(221)는 해당 커맨드를 수행하기 위한 명령어와 데이터를 기반으로 적어도 하나 이상의 도메인 전력 관리자(222, 223, 224)를 제어한다.
제1도메인 전력 업/다운 커맨드를 수신한 도메인 전력 관리자(122, 123, 124)는 해당 커맨드를 수행하기 위한 명령어와 데이터를 기반으로 대응되는 전력 도메인에 전력 업/다운 시퀀스 제어를 수행하고, 제2도메인 전력 업/다운 커맨드를 수신한 도메인 전력 관리자(222, 223, 224)는 해당 커맨드를 수행하기 위한 명령어와 데이터를 기반으로 대응되는 전력 도메인에 전력 업/다운 시퀀스 제어를 수행한다.
도 2는 본 발명의 다른 실시예에 따른 멀티 칩 전력 관리 시스템의 구성도이다.
도 2의 멀티 칩 전력 관리 시스템은 제1시스템 온 칩(100)과 제2시스템 온 칩(200)으로 구성될 수 있다.
제1시스템 온 칩(100)은 제1시스템 온 칩(100)에 포함된 적어도 하나 이상의 전력 도메인(PD; Power Domain)의 전력 관리를 위한 제1전력 관리 신호와 제2시스템 온 칩(200)에 포함된 적어도 하나 이상의 전력 도메인(PD; Power Domain)의 전력 관리를 위한 제2전력 관리 신호를 생성하는 제1중앙 처리 장치(110)와, 제1중앙 처리 장치(110)의 제어를 받아 제2전력 관리 신호를 제2시스템 온 칩(200)에 송출하고 제2시스템 온 칩(200)으로부터 제3전력 관리 신호를 수신하는 제1연결부(130)와, 제1전력 관리 신호 또는 제3전력 관리 신호를 선택하는 제1아비터(140)와, 제1아비터(140)에서 선택된 제1전력 관리 신호 또는 제3전력 관리 신호를 기반으로 제1시스템 온 칩(100)에 포함된 적어도 하나 이상의 전력 도메인 각각에 전력 업/다운 시퀀스를 수행하는 제1전력 관리 유닛(PMU; Power Management Unit)(120)을 포함하여 구성될 수 있다.
제2시스템 온 칩(200)은 제1시스템 온 칩(100)에 포함된 적어도 하나 이상의 전력 도메인(PD; Power Domain)의 전력 관리를 위한 제2전력 관리 신호와 제2시스템 온 칩(200)에 포함된 적어도 하나 이상의 전력 도메인(PD; Power Domain)의 전력 관리를 위한 제4전력 관리 신호를 생성하는 제2중앙 처리 장치(230)와, 제2중앙 처리 장치(230)의 제어를 받아 제3전력 관리 신호를 제1시스템 온 칩(100)에 송출하고 제1시스템 온 칩(100)으로부터 제2전력 관리 신호를 수신하는 제2연결부(210)와, 제2전력 관리 신호 또는 제4전력 관리 신호를 선택하는 제2아비터(240)와, 제2아비터(240)에서 선택된 제2전력 관리 신호 또는 제4전력 관리 신호를 기반으로 제2시스템 온 칩(200)에 포함된 적어도 하나 이상의 전력 도메인 각각에 전력 업/다운 시퀀스를 수행하는 제2전력 관리 유닛(PMU; Power Management Unit)(220)을 포함하여 구성될 수 있다.
제1시스템 온 칩(100)과 제2시스템 온 칩(200)은 모두 중앙 처리 장치를 포함하는 마스터 시스템 온 칩으로 기능할 수 있다.
제1중앙 처리 장치(110)는 제1시스템 온 칩(100)을 관리하기 위한 제1전력 관리 신호와 제2시스템 온 칩(200)을 관리하기 위한 제2전력 관리 신호를 생성하고, 제2중앙 처리 장치(230)는 제1시스템 온 칩(100)을 관리하기 위한 제3전력 관리 신호와 제2시스템 온 칩(200)을 관리하기 위한 제4전력 관리 신호를 생성할 수 있다.
제1중앙 처리 장치(110)에서 생성된 제2전력 관리 신호는 제1연결부(130)와 제2연결부(210)를 통해 제2시스템 온 칩(200)으로 전송되고, 제2중앙 처리 장치(230)에서 생성된 제3전력 관리 신호는 제2연결부(210)와 제1연결부(130)를 통해 제1시스템 온 칩(100)으로 전송된다.
제1아비터(140)는 제1중앙 처리 장치(110)에서 생성된 제1전력 관리 신호와 제2중앙 처리 장치(230)에서 생성되어 연결부를 통해 전달받은 제3전력 관리 신호를 수신하여 제1전력 관리 유닛(120)에게 선택적으로 송출한다. 제2아비터(240)는 제1중앙 처리 장치(110)에서 생성되어 연결부를 통해 전달받은 제2전력 관리 신호와 제2중앙 처리 장치(230)에서 생성된 제4전력 관리 신호를 수신하여 제2전력 관리 유닛(220)에게 선택적으로 송출한다.
제1전력 관리 유닛(120)은 제1전력 관리 신호 또는 제3전력 관리 신호를 기반으로 적어도 하나 이상의 전력 도메인을 각각 대응하여 전력 업/다운 시퀀스를 수행할 수 있다. 제2전력 관리 유닛(220)은 제2전력 관리 신호 또는 제4전력 관리 신호를 기반으로 적어도 하나 이상의 전력 도메일을 각각 대응하여 전력 업/다운 시퀀스를 수행할 수 있다. 제1시스템 온 칩(100) 및 제2시스템 온 칩(200)에 포함된 각 전력 도메인은 전력 업/다운 시퀀스를 처리하여 전력 업 상태가 되거나 전력 다운 상태가 될 수 있다.
제1전력 관리 유닛(120)과 제2전력 관리 유닛(220)의 내부 구성은 도 1과 동일할 수 있다.
제1전력 관리 신호는 제1루트 전력 관리자(121)를 동작시키기 위한 제1시스템 전력 업/다운 커맨드와, 복수의 도메인 전력 관리자(122, 123, 124) 중 적어도 하나를 동작시키기 위한 제1도메인 전력 업/다운 커맨드 중 적어도 하나를 포함할 수 있다. 제3전력 관리 신호는 제1루트 전력 관리자(121)를 동작시키기 위한 제3시스템 전력 업/다운 커맨드와, 복수의 도메인 전력 관리자(122, 123, 124) 중 적어도 하나를 동작시키기 위한 제3도메인 전력 업/다운 커맨드 중 적어도 하나를 포함할 수 있다.
제2전력 관리 신호는 제2루트 전력 관리자(221)를 동작시키기 위한 제2시스템 전력 업/다운 커맨드와, 복수의 도메인 전력 관리자(222, 223, 224) 중 적어도 하나를 동작시키기 위한 제2도메인 전력 업/다운 커맨드 중 적어도 하나를 포함할 수 있다. 제4전력 관리 신호는 제2루트 전력 관리자(221)를 동작시키기 위한 제4시스템 전력 업/다운 커맨드와, 복수의 도메인 전력 관리자(222, 223, 224) 중 적어도 하나를 동작시키기 위한 제4도메인 전력 업/다운 커맨드 중 적어도 하나를 포함할 수 있다.
제1루트 전력 관리자(121)는 제1중앙 처리 장치(110)로부터 제1전력 관리 신호에 포함된 제1시스템 전력 업/다운 커맨드를 수신하거나, 제2중앙 처리 장치(230)로부터 제3전력 관리 신호에 포함된 제3시스템 전력 업/다운 커맨드를 수신할 수 있다. 제1루트 전력 관리자(121)는 제1중앙 처리 장치(110)로부터 제1시스템 전력 업/다운 커맨드 또는 제2중앙 처리 장치(230)로부터 제3시스템 전력 업/다운 커맨드가 수신되면, 해당 커맨드를 수행하기 위한 명령어와 데이터를 기반으로 적어도 하나 이상의 도메인 전력 관리자(122, 123, 124)를 제어하여 시스템 온 칩 장치 또는 여러 개의 전력 도메인으로 이루어진 서브 시스템을 파워 온/오프 시킬 수 있다.
제2루트 전력 관리자(221)는 제1중앙 처리 장치(110)로부터 제2전력 관리 신호에 포함된 제2시스템 전력 업/다운 커맨드를 수신하거나, 제2중앙 처리 장치(230)로부터 제4전력 관리 신호에 포함된 제4시스템 전력 업/다운 커맨드를 수신할 수 있다. 제2루트 전력 관리자(221)는 제1중앙 처리 장치(110)로부터 제2시스템 전력 업/다운 커맨드 또는 제2중앙 처리 장치(230)로부터 제4시스템 전력 업/다운 커맨드가 수신되면, 해당 커맨드를 수행하기 위한 명령어와 데이터를 기반으로 적어도 하나 이상의 도메인 전력 관리자(222, 223, 224)를 제어하여 시스템 온 칩 장치 또는 여러 개의 전력 도메인으로 이루어진 서브 시스템을 파워 온/오프 시킬 수 있다.
제1전력 관리 유닛(120)의 적어도 하나 이상의 도메인 전력 관리자(122, 123, 124) 중 적어도 하나의 도메인 전력 관리자는 제1중앙 처리 장치(110)로부터 개별 전력 도메인의 전력 제어를 위한 제1도메인 전력 업/다운 커맨드(command) 또는 제2중앙 처리 장치(230)로부터 제3도메인 전력 업/다운 커맨드가 수신되면 해당 커맨드를 수행하기 위한 명령어과 데이터를 기반으로 대응되는 전력 도메인에 전력 업/다운 시퀀스 제어를 수행한다. 제2전력 관리 유닛(220)의 적어도 하나 이상의 도메인 전력 관리자(222, 223, 224) 중 적어도 하나의 도메인 전력 관리자는 제1중앙 처리 장치(110)로부터 개별 전력 도메인의 전력 제어를 위한 제2도메인 전력 업/다운 커맨드(command) 또는 제2중앙 처리 장치(230)로부터 제4도메인 전력 업/다운 커맨드가 수신되면 해당 커맨드를 수행하기 위한 명령어과 데이터를 기반으로 대응되는 전력 도메인에 전력 업/다운 시퀀스 제어를 수행한다.
각 루트 전력 관리자(121, 221) 및 각 도메인 전력 관리자(122, 123, 124, 222, 223, 224)는 마이크로 프로세싱 유닛(MCU)으로 구현된 프로그램 가능 시퀀서일 수 있다. 본 발명의 프로그램 가능 시퀀서는 범용적인 MCU를 사용하여 구현될 수도 있다. 본 발명의 프로그램 가능 시퀀서는 범용적인 MCU를 사용하지 않고, 프로그램 가능 시퀀서로 동작하는데 필요한 특화된 MCU를 설계하여 본 발명의 프로그램 가능 시퀀서를 구성할 수 있다.
도 2에 도시된 멀티 칩 전력 관리 시스템의 동작을 설명한다.
제1시스템 온 칩(100)은 제1중앙 처리 장치(110)를 포함하고, 제2시스템 온 칩(200)은 제2중앙 처리 장치(230)를 포함한다.
제1시스템 온 칩(100)에는 제1서브 시스템을 구성하는 일부의 전력 도메인과 제2서브 시스템을 구성하는 일부의 전력 도메인이 포함될 수 있고, 제2시스템 온 칩(200)에도 제1서브 시스템을 구성하는 일부의 전력 도메인과 제2서브 시스템을 구성하는 일부의 전력 도메인이 포함될 수 있다. 제1서브 시스템의 전력 관리에 있어서, 제1시스템 온 칩(100)은 마스터 시스템 온 칩으로 동작하고 제2시스템 온 칩(200)은 슬레이브 시스템 온 칩으로 동작할 수 있다. 아울러, 제2서브 시스템의 전력 관리에 있어서, 제2시스템 온 칩(200)은 마스터 시스템 온 칩으로 동작하고 제1시스템 온 칩(100)은 슬레이브 시스템 온 칩으로 동작할 수 있다. 즉, 제1중앙 처리 장치는 제1서브 시스템을 관리하기 위한 제1전력 관리 신호와 제2전력 관리 신호를 생성하고, 제2중앙 처리 장치는 제2서브 시스템을 관리하기 위한 제3전력 관리 신호와 제4전력 관리 신호를 생성할 수 있다.
제1시스템 온 칩(100)과 제2시스템 온 칩(200)에 포함된 복수의 도메인 전력 관리자(122, 123, 124, 222, 223, 224)에는 각각 전력 도메인이 연결된다.
제1중앙 처리 장치(110)는 제1시스템 온 칩(100)에 포함된 전력 도메인의 전력 관리를 위한 제1전력 관리 신호를 생성하고, 제2시스템 온 칩(200)에 포함된 전력 도메인의 전력 관리를 위한 제2전력 관리 신호를 생성할 수 있다. 제2중앙 처리 장치(230)는 제1시스템 온 칩(100)에 포함된 전력 도메인의 전력 관리를 위한 제3전력 관리 신호를 생성하고, 제2시스템 온 칩(200)에 포함된 전력 도메인의 전력 관리를 위한 제4전력 관리 신호를 생성할 수 있다.
제1전력 관리 신호는 제1아비터(140)를 통해 제1전력 관리 유닛(120)에 전달되고, 제2전력 관리 신호는 제1연결부(130), 제2연결부(210) 및 제2아비터(240)를 통해 제2전력 관리 유닛(220)에 전달된다. 제3전력 관리 신호는 제2연결부(210), 제1연결부(130) 및 제1아비터(140)를 통해 제1전력 관리 유닛(120)에 전달되고, 제4전력 관리 신호는 제2아비터(240)를 통해 제2전력 관리 유닛(220)에 연결된다.
제1전력 관리 신호는 제1전력 관리 유닛(120)의 제1루트 전력 관리자(121)를 제어하기 위한 제1시스템 전력 업/다운 커맨드와 제1시스템 온 칩(100)에 포함된 개별 전력 도메인의 전력을 제어하기 위한 제1도메인 전력 업/다운 커맨드를 포함할 수 있다. 제2전력 관리 신호는 제2전력 관리 유닛(220)의 제2루트 전력 관리자(221)를 제어하기 위한 제2시스템 전력 업/다운 커맨드와 제2시스템 온 칩(200)에 포함된 개별 전력 도메인의 전력을 제어하기 위한 제2도메인 전력 업/다운 커맨드를 포함할 수 있다.
제3전력 관리 신호는 제1전력 관리 유닛(120)의 제1루트 전력 관리자(121)를 제어하기 위한 제3시스템 전력 업/다운 커맨드와 제1시스템 온 칩(100)에 포함된 개별 전력 도메인의 전력을 제어하기 위한 제3도메인 전력 업/다운 커맨드를 포함할 수 있다. 제4전력 관리 신호는 제2전력 관리 유닛(220)의 제2루트 전력 관리자(221)를 제어하기 위한 제4시스템 전력 업/다운 커맨드와 제2시스템 온 칩(200)에 포함된 개별 전력 도메인의 전력을 제어하기 위한 제4도메인 전력 업/다운 커맨드를 포함할 수 있다.
제1시스템 전력 업/다운 커맨드 또는 제3시스템 전력 업/다운 커맨드를 수신한 제1루트 전력 관리자(121)는 해당 커맨드를 수행하기 위한 명령어와 데이터를 기반으로 적어도 하나 이상의 도메인 전력 관리자(122, 123, 124)를 제어하고, 제2시스템 전력 업/다운 커맨드 또는 제4시스템 전력 업/다운 커맨드를 수신한 제2루트 전력 관리자(221)는 해당 커맨드를 수행하기 위한 명령어와 데이터를 기반으로 적어도 하나 이상의 도메인 전력 관리자(222, 223, 224)를 제어한다.
제1도메인 전력 업/다운 커맨드 또는 제3도메인 전력 업/다운 커맨드를 수신한 도메인 전력 관리자(122, 123, 124)는 해당 커맨드를 수행하기 위한 명령어와 데이터를 기반으로 대응되는 전력 도메인에 전력 업/다운 시퀀스 제어를 수행하고, 제2도메인 전력 업/다운 커맨드 또는 제4도메인 전력 업/다운 커맨드를 수신한 도메인 전력 관리자(222, 223, 224)는 해당 커맨드를 수행하기 위한 명령어와 데이터를 기반으로 대응되는 전력 도메인에 전력 업/다운 시퀀스 제어를 수행한다.
도 3은 본 발명의 한 실시예에 따른 도메인 전력 관리자의 구성도이다.
도메인 전력 관리자(310)는 프로그램 가능 시퀀서의 일 실시예일 수 있다.
도메인 전력 관리자(310)는 전력 도메인(320)에 전력 제어 신호들을 송출하며 전력 도메인(320)의 전력 업/다운 시퀀스를 수행하여, 전력 도메인(320)이 전력 업 상태에서 전력 다운 상태가 되거나 전력 다운 상태에서 전력 업 상태가 되도록 한다. 전력 업/다운 시퀀스를 수행하기 위한 전력 제어 신호들에는 리셋 신호(Reset), 아이솔레이션 신호(Isolation), 스위치 제어 신호(Switch Control), 리텐션 신호(Retention) 등이 포함될 수 있다. 이러한 전력 제어 신호들은 전력 도메인(320)의 사양에 따라 추가/삭제/변경될 수 있다.
도 3의 도메인 전력 관리자(310)는 도 1과 도 2의 제1시스템 온 칩(100)에 포함된 복수의 도메인 전력 관리자(122, 123, 124) 및 도 1과 도 2의 제2시스템 온 칩(200)에 포함된 복수의 도메인 전력 관리자(222, 223, 224) 중 하나일 수 있다. 도 3의 중앙 처리 장치(330)는 제1중앙 처리 장치(110) 또는 제2중앙 처리 장치(230)일 수 있고, 도 3의 메모리(340)는 제1메모리(125) 또는 제2메모리(225)일 수 있다.
중앙 처리 장치(330)는 도메인 전력 관리자(310)가 수행해야 하는 명령어와 데이터를 포함하는 프로그램을 메모리(340)에 저장할 수 있다. 중앙 처리 장치(330)는 메모리(240)에 저장된 명령어 및 데이터를 변경하여 저장할 수 있다. 따라서, 도메인 전력 관리자(310)가 수행하는 명령어의 내용 및 순서 등이 변경될 수 있으며, 이로 인해 도메인 전력 관리자(310)는 프로그램 가능 시퀀서가 될 수 있다.
중앙 처리 장치(330)는 전력 도메인(320)의 전력 업/다운 여부를 결정하고 그 결정 사항을 기반으로 도메인 전력 업 커맨드 또는 도메인 전력 다운 커맨드를 도메인 전력 관리자(310)에게 출력한다.
도메인 전력 관리자(310)는 도메인 전력 업 커맨드 또는 도메인 전력 다운 커맨드가 수신되면, 대응되는 전력 도메인(320)에 전력 제어 신호들을 송출하여 전력 업 시퀀스 또는 전력 다운 시퀀스를 수행한다. 전력 도메인(320)은 해당 전력 업 시퀀스 또는 전력 다운 시퀀스를 처리하여 전력 업 상태 또는 전력 다운 상태가 된다.
도메인 전력 관리자(310)는, 중앙 처리 장치(330)로부터 전력 도메인(320)의 전력 제어에 관련된 커맨드 즉, 도메인 전력 업/다운 커맨드를 수신하고 해당 커맨드를 수행하기 위한 명령어(instruction)가 저장된 메모리(340)에 접근하여 메모리(340)에 저장된 명령어를 실행하는 프로세싱 유닛(311)과, 프로세싱 유닛(311)에 의해 적어도 하나 이상의 필드 값이 변경되어 전력 도메인(320)에 전력 제어 신호들이 송출되도록 하는 레지스터 뱅크(312)를 포함한다.
레지스터 뱅크(312)는 각 전력 제어 신호에 대응하는 복수의 레지스터 필드를 포함하며, 레지스터 필드에 기록된 값들이 해당 전력 제어 신호로서 전력 도메인(320)으로 송출된다. 예컨대, 레지스터 뱅크(312)는 리셋 신호에 대응되는 레지스터 필드와, 아이솔레이션 신호에 대응되는 레지스터 필드와, 스위치 제어 신호에 대응되는 레지스터 필드와, 리텐션 신호에 대응되는 레지스터 필드를 포함하며, 해당 레지스터 필드 값(0 또는 1)에 따라 해당 전력 제어 신호가 0 또는 1로 송출된다.
메모리(340)에 저장된 명령어는 레지스터 뱅크(312)의 특정 레지스터 필드 값을 0으로 쓰는(write) 명령어와, 레지스터 뱅크(312)의 특정 필드값을 1로 쓰는 명령어를 포함한다. 프로세싱 유닛(311)은 해당 명령어를 실행하여 레지스터 뱅크(312)의 특정 레지스터 필드 값을 0 또는 1로 변경할 수 있다. 그러면, 해당 전력 제어 신호의 값이 0 또는 1로 변경되어 전력 도메인(320)으로 송출될 수 있다.
도메인 전력 관리자(310)는 전력 도메인(320)으로부터 신호를 수신하여 프로세싱 유닛(311)과 레지스터 뱅크(312) 중 적어도 하나로 송출하는 전력 관리자 인터페이스(313)를 더 포함할 수 있다. 레지스터 뱅크(312)에서 전력 도메인(320)으로 송출되는 전력 제어 신호들은 전력 관리자 인터페이스(313)를 통해 전력 도메인(320)에 전달될 수 있다.
도메인 전력 관리자(310)의 한 실시예로서, 도메인 전력 관리자(310)는 전력 도메인(320)의 비-전력 게이팅 영역(Non-Power Gating)에 배치될 수 있다.
도메인 전력 관리자(310)의 다른 실시예로서, 도메인 전력 관리자(310)는 시스템 온 칩 장치의 '항상 활성 도메인(Always-On Domain)'에 배치될 수 있다. 이때, 전력 관리자 인터페이스(313)는 항상 활성 도메인이 아니라 해당 전력 도메인(320)의 비전력 게이팅 영역(Non-Power Gating)에 배치될 수 있다.
전력 제어 신호 중에는 핸드쉐이크(handshake)로 이루어진 신호들이 다수 존재한다. 예컨대, 전력 스위치 인에이블 신호를 송출한 다음에는 그에 따른 피드백 신호가 수신되기까지 대기하여야 한다. 이때, 전력 도메인에서 출력되는 피드백 신호는 전력 관리자 인터페이스(313)를 통해 레지스터 뱅크(312)의 특정 레지스터 필드 값으로 기록되며, 프로세싱 유닛(311)은 해당 레지스터 필드 값이 해당 특정 값이 기록될 때까지 대기한다. 이를 위해, 메모리(340)에 저장된 명령어는 레지스터 뱅크(312)의 특정 레지스터 필드 값이 0이 될 때까지 기다리는 명령어와, 레지스터 뱅크(312)의 특정 레지스터 필드 값이 1이 될 때까지 기다리는 명령어를 포함할 수 있다.
또한, 전력 제어 신호 중에는 하나의 신호를 송출한 후 일정 시간 이상 대기한 후 다음 동작을 수행해야 할 수도 있다. 예컨대, 전력 도메인(320)을 리셋 릴리즈(Reset Release)한 경우, 전력 도메인(320)이 리셋되고 정상 동작하기까지 기다려야 한다.
이를 위해, 메모리(340)에 저장된 명령어는 특정 사이클의 시간을 대기하는 명령어를 포함할 수 있으며, 대기하는 시간 정보는 레지스터 뱅크(312)의 특정 레지스터 필드에 저장될 수도 있고, 사용자가 입력 상수 값이 프로세싱 유닛(311)의 내부 레지스터에 저장될 수도 있다.
또한, 메모리(340)에 저장된 명령어는 프로세싱 유닛(311)의 내부 레지스터 값을 레지스터 뱅크(312)의 특정 레지스터 필드로 기록하는 명령어와, 레지스터 뱅크(312)의 특정 레지스터 필드 값을 프로세싱 유닛(311)의 내부 레지스터로 기록하는 명령어와, 사용자 입력 상수 값을 프로세싱 유닛(311)의 내부 레지스터로 기록하는 명령어를 포함할 수 있다.
또한, 메모리(340)에 저장된 명령어는 메모리(340)에 저장된 명령어들의 수행 순서를 결정하는 명령어들을 포함할 수 있으며, 이러한 명령어는 특정 어드레스로 점프하는 명령어, 이전 어드레스로 복귀하는 명령어, 명령어 수행 결과에 따라 특정 어드레스로 이동하는 명령어 등이 포함될 수 있다.
도메인 전력 관리자(310)는 전력 도메인(320)에 대해 전력 업 시퀀스와 전력 다운 시퀀스를 수행하며, 전력 도메인(320)은 전력 업 시퀀스 및 전력 다운 시퀀스를 실행하여 전력 업 상태와 전력 다운 상태로 천이할 수 있다.
중앙 처리 장치(330)는 메모리(340)에 도메인 전력 관리자(310)가 전력 도메인(320)을 전력 제어하기 위한 명령어들을 저장해 놓고, 전력 도메인(320)에 대한 전력 업 또는 전력 다운이 결정되면, 도메인 전력 관리자(310)에게 도메인 전력 업 커맨드 또는 도메인 전력 다운 커맨드를 송출한다.
도메인 전력 관리자(310)는 중앙 처리 장치(330)로부터 도메인 전력 다운 커맨드가 수신되면 메모리(340)에서 전력 도메인(320)에 전력 다운 시퀀스를 수행하기 위한 명령어들을 읽어서 실행한다. 이러한 명령어들에는 레지스터 뱅크(312)의 특정 레지스터 필드 값을 0 또는 1로 설정하는 명령어가 포함되며, 이러한 명령어의 실행을 통해 전력 도메인(320)에 전력 다운 시퀀스가 수행될 수 있다.
한편, 도메인 전력 관리자(310)는 중앙 처리 장치(330)로부터 도메인 전력 업 커맨드가 수신되면 메모리(340)에서 전력 도메인(320)에 전력 업 시퀀스를 수행하기 위한 명령어들을 읽어서 실행하며, 이를 통해 전력 도메인(320)에 전력 업 시퀀스가 수행될 수 있다.
전력 다운 시퀀스 및 전력 업 시퀀스 중 적어도 일부가 변경된 경우, 중앙 처리 장치(330)는 메모리(340)에 저장된 명령어들의 실행 순서와 데이터를 변경할 수 있다. 이렇게 메모리(340)에 저장된 명령어들의 실행 순서와 데이터가 변경되면, 이후의 도메인 전력 업 커맨드 또는 도메인 전력 다운 커맨드를 수신한 도메인 전력 관리자(310)는 변경된 명령어 실행 순서와 데이터를 반영하여 전력 업/다운 시퀀스를 수행하게 된다. 이와 같이 도메인 전력 관리자(310)는 프로그램 가능 시퀀스로서 동작하게 된다.
본 발명에서는 전력 다운 시퀀스 또는 전력 업 시퀀스를 변경해야 할 상황이 발생하면, 중앙 처리 장치(330)가 메모리(340)에 저장된 명령어들의 실행 순서와 데이터를 변경하면 된다. 본 발명에 따른 프로그램 가능 시퀀서는 팹 아웃 후 다양한 비정상적인 케이스에 유연하게 대처할 수 있다.
중앙 처리 장치(330)와 도메인 전력 관리자(310)는 동일한 시스템 온 칩에 포함될 수도 있고, 서로 다른 시스템 온 칩에 포함될 수도 있다. 예컨대, 제1시스템 온 칩(100)이 제2시스템 온 칩(200)에 포함된 도메인 전력 관리자를 관리할 수 있고, 제2시스템 온 칩(200)이 제1시스템 온 칩(100)에 포함된 도메인 전력 관리자를 관리할 수 있다.
도 4는 본 발명의 한 실시예에 따른 루트 전력 관리자의 구성도이다.
루트 전력 관리자(410)는 프로그램 가능 시퀀서의 다른 실시예일 수 있다.
루트 전력 관리자(410)는 도 1 및 도 2의 제1루트 전력 관리자(PMR: Power Management for Root)(121) 또는 제2루트 전력 관리자(221)일 수 있다.
중앙 처리 장치(420)는 루트 전력 관리자(410)가 수행해야 하는 명령어와 데이터를 포함하는 프로그램을 메모리(430)에 저장할 수 있다. 중앙 처리 장치(420)는 메모리(430)에 저장된 명령어 및 데이터를 포함하는 프로그램을 변경하여 저장할 수 있다. 따라서, 루트 전력 관리자(410)가 수행하는 명령어의 내용 및 순서 등이 변경될 수 있으며, 이러한 이유로 인하여 루트 전력 관리자(410)는 프로그램 가능 시퀀서로서 동작할 수 있다.
중앙 처리 장치(420)는 도 1 및 도 2의 제1중앙 처리 장치(110) 또는 제2중앙 처리 장치(230)일 수 있고, 메모리(430)는 도 1 및 도 2의 제1메모리(125) 또는 제2메모리(225)일 수 있다.
중앙 처리 장치(420)는 시스템 온 칩 장치 또는 복수의 전력 도메인으로 이루어진 서브 시스템에 대한 전력 업 또는 전력 다운을 결정하고, 그 결정 사항에 따라 루트 전력 관리자(410)에게 시스템 전력 업/다운 커맨드를 출력할 수 있다. 이러한 시스템 전력 업/다운 커맨드에는 시스템 온 칩 장치에 대한 전력 업/다운 커맨드 또는 여러 개의 전력 도메인으로 이루어진 임의의 서브 시스템에 대한 전력 업/다운 커맨드가 포함될 수 있다.
루트 전력 관리자(410)는, 중앙 처리 장치(420)로부터 시스템 전력 업/다운 커맨드를 수신하고 해당 커맨드를 수행하기 위한 명령어(instruction)가 저장된 메모리(430)에 접근하여 메모리(430)에 저장된 명령어를 실행하는 프로세싱 유닛(411)과, 프로세싱 유닛(411)에 의해 적어도 하나 이상의 필드 값이 변경되어 적어도 하나 이상의 도메인 전력 관리자(441, 442, 443)에 전력 제어 신호를 송출하는 레지스터 뱅크(412)를 포함한다. 루트 전력 관리자(410)는 적어도 하나 이상의 도메인 전력 관리자(441, 442, 443)로부터 신호를 수신하여 프로세싱 유닛(411)과 레지스터 뱅크(412) 중 적어도 하나로 송출하는 전력 관리자 인터페이스(미도시)를 더 포함할 수도 있다. 여기서, 도메인 전력 관리자(441, 442, 443)는 도 1 및 도 2의 도메인 전력 관리자(122, 123, 124, 222, 223, 224)일 수 있다.
메모리(430)에는 중앙 처리 장치(420)로부터 입력된 커맨드에 따라 루트 전력 관리자(410)가 수행해야 하는 명령어들이 저장되어 있는 바, 중앙 처리 장치(420)로부터 시스템 전력 업/다운 커맨드가 수신되면 루트 전력 관리자(410)는 메모리(430)에 저장된 명령어들을 수행하여 적어도 하나 이상의 도메인 전력 관리자(441, 442, 443)에 전력 제어 신호를 송출하여 전력을 제어한다.
즉, 루트 전력 관리자(410)는 중앙 처리 장치(420)로부터 시스템 전력 업/다운 커맨드가 수신되면 해당 커맨드를 수행하기 위한 명령어와 데이터를 기반으로 적어도 하나 이상의 도메인 전력 관리자(441, 442, 443)를 동작시켜서 시스템 온 칩 장치 또는 여러 개의 전력 도메인으로 이루어진 서브 시스템을 파워 온/오프 시킬 수 있다.
팹 아웃 후, 도메인 전력 관리자의 전력 업 순서 또는 파워 오프시 전력 다운 순서 등을 변경해야 할 상황이 발생할 수 있다. 이러한 경우 중앙 처리 장치(420)가 메모리(430)에 저장된 명령어들의 실행 순서와 데이터를 변경하면 된다. 그러면, 이후 루트 전력 관리자(410)는 시스템 온 칩 장치, 또는 여러 개의 전력 도메인으로 이루어진 서브 시스템의 파워 온/오프 순서 등을 변경된 순서로 실행할 수 있다. 따라서, 본 발명에 따르면 팹 아웃 후 다양한 비정상적인 케이스에 유연하게 대처할 수 있다.
본 명세서에 기술되고 및/또는 첨부 도면에 도시된 흐름도의 임의의 일상적인 설명, 요소 또는 블록은 특정 논리 함수 또는 요소를 구현하기 위한 하나 이상의 실행 가능한 명령을 포함하는 코드, 모듈, 세그먼트 또는 부분을 잠재적으로 나타내는 것으로 이해되어야 한다. 루틴. 대안적인 예는 여기에 설명된 예의 범위 내에 포함되며, 여기에서 이해될 수 있는 기능에 따라 실질적으로 동 기적으로 또는 역순으로 요소 또는 기능이 삭제되거나 도시되거나 논의된 것으로부터 순서대로 실행될 수 있다.
상술된 실시예에 대해 많은 변형 및 수정이 이루어질 수 있으며, 그 요소는 다른 허용 가능한 예 중 하나인 것으로 이해되어야 한다. 이러한 모든 수정 및 변형은 본 개시의 범위 내에 포함되고 다음의 청구범위에 의해 보호되도록 의도된다. 이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 한정되어서는 아니되며, 후술하는 특허청구범위 뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
100: 제1시스템 온 칩
110: 제1중앙 처리 장치
120: 제1전력 관리 유닛
130: 제1연결부
140: 제1아비터
200: 제2시스템 온 칩
210: 제2연결부
220: 제2전력 관리 유닛
230: 제2중앙 처리 장치
240: 제2아비터

Claims (24)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230133947A KR102643030B1 (ko) 2023-10-10 2023-10-10 시스템 온 칩 및 멀티 칩 전력 관리 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230133947A KR102643030B1 (ko) 2023-10-10 2023-10-10 시스템 온 칩 및 멀티 칩 전력 관리 시스템

Publications (1)

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

Family

ID=90297535

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230133947A KR102643030B1 (ko) 2023-10-10 2023-10-10 시스템 온 칩 및 멀티 칩 전력 관리 시스템

Country Status (1)

Country Link
KR (1) KR102643030B1 (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 電源供給システム、携帯機器及びそれらに用いる電源投入順序制御方法
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 ローム株式会社 シーケンスコントローラおよび電子機器
US20220100247A1 (en) * 2020-09-26 2022-03-31 Intel Corporation Hierarchical power management apparatus and method

Patent 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 電源供給システム、携帯機器及びそれらに用いる電源投入順序制御方法
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 ローム株式会社 シーケンスコントローラおよび電子機器
US20220100247A1 (en) * 2020-09-26 2022-03-31 Intel Corporation Hierarchical power management apparatus and method

Similar Documents

Publication Publication Date Title
EP0569969B1 (en) Microcomputer having instruction memory storing instructions for reading out internal conditions
CN104520932B (zh) 闪存存储器控制器
US6119192A (en) Circuit and method for configuring a bus bridge using parameters from a supplemental parameter memory
KR101035832B1 (ko) 집적 종단점 장치와, 집적 pci 익스프레스 종단점 장치및 pci 익스프레스 통신 시스템
US20040148548A1 (en) Method and apparatus for controlling a data processing system during debug
JP2007206885A (ja) コンピュータシステム及びシステム起動方法
US10691195B2 (en) Selective coupling of memory to voltage rails based on operating mode of processor
US9250920B2 (en) Initializing processor cores in a multiprocessor system
JP2007164793A (ja) データ処理システムの中に分散された分配型ダイレクトメモリアクセス手段
KR20070108410A (ko) 호스트 제어기 상에서의 독립적이면서 동시적인 데이터전달을 위한 방법 및 장치
US6016549A (en) Peripheral unit having at least two sequencer circuits configured to control data transfers for power saving
US5826105A (en) System for using an external CPU to access multifunction controller's control registers via configuration registers thereof after disabling the embedded microprocessor
CN100395742C (zh) 可快速地于不同储存装置间传输数据的计算机系统
KR102643030B1 (ko) 시스템 온 칩 및 멀티 칩 전력 관리 시스템
CN111177027A (zh) 动态随机存取存储器、内存管理方法、系统及存储介质
KR102643031B1 (ko) 프로그램 가능 시퀀서와 이를 이용한 시스템 온 칩 장치
KR102643032B1 (ko) 전력 제어 시스템 및 이를 포함한 시스템 온 칩 장치
JP4471947B2 (ja) データ処理装置及びデータ処理方法
KR100204616B1 (ko) 효율적인 파우어 온 초기화를 갖는 정보 처리 시스템
US7689864B2 (en) Processor comprising an integrated debugging interface controlled by the processing unit of the processor
US20020004877A1 (en) Method and system for updating user memory in emulator systems
US6907454B1 (en) Data processing system with master and slave processors
US20240220436A1 (en) Supporting multiple controller circuits on a multiplexed communication bus
US20140215200A1 (en) Data processing device with serial bus that needs initialization before use
CN117331883A (zh) 自主可控的用于实现磁盘RAID功能的SoC芯片系统

Legal Events

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