KR20170070160A - 저비용 고출력 고성능의 다중 프로세서 시스템을 위한 고속 smp/asmp 모드 전환 하드웨어 장치 - Google Patents

저비용 고출력 고성능의 다중 프로세서 시스템을 위한 고속 smp/asmp 모드 전환 하드웨어 장치 Download PDF

Info

Publication number
KR20170070160A
KR20170070160A KR1020177012968A KR20177012968A KR20170070160A KR 20170070160 A KR20170070160 A KR 20170070160A KR 1020177012968 A KR1020177012968 A KR 1020177012968A KR 20177012968 A KR20177012968 A KR 20177012968A KR 20170070160 A KR20170070160 A KR 20170070160A
Authority
KR
South Korea
Prior art keywords
processor
mode
operating
clock signal
voltage
Prior art date
Application number
KR1020177012968A
Other languages
English (en)
Other versions
KR101942883B1 (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
Priority claimed from US14/516,314 external-priority patent/US9952650B2/en
Priority claimed from US14/580,044 external-priority patent/US10928882B2/en
Application filed by 후아웨이 테크놀러지 컴퍼니 리미티드 filed Critical 후아웨이 테크놀러지 컴퍼니 리미티드
Publication of KR20170070160A publication Critical patent/KR20170070160A/ko
Application granted granted Critical
Publication of KR101942883B1 publication Critical patent/KR101942883B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • 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/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • 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/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • Y02B60/1221
    • Y02B60/1225
    • Y02B60/1282
    • Y02B60/1285
    • Y02B60/32
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)
  • Microcomputers (AREA)
  • Multi Processors (AREA)

Abstract

처리 시스템은 제1 프로세서가 항상 제1 클록 주파수 및 제1 공급 전압에서 작동하는 복수의 프로세서를 포함한다. 적어도 하나의 프로세서는 제1 프로세스와 제2 프로세서가 대칭 다중 처리(SMP) 모드를 제공하게 되는 제1 클록 주파수 및 제1 공급 주파수에서 작동하거나 또는 제1 프로세스와 제2 프로세서가 비대칭 다중 처리(ASMP) 모드를 제공하게 되는 제2 클록 주파수 및 제2 공급 주파수에서 작동하도록 동적으로 전환 가능하다. 집적 제어기(예를 들어, 유한 상태 머신(FSM))는 전압 변경뿐만 아니라 클록 전환도 제어한다. 적어도 하나의 전환 가능한 프로세서가 전환할 때 다양한 기준이 사용되어 전력 소비 및/또는 성능을 개선할 수 있다. SMP와 SAMP 사이를 전환하도록 전환 커맨드를 수신하면, 그 전환 가능한 프로세서 및 캐시 메모리에 대한 전압 공급 및 CPU/메모리 클록을 제어하도록 일련의 순차적인 액션이 수행된다.

Description

