KR20110038036A - 슬리프 프로세서 - Google Patents

슬리프 프로세서 Download PDF

Info

Publication number
KR20110038036A
KR20110038036A KR1020117000754A KR20117000754A KR20110038036A KR 20110038036 A KR20110038036 A KR 20110038036A KR 1020117000754 A KR1020117000754 A KR 1020117000754A KR 20117000754 A KR20117000754 A KR 20117000754A KR 20110038036 A KR20110038036 A KR 20110038036A
Authority
KR
South Korea
Prior art keywords
processor
peripheral devices
power
sleep mode
computer
Prior art date
Application number
KR1020117000754A
Other languages
English (en)
Other versions
KR101519082B1 (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 KR20110038036A publication Critical patent/KR20110038036A/ko
Application granted granted Critical
Publication of KR101519082B1 publication Critical patent/KR101519082B1/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
    • 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
    • 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/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

제 1 프로세서가 슬리프 동작 모드에 있는 동안 컴퓨터 성능을 최적화시키기 위한 장치, 방법 및 시스템이 제공된다. 예를 들어, 이러한 장치의 실시예는 제 1 프로세서, 제 2 프로세서(이것은 또한 본 명세서에서 "슬리프" 프로세서로 언급됨), 및 하나 이상의 주변 디바이스들을 포함한다. 활성 동작 모드 동안, 제 1 프로세서는 주변 디바이스들과 상호작용함과 아울러 주변 디바이스들의 기능을 제어한다. 그러나, 제 1 프로세서가 슬리프 동작 모드에 있을 때, 슬리프 프로세서는 제 1 프로세서와 슬리프 프로세서를 포함하는 컴퓨터 시스템의 하나 이상의 기능을 제어하도록 구성된다. 이러한 기능은 제 1 프로세서가 슬리프 모드에 있는 동안에는 실행될 수 없는 애플리케이션을 포함할 수 있다. 결과적으로, 제 1 프로세서가 더 오랜 시간 동안 슬리프 모드에 계속 있을 수 있기 때문에, 컴퓨터 시스템의 파워 관리가 개선된다.

Description

슬리프 프로세서{SLEEP PROCESSOR}
본 발명은 일반적으로 프로세스의 슬리프 동작 모드 동안 컴퓨터 성능을 최적화시키는 것에 관한 것이다.
파워 소비는 중앙 처리 장치(Central Processing Unit, CPU)들, 및 이들이 사용되는 컴퓨터의 설계시 고려해야할 중요한 요소이다. 많은 컴퓨터들은, 프로세싱이 요구되지 않은 경우 파워 소비를 감소시키기 위해 "슬리프(sleep)" 동작 모드에 들어가도록 구성된다. 전형적으로, 슬리프 모드에서, 컴퓨터는 비활성화되며 컴퓨터의 CPU는 명령들의 실행을 중지시킨다. 컴퓨터가 비활성화될 지라도, 제한된 개수의 컴퓨터 디바이스들(예를 들어, 키보드, 마우스, 및 범용 직렬 버스(Universal Serial Bus, USB) 포트들)은 계속 활성화되어 있고, 그리고 이러한 디바이스들이 사용자 입력에 의해 트리거될 때, 컴퓨터는 깨어나 활성 상태가 된다. 예를 들어, 키보드 상의 키스트로크(keystroke) 혹은 마우스의 클릭(click)이 컴퓨터를 슬리프 모드로부터 깨울 수 있다.
그러나, 다른 컴퓨터 기능들 및 디바이스들은 슬리프 모드 동안 그 파워가 차단되거나 비활성화된다. 이러한 컴퓨터 기능들 및 디바이스들은, 예를 들어, 디스플레이 디바이스(예를 들어, 모니터), 네트워크 디바이스(예를 들어, 인터넷 연결), 그리고 사운드 디바이스(예를 들어, 사운드 어댑터)를 포함한다. 컴퓨터 및 그 CPU가 저전력 슬리프 동작 모드에서 빠져나와야만, 사용자는 이러한 디바이스들을 실행시킬 수 있다.
CPU로부터의 최적의 성능을 요구하지 않는 컴퓨터 프로그램들에 있어서, CPU는 이러한 타입의 애플리케이션들에 대한 파워를 불필요하게 상당량 소비하게 된다. 이러한 파워 소비는 대부분 CPU 내의 스위칭 디바이스들로 인한 것이며, 아울러 전기 회로의 저항으로 인한 발열 형태의 에너지 손실로 인한 것이다. 예를 들어, 컴퓨터 상에서 실행되는 애플리케이션이 높은 CPU 클럭 속도를 요구하지 않을지라도, CPU는 애플리케이션의 복잡도에 상관없이 높은 클럭 속도에서 실행된다. CPU가 덜 연산 집약적인 애플리케이션을 실행시키기 위해 계속 슬리프 모드를 빠져나오게 됨에 따라, CPU는 필요한 것보다 더 많은 파워를 불필요하게 소비하게 되고, 이는 디바이스 고장을 일으킬 위험을 증가시킬 수 있으며, 이에 따라 컴퓨터의 신뢰도가 감소될 수 있다.
추가적으로, 휴대용 핸드헬드 디바이스들과 같은 저전력 애플리케이션에 있어서, CPU로부터의 파워의 불필요한 소비는 배터리 수명을 더 빠른 속도로 감소시키고, 이에 따라 디바이스의 성능이 감소된다.
따라서, 필요한 것은, 프로세서의 슬리프 동작 모드 동안 컴퓨터 성능을 최적화시키는 향상된 장치 및 방법이다.
본 발명의 실시예들은 제 1 프로세서가 슬리프 모드에 있는 동안 컴퓨터의 성능을 최적화시키는 장치를 포함한다. 이 장치는 제 1 프로세서 및 제 2 프로세서에 결합되는 하나 이상의 주변 디바이스들을 포함한다. 이 장치는 또한 제 1 프로세서, 제 2 프로세서, 및 하나 이상의 주변 디바이스들 간의 데이터 통신 경로를 제공하도록 구성된 버스를 포함할 수 있다. 이 하나 이상의 주변 디바이스들은 각각의 주변 디바이스에 결합되는 제어기를 포함할 수 있고, 이 제어기는 각각의 주변 디바이스와 제 1 및 제 2 프로세서들 간의 데이터 트래픽을 관리하도록 구성된다. 제 1 프로세서는 활성 동작 모드 동안 하나 이상의 주변 디바이스들을 제어하도록 구성된다.
제 1 프로세서가 슬리프 모드에 있는 동안, 제 2 프로세서가 적어도 하나 이상의 주변 디바이스들을 제어하도록 구성된다. 제 2 프로세서는, 제 1 프로세서가 슬리프 모드에 있는 동안에는 제어될 수 없는 하나 이상의 주변 디바이스들의 기능을 제어하도록 구성될 수 있다. 제 1 및 제 2 프로세서를 포함하는 컴퓨터 시스템에서 파워 소비를 더 감소시키기 위해, 제 2 프로세서는, 슬리프 모드 동안 제 1 프로세서보다 더 느린 주파수에서 동작할 수 있고, 이에 따라 특정 컴퓨팅 태스크를 실행하는데 더 긴 시간이 소요될 수 있다.
본 발명의 실시예들은 제 1 프로세서가 슬리프 모드에 있는 동안 컴퓨터 성능을 최적화시키는 방법을 포함한다. 이 방법은 활성 동작 모드 동안 제 1 프로세서로 하나 이상의 주변 디바이스들을 제어하는 것과, 그리고 슬리프 동작 모드 동안 제 2 프로세서로 하나 이상의 주변 디바이스들을 제어하는 것을 포함한다. 이 방법은 또한 제 1 프로세서, 제 2 프로세서, 및 하나 이상의 주변 디바이스들 간의 데이터 통신 경로를 제공하는 것을 포함할 수 있다.
본 발명의 실시예들은 제 1 프로세서가 슬리프 모드에 있는 동안 컴퓨터 성능을 최적화시키는 시스템을 포함한다. 이 시스템은, 활성 동작 모드 동안 제 1 프로세서로 하나 이상의 주변 디바이스들을 제어하는 제 1 모듈과, 그리고 슬리프 동작 모드 동안 제 2 프로세서로 하나 이상의 주변 디바이스들을 제어하는 제 2 모듈을 포함한다. 이 시스템은 또한 제 1 프로세서, 제 2 프로세서, 및 하나 이상의 주변 디바이스들 간의 데이터 통신 경로를 제공하는 제 3 모듈을 포함할 수 있다.
본 발명의 추가적인 특징 및 장점 그리고 본 발명의 다양한 실시예들의 구조 및 동작이 첨부되는 도면을 참조하여 아래에서 상세히 설명된다. 본 발명이 본 명세서에서 설명되는 특정 실시예들로만 한정되는 것은 아님에 유의해야 한다. 이러한 실시예들은 단지 예시적 목적으로 본 명세서에서 제공된다. 추가적인 실시예들이 본 명세서에 포함되는 가르침에 근거하여 관련 기술분야에서 숙련된 자들에게 명백하게 될 것이다.
본 명세서에 포함됨과 아울러 본 명세서의 일부를 형성하는 도면이 첨부되는바, 이 첨부되는 도면은 상세한 설명과 함께 본 발명의 실시예들을 예시하고 있으며, 또한 본 발명의 원리를 설명함과 아울러 관련 기술분야에서 숙련된 자들이 본 발명을 제조 및 사용할 수 있도록 하는 역할을 한다.
도 1은 종래 컴퓨터 시스템을 나타낸 도면이다.
도 2는 제 1 프로세서가 슬리프 동작 모드에 있는 동안 컴퓨터 성능을 최적화시키는 장치의 실시예를 나타낸 도면이다.
도 3은 슬리프 프로세서의 실시예를 나타낸 도면이다.
도 4는 파워/리셋 제어 모듈의 실시예를 나타낸 도면이다.
도 5는 슬리프 프로세서의 실시예를 구현한 웹 서버를 포함하는 예시적인 네트워크를 나타낸 도면이다.
도 6은 슬리프 프로세서의 실시예를 포함하는 웹 서버 내의 예시적인 컴퓨터 시스템을 나타낸 도면이다.
도 7은 사용자가 슬리프 동작 모드에 있는 웹 서버에 액세스함으로써 수신될 수 있는 예시적인 상태 메시지를 나타낸 도면이다.
도 8은 제 1 프로세서가 슬리프 동작 모드에 있는 동안 컴퓨터 성능을 최적화시키는 방법의 실시예를 나타낸 도면이다.
본 발명의 추가적인 특징 및 장점 그리고 본 발명의 다양한 실시예들의 구조 및 동작이 첨부되는 도면을 참조하여 아래에서 상세히 설명된다. 본 발명이 본 명세서에서 설명되는 특정 실시예들로만 한정되는 것은 아님에 유의해야 한다. 이러한 실시예들은 단지 예시적 목적으로 본 명세서에서 제공된다. 추가적인 실시예들이 본 명세서에 포함되는 가르침에 근거하여 관련 기술분야에서 숙련된 자들에게 명백하게 될 것이다.
본 발명의 다음의 상세한 설명은 첨부되는 도면을 참조하여 설명되며, 이 도면은 본 발명과 일관되는 예시적 실시예들을 나타낸다. 다른 실시예들도 가능하고, 본 발명의 사상 및 범위 내에서 이 실시예들에 대한 수정이 행해질 수 있다. 따라서, 본 명세서의 상세한 설명은 본 발명을 한정하려는 것이 아니다. 오히려, 본 발명의 범위는 첨부되는 특허청구범위에 의해 정의된다.
아래에서 설명되는 바와 같이, 본 발명이 소프트웨어, 하드웨어, 펌웨어 및/또는 도면에서 예시된 엔티티들의 서로 다른 많은 실시예들로 구현될 수 있다는 것이, 관련 기술분야에서 숙련된 자에게는 명백하게 될 것이다. 본 발명을 구현하기 위한, 특수 하드웨어 제어를 갖는 임의의 실제 소프트웨어 코드로 본 발명이 한정되는 것은 아니다. 따라서, 본 명세서에서 제공되는 상세한 설명이 주어지는 경우, 이러한 실시예들의 수정 및 변경이 가능함이 이해될 수 있도록, 본 발명의 동작 형태가 설명될 것이다.
도 1은 종래의 컴퓨터 시스템(100)을 나타낸 도면이다. 컴퓨터 시스템(100)은 중앙 처리 장치(Central Processing Unit, CPU)(110), 버스(120), 제어기들(1300-1304), 및 주변 디바이스들(140)을 포함한다. 제어기들(1300-1304)은 주변 디바이스들(140)에 결합된다. 주변 디바이스들(140)은 예를 들어, 디스플레이 디바이스(1400), 입력 디바이스(1401), 네트워크 디바이스(1402), 저장 디바이스(1403), 및 사운드 디바이스(1404)를 포함할 수 있다.
CPU(110)는 버스(120)를 통해 제어기들(1300-1304)과 통신하고, 또한 주변 디바이스들(140)과도 통신한다. 버스(120)는 CPU(110)와 주변 디바이스들(140) 간의 채널 혹은 경로를 제공한다. 버스(120)는 예를 들어, CPU(110)를 메인 메모리(예를 들어, 랜덤 액세스 메모리(Random Access Memory, RAM))에 연결시키는 시스템 버스와, 그리고 CPU(110)를 디스플레이 디바이스(1400)(예를 들어, 모니터), 입력 디바이스(1401)(예를 들어, 외부 비디오 카메라), 네트워크 디바이스(1402)(예를 들어, 인터넷 연결), 저장 디바이스(1403)(예를 들어, 하드 드라이브), 및 사운드 디바이스(1404)(예를 들어, 사운드 어댑터)에 연결시키는 PCI(Peripheral Component Interface) 버스의 결합일 수 있다. 대안적으로, 관련 기술 분야에서 숙련된 자는, 다른 타입의 버스 아키텍처들(예를 들어, PCIe(PCI Extended), 및 PCI-X(PCI Express) 버스 아키텍처들과 같은 것)이 CPU(110)를 주변 디바이스들(140)에 연결시키는데 사용될 수 있음을 알 수 있을 것이다.
제어기들(1300-1304)은 CPU(110)와 주변 디바이스들(140) 간의 데이터 트래픽을 제어한다. 주변 디바이스들(140)에서의 컴포넌트들이 버스(120)를 공유하기 때문에, 제어기들(1300-1304)은 주변 디바이스들(140)에서의 각각의 컴포넌트와 CPU(110) 간의 데이터 트래픽을 조정하는 수단을 제공한다. 예를 들어, 슬리프 동작 모드에서, 제어기들(1300-1304)은 CPU(110)로부터 수신된 (CPU(110)가 슬리프 모드 동안 데이터를 수신하지 않을 것임을 표시하는) 신호를 그들의 각각의 주변 디바이스들에 발행할 수 있다. 따라서, 슬리프 모드 동안 이러한 주변 디바이스들에 대한 파워는 차단될 수 있다. 마찬가지로, 슬리프 모드에서 활성 모드로의 전이시, 제어기들(1300-1304)은 CPU(110)로부터의 (CPU(110)가 주변 디바이스들(140)로부터 데이터를 수신할 수 있음을 표시하는) 신호를 발행하여 이러한 주변 디바이스들을 깨울 수 있다.
CPU(110)가 사용되지 않을 때, 컴퓨터 시스템(100)은 전형적으로 슬리프 동작 모드로 들어간다. 컴퓨터 시스템에서 파워 관리를 정의하기 위해 광범위하게 사용되는 산업 표준은 ACPI(Advanced Configuration and Power Interface) 사양이다. 이 ACPI 사양은 ACPI를 따르는 컴퓨터에 대해 5개의 슬리프 상태(S1-S5)를 정의하고, 여기서 각각의 상태는 컴퓨터에서의 각각의 디바이스들에 대한 파워를 차단한다. 각각의 슬리프 상태에서 파워는 더 크게 절약되지만, 이에 상응하는 더 많은 시간이 다시 깨어나 작업 수행을 시작하기 위해서 필요하다(예를 들어, S1은 S2, S3, S4, 및 S5보다 더 짧은 작업-지연 시간(work-latency time)을 가지며, S2는 S3, S4, 및 S5보다 더 짧은 작업-지연 시간을 갖는 등). 컴퓨터 시스템(100) 내의 핵심 컴포넌트들의 파워 소비 및 열 순환을 감소시켜 컴퓨터의 수명 및 신뢰도를 증가시키기 위해 컴퓨터 시스템(100)이 슬리프 동작 모드에서, 특히 더 깊은 슬리프 상태에서 유지되는 것은 이로운 것이다.
S1 슬리프 동작 모드에서, 컴퓨터 시스템(100)은 비활성화되고, 그리고 CPU(110)에 대한 파워가 유지되기는 하지만, CPU(110)는 명령을 실행하는 것을 멈춘다. CPU(110)가 비활성화 상태에 있을지라도, 컴퓨터 시스템(100)의 메인 메모리(미도시) 및 CPU(110)에는 파워가 계속 공급된다. 예를 들어, 키보드, 마우스, USB 포트, 및 확장 카드와 같은 추가적인 디바이스들에도 또한 파워가 공급되어, 이러한 디바이스들로부터의 사용자 입력이 컴퓨터를 깨울 수 있다. 더욱이, 하드웨어 형태(예를 들어, CD-ROM)의 펌웨어를 포함하는 디바이스들에도 또한 파워가 계속 공급될 수 있는데, 왜냐하면 이러한 디바이스들은 CPU(110)와 독립적으로 실행될 수 있기 때문이다. 내장된 펌웨어를 가지고 있지 않거나 S1 슬리프 상태 동안 온 상태를 유지해야만 함을 표시하지 않는 다른 디바이스들에 대한 파워는 차단된다. 예를 들어, 디스플레이 디바이스(1400), 입력 디바이스(1401), 네트워크 디바이스(1402), 저장 디바이스(1403), 및 사운드 디바이스(1404)에 대한 파워는 S1 슬리프 동작 모드 동안 차단될 수 있다.
S1보다 더 깊은 슬리프 상태인 S2 슬리프 동작 모드에서, CPU(110)에 대한 파워는 차단된다. 그러나, 컴퓨터 시스템(100)의 메인 메모리에는 파워가 계속 공급된다. 메인 메모리에는 파워가 계속 공급되어 사용자에 의해 실행되는 컴퓨터의 운영 체계 및 개방 애플리케이션은 컴퓨터 시스템(100)이 슬리프 모드에 들어가기 전과 동일한 상태로 유지된다. S1 및 S2보다 더 깊은 슬리프 상태인 S3 슬리프 동작 모드는 S2 슬리프 동작 모드와 유사한 방식으로 동작하지만, 컴퓨터 시스템(100)에서의 추가적인 디바이스들(본 명세서에는 설명되지 않음)에 대한 파워는 차단된다.
S1-S3보다 더 깊은 슬리프 상태인 S4 슬리프 동작 모드에서, CPU(110)에 대한 파워는 차단될 뿐만 아니라 메인 메모리에 대한 파워도 또한 차단된다. 메인 메모리에 대한 파워가 차단되기 전에, 메인 메모리의 모든 콘텐츠는 비휘발성 메모리 디바이스(예를 들어, 컴퓨터의 하드 드라이브)에 저장되어, 운영 체계 및 개방 애플리케이션의 상태는 보존된다.
마지막으로, ACPI 사양에서 가장 깊은 슬리프 상태인 S5 슬리프 동작 모드에서, 컴퓨터 시스템(100)에서의 대부분의 디바이스들에 대한 파워는 차단되지만, 예외적으로, 컴퓨터가 사용자 입력으로부터 깨어날 수 있도록 몇 개의 디바이스들에는 파워가 계속 공급된다. 예를 들어, 키보드, 마우스, 혹은 USB 포트들에는 파워가 계속 공급될 수 있어, 이러한 디바이스들로부터의 사용자 입력(예를 들어, 키보드 상의 키스트로크, 마우스의 클릭, 혹은 USB 포트에 USB 디바이스의 삽입)이 컴퓨터 시스템(100)을 슬리프 모드로부터 깨울 수 있다.
S1-S5 슬리프 동작 모드를 참조하여 앞서 설명된 바와 같이, 컴퓨터가 다양한 슬리프 상태에 들어감에 따라 컴퓨터 내의 더 많은 디바이스들에 대한 파워가 차단된다. 또한, 컴퓨터 시스템(100)이 더 깊은 슬리프 상태에 들어감에 따라, 각각의 점진적 슬리프 상태에서 추가적인 디바이스들에 대한 파워가 차단되기 때문에, 컴퓨터 시스템(100)은 더 적은 파워를 소비하게 된다. 현재 컴퓨터 아키텍처 설계에 있어서, CPU(110)는, 사용자가 컴퓨터 시스템(100) 상에서 애플리케이션을 실행시킬 필요가 있을 때, 슬리프 모드를 빠져나와 활성 동작 모드를 재개한다.
어떤 컴퓨터 애플리케이션에 대해, 사용자에 의해 실행되는 애플리케이션은 CPU(110)로부터 최적의 성능을 필요로 하지 않을 수 있다. 예를 들어, CPU(110)는, 예를 들어, 높은 CPU 클럭 속도에서 실행돼야만 하는 그래픽 기능들과 같은 집약적이고 복잡도가 높은 코드 명령들을 가진 애플리케이션을 처리하도록 설계되어 있을 수 있다. 본질적으로, CPU(110)는 이러한 타입의 복잡한 코드 명령들을 처리할 수 있기 때문에, CPU(110)는 이러한 프로세싱 성능을 필요로 하지 않은 애플리케이션들도 또한 처리할 수 있다. 그러나, CPU(110)는 덜 연산 집약적인 애플리케이션에 대해서도 복잡한 애플리케이션에 대한 클럭 주파수와 동일한 클럭 주파수에서 실행되기 때문에, CPU(110)는 이러한 덜 연산 집약적인 애플리케이션을 실행시키는 데 있어 불필요하게 더 많은 파워를 소비하게 된다. 이는 결국 CPU(110) 내의 파워 관리를 비효율적이게 하고, 이에 따라 컴퓨터 시스템(100)의 수명 및 신뢰도를 저하시킨다.
컴퓨터 시스템(100)이 덜 연산 집약적인 애플리케이션을 실행시키기 위해 슬리프 모드를 계속 빠져나옴에 다라, CPU(110)는 필요한 것보다 더 많은 파워를 불필요하게 소비하고, 이는 디바이스의 고장을 일으킬 위험을 증가시킬 수 있다. 종래 컴퓨팅 시스템(100)의 이러한 결점을 극복하기 위한 장치 및 방법이 필요하다. 이 장치 및 방법은, 1차 프로세서(예를 들어, CPU(110))가 슬리프 모드에 있는 동안에는 실행될 수 없는 애플리케이션들을 실행시키기 위해 2차 프로세서를 포함함으로써 컴퓨터 시스템의 파워 관리에 있어 효율성을 증가시킨다.
다음의 설명에 있어, 특정 세부사항들이 본 발명의 완전한 이해를 제공하기 위해 설명 목적으로 제시된다. 그러나, 관련 기술 분야의 숙련된 자에게는, 본 발명이 이러한 특정 세부사항 없이도 실시될 수 있음이 명백해질 것이다. 그 밖의 경우에, 잘 알려진 회로들, 구조들 및 기술들은 세부적으로 제시되지 않고, 오히려 본 설명의 이해를 불필요하게 모호하게 하지 않도록 하기 위해 블럭도 형태로 제공된다.
본 명세서에서 언급되는 "일 실시예" 혹은 "실시예"의 의미는 이 실시예와 함께 설명되는 특정 특징, 구조, 혹은 특성이 본 발명의 적어도 하나의 실시예에 포함되는 것을 의미한다. 본 명세서의 다양한 곳에서 나오는 어구 "일 실시예에 있어서"는 반드시 동일한 실시예를 언급하는 것이 아니다.
도 2는 제 1 프로세서가 슬리프 동작 모드에 있는 동안 컴퓨터 성능을 최적화시키는 장치(200)의 실시예를 나타낸다. 이 장치(200)는 제 1 프로세서가 슬리프 모드에 있는 동안 2차 프로세서로 하여금 특정 기능을 수행하도록 함으로써 컴퓨터 시스템의 파워 관리에 있어 효율성을 최적화시킬 수 있다. 이러한 기능은 제 1 프로세서가 슬리프 모드에 있는 동안에는 실행될 수 없는 애플리케이션들을 포함한다.
이 장치(200)는 제 2 프로세서(210)(본 명세서에서 2차 프로세서 혹은 슬리프 프로세서로 언급됨), CPU(110), 버스(120), 제어기들(1300-1304), 및 주변 디바이스들(140)을 포함한다. 주변 디바이스들(140)은 예를 들어, 디스플레이 디바이스(1400), 입력 디바이스(1401), 네트워크 디바이스(1402), 저장 디바이스(1403), 및 사운드 디바이스(1404)를 포함할 수 있다. CPU(110), 버스(120), 제어기들(1300-1304) 및 주변 디바이스들(140)은 도 1에서 설명된 바와 동일한 방식으로 그 기능을 수행한다.
CPU(110)가 슬리프 모드에 있는 동안, 본 명세서에서 설명된 바와 같은 슬리프 프로세서(210)가 동작할 수 있을지라도, 관련 기술분야에서 통상의 기술을 가진 자는 CPU(110)가 활성 모드에 있는 동안에도, 이 슬리프 프로세서(210)가 또한 동작하도록 구성될 수 있음을 알 수 있을 것이다. 예를 들어, CPU(110)의 컴퓨팅 대역폭이 오버로딩되는 경우, 슬리프 프로세서(210)는 활성 모드 동안 CPU(110)의 특정 태스크들을 수행함으로써 CPU의 대역폭을 완화시키는 데 도움을 주도록 구성될 수 있다. 더욱이, 관련 기술분야에서 통상의 기술을 가진 자는 또한, 비록 슬리프 프로세서(210)가 도 2에서의 CPU(110)와 별개의 요소로서 도시되었지만, 이 슬리프 프로세서(210)가 CPU(110) 내에 구현될 수 있음을 알 수 있을 것이다. 예를 들어, 슬리프 프로세서(210)는 CPU(110)와 동일한 집적 회로 상에 제조될 수 있거나 CPU(110)와 동일한 회로 패키지 내에 제조될 수 있다.
도 3은 슬리프 프로세서(210)의 실시예를 나타낸 도면이다. 슬리프 프로세서(210)는 마이크로제어기(310), 버스 연결부(320), ACPI 모듈(330), 파워/리셋 제어 모듈(340), 메모리 디바이스(350), 메모리 버스 제어기(360), 펌웨어 디바이스(370), 및 펌웨어 버스 제어기(380)를 포함한다. 마이크로제어기(310)는 버스 연결부(320)를 통해 (도 2에서의) CPU(110) 및 제어기들(1300-1304)과 통신한다. 버스 연결부(320)는 마이크로제어기(310)와 컴퓨터 시스템의 나머지 간의 인터페이스를 버스(120)를 통해 제공하며, 여기서 버스 연결부(320)는, 컴퓨터 시스템에서 구현되는 (예를 들어, PCIe 및 PCI-X 컴퓨터 버스 아키텍처와 같은) 일반적으로 사용되는 버스 인터페이스일 수 있다. 컴퓨터 버스 아키텍처들은 관련 기술 분야에서 통상의 기술을 가진 그러한 자들에게 알려져 있다.
ACPI 모듈(330)은 슬리프 동작 모드 동안 장치(200)의 파워 관리를 제어한다. 도 1을 참조하여 앞서 설명된 바와 같이, 컴퓨터 시스템은 다양한 슬리프 모드 상태에 들어갈 수 있고, 여기서 각각의 슬리프 상태는 컴퓨터 시스템 내의 추가적인 컴포넌트들에 대한 파워를 점진적으로 차단한다. 마이크로제어기(310)와 함께, ACPI 모듈(330)은 각각의 슬리프 상태 동안 특정 주변 디바이스들(140)에 대한 파워 차단을 제어하도록 구성될 수 있다. 예를 들어, 도 2를 참조하면, S1 슬리프 동작 모드 동안, 입력 디바이스(1401)와 사운드 디바이스(1404)에 대한 파워는 차단될 수 있으며, 반면에 디스플레이 디바이스(1400), 네트워크 디바이스(1402), 및 저장 디바이스(1403)에 대한 파워는 계속 공급될 수 있다. 여기서, ACPI 모듈(330)은 마이크로제어기(310)와 통신하여, 파워/리셋 제어 모듈(340)에 셧다운 신호(shutdown signal)가 발행되게 하고, 이에 따라 제어기(1301), 입력 디바이스(1401), 제어기(1304), 및 사운드 디바이스(1404)에 대한 파워가 차단되게 된다. 관련 기술 분야에서 통상의 기술을 가진 자는, ACPI 모듈(330)이 다양한 슬리프 동작 모드 동안 하나 이상의 주변 디바이스들(140)에 대한 파워를 차단시키도록 구성될 수 있음을 알 수 있을 것이다.
도 4는 파워/리셋 제어 모듈(340)의 실시예를 나타낸 도면이다. 파워/리셋 제어 모듈(340)은 파워 소스(410), 파워 회로(420), 리셋 회로(430), 및 스위치들(4400-44O5)을 포함한다. 파워 소스(410)는, 예를 들어 120V 벽매립형 콘센트와 같은 외부 파워 소스로부터 장치(200)에 파워를 공급한다. 파워 회로(420)는 파워 소스(410)로부터의 파워 신호를 장치(200)에 적합한 전압 레벨로 조절하고, 이 조절된 파워 신호를 장치(200) 내의 디바이스들(즉, CPU(110), 제어기들(1300-1304), 주변 디바이스들(140), 및 슬리프 프로세서(210))에 분배한다. 파워 회로(420)는 장치(200) 내의 디바이스들로의 파워의 분배를 스위치들(4400-44O5)을 통해 선택적으로 제어한다. 따라서, 슬리프 동작 모드 동안, 마이크로제어기(310)는 파워 회로(420)와 통신하여 특정 주변 디바이스들(140)에 대한 파워가 스위치들(4400-44O5)을 통해 차단되게 할 수 있다.
리셋 회로(430)가 장치(200)에 리셋 라인들을 제공하고, 필요한 경우 장치(200)에서의 파워를 리셋한다. 실시예에서, 파워/리셋 제어 모듈(340)에서의 파워 및 리셋의 기능은 긴밀하게 링크되어 있다. 예를 들어, 장치(200)의 파워 공급 시퀀스 동안, 리셋 라인들은 적절한 파워 레벨의 안정화까지 장치(200)에서 어써팅(asserting)되어 있다. 파워 회로(420)는 적절한 파워 레벨에 도달했음을 표시하는 신호(예를 들어, 파워양호(POWERGOOD) 신호)를 발생시킬 수 있고, 그리고 이 신호가 어써팅되는 경우, 리셋 라인은 이 장치(200)로부터 디어써팅(de-asserting)될 수 있다. 또 다른 예에서, 파워 회로(420)는 파워 소스(410)로부터 파워 서지(power surge)를 수신할 수 있고, 이것은 리셋 회로(430)를 트리거하여 파워를 차단하도록 하며, 그 다음에 사전에 정의된 시간(예를 들어, 파워 서지가 진정될 수 있는 적절한 시간)이 흐른 후에 장치(200)에 파워를 공급할 수 있다.
도 3을 참조하면, 펌웨어 디바이스(370)는 마이크로제어기(310)에 의해 실행된 컴퓨터 프로그램을 저장한다. 또 다른 실시예에서, 마이크로제어기(310)에 의해 실행된 컴퓨터 프로그램은 CPU(110)에 의해 사용되는 비휘발성 메모리(미도시)에 저장될 수 있어 슬리프 프로세서(210)의 전체 회로 영역이 감소될 수 있다. 컴퓨터 프로그램이 저장될 수 있는 CPU(110)에 의해 사용되는 비휘발성 메모리의 예는 BIOS 플래시 EEPROM이다.
펌웨어 디바이스(370)에 저장되는 컴퓨터 프로그램은 설계별로 다르고, 그리고 특정 태스크들을 수행할 수 있다. 예를 들어, 펌웨어 디바이스(370)는 컴퓨터의 운영 체계에 의해 요구되는 유지 및 진단 태스크들을 수행하는 프로그램을 저장하도록 구성될 수 있다. 이러한 태스크들은, 예를 들어, 디스크 조각모음, 바이러스 스캔, 업데이트의 다운로드, 및 메모리 테스트 및 초기화를 포함한다. 이러한 타입의 태스크들은 사용자와의 상호작용을 필요로 하지 않거나 혹은 CPU(110)의 전체 성능 활성화를 필요로 하지 않기 때문에, CPU(110)가 슬리프 모드에 있는 동안 마이크로제어기(310)가 이러한 애플리케이션들을 실행하는 것은 이로운 것이다. 더욱이, 마이크로제어기(310)는 컴퓨터 시스템에서의 전체 파워 소비를 감소시키기 위해, 더 오랜 시간에 걸쳐, 더 느린 클럭 주파수에서 이러한 태스크들을 실행시킬 수 있다.
관련 기술 분야에서 통상의 기술을 가진 자는, 비록 CPU(110)가 슬리프 모드에 있는 동안 마이크로제어기(310)가 특정 태스크들을 수행하는 것이 이로울 지라도, 펌웨어 디바이스(370) 및 마이크로제어기(310)가 또한 CPU(110)와 실질적으로 유사한 기능들을 포함하도록 구성될 수도 있음을 이해할 수 있을 것이다.
펌웨어 버스 제어기(380)는 펌웨어 디바이스(370)와 마이크로제어기(310) 간의 데이터 링크를 제공한다. 펌웨어 버스 제어기(380)는 예를 들어, 직렬 주변 버스 인터페이스(serial peripheral bus interface)일 수 있다. 대안적으로, 다른 타입의 통신 데이터 링크들이 펌웨어 버스 제어기(380)를 위해 사용될 수 있다.
메모리 디바이스(350)는 마이크로제어기(310)에 대한 메인 메모리로서의 역할을 한다. 마이크로제어기(310)는 메모리(350)로부터 명령을 판독하여 이 명령을 실행한다. 더욱이, 마이크로제어기(310)에 의해 활발히 사용되고 있는 임의의 데이터가 또한 메모리 디바이스(350)에 저장될 수 있다. 메모리 디바이스(350)의 예는 RAM이다. 메모리 버스 제어기(360)는 메모리 디바이스(350)와 마이크로제어기(310) 간의 인터페이스를 제공하여, 마이크로제어기(310)가 메모리 디바이스(350)로부터 판독을 행할 수 있도록 함과 아울러 메모리 디바이스(350)에 기입을 행할 수 있게 한다.
시스템 설계에 포함된 슬리프 프로세서(210)의 예를 제공하기 위해, 예시적 목적으로, 슬리프 프로세서(210)가 컴퓨팅 네트워크(500)의 일부라고 가정한다. 도 5는 사용자(510), 네트워크(520), 및 웹 서버(530)를 포함하는 예시적 컴퓨팅 네트워크(500)를 나타낸 도면이다. 네트워크(520)는 공중 혹은 사설 통신 네트워크(예를 들어, 인터넷 혹은 사내 네트워크 인트라넷)일 수 있다. 통신 네트워크는 관련 기술 분야에서 통상의 기술을 가진 그러한 사람들에게 알려져 있다. 본 예에서, 웹 서버(530)는 본 발명의 실시예에 따른 슬리프 프로세서(210)를 구현한다.
도 6은 웹 서버(530) 내의 예시적 컴퓨터 시스템(600)을 나타낸 도면이다. 컴퓨터 시스템(600)은 네트워크(520)를 통한 사용자(510)로부터의 요청에 응답하기 위해 사용될 수 있다. 컴퓨터 시스템(600)은 슬리프 프로세서(210), CPU(110), 버스(120), 제어기들(1300-1304), 및 주변 디바이스들(140)을 포함한다. 도 6에서 음영 지역(620)으로 표시된 바와 같이, CPU(110)가 슬리프 모드에 있는 동안, 슬리프 프로세서(210)는 네트워크 디바이스(1402)(예를 들어, 네트워크(520)를 통해 통신하는 네트워크 라우터)와 통신한다. 디스플레이 디바이스(1400), 입력 디바이스(1401), 저장 디바이스(1403), 사운드 디바이스(1404), 및 이들 각각의 제어기들(1300-1301 및 1303-1304)은 슬리프 모드 동안 비활성화 상태에 있다.
일정 기간의 비활성화 상태 이후에, 컴퓨터 시스템(600)은 슬리프 동작 모드에 들어가고, 여기서 슬리프 프로세서(210)와 네트워크 디바이스(1402)는 활성 상태에 있게 된다. 활성 모드에서 슬리프 동작 모드로 전이시, ACPI 모듈(330)은 마이크로제어기(310)와 통신하여 파워/리셋 제어 모듈(340)에 셧다운 신호가 발행되도록 하고, 이에 따라 CPU(110), 제어기들(1300-1301 및 1303-1304), 디스플레이 디바이스(1400), 입력 디바이스(1401), 저장 디바이스(1403), 및 사운드 디바이스(1404)에 대한 파워가 차단되게 된다. 도 4를 참조하는 경우, 이러한 디바이스들에 대한 파워가 차단될 때, 스위치들(1400-1401 및 1403-1404)은 그라운드 연결로 스위칭된다.
이 슬리프 모드 예에서, 슬리프 프로세서(210)의 기능은 CPU(110)에 의해 제공되는 전체 성능을 포함하지 않는 간단한 기능으로 한정된다. 예를 들어, 사용자(510)가 웹 서버(530)에 웹 페이지 요청을 전송하려고 할 때, 슬리프 프로세서(210)는 네트워크(520)를 통해 사용자(510)에게 웹 서버(530)의 상태를 표시하는 메시지를 갖는 응답을 전송할 수 있다. (슬리프 프로세서(210) 내의) 마이크로제어기(310)에게 상태 메시지를 전송하도록 하는 컴퓨터 프로그램이 펌웨어 디바이스(370)에 저장된다. 도 7은 슬리프 프로세서(210)가 사용자(510)에게 전송할 수 있는 예시적인 상태 메시지(700)를 나타낸 도면이다.
예시적 상태 메시지(700)에 의해 표시된 바와 같이, 컴퓨터 시스템(600)은 요청된 웹 페이지를 개방시킬 옵션을 사용자(510)에게 제공한다. 만약 사용자(510)가 웹 페이지에 액세스할 것을 결정했다면, 슬리프 프로세서(210)는 CPU(110)에 대한 파워를 복원시킨다. CPU(110)는 또한 슬리프 모드를 빠져나와 사용자(510)에 의해 요청된 웹 페이지에 응답한다. 반면에, 만약 사용자(510)가 웹 페이지에 액세스하지 않을 것을 결정한다면, CPU(110)는 슬리프 모드에 계속 남아 있게 된다. 결과적으로, CPU(110)가 아닌 슬리프 프로세서(210)가 웹 페이지 액세스에 대해 사용자에게 질의하기 때문에, 슬리프 프로세서(210)는 컴퓨터 시스템(600)에 의해 소비되는 전체 파워를 감소시킨다.
요컨대, 상태 메시지를 네트워크(520)를 통해 사용자(510)에게 전송하는 것과 같은 간단한 태스크가 슬리프 프로세서(210)에 의해 수행되기 때문에, CPU(110)는 상태 메시지 동작을 수행하기 위해 슬리프 모드를 빠져나올 필요가 없다. 만약 이러한 동작을 수행하기 위해 CPU(110)가 요구된다면, 이것은 CPU(110)에 의해 소비되는 파워를 비효율적으로 사용하는 것인데, 왜냐하면 CPU(110)는 상태 메시지를 사용자(510)에게 전송하는 것보다 오히려 웹 서버(530)로부터 웹 페이지 정보를 검색하는 것과 같은 더 복잡한 태스크들을 처리하도록 설계되어 있기 때문이다. 대신에, 슬리프 프로세서(210)는 상태 메시지를 네트워크(520)를 통해 전송하는 간단한 태스크를 수행할 수 있고, 이에 따라 컴퓨터 시스템(600)의 전체 파워 소비가 감소될 수 있다.
관련 기술분야에서 통상의 기술을 가진 자는 다른 태스크들이 슬리프 프로세서(210)에 의해 수행될 수 있음을 알 수 있을 것이다. 예를 들어, 슬리프 프로세서(610)는 컴퓨터 시스템(600)의 운영 체계에 의해 요구되는 유지 및 진단 태스크들을 수행하도록 설계될 수 있다.
도 8은 제 1 프로세서가 슬리프 모드에 있는 동안 컴퓨터 성능을 최적화시키는 방법(800)의 실시예를 나타낸 도면이다. 예를 들어, 방법(800)은 장치(200)를 사용하여 수행될 수 있다. 단계(810)에서, 활성 동작 모드 동안 하나 이상의 주변 디바이스들이 제 1 프로세서에 의해 제어된다. 하나 이상의 주변 디바이스들은, 제 1 프로세서에 의해 제어되는 광범위한 디바이스들일 수 있으며, 예를 들어 디스플레이 디바이스, 저장 디바이스 및 사운드 디바이스와 같은 것일 수 있다. 더욱이, 제 1 프로세서는 제 1 프로세서를 포함하는 컴퓨터 시스템의 기능을 제어하도록 구성된 CPU일 수 있다. 하나 이상의 주변 디바이스들을 제어함에 있어서, 제 1 프로세서는 자기 자신과 하나 이상의 주변 디바이스들 간의 통신 링크(예를 들어, 데이터 트래픽)를 관리할 수 있다.
단계(820)에서, 슬리프 동작 모드 동안 하나 이상의 주변 디바이스들은 제 2 프로세서에 의해 제어된다. 제 2 프로세서는 또한 "슬리프" 프로세서로서 언급되기도 하는 데, 왜냐하면 이 제 2 프로세서는 슬리프 모드 동안 컴퓨터의 어떤 기능들을 제어할 수 있기 때문이다. 다른 특징들 중에서도, 슬리프 프로세서는 제 1 프로세서가 슬리프 모드에 있는 동안에는 제어될 수 없는 하나 이상의 주변 디바이스들의 기능을 제어할 수 있다. 예를 들어, 유지 및 진단 태스크들은 단지 제 1 프로세서가 활성 동작 모드에 있는 동안 수행될 수 있다. 슬리프 프로세서가 이러한 타입의 태스크들을 수행하도록 구성될 수 있다. 슬리프 프로세서는 또한 컴퓨터 시스템에서의 전체 파워 소비를 감소시키기 위해 더 낮은 클럭 주파수에서 더 오랜 시간에 걸쳐 이러한 태스크들을 실행하도록 구성될 수 있다. 또한, 제 1 프로세서가 슬리프 모드에 있는 동안 슬리프 프로세서가 동작하는 것으로 설명되고 있지만, 관련 기술 분야에서 통상의 기술을 가진 자는 이 슬리프 프로세서가 활성 동작 모드 동안 제 1 프로세서와 함께 동작하도록 구성될 수 있음을 알 수 있을 것이다.
단계(830)에서, 제 1 프로세서와, 제 2 프로세서와, 그리고 하나 이상의 주변 디바이스들 간의 데이터 통신 경로가 제공된다. 도 2에서의 버스(120)는 예를 들어 디바이스들 간의 데이터 통신 경로를 제공하기 위해 사용될 수 있다. 또한, 도 3에서의 버스 연결부(320)는 예를 들어 제 2 프로세서와, 제 1 프로세서와, 그리고 하나 이상의 주변 디바이스들 간의 인터페이스를 제공하기 위해 사용될 수 있다.
본 발명의 예시적 실시예들에서 앞서 설명된 슬리프 프로세서를 제공하는 디바이스들의 하드웨어적 실시예에 추가하여, 이러한 디바이스들은 소프트웨어(예를 들어, 컴퓨터 판독가능 프로그램 코드)를 저장하도록 구성된 컴퓨터 사용가능(예를 들어, 판독가능) 매체에 놓이는 소프트웨어로 구현될 수도 있다. 이 프로그램 코드는 본 발명의 실시예들을 가능케 하는바, 이러한 것으로는 다음과 같은 실시예들, 즉 (ⅰ) 본 명세서에 개시되는 방법 및 시스템의 기능(예를 들어, 슬리프 프로세서를 포함하는 시스템 및 방법); (ⅱ) 본 명세서에 개시되는 방법 및 시스템의 제조(예를 들어, 슬리프 프로세서 구조를 제공할 수 있는 디바이스의 제조); 또는 (ⅲ) 본 명세서에서 개시되는 방법 및 시스템의 기능 및 제조의 결합을 포함한다.
예를 들어, 이것은 범용 프로그래밍 언어(예를 들어, C 혹은 C++), 하드웨어 기술 언어(Hardware Description Language, HDL)들(베리로그(Verilog), 베리로그-A, HDL, VHDL, 알테라 HDL(Altera HDL, AHDL) 등을 포함함), 또는 다른 이용가능한 프로그래밍 및/또는 스키메틱 캡처 툴(schematic capture tool)(예를 들어, 회로 캡처 툴)들의 사용을 통해 달성될 수 있다. 이러한 프로그래밍 툴들은 전자 시스템의 동작을 모델링할 수 있고, 여기서 이 시스템은 게이트 네트리스트(gate netlist)로 합성될 수 있고, 그 다음에 궁극적으로 하드웨어 디바이스로 제조될 수 있다. 프로그램 코드가 임의의 공지된 컴퓨터 사용가능 매체에 놓일 수 있고, 이러한 매체는 반도체, 자기 디스크, 광학 디스크(예를 들어, CD-ROM, DVD-ROM)를 포함하며, 이 프로그램 코드는 컴퓨터 사용가능(예를 들어, 판독가능) 전송 매체(예를 들어, 반송파, 혹은 디지털, 광학, 혹은 아날로그 기반의 매체를 포함하는 임의의 다른 매체)로 구현되는 컴퓨터 데이터 신호로서 존재할 수 있다. 이처럼, 이러한 코드는 인터넷 및 인트라넷을 포함하는 통신 네트워크를 통해 전송될 수 있다. 앞서 설명된 시스템 및 기술에 의해 달성되는 기능 및/또는 제공되는 구조가, 프로그램 코드로 구현되는 (미디어 프로세싱 코어와 같은) 코어로 표현될 수 있음과 아울러 집적 회로의 제조의 일부로서 하드웨어로 변형될 수 있음을 이해해야 한다.
본 발명의 다양한 실시예들이 앞서 설명되었지만, 이들은 단지 예시적으로 제시된 것이며 한정적 의미를 갖지 않음을 이해해야만 한다. 관련 기술 분야에서 숙련된 자들은, 첨부되는 특허청구범위에서 정의된 바와 같이 본 발명의 사상 및 범위를 벗어남이 없이, 형태 및 세부사항에 있어 다양한 변경이 행해질 수 있음을 이해할 것이다. 본 발명이 이러한 예들로만 한정되는 것은 아님을 이해해야만 한다. 본 발명은 본 명세서에서 설명되는 바와 같이 동작하는 임의의 요소들에 응용가능하다. 따라서, 본 발명의 범위 및 영역은 앞서 설명된 예시적 실시예들 중 어느 하나에 의해서 한정돼서는 안 되며, 단지 다음의 특허청구범위 및 그 등가물에 따라서만 정의돼야 한다.

Claims (23)

  1. 제 1 프로세서가 슬리프 동작 모드에 있는 동안 컴퓨터의 성능을 최적화시키는 장치로서,
    상기 제 1 프로세서에 결합되는 하나 이상의 주변 디바이스들과, 여기서 상기 제 1 프로세서는 활성 동작 모드 동안 상기 하나 이상의 주변 디바이스들을 제어하도록 되어 있고; 그리고
    상기 슬리프 동작 모드 동안 적어도 하나 이상의 주변 디바이스들을 제어하도록 되어 있는 제 2 프로세서를 포함하는 것을 특징으로 하는 컴퓨터 성능 최적화 장치.
  2. 제1항에 있어서,
    상기 제 1 프로세서, 상기 제 2 프로세서, 및 상기 하나 이상의 주변 디바이스들 간의 데이터 통신 경로를 제공하도록 되어 있는 버스를 더 포함하는 것을 특징으로 하는 컴퓨터 성능 최적화 장치.
  3. 제1항에 있어서,
    상기 제 2 프로세서가 상기 하나 이상의 주변 디바이스들에 결합되는 것을 특징으로 하는 컴퓨터 성능 최적화 장치.
  4. 제1항에 있어서,
    상기 하나 이상의 주변 디바이스들은 각각의 주변 디바이스에 결합되는 제어기를 포함하고, 상기 제어기는 각각의 주변 디바이스와 상기 제 1 및 제 2 프로세서들 간의 데이터 트래픽을 관리하도록 되어 있는 것을 특징으로 하는 컴퓨터 성능 최적화 장치.
  5. 제1항에 있어서,
    상기 제 2 프로세서는, 상기 제 1 프로세서가 상기 슬리프 동작 모드에 있는 동안에는 제어될 수 없는 상기 적어도 하나 이상의 주변 디바이스들을 제어하도록 되어 있는 것을 특징으로 하는 컴퓨터 성능 최적화 장치.
  6. 제1항에 있어서,
    상기 제 2 프로세서는,
    마이크로제어기(microcontroller)와;
    상기 마이크로제어기에 결합되어 상기 컴퓨터의 파워 관리를 제어하도록 되어 있는 ACPI(Advanced Configuration and Power Interface) 모듈과;
    상기 마이크로제어기에 결합되어 상기 컴퓨터에 파워를 제공하도록 되어 있는 파워/리셋 제어 모듈(power/reset control module)과;
    상기 마이크로제어기에 결합되어 상기 마이크로제어기와 상기 제 1 프로세서와 상기 하나 이상의 주변 디바이스들 간의 인터페이스를 제공하도록 되어 있는 버스 연결부와;
    상기 마이크로제어기에 결합되어 상기 마이크로제어기에 의해 실행되는 컴퓨터 프로그램을 저장하도록 되어 있는 펌웨어 디바이스와; 그리고
    상기 마이크로제어기에 결합되어 상기 마이크로제어기를 위한 프로그램 명령들 및 데이터를 저장하도록 되어 있는 메모리 디바이스를 포함하는 것을 특징으로 하는 컴퓨터 성능 최적화 장치.
  7. 제6항에 있어서,
    상기 파워/리셋 제어 모듈은,
    파워 소스와;
    상기 파워 소스에 결합되어 상기 파워 소스로부터의 전압을 상기 컴퓨터에 대해 적합한 전압으로 조절하도록 되어 있는 파워 회로와;
    상기 파워 소스 및 상기 파워 회로에 결합되어 파워에서의 서지(surge)가 상기 파워 소스에 존재할 때 상기 컴퓨터에 대한 파워를 리셋시키도록 되어 있는 리셋 회로와; 그리고
    상기 파워 회로에 결합되어 상기 슬리프 동작 모드 동안 상기 제 1 프로세서 및 상기 하나 이상의 주변 디바이스들에 대한 파워 공급을 선택적으로 션트(shunt)시키도록 되어 있는 하나 이상의 스위치들을 포함하는 것을 특징으로 하는 컴퓨터 성능 최적화 장치.
  8. 제1항에 있어서,
    상기 제 2 프로세서는 상기 제 1 프로세서보다 더 느린 클럭 주파수에서 동작하도록 되어 있는 것을 특징으로 하는 컴퓨터 성능 최적화 장치.
  9. 제1항에 있어서,
    상기 제 2 프로세서는 상기 제 1 프로세서가 상기 슬리프 동작 모드에 있는 동안 상기 컴퓨터의 유지 및 진단 태스크를 제어하도록 되어 있는 것을 특징으로 하는 컴퓨터 성능 최적화 장치.
  10. 제 1 프로세서가 슬리프 동작 모드에 있는 동안 컴퓨터 성능을 최적화시키는 방법으로서,
    (a) 활성 동작 모드 동안 상기 제 1 프로세서로 하나 이상의 주변 디바이스들을 제어하는 단계와; 그리고
    (b) 슬리프 동작 모드 동안 제 2 프로세서로 상기 하나 이상의 주변 디바이스들을 제어하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 성능 최적화 방법.
  11. 제10항에 있어서,
    (c) 상기 제 1 프로세서, 상기 제 2 프로세서, 및 상기 하나 이상의 주변 디바이스들 간의 데이터 통신 경로를 제공하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 성능 최적화 방법.
  12. 제10항에 있어서,
    상기 (a) 단계는, 상기 하나 이상의 주변 디바이스들과 상기 제 1 프로세서 간의 데이터 트래픽을 관리하는 것을 포함하는 것을 특징으로 하는 컴퓨터 성능 최적화 방법.
  13. 제10항에 있어서,
    상기 (b) 단계는, 상기 제 1 프로세서가 상기 슬리프 동작 모드에 있는 동안에는 제어될 수 없는 적어도 하나 이상의 주변 디바이스들의 기능을 제어하는 것을 포함하는 것을 특징으로 하는 컴퓨터 성능 최적화 방법.
  14. 제10항에 있어서,
    상기 (b) 단계는, 상기 활성 동작 모드 동안 상기 제 1 프로세서와 함께 동작하는 것을 특징으로 하는 컴퓨터 성능 최적화 방법.
  15. 제10항에 있어서,
    상기 (b) 단계는, 상기 제 1 프로세서보다 더 느린 클럭 주파수에서 동작하는 것을 특징으로 하는 컴퓨터 성능 최적화 방법.
  16. 제 1 프로세서가 슬리프 동작 모드에 있는 동안 컴퓨터 성능을 최적화시키도록 되어 있는 시스템으로서,
    활성 동작 모드 동안 상기 제 1 프로세서로 하나 이상의 주변 디바이스들을 제어하도록 되어 있는 제 1 모듈과; 그리고
    슬리프 동작 모드 동안 제 2 프로세서로 상기 하나 이상의 주변 디바이스들을 제어하도록 되어 있는 제 2 모듈을 포함하는 것을 특징으로 하는 컴퓨터 성능 최적화 시스템.
  17. 제16항에 있어서,
    상기 제 1 프로세서, 상기 제 2 프로세서, 및 상기 하나 이상의 주변 디바이스들 간의 데이터 통신 경로를 제공하도록 되어 있는 제 3 모듈을 더 포함하는 것을 특징으로 하는 컴퓨터 성능 최적화 시스템.
  18. 제16항에 있어서,
    상기 제 1 모듈은, 상기 하나 이상의 주변 디바이스들과 상기 제 1 프로세서 간의 데이터 트래픽을 관리하도록 되어 있는 모듈을 포함하는 것을 특징으로 하는 컴퓨터 성능 최적화 시스템.
  19. 제16항에 있어서,
    상기 제 2 모듈은, 상기 제 1 프로세서가 상기 슬리프 동작 모드에 있는 동안에는 제어될 수 없는 적어도 하나 이상의 주변 디바이스들의 기능을 제어하도록 되어 있는 모듈을 포함하는 것을 특징으로 하는 컴퓨터 성능 최적화 시스템.
  20. 제16항에 있어서,
    상기 제 2 모듈은, 상기 활성 동작 모드 동안 상기 제 1 프로세서와 함께 동작하도록 되어 있는 모듈을 포함하는 것을 특징으로 하는 컴퓨터 성능 최적화 시스템.
  21. 제16항에 있어서,
    상기 제 2 모듈은, 상기 제 1 프로세서보다 더 느린 클럭 주파수에서 동작하도록 되어 있는 모듈을 포함하는 것을 특징으로 하는 컴퓨터 성능 최적화 시스템.
  22. 컴퓨터 판독가능 매체로서,
    제 1 프로세서가 활성 동작 모드 동안 하나 이상의 주변 디바이스들을 제어하도록 하고; 그리고
    제 2 프로세서가 슬리프 동작 모드 동안 상기 하나 이상의 주변 디바이스들을 제어하도록 되어 있는 집적 회로를 제조하기 위해 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 명령들의 하나 이상의 시퀀스들을 수반하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  23. 제22항에 있어서,
    상기 제 1 프로세서, 상기 제 2 프로세서, 및 상기 하나 이상의 주변 디바이스들 간의 데이터 통신 경로를 제공하도록 되어 있는 상기 집적 회로를 제조하기 위해 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 명령들의 하나 이상의 시퀀스들을 더 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
KR1020117000754A 2008-06-12 2009-06-10 슬리프 프로세서 KR101519082B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/137,630 2008-06-12
US12/137,630 US8683247B2 (en) 2008-06-12 2008-06-12 Method and apparatus for controlling power supply to primary processor and portion of peripheral devices by controlling switches in a power/reset module embedded in secondary processor
PCT/US2009/003479 WO2009151588A1 (en) 2008-06-12 2009-06-10 Sleep processor

Publications (2)

Publication Number Publication Date
KR20110038036A true KR20110038036A (ko) 2011-04-13
KR101519082B1 KR101519082B1 (ko) 2015-05-11

Family

ID=41415853

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117000754A KR101519082B1 (ko) 2008-06-12 2009-06-10 슬리프 프로세서

Country Status (6)

Country Link
US (1) US8683247B2 (ko)
EP (1) EP2291720A4 (ko)
JP (1) JP5707321B2 (ko)
KR (1) KR101519082B1 (ko)
CN (1) CN102057344B (ko)
WO (1) WO2009151588A1 (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8255708B1 (en) * 2007-08-10 2012-08-28 Marvell International Ltd. Apparatuses and methods for power saving in USB devices
US20100083381A1 (en) * 2008-09-30 2010-04-01 Khosravi Hormuzd M Hardware-based anti-virus scan service
US20100180055A1 (en) * 2009-01-13 2010-07-15 Lyon Geoff M Monitor sharing system
US9674262B2 (en) * 2009-10-01 2017-06-06 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangements for application scope management
US20110185208A1 (en) * 2010-01-28 2011-07-28 Apple Inc. Memory power reduction in a sleep state
JP5310588B2 (ja) * 2010-02-04 2013-10-09 ブラザー工業株式会社 通信装置
TWI420296B (zh) * 2010-06-25 2013-12-21 Realtek Semiconductor Corp 具有待機組態的電子裝置及其操作方法
TWI504195B (zh) 2010-08-24 2015-10-11 Realtek Semiconductor Corp 網路裝置與其致能方法
CN102478952B (zh) * 2010-11-29 2015-12-16 瑞昱半导体股份有限公司 具有待机模式的电子装置及其操作方法
US8775836B2 (en) * 2010-12-23 2014-07-08 Intel Corporation Method, apparatus and system to save processor state for efficient transition between processor power states
US9529417B2 (en) * 2011-04-28 2016-12-27 Facebook, Inc. Performing selected operations using low power-consuming processors on user devices
US8825842B2 (en) 2011-04-28 2014-09-02 Facebook, Inc. Managing notifications pushed to user devices
JP2012250394A (ja) * 2011-06-01 2012-12-20 Canon Inc 画像形成装置及びその電力制御方法、並びにプログラム
CN102902343B (zh) * 2011-07-29 2015-10-21 瑞昱半导体股份有限公司 网络装置与其使能方法
TWI454905B (zh) 2011-09-30 2014-10-01 Intel Corp 在多核心平台中之受限制的啓動技術
US9098258B2 (en) 2012-06-08 2015-08-04 Apple Inc. Thermal-based acoustic management
JP5715107B2 (ja) * 2012-10-29 2015-05-07 富士通テン株式会社 制御システム
US9081571B2 (en) * 2012-11-29 2015-07-14 Amazon Technologies, Inc. Gesture detection management for an electronic device
US10007323B2 (en) 2012-12-26 2018-06-26 Intel Corporation Platform power consumption reduction via power state switching
US20140189400A1 (en) * 2012-12-28 2014-07-03 Mediatek Inc. Processing system and associated method
US9588558B2 (en) * 2013-06-13 2017-03-07 Microsoft Technology Licensing, Llc On-chip integrated processing and power generation
JP2016012339A (ja) * 2014-06-02 2016-01-21 セイコーエプソン株式会社 情報処理装置、印刷装置、及び、制御方法
KR20160054850A (ko) * 2014-11-07 2016-05-17 삼성전자주식회사 다수의 프로세서들을 운용하는 장치 및 방법
CN105611409B (zh) * 2016-01-04 2019-12-27 京东方科技集团股份有限公司 一种广告机控制系统及其控制方法和广告机
US10795422B2 (en) * 2018-07-24 2020-10-06 Motorola Solutions, Inc. Method and apparatus for mission critical standby of a portable communication drive
CN114610140A (zh) * 2022-03-31 2022-06-10 联想(北京)有限公司 一种处理器的功耗控制方法、系统及电子设备

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US212733A (en) * 1879-02-25 Improvement in lamps
US182978A (en) * 1876-10-03 Improvement in machinery for crimping the uppers for boots and shoes
US176677A (en) * 1876-04-25 Improvement in stock-sheds and wind-screens
US122653A (en) * 1872-01-09 Improvement in strand-twisting machines for rope-walks
US31625A (en) * 1861-03-05 Improvement in sewing-machines
AU629019B2 (en) * 1989-09-08 1992-09-24 Apple Computer, Inc. Power management for a laptop computer
JPH04139565A (ja) * 1990-10-01 1992-05-13 Sega Enterp Ltd マルチcpu装置
JPH08255040A (ja) 1995-03-17 1996-10-01 Canon Inc 印刷装置
US6105142A (en) * 1997-02-11 2000-08-15 Vlsi Technology, Inc. Intelligent power management interface for computer system hardware
US6154508A (en) * 1998-03-23 2000-11-28 Vlsi Technology, Inc. Method and system for rapidly achieving synchronization between digital communications systems
US6092134A (en) * 1998-05-21 2000-07-18 Intel Corporation Method and apparatus for locking out a processor in a computer system with a bus that is improperly terminated
US6631474B1 (en) * 1999-12-31 2003-10-07 Intel Corporation System to coordinate switching between first and second processors and to coordinate cache coherency between first and second processors during switching
JP2002215597A (ja) 2001-01-15 2002-08-02 Mitsubishi Electric Corp マルチプロセッサ装置
US20030163601A1 (en) 2001-03-16 2003-08-28 Cupps Bryan T. Novel personal electronics device with common application platform
US6950893B2 (en) 2001-03-22 2005-09-27 I-Bus Corporation Hybrid switching architecture
JP2003295984A (ja) 2002-04-04 2003-10-17 Nagano Japan Radio Co 携帯端末の電源監視方法
US7058829B2 (en) 2002-08-14 2006-06-06 Intel Corporation Method and apparatus for a computing system having an active sleep mode CPU that uses the cache of a normal active mode CPU
US7450963B2 (en) * 2002-08-27 2008-11-11 Qualcomm Incorporated Low power dual processor architecture for multi mode devices
JP4058439B2 (ja) 2002-09-13 2008-03-12 プロトン エネルギー システムズ,インク. 電力システム
JP3990352B2 (ja) 2003-12-22 2007-10-10 株式会社東芝 半導体集積回路装置
US20050182978A1 (en) 2004-02-17 2005-08-18 Anderson Jason M. Always ready computing device
US20070094444A1 (en) * 2004-06-10 2007-04-26 Sehat Sutardja System with high power and low power processors and thread transfer
US7284137B2 (en) * 2004-06-29 2007-10-16 Intel Corporation System and method for managing power consumption within an integrated circuit
US7664970B2 (en) * 2005-12-30 2010-02-16 Intel Corporation Method and apparatus for a zero voltage processor sleep state
US7337335B2 (en) * 2004-12-21 2008-02-26 Packet Digital Method and apparatus for on-demand power management
JP2006190197A (ja) 2005-01-07 2006-07-20 Seiko Epson Corp 電源制御装置、電源制御方法、および電子機器
JP2006323761A (ja) 2005-05-20 2006-11-30 Toshiba Corp 計算機装置、通信装置及びこれを用いた消費電力制御方法
CN100530148C (zh) * 2005-12-30 2009-08-19 鸿富锦精密工业(深圳)有限公司 音频播放系统及其应用的笔记本电脑
US7382194B2 (en) 2006-01-18 2008-06-03 Triquint Semiconductor, Inc. Switched distributed power amplifier
JP2007219165A (ja) * 2006-02-16 2007-08-30 Seiko Epson Corp 投射装置およびプログラム
US9195428B2 (en) * 2006-04-05 2015-11-24 Nvidia Corporation Method and system for displaying data from auxiliary display subsystem of a notebook on a main display of the notebook
US20070260900A1 (en) * 2006-05-03 2007-11-08 Renesas Technology America, Inc. High-performance microprocessor with lower-performance microcontroller in a vehicle network
US7925900B2 (en) * 2007-01-26 2011-04-12 Microsoft Corporation I/O co-processor coupled hybrid computing device
JP5315621B2 (ja) * 2007-03-15 2013-10-16 富士電機株式会社 無停電電源装置

Also Published As

Publication number Publication date
CN102057344A (zh) 2011-05-11
US20090313492A1 (en) 2009-12-17
EP2291720A1 (en) 2011-03-09
CN102057344B (zh) 2015-05-20
JP2011523149A (ja) 2011-08-04
EP2291720A4 (en) 2015-09-23
JP5707321B2 (ja) 2015-04-30
WO2009151588A1 (en) 2009-12-17
US8683247B2 (en) 2014-03-25
KR101519082B1 (ko) 2015-05-11

Similar Documents

Publication Publication Date Title
KR101519082B1 (ko) 슬리프 프로세서
US10664039B2 (en) Power efficient processor architecture
KR100663864B1 (ko) 멀티-코어 프로세서의 프로세서 모드 제어장치 및 방법
US6631474B1 (en) System to coordinate switching between first and second processors and to coordinate cache coherency between first and second processors during switching
EP1763726B1 (en) A method and apparatus for managing power consumption of a server
US7610497B2 (en) Power management system with a bridge logic having analyzers for monitoring data quantity to modify operating clock and voltage of the processor and main memory
US8112647B2 (en) Protocol for power state determination and demotion
US7334138B2 (en) Windows-driven power management for peripheral devices in a computer system
JPH11161385A (ja) コンピュータシステムおよびそのシステムステート制御方法
US20100332870A1 (en) Electronic device for reducing power consumption of computer motherboard and motherboard thereof
US10732697B2 (en) Voltage rail coupling sequencing based on upstream voltage rail coupling status
CN117461026A (zh) 用于协调持久性高速缓存刷新的系统和方法
KR101087429B1 (ko) 전력 관리 방법 및 장치
KR101896494B1 (ko) 컴퓨팅 디바이스들에서의 전력 관리
KR20240064000A (ko) 전원 차단 상태의 컨트롤러를 관리하는 방법 및 장치
CN117396828A (zh) 对持久性高速缓存刷新的系统支持
CN117441144A (zh) 用于处理异步重置事件同时维持持久性存储器状态的系统和方法
GB2537300A (en) Power efficient processor architecture
KR20040027242A (ko) 컴퓨터시스템
KR20070077835A (ko) 복수의 프로세싱유닛을 갖는 전자장치

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180417

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190417

Year of fee payment: 5