KR20090040410A - 다중 그래픽 하위시스템과 전력 소비 절감 모드를 가진 장치, 소프트웨어 및 방법 - Google Patents

다중 그래픽 하위시스템과 전력 소비 절감 모드를 가진 장치, 소프트웨어 및 방법 Download PDF

Info

Publication number
KR20090040410A
KR20090040410A KR1020087032024A KR20087032024A KR20090040410A KR 20090040410 A KR20090040410 A KR 20090040410A KR 1020087032024 A KR1020087032024 A KR 1020087032024A KR 20087032024 A KR20087032024 A KR 20087032024A KR 20090040410 A KR20090040410 A KR 20090040410A
Authority
KR
South Korea
Prior art keywords
graphics
graphics subsystem
subsystem
power consumption
display
Prior art date
Application number
KR1020087032024A
Other languages
English (en)
Other versions
KR101456723B1 (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 에이티아이 테크놀로지스 유엘씨
Publication of KR20090040410A publication Critical patent/KR20090040410A/ko
Application granted granted Critical
Publication of KR101456723B1 publication Critical patent/KR101456723B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • 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
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3218Monitoring of peripheral devices of display devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • 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
    • 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/06Use of more than one graphics processor to process data before displaying to one or more screens

Landscapes

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

Abstract

다수의 연산 장치는 이제 2 이상의 그래픽 하위시스템을 포함할 수 있다. 이러한 다중 그래픽 하위시스템은 서로 다른 성능을 가질 수 있으며, 예컨대 하나의 하위시스템이 다른 것들보다 더 많은 평균 전력을 소모하면서 서로 다른 양의 전력을 소모할 수 있다. 고전력을 소모하는 그래픽 하위시스템이 장치에 접속될 수 있으며, 저전력을 소모하는 그래픽 하위시스템 대신에 혹은 그것에 부가하여 사용되어 더 높은 성능이나 부가적인 기능들을 발휘할 수 있지만, 전체적인 전력 소모는 증가하게 된다. 고전력을 소모하는 그래픽 하위시스템의 사용으로부터 저전력을 소모하는 그래픽 하위시스템으로 전환함으로써, 고전력을 소모하는 그래픽 하위시스템을 저전력 소비 모드로 해 놓은 동안 전체적인 전력 소모는 감소한다.

Description

다중 그래픽 하위시스템과 전력 소비 절감 모드를 가진 장치, 소프트웨어 및 방법{DEVICE HAVING MULTIPLE GRAPHICS SUBSYSTEMS AND REDUCED POWER CONSUMPTION MODE, SOFTWARE AND METHODS}
본 출원은 여기에 그 내용이 전부 참고로 편입된 2006년 5월 30일자의 미국특허출원 제11/421,005호에 대한 우선권을 주장한다.
본 발명은 전자 장치에 있어서 전력 소모를 절감하는 것에 일반적으로 관련되며, 더욱 상세하게는 다중 그래픽 프로세서를 가진 장치에 있어서 전력 소모를 줄이기 위한 방법 및 그와 연관된 장치와 소프트웨어에 관련된다.
종래의 연산 장치와 같은 수많은 전자 장치들은 이제 2차원 및 3차원 그래픽을 렌더링(Rendering)하고 동영상을 디코딩(Decoding) 및 인코딩(Encoding)하는 것 등을 할 수 있는 그래픽 하위시스템(Subsystem)들을 포함한다. 이러한 기능들과 필요한 처리 속도를 제공하기 위하여, 현대의 그래픽 하위시스템은 계속해서 증가하는 수의 트랜지스터를 포함한다. 트랜지스터 수의 증가로 인해 그래픽 하위시스템에 의한 대응하는 전력 소모가 높아진 것은 놀라운 일이 아니다.
결과적으로, 가장 빠르고 기능이 풍부한 그래픽 하위시스템은 증가하는 전력 수요를 만족시킬 수 있는 장치용으로 대부분 확보되어 왔다. 랩탑, PDA, 비디오 및 오디오 플레이어, 휴대전화 등과 같은 휴대용 전산 장치들은 보통 기능적으로는 제한되어 있지만 전기적으로는 효율적인(즉, 저전력) 구성요소를 탑재해 왔다.
통상적으로 이러한 그래픽 하위시스템은 프로세서 상호 접속 회로(보통 "칩셋"이라 부름)와 같은 다른 연산 장치에 집적된다.
최근에는, 휴대용 장치들에 대한 고정형 컴퓨터의 그래픽 기능 및 성능과 경쟁하는 그래픽 기능 및 성능을 제공하려는 경향이 있었다. 통상적으로, 이는 휴대용 장치에 선택적인 외장형의 고전력 그래픽 하위시스템을 부가할 수 있도록 함으로써 이루어졌다. 예컨대, PCI 익스프레스(PCI Express) 표준은 랩탑 연산 장치에 대한 외장형 구성요소들과 같이, 그래픽 하위시스템을 포함하여 PCI 익스프레스에 따르는 그래픽 카드의 상호 접속을 고려하고 있다.
동시에, 무선형 구성요소, 대형 디스플레이 등과 같은 다른 연산 기능에서의 발전은 휴대용 장치와 노트북 컴퓨터에 전력을 공급하기 위하여 더 긴 배터리 수명을 필요로 하게 되었다.
배터리 수명을 연장하는 한가지 방법은 소모되는 전력을 일시적으로 줄이는 것이다. 어떤 장치가 소모하는 전력의 총량은 장치 구성요소들의 개별적인 전력 수요에 의해 결정된다. 예를 들면, 중앙처리장치(CPU), 하드디스크 드라이브(HDD) 및 그래픽 하위시스템은 모두 개별적인 전력 수요를 가지고 있다.
따라서, 전력 절감 기술은 클록 게이팅(Clock Gating), 전압 쓰로틀링(Voltage Throttling) 및 리소스 하이버네이션(Resource Hibernation)을 포함한다. 클록 게이팅은 트랜지스터와 커패시터의 스위칭 동작을 감소시킴으로써 소모 전력을 절감한다. 이것은 클록 신호가 프로세서의 아이들(Idle) 회로에 도달할 것인지 여부와 어떤 속도로 도달하는지를 제어할 수 있도록 함으로써 구현된다.
전압 쓰로틀링은 전자 장치의 프로세서에 대한 전원 전압을 낮춤으로써 전체적인 전력 소모를 절감한다. 전원 전압의 감소는 보통 클록 주파수의 감소와 병행하여 이루어진다.
리소스 하이버네이션은 비활성화 시간 동안 전자적 구성요소 중 특정 구성요소들의 전원을 끄거나, "슬립 모드(Sleep Mode)"로 하거나, 그렇지않으면 저전력 소비 모드로 할 수 있도록 한다. ACPI(Advanced Configuration and Power Interface) 사양은 예컨대 소모되는 전체적인 전력을 절감하기 위하여 결합될 수 있는 서로 다른 수많은 장치 전력 상태를 정의하고 있다.
고성능을 실현하는 것과 배터리 수명을 절약하는 것 사이의 균형을 최적화하는 것은 오늘날의 과제로까지 이어지고 있다. 따라서, 전자 장치와 컴퓨터의 그래픽 처리와 연관된 전력 소모를 낮추는 방법 및 장치에 대한 필요성이 남아있다.
수많은 연산 장치는 이제 2 이상의 그래픽 하위시스템을 포함할 수 있다. 다중 그래픽 하위시스템은 서로 다른 기능을 가질 수 있으며, 예컨대 어떤 하위시스템이 다른 것들보다 더 많은 평균 전력을 소모하면서 상이한 전력량을 소모할 수 있다. 저전력을 소모하는 그래픽 하위시스템 대신에, 혹은 그것에 부가하여, 고전력을 소모하는 그래픽 하위시스템이 장치에 결합되어 사용될 수 있으며, 이로 인해 성능이 높아지거나 기능이 부가되지만 전체적인 전력 소모는 늘어나게 된다. 고전력을 소모하는 그래픽 하위시스템을 저전력 소모 모드로 하는 동안, 고전력을 소모하는 그래픽 하위시스템의 사용으로부터 저전력을 소모하는 그래픽 하위시스템으로 전환함으로써, 전체적인 전력 소모가 줄어든다.
본 발명의 일 측면에 따르면, 그래픽을 렌더링하도록 동작 가능한 제 1 그래픽 하위시스템; 그래픽을 렌더링하도록 동작 가능한 제 2 그래픽 하윗시스템; 상기 제 1 그래픽 하위시스템과 상기 제 2 그래픽 하위시스템 양자와 통신하는 디스플레이; 및 프로세서를 포함하는 전자 장치가 제공된다. 상기 프로세서는, 프로세서로 실행 가능한 명령을 실행하여, 상기 프로세서로 하여금 상기 전자 장치를 상기 제 2 그래픽 하위시스템이 상기 디스플레이 상에 그래픽을 렌더링하는 제 1 모드로부터 상기 제 1 그래픽 하위시스템이 상기 디스플레이 상에 그래픽을 렌더링하는 제 2 모드로 전환하도록 하며, 상기 제 2 그래픽 하위시스템은 저전력 소비 모드로 되어 있다.
일 실시형태에서, 상기 프로세서로 실행 가능한 명령은 추가적으로, 바람직한 고전력 소비 조건을 감지한 것에 응답하여 상기 전자 장치가 상기 제 2 모드로부터 상기 제 1 모드로 전환하도록 한다.
다른 실시형태에서, 상기 바람직한 고전력 소비 조건을 감지하는 것은 상호 접속된 주변 장치가 차단되었음을 감지한 것을 포함한다.
또 다른 실시형태에서, 상기 주변 장치는 적어도 하나의 외부 광, USB 장치, 키보드, 마우스 및 외부 미디어 드라이브, 프린터, 스캐너를 포함한다.
추가적인 실시형태에서, 상기 바람직한 고전력 소비 조건을 감지하는 것은 소정의 임계값보다 큰 가용 전기 에너지를 감지하는 것을 포함한다.
또 다른 실시형태에서, 상기 바람직한 고전력 소비 조건을 감지하는 것은 AC 전력 배출구(Outlet)에 대한 상기 전자 장치의 상호 접속을 감지하는 것을 포함한다.
또 다른 추가적인 실시형태에서, 상기 바람직한 고전력 소비 조건을 감지하는 것은 주변 장치의 비활성화를 감지한 것을 포함한다.
추가적인 실시형태에서, 상기 주변 장치는 모뎀이나 네트워크 인터페이스 중 하나를 포함한다.
추가적인 실시형태에서, 상기 바람직한 고전력 소비 조건을 감지하는 것은 전자 장치의 네트워크 인터페이스에 의해 사용되는 대역폭이 소정의 임계값 아래로 떨어지는 것을 감지한 것을 포함한다.
또 다른 추가적인 실시형태에서, 상기 바람직한 고전력 소비 조건을 감지하는 것은 사용자가 전자 장치에서 로그인하였다고 결정하는 것을 포함한다.
추가적인 실시형태에서, 상기 바람직한 고전력 소비 조건을 감지하는 것은 그래픽 집중적인 소프트웨어 어플리케이션이 런칭(Launching)되었다고 결정하는 것을 포함한다.
또 다른 추가적인 실시형태에서, 상기 바람직한 고전력 소비 조건을 감지하는 것은 그래픽 집중적인 모드로 소프트웨어 어플리케이션이 전환하였다고 결정하는 것을 포함한다.
추가적인 실시형태에서, 상기 바람직한 고전력 소비 조건을 감지하는 것은 임계값보다 큰 대역폭을 갖는 비디오 스트림이 디코딩되고 있다고 결정하는 것을 포함한다.
또 다른 실시형태에서, 상기 바람직한 고전력 소비 조건을 감지하는 것은 그래픽 이미지가 노출된다고 결정하는 것을 포함한다.
또 다른 실시형태에서, 상기 바람직한 고전력 소비 조건을 감지하는 것은 문자 기반의 인터페이스로부터 그래픽적인 운영 체제 인터페이스로의 전환을 감지하는 것을 포함한다.
추가적인 실시형태에서, 상기 바람직한 고전력 소비 조건을 감지하는 것은 상기 전자 장치에 대한 디스플레이로서 모니터가 상호 접속되었음을 감지하는 것을 포함한다.
추가적인 실시형태에서, 상기 바람직한 고전력 소비 조건을 감지하는 것은 디스플레이의 해상도가 임계값보다 커졌음을 감지하는 것을 포함한다.
또 다른 추가적인 실시형태에서, 상기 바람직한 고전력 소비 조건을 감지하는 것은 제 2 그래픽 하위시스템이 전자 장치에 삽입되었음을 감지하는 것을 포함한다.
추가적인 실시형태에서, 상기 바람직한 고전력 소비 조건을 감지하는 것은 전자 장치에 대한 물리적인 케이스가 오픈되었음을 감지하는 것을 포함한다.
또 다른 추가적인 실시형태에서, 상기 프로세서로 실행 가능한 명령은 또한, 상기 전자 장치로 하여금 바람직한 고전력 모드를 의미하는 엔드 유저(End-user)의 상호 작용을 감지한 것에 응답하여 제 2 모드로부터 제 1 모드로 전환하게 한다.
또 다른 추가적인 실시형태에서, 상기 프로세서로 실행 가능한 명령은 또한, 상기 전자 장치로 하여금 상기 제 1 그래픽 하위시스템을 중단하는 엔드 유저에 응답하여 제 2 모드로부터 제 1 모드로 전환하게 한다.
또 다른 추가적인 실시형태에서, 상기 프로세서로 실행 가능한 명령은 또한, 상기 전자 장치로 하여금 상기 제 1 그래픽 하위시스템의 고장에 응답하여 제 2 모드로부터 제 1 모드로 전환하게 한다.
또 다른 추가적인 실시형태에서, 상기 프로세서로 실행 가능한 명령은 또한, 상기 전자 장치로 하여금 상기 제 1 그래픽 하위시스템에 대한 소프트웨어 드라이버의 제거에 응답하여 제 2 모드로부터 제 1 모드로 전환하게 한다.
추가적인 실시형태에서, 상기 프로세서로 실행 가능한 명령은, 바람직한 저전력 소비 조건을 감지한 것에 응답하여 상기 전자 장치를 제 2 모드로 한다.
추가적인 실시형태에서, 상기 바람직한 저전력 소비 조건을 감지하는 것은 주변 장치가 상호 접속되었음을 감지하는 것을 포함한다. 이 주변 장치는 외부 광, USB 장치, 키보드, 마우스 및 외부 미디어 드라이브, 프린터, 스캐너 중 적어도 하나를 포함할 수 있다.
추가적인 실시형태에서, 상기 바람직한 저전력 소비 조건을 감지하는 것은 상호 접속된 모니터의 밝기가 임계값보다 커졌음을 감지하는 것을 포함한다.
또 다른 추가적인 실시형태에서, 상기 바람직한 저전력 소비 조건을 감지하는 것은 소정의 임계값 아래의 가용 전기 에너지를 감지하는 것을 포함한다.
추가적인 실시형태에서, 상기 바람직한 저전력 소비 조건을 감지하는 것은 장치에 대한 DC 전원의 저전력 조건을 포함한다.
추가적인 실시형태에서, 상기 바람직한 저전력 소비 조건을 감지하는 것은 전자 장치의 적어도 일부의 온도를 감지하는 것을 포함한다.
추가적인 실시형태에서, 상기 바람직한 저전력 소비 조건을 감지하는 것은 제 2 그래픽 하위시스템의 온도를 감지하는 것을 포함한다.
추가적인 실시형태에서, 상기 바람직한 저전력 소비 조건을 감지하는 것은 AC 전력 배출구로부터 전자 장치의 차단을 감지하는 것을 포함한다.
추가적인 실시형태에서, 상기 바람직한 저전력 소비 조건을 감지하는 것은 소정의 기간 동안 전자 장치의 실질적인 비활성화를 감지하는 것을 포함한다.
또 다른 추가적인 실시형태에서, 상기 바람직한 저전력 소비 조건을 감지하는 것은 주변 장치의 활성화를 감지하는 것을 포함한다. 이 주변 장치는 예컨대 모뎀이나 네트워크 인터페이스 중 하나를 포함할 수 있다.
추가적인 실시형태에서, 상기 바람직한 저전력 소비 조건을 감지하는 것은 전자 장치의 네트워크 인터페이스에 의해 사용되는 대역폭이 소정의 임계값 아래로 떨어지는 것을 감지하는 것을 포함한다.
추가적인 실시형태에서, 상기 바람직한 저전력 소비 조건을 감지하는 것은 모든 사용자가 전자 장치에서 로그아웃 하였음을 결정하는 것을 포함한다.
추가적인 실시형태에서, 상기 바람직한 고전력 소비 조건을 감지하는 것은 그래픽 집중적인 소프트웨어 어플리케이션이 종료되었다고 결정하는 것을 포함한다.
추가적인 실시형태에서, 상기 바람직한 고전력 소비 조건을 감지하는 것은 그래픽 집중적인 소프트웨어 어플리케이션이 종료되었다고 결정하는 것을 포함한다.
추가적인 실시형태에서, 상기 바람직한 저전력 소비 조건을 감지하는 것은 전자 장치가 도킹 스테이션으로부터 분리되었음을 결정하는 것을 포함한다.
추가적인 실시형태에서, 상기 바람직한 저전력 소비 조건을 감지하는 것은 그래픽 이미지가 더 이상 노출되지 않음을 결정하는 것을 포함한다.
추가적인 실시형태에서, 상기 바람직한 저전력 소비 조건을 감지하는 것은 그래픽적인 운영 체제 인터페이스로부터 문자 기반의 인터페이스로의 전환을 감지하는 것을 포함한다.
추가적인 실시형태에서, 상기 바람직한 저전력 소비 조건을 감지하는 것은 모니터가 전자 장치로부터 분리되었음을 감지하는 것을 포함한다.
추가적인 실시형태에서, 상기 바람직한 저전력 소비 조건을 감지하는 것은 디스플레이의 해상도가 임계값보다 감소하였음을 감지하는 것을 포함한다.
추가적인 실시형태에서, 상기 바람직한 저전력 소비 조건을 감지하는 것은 제 2 그래픽 하위시스템이 전자 장치로부터 제거되었음을 감지하는 것을 포함한다.
또 다른 추가적인 실시형태에서, 상기 바람직한 저전력 소비 조건을 감지하는 것은 전자 장치용의 물리적인 케이스가 닫혔음을 감지하는 것을 포함한다.
또 다른 추가적인 실시형태에서, 프로세서로 실행 가능한 명령은 바람직한 저전력 모드를 의미하는 엔드 유저의 상호 작용을 감지한 것에 응답하여 전자 장치를 제 2 모드로 한다.
또 다른 추가적인 실시형태에서, 프로세서로 실행 가능한 명령은 제 2 그래픽 하위시스템을 중단하는 엔드 유저에 응답하여 전자 장치를 제 2 모드로 전환한다.
또 다른 추가적인 실시형태에서, 프로세서로 실행 가능한 명령은 제 2 그래픽 하위시스템의 고장에 응답하여 전자 장치를 제 2 모드로 한다.
추가적인 실시형태에서, 프로세서로 실행 가능한 명령은 제 2 그래픽 하위시스템에 대한 소프트웨어 드라이버의 제거에 응답하여 전자 장치를 제 2 모드로 한다.
본 발명의 다른 측면에 따르면, 제 1 및 제 2 그래픽 하위시스템을 갖는 연산 장치를 동작시키는 방법이 제공된다. 이 방법은, 고전력 소비 모드에서, 상기 제 2 그래픽 하위시스템을 이용하여 상호 접속된 디스플레이 상에 디스플레이용 그래픽을 렌더링하는 단계; 및 상기 연산 장치의 바람직한 저전력 소비 모드를 검출하고, 상기 제 2 그래픽 하위시스템을 저전력으로 하고, 상기 바람직한 저전력 모드를 검출한 것에 응답하여 상기 제 2 그래픽 하위시스템을 저전력 소비 모드로 하고, 상기 제 2 그래픽 하위시스템이 상기 저전력 소비 모드인 동안에 상기 상호 접속된 디스플레이 상에 그래픽을 렌더링하도록 상기 제 1 그래픽 하위시스템을 구성하는 소프트웨어를 실행하는 단계를 포함한다.
본 발명의 또 다른 측면에 따르면, 제 1 및 제 2 그래픽 하위시스템을 갖는 연산 장치를 동작시키는 방법이 제공된다. 이 방법은, 저전력 소비 모드에서, 상기 제 1 그래픽 하위시스템을 이용하여 상호 접속된 디스플레이 상에 디스플레이용 그래픽을 렌더링하는 단계; 및 상기 연산 장치의 바람직한 고전력 소비 모드를 검출하고, 상기 바람직한 고전력 소비 모드를 검출한 것에 응답하여 상기 제 2 그래픽 하위시스템을 고전력 소비 모드로 하고, 상기 상호 접속된 디스플레이 상에 그래픽을 렌더링하도록 상기 제 2 그래픽 하위시스템을 구성하는 소프트웨어를 실행하는 단계를 포함한다.
본 발명의 또 다른 실시형태에 따르면, DC 전력 공급원, 디스플레이, 중앙 프로세서, 제 1 그래픽 하위시스템 및 메모리를 마더보드 상에 포함하는 하우징(Housing)을 포함하는 휴대용 연산 장치가 제공된다. 상기 하우징 내에는 주변 확장 슬롯이 형성되어 있다. 제 2 그래픽 하위시스템은 상기 주변 확장 슬롯에 있어서 주변 확장 카드 상에 존재한다. 상기 메모리는, 상기 주변 확장 카드 상의 상기 제 2 그래픽 하위시스템을 상기 주변 확장 카드 상의 상기 그래픽 하위시스템이 그래픽을 렌더링하는 고전력 소비 모드로부터 저전력 소비 모드로 전환하고, 바람직한 저전력 모드를 감지한 것에 응답하여 상기 제 1 그래픽 하위시스템을 이용하여 그래픽을 렌더링하도록 실행되는 전력 관리 소프트웨어를 저장하고 있다.
본 발명의 다른 측면과 특징들은 첨부도면과 함께 본 발명의 구체적인 실시형태에 관한 다음 설명을 살펴봄으로써 당업자에게 명확해질 것이다.
도면은 본 발명의 실시형태들을 단지 예로서만 설명한다.
도 1은 본 발명의 예시적 실시형태인 연산 장치의 간략화된 도식적인 블록 도.
도 2는 본 발명의 예시적 실시형태인 연산 장치의 간략화된 도식적인 블록도.
도 3은 도 2의 연산 장치에 있어서 예시적인 소프트웨어의 간략화된 기능 블록도.
도 4는 도 2의 연산 장치의 부분들에 대한 추가적인 간략화된 도식적인 블록도.
도 5 및 도 6은 본 발명의 예시적 실시형태인 도 2의 장치에 있어서 소프트웨어에 의해 수행되는 단계들을 자세히 나타낸 순서도.
도 7은 본 발명의 추가적인 예시적 실시형태인 연산 장치의 부분들에 대한 추가적이고 부분적인 간략화된 도시적인 블록도.
도 8은 본 발명의 예시적 실시형태인 도 6의 장치에 있어서 소프트웨어에 의해 수행되는 단계들을 자세히 나타낸 순서도.
도 9a 및 도 9b는 도 7의 장치의 동작을 설명하는 간략화된 블록도.
도 10은 본 발명의 추가적인 예시적 실시형태인 연산 장치의 부분들에 대한 추가적이고 부분적인 간략화된 도식적인 블록도.
도 1은 2개의 그래픽 하위시스템(30 및 40)과 디스플레이(26)를 포함하는 전자 장치의 간략화된 하이 레벨의 블록도이다. 명백해지는 바와 같이, 각각의 그래픽 하위시스템(30, 40)은 하나 이상의 2차원 그래픽, 3차원 그래픽, 디코딩된 동영 상 등의 형태로 컴퓨터 그래픽을 렌더링할 수 있는 특성화된 전자 회로를 포함하고 있다.
하나의 그래픽 하위시스템(40)은 다른 그래픽 하위시스템(30)보다 더 높은 평균 전력을 소모한다. 일반적으로, 더 높은 평균 전력을 소모하는 그래픽 하위시스템(40)은 통상적으로 그래픽 하위시스템(30)보다 그래픽 렌더링 성능이 더 뛰어나다. 예컨대, 그래픽 하위시스템(40)은 더 낮은 평균 전력을 소모하는 그래픽 하위시스템보다 더 높은 프레임 레이트(Frame Rate)로 2차원 혹은 3차원 그래픽을 렌더링할 수 있다. 마찬가지로, 그래픽 하위시스템(30, 40)이 동일한 성능을 가져야 할 필요는 없다. 그래픽 하위시스템(40)은 통상적으로 그래픽 하위시스템(30)보다 더 많은 기능 블록(Functional Block)을 포함한다.
그래픽 하위시스템(30 및 40) 양자는 렌더링된 그래픽이 디스플레이되는 동일 디스플레이(26)에 물리적으로 혹은 논리적으로 결합되어 있다. 본 발명의 예시적인 실시형태에서, 장치(10)는 디스플레이(26)에 대한 그래픽이 고전력 소모 그래픽 하위시스템(40)에 의해 렌더링되는 고전력 소비 모드로부터 디스플레이(26)에 대한 그래픽이 저전력 소모 그래픽 하위시스템(30)에 의해 렌더링되고 그래픽 하위시스템(40)이 부분적으로, 완전하게 혹은 거의 디스에이블(Disable)되는 저전력 모드로 전환할 수 있다.
편리하게는, 고전력 모드로부터 저전력 모드로의 전환은 장치(10)가 파워 사이클(즉, 전원을 끄고 재시작하는 것)을 거치지 않은 상태에서 동적으로 수행되며, 소프트웨어의 제어하에서 프로세서(12)에 의해 이루어질 수 있다. 여기서, 소프트 웨어는 펌웨어(Firmware), 장치 드라이버, DIOS 등을 포함할 수 있다.
본 발명은 2개의 그래픽 하위시스템을 포함하는 사실상 모든 전자 장치의 일부를 형성할 수 있다. 그러한 것으로서, 장치(10)는 데스크탑 연산 장치, 휴대용 연산 장치(랩탑 컴퓨터, PDA, 이동전화기, 비디오 혹은 오디오 플레이어, 미디어센터(Media Center) 등을 포함함)의 형태를 취할 수 있다.
후술하는 예시적인 실시형태에서, 본 발명의 실시형태는 이동식(랩탑) 연산 장치의 일부를 형성하는 것으로 개시되어 있다.
특히, 도 2는 본 발명의 예시적인 실시형태인 특정한 이동식 연산 장치(10)의 간략화된 블록도이다. 도 1의 표사된 장치(10)는 종래의 인텔 X86 컴퓨터 아키텍쳐(Architecture)에 기반한 연산 장치이다. 그러나, 당업자라면 PowerPC 아키텍쳐, AMD X86 혹은 기타 알려진 아키텍쳐와 같은 다른 아키텍쳐들을 포함하는 연산 장치에서 구현될 수 있다는 점을 쉽게 이해할 것이다.
도시한 바와 같이, 예제 장치(10)는 중앙처리장치(CPU)로서 형성된 프로세서(12), 호스트 메모리(14) 및 집적된 인터페이스 회로(16 및 18)(노스 브릿지(North Bridge, 16) 및 사우스 브릿지(South Bridge, 18)라고도 칭함)를 통해 전부가 상호 접속되어 있는 주변 장치들을 포함한다. 이들 전부는 마더보드 상에 형성될 수 있다.
인터페이스 회로(16)는 고속 인터페이스이고, CPU(12), 메모리(14) 및 주변 장치들을 고속 확장 버스(20)에 의하여 상호 접속한다. 인터페이스 회로(16)는 CPU(12)를 저속 인터페이스 회로(18)에 추가적으로 상호 접속한다. 하나 이상의 주 변 확장 슬롯(22)은 고속 확장 버스(20)에 의하여 인터페이스 회로(16)에 접속될 수 있다. 고속 확장 버스(20)의 예는 초당 기가바이트 범위의 대역폭을 가지고 이 대역폭에서 데이터 전송 읽기와 쓰기를 가능하게 하는 PCI 익스프레스(PCIe) 버스이다.
인터페이스 회로(16)는 집적된 그래픽 프로세서(Integrated Graphics Processor, IGP)로서 구현된 제 1 그래픽 하위시스템(30)을 추가적으로 포함하며, 이는 모니터, LCD 패널, TV 등의 형태로 될 수 있는 디스플레이(26) 상에서의 디스플레이용 비디오 신호를 생성하기에 적합하다.
추가적인 제 2 그래픽 하위시스템(40)은 장치(10)의 일부를 형성한다. 예시적인 실시형태에서, 그래픽 하위시스템(40)은 주변 확장 카드(46) 상에 형성된 외부 그래픽 프로세서로서 구현된다. 주변 확장 카드(46)는 확장 버스(20) 상의 확장 슬롯(22)에 의하여 인터페이스 회로(16)에도 접속된다. 명백해지는 바와 같이, 제 2 그래픽 하위시스템(40)을 제공함으로써, 장치(10)는 그렇지 않으면 장치(10)에 존재하지 않을 확장된 그래픽 성능을 제공할 수 있다. 제 2 그래픽 하위시스템에 의하여 프레임 버퍼로서 사용하기 위해, 그래픽 메모리(50)는 주변 확장 카드(46) 상에 포함될 수 있다. 마찬가지로, 그래픽 하위시스템(40)과 통신하는 전력 제어기(60)는 확장 카드(46) 상에 선택적으로 형성될 수 있으며, 그래픽 하위시스템(40)의 동작을 제어할 수 있다. 특히, 전력 제어기(60)는 그래픽 하위시스템(40)의 구성요소에 의해 사용되는 메모리 및 픽셀(Pixel) 클록과 같은 클록을 쓰로틀하거나, 그래픽 하위시스템(40)의 기능 블록을 디스에이블(혹은 차단)하거나, 그래픽 하위시스템(40)의 부분들에 인가되는 전압을 낮추거나, 그렇지 않으면 하위시스템(40)을 공지의 방법으로 전력 소모가 절감되는 하나 이상의 모드로 만들 수 있다.
다른 선택적인 전력 제어기(70)는 제 1 그래픽 하위시스템(30)과 통신할 수 있으며, 그래픽 하위시스템(30)의 구성요소에 의해 사용되는 메모리 및 픽셀 클록과 같은 클록을 쓰로틀하거나, 그래픽 하위시스템(30)의 기능 블록을 디스에이블(혹은 차단)하거나, 그래픽 하위시스템(30)의 부분들에 인가되는 전압을 낮추거나, 그렇지 않으면 하위시스템(30)을 공지의 방법으로 전력 소모가 절감되는 하나 이상의 모드로 만들 수 있다.
예시한 그래픽 하위시스템(40)은 주변 확장 카드(46) 상에 형성되어 있으나, 당업자라면 그래픽 하위시스템(40)이 장치(10)의 마더보드나 다른 곳에 간단히 쉽게 형성될 수 있다는 점을 바로 이해할 것이다.
그래픽 하위시스템(33 및 40)은 동일한 납품업체/제조업체나 상이한 납품업체/제조업체에서 유래한 것일 수 있다. 인터페이스 회로(18)는 저속 주변 장치들을 상호 접속하고, 광학 디스크 드라이브(28) 등, 집적된 IDE/SATA 포트(미도시)에 의해 하드 드라이브의 형태의 영구 저장 메모리(34), 프린터 및 병렬 혹은 USB 포트(미도시)에 의해 다른 주변 장치들을 상호 접속한다. 또 다른 주변 장치들은 예컨대 공지의 PCI 혹은 ISA 표준에 따르는 저속 확장 버스(24)에 의하여 상호 접속될 수 있다. 사운드 카드 및 네트워크 인터페이스(미도시)와 같은 다른 구성요소들은 저속 확장 버스(24)나 다른 것들에 의하여 인터페이스 회로(18)에 마찬가지로 상호 접속될 수 있다.
언급한 바와 같이, 장치(10)는 랩탑이나 소형 연산 장치의 형태로 휴대용 연산 장치로서 간편하게 형성될 수 있다. 그러한 것으로서, 단일의 하우징(Housing)은 DC 전원(38), 디스플레이(26) 및 상술한 마더보드와 구성요소들을 포함할 수 있다. 제 2 그래픽 하위시스템(40)은 해당 연산 장치의 나머지를 수용하는 단일 하우징에 부가될 수 있으며, 혹은 장치(10)가 물리적으로 상호 접속될 때 장치(10)의 일부를 형성하기만 하는 도킹 스테이션(Docking Station)의 일부를 형성할 수 있다.
장치(10)는 적어도 2개의 전력 소비 모드, 즉 고전력 소비 모드와 저전력 소비 모드로 동작할 수 있다. 도시한 실시형태인 장치(10)에서, 고전력 모드는 장치(10)가 AC(메인) 서플라이(Supply, 공급원)에 접속된 전원(36)에 의해 전력을 공급받을 때로 가정할 수 있으며, 저전력 소비 모드는 장치(10)가 하나 이상의 배터리, 연료 전지 등을 이용하여 DC 전원(38)에 의해 전력을 공급받을 때로 가정할 수 있다. 선택적으로는, 전력 소비 모드는 예컨대 사용자 취향, 실행되는 소프트웨어 어플리케이션의 종류, 배터리 레벨 등에 기초하여 사용자에 의해 선택되거나, 소프트웨어로 제어되거나, 혹은 달리 선택될 수 있다. 저전력 및 고전력 소비 모드에 대한 예시적인 이용 시나리오가 아래에서 기술된다.
묘사된 실시형태에서, 장치(10)는 도 3에 도시한 바와 같이 시스템 메모리 내에 저장된 소프트웨어(200)를 실행한다. 시스템 메모리는 영구 저장 메모리(34)와 호스트 메모리(14)(도 2)를 포함하며, 추가적으로는 소프트웨어(200)를 저장 및 실행하기 위해 장치(10)에 의해 사용되는 랜덤 액세스 메모리, 읽기전용 메모리 및 디스크 저장 메모리의 적당한 조합을 더 포함할 수 있다. 예시적인 소프트웨어(200)는 예컨대 읽기전용 메모리에 저장되거나, 디스크 드라이브(28)(도 1)와 같은 외부의 주변 장치로부터 혹은 컴퓨터 네트워크(미도시)를 거쳐서 로딩될 수 있다.
도시한 실시형태에서, 소프트웨어(200)는 Microsoft Windows XP 플랫폼 기반이다. 그러나, 소프트웨어 운영 장치(10)가 본 발명의 실시형태에서 예시한 방식에 있어서 이러한 플랫폼에 반드시 기반해야 하는 것은 아니다. 대신에, 예시적인 소프트웨어는 Linux, MacOSX, Microsoft Windows Vista 혹은 기타 운영 체제와 같은 다른 공지의 컴퓨터 운영 체제와 결합하여 동작할 수 있다. 다양한 운영 체제에서, 소프트웨어 아키텍쳐는 도 2에 도시한 것과 실질적으로 달라질 수 있다.
도 3에 도시한 바와 같이, 예시적인 소프트웨어(200)는 어플리케이션 소프트웨어(202), 그래픽 라이브러리(204), 입/출력 관리자(206), 비디오 포트(208) 및 본 발명의 실시형태에서 예시한 방식으로 장치(10)를 동작시키기 위한 하드웨어 드라이버 프로그램(210a, 210b, 212a, 212b, 214 및 216)을 포함한다. 예제 소프트웨어(200)는 Microsoft Windows 플랫폼에 특화된 것이다. 물론, 소프트웨어(200)는 도 3에 구체적으로 나타내지는 않은 라이브러리, 기능 블록, 드라이버 등의 형태로 다른 소프트웨어 구성요소들을 포함할 수 있으나, 이는 당업자에게 자명하다.
Windows XP 운영 체제 환경에서, 그래픽 하위시스템(30, 40)과 같은 하드웨어 구성요소의 저레벨 제어는 드라이버라고 공통적으로 부르는 소프트웨어 모듈에 의해 일반적으로 제어된다. 각 하드웨어 구성요소의 동작은 하나 이상의 이러한 드라이버에 의해 제어된다. 또한, 명백해지는 바와 같이, 일부 드라이버들은 그들의 형성을 용이하게 하기 위하여 다중 구성요소들 속으로 적요될(Abstracted) 수 있다. 분명한 것은, 단지 몇몇 드라이버와 드라이버 구성요소들(즉, 드라이버 210a, 210b, 212a, 212b, 214 및 216)만 도시되어 있다는 점이다. 물론, 드라이버 구성요소들의 정확한 수와 종류는 장치(10)의 완전한 하드웨어 구성에 크게 의존할 것이다. Windows XP 운영 체제에 있어서 드라이버 아키텍쳐는 예컨대 www.microsoft.com/whdc/driver/wdf/wdf-arch.mspx에서 입수 가능한 "Architecture of the Windows Driver Foundation"(2006. 5. 10.)에 더욱 자세하게 기술되어 있으며, 그 내용은 여기에 참고로 편입된다.
예시적인 그래픽 라이브러리(204), 입/출력 관리자(206), 비디오 포트(208) 및 플러그 앤 플레이 드라이버(Plug and Play Driver, 214)는 통상적으로 Microsoft Windows 운영 체제의 일부로서 제공된다. 그러한 것으로서, 예시적인 그래픽 라이브러리(204)는 Microsoft DirectX 라이브러리, GDI 라이브러리 및 OpenGL 라이브러리를 포함할 수 있다.
소프트웨어(200)는 특정한 기능성을 제공하기 위해 하위 레이어(Layer)를 이용하여 상위 레벨의 레이어로 계층화된다. 따라서, 어플리케이션 소프트웨어(202)는 통상적으로 그래픽 라이브러리(204)에 대한 호출을 생성함으로써 그래픽을 렌더링한다. 그래픽 라이브러리(204)는 다시, 그래픽 하위시스템(30 및 40)을 이용하여 그래픽을 렌더링하기 위해 Windows 운영 체제와 드라이버를 이용한다.
그래픽 라이브러리(204)는 운영 체제 입/출력 관리자(206) 및 드라이버 구성요소들(212a 및 212b)(디스플레이 드라이버(212)라고도 함)과 통신한다. 입/출력 관리자(206)는 운영 체제 비디오 포트(208)와 통신한다. 비디오 포트(208) 및 디스플레이 드라이버(212)는 다시, 드라이버 구성요소들(210a 및 210b)(미니포트 구성요소(210)라고도 함)과 통신한다. 비디오 포트(208)는 모든 제3자 비디오 드라이버에 공통인 포괄적인 하드웨어 독립형 코드만을 포함한다.
소프트웨어(200)는 2개의 별도의 드라이버(212a 및 212b) 및 2개의 별도의 미니포트 구성요소들(210a 및 210b)을 추가적으로 포함하는데, 여기서 하나의 드라이버(212a) 및 하나의 미니포트 구성요소(210a)는 그래픽 하위시스템(30)의 제어에 대한 하위 레벨에서의 통신을 제공하고, 다른 드라이버(212b) 및 미니포트 구성요소(210b)는 그래픽 하위시스템(40)의 제어 동작에 대한 하위 레벨의 통신을 제공한다. 각각의 미니포트 구성요소(210a 및 210b)와 드라이버(212a, 212b)는 그래픽 하위시스템(30 및 40) 중 설치된 하나에 특화된 것이며, 통상적으로는 동일한 부품업체에 의해 제공된다. 디스플레이 드라이버와 미니포트 구성요소(212a, 212b 및 210a, 210b)는 Windows XP 및 유사 아키텍쳐에 특유한 것이며, 강하게 결합되어 있다. 미니포트 구성요소(210)는 Windows 운영 체제와 함께 제공되는 운영 체제 비디오 포트부(208)와 통신한다. 미니포트 구성요소(210)는 프로세서(12)가 그래픽 하위시스템(30 및 40)의 상태 변경을 관리하도록 하거나, 그래픽 하위시스템(30, 40) 상에 위치한 커서나 포인터 하드웨어를 관리하도록 하거나, 소프트웨어 어플리케이션(206)과 드라이버 구성요소(212) 및 그 유사한 것에 대하여 비디오 프레임 버퍼 를 이용 가능하게 만들도록 한다. Windows XP 아키텍쳐에서, 미니포트 구성요소(210a 및 210b)는 렌더링 명령을 실행하는데 사용되지 않는다. 대신에, 렌더링은 그래픽 라이브러리(204)와 통신할 수 있는 비디오 드라이버(212)에 의해 수행된다.
또한, 버스(20)의 동작을 제어하기 위해 운영 체제에 의해 사용되는 추가적인 하드웨어 드라이버 구성요소(214)가 도 3에 도시되어 있다. 도시한 바와 같이, 드라이버 소프트웨어는 플러그 앤 플레이 드라이버(214) 및 PCIe 버스 인터페이스 드라이버 구성요소(216)를 포함한다. 또, 플러그 앤 플레이 드라이버(214)는 Windows XP 혹은 유사한 운영 체제와 함께 공급된다. 플러그 앤 플레이 드라이버(214)는 연산 장치(10)가 켜져 있는 동안 장치(10)에 부가된 새로운 하드웨어의 존재를 Windows 운영 체제의 나머지 부분들에게 보고하고, 필요에 따라 동적으로 드라이버를 시스템 메모리에 로딩 및 언로딩하는데 사용된다. 추가적인 버스 인터페이스 드라이버 구성요소(216)가 도시되어 있다. 버스 인터페이스 드라이버 구성요소(216)는 완전히 종래의 것으로서, 일반적으로 인터페이스 회로(16)의 공급자에 의해 공급된다. 버스 인터페이스 드라이버 구성요소(216)는 플러그 앤 플레이 드라이버(214)에 대해 버스(20) 상의 어떠한 주변 장치들의 존재도 보고한다.
추가적인 필터 어플리케이션(218) 또한 도시되어 있다. 아래에서 설명하는 바와 같이, 필터 어플리케이션(218)은 버스 인터페이스 드라이버 구성요소(216)로부터의 메세지를 가로채며(인터셉트), 버스(20) 상에서 상호 접속된 장치들에 대한 쿼리(Query)에 응답할 수 있다.
본 발명의 실시형태에서 예시한 소프트웨어는 그래픽 라이브러리(204), 어플 리케이션 소프트웨어(206)(특히 전력 제어 어플리케이션(208)) 및/또는 드라이버 구성요소(210a, 210b, 212a, 212b, 214 및 216)의 일부를 형성할 수 있다.
도 4는 도 2의 장치의 일부에 대한 추가적인 간략화된 블록도를 나타낸다. 나타낸 바와 같이, 인터페이스 회로(16)는 중앙처리장치(12) 및 시스템 메모리(14)를 상호 접속한다. 그래픽 하위시스템(30)(그래픽 프로세서나 인터페이스 회로(16)로서 구현됨)은 그래픽 엔진(32), 메모리 컨트롤러(72), 디스플레이 인터페이스(74) 및 버스 인터페이스(78)를 포함하고 있다.
그래픽 엔진(32)은 2차원 그래픽이나 3차원 그래픽 디코딩 비디오 등을 렌더링할 수 있는 기능 블록이다. 이해되는 바와 같이, 그래픽 하위시스템(30)은 다중 그래픽 엔진을 포함할 수 있다.
메모리 컨트롤러(72)는 그래픽 하위시스템(30)이 그래픽 메모리 및 호스트 메모리(14)에 대한 액세스를 제공할 수 있도록 한다. 도시한 실시형태에서, 그래픽 하위시스템(30)에 의해 사용되는 그래픽 메모리는 호스트 메모리(14)의 일부를 형성한다. 그러나, 당업자라면 그래픽 하위시스템(30)이 그 자신의 로컬 메모리를 포함하거나 그것과 통신할 수 있다는 점을 쉽게 이해할 것이다. 버스 인터페이스(78)는 하위시스템(30)이 버스(20)를 통해 통신할 수 있도록 한다.
이해되는 바와 같이, 디스플레이 인터페이스(74)는 포트(78)에 의해 상호 접속된 디스플레이 장치(26) 상에서의 디스플레이를 위하여 버퍼 내의 데이터를 변환하는 어떠한 적절한 인터페이스일 수도 있다. 예컨대, 디스플레이 인터페이스(74)는 랜덤 액세스 메모리, 디지털-아날로그 컨버터("RAMDAC")의 형태를 취할 수 있 다. 하나 이상의 비디오 컨넥터는 LCD 패널, 모니터, TV 등과 같은 하나 이상의 디스플레이 장치에 대한 그래픽 하위시스템(30)의 상호 접속을 가능하게 한다. 출력 포트(78)는 VGA 포트, 컴포짓(Composite) 비디오 포트, DVI 포트, LVDS 포트, DVO 포트, SDVO 포트 등의 형태일 수 있다.
그래픽 하위시스템(40)(도 2의 주변 확장 카드(46) 상에 형성됨)은 또한 고속 확장 버스(20) 상의 확장 슬롯에 의하여 인터페이스 회로(16)에 접속된다. 그래픽 하위시스템(40)은 그래픽 엔진(42), 메모리 컨트롤러(52), 버스 인터페이스(58) 및 디스플레이 인터페이스(54)를 포함한다. 그래픽 하위시스템(40)은 그래픽 메모리(50)를 포함하거나 그것과 통신한다.
그래픽 엔진(42)은, 그래픽 엔진(32)과 마찬가지로, 2차원 그래픽이나 3차원 그래픽 디코딩 비디오 등을 렌더링할 수 있는 기능 블록이다. 이해되는 바와 같이, 그래픽 하위시스템은 다중 그래픽 엔진을 포함할 수 있다. 아마도 그래픽 엔진(42)은 그래픽 엔진(32)에 의해 제공되지 않는 기능들만 간단하게 제공할 수도 있다.
메모리 컨트롤러(52)는 그래픽 하위시스템(40)이 메모리(50)와 호스트 메모리(14)에 액세스할 수 있도록 한다. 버스 인터페이스(58)는 그래픽 하위시스템(40)이 버스(20) 상에서 통신할 수 있도록 한다.
디스플레이 인터페이스(54)는 메모리 컨트롤러(52)에 의하여 그래픽 메모리(50)에서 프레임 버퍼를 샘플링하고 비디오 컨넥터에서 이미지를 제공한다. 이러한 방식으로, 메모리(50)의 프레임 버퍼에서 외부 그래픽 엔진(42)에 의해 렌더링되는 이미지가 디스플레이될 수 있다. 비디오 컨넥터는 비디오 신호가 집적된 디스 플레이 혹은 외부 디스플레이를 장치(10)에 부착하기 위한 컨넥터에 라우팅(Routing)될 수 있는 외부 디스플레이나 장치(10)의 마더보드에 직접적으로 접속될 수 있다. 또한, 디스플레이 인터페이스(54)는 RAMDAC, 싱글-엔드형(Single-ended)이나 차동형(Differential) 트랜스미터(Transmitter) 등과 같은 디스플레이 장치(32) 상에서의 디스플레이를 위하여 버퍼 내의 데이터를 변환하기에 적절한 어떠한 인터페이스일 수도 있다.
설명한 바와 같이, 전력 제어기(60)는 그래픽 하위시스템(40)과 통신하며, 디스플레이 인터페이스(54), 메모리 컨트롤러(52), 그래픽 엔진(42), 버스 인터페이스(58) 및 그래픽 메모리(50) 중 각각 혹은 일부로서 하나 이상의 전력 소비를 클록 및 전압 쓰로틀링, 전원 차단, 혹은 그렇지 않으면 이들 구성요소들의 전부나 일부를 디스에이블하는 것과 같은 종래의 전력 소비 기술을 이용하여 제어한다. 전력 제어기(60)는 버스(20) 상의 신호에 의해 제어되거나 그렇지 않을 수도 있으며, 예컨대 ACPI 표준에 부합할 수 있다.
그래픽 하위시스템(30)은 그래픽 하위시스템(40)과 많은 부분에서 같은 방식으로 동작한다. 그러한 것으로서, 그래픽 하위시스템(30)은 호스트 메모리(14)나 하위시스템(30)에 국한된 메모리에 탑재된 프레임 버퍼에 액세스하기 위하여 메모리 컨트롤러(72)를 사용한다. 이 프레임 버퍼는 디스플레이 인터페이스(74)에 의해 샘플링되고, 디스플레이에 직접 접속될 수 있는 비디오 출력 컨넥터에서 이미지가 제공된다. 경제적인 집적된 구성요소들을 제공하려는 노력으로, 그래픽 하위시스템(30)은 제한된 기능성을 제공한다. 예컨대, 그래픽 하위시스템(30)의 해상도, 메 모리 그래픽 처리 속도, 3차원 그래픽 성능 등은 상대적으로 제한적일 수 있고, 그래픽 하위시스템(40)의 외부 그래픽 프로세서(42)보다 더 느리게 동작할 수 있다.
고성능 연산과 그래픽은 선택적인 애드온(Add-on) 그래픽 하위시스템(40)에 의해 제공될 수 있다. 그래픽 하위시스템(40)의 존재로, 그래픽 하위시스템(40)은 제 1 디스플레이 장치(모니터, LCD 디스플레이 등, 미도시)에 직접 물리적으로 접속될 수 있는 반면에, 그래픽 하위시스템(30)은 그래픽 하위시스템(30)이 제 2 상호 접속된 디스플레이 장치(32)를 구동할 수 있도록 하기 위하여 제 2 디스플레이 장치와 물리적으로 상호 접속될 수 있다. 예컨대, Microsoft Windows XP는 DualView 옵션을 이용하여 다중 물리 디스플레이의 동시적인 사용을 지원한다. 다중 디스플레이를 이용함으로써, 어플리케이션 소프트웨어(202) 및 운영 체제의 나머지는 메모리(50)의 프레임 버퍼와 메모리(14)의 프레임 버퍼에 동시적으로 제공될 그래픽을 렌더링할 수 있다. 통상적으로 다중 디스플레이는 다음 3가지 구성 중 하나로 사용된다. 그 첫번째의 경우 같은 이미지는 프레임 버퍼 양쪽에 렌더링되고, 두번째의 경우 첫번째 경우와 무관한 다른 이미지는 다른 모티너 상에서 렌더링되어 어플리케이션용으로 엔드 유저에게 2개의 데스크톱을 효과적으로 제공해 주며, 세번째 모드의 경우 2개의 프레임 버퍼가 단일 확장된 데스크톱으로서 취급될 수 있다. 현존하는 운영 체제는 상호 접속된 그래픽 하위시스템의 특성과 성능에 선택적으로 의존하여 각 디스플레이 상에서 이미지를 렌더링할 수 있다. 따라서, 예컨대 3차원 그래픽을 렌더링하는 어플리케이션은 상호 접속된 디스플레이에 대한 출력을 위하여, 가속을 지원하는 하위시스템과 상호 접속된 디스플레이 상에서 하 드웨어 가속을 이용하여 그러한 일을 수행할 수 있다.
3차원 그래픽, 게임 그래픽 등과 같이 연산 집중적인 그래픽은 그래픽 하위시스템(40)에 의해 더욱 효과적으로 실행된다. 따라서, 애드온 그래픽 하위시스템(40)을 장치(10) 내에서 사용함으로써, 엔드 유저는 게임, 컴퓨터 지원 디자인 소프트웨어, 애니메이션 소프트웨어, 렌더링 소프트웨어 등과 같은 그래픽 집중적인 어플리케이션의 최신물을 경함할 수 있다. 편리하게는, 애드온 그래픽 하위시스템(40)은 엔드 유저에 의해 선택되고, 필요에 따라 교체되고 현재 상태로 유지될 수 있다. 과거에는, 부가적인 그래픽 연산 성능은 워크스테이션 연산 장치 상에서만 이용 가능했다. 이동식 연산 장치 상에 확장 슬롯을 도입하여, 이제는 그러한 연산 성능을 랩탑과 같은 휴대용 컴퓨터의 소유자도 이용할 수 있다. 물론, 그래픽 하위시스템(40)에 대해 더 높은(혹은 다른) 성능의 그래픽 엔진(42)을 사용하면 장치(10)의 전체적인 전력 소비가 증가한다. 이렇게 증가한 전력 소비는 배터리, 연료 전지 등의 형태로 DC 전원(38)에 의해 전력을 공급받는 연산 장치 상에서는 지속되지 못할 수 있다.
동시에, 그래픽 엔진(42)과 함께 애드온 그래픽 하위시스템(40)의 존재로, 그래픽 하위시스템(30)은 잉여물이 될 수 있다. 예컨대, 장치(10)에 다중의 물리적인 디스플레이가 접속되어 있지 않다면, 그래픽 하위시스템(30)이 수행할 역할이 없을 수 있다. 이 경우 그래픽 하위시스템(30)은 디스에이블될 수 있다. 선택적으로는, 그래픽 하위시스템(30)의 동작을 제어하는 전력 제어기(70)의 존재로, 그래픽 하위시스템(30)은 그것이 사용되고 있지 않을 때 저전력 모드로 될 수도 있다. 마찬가지로, 전력 제어기(70)는 그래픽 하위시스템(30)의 부분들을 디스에이블 또는 차단하거나, 그래픽 하위시스템(30)의 부분들을 클록 혹은 전압 쓰로틀할 수 있다.
본 발명의 예시적인 실시형태에서, 소프트웨어(200)는 장치(10)가 하위시스템(30)의 존재 시에 더 높은 전력의 그래픽 하위시스템(40) 하나를 선택적으로 디스에이블시킬 수 있도록 동작한다.
이러한 목적을 위하여, 도 4에 나타낸 바와 같이 연산 장치(10)는 스위치(56)를 추가적으로 포함하고 있다. 스위치(56)는 제 1 및 제 2 입력에서 하위시스템(40) 및 하위시스템(30)에 의해 생성된 비디오 신호를 수신한다. 스위치(56)는 멀티플렉서와 같은 어떠한 적절한 비디오 스위치일 수도 있으며, 그 비디오 출력 컨넥터에서 그 2개의 신호 입력에 종래의 비디오 신호 중 하나를 제공하도록 동작할 수 있다. 스위치(56)의 입력에서 제공된 비디오 신호는 디지털 신호(LVDS나 TMDS 포맷 등)나 아날로그 신호(VGA 포맷 등)와 같은 종래의 비디오 신호일 수 있다. 스위치(56)가 디지털 및 아날로그 입력 신호 양자를 수신하거나 어느 하나의 출력에 비디오를 제공하도록 구성된다면, 스위치(56)는 포맷 변환기를 포함할 수 있다. 나아가, 스위치(56)는 디지털이나 아날로그 디스플레이 장치(32) 중 하나 혹은 양자의 접속을 허용하기 위하여 하나 이상의 비디오 출력을 포함할 수 있다.
스위치(56)는 제어 입력(CNTRL)을 추가적으로 포함한다. 이 제어 입력은 어떤 신호 입력이 스위치(56)의 비디오 출력에 제공되는지를 제어한다. 도시한 실시형태에서, 제어 입력은 장치(10)의 전력 모드의 변경이 바람직하거나 필요하다는 것에 대한 검출 혹은 결정에 따라, 범용 입출력(GPIO) 인터페이스(미도시)의 방식으로 프로세서(12)에 의해 토글링(Toggling)된다. 명백해지는 바와 같이, 스위치(56)는 장치(10)가 저전력 소비 모드로 동작한다면 그래픽 하위시스템(30)에 의해 생성된 종래의 비디오 신호가 선택되도록 구성되어 있다. 반대로, 장치(10)가 고전력 소비 모드로 동작한다면, 고성능의 외부 그래픽 하위시스템(40)에 의해 생성된 비디오 신호가 디스플레이용으로 선택된다. 마찬가지로, 그래픽 하위시스템(40)이나 그래픽 하위시스템(30)에 제공되는 전력이 줄거나 차단될 수 있다. 스위칭은 장치(10)가 사용 중인 동안 장치(10)를 재시작할 필요 없이(즉, 콜드(Cold)나 웜(Warm) 스타트) 동적으로 수행될 수 있다.
이를 달성하기 위하여, 연산 장치(10)는 상술한 전력 제어기(60)를 적어도 하나 포함할 수도 있다. 도시한 실시형태에서, 전력 제어기(60)는 그래픽 하위시스템(40)을 수용하는 주변 확장 카드(46)의 일부를 형성한다. 그러나, 전력 제어기(60)는 인터페이스(16)의 일부는 물론이고 연산 장치(10)의 마더보드의 일부를 형성할 수 있다. 전력 제어기(60)가 확장 카드(46)의 일부를 형성한다면, 하위시스템(40)의 동작을 제어하기 위한 더 큰 유연성(Flexibility)을 가질 수 있다. 만약 전력 제어기(60)가 연산 장치(10)의 일부를 형성한다면, 그것은 단지 그래픽 하위시스템(40)에 대한 전력을 디스에이블하는 능력만을 가질 수도 있다.
시스템 메모리(12) 내의 소프트웨어(200)는 스위치(56)와 전력 제어기(60)를 구성하고 제어하기 위하여 사용된다. 따라서, 도 5는 본 발명의 예시적인 실시형태에 있어서 2개의 가용 전력 소비 모드 간의 스위칭 장치(10)에 대한 예시적인 소프 트웨어 블록(S500)을 나타내는 순서도이다.
블록(S500)을 자세히 설명하기에 앞서, 드라이버(210a, 210b, 212a, 212b, 214 및 216)가 관련된 연산 장치(장치(10) 등)의 동작을 제어하는 방법을 간략히 설명할 필요가 있다. 통상적으로, 장치(10)를 켠 이후에, 운영 체제는 드라이버(210a, 210b, 212a, 212b, 214 및 216)를 포함하여 장치(10)의 동작을 위해 필요한 모든 드라이버들을 로딩한다. 2개의 그래픽 하위시스템(30 및 40)이 존재하는 경우, 2개의 디스플레이 드라이버(212a 및 212b)와 미니포트 구성요소(210a, 210b)가 로딩된다. 구성요소/드라이버(210a, 210b, 212a, 212b)는 어떤 디스플레이가 그래픽 하위시스템(30 및 40)에 물리적으로 상호 접속되어 있는지를 추가적으로 평가하고, 상호 접속된 디스플레이들을 확인하면서 메모리에 저장된 알맞은 상태 변수들(예컨대, 동작 레지스트리 엔트리)을 설정한다. 이러한 상호 접속된 디스플레이들은 논리적으로 인에이블되고, 나중에 구성요소/드라이버(210a, 210b, 212a, 212b)에 의해 물리적으로 인에이블될 수 있다. 어플리케이션 소프트웨어(202)는 이후 상호 접속된 논리적으로 인에이블된 모든 디스플레이의 활성화와 상술한 바와 같이 동작하기 위한 다중 어댑터(Adapter)의 사용을 가능하게 한다. 물론, 단지 단일 디스플레이만 2개의 그래픽 하위시스템(30, 40)에 접속되어 있다면, 그 하위시스템만 활성화될 수 있다. 게임, 엔드 유저 어플리케이션 등의 형태인 어플리케이션 소프트웨어(202)는 운영 체제와 구성요소/드라이버(210a, 210b, 212a, 212b)를 통해 동작하며, 그러한 존재하는 장치들을 사용한다. 따라서, 어플리케이션 소프트웨어(202)는 현재 이용 가능한(즉, 인에이블된) 하위시스템(30 혹은 40)에 의해 제 공되는 리소스를 이용하여 이미지를 렌더링할 수 있다. 필요에 따라, 어플리케이션 소프트웨어(202) 내의 특정한 어플리케이션은 그 동작을 위해 요구되는 인에이블된 하드웨어의 부재 시에 동작을 멈출 수 있다.
이제, 본 발명의 예시적인 실시형태에서, 장치(10)가 초기에 켜질 때 장치(10)의 전력 상태가 평가된다. 전력 제어 어플리케이션(220)은 필요에 따라 후술하는 바와 같이 하위시스템(30 및 40) 및 스위치(56)를 구성한다.
본 발명의 예시적인 실시형태에서, 소프트웨어 블록(S500)은 호스트 메모리(14) 내 전력 제어 어플리케이션(220)의 제어하에서 프로세서(12)에 의해 수행될 수 있다. 블록(S500)은 장치(10)가 상태/모드 변경을 거치는 각 시간마다 수행될 수 있으며, 이 경우 그래픽 하위시스템(30 및 40)은 그에 따라 구성되어야 한다. 도시한 바와 같이, 블록(S502)에 있어서 전력 제어 어플리케이션(220)은 장치(10)가 고전력 소비 모드나 저전력 소비 모드를 취해야 하는지 여부를 결정한다.
장치(10)의 바람직한 전력 소비 모드와 전력 소비 모드 간의 전환은 수많은 요인들에 따라서 전력 제어 어플리케이션(220)에 의해 제어될 수 있다.
특히, 예컨대 전력 제어 어플리케이션(220)은 장치(10)에서의 총 가용 전력이나 가용 리소스 및 장치(10)의 동작 환경에 의존할 수 있는 소정 수의 감지형 혹은 판단형 전력 소비 조건에 응답하여 장치(10)의 바람직한 전력 소비 모드(즉, 저전력 혹은 고전력 소비 모드)를 제어할 수 있다.
예를 들면, 장치(10)의 바람직한 저전력 소비 모드는 전력 제어 어플리케이션(220)이 장치(10)에 대한 가용 전력의 감소를 직접적으로 혹은 간접적으로 검출 하는 경우에 취해질 수 있다. 가용 전력의 감소는 예컨대 저장된 에너지(예를 들면, mAh) 레벨이나 DC 전원(38)의 즉각적인 가용 전력이 임계값 아래로 떨어지는 경우나, AC 전원(36)의 플러그가 뽑혀 있는 경우, 혹은 장치(10)가 랩탑인데 도킹 스테이션으로부터 분리된 경우에 검출될 수 있다.
선택적으로는, 장치(10)의 그래픽 하위시스템(30, 40)은 장치(10)의 하위시스템(30, 40)과 다른 주변 장치나 구성요소들 중에 할당될 현존하는 전력/에너지를 허용하기 위하여 저전력 소비 모드로 전환될 수 있다. 예컨대, USB 장치와 같은 주변 장치가 배터리로 동작하는 장치에 부착된 경우나, DC 전력으로 동작하는 장치(10)에 상호 접속된 디스플레이의 밝기 레벨이 임계값 위로 증가하는 경우, PS/2 키보드/마우스가 배터리로 동작하는 장치(10)에 부착된 경우, 외부 장치의 발광(Light)이 켜진 경우, 무선/유선 네트워크 인터페이스가 활성화되는 경우, 기타 부착된 장치(예컨대, 프린터, 광학 드라이브, 스캐너 등)가 배터리로 동작하는 장치(10) 상에서 동작하게 되는 경우에, 저전력 모드로 그래픽 하위시스템(30, 40)을 전환하는 것이 전력 제어 어플리케이션(220)에 의해 영향을 받을 수 있다. 마찬가지로, 무선 인터페이스의 대역폭 사용이 임계값을 초과하는 경우, 하위시스템(30, 40)에는 저전력을 할당하는 것이 바람직할 수 있다. 또한, 전력 제어 어플리케이션(220)은 저전력 소비 모드로 전환하는 것을 결정하기 위하여 상호 접속된 주변 장치들의 존재/동작 조건에 있어서의 변화를 감시할 수 있다.
마찬가지로, 장치(10)의 바람직한 저전력 모드는 전력 제어 어플리케이션(220)에 의해 선택적으로나 부가적으로 추론될 수 있다. 예컨대 실질적인 비활성 화의 정해진 기간이 관찰되는 경우나, 장치(10)의 케이스가 열림 상태로부터 물리적으로 닫혀지는 경우, 장치(10)가 '하이버네이션 모드', '스탠바이 모드' 혹은 유사한 모드로 사용자에 의해 설정되는 경우, 혹은 외부 모니터가 전력 절감 모드로 들어가는 경우에, 이러한 추론이 이루어질 수 있다.
마찬가지로, 장치(10)의 바람직한 저전력 모드는 고전력 소비 그래픽 하위시스템(40)의 처리 성능이 더 이상 요구되지 않는 경우에 추론될 수 있다. 예컨대, 3차원 게임과 같이 그래픽 집중적인 어플리케이션이 종료(즉, 닫힘)되는 경우나, 잠재적으로 요구하는 어플리케이션이 그래픽 집중도가 높은 창에서 낮은 창으로 전환하는 경우, 모든 어플리케이션이 닫히는 경우(그리고 배경 이미지가 단순하고 그래픽 집중적이지 않음)에는, 고전력 소비 하위시스템(40)이 더 이상 요구되지 않을 수 있다. 마찬가지로, 외부 모니터가 분리되는 경우, 네트워크 인터페이스의 대역폭 사용이 임계값 밑으로 떨어지는 경우, 운영 체제가 DOS 모드인 경우(예컨대, DOS 모드에서의 Windows 98)에는, 고전력 하위시스템(40)이 필요하지 않은 것으로 가정할 수 있다.
전력 제어 어플리케이션(220)이 바람직한 저전력 모드를 추론하기 위해 사용할 수 있는 다른 예제 이벤트로는 그래픽 프로세스를 사용하지 않는 동안 시스템 리소스를 점령할 가능성이 있는 소프트웨어 어플리케이션을 런칭하는 것이 있다. 예제 소프트웨어 어플리케이션으로는, 유저 인터페이스가 없거나 프로세서 리소스의 많은 부분을 소비하는 문자 기반의 유저 인터페이스(DOS 등)를 갖는 어플리케이션이나, 1차적인 하드 드라이브 스캐닝을 개시하는 어플리케이션, 시스템 백업을 수행하는 어플리케이션 등이 포함된다. 마찬가지로, 그래픽 집중적이지 않은 콘솔(Console) 어플리케이션(Vista나 MacOS에서와 같이 비-콘솔 어플리케이션은 사라짐)이 실행되거나, 엔드 유저 혹은 다른 어플리케이션 소프트웨어에 의해 개시된 문자 기반의 쉘(Shell) 타입 DOS나 Unix 쉘로의 전환은 그래픽 리소스가 요구되지 않아 저전력 소비 모드로의 전환이 바람직할 수 있다는 지시자일 수 있다. 또한, 관련된 어플리케이션의 런칭은 전력 제어 어플리케이션(220)에 의해 감시될 수 있으며, 이는 장치(10)를 저전력 상태로 전환할 수 있다.
또한, 한명의(혹은 모든) 사용자가 로그 아웃을 하거나, 상호 접속된 모니터의 스크린 해상도가 소정의 임계값 아래로 감소하는 경우에, 전력 제어 어플리케이션(220)은 바람직한 저전력 소비 모드를 추론하고, 장치(10)를 저전력 소비 모드로 전환할 수 있다.
선택적으로는, 사용자가 명시적으로 혹은 잠재적으로 고전력 하위시스템(40)을 중단하여 전력 제어 어플리케이션(220)이 장치(10)를 하위시스템(30)을 요구하는 상태로 전환하도록 할 수 있다. 이는, 하위시스템(30)이 고장나거나, OS에 의해 검출되지 않거나, 필요한 드라이버가 미설치되거나 업데이트되는 경우에, 전력 제어 어플리케이션(220)에 의해 영향을 받을 수도 있다. 또한, 하위시스템(30) 및/또는 그 드라이버의 존재는 전력 제어 어플리케이션(220)에 의해 검출될 수 있다.
나아가, 전력 제어 어플리케이션(220)은 장치(10)가 저전력 소비 모드로 전환되어야 하는지 여부를 결정하기 위하여 장치(10)의 전반적인 동작 상태를 감지할 수도 있다. 예컨대, 장치(10)는 장치(10)의 온도가 소정의 임계 온도보다 높아졌다 는 점을 감지하는 것에 응답하여 저전력 소비 모드로 전환될 수 있다.
장치(10)에 있어서 전력 제어 어플리케이션(220)이 하위시스템(30, 40)을 고전력 상태로 전환하는 조건은 마찬가지로 전반적인 가용 전력의 상승, 예컨대 충전 중에 배터리 에너지 레벨이나 가용한 즉각적인 전력이 임계값을 초과하는 경우나, 장치(10)가 AC 전력 배출구에 접속되어 있는 경우를 포함할 수 있다.
마찬가지로, 하위시스템(30, 40)을 제외한 장치(10)의 부분들에서 저전력이 소비되고 있는 경우, 장치(10)에 있어서 전력 제어 어플리케이션(220)은 하위시스템(30, 40)을 고전력 소비 모드로 전환할 수 있다. 예컨대, 배터리로 동작하는 연산 장치에서 외부 발광 혹은 백라이트가 꺼진 경우나, USB 장치가 배터리로 동작하는 연산 장치로부터 분리된 경우, PS/2 키보드/마우스, 외부 미디어 드라이브(예컨대, CD/DVD/기타), 프린터, 스캐너 등의 기타 주변 장치가 배터리로 동작하는 장치로부터 분리된 경우, 주변 장치(예컨대, 스캐너, 프린터 등)가 동작을 정지하는 경우, 무선/유선 모뎀/네트워크 인터페이스와 같은 주변 장치가 배터리로 동작하는 장치에서 비활성화되는 경우, 혹은 네트워크 카드 대역폭의 사용이 배터리로 동작하는 장치에서 임계값 밑으로 떨어지는 경우에, 전력 제어 어플리케이션(220)은 고전력 모드로의 전환을 실행할 수 있다.
선택적으로는, 더 강력한 그래픽 하위시스템에 대한 요구가 전력 제어 어플리케이션(220)에 의해 직접적으로 혹은 간접적으로 검출될 수 있다. 이는, 예컨대 전력 제어 어플리케이션(220)이 사용자가 시작 화면으로부터 로그인을 하였음을 검출하거나, 3차원 게임과 같은 필요한 소프트웨어 어플리케이션이 런칭되었음을 검 출하거나, 어플리케이션이 그래픽 집중도가 낮은 창에서 높은 창으로 전환하였음을 검출하거나, 비디오 어플리케이션에 의해 사용되는 대역폭(예컨대, bps 단위의 디코딩된 비디오 스트림)이 임계값 위로 증가하였음을 검출하거나, 예컨대 어플리케이션들을 닫아서 그래픽 집중적인 배경 이미지나 다른 어플리케이션을 노출한 결과 모든 그래픽 이미지가 노출되고 있음을 검출하거나, 최대 크기의 문자 기반(예컨대, DOS) 어플리케이션이 최소화되거나 종료되어 다른 어플리케이션 창들을 노출하고 있음을 검출하거나, 문자 기반의 터미널 타입 DOS/Unix로부터 그래픽적인 OS 터미널 타입 Windows/X-Windows로의 전환이 개시되었음을 검출하거나, 콘솔 그래픽 어플리케이션의 우선 순위가 상승하거나(Linux, UNIX의 'nice' 명령), 외부 모니터가 부착되거나(혹은 부착형 외부 모니터가 켜짐), 상호 접속된 모니터의 스크린 해상도가 소정의 임계값 위로 상승하는 경우에, 단순히 발생할 수 있다.
또한, 확장 카드를 탑재한 시스템(40)이 핫-스왑형(Hot-swapped, 즉 삽입형)인 경우나, DC 동작형 장치가 슬립 모드에서 깨어난 경우, 장치(10)용 케이스가 닫힌 위치에서 물리적으로 열린 경우, 혹은 기타 활성화되는 경우에, 더욱 강력한 그래픽 하위시스템(40)에 대한 요구가 직접적으로 혹은 간접적으로 전력 제어 어플리케이션(220)에 의해 검출될 수도 있다. 또한, 필요한 고전력 모드는 전력 제어 어플리케이션(220)으로 하여금 장치(10)가 하위시스템(40)이 사용 중이거나 활성화 상태인 고전력 모드로 전환하도록 할 수 있다.
마찬가지로, 장치(10)와의 사용자 개시된 상호 작용은 전력 제어 어플리케이션(220)이 저전력 소비 모드로부터 고전력 소비 모드로 전환하도록 할 수 있다. 예 컨대, 사용자는 전력 제어 어플리케이션(220)의 그래픽 유저 인터페이스와 상호 작용함으로써 고전력 하위시스템(40)을 사용할 것을 명시적으로 결정할 수 있다.
선택적으로는, 사용자는 저전력 하위시스템(30)을 중단하여 전력 제어 어플리케이션(220)이 장치(10)를 하위시스템(40)을 요구하는 상태로 전환하게 할 수 있다. 예컨대, 이는 사용자가 하위시스템(30)에 대한 장치 드라이버를 업그레이드할 때 발생할 수 있다. 마찬가지로, 예컨대 고장이나 실패 혹은 관련된 드라이버가 미설치됨으로 인해 하위시스템(30)이 검출되지 않으면, 전력 제어 어플리케이션(220)은 장치(10)를 고전력 소비 상태로 만들 수 있다.
물론, 고전력 소비 상태로의 전환은 전력 그래픽 하위시스템(40)에 대한 충분한 전력이 장치(10)에 실제 가용한 경우에만 실행될 필요가 있다.
이해되는 바와 같이, 사용자 제어 가능한 변수들과 우선권은 모드들 간의 전환과 하위시스템(30, 40)의 사용을 통제할 수 있다. 이러한 우선권으로는 전력 제어 어플리케이션(220)이 관련된 변수들(예컨대, 가용한 DC 전력/에너지의 임계 레벨, 네트워크 어댑터의 대역폭 사용 임계값, 비디오 스트림 대역폭 임계값, 모니터 해상도 임계값, 아이들 타임(Idle Time), 온도, 기타)은 물론이고 상술한 전환 조건에 있어서 저전력과 고전력 소비 모드 간에 전환해야 하는지 여부가 포함될 수 있다. 이러한 우선권과 변수들은 전력 제어 어플리케이션(220)에 대한 그래픽 유저 인터페이스(미도시)에 의하여 조정될 수 있다.
장치(10)가 고전력 소비 모드를 재시작(혹은 전환)해야 하는 경우, 블록(S504 내지 S510)이 실행된다. 블록(S504)에서, 하위시스템(40)은 그것이 미리 이 모드가 아니라면 완전 동작(고전력) 모드로 된다. 이는 예컨대 미니포트 드라이버 구성요소(210b)의 제어하에서 프로세서(12)에 의해 전력 제어기(60)에 적절한 신호를 제공함으로써 수행될 수 있다. 다음으로, 하위시스템(40) 및 부착된 모든 디스플레이가 블록(S506 및 S508)에서 논리적으로 인에이블된다. 이는 플러그 앤 플레이 드라이버(214)에 대한 API 호출을 생성함으로써 수행될 수 있고, 그것이 하위시스템(40)의 존재를 검출한 후 할당된 네임(Name)을 얻기 위해 새롭게 인에이블된 장치를 열거할 수 있도록 한다. 해당 네임이 알려지면, 운영 체제가 새롭게 인에이블된 하위시스템(40) 및 상호 접속된 디스플레이에 사용될 수 있다. "논리적으로" 인에이블 및 디스에이블한다는 것은 그래픽을 렌더링하거나 하지 않기 위하여 관련된 그래픽 하위시스템 및 장치를 사용하도록 운영 체제를 구성한다는 점을 의미한다는 것에 주의한다. Windows XP 환경에서, 디스플레이는 하위시스템(30 및 40)의 디스플레이가 활성화된 상태에서 확장된 데스크톱을 인에이블함으로써 인에이블될 수 있다.
하위시스템(30) 및/또는 그것에 부착된 어떠한 디스플레이도 블록(S510)에서 논리적으로 디스에이블될 수 있다. 끝으로, 적절한 API 호출이 이루어져서 그래픽 하위시스템(40)의 논리적 디스플레이, 운영 체제에 의해 인지된 1차적인(혹은 유일한) 디스플레이를 생성한다.
블록(S506 및 S510)은 알맞은 운영 체제 API 호출에 의해, 그렇지 않으면 적당한 메모리 저장 상태 정보를 설정함으로써 수행될 수 있다. 부가적으로는, 스위치(56)는 스텝(S508)에서 토글링되어 그래픽 하위시스템(40)으로부터의 출력이 상 호 접속된 디스플레이(26)에 제공된다. 구체적으로는, 논리적 디스플레이가 상호 접속되어 있는 Windows XP 환경에서, 공지의 EnumDisplayDevices() 호출을 이용하여 평가될 수 있다. 이후, 하나의 그래픽 하위시스템에서 다른 것으로 전환하기 위해, ChangeDisplaySettingsEX() API 호출을 이용하여 그래픽 하위시스템(30 혹은 40)은 논리적으로 2개의 디스플레이(그리고, 따라서 그래픽 하위시스템들)와 이후 하나의 디스플레이만을 인에이블함으로써 논리적으로 인에이블될 수 있다.
이는 그래픽 하위시스템 양자와 그에 따라 디스에이블되었던 하나를 논리적으로 인에이블할 것이다. 설정할 모드는 데스크톱 모드로 확장된다. 그래픽 하위시스템(30)은 이후 동일한 방식으로 논리적으로 디스에이블될 수 있다. 선택적으로는, 드라이버(210b)는 그래픽 하위시스템(30)의 상태에 관한 어떠한 쿼리도 트랩핑(Trapping)할 수 있으며, 따라서 운영 체제의 나머지는 그래픽 하위시스템(30)을 디스에이블되거나 부재한 것으로 인식하게 된다.
장치(10)가 저전력 소비 모드로 전환 혹은 재시작할 때, 블록(S512 내지 S518)이 실행된다. 넓게 말하자면, 그래픽 하위시스템(40)은 그래픽 하위시스템(30)이 인에이블되어 있는 동안 디스에이블되어 저전력 소비 모드로 된다. 그렇게 하기 위하여, 그래픽 하위시스템(30)이 블록(S512 및 S514)에서 인에이블된다. 이는 또한, 관련된 드라이버(210a)를 통해 그래픽 하위시스템(30)을 논리적으로 인에이블하여 블록(S512)에서 적절한 API 호출을 생성하고, 스텝(S510)에서 하위시스템(30)이 디스에이블되었던 것과 마찬가지 방식으로 블록(S514)에서 논리적으로 하위시스템(40)을 디스에이블함으로써 수행될 수 있다. 블록(S512 및 S514)은 상술한 EnumDisplayDevices() 및 ChangeDisplaySettingsEX() 호출과 같은 적절한 운영 체제 API 호출이나 하드웨어와의 직접적인 통신에 의하여 다시 수행될 수 있다.
디스플레이가 논리적으로 디스에이블된 후, 드라이버(212)에 대한 API 호출은 블록(S518)에서 물리적으로 그래픽 하위시스템을 저전력 모드로 하는데 사용될 수 있다. 그러한 것으로서, 프로세서(12)는 적당한 신호를 전력 제어기(60)에 제공하여 그래픽 하위시스템(40)을 저전력 상태로 만든다. 가장 간단한 형태로, 전력 제어기(60)는 그래픽 하위시스템(40)이나 그래픽 하위시스템(40)의 구성요소들에 대한 전력을 차단한다. 선택적으로는, 전력 제어 어플리케이션(220)이 전력 제어기(60)로 하여금 그래픽 하위시스템(40)을 ACPI 표준에 의해 정의된 장치 전력 상태들 중 하나와 같은 저전력 슬립 모드로 들어가게끔 지시할 수 있다. 어떠한 경우에도, 이 저전력 소비 모드에서 전압은 쓰로틀되고/되거나 어댑터(40)의 전부 혹은 일부가 전력 차단되고/되거나 어댑터(40)에 의해 사용된 선택 클록이 슬로우(Slow)된다.
그래픽 하위시스템(30)이 인에이블되면, 드라이버/구성요소(210a 및 212a)를 통해 어플리케이션(202) 중 다른 것들은 그래픽 하위시스템(30)을 통하여 그래픽을 계속해서 렌더링한다.
부가적으로, 도시한 실시형태에서, 블록(S518)에서 그래픽 하위시스템(40)의 전력을 차단하는 것은 인터페이스 드라이버(216)(도 3)로 하여금 쿼리 혹은 그렇지 않으면 플러그 앤 플레이 드라이버(214)에 대한 버스(20) 상의 그래픽 하위시스템(40)의 부존재에 응답하여 신호를 내도록 할 수 있다. 그에 따라, 드라이버와 구 성요소들(212 및 210)에 대한 추가적인 변경 없이, 플러그 앤 플레이 드라이버(214)는 버스 인터페이스(16)와 그래픽 하위시스템(40) 간의 버스 링크를 위해 할당된 리소스를 해제할 것이다. 이것이 발생하게 되면, 그래픽 하위시스템(40)에 다시 전력을 공급하는 것은 플러그 앤 플레이 드라이버(214) 및 버스 드라이버 구성요소(216)의 제어하에서 인터페이스(16)가 버스(20) 상에서 링크를 새롭게 처리하도록 할 것이다. 메모리 어드레스 공간, 인터럽트 등과 같은 리소스는 그에 따라 재할당될 것이다.
따라서, 불필요한 링크 처리(Link Negotiation)를 피하기 위하여, 소프트웨어 필터 어플리케이션(218)이 도 6의 스텝(S600)에 도시한 바와 같이 플러그 앤 플레이 드라이버(214)를 향하고, 버스 인터페이스 드라이버(216)에 의해 생성된 어떠한 메세지라도 처리한다. 저전력 모드 혹은 그래픽 하위시스템(40)이 더 이상 활성화되어 있지 않다는 점을 플러그 엔 플레이 어댑터에 통보하는 그래픽 하위시스템(40)의 부재를 확인하는 어떠한 메세지라도 블록(S602)에서 인터셉트된다. 그러한 메세지 각각은 그래픽 하위시스템(40)이 실제로 활성화되어 있다는 것을 가리키고 스텝(S604)에서 생성되는 메세지로 대체된다. 이러한 방식으로, 플러그 앤 플레이 드라이버(214)와 버스 드라이버(216)는 그래픽 하위시스템(40)의 저전력(혹은 무전력) 상태를 인지하지 못하게 되며, 따라서 버스(20) 상에서 인터페이스(16)에 그래픽 하위시스템(40)을 접속하는 링크와 연관된 리소스를 해제하지 않는다.
상술한 바와 같이 스위치(56)와 그래픽 하위시스템(40)과 그래픽 하위시스템(30)을 구성할 경우 바람직하게 전력을 절감하고 장치(10)로 하여금 2개의 그래 픽 프로세서 중 하나만을 위해 요구되는 전력을 소모하게 하여, 전체적인 에너지 소모를 줄이고 배터리 수명을 보존한다. 예컨대, 휴대용 컴퓨터는 배터리로 동작하는 모드(DC 전력)에서 비지니스 여행자들에 의해 통상적으로 사용된다. 여행 중인 그러한 사용자들의 전형적인 사용 패턴은 워드 프로세스, 프레젠테이션 및 이메일 어플리케이션을 포함할 것이다. 이들 어플리케이션은 외부 그래픽 하위시스템(40)에 의해 제공되는 부담스러운 그래픽 가속 임무를 요구하지 않는다. 제 2(예컨대, 외장형) 그래픽 하위시스템(40)의 사용으로부터 제 1(예컨대, 집적형) 그래픽 하위시스템(30)의 사용으로 전환하고 더 낮은 평균 전력을 소모하는 것은, 전반적인 시스템 성능을 희생하지 않으면서도 고성능 그래픽 프로세스와 저전력 소모 간의 균형을 맞추는데 도움을 준다.
도 7은 본 발명의 다른 실시형태에서 예시한 연산 장치(10')의 일부에 대한 예시적인 간략화된 블록도이다. 연산 장치(10')는 연산 장치(10)와 거의 유사하다. 장치(10)의 구성요소들과 기능적으로 균등한 장치(10')의 구성요소들은 프라임(') 기호로 라벨을 붙였으므로, 자세히 설명하지는 않을 것이다. 다만, 간략하게 말하자면, 장치(10')는 2개의 그래픽 하위시스템(30' 및 40')을 포함한다. 또한, 그래픽 하위시스템(30')은 그래픽 엔진(32'), 메모리 컨트롤러(72'), 디스플레이 인터페이스(74') 및 버스 인터페이스(78')를 포함한다. 제 2 그래픽 하위시스템(40')은 고속 버스(20')에 의하여 그래픽 하위시스템(30')과 통신한다. 그래픽 하위시스템(40')은 그 자신의 그래픽 엔진(42'), 메모리 컨트롤러(52'), 디스플레이 인터페이스(54')를 포함한다. 나아가, 그래픽 하위시스템(40')은 그래픽 메모리(50')와 통신한다. 특히, 장치(10')는 그래픽 하위시스템(30')과 그래픽 하위시스템(40') 중 어느 것이 디스플레이(26')와 상호 접속되는지를 제어하는데 사용되는 스위치를 포함하지 않는다. 대신에, 명백해지는 바와 같이, 하위시스템(40')은 버스(20')를 거쳐서 메모리(14')에 그래픽을 렌더링하도록 맞추어져 있다.
장치(10')의 동작을 제어하는 소프트웨어의 구성은 장치(10)의 경우와 유사하다. 그러나, 장치(10')가 고전력과 저전력 소비 상태 사이를 전환할 때 장치(10')의 동작을 제어하는 소프트웨어 부분들은 장치(10)의 부분들과는 상이하다.
구체적으로는, 도 8은 장치(10')의 시스템 메모리 내 소프트웨어의 제어하에서 프로세서(12')에 의해 수행될 수 있는 본 발명의 실시형태에서 예시한 소프트웨어 블록(S800)을 도시한다. 또한, 블록(S800)은 장치(10')가 상태 변경을 거치는 때마다 수행될 수 있으며, 이 경우 하위시스템(30' 및 40')은 그에 따라 구성되어야 한다. 도시한 바와 같이, 블록(S802)에서 해당 소프트웨어는 장치(10')가 고전력 소비 모드나 저전력 소비 모드를 취해야 하는지 여부를 결정한다.
장치(10')가 고전력 소비 모드로 재시작(혹은 전환)하려고 할 때, 블록(S804 내지 S810)이 실행된다. 블록(S804)에서, 그래픽 하위시스템(40')은 만약 이미 이 모드가 아닌 경우에는 완전 동작(고전력 소비) 모드로 된다. 이는 그래픽 하위시스템(40')을 제어하는 드라이버를 통해, 전력 제어기(60')에 적당한 신호를 제공함으로써 수행될 수 있다. 다음으로, 그래픽 하위시스템(40')이 블록(S806 및 S808)에서 인에이블된다. 이는 또한, 블록(S804)에서 그래픽 하위시스템(30')과 연관된 어떠한 상호 접속 디스플레이라도 논리적으로 디스에이블하고, 블록(S808)에서 그래 픽 하위시스템(40')과 접속된 디스플레이를 논리적으로 인에이블함으로써 수행될 수 있다. 블록(S806 및 S808)은 앞서 설명한 EnumDisplayDevices() 및 ChangeDisplaySettingsEX() 호출과 같은 적절한 운영 체제 API 호출이나 하드웨어와의 직접적인 통신을 통하여 다시 수행될 수 있다.
특히, 그래픽 하위시스템(40')에 물리적인 디스플레이가 접속되어 있지 않다. 스위치(56)의(도 4에서는 장치(10)의) 부재 시에, 그래픽 하위시스템(40')의 동작을 제어하는 드라이버 소프트웨어는, 스텝(S810)에서 관련된 메모리(50') 내에서가 아니라 그래픽 하위시스템(30')의 버퍼(14')에서 이미지를 렌더링하도록 구성된다. 편리한 것은, 고속 버스(20)(예컨대, PCIe 버스로서 탑재됨)의 존재 시에, 부번적으로는 버스에 의해 인에이블된 전송 속도로 인하여 그러한 렌더링이 버스(20)를 거쳐서 가능하다는 점이다.
물론, 상호 접속된 디스플레이(26')에서 메모리(14')의 프레임 버퍼에서 그래픽 하위시스템(40')에 의해 렌더링되는 이미지를 제공하기 위하여, 그래픽 하위시스템(30')에 대한 드라이버는 그래픽 하위시스템(30')의 디스플레이 인터페이스(74')가 메모리(14')의 프레임 버퍼를 샘플링하도록 추가적으로 구성된다. 동시에, 그래픽 하위시스템(30')에 대한 드라이버는 그래픽 하위시스템(30')의 그래픽 엔진(32')이 실질적으로 지배적이거나 아이들하게 남도록 할 수 있다. 이러한 동작 모드는 그래픽 하위시스템(40')과 그래픽 하위시스템(30')의 활성화된 블록들에만 망사선을 넣은 도 9a에 개략적으로 도시되어 있다.
명백해지는 바와 같이, 도 9a의 실시형태에서 메모리(50') 및 디스플레이 인 터페이스(54')는 사용되지 않는다. 그러한 것으로서, 이들 기능 블록은 하위시스템(40')으로부터 제거될 수 있어 비용 절감을 가능하게 한다. 이러한 그래픽 하위시스템을 제작하는 것은, 하위시스템(40')이 하위시스템(30')에 의해 제공된 기능성을 보충하도록 제작 가능하기 때문에, 유리할 수 있다. 예컨대, 하위시스템은 3차원 그래픽이나 비디오 디코딩 성능을 제공하는 그래픽 엔진(42')을 제공할 수 있다. 그래픽 엔진(32')은 이러한 성능을 포함하지 않을 수 있다. 동시에, 그래픽 엔진(32')에 의해 제공되는 2차원 그래픽 기능이 하위시스템(40')에 포함될 필요가 없다. 소비자는 다시, 추가적인 기능성이 필요한 경우에만 그래픽 하위시스템(30')을 부가할 수 있을 것이다.
장치(10')가 저전력 소비 모드로 전환하거나 재시작하려고 할 때, 블록(S812 내지 S818)이 실행된다. 넓게 말하자면, 그래픽 하위시스템(40')은 부분적으로 혹은 완전히 디스에이블되어 저전력 소비 모드로 되며, 렌더링은 다시 그래픽 하위시스템(30')에 의해 수행된다. 그렇게 하기 위하여, 그래픽 하위시스템(30')과 연관된 모든 상호 접속 디스플레이는 블록(S812)에서 인에이블될 수 있으며, 그래픽 하위시스템(40')과 물리적으로 접속된 어떤 디스플레이라도 블록(S814)에서 논리적으로 디스에이블될 수 있다. 다음으로, 그래픽 하위시스템(30')의 동작을 제어하는 드라이버 소프트웨어는 그래픽 하위시스템(30')이 메모리(14')의 이미지를 렌더링하도록 다시 구성된다. 디스플레이 인터페이스(74')는 포트(78')에 상호 접속된 디스플레이(26') 상에 이미지를 제공하도록 메모리(14')를 계속해서 샘플링한다. 물론, 프로세서(12')는 먼저 블록(S818)에서 전력 제어기(60')에 알맞은 신호를 제공 하여 그래픽 하위시스템(40')을 저전력 상태로 만든다. 가장 간단한 형태로, 전력 제어기(60')는 그래픽 하위시스템(40')에 대한 전력을 차단하거나 그래픽 하위시스템(40')을 저전력 슬립 모드로 만든다. 또한, 저전력 소비 모드에서, 전압은 쓰로틀되고/되거나 그래픽 하위시스템(40')의 전부나 일부가 전력 차단되고/되거나 그래픽 하위시스템(40')에 의해 사용되는 선택 클록이 슬로우된다. 특히, 그래픽 하위시스템의 그래픽 엔진(42')은 아이들 혹은 거의 아이들(예컨대, 느려지거나 디스에이블되거나 전력이 끊길 수 있음)한 상태로 남게 된다. 이러한 동작 모드는 어댑터(40')와 그래픽 하위시스템(30')의 활성화된 기능 블록들에만 망사선을 넣은 도 9b에 개략적으로 도시되어 있다. 비활성화/아이들 기능 블록은 전체적으로 디스에이블되거나, 감소된 전압이나 클록 속도에서 동작될 수 있다.
선택적으로는, 그래픽 하위시스템(30')의 부분들은 그래픽 엔진(32')이 사용되지 않을 때 디스에이블될 수 있다. 이는 그래픽 엔진(32')과 다른 구성요소들을 그래픽 하위시스템(40')이 이미지를 렌더링하는데 필요한 어떤 경우에도 GPIO나 유사한 회로에 의해 디스에이블되는 하나 이상의 볼티지 아일랜드(Voltage Island)에 배치함으로써 용이하게 할 수 있다.
기타 변경들도 명백할 것이다. 예를 들면, 도 9a에 도시한 고전력 모드에서, 그래픽 하위시스템(30')과 그래픽 하위시스템(40') 양자는 메모리(14')나 메모리(50')에 렌더링할 수 있다. 이러한 방식으로, 2개의 그래픽 하위시스템(30' 및 40')은 각각이 메모리(14')의 교대적인 프레임을 렌더링하거나 메모리(14')의 각 프레임의 교대적인 부분(예컨대, 스캔라인)을 렌더링하며 동시에 동작할 수 있다.
또 다른 실시형태에서, 추가적인 디스플레이가 그래픽 하위시스템(30' 및 40')에 접속되어 고전력 소비 모드에 있어서 다중 디스플레이의 동시적인 사용을 가능하게 할 수 있다. 이러한 방식으로, 디스플레이 인터페이스(54)는 제 2 디스플레이를 구동하는데 사용될 수 있다. 저전력 소비 모드로의 전환 시에, 장치(10')는 도 9b에 도시한 바와 같이 동작하도록 구성될 수 있다.
마찬가지로, 장치(10' 혹은 10)는 그 전부가 고전력 소비 모드에서 활성화될 수 있는 버스(20' 혹은 20)에 접속된 다중의 추가적인 그래픽 하위시스템을 포함하고 그래픽 하위시스템(30')의 디스플레이 인터페이스(74')를 통해 그래픽을 렌더링할 수 있다. 저전력 소비 모드로의 전환 시, 이들은 디스에이블될 수 있으며, 렌더링은 그래픽 하위시스템(30')의 그래픽 엔진(32')에 남겨질 수 있다.
도 10에 도시한 또 다른 실시형태의 경우, 연산 장치(10)는 직접적인 메모리 액세스(DMA) 컨트롤러(90)를 포함할 수 있다. DMA 컨트롤러(90)는 메모리(50')로부터 메모리(14')로 데이터를 전송할 수 있다. 이러한 방식으로, 장치(10')의 고전력 소비 모드에서 그래픽 하위시스템(40')은 메모리(50')에 이미지를 렌더링할 수 있다. 이들 렌더링된 이미지는 이후 DMA 컨트롤러(90)에 의해 메모리(14')의 프레임 버퍼로 전송될 수 있다. DMA 컨트롤러(90')는 그래픽 하위시스템(30' 혹은 40')의 일부를 형성(예컨대, 그래픽 엔진(32' 혹은 42')의 DMA 엔진으로서)하거나, 그렇지 않으면 연산 장치(10')에 배치될 수 있다. 데이터는 버스(20')를 거쳐서, 혹은 그렇지 않으면 메모리(50')로부터 메모리(14')로 직접 전송될 수 있다. 디스플레이 인터페이스(74')는 상술한 바와 같이 작동하여 디스플레이(26') 상에서 렌더링된 이미지를 제공하기 위해 메모리(14')의 프레임 버퍼를 샘플링하는 동작을 계속할 것이다. 또한, 도 10에서 고전력 소비 모드로 장치(10')의 활성화된 블록은 도 10에서 망사선으로 도시되어 있다.
추가적인 실시형태에서, 플러그 앤 플레이 드라이버(214)(도 1)는 그래픽 하위시스템(40 혹은 40')으로부터 그래픽 하위시스템(30 혹은 30')으로의 전환을, 어댑터(40)를 저전력(혹은 오프 전력) 소비 모드로 하는 직접적인 결과로서 관리할 수 있다. 마찬가지로, 플러그 앤 플레이 드라이버(214)는 드라이버 구성요소나 추가적인 구성요소(214)를 변경할 필요 없이 어댑터(40)에 대한 전력 재공급을 처리할 수 있다.
물론, 상술한 실시형태들은 단지 예시적인 것으로서 제한적으로 의도된 것이 아니다. 본 발명을 실행하는 상술한 실시형태들은 그 형태, 부분들의 배열, 세부사항들 및 동작의 순서에 관한 다양한 변경의 여지가 있다. 오히려 본 발명은 청구항에 의해 정의되는 바와 같은 범위 내에서 그러한 모든 변경을 포괄하도록 의도된 것이다.

Claims (31)

  1. 전자 장치에 있어서,
    그래픽을 렌더링하도록 동작 가능한 제 1 그래픽 하위시스템;
    그래픽을 렌더링하도록 동작 가능한 제 2 그래픽 하윗시스템;
    상기 제 1 그래픽 하위시스템과 상기 제 2 그래픽 하위시스템 양자와 통신하는 디스플레이; 및
    프로세서 실행 가능한 명령(Processor Executable Instructions)을 실행하는 프로세서로서, 상기 명령의 실행에 의해 상기 프로세서는 상기 전자 장치를 상기 제 2 그래픽 하위시스템이 상기 디스플레이 상에 그래픽을 렌더링하는 제 1 모드로부터 상기 제 1 그래픽 하위시스템이 상기 디스플레이 상에 그래픽을 렌더링하는 제 2 모드로 전환시키는 상기 프로세서를 구비하며,
    상기 제 2 그래픽 하위시스템은 저전력 소비 모드로 되어 있는 것을 특징으로 하는 전자 장치.
  2. 제 1 항에 있어서,
    상기 프로세서와 통신하는 확장 버스를 제공하는 버스 인터페이스를 더 구비하며,
    상기 제 1 그래픽 하위시스템은 상기 버스 인터페이스와 통합되어 있는 것을 특징으로 하는 전자 장치.
  3. 제 1 항에 있어서,
    상기 제 2 그래픽 하위시스템은 도킹 스테이션(Docking Station) 상에 형성되어 있는 것을 특징으로 하는 전자 장치.
  4. 제 1 항에 있어서,
    상기 제 1 그래픽 하위시스템, 상기 제 2 그래픽 하위시스템 및 상기 프로세서는 마더보드(Motherboard) 상에 포함되어 있는 것을 특징으로 하는 전자 장치.
  5. 제 2 항에 있어서,
    상기 확장 버스와 상호 접속된 주변 확장 카드(Peripheral Expansion Card)를 더 구비하며,
    상기 제 2 그래픽 하위시스템은 상기 주변 확장 카드 상에 형성되어 있는 것을 특징으로 하는 전자 장치.
  6. 제 1 항에 있어서,
    상기 제 1 그래픽 하위시스템의 비디오 출력과 상호 접속된 제 1 신호 입력; 상기 제 2 그래픽 하위시스템의 비디오 출력과 상호 접속된 제 2 신호 입력; 상기 제 1 신호 입력과 상기 제 2 신호 입력 중 하나에서의 신호를 상기 디스플레이로 제공하기 위한 출력; 및 상기 제 1 신호 입력과 상기 제 2 신호 입력 중 어느 것을 상기 상호 접속된 디스플레이로 제공할 것인지를 선택하도록 상기 프로세서와 통신하는 제어 입력을 포함하는 스위치를 더 구비하는 것을 특징으로 하는 전자 장치.
  7. 제 6 항에 있어서,
    상기 스위치는 멀티플렉서(Multiplexer)를 구비하는 것을 특징으로 하는 전자 장치.
  8. 제 1 항에 있어서,
    상기 제 2 그래픽 하위시스템을 상기 저전력 소비 모드로 동작시키도록 상기 제 2 그래픽 하위시스템과 상호 접속된 전력 제어기(Power Controller)를 더 구비하는 것을 특징으로 하는 전자 장치.
  9. 제 1 항에 있어서,
    상기 제 1 그래픽 하위시스템을 상기 제 1 모드로 동작시키도록 상기 제 1 그래픽 하위시스템과 상호 접속된 전력 제어기를 더 구비하는 것을 특징으로 하는 전자 장치.
  10. 제 2 항에 있어서,
    상기 확장 버스는 PCI 익스프레스 버스(PCI Express Bus)를 포함하는 것을 특징으로 하는 전자 장치.
  11. 제 8 항에 있어서,
    상기 전력 제어기는 상기 제 2 모드에서 상기 제 2 그래픽 하위시스템의 적어도 일부에 대한 전력을 차단하는 것을 특징으로 하는 전자 장치.
  12. 제 8 항에 있어서,
    상기 전력 제어기는 상기 제 2 모드에서 상기 제 2 그래픽 하위시스템의 픽셀 클록(Pixel Clock)과 메모리 클록 중 적어도 하나를 감소시키는 것을 특징으로 하는 전자 장치.
  13. 제 8 항에 있어서,
    상기 전력 제어기는 상기 제 2 모드에서 상기 제 2 그래픽 하위시스템의 적어도 일부에 제공되는 전압을 감소시키는 것을 특징으로 하는 전자 장치.
  14. 제 1 항에 있어서,
    상기 컴퓨터 실행 가능한 명령은 사용자의 선택에 응답하여 상기 전자 장치를 상기 제 2 모드로 하는 것을 특징으로 하는 전자 장치.
  15. 제 1 항에 있어서,
    상기 프로세서 실행 가능한 명령은 감소된 전력 조건을 감지한 것에 응답하 여 상기 전자 장치를 상기 제 2 모드로 하는 것을 특징으로 하는 전자 장치.
  16. 제 15 항에 있어서,
    DC 전원을 더 구비하는 것을 특징으로 하는 전자 장치.
  17. 제 16 항에 있어서,
    AC 소스(Source)에 접속 가능한 전원을 더 구비하며,
    상기 감소된 전력 조건은 상기 연산 장치가 상기 AC 소스에 접속 가능한 상기 전원에 의해 더 이상 전력을 공급받지 않음을 감지하는 것을 포함하는 것을 특징으로 하는 전자 장치.
  18. 제 16 항에 있어서,
    상기 감소된 전력 조건은 상기 DC 전원의 저전력 조건을 감지하는 것을 포함하는 것을 특징으로 하는 전자 장치.
  19. 제 1 항에 있어서,
    상기 제 1 그래픽 하위시스템은 프레임 버퍼(Frame Buffer)의 이미지를 상기 디스플레이에 제공하기 위한 디스플레이 인터페이스를 포함하며,
    상기 제 2 그래픽 하위시스템은 상기 제 1 모드에서 상기 디스플레이 인터페이스에 의한 디스플레이를 위하여 상기 프레임 버퍼에 그래픽을 렌더링하는 것을 특징으로 하는 전자 장치.
  20. 제 1 항에 있어서,
    상기 제 2 그래픽 하위시스템과 연관된 로컬 메모리(Local Memory); 및
    상기 로컬 메모리와 프레임 버퍼 간에 데이터를 전송하기 위한 직접 메모리 액세스 컨트롤러(Direct Memory Access Controller)를 더 구비하며,
    상기 제 1 그래픽 하위시스템은 상기 프레임 버퍼의 이미지를 상기 디스플레이에 제공하기 위한 디스플레이 인터페이스를 포함하고, 상기 제 2 그래픽 하위시스템은 상기 로컬 메모리에 그래픽 데이터를 렌더링하며, 상기 직접 메모리 액세스 컨트롤러는 상기 제 1 모드에서 상기 그래픽 데이터를 상기 프레임 버퍼에 전송하는 것을 특징으로 하는 전자 장치.
  21. 제 1 항에 있어서,
    상기 제 1 그래픽 하위시스템과 상기 제 2 그래픽 하위시스템은 각각 제 1 그래픽 엔진과 제 2 그래픽 엔진을 포함하며,
    상기 제 2 그래픽 엔진은 상기 제 2 모드에서 아이들(Idle) 상태로 남는 것을 특징으로 하는 전자 장치.
  22. 제 1 및 제 2 그래픽 하위시스템을 갖는 연산 장치를 동작시키는 방법에 있어서,
    고전력 소비 모드에서, 상기 제 2 그래픽 하위시스템을 이용하여, 상호 접속된 디스플레이 상에 디스플레이용 그래픽을 렌더링하는 단계; 및
    상기 연산 장치의 바람직한 저전력 소비 모드를 검출하고, 상기 제 2 그래픽 하위시스템을 저전력으로 하고, 상기 바람직한 저전력 모드를 검출한 것에 응답하여 상기 제 2 그래픽 하위시스템을 저전력 소비 모드로 하고, 상기 제 2 그래픽 하위시스템이 상기 저전력 소비 모드인 동안에 상기 상호 접속된 디스플레이 상에 그래픽을 렌더링하도록 상기 제 1 그래픽 하위시스템을 구성하는 소프트웨어를 실행하는 단계를 포함하는 것을 특징으로 하는 연산 장치의 동작 방법.
  23. 제 22 항에 있어서,
    상기 소프트웨어는 DC 전원을 이용하는 상기 연산 장치의 동작을 검출함으로써 상기 바람직한 저전력 소비 모드를 검출하는 것을 특징으로 하는 연산 장치의 동작 방법.
  24. 제 22 항에 있어서,
    상기 연산 장치는 휴대용 연산 장치이고,
    상기 제 2 그래픽 하위시스템은 주변 확장 버스에 의하여 상기 연산 장치와 상호 접속된 주변 확장 카드 상에 형성되어 있는 것을 특징으로 하는 연산 장치의 동작 방법.
  25. 제 22 항에 있어서,
    상기 연산 장치의 상기 고전력 소비 모드를 검출하고, 그에 응답하여 상기 상호 접속된 디스플레이 상에 그래픽을 렌더링하도록 상기 제 2 그래픽 하위시스템을 구성하는 소프트웨어를 실행하는 단계를 더 포함하는 것을 특징으로 하는 연산 장치의 동작 방법.
  26. 제 22 항에 있어서,
    상기 제 2 그래픽 하위시스템은, 상기 제 2 그래픽 하위시스템이 상기 고전력 소비 모드인 동안에 상기 제 1 그래픽 하위시스템의 프레임 버퍼에 상기 그래픽을 렌더링함으로써, 상기 상호 접속된 디스플레이 상에 그래픽을 렌더링하는 것을 특징으로 하는 연산 장치의 동작 방법.
  27. 제 22 항에 있어서,
    상기 제 1 그래픽 하위시스템은, 상기 제 2 그래픽 하위시스템이 상기 저전력 소비 모드인 동안에 상기 제 1 그래픽 하위시스템의 프레임 버퍼에 상기 그래픽을 렌더링함으로써, 상기 상호 접속된 디스플레이 상에 그래픽을 렌더링하는 것을 특징으로 하는 연산 장치의 동작 방법.
  28. 제 25 항에 있어서,
    상기 제 2 그래픽 하위시스템은, 상기 제 2 그래픽 하위시스템이 상기 고전 력 소비 모드인 동안에 상기 제 2 그래픽 하위시스템의 프레임 버퍼에 상기 그래픽을 렌더링함으로써, 상기 상호 접속된 디스플레이 상에 그래픽을 렌더링하고,
    상기 연산 시스템이 상기 고전력 소비 모드인 경우에, 상기 그래픽을 상기 제 2 그래픽 하위시스템의 상기 프레임 버퍼로부터 상기 제 1 그래픽 하위시스템의 상기 프레임 버퍼로 전송하는 단계를 더 포함하는 것을 특징으로 하는 연산 장치의 동작 방법.
  29. 제 1 및 제 2 그래픽 하위시스템을 갖는 연산 장치를 동작시키는 방법에 있어서,
    저전력 소비 모드에서, 상기 제 1 그래픽 하위시스템을 이용하여 상호 접속된 디스플레이 상에 디스플레이용 그래픽을 렌더링하는 단계; 및
    상기 연산 장치의 바람직한 고전력 소비 모드를 검출하고, 상기 바람직한 고전력 소비 모드를 검출한 것에 응답하여 상기 제 2 그래픽 하위시스템을 고전력 소비 모드로 하고, 상기 상호 접속된 디스플레이 상에 그래픽을 렌더링하도록 상기 제 2 그래픽 하위시스템을 구성하는 소프트웨어를 실행하는 단계를 포함하는 것을 특징으로 하는 연산 장치의 동작 방법.
  30. 휴대용 연산 장치에 있어서,
    DC 전원, 디스플레이, 중앙 프로세서, 제 1 그래픽 하위시스템 및 마더보드 상의 메모리를 포함하는 하우징(Housing);
    상기 하우징에 형성된 주변 확장 슬롯; 및
    상기 주변 확장 슬롯의 주변 확장 카드 상의 제 2 그래픽 하위시스템을 구비하며,
    상기 메모리는, 상기 주변 확장 카드 상의 상기 제 2 그래픽 하위시스템을 상기 주변 확장 카드 상의 상기 그래픽 하위시스템이 그래픽을 렌더링하는 고전력 소비 모드로부터 저전력 소비 모드로 전환하고, 바람직한 저전력 모드를 감지한 것에 응답하여 상기 제 1 그래픽 하위시스템을 이용하여 그래픽을 렌더링하도록 실행되는 전력 관리 소프트웨어를 저장하는 것을 특징으로 하는 휴대용 연산 장치.
  31. 제 30 항에 있어서,
    AC 공급원에 접속된 전원을 더 구비하며,
    상기 바람직한 저전력 모드를 감지하는 것은, 상기 휴대용 연산 장치에 대한 전력 공급을 상기 AC 공급원에 접속된 상기 AC 전원으로부터 상기 DC 전원으로 전환한 것을 감지하는 것을 포함하는 것을 특징으로 하는 휴대용 연산 장치.
KR1020087032024A 2006-05-30 2007-05-30 다중 그래픽 하위시스템과 전력 소비 절감 모드를 가진 장치, 소프트웨어 및 방법 KR101456723B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/421,005 2006-05-30
US11/421,005 US7730336B2 (en) 2006-05-30 2006-05-30 Device having multiple graphics subsystems and reduced power consumption mode, software and methods
PCT/US2007/069969 WO2007140404A2 (en) 2006-05-30 2007-05-30 Device having multiple graphics subsystems and reduced power consumption mode, software and methods

Publications (2)

Publication Number Publication Date
KR20090040410A true KR20090040410A (ko) 2009-04-24
KR101456723B1 KR101456723B1 (ko) 2014-11-12

Family

ID=38586847

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087032024A KR101456723B1 (ko) 2006-05-30 2007-05-30 다중 그래픽 하위시스템과 전력 소비 절감 모드를 가진 장치, 소프트웨어 및 방법

Country Status (6)

Country Link
US (2) US7730336B2 (ko)
EP (4) EP2428948B1 (ko)
JP (1) JP5069291B2 (ko)
KR (1) KR101456723B1 (ko)
CN (1) CN101536080B (ko)
WO (1) WO2007140404A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120083365A (ko) * 2009-09-09 2012-07-25 에이티아이 테크놀로지스 유엘씨 디바이스를 디스에이블시키는 방법 및 장치

Families Citing this family (125)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080143731A1 (en) * 2005-05-24 2008-06-19 Jeffrey Cheng Video rendering across a high speed peripheral interconnect bus
US7730336B2 (en) * 2006-05-30 2010-06-01 Ati Technologies Ulc Device having multiple graphics subsystems and reduced power consumption mode, software and methods
US7433191B2 (en) * 2005-09-30 2008-10-07 Apple Inc. Thermal contact arrangement
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
US9099050B1 (en) * 2006-08-24 2015-08-04 Nvidia Corporation Method and apparatus for dynamically modifying the graphics capabilities of a mobile device
US8199155B2 (en) * 2006-11-22 2012-06-12 Nvidia Corporation System, method, and computer program product for saving power in a multi-graphics processor environment
US10127480B1 (en) 2007-03-09 2018-11-13 R. B. III Associates, Inc. System for automated decoration
US8085009B2 (en) * 2007-08-13 2011-12-27 The Powerwise Group, Inc. IGBT/FET-based energy savings device for reducing a predetermined amount of voltage using pulse width modulation
US8619443B2 (en) 2010-09-29 2013-12-31 The Powerwise Group, Inc. System and method to boost voltage
US8085010B2 (en) 2007-08-24 2011-12-27 The Powerwise Group, Inc. TRIAC/SCR-based energy savings device for reducing a predetermined amount of voltage using pulse width modulation
US8120307B2 (en) 2007-08-24 2012-02-21 The Powerwise Group, Inc. System and method for providing constant loading in AC power applications
US8698447B2 (en) 2007-09-14 2014-04-15 The Powerwise Group, Inc. Energy saving system and method for devices with rotating or reciprocating masses
US8810190B2 (en) 2007-09-14 2014-08-19 The Powerwise Group, Inc. Motor controller system and method for maximizing energy savings
US20090079746A1 (en) * 2007-09-20 2009-03-26 Apple Inc. Switching between graphics sources to facilitate power management and/or security
US8610725B2 (en) 2007-10-10 2013-12-17 Apple Inc. Framework for dynamic configuration of hardware resources
US8284205B2 (en) * 2007-10-24 2012-10-09 Apple Inc. Methods and apparatuses for load balancing between multiple processing units
US8233000B1 (en) * 2007-11-08 2012-07-31 Nvidia Corporation System and method for switching between graphical processing units
US8166326B2 (en) 2007-11-08 2012-04-24 International Business Machines Corporation Managing power consumption in a computer
US8259119B1 (en) * 2007-11-08 2012-09-04 Nvidia Corporation System and method for switching between graphical processing units
US8345052B1 (en) * 2007-11-08 2013-01-01 Nvidia Corporation Method and system for using a GPU frame buffer in a multi-GPU system as cache memory
US8041521B2 (en) 2007-11-28 2011-10-18 International Business Machines Corporation Estimating power consumption of computing components configured in a computing system
US8022956B2 (en) 2007-12-13 2011-09-20 Ati Technologies Ulc Settings control in devices comprising at least two graphics processors
US7861013B2 (en) * 2007-12-13 2010-12-28 Ati Technologies Ulc Display system with frame reuse using divided multi-connector element differential bus connector
US8487943B2 (en) * 2007-12-13 2013-07-16 Advanced Micro Devices, Inc. Driver architecture for computing device having multiple graphics subsystems, reduced power consumption modes, software and methods
US8890876B1 (en) * 2007-12-21 2014-11-18 Oracle America, Inc. Microprocessor including a display interface in the microprocessor
US9336752B1 (en) * 2007-12-21 2016-05-10 Oracle America, Inc. Microprocessor including a display interface in the microprocessor
TW200928664A (en) 2007-12-27 2009-07-01 Asustek Comp Inc Computer system and power-saving method thereof
CN101470685B (zh) * 2007-12-28 2012-07-18 辉达公司 增强移动计算装置绘图性能的方法及设备
KR100969322B1 (ko) 2008-01-10 2010-07-09 엘지전자 주식회사 멀티 그래픽 컨트롤러를 구비한 데이터 처리 장치 및 이를이용한 데이터 처리 방법
CN101493761B (zh) 2008-01-25 2013-05-29 国际商业机器公司 处理器流水线处理指令的方法及相应的处理器
US8635480B1 (en) * 2008-02-26 2014-01-21 Nvidia Corporation Method and apparatus for controlling power to a processing unit
US8963935B1 (en) * 2008-04-16 2015-02-24 Nvidia Corporation Method and system for accessing display configuration information in a multi-GPU system using hot-plug detection signals
US9064322B1 (en) * 2008-04-16 2015-06-23 Nvidia Corporation Method and system for steering access to display configuration information in a multi-GPU system
US8243082B1 (en) * 2008-04-16 2012-08-14 Nvidia Corporation Method and system for accessing display configuration information in a multi-GPU system via an embedded controller
US8525840B2 (en) * 2008-05-15 2013-09-03 Apple Inc. Thermal management of graphics processing units
US8103884B2 (en) 2008-06-25 2012-01-24 International Business Machines Corporation Managing power consumption of a computer
GB0812770D0 (en) * 2008-07-11 2008-08-20 Zbd Displays Ltd A display system
US8004255B2 (en) 2008-08-07 2011-08-23 The Powerwise Group, Inc. Power supply for IGBT/FET drivers
US8347118B1 (en) 2008-09-19 2013-01-01 Nvidia Corporation Method and system for managing the power state of an audio device integrated in a graphics device
US9182939B1 (en) 2008-09-19 2015-11-10 Nvidia Corporation Method and system for managing the power state of an audio device integrated in a graphics device
US8190937B1 (en) * 2008-09-19 2012-05-29 Nvidia Corporation Method and system for managing the power state of an audio device integrated in a graphics device
US8041976B2 (en) 2008-10-01 2011-10-18 International Business Machines Corporation Power management for clusters of computers
US8300056B2 (en) * 2008-10-13 2012-10-30 Apple Inc. Seamless display migration
US9165493B2 (en) * 2008-10-14 2015-10-20 Apple Inc. Color correction of electronic displays utilizing gain control
US9063713B2 (en) * 2008-10-28 2015-06-23 Apple Inc. Graphics controllers with increased thermal management granularity
US8514215B2 (en) * 2008-11-12 2013-08-20 International Business Machines Corporation Dynamically managing power consumption of a computer with graphics adapter configurations
US8717372B1 (en) * 2008-12-01 2014-05-06 Nvidia Corporation Transitioning between operational modes in a hybrid graphics system
US8717371B1 (en) * 2008-12-01 2014-05-06 Nvidia Corporation Transitioning between operational modes in a hybrid graphics system
US9865233B2 (en) * 2008-12-30 2018-01-09 Intel Corporation Hybrid graphics display power management
US20100164966A1 (en) * 2008-12-31 2010-07-01 Apple Inc. Timing controller for graphics system
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
US9075559B2 (en) * 2009-02-27 2015-07-07 Nvidia Corporation Multiple graphics processing unit system and method
US8310488B2 (en) * 2009-04-02 2012-11-13 Sony Computer Intertainment America, Inc. Dynamic context switching between architecturally distinct graphics processors
US9324294B2 (en) * 2009-04-07 2016-04-26 Nvidia Corporation Graphics system for supporting multiple digital display interface standards
JP2011008343A (ja) * 2009-06-23 2011-01-13 Toshiba Corp 電子機器
US8698446B2 (en) 2009-09-08 2014-04-15 The Powerwise Group, Inc. Method to save energy for devices with rotating or reciprocating masses
US8839012B2 (en) * 2009-09-08 2014-09-16 Advanced Micro Devices, Inc. Power management in multi-GPU systems
EP2475888B1 (en) 2009-09-08 2019-04-24 The Powerwise Group, Inc. Energy saving system and method for devices with rotating or reciprocating masses
US8943347B2 (en) * 2009-09-09 2015-01-27 Advanced Micro Devices, Inc. Controlling the power state of an idle processing device
US8305380B2 (en) * 2009-09-09 2012-11-06 Advanced Micro Devices, Inc. Managing resources to facilitate altering the number of active processors
US20110063304A1 (en) * 2009-09-16 2011-03-17 Nvidia Corporation Co-processing synchronizing techniques on heterogeneous graphics processing units
US9830889B2 (en) 2009-12-31 2017-11-28 Nvidia Corporation Methods and system for artifically and dynamically limiting the display resolution of an application
US8648868B2 (en) 2010-01-06 2014-02-11 Apple Inc. Color correction to facilitate switching between graphics-processing units
US8368702B2 (en) * 2010-01-06 2013-02-05 Apple Inc. Policy-based switching between graphics-processing units
US8797334B2 (en) * 2010-01-06 2014-08-05 Apple Inc. Facilitating efficient switching between graphics-processing units
JP2011141707A (ja) 2010-01-07 2011-07-21 Sony Corp 情報処理装置、情報処理方法及びプログラム
US8903366B2 (en) * 2010-03-01 2014-12-02 Samsung Electronics Co., Ltd. Dynamic switching between software and hardware graphics rendering for power consumption
US20110216078A1 (en) * 2010-03-04 2011-09-08 Paul Blinzer Method, System, and Apparatus for Processing Video and/or Graphics Data Using Multiple Processors Without Losing State Information
TWI465890B (zh) * 2010-03-26 2014-12-21 Hon Hai Prec Ind Co Ltd 電壓轉換裝置
US8730251B2 (en) 2010-06-07 2014-05-20 Apple Inc. Switching video streams for a display without a visible interruption
JP2012078931A (ja) 2010-09-30 2012-04-19 Sony Corp 表示制御装置、情報処理装置及び表示方法
EP2450786A1 (en) * 2010-11-03 2012-05-09 Giga-Byte Technology Co., Ltd. A detection switch system of a video operation module
WO2012141677A1 (en) * 2011-04-11 2012-10-18 Hewlett-Packard Development Company, L.P. Performing a task in a system having different types of hardware resources
US8924752B1 (en) 2011-04-20 2014-12-30 Apple Inc. Power management for a graphics processing unit or other circuit
WO2011110121A2 (zh) * 2011-04-22 2011-09-15 华为技术有限公司 管理电源的方法、终端设备、网络侧设备和通信系统
US9652016B2 (en) * 2011-04-27 2017-05-16 Nvidia Corporation Techniques for degrading rendering quality to increase operating time of a computing platform
US8477490B2 (en) 2011-05-02 2013-07-02 Apple Inc. Cooling system for mobile electronic devices
TWI471721B (zh) * 2011-07-27 2015-02-01 Ibm 具有電源供應超載模式之電腦系統
WO2013062551A1 (en) * 2011-10-27 2013-05-02 Hewlett-Packard Development Company, L.P. Automatically configurable video systems with multiple sources and method of configuring video systems
CN103123612B (zh) * 2011-11-21 2017-11-28 联想(北京)有限公司 一种共享设备的控制方法及一种电子设备
US10242418B2 (en) 2011-11-21 2019-03-26 Intel Corporation Reconfigurable graphics processor for performance improvement
US8856566B1 (en) 2011-12-15 2014-10-07 Apple Inc. Power management scheme that accumulates additional off time for device when no work is available and permits additional power consumption by device when awakened
TWI449921B (zh) * 2011-12-21 2014-08-21 Acer Inc 調整電能消耗的裝置及其方法
US9037877B2 (en) * 2012-01-20 2015-05-19 Dell Products L.P. System and method for operating a plurality of components according to first or second operating characteristics in response to a detected first or second power input characteristic associated with a first or second power input respectively
US9390461B1 (en) 2012-05-08 2016-07-12 Apple Inc. Graphics hardware mode controls
US9035956B1 (en) 2012-05-08 2015-05-19 Apple Inc. Graphics power control with efficient power usage during stop
CN103455120A (zh) * 2012-05-28 2013-12-18 鸿富锦精密工业(深圳)有限公司 电源控制系统及方法
US20150356655A1 (en) * 2012-05-31 2015-12-10 Matthew Nathan Lehrer System and method for automated design element translation
US9250665B2 (en) 2012-06-07 2016-02-02 Apple Inc. GPU with dynamic performance adjustment
US10552846B2 (en) * 2012-10-12 2020-02-04 Document Security Systems, Inc. Authenticated barcode patterns
CN104854535A (zh) 2012-10-16 2015-08-19 雷蛇(亚太)私人有限公司 计算系统及用于控制计算系统的方法
TWI467362B (zh) * 2012-10-22 2015-01-01 Chicony Power Tech Co Ltd 具有低待機功耗之電源供應裝置
US9208755B2 (en) 2012-12-03 2015-12-08 Nvidia Corporation Low power application execution on a data processing device having low graphics engine utilization
US9125299B2 (en) 2012-12-06 2015-09-01 Apple Inc. Cooling for electronic components
US9160227B2 (en) 2012-12-14 2015-10-13 Chicony Power Technology Co., Ltd. Power supply apparatus with low standby power consumption
TWI515549B (zh) 2012-12-26 2016-01-01 萬國商業機器公司 目標裝置的過熱保護方法、過熱保護裝置、及其資訊處理系統
US9201487B2 (en) * 2013-03-05 2015-12-01 Intel Corporation Reducing power consumption during graphics rendering
US9256316B2 (en) 2013-05-04 2016-02-09 Nvidia Corporation Power gating a display of a data processing device during cloning thereof across an external display while retaining touch-sensibility thereof
US9400540B2 (en) * 2013-05-20 2016-07-26 Ati Technologies Ulc Event based dynamic power management
US10242652B2 (en) 2013-06-13 2019-03-26 Intel Corporation Reconfigurable graphics processor for performance improvement
US9223167B2 (en) 2013-06-26 2015-12-29 Apple Inc. Liquid crystal switching barrier thermal control
US10496152B2 (en) 2013-09-27 2019-12-03 Intel Corporation Power control techniques for integrated PCIe controllers
US9389029B2 (en) 2013-09-30 2016-07-12 Apple Inc. Heat transfer structure
CN103714308A (zh) * 2013-12-07 2014-04-09 苏州斯普锐智能系统有限公司 一种具有温度调节模块的条码扫描装置
CN103945255A (zh) * 2014-04-10 2014-07-23 苏州佳世达电通有限公司 显示装置及显示装置的控制方法
KR102202110B1 (ko) * 2014-04-30 2021-01-13 삼성전자주식회사 서비스 제공 방법, 전자 장치 및 저장 매체
KR102327803B1 (ko) * 2014-11-21 2021-11-17 삼성전자 주식회사 전력 소모를 줄이기 위한 전력 제어 방법 및 장치
US10324137B2 (en) * 2015-02-24 2019-06-18 Quanta Computer Inc. Intelligent method for calibrating battery capacity
CN106033242B (zh) 2015-03-09 2019-08-16 光宝电子(广州)有限公司 外部电源供应器以及应用于其的系统连接侦测单元
JP6784664B2 (ja) * 2015-03-30 2020-11-11 フェリカネットワークス株式会社 情報処理装置、情報処理方法、および情報処理システム
US9674986B2 (en) 2015-08-03 2017-06-06 Apple Inc. Parallel heat spreader
CN105808191A (zh) * 2016-03-15 2016-07-27 山东超越数控电子有限公司 一种自动识别输出通道的显示转换方法
US10394313B2 (en) * 2017-03-15 2019-08-27 Microsoft Technology Licensing, Llc Low latency cross adapter VR presentation
TWI619011B (zh) * 2017-04-26 2018-03-21 全漢企業股份有限公司 電源供應裝置與電源供應方法
US11043158B2 (en) * 2018-01-05 2021-06-22 Intel Corporation Video bandwidth optimization for multi-monitor systems
US11137815B2 (en) 2018-03-15 2021-10-05 Nvidia Corporation Metering GPU workload with real time feedback to maintain power consumption below a predetermined power budget
JP6617388B1 (ja) 2018-06-21 2019-12-11 レノボ・シンガポール・プライベート・リミテッド 情報処理装置、映像表示装置、および映像表示システム
KR20210125330A (ko) * 2020-04-08 2021-10-18 삼성전자주식회사 보안 데이터 처리 방법 및 이를 지원하는 전자 장치
US11514551B2 (en) 2020-09-25 2022-11-29 Intel Corporation Configuration profiles for graphics processing unit
US20220317756A1 (en) * 2021-03-31 2022-10-06 Advanced Micro Devices, Inc. Graphics processing unit (gpu) selection based on a utilized power source
CN114035421A (zh) * 2021-07-06 2022-02-11 珠海奔图电子有限公司 图像形成装置及其休眠控制方法
WO2023075744A1 (en) * 2021-10-25 2023-05-04 Hewlett-Packard Development Company, L.P. Hardware component voltage regulation

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2716812B2 (ja) 1989-09-22 1998-02-18 豊信 吉田 高硬度を有する窒化ほう素堆積膜の形成方法
JPH03107450U (ko) * 1990-02-19 1991-11-06
US5485562A (en) * 1993-09-14 1996-01-16 International Business Machines Corporation System and method for clipping pixels drawn in one of plurality of windows in a computer graphics system
US5712664A (en) * 1993-10-14 1998-01-27 Alliance Semiconductor Corporation Shared memory graphics accelerator system
DE4405330A1 (de) * 1994-02-21 1995-08-24 Vobis Microcomputer Ag Verfahren zum Scrollen von mehreren Rasterzeilen in einem Fenster eines Grafikmodus betriebenen Bildschirms eines Personalcomputers
US5488385A (en) * 1994-03-03 1996-01-30 Trident Microsystems, Inc. Multiple concurrent display system
JPH0922339A (ja) * 1995-07-05 1997-01-21 Matsushita Electric Ind Co Ltd 遠隔操作装置
US5896141A (en) * 1996-07-26 1999-04-20 Hewlett-Packard Company System and method for virtual device access in a computer system
US6046709A (en) * 1997-01-17 2000-04-04 Intergraph Corporation Multiple display synchronization apparatus and method
US6018340A (en) * 1997-01-27 2000-01-25 Microsoft Corporation Robust display management in a multiple monitor environment
US5949437A (en) * 1997-02-19 1999-09-07 Appian Graphics Corp. Dual video output board with a shared memory interface
US6104414A (en) * 1997-03-12 2000-08-15 Cybex Computer Products Corporation Video distribution hub
JPH1165719A (ja) * 1997-08-21 1999-03-09 Toshiba Corp コンピュータおよび画像表示方法
JPH11109937A (ja) 1997-09-29 1999-04-23 Casio Comput Co Ltd 表示制御装置
US6040845A (en) * 1997-12-22 2000-03-21 Compaq Computer Corp. Device and method for reducing power consumption within an accelerated graphics port target
US6208361B1 (en) * 1998-06-15 2001-03-27 Silicon Graphics, Inc. Method and system for efficient context switching in a computer graphics system
US6532019B1 (en) * 1998-06-17 2003-03-11 Advanced Micro Devices, Inc. Input/output integrated circuit hub incorporating a RAMDAC
US6573905B1 (en) * 1999-11-09 2003-06-03 Broadcom Corporation Video and graphics system with parallel processing of graphics windows
TW436694B (en) * 1999-08-24 2001-05-28 Via Tech Inc System control chip and computer system having a multiplexed graphic bus architecture
US6624816B1 (en) * 1999-09-10 2003-09-23 Intel Corporation Method and apparatus for scalable image processing
US6760031B1 (en) 1999-12-31 2004-07-06 Intel Corporation Upgrading an integrated graphics subsystem
JP3862976B2 (ja) * 2001-07-31 2006-12-27 株式会社東芝 表示機構
JP3862983B2 (ja) * 2001-09-17 2006-12-27 株式会社東芝 表示機構およびコンピュータシステム
US7079149B2 (en) * 2001-10-09 2006-07-18 Texas Instruments Incorporated System, method, and device for accelerated graphics port linking
US20030158886A1 (en) * 2001-10-09 2003-08-21 Walls Jeffrey J. System and method for configuring a plurality of computers that collectively render a display
US6864891B2 (en) * 2002-01-31 2005-03-08 Hewlett-Packard Development Company L.P. Switching between internal and external display adapters in a portable computer system
JP2003233780A (ja) 2002-02-06 2003-08-22 Mitsubishi Electric Corp データ通信装置
US6700580B2 (en) * 2002-03-01 2004-03-02 Hewlett-Packard Development Company, L.P. System and method utilizing multiple pipelines to render graphical data
US6886057B2 (en) * 2002-06-06 2005-04-26 Dell Products L.P. Method and system for supporting multiple bus protocols on a set of wirelines
US7388579B2 (en) * 2003-05-01 2008-06-17 Motorola, Inc. Reduced power consumption for a graphics accelerator and display
US7538762B2 (en) * 2003-09-30 2009-05-26 Intel Corporation Switching display update properties upon detecting a power management event
US7102645B2 (en) 2003-12-15 2006-09-05 Seiko Epson Corporation Graphics display controller providing enhanced read/write efficiency for interfacing with a RAM-integrated graphics display device
US7289125B2 (en) 2004-02-27 2007-10-30 Nvidia Corporation Graphics device clustering with PCI-express
US7265759B2 (en) * 2004-04-09 2007-09-04 Nvidia Corporation Field changeable rendering system for a computing device
US6985152B2 (en) * 2004-04-23 2006-01-10 Nvidia Corporation Point-to-point bus bridging without a bridge controller
US20050237329A1 (en) * 2004-04-27 2005-10-27 Nvidia Corporation GPU rendering to system memory
JP2005316176A (ja) * 2004-04-28 2005-11-10 Toshiba Corp 電子機器及び表示制御方法
US7730335B2 (en) * 2004-06-10 2010-06-01 Marvell World Trade Ltd. Low power computer with main and auxiliary processors
US8446417B2 (en) 2004-06-25 2013-05-21 Nvidia Corporation Discrete graphics system unit for housing a GPU
TWM261751U (en) 2004-07-09 2005-04-11 Uniwill Comp Corp Switching display processing architecture for information device
US7721118B1 (en) * 2004-09-27 2010-05-18 Nvidia Corporation Optimizing power and performance for multi-processor graphics processing
US7545380B1 (en) * 2004-12-16 2009-06-09 Nvidia Corporation Sequencing of displayed images for alternate frame rendering in a multi-processor graphics system
CN100507825C (zh) * 2004-12-20 2009-07-01 建碁股份有限公司 计算机图像系统与处理装置
US7730336B2 (en) * 2006-05-30 2010-06-01 Ati Technologies Ulc Device having multiple graphics subsystems and reduced power consumption mode, software and methods
US7817155B2 (en) * 2005-05-24 2010-10-19 Ati Technologies Inc. Master/slave graphics adapter arrangement
CN1968369A (zh) * 2005-11-18 2007-05-23 南京Lg同创彩色显示系统有限责任公司 显示模式选择导引方法及装置
JP5076317B2 (ja) * 2005-12-27 2012-11-21 ソニー株式会社 情報処理装置、情報処理方法及びそのプログラム
US7698579B2 (en) * 2006-08-03 2010-04-13 Apple Inc. Multiplexed graphics architecture for graphics power management

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120083365A (ko) * 2009-09-09 2012-07-25 에이티아이 테크놀로지스 유엘씨 디바이스를 디스에이블시키는 방법 및 장치
KR101627303B1 (ko) * 2009-09-09 2016-06-03 어드밴스드 마이크로 디바이시즈, 인코포레이티드 디바이스를 디스에이블시키는 방법 및 장치

Also Published As

Publication number Publication date
EP2426661B1 (en) 2015-12-02
US20100293402A1 (en) 2010-11-18
CN101536080A (zh) 2009-09-16
WO2007140404A3 (en) 2008-02-07
EP2033183B1 (en) 2015-11-18
EP2428948A1 (en) 2012-03-14
US8868945B2 (en) 2014-10-21
EP2428948B1 (en) 2017-06-21
EP2423913A1 (en) 2012-02-29
WO2007140404A2 (en) 2007-12-06
JP2009539192A (ja) 2009-11-12
KR101456723B1 (ko) 2014-11-12
US20070283175A1 (en) 2007-12-06
CN101536080B (zh) 2013-06-19
EP2426661A1 (en) 2012-03-07
JP5069291B2 (ja) 2012-11-07
EP2033183A2 (en) 2009-03-11
US7730336B2 (en) 2010-06-01
EP2423913B1 (en) 2015-12-02

Similar Documents

Publication Publication Date Title
EP2033183B1 (en) Device having multiple graphics subsystems and reduced power consumption mode, software and methods
US8555099B2 (en) Device having multiple graphics subsystems and reduced power consumption mode, software and methods
US8487943B2 (en) Driver architecture for computing device having multiple graphics subsystems, reduced power consumption modes, software and methods
JP4594761B2 (ja) 情報処理装置およびその制御方法
US8233000B1 (en) System and method for switching between graphical processing units
US7698579B2 (en) Multiplexed graphics architecture for graphics power management
EP2476037B1 (en) Managing resources to facilitate altering the number of active processors
US8259119B1 (en) System and method for switching between graphical processing units
WO2010107818A1 (en) Power management system and method
JP5989504B2 (ja) 情報処理装置および動作制御方法
US20090300396A1 (en) Information processing apparatus
US10228750B2 (en) Reducing the power consumption of an information handling system capable of handling both dynamic and static display applications
JP2000010907A (ja) 情報処理装置
JPH11194847A (ja) コンピュータシステムおよび初期化制御装置
KR20230164087A (ko) 활용된 전원에 기초한 그래픽 프로세싱 유닛(gpu) 선택
JP2012133652A (ja) 情報処理装置および同装置における映像信号の出力制御方法
JP5085714B2 (ja) 情報処理装置およびその制御方法
JP2012118891A (ja) コンピュータの消費電力の低減方法およびコンピュータ
WO2023075791A1 (en) Switching display port connected to external display between discrete and integrated graphics processors

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: 20170919

Year of fee payment: 4