저비용 고출력 고성능의 다중 프로세서 시스템을 위한 고속 SMP/ASMP 모드 전환 하드웨어 장치{FAST SMP/ASMP MODE-SWITCHING HARDWARE APPARATUS FOR LOW-COST LOW-POWER HIGH PERFORMANCE MULTIPLE PROCESSOR SYSTEM}
본 출원은 2015년 5월 5일에 출원되고 발명의 명칭이 "Fast SMP/ASMP Mode-Switching Hardware Apparatus for a Low-Cost Low-Power High Performance Multiple Processor System"인 미국 비예비 특허출원 No. 14/704,240에 대한 우선권을 주장하는 바이며, 상기 문헌은 2014년 12월 22일에 출원되고 발명의 명칭이 "A Novel Low Cost, Low Power High Performance SMP/ASMP Multiple-Processor System"인 이전의 미국 특허출원 No. 14/580,044의 연속적인 부분이고, 상기 문헌은 또한 2014년 10월 16일에 출원되고 발명의 명칭이 "Hardware Apparatus and Method for Multiple Processors Dynamic Asymmetric and Symmetric Mode Switching"인 이전의 미국 특허출원 No. 14/516,314의 연속적인 부분이며, 특허 출원 모두는 본 명세서에 원용되어 병합된다.
본 발명은 대체로 다중 프로세서 아키텍처 및 시스템에 관한 것이며, 특히 멀티프로세서 시스템에서의 동기 및 비대칭 다중 처리 모드 간의 모드 전환을 위한 장치 방법에 관한 것이다.
다중 처리 시스템은 복수의 프로세서를 사용하여 데이터를 처리하고 원하는 기능을 수행한다. 알 수 있는 바와 같이, 용어 "프로세서"는 용어 "CPU" 또는 "코어"와 동의어로 사용되고, 당업자에게는 용이하게 이해된다. 종래기술에는, 2가지의 주요 유형의 이질적 다중 처리 시스템: 대칭 다중 처리(symmetric multi-processing, SMP) 및 비대칭 다중 처리(asymmetric multi-processing, ASMP)가 존재한다.
SMP 시스템은 전형적으로 모든 시스템 자원, 단일의 동기 L2 캐시 인터페이스(그리고 가능하면 비동기 L2)의 공유를 특징으로 하고 있으며, 프로세서는 동일한 클록 주파수 및 클록 전압으로 제어된다. 이것은 또한 일반적으로 프로세서/코어가 공유 메모리 시스템(예를 들어 L2 캐시 및 메모리)에 동등하게 액세스할 수 있다는 것을 의미한다. SMP에서, 클록 주파수 및 전압은 개별적으로 조정 가능하지 않으므로 코어/프로세서별로 변경될 수 없다. 또한, L2 캐시는 모든 코어에서 공유되고 L2 캐시 주파수는 코어별로 확장 가능하지 않다. 대부분의 경우, 모든 애플리케이션이 아니면, SMP 내의 프로세서의 작업 부하는 불균형이고 이에 의해 전력 소모가 더 높다. SMP 역시 모든 프로세서/코어를 동등하게 취급하는 것으로 특징지어질 수 있다(동등성).
대조적으로, ASMP 시스템은 전형적으로 프로세서마다 서로 다른 클록 주파수 및/또는 클록 전압을 개별적으로 가지는 것을 특징으로 하고, L2 캐시 클록 주파수는 개별적으로 확장될 수 있다. 그러므로 프로세서 클록 주파수 및 L2 캐시 주파수는 작업 부하에 기초해서 확장될 수 있다(예를 들어 메모리 집약적 작업 부하에서 코어에 비해 L2 캐시가 더 빠르다). 일반적으로 ASMP 시스템은 SMP 시스템보다 전력 효율이 높지는 하지만 잠재적으로 추가되고 더 복잡한 하드웨어로 인해 더 높은 전력 소비가 초래될 수 있다. L1 캐시 실패율이 높으면 프로세서는 L2 캐시에서 데이터를 가져 온다. 요구된 관련 데이터가 L2 캐시의 하위 클록 주파수 부분에 저장되어 있으면, 프로세서는 데이터를 기다려야 한다. 이로 인해 대기 시간이 늘어나고 전력 소비가 증가한다. ASMP는 또한 모든 프로세서/코어를 서로 다르게 또는 비균등으로 취급하는 것으로 특징지어질 수 있다(비균등성).
종래의 미국 특허출원 No. 14/580,044(출원일 2014년 12월 22일)는 ASMP를 사용하는 복수의 프로세서를 가지는 처리 시스템(100)의 기본적인 아키텍처와 유사한 종래의 시스템이 SMP에 사용한다는 것을 (그 도 1에) 도해하고 설명하고 있으나, 이 프로세서들은 - 당업자는 용이하게 이해할 수 있는 바와 같이 - 단일 클록 주파수에서 작동하고 단일 공급 전압 레벨을 사용한다. (1) SMP/ASMP 모드 간의 고속의 효율적인 동적 전환을 위한 하드웨어 기반 장치 및 (2) 2개의 코어가 ASMP 모드에서 작동하는( 2개 이상의 코어가 작동할 때, 이 2개 이상의 코어가 SMP 모드에서 작동한다), 하나의 코어에서 2개의 코어로 전환하는 것에 초점을 맞춘 저비용의 SMP/ASMP 시스템을 포함한, 기본적인 시스템에 대한 다양한 개선이 그 안에 설명되어 있다.
소프트웨어에 의한 인터럽트 없이 하드웨어 기반 또는 하드웨어 실현 전환은 SMP/ASMP 모드 간의 고속 전환을 제공할 수 있다. 따라서, 하드웨어 기반 전환 방법 및 장치를 사용해서 고속의 SMP/ASMP 모드 전환을 제공하는 저비용, 고출력 다중 처리 시스템 또는 아키텍처가 요망된다.
일 실시예에 따라, 다중 프로세서(MP) 처리 시스템이 제공되며, 상기 시스템은 제1 공급 전압을 수신하고 제2 공급 전압을 생성하도록 구성되어 있는 전압 조정기 회로 - 제2 공급 전압은 제1 공급 전압보다 낮은 전압 값을 가짐 - ; 제1 공급 전압 및 제1 미리 결정된 주파수를 가지는 제1 클록 신호에 따라 를 수신 및 작동하도록 구성되어 있는 제1 프로세서; 제1 미리 결정된 주파수와는 상이한 제2 미리 결정된 주파수를 가지는 제2 클록 신호 또는 제1 클록 신호 중 어느 하나를 수신하여 작동하고 제1 공급 전압 또는 제2 공급 전압을 수신하여 작동하도록 구성되어 있는 제2 프로세서를 포함한다. 시스템은 또한 상기 전압 조정기 회로에 결합되어 있고 제1 공급 전압 또는 제2 공급 전압을 제2 프로세서에 선택적으로 입력하기 위한 바이패스 신호를 생성하도록 구성되어 있는 제어기를 포함하며, 제1 프로세서는 제1 작동 모드 및 제2 작동 모드의 양 모드 동안 제1 클록 신호 및 제1 공급 전압에 따라서만 수신 및 작동하도록 추가로 구성되어 있다.
다른 실시예에 따라, 장치가 제공되며, 상기 장치는 다중 처리 기능을 수행하도록 구성되어 있는 복수의 프로세서를 포함하고, 상기 복수의 프로세서는 제1 프로세서 및 제2 프로세서를 포함한다. 제어기는 제1 모드 및 제2 모드에서 제2 프로세서의 작동을 제어하도록 구성되어 있으며, 클록 생성 회로는 상기 제어기에 결합되어 있고 상기 제어기로부터의 하나 이상의 신호에 응답해서 제1 클록 신호 및 제2 클록 신호를 생성 및 출력하도록 구성되어 있으며, 전환 회로는, 상기 클록 생성 회로와 상기 제2 프로세서 사이에 배치되고 제1 클록 신호 및 제2 클록 신호를 수신하며 제2 프로세서에 출력하기 위해 하나의 클록 신호를 선택하도록 구성되어 있으며, 제1 작동 모드 동안 제1 클록 신호가 제2 프로세서에 출력되고 제2 작동 모드 동안 제2 클록 신호가 제2 프로세서에 출력된다. 상기 장치는 또한 상기 제어기에 결합되어 있는 전압 조정기 및 바이패스 회로를 포함하며, 상기 전압 조정기 및 바이패스 회로는: 제1 작동 전압 신호를 수신하고, 제1 작동 전압 신호로부터 제2 작동 전압 신호를 생성하고, 제1 작동 모드 동안 제2 프로세서에 입력하기 위해 제1 작동 전압 신호를 출력하며, 그리고 제2 작동 모드 동안 제2 프로세서에 입력하기 위해 제2 작동 전압 신호를 출력하도록 구성되어 있다. 제1 작동 모드 및 제2 작동 모드 동안 제1 클록 신호가 제1 프로세서에 출력된다.
또 다른 실시예에 따라, 대칭 다중 처리(SMP) 모드와 비대칭 다중 처리(ASMP) 모드 사이에서 복수의 프로세서를 전환하는 방법이 제공된다. 상기 방법은 제1 프로세서가 작동하는 동안 제1 미리 결정된 주파수를 가지는 제1 클록 신호 및 제1 미리 결정된 작동 전압을 가지는 제1 공급 전압에 따라 제1 프로세서를 작동시키는 단계; 상기 제1 공급 전압으로부터 제2 공급 전압을 생성하는 단계; 모드 선택 신호를 수신하는 단계; 및 상기 모드 선택 신호에 응답해서 제1 작동 모드 또는 제2 작동 모드에서 제2 프로세서를 작동시키는 단계를 포함한다. 제1 작동 모드에서, 제2 프로세서는 제1 클록 신호 및 제1 공급 전압에 따라 작동되고, 제2 작동 모드에서, 제2 프로세서는 제1 미리 결정된 주파수와는 상이한 제2 미리 결정된 주파수를 가지는 제1 클록 신호에 따라 그리고 제2 공급 전압에 따라 작동된다.
또 다른 실시예에서, 복수의 프로세서를 가지는 멀티프로세서 시스템에서의 처리 방법이 제공된다. 상기 방법은, 상기 복수의 프로세서 중 제1 활성 프로세서만을 사용해서 상기 멀티프로세서 시스템 내에서 처리하는 단계; 상기 멀티프로세서 시스템 내에서 처리하기 위해 제2 프로세서가 활성화되어야 하는 것으로 결정하는 단계; 상기 결정에 응답해서 제2 프로세서를 활성화하는 단계; 및 대칭 다중 처리(SMP) 모드 또는 비대칭 다중 처리(ASMP) 모드 중 어느 하나에 따라 제1 활성 프로세서 및 제2 활성 프로세서를 사용해서 상기 멀티프로세서 시스템 내에서 처리하는 단계를 포함한다. SMP 모드일 때, 제1 활성 프로세서 및 제2 활성 프로세서 각각은 제1 미리 결정된 주파수를 가지는 제1 클록 신호 및 제1 미리 결정된 전압을 가지는 제1 공급 전압에 따라 작동하고, ASMP 모드일 때, 제1 활성 프로세서는 제1 클록 신호에 따라 작동하고 제2 활성 프로세서는 제1 미리 결정된 주파수와는 상이한 제2 미리 결정된 주파수를 가지는 제2 클록 신호에 따라 그리고 제1 미리 결정된 작동 전압과는 상이한 제2 미리 결정된 작동 전압을 가지는 제2 공급 전압에 따라 작동한다. 상기 방법은: 모드 선택 신호를 수신하는 단계; 및 제1 활성 프로세서 및 제2 활성 프로세서의 작동을 SMP 모드에서 ASMP 모드로 또는 ASMP 모드에서 SMP 모드로 전환하는 단계를 포함한다.
다른 실시예에서, 멀티프로세서 처리 시스템이 제공되며, 제1 프로세서 및 제2 프로세서를 포함하는 복수의 프로세서; 및 적어도 제2 프로세서에 결합되어 있는 제어기를 포함한다. 상기 제어기는,
활성화/비활성화 신호에 응답해서 제2 프로세서를 활성화 또는 비활성화시키고; 그리고 제2 프로세서가 활성화되면, 대칭 다중 처리(SMP) 모드 또는 비대칭 다중 처리(ASMP) 모드 중 어느 하나에 따라 제1 활성 프로세서 및 제2 활성 프로세서를 사용해서 상기 멀티프로세서 시스템 내에서의 처리를 제어하도록 구성되어 있다. SMP 모드는, 제1 활성 프로세서 및 제2 활성 프로세서 각각이 제1 미리 결정된 주파수를 가지는 제1 클록 신호 및 제1 미리 결정된 전압을 가지는 제1 공급 전압에 따라 작동하는 경우에 정의되고, ASMP 모드는, 제1 활성 프로세서가 제1 클록 신호에 따라 작동하고 제2 활성 프로세서가 제1 미리 결정된 주파수와는 상이한 제2 미리 결정된 주파수를 가지는 제2 클록 신호에 따라 그리고 제1 미리 결정된 작동 전압과는 상이한 제2 미리 결정된 작동 전압을 가지는 제2 공급 전압에 따라 작동하는 경우에 정의된다. 제어기는 모드 선택 신호를 수신하며; 그리고 제1 활성 프로세서 및 제2 활성 프로세서의 작동을 SMP 모드에서 ASMP 모드로 또는 ASMP 모드에서 SMP 모드로 전환하도록 구성되어 있다.
본 발명 및 그 이점을 더 완전하게 이해하기 위해, 첨부 도면과 관련해서 취해진 이하의 설명을 참조하며, 도면 중 유사한 도면부호는 유사한 대상을 나타낸다.
도 1은 본 발명에 따른 다중 처리(multiprocessing, MP) 시스템에서 도시한 도면이다.
도 2는 도 1에 도시된 다중 처리 시스템을 더 상세히 나타내는 도면이다.
도 3a 및 도 3b는 본 발명에 따른 도 2에 도시된 시스템과 함께 사용하기 위한 유한 상태 머신(finite state machines, FSM) 및 프로세스를 도시한다.
도 4는 도 2에 도시된 전압 조정기 및 전환 제어기의 한 구현을 나타내는 도면이다.
도 5는 도 2에 도시된 전압 조정기 및 전환 제어기의 다른 구현을 나타내는 도면이다.
도 6은 도 2에 도시된 전압 조정기 및 전환 제어기의 다른 실시예를 나타내는 도면이다.
도 7은 SMP/ASMP 모든 전환을 개시 및 제어하기 위한 아키텍처(방법, 프로세스, 시스템) 도면이다.
도 8은 SMP/ASMP 모드 선택/전환 프로세스가 통합되어 있는 부가/제거 프로세서를 위한 프로세스에 대한 일반적인 흐름도이다.
본 발명은 본 명세서에 완전히 기재된 것처럼, 미국특허출원 No. 14/580,044(출원일: 2014, 12, 22)에 설명된 모든 도면 및 상세한 설명을 원용하며 병합한다.
본 명세서에 설명되는 도 1 내지 도 8, 그리고 본 명세서에 설명된 다양한 실시예 및 본 특허문헌에서의 본 발명의 이하에 설명된 원리는 도해에 불과할 뿐, 본 발명의 범위를 제한하는 어떠한 방식으로도 파악되어서는 안 된다. 당업자는 본 명에서 설명되는 원리는 적절하게 배치된 어떠한 유형의 장치(들) 및 시스템(들)에서 실현될 수 있다는 것을 이해할 이다.
미국 특허출원 No. 14/580,044에 설명된 바와 같이, 한 그룹의 프로세서/코어를 완전한 SMP 시스템에서 완전한 ASMP 시스템으로 전환할 때, 이러한 SMP/ASMP 전환 기능을 제공하는 것과 관련된 복잡도와 비용은 상당할 수 있다. 소형 장치(슈퍼컴퓨팅 디바이스 및 애플리케이션과는 반대로, 모바일 애플리케이션에서, 예를 들어, 모발일 디바이스, 휴대형 장치, 스마트폰, 등)에서, 대부분의 사용 애플리케이션에서, 조사 및 검사에 따르면 다중 처리 작업/기능은 2개(또는 그 이하) 프로세서/코어를 사용해서 적절하게 다루어질 수 있다는 것이 확인되었다. 대부분의 이러한 애플리케이션에서는 2개의 프로세서/코어가 불균형 부하로 전력 소비가 높아진 상태에서 실행될 것이다.
그러므로 미국 특허출원 No. 14/580,044에는 ASMP 방식으로 동작할 수 있는 저비용 고출력 고성능의 다중 프로세서 시스템에 대해 개시되어 있으며 - 상기 문헌에 따르면, 복수의 프로세서/코어 중 하나의 프로세서/코어(또는 부부집합)만이 서로 다른 클록 주파수 및/또는 서로 다른 작동 공급 전압 간의 동적 전환을 가능하도록 구성되어 있고 - 나머지 프로세서/코어는 동일한 클록 주파수 및 동일한 공급 전압에서 구성되어 있다. 예를 들어, 멀티프로세서 시스템이 2개의 프로세서/코어를 포함하는 경우, 제1 프로세서/코어는 제1 클록 주파수(동적으로 전환 가능하지 않음) 및 제1 공급 전압(동적으로 전환 가능하지 않음)에서 작동하고, 제2 프로세서/코어는 제1 주파수 및 제1 공급 전압(제1 프로세서/코어와 동일) 또는 서로 다른 주파수 및 서로 다른 공급 전압 중 어느 하나에서 동작이 전환 가능하다.
효율성 및 전환 지연을 개선하기 위해, 본 발명은 2개 모드의 제어 및 전환을 가능하게 하는 하드웨어 기반 전환 장치를 제공한다. 이 하드웨어 내에서는, 운영체제(OS) 또는 다른 소프트웨어/하드웨어로부터 전환 커맨드를 수신하면, SMP와 ASMP 사이를 전환하기 위해, 복수의 프로세서와 메모리에 대한 클록 및 전압을 제어하도록 일련의 동작 또는 그 순서가 수행된다. 장치/방법은 소프트웨어/OS 간섭을 최소화하거나 제거하고 모드 전환 속도를 더 빠르게 한다.
여기서 사용되는 바와 같이, 용어 SMP란 일반적으로 공유 메모리 시스템을 사용해서(L2 캐시 메모리는 동일한 클록 및 전압 공급에서 작동함) 동일한 클록(주파수) 및 동일한 전압 공급에서 동작하는 복수의 프로세서/CPU/코어를 사용하는 프로세싱을 말한다. 용어 ASMP란 일반적으로 적어도 2개의 프로세서/CPU/코어가 서로 다른 클록(주파수) 및/또는 전압 공급에서 작동하는 복수의 프로세서/CPU/코어를 사용하는 프로세싱을 말한다. ASMP에서, 일반적으로 프로세서 각각은 서로 다른 L2 캐시 메모리를 사용한다. 그렇지만, ASMP는 또한 동일한 L2 캐시 메모리(이질의 ASMP라 한다)를 포함한다. 다른 관점에서, 용어 ASMP란 각각의 프로세서/CPU/코어가 적어도 제1 클록 주파수 및 제1 공급 전압 또는 제2 클록 주파수 및 제2 공급 전압 중 어느 하나를 사용해서 작동하도록 구성되어 있는 복수의 프로세서/CPU/코어를 사용하는 다중 처리를 말한다. 또한, ASMP 모드는 일반적으로 한 그룹(복수)의 코어를 사용하는 다중 처리를 말하는데, 여기서는 한 그룹(복수)의 코어 내의 적어도 하나의 코어(또는 그 이상이되, 모든 코어가 아닌)가 한 그룹(복수)의 코어 내의 다른 코어와 동일한 클록 주파수 및 동일한 공급 전압을 사용해서 작동할 수 있는 서로 다른 클록 주파수 및 공급 전압을 사용하도록 동적으로 전환되거나 구성되어 있다. 이 방식에서, 한 그룹의 코어는 SMP 모드 또는 ASMP 모드 중 어느 한 모드에서 동작하되, 그룹 내의 적어도 하나(전부가 아님)는 서로 다른 클록 주파수 및 공급 전압을 가진다.
알 수 있는 바와 같이, 본 명세에서 사용되는 용어 "코어"는 단일 프로세서, CPU 또는 프로세싱 코어를 말한다. 이 정의는 또한 복수의 프로세서, CPU 또는 프로세싱 코어를 가지는 "코어"를 설명하거나 말하는 데도 확장될 수 있다. 그러므로 본 명세서에서 용어 "코어"의 사용은 단일 프로세싱 요소에 제한되지 않지만, 한 그룹의 동일한 프로세싱 요소를 포함할 수 있다. 또한, 본 명세서에서 용어 "코어", "프로세서" 및 "CPU"는 서로 바꿔서 사용될 수 있다.
도 1을 참조하면, 본 발명에 따른 다중 처리(MP) 시스템이 도시되어 있다. MP 시스템(100)은 제1 작동 전압 공급(120)(VDD)에 결합되어 있으면서 단일 클록 신호(130)(CLK)에 결합되어 있는 코어 A, C 및 D (110a, 110c, 110d), 및 제2 작동 전압 공급(140)(VDDb)에 결합되어 있으면서 클록 신호(150)(CLKb)에 결합되어 있는 코어 B(110b)를 포함한다. 이 구성에서, 코어 B는 제1 작동 전압 공급(120)(VDD)으로부터 유도되는 제2 작동 전압 공급(140)(VDDb)에 결합되어 있다. 전압 조정기 및 전환 제어기(160)는 제1 작동 전압 공급(120)(VDD)을 수신하고, 제2 전압 공급(VDDb)을 생성한다. 도 1에는 도시되어 있지 않지만, 전압 조정기 및 전환 제어기는 VDDb 또는 VDD 중 어느 하나를 (선택된 모드에 따라) 코어 B에 출력한다. 그러므로 VDDb는 VDD로부터 유도된다. 여러 실시예에서, 전압 조정기 및 전환 제어기(160)는 동일한 칩 또는 일체식 기판 상에 구성되어 있거나 배치되며, 다른 실시예에서는 다른 칩 또는 기판 상에 구성될 수도 있다.
도 2를 다시 참조하면, 본 발명에 따른 처리 시스템(100)이 상세하게 도시되어 있다.
일반적으로, 처리 시스템(100)은 2가지 작동 모드: SMP와 ASMP 사이에서 전환 가능한 한 그룹(복수)의 프로세서를 포함한다. SMP 모드에서, 작동 프로세서(예를 들어, 하나, 3개 또는 4개 전부)는 동일한 클록 주파수 및 공급 전압에서 작동하지만, (이하에서는 다른 실시예에서의) ASMP 모드에서는, 적어도 하나의 제1 프로세서가 나머지 작동 프로세서의 클록 주파수 및 공급 전압과는 상이한 클록 주파수 및 공급 전압을 사용해서 작동하도록 구성된다.
시스템은 2개의 서로 다른 클록 주파수와 공급 전압 사이에서 제1 프로세서의 제어 및 전환을 가능하게 하는 하드웨어 장치/회로를 포함한다. 이 하드웨어에서, 운영체제(OS) 또는 다른 소프트웨어/하드웨어로부터 전환 커맨드를 수신하면, SMP와 ASMP 사이를 전환하기 위해, 제1 프로세서의 클록 및 전압을 제어하도록 일련의 동작 또는 그 순서가 수행된다. 전환 커맨드의 생성은 하나 이상의 요인에 기초해서 이루어질 수 있는데, 바람직하게는 부하, 캐시 실패율, 전력 소비 원인 등과 같은 요인에 의해 이루어질 수 있다. 장치/회로는 제1 프로세서가 하나의 모드에서 다른 모드로의 전환 동안 실패하지 않고 프로세서/메모리에 대한 클록(들)이 결함없이 전환되도록 한다. 장치/방법은 소프트웨어/OS 인터럽트를 최소화하고 모드 전환 속도를 더 빠르게 한다.
처리 시스템(100)은 다중 프로세서 코어 및 복수의 프로세서(110)를 가지는 캐시 서브시스템(205)을 포함하며, 이것은 도시된 바와 같이, 대응하는 L2 캐시 메모리 부분(210)(210a 및 210b) 110a (CPU A) 및 대응하는 교차 도메인 클록() 회로(230a, 230c, 230d, 230b)를 가지는, 110c (CPU C), 110d (CPU D) 및 110b (CPU B)를 포함한다. 4개의 프로세서(110)(및 대응하는 메모리 및 회로)가 도시되어 있으나, 프로세서의 수는 더 적을 수도 더 많을 수도 있으나, 최소 2개를 포함한다. 알 수 있는 바와 같이, 각각의 프로세서(110)는 하나 이상의 프로세서, 중앙처리장치(CPU), 프로세서, 또는 코어, 또는 이것들의 조합을 포함할 수 있다.
처리 시스템(100)은 프로세서, 캐시 및 CDC에 전력을 공급하는 데 사용하기 위한 제1 작동 공급 전압(VDD)을 생성하는 전력 관리 제어(power management control, PMIC) 회로(240)를 더 포함한다. 마찬가지로, 클록 생성 회로(250)는 프로세서, 캐시 및 CDC의 작동을 클로킹하는 데 사용하기 위한 다양한 미리 결정된 클록 주파수를 가지는 복수의 클록 신호를 생성한다.
일 실시예에서, PMIC 회로(240)를 제외하곤, 처리 시스템(100)은 단일 기판/다이 또는 집적 반도체 기판/다이 상에 (또는 다중 기판 IC 패키지 내에 배치된 복수의 반도체 기판 내에) 배치되거나 위치할 수 있다. 다른 실시예에서, PMIC 회로(240)는 또한 단일 기판/다이 또는 집적 반도체 기판/다이 상에 포함될 수도 있다.
도시된 바와 같이, 처리 시스템(100)은 또한 전압 조정기 및 전환 제어기(160)(전환 또는 모드 제어기라고도 한다) 및 클록 전환 회로(또는 모듈)(270)를 포함한다. 이해할 수 있는 바와 같이, 제어기(160)는 바이패스 회로(230), 클록 생성 회로(250), 및 클록 전환 회로(27)와 함께 CDC의 기능 및 작동을 제어하기 위한 다양한 제어 신호를 출력한다.
클록 생성 회로(250)는 복수의 클록 신호를 생성하는 데 필요한 회로 및 요소를 포함하는데, 이러한 클록 신호로는 (SMP 모드에서) 프로세서(110)의 작동 속도를 집합적으로 제어하기 위한 하나의 SMP 프로세서 클록 신호(CLK), (SMP 모드에서) 캐시 부분(210a, 210b)의 작동 속도를 집합적으로 제어하기 위한 하나의 SMP 메모리 클록 신호(CLKch), 프로세서(110b)의 작동 속도를 독립적으로 제어할 수 있게 하는 적어도 하나의 ASMP 프로세서 클록 신호(CLKb), 및 캐시 메모리 부분(210b)의 작동 속도를 독립적으로 제어할 수 있게 하는 적어도 하나의 ASMP 메모리 클록 신호(CLKchb)를 들 수 있다. 이러한 클록 각각은 회로(250)에 의해 결함 없이 작동 가능하게 되거나 작동 가능하지 않게 된다. 클록 생성 회로(250)는 또한 제어기(160)에 의해 생성된 입력 인에이블 신호 EN_CLK 및 EN_CLKb를 수신한다.
PMIC 회로(240)는 시스템(100)에서 사용하기 위해 적어도 VDD를 생성하는 데 필요한 회로 및 요소를 포함한다. 도시된 바와 같이, PMIC 회로(240)는 프로세서(110a, 110c, 110d), 캐시 메모리 부분(210a), 및 전압 조정기 및 전환 제어기(160)에 전력을 공급하기 위한 VDD를 생성하고 출력한다. 도시된 바와 같이, 공급 전압 VDDb는 프로세서(110B) 및 그 관련된 캐시 메모리 부분(210b)에 전력을 공급한다. 당업자가 이해할 수 있는 바와 같이, 프로세서/메모리가 높은 클록 속도로 작동할 때, 프로세서/메모리를 높은 공급 전압으로 작동시키는 것도 또한 바람직하고 필요할 수 있다. 또한, 코어가 사용되지 않을 때, 전력 붕괴 및/또는 클록 불능일 수 있다. 예를 들어, 프로세서(110b)에 대한 공급 전압 VDDb는 불능으로 될 수 있으며 및/또는 프로세서(110b)에 대한 클록 입력이 불능으로 될 수 있다(예를 들어, 입력 클록이 없다). 마찬가지로, 프로세서(110a, 110c, 110d)에 대한 공급 전압 VDD 및/또는 클록 입력이 불능으로 될 수 있다. 이 기능은 하나 이상의 전환기에 의해 제공될 수 있다(도 2에 도시되어 있으나, 도면부호가 일치하지 않는다).
클록 생성 회로(250)는 또한 생성된 클록 신호 CLK 및/또는 CLKb 각각에 대한 일부의 프로그램을 작성할 수 있는 기능 및 회로도 포함할 수 있다. 일 실시예에서, 클록 신호 각각은 많은 가능한 주파수 중 하나에 대해 프로그램될 수 있다(예를 들어, CLK는 300 Mhz 내지 3 GHz와 같은 범위 사이에서 프로그램될 수 있다). 다른 실시예에서, 소정의 클록 신호만이 프로그램 가능할 수 있으나, 다른 실시예에서는, 각각의 클록 신호의 주파수가 미리 결정되고 고정될 수 있다. 또 다른 실시예에서, 주파수는 서로에 대해 고정될 수 있으나, 그룹으로 프로그램될 수도 있다. 마찬가지로, PMIC 회로(240) 역시 작동 전압 공급 VDD에 대해 프로그램을 작성할 수 있게 하는 기능 및 회로를 포함할 수 있다.
도 2에 도시된 바와 같이, 제어기(160)는 전압 조정기 및 바이패스 회로(280) 및 SMP/ASMP 전환 제어기(290)를 포함한다. 전압 조정기 및 바이패스 회로(280) 내의 전압 조정기(개별적으로 도시되지 않음)는 작동 전압 공급 VDD로부터 전압 공급 VDDb를 생성하고 VDD 또는 VDDb 중 어느 하나를 선택적으로 출력한다. 바이패스 모드에서, VDDb = VDD이다. 또한, VDDb는 전압 조정기를 작동 불능으로 함으로써 전력-붕괴되어 코어 B(110b)를 셧다운시킬 수 있다. 알 수 있는 바와 같이, 일반적으로, 전압 조정기를 위한 바이패스 기능은 멀티플렉서를 사용하여 실현되고 상태 머신 또는 다른 프로세스에 의해 제어될 수 있다.
다른 실시예에서, 제어기(160)는 VDD를 수신할 수 있고 이 VDD로부터 많은 가능한 전압 레벨 중 (프로그램 가능한) 하나를 전압 공급 VDDb로서 생성할 수 있다(예를 들어, 전압은 0.5 볼트와 3.3 볼트 사이의 범위에서 프로그램 가능할 수 있다). 또 다른 실시예에서, 전압 공급 VDDb는 미리 결정되고 고정된다.
SMP/ASMP 전환 제어기(290)는 유한 상태 머신(FSM)(292), 하나 이상의 타이머(294), 및 하나 이상의 스토리지 레지스터(296)(예를 들어, 구성 레지스터 또는 상태 레지스터)를 포함한다. 제어기(290)는 SMP/ASMP 모드 전환 커맨드/신호(SMP/ASMP_SELECT) 및 전압 공급 모드 전환 커맨드 신호(LDO_MODE_SELECT)의 선언에 응답해서 액션 또는 프로세스의 시퀀스를 제어하고 수행하도록 기능한다. 그러므로 도시된 실시예에서, SMP/ASMP 모드 전환 커맨드는 선언/비선언되고, 프로세싱 작동 모드는 ASMP 모드와 SMP 모드 사이에서 전환된다. 다양한 방법 및 메커니즘을 사용하여 SMP/ASMP 모드 전환 커맨드의 생성할 수 있고 일부의 예는 도 7을 참조해서 이하에 설명된다. SMP/ASMP 모드 전환 커맨드(SMP/ASMP_SELECT) 및 전압 공급 모드 전환 커맨드/신호(LDO_MODE_SELECT)가 다양한 이벤트에 응답해서 그리고 처리 시스템(100) 내의 또는 외부의 다양한 요소에 의해 생성될 수 있다는 것을 이해할 수 있을 것이다.
일 실시예에서, SMP/ASMP 모드 전환 커맨드(SMP/ASMP_SELECT) 외에, 제어기(290)는 전압 공급 모드 전환 커맨드/신호(LDO_MODE_SELECT)의 사용을 통합하여 이에 응답해서 액션 또는 프로세스의 시퀀스를 제어하고 수행한다.
프로세서(110b)가 CLK 클록(SMP)으로부터 CLKb 클록(ASMP)으로(그리고 그 반대로) 실제로 전환하는 데 시간이 걸릴 때, 제어기(290)는 클록 전환 회로(270) 내의 멀티플렉서(272a)를 사용해서 CLKb 클록 신호를 프로세서(110b)에 선택적으로 다중화하는 선택 신호(SELECT_CLKb)를 생성한다. 이해하는 바와 같이, ASMP 모드에서의 프로세서/CPU 코어(110b)를 위한 클록은 CLKb로 표시되고, SMP 모드에서의 나머지 프로세서/CPU 코어(110a, 120c, 110d)를 위한 클록은 CLK로 표시된다. 따라서, SELECT_CLKb는 어느 클록(CLKb 또는 CLK)이 프로세서(110b)에 의해 사용될 것인지를 결함 없이 선택한다. 일 실시예에서, SELECT_CLKb 신호가 선언되면(논리 하이 또는 "1"), 클록 신호 CLKb가 선택되고 프로세서/코어(110b)에 입력된다. SELECT_CLKb 신호가 비선언되면(논리 로우 또는 "0"), 클록 신호 CLK가 선택되고 프로세서/코어(110b)에 입력된다.
이해하는 바와 같이, SELECT_CLKb 신호가 선언되면(논리 하이 또는 "1"), 클록 신호 CLKb가 선택되고 프로세서/코어(110b)에 입력되지만, 클록 신호 CLK가 나머지 프로세서/코어(210a)에 입력된다. SELECT_CLKb 신호가 비선언되면(논리 로우 또는 "0"), 클록 신호 CLK가 선택되고 프로세서/코어(110b)에 입력되지만, 클록 신호 CLK도 나머지 프로세서/코어(110a, 110c and 110d)에 입력된다(또는 입력하기 위해 이용 가능하게 된다).
마찬가지로, 이에 대응해서 선택 신호(SELECT_CLKb)는 클록 전환 회로(270) 내의 멀티플렉서(272B)를 사용해서 CLKchb 메모리 클록 신호를 캐시 부분(210b)에 선택적으로 다중화한다.
인에이블 신호(EN_CLK, EN_CLKb)를 사용하면, 전환 제어기(290)는 SMP/ASMP 전환 이전에 클록이 작동 가능하게 되도록 클록 생성 회로(250)를 제어한다. 제어기(290) 역시 프로세서(110b)(코어 B)에 입력하기 위해 VDD 또는 VDDb 중 어느 하나를 선택하도록 전압 조정기 및 바이패스 회로(280)를 제어한다. 또한, 적어도 하나의 다른 프로세서(110a, 110c, 110d)가 클록 속도(CLK) 및 공급 전압 VDD에서 작동하는 동안 선언될 때, 프로세서(110b)가 (ASMP 모드에서) 다른 클록 속도(CLKb) 및 공급 전압 VDDb로 전환하게 하는 SELECT_CLKb 신호를 생성한다.
전환 동안 다양한 이벤트 및 액션의 타이밍은 하나 이상의 타이머(294)를 사용해서 FSM(292)에 의해 제어된다. 이하에 상세히 설명될 바와 같이, 클록 웜-업 주기 및 전압 램프 업/램프 다운 주기가 사용된다. 이 값들은 소프트웨어 또는 다른 방법에 의해 제어기 내의 C/S 레지스터(296) 또는 다른 메모리 위치(도시되지 않음)에 미리 프로그램되거나 미리 설정되거나 저장될 수 있다.
알 수 있는 바와 같이, 도면부호로 구체적으로 식별되지 않아도, 다양한 다른 논리 회로가 포함될 수 있는데, 예를 들어, 레벨 시프터가 포함될 수 있다. 레벨 시프터는 통상적으로 신호가 전력 도메인을 횡단할 때 사용된다.
클록 멀티플렉서(272)(도 2에 도시되지 않음)의 하나의 가능한 회로 실현이 미국 특허출원 No. 14/580,044에 (도 4 및 그 대응하는 설명을 참조하여) 설명되어 있다. 클록 멀티플렉서(272)는 전환 동안 결함이 없다는 것을 의미하는 "글리치리스(glitchless)"이다. 다른 적절한 회로 실현은 클록 멀티플렉서(272)에 사용될 수 있으며, 당업자는 글리치리스 멀티플렉서 전환을 수행하는 다른 회로가 사용될 수 있다는 것을 용이하게 이해할 수 있을 것이다.
바이패스 회로(230)를 가진 CDC(도 2에 도시됨)의 하나의 가능한 회로 실현이 미국 특허출원 No. 14/580,044에 (도 5 및 그 대응하는 설명을 참조하여) 설명되어 있다. 알 수 있는 바와 같이, 비동기 CDC 회로는 당기술분야에 공지되어 있으며, 따라서 당업자라면 이러한 기능을 실행하는 방법을 이해할 수 있을 것이다. 이러한 CDC 회로 및/또는 그 기능 역시 클록 전환 회로로서, 또는 프로세서와 L2 캐시 간의 비동기 FIFO 브리지로서 당기술분야에 공지될 수 있다.
도 3a를 다시 참조하면, FSM(292)에 의해 수행되거나 실행되는 하나의 프로세서 또는 방법(300)이 도시되어 있다. 이 프로세스 역시 전압 조정기 및 바이패스 회로(280)의 동작을 제어하는 기능을 한다. 알 수 있는 바와 같이, FSM(292)의 프로세스/기능은 서로 다른 구성, 방법 또는 구조(또는 이것들의 조합) 또는 방법을 사용해서 실행될 수 있다. 예를 들어, 도해될 실시예에서 유한 상태 머신(예를 들어, 하드웨어 실현)으로 실현되어도, 제어기(290)의 기능은 펌웨어 등을 가진 이산 논리 회로, 마이크로컨트롤러, 이것들의 조합을 사용해서, 또는 당기술분야에 공지된 임의의 다른 방식/방법을 사용해서 대안으로 실현될 수 있다. 바람직하지 않을지라도, 이 기능은 또한 소프트웨어 또는 소프트웨어와 하드웨어의 일부의 조합으로 실현될 수 있다. FSM(292)(및 임의의 다른 하드웨어 실현)은 더 고속으로 작동하고 소프트웨어/OS 인터럽트를 유리하게 최소화한다. 제외의 이벤트에서, 예를 들어, 타임아웃 등의 이벤트에서, 시스템 프로세서에 대한 인터럽트를 생성할 것이다.
다른 실시예에서, 제어기(290) 내의 개별적인 FSM(또는 다른 기능) 역시 EN_CLK, EN_CLKb 및 SELECT_CLKb 신호의 타이밍 및 생성을 제어할 수 있다는 것도 이해할 수 있을 것이다. 다른 실시예에서, 이하에 설명되는 바와 같이, FSM(292)은 (1) 전압 조정기 및 바이패스 회로(280)를 제어하는 신호(EN, BYPASS), 및 (2) 클록 생성 회로(250), 클록 전환 회로(270), 및 CDC 및 바이패스 회로(230)를 제어하는 신호(EN_CLK, EN_CLKb 및 SELECT_CLKb)의 타이밍 및 생성 모두를 통합 방식으로 제어하는 "통합형" 유한 상태 머신이다.
이 "통합형" 실시예에서, FSM(292)은 SMP/ASMP 모드 전환 커맨드/신호(SMP/ASMP_SELECT) 및 전압 공급 모드 전환 커맨드/신호(LDO_MODE_SELECT)를 입력 신호로서 수신한다. 이하의 표 1은 신호 EN (enable) 및 BYPASS (bypass)가 입력 신호에 응답해서 생성되는 출력 신호인 FSM(292)이 전압 조정기 및 바이패스 회로(280)의 모드를 제어하기 위해 수행되는 입력-대-출력 신호 전환을 나타내고 있다:
SMP/ASMP_SELECT/LDO_MODE_SELECT EN/BYPASS 전압 모드
0/0 0/0 OFF
0/1 1/1 BYPASS
1/0 0/0 OFF
1/1 1/0 REG
표 2는 SMP/ASMP_SELECT 및 LDO_MODE_SELECT 신호에 대한 정의/설명을 제공한다:
SMP/ASMP_SELECT (1-bit) SMP/ASMP 모드,
0-SMP 모드, 1-ASMP 모드를 선택한다
LDO_MODE_SELECT (1-bit) LDO ON/OFF 제어에서
0-OFF, 1-ON
제어 신호 EN 및 BYPASS는 FSM(292)이 전압 조정기 및 바이패스 회로(280)를 제어하기 위해 생성되고 출력된다. 제어기(290)(예를 들어, FSM(292))의 입력 신호(SMP/ASMP_SELECT, LDO_MODE_SELECT) 및 출력 신호(EN, BYPASS, SELECT_CLKb, EN_CLK, EN_CLKb)가 도 5 및 도 6에 도시되어 있다.
도 3a에 도시된 바와 같이, FSM(292)의 상태 다이어그램으로 표시되는 프로세스(300)는 전압 조정기 및 바이패스 회로(280)의 제어와 관련하여 다양한 상태 및 전환을 포함한다. 도시된 바와 같이, 3가지의 주요 상태 - OFF 상태(310), ASMP 모드 상태(320) 및 SMP 모드 상태(330)가 존재한다.
OFF 상태(310)는 LDO_MODE_SELECT 신호가 로우 중인 것에 응답해서 EN 신호 및 BYPASS 신호가 로우일 때(예를 들어, EN!, BYPASS!), 전압 조정기가 오프 또는 비활성(예를 들어, 부유) 중인 것을 특징으로 하고 있다.
ASMP 모드 상태(320)는 SMP/ASMP_SELECT가 로우 중이고 LDO_MODE_SELECT 신호가 하이 중인 것에 응답해서 EN 신호가 하이이고 BYPASS 신호가 로우일 때(예를 들어, EN, BYPASS!), 프로세서(110b)에 공급 전압을 제공하기 위해 전압 조정기가 선택적 입력에 대해 VDDb를 출력하는 것을 특징으로 하고 있다 - .
SMP 모드 상태(330)는 SMP/ASMP_SELECT가 하이 중이고 LDO_MODE_SELECT 신호가 하이 중인 것에 응답해서 EN 신호가 하이이고 BYPASS 신호가 하이일 때(예를 들어, EN, BYPASS), 프로세서(110b)에 공급 전압을 제공하기 위해 전압 조정기가 "바이패스" 중이고 선택적 입력에 대해 VDD를 출력하는 것을 특징으로 하고 있다.
작동 동안, 처리 시스템(100)은 초기에 비활성 상태인 것으로 가정하면, LDO_MODE_SELECT 신호는 로우이고 이에 따라 비선언 중인 전환 제어기(290)로부터 EN 신호가 출력된다(!EN)(그리고 BYPASS 신호의 값은 관련 없다). LDO_MODE_SELECT 신호가 활성화되면, 전환 제어기(290)는 EN 신호를 선언하고(EN) 프로세스(300)는 전환 커맨드 (SMP/ASMP_SELECT) 신호의 값에 따라 상태(320 또는 330) 중 어느 하나로 진행할 수 있다.
전환 커맨드 SMP/ASMP_SELECT가 ASMP 모드에서의 작동을 지시하면(SMP/ASMP_SELECT는 로우이다), 제어기는 로우 BYPASS 신호(!BYPASS)를 출력할 것이다. EN 신호 및 BYPASS 신호에 대한 이러한 값에 기초하여, FSM(292)은 ASMP 모드 상태(320) 쪽으로 전환한다. 그렇지만, 상태(320)로 들어가기 전에, 지연2 상태(315)로 들어가는데, 이것은 FSM(292)이 로우 BYPASS 신호를 출력하기 전에 지연에 대해 미리 결정된 시간(대기 시간)을 제공하며, 그런 다음 ASMP 모드 상태(320)로 들어간다. 지연2는 임의의 적절한 주기 범위일 수 있는데, VDDb를 생성하는 데 사용되는 전압 조정기의 유형에 대한 물리적 작동 특징에 따라, 예를 들어, 서브마이크로초 내지 10s의 마이크로초의 범위일 수 있다. 환언하면, 로우 BYPASS 신호의 출력은 지연2 동안 지연되어 전압 조정기는 활성화되고 안정화되어 출력을 위한 VDDb를 생성할 수 있다(예를 들어, 웜업).
전환 커맨드가 SMP 모드에서의 작동을 지시하면(SMP/ASMP_SELECT는 하이이다), 제어기는 하이 BYPASS 신호(BYPASS)를 출력할 것이다. EN 및 BYPASS 신호에 대한 이러한 값에 기초해서, FSM(292)은 SMP 모드 상태(330)로 전환한다. 그렇지만, 상태(330)로 들어가기 전에, 지연1 상태(335)로 들어가는데, 이것은 FSM(292)이 하이 BYPASS 신호를 출력하기 전에 지연에 대해 미리 결정된 시간(대기 시간)을 제공하며, 그런 다음 SMP 모드 상태(330)로 들어간다. 지연2와 마찬가지로 지연1은 임의의 적절한 주기 범위일 수 있는데, VDD를 생성하는 데 사용되는 전압 조정기의 유형에 대한 물리적 작동 특징에 따라, 예를 들어, 서브마이크로초 내지 수십 마이크로초의 범위일 수 있다. 환언하면, 하이 BYPASS 신호의 출력은 지연1 동안 지연되어 전압 조정기는 안정된 출력을 생성할 수 있고 (예를 들어, 3상태/제로 출력으로부터 VDD로의) 전환 잡음을 감소한다.
ASMP 모드 또는 SMP 모드 중 어느 하나에서, 프로세서(300)는 전환 커맨드 (SMP/ASMP_SELECT) 신호의 값에 따라 이 2가지 모드 사이에서 전환할 수 있다.
ASMP 모드(320)에 있을 때, 전환 커맨드 신호가 시스템이 SMP 모드로 전환되어야 한다는 것을 지시하면(즉, SMP/ASMP_SELECT가 하이이다), 제어기(290)는 BYPASS 신호를 선언하고(BYPASS) 그 프로세스는 SMP 모드 상태(330)로 전환한다. 그렇지만, 상태(330)로 들어가기 전에, 중간 VREG_MAX 상태(325)로 들어가는데, 이것은 전압 조정기 출력이 그 최대 출력 전압 레벨까지 증가할 수 있도록 다른 미리 결정된 지연 시간을 제공한다. 알 수 있는 바와 같이, 전압 조정기는 VDD보다 낮은 미리 결정된 전압 공급 VDDb를 프로세서에 이미 출력하고 있으므로, VDDb로부터 VDD로 전환하기 전에 전압 조정기(400)의 출력 전압을 그 최대까지 증가시키는 것이 중요하다. 이것은 프로세서(110b)에 입력되는 공급 전압 내의 잠재적으로 큰 스파이크를 감소하거나 제거한다. 도 4를 참조하면, 출력 값을 제어하기 위해 Vref 또는 Vrefmax가 전압 조정기에 선택적으로 입력된다(전압 조정기의 출력은 증폭기의 네거티브 단자 상의 입력과 같다). 예를 들어, VDD가 1.0 볼트이면, Vref는 0.6 볼트일 수 있고, Vrefmax는 0.9 볼트이다(실제의 최댓값은 VDD를 그 공급으로 가지는 전압 조정기로부터 출력된다).
이 중간 VREG_MAX 상태(325)에서, Vrefmax는 전압 조정기에 선택적으로 입력되고 미리 결정된 지연은 바이패스 회로(280)의 출력이 VDDb로부터 VDD로 전환하기 전에 출력 전압이 Vrefmax까지 증가할 수 있게 한다.
SMP 모드(330)에 있을 때, 전환 커맨드 신호가 시스템이 ASMP 모드로 전환되어야 한다는 것을 지시하면(즉, SMP/ASMP_SELECT가 로우이다), 제어기(290)는 BYPASS 신호를 비선언하고(!BYPASS) 그 프로세스는 ASMP 모드 상태(320)로 전환한다. 그렇지만, 상태(330)로 들어가기 전에, 중간 VREG_MAX 상태(325)로 들어가는데, 이것은 전압 조정기 출력이 감소되고 안정화되어 잡음을 감소할 수 있도록 다른 미리 결정된 지연 시간을 제공한다.
도시된 바와 같이, ASMP 모드 상태(320) 또는 SMP 모드 상태(33) 중 어느 하나에 있고, LDO_MODE_SELECT 신호가 로우로 갈 때, EN 신호는 비선언되고(!EN), 그 프로세스는 OFF 상태(310)로 다시 전환된다.
FSM(292)에 의해 실행되는 프로세스(300)는 클록 생성 회로(250), 클록 전환 회로(270), 및 CDC 및 바이패스 회로(230)를 제어하는 신호(EN_CLK, EN_CLKb 및 SELECT_CLKb)의 제어/생성과 통합함이 없이 전압 조정기 및 바이패스 회로(280)의 유한 상태 머신 제어를 제공하며, 이것은 CLK 또는 CLKb를 클로킹 주파수로서 프로세서(110b)에 제공하기 위한 것이다. 이 실시예에서, 개별적으로 작동하고 이러한 다른 제어 신호를 생성하여 이러한 다른 회로를 제어하는 제2 FSM(도시되지 않음)이 포함될 수 있다. 이 제2 FSM의 특정한 실현은 미국 특허출원 No. 14/580,044(도 3a, 3b, 3c 및 그에 대응하는 상세한 설명)를 참조하면 당업자에 의해 용이하게 설계될 수 있다.
도 3b를 참조하면, FSM(292)에 의해 수행되거나 실행되는 다른 프로세스 또는 방법(300a)이 도시되어 있다. 프로세스(300a)는 FSM(292)에 의해 실행될 수 있으며, 이것은 클록 생성 회로(250), 클록 전환 회로(270), 및 CDC 및 바이패스 회로(230)를 제어하는 신호(EN_CLK, EN_CLKb 및 SELECT_CLKb)의 제어/생성이 그 안에 통합되어 있는 전압 조정기 및 바이패스 회로(280)의 유한 상태 머신 제어를 제공한다(즉, SMP/ASMP 모드 클록 전환). 환언하면, 프로세스(300a)는 통합형 FSM(292)(및 위에서 언급된 제2 FSM은 생략될 수 있다)을 설명한다. 이 프로세스(300a)는 전압 조정기 및 바이패스 회로(280) 및 클록 제어 회로(250, 270 및 230) 모두의 작동을 제어하도록 기능한다. 환언하면, 도 3b에서의 FSM(292)은 전압 조정기 및 바이패스 회로(280)의 제어와 클록 생성 회로(250)를 제어하는 신호(EN_CLK, EN_CLKb 및 SELECT_CLKb)의 제어/생성을 통합하는 전압 조정기 및 클록 전환 모듈을 제공하며, 이것은 통합된 제어기를 제공한다(전압 변화/전환 및 클록 변화/전환 모두를 제어한다). 그러므로 전압 조정기의 제어와 그 출력(즉, 전압 공급을 프로세서로 출력) 및 클록 전환 회로의 제어와 그 출력(즉, 클로킹 신호를 프로세서로 출력)은 통합되거나 하나 이상의 상호의존을 가진다. 이러한 통합형 제어기는 전압 조정기 클록 작동 가능/워밍-업/전환 프로세스와 병렬로 해서 클록 작동 가능/워밍-업/전환 프로세스를 가능하게 한다. 이것은 SMP/ASMP 전환 프로세스의 전반적인 대기 시간을 개선한다.
도 3b에 도시된 바와 같이, 프로세스(300a)는 상태(310, 315, 320, 325, 330, 335) 및 프로세스(300)의 전환(도 3a에 도시됨) 그리고 추가의 상태(350, 360, 370 및 380) 및 관련 전환 전부를 포함한다. FSM(292)의 상태 다이어그램에 의해 표시되는 프로세스(300a)는 (1) 전압 조정기 및 바이패스 회로(280) 및 (2) 회로(250, 270 및 230)의 제어와 관련된 다양한 상태 및 전환을 포함한다. 통합형 유한 상태 머신(FSM)은 전압 변환뿐만 아니라 클록 전환도 제어하며, 이 방법에서, 최상의 병렬주의와 최적화된 액션 시퀀스를 달성하면서 정확한 상호의존성이 충족되는 것도 보장된다.
추가의 4가지 주요 상태는 전환 BYPASS 상태(350), SWITCH_CLK 상태(360), SWITCH_CLKb 상태(370), 및 CLKb_WU 상태(380)를 포함한다.
OFF 상태(310)로부터 SMP 모드 상태(330)로 전환하는 기간 내에는, 추가의 BYPASS 상태(350) 및 SWITCH_CLK 상태(360)가 포함되어, 도시된 바와 같이 지연1 상태(335) 뒤에 배치된다. 지연1 시간이 만료된 후, (BYPASS 신호가 하이로 선언되지 않았어도) FSM(292)이 BYPASS 상태(350)로 들어간다. BYPASS 상태(350)(본질적으로 내부 전압 조정기 중간 상태)에서, BYPASS 신호가 선언되고 프로세스는 SMP 모드 상태(330)로 전환된다(VDD는 프로세서(110b)에 입력된다).
완료 시, SWITCH_CLK 상태(360)로 들어간다. SWITCH_CLK 상태에서, 프로세스(300a)는 수 개의 기능을 수행하는데: (1) 클로킹 회로(250) 내에서 CLK 신호를 전환하는 EN_CLK 신호를 하이로 선언하고, (2) CLK 신호를 웜-업할 수 있게 하는 미리 결정된 시간을 대기하며, (3) 웜-업 후, 클록 전환 회로(270) 내에서 CLK 신호를 프로세서(110b)에 선택적으로 입력하는 SELECT_CLKb 신호를 비선언한다(도 2를 참조).
SMP 모드 상태(330)로부터 ASMP 모드 상태(320)로 전환하는 기간 내에는, CLKb_WU (웜-업) 상태(380) 및 SWITCH_CLKb 상태(370)가 포함되어, 도시된 바와 같이, VREG MAX 상태(325) 앞에 배치된다. SMP 모드로부터 ASMP 모드로의 전환이 촉발되면(SMP/ASMP_SELECT는 로우가 된다), CLKb_WU 상태(380)로 들어간다. CLKb_WU 상태(280)에서, 프로세스(300a)는 클로킹 회로(250) 내에서 CLKb 신호를 전환하는 EN_CLKb 신호를 하이로 선언하고 CLKb 신호가 웜-업할 수 있게 하는 미리 결정된 시간을 대기한다. 웜-업 후, SWITCH_CLKb 상태(370)로 들어가고, 프로세스(300a)는 클록 전환 회로(270) 내에서 프로세서(110b)에 CLKb 신호(CLK 신호와는 반대)를 선택적으로 입력하는 SELECT_CLKb 신호를 선언한다(도 2를 참조). 완료 시, 프로세스는 그 액션(들)이 발생하도록 VREG_MAX 상태(325)로 전환하고, 그런 다음 SMP 모드 상태(330)로 전환하며, BYPASS 신호가 비선언되어 ASMP 모드 상태(320)로 들어간다(VDDb는 프로세서(110b)에 입력된다).
ASMP 모드 상태(320)로부터 SMP 모드 상태(330)로의 전환은 다른 경로를 취한다. ASMP 모드로부터 SMP 모드로의 전환이 촉발되면(SMP/ASMP_SELECT가 하이로 된다), VREG_MAX 상태(325)로 들어간다. 완료 시, BYPASS 상태(350)로 들어가서 완료되고, SWITCH_CLK 상태(360)로 들어가서 완료되며, 프로세스는 SMP 모드 상태(330)로 전환한다.
유한 상태 머신으로서 실행되는 프로세스(300a)에 기초하여, EN, BYPASS, EN_CLK, EN_CLKb, 및 SELECT_CLKb 신호의 제어 및 생성은 소프트웨어/OS 없이 달성된다. 이에 의해 SMP 모드와 ASMP 모드 간의 전환이 더 고속으로 된다.
도 4 및 도 5를 참조하면, 도 2에 도시된 전압 조정기 및 전환 제어기(160)의 2가지의 대안의 실시예(160a, 160b)가 도시되어 있다.
도 4는 전환 제어기(290a)(FSM(292)이 도 3b에 도시된 프로세스(300a)를 실행한다) 및 전압 조정기 및 바이패스 회로(280a)를 사용해서 실행되는 전압 조정기 및 전환 제어기(160a)를 도시하고 있다. 이 실시예에서, 회로(280a)는 로우 드롭아웃(low dropout, LDO) 전압 조정기(400) 및 고속 바이패스 스위치(402)를 포함한다. 기준 신호(Vref), 기준 최대 신호(Vrefmax) 및 EN 신호는 LDO 전압 조정기(400)에 입력된다. 작동 가능으로 되면, VDDb 출력은 VDD와 같거나(BYPASS 신호가 선언될 때(BYPASS)) 또는 Vref와 같다(BYPASS 신호가 비선언될 때(!BYPASS)). 알 수 있는 바와 같이, Vref는 원하는 값으로 선택될 수 있다(심지어 프로그램될 수도 있다). 이 실시예에서, 전압 조정기에 입력되는 실제의 전압 기준 신호는 Vref 또는 Vrefmax 중 어느 하나 중에서 선택될 수 있고, 이것들 중 하나는 FSM(292) 및 근사의 전환 회로(도시되지 않음)의 제어 하에 전압 조정기에 선택적으로 입력될 수 있다.
도 5는 전환 제어기(290b)(FSM(292)이 도 3b에 도시된 프로세스(300a)를 실행한다) 및 전압 조정기 및 바이패스 회로(280b)를 사용해서 실현되는 전압 조정기 및 전환 제어기(160a)를 도시하고 있다. 이 실시예에서, 회로(280b)는 도해의 목적만을 위해 도시된 구성요소를 가지는 전환된 전압 조정기(500)를 포함한다. 당업자는 전환 전압 조정기의 다른 적절한 구성(예를 들어, 전환 모드 전압 조정기, 벅스, 통합형 전압 조정기, 전환-캡 조정 등)이 사용될 수 있다는 것을 이해할 수 있을 것이다. 바이패스 회로는 작동 가능으로 될 때, VDDb 출력이 VDD와 같거나(BYPASS 신호가 선언될 때) 또는 VDDb와 같다(BYPASS 신호가 비선언될 때)는 점에서 도 4와 관련해서 설명된 기능과 유사하게 기능한다.
LDO 전압 조정기(400) 및 전환된 모드 조정기(500)와 관련해서, 일 실시예에서, 조정기(400 또는 500)는 동일한 기판 또는 집적 회로 상에 통합될 수 있다.
도 6을 참조하면, 전압 조정기 및 회로(600)를 가지는 전압 조정기 및 전환 제어기(160c)의 다른 실시예의 도면이 도시되어 있다. 전압 조정기(600)는 로우-드롭아웃 전압 조정기의 다른 실현을 나타낸다. 이 아키텍처는 2개의 별도의 잡음 억제 방법 - 예측(또는 미리 설정된) 및 응답(반등) - 을 사용하는 SMP/ASMP 모드 전환에 의해 생성될 수 있는 잡음을 감소/억제한다. 각각의 방법론은 전환에서 생기는 잡음을 최소화하고 전환 속도를 더 고속으로 한다. 응답 방법은 마이크로 레벨의 조정과 고속의 응답 시각을 제공하는 반면, 예측 방법은 매크로 레벨의 조정을 제공한다. 이 방법 중 어느 하나가 사용될 수도 있고 양자가 사용될 수도 있다.
SMP/ASMP 모든 전환 커맨드가 변할 때(SMP/ASMP_SELECT 신호가 변할 때), 제어기(290)는 바이어스 전류 제어 회로(630)를 통해 증폭기(680)의 바이어스 전류를 제어하기 위해 제어 신호(들)를 예측적으로 생성한다. 피드백 필터(640)는 도 6에 도시된 바와 같이, 바이어스 전류 제어 회로(630)와 결합하여 작동해서 바이어스 전류를 증가시킬 뿐만 아니라 전력 트랜지스터(690)의 대역폭 및 슬루율(slew rate)을 변경시킨다. 이와 같은 실제의 SMP/ASMP 전환이 일어나기에 앞서는 바이어스 전류의 변화는 LDO 전압 조정기(600)로 하여금 di/dt의 다가올 변화를 미리 보상할 수 있게 한다. 이것은 SMP/ASMP 전환 잡음을 완화하거나 억제하는 데 도움이 된다. 환언하면, 이 방법은 시스템이 SMP/ASMP 전환을 수행하기 전에 전압 조정기의 소정의 작동 특성(예를 들어, Ibias, 대역폭, 슬루율)을 미리 설정한다. 알 수 있는 바와 같이, 바이어스 전류 제어 회로(630) 및 피드백 필터(640)는 각각 제어 회로이다.
응답 방법론에 있어서, 조정기(600)의 출력에서 전류 경로에 배치된 전류 센서(610)가 부하(620)(예를 들어, 프로세서(110b))에 의해 추출된 변화량 di/dt를 감지한다. 이 신호는 FSM 제어기(290)에 피드백되어 바이어스 전류 및/또는 피드백 루프를 조정하여, 예측 방식으로 시간상 앞서는 것이 아니라 응답 방식으로 잡음을 감소시킨다. 보조 스위치(650)는 필요할 때, 출력 전압의 하향 변화를 위해 전류 드레인 경로를 증가시키거나 속도를 높인다. 응답 방법 및 도시된 회로는 비례-적분-미분(proportional-integral-derivative, PID) 제어기와 동일하거나 유사한 기능을 제공한다. 당업자라면 임의의 적절한 회로를 사용하여 전술한 기능을 수행할 수 있을 것이다. 알 수 있는 바와 같이, 바이어스 제어 회로(630), 피드백 필터(640) 및 보조 스위치(650) 각각은 제어 회로이다.
2개의 프로세서만(110b와 110a, 110c 또는 110d 중 어느 하나)이 활성화될 때 ASMP 모드가 활성화되고 3개 이상의 프로세서가 활성화될 때 SMP 모드가 비활성화되는 일 실시예에서 SMP와 ASMP 간의 동적 모드 전환이 수행된다. (1) 2개의 프로세서인지 또는 (2) 3개 이상의 프로세서인지에 대한 판정은 트래픽 유형, 프로세서 대기 시간, 부하 불균형 정보 및/또는 전력 소비에 기초할 수 있다. 알 수 있는 바와 같이, 다른 요인 및 유형의 정보를 분석하여 모드를 변경할(또는 유지할) 판정의 기초로 삼는다. 예를 들어, SMP 모드는 부하가 경량일 때 또는 모든 CPU 코어가 활용되어 부하가 중량일 때 및/또는 L1 캐시 실패율이 높을 때 선택될 수 있고, ASMP 모드는 중량의 부하 및/또는 불균형의 부하에 대해 선택될 수 있다. 하나의 특정한 실시예에서, 2개의 프로세서가 요구되면, 2개의 프로세서가 ASMP 모드에서 작동하고, 3개 이상의 프로세서가 요구되면 3개 이상의 프로세서가 SMP 모드에서 작동한다.
당업자라면 하나 이상의 "코어"(예를 들어, A, B, C, D)가 그 각각의 코어 내에 2개 이상의 프로세서를 각각 포함할 수 있다는 것을 용이하게 이해할 수 있을 것이다. 그러한 실시예에서, 각 "그룹"의 프로세서는 별개의 엔티티(또는 "코어")로 기능하도록 분류된다.
도 7을 참조하면, SMP/ASMP 모드 선택 및 전환을 개시하고 제어하는 아키텍처(예를 들어, 방법, 프로세스, 시스템)(800)가 개념적으로 도시되어 있다. 모드 선택은 원하는 프로세싱 또는 애플리케이션의 유형뿐만 아니라 다른 정보 또는 요인에 기초할 수 있다. 도시된 바와 같이, 프로세싱 또는 애플리케이션(802)은 브라우저 애플리케이션(802a), 스트리밍 애플리케이션(802b), 게임 애플리케이션(802c) 또는 내비게이션(802d)일 수 있다. 다른 요인/정보(804) 역시 고려될 수 있다.
일례로서, 스트리밍 애플리케이션(802b)이 다중 처리를 요구하는 것으로 가정하면, 모든 선택 장치(810)는 그 애플리케이션과 관련된 처리 작업이 SMP 모드에서 수행되어야 하는 ASMP 모드에서 수행되어야 하는지를 판정한다. 시스템 소프트웨어/OS는 이 판정을 하고 결정한다. 시스템은 커맨드를 제어기에 발생하도록 단일 프로세서를 할당할 수 있지만, 그 결정은 시스템-레벨/OS-레벨에서 수행된다. 그 결정은 스태틱 정보, 동적 정보 또는 이것들의 조합에 기초할 수 있다. 일례에서, 모든 비디오 인코딩 애플리케이션은 SMP 모드를 사용하는 것으로 미리 결정될 수도 있다. 다른 예에서, 모든 비디오 스트리밍 애플리케이션은 CPU의 현재 부하가 모든 CPU 코어가 사용될 정도로 중량이 아니면 ASMP 모드를 사용할 것이다. 하나의 모드에서 다른 모드로 전환할지에 관하여 결정하기 위해 다른 변형이 프로그램되고 활용될 수 있다.
일 실시예에서, 단일 처리 작업이 요구될 때 룩-업 테이블을 참조할 수 있다. 다른 실시예에서, 출력의 비교는 다중 처리 작업이 있을 때 어느 모드를 선택하는 데 사용되는 요인이 될 수 있다. 예를 들어, 사용자가 이메일을 작업하면서 동시에 음악을 들을 때, ASMP가 선택될 수 있다.
도 7에 도시된 바와 같은 하나의 특정한 실시예에서, 시스템은 처리 부하(들)를 취급하는 데 얼마나 많은 프로세서가 필요한지를 결정한다. 2개의 프로세서만이 필요한 것으로 결정되면, ASMP 모드가 선택되고 2개의 프로세서(B 및 A/C/D 중 하나)를 ASMP 모드에서 작동하도록 제어한다. 3, 4, 또는 그 이상의 프로세서가 필요한 것으로 결정되면, SMP 모드가 선택되고 3개의 프로세서(A, B 및 C) 또는 4개의 프로세서(A, B, C 및 D)가 SMP 모드에서 작동한다.
시스템(100)의 아키텍처는 코어마다 풀 SMP/ASMP 성능을 가지는 시스템에 비해 SMP/ASMP 동적 전환과 관련하여 비용과 하드웨어/소프트웨어 복잡도 양쪽을 현저하게 감소시킨다. 예를 들어, 4개의 프로세서/코어와 관련된 MP 시스템에서, 하나의 프로세서만이 동적으로 구성될 수 있는 시스템(100)에 따라 구성된 시스템에 추가된 비용은 4개의 프로세서 모두가 동적으로 SMP/ASMP 구성될 수 있는 시스템에 비해 그 추가된 비용의 3/1 정도이다.
검사 및 조사에 따르면, 대부분의 경우 처리 요건이 2개의 프로세서로 충족될 수 있고, 대부분의 경우 2개의 프로세서가 불균형 부하로 실행될 것으로 밝혀졌다. 따라서, 2개의 프로세서 코어 A 및 B로 작동하는 시스템(100)은 ASMP 모드를 사용해서만 작동되어 전력 효율을 최적화할 수 있다. 마찬가지로, 최대 성능을 위해, 4개의 프로세서 코어 A, B, C 및 D 모두가 최대 클록 주파수 및 공급 전압으로 SMP 모드에서 작동될 수 있으며, 그 결과 유연성과 전력이 감소하는 동시에, 필요할 때 동일한 하이 엔드 성능을 유지하는 시간이 단축된다. 또한, 2개 이상의 프로세서가 작동하고 있을 때, 이 2개 이상의 프로세서는 SMP 모드에서 작동될 수 있다. 시스템(100)은 안드로이드/iOS/윈도와 같은 모바일 하이레벨 운영체제(high level operating systems, HLOS)에 저비용, 저전력 및 고성능 간의 이로운 상호보완을 제공하며, 또한 저-중간층 시장에 적합하다.
도면에 도해되고 설명된 시스템(100)과 관련해서 하나의 작동 예 또는 방법에 대해 이하에 설명한다.
이러한 작동 방식에서, (1) 하나의 코어 또는 (2) 3개 이상 코어가 활성화되면, SMP 모드가 선택되고 모든 활성 프로세서는 동일한 클록 주파수 및 전압 공급에서 작동한다. 2개의 코어가 활성화되면, 활성 프로세서 중 하나는 코어 B이고 다른 활성 프로세서는 코어 A, 코어 C, 또는 코어 D 중 어느 하나이며, 2개의 활성 프로세서가 ASMP 모드에서 작동하도록 구성된다.
복수의 프로세서/코어 시스템에서, 모든 프로세서/코어가 항상 필요한 것은 아니다. 처리 요건이 낮으면 하나 또는 수 개의 프로세서만이 필요할 수 있고, 처리 요건이 높으면 더 많은 프로세서가 필요할 수 있다. 이 개념은 모드 선택 프로세스에 도입될 수도 있고 통합될 수 있으며, 모든 선택 프로세스는 컴퓨팅 요건을 취급하는 데 얼마나 많은 프로세서가 필요한지에 적어도 부분적으로 기초할 수도 있다.
본 명세서에 설명된 시스템에서, 각각의 코어가 클록-작동 불능 및/또는 전력-붕괴되어 프로세서/코어가 휴면 모드에 놓이거나 작동 불능 또는 셧다운되는 추가의 기능(구체적으로 도시되지 않음)이 제공될 수 있다. 이 결과 필요하지 않은 프로세서는 (더 적은 수의 프로세서로 처리 요건을 취급할 수 있을 때) 턴 오프되어 전력 소비가 감소하게 된다.
현재의 계산 요건을 충족하는 것에 얼마나 많은 프로세서가 필요한지를 결정하기 위해 다양한 프로세스 또는 방법이 실행될 수 있다. 일단 결정되면, 코어는 이하의 단락에서 설명되는 바와 같이, 임의의 적절한 시퀀스 및/또는 우선순위로 온/오프 전환된다.
도 8을 참조하면, SMP/ASMP 모드 선택(들) 프로세서(들)와 통합되는 프로세서를 추가/제거하기 위한 프로세스(900)의 일반적인 흐름도가 도시되어 있다. 사용된 특정한 아키텍처(예를 들어, 코어의 수) 및 원하는 기능 또는 애플리케이션에 따라, 도해된 프로세스에 대해 다양한 재배치 또는 수정이 이루어질 수 있다. 알 수 있는 바와 같이, 이러한 프로세스에서 사용될 수 있는 모든 단계 또는 요소가 도시되어 있는 것은 아니다.
프로세스(900)는 단일 프로세서가 작동하는 지점에 도시되어 있다. 단일 프로세서가 필요할 때, 시스템(100)은 단일의 고정된 CLK1/VDD1의 SMP 모드에서 작동한다(단계 910). 처리 작동 동안 어느 지점에서, 처리 요건의 증가를 취급하기 위해 (또는 어떤 다른 이유로 인해) 제1 프로세서가 필요한지가 판정된다(단계 915). 이 판정은 주기적으로 행해질 수도 있고 작동 정보에 응답해서 행해질 수도 있다.
다른 프로세서가 필요하다는 판정에 응답해서, 프로세서(900)는 제2 프로세서를 활성화하는 것으로 진행하고, 2개의 활성 프로세서는 적어도 프로세서(110b)를 포함할 것이다. 2개의 활성 프로세서는 ASMP 모드에서 동작하고(920) 이에 의해 제2 프로세서(110b)는 CLK1/VDD1과는 다른 CLK2/VDD2에 따라 수신 및 작동하도록 자동으로 구성된다(반면에서 제1 프로세서는 CLK1/VDD1로 작동한다).
일단 양자의 프로세서가 활성화되어 ASMP 모드에서 작동한다. 한편, 시스템은 다소의 컴퓨팅 처리 전력 등에 대한 필요성을 계속 평가하고, 처리 요건이 더 적은 또는 더 많은 프로세서가 필요한 수준에 있는지를 판정할 수 있다(단계 930a, 930b). 더 적은 프로세서가 필요하면, 프로세스는 (SMP 모드에서) 단일 프로세서의 사용으로 다시 진행한다(단계 910). 더 많은 프로세서가 필요하면, 프로세스는 진행하여 제3 프로세서를 활성화한다(단계 940). 2개의 프로세서가 현재 ASMP 모드에서 활성화되어 있으므로, 이 2개의 프로세서는 SMP 모드로 전환되고 모두 3개의 프로세서가 SMP 모드에서 작동한다.
알 수 있는 바와 같이, 일 실시예에서, 여기서 설명된 시스템, 프로세스, 방법 및 장치는 모바일 환경에서 사용될 수 있는데, 모바일 장치/소형 컴퓨팅 장치 또는 기지국 등에 통합되어 있는 환경에서 사용될 수 있다. 이러한 장치는 예를 들어 무선 신호를 송수신하도록 구성될 수 있다. 장치는 임의의 적절한 최종 사용자 장치일 수 있고 그러한 장치를 사용자 기기/장치(UE), 무선 송수신 유닛(WTRU), 이동국, 고정식 또는 이동식 가입자 유닛, 페이저, 셀룰러 전화기, 개인휴대단말(personal digital assistant, PDA), 스마트폰, 랩톱, 컴퓨터, 터치패드, 무선 센서, 웨어러블 전자장치 또는 소비자 전자 장치로 포함할 수 있다.
장치는 장치의 다양한 처리 작동을 실행하는 (여기서 설명된 바와 같은) 적어도 하나의 처리 시스템(100)을 포함한다. 이것은 예를 들어 신호 코딩, 데이터 처리, 비디오/오디오 처리, 전력 제어, 입출력 처리, 또는 장치를 위해 고려된 임의의 다른 기능을 포함할 수 있다.
처리 시스템(100)은 여기에 설명된 방법 및 교시를 지원하며, 추가의 구성요소 및 프로세서(예 : 마이크로컨트롤러, 디지털 신호 프로세서, 필드 프로그래머블 게이트 어레이 또는 주문형 집적 회로)를 포함할 수 있다.
처리 시스템(100)을 포함하는 장치는 또한 적어도 하나의 안테나에 의한 송신을 위해 데이터 또는 다른 콘텐츠를 변조하도록 구성된 적어도 하나의 송수신기를 포함할 수 있다. 송수신기는 또한 적어도 하나의 안테나에 의해 수신된 데이터 또는 다른 콘텐츠를 복조하도록 구성된다. 각각의 송수신기는 무선 송신을 위한 신호를 생성하고 및/또는 무선으로 수신된 신호를 처리하는 임의의 적절한 구조를 포함한다. 각각의 안테나는 무선 신호를 송신 및/또는 수신하기 위한 임의의 적절한 구조를 포함한다. 하나 또는 복수의 송수신기가 이 장치에 사용될 수 있으며, 하나 또는 복수의 안테나가 사용될 수 있다.
이들 장치는 또한 사용자와의 상호 작용을 용이하게 하기 위해 하나 이상의 입출력 장치를 포함할 수 있다. 각각의 입출력 장치는 스피커, 마이크로폰, 키패드, 키보드, 디스플레이 또는 터치 스크린과 같이, 정보를 사용자에게 제공하거나 사용자로부터 정보를 수신하기 위한 임의의 적절한 구조를 포함한다.
또한, 이들 장치는 장치에 의해 사용, 생성, 또는 수집된 명령 및 데이터를 저장하기 위해, 전술한 메모리를 이용할 수도 있고, 다른 메모리를 포함할 수도 있다. 예를 들어, 메모리는 처리 시스템(200)에 의해 실행되는 소프트웨어 또는 펌웨어 명령을 저장할 수 있다. 다른 메모리는 임의의 적합한 휘발성 및/또는 비휘발성 저장 및 검색 장치를 포함할 수 있다. 랜덤 액세스 메모리(RAM), 리드 온리 메모리(ROM), 하드디스크, 광디스크, 가입자 식별 모듈(SIM) 카드, 메모리 스틱, 보안 디지털(SD) 메모리 카드 등과 같은 임의의 적절한 유형의 메모리가 사용될 수 있다.
모바일/소형 컴퓨팅 장치에 관한 추가적인 세부 사항은 당업자에게 공지되어있다. 이와 같이, 이러한 세부 사항은 명확성을 위해 여기서 생략된다.
일부의 실시예에서, 하나 이상의 장치의 기능 또는 프로세스의 일부 또는 전부는 컴퓨터 판독 가능형 프로그램 코드로 형성되고 컴퓨터 판독 가능형 매체로 구현되는 컴퓨터 프로그램에 의해 구현되거나 지원된다. "컴퓨터 판독 가능형 프로그램 코드"라는 어구는 소스 코드, 목적 코드 및 실행 코드를 포함한, 모든 유형의 컴퓨터 코드를 포함한다. "컴퓨터 판독 가능 매체"라는 어구는 리드 온리 메모리(ROM), 랜덤 액세스 메모리(RAM), 하드디스크 드라이브, 콤팩트 디스크(compact disc, CD), 디지털 비디오 디스크(DVD) 또는 임의의 다른 유형의 메모리 등과 같이, 컴퓨터에 의해 액세스 될 수 있는 임의의 유형의 비휘발성 매체를 포함한다.
이 특허 문서 전체를 통해 사용된 특정 단어 및 어구의 정의를 설명하는 것이 이로울 수 있다. 용어 "구비하다" 및 "포함하다" 뿐만 아니라 그 파생어도 제한없이 포함을 의미한다. "또는"이라는 용어는 포괄적이며, 및/또는을 의미한다. "관련된(associated with)" 및 "그와 관련된"이라는 어구 및 그 파생어는 포함하거나, 그 안에 포함되거나, 상호접속하거나, 포함하거나, 포함되거나, 연결되거나, 결합되거나, 통신할 수 있거나, 협동하거나, 병행하거나, 병설하거나, 가까이하거나, 묶거나, 가지고 있거나, 소유하고 있거나 등을 의미한다. "제어기"라는 용어는 적어도 하나의 조작을 제어하는 임의의 장치, 시스템 또는 그 일부를 의미한다. 제어기는 하드웨어, 펌웨어, 소프트웨어, 또는 이들 중 적어도 2가지 조합으로 구현될 수 있다. 특정 제어기와 관련된 기능은 현지든 원격이든, 중앙 집중식 또는 분산형일 수 있다.
본 개시는 특정 실시예 및 일반적으로 연관된 방법을 기술하였지만, 이들 실시예 및 방법의 변경 및 치환은 당업자에게 명백할 것이다. 따라서, 예시적인 실시 예들의 이상의 설명은 본 개시를 한정하거나 제한하지 않는다. 다음의 특허청구범위에 의해 정의되는 바와 같이, 본 개시의 사상 및 범위를 벗어남이 없이 다른 변경, 대체 및 변경 역시 가능하다.

Claims (31)

  1. 다중 프로세서(multi-processor, MP) 처리 시스템으로서,
    제1 공급 전압을 수신하고 제2 공급 전압을 생성하도록 구성되어 있는 전압 조정기 회로 - 제2 공급 전압은 제1 공급 전압보다 낮은 전압값을 가짐 - ;
    제1 공급 전압 및 제1 미리 결정된 주파수를 가지는 제1 클록 신호를 수신하여 작동하도록 구성되어 있는 제1 프로세서;
    제1 미리 결정된 주파수와는 상이한 제2 미리 결정된 주파수를 가지는 제2 클록 신호 또는 제1 클록 신호 중 어느 하나를 수신하여 작동하고 제1 공급 전압 또는 제2 공급 전압을 수신하여 작동하도록 구성되어 있는 제2 프로세서; 및
    상기 전압 조정기 회로에 결합되어 있고 제1 공급 전압 또는 제2 공급 전압을 제2 프로세서에 선택적으로 입력하기 위한 바이패스 신호를 생성하도록 구성되어 있는 제어기
    를 포함하며,
    제1 프로세서는 또한, 제1 작동 모드 및 제2 작동 모드의 양 모드 동안 제1 클록 신호 및 제1 공급 전압을 수신하여 작동하도록만 구성되어 있는, 다중 프로세서 처리 시스템.
  2. 제1항에 있어서,
    제1 작동 모드 및 제2 작동 모드의 양 모드 동안 제1 클록 신호 및 제1 공급 전압을 수신하여 작동하도록만 구성되어 있는 제3 프로세서
    를 더 포함하는 다중 프로세서 처리 시스템.
  3. 제2항에 있어서,
    제1 작동 모드에 있을 때, 제1 프로세서 및 제3 프로세서는 제1 클록 신호 및 제1 공급 전압을 수신하여 작동하며,
    제2 작동 모드에 있을 때, 제2 프로세서는 제2 클록 신호 및 제2 공급 전압을 수신하여 작동하는, 다중 프로세서 처리 시스템.
  4. 제1항에 있어서,
    상기 제어기에 결합되어 있고 제1 클록 신호 및 제2 클록 신호를 생성하도록 구성되어 있는 클록 생성 회로 - 제1 클록 신호는 제1 프로세서에 입력됨 - ; 및
    상기 클록 생성 회로와 상기 제2 프로세서 사이에 배치되고 제1 클록 신호 및 제2 클록 신호를 수신하며 제1 클록 신호 또는 제2 클록 신호를 제2 프로세서에 출력하도록 구성되어 있는 전환 회로
    를 포함하며,
    제1 작동 모드 동안 제1 클록 신호가 제2 프로세서에 출력되고 제2 작동 모드 동안 제2 클록 신호가 제2 프로세서에 출력되며,
    제1 작동 모드 및 제2 작동 모드 동안 제1 클록 신호가 제1 프로세서에 출력되는, 다중 프로세서 처리 시스템.
  5. 제1항에 있어서,
    제1 프로세서 및 제2 프로세서에 결합되어 있는 캐시 메모리; 및
    상기 제어기에 응답하고 제2 프로세서 및 캐시 메모리에 결합되어 있으며, 제2 작동 모드 동안 제1 프로세서와 캐시 메모리 사이에 클록 도메인 교차 기능을 제공하고 제1 작동 모드 동안 바이패스 기능을 제공하도록 추가로 구성되어 있는 클록 도메인 교차(clock-domain crossing, CDC) 및 바이패스 회로
    를 더 포함하는 다중 프로세서 처리 시스템.
  6. 제1항에 있어서,
    상기 제어기는, 제2 프로세서의 작동을 모드 선택 신호에 응답해서 제1 작동 모드와 제2 작동 모드 사이에서 동적으로 전환하도록 추가로 구성되어 있는, 다중 프로세서 처리 시스템.
  7. 제6항에 있어서,
    상기 모드 선택 신호는 복수의 프로세서 중 하나의 프로세서의 활성 또는 비활성에 기초해서 적어도 일부가 생성되는, 다중 프로세서 처리 시스템.
  8. 제6항에 있어서,
    상기 모드 선택 신호는 부하 정보, 사용 정보, 캐시 실패율, 메모리 대역폭 정보 또는 전력 소비 정보 중 적어도 하나에 응답해서 생성되는, 다중 프로세서 처리 시스템.
  9. 제6항에 있어서,
    상기 제어기는 모드 선택 신호에 응답해서 상기 전압 조정기의 적어도 하나의 작동 특성을 미리 설정하도록 추가로 구성되어 있는, 다중 프로세서 처리 시스템.
  10. 제9항에 있어서,
    상기 적어도 하나의 작동 특성은 바이어스 전류를 포함하고,
    상기 전압 조정기는,
    상기 제어기에 결합되어 있고 상기 전압 조정기의 바이어스 전류를 생성 및 제어하도록 구성되어 있는 바이어스 전류 회로
    를 포함하는, 다중 프로세서 처리 시스템.
  11. 제6항에 있어서,
    상기 전압 조정기는,
    상기 전압 조정기의 출력에 결합되어 있고 상기 제어기에 입력하기 위한 전압의 출력 전류의 변화를 나타내는 전류 감지 피드백 신호를 생성하도록 구성되어 있는 전류 센서; 및
    상기 제어기에 결합되어 있고 상기 전류 감지 신호에 응답해서 상기 전압 조정기를 제어하도록 구성되어 있는 제어 회로
    를 포함하는, 다중 프로세서 처리 시스템.
  12. 제1항에 있어서,
    상기 제어기는 유한 상태 머신(FSM), 프로세서, 마이크로컨트롤러 또는 논리 회로 중 적어도 하나를 포함하는, 다중 프로세서 처리 시스템.
  13. 제1항에 있어서,
    상기 MP 처리 시스템은 단일 기판 상에 배치되는, 다중 프로세서 처리 시스템.
  14. 장치로서,
    다중 처리 기능을 수행하도록 구성되어 있는 복수의 프로세서 - 상기 복수의 프로세서는 제1 프로세서 및 제2 프로세서를 포함함 - ;
    제1 모드 및 제2 모드에서 제2 프로세서의 작동을 제어하도록 구성되어 있는 제어기;
    상기 제어기에 결합되어 있고 상기 제어기로부터의 하나 이상의 신호에 응답해서 제1 클록 신호 및 제2 클록 신호를 생성 및 출력하도록 구성되어 있는 클록 생성 회로;
    상기 클록 생성 회로와 상기 제2 프로세서 사이에 배치되고 제1 클록 신호 및 제2 클록 신호를 수신하며 제2 프로세서에 출력하기 위해 하나의 클록 신호를 선택하도록 구성되어 있는 전환 회로 - 제1 작동 모드 동안 제1 클록 신호가 제2 프로세서에 출력되고 제2 작동 모드 동안 제2 클록 신호가 제2 프로세서에 출력됨 - ;
    상기 제어기에 결합되어 있는 전압 조정기 및 바이패스 회로
    를 포함하며,
    상기 전압 조정기 및 바이패스 회로는,
    제1 작동 전압 신호를 수신하고,
    제1 작동 전압 신호로부터 제2 작동 전압 신호를 생성하고,
    제1 작동 모드 동안 제2 프로세서에 입력하기 위해 제1 작동 전압 신호를 출력하며, 그리고
    제2 작동 모드 동안 제2 프로세서에 입력하기 위해 제2 작동 전압 신호를 출력하도록 구성되어 있으며,
    제1 작동 모드 및 제2 작동 모드 동안 제1 클록 신호가 제1 프로세서에 출력되는, 장치.
  15. 제14항에 있어서,
    단일 기판 상에 배치되는 장치.
  16. 제14항에 있어서,
    상기 제1 프로세서, 상기 제2 프로세서, 및 상기 전압 조정기 및 바이패스 회로는 단일 반도체 기판 상에 배치되는, 장치.
  17. 제14항에 있어서,
    상기 제어기는 제2 프로세서의 작동을 모드 선택 신호에 응답해서 제1 작동 모드와 제2 작동 모드 사이에서 동적으로 전환하도록 추가로 구성되어 있는, 장치.
  18. 제17항에 있어서,
    상기 모드 선택 신호는 복수의 프로세서 중 하나의 프로세서의 활성 또는 비활성에 기초해서 적어도 일부가 생성되는, 장치.
  19. 제17항에 있어서,
    상기 제어기는 모드 선택 신호에 응답해서 상기 전압 조정기의 적어도 하나의 작동 특성을 미리 설정하도록 추가로 구성되어 있는, 장치.
  20. 제19항에 있어서,
    상기 적어도 하나의 작동 특성은 바이어스 전류를 포함하고,
    상기 전압 조정기는,
    상기 제어기에 결합되어 있고 상기 전압 조정기의 바이어스 전류를 생성 및 제어하도록 구성되어 있는 바이어스 전류 회로
    를 포함하는, 장치.
  21. 제17항에 있어서,
    상기 전압 조정기는,
    상기 전압 조정기의 출력에 결합되어 있고 상기 제어기에 입력하기 위한 전압의 출력 전류의 변화를 나타내는 전류 감지 피드백 신호를 생성하도록 구성되어 있는 전류 센서; 및
    상기 제어기에 결합되어 있고 상기 전류 감지 신호에 응답해서 상기 전압 조정기를 제어하도록 구성되어 있는 제어 회로
    를 포함하는, 장치.
  22. 제14항에 있어서,
    상기 제어기는 유한 상태 머신(FSM), 프로세서, 마이크로컨트롤러 또는 논리 회로 중 적어도 하나를 포함하는, 장치.
  23. 대칭 다중 처리(SMP) 모드와 비대칭 다중 처리(ASMP) 모드 사이에서 복수의 프로세서를 전환하는 방법으로서,
    제1 프로세서가 작동하는 동안 제1 미리 결정된 주파수를 가지는 제1 클록 신호 및 제1 미리 결정된 작동 전압을 가지는 제1 공급 전압에 따라 제1 프로세서를 작동시키는 단계;
    상기 제1 공급 전압으로부터 제2 공급 전압을 생성하는 단계;
    모드 선택 신호를 수신하는 단계; 및
    상기 모드 선택 신호에 응답해서 제1 작동 모드 또는 제2 작동 모드에서 제2 프로세서를 작동시키는 단계
    를 포함하며,
    상기 모드 선택 신호에 응답해서 제1 작동 모드 또는 제2 작동 모드에서 제2 프로세서를 작동시키는 단계는,
    제1 작동 모드에서, 제1 클록 신호 및 제1 공급 전압에 따라 제2 프로세서를 작동시키는 단계, 및
    제2 작동 모드에서, 제1 미리 결정된 주파수와는 상이한 제2 미리 결정된 주파수를 가지는 제1 클록 신호에 따라 그리고 제2 공급 전압에 따라 제2 프로세서를 작동시키는 단계
    를 포함하는, 방법.
  24. 제23항에 있어서,
    제1 클록 신호 및 제1 공급 전압을 제1 프로세서에 입력하는 단계;
    제1 클록 신호 및 제2 클록 신호를 전환 회로에 입력하고 제1 작동 모드 동안 제2 프로세서에 제1 클록 신호를 출력하고 제2 작동 모드 동안 제2 프로세서에 제2 클록 신호를 출력하는 단계; 및
    제1 작동 모드 동안 제2 프로세서에 제1 공급 전압을 입력하고 제2 작동 모드 동안 제2 프로세서에 제2 공급 전압을 입력하는 단계
    를 더 포함하는 방법.
  25. 제23항에 있어서,
    부하 정보, 사용 정보, 캐시 실패율, 메모리 대역폭 정보 또는 전력 소비 정보 중 적어도 하나에 응답해서 모드 선택 신호를 생성하는 단계
    를 더 포함하는 방법.
  26. 제23항에 있어서,
    상기 제2 공급 전압을 생성하고, 제1 프로세서를 작동시키며 제2 프로세서를 작동시키는 단계는 단일 반도체 기판 상의 회로에 의해 수행되는, 방법.
  27. 제23항에 있어서,
    제1 공급 전압 또는 제2 공급 전압 중 어느 하나를 출력하도록 구성되어 있는 전압 조정기 회로의 적어도 하나의 작동 특성을 미리 설정하는 단계
    를 더 포함하는 방법.
  28. 제27항에 있어서,
    상기 적어도 하나의 작동 특성은 바이어스 전류를 포함하고,
    상기 전압 조정기는,
    제어기에 결합되어 있고 상기 전압 조정기의 바이어스 전류를 생성 및 제어하도록 구성되어 있는 바이어스 전류 회로
    를 포함하는, 방법.
  29. 제23항에 있어서,
    제1 공급 전압 또는 제2 공급 전압 중 어느 하나를 출력하도록 구성되어 있는 전압 조정기 회로에 의해 출력된 전류를 감지하는 단계; 및
    상기 감지된 전류에 응답해서 상기 전압 조정기를 제어하는 단계
    를 더 포함하는 방법.
  30. 복수의 프로세서를 가지는 멀티프로세서 시스템에서의 처리 방법으로서,
    상기 복수의 프로세서 중 제1 활성 프로세서만을 사용해서 상기 멀티프로세서 시스템 내에서 처리하는 단계;
    상기 멀티프로세서 시스템 내에서 처리하기 위해 제2 프로세서가 활성화되어야 하는 것으로 결정하는 단계;
    상기 결정에 응답해서 제2 프로세서를 활성화하는 단계;
    대칭 다중 처리(SMP) 모드 또는 비대칭 다중 처리(ASMP) 모드 중 어느 하나에 따라 제1 활성 프로세서 및 제2 활성 프로세서를 사용해서 상기 멀티프로세서 시스템 내에서 처리하는 단계 - SMP 모드일 때, 제1 활성 프로세서 및 제2 활성 프로세서 각각은 제1 미리 결정된 주파수를 가지는 제1 클록 신호 및 제1 미리 결정된 전압을 가지는 제1 공급 전압에 따라 작동하고, ASMP 모드일 때, 제1 활성 프로세서는 제1 클록 신호에 따라 작동하고 제2 활성 프로세서는 제1 미리 결정된 주파수와는 상이한 제2 미리 결정된 주파수를 가지는 제2 클록 신호에 따라 그리고 제1 미리 결정된 작동 전압과는 상이한 제2 미리 결정된 작동 전압을 가지는 제2 공급 전압에 따라 작동함 - ;
    모드 선택 신호를 수신하는 단계; 및
    제1 활성 프로세서 및 제2 활성 프로세서의 작동을 SMP 모드에서 ASMP 모드로 또는 ASMP 모드에서 SMP 모드로 전환하는 단계
    를 포함하는 방법.
  31. 멀티프로세서 처리 시스템으로서,
    제1 프로세서 및 제2 프로세서를 포함하는 복수의 프로세서; 및
    적어도 제2 프로세서에 결합되어 있는 제어기
    를 포함하며,
    상기 제어기는,
    활성화/비활성화 신호에 응답해서 제2 프로세서를 활성화 또는 비활성화시키고;
    상기 제2 프로세서가 활성화되면, 대칭 다중 처리(SMP) 모드 또는 비대칭 다중 처리(ASMP) 모드 중 어느 하나에 따라 제1 활성 프로세서 및 제2 활성 프로세서를 사용해서 상기 멀티프로세서 시스템 내에서의 처리를 제어하고 - SMP 모드는, 제1 활성 프로세서 및 제2 활성 프로세서 각각이 제1 미리 결정된 주파수를 가지는 제1 클록 신호 및 제1 미리 결정된 전압을 가지는 제1 공급 전압에 따라 작동하는 경우에 정의되고, ASMP 모드는, 제1 활성 프로세서가 제1 클록 신호에 따라 작동하고 제2 활성 프로세서가 제1 미리 결정된 주파수와는 상이한 제2 미리 결정된 주파수를 가지는 제2 클록 신호에 따라 그리고 제1 미리 결정된 작동 전압과는 상이한 제2 미리 결정된 작동 전압을 가지는 제2 공급 전압에 따라 작동하는 경우에 정의됨 - ;
    모드 선택 신호를 수신하며; 그리고
    제1 활성 프로세서 및 제2 활성 프로세서의 작동을 SMP 모드에서 ASMP 모드로 또는 ASMP 모드에서 SMP 모드로 전환하도록 구성되어 있는, 멀티프로세서 처리 시스템.
