KR20160032529A - 시스템 온 칩과 이의 dvfs 검증 방법 - Google Patents

시스템 온 칩과 이의 dvfs 검증 방법 Download PDF

Info

Publication number
KR20160032529A
KR20160032529A KR1020140122786A KR20140122786A KR20160032529A KR 20160032529 A KR20160032529 A KR 20160032529A KR 1020140122786 A KR1020140122786 A KR 1020140122786A KR 20140122786 A KR20140122786 A KR 20140122786A KR 20160032529 A KR20160032529 A KR 20160032529A
Authority
KR
South Korea
Prior art keywords
dvfs
state
value
frequency
module
Prior art date
Application number
KR1020140122786A
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 KR1020140122786A priority Critical patent/KR20160032529A/ko
Priority to US14/754,681 priority patent/US20160077572A1/en
Publication of KR20160032529A publication Critical patent/KR20160032529A/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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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/324Power saving characterised by the action undertaken by lowering clock frequency
    • 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/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

본 발명의 실시 예에 따른 시스템 온 칩의 DVFS(dynamic voltage and frequency scaling) 검증 방법은, DVFS 상태 추출 모듈이 코드로부터 DVFS 상태 변환 코드를 추출하고, 상기 추출된 DVFS 상태 변환 코드를 분석하고 분석의 결과에 따라 DVFS 상태 값을 생성하는 단계와, 유효 상태 추출 모듈이 상기 시스템 온 칩을 동작시킬 수 있는 동작 전압 조건과 동작 주파수 조건을 만족하는 유효 상태 값들을 생성하는 단계와, 안정성 판단 모듈이 상기 DVFS 상태 값이 상기 유효 상태 값들 중에서 어느 하나와 동일한지 여부에 따라, 상기 DVFS 상태 값의 안정성을 판단하는 단계를 포함한다.

Description

시스템 온 칩과 이의 DVFS 검증 방법{SYSTEM ON CHIP(SoC), AND DYNAMIC VOLTAGE FREQUENCY SCALING(DVFS) VERIFICATION METHOD THEREOF}
본 발명의 개념에 따른 실시 예는 시스템 온 칩의 DVFS 검증 방법에 관한 것으로, 특히 시스템 온 칩의 전력 소모와 성능을 효율적으로 관리하고, DVFS 제어 코드의 안정성을 검증할 수 있는 시스템 온 칩과 이의 DVFS 검증 방법에 관한 것이다.
시스템-온 칩(system-on chip(SoC))은 컴퓨터 시스템 또는 다른 전자 시스템을 구현하기 위해 CPU(central processing unit), 메모리, 인터페이스(interface), 디지털 신호 처리 회로, 및 아날로그 신호 처리 회로 등 다양한 기능 블록들을 하나의 반도체 집적 회로에 집적하는 기술 또는 상기 기술에 따라 집적된 하나의 집적 회로(integrated circuit(IC))를 의미한다.
SOC는 프로세서, 멀티미디어(multimedia), 그래픽(graphic), 인터페이스, 및 보안 등 다양한 기능들을 포함하는 더욱 복잡한 시스템으로 발전하고 있다.
배터리를 사용하는 휴대용 장치에 다양한 기능이 컨버전스되면서, 휴대용 장치의 성능뿐만 아니라, 휴대용 장치의 전력 소모량을 최소화하는 방안에 대한 연구가 진행되고 있다. 이의 일환으로 DVFS(Dynamic Voltage Frequency Scaling, 이하 DVFS) 방법이 사용된다.
DVFS 방법은 알고리즘을 통해 CPU의 주파수와 전압을 동적으로 조절하는 방법이다. 성능과 전력 소모는 서로 트레이드-오프(trade-off) 관계에 있다. 따라서, 전력 소모를 줄이기 위해서는 성능을 낮추어야 한다.
따라서, 성능이 중시되는 시스템에서는 전력 소모를 줄일 수 있는 알고리즘의 비중을 줄이는 DVFS 방법을 사용하며, 전력 소모의 감소가 중시되는 시스템에서는 전력 소모를 줄일 수 있는 알고리즘의 비중을 늘리는 DVFS 방법을 사용한다.
다만, 시스템의 작업량이 증가하면 DVFS 방법에 따른 DVFS 상태가 많아지고, SoC가 DVFS 상태를 관리하는 복잡성이 증가하게 된다. 따라서, SoC는 복잡해진 DVFS 상태가 정확히 관리되고 있는지에 대해 검증할 필요가 있다.
본 발명이 이루고자 하는 기술적인 과제는, 시스템 온 칩의 전력 소모와 성능을 효율적으로 관리하고, DVFS 제어 코드의 안정성을 검증할 수 있는 시스템 온 칩과 이의 DVFS 검증 방법을 제공하는 것이다.
본 발명의 실시 예에 따른 시스템 온 칩의 DVFS(dynamic voltage and frequency scaling) 검증 방법은, DVFS 상태 추출 모듈이 코드로부터 DVFS 상태 변환 코드를 추출하고, 상기 추출된 DVFS 상태 변환 코드를 분석하고 분석의 결과에 따라 DVFS 상태 값을 생성하는 단계와, 유효 상태 추출 모듈이 상기 시스템 온 칩을 동작시킬 수 있는 동작 전압 조건과 동작 주파수 조건을 만족하는 유효 상태 값들을 생성하는 단계와, 안정성 판단 모듈이 상기 DVFS 상태 값이 상기 유효 상태 값들 중에서 어느 하나와 동일한지 여부에 따라, 상기 DVFS 상태 값의 안정성을 판단하는 단계를 포함한다.
상기 DVFS 상태 값은, 특정 시점에서 상기 추출된 DVFS 상태 변환 코드에 기초하여 생성된 전압 값, 주파수, 및 상기 주파수에 관련된 분주 주파수의 집합을 의미할 수 있다.
상기 유효 상태 값들은, 상기 동작 전압 조건과 상기 동작 주파수 조건에 기초하여 생성된 전압 값, 주파수, 및 상기 주파수에 관련된 분주 주파수의 집합을 의미할 수 있다.
상기 안정성 판단 모듈은, 상기 DVFS 상태 값이 상기 유효 상태 값들 중에서 어느 하나와 동일할 때, 상기 DVFS 상태 값이 안정하다고 판단한다.
상기 안정성 판단 모듈은, 상기 DVFS 상태 값이 상기 유효 상태 값들 중에서 어느 하나와 동일하지 않을 때, 상기 DVFS 상태 값이 불안정하다고 판단한다.
상기 시스템 온 칩의 DVFS 검증 방법은, 안정성 판단 모듈이 상기 DVFS 상태 값이 안정한지 여부를 나타내는 DVFS 검증 신호를 상기 시스템 온 칩의 CPU(central processing unit)로 전송하는 단계를 더 포함할 수 있다.
상기 시스템 온 칩의 DVFS 검증 방법은, 상기 유효 상태 추출 모듈이 상기 동작 전압 조건에 대한 정보와 상기 동작 주파수 조건에 대한 정보를 상기 시스템 온 칩의 CPU로부터 수신하는 단계를 더 포함할 수 있다.
상기 시스템 온 칩의 DVFS 검증 방법은, 상기 DVFS 상태 값이 제1 DVFS 상태 값과 제2 DVFS 상태 값을 포함하고, 상기 제1 DVFS 상태 값과 상기 제2 DVFS 상태 값이 안정하다고 판단될 때, DVFS 시퀀스 생성 모듈이 상기 제1 DVFS 상태 값이 상기 제2 DVFS 상태 값으로 변할 때까지, DVFS 상태 값들의 경로들을 나타내는 DVFS 시퀀스들을 생성하는 단계, 및 DVFS 시퀀스 선택 모듈이 상기 DVFS 시퀀스들 중에서 상기 제1 DVFS 상태 값으로부터 상기 제2 DVFS 상태 값으로의 상태 전이에 필요한 리소스가 최소인 DVFS 시퀀스를 선택하는 단계를 더 포함할 수 있다.
상기 시스템 온 칩의 DVFS 검증 방법은, 상기 DVFS 시퀀스 선택 모듈이 상기 DVFS 시퀀스를 코드로 변환하는 단계를 더 포함할 수 있다.
상기 리소스는 상기 상태 전이에 소요되는 전이 시간(transition time), 상기 상태 전이에 소모되는 전력, 상기 상태 전이에 필요한 전류, 상기 상태 전이에 필요한 전압 중에서 어느 하나일 수 있다.
상기 시스템 온 칩의 DVFS 검증 방법을 실행할 수 있는 컴퓨터 프로그램은 컴퓨터로 읽을 수 있는 기록 매체에 저장될 수 있다.
본 발명의 다른 실시 예에 따른 시스템 온 칩의 DVFS 검증 방법은, 시뮬레이션 추출 모듈이 시스템 온 칩으로 DVFS 작동에 대한 시뮬레이션을 명령하고, 상기 시뮬레이션의 결과에 따라 DVFS 시뮬레이션 값을 생성하는 단계와, 유효 상태 추출 모듈이 상기 시스템 온 칩을 동작시킬 수 있는 동작 전압 조건과 동작 주파수 조건을 만족하는 유효 상태 값들을 생성하는 단계와, 안정성 판단 모듈이 상기 DVFS 시뮬레이션 값이 상기 유효 상태 값들 중에서 어느 하나와 동일한지 여부에 따라, 상기 DVFS 시뮬레이션 값의 안정성을 판단하는 단계를 포함한다.
상기 DVFS 시뮬레이션 값은, 상기 시뮬레이션의 결과에 기초하여 생성된 전압 값, 주파수, 및 상기 주파수에 관련된 분주 주파수의 집합을 의미할 수 있다.
상기 안정성 판단 모듈은, 상기 DVFS 시뮬레이션 값이 상기 유효 상태 값들 중에서 어느 하나와 동일할 때, 상기 DVFS 시뮬레이션 값이 안정하다고 판단할 수 있다.
상기 안정성 판단 모듈은, 상기 DVFS 시뮬레이션 값이 상기 유효 상태 값들 중에서 어느 하나와 동일하지 않을 때, 상기 DVFS 시뮬레이션 값이 불안정하다고 판단할 수 있다.
상기 시스템 온 칩의 DVFS 검증 방법은, 상기 DVFS 시뮬레이션 값이 제1 DVFS 상태 값과 제2 DVFS 상태 값을 포함하고, 상기 제1 DVFS 상태 값과 상기 제2 DVFS 상태 값이 안정하다고 판단될 때, DVFS 시퀀스 생성 모듈이 상기 제1 DVFS 상태 값이 상기 제2 DVFS 상태 값으로 변할 때까지, DVFS 상태 값들의 경로들을 나타내는 DVFS 시퀀스들을 생성하는 단계와, DVFS 시퀀스 선택 모듈이 상기 DVFS 시퀀스들 중에서 상기 제1 DVFS 상태 값으로부터 상기 제2 DVFS 상태 값으로의 상태 전이에 필요한 리소스가 최소인 DVFS 시퀀스를 선택하는 단계를 더 포함할 수 있다.
상기 시스템 온 칩의 DVFS 검증 방법을 실행할 수 있는 컴퓨터 프로그램은 컴퓨터로 읽을 수 있는 기록 매체에 저장될 수 있다.
본 발명의 실시 예에 따른 시스템 온 칩은, DVFS 검증 방법을 수행하는 DVFS 모듈을 저장하는 메모리 장치, 및 상기 DVFS 모듈을 상기 메모리 장치로부터 리드(read)하여 실행하는 CPU를 포함하고, 상기 DVFS 모듈은, 상기 CPU로부터 수신된 코드로부터 DVFS 상태 변환 코드를 추출하고, 상기 추출된 DVFS 상태 변환 코드를 분석하고 분석의 결과에 따라 DFVS 상태 값을 생성하는 DVFS 상태 추출 모듈, 상기 시스템 온 칩을 동작시킬 수 있는 동작 전압 조건과 동작 주파수 조건을 만족하는 유효 상태 값들을 생성하는 유효 상태 추출 모듈, 및 상기 DVFS 상태 값이 상기 유효 상태 값들 중에서 어느 하나와 동일한지 여부에 따라, 상기 DVFS 상태 값의 안정성을 판단하는 안정성 판단 모듈을 포함한다.
상기 안정성 판단 모듈은, 상기 DVFS 상태 값이 상기 유효 상태 값들 중에서 어느 하나와 동일할 때, 상기 DVFS 상태 값이 안정하다고 판단하고, 상기 DVFS 상태 값이 상기 유효 상태 값들 중에서 어느 하나와 동일하지 않을 때, 상기 DVFS 상태 값이 불안정하다고 판단한다.
상기 DVFS 모듈은, 상기 DVFS 상태 값이 제1 DVFS 상태 값과 제2 DVFS 상태 값을 포함하고, 상기 제1 DVFS 상태 값과 상기 제2 DVFS 상태 값이 안정하다고 판단될 때, 상기 제1 DVFS 상태 값이 상기 제2 DVFS 상태 값으로 변할 때까지, DVFS 상태 값들의 경로들을 나타내는 DVFS 시퀀스들을 생성하는 DVFS 시퀀스 생성 모듈, 및 상기 DVFS 시퀀스들 중에서 상기 제1 DVFS 상태 값으로부터 상기 제2 DVFS 상태 값으로의 상태 전이에 필요한 리소스가 최소인 DVFS 시퀀스를 선택하는 DVFS 시퀀스 선택 모듈을 더 포함할 수 있다.
본 발명의 실시 예에 따른 시스템 온 칩의 DVFS(dynamic voltage and frequency scaling) 검증 방법은, 시스템 온 칩의 전력 소모와 성능을 효율적으로 관리하고, DVFS 제어 코드의 안정성을 검증할 수 있는 효과가 있다.
본 발명의 실시 예에 따른 시스템 온 칩의 DVFS 검증 방법은, 안전하고 최소한의 리소스(resource)를 사용하는 DVFS 상태 전이(state transition)를 제공하는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 전자 시스템의 블록도이다.
도 2는 본 발명의 일 실시 예에 따른 SoC의 DVFS 검증 방법을 설명하기 위한 블록도이다.
도 3은 도 2에 도시된 SoC의 DVFS 검증 방법을 설명하기 위한 플로우 차트이다.
도 4는 본 발명의 다른 실시 예에 따른 SoC의 DVFS 검증 방법을 설명하기 위한 블록도이다.
도 5는 SoC의 DVFS 시퀀스 선택 방법을 설명하기 위한 플로우 차트이다.
도 6은 본 발명의 실시 예에 따른 DVFS 상태 테이블의 일부를 나타낸다.
도 7은 도 6에 도시된 DVFS 상태 테이블의 DVFS 상태들에 대한 시퀀스를 표현한 테이블이다.
도 8은 스테이트 엘리먼트들의 전이 시간 테이블이다.
도 9는 도 8에 도시된 전이 시간 테이블에 따라 스테이트 엘리먼트가 최적의 경로를 탐색하는 방법을 설명하는 상태도이다.
도 10은 본 발명의 또 다른 실시 예에 따른 SoC의 DVFS 검증 방법을 설명하기 위한 블록도이다.
도 11은 도 10에 도시된 SoC의 DVFS 검증 방법을 설명하기 위한 플로우 차트이다.
도 12는 본 발명의 또 다른 실시 예에 따른 SoC의 DVFS 검증 방법을 설명하기 위한 블록도이다.
도 13은 본 발명의 실시 예에 따른 SoC를 포함하는 전자 시스템의 다른 실시 예를 나타내는 블록도이다.
도 14는 본 발명의 실시 예에 따른 SoC를 포함하는 전자 시스템의 또 다른 실시 예를 나타내는 블록도이다.
도 15는 본 발명의 실시 예에 따른 SoC를 포함하는 전자 시스템의 또 다른 실시 예를 나타내는 블록도이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1구성 요소는 제2구성 요소로 명명될 수 있고 유사하게 제2구성 요소는 제1구성 요소로도 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
도 1은 본 발명의 실시 예에 따른 전자 시스템의 블록도이다. 도 1을 참조하면, 전자 시스템(10)은 시스템 온 칩(system on chip(SoC); 100), 외부 메모리 (165), 디스플레이 장치(175), 및 전력 관리 IC(power management IC(PMIC); 190)를 포함한다.
SoC(100)는 CPU(central processing unit; 110), ROM(read only memory; 120), RAM(random access memory; 130), 타이머(135), 클락 관리 유닛(clock management unit(CMU)); 140), 전력 관리 유닛(power management unit(PMU); 150), 메모리 컨트롤러(160), 디스플레이 컨트롤러(170), 및 버스(180)를 포함할 수 있다. 실시 예에 따라, SoC(100)는 도시된 구성 요소 이외에 다른 구성 요소들을 더 포함할 수 있다.
프로세서(processor)라고도 불릴 수 있는 CPU(110)는 외부 메모리(165)에 저장된 프로그램들 및/또는 데이터를 처리 또는 실행할 수 있다. 예컨대, CPU(110)는 CMU(140)로부터 출력된 동작 클락 신호에 응답하여 상기 프로그램들 및/또는 상기 데이터를 처리 또는 실행할 수 있다.
CPU(110)는 멀티-코어 프로세서(multi-core processor)로 구현될 수 있다. 상기 멀티-코어 프로세서는 두 개 또는 그 이상의 독립적인 실질적인 프로세서들('코어들(cores)'이라고 불림)을 갖는 하나의 컴퓨팅 컴포넌트(computing component)이고, 상기 프로세서들 각각은 프로그램 명령들(program instructions)을 읽고 실행할 수 있다.
동작 전압과 주파수 스케일링(dynamic voltage and frequency scaling(DVFS)) 방법에 따라, SoC(100)는 SoC(100)의 동작 주파수와 동작 전압을 높여 SoC(100)의 처리 능력을 향상시킬 수 있다. 또한, 경우에 따라 SoC(100)는 SoC(100)의 동작 주파수와 동작 전압을 낮춰, SoC(100)의 전력 소모를 낮출 수 있다. 보조 장치의 동작이나 종류에 따라, 어떠한 동작은 전력 소모가 많더라도 CPU (110)의 처리 능력이 더 중요할 수 있고, 다른 동작은 CPU(110)의 처리 능력보다는 저전력 시스템을 구현하는 것이 더 중요할 수 있다.
CPU(110)는 DVFS 방법을 검증하는 DVFS 모듈(200)을 로드(load)할 수 있다. DVFS 모듈(200)은 DVFS 방법에 따라 설정된 SoC(100)의 동작 주파수와 동작 전압이 SoC(100)를 안정적으로 동작시킬 수 있는 유효한 범위 내인지 검증할 수 있다.
본 명세서에서의 모듈(module)이라 함은 본 명세서에서 설명되는 각각의 명칭에 따른 기능과 동작을 수행할 수 있는 하드웨어를 의미할 수도 있고, 또는 특정한 기능과 동작을 수행할 수 있는 컴퓨터 프로그램 코드를 의미할 수도 있고, 또는 특정한 기능과 동작을 수행시킬 수 있는 컴퓨터 프로그램 코드가 탑재된 전자적 기록 매체, 예컨대 프로세서를 의미할 수 있다.
다시 말해, 모듈이란 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및/또는 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적 및/또는 구조적 결합을 의미할 수 있다.
ROM(120), RAM(130), 및/또는 외부 메모리(165)에 저장된 프로그램들 및/또는 데이터는 필요에 따라 CPU(110)의 메모리(미도시)에 로드(load)될 수 있다.
ROM(120)은 영구적인 프로그램들 및/또는 데이터를 저장할 수 있다. ROM(120)은 EPROM(erasable programmable read-only memory) 또는 EEPROM (electrically erasable programmable read-only memory)으로 구현될 수 있다.
RAM(130)은 프로그램들, 데이터, 또는 명령들(instructions)을 일시적으로 저장할 수 있다. 예컨대, 메모리(120 또는 165)에 저장된 프로그램들 및/또는 데이터는 CPU(110)의 제어에 따라 또는 ROM(120)에 저장된 부팅 코드(booting code)에 따라 RAM(130)에 일시적으로 저장될 수 있다. RAM(130)은 DRAM(dynamic RAM) 또는 SRAM(static RAM)으로 구현될 수 있다.
타이머(135)는 CMU(140)로부터 출력된 동작 클락 신호에 기초하여 시간을 나타내는 카운트 값을 출력할 수 있다.
CMU(140)는 동작 클락 신호를 생성한다. CMU(140)는 위상 동기 루프(phase locked loop(PLL); 141), 지연 동기 루프(delayed locked loop(DLL)), 또는 크리스탈 오실레이터 등과 같은 클락 신호 생성 장치를 포함할 수 있다. CMU(140)는 클락 신호 생성 장치에서 출력된 주파수를 분주하고, 분주 주파수를 생성하는 클락 디바이더(frequency divider; 143)를 포함할 수 있다.
동작 클락 신호는 CPU(110)로 공급될 수 있다. 또한, 동작 클락 신호는 다른 구성 요소(예컨대, 메모리 컨트롤러(160))로 공급될 수도 있다. CMU(140)는 동작 클락 신호의 주파수를 변경할 수 있다.
CMU(145)는 DVFS 방법에 따라 동작 클럭 신호의 주파수를 변경할 수 있다. 예컨대, CMU(145)는 DVFS 방법에 따라 소프트웨어적으로 또는 하드웨어적으로 수집된 SoC 정보에 따라 동작 클럭 신호의 주파수를 변경할 수 있다.
PMU(150)는 외부로부터 공급되는 전원 및/또는 PMIC(190)로부터 공급되는 전원을 관리하고, SoC(100)의 내부에서 사용되는 전원을 제어할 수 있다.
PMU(150)는 DVFS 방법에 따라 PMU(150)에 포함된 전압 발생기(미도시)를 제어할 수 있다. PMU(150)는 DVFS 방법에 의해 조절된 동작 전압을 SoC(100)의 각각의 구성 요소들로 제공할 수 있다.
메모리 컨트롤러(160)는 외부 메모리(165)와 인터페이스한다. 메모리 컨트롤러(160)는 외부 메모리(165)의 동작을 전반적으로 제어하며, 호스트와 외부 메모리(165) 사이의 데이터 교환을 제어한다. 예컨대, 메모리 컨트롤러(160)는 호스트의 요청에 따라 외부 메모리(165)에 데이터를 쓰거나 외부 메모리(165)로부터 데이터를 읽을 수 있다. 여기서, 호스트는 CPU(110), GPU(미도시), 또는 디스플레이 컨트롤러(140)와 같은 마스터(master) 장치일 수 있다.
외부 메모리(165)는 데이터를 저장하기 위한 저장 매체(storage medium)로서, 운영체제(Operating System(OS)), 각종 프로그램들, 및/또는 각종 데이터를 저장할 수 있다. 외부 메모리(165)는 예컨대 DRAM 일수 있으나 이에 한정되는 것은 아니다.
예컨대, 외부 메모리(165)는 불휘발성 메모리 장치(예컨대, 플래시 메모리, PRAM(phase change RAM), MRAM(magnetic RAM), RRAM(resistive RAM), 또는 FeRAM 장치)일 수도 있다. 본 발명의 다른 실시 예에서 외부 메모리(165)는 SoC(100)의 내부에 구비되는 내장 메모리일 수 있다. 또한, 외부 메모리(165)는 플래시 메모리, eMMC(embedded multimedia card), 또는 UFS(universal flash storage)일 수 있다.
디스플레이 컨트롤러(170)는 디스플레이 디바이스(175)의 동작을 제어한다. 디스플레이 디바이스(175)는 디스플레이 컨트롤러(170)로부터 출력된 이미지 신호들을 디스플레이할 수 있다. 예컨대, 디스플레이 디바이스(175)는 LCD(liquid crystal display), LED(light emitting diode) 디스플레이, OLED(organic LED) 디스플레이, AMOLED(active-matrix OLED) 디스플레이, 또는 플렉시블(flexible) 디스플레이로 구현될 수 있다.
각 구성 요소(110, 120, 130, 135, 140, 150, 160, 및 170)는 버스(180)를 통하여 서로 통신할 수 있다.
도 2는 본 발명의 일 실시 예에 따른 SoC의 DVFS 검증 방법을 설명하기 위한 블록도이고, 도 3은 도 2에 도시된 SoC의 DVFS 검증 방법을 설명하기 위한 플로우 차트이다.
본 명세서에서, DVFS 모듈(200, 200-1, 200-2, 200-3, 및 200-4)은 소프트웨어(S/W) 또는 펌웨어(firmware)로 구현될 수 있다. DVFS 모듈(200, 200-1, 200-2, 200-3, 및 200-4)은 프로그램으로 구현되어 메모리(120, 130 또는 165)에 탑재되고, SoC(100)로 작동 전압이 공급되면, CPU(110)에 의하여 실행될 수 있다. DVFS 모듈(200, 200-1, 200-2, 200-3, 및 200-4)과 SoC(100) 사이에는 OS와 미들웨어 (middleware)가 개입될 수 있다.
도 1부터 도 3을 참조하면, DVFS 모듈(200-1)은 DVFS 상태 추출 모듈(210), 유효 상태 추출 모듈(220), 및 안정성 판단 모듈(230)을 포함한다.
DVFS 상태 추출 모듈(210)은 코드(CODE)로부터 DVFS 상태 변환 코드를 추출하고, 상기 DVFS 상태 변환 코드를 분석하고 분석의 결과에 따라 DVFS 상태 값(DV)을 생성할 수 있다(S110).
실시 예에 따라, MMIO(memory mapped IO) 방식을 사용하는 경우, DVFS 상태 추출 모듈(210)은 어셈블리 코드에 대해 가상 머신(virtual machine)을 운영하여, CPU(110)가 액세스(access)하는 주소가 DVFS에 관련된 주소일 때 상기 어셈블리 코드로부터 상기 DVFS 상태 변환 코드를 추출할 수 있다.
다른 실시 예에 따라, IO 버스 방식을 사용하는 경우, DVFS 상태 추출 모듈(210)은 IO 액세스하는 명령 중에서 DVFS에 관련된 명령을 추출함으로써 상기 DVFS 상태 변환 코드를 추출할 수 있다.
코드(CODE)는 CPU(110)가 DVFS 방법에 따라 CMU(140) 및/또는 PMU(150)를 제어하기 위한 코드를 의미할 수 있다. 상기 DVFS 상태 변환 코드는 상기 코드에서 PMU(150)의 전압(또는 PMIC(190)의 전압), PLL이 출력하는 주파수, 및/또는 상기 주파수에 관련된 분주 주파수(또는 분주 값)와 관련된 코드 부분을 의미할 수 있다.
DVFS 상태 값(DV)은 특정 시점에서 상기 추출된 DVFS 상태 변환 코드에 기초하여 생성된 전압 값, 주파수, 및 상기 주파수에 관련된 분주 주파수(또는 분주 값)의 집합을 의미할 수 있다.
실시 예에 따라, SoC(100)는 하나 또는 그 이상의 PMU(150), 하나 또는 그 이상의 PLL(141), 하나 또는 그 이상의 클락 디바이더(143)를 포함할 수 있다. 이때, DVFS 상태 값(DV)은 특정 시점에서 복수의 PMU의 전압 값들, 복수의 PLL의 주파수, 및 상기 주파수들에 관련된 분주 주파수(또는 분주 값들)의 집합을 의미할 수 있다.
예컨대, DVFS 상태 값(DV)은 A0={PMU0: 1.5V, PLLO: 3.OGHz, PLL1: 1.OGHz, DIV0: 2, DIV1: 1}로 표현될 수 있고, 이때, 제1 PMU(PMU0)의 전압 값은 1.5 V이고, 제1 PLL(PLL0)의 출력 주파수는 3.OGHz이고, 제2 PLL(PLL1)의 출력 주파수는 1.OGHz이고, 제1 클락 디바이더(DIV0)의 분주 값은 2이고, 제2 클락 디바이더 (DIV1)의 분주 값은 1이다.
유효 상태 추출 모듈(220)은 SoC(100)를 동작시킬 수 있는 동작 전압 조건과 동작 주파수 조건을 만족하는 유효 상태 값들(VV)을 생성할 수 있다(S120).
유효 상태 추출 모듈(220)은 상기 동작 전압 조건에 대한 정보(CON)와 상기 동작 주파수 조건에 대한 정보(CON)를 CPU(110)로부터 수신할 수 있다.
유효 상태 값들(VV)은 상기 동작 전압 조건과 상기 동작 주파수 조건에 기초하여 생성된 전압 값, 주파수, 및 상기 주파수에 관련된 분주 주파수(또는 분주 값)의 집합을 의미할 수 있다.
유효 상태 추출 모듈(220)은 유효 상태 값들(VV)이 포함된 유효 상태 테이블 (223)을 관리할 수 있다. 즉, 유효 상태 추출 모듈(220)은 SoC(100)가 특정 전압와 특정 주파수의 상태에서 동작을 지속해도 문제가 없는 상태 집합을 추출할 수 있다. 이 상태 집합 이외의 상태로 SoC(100)가 전이하면, 시스템(10)의 안정성을 보장할 수 없다.
안정성 판단 모듈(230)은 DVFS 상태 값(DV)이 유효 상태 값들(VV) 중에서 어느 하나와 동일한지 여부에 따라, DVFS 상태 값(DV)의 안정성을 판단할 수 있다 (S130).
안정성 판단 모듈(230)은 DVFS 상태 추출 모듈(210)로부터 추출된 DVFS 상태 값(DV)이 유효 상태 추출 모듈(220)로부터 추출된 유효 상태 값들(VV) 내에서 변하고 있는지 확인할 수 있다. 만약, DVFS 상태 값(DV)이 유효 상태 추출 모듈(220)이 추출한 상태 집합 내에 있지 않다면, 시스템(10)은 불안정할 수 있다.
실시 예에 따라, 안정성 판단 모듈(230)은 DVFS 상태 값(DV)이 유효 상태 값들(VV) 중에서 어느 하나와 동일할 때, DVFS 상태 값(DV)이 안정하다고 판단한다. 다른 실시 예에 따라, 안정성 판단 모듈(230)은 DVFS 상태 값(DV)이 유효 상태 값들(VV) 중에서 어느 하나와 동일하지 않을 때, DVFS 상태 값(DV)이 불안정하다고 판단할 수 있다.
실시 예에 따라, 안정성 판단 모듈(230)은 DVFS 상태 값(DV)이 안정한지 여부를 나타내는 DVFS 검증 신호(DVS)를 CPU(110)로 전송할 수 있다. CPU(110)는 DVFS 검증 신호(DVS)에 상응하는 명령을 CMU(140) 및/또는 PMU(150)로 지시할 수 있다. CPU(110)가 DVFS 상태 값(DV)이 안정하다고 알려주는 DVFS 검증 신호(DVS)를 수신하면, CPU(110)는 코드(CODE)에 따라 동작 전압과 동작 주파수를 조절할 수 있다. 반면, CPU(110)가 DVFS 상태 값(DV)이 불안정하다고 알려주는 DVFS 검증 신호(DVS)를 수신하면, CPU(110)는 코드(CODE)에 따라 동작 전압과 동작 주파수를 조절하지 않을 것이다.
도 4는 본 발명의 다른 실시 예에 따른 SoC의 DVFS 검증 방법을 설명하기 위한 블록도이고, 도 5는 SoC의 DVFS 시퀀스 선택 방법을 설명하기 위한 플로우 차트이다.
도 1부터 도 4를 참조하면, DVFS 모듈(200-2)은 DVFS 상태 추출 모듈(210), 유효 상태 추출 모듈(220), 안정성 판단 모듈(230), DVFS 시퀀스 생성 모듈(240), 및 DVFS 시퀀스 선택 모듈(250)을 포함한다.
DVFS 모듈(200-2)은 DVFS 상태 값(DV)의 안정성을 검증하고, 검증된 DVFS 상태 값들 중에서 제1 DVFS 상태 값이 제2 DVFS 상태 값으로 전이할 때, SoC(100)가 안정적으로 동작할 수 있는 최적의 상태 전이 시퀀스를 선택할 수 있다.
DVFS 시퀀스 생성 모듈(240)과 DVFS 시퀀스 선택 모듈(250)를 제외하면, DVFS 모듈(200-2)은 도 2에 도시된 DVFS 모듈(200-1)과 실질적으로 동일하거나 유사하다. 즉, DVFS 상태 추출 모듈(210), 유효 상태 추출 모듈(220), 및 안정성 판단 모듈(230)의 작동과 기능은 도 2의 대응 구성들과 실질적으로 동일하거나 유사하다.
DVFS 상태 값(DV)이 제1 DVFS 상태 값과 제2 DVFS 상태 값을 포함하고, 상기 제1 DVFS 상태 값과 상기 제2 DVFS 상태 값이 안정하다고 판단될 때(S210), DVFS 시퀀스 생성 모듈(240)은 상기 제1 DVFS 상태 값이 상기 제2 DVFS 상태 값으로 변할 때까지, DVFS 상태 값들의 경로들을 나타내는 DVFS 시퀀스들(SEQS)을 생성할 수 있다(S220). 즉, DVFS 시퀀스 생성 모듈(240)은 상기 제1 DVFS 상태 값이 상기 제2 DVFS 상태 값으로 변할 때까지, DVFS 상태 값들의 모든 경로들을 찾아낼 수 있다.
DVFS 시퀀스 선택 모듈(250)은 DVFS 시퀀스들(SEQS) 중에서 상기 제1 DVFS 상태 값으로부터 상기 제2 DVFS 상태 값으로의 상태 전이에 필요한 리소스(resourse)가 최소인 DVFS 시퀀스(SEQ)를 선택할 수 있다(S230).
상기 리소스는 상기 상태 전이에 소요되는 전이 시간(transition time), 상태 전이에 소모되는 전력, 상태 전이에 필요한 전류, 상태 전이에 필요한 전압 등을 의미할 수 있다.
DVFS 시퀀스 선택 모듈(250)은 상기 제1 DVFS 상태 값을 진입 조건으로 설정하고, 상기 제2 DVFS 상태 값을 탈출 조건으로 설정하여, 상기 제1 DVFS 상태 값으로부터 상기 제2 DVFS 상태 값으로의 상태 전이를 위한 최적의 DVFS 시퀀스(SEQ)를 선택할 수 있다.
DVFS 시퀀스 선택 모듈(250)은 그래프 서치 알고리즘(graph search algorithm)을 이용하여 상기 최적의 DVFS 시퀀스를 선택할 수 있다. 예컨대, DVFS 시퀀스 선택 모듈(250)은 미니멈 스패닝 트리 알고리즘(minimum spanning tree algorithm)을 이용하여 최적의 DVFS 시퀀스(SEQ)를 선택할 수 있다.
실시 예에 따라, DVFS 시퀀스 선택 모듈(250)은 선택된 DVFS 시퀀스(SEQ)를 코드로 변환할 수 있다. DVFS 시퀀스 선택 모듈(250)은 DVFS 시퀀스(SEQ)를 SoC(100)에서 사용할 수 있는 코드로 바로 변환하기 전에, DVFS 시퀀스(SEQ)를 중간 상태의 코드로 보관할 수 있다. DVFS 시퀀스 선택 모듈(250)은 상기 중간 상태의 코드를 C 코드 또는 어셈블리 코드로 변환할 수 있다.
실시 예에 따라, DVFS 시퀀스 선택 모듈(250)이 소프트웨어 라이브러리 또는 하드웨어로 구현된 경우, DVFS 시퀀스 선택 모듈(250)은 DVFS 상태가 어떻게 변해야 하는지에 대한 최적의 DVFS 시퀀스 정보를 동작 중인 SoC(100)로 제공할 수 있다.
도 6은 본 발명의 실시 예에 따른 DVFS 상태 테이블의 일부를 나타내고, 도 7은 도 6에 도시된 DVFS 상태 테이블의 DVFS 상태들에 대한 시퀀스를 표현한 테이블이다.
도 1부터 도 6을 참조하면, 각각의 DVFS 상태들(예컨대, DVFS0)은 특정 스테이트 엘리먼트(state element, 예컨대, A30)로 분류될 수 있다. 여기서, 스테이트 엘리먼트(A30, A33, A13, A11, A20, A19, 및 A62)는 DVFS 상태들(DVFS0~DVFS6)을 DVFS 상태 값({PMU, PLL, DIV})에 따라 분류한 것이다.
이때, DVFS 상태 값({PMU, PLL, DIV})은 특정 시점에서 DVFS 상태 변환 코드에 기초하여 생성된 전압 값, 주파수, 및 상기 주파수에 관련된 분주 주파수(또는 분주 값)의 집합을 의미할 수 있다. 상기 전압 값은 PMU(150)의 전압 값(예컨대, 1.5V)을 의미하고, 상기 주파수는 PLL(141)의 출력 주파수(예컨대, 3.OGHz)를 의미하고, 상기 분주 값(예컨대, 3)은 클락 디바이더(143)가 상기 출력 주파수(예컨대, 3.OGHz)로부터 분주 주파수(예컨대, 1.OGHz)를 생성할 때 상기 출력 주파수(예컨대, 3.OGHz)를 분주하는 값(예컨대, 3)을 의미한다.
실시 예에 따라, SoC(100)가 복수의 PMU, 복수의 PLL, 및/또는 복수의 클락 디바이더를 포함할 때, DVFS 상태 값({PMU, PLL, DIV})은 복수의 전압 값들, 복수의 주파수, 및 복수의 분주 값들을 포함할 수 있다.
예컨대, 제1 DVFS 상태(DVFS0)에서 스테이트 엘리먼트는 'A30'이고, 이때, DVFS 상태 값({PMU, PLL, DIV})은 A30={PMU0: 1.5V, PLLO: 3.OGHz, PLL1: 2.OGHz, DIV0: 1, DIV1: 3}으로 표현될 수 있고, 이때, 제1 PMU(PMU0)의 전압 값은 1.5 V이고, 제1 PLL(PLL0)의 주파수는 3.OGHz이고, 제2 PLL(PLL1)의 주파수는 2.OGHz이고, 제1 클락 디바이더(DIV0)의 분주 값은 1이고, 제2 클락 디바이더(DIV1)의 분주 값은 3이다.
SoC(100)는 DVFS 방법에 따라 SoC(100)의 동작 특성에 적합한 동작 주파수와 동작 전압을 설정할 수 있고, DVFS 모듈(200)은 설정된 동작 주파수와 설정된 동작 전압이 SoC(100)를 안정적으로 동작시킬 수 있는지 판단할 수 있다. 즉, DVFS 모듈(200)은 상기 설정된 동작 주파수와 상기 설정된 동작 전압을 포함하는 특정 DVFS 상태 값({PMU, PLL, DIV})의 안정성을 판단할 수 있다.
또한, DVFS 모듈(200)은 복수의 DVFS 상태들이 안정하다고 판단될 때, 상기 복수의 DVFS 상태들에 대한 최적의 시퀀스를 선택할 수 있다.
도 1부터 도 7을 참조하면, 각각의 DVFS 상태들(DVFS0 내지 DVFS6 중에서 어느 하나)은 각각의 DVFS 상태들(DVFS0 내지 DVFS6 중에서 어느 하나)로 상태를 전이할 수 있다. 예컨대, 제3 DVFS 상태(DVFS2)가 제6 DVFS 상태(DVFS5)로 전이되는 경우, 스테이트 엘리먼트는 'A13'에서 'A19'로 변하고, 'A13'에서 'A19'까지 스테이트 엘리먼트들이 변하는 경로를 'SEQ25'로 표현할 수 있다.
도 8은 스테이트 엘리먼트들의 전이 시간 테이블이고, 도 9는 도 8에 도시된 전이 시간 테이블에 따라 스테이트 엘리먼트가 최적의 경로를 탐색하는 방법을 설명하는 상태도이다.
도 1부터 도 8을 참조하면, 각각의 DVFS 상태들은 서로 다른 스테이트 엘리먼트(A0~An; n은 자연수)로 표현될 수 있다. 제1 DVFS 상태에 상응하는 제1 스테이트 엘리먼트가 제2 DVFS 상태에 상응하는 제2 스테이트 엘리먼트로 변할 때, 상태 전이에 리소스(resource)가 소모된다. 상기 리소스는 상기 상태 전이에 소요되는 전이 시간(transition time), 상기 상태 전이에 소모되는 전력, 상기 상태 전이에 필요한 전류, 상기 상태 전이에 필요한 전압 등을 의미할 수 있다.
도 8을 참조하면, 리소스가 전이 시간일 때, 복수의 스테이트 엘리먼트들(A0~An; n은 자연수) 중에서 어느 하나가 복수의 스테이트 엘리먼트들(A0~An; n은 자연수) 중에서 어느 하나로 전이될 때 소요되는 전이 시간이 테이블로 표현될 수 있다. 예컨대, 제4 스테이트 엘리먼트(A3)가 제2 스테이트 엘리먼트(A1)로 전이될 때 1.8ns가 소요되고, 제4 스테이트 엘리먼트(A3)가 제18 스테이트 엘리먼트(A17)로 전이될 때 2.0ns가 소요된다.
도 1부터 도 9를 참조하면, DVFS 시퀀스 생성 모듈(240)은 제2 스테이트 엘리먼트(A1)가 제 18 스테이트 엘리먼트(A17)로 전이될 때, 스테이트 엘리먼트들의 전이 순서를 나타내는 DVFS 시퀀스들을 생성할 수 있다. 이때, 제1 DVFS 시퀀스는 {A1, A33, A17}이고, 제2 DVFS 시퀀스는 {A1, A2, A6, A5, A17}일 수 있다. 상기 제1 DVFS 시퀀스는 'A1, A33, A17'의 순서로 스테이트 엘리먼트가 전이되고, 상기 제2 DVFS 시퀀스는 'A1, A2, A6, A5, A17'의 순서로 스테이트 엘리먼트가 전이된다.
DVFS 시퀀스 선택 모듈(250)은 상기 제1 DVFS 시퀀스와 상기 제2 DVFS 시퀀스 중에서 상기 제2 스테이트 엘리먼트(A1)로부터 상기 제18 스테이트 엘리먼트(A17)로의 상태 전이에 필요한 전이 시간이 최소인 DVFS 시퀀스(SEQ)를 선택할 수 있다. 상기 제1 DVFS 시퀀스는 3.0ns(1.9ns+1.1ns)의 전이 시간이 소요되고, 상기 제2 DVFS 시퀀스는 4.0ns(1.1ns+0.8ns+1.3ns+0.8ns)의 전이 시간이 소요되므로, DVFS 시퀀스 선택 모듈(250)은 전이 시간이 최소인 상기 제1 DVFS 시퀀스를 선택할 수 있다.
도 10은 본 발명의 또 다른 실시 예에 따른 SoC의 DVFS 검증 방법을 설명하기 위한 블록도이고, 도 11은 도 10에 도시된 SoC의 DVFS 검증 방법을 설명하기 위한 플로우 차트이다.
도 1 및 도 10을 참조하면, DVFS 모듈(200-3)은 시뮬레이션 추출 모듈(215), 유효 상태 추출 모듈(220), 및 안정성 판단 모듈(235)을 포함한다.
시뮬레이션 추출 모듈(215)은 CPU(110)로 DVFS 작동에 대한 시뮬레이션을 명령하고, CPU(110)로부터 상기 시뮬레이션의 결과에 따른 시뮬레이션 결과 정보(SIM)를 수신하고, 시뮬레이션 결과 정보(SIM)에 기초하여 DVFS 시뮬레이션 값(SIV)을 생성할 수 있다(S310).
DVFS 시뮬레이션 값(SIV)은 시뮬레이션 결과 정보(SIM)에 기초하여 생성된 전압 값, 주파수, 및 상기 주파수에 관련된 분주 주파수(또는 분주 값)의 집합을 의미할 수 있다.
실시 예에 따라, SoC(100)는 하나 또는 그 이상의 PMU(150), 하나 또는 그 이상의 PLL(141), 하나 또는 그 이상의 클락 디바이더(143)를 포함할 수 있다. 이때, DVFS 시뮬레이션 값(SIV)은 특정 시점에서 복수의 PMU의 전압 값들, 복수의 PLL의 주파수, 및 상기 주파수들에 관련된 분주 주파수(또는 분주 값들)의 집합을 의미할 수 있다.
유효 상태 추출 모듈(220)은 SoC(100)를 동작시킬 수 있는 동작 전압 조건과 동작 주파수 조건을 만족하는 유효 상태 값들(VV)을 생성할 수 있다(S320). 유효 상태 추출 모듈(220)은 상기 동작 전압 조건에 대한 정보(CON)와 상기 동작 주파수 조건에 대한 정보(CON)를 CPU(110)로부터 수신할 수 있다.
유효 상태 값들(VV)은 상기 동작 전압 조건과 상기 동작 주파수 조건에 기초하여 생성된 전압 값, 주파수, 및 상기 주파수에 관련된 분주 주파수(또는 분주 값)의 집합을 의미할 수 있다.
안정성 판단 모듈(230)은 DVFS 시뮬레이션 값(SIV)이 유효 상태 값들(VV) 중에서 어느 하나와 동일한지 여부에 따라, DVFS 시뮬레이션 값(SIV)의 안정성을 판단할 수 있다(S330).
실시 예에 따라, 안정성 판단 모듈(230)은 DVFS 시뮬레이션 값(SIV)이 유효 상태 값들(VV) 중에서 어느 하나와 동일할 때, DVFS 시뮬레이션 값(SIV)이 안정하다고 판단한다. 다른 실시 예에 따라, 안정성 판단 모듈(230)은 DVFS 시뮬레이션 값(SIV)이 유효 상태 값들(VV) 중에서 어느 하나와 동일하지 않을 때, DVFS 시뮬레이션 값(SIV)이 불안정하다고 판단할 수 있다.
실시 예에 따라, 안정성 판단 모듈(230)은 DVFS 시뮬레이션 값(SIV)이 안정한지 여부를 나타내는 DVFS 검증 신호(DVS)를 CPU(110)로 전송할 수 있다. CPU(110)는 DVFS 검증 신호(DVS)에 상응하는 명령을 CMU(140) 및/또는 PMU(150)로 지시할 수 있다. CPU(110)가 DVFS 상태 값(DV)이 안정하다고 알려주는 DVFS 검증 신호(DVS)를 수신하면, CPU(110)는 시뮬레이션 결과에 따라 동작 전압과 동작 주파수를 조절할 수 있다. 반면, CPU(110)가 DVFS 상태 값(DV)이 불안정하다고 알려주는 DVFS 검증 신호(DVS)를 수신하면, CPU(110)는 시뮬레이션 결과에 따라 동작 전압과 동작 주파수를 조절하지 않을 것이다.
도 12는 본 발명의 또 다른 실시 예에 따른 SoC의 DVFS 검증 방법을 설명하기 위한 블록도이다.
도 1부터 도 12를 참조하면, DVFS 모듈(200-4)은 시뮬레이션 추출 모듈(215), 유효 상태 추출 모듈(220), 안정성 판단 모듈(235), DVFS 시퀀스 생성 모듈(240), 및 DVFS 시퀀스 선택 모듈(250)을 포함한다.
DVFS 모듈(200-4)은 DVFS 시뮬레이션 값(SIV)의 안정성을 검증하고, 검증된DVFS 상태들 중에서 SoC(100)가 안정적으로 동작할 수 있는 최적의 상태 전이 시퀀스를 선택할 수 있다.
DVFS 시퀀스 생성 모듈(240)과 DVFS 시퀀스 선택 모듈(250)를 제외하면, DVFS 모듈(200-4)은 도 10에 도시된 DVFS 모듈(200-3)과 실질적으로 동일하거나 유사하다. 즉, 시뮬레이션 추출 모듈(215), 유효 상태 추출 모듈(220), 및 안정성 판단 모듈(235)의 작동과 기능은 도 10의 대응 구성들과 실질적으로 동일하거나 유사하다.
DVFS 시뮬레이션 값(SIV)이 제1 DVFS 상태 값과 제2 DVFS 상태 값을 포함하고, 상기 제1 DVFS 상태 값과 상기 제2 DVFS 상태 값이 안정하다고 판단될 때, DVFS 시퀀스 생성 모듈(240)은 상기 제1 DVFS 상태 값이 상기 제2 DVFS 상태 값으로 변할 때까지, DVFS 상태 값들의 경로들을 나타내는 DVFS 시퀀스들(SEQS)을 생성할 수 있다. 즉, DVFS 시퀀스 생성 모듈(240)은 상기 제1 DVFS 상태 값이 상기 제2 DVFS 상태 값으로 변할 때까지, DVFS 상태 값들의 모든 경로들을 찾아낼 수 있다.
DVFS 시퀀스 선택 모듈(250)은 DVFS 시퀀스들(SEQS) 중에서 상기 제1 DVFS 상태 값으로부터 상기 제2 DVFS 상태 값으로의 상태 전이에 필요한 리소스(resourse)가 최소인 DVFS 시퀀스(SEQ)를 선택할 수 있다.
상기 리소스는 상기 상태 전이에 소요되는 전이 시간(transition time), 상태 전이에 소모되는 전력, 상태 전이에 필요한 전류, 상태 전이에 필요한 전압 등을 의미할 수 있다.
DVFS 시퀀스 선택 모듈(250)은 상기 제1 DVFS 상태 값을 진입 조건으로 설정하고, 상기 제2 DVFS 상태 값을 탈출 조건으로 설정하여, 상기 제1 DVFS 상태 값으로부터 상기 제2 DVFS 상태 값으로의 상태 전이를 위한 최적의 DVFS 시퀀스(SEQ)를 선택할 수 있다.
도 6 내지 도 9에서 설명된 서로 다른 DVFS 상태들이 최적의 DVFS 시퀀스(SEQ)를 찾는 방법은 도 12의 DVFS 시퀀스 생성 모듈(240)과 DVFS 시퀀스 선택 모듈(250)에도 적용될 수 있다.
DVFS 시퀀스 선택 모듈(250)은 그래프 서치 알고리즘(graph search algorithm)을 이용하여 상기 최적의 DVFS 시퀀스를 선택할 수 있다. 예컨대, DVFS 시퀀스 선택 모듈(250)은 미니멈 스패닝 트리 알고리즘(minimum spanning tree algorithm)을 이용하여 최적의 DVFS 시퀀스(SEQ)를 선택할 수 있다.
실시 예에 따라, DVFS 시퀀스 선택 모듈(250)은 선택된 DVFS 시퀀스(SEQ)를 코드로 변환할 수 있다. DVFS 시퀀스 선택 모듈(250)은 DVFS 시퀀스(SEQ)를 SoC(100)에서 사용할 수 있는 코드로 바로 변환하기 전에, DVFS 시퀀스(SEQ)를 중간 상태의 코드로 보관할 수 있다. DVFS 시퀀스 선택 모듈(250)은 상기 중간 상태의 코드를 C 코드 또는 어셈블리 코드로 변환할 수 있다.
실시 예에 따라, DVFS 시퀀스 선택 모듈(250)이 소프트웨어 라이브러리 또는 하드웨어로 구현된 경우, DVFS 시퀀스 선택 모듈(250)은 DVFS 상태가 어떻게 변해야 하는지에 대한 최적의 DVFS 시퀀스 정보를 동작 중인 SoC(100)로 제공할 수 있다.
도 13은 본 발명의 실시 예에 따른 SoC를 포함하는 전자 시스템의 다른 실시 예를 나타내는 블록도이다. 이를 참조하면, 전자 시스템(300)은 PC(personal computer) 또는 데이터 서버로 구현될 수 있다.
전자 시스템(300)은 프로세서(100), 파워 소스(310), 저장 장치(320), 메모리(330), 입출력 포트들(340), 확장 카드(350), 네트워크 장치(360), 및 디스플레이(370)를 포함한다. 실시 예에 따라. 전자 시스템(300)은 카메라 모듈(380)을 더 포함할 수 있다.
프로세서(100)는 도 1에 도시된 SoC(100)를 의미한다. 프로세서(100)는 멀티-코어 프로세서일 수 있다. 프로세서(100)는 DVFS 방법을 검증하는 DVFS 모듈(200)을 로드(load)할 수 있다. DVFS 모듈(200)은 DVFS 방법에 따라 설정된 SoC(100)의 동작 주파수와 동작 전압이 SoC(100)를 안정적으로 동작시킬 수 있는 유효한 범위 내인지 검증할 수 있다.
프로세서(100)는 구성 요소들(elements; 100, 및 310~380) 중에서 적어도 하나의 동작을 제어할 수 있다.
파워 소스(310)는 구성 요소들(100, 및 310~380) 중에서 적어도 하나로 동작 전압을 공급할 수 있다.
저장 장치(320)는 하드디스크 드라이브(hard disk drive) 또는 SSD(solid state drive)로 구현될 수 있다.
메모리(330)는 휘발성 메모리 또는 불휘발성 메모리로 구현될 수 있으며, 도 1의 메모리 장치(165)에 해당할 수 있다. 실시 예에 따라, 메모리(330)에 대한 데이터 액세스 동작, 예컨대, 리드 동작, 라이트 동작(또는 프로그램 동작), 또는 이레이즈 동작을 제어할 수 있는 메모리 컨트롤러는 프로세서(100)에 집적 또는 내장될 수 있다. 다른 실시 예에 따라, 상기 메모리 컨트롤러는 프로세서(100)와 메모리(330) 사이에 구현될 수 있다.
입출력 포트들(340)은 전자 시스템(300)으로 데이터를 전송하거나 또는 전자 시스템(300)으로부터 출력된 데이터를 외부 장치로 전송할 수 있는 포트들을 의미한다. 예컨대, 입출력 포트들(340)은 컴퓨터 마우스와 같은 포인팅 장치(pointing device)를 접속하기 위한 포트, 프린터를 접속하기 위한 포트, 또는 USB 드라이브를 접속하기 위한 포트일 수 있다.
확장 카드(350)는 SD(secure digital) 카드 또는 MMC(multimedia card)로 구현될 수 있다. 실시 예에 따라, 확장 카드(350)는 SIM(subscriber identification module) 카드 또는 USIM(universal subscriber identity Module) 카드일 수 있다.
네트워크 장치(360)는 전자 시스템(300)을 유선 네트워크 또는 무선 네트워크에 접속시킬 수 있는 장치를 의미한다.
디스플레이(370)는 저장 장치(320), 메모리(330), 입출력 포트들(340), 확장 카드(350), 또는 네트워크 장치(360)로부터 출력된 데이터를 디스플레이할 수 있다.
카메라 모듈(380)은 광학 이미지를 전기적인 이미지로 변환할 수 있는 모듈을 의미한다. 따라서, 카메라 모듈(380)로부터 출력된 전기적인 이미지는 저장 장치(320), 메모리(330), 또는 확장 카드(350)에 저장될 수 있다. 또한, 카메라 모듈 (380)로부터 출력된 전기적인 이미지는 디스플레이(320)를 통하여 디스플레이될 수 있다.
도 14는 본 발명의 실시 예에 따른 SoC를 포함하는 전자 시스템의 또 다른 실시 예를 나타내는 블록도이다. 도 14를 참조하면, 전자 시스템(400)은 랩탑(laptop) 컴퓨터로 구현될 수 있다.
도 15는 본 발명의 실시 예에 따른 SoC를 포함하는 전자 시스템의 또 다른 실시 예를 나타내는 블록도이다. 도 15를 참조하면, 전자 시스템(500)은 휴대용 장치로 구현될 수 있다. 휴대용 장치(500)는 이동 전화기, 스마트 폰(smart phone), 태블릿(tablet) PC, PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라 (digital still camera), 디지털 비디오 카메라 (digital video camera), PMP (portable multimedia player), PDN(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), 또는 e-북(e-book)으로 구현될 수 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 본 발명에 따른 객체 정보 추정 방법을 수행하기 위한 프로그램 코드는 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 전송될 수도 있다.
또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10, 300, 400, 500: 전자 시스템
100: 시스템 온 칩
110: CPU
140: CMU
141: PLL
143: 클락 디바이더
150: PMU
200, 200-1, 200-2, 200-3, 200-4: DVFS 모듈
210: DVFS 상태 추출 모듈
215: 시뮬레이션 추출 모듈
220: 유효 상태 추출 모듈
230, 235: 안정성 판단 모듈
240: DVFS 시퀀스 생성 모듈
250: DVFS 시퀀스 선택 모듈

Claims (10)

  1. DVFS(dynamic voltage and frequency scaling) 상태 추출 모듈이 코드로부터 DVFS 상태 변환 코드를 추출하고, 상기 추출된 DVFS 상태 변환 코드를 분석하고, 분석의 결과에 따라 DVFS 상태 값을 생성하는 단계;
    유효 상태 추출 모듈이 시스템 온 칩(system on chip(SoC))을 동작시킬 수 있는 동작 전압 조건과 동작 주파수 조건을 만족하는 유효 상태 값들을 생성하는 단계; 및
    안정성 판단 모듈이 상기 DVFS 상태 값이 상기 유효 상태 값들 중에서 어느 하나와 동일한지 여부에 따라, 상기 DVFS 상태 값의 안정성을 판단하는 단계를 포함하는 SoC의 DVFS 검증 방법.
  2. 제1항에 있어서, 상기 DVFS 상태 값은,
    특정 시점에서 상기 추출된 DVFS 상태 변환 코드에 기초하여 생성된 전압 값, 주파수, 및 상기 주파수에 관련된 분주 주파수의 집합을 의미하는 SoC의 DVFS 검증 방법.
  3. 제1항에 있어서,
    상기 안정성 판단 모듈은, 상기 DVFS 상태 값이 상기 유효 상태 값들 중에서 어느 하나와 동일할 때, 상기 DVFS 상태 값이 안정하다고 판단하는 SoC의 DVFS 검증 방법.
  4. 제1항에 있어서,
    상기 안정성 판단 모듈은, 상기 DVFS 상태 값이 상기 유효 상태 값들 중에서 어느 하나와 동일하지 않을 때, 상기 DVFS 상태 값이 불안정하다고 판단하는 SoC의 DVFS 검증 방법.
  5. 제1항에 있어서,
    상기 DVFS 상태 값이 제1 DVFS 상태 값과 제2 DVFS 상태 값을 포함하고, 상기 제1 DVFS 상태 값과 상기 제2 DVFS 상태 값이 안정하다고 판단될 때,
    DVFS 시퀀스 생성 모듈이 상기 제1 DVFS 상태 값이 상기 제2 DVFS 상태 값으로 변할 때까지, DVFS 상태 값들의 경로들을 나타내는 DVFS 시퀀스들을 생성하는 단계; 및
    DVFS 시퀀스 선택 모듈이 상기 DVFS 시퀀스들 중에서 상기 제1 DVFS 상태 값으로부터 상기 제2 DVFS 상태 값으로의 상태 전이에 필요한 리소스가 최소인 DVFS 시퀀스를 선택하는 단계를 더 포함하는 SoC의 DVFS 검증 방법.
  6. 제5항에 있어서,
    상기 리소스는 상기 상태 전이에 소요되는 전이 시간(transition time), 상기 상태 전이에 소모되는 전력, 상기 상태 전이에 필요한 전류, 및 상기 상태 전이에 필요한 전압 중에서 어느 하나인 SoC의 DVFS 검증 방법.
  7. 시뮬레이션 추출 모듈이 시스템 온 칩(system on chip(SoC))으로 DVFS (dynamic voltage and frequency scaling) 작동에 대한 시뮬레이션을 명령하고, 상기 시뮬레이션의 결과에 따라 DVFS 시뮬레이션 값을 생성하는 단계;
    유효 상태 추출 모듈이 상기 SoC을 동작시킬 수 있는 동작 전압 조건과 동작 주파수 조건을 만족하는 유효 상태 값들을 생성하는 단계; 및
    안정성 판단 모듈이 상기 DVFS 시뮬레이션 값이 상기 유효 상태 값들 중에서 어느 하나와 동일한지 여부에 따라, 상기 DVFS 시뮬레이션 값의 안정성을 판단하는 단계를 포함하는 SoC의 DVFS 검증 방법.
  8. 제7항에 있어서, 상기 DVFS 시뮬레이션 값은,
    상기 시뮬레이션의 결과에 기초하여 생성된 전압 값, 주파수, 및 상기 주파수에 관련된 분주 주파수의 집합을 의미하는 SoC의 DVFS 검증 방법.
  9. 제1항 또는 제7항에 기재된 SoC의 DVFS 검증 방법을 실행할 수 있는 컴퓨터 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  10. 시스템 온 칩(system on chip(SoC))에 있어서,
    DVFS(dynamic voltage and frequency scaling) 검증 방법을 수행하는 DVFS 모듈을 저장하는 메모리 장치; 및
    상기 DVFS 모듈을 상기 메모리 장치로부터 리드(read)하여 실행하는 CPU(central processing unit)를 포함하고,
    상기 DVFS 모듈은,
    상기 CPU로부터 수신된 코드로부터 DVFS 상태 변환 코드를 추출하고, 상기 추출된 DVFS 상태 변환 코드를 분석하고 분석의 결과에 따라 DFVS 상태 값을 생성하는 DVFS 상태 추출 모듈;
    상기 SoC을 동작시킬 수 있는 동작 전압 조건과 동작 주파수 조건을 만족하는 유효 상태 값들을 생성하는 유효 상태 추출 모듈; 및
    상기 DVFS 상태 값이 상기 유효 상태 값들 중에서 어느 하나와 동일한지 여부에 따라, 상기 DVFS 상태 값의 안정성을 판단하는 안정성 판단 모듈을 포함하는 SoC.
KR1020140122786A 2014-09-16 2014-09-16 시스템 온 칩과 이의 dvfs 검증 방법 KR20160032529A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140122786A KR20160032529A (ko) 2014-09-16 2014-09-16 시스템 온 칩과 이의 dvfs 검증 방법
US14/754,681 US20160077572A1 (en) 2014-09-16 2015-06-29 System on chip (soc), and dynamic voltage frequency scaling (dvfs) verification method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140122786A KR20160032529A (ko) 2014-09-16 2014-09-16 시스템 온 칩과 이의 dvfs 검증 방법

Publications (1)

Publication Number Publication Date
KR20160032529A true KR20160032529A (ko) 2016-03-24

Family

ID=55454727

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140122786A KR20160032529A (ko) 2014-09-16 2014-09-16 시스템 온 칩과 이의 dvfs 검증 방법

Country Status (2)

Country Link
US (1) US20160077572A1 (ko)
KR (1) KR20160032529A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10211947B2 (en) 2016-12-26 2019-02-19 Samsung Electronics Co., Ltd. System-on-chip using dynamic voltage frequency scaling and method of operating the same

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10509457B2 (en) 2017-04-06 2019-12-17 International Business Machines Corporation Adaptive frequency optimization in processors
TWI770516B (zh) * 2018-08-21 2022-07-11 慧榮科技股份有限公司 操作頻率調整方法及電腦程式產品及裝置
TWI697839B (zh) * 2018-08-21 2020-07-01 慧榮科技股份有限公司 操作頻率調整方法及電腦程式產品及裝置
CN113220108B (zh) 2018-08-21 2023-09-26 慧荣科技股份有限公司 计算机可读取存储介质、操作频率调整方法及装置
US10530370B1 (en) 2018-11-21 2020-01-07 Marvell International Ltd. Glitch-free PLL Multiplexer
US10739846B2 (en) 2018-12-11 2020-08-11 Nxp B.V. Closed-loop adaptive voltage, body-biasing and frequency scaling
US11402413B1 (en) 2018-12-12 2022-08-02 Marvell Asia Pte, Ltd. Droop detection and mitigation
US11545987B1 (en) 2018-12-12 2023-01-03 Marvell Asia Pte, Ltd. Traversing a variable delay line in a deterministic number of clock cycles
US10784871B1 (en) * 2018-12-31 2020-09-22 Marvell Asia Pte, Ltd. Clocking architecture for DVFS with low-frequency DLL locking
US11545981B1 (en) 2018-12-31 2023-01-03 Marvell Asia Pte, Ltd. DLL-based clocking architecture with programmable delay at phase detector inputs
US11927612B1 (en) 2022-04-07 2024-03-12 Marvell Asia Pte Ltd Digital droop detector

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7917772B1 (en) * 2006-09-29 2011-03-29 Koniaris Kleanthes G Dynamic chip control
US7915910B2 (en) * 2009-01-28 2011-03-29 Apple Inc. Dynamic voltage and frequency management
KR101991682B1 (ko) * 2012-08-29 2019-06-21 삼성전자 주식회사 Dvfs 제어 방법 및 이를 이용한 시스템-온 칩
KR101832821B1 (ko) * 2012-09-10 2018-02-27 삼성전자주식회사 동적 전압 주파수 스케일링 방법, 어플리케이션 프로세서 및 이를 구비하는 모바일 기기
US9563724B2 (en) * 2013-09-28 2017-02-07 International Business Machines Corporation Virtual power management multiprocessor system simulation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10211947B2 (en) 2016-12-26 2019-02-19 Samsung Electronics Co., Ltd. System-on-chip using dynamic voltage frequency scaling and method of operating the same

Also Published As

Publication number Publication date
US20160077572A1 (en) 2016-03-17

Similar Documents

Publication Publication Date Title
KR20160032529A (ko) 시스템 온 칩과 이의 dvfs 검증 방법
KR101991682B1 (ko) Dvfs 제어 방법 및 이를 이용한 시스템-온 칩
KR102082859B1 (ko) 복수의 이종 코어들을 포함하는 시스템 온 칩 및 그 동작 방법
KR101748747B1 (ko) 프로세서의 구성가능한 피크 성능 제한들의 제어
JP5697284B2 (ja) コンピュータプラットフォームのシステム電力状態を遷移させる方法、装置およびシステム
US9696771B2 (en) Methods and systems for operating multi-core processors
US9588915B2 (en) System on chip, method of operating the same, and apparatus including the same
US20130262894A1 (en) System-on-chip, electronic system including same, and method controlling same
KR20140088691A (ko) Dvfs 정책을 수행하는 시스템-온 칩 및 이의 동작 방법
US11693466B2 (en) Application processor and system on chip
KR20140030823A (ko) 3차원 작업 부하를 이용하여 dvfs 정책을 수행하는 시스템-온 칩 및 이의 동작 방법
US20160116934A1 (en) Clock circuit for generating clock signal and semiconductor integrated circuit device including the same
US9223365B2 (en) Method and apparatus for controlled reset sequences without parallel fuses and PLL'S
US8806254B2 (en) System and method for creating and dynamically maintaining system power inventories
KR20140021283A (ko) 다중 dvfs 정책을 이용한 soc 및 이의 동작 방법
US20230266815A1 (en) Dvfs controlling method, semiconductor device and semiconductor system using the dvfs controlling method
US11068276B2 (en) Controlled customization of silicon initialization
US20240036627A1 (en) System on chip and semiconductor device including the same
KR20240059344A (ko) 시스템 온 칩 및 이의 동작 방법
KR20230127824A (ko) 시스템 온 칩, 그것의 버스 파워 게이팅 방법 및 시스템
CN116263723A (zh) 功率管理看门狗
CN116009671A (zh) 一种服务器断电时使PCIeAIC工作的装置及方法

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination