KR101345380B1 - 3차원 그래픽스 데이터를 처리하는 장치에 공급하는전원의 전압을 제어하는 방법 및 이를 이용하는 3차원그래픽스 데이터 처리 장치 - Google Patents

3차원 그래픽스 데이터를 처리하는 장치에 공급하는전원의 전압을 제어하는 방법 및 이를 이용하는 3차원그래픽스 데이터 처리 장치 Download PDF

Info

Publication number
KR101345380B1
KR101345380B1 KR1020070095414A KR20070095414A KR101345380B1 KR 101345380 B1 KR101345380 B1 KR 101345380B1 KR 1020070095414 A KR1020070095414 A KR 1020070095414A KR 20070095414 A KR20070095414 A KR 20070095414A KR 101345380 B1 KR101345380 B1 KR 101345380B1
Authority
KR
South Korea
Prior art keywords
voltage
controlling
frame
power supply
processing
Prior art date
Application number
KR1020070095414A
Other languages
English (en)
Other versions
KR20080031106A (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 US11/905,495 priority Critical patent/US8112640B2/en
Publication of KR20080031106A publication Critical patent/KR20080031106A/ko
Application granted granted Critical
Publication of KR101345380B1 publication Critical patent/KR101345380B1/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/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
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/001Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background
    • G09G3/003Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background to produce spatial visual effects
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2330/00Aspects of power supply; Aspects of display protection and defect management
    • G09G2330/02Details of power systems and of start or stop of display operation
    • G09G2330/021Power management, e.g. power saving

Landscapes

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

Abstract

본 발명은 3차원 그래픽스 데이터를 처리하는 장치에 공급하는 전원의 전압을 제어하는 방법 및 이를 이용하는 3차원 그래픽스 데이터 처리 장치에 관한 것으로, 그래픽스 데이터에 포함된 객체를 나타내는 데이터의 양을 고려하여 장치에 공급하는 전원의 전압을 제어하고, 객체에 대한 제어된 전압에 따른 예정 처리 시간과 장치에 의한 실제 처리 시간의 차이를 고려하여 장치에 공급하는 전원의 전압을 다시 제어함으로써, 전력 소모를 줄일 수 있다.
Figure R1020070095414
DVS(Dynamic Voltage Scaling)

Description

3차원 그래픽스 데이터를 처리하는 장치에 공급하는 전원의 전압을 제어하는 방법 및 이를 이용하는 3차원 그래픽스 데이터 처리 장치{Method for controlling voltage used to processing 3 dimensional graphics data and apparatus using it}
본 발명은 3차원 그래픽스 데이터를 처리하는 장치에 공급하는 전원의 전압을 제어하는 방법 및 이를 이용하는 3차원 그래픽스 데이터 처리 장치에 관한 것으로 특히, DVS(Dynamic Voltage Scaling)을 이용하여 전압을 제어하는 방법 및 이를 이용한 3차원 그래픽스 데이터 처리 장치에 관한 것이다.
모바일 3차원 그래픽스를 위한 최근의 표준 API(Application Program Interface)에는 OpenGL-ES, Java mobile 3차원 Graphics API(JSR-184), Direct 3차원 Mobile 등이 있다. OpenGL-ES는 OpenGL의 서브셋으로서, 임베디드 시스템상의 2차원/3차원 그래픽스 기능을 위한 표준화된 크로스 플랫폼(cross-platfrom) API이다.
모바일 장치의 퍼포먼스 요구는 만족되더라도 전력 소비를 감소하는 것이 PDA(Personal Digital Assistant)와 셀룰러 폰과 같은 배터리로부터 전력을 공급받 은 모바일 장치의 경우에는 중요한 요구사항이다. 특히, 3차원 게임이나 3차원 네비게이션들과 같은 모바일 3차원 그래픽스 어플리케이션들은 효과적인 전력 관리가 훨씬 더 중요하다. 왜냐하면, 3차원 그래픽스 데이터 처리시 정점(vertex) 당 많은 양의 부동 소수점 연산(floating calculations)이 요구되고, 프래그먼트(fragment) 당 많은 양의 메모리 액세스가 필요하기 때문에 전력이 부족하게 되기 때문이다.
본 발명이 이루고자 하는 기술적 과제는 전력 소모를 줄일 수 있도록 하는 3차원 그래픽스 데이터를 처리하는 장치에 공급하는 전원의 전압을 제어하는 방법 및 이를 이용하는 3차원 그래픽스 데이터 처리 장치를 제공하는 데 있다. 또한, 상기된 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는데 있다.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 3차원 그래픽스 데이터를 처리하는 장치에 공급하는 전원의 전압을 제어하는 방법은 상기 그래픽스 데이터에 포함된 객체를 나타내는 데이터의 양을 고려하여 상기 장치에 공급하는 전원의 전압을 제어하는 단계; 및 상기 객체에 대한 상기 제어된 전압에 따른 예정 처리 시간과 상기 장치에 의한 실제 처리 시간의 차이를 고려하여 상기 장치에 공급하는 전원의 전압을 다시 제어하는 단계를 포함한다.
상기 다른 기술적 과제를 해결하기 위하여, 본 발명은 상기된 3차원 그래픽스 데이터를 처리할 때 사용하는 전압을 제어하는 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 3차원 그래픽스 데이터 처리 장치는 상기 그래픽스 데이터에 포함된 객체를 나타내는 데이터의 양을 추정하는 작업부하 추정부; 상기 객체에 대응하여 제어된 전압에 따른 예정 처 리 시간과 상기 장치에 의한 실제 처리 시간의 차이와 상기 작업부하 추정부에서 추정된 새로운 객체의 데이터의 양을 고려하여 상기 장치에 공급하는 전원의 전압을 제어하는 전압 제어부; 및 상기 전압 제어부가 고려하는 상기 시간의 차이를 상기 장치가 상기 객체를 그래픽스 데이터 처리한 결과로부터 분석하는 수행결과 분석부를 포함한다.
본 발명의 일 실시예에 따르면, 3차원 그래픽스 데이터 처리 장치에서의 전력 소모를 줄이기 위해 프레임 또는 객체의 3차원 그래픽스 데이터 처리시 발생하는 유휴시간을 활용하여 전압을 낮춤으로써, 3차원 그래픽스 데이터 처리시 사용하는 전력 소모를 줄일 수 있다.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다.
도 1은 본 발명의 바람직한 일 실시예에 따른 전압제어가능한 3차원 그래픽스 데이터 처리장치의 블록도이다.
도 1을 참조하면, 본 실시예에 따른 3차원 그래픽스 데이터 처리장치는 작업부하 추정부(110), 전압 제어부(120), 파이프라인 처리부(130), 수행결과 분석부(160), 및 디스플레이부(170)로 구성된다. 파이프라인 처리부(130)은 지오메트리부(140)와 래스터라이저(150)로 구성된다.
파이프라인 방식이란 일련의 과정들을 다수의 과정들로 분할하고, 분할된 각 과정이 동시에 병렬적으로 서로 다른 데이터를 처리할 수 있도록 한 데이터 처리방식을 말한다.
파이프라인 처리부(130)란 3차원 그래픽스 데이터를 파이프라인 방식으로 처리하는 장치를 말한다. 파이프라인 처리부(130)는 지오메트리부(140)와 래스터라이저(150)로 구성된다. 지오메트리부(140)와 래스터라이저(150)를 구성하는 소정의 과정을 스테이지라고 부르기로 한다. 이하 스테이지들에 대해서 좀더 상세히 살펴보기로 한다.
지오메트리부(140)는 프리미티브와 정점들에 관련된 계산을 수행한다. 지오메트리부(140)는 수신하는 정점(vertex) 단위로 계산을 수행한다. 지오메트리부(140)는 수신한 정점(vertex)을 모델 변환(Model Transformation), 뷰잉 변환(Viewing Transformation), 투영(Projection), 라이팅(Lighting), 백 페이스 컬링(Back Face Culling), 클리핑(Clipping), 투시분할(Perspective Division), 뷰포트 맵핑(Viewport Mapping) 등의 처리를 한다.
모델 변환은 3차원 객체를 나타내는 좌표를 3차원 공간상의 로컬 좌표계에서 월드 좌표계(world coordinate)로 변환하는 과정을 말한다. 뷰잉 변환은 월드 좌표계로 변환된 3차원 객체의 좌표를 시점(카메라)을 기준으로 한 카메라 좌표계(camera coordinate)로 변환하는 과정이다. 투영은 카메라 좌표계로 변환된 3차원 객체를 2차원 화면으로 투영하는 과정이다. 라이팅(Lighting)은 3차원 객체의 현실감을 높이기 위해서 광원(light source)에 의한 반사효과를 표현해주는 과정이다. 백 페이스 컬링이란, 카메라 좌표계에서 시점을 기준으로 보이지 않는 부분을 제거하는 과정이다. 클리핑은 시야 영역(View volume)에 포함되는 프리미티브(primitive)만 래스터라이저(150)로 전달하기 위하여 시야 영역을 벗어난 프리미티브의 일부분을 잘라내는 과정이다. 투시분할은 멀리 떨어진 객체를 가까이 있는 객체보다 작게 만든다. 뷰포트 변환은 투영 윈도우의 좌표를 뷰포트라 불리는 화면의 직사각형으로 변환하는 과정이다. 투영 윈도우는 3차원 장면의 2차원 표현을 만드는데 이용될 절두체(frustum) 내부에 있는 2차원 영역을 말한다.
래스터라이저(150)는 지오메트리부(140)에서 제공된 3차원 객체의 각 정점(vertex)의 좌표, 색상(color) 그리고 텍스쳐 좌표(texture coordinate)를 이용하여 각 픽셀의 정확한 색상을 산출한다. 래스터라이저(150)는 프레임 버퍼에 한 픽셀에 대응되는 프래그먼트 별로 처리를 수행한다. 프래그먼트(fragment)란, 보간을 통하여 생성된 색상 데이터, 3차원 위치 좌표, 텍스쳐 좌표 등이 포함된다.
래스터라이저(150)는 트라이앵글 셋업(Triangle Setup), 주사변환(Scan Conversion), 투시보정(Perspective Correction), LOD(Level of Detail) 연산(calculation), 텍스쳐 주소 생성(Texture Address Generation), 텍스쳐 필터링(Texture Filtering), 텍스쳐 블렌딩(Texture Blending), 프래그먼트 연산(Fragments Operations) 등의 처리를 한다.
트라이앵글 셋업은 삼각형을 구성하는 정점(vertex)을 찾는 과정이다. 주사변환은 삼각형의 면을 모니터의 주사선을 따라 픽셀로 채우는 과정이다. 투시보정은 텍셀(Texel)을 폴리곤에 매핑할 때 프레임 내의 Z값에 의한 영향을 반영하는 과정이다. LOD(Level of Detail) 연산은 카메라로부터의 거리에 따라 3차원 모델이나 지형을 간소화 또는 상세화하여 표현하는 과정이다. 텍스쳐 주소 생성(Texture Address Generation)은 텍스쳐 매핑의 주소를 생성하는 과정이다. 텍스쳐 필터링은 텍스쳐 상의 텍셀(Texel)의 주변 텍셀들을 이용하여 텍셀 색상을 자연스럽게 보이도록 하는 과정이다. 텍셀이란, 텍스쳐 매핑에 사용하는 이미지를 구성하는 요소를 말한다. 텍스쳐 블렌딩은 하나 이상의 텍스쳐를 섞어서 텍스쳐 매핑하는 과정이다. 프래그먼트 연산은 프레임 버퍼에 각 픽셀에 대한 정보를 저장하기 전에 특정 프래그먼트들을 변경하거나 제거하는 과정이다. 프레임 버퍼란, 스크린에 디스플레이되는 각 픽셀에 대한 정보를 담고 있는 버퍼를 말한다.
이상에서 기술한 파이프라인 처리부(130)는 하나의 장면(scene) 정보가 입력되면, 이를 처리하여 하나의 프레임을 생성한다. 장면 정보(Scene Description)는 n개의 객체들로 이루어져 있고, 각 객체마다 m개의 삼각형들로 이루어져 있다. 각각의 삼각형들은 3개의 정점들로 구성된다. 프리미티브(primitive)는 3차원 객체를 표현하는 기본 단위로서, 정점(Vertex), 선(line), 다각형(Polygon)이 포함된다. 삼각형은 프리미티브 중 하나이다.
작업부하 추정부(workload estimator, 110)는 장면 정보(Scene Description)로부터 파이프라인 처리부(130)를 구성하는 스테이지(stage)가 사용하는 전압에 영향을 미치는 요소인 작업부하를 추정한다. 작업부하(workload)란, 파이프라인 처리부(130)가 처리해야 할 데이터 양을 의미하며, 데이터 양이 많으면 많을수록 높은 주파수와 높은 전압이 필요하게 된다.
장면 정보로부터 추정할 수 있는, 스테이지가 사용하는 전압에 영향을 미치 는 요소들은 정점(vertex)의 개수, 삼각형 개수 등을 포함한다. 또한 본 발명에서의 작업부하 추정부(110)는 수행결과 분석부(160)로부터 이전 객체에 대한 파이프라인 처리부(130)의 처리를 분석한 결과를 피드백 받아 현재 처리하고자 하는 객체의 작업부하 추정시에 반영한다.
작업부하 추정부(110)는 장면 정보에 포함된 정점들에 대한 정보를 저장하기 위해 따로 정점 캐싱(Vertex Caching) 기능을 가진다. 이 정점 캐싱 기술은 반복적으로 공유된(shared) 정점들의 변형(transformation)과 라이팅(lighting) 계산을 피할 수 있다. 왜냐하면 많은 3차원 어플리케이션에서 서로 이웃하는 삼각형은 보통 정점을 공유하기 때문이다. 지오메트리부(140)의 모델 변환(Model Transformation) 전에 바이너리 서치 트리(binary search tree)를 이용하는 정점 캐시 기능을 수행한다. 새로운 정점이 파이프라인 처리부(130)로 들어오면, 먼저 정점 캐시를 검색해서 동일한 정점이 이전에 처리되었는지 체크한다. 일치하는 것이 있으면, 이전 결과를 그 정점에 대한 정보로 재사용한다. 따라서, 계산량이 많이 요구되는 모델 변환, 뷰잉 변환, 또는 라이팅(lighting) 스테이지를 건너뛸 수 있다. 특히, 복잡한 라이팅 모델을 요구하는 어플리케이션들에서 정점 캐시는 매우 큰 라이팅(lighting) 계산을 피할 수 있다. 왜냐하면 공유된 정점들은 이웃하는 삼각형로부터 동일한 평균 노멀 벡터를 가질 수 있기 때문이다.
작업부하 추정부(110)는 이전 프레임에 포함된 소정의 객체에 대한 정보가 현재 프레임에 포함된 상기 소정의 객체에 대한 정보와 비교할 때 임계치 이상의 변동이 없는 경우에는 이전 프레임에 포함된 상기 소정의 객체에 대해 가지고 있던 정보를 재사용한다. 그러나, 작업부하 추정부(110)는 이전 프레임에 포함된 소정의 객체에 대한 정보가 현재 프레임에 포함된 상기 소정의 객체에 대한 정보와 비교할 때 임계치 이상의 변동이 있는 경우에는 현재 프레임에 포함된 상기 소정의 객체에 대한 정보를 다시 분석한다. 예를 들어, 현재 프레임의 제 1 객체의 정점의 수가 이전 프레임의 제 1 객체의 정점의 수와 비교할 때, 20%이상 바뀌는 경우 제 1 객체의 특성이 변경되었다고 판단한다.
전압제어부(120)는 3차원 그래픽스 데이터 처리장치로 공급하는 전원의 전압과 주파수를 작업부하 추정부(110)가 예측한 객체 또는 프레임의 작업부하에 기초하여 제어한다. 전압 제어부(120)는 파이프라인 처리부(130)가 포함하는 각 스테이지의 전압 및 주파수를 조절한다. 전압 제어부(120)가 전압을 제어하는 방법에 대해서는 도 2와 도 3에서 상세히 살펴보기로 한다.
파이프라인 처리부(130)는 작업부하 추정부(110)로부터 3차원 그래픽스 데이터를 수신하고, 3차원 그래픽스 데이터를 파이프라인 방식으로 처리한다.
지오메트리부(140)는 객체의 프리미티브와 정점들에 관련된 계산을 수행한다. 래스터라이저(150)는 지오메트리부(140)에서 제공된 3차원 객체의 각 정점(vertex)의 좌표, 색상(color) 그리고 텍스쳐 좌표(texture coordinate)를 이용하여 각 픽셀의 정확한 색상을 산출한다.
수행결과 분석부(160)는 파이프라인 처리부(130)가 3차원 그래픽스 데이터를 처리한 결과를 분석하여 작업부하 추정부(110)로 출력한다. 수행결과 분석부(160)는 파이프라인 처리부(130)에 포함된 각 스테이지를 수행한 결과 발생한 유휴시 간(slack time)에 관한 정보를 작업부하 추정부(110)로 피드백한다. 유휴시간이란, 파이프라인 처리부(130)가 3차원 그래픽스 데이터 처리를 끝낼 것으로 예정된 시간에서 파이프라인 처리부(130)가 실행된 시간을 뺀 시간을 말한다. 이전 파이프라인 처리부(130) 수행시 발생한 유휴시간이 긴 경우에는 현재 수행하고자하는 파이프라인 처리부(130)에 공급하는 전원의 전압을 낮춤으로써, 전력을 절감한다.
디스플레이부(170)는 래스터라이저(150)의 프레임 버퍼로부터 픽셀 정보를 수신하여 사용자에게 디스플레이한다.
도 2는 본 발명의 일실시예에 따른 인터프레임 동적 전압 스케일링과 인트라프레임 동적 전압 스케일링의 개념을 설명하기 위한 도면이다.
인터프레임 동적 전압 스케일링(Interframe Dynamic Voltage Scaling)은 프레임 단위로 파이프라인 처리부(130)에 공급하는 전원의 전압을 제어하는 방법을 말한다. 인트라프레임 동적 전압 스케일링(Intraframe Dynamic Voltage Scaling)은 하나의 프레임 내에 포함된 객체 단위로 파이프라인 처리부(130)에 공급하는 전원의 전압을 제어하는 방법을 말한다.
이하에서는 동적 전압 스케일링(Dynamic Voltage Scaling, DVS) 방법에 대해서 상세히 살펴보기로 한다.
여러 저전력 기법들 중, 두 가지 대표적인 저전력 기법이 있는데, 동적 전력 관리(Dynamic Power Management, DPM)과 동적 전압 스케일링(Dynamic Voltage Scaling, DVS)이다. 메모리 뱅크, 디스크 드라이브, 디스플레이 및 네트워크 등과 같은 자원들(resources)을 사용할 때, DPM은 이 자원들의 전력 관리 상태, 즉 액티 브(active), 아이들(idle), 슬립(sleep), 셧다운(shutdown) 등에 따라 자원들을 저전력 모드로 전환하거나 셧다운(shutdown)시킨다. 반면에, 동적 전압 스케일링은 유휴시간(slack time)을 활용하여 프로세서의 동작속도와 사용전압을 낮추어 줌으로써 전력소모를 줄이는 기술이다. 전력 소모는 전압의 제곱에 비례하게 되므로, 전압을 낮춰주는 DVS 기법은 매우 효과적인 저전력을 달성할 수 있다.
특히, 본 발명의 일실시예에 따른 모바일 3차원 그래픽스 데이터 처리장치가 인터프레임 동적 전압 스케일링 및 인트라프레임 동적 전압 스케일링을 이용하여 전력을 절감하는 방법을 제안한다.
인트라프레임 동적 전압 스케일링(Intraframe Dynamic Voltage Scaling)에서 작업부하 추정부(110)는 장면(scene) 정보에 기초하여 객체별로 작업부하(workload)를 추정한다. 실제로 파이프라인 처리부(130)에 의해 객체 처리시 소요되는 작업부하가 작업부하 추정부(110)에 의해 추정된 작업부하보다 작다면, 전압 제어부(120)가 파이프라인 처리부(130)에 공급하는 전원의 전압은 그에 따라서 작게 조절한다. 따라서, 인트라프레임 동적 전압 스케일링은 현재 프레임 내에서의 유휴시간(slack time)을 활용하는 방법이다. 한편, 후술할 인터프레임 동적 전압 스케일링(Interframe Dynamic Voltage Scaling)은 이전 프레임에서 발생한 유휴시간(slack time)을 이용하는 방법이다.
이제 유휴시간을 계산하는 방법을 살펴보기로 한다.
본 발명의 일실시예에 따른 3차원 그래픽스 데이터 처리장치의 파이프라인 처리부(130)는 n개의 스테이지들로 구성된다. 이 n개의 스테이지들을 P = {pstage-1, ... pstage -n}로 표현하기로 한다. 파이프라인 처리부(130)의 각 스테이지 pstage-i를 표현하기 위해서는 4개의 요소로 된 집합 {Si, Pth -i, Ci, Ni}가 사용된다.
j 번째 프레임을 파이프라인 처리부(130)가 처리하는데 걸리는 실행 시간(Dj)은 수학식 1과 같이 표현된다.
Figure 112007067981046-pat00001
여기서 Si는 3차원 그래픽스 데이터를 처리하는 파이프라인 처리부(130)의 스테이지 pstage -i가 활성화(enable) 또는 비활성화(disable)되는 상태를 나타낸다. 스테이지 pstage -i 활성화 또는 비활성화되는 상태는 각 장면(scene)을 그리기 시작 전에 3차원 그래픽스 데이터의 특징들에 따라 결정된다. 3차원 그래픽스 데이터의 특징들은 라이팅 처리를 하는지 여부, 텍스쳐 매핑 여부 등을 의미한다. 각 스테이지의 실행 시간(execution time)은 이러한 3차원 그래픽스 데이터의 특징들에 따라서 변화될 수 있다.
Pth -i는 본 발명의 일실시예에 따른 3차원 그래픽스 데이터 처리장치를 디자인할 때 결정하는 처리율 팩터(throughput factor)이다. Ci는 최대 속도로 파이프라인 처리부(130)가 3차원 그래픽스 데이터를 처리할 때 i 번째 스테이지의 최악 실 행시간(worst case execution time, WCET)을 나타낸다. Ni는 프리미티브(primitives)의 개수, 프래그먼트(fragaments)의 개수, 깊이 복잡도(depth complexity)에 기초한 반복 팩터(iteration factor)이다.
Ci와 Pth -i는 본 발명의 일실시예에 따른 3차원 그래픽스 데이터 처리장치를 디자인할 때 결정되기 때문에, 이들은 고정된 값이고, 프레임 데드라인(frame deadline)과 보틀넥(bottleneck) 스테이지는 어플리케이션의 작업부하(workload)로부터 산출된다. 프레임 데드라인(deadline)은 가장 높은 주파수에서 주어진 프레임 레이트로 하나의 장면(scene)을 표시하기 위한 시간이다. 한편, 파이프라인 처리부(130)가 어떤 객체를 처리하는 시간을 객체 데드라인이라고 한다. 보틀넥 스테이지는 스테이지 중 가장 높은 전압이나 주파수를 공급한 스테이지를 말한다.
비록 파이프라인 처리부(130)가 잘 최적화되어 있다고 하더라도, 파이프라인 처리부(130)어플리케이션에 따른 Si와 Ni의 차이에서 일어나는 불균형으로 인한 유휴시간(slack time)이 발생함을 수학식 1로부터 알 수 있다.
파이프라인 처리부(130)가 한 프레임을 처리할 때 수행하는 스테이지들 중에서 보틀넥(bottleneck) 스테이지의 실행 시간 Bj는 수학식 2와 같다.
Figure 112007067981046-pat00002
보틀넥 스테이지와 비교할 때 다른 스테이지들은 더 많은 유휴시간을 가진다. 이는 로드밸런싱(load-balancing)을 통하여 퍼포먼스를 최적화하거나, 프레임 레이트가 1/max(Dj)인 시스템에서 이러한 유휴시간들을 이용함으로써 공급 전압을 낮출 수 있음을 의미한다.
도 2를 참조하면, N개의 프레임들이 있고, 각 프레임마다 복수의 객체들이 존재한다. 객체에 관한 3차원 그래픽스 데이터가 파이프라인 처리부(130)에 입력되고, 지오메트리부(140)와 래스터라이저(150)가 3차원 그래픽스 데이터를 처리한다. 만일 프레임 1에 M개의 객체들이 존재하는 경우, 각 객체 별로 파이프라인 처리부(130)에 입력되고, 파이프라인 처리부(130)가 마지막 객체M을 처리하면, 디스플레이를 위한 프레임 픽셀 정보들을 프레임 버퍼에 모두 저장한 상태가 된다.
여기서, 한 프레임은 OpenGL-ES의 경우 glClear() 함수 호출에 의해 시작되고 eglSwapBuffer() 함수 호출에 의해 끝나며, 한 프레임의 각 객체는 OpenGL-ES 어플리케이션의 glDrawArrays() 또는 glDrawElements()에 의해 구별된다고 가정하기로 한다.
프레임(scene)이 m개의 객체로 이루어진 경우, 수학식 1의 j 번째 프레임을 파이프라인 처리부(130)가 처리하는데 걸리는 실행 시간(Dj)는 수학식 3으로 바꿔 표현할 수 있다.
Figure 112007067981046-pat00003
여기서
Figure 112007067981046-pat00004
는 o번째 객체를 처리하는 파이프라인 처리부(130)의 스테이지 pstage-i가 활성화(enable) 또는 비활성화(disable)되는 상태를 나타낸다. 스테이지 pstage -i 활성화 또는 비활성화되는 상태는 각 장면(scene)을 그리기 시작 전에 3차원 그래픽스 데이터의 특징들에 따라 결정된다. 3차원 그래픽스 데이터의 특징들은 라이팅 처리를 하는지 여부, 텍스쳐 매핑 여부 등을 의미한다. 각 스테이지의 실행 시간(execution time)은 이러한 3차원 그래픽스 데이터의 특징들에 따라서 변화될 수 있다. Pth -i는 본 발명의 일실시예에 따른 3차원 그래픽스 데이터 처리장치를 디자인할 때 결정하는 처리율 팩터(throughput factor)이다. Ci는 최대 속도로 파이프라인 처리부(130)가 3차원 그래픽스 데이터를 처리할 때 i 번째 스테이지의 최악 실행시간(worst case execution time, WCET)을 나타낸다. Ni는 프리미티브(primitives)의 개수, 프래그먼트(fragaments)의 개수, 깊이 복잡도(depth complexity)에 기초한 반복 팩터(iteration factor)이다.
Figure 112007067981046-pat00005
는 o번째 객체를 처리하는 파이프라인 처리부(130)의 i번째 스테이지에서 프리미티브(primitives)의 개수, 프래그먼트(fragaments)의 개수, 깊이 복잡도(depth complexity)에 기초한 반복 팩터(iteration factor)이다.
인트라프레임 동적전압 스케일링에서, 각 객체는 객체들 간에 보틀넥 스테이지가 존재함으로써, 정적(static) 유휴시간(slacks)들 또는 동적(dynamic) 유휴시간들을 가질 수 있다. 변환 가능한 전압과 주파수의 범위가 1부터 s까지이고(1≤k≤s), 주파수가 fk로 바뀌면, 전압 레벨이 Vk로 비례적으로 바뀐다고 가정하자. 인트라프레임 동적전압 스케일링에서 공급 전압을 조절하기 위해서 유휴시간(slack times)을 사용할 때, 주파수는 수학식 4와 같이 유휴시간의 정적 배분(static distribution) 또는 수학식 6과 같이 동적 배분(dynamic distribution)에 의해 결정된다. 정적 배분은 보틀넥 스테이지로 때문에 발생하는 유휴시간을 스테이지마다 균일하게 분배하는 방법으로써, 수학식 4와 수학식 5로 나타낸다.
Figure 112007067981046-pat00006
여기서,
Figure 112007067981046-pat00007
은 o번째 객체를 처리하는 파이프라인 처리부(130)에 포함된 모든 스테이지들이 활성화(enable)된 상태를 나타낸다. 수학식 4의
Figure 112007067981046-pat00008
는 객체를 그리기 위한 파이프라인 처리부(130)의 스테이지마다 균일하게 유휴시간을 분배함으로써 결정된 것으로 각 스테이지마다 일정한 주파수를 나타낸다. 따라서, 정적 유휴시간 분배는 너무 잦은 전압 스케일링을 피할 수 있다. 그러나 각 스테이지마 다 균일하게
Figure 112007067981046-pat00009
을 적용하는 것은 각 스테이지간 차이를 무시하는 것이므로, 수학식 5와 같이 각 스테이지마다 주파수(
Figure 112007067981046-pat00010
)를 계산한다.
Figure 112007067981046-pat00011
정적 배분에서는 수학식 5를 이용하여 파이프라인 처리부(130)의 스테이지 a마다의 주파수를 결정한다.
한편, 동적 분배는 이전 객체의 처리시 발생한 유휴시간을 사용하여, 현재의 객체에 대한 주파수 결정하는 방법으로 수학식 6과 같이 나타낸다.
수학식 6와 같이 유휴시간의 동적 분배를 사용하면 이전 스테이지에서의 주파수 예측 편차를 보상할 수 있다.
Figure 112007067981046-pat00012
여기서,
Figure 112007067981046-pat00013
는 동적 분배를 이용할 때 o+1객체에 대한 주파수를 나타낸다.
Figure 112007067981046-pat00014
은 j 번째 객체를 처리하는 파이프라인 처리부(130)의 모든 스테이지들이 모두 활성화된 상태를 나타낸다.
Figure 112007067981046-pat00015
는 j번째 객체를 처리하는 파이프라인 처리부(130)의 i번째 스테이지가 활성화(enable) 또는 비활성화(disable)되는 상태를 나타낸다.
Figure 112007067981046-pat00016
는 j번째 객체를 처리하는 파이프라인 처리부(130)의 i번째 스테이지에서 프리미티브(primitives)의 개수, 프래그먼트(fragaments)의 개수, 깊이 복잡도(depth complexity) 등에 기초한 반복 팩터(iteration factor)이다.
도 3a-c는 본 발명의 일실시예에 따른 인터프레임 동적 전압 스케일링과 인트라프레임 동적 전압 스케일링에서 유휴시간이 발생하는 것을 도식화한 도면이다.
도 3a는 인트라프레임 동적 전압 스케일링의 경우 파이프라인 처리부(130)의 N개의 스테이지들(p1,p2,......pn)에서 객체 i를 처리할 때 시간의 흐름에 따라 각 스테이지별 유휴시간과 실행시간을 나타낸 도면이다. 빗금으로 표시된 부분이 실행시간을, 빗금이 없는 부분이 유휴시간을 나타낸다.
도 3b는 인트라프레임 동적 전압 스케일링에서 파이프라인 처리부(130)의 스테이지마다 공급하는 주파수 레벨을 도시한 것이다. 도 3a-3b에서 보는 바와 같이 보틀넥 스테이지에 공급하는 주파수가 가장 높고, 유휴시간이 가장 작게 발생한다.
도 3c는 인터프레임 동적 전압 스케일링과 인트라프레임 동적 전압 스케일링을 같이 나타낸 도면이다.
인트라프레임 동적 전압 스케일링에 대해서 살펴보면, 프레임 j는 m개의 객체를 포함하고 있으며, 파이프라인 처리부(130)가 객체(O1)를 처리시 발생한 유휴시간을 객체(O2)에 대한 전압과 주파수를 결정할 때 사용하는 것을 개념적으로 표시하 였다. 이후 파이프라인 처리부(130)에 입력되는 객체(Oi)에 대응하는 전압 또는 주파수를 이전 객체(Oi-1)을 처리할 때 발생한 유휴시간을 고려하여 결정한다. 여기서 1≤i≤m이다.
한편, 인터프레임 동적 전압 스케일을 살펴보면, 프레임 j의 마지막 객체(Om)를 파이프라인 처리부(130)가 처리시 발생한 유휴시간을 프레임 j+1의 첫번째 객체에 대응하는 전압 및 주파수를 결정할 때 고려한다.
이하, 인트라프레임 동적 전압 스케일링과 인터프레임 동적 전압 스케일링을 도 1을 참조하여 보다 상세하게 살펴보기로 한다.
인트라프레임 동적 전압 스케일링은 작업부하 추정부(110)에서 추정한 작업부하와 수행결과 분석부(160)로부터 피드백 받은 유휴시간을 이용하여, 전압 제어부(130)가 스테이지 수행시 공급할 전압과 주파수를 스테이지들을 수행하기 전에 결정하는 방법이다. 인트라프레임 동적 전압 스케일링은 하나의 객체에 대한 스테이지들의 수행이 완료되면, 수행결과 분석부(160)는 스테이지들의 수행을 분석한 결과를 작업부하 추정부(110)로 출력한다. 작업부하 추정부(110)가 새로 수신한 객체에 대해 추정한 작업부하와 수행결과 분석부(160)로부터 입력받은 분석 결과를 전압 제어부(120)로 출력하면, 전압 제어부(120)는 새로 수신한 객체에 대한 작업부하와 수행결과 분석부(160)의 분석 결과를 기초로 하여 새로 수신한 객체를 처리하는 스테이지에 공급할 전압과 주파수를 스테이지별로 제어한다.
인트라프레임 동적 전압 스케일링에서는 주파수 레벨이 각 객체마다 다르게 결정된다. 각 객체의 실행 시간이 객체의 동적 특징들(dynamic characteristics)에 따라 프레임마다 변화할 수 있기 때문에 객체 리스트(object list)를 만들고, 정점, 삼각형, 프래그먼트(fragment)의 개수, 장면을 그리는 동안의 실행 시간을 포함하는 객체의 특징들(characteristics)을 저장한다. 첫 번째 프레임이 렌더링되면, 객체 리스트가 생성되고, 생성된 객체 리스트는 하나의 프레임이 파이프라인 처리부(130)에서 처리될 때마다 업데이트된다. 객체 리스트를 업데이트할 때, 연속되는 프레임 또는 객체의 유휴시간을 정확하게 예측하기 위하여 객체의 특징들에 있어서의 변화가 또한 저장된다. 만일 특징들의 변화가 너무 심할 경우, 객체 리스트는 초기화되고, 재구성된다. 예를 들면, 정점의 개수가 20% 이상 바뀌는 경우 등을 초기화할 기준으로 삼을 수 있다.
나아가, 인트라프레임 동적 전압 스케일링에서 유휴시간은 장면 또는 객체의 움직임에 있어서 특징의 변화에 의해 발생하는 것이다. 이러한 미사용된 동적 유휴시간이 다음 프레임의 프레임 데드라인(deadline)에 더해진다. 이때, 이전 프레임의 유휴시간이 다음 프레임의 첫 객체의 객체 데드라인에 사용된다. 프레임 데드라인(deadline)은 가장 높은 주파수에서 주어진 프레임 레이트로 하나의 장면(scene)을 표시하기 위한 시간이다. 한편, 파이프라인 처리부(130)가 어떤 객체를 처리하는 시간을 객체 데드라인이라고 한다.
인트라프레임 동적 전압 스케일링에서 더 많은 유휴시간을 발생하기 위해서, 객체 리스트에 정점 캐싱 기술을 더 사용한다. 이 정점 캐싱 기술은 반복적으로 공유된(shared) 정점들의 변형과 라이팅(lighting) 계산을 피할 수 있다. 왜냐하면 많은 3차원 어플리케이션에서 서로 이웃하는 삼각형은 보통 정점을 공유하기 때문이다. 지오메트리부(140)의 모델 변환(Model Transformation) 스테이지 전에 바이너리 서치 트리에 의한 정점 캐시 스트럭쳐를 위치시킨다. 새로운 정점이 파이프라인 처리부(130)으로 들어오면, 먼저 정점 캐시를 검색해서 동일한 정점이 이전에 처리되었는지 체크한다. 일치하는 것이 있으면, 이전 결과를 그 정점에 재사용한다. 따라서, 계산량이 많이 요구되는 모델 변환, 뷰잉 변환, 또는 라이팅(lighting) 스테이지를 건너뛸 수 있다. 특히, 복잡한 라이팅 모델을 요구하는 어플리케이션들에서 정점 캐시는 매우 큰 라이팅(lighting) 계산을 피할 수 있다. 왜냐하면 공유된 정점들은 이웃하는 삼각형로부터 동일한 평균 노멀 벡터를 가질 수 있기 때문이다. 본 발명의 구현에서, 정점 캐시를 가지는 객체 리스트는 더 많은 유휴시간을 만들고 인터프레임 동적 전압 스케일링과 인프라프레임 동적 전압 스케일링 모두에서 전압 변동을 관리하는 데 유용하다.
인터프레임 동적 전압 스케일링은 현재 처리한 프레임을 파이프라인 처리부(130)가 수행한 결과와 새롭게 수신한 프레임에 대해 분석한 작업부하에 기초하여 새롭게 수신한 프레임에 대하여 파이프라인 처리부(130)에 공급하는 전원의 전압과 주파수를 결정한다.
본 발명의 일실시예에 따른 3차원 그래픽스 데이터 처리장치가 파이프라인 처리부(130)에 공급하는 전원의 전압이 파이프라인 처리부(130)가 동작하기 전에 결정되는 경우를 본 발명에서는 정적(static) 전압 결정이라고 하고, 파이프라인 처리부(130)가 동작한 결과를 피드백 받아 파이프라인 처리부(130)에 공급하는 전 원의 전압을 변경하는 것을 동적 (Dynamic Voltage) 전압 결정이라고 하기로 한다. 인터프레임 동적 전압 스케일링은 파이프라인 처리부(130)가 이전 프레임을 처리한 결과를 피드백 받고, 수신한 프레임에 대응하는 전압을 결정하므로, 프레임에 대해서는 동적 전압 결정을 한다. 인트라프레임 동적 전압 스케일링은 파이프라인 처리부(130)가 이전 객체를 처리한 결과를 피드백 받고, 수신하는 객체에 대응하는 전압을 결정하므로 객체에 대하여 동적 전압 결정을 한다. 그러나 객체에 대응하는 전압이 결정되면, 파이프라인 처리부(130)의 각 스테이지별로 공급되는 전압이 스테이지가 수행되기 전에 결정되므로, 각 스테이지에 대해서는 정적 전압 결정을 한다.
도 4는 본 발명의 바람직한 일 실시예에 따른 객체를 파이프라인 방식으로 처리시 전압을 제어하는 방법을 나타내는 흐름도이다.
도 4를 참조하면, 본 실시예에 따른 전압을 제어하는 방법은 도 1에 도시된 전압제어가능한 3차원 그래픽스 데이터 처리장치에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 1에 도시된 3차원 그래픽스 데이터 처리장치에 관하여 이상에서 기술된 내용은 본 실시예에 따른 전압을 제어하는 방법에도 적용된다.
410 단계에서 3차원 그래픽스 데이터 처리장치는 수신된 프레임에 포함된 객체들 중에서 어느 하나의 객체에 대한 작업부하를 예측하는 데 필요한 3차원 그래픽스 데이터 정보, 즉 정점(vertex)의 개수, 삼각형 개수, 프래그먼트의 개수, 라이팅 파라미터(Lighting Parameter), 텍스쳐 파라미터(Texture Parameter) 등을 분 석하여 각 스테이지에서의 작업부하를 예측한다. 작업부하(workload)란, 파이프라인 처리부(130)가 처리해야 할 데이터 양을 의미하며, 데이터 양이 많으면 많을수록 높은 주파수와 높은 전압이 필요하게 된다.
420 단계에서 3차원 그래픽스 데이터 처리장치는 410 단계에서 예측한 어느 하나의 객체에 대응하는 작업부하에 기초하여 결정된 전압, 주파수로 파이프라인 처리부(130)를 수행한다. 이때, 객체를 처리하는 파이프라인 처리부(130) 내에 있는 스테이지들 각각에 대해서 공급할 전압과 주파수를 결정한 후 파이프라인 처리부(130)를 수행한다.
430 단계에서 3차원 그래픽스 데이터 처리장치는 파이프라인 처리부(130)를 수행한 결과 발생한 유휴시간(slack)을 고려하여 스테이지들에 공급할 전압, 주파수를 변경한다. 작업부하 추정부(110)가 수행결과 분석부(160)로부터 이전 객체를 처리한 결과인 유휴시간을 피드백 받고, 새로이 처리할 객체의 작업부하를 다시 추정한다. 전압 제어부(120)는 다시 추정된 작업부하와 피드백된 유휴시간에 기초하여 스테이지들에 공급할 전압, 주파수를 다시 결정한다.
440 단계에서 3차원 그래픽스 데이터 처리장치는 430 단계에서 다시 결정된 전압 및 주파수로 다음 객체에 대해 파이프라인 방식으로 데이터 처리를 수행한다.
450 단계에서 3차원 그래픽스 데이터 처리장치는 수신된 프레임에 포함된 모든 객체들에 대해 파이프라인 처리부(130)를 수행하였는지를 판단한다. 상기 판단결과, 모든 객체들에 대해 파이프라인 처리부(130)를 수행한 경우에는 종료하고, 파이프라인 처리부(130)가 처리하지 않은 객체가 있는 경우에는 430 단계로 진행한 다.
도 5는 본 발명의 바람직한 일 실시예에 따른 프레임을 파이프라인 방식으로 처리시 전압을 제어하는 방법을 나타내는 흐름도이다.
도 5를 참조하면, 본 실시예에 따른 전압을 제어하는 방법은 도 1에 도시된 전압제어가능한 3차원 그래픽스 데이터 처리장치에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 1에 도시된 3차원 그래픽스 데이터 처리장치에 관하여 이상에서 기술된 내용은 본 실시예에 따른 전압을 제어하는 방법에도 적용된다.
510 단계에서 3차원 그래픽스 데이터 처리장치는 수신된 프레임에 포함된 객체들의 3차원 그래픽스 데이터의 정보, 즉 정점(vertex)의 개수, 삼각형 개수, 프래그먼트의 개수, 라이팅 파라미터(Lighting Parameter), 텍스쳐 파라미터(Texture Parameter) 등을 분석하여 프레임 전체의 작업부하를 예측한다.
520 단계에서 3차원 그래픽스 데이터 처리장치는 510 단계에서 예측된 작업부하에 근거하여 파이프라인 처리부(130)에 공급하는 전원의 전압, 주파수를 결정한다. 이때 파이프라인 처리부(130)에 공급하는 전원의 전압, 주파수는 각각의 객체별, 스테이지별로 미리 결정된다.
530 단계에서 3차원 그래픽스 데이터 처리장치는 수신된 프레임에 포함된 객체들이 모두 파이프라인 처리부(130)에 의해 처리된 후 발생한 유휴시간을 고려하여 다음에 수신되는 프레임에 대응하는 전압, 주파수를 결정한다. 이때 결정되는 전압, 주파수는 파이프라인 처리부(130)의 각 객체별, 스테이지별로 공급되는 전 압, 주파수이다. 여기서, 수신된 프레임에 포함된 객체들이 모두 파이프라인에 의해 처리된 후 발생한 유휴시간은 다음에 수신되는 프레임에 포함된 객체들 중에서 제일 처음 파이프라인이 처리하는 객체를 위해 사용될 수도 있고, 프레임 내에 포함된 모든 객체에 대해서 사용될 수도 있다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 본 발명의 실시예에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1은 본 발명의 바람직한 일 실시예에 따른 전압제어가능한 3차원 그래픽스 데이터 처리장치의 블록도이다.
도 2는 본 발명의 일실시예에 따른 인터프레임 동적 전압 스케일링과 인트라프레임 동적 전압 스케일링의 개념을 설명하기 위한 도면이다.
도 3a-c는 본 발명의 일실시예에 따른 인터프레임 동적 전압 스케일링과 인트라프레임 동적 전압 스케일링에서 유휴시간이 발생하는 것을 도식화한 도면이다.
도 4는 본 발명의 바람직한 일 실시예에 따른 객체를 파이프라인 방식으로 처리시 전압을 제어하는 방법을 나타내는 흐름도이다.
도 5는 본 발명의 바람직한 일 실시예에 따른 프레임을 파이프라인 방식으로 처리시 전압을 제어하는 방법을 나타내는 흐름도이다.

Claims (17)

  1. 그래픽스 데이터를 처리하는 장치에 공급하는 전원의 전압을 제어하는 방법에 있어서,
    상기 그래픽스 데이터에 포함된 객체를 나타내는 데이터의 양을 고려하여 상기 장치에 공급하는 전원의 전압을 제어하는 단계; 및
    상기 객체에 대한 상기 제어된 전압에 따른 예정 처리 시간과 상기 장치에 의한 실제 처리 시간의 차이를 고려하여 상기 장치에 공급하는 전원의 전압을 다시 제어하는 단계를 포함하며,
    상기 데이터의 양은, 정점(vertex)의 개수, 삼각형 개수, 프래그먼트의 개수, 라이팅 파라미터(Lighting Parameter), 텍스쳐 파라미터(Texture Parameter) 중 적어도 하나를 분석하여 결정되는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서,
    상기 그래픽스 데이터는 어느 하나의 장면을 나타내는 그래픽스 데이터에 해당하는 프레임을 다수 포함하고,
    상기 장치에 공급하는 전원의 전압을 다시 제어하는 단계는,
    상기 다수의 프레임 중 어느 하나의 프레임에 포함된 객체들 중 마지막 객체를 처리한 후에 발생한 상기 시간의 차이를 고려하여, 상기 프레임 다음에 입력되는 프레임을 처리하는 상기 장치에 공급하는 전원의 전압을 다시 제어하는 단계임을 특징으로 하는 방법.
  3. 제 2 항에 있어서, 상기 프레임 다음에 입력되는 프레임을 처리하는 상기 장 치에 공급하는 전원의 전압을 다시 제어하는 단계는,
    상기 다수의 프레임 중 어느 하나의 프레임에 포함된 객체들 중 마지막 객체를 처리한 후에 발생한 상기 시간의 차이를 고려하여, 상기 프레임 다음에 입력되는 프레임에 포함된 객체들 중 처음으로 처리되는 객체를 처리하는 상기 장치에 공급하는 전원의 전압을 다시 제어하는 단계임을 특징으로 하는 방법.
  4. 제 1 항에 있어서,
    상기 장치에 공급하는 전원의 전압에 대한 제어는 상기 장치에 공급하는 전원의 주파수를 제어함으로써, 상기 장치에 공급하는 전원의 전압을 제어하는 것을 특징으로 하는 방법.
  5. 제 1 항에 있어서,
    상기 장치에 공급하는 전원의 전압에 대한 제어는 상기 장치를 구성하는 단위 처리부들에 공급하는 전원의 전압들을 각각 제어하는 것을 특징으로 하는 방법.
  6. 제 1 항에 있어서,
    상기 객체의 정점에 대한 데어터를 저장하는 단계; 및
    상기 장치가 상기 객체의 정점과 동일한 정점을 재처리하는 경우, 상기 저장된 데이터를 이용하는 단계를 더 포함함을 특징으로 하는 방법.
  7. 제 1 항에 있어서, 상기 장치에 공급하는 전원의 전압을 제어하는 단계는,
    상기 그래픽스 데이터에 포함된 프레임이 갖고 있는 데이터의 양을 고려하여, 상기 장치에 공급하는 전원의 전압을 제어하는 단계임을 특징으로 하고,
    상기 장치에 공급하는 전원의 전압을 다시 제어하는 단계는,
    상기 프레임에 대한 상기 제어된 전압에 따른 예정 처리 시간과 상기 장치에 의한 실제 처리 시간의 차이를 고려하여 상기 장치에 공급하는 전원의 전압을 다시 제어하는 단계임을 특징으로 하는 방법.
  8. 제 7 항에 있어서, 상기 장치에 공급하는 전원의 전압을 제어하는 단계는,
    상기 프레임에 포함된 모든 객체들이 갖고 있는 데이터의 양을 고려하여, 상기 프레임에 포함된 객체별로 상기 장치를 구성하는 단위 처리부들에 공급하는 전원의 전압을 제어하는 단계임을 특징으로 하는 방법.
  9. 전압을 제어하는 그래픽스 데이터를 처리하는 장치에 있어서,
    상기 그래픽스 데이터에 포함된 객체를 나타내는 데이터의 양을 추정하는 작업부하 추정부;
    상기 객체에 대응하여 제어된 전압에 따른 예정 처리 시간과 상기 장치에 의한 실제 처리 시간의 차이와 상기 작업부하 추정부에서 추정된 새로운 객체의 데이터의 양을 고려하여 상기 장치에 공급하는 전원의 전압을 제어하는 전압 제어부; 및
    상기 전압 제어부가 고려하는 상기 시간의 차이를 상기 장치가 상기 객체를 그래픽스 데이터 처리한 결과로부터 분석하는 수행결과 분석부를 포함하며,
    상기 데이터의 양은, 정점(vertex)의 개수, 삼각형 개수, 프래그먼트의 개수, 라이팅 파라미터(Lighting Parameter), 텍스쳐 파라미터(Texture Parameter) 중 적어도 하나를 분석하여 결정되는 것을 특징으로 하는 장치.
  10. 제 9 항에 있어서,
    상기 그래픽스 데이터는 어느 하나의 장면을 나타내는 그래픽스 데이터에 해당하는 프레임을 다수 포함하고,
    상기 전압 제어부는,
    상기 다수의 프레임 중 어느 하나의 프레임에 포함된 객체들 중 마지막 객체를 처리한 후에 발생한 상기 시간의 차이를 고려하여, 상기 프레임 다음에 입력되는 프레임을 처리하는 상기 장치에 공급하는 전원의 전압을 다시 제어하는 것을 특징으로 하는 장치.
  11. 제 10 항에 있어서, 상기 전압 제어부는,
    상기 다수의 프레임 중 어느 하나의 프레임에 포함된 객체들 중 마지막 객체를 처리한 후에 발생한 상기 시간의 차이를 고려하여, 상기 프레임 다음에 입력되는 프레임에 포함된 객체들 중 처음으로 처리되는 객체를 처리하는 상기 장치에 공급하는 전원의 전압을 다시 제어하는 것을 특징으로 하는 장치.
  12. 제 9 항에 있어서, 상기 전압 제어부는,
    상기 장치에 공급하는 전원의 전압에 대한 제어를 상기 장치에 공급하는 전원의 주파수를 제어함으로써, 제어하는 것을 특징으로 하는 장치.
  13. 제 9 항에 있어서, 상기 전압 제어부에서,
    상기 장치에 공급하는 전원의 전압에 대한 제어는 상기 장치를 구성하는 단위 처리부들에 각각 공급하는 전원의 전압들에 대한 제어임을 특징으로 하는 장치.
  14. 제 9 항에 있어서, 상기 작업부하 추정부는,
    상기 객체의 정점에 대한 정보를 저장하고, 상기 장치가 상기 정점과 동일한 정점을 재처리하는 경우, 상기 저장된 정보를 이용하여 데이터의 양을 추정하는 것을 특징으로 하는 장치.
  15. 제 9 항에 있어서, 상기 작업부하 추정부는,
    상기 그래픽스 데이터에 포함된 프레임을 나타내는 데이터의 양을 추정하는 것을 특징으로 하고,
    상기 전압제어부는,
    상기 프레임에 대응하여 제어된 전압에 따른 예정 처리 시간과 상기 장치에 의한 실제 처리 시간의 차이와 상기 작업부하 추정부에서 추정된 새로운 프레임의 데이터의 양을 고려하여 상기 장치에 공급하는 전원의 전압을 제어하는 것을 특징으로 하고,
    상기 수행결과 분석부는,
    상기 전압 제어부가 고려하는 상기 시간의 차이를 상기 장치가 상기 프레임을 그래픽스 데이터 처리한 결과로부터 분석하는 것을 특징으로 하는 장치.
  16. 제 15 항에 있어서, 상기 전압 제어부는,
    상기 프레임에 포함된 모든 객체들이 갖고 있는 데이터의 양을 고려하여, 상기 프레임에 포함된 객체별로 상기 장치를 구성하는 단위 처리부들에 공급하는 전원의 전압을 제어하는 단계임을 특징으로 하는 장치.
  17. 제 1 항 내지 제 8 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020070095414A 2006-10-02 2007-09-19 3차원 그래픽스 데이터를 처리하는 장치에 공급하는전원의 전압을 제어하는 방법 및 이를 이용하는 3차원그래픽스 데이터 처리 장치 KR101345380B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/905,495 US8112640B2 (en) 2006-10-02 2007-10-01 Method of controlling voltage of power supplied to 3D graphics data processor and the 3D graphics data processor using the method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020060097445 2006-10-02
KR20060097445 2006-10-02

Publications (2)

Publication Number Publication Date
KR20080031106A KR20080031106A (ko) 2008-04-08
KR101345380B1 true KR101345380B1 (ko) 2013-12-24

Family

ID=39532846

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070095414A KR101345380B1 (ko) 2006-10-02 2007-09-19 3차원 그래픽스 데이터를 처리하는 장치에 공급하는전원의 전압을 제어하는 방법 및 이를 이용하는 3차원그래픽스 데이터 처리 장치

Country Status (1)

Country Link
KR (1) KR101345380B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101443399B1 (ko) * 2009-05-22 2014-09-25 삼성전자주식회사 휴대단말기의 전압 스케일링 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002221958A (ja) 2001-01-26 2002-08-09 Nec Corp 省電力グラフィック制御回路
US20030065960A1 (en) 2001-09-28 2003-04-03 Stefan Rusu Method and apparatus for adjusting the voltage and frequency to minimize power dissipation in a multiprocessor system
KR100516191B1 (ko) 2004-08-12 2005-09-22 위재경 영상 코덱의 전력소모 절감방법 및 이 방법을 적용한 영상코덱
KR100707203B1 (ko) 2005-08-04 2007-04-13 삼성전자주식회사 3차원 그래픽스 가속 장치에 공급되는 전압을 제어하는장치 및 방법, 그를 이용한 3차원 그래픽스 가속 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002221958A (ja) 2001-01-26 2002-08-09 Nec Corp 省電力グラフィック制御回路
US20030065960A1 (en) 2001-09-28 2003-04-03 Stefan Rusu Method and apparatus for adjusting the voltage and frequency to minimize power dissipation in a multiprocessor system
KR100516191B1 (ko) 2004-08-12 2005-09-22 위재경 영상 코덱의 전력소모 절감방법 및 이 방법을 적용한 영상코덱
KR100707203B1 (ko) 2005-08-04 2007-04-13 삼성전자주식회사 3차원 그래픽스 가속 장치에 공급되는 전압을 제어하는장치 및 방법, 그를 이용한 3차원 그래픽스 가속 장치

Also Published As

Publication number Publication date
KR20080031106A (ko) 2008-04-08

Similar Documents

Publication Publication Date Title
US8112640B2 (en) Method of controlling voltage of power supplied to 3D graphics data processor and the 3D graphics data processor using the method
US11222462B2 (en) Method, apparatus, and computer program product for improved graphics performance
US11270506B2 (en) Foveated geometry tessellation
JP4418716B2 (ja) データ処理システム
KR101033779B1 (ko) 확장된 버텍스 캐시를 갖는 그래픽스 프로세싱 유닛을 이용하여 이미지를 프로세싱하는 방법 및 장치
US10049486B2 (en) Sparse rasterization
KR101217559B1 (ko) 전력 소모를 최소화하는 그래픽스 데이터 렌더링 방법 및장치
KR101609266B1 (ko) 타일 기반의 랜더링 장치 및 방법
KR102381945B1 (ko) 그래픽 프로세싱 장치 및 그래픽 프로세싱 장치에서 그래픽스 파이프라인을 수행하는 방법
US8654122B2 (en) Method, apparatus, and computer program product for improved graphics performance
US9607352B2 (en) Prediction based primitive sorting for tile based rendering
US20100097377A1 (en) Graphics Processing Using Culling on Groups of Vertices
JP2011522322A (ja) ジオメトリシェーダを用いる平面充填エンジンのためのシステム、方法及びコンピュータプログラム製品
KR20170040698A (ko) 그래픽스 파이프라인을 수행하는 방법 및 장치
KR102521654B1 (ko) 컴퓨팅 시스템 및 컴퓨팅 시스템에서 타일-기반 렌더링의 그래픽스 파이프라인을 수행하는 방법
KR101345380B1 (ko) 3차원 그래픽스 데이터를 처리하는 장치에 공급하는전원의 전압을 제어하는 방법 및 이를 이용하는 3차원그래픽스 데이터 처리 장치
US10409359B2 (en) Dynamic bin ordering for load synchronization
US11972518B2 (en) Hybrid binning
KR20230018368A (ko) 폐색 처리 기법을 위한 방법 및 장치
JP2015153144A (ja) 情報処理装置、生成方法、プログラム及び記録媒体
WO2022211966A1 (en) Post-depth visibility collection with two level binning
KR20220112710A (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: 20161121

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171121

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181119

Year of fee payment: 6