KR1020177012968A 2014-10-16 2015-10-10 저비용 고출력 고성능의 다중 프로세서 시스템을 위한 고속 smp/asmp 모드 전환 하드웨어 장치 KR101942883B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US14/516,314 US9952650B2 (en) 2014-10-16 2014-10-16 Hardware apparatus and method for multiple processors dynamic asymmetric and symmetric mode switching
US14/516,314 2014-10-16
US14/580,044 2014-12-22
US14/580,044 US10928882B2 (en) 2014-10-16 2014-12-22 Low cost, low power high performance SMP/ASMP multiple-processor system
US14/704,240 2015-05-05
US14/704,240 US10248180B2 (en) 2014-10-16 2015-05-05 Fast SMP/ASMP mode-switching hardware apparatus for a low-cost low-power high performance multiple processor system
PCT/CN2015/091664 WO2016058500A1 (en) 2014-10-16 2015-10-10 Fast smp/asmp mode-switching hardware apparatus for low-cost low-power high performance multiple processor system

Publications (2)

Publication Number Publication Date
KR20170070160A true KR20170070160A (ko) 2017-06-21
KR101942883B1 KR101942883B1 (ko) 2019-01-28

Family

ID=55746129

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177012968A KR101942883B1 (ko) 2014-10-16 2015-10-10 저비용 고출력 고성능의 다중 프로세서 시스템을 위한 고속 smp/asmp 모드 전환 하드웨어 장치

Country Status (8)

Country Link
US (2) US10248180B2 (ko)
EP (1) EP3198465B1 (ko)
JP (1) JP6423090B2 (ko)
KR (1) KR101942883B1 (ko)
CN (1) CN106415521B (ko)
BR (1) BR112017007876B1 (ko)
ES (1) ES2799502T3 (ko)
WO (1) WO2016058500A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10248180B2 (en) 2014-10-16 2019-04-02 Futurewei Technologies, Inc. Fast SMP/ASMP mode-switching hardware apparatus for a low-cost low-power high performance multiple processor system
US9952650B2 (en) 2014-10-16 2018-04-24 Futurewei Technologies, Inc. Hardware apparatus and method for multiple processors dynamic asymmetric and symmetric mode switching
US10928882B2 (en) 2014-10-16 2021-02-23 Futurewei Technologies, Inc. Low cost, low power high performance SMP/ASMP multiple-processor system
MY170745A (en) * 2014-12-15 2019-08-27 Intel Corp Universal scalable system: on-the-fly system performance conversion via pc-on-a-card and usb for smart devices and iot enabling
US9898020B2 (en) * 2016-03-02 2018-02-20 Qualcomm Incorporated Power supply voltage priority based auto de-rating for power concurrency management
KR102457179B1 (ko) * 2016-03-02 2022-10-21 한국전자통신연구원 캐시 메모리 및 그것의 동작 방법
CN110300943B (zh) * 2017-02-16 2023-04-25 雷蛇(亚太)私人有限公司 电源供应电路、穿戴式装置及提供电源供应给穿戴式装置的方法
US10579087B2 (en) * 2018-05-02 2020-03-03 Silicon Laboratories Inc. System, apparatus and method for flexible control of a voltage regulator of an integrated circuit
US10560105B1 (en) * 2018-10-30 2020-02-11 Qualcomm Incorporated Delay-locked loop with large tuning range
CN111859843B (zh) * 2019-04-15 2024-02-06 瑞昱半导体股份有限公司 检测电路故障的方法及其装置
US11231941B2 (en) * 2019-06-04 2022-01-25 Microsoft Technology Licensing, Llc Systems and methods for hardware initialization
JP2021149659A (ja) * 2020-03-19 2021-09-27 キオクシア株式会社 半導体集積回路、メモリコントローラ、およびメモリシステム
US11585844B1 (en) * 2021-09-09 2023-02-21 Board Of Regents, The University Of Texas System Systems, circuits, and methods to detect gate-open failures in MOS based insulated gate transistors

Family Cites Families (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05259848A (ja) 1992-03-11 1993-10-08 Nec Corp クロック発生装置
US5774704A (en) 1996-07-29 1998-06-30 Silicon Graphics, Inc. Apparatus and method for dynamic central processing unit clock adjustment
JPH10133766A (ja) 1996-10-11 1998-05-22 Lucent Technol Inc 適応型パワーダウン・クロック制御
US5964881A (en) 1997-11-11 1999-10-12 Advanced Micro Devices System and method to control microprocessor startup to reduce power supply bulk capacitance needs
JP2002099432A (ja) 2000-09-22 2002-04-05 Sony Corp 演算処理システム及び演算処理制御方法、タスク管理システム及びタスク管理方法、並びに記憶媒体
US7100056B2 (en) 2002-08-12 2006-08-29 Hewlett-Packard Development Company, L.P. System and method for managing processor voltage in a multi-processor computer system for optimized performance
JP2004078642A (ja) 2002-08-20 2004-03-11 Nec Engineering Ltd 割込み制御回路
US7290156B2 (en) * 2003-12-17 2007-10-30 Via Technologies, Inc. Frequency-voltage mechanism for microprocessor power management
GB0315504D0 (en) 2003-07-02 2003-08-06 Advanced Risc Mach Ltd Coherent multi-processing system
JP2005196430A (ja) 2004-01-07 2005-07-21 Hiroshi Nakamura 半導体装置および半導体装置の電源電圧/クロック周波数制御方法
JP2006050888A (ja) * 2004-07-02 2006-02-16 Rohm Co Ltd 電源装置、それを用いた電力増幅装置、携帯電話端末
US7434073B2 (en) 2004-11-29 2008-10-07 Intel Corporation Frequency and voltage scaling architecture
JP4484757B2 (ja) 2004-12-09 2010-06-16 株式会社日立製作所 情報処理装置
US7502948B2 (en) 2004-12-30 2009-03-10 Intel Corporation Method, system, and apparatus for selecting a maximum operation point based on number of active cores and performance level of each of the active cores
KR101108397B1 (ko) 2005-06-10 2012-01-30 엘지전자 주식회사 멀티-코어 프로세서의 전원 제어 장치 및 방법
JP2007047966A (ja) 2005-08-09 2007-02-22 Canon Inc 省電力制御システム
US7562234B2 (en) 2005-08-25 2009-07-14 Apple Inc. Methods and apparatuses for dynamic power control
EP1772795A1 (en) 2005-10-10 2007-04-11 STMicroelectronics (Research & Development) Limited Fast buffer pointer across clock
JP2007148952A (ja) * 2005-11-30 2007-06-14 Renesas Technology Corp 半導体集積回路
US7263457B2 (en) 2006-01-03 2007-08-28 Advanced Micro Devices, Inc. System and method for operating components of an integrated circuit at independent frequencies and/or voltages
JP2007328461A (ja) 2006-06-06 2007-12-20 Matsushita Electric Ind Co Ltd 非対称マルチプロセッサ
EP2031510A4 (en) 2006-06-07 2011-07-06 Hitachi Ltd INTEGRATED SEMICONDUCTOR SWITCHING
JP4837456B2 (ja) 2006-06-28 2011-12-14 パナソニック株式会社 情報処理装置
JP4231516B2 (ja) 2006-08-04 2009-03-04 株式会社日立製作所 実行コードの生成方法及びプログラム
US7870413B2 (en) 2006-08-15 2011-01-11 Mitac International Corp. Synchronization clocking scheme for small scalable multi-processor system
US7949887B2 (en) 2006-11-01 2011-05-24 Intel Corporation Independent power control of processing cores
JP2008299731A (ja) 2007-06-01 2008-12-11 Panasonic Corp 半導体集積回路、情報処理システム
US7913103B2 (en) 2007-08-31 2011-03-22 Globalfoundries Inc. Method and apparatus for clock cycle stealing
WO2009110290A1 (ja) 2008-03-04 2009-09-11 日本電気株式会社 半導体デバイス
US20090235108A1 (en) 2008-03-11 2009-09-17 Gold Spencer M Automatic processor overclocking
US8120342B1 (en) * 2008-05-06 2012-02-21 Volterra Semiconductor Corporation Current report in current mode switching regulation
US20100073068A1 (en) 2008-09-22 2010-03-25 Hanwoo Cho Functional block level thermal control
WO2010035315A1 (ja) 2008-09-24 2010-04-01 富士通株式会社 マルチコアcpuにおける消費電力制御方法,消費電力制御プログラム及び情報処理システム
JP5293289B2 (ja) 2009-03-11 2013-09-18 富士通株式会社 マルチコアプロセッサ及びその制御方法
JP5316128B2 (ja) 2009-03-17 2013-10-16 トヨタ自動車株式会社 故障診断システム、電子制御ユニット、故障診断方法
US8190930B2 (en) 2009-03-30 2012-05-29 Intel Corporation Methods and apparatuses for controlling thread contention
JP2010271765A (ja) 2009-05-19 2010-12-02 Renesas Electronics Corp 電源電圧制御回路
US8984523B2 (en) * 2009-05-26 2015-03-17 Telefonaktiebolaget L M Ericsson (Publ) Method for executing sequential code on the scalable processor at increased frequency while switching off the non-scalable processor core of a multicore chip
US8412971B2 (en) 2010-05-11 2013-04-02 Advanced Micro Devices, Inc. Method and apparatus for cache control
US9842591B2 (en) 2010-05-19 2017-12-12 Sanofi-Aventis Deutschland Gmbh Methods and systems for modifying operational data of an interaction process or of a process for determining an instruction
WO2011161782A1 (ja) 2010-06-23 2011-12-29 富士通株式会社 マルチコアシステムおよび外部入出力バス制御方法
US8943334B2 (en) * 2010-09-23 2015-01-27 Intel Corporation Providing per core voltage and frequency control
KR101661111B1 (ko) 2010-11-23 2016-09-30 한국전자통신연구원 멀티 코어 프로세서의 전력 제어 장치 및 방법
US20130060555A1 (en) 2011-06-10 2013-03-07 Qualcomm Incorporated System and Apparatus Modeling Processor Workloads Using Virtual Pulse Chains
US8862926B2 (en) 2011-08-16 2014-10-14 Apple Inc. Hardware controlled PLL switching
US8671293B2 (en) 2011-09-21 2014-03-11 Empire Technology Development Llc Multi-core system energy consumption optimization
CN102404211A (zh) 2011-11-15 2012-04-04 北京天融信科技有限公司 一种amp架构下处理器负载均衡的实现方法及装置
US9122286B2 (en) 2011-12-01 2015-09-01 Panasonic Intellectual Property Management Co., Ltd. Integrated circuit apparatus, three-dimensional integrated circuit, three-dimensional processor device, and process scheduler, with configuration taking account of heat
US9569278B2 (en) * 2011-12-22 2017-02-14 Intel Corporation Asymmetric performance multicore architecture with same instruction set architecture
CN102609075A (zh) 2012-02-21 2012-07-25 李�一 多核处理器电源管理电路
CN102637134B (zh) 2012-04-26 2015-01-21 网经科技(苏州)有限公司 嵌入式非对称多处理架构下的软件加载与存储的方法
US8981745B2 (en) 2012-11-18 2015-03-17 Qualcomm Incorporated Method and apparatus for bypass mode low dropout (LDO) regulator
US9262177B2 (en) 2012-12-19 2016-02-16 International Business Machines Corporation Selection of a primary microprocessor for initialization of a multiprocessor system
US9110671B2 (en) 2012-12-21 2015-08-18 Advanced Micro Devices, Inc. Idle phase exit prediction
US9367114B2 (en) 2013-03-11 2016-06-14 Intel Corporation Controlling operating voltage of a processor
US9823719B2 (en) * 2013-05-31 2017-11-21 Intel Corporation Controlling power delivery to a processor via a bypass
KR20150050880A (ko) * 2013-11-01 2015-05-11 에스케이하이닉스 주식회사 전압 레귤레이터 및 바이어스 전류 조절 장치
US20150355700A1 (en) 2014-06-10 2015-12-10 Qualcomm Incorporated Systems and methods of managing processor device power consumption
US9395797B2 (en) * 2014-07-02 2016-07-19 Freescale Semiconductor, Inc. Microcontroller with multiple power modes
US9952650B2 (en) 2014-10-16 2018-04-24 Futurewei Technologies, Inc. Hardware apparatus and method for multiple processors dynamic asymmetric and symmetric mode switching
US10248180B2 (en) 2014-10-16 2019-04-02 Futurewei Technologies, Inc. Fast SMP/ASMP mode-switching hardware apparatus for a low-cost low-power high performance multiple processor system
US10928882B2 (en) 2014-10-16 2021-02-23 Futurewei Technologies, Inc. Low cost, low power high performance SMP/ASMP multiple-processor system

Also Published As

Publication number Publication date
US10248180B2 (en) 2019-04-02
BR112017007876A2 (pt) 2018-01-23
US10948969B2 (en) 2021-03-16
BR112017007876B1 (pt) 2023-01-10
JP2017537378A (ja) 2017-12-14
CN106415521B (zh) 2020-04-14
JP6423090B2 (ja) 2018-11-14
ES2799502T3 (es) 2020-12-18
EP3198465A4 (en) 2017-09-13
WO2016058500A1 (en) 2016-04-21
CN106415521A (zh) 2017-02-15
EP3198465A1 (en) 2017-08-02
KR101942883B1 (ko) 2019-01-28
US20160109923A1 (en) 2016-04-21
US20190227613A1 (en) 2019-07-25
EP3198465B1 (en) 2020-04-29

Similar Documents

Publication Publication Date Title
KR101942883B1 (ko) 저비용 고출력 고성능의 다중 프로세서 시스템을 위한 고속 smp/asmp 모드 전환 하드웨어 장치
US9952650B2 (en) Hardware apparatus and method for multiple processors dynamic asymmetric and symmetric mode switching
US10928882B2 (en) Low cost, low power high performance SMP/ASMP multiple-processor system
KR101861943B1 (ko) 동적 전압 마진 복구
US8806245B2 (en) Memory read timing margin adjustment for a plurality of memory arrays according to predefined delay tables
US10234932B2 (en) Method and apparatus for a multiple-processor system
US10147464B1 (en) Managing power state in one power domain based on power states in another power domain
US10416692B2 (en) Method and apparatus for reducing capacitor-induced noise
US10908663B2 (en) Power switch multiplexer with configurable overlap
KR20240034854A (ko) 페이즈들의 수가 감소된 전력 공급 모드를 갖는 시스템-온-칩

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant