KR20230073302A - 멀티플렉서에서의 글리치리스 gpu 전환 - Google Patents

멀티플렉서에서의 글리치리스 gpu 전환 Download PDF

Info

Publication number
KR20230073302A
KR20230073302A KR1020237013719A KR20237013719A KR20230073302A KR 20230073302 A KR20230073302 A KR 20230073302A KR 1020237013719 A KR1020237013719 A KR 1020237013719A KR 20237013719 A KR20237013719 A KR 20237013719A KR 20230073302 A KR20230073302 A KR 20230073302A
Authority
KR
South Korea
Prior art keywords
gpu
frame
pixel data
display panel
output
Prior art date
Application number
KR1020237013719A
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 에이티아이 테크놀로지스 유엘씨
Publication of KR20230073302A publication Critical patent/KR20230073302A/ko

Links

Images

Classifications

    • 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
    • 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
    • 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/39Control of the bit-mapped memory
    • 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/08Power processing, i.e. workload management for processors involved in display operations, such as CPUs or GPUs
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/18Use of a frame buffer in a display terminal, inclusive of the display panel
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/04Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Power Sources (AREA)

Abstract

렌더링 디바이스(105)는 멀티플렉서(MUX)에서 다수의 그래픽 처리 유닛(GPU)(130, 135) 간에 전환이 이루어지는 동안 정적 이미지를 유지하기 위해 현재 프레임을 캡처 및 리플레이하도록 디스플레이 디바이스(170)에 시그널링한다. MUX 전환이 진행 중인 동안 현재 프레임을 리플레이함으로써 화면 블랭킹이나 아티팩트가 관찰되지 않도록 사용자 경험이 매끄러워진다.

Description

멀티플렉서에서의 글리치리스 GPU 전환
전형적인 처리 시스템은 디스플레이 패널에 디스플레이하기 위한 이미지를 생성하기 위해 그래픽 처리 유닛(GPU)을 사용한다. 중앙 처리 유닛(CPU) 또는 기타 처리 유닛에서 수신한 정보를 기초로 GPU는 일련의 프레임을 생성하고 컴퓨터 모니터와 같은 디스플레이용으로 일련의 프레임을 렌더링한다. 일부 GPU는 다른 GPU보다 더 높은 성능을 발휘할 수 있으며 단기간에 더 높은 강도의 그래픽을 렌더링할 수 있다. 그러나, 이러한 고성능 GPU는 저성능 GPU보다 더 많은 전력을 소비하며, 저강도 그래픽 시나리오 동안 전력을 절약하는 데 유용하다. 고성능 GPU의 그래픽 기능과 저성능 GPU의 절전 기능을 활용하기 위해 일부 처리 시스템에서는 성능 및 절전 특성이 다른 다수의 GPU를 채용한다.
첨부 도면을 참조함으로써 본 개시가 더 잘 이해되고, 본 개시의 많은 특징 및 이점이 당업자에게 명백해질 수 있다. 상이한 도면에서의 동일한 도면 부호의 사용은 유사하거나 동일한 아이템을 나타낸다.
도 1은 일부 실시예에 따른 디스플레이 패널이 패널 리플레이 프로토콜을 사용하는 동안 다수의 그래픽 처리 유닛(GPU) 사이를 전환하기 위해 멀티플렉서를 사용하는 프로세서의 블록도이다.
도 2는 일부 실시예에 따른 픽셀 데이터의 프레임을 디스플레이 패널에 출력하기 위해 어느 GPU를 선택해야 하는 지를 결정하기 위한 도 1의 프로세서의 제어 로직의 블록도이다.
도 3은 일부 실시예에 따른 GPU가 멀티플렉서에서 전환되는 동안 패널 리플레이 프로토콜을 위한 GPU 제어 로직, 활성 GPU 및 디스플레이 패널 사이의 메시지 흐름을 예시한다.
도 4는 일부 실시예에 따른 GPU가 멀티플렉서에서 전환되는 동안 패널 리플레이 프로토콜을 위해 디스플레이 패널에 시그널링하기 위한 프로세서와 디스플레이 패널 사이의 연결 블록도이다.
도 5는 일부 실시예에 따른 디스플레이 패널에 픽셀 데이터의 프레임을 출력하는 GPU가 멀티플렉서에서 전환되는 동안 패널 리플레이 프로토콜을 사용하는 방법을 예시하는 흐름도이다.
일부 다중-GPU 구성에서, 저성능 GPU는 디스플레이 패널에 영구적으로 연결되고 높은 그래픽 강도를 갖는 콘텐츠는 고성능 GPU에 의해 렌더링된 다음 저성능 GPU에 복사되거나 스트리밍되어 디스플레이 패널로 출력된다. 그러나, 렌더링된 콘텐츠를 저성능 GPU로 복사하거나 스트리밍하는 것과 연관된 오버헤드는 성능에 영향을 미치고 프레임 속도를 낮추어 사용자 경험에 부정적인 영향을 미칠 수 있다.
도 1 내지 도 5는 멀티플렉서(MUX)에서 다수의 그래픽 처리 유닛(GPU) 사이를 전환하는 동안 디스플레이 디바이스를 위한 PRP(Panel Replay Protocol)를 사용하는 기술을 예시한다. MUX에서의 GPU 간 전환은 다중-GPU 구성- 저성능 GPU가 디스플레이 디바이스에 영구적으로 연결되고 고성능 GPU에서 렌더링된 콘텐츠가 저성능 GPU로 복사 또는 스트리밍되어 디스플레이 디바이스로 출력됨 -과 연관된 오버헤드를 절감한다. 그러나, MUX에서의 GPU 간 전환은 시간이 걸리며, 그 동안, 디스플레이 디바이스는 공백 상태(blank)가 되거나 사용자가 관찰할 수 있는 아티팩트를 디스플레이할 수 있다. MUX 전환이 진행되는 동안 디스플레이 패널이 가장 최근에 디스플레이된 프레임을 캡처 및 리플레이하여 가장 최근에 디스플레이된 프레임의 정적 이미지를 유지하는 패널 리플레이 프로토콜을 사용하면 화면 블랭킹이나 아티팩트가 관찰되지 않도록 사용자 경험이 매끄러워지고, GPU 사이의 저레이턴시 단일 프레임 전환을 가능하게 한다. 또한, GPU가 전환되는 시간 동안, 활성 GPU는 ALPM(advanced link power management)을 사용하여 GPU와 디스플레이 디바이스 사이의 링크를 전원 차단하여 전력을 절약하고 효율을 개선시킨다.
도 1은 일부 실시예에 따른, MUX(140)를 사용하여 저전력 GPU(130)와 고성능 GPU(135) 사이를 전환하는 한편 디스플레이 디바이스(170)로 패널 리플레이 프로토콜을 수행하는 렌더링 디바이스(105)를 포함하는 처리 시스템(100)을 예시한다. 처리 시스템(100)은 일반적으로 전자 디바이스에 대해 지정된 작업을 수행하기 위해 애플리케이션(115)과 같은 명령어 세트(예를 들어, 컴퓨터 프로그램)를 실행하도록 구성된다. 이러한 작업의 예는 전자 장치의 동작의 양태를 제어하는 것, 특정된 사용자 경험을 제공하기 위해 사용자에게 정보를 표시하는 것, 다른 전자 장치와 통신하는 것 등을 포함한다. 따라서, 상이한 실시예에서, 처리 시스템(100)은 데스크톱 컴퓨터, 랩톱 컴퓨터, 서버, 게임 콘솔, 태블릿, 스마트폰 등과 같은 다수의 유형의 전자 장치 중 하나에 사용된다. 일부 실시예에서, 렌더링 디바이스(105)는 패널 VDD(150) 및 백라이트 전원(155)을 포함한다. 패널 VDD(150)는 디스플레이 디바이스(170)의 패널 로직에 전력 공급하도록 구성되고 백라이트 전원(155)은 디스플레이 디바이스(170)의 백라이트에 전력 공급하도록 구성된다.
명령어 세트의 실행을 지원하기 위해, 렌더링 디바이스(105)는 중앙 처리 유닛(CPU)(110)와 같은 복수의 프로세서 코어를 포함한다. 일부 실시예에서, 각각의 프로세서 코어는 명령어를 인출하고, 명령어를 대응하는 동작으로 디코딩하고, 동작을 하나 이상의 실행 유닛으로 디스패치하고, 동작을 실행하고, 동작을 폐기하기 위한 하나 이상의 명령어 파이프라인을 포함한다. 명령어를 실행하는 과정에서, CPU(110)는 정보의 시각적 디스플레이와 연관된 그래픽 동작 및 기타 동작을 생성한다. 이러한 동작에 기초하여, CPU(110)는 저전력 GPU(130) 및 고성능 GPU(135)로 도 1에 예시된 복수의 그래픽 처리 유닛(GPU)에 명령 및 데이터를 제공한다. 2개의 GPU가 도 1에 예시되어 있지만, 일부 실시예에서 렌더링 디바이스(105)는 2개보다 더 많은 GPU를 포함한다.
GPU(130, 135)는 일반적으로 복수의 프로세서 코어로부터 그래픽 및 다른 디스플레이 동작과 연관된 명령 및 데이터를 수신하도록 구성된다. 수신된 명령에 기초하여, GPU(130, 135)는 디스플레이용 프레임을 생성하는 동작을 실행한다. 동작의 예는 벡터 연산, 드로잉 동작 등을 포함한다. 저전력 GPU(130)는 일부 실시예에서 가속 처리 유닛(APU)으로 구현되고 낮은 그래픽 강도를 갖는 프레임을 렌더링하면서 전력을 절약하도록 구성된다. 한편, 고성능 GPU(135)는 비디오 게임과 같은 그래픽 강도가 높은 프레임을 렌더링하도록 구성되며 저전력 GPU(130)보다 더 많은 전력을 소비한다. 일부 실시예에서, 고성능 GPU(135)는 저전력 GPU(130)보다 더 높은 프레임 속도로 프레임을 렌더링할 수 있다. 저전력 GPU(130)와 고성능 GPU(135)는 멀티플렉서(MUX)(140)에 연결되며, 멀티플렉서는 저전력 GPU(130)와 고성능 GPU(135) 간에 전환하여 한번에 저전력 GPU(130)와 고성능 GPU(135)(본 출원에서 활성 GPU라 지칭됨) 중 하나만이 렌더링된 프레임을 출력하도록 비디오의 프레임을 디스플레이 디바이스(170)에 출력한다.
제어 로직(120)은 일반적으로 애플리케이션(115)으로부터의 입력 및 CPU(110)로부터 수신된 명령과 전력 모니터(125)로부터 수신된 입력에 기초하여 각각의 프레임을 렌더링할 저전력 GPU(130) 및 고성능 GPU(135)를 결정하도록 구성된다. 예를 들어, 제어 로직(120)이 애플리케이션(115)으로부터의 입력과 CPU(110)로부터 수신된 명령에 기초하여 그래픽 집약적 프레임을 수반하는 비디오 게임이 시작되었다고 결정하면, 제어 로직(120)은 고성능 GPU(135)가 프레임을 렌더링해야 한다고 결정한다. 저전력 GPU(130)가 비디오 게임 시작 이전에 활성 GPU였다면, 제어 로직(120)은 MUX(140)에서 저전력 GPU(130)와 고성능 GPU(135) 사이의 전환이 발생하도록 결정한다. 제어 로직(120)은 GPU(130, 135) 사이의 전환이 발생할 때 디스플레이 디바이스(170)에 신호를 보내도록 추가로 구성된다.
반대로, 제어 로직(120)이 전력 모니터(125)로부터 배터리 전력이 임계값 미만이라는 표시를 수신하면, 제어 로직(120)은 저전력 GPU(130)가 배터리 수명을 증가시키도록 프레임을 렌더링해야 한다고 결정한다. 고성능 GPU(135)가 낮은 배터리 전력 표시 이전에 초기 활성 GPU였다면, 제어 로직(120)은 고성능 GPU(135)에서 저전력 GPU(130)로의 전환이 MUX(140)에서 발생하도록 결정한다. 제어 로직(120) 및 전력 모니터(125)는 하드 코딩된 또는 프로그램 가능한 로직, 소프트웨어/펌웨어 명령어를 실행하는 하나 이상의 프로세서, 또는 그 임의의 조합으로 구현된다.
활성 GPU로부터 출력된 각각의 렌더링된 프레임은 렌더링 디바이스(105)의 프레임 버퍼 또는 다른 저장 컴포넌트(도시되지 않음)에 버퍼링된다. 그 다음, 활성 GPU는 연관된 메타데이터와 함께 행 단위로 버퍼링된 프레임을 나타내는 픽셀 데이터를 인터커넥트(160)를 통해 디스플레이 디바이스(170)에 송신하도록 동작한다.
디스플레이 디바이스(170)는 일반적으로 GPU(130, 135)에 의해 생성된 프레임에 기초하여 패널에 이미지를 시각적으로 디스플레이하도록 구성된 디스플레이 디바이스이다. 따라서, 다른 실시예에서 디스플레이 디바이스(170)는 액정 디스플레이(LCD) 디바이스, 유기 발광 다이오드(OLED) 디바이스 등이다. 본 기술 분야의 숙련자라면 알 수 있는 바와 같이, 디스플레이 디바이스(170)는 일반적으로 활성 GPU로부터 수신한 픽셀 데이터를 사용하여 디스플레이 디바이스(170)를 리프레시함으로써 활성 GPU에 의해 생성된 가장 최근의 프레임을 주기적으로 디스플레이하도록 구성된다. 디스플레이 디바이스(170)는 프레임 버퍼(도시되지 않음)를 포함하며, PRP(Panel Replay Protocol)를 수행할 수 있다.
패널 리플레이 프로토콜을 수행하기 위해 디스플레이 디바이스(170)는 활성 GPU로부터 현재 프레임을 캡처하고 프레임 버퍼에 프레임을 저장한다. PRP 동안, 활성 GPU는 디스플레이 디바이스(170)에 프레임을 제공하는 것을 중단하고, 디스플레이 디바이스(170)는 주기적 간격으로 디스플레이 디바이스(170) 프레임 버퍼로부터 캡처된 프레임을 판독하고 디스플레이 디바이스(170)의 패널에 디스플레이하기 위해 캡처된 프레임을 제공함으로써 자체 리프레시한다. 디스플레이 디바이스(170)는 활성 GPU가 PRP를 사용하여 라이브 프레임 표시를 갖는 프레임을 송신하는 것에 응답하여 활성 GPU로부터의 라이브 프레임 송신으로 다시 전환한다.
블랭킹 또는 아티팩트 없이 MUX(140)에서 저전력 GPU(130)와 고성능 GPU(135) 사이의 글리치리스 전환을 용이하게 하기 위해, 제어 로직(120)은 제어 로직(120)이 GPU(130, 135) 간의 전환이 MUX(140)에서 발생하도록 결정하는 것에 응답하여 디스플레이 디바이스(170)에 그 프레임 버퍼에서 현재 비디오 프레임을 캡처하고 캡처된 프레임을 리플레이하도록 시그널링한다. 캡처 프레임 신호를 수신한 것에 응답하여, 디스플레이 디바이스(170)는 프레임 버퍼에서 현재 프레임을 캡처하기 시작한다. 일단 캡처가 완료되면, 제어 로직(120)은 캡처된 프레임을 사용하여 패널을 지속적으로 리프레시함으로써 정적 이미지를 유지하도록 디스플레이 디바이스(170)에 시그널링하기 위해 리플레이 프레임 신호를 발신한다. 디스플레이 디바이스(170)가 캡처된 프레임을 사용하여 패널을 리프레시하는 동안 제어 로직(120)은 활성 GPU로부터의 출력을 디스에이블하고 인터커넥트(160)를 통해 디스플레이 디바이스(170)로 데이터 송신을 중단하고 활성 GPU(130,135)에서 다른 GPU(130,135)로의 전환을 시작한다. 예를 들어, 저전력 GPU(130)가 현재 프레임을 렌더링한 초기 활성 GPU이고 제어 로직(120)이 다음 프레임의 그래픽 강도를 기초로 고성능 GPU(135)로의 전환이 필요하다고 결정하는 경우, 제어 로직(120)은 일단 디스플레이 디바이스(170)가 캡처된 프레임으로 자체 리프레시를 시작하면 저전력 GPU(130)로부터의 출력을 디스에이블하고 MUX(140)에서 고성능 GPU(135)로 전환한다.
MUX(140)에서의 전환이 완료된 후, 제어 로직(120)은 고성능 GPU(135)에 전력을 공급한다. 고성능 GPU(135) 출력이 인에이블되면, 제어 로직(120)은 고성능 GPU(135)가 라이브 프레임 신호를 디스플레이 디바이스(170)에 발신하여 고성능 GPU(135)에 의해 송신된 새로운 프레임을 디스플레이하도록 프로그램한다. 라이브 프레임 신호 수신에 응답하여, 디스플레이 디바이스(170)는 고성능 GPU(135) 출력에 재동기화한다.
일부 실시예에서, GPU(130, 135)는 전환이 캡처된 프레임을 리플레이하는 것으로부터 새로운 활성 GPU(130,135)로부터의 라이브 프레임 출력을 디스플레이하는 것으로의 전환이 매끄럽게 발생하는 것을 보장하기 위해 시스템 시간을 판독하는 것과 같은 의사-타이밍 동기화 메커니즘(도시되지 않음)을 채용한다. 예를 들어, 전환 도중 저전력 GPU(130)의 출력이 디스에이블된 동안, 디스플레이 디바이스(170)는 디스플레이 디바이스(170)의 내부 타이밍을 사용하여 캡처된 프레임을 리플레이한다. 고성능 GPU(135)가 라이브 프레임 신호를 발신할 때 고성능 GPU(135)는 의사-타이밍 동기화 메커니즘을 사용하여 라이브 프레임 출력을 시작할 때를 알 수 있다. 그 결과, 고성능 GPU(135)는 디스플레이 디바이스(170)의 출력 타이밍에 동기하여 라이브 프레임을 출력한다. 본 출원에 사용될 때, "동기화된" 및 "동기적으로"는 2개 이상의 디바이스의 디스플레이 사이클에서 특정 지점의 지정된 양의 시간(오차 여유) 내에서의 상대적인 정렬을 의미한다.
고성능 GPU(135)가 초기 활성 GPU이고 예를 들어 배터리가 부족하기 때문에 저전력 GPU(130)로의 전환이 요구되는 시나리오에 대해, 제어 로직(120)은 디스플레이 디바이스(170)가 캡처된 프레임으로 자체 리프레시하는 동안 고성능 GPU(135) 출력을 디스에이블하고, 저전력 GPU(130)로 전환한다. 저전력 GPU(130) 출력이 인에이블되면, 저전력 GPU(130)는 라이브 프레임 표시를 갖는 새로운 프레임을 디스플레이 디바이스(170)로 송신하고, 디스플레이 디바이스(170)는 저전력 GPU(130) 출력에 재동기화한다. 따라서, 저전력 GPU(130)와 고성능 GPU(135)가 MUX(140)에서 전환되는 기간 동안, 디스플레이 디바이스(170)는 초기 활성 GPU에 의해 마지막으로 출력된 캡처된 프레임의 정적 이미지를 유지하여, 글리치리스 및 아티팩트가 없는 사용자 경험이 이루어지게 한다.
패널 VDD(150)는 디스플레이 디바이스(170)의 패널 로직에 전력을 계속 공급하고 백라이트 전원(155)은 MUX(140)에서 GPU(130, 135) 사이의 전환 동안 디스플레이 디바이스(170)의 백라이트를 점등 상태로 유지하기 위해 전력을 계속 공급한다. 일부 실시예에서, 패널 VDD(150) 및 백라이트 전원(155)은 MUX(140)와 독립적으로 디스플레이 디바이스(170)에 제공된다. 이러한 방식으로, 패널 VDD(150) 및 백라이트 전원(155)으로부터 디스플레이 디바이스(170)에 공급되는 전력은 MUX(140)에서의 GPU 전환 동안 영향을 받지 않고 유지된다.
도 2는 일부 실시예에 따른, 도 1의 처리 시스템(100)의 일부(200)의 블록도로서, 디스플레이 디바이스(170)에 픽셀 데이터의 프레임을 출력하기 위해 어떤 GPU를 선택할지 결정하기 위한 렌더링 디바이스(105)의 제어 로직(120)을 예시한다. 제어 로직(120)은 그래픽 강도 측정기(225) 및 GPU 선택기(235)를 포함한다. 제어 로직(120)은 CPU(110)(도시되지 않음)에서 실행하는 애플리케이션(115)에 기초한 프레임 데이터(205) 및 전력 모니터(125)로부터의 전력 정보(220)를 수신한다. 전력 모니터(125)는 배터리 사용량 측정기(210)를 포함한다.
배터리 사용량 측정기(210)는 처리 시스템(100)이 배터리 모드로 동작하는지 여부 및 배터리 잔량을 모니터링한다. 전력 모니터(125)는 배터리 잔량을 배터리 전력 임계값(215)과 비교한다. 전력 모니터(125)는 배터리 잔량이 배터리 전력 임계값(215) 미만인지 여부를 나타내는 전력 정보(220)를 제어 로직(120)에 제공한다. 일부 실시예에서, 배터리 사용량 측정기(210)는 배터리 전력 소비율을 추가로 모니터링하고, 전력 모니터(125)는 배터리 전력 소비율을 배터리 전력 소비율 임계값과 비교하고, 전력 정보(220)는 배터리 전력 소비율이 배터리 전력 소비율 임계값을 초과하는지 여부에 대한 표시를 포함한다. 배터리 사용량 측정기(210)는 하드 코딩된 또는 프로그램 가능한 로직, 소프트웨어/펌웨어 명령어를 실행하는 하나 이상의 프로세서, 또는 그 임의의 조합으로 구현된다.
픽셀 데이터(205)에 기초하여, 그래픽 강도 측정기(225)는 각각의 프레임의 그래픽 강도 레벨을 계산하고 이를 그래픽 강도 임계값(230)과 비교한다. 프레임의 그래픽 강도가 그래픽 강도 임계값(230)을 초과하면, GPU 선택기(235)는 고성능 GPU(235)를 선택하여 프레임을 렌더링한다. 일부 실시예에서, 전력 정보(220)가 배터리 잔량이 배터리 전력 임계값(215) 미만임을 나타내면, GPU 선택기(235)는 배터리 수명을 증가시키기 위해 그래픽 강도가 그래픽 강도 임계값(230)을 초과하는 프레임을 렌더링하기 위한 고성능 GPU(135)(도시되지 않음)의 선택을 무시한다. 프레임의 그래픽 강도가 그래픽 강도 임계값(230) 미만인 경우, GPU 선택기(235)는 배터리 수명을 보존하기 위해 저전력 GPU(130)(도시되지 않음)를 선택한다. 그래픽 강도 측정기(225)는 하드 코딩된 또는 프로그램 가능한 로직, 소프트웨어/펌웨어 명령어를 실행하는 하나 이상의 프로세서, 또는 그 임의의 조합으로 구현된다.
도 3은 일부 실시예에 따른, 제어 로직(120), 활성 GPU(330)(즉, 저전력 GPU(130) 또는 고성능 GPU(135) 중 어느 것이 현재 활성 상태이든) 및 GPU(130, 135)가 MUX(140)에서 전환되는 동안 캡처된 프레임을 리플레이하기 위해 PRP(Panel Replay Protocol)를 사용하는 디스플레이 디바이스(170) 사이의 메시지 흐름(300)을 예시한다. 시간 T1에서, 디스플레이 디바이스(170)는 디스플레이 디바이스(170)가 PRP를 지원한다는 표시(302)를 제어 로직(120)에 제공한다. T1 후에, 제어 로직(120)은 프레임에 대해 GPU 전환이 MUX(140)에서 발생할 것이라고 결정하고, 저전력 GPU(130)로부터 고성능 GPU(135)로의 또는 고성능 GPU(135)로부터 저전력 GPU(130)로의 GPU 전환이 MUX(140)에서 발생할 것이라는 표시(도시되지 않음)를 활성 GPU(330)에 제공한다. 표시 수신에 응답하여, 시간 T2에서, 활성 GPU(330)는 현재 프레임과 함께 캡처 프레임 신호(304)를 디스플레이 디바이스(170)에 발신한다.
시간 T3에서, 현재 프레임을 캡처하라는 신호(304)의 수신에 응답하여, 디스플레이 디바이스(170)는 프레임 버퍼에서 현재 프레임을 캡처하는 액션(306)을 수행한다. 디스플레이 디바이스(170)가 그 프레임 버퍼에서 현재 프레임을 캡처한 후, 시간 T4에서 활성 GPU(330)는 리플레이 프레임 신호(308)를 디스플레이 디바이스(170)에 발신하여 캡처된 현재 프레임의 정적 이미지를 유지하도록 디스플레이 디바이스(170)에 시그널링 한다. 시간 T5에서, 리플레이 프레임 신호(308)의 수신에 응답하여, 디스플레이 디바이스(170)는 제어 로직(120)이 MUX(140)에서 GPU(130, 135)를 전환하는 액션(312)을 수행하는 동안 디스플레이 디바이스(170)의 각각의 리프레시 사이클에 현재 프레임을 리플레이하여 정적 이미지를 유지하는 액션(310)을 수행한다. MUX(140)에서 GPU(130, 135)를 전환하는 액션(312)은 초기 활성 GPU(130, 135)(즉, 캡처된 프레임을 렌더링하는 GPU(130, 135))로부터의 출력을 디스에이블하는 것, MUX(140)에서 GPU(130, 135)를 전환하는 것, 초기 비활성 GPU(130, 135)(즉, 캡처된 프레임을 렌더링하지 않은 GPU(130, 135))에 급전하는 것, 및 초기 비활성(이제 새롭게 활성화됨) GPU(130, 135)가 디스플레이 디바이스(170)에 출력할 수 있게 하는 것을 포함한다. 새로운 활성 GPU(130, 135)가 출력을 인에이블하면, 시간 T6에서 활성 GPU(330)는 라이브 프레임 신호(314) 및 새로운 프레임을 디스플레이 디바이스(170)에 발신하여 디스플레이 디바이스(170)가 인터커넥트(160)를 통해 렌더링 디바이스(105)로부터 입력을 수용하도록 준비 상태로 구동할 것을 시그널링한다. 라이브 프레임 신호(314)를 수신한 것에 응답하여, 디스플레이 디바이스(170)는 인터커넥트(160)를 통해 렌더링 디바이스(105)로부터의 입력을 수용하기 위해 준비 상태로 구동하고 새로운 활성 GPU(130, 135) 출력에 재동기화한다.
도 4는 도 1의 처리 시스템(100)의 일부(400)의 블록도이며, 일부 실시예에 따른, GPU(130, 135)가 멀티플렉서(140)에서 전환되는 동안 패널 자가 리프레시 모드에 진입 및 이탈하도록 디스플레이 디바이스(170)에 시그널링하기 위한 렌더링 디바이스(105)와 디스플레이 디바이스(170) 사이의 인터커넥트(160)의 연결을 예시한다. 인터커넥트(160)는 핀(402, 404, 406, 408) 세트를 포함한다. 핀 세트(402)는 활성 비디오 신호가 그를 통해 렌더링 디바이스(105)로부터 디스플레이 디바이스(170)로 송신되는 메인 링크이다. 일부 실시예에서, MUX(140)에서의 GPU 전환 이전에 현재 프레임을 캡처하기 위한 캡처 프레임 신호(304)는 현재 프레임의 수직 블랭킹 구역 동안 송신되는 정보 패킷 또는 메타데이터이다. 일부 실시예에서, 활성 GPU(330)는 GPU(130, 135)가 MUX(140)에서 전환하는 시간 동안 핀 세트(402)를 슬립 상태로 두거나 전원 차단하기 위해 eDP의 ALPM(Advanced Link Power Management) 특징을 사용한다. GPU 전환이 완료되면, 새로 활성화된 GPU(130, 135)는 패널 상태를 읽어 디스플레이 디바이스(170)가 ALPM 슬립 상태에 있음을 결정한다. 새로운 활성 GPU(130, 135)는 핀 세트(402)를 각성시키고 디스플레이 디바이스(170)로의 프레임 송신을 시작한다.
핀 세트(404)는 렌더링 디바이스(105)가 eDP의 ALPM 특징으로 디스플레이 디바이스(170)를 각성시키고, MUX(140)에서 GPU 전환이 완료된 후 새로 활성화된 GPU(130, 135)에 의해 송신된 새로운 프레임을 디스플레이하도록 라이브 프레임 신호(314)를 디스플레이 디바이스(170)에 송신하기 위해 사용하는 보조(AUX) 채널이다. 일부 실시예에서, 라이브 프레임 신호(314)는 새로운 프레임의 수직 블랭킹 구역 동안 송신되는 정보 패킷 또는 메타데이터이다. 일부 실시예에서, MUX(140)에서 GPU 전환이 발생하는 시간 동안, 핀(402 및 404) 세트는 렌더링 디바이스(105)에 의해 사용되지 않는다.
핀 세트(406)는 디스플레이 디바이스(170)의 패널 로직에 전력을 공급하기 위해 렌더링 디바이스(105)의 패널 VDD(150)에 의해 사용된다. 마찬가지로, 핀 세트(408)는 백라이트 전원(155)이 그를 통해 디스플레이 디바이스(170)의 백라이트에 전력을 공급하는 채널이다. 핀(406, 408) 세트는 MUX(140)에서 GPU 전환이 발생하는 시간 동안 활성 상태를 유지하며, 따라서, 디스플레이 디바이스(170)의 구동 상태를 유지하고 디스플레이 디바이스(170)의 패널 백라이트는 MUX(140)에서의 GPU 전환 동안 점등 상태를 유지한다.
도 5는 일부 실시예에 따른, 디스플레이 디바이스에 픽셀 데이터의 프레임을 출력하는 GPU가 멀티플렉서에서 전환되는 동안 캡처된 프레임으로 자가 리프레시하도록 디스플레이 디바이스에 시그널링하기 위해 패널 리플레이 프로토콜을 사용하는 방법(500)을 예시하는 흐름도이다. 일부 실시예에서, 방법(500)은 도 1의 처리 시스템(100)과 같은 처리 시스템에 의해 구현된다.
블록 502에서, 제어 로직(120)은 디스플레이 디바이스(170)가 패널 리플레이 프로토콜을 지원한다는 표시(302)를 디스플레이 디바이스(170)로부터 수신한다. 블록 504에서, 제어 로직(120)은 현재 실행 중인 애플리케이션(115)에 기초하여 CPU(110)로부터 현재 프레임에 대한 픽셀 데이터(205)를 수신한다. 블록 506에서, 제어 로직(120)은 프레임의 그래픽 강도 레벨을 결정한다. 블록 508에서, 제어 로직(120)은 전력 모니터(125)로부터 전력 정보(220)를 수신한다. 그래픽 강도 레벨 및 전력 정보(220)에 기초하여, 제어 로직(120)은 블록 510에서 그래픽 요건 및/또는 전력 제약으로 인해 MUX(140)에서 GPU(130, 135)를 전환할지 여부를 결정한다. 예를 들어, 저전력 GPU(130)가 프레임을 렌더링하고 MUX(140)를 통해 렌더링된 프레임을 출력하는 활성 GPU이고, 제어 로직(120)이 다음 프레임의 그래픽 강도 레벨이 임계값을 초과하고 더 나아가 배터리 전력이 충분하다고 결정한 경우, 제어 로직(120)은 MUX(140)에서 고성능 GPU(135)로 전환하기로 결정한다. 그러나, 일부 실시예에서, 배터리 잔량이 임계값 미만이면, 제어 로직(120)은 고성능 GPU(135)로 전환하지 않고 저전력 GPU(130)를 활성 GPU로 유지하도록 결정한다. 반대로 고성능 GPU(135)가 활성 GPU이고 제어 로직(120)이 다음 프레임의 그래픽 강도 레벨이 임계값을 초과하지 않는다고 결정하는 경우, 또는 고성능 GPU(135)를 활성 GPU로 유지하기에 배터리 전력이 불충분하다고 결정하는 경우, 제어 로직(120)은 MUX(140)에서 저전력 GPU(130)로 전환하도록 결정한다.
블록 510에서 제어 로직(120)이 MUX(140)에서 GPU(130, 135)를 전환하지 않기로 결정하면, 방법 흐름은 픽셀 데이터의 다음 프레임이 수신되는 블록 504로 다시 계속된다. 블록 510에서 제어 로직(120)이 MUX(140)에서 GPU(130, 135)를 전환하기로 결정하면, 방법 흐름은 블록 512로 계속된다. 블록 512에서, 활성 GPU(130, 135)는 현재 프레임을 캡처하기 위해 디스플레이 디바이스(170)에 캡처 프레임 신호를 발신하고 캡처된 프레임을 리플레이하기 위해 리플레이 프레임 신호를 발신한다. 캡처 프레임 신호 수신에 응답하여 디스플레이 디바이스(170)는 프레임 버퍼에서 현재 프레임을 캡처하고 현재 프레임으로 패널을 리프레시한다. 디스플레이 디바이스(170)가 현재 프레임을 리플레이하는 동안, 블록 514에서 제어 로직(120)은 MUX(140)에서 GPU(130, 135)를 전환한다. MUX(140) 전환이 완료되면 제어 로직(120)은 새로 활성화된 GPU(130, 135)에 전력을 공급한다. 새로 활성화된 GPU(130, 135)가 렌더링된 프레임을 출력하도록 인에이블되면, 블록 516에서 새로 활성화된 GPU(130, 135)는 디스플레이 디바이스(170)에 라이브 프레임 신호를 발신하여 새로 활성화된 GPU(130, 135)에 의해 송신된 새로운 프레임을 디스플레이한다. 라이브 프레임 신호를 수신하면, 디스플레이 디바이스(170)는 새로 활성화된 GPU(130, 135) 출력에 재동기화한다.
본 출원에 개시된 바와 같이, 일부 실시예에서 방법은 프로세서의 렌더링 디바이스에서, 제1 그래픽 처리 유닛(GPU)으로부터 출력된 픽셀 데이터의 제1 프레임을 캡처 및 리플레이하도록 디스플레이 패널에 시그널링하는 단계; 디스플레이 패널이 제1 프레임을 캡처 및 리플레이하는 것에 응답하여, 제1 GPU로부터의 픽셀 데이터를 디스플레이 패널에 출력하는 것으로부터 제2 GPU로부터의 픽셀 데이터를 디스플레이 패널에 출력하는 것으로 전환하는 단계; 및 전환 완료에 응답하여 제2 GPU에 의해 송신된 제2 프레임을 디스플레이하도록 디스플레이 패널에 시그널링하는 단계를 포함한다. 일 양태에서, 이 방법은 디스플레이 패널이 제1 프레임을 리플레이하는 것에 응답하여 제1 GPU로부터의 픽셀 데이터 출력을 디스에이블하는 단계를 포함한다. 다른 양태에서, 제1 프레임을 캡처 및 리플레이하도록 디스플레이 패널에 시그널링하는 단계는 제1 프레임의 메타데이터에서, 제1 프레임을 캡처하도록 디스플레이 패널에 시그널링하는 단계; 및 캡처된 제1 프레임의 정적 이미지를 유지하도록 디스플레이 패널에 시그널링하는 단계를 포함한다.
일 양태에서, 방법은 제1 GPU로부터 픽셀 데이터를 출력하는 것으로부터 제2 GPU로부터의 픽셀 데이터를 디스플레이 패널에 출력하는 것으로 전환하는 동안 렌더링 디바이스와 디스플레이 패널 사이의 링크를 전원 차단하는 단계를 포함한다. 다른 양태에서, 방법은 프로세서의 제어 로직에서, 제1 GPU 또는 제2 GPU를 선택하여 프레임의 그래픽 강도 및 프로세서의 배터리 전력의 양 중 적어도 하나에 기초하여 프레임에 대한 픽셀 데이터를 출력하는 단계를 포함하고, 전환은 추가로 프레임에 대한 픽셀 데이터를 출력하기 위해 제2 GPU를 선택하는 것에 응답한다. 또 다른 양태에서, 방법은 프레임의 그래픽 강도가 임계값보다 더 높다는 결정에 응답하여 제1 GPU로부터 프레임에 대한 픽셀 데이터를 출력하는 단계를 포함하고, 여기서, 제1 GPU는 제2 GPU보다 고성능 GPU이다. 또 다른 양태에서, 방법은 프레임의 그래픽 강도가 임계값보다 더 낮다는 것에 응답하여 제2 GPU로부터 프레임에 대한 픽셀 데이터를 출력하는 단계를 포함한다. 또 다른 양태에서, 제2 프레임의 송신은 제2 GPU와 디스플레이 패널의 내부 타이밍 사이에서 동기화된다.
일부 실시예에서, 방법은 프로세서의 제1 그래픽 처리 유닛(GPU)으로부터의 픽셀 데이터를 디스플레이 패널로 출력하는 단계; 제1 GPU로부터 출력된 픽셀 데이터의 현재 프레임을 리플레이하도록 디스플레이 패널에 시그널링하는 단계; 디스플레이 패널이 현재 프레임을 리플레이하는 것에 응답하여 제1 GPU로부터의 픽셀 데이터 출력을 디스에이블하는 단계; 제2 GPU로부터의 픽셀 데이터를 디스플레이 패널에 출력하도록 전환하는 단계; 및 제2 GPU가 픽셀 데이터를 출력하는 것에 응답하여 제2 GPU로부터 출력된 프레임을 디스플레이하도록 디스플레이 패널에 시그널링하는 단계를 포함한다. 일 양태에서, 방법은 제1 GPU로부터의 픽셀 데이터를 출력하는 것이 디스에이블된 동안, 디스플레이 패널이 정적 이미지를 유지하도록 인에이블되는 것으로 결정하는 단계를 포함한다. 다른 양태에서, 현재 프레임을 리플레이하도록 디스플레이 패널에 시그널링하는 단계는 프레임 버퍼에서 제1 GPU로부터 출력된 픽셀 데이터의 현재 프레임을 캡처하도록 디스플레이 패널에 시그널링하는 단계; 및 캡처된 현재 프레임의 정적 이미지를 유지하도록 디스플레이 패널에 시그널링하는 단계를 포함한다.
일 양태에서, 방법은 제1 GPU로부터의 픽셀 데이터를 출력하는 것으로부터 제2 GPU로부터의 픽셀 데이터를 디스플레이 패널에 출력하는 것으로 전환하는 동안, 프로세서와 디스플레이 패널 사이의 링크를 전원 차단하는 단계를 포함한다. 다른 양태에서, 방법은 프로세서의 제어 로직에서, 제1 GPU 또는 제2 GPU를 선택하여 프레임의 그래픽 강도 및 프로세서의 배터리 전력 중 적어도 하나에 기초하여 프레임에 대한 픽셀 데이터를 출력하는 단계를 포함한다. 또 다른 양태에서, 결정하는 단계는 프레임의 그래픽 강도가 임계값보다 더 높은 것에 응답하여 제1 GPU로부터 프레임에 대한 픽셀 데이터를 출력하는 단계를 포함하고, 여기서, 제1 GPU는 제2 GPU보다 고성능 GPU이다.
일 양태에서, 방법은 프레임의 그래픽 강도가 임계값보다 더 낮은 것에 응답하여 제2 GPU로부터 프레임에 대한 픽셀 데이터를 출력하는 단계를 포함한다. 다른 양태에서, 픽셀 데이터를 출력하는 제2 GPU는 디스플레이 패널 출력에 동기화된다.
일부 실시예에서, 디바이스는 제1 그래픽 처리 유닛(GPU); 제2 GPU; 및 제1 GPU 및 제2 GPU로부터의 픽셀 데이터를 디스플레이 패널에 출력하는 것 사이에서 전환하도록 구성된 제어 로직을 포함하고; 제1 GPU는, 디바이스가 제1 GPU로부터의 픽셀 데이터를 디스플레이 패널에 출력하는 것으로부터 제2 GPU로부터의 픽셀 데이터를 디스플레이 패널에 출력하는 것으로 전환할 것임을 검출하는 것에 응답하여 제1 GPU로부터 출력되는 픽셀 데이터의 현재 프레임을 리플레이하도록 디스플레이 패널에 시그널링하도록 구성되고, 제2 GPU는 제2 GPU가 픽셀 데이터를 출력하는 것에 응답하여 제2 GPU로부터 출력되는 픽셀 데이터의 프레임을 디스플레이하도록 디스플레이 패널에 시그널링하도록 구성된다. 일 양태에서, 제1 GPU는 디스플레이 패널이 현재 프레임을 캡처 및 리플레이하는 것에 응답하여 픽셀 데이터 출력을 디스에이블하도록 추가로 구성된다. 다른 양태에서, 제어 로직이 제1 GPU로부터의 픽셀 데이터를 디스플레이 패널에 출력하는 것으로부터 제2 GPU로부터의 픽셀 데이터를 디스플레이 패널에 출력하는 것으로 전환할 것이라는 표시를 수신하는 것에 응답하여, 제1 GPU는 프레임 버퍼에서 제1 GPU로부터 출력된 현재 프레임을 캡처하도록 디스플레이 패널에 시그널링하고; 현재 프레임을 리플레이하도록 디스플레이 패널에 시그널링하도록 추가로 구성된다.
일 양태에서, 제2 GPU가 픽셀 데이터를 출력하는 것에 응답하여, 제2 GPU는 인터커넥트를 통해 디바이스로부터의 입력을 수용하기 위해 준비 상태로 구동하도록 디스플레이 패널에 시그널링하고; 디스플레이 패널에 픽셀 데이터를 출력하도록 추가로 구성된다. 다른 양태에서, 제어 로직은 제1 GPU 또는 제2 GPU를 선택하여 프레임의 그래픽 강도 및 디바이스의 배터리 전력 중 적어도 하나에 기초하여 프레임에 대한 픽셀 데이터를 출력하도록 구성된다. 또 다른 양태에서, 제어 로직은 프레임의 그래픽 강도가 임계값보다 더 높다는 것에 응답하여 제1 GPU를 선택하여 프레임에 대한 픽셀 데이터를 출력하도록 추가로 구성되고, 여기서, 제1 GPU는 제2 GPU보다 고성능 GPU이다.
일부 실시예에서, 앞서 설명된 디바이스 및 기술은 도 1 내지 도 5를 참조로 앞서 설명된 처리 시스템(100)과 같은 하나 이상의 집적 회로(IC) 디바이스(집적 회로 패키지 또는 마이크로칩이라고도 지칭됨)를 포함하는 시스템에서 구현된다. 전자 설계 자동화(EDA) 및 컴퓨터 지원 설계(CAD) 소프트웨어 도구들이 이러한 IC 장치의 설계 및 제조에 사용될 수 있다. 이러한 설계 도구들은 통상적으로 하나 이상의 소프트웨어 프로그램으로 표현된다. 하나 이상의 소프트웨어 프로그램은 회로부를 제조하도록 제조 시스템을 설계하거나 조정하기 위한 프로세스의 적어도 일부를 수행하기 위해 하나 이상의 IC 장치의 회로부를 나타내는 코드에 대해 동작하도록 컴퓨터 시스템을 조작하기 위한 컴퓨터 시스템에 의해 실행 가능한 코드를 포함한다. 이러한 코드는 명령어, 데이터, 또는 명령어와 데이터의 조합을 포함할 수 있다. 설계 도구 또는 제조 도구를 표현하는 소프트웨어 명령어는 통상적으로 컴퓨팅 시스템이 액세스 가능한 컴퓨터 판독 가능 저장 매체에 저장된다. 마찬가지로, IC 장치의 설계 또는 제조의 하나 이상의 단계를 나타내는 코드는 동일한 컴퓨터 판독 가능 저장 매체 또는 상이한 컴퓨터 판독 가능 저장 매체에 저장되고 그로부터 액세스될 수 있다.
컴퓨터 판독 가능 저장 매체는 명령어 및/또는 데이터를 컴퓨터 시스템에 제공하기 위해 사용되는 동안 컴퓨터 시스템에 의해 액세스 가능한 임의의 비일시적 저장 매체, 또는 비일시적 저장 매체의 조합을 포함할 수 있다. 그러한 저장 매체는 광 매체(예를 들어, 콤팩트 디스크(CD), 디지털 다기능 디스크(DVD), 블루레이 디스크), 자기 매체(예를 들어, 플로피 디스크, 자기 테이프, 또는 자기 하드 드라이브), 휘발성 메모리(예를 들어, 랜덤 액세스 메모리(RAM) 또는 캐시), 비휘발성 메모리(예를 들어, 판독 전용 메모리(ROM) 또는 플래시 메모리), 또는 미세전자기계 시스템(MEMS)-기반 저장 매체를 포함할 수 있지만, 이로 제한되지 않는다. 컴퓨터 판독 가능 저장 매체는 컴퓨팅 시스템에 내장되거나(예를 들어, 시스템 RAM 또는 ROM), 컴퓨팅 시스템에 고정적으로 부착되거나(예를 들어, 자기 하드 드라이브), 컴퓨팅 시스템에 제거 가능하게 부착되거나(예를 들어, 광 디스크 또는 범용 직렬 버스(USB)-기반 플래시 메모리), 유선 또는 무선 네트워크를 통해 컴퓨터 시스템에 결합(예를 들어, 네트워크 액세스 가능한 저장소(NAS))될 수 있다.
일부 실시예들에서, 전술된 기술의 특정 양태는 소프트웨어를 실행하는 처리 시스템의 하나 이상의 프로세서에 의해 구현될 수 있다. 소프트웨어는 비일시적 컴퓨터 판독 가능 저장 매체에 저장되거나 달리 유형적으로 구현된 실행 가능 명령어의 하나 이상의 세트를 포함한다. 소프트웨어는 하나 이상의 프로세서에 의해 실행될 때, 전술된 기술의 하나 이상의 양태를 수행하도록 하나 이상의 프로세서를 조작하는 명령어 및 특정 데이터를 포함할 수 있다. 비일시적 컴퓨터 판독 가능 저장 매체는, 예를 들어, 자기 또는 광 디스크 저장 장치, 플래시 메모리, 캐시, 랜덤 액세스 메모리(RAM) 또는 다른 비휘발성 메모리 장치 또는 장치들 등과 같은 솔리드 스테이트 저장 장치를 포함할 수 있다. 비일시적 컴퓨터 판독 가능 저장 매체에 저장된 실행 가능 명령어는 하나 이상의 프로세서에 의해 해석되거나 달리 실행 가능한 소스 코드, 어셈블리 언어 코드, 객체 코드, 또는 다른 명령어 포맷일 수 있다.
일반적인 설명에서 전술된 모든 활동 또는 요소가 요구되는 것은 아니고, 특정 활동 또는 장치의 일부는 요구되지 않을 수 있고, 기술된 것에 더하여, 하나 이상의 추가 활동이 수행되거나 하나 이상의 추가 요소가 포함될 수 있다는 점에 유의한다. 또한 추가적으로, 활동이 열거된 순서는 반드시 그들이 수행되는 순서는 아니다. 또한, 특정 실시예들을 참조하여 개념이 설명되었다. 그러나, 당업자는 아래의 청구범위에 기재된 것과 같은 본 개시의 범위로부터 벗어나지 않으면서 다양한 수정 및 변경이 이루어질 수 있음을 이해한다. 따라서, 명세서 및 도면은 제한적인 의미보다는 예시적인 의미로 간주되어야 하며, 모든 그러한 수정은 본 개시의 범위 내에 포함되도록 의도된다.
이익, 다른 이점, 및 문제에 대한 해결책이 특정 실시예와 관련하여 전술되었다. 그러나, 이익, 이점, 문제에 대한 해결책, 그리고 임의의 이익, 이점, 또는 해결책이 발생되게 하거나 더 명확해지게 할 수 있는 임의의 특징(들)은 임의의 또는 모든 청구항의 중요한, 요구되는, 또는 본질적인 특징으로 해석되어서는 안 된다. 또한, 위에 개시된 특정 실시예는 단지 예시적인 것인데, 개시된 주제는 본 명세서의 교시 내용의 이익을 갖는 당업자에게 명백한, 상이하지만 동등한 방식으로 수정 및 실시될 수 있기 때문이다. 아래의 청구범위에 기술된 것 이외에, 본 명세서에서 도시된 구성 또는 설계의 상세 사항에 대한 제한이 의도되지 않는다. 따라서 위에서 개시된 특정 실시예들은 변경되거나 수정될 수 있고 모든 그러한 변형은 개시된 주제의 범위 내에 있는 것으로 고려된다는 것이 명백하다. 따라서, 본 명세서에서 추구되는 보호는 아래의 청구범위에 기재된 것과 같다.

Claims (22)

  1. 방법으로서,
    프로세서의 렌더링 디바이스에서, 제1 그래픽 처리 유닛(GPU)으로부터 출력된 픽셀 데이터의 제1 프레임을 캡처 및 리플레이하도록 디스플레이 패널에 시그널링하는 단계;
    상기 디스플레이 패널이 상기 제1 프레임을 캡처 및 리플레이하는 것에 응답하여, 상기 제1 GPU로부터의 픽셀 데이터를 상기 디스플레이 패널에 출력하는 것으로부터 상기 제2 GPU로부터의 픽셀 데이터를 상기 디스플레이 패널에 출력하는 것으로 전환하는 단계; 및
    전환 완료에 응답하여 상기 제2 GPU에 의해 송신된 제2 프레임을 디스플레이하도록 상기 디스플레이 패널에 시그널링하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 디스플레이 패널이 상기 제1 프레임을 리플레이하는 것에 응답하여 상기 제1 GPU로부터의 픽셀 데이터 출력을 디스에이블하는 단계를 더 포함하는, 방법.
  3. 제1항 또는 제2항에 있어서, 상기 제1 프레임을 캡처 및 리플레이하도록 상기 디스플레이 패널에 시그널링하는 단계는,
    상기 제1 프레임의 메타데이터에서, 상기 제1 프레임을 캡처하도록 상기 디스플레이 패널에 시그널링하는 단계; 및
    상기 캡처된 제1 프레임의 정적 이미지를 유지하도록 상기 디스플레이 패널에 시그널링하는 단계를 포함하는, 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 제1 GPU로부터 픽셀 데이터를 출력하는 것으로부터 상기 제2 GPU로부터의 픽셀 데이터를 상기 디스플레이 패널에 출력하는 것으로 전환하는 동안 상기 렌더링 디바이스와 상기 디스플레이 패널 사이의 링크를 전원 차단하는 단계를 더 포함하는, 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 프로세서의 제어 로직에서, 상기 제1 GPU 또는 상기 제2 GPU를 선택하여 프레임의 그래픽 강도 및 상기 프로세서의 배터리 전력의 양 중 적어도 하나에 기초하여 상기 프레임에 대한 픽셀 데이터를 출력하는 단계를 더 포함하고,
    전환은 추가로 상기 프레임에 대한 픽셀 데이터를 출력하기 위해 상기 제2 GPU를 선택하는 것에 응답하는, 방법.
  6. 제5항에 있어서, 결정하는 단계는,
    상기 프레임의 그래픽 강도가 임계값보다 더 높다는 결정에 응답하여 상기 제1 GPU로부터 상기 프레임에 대한 픽셀 데이터를 출력하는 단계를 포함하고, 상기 제1 GPU는 상기 제2 GPU보다 고성능 GPU인, 방법.
  7. 제6항에 있어서,
    상기 프레임의 그래픽 강도가 상기 임계값보다 더 낮다는 것에 응답하여 상기 제2 GPU로부터 상기 프레임에 대한 픽셀 데이터를 출력하는 단계를 더 포함하는, 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 상기 제2 프레임의 송신은 상기 제2 GPU와 상기 디스플레이 패널의 내부 타이밍 사이에서 동기화되는, 방법.
  9. 방법으로서,
    프로세서의 제1 그래픽 처리 유닛(GPU)으로부터의 픽셀 데이터를 디스플레이 패널로 출력하는 단계;
    상기 제1 GPU로부터 출력된 픽셀 데이터의 현재 프레임을 리플레이하도록 상기 디스플레이 패널에 시그널링하는 단계;
    상기 디스플레이 패널이 상기 현재 프레임을 리플레이하는 것에 응답하여 상기 제1 GPU로부터의 픽셀 데이터 출력을 디스에이블하는 단계;
    제2 GPU로부터의 픽셀 데이터를 상기 디스플레이 패널에 출력하도록 전환하는 단계; 및
    상기 제2 GPU가 픽셀 데이터를 출력하는 것에 응답하여 상기 제2 GPU로부터 출력된 프레임을 디스플레이하도록 상기 디스플레이 패널에 시그널링하는 단계를 포함하는, 방법.
  10. 제9항에 있어서,
    상기 제1 GPU로부터 픽셀 데이터를 출력하는 것이 디스에이블된 동안, 상기 디스플레이 패널이 정적 이미지를 유지하도록 인에이블되는 것으로 결정하는 단계를 더 포함하는, 방법.
  11. 제9항 또는 제10항에 있어서, 상기 현재 프레임을 리플레이하도록 상기 디스플레이 패널에 시그널링하는 단계는,
    상기 프레임 버퍼에서 상기 제1 GPU로부터 출력된 상기 픽셀 데이터의 현재 프레임을 캡처하도록 상기 디스플레이 패널에 시그널링하는 단계; 및
    상기 캡처된 현재 프레임의 정적 이미지를 유지하도록 상기 디스플레이 패널에 시그널링하는 단계를 포함하는, 방법.
  12. 제9항 내지 제11항 중 어느 한 항에 있어서,
    상기 제1 GPU로부터 픽셀 데이터를 출력하는 것으로부터 상기 제2 GPU로부터의 픽셀 데이터를 상기 디스플레이 패널에 출력하는 것으로 전환하는 동안, 상기 프로세서와 상기 디스플레이 패널 사이의 링크를 전원 차단하는 단계를 더 포함하는, 방법.
  13. 제9항 내지 제12항 중 어느 한 항에 있어서,
    상기 프로세서의 제어 로직에서, 상기 제1 GPU 또는 상기 제2 GPU를 선택하여 프레임의 그래픽 강도 및 상기 프로세서의 배터리 전력 중 적어도 하나에 기초하여 상기 프레임에 대한 픽셀 데이터를 출력하는 단계를 더 포함하는, 방법.
  14. 제13항에 있어서, 결정하는 단계는,
    상기 프레임의 그래픽 강도가 임계값보다 더 높은 것에 응답하여 상기 제1 GPU로부터 상기 프레임에 대한 픽셀 데이터를 출력하는 단계를 포함하고, 상기 제1 GPU는 상기 제2 GPU보다 고성능 GPU인, 방법.
  15. 제14항에 있어서,
    상기 프레임의 그래픽 강도가 상기 임계값보다 더 낮다는 것에 응답하여 상기 제2 GPU로부터 상기 프레임에 대한 픽셀 데이터를 출력하는 단계를 더 포함하는, 방법.
  16. 제9항 내지 제15항 중 어느 한 항에 있어서, 픽셀 데이터를 출력하는 상기 제2 GPU가 상기 디스플레이 패널 출력에 동기화되는, 방법.
  17. 장치로서,
    제1 그래픽 처리 유닛(GPU);
    제2 GPU; 및
    상기 제1 GPU 및 상기 제2 GPU로부터의 픽셀 데이터를 디스플레이 패널에 출력하는 것 사이에서 전환하도록 구성된 제어 로직을 포함하고; 상기
    제1 GPU는, 상기 디바이스가 상기 제1 GPU로부터의 픽셀 데이터를 상기 디스플레이 패널에 출력하는 것으로부터 상기 제2 GPU로부터의 픽셀 데이터를 상기 디스플레이 패널에 출력하는 것으로 전환할 것임을 검출하는 것에 응답하여 상기 제1 GPU로부터 출력되는 픽셀 데이터의 현재 프레임을 리플레이하도록 상기 디스플레이 패널에 시그널링하도록 구성되고,
    상기 제2 GPU는 상기 제2 GPU가 픽셀 데이터를 출력하는 것에 응답하여 상기 제2 GPU로부터 출력되는 픽셀 데이터의 프레임을 디스플레이하도록 상기 디스플레이 패널에 시그널링하도록 구성되는, 디바이스.
  18. 제17항에 있어서, 상기 제1 GPU는,
    상기 디스플레이 패널이 상기 현재 프레임을 캡처 및 리플레이하는 것에 응답하여 픽셀 데이터 출력을 디스에이블하도록 추가로 구성되는, 디바이스.
  19. 제17항 또는 제18항에 있어서, 상기 제어 로직이 상기 제1 GPU로부터의 픽셀 데이터를 상기 디스플레이 패널에 출력하는 것으로부터 상기 제2 GPU로부터의 픽셀 데이터를 상기 디스플레이 패널에 출력하는 것으로 전환할 것이라는 표시를 수신하는 것에 응답하여, 상기 제1 GPU는,
    프레임 버퍼에서 상기 제1 GPU로부터 출력된 현재 프레임을 캡처하도록 상기 디스플레이 패널에 시그널링하고;
    상기 현재 프레임을 리플레이하도록 상기 디스플레이 패널에 시그널링하도록 추가로 구성되는, 디바이스.
  20. 제17항 내지 제19항 중 어느 한 항에 있어서, 상기 제2 GPU가 픽셀 데이터를 출력하는 것에 응답하여, 상기 제2 GPU는,
    인터커넥트를 통해 상기 디바이스로부터의 입력을 수용하기 위해 준비 상태로 구동하도록 상기 디스플레이 패널에 시그널링하고;
    상기 디스플레이 패널에 픽셀 데이터를 출력하도록 추가로 구성되는, 디바이스.
  21. 제17항 내지 제20항 중 어느 한 항에 있어서, 상기 제어 로직은 상기 제1 GPU 또는 상기 제2 GPU를 선택하여 상기 프레임의 그래픽 강도 및 상기 디바이스의 배터리 전력 중 적어도 하나에 기초하여 프레임에 대한 픽셀 데이터를 출력하도록 구성되는, 디바이스.
  22. 제17항 내지 제21항 중 어느 한 항에 있어서, 상기 제어 로직은,
    상기 프레임의 그래픽 강도가 임계값보다 더 높다는 것에 응답하여 상기 제1 GPU를 선택하여 상기 프레임에 대한 픽셀 데이터를 출력하도록 추가로 구성되고, 상기 제1 GPU는 상기 제2 GPU보다 고성능 GPU인, 디바이스.
KR1020237013719A 2020-09-23 2021-09-21 멀티플렉서에서의 글리치리스 gpu 전환 KR20230073302A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/029,750 US11763414B2 (en) 2020-09-23 2020-09-23 Glitchless GPU switching at a multiplexer
US17/029,750 2020-09-23
PCT/IB2021/058616 WO2022064371A1 (en) 2020-09-23 2021-09-21 Glitchless gpu switching at a multiplexer

Publications (1)

Publication Number Publication Date
KR20230073302A true KR20230073302A (ko) 2023-05-25

Family

ID=80740607

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237013719A KR20230073302A (ko) 2020-09-23 2021-09-21 멀티플렉서에서의 글리치리스 gpu 전환

Country Status (6)

Country Link
US (1) US11763414B2 (ko)
EP (1) EP4218002A1 (ko)
JP (1) JP2023541467A (ko)
KR (1) KR20230073302A (ko)
CN (1) CN116420185A (ko)
WO (1) WO2022064371A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102640468B1 (ko) * 2023-12-11 2024-02-27 주식회사 옵티멀 영상 표출시 디스플레이간 이질감이 없도록 전출력 동기화한 심리스 모듈형 멀티 스크린 피씨
KR102640470B1 (ko) * 2023-12-11 2024-02-27 주식회사 옵티멀 전출력 동기화한 화면 오정렬 방지 기능을 갖는 심리스 모듈형 멀티 스크린 피씨

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220189435A1 (en) * 2020-12-15 2022-06-16 Intel Corporation Runtime switchable graphics with a smart multiplexer

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7721118B1 (en) * 2004-09-27 2010-05-18 Nvidia Corporation Optimizing power and performance for multi-processor graphics processing
US8555099B2 (en) * 2006-05-30 2013-10-08 Ati Technologies Ulc Device having multiple graphics subsystems and reduced power consumption mode, software and methods
US7698579B2 (en) * 2006-08-03 2010-04-13 Apple Inc. Multiplexed graphics architecture for graphics power management
US8681159B2 (en) * 2006-08-04 2014-03-25 Apple Inc. Method and apparatus for switching between graphics sources
US20090079746A1 (en) * 2007-09-20 2009-03-26 Apple Inc. Switching between graphics sources to facilitate power management and/or security
US8330762B2 (en) * 2007-12-19 2012-12-11 Advanced Micro Devices, Inc. Efficient video decoding migration for multiple graphics processor systems
US8300056B2 (en) * 2008-10-13 2012-10-30 Apple Inc. Seamless display migration
US8207974B2 (en) * 2008-12-31 2012-06-26 Apple Inc. Switch for graphics processing units
US8508538B2 (en) * 2008-12-31 2013-08-13 Apple Inc. Timing controller capable of switching between graphics processing units
US9542914B2 (en) * 2008-12-31 2017-01-10 Apple Inc. Display system with improved graphics abilities while switching graphics processing units
US8797334B2 (en) * 2010-01-06 2014-08-05 Apple Inc. Facilitating efficient switching between graphics-processing units
US8368702B2 (en) * 2010-01-06 2013-02-05 Apple Inc. Policy-based switching between graphics-processing units
US8730251B2 (en) 2010-06-07 2014-05-20 Apple Inc. Switching video streams for a display without a visible interruption
US9582920B2 (en) * 2010-08-31 2017-02-28 Apple Inc. Systems, methods, and computer-readable media for efficiently processing graphical data
US20120206461A1 (en) * 2011-02-10 2012-08-16 David Wyatt Method and apparatus for controlling a self-refreshing display device coupled to a graphics controller
US9262795B2 (en) * 2012-07-31 2016-02-16 Intel Corporation Hybrid rendering systems and methods
US9760967B2 (en) * 2013-11-13 2017-09-12 Qualcomm Incorporated System and method of dynamically throttling CPU frequency for gaming workloads
US10416949B2 (en) 2015-09-24 2019-09-17 Qualcomm Incorporated Switching a wireless display mode and refreshing a graphics processing unit in an unstable state
US20170262955A1 (en) * 2017-05-26 2017-09-14 Mediatek Inc. Scene-Aware Power Manager For GPU
US10412320B1 (en) * 2018-03-29 2019-09-10 Wipro Limited Method and system for switching display from first video source to second video source
US10742955B2 (en) * 2018-05-21 2020-08-11 Microsoft Technology Licensing, Llc Correlation of video stream frame timestamps based on a system clock
US11373622B2 (en) * 2018-06-26 2022-06-28 Nvidia Corporation Dynamic display switching
US11501733B2 (en) * 2019-08-15 2022-11-15 Intel Corporation Panel self-refresh (PSR) transmission of bulk data
US11410264B2 (en) * 2019-09-27 2022-08-09 Intel Corporation Switchable image source in a hybrid graphics systems

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102640468B1 (ko) * 2023-12-11 2024-02-27 주식회사 옵티멀 영상 표출시 디스플레이간 이질감이 없도록 전출력 동기화한 심리스 모듈형 멀티 스크린 피씨
KR102640470B1 (ko) * 2023-12-11 2024-02-27 주식회사 옵티멀 전출력 동기화한 화면 오정렬 방지 기능을 갖는 심리스 모듈형 멀티 스크린 피씨

Also Published As

Publication number Publication date
CN116420185A (zh) 2023-07-11
US20220092722A1 (en) 2022-03-24
US11763414B2 (en) 2023-09-19
JP2023541467A (ja) 2023-10-02
WO2022064371A1 (en) 2022-03-31
EP4218002A1 (en) 2023-08-02

Similar Documents

Publication Publication Date Title
KR20230073302A (ko) 멀티플렉서에서의 글리치리스 gpu 전환
TWI552135B (zh) 用以控制自我刷新顯示功能之技術(一)
TWI452514B (zh) 電腦系統及組態該電腦系統之方法
JP6072358B2 (ja) アイドル表示ケースにおけるメモリの省電力化
US20170148422A1 (en) Refresh control method and apparatus of display device
KR101610271B1 (ko) 디스플레이 출력 스터터 방법 및 시스템
RU2011113545A (ru) Технологии для управления использованием энергии питания
TWI507992B (zh) 同步化媒體處理技術
TW201202915A (en) Hardware automatic performance state transitions in system on processor sleep and wake events
US20210407467A1 (en) Front buffer rendering for variable refresh rate display
JP2022169633A (ja) 完全フレーム通知および部分フレーム通知を用いた非同期フレーム更新の拡張
TWI529658B (zh) 一種用於具有低圖形引擎利用率之資料處理裝置上的低功率應用執行的方法、非暫存媒體及資料處理裝置
US9269121B2 (en) Techniques for managing system power using deferred graphics rendering
US11861781B2 (en) Graphics processing units with power management and latency reduction
KR102617850B1 (ko) 가변 레이트 리프레시 디스플레이를 위한 프레임 재생
KR101441684B1 (ko) 동영상 플레이 모드를 구비한 컴퓨터 및 이의 동영상플레이시 시스템의 모드 설정방법
JP6291992B2 (ja) スマート端末、消費電力の状態の制御方法、および、消費電力状態制御プログラム
US7395441B2 (en) Method and apparatus for specifying factors that impede power savings of a processor
US20240114150A1 (en) Synchronized low-power video playback
US20230267871A1 (en) Adaptively configuring image data transfer time
CN116420184A (zh) 通过片上高速缓存刷新显示器
KR20230022893A (ko) 디스플레이 사이클 제어 시스템