KR20160029594A - 파워 프로파일링 방법 및 파워 프로파일링 시스템 - Google Patents

파워 프로파일링 방법 및 파워 프로파일링 시스템 Download PDF

Info

Publication number
KR20160029594A
KR20160029594A KR1020140119368A KR20140119368A KR20160029594A KR 20160029594 A KR20160029594 A KR 20160029594A KR 1020140119368 A KR1020140119368 A KR 1020140119368A KR 20140119368 A KR20140119368 A KR 20140119368A KR 20160029594 A KR20160029594 A KR 20160029594A
Authority
KR
South Korea
Prior art keywords
power
information
hardware
software
status information
Prior art date
Application number
KR1020140119368A
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 KR1020140119368A priority Critical patent/KR20160029594A/ko
Priority to US14/752,872 priority patent/US20160070632A1/en
Publication of KR20160029594A publication Critical patent/KR20160029594A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • G06F11/3062Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • G06F11/3082Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting the data filtering being achieved by aggregating or compressing the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Debugging And Monitoring (AREA)
  • Power Sources (AREA)

Abstract

파워 프로파일링 방법, 파워 프로파일링 시스템 및 프로세서 판독가능 저장매체에 관하여 개시한다. 파워 프로파일링 방법은 입력되는 테스트 제어 정보에 따라서 타깃 보드에서 동작되는 파워 도메인에 대한 소프트웨어 및 하드웨어 상태를 나타내는 파워 상태 정보를 수집하는 단계 및, 상기 수집된 파워 상태 정보를 이용하여 상기 타깃 보드에서 사용되는 파워에 대한 분석 정보를 생성하는 단계를 포함한다.

Description

파워 프로파일링 방법 및 파워 프로파일링 시스템{Power profiling method and power profiling system}
본 발명은 파워 분석 방법 및 장치에 관한 것으로서, 자세하게는 파워 프로파일링 방법, 파워 프로파일링 시스템 및 프로세서 판독가능 저장매체에 관한 것이다.
반도체 기술의 발전에 따라 소자의 크기가 작아지고 동작 속도도 빨라지면서도 소비전력을 줄이는 것이 중요한 이슈로 대두되고 있다. 배터리를 사용하는 모바일 기기의 경우에 저전력 설계를 위한 솔루션 개발이 필요하게 되었다. 이러한 저전력 솔루션 개발을 위해 제품 개발 단계에서 파워 관련 소프트웨어 및 하드웨어를 최적화할 수 있도록 모니터링할 수 있는 솔루션이 필요하게 되었다.
본 발명의 기술적 사상이 해결하려는 과제는 제품 개발 단계에서 파워 관련 소프트웨어 및 하드웨어를 최적화하도록 모니터링하는 파워 프로파일링 방법을 제공하는데 있다.
본 발명의 기술적 사상이 해결하려는 다른 과제는 제품 개발 단계에서 파워 관련 소프트웨어 및 하드웨어를 최적화하도록 모니터링하는 파워 프로파일링 시스템을 제공하는데 있다.
본 발명의 기술적 사상이 해결하려는 또 다른 과제는 제품 개발 단계에서 파워 관련 소프트웨어 및 하드웨어를 최적화하도록 모니터링하는 파워 프로파일링 방법을 실행시키기 위한 프로그램 코드가 쓰여진 프로세서 판독가능 저장매체를 제공하는데 있다.
본 발명의 기술적 사상의 일면에 따른 파워 프로파일링 방법은 입력되는 테스트 제어 정보에 따라서 타깃 보드에서 동작되는 파워 도메인에 대한 소프트웨어 및 하드웨어 상태를 나타내는 파워 상태 정보를 수집하는 단계 및, 상기 수집된 파워 상태 정보를 이용하여 상기 타깃 보드에서 사용되는 파워에 대한 분석 정보를 생성하는 단계를 포함한다.
본 발명의 실시 예에 따르면, 상기 파워 상태 정보는 상기 타깃 보드에 내장된 적어도 하나의 디바이스에 공급되는 전원에 관련된 소프트웨어 및 하드웨어 파워 게이팅 상태 정보를 포함할 수 있다.
본 발명의 실시 예에 따르면, 상기 소프트웨어 파워 게이팅 상태 정보는 상기 디바이스에 공급되는 전원에 대한 게이팅 오퍼레이션을 지시하는 소프트웨어의 상태 정보를 포함할 수 있다.
본 발명의 실시 예에 따르면, 상기 하드웨어 파워 게이팅 상태 정보는 상기 디바이스에 전원을 공급하는 게이팅 회로를 동작시키는 제어 신호의 상태 정보를 포함할 수 있다.
본 발명의 실시 예에 따르면, 상기 파워 상태 정보는 상기 타깃 보드에 탑재된 프로세서에 대한 상태 정보를 포함할 수 있다.
본 발명의 실시 예에 따르면, 상기 프로세서에 대한 상태 정보는 상기 타깃 보드에 탑재된 멀티 코어 중앙 처리 장치들에 대한 활성화 상태 정보를 포함할 수 있다.
본 발명의 실시 예에 따르면, 상기 프로세서에 대한 상태 정보는 상기 프로세서의 동작 주파수 정보를 포함할 수 있다.
본 발명의 실시 예에 따르면, 상기 파워 상태 정보는 상기 타깃 보드에서의 적어도 하나의 측정 포인트에 대한 온도 측정 정보를 포함할 수 있다.
본 발명의 실시 예에 따르면, 상기 타깃 보드의 적어도 하나의 파워 도메인에 대한 소비 전력 측정 정보를 생성하는 단계를 더 포함하고, 상기 분석 정보를 생성하는 단계는 상기 파워 상태 정보 및 상기 소비 전력 측정 정보를 조합하여 상기 타깃 보드의 하드웨어 및 소프트웨어에 대한 파워 분석 정보를 생성할 수 있다.
본 발명의 실시 예에 따르면, 상기 소비 전력 측정 정보는 상기 타깃 보드의 적어도 하나의 전원 라인에 삽입된 션트 저항 양단 사이의 전압을 이용하여 산출할 수 있다.
본 발명의 실시 예에 따르면, 상기 분석 정보를 생성하는 단계는 상기 수집된 파워 상태 정보를 가공하여 출력 장치에 디스플레이하기 위한 파워 분석 정보를 생성시킬 수 있다.
본 발명의 실시 예에 따르면, 상기 분석 정보를 생성하는 단계는 상기 수집된 파워 상태 정보를 가공하여 소프트웨어 및 하드웨어에 대한 파워 설계를 검증하는 분석 정보를 생성할 수 있다.
본 발명의 실시 예에 따르면, 상기 타깃 보드는 임베디드 시스템 보드를 포함할 수 있다.
발명의 기술적 사상의 다른 면에 따른 파워 프로파일링 시스템은 입력되는 테스트 제어 정보에 따라서 동작하는 소프트웨어 및 하드웨어 동작 상태를 나타내는 파워 상태 정보를 수집하고, 상기 파워 상태 정보를 테스트 관리 유닛으로 전송하는 임베디드 시스템 보드, 상기 임베디드 시스템 보드의 전원 라인에 접속하여, 적어도 하나의 파워 도메인에 대한 소비 전력 측정 정보를 산출하고, 상기 산출된 소비 전력 측정 정보를 테스트 관리 유닛으로 전송하는 파워 측정 유닛 및, 상기 임베디드 시스템 보드 및 상기 파워 모니터링 유닛과 접속하여, 파워 테스트 시나리오에 기초한 상기 테스트 제어 정보를 상기 임베디드 시스템 보드로 전송하고, 상기 파워 상태 정보 및 상기 소비 전력 측정 정보를 조합하여 파워 테스트 리포팅 정보를 생성하는 테스트 관리 유닛을 포함한다.
본 발명의 실시 예에 따르면, 상기 임베디드 시스템 보드는 상기 테스트 제어 정보에 따라서 동작하는 파워 도메인에 대한 소프트웨어 및 하드웨어 파워 게이팅 상태 정보, 중앙 처리 장치에 대한 상태 정보, 또는 적어도 하나의 측정 포인트에 대한 온도 정보 중의 적어도 하나의 정보를 포함하는 파워 상태 정보를 수집하고, 상기 수집된 상기 파워 상태 정보를 상기 테스트 관리 유닛으로 전송하는 동작을 수행할 수 있다.
본 발명의 실시 예에 따르면, 상기 임베디드 시스템 보드는 복수의 파워 도메인들로 각기 다른 전원을 공급하는 파워 관리 유닛 및, 상기 파워 관리 유닛으로부터 복수의 전원들을 공급받고, 상기 파워 상태 정보를 수집하는 어플리케이션 프로그램을 실행하는 어플리케이션 프로세서를 포함하며, 상기 복수의 전원들 중의 적어도 하나의 전원 라인에 션트 저항을 삽입할 수 있다.
본 발명의 실시 예에 따르면, 상기 어플리케이션 프로세서는 모바일 기기에 대한 어플리케이션 프로세서를 포함할 수 있다.
본 발명의 실시 예에 따르면, 상기 파워 측정 유닛은 상기 임베디드 시스템 보드의 적어도 하나의 전원 라인에 삽입된 션트 저항 양단 사이의 전압을 측정하고, 상기 측정된 전압에 기초하여 상기 전원 라인이 접속된 파워 도메인에 대한 소비 전력 측정 정보를 산출할 수 있다.
본 발명의 실시 예에 따르면, 상기 테스트 관리 유닛은 상기 파워 상태 정보 및 상기 소비 전력 측정 정보를 가공하여 상기 임베디드 시스템 보드의 하드웨어 및 소프트웨어에 대한 디스플레이용 파워 분석 정보를 생성시킬 수 있다.
발명의 기술적 사상의 또 다른 면에 따른 프로세서 판독가능 저장매체에는 입력되는 테스트 제어 정보에 따라서 타깃 보드에서 동작되는 파워 도메인에 대한 소프트웨어 및 하드웨어 상태를 나타내는 파워 상태 정보를 수집하는 단계 및, 상기 수집된 파워 상태 정보를 이용하여 상기 타깃 보드에서의 소비 전력에 대한 분석 정보를 생성하는 단계를 포함하는 파워 프로파일링 방법을 실행시키기 위한 프로그램 코드가 쓰여진다.
본 발명에 따르면 어플리케이션 프로세서의 파워를 워크로드(workload)에 따라 최적화시킬 수 있는 효과가 발생된다.
본 발명에 따르면 하드웨어와 소프트웨어에 대한 파워 설계를 동시에 검증할 수 있는 효과가 발생된다.
본 발명에 따르면 퍼스널 컴퓨터와 파워 측정 유닛을 이용하여 제품 개발자의 어플리케이션 파워 프로세서에 특화된 프로파일링 시스템을 구축할 수 있는 효과가 발생된다. 즉, 제품 개발에 필요한 모든 정보를 제공하여 파워 설계에 대한 조기 품질 안정화를 통해 개발 납기를 단축할 수 있는 효과가 발생된다.
도 1은 본 발명의 실시 예에 따른 파워 프로파일링 시스템의 구성도이다.
도 2는 도 1에 도시된 임베디드 시스템 보드에 대한 세부 구성의 일 예를 보여준다.
도 3은 도 1에 도시된 임베디드 시스템 보드에 대한 세부 구성의 다른 예를 보여준다.
도 4는 도 1에 도시된 파워 측정 유닛에 대한 세부 구성의 일 예를 보여준다.
도 5는 도 4에 도시된 전압 측정부의 세부 구성의 일 예를 보여준다.
도 6은 도 1에 도시된 테스트 관리 유닛에 대한 세부 구성의 일 예를 보여준다.
도 7 내지 도 10은 본 발명의 실시 예에 따른 파워 프로파일링 시스템의 모니터링 화면 구성의 다양한 예를 보여준다.
도 11은 본 발명의 다른 실시 예에 따른 파워 프로파일링 시스템의 구성도이다.
도 12는 본 발명의 실시 예에 따른 파워 프로파일링 시스템에서의 파워 프로파일링 처리 동작의 흐름을 보여주는 도면이다.
도 13은 본 발명의 실시 예에 따른 파워 프로파일링 방법의 흐름도이다.
도 14는 본 발명의 다른 실시 예에 따른 파워 프로파일링 방법의 흐름도이다.
도 15는 본 발명의 실시 예들에 따른 임베디드 시스템 보드가 적용되는 전자 장치의 예를 나타내는 도면이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다. 본 발명의 실시 예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 실시 예에 따른 파워 프로파일링 시스템의 구성도이다.
도 1을 참조하면, 파워 프로파일링 시스템(1000)은 임베디드 시스템 보드(100), 파워 측정 유닛(200) 및 테스트 관리 유닛(300)을 포함한다.
임베디드 시스템 보드(100)는 특정한 기능을 가진 전자 제품을 만들기 위하여 해당 전자 제품 내에 내장되는 전자 제어 시스템 보드로서, 미리 정해진 특정 기능을 수행하기 위한 하드웨어 및 소프트웨어로 조합되어 있다. 예로서, 임베디드 시스템 보드(100)는 모바일 기기, 노트북 컴퓨터, 카메라, 등과 같은 전자 제품에 내장될 수 있다.
임베디드 시스템 보드(100)는 어플리케이션 프로세서(110)를 포함한다. 어플리케이션 프로세서(110)는 각종 어플리케이션 프로그램 구동, 사운드 처리, 그래픽 처리 등과 같은 오퍼레이션을 수행한다. 예로서, 어플리케이션 프로세서(110)는 오디오 코덱(codec) 처리 기능, 그래픽 처리 기능, 멀티미디어 처리 기능 등의 여러 기능들을 하나로 합친 시스템 온 칩(SoC; System on Chip)으로 구현할 수 있다. 다른 예로서, 어플리케이션 프로세서(110)는 복수의 칩들로 구성되는 칩셋(chipset) 형태로 구현될 수도 있다. 위의 각 기능 블록은 IP(Intellectual property) 또는 디바이스에서 실행된다. 또한, 위의 기능 블록들은 가상 디바이스에 의하여 수행될 수도 있다.
어플리케이션 프로세서(110)에는 임베디드 시스템 보드(100)에서 동작되는 파워 도메인에 대한 소프트웨어 및 하드웨어 상태를 나타내는 파워 상태 정보를 수집하는 파워 모니터링 어플리케이션 프로그램(PMon; 111)이 저장되어 있다.
임베디드 시스템 보드(100)는 파워 게이팅 동작을 독립적으로 실행할 수 있는 복수개의 파워 도메인들로 구성될 수 있다. 이는 소비 전력을 절감하기 위한 것으로, 사용하지 않는 하드웨어에 공급되는 전원을 오프시키는 파워 게이팅 처리를 할 수 있다. 예로서, 기능 블록의 종류에 따라서 파워 도메인을 분리할 수도 있다. 다른 예로서, 2개 이상의 기능 블록들을 통합하여 하나의 파워 도메인을 구성할 수도 있다.
임베디드 시스템 보드(100)에서 파워 모니터링 어플리케이션 프로그램(PMon)을 실행하면, 임베디드 시스템(100)의 소비 전력에 관련된 소프트웨어 및 하드웨어 동작 상태를 나타내는 파워 상태 정보를 수집할 수 있다.
예로서, 파워 상태 정보는 임베디드 시스템 보드(100)에 내장된 적어도 하나의 디바이스에 공급되는 전원에 관련된 소프트웨어 및 하드웨어 파워 게이팅 상태 정보를 포함할 수 있다. 파워 상태 정보는 임베디드 시스템 보드(100)로 입력되는 테스트 제어 정보에 따라서 동작되는 파워 도메인에 대한 소프트웨어 및 하드웨어 파워 게이팅 상태 정보를 포함할 수 있다. 임베디드 시스템 보드(100)는 테스트 제어 정보를 테스트 관리 유닛(300)으로부터 제공받을 수 있다. 예로서, 테스트 제어 정보는 커맨드 형태로 제공받을 수 있다. 다른 예로서, 테스트 제어 정보는 제어신호의 형태로 제공받을 수도 있다.
세부적으로, 소프트웨어 파워 게이팅 상태 정보는 적어도 하나의 디바이스에 공급되는 전원에 대한 게이팅 오퍼레이션을 지시하는 소프트웨어의 상태 정보를 포함할 수 있다. 또한, 소프트웨어 파워 게이팅 상태 정보는 적어도 하나의 파워 도메인에 공급되는 전원에 대한 게이팅 오퍼레이션을 지시하는 소프트웨어의 상태 정보를 포함할 수 있다.
그리고, 하드웨어 파워 게이팅 상태 정보는 적어도 하나의 디바이스에 전원을 공급하는 게이팅 회로를 동작시키는 제어 신호의 상태 정보를 포함할 수 있다. 또한, 하드웨어 파워 게이팅 상태 정보는 적어도 하나의 파워 도메인에 전원을 공급하는 게이팅 회로를 동작시키는 제어 신호의 상태 정보를 포함할 수 있다.
예로서, 파워 상태 정보는 어플리케이션 프로세서(110)에 내장된 하나 이상의 프로세서에 대한 상태 정보를 포함할 수 있다. 프로세서에 대한 상태 정보는 프로세서에 내장된 멀티 코어 중앙 처리 장치들에 대한 활성화 상태 정보를 포함할 수 있다. 프로세서에 대한 상태 정보는 프로세서의 동작 주파수 정보를 포함할 수 있다.
예로서, 파워 상태 정보는 임베디드 시스템 보드(100)에서의 적어도 하나의 측정 포인트에 대한 온도 측정 정보를 포함할 수 있다. 세부적으로, 파워 도메인 별로 측정 포인트를 결정할 수 있다. 또한, 온도 상승이 예상되는 디바이스를 측정 포인트로 결정할 수도 있다.
파워 측정 유닛(200)은 임베디드 시스템 보드(100)의 전원 라인에 접속하여, 적어도 하나의 파워 도메인에 대한 소비 전력 측정 정보를 산출하고, 산출된 소비 전력 측정 정보를 테스트 관리 유닛(300)으로 전송하는 동작을 수행한다.
예로서, 파워 측정 유닛(200)은 파워 도메인 별로 전원 라인에 흐르는 전류 값을 측정하고, 측정된 전류 값을 이용하여 파워 도메인 별로 소비 전력 측정 정보를 산출할 수 있다. 산출된 소비 전력 측정 정보는 실시간으로 해당 파워 도메인에 대한 소비 전력을 나타낸다.
다른 예로서, 파워 측정 유닛(200)은 주요 파워 도메인들 각각의 전원 라인에 흐르는 전류 값을 측정하고, 측정된 전류 값을 이용하여 주요 파워 도메인 별로 소비 전력 측정 정보를 산출할 수 있다. 산출된 소비 전력 측정 정보는 실시간으로 해당 파워 도메인에 대한 소비 전력을 나타낸다.
테스트 관리 유닛(300)은 임베디드 시스템 보드(100) 및 파워 모니터링 유닛(200)과 유선 인터페이스 또는 무선 인터페이스를 통하여 접속된다.
테스트 관리 유닛(300)은 파워 테스트 시나리오에 기초한 테스트 제어 정보를 임베디드 시스템 보드(100)로 전송하고, 임베디드 시스템 보드(100)로부터 파워 상태 정보를 수신하다. 그리고, 파워 측정 유닛(200)으로부터 소비 전력 측정 정보를 수신한다. 파워 테스트 시나리오는 임베디드 시스템 보드(100)의 기능 블록이 동작하는 순서에 따라서 주요 파워 도메인들에 대한 소비 전력을 측정하는 과정을 설정한 것이다. 예로서, 모바일 기기에 적용되는 임베디드 시스템 보드(100)에 대한 파워 테스트 시나리오의 예들을 아래에 나타내었다.
[파워 테스트 시나리오 1]
Home -> Video Play -> 3D Game -> MP3 Play -> Camera -> Home
[파워 테스트 시나리오 2]
Home -> MP3 Play -> Home -> Internet -> Home -> Video Play -> Home
테스트 관리 유닛(300)은 임베디드 시스템 보드(100) 및 파워 측정 유닛(200)으로부터 수신된 파워 상태 정보 및 소비 전력 측정 정보를 조합하여 파워 테스트 리포팅 정보를 생성한다. 세부적으로, 테스트 관리 유닛(300)은 파워 상태 정보 및 소비 전력 측정 정보를 조합하여 임베디드 시스템 보드(100)의 하드웨어 및 소프트웨어에 대한 파워 분석 정보를 생성할 수 있다.
테스트 관리 유닛(300)은 수신된 파워 상태 정보를 가공하여 소프트웨어 및 하드웨어에 대한 파워 설계 오류를 검출하는 분석 정보를 생성할 수도 있다. 예로서, 테스트 관리 유닛(300)은 테스트 제어 정보에 따라서 동작되는 타깃 파워 도메인에 대한 소프트웨어 파워 게이팅 상태와 하드웨어 파워 게이팅 상태를 비교하여 동일한 게이팅 상태를 나타내는지를 알려주는 분석 정보를 생성할 수 있다.
타깃 파워 도메인에 대한 소프트웨어 파워 게이팅 상태와 하드웨어 파워 게이팅 상태가 동일한 경우에는 “PASS”를 나타내는 분석 정보를 생성하고, 그렇지 않은 경우에는 “FAIL”을 나타내는 분석 정보를 생성할 수 있다. 구체적으로, 타깃 파워 도메인에 대한 소프트웨어 파워 게이팅 상태 및 하드웨어 파워 게이팅 상태가 모두 “ON”을 나타내는 경우에는 “PASS”를 나타내는 분석 정보를 생성한다.
만일, 타깃 파워 도메인에 대한 소프트웨어 파워 게이팅 상태는 “ON”을 나타내고, 하드웨어 파워 게이팅 상태는 “OFF”를 나타내는 경우에는 “FAIL”을 나타내는 분석 정보를 생성한다. 이 경우에는 임베디드 시스템 보드(100)의 타깃 파워 도메인에 대한 어플리케이션 프로세서(110)가 정상적으로 동작하지 않는 것을 나타낸다.
또한, 테스트 제어 정보에 따라서 동작이 허용되지 않는 파워 도메인에 대한 소프트웨어 파워 게이팅 상태와 하드웨어 파워 게이팅 상태 중의 어느 하나 이상이 “ON”을 나타내는 경우에도 “FAIL”을 나타내는 분석 정보를 생성할 수 있다. 이 경우는 해당 파워 도메인에 파워 오프 상태를 유지하는 목표 설계하였으나, 실제에 있어서 소프트웨어 파워 게이팅 상태와 하드웨어 파워 게이팅 상태 중의 어느 하나가 “ON”을 나타내므로 해당 파워 도메인에 대한 어플리케이션 프로세서(110)가 정상적으로 동작하지 않는 것을 알려준다.
도 2는 도 1에 도시된 임베디드 시스템 보드에 대한 세부 구성의 일 예(100A)를 보여준다.
도 2를 참조하면, 임베디드 시스템 보드(100A)는 어플리케이션 프로세서(110A), 파워 관리 유닛(120) 및 제1인터페이스(I/F1; 130)를 포함한다.
파워 관리 유닛(120)은 임베디드 시스템 보드(100A)에서 필요로 하는 전원을 공급하고 관리한다. 파워 관리 유닛(120)는 임베디드 시스템 보드(100A)의 복수의 파워 도메인들 각각에 전원을 공급한다. 세부적으로, 파워 관리 유닛(120)은 어플리케이션 프로세서(110A)을 구성하는 복수의 파워 도메인들 각각에 전원을 공급한다. 예로서, 파워 관리 유닛(120)은 어플리케이션 프로세서(110A)의 기능 블록의 종류에 따라서 분리된 파워 도메인들 각각에 독립적인 전원을 공급할 수 있다. 여기에서, 독립적인 전원이란 다른 전원 라인들과 관계없이 파워 게이팅 처리를 실행할 수 있는 전원을 의미한다. 즉, 개별적으로, 전원 공급을 스위칭할 수 있는 전원을 의미한다.
도 2에 도시된 바와 같이, 파워 관리 유닛(120)은 각 파워 도메인 별로 션트(shunt) 저항(R1 ~ Rn)을 통하여 어플리케이션 프로세서(110A)로 복수개의 전원을 공급한다. 즉, 파워 관리 유닛(120)에서 생성되는 전원 라인별로 하나의 션트 저항 션트 저항(R1 ~ Rn)을 삽입하는 회로 구성을 갖는다. 션트 저항(R1 ~ Rn)은 전원 라인에 흐르는 전류 값을 계산하기 위하여 사용하는 낮은 저항 값을 갖는 저항 소자이다.
어플리케이션 프로세서(110A)는 임베디드 시스템(100A)가 내장되는 전자 기기를 총괄적으로 제어하고, 각종 어플리케이션 프로그램을 구동시켜 다양한 기능 구현하는 오퍼레이션을 수행한다. 어플리케이션 프로세서(110A)는 미리 정해진 특정 기능을 수행하기 위한 하드웨어 및 소프트웨어로 조합되어 있다. 어플리케이션 프로세서(110A)는 오디오 코덱(codec) 처리 기능, 그래픽 처리 기능, 멀티미디어 처리 기능 등의 여러 기능들을 하나로 합친 시스템 온 칩(SoC; System on Chip)으로 구현할 수 있다. 다른 예로서, 어플리케이션 프로세서(110A)는 복수의 칩들로 구성되는 칩셋(chipset) 형태로 구현될 수도 있다.
어플리케이션 프로세서(110A)에는 임베디드 시스템 보드(100A)에서 동작되는 파워 도메인에 대한 소프트웨어 및 하드웨어 상태를 나타내는 파워 상태 정보를 수집하는 파워 모니터링 어플리케이션 프로그램(PMon; 111)이 저장되어 있다. 파워 모니터링 어플리케이션 프로그램(111)은 리눅스(Linux) 가상 디바이스의 정보를 스캔, 수집하여 호스트에 해당되는 테스트 관리 유닛(300)으로 전송하는 리눅스 어플리케이션 프로그램이 될 수 있다.
어플리케이션 프로세서(110A)는 파워 게이팅 동작을 독립적으로 실행할 수 있는 복수개의 파워 도메인들로 구성될 수 있다. 예로서, 어플리케이션 프로세서(110A)의 기능 블록의 종류에 따라서 파워 도메인을 분리할 수도 있다.
어플리케이션 프로세서(110A)는 파워 모니터링 어플리케이션 프로그램(PMon)을 실행함으로써, 파워 도메인 별로 소프트웨어 및 하드웨어 상태를 나타내는 파워 상태 정보를 수집할 수 있다.
파워 모니터링 어플리케이션 프로그램(PMon)을 실행하여 어플리케이션 프로세서(110A)에서 다음과 같은 파워 상태 정보를 수집할 수 있다.
어플리케이션 프로세서(110A)는 임베디드 시스템 보드(100A)에 내장된 적어도 하나의 디바이스에 공급되는 전원에 관련된 소프트웨어 및 하드웨어 파워 게이팅 상태 정보를 수집한다. 예로서, 어플리케이션 프로세서(110A)는 입력되는 테스트 제어 정보에 따라서 동작되는 파워 도메인에 대한 소프트웨어 및 하드웨어 파워 게이팅 상태 정보를 수집할 있다.
세부적으로, 어플리케이션 프로세서(110A)는 적어도 하나의 파워 도메인에 공급되는 전원에 대한 게이팅 오퍼레이션을 지시하는 소프트웨어의 상태 정보를 수집할 수 있다. 또한, 어플리케이션 프로세서(110A)는 적어도 하나의 파워 도메인에 전원을 공급하는 게이팅 회로를 동작시키는 제어 신호의 상태 정보를 수집할 수 있다.
어플리케이션 프로세서(110A)는 내장된 하나 이상의 프로세서에 대한 상태 정보를 수집할 수 있다. 세부적으로, 어플리케이션 프로세서(110A)는 멀티 코어 중앙 처리 장치들에 대한 활성화 상태 정보를 수집할 수 있다. 또한, 프로세서의 동작 주파수 정보를 수집할 수도 있다.
어플리케이션 프로세서(110A)는 임베디드 시스템 보드(100A)에서의 적어도 하나의 측정 포인트에 대한 온도 측정 정보를 수집할 수 있다.
제1인터페이스(130)는 임베디드 시스템 보드(100A)에 접속되는 테스트 관리 유닛(300)과의 데이터 교환 프로토콜을 구비하고, 임베디드 시스템 보드(100A)와 테스트 관리 유닛(300) 사이의 인터페이스를 수행한다. 제1인터페이스(130)는 예로서 ATA(Advanced Technology Attachment) 인터페이스, SATA(Serial Advanced Technology Attachment) 인터페이스, PATA(Parallel Advanced Technology Attachment) 인터페이스, USB(Universal Serial Bus) 또는 SAS(Serial Attached Small Computer System) 인터페이스, SCSI(Small Computer System Interface), eMMC(embedded Multi Media Card) 인터페이스, UFS(Universal Flash Storage) 인터페이스, 이더넷(Ethernet) 인터페이스 등으로 구현할 수 있다. 그러나 이는 예시일 뿐 이에 제한되는 것은 아니다.
어플리케이션 프로세서(110A)는 제1인터페이스(130)를 통하여 테스트 관리 유닛(300)으로부터 파워 테스트 시나리오에 기초한 테스트 제어 정보를 수신한다. 그리고, 어플리케이션 프로세서(110A)는 실시간으로 수집된 파워 상태 정보를 제1인터페이스(130)를 통하여 테스트 관리 유닛(300)으로 전송한다.
도 3은 도 1에 도시된 임베디드 시스템 보드에 대한 세부 구성의 다른 예(100B)를 보여준다.
도 3을 참조하면, 임베디드 시스템 보드(100B)는 프로세서(110B), 파워 관리 유닛(120B), 제1인터페이스(I/F1; 130), 메모리(140), IP 블록(150) 및 버스(160)를 포함한다.
파워 관리 유닛(120B)은 임베디드 시스템 보드(100B)에서 필요로 하는 전원을 공급하고 관리한다. 파워 관리 유닛(120B)는 임베디드 시스템 보드(100B)의 복수의 파워 도메인들 각각에 전원을 공급한다. 세부적으로, 파워 관리 유닛(120)는 프로세서(110B), 제1인터페이스(130), 메모리(140) 및 IP 블록(150)에 각각 독립적인 전원을 공급한다. 예로서, IP 블록(150)에 포함된 복수의 IP들(IP1 ~ IPi)에 각기 다른 전원을 공급할 수 있다. 다른 예로서, IP 블록(150)에 포함된 복수의 IP들(IP1 ~ IPi) 중에서 상호 연관성이 높은 IP들을 동일한 파워 도메인으로 구성할 수도 있다. 예로서, 사운드 처리 기능의 IP와 비디오 처리 기능의 IP는 함께 동작할 가능성이 높으므로 동일한 파워 도메인으로 구성할 수도 있다. 파워 관리 유닛(120B)는 각 파워 도메인 별로 션트(shunt) 저항(R1 ~ Rn)을 통하여 전원 전압을 공급한다.
프로세서(110B)는 버스(160)를 통하여 임베디드 시스템 보드(100B)의 구성 수단들과 연결된다. 프로세서(110B)는 임베디드 시스템 보드(100B)의 구성 수단들의 동작을 제어를 수행하기 위한 회로 및 프로그램 코드를 포함할 수 있다. 예로서, 프로세서(110B)는 CPU, ARM, 또는 주문형 반도체(ASIC: application specific integrated circuit)를 포함할 수 있다.
메모리(140)는 임베디드 시스템 보드(100B)의 동작에 필요한 데이터, 명령들 또는 프로그램 코드들을 저장하는 SRAM 또는 DRAM을 포함할 수 있다. 또한, 비휘발성 메모리를 포함할 수도 있다. 메모리(140)에는 하나 이상의 오퍼레이팅 시스템(operating system)들 및 가상 머신(VM: virtual machine)들을 실행하도록 동작할 수 있는 프로그램 코드들이 저장될 수 있다. 또한, 메모리(140)에는 가상 머신들을 관리하기 위한 하이퍼바이저(hypervisor)를 실행하는 프로그램 코드들도 저장될 수 있다. 그리고, 메모리(140)에는 파워 모니터링 어플리케이션 프로그램(PMon; 111)이 저장될 수 있다.
IP 블록(150)은 특정 기능들을 수행하는 복수의 IP들(IP1 ~ IPn)을 포함한다. 예로서, IP 블록(150)은 오디오 코덱(codec) 처리 기능을 위한 IP, 그래픽 처리 기능을 위한 IP, 3D 비디오 처리 기능을 위한 IP 등을 포함할 수 있다.
제1인터페이스(130)는 도 2에서 이미 설명하였으므로, 중복적인 설명은 피하기로 한다.
프로세서(110B)는 메모리(140)에 저장된 파워 모니터링 어플리케이션 프로그램(PMon; 111)을 실행함으로써, 임베디드 시스템 보드(100B)의 파워 도메인 별로 소프트웨어 및 하드웨어 상태를 나타내는 파워 상태 정보를 수집할 수 있다.
세부적으로, 프로세서(110B)는 IP 블록(150)에 포함된 적어도 하나의 IP에 공급되는 전원에 관련된 소프트웨어 및 하드웨어 파워 게이팅 상태 정보를 수집한다. 예로서, 프로세서(110B)는 입력되는 테스트 제어 정보에 따라서 동작되는 파워 도메인에 대한 소프트웨어 및 하드웨어 파워 게이팅 상태 정보를 수집할 있다.
세부적으로, 프로세서(110B)는 적어도 하나의 파워 도메인에 공급되는 전원에 대한 게이팅 오퍼레이션을 지시하는 소프트웨어의 상태 정보를 수집할 수 있다. 또한, 프로세서(110B)는 적어도 하나의 파워 도메인에 전원을 공급하는 게이팅 회로를 동작시키는 제어 신호의 상태 정보를 수집할 수 있다.
프로세서(110B)는 내장된 하나 이상의 코어 중앙 처리 장치에 대한 상태 정보를 수집할 수 있다. 세부적으로, 프로세서(110B)는 멀티 코어 중앙 처리 장치들에 대한 활성화 상태 정보를 수집할 수 있다. 또한, 프로세서의 동작 주파수 정보를 수집할 수도 있다.
프로세서(110B)는 임베디드 시스템 보드(100B)에서의 적어도 하나의 측정 포인트에 대한 온도 측정 정보를 수집할 수 있다.
도 4는 도 1에 도시된 파워 측정 유닛(200)에 대한 세부 구성의 일 예를 보여준다.
도 4를 참조하면, 파워 측정 유닛(200)은 프로세서(210), 메모리(220), 전압 측정부(230), 제2인터페이스(I/F2; 240) 및 버스(250)를 포함한다.
프로세서(210)는 버스(250)를 통하여 파워 측정 유닛(200)의 구성 수단들과 연결된다. 프로세서(210)는 파워 측정 유닛(200)의 구성 수단들의 동작을 제어를 수행하기 위한 회로 및 프로그램 코드를 포함할 수 있다.
메모리(220)는 파워 측정 유닛(200)의 동작에 필요한 데이터, 명령들 또는 프로그램 코드들을 저장하는 SRAM 또는 DRAM을 포함할 수 있다. 또한, 비휘발성 메모리를 포함할 수도 있다. 메모리(220)에는 파워 측정 어플리케이션 프로그램(XyMon; 221)이 저장될 수 있다.
전압 측정부(230)는 임베디드 시스템 보드(100A 또는 100B)의 파워 도메인들 각각의 전원 라인에 삽입된 션트 저항의 양 단자에 각각 측정용 프로브(probe)를 연결한다. 전압 측정부(230)는 파워 도메인별 전원 라인에 삽입된 션트 저항의 양단 사이의 전압을 측정한다. 예로서, 임베디드 시스템 보드(100A 또는 100B)의 파워 도메인들 중의 일부 파워 도메인들로 인가되는 전원 라인에 삽입된 션트 저항의 양단 사이의 전압 신호를 측정할 수도 있다. 예로서, 션트 저항의 양단 사이에서 측정된 아날로그 전압 신호를 전압 측정부(230)에서 디지털 데이터로 변환하는 처리를 수행할 수도 있다. 다른 예로서, 션트 저항의 양단 사이에서 측정된 아날로그 전압을 프로세서(210)에서 디지털 데이터로 변환하는 처리를 수행할 수도 있다.
프로세서(210)는 메모리(220)에 저장된 파워 측정 어플리케이션 프로그램(XyMon)을 구동하여 디지털 데이터로부터 파워 도메인 별 전원 라인에 흐르는 전류 값을 산출한다. 세부적으로, 임베디드 시스템 보드(100A 또는 100B)의 파워 도메인별 전원 라인에 삽입된 션트 저항의 저항 값을 알고 있으므로, 션트 저항의 양단 사이에서 측정된 전압 값을 션트 저항 값으로 나누면 해당 전원 라인에 흐르는 전류 값을 얻을 수 있다.
프로세서(210)는 파워 도메인 별 전원 라인에 흐르는 전류 값과 해당 전원 라인의 전압 값을 곱하는 연산을 통하여 해당 파워 도메인에 대한 소비 전력 값을 산출한다.
이와 같이 연산된 파워 도메인 별 소비 전력 값에 대한 데이터는 제2인터페이스(240)를 통하여 테스트 관리 유닛(300)으로 전송된다.
제2인터페이스(240)는 파워 측정 유닛(200)에 접속되는 테스트 관리 유닛(300)과의 데이터 교환 프로토콜을 구비하고, 파워 측정 유닛(200)와 테스트 관리 유닛(300) 사이의 인터페이스를 수행한다. 제2인터페이스(240)는 예로서 ATA(Advanced Technology Attachment) 인터페이스, SATA(Serial Advanced Technology Attachment) 인터페이스, PATA(Parallel Advanced Technology Attachment) 인터페이스, USB(Universal Serial Bus) 또는 SAS(Serial Attached Small Computer System) 인터페이스, SCSI(Small Computer System Interface), eMMC(embedded Multi Media Card) 인터페이스, UFS(Universal Flash Storage) 인터페이스, 이더넷(Ethernet) 인터페이스 등으로 구현할 수 있다. 그러나 이는 예시일 뿐 이에 제한되는 것은 아니다.
도 5는 도 4에 도시된 전압 측정부(230)의 세부 구성의 일 예를 보여준다.
도 5를 참조하면, 전압 측정부(230)는 복수의 차동 증폭기들(231-1 ~ 231-m), 멀티플렉서(232) 및 아날로그/디지털 변환기(233)를 포함한다.
복수의 차동 증폭기들(231-1 ~ 231-m)은 각각 다른 파워 도메인의 전원 라인에 삽입된 션트 저항 양단 사이의 전압을 모니터링하는 역할을 한다.
복수의 차동 증폭기들(231-1 ~ 231-m) 각각의 포지티브(+) 입력 단자 및 네거티브(-) 입력 단자에는 소비 전력을 측정하고자 하는 하나의 파워 도메인에 인가되는 전원 라인에 삽입된 션트 저항의 양단자가 접속된다.
예로서, 도 2를 참조하면 차동 증폭기(231-1)로 션트 저항 R1이 삽입되어 있는 전원 라인에 대한 파워 도메인에서의 션트 저항 R1 양단 사이의 전압을 모니터링하는 경우에, 션트 저항 R1이 삽입되어 있는 전원 라인에 대한 파워 도메인에서는 포지티브(+) 입력 단자를 프로브 Pr1을 통하여 전원 라인의 노드 Nd1에 연결하고, 네거티브(-) 입력 단자를 프로브 Pr2를 통하여 전원 라인의 노드 Nd2에 연결할 수 있다.
다른 예로서, 션트 저항 R1이 삽입되어 있는 전원 라인에 대한 파워 도메인에서는 포지티브(+) 입력 단자를 프로브 Pr1을 통하여 전원 라인의 노드 Nd2에 연결하고, 네거티브(-) 입력 단자를 프로브 Pr2를 통하여 전원 라인의 노드 Nd1에 연결할 수도 있다.
차동 증폭기(231-1)는 션트 저항 R1의 양 단자 사이의 전압에 비례하는 전압 신호를 출력한다. 즉, 션트 저항 R1의 양 단자 사이의 전압에 차동 증폭기(231-1)의 이득이 곱해진 전압 신호가 출력된다. 예로서, 차동 증폭기(231-1)의 이득을 “1”로 설정하면 션트 저항 R1의 양 단자 사이의 전압에 해당되는 전압 신호가 출력된다.
위에서 설명한 차동 증폭기(231-1)와 같은 방식으로 다른 차동 증폭기들(231-2 ~ 231-m)들도 각각 다른 파워 도메인의 전원 라인에 삽입된 션트 저항 양단 사이의 전압을 모니터링할 수 있다. 여기에서, m은 동시에 소비 전력을 모니터링할 수 있는 파워 도메인의 개수에 해당된다. 예로서, m을 8로 설정하면 전압 측정부(230)는 8개의 차동 증폭기들이 필요하며, 동시에 8개의 파워 도메인들에 대한 소비 전력을 모니터링할 수 있게 된다.
멀티플렉서(232)는 복수의 차동 증폭기들(231-1 ~ 231-m)의 출력 신호들은 순차적으로 하나씩 선택하여 아날로그/디지털 변환기(233)로 출력하는 동작을 수행한다.
아날로그/디지털 변환기(233)는 멀티플렉서(232)를 통하여 입력되는 아날로그 신호를 디지털 데이터로 변환하는 동작을 수행한다. 아날로그/디지털 변환기(233)에서 변환된 디지털 데이터는 소비 전력 연산 처리를 위하여 파워 측정 유닛(200)의 프로세서(210)로 출력된다.
도 6은 도 1에 도시된 테스트 관리 유닛(300)에 대한 세부 구성의 일 예를 보여준다.
도 6을 참조하면, 테스트 관리 유닛(300)은 프로세서(310), 메모리(320), 입/출력 디바이스(330), 제1,2인터페이스(340-1, 340-2) 및 버스(350)를 포함한다.
프로세서(310)는 버스(350)를 통하여 테스트 관리 유닛(300)의 구성 수단들과 연결된다. 프로세서(310)는 테스트 관리 유닛(300)의 구성 수단들의 동작을 제어를 수행하기 위한 회로 및 프로그램 코드를 포함할 수 있다.
프로세서(310)는 특정 계산들 또는 태스크(task)들을 수행할 수 있다. 예로서, 프로세서(310)는 마이크로프로세서(micro-processor), 중앙 처리 장치(Central Processing Unit; CPU)일 수 있다. 프로세서(310)는 어드레스 버스(address bus), 제어 버스(control bus) 및 데이터 버스(data bus) 등과 같은 버스(350)를 통하여 메모리(320), 입/출력 디바이스(330) 및 제1,2인터페이스(340-1, 340-2)와 통신을 수행할 수 있다. 실시 예에 따라, 프로세서(310)는 주변 구성요소 상호연결(Peripheral Component Interconnect; PCI) 버스와 같은 확장 버스에도 연결될 수 있다.
메모리(320)는 테스트 관리 유닛(300)의 동작에 필요한 데이터, 명령들 또는 프로그램 코드들을 저장하는 SRAM 또는 DRAM을 포함할 수 있다. 또한, 비휘발성 메모리를 포함할 수도 있다. 메모리(320)에는 파워 프로파일링 어플리케이션 프로그램(321)이 저장될 수 있다.
입/출력 디바이스(330)는 키보드, 키패드, 마우스 등과 같은 입력 수단 및 프린터, 디스플레이 등과 같은 출력 수단을 포함할 수 있다.
프로세서(310)는 입/출력 디바이스(330)를 통하여 입력되는 유저 명령에 대응하는 연산 또는 데이터 처리를 수행할 수 있다. 프로세서(310)는 파워 프로파일링 어플리케이션 프로그램(321)을 구동하여 유저 명령에 따라서 설정된 파워 테스트 시나리오에 기초한 테스트 제어 정보를 생성할 수 있다. 프로세서(310)는 이와 같이 생성된 테스트 제어 정보를 제1인터페이스(340-1)를 통하여 파워 테스트하고자 하는 타깃 보드로 전송한다. 예로서, 타깃 보드는 임베디드 시스템 보드(100)가 될 수 있다. 파워 테스트 시나리오는 특정 기능 실행 모드 별로 소비 전력 모니터링 및 소프트웨어 및 하드웨어 파워 게이팅 상태를 모니터링하기 위하여 설정될 수 있다. 예로서, 입/출력 디바이스(330)를 통하여 사용자가 파워 테스트 시나리오를 설정할 수 있다. 파워 테스트 시나리오는 기능 블록을 다양한 순서로 동작시키도록 설정할 수 있으며, 복수의 파워 테스트 시나리오들을 설정할 수 있다.
프로세서(310)는 파워 프로파일링 어플리케이션 프로그램(321)을 구동하여 임베디드 시스템 보드(100) 및 파워 측정 유닛(200)으로부터 각각 수신된 파워 상태 정보 및 소비 전력 측정 정보를 조합하여 파워 분석을 위한 파워 테스트 리포팅 정보를 생성한다.
프로세서(310)는 파워 상태 정보 및 소비 전력 측정 정보를 조합하여 임베디드 시스템 보드(100)의 하드웨어 및 소프트웨어에 대한 파워 분석 정보를 생성할 수 있다.
프로세서(310)는 파워 상태 정보를 가공하여 소프트웨어 및 하드웨어에 대한 파워 설계 오류를 검출하는 분석 정보를 생성할 수도 있다. 예로서, 프로세서(310)는 테스트 제어 정보에 따라서 임베디드 시스템 보드(100)에서 동작되는 타깃 파워 도메인에 대한 소프트웨어 파워 게이팅 상태와 하드웨어 파워 게이팅 상태를 비교하여 동일한 게이팅 상태를 나타내는지를 알려주는 분석 정보를 생성할 수 있다.
예로서, 프로세서(310)는 임베디드 시스템 보드(100)에서 3D 게임 기능을 동작시키는 파워 테스트 시나리오 구간에서 3D 게임 기능 블록이 포함된 파워 도메인에 대한 소프트웨어 파워 게이팅 상태와 하드웨어 파워 게이팅 상태가 모두 “ON” 상태로 모니터링된 경우에는 “PASS”를 나타내는 분석 정보를 생성하고, 그렇지 않은 경우에는 “FAIL”을 나타내는 분석 정보를 생성할 수 있다.
만일 3D 게임 기능을 동작시키는 파워 테스트 시나리오 구간에서 임베디드 시스템 보드(100)에서 의 3D 게임 기능 블록이 포함된 파워 도메인에 대한 소프트웨어 파워 게이팅 상태와 하드웨어 파워 게이팅 상태가 모두 “OFF” 상태로 모니터링되면, 3D 게임 기능 블록의 하드웨어 및 소프트웨어에 오류가 발생되었다는 사실을 알 수 있게 된다.
만일 3D 게임 기능을 동작시키는 파워 테스트 시나리오 구간에서 임베디드 시스템 보드(100)에서의 3D 게임 기능 블록이 포함된 파워 도메인에 대한 소프트웨어 파워 게이팅 상태는 “ON” 상태로 모니터링되고 하드웨어 파워 게이팅 상태가 “OFF” 상태로 모니터링되면, 3D 게임 기능 블록의 소프트웨어는 정상적으로 동작하나 하드웨어에 오류가 발생되었다는 사실을 알 수 있게 된다.
프로세서(310)는 테스트 제어 정보에 따라서 동작이 허용되지 않는 파워 도메인에 대한 소프트웨어 파워 게이팅 상태와 하드웨어 파워 게이팅 상태 중의 어느 하나 이상이 “ON”을 나타내는 경우에도 “FAIL”을 나타내는 분석 정보를 생성할 수 있다. 이 경우는 해당 파워 도메인에 파워 오프 상태를 유지하는 목표 설계하였으나, 실제에 있어서 소프트웨어 파워 게이팅 상태와 하드웨어 파워 게이팅 상태 중의 어느 하나가 “ON”을 나타내므로 해당 파워 도메인에서 비정상적으로 동작하고 있다는 것을 알려준다.
프로세서(310)는 파워 테스트 리포팅 정보를 그래픽 처리하여 입/출력 디바이스(330)로 출력할 수 있다. 예로서, 프로세서(310)는 파워 테스트 리포팅 정보를 웹(Web) 타입 또는 콘솔(console) 타입으로 그래픽 처리하여 입/출력 디바이스(330)로 출력할 수 있다. 파워 테스트 리포팅 정보를 그래픽 처리하여 출력하는 화면 구성의 다양한 예를 도 7 내지 도 10을 참조하여 설명하기로 한다.
도 7 내지 도 10은 본 발명의 실시 예에 따른 파워 프로파일링 시스템의 모니터링 화면 구성의 다양한 예를 보여준다.
도 7은 임베디드 시스템 보드(100)에서의 CPU 상태, 테스트 IP에 대한 파워 도메인 상태, 소프트웨어 및 하드웨어 파워 상태를 보여주는 화면 구성의 일 예이다.
CPU_STATUS 표시 영역은 멀티 코어들 중에서 테스트 시나리오의 특정 기능 수행 구간에서의 동작하는 CPU를 나타내는 영역이다. 예로서, CPU_STATUS 표시 영역에서는 복수개의 리틀(little) CPU들과 빅(big) CPU들 중에서 활성화된 CPU를 알려준다. 도 7에서 리틀 코어의 CPU0 및 CPU1과 빅 코어의 CPU0 및 CPU1이 동작하고, 리틀 코어의 CPU2 및 CPU3과 빅 코어의 CPU2 및 CPU3은 슬립 상태인 것을 보여준다.
POWER DOMAIN_STATUS 표시 영역은 테스트 시나리오에서 테스트를 수행하고 있는 구간의 테스트 기능, 해당 테스트 구간에 동작되는 하드웨어 및 소프트웨어, 해당 파워 도메인에서의 소비 전력(또는 전류) 값, 동작 주파수 등을 표시하는 영역이다. 도 7에서 IP3에 대한 테스트 기능을 수행하는 동안에 실행되는 하드웨어는 H/W2이고, 소프트웨어는 S/W5라는 것을 보여준다. 그리고, IP3에 대한 테스트 기능을 수행하는 동안의 파워(전류) 및 동작 주파수를 보여준다. 예로서, 파워(전류)는 최대 값 또는 평균 값이 될 수 있다.
POWER INDICATOR 표시 영역은 테스트 시나리오에서 테스트를 수행하고 있는 구간에서 동작하는 하드웨어 파워 상태 및 소프트웨어 파워 상태를 표시하는 영역이다. 도 7에서 하드웨어 파워 VDD_1 및 VDD_n은 파워 게이팅 “ON”되고, VDD_2는 파워 게이팅 “OFF”된 상태를 보여준다. 그리고, 소프트웨어 SW_IP1, SW_IPm, SW_F2은 파워 게이팅 “ON”되고, SW_IP2, SW_F1은 파워 게이팅 “OFF”된 상태를 보여준다. 예로서, 하드웨어 파워 VDD_1 ~ VDD_n은 임베디드 시스템 보드(100)의 복수의 파워 도메인에 공급되는 전원 전압들이 될 수 있다. 그리고, 소프트웨어 SW_IP1 ~ SW_IPm, SW_F1, SW_F2는 임베디드 시스템 보드(100)의 IP 블록들 및 주변 디바이스들의 오퍼레이션에 관련된 소프트웨어들이 될 수 있다.
도 8은 임베디드 시스템 보드(100)에서의 주요 파워 도메인들에 대한 실시간 소비전력을 보여주는 화면 구성의 일 예이다.
도 8에서는 테스트 시나리오에 기초하여 특정 기능을 수행하는 동안의 시간에 따른 주요 파워 도메인들에서 실시간으로 측정된 소비전력 값을 보여준다. 예로서, 채널 1 ~ 채널 i(i는 2이상의 정수)의 채널을 통하여 i개의 파워 도메인들에 대한 실시간 소비 전력을 그래프로 보여준다. 그래프에서 T는 시간을 나타내고, P는 소비전력을 나타낸다.
다른 예로서, 테스트 시나리오에 기초하여 특정 기능을 수행하는 동안의 주요 파워 도메인들에의 흐르는 실시간 전류를 보여주는 화면 구성을 추가할 수도 있다.
도 9는 임베디드 시스템 보드(100)에서의 소프트웨어 파워 게이팅 상태 및 하드웨어 파워 게이팅 상태를 비교 분석한 POWER GATING_STATUS를 보여준다.
도 9에서는 특정 기능을 수행하는 파워 테스트 시나리오 구간에서 주요 IP 블록들에 대한 소프트웨어 파워 게이팅 상태 및 하드웨어 파워 게이팅 상태를 보여준다.
예로서, 3D 게임 기능을 동작시키는 파워 테스트 시나리오 구간에서 IP3가 동작해야 하고, 나머지 IP들은 동작하지 않는 것으로 설정었다고 가정하자. 이 경우에 IP3에 대한 소프트웨어 파워 게이팅 상태 및 하드웨어 파워 게이팅 상태가 모두 “ON”으로 모니터링되었으므로, IP3에 대한 파워 게이팅 상태는 “PASS”로 표시된다. 그리고, IP2에 대한 소프트웨어 파워 게이팅 상태 및 하드웨어 파워 게이팅 상태가 모두 “OFF으로 모니터링되었으므로, IP2에 대한 파워 게이팅 상태도 “PASS”로 표시된다. 그러나, IP1에 소프트웨어 파워 게이팅 상태는 “OFF”로 정상이나, 하드웨어 파워 게이팅 상태는 “ON”으로 비정상적으로 동작하므로, IP1에 대한 파워 게이팅 상태도 “FAIL”로 표시된다.
도 10은 임베디드 시스템 보드(100)에서의 주요 측정 포인트들에서의 온도 측정 정보를 보여주는 화면 구성의 일 예이다.
도 10에서는 파워 테스트 시나리오에 기초하여 동작하는 임베디드 시스템 보드(100)에서의 주요 측정 포인트들(TP1, TP2)에서 측정된 온도 값을 그래픽 화면을 보여준다.
예로서, 7 내지 도 10에 도시된 본 발명의 실시 예에 따른 파워 프로파일링 시스템의 모니터링 화면 구성의 다양한 예들을 하나의 화면으로 통합하여 디스플레이할 수도 있다. 다른 예로서, 7 내지 도 10에 도시된 본 발명의 실시 예에 따른 파워 프로파일링 시스템의 모니터링 화면 구성의 일부를 변형하거나 통합하여 디스플레이할 수도 있다.
도 11은 본 발명의 다른 실시 예에 따른 파워 프로파일링 시스템(2000)의 구성도이다.
도 11을 참조하면, 파워 프로파일링 시스템(2000)은 하드웨어(2100), 파워 모니터링 어플리케이션 모듈(PMon; 2200), 파워 측정 어플리케이션 모듈(XyMon; 2300), 인터페이스(2400) 및 파워 프로파일링 어플리케이션 모듈(2500)을 포함한다.
하드웨어(2100)는 파워 테스트를 수행하는 타깃 보드에 내장된 하드웨어를 의미한다. 예로서, 하드웨어(2100)는 도 1에 도시된 임베디드 시스템 보드(1000)의 어플리케이션 프로세서 내부의 하드웨어를 포함할 수 있다. 세부적으로, 하드웨어(2100)는 임베디드 시스템 보드(1000)의 어플리케이션 프로세서 내부의 IP 블록(IP1 ~ IPi; 2110-1 ~ 2110-i)을 포함한다.
파워 모니터링 어플리케이션 모듈(2200)은 측정 모듈(2210), 데이터 재정렬 모듈(2220) 및 데이터 전송 모듈(2230)을 포함한다.
측정 모듈(2210)은 파워 상태 정보를 수집하는 기능을 수행하는 모듈로서, CPU_STATUS 측정 모듈(2211), POWER GATING_STATUS 측정 모듈(2212) 및 TEMP_STATUS 측정 모듈(2213)을 포함한다.
CPU_STATUS 측정 모듈(2211)은 프로세서의 동작 상태에 대한 정보를 측정하는 모듈이다. 예로서, CPU_STATUS 측정 모듈(2211)은 멀티 코어들로 구성된 프로세서에서의 멀티 코어들에 대한 활성화 상태 정보를 수집한다. 또한, 프로세서의 동작 주파수 정보를 수집한다. 세부적으로, 멀티 코어 프로세서에서의 복수개의 리틀(little) CPU들과 빅(big) CPU들에 대한 활성화 상태 정보를 수집한다.
POWER GATING_STATUS 측정 모듈(2212)은 소프트웨어 파워 게이팅 상태 정보 및 하드웨어 파워 게이팅 상태 정보를 측정하는 모듈이다. 예로서, POWER GATING_STATUS 측정 모듈(2212)은 어플리케이션 프로세서의 하드웨어(2100)에 포함된 IP 블록(2110-1 ~ 2110-i)에 공급되는 전원에 대한 게이팅 오퍼레이션을 지시하는 소프트웨어의 상태 정보를 수집한다. 또한, POWER GATING_STATUS 측정 모듈(2212)은 어플리케이션 프로세서의 하드웨어(2100)에 포함된 IP 블록(2110-1 ~ 2110-i)에 전원을 공급하는 게이팅 회로를 동작시키는 제어 신호의 상태 정보를 수집한다.
TEMP_STATUS 측정 모듈(2213)은 하드웨어(2100)에 대한 적어도 하나의 측정 포인트에 대한 온도를 측정하는 모듈이다.
데이터 재정렬 모듈(2220)은 측정 모듈(2210)로부터 입력된 파워 상태 정보에 대한 데이터를 분류하여 재정렬하는 동작을 수행한다. 예로서, 파워 프로파일링 처리에서 필요로 하는 사양에 맞추어 데이터를 분류하여 재정렬할 수 있다.
데이터 전송 모듈(2230)은 데이터 재정렬 모듈(2220)로부터 입력된 데이터를 인터페이스(2400)를 통하여 파워 프로파일링 어플리케이션 모듈(2500)로 전송하는 동작을 수행한다.
파워 측정 어플리케이션 모듈(XyMon; 2300)은 측정 모듈(2310), 데이터 재정렬 모듈(2220) 및 데이터 전송 모듈(2230)을 포함한다.
측정 모듈(2310)은 어플리케이션 프로세서의 하드웨어(2100)에서의 주요 파워 도메인들에 대한 소비전력을 측정하고, 이에 상응하는 소비 전력 측정 정보를 생성한다. 예로서, 측정 모듈(2310)은 IP 블록(2110-1 ~ 2110-i)의 각 IP들에 대한 전압 또는 전류를 측정하고, 이에 상응하는 소비 전력 측정 정보를 생성할 수 있다.
데이터 재정렬 모듈(2320)은 측정 모듈(2310)로부터 입력된 소비 전력 측정 정보에 대한 데이터를 분류하여 재정렬하는 동작을 수행한다. 예로서, 파워 프로파일링 처리에서 필요로 하는 사양에 맞추어 데이터를 분류하여 재정렬할 수 있다.
데이터 전송 모듈(2330)은 데이터 재정렬 모듈(2320)로부터 입력된 데이터를 인터페이스(2400)를 통하여 파워 프로파일링 어플리케이션 모듈(2500)로 전송하는 동작을 수행한다.
인터페이스(2400)는 파워 모니터링 어플리케이션 모듈(2200)과 파워 프로파일링 어플리케이션 모듈(2500) 사이의 데이터 송/수신 처리를 수행하고, 파워 측정 어플리케이션 모듈(2300)과 파워 프로파일링 어플리케이션 모듈(2500) 사이의 데이터 송/수신 처리를 수행한다. 예로서, USB(Universal Serial Bus) 인터페이스(2410)를 통하여 파워 모니터링 어플리케이션 모듈(2200)과 파워 프로파일링 어플리케이션 모듈(2500) 사이의 인터페이스 처리를 수행할 수 있다. 그리고, 이더넷(Ethernet) 인터페이스(2420)를 통하여 파워 측정 어플리케이션 모듈(2300)과 파워 프로파일링 어플리케이션 모듈(2500) 사이의 인터페이스 처리를 수행할 수 있다.
본 발명은 이에 한정되는 것이 아니라, ATA(Advanced Technology Attachment) 인터페이스, SATA(Serial Advanced Technology Attachment) 인터페이스, PATA(Parallel Advanced Technology Attachment) 인터페이스, USB(Universal Serial Bus) 또는 SAS(Serial Attached Small Computer System) 인터페이스, SCSI(Small Computer System Interface), eMMC(embedded Multi Media Card) 인터페이스, UFS(Universal Flash Storage) 인터페이스, 이더넷(Ethernet) 인터페이스 등으로 파워 모니터링 어플리케이션 모듈(2200)과 파워 프로파일링 어플리케이션 모듈(2500) 사이의 인터페이스 또는 파워 측정 어플리케이션 모듈(2300)과 파워 프로파일링 어플리케이션 모듈(2500) 사이의 인터페이스 처리를 수행할 수 있다.
파워 프로파일링 어플리케이션 모듈(2500)은 데이터 파싱(PARSING) 모듈들(2510, 2520), 데이터 재배열, 연산 & 분석 모듈(2530) 및 데이터 뷰어 모듈(2540)을 포함한다.
데이터 파싱 모듈(2510)은 파워 모니터링 어플리케이션 모듈(2200)로부터 수신된 데이터를 파워 프로파일링 처리에 필요로 하는 형태로 가공 처리한다. 데이터 파싱 모듈(2520)은 파워 측정 어플리케이션 모듈(2300)로부터 수신된 데이터를 파워 프로파일링 처리에 필요로 하는 형태로 가공 처리한다.
데이터 재배열, 연산 & 분석 모듈(2530)은 데이터 파싱 모듈들(2510, 2520)에서 가공된 데이터를 이용하여 파워 프로파일링 리포팅 데이터를 생성하기 위하여 데이터 재배열, 연산 및 분석 처리를 수행한다. 예로서, 도 7 내지 도 10에서 보여주는 화면을 구성하는 필요한 프로파일링 리포팅 데이터를 산출하기 위하여 데이터 재배열, 연산 및 분석 처리를 수행할 수 있다.
데이터 뷰어 모듈(2540)은 데이터 재배열, 연산 & 분석 모듈(2530)에서 생성된 프로파일링 리포팅 데이터를 웹(Web) 타입 또는 콘솔(console) 타입으로 그래픽 처리한다. 예로서, 도 7 내지 도 10에서 보여주는 화면 구성의 그래픽 처리를 수행할 수 있다.
도 12는 본 발명의 실시 예에 따른 파워 프로파일링 시스템(3000)에서의 파워 프로파일링 처리 동작의 흐름을 보여주는 도면이다.
도 12에는 타깃 보드(3100), 파워 측정 유닛(3200) 및 테스트 관리 유닛(3300)로 구성된 파워 프로파일링 시스템(3000)에서의 파워 프로파일링 처리 동작의 흐름이 표시되었다.
타깃 보드(3100)에는 파워 모니터링 어플리케이션 프로그램(PMon)이 내장된다. 예로서, 타깃 보드(3100)는 도 1에 도시된 임베디드 시스템 보드(100)로 구현될 수 있다.
파워 측정 유닛(3200)에는 파워 측정 어플리케이션 프로그램(XyMon)이 내장된다. 예로서, 파워 측정 유닛(3200) 및 테스트 관리 유닛(3300)은 각각 도 1에 도시된 파워 측정 유닛(200) 및 테스트 관리 유닛(300)과 동등한 구성 요소로 구현될 수 있다.
파워 프로파일링 시스템(3000)에서의 파워 프로파일링 처리 동작에 따른 데이터 또는 신호 흐름은 다음과 같다.
우선, 테스트 관리 유닛(3300)은 타깃 보드(3100)로 파워 테스트 시나리오에 기초한 테스트 제어 정보를 전송한다(S1).
그리고, 타깃 보드(3100)의 주요 파워 도메인에 인가되는 전원 라인에 션트 저항의 양 단자에 파워 측정 유닛(3200)의 하드웨어 파워 측정 단자를 측정용 프로브로 연결한다(S2).
테스트 관리 유닛(3300)은 파워 측정 유닛(3200)으로 파워 측정 시작 정보를 전송한다(S3).
타깃 보드(3100)는 테스트 관리 유닛(3300)로부터 수신된 테스트 제어 정보에 따른 오퍼레이션을 수행하는 과정에서 파워 모니터링 어플리케이션 프로그램(PMon) 실행에 의하여 수집된 파워 상태 정보를 테스트 관리 유닛(3300)으로 전송한다(S4).
그리고, 파워 측정 유닛(3200)은 주요 파워 도메인에 인가되는 전원 라인의 션트 저항 양단에서 측정된 전압을 이용하여 파워 측정 어플리케이션 프로그램(XyMon) 실행에 의하여 산출된 주요 파워 도메인들에 대한 파워 측정 데이터를 테스트 관리 유닛(3300)으로 전송한다(S5).
그러면, 테스트 관리 유닛(3300)은 타깃 보드(3100) 및 파워 측정 유닛(3200)으로부터 수신된 데이터를 이용하여 파워 프로파일링 처리를 수행하여 파워 테스트 리포팅 정보를 생성할 수 있다.
다음으로, 본 발명의 실시 예에 따른 파워 프로파일링 방법을 설명하기로 한다.
본 발명의 실시 예에 따른 방법들이 도시된 도 13 및 도 14의 흐름도들은 도 1, 도 11 또는 도 12에 도시된 파워 프로파일링 시스템에서 수행될 수 있다.
도 13은 본 발명의 실시 예에 따른 파워 프로파일링 방법의 흐름도이다.
우선, 테스트 시나리오에 따라서 타깃 보드의 어플리케이션 프로세서는 타깃 보드에서의 파워 상태 정보를 수집한다(S110). 예로서, 타깃 보드는 임베디드 시스템 보드가 포함될 수 있다. 세부적으로, 어플리케이션 프로세서(110)는 테스트 관리 유닛(300)으로부터 수신되는 테스트 제어 정보에 따라서 타깃 보드에서 동작되는 파워 도메인에 대한 소프트웨어 및 하드웨어 상태를 나타내는 파워 상태 정보를 수집할 수 있다.
다음으로, 어플리케이션 프로세서(110)에서 수집된 파워 상태 정보를 이용하여 타깃 보드에서의 파워에 대한 분석 정보를 생성한다(S120). 예로서, 수집된 파워 상태 정보를 테스트 관리 유닛(300)에서 수신하고, 테스트 관리 유닛(300)에서의 파워 프로파일링 처리에 기초하여 파워 분석 정보를 생성할 수 있다. 다른 예로서, 어플리케이션 프로세서(110)에서 직접 파워 상태 정보를 가공 및 분석하여 타깃 보드에 대한 파워 분석 정보를 생성할 수도 있다.
도 14는 본 발명의 다른 실시 예에 따른 파워 프로파일링 방법의 흐름도이다.
우선, 파워 프로파일링 시스템은 타깃 보드의 파워 도메인에 대한 하드웨어 소비전력 측정 정보를 생성한다(S210). 예로서, 타깃 보드인 임베디드 시스템 보드(100)의 주요 파워 도메인에 인가되는 전원 라인의 션트 저항 양단의 전압을 측정하고, 측정된 전압으로부터 주요 파워 도메인에 인가되는 전원 라인에 흐르는 전류를 산출하고, 산출된 전류 값과 전원 라인의 전압 값을 곱하는 연산을 통하여 파워 도메인에 대한 하드웨어 소비전력 측정 정보를 생성할 수 있다.
다음으로, 테스트 시나리오에 따라서 타깃 보드의 어플리케이션 프로세서는 타깃 보드에서의 파워 상태 정보를 수집한다(S210). 예로서, 타깃 보드인 임베디드 시스템 보드(100)의 어플리케이션 프로세서(110)는 테스트 관리 유닛(300)으로부터 수신되는 테스트 제어 정보에 따라서 임베디드 시스템 보드(100)에서 동작되는 파워 도메인에 대한 소프트웨어 및 하드웨어 상태를 나타내는 파워 상태 정보를 수집할 수 있다.
다음으로, 타깃 보드의 파워 도메인에 대한 하드웨어 소비전력 측정 정보 및 어플리케이션 프로세서(110)에서 수집된 파워 상태 정보를 조합하여 타깃 보드에서의 파워에 대한 분석 정보를 생성한다(S230). 예로서, 테스트 관리 유닛(300)는 파워 상태 정보와 파워 도메인에 대한 하드웨어 소비전력 측정 정보를 수신하고, 수신된 정보들을 파워 프로파일링 처리에 기초하여 조합, 연산 및 분석한 타깃 보드에 대한 파워 분석 정보를 생성할 수도 있다.
도 15는 본 발명의 실시 예에 따른 임베디드 시스템 보드가 적용되는 전자 장치의 예를 나타내는 도면이다.
도 15에 도시된 바와 같이, 전자 장치(4000)은 프로세서(4100), RAM(4200), 스토리지 장치(4300), 입출력 장치(I/O 디바이스; 4400), 파워 관리 유닛(4500) 및 버스(4600)를 포함한다.
전자 장치(4000)의 일부 또는 전체 구성 요소들은 본 발명의 실시 예에 따른 임베디드 시스템 보드에 내장될 수 있다.
도 15에는 도시되지 않았지만, 전자 장치(4000)는 비디오 카드, 사운드 카드, 메모리 카드, USB 장치 등과 통신하거나, 또는 다른 전자 기기들과 통신할 수 있는 포트(port)들을 더 포함할 수 있다. 전자 장치(4000)는 퍼스널 컴퓨터로 구현되거나, 노트북 컴퓨터, 모바일 기기, PDA(personal digital assistant) 및 카메라 등으로 구현될 수 있다.
버스(4600)는 전자 장치(4000)의 구성 수단들 간의 데이터, 커맨드, 어드레스 및 제어 신호들을 전송하는 전송로를 의미한다.
프로세서(4100)는 특정 계산들 또는 태스크(task)들을 수행할 수 있다. 예로서, 프로세서(4100)는 마이크로프로세서(micro-processor), 중앙 처리 장치(Central Processing Unit; CPU)일수 있다. 프로세서(4100)는 어드레스 버스(address bus), 제어 버스(control bus) 및 데이터 버스(data bus) 등과 같은 버스(4600)를 통하여 RAM(4200), 스토리지 디바이스(4300), 입출력 장치(4400) 및 파워 관리 유닛(4500)과의 통신을 수행할 수 있다. 실시 예에 따라, 프로세서(4100)는 주변 구성요소 상호연결(Peripheral Component Interconnect; PCI) 버스와 같은 확장 버스에도 연결될 수 있다.
RAM(4200)에는 프로세서(4100)에서 생성된 프로세스 수행에 필요한 데이터들이 로딩된다. RAM(4200)은 메인 메모리로서 동작하고, DRAM(Dynamic Random Access Memory) 또는 SRAM(Static Random Access Memory)로 구현할 수 있다. 예로서, RAM(4200)에는 파워 모니터링 어플리케이션 프로그램(PMon)이 저장될 수 있다.
스토리지 장치(4300)는 비휘발성 메모리 장치로서 플래시 메모리 장치 등으로 구현될 수 있다.
입출력 장치(4400)는 키보드, 키패드, 마우스 등과 같은 입력 수단 및 프린터, 디스플레이 등과 같은 출력 수단을 포함할 수 있다.
프로세서(4100)는 입출력 장치(4400)를 통하여 입력되는 유저 명령에 대응하는 연산 또는 데이터 처리를 수행할 수 있다. 프로세서(4100)는 유저 명령에 대응하는 연산 또는 데이터 처리를 위하여 스토리지 디바이스(4300)로부터 데이터를 읽어내는 동작 또는 스토리지 장치(4300)에 데이터를 쓰는 동작을 수행하기 위한 커맨드를 스토리지 장치(4300)로 전송할 수 있다.
스토리지 장치(4300)는 프로세서(4100)로부터 전송된 커맨드에 따른 리드 오퍼레이션 또는 라이트 오퍼레이션을 수행할 수 있다.
또한, 프로세서(4100)는 파워 모니터링 어플리케이션 프로그램(PMon)을 구동하여 파워 상태 정보를 수집할 수 있다.
본 발명은 방법, 장치, 시스템 등으로서 실행될 수 있다. 소프트웨어로 실행될 때, 본 발명의 구성 수단들은 필연적으로 필요한 작업을 실행하는 코드 세그먼트들이다. 프로그램 또는 코드 세그먼트들은 프로세서 판독 가능 매체에 저장될 수 있다. 프로세서 판독 가능 매체의 예로는 전자 회로, 반도체 메모리 디바이스, ROM, 이레이져블 ROM(EROM: Erasable ROM), 플로피 디스크, 광디스크, 하드 디스크 등이 있다.
한편, 상기에서 설명된 본 발명에 적용되는 시스템은 다양한 형태들의 패키지를 이용하여 실장 될 수 있다. 예를 들면, 본 발명에 따른 시스템은 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 MetricQuad 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), 등과 같은 패키지들을 이용하여 실장될 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
1000, 2000, 3000: 파워 프로파일링 시스템
100, 100A, 100B: 임베디드 시스템 보드
110, 110A: 어플리케이션 프로세서
111: 파워 모니터링 어플리케이션 프로그램
110B, 210, 310, 4100: 프로세서 120, 120B: 파워 관리 유닛
130, 340-1: 제1인터페이스 140, 220, 320: 메모리
150: IP 블록 160, 250, 350, 4600: 버스
200, 3200: 파워 측정 유닛 221: 파워 측정 어플리케이션 프로그램
230: 전압 측정부 231-1 ~ 231-m: 차동 증폭기
231: 멀티플렉서 233: 아날로그/디지털 변환기
240, 340-2: 제2인터페이스 300, 3300: 테스트 관리 유닛
321: 파워 프로파일링 어플리케이션 프로그램
330, 4400: 입/출력 디바이스 2100: 하드웨어
2200: 파워 모니터링 어플리케이션 모듈
2300: 파워 측정 어플리케이션 모듈
2400: 인터페이스 2500: 파워 프로파일링 어플리케이션 모듈(2500)
3100: 타깃 보드 4000: 전자 장치
4200: RAM 4300: 스토리지 장치
4500: 파워 관리 유닛

Claims (10)

  1. 입력되는 테스트 제어 정보에 따라서 타깃 보드에서 동작되는 파워 도메인에 대한 소프트웨어 및 하드웨어 상태를 나타내는 파워 상태 정보를 수집하는 단계; 및
    상기 수집된 파워 상태 정보를 이용하여 상기 타깃 보드에서 사용되는 파워에 대한 분석 정보를 생성하는 단계를 포함함을 특징으로 하는 파워 프로파일링 방법.
  2. 제1항에 있어서, 상기 파워 상태 정보는 상기 타깃 보드에 내장된 적어도 하나의 디바이스에 공급되는 전원에 관련된 소프트웨어 및 하드웨어 파워 게이팅 상태 정보를 포함함을 특징으로 하는 파워 프로파일링 방법.
  3. 제2항에 있어서, 상기 소프트웨어 파워 게이팅 상태 정보는 상기 디바이스에 공급되는 전원에 대한 게이팅 오퍼레이션을 지시하는 소프트웨어의 상태 정보를 포함함을 특징으로 하는 파워 프로파일링 방법.
  4. 제2항에 있어서, 상기 하드웨어 파워 게이팅 상태 정보는 상기 디바이스에 전원을 공급하는 게이팅 회로를 동작시키는 제어 신호의 상태 정보를 포함함을 특징으로 하는 파워 프로파일링 방법.
  5. 제1항에 있어서, 상기 파워 상태 정보는 상기 타깃 보드에 탑재된 프로세서에 대한 상태 정보를 포함함을 특징으로 하는 파워 프로파일링 방법.
  6. 제1항에 있어서, 상기 파워 상태 정보는 상기 타깃 보드에서의 적어도 하나의 측정 포인트에 대한 온도 측정 정보를 포함함을 특징으로 하는 파워 프로파일링 방법.
  7. 제1항에 있어서, 상기 타깃 보드의 적어도 하나의 파워 도메인에 대한 소비 전력 측정 정보를 생성하는 단계를 더 포함하고,
    상기 분석 정보를 생성하는 단계는 상기 파워 상태 정보 및 상기 소비 전력 측정 정보를 조합하여 상기 타깃 보드의 하드웨어 및 소프트웨어에 대한 파워 분석 정보를 생성하는 것을 특징으로 하는 파워 프로파일링 방법.
  8. 입력되는 테스트 제어 정보에 따라서 동작하는 소프트웨어 및 하드웨어 동작 상태를 나타내는 파워 상태 정보를 수집하고, 상기 파워 상태 정보를 테스트 관리 유닛으로 전송하는 임베디드 시스템 보드;
    상기 임베디드 시스템 보드의 전원 라인에 접속하여, 적어도 하나의 파워 도메인에 대한 소비 전력 측정 정보를 산출하고, 상기 산출된 소비 전력 측정 정보를 테스트 관리 유닛으로 전송하는 파워 측정 유닛; 및
    상기 임베디드 시스템 보드 및 상기 파워 모니터링 유닛과 접속하여, 파워 테스트 시나리오에 기초한 상기 테스트 제어 정보를 상기 임베디드 시스템 보드로 전송하고, 상기 파워 상태 정보 및 상기 소비 전력 측정 정보를 조합하여 파워 테스트 리포팅 정보를 생성하는 테스트 관리 유닛을 포함함을 특징으로 하는 파워 프로파일링 시스템.
  9. 제8항에 있어서, 상기 임베디드 시스템 보드는 상기 테스트 제어 정보에 따라서 동작하는 파워 도메인에 대한 소프트웨어 및 하드웨어 파워 게이팅 상태 정보, 중앙 처리 장치에 대한 상태 정보, 또는 적어도 하나의 측정 포인트에 대한 온도 정보 중의 적어도 하나의 정보를 포함하는 파워 상태 정보를 수집하고, 상기 수집된 상기 파워 상태 정보를 상기 테스트 관리 유닛으로 전송하는 동작을 수행하는 것을 특징으로 하는 파워 프로파일링 시스템.
  10. 제8항에 있어서, 상기 임베디드 시스템 보드는
    복수의 파워 도메인들로 각기 다른 전원을 공급하는 파워 관리 유닛; 및
    상기 파워 관리 유닛으로부터 복수의 전원들을 공급받고, 상기 파워 상태 정보를 수집하는 어플리케이션 프로그램을 실행하는 어플리케이션 프로세서를 포함하며,
    상기 복수의 전원들 중의 적어도 하나의 전원 라인에 션트 저항을 삽입하는 것을 특징으로 하는 파워 프로파일링 시스템.
KR1020140119368A 2014-09-05 2014-09-05 파워 프로파일링 방법 및 파워 프로파일링 시스템 KR20160029594A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140119368A KR20160029594A (ko) 2014-09-05 2014-09-05 파워 프로파일링 방법 및 파워 프로파일링 시스템
US14/752,872 US20160070632A1 (en) 2014-09-05 2015-06-27 Power profiling method, power profiling system, and processor-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140119368A KR20160029594A (ko) 2014-09-05 2014-09-05 파워 프로파일링 방법 및 파워 프로파일링 시스템

Publications (1)

Publication Number Publication Date
KR20160029594A true KR20160029594A (ko) 2016-03-15

Family

ID=55437627

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140119368A KR20160029594A (ko) 2014-09-05 2014-09-05 파워 프로파일링 방법 및 파워 프로파일링 시스템

Country Status (2)

Country Link
US (1) US20160070632A1 (ko)
KR (1) KR20160029594A (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107391329B (zh) * 2017-07-14 2021-05-28 惠州Tcl移动通信有限公司 一种测试移动终端反复使用的方法、系统及存储装置
CN114077216A (zh) * 2021-11-17 2022-02-22 神思电子技术股份有限公司 一种监控android设备运行状态和异常恢复的装置及方法
CN116453579B (zh) * 2023-06-09 2023-09-12 深圳市金胜电子科技有限公司 一种带有显示器的便携式固态硬盘功耗测试装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7290246B2 (en) * 2002-04-04 2007-10-30 Texas Instruments Incorporated Power profiling system and method for correlating runtime information
US8756564B2 (en) * 2009-05-29 2014-06-17 International Business Machines Corporation Techniques for providing environmental impact information associated with code
US20120016606A1 (en) * 2010-02-25 2012-01-19 Emmanuel Petit Power Profiling for Embedded System Design
US9514020B2 (en) * 2014-06-23 2016-12-06 Dell Products L.P. Power profile diagnostic system

Also Published As

Publication number Publication date
US20160070632A1 (en) 2016-03-10

Similar Documents

Publication Publication Date Title
US10310749B2 (en) System and method for predicting disk failure
Reed et al. Reliability challenges in large systems
US8607202B2 (en) Real-time profiling in a multi-core architecture
US10067813B2 (en) Method of analyzing a fault of an electronic system
US9983966B2 (en) Detecting degraded core performance in multicore processors
US8825922B2 (en) Arrangement for processing trace data information, integrated circuits and a method for processing trace data information
US20200210270A1 (en) Memory evaluation method and apparatus
US20170063652A1 (en) Estimation of application performance variation without a priori knowledge of the application
US20180342227A1 (en) Performance-Based Graphics Processing Unit Power Management
US20110016455A1 (en) Power Profiling for Embedded System Design
US20170242728A1 (en) Parallel processing apparatus, power coefficient calculation program, and power coefficient calculation method
KR20160029594A (ko) 파워 프로파일링 방법 및 파워 프로파일링 시스템
US20160117199A1 (en) Computing system with thermal mechanism and method of operation thereof
US20110167229A1 (en) Balanced data-intensive computing
US20090254767A1 (en) Energy Management
US20150052410A1 (en) System on chip for debugging a cluster regardless of power state of the cluster, method of operating the same, and system having the same
US9092560B2 (en) Trace based measurement architecture
US9255961B2 (en) Semiconductor integrated circuit, operating method of semiconductor integrated circuit, and debug system
US20130185415A1 (en) Managing Workload Distribution Among A Plurality Of Compute Nodes
US10942880B2 (en) Aging tolerant system design using silicon resource utilization
US7340361B2 (en) Method and apparatus for analyzing computer system performance and proposing hardware component upgrades
US10423421B2 (en) Opportunistic utilization of redundant ALU
Uzelac et al. Using branch predictors and variable encoding for on-the-fly program tracing
CN110109786B (zh) Smart信息测试方法、装置、计算机设备及存储介质
KR20220113423A (ko) 디버그 상태 머신 트리거 확장 성능 모니터 카운터

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid