KR100877326B1 - Jtag 인터페이스를 이용한 전력 측정 시스템 및 그방법 - Google Patents

Jtag 인터페이스를 이용한 전력 측정 시스템 및 그방법 Download PDF

Info

Publication number
KR100877326B1
KR100877326B1 KR1020070052597A KR20070052597A KR100877326B1 KR 100877326 B1 KR100877326 B1 KR 100877326B1 KR 1020070052597 A KR1020070052597 A KR 1020070052597A KR 20070052597 A KR20070052597 A KR 20070052597A KR 100877326 B1 KR100877326 B1 KR 100877326B1
Authority
KR
South Korea
Prior art keywords
information
cpu
power consumption
unit
target hardware
Prior art date
Application number
KR1020070052597A
Other languages
English (en)
Other versions
KR20080105259A (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 KR1020070052597A priority Critical patent/KR100877326B1/ko
Publication of KR20080105259A publication Critical patent/KR20080105259A/ko
Application granted granted Critical
Publication of KR100877326B1 publication Critical patent/KR100877326B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R21/00Arrangements for measuring electric power or power factor
    • G01R21/06Arrangements for measuring electric power or power factor by measuring current and voltage
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R13/00Arrangements for displaying electric variables or waveforms
    • G01R13/40Arrangements for displaying electric variables or waveforms using modulation of a light beam otherwise than by mechanical displacement, e.g. by Kerr effect
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R15/00Details of measuring arrangements of the types provided for in groups G01R17/00 - G01R29/00, G01R33/00 - G01R33/26 or G01R35/00
    • G01R15/12Circuits for multi-testers, i.e. multimeters, e.g. for measuring voltage, current, or impedance at will
    • G01R15/125Circuits for multi-testers, i.e. multimeters, e.g. for measuring voltage, current, or impedance at will for digital multimeters
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R19/00Arrangements for measuring currents or voltages or for indicating presence or sign thereof
    • G01R19/145Indicating the presence of current or voltage
    • G01R19/15Indicating the presence of current
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R21/00Arrangements for measuring electric power or power factor
    • G01R21/133Arrangements for measuring electric power or power factor by using digital technique

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 JTAG 인터페이스를 이용한 전력 측정 시스템에 관한 것이다. 상기 전력 측정 시스템은, 타겟 하드웨어의 CPU에서 특정 함수 또는 프로세스가 실행될 때, 상기 타겟 하드웨어의 측정 대상 디바이스에서의 전류를 측정하고, JTAG 인터페이스를 이용하여 상기 타겟 하드웨어의 CPU 정보를 스캔하여 CPU 정보 중 PC 정보를 획득한다. 상기 전력 측정 시스템은 상기 PC 정보와 사전에 준비한 심볼 테이블을 이용하여 상기 CPU에서 실행되는 함수 또는 프로세스에 대한 정보를 검출한다. 검출된 함수 또는 프로세스 정보와 상기 측정된 전류값을 이용하여, 해당 함수 또는 프로세스의 실행에 의한 측정 대상 디바이스에서의 소비 전력을 산출해 낸다.
JTAG, 임베디드 시스템, 소비 전력, 전류, 바운더리 셀

Description

JTAG 인터페이스를 이용한 전력 측정 시스템 및 그 방법{Power measurement system using JTAG interface and method thereof}
도 1은 본 발명의 바람직한 실시예에 따른 JTAG 인터페이스를 이용한 전력 측정 시스템의 구성을 개략적으로 도시한 블록도이다.
도 2는 본 발명의 바람직한 실시예에 따른 전력 측정 시스템의 소비 전력 분석부의 동작을 순차적으로 설명하는 흐름도이다.
도 3은 본 발명의 바람직한 실시예에 따른 전력 측정 시스템에 의해 표시부에 디스플레이되는 전력 소모 패턴을 예시적으로 도시한 화면 구성도이다.
<도면의 주요 부분에 대한 부호의 설명>
10 : 전력 측정 시스템
100 : 전류 검출부
110 : 전류 데이터 로깅부
120 : 클럭 보정 회로부
130 : JTAG 제어부
140 : JTAG 정보 수집부
150 : CPU 정보 로깅부
160 : 소비 전력 분석부
170 : 표시부
180 : 데이터 저장부
20 : 타겟 하드웨어
200 : 중앙 처리 장치(CPU)
210 : 클럭 생성부
220 : JTAG 인터페이스부
230 : 측정 단자부
본 발명은 JTAG 인터페이스를 이용한 전력 측정 시스템에 관한 것으로서, 더욱 구체적으로는 임베디드 시스템과 같은 타겟 하드웨어에서 실행되는 응용 소프트웨어에 대한 소비 전력이나 전력 소비 패턴을 측정할 수 있는 전력 측정 시스템에 관한 것이다.
임베디드 시스템은 특정한 기능을 가진 전자제품을 만들기 위하여 해당 전자 제품내에 내장되는 전자 제어 시스템으로서, 미리 정해진 특정 기능을 수행하기 위한 하드웨어와 소프트웨어가 조합되어 구성된다. 전술한 임베디드 시스템에는 TV, 냉장고, 이동전화, 셋탑박스, DTV 등과 같은 것들이 있으며, 퍼스널 컴퓨터와 같이 다양한 기능을 수행하는 범용성을 지니는 컴퓨터 시스템은 임베디드 시스템에 포함시키지 않는다.
임베디드 시스템을 개발하기 위해선 호스트 컴퓨터, 타겟 하드웨어 장비 등과 같은 다양한 구성 요소들이 갖춰져 있어야 한다. 여기서, 호스트 컴퓨터는 임베디드 시스템 개발을 위한 컴퓨터를 말하며, 타겟 하드웨어 장비는 실제 임베디드 시스템이 설치된 개발하고자 하는 하드웨어를 말한다. 호스트 컴퓨터에는 개발을 위한 개발 툴, 개발된 응용 프로그램을 임시로 수행해 볼 수 있는 타겟 시뮬레이터, 타겟 하드웨어와 연결되어 타겟 하드웨어에 개발된 이미지를 업로드하거나 타겟 하드웨어에 반응하는 디버그 에이전트를 통해 원격 디버깅을 할 수 있게 하는 타겟 서버가 설치되어 있다.
최근들어 다양한 형태의 임베디드 시스템이 제공되고, 각 임베디드 시스템에서 실행되는 다양한 종류의 응용 프로그램들이 제공된다. 일반적으로 임베디드 시스템이나 응용 프로그램을 개발함에 있어서, 전체 시스템의 가격이나 소비 전력을 낮추기 위해 하드웨어 및 소프트웨어에 대해 많은 제한을 가하게 된다.
특히, 임베디드 시스템이 휴대용 단말기이거나 이동용 단말기인 경우, 임베디드 시스템에서 실행되는 응용 프로그램 등이 소비하는 전력량이 중요한 이슈로 부각되고 있다.
한편, 70년대 중반에는 "bed-of nails"라는 테크닉을 사용하여 직접 PCB(Printed Circuit Board)에 접촉하는 방식으로 타겟 하드웨어인 PCB를 테스트하였으며, 현재에는 지그라는 장비를 사용하여 테스트하고 있다. 그런데 테스트 대상인 타겟 하드웨어인 PCB의 단자 사이의 거리가 좁아짐에 따라 직접 접촉 방식을 이용한 테스트가 매우 어렵게 되었다. 또한, 다층 구조(multi layer strucure)를 갖 는 PCB가 나타남에 따라, 전술한 종래의 방법을 이용한 테스트는 불가능하게 되었을 뿐만 아니라, 타겟 하드웨어가 점차 정밀해짐에 따라 테스트 하다가 타겟 하드웨어에 손상을 가져오거나 고가의 비용이 소요되는 등의 여러 가지 문제점들이 발생하게 되었다. 이런 문제를 해결하기 위해 80년대 중반에 JTAG(Joint European Test Access Group) 이란 단체가 결성되었다.
JTAG(Joint Test Access Group)는 IEEE 표준 1149.1-1990 Test Access Port and Boundary-Scan Architecture에 근거한 규격으로 CPU에서 직접 지원하는 디버깅을 위한 인터페이스로 현재 CPU의 상태를 점검하거나 프로그램의 디버깅, 플래시 메모리에 새로운 자료를 저장할 때 주로 사용한다. 전술한 JTAG은 임베디드 시스템의 개발 환경의 하나로서, 임베디드 시스템의 하드웨어가 만들어 졌을 때 플래쉬(flash)에 부트로더를 fusing 하는 등 중요한 기능을 수행하게 된다. 특히, JTAG은 프로세서(CPU)의 상태와는 상관없이 디바이스의 모든 외부 핀을 구동시키거나 값을 읽어 들일 수 있는 기능을 제공한다. 그리고, JTAG은 serial shift register인 boundary scan register(이하, 'boundary cell'이라 한다)를 구비하고 CPU 정보를 저장 및 관리하게 되며, 외부로부터의 요청에 따라 바운더리 셀 정보를 제공한다.
따라서, 본 발명은 전술한 JTAG 인터페이스를 이용하여 임베디스 시스템에 서 실행되는 응용 프로그램등에 대한 전력 소비량을 측정할 수 있는 방안을 제안하고자 한다.
전술한 문제점을 해결하기 위한 본 발명의 목적은 JTAG 인터페이스를 이용하여 특정 함수 또는 프로세스의 실행에 의해 소비되는 전력을 측정할 수 있는 전력 측정 시스템을 제공하는 것이다.
전술한 기술적 과제를 달성하기 위한 본 발명의 특징은 타겟 하드웨어를 구성하는 측정 대상 디바이스에서의 소비 전력을 측정하는 전력 측정 시스템에 관한 것으로서, 상기 전력 특정 시스템은,
데이터 저장부;
상기 타겟 하드웨어의 측정 대상 디바이스로 공급되는 전류를 측정하는 전류 검출부;
상기 전류 검출부로부터 전류 데이터를 제공받아 데이터 저장부에 저장하는 전류 데이터 로깅부;
상기 타겟 하드웨어의 CPU에 대한 브레이크 트리거링 신호(Break Triggering Signal) 를 주기적으로 생성하여 제공하는 JTAG 제어부;
상기 JTAG 제어부로부터 제공되는 브레이크 트리거링 신호에 따라, 상기 타겟 하드웨어와의 JTAG 인터페이스를 통해 상기 타겟 하드웨어의 CPU 정보를 수집하는 JTAG 정보 수집부;
상기 JTAG 정보 수집부로부터 CPU 정보를 주기적으로 전송받아 상기 데이터 저장부에 저장하는 CPU 정보 로깅부;
상기 CPU 정보 로깅부와 상기 전류 데이터 로깅부로부터 또는 상기 데이터 저장부로부터 CPU 정보 및 전류 데이터를 제공받으며, 상기 CPU 정보 및 전류 데이터를 이용하여 상기 측정 대상 디바이스에서의 소비 전력을 검출하는 소비 전력 분석부;
내부 클럭을 상기 타겟 하드웨어의 클럭과 동기화시키고, 상기 전류 검출부 및 상기 JTAG 제어부로 상기 내부 클럭을 제공함으로써 상기 전류 검출부에 의해 검출되는 전류 데이터와 상기 JTAG 정보 수집부에 의해 수집되는 CPU 정보의 동기를 맞추는 클럭 보정 회로부를
구비하여, 상기 타겟 하드웨어의 측정 대상 디바이스에서 특정 함수 또는 프로세스에 의해 소비되는 전력을 측정한다.
전술한 특징을 갖는 전력 측정 시스템에서 수집하는 상기 CPU 정보는 프로그램 카운터(Program Conter)에 저장된 정보인 것이 바람직하다.
전술한 특징을 갖는 전력 측정 시스템의 상기 소비 전력 분석부는
상기 타겟 하드웨어의 CPU에서 실행되는 응용 소프트웨어에 대한 심볼 테이블(Symbol Table)을 미리 제공받으며, 상기 수집된 CPU 정보 중 프로그램 카운터 정보와 상기 심볼 테이블을 매칭하여 타겟 하드웨어의 CPU에서 실행되는 함수 또는 프로세스를 알아내며, 상기 전류 데이터 로깅부를 통해, 상기 함수 또는 프로세스를 수행할 때의 측정 대상 디바이스에서의 전류값을 판독하고, 상기 판독된 전류값 및 사전에 저장된 측정 대상 디바이스의 전압값을 이용하여 상기 함수 또는 프로세스에서의 전력 소모량을 분석하는 것이 바람직하다.
전술한 특징을 갖는 상기 전력 측정 시스템은 표시부를 더 구비하고, 상기 소비 전력 분석부에 의해 검출된 소비 전력 또는 전력 소비 패턴을 상기 표시부에 디스플레이시키는 것이 바람직하다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 따른 JTAG를 이용한 전력 측정 시스템의 구성 및 동작을 구체적으로 설명한다. 본 발명에 따른 전력 측정 시스템을 이용하여 소비 전력을 측정하고자 하는 측정 대상 디바이스는 타겟 하드웨어의 일 구성요소이며, 상기 타겟 하드웨어는 상기 측정 대상 디바이스 및 중앙 처리 장치(이하, 'CPU'라 한다)를 포함한 다수개의 디바이스로 구성된다. 따라서, 본 발명에 따른 전력 측정 시스템은 상기 타겟 하드웨어의 CPU의 정보를 이용하여 특정 소프트웨어나 특정 프로세스가 실행될 때의 측정 대상 디바이스에서의 소비 전력 및/또는 전력 소모 패턴 등을 측정하게 된다.
도 1은 본 발명의 바람직한 실시예에 따른 전력 측정 시스템(10)을 전체적으로 도시한 블록도이다.
도 1을 참조하면, 본 발명에 따른 전력 측정 시스템(10)은 전류 검출부(100), 전류 데이터 로깅부(110), 클럭보정 회로부(120), JTAG 제어부(130), JTAG 정보 수집부(140), CPU 정보 로깅부(150), 소비전력 분석부(160), 표시부(170) 및 데이터 저장부(180)를 구비한다.
한편, 타겟 하드웨어(20)는 중앙 처리 장치(200), 바운더리 셀(boundary cell;도시되지 않음), 클럭 생성부(210), JTAG 인터페이스부(220), 측정 대상 디바이스를 포함하는 다수 개의 디바이스에 대한 전원공급단자와 연결되는 측정 단자부(230)을 구비한다. 타겟 하드웨어(20)는 일반적인 임베디드 시스템으로서, 당업 자들에게 널리 알려진 구성으로 이루어지므로, 이에 대한 구체적인 설명은 생략한다. 한편, 상기 타겟 하드웨어(20)를 구성하는 각 디바이스에 인가되는 전압값은 레귤레이터(regulator)에 의해 항상 일정하므로, 사전에 상기 전력 측정 시스템(10)으로 제공된다.
클럭보정 회로부(120)는 타겟 하드웨어(20)의 클럭 생성부(210)로부터 클럭을 수신하고, 내부 클럭을 보정하여 상기 수신된 타겟 하드웨어의 클럭과 동기화하여, 상기 전류 검출부(100) 및 상기 JTAG 제어부(130)로 제공한다. 상기 클럭 보정 회로부(120)에 의해 제공되는 내부 클럭을 이용함으로써, 전류 검출부(100)에 의해 검출되는 전류 데이터와 JTAG 제어부(130)에 의해 수집되는 타겟 하드웨어의 CPU의 정보에 대한 동기를 맞추게 된다.
전류 검출부(100)는 상기 클럭 보정 회로부(120)로부터 제공되는 클럭에 따라 상기 타겟 하드웨어의 측정 대상 디바이스로 제공되는 전류를 측정한다. 상기 전류 검출부(100)는 임의의 단자에서의 전류나 전압 등을 계측할 수 있는 디지털 멀티미터(Digital Multimeter)로 구성될 수 있다. 상기 전류 검출부(100)는 상기 타겟 하드웨어(20)의 측정 단자부(230)와 전기적 연결되어, 측정 대상 디바이스에 대한 전류값을 측정하게 된다.
전류 데이터 로깅부(110)는 상기 전류 측정부로부터 측정 대상 디바이스에 대한 전류 데이터를 제공받고, 상기 클럭 보정 회로부(120)로부터 제공되는 클럭에 따른 동기화 정보와 함께 데이터 저장부(180)에 저장시키거나 상기 소비전력 분석부(160)로 전송한다.
JTAG 제어부(130)는 타겟 하드웨어의 CPU에 대한 정보 수집을 위하여, 상기 클럭 보정 회로부(120)로부터 제공되는 클럭에 따라 상기 JTAG 정보 수집부(140)로 타겟 하드웨어의 CPU에 대한 브레이크 트리거링 신호(Break Triggering Signal)를 주기적으로 전송한다. 이때, 상기 JTAG 제어부(130)는 상기 브레이크 트리거링 신호의 발생 주기를 결정한다. 만약 상기 브레이크 트리거링 신호의 생성 주기가 너무 짧은 경우, 타겟 하드웨어의 CPU 정보는 많이 확보할 수 있으나 CPU가 너무 자주 멈추게 되어 CPU 성능 저하를 초래하게 된다. 반대로 만약 상기 브레이크 트리거링 신호의 생성 주기를 길게 하는 경우, 타겟 하드웨어의 CPU가 자주 멈추지 않게 되어 CPU 성능은 그대로 유지할 수 있으나 CPU 정보를 많이 획득할 수 없게 된다.
JTAG 정보 수집부(140)는 JTAG 제어부(130)와 연결되어 JTAG 제어부(130)로부터 브레이크 트리거링 신호를 수신하며, 타겟 하드웨어의 JTAG 인터페이스부와 전기적으로 연결되어 타겟 하드웨어의 바운더리 셀(Boundary Cell)에 저장된 CPU 정보를 고속으로 스캔하며, USB를 이용하여 CPU 정보 로깅부(150)와 연결되어 상기 스캔한 CPU 정보를 CPU 정보 로깅부(150)로 전송한다.
상기 JTAG 제어부(130)로부터 주기적으로 발생하는 브레이크 트리거링 신호에 따라, JTAG 정보 수집부(140)는 상기 타겟 하드웨어의 JTAG 인터페이스부(220)를 통해 타겟 하드웨어의 CPU의 동작을 멈추게 한 후, 타겟 하드웨어의 바운더리 셀에 저장된 CPU 정보를 고속으로 스캔하고, 스캔된 타겟 하드웨어의 CPU 정보를 CPU 정보 로깅부(150)로 전송한 후, 상기 타겟 하드웨어의 CPU를 재구동한다. 이 때, 상기 JTAG 정보 수집부(140)는 표준 JTAG 인터페이스를 이용하여 상기 타겟 하드웨어의 JTAG 인터페이스부에 접속한다. 또한, 상기 JTAG 정보 수집부(140)는 타겟 하드웨어의 CPU의 동작을 멈추게 한 후, 고속으로 CPU 정보를 스캔하여 CPU 정보 로깅부(150)로 전송한 후, 재빨리 타겟 하드웨어의 CPU를 재구동시킴으로써, 상기 타겟 하드웨어의 CPU에서 실행되고 있던 프로그램의 성능에는 거의 영향을 미치지 않게 된다.
여기서, 상기 JTAG 정보 수집부(140)가 타겟 하드웨어의 바운더리 셀로부터 스캐닝하는 CPU 정보는 프로그래 카운터(Program Counter; 이하 'PC'라 한다.)에 대한 정보이다. PC는 "명령어 주소 레지스터"라고도 불리우는 것으로서, 다음에 수행될 명령어의 주소를 가지고 있는 레지스터이다. 프로그램 카운터는 각 명령어가 인출된 후, 곧 이어질 명령어의 주소를 가리키는 값이 자동적으로 증가된다. 이 레지스터는 다른 레지스터들처럼 평범하게 조작되지는 않으며, JUMP, CALL, RTS 등과 같이, 프로그램 카운터에 새로운 값을 적어 넣음으로써 제어권의 흐름을 바꿀 수 있는 특별한 명령어들을 제공하게 된다. 따라서, PC 정보를 스캔함으로써, 다음에 수행될 함수나 명령어의 주소를 알 수 있게 된다.
CPU 정보 로깅부(150)는 USB 인터페이스를 이용하여 상기 JTAG 정보 수집부(140)와 연결되어, 상기 JTAG 정보 수집부(140)로부터 타겟 하드웨어의 CPU 정보를 수신하며, 상기 CPU 정보는 동기화 정보와 함께 상기 데이터 저장부(180)에 저장시킨다. 또한, 상기 CPU 정보 로깅부(150)는 상기 소비전력 분석부(160)와 연결되어 상기 수신된 CPU 정보를 상기 동기화 정보와 함께 상기 소비전력 분석부(160) 로 전송할 수도 있다.
소비전력 분석부(160)는 상기 전류 데이터 로깅부(110) 및 상기 CPU 정보 로깅부(150)와 연결되어 각각으로부터 동기화 정보와 함께 전류 데이터 및 CPU 정보를 수신하거나, 데이터 저장부로부터 동기화 정보와 함께 저장된 전류 데이터 및 CPU 정보를 수신한다. 전류 데이터 및 CPU 정보를 수신한 소비전력 분석부(160)는 사전에 저장된 타겟 하드웨어의 측정 대상 디바이스에 대한 인가 전압값과 상기 전류 데이터를 이용하여 최종적으로 소비전력을 측정하거나, 전력 소모 패턴을 측정하게 된다. 상기 전력 소모 패턴은 일정 시간동안 일정 주기 간격으로 소비 전력을 측정하고, 측정된 소비 전력들을 그래프 형태로 순차적으로 디스플레이시키는 것으로서, 이러한 그래프를 통해 일정 시간동안 전력 소모에 대한 시간적 추이 상황을 파악할 수 있게 된다.
상기 소비 전력 분석부(160)는 상기 전류 검출부(100)를 통해 측정된 측정 대상 디바이스의 전류값이 상기 타겟 하드웨어의 CPU에서 실행되는 함수 또는 프로세스에 따라 어떻게 얼마만큼 변화하는지 분석한다. 또한, 상기 소비 전력 분석부는 CPU 정보를 이용하여 상기 타겟 하드웨어의 CPU에서 실행되는 함수 또는 프로세스의 수행 시간과 빈도수를 산출해 낸다. 또한, 상기 소비 전력 분석부는 해당 함수 또는 프로세스의 실행시에 측정된 전류 데이터를 이용하여 해당 함수 또는 프로세스에 대한 소비 전력을 계산한다.
상기 소비 전력 분석부(160)는 특정 함수 또는 프로세스의 수행시 특정 디바이스에서의 소비 전력 또는 전력 소모 패턴을 측정한 결과값을 수치로 제공하거나 그래프 등의 형태로 상기 표시부를 통해 사용자에게 제공할 수 있도록 한다.
따라서, 프로그래머는 소비전력 분석부에 의한 분석 결과를 이용하여 소프트웨어의 코드를 수정함으로써, 동일한 기능을 수행하는 소프트웨어라 할지라도 전력 소모가 작은 소프트웨어를 작성할 수 있게 된다. 그 결과, 임베디드 시스템은 저전력 소모를 하는 소프트웨어가 설치되어 구동될 수 있도록 함으로써, 임베디드 시스템내의 배터리의 사용시간을 연장시킬 수 있게 된다.
이하, 도 2를 참조하여 상기 소비 전력 분석부(160)가 소비 전력을 분석하는 과정을 순차적으로 설명한다.
사전에 해당 응용 프로그램에 대한 심볼 테이블을 저장한다(단계 200). 상기 심볼 테이블은 소프트웨어를 컴파일할 때 생성되는 테이블로서, 함수나 메소드 등이 호출될 때 필요한 메모리를 컴파일러가 계산해 둔 메모리 지도를 의미하며, 상기 심볼 테이블내에는 각 함수에 대한 이름, 메모리의 주소값, 오류 상태, 데이터 영역 또는 명령어의 종류 및 길이 등을 저장하게 된다. 그리고, 상기 PC에는 다음에 수행될 명령어에 대한 주소를 저장하게 된다.
다음, 수집된 CPU 정보인 프로그램 카운터(PC)와 심볼 테이블(Symbol Table)을 매칭시켜, 타겟 하드웨어의 CPU에서 실행되는 함수 또는 프로세스를 알아낸다(단계 210). 따라서, PC로부터 명령어에 대한 주소값을 판독하고, 판독된 주소값을 심볼 테이블과 매칭시킴으로써, 해당 주소값에 대응되는 함수를 파악할 수 있게 된다.
한편, 상기 전류 데이터 로깅부를 통해 또는 데이터 저장부를 통해, 상기 함 수 또는 프로세스를 수행할 때의 측정 대상 디바이스에서의 전류값을 판독한다(단계 220).
다음, 상기 판독된 전류값을 이용하여 상기 함수 또는 프로세스에서의 전류 소모량을 확인한다(단계 230).
또한, 주기적으로 수집된 상기 CPU 정보를 이용하여 해당 함수 또는 프로세스가 수행되는 시간을 검출한다(단계 240). 또한, 주기적으로 수집된 상기 CPU 정보를 이용하여 해당 함수 또는 프로세스가 호출되는 호출 빈도수를 검출할 수도 있다(단계 250).
다음, 검출된 수행 시간 및 호출 빈도수 중 어느 하나 또는 둘 모두를 이용하여 해당 함수 또는 프로세스에 의한 소비 전력 및/또는 전력 소모 패턴을 검출한다(단계 260). 그리고, 검출된 소비 전력 및/또는 전력 소모 패턴을 표시부에 디스플레이시킨다(단계 270).
이상에서 본 발명에 대하여 그 바람직한 실시예를 중심으로 설명하였으나, 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 발명의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 그리고, 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명에 의하여, 임베디드 시스템인 타겟 하드웨어의 CPU에서 특정 함수 또는 프로세스가 실행될 때, 상기 타겟 하드웨어를 구성하는 측정 대상 디바이스에 서 소비되는 전력을 측정하거나 전류 소모 패턴을 측정할 수 있게 된다.
도 3의 (a)는 본 발명에 따른 전력 측정 시스템을 이용하여, 4개의 서로 다른 제조업체에 의해 제조된 PMP의 HDD(Hard Disk Driver)의 전류 소모 패턴을 5분간 측정한 그래프이다. 표시부에 디스플레이된 전류 소모 패턴 중 일정 구간(도 3의 (a)의 'a')을 선택하는 경우, 도 3의 (b)와 같이, 해당 구간에서 실행되었던 함수들에 대한 자료(예컨대, 수행된 함수의 이름, 수행시간, 수행빈도 등)가 표시되며, 도 3의 (c)에 도시된 바와 같이 콜 트리(call tree)가 디스플레이된다. 또한, 표시된 함수 자료 중 함수 이름을 클릭하는 경우 해당 함수의 소스 코드로 이동하게 된다. 이와 같이, 그래프를 통해 전력 소모가 많은 구간을 쉽게 확인할 뿐만 아니라 특정 구간에 대한 함수 자료들도 쉽게 파악할 수 있게 된다. 또한, 함수 이름을 클릭함으로써 소스 코드로 이동되도록 함으로써, 전력 소모가 많은 함수에 대한 소스 코드도 간단하게 수정할 수 있게 된다.
한편, 본 발명에 따른 전력 측정 시스템을 이용하여 휴대폰의 대기 상태의 소모 전력를 측정하되, 하드웨어적으로는 휴대폰의 각 디바이스별로 소모되는 전력을 측정할 수도 있으며, 소프트웨어적으로 휴대폰에서 실행되는 각 함수별로 소모되는 전력도 측정할 수 있게 된다. 따라서, 본 발명에 따른 전력 측정 시스템은 휴대폰과 같은 임베디드 시스템에서의 대기 전력 디버깅에도 사용될 수 있다.
또한, 본 발명에 따른 전력 측정 시스템은 네트워크 사용에 따른 소모 전력 디버깅에도 사용될 수 있다.

Claims (6)

  1. 타겟 하드웨어를 구성하는 측정 대상 디바이스에서의 소비 전력을 측정하는 전력 측정 시스템은,
    데이터 저장부;
    상기 타겟 하드웨어의 측정 대상 디바이스로 공급되는 전류를 측정하는 전류 검출부;
    상기 전류 검출부로부터 전류 데이터를 제공받고, 상기 전류 데이터를 동기화 정보와 함께 상기 데이터 저장부에 저장하는 전류 데이터 로깅부;
    상기 타겟 하드웨어의 CPU에 대한 브레이크 트리거링 신호(Break Triggering Signal) 를 주기적으로 생성하여 제공하는 JTAG 제어부;
    상기 JTAG 제어부로부터 제공되는 브레이크 트리거링 신호에 따라, 상기 타겟 하드웨어와의 JTAG 인터페이스를 통해 상기 타겟 하드웨어의 CPU 정보를 수집하는 JTAG 정보 수집부;
    상기 JTAG 정보 수집부로부터 CPU 정보를 주기적으로 전송받고, 상기 CPU 정보를 동기화 정보와 함께 상기 데이터 저장부에 저장하는 CPU 정보 로깅부;
    상기 데이터 저장부로부터 동기화 정보와 함께 CPU 정보 및 전류 데이터를 제공받으며, 상기 CPU 정보 및 전류 데이터를 이용하여 상기 측정 대상 디바이스에서의 소비 전력을 검출하는 소비 전력 분석부;
    를 구비하는 것을 특징으로 하는 전력 측정 시스템.
  2. 제1항에 있어서, 상기 전력 측정 시스템은 클럭 보정 회로부를 더 구비하고, 상기 클럭 보정 회로부는 내부 클럭을 상기 타겟 하드웨어의 클럭과 동기화시키고, 상기 전류 검출부 및 상기 JTAG 제어부로 상기 내부 클럭을 제공하고,
    상기 전류 검출부 및 상기 JTAG 제어부는 상기 내부 클럭에 따라 소정의 동기화 정보를 생성하고, 상기 전류 데이터 및 CPU 정보를 상기 동기화 정보와 함께 저장함으로써, 상기 전류 데이터 및 상기 CPU 정보의 동기를 맞추는 것을 특징으로 하는 전력 측정 시스템.
  3. 제1항에 있어서, 상기 CPU 정보는 프로그램 카운터(Program Conter)에 저장된 정보인 것을 특징으로 하는 전력 측정 시스템.
  4. 제1항에 있어서, 상기 소비 전력 분석부는
    상기 타겟 하드웨어의 CPU에서 실행되는 응용 소프트웨어에 대한 심볼 테이블(Symbol Table)을 미리 제공받으며,
    상기 수집된 CPU 정보 중 프로그램 카운터 정보와 상기 심볼 테이블을 매칭하여 타겟 하드웨어의 CPU에서 실행되는 함수 또는 프로세스를 알아내며,
    상기 전류 데이터 로깅부를 통해, 상기 함수 또는 프로세스를 수행할 때의 측정 대상 디바이스에서의 전류값을 판독하고,
    상기 판독된 전류값을 이용하여 상기 함수 또는 프로세스에서의 전력 소비량 을 분석하는 것을 특징으로 하는 전력 측정 시스템.
  5. 제4항에 있어서, 상기 소비 전력 분석부는
    주기적으로 수집된 상기 CPU 정보를 이용하여 해당 함수 또는 프로세스가 수행되는 시간 및 호출 빈도수 중 어느 하나 또는 둘 모두를 검출하고, 검출된 수행 시간 및 호출 빈도수 중 어느 하나 또는 둘 모두를 이용하여 해당 함수 또는 프로세스에 의한 소비 전력이나 전력 소모 패턴을 검출하는 것을 특징으로 하는 전력 측정 시스템.
  6. 제1항에 있어서, 상기 전력 측정 시스템은 표시부를 더 구비하고, 상기 소비 전력 분석부에 의해 검출된 소비 전력 또는 전력 소모 패턴을 상기 표시부에 디스플레이시키는 것을 특징으로 하는 전력 측정 시스템.
KR1020070052597A 2007-05-30 2007-05-30 Jtag 인터페이스를 이용한 전력 측정 시스템 및 그방법 KR100877326B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070052597A KR100877326B1 (ko) 2007-05-30 2007-05-30 Jtag 인터페이스를 이용한 전력 측정 시스템 및 그방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070052597A KR100877326B1 (ko) 2007-05-30 2007-05-30 Jtag 인터페이스를 이용한 전력 측정 시스템 및 그방법

Publications (2)

Publication Number Publication Date
KR20080105259A KR20080105259A (ko) 2008-12-04
KR100877326B1 true KR100877326B1 (ko) 2009-01-09

Family

ID=40366577

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070052597A KR100877326B1 (ko) 2007-05-30 2007-05-30 Jtag 인터페이스를 이용한 전력 측정 시스템 및 그방법

Country Status (1)

Country Link
KR (1) KR100877326B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050122307A (ko) * 2004-06-24 2005-12-29 삼성전자주식회사 소비전력 계측 장치 및 계측 방법
KR20060073096A (ko) * 2004-12-24 2006-06-28 주식회사 팬택 공정 라인 상에 설치된 피씨와 이동 통신 단말기 간의통신 연결 장치
KR20070019173A (ko) * 2005-08-11 2007-02-15 삼성전자주식회사 버스 모니터링을 위한 집적 회로 장치 및 그 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050122307A (ko) * 2004-06-24 2005-12-29 삼성전자주식회사 소비전력 계측 장치 및 계측 방법
KR20060073096A (ko) * 2004-12-24 2006-06-28 주식회사 팬택 공정 라인 상에 설치된 피씨와 이동 통신 단말기 간의통신 연결 장치
KR20070019173A (ko) * 2005-08-11 2007-02-15 삼성전자주식회사 버스 모니터링을 위한 집적 회로 장치 및 그 방법

Also Published As

Publication number Publication date
KR20080105259A (ko) 2008-12-04

Similar Documents

Publication Publication Date Title
US20090327784A1 (en) Energy measurement techniques for computing systems
KR101221081B1 (ko) 호스트 장치
US8402446B2 (en) Associating probes with test cases
US10528110B2 (en) Method for diagnosing power supply failure in a wireless communication device
KR100869953B1 (ko) Etm 인터페이스를 이용한 전력 측정 시스템 및 그 방법
US7149636B2 (en) Method and apparatus for non-obtrusive power profiling
CN102799853A (zh) 电路板的测试点图形化辨识系统及方法
CN116955027B (zh) 一种mcu芯片测试系统及其测试方法
Djupdal et al. Lynsyn and LynsynLite: The STHEM power measurement units
Djedidi et al. Power profiling and monitoring in embedded systems: A comparative study and a novel methodology based on NARX neural networks
CN107977318A (zh) 一种Android应用程序的能耗和性能测试方法
CN117761502A (zh) 板卡的质量的验证方法、装置、电子设备及存储介质
Zhang Power, Performance Modeling and Optimization for Mobile System and Applications.
CN117074828A (zh) 主板电力参数的检测装置
KR100877326B1 (ko) Jtag 인터페이스를 이용한 전력 측정 시스템 및 그방법
CN116185777A (zh) 一种服务器功耗监测方法、装置、系统、服务器
CN102279797A (zh) 一种检测内存泄漏的方法及系统
US20070262879A1 (en) I/O bus for analog sensors in an IC
CN101430348B (zh) 状态检测装置及状态检测方法
Wei et al. FPowerTool: A function-level power profiling tool
CN103076494A (zh) 耗电测量装置及其方法
Rashti et al. Power and energy analysis and modeling of high performance computing systems using WattProf
CN117785587A (zh) 嵌入式设备的功耗测试方法、设备及存储介质
CN116577551B (zh) Ssd功耗测试方法、系统及电子设备
KR101571855B1 (ko) 전력 소모량 계측 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121128

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20131120

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20141119

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160420

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee