KR20170049195A - 전자 기기의 입출력 버스 주파수 설정 방법 - Google Patents

전자 기기의 입출력 버스 주파수 설정 방법 Download PDF

Info

Publication number
KR20170049195A
KR20170049195A KR1020150150279A KR20150150279A KR20170049195A KR 20170049195 A KR20170049195 A KR 20170049195A KR 1020150150279 A KR1020150150279 A KR 1020150150279A KR 20150150279 A KR20150150279 A KR 20150150279A KR 20170049195 A KR20170049195 A KR 20170049195A
Authority
KR
South Korea
Prior art keywords
input
output
bus frequency
output bus
electronic device
Prior art date
Application number
KR1020150150279A
Other languages
English (en)
Inventor
정성우
유재정
김민용
김영근
Original Assignee
고려대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 고려대학교 산학협력단 filed Critical 고려대학교 산학협력단
Priority to KR1020150150279A priority Critical patent/KR20170049195A/ko
Publication of KR20170049195A publication Critical patent/KR20170049195A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • 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
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • 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
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Power Sources (AREA)

Abstract

본 발명은 어플리케이션의 입출력 사용률을 이용하여 입출력 버스 주파수를 조절하는 전자 기기의 입출력 버스 주파수 설정 방법에 관한 것이다.
본 발명의 일실시예에 의한 전자 기기의 입출력 버스 주파수 설정 방법은 전자 기기의 입출력 버스 주파수 조절 방법에 있어서, 소정 주기로 어플리케이션의 입출력 사용률과 설정된 입출력 사용률 임계값을 비교하는 단계; 및 상기 비교 결과에 근거하여 입출력 버스 주파수를 코어 주파수와 독립적으로 조절하는 단계를 포함할 수 있다.

Description

전자 기기의 입출력 버스 주파수 설정 방법{METHOD FOR SCALING INPUT/OUTPUT BUS FREQUENCY IN ELECTRONIC DEVICE}
본 발명은 전자 기기의 입출력 버스 주파수 설정 방법에 관한 것으로, 보다 상세하게는 어플리케이션의 입출력 사용률을 이용하여 입출력 버스 주파수를 조절하는 전자 기기의 입출력 버스 주파수 설정 방법에 관한 것이다.
스마트 기기 내 입출력 장치(Input/Output Device)와 메인 메모리 사이 데이터 및 주소를 서로 주고받는 통로로 입출력 버스(Input/Output Bus)가 사용되어 왔다. 입출력 버스의 데이터 송수신 속도는 입출력 버스 주파수(Input/Output Bus Frequency)에 의해 조절된다. 관련된 선행문헌으로 등록특허 10-0369768호가 있다.
종래 기술은 어플리케이션의 중앙 처리 장치 사용률이 증가하면, 중앙 처리 장치(Central Processing Unit)의 주파수 높여 작업을 빨리 처리하고, 반대로 중앙 처리 장치 사용률이 낮으면, 중앙 처리 장치 주파수를 낮춘다. 이 때, 입출력 버스 주파수는 중앙 처리 장치 주파수와 비례하여 조절된다.
그러나 어플리케이션의 중앙 처리 장치 사용률은 입출력 사용률과 항상 비례하지 않기 때문에, 기존의 중앙 처리 장치의 주파수에 따라 입출력 버스 주파수를 조절하는 기법은 성능/에너지 측면에서 비효율적이다.
따라서 성능 및 에너지 측면에서 효율적이 입출력 버스 주파수 조절 기술에 대한 연구가 필요한 실정이다.
본 발명의 목적은 성능이 우수하고 에너지 소모가 적은 전자 기기의 입출력 버스 주파수 설정 방법을 제공하는 데 있다.
상기 목적을 달성하기 위해 본 발명의 일실시예에 의하면, 전자 기기의 입출력 버스 주파수 조절 방법에 있어서, 소정 주기로 어플리케이션의 입출력 사용률과 설정된 입출력 사용률 임계값을 비교하는 단계; 및 상기 비교 결과에 근거하여 입출력 버스 주파수를 코어 주파수와 독립적으로 조절하는 단계를 포함하는 전자 기기의 입출력 버스 주파수 설정 방법이 개시된다.
본 발명의 일실시예에 의한 전자 기기의 입출력 버스 주파수 설정 방법은 코어의 주파수와 독립적으로 입출력 버스 주파수를 조절하기에 성능을 향상시키고, 불필요한 에너지 소모를 줄일 수 있다.
본 발명에 일실시예에 의하면, 수행되는 어플리케이션의 입출력 사용률에 따라 입출력 버스 주파수를 효율적으로 조절할 수 있다.
본 발명에 일실시예에 의한 입출력 버스 주파수 설정 방법은 스마트 기기뿐만 아니라 서버 및 웨어러블 기기와 같이 입출력 장치의 접근이 많은 어플리케이션을 수행하는 기기에 효과적으로 적용될 수 있다.
도 1은 본 발명의 일실시예와 관련된 전자 기기의 블록도이다.
도 2는 본 발명의 일실시예와 관련된 전자 기기의 입출력 버스 주파수 설정 방법을 나타내는 흐름도이다.
도 3은 본 발명의 일실시예와 관련된 입출력 버스 주파수 설정 방법 중 입출력 주파수 조절 방법을 나타내는 흐름도이다.
도 4는 본 발명의 일실시예와 관련된 입출력 버스 주파수 설정 방법 중 입출력 사용률 임계값 설정을 설명하기 위한 도면이다.
이하, 본 발명의 일실시예와 관련된 전자 기기 및 전자 기기의 입출력 버스 주파수 설정 방법에 대해 도면을 참조하여 설명하도록 하겠다.
본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
본 명세서에서 중앙 처리 장치 사용률(CPU utilization)은 단위 시간 당 중앙 처리 장치가 작업을 처리 하는 총 시간의 비율을 의미하며, 어플리케이션의 중앙 처리 장치 사용률은 한 어플리케이션이 단위 시간 당 중앙 처리 장치에서 작업을 처리하는데 소비한 시간의 비율을 의미한다. 또한, 상기 어플리케이션의 중앙 처리 장치 사용률은 해당 어플리케이션이 배치된 코어의 사용률을 의미하며, 각 코어마다 측정이 가능하다.
본 명세서에서 입출력 사용률(I/O utilization)은 단위 시간 당 입출력 장치 (예를 들어, 메모리 혹은 저장 장치)에서 작업을 처리하는 총 시간의 비율을 의미 하며, 어플리케이션의 입출력 사용률은 한 어플리케이션이 단위 시간 당 입출력 장치에서 작업을 처리하는 데 소비하는 시간의 비율을 의미한다.
본 명세에서 전자 기기는 입출력 장치의 접근이 많은 어플리케이션을 수행하는 기기로 스마트 폰(smart phone), 노트북 컴퓨터(notebook computer), 디지털방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, 태블릿 PC, 웨어러블 디바이스 등의 이동 단말기 또는 서버 등을 포함할 수 있다.
도 1은 본 발명의 일실시예와 관련된 전자 기기의 블록도이다.
도시된 바와 같이, 전자 기기(100)는 메모리(110), 입출력 장치(120), 입출력 연결부(130), 사용자 입력부(140), 입출력 버스 주파수 조절부(150), 제1코어(160), 제2코어(170)를 포함할 수 있다. 메모리(110) 또는 입출력 장치(120)는 전자 기기(100)에 일체형으로 구현될 수도 있고, 별개의 구성요소로 탈부착 될 수도 있다.
메모리(110)에는 각종 데이터가 저장된다.
입출력 장치(120)는 신호나 데이터가 입력되거나 출력될 수 있는 장치로 카메라나 저장 장치 등을 포함할 수 있다.
상기 메모리(110) 또는 입출력 장치(120)는 입출력 연결부(130)를 통해 제1코어(160) 또는 제2코어(170)와 연결될 수 있다.
제1코어(160)는 제2코어(170)에 비해 상대적으로 복잡도가 높고, 성능이 우수하다. 따라서 제1코어(160)를 빅 코어라 부르고, 제2코어(170)를 스몰 코어로 부를 수 있다.
사용자 입력부(140)는 입출력 사용률 임계값 설정을 위한 사용자 입력을 수신할 수 있다. 상기 사용자 입력에 따라 입출력 사용률 임계값이 설정될 수 있다.
입출력 버스 주파수 조절부(150)는 소정 주기로 어플리케이션의 입출력 사용률과 설정된 입출력 사용률 임계값을 비교하여 입출력 버스 주파수를 조절할 수 있다. 상기 입출력 버스 주파수 조절부(150)는 코어 주파수 조절과는 독립적으로 입출력 버스 주파수를 조절할 수 있다.
도 2는 본 발명의 일실시예와 관련된 전자 기기의 입출력 버스 주파수 설정 방법을 나타내는 흐름도이다.
먼저, 부팅 단계에서 사용자 입력부(140)는 입출력 사용률 임계값 설정을 위한 사용자 입력을 수신할 수 있다(S210).
상기 임계값 설정을 위한 사용자 입력에 따라 입출력 사용률 임계값 설정될 수 있다(S220).
상기 임계값 설정은 부팅 과정에서 한 번 동작하며, 전원을 끌 때까지 설정한 임계값은 지속된다.
본 발명의 일실시예에 의하면, 상기 전자 기기(100)는 사용자에게 최적의 입출력 사용률 임계값 설정을 가이드 하기 위해 적어도 두 개의 입출력 사용률 임계값에 대한 복수 개의 어플리케이션의 수행 시간 및 에너지 소모에 대한 테스트 결과를 디스플레이부(미도시)를 통해 디스플레이 할 수 있다.
입출력 버스 주파수 조절부(150)는 주기적으로 어플리케이션의 입출력 사용률을 확인하여, 설정된 입출력 사용률 임계값과 비교할 수 있다(S230).
입출력 버스 주파수 조절부(150)는 상기 비교 결과에 따라 입출력 버스 주파수를 조절할 수 있다(S240). 전자 기기(100)의 전원이 오프될 때(S250)까지 상기 S230 단계 및 S240 단계는 반복될 수 있다.
도 3은 본 발명의 일실시예와 관련된 입출력 버스 주파수 설정 방법 중 입출력 주파수 조절 방법을 나타내는 흐름도이다.
입출력 사용률이 설정된 임계값 이상인 경우에는 입출력 버스 주파수를 해당 전자 기기(100)가 지원하는 입출력 버스 주파수의 최대값으로 설정하고(S310, S320), 입출력 사용률이 설정된 임계값 미만인 경우에는 전자 기기(100)가 지원하는 입출력 버스 주파수의 최소값으로 설정할 수 있다(S310, S330).
입출력 버스 전력 소모가 전체 시스템 전력 소모에 크게 영향을 미치지 않을뿐더러, 각 입출력 버스 주파수 별로 소모하는 전력이 차이가 없기 때문에, 입출력 버스 주파수를 전자 기기(100)가 지원하는 입출력 버스 주파수의 최대값, 최소값으로 조절해도 효과적인 주파수 조절이 될 수 있다.
만약 입출력 사용률 임계값을 60%로 설정했다면, 어플리케이션의 입출력 사용률이 60% 이상인 경우 입출력 버스 주파수를 해당 전자 기기(100)가 지원하는 입출력 버스 주파수의 최대값으로 설정하고, 입출력 사용률이 60% 미만일 경우 입출력 버스 주파수를 전자 기기(100)가 지원하는 입출력 버스 주파수의 최소값으로 설정할 수 있다.
한편, 본 발명의 일실시예에 의하면, 어플리케이션의 입출력 사용률이 설정된 임계값 이상인 경우에는 입출력 버스 주파수를 설정된 범위만큼 증가시킬 수 있다.
도 4는 본 발명의 일실시예와 관련된 입출력 버스 주파수 설정 방법 중 입출력 사용률 임계값 설정을 설명하기 위한 도면이다.
도 4는 입출력 사용률 임계값을 결정하기 위해 최신 이기종 멀티코어 프로세서를 탑재한 전자 기기에서의 입출력 사용률 임계값 테스트의 결과로, 도 4(a)는 설정된 임계값에 따른 수행 시간을 나타낸 그래프이고, 도 4(b)는 설정된 임계값에 따른 에너지 소모를 나타낸 그래프이다.
도 4의 실험은 두 개의 어플리케이션을 수행함과 동시에 입출력 사용률 임계값을 50%, 60%, 70%, 80%로 각각 설정하여 수행시간(도 4(a)) 및 에너지 소모를 측정한 결과(도 4(b))이다.
각 그래프는 입출력 사용률이 80%일 때 어플리케이션 수행시간과 에너지 소모 측정 결과 값에 각각 정규화한 그래프이다.
실험에 사용한 두 개의 어플리케이션 조합은 입출력 동작이 많은 어플리케이션(Kaspersky, Zipper, Gallerylock) 중 1개와 그렇지 않은 어플리케이션 (Alex, ‘Amaizing Alex’) 1개로 구성되어 있다.
입출력 사용률 임계값을 60%로 하였을 경우 평균적으로 수행 시간이 제일 짧고(성능이 좋고), 에너지 소모가 제일 적어, 이 값을 입출력 사용률 임계값으로 설정하였다.
전술한 바와 같이, 본 발명의 일실시예에 의한 전자 기기의 입출력 버스 주파수 설정 방법은 코어의 주파수와 독립적으로 입출력 버스 주파수를 조절하기에 성능을 향상시키고, 불필요한 에너지 소모를 줄일 수 있다.
본 발명에 일실시예에 의하면, 수행되는 어플리케이션의 입출력 사용률에 따라 입출력 버스 주파수를 효율적으로 조절할 수 있다.
본 발명에 일실시예에 의한 입출력 버스 주파수 설정 방법은 스마트 기기뿐만 아니라 서버 및 웨어러블 기기와 같이 입출력 장치의 접근이 많은 어플리케이션을 수행하는 기기에 효과적으로 적용될 수 있다.
상술한 입출력 버스 주파수 설정 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터로 판독 가능한 기록 매체에 기록될 수 있다. 이때, 컴퓨터로 판독 가능한 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 한편, 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터로 판독 가능한 기록매체에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM, DVD와 같은 광기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.
한편, 이러한 기록매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다.
또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
상기와 같이 설명된 전자 기기의 입출력 버스 주파수 설정 방법은 상기 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
100: 전자 기기
110: 메모리
120: 입출력 장치
130: 입출력 연결부
140: 사용자 입력부
150: 입출력 버스 주파수 조절부
160: 제1코어
170: 제2코어

Claims (5)

  1. 전자 기기의 입출력 버스 주파수 조절 방법에 있어서,
    소정 주기로 어플리케이션의 입출력 사용률과 설정된 입출력 사용률 임계값을 비교하는 단계; 및
    상기 비교 결과에 근거하여 입출력 버스 주파수를 코어 주파수와 독립적으로 조절하는 단계를 포함하는 것을 특징으로 하는 전자 기기의 입출력 버스 주파수 설정 방법.
  2. 제 1 항에 있어서, 상기 입출력 버스 주파수 조절 단계는,
    상기 입출력 사용률이 상기 임계값 이상인 경우, 현재 입출력 버스 주파수를 설정된 값으로 증가시키는 단계를 포함하는 것을 특징으로 하는 전자 기기의 입출력 버스 주파수 설정 방법.
  3. 제 1 항에 있어서, 상기 입출력 버스 주파수 조절 단계는,
    상기 입출력 사용률이 상기 임계값 이상인 경우, 입출력 버스 주파수를 상기 전자 기기가 지원하는 입출력 주파수의 최대값으로 설정하고,
    상기 입출력 사용률이 상기 임계값 미만인 경우, 입출력 버스 주파수를 상기 전자 기기가 지원하는 입출력 주파수의 최소값으로 설정하는 단계를 포함하는 것을 특징으로 하는 전자 기기의 입출력 버스 주파수 설정 방법.
  4. 제 3 항에 있어서, 상기 전자 기기의 입출력 버스 주파수 설정 방법은
    상기 입출력 사용률 임계값 설정을 위한 사용자 입력을 수신하는 단계; 및
    상기 사용자 입력에 근거하여 상기 입출력 사용률 임계값 설정하는 단계를 더 포함하는 것을 특징으로 전자 기기의 입출력 버스 주파수 설정 방법.
  5. 제 4 항에 있어서, 상기 전자 기기의 입출력 버스 주파수 설정 방법은
    적어도 두 개의 입출력 사용률 임계값에 대한 복수 개의 어플리케이션의 수행 시간 및 에너지 소모에 대한 테스트 결과를 디스플레이 하는 단계를 더 포함하는 것을 특징으로 하는 전자 기기의 입출력 버스 주파수 설정 방법.
KR1020150150279A 2015-10-28 2015-10-28 전자 기기의 입출력 버스 주파수 설정 방법 KR20170049195A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150150279A KR20170049195A (ko) 2015-10-28 2015-10-28 전자 기기의 입출력 버스 주파수 설정 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150150279A KR20170049195A (ko) 2015-10-28 2015-10-28 전자 기기의 입출력 버스 주파수 설정 방법

Publications (1)

Publication Number Publication Date
KR20170049195A true KR20170049195A (ko) 2017-05-10

Family

ID=58743942

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150150279A KR20170049195A (ko) 2015-10-28 2015-10-28 전자 기기의 입출력 버스 주파수 설정 방법

Country Status (1)

Country Link
KR (1) KR20170049195A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210120299A (ko) * 2020-03-26 2021-10-07 성균관대학교산학협력단 폴링 입출력 방식 기반 전력 효율 조절 방법 및 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210120299A (ko) * 2020-03-26 2021-10-07 성균관대학교산학협력단 폴링 입출력 방식 기반 전력 효율 조절 방법 및 장치
US11474588B2 (en) 2020-03-26 2022-10-18 Research & Business Foundation Sungkyunkwan University Method and apparatus for controlling power efficiency of processor based on polling I/O

Similar Documents

Publication Publication Date Title
EP3137965B1 (en) Cpu/gpu dcvs co-optimization for reducing power consumption in graphics frame processing
US10599207B2 (en) Management of core power state transition in a microprocessor
CN107924225B (zh) 用于动态地调整存储器状态转变定时器的系统和方法
US9164931B2 (en) Clamping of dynamic capacitance for graphics
JP2015079496A (ja) チップ上のマルチコアシステムの全域チップ電力を管理する方法およびその装置。
TW201626146A (zh) 處理器溫度之均衡控制
CN104239153A (zh) 多核cpu负载均衡的方法和装置
EP3748471A1 (en) Processor core energy management
US9292356B2 (en) Thread processing on an asymmetric multi-core processor
US20130282869A1 (en) Method, apparatus, and computer program product for scheduling file uploads
US20160342191A1 (en) Cpu frequency scaling apparatus and method
US10884483B2 (en) Autonomous C-state algorithm and computational engine alignment for improved processor power efficiency
US9329648B2 (en) Performance management of subsystems in a server by effective usage of resources
US10409350B2 (en) Instruction optimization using voltage-based functional performance variation
US10216526B2 (en) Controlling method for optimizing a processor and controlling system
US8984308B2 (en) System and method of adaptive voltage scaling
US20170046159A1 (en) Power efficient fetch adaptation
US11550723B2 (en) Method, apparatus, and system for memory bandwidth aware data prefetching
TW201805809A (zh) 用於異構並行結構的細細微性功率最佳化
US9152473B2 (en) Table driven multiple passive trip platform passive thermal management
JP6297748B2 (ja) プロデューサ/コンシューマワークロードシリアライゼーションの検出に基づいたプロセッサ状態制御
US10725525B2 (en) Method of operating system-on-chip, system-on-chip performing the same and electronic system including the same
KR20170049195A (ko) 전자 기기의 입출력 버스 주파수 설정 방법
US20160275900A1 (en) Adaptive partial screen update with dynamic backlight control capability
KR101509938B1 (ko) 태스크 스케줄링 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application