KR20150093047A - 그래픽스 데이터를 처리하는 방법 및 장치 - Google Patents

그래픽스 데이터를 처리하는 방법 및 장치 Download PDF

Info

Publication number
KR20150093047A
KR20150093047A KR1020140013824A KR20140013824A KR20150093047A KR 20150093047 A KR20150093047 A KR 20150093047A KR 1020140013824 A KR1020140013824 A KR 1020140013824A KR 20140013824 A KR20140013824 A KR 20140013824A KR 20150093047 A KR20150093047 A KR 20150093047A
Authority
KR
South Korea
Prior art keywords
graphics data
command
instruction
acquired
pattern
Prior art date
Application number
KR1020140013824A
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 KR1020140013824A priority Critical patent/KR20150093047A/ko
Priority to US14/532,182 priority patent/US20150221062A1/en
Publication of KR20150093047A publication Critical patent/KR20150093047A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

그래픽스 데이터를 처리하는 방법이 개시된다. 그래픽스 데이터를 렌더링하는 연산을 수행하기 위한 적어도 하나의 명령어를 획득하고, 획득한 적어도 하나의 명령어를 기초로 연산을 수행한 결과 도출되는 그래픽스 데이터 중에서 연산 이후의 다른 연산에 이용되는 그래픽스 데이터를 결정하고, 결정된 그래픽스 데이터만이 결정된 그래픽스 데이터에 할당된 버퍼에 기록되도록 제어하여 그래픽스 데이터를 렌더링하는데 사용되는 전력 소모를 줄일 수 있다.

Description

그래픽스 데이터를 처리하는 방법 및 장치 {Method and apparatus for processing graphics data and medium record of}
그래픽스 데이터를 처리하는 방법, 장치 및 기록매체에 관한 것이다.
최근 3차원의 그래픽스 데이터를 화면에 표시하는 디바이스가 각광받고 있다. 특히, 모바일 디바이스의 경우, 코어의 수가 증가하고 있는 추세이고, 이에 따라 모바일 디바이스는 PC 급의 성능을 사용자에게 제공하고 있다.
디바이스에서 그래픽스 데이터를 화면에 표시하는 경우 고려해야 하는 중요한 요소 중 하나는 전력이다. 디바이스의 성능이 좋다고 하더라도 사용자가 필요한 시간만큼 사용할 수 있어야 하고, 또한 디바이스의 발열 문제로 인해 전력은 중요한 요소로 고려될 수 있다.
그래픽스 데이터를 처리하는 경우, 불필요한 작업을 제거함으로써 디바이스에서 그래픽스 데이터 처리시 소모되는 전력량을 줄일 수 있는 그래픽스 데이터를 처리하는 방법 및 장치를 제공한다.
일 실시예에 따른 그래픽스 데이터 처리 방법은, 그래픽스 데이터를 렌더링하는 연산을 수행하기 위한 적어도 하나의 명령어를 획득하는 단계; 상기 획득한 적어도 하나의 명령어를 기초로 상기 연산을 수행한 결과 도출되는 그래픽스 데이터 중에서 상기 연산 이후의 다른 연산에 이용되는 그래픽스 데이터를 결정하는 단계; 및 상기 결정된 그래픽스 데이터만이 버퍼에 기록되도록 제어하는 기록 제어 신호를 상기 그래픽스 데이터를 렌더링하는 장치에 전송하는 단계를 포함할 수 있다.
일 실시예에 따른 그래픽스 데이터 처리 방법에 있어서, 상기 결정하는 단계는, 상기 획득한 적어도 하나의 명령어가 기설정된 명령어 패턴에 대응되는지 여부를 판단하는 단계를 포함할 수 있다.
일 실시예에 따른 그래픽스 데이터 처리 방법에 있어서, 상기 기설정된 명령어 패턴에 대응되는지 여부를 판단하는 단계는, 상기 획득한 적어도 하나의 명령어 중에서 소정 명령어가 포함되는 기설정된 명령어 패턴을 검출하는 단계; 상기 획득한 적어도 하나의 명령어 중에서 상기 검출된 명령어 패턴에 포함되는 다른 명령어가 존재하는지 여부를 판단하는 단계; 및 상기 검출된 명령어 패턴에 포함되는 다른 명령어와 상기 소정 명령어의 조합이 상기 기설정된 명령어 패턴에 대응되는지 여부를 판단하는 단계를 포함할 수 있다.
일 실시예에 따른 그래픽스 데이터 처리 방법에 있어서, 상기 결정하는 단계는, 상기 도출되는 그래픽스 데이터 중에서 제 1 그래픽스 데이터에 할당되어 있는 버퍼를 삭제하는 명령어가 상기 획득한 적어도 하나의 명령어에 포함되어 있는지 여부를 판단하는 단계; 상기 삭제하는 명령어가 포함되어 있는 경우, 상기 도출되는 그래픽스 데이터 중에서 상기 제 1 그래픽스 데이터를 제외한 제 2 그래픽스 데이터를 상기 연산 이후에 이용되는 그래픽스 데이터로 결정하는 단계를 포함할 수 있다.
일 실시예에 따른 그래픽스 데이터 처리 방법에 있어서, 상기 전송하는 단계는, 상기 기록 제어 신호를 기초로 상기 도출되는 그래픽스 데이터의 기록을 수행하는 명령어를 변경하는 단계; 및 상기 변경된 명령어를 상기 그래픽스 데이터를 렌더링하는 장치에 전송하는 단계를 포함할 수 있다.
일 실시예에 따른 그래픽스 데이터 처리 방법에 있어서, 상기 전송하는 단계는, 상기 도출되는 그래픽스 데이터의 기록이 수행되고 있는 도중에 상기 기록 제어 신호를 전송한 경우, 상기 제어 신호가 전송된 시점부터 상기 결정된 그래픽스 데이터만이 상기 결정된 그래픽스 데이터에 할당된 버퍼에 기록될 수 있다.
일 실시예에 따른 그래픽스 데이터 처리 방법에 있어서, 상기 결정하는 단계는, 상기 획득한 적어도 하나의 명령어를 기초로 제 1 프레임에 대한 연산 이후의 제 2 프레임에 대한 연산에 이용되는 그래픽스 데이터를 결정하는 단계를 포함할 수 있다.
일 실시예에 따른 그래픽스 데이터 처리 방법에 있어서, 상기 연산 및 다음 연산은, 동일한 프레임에 대한 그래픽스 데이터를 렌더링하는 연산에 포함될 수 있다.
일 실시예에 따른 그래픽스 데이터 처리 방법에 있어서, 상기 제 1 프로세스를 수행하는 단계는, 상기 제 1 그래픽스 데이터를 가상 버퍼에 저장하는 단계를 포함할 수 있다.
일 실시예에 따른 그래픽스 데이터 처리 장치는 그래픽스 데이터를 렌더링하는 연산을 수행하기 위한 적어도 하나의 명령어를 획득하는 입력부; 상기 획득한 적어도 하나의 명령어를 기초로 상기 연산을 수행한 결과 도출되는 그래픽스 데이터 중에서 상기 연산 이후의 다른 연산에 이용되는 그래픽스 데이터를 결정하는 제어부; 및 상기 결정된 그래픽스 데이터만이 버퍼에 기록되도록 제어하는 기록 제어 신호를 상기 그래픽스 데이터를 렌더링하는 장치에 전송하는 출력부를 포함할 수 있다.
일 실시예에 따른 그래픽스 데이터 처리 장치에 있어서, 상기 제어부는, 상기 획득한 적어도 하나의 명령어가 기설정된 명령어 패턴에 대응되는지 여부를 판단할 수 있다.
일 실시예에 따른 그래픽스 데이터 처리 장치에 있어서, 상기 제어부는, 상기 획득한 적어도 하나의 명령어 중에서 소정 명령어가 포함되는 기설정된 명령어 패턴을 검출하고, 상기 획득한 적어도 하나의 명령어 중에서 상기 검출된 명령어 패턴에 포함되는 다른 명령어가 존재하는지 여부를 판단하여, 상기 검출된 명령어 패턴에 포함되는 다른 명령어와 상기 소정 명령어의 조합이 상기 기설정된 명령어 패턴에 대응되는지 여부를 판단할 수 있다.
일 실시예에 따른 그래픽스 데이터 처리 장치에 있어서, 상기 제어부는, 상기 도출되는 그래픽스 데이터 중에서 제 1 그래픽스 데이터에 할당되어 있는 버퍼를 삭제하는 명령어가 상기 획득한 적어도 하나의 명령어에 포함되어 있는지 여부를 판단하고, 상기 삭제하는 명령어가 포함되어 있는 경우, 상기 도출되는 그래픽스 데이터 중에서 상기 제 1 그래픽스 데이터를 제외한 제 2 그래픽스 데이터를 상기 연산 이후에 이용되는 그래픽스 데이터로 결정할 수 있다.
일 실시예에 따른 그래픽스 데이터 처리 장치에 있어서, 상기 제어부는, 상기 기록 제어 신호를 기초로 상기 도출되는 그래픽스 데이터의 기록을 수행하는 명령어를 변경하고, 상기 출력부는 상기 변경된 명령어를 상기 그래픽스 데이터를 렌더링하는 장치에 전송할 수 있다.
일 실시예에 따른 그래픽스 데이터 처리 장치에 있어서, 상기 출력부는, 상기 도출되는 그래픽스 데이터의 기록이 수행되고 있는 도중에 상기 기록 제어 신호를 전송한 경우, 상기 제어 신호가 전송된 시점부터 상기 결정된 그래픽스 데이터만이 상기 결정된 그래픽스 데이터에 할당된 버퍼에 기록될 수 있다.
일 실시예에 따른 그래픽스 데이터 처리 장치에 있어서, 상기 제어부는, 상기 획득한 적어도 하나의 명령어를 기초로 제 1 프레임에 대한 연산 이후의 제 2 프레임에 대한 연산에 이용되는 그래픽스 데이터를 결정할 수 있다.
일 실시예에 따른 그래픽스 데이터 처리 장치에 있어서, 상기 연산 및 상기 다른 연산은, 동일한 프레임에 대한 그래픽스 데이터를 렌더링하는 연산에 포함될 수 있다.
일 실시예에 따른 그래픽스 데이터 처리 장치에 있어서, 상기 제어부는,상기 제 1 그래픽스 데이터를 가상 버퍼에 저장할 수 있다.
도 1은 일 실시예에 따른 이미지 데이터를 처리하는 시스템을 도시한 도면이다.
도 2는 일 실시예에 따른 그래픽스 데이터를 처리하는 방법을 설명하기 위한 흐름도이다.
도 3은 일 실시예에 따른 그래픽스 데이터 처리 장치가 획득한 적어도 하나의 명령어가 기설정된 명령어 패턴에 포함되는지 여부를 판단하는 방법을 설명하기 위한 흐름도이다.
도 4는 일 실시예에 따른 그래픽스 데이터 처리 장치(100)가 획득한 적어도 하나의 명령어를 기초로 소정 연산 결과가 이후의 다른 연산에 이용되는지 여부를 판단하는 방법을 설명하기 위한 흐름도이다.
도 5는 일 실시예에 따른 그래픽스 데이터 처리 장치(100)가 획득한 명령어를 분석한 결과에 기초하여 그래픽스 데이터를 렌더링하는 장치를 제어하는 방법을 설명하기 위한 흐름도이다.
도 6은 일 실시예에 따른 그래픽스 데이터를 처리하는 장치(100)가 그래픽스 데이터를 렌더링하는 연산을 수행하고 있는 GPU에 기록 제어 신호를 전송하는 방법을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 그래픽스 데이터 처리 장치에서 이용되는 가상 버퍼를 설명하기 위한 흐름도이다.
도 8은 일 실시예에 따른 그래픽스 데이터 처리 장치를 설명하기 위한 블록도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 일 실시예에 따른 그래픽스 데이터를 처리하는 시스템(10)을 도시한 도면이다.
도 1에 도시된 그래픽스 데이터를 처리하는 시스템(10)에는 본 실시예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 1에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
도 1을 참고하면, 그래픽스 데이터를 처리하는 시스템(10)은 CPU(Central Processing Unit, 12), 그래픽스 데이터 처리 장치(100) 및 GPU(Graphic Processing Unit, 14)를 포함할 수 있다.
CPU(12)는 그래픽 어플리케이션을 동작시킬 수 있다. CPU(12)는 그래픽스 데이터를 처리하기 위한 명령어를 GPU(14)에 전송하기 위해 그래픽 라이브러리를 호출할 수 있다. 그래픽 라이브러리는 그래픽스 데이터를 처리하기 위한 명령어를 그래픽 드라이버에 전송할 수 있다.
일 실시예에 따른 그래픽스 데이터 처리 장치(100)는 그래픽 드라이버에 전송된 명령어를 분석하여 GPU(14)에서 수행되는 그래픽스 데이터의 렌더링을 최적화할 수 있다. 예를 들어, 그래픽스 데이터 처리 장치(100)는 명령어를 분석하여 그래픽스 데이터를 렌더링하는 연산의 결과가 다음 연산에서 사용되는지 여부를 확인할 수 있다. 연산의 결과가 다음 연산에서 사용되지 않는 경우, 그래픽스 데이터 처리 장치(100)는 연산의 결과가 기록되지 않도록 GPU(14)에 제어 신호를 전송할 수 있다.
그래픽스 데이터 처리 장치(100)는 명령어의 분석 결과를 기초로 GPU(14)에 연산 결과의 재사용 여부에 대한 정보를 미리 제공함으로써 불필요한 정보를 기록하기 위해 소모되는 전력을 줄일 수 있다.
도 2는 일 실시예에 따른 그래픽스 데이터를 처리하는 방법을 설명하기 위한 흐름도이다.
단계 210에서, 그래픽스 데이터 처리 장치(100)는 그래픽스 데이터를 렌더링하는 연산을 수행하기 위한 적어도 하나의 명령어를 획득할 수 있다. 여기에서 적어도 하나의 명령어는 CPU(12)에서 동작하는 그래픽 어플리케이션의 명령에 따라 그래픽스 데이터 처리 장치(100)에 전송될 수 있다.
일 실시예에 따른 그래픽스 데이터 처리 장치(100)는 획득한 적어도 하나의 명령어를 큐(queue)에 저장할 수 있다. 큐에 저장되는 명령어의 개수는 사용자의 설정에 따라 달라질 수 있다.
단계 220에서, 그래픽스 데이터 처리 장치(100)는 획득한 적어도 하나의 명령어를 기초로 연산을 수행한 결과 도출되는 그래픽스 데이터 중에서 연산 이후의 다른 연산에 이용되는 그래픽스 데이터를 결정할 수 있다.
일 실시예에 따른 그래픽스 데이터 처리 장치(100)는 획득한 적어도 하나의 명령어가 기설정된 명령어 패턴에 대응되는지 여부를 판단하여, 연산을 수행한 결과 도출되는 그래픽스 데이터 중에서 연산 이후의 다른 연산에 이용되는 그래픽스를 결정할 수 있다. 여기에서 기설정된 명령어 패턴은 하나의 명령어로 구성될 수도 있고, 복수개의 명령어의 조합으로 구성될 수도 있다.
그래픽스 데이터 처리 장치(100)는 복수개의 패스로 이루어진 멀티 패스 렌더링 수행시, 기설정된 명령어 패턴에 기초하여, 현재 명령어의 수행 결과에 따른 연산 결과를 기록할 지 여부를 결정할 수 있다.
예를 들어, 3개의 패스로 이루어진 멀티 패스 렌더링의 경우, 각각의 패스는 렌더링할 객체를 포함한다. 그래픽스 데이터 처리 장치(100)는 서로 다른 패스간에 명령어 패턴을 분석하여, 객체를 렌더링한 결과를 기록할 지 여부를 결정할 수 있다. 예를 들어, 0번과 1번 패스에서 각각 렌더링을 수행하고, 2번 패스에서 0번과 1번 패스에서 렌더링을 수행한 결과를 기초로 렌더링을 수행하는 경우, 0번과 1번 패스의 버퍼에서 이후에 2번 패스에서 사용하지 않는 렌더링 결과를 기록하지 않고 삭제할 수 있다. 2번 패스에서 렌더링하는 경우, 0번과 1번 패스의 렌더링 결과 중에서 색상 정보만을 사용하는 경우, 그래픽스 데이터 처리 장치는 0번과 1번 패스에 색상 정보를 제외한 깊이 정보 및 스텐실(stencil) 정보 등을 삭제할 수 있다.
한편, 그래픽스 데이터 처리 장치(100)는 제 1 프레임의 렌더링을 수행한 결과를 기록할지 여부에 대해서도, 제 1 프레임과 이후 프레임인 제 2 프레임 간에 명령어 패턴을 기초로 결정할 수 있다. 즉, 그래픽스 데이터 처리 장치(100)은 프레임 간에 대해서도 명령어 패턴을 분석하여 연산 결과의 기록 여부를 결정할 수 있다. 예를 들어, 멀티 패스 렌더링에서 3개의 패스가 제 1 프레임을 렌더링하고, 그 다음 3개의 패스가 제 2 프레임을 렌더링하는 경우, 제 2 프레임의 렌더링을 수행하기 전에 삭제 명령이 수행될 수 있다. 그래픽스 데이터 처리 장치(100)는 삭제 명령의 대상이 무엇인지 기설정된 패턴에 기초하여 분석하고, 분석 결과 결정된 삭제 명령의 대상을 기록하지 않을 수 있다. 그래픽스 데이터 처리 장치(100)는 명령어 패턴 분석을 통해 사용하지 않는 연산(렌더링) 결과의 기록을 수행하지 않음으로써, 렌더링에 사용되는 전력 소비 등을 감소시켜 렌더링의 효율을 높일 수 있다.
일 실시예에 따른 기설정된 명령어 패턴은 사용자의 설정에 따라 결정될 수 있다. 사용자는 CPU(12)에서 동작하는 그래픽 어플리케이션의 종류에 따라 명령어 패턴을 설정할 수도 있다. 예를 들어, 게임 어플리케이션이 수행되는 경우, 게임 어플리케이션에서 빈번하게 발생하는 명령어 패턴을 별도로 설정할 수도 있다.
예를 들어, 그래픽스 데이터 처리 장치(100)는 소정 버퍼에 기록된 그래픽스 데이터를 기초로 연산을 수행하는 명령어와 소정 버퍼를 지우는 명령어를 획득할 수 있다. 그래픽스 데이터 처리 장치(100)는 소정 버퍼를 지우는 명령어를 통해, 소정 버퍼에 기록된 그래픽스 데이터를 기초로 수행한 연산의 결과가 다음 연산에 이용되지 않을 것을 예측할 수 있다.
일 실시예에 따른 그래픽스 데이터 처리 장치(100)가 획득한 적어도 하나의 명령어가 기설정된 명령어 패턴에 대응되는지 여부를 판단하는 구체적인 방법에 대해서는 도 3 및 도 4를 참고하여 구체적으로 설명하도록 한다.
단계 230에서, 그래픽스 데이터 처리 장치(100)는 결정된 그래픽스 데이터만이 버퍼에 기록(write-back)될 수 있도록 기록 제어 신호를 그래픽스 데이터를 렌더링하는 장치에 전송할 수 있다. 여기에서 그래픽스 데이터를 렌더링하는 장치는 GPU일 수 있다.
일 실시예에 따르면, 그래픽스 데이터 처리 장치(100)는 그래픽스 데이터를 렌더링하는 장치에 소정 버퍼에 기록된 그래픽스 데이터를 기초로 수행한 연산의 결과가 다음 연산에 이용되지 않을 것이라는 정보를 전송할 수 있다. 그래픽스 데이터를 렌더링하는 장치는 이러한 정보를 수신하는 경우, 연산의 결과를 버퍼에 기록(write-back)하지 않을 수 있다.
다른 실시예에 따르면, 그래픽스 데이터 처리 장치(100)는 그래픽스 데이터를 렌더링하는 장치에 전송할 명령어를 수정할 수도 있다. 예를 들어, 그래픽스 데이터 처리 장치(100)는 그래픽스 데이터를 렌더링하는 장치에 전송할 적어도 하나의 명령어 중에서 연산 결과의 기록에 관련된 명령어를 수정하여 그래픽스 데이터를 렌더링하는 장치가 연산 결과를 기록하지 않도록 제어할 수 있다.
도 3은 일 실시예에 따른 그래픽스 데이터 처리 장치(100)가 획득한 적어도 하나의 명령어가 기설정된 명령어 패턴에 포함되는지 여부를 판단하는 방법을 설명하기 위한 흐름도이다.
단계 310에서 그래픽스 데이터 처리 장치(100)는 그래픽스 데이터를 렌더링하는 연산을 수행하기 위한 적어도 하나의 명령어를 획득할 수 있다. 일 실시예에 따른 그래픽스 데이터 처리 장치(100)는 획득한 적어도 하나의 명령어를 큐(queue)에 저장할 수 있다.
단계 320에서 그래픽스 데이터 처리 장치(100)는 획득한 소정 명령어가 포함되는 기설정된 명령어 패턴이 존재하는지 여부를 판단할 수 있다. 그래픽스 데이터 처리 장치(100)는 획득한 소정 명령어가 포함되는 제 1 기설정된 명령어 패턴이 존재하는 경우, 적어도 하나 이상의 명령어 패턴 중에서 제 1 기설정된 명령어 패턴을 검출할 수 있다.
단계 330에서 그래픽스 데이터 처리 장치(100)는 획득한 소정 명령어가 포함되는 기설정된 명령어 패턴이 존재하는 경우, 동일한 명령어 패턴에 포함되는 다른 명령어가 획득한 적어도 하나의 명령어 중에 존재하는지 여부를 판단할 수 있다. 판단 결과, 동일한 명령어 패턴에 포함되는 다른 명령어가 존재하는 경우, 소정 명령어와 다른 명령어를 조합할 수 있다.
한편, 판단 결과 동일한 명령어 패턴에 포함되는 다른 명령어가 존재하지 않는 경우, 그래픽스 데이터 처리 장치(100)는 또다른 적어도 하나의 명령어를 획득할 수 있다.
단계 340에서 그래픽스 데이터 처리 장치(100)는 동일한 명령어 패턴에 포함되는 소정 명령어와 다른 명령어의 조합이 명령어 패턴에 대응되는지 여부를 판단할 수 있다. 예를 들어, 그래픽스 데이터 처리 장치(100)는 제 1 버퍼에 저장된 그래픽스 데이터를 기초로 연산을 수행하는 명령어와 제 2 버퍼에 저장된 그래픽스 데이터를 기초로 연산을 수행하는 명령어를 획득할 수 있다. 이후 그래픽스 데이터 처리 장치(100)는 제 1 버퍼를 지우는 명령어를 획득할 수 있다.
그래픽스 데이터 처리 장치(100)는 소정 버퍼에 대한 연산을 수행하는 명령어 및 소정 버퍼를 지우는 명령어의 조합을 기설정된 명령어 패턴으로 저장할 수 있다. 그래픽스 데이터 처리 장치(100)는 기설정된 명령어 패턴에 포함되는 소정 명령어인 제 1 버퍼에 저장된 그래픽스 데이터를 기초로 연산을 수행하는 명령어를 획득할 수 있다. 한편, 그래픽스 데이터 처리 장치(100)는 기설정된 명령어 패턴에 포함되는 다른 명령어인 제 1 버퍼를 지우는 명령어를 획득할 수 있다. 그래픽스 데이터 처리 장치(100)는 제 1 버퍼에 저장된 그래픽스 데이터를 기초로 연산을 수행하는 명령어 및 제 1 버퍼를 지우는 명령어의 조합과, 기설정된 명령어 패턴을 비교할 수 있다.
단계 350에서 그래픽스 데이터 처리 장치(100)는 소정 명령어와 다른 명령어의 조합이 기설정된 명령어 패턴에 대응되는 경우, 대응되는 명령어 패턴에 기초하여 연산 이후의 다른 연산에 이용되는 그래픽스 데이터를 결정할 수 있다.
예를 들어, 제 1 버퍼에 저장된 그래픽스 데이터를 기초로 연산을 수행하는 명령어 및 제 1 버퍼를 지우는 명령어로 구성되는 명령어 패턴의 경우, 그래픽스 데이터 처리 장치(100)는 제 1 버퍼에 저장된 그래픽스 데이터를 기초로 수행한 연산 결과가 제 1 버퍼에 기록되지 않는다는 점을 확인할 수 있다. 즉, 그래픽스 데이터 처리 장치(100)는 제 1 버퍼에 저장된 그래픽스 데이터를 기초로 수행한 연산 결과가 이후에 수행되는 다른 연산에서는 이용되지 않을 것이라는 점을 확인할 수 있다.
그래픽스 데이터 처리 장치(100)는 이후에 수행되는 다른 연산에서 이용되지 않을 연산 결과를 제외한 그래픽스 데이터를 기록하는 명령어를 그래픽스 데이터 렌더링 장치에 전송할 수 있다. 다른 예에 따르면 그래픽스 데이터 처리 장치(100)는 이후에 수행되는 다른 연산에서 이용되지 않는 정보의 기록을 차단하는 신호를 그래픽스 데이터를 렌더링하는 장치에 전송할 수 있다.
도 4는 일 실시예에 따른 그래픽스 데이터 처리 장치(100)가 획득한 적어도 하나의 명령어를 기초로 소정 연산 결과가 이후의 다른 연산에 이용되는지 여부를 판단하는 방법을 설명하기 위한 흐름도이다.
단계 410에서 그래픽스 데이터 처리 장치(100)는 그래픽스 데이터를 렌더링하는 연산을 수행하기 위한 적어도 하나의 명령어를 획득할 수 있다. 일 실시예에 따른 그래픽스 데이터 처리 장치(100)는 획득한 적어도 하나의 명령어를 큐(queue)에 저장할 수 있다.
단계 420에서, 그래픽스 데이터 처리 장치(100)는 획득한 적어도 하나의 명령어 중에서 제 1 그래픽스 데이터가 할당되어 있는 버퍼를 삭제하는 명령어가 포함되어 있는지 여부를 판단할 수 있다.
단계 430에서 그래픽스 데이터 처리 장치(100)는 획득한 적어도 하나의 명령어를 기초로 도출되는 그래픽스 데이터 중에서 제 1 그래픽스 데이터를 제외한 제 2 그래픽스 데이터를 연산 이후에 다른 연산에서도 이용되는 그래픽스 데이터로 결정할 수 있다.
일 실시예에 따른 그래픽스 데이터 처리 장치(100)는 제 1 그래픽스 데이터가 할당되어 있는 버퍼는 삭제될 것이므로 이후의 다른 연산에서 이용되지 않을 것이라고 예측할 수 있다.
그래픽스 데이터 처리 장치(100)는 그래픽스 데이터를 렌더링하는 장치에 제 1 그래픽스 데이터를 제외한 제 2 그래픽스 데이터만을 버퍼에 기록하도록 하는 기록 제어 신호를 전송할 수 있다.
도 5는 일 실시예에 따른 그래픽스 데이터 처리 장치(100)가 획득한 명령어를 분석한 결과에 기초하여 그래픽스 데이터를 렌더링하는 장치를 제어하는 방법을 설명하기 위한 흐름도이다.
단계 510에서, 그래픽스 데이터 처리 장치(100)는 CPU(12)에서 동작하는 그래픽 어플리케이션의 명령에 따라 제 1 명령어를 획득할 수 있다.
단계 520에서, 그래픽스 데이터 처리 장치(100)는 CPU(12)에서 동작하는 그래픽 어플리케이션의 명령에 따라 제 2명령어를 획득할 수 있다.
단계 530에서, 그래픽스 데이터 처리 장치(100)는 획득한 제 1 명령어 및 제 2 명령어의 조합이 기설정된 명령어 패턴에 대응되는지 여부를 판단할 수 있다. 일 실시예에 따른 그래픽스 데이터 처리 장치(100)는 획득한 제 1 명령어를 포함하는 기설정된 명령어 패턴을 검출할 수 있다. 그래픽스 데이터 처리 장치(100)는 제 2 명령어가 검출된 명령어 패턴에 포함되는지 여부를 판단할 수 있다. 그래픽스 데이터 처리 장치(100)는 제 2 명령어가 검출된 명령어 패턴에 포함되는 경우, 제 1 명령어 및 제 2 명령어의 조합이 검출된 명령어 패턴과 일치하는지 여부를 판단할 수 있다.
단계 540에서, 그래픽스 데이터 처리 장치(100)는 대응되는 명령어 패턴에 기초하여, 이후의 다른 연산에 이용되지 않는 그래픽스 데이터 정보를 전송할 수 있다. 예를 들어, 제 1 버퍼에 저장된 그래픽스 데이터를 기초로 연산을 수행하는 제 1 명령어 및 제 1 버퍼를 지우는 제 2 명령어로 구성되는 명령어 패턴의 경우, 그래픽스 데이터 처리 장치(100)는 제 1 버퍼에 저장된 그래픽스 데이터를 기초로 수행한 연산 결과가 제 1 버퍼에 기록되지 않는다는 점을 확인할 수 있다. 즉, 그래픽스 데이터 처리 장치(100)는 제 1 버퍼에 저장된 그래픽스 데이터를 기초로 수행한 연산 결과가 이후에 수행되는 다른 연산에서는 이용되지 않을 것이라는 점을 확인할 수 있다.
단계 550에서, 그래픽스 데이터를 렌더링하는 장치는 그래픽스 데이터 처리 장치(100)로부터 수신한 이후의 다른 연산에 이용되지 않는 그래픽스 데이터 정보에 기초하여, 이후의 다른 연산에 이용되지 않는 그래픽스 데이터를 버퍼에 기록하지 않을 수 있다.
도 6은 일 실시예에 따른 그래픽스 데이터를 처리하는 장치(100)가 그래픽스 데이터를 렌더링하는 연산을 수행하고 있는 GPU에 기록 제어 신호를 전송하는 방법을 설명하기 위한 도면이다.
단계 610에서, 그래픽스 데이터 처리 장치(100)는 CPU(12)에서 동작하는 그래픽 어플리케이션의 명령에 따라 제 1 명령어를 획득할 수 있다.
단계 620에서 그래픽스 데이터 처리 장치(100)는 GPU에 획득한 제 1 명령어를 전송할 수 있다.
단계 630에서 GPU는 그래픽스 데이터를 처리하는 장치(100)로부터 수신한 제 1 명령어를 기초로 그래픽스 데이터를 렌더링하는 연산을 수행할 수 있다.
단계 640에서, 그래픽스 데이터 처리 장치(100)는 CPU(12)에서 동작하는 그래픽 어플리케이션의 명령에 따라 제 2 명령어를 획득할 수 있다.
단계 650에서, 그래픽스 데이터 처리 장치(100)는 획득한 제 1 명령어 및 제 2 명령어의 조합이 기설정된 명령어 패턴에 대응되는지 여부를 판단할 수 있다.
단계 660에서, 그래픽스 데이터 처리 장치(100)는 대응되는 명령어 패턴에 기초하여, 제 1 명령어를 기초로 수행되는 연산 이후의 다른 연산에 이용되지 않는 그래픽스 데이터 정보를 GPU에 전송할 수 있다.
단계 670에서, GPU는 제 1 명령어를 기초로 수행되는 연산 이후의 다른 연산에 이용되지 않는 그래픽스 데이터 정보를 수신한 경우, 이후의 다른 연산에 이용되지 않는 그래픽스 데이터 정보의 기록을 차단할 수 있다.
도 7은 일 실시예에 따른 그래픽스 데이터 처리 장치(100)에서 이용되는 가상 버퍼를 설명하기 위한 흐름도이다.
단계 710에서 그래픽스 데이터 처리 장치(100)는 그래픽스 데이터를 렌더링하는 연산을 수행하기 위한 적어도 하나의 명령어를 획득할 수 있다.
일 실시예에 따른 그래픽스 데이터 처리 장치(100)는 획득한 적어도 하나의 명령어를 큐(queue)에 저장할 수 있다. 큐에 저장되는 명령어의 개수는 사용자의 설정에 따라 달라질 수 있다.
그래픽스 데이터 처리 장치(100)는 전술한 바와 같이 획득한 명령어가 기설정된 명령어 패턴에 대응되는지 판단할 수 있다.
한편, 도 7의 단계 710은 도 2의 단계 210과 대응가능하다.
단계 720에서, 그래픽스 데이터 처리 장치(100)는 획득한 명령어(이하, 제 2n 명령어)에 대응되는 버퍼가 유효한지 여부를 판단할 수 있다. 여기에서 버퍼가 유효한지 여부는, 일 실시예에 따른 그래픽스 데이터 처리 장치(100)에서 획득한 명령어를 수행하는데 필요한 정보가 명령어를 획득하기 전에 삭제되었는 지 여부에 기초하여 결정될 수 있다.
예를 들어, 제 2n 명령어를 획득하기 이전에 획득한 명령어들의 패턴에 기초하여, 제 2n 명령어를 수행하는데 필요한 연산 결과가 삭제될 수 있다. 혹은 버퍼에서 특정 위치에 저장된 연산 결과가 삭제되는 경우, 제 2n 명령어를 수행하는데 필요한 정보를 버퍼 내의 특정 주소에서 검출하기 어려울 수 있다. 따라서, 일 실시예에 따른 그래픽스 데이터 처리 장치(100)는 제 2n 명령어를 획득하기 이전에, 제 2n 명령어를 수행하는데 필요한 연산 결과가 삭제되었는지 여부를 판단한다.
단계 730에서, 그래픽스 데이터 처리 장치(100)는 명령어를 수행하는데 필요한 연산 결과를 버퍼로부터 획득할 수 있다.
제 2n 명령어를 획득하기 이전에 그래픽스 데이터 처리 장치(100)가 획득한 명령어의 패턴에 의해 제 2n 명령어를 수행하는데 필요한 연산 결과가 삭제되지 않은 경우, 그래픽스 데이터 처리 장치(100)는 연산 결과가 저장되어 있는 버퍼에서 연산 결과를 검출하여 제 2n 명령어를 수행할 수 있다.
단계 740에서, 그래픽스 데이터 처리 장치(100)는 가상 버퍼에 저장된 데이터를 기초로 명령어를 수행할 수 있다.
예를 들어, 그래픽스 데이터 처리 장치(100)가 제 2n 명령어 획득 전에 삭제 명령에 의해 연산 결과를 기록하지 않거나, 기록된 연산 결과를 삭제한 경우, 연산 결과가 삭제된(혹은 기록될 예정이었던) 버퍼는 유효하지 않은 값을 갖게 된다. 일 실시예에 따른 그래픽스 데이터 처리 장치(100)는 가상 버퍼에 연산 결과가 삭제된 버퍼의 삭제 정보를 저장하여, 제 2n 명령어를 수행하는데 있어, 유효하지 않은 값을 갖고 있는 버퍼에 의해 명령어 수행에 오류가 발생하는 것을 방지할 수 있다.
도 8은 일 실시예에 따른 그래픽스 데이터 처리 장치(100)를 설명하기 위한 블록도이다.
도 8에 도시된 그래픽스 데이터 처리 장치(100)에는 본 실시예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 7에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
도 8을 참고하면, 그래픽스 데이터 처리 장치(100)는 입력부(110), 제어부(120) 및 출력부(130)를 포함할 수 있다.
입력부(110)는 그래픽스 데이터를 렌더링하는 연산을 수행하기 위한 적어도 하나의 명령어를 획득할 수 있다. 여기에서 적어도 하나의 명령어는 CPU(12)에서 동작하는 그래픽 어플리케이션의 명령에 따라 그래픽스 데이터 처리 장치(100)에 전송될 수 있다.
일 실시예에 따른 입력부(110)는 획득한 적어도 하나의 명령어를 큐(queue)에 저장할 수 있다. 큐에 저장되는 명령어의 개수는 사용자의 설정에 따라 달라질 수 있다.
제어부(120)는 획득한 적어도 하나의 명령어를 기초로 연산을 수행한 결과 도출되는 그래픽스 데이터 중에서 연산 이후의 다른 연산에 이용되는 그래픽스 데이터를 결정할 수 있다.
일 실시예에 따른 제어부(120)는 획득한 적어도 하나의 명령어가 기설정된 명령어 패턴에 대응되는지 여부를 판단할 수 있다. 예를 들어 제어부(120)는 획득한 적어도 하나의 명령어 중에서 소정 명령어가 포함되는 기설정된 명령어 패턴을 검출할 수 있다.
제어부(120)는 획득한 적어도 하나의 명령어 중에서 검출된 명령어 패턴에 포함되는 다른 명령어가 존재하는지 여부를 판단할 수 있다. 제어부(120)는 검출된 명령어 패턴에 포함되는 다른 명령어와 소정 명령어의 조합이 기설정된 명령어 패턴에 대응되는지 여부를 판단할 수 있다. 제어부(120)는 다른 명령어와 소정 명령어의 조합이 기설정된 명령어 패턴에 대응되는 경우, 연산을 수행한 결과 도출되는 그래픽스 데이터 중에서 연산 이후의 다른 연산에 이용되는 그래픽스를 결정할 수 있다. 여기에서 기설정된 명령어 패턴은 하나의 명령어로 구성될 수도 있고, 복수개의 명령어의 조합으로 구성될 수도 있다.
다른 실시예에 따르면 제어부(120)는 획득한 적어도 하나의 명령어를 기초로 도출되는 그래픽스 데이터 중에서 제 1 그래픽스 데이터가 할당되어 있는 버퍼를 삭제하는 명령어가 포함되어 있는지 여부를 판단할 수 있다. 제어부(120)는 획득한 적어도 하나의 명령어에 삭제하는 명령어가 포함되어 있는 경우, 획득한 적어도 하나의 명령어를 기초로 도출되는 그래픽스 데이터 중에서 제 1 그래픽스 데이터를 제외한 제 2 그래픽스 데이터를 연산 이후에 다른 연산에 이용되는 그래픽스 데이터로 결정할 수 있다.
출력부(130)는 적어도 하나의 명령어를 기초로 수행된 연산 결과 도출되는 그래픽스 데이터의 기록이 수행되고 있는 도중에 기록 제어 신호를 결정된 그래픽스 데이터만이 버퍼에 기록될 수 있도록 기록 제어 신호를 그래픽스 데이터를 렌더링하는 장치에 전송할 수 있다.
다른 실시예에 따르면, 기록 제어 신호는 제어부(120)가, 획득한 적어도 하나의 명령어를 기초로 연산을 수행한 결과 도출되는 그래픽스 데이터를 버퍼에 기록하는 명령어를 변경하는 데 기초가 될 수 있다.
다른 실시예에 따르면, 출력부(130)는 그래픽스 데이터를 렌더링하는 장치가 획득한 적어도 하나의 명령어를 기초로 렌더링 연산을 수행하여 도출한 그래픽스 데이터를 기록하고 있는 도중에 그래픽스 데이터를 렌더링하는 장치에 기록 제어 신호를 전송할 수 있다.
본 발명에 따른 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다.  소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다.  여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다.  컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다.  매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
본 발명에서 인용하는 공개 문헌, 특허 출원, 특허 등을 포함하는 모든 문헌들은 각 인용 문헌이 개별적으로 및 구체적으로 병합하여 나타내는 것 또는 본 발명에서 전체적으로 병합하여 나타낸 것과 동일하게 본 발명에 병합될 수 있다.
이해를 위하여, 도면에 도시된 바람직한 실시 예들에서 참조 부호를 기재하였으며, 실시 예들을 설명하기 위하여 특정 용어들을 사용하였으나, 특정 용어에 의해 본 발명이 한정되는 것은 아니며, 본 발명은 당업자에 있어서 통상적으로 생각할 수 있는 모든 구성 요소들을 포함할 수 있다.
본 발명은 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다.  이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다.  예를 들어, 본 발명은 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다.  본 발명에의 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 발명은 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다.  기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다.  또한, 본 발명은 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다.  “매커니즘”, “요소”, “수단”, “구성”과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다.  상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 범위를 한정하는 것은 아니다.  명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다.  또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다.  또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
10: 그래픽스 데이터를 처리하는 시스템
12: CPU
14:GPU
100: 그래픽스 데이터 처리 장치

Claims (19)

  1. 그래픽스 데이터를 렌더링하는 연산을 수행하기 위한 적어도 하나의 명령어를 획득하는 단계;
    상기 획득한 적어도 하나의 명령어를 기초로 상기 연산을 수행한 결과 도출되는 그래픽스 데이터 중에서 상기 연산 이후의 다른 연산에 이용되는 그래픽스 데이터를 결정하는 단계; 및
    상기 결정된 그래픽스 데이터만이 버퍼에 기록되도록 제어하는 기록 제어 신호를 상기 그래픽스 데이터를 렌더링하는 장치에 전송하는 단계를 포함하는 그래픽스 데이터 처리 방법.
  2. 제 1항에 있어서, 상기 결정하는 단계는,
    상기 획득한 적어도 하나의 명령어가 기설정된 명령어 패턴에 대응되는지 여부를 판단하는 단계를 포함하는 것을 특징으로 그래픽스 데이터 처리 방법.
  3. 제 2항에 있어서, 상기 기설정된 명령어 패턴에 대응되는지 여부를 판단하는 단계는,
    상기 획득한 적어도 하나의 명령어 중에서 소정 명령어가 포함되는 기설정된 명령어 패턴을 검출하는 단계;
    상기 획득한 적어도 하나의 명령어 중에서 상기 검출된 명령어 패턴에 포함되는 다른 명령어가 존재하는지 여부를 판단하는 단계; 및
    상기 검출된 명령어 패턴에 포함되는 다른 명령어와 상기 소정 명령어의 조합이 상기 기설정된 명령어 패턴에 대응되는지 여부를 판단하는 단계를 포함하는 것을 특징으로 하는 그래픽스 데이터 처리 방법.
  4. 제 1 항에 있어서, 상기 결정하는 단계는,
    상기 도출되는 그래픽스 데이터 중에서 제 1 그래픽스 데이터에 할당되어 있는 버퍼를 삭제하는 명령어가 상기 획득한 적어도 하나의 명령어에 포함되어 있는지 여부를 판단하는 단계;
    상기 삭제하는 명령어가 포함되어 있는 경우, 상기 도출되는 그래픽스 데이터 중에서 상기 제 1 그래픽스 데이터를 제외한 제 2 그래픽스 데이터를 상기 연산 이후에 이용되는 그래픽스 데이터로 결정하는 단계를 포함하는 것을 특징으로 하는 그래픽스 데이터 처리 방법.
  5. 제 2 항에 있어서, 상기 전송하는 단계는,
    상기 기록 제어 신호를 기초로 상기 도출되는 그래픽스 데이터의 기록을 수행하는 명령어를 변경하는 단계; 및
    상기 변경된 명령어를 상기 그래픽스 데이터를 렌더링하는 장치에 전송하는 단계를 포함하는 것을 특징으로 하는 그래픽스 데이터 처리 방법.
  6. 제 2항에 있어서, 상기 전송하는 단계는,
    상기 도출되는 그래픽스 데이터의 기록이 수행되고 있는 도중에 상기 기록 제어 신호를 전송한 경우, 상기 제어 신호가 전송된 시점부터 상기 결정된 그래픽스 데이터만이 상기 결정된 그래픽스 데이터에 할당된 버퍼에 기록되는 것을 특징으로 하는 그래픽스 데이터 처리 방법.
  7. 제 1항에 있어서, 상기 결정하는 단계는,
    상기 획득한 적어도 하나의 명령어를 기초로 제 1 프레임에 대한 연산 이후의 제 2 프레임에 대한 연산에 이용되는 그래픽스 데이터를 결정하는 단계를 포함하는 것을 특징으로 하는 그래픽스 데이터 처리 방법.
  8. 제 1항에 있어서, 상기 연산 및 다음 연산은,
    동일한 프레임에 대한 그래픽스 데이터를 렌더링하는 연산에 포함되는 것을 특징으로 하는 그래픽스 데이터 처리 방법.
  9. 제 4 항에 있어서, 상기 제 1 프로세스를 수행하는 단계는,
    상기 제 1 그래픽스 데이터를 가상 버퍼에 저장하는 단계를 포함하는 것을 특징으로 하는 그래픽스 데이터 처리 방법.
  10. 그래픽스 데이터를 렌더링하는 연산을 수행하기 위한 적어도 하나의 명령어를 획득하는 입력부;
    상기 획득한 적어도 하나의 명령어를 기초로 상기 연산을 수행한 결과 도출되는 그래픽스 데이터 중에서 상기 연산 이후의 다른 연산에 이용되는 그래픽스 데이터를 결정하는 제어부; 및
    상기 결정된 그래픽스 데이터만이 버퍼에 기록되도록 제어하는 기록 제어 신호를 상기 그래픽스 데이터를 렌더링하는 장치에 전송하는 출력부를 포함하는 그래픽스 데이터 처리 장치.
  11. 제 10항에 있어서, 상기 제어부는,
    상기 획득한 적어도 하나의 명령어가 기설정된 명령어 패턴에 대응되는지 여부를 판단하는 것을 특징으로 그래픽스 데이터 처리 장치.
  12. 제 11항에 있어서, 상기 제어부는,
    상기 획득한 적어도 하나의 명령어 중에서 소정 명령어가 포함되는 기설정된 명령어 패턴을 검출하고, 상기 획득한 적어도 하나의 명령어 중에서 상기 검출된 명령어 패턴에 포함되는 다른 명령어가 존재하는지 여부를 판단하여, 상기 검출된 명령어 패턴에 포함되는 다른 명령어와 상기 소정 명령어의 조합이 상기 기설정된 명령어 패턴에 대응되는지 여부를 판단하는 것을 특징으로 하는 그래픽스 데이터 처리 장치.
  13. 제 10 항에 있어서, 상기 제어부는,
    상기 도출되는 그래픽스 데이터 중에서 제 1 그래픽스 데이터에 할당되어 있는 버퍼를 삭제하는 명령어가 상기 획득한 적어도 하나의 명령어에 포함되어 있는지 여부를 판단하고, 상기 삭제하는 명령어가 포함되어 있는 경우, 상기 도출되는 그래픽스 데이터 중에서 상기 제 1 그래픽스 데이터를 제외한 제 2 그래픽스 데이터를 상기 연산 이후에 이용되는 그래픽스 데이터로 결정하는 것을 특징으로 하는 그래픽스 데이터 처리 장치.
  14. 제 11 항에 있어서, 상기 제어부는,
    상기 기록 제어 신호를 기초로 상기 도출되는 그래픽스 데이터의 기록을 수행하는 명령어를 변경하고,
    상기 출력부는 상기 변경된 명령어를 상기 그래픽스 데이터를 렌더링하는 장치에 전송하는 것을 특징으로 하는 그래픽스 데이터 처리 장치.
  15. 제 11항에 있어서, 상기 출력부는,
    상기 도출되는 그래픽스 데이터의 기록이 수행되고 있는 도중에 상기 기록 제어 신호를 전송한 경우, 상기 제어 신호가 전송된 시점부터 상기 결정된 그래픽스 데이터만이 상기 결정된 그래픽스 데이터에 할당된 버퍼에 기록되는 것을 특징으로 하는 그래픽스 데이터 처리 장치.
  16. 제 10항에 있어서, 상기 제어부는,
    상기 획득한 적어도 하나의 명령어를 기초로 제 1 프레임에 대한 연산 이후의 제 2 프레임에 대한 연산에 이용되는 그래픽스 데이터를 결정하는 하는 것을 특징으로 하는 그래픽스 데이터 처리 장치.
  17. 제 10항에 있어서, 상기 연산 및 상기 다른 연산은,
    동일한 프레임에 대한 그래픽스 데이터를 렌더링하는 연산에 포함되는 것을 특징으로 하는 그래픽스 데이터 처리 장치.
  18. 제 13 항에 있어서, 상기 제어부는,
    상기 제 1 그래픽스 데이터를 가상 버퍼에 저장하는 것을 특징으로 하는 그래픽스 데이터 처리 장치.
  19. 제 1항 내지 제 9항 중 어느 하나의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.

