KR102568686B1 - 컨텍스트 허브를 포함하는 모바일 장치 및 그것의 동작 방법 - Google Patents
컨텍스트 허브를 포함하는 모바일 장치 및 그것의 동작 방법 Download PDFInfo
- Publication number
- KR102568686B1 KR102568686B1 KR1020180015993A KR20180015993A KR102568686B1 KR 102568686 B1 KR102568686 B1 KR 102568686B1 KR 1020180015993 A KR1020180015993 A KR 1020180015993A KR 20180015993 A KR20180015993 A KR 20180015993A KR 102568686 B1 KR102568686 B1 KR 102568686B1
- Authority
- KR
- South Korea
- Prior art keywords
- context
- hub
- data
- dvfs
- input
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 230000008569 process Effects 0.000 claims abstract description 38
- 238000012545 processing Methods 0.000 claims abstract description 32
- 238000011017 operating method Methods 0.000 claims abstract description 7
- 238000010801 machine learning Methods 0.000 claims description 47
- 238000013528 artificial neural network Methods 0.000 claims description 10
- 238000005457 optimization Methods 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 16
- 230000008859 change Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 9
- 230000001413 cellular effect Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000012544 monitoring process Methods 0.000 description 7
- 238000013527 convolutional neural network Methods 0.000 description 6
- 230000001133 acceleration Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 239000000126 substance Substances 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000003936 working memory Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000000919 ceramic Substances 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000005389 magnetism Effects 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000005518 polymer electrolyte Substances 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3209—Monitoring remote activity, e.g. over telephone lines or network connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3293—Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25257—Microcontroller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2201/00—Electronic components, circuits, software, systems or apparatus used in telephone systems
- H04M2201/34—Microprocessors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2250/00—Details of telephonic subscriber devices
- H04M2250/12—Details of telephonic subscriber devices including a sensor for measuring a physical value, e.g. temperature or motion
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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 Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Automation & Control Theory (AREA)
- Telephone Function (AREA)
- Power Sources (AREA)
- Measuring Fluid Pressure (AREA)
Abstract
본 발명의 실시 예에 따른 복수의 센서들로부터 데이터를 제공받아 처리하는 컨텍스트 허브의 동작 방법은, 상기 복수의 센서들 중 적어도 하나로부터 상기 컨텍스트 허브에 입력되는 컨텍스트 데이터의 패턴을 식별하는 단계, 상기 센싱 데이터의 상기 식별된 패턴에 대응하는 동적 전압-주파수 스케일링(DVFS) 레벨을 결정하는 단계, 그리고 상기 결정된 동적 전압-주파수 스케일링(DVFS) 레벨에 대응하는 클록 신호 또는 구동 전압을 사용하여 상기 컨텍스트 허브가 상기 컨텍스트 데이터를 처리하는 단계를 포함한다.
Description
본 발명은 전자 장치에 관한 것으로, 좀 더 상세하게는 센서들로부터의 입력에 따라 동작 주파수 또는 구동 전압을 조정하는 컨텍스트 허브를 포함하는 모바일 장치 및 그것의 동작 방법에 관한 것이다.
최근, 모바일 컨버젼스(Mobile convergence) 추세에 따라 모바일 장치(예를 들어, 스마트폰 등)에 장착되는 센서의 종류 및 개수가 점점 많아지고 있다. 증가하는 센서들의 데이터를 처리하기 위한 센서 허브(Sensor Hub)가 모바일 시스템에 장착되고 있다. 일반적으로, 모바일 장치는 배터리(Battery)로부터 전력을 공급받는다. 따라서, 사용자가 모바일 장치를 사용하지 않을 때에는, 애플리케이션 프로세서(AP)의 동작 모드를 슬립(Sleep) 모드로 전환시켜 불필요한 전력 소모를 줄이고 있다.
슬립 모드 동안에도 모바일 장치는 적어도 하나 이상의 센서 모듈을 이용하여 미리 설정된 주기로 외부 상태를 모니터링(Monitoring)해야 할 필요가 있다. 일반적으로 모바일 장치에서는 하나 또는 그 이상의 센서 모듈로부터 수신되는 컨텍스트 데이터를 센서 허브(Sensor Hub)에서 처리하도록 하고 있다. 하지만, 다양한 센서 모듈들로부터 제공되는 데이터의 중요도나 사이즈, 그리고 요구되는 속도는 다를 수 있다. 하지만, 센서 모듈들의 속성이나 중요도 및 컨텍스트 데이터의 크기에 관계없이 센서 허브의 동작이 고정되어 있는 실정이다. 더불어, 장착되는 센서들의 수가 급격히 증가함에 따라 센서 허브의 전력 효율 향상 요구가 날로 증가하고 있는 실정이다.
본 발명은 상술한 기술적 문제점을 해결하기 위해 제안된 것으로, 본 발명의 목적은 센서들의 수가 증가함에도 센서 허브 또는 컨텍스트 허브에서 소모되는 전력을 줄일 수 있는 센서 허브 및 그것의 동작 방법을 제공하는데 있다.
본 발명의 실시 예에 따른 복수의 센서들로부터 컨텍스트 데이터를 제공받아 처리하는 컨텍스트 허브의 동작 방법은, 상기 복수의 센서들 중 적어도 하나로부터 상기 컨텍스트 허브에 입력되는 상기 컨텍스트 데이터의 패턴을 식별하는 단계, 식별된 상기 컨텍스트 데이터의 상기 패턴에 대응하는 동적 전압-주파수 스케일링(DVFS) 레벨을 결정하는 단계, 그리고 결정된 상기 동적 전압-주파수 스케일링(DVFS) 레벨에 대응하는 클록 신호 또는 구동 전압을 사용하여 상기 컨텍스트 허브가 상기 컨텍스트 데이터를 처리하는 단계를 포함한다.
본 발명의 일 실시 예에 따른 모바일 장치는, 복수의 센서들, 상기 복수의 센서들로부터 제공되는 센서 입력들을 수신하고 처리하는 컨텍스트 허브, 상기 컨텍스트 허브에 의해서 슬립 모드로부터 액티브 보드로 웨이크-업하는 메인 프로세서, 상기 컨텍스트 허브의 제어에 따라 상기 컨텍스트 허브에 제공되는 클록 신호의 주파수 또는 상기 컨텍스트 허브에 제공되는 구동 전압의 레벨을 제어하는 동적 전압-주파수 스케일링(DVFS) 블록, 그리고 상기 센서 입력들의 패턴에 대응하는 동적 전압-주파수 스케일링(DVFS) 레벨을 제공하는 컨텍스트 입력 패턴 정보 블록을 포함하되, 상기 센서 허브는 컨텍스트 입력 패턴 정보 블록을 참조하여 상기 센서 입력들의 패턴에 대응하는 상기 동적 전압-주파수 스케일링(DVFS) 레벨을 결정한다.
본 발명의 다른 실시 예에 따른 모바일 장치에 장착되는 복수의 센서들이 제공하는 컨텍스트 데이터를 처리하는 컨텍스트 허브의 동작 방법은, 상기 복수의 센서들 중 적어도 하나로부터 상기 컨텍스트 허브에 입력되는 상기 컨텍스트 데이터의 센서 입력 패턴을 식별하는 단계, 식별된 상기 센서 입력 패턴에 대응하는 동적 전압-주파수 스케일링(DVFS) 레벨에 따라 상기 컨텍스트 데이터를 처리하는 단계, 그리고 상기 센서 입력 패턴에 대응하는 상기 동적 전압-주파수 스케일링(DVFS) 레벨을 머신 러닝에 따라 학습하는 단계를 포함한다.
본 발명의 실시 예에 따른 컨텍스트 허브 및 그것의 동작 방법에 따르면, 관리되는 센서들의 수가 급격히 증가하더라도 이들 센서들로부터 제공되는 데이터를 관리하는 컨텍스트 허브의 전력 소모를 획기적으로 줄일 수 있다. 더불어, 컨텍스트 허브에서 컨텍스트 데이터를 처리하는데 소요되는 레이턴시가 최소화될 수 있다.
도 1은 본 발명의 일 실시 예에 따른 전자 장치를 보여주는 블록도이다.
도 2는 도 1의 컨텍스트 허브의 동작을 간략히 보여주는 순서도이다.
도 3a 및 도 3b는 각각 컨텍스트 입력 패턴 정보 블록에 정의된 컨텍스트 입력 패턴에 대응하는 DVFS 레벨을 예시적으로 보여주는 테이블이다.
도 4는 본 발명의 실시 예에 따른 컨텍스트 허브의 동작 특징을 보여주는 타이밍도이다.
도 5는 본 발명의 실시 예에 따른 컨텍스트 허브를 갖는 모바일 장치를 보여주는 블록도이다.
도 6은 도 5에 도시된 컨텍스트 허브의 동작을 간략히 보여주는 순서도이다.
도 7은 도 5의 컨텍스트 입력 패턴 정보 블록에 의해서 정의되는 컨텍스트 입력 패턴과 대응하는 DVFS 레벨을 예시적으로 보여주는 테이블이다.
도 8은 본 발명의 다른 실시 예에 따른 전자 장치를 보여주는 블록도이다.
도 9는 도 8의 컨텍스트 허브의 동작을 간략히 보여주는 순서도이다.
도 10은 도 8의 컨텍스트 허브의 동작의 다른 예를 간략히 보여주는 순서도이다.
도 11은 본 발명의 신경망 처리 유닛(NPU)의 동작을 예시적으로 보여주는 도면이다.
도 12는 본 발명의 다른 실시 예에 따른 컨텍스트 허브를 갖는 모바일 장치를 보여주는 블록도이다.
도 13은 본 발명의 또 다른 실시 예에 따른 컨텍스트 허브를 갖는 모바일 장치를 보여주는 블록도이다.
도 14는 본 발명의 실시 예에 따른 전자 장치를 보여주는 블록도이다.
도 2는 도 1의 컨텍스트 허브의 동작을 간략히 보여주는 순서도이다.
도 3a 및 도 3b는 각각 컨텍스트 입력 패턴 정보 블록에 정의된 컨텍스트 입력 패턴에 대응하는 DVFS 레벨을 예시적으로 보여주는 테이블이다.
도 4는 본 발명의 실시 예에 따른 컨텍스트 허브의 동작 특징을 보여주는 타이밍도이다.
도 5는 본 발명의 실시 예에 따른 컨텍스트 허브를 갖는 모바일 장치를 보여주는 블록도이다.
도 6은 도 5에 도시된 컨텍스트 허브의 동작을 간략히 보여주는 순서도이다.
도 7은 도 5의 컨텍스트 입력 패턴 정보 블록에 의해서 정의되는 컨텍스트 입력 패턴과 대응하는 DVFS 레벨을 예시적으로 보여주는 테이블이다.
도 8은 본 발명의 다른 실시 예에 따른 전자 장치를 보여주는 블록도이다.
도 9는 도 8의 컨텍스트 허브의 동작을 간략히 보여주는 순서도이다.
도 10은 도 8의 컨텍스트 허브의 동작의 다른 예를 간략히 보여주는 순서도이다.
도 11은 본 발명의 신경망 처리 유닛(NPU)의 동작을 예시적으로 보여주는 도면이다.
도 12는 본 발명의 다른 실시 예에 따른 컨텍스트 허브를 갖는 모바일 장치를 보여주는 블록도이다.
도 13은 본 발명의 또 다른 실시 예에 따른 컨텍스트 허브를 갖는 모바일 장치를 보여주는 블록도이다.
도 14는 본 발명의 실시 예에 따른 전자 장치를 보여주는 블록도이다.
이하에서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부된 도면을 참조하여 설명하기로 한다. 이하 본 명세서에서 '컨텍스트 입력'이라 함은 센서로부터 제공되는 원시 데이터(Raw data)뿐 아니라 센서 인터페이스 등에 의해서 일차적으로 처리된 데이터도 포함한다.
도 1은 본 발명의 일 실시 예에 따른 전자 장치를 보여주는 블록도이다. 도 1을 참조하면, 전자 장치(100)는 센서 유닛(110), 컨텍스트 유닛(120), 컨텍스트 허브(130), 컨텍스트 입력 패턴 정보 블록(140), 동적 전압-주파수 스케일링(Dynamic Voltage-Frequency Scaling: 이하, DVFS) 블록(150), 그리고 메인 프로세서(160)를 포함한다.
센서 유닛(110)은 복수의 센서들(Sensor_1~Sensor_n)을 포함한다. 복수의 센서들(Sensor_1~Sensor_n) 각각은 다양한 물리나 화학적 변화를 감지하여 전기적인 신호로 변환할 수 있다. 예를 들면, 복수의 센서들(Sensor_1~Sensor_n) 중 어떤 것은 온도나 습도, 전기장이나 자기장의 세기, 광량의 변화와 같은 물리적 또는 화학적 변화에 따라 가변하는 저항(R)이나 용량(C)의 변화를 감지하여 전기적 신호로 변환한다. 그리고 복수의 센서들(Sensor_1~Sensor_n) 각각은 아날로그 형태의 전기적 신호를 디지털 신호로 변환하는 아날로그-디지털 변환기(ADC)를 포함할 수 있다. 복수의 센서들(Sensor_1~Sensor_n)은 아날로그-디지털 변환기(ADC)에 의해서 변환된 디지털 신호를 전용의 인터페이스나 프로세서를 통해서 처리한 후에 컨텍스트 데이터(CD1~CDn)로 제공할 수도 있다. 여기서, 컨텍스트 데이터(CD1~CDn)는 아날로그 신호, 디지털 신호와 같은 원시 데이터(Raw data)이거나 또는 전용의 인터페이스나 프로세서에 의해서 일차적으로 처리된 데이터일 수 있음은 잘 이해될 것이다. 복수의 센서들(Sensor_1~Sensor_n) 각각의 구성이나 기능은 여기에 국한되지 않음은 잘 이해될 것이다. 즉, 복수의 센서들(Sensor_1~Sensor_n) 각각은 다양한 물리, 화학적 변화를 센싱하고, 센싱된 정보를 컨텍스트 허브(130)에 제공하는 임의의 센서들을 포함할 수 있다.
컨텍스트 유닛(120)은 전자 장치(100)에 구비된 다양한 유무선 입력이나 음성 입출력 등을 모니터링하거나 처리하기 위한 멀티미디어 모듈, 오디오 모듈, 네트워크 모듈, 그리고 GNSS 모듈을 포함할 수 있다. 멀티미디어 모듈은 카메라와 같은 멀티미디어 입력 신호를 검출하고, 그 결과로 컨텍스트 데이터(CDa)를 컨텍스트 허브(130)에 전달할 수 있다. 오디오 모듈은 음성 입력을 센싱하거나 검출하고, 그 결과로 컨텍스트 데이터(CDb)를 생성하여 컨텍스트 허브(130)에 전달할 수 있다. 네트워크 모듈은 유선 또는 무선 네트워크 신호를 모니터링하고, 그 결과로 컨텍스트 데이터(CDc)를 생성하여 컨텍스트 허브(130)에 전달할 수 있다. GNSS 모듈은 글로벌 항법 위성 시스템(Global Navigation Satellite System: GNSS)의 위성 신호를 수신하여 처리하고, 그 결과로 컨텍스트 데이터(CDd)를 생성하여 컨텍스트 허브(130)에 전달할 수 있다. 컨텍스트 허브(130)는 센서 유닛(110)에 포함되는 복수의 센서들(Sensor_1~Sensor_n)로부터의 컨텍스트 데이터(CD1~CDn) 및 컨텍스트 유닛(120)에서 제공되는 컨텍스트 데이터(CDa~CDd)를 제공받아 처리한다. 컨텍스트 허브(130)는 메인 프로세서(160)의 개입없이 컨텍스트 데이터(CD1~CDn)를 주기적으로 또는 비주기적으로 수신할 수 있다. 본 발명의 컨텍스트 허브(130)는 입력되는 컨텍스트 데이터(CD1~CDn, CDa~CDd)의 종류나 조합에 따라 다양한 레벨의 DVFS(Dynamic Voltage Frequency Scaling) 모드로 동작할 수 있다. 이하에서는 컨텍스트 데이터(CD1~CDn, CDa~CDd)의 종류나 조합을 컨텍스트 입력 패턴(Contest Input Pattern: CIP)이라 정의하기로 한다. 즉, 컨텍스트 허브(130)는 컨텍스트 입력 패턴(CIP)에 따라 클록 신호(CLK)의 주파수나 구동 전압(VDD)의 레벨을 조정할 수 있다. 여기서, 컨텍스트 허브(130)는 현재 입력되는 컨텍스트 데이터(CD1~CDn, CDa~CDd)의 컨텍스트 입력 패턴(CIP)을 식별하여 컨텍스트 입력 패턴 정보 블록(140)에 저장된 정보와 비교한다. 비교 결과에 따라 컨텍스트 허브(130)는 DVFS 블록(150)을 제어하여 클록 신호(CLK)의 주파수나 구동 전압(VDD)의 레벨을 제어할 수 있다.
예를 들면, 적은 연산량을 요구하는 컨텍스트 데이터가 제공되면, 컨텍스트 허브(130)는 낮은 주파수의 클록 신호(CLK) 또는 낮은 레벨의 구동 전압(VDD)으로 구동되도록 제어될 수 있다. 컨텍스트 허브(130)는 메인 프로세서(160)가 슬립 모드 상태에 있는 경우에도 저전력으로 센서 유닛(110)으로부터 컨텍스트 데이터(CDi, i는 1 이상의 자연수)를 제어할 수 있다. 또한, 컨텍스트 허브(130)는 복수의 센서들(Sensor_1~Sensor_n) 중 적어도 하나를 개별적으로 제어할 수 있음은 잘 이해될 것이다.
컨텍스트 입력 패턴 정보 블록(140)은 컨텍스트 허브(130)에 입력되는 컨텍스트 데이터(CD1~CDn)의 컨텍스트 입력 패턴(CIP)에 대한 DVFS 레벨을 정의한다. 컨텍스트 입력 패턴 정보 블록(140)에는 컨텍스트 데이터(CD1~CDn)의 컨텍스트 입력 패턴(CIP)에 대해 최적화된 클록 신호(CLK)의 주파수나 구동 전압(VDD)의 레벨이 저장되어 있다. 컨텍스트 입력 패턴 정보 블록(140)에 저장된 컨텍스트 데이터(CD1~CDn)의 컨텍스트 입력 패턴(CIP)에 대해 최적화된 DVFS 레벨은 시뮬레이션이나 다양한 테스트를 통해서 획득된 값으로 제공될 수 있을 것이다.
DVFS 블록(150)은 컨텍스트 허브(130)를 구동하기 위한 구동 전압(VDD) 및 클록 신호(CLK)를 생성할 수 있다. 예를 들면, DVFS 블록(150)은 컨텍스트 허브(130)에 제공될 구동 전압을 생성하는 전원 회로나 클록 생성 회로들을 포함할 수 있다. DVFS 블록(150)은 컨텍스트 허브(130)의 제어에 따라 컨텍스트 허브(130)에 제공되는 클록 신호(CLK)의 주파수나 구동 전압(VDD)의 레벨을 가변할 수 있다. DVFS 블록(150)은 컨텍스트 허브(130)에 입력되는 컨텍스트 데이터(CD1~CDn)의 컨텍스트 입력 패턴(CIP)에 따라 생성하는 제어 신호(CTRL)에 응답하여 컨텍스트 허브(130)에 제공되는 클록 신호(CLK)의 주파수나 구동 전압(VDD)의 레벨을 조정할 수 있다.
메인 프로세서(160)는 전자 장치(100)를 제어하는 프로세서일 수 있다. 메인 프로세서(160)는 전자 장치(100)의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다. 메인 프로세서(160)는 중앙처리장치(Central Processing Unit: CPU), 애플리케이션 프로세서(Application Processor: AP), 그리고 통신 프로세서(Communication Processor: CP) 중 적어도 하나를 포함할 수 있다.
메인 프로세서(160)는 액티브 모드 및 슬립 모드로 동작할 수 있다. 예를 들면, 메인 프로세서(160)는 슬립 모드 시에는 전자 장치(100)를 제어하거나 애플리케이션 프로그램을 수행하기 위한 제반 동작을 중지한 상태로 유지된다. 반면, 컨텍스트 허브(130)에 의해서 트리거(Trigger)되면, 메인 프로세서(160)는 슬립 모드로부터 액티브 모드로 웨이크-업(Wake-up) 된다. 이후 메인 프로세서(160)는 컨텍스트 허브(130)에서 덤핑되는 컨텍스트 데이터를 처리하기 위한 연산을 수행할 것이다. 본 발명에서는 메인 프로세서(160)는 기본적으로 슬립 모드 상태인 것을 가정하기로 한다.
이상에서는 본 발명의 전자 장치(100)의 구성 및 특징이 간략히 설명되었다. 전자 장치(100)는 센서 유닛(110) 또는 컨텍스트 유닛(120)으로부터 제공되는 컨텍스트 데이터(CD1~CDn, CDa~CDd)의 컨텍스트 입력 패턴(CIP)에 따라 클록 신호(CLK)의 주파수나 구동 전압(VDD)의 레벨이 조정되는 컨텍스트 허브(130)를 포함한다. 따라서, 전자 장치(100) 또는 메인 프로세서(160)의 슬립 모드시에 주변 환경이나 상태를 모니터링하는 센싱에 소요되는 전력을 최소화할 수 있다. 최근에는 모바일 장치에 점점 더 많은 센서들이 장착될 것이 요구되고 있다. 센서들의 수가 증가할수록 이들 센서들의 컨텍스트 데이터를 취합하고 관리하기 위한 컨텍스트 허브(130)의 전력 관리가 중요해지고 있다. 따라서, 본 발명은 센서들의 수가 증가하는 전자 장치(100)의 전력 관리 솔루션으로서 획기적인 전력 효율을 제공할 수 있을 것으로 기대된다.
도 2는 도 1의 컨텍스트 허브의 동작을 간략히 보여주는 순서도이다. 도 2를 참조하면, 컨텍스트 허브(130)는 복수의 센서들(Sensor_1~Sensor_n)이나 컨텍스트 유닛(120)으로부터 제공되는 컨텍스트 데이터의 컨텍스트 입력 패턴(CIP)에 따라 컨텍스트 허브(130)의 DVFS 레벨을 제어할 수 있다.
S110 단계에서, 컨텍스트 허브(130)는 센서 유닛(110)이나 컨텍스트 유닛(120)으로부터 컨텍스트 입력(Context Input: 이하, CI)이 존재하는지 모니터링한다. 컨텍스트 입력(CI)이 존재하는 경우(Yes 방향), 절차는 S120 단계로 이동한다. 반면, 컨텍스트 입력(CI)이 존재하지 않는 경우(No 방향), 컨텍스트 허브(130)는 컨텍스트 입력(CI)이 존재하는지 검출하기 위한 모니터링을 지속한다.
S120 단계에서, 컨텍스트 허브(130)는 입력된 컨텍스트 입력(CI)에 따라 DVFS 레벨을 결정한다. 즉, 컨텍스트 허브(130)는 입력된 컨텍스트 입력(CI)의 종류나 조합 또는 패턴을 식별하여 컨텍스트 입력 패턴 정보 블록(140)에 저장된 DVFS 레벨을 검출한다. 만일, 컨텍스트 허브(130)에 입력된 컨텍스트 입력(CI)이 컨텍스트 데이터(CD1) 하나에 대응하는 경우, 컨텍스트 허브(130)는 컨텍스트 입력 패턴 정보 블록(140)으로부터 컨텍스트 데이터(CD1) 하나만이 입력되는 경우에 대응하는 DVFS 레벨을 제공받을 수 있다.
S130 단계에서, 컨텍스트 허브(130)는 컨텍스트 입력(CI)이 메인 프로세서(160)에서 처리해야 하는 데이터인지 판단한다. 예를 들면, 컨텍스트 입력(CI)이 네트워크 모듈에 포함되는 통신 프로세서의 콜(Call) 신호와 같은 경우, 전자 장치(100)를 웨이크-업해야 하는 경우로 볼 수 있다. 만일, 컨텍스트 입력(CI)이 메인 프로세서(160)에서 처리해야 하는 데이터가 아닌 경우(No 방향), 절차는 S140 단계로 이동한다. 반면, 컨텍스트 입력(CI)이 메인 프로세서(160)에서 처리해야 하는 데이터인 경우(Yes 방향), 절차는 S150 단계로 이동한다.
S140 단계에서, 컨텍스트 허브(130)는 센서 입력에 대응하는 DVFS 레벨로 DVFS 블록(150)을 설정할 것이다. 그러면, DVFS 블록(150)은 설정된 주파수의 클록 신호(CLK) 그리고/또는 설정된 레벨의 구동 전압(VDD)을 생성하여 컨텍스트 허브(130)에 제공할 것이다.
S150 단계에서, 컨텍스트 허브(130)는 컨텍스트 입력(CI)에 대응하는 컨텍스트 데이터를 처리하기 위해 메인 프로세서(160)를 웨이크-업(Wake-up)할 것이다. 이때, 컨텍스트 허브(130)는 컨텍스트 데이터나 일차적으로 처리한 컨텍스트 데이터를 메인 프로세서(160)의 워킹 메모리(Working memory)로 덤프할 것이다.
이상에서는 본 발명의 컨텍스트 허브(130)에 입력되는 컨텍스트 입력 패턴(CIP)에 따른 DVFS 레벨을 결정하는 방법이 간략히 설명되었다. 여기서, 컨텍스트 입력 패턴(CIP)은 컨텍스트 허브(130)에 입력되는 컨텍스트 데이터의 종류나, 조합에 대한 정보일 수 있음은 잘 이해될 것이다.
도 3a 및 도 3b는 각각 컨텍스트 입력 패턴 정보 블록에 정의된 컨텍스트 입력 패턴에 대응하는 DVFS 레벨을 예시적으로 보여주는 테이블이다. 도 3a는 메인 프로세서(160)의 웨이크-업을 고려하지 않은 컨텍스트 입력 패턴 정보의 예를 보여주고, 도 3b는 메인 프로세서(160)의 웨이크-업을 고려한 컨텍스트 입력 패턴 정보의 예를 보여준다. 여기서, DVFS 레벨이 클록 신호(CLK)의 주파수만을 언급하고 있으나, 구동 전압(VDD)의 레벨도 주파수와 연동하여 조정될 수 있음은 잘 이해될 것이다. 더불어, 예시적으로 컨텍스트 데이터의 수가 4개(CD1, CD2, CD3, CD4)인 것으로 설명하고 있으나, 이는 설명의 편의를 위한 하나의 예시에 불과하다. 실제로는 더 많은 센서나 구성들로부터 더 많은 수의 컨텍스트 데이터가 입력될 수 있음은 잘 이해될 것이다.
도 3a를 참조하면, 컨텍스트 입력 패턴 정보 블록(140)은 센서 유닛(110)으로부터 주기적으로 또는 임의의 시점에 제공되는 컨텍스트 데이터의 패턴에 따라 DVFS 레벨을 정의할 수 있다. 예를 들면, 컨텍스트 허브(130)에 의해서 검출된 컨텍스트 입력(CI)이 센서(Sensor_1)로부터 제공된 컨텍스트 데이터(CD1)인 경우, DVFS 레벨은 'f0+2fm'로 정의될 수 있다. 즉, 컨텍스트 데이터(CD1)는 예를 들면, 음성 입력과 같은 상대적으로 높은 속도로 처리해야 하는 데이터일 수 있다. 또는, 컨텍스트 허브(130)에 의해서 검출된 컨텍스트 입력(CI)이 센서(Sensor_3)로부터 제공된 컨텍스트 데이터(CD3)인 경우, 대응하는 DVFS 레벨은 'f0-2fm'로 정의될 수 있다. 즉, 컨텍스트 데이터(CD3)는 상대적으로 저속으로 처리해도 되는 센서로부터 제공되는 것일 수 있다.
컨텍스트 허브(130)에 의해서 검출된 컨텍스트 입력 패턴(CIP)이 복수의 센서들(Sensor_1, Sensor_2)로부터 제공된 컨텍스트 데이터들(CD1+CD2)인 경우, 대응하는 DVFS 레벨은 'f0+3fm'로 정의될 수 있다. 즉, 컨텍스트 데이터들(CD1+CD2)의 조합은 고속으로 처리해야 하는 데이터일 수 있다. 이와 같이 다양한 컨텍스트 입력 패턴(CIP)의 조합들에 대해서 본 발명의 컨텍스트 허브(130)는 최적의 DVFS 레벨에 따라 동작할 수 있다.
도 3b를 참조하면, 컨텍스트 입력 패턴 정보 블록(140)은 센서 유닛(110) 또는 컨텍스트 유닛(120)으로부터 주기적으로 또는 임의의 시간에 제공되는 컨텍스트 데이터의 종류나 조합에 따라 DVFS 레벨이 정의될 수 있다. 더불어, 특정 컨텍스트 입력 패턴(CIP)의 경우, 컨텍스트 허브(130)는 메인 프로세서(160)의 웨이크-업을 트리거(Trigger)할 수 있다.
예를 들면, 컨텍스트 허브(130)에 의해서 검출된 컨텍스트 입력 패턴(CIP)이 센서(Sensor_1)로부터 제공된 컨텍스트 데이터(CD1)인 경우, 대응하는 DVFS 레벨은 'f0+2fm'일 수 있다. 또는, 컨텍스트 허브(130)에 의해서 검출된 컨텍스트 입력(CI)이 센서(Sensor_3)로부터 제공된 컨텍스트 데이터(CD3)인 경우, 대응하는 DVFS 레벨은 'f0'일 수 있다. 즉, 컨텍스트 데이터(CD3)는 상대적으로 저속으로 처리해도 되는 센서로부터 제공되는 것일 수 있다.
특히, 컨텍스트 허브(130)에 의해서 검출된 컨텍스트 입력 패턴(CIP)이 센서(Sensor_1) 및 멀티미디어 모듈로부터 제공된 컨텍스트 데이터들(CD1+CDa)에 해당하는 경우, 컨텍스트 허브(130)는 메인 프로세서(160)를 웨이브-업하도록 제어될 수 있다. 이 밖에도 예시적으로 검출된 컨텍스트 입력 패턴(CIP)이 센서(Sensor_1), 멀티미디어 모듈, 오디오 모듈로부터 제공된 컨텍스트 데이터들(CD1+CDa+CDb)에 해당하는 경우에도, 컨텍스트 허브(130)는 메인 프로세서(160)를 웨이브-업하도록 제어될 수 있다.
이상에서 설명된 컨텍스트 입력 패턴(CIP)들에 대응하는 컨텍스트 허브(130)의 최적의 DVFS 레벨 조정에 따라 메인 프로세서(160)가 슬립 모드시 전자 장치(100)에서 소모되는 전력을 최소화할 수 있다.
도 4는 본 발명의 실시 예에 따른 컨텍스트 허브의 특징을 보여주는 타이밍도이다. 도 4를 참조하면, 컨텍스트 입력 패턴(CIP)에 따라 컨텍스트 허브(130, 도 1 참조)의 클록 신호(CLK)의 주파수가 동적으로 조정될 수 있다. 여기서, 클록 신호(CLK)의 주파수가 DVFS 레벨의 예로 도시되었으나, 구동 전압(VDD)의 레벨도 클록 신호(CLK)의 주파수와 함께 가변될 수 있다. 각 컨텍스트 입력 패턴(CIP)과 대응하는 DVFS 레벨은 앞서 설명된 도 3a의 테이블을 따르는 것으로 가정한다.
T0 시점에서, 컨텍스트 데이터(CD4)가 컨텍스트 허브(130)에 제공된다. 컨텍스트 데이터(CD4)는 상대적으로 저속의 연산 속도로 처리해도 무방한 컨텍스트 입력(CI)일 수 있다. 따라서 컨텍스트 데이터(CD4)가 입력되는 경우, 컨텍스트 허브(130)는 클록 신호(CLK)의 주파수를 'f0-fm'으로 설정할 것이다. 그러면, DVFS 블록(150)으로부터 컨텍스트 허브(130)에 제공되는 클록 신호(CLK)의 주파수는 'f0-fm'로 조정된다. 그리고 클록 신호(CLK)의 주파수 'f0-fm'에 대응하는 레벨의 구동 전압(VDD)이 컨텍스트 허브(130)에 제공될 것이다.
T1 시점에서, 컨텍스트 데이터(CD1)가 컨텍스트 허브(130)에 제공된다. 컨텍스트 데이터(CD1)는 상대적으로 고속의 연산 속도로 처리되어야 하는 컨텍스트 입력(CI)으로 간주될 수 있다. 따라서 컨텍스트 데이터(CD1)가 입력되는 경우, 컨텍스트 허브(130)에 제공되는 클록 신호(CLK)의 주파수는 'f0+2fm'으로 설정될 것이다.
T2 시점에서, 컨텍스트 데이터(CD2)가 컨텍스트 허브(130)에 제공된다. 컨텍스트 데이터(CD2)가 단독으로 입력되는 컨텍스트 입력 패턴(CIP) 에 해당하는 경우, 컨텍스트 허브(130)는 클록 신호(CLK)의 주파수를 'f0+fm'으로 변경할 것이다. 즉, 이전 시점보다 클록 신호(CLK)의 주파수가 감소된 상태로 컨텍스트 허브(130)는 컨텍스트 데이터(CD2)를 처리할 것이다.
T3 시점에서, 컨텍스트 데이터(CD3)가 컨텍스트 허브(130)에 제공된다. 컨텍스트 데이터(CD3)가 단독으로 입력되는 컨텍스트 입력 패턴(CIP)에 해당하는 경우, 컨텍스트 허브(130)는 클록 신호(CLK)의 주파수를 DVFS 레벨들 중에서 가장 낮은 'f0-2fm'으로 변경할 것이다. 즉, 컨텍스트 데이터(CD3)는 신속히 처리할 필요가 없는 속성의 컨텍스트 데이터다. 컨텍스트 허브(130)는 이전 시점보다 클록 신호(CLK)의 주파수가 더 감소된 상태로 컨텍스트 데이터(CD3)를 처리할 것이다.
T4 시점에서, 컨텍스트 데이터들(CD1, CD2, CD4)이 컨텍스트 허브(130)에 제공된다. 복수의 컨텍스트 데이터들(CD1, CD2, CD4)이 조합되어 입력되는 컨텍스트 입력 패턴(CIP) 에 해당하는 경우, 컨텍스트 허브(130)는 클록 신호(CLK)의 주파수를 DVFS 레벨들 중에서 가장 높은 'f0+3fm'으로 변경할 것이다. 즉, 컨텍스트 데이터들(CD1, CD2, CD4)을 신속히 처리하기 위해 컨텍스트 허브(130)는 가장 높은 주파수의 클록 신호(CLK) 그리고/또는 가장 높은 레벨의 구동 전압(VDD)을 생성하도록 DVFS 블록(150)을 제어할 것이다.
T5 시점에서, 컨텍스트 데이터 들(CD3, CD4)이 컨텍스트 입력(CI)으로 컨텍스트 허브(130)에 제공된다. 컨텍스트 데이터들(CD3, CD4)이 조합되어 입력되는 컨텍스트 입력 패턴(CIP)에 해당하는 경우, 컨텍스트 허브(130)는 클록 신호(CLK)의 주파수를 'f0'으로 변경하도록 DVFS 블록(150)을 제어할 것이다. 그리고 컨텍스트 허브(130)는 조정된 주파수 'f0'의 클록 신호(CLK) 그리고/또는 그에 대응하는 레벨의 구동 전압(VDD) 조건에서 컨텍스트 데이터들(CD3, CD4)을 처리할 것이다.
이상에서는 컨텍스트 입력 패턴(CIP)에 따라 가변되는 컨텍스트 허브(130)의 DVFS 레벨을 예시적으로 설명하였다. 가변되는 컨텍스트 허브(130)의 DVFS 레벨의 예로 클록 신호(CLK)의 주파수가 사용되었다. 하지만, 컨텍스트 허브(130)의 DVFS 레벨의 예로 클록 신호(CLK)와 더불어 구동 전압(VDD)의 레벨이 동시에 사용될 수 있음은 잘 이해될 것이다. 컨텍스트 입력 패턴(CIP)에 따라 가변되는 DVFS 레벨에 따라, 전자 장치(100)의 슬립 모드에서 컨텍스트 허브(130)에서 소비되는 전력을 최소화할 수 있다. 더불어, 컨텍스트 허브(130)에서 컨텍스트 데이터를 처리하기 위한 레이턴시가 최소화될 수 있다.
도 5는 본 발명의 실시 예에 따른 컨텍스트 허브를 갖는 모바일 장치를 보여주는 블록도이다. 도 5를 참조하면, 모바일 장치(200)는 시스템-온-칩(201), 센서들(110, 121, 122, 123), 무선 안테나들(125, 126, 127, 128), 그리고 전력 관리 IC(205)를 포함할 수 있다. 시스템-온-칩(201)은 컨텍스트 입력 패턴(CIP)에 따라 DVFS 레벨을 가변할 수 있는 컨텍스트 허브(220)를 포함한다.
센서들(110, 121, 122, 123) 또는 무선 안테나들(125, 126, 127, 128)은 각각 센싱된 신호 또는 수신된 신호를 시스템-온-칩(201)에 제공한다. 센서들(110, 121, 122, 123) 또는 무선 안테나들(125, 126, 127, 128) 각각은 모듈 형태로 또는 칩이나 장치 형태로 구현될 수 있다. 이미지 센서(121)는 사용자의 얼굴이나 사물의 형태와 같은 이미지를 캡쳐하여 시스템-온-칩(201)의 이미지 프로세서(211)에 제공한다. 그러면, 이미지 프로세서(211)는 원 데이터(Raw data) 형태의 이미지 신호를 처리 가능한 형태의 데이터로 변조하여 컨텍스트 허브(220)에 전달할 것이다. 터치 패드(122)는 패드에 터치되는 신호를 센싱하여 시스템-온-칩(201)의 터치 컨트롤러(212)에 제공한다. 마이크(123)는 입력되는 음성 신호를 전기적 신호로 변환하여 시스템-온-칩(201)의 오디오 프로세서(213)에 제공할 수 있다.
센서 유닛(110)은 각각 측정된 센싱 신호를 시스템-온-칩(201)의 컨텍스트 허브(220)에 제공한다. 예를 들면, 가속 센서(111)는 모바일 장치(200)의 가속도를 측정하여 주기적으로 또는 이벤트 발생 시점에 컨텍스트 허브(220)에 전달할 수 있다. 가속 센서(111)는 예를 들면 3개의 축들 각각에 대한 가속도를 측정하여 컨텍스트 허브(220)에 제공할 것이다. 근접 센서(112)는 모바일 장치(200)에 비접촉으로 대상물이 일정 거리 이내로 근접하는지를 검출한다. 근접 센서(112)는 예를 들면, 자기(Magnetic)의 변화를 사용하는 자기 방식, 광센서를 사용하는 방식, 정전 용량의 변화를 검출하는 방식 등이 사용될 수 있다. 습도 센서(113)는 모바일 장치(200)가 위치하는 지점의 습도를 센싱하여 컨텍스트 허브(220)에 제공한다. 습도 센서(113)는 다공성 세라믹이나 고분자 전해질 물질 등을 사용하여 습도에 따라 가변되는 저항이나 용량의 변화를 전기 신호로 센싱하는 방식을 사용할 수 있다. 또는, 습도 센서(113)는 습도에 따라 변화하는 압전체의 공진 주파수 변화를 센싱하는 방식으로 습도를 센싱할 수 있다.
심박수 센서(114)는 심장의 박동수를 카운트하여 컨텍스트 허브(220)에 전달한다. 기압 센서(115)는 대기 압력을 센싱하여 컨텍스트 허브(220)에 전달한다. 자이로미터(116)는 모바일 장치(200)에 장착되어, 모바일 장치(200)의 회전이나 운동시에 변화하는 각속도를 측정한다. 최근에는 MEMS(Micro Electro Mechanical System) 기술을 적용한 칩 형태로 제공될 수 있다. 자기 센서(117)는 모바일 장치(200) 주변의 자기장 또는 자력선의 크기와 방향을 측정한다. 그리고 자기 센서(117)는 자기장이나 자력선의 변화를 전기적 신호로 생성하여 컨텍스트 허브(220)에 제공한다.
무선 안테나들(125, 126, 127, 128)을 사용하는 통신 인터페이스들로는 GNSS 인터페이스(215), WiFi 인터페이스(216), 셀룰러 인터페이스(217), 그리고 NFC 인터페이스(218)를 포함할 수 있다. GNSS 인터페이스(215)는 안테나(115)를 통해서 수신된 글로벌 항법 위성 시스템(Global Navigation Satellite System: GNSS)의 위성 신호를 처리한다. WiFi 인터페이스(216)는 안테나(126)를 통해서 수신되는 무선 신호를 일차적으로 처리하여 컨텍스트 허브(220)로 제공할 것이다. 셀룰러 인터페이스(217)는 셀룰러 안테나(127)를 통해서 수신되는 무선 신호를 처리하여 컨텍스트 허브(220)로 제공할 것이다. 셀룰러 인터페이스(217)를 통해서 채널 상태나 추정에 관련된 정보, 콜 신호, 메시지 수신 신호 등이 제공될 수 있다. 만일, 콜 신호가 셀룰러 인터페이스(217)를 통해서 컨텍스트 허브(220)에 전달되면, 컨텍스트 허브(220)는 사용자의 통화를 위해 메인 프로세서(250)의 웨이크-업을 트리거할 것이다. NFC 인터페이스(218)는 안테나(128)를 통해서 수신되는 다양한 무선 신호를 수신하여 컨텍스트 허브(220)에 전달한다. 여기서, 무선 안테나들(125, 126, 127, 128)은 동일 또는 유사한 대역의 무선 주파수를 사용하는 것들은 머지될 수 있음은 잘 이해될 것이다. 통신 인터페이스들(215, 216, 217, 218)은 여기의 개시에 국한되지 않으며 다양한 무선 통신 인터페이스들이 추가될 수 있음은 잘 이해될 것이다.
컨텍스트 허브(220)는 센서 유닛(110)이나 또는 센서 인터페이스들(211, 212, 213, 215, 216, 217, 218) 각각으로부터 전달되는 컨텍스트 데이터(CD)를 수신한다. 컨텍스트 허브(220)는 컨텍스트 데이터들(CD)의 존재 여부를 주기적으로 모니터링하거나 이벤트 발생시에 수신하도록 구성될 수 있다. 컨텍스트 허브(220)는 입력되는 컨텍스트 데이터(CD)의 종류, 조합, 데이터 사이즈와 같은 패턴에 따라 다양한 DVFS 레벨로 동작할 수 있다. 컨텍스트 허브(220)는 입력되는 컨텍스트 데이터(CD)의 패턴에 최적화된 클록 신호(CLK)의 주파수를 생성하도록 클록 관리 회로(243)를 제어할 수 있다. 또는, 컨텍스트 허브(220)는 입력되는 컨텍스트 데이터(CD)의 패턴에 최적화된 구동 전압(VDD)을 생성하도록 전력 관리 IC(205)를 제어할 수 있다.
컨텍스트 허브(220)는 입력되는 컨텍스트 데이터(CD)의 패턴에 따라 다양한 DVFS 레벨로 동작하기 위해, 컨텍스트 입력 패턴 정보 블록(230)으로부터 정보를 제공받을 수 있다. 컨텍스트 허브(220)는 검출된 컨텍스트 데이터(CD)에 대응하는 DVFS 레벨을 컨텍스트 입력 패턴 정보 블록(230)으로부터 읽어올 수 있다. 그리고 컨텍스트 허브(220)는 컨텍스트 입력 패턴 정보 블록(230)에서 읽어온 DVFS 레벨에 대응하는 주파수의 클록 신호(CLK) 그리고/또는 구동 전압(VDD)의 레벨을 생성하도록 클록 관리 회로(243)를 제어할 수 있다. 클록 관리 회로(243)는 컨텍스트 허브(220)로부터 제공된 DVFS 레벨로 컨텍스트 허브(220)가 동작하기 위한 주파수로 클록 신호(CLK)를 조정한다. 그리고 클록 관리 회로(243)는 컨텍스트 허브(220)로부터 제공된 DVFS 레벨로 컨텍스트 허브(220)가 동작하기 위한 레벨의 구동 전압(VDD)을 생성하도록 전력 관리 IC(205)를 제어할 것이다. 클록 관리 회로(243)는 소스 클록 신호를 내부 클록 소스 회로(241)로부터 제공받을 수 있다. 하지만, 클록 관리 회로(243)는 시스템-온-칩(201)의 외부에 위치하는 클록 소스 회로(미도시)로부터 소스 클록 신호를 제공받을 수 있음은 잘 이해될 것이다.
적은 연산량이 요구되는 컨텍스트 데이터(CD)가 제공되면, 컨텍스트 허브(220)는 낮은 주파수의 클록 신호(CLK) 그리고/또는 낮은 레벨의 구동 전압(VDD)을 생성하도록 클록 관리 회로(243)나 전력 관리 IC(205)를 제어할 수 있다. 컨텍스트 허브(220)는 메인 프로세서(250)가 슬립 모드 상태에 있는 경우, 센서 유닛(110)이나 또는 센서 인터페이스들(211, 212, 213, 215, 216, 217, 218)로부터 입력되는 컨텍스트 데이터(CD)의 패턴에 최적화된 DVFS 레벨로 동작할 수 있다. 따라서, 적은 연산량이 요구되는 컨텍스트 입력에 대해서는 낮은 레벨의 DVFS 레벨로 동작 가능하기 때문에, 모바일 장치(200)가 슬립 모드로 유지되는 대기 시간 동안 컨텍스트 허브(220)가 소모하는 전력을 최소화할 수 있다. 더불어, 조정되는 주파수의 클록 신호(CLK)를 사용하기 때문에, 컨텍스트 허브(220)에서 컨텍스트 데이터를 처리하는데 소요되는 레이턴시가 최소화될 수 있다.
컨텍스트 입력 패턴 정보 블록(230)은 컨텍스트 허브(220)에 입력되는 컨텍스트 데이터(CD)의 패턴에 대한 DVFS 레벨을 정의한다. 컨텍스트 입력 패턴 정보 블록(230)에는 컨텍스트 데이터의 패턴들 각각에 대해 최적화된 클록 신호(CLK)의 주파수나 구동 전압(VDD)의 레벨이 테이블 형태로 관리될 수 있다. 컨텍스트 입력 패턴 정보 블록(230)에 저장된 컨텍스트 데이터에 대응하는 DVFS 레벨은 시뮬레이션이나 다양한 테스트를 통해서 도출된 값으로 제공될 수 있을 것이다.
메인 프로세서(250)는 모바일 장치(200)를 제어하는 프로세서일 수 있다. 모바일 장치(200)의 적어도 하나의 다른 구성요소들의 제어 그리고/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다. 메인 프로세서(250)는 사용자가 특정 애플리케이션 프로그램을 구동하거나, 모바일 장치(200)를 방치하는 경우에는 슬립 모드로 동작할 수 있다. 하지만, 컨텍스트 허브(220)에 의해서 트리거(Trigger)되면, 메인 프로세서(250)는 슬립 모드로부터 액티브 모드로 웨이크-업(Wake-up)된다. 이후 메인 프로세서(250)는 컨텍스트 허브(220)에서 덤핑되는 컨텍스트 데이터를 처리하기 위해 특정 센서나 또는 센서 인터페이스에 직접 연결될 수 있다. 본 발명에서는 메인 프로세서(250)는 기본적으로 슬립 모드 상태인 것을 가정하기로 한다.
이상에서는 본 발명의 모바일 장치(200)의 구성 및 특징이 간략히 설명되었다. 모바일 장치(200)는 센서들로부터 제공되는 컨텍스트 데이터의 컨텍스트 입력 패턴(CIP)에 따라 DVFS 레벨을 가변하는 컨텍스트 허브(220)를 포함한다. 컨텍스트 입력 패턴(CIP)에 따른 컨텍스트 허브(220)의 구동 전압(VDD)이나 클록 신호(CLK)의 주파수 조정을 통해서 모바일 장치(200)의 슬립 모드시 센서들에 의한 주변 모니터링에 소모되는 전력을 획기적으로 줄일 수 있다. 더불어, 조정되는 주파수의 클록 신호(CLK)를 사용하기 때문에, 컨텍스트 허브(220)에서 컨텍스트 데이터를 처리하는데 소요되는 레이턴시가 최소화될 수 있다.
도 6은 도 5에 도시된 컨텍스트 허브의 동작을 간략히 보여주는 순서도이다. 도 6을 참조하면, 컨텍스트 허브(220)는 복수의 센서들 중 적어도 하나로부터 제공되는 컨텍스트 데이터의 컨텍스트 입력 패턴(CIP)에 따라 DVFS 레벨을 제어할 수 있다.
S210 단계에서, 컨텍스트 허브(220)는 센서들(111, 112, 113, 114, 115, 116, 117)이나, 센서 인터페이스들(211, 212, 213, 215, 216, 217, 218)로부터 제공되는 컨텍스트 입력(CI)이 존재하는지 검출한다. 예를 들면, 컨텍스트 허브(220)는 센서들(111, 112, 113, 114, 115, 116, 117)이나, 센서 인터페이스들(211, 212, 213, 215, 216, 217, 218)의 센서 입력의 존재 여부를 주기적으로 체크할 수 있다.
S220 단계에서, 컨텍스트 허브(220)는 컨텍스트 입력(CI)의 검출 여부에 따라 동작 분기를 수행한다. 만일, 컨텍스트 입력(CI)이 존재하는 경우(Yes 방향), 절차는 S230 단계로 이동한다. 반면, 컨텍스트 입력(CI)이 검출되지 않은 경우(No 방향), 절차는 컨텍스트 입력(CI)의 존재 여부를 지속적으로 모니터링하기 위해 S210 단계로 이동한다.
S230 단계에서, 컨텍스트 허브(220)는 검출된 컨텍스트 입력(CI)의 컨텍스트 입력 패턴(CIP)을 결정한다. 컨텍스트 입력 패턴(CIP)을 결정하기 위해 컨텍스트 허브(220)는 컨텍스트 입력(CI)이 존재하는 센서들의 종류를 판단할 수 있다. 더불어, 컨텍스트 허브(220)는 검출 시점에 검출된 컨텍스트 입력(CI)이 복수인 경우, 어느 센서로부터 각각 제공된 컨텍스트 입력(CI)들인지 체크할 수 있다. 이러한 연산 과정을 종합하여 컨텍스트 허브(220)는 컨텍스트 입력 패턴(CIP)을 판단한다.
S240 단계에서, 컨텍스트 허브(220)는 결정된 컨텍스트 입력 패턴(CIP)에 대응하는 DVFS 레벨을 결정한다. 컨텍스트 허브(220)는 컨텍스트 입력 패턴(CIP)에 대응하는 DVFS 레벨을 결정하기 위해 컨텍스트 입력 패턴 정보 블록(230)에 저장된 정보를 참조한다. 컨텍스트 입력 패턴 정보 블록(230)에는 다양한 컨텍스트 입력 패턴(CIP) 별로 최적화된 DVFS 레벨이 저장되어 있다.
S250 단계에서, 컨텍스트 허브(220)는 컨텍스트 입력 패턴(CIP)이 메인 프로세서(250)의 웨이크-업(Wake-up)이 필요한 데이터인지 판단한다. 만일, 컨텍스트 입력 패턴(CIP)이 메인 프로세서(250)에서 처리해야 하는 데이터가 아닌 경우(No 방향), 절차는 S260 단계로 이동한다. 반면, 컨텍스트 입력 패턴(CIP)이 메인 프로세서(250)에서 처리해야 하는 데이터인 경우(Yes 방향), 절차는 S270 단계로 이동한다.
S260 단계에서, 컨텍스트 허브(220)는 컨텍스트 입력 패턴(CIP)에 대응하는 DVFS 레벨로 컨텍스트 허브(220)에 제공되는 클록 신호(CLK)의 주파수나 구동 전압(VDD)의 레벨을 설정할 것이다. 즉, 컨텍스트 허브(220)는 결정된 DVFS 레벨에 대응하는 클록 신호(CLK)와 구동 전압(VDD)을 생성하도록 클록 관리 회로(243)나 전력 관리 IC(205)를 설정할 것이다.
S270 단계에서, 컨텍스트 허브(220)는 컨텍스트 입력 패턴(CIP)에 대응하는 센서 입력을 처리하기 위해 메인 프로세서(250)를 웨이크-업(Wake-up)할 것이다. 이때, 컨텍스트 허브(220)는 센서로부터 제공받은 컨텍스트 입력(CI) 또는 컨텍스트 입력(CI)을 일차적으로 처리한 데이터를 메인 프로세서(250)의 워킹 메모리로 덤프(Dump)할 수 있다.
이상에서는 본 발명의 컨텍스트 허브(220)의 컨텍스트 입력 패턴(CIP)에 따른 DVFS 레벨을 결정하는 방법이 간략히 설명되었다. 본 발명의 컨텍스트 허브(220)의 컨텍스트 입력 패턴(CIP)에 따른 DVFS 레벨 조정에 따라, 모바일 장치(200)의 슬립 모드시 센서들의 동작 및 관리에 소모되는 전력을 줄일 수 있다. 또한, 컨텍스트 입력(CI)의 처리에 소요되는 컨텍스트 허브(220)에서 발생하는 레이턴시(Latency)가 최소화될 수 있다.
도 7은 도 5의 컨텍스트 입력 패턴 정보 블록에 의해서 정의되는 센서 입력 패턴에 대응하는 DVFS 레벨을 예시적으로 보여주는 테이블이다. 도 7을 참조하면, 컨텍스트 입력 패턴 정보 블록(230)은 컨텍스트 입력 패턴(CIP)에 따른 DVFS 레벨이나 메인 프로세서(250)의 웨이크-업을 여부를 정의할 수 있다.
컨텍스트 입력 패턴 정보 블록(230)의 테이블에는 센서들(110, 111, 112, 113)이나, 센서 인터페이스들(211, 212, 213, 215, 216, 217, 218)로부터 제공되는 컨텍스트 입력 패턴(CIP)에 따른 DVFS 레벨이 정의되어 있다. 더불어, 특정 컨텍스트 입력 패턴(CIP)의 경우, 컨텍스트 허브(220)가 메인 프로세서(250)의 웨이크-업을 트리거할 수 있도록 테이블 값들이 맵핑되어 있다.
예를 들면, 이미지 센서(121) 또는 이미지 프로세서(211)로부터 컨텍스트 데이터(Image)가 제공된 것으로 컨텍스트 입력 패턴(CIP)이 식별되면, 대응하는 DVFS 레벨은 'f0+2fm'일 수 있다. 즉, 이미지 센서(121) 또는 이미지 프로세서(211)로부터 이미지 데이터(Image)가 컨텍스트 허브(220)에 전달되면, 컨텍스트 허브(220)는 주파수(f0+2fm)의 클록 신호(CLK)와 그리고/또는 그에 대응하는 레벨의 구동 전압(VDD)으로 동작해야 함을 나타낸다.
만일, GNSS 인터페이스(215)로부터 컨텍스트 데이터(GNSS)가 제공된 것으로 컨텍스트 입력 패턴(CIP)이 식별되면, 대응하는 DVFS 레벨은 'f0'이다. 즉, GNSS 인터페이스(215)로부터 컨텍스트 데이터(GNSS)가 컨텍스트 허브(220)에 전달되면, 컨텍스트 허브(220)는 주파수(f0)의 클록 신호(CLK)와 그리고/또는 그에 대응하는 레벨의 구동 전압(VDD)으로 동작해야 함을 알 수 있다.
더불어, 셀룰러 인터페이스(217)로부터 컨텍스트 데이터(Cellular)가 제공된 것으로 컨텍스트 입력 패턴(CIP)이 식별되면, 컨텍스트 허브(220)는 메인 프로세서(250)의 웨이브-업을 트리거(Trigger)하도록 제어될 수 있다. 또한, 이미지 프로세서(215)와 오디오 프로세서(213)로부터 컨텍스트 데이터(Image + Audio)가 제공된 것으로 컨텍스트 입력 패턴(CIP)이 식별되면, 컨텍스트 허브(220)는 메인 프로세서(250)의 웨이브-업을 트리거하도록 제어될 수 있다.
이상에서는 몇몇 컨텍스트 입력 패턴(CIP)에 대응하는 DVFS 레벨에 대해서만 설명되었다. 하지만, 발생 가능한 모든 컨텍스트 입력 패턴(CIP)에 대응하는 DVFS 레벨이 정의될 수 있을 것이다. 또는, 빈번하게 발생하거나 중요한 컨텍스트 입력 패턴(CIP)에 대응하는 DVFS 레벨만을 정의하고 나머지 컨텍스트 입력 패턴(CIP)에 대해서는 디폴트값의 DVFS 레벨을 할당할 수도 있을 것이다.
이상에서 설명된 바와 같이, 다양한 컨텍스트 입력 패턴(CIP)에 대한 컨텍스트 허브(220)의 최적의 DVFS 레벨 설정에 따라 메인 프로세서(250)가 슬립 모드시 모바일 장치(200)가 소모하는 전력을 줄일 수 있다. 또한, 컨텍스트 입력(CI)의 처리를 위해 컨텍스트 허브(220)에서 발생하는 레이턴시가 최소화될 수 있다.
도 8은 본 발명의 다른 실시 예에 따른 전자 장치를 보여주는 블록도이다. 도 8을 참조하면, 전자 장치(300)는 센서 유닛(310), 컨텍스트 유닛(320), 컨텍스트 허브(330), 컨텍스트 입력 패턴 정보 블록(340), DVFS 블록(350), 메인 프로세서(360), 그리고 신경망 처리 유닛(Neural Processing Unit: 이하, NPU)(370)를 포함한다.
센서 유닛(310)은 복수의 센서들(Sensor_1~Sensor_n)을 포함한다. 복수의 센서들(Sensor_1~Sensor_n) 각각은 다양한 물리나 화학적 변화를 감지하여 전기적인 신호로 변환할 수 있다. 센서 유닛(310)은 하나 또는 둘 이상의 모듈로 구성될 수도 있다. 센서 유닛(310)은 도 1의 그것과 구성이나 기능면에서 실질적으로 동일하므로 이것에 대한 설명은 생략하기로 한다.
컨텍스트 유닛(320)은 전자 장치(300)에 구비된 다양한 유무선 입력이나 음성 입출력 등을 모니터링하거나 처리하기 위한 멀티미디어 모듈, 오디오 모듈, 네트워크 모듈, 그리고 GNSS 모듈을 포함할 수 있다. 멀티미디어 모듈, 오디오 모듈, 네트워크 모듈, 그리고 GNSS 모듈들은 각각 컨텍스트 데이터들(CDa, CDb, CDc, CDd)을 생성하여 컨텍스트 허브(330)로 제공할 수 있을 것이다. 컨텍스트 유닛(320)은 도 1의 그것과 구성이나 기능면에서 실질적으로 동일하므로 이것에 대한 설명은 생략하기로 한다.
컨텍스트 허브(330)는 센서 유닛(310)에 포함되는 복수의 센서들(Sensor_1~Sensor_n)이 제공하는 컨텍스트 데이터(CD1~CDn)를 처리한다. 컨텍스트 허브(330)는 컨텍스트 유닛(320)이 출력하는 컨텍스트 데이터(CDa~CDd)를 처리할 수 있다. 컨텍스트 허브(330)는 컨텍스트 데이터(CD1~CDn, CDa~CDd)를 주기적으로 또는 비주기적으로 수신할 수 있다. 본 발명의 컨텍스트 허브(330)는 입력되는 컨텍스트 데이터(CD1~CDn, CDa~CDd)의 종류나 조합, 속성에 따라 다양한 레벨의 DVFS(Dynamic Voltage Frequency Scaling) 모드로 동작할 수 있다. 즉, 컨텍스트 허브(330)는 입력되는 컨텍스트 데이터(CD1~CDn, CDa~CDd)의 패턴에 따라 클록 신호(CLK)의 주파수나 구동 전압(VDD)의 레벨을 선택할 수 있다. 여기서, 컨텍스트 허브(330)는 현재 입력되는 컨텍스트 데이터(CD1~CDn, CDa~CDd)의 패턴을 식별하여 컨텍스트 입력 패턴 정보 블록(340)에 저장된 정보와 비교한다. 비교 결과에 따라 컨텍스트 허브(330)는 DVFS 블록(350)을 제어하여 클록 신호(CLK)의 주파수나 구동 전압(VDD)의 레벨을 제어할 수 있다.
적은 연산량을 요구하는 컨텍스트 데이터가 제공되면, 컨텍스트 허브(330)는 낮은 주파수의 클록 신호(CLK) 또는 낮은 레벨의 구동 전압(VDD)으로 구동되도록 제어될 수 있다. 컨텍스트 허브(330)는 메인 프로세서(360)가 슬립 모드에 있는 경우에 저전력으로 센서 모듈(310)로부터의 컨텍스트 데이터를 처리할 수 있다.
컨텍스트 입력 패턴 정보 블록(340)은 컨텍스트 허브(330)에 입력되는 컨텍스트 데이터(CD1~CDn, CDa~CDd)의 패턴들 각각에 대한 DVFS 레벨을 정의한다. 컨텍스트 입력 패턴 정보 블록(340)은 컨텍스트 데이터(CD1~CDn, CDa~CDd)의 패턴들 각각에 대해 최적화된 클록 신호(CLK)의 주파수나 구동 전압(VDD)의 레벨을 컨텍스트 허브(330)에 제공한다. 특히, 컨텍스트 입력 패턴 정보 블록(340)에 저장된 컨텍스트 데이터(CD1~CDn, CDa~CDd)의 패턴들에 대한 최적화된 DVFS 레벨은 디폴트 값으로 제공된 이후에 NPU(370)에 의해서 업데이트될 수 있다.
DVFS 블록(350)은 컨텍스트 허브(330)를 구동하기 위한 구동 전압(VDD) 및 클록 신호(CLK)를 생성할 수 있다. 예를 들면, DVFS 블록(350)은 컨텍스트 허브(330)에 제공될 구동 전압(VDD)을 생성하는 전원 회로나 클록 생성 회로들을 포함할 수 있다. DVFS 블록(350)은 컨텍스트 허브(330)의 제어에 따라 클록 신호(CLK)의 주파수나 구동 전압(VDD)의 레벨을 조정할 수 있다. DVFS 블록(350)은 컨텍스트 허브(330)에 입력되는 컨텍스트 데이터(CD1~CDn, CDa~CDd)의 패턴에 따라 생성하는 제어 신호(CTRL)에 응답하여 컨텍스트 허브(330)에 제공되는 클록 신호(CLK)의 주파수나 구동 전압(VDD)의 레벨을 조정할 수 있다.
메인 프로세서(360)는 액티브 모드 및 슬립 모드로 동작할 수 있다. 예를 들면, 메인 프로세서(360)는 슬립 모드 시에는 전자 장치(300)를 제어하거나 애플리케이션 프로그램을 수행하기 위한 제반 동작을 중지한 상태로 유지된다. 반면, 컨텍스트 허브(330)에 의해서 트리거(Trigger)되면, 메인 프로세서(360)는 슬립 모드로부터 액티브 모드로 웨이크-업(Wake-up)된다. 이후 메인 프로세서(360)는 컨텍스트 허브(330)에서 덤핑되는 컨텍스트 데이터를 처리하기 위한 연산을 수행할 것이다. 본 발명에서는 메인 프로세서(360)는 기본적으로 슬립 모드 상태인 것을 가정하기로 한다.
NPU(370)는 전자 장치(300)에서 수행되는 머신 러닝(Machine Learning) 기능을 수행한다. 일반적으로 머신 러닝 알고리즘을 메인 프로세서(360)에서 수행하는 경우, 속도나 전력 효율 면에서 취약한 것으로 알려져 있다. 반면, 머신 러닝에 특화된 NPU(370)를 사용하는 경우 다양한 입력 데이터에 대한 학습을 효율적으로 처리할 수 있다. 특히, 본 발명의 NPU(370)는 컨텍스트 데이터(CD1~CDn)의 패턴에 대한 최적 DVFS 레벨을 학습한다. 그리고 NPU(370)는 학습된 컨텍스트 데이터(CD1~CDn, CDa~CDd)의 패턴에 대응하는 최적 DVFS 레벨로 컨텍스트 입력 패턴 정보 블록(340)을 업데이트할 수 있다. NPU(370)는 머신 러닝을 사용하여 학습된 결과의 스코어가 디폴트 값으로 저장된 초기 파라미터의 스코어보다 낮은 경우에는 컨텍스트 입력 패턴 정보 블록(340)의 업데이트를 스킵할 수도 있다.
여기서, NPU(370)가 하드웨어로 제공되는 것으로 설명하였으나, NPU(370)는 메인 프로세서(360)에서 구동되는 신경망 프로세서 엔진(Neural Processing Engine; NPE)으로도 구현될 수 있음은 잘 이해될 것이다. 더불어, NPU(370)의 기능은 전자 장치(300)의 외부(예를 들면, 서버)의 장치에서 수행할 수도 있을 것이다.
이상에서는 본 발명의 전자 장치(300)의 구성 및 특징이 간략히 설명되었다. 전자 장치(300)는 센서 유닛(310)이나 컨텍스트 유닛(320)으로부터 제공되는 컨텍스트 데이터(CD1~CDn, CDa~CDd)의 패턴에 따라 클록 신호(CLK)의 주파수나 구동 전압(VDD)의 레벨이 조정되는 컨텍스트 허브(330)를 포함한다. 더불어, 컨텍스트 데이터(CD1~CDn, CDa~CDd)의 패턴에 따른 최적의 DVFS 레벨은 최초 입력값으로부터 머신 러닝에 의해서 학습된 값으로 업데이트될 수 있다. 따라서, 전자 장치(300)는 사용자 환경에 따라 컨텍스트 데이터(CD1~CDn, CDa~CDd)의 패턴에 따른 최적의 DVFS 레벨을 동적으로 변경할 수 있다.
도 9는 도 8의 컨텍스트 허브의 동작을 간략히 보여주는 순서도이다. 도 9를 참조하면, 컨텍스트 허브(330)는 센서 유닛(310)이나 컨텍스트 유닛(320)으로부터 제공되는 컨텍스트 입력 패턴(CIP)에 대응하는 DVFS 레벨을 머신 러닝(Machine Learning)을 통해 학습할 수 있다. 따라서, 사용 환경의 변화에 최적화된 컨텍스트 입력 패턴(CIP)에 대응하는 DVFS 레벨로 조정될 수 있어, 다양한 환경에 최적화된 컨텍스트 허브(330)의 전력 효율을 보장할 수 있다.
S310 단계에서, 컨텍스트 허브(330)는 센서 유닛(310) 또는 컨텍스트 유닛(320)으로부터 컨텍스트 입력(CI)이 존재하는지 모니터링한다. 예를 들면, 컨텍스트 허브(330)는 주기적으로 센서 유닛(310) 또는 컨텍스트 유닛(320)으로부터 전달되는 신호를 모니터링할 수 있을 것이다.
S320 단계에서, 컨텍스트 허브(330)로 입력되는 컨텍스트 입력(CI)이 존재하는 경우(Yes 방향), 절차는 S330 단계로 이동한다. 반면, 컨텍스트 입력(CI)이 존재하지 않는 경우(No 방향), 절차는 컨텍스트 입력(CI)을 검출하기 위하여 S310 단계로 복귀한다.
S330 단계에서, 컨텍스트 허브(330)는 검출된 컨텍스트 입력(CI)의 컨텍스트 입력 패턴(CIP)을 결정한다. 컨텍스트 입력 패턴(CIP)을 결정하기 위해 컨텍스트 허브(330)는 컨텍스트 입력(CI)에 대응하는 센서들의 종류를 판단한다. 더불어, 컨텍스트 허브(330)는 검출 시점에 검출된 컨텍스트 입력(CI)이 복수인 경우, 컨텍스트 입력(CI)들 각각이 어느 센서 또는 인터페이스로부터 전달되었는지 체크한다. 이러한 연산 과정을 통해서 컨텍스트 허브(330)는 컨텍스트 입력 패턴(CIP)을 판단한다.
S340 단계에서, 컨텍스트 허브(330)는 결정된 컨텍스트 입력 패턴(CIP)에 따라 DVFS 레벨을 결정한다. 즉, 컨텍스트 허브(330)는 컨텍스트 입력 패턴(CIP)을 식별하여 컨텍스트 입력 패턴 정보 블록(340)에 저장된 DVFS 레벨을 검색한다. 컨텍스트 허브(330)는 컨텍스트 입력 패턴(CIP)에 대응하는 DVFS 레벨을 결정하기 위해 컨텍스트 입력 패턴 정보 블록(340)에 저장된 정보를 참조한다. 컨텍스트 입력 패턴 정보 블록(340)에는 컨텍스트 입력 패턴(CIP)별로 최적화된 DVFS 레벨이 저장되어 있다.
S350 단계에서, 컨텍스트 허브(330)는 결정된 DVFS 레벨로 DVFS 블록(350)을 설정할 것이다. 그러면, DVFS 블록(350)은 설정된 주파수의 클록 신호(CLK) 그리고/또는 설정된 레벨의 구동 전압(VDD)을 생성하여 컨텍스트 허브(330)에 제공할 것이다.
S360 단계에서, 컨텍스트 입력 패턴(CIP)과 대응하는 DVFS 레벨에 대한 머신 러닝(Machine Learning)을 수행한다. 컨텍스트 입력 패턴(CIP)을 입력으로 하는 머신 러닝은 NPU(370)에서 수행될 수 있다.
S370 단계에서, NPU(370)는 머신 러닝이 완료되었는지를 판단한다. 예를 들면, NPU(370)는 전자 장치(300)의 사용자에 대한 컨텍스트 입력 패턴(CIP)의 충분한 샘플링 여부 및 샘플링된 데이터를 사용한 학습이 충분히 되었는지 판단할 수 있다. 머신 러닝이 완료된 것으로 판단되면(Yes 방향), 절차는 S380 단계로 이동한다. 반면, 컨텍스트 입력 패턴(CIP)의 축적이나 머신 러닝의 횟수가 부족한 것으로 판단되면(Yes 방향), 절차는 종료될 것이다.
S380 단계에서, NPU(370)는 컨텍스트 입력 패턴 정보 블록(340)에 저장된 데이터를 머신 러닝을 통해서 결정된 값으로 업데이트할 것이다.
이상에서는 본 발명의 컨텍스트 허브(330)에 입력되는 컨텍스트 입력 패턴(CIP)에 대한 머신 러닝을 적용하는 실시 예가 설명되었다. 머신 러닝을 적용하여 환경 변화에 적응적으로 동작할 수 있는 컨텍스트 허브(330)를 구현할 수 있다.
도 10은 도 8의 컨텍스트 허브의 동작의 다른 예를 간략히 보여주는 순서도이다. 도 10을 참조하면, 컨텍스트 허브(330)는 센서 유닛(310)으로부터 제공되는 컨텍스트 입력 패턴(CIP)에 대응하는 DVFS 레벨을 머신 러닝(Machine Learning)을 통해 학습할 수 있다. 다만, 머신 러닝을 위해 NPU(370)가 활성화되는 시점은 메인 프로세서(360)가 웨이크-업되는 시점과 동기된다. 여기서, S410 단계 내지 S440 단계는 도 9의 S310 단계 내지 S340 단계와 실질적으로 동일하므로, 이들 단계에 대한 설명은 생략하기로 한다.
S410 단계 내지 S440 단계를 통해서 컨텍스트 허브(330)는 컨텍스트 입력 패턴(CIP)에 대응하는 DVFS 레벨을 결정할 것이다.
S450 단계에서, 컨텍스트 허브(330)는 컨텍스트 입력 패턴(CIP)이 메인 프로세서(360)의 웨이크-업(Wake-up)이 필요한 데이터인지 판단한다. 만일, 컨텍스트 입력 패턴(CIP)이 메인 프로세서(360)에서 처리해야 하는 데이터가 아닌 경우(No 방향), 절차는 S460 단계로 이동한다. 반면, 컨텍스트 입력 패턴(CIP)이 메인 프로세서(360)에서 처리해야 하는 데이터인 경우(Yes 방향), 절차는 S470 단계로 이동한다.
S460 단계에서, 컨텍스트 허브(330)는 컨텍스트 입력 패턴(CIP)에 대응하는 DVFS 레벨로 컨텍스트 허브(330)에 제공되는 클록 신호(CLK)의 주파수나 구동 전압(VDD)의 레벨을 설정할 것이다. 즉, 컨텍스트 허브(330)는 결정된 DVFS 레벨에 대응하는 클록 신호(CLK)와 구동 전압(VDD)을 생성하도록 DVFS 블록(350)을 설정할 것이다.
S470 단계에서, 컨텍스트 허브(330)는 컨텍스트 입력 패턴(CIP)에 대응하는 센서 입력을 처리하기 위해 메인 프로세서(360)의 웨이크-업(Wake-up)을 트리거할 것이다. 이때, 컨텍스트 허브(330)는 센서로부터 제공받은 센서 입력 또는 센서 입력을 일차적으로 처리한 컨텍스트 데이터를 메인 프로세서(360)의 워킹 메모리로 덤프할 수 있다.
S472 단계에서, NPU(370)는 컨텍스트 입력 패턴(CIP)과 대응하는 DVFS 레벨에 대한 머신 러닝을 수행한다. 머신 러닝의 기법으로는 다양한 딥러닝 방식이 적용될 수 있다. 더불어, NPU(370)는 신경망(Neural Network) 알고리즘, 결정 트리(Decision Tree), 컨볼루션 신경망(CNN), 서포트 벡터 머신(SVM), K-최근접 알고리즘(K-NN), 강화 학습과 같은 다양한 머신 러닝 기법을 사용하여 컨텍스트 입력 패턴(CIP)과 대응하는 DVFS 레벨을 학습할 수 있을 것이다.
S474 단계에서, NPU(370)는 머신 러닝의 결과를 이용하여 컨텍스트 입력 패턴 정보 블록(340)에 저장된 데이터를 학습된 데이터로 업데이트할지를 판단한다. 예를 들면, NPU(370)는 머신 러닝의 결과로 도출되는 스코어 값을 참조하여 학습에 의해서 변경된 컨텍스트 입력 패턴(CIP)과 대응하는 DVFS 레벨로 컨텍스트 입력 패턴 정보 블록(340)을 업데이트할지 판단할 수 있다. 만일, 컨텍스트 입력 패턴 정보 블록(340)의 업데이트가 불필요한 것으로 판단되면(No 방향), 제반 절차는 종료된다. 반면, 컨텍스트 입력 패턴 정보 블록(340)의 업데이트가 필요한 것으로 판단되면(Yes 방향), 절차는 S476 단계로 이동한다.
S476 단계에서, NPU(370)는 컨텍스트 입력 패턴 정보 블록(340)에 저장된 데이터를 머신 러닝을 통해서 새롭게 결정된 값으로 업데이트할 것이다.
이상에서는 본 발명의 컨텍스트 허브(330)에 입력되는 컨텍스트 입력 패턴(CIP)에 대한 머신 러닝을 적용하는 실시 예가 설명되었다. 머신 러닝을 적용하여 동작 환경 변화에 적응 가능한 컨텍스트 허브(330)를 구현할 수 있다.
도 11은 본 발명의 신경망 처리 유닛(NPU)의 동작을 예시적으로 보여주는 도면이다. 도 11을 참조하면, NPU(370, 도 8 참조)는 다양한 방식의 머신 러닝 기법에 따라 동작 가능하지만, 컨볼루션 신경망 알고리즘을 사용하여 머신 러닝을 수행할 수 있다. 예를 들면, NPU(370)는 입력되는 센서 입력 패턴들(S1~Sn)과 그에 대응하는 복수의 DVFS 레벨들(L1~Lm) 간의 연결 관계를 정의하기 위한 복수의 레이어들(Ai, Bj, Ck)을 포함하는 컨볼루션 신경망(CNN) 연산을 처리할 수 있다.
NPU(370)는 입력 피쳐(Feature)에 대응하는 센서 입력 패턴들(S1~Sn)이 제공되면, 제 1 가중치(W1)로 노드들(A1, A2, …, Ai, i는 자연수)에 연결된다. 그리고 컨볼루션 레이어를 구성하는 노드들(A1, A2, …, Ai)은 후속하는 컨볼루션 레이어를 구성하는 노드들(B1, B2, …, Bj, j는 자연수)와 학습 파라미터에 대응하는 제 2 가중치(W2)의 연결 강도로 연결된다. 컨볼루션 레이어를 구성하는 노드들(B1, B2, …, Bj)은 후속하는 컨볼루션 레이어를 구성하는 노드들(C1, C2, …, Ck, k은 자연수)과 제 3 가중치(W3)의 학습 파라미터로 연결된다. 더불어, 노드들(C1, C2, …, Ck)은 DVFS 레벨에 대응하는 노드들(L1, L2, …, Lm)과 풀리 커넥티드 레이어를 구성할 수 있다. 풀리 커넥티드 레이어는 제 4 가중치(W4)의 학습 파라미터를 갖는다.
NPU(370)는 센서 입력 패턴들(S1~Sn) 및 그에 대응하는 DVFS 레벨(L1~Lm) 사이의 학습 파라미터들을 업데이트하기 위한 컨볼루션 연산을 수행할 수 있다. 하지만, NPU(370)에서 수행되는 머신 러닝의 방식이 상술한 컨볼루션 신경망 방식에만 국한되지 않음은 잘 이해될 것이다.
도 12는 본 발명의 다른 실시 예에 따른 컨텍스트 허브를 갖는 모바일 장치를 보여주는 블록도이다. 도 12를 참조하면, 모바일 장치(400)는 시스템-온-칩(401), 센서들(110, 121, 122, 123)과 무선 안테나들(125, 126, 127, 128), 그리고 전력 관리 IC(405)를 포함할 수 있다. 시스템-온-칩(401)은 컨텍스트 입력 패턴(CIP)에 따라 DVFS 레벨을 가변할 수 있는 컨텍스트 허브(420)와 컨텍스트 입력 패턴(CIP)에 대한 머신 러닝을 수행하는 NPU(460)를 포함한다.
여기서, 센서들(110, 121, 122, 123)과 무선 안테나들(125, 126, 127, 128), 그리고 전력 관리 IC(405)는 도 5의 그것들과 실질적으로 동일하므로, 이것들에 대한 설명은 생략하기로 한다. 더불어, 시스템-온-칩(401)에 포함되는 센서 인터페이스들(411, 412, 413, 415, 416, 217, 218)과 메인 프로세서(450), 내부 클록 소스(441), 클록 관리 회로(443)도 도 5의 그것들과 실질적으로 동일하다.
반면, 시스템-온-칩(401)은 컨텍스트 허브(420)에 입력되는 컨텍스트 입력 패턴(CIP)에 대한 머신 러닝을 수행하는 NPU(460)를 포함한다. 특히, 본 발명의 NPU(460)는 컨텍스트 허브(420)에 입력되는 컨텍스트 입력 패턴(CIP)에 대한 최적 DVFS 레벨을 학습한다. NPU(460)는 학습된 컨텍스트 입력 패턴(CIP)에 대응하는 최적 DVFS 레벨로 컨텍스트 입력 패턴 정보 블록(430)을 업데이트할 수 있다. NPU(460)는 머신 러닝을 사용하여 학습된 결과의 스코어가 이전에 저장된 파라미터의 스코어보다 낮은 경우에는 컨텍스트 입력 패턴 정보 블록(430)의 업데이트를 스킵할 수도 있다.
여기서, NPU(460)가 하드웨어로 제공되는 것으로 설명하였으나, NPU(460)는 메인 프로세서(450)에서 구동되는 신경망 프로세서 엔진(Neural Processing Engine: NPE)으로도 구현될 수 있음은 잘 이해될 것이다. 더불어, NPU(460)가 수행하는 머신 러닝의 기능은 모바일 장치(400)의 외부(예를 들면, 서버)의 장치에서 수행할 수도 있을 것이다.
상술한 본 발명의 모바일 장치(400)의 구성 및 특징에 따르면, 모일 장치(400)는 센서들로부터 제공되는 컨텍스트 데이터의 패턴(즉, SIP)에 따라 DVFS 레벨을 가변하는 컨텍스트 허브(420)를 포함한다. 그리고 NPU(460)를 통해서 컨텍스트 데이터의 입력 패턴(즉, CIP)에 따른 DVFS 레벨을 머신 러닝을 통해서 학습하고 최적화할 수 있다. 따라서, 모바일 장치(400)의 구동 환경의 변화나 사용자 변화에 대해 적응적인 컨텍스트 허브(420)의 DVFS 레벨 조정이 가능하다. 결국, 컨텍스트 허브(420)의 동작에 따라 모바일 장치(400)의 슬립 모드시 센서들에 의한 모니터링에 소모되는 전력을 획기적으로 줄일 수 있다. 또한, 컨텍스트 입력(CI)의 처리를 위해 컨텍스트 허브(420)에서 발생하는 레이턴시가 최소화될 수 있다.
도 13은 본 발명의 또 다른 실시 예에 따른 컨텍스트 허브를 갖는 모바일 장치를 보여주는 블록도이다. 도 13을 참조하면, 모바일 장치(500)는 시스템-온-칩(501), 센서들(110, 121, 122, 123)과 무선 안테나들(125, 126, 127, 128), 그리고 전력 관리 IC(505)를 포함할 수 있다.
모바일 장치(500)는 컨텍스트 입력 패턴(CIP)에 따라 DVFS 레벨을 가변할 수 있는 컨텍스트 허브(520)와 컨텍스트 입력 패턴(CIP)에 대한 머신 러닝을 수행하는 NPU(560)를 포함할 수 있다. 하지만, 컨텍스트 허브(520)는 시스템-온-칩(501)과는 별도의 디바이스로 제공될 수 있다. 컨텍스트 허브(520)는 센서 유닛(110)과 함께 제공되거나 별도의 칩으로 구성될 수 있을 것이다.
도 14는 본 발명의 실시 예에 따른 전자 장치를 보여주는 블록도이다. 도 14를 참조하면, 전자 장치(1000)는 응용 프로세서로 제공되는 시스템-온-칩(1100), 통신 모듈(1200), 메모리(1270), 입출력 장치(1300), 디스플레이(1400), 인터페이스(1500), 센서 모듈(1600), 오디오 모듈(1700), 카메라 모듈(1810), 인디케이터(1820), 모터(1830), PMIC(1830), 그리고 배터리(1950)를 포함할 수 있다.
시스템-온-칩(1100)은 운영 체제나 응용 프로그램을 구동하여 전자 장치(1000)에 포함되는 복수의 하드웨어 또는 소프트웨어 구성 요소들을 제어할 수 있다. 다른 실시 예에 따르면, 시스템-온-칩(1100)은 GPU(Graphic processing unit) 및/또는 이미지 신호 프로세서(ISP)를 더 포함할 수 있다. 시스템-온-칩(1100)은 메인 프로세서 유닛(1110), 컨텍스트 허브(1130), 그리고 NPU(1150)를 포함할 수 있다.
컨텍스트 허브(1130)는 센서 모듈(1600)의 복수의 센서들이 제공하는 컨텍스트 데이터를 제공받아 처리한다. 컨텍스트 허브(1130)는 센서 모듈(1600)의 복수의 센서들이 제공하는 컨텍스트 데이터를 주기적으로 또는 비주기적으로 수신할 수 있다. 본 발명의 컨텍스트 허브(1130)는 입력되는 컨텍스트 데이터의 패턴에 따라 다양한 레벨의 DVFS(Dynamic Voltage Frequency Scaling) 모드로 동작할 수 있다. 즉, 컨텍스트 허브(1130)는 입력되는 컨텍스트 데이터의 패턴에 따라 클록 신호(CLK)의 주파수나 구동 전압(VDD)의 레벨을 선택할 수 있다.
NPU(1150)는 전자 장치(1000)에서 수행되는 머신 러닝(Machine Learning) 기능을 수행한다. NPU(1150)는 센서 모듈(1600)의 복수의 센서들이 제공하는 컨텍스트 데이터의 패턴에 대한 최적 DVFS 레벨을 학습한다. 그리고 NPU(1150)는 학습된 결과에 따라 최적 DVFS 레벨로 동작할 수 있다. 여기서, NPU(1150)는 하드웨어로 제공되는 것으로 설명하였으나, NPU(1150)는 메인 프로세싱 유닛(1110)에서 구동되는 신경망 프로세서 엔진(Neural Processing Engine)으로도 구현될 수 있음은 잘 이해될 것이다. 더불어, NPU(1150)의 기능은 전자 장치(1000)의 외부(예를 들면, 서버)의 장치에서 수행할 수도 있을 것이다.
통신 모듈(1200)은 셀룰러 모듈(1210), WiFi 모듈(1220), 블루투스 모듈(1230), GNSS 모듈(1240), NFC 모듈(1250) 및 RF 모듈(1260)을 포함할 수 있다. 더불어, 입출력 장치(1300)는 터치 패널(1310), 펜 센서(1320), 키(1330), 그리고 초음파 입출력 장치(1340)를 포함할 수 있다. 인터페이스(1500)는 HDMI(1510), USB(1520), 광 인터페이스(1530), 그리고 D-sub(1540)을 포함할 수 있다. 센서 모듈(1600)은 예시적으로 제스처 센서(1610), 자이로 센서(1615), 기압 센서(1620), 마그네틱 센서(1625), 가속도 센서(1630), 그립 센서(1635), 근접 센서(1640), 온도 센서(1645), 습도 센서(1650), 조도 센서(1655)들 중의 적어도 하나를 포함할 수 있다.
이상에서는 본 발명의 전자 장치(1000)의 구성 및 특징이 간략히 설명되었다. 전자 장치(1000)는 센서 모듈(1600)로부터 제공되는 컨텍스트 데이터의 패턴에 따라 클록 신호(CLK)의 주파수나 구동 전압(VDD)의 레벨이 조정되는 컨텍스트 허브(1130)를 포함한다. 이러한 구성에 따라 전자 장치(1000)는 메인 프로세싱 유닛(1110)의 슬립 모드에서 주변 환경의 변화를 모니터링하는데 소모되는 전력을 최소화할 수 있다. 더불어, 센서 모듈(1600)로부터 전달되는 컨텍스트 데이터의 처리를 위해 컨텍스트 허브(1130)에서 발생하는 레이턴시가 최소화될 수 있다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
Claims (20)
- 복수의 센서들로부터 데이터를 제공받아 처리하는 컨텍스트 허브의 동작 방법에 있어서:
외부의 여러 종류의 환경 정보를 감지하는 상기 복수의 센서들로부터 상기 컨텍스트 허브에 입력되는 컨텍스트 데이터의 패턴을 식별하는 단계;
상기 컨텍스트 데이터의 상기 식별된 패턴에 대응하는 동적 전압-주파수 스케일링(DVFS) 레벨을 결정하는 단계로서, 상기 동적 전압-주파수 스케일링(DFVFS) 레벨은 상기 환경 정보의 종류에 따라 다르게 결정되는 것; 그리고
상기 결정된 동적 전압-주파수 스케일링(DVFS) 레벨에 대응하는 클록 신호 또는 구동 전압을 사용하여 상기 컨텍스트 허브가 상기 컨텍스트 데이터를 처리하는 단계를 포함하는 동작 방법. - 제 1 항에 있어서,
상기 컨텍스트 데이터의 상기 패턴은 상기 컨텍스트 데이터의 종류, 조합, 그리고 데이터 사이즈 중 적어도 하나를 포함하는 동작 방법. - 제 1 항에 있어서,
상기 동적 전압-주파수 스케일링(DVFS) 레벨을 결정하는 단계에서, 상기 컨텍스트 데이터의 상기 식별된 패턴에 대응하는 상기 동적 전압-주파수 스케일링(DVFS) 레벨은 컨텍스트 입력 패턴 정보 블록으로부터 읽어오는 동작 방법. - 제 3 항에 있어서,
상기 컨텍스트 입력 패턴 정보 블록에 저장된 컨텍스트 입력 패턴 정보는 미리 입력된 디폴트값으로부터 머신 러닝에 의해서 학습된 값으로 업데이트되는 동작 방법. - 복수의 센서들로부터 데이터를 제공받아 처리하는 컨텍스트 허브의 동작 방법에 있어서:
외부의 여러 종류의 환경 정보를 감지하는 상기 복수의 센서들로부터 상기 컨텍스트 허브에 입력되는 컨텍스트 데이터의 패턴을 식별하는 단계;
상기 컨텍스트 데이터의 상기 식별된 패턴에 대응하는 동적 전압-주파수 스케일링(DVFS) 레벨을 결정하는 단계;
상기 결정된 동적 전압-주파수 스케일링(DVFS) 레벨에 대응하는 클록 신호 또는 구동 전압을 사용하여 상기 컨텍스트 허브가 상기 컨텍스트 데이터를 처리하는 단계; 그리고
상기 컨텍스트 데이터의 상기 식별된 패턴을 입력으로 상기 동적 전압-주파수 스케일링(DVFS) 레벨을 최적화하기 위해 신경망 처리 유닛(NPU)에 의한 머신 러닝을 수행하는 단계를 포함하는 동작 방법. - 제 5 항에 있어서,
상기 머신 러닝의 수행 결과에 따라 상기 컨텍스트 데이터의 상기 식별된 패턴에 대응하는 상기 동적 전압-주파수 스케일링(DVFS) 레벨을 업데이트하는 단계를 더 포함하는 동작 방법. - 복수의 센서들;
상기 복수의 센서들로부터 제공되는 컨텍스트 입력들을 수신하고 처리하는 컨텍스트 허브;
상기 컨텍스트 허브에 의해서 슬립 모드로부터 액티브 모드로 웨이크-업하는 메인 프로세서;
상기 컨텍스트 허브의 제어에 따라 상기 컨텍스트 허브에 제공되는 클록 신호의 주파수 또는 상기 컨텍스트 허브에 제공되는 구동 전압의 레벨을 제어하는 동적 전압-주파수 스케일링(DVFS) 블록; 그리고
상기 컨텍스트 입력들의 패턴에 대응하는 동적 전압-주파수 스케일링(DVFS) 레벨을 제공하는 컨텍스트 입력 패턴 정보 블록을 포함하되,
상기 컨텍스트 허브는 컨텍스트 입력 패턴 정보 블록을 참조하여 상기 컨텍스트 입력들의 상기 패턴에 대응하는 상기 동적 전압-주파수 스케일링(DVFS) 레벨을 결정하는 모바일 장치. - 제 7 항에 있어서,
상기 컨텍스트 허브는 상기 동적 전압-주파수 스케일링(DVFS) 레벨을 참조하여 상기 메인 프로세서를 상기 슬립 모드에서 상기 액티브 모드로 웨이크-업하는 모바일 장치. - 제 7 항에 있어서,
상기 컨텍스트 허브와 상기 메인 프로세서는 동일한 시스템-온-칩 상에 포함되는 모바일 장치. - 제 7 항에 있어서,
상기 컨텍스트 허브는 상기 메인 프로세서와 분리된 칩에 포함되는 모바일 장치. - 제 7 항에 있어서,
상기 컨텍스트 입력들의 상기 패턴에 대응하는 상기 동적 전압-주파수 스케일링(DVFS) 레벨을 머신 러닝을 통해 학습하는 신경망 처리 유닛(NPU)을 더 포함하는 모바일 장치. - 제 11 항에 있어서,
상기 신경망 처리 유닛(NPU)은 상기 메인 프로세서가 상기 액티브 모드로 동작할 때 활성화되는 모바일 장치. - 제 11 항에 있어서,
상기 신경망 처리 유닛(NPU)은 상기 머신 러닝이 완료되면, 상기 컨텍스트 입력 패턴 정보 블록을 상기 머신 러닝을 통해 학습된 파라미터로 업데이트하는 모바일 장치. - 제 7 항에 있어서,
상기 컨텍스트 입력들의 상기 패턴은 상기 컨텍스트 입력들 각각의 종류, 상기 컨텍스트 입력들의 조합, 그리고 상기 컨텍스트 입력들의 데이터 사이즈들 중 적어도 하나에 따라 식별되는 모바일 장치. - 모바일 장치에 장착되는 복수의 센서들이 제공하는 데이터를 처리하는 컨텍스트 허브의 동작 방법에 있어서:
상기 복수의 센서들 중 적어도 하나로부터 상기 컨텍스트 허브에 입력되는 컨텍스트 데이터의 컨텍스트 입력 패턴을 식별하는 단계;
상기 식별된 컨텍스트 입력 패턴에 대응하는 동적 전압-주파수 스케일링(DVFS) 레벨에 따라 상기 컨텍스트 데이터를 처리하는 단계; 그리고
상기 컨텍스트 입력 패턴에 대응하는 상기 동적 전압-주파수 스케일링(DVFS) 레벨을 머신 러닝에 따라 학습하는 단계를 포함하는 동작 방법. - 제 15 항에 있어서,
상기 컨텍스트 입력 패턴은 상기 컨텍스트 데이터의 종류, 조합, 그리고 데이터 사이즈 중 적어도 하나의 정보를 포함하는 동작 방법. - 제 15 항에 있어서,
상기 식별된 컨텍스트 입력 패턴에 대응하는 상기 동적 전압-주파수 스케일링(DVFS) 레벨을 컨텍스트 입력 패턴 정보 블록으로부터 읽어오는 단계를 더 포함하는 동작 방법. - 제 17 항에 있어서,
상기 컨텍스트 입력 패턴 정보 블록은, 상기 머신 러닝이 완료되기 이전에는 상기 머신 러닝에 의해서 학습되지 않은 초기 데이터를 상기 컨텍스트 허브에 제공하고, 상기 머신 러닝이 완료된 이후에는 상기 머신 러닝에 의해서 학습된 최적화 데이터를 상기 컨텍스트 허브에 제공하는 동작 방법. - 제 18 항에 있어서,
상기 학습된 최적화 데이터에 포함되는 스코어를 참조하여 상기 학습된 최적화 데이터로 상기 컨텍스트 입력 패턴 정보 블록을 업데이트할지 판단하는 단계를 더 포함하는 동작 방법. - 제 15 항에 있어서,
상기 모바일 장치는 상기 머신 러닝에 따른 상기 학습 단계를 수행하기 위한 신경망 처리 유닛(NPU)을 포함하는 동작 방법.
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180015993A KR102568686B1 (ko) | 2018-02-09 | 2018-02-09 | 컨텍스트 허브를 포함하는 모바일 장치 및 그것의 동작 방법 |
US16/107,970 US11216055B2 (en) | 2018-02-09 | 2018-08-21 | Mobile device including context hub and operation method thereof |
DE102018132783.8A DE102018132783A1 (de) | 2018-02-09 | 2018-12-19 | Mobile Vorrichtung mit Context Hub und Betriebsverfahren dafür |
TW107146858A TWI845494B (zh) | 2018-02-09 | 2018-12-24 | 具有情境中樞的行動裝置及其操作方法 |
CN201910018306.2A CN110134032A (zh) | 2018-02-09 | 2019-01-09 | 包括上下文集线器的移动装置及其控制方法 |
SG10201900583QA SG10201900583QA (en) | 2018-02-09 | 2019-01-23 | Mobile Device Including Context Hub And Operation Method Thereof |
US17/536,778 US11971769B2 (en) | 2018-02-09 | 2021-11-29 | Mobile device including context hub and operation method thereof |
US18/622,663 US20240241565A1 (en) | 2018-02-09 | 2024-03-29 | Mobile device including context hub and operation method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180015993A KR102568686B1 (ko) | 2018-02-09 | 2018-02-09 | 컨텍스트 허브를 포함하는 모바일 장치 및 그것의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190096477A KR20190096477A (ko) | 2019-08-20 |
KR102568686B1 true KR102568686B1 (ko) | 2023-08-23 |
Family
ID=67400140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180015993A KR102568686B1 (ko) | 2018-02-09 | 2018-02-09 | 컨텍스트 허브를 포함하는 모바일 장치 및 그것의 동작 방법 |
Country Status (5)
Country | Link |
---|---|
US (3) | US11216055B2 (ko) |
KR (1) | KR102568686B1 (ko) |
CN (1) | CN110134032A (ko) |
DE (1) | DE102018132783A1 (ko) |
SG (1) | SG10201900583QA (ko) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116991226A (zh) * | 2018-02-14 | 2023-11-03 | 上海寒武纪信息科技有限公司 | 处理器的控制装置、方法及设备 |
CN113490904A (zh) | 2019-03-27 | 2021-10-08 | 英特尔公司 | 智能显示面板装置及相关方法 |
US11379016B2 (en) | 2019-05-23 | 2022-07-05 | Intel Corporation | Methods and apparatus to operate closed-lid portable computers |
US11543873B2 (en) | 2019-09-27 | 2023-01-03 | Intel Corporation | Wake-on-touch display screen devices and related methods |
US11733761B2 (en) | 2019-11-11 | 2023-08-22 | Intel Corporation | Methods and apparatus to manage power and performance of computing devices based on user presence |
US11809535B2 (en) | 2019-12-23 | 2023-11-07 | Intel Corporation | Systems and methods for multi-modal user device authentication |
US11360528B2 (en) | 2019-12-27 | 2022-06-14 | Intel Corporation | Apparatus and methods for thermal management of electronic user devices based on user activity |
US11443713B2 (en) | 2020-01-30 | 2022-09-13 | Apple Inc. | Billboard for context information sharing |
JP2023538989A (ja) * | 2020-06-26 | 2023-09-13 | インテル コーポレイション | コンピューティングシステムにおけるウェイクパターンを動的にスケジュールする方法、システム、製造物品、及び装置 |
KR20220028443A (ko) * | 2020-08-28 | 2022-03-08 | 삼성전자주식회사 | 주변장치 인터페이스를 포함하는 장치 및 그것의 동작 방법 |
KR20230018810A (ko) * | 2021-07-30 | 2023-02-07 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 동작 방법 |
US11947832B2 (en) * | 2022-02-09 | 2024-04-02 | Texas Instruments Incorporated | Hub for multi-chip sensor interface system and real time enviromental context mapper for self-driving cars |
CN114610140B (zh) * | 2022-03-31 | 2024-07-23 | 联想(北京)有限公司 | 一种处理器的功耗控制方法、***及电子设备 |
US20240045699A1 (en) * | 2022-08-03 | 2024-02-08 | Moore Threads Technology Co., Ltd. | Machine learning based power and performance optimization system and method for graphics processing units |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140025208A1 (en) * | 2012-07-22 | 2014-01-23 | International Business Machines Corporation | Distributed Thermal Management System for Servers |
US20160033534A1 (en) | 2013-03-14 | 2016-02-04 | Beth Israel Deaconess Medical Center, Inc. | Measurement Of FGF21 As A Biomarker Of Fructose Metabolism And Metabolic Disease |
Family Cites Families (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5977913A (en) | 1997-02-07 | 1999-11-02 | Dominion Wireless | Method and apparatus for tracking and locating personnel |
US5986549A (en) * | 1997-07-23 | 1999-11-16 | Teodorescu; Horia-Nicolai | Position and movement reasonant sensor |
US7228446B2 (en) | 2004-12-21 | 2007-06-05 | Packet Digital | Method and apparatus for on-demand power management |
US7827011B2 (en) | 2005-05-03 | 2010-11-02 | Aware, Inc. | Method and system for real-time signal classification |
US7962314B2 (en) | 2007-12-18 | 2011-06-14 | Global Foundries Inc. | Mechanism for profiling program software running on a processor |
US8704767B2 (en) * | 2009-01-29 | 2014-04-22 | Microsoft Corporation | Environmental gesture recognition |
US8364857B2 (en) | 2009-08-31 | 2013-01-29 | Qualcomm Incorporated | Wireless modem with CPU and auxiliary processor that shifts control between processors when in low power state while maintaining communication link to wireless network |
US8671413B2 (en) | 2010-01-11 | 2014-03-11 | Qualcomm Incorporated | System and method of dynamic clock and voltage scaling for workload based power management of a wireless mobile device |
US9087213B2 (en) * | 2011-02-22 | 2015-07-21 | Fedex Corporate Services, Inc. | Systems and methods for rule-driven management of sensor data across geographic areas and derived actions |
KR20120104870A (ko) * | 2011-03-14 | 2012-09-24 | 한양대학교 산학협력단 | 센서 노드 및 센서 노드의 구성 방법 |
US20120254878A1 (en) | 2011-04-01 | 2012-10-04 | Lama Nachman | Mechanism for outsourcing context-aware application-related functionalities to a sensor hub |
TW201316252A (zh) | 2011-10-11 | 2013-04-16 | Qualcomm Inc | 用於量測行動裝置上工作負載預測器之效益之系統及方法 |
KR102045511B1 (ko) * | 2012-07-18 | 2019-11-15 | 삼성전자 주식회사 | 센서 허브를 포함하는 단말기 및 단말기의 제어 방법 |
US9052896B2 (en) | 2012-07-20 | 2015-06-09 | Facebook, Inc. | Adjusting mobile device state based on user intentions and/or identity |
KR101991682B1 (ko) * | 2012-08-29 | 2019-06-21 | 삼성전자 주식회사 | Dvfs 제어 방법 및 이를 이용한 시스템-온 칩 |
KR102038427B1 (ko) * | 2012-09-28 | 2019-10-31 | 삼성전자 주식회사 | 온도별 전압 제어 방법 및 이를 지원하는 단말기 |
KR101927096B1 (ko) | 2012-10-19 | 2018-12-10 | 삼성전자주식회사 | 어플리케이션 프로세서, 이를 구비하는 모바일 기기 및 어플리케이션 프로세서를 위한 클럭 신호 선택 방법 |
US9348434B2 (en) | 2012-11-21 | 2016-05-24 | Google Technology Holdings LLC | Low power management of multiple sensor integrated chip architecture |
KR102071352B1 (ko) * | 2012-11-28 | 2020-01-31 | 삼성전자 주식회사 | 휴대 단말기의 센서 정보 관리 방법 및 시스템 |
US9430414B2 (en) | 2013-03-16 | 2016-08-30 | Intel Corporation | Bus independent platform for sensor hub peripherals to provide coalescing of multiple reports |
US10371405B2 (en) | 2013-03-21 | 2019-08-06 | Cornell University | Building power management systems |
US9820229B2 (en) | 2013-04-05 | 2017-11-14 | Qualcomm Incorporated | Dynamic voltage and frequency scaling in wireless modems |
EP2808652B1 (en) | 2013-05-31 | 2016-11-16 | Sensirion AG | Portable electronic device with integrated temperature sensor being compensated by other sensing data |
KR102126995B1 (ko) | 2013-07-26 | 2020-06-25 | 삼성전자주식회사 | 사용자 기기 및 그 동작 방법 |
US20150127300A1 (en) * | 2013-11-03 | 2015-05-07 | Microsoft Corporation | Sensor Selection Based on Context and Policy |
KR102166935B1 (ko) * | 2013-11-11 | 2020-10-16 | 삼성전자주식회사 | 동적 전압 주파수 스케일링을 수행하기 위한 동작 주파수 변경 방법, 시스템 온-칩 및 이를 구비하는 모바일 기기 |
US20150148981A1 (en) | 2013-11-24 | 2015-05-28 | Qualcomm Incorporated | System and method for multi-correlative learning thermal management of a system on a chip in a portable computing device |
TWI493334B (zh) * | 2013-11-29 | 2015-07-21 | Pegatron Corp | 降低耗電之方法及執行該方法之感測器管理系統 |
KR101939888B1 (ko) * | 2014-02-24 | 2019-01-17 | 소니 주식회사 | 스마트 착용형 디바이스들에 대한 신체 위치 최적화 및 바이오-신호 피드백 |
US20150282227A1 (en) * | 2014-03-25 | 2015-10-01 | Mohamed Yousef | Wearable computing system |
KR102193468B1 (ko) * | 2014-04-04 | 2020-12-21 | 삼성전자주식회사 | 타이밍 마진을 적응적으로 보정하는 메모리 장치 및 이를 포함하는 집적 회로 |
KR102301639B1 (ko) * | 2015-01-23 | 2021-09-14 | 삼성전자주식회사 | SoC(System-on Chip), 그의 전력 관리 방법 및 전자 장치 |
CN105867521A (zh) * | 2015-02-10 | 2016-08-17 | 马维尔国际有限公司 | 用于调节计算设备中的硬件的时钟频率的方法、装置以及用户设备 |
WO2016145238A1 (en) * | 2015-03-10 | 2016-09-15 | Elemental Machines, Inc. | Method and apparatus for environmental sensing |
US9626227B2 (en) | 2015-03-27 | 2017-04-18 | Intel Corporation | Technologies for offloading and on-loading data for processor/coprocessor arrangements |
KR102247742B1 (ko) * | 2015-04-21 | 2021-05-04 | 삼성전자주식회사 | 애플리케이션 프로세서와 시스템 온 칩 |
US20160335534A1 (en) | 2015-05-14 | 2016-11-17 | Thalchemy Corporation | Neural sensor hub system |
CN104978303B (zh) | 2015-06-19 | 2019-06-04 | 上海兆芯集成电路有限公司 | 单芯片整合的传感器集线器和多传感器管理方法 |
GB2540804B (en) * | 2015-07-29 | 2018-03-07 | Samsung Electronics Co Ltd | Hardware power management apparatus and methods |
WO2017051269A1 (en) * | 2015-09-26 | 2017-03-30 | Intel Corporation | Low power activity monitoring with adaptive duty cycle in a sensor hub |
US20170147053A1 (en) * | 2015-11-23 | 2017-05-25 | Mediatek Inc. | Application driven dynamic voltage and frequency scaling method and associated machine readable medium |
US10146286B2 (en) | 2016-01-14 | 2018-12-04 | Intel Corporation | Dynamically updating a power management policy of a processor |
US10037258B2 (en) * | 2016-02-01 | 2018-07-31 | Qualcomm Incorporated | System and method for intelligent thermal management using dynamic performance floors in a portable computing device |
KR20170124017A (ko) * | 2016-04-29 | 2017-11-09 | 삼성전자주식회사 | 동작 전압을 조절하는 메모리 장치, 메모리 장치를 제어하는 어플리케이션 프로세서 및 메모리 장치의 동작방법 |
US10345887B2 (en) | 2016-05-06 | 2019-07-09 | Mediatek Inc. | Adaptive optimization of low power strategies |
KR20180015993A (ko) | 2016-08-05 | 2018-02-14 | 조세은 | 편리하게 휴대 가능한 경의실 |
US10546313B2 (en) * | 2016-08-09 | 2020-01-28 | International Business Machines Corporation | Determining sensor placement and a reward sharing mechanism based on shared energy forecasting information |
KR20180035364A (ko) * | 2016-09-29 | 2018-04-06 | 이학준 | 복합 환경센서를 구비한 무선 단말기 |
KR102670999B1 (ko) * | 2016-12-28 | 2024-05-30 | 삼성전자주식회사 | Dvfs 동작을 수행하는 어플리케이션 프로세서, 이를 포함하는 컴퓨팅 시스템 및 이의 동작 방법 |
US10521932B2 (en) * | 2017-09-11 | 2019-12-31 | Adobe Inc. | Digital paint generation based on digital paint properties |
-
2018
- 2018-02-09 KR KR1020180015993A patent/KR102568686B1/ko active IP Right Grant
- 2018-08-21 US US16/107,970 patent/US11216055B2/en active Active
- 2018-12-19 DE DE102018132783.8A patent/DE102018132783A1/de active Pending
-
2019
- 2019-01-09 CN CN201910018306.2A patent/CN110134032A/zh active Pending
- 2019-01-23 SG SG10201900583QA patent/SG10201900583QA/en unknown
-
2021
- 2021-11-29 US US17/536,778 patent/US11971769B2/en active Active
-
2024
- 2024-03-29 US US18/622,663 patent/US20240241565A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140025208A1 (en) * | 2012-07-22 | 2014-01-23 | International Business Machines Corporation | Distributed Thermal Management System for Servers |
US20160033534A1 (en) | 2013-03-14 | 2016-02-04 | Beth Israel Deaconess Medical Center, Inc. | Measurement Of FGF21 As A Biomarker Of Fructose Metabolism And Metabolic Disease |
Also Published As
Publication number | Publication date |
---|---|
CN110134032A (zh) | 2019-08-16 |
KR20190096477A (ko) | 2019-08-20 |
DE102018132783A1 (de) | 2019-08-14 |
US20220083116A1 (en) | 2022-03-17 |
US11971769B2 (en) | 2024-04-30 |
SG10201900583QA (en) | 2019-09-27 |
US20190250691A1 (en) | 2019-08-15 |
TW201941579A (zh) | 2019-10-16 |
US20240241565A1 (en) | 2024-07-18 |
US11216055B2 (en) | 2022-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102568686B1 (ko) | 컨텍스트 허브를 포함하는 모바일 장치 및 그것의 동작 방법 | |
KR101843782B1 (ko) | 모바일 기기 | |
US11366486B2 (en) | Method for executing application by using clock speed of processor selected according to external temperature, and electronic device including same | |
CN107219951B (zh) | 触控屏控制方法、装置、存储介质及终端设备 | |
EP3671451B1 (en) | Method of automatically releasing resource occupied by background process of terminal, storage medium and terminal | |
EP4032318B1 (en) | Portable smart speaker power control | |
US20220124425A1 (en) | Method and apparatus for controlling connection of wireless audio output device | |
US20200091751A1 (en) | Power supply control method and device, storage medium and electronic device | |
CN111432387B (zh) | 多对多转接模块、多机无线通信***及其通信方法 | |
CN116710880A (zh) | 电子装置和亮度调节方法 | |
TWI845494B (zh) | 具有情境中樞的行動裝置及其操作方法 | |
CN111308303B (zh) | 一种移动终端射频功率放大器检测方法及装置 | |
CN110995324B (zh) | 蓝牙通信方法、装置、存储介质及终端设备 | |
CN117203616A (zh) | 电子设备及电子设备的传感器数据处理方法 | |
CN112367428A (zh) | 电量的显示方法、***、存储介质及移动终端 | |
CN112433694A (zh) | 光强度调整方法及装置、存储介质和动终端 | |
CN111966206A (zh) | 一种指纹感应器的省电控制方法、装置及移动终端 | |
CN112114649B (zh) | 一种温度调整方法、装置、存储介质及移动终端 | |
CN110972221B (zh) | 一种通讯信号处理的方法、装置和移动终端 | |
CN112235806B (zh) | 蓝牙参数配置方法、装置、存储介质及移动终端 | |
CN117194300B (zh) | 多设备串联同步方法、装置、***及电子设备 | |
CN112367701B (zh) | 移动终端控制方法、装置、存储介质及移动终端 | |
WO2023004662A1 (zh) | 延迟产生方法及相关设备 | |
US20230133234A1 (en) | Electronic device controlling an operation of a volatile memory and method for operating the same | |
KR20230052176A (ko) | Op 앰프를 이용하여 동작 상태를 제어하는 전자 장치와 이의 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |