KR20180075760A - 동적 전압 주파수 스케일링을 사용하는 시스템 온 칩 및 그것의 동작 방법 - Google Patents

동적 전압 주파수 스케일링을 사용하는 시스템 온 칩 및 그것의 동작 방법 Download PDF

Info

Publication number
KR20180075760A
KR20180075760A KR1020160179332A KR20160179332A KR20180075760A KR 20180075760 A KR20180075760 A KR 20180075760A KR 1020160179332 A KR1020160179332 A KR 1020160179332A KR 20160179332 A KR20160179332 A KR 20160179332A KR 20180075760 A KR20180075760 A KR 20180075760A
Authority
KR
South Korea
Prior art keywords
data packets
central processing
performance
dynamic voltage
voltage frequency
Prior art date
Application number
KR1020160179332A
Other languages
English (en)
Other versions
KR102661491B1 (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 KR1020160179332A priority Critical patent/KR102661491B1/ko
Priority claimed from KR1020160179332A external-priority patent/KR102661491B1/ko
Priority to US15/797,495 priority patent/US10211947B2/en
Publication of KR20180075760A publication Critical patent/KR20180075760A/ko
Application granted granted Critical
Publication of KR102661491B1 publication Critical patent/KR102661491B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/0262Arrangements for detecting the data rate of an incoming signal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip
    • 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

Abstract

본 발명은 동적 전압 주파수 스케일링을 사용하는 시스템 온 칩 및 그것의 동작 방법에 관한 것이다. 본 발명의 실시 예에 따른 시스템 온 칩의 동작 방법은 네트워크 입출력 장치를 통해 수신되는 데이터 패킷들에 기초하여 중앙 처리 장치의 처리 성능 및 상기 네트워크 입출력 장치의 네트워크 처리량 사이의 상관 관계를 학습하는 단계, 상기 상관 관계의 학습 결과에 기초하여 상기 데이터 패킷들의 데이터 전송률을 예측하는 단계, 상기 예측된 데이터 전송률에 기초하여 동적 전압 주파수 스케줄링 알고리즘의 설정 정보를 동적으로 변경하는 단계, 그리고 상기 설정 정보의 변경에 기초하여 상기 동적 전압 주파수 스케줄링 알고리즘에 따라 상기 중앙 처리 장치의 동작 주파수를 제어하는 단계를 포함할 수 있다. 본 발명의 실시 예에 따르면, 수신되는 데이터 패킷들의 데이터 전송률을 고려하여 동적 전압 주파수 스케일링 알고리즘을 동적으로 적용할 수 있다.

Description

동적 전압 주파수 스케일링을 사용하는 시스템 온 칩 및 그것의 동작 방법{SYSTEM ON CHIP USING DYNAMIC VOLTAGE FREQUENCY SCALING AND OPERATING METHOD THEREOF}
본 발명은 시스템 온 칩에 관한 것으로, 좀 더 상세하게는 동적 전압 주파수 스케일링을 사용하는 시스템 온 칩 및 그것의 동작 방법에 관한 것이다.
최근, 스마트폰, 테이블릿 PC, 디지털 카메라, MP3 플레이어, PDA 등과 같은 모바일 장치의 이용이 폭발적으로 증가하고 있다. 이러한 모바일 장치에서도 멀티미디어의 구동 및 각종 데이터의 처리량이 증가하면서, 고속 프로세서 및 대용량 저장 매체의 채용이 확대되고 있다. 모바일 장치에는 다양한 응용 프로그램(Application program)들이 구동된다. 다양한 응용 프로그램들을 구동하기 위하여, 모바일 장치에는 워킹 메모리(예를 들면, DRAM), 불휘발성 메모리, 그리고 응용 프로세서(Application Processor: 이하, AP)와 같은 반도체 장치들이 사용된다. 그리고 모바일 환경에서의 고성능화에 대한 요구에 따라 상술한 반도체 장치들의 집적도 및 구동 주파수는 날로 높아지고 있다.
모바일 장치에서 프로세싱 유닛의 성능이나 메모리의 성능은 매년 비약적으로 발전하고 있다. 그러나 모바일 환경에서 높은 성능 요구는 상대적으로 효율적인 전력 관리를 어렵게 하는 요소이다. 최근에는 모바일 장치들의 처리 속도나 성능은 평준화되는 추세이다. 따라서, 모바일 환경에서 사용자에게 지속적인 서비스 시간을 제공하기 위한 배터리 기술이나 효율적인 전력 관리 기술에 대한 연구가 활발히 수행되고 있다.
이러한 효율적인 전력 관리의 일환으로, 동적 전압 주파수 스케일링(Dynamic Voltage Frequency Scaling; 이하, DVFS) 방법이 사용된다. 다만, 동적 전압 주파수 스케일링 방법은 각 기능 블록의 동작 형태에 국한되어 있어 특정한 처리가 요구되는 데이터 패킷의 데이터 전송률은 고려되지 않고 있다.
본 발명은 위에서 설명한 기술적 과제를 해결하기 위한 것으로, 본 발명은 데이터 패킷에 대한 네트워크 입출력 장치의 네트워크 처리량 및 중앙 처리 장치의 처리 성능을 모니터링하여 동적 전압 주파수 스케일링 방법을 동적으로 사용하는 시스템 온 칩 및 그것의 동작 방법을 제공할 수 있다.
본 발명의 실시 예에 따른 시스템 온 칩의 동작 방법은 네트워크 입출력 장치를 통해 수신되는 데이터 패킷들에 기초하여 중앙 처리 장치의 처리 성능 및 상기 네트워크 입출력 장치의 네트워크 처리량 사이의 상관 관계를 학습하는 단계, 상기 상관 관계의 학습 결과에 기초하여 상기 데이터 패킷들의 데이터 전송률을 예측하는 단계, 상기 예측된 데이터 전송률에 기초하여 동적 전압 주파수 스케줄링 알고리즘의 설정 정보를 동적으로 변경하는 단계, 그리고 상기 설정 정보의 변경에 기초하여 상기 동적 전압 주파수 스케줄링 알고리즘에 따라 상기 중앙 처리 장치의 동작 주파수를 제어하는 단계를 포함할 수 있다.
본 발명의 실시 예에 따른 시스템 온 칩은 네트워크 입출력 장치, 중앙 처리 장치, 성능 모니터링 유닛 및 동적 전압 주파수 스케일링 유닛을 포함할 수 있다. 네트워크 입출력 장치는 사용자 데이터를 포함하는 데이터 패킷들을 수신하고, 중앙 처리 장치는 상기 사용자 데이터를 사용하기 위해 상기 데이터 패킷들에 대하여 특정한 처리를 수행하고, 성능 모니터링 유닛은 상기 중앙 처리 장치의 처리 성능 및 상기 네트워크 입출력 장치의 네트워크 처리량의 상관 관계를 학습하고, 상기 학습 결과에 기초하여 상기 데이터 패킷들의 데이터 전송률을 예측하고, 그리고 상기 예측된 데이터 전송률에 기초하여 동적 전압 주파수 스케일링 알고리즘의 설정 정보를 동적으로 변경하고, 그리고 동적 전압 주파수 스케일링 유닛은 상기 설정 정보를 수신하여 상기 동적 전압 주파수 스케일링 알고리즘을 수행할 수 있다.
본 발명의 실시 예에 따르면, 수신되는 데이터 패킷들의 데이터 전송률을 고려하여 동적 전압 주파수 스케일링 알고리즘을 동적으로 적용할 수 있다.
도 1은 본 발명의 실시 예에 따른 컴퓨팅 시스템을 보여주는 블록도이다.
도 2는 본 발명의 실시 예에 따른 시스템 온 칩의 전력 및 성능 관리 방법을 보여주는 블록도이다.
도 3은 본 발명의 실시 예에 따른 시스템 온 칩의 전력 및 성능 관리 방법을 보여주는 순서도이다.
도 4는 본 발명의 실시 예에 따른 제 1 및 제 2 상관도 분석을 보여주는 도면이다.
도 5는 본 발명의 실시 예에 따른 데이터 전송률의 예측 방법을 보여주는 순서도이다.
도 6 및 도 7은 본 발명의 실시 예에 따른 DVFS 제어 방법을 보여주는 도면이다.
도 8은 본 발명의 실시 예에 따른 DVFS 동작 모드 결정 방법을 보여주는 순서도이다.
도 9는 본 발명의 실시 예에 따른 시스템 온 칩을 포함하는 모바일 장치를 보여주는 블록도이다.
도 10은 본 발명의 실시 예에 따른 시스템 온 칩을 포함하는 컴퓨팅 장치를 개략적으로 보여주는 블록도이다.
아래에서는, 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로, 본 발명의 실시 예들이 명확하고 상세하게 기재될 것이다.
도 1은 본 발명의 실시 예에 따른 컴퓨팅 시스템을 보여주는 블록도이다. 도 1을 참조하면, 컴퓨팅 시스템(100)은 시스템 온 칩(110), 메모리 장치(120) 및 통신 장치(130)를 포함할 수 있다. 다만, 컴퓨팅 시스템(100)의 구성이 이것에 한정되지 않는다. 컴퓨팅 시스템(100)은 필요에 따라 다른 구성들을 더 포함할 수 있다.
시스템 온 칩(110)은 중앙 처리 장치(111), 메모리 컨트롤러(112), 네트워크 입출력 장치(113), 성능 모니터링 유닛(114), 동적 전압 주파수 스케줄링(Dynamic Voltage Frequency Scaling; 이하, DVFS) 제어 유닛(115) 및 클록 제어 유닛(116)을 포함할 수 있다. 다만, 시스템 온 칩(110)의 구성은 이것에 한정되지 않는다. 시스템 온 칩(110)은 필요에 따라 다른 구성들을 더 포함할 수 있다. 예를 들면, 시스템 온 칩(110)은 다른 기능 블록(Intellectual Property; IP)들을 더 포함할 수 있다.
중앙 처리 장치(111)는 컴퓨팅 시스템(100)에서 수행될 소프트웨어(응용 프로그램, 운영 체제, 장치 드라이버들)를 실행할 수 있다. 예를 들면, 중앙 처리 장치(111)는 워킹 메모리(미도시)에 로드되는 운영 체제(OS)를 실행할 것이다. 중앙 처리 장치(111)는 운영 체제(OS) 기반에서 구동될 다양한 응용 프로그램들(Application Program)을 실행할 것이다. 중앙 처리 장치(111)는 동종 멀티-코어 프로세서(Homogeneous Multi-Core Processor) 또는 이종 멀티-코어 프로세서(Heterogeneous Multi-Core Processor)로 제공될 수 있다. 멀티-코어 프로세서는 적어도 2개의 독립적으로 구동 가능한 프로세서들(이하, 코어)을 갖는 컴퓨팅 컴포넌트(Computing component)이다. 코어들 각각은 프로그램 명령들(Program Instructions)을 독립적으로 읽고 실행할 수 있다.
중앙 처리 장치(111)는 네트워크 입출력 장치(113)를 통하여 수신된 데이터 패킷(Data Packet)들을 처리할 수 있다. 예를 들면, 데이터 패킷은 사용자 데이터(User Data)에 헤더(Header)를 결합한 형태를 가질 수 있다. 중앙 처리 장치(111)는 이러한 데이터 패킷을 수신하는 경우 사용자 데이터를 추출하기 위해 추가적인 연산을 수행할 수 있다. 또한, 중앙 처리 장치(111)는 이러한 데이터 패킷을 전송하는 경우 사용자 데이터에 헤더를 결합하기 위해 추가적인 연산을 수행할 수 있다.
메모리 컨트롤러(112)는 시스템 온 칩(110)과 메모리 장치(120) 사이의 데이터 교환을 제어할 수 있다. 예를 들면, 메모리 컨트롤러(112)는 호스트의 요청에 따라 메모리 장치(120)에 데이터를 저장하거나 메모리 장치(120)로부터 데이터를 읽어올 수 있다. 여기서 호스트는, 중앙 처리 장치(111)와 같은, 시스템 온 칩(110)에 포함된 기능 블록들을 말한다. 메모리 컨트롤러(112)는 메모리 장치(120)의 동작을 전반적으로 제어할 수 있다.
메모리 장치(120)는 다양한 데이터를 저장할 수 있다. 예를 들면, 메모리 장치(120)는 OS(Operating System), 각종 프로그램들, 및 각종 데이터를 저장할 수 있다. 또한, 메모리 장치(120)는 네트워크 통신을 통해 입출력되는 데이터 패킷들을 저장할 수 있다. 메모리 장치(120)는 메모리 카드(MMC, eMMC, SD, MicroSD 등)로 제공될 수도 있다. 메모리 장치(120)는 대용량의 저장 능력을 가지는 낸드 플래시 메모리(NAND-type Flash memory)를 포함할 수 있다. 또는, 메모리 장치(120)는 PRAM, MRAM, ReRAM, FRAM 등의 차세대 불휘발성 메모리나 NOR 플래시 메모리를 포함할 수도 있다. 본 발명의 다른 실시 예에서는 메모리 장치(120)는 시스템 온 칩(110)의 내부에 구비되는 내장 메모리일 수 있다.
네트워크 입출력 장치(113)는 컴퓨팅 시스템(100)과 외부 장치들 사이의 데이터 교환을 제어할 수 있다. 예를 들면, 네트워크 입출력 장치(113)는 통신 장치(130)를 통해 데이터 패킷을 수신하거나 전송할 수 있다. 네트워크 입출력 장치(113)는 수신된 데이터 패킷을 메모리 장치(130)에 저장할 수 있다. 또는 네트워크 입출력 장치(113)는 메모리 장치(130)에 저장된 데이터 패킷을 통신 장치(130)로 전송할 수 있다.
통신 장치(130)는 외부 장치들과 데이터 통신을 수행할 수 있다. 예를 들면, 통신 장치(130)는 와이파이 모듈, 블루투스 모듈, 통신 모뎀 등을 포함할 수 있다. 통신 장치(130)는 네트워크에 연결되어 데이터 패킷을 수신하거나 전송할 수 있다.
성능 모니터링 유닛(114)은 시스템 온 칩(110)의 성능 및 데이터 흐름을 모니터할 수 있다. 예를 들면, 성능 모니터링 유닛(114)은 데이터 패킷에 대한 중앙 처리 장치(111)의 처리 성능(Processing Performance)을 측정할 수 있다. 또한, 성능 모니터링 유닛(114)은 네트워크 입출력 장치(113)의 네트워크 처리량(Network Throughput)을 측정할 수 있다. 성능 모니터링 유닛(114)은 소프트웨어적으로 또는 하드웨어적으로 구현될 수 있다.
성능 모니터링 유닛(114)은 측정된 중앙 처리 장치(111)의 처리 성능 및 네트워크 입출력 장치(113)의 네트워크 처리량 각각의 상관도(제 1 상관도)를 분석할 수 있다. 예를 들면, 성능 모니터링 유닛(114)은 중앙 처리 장치(111)의 처리 성능을 분석하여 정상 상태(Normal State) 및 비정상 상태(Abnormal State)을 판별할 수 있다. 성능 모니터링 유닛(114)은 네트워크 입출력 장치(113)의 네트워크 처리량을 분석하여 정상 상태 및 비정상 상태을 판별할 수 있다. 정상 상태은 DVFS 제어 유닛(115)의 DVFS 정책에 부합되는 처리 성능 또는 네트워크 처리량을 말한다. 비정상 상태은 DVFS 제어 유닛(115)의 DVFS 정책에 부합되지 않는 처리 성능 또는 네트워크 처리량을 말한다.
성능 모니터링 유닛(114)은 제 1 상관도에 기초하여 처리 성능의 비정상 상태 및 네트워크 처리량의 비정상 상태 사이의 상관도(제 2 상관도)를 분석할 수 있다. 예를 들면, 성능 모니터링 유닛(114)은 처리 성능의 제 1 상관도 및 네트워크 처리량의 제 1 상관도를 클러스터링(Clustering)할 수 있다. 클러스터링 결과에 따라, 성능 모니터링 유닛(114)은 DVFS 동작의 비정상 영역을 추출할 수 있다. DVFS 동작의 비정상 영역은 처리 성능 및 네트워크 처리량 모두 비정상 상태인 영역이다. 성능 모니터링 유닛(114)은 DVFS 동작의 비정상 영역에 기초하여 데이터 패킷들의 데이터 전송률을 예측할 수 있다. 데이터 전송률은 단위 시간당 네트워크 입출력 장치(113)를 통해 수신되는 데이터의 크기를 의미한다. 성능 모니터링 유닛(114)은 예측된 데이터 전송률을 네트워크 입출력 장치(113)의 현재 대역폭과 비교할 수 있다. 비교 결과에 따라, 성능 모니터링 유닛(114)은 DVFS 알고리즘의 설정 정보를 변경할 수 있다. 성능 모니터링 유닛(114)은 DVFS 알고리즘의 변경된 설정 정보를 DVFS 제어 유닛(115)에 제공할 수 있다.
DVFS 제어 유닛(115)은 DVFS 알고리즘에 기초하여 중앙 처리 장치(111), 메모리 컨트롤러(112) 및 네트워크 입출력 장치(113)의 DVFS 동작을 수행할 수 있다. 예를 들면, DVFS 제어 유닛(115)은 Kalman 비선형 예측 방법을 통하여 중앙 처리 장치(111)의 동작 전압 및 동작 주파수를 제어할 수 있다. DVFS 제어 유닛(115)은 최소 클록 고정 방법으로 메모리 컨트롤러(112)의 동작 전압 및 동작 주파수를 제어할 수 있다. DVFS 제어 유닛(115)은 중앙 처리 장치(111) 및 메모리 컨트롤러(112)의 클록 제어 정보를 클록 제어 유닛(116)으로 제공할 수 있다. 클록 제어 유닛(116)은 클록 제어 정보에 기초하여 중앙 처리 장치(111) 및 메모리 컨트롤러(112)의 동작 전압 및 동작 주파수를 변경할 수 있다.
또한, DVFS 제어 유닛(115)은 수신된 DVFS 설정 정보에 기초하여 DVFS 알고리즘의 설정 값을 변경할 수 있다. 즉, DVFS 제어 유닛(115)은 성능 모니터링 유닛(114)의 학습 결과에 기초하여 새로운 기준 값에 따라 DVFS 알고리즘을 수행할 수 있다.
시스템 인터커넥터(117)는 시스템 온 칩(110)의 내부에서 온칩 네트워크를 제공하기 위한 시스템 버스(System Bus)이다. 예를 들면, 시스템 인터커넥터(117)는 데이터 버스(Data bus), 어드레스 버스(Address bus) 및 컨트롤 버스(Control bus)를 포함할 수 있다. 데이터 버스(Data bus)는 데이터가 이동하는 경로이다. 주로, 워킹 메모리나 메모리 컨트롤러(112)로의 메모리 접근 경로를 제공될 것이다. 어드레스 버스(Address bus)는 기능 블록들 간의 어드레스 교환 경로를 제공할 수 있다. 컨트롤 버스(Control bus)는 기능 블록들 간의 제어 신호를 전달하는 경로를 제공할 수 있다. 하지만, 시스템 인터커넥터(117)의 구성은 상술한 설명에만 국한되지 않으며, 효율적인 관리를 위한 중재 수단들을 더 포함할 수 있다.
본 발명의 실시 예에 따른 시스템 온 칩(110)은 중앙 처리 장치(111)의 처리 성능 및 네트워크 입출력 장치(113)의 네트워크 처리량을 모니터링할 수 있다. 또한, 시스템 온 칩(110)은 모니터링 결과에 기초하여 DVFS 알고리즘이 비효율적으로 적용되고 있는 설정 값들을 학습할 수 있다. 이러한 학습 결과에 기초하여, 시스템 온 칩(110)은 DVFS 알고리즘의 설정 정보를 변경할 수 있다. 즉, 시스템 온 칩(110)은 데이터 패킷들에 기초하여 DVFS 알고리즘을 동적으로 수행할 수 있고, 전력 및 성능이 최적의 상태로 유지되도록 관리할 수 있다.
도 2는 본 발명의 실시 예에 따른 시스템 온 칩의 전력 및 성능 관리 방법을 보여주는 블록도이다. 도 2를 참조하면, DVFS 제어 유닛(115)은 DVFS 알고리즘에 따라 중앙 처리 장치(111) 및 메모리 장치(120)의 동작 전압 및 동작 주파수를 제어할 수 있다. DVFS 제어 유닛(115)은 DVFS 알고리즘에 따라 클록 제어 신호를 생성하고, 클록 제어 신호를 클록 제어 유닛(116)으로 전송할 수 있다. 클록 제어 유닛(116)은 클록 제어 신호에 기초하여 중앙 처리 장치(111) 및 메모리 장치(120)의 동작 전압 및 동작 주파수를 변경할 수 있다.
시스템 온 칩(110)의 동작 초기에, DVFS 제어 유닛(115)은 초기 설정 값들을 가지는 DVFS 알고리즘에 따라 전력 및 성능 관리 동작을 수행할 수 있다. 그후에, 성능 모니터링 유닛(114)은 네트워크 입출력 장치(113)를 통해 수신되는 데이터 패킷에 기초하여 네트워크 입출력 장치(113)의 네트워크 처리량 및 중앙 처리 장치(111)의 처리 성능을 모니터할 수 있다. 예를 들면, 메모리 장치(120)에는 논리적인 버퍼가 설정될 수 있다. 네트워크 입출력 장치(113)는 수신된 데이터 패킷들을 메모리 장치(120)의 버퍼에 저장할 수 있다. 예시적으로, 네트워크 처리량은 단위 시간당 버퍼에 저장되는 데이터 패킷들의 수를 의미할 수 있다. 중앙 처리 장치(111)는 정해진 순서에 따라 버퍼에 저장된 데이터 패킷들을 처리할 수 있다. 예시적으로, 처리 성능은 중앙 처리 장치(111)에서 단위 시간당 처리되는 데이터 패킷들의 수를 의미할 수 있다.
성능 모니터링 유닛(114)은 네트워크 처리량 및 처리 성능의 모니터링 결과에 기초하여 제 1 상관도 분석을 수행할 수 있다. 예를 들면, 성능 모니터링 유닛(114)은 네트워크 처리량의 정상 상태 및 비정상 상태를 분류할 수 있다. 성능 모니터링 유닛(114)은 처리 성능의 정상 상태 및 비정상 상태를 분류할 수 있다. 정상 상태는 중앙 처리 장치(111)의 동작 주파수가 증가될 때 네트워크 처리량도 함께 증가되는 경우를 말한다. 비정상 상태는 정상 상태 이외의 나머지 경우를 말한다.
성능 모니터링 유닛(114)은 제 1 상관도 분석에 기초하여 제 2 상관도 분석을 수행할 수 있다. 예를 들면, 성능 모니터링 유닛(114)은 네트워크 처리량의 비정상 상태 및 처리 성능의 비정상 상태를 클러스터링하여 네트워크 처리량 및 처리 성능의 상관도를 결정할 수 있다. 네트워크 처리량 및 처리 성능의 상관도는 네트워크 처리량 및 처리 성능 모두 비정상 상태인 비정상 영역을 포함할 수 있다. 성능 모니터링 유닛(114)은 비정상 상태를 감소시키도록 DVFS 알고리즘의 설정 값들을 변경할 수 있다. 성능 모니터링 유닛(114)은 제 2 상관도 분석의 결과에 기초하여 DVFS 알고리즘의 설정 값들을 변경한 DVFS 설정 정보를 생성할 수 있다. 성능 모니터링 유닛(114)은 생성된 DVFS 설정 정보를 DVFS 제어 유닛(115)으로 전송할 수 있다.
DVFS 제어 유닛(115)은 수신된 DVFS 설정 정보에 기초하여 DVFS 알고리즘을 수행할 수 있다. 즉, DVFS 제어 유닛(115)은 성능 모니터링 유닛(114)의 모니터링 결과에 따라 DVFS 알고리즘의 기준 값을 변경할 수 있다. 따라서, 본 발명의 실시 예에 따른 시스템 온 칩(110)은 수신되는 데이터 패킷에 기초하여 DVFS 알고리즘을 동적으로 수행할 수 있다.
도 3은 본 발명의 실시 예에 따른 시스템 온 칩의 전력 및 성능 관리 방법을 보여주는 순서도이다. 도 3을 참조하면, 시스템 온 칩(110)은 데이터 패킷에 기초하여 전력 및 성능 관리를 동적으로 수행할 수 있다.
S110 단계에서, 시스템 온 칩(110)은 네트워크 입출력 장치(113)를 통해 수신되는 데이터 패킷들에 기초하여 중앙 처리 장치(111)의 처리 성능 및 네트워크 입출력 장치(113)의 네트워크 처리량의 상관도를 학습할 수 있다. 예를 들면, 성능 모니터링 유닛(114)은 네트워크 입출력 장치(113)를 통해 수신되는 데이터 패킷들을 모니터링할 수 있다. 성능 모니터링 유닛(114)은 처리 성능 및 네트워크 처리량 각각의 정상 상태 및 비정상 상태를 분류할 수 있다. 비정상 상태는 중앙 처리 장치(111)의 동작 주파수를 증가시킬 때 네트워크 처리량이 증가하지 않는 경우를 의미한다. 또한, 성능 모니터링 유닛(114)은 처리 성능의 비정상 상태 및 네트워크 처리량의 비정상 상태를 클러스터링하여 처리 성능 및 네트워크 처리량의 비정상 영역을 계산할 수 있다.
S120 단계에서, 시스템 온 칩(110)은 학습된 처리 성능 및 네트워크 처리량의 상관도에 기초하여 패킷 스트림(packet stream)의 데이터 전송률을 예측할 수 있다. 예를 들면, 성능 모니터링 유닛(114)은 처리 성능 및 네트워크 처리량의 비정상 영역에 기초하여 네트워크 입출력 장치(113)로 수신되는 데이터 패킷들의 데이터 전송률을 예측할 수 있다. 데이터 전송률은 단위 시간당 네트워크 입출력 장치(113)로 수신되는 데이터의 크기를 의미한다. 데이터 패킷들은 수신되는 시간 간격 및 패킷의 크기가 다양하기 때문에 데이터 전송률은 수시로 변할 수 있다. 이렇게 변하는 데이터 전송률에 따라 중앙 처리 장치(111)의 동작 주파수는 변경될 필요가 있다.
S130 단계에서, 시스템 온 칩(110)은 예측된 데이터 전송률에 기초하여 DVFS 동작의 기준 값을 동적으로 결정할 수 있다. 예를 들면, 성능 모니터링 유닛(114)은 예측된 데이터 전송률을 네트워크 입출력 장치(113)의 현재 대역폭과 비교할 수 있다. 비교 결과에 따라 예측된 데이터 전송률이 현재 대역폭보다 큰 경우, 성능 모니터링 유닛(114)은 중앙 처리 장치(111)의 처리 성능을 증가시키도록 DVFS 알고리즘의 설정 정보를 변경할 수 있다. 또는 비교 결과에 따라 예측된 데이터 전송률이 현재 대역폭보다 작거나 같은 경우, 성능 모니터링 유닛(114)은 중앙 처리 장치(111)의 처리 성능을 감소시키도록 DVFS 알고리즘의 설정 정보를 변경할 수 있다.
S140 단계에서, 시스템 온 칩(110)은 S130 단계에서 결정된 기준 값에 따라 DVFS 동작을 수행할 수 있다. 예를 들면, DVFS 제어 유닛(115)은 DVFS 알고리즘의 변경된 설정 정보를 수신할 수 있다. DVFS 제어 유닛(115)은 변경된 설정 정보에 따라 DVFS 알고리즘을 수행할 수 있다.
본 발명의 실시 예에 따른 시스템 온 칩(110)은 중앙 처리 장치(111)의 처리 성능 및 네트워크 입출력 장치(113)의 네트워크 처리량을 모니터링할 수 있다. 또한, 시스템 온 칩(110)은 모니터링 결과에 기초하여 DVFS 알고리즘이 비효율적으로 적용되고 있는 설정 값들을 학습할 수 있다. 이러한 학습 결과에 기초하여, 시스템 온 칩(110)은 DVFS 알고리즘의 설정 정보를 변경할 수 있다. 즉, 시스템 온 칩(110)은 데이터 패킷들에 기초하여 DVFS 알고리즘을 동적으로 수행할 수 있다.
도 4는 본 발명의 실시 예에 따른 제 1 및 제 2 상관도 분석을 보여주는 도면이다. 도 4를 참조하면, 성능 모니터링 유닛(114)은 시간에 따른 중앙 처리 장치(111)의 처리 성능을 모니터할 수 있다. 예를 들면, 처리 성능의 그래프에서, 정상 상태는 실선 아래의 부분에 분포할 수 있다. 비정상 상태는 점으로 표시된 부분이다. 성능 모니티링 유닛(114)은 제 1 상관도 분석을 통해 처리 성능의 그래프와 같은 처리 성능 모니터링 결과에서 정상 상태 및 비정상 상태를 분류할 수 있다.
또한, 성능 모니터링 유닛(114)은 시간에 따른 네트워크 입출력 장치(113)의 네트워크 처리량을 모니터할 수 있다. 예를 들면, 네트워크 처리량의 그래프에서, 정상 상태는 실선 아래의 부분에 분포할 수 있다. 비정상 상태는 점으로 표시된 부분이다. 성능 모니티링 유닛(114)은 제 1 상관도 분석을 통해 네트워크 처리량의 그래프와 같은 네트워크 처리량 모니터링 결과에서 정상 상태 및 비정상 상태를 분류할 수 있다.
한편, 성능 모니터링 유닛(114)은 제 1 상관도 분석 결과에 기초하여 제 2 상관도 분석을 수행할 수 있다. 예를 들면, 성능 모니터링 유닛(114)은 처리 성능의 제 1 상관도 분석 결과 및 네트워크 처리량의 제 1 상관도 분석 결과를 클러스터링하여 처리 성능 및 네트워크 처리량의 상관 관계를 구할 수 있다. 제 2 상관도 분석 그래프를 살펴보면, 비정상 영역이 존재한다. 비정상 영역은 DVFS 알고리즘이 비효율적으로 수행되고 있는 설정 값들을 알려준다. 즉, 비정상 영역은 중앙 처리 장치(111)의 동작 주파수를 변경할 필요가 있는 상태를 의미한다. 따라서, 성능 모니터링 유닛(114)은 제 2 상관도 분석 결과에 기초하여 비정상 영역이 감소하도록 DVFS 알고리즘의 설정 값들을 변경할 수 있다.
도 5는 본 발명의 실시 예에 따른 데이터 전송률의 예측 방법을 보여주는 순서도이다. 도 5를 참조하면, 시스템 온 칩(110)은 제 1 및 제 2 상관도 분석을 통해 패킷 스트림의 데이터 전송률을 예측할 수 있다.
S210 단계에서, 시스템 온 칩(110)은 통신 장치(130)로부터 데이터 패킷들을 수신할 수 있다. 예를 들면, 통신 장치(130)는 무선 또는 유선으로 네트워크에 연결되어 데이터 패킷들을 수신할 수 있다. 네트워크 입출력 장치(113)는 통신 장치(130)로부터 데이터 패킷들을 수신하여 논리적인 버퍼에 저장할 수 있다. 논리적인 버퍼는 메모리 장치(120)에 형성되고, 그 크기는 데이터 패킷들의 수신 상태에 따라 조절될 수 있다.
S220 단계에서, 시스템 온 칩(110)은 수신된 데이터 패킷들에 기초하여 중앙 처리 장치(111)의 처리 성능 및 네트워크 입출력 장치(113)의 네트워크 처리량을 모니터링할 수 있다. 예를 들면, 네트워크 처리량은 단위 시간당 네트워크 입출력 장치(113)가 버퍼에 저장하는 데이터 패킷들의 수로 정의될 수 있다. 중앙 처리 장치(111)는 정해진 순서에 따라 버퍼에 저장된 데이터 패킷들을 처리할 수 있다. 처리 성능은 단위 시간당 중앙 처리 장치(111)에 의해 처리되는 데이터 패킷들의 수로 정의될 수 있다.
S230 단계에서, 시스템 온 칩(110)은 제 1 상관도 분석으로서 처리 성능의 정상 상태 및 비정상 상태를 판별할 수 있다. S240 단계에서, 시스템 온 칩(110)은 제 1 상관도 분석으로서 네트워크 처리량의 정상 상태 및 비정상 상태를 판별할 수 있다. 예를 들면, 정상 상태는 중앙 처리 장치(111)의 동작 주파수가 증가될 때 데이터 전송률도 함께 증가되는 경우를 말한다. 비정상 상태는 정상 상태 이외의 나머지 경우를 말한다.
S250 단계에서, 시스템 온 칩(110)은 제 2 상관도 분석으로서 처리 성능 및 네트워크 처리량의 상관 관계를 계산할 수 있다. 예를 들면, 성능 모니터링 유닛(114)은 처리 성능의 비정상 상태 및 네트워크 처리량의 비정상 상태를 클러스터링하여 처리 성능 및 네트워크 처리량의 비정상 영역을 계산할 수 있다. 비정상 영역은 DVFS 알고리즘이 비효율적으로 수행되고 있는 설정 값들을 알려준다. 즉, 비정상 영역은 중앙 처리 장치(111)의 동작 주파수를 변경할 필요가 있는 상태를 의미한다.
S260 단계에서, 시스템 온 칩(110)은 계산된 처리 성능 및 네트워크 처리량의 상관 관계의 계산 결과에 기초하여 패킷 스트림의 데이터 전송률을 예측할 수 있다. 예를 들면, 성능 모니터링 유닛(114)은 처리 성능 및 네트워크 처리량의 비정상 영역에 기초하여 네트워크 입출력 장치(113)로 수신되는 데이터 패킷들의 데이터 전송률을 예측할 수 있다. 데이터 전송률은 단위 시간당 네트워크 입출력 장치(113)로 수신되는 데이터의 크기를 의미한다. 데이터 패킷들은 수신되는 시간 간격 및 패킷의 크기가 다양하기 때문에 데이터 전송률은 수시로 변할 수 있다. 이렇게 변하는 데이터 전송률에 따라 중앙 처리 장치(111)의 동작 주파수는 변경될 필요가 있다.
본 발명의 실시 예에 따른 시스템 온 칩(110)은 중앙 처리 장치(111)의 처리 성능 및 네트워크 입출력 장치(113)의 네트워크 처리량을 모니터링할 수 있다. 또한, 시스템 온 칩(110)은 모니터링 결과에 기초하여 DVFS 알고리즘이 비효율적으로 적용되고 있는 설정 값들을 학습할 수 있다. 이러한 학습 결과에 기초하여, 시스템 온 칩(110)은 DVFS 알고리즘의 설정 정보를 변경할 수 있다. 즉, 시스템 온 칩(110)은 데이터 패킷들에 기초하여 DVFS 알고리즘을 동적으로 수행할 수 있다.
도 6 및 도 7은 본 발명의 실시 예에 따른 DVFS 제어 방법을 보여주는 도면이다. 도 6 및 도 7을 참조하면, 네트워크 입출력 장치(113)는 데이터 패킷들(P1~P5)을 수신할 수 있다. 예를 들면, 데이터 패킷들(P1~P5)은 다양한 크기를 가질 수 있다. 데이터 패킷들(P1~P5)은 다양한 시간 간격으로 수신될 수 있다. 수신된 데이터 패킷들(P1~P5)은 메모리 장치(120)에 버퍼링(Buffering)될 수 있다. 예를 들면, 논리적인 버퍼(Buffer)는 메모리 장치(120)에 설정될 수 있다. 버퍼의 크기는 데이터 패킷들의 수에 따라 증가 또는 감소될 수 있다. 버퍼의 크기는 기준 크기(Reference Size) 단위로 증가 또는 감소될 수 있다. 버퍼에 저장된 데이터 패킷들(P1~P5)은 정해진 순서에 따라 중앙 처리 장치(111)에 의해 처리될 수 있다.
도 6에서, 데이터 패킷들(P1~P5)은 긴 시간 간격으로 수신된다. 데이터 패킷들(P1~P5)이 긴 시간 간격으로 수신되는 경우, 데이터 전송률은 낮아진다. 데이터 전송률이 낮아지면, 성능 모니터링 유닛(114)은 중앙 처리 장치(111)의 처리 성능을 감소시키도록 DVFS 설정 정보를 생성할 수 있다. 따라서, DVFS 제어 유닛(114)은 이러한 DVFS 설정 정보에 따라 클록 제어 신호를 생성할 수 있다. 클록 제어 유닛(116)은 이러한 클록 제어 신호에 따라 중앙 처리 장치(111)의 동작 주파수를 감소시킬 수 있다.
도 7에서, 데이터 패킷들(P1~P5)은 짧은 시간 간격으로 수신된다. 데이터 패킷들(P1~P5)이 짧은 시간 간격으로 수신되는 경우, 데이터 전송률은 높아진다. 데이터 전송률이 높아지면, 성능 모니터링 유닛(114)은 중앙 처리 장치(111)의 처리 성능을 증가시키도록 DVFS 설정 정보를 생성할 수 있다. 따라서, DVFS 제어 유닛(114)은 이러한 DVFS 설정 정보에 따라 클록 제어 신호를 생성할 수 있다. 클록 제어 유닛(116)은 이러한 클록 제어 신호에 따라 중앙 처리 장치(111)의 동작 주파수를 증가시킬 수 있다.
도 8은 본 발명의 실시 예에 따른 DVFS 동작 모드 결정 방법을 보여주는 순서도이다. 도 8을 참조하면, 성능 모니터링 유닛(114)은 예측된 데이터 전송률과 현재의 대역폭을 비교하여 DVFS 동작 모드를 결정할 수 있다.
S310 단계에서, 성능 모니터링 유닛(114)은 중앙 처리 장치(111)의 처리 성능 및 네트워크 입출력 장치(113)의 네트워크 처리량의 상관 관계에 기초하여 패킷 스트림의 데이터 전송률을 예측할 수 있다. 예를 들면, 성능 모니터링 유닛(114)은 도 5의 S210 단계 내지 S260 단계를 통해 데이터 전송률을 예측할 수 있다.
S320 단계에서, 성능 모니터링 유닛(114)은 예측된 데이터 전송률과 네트워크 입출력 장치(113)의 현재 대역폭을 비교할 수 있다. 비교 결과에 따라 예측된 데이터 전송률이 현재 대역폭보다 큰 경우, 순서는 S330 단계로 이동한다. 비교 결과에 따라 예측된 데이터 전송률이 현재의 대역폭보다 작은 경우, 순서는 S350 단계로 이동한다.
S330 단계에서, 예측된 데이터 전송률이 현재 대역폭보다 큰 경우, 성능 모니터링 유닛(114)은 제 1 DVFS 동작 모드를 설정할 수 있다. 예를 들면, 예측된 데이터 전송률이 현재 대역폭보다 큰 경우는 도 7에서 설명된 경우이다. 데이터 패킷들의 입력 시간 간격이 짧아지거나 데이터 패킷들의 크기가 커질 것이 예상되기 때문에, 중앙 처리 장치(111)의 처리 성능은 증가될 필요가 있다. S340 단계에서, 성능 모니터링 유닛(114)은 중앙 처리 장치(111)의 처리 속도를 증가시키도록 DVFS 설정 정보를 생성할 수 있다.
S350 단계에서, 예측된 데이터 전송률이 현재의 대역폭보다 작은 경우, 성능 모니터링 유닛(114)은 제 2 DVFS 동작 모드를 설정할 수 있다. 예를 들면, 예측된 데이터 전송률이 현재 대역폭보다 큰 경우는 도 6에서 설명된 경우이다. 데이터 패킷들의 입력 시간 간격이 길어지거나 데이터 패킷들의 크기가 작아질 것이 예상되기 때문에, 중앙 처리 장치(111)의 처리 성능은 감소될 필요가 있다. S360 단계에서, 성능 모니터링 유닛(114)은 중앙 처리 장치(111)의 처리 속도를 감소시키도록 DVFS 설정 정보를 생성할 수 있다.
S370 단계에서, 성능 모니터링 유닛(114)은 DVFS 제어 유닛(115)으로 DVFS 설정 정보를 전송할 수 있다. 예를 들면, DVFS 제어 유닛(115)은 DVFS 알고리즘의 변경된 설정 정보를 수신할 수 있다. DVFS 제어 유닛(115)은 변경된 설정 정보에 따라 DVFS 알고리즘을 수행할 수 있다. 따라서, DVFS 알고리즘은 데이터 패킷들의 예측된 데이터 전송률에 기초하여 동적으로 수행될 수 있다.
도 8에서, 성능 모니터링 유닛(114)은 예측된 데이터 전송률에 기초하여 제 1 및 제 2 DVFS 동작 모드들을 선택하였다. 하지만, DVFS 동작 모드는 이것에 한정되지 않는다. 성능 모니터링 유닛(114)은 예측된 데이터 전송률에 기초하여 더욱 다양한 DVFS 동작 모드들을 설정할 수 있다. 또한, 성능 모니터링 유닛(114)은 다양한 동작 모드들에 기초하여 DVFS 알고리즘의 설정 정보를 다양하게 변경할 수 있다.
도 9는 본 발명의 실시 예에 따른 시스템 온 칩을 포함하는 모바일 장치를 보여주는 블록도이다. 도 9를 참조하면, 본 발명의 실시 예에 따른 모바일 장치(1000)는 이미지 처리부(1100), 무선 송수신부(1200), 오디오 처리부(1300), 이미지 파일 생성부(1400), SRAM(1500), 유저 인터페이스(1600), 그리고 컨트롤러(1700)를 포함할 수 있다.
이미지 처리부(1100)는 렌즈(1110), 이미지 센서(1120), 이미지 프로세서(1130), 그리고 디스플레이부(1140)를 포함할 수 있다. 무선 송수신부(1200)는 안테나(1210), 트랜시버(1220), 모뎀(1230)을 포함할 수 있다. 오디오 처리부(1300)는 오디오 프로세서(1310), 마이크(1320), 그리고 스피커(1330)를 포함할 수 있다.
모바일 장치(1000)에는 다양한 종류의 반도체 장치들이 포함될 수 있다. 특히, 컨트롤러(1700)의 기능을 수행하는 시스템 온 칩의 경우 저전력, 고성능이 요구된다. 컨트롤러(1700)는 도 1 내지 도 8에서 설명된 시스템 온 칩과 동일 또는 유사한 기능을 수행할 수 있다. 컨트롤러(1700)는 무선 송수신부(1200)를 통해 수신되는 패킷 데이터의 네트워크 처리량 및 처리 성능을 모니터할 수 있다. 컨트롤러(1700)는 모니터링 결과에 기초하여 DVFS 알고리즘의 설정 값들을 동적으로 변경할 수 있다. 따라서, 컨트롤러(1700)는 모바일 장치(1000)의 전력 및 성능을 최적의 상태로 유지할 수 있다.
도 10은 본 발명의 실시 예에 따른 시스템 온 칩을 포함하는 컴퓨팅 장치를 개략적으로 보여주는 블록도이다. 도 10을 참조하면, 컴퓨팅 장치(2000)는 시스템 버스(2060)에 전기적으로 연결되는 불휘발성 메모리 장치(2010), 애플리케이션 프로세서(Application Processor; AP, 2020), 및 램(2030)을 포함할 수 있다. 그리고 컴퓨팅 장치(2000)는 시스템 버스(2060)에 전기적으로 연결된 사용자 인터페이스(2040), 베이스밴드 칩셋(Baseband chipset)과 같은 모뎀(2050)을 포함할 수 있다.
본 발명에 따른 컴퓨팅 장치(2000)가 모바일 장치인 경우, 컴퓨팅 장치(2000)의 동작 전압을 공급하기 위한 배터리(미도시됨)가 추가적으로 제공될 것이다. 비록 도면에는 도시되지 않았지만, 본 발명에 따른 컴퓨팅 장치(2000)에는 응용 칩셋(Application chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램, 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
여기서, 애플리케이션 프로세서(2020)는 도 1 내지 도 8에서 설명된 시스템 온 칩과 동일 또는 유사한 기능을 수행할 수 있다. 애플리케이션 프로세서(2020)는 모뎀(2050)을 통해 수신되는 패킷 데이터의 네트워크 처리량 및 처리 성능을 모니터할 수 있다. 애플리케이션 프로세서(2020)는 모니터링 결과에 기초하여 DVFS 알고리즘의 설정 값들을 동적으로 변경할 수 있다. 따라서, 애플리케이션 프로세서(2020)는 컴퓨팅 장치(2000)의 전력 및 성능을 최적의 상태로 유지할 수 있다.
본 발명의 실시 예에 따른 메모리 시스템 혹은 저장 장치는 다양한 형태들의 패키지를 이용하여 실장 될 수 있다. 실시 예에 있어서, 본 발명의 실시 예에 따른 메모리 시스템 혹은 저장 장치는 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP), 등과 같은 패키지들을 이용하여 실장 될 수 있다.
위에서 설명한 내용은 본 발명을 실시하기 위한 구체적인 예들이다. 본 발명에는 위에서 설명한 실시 예들뿐만 아니라, 단순하게 설계 변경하거나 용이하게 변경할 수 있는 실시 예들도 포함될 것이다. 또한, 본 발명에는 위에서 설명한 실시 예들을 이용하여 앞으로 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다.
100: 컴퓨팅 시스템
110: 시스템 온 칩
111: 중앙 처리 장치
112: 메모리 컨트롤러
113: 네트워크 입출력 장치
114: 성능 모니터링 유닛
115: 동적 전압 주파수 스케줄링 제어 유닛
116: 클록 제어 유닛
117: 시스템 인터커넥터
120: 메모리 장치
130: 통신 장치
1000: 모바일 장치
1100: 이미지 처리부
1200: 무선 송수신부
1300: 오디오 처리부
1400: 이미지 파일 생성부
1500: SRAM
1600: 유저 인터페이스
1700: 컨트롤러
2000: 컴퓨팅 장치
2010: 불휘발성 메모리 장치
2020: 애플리케이션 프로세서
2030: 램
2040: 사용자 인터페이스
2050: 모뎀
2060: 시스템 버스

Claims (10)

  1. 데이터 패킷들을 수신하는 네트워크 입출력 장치의 네트워크 처리량 및 상기 데이터 패킷들을 처리하는 중앙 처리 장치의 처리 성능 사이의 상관 관계를 학습하는 단계;
    상기 상관 관계의 학습 결과에 기초하여 상기 데이터 패킷들의 데이터 전송률을 예측하는 단계;
    상기 예측된 데이터 전송률에 기초하여 동적 전압 주파수 스케줄링 알고리즘의 설정 정보를 동적으로 변경하는 단계; 그리고
    상기 동적 전압 주파수 스케줄링 알고리즘에 따라 상기 중앙 처리 장치의 동작 주파수를 제어하는 단계를 포함하는 시스템 온 칩의 동작 방법.
  2. 제 1 항에 있어서,
    상기 상관 관계를 학습하는 단계는,
    상기 처리 성능 및 상기 네트워크 처리량을 모니터링하는 단계;
    상기 처리 성능의 제 1 비정상 상태를 판별하는 단계; 그리고
    상기 네트워크 처리량의 제 2 비정상 상태를 판별하는 단계를 포함하고,
    상기 제 1 및 제 2 비정상 상태에서, 상기 중앙 처리 장치의 동작 주파수가 증가할 때 상기 네트워크 처리량은 감소하는 시스템 온 칩의 동작 방법.
  3. 제 2 항에 있어서,
    상기 상관 관계를 학습하는 단계는,
    상기 제 1 비정상 상태 및 상기 제 2 비정상 상태를 클러스터링하여 상기 처리 성능 및 상기 네트워크 처리량의 비정상 영역을 계산하는 단계를 포함하는 시스템 온 칩의 동작 방법.
  4. 제 3 항에 있어서,
    상기 데이터 전송률을 예측하는 단계는,
    상기 계산된 비정상 영역에 기초하여 상기 데이터 전송률을 예측하는 시스템 온 칩의 동작 방법.
  5. 제 1 항에 있어서,
    상기 동적 전압 주파수 스케줄링 알고리즘의 설정 정보를 동적으로 변경하는 단계는,
    상기 예측된 데이터 전송률과 상기 네트워크 입출력 장치의 현재 대역폭을 비교하는 단계; 그리고
    상기 비교 결과에 따라 상기 동적 전압 주파수 스케일링 알고리즘의 동작 모드를 결정하는 단계를 포함하는 시스템 온 칩의 동작 방법.
  6. 제 5 항에 있어서,
    상기 예측된 데이터 전송률이 상기 현재 대역폭보다 큰 경우, 상기 중앙 처리 장치의 처리 성능이 증가되도록 상기 동적 전압 주파수 스케줄링 알고리즘의 설정 정보를 변경하는 시스템 온 칩의 동작 방법.
  7. 제 5 항에 있어서,
    상기 예측된 데이터 전송률이 상기 현재 대역폭보다 작거나 같은 경우, 상기 중앙 처리 장치의 처리 성능이 감소되도록 상기 동적 전압 주파수 스케줄링 알고리즘의 설정 정보를 변경하는 시스템 온 칩의 동작 방법.
  8. 제 1 항에 있어서,
    상기 중앙 처리 장치의 처리 성능은 단위 시간당 처리되는 상기 데이터 패킷들의 수로 정의되고,
    상기 네트워크 입출력 장치의 네트워크 처리량은 단위 시간당 버퍼에 저장되는 상기 데이터 패킷들의 수로 정의되는 시스템 온 칩의 동작 방법.
  9. 제 1 항에 있어서,
    상기 데이터 전송률은 단위 시간당 상기 네트워크 입출력 장치로 수신되는 데이터의 크기로 정의되는 시스템 온 칩의 동작 방법.
  10. 사용자 데이터를 포함하는 데이터 패킷들을 수신하는 네트워크 입출력 장치;
    상기 사용자 데이터를 사용하기 위해 상기 데이터 패킷들에 대하여 특정한 처리를 수행하는 중앙 처리 장치;
    상기 중앙 처리 장치의 처리 성능 및 상기 네트워크 입출력 장치의 네트워크 처리량의 상관 관계를 학습하고, 상기 학습 결과에 기초하여 상기 데이터 패킷들의 데이터 전송률을 예측하고, 그리고 상기 예측된 데이터 전송률에 기초하여 동적 전압 주파수 스케일링 알고리즘의 설정 정보를 동적으로 변경하는 성능 모니터링 장치; 그리고
    상기 설정 정보를 수신하여 상기 동적 전압 주파수 스케일링 알고리즘을 수행하는 동적 전압 주파수 스케일링 유닛을 포함하는 시스템 온 칩.
KR1020160179332A 2016-12-26 2016-12-26 동적 전압 주파수 스케일링을 사용하는 시스템 온 칩 및 그것의 동작 방법 KR102661491B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160179332A KR102661491B1 (ko) 2016-12-26 동적 전압 주파수 스케일링을 사용하는 시스템 온 칩 및 그것의 동작 방법
US15/797,495 US10211947B2 (en) 2016-12-26 2017-10-30 System-on-chip using dynamic voltage frequency scaling and method of operating the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160179332A KR102661491B1 (ko) 2016-12-26 동적 전압 주파수 스케일링을 사용하는 시스템 온 칩 및 그것의 동작 방법

Publications (2)

Publication Number Publication Date
KR20180075760A true KR20180075760A (ko) 2018-07-05
KR102661491B1 KR102661491B1 (ko) 2024-04-29

Family

ID=

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210004265A1 (en) * 2020-09-18 2021-01-07 Francesc Guim Bernat Elastic power scaling
WO2023018066A1 (ko) * 2021-08-10 2023-02-16 삼성전자 주식회사 패킷 전송 제어 방법 및 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210004265A1 (en) * 2020-09-18 2021-01-07 Francesc Guim Bernat Elastic power scaling
WO2023018066A1 (ko) * 2021-08-10 2023-02-16 삼성전자 주식회사 패킷 전송 제어 방법 및 장치

Also Published As

Publication number Publication date
US10211947B2 (en) 2019-02-19
US20180183543A1 (en) 2018-06-28

Similar Documents

Publication Publication Date Title
KR102114453B1 (ko) 모바일 장치 및 그것의 제어 방법
CN109690512B (zh) 具有触发操作的gpu远程通信
US9746902B2 (en) System-on-chip including multi-core processor and dynamic power management method thereof
TWI542986B (zh) 管理系統、多核系統和其管理方法
US11797076B2 (en) Using network interface controller (NIC) queue depth for power state management
US9287208B1 (en) Architecture for on-die interconnect
US11281616B2 (en) Programmable data bus inversion and configurable implementation
KR20120040819A (ko) 디지털 시스템에서 동적 클럭 제어 장치 및 방법
US11683251B2 (en) Technologies for jitter-adaptive low-latency, low power data streaming between device components
US10437313B2 (en) Processor unit efficiency control
EP4202670A1 (en) Infrastructure managed workload distribution
US20230120652A1 (en) Inter-baseboard management controler (bmc) integration for high performance computing platforms
US10211947B2 (en) System-on-chip using dynamic voltage frequency scaling and method of operating the same
US11809289B2 (en) High-availability (HA) management networks for high performance computing platforms
WO2022271231A1 (en) Platform data aging for adaptive memory scaling
WO2022133875A1 (en) Protocol state aware power management
US20220224762A1 (en) Queuing control for distributed compute network orchestration
WO2017166207A1 (en) Cooperative scheduling of virtual machines
KR102661491B1 (ko) 동적 전압 주파수 스케일링을 사용하는 시스템 온 칩 및 그것의 동작 방법
CN112148453A (zh) 用于隐私计算的计算芯片及网络计算系统
US20140281592A1 (en) Global Efficient Application Power Management
US20230153121A1 (en) Accelerator usage prediction for improved accelerator readiness
US20220116669A1 (en) Methods, systems, apparatus, and articles of manufacture to cache media based on service level agreement type
EP4336395A1 (en) Attack detection method, attack response method, and storage device
US20230119134A1 (en) Intelligent accelerator license management

Legal Events

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