KR1020140013824A 2014-02-06 2014-02-06 그래픽스 데이터를 처리하는 방법 및 장치 KR20150093047A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140013824A KR20150093047A (ko) 2014-02-06 2014-02-06 그래픽스 데이터를 처리하는 방법 및 장치
US14/532,182 US20150221062A1 (en) 2014-02-06 2014-11-04 Method and apparatus for processing graphics data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140013824A KR20150093047A (ko) 2014-02-06 2014-02-06 그래픽스 데이터를 처리하는 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20150093047A true KR20150093047A (ko) 2015-08-17

Family

ID=53755251

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140013824A KR20150093047A (ko) 2014-02-06 2014-02-06 그래픽스 데이터를 처리하는 방법 및 장치

Country Status (2)

Country Link
US (1) US20150221062A1 (ko)
KR (1) KR20150093047A (ko)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6128026A (en) * 1998-05-04 2000-10-03 S3 Incorporated Double buffered graphics and video accelerator having a write blocking memory interface and method of doing the same
US6750869B1 (en) * 2000-10-13 2004-06-15 Sony Corporation Method and design for improved fragment processing
US6741257B1 (en) * 2003-01-20 2004-05-25 Neomagic Corp. Graphics engine command FIFO for programming multiple registers using a mapping index with register offsets
US8452938B1 (en) * 2004-12-30 2013-05-28 Azul Systems, Inc. Garbage collection with memory quick release
KR101392166B1 (ko) * 2006-12-18 2014-05-08 삼성전자주식회사 휴대용 디스플레이 장치의 이미지 편집 방법, 편집 이미지생성 방법 및 편집된 이미지 저장 방법 및 장치
US20130111330A1 (en) * 2011-11-01 2013-05-02 Research In Motion Limited Accelerated compositing of fixed position elements on an electronic device
US20150199788A1 (en) * 2012-04-12 2015-07-16 Google Inc. Accelerating graphical rendering through legacy graphics compilation

Also Published As

Publication number Publication date
US20150221062A1 (en) 2015-08-06

Similar Documents

Publication Publication Date Title
CN100495370C (zh) 根据优先级次序操作闪存的设备和方法
US9640148B2 (en) Method of and apparatus for controlling frame buffer operations
US20140317628A1 (en) Memory apparatus for processing support of long routing in processor, and scheduling apparatus and method using the memory apparatus
KR102100458B1 (ko) 메모리를 관리하기 위한 방법 및 그 전자 장치
CN114328281B (zh) 固态硬盘异常掉电处理方法、装置、电子设备及介质
US10409350B2 (en) Instruction optimization using voltage-based functional performance variation
CN109582521B (zh) 测试存储系统读写性能的方法、装置、设备及介质
EP3022657A1 (en) Techniques for controlling use of locks
JP2017033501A (ja) 記憶装置および制御方法
CN107870780B (zh) 数据处理装置和方法
KR20160032935A (ko) 렌더링 데이터를 처리하는 방법, 장치 및 기록매체
JP6234639B2 (ja) シミュレーション装置及びシミュレーション方法及びシミュレーションプログラム
US8769498B2 (en) Warning of register and storage area assignment errors
CN107133072B (zh) 一种操作执行方法和装置
KR102130361B1 (ko) 시나리오에 따라 그래픽 처리 해상도를 변경하기 위한 방법 및 휴대용 전자 디바이스
JP2007094986A (ja) シミュレーション装置およびシミュレーション方法
KR20150093047A (ko) 그래픽스 데이터를 처리하는 방법 및 장치
US9519497B1 (en) Managing visual updates
CN104765680A (zh) 一种用于软件自动测试的方法及装置
CN114090466A (zh) 一种指令处理装置、方法、计算机设备及存储介质
KR102251241B1 (ko) 재구성 가능 프로세서의 레지스터를 제어하는 방법 및 장치와 재구성 가능 프로세서의 레지스터를 제어하는 명령어를 생성하는 방법 및 장치
US8988444B2 (en) System and method for configuring graphics register data and recording medium
JP2012212232A (ja) 表示制御装置および表示制御プログラム
CN107506128B (zh) 一种键盘显示方法和移动终端
US20190286464A1 (en) Virtual machine state recorder

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination