KR20160105209A - 전자 장치 및 이의 전력 제어 방법 - Google Patents

전자 장치 및 이의 전력 제어 방법 Download PDF

Info

Publication number
KR20160105209A
KR20160105209A KR1020150028583A KR20150028583A KR20160105209A KR 20160105209 A KR20160105209 A KR 20160105209A KR 1020150028583 A KR1020150028583 A KR 1020150028583A KR 20150028583 A KR20150028583 A KR 20150028583A KR 20160105209 A KR20160105209 A KR 20160105209A
Authority
KR
South Korea
Prior art keywords
peripheral device
power
command
control unit
power mode
Prior art date
Application number
KR1020150028583A
Other languages
English (en)
Other versions
KR102333391B1 (ko
Inventor
김진평
고정윤
권필성
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020150028583A priority Critical patent/KR102333391B1/ko
Publication of KR20160105209A publication Critical patent/KR20160105209A/ko
Application granted granted Critical
Publication of KR102333391B1 publication Critical patent/KR102333391B1/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/266Arrangements to supply power to external peripherals either directly from the computer or under computer control, e.g. supply of power through the communication port, computer controlled power-strips
    • 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/325Power saving in peripheral device

Abstract

본 발명의 다양한 실시 예는 전자 장치에 관한 것으로, 전자 장치를 운용하는 프로세서; 상기 프로세서에서 발생한 주변 장치(peripheral device)에 대한 커맨드를 관리하여 상기 주변 장치로 전달하는 커맨드 제어부; 및 상기 커맨드 제어부를 모니터링하고, 상기 모니터링에 기반하여 상기 주변 장치의 전력 모드를 결정하며, 상기 주변 장치가 상기 결정된 전력 모드로 설정될 수 있도록 전력 제공부 및/또는 상기 주변 장치를 제어하는 전력 제어부를 포함할 수 있다. 다만, 상기 실시 예에 한정되지 않으며 다른 실시 예가 가능하다.

Description

전자 장치 및 이의 전력 제어 방법{ELECTRONIC APPARATUS AND METHOD FOR CONTOROLLING POWER THEREOF}
본 발명은 전자 장치 및 이의 주변 장치에 대한 전력 제어 방법에 관한 것이다.
전자 시스템은 전자 장치, 예컨대 칩의 내부 및/또는 외부에 다양한 주변 장치(peripheral device)를 포함할 수 있다. 오늘 날의 칩은 SoC(System on Chip)와 같이 프로세서를 비롯한 다양한 기능을 갖는 모듈들을 하나의 시스템으로 집적할 수 있다. 주변 장치는 프로세서의 필요에 따라 운용되므로 대기(idle) 시간이 많으며 에너지 절약을 위해 저전력 모드로 진입할 수 있다. 일반적으로 프로세서 내의 운영 체제(operating system)가 주변 장치를 제어하므로, 저전력 모드 제어 역시 프로세서 내의 운영 체제가 수행하게 된다.
근래, 반도체 공정 기술과 설계 기술이 발전하여 칩의 전력밀도와 동작 속도가 크게 증가하였다. 칩의 전력 밀도 대비 실제 가용한 전력은 제한되어 있으므로 칩과 관련한 여러 주변 장치에 대하여 높은 효율의 전력 제어가 크게 요구되고 있는 실정이다.
본 발명의 한 실시 예에 따른 전자 장치는, 전자 장치를 운용하는 프로세서; 상기 프로세서에서 발생한 주변 장치(peripheral device)에 대한 커맨드를 관리하여 상기 주변 장치로 전달하는 커맨드 제어부; 및 상기 커맨드 제어부를 모니터링하고, 상기 모니터링에 기반하여 상기 주변 장치의 전력 모드를 결정하며, 상기 주변 장치가 상기 결정된 전력 모드로 설정될 수 있도록 전력 제공부 및/또는 상기 주변 장치를 제어하는 전력 제어부를 포함하는 것을 특징으로 한다.
본 발명의 한 실시 예에 따른 전자 장치의 주변 장치에 대한 전력 제어 방법은, 프로세서에서 발생한 상기 주변 장치에 대한 커맨드를 관리하는 커맨드 제어부를 모니터링하는 단계; 상기 모니터링에 기반하여 상기 주변 장치의 전력 모드를 결정하는 단계; 및 상기 주변 장치가 상기 결정된 전력 모드로 설정될 수 있도록 전력 제공부 및/또는 상기 주변 장치를 제어하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 다양한 실시 예에 따르면, 주변 장치에 대한 전력 제어의 정밀성을 높여 전체 시스템의 전력 효율을 높이는 효과가 있다.
또한, 본 발명의 다양한 실시 예에 따르면, 주변 장치에 대한 전력 제어를 고성능 프로세서가 아닌 저전력의 전력 효율이 높은 별도의 컨트롤러를 사용함으로써, 전력 제어를 위한 동작 또는 대기 시의 전력 효율을 향상시키는 효과가 있다.
도 1은 본 발명의 한 실시 예에 따른 전자 장치를 포함하는 전력 제어 시스템의 개략적인 구성도를 도시한다.
도 2는 본 발명의 한 실시 예에 따른 전자 장치를 포함하는 전력 제어 시스템의 개략적인 구성도를 도시한다.
도 3은 본 발명의 한 실시 예에 따른 전자 장치의 주변 장치에 대한 전력 제어 방법의 개략적인 순서도를 도시한다.
이하, 첨부된 도면을 참조하여 본 발명을 설명한다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들이 도면에 예시되고 관련된 상세한 설명이 기재되어 있다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경 및/또는 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조부호가 사용되었다.
본 발명 가운데 사용될 수 있는 "포함한다" 또는 "포함할 수 있다" 등의 표현은 개시된 해당 기능, 동작 또는 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작 또는 구성요소 등을 제한하지 않는다. 또한, 본 발명에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명에서 "또는" 등의 표현은 함께 나열된 단어들의 어떠한, 그리고 모든 조합을 포함한다. 예를 들어, "A 또는 B"는, A를 포함할 수도, B를 포함할 수도, 또는 A 와 B 모두를 포함할 수도 있다.
본 발명 가운데 "제 1, " "제2, " "첫째, " 또는 "둘째," 등의 표현들이 본 발명의 다양한 구성요소들을 수식할 수 있지만, 해당 구성요소들을 한정하지 않는다. 예를 들어, 상기 표현들은 해당 구성요소들의 순서 및/또는 중요도 등을 한정하지 않는다. 상기 표현들은 한 구성요소를 다른 구성요소와 구분 짓기 위해 사용될 수 있다. 예를 들어, 제1 사용자 기기와 제 2 사용자 기기는 모두 사용자 기기이며, 서로 다른 사용자 기기를 나타낸다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해될 수 있어야 할 것이다.
본 발명에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 한 실시 예에 따른 전자 장치를 포함하는 전력 제어 시스템(100)의 개략적인 구성도를 도시한다.
전력 제어 시스템(100)은, 적어도 하나의 주변 장치(120), 주변 장치(120)로 클럭과 공급 전압을 제공하는 전력 제공부(130) 및 이들을 제어하는 프로세서(110)를 포함할 수 있다. 본 발명의 실시 예에 따르면, 상기 전력 제어 시스템(100)은 프로세서(110), 주변 장치(120) 및 전력 제공부(130)를 하나의 전자 장치, 예컨대 칩으로 구성할 수 있다. 다양한 실시 예에 따르면, 주변 장치(120) 또는 전력 제공부(130) 중 적어도 하나는 칩 외부(off-chip)의 구성으로 구현할 수도 있다.
프로세서(110)는 전자 장치, 더 넓게는 전력 제어 시스템(100)을 운용하는 소프트웨어인 운영 체제(operating system)를 포함할 수 있다. 프로세서(110)는 컨트롤러, 제어부 또는 CPU일 수 있다. 예컨대, 프로세서(110)는, 실행되는 어플리케이션이 주변 장치(120)의 동작을 요청하면, 운영 체제를 통해 주변 장치(120)를 동작시키기 위한 커맨드를 생성하고, 드라이버(driver)를 통해 생성된 커맨드를 주변 장치(120)로 전달할 수 있다.
주변 장치(120)는 프로세서(110)를 포함하는 칩의 내부 또는 외부에 구현될 수 있다. 주변 장치(120)는 다양한 기능을 하는 IP(intellectual property)일 수 있다. 주변 장치(120)는 예컨대, DMA(direct memory access), 이더넷(ethernet) 또는 DSP(digital signal processor)를 포함할 수 있다. 주변 장치(120)는 프로세서(110)로부터 전달되는 커맨드에 응답하여 동작을 실행한다. 그리고, 본 실시 예에 따른 주변 장치(120)는, 프로세서(110)의 제어에 의해 전력 모드를 설정할 수 있다. 주변 장치(120)는 전력 제공부(130)로부터 클럭 및 공급 전압을 제공받아 설정된 전력 모드로 동작을 수행할 수 있다.
전력 제공부(130)는 프로세서(110)의 제어에 의해 결정된 주파수의 클럭 및 결정된 크기의 공급 전압을 생성할 수 있다. 프로세서(110)는 주변 장치(120)의 전력 모드를 설정한 경우, 설정된 전력 모드에 대응하는 주파수 및 공급 전압 값을 전력 제공부(130)에 통지할 수 있다. 예컨대, 전력 제공부(130)는 전력 관리 모듈(131), 클럭 제공 모듈(133) 또는 전압 제공 모듈(135) 중 적어도 하나를 포함할 수 있다. 전력 관리 모듈(131)은 전압 제공 모듈(135)에서 생성된 공급 전압을 주변 장치(120)로 전달할지 여부를 관리할 수 있다. 클럭 제공 모듈(133)은 예컨대 PLL(phase locked loop)을 포함할 수 있고, 결정된 주파수의 클럭을 생성할 수 있다. 전압 제공 모듈(135)는 결정된 크기의 공급 전압을 생성할 수 있다.
본 발명의 실시 예에 따르면, 프로세서(110)는 주변 장치(120)의 소모 전력을 낮추기 위하여, DVFS(dynamic voltage frequency scaling), 클럭 게이팅(clock gating) 또는 전력 게이팅(power gating) 중 적어도 하나를 수행할 수 있다.
한 예시로, 프로세서(110)가 정상 상태의 주변 장치(120)에 주파수 스케일링(frequency scaling)을 적용하는 경우, 워크 로드(work load)가 크면 주변 장치(120)는 높은 동작 주파수의 고성능 모드로 동작할 수 있고, 워크 로드가 적으면 낮은 주파수의 저성능 모드로 동작할 수 있다. DVFS를 적용하는 경우, 주파수에 따라 동작 전압을 변화시킴으로써 주변 장치(120)의 소모전력을 더 낮출 수 있다. 프로세서(110)의 운영 체제는 전력 제공부(130)에 대하여 원하는 클럭 주파수 및 공급 전압의 크기를 설정할 수 있다.
추가적으로, 프로세서(110)가 클럭 게이팅을 수행하면 주변 장치(120)의 동적 전력(dynamic power)을 차단할 수 있다. 주변 장치(120)는 클럭이 차단되면 동작할 수 없으므로, 클럭 게이팅은 주변 장치(120)가 일정시간 이상 대기(idle) 상태를 지속하면 적용될 수 있다. 프로세서(110)는, 클럭 게이팅을 하는 경우 주변 장치(120)의 응답이 없으므로, 주변 장치(120)로 접근 요청이 발생하지 않도록 설정할 수 있다. 프로세서(110)는 예컨대, 클럭 제공 모듈(133) 또는 전압 제공 모듈(135)의 설정을 변경하여 DVFS 또는 클럭 게이팅을 수행할 수 있다.
추가적으로, 프로세서(110)가 파워 게이팅을 더 수행하면, 주변 장치(120)의 누설 전력(Leakage Power)도 차단할 수 있다. 파워 게이팅에 의해 전원 공급이 중단된 경우 주변 장치(120)의 활성화(active) 상태로의 전이 시간(transition time)이 크므로, 프로세서(110)는 주변 장치(120)가 상대적으로 오랜 시간 대기 상태에 있는 경우 파워 게이팅을 적용할 수 있다. 프로세서(110)는 예컨대, 전압 제공 모듈(135) 또는 전력 관리 모듈(131)의 설정을 변경하여 파워 게이팅을 수행할 수 있다.
프로세서(110)는 운영 체제의 정책에 기반하여 적어도 하나 이상의 주변 장치(120) 중 일부 또는 모든 전력 모드를 설정할 수 있다.
본 발명의 실시 예에 따른 프로세서(110)는, 주변 장치(120)의 전력 모드 설정을 위해 주변 장치(120)의 대기 시간과 실행중인 커맨드를 상태 정보로 기억하고, 현재 상태 또는 과거의 상태 정보에서 예측된 미래 상태를 바탕으로 주변 장치(120)의 전력 모드를 결정할 수 있다. 프로세서(110)는 주변 장치(120)의 전력 모드 결정을 함에 있어, 전력 모드에 따라 천이 시간, 소모 전력, 동작 상태 등의 특성이 상이므로 배터리 상황, 이용 패턴 등에 기반한 다양한 절전 정책을 사용하여 결정할 수 있다.
프로세서(110)는 많은 시간 동안 애플리케이션을 수행하며 애플리케이션에 할당된 타임 슬롯(time slot)이 소모되어 컨텍스트 스위치가 필요하거나 인터럽트(interrupt)가 발생하는 경우 운영 체제를 수행한다. 일반적으로 타임 슬롯의 단위는 수ms ~ 수십ms이므로 운영 체제의 수행 주기 또한 최소 수ms이다. 따라서, 본 발명의 실시 예에 따르면, 프로세서(110)는 ms이내의 정밀한 전력 모드의 전이는 처리하기 힘들다. 그리고, 주변 장치(120)가 DMA, 네트워크 장치와 같이 사용이 빈번한 IP이거나 실시간 처리가 필요한 리얼타임 임베디드 시스템인 경우 전력 제어의 효율이 감소한다. 따라서, 프로세서(110)의 운영 체제가 주변 장치(120)에 대한 정밀한 전력 제어를 하는 경우 상대적으로 운영 체제에 의한 프로세서 점유가 커지고 이는 불필요한 프로세서 전력 소모를 발생시킨다.
또한, 프로세서(110) 내의 운영 체제가 실행되는 어플리케이션으로부터 주변 장치(120)에 대한 접근 요청을 받은 경우, 주변 장치(120)의 전력 모드에 따라 긴 대기 시간이 필요할 수 있다. 예를 들어, 주변 장치(120)에 전원 공급이 차단된 상태이면, 프로세서(110)의 운영 체제는 주변 장치(120)를 스탠바이(standby)로 변경시키는 명령을 주고 대기 한다. 운영 체제는 이 대기 시간 동안 다른 애플리케이션에서 동일한 주변 장치(120)에 대한 접근 요청들이 발생하는 경우 해당 요청들의 리스트를 관리해야 한다. 운영 체제는 이러한 대기 시간 동안 다른 작업을 처리하는 경우 주변 장치(120)의 모드 변경 완료를 확인하기 위한 인터럽트 처리나 컨텍스트 스위칭(context switching) 등의 추가 작업이 필요하고, 이는 운영 체제의 작업 효율을 낮춘다.
도 2는 본 발명의 한 실시 예에 따른 전자 장치를 포함하는 전력 제어 시스템(200)의 개략적인 구성도를 도시한다. 본 실시 예는, 프로세서의 작업 효율을 높이면서 효과적으로 주변 장치의 전력 모드를 관리할 수 있는 방법을 개시한다.
도 2의 전력 제어 시스템(200)은 도 1의 실시 예가 가지고 있는 주변 장치의 전력 제어에 대한 프로세서의 제약을 제거하기 위하여, 주변 장치에 대한 커맨드 관리를 수행하는 별도의 커맨드 제어부(240) 및 상기 커맨드 제어부(240)를 모니터링하여 주변 장치의 전력을 제어하는 전력 제어부(250)를 더 포함한다. 따라서, 본 실시 예에 따르면, 복잡한 저전력 제어로 인한 프로세서의 부담을 줄일 수 있고 전력 효율이 높은 별도의 전력 제어부(250)를 사용함으로써 효율적인 저전력 제어를 구현할 수 있다.
도 2를 참조하면, 전력 제어 시스템(200)은, 프로세서(210), 적어도 하나의 주변 장치(220), 전력 제공부(230), 커맨드 제어부(240) 및 전력 제어부(250)를 포함할 수 있다. 본 발명의 실시 예에 따르면, 전력 제어 시스템(200)을 구성하는 상기 각 유닛이 모두 온칩(on-chip)으로 구현될 수도 있으나, 적어도 하나의 유닛, 예컨대, 프로세서(210), 주변 장치(220), 전력 제공부(230), 커맨드 제어부(240) 또는 전력 제어부(250)의 구성이 오프칩(off-chip)으로도 구현될 수 있다. 커맨드 제어부(240)로 전달되는 커맨드 역시 온칩 뿐 아니라 오프칩으로부터 입력 될 수 있다. 본 실시 예에 따른 커맨드(command)는 주변 장치(220)의 제어를 위한 명령이거나, 제어 명령의 집합에 대한 핸들러(handler)일 수 있다.
프로세서(210)는 전자 장치, 더 넓게는 전력 제어 시스템(200)을 운용하는 소프트웨어인 운영 체제(operating system)를 포함할 수 있다. 프로세서(210)는 컨트롤러, 제어부 또는 CPU일 수 있다. 예컨대, 프로세서(210)는, 실행되는 어플리케이션이 주변 장치(120)의 동작을 요청하면, 운영 체제를 통해 주변 장치(120)를 동작시키기 위한 커맨드를 생성할 수 있다.
주변 장치(220)는 칩의 내부 또는 외부에 구현될 수 있다. 주변 장치(220)는 다양한 기능을 하는 IP(intellectual property)일 수 있다. 주변 장치(220)는 예컨대, DMA(direct memory access), 이더넷(ethernet) 또는 DSP(digital signal processor)를 포함할 수 있다. 주변 장치(220)는 커맨드 제어부(240)로부터 전달되는 커맨드에 응답하여 동작을 실행한다. 그리고, 본 실시 예에 따른 주변 장치(220)는, 전력 제어부(250)의 제어에 의해 전력 모드를 설정할 수 있다. 주변 장치(220)는 전력 제공부(230)로부터 클럭 및 공급 전압을 제공받아 설정된 전력 모드로 동작을 수행할 수 있다.
전력 제공부(230)는 전력 제어부(250)의 제어에 의해 설정된 주변 장치(220)의 전력 모드에 대응하는 주파수의 클럭 및 결정된 크기의 공급 전압을 생성할 수 있다. 전력 제어부(250)는 주변 장치(220)의 전력 모드를 설정한 경우, 설정된 전력 모드에 대응하는 주파수 및 공급 전압 값을 전력 제공부(230)에 통지할 수 있다. 예컨대, 전력 제공부(230)는 전력 관리 모듈(231), 클럭 제공 모듈(233) 또는 전압 제공 모듈(235) 중 적어도 하나를 포함할 수 있다. 전력 관리 모듈(231)은 전압 제공 모듈(235)에서 생성된 공급 전압을 주변 장치(220)로 전달할지 여부를 관리할 수 있다. 클럭 제공 모듈(233)은 예컨대 PLL(phase locked loop)을 포함할 수 있고, 결정된 주파수의 클럭을 생성할 수 있다. 전압 제공 모듈(235)는 결정된 크기의 공급 전압을 생성할 수 있다.
커맨드 제어부(240)는 프로세서(210)에서 발생한 주변 장치(220)에 대한 커맨드를 관리하여 주변 장치(220)로 전달할 수 있다. 커맨드 제어부(240)는 예컨대, 커맨드 큐(241), 커맨드 스케쥴러(243), 디스패칭 모듈(245), 모니터링 모듈(247) 및 커맨드 매니저(249)를 포함할 수 있다. 커맨드 제어부(240)의 상기 각 구성들은 어느 하나의 구성의 기능이 다른 구성의 기능과 결합되어 하나의 모듈을 이룰 수 있음은 물론이다.
커맨드 큐(241)는 프로세서(210)에서 발생한 커맨드를 저장할 수 있다. 다양한 실시 예에 따르면, 전력 제어 시스템(200)은 하나 이상의 커맨드 큐(241)를 포함할 수 있고, 프로세서(210)는 필요에 따라 주변 장치(220)의 종류나 스케쥴링 정책 등의 정보에 기반하여 커맨드 큐(241)를 지정할 수 있다.
커맨드 스케쥴러(243)는 커맨드 큐(241)에 저장된 커맨드를 우선 순위나 정책에 따라 순서를 정하여 디스패칭(dispatching) 모듈(245)로 전달할 수 있다. 커맨드 스케쥴러(243)는 하나 또는 그 이상의 커맨드를 디스패칭 모듈(245)에 전달할 수 있다. 커맨드 스케쥴러(243)는 디스패칭 모듈(245) 내의 커맨드 존재 여부 및 모니터링 모듈(247)이 모니터링한 주변 장치(220)의 동작 상태 또는 전력 모드 등을 고려하여 커맨드 전달을 제어할 수 있다.
디스패칭 모듈(245)은 커맨드 매니저(249)와 상호작용하여 주변 장치(220)로의 커맨드의 전달여부를 결정할 수 있다. 디스패칭 모듈(245)은 모니터링 모듈(247)이 모니터링한 주변 장치(220)의 전력 모드 또는 동작 상태 등을 고려하여 주변 장치(220)로의 커맨드의 전달여부를 결정할 수 있다.
모니터링 모듈(247)은 커맨드 매니저(249)와 상호작용하여 주변 장치(220)의 전력 모드 또는 동작 상태 등을 모니터링할 수 있다. 본 발명의 실시 예에 따른 주변 장치(220)의 전력 모드는, 예컨대 절전 모드, 저전력 모드, 대기 모드, 스탠 바이 모드 또는 정상 모드 등을 포함할 수 있고, 이는 주변 장치(220)로 제공되는 전력의 크기에 따라 다양한 모드로 구분될 수 있다. 본 발명의 실시 예에 따른 주변 장치(220)의 동작 상태는, 대기 상태, 스탠 바이 상태 또는 동작(busy) 상태 등을 포함할 수 있고, 이는 주변 장치(220)에 전달되는 커맨드의 개수 등에 기반하여 구분될 수 있다.
커맨드 매니터(249)는 커맨드를 주변 장치(220)가 인식할 수 있는 제어 명령으로 변환하고, 주변 장치(220)의 전력 모드 또는 동작 상태를 디스패칭 모듈(245) 및/또는 모니터링 모듈(247)에 전달할 수 있다.
전력 제어부(250)는 커맨드 제어부(240)를 모니터링하고, 상기 모니터링에 기반하여 주변 장치(220)의 전력 모드를 결정할 수 있다. 전력 제어부(250)는 커맨드 제어부(240)를 모니터링하여 주변 장치(220)의 동작 관련 정보를 확인할 수 있고, 확인된 동작 관련 정보에 기반하여 주변 장치(220)의 전력 모드를 결정할 수 있다. 전력 제어부(250)는 예컨대, 커맨드 큐(241)에 새로운 커맨드가 도착하는 것에 응답하여 주변 장치(220)의 동작 관련 정보를 확인할 수 있다.
본 발명의 다양한 실시 예에 따른 상기 동작 관련 정보는, 커맨드 큐(241)에 큐잉(queueing)된 주변 장치(220)에 대한 커맨드 수, 커맨드 스케쥴러(243)에 정렬된 커맨드 스케쥴 정보, 디스패칭 모듈(245) 및/또는 모니터링 모듈(247)이 모니터링한 주변 장치(220)의 동작 상태 및/또는 전력 모드를 포함할 수 있다. 전력 제어부(250)는 주변 장치(220)의 전력 모드에 대한 정보는 자신이 저장하고 있을 수 있다.
한 실시 예에 따르면, 전력 제어부(250)는 주변 장치(220)의 하나 이상의 전력 모드에 대응하는 전력 제공부(230)의 설정 값을 테이블로 저장하고 있을 수 있다. 예컨대, 상기 테이블은 주변 장치(220)의 전력 모드에 대응하는 전력 관리 모듈(231), 클럭 제공 모듈(233), 전압 제공 모듈(235) 또는 주변 장치(220) 중 적어도 하나의 설정 값을 포함할 수 있다. 그리고, 상기 테이블은 각 전력 모드에서의 전력 모드 천이 시간(transition time)을 포함할 수 있다. 상기 테이블은 메모리(미도시)에 저장될 수도 있다.
아래 표 1은 상기 테이블의 한 예시를 나타낸다.
Figure pat00001
전력 제어부(250)는 전력모드가 결정되면, 결정된 전력모드에 필요한 전력 제공부(230)의 설정 값을 상기 테이블에서 읽어올 수 있다. 전력 제어부(250)는 읽어 온 설정 값을 전력 제어부(250) 및/또는 주변 장치(220)로 전달하여 주변 장치(220)의 전력 모드를 변경시킬 수 있다. 예컨대, 전력 제어부(250)는 결정된 전력 모드에 대응하는 클럭 제공 모듈(244)이 제공하는 클럭의 주파수 설정 값 또는 전압 제공 모듈(135)이 제공하는 공급 전압의 설정 값 등을 전력 제공부(230)로 전달할 수 있다. 그리고, 전력 제어부(250)는 결정된 전력 모드에 대응하는 주변 장치(220)의 설정 값을 주변 장치(220)로 전달할 수 있다. 전력 제공부(230) 및 주변 장치(220)는 수신한 설정 값에 의하여 설정을 변경할 수 있다.
한 예시로써, 전력 제어부(250)는, 모니터링 결과 커맨드 제어부(240) 내에 큐잉된 커맨드가 없고 주변 장치(220)의 동작이 대기 상태인 경우, 주변 장치(220)가 소정 시간 이상 대기(idle) 상태이면 주변 장치(220)의 전력 모드로 절전 모드를 선택할 수 있다. 이 경우, 전력 제어부(250)는 우선 주변 장치(220)에 설정된 전력 모드를 확인하여, 주변 장치(220)의 전력 모드가 절전 모드가 아닌 경우 절전 모드로 변경시킬 수 있다.
전력 제어부(250)는 커맨드 제어부(240)에 새로운 커맨드가 도착한 경우 주변 장치(220)의 전력 모드를 확인하여, 전력 모드가 절전 모드인 경우 주변 장치(220)의 전력 모드를 정상 모드로 변경할 수 있다. 그리고, 전력 제어부(250)는 변경된 전력 모드에 대응하는 전력 제공부(230) 및/ 또는 주변 장치(220)의 설정 값을 저장된 테이블에서 읽어서 전력 제공부(230) 및/ 또는 주변 장치(220)로 전달할 수 있다.
본 발명의 실시 예에 전력 제어부(250)는, 주변 장치(220)의 전력 모드 설정을 위해 주변 장치(220)의 대기 시간과 실행중인 커맨드를 상태 정보로 기억하고, 현재 상태 또는 과거의 상태 정보에서 예측된 미래 상태를 바탕으로 주변 장치(220)의 전력 모드를 결정할 수 있다. 전력 제어부(250)는 주변 장치(220)의 전력 모드 결정을 함에 있어, 전력 모드에 따라 천이 시간, 소모 전력, 동작 상태 등의 특성이 상이므로 배터리 상황, 이용 패턴 등에 기반한 다양한 절전 정책을 사용하여 결정할 수 있다.
또한, 전력 제어부(250)는 주변 장치(220)의 전력 모드가 변경된 결과를 커맨드 제어부(240)로 피드백할 수 있다. 커맨드 제어부(240)는 피드백 받은 정보에 기반하여 주변 장치(220)에 대한 커맨드를 관리할 수 있다. 예컨대, 커맨드 제어부(240)는 피드백 받은 주변 장치(220)의 전력 모드 변경 정보에 기반하여 주변 장치(220)로의 스케쥴링을 조정하고 및 커맨드 전달이 정상적으로 수행되도록 제어할 수 있다. 전력 제어부(250)는 전력 모드 변경 정보를 주변 장치(220) 및 전력 제공부(230)의 설정 변경이 완료된 후 커맨드 제어부(240)로 전달할 수 있다.
예컨대, 전력 제어부(250)가 대기 상태의 지속 시간과 전력 정책에 따라 절전 모드를 선택한 경우, 절전 모드에 진입한 주변 장치(220)는 전력 모드에 따라 외부의 요청에 응답하지 않을 수 있다. 따라서 전력 제어부(250)는 주변 장치(220)의 전력 모드 변경 정보를 커맨드 제어부(240)에 전달하여 해당 주변 장치(220)로의 접근을 방지할 수 있다. 한 예시로써, 전력 제어부(250)는 전력 제공부(230) 및/ 또는 주변 장치(220)로 전달하는 전력 모드 설정 변경 요청보다 커맨드 제어부(240)에 전력 모드 정보를 먼저 전달할 수도 있다.
도 3은 본 발명의 한 실시 예에 따른 전력 제어부(250)의 주변 장치(220)에 대한 전력 제어 방법의 개략적인 순서도를 도시한다.
전력 제어부(250)는 310 단계에서 커맨드 제어부(240)를 모니터링하여 주변 장치의 동작 관련 정보를 확인할 수 있다.
전력 제어부(250)는 320 단계에서 확인된 동작 관련 정보에 기반하여 주변 장치(220)의 전력 모드를 결정할 수 있다. 이때, 전력 제어부(250)는 설정된 전력 정책에 따라 주변 장치(220)의 전력 모드를 결정할 수 있다.
전력 제어부(250)는 330 단계에서 주변 장치(220)를 결정된 전력 모드로 변경할 수 있도록, 전력 제공부(230) 및/또는 주변 장치(220)를 제어할 수 있다. 예컨대, 전력 제어부(250)는 결정된 전력 모드에 대응하는 전력 제공부(230) 및/또는 주변 장치(220)의 설정 값을 저장된 테이블에서 확인하고, 확인된 설정 값을 전력 제공부(230) 및/또는 주변 장치(220)로 전달하면서 전력 모드 설정에 대한 변경 요청을 할 수 있다.
전력 제어부(250)는 340 단계에서 전력 모드 변경 결과를 커맨드 제어부(240)로 피드백할 수 있다. 커맨드 제어부(240)는 피드백 받은 정보에 기반하여 주변 장치(220)에 대한 커맨드를 관리할 수 있다. 전력 제어부(250)는 실시 예에 따라, 전력 제공부(230) 및/또는 주변 장치(220)로 전력 모드 설정 변경 요청을 하기 이전에 전력 모드 변경 결과를 커맨드 제어부(240)로 피드백할 수도 있고, 전력 제공부(230) 및/또는 주변 장치(220)의 전력 모드 설정이 변경된 이후에 설정 변경 결과를 커맨드 제어부(240)로 피드백할 수도 있다.
본 발명의 실시 예에 따르면, 프로세서(210)와는 독립적인 저전력의 전력 제어부(250)를 구성하여 저전력 제어의 정밀성을 높여 시스템의 전력 효율을 높일 수 있다.
나아가, 주변 장치(220) 제어를 위한 커맨드 큐(241)를 프로세서(210)로부터 분리함으로써, 주변 장치(220)가 저전력 모드 등에서 더 이상의 동작 수행이 불가능한 상황인 경우 프로세서(210)가 대기하지 않고 주변 장치(220)에 대한 커맨드를 커맨드 큐(241)에 전달하고 원래 동작에 복귀할 수 있으므로 불필요한 프로세서(210) 자원 소모를 줄이고 이를 통해 전력 소모를 낮출 수 있다.
본 발명의 다양한 실시 예에 따른 전자 장치의 전술한 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성 요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 본 발명의 다양한 실시 예에 따른 전자 장치는 전술한 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 본 발명의 다양한 실시 예에 따른 전자 장치의 구성 요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.
본 발명의 다양한 실시 예에 사용된 용어 "~부", "장치" 또는 "모듈"은, 예를 들어, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. "~부", "장치" 또는 "모듈"은 예를 들어, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component) 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. "~부", "장치" 또는 "모듈"은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. "~부", "장치" 또는 "모듈"은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. "~부", "장치" 또는 "모듈"은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면, 본 발명의 다양한 실시 예에 따른 "~부", "장치" 또는 "모듈"은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
본 명세서와 도면에 개시된 본 개시의 실시 예들은 본 개시의 기술 내용을 쉽게 설명하고 본 개시의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 개시의 범위를 한정하고자 하는 것은 아니다. 따라서 본 개시의 범위는 여기에 개시된 실시 예들 이외에도 본 개시의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.

Claims (17)

  1. 전자 장치에 있어서,
    전자 장치를 운용하는 프로세서;
    상기 프로세서에서 발생한 주변 장치(peripheral device)에 대한 커맨드를 관리하여 상기 주변 장치로 전달하는 커맨드 제어부; 및
    상기 커맨드 제어부를 모니터링하고, 상기 모니터링에 기반하여 상기 주변 장치의 전력 모드를 결정하며, 상기 주변 장치가 상기 결정된 전력 모드로 설정될 수 있도록 전력 제공부 및/또는 상기 주변 장치를 제어하는 전력 제어부를 포함하는 것을 특징으로 하는 전자 장치.
  2. 제 1 항에 있어서,
    상기 전력 제어부는,
    상기 커맨드 제어부를 모니터링하여 상기 주변 장치의 동작 관련 정보를 확인하고, 상기 동작 관련 정보에 기반하여 상기 주변 장치의 전력 모드를 결정하는 것을 특징으로 하는 전자 장치.
  3. 제 2 항에 있어서,
    상기 주변 장치의 동작 관련 정보는, 상기 커맨드 제어부 내에 큐잉(queueing)된 커맨드의 수, 커맨드 스케쥴 정보 또는 상기 주변 장치의 동작 상태 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 전자 장치.
  4. 제 1 항에 있어서,
    상기 전력 제어부는,
    상기 모니터링 결과 상기 커맨드 제어부 내에 큐잉된 커맨드가 없고 상기 주변 장치의 동작이 대기 상태인 경우, 상기 주변 장치가 소정 시간 이상 대기 상태이면 상기 주변 장치의 전력 모드로 절전 모드를 선택하는 것을 특징으로 하는 전자 장치.
  5. 제 1 항에 있어서,
    상기 전력 제공부는, 전압 제공 모듈, 클럭 제공 모듈 또는 전력 관리 모듈 중 적어도 하나를 포함하는 것을 특징으로 하는 전자 장치.
  6. 제 5 항에 있어서,
    상기 전력 제어부는,
    상기 결정된 전력 모드에 대응하는 상기 전압 제공 모듈, 클럭 제공 모듈 또는 전력 관리 모듈 중 적어도 하나의 설정 값을 저장된 테이블에서 확인하고, 상기 확인된 적어도 하나의 설정 값을 상기 전압 제공 모듈, 클럭 제공 모듈 또는 전력 관리 모듈 중 적어도 하나로 전달하는 것을 특징으로 하는 전자 장치.
  7. 제 1 항에 있어서,
    상기 전력 제어부는,
    상기 주변 장치의 전력 모드가 설정된 결과를 상기 커맨드 제어부로 피드백하는 것을 특징으로 하는 전자 장치.
  8. 제 7 항에 있어서,
    상기 커맨드 제어부는,
    상기 전력 제어부로부터 피드백 받은 정보에 기반하여 커맨드를 관리하는 것을 특징으로 하는 전자 장치.
  9. 제 1 항에 있어서,
    상기 전자 장치는, 상기 주변 장치를 더 포함하는 것을 특징으로 하는 전자 장치.
  10. 제 1 항에 있어서,
    상기 전자 장치는, 상기 전력 제공부를 더 포함하는 것을 특징으로 하는 전자 장치.
  11. 전자 장치의 주변 장치에 대한 전력 제어 방법에 있어서,
    프로세서에서 발생한 상기 주변 장치에 대한 커맨드를 관리하는 커맨드 제어부를 모니터링하는 단계;
    상기 모니터링에 기반하여 상기 주변 장치의 전력 모드를 결정하는 단계; 및
    상기 주변 장치가 상기 결정된 전력 모드로 설정될 수 있도록 전력 제공부 및/또는 상기 주변 장치를 제어하는 단계를 포함하는 것을 특징으로 하는 전력 제어 방법.
  12. 제 11 항에 있어서,
    상기 주변 장치의 전력 모드를 결정하는 단계는,
    상기 모니터링에 기반하여 상기 주변 장치의 동작 관련 정보를 확인하고, 상기 동작 관련 정보에 기반하여 상기 주변 장치의 전력 모드를 결정하는 것을 특징으로 하는 전력 제어 방법.
  13. 제 12 항에 있어서,
    상기 주변 장치의 동작 관련 정보는, 상기 커맨드 제어부 내에 큐잉(queueing)된 커맨드의 수, 커맨드 스케쥴 정보 또는 상기 주변 장치의 동작 상태 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 전력 제어 방법.
  14. 제 11 항에 있어서,
    상기 주변 장치의 전력 모드를 결정하는 단계는,
    상기 모니터링 결과 상기 커맨드 제어부 내에 큐잉된 커맨드가 없고 상기 주변 장치의 동작이 대기 상태인 경우, 상기 주변 장치가 소정 시간 이상 대기 상태이면 상기 주변 장치의 전력 모드로 절전 모드를 선택하는 것을 특징으로 하는 전력 제어 방법.
  15. 제 11 항에 있어서,
    상기 전력 제공부는, 전압 제공 모듈, 클럭 제공 모듈 또는 전력 관리 모듈 중 적어도 하나를 포함하는 것을 특징으로 하는 전력 제어 방법.
  16. 제 15 항에 있어서,
    상기 전력 제공부를 제어하는 단계는,
    상기 결정된 전력 모드에 대응하는 상기 전압 제공 모듈, 클럭 제공 모듈 또는 전력 관리 모듈 중 적어도 하나의 설정 값을 저장된 테이블에서 확인하는 단계; 및
    상기 확인된 적어도 하나의 설정 값을 상기 전압 제공 모듈, 클럭 제공 모듈 또는 전력 관리 모듈 중 적어도 하나로 전달하는 단계를 포함하는 것을 특징으로 하는 전력 제어 방법.
  17. 제 11 항에 있어서,
    상기 주변 장치의 전력 모드가 설정된 결과를 상기 커맨드 제어부로 피드백하는 단계를 더 포함하고,
    상기 커맨드 제어부는 상기 피드백 받은 정보에 기반하여 커맨드를 관리하는 것을 특징으로 하는 전자 장치.
KR1020150028583A 2015-02-27 2015-02-27 전자 장치 및 이의 전력 제어 방법 KR102333391B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150028583A KR102333391B1 (ko) 2015-02-27 2015-02-27 전자 장치 및 이의 전력 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150028583A KR102333391B1 (ko) 2015-02-27 2015-02-27 전자 장치 및 이의 전력 제어 방법

Publications (2)

Publication Number Publication Date
KR20160105209A true KR20160105209A (ko) 2016-09-06
KR102333391B1 KR102333391B1 (ko) 2021-12-01

Family

ID=56946086

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150028583A KR102333391B1 (ko) 2015-02-27 2015-02-27 전자 장치 및 이의 전력 제어 방법

Country Status (1)

Country Link
KR (1) KR102333391B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220141681A (ko) * 2021-04-13 2022-10-20 에스케이하이닉스 주식회사 PCIe 인터페이스 장치 및 그 동작 방법
US11782497B2 (en) 2021-06-01 2023-10-10 SK Hynix Inc. Peripheral component interconnect express (PCIE) interface device and method of operating the same
US11789658B2 (en) 2021-04-13 2023-10-17 SK Hynix Inc. Peripheral component interconnect express (PCIe) interface system and method of operating the same

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10512382A (ja) * 1995-10-26 1998-11-24 エロネックス・テクノロジーズ・インコーポレーテッド コンピュータ周辺装置の低電力消費モニタ待機システム
KR100382232B1 (en) * 2002-05-31 2003-05-09 Palm Palm Tech Mobile terminal having enhanced power managing function and power managing method thereof
KR20090014692A (ko) * 2007-08-07 2009-02-11 한국과학기술원 인터럽트 기반의 프로세서를 위한 인터럽트 대기 명령어를실행하는 인터럽트 처리 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10512382A (ja) * 1995-10-26 1998-11-24 エロネックス・テクノロジーズ・インコーポレーテッド コンピュータ周辺装置の低電力消費モニタ待機システム
KR100382232B1 (en) * 2002-05-31 2003-05-09 Palm Palm Tech Mobile terminal having enhanced power managing function and power managing method thereof
KR20090014692A (ko) * 2007-08-07 2009-02-11 한국과학기술원 인터럽트 기반의 프로세서를 위한 인터럽트 대기 명령어를실행하는 인터럽트 처리 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220141681A (ko) * 2021-04-13 2022-10-20 에스케이하이닉스 주식회사 PCIe 인터페이스 장치 및 그 동작 방법
US11789658B2 (en) 2021-04-13 2023-10-17 SK Hynix Inc. Peripheral component interconnect express (PCIe) interface system and method of operating the same
US11960424B2 (en) 2021-04-13 2024-04-16 SK Hynix Inc. Peripheral component interconnect express (PCIe) interface device and method of operating the same
US11782497B2 (en) 2021-06-01 2023-10-10 SK Hynix Inc. Peripheral component interconnect express (PCIE) interface device and method of operating the same

Also Published As

Publication number Publication date
KR102333391B1 (ko) 2021-12-01

Similar Documents

Publication Publication Date Title
US7421601B2 (en) Method and system for controlling power in a chip through a power-performance monitor and control unit
US9600059B2 (en) Facilitating power management in a multi-core processor
US8639862B2 (en) System-on-chip queue status power management
US8504753B2 (en) Suspendable interrupts for processor idle management
US9851768B2 (en) Voltage regulator control system
US8726055B2 (en) Multi-core power management
US20080028246A1 (en) Self-monitoring and self-adjusting power consumption computer control system
KR101509330B1 (ko) 처리 장치, 정보 처리 장치, 및 소비 전력 관리 방법
US8661279B2 (en) Power capping using C-states
US10860081B2 (en) Electronic device and apparatus and method for power management of an electronic device
KR102099301B1 (ko) 반도체 장치의 제어
CN114710563A (zh) 一种集群节能方法及装置
KR102333391B1 (ko) 전자 장치 및 이의 전력 제어 방법
US10282214B2 (en) System and method for power management of a plurality of circuit islands
CA2767782C (en) Suspendable interrupts for processor idle management
US10082858B2 (en) Peripheral device assistance in reducing CPU power consumption
US20170177068A1 (en) Systems, methods and devices for standby power savings
US20160124485A1 (en) Computer system having an absence mode
EP3176674A1 (en) Method for power control of a control unit and control unit
CN109976490B (zh) 电源控制方法及电子设备
US20220374065A1 (en) Power optimized timer module for processors
KR20240034854A (ko) 페이즈들의 수가 감소된 전력 공급 모드를 갖는 시스템-온-칩
KR20160147453A (ko) 파워게이팅시 도메인간 전환 지연시간 감소 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right