KR20060127120A - 멀티-프로세서 시스템에서 전력손실을 줄이는 방법 및 장치 - Google Patents

멀티-프로세서 시스템에서 전력손실을 줄이는 방법 및 장치 Download PDF

Info

Publication number
KR20060127120A
KR20060127120A KR1020067015615A KR20067015615A KR20060127120A KR 20060127120 A KR20060127120 A KR 20060127120A KR 1020067015615 A KR1020067015615 A KR 1020067015615A KR 20067015615 A KR20067015615 A KR 20067015615A KR 20060127120 A KR20060127120 A KR 20060127120A
Authority
KR
South Korea
Prior art keywords
sub
processing units
task
processor
tasks
Prior art date
Application number
KR1020067015615A
Other languages
English (en)
Inventor
코지 히라이리
Original Assignee
가부시키가이샤 소니 컴퓨터 엔터테인먼트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 가부시키가이샤 소니 컴퓨터 엔터테인먼트 filed Critical 가부시키가이샤 소니 컴퓨터 엔터테인먼트
Publication of KR20060127120A publication Critical patent/KR20060127120A/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/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • 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/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • 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/329Power saving characterised by the action undertaken by task scheduling
    • 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]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)

Abstract

본 발명은 메인 처리 유닛과 관련된 각각의 서브-처리 유닛들에 의해 실행되도록 할당되는 프로세서 태스크(processor task)들 및 상기 프로세서 태스크들에 관련되는 프로세서 부하(processor load)들을 감시; 상기 서브-처리 유닛들 중 적어도 하나가 어떠한 태스크도 실행하지 않도록 예정되도록 그들과 관련된 프로세서 부하들을 기반으로 적어도 상기 태스크들의 일부를 재할당; 및 어떠한 태스크도 실행하지 않도록 예정되는 상기 서브-처리 유닛들을 저전력 소비 상태에 들어가도록 명령하기 위한 방법 및 장치에 관한 것이다.
메인 처리 유닛, 서브-처리 유닛, 저전력 소비 상태, 태스크

Description

멀티-프로세서 시스템에서 전력손실을 줄이는 방법 및 장치{METHODS AND APPARATUS FOR REDUCING POWER DISSIPATION IN A MULTI-PROCESSOR SYSTEM}
본 발명은 멀티-프로세서 시스템(multi-processor system)에서 전력손실을 줄이는 방법 및 장치에 관한 것으로, 더욱 상세하게는 멀티-프로세서에 의해 손실되는 전체 전력을 줄이기 위해 시스템에서 복수의 프로세서들 사이에서 태스크(task)를 할당하는 방법 및 장치에 관한 것이다.
실시간(real-time), 멀티미디어(multimedia), 어플리케이션들(applications)이 점점 중요해지고 있다. 이들 어플리케이션들은 초당 수천 메가비트(megabit)의 데이터를 처리하는 것과 같은 극히 빠른 처리 속도를 필요로 한다. 단일 처리 유닛(unit)도 빠른 처리 속도가 가능하나, 일반적으로 멀티-프로세서 아키텍쳐(architecture)의 처리 속도에는 부합할 수 없다. 실제로, 멀티-프로세서 시스템에서 복수의 프로세서들은 원하는 처리 결과들을 얻기 위해 병렬로(또는 적어도 일제히) 동작할 수 있다.
멀티-프로세싱 기술을 사용할 수 있는 컴퓨터 및 전산 장치들의 타입들은 광범위하다. 퍼스널 컴퓨터(PC) 및 서버(server)뿐만 아니라, 이들 전산 장치들은 이동 전화, 모바일(mobile) 컴퓨터, 개인 휴대용 정보 단말기(Personal Digital Assistants;PDAs), 셋톱 박스(set top box), 디지털 텔레비전(digital television)등을 포함한다.
멀티-프로세서 시스템에서 설계상 관심사는 복수의 프로세서에 의해 발생하는 열을 관리하는 방법으로, 특히 휴대용 장치 등과 같은 작은 패키지에서 사용할 때이다. 기계적 열 관리 기술이 적용될 수 있지만, 최종 생산물에 재료비 및 인건비가 추가로 들기 때문에 완전히 만족스럽지는 못하다. 또한 기계적 열 관리 기술도 충분한 쿨링(cooling)을 제공하지 못할 가능성이 있다.
멀티-프로세서 시스템에서 설계상 다른 관심사는 사용가능한 베터리 전력의 효율적인 사용으로, 특히 멀티 프로세서가 랩탑 컴퓨터(lap-top computer), 휴대용 장치(hand held device)등과 같은 휴대용 장치(portable device)들에 사용되는 경우이다. 실제로, 소정의 시스템에 더 많은 프로세서가 사용될수록 파워소스로부터 더 많은 전력이 사용될 것이다. 일반적으로, 소정의 프로세서에 의해 사용되는 전력량은 프로세서에 의해 실행되는 명령어의 수와 프로세서가 작동하는 클록 주파수(clock frequency)와의 함수이다.
따라서, 프로세서에 의해 발생하는 열 및 그에 의해 사용되는 에너지를 감소하는 효율적인 멀티-프로레싱을 획득하기 위한 새로운 방법 및 장치가 당기술 분야에 있어서 필요하다.
상기와 같은 문제점의 적어도 일부를 해결하기 위하여 새로운 컴퓨터 아키텍쳐(computer architecture)가 개발되어왔다.
이와 같이 새로운 컴퓨터 아키텍쳐에 따르면, 멀티-프로세서 컴퓨터 시스템의 모든 프로세서들은 공통의 컴퓨팅 모듈(computing module)(또는 셀(cell))로 구성된다. 상기 공통의 컴퓨팅 모듈은 일정구조를 가지며, 바람직하게는 동일한 명령어 집합 구조를 사용한다. 멀티-프로세서 컴퓨터 시스템은 하나 또는 복수의 클라이언트(client), 서버, PC, 모바일 컴퓨터, 게임기, PDA, 셋톱박스, 어플라이언스, 디지털 TV 및 컴퓨터 프로세서를 이용한 다른 장치들을 형성할 수 있다.
복수의 컴퓨터 시스템은 필요시 네트워크의 요소가 될 수 있다. 일정 모듈 구조에 의하여 멀티 프로세서 컴퓨터 시스템에 의한 어플리케이션 및 데이터의 효과적이고 고속의 처리가 가능해지고, 네트워크가 사용될 경우 네트워크를 이용한 어플리케이션 및 데이터의 빠른 전송이 가능해진다. 또한, 상기 구조는 다양한 사이즈와 처리력의 네트워크 요소의 구축 및 이러한 요소에 의해 처리하기 위한 어플리케이션의 준비를 단순화한다.
기본적인 프로세싱 모듈은 프로세서 요소(PE)이다. 바람직하게 PE는 처리 유닛(PU), 직접 메모리 액세스 컨트롤러(DMAC) 및 공통의 내부 주소와 데이터 버스(data bus)를 이용하여 접속된 복수의 서브-처리 유닛(SPU)(예를들면, 네개의 SPU)을 포함한다. 상기 PU 및 SPU들은 공유 동적 랜덤 액세스 메모리(dynamic random access memory;DRAM)과 상호작용하며, 이는 크로스-바(cross-bar) 아키텍쳐를 가질 수 있다. 상기 PU는 SPU들에 의한 데이터 및 어플리케이션의 처리를 계획하고 조정한다. 상기 SPU는 이 처리를 병렬 및 단독 방식으로 실행한다. 상기 DMAC는 PU 및 SPU들에 의한 공유 DRAM에 저장된 데이터 및 어플리케이션으로의 접근을 제어한다.
상기 모듈러 구조에 따르면, 특정 컴퓨터 시스템에 의해 사용되는 PE의 수는 그 시스템에 의해 요구되는 처리력에 기초한다. 예를 들어, 서버가 4개의 PE를 사용할 수도 있고, 워크스테이션은 두개의 PE를 사용하고 PDA는 하나의 PE를 사용할 수도 있다. 특정 소프트웨어 셀의 처리에 할당된 PE의 SPU들의 수는 셀 내의 프로그램 및 데이타의 복잡성과 크기에 따라 정해진다.
복수의 PE는 공유 DRAM과 연관될 수도 있고, DRAM은 복수의 섹션(section)으로 분리될 수도 있으며, 각각의 상기 섹션들은 복수의 메모리 뱅크(memory bank)로 분리된다. 상기 DRAM의 각 섹션은 뱅크 컨트롤러에 의해 제어될 수 있고, PE의 각 DMAC는 각각의 뱅크 컨트롤러에 접근할 수 있다. 이러한 구성에 있어서, 각 PE의 DMAC는 공유 DRAM의 임의의 부분에 접근할 수 있다.
또한, 새로운 컴퓨터 아키텍쳐는 네트워크를 이용하여 데이타 및 어플리케이션을 송신하고, 네트워크 요소 사이에서 데이타 및 어플리케이션을 처리하는 것을 제공하는 새로운 프로그래밍 모델(programming model)을 사용한다. 상기 프로그래밍 모델은 임의의 네트워크의 요소에 의한 처리를 위해 네트워크를 이용하여 송신된 소프트웨어 셀을 사용한다. 각각의 소프트웨어 셀은 동일한 구조를 가지며 어플리케이션 및 데이타를 모두 포함할 수 있다. 상기 모듈러 컴퓨터 아키텍쳐에 의해 제공되는 높은 처리 속도 및 전송 속도의 결과, 이 셀들은 빠르게 처리될 수 있다. 어플리케이션용 코드는 같은 공통의 명령어 세트 및 ISA를 기초로 하는 것이 바람직하다. 각각의 소프트웨어 셀은 글로벌 ID 및 셀의 처리에 필요한 컴퓨팅 리소스(computing resource)의 양을 표시하는 정보를 포함하는 것이 바람직하다. 모든 컴퓨팅 리소스들은 동일한 기본 구조를 가지고 동일한 ISA를 사용하기 때문에, 이러한 처리를 실행하는 특정 리소스는 네트워크 상의 어디에나 배치될 수 있으며 동적으로 할당될 수 있다.
본 발명의 하나 이상의 양상에 따르면, 본 방법은, 메인 처리 유닛(main processing unit)과 관련된 각각의 서브-처리 유닛(sub-processing unit)들에 의해 실행되도록 할당되는 프로세서 태스크(processor task)들 및 상기 프로세서 태스크에 관련되는 프로세서 부하(processor load)들을 감시하는 단계; 상기 서브-처리 유닛들 중 적어도 하나가 어떠한 태스크도 실행하지 않도록 예정되도록 그들과 관련된 프로세서 부하들을 기반으로 적어도 상기 태스크들의 일부를 재할당하는 단계; 및 어떠한 태스크도 실행하지 않도록 예정되는 상기 서브-처리 유닛들을 저전력 소비 상태에 들어가도록 명령하는 단계를 포함한다.
상기 서브-처리 유닛들 각각은 (ⅰ)전원 인터럽트 회로; 및 (ⅱ)클록 인터럽트 회로 중 적어도 하나를 포함하고, 상기 전원 인터럽트 회로 및 클록 인터럽트 회로 중 적어도 하나를 이용하여 전력-오프(off) 명령에 응답하여 상기 서브-처리 유닛들을 상기 저전력 소비 상태로 하는 단계를 더 포함할 수 있다. 바람직하게는, 상기 서브-처리 유닛들 각각은 전원 및 전원 인터럽트 회로를 포함하고, 상기 전원 인터럽트 회로를 이용하여 전력-오프 명령에 응답하여 전원을 셧 다운하고 상기 소정의 서브-처리 유닛을 상기 저전력 소비 상태로 하는 것을 포함한다.
본 방법은 상기 메인 처리 유닛은 상기 각각의 서브-처리 유닛들에 의해 실행되도록 할당되는 상기 프로세서 태스크들 및 상기 프로세서 태스크들에 관련된 프로세서 부하들을 포함하는 태스크 부하 테이블을 포함하는 것이 바람직하고, 본 방법은 상기 메인 처리 유닛을 사용하여 태스크들 및 부하들의 임의의 변화에 응답하여 상기 태스크 부하 테이블을 업데이트하는 것을 더 포함하는 것이 바람직하다. 상기 메인 처리 유닛은 상기 태스크 부하 테이블에 동작가능하게 결합되는 태스크 할당 유닛을 포함하는 것이 바람직하고, 본 방법은 상기 메인 처리 유닛을 사용하여 상기 서브-처리 유닛들 중 적어도 하나가 어떠한 태스크도 실행하지 않도록 예정되도록 그들과 관련되는 프로세서 부하들을 기반으로 적어도 상기 태스크들의 일부를 재할당하는 것을 더 포함하는 것이 바람직하다.
본 방법은 상기 소정의 서브-처리 유닛들 중 하나가 어떠한 태스크도 실행하지 않도록 예정되도록 관련되는 프로세서 부하들을 기반으로 소정의 상기 서브-처리 유닛들 중 하나의 태스크 모두를 상기 서브-처리 유닛들 중 다른 하나로 재할당하는 것을 더 포함할 수 있다. 선택적 또는 추가로, 본 방법은 상기 소정의 서브-처리 유닛들 중 하나가 어떠한 태스크도 실행하지 않도록 예정되도록 관련되는 프로세서 부하들을 기반으로 소정의 상기 서브-처리 유닛들 중 하나의 태스크 일부를 상기 서브-처리 유닛들 중 하나 이상으로 재할당하는 것을 더 포함할 수 있다.
본 발명의 하나 이상의 양상에 더 따르면, 본 장치는 각각이 프로세서 태스크를 실행하도록 동작가능한 복수의 서브-처리 유닛들과, (ⅰ)상기 각각의 서브-처리 유닛들에 의해 실행되도록 할당된 상기 프로세서 태스크들 및 상기 프로세서 태스크들에 관련된 프로세서 부하들을 감시하고; (ⅱ)상기 서브-처리 유닛들 중 적어도 하나가 어떠한 태스크도 실행하지 않도록 예정되도록 그들과 관련된 프로세서 부하들을 기반으로 적어도 상기 태스크들의 일부를 재할당하고; 및 (ⅲ)어떠한 태스크들도 실행하지 않도록 예정되는 서브-처리 유닛들이 저전력 소비 상태에 들어가도록 지시하는 전력-오프 명령을 발행하도록 동작가능한 메인 처리 유닛을 포함할 수 있다.
본 발명의 하나 이상의 양상에 더 따르면, 본 발명의 메인 프로세서는 메인 처리 유닛과 관련된 각각의 서브-처리 유닛들에 의해 실행되도록 할당된 프로세서 태스크들 및 상기 프로세서 태스크들에 관련된 프로세서 부하들을 감시하는 단계; 상기 서브-처리 유닛들 중 적어도 하나가 어떠한 태스크도 실행하지 않도록 예정되도록 그들과 관련된 프로세서 부하들을 기반으로 적어도 상기 태스크들의 일부를 재할당하는 단계; 및 어떠한 태스크도 실행하지 않도록 예정되는 상기 서브-처리 유닛들을 저전력 소비 상태에 들어가도록 명령하는 단계를 포함하는 단계들을 실행하는 소프트웨어 프로그램의 제어하에서 동작할 수 있다.
본 발명의 다른 실시형태들, 특징들 및 효과들은 첨부하는 도면과 결합되는 설명으로부터 당업자들에게 분명할 것이다.
설명을 위해서, 이해되기에 현재 바람직한 도면이 도시되나, 본 발명이 특정 장치들 및 기기들에 한정되는 것은 아니다.
도 1은 멀티 프로세서 시스템에서 처리 부하에 대한 정적 전력, 동적 전력 및 총 전력의 곡선을 나타내는 도면이다.
도 2는 가변 전압/클록 주파수 제어 기술을 사용하는 멀티 프로세서 시스템의 처리 부하에 대한 정적 전력, 동적 전력 및 총 전력의 곡선을 나타내는 도면이다.
도 3은 본 발명의 하나 이상의 양상에 따른 멀티 프로세서 시스템의 블록도이다.
도 4는 본 발명에 따른 프로세서 요소(PE)의 전형적인 구조를 나타내는 도면이다.
도 5는 본 발명에 따른 전형적인 서브-처리 유닛(SPU)의 구조를 나타내는 도면이다.
도 6은 본 발명의 하나 이상의 양상에 따른 주처리 유닛(PU)의 도면이다.
도 7은 본 발명의 하나 이상의 양상에 따른 도 5의 메인 처리의 태스크 부하 테이블이다.
도 8은 본 발명의 하나 이상의 양상에 따른 다른 서브 처리 유닛에 태스크를 재할당하는 도 7의 태스크 부하 테이블을 나타내는 도면이다.
도 9는 본 발명의 하나 이상의 양상에 따른 다른 두개의 서브-처리 유닛에 태스크를 재할당하는 도 7의 태스크 부하 테이블을 나타내는 도면이다.
도 10은 적어도 하나의 서브-처리 유닛이 예정되는 태스크를 가지지 않도록 본 발명의 하나 이상의 양상에 따라 태스크를 재할당하는 도 7의 태스크 부하 테이블을 나타내는 도면이다.
도 11은 본 발명의 하나 이상의 양상에 따라 도 6의 메인 처리 유닛을 사용 하는 멀티 프로세서 시스템의 처리 부하에 대한 정적 전력, 동적 전력 및 총 전력의 곡선을 나타내는 도면이다.
도 12는 본 발명의 하나 이상의 양상에 따른 태스크 이동의 방향을 나타내는 블록도이다.
도 13A, 13B 및 13C는 본 발명의 다양한 양상에 따른 태스크 이동의 방향을 타나내는 도면이다.
본 발명의 다양한 양상을 명세서에 싣기 위해 도 1에 나타낸 정적 전력, 동적 전력 및 총 전력 곡선의 그래프를 참조한다. 이러한 전력 곡선은 이러한 프로세서의 처리 부하의 함수로서 처리 유닛에 의해 소비되는 전력 특성의 예이다.
정적 전력 Ps는 누설 전류 Il에 처리 유닛의 동작 전압 Vdd를 곱한 값과 같고, Ps=Il×Vdd로 표현할 수 있다. 누설 전류 Il 및 동작 전압 Vdd가 일정한 경우, 도 1에 나타낸 바와 같이 정적 전력 Ps 또한 상기 프로세서의 처리 부하의 함수로서 일정하다. 상기 프로세서에 의해 손실되는 동적 전력 Pd는 Pd=Sf×C×F×Vdd2로 표현할 수 있으며, 여기서 Sf는 프로세서의 처리 부하이고, C는 프로세서의 등가 정전 용량이며, F는 클록 주파수이고, Vdd는 동작 전압이다. Sf는 특정 태스크 또는 태스크들의 그룹을 실행하기 위해 온(on)/오프(off) 될 필요가 있는 처리 유닛의 트랜지스터 수를 나타낸다. 등가 정전 용량 C는 태스크 또는 태스크들과 관련된 트랜지스터의 총 정전 용량을 나타낸다. Pd에 관한 식의 분석은 도 1에 나타낸 바 와 같이 동적 전력 Pd가 처리 부하 Sf의 1차 함수로서 상승하는 것을 나타낸다.
임의의 소정 시점에서 프로세서에 따라 소비되는 총 전력 Pt는 정적 전력 및 동적 전력의 합계, 즉 Pt=Ps+Pd와 같다. 총 전력 Pt는 공지된 전압/주파수 제어(VFC) 기술을 사용하면 감소시킬 수 있다. 도 2에서 알 수 있는 바와 같이, VFC 기술을 사용하면 동작 전압 Vdd 및 클록 주파수 F 중 적어도 하나는 프로세서로부터 요구되는 성능의 함수로서 변화한다. 예를 들어, 임의의 소정의 시점에서 프로세서로부터 비교적 낮은 레벨의 성능만이 요구되는 경우, 동작 전압 Vdd 및 클록 주파수 F의 하나 또는 둘다 모두 감소시킬 수 있다. Ps 및 Pd에 관한 식에 의하면, 동작 전압 Vdd가 감소되면 정적 전력 Ps 및 동적 전력 Pd 또한 감소될 것이다. 클록 주파수 F만을 감소한다면 동적 전력 Pd 만이 감소한다.
도 2에 나타낸 바와 같이, VFC 기술을 사용한 때의 정적 전력(Ps(VFD)로 표기)은 VFC 기술이 사용되지 않은 때의 정전 전력 Ps 보다도 일반적으로 낮다. 더욱 상세하게는 정적 전력 Ps(VFD)는 처리 부하 Sf의 함수로서 꽤 낮은 레벨로부터 높은 레벨까지 선형으로 증가한다. 마찬가지로 VFC 기술을 사용한 때의 동적 전력(Pd(VFC)로 표기)은 VFC 기술이 사용되지 않은 때의 동적 전력 Pd 보다도 일반적으로 낮다. 더욱 상세하게는 동적 전력 Pd(VFC)은 비교적 낮은 레벨로부터 시작되고 처리부하 Sf의 함수로서 2차 함수적인 특징을 나타낸다. 이는 동적 전력 Pd(VFC)이 동작 전압 Vdd의 제곱의 함수이기 때문이다.
도 2의 곡선으로부터 알 수 있는 바와 같이, VFC 기술을 이용한 때의 총 전력은 VFC 기술이 사용되지 않은 때의 총 전력보다 상당히 낮게 할 수 있다. 유감스 럽게도, VFC의 사용유무에 관계없이 프로세서들에서의 전력 손실 관리의 문제는 존속한다. 실제로 무어의 법칙(Moore's law)에 의하면 프로세서의 규모는 18개월마다 2배씩 증가한다. 프로세서들의 규모가 증가함에 따라 정적 전력 Ps도 증가한다. 가까운 미래에 정적 전력 Ps는 동적 전력 Pd보다 더욱 중요해질 것이다. 따라서, 정적 전력 Ps를 더 제어하기 위한 기술들이 고려되고 있다.
정적 전력 Ps를 감소하기 위한 한가지 접근은 트랜지스터 역치 전압(Vth) 기술 채택을 포함한다. 정적 전력 Ps는 Ps=Il×Vdd, 여기서 Il은 누설 전류이고 Vdd는 프로세서의 동작 전압인 것을 상기시켜 보면, 누설 전류 Il는 항상 증가하는 프로세싱 유닛 크기의 함수이다. 프로세서 크기는 1/eVth에 비례하며, 여기서 Vth는 프로세서 구현에 이용되는 프랜지스터의 역치 전압이다. 따라서 누설 전류 Il을 줄이기 위해서는 프로세서의 구현에 이용되는 트랜지스터의 역치 전압 Vth를 증가시키는 것이 바람직하고, 이로 인해 정적 전력 Ps를 감소시킬 수 있다.
유감스럽게도, 상기 접근은 2가지 중요한 문제가 있다. 즉, 클록 주파수에 악영향을 주는 것과 특정 프로세서 제조 시나리오에 있어서 용이하게 사용되지 않는 것이다. 전자의 문제에 관하여, 클록 주파수 F는 (Vdd-Vth)2의 함수이다. 따라서, 역치 전압 Vth을 증가시킨다면, 프로세서의 이론상 클록 주파수 F는 감소해야 한다. VFC 기술을 사용하도록 클록 주파수 F를 감소시키기를 원할지라도 달성가능한 최대 클록 주파수 F를 제한하기는 원하지 않는다.
후자의 문제에 관하여, 역치 전압 Vth의 제어는 벌크(BULK) CMOS 프로세스에 적용할 수 있지만, 실리콘-온-인슐레이터(SOI) 프로세서와 같은 다른 프로세스에 사용하는 것이 매우 어렵다. 실제로, 회로의 전계 효과 트랜지스터(FET)의 바디(또는 벌크) 터미널 및 소스 터미널 사이의 전압 관계를 변화시킴으로써 벌크 CMOS 회로에서 실용적인 역치 전압 Vth 제어를 달성할 수 있다. 상기 프로세스는 프로세서의 FET 트랜지스터의 제조에서 바디 터미널의 사용을 요구하기 때문에, 벌크 CMOS를 이용하여 제조된 프로세서에서 비교적 용이하게 달성된다. 따라서, 각 트랜지스터의 바디 터미널 및 소스 터미널 사이의 전압 관계를 용이하게 제어할 수 있다. 이와 반대로, SOI 프로세스는 벌크/바디 터미날의 사용을 요구하지 않는다. 따라서, SOI에 있어서 역치 전압 Vth 제어 기술을 사용하려면 바디/벌크 터미널을 사용하는 프로세스의 변경을 필요로 하며, 이는 회로의 FET 트랜지스터간의 간격과 구현 복잡성에 악영향을 미칠 것이다.
그러나, 본 발명에 따른 멀티-프로세싱 시스템을 이용하여 유리한 전력 관리 기술을 달성할 수 있다는 것을 발견하였다. 이에 관하여, 도 3은 본 발명의 하나이상의 양상에 따른 멀티-프로세싱 시스템 100을 나타낸다. 멀티-프로세싱 시스템 100은 버스 108에 대해 DRAM과 같은 공유 메모리 106에 접속되는 복수의 프로세서 102(임의의 수가 사용될 수 있다)를 포함한다. 공유 DRAM 메모리 106은 반드시 필요로 하지 않는 점을 주목한다(따라서 점선으로 나타낸다). 실제로 하나 또는 복수의 처리 유닛 102는 각자의 메모리(도시되지 않음)를 사용할 수 있고, 공유 메모리 106을 필요로 하지 않는다.
프로세서 102 중의 하나, 예를 들어 처리 유닛 102A는 바람직하게는 메인 처 리 유닛이다. 처리 유닛 102B, 102C, 102D 등과 같은 다른 처리 유닛 102는 바람직하게는 서브 처리 유닛이다. 처리 유닛 102는 임의의 공지된 컴퓨터 아키텍쳐를 사용하여 구현할 수 있다. 처리 유닛 102의 모두가 동일한 아키텍쳐를 사용하여 구현될 필요는 없다. 실제로 그것들은 이종 또는 동종의 구성일 수 있다. 실행 중, 메인 처리 유닛 102A는, 바람직하게는 서브처리 유닛 102B~D이 데이터 및 어플리케이션의 처리를 병렬 또는 독립적으로 실행하도록 서브 처리 유닛 102B~D에 의한 데이터 및 어플리케이션의 처리를 계획하고 조정한다.
메인 처리 유닛 102A는 서브 처리 유닛 102B~D에 대해 예를 들어, 동일 칩, 동일 패키지, 동일 회로 기판 또는 동일 제품 내와 같이 로컬로 배치될 수 있다는 것에 주목한다. 대체적으로 메인 처리 유닛 102A는 서브 처리 유닛 102B~D으로부터 리모트로 위치할 수 있으며, 예를 들면 버스, 인터넷등의 통신 네트워크 등에 연결될 수 있다. 마찬가지로 서브-처리 유닛 102B~D는 서로 로컬 또는 리모트로 위치할 수 있다.
도 4는 기본 처리 모듈 또는 프로세서 요소(PE)를 이용하는 바람직한 멀티-프로세싱 시스템의 블록도이다. 상기 도에서 볼 수 있는 바와 같이, PE 201은 I/O 인터페이스 202, 처리 유닛(PU) 203, 직접 메모리 엑세스 컨트롤러(DMAC) 205 및 복수의 서브 처리 유닛(SPU), 즉 SPU 207, SPU 209, SPU 211 및 SPU 213을 포함한다. 로컬(또는 내부) PE 버스 223은 PU 203, SPU들, DMAC 205 및 메모리 인터페이스 215 사이에서 데이터 및 어플리케이션을 송신한다. 로컬 PE 버스 223은 예를 들면, 종래의 아키텍쳐를 가지거나 패킷 스위치 네트워크로서 구현될 수 있다. 패킷 스위치 네트워크로서의 구현은 보다 많은 하드웨어를 필요로 하지만 이용가능한 대역폭이 증가한다.
PE 201은 디지털 로직을 구현하기 위한 다양한 방법을 사용하여 구성될 수 있다. 그러나, PE 201은 실리콘 기판상의 상보형 금속 산화막 반도체(CMOS)를 사용하는 단일 집적 회로로서 구성되는 것이 바람직하다. 기판용 대체 재료로는 갈륨 비소, 갈륨 알루미늄 비소 및 다양한 불순물을 사용하는 소위 III-B 화합물을 포함한다. 또한, PE 201는 초전도 재로, 예를 들면 고속 단자속 양자(RSFQ) 로직을 사용하여 구현할 수도 있다.
PE 201은 고 대역폭 메모리 컨넥션(227)을 통하여 동적 랜덤 액세스 메모리(DRAM) 225와 밀접하게 연관된다. DRAM 225는 PE 201의 메인(또는 공유) 메모리로서 작용한다. DRAM 225는 바람직하게는 동적 랜덤 액세스 메모리이지만, DRAM 225는 예를 들어 정적 랜덤 액세스 메모리(SRAM), 자기 랜덤 액세스 메모리(MRAM), 광학 메모리 또는 홀로그래픽 메모리와 같은 다른 수단을 이용하여 구현될 수 있다. DMAC 205 및 메모리 인터페이스 215는 DRAM 225 및 PE 201의 SPU들과 PU 203들 사이의 전송을 용이하게 한다. 서브-처리 유닛 및 PU 203에 대하여 DMAC 205 및/또는 메모리 인터페이스 215가 일체 또는 각각 배치될 수 있다는 점을 주목한다. 실제로, 도면에 나타낸 각각의 구성 대신, DMAC 205 기능 및/또는 메모리 인터페이스 215 기능은 서브-처리 유닛들과 PU 203 중의 하나 또는 복수(바람직하게는 전부)와 일체일 수 있다.
PU 203은 예를 들어, 데이터 및 어플리케이션의 단독 처리가 가능한 표준 프 로세서일 수 있다. 동작중, PU 203은 SPU들에 의한 데이터 및 어플리케이션의 처리를 계획하고 조정한다. SPU들은 바람직하게 단일 명령 복수 데이터(SIMD) 프로세서이다. PU 203 제어하에서, SPU들은 상기 데이터 및 어플리케이션의 처리를 병렬 및 단독으로 실행한다. DMAC 205는 공유 DRAM 225에 저장되는 데이터 및 어플리케이션으로의 접근을 PU 203 및 SPU들에 의해 제어한다. PU 203은 메인 처리 유닛의 역할을 맡고 있는 하나 또는 복수의 서브-처리 유닛들에 의해 구현될 수 있다는 점을 주목한다.
PE 201과 같은 PE들의 수는 통합 또는 패키지되어 강화된 처리 능력을 제공할 수 있다.
도 5는 SPU 400의 구조 및 기능을 나타낸다. SPU 400은 로컬 메모리 406, 레지스터들 410, 하나 또는 복수의 부동 소수점 유닛 412 및 하나 또는 복수의 정수 유닛 414를 포함한다. 그러나 필요한 처리 전력에 따라 더 많거나 더 적은 수의 부동 소수점 유닛 412 및 정수 유닛 414을 사용할 수 있다. 바람직한 실시예에서 로컬 메모리 406은 128 킬로바이트의 기억장치를 가지고 레지스터 410의 용량은 128×128 비트이다. 부동 소수점 유닛 412는 초당 320억회(32 GFLOPS)의 속도로 작동하는 것이 바람직하고, 정수 유닛 414는 초당 320억회(32 GOPS)의 속도로 작동하는 것이 바람직하다.
바람직한 실시예에서, 로컬 메모리 406은 256 킬로바이트의 기억장치를 가지고 레지스터 410의 용량은 128×128 비트이다. 프로세서 태스크들은 공유 메모리 225를 사용해서는 실행되지 않는 점을 주목한다. 오히려 태스크들은 소정의 서브 처리 유닛의 로컬 메모리 406로 카피되고 로컬로 실행된다.
로컬 메모리 406은 캐시 메모리(cache memory)일 수도 있고 아닐 수도 있다. SPU를 위한 캐시 일관성 서포트(cache coherency support)는 바람직하게는 불필요하다. 대신, 로컬 메모리 406은 정적 랜덤 액세스 메모리(SRAM)로 구축되는 것이 바람직하다. PU 203은 PU 203에 의해 시작되는 직접 메모리 액세스를 위해 캐시 일관성 서포트를 필요로 할 수 있다. 그러나, 캐시 일관성 서포트는 서브처리 유닛 300에 의해 시작되는 직접 메모리 액세스 또는 외부 장치와의 액세스를 위해서는 불필요하다.
SPU 400은 SPU 400간의 어플리케이션 및 데이터를 송신하기 위해 버스 404를 더 포함한다. 서브-처리 유닛 400은 서브-처리 유닛 400간의 어플리케이션 및 데이터의 송신을 위해 버스 인터페이스(I/F)를 더 포함한다. 바람직한 실시예에서 버스 I/F는 서브-처리 유닛 400 내에 일체로 배치되는 DMAC(도시하지 않음)에 접속된다. DMAC는 외부로 배치(도 5에 도시한 바와 같이)될 수도 있다는 점을 주목한다. 한 쌍의 버스는 일체로 배치된 DMAC와 버스 I/F 402 및 로컬 메모리 406 사이에 상호접속한다. 버스들은 바람직하게 256 비트 폭이다. 바람직한 실시예에서 버스 404는 1,024 비트 폭이다.
SPU 400은 내부 버스 408, 420 및 418을 더 포함한다. 바람직한 실시예에서, 버스 408은 256 비트 폭을 가지고 로컬 메모리 406 및 레지스터 410 사이의 통신을 제공한다. 버스 420 및 418은 각각 레지스터 410와 부동 소수점 유닛 412 및 레지스터 410와 정수 유닛 414 사이의 통신을 제공한다. 바람직한 실시예에서, 레지스 터 410으로부터 부동 소수점 유닛 또는 정수 유닛으로의 버스 418 및 420의 버스 폭은 384 비트이고, 부동 소수점 유닛 412 또는 정수 유닛 414으로부터 레지스터 410으로의 버스 418 및 420의 버스 폭은 128 비트이다. 부동 소수점 유닛 412 또는 정수 유닛 414으로부터 레지스터 410으로의 버스 폭보다 레지스터 410으로부터 양 유닛으로의 버스 폭이 더 크기 때문에 처리동안 레지스터 410으로부터 보다 많은 데이터 플로우(data flow)를 수용한다. 각각의 계산을 위해 최대 3 워드(word)가 필요하다. 그러나 각 계산의 결과는 보통 1 워드뿐이다.
또한, SPU 400(및/또는 도 3의 SPU 102 중 어느 하나)은 전원 인터럽트 회로 300 및 클록 인터럽트 회로 302 중 적어도 하나를 포함하는 것이 바람직하다. 전원 인터럽트 회로 300을 사용하는 경우, SPU 400으로의 전원은 외부 304 또는 내부 306일 수 있다. 가장 바람직하게는 전원이 내부에 배치되는 것이다. 전원 인터럽트 회로 300은 라인 308상의 명령 신호에 응답하여 SPU 400을 저전력 소비 상태로 하도록 동작가능한 것이 바람직하다. 특히 명령을 받을 때, 전원 인터럽트 회로 300은 내부 전원 306으로부터 SPU 400의 회로로 전력의 배급을 셧다운(shut down)하거나 중단하고, 이로인해 SPU 400을 셧다운하고 전력을 매우 적거나 소비하지 않도록 하는 것이 바람직하다. 대체적으로 외부전원 304를 사용하면, 전원 인터럽트 회로 300은 라인 308상의 명령에 응답하여 상기 전원으로부터 SPU 400으로의 전력의 배급을 중단하는 것이 바람직하다.
마찬가지로 클록 인터럽트 회로 302를 사용하면, 시스템 클록이 내부 또는 외부에서 발생하던지간에 SPU 400을 위한 시스템 클록을 중단함으로써 SPU 400을 저전력소비 상태로 하도록 동작가능한 것이 바람직하다. SPU 400을 저전력 소비 상태로 하는 것에 관한 상세한 설명은 하기와 같다.
도 6은 본 발명의 하나 이상의 양상에 따른 PU 203의 특정 부분의 블록도이다. 특히 PU 203은 태스크 부하 테이블 502, 태스크 할당 유닛 504 및 PSU(또는 클록)컨트롤러 506을 포함한다. 도 7을 참조로 태스크 부하 테이블 502는 PE 201의 각각의 SPU들에 의해 실행되도록 할당된 프로세서 태스크들 및 관련된 프로세서 부하들을 포함하는 것이 바람직하다. 당업자에 있어서 태스크 부하 테이블 502은 하드웨어, 펌웨어 또는 소프트웨어로 구현될 수 있는 것은 당연하며, 태스크 부하 테이블 502은 PU 500에서 실행되는 적절한 소프트웨어를 이용하여 구현되는 것이 바람직하다. 다시 도 6으로 돌아와, 태스크 할당 유닛 504는 태스크 부하 테이블 502에 동작가능하게 접속되고, SPU 중 적어도 하나가 어떠한 태스크도 실행하지 않도록 예정된 것과 같이 그들과 관련된 프로세서 부하들에 근거하여 태스크들의 적어도 일부를 재할당하도록 동작가능하다.
예를 들어 도 7은 SPU 1이 태스크 A와 태스크 B를 실행하도록 예정된 것을 보여주며, 여기서 태스크 A는 0.1의 관련된 프로세서 부하를 가지고 태스크 B는 0.3의 관련된 프로세서 부하를 가진다. 따라서, SPU 1의 아이들(idle)은 0.6이다. SPU 2는 각각 0.05, 0.01, 0.1 및 0.3의 관련된 프로세서 부하를 가지는 태스크 C. 태스크 D, 태스크 E 및 태스크 F를 실행하도록 예정되어 있다. 따라서, SPU 2의 아이들은 0.54이다. SPU 3은 각각 0.7 및 0.3의 관련된 프로세서 부하를 가지는 태스크 G 및 태스크 H를 실행하도록 예정되어 있다. SPU 3의 아이들은 없다. 마지막으 로, SPU 4는 각각 0.15, 0.05 및 0.7의 관련된 프로세서 부하를 가지는 태스크 I. 태스크 J 및 태스크 K를 실행하도록 예정되어 있다. 따라서, SPU 4의 아이들은 0.1이다.
태스크 할당 유닛 504는 태스크 부하 테이블 502의 정보를 이용하고 적어도 하나의 SPU로부터 하나 또는 복수의 SPU로 태스크를 재할당하도록 동작가능한 것이 바람직하다. 도 8은 태스크 할당 유닛 504에 의해 SPU 1로부터 SPU 2로 재할당되는 방법의 일례를 보여준다. 특히, 태스크 할당 유닛 504는 태스크 A 및 태스크 B의 실행에 필요한 총 부하(즉, 0.4)가 SPU 2에 관련되는 아이들 양보다 적은 것을 판정하도록 동작가능할 수 있다. 따라서, 태스크 할당 유닛 504는 태스크 A 및 태스크 B 모두를 SPU 1으로부터 SPU 2로 재할당하도록 결정할 수 있다.
도 9를 참조로, 태스크 할당 유닛 504는 대체적으로 SPU 1으로부터 하나 이상의 SPU들, 예를 들어 SPU 2 및 SPU 4로 태스크들을 할당할 수 있다. 또한 상기 결정은 이동되는 각각의 태스크와 관련되는 부하 및 다른 곳이 참가하고 있는 SPU들의 아이들 용량을 기초로 이루어지는 것이 바람직하다. 후술하는 실시예와 동시에 도 10은 태스크 할당 유닛 504가 SPU 1로부터 태스크를 재할당한 후의 태스크 부하 테이블 502 상태를 나타낸다. 특히, SPU 1은 1.0의 아이들 특성을 가지고; SPU 2는 0.24의 아이들 특성을 가지며; SPU 3은 0.0의 아이들 특성을 가지고; SPU 4는 0.0의 아이들 특성을 가진다.
태스크 할당 유닛 504로부터 지시에 응답하여, PSU 컨트롤러 506은 바람직하게는 SPU 1이 저전력소비 상태에 들어가야 한다는 것을 나타내는 라인 308을 이용 하여 명령한다. 도 5를 참조로 설명한 것과 같이, 상기 명령은 전원 인터럽트 회로 300 및 클록 인터럽트 회로 302 중 적어도 하나가 SPU 1을 저전력 소비 상태로 하도록 야기한다. 관련된 프로세서 부하가 나머지 SPU의 아이들 용량을 초과하는 추가의 처리 태스크를 실행할 필요가 있는 경우, PSU 컨트롤러 506은 SPU 1에 저전력 소비 상태로부터 이탈하도록 지시를 제공하도록 동작가능한 것이 바람직하며, 이로인해 그러한 태스크를 더 처리하는 능력을 제공한다.
도 11을 참조로, 모든 SPU들에 따라 소비되는 총 전력 Pt는 실행될 태스크의 적절한 할당을 통해 유리하게 최소화할 수 있다. 실제로, 도 7의 할당에서 볼 때, 프로세서 요소의 총 전력 Pt는 SPU 1, SPU 2, SPU 3 및 SPU 4에 의해 손실된 전력의 합계이다. 반면, 도 10의 할당에서 볼 때, 처리 요소에 의해 손실된 총 전력은 SPU 2, SPU 3 및 SPU 4에 의해 손실된 전력의 합계이다. 도 7의 할당과 비교해 볼 때 도 10의 할당에서는 SPU 2 및 SPU 4의 처리 부하가 증가하지만, 총 전력 손실은 낮아진다. 이는 SPU 1의 정적 전력 Ps를 완전히 피할 수 있기 때문이다. 다시 도 11로 돌아와서, 도 7의 할당에서 볼 때, SPU는 0.4의 처리부하를 가지고, 이는 0.125 유닛의 전력 손실을 야기하고, SPU 2, SPU 3 및 SPU 4의 총 처리 부하는 2.36으로 0.375의 전력 손실을 수반한다. 따라서, 도 7의 태스크 할당 총 전력 Pt는 0.5 유닛이다. 반면, 도 10의 태스크 할당은 SPU 1에 대해 처리부하 0을 야기하며, SPU 2, SPU 3 및 SPU 4에 대한 총 처리 부하는 2.76이다. 이에 따라 총 전력 Pt는 0.384가 되고, 23.2% 개선된다.
도 12는 본 발명의 하나 이상의 양상를 나타내는 블록도이다. 본 발명의 일 실시예에서 멀티-프로세싱 시스템 550은 내부 버스 552를 경유하고 순서대로 상호접속되는 복수의 서브-처리 유닛 SPU 0~SPU 7을 포함한다. SPU 하나로부터 다른 SPU로의 프로세서 태스크의 전송은 인접하는 SPU 사이에 전송이 없다면, 하나 또는 복수의 중간으로 연결된 SPU들을 통하여 순차적으로 운반될 수 있다. 예를 들어, SPU 0으로부터 SPU 1로의 프로세서 태스크 이동은 내부 버스 552을 이용하여 SPU 0으로부터 SPU 1로 순서대로 단순히 전송될 수 있다. 반면, SPU 0으로부터 SPU 3으로 프로세서 태스크의 이동은 SPU 1 및 SPU 2를 통과하거나, SPU 7, SPU 6, SPU 5 및 SPU 4를 통과할 수 있다. 상기 원형 구조는 SPU가 선형(원형이 아님) 배열로 순서대로 상호접속되어 있는 범퍼-투-범퍼(bump-to-bumper) 배열보다 바람직하다. 실제로 선형 배열에서는 버스의 말단에 위치한 SPU들 간에서 프로세서 태스크를 전송할 때, 과도한 대기시간이 존재할 수 있다. 그러나, 도 12의 원형 배열로 프로세서 태스크는 버스 552를 통하여 두 방향의 어느 쪽에도 전송할 수 있기 때문에 대기시간이 줄어든다.
멀티 프로세서 시스템 550은 SPU들 간에서 태스크의 할당 및/또는 이동을 관리하기 위한 메인 처리 유닛 또는 PU를 포함하지 않는 점을 주목한다. 대신, 태스크 테이블(도 6~10을 참조하여 상술한 것과 실질적으로 마찬가지이다)은 SPU들 간에서 공유 및/또는 SPU들 간에서 분산될 수도 있다. 어떠한 경우에서든, SPU는 테스크 부하 테이블 502를 이용하고 SPU들 간에서 프로세서 태스크를 이동하여 본 명세서의 다른 실시예로 상세히 설명한 전력 관리의 이점을 획득한다.
도 12의 원형 배열에서조차, 구조의 말단, 예를들어 SPU 0 및 SPU 4 간에 프 로세서 태스크를 전송하는 것과 관련하여 대기시간 및 다른 처리 문제가 생길 수 있다는 점에 주목한다. 따라서 SPU을 2개 이상의 그룹으로 분리하는 것이 바람직하다. 예를 들면, 도 13A에 나타낸 바와 같이, SPU 0, SPU 1 및 SPU 2를 그룹 A에 조직하고, SPU 3, SPU 4 및 SPU 5를 그룹 B에 조직할 수 있다. 상기 배열에서는 프로세서 태스크는 소정의 그룹 내의 SPU간에서 전송되는 것뿐이고, 이에 따라 효율적인 멀티 태스킹을 위한 대기시간 문제 및/또는 다른 장애가 줄어든다. 또한, 태스크 테이블의 임의의 공유 및/또는 분배를 소정의 그룹의 SPU로 한정할 수 있고, 이에 따라 태스크 처리 및 이동의 효율성이 향상된다. 도 13B 및 13C는 SPU간의 대안의 그룹핑 및 허용가능한 태스크 전송을 나타낸다. 당업자는 본 발명의 의도 및 범위를 벗어나지 않는 범위 내에서 많은 다른 변형(시스템 내의 SPU의 수를 포함하여)을 할 수 있다.
본 발명은 특정의 실시예를 참조하여 기재했지만, 이러한 실시예는 단지 본 발명의 원리 및 응용을 예시하는 것에 지나지 않는다. 따라서 예시한 실시예에 다수의 변형을 할 수 있으며, 다른 배열을 첨부된 특허청구범위에 기재된 본 발명의 의도 및 범위로부터 벗어남이 없이 고안할 수 있다는 점은 당연하다.
본 발명은 시스템 내의 멀티 프로세서들 사이에서 멀티프로세서에 의해 손실되는 전체 전력을 감소하기 위해 태스크들을 할당하는 기술에 적용할 수 있다.

Claims (39)

  1. 메인 처리 유닛과 관련된 각각의 서브-처리 유닛들에 의해 실행되도록 할당되는 프로세서 태스크들 및 상기 프로세서 태스크들에 관련되는 프로세서 부하들을 감시하는 단계;
    상기 서브-처리 유닛들 중 적어도 하나가 어떠한 태스크도 실행하지 않도록 예정되도록 그들과 관련된 프로세서 부하들을 기반으로 적어도 상기 태스크들의 일부를 재할당하는 단계; 및
    어떠한 태스크도 실행하지 않도록 예정되는 상기 서브-처리 유닛들을 저전력 소비 상태로 하도록 명령하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  2. 제 1항에 있어서, 상기 서브-처리 유닛들 각각은 (ⅰ)전원 인터럽트 회로; 및 (ⅱ)클록 인터럽트 회로 중 적어도 하나를 포함하고,
    상기 전원 인터럽트 회로 및 클록 인터럽트 회로 중 적어도 하나를 이용하여 전력-오프 명령에 응답하여 상기 서브-처리 유닛들을 상기 저전력 소비 상태로 하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  3. 제 2항에 있어서, 상기 서브-처리 유닛들 각각은 전원 및 전원 인터럽트 회로를 포함하고,
    상기 전원 인터럽트 회로를 이용하여 전력-오프 명령에 응답하여 전원을 셧 다운하고 상기 소정의 서브-처리 유닛을 상기 저전력 소비 상태로 하는 것을 포함하는 것을 특징으로 하는 방법.
  4. 제 1항에 있어서, 상기 메인 처리 유닛은 상기 각각의 서브-처리 유닛들에 의해 실행되도록 할당되는 상기 프로세서 태스크들 및 상기 프로세서 태스크들에 관련된 프로세서 부하들을 포함하는 태스크 부하 테이블을 포함하고,
    상기 메인 처리 유닛을 사용하여 태스크들 및 부하들의 임의의 변화에 응답하여 상기 태스크 부하 테이블을 업데이트하는 것을 포함하는 것을 특징으로 하는 방법.
  5. 제 4항에 있어서, 상기 메인 처리 유닛은 상기 태스크 부하 테이블에 동작가능하게 결합되는 태스크 할당 유닛을 포함하고,
    상기 메인 처리 유닛을 사용하여 상기 서브-처리 유닛들 중 적어도 하나가 어떠한 태스크도 실행하지 않도록 예정되도록 그들과 관련되는 프로세서 부하들을 기반으로 적어도 상기 태스크들의 일부를 재할당하는 것을 포함하는 것을 특징으로 하는 방법.
  6. 제 5항에 있어서, 상기 소정의 서브-처리 유닛들 중 하나가 어떠한 태스크도 실행하지 않도록 예정되도록 관련되는 프로세서 부하들을 기반으로 소정의 상기 서 브-처리 유닛들 중 하나의 태스크 모두를 상기 서브-처리 유닛들 중 다른 하나로 재할당하는 것을 더 포함하는 것을 특징으로 하는 방법.
  7. 제 5항에 있어서, 상기 소정의 서브-처리 유닛들 중 하나가 어떠한 태스크도 실행하지 않도록 예정되도록 관련되는 프로세서 부하들을 기반으로 소정의 상기 서브-처리 유닛들 중 하나의 태스크 일부를 상기 서브-처리 유닛들 중 하나 이상으로 재할당하는 것을 더 포함하는 것을 특징으로 하는 방법.
  8. 제 1항에 있어서, 가변 클록 주파스 제어를 실행하도록 적어도 하나의 상기 메인 처리 유닛 및 하나 또는 복수의 상기 서브-처리 유닛들을 이용하여 상기 서브-처리 유닛들 중 적어도 어느 하나의 동적 전력 손실을 감소시키는 것을 특징으로 하는 방법.
  9. 제 1항에 있어서, 가변 전원(Vdd) 제어를 실행하도록 적어도 하나의 상기 메인 처리 유닛 및 하나 또는 복수의 상기 서브-처리 유닛들을 이용하여 상기 서브-처리 유닛들 중 적어도 어느 하나의 정적 및 동적 전력 손실을 감소시키는 것을 특징으로 하는 방법.
  10. 각각이 프로세서 태스크를 실행하도록 동작가능한 복수의 서브-처리 유닛들과,
    (ⅰ)상기 각각의 서브-처리 유닛들에 의해 실행되도록 할당된 상기 프로세서 태스크들 및 상기 프로세서 태스크들에 관련된 프로세서 부하들을 감시하고; (ⅱ)상기 서브-처리 유닛들 중 적어도 하나가 어떠한 태스크도 실행하지 않도록 예정되도록 그들과 관련된 프로세서 부하들을 기반으로 적어도 상기 태스크들의 일부를 재할당하고; 및 (ⅲ)어떠한 태스크들도 실행하지 않도록 예정되는 서브-처리 유닛들이 저전력 소비 상태에 들어가도록 지시하는 전력-오프 명령을 발행하도록 동작가능한 메인 처리 유닛
    을 포함하는 것을 특징으로 하는 장치.
  11. 제 10항에 있어서, 상기 서브-처리 유닛들은 (ⅰ)전원 인터럽트 회로 및 (ⅱ)클록 인터럽트 회로 중 적어도 어느 하나 및 전력-오프 명령에 응답하여 상기 소정의 서브-처리 유닛을 저전력 소비 상태로 하도록 동작가능한 각각을 포함하는 것을 특징으로 하는 장치.
  12. 제 11항에 있어서, 상기 서브-처리 유닛들 각각은 전원 및 전원 인터럽트 회로를 포함하고, 상기 전원 인터럽트 회로는 전력-오프 명령에 응답하여 상기 소정의 서브-처리 유닛을 저전력 소비 상태로 하도록 상기 전원이 셧다운이 실행가능한 것을 특징으로 하는 장치.
  13. 제 10항에 있어서,
    상기 메인 처리 유닛은 상기 각각의 서브-처리 유닛들에 의해 실행되도록 할당된 상기 프로세서 태스크들 및 상기 프로세서 태스크들에 관련된 프로세서 부하들을 포함하는 태스크 로드 테이블을 포함하고,
    상기 메인 처리 유닛은 태스크들 및 부하들에 있어서 임의의 변화에 응답하여 상기 태스크 부하 테이블을 업데이트하도록 동작가능한 것을 특징으로 하는 장치.
  14. 제 13항에 있어서, 상기 메인 처리 유닛은 상기 태스크 부하 테이블에 동작가능하게 접속되는 태스크 할당 유닛을 포함하고, 상기 서브-처리 유닛들 중 하나 이상이 어떠한 태스크도 실행하지 않도록 예정되도록 그들과 관련된 프로세서 부하들을 기반으로 적어도 상기 태스크들의 일부를 재할당하도록 동작가능한 것을 특징으로 하는 장치.
  15. 제 14항에 있어서, 상기 태스크 할당 유닛은 상기 소정의 서브-처리 유닛들 중 하나가 어떠한 태스크도 실행하지 않도록 예정되도록 관련된 프로세서 부하들을 기반으로 소정의 상기 서브-처리 유닛들 중 하나의 태스크 모두를 상기 서브-처리 유닛들 중 다른 하나로 재할당하도록 동작가능한 것을 특징으로 하는 장치.
  16. 제 15항에 있어서, 상기 메인 처리 유닛은 상기 태스크 할당 유닛에 동작가능하게 접속되는 전원 컨트롤러를 포함하고, 상기 소정의 서브-처리 유닛들 중 하 나가 어떠한 태스크도 실행하지 않도록 예정된 상기 태스크 할당 유닛으로부터의 지시에 응답하여 상기 소정의 서브-처리 유닛들에 대하여 전력-오프를 명령 신호를 발행하도록 동작가능한 것을 특징으로 하는 장치.
  17. 제 14항에 있어서, 상기 태스크 할당 유닛은 상기 소정의 서브-처리 유닛들 중 하나가 어떠한 태스크도 실행하지 않도록 예정되도록 관련된 프로세서 부하들을 기반으로 소정의 상기 서브-처리 유닛들 중 하나의 태스크 일부를 상기 서브-처리 유닛들 중 다른 하나 이상으로 재할당하도록 동작가능한 것을 특징으로 하는 장치.
  18. 제 15항에 있어서, 상기 메인 처리 유닛은 상기 태스크 할당 유닛에 실행가능하게 접속되는 전원 컨트롤러를 포함하고, 상기 소정의 서브-처리 유닛들 중 하나가 어떠한 태스크도 실행하지 않도록 예정된 상기 태스크 할당 유닛으로부터의 지시에 응답하여 상기 소정의 서브-처리 유닛들에 대하여 전력-오프를 명령 신호를 발행하도록 동작가능한 것을 특징으로 하는 장치.
  19. 제 10항에 있어서, 적어도 하나의 메인 처리 유닛 및 하나 또는 복수의 서브-처리 유닛들은 상기 서브-처리 유닛들 중 적어도 하나의 상기 동적 전력 손실을 줄이기 위해 가변 클록 주파수 제어를 실행하도록 동작가능한 것을 특징으로 하는 장치.
  20. 제 10항에 있어서, 적어도 하나의 메인 처리 유닛 및 하나 또는 복수의 서브-처리 유닛들은 상기 서브-처리 유닛들 중 적어도 하나의 상기 정적 및 동적 전력 손실을 줄이기 위해 가변 전원(Vdd) 제어를 실행하도록 동작가능한 것을 특징으로 하는 장치.
  21. 제 10항에 있어서, 적어도 하나의 메인 처리 유닛 및 하나 또는 복수의 서브-처리 유닛들은 실리콘-온-인슐레이터(silicon-on-insulator) 제조방법을 이용하여 형성되는 것을 특징으로 하는 장치.
  22. 제 10항에 있어서, 상기 메인 처리 유닛은 하나 또는 복수의 서브-처리 유닛들로부터 리모트 또는 로컬로 위치한 것 중 적어도 하나인 것을 특징으로 하는 장치.
  23. 제 10항에 있어서, 하나 또는 복수의 서브-처리 유닛들은 서로 리모트로 위치한 것을 특징으로 하는 장치.
  24. 제 10항에 있어서, 상기 서브-처리 유닛들은 실질적으로 동종의 컴퓨터 아키텍쳐 또는 이종의 컴퓨터 아키텍쳐를 사용하고 있는 것을 특징으로 하는 장치.
  25. 메인 처리 유닛과 관련된 각각의 서브-처리 유닛들에 의해 실행되도록 할당 되는 프로세서 태스크들 및 상기 프로세서 태스크들에 관련되는 프로세서 부하들을 감시하는 단계;
    상기 서브-처리 유닛들 중 적어도 하나가 어떠한 태스크도 실행하지 않도록 예정되도록 그들과 관련된 프로세서 부하들을 기반으로 적어도 상기 태스크들의 일부를 재할당하는 단계; 및
    어떠한 태스크도 실행하지 않도록 예정되는 상기 서브-처리 유닛들을 저전력 소비 상태로 하도록 명령하는 단계
    를 포함하는 단계들을 실행하도록 소프트웨어 프로그램의 제어하에서 동작하는 것을 특징으로 하는 메인 프로세서.
  26. 제 25항에 있어서, 상기 서브-처리 유닛들 각각은 (ⅰ)전원 인터럽트 회로; 및 (ⅱ)클록 인터럽트 회로 중 적어도 하나를 포함하고,
    상기 서브-처리 유닛을 저전력 소비 상태로 함으로써 상기 전력-오프 명령에 응답하는 상기 전원 인터럽트 회로 및 클록 인터럽트 회로 중 적어도 어느 하나인 것을 특징으로 하는 프로세서.
  27. 제 26항에 있어서, 상기 서브-처리 유닛들 각각은 전력 공급 및 전원 인터럽트 회로를 포함하고, 상기 전원 인터럽트 회로는 상기 소정의 서브-처리 유닛을 저전력 소비 상태로 하도록 전력 공급을 셧다운함으로써 전력-오프 명령에 반응하는 것을 특징으로 하는 프로세서.
  28. 제 25항에 있어서, 상기 메인 처리 유닛은 상기 각각의 서브-처리 유닛들에 의해 실행되도록 할당된 상기 프로세서 태스크들 및 상기 프로세서 태스크들에 관련된 프로세서 부하들을 포함하는 태스크 부하 테이블을 포함하고,
    태스크들 및 부하들에 있어서 임의의 변화에 응답하여 상기 태스크 부하 테이블을 업데이트하는 것을 포함하는 상기 단계들을 특징으로 하는 프로세서.
  29. 제 28항에 있어서, 상기 메인 처리 유닛은 상기 태스크 부하 테이블에 동작가능하게 접속되는 태스크 할당 유닛을 포함하고,
    상기 서브-처리 유닛들 중 하나 이상이 어떠한 태스크도 실행하지 않도록 예정되도록 그들과 관련된 프로세서 부하들을 기반으로 적어도 상기 태스크들의 일부를 재할당하는 것을 포함하는 상기 단계들을 특징으로 하는 프로세서.
  30. 제 29항에 있어서, 상기 소정의 서브-처리 유닛들 중 하나가 어떠한 태스크도 실행하지 않도록 예정되도록 관련되는 프로세서 부하들을 기반으로 소정의 상기 서브-처리 유닛들 중 하나의 태스크 모두를 상기 서브-처리 유닛들 중 다른 하나로 재할당하는 것을 더 포함하는 것을 특징으로 하는 프로세서.
  31. 제 29항에 있어서, 상기 소정의 서브-처리 유닛들 중 하나가 어떠한 태스크도 실행하지 않도록 예정되도록 관련된 프로세서 부하들을 기반으로 소정의 상기 서브-처리 유닛들 중 하나의 태스크 일부를 상기 서브-처리 유닛들 중 하나 이상으로 재할당하는 것을 더 포함하는 것을 특징으로 하는 프로세서.
  32. 제 25항에 있어서, 가변 클록 주파스 제어를 실행하도록 적어도 하나의 상기 메인 처리 유닛 및 하나 또는 복수의 상기 서브-처리 유닛들을 이용하여 상기 서브-처리 유닛들 중 적어도 어느 하나의 동적 전력 손실을 감소시키는 것을 특징으로 하는 프로세서.
  33. 제 25항에 있어서, 가변 전원(Vdd) 제어를 실행하도록 적어도 하나의 상기 메인 처리 유닛 및 하나 또는 복수의 상기 서브-처리 유닛들을 이용하여 상기 서브-처리 유닛들 중 적어도 어느 하나의 정적 및 동적 전력 손실을 감소시키는 것을 특징으로 하는 프로세서.
  34. 각각이 프로세서 태스크를 실행할 수 있는 복수의 서브-처리 유닛들; 및 인접한 서브-처리 유닛들간에 직접적으로 또는 떨어져있는 서브-처리 유닛들간에 하나 또는 복수의 매개 서브-처리 유닛들을 통하여 임의의 두개 서브-처리 유닛들간에 전송이 일어나도록 상기 서브-처리 유닛들을 원형으로 상호접속하는 버스(bus)를 포함하며,
    상기 서브-처리 유닛들은 (ⅰ)상기 각각의 서브-처리 유닛들에 의해 실행되도록 할당된 상기 프로세서 태스크들 및 상기 프로세서 태스크들에 관련된 프로세 서 부하들을 감시하고; (ⅱ)그들과 관련된 프로세서 부하들을 기반으로 적어도 상기 태스크들의 일부를 재할당하도록 동작가능한 것을 특징으로 하는 장치.
  35. 제 34항에 있어서, 상기 서브-처리 유닛들은 그룹(group)으로 배열되어 있고, 소정의 상기 한 그룹에서의 서브-처리 유닛의 하나 또는 복수 태스크들의 재할당이 상기 소정의 그룹내에서의 태스크들을 유지하는 것을 특징으로 하는 장치.
  36. 제 34항에 있어서, 상기 태스크들의 재할당은 적어도 하나의 서브-처리 유닛들이 어떠한 태스크도 실행하지 않도록 예정되도록 실행되는 것을 특징으로 하는 장치.
  37. 제 36항에 있어서, 어떠한 태스크도 실행하지 않도록 예정된 상기 서브-처리 유닛들은 저전력 소비 상태로 들어가도록 동작가능한 것을 특징으로 하는 장치.
  38. 제 34항에 있어서, 상기 서브-처리 유닛들은 각각의 서브-처리 유닛들에 의해 실행되도록 할당된 프로세서 태스크(processor task)들 및 상기 프로세서 태스크들에 관련된 프로세서 부하(processor load)들을 포함하는 태스크 부하 테이블에 접근하도록 동작가능하고,
    상기 서브-처리 유닛들은 태스크들 및 부하들에 있어서 임의의 변화에 반응하여 상기 태스크 부하 테이블을 업데이트 하도록 동작가능한 것을 특징으로 하는 장치.
  39. 제 34항에 있어서, 상기 서브-처리 유닛들은 상기 소정의 서브-처리 유닛들 중 하나가 어떠한 태스크도 실행하지 않도록 예정되도록 관련된 프로세서 부하들을 기반으로 소정의 상기 서브-처리 유닛들 중 하나의 태스크 모두를 상기 서브-처리 유닛들 중 다른 하나로 재할당하도록 동작가능한 것을 특징으로 하는 장치.
KR1020067015615A 2004-03-16 2005-03-15 멀티-프로세서 시스템에서 전력손실을 줄이는 방법 및 장치 KR20060127120A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/801,308 US20050228967A1 (en) 2004-03-16 2004-03-16 Methods and apparatus for reducing power dissipation in a multi-processor system
US10/801,308 2004-03-16

Publications (1)

Publication Number Publication Date
KR20060127120A true KR20060127120A (ko) 2006-12-11

Family

ID=34976308

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067015615A KR20060127120A (ko) 2004-03-16 2005-03-15 멀티-프로세서 시스템에서 전력손실을 줄이는 방법 및 장치

Country Status (7)

Country Link
US (1) US20050228967A1 (ko)
EP (1) EP1725935A2 (ko)
JP (1) JP4023546B2 (ko)
KR (1) KR20060127120A (ko)
CN (1) CN1906587B (ko)
TW (1) TWI274283B (ko)
WO (1) WO2005088443A2 (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8041970B2 (en) 2007-12-12 2011-10-18 Electronics And Telecommunications Research Institute Cluster system with reduced power consumption and power management method thereof
US8495393B2 (en) 2008-12-22 2013-07-23 Electronics And Telecommunications Research Institute Remote power management system and method for cluster system
KR101284776B1 (ko) * 2008-12-11 2013-07-23 퀄컴 인코포레이티드 비대칭 멀티프로세서 상에서의 적응형 스레드 스케줄링을 위한 장치 및 방법들
US8555289B2 (en) 2010-03-16 2013-10-08 Samsung Electronics Co., Ltd. System and method for dynamically managing tasks for data parallel processing on multi-core system
KR101412342B1 (ko) * 2010-04-01 2014-06-25 인텔 코오퍼레이션 인터럽트 전력 관리를 위한 장치 및 방법
KR101449046B1 (ko) * 2008-09-17 2014-10-08 엘지전자 주식회사 멀티 프로세서 및 이를 이용한 전원 절감 방법
KR20190045001A (ko) * 2017-10-23 2019-05-02 삼성전자주식회사 처리가 지연되고 있는 태스크의 처리 방법 및 이를 지원하는 전자 장치

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004020288A1 (de) * 2004-04-26 2005-11-17 Siemens Ag Verfahren zur Zuordnung einer Anzahl von M teilnehmerseitig angeordneten Datenverbindungen zu einer Anzahl von N transportseitig angeordneten Datenverbindungen
US20060200648A1 (en) * 2005-03-02 2006-09-07 Andreas Falkenberg High-level language processor apparatus and method
US8316220B2 (en) * 2005-09-27 2012-11-20 Sony Computer Entertainment Inc. Operating processors over a network
CN100337475C (zh) * 2005-10-10 2007-09-12 海信集团有限公司 双cpu电视机通过scart接口的开关机控制方法
JP4687399B2 (ja) 2005-11-07 2011-05-25 セイコーエプソン株式会社 マルチプロセッサシステム及びデータバックアップ方法
JP5040136B2 (ja) * 2006-03-27 2012-10-03 富士通セミコンダクター株式会社 チューニング支援装置、チューニング支援プログラム、チューニング支援プログラムを記録したコンピュータ読み取り可能な記録媒体およびチューニング支援方法
JP4800837B2 (ja) * 2006-05-22 2011-10-26 株式会社日立製作所 計算機システム、その消費電力低減方法、及びそのプログラム
EP1878783A1 (en) * 2006-07-14 2008-01-16 BIOeCON International Holding N.V. Modified biomass comprising synthetically grown carbon fibers
US8161276B2 (en) 2006-07-21 2012-04-17 Sony Service Centre (Europe) N.V. Demodulator device and method of operating the same
US7802116B2 (en) * 2006-09-27 2010-09-21 Intel Corporation Subsystem power management
US8046565B2 (en) * 2006-12-06 2011-10-25 Kabushiki Kaisha Toshiba Accelerator load balancing with dynamic frequency and voltage reduction
JP4945410B2 (ja) * 2006-12-06 2012-06-06 株式会社東芝 情報処理装置及び情報処理方法
TWI342498B (en) * 2007-01-12 2011-05-21 Asustek Comp Inc Multi-processor system and performance enhancement method thereof
US7996696B1 (en) * 2007-05-14 2011-08-09 Sprint Communications Company L.P. Updating kernel affinity for applications executing in a multiprocessor system
GB2454497B (en) * 2007-11-08 2012-01-11 Fujitsu Ltd Task scheduling method apparatus and computer program
JP4488072B2 (ja) 2008-01-18 2010-06-23 日本電気株式会社 サーバシステム、及びサーバシステムの電力削減方法
JP4804490B2 (ja) * 2008-02-18 2011-11-02 富士通株式会社 情報処理装置、情報処理方法、情報処理プログラム
CN101303657B (zh) * 2008-06-13 2011-08-10 上海大学 一种多处理器实时任务执行功耗优化方法
CN101403982B (zh) * 2008-11-03 2011-07-20 华为技术有限公司 一种多核处理器的任务分配方法和系统
JP2010277300A (ja) * 2009-05-28 2010-12-09 Panasonic Corp マルチプロセッサシステムにおける省電力制御装置およびモバイル端末
JP5534002B2 (ja) 2010-03-25 2014-06-25 富士通株式会社 マルチコアプロセッサシステム、制御プログラム、および制御方法
WO2011121786A1 (ja) * 2010-03-31 2011-10-06 富士通株式会社 マルチコアプロセッサシステム、電力制御方法、および電力制御プログラム
US9311102B2 (en) * 2010-07-13 2016-04-12 Advanced Micro Devices, Inc. Dynamic control of SIMDs
US8736619B2 (en) 2010-07-20 2014-05-27 Advanced Micro Devices, Inc. Method and system for load optimization for power
CN103080899B (zh) * 2010-07-13 2016-07-06 超威半导体公司 图形处理器中simd单元的动态启用和禁用
WO2012058786A1 (en) 2010-11-03 2012-05-10 Telefonaktiebolaget L M Ericsson (Publ) Conserving the power of a node in a wireless communication system
CN102546999B (zh) * 2012-01-20 2014-05-07 华为技术有限公司 基于业务模型降低设备功耗的方法、控制装置以及系统
CN102866921B (zh) * 2012-08-29 2016-05-11 惠州Tcl移动通信有限公司 一种多核cpu的调控方法及系统
CN103037109B (zh) * 2012-12-12 2015-02-25 中国联合网络通信集团有限公司 多核设备能耗管理方法及装置
CN103324268A (zh) * 2013-05-29 2013-09-25 东南大学 用于无线传感器网络核心芯片的低功耗设计方法
JP2014078286A (ja) * 2014-02-06 2014-05-01 Fujitsu Ltd マルチコアプロセッサシステム、マルチコアプロセッサシステムの制御方法、およびマルチコアプロセッサシステムの制御プログラム
US9547522B2 (en) * 2014-04-10 2017-01-17 Wind River Systems, Inc. Method and system for reconfigurable virtual single processor programming model
US20150355942A1 (en) * 2014-06-04 2015-12-10 Texas Instruments Incorporated Energy-efficient real-time task scheduler
CN105760342A (zh) * 2014-12-18 2016-07-13 联芯科技有限公司 多核处理器工作状态控制方法及装置
US10528117B2 (en) 2014-12-22 2020-01-07 Qualcomm Incorporated Thermal mitigation in devices with multiple processing units
JP5867630B2 (ja) * 2015-01-05 2016-02-24 富士通株式会社 マルチコアプロセッサシステム、マルチコアプロセッサシステムの制御方法、およびマルチコアプロセッサシステムの制御プログラム
US11989005B2 (en) * 2021-04-15 2024-05-21 Mediatek Inc. Adaptive thermal ceiling control system

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5274797A (en) * 1986-05-30 1993-12-28 Bull Hn Information Systems Inc. Multiprocessor system with centralized initialization, testing and monitoring of the system and providing centralized timing
US4914657A (en) * 1987-04-15 1990-04-03 Allied-Signal Inc. Operations controller for a fault tolerant multiple node processing system
US5222239A (en) * 1989-07-28 1993-06-22 Prof. Michael H. Davis Process and apparatus for reducing power usage microprocessor devices operating from stored energy sources
US5396635A (en) * 1990-06-01 1995-03-07 Vadem Corporation Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system
US5590345A (en) * 1990-11-13 1996-12-31 International Business Machines Corporation Advanced parallel array processor(APAP)
US5404563A (en) * 1991-08-28 1995-04-04 International Business Machines Corporation Scheduling normally interchangeable facilities in multiprocessor computer systems
US5745778A (en) * 1994-01-26 1998-04-28 Data General Corporation Apparatus and method for improved CPU affinity in a multiprocessor system
EP0683451B1 (en) * 1994-05-09 2004-02-25 Canon Kabushiki Kaisha Power supply control method in multi-task environment
US5754436A (en) * 1994-12-22 1998-05-19 Texas Instruments Incorporated Adaptive power management processes, circuits and systems
US6192479B1 (en) * 1995-01-19 2001-02-20 Texas Instruments Incorporated Data processing with progressive, adaptive, CPU-driven power management
US5715184A (en) * 1995-01-23 1998-02-03 Motorola, Inc. Method of parallel simulation of standard cells on a distributed computer system
JPH09138716A (ja) * 1995-11-14 1997-05-27 Toshiba Corp 電子計算機
US5761516A (en) * 1996-05-03 1998-06-02 Lsi Logic Corporation Single chip multiprocessor architecture with internal task switching synchronization bus
US5740409A (en) * 1996-07-01 1998-04-14 Sun Microsystems, Inc. Command processor for a three-dimensional graphics accelerator which includes geometry decompression capabilities
JPH10340165A (ja) * 1997-06-09 1998-12-22 Canon Inc 情報処理装置及びその方法並びにメモリ媒体
US6002409A (en) * 1997-10-29 1999-12-14 Cirrus Logic, Inc. Arbitration for shared graphics processing resources
US6947987B2 (en) * 1998-05-29 2005-09-20 Ncr Corporation Method and apparatus for allocating network resources and changing the allocation based on dynamic workload changes
US6141762A (en) * 1998-08-03 2000-10-31 Nicol; Christopher J. Power reduction in a multiprocessor digital signal processor based on processor load
JP2000132529A (ja) * 1998-10-23 2000-05-12 Sony Corp 並列処理装置、並列処理方法および記録媒体
US6633563B1 (en) * 1999-03-02 2003-10-14 Nortel Networks Limited Assigning cell data to one of several processors provided in a data switch
US6345362B1 (en) * 1999-04-06 2002-02-05 International Business Machines Corporation Managing Vt for reduced power using a status table
US6564328B1 (en) * 1999-12-23 2003-05-13 Intel Corporation Microprocessor with digital power throttle
US6269043B1 (en) * 2000-07-31 2001-07-31 Cisco Technology, Inc. Power conservation system employing a snooze mode
EP1182552A3 (en) * 2000-08-21 2003-10-01 Texas Instruments France Dynamic hardware configuration for energy management systems using task attributes
EP1182556B1 (en) * 2000-08-21 2009-08-19 Texas Instruments France Task based adaptive profiling and debugging
US6625737B1 (en) * 2000-09-20 2003-09-23 Mips Technologies Inc. System for prediction and control of power consumption in digital system
US20030069985A1 (en) * 2000-10-02 2003-04-10 Eduardo Perez Computer readable media for storing video data
US7174194B2 (en) * 2000-10-24 2007-02-06 Texas Instruments Incorporated Temperature field controlled scheduling for processing systems
AU2002236667A1 (en) * 2000-10-31 2002-05-21 Millennial Net, Inc. Networked processing system with optimized power efficiency
US6779045B2 (en) * 2001-03-21 2004-08-17 Intel Corporation System and apparatus for increasing the number of operations per transmission for a media management system
US6922726B2 (en) * 2001-03-23 2005-07-26 International Business Machines Corporation Web accessibility service apparatus and method
US6901522B2 (en) * 2001-06-07 2005-05-31 Intel Corporation System and method for reducing power consumption in multiprocessor system
JP3610930B2 (ja) * 2001-07-12 2005-01-19 株式会社デンソー オペレーティングシステム、プログラム、車両用電子制御装置
US20030055969A1 (en) * 2001-09-17 2003-03-20 International Business Machines Corporation System and method for performing power management on a distributed system
US20030079151A1 (en) * 2001-10-18 2003-04-24 International Business Machines Corporation Energy-aware workload distribution
US7203943B2 (en) * 2001-10-31 2007-04-10 Avaya Technology Corp. Dynamic allocation of processing tasks using variable performance hardware platforms
US6804632B2 (en) * 2001-12-06 2004-10-12 Intel Corporation Distribution of processing activity across processing hardware based on power consumption considerations
US7318164B2 (en) * 2001-12-13 2008-01-08 International Business Machines Corporation Conserving energy in a data processing system by selectively powering down processors
US6775787B2 (en) * 2002-01-02 2004-08-10 Intel Corporation Instruction scheduling based on power estimation
US7096145B2 (en) * 2002-01-02 2006-08-22 Intel Corporation Deterministic power-estimation for thermal control
WO2003083693A1 (fr) * 2002-04-03 2003-10-09 Fujitsu Limited Planificateur de taches dans un systeme de traitement distribue
US7254812B1 (en) * 2002-05-31 2007-08-07 Advanced Micro Devices, Inc. Multi-processor task scheduling
US7086058B2 (en) * 2002-06-06 2006-08-01 International Business Machines Corporation Method and apparatus to eliminate processor core hot spots
US7100060B2 (en) * 2002-06-26 2006-08-29 Intel Corporation Techniques for utilization of asymmetric secondary processing resources
JP3673245B2 (ja) * 2002-06-28 2005-07-20 株式会社東芝 情報処理装置および同装置における電源制御方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8041970B2 (en) 2007-12-12 2011-10-18 Electronics And Telecommunications Research Institute Cluster system with reduced power consumption and power management method thereof
KR101449046B1 (ko) * 2008-09-17 2014-10-08 엘지전자 주식회사 멀티 프로세서 및 이를 이용한 전원 절감 방법
KR101284776B1 (ko) * 2008-12-11 2013-07-23 퀄컴 인코포레이티드 비대칭 멀티프로세서 상에서의 적응형 스레드 스케줄링을 위한 장치 및 방법들
US9043795B2 (en) 2008-12-11 2015-05-26 Qualcomm Incorporated Apparatus and methods for adaptive thread scheduling on asymmetric multiprocessor
US8495393B2 (en) 2008-12-22 2013-07-23 Electronics And Telecommunications Research Institute Remote power management system and method for cluster system
US8555289B2 (en) 2010-03-16 2013-10-08 Samsung Electronics Co., Ltd. System and method for dynamically managing tasks for data parallel processing on multi-core system
KR101412342B1 (ko) * 2010-04-01 2014-06-25 인텔 코오퍼레이션 인터럽트 전력 관리를 위한 장치 및 방법
KR20190045001A (ko) * 2017-10-23 2019-05-02 삼성전자주식회사 처리가 지연되고 있는 태스크의 처리 방법 및 이를 지원하는 전자 장치

Also Published As

Publication number Publication date
EP1725935A2 (en) 2006-11-29
TW200612334A (en) 2006-04-16
CN1906587A (zh) 2007-01-31
CN1906587B (zh) 2011-01-19
TWI274283B (en) 2007-02-21
WO2005088443A3 (en) 2006-01-19
JP2005267635A (ja) 2005-09-29
US20050228967A1 (en) 2005-10-13
WO2005088443A2 (en) 2005-09-22
JP4023546B2 (ja) 2007-12-19

Similar Documents

Publication Publication Date Title
KR20060127120A (ko) 멀티-프로세서 시스템에서 전력손실을 줄이는 방법 및 장치
KR100841864B1 (ko) 효율적인 멀티태스킹을 위한 방법 및 장치
US7516334B2 (en) Power management for processing modules
US7730456B2 (en) Methods and apparatus for handling processing errors in a multi-processing system
US7321958B2 (en) System and method for sharing memory by heterogeneous processors
US7389508B2 (en) System and method for grouping processors and assigning shared memory space to a group in heterogeneous computer environment
US9329664B2 (en) Power management for a computer system
US7999813B2 (en) System and method for data synchronization for a computer architecture for broadband networks
US7680972B2 (en) Micro interrupt handler
US7236998B2 (en) System and method for solving a large system of dense linear equations
EP1696318A1 (en) Methods and apparatus for segmented stack management in a processor system
EP1839165A1 (en) Methods and apparatus for hybrid dma queue and dma table
US20050071578A1 (en) System and method for manipulating data with a plurality of processors
Torrellas Extreme-scale computer architecture: Energy efficiency from the ground up
KR20200100183A (ko) 시스템-전반 저전력 관리
US7768287B2 (en) Methods and apparatus for managing defective processors through power gating
US7818507B2 (en) Methods and apparatus for facilitating coherency management in distributed multi-processor system
US7444525B2 (en) Methods and apparatus for reducing leakage current in a disabled SOI circuit
Oh et al. Energy-efficient task partitioning for CNN-based object detection in heterogeneous computing environment
Kant Energy Efficiency Issues in Computing Systems
Raca et al. Efficiency considerations in heterogeneous cluster systems

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application