KR20060047535A - 기본 컴퓨팅 환경에 보조적인 작업-기반 프로세싱 - Google Patents

기본 컴퓨팅 환경에 보조적인 작업-기반 프로세싱 Download PDF

Info

Publication number
KR20060047535A
KR20060047535A KR1020050035041A KR20050035041A KR20060047535A KR 20060047535 A KR20060047535 A KR 20060047535A KR 1020050035041 A KR1020050035041 A KR 1020050035041A KR 20050035041 A KR20050035041 A KR 20050035041A KR 20060047535 A KR20060047535 A KR 20060047535A
Authority
KR
South Korea
Prior art keywords
computing system
primary
components
secondary computing
communication controller
Prior art date
Application number
KR1020050035041A
Other languages
English (en)
Other versions
KR101246997B1 (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 KR20060047535A publication Critical patent/KR20060047535A/ko
Application granted granted Critical
Publication of KR101246997B1 publication Critical patent/KR101246997B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • 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)
  • Software Systems (AREA)
  • Power Sources (AREA)
  • Control Or Security For Electrophotography (AREA)

Abstract

본 발명은 기본 시스템 프로세서에 보조 프로세서를 병합시키는 컴퓨팅 시스템에 관한 것이다. 보조 시스템은 프로세스들에 대해 개별적 응용 프로그램 런타임을 사용하고, 기본 시스템이 오프(off) 상태에 있을 때도 동작가능하다. 전력 소비 요구사항들에 대한 컴퓨팅 필요사항들에 기초하여 로드-밸런싱(load-balancing)을 위한 방법들이 제공된다. 계산적으로 집중적이지 않은 프로세스들은 저전력, 보조 프로세서에 의해 프로세스된다. 추가로, 전체 컴퓨팅 시스템에 억세스가능한 주변 컴포넌트들은 공유된다.
기본/보조 컴퓨팅 시스템, 로드-밸런싱, 고전력/저전력 CPU, PCI, 사우스브릿지

Description

기본 컴퓨팅 환경에 보조적인 작업-기반 프로세싱{TASK-ORIENTED PROCESSING AS AN AUXILIARY TO PRIMARY COMPUTING ENVIRONMENTS}
도 1은 종래 개인용 컴퓨터를 도시하는 블럭도.
도 2는 기본 또는 보조 시스템의 전력 상태에 기초하여 컴포넌트들을 공유하는 일반 시스템의 블럭도.
도 3은 기본 컴퓨팅 장치에의 개별 전력공급의 USB 주변기기로서 보조 프로세서 컴포넌트를 도시하는 블럭도.
도 4는 PCI 익스프레스 스위칭 소자를 사용하여 컴포넌트들을 공유하는 시스템의 블럭도.
도 5는 PCI 익스프레스 스위칭 소자가 사우스브릿지(southbridge) 칩셋에 포함된 경우 컴포넌트들을 공유하는 시스템의 블럭도.
도 6은 내부 LAN을 사용한 컴포넌트들을 공유하는 시스템의 블럭도.
도 7은 USB 허브(hub) 아키텍쳐를 사용한 컴포넌트들을 공유하는 시스템의 블럭도.
도 8은 기본 시스템과 보조 시스템 간의 응용 프로그램들을 로드-밸런스(load-balance)하는 시스템의 블럭도.
도 9는 분산 스위치를 사용하여 컴포넌트들을 공유하는 시스템의 블럭도.
<도면의 주요 부분에 대한 부호의 설명>
201 : 기본 시스템, 시스템 CPU 및 메모리, (루트 컴플렉스 1)
202 : 보조 시스템, 보조 CPU 및 메모리, (루트 컴플렉스 2)
203 : 전력원
204 : 호스트 제어기 인터페이스
205 : 지시기
206 : 하드 드라이브
207 : 보조 디스플레이
본 발명은 일반적으로 컴퓨팅 장치들의 분야에 관한 것이며, 보다 구체적으로는, 본 발명은 보조 프로세서를 병합하여 기본 컴퓨팅 시스템이 오프(off) 또는 이용불가능한 상태에 있을 동안에 응용 프로그램들을 실행시키는 컴퓨팅 시스템에 관한 것이다.
종래 컴퓨팅 시스템들은 그들이 "전력공급(powered on)" 상태에 있을 때, 즉, 컴퓨팅 시스템이 업(up)되고 동작상태일 때만 사용할 수 있다. 그러므로, 컴퓨팅 시스템이 오프 상태 또는 스탠바이(저전력) 모드일 때, 컴퓨팅 시스템은 이용가능하지 않고, 프로세싱을 수행할 수 없다.
사용자들이나 정보의 주기적 업데이트와 같은 자동 작업들은 종종 컴퓨팅 장 치와의 즉각적 상호작용을 원한다. 그러나, 종래 컴퓨팅 장치의 심각한 단점은 컴퓨팅 장치가 온(on)이지 않을 때 그것이 이용가능해질 때까지 걸리는 시간이다. 오프, 스탠바이 모드, 또는 폴트들(faults)을 나타내는 종래 시스템들들은 사용을 위한 준비가 안 되어 있고, 스탠바이 모드로부터 부트(boot)되거나 웨이크(awake)되어야 하고, 또는 폴트를 없애기 위해 재부트(reboot)되어야 한다. 부트/웨이크 프로세스는 몇 초로부터 몇 십 초까지 다양할 수 있다. 한 가지 해결책은 온 상태에 컴퓨팅 장치를 유지하는 것이다. 그러나, 이것은 증대된 에너지 소비로 이어지고, 온 상태의 컴퓨팅 장치들은, 다수의 환경들에서 용납될 수 없는, 열 및 음향 방출을 생성한다.
종래 휴대용 장치들의 다른 단점은 그들이 사용을 위한 준비를 하기에 성가시고 불편할 수 있다는 점이다. 예를 들어, 랩톱을 가방에서 꺼내고 정보를 억세스하기 위해 열어야 할 필요가 있을 것이다. 그런 장치들이 여전히 가방에 있으면서 볼 수 있는 모서리 부착의, 또는 기타 보조 디스플레이를 포함한다면 유용할 것이고, 확실히 랩톱을 열 필요가 없을 것이다.
상술된 것에 추가하여, 종래 컴퓨팅 장치들은 이제 종래에 자립형 장치들에 구현되었던 특징들을 구현하기 위해 사용된다. 예를 들어, 종래 컴퓨팅 시스템들은 디지털 비디오 레코더(DVR), 오디오 플레이백, 전화 등을 구현하기 위해 사용된다. 언제든지 텔레비전 쇼를 레코드하거나, 음악을 플레이백하거나, 또는 걸려오거나 거는 전화에 신경쓰기 위한 시스템이 요구될 수 있으므로, 이들 특징들의 추가는 컴퓨팅 시스템이 하루의 24시간/일주일의 7일 동안 이용가능할 것을 필요로 한다.
그러므로, 낮은 강도(low intensity) 작업들을 프로세스할 수 있도록 하면서, 저전력 상태에 배치될 수 있는 컴퓨팅 시스템을 제공하는 시스템 및 방법에 대한 필요성이 있다. 본 발명은 그런 해결책을 제공한다.
본 발명은 시스템의 중앙 프로세싱 유닛에 추가하여 보조 마이크로프로세서를 포함하는 컴퓨팅 시스템에 관련된다. 통합된 또는 외부 보조 마이크로프로세서 모두가 유사 방식으로 컴포넌트들을 억세스할 수 있는 경우에, 보조 마이크로프로세서는 또한 시스템 중앙 프로세서와 통합될 수 있다. 보조 시스템은 프로세스들을 위한 개별 응용 프로그램 런타임을 사용하고, 기본 시스템이 "오프" 상태에 있을 때도 동작할 수 있다. 방법들은 전력 소비 요구사항들에 대한 컴퓨팅 필요사항들에 기초한 로드-밸런싱을 제공할 수 있다. 예를 들어, 계산 집중적이지 않은 프로세스들은 저전력 보조 시스템에 전송된다.
통지, 데이터, 및 커맨드는 USB와 같은 공통 연결 버스들을 통해 개별 프로세서들의 제어하에 동작하는 프로세서들 간에 전송될 수 있다. 추가로, 디스플레이, 지시자, 저장 장치, 및 I/O 컴포넌트를 포함하는 전체 컴퓨팅 시스템에 억세스가능한 컴포넌트들은 보조 시스템과 기본 시스템 간에 공유될 수 있다. 본 발명은 전체 전력 소비를 크게 감소시키는 스케일가능한 프로세싱 능력을 제공한다.
본 발명에 따라, 제1 CPU와 제1 메모리를 갖는 기본 컴퓨팅 시스템, 제2 CPU 또는 기타 논리 장치와 제2 메모리를 갖는 보조 컴퓨팅 시스템, 기본과 보조 컴퓨 팅 시스템들에 연결된 전력원, 및 컴포넌트들이 기본 컴퓨팅 시스템과 보조 컴퓨팅 시스템 간에 공유되도록 기본 컴퓨팅 시스템과 보조 컴퓨팅 시스템 간의 주변 컴포넌트들 중의 미리 결정된 것들을 스위치하는 통신 제어기를 포함하는 컴퓨팅 시스템이 제공된다.
본 발명의 다른 양태에 따르면, 기본 컴퓨팅 시스템과 보조 컴퓨팅 시스템을 갖는 컴퓨팅 시스템의 프로세싱 전력 소비 요구사항들에 기초한 로드-밸런싱 서비스들의 방법이 제공된다. 방법은 기본 시스템 상의 현재 시스템 로드를 결정하고,컴포넌트들의 리스트를 참조하고, 실행될 응용 프로그램의 전력 소비 요구사항을 결정하는 것을 포함한다. 응용 프로그램이 저강도(low intensity) 작업이면, 응용 프로그램의 프로세싱은 보조 컴퓨팅 시스템에 의해 수행되고, 응용 프로그램이 고강도 작업이면, 응용 프로그램의 프로세싱은 기본 컴퓨팅 시스템에 의해 수행된다.
본 발명의 다른 양태에 따르면, 고전력 CPU와 제1 메모리를 갖는 기본 컴퓨팅 시스템, 저전력 CPU와 제2 메모리를 갖는 보조 컴퓨팅 시스템, 기본 컴퓨팅 시스템과 보조 컴퓨팅 시스템들에 접속된 전력원, 기본 컴퓨팅 시스템과 보조 컴퓨팅 시스템과 통신하는 주변 컴포넌트들, 및 기본 컴퓨팅 시스템과 보조 컴퓨팅 시스템 간에 컴포넌트들이 공유되도록 기본 컴퓨팅 시스템과 보조 컴퓨팅 시스템 간의 주변 컴포넌트들 중의 미리 결정된 것들을 스위치하는 통신 제어기를 포함하는 비대칭 컴퓨팅을 위한 시스템이 제공된다.
본 발명의 추가 특징들 및 장점들은 첨부된 도면들을 참조하여 진행하는 도시된 실시예들의 다음 상세한 설명으로부터 명백해질 것이다.
상술된 요약 및 선호되는 실시예들의 다음 상세한 설명은 첨부된 도면들과 연결하여 읽혀질 때 가장 잘 이해된다. 본 발명을 설명하는 목적으로, 도면들에 본 발명의 구성예들이 도시되지만, 본 발명은 개시된 특정 방법들 및 도구들에 제한되지 않는다.
<종래 개인용 컴퓨터>
도 1은 종래 개인용 컴퓨터 시스템 환경(100)의 예를 도시한다. 컴퓨터(110)의 컴포넌트들은 프로세싱 유닛(120), 시스템 메모리(130), 및 프로세싱 유닛(120)에 시스템 메모리를 포함하는 다양한 시스템 컴포넌트들을 결합시키는 시스템 버스(121)를 포함할 수 있지만, 이에 제한되지는 않는다. 시스템 버스(121)는 메모리 버스나 메모리 제어기, 주변기기 버스, 및 다양한 버스 아키텍쳐들 중의 임의의 것을 사용하는 로컬 버스를 포함하는 여러 유형들의 버스 구조들 중의 임의의 것일 수 있다. 예를 들어, 그런 아키텍쳐들은 산업 표준 아키텍쳐(ISA) 버스, 마이크로 채널 아키텍쳐(MCA) 버스, 개선된 ISA(EISA) 버스, 비디오 전자 표준 학회(VESA) 로컬 버스, 주변 컴포넌트 상호연결(PCI) 버스(또는 메자닌 버스라고도 알려짐), 주변 컴포넌트 상호연결 익스프레스(PCI-Express), 및 시스템 관리 버스(SMBus)를 포함하지만, 이에 제한되지는 않는다.
컴퓨터(110)는 통상적으로 다양한 컴퓨터 판독가능 매체들을 포함한다. 컴퓨터 판독가능 매체들은 컴퓨터(110)에 의해 억세스가능한 임의의 이용가능한 매체들일 수 있고, 휘발성과 비휘발성 매체들, 분리형과 비분리형 매체들 모두를 포함 한다. 예를 들어, 컴퓨터 판독가능 매체들은 컴퓨터 저장 매체와 통신 매체를 포함할 수 있지만, 이에 제한적이지는 않다. 컴퓨터 저장 매체들은 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성과 비휘발성, 분리형과 비분리형 매체들 모두를 포함한다. 컴퓨터 저장 매체들은 RAM, ROM, EEPROM, 플래쉬 메모리나 기타 메모리 기술, CD-ROM, DVD(digital versatile disk)나 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치나 기타 자기 저장 장치, 또는 원하는 정보를 저장하기 위해 사용될 수 있고 컴퓨터(110)에 의해 억세스가능한 임의의 기타 매체를 포함하지만, 이에 제한되지는 않는다. 통신 매체는 통상적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 및 반송파나 기타 전송 메카니즘과 같은 변조 데이터 신호의 기타 데이터를 구현하고, 임의의 정보 전달 매체를 포함한다. "변조 데이터 신호"라는 용어는 신호의 정보를 인코딩하는 방식에서 한 개 이상의 그것의 특성들이 설정되거나 변경되는 신호를 의미한다. 예를 들어, 통신 매체는 유선 통신망 또는 직접 유선 접속과 같은 유선 매체들, 및 음향, RF, 적외선, 및 기타 무선 매체들과 같은 무선 매체들을 포함하지만, 이에 제한되지는 않는다. 상술된 것들 중의 임의의 것의 조합들은 또한 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.
시스템 메모리(130)는 ROM(131)과 RAM(132)과 같은 휘발성 및/또는 비휘발성 메모리의 형태로 컴퓨터 저장 매체들을 포함한다. 스타트업 동안과 같은 때, 컴퓨터(110) 내의 소자들 간의 정보 전송을 돕는 기본 루틴들을 포함하는 기본 입/출력 시스템(BIOS)(133)은 통상적으로 ROM(131)에 저장된다. RAM(132)은 통상적으로 프로세싱 유닛(120)에 의해 즉시 억세스가능하고 및/또는 현재 동작 중인 데이터 및/또는 프로그램 모듈들을 포함한다. 예를 들어, 도 1은 운영 시스템(134), 응용 프로그램들(135), 기타 프로그램 모듈들(136), 및 프로그램 데이터(137)를 설명하지만, 이에 제한적이지는 않다.
또한 컴퓨터(110)는 기타 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체를 포함할 수 있다. 예를 들어, 도 1은 비분리형, 비휘발성 자기 매체로부터 읽고 쓰는 하드 디스크 드라이브(141), 분리형, 비휘발성 자기 디스크(152)로부터 읽고 쓰는 자기 디스크 드라이브(151), 및 CD-ROM이나 기타 광 매체들과 같은 분리형, 비휘발성 광 디스크(156)에 읽고 쓰는 광 디스크 드라이브(155)를 도시한다. 운영 환경의 예에서 사용될 수 있는 기타 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체들은 자기 테이프 카세트, 플래쉬 메모리 카드, DVD, 디지털 비디오 테이프, 반도체 RAM, 반도체 ROM 등을 포함하지만, 이에 제한되지는 않는다. 하드 디스크 드라이브(141)는 통상적으로 인터페이스(140)와 같은 비분리형 메모리 인터페이스를 통해 시스템 버스(121)에 접속되고, 자기 디스크 드라이브(151) 및 광 디스크 드라이브(155)는 통상적으로, 인터페이스(150)와 같은, 분리형 메모리 인터페이스에 의해 시스템 버스(121)에 접속된다.
위에서 논의되고 도 1에서 도시된, 드라이브들과 그들의 연관된 컴퓨터 저장 매체들은 컴퓨터(110)에 대한 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈, 및 기타 데이터의 저장을 제공한다. 도 1에서, 예를 들어, 하드 디스크 드라이브 (141)는 운영 시스템(144), 응용 프로그램들(145), 기타 프로그램 모듈들(146), 및 프로그램 데이터(147)를 저장하는 것으로 도시된다. 이들 컴포넌트들은 운영 시스템(134), 응용 프로그램들(135), 기타 프로그램 모듈들(136), 및 프로그램 데이터(137)와 동일하거나 상이할 수 있음을 주목한다. 운영 시스템(144), 응용 프로그램들(145), 기타 프로그램 모듈들(146), 및 프로그램 데이터(147)는 본 명세서에서 다른 부호들이 주어져서, 적어도, 그들이 다른 복사본들임을 나타낸다. 사용자는 키보드(162) 및, 일반적으로 마우스, 트랙볼, 또는 터치 패드라고 일컬어지는 포인팅 장치(161)와 같은 입력 장치들을 통해 컴퓨터(110)로 커맨드와 정보를 입력할 수 있다. 기타 입력 장치들(도시 안됨)은 마이크로폰, 조이스틱, 게임 패드, 위성 접시, 스캐너 등을 포함할 수 있다. 이들 및 다른 입력 장치들은 종종 시스템 버스와 결합된 사용자 입력 인터페이스(160)를 통해 프로세싱 유닛(120)에 접속되지만, 병렬 포트, 게임 포트, 또는 범용 직렬 버스(USB)와 같은 다른 인터페이스 및 버스 구조들에 의해 접속될 수 있다. 모니터(191)나 기타 유형의 디스플레이 장치는 또한 비디오 인터페이스(190)와 같은 인터페이스를 통해 시스템 버스(121)에 접속된다. 모니터에 추가하여, 컴퓨터들은 또한 출력 주변 인터페이스(195)를 통해 접속될 수 있는 스피커들(197) 및 프린터(196)와 같은 기타 주변 출력 장치들을 포함할 수 있다.
컴퓨터(110)는, 원격 컴퓨터(180)와 같은, 한 개 이상의 원격 컴퓨터들에 논리 접속들을 사용하여 통신망 환경에서 동작할 수 있다. 원격 컴퓨터(180)는 개인용 컴퓨터, 서버, 라우터, 통신망 PC, 피어 장치, 또는 기타 일반 통신망 노드일 수 있고, 단지 메모리 저장 장치(181)만이 도 1에 도시되었지만, 통상적으로 컴퓨터(110)에 대해 상술된 다수 또는 전체 소자들을 포함한다. 도시된 논리 접속들은 근거리 통신망(LAN)(171)과 원거리 통신망(WAN)(173)을 포함하지만, 또한 기타 통신망들을 포함할 수 있다. 그런 통신망 환경들은 사무실, 기업-기반 컴퓨터망, 인트라넷, 및 인터넷에서 일반적이다.
LAN 통신망 환경에서 사용될 때, 컴퓨터(110)는 통신망 인터페이스 또는 어댑터(170)를 통해 LAN(171)에 접속된다. WAN 통신망 환경에서 사용될 때, 컴퓨터(110)는 통상적으로, 인터넷과 같은, WAN(173)을 통해 통신을 개설하는 모뎀(172)이나 기타 수단을 포함한다. 내부나 외부일 수 있는 모뎀(172)은 사용자 입력 인터페이스(160) 또는 기타 적합한 메카니즘을 통해 시스템 버스(121)에 접속될 수 있다. 통신망 환경에서, 컴퓨터(110), 또는 그 일부, 에 관련되어 도시된 프로그램 모듈들은 원격 메모리 저장 장치에 저장될 수 있다. 예를 들어, 도 1은 원격 응용 프로그램들(185)이 메모리 장치(181)에 존재하는 것으로서 도시되지만, 이에 제한적이지는 않다. 도시된 통신망 접속은 예일 뿐이고 컴퓨터들 간에 통신 접속을 개설하는 기타 수단이 사용될 수 있음을 이해할 것이다.
<기본 및 보조 컴퓨팅 환경을 제공하는 시스템의 예>
이제 도 2 및 도 3을 참조하면, 기본 또는 보조 시스템의 전력 상태에 기초하여 컴포넌트들을 공유하는 시스템(200)의 개관이 도시된다. 시스템(200)은 기본 CPU와 메모리를 갖는 제1 루트 컴플렉스(기본 시스템)(201)를 포함한다. 기본 시스템이 복잡한 작업들을 핸들링하기에 충분히 높은 프로세싱 전력을 가지므로, 기 본 시스템은 종래 컴퓨터(110)에 유사하다. 제2 루트 컴플렉스(보조 시스템)(202)는 보조(저전력) CPU 및 메모리를 포함한다. 보조 시스템(202)은, PDA와 유사한, 더욱 소량의 프로세싱 전력을 갖는 저전력 장치일 수 있다. 양쪽 루트 컴플렉스들은 기본 시스템(201)과 보조 시스템(202)에 스위치되는 전력원을 제공하는 전원(208)에 의해 전력공급될 수 있다.
도 3은 보조 시스템(202)의 구현의 예를 도시한다. 보조 시스템(202)은 임베디드 프로세서(239), 부트로더(bootloader)/응용 프로그램 저장소(240), USB 클라이언트(241), 비휘발성 저장소로서 동작하는 보조 데이터 캐쉬(242), 및 I2C 통신 접속(243)을 포함한다. 보조 시스템(202)은 USB(247), SMBus(246), 일반 목적 입출력(General Purpose Input Output;GPIO)(244)(구동 장치들(actuators)(245)을 통해)을 통해 입력들을 수신할 수 있다. 디스플레이(224)가 또한 제공될 수 있다.
도 2와 도 3의 아키텍쳐들을 사용하여, 응용 프로그램들은 기본 시스템과 보조 시스템 각각의 전력 상태와 분리되어 기본 시스템(201) 또는 보조 시스템(202)(즉, 제1 또는 제2 루트 컴플렉스)에서 동작할 수 있다. 추가로, 프로세싱 시스템들 중의 하나, 기본 시스템(201) 또는 보조 시스템(202), 는 SMBus(246)와 같은 시스템 커맨드 버스들을 통해 웨이크(wake) 또는 슬립(sleep) 이벤트들에 대해 나머지 시스템에게 신호할 수 있다. 최종적으로, 양쪽 시스템들이 동작 중이면, 한쪽 시스템의 프로세스들은, USB와 같은 일반 버스들을 통해 통지 및 데이터를 전송하여, 서로 통신할 수 있다. 이 모델에서, 기본 시스템은 보조 시스템을 USB 주변기기로서 다룬다.
상술된 것에 추가하여, 전체 컴퓨팅 시스템의 컴포넌트들은 공유될 수 있다. 보조 시스템(202)은 기본 시스템(201)이 "오프" 또는 "이용불가능한" 상태에 있는 동안에 성취될 시나리오들을 매치시키는 응용 프로그램들을 보조 시스템이 실행하도록 하는 프로세스들을 위한 그 자신의 개별 응용 프로그램 런타임을 사용한다. 전원(208)은 호스트 제어기 인터페이스(204)에 출력을 제공하여 특정 컴플렉스가 온 상태임을 지시한다. 그 다음, 호스트 제어기 인터페이스는 기본 시스템(201)과 보조 시스템(202) 간의 지시기(205), 하드 드라이브(206), 보조 디스플레이(207) 등과 같은 주변기기들의 제어를 전력공급되는 시스템으로 스위치한다.
본 발명은 시스템(200)의 물리적 일부이거나 또는 원거리에 위치되고 시스템(200)에 의해 억세스가능한 임의의 컴포넌트의 공유를 제공하여 이 아키텍쳐를 개선한다. 통상적인 PC 아키텍쳐에서, 저장 장치, 기본 및 보조 디스플레이들, 구동 장치들(actuators), 하드웨어 매체 컴포넌트들(TV 튜너들, MPEG 인코더/디코더 등), 주변기기들 등과 같은 컴포넌트들은 기본 CPU 및 런타임에 의해서만 억세스되고 제어된다. 컴포넌트들 중의 임의의 것이 다른 외부 컴퓨팅 시스템들과 공유되면, 그것은 통신망 공유를 통해서이다. 또한, 기본 CPU와 운영 시스템이 "오프"일 때, 하드 드라이브들, USB 구동식의 컴포넌트들과 주변기기들, 기본과 보조 디스플레이들 등과 같은 PC 상의 컴포넌트들이 제2 시스템(온 또는 오프 보드(board))에 의해 사용될 수 있도록 된 아무런 메카니즘이 없다.
본 발명은 마더보드(motherboard)(또는 다른 식으로 접속됨)의 컴포넌트들이, 컴포넌트를 "소유하는" CPU의 명백한 "온/오프" 상태에 상관없이, 프로세서들 과 운영 시스템들 간에 소유될 수 있고, 억세스될 수 있고, 및/또는 공유될 수 있는 실시예들을 제공한다. 도 4의 참조에서, 기본 프로세서(208)를 갖는 기본 시스템(201)과 보조 프로세서(211)를 갖는 보조 시스템(202) 간의 컴포넌트들과 자원들의 공유를 가능하도록 하는 본 발명의 일실시예가 도시된다. 기본 및 보조 프로세서들은 본 발명에서 비대칭적이다. 각각의 시스템은 그 자신의 호스트 제어기(기본 호스트 제어기(209) 및 보조 호스트 제어기(210))를 포함하여 다운스트림(downstream) 장치들과 통신한다. 기본 시스템(201)은 모니터(217)를 디스플레이로서 구비한다.
"스마트" PCI 익스프레스 스위치(212)는 2개의 업스트림(upstream) P2P 브릿지들(213, 214)을 포함하고, 각각은 그 자신의 독립적 내부 PCI 버스 및 복수 개의 다운스트림 P2P 브릿지들(218, 219, 및 220)을 구비한다. 각각의 다운스트림 P2P 브릿지는 각각의 내부 PCI 버스에 접속한다. 종래 PCI 익스프레스 스위치와는 달리, 각각의 다운스트림 P2P 브릿지는 각각의 내부 PCI 버스의 열거 실행(enumeration exercises)에 응답하기 위해 구성되는 능력을 가진다. 브릿지 관리자(216)는 내부 구성 제어 레지스터를 포함하여 각각의 업스트림 버스가 응답하는 다운스트림 P2P 브릿지를 정의한다. 다른 PCI 버스들로부터의 통신은 무시된다.
상술된 바와 같이, PCI 익스프레스 스위치(212)는 2개의 시스템들(201, 202) 간의 임의의 컴포넌트를 스위치할 수 있다. 도시된 바와 같이, 키보드(221), 마우스(222), 하드 드라이브(206), 플래쉬 메모리(223), 보조 사용자 인터페이스(디스플레이)(224), 및 보조 구동 장치들(225)은 시스템들 간에 스위치될 수 있다. 기 타 컴포넌트들이 시스템들(201, 202) 간에 첨부되고 스위치될 수 있으므로, 이 리스트는 전체 리스트로서 의도되지는 않는다.
그러므로, 본 발명에 따라, 양쪽 루트 컴플렉스들(201, 202)은 스위치(212)의 업스트림 포트들(즉, P2P(213, 214))에 접속된다. 그렇게 해서, 모든 다운스트림 컴포넌트들은 한쪽 루트 컴플렉스에 의해 억세스될 수 있다.
추가로, 스마트 PCI 스위치는 컴포넌트들의 동시적 공유를 가능하게 한다. 이 방식으로, 디스플레이가 기본 시스템의 컴포넌트 세트이거나 보조 시스템의 컴포넌트 세트의 물리적인 "부분"인지에 무관하게, 기본 및 보조 시스템들과 런타임들은 모두 보조 사용자 인터페이스(224)에 데이터를 입력할 수 있다. 유사하게, 오디오 컴포넌트들이 어떤 다운스트림 포트에 접속되었는지에 무관하게 디지털 매체들은 오디오 컴포넌트들을 통해 스트림될 수 있다.
ACPI 전력 관리는 루트 컴플렉스들에 의해 개별적으로 핸들링된다. 기본 시스템(201)이 "오프" 상태에 진입할 때, 그것은 그것이 알고 있는 모든 컴포넌트들에게 ACPI 이벤트를 전송한다. 이들 컴포넌트들은, 내부 LAN의, 스마트 PCI 스위치(212)로부터 다운스트림하거나, 다른 루트 컴플렉스(즉, 보조 시스템(202))가 온인 경우인 한, 스마트 USB 허브(아래 기재됨)가 가동된다. 추가로, 일부 컴포넌트들은 매우 어설픈 전력 관리 제한들을 가진다. 예를 들어, USB 컴포넌트들은 통상적으로 스탠바이 상태에 위치될 수 없고, 기본 시스템(201)이 스탠바이 모드에 진입하면 완전히 턴 오프(turn off)되어야 한다. 본 발명에 따라, 기본 프로세서(208)가 스탠바이나 오프 상태에 진입하여 이들 장치들의 전력 관리의 한 레벨을 가동시킬 때, 이들 장치들은 보조 프로세서(221)에 의해 관리될 수 있다.
도 5는 PCI 익스프레스 스위치(212)가, 예를 들어, 사우스브릿지 칩셋에서 호스트될 수 있는 개관을 도시한다. 당업자들에게 알려진 바와 같이, 사우스브릿지 칩셋은, 예를 들어, 통신망 I/O 장치들(229), 디스크 저장 장치(예를 들어, 하드 디스크(206)), USB 주변기기(228), 및 HID 제어기들(227)에 통신한다. HID 제어기들은 HIDClass 장치와 연관된 데이터 소스 또는 데이터 싱크(sink)이다. 데이터 소스, 또는 입력 제어기의 일 예는 버튼이다. 데이터 싱크, 또는 출력 제어기, 의 일 예는 LED이다. 제어 데이타는 얻어진 후 HID 레포트들을 사용하여 장치에 전송된다.
당업자라면, 연속적(24x7) 또는 즉각적 컴퓨팅의 이용성을 필요로 하는 새 컴퓨팅 시나리오들이 발생할 것임을 인식할 것이다. 그런 시나리오들은 전자기기들과 소비자 전자제품들의 관리를 포함하지만, 이에 제한되지는 않는다. 그러므로, 이벤트들을 적절히 인식하고 핸들링하는 동안, 전력 소비와 팬(fan) 잡음을 관리하는 지능형 수단은 시스템을 턴 오프하고, 사용자 관련 비용을 최소화하고, 환경에 친화적인 시스템(잡음)을 제공하는 사용자 기대를 매치시키기 위해 필요하다.
저전력 작업들과 동작들은 보조 시스템(202)에 그들을 호스트하여 항상 이용할 수 있으므로, 본 발명은 전체적 전력 소비를 감소시키고 팬 사용(즉, 음향 방출)을 제거한다. 예를 들어, 스프레드시트를 편집하고 이메일을 모니터하는 동안에, 종래 컴퓨터(110)는 디지털 오디오 파일을 플레이하는 능력을 제공한다. 그러나, 필요한 것이 디지털 오디오 파일을 플레이하는 것만이면, 컴퓨터(110)는 필요 한 것보다 더 많은 프로세싱 전력을 가지며, 전원이나 배터리로부터 전기의 과도한 유출이 있다. 본 발명에 따라, 보조 시스템(202)은 오디오 파일 플레이백의 작업을 호스트할 수 있고, 기본 시스템(201)은 턴 오프될 수 있다.
추가로, 보조 시스템(202)은, VOIP 콜들에 응답하거나 보안 권한 검사 등과 같은, 즉시 핸들링될 필요가 있는 이벤트들에 응답할 것이다. 이것은 기본 시스템(201)을 웨이크할 충분한 시간을 제공하여 시간에 구애받지 않거나 또는 핸들링할 기본 시스템의 전체 자원들을 필요로 하는 이벤트들을 핸들링한다.
본 발명은 또한 타이머-기반의 상호작용에 유용하다. 기본 시스템(201)이 웨이크-온(wake-on) 타이머 이벤트의 개념을 지원하는 동안, 유용한 상태로 불러오기 위해 30초 이상이 소요될 것이다. 그러므로, 디지털 비디오 레코더(DVR) 시나리오에서, 기본 시스템(201)은 저장을 위해 미디어 스트림이 전송되면 30초의 레코드 시간을 잃게 될 것이다. 그러나, 보조 시스템(202)은 양방향 스트리밍 프로세스들을 가동시키고, 이것이 기본 프로세서와 가동되면 성가신 전원 또는 배터리 비용이 없이 이용가능하도록 할 수 있다. 보조 시스템(202)은 또한 기본 시스템(201)과 같이 미디어 인코드/디코드를 위한 동일 하드웨어의 도움을 받을 것이다. 보조 디스플레이가 보조 프로세서와 런타임과 물리적으로 연관된 경우에, 본 발명과 관련된 모델은, 기본 디스플레이로부터 보조 디스플레이로 디지털 TV 스트림을 재라우팅(rerouting)하는 것과 같이, 분산 데이터 스트림을 지원하기 위한 것이다.
추가 장점은 기본 시스템(201)이 "오프" 상태에 있거나 폴트가 발생했을 때도 보조 시스템(202)이 동작한다는 점이다. 따라서, 보조 시스템(202)은 기본 시 스템(201)의 문제성의 이벤트에서 기본 시스템(201)을 모니터하거나 문의하기 위해 사용될 수 있다.
도 6을 이제 참조하면, 내부 LAN이 컴포넌트들을 공유하기 위해 사용되는 경우의 일실시예가 도시된다. 각각의 컴포넌트는 그 자신의 IP(Internet Protocol) 주소를 통해 지정될 수 있다. 시스템 마더보드(233)는 이더넷(ethernet) 통신망을 통해 주변기기 제어기(215)에 접속될 수 있다. 마더보드(233)는 IP 주소를 통해 주변기기 제어기(215)에 접속된 주변기기들(예를 들어, 사용자 인터페이스(224), 비디오(234), 오디오(232), 하드 드라이브(230), 플래쉬 메모리 드라이브(233))의 각각을 지정할 수 있다.
주변기기 제어기(215)는 그것이 외부적으로 가시적인 IP 주소를 제어하는 각각의 컴포넌트에 대해 각각의 컴포넌트 신원(identity) 및 억세스를 나타내고 매핑하는 책임이 있다. 주변기기 제어기를 나타내는 한 개의 IP 주소가 있고, 질의(query)되었을 때, 주변기기 제어기는 주소지정 및/또는 상세한 커맨드을 갖는 능력들의 리스트를 제공하거나 발행할 수 있다.
도 7을 이제 참조하면, USB 허브 아키텍쳐가 복수 개의 루트 컴플렉스들 간에 컴포넌트들을 이용가능하도록 하기 위해 구현되는 경우의 일실시예가 도시된다. 각각의 루트 컴플렉스(201, 202)는 공유된 컴포넌트들을 USB 주변기기들로서 취급한다. PCI 익스프레스 스위치(212)와 유사하게, 이 실시예는 다운스트림 컴포넌트들의 동시 억세스를 위한 업스트림 라인들 간에 스위치 할 수 있는 수정된 USB 허브(249)를 사용한다.
도 8을 참조하면, 프로세싱 전력 소비 요구사항들에 기초하여 서비스들의 로드-밸런싱에 대한 본 발명의 다른 양태가 도시된다. 응용 프로그램(235)이 실행되면, 프로세서 관리자(236)는 현재 시스템 로드(즉, 기본 프로세서(208)에의 로드)를 결정하고, 동작 중인 컴포넌트들(예를 들어, 광 드라이브, 디스크 드라이브, 인코더/디코더 등)의 열거된 리스트를 참조한다. 그런 리스트는 작업 리스트에 포함된 정보로부터 유도될 수 있다. 응용 프로그램(235)이 단순하고 저강도 작업이면, 프로세서 관리자(236)는 보조 시스템(202)으로 그것을 단락시킨다. 반면, 응용 프로그램이 고강도 작업이면, 프로세서 관리자(236)는 기본 시스템(201)으로 그것을 단락시킨다. 더욱이, 일부 응용 프로그램들은 양쪽 프로세서들의 자원들을 사용할 수 있다. 또한, 적합한 프로세서와 런타임에게 플랫폼들과 작업들을 분할하여 그들을 실행하도록 하는 것은 가능하다. 이 로드 밸런싱은 시스템 자원들의 더 효율적 사용을 제공한다.
프로세서 관리자(236)가 이 기능을 가짐으로써 저강도 응용 프로그램들이 실행될 때 시스템의 고전력 소비 컴포넌트들에 전력공급이 완전히 단절될 수 있는 결과를 가져올 것이다. 프로세서들(208, 211) 모두는 하드 디스크, 입력 장치 등과 같은 PC 아키텍쳐의 컴포넌트들을 공유할 수 있다. 응용 프로그램들(235)은 한 개의 응용 프로그램 모델을 사용하여 작성될 수 있다.
이제 도 9를 참조하면, "분산된" 스위치((237, 238)로서 도시됨)를 통해 접속된 컴포넌트들이 도시된다. 기본 또는 보조 시스템들(201, 202)에 의한 억세스는 이 스위치를 통해서이고, 그것은 제어를 지시하는 프로세서에 억세스가 로컬인 것처럼 동작한다. 분산된 스위치의 양쪽 끝은 IrDA, 블루투스, 및 802.11x와 같은, 하지만 이에 제한되지는 않는, 다수의 물리적 전송 중의 임의의 것을 통해 서로 접속된다.
본 발명이 다양한 도면들의 선호되는 실시예들과 연결하여 기재되는 한편, 다른 유사한 실시예들이 사용될 수 있거나, 본 발명의 동일 기능을 그것에서 벗어나지 않고 수행하는 기재된 실시예들에 변경이나 추가가 되어진다. 예를 들어, 당업자라면, 본 출원서에 기재된 바와 같이 본 발명은, 유선이든 무선이든지 간에, 임의의 컴퓨팅 장치나 환경에 적용할 수 있고, 통신망을 통해 접속되고 상호작용하는 임의의 수의 그런 컴퓨팅 장치들에 적용될 수 있다. 더욱이, 특히, 무선 통신망 장치들의 수가 계속 증가하므로, 핸드헬드 장치 운영 시스템들과 기타 응용 프로그램 고유의 운영 시스템들을 포함하는 다양한 컴퓨터 플랫폼들이 고려됨이 강조되어야 한다. 더욱이, 본 발명은 복수 개의 프로세싱 칩들 또는 장치들을 통해 구현될 수 있고, 복수 개의 장치들에 대해 저장 장치도 유사하게 영향받을 것이다. 그러므로, 본 발명은 임의의 한 개의 실시예에 제한되지 않아야 하고, 그 보다는, 첨부된 청구범위에 따라 범위와 폭이 이해되어야 한다.
기본 시스템 프로세서에 보조 프로세서를 병합시키는 컴퓨팅 시스템으로서, 보조 시스템은 프로세스들을 위한 개별 응용 프로그램 런타임을 사용하고, 기본 시스템이 "오프" 상태에 있을 때도 동작할 수 있다. 기본 컴퓨팅 시스템과 보조 컴퓨팅 시스템을 갖는 컴퓨팅 시스템의 프로세싱 전력 소비 요구사항들에 기초한 로 드-밸런싱 서비스들의 방법이 제공된다. 본 발명은 전체 전력 소비를 크게 감소시키는 스케일가능한 프로세싱 능력을 제공한다.

Claims (26)

  1. 컴퓨팅 시스템에 있어서,
    제1 CPU와 제1 메모리를 갖는 기본 컴퓨팅 시스템;
    제2 CPU와 제2 메모리를 갖는 보조 컴퓨팅 시스템;
    상기 기본 및 보조 컴퓨팅 시스템들에 접속된 전원; 및
    상기 기본 컴퓨팅 시스템과 상기 보조 컴퓨팅 시스템 간의 커맨드와 제어 인터페이스
    를 포함하는 컴퓨팅 시스템.
  2. 제1항에 있어서,
    상기 기본 컴퓨팅 시스템과 상기 보조 컴퓨팅 시스템 간의 프로세스 간 통신을 통해 데이터와 통지 공유가 수행되고, 상기 보조 시스템은 USB 버스를 통해 접속되고 상기 기본 시스템에 의해 USB 주변기기로서 취급되는 컴퓨팅 시스템.
  3. 제2항에 있어서,
    상기 기본 컴퓨팅 시스템과 상기 보조 컴퓨팅 시스템 간에 주변 컴포넌트들 중의 미리 결정된 것들을 스위칭하여, 상기 컴포넌트들이 상기 기본 컴퓨팅 시스템과 상기 보조 컴퓨팅 시스템 간에 공유되도록 하는 통신 제어기를 더 포함하는 컴퓨팅 시스템.
  4. 제1항에 있어서,
    상기 기본 컴퓨팅 시스템과 상기 보조 컴퓨팅 시스템 각각은 상기 통신 제어기에 접속된 호스트 제어기를 포함하여 다운스트림(downstream) 장치들과 통신하는 컴퓨팅 시스템.
  5. 제4항에 있어서,
    상기 통신 제어기는 상기 기본 컴퓨팅 시스템과 상기 보조 컴퓨팅 시스템의 각각에 대해 업스트림 P2P 브릿지, 및 상기 컴포넌트들과 접속하는 다운스트림 P2P 브릿지들을 갖는 PCI 익스프레스 통신 제어기를 포함하고,
    상기 각각의 업스트림 P2P 브릿지는 내부 PCI 버스를 통해 각각의 다운스트림 P2P 브릿지와 통신하는 컴퓨팅 시스템.
  6. 제5항에 있어서,
    상기 통신 제어기는 각각의 다운스트림 P2P 브릿지가 어떤 업스트림 P2P 브릿지에 응답하는지를 정의하는 내부 구성 제어 레지스터를 구비하는 브릿지 관리자를 포함하는 컴퓨팅 장치.
  7. 제6항에 있어서,
    상기 컴포넌트들은 상기 통신 제어기를 통해 상기 기본 컴퓨팅 시스템과 상 기 보조 컴퓨팅 시스템 간에 동시에 공유되는 컴퓨팅 시스템.
  8. 제1항에 있어서,
    각각의 컴퓨팅 시스템은 응용 프로그램 런타임을 포함하고,
    상기 통신 제어기는 상기 컴퓨팅 시스템의 응용 프로그램을 실행시키기 위한 요구사항들에 따라 상기 기본 컴퓨팅 시스템과 상기 보조 컴퓨팅 시스템 간에서 상기 주변 컴포넌트들 중의 상기 미리 결정된 것들을 스위칭하는 것에 응답하는 컴퓨팅 시스템.
  9. 제8항에 있어서,
    저강도(low intensity) 작업들은 상기 보조 컴퓨팅 시스템에 호스트되는 컴퓨팅 시스템.
  10. 제8항에 있어서,
    상기 보조 컴퓨팅 시스템은 타이머-기반 상호작용을 제공하고, 상기 보조 컴퓨팅 시스템은 이벤트에 응답하여 상기 기본 컴퓨팅 시스템을 웨이크(wake)하는 컴퓨팅 시스템.
  11. 제8항에 있어서,
    상기 보조 컴퓨팅 시스템은 저전력 시스템이고, 상기 보조 시스템은 상기 기 본 시스템이 이용가능하지 않을 때 응용 프로그램들을 실행시키도록 적응되는 컴퓨팅 시스템.
  12. 제1항에 있어서,
    상기 통신 제어기는 내부 LAN을 포함하고, 상기 컴포넌트들은 그것의 IP(Internet Protocol) 주소에 의해 지정(address)되는 컴퓨팅 시스템.
  13. 제1항에 있어서,
    상기 통신 제어기는 분산 스위치를 포함하고, 상기 컴포넌트들은 억세스가 로컬인 것처럼 상기 분산 스위치를 통해 상기 기본 컴퓨팅 시스템 및 상기 보조 컴퓨팅 시스템 중 어느 하나에 의해 억세스되는 컴퓨팅 시스템.
  14. 제1항에 있어서,
    스탠바이 상태에 진입하도록 되어 있지 않은 컴포넌트들은 상기 보조 컴퓨팅 시스템에 의해 전력이 관리되는 컴퓨팅 시스템.
  15. 기본 컴퓨팅 시스템과 보조 컴퓨팅 시스템을 갖는 컴퓨팅 시스템의 프로세싱 전력 소비 요구사항들에 기초한 서비스들의 로드-밸런싱(load-balancing)의 방법이며,
    기본 시스템에서 현재 시스템 로드를 판정하는 단계;
    컴포넌트들의 리스트를 참조하는 단계;
    실행될 응용 프로그램의 전력 소비 요구사항을 결정하는 단계; 및
    상기 응용 프로그램이 저강도 작업이면, 상기 응용 프로그램의 프로세싱을 상기 보조 컴퓨팅 시스템에 의해 수행하며, 상기 응용 프로그램이 고강도 작업이면, 상기 응용 프로그램의 프로세싱을 상기 기본 컴퓨팅 시스템에 의해 수행하는 단계
    를 포함하는 방법.
  16. 제15항에 있어서,
    상기 응용 프로그램들이 양쪽 시스템들의 자원들을 사용하도록 상기 기본 컴퓨팅 시스템과 상기 보조 컴퓨팅 시스템의 자원들을 공유하는 단계를 더 포함하는 방법.
  17. 제16항에 있어서,
    상기 보조 컴퓨팅 시스템이 이벤트에 응답하여 상기 기본 컴퓨팅 시스템을 웨이크(wake)하도록 타이머-기반 상호작용을 제공하는 단계를 더 포함하는 방법.
  18. 비대칭 컴퓨팅을 위한 시스템이며,
    고전력 CPU 및 제1 메모리를 갖는 제1 컴퓨팅 시스템;
    저전력 CPU 및 제2 메모리를 갖는 보조 컴퓨팅 시스템;
    상기 기본 및 보조 컴퓨팅 시스템들에 접속된 전원;
    상기 기본 컴퓨팅 시스템 및 상기 보조 컴퓨팅 시스템과 통신하는 주변 컴포넌트들; 및
    상기 기본 컴퓨팅 시스템 및 상기 보조 컴퓨팅 시스템 간의 커맨드와 제어 인터페이스
    를 포함하는 시스템.
  19. 제18항에 있어서,
    상기 기본 시스템 및 상기 보조 시스템 간의 프로세스 간 통신을 통해 데이터와 통지 공유가 수행되고, 상기 보조 시스템은 USB 버스를 통해 접속되고 상기 기본 시스템에 의해 USB 주변기기로서 취급되는 시스템.
  20. 제19항에 있어서,
    상기 기본 컴퓨팅 시스템과 상기 보조 컴퓨팅 시스템 간에 주변 컴포넌트들 중의 미리 결정된 것들을 스위칭하여, 상기 컴포넌트들이 상기 기본 컴퓨팅 시스템과 상기 보조 컴퓨팅 시스템 간에 공유되도록 하는 통신 제어기를 더 포함하는 시스템.
  21. 제18항에 있어서,
    상기 통신 제어기는 상기 기본 컴퓨팅 시스템 및 상기 보조 컴퓨팅 시스템의 각각에 대해 업스트림 P2P 브릿지, 및 상기 컴포넌트들을 접속하는 다운스트림 P2P 브릿지들을 구비한 PCI 익스프레스 통신 제어기를 포함하고,
    상기 각각의 업스트림 P2P 브릿지는 내부 PCI 버스를 통해 각각의 다운스트림 P2P 브릿지에 통신하는 시스템.
  22. 제18항에 있어서,
    각각의 컴퓨팅 시스템은 응용 프로그램 런타임을 포함하고,
    상기 통신 제어기는 상기 컴퓨팅 시스템에서 응용 프로그램을 실행시키기 위한 요구사항들에 따라 상기 기본 컴퓨팅 시스템과 상기 보조 컴퓨팅 시스템 간에서 상기 주변기기 컴포넌트들 중의 상기 미리 결정된 것들을 스위칭하는 것에 응답하는 시스템.
  23. 제18항에 있어서,
    상기 보조 컴퓨팅 시스템은 타이머-기반의 상호작용을 제공하고, 상기 보조 컴퓨팅 시스템은 이벤트에 응답하여 상기 기본 컴퓨팅 시스템을 웨이크(wake)하는 시스템.
  24. 제18항에 있어서,
    상기 통신 제어기는 내부 LAN을 포함하고, 상기 컴포넌트들은 그것의 IP 주소를 통해 지정(address)되는 시스템.
  25. 제18항에 있어서,
    상기 통신 제어기는 USB 허브(hub)를 포함하고, 상기 컴포넌트들은 USB 주변기기들로서 상기 기본 컴퓨팅 시스템 및 상기 보조 컴퓨팅 시스템에 의해 일람되는 시스템.
  26. 제18항에 있어서,
    상기 통신 제어기는 분산 스위치를 포함하고, 상기 컴포넌트들은 억세스가 로컬인 것처럼 상기 분산 스위치를 통해 상기 기본 컴퓨팅 시스템 및 상기 보조 컴퓨팅 시스템 중 어느 하나에 의해 억세스되는 시스템.
KR1020050035041A 2004-04-28 2005-04-27 기본 컴퓨팅 환경에 보조적인 작업-기반 프로세싱 KR101246997B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/834,322 2004-04-28
US10/834,322 US7152171B2 (en) 2004-04-28 2004-04-28 Task-oriented processing as an auxiliary to primary computing environments

Publications (2)

Publication Number Publication Date
KR20060047535A true KR20060047535A (ko) 2006-05-18
KR101246997B1 KR101246997B1 (ko) 2013-03-25

Family

ID=34939484

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050035041A KR101246997B1 (ko) 2004-04-28 2005-04-27 기본 컴퓨팅 환경에 보조적인 작업-기반 프로세싱

Country Status (7)

Country Link
US (2) US7152171B2 (ko)
EP (1) EP1591909B1 (ko)
JP (1) JP4878444B2 (ko)
KR (1) KR101246997B1 (ko)
CN (1) CN1694086A (ko)
ES (1) ES2656492T3 (ko)
TW (1) TWI412938B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101498351B1 (ko) * 2010-06-23 2015-03-03 인터내셔널 비지네스 머신즈 코포레이션 어댑터 펑션들용 측정 장치

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7577771B2 (en) * 2004-05-03 2009-08-18 Microsoft Corporation Caching data for offline display and navigation of auxiliary information
US7558884B2 (en) * 2004-05-03 2009-07-07 Microsoft Corporation Processing information received at an auxiliary computing device
US7660914B2 (en) 2004-05-03 2010-02-09 Microsoft Corporation Auxiliary display system architecture
US7511682B2 (en) * 2004-05-03 2009-03-31 Microsoft Corporation Context-aware auxiliary display platform and applications
US20050270988A1 (en) * 2004-06-04 2005-12-08 Dehaemer Eric Mechanism of dynamic upstream port selection in a PCI express switch
US20060294401A1 (en) * 2005-06-24 2006-12-28 Dell Products L.P. Power management of multiple processors
WO2007081218A1 (en) * 2006-01-10 2007-07-19 Cupp Computing As Dual mode power-saving computing system
US7898500B2 (en) * 2006-05-22 2011-03-01 Microsoft Corporation Auxiliary display within a primary display system
JP4998469B2 (ja) * 2006-08-09 2012-08-15 日本電気株式会社 インターコネクション用スイッチおよびシステム
TW200832214A (en) * 2007-01-16 2008-08-01 Asustek Comp Inc Portable computer
US7882377B2 (en) * 2007-04-30 2011-02-01 Hewlett-Packard Development Company, L.P. Electronic device with flexible processing system
CN101470509B (zh) * 2007-12-27 2011-04-27 联想(北京)有限公司 计算机系统的控制方法、该计算机系统及笔记本电脑
US8051279B2 (en) * 2007-12-27 2011-11-01 Nvidia Corporation Method and system for enabling an auxiliary system to retrieve system information from a computing device
CN101471833B (zh) * 2007-12-29 2012-01-25 联想(北京)有限公司 一种数据处理方法和装置
CN101470675B (zh) * 2007-12-29 2011-03-30 联想(北京)有限公司 一种数据输出方法和装置
CN101620462A (zh) * 2008-07-03 2010-01-06 鸿富锦精密工业(深圳)有限公司 计算机装置
CN101661304B (zh) * 2008-08-25 2011-07-27 联想(北京)有限公司 一种计算机及其输入设备共用方法
US8121960B2 (en) * 2009-02-04 2012-02-21 International Business Machines Corporation Portal performance optimization
KR101512493B1 (ko) * 2009-02-06 2015-04-15 삼성전자주식회사 저전력 시스템온칩
US8364857B2 (en) * 2009-08-31 2013-01-29 Qualcomm Incorporated Wireless modem with CPU and auxiliary processor that shifts control between processors when in low power state while maintaining communication link to wireless network
EP2482196B1 (en) * 2011-01-31 2016-06-29 Canon Kabushiki Kaisha Image processing apparatus, printing apparatus and controlling method in image processing apparatus
KR101760422B1 (ko) * 2011-05-11 2017-07-31 엘지전자 주식회사 이동 단말기 및 그 제어방법
GB2491915A (en) * 2011-06-08 2012-12-19 Inst Information Industry Super operating system for a heterogeneous computer system
CN102495756B (zh) * 2011-11-07 2016-09-14 北京中星微电子有限公司 操作系统在不同的中央处理器之间切换的方法及系统
KR101324604B1 (ko) * 2012-05-25 2013-11-01 전자부품연구원 다중 대기 상태 운용 방법 및 이를 적용한 방송수신장치
TW201443630A (zh) * 2013-05-15 2014-11-16 Fih Hong Kong Ltd 電子裝置及其使用方法
US9836637B2 (en) 2014-01-15 2017-12-05 Google Llc Finger print state integration with non-application processor functions for power savings in an electronic device
JP6246603B2 (ja) 2014-01-21 2017-12-13 ルネサスエレクトロニクス株式会社 タスクスケジューラ機構、オペレーティングシステム及びマルチプロセッサシステム
US20170010915A1 (en) * 2014-01-31 2017-01-12 Hewlett Packard Enterprise Development Lp Performing processing tasks using an auxiliary processing unit
JP6087306B2 (ja) * 2014-03-14 2017-03-01 西日本電信電話株式会社 ゲートウェイ装置
US10157162B2 (en) 2016-06-27 2018-12-18 Intel Corporation External universal boosting agent device that improves computing performance by managing the offloading of application tasks for connected electronic devices
CN107577329A (zh) * 2016-07-04 2018-01-12 上海中兴软件有限责任公司 一种数据信息的显示方法和装置
EP4177710A4 (en) 2020-10-28 2024-01-10 Samsung Electronics Co., Ltd. ELECTRONIC DEVICE AND ITS OPERATING METHOD

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5142684A (en) * 1989-06-23 1992-08-25 Hand Held Products, Inc. Power conservation in microprocessor controlled devices
TW327213B (en) * 1993-06-25 1998-02-21 Vtech Computers Inc A multiprocessor computer apparatus
US6446215B1 (en) * 1999-08-20 2002-09-03 Advanced Micro Devices, Inc. Method and apparatus for controlling power management state transitions between devices connected via a clock forwarded interface
US6501999B1 (en) * 1999-12-22 2002-12-31 Intel Corporation Multi-processor mobile computer system having one processor integrated with a chipset
JP2001184147A (ja) * 1999-12-27 2001-07-06 Sanyo Electric Co Ltd 携帯電子機器
JP2001202155A (ja) * 2000-01-18 2001-07-27 Hitachi Ltd 低消費電力処理装置
US6836850B2 (en) * 2000-11-30 2004-12-28 Intel Corporation Portable system arrangements having dual high-level-/low-level processor modes
US6986066B2 (en) * 2001-01-05 2006-01-10 International Business Machines Corporation Computer system having low energy consumption
JP2002215597A (ja) 2001-01-15 2002-08-02 Mitsubishi Electric Corp マルチプロセッサ装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101498351B1 (ko) * 2010-06-23 2015-03-03 인터내셔널 비지네스 머신즈 코포레이션 어댑터 펑션들용 측정 장치

Also Published As

Publication number Publication date
US20050246563A1 (en) 2005-11-03
US7275167B2 (en) 2007-09-25
US7152171B2 (en) 2006-12-19
ES2656492T3 (es) 2018-02-27
TWI412938B (zh) 2013-10-21
TW200622683A (en) 2006-07-01
JP2005332386A (ja) 2005-12-02
US20070067658A1 (en) 2007-03-22
KR101246997B1 (ko) 2013-03-25
EP1591909A3 (en) 2007-10-24
EP1591909A2 (en) 2005-11-02
EP1591909B1 (en) 2017-11-22
JP4878444B2 (ja) 2012-02-15
CN1694086A (zh) 2005-11-09

Similar Documents

Publication Publication Date Title
KR101246997B1 (ko) 기본 컴퓨팅 환경에 보조적인 작업-기반 프로세싱
US8615755B2 (en) System and method for managing resources of a portable computing device
US8631414B2 (en) Distributed resource management in a portable computing device
US8595366B2 (en) Method and system for dynamically creating and servicing master-slave pairs within and across switch fabrics of a portable computing device
US8601484B2 (en) System and method for managing resources and markers of a portable computing device
KR101551321B1 (ko) 휴대용 컴퓨팅 디바이스에서 요청들을 스케쥴링하기 위한 방법 및 시스템
JP2006209774A (ja) コンテキストアウェアネスプラットフォームのためのシステムおよび方法
US9098521B2 (en) System and method for managing resources and threshsold events of a multicore portable computing device
JP2009516244A (ja) 直接コンピューティング経験
US7383450B2 (en) Low power firmware
US20110173628A1 (en) System and method of controlling power in an electronic device
US20130275791A1 (en) Method and System for Tracking and Selecting Optimal Power Conserving Modes of a PCD
US8769544B2 (en) Method and system for managing parallel resource request in a portable computing device
US20240037694A1 (en) Seamless video in heterogeneous core information handling system
US11500449B1 (en) Adaptive remediation for modern standby
KR20040024046A (ko) 전화시스템을 이용한 pc의 전원을 on/off하는전원제어장치.

Legal Events

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

Payment date: 20160218

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170220

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180219

Year of fee payment: 6