KR100681976B1 - 성능 관리를 위한 제한 인터페이스 - Google Patents

성능 관리를 위한 제한 인터페이스 Download PDF

Info

Publication number
KR100681976B1
KR100681976B1 KR1020057004668A KR20057004668A KR100681976B1 KR 100681976 B1 KR100681976 B1 KR 100681976B1 KR 1020057004668 A KR1020057004668 A KR 1020057004668A KR 20057004668 A KR20057004668 A KR 20057004668A KR 100681976 B1 KR100681976 B1 KR 100681976B1
Authority
KR
South Korea
Prior art keywords
performance state
performance
condition
limit
adjusting
Prior art date
Application number
KR1020057004668A
Other languages
English (en)
Other versions
KR20050048639A (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 KR20050048639A publication Critical patent/KR20050048639A/ko
Application granted granted Critical
Publication of KR100681976B1 publication Critical patent/KR100681976B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1632External expansion units, e.g. docking stations
    • 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
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02HEMERGENCY PROTECTIVE CIRCUIT ARRANGEMENTS
    • H02H3/00Emergency protective circuit arrangements for automatic disconnection directly responsive to an undesired change from normal electric working condition with or without subsequent reconnection ; integrated protection
    • H02H3/02Details
    • H02H3/05Details with means for increasing reliability, e.g. redundancy arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Power Sources (AREA)
  • Computer And Data Communications (AREA)
  • User Interface Of Digital Computer (AREA)
  • Selective Calling Equipment (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명의 일 실시예에서, 제1 디바이스와 관련된 환경 조건이 감시된다. 제1 디바이스는 제1 성능 상태에서 동작한다. 환경 조건에 기초하여 제1 디바이스에 대해 제1 성능 상태에서 제2 성능 상태로 조절하도록 요청하는 제한 명령어가 생성된다.

Description

성능 관리를 위한 제한 인터페이스{LIMIT INTERFACE FOR PERFORMANCE MANAGEMENT}
본 발명의 실시예는 마이크로프로세서의 분야에 관한 것이고, 특히 프로세서 성능 상태에 관한 것이다.
마이크로프로세서 기술에 있어서의 진보로 말미암아 사용자에게 높은 레벨의 성능 유연성(performance flexibility)을 제공하게 되었다. 예컨대, 최근의 프로세서는 다중 성능 상태 효율(multiple performance state efficiencies)을 가진다. 전형적으로, 디바이스 성능 상태는 전력 소비, 열적 동작(thermal operation) 및 음향 특징과 같은 하나 이상의 디바이스 파라미터의 감소를 위하여 디바이스 성능을 희생한다. 일반적으로, 성능 정책(performance policy)은 디바이스 활성도 또는 수요, 전원, 사용자 선호도(예컨대, 성능, 전력 절약 및 음향) 및 불리한 조건(예컨대, 열적 조건, 낮은 배터리 전력)과 같은 다중 인자에 의하여 좌우된다.
ACPI(Advanced Configuration and Power Interface) 설명서는 플랫폼 전력 관리 및 계산을 수행하기 위한 새로운 방법을 도입하였다. 이러한 아키텍처는 테이블 기반이며 ACPI 소스 언어(ACPI Source Language(ASL)) 코드로 작성된 제어 메소드를 실행할 능력을 가진다. ACPI는 전역 전력 관리(global power management) 가 개발될 수 있는 표준 설명서를 제공한다. 그러나, 이러한 전역 접근방법은 많은 단점을 가진다. 첫째로, 이러한 모델은 OS가 플랫폼 내의 모든 디바이스 또는 프로세서의 능력을 알 수 있고 이를 제어할 수 있다고 가정한다. 그러나, 새로운 디바이스가 플랫폼에 추가된 경우에는 반드시 그런 것은 아니다. 둘째로 이러한 모델은 개별 디바이스 또는 프로세서를 전력 관리의 관점에서 구별할 수 없다. 실제적으로, 각 디바이스 또는 프로세서는 다른 성능 특징을 가질 수 있다. 셋째로, 이러한 모델은 다양한 디바이스 드라이버를 제공해야하는 부담을 지운다.
본 발명의 일 실시예에서, 제1 디바이스와 관련된 환경 조건이 감시된다. 제1 디바이스는 제1 성능 상태에서 동작한다. 환경 조건에 기초하여 제1 디바이스에 대해 제1 성능 상태를 제2 성능 상태로 조절하라고 요청하는 제한 명령이 생성된다. 본 발명의 다른 실시예에 있어서, 디바이스에 대한 환경 조건에 기초한 제한 명령이 수신된다. 디바이스는 성능 상태를 조절하기 위하여 제한 명령을 제한 제어로 변환한다. 디바이스는 제1 성능 상태에서 동작한다. 디바이스의 제1 성능 상태는 제한 명령에 따라 제2 성능 상태로 조절된다.
본 발명은 본 발명의 실시예를 기술하기 위하여 사용되는 이하 설명 및 첨부된 도면을 참조하여 가장 잘 이해될 것이다.
도 1은 본 발명의 일 실시예가 실시될 수 있는 시스템을 설명하는 도면.
도 2는 본 발명의 일 실시예에 따른 제한 인터페이스를 설명하는 도면.
도 3은 본 발명의 일 실시예에 따른 플랫폼 드라이버에 의하여 성능을 제한하는 프로세스를 도시하는 흐름도.
도 4는 본 발명의 다른 실시예에 따른 디바이스 드라이버에 의하여 성능을 제한하기 위한 프로세스를 도시하는 흐름도.
이하의 설명에서, 수많은 특정 상세가 주어진다. 그러나, 본 발명의 실시예는 이러한 특정 상세 없이 실시될 수 있음이 이해하여야 한다. 다른 경우에, 공지의 회로, 구조 및 기법은 본 설명의 이해를 불명료하지 않도록 하기 위해서 도시되지 않았다.
본 발명의 일 실시예의 구성요소는 하드웨어, 소프트웨어, 펌웨어, 마이크로코드 또는 그들의 임의의 조합에 의해서 구현될 수 있다. 소프트웨어, 펌웨어 또는 마이크로코드로 구현된 경우, 본 발명의 실시예의 구성요소는 필요한 작업을 수행하는 프로그램 코드 또는 코드 세그먼트(code segment)이다. 코드 세그먼트는 프로시저, 함수, 서브프로그램, 프로그램, 루틴, 서브루틴, 모듈, 소프트웨어 패키지, 클래스익나 또는 명령어, 데이터 구조 또는 프로그램 문장의 임의의 조합을 나타낼 수 있다. 코드 세그먼트는 정보, 데이터, 인자(argument), 파라미터 또는 메모리 컨텐츠를 전달 및/또는 수신함으로써 다른 코드 세그먼트 또는 하드웨어 회로 와 결합될 수 있다. 정보, 인자, 파라미터, 데이터 등은 메모리 공유, 메시지 전달, 토큰 전달, 네트워크 송신 등을 포함하는 임의의 적절한 수단을 통하여 전달, 재전송 또는 송신될 수 있다. 프로그램 또는 코드 세그먼트는 프로세서 판독가능 매체에 저장될 수 있거나 반송파(carrier wave)에 포함된 컴퓨터 데이터 신호 또는 캐리어에 의해 변조된 신호에 의해 송신 매체 상으로 송신될 수 있다. "프로세서 판독 가능 또는 액세스 가능 매체" 또는 "기계 판독 가능 또는 액세스 가능 매체"는 정보를 저장, 송신 또는 전송할 수 있는 어떠한 매체도 포함한다. 기계 판독 가능 매체의 예는 전자 회로, 반도체 메모리 디바이스, ROM, 플래시 메모리, 삭제 가능 ROM(erasable ROM; EROM), 플로피 디스켓, 컴팩트 디스크(CD-ROM), 광 디스크, 하드 디스크, 광섬유 매체, 라디오 주파수(Radio Frequency; RF) 링크 등을 포함한다. 컴퓨터 데이터 신호는 전자 네트워크 채널, 광섬유, 공기, 전자기(electromagnetic), RF 링크 등과 같은 송신 매체 상으로 전파될 수 있는 임의의 신호를 포함한다. 코드 세그먼트는 인터넷, 인트라넷 등과 같은 컴퓨터 네트워크를 통하여 다운로드될 수 있다. 기계 액세스 가능 매체는 제조물로 구현될 수 있다. 기계 판독가능 매체는, 기계에 의하여 액세스되는 경우, 기계로 하여금 이하 설명되는 동작을 수행하도록 하는 데이터를 포함할 수 있다. 본 명세서에서 "데이터"라는 용어는 기계 판독 가능 목적을 위하여 부호화되는 임의의 종류의 정보를 일컫는다. 따라서, 이는 프로그램, 코드, 데이터, 파일 등을 포함할 수 있다.
본 발명의 실시예의 전부 또는 일부는 소프트웨어로 구현될 수 있다. 소프트웨어는 서로 결합된 몇 개의 모듈을 가질 수 있다. 소프트웨어 모듈은 변수, 파 라미터, 인자, 포인터 등을 수신하거나/수신하고 결과, 갱신된 변수, 포인터 등을 생성 또는 전달하기 위하여 다른 모듈과 결합된다. 또한, 소프트웨어 모듈은 플랫폼 상에서 실행되는 운영 시스템과 상호 작용하는 인터페이스 또는 소프트웨어 드라이버일 수 있다. 또한, 소프트웨어 모듈은 하드웨어 디바이스로 또는 하드웨어 디바이스로부터 데이터를 구성, 설정, 초기화, 송신 및 수신하기 위한 하드웨어 드라이버일 수 있다.
본 발명의 실시예는 일반적으로 흐름도, 순서도, 구조도 또는 블록도로 도시되는 프로세스로서 설명된다. 흐름도는 동작을 순차적인 프로세스로서 설명할 수 있지만, 많은 동작들은 병렬적으로 또는 동시에 수행될 수 있다. 또한, 동작의 순서는 재정렬될 수 있다. 프로세스는 그 동작들이 완료된 경우 종료된다. 프로세스는 메소드, 함수, 프로시저, 서브루틴, 서브프로그램 등에 대응할 수 있다. 프로세스가 함수에 대응하는 경우, 그 함수를 호출 함수(calling function) 또는 메인 함수(main function)로 복귀시키게 되면, 프로세스가 종료하게 된다.
도 1은 본 발명의 일 실시예가 실시될 수 있는 시스템(100)을 도시하는 도면이다. 시스템(100)은 호스트 프로세서(110), 호스트 버스(120), 메모리 제어 허브(Memory Control Hub; MCH; 130), 그래픽 프로세서(135), 디스플레이 모니터(137), 시스템 메모리(140), 입력/출력 제어 허브(Input/output Control Hub; ICH; 150), 주변 버스 장치(155), 대용량 저장 디바이스(170), 환경 센서(160) 및 입력/출력 디바이스들(1801 내지 180k)을 포함한다. 시스템(100)은 이러한 구성요소보다 더 많은 또는 더 적은 구성요소를 포함할 수 있음에 주의하여야 한다.
호스트 프로세서(110)는 내장 프로세서, 이동식 프로세서, 마이크로 제어기, 디지털 신호 프로세서, 슈퍼스칼라 컴퓨터(superscalar computer), 벡터 프로세서, SIMD(Single Instruction Multiple Data) 컴퓨터, CISC(Complex Instruction Set Computer), RISC(Reduced Command Set Computer), VLIW(Very Long Instruction Word) 또는 하이브리드 구조와 같은 임의의 종류의 구조를 가지는 중앙 처리장치를 나타낸다.
호스트 버스(120)는 프로세서(110)로 하여금 예를 들면 MCH(130)와 같은 다른 프로세서 또는 디바이스와 통신하도록 하는 인터페이스 신호를 제공한다. 호스트 버스(120)는 단일 프로세서 또는 다중 프로세서 구성을 지원할 수 있다. 호스트 버스(120)는 병렬, 순차, 파이프라인, 비동기, 동기 또는 그들의 임의의 조합일 수 있다.
MCH(130)는 시스템 메모리(140) 및 ICH(150)과 같은 메모리 및 입력/출력 디바이스의 구성 및 제어를 제공한다. MCH(130)는 고립 실행 모드, 호스트-주변 장치 버스 인터페이스, 메모리 제어와 같은 다중 기능을 통합하는 칩셋으로 통합될 수 있다. MCH(130)는 주변 버스 장치(155)와 인터페이스된다. 명확화를 위하여, 모든 주변 버스 장치를 도시하지는 않았다. 또한, 시스템(100)은 PCI(Peripheral Component Interconnect), AGP(Accelerated Grapic Port), ISA(Industry Standard Architect) 버스 및 USB(Universal Serial Bus) 등과 같은 주변 장치 버스 장치를 포함할 수 있다.
그래픽 프로세서(135)는 그래픽 기능을 제공하는 임의의 프로세서이다. 또한, 그래픽 프로세서(135)는 그래픽 및 메모리 제어기 허브(Graphic and Memory Controller Hub; GMCH)를 형성하기 위하여 MCH(130)로 통합될 수 있다. 그래픽 프로세서(135)는 그래픽 성능 가속기(Graphics Performance Accelerator; GPA) 카드와 같은 그래픽 카드일 수 있고, AGP 제어기와 같은 그래픽 포트를 통하여 MCH(130)에 인터페이스될 수 있다. 그래픽 프로세서(135)는 표준 프로그레시브 스캔 모니터, 텔레비전(TV) 출력 디바이스 및 전환 최소화 차분 신호(Transition Minimized Differential Signaling; TMDS) 제어기와 같은 디스플레이 모니터(137)로 인터페이스를 제공한다. 디스플레이 모니터(137)는 캐소드 레이 튜브(Cathod Ray Tube; CRT) 모니터, TV 세트, 액정 표시 장치(Liquid Crystal Display; LCD), 평판 패널 및 디지털 CRT와 같은 임의의 디스플레이 장치일 수 있다.
시스템 메모리(140)는 시스템 코드 및 데이터를 저장한다. 전형적으로, 시스템 메모리(140)는 DRAM 또는 SRAM으로 구현된다. 시스템 메모리는 본 발명의 일 실시예를 구현하는 프로그램 코드 또는 코드 세그먼트를 포함할 수 있다. 시스템 메모리는 별도의 구성요소 및 제한 인터페이스(147)를 포함할 수 있는 전력 관리 운영 시스템(OS; 145)을 포함한다. 제한 인터페이스(147)의 구성요소 중의 어떤 하나는 하드웨어, 소프트웨어, 펌웨어, 마이크로코드 또는 그들의 임의의 조합으로 구현될 수 있다. 또한, 시스템 메모리(140)는 운영 시스템과 같은 도시되지 않은 기타 프로그램 또는 데이터를 포함할 수 있다.
ICH(150)는 I/O 기능을 지원하기 위해 설계된 수많은 기능을 구비한다. 또 한, ICH(150)는 I/O 기능을 구현하기 위하여 MCH(130)와 별도로 또는 이와 함께 칩셋으로 통합될 수 있다. ICH(150)는 주변 버스 장치(155), 프로세서 인터페이스, 인터럽트 제어기, 직접 메모리 액세스(Direct Memory Access; DMA) 제어기, 전력 관리 로직, 타이머, 시스템 관리 버스(System Management Bus; SMBus), 유니버설 시리얼 버스(Universal Serial Bus; USB) 인터페이스, 대용량 저장 인터페이스, 낮은 핀 카운트(Low Pin Count; LPC) 인터페이스 등으로의 인터페이스를 위한 PCI 버스 인터페이스와 같은 다수의 인터페이스 및 I/O 기능을 포함할 수 있다.
환경 센서(160)는 플랫폼 또는 지역 서브시스템의 환경에 관하여 감지된 정보를 제공한다. 환경 정보는 온도, 열적 상태, 음향 데이터, 오디오, 광도, 습도, 압력, 디스플레이 조건(예컨대, 밝기), 전력 조건(예컨대, 배터리, AC) 및 사용자 조건(예컨대, 사용자 선호도)을 포함할 수 있다.
대용량 저장 디바이스(170)는 코드, 프로그램, 파일, 데이터, 애플리케이션 및 운영 시스템과 같은 아카이브 정보를 저장한다. 대용량 저장 디바이스(170)는 컴팩트 디스크(CD) ROM(172), 디지털 비디오/다기능 디스크(Digital Video/Verstile Disc; DVD; 173), 플로피 드라이브(174) 및 하드 드라이브(176) 및 임의의 기타 자기 또는 광 저장 디바이스를 포함할 수 있다. 대용량 저장 디바이스(170)는 기계 판독가능 매체를 판독하기 위한 메커니즘을 제공한다. 기계 판독가능 매체는 이하 기술되는 바와 같은 작업을 수행하기 위한 컴퓨터 판독가능 프로그램 코드를 포함할 수 있다. 이러한 작업은 환경 조건을 수신하고, 제한 명령어(limit command)를 생성하고 환경 조건을 감지하며 디바이스의 제1 성능 상태를 조 절하는 것을 포함할 수 있다.
I/O 디바이스(1801 내지 180k)는 I/O 기능을 수행하는 임의의 I/O 디바이스를 포함할 수 있다. I/O 디바이스(1801 내지 180k)의 예는 입력 디바이스를 위한 제어기(예컨대, 키보드, 마우스, 트랙볼, 포인팅 디바이스), 매체 카드(예컨대, 오디오, 비디오, 그래픽), 네트워크 카드 및 기타 주변 장치 제어기를 포함한다.
본 발명의 일 실시예의 본질은 특히 지역 제어 정책(local control policy)이 요청 기반 제어 정책(demand-based control policy)인 경우에, 디바이스 성능 상태에 대한 국부화된 제어 정책을 구현하는 다양한 독립 디바이스 서브시스템을 제어하기 위한 시스템 레벨 메커니즘이다. 사용자는 전력, 성능 및 OS 지시 전력 관리(OS-directed Power Management; OSPM)로 알려진 열적 정책 소프트웨어(thermal policy software)에 대한 선호도의 입력을 통하여 시스템 전력 관리에 영향을 준다. 이러한 입력은 성능 또는 에너지 보존에 대한 선호도와, 주변 광, 요망되는 음향 레벨 및 시스템의 열적 조건 요구사항과 같은 환경 조건에 의하여 요구되거나 보장되는 동작 필요사항을 포함하는 우선 환경 입력을 포함한다. 사용자는 성능 또는 에너지 보존에 대한 선호도를 두 개의 극단 사이에서 선형적인 방식으로 명시할 수 있다. 구체적으로, 우선적인 입력은 전반적인 시스템 전력 관리 정책은 손대지 않은 채, 독립 서브시스템 또는 디바이스 그룹의 제어에 영향을 줄 수 있다.
사용자 선호도는 제한 인터페이스(147)에 의하여 구현되는 제한 제어에 의하 여 제어된다. 제한이 적용되면, 지역 정책은 상태의 하위 또는 상위 수를 사용하도록 제한되고 이는 서브시스템 내 디바이스의 가능한 성능 및 전력 소비를 제한하거나 확장한다. 전역 요구사항 하에서, 전력 및/또는 성능 관리 작업을 개별 디바이스에 위임함으로써 고도의 유연성 및 효율성이 달성가능하다.
도 2는 본 발명의 일 실시예에 따라 도 1에 도시된 제한 인터페이스(147)를 설명하는 도면이다. 제한 인터페이스(147)는 플랫폼 드라이버(210) 및 N 개의 디바이스 드라이버들(2201 내지 220N)을 포함한다.
플랫폼 드라이버(210)는 시스템의 디바이스 또는 프로세서의 성능 및/또는 전력 상태에 관하여 플랫폼의 관점에서 동작되는 드라이버(210)이다. 디바이스는 다수의 성능 상태를 가질 수 있고, 이는 최상위 레벨, 최하위 레벨 및 자동 또는 요구 기반 레벨을 포함한다. 일반적으로 고성능 상태는 저전력 상태에 대응한다. 플랫폼 드라이버(210)는 ACPI OS 또는 OSPM 모듈의 일부일 수 있다. 플랫폼 드라이버(210)는 환경 조건 모니터(212) 및 명령어 생성기(214)를 포함한다.
환경 조건 모니터(212)는 디바이스 또는 프로세서와 관련된 환경 조건을 감시한다. 디바이스는 매체 디바이스(예컨대, 오디오, 이미지), 그래픽 프로세서, 또는 서브시스템(예컨대, 부가 계산 카드, 비디오 편집 유닛)일 수 있다. 환경 조건은 단일 디바이스, 서브시스템 또는 디바이스 그룹과 관련될 수 있다. 각 디바이스는 현재의 성능 상태에서 동작한다. 환경 조건 모니터(212)는 센서(예컨대, 도 1의 환경 센서(160)) 또는 사용자로부터의 입력을 사용하여 환경 조건을 감지한 다. 환경 조건은 열적 조건, 성능 조건(예컨대, 동작 주파수), 오디오 조건(예컨대, 음향 레벨), 디스플레이 조건(예컨대, 밝기 레벨), 주변 광 조건, 전력 조건(예컨대, 배터리)를 포함할 수 있다. 사용자 입력은 OSPM 또는 기타 사용자 인터페이스를 통하여 입력되는 것과 같은 사용자 선호도를 포함할 수 있다.
명령어 생성기(214)는 감시되고 있는 서브시스템의 디바이스(들)에게 현재의 성능 사태를 다음의 성능 상태로 변경 또는 조절하도록 요청하기 위하여 환경 조건에 기초하여 제한 명령어를 생성한다. 환경 조건은 임계치 또는 임계치의 대역(band)과 비교될 수 있다. 임계치 또는 임계치의 대역은 전력 관리 정책에 따라 사용자 또는 소정의 디폴트 값에 의해 결정될 수 있다. 환경 조건이 상위 제한을 초과하는 경우, 명령어 생성기(214)는 디바이스에게 그 성능 상태를 하위 상태로 조절하라고 요청하는 제한 명령어를 발행한다. 예컨대, 지역 서브시스템의 열적 조건이 높은 임계치를 초과하여 높은 온도에 도달한 경우, 제한 명령어는 서브시스템의 디바이스(들)에게 그들의 성능 상태를 제한하거나 현재의 성능 상태를 하위 전력 상태에 대응하는 하위 성능 상태로 조절하도록 요청한다. 유사하게, 환경 조건이 하위 제한보다 낮은 경우, 명령어 생성기(214)는 디바이스(들)에게 그 성능 상태를 상위 상태로 조절하라고 요청하는 제한 명령어를 발행한다. 환경 조건은 주변 조건(예컨대, 열, 음향), 성능 조건(예컨대, 동작 주파수, 전력 소비) 또는 사용자 입력을 포함할 수 있다.
명령어 생성기(214)는 제한 명령어를 감시되는 서브시스템의 모든 디바이스에게 방송한다. 개별 디바이스는 이후 그 성능 상태를 그 개별 상태 특성에 따라 서 조절한다.
각 디바이스의 제어는 대응하는 디바이스 드라이버(220k)에 의하여 수행된다. 명확화를 위하여, 이하의 설명에서 첨자가 붙여진다. 디바이스 드라이버(220)는 감시되는 디바이스에 고유한 드라이버이다. 디바이스 드라이버(220)는 제한 인터페이스(147; 도 1)의 일부이거나 디바이스 내에 국부적으로 위치될 수 있다. 전형적으로, 디바이스가 시스템에 존재하는 것으로 검출된 경우, 디바이스 드라이버(220)가 시스템에 장착된다. 디바이스 드라이버(220)는 명령어 수신기(222), 상태 조절기(224) 및 성능 테이블(226)을 포함한다.
명령어 수신기(222)는 플랫폼 드라이버(210)에 의해서 발행 또는 생성된 제한 명령어를 수신하기 위한 인터페이스이다. 명령어 수신기(222)는 레지스터, 제어 비트 또는 제어 입력으로서 구현될 수 있다. 제한 명령어의 수신은 하드웨어 인터럽트, 트랩, 예외(exception) 또는 상태 폴링(status polling)으로서 구현될 수 있다.
상태 조절기(224)는 제한 명령어에 따라서 현재 성능 상태를 다음 성능 상태로 변경 또는 조절하기 위하여 제한 명령어를 제한 제어 동작(limit control action)으로 변환한다. 예컨대, 제한 명령어가 제한 또는 성능을 증가시키는 경우, 상태 조절기(224)는 현재 상태를 상위 성능 상태로 조절한다. 성능 테이블(226)은, 그 성능/전력 상태를 그에 따라 조절하도록 디바이스에게 지시하는 상태 조절기(224)에 의하여 디바이스로 로딩되는 제어 파라미터 또는 엔트리를 포함한 다. 성능 테이블(226)은 전력 관리를 구현하는 프로시저 또는 알고리즘에 대응한다. 디바이스가 최하 성능 상태이고 제한 명령어가 현재의 상태를 하위 상태로 조절하도록 요청하는 경우, 디바이스는 동일하게 남아있을 수 있다. 유사하게, 디바이스가 최상 성능 상태이고 제한 명령어가 현재의 상태를 상위 상태로 조절하도록 요청하는 경우, 디바이스는 동일하게 남아있을 수 있다.
도 3은 본 발명의 일 실시예에 따라 플랫폼 드라이버에 의하여 성능을 제한하기 위한 프로세스(300)를 도시하는 흐름도이다.
시작하면, 프로세스(300)는 센서 또는 사용자 엔트리에 의해서 환경 조건을 감시한다(블록(310)). 이는 열적 조건, 성능 조건. 오디오 조건, 디스플레이 조건, 전력 조건, 사용자 선호도 또는 엔트리, 또는 그들의 임의의 조합에 관한 정보를 수신하는 것을 포함한다. 이어서, 프로세스(300)는 감시 영역이 안정되도록 하기 위한 적절한 시간 지연을 도입한다(블록(320)). 이후, 프로세스(300)는 환경 조건이 상위 제한을 초과하는지 결정한다(블록(330)). 상위 제한은 사용자 선호도 또는 디폴트 값에 의해서 설정될 수 있다. 그런 경우, 프로세스(300)는 디바이스에게 하위 제한으로 가도록 요청하는 제한 명령어를 디바이스로 생성한다(블록(340)). 전형적으로, 이는 디바이스가 그 현재 성능 상태를 하위 성능 상태로 변경 또는 조절하거나 그 최하위 제한에 도달한 경우에는 동일하게 남는 것을 요구한다. 이후, 프로세스(300)는 블록(370)으로 진행한다. 환경 조건이 상위 제한을 초과하지 않는 경우, 프로세스(300)는 환경 조건이 하위 조건을 초과하는지 여부를 결정한다(블록(350)). 하위 제한은 사용자 선호도 또는 디폴트 값에 의해서 설정 될 수 있다. 그런 경우, 프로세스(300)는 디바이스에게 상위 제한으로 가도록 요청하는 제한 명령어를 디바이스로 생성한다(블록(360)). 전형적으로, 이는 디바이스가 그 현재 성능 상태를 상위 성능 상태로 변경 또는 조절하거나 그 최하위 제한에 도달한 경우에는 동일하게 남는 것을 요구한다. 이후, 프로세스(300)는 블록(370)으로 진행한다. 환경 조건이 상위 제한도 하위 제한도 넘지 않는 경우, 프로세스(300)는 블록(370)으로 진행한다.
블록(370)에서, 프로세스(300)는 계속해서 감시할 필요가 있는지 여부를 결정한다. 그러한 경우, 프로세스(300)는 디바이스 응답이 발효되도록 지연을 생성한다(블록(380)). 이러한 지연은 환경 조건의 본질에 따라 결정될 수 있다. 예컨대, 열적 조건은 사용자 선호도보다 더 오래 걸릴 수 있다. 이후, 프로세스(300)는 블록(310)으로 복귀한다. 그렇지 않으면, 프로세스(300)는 종료된다.
도 4는 본 발명의 다른 실시예에 따라서 디바이스 드라이버에 의해 성능을 제한하는 프로세스(400)를 도시하는 흐름도이다.
시작하면, 프로세스(400)는 플랫폼 드라이버로부터 제한 명령어를 수신한다(블록(410)). 이는 제한 명령어를 레지스터에 저장하거나 인터럽트 또는 트랩에 응답함으로써 달성될 수 있다. 이후, 프로세스(400)는 제한 명령어가 하위 제한 또는 하위 성능 상태를 요구하고 있는지 결정한다(블록(420)). 그런 경우, 프로세스(400)는 디바이스가 이미 최하위 제한에 있는지 결정한다(블록(430)). 그런 경우, 프로세스(400)는 종료된다. 그렇지 않은 경우, 프로세스(400)는 그 특정 관리 정책에 따라서 디바이스 제한을 낮추기 위하여 제한 명령어를 제한 제어 동작으로 변 환한다(블록(440)). 제어 동작은 하위 제한에 따라서 디바이스 성능 상태를 낮추기 위한 디바이스의 특정 동작을 포함할 수 있다. 예컨대, 제어 동작은 하위 성능 상태에 대응하는 제어 파라미터를 포함하는 파라미터 테이블에 대한 포인터를 설정할 수 있다. 이후, 프로세스(400)는 블록(480)으로 진행한다. 제한 명령어가 하위 제한을 요청하지 않는 경우, 프로세스(400)는 제한 명령어가 상위 제한을 요청하고 있다고 결정한다(블록(450)). 그렇지 않은 경우, 프로세스는 종료된다. 그렇지 않으면, 프로세스(400)는 디바이스가 이미 최상위 제한에 있는지 결정한다(블록(460)). 그런 경우, 프로세스(400)는 종료된다. 그렇지 않은 경우, 프로세스(400)는 상위 제한으로 이동하기 위하여 제한 명령어를 제한 제어 동작으로 변환한다(블록(470)). 상위 제한 제어 동작은 상위 성능 상태에 대응하는 제어 파라미터에 대해 포인터를 설정하는 것과 같은, 상위 제한에 따라서 디바이스 성능 상태를 증가시키는 디바이스의 특정 동작을 포함할 수 있다. 이후, 프로세스(400)는 블록(480)으로 진행한다.
블록(480)에서, 프로세스(400)는 성능 상태를 그에 따라 증가 또는 감소시키는 제어 기능을 활성화하기 위하여 디바이스로 제어 파라미터를 로딩한다(블록(480)). 제어 파라미터는 성능 테이블로부터 회수될 수 있거나 프로시저로부터 유도될 수 있다. 제어 파라미터는 디바이스 내의 레지스터로 직접 로딩되거나, 또는 전력 관리 인터페이스 데이터 구조로 로딩될 수 있다. 이렇게 함으로써, 프로세스(400)는 현재의 성능 상태를 다음 성능 상태로 변경 또는 조절한다. 프로세스(400)는 이후 종료된다.
본 발명은 몇 개의 실시예의 관점에서 설명되었지만, 당해 기술의 당업자는 발명이 설명된 실시예에 제한되지 않고 첨부된 청구항의 사상 및 범위 내에서 수정 및 변경되어 실시될 수 있다는 것을 인식할 것이다. 따라서, 이상의 설명은 제한적인 것이 아니고 설명적인 것으로 간주되어야 한다.

Claims (32)

  1. 제1 성능 상태(performance test)에서 동작하는 제1 디바이스와 관련된 환경 조건(environmental condition)을 감시하는 단계; 및
    전역 요구 사항 아래에서 지역 제어 정책을 사용하여 상기 제1 디바이스에 대해 상기 제1 성능 상태를 상기 환경 조건에 기초하여 제2 성능 상태로 조절하도록 요청하는 제한 명령어(limit command)를 생성하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 환경 조건을 감시하는 단계는,
    디바이스 그룹의 환경 조건을 감시하는 단계 - 상기 디바이스 각각은 현재 성능 상태 및 다음 성능 상태를 포함하는 복수의 성능 상태들을 가지며 현재의 성능 상태에서 동작함 -
    를 포함하는 방법.
  3. 제1항에 있어서,
    상기 환경 조건을 감시하는 단계는,
    센서 및 엔트리 디바이스 중 하나를 사용하여 상기 환경 조건을 감지하는 단계
    를 포함하는 방법.
  4. 제2항에 있어서,
    상기 제한 명령어를 생성하는 단계는,
    상기 디바이스 각각에 대해 상기 현재 성능 상태를 상기 다음 성능 상태로 조절하도록 요청하는 제한 명령어를 생성하는 단계
    를 포함하는 방법.
  5. 제3항에 있어서,
    상기 환경 조건을 감지하는 단계는,
    열적 조건(thermal condition), 성능 조건, 오디오 조건, 디스플레이 조건, 전력 조건 및 사용자 선호도(user reference) 중 적어도 하나에 관한 정보를 수신하는 단계
    를 포함하는 방법.
  6. 환경 조건에 기초하여 제1 성능 상태에서 동작하는 디바이스에 대한 제한 명령어를 수신하는 단계; 및
    전역 요구 사항 아래에서 지역 제어 정책을 사용하여 상기 디바이스의 상기 제1 성능 상태를 상기 제한 명령어에 따라 제2 성능 상태로 조절하는 단계
    를 포함하는 방법.
  7. 제6항에 있어서,
    상기 제한 명령어를 수신하는 단계는,
    열적 조건, 성능 조건, 오디오 조건, 표시 조건, 전력 조건 및 사용자 선호도 중 적어도 하나에 기초하여 상기 제한 명령어를 수신하는 단계
    를 포함하는 방법.
  8. 제6항에 있어서,
    상기 제1 성능 상태를 조절하는 단계는,
    상기 제1 성능 상태를 하위 성능 상태 및 상위 성능 상태 중 하나에 대응하는 제2 성능 상태로 조절하는 단계
    를 포함하는 방법.
  9. 제8항에 있어서,
    상기 제1 성능 상태를 조절하는 단계는,
    상기 디바이스의 성능을 제어하는 제어 파라미터를 상기 제1 디바이스로 로 딩하는 단계
    를 포함하는 방법.
  10. 제6항에 있어서,
    상기 제1 성능 상태를 조절하는 단계는,
    상기 제1 성능 상태를 최상위 레벨, 최하위 레벨 및 요구 기반 레벨(demand-based level) 중 하나로 조절하는 단계
    를 포함하는 방법.
  11. 기계에 의해서 액세스되는 경우 상기 기계로 하여금 동작을 수행하도록 하는 데이터를 포함하는 기계 액세스 가능 매체를 포함하는 제조품으로서, 상기 동작은,
    제1 성능 상태에서 동작하는 제1 디바이스와 관련된 환경 조건을 감시하는 동작; 및
    전역 요구 사항 아래에서 지역 제어 정책을 사용하여 상기 제1 디바이스에 대해 상기 제1 성능 상태를 상기 환경 조건에 기초하여 제2 성능 상태로 조절하도록 요청하는 제한 명령어를 생성하는 동작
    을 포함하는 제조품.
  12. 제11항에 있어서,
    상기 감시하는 동작은,
    디바이스 그룹의 상기 환경 조건을 감시하는 동작 - 상기 디바이스 각각은 현재 성능 상태 및 다음 성능 상태를 포함하는 복수의 성능 상태들을 가지며 현재의 성능 상태에서 동작함 -
    을 포함하는 제조품.
  13. 제11항에 있어서,
    상기 감시하는 동작은,
    센서 및 엔트리 디바이스 중 하나를 사용하여 상기 환경 조건을 감지하는 동작
    을 포함하는 제조품.
  14. 제12항에 있어서,
    상기 제한 명령어를 생성하는 동작은,
    상기 디바이스 각각에 대해 상기 현재 성능 상태를 상기 다음 성능 상태에 조절하도록 요청하는 제한 명령어를 생성하는 동작
    을 포함하는 제조품.
  15. 제13항에 있어서,
    상기 환경 조건을 감시하는 동작은,
    열적 조건, 성능 조건, 오디오 조건, 디스플레이 조건, 전력 조건 및 사용자 선호도 중 적어도 하나에 관한 정보를 수신하는 동작
    을 포함하는 제조품.
  16. 기계에 의해서 액세스되는 경우 상기 기계로 하여금 동작을 수행하도록 하는 데이터를 포함하는 기계 액세스 가능 매체를 포함하는 제조품에 있어서, 상기 동작은,
    환경 조건에 기초하여 제1 성능 상태에서 동작하는 디바이스에 대한 제한 명령어를 수신하는 동작; 및
    전역 요구 사항 아래에서 지역 제어 정책을 사용하여 상기 디바이스의 상기 제1 성능 상태를 상기 제한 명령어에 따라 제2 성능 상태로 조절하는 동작
    을 포함하는 제조품.
  17. 제16항에 있어서,
    상기 제한 명령어를 수신하는 동작은,
    열적 조건, 성능 조건, 오디오 조건, 표시 조건, 전력 조건 및 사용자 선호도 중 적어도 하나에 기초하여 상기 제한 명령어를 수신하는 동작
    을 포함하는 제조품.
  18. 제16항에 있어서,
    상기 제1 성능 상태를 조절하는 동작은,
    상기 제1 성능 상태를 하위 성능 상태 및 상위 성능 상태 중 하나에 대응하 는 제2 성능 상태로 조절하는 동작
    을 포함하는 제조품.
  19. 제18항에 있어서,
    상기 제1 성능 상태를 조절하는 동작은,
    상기 디바이스의 성능을 제어하는 제어 파라미터를 상기 디바이스로 로딩하는 동작
    을 포함하는 제조품.
  20. 제16항에 있어서,
    상기 제1 성능 상태를 조절하는 동작은,
    상기 제1 성능 상태를 최상위 레벨, 최하위 레벨 및 요구 기반 레벨 중 하나로 조절하는 동작
    을 포함하는 제조품.
  21. 프로세서; 및
    호스트에 접속되며 제한 인터페이스(limit interface)를 저장하는 메모리를 포함하는 시스템으로서, 상기 제한 인터페이스가 실행될 때 상기 프로세서로 하여금,
    제 1 성능 상태에서 동작하는 제1 디바이스와 관련된 환경 조건을 감시하는 단계; 및
    전역 요구 사항 아래에서 지역 제어 정책을 사용하여 상기 제1 디바이스에 대해 상기 제1 성능 상태를 상기 환경 조건에 기초하여 제2 성능 상태로 조절하도록 요청하는 제한 명령어를 생성하는 단계
    를 수행하도록 하는 시스템.
  22. 제21항에 있어서,
    상기 환경 조건을 감시하는 단계는,
    디바이스 그룹의 환경 조건을 감시하는 단계 - 상기 디바이스 각각은 현재 성능 상태 및 다음 성능 상태를 포함하는 복수의 성능 상태들을 가지며 현재의 성능 상태에서 동작함 -
    를 수행하도록 하는 시스템.
  23. 제21항에 있어서,
    상기 환경 조건을 감시하는 단계는,
    센서 및 엔트리 디바이스 중 하나를 사용하여 상기 환경 조건을 감지하는 단계
    를 수행하도록 하는 시스템.
  24. 제22항에 있어서,
    상기 제한 명령어를 생성하는 단계는,
    상기 디바이스 각각에 대해 상기 현재 성능 상태를 상기 다음 성능 상태에 조절하도록 요청하는 제한 명령어를 생성하는 단계
    를 수행하도록 하는 시스템.
  25. 제23항에 있어서,
    상기 환경 조건을 감지하는 단계는,
    열적 조건, 성능 조건, 오디오 조건, 디스플레이 조건, 전력 조건 및 사용자 선호도 중 적어도 하나에 관한 정보를 수신하는 단계
    를 수행하도록 하는 시스템.
  26. 프로세서; 및
    호스트에 접속되며 디바이스 드라이버를 저장하는 메모리를 포함하는 시스템으로서, 상기 디바이스 드라이버가 실행될 때 상기 프로세서로 하여금,
    환경 조건에 기초하여 제1 성능 상태에서 동작하는 디바이스에 대한 제한 명령어를 수신하는 단계; 및
    전역 요구 사항 아래에서 지역 제어 정책을 사용하여 상기 디바이스의 상기 제1 성능 상태를 상기 제한 명령어에 따라 제2 성능 상태로 조절하는 단계
    를 수행하도록 하는 시스템.
  27. 제26항에 있어서,
    상기 제한 명령어를 수신하는 단계는,
    열적 조건, 성능 조건, 오디오 조건, 표시 조건, 전력 조건 및 사용자 선호도 중 적어도 하나에 기초하여 상기 제한 명령어를 수신하는 단계
    를 포함하는 시스템.
  28. 제26항에 있어서,
    상기 제1 성능 상태를 조절하는 단계는,
    상기 제1 성능 상태를 하위 성능 상태 및 상위 성능 상태 중 하나에 대응하는 제2 성능 상태로 조절하는 단계
    를 포함하는 시스템.
  29. 제28항에 있어서,
    상기 제1 성능 상태를 조절하는 단계는,
    상기 디바이스의 성능을 제어하는 제어 파라미터를 상기 디바이스로 로딩하는 단계
    를 포함하는 시스템.
  30. 제26항에 있어서,
    상기 제1 성능 상태를 조절하는 단계는,
    상기 제1 성능 상태를 최상위 레벨, 최하위 레벨 및 요구 기반 레벨 중 하나 로 조절하는 단계
    를 포함하는 시스템.
  31. 각각 현재 성능 상태에서 동작하는 복수의 디바이스 내의 디바이스와 관련된 환경 조건을 감시하기 위한 환경 조건 모니터와 상기 디바이스들로 상기 환경 조건에 기초하여 제한 명령어를 생성하기 위한 명령어 생성기를 포함하는 플랫폼 드라이버; 및
    상기 복수의 디바이스를 제어하기 위한 복수의 디바이스 드라이버 - 상기 각 디바이스 드라이버는 디바이스 상태 특성(device state characteristic)에 따라 현재 성능 상태를 다음 성능 상태로 조정하기 위해 상기 제한 명령어를 제한 제어 동작(limit control action)으로 변환하기 위한 상태 조절기를 포함함 -
    를 포함하는 인터페이스.
  32. 제31항에 있어서, 상기 각 디바이스 드라이버는
    상기 상태 조정기가 대응되는 디바이스를 상기 현재 성능 상태로 조정할 수 있도록 하는, 상기 대응되는 디바이스로 로드될 제어 파라미터들을 포함하는 수행 테이블을 더 포함하는 인터페이스.
KR1020057004668A 2002-09-30 2003-09-19 성능 관리를 위한 제한 인터페이스 KR100681976B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/261,310 2002-09-30
US10/261,310 US7089459B2 (en) 2002-09-30 2002-09-30 Limit interface for performance management

Publications (2)

Publication Number Publication Date
KR20050048639A KR20050048639A (ko) 2005-05-24
KR100681976B1 true KR100681976B1 (ko) 2007-02-15

Family

ID=32029948

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057004668A KR100681976B1 (ko) 2002-09-30 2003-09-19 성능 관리를 위한 제한 인터페이스

Country Status (8)

Country Link
US (1) US7089459B2 (ko)
KR (1) KR100681976B1 (ko)
CN (1) CN1497444A (ko)
AU (1) AU2003272565A1 (ko)
DE (1) DE10393396B4 (ko)
GB (1) GB2408820B (ko)
TW (1) TWI244043B (ko)
WO (1) WO2004031924A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101576829B (zh) 2009-06-12 2011-08-24 宋志飞 嵌入式Linux系统中应用进程的托管方法及系统

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7254750B1 (en) * 2004-03-30 2007-08-07 Unisys Corporation Health trend analysis method on utilization of network resources
WO2006030368A2 (en) * 2004-09-17 2006-03-23 Koninklijke Philips Electronics N.V. Updating prioritizing related to data retention using volatile memories
US7624349B2 (en) * 2006-03-21 2009-11-24 Microsoft Corporation Declarative definition enabling graphical designer reuse
US7747881B2 (en) * 2006-08-14 2010-06-29 Globalfoundries Inc. System and method for limiting processor performance
US7895421B2 (en) * 2007-07-12 2011-02-22 Globalfoundries Inc. Mechanism for using performance counters to identify reasons and delay times for instructions that are stalled during retirement
CN101946224A (zh) * 2008-02-15 2011-01-12 惠普开发有限公司 改变数据处理设备的功率状态以满足冗余准则
GB0816033D0 (en) * 2008-09-03 2008-10-08 Goodrich Control Sys Ltd Electrical equipment device
US8458498B2 (en) * 2008-12-23 2013-06-04 Intel Corporation Method and apparatus of power management of processor
US8826048B2 (en) * 2009-09-01 2014-09-02 Nvidia Corporation Regulating power within a shared budget
US8700925B2 (en) * 2009-09-01 2014-04-15 Nvidia Corporation Regulating power using a fuzzy logic control system
USRE48495E1 (en) * 2009-12-17 2021-03-30 Toshiba Memory Corporation System, device, and method for initializing a plurality of electronic devices using a single packet
US8595522B2 (en) 2010-09-30 2013-11-26 Intel Corporation Monitoring transaction requests using a policy engine within a storage drive driver to change power capability and latency settings for a storage drive
US9372524B2 (en) * 2011-12-15 2016-06-21 Intel Corporation Dynamically modifying a power/performance tradeoff based on processor utilization
TWI602147B (zh) * 2013-03-22 2017-10-11 技嘉科技股份有限公司 電腦裝置及其顯示卡效能優化方法
CN104063034B (zh) * 2013-03-22 2017-06-16 技嘉科技股份有限公司 计算机装置及其显卡效能优化方法
US10775876B2 (en) * 2017-12-29 2020-09-15 Advanced Micro Devices, Inc. Method and apparatus for controlling power consumption of an integrated circuit

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5021679A (en) * 1989-06-30 1991-06-04 Poqet Computer Corporation Power supply and oscillator for a computer system providing automatic selection of supply voltage and frequency
US5153535A (en) * 1989-06-30 1992-10-06 Poget Computer Corporation Power supply and oscillator for a computer system providing automatic selection of supply voltage and frequency
JPH05297993A (ja) * 1992-04-16 1993-11-12 Dia Semikon Syst Kk マイクロプロセッサの駆動制御装置
US5278404A (en) * 1992-07-20 1994-01-11 At&T Bell Laboratories Optical sub-system utilizing an embedded micro-controller
FR2715744B1 (fr) * 1994-01-31 1996-04-12 Bruno Eynaud Procédé et dispositif destiné à réduire le niveau sonore d'un micro-ordinateur.
US5500940A (en) * 1994-04-25 1996-03-19 Hewlett-Packard Company Method for evaluating failure in an electronic data storage system and preemptive notification thereof, and system with component failure evaluation
US5590061A (en) * 1994-05-12 1996-12-31 Apple Computer, Inc. Method and apparatus for thermal management in a computer system
US5752011A (en) * 1994-06-20 1998-05-12 Thomas; C. Douglas Method and system for controlling a processor's clock frequency in accordance with the processor's temperature
US5560022A (en) * 1994-07-19 1996-09-24 Intel Corporation Power management coordinator system and interface
US5513361A (en) * 1994-07-25 1996-04-30 Intel Corporation Method and apparatus for reducing power consumption of a fan in a computer system
US5752050A (en) * 1994-10-04 1998-05-12 Intel Corporation Method and apparatus for managing power consumption of external devices for personal computers using a power management coordinator
US5734585A (en) * 1994-11-07 1998-03-31 Norand Corporation Method and apparatus for sequencing power delivery in mixed supply computer systems
US5997167A (en) * 1997-05-01 1999-12-07 Control Technology Corporation Programmable controller including diagnostic and simulation facilities
US6189109B1 (en) * 1997-05-13 2001-02-13 Micron Electronics, Inc. Method of remote access and control of environmental conditions
US6112164A (en) * 1998-03-31 2000-08-29 Compaq Computer Corporation Computer system thermal management
US6148418A (en) * 1998-06-22 2000-11-14 Holtek Semiconductor Inc. Computer environment monitor device
JP3297389B2 (ja) * 1998-12-07 2002-07-02 インターナショナル・ビジネス・マシーンズ・コーポレーション 消費電力制御方法および電気機器
US6480809B1 (en) * 1999-09-23 2002-11-12 Intel Corporation Computer system monitoring
DE10141626B4 (de) * 2000-09-06 2007-08-09 International Business Machines Corp. Dynamische Angleichung von Leistungsvermögen und Strombedarf
US6718474B1 (en) 2000-09-21 2004-04-06 Stratus Technologies Bermuda Ltd. Methods and apparatus for clock management based on environmental conditions
KR100370368B1 (ko) * 2001-01-31 2003-02-05 삼성전자 주식회사 내부 온도가 기준 온도를 초과할 때 슬립 모드로 진입하는 에이씨피아이를 채용한 컴퓨터 시스템 및 그 방법
US20020138159A1 (en) * 2001-03-26 2002-09-26 Atkinson Lee W. Temperature responsive power supply to minimize power consumption of digital logic without reducing system performance
US6934864B2 (en) * 2002-01-11 2005-08-23 International Business Machines Corporation System and method for co-operative thermal management of electronic devices within a common housing

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101576829B (zh) 2009-06-12 2011-08-24 宋志飞 嵌入式Linux系统中应用进程的托管方法及系统

Also Published As

Publication number Publication date
KR20050048639A (ko) 2005-05-24
AU2003272565A1 (en) 2004-04-23
DE10393396B4 (de) 2010-04-22
GB0503221D0 (en) 2005-03-23
WO2004031924A3 (en) 2004-12-02
GB2408820B (en) 2006-08-23
TW200416606A (en) 2004-09-01
DE10393396T5 (de) 2005-09-01
WO2004031924A2 (en) 2004-04-15
US7089459B2 (en) 2006-08-08
GB2408820A (en) 2005-06-08
US20040064755A1 (en) 2004-04-01
TWI244043B (en) 2005-11-21
CN1497444A (zh) 2004-05-19
AU2003272565A8 (en) 2004-04-23

Similar Documents

Publication Publication Date Title
KR100681976B1 (ko) 성능 관리를 위한 제한 인터페이스
US8566621B2 (en) Method for implementing thermal management in a processor and/or apparatus and/or system employing the same
US7032116B2 (en) Thermal management for computer systems running legacy or thermal management operating systems
US6105142A (en) Intelligent power management interface for computer system hardware
JP6627180B2 (ja) 改善されたハイブリッドスリープ電力管理のための技術
US5630148A (en) Dynamic processor performance and power management in a computer system
US8185766B2 (en) Hierarchical power management with hot mode
US8335935B2 (en) Power management based on automatic workload detection
EP0730217A1 (en) Power conservation and thermal management arrangements for computers
US20030226047A1 (en) Portable terminal with enhanced power management function and method for managing power of the same
US6848054B1 (en) Real-time computer thermal management and power conservation
US6212644B1 (en) Controlling temperatures in computers
US6282662B1 (en) Power management override for portable computers
US20030120960A1 (en) Power management using processor throttling emulation
JP2000010907A (ja) 情報処理装置
US20120036378A1 (en) Computer and control method thereof
US7360101B2 (en) Apparatus and method for controlling CPU speed transition
US9207742B2 (en) Power saving operating method for an electronic device by disabling a connection port to a touch device before the touch device enters power-saving mode
US10571992B2 (en) Electronic device having a controller to enter a low power mode
US20220286969A1 (en) Information processing apparatus and control method
US20080040726A1 (en) Methods and Apparatuses for Implementing Multiple Phase Software

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

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140203

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150130

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160127

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170201

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180201

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190129

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20200129

Year of fee payment: 14