KR20080097419A - 독립 주파수 및/또는 전압에서 집적 회로의 컴포넌트를동작시키는 시스템 및 방법 - Google Patents

독립 주파수 및/또는 전압에서 집적 회로의 컴포넌트를동작시키는 시스템 및 방법 Download PDF

Info

Publication number
KR20080097419A
KR20080097419A KR1020087019152A KR20087019152A KR20080097419A KR 20080097419 A KR20080097419 A KR 20080097419A KR 1020087019152 A KR1020087019152 A KR 1020087019152A KR 20087019152 A KR20087019152 A KR 20087019152A KR 20080097419 A KR20080097419 A KR 20080097419A
Authority
KR
South Korea
Prior art keywords
logic
operating
frequency
voltage
cores
Prior art date
Application number
KR1020087019152A
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 KR20080097419A publication Critical patent/KR20080097419A/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/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/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/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Power Sources (AREA)
  • Microcomputers (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

집적 회로들 및 프로세서들의 복수의 로직 코어들(120)이 서로에 대해 독립적인 주파수와 전압에서 동작하도록 구성될 수 있다. 추가적으로, 로직 코어들과 인터페이스하도록 구성된 공통 브리지(110)와 같은 다른 컴포넌트들이 로직 코어들이 동작하는 전압 및 주파수에 독립적인 전압 및 주파수에서 동작할 수 있다. 로직 코어의 동작 주파수 및/또는 동작 전압은 다양한 조건에 대해 독립적으로 조정될 수 있으며, 여기에는 파워 관리 및 온도 제어가 포함된다. 제어기들과 로직 코어들 간의 인터페이스에서의 로직 회로는 로직 신호를 하나의 전압 및/또는 주파수에서 또 다른 전압 및/또는 주파수로 변환할 수 있어, 브리지와 로직 코어가 서로 다른 전압 및 주파수에서 동작하는 경우에도 이들 둘 간의 통신이 가능하도록 한다.

Description

독립 주파수 및/또는 전압에서 집적 회로의 컴포넌트를 동작시키는 시스템 및 방법{SYSTEM AND METHOD FOR OPERATING COMPONENTS OF AN INTEGRATED CIRCUIT AT INDEPENDENT FREQUENCIES AND/OR VOLTAGES}
본 발명은 집적 회로 분야에 관한 것으로, 특히 독립 주파수 및/또는 전압에서 집적 회로의 소자들의 동작 및 상기 소자들 간의 통신에 관한 것이다.
전형적으로, 마이크로프로세서와 같은 집적 회로에 대한 동작 전압의 조절은, 부분적으로 IC 다이 상의 과도한 양의 실 면적을 차지할 수 있는 큰 커패시턴스 값에 대한 요건 때문에, 마더 보드 상에 그리고 IC 외부에 위치하는 회로에 의해 수행될 수 있다. 전압 조절기의 출력의 전압 레벨에서의 파워는 몇 개의 패키지 핀들을 통해 IC의 프로세서 코어들을 포함하는 내부 회로에 공급될 수 있다. 이것은 부분적으로 임의의 주어진 핀(pin) 및/또는 여기에 이르는 트레이스들에 대한 현재의 핸들링 요건을 감소시키기 위해 행해질 수 있다. 일반적으로, 코어들 및 다른 소자들이 공통 전압 레벨에서 동작하도록 공급 라인들이 내부적으로 연결될 수 있다.
전형적으로, 복합 로직 코어 설계는 IC 내의 일정 지점에서 큰 열량을 생성하는데, 특히 이것은 높은 클럭 주파수에서 일어난다. 디바이스 및 시스템 냉각 매 커니즘과 함께 IC를 패키징하면 열 발생이 가장 뚜렷한 지점에서의 특정 최대 동작 온도를 넘지 않으면서 IC가 동작할 수 있는 최대 주파수가 결정될 수 있다. IC 제조자는 올바르고 신뢰성 있게 그 기능을 계속 수행할 수 있게 하는 특정 디바이스에 대한 최대 패키지 온도를 정할 수 있다.
마이크로프로세서와 같은 복합 IC들의 가격이 비싸기 때문에, 전형적으로 이들을 과열로 인한 손상으로부터 보호하는 것이 바람직하다. 온도 센서들은 종종 복합 IC들을 포함하는 시스템들 내의 여러 장소에 위치되어 그 위치에서의 주변 온도를 측정한다. 복합 IC들을 시스템에 통합하기 위해 사용되는 일반적인 방법, 예를 들어 마더 보드로의 납땜 혹은 마더보드로의 소켓팅(socketing) 및 칩들에 대한 열 싱크 및/또는 다른 냉각 장치의 직접 부착으로 인해, 온도 센서들은 일반적으로 IC 자체와는 다른 위치에서 발견된다. 따라서, IC 패키지의 온도는 일반적으로 IC의 표면으로부터 떨어진 어떤 지점에서의 실제 온도 측정으로부터 추정되어야만 한다. 최종 온도 추정치는 만약 보존적 알고리즘(conservative algorithms)이 이러한 추정을 수행하기 위해 사용되는 경우 IC의 실제 온도보다 훨씬 더 클 수 있다.
전형적인 시스템은 전체 시스템에 대한 혹은 적어도 IC에 대한 파워를 제어하기 위해 IC의 추정 패키지 온도를 사용할 수 있다. 예를 들어, 온도 센서의 출력은 "트립 포인트(trip point)" 값과 비교될 수 있고, 그리고 이러한 값에 도달한 경우, 시스템 파워 공급이 셧다운되도록 하는 신호가 발생될 수 있다. 이러한 시스템은 IC를 보호할 수 있지만, 셧다운 발생에 대한 사전 통지를 빈번하게 받지 못하는 사용자에게는 불편을 줄 수 있고 아울러 상당한 양의 데이터를 입력하고 그것을 저장하지 않은 사용자에게는 불편을 줄 수 있다. 또한, 앞서 언급한 바와 같이, 이러한 모든 셧다운이 반드시 필요한 것은 아닌데, 왜냐하면 이 매커니즘은 칩의 실제 온도의 보전적 추정치에 근거하여 활성화될 수 있기 때문이다.
사용자 데이터 소실 가능성을 줄이기 위해, 시스템은 셧다운 온도보다 약간 낮은 온도에서 트리거(trigger)하도록 구성된 제 2 트립 포인트 회로를 사용할 수 있다. 이러한 시스템에서, 사용자에게 시스템 셧다운이 임박했음을 알리고 아울러 임의의 보호되지 않은 데이터를 안전하게 할 적절한 행동을 취하도록 알리는 동작을 개시시키기 위해, 낮은 온도 회로가 사용될 수 있다. 이 방식은 사용자 데이터를 보호하는데 도움을 줄 수 있지만, 만약 온도가 셧다운 포인트에 실제로 도달함이 없이 트립 포인트들 사이의 범위에서 움직이는 경우 상당한 번거로움 일으킬 수도 있다. 일단 셧다운 리미트에 도달한 경우에, 사용자는 시스템이 충분히 냉각되어 재가동될 수 있을 때까지 시스템을 사용할 수 없다.
프로세서 또는 다른 집적 회로는 복수의 로직 코어(logic core)들을 포함할 수 있고, 그 각각은 본 발명의 일 실시예에 따라 다른 로직 코어들에 독립적인 주파수 및 전압에서 동작하도록 구성될 수 있다. 달리 말하면, 프로세서의 각각의 로직 코어는 프로세서에서의 다른 로직 코어들이 동일한 전압 및/또는 주파수에서 동작하고 있는지 여부에 상관없이 특정 전압 및 주파수에서 동작하도록 구성될 수 있다. 이러한 복수 코어 집적 회로에서의 로직 코어들의 동작 전압 및 주파수는 다양한 조건에 대해 조정될 수 있으며, 여기에는 파워 관리 및 온도 관리가 포함된다. 예를 들어, 프로세서의 코어들 중 하나 또는 그 이상은 어떤 상황에서 파워를 절약하기 위해 낮은 주파수 및/또는 전압에서 동작하도록 조정될 수 있다. 또한, (종래 기술에서 일반적으로 행해지는 것과 같이) 너무 따뜻하게 동작하는 프로세서를 단순히 셧다운시키기보다는 오히려, 프로세서에서의 로직 코어들 중 하나 또는 그 이상이 낮은 주파수 및/또는 전압에서 동작하도록 조정되어 프로세서가 더 적은 열을 생성하고 그 결과 수용가능한 동작 온도로 냉각될 수 있도록 할 수 있다. 예를 들어, 프로세서 혹은 다른 집적 회로는 미리 결정된 최대 동작 온도를 가질 수 있고, 이 온도보다 큰 경우 프로세서의 성능은 정상적이지 않을 수 있으며 혹은 프로세서에 손상이 잠재적으로 발생할 수 있다. 만약 프로세서에 대한 현재의 온도가 이러한 최대 동작 온도에 있거나 혹은 이러한 최대 동작 온도보다 크거나 또는 이러한 최대 동작 온도 가까이에 있다고 결정된다면, 프로세서의 하나 또는 그 이상의 로직 코어들 혹은 다른 집적 회로는, 프로세서의 동작 온도를 낮추기 위해 낮은 주파수 및/또는 전압에서 동작하도록 조정될 수 있다.
추가적으로, 프로세서 혹은 다른 집적 회로는 또한 프로세서의 로직 코어들과 통신 혹은 인터페이스할 수 있는 브리징, 라우팅 혹은 다른 공통 로직 회로를 포함할 수 있다. 예를 들어, 북측브리지(Northbridge)는 많은 프로세서들의 공통 컴포넌트이고, 그리고 집적 회로의 복수의 로직 코어들에서 다른 서브 시스템, 컴포넌트들 혹은 집적 회로 외부에 있는 주변 기기로의 통신을 라우팅하고 아울러 이들과 통신하기 위한 개별 인터페이스들을 포함할 수 있다. 단일 프로세서의 복수 코어들이 독립적인 주파수와 전압에서 동작하도록 구성되는 경우, 이러한 공통 브리지 로직은 서로 다른 전압 레벨 및/또는 클럭 주파수를 사용하여 각각의 로직 코어와 통신하도록 구성될 수 있다. 따라서, 공통 브리지 로직에 의해 사용되는 전압 및 주파수를 조정하는 것은 복수 코어 집적 회로에서의 로직 코어의 동작 특성(즉, 전압 및 주파수)을 변경하는 것의 일부로서 포함될 수 있다. 추가로, 공통 브리지 로직은 로직 코어들의 현재의 동작 전압 및 주파수에 독립적인 전압 및 주파수에서 동작하도록 구성될 수 있다. 달리 말하면, 공통 브리지 로직은 개개의 로직 코어들이 현재 동작할 수 있는 임의의 특정 전압 혹은 주파수와는 다른 주파수 및 전압에서 동작하도록 구성될 수 있다.
일부 실시예들에서, 마이크로 프로세서와 같은 집적 회로는 프로세서에 대한 현재 동작 온도를 결정 및/또는 보고하도록 구성되는 온도 센서들을 포함할 수 있다. 일부 실시예들에서, 집적 회로는 프로세서의 다양한 영역에 대해 개개의 혹은 국부화된 동작 온도를 제공하기 위해 복수의 온도 센서들(예를 들어, 로직 코어들 각각에 대해 하나의 센서)을 포함할 수 있다. 예를 들어, 일 실시예에서, 프로세서의 각각의 개별 로직 코어에 대한 온도 요건과 같은 다양한 영역에 대한 온도 요건에 근거하여, 프로세서 상의 결정된 "핫 스팟(hot spot)"의 온도를 낮추키 위해, 복수의 로직 코어들 중 특정 하나의 동작 전압 및/또는 주파수를 감소시킬 수 있다. 그러나, 다른 실시예에서, 단지 단일의 동작 온도만이 전체적으로 집적 회로에 대해 측정될 수 있거나, 혹은 대안적으로 프로세서의 서로 다른 영역에 대한 개개의 온도 측정들이 평균화되거나 또는 모아져서 프로세서에 대한 단일의 전체 동작 온도가 결정될 수 있다.
일부 실시예들에서, 프로세서의 로직 코어들 모두의 동작 전압 및/또는 주파수는, 예를 들어, 프로세서의 동작 온도를 낮추기 위해 또는 프로세서의 전체 전력 소모를 감소시키기 위해, 함께 감소될 수 있다. 다른 실시예들에서, 개개의 로직 코어에 대한 동작 전압 및/또는 주파수가 감소될 수 있다. 예를 들어, 최적의 동작 온도보다 높은 온도가 프로세서에 대해 검출될 때, 프로세서의 전체 동작 온도를 감소시키기 위해, 복수의 로직 코어들 중 단지 하나만이 낮은 전압 및/또는 주파수에서 동작하도록 조정될 수 있다. 이러한 예에서, 만약 단일 로직 코어의 동작 전압 및/또는 주파수가 프로세서에 대한 전체 동작 온도를 충분히 낮추어 주지 못한다면, 추가적인 로직 코어들에 대한 동작 전압 및/또는 주파수는 프로세서에 대한 동작 온도를 훨씬 더 낮추기 위해 감소될 수 있다.
또 다른 실시예에서, 만약 집적 회로의 전력 소모가 바람직한 값보다 더 높다면, 프로세서에서의 로직 코어들 중 단 하나의 동작 전압 혹은 주파수만이 프로세서의 전체 전력 소모를 낮추기 위해 감소될 수 있다. 만약 필요하다면(또는 바람직하다면), 또한 다른 로직 코어들에 대한 동작 주파수 및/또는 전압이, 전체 전력 소모를 훨씬 더 낮추기 위해, 동시에 또는 후속적으로 감소될 있다. 일부 실시예들에서, 복수의 로직 코어들의 동작 전압 및/또는 주파수를 감소시키기 위해 어느 로직 코어가 조정되어야 할 지의 선택 및 그 순서는 램덤(random)하게 선택될 수 있다. 그러나, 다른 실시예들에서, 낮은 전압 및/또는 주파수에서 동작하도록 어느 로직 코어가 조정되어야 할 지의 선택은 다른 인자, 예를 들어 로직 코어의 의도된 목적 또는 프로세서 내의 로직 코어의 위치, 등과 같은 인자에 그 근거를 둘 수 있다.
로직 코어의 동작 주파수는 그 로직 코어의 동작 전압과 관련되어 있기 때문에, 예를 들어 동작 온도를 낮추기 위해 로직 코어에 대한 동작 전압이 조정될 때, 로직 코어에 대한 동작 주파수가 또한 조정될 수 있다. 예를 들어, 만약 로직 코어의 동작 전압이 현재의 동작 주파수와 호환가능하지 않은 레벨로 감소된다면, 로직 코어의 동작 주파수는 또한 이에 따라 감소될 수 있다.
추가로, 동작 전압 및/또는 주파수가 집적 회로에서의 하나 또는 그 이상의 로직 코어들에 대해 조정된다면, 일 실시예에서, 프로세서의 로직 코어들과 인터페이스하고 있는 공통 브리지, 인터페이스 혹은 다른 컴포넌트의 동작 주파수 및/또는 전압이 또한 조정될 수 있다. 예를 들어, 만약 공통 브리지가 로직 제어기들 각각과 인터페이스하고 있다면, 공통 브리지에 대한 주파수 및/또는 전압 또는 공통 브리지의 단지 일부분에 대한 주파수 및/또는 전압은, 로직 코어들 중 하나의 동작 전압 및/또는 주파수가 변경될 때, 조정될 수 있다. 일부 실시예들에서, 북측브리지와 같은 단일 공통 브리지는 프로세서의 복수의 로직 코어들 또는 다른 집적 회로와 인터페이스 하도록 구성될 수 있고, 그리고 공통 브리지의 동작 전압 및/또는 주파수는 인터페이스하고 있는 소자들 각각의 동작 전압 및/또는 주파수와 호환가능하도록 조정될 수 있다.
예를 들어, 공통 브리지는 복수의 포트들 혹은 인터페이스들을 포함할 수 있고, 그 각각은 프로세서의 복수의 로직 코어들 중 다른 하나와 통신할 수 있으며, 그리고 포트들 각각의 동작 주파수 및/또는 전압은, 일 실시예에서, 특정 포트가 통신하고 있는 각각의 로직 코어의 동작 전압 및/또는 주파수와 호환가능하도록 조정될 수 있다. 다른 실시예들에서, 공통 브리지에 대한 단일의 전체 동작 전압 및/또는 주파수는 프로세서의 모든 로직 코어들의 동작 전압 및/또는 주파수와 호환가능하도록 조정될 수 있다. 예를 들어, 제어기의 동작 주파수는 프로세서에서의 모든 로직 코어들의 현재의 동작 주파수보다 더 높도록 조정될 수 있다. 일부 실시예들에서, 제어기의 동작 주파수는 하나 또는 그 이상의 로직 코어들의 동작 주파수의 정수배가 되도록 조정될 수 있다. 다른 실시예들에서, 제어기의 동작 주파수는 반드시 로직 코어들의 동작 주파수의 몇 배가 아니라 로직 코어들의 동작 주파수보다 더 높도록 조정될 수 있다.
일부 실시예들에서, 복수 코어 프로세서는 또한, 공통 브리지와 로직 코어들이 서로 다른 전압 및/또는 주파수에서 동작할 때, 공통 브리지와 하나 또는 그 이상의 로직 코어들 사이에서 전달되는 데이터 및/또는 제어 신호를 변환(translate)하도록 구성된 회로를 포함할 수 있다. 예를 들어, 프로세서는 프로세서의 공통 브리지와 로직 코어 간의 하나 또는 그 이상의 통신 신호 혹은 라인에 대해 사용되는 전압 레벨을 조정하도록 구성된 전압 변환 회로를 포함할 수 있다. 추가적으로, 프로세서는, 일 실시예에서, 서로 다른 주파수에서 동작하는 공통 브리지와 로직 코어 사이에 전달되는 데이터를 변환하도록 구성된 회로를 포함할 수 있다. 또 다른 실시예에서, 공통 브리지 인터페이스와 로직 코어 간의 통신이 행해질 때 사용되는 로직 프로토콜은 공통 브리지 인터페이스와 로직 코어 간의 통신을 위해 주파수의 차이 및 클럭 타이밍의 차이를 고려하도록 설계 및/또는 구성될 수 있다.
일부 실시예들에서, 그 각각이 서로에 대해 독립적인 전압에서 동작하도록 구성된, 복수 로직 코어를 포함하는, 복수 코어 프로세서 혹은 다른 복수 코어 집적 회로를 포함하는 시스템은 또한, 프로세서의 로직 코어들에 임의 범위의 전압을 공급하기 하도록 구성되는 하나 또는 그 이상의 전압 조절기들을 포함할 수 있다. 일 실시예에서, 이러한 시스템은 프로세서의 각각의 로직 코어에 대한 개개의 전압 조절기를 포함할 수 있다. 그러나, 다른 실시예들에서, 시스템은 프로세서에 임의 범위의 전압을 전달하도록 구성된 단일의 전압 조절기만을 포함할 수 있고, 하지만 시스템은 또한 전압 조절기로부터의 단일 전압 신호를 분리하도록 그리고/또는 나누도록 구성되며 아울러 그 각각이 서로 다른 전압을 나타낼 수 있는 개개의 전압 신호들을 프로세서의 다른 로직 코어들에 전달하도록 구성된 회로를 포함할 수 있다. 일부 실시예에서, 전압 조절기 및 임의의 전압 신호 분리 및 전압 변환 회로는 프로세서에 상주할 수 있거나 프로세서의 일부일 수 있고, 반면에 다른 실시예들에서, 전압 조절기 및 임의의 수반되는 신호 분리 혹은 변환 회로는 프로세서의 외부에 있을 수 있다. 또 다른 추가적 실시예에서, 전압 조절기 혹은 조절기들은 프로세서의 외부에 있을 수 있고, 반면에 임의의 수반되는 신호 분리 혹은 변환 회로 모두 또는 그 일부는 프로세서의 일부일 수 있다.
마찬가지로, 서로에 대해 독립적인 주파수에서 동작하도록 구성된 복수의 로직 코어들을 포함하는 복수 코어 집적 회로를 포함하는 시스템은 또한, 임의 범위의 클럭 혹은 주파수 신호를 프로세서에 공급하도록 구성된 하나 또는 그 이상의 클럭 신호 발생기들을 프로세서의 일부로서 포함할 수 있거나 혹은 프로세서 외부에 포함할 수 있다. 앞서 설명된 전압 조절기들 및 임의의 수반하는 신호 분리 혹은 조정 회로와 마찬가지로, 클럭 발생기들 및 수반하는 신호 분리 혹은 변환 회로는, 다양한 실시예에 따라 프로세서의 일부로서 상주할 수 있거나 프로세서 외부에 있을 수 있거나 혹은 프로세서 내부 및 외부의 임의 결합 형태로 있을 수 있다.
일부 실시예들에서, 로직 코어들 및/또는 통신 제어기들의 동작 전압 및 주파수를 제어하도록 구성된 로직 회로 혹은 펌웨어는 프로세서 그 자체에 상주할 수 있다. 그러나, 다른 실시예들에서, 이러한 회로 혹은 펌웨어는 프로세서 외부에 있을 수 있고, 하지만, 로직 코어들 및/또는 통신 제어기들과 같은 프로세서에서의 다양한 소자들과 인터페이스 하도록 구성될 수 있다.
도 1은 일 실시예에 따른 독립적인 전압 및/또는 주파수에서 동작하도록 구성된 복수의 로직 코어들을 포함하는 집적 회로를 나타낸 블럭도이다.
도 2A는 복수의 로직 코어들 각각에 대한 동작 전압 및/또는 주파수가 파워 관리 로직에 의해 제어되는 복수 코어 집적 회로의 일 실시예를 나타낸 블럭도이다.
도 2B는 일 실시예에 따른, 복수 코어 집적 회로의 로직 코어들에 대한 동작 전압 및/또는 주파수를 조정하도록 구성된 온도 제어 로직을 나타낸 블럭도이다.
도 2C는 일 실시예에 따른, 복수 코어 집적 회로의 로직 코어들에 대한 동작 전압 및/또는 주파수를 조정하도록 구성된 온도 제어 소프트웨어를 나타낸 블럭도이다.
도 3은 일 실시예에 따른, 전압 및/또는 주파수 변환 로직을 포함하는 복수 코어 집적 회로를 나타낸 블럭도이다.
도 4는 일 실시예에 따른, 복수 코어 집적 회로의 로직 코어들에 대한 동작 주파수를 독립적으로 조정하는 방법의 일 실시예를 나타낸 흐름도이다.
도 5는 복수 코어 집적 회로의 로직 코어들에 대한 동작 전압을 독립적으로 조정하는 방법의 일 실시예를 나타낸 흐름도이다.
도 6은 집적 회로의 로직 코어들에 대한 동작 전압 및/또는 주파수를 독립적으로 조정하여 복수 코어 집적 회로의 동작 온도를 낮추는 방법의 일 실시예를 나타낸 흐름도이다.
도 7은 집적 회로의 로직 코어들에 대한 동작 전압 및/또는 주파수를 독립적으로 조정하여 복수 코어 집적 회로의 동작 온도를 증가시키는 방법의 일 실시예를 나타낸 흐름도이다.
도 8은 복수 코어 집적 회로의 로직 코어들의 동작 특성을 독립적으로 조정할 수 있는 컴퓨터 시스템의 일 실시예를 나타낸 블럭도이다.
본 발명은 다양하게 수정될 수 있고 대안적인 형태를 가질 수 있지만, 그 특정 실시예들은 도면에서 예시적으로 도시되며 본 명세서에서 상세히 설명된다. 그러나, 이해할 것으로, 도면 및 이에 대한 상세한 설명을 통해 의도하고자 하는 것은 본 발명을 이러한 개시되는 특정 형태에 한정시키려는 것이 아니며, 이와는 반대로, 본 발명은 첨부되는 특허청구범위에 의해 정의되는 바와 같이 본 발명의 사 상 및 범위 내에 있는 모든 수정물, 등가물, 및 대안물을 포괄하고자 하는 것이다. 유의할 것으로, 표제는 단지 체계적 목적으로 정해진 것이지 본 명세서 및 특허청구범위를 한정 또는 설명하려는 의도로 사용된 것이 아니다. 더욱이, 유의할 것으로, 용어 "할 수 있다"는 본 명세서 전반에 걸쳐 수용적 의미(즉, 할 가능성을 갖는다, 가능할 수 있다)로 사용된 것이지 강제적 의미(즉, 반드시 해야만 한다)로 사용된 것이 아니다. 용어 "포함한다" 및 그 파생어들의 의미는 "포함하지만 그것에만 한정되는 것은 아니다"라는 의미이다. 용어 "접속되는"의 의미는 "직접적으로 혹은 간접적으로 접속되는"의 의미이며, 그리고 용어 "연결되는"의 의미는 "직접적으로 혹은 간접적으로 연결되는"의 의미이다.
프로세서들 혹은 다른 집적 회로들은 독립적인 전압 레벨 및 주파수에서 동작하도록 구성된 복수의 로직 코어들을 포함할 수 있다. 추가적으로, 프로세서 혹은 집적 회로는 하나 또는 그 이상의 로직 코어들을 포함하는 프로세서의 다양한 소자들과 통신하도록 구성된 공통 브리지 혹은 인터페이스 유닛을 포함할 수 있다. 독립적인 전압 및/또는 주파수에서 동작하는 로직 코어들과 통신하도록 구성된 이러한 공통 브리지 유닛, 인터페이스 유닛 혹은 다른 컴포넌트는 또한 메모리, 추가적인 통신 버스들, 및/또는 다른 주변 기기와 같은 프로세서 외부에 있는 소자들과 통신하도록 구성될 수 있다. 그 각각이 복수의 (동작 전압 및 주파수에 관해) 독립적으로 제어가능한 로직 코어들을 포함하는 하나 또는 그 이상의 복수 코어 프로세서들을 구비한 시스템은, 파워 관리를 위한 하나 또는 그 이상의 로직 코어들의 동작 전압 및/또는 주파수를 자동으로 조정하도록 구성될 수 있거나, 또는 시스템의 동작 온도를 제어하도록 구성될 수 있다.
예를 들어, 도 1은 본 발명의 일 실시예에 따른 복수 코어 집적 회로(100)를 포함하는 시스템을 나타낸 블럭도이다. 앞서 언급된 바와 같이, 집적 회로는 로직 코어들(120A 및 120B)과 같은 복수의 로직 코어들을 포함할 수 있고, 그 각각은 독립적인 전압 및 주파수에서 동작하도록 구성될 수 있다. 달리 말하면, 각각의 로직 코어는 로직 코어(120B)와 같은 다른 로직 코어들이 동작할 수 있는 전압 및/또는 주파수와 독립적인 전압 및/또는 주파수에서 동작할 수 있다. 도 1이 두 개의 로직 코어들을 포함하는 집적 회로(100)를 나타내는 반면, 다른 실시예들은 추가적인 로직 코어들을 포함하는 집적 회로들 혹은 복수 코어 프로세서들을 포함할 수 있다. 일부 실시예들에서, 집적 회로(100)는 복수 코어 프로세서를 나타낼 수 있고, 그리고 로직 코어(120A 및 120B)는 집적 회로(100)에 제공되는 명령들을 실행하는 프로세서 코어들을 나타낼 수 있다. 일반적으로, 본 명세서에서 설명되는 시스템, 방법 및 기술은 독립적인 전압 및/또는 주파수에서 동작하도록 구성된 임의 개수의 로직 코어들을 포함하는 시스템 혹은 디바이스에 응용가능하다. 예를 들어, 프로세서는, 일부 실시예들에 따라, 서로 독립적인 주파수 및 전압에서 동작하도록 구성된 복수의 로직 코어들 혹은 프로세서 코어들을 포함할 수 있다. 다른 실시예들에서, 집적 회로는 두 개 또는 그 이상의 로직 코어들을 포함할 수 있으며, 그 각각은 다른 로직 코어들 혹은 다른 컴포넌트들이 동작할 수 있는 주파수 또는 전압에 독립적인 주파수 및 전압에서 동작하도록 구성될 수 있다.
추가적으로, 도 1에 도시된 바와 같이, 복수 코어 집적 회로 또는 프로세서 는, 로직 코어들과 통신할 뿐만 아니라 버스(150), 주변 기기(160) 및/또는 메모리 서브시스템(170)과 같은 집적 회로(100) 내부 또는 외부에 있는 다른 소자들 또는 주변 기기와 통신하도록 구성되는, 공통 브리지 로직(110)과 같은 공통 브리지 또는 인터페이스 유닛을 포함할 수 있다. 일부 실시예들에서, 공통 브리지 로직(110)은 로직 코어들(120A 및 120B)이 동작하는 전압 또는 주파수와는 다르고 아울러 독립적인 전압 또는 주파수에서 동작하도록 구성될 수 있다. 일부 실시예들에서, 공통 브리지 로직(110)이 동작하는 전압 및 주파수는 로직 코어(120A 및 120B)가 동작하는 전압 및/또는 주파수와 관련되어 있을 수 있거나 이 전압 및/또는 주파수에 따라 달라질 수 있다. 예를 들어, 일부 실시예들에서, 공통 브리지 로직(110)은 로직 코어들(120A 및 120B) 중 어느 하나가 현재 동작하고 있을 수 있는 가장 높은 주파수만큼 적어도 높은 주파수에서 그리고 가능하게는 더 높은 주파수에서 언제나 동작할 수 있다. 일부 실시예들에서, 로직 코어가 동작하는 주파수가 일반적으로 로직 코어가 동작하는 전압 레벨과 관련되어 있기 때문에, 로직 코어(120A 및 120B)가 동작하는 주파수는 이들이 동작하는 전압에 따라 달라질 수 있다.
추가적으로, 일부 실시예들에서, 하나 또는 그 이상의 복수 코어 집적 회로들을 포함하는 시스템은 집적 회로에 임의 범위의 전압을 공급하도록 구성된 전압 조절기(130)와 같은 하나 또는 그 이상의 전압 조절기들을 포함할 수 있고, 그리고 일부 실시예에서는 집적 회로의 각각의 로직 코어에 독립적인 전압을 공급하도록 구성될 수 있다. 추가적으로, 일부 실시예들에서, 전압 조절기(130)는 또한 공통 브리지 로직(110)에 임의 범위의 전압을 공급할 수 있다. 마찬가지로, 하나 또는 그 이상의 복수 코어 집적 회로들을 포함하는 시스템은, 로직 코어(120A 및 120B)와 같은 로직 코어들에 클럭 주파수 신호를 공급하도록 구성된 주파수 조절기(140)와 같은 하나 또는 그 이상의 주파수 조절기들을 포함할 수 있다. 일부 실시예들에서, 주파수 조절기(140)는 또한 공통 브리지 로직(110)에 클럭 주파수 신호를 제공하도록 구성될 수 있다. 주파수 조절기(140)는 기준 클럭 신호를 발생시키기 위해 오실레이터 혹은 위상 고정 루프(Phase Locked Loop, PLL)와 같은 다양한 종류의 클럭 소스들 중 어느 하나를 포함할 수 있다. 추가적으로, 일부 실시예들에서, 주파수 조절기(140)는 클럭 신호를 복수의 개개의 신호들로 분리하거나 나누도록 구성된 클럭 트리(clock trees) 또는 다른 회로를 포함할 수 있으며, 그리고 다른 주파수의 복수의 독립적인 클럭 신호들을 공급하기 위해 복수의 클럭 소스들을 포함할 수 있다.
일부 실시예들에서, 공통 브리지, 인터페이스 유닛, 또는 다른 공통 브리지 로직, 예를 들어 북측브리지는 개별적 전압 조절기 및/또는 주파수 발생기에 의해 제어될 수 있다. 일부 실시예들에 따르면, 복수의 로직 코어들에 인터페이스하는 공통 브리지가 로직 코어들 각각에 독립적인 전압 및/또는 주파수에서 동작하게 함으로써, 코어들이 낮은 전압 및 주파수에서 동작할 수 있게 하고 반면에 로직 코어들보다 더 높은 전압 및/또는 주파수에서 공통 브리지를 동작시킬 수 있으며, 그럼으로써 공통 브리지에서의 임의의 잠재적인 병목 현상을 최소화시킬 수 있다. 공통 브리지가 더 높은 주파수에서 동작할 수 있게 함으로써, 코어들은 또한 공통 브리지로 하여금 공통 브리지의 메인 동작 주파수의 분할자인 주파수에서 통신하여 코 어의 각각의 주파수에서 각각의 코어와 통신할 수 있게 할 수 있으며, 그럼으로써 공통 브리지에 복수의 주파수를 제공할 필요가 없게 된다.
주파수 조절기(140)는, 일부 실시예에 따르면, 공통 브리지 로직(110)에 하나 또는 그 이상의 전압을 공급하도록 구성될 수 있다. 예를 들어, 공통 브리지 로직(110)은 집적 회로(110)에서의 로직 코어들(120) 각각과 인터페이스 하도록 구성될 수 있고, 따라서 예를 들어 전압 조절기(130)로부터 하나 또는 그 이상의 전압을 공급받을 수 있다. 마찬가지로, 일부 실시예들에서, 주파수 조절기(140)는 하나 또는 그 이상의 주파수 혹은 클럭 신호를 공통 브리지 로직(110)에 공급하도록 구성될 수 있다. 공통 브리지 로직(110)은 로직 코어와 동일한 로직 레벨들 및/또는 클럭 타이밍을 사용하여 로직 코어와 인터페이스 하도록 구성될 수 있으며, 따라서 공통 브리지 로직(110)으로 하여금 각각의 로직 코어에 대한 개개의 전압 및 클럭 타이밍을 사용하여 각각의 로직 코어와 통신하도록 하기 위해 복수의 전압 및/또는 주파수를 공급받을 수 있다. 대안적으로, 일부 실시예들에서, 공통 브리지 로직(100)은 단일의 전압 및/또는 단일의 주파수 신호만을 수신하도록 구성될 수 있다. 일부 실시예에서, 공통 브리지 로직(110)은, 비록 로직 코어가 공통 브리지 로직(110)과는 다른 전압 레벨 또는 다른 주파수에서 동작하고 있을 수 있을지라도, 개개의 로직 코어와 인터페이스 하도록 구성될 수 있다. 예를 들어, 공통 브리지 로직(110)은 로직 코어(120A)의 전압만큼 적어도 높은 전압을 공급받을 수 있고, 그리고 마찬가지로 로직 코어(120A)의 현재의 동작 주파수만큼 적어도 빠른 주파수 혹은 클럭 신호를 공급받을 수 있으며, 그리고 공통 브리지 로직(110) 간의 인터페 이스는 공통 브리지 로직(110)과 로직 코어(120A) 사이의 서로 다른 로직 레벨 간의 그리고/또는 서로 다른 주파수 간의 통신, 예를 들어 하나 또는 그 이상의 제어 라인 상의 신호를 변환하도록 구성될 수 있다.
일 실시예에서, 각각의 로직 코어(120) 및 공통 브리지 로직(110)은 서로 독립적인 각각의 공급 전압 및 클럭을 수신할 수 있다. 예를 들어, 여러 개의 서로 다른 전압들이 발생될 수 있고 그리고/또는 조절될 수 있고 그리고 다양한 접속을 통해 집적 회로(100)에 입력될 수 있다. 대안적으로, 단일 전압이 집적 회로(100)에 입력될 수 있고, 그리고 요구된 전압을 생성하기 위해 내부적으로 수정될 수 있다. 마찬가지로, 서로 다른 주파수에서의 복수의 클럭 신호들은 칩 밖에서 혹은 내부적으로 발생될 수 있고 그리고 개개의 로직 코어들(120) 및/또는 공통 브리지 로직(110)에 연결될 수 있다. 일 실시예에서, 단일 주파수에서의 클럭 신호는 로직 코어들(120)에 연결될 수 있고, 그리고 각각의 코어는 이러한 신호로부터 유도되는 특정 내부 동작 주파수를 발생시킬 수 있다.
앞서의 설명이 비록 일부 실시예들에 따른 복수 코어 프로세서에서의 복수의 로직 코어에 대한 동작 전압 및/또는 주파수를 독립적으로 제어하는 것을 언급하고 있지만, 동작 전압 및/또는 주파수를 독립적으로 제어하는 본 명세서에서 설명되는 시스템, 방법 및 기술은 독립적인 동작 전압 및/또는 주파수에서 동작하도록 구성된 회로의 여러 영역 혹은 섹션을 포함하는 임의의 집적 회로 또는 컴포넌트에도 응용될 수 있다. 예를 들어, 복수의 컴포넌트들에 인터페이스 하도록 구성되거나 또는 복수의 컴포넌트들과 통신하도록 구성된 제어기, 브리지, 혹은 다른 컴포넌트 들은 이러한 인터페이스들의 주파수 및/또는 전압을 독립적으로 제어하도록 구성될 수 있다. 추가적으로, 본 명세서에서 설명되는 방법, 기술 및 시스템은 동작 전압 및/또는 주파수를 독립적으로 제어하는데 응용될 수 있으며, 여기서 단일 회로의 서로 다른 부분들 또는 인터페이스된 컴포넌트들의 그룹에서는 이에 응답하여 회로 또는 컴포넌트의 그룹들에 대한 동작 온도 변경이 있게 된다.
도 2A는 복수 코어 집적 회로(100)를 포함하는 시스템의 일 실시예를 나타낸 블럭도를 나타낸다. 도 2A에 의해 예시된 실시예에서, 파워 관리 로직(200)은 집적 회로(110)의 복수의 로직 코어들(120) 각각의 동작 전압 및/또는 동작 주파수와 같은 동작 특성을 제어하도록 구성될 수 있다. 예를 들어, 도 2A는 파워 관리 로직(200)을 포함할 수 있는 랩탑, 핸드헬드 컴퓨터 혹은 PDA와 같은 배터리 전력공급 컴퓨팅 디바이스에 대한 회로의 일부를 나타낼 수 있다. 이러한 예에서, 파워 관리 로직(200)은, 집적 회로(100)에 대한 전체 전력 소모를 조정하기 위해, 집적 회로(100)의 복수의 로직 코어들(120) 중 하나 또는 그 이상에 대한 동작 전압 및/또는 주파수와 같은 동작 특성을 조정하도록 구성될 수 있다. 예를 들어, 일 실시예에서, 파워 관리 로직(200)은, 시스템이 배터리 파워로 동작할 때, 로직 코어들(120) 중 하나 또는 그 이상의 동작 특성을 낮추도록 구성될 수 있고, 그리고 시스템이 배터리 파워로 동작하지 않을 때, 로직 코어들(120) 중 하나 또는 그 이상의 동작 특성을 올리도록 구성될 수 있다. 달리 말하면, 만약 시스템이 배터리 파워로 동작한다면, 파워 관리 로직(200)은, 집적 회로(100)의 전체 전력 소모를 줄이기 위해 집적 회로(100)의 로직 코어들 중 하나 또는 그 이상에 대한 동작 주파 수 및/또는 전압을 더 낮은 레벨로 조정하도록 구성될 수 있다. 일 실시예에서, 파워 관리 로직(200)은, 복수 코어 프로세서 또는 다른 복수 코어 집적 회로의 로직 코어들의 동작 주파수 및/또는 전압을, 예를 들어 랩탑 디스플레이의 밝기를 줄이는 것, 무선 통신 인터페이스 및 CDROM 또는 DVD 드라이브를 셧다운시키는 것과 같은 다른 시스템 레벨의 파워 절약 방법 및 기술의 일부로서, 조정하도록 구성될 수 있다.
일부 실시예들에서, 파워 관리 로직(200)은, 전체적인 전력 소모에 따라 혹은 시스템의 특성에 따라, 다른 로직 코어의 동작 특성보다 더 낮은 레벨로 로직 코어에 대한 동작 특성을 조정하도록 구성될 수 있다. 추가적으로, 일부 실시예들에서, 파워 관리 로직(200)은 공통 브리지 로직(110)에 공급되는 전압 및/또는 주파수를 조정하도록 구성될 수 있다. 일 실시예에서, 파워 관리 로직(200)은 로직 코어의 동작 전압 및/또는 주파수에 맞추어 공통 브리지 로직(110)에 공급되는 전압 및/또는 주파수를 조절할 수 있다. 그러나, 다른 실시예들에서 파워 관리 로직(200)은 로직 코어들보다는 공통 브리지 로직(110)에 더 높은 전압 및/또는 주파수를 제공하도록 구성될 수 있다. 예를 들어, 일 실시예에서, 로직 코어들(120A 및 120B)은 공통 브리지 로직(110)보다 훨씬 더 많은 전력을 소모할 수 있으며, 동시에, 공통 브리지 로직(110)은 임의의 개개의 로직 코어보다 전체 성능에 있어서의 더 많은 병목현상을 일으킬 수 있다(왜냐하면, 공통 브리지 로직(110)은 복수의 로직 코어 및 다른 소자, 인터페이스 및 컴포넌트와 통신 및 인터페이스를 행하고 있을 수 있기 때문이다). 이러한 예에서, 파워 관리 로직(220)은 공통 브리지 로 직(110)의 임의의 잠재적 병목현상을 감소시켜 그 결과 전체적으로 높은 성능을 유지하는데 도움을 주기 위해 더 높은 전압 및 주파수를 공통 브리지 로직(110)에 공급하도록 구성될 수 있고, 반면에 전체 전력 소모를 감소시키기 위해 더 낮은 전압 및 주파수를 개개의 로직 코어들(120)에 공급하도록 구성될 수 있다.
일 실시예에서, 로직 코어(120)는 파워 관리 로직(200)으로부터의 요청에 응답하여 그 동작 주파수를 변경시키도록 구성될 수 있다. 예를 들어, 파워 관리 로직(200)은 로직 코어(120A)가 시스템 동작의 특정 모드에 대해 그 할당된 전력보다 많은 전력을 소비하고 있는지를 결정할 수 있다. 이 결정에 응답하여, 파워 관리 로직(200)은 로직 코어(120A) 그 동작 주파수를 변경시키도록 요청을 발행할 수 있다. 일 실시예에서, 로직 코어는 예를 들어 주파수 조절기(140)에 의해 제공되는 것과 같은 외부적으로 제공되는 클럭 신호에 고정된 위상 고정 루프(PLL)를 사용하여 그 내부 클럭을 발생시킬 수 있다. 로직 코어의 내부 동작 주파수는 PLL의 구성 파라미터에 의해 결정되는 외부 클럭 신호의 동작 주파수의 몇 배가 될 수 있다. PLL 구성 파라미터는 하나 또는 그 이상의 제어 레지스터들에 기입을 행함으로써 변경가능하고, 따라서 로직 코어의 내부 동작 주파수가 설정된다. 일부 실시예들에 따라면, 집적 회로(100)의 각각의 로직 코어는 제어 레지스터들의 대응하는 세트를 포함할 수 있고, 이를 통해 그 PLL 구성 파라미터가 설정될 수 있다. 따라서, 일부 실시예들에서, 파워 관리 로직(200)은 하나 또는 그 이상의 로직 코어들(120)의 동작 주파수를 조정하기 위해 집적 회로(100)의 하나 또는 그 이상의 제어 레지스터들에 기입을 행할 수 있다.
도 2A에 도시된 바와 같이, 파워 관리 로직(200)은, 로직 코어들(120)에 대한 동작 전압 및 주파수 그리고/또는 공통 브리지 로직(110)에 대한 동작 전압 및 주파수를 조정하기 위해, 전압 조절기(130) 및 주파수 조절기(140)에 연결될 수 있거나 또는 그렇지 않다면 전압 조절기(130) 및 주파수 조절기(140)에 인터페이스될 수 있다. 따라서, 로직 코어(120A)에 대한 동작 특성을 조정할 때, 파워 관리 로직(200)은, 전압 조절기(130)에 명령하여 로직 코어(120A)에 특정 전압을 공급하도록 하기 위해, 전압 조절기(130)와 예를 들어 하나 또는 그 이상의 제어 신호를 통해 통신하도록 구성될 수 있다. 마찬가지로, 파워 관리 로직(200)은, 주파수 조절기(140)에 명령하여 로직 코어(120A)에 특정 주파수 또는 클럭 신호를 공급하도록 하기 위해, 주파수 조절기(140)와 통신하도록 구성될 수 있다.
일부 실시예들에서, 각각의 로직 코어(120) 및/또는 공통 브리지 로직(110)에 대한 파워는, 집적 회로(100) 내의 다른 로직 코어에 파워를 공급하는 것으로부터 분리된 회로를 통해 공급될 수 있다. 이러한 구성에서, 각각의 로직 코어(120) 및/또는 공통 브리지 로직(110)은 다른 로직 코어들이 동작하는 전압 레벨과는 다른 독립적인 전압 레벨에서 동작될 수 있다. 전압 조절기(130)와 같은 하나 또는 그 이상의 전압 조절기들은 서로 다른 레벨에서 각각의 로직 코어(120) 및/또는 공통 브리지 로직(110)에 전압을 공급하도록 구성될 수 있다. IC(100)의 일부에 파워를 공급하는 각각의 전압 조절기는 하나 또는 그 이상의 전압 레벨에서의 파워 출력 요청을 수신하고, 이러한 요청에 응답하여 그 출력의 전압 레벨을 조정하도록 구성될 수 있다. 일 실시예에서, 로직 코어들(120)은 이러한 요청들을 발행하도록 구성될 수 있다. 예를 들어, 파워 관리 로직(200)은 전압 조절기(130)에 요청하여 하나 또는 그 이상의 로직 코어들(120)에 공급된 전압 레벨을 변경시키도록 구성될 수 있다. 파워 관리 로직(200)은 전압 조절기(130)에 대한 구성 레지스터들에 저장된 데이터에 액세스함으로써 로직 코어(120)에 대한 현재의 출력 전압 레벨을 결정하도록 구성될 수 있다. 대안적으로, 다른 실시예들에서, 일정 온도에서 동작하고 있다는 것을 검출한 코어는, 공급된 전압 레벨을 파워를 공급하는 전압 조절기가 변경하도록 요청할 수 있다.
로직 코어(120)(또는 공통 브리지 로직(110))에 대한 동작 특성을 조정할 때, 파워 관리 로직(200)은 새로운 타겟 전압을 결정하도록 구성될 수 있다. 예를 들어, 집적 회로(100)의 전체 전력 소모를 감소시키기 위해, 파워 관리 로직(200)은 로직 코어(102A) 및/또는 로직 코어(120B)에 대한 새로운 동작 전압을 결정할 수 있다. 앞서 언급된 바와 같이, 로직 코어에 대한 동작 주파수는 최소 동작 전압에 따라 달라질 수 있기 때문에, 파워 관리 로직(200)은, 로직 코어에 대한 현재의 동작 주파수가 적당한지 혹은 바람직한지 또는 새로운 동작 전압과 호환가능한지 여부를 결정하도록 구성될 수 있다. 만약 로직 코어(120A)에 대한 현재의 동작 주파수가 로직 코어(120A)에 대한 새로운 동작 전압과 호환가능하지 않거나 새로운 동작 주파수에서 적당하지 않다면, 파워 관리 로직(200)은 새로운 전압에 관한 새로운 동작 주파수를 결정하도록 구성될 수 있다. 예를 들어, 파워 관리 로직은, 로직 코어들에 대한 동작 특성을 조정할 때, 호환가능한 또는 바람직한 전압-주파수 쌍의 테이블에 액세스하도록 구성될 수 있다.
마찬가지로, 파워 관리 로직(200)은 로직 코어에 대한 동작 특성을 조정할 때 로직 코어에 대한 새로운 동작 주파수를 먼저 결정하도록 구성될 수 있다. 따라서, 일부 실시예들에서, 파워 관리 로직(200)은, 로직 코어(120A)에 대해 새롭게 요구된 주파수를 결정하고, 그 다음에, 요구된 주파수가 로직 코어(120A)에 대한 현재의 동작 전압과 호환가능한지 또는 현재의 동작 전압에서 실행가능한지 여부를 결정하도록 구성될 수 있다. 예를 들어, 파워 관리 로직(200)은, 예를 들어 집적 회로(100)를 포함하는 시스템이 배터리 파워로 이제 더 이상 동작하지 않는다는 결정에 응답하여, 로직 코어(120A)에 대한 동작 주파수를 증가시킬 수 있다. 만약 로직 코어(120A)에 대한 요구된 동작 주파수가 로직 코어(120A)에 대한 현재의 동작 전압과 호환가능하지 않다면, 파워 관리 로직(200)은 요구된 동작 주파수와 호환가능한 로직 코어(120A)에 대한 새로운 동작 전압을 결정하도록 구성될 수 있다. 대안적으로, 본 발명의 일 실시예에 따르면, 파워 관리 로직(200)은 로직 코어(120A)의 현재의 동작 주파수와 호환가능한 다른 요구된 주파수를 선택하도록 구성될 수 있다.
로직 코어들에 대한 동작 특성을 조절할 때, 파워 관리 로직(200)은, 공통 브리지 로직(110)에 공급된 주파수 또는/또는 전압을 조정하는 경우, 새로운 주파수 및 전압이 서로 호환가능 함을 확실히 하도록 구성될 수 있다. 앞서 언급된 바와 같이, 공통 브리지 로직(110)은 본 발명의 다양한 실시예들에 따라 하나 또는 그 이상의 전압 및 하나 또는 그 이상의 주파수를 공급받을 수 있다. 앞서 언급된 바와 같이, 공통 브리지 로직(110)은, 각각의 로직 코어의 개개의 동작 특성에 따 라, 각각의 로직 코어에 대해 서로 다른 전압 및/또는 주파수를 사용하여 각각의 로직 코어(120)와 통신 혹은 인터페이스 하도록 구성될 수 있다. 따라서, 일부 실시예들에서, 파워 관리 로직(200)은 전압 조절기(130)에 명령하여 공통 브리지 로직(110)에 복수의 독립적인 전압 레벨을 공급하게 하도록 구성될 수 있다. 파워 관리 로직(200)은 일부 실시예들에 따르면 공통 브리지 로직(110)에 공급된 각각의 전압 신호에 대해 전압 레벨을 선택하도록 구성될 수 있다. 그러나, 다른 실시예들에서, 파워 관리 로직(200)은 개개의 로직 코어에 공급되는 전압을 제어하도록 구성될 수 있고, 그리고 공통 브리지 로직(110)에 의지하여 각각의 로직 코어와 통신하기 위해 필요한 적절한 전압을 수신하기 위해 전압 조절기(130)와 조화되도록 구성될 수 있다. 마찬가지로, 일부 실시예들에서, 파워 관리 로직(200)은 주파수 조절기(140)에 의해 공통 브리지 로직에 공급되는 개개의 클럭 신호의 주파수를 제어하도록 구성될 수 있고, 반면에 다른 실시예들에서, 공통 브리지 로직(110)은 각각의 로직 코어와 통신하기 위해 요구되는 특정 주파수를 결정하도록 구성될 수 있으며, 그리고 적절한 주파수에서의 하나 또는 그 이상의 클럭 신호를 수신하기 위해 주파수 조절기(140)와 조화되도록 구성될 수 있다.
따라서, 본 발명의 다양한 실시예들에 따르면, 공통 브리지 로직(110)에 제공된 전압 및 주파수를 제어하기 위해 요구되는 로직의 다양한 부분들은 파워 관리(200), 전압 조절기(130), 주파수 조절기(140) 및/또는 공통 브리지 로직(110)에 상주할 수 있다.
도 2B는 복수의 로직 코어들 각각에 대한 동작 특성(즉, 동작 전압 및 주파 수)이 온도 제어 로직에 의해 제어될 수 있는 복수 코어 집적 회로의 일 실시예를 나타낸다. 일부 실시예들에서, 집적 회로(100)는, 집적 회로(100)의 동작 온도를 측정하도록 구성된, 온도 센서(220)와 같은 하나 또는 그 이상의 온도 센서를 포함할 수 있다. 예를 들어, 일부 실시예들에서, 온도 센서(220)는 열다이오드(thermal diode)를 나타낼 수 있다. 일 실시예에서, 온도 센서(220)는 정상적인 동작 동안 대부분의 열을 생성하는 집적 회로(100)의 소자 가까이에 위치하여 집적 회로(100)의 다이에 통합될 수 있다. 또 다른 실시예에서, 복수의 온도 센서(220)는 대응하는 로직 코어들 가까이에 위치하여 집적 회로(100)에 통합될 수 있다. 대안적으로, 다른 실시예들에서, 온도 센서(220)는 집적 회로(100)에 통합되지 않고, 집적 회로(100) 옆에 있을 수 있고, 또는 집적 회로(100)에 인접하여 있을 수 있고, 또는 집적 회로(100)에 연결되어 집적 회로(100)에 대한 동작 온도를 측정할 수 있다. 이러한 동작 온도 표시의 측정은 아래에서 상세히 설명되는 바와 같이, 코어 동작 주파수 및 전압에 대한 조정을 요청하는데 사용될 수 있다.
일 실시예에서, 온도 센서(220)는 전체 집적 회로(100)의 전체 동작 온도를 측정하도록 구성될 수 있으며, 반면에 다른 실시예들에서, 온도 센서(220)는 로직 코어(120A) 또는 로직 코어(120B)에 대한 로컬 동작 온도와 같은 집적 회로(100)의 일부분에 대한 로컬 동작 온도를 측정하도록 구성될 수 있다. 일 실시예에서, 온도 센서(220)는 관련 IC 소자의 가장 뜨거운 부분의 온도를 나타낼 수 있고, 반면에, 다른 실시예에서, 소자의 평균 온도를 나타낼 수 있다. 또 다른 실시예들에서, 집적 회로(100)는 하나보다 많은 온도 센서(220)를 포함할 수 있고, 그 각각은 집적 회로(100)의 개별 부분 또는 영역에 대한 로컬 동작 온도를 측정하도록 구성될 수 있다. 따라서, 일 실시예에서, 개개의 온도 측정은 집적 회로(100)에서의 각각의 로직 코어에 대응하여 행해질 수 있다. 그러나, 다른 실시예에서, 집적 회로(100)는 온도 센서(220)를 포함하지 않을 수 있지만, IC(100)가 그 일부인 시스템은 집적 회로(100) 외부에 위치하는 열 센서를 포함할 수 있으며, 이 열 센서는 집적 회로(100)에 대한 동작 온도를 측정하도록 또는 그렇지 않다면 동작 온도를 결정하도록 구성될 수 있다.
일 실시예에서, 로직 코어(120)와 같은 IC 컴포넌트의 동작 전압 및/또는 주파수 변경 요청이 컴포넌트의 동작 온도에서의 변경에 응답하여 발생될 수 있다. 예를 들어, 온도 제어 로직(210)은 집적 회로(100)에 대한 현재의 동작 온도를 판독하도록 구성될 수 있으며, 아울러 하나 또는 그 이상의 로직 코어들(210)의 현재의 동작 전압 및/또는 주파수에서의 변경을 요청하도록 구성될 수 있다. IC 내에 포함된 로직 코어들(120), 공통 브리지 로직(110), 및/또는 다른 컴포넌트들은 관련 온도 센서(220)를 가질 수 있다. 일 실시예에서, 온도 센서(220)는 특정 온도 또는 여러 온도를 검출하여 제어 신호 혹은 인터럽트를 발생시킬 수 있다. 다른 실시예들에서, 온도 센서(220)는 지속적으로 관련 컴포넌트의 온도를 표시할 수 있다. 온도 센서들 및 동작 온도 또는 주변 온도를 측정하도록 구성된 다른 디바이스들뿐만 아니라 온도를 판독, 수집, 기록 혹은 측정하는 그러한 디바이스와 인터페이스하는 방법 및 기술은 본 발명의 기술분야에서 잘 알려져 있기 때문에, 본 명세서에서는 이에 관해 상세히 설명되지 않는다.
일부 실시예들에서, 집적 회로(100)의 동작 온도는 집적 회로(100)에 대한 최대 동작 온도, 또는 바람직한 동작 온도, 또는 특정 동작 온도보다 더 높을 수 있고, 이러한 온도보다 큰 온도에서 부정확한 동작 또는 예측할 수 없는 동작 또는 신뢰할 수 없는 동작이 일어날 수 있다. 예를 들어, IC 제조자는 IC가 불특정 시간 주기 동안 적절하게 그 기능을 수행할 수 있는 온도 범위를 특정할 수 있다. 이 온도 범위는 최대 온도를 포함할 수 있으며, 이 온도를 넘으면 적절한 기능이 보장되지 않으며 디바이에 대한 손상이 결과적으로 일어날 수 있다. 본 명세서에서 설명된 바와 같이, IC의 동작 온도를 감소시키는 한 가지 방법은 디바이스에 포함된 컴포넌트들의 동작 주파수 및/또는 전압을 감소시키는 것 일 수 있다. 일부 실시예들에서, 온도 제어 로직(210)은 집적 회로(100)의 동작 무결성(operational integrity)을 보호하도록 구성될 수 있다.
따라서, 일 실시예에서, 집적 회로(100) 내부 혹은 외부에 있는 로직 회로, 펌웨어, 및/또는 소프트웨어, 예를 들어 온도 제어 로직(210)은 집적 회로(100)의 동작 온도를 모티터링 하도록 구성될 수 있다. 다양한 실시예에서, 온도 제어 로직(210)은 하드웨어, 소프트웨어, 펌웨어 혹은 그들의 임의의 결합의 형태로 구현될 수 있다. 온도 제어 로직(210)은, 집적 회로(100) 혹은 집적 회로(100)의 개개의 로직 코어(120)가 최대 동작 온도, 안전한 동작 온도, 바람직한 동작 온도 또는 특정 동작 온도보다 더 높다는 검출 혹은 결정에 응답하여, 집적 회로(100) 내의 하나 또는 그 이상의 로직 코어들의 동작 주파수 및/또는 전압을 자동으로 감소시키도록 구성될 수 있다. 온도 제어 로직(210)은, 일부 실시예에서, 집적 회로(100) 에 대한 현재의 동작 온도를 결정하기 위해, 또는 로직 코어(120A 및 120B)와 같은 집적 회로(100) 내의 하나 또는 그 이상의 로직 코어들에 대한 현재의 동작 온도를 결정 하기 위해, 온도 센서(들)(220)에 액세스하도록 또는 온도 센서(들)(220)와 인터페이스 혹은 통신하도록 구성될 수 있다.
만약 온도 제어 로직(210)이 집적 회로(100)의 동작 온도가 너무 높다고 결정한다면, 온도 제어 로직(210)은, 다른 실시예들에서, 로직 코어(120A) 또는 로직 코어(120B) 또는 이들 모두와 같은 집적 회로(100)의 하나 또는 그 이상의 로직 코어들의 동작 주파수 및/또는 전압을 자동으로 조절하도록 구성될 수 있다. 예를 들어, 집적 회로(100)가 특정 동작 온도보다 더 높은 온도에서 동작하고 있다는 결정 이후에, 온도 제어 로직(210)은 집적 회로(100)의 동작 온도를 감소시키기 위해 더 낮은 전압 및/또는 주파수에서 동작하도록 로직 코어(120)를 구성될 수 있다. 앞서 설명된 파워 관리 로직(200)과 마찬가지로, 온도 제어 로직(210)은 일부 실시예들에서 로직 코어들(120A 및 120B)에 공급되는 전압 및 주파수를 조정하기 위해, 전압 조절기(130) 및 주파수 조절기(140)와 통신 또는 인터페이스하도록 구성될 수 있다.
일부 실시예들에서, 온도 제어 로직(210)은 집적 회로(100)에서의 모든 로직 코어들의 동작 주파수 및/또는 전압을 동시에 감소시킬 수 있다. 그러나, 다른 실시에들에서, 온도 제어 로직(210)은 로직 코어(120A)와 같은 단일의 로직 코어에 대한 동작 주파수 및/또는 전압을 초기에 감소시킬 수 있고, 하지만, 만약 집적 회로(100)의 동작 온도가 단 하나의 로직 코어의 동작 주파수 및/또는 전압을 감소시 킨 이후 충분히 낮아지지 않는다면, 로직 코어(120B)와 같은 추가적인 로직 코어들에 대한 동작 전압 및/또는 주파수를 감소시킬 수 있다. 따라서, 온도 제어 로직(210)은, 집적 회로(100) 내의 하나 또는 그 이상의 로직 코어들의 동작 전압 및/또는 주파수를 감소시키는 것과 같이 동작 특성에서의 감소가 집적 회로(100)에 대한 동작 온도를 충분히 낮추게 되는지 여부를 결정하기 위해 집적 회로(100)의 동작 온도를 계속 모니터링하거나 또는 주기적으로 모니터링하도록 구성될 수 있다. 유의할 것으로, 용어 "동작 특성"은 동작 전압 또는 동작 주파수, 또는 이들 모두를 말하기 위해 본 명세서에서 사용된다.
만약, 집적 회로(100) 내의 하나 또는 그 이상의 로직 코어들(120)에 대한 동작 특성을 감소시킨 이후에, 온도 제어 로직(210)이 집적 회로(100)에 대한 동작 온도가 여전히 너무 높다고 결정한다면, 온도 제어 로직은, 일부 실시예들에 따라, 집적 회로(100) 내의 하나 또는 그 이상의 로직 코어들에 대한 동작 특성을 추가적으로 감소시키도록 구성될 수 있다. 예를 들어, 로직 코어(120A)에 대한 동작 특성에서의 감소가 집적 회로(100)에 대한 동작 온도를 충분히 낮추지 못했다는 결정 이후에, 온도 제어 로직(210)은 초기에 로직 코어(120A)의 동작 특성을 감소시킬 수 있고, 후속적으로 로직 코어(120B)의 동작 특성을 감소시킬 수 있다. 대안적으로, 일부 실시예들에서, 만약 집적 회로(100)의 동작 온도가 로직 코어(120A)와 로직 코어(120B) 모두의 동작 특성을 감소시킨 이후에도 충분히 낮아지지 않았다면, 온도 제어 로직(210)은 로직 코어(120A) 또는 로직 코어(120B) 또는 양쪽 모두에 대한 동작 특성을 훨씬 더 감소시킬 수 있다. 따라서, 일부 실시예들에서, 온도 제 어 로직(210)은, 집적 회로(100)에 대한 바람직한 동작 온도 또는 최적의 동작 온도가 얻어질 때까지 여러 단계 혹은 스테이지에 걸쳐 복수 코어 프로세서 내의 로직 코어들 중 하나 또는 그 이상에 대한 동작 특성을 감소시키도록 구성될 수 있다.
도 2C에 관하여, 일 실시예에서, 온도 센서(220)는 프로세서(100) 내의 레지스터에 프로세서에 대한 현재의 동작 온도를 주기적으로 저장하도록 구성될 수 있고, 그리고 온도 제어 소프트웨어(240)는 프로세서(100)에 대한 현재의 동작 온도를 결정하기 위해 레지스터에 액세스하도록 구성될 수 있다. 일부 실시예들에서, 온도 센서(들)(220)는, 그 각각이 IC(100) 내의 복수의 코어 혹은 프로세서 코어들 중 다른 하나에 대한 동작 온도에 대응하는 복수의 온도 측정치를 복수의 레지스터들 혹은 IC(100) 내부 혹은 외부의 다른 데이터 저장 위치를 사용하여 저장하도록 구성될 수 있다. 유의할 것으로, 일부 실시예들에서, 온도 제어 소프트웨어(240), 온도 제어 로직(210), 및 파워 관리 로직(200)는 모두 단일의 로직 세트의 일부일 수 있으며, 하드웨어, 펌웨어, 소프트웨어, 혹은 그 결합으로 구현될 수 있고, 로직 코어들(210) 및 공통 브리지 로직(110)과 같은 집적 회로(100)의 다양한 부분들의 동작 주파수 및/또는 전압을 모니터링하고 조절하도록 구성된다.
앞서의 설명은 동작 온도를 감소시키기 위해 혹은 파워 관리 목적으로 하나 또는 그 이상의 로직 코어들에 대한 동작 특성을 감소시키는 것에 관해 언급하고 있지만, 하나 또는 그 이상의 프로세서 코어들에 대한 동작 특성은 다른 이유로 개별적으로 조정될 수 있다. 예를 들어, 일부 실시예들에서, 개개의 로직 코어의 동 작 전압 및/또는 주파수는, 로직 코어가 특정 전압 또는 속도에서 특정 디바이스 혹은 회로와 인터페이스 하도록 또는 특정 디바이스 혹은 회로에 인터페이스 하도록 하면서, 반면에 동일 프로세서의 또 다른 로직 코어가 다른 전압 및/또는 주파수에서 동작할 수 있도록, 복수 코어 프로세서 내의 임의의 다른 로직 코어들과 독립적으로 조정될 수 있다. 일반적으로 본 명세서에서 설명되는 디바이스, 방법 및 기술은 여러 가지 이유로 복수 코어 환경에서의 로직 코어들의 동작 특성을 독립적으로 조정하기 위해 사용될 수 있다.
앞서 설명한 바와 같이, 집적 회로(100)의 로직 코어들(120A 및 120B)과 같은, 복수 코어 집적 회로에서의 복수의 로직 코어들은, 본 발명의 일부 실시예들에 따라, 공통 브리지 로직(110)과 통신 혹은 인터페이스 할 수 있다. 도 3은 변환 로직 및 통신 프로토콜 로직을 사용하여, 로직 코어들(120A 및 120B)이 공통 브리지 로직(110)과 통신하는 집적 회로의 일 실시예를 나타낸 블럭도이다. 앞서 설명된 바와 같이, 복수 코어 집적 회로의 각각의 로직 코어는 다른 로직 코어에 독립적인 전압 및/또는 주파수에서 동작하도록 구성될 수 있기 때문에, 공통 브리지 로직(110)은 개개의 전압 및/또는 주파수에서 각각의 로직 코어와 통신하도록 구성될 수 있다. 따라서, 공통 브리지 로직(110)은, 독립적인 전압 및 주파수에서 서로 다른 로직 코어들과 통신하기 위해 통신 프로토콜 로직(320A 및 320B)과 같은, 통신 프로토콜 로직(320)의 복수의 세트를 포함할 수 있다. 일부 실시예들에서, 통신 프로토콜 로직(320)에 의해 구현되는 특정 로직 프로토콜은, 로직 코어의 동작 주파수와 공통 브리지 로직(110)의 동작 주파수 및/또는 통신 프로토콜 로직(320A)의 동작 주파수 간의 차이로 인한 로직 코어와의 통신에서의 클럭 타이밍의 차이를 설명하도록 구성될 수 있다. 예를 들어, 통신 프로토콜 로직(320A) 및/또는 공통 브리지 로직(110)이 동작하고 있을 수 있는 주파수보다 더 느린 주파수에서 로직 코어(120A)가 동작하고 있다면/있는 경우, 통신 프로토콜 로직(320A)은 로직 코어(120A)로부터의 통신 신호를 예측할 때 더 긴 지연을 예측하도록 구성될 수 있다.
추가적으로, 일부 실시예들에서, 집적 회로(100)는 로직 코어들(120)과 공통 브리지 로직(110) 사이의 인터페이스(들)에서 변환 로직(300)을 포함할 수 있다. 일부 실시예들에서, 이러한 변환 로직은 로직 코어(120)와 공통 브리지 로직(110)의 서로 다른 전압 사이에서 전압 로직 레벨을 변환하도록 구성된다. 예를 들어, 만약 로직 코어(120A)가 하나의 전압에서 동작하고 있고, 반면에 공통 브리지 로직(110) 및/또는 통신 프로토콜 로직(320A)이 다른 전압에서 동작하고 있다면, 변환 로직(300A)은 두 개의 로직 레벨들 사이에서 인터페이스 신호들을 변환하도록 구성될 수 있다. 마찬가지로, 변환 로직(300B)은, 로직 코어(120B)와 통신 프로토콜 로직(320B)이 서로 다른 전압에서 동작하고 있다면/있을 때, 통신 프로토콜 로직(320B)과 로직 코어(120B) 사이에서 신호의 로직 레벨을 변환하도록 구성될 수 있다. 일부 실시예들에서, 변환 로직(300)은 공통 브리지 로직(110)과 로직 코어들(120)의 동작 주파수들 간의 차이를 설명하기 위해 공통 브리지 로직(110)과 로직 코어들(120) 사이에서 인터페이스 신호를 조절하거나 조정하거나 혹은 변환하도록 구성될 수 있다. 일부 실시예들에서, 통신 프로토콜 로직(320A)은 공통 브리지 로직(110)의 나머지가 동작하는 주파수에 독립적인 주파수에서 동작하도록 구성될 수 있다.
도 4는 본 발명의 일 실시예에 따른, 하나 또는 그 이상의 코어 로직들의 독립적인 파워 관리를 위한 방법의 일 실시예를 나타낸 흐름도이다. 앞서 설명된 바와 같이, 복수 로직 코어들에 대한 동작 전압 및 주파수와 같은 동작 특성들은 다양한 이유로 인해 독립적으로 제어될 수 있다. 복수의 로직 코어들을 포함하는 시스템은 블럭(400)에 의해 도시된 바와 같이, 로직 코어에 대한 동작 주파수를 변경할 필요가 있는지 여부를 검출할 수 있다. 예를 들어, 일 실시예에서, 파워 관리 로직(200)은 낮은 파워 상태를 검출할 수 있고, 그리고 시스템의 전체 전력 소모를 감소시키기 위해 복수 코어 프로세서의 하나 또는 그 이상의 로직 코어들에 대한 동작 주파수를 감소시키고자 할 수 있다. 또 다른 실시예에서, 복수 코어 프로세서를 포함하는 시스템은 배터리 파워로부터 동작하고 있을 수 있고, 그리고 파워 관리 로직(200)은, 시스템이 배터리 파워로 동작하고 있는 때를 검출하고 아울러 로직 코어들 중 하나 또는 그 이상의 동작 주파수를 조정하도록 구성될 수 있다. 추가적으로, 파워 관리 로직(200)은 시스템이 배터리 파워로부터 전원 콘센트(wall power)로 바뀌는 때를 검출하고 아울러 하나 또는 그 이상의 로직 코어들의 동작 주파수를 더 높은 주파수로 조정하도록 구성될 수 있어, 시스템이 이제 더 이상 배터리 파워로 동작하지 않을 때에도 가용하도록 구성될 수 있다.
추가적으로, 일부 실시예들에서, 시스템은 하나 또는 그 이상의 로직 코어들의 동작 온도를 조정하도록 구성될 수 있는 온도 제어 로직(210)을 포함할 수 있 다. 예를 들어, 온도 제어 로직(210)은 복수 코어 프로세서에 대한 동작 온도 및/또는 복수 코어 프로세서의 개개의 로직 코어에 대한 동작 온도를 모니터링하도록 구성될 수 있다. 앞서 설명된 바와 같이, 복수 코어 집적 회로는 온도 센서(220)를 포함할 수 있는 데, 이것을 통해 온도 제어 로직(210)은 동작 온도를 모니터링할 수 있다. 앞서 설명된 바와 같이, 만약 개개의 로직 코어 또는 전체 집적 회로에 대한 동작 온도가 바람직한 동작 온도, 또는 최대 동작 온도, 또는 안전한 동작 온도보다 높다면, 온도 제어 로직(210)은, 시스템의 전체 동작 온도를 감소시키기 위해, 복수 코어 집적 회로의 로직 코어들 중 하나 또는 그 이상에 대한 동작 주파수를 감소시키도록 구성될 수 있다. 추가적으로, 일부 실시예들에서, 온도 제어 로직(210)은 특정 동작 온도 아래의 동작 온도 결정에 응답하여 하나 또는 그 이상의 로직 코어들에 대한 동작 주파수를 상승시키도록 구성될 수 있다. 따라서, 일부 실시예들에서, 로직 코어에 대한 동작 주파수는 더 낮은 주파수로 조정될 수 있고, 반면에 다른 실시예에서 로직 코어는 더 높은 주파수에서 동작하도록 조정될 수 있다.
일부 실시예들에서, 온도 제어 로직(210)은 단지 로직 코어에 대한 동작 주파수가 사전에 감소되기만 한다면 로직 코어에 대한 동작 주파수를 상승시키도록 구성될 수 있다. 예를 들어, 로직 코어들(120A)에 대한 동작 주파수가 시스템 시동시 초기에 특정 최대 동작 주파수에 설정될 수 있고, 그리고 온도 제어 로직(210)은 만약 로직 코어(120A)에 대한 동작 주파수가 초기 주파수로부터 낮추어 진다면 로직 코어(120A)에 대한 동작 주파수를 단지 상승시킬 수 있다. 마찬가지로, 로직 코어에 대한 동작 주파수를 상승시킬 때, 파워 관리 로직(200) 및/또는 온도 제어 로직(210)은, 시스템의 현재의 전력 소모 및/또는 동작 온도가 로직 코어로 하여금 특정 최대 동작 주파수보다 더 높은 주파수에서 동작하도록 할 수 있는지 여부에 상관없이 특정 최대 주파수까지 동작 주파수를 단지 상승시키도록 구성될 수 있다.
그러나, 다른 실시예에서, 온도 제어 로직(210)은 로직에 대한 동작 주파수 및/또는 전압이 사전에 감소되었는지 여부에 상관없이 로직 코어에 대한 동작 주파수를 상승시키도록 구성될 수 있다. 따라서, 일 실시예에서, 온도 제어 로직(210)은, 심지어 로직 코어에 대한 동작 주파수를 상승시킨 이후에도 로직 코어가 여전히 최대 동작 온도에서 혹은 최대 동작 온도 아래에서 동작하고 있을 수 있다고 나타낼 정도로 로직 코어에 대한 동작 온도가 충분히 낮다면, 온도 제어 로직(210)은 로직 코어에 대한 동작 주파수를 특정 최대 주파수보다 높게 상승시키도록 구성될 수 있다. 따라서, 일부 실시예들에서, 온도 제어 로직(210)은, 만약 프로세서가 충분히 낮은 동작 온도에서 동작한다면, 프로세서의 동작 주파수를 특정 최대 주파수보다 높게 상승시킬 수 있다. 앞서 설명된 바와 같이, 로직 코어에 대한 동작 주파수를 상승시킬 때, 온도 제어 로직(210)은 또한 더 높은 동작 주파수를 지원하기 위해 로직 코어에 대한 동작 전압을 상승시킬 수 있다.
따라서, 파워 관리 로직(200)은 블럭(410)으로 표시된 바와 같이, 로직 코어에 대한 새로운 주파수를 결정할 수 있다. 하드웨어, 펌웨어, 소프트웨어 혹은 이들의 결합으로 구현될 수 있는 파워 관리 로직(200)은, 예를 들어 표준 알고리즘에 기초하여 또는 다양한 동작 주파수를 포함하고 있는 룩업 테이블(look up table)로 부터, 로직 코어에 대한 새로운 동작 주파수를 결정할 수 있다. 로직 코어에 대한 새로운 동작 주파수를 결정한 이후에, 파워 관리 로직(200)은, 결정 블럭(420)에 의해 나타난 바와 같이, 새로운 주파수가 로직 코어에 대한 현재의 동작 전압과 호환가능한지 여부를 결정할 수 있다. 예를 들어, 만약 새로운 주파수가 현재의 동작 주파수보다 더 크다면, 로직 코어에 대한 현재의 전압은 새로운 주파수를 지원하지 않을 수 있다. 만약 새로운 주파수가 현재의 동작 전압과 호환가능하지 않다면, 파워 관리 로직(200)은 블럭(430)에 의해 나타난 바와 같이, 새로운 주파수와 호환가능한 새로운 전압을 결정할 수 있다. 새로운 주파수를 결정할 때와 같이, 본 발명의 다양한 실시예에 따르면, 파워 관리 로직(200)은 다양한 방법, 예를 들어 알고리즘 혹은 전압 및 주파수의 호환가능 쌍들의 룩업 테이블을 사용하여 새로운 동작 전압을 결정할 수 있다. 새로운 주파수와 호환가능한 새로운 동작 전압을 결정한 이후에, 파워 관리 로직(200)은 블럭(440)에 의해 나타난 바와 같이, 로직 코어에 대한 동작 전압으로서 새로운 전압을 설정할 수 있다.
새로운 주파수가 로직 코어에 대한 현재의 동작 전압과 호환가능하다면, 또는 새로운 주파수와 호환가능한 전압으로 로직 코어에 대한 동작 전압을 조정한 이후에, 파워 관리 로직(200)은 블럭(450)에 나타난 바와 같이 로직 코어에 대한 동작 주파수로서 새로운 주파수를 설정할 수 있다. 일부 실시예들에서, 파워 관리 로직(200)은 만약 필요하다면 동작 주파수를 설정하기 이전에 새로운 동작 전압을 설정할 수 있다. 그러나, 다른 실시예들에서, 파워 관리 로직(200)은 새로운 동작 전압 및 새로운 동작 주파수를 동시에 설정할 수 있고, 또는 일부 실시예들에서, 새 로운 동작 전압을 설정하기 이전에 새로운 동작 주파수를 설정할 수 있다.
앞서 설명된 바와 같이, 로직 코어는, 일부 실시예들에서, 로직 코어에 대한 새로운 주파수와는 다른 주파수에서 동작하고 있을 수 있는 북측브리지와 같은 공통 브리지 로직(110)과 통신하도록 구성될 수 있다. 따라서, 일부 실시예들에서, 파워 관리 로직(200)은, 로직 코어와 공통 브리지 로직 간의 통신을 유지하기 위해, 이러한 공통 브리지 로직(110)을 로직 코어의 새로운 동작 주파수에 대해 조정하도록 구성될 수 있다. 예를 들어, 일 실시예에서, 파워 관리 로직(200)은 공통 브리지 로직(110)을 조정하여 로직 코어에 대한 새로운 동작 주파수에서 동작하도록 구성될 수 있다. 그러나, 다른 실시예들에서, 파워 관리 로직(200)은 공통 브리지 로직(110)을 조정하여 로직 코어에 대한 새로운 동작 주파수와 호환가능한 주파수에서 동작하도록 할 수 있다.
예를 들어, 공통 브리지 로직(110)은 로직 코어에 대한 새로운 동작 주파수보다 더 높은 주파수에서 동작하도록 조정될 수 있고, 그리고 공통 브리지 로직은, 공통 브리지 로직의 높은 동작 주파수의 분할된 버전 혹은 스텝다운된 버전을 사용하여, 로직 코어와 통신하도록 구성된 통신 프로토콜 로직(320)을 포함할 수 있다. 다른 실시예들에서, 통신 프로토콜 로직(320)은, 로직 코어와 공통 브리지 로직 간의 각각의 통신 혹은 신호의 타이밍이 코어 로직 및 공통 브리지 로직의 동작 주파수에서의 차이를 고려하는 것과 같은 것을 확실히 하도록 구성될 수 있다. 따라서, 다양한 실시예들에 따르면, 파워 관리 로직(200)은 다양한 방법들 중 어느 하나로, 예를 들어, 공통 브리지 로직에 대한 전체 동작 주파수를 조정함으로써, 공통 브리 지 로직의 동작 주파수와 로직 코어의 동작 주파수 간의 차이를 설명하도록 통신 프로토콜 로직을 조정함으로써, 또는 이들 모두를 결합하여 수행함으로써, 로직 코어의 새로운 동작 주파수에 응답하여 공통 브리지 로직(110)을 조정하도록 구성될 수 있다. 로직 코어에 대한 새로운 동작 주파수에 응답하여 공통 브리지 로직(110)을 조정할 때, 파워 관리 로직(200)은 또한 공통 브리지 로직(110)이 통신하고 있을 수 있는 다른 로직 코어의 동작 주파수를 고려할 수 있다. 추가적으로, 파워 관리 로직(200)은 또한 공통 브리지 로직(110)에 대한 동작 전압을 조정하여 공통 브리지 로직(110)에 대한 새로운 동작 주파수와 호환가능하도록 할 수 있고, 또는 로직 코어에 대한 새로운 동작 전압을 설정하는 것에 응답하게 할 수 있다.
유의할 것으로, 도 4는 로직 코어에 대한 동작 주파수 및 전압을 제어하는 파워 관리 로직에 관하여 주로 앞에서 설명되었으며, 일부 실시예들에서, 온도 제어 로직은 또한 로직 코어에 대한 동작 주파수 및 전압을 제어할 수 있다. 추가적으로, 다른 실시예들에서, 도 4와 관련되어 앞서 설명된 단계들은 앞서 설명된 것과 다른 순서로 수행될 수 있고, 또는 추가적인 단계 혹은 더 적은 단계로 수행될 수 있다.
도 4는 로직 코어의 동작 주파수를 조정하는 방법에 대한 흐름도이고, 도 5는 로직 코어의 동작 전압을 조정하는 방법의 일 실시예를 나타낸 흐름도이다. 따라서, 블럭(500)으로 나타난 바와 같이, 시스템은 하나 또는 그 이상의 로직 코어들에 대한 동작 전압을 변경할 필요성이 있는지를 검출할 수 있다. 도 4에 관하여 앞서 언급된 바와 같이, 시스템은 시스템에 대한 전력 소모 및 사용을 모니터링 하 고 조정하도록 구성된 파워 관리 로직(200)을 포함할 수 있다. 따라서, 일부 실시예들에서, 파워 관리 로직(200)은, 예를 들어, 복수 코어 집적 회로(100)의 로직 코어들(120) 내의 하나 또는 그 이상의 로직 코어들에 대한 동작 전압을 결정할 수 있다. 예를 들어, 파워 관리 로직(200)은 시스템이 배터리 파워로 동작하고 있는지를 결정할 수 있고, 그리고 시스템의 전체 전력 소비를 감소시키기 위해 로직 코어들 중 하나 또는 그 이상의 동작 전압을 감소시킬 수 있다. 대안적으로, 파워 관리 로직(200)은 시스템이 이제 더 이상 배터리 파워로 실행되지 않는다는 검출에 응답하여 하나 또는 그 이상의 로직 코어들에 대한 동작 전압을 상승시키도록 구성될 수 있다. 대안적으로, 일부 실시예들에서, 파워 관리 로직(200)은 얼마나 많은 배터리 파워가 남아 있는지의 예측에 따라 단계별로 로직 코어(들)의 동작 전압을 감소시키도록 구성될 수 있다.
대안적으로, 온도 제어 로직(210)은, 다양한 실시예들에 따라, 시스템 또는 복수 코어 집적 회로, 또는 개개의 로직 코어에 대한 동작 온도에 근거하여 하나 또는 그 이상의 로직 코어들(120)의 동작 전압을 변경시킬 수 있다. 예를 들어, 앞서 설명된 바와 같이, 온도 제어 로직(210)은 집적 회로(100)에 대한 동작 온도가 바람직한 동작 온도, 또는 최대 동작 온도, 또는 안전한 동작 온도보다 더 높은지를, 예를 들어, 온도 센서(220)를 통해, 검출할 수 있고, 이에 응답하여 집적 회로(100)의 하나 또는 그 이상의 로직 코어들(120)의 동작 전압을 감소시킬 수 있다. 추가적으로, 온도 제어 로직(210)은, 로직 코어들(120) 또는 집적 회로(100) 또는 시스템에 대한 동작 온도가 전체적으로 특정 동작 온도보다 충분히 더 낮다는 검출에 응답하여, 하나 또는 그 이상의 로직 코어들(120)의 동작 전압을 상승시키도록 구성될 수 있다. 달리 말하면, 만약 온도 제어 로직(210)이 현재의 동작 온도와 특정 최대 동작 온도 간에 충분한 차이가 있다고 결정한다면, 온도 제어 로직(210)은 하나 또는 그 이상의 로직 코어들에 대한 현재의 동작 온도를 상승시킬 수 있다. 일부 실시예들에서, 온도 제어 로직(210)은 다른 로직 코어들보다 더 낮은 동작 온도를 갖는 단일의 로직 코어에 대한 동작 전압을 상승시키도록 구성될 수 있다.
일부 실시예들에서, 온도 제어 로직(210)은, 만약 로직 코어들에 대한 동작 전압이 사전에 감소되기만 한다면, 로직 코어에 대한 동작 전압을 상승시키도록 구성될 수 있다. 예를 들어, 로직 코어(120A)에 대한 동작 전압은, 시스템 시동시, 초기에 최대 동작 전압으로 설정될 수 있고, 그리고 온도 제어 로직(210)은 만약 로직 코어(120A)에 대한 동작 전압이 초기 최대 전압으로부터 낮아졌다면 로직 코어(120A)에 대한 동작 전압을 단지 상승시킬 수 있다. 마찬가지로, 로직 코어에 대한 동작 전압을 상승시킬 때, 파워 관리 로직(200) 및/또는 온도 제어 로직(210)은, 시스템의 현재의 전력 소모 및/또는 동작 온도가 로직 코어들로 하여금 특정 최대 동작 전압보다 더 높은 전압에서 동작하도록 할 수 있는지 여부에 상관없이, 특정 최대 전압까지 동작 전압을 단지 상승시키도록 구성될 수 있다.
그러나, 다른 실시예들에서, 온도 제어 로직(210)은 로직 코어에 대한 동작 특성이 사전에 낮추어졌는지 여부에 상관없이 로직 코어의 동작 전압을 상승시키도록 구성될 수 있다. 일부 실시예들에서, 온도 제어 로직(210)은 로직 코어에 대한 동작 전압을 특정 최대 동작 전압보다 높게 상승시키도록 구성될 수 있다. 예를 들어, 만약 집적 회로의 로직 코어가 특정 최대 동작 온도 아래의 동작 온도에서 동작하고 있고 아울러 특정 최대 동작 전압에서 동작하고 있다면, 온도 제어 로직(210)은 로직 코어에 대한 동작 전압을 특정 최대 동작 전압보다 높이 상승시키도록 구성될 수 있다.
따라서, 하나 또는 그 이상의 로직 코어들에 대한 동작 전압을 변경시킬 필요성을 검출한 이후에, 파워 관리 로직(200) 혹은 온도 제어 로직(210)은, 블럭(510)에 나타난 바와 같이, 로직 코어(들)에 대한 새로운 동작 전압을 결정하도록 구성될 수 있다. 일부 실시예들에서, 예를 들어 현재 동작 온도, 현재 파워 인용가능성, 또는 현재 전력 소비와 같은 시스템에 대한 현재의 동작 조건에 기초하여 새로운 동작 전압을 결정하도록 설계된 전압 결정 알고리즘을 통해 새로운 동작 전압이 결정될 수 있다. 대안적으로, 일부 실시예들에서, 로직 코어들에 대한 새로운 동작 전압은 고정된 동작 전압 테이블에 근거하여 결정될 수 있다. 일부 실시예들에서, 새로운 동작 전압이 현재의 동작 주파수를 유지하기 위해 선택될 수 있고, 반면에, 다른 실시예들에서, 새로운 전압이 현재의 동작 주파수에 관한 고려 없이 선택될 수 있다.
하나 또는 그 이상의 로직 코어들에 대한 새로운 동작 전압을 결정한 이후에, 파워 관리 로직(200) 또는 온도 제어 로직(210)은, 블럭(520)에 의해 나타난 바와 같이, 로직 코어(들)에 대한 동작 전압으로서 새로운 전압을 설정할 수 있다. 일부 실시예에서, 하나보다 많은 로직 코어에 대한 새로운 동작 전압을 설정할 때, 파워 관리 로직(200)(또는 온도 제어 로직(210))은 각각의 로직 코어에 대한 동작 전압을 개별적으로 결정하고 조정할 수 있다. 그러나, 다른 실시예들에서, 로직 코어들 모두는 동일한 새로운 전압을 사용하도록 설정될 수 있다.
일부 실시예들에서, 파워 관리 로직(200) 또는 온도 제어 로직(210)은, 결정 블럭(530)에 의해 나타난 바와 같이, 로직 코어(들)에 대한 현재의 동작 주파수가 새로운 동작 전압과 호환가능한지 여부를 결정할 수 있다. 따라서, 일부 실시예들에서, 새로운 동작 주파수가 결정될 수 있고, 그리고 동작 전압이 이러한 새로운 주파수에 근거하여 조정될 수 있으며, 반면에 다른 실시예에서는, 새로운 동작 전압이 결정될 수 있고 그리고 이에 따라 동작 주파수가 조정될 수 있다. 따라서, 만약 로직 코어에 대한 현재의 동작 주파수가 새로운 전압과 호환가능하지 않다면, 블럭(540)에 의해 나타난 바와 같이, 새로운 전압과 호환가능한 새로운 주파수가 결정(또는 선택)될 수 있다. 예를 들어, 일 실시예에서, 파워 관리 로직(200)은 전력 소모를 줄이기 위해 하나 또는 복수의 로직 코어들의 동작 전압을 감소시킬 수 있고, 그리고 새로운 동작 전압과 호환가능하도록 동작 주파수를 감소시킬 수 있다.
마찬가지로, 다른 실시예들에서, 온도 제어 로직(210)은 동작 온도를 감소시키기 위해 로직 코어 혹은 복수의 로직 코어들에 대한 동작 전압을 감소시킬 수 있고, 그리고 이에 대응하여 동작 주파수를 또한 감소시킬 수 있다. 추가적으로, 파워 관리 로직(200)은, 예를 들어 시스템이 전원 콘센트로부터 배터리 파워로 스위칭될 때, 파워 이용가능성을 증가시키기 위해 로직 코어에 대한 동작 전압을 증가 시키도록 구성될 수 있고, 그리고 또한 새롭고 더 높은 동작 전압과 호환가능한 더 높은 주파수까지 동작 주파수를 증가시킬 수 있다. 마찬가지로, 온도 제어 로직(210)은, 예를 들어 동작 온도가 특정 최대 동작 온도보다 더 낮다는 결정에 응답하여 로직 코어의 동작 전압을 조정할 때, 새롭고 더 높은 동작 전압을 이용할 수 있도록 로직 코어에 대한 새로운 동작 주파수를 설정할 수 있다.
새로운 동작 전압과 호환가능한 새로운 주파수를 결정한 이후에, 파워 관리 로직(200)(또는 온도 제어 로직(210))은, 블럭(550)에서 나타난 바와 같이, 로직 코어(들)에 대한 동작 주파수로서 새로운 주파수를 설정할 수 있다. 도 4에 관하여 앞서 설명된 바와 같이, 새로운 동작 전압은 일부 실시예들에서 새로운 동작 주파수를 설정하기 이전에 설정될 수 있고, 반면에 다른 실시예들에서는, 새로운 동작 전압 및 새로운 동작 주파수가 동시에 설정될 수 있다. 또 다른 실시예들에서, 새로운 동작 주파수는 새로운 동작 전압 이전에 설정될 수 있다. 앞서 설명된 바와 같이, 새로운 동작 전압 및/또는 주파수를 설정할 때, 로직 코어 및/또는 전체 집적 회로는 오래된 동작 특성과 새로운 동작 특성 사이의 전이 기간 동안 동작하지 않을 수 있다. 따라서, 일부 실시예들에서, 로직 코어는 새로운 동작 특성으로의 변경 이전에 모든 현재의 동작에 대한 현재의 상태를 저장하도록 구성될 수 있다. 다른 실시예에서, 로직 코어는 임의의 현재 상태를 저장하지 않고, 가능하게는 단지 짧은 전이 기간 이후에 새로운 동작 특징에서 프로세싱을 단지 다시 시작할 수 있다.
앞서 설명된 바와 같이, 일부 실시예들에서, 공통 브리지 로직(110)은 또한, 블럭(560)에 의해 나타난 바와 같이, 로직 코어의 새로운 동작 전압 및/또는 주파수에 따라 동작하도록 조정될 수도 있다. 예를 들어, 공통 브리지 로직(110)은 로직 코어들의 새로운 동작 특성(전압 및 주파수)과 호환가능한 새로운 전압 및/또는 주파수에서 동작하도록 조정될 수 있다. 대안적으로, 로직 코어(120)와 공통 브리지 로직(110) 사이의 인터페이스에 위치하고 있는 전압 변환 로직은 공통 브리지 로직(110)과 로직 코어의 전압 레벨들 사이에서의 적절한 변환을 행하도록 조정될 수 있다. 마찬가지로, 일부 실시예들에서, 공통 브리지 로직(110)의 공통 프로토콜 로직(320A)과 같은 프로토콜 로직은, 로직 코어와 통신할 때, 예를 들어, 공통 브리지 로직과 로직 코어 간의 통신 프로토콜에서 사용되는 타이밍이 두 개의 동작 주파수 간의 차이를 고려하기에 적절하다는 것을 확실히 함으로써, 로직 코어의 새로운 동작 특성을 고려하도록 조정될 수 있다.
앞서 설명된 바와 같이, 도 4 및 도 5는 복수 코어 집적 회로의 하나 또는 그 이상의 로직 코어들에 대한 동작 특성에 대해 단일 변경을 행하는 방법을 나타내는 반면, 도 6은 여러 단계 혹은 스테이지를 거쳐 하나 또는 그 이상의 로직 코어들에 대한 동작 특성을 감소시키는 방법의 일 실시예를 나타낸 흐름도이다. 예를 들어, 일 실시예에서, 온도 제어 로직(210)과 같은 온도 제어 로직은 집적 회로(100)의 동작 온도를 모니터링하도록 구성될 수 있고, 그리고 집적 회로(100)의 현재의 동작 온도가, 블럭(600)에 의해 나타난 바와 같이, 특정 동작 온도보다 더 높은 지를 결정할 수 있다. 대안적으로, 일부 실시예들에서, 온도 제어 로직(210)은, 예를 들어 온도 센서(220)를 통해 획득된 현재의 동작 온도를 최대 안전 동작 온도와 비교할 수 있고, 상기 최대 안전 동작 온도보다 높은 온도에서 집적 회로(100)는 신뢰가능한 동작을 하지 않을 수 있거나 손상을 입을 수 있다. 앞서 설명된 바와 같이, 일부 실시예들에서, 온도 제어 로직(210)은 집적 회로(100)에 대한 단일 동작 온도를 모니터링할 수 있고, 반면에 다른 실시예에서는, 온도 제어 로직(210)은 집적 회로(100)의 개개의 로직 코어들 혹은 영역들에 대응하는 복수의 개개의 동작 온도를 모니터링 할 수 있다.
동작 온도(전체 직접 회로에 대한 동작 온도 혹은 하나 또는 그 이상의 개개의 로직 코어들의 동작 온도)가 너무 높다는 결정 이후에, 온도 제어 로직(210)은, 블럭(610)에 의해 나타낸 바와 같이, 집적 회로(100)의 하나 또는 그 이상의 로직 코어들(120)에 대한 동작 주파수 및/또는 전압을 낮출 수 있다. 도 4 및 도 5에 관해 앞서 설명된 바와 같이, 온도 제어 로직(210)은 새로운 동작 주파수를 먼저 결정할 수 있고, 그 다음에 이에 대응하여 동작 전압을 조정할 수 있다. 또는, 대안적으로, 다른 실시예들에서, 온도 제어 로직(210)은 새로운 동작 온도를 먼저 결정할 수 있고, 그 다음에 동작 주파수를 조정할 수 있다. 일부 실시예들에서, 온도 제어 로직(210)은 집적 회로(100)에 대한 전체 동작 온도를 감소시키기 위해 복수의 로직 코어들에 대한 동작 주파수를 낮출 수 있다. 그러나, 다른 실시예에서, 온도 제어 로직(210)은, 집적 회로(100)에 대한 전체 동작 온도를 감소시키고자 할 때, 단일 로직 코어에 대한 동작 주파수 및/또는 전압을 초기에 감소시키도록 구성될 수 있다.
집적 회로(100)의 하나 또는 그 이상의 로직 코어들(120)에 대한 동작 특성 들(즉, 전압 및/또는 주파수)을 감소시킨 이후에, 온도 제어 로직(210)은, 동작 온도 낮춤이 더 낮은 동작 특성에 대한 응답인지를 검증하도록 구성될 수 있다. 따라서, 온도 제어 로직(210)은, 집적 회로(100)에 대한 동작 온도 혹은 하나 또는 그 이상의 개개의 로직 코어들에 대한 동작 온도가 결정 블럭(620)에 의해 나타나는 바와 같이, 여전히 너무 높은 지 여부를 결정하기 위해, 예를 들어 온도 센서(220)를 통해, 동작 온도를 모니터링할 수 있다. 달리 말하면, 하나 또는 그 이상의 로직 코어들(120)의 동작 특성에 초기 조정이 수행된 이후에, 온도 제어 로직(210)은, 동작 온도가 특정 최대 동작 온도보다 더 낮은 레벨로 낮추어졌는지를 검증할 수 있다. 일부 실시예들에서, 온도 제어 로직(210)은, 하나 또는 그 이상의 로직 코어들에 대한 동작 특성을 조정한 이후, 동작 온도가 충분히 감소되었는지 여부를 결정하기 이전에, 동작 온도가 안정화되도록 일정 시간을 대기하도록 구성될 수 있다.
만약, 집적 회로의 하나 또는 그 이상의 로직 코어들에 대한 동작 특성을 감소시킨 이후, 집적 회로에 대한 동작 온도 혹은 로직 코어들 중 하나 또는 그 이상에 대한 동작 온도가 충분히 낮아지지 않았다면, 온도 제어 로직(210)은, 블럭(630)에 의해 나타난 바와 같이, 로직 코어(들)에 대한 동작 주파수 및/또는 전압을 더 낮출 수 있다. 예를 들어, 온도 제어 로직(210)은 복수의 로직 코어들(120)에 대한 동작 특성(즉, 주파수 및/또는 전압)을 초기에 일정 양만큼 감소시킬 수 있고, 후속적으로 블럭(640)에 의해 나타나는 바와 같이, 로직 코어들에 대한 동작 특성을 훨씬 더 낮출 수 있다. 예를 들어, 일 실시예에서, 온도 제어 로 직(210)은 복수의 로직 코어들(120)에 대한 동작 주파수를 초기에 반 정도 낮출 수 있지만, 만약 이후 집적 회로(100)에 대한 동작 온도가 특정 최대 동작 온도보다 더 높게 유지된다면, 온도 제어 로직(210)은 예를 들어 본래 값의 사분의 일의 값까지 동작 주파수를 더 감소시킬 수 있다. 마찬가지로, 온도 제어 로직(210)은 동작 전압을 초기에 반정도 감소시킬 수 있고, 후속적으로 이것을 훨씬 더 감소시킬 수 있다. 다른 실시예에서, 온도 제어 로직(210)은, 집적 회로(100)의 전체 동작 온도를 감소시키기 위해, 로직 코어(120A)와 같은 단일 로직 코어에 대한 동작 특성을 초기에 감소시킬 수 있다. 만약 집적 회로(100)에 대한 동작 온도가 충분히 낮아지지 않는다면(예를 들어, 특정 최대 값보다 더 낮은 레벨까지), 온도 제어 로직(210)은 집적 회로(100)의 하나 또는 그 이상의 추가적인 로직 코어들에 대한 동작 특성을 낮출 수 있다.
일부 실시예들에서, 단일 로직 코어의 동작 주파수 및/또는 전압은, 어떤 최소 레벨에 도달할 때까지 다양한 스테이지를 통해 감소될 수 있고, 그 다음에, 하나 또는 그 이상의 다른 로직 코어들의 동작 주파수 및/또는 전압은, 집적 회로(100)의 동작 온도가 특정 최대 동작 온도 레벨 또는 특정 최대 동작 온도 아래 레벨까지 감소될 때까지, 동일 스테이지를 통해 조정될 수 있다. 대안적으로, 다른 실시예들에서, 복수 로직 코어들(120)에 대한 동작 주파수 및 전압은 집적 회로(100)에 대한 동작 온도가 충분히 감소될 때까지, 다양한 레벨 혹은 스테이지를 통해 함께(즉, 병렬로) 감소될 수 있다.
일부 실시예들에서, 온도 제어 로직(210)은, 집적 회로(100)에 대한 동작 온 도가 얼마나 많이 낮추어 질 필요가 있는지에 따라, 얼마나 많은 로직 코어들의 동작 특성이 조정되어야 하는지를 결정하도록 구성될 수 있다. 따라서, 만약 집적 회로(100)에 대한 현재의 동작 온도가 특정 최대 동작 온도에 충분히 가깝거나 혹은 특정 최대 동작 온도보다 더 큰다면, 온도 제어 로직(210)은 집적 회로(100)에서의 복수의(혹은 모든) 로직 코어들의 동작 특성을 조정할 수 있다. 그러나, 만약, 집적 회로(100)에 대한 현재의 동작 온도가 특정 최대 동작 온도에 근접하고 있거나 혹은 특정 최대 동작 온도에 있다면, 온도 제어 로직(210)은 집적 회로(100)에서의 몇 개의 로직 코어들 혹은 단 하나의 로직 코어의 동작 특성을 조정할 수 있다.
따라서, 온도 제어 로직(210)은, 다른 실시예들에서, 다양한 방법에 따라 여러 단계 혹은 스테이지를 통해 로직 코어들에 대한 동작 특성을 감소시킬 수 있다. 일부 실시예들에서, 온도 제어 로직(210)은 다양한 주파수 및/또는 전압과 병렬로 복수의 로직 코어들에 대한 동작 특성을 감소시킬 수 있고, 반면에, 다른 실시예들에서, 온도 제어 로직(210)은 개개의 로직 코어들의 동작 특성을 개별적으로 그리고 차례로 감소시킬 수 있다.
도 6에 의해 도시된 방법이 온도 제어 목적으로 하나 또는 그 이상의 로직 코어들의 동작 특성들을 감소시키는 것에 관한 것을 설명하고 있지만, 다른 실시예들에서, 로직 코어들에 대한 동작 특성은 파워 관리 목적으로 조정될 수 있다. 따라서, 파워 관리 로직(200)은, 일부 실시예들에 따라, 집적 회로(100)의 전체 전력 소비를 감소시키기 위해, 여러 단계 혹은 스테이지를 거쳐 하나 또는 그 이상의 로직 코어들(120)의 동작 특성을 감소시키도록 구성될 수 있다. 온도 제어에 관한 앞 서 설명된 방법과 유사하게, 파워 관리 로직(200)은 초기에 단일 로직 코어에 대한 동작 특성을 감소시킬 수 있고, 집적 회로(100)의 전력 소비를 계속 모니터링 할수 있으며, 그리고 추가적인 로직 코어들의 동작 특성을 후속적으로 감소시켜 집적 회로(100)의 전력 소비를 훨씬 더 감소시킬 수 있다. 추가적으로, 일부 실시예들에서, 파워 관리 로직(200)은 복수의 로직 코어들(120)에 대한 동작 특성을 함께 감소시키도록 그리고 만약 필요하거나 요구된다면 동일 로직 코어들에 대한 동작 특성을 후속적으로 감소시키도록 구성될 수 있다.
도 7은 복수 코어 집적 회로의 하나 또는 그 이상의 로직 코어들의 주파수 및/또는 전압을 상승시키는 방법의 일 실시예를 나타낸 흐름도이다. 예를 들어, 파워 관리 혹은 온도 제어에 대해서, 집적 회로(100)의 하나 또는 그 이상의 로직 코어들(120)의 동작 특성을 감소시킨 이후에, 본 발명의 다양한 실시예들에 따라, 동작 특성은 후속적으로, 예를 들어 더 많은 파워 이용가능성에 대한 응답으로 혹은 현재의 동작 온도와 특정 최대 동작 온도 간의 차이를 이용하기 위해, 상향 조정될 수 있다. 따라서, 일부 실시예들에서, 온도 제어 로직(210)은, 집적 회로(100)의 동작 온도가 특정 최대 동작 온도보다 더 크거나 또는 특정 최대 동작 온도의 어떤 범위에 내에 있다고 검출되면, 블럭(700)에 의해 나타난 바와 같이, 하나 또는 그 이상의 로직 코어들(120)에 대한 동작 주파수 및/또는 전압을 낮출 수 있다. 후속적으로, 온도 제어 로직(210)은, 집적 회로(100)에 대한 동작 온도를 계속 모니터링하는 것의 일부로서, 집적 회로(100)에 대한 동작 온도가, 결정 블럭(710)에 의해 나타난 바와 같이, 특정 최대치보다 더 낮은지 여부를 결정할 수 있다.
만약, 하나 또는 그 이상의 로직 코어들의 동작 특성을 초기에 혹은 여러 번 조정한 이후에, 집적 회로(100)에 대한 현재의 동작 온도가, 결정 블럭(710)의 아니오 출력에 의해 나타난 바와 같이, 특정 최대 동작 온도의 일정 범위에 있다면, 온도 제어 로직(210)은 블럭(750)에 의해 나타난 바와 같이 정상적인 프로세싱을 계속 수행할 수 있으며, 이것은 집적 회로(100)의 동작 온도를 계속 모니터링하는 것을 포함할 수 있다. 그러나, 만약 현재의 동작 온도가 특정 최대 동작 온도보다 충분히 더 낮다면, 온도 제어 로직(210)은 블럭(720)에 의해 나타난 바와 같이 로직 코어들 중 하나 또는 그 이상(이들에 대한 동작 특성은 이전에 낮추어져 있음)에 대한 동작 주파수 및/또는 전압을 상승시킬 수 있다. 추가적으로, 일부 실시예들에서, 온도 제어 로직(210)은 각각의 로직 코어의 동작 온도를 개별적으로 모니터링하도록 구성될 수 있고, 그리고 또한 개개의 동작 온도 측정에 근거하여 각각의 로직 코어에 대한 동작 특성을 개별적으로 조정하도록 구성될 수도 있다. 따라서, 일부 실시예들에서, 온도 제어 로직(210)은 너무 따뜻하게 동작하고 있을 수 있는 하나의 로직 코어에 대한 동작 전압 및/또는 주파수를 낮출 수 있고, 반면에 낮은 동작 온도를 갖는 또 다른 로직 코어에 대한 동작 전압 및/또는 주파수를 상승시킬 수 있다.
로직 코어들 중 하나 또는 그 이상의 동작 주파수 및/또는 주파수를 상승시킨 이후에, 온도 제어 로직(210)은 블럭(730)에 의해 나타난 바와 같이, 로직 코어들의 새로운 동작 특성과 호환 가능하도록 공통 브리지 로직(110)을 또한 조정할 수 있다. 예를 들어, 공통 브리지 로직(110)은 적어도 로직 코어들에 대한 새로운 동작 주파수만큼 높은 주파수 및 가능하게는 이러한 새로운 동작 주파수보다 더 높은 주파수에서 동작하도록 조정될 수 있다. 추가적으로, 공통 브리지 로직(110)의 통신 프로토콜 로직은 로직 코어들의 새로운 동작 주파수를 고려하도록 조정될 수 있다. 더욱이, 로직 코어(120)와 공통 브리지 로직(110) 간의 전압 변환 로직(300)은 공통 브리지 로직(110)의 전압 레벨(들)과 로직 코어(120)의 새로운 동작 전압 사이의 적절한 변환을 수행하도록 조정될 수 있다.
도 7에 의해 예시된 흐름도는 온도 제어에 관해 예시된 것이며, 일부 실시예들에서, 유사한 방법이 파워 관리를 위해 사용될 수 있다. 예를 들어, 파워 관리 로직(200)은, 예를 들어 시스템이 배터리 파워로 스위칭하는 것에 응답하여 그리고/또는 일반적인 전력 보존 방법 혹은 기술의 일부로서, 집적 회로(100)의 전체 전력 소비를 감소시키기 위해 하나 또는 그 이상의 로직 코어들에 대한 동작 특성을 낮출 수 있다. 파워 관리 로직(200)은 후속적으로 집적 회로(100)의 전력 소비를 계속 모니터링할 수 있고, 그리고 또한 집적 회로(100)에 대한 전력 이용가능성, 예를 들어, 시스템이 여전히 배터리 파워로 동작하고 있는지를 모니터링 할 수 있어, 현재 파워 이용가능성을 이용하도록 로직 코어들의 동작 특성을 상승시킬지 여부를 결정할 수 있다. 예를 들어, 시스템이 배터리 파워로 동작하는 것에 응답하여 하나 또는 그 이상의 로직 코어들에 대한 동작 주파수 및/또는 전압을 감소시킨 이후에, 파워 관리 로직(200)은 시스템이 이제 더 이상 배터리 파워로 동작하지 않고 전원 콘센트로 동작하고 있을 수 있음을 검출할 수 있고, 그리고 이에 응답하여 로직 코어들의 동작 주파수 및/또는 전압을 상승시킬 수 있는데, 왜냐하면 전력 소비 가 이제 더 이상 감소될 필요가 없기 때문이다.
도 8은 버스 브리지(402)를 통해 다양한 시스템 컴포넌트들에 연결된 마이크로프로세서(1100)를 포함하는 컴퓨터 시스템(1000)의 일 실시예의 블럭도를 나타낸다. 마이크로프로세서(1100)는 복수의 로직 코어들을 포함할 수 있고, 그 각각은 본 발명의 다양한 실시예들에 따라 본 명세서에서 설명된 바와 같이 다른 코어들이 동작할수 있는 전압 및/또는 주파수에 독립적인 전압 및/또는 주파수에서 동작하도록 구성될 수 있다. 일부 실시예들에서, 프로세서(1100)는, 앞서 설명된, 집적 회로(100), 하나 또는 그 이상의 로직 코어들(120), 공통 브리지 로직(110), 및/또는 하나 또는 그 이상의 온도 센서들(220)을 포함할 수 있다. 추가적으로, 시스템(1000)은 파워 관리 로직(200), 온도 제어 로직(210) 및/또는 온도 제어 소프트웨어(240)를 포함할 수 있고, 이들 중 어느 하나는, 본 명세서에서 설명된 바와 같이, 본 발명의 다양한 실시예에 따라, 로직 코어(들)(120) 및 가능하게는 공통 브리지 로직(110)에 대한 동작 주파수 및/또는 전압을 제어 혹은 조정하도록 구성될 수 있다.
추가적으로, 시스템(1000)의 다른 컴포넌트들은 독립적인 주파수 및/또는 전압에서 동작하도록 구성될 수 있는 복수의 로직 코어들을 포함할 수 있다. 예를 들어, 그래픽 제어기(1108)는 하나 또는 그 이상의 복수 코어 집적 회로를 포함할 수 있고, 그리고 이러한 집적 회로 내의 각각의 로직 코어는 본 명세서에서 설명된 바와 같이 독립적인 주파수 및/또는 전압에서 동작하도록 구성될 수 있다. 마찬가지로, 2차 버스(secondary bus)(1116), 또는 PCI 디바이스들(1112) 혹은 ISA 디바이 스들(1118) 중 어느 하나는 또한 본 명세서에서 설명된 바와 같이 독립적인 주파수 및/또는 전압에서 동작하도록 구성된 복수 코어 집적 회로 혹은 다른 컴포넌트들을 포함할 수 있다.
앞서 설명된 컴퓨터 시스템(1000) 및/또는 집적 회로(100)는 다양한 타입의 디바이스들 중 어느 하나의 일부일 수 있으며, 개인용 컴퓨터 시스템, 데스크탑 컴퓨터, 랩탑 컴퓨터 혹은 노트북 컴퓨터, 메인프레임 컴퓨터 시스템, 핸드헬드 컴퓨터, 워크스테이션, 네트워크 컴퓨터, 가전 기기, 애플리케이션 서버, 저장 장치, 주변 장치, 예를 들어 스위치, 모뎀, 라우터 등, 혹은 일반적으로 임의 타입의 컴퓨팅 디바이스를 포함할 수 있지만 이것에만 한정되는 것은 아니다.
도시된 시스템에서, 메인 메모리(1104)는 메모리 버스(1106)를 통해 버스 브리지(1102)에 연결되고, 그리고 그래픽 제어기(1108)는 AGP 버스(1110)를 통해 버스 브리지(1102)에 연결된다. 그러나, 컴퓨터 시스템의 다른 실시예들도 가능하며 고려될 수 있다. 몇몇의 PCI 디바이스들, 예를 들어 PCI 디바이스들(1112A-1112B)은 PCI 버스(1114)를 통해 버스 브리지(1102)에 연결될 수 있다. 2차 버스 브리지(1116)는 또한 EISA/ISA 버스(1120)를 통해 하나 또는 그 이상의 EISA 혹은 ISA 버스(1118)에 대한 전기적 인터페이스를 수용하기 위해 제공될 수 있다. 도 8에 나타난 예에서, 마이크로프로세서(1100)는, 본 발명의 일 실시예에 따라, CPU 버스(1124)를 통해 버스 브리지(1102)에 연결될 수 있고, 그리고 또한 선택적 L2 캐시(1128)에 연결될 수도 있다. 일부 실시예들에서, 마이크로프로세서(1100)는 통합된 L1 캐시(미도시)를 포함할 수 있다. 유의할 것으로, 일부 실시예들에서, 메인 메모리(1104)는, 앞서 설명된 바와 같이, 로직 코어들(120) 및/또는 공통 브리지 로직(110)의 동작 주파수 및/또는 전압을 독립적으로 제어하도록 구성된 프로그램 명령들을 포함할 수 있다.
버스 브리지(1102)는 마이크로프로세서(1100), 메인 메모리(1104), 그래픽 제어기(1108), 및 PCI 버스(1114)에 부착된 디바이스들 간의 인터페이스를 제공할 수 있다. 버스 브리지(1102)에 연결된 디바이스들 중 하나로부터 임의의 동작이 수신될 때, 버스 브리지(1102)는 그 동작의 타겟(예를 들어, 특정 디바이스, 또는 PCI 버스(1114)의 경우에, 타겟은 PCI 버스(1114) 상에 있는 것임)을 식별한다. 버스 브리지(1102)는 타겟 디바이스로 상기 동작을 라우팅시킨다. 버스 브리지(1102)는 일반적으로 소스 디바이스 혹은 버스에 의해 사용된 프로토콜에서 타겟 디바이스 혹은 버스에 의해 사용된 프로토콜로 동작을 변환한다.
PCI 버스(1114)에 대한 ISA/EISA 버스로의 인터페이스를 제공하는 것에 더하여, 2차 버스 브리지(1116)가 추가적인 기능을 포함할 수 있다. 2차 버스 브리지(1116)로부터 외부에 있는 혹은 2차 버스 브리지(1116)와 통합된 입력/출력 제어기(미도시)가 또한 컴퓨터 시스템(1100) 내에 포함될 수 있어 키보드 및 마우스(1122)에 동작가능한 지원을 제공할 수 있고 그리고 다양한 직렬 포트 및 병렬 포트에 동작 가능한 지원을 제공할 수 있다. 다른 실시예에서, 외부 캐시 유닛(미도시)이 마이크로프로세서(1100)와 버스 브리지(1102) 사이의 CPU 버스에 연결될 수 있다. 대안적으로, 외부 캐시는 버스 브리지(1102)에 연결될 수 있고, 그리고 외부 캐시에 대한 캐시 제어 로직이 버스 브리지(1102)에 통합될 수 있다. L2 캐 시(1128)는 마이크로프로세서(1100)에 대한 후방 구성으로 나타나 있다. 유의할 것으로, L2 캐시(1128)는 마이크로프로세서(1100)로부터 분리되어 있을 수 있으며, 마이크로프로세서(1100)와 카트리지(cartridge)(예를 들어, 슬롯 1 또는 슬롯 A)에 통합될수 있거나, 또는 반도체 기판 상에 마이크로프로세서(1100)와 통합될 수 있다.
메인 메모리(1104)는 애플리케이션 프로그램들이 저장된 메모리일 수 있으며, 이로부터 마이크로프로세서(1100)가 우선적으로 실행될 수 있다. 적당한 메인 메모리(1104)로는 DRAM(Dynamic Random Access Memory)가 있을 수 있다. 예를 들어, 복수 뱅크의 SDRAN(Synchronous DRAM) 혹은 RDRAM(Rambus DRAM)이 적당할 수 있다.
PCI 디바이스들(1112A-1112B)은 다양한 주변 기기들, 예를 들어 네트워크 인터페이스 카드, 비디오 가속기, 오디오 카드, 하드 디스크 드라이브 혹은 플로피 디스크 드라이브 또는 드라이브 제어기, SCSI((Small Computer Systems Interface) 어탭터 및 통화 카드(telephony cards)를 나타낼 수 있다. 마찬가지로, ISA 디바이스(1118)는 다양한 타입의 주변 기기, 예를 들어, 모뎀, 사운드 카드, 및 다양한 데이터 획득 카드, 예를 들어, GPIB 혹은 필드 버스 인터페이스 카드(field bus interface cards)를 나타낸다.
그래픽 제어기(1108)가 디스플레이(1126) 상에 텍스트 및 이미지의 렌더링를 제어하기 위해 제공될 수 있다. 그래픽 제어기(1108)는 본 발명의 기술분야에서 일반적으로 공지된 전형적인 그래픽 가속기를 포함할 수 있어, 효율적으로 메인 메모 리(1104)로 시프팅될 수 있고 아울러 메인 메모리(1104)로부터 시프팅될 수 있는 삼차원 데이터 구조를 렌더링할 수 있다. 따라서, 그래픽 가속기(1108)는, 버스 브리지(1102) 내의 타겟 인터페이스에 대한 액세스를 요청 및 수신할 수 있어 메인 메모리(1104)에 대한 액세스를 획득할 수 있다는 점에서, AGP 버스(1110)의 마스터일 수 있다. 전용 그래픽 버스는 메인 메모리(1104)로부터 데이터의 고속 검색을 가능하게 한다. 일정 동작에 대해, 그래픽 제어기(1108)는 또한 AGP 버스(1110) 상의 PCI 프로토콜 트랙잭션들을 발생시키도록 구성될 수 있다. 따라서, 버스 브리지(1102)의 AGP 인터페이스는 AGP 프로토콜 트랜잭션들뿐만 아니라 PCI 프로토콜 타겟 및 개시 트랜잭션들을 모두 지원할 수 있는 기능을 포함할 수 있다. 디스플레이(1126)는 이미지 또는 텍스트가 제공될 수 있는 임의의 전자적인 디스플레이이다. 적절한 디스플레이(1126)로는 CRT(Cathode Ray Tube), LCD(Liquid Crystal Display), 등이 있다. 유의할 것으로, 비록 AGP, PCI, 및 ISA 또는 EISA 버스들이 앞서의 설명에서 예로서 사용되었지만, 필요에 따라 임의의 버스 아키텍처로 대체될 수 있다. 또한 이해할 것으로, 컴퓨터 시스템(1000)은 추가적인 마이크로프로세서들(예를 들어, 컴퓨터 시스템(1000)의 선택적 컴포넌트로서 도시된 마이크로프로세서(1100a))을 포함하는 멀티프로세싱 컴퓨터 시스템일 수 있다. 마이크로프로세서(1100a)는 마이크로프로세서(1100)와 유사할 수 있다. 특히, 마이크로프로세서(1100a)는 일 실시예에서 마이크로프로세서(1100)와 동일한 복제물일 수 있다. 마이크로프로세서(1100a)는 독립적인 버스를 통해 버스 브리지(1102)에 연결될 수 있고, 또는 CPU 버스(1124)를 마이크로프로세서(1100)와 공유할 수 있다. 더욱이, 마이크로프로세서(1100a)는 L2 캐시(1128)와 유사한 선택적 L2 캐시(1128a)에 연결될 수 있다.
본 명세서에서 사용되고 있는 용어 "클럭 싸이클" 또는 "싸이클"은 시간의 간격을 말하는 것으로, 이 시간 간격에서 명령 프로세싱 파이프라인의 다양한 단계들이 그들의 태스크를 완료한다. 명령 및 연산 값은 클럭 싸이클을 정하는 클럭 신호에 따라 메모리 소자(예를 들어, 레지스터 혹은 어레이)에 의해 캡처된다. 예를 들어, 메모리 소자는 클럭 신호의 상승 에지 또는 하강 에지에 따라 임의의 값을 캡처할 수 있다.
상기 설명을 충분히 이해하는 경우, 본 발명의 기술분야에서 숙련된 기술을 가진자들에게는 여러 변형 및 수정이 가능하다는 것은 명백하다. 다음의 특허청구범위는 이러한 변형 및 수정 모두를 포괄하도록 의도된 것이다.
본 발명은 일반적으로 마이크로프로세서에 응용가능하다.

Claims (10)

  1. 집적 회로(100)로서,
    복수의 로직 코어들(120)과; 그리고
    공통 인터페이스 유닛(110)을 포함하여 구성되며,
    여기서 상기 복수의 로직 코어들 중 적어도 하나는 상기 복수의 로직 코어들 중 또 다른 하나가 동작하는 전압 레벨에 독립적인 전압 레벨에서 동작하도록 구성되고, 그리고 상기 로직 코어들 중 적어도 하나는 상기 복수의 로직 코어들 중 또 다른 하나가 동작하는 주파수에 독립적인 주파수에서 동작하도록 구성되고,
    상기 공통 인터페이스 유닛은 상기 복수의 로직 코어들과 상기 집적 회로의 외부에 있는 하나 또는 그 이상의 컴포넌트들 간의 인터페이스를 제공하도록 구성되며, 그리고 동작 동안 상기 공통 인터페이스 유닛은 다른 전압 레벨에서 동작하는 상기 복수의 로직 코어들 중 일부와 통신하도록 구성되고 아울러 다른 주파수에서 동작하는 상기 로직 코어들 중 일부와 통신하도록 구성되는 것을 특징으로 하는 집적 회로.
  2. 제1항에 있어서,
    상기 집적 회로에 대한 현재의 동작 온도가 특정 온도보다 더 뜨겁다는 결정에 응답하여, 상기 복수의 로직 코어들 중 적어도 하나에 대한 현재의 동작 전압 레벨을 조정하도록 구성되는 파워 관리 로직을 더 포함하는 것을 특징으로 하는 집 적 회로.
  3. 제2항에 있어서,
    상기 집적 회로에 대한 현재의 동작 온도가 특정 온도보다 더 뜨겁다는 결정에 더 응답하여, 상기 파워 관리 로직은 상기 공통 인터페이스 유닛에 대한 동작 전압을 조정 전압으로 조정하도록 구성되며, 여기서 상기 조정 전압은 상기 공통 인퍼페이스 유닛에 대한 현재의 동작 전압보다 낮은 것을 특징으로 하는 집적 회로.
  4. 제2항에 있어서,
    상기 집적 회로에 대한 현재의 동작 온도가 상기 집적 회로에 대한 특정 온도보다 더 뜨겁다는 결정에 응답하여, 상기 파워 관리 로직은 상기 복수의 로직 코어들 중 적어도 하나에 대한 동작 주파수를 조정하도록 더 구성되는 것을 특징으로 하는 집적 회로.
  5. 제4항에 있어서,
    상기 파워 관리 로직은 상기 공통 인터페이스 유닛에 대한 동작 주파수를 조정 주파수로 조정하도록 더 구성되며, 여기서 상기 조정 주파수는 상기 복수의 로직 코어들 중 상기 적어도 하나의 상기 조정된 동작 주파수와 동일하거나 또는 이보다 더 큰 것을 특징으로 하는 집적 회로.
  6. 제1항에 있어서,
    상기 집적 회로에 대한 현재의 동작 온도가 상기 집적 회로에 대한 특정 온도보다 더 뜨겁다는 결정에 응답하여, 상기 복수의 로직 코어들 중 적어도 하나의 동작 주파수를 조정하도록 구성되는 주파수 제어 로직을 더 포함하는 것을 특징으로 하는 집적 회로.
  7. 제1항에 있어서,
    상기 복수의 로직 코어들 중 상기 적어도 하나와 상기 공통 인터페이스 유닛 사이의 인터페이스에 위치하는 전압 변환 로직을 더 포함하며, 여기서 상기 전압 변환은 통신 신호를 상기 공통 인터페이스 유닛이 동작하는 전압 레벨에서 상기 로직 코어들 중 상기 적어도 하나가 동작하는 전압 레벨로 변환하도록 구성되는 것을 특징으로 하는 집적 회로.
  8. 제1항에 있어서,
    상기 집적 회로에 대한 현재의 동작 온도가 상기 집적 회로에 대한 특정 온도보다 더 뜨겁다는 결정에 응답하여, 상기 복수의 로직 코어들 중 적어도 하나의 동작 주파수를 증가시키도록 구성되는 주파수 제어 로직을 더 포함하는 것을 특징으로 하는 집적 회로.
  9. 집적 회로(100)에 대한 현재의 동작 온도가 특정 온도보다 더 뜨거운지를 결정하는 단계와, 여기서 상기 집적 회로는 복수의 로직 코어들(120)을 포함하고, 그리고 상기 로직 코어들 각각은 상기 로직 코어들 중 또 다른 하나가 동작하는 전압에 독립적인 전압에서 동작하도록 구성되며, 그리고 상기 로직 코어들 각각은 상기 로직 코어들 중 또 다른 하나가 동작하는 주파수에 독립적인 주파수에서 동작하도록 구성되고; 그리고
    상기 결정에 응답하여, 상기 복수의 로직 코어들 중 적어도 하나에 대해 낮은 동작 전압 또는 낮은 동작 주파수 중 어느 하나를 제공하는 단계를 포함하여 구성되며, 여기서, 상기 낮은 동작 전압은 상기 복수의 로직 코어들 중 상기 적어도 하나에 대한 현재의 동작 전압보다 낮은 동작 전압이며, 그리고 상기 낮은 동작 주파수는 상기 복수의 로직 코어들 중 상기 적어도 하나에 대한 현재의 동작 주파수보다 낮은 동작 주파수인 것을 특징으로 하는 방법.
  10. 컴퓨터 시스템으로서,
    프로세서와; 그리고
    상기 프로세서에 연결된 메모리를 포함하여 구성되며,
    여기서 상기 프로세서는,
    프로그램 명령들을 실행하도록 구성된 복수의 프로세서 코어들(120)과; 그리고
    상기 프로세서 코어들 각각에 연결되는 공통 인터페이스 유닛(110)을 포함하며,
    여기서 상기 복수의 프로세서 코어들 각각은 상기 복수의 프로세서 코어들 중 또 다른 하나가 동작하는 각각의 전압에 독립적인 전압에서 동작하도록 구성되고, 그리고 상기 복수의 프로세서 코어들 각각은 상기 복수의 프로세서 코어들 중 또 다른 하나가 동작하는 주파수에 독립적인 주파수에서 동작하도록 구성되고,
    그리고 상기 공통 인터페이스 유닛은 상기 프로세서 코어들 각각 및 상기 프로세서의 외부에 있는 하나 또는 그 이상의 컴포넌트들과 인터페이스 하도록 구성되며,
    그리고 상기 공통 인터페이스 유닛은 상기 복수의 프로세서 코어들 중 어느 하나가 동작하는 전압에 독립적인 전압에서 동작하도록 구성되며,
    그기고 상기 공통 인터페이스 유닛은 상기 복수의 로직 코어들 중 어즈 하나가 동작하는 주파수에 독립적인 주파수에서 동작하도록 구성되는 것을 특징으로 하는 컴퓨터 시스템.
KR1020087019152A 2006-01-03 2006-12-08 독립 주파수 및/또는 전압에서 집적 회로의 컴포넌트를동작시키는 시스템 및 방법 KR20080097419A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/325,054 2006-01-03
US11/325,054 US7263457B2 (en) 2006-01-03 2006-01-03 System and method for operating components of an integrated circuit at independent frequencies and/or voltages

Publications (1)

Publication Number Publication Date
KR20080097419A true KR20080097419A (ko) 2008-11-05

Family

ID=38137673

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087019152A KR20080097419A (ko) 2006-01-03 2006-12-08 독립 주파수 및/또는 전압에서 집적 회로의 컴포넌트를동작시키는 시스템 및 방법

Country Status (8)

Country Link
US (1) US7263457B2 (ko)
JP (1) JP2009522688A (ko)
KR (1) KR20080097419A (ko)
CN (1) CN101351759B (ko)
DE (1) DE112006003628B4 (ko)
GB (1) GB2447392B (ko)
TW (1) TWI417740B (ko)
WO (1) WO2007081466A2 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8996331B2 (en) 2011-01-06 2015-03-31 Qualcomm Incorporated Method and system for managing thermal policies of a portable computing device
KR20150070315A (ko) * 2012-12-28 2015-06-24 인텔 코포레이션 총 플랫폼 전력 제어
KR20190048204A (ko) * 2017-10-30 2019-05-09 삼성전자주식회사 시스템 온 칩의 구동 방법, 이를 수행하는 시스템 온 칩 및 이를 포함하는 전자 시스템
WO2021262197A1 (en) * 2020-06-26 2021-12-30 Intel Corporation Performance level control in a data processing apparatus

Families Citing this family (135)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7180322B1 (en) 2002-04-16 2007-02-20 Transmeta Corporation Closed loop feedback control of integrated circuits
US7949864B1 (en) 2002-12-31 2011-05-24 Vjekoslav Svilan Balanced adaptive body bias control
US7187053B2 (en) * 2003-06-26 2007-03-06 International Business Machines Corporation Thermal sensing method and system
US7649402B1 (en) 2003-12-23 2010-01-19 Tien-Min Chen Feedback-controlled body-bias voltage source
US7721128B2 (en) * 2005-11-29 2010-05-18 International Business Machines Corporation Implementation of thermal throttling logic
US7698089B2 (en) * 2005-11-29 2010-04-13 International Business Machines Corporation Generation of software thermal profiles executed on a set of processors using processor activity
US20070124618A1 (en) * 2005-11-29 2007-05-31 Aguilar Maximino Jr Optimizing power and performance using software and hardware thermal profiles
US7460932B2 (en) * 2005-11-29 2008-12-02 International Business Machines Corporation Support of deep power savings mode and partial good in a thermal management system
US7681053B2 (en) * 2005-11-29 2010-03-16 International Business Machines Corporation Thermal throttle control with minimal impact to interrupt latency
US7603576B2 (en) * 2005-11-29 2009-10-13 International Business Machines Corporation Hysteresis in thermal throttling
US7386414B2 (en) * 2005-11-29 2008-06-10 International Business Machines Corporation Generation of hardware thermal profiles for a set of processors
US7512513B2 (en) * 2005-11-29 2009-03-31 International Business Machines Corporation Thermal throttling control for testing of real-time software
US7512530B2 (en) * 2005-11-29 2009-03-31 International Business Machines Corporation Generation of software thermal profiles for applications in a simulated environment
US7376532B2 (en) * 2005-11-29 2008-05-20 International Business Machines Corporation Maximal temperature logging
US7848901B2 (en) * 2005-11-29 2010-12-07 International Business Machines Corporation Tracing thermal data via performance monitoring
US7397726B1 (en) * 2006-04-07 2008-07-08 Altera Corporation Flexible RAM clock enable
US8037893B2 (en) * 2006-05-03 2011-10-18 International Business Machines Corporation Optimizing thermal performance using thermal flow analysis
US20070260894A1 (en) * 2006-05-03 2007-11-08 Aguilar Maximino Jr Optimizing thermal performance using feed-back directed optimization
US7552346B2 (en) * 2006-05-03 2009-06-23 International Business Machines Corporation Dynamically adapting software for reducing a thermal state of a processor core based on its thermal index
US7596430B2 (en) * 2006-05-03 2009-09-29 International Business Machines Corporation Selection of processor cores for optimal thermal performance
US7685441B2 (en) * 2006-05-12 2010-03-23 Intel Corporation Power control unit with digitally supplied system parameters
US7669069B2 (en) * 2006-06-28 2010-02-23 Intel Corporation Control of link supply power based on link port mode
US7843157B2 (en) * 2006-06-30 2010-11-30 Regal Beloit Company Methods and apparatus for providing motor control signals
WO2008053789A1 (en) 2006-10-31 2008-05-08 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device
US7949887B2 (en) * 2006-11-01 2011-05-24 Intel Corporation Independent power control of processing cores
US7724078B2 (en) * 2007-03-22 2010-05-25 Intel Corporation Adjusting PLL/analog supply to track CPU core supply through a voltage regulator
US7917799B2 (en) * 2007-04-12 2011-03-29 International Business Machines Corporation Method and system for digital frequency clocking in processor cores
US8108708B2 (en) * 2007-05-03 2012-01-31 Microchip Technology Incorporated Power optimization when using external clock sources
JP5182792B2 (ja) * 2007-10-07 2013-04-17 アルパイン株式会社 マルチコアプロセッサ制御方法及び装置
US7945804B2 (en) * 2007-10-17 2011-05-17 International Business Machines Corporation Methods and systems for digitally controlled multi-frequency clocking of multi-core processors
US8027798B2 (en) * 2007-11-08 2011-09-27 International Business Machines Corporation Digital thermal sensor test implementation without using main core voltage supply
US8615647B2 (en) 2008-02-29 2013-12-24 Intel Corporation Migrating execution of thread between cores of different instruction set architecture in multi-core processor and transitioning each core to respective on / off power state
JP5344190B2 (ja) * 2008-03-04 2013-11-20 日本電気株式会社 半導体デバイス
US20090235108A1 (en) * 2008-03-11 2009-09-17 Gold Spencer M Automatic processor overclocking
US20090273239A1 (en) * 2008-05-02 2009-11-05 Goodnow Kenneth J Semiconductor power distribution and control systems and methods
US20090276644A1 (en) * 2008-05-02 2009-11-05 Goodnow Kenneth J Structure for semiconductor power distribution and control
US7757233B2 (en) * 2008-07-10 2010-07-13 International Business Machines Corporation Controlling a computer system having a processor including a plurality of cores
CN101673232A (zh) * 2008-09-11 2010-03-17 鸿富锦精密工业(深圳)有限公司 电压调整系统及方法
JP5237739B2 (ja) * 2008-09-29 2013-07-17 株式会社日立製作所 情報処理装置
US8122270B2 (en) * 2008-09-29 2012-02-21 Intel Corporation Voltage stabilization for clock signal frequency locking
US8402290B2 (en) * 2008-10-31 2013-03-19 Intel Corporation Power management for multiple processor cores
US20100162256A1 (en) * 2008-12-18 2010-06-24 Alexander Branover Optimization of application power consumption and performance in an integrated system on a chip
US8495699B2 (en) 2008-12-23 2013-07-23 At&T Intellectual Property I, L.P. Distributed content analysis network
US20100223673A1 (en) * 2009-02-27 2010-09-02 At&T Intellectual Property I, L.P. Providing multimedia content with access restrictions
US20100223660A1 (en) * 2009-02-27 2010-09-02 At&T Intellectual Property I, L.P. Providing multimedia content with time limit restrictions
US8064197B2 (en) 2009-05-22 2011-11-22 Advanced Micro Devices, Inc. Heat management using power management information
US8904421B2 (en) * 2009-06-30 2014-12-02 At&T Intellectual Property I, L.P. Shared multimedia experience including user input
US8738949B2 (en) * 2009-08-31 2014-05-27 Empire Technology Development Llc Power management for processor
US8321705B2 (en) * 2009-10-13 2012-11-27 Advanced Micro Devices, Inc. Dynamic table look-up based voltage regulator control
US8909962B2 (en) 2009-12-16 2014-12-09 Qualcomm Incorporated System and method for controlling central processing unit power with guaranteed transient deadlines
US9104411B2 (en) 2009-12-16 2015-08-11 Qualcomm Incorporated System and method for controlling central processing unit power with guaranteed transient deadlines
US8775830B2 (en) 2009-12-16 2014-07-08 Qualcomm Incorporated System and method for dynamically controlling a plurality of cores in a multicore central processing unit based on temperature
US9176572B2 (en) 2009-12-16 2015-11-03 Qualcomm Incorporated System and method for controlling central processing unit power with guaranteed transient deadlines
US9128705B2 (en) 2009-12-16 2015-09-08 Qualcomm Incorporated System and method for controlling central processing unit power with reduced frequency oscillations
US9563250B2 (en) * 2009-12-16 2017-02-07 Qualcomm Incorporated System and method for controlling central processing unit power based on inferred workload parallelism
US20110145559A1 (en) * 2009-12-16 2011-06-16 Thomson Steven S System and method for controlling central processing unit power with guaranteed steady state deadlines
US8689037B2 (en) * 2009-12-16 2014-04-01 Qualcomm Incorporated System and method for asynchronously and independently controlling core clocks in a multicore central processing unit
US8650426B2 (en) 2009-12-16 2014-02-11 Qualcomm Incorporated System and method for controlling central processing unit power in a virtualized system
US8549339B2 (en) * 2010-02-26 2013-10-01 Empire Technology Development Llc Processor core communication in multi-core processor
DE102010009736A1 (de) 2010-03-01 2011-09-01 Giesecke & Devrient Gmbh System mit elektronischem Schaltkreis
US8484495B2 (en) * 2010-03-25 2013-07-09 International Business Machines Corporation Power management in a multi-processor computer system
US8271812B2 (en) 2010-04-07 2012-09-18 Apple Inc. Hardware automatic performance state transitions in system on processor sleep and wake events
US8442786B2 (en) 2010-06-02 2013-05-14 Advanced Micro Devices, Inc. Flexible power reporting in a computing system
US8510582B2 (en) 2010-07-21 2013-08-13 Advanced Micro Devices, Inc. Managing current and power in a computing system
US20130124890A1 (en) * 2010-07-27 2013-05-16 Michael Priel Multi-core processor and method of power management of a multi-core processor
US8943334B2 (en) 2010-09-23 2015-01-27 Intel Corporation Providing per core voltage and frequency control
US9317082B2 (en) 2010-10-13 2016-04-19 Advanced Micro Devices, Inc. Controlling operation of temperature sensors
US8793512B2 (en) * 2010-10-29 2014-07-29 Advanced Micro Devices, Inc. Method and apparatus for thermal control of processing nodes
US8468373B2 (en) * 2011-01-14 2013-06-18 Apple Inc. Modifying performance parameters in multiple circuits according to a performance state table upon receiving a request to change a performance state
US8769316B2 (en) 2011-09-06 2014-07-01 Intel Corporation Dynamically allocating a power budget over multiple domains of a processor
EP3480679A1 (en) * 2011-09-06 2019-05-08 Telefonaktiebolaget LM Ericsson (publ) Regulating the activity of a core
US8954770B2 (en) 2011-09-28 2015-02-10 Intel Corporation Controlling temperature of multiple domains of a multi-domain processor using a cross domain margin
US9074947B2 (en) 2011-09-28 2015-07-07 Intel Corporation Estimating temperature of a processor core in a low power state without thermal sensor information
US20130086395A1 (en) * 2011-09-30 2013-04-04 Qualcomm Incorporated Multi-Core Microprocessor Reliability Optimization
US9026815B2 (en) * 2011-10-27 2015-05-05 Intel Corporation Controlling operating frequency of a core domain via a non-core domain of a multi-domain processor
US8832478B2 (en) 2011-10-27 2014-09-09 Intel Corporation Enabling a non-core domain to control memory bandwidth in a processor
US9158693B2 (en) 2011-10-31 2015-10-13 Intel Corporation Dynamically controlling cache size to maximize energy efficiency
US8943340B2 (en) 2011-10-31 2015-01-27 Intel Corporation Controlling a turbo mode frequency of a processor
US9347836B2 (en) 2011-11-15 2016-05-24 Ati Technologies Ulc Dynamic voltage reference for sampling delta based temperature sensor
US8862909B2 (en) 2011-12-02 2014-10-14 Advanced Micro Devices, Inc. System and method for determining a power estimate for an I/O controller based on monitored activity levels and adjusting power limit of processing units by comparing the power estimate with an assigned power limit for the I/O controller
US8924758B2 (en) 2011-12-13 2014-12-30 Advanced Micro Devices, Inc. Method for SOC performance and power optimization
US8799694B2 (en) * 2011-12-15 2014-08-05 International Business Machines Corporation Adaptive recovery for parallel reactive power throttling
US8954764B2 (en) 2012-03-05 2015-02-10 Csr Technology Inc. Method and apparatus for dynamic power management
WO2013147770A1 (en) * 2012-03-28 2013-10-03 Intel Corporation Method and apparatus for atomic frequency and voltage changes
TWI470402B (zh) * 2012-04-25 2015-01-21 Academia Sinica 行動裝置cpu工作頻率控制方法
US8972759B2 (en) * 2012-06-29 2015-03-03 Qualcomm Incorporated Adaptive thermal management in a portable computing device including monitoring a temperature signal and holding a performance level during a penalty period
US9285818B2 (en) * 2012-07-26 2016-03-15 Qualcomm Incorporated Autonomous thermal controller for power management IC
US8996902B2 (en) 2012-10-23 2015-03-31 Qualcomm Incorporated Modal workload scheduling in a heterogeneous multi-processor system on a chip
US9405351B2 (en) * 2012-12-17 2016-08-02 Intel Corporation Performing frequency coordination in a multiprocessor system
US9292468B2 (en) * 2012-12-17 2016-03-22 Intel Corporation Performing frequency coordination in a multiprocessor system based on response timing optimization
US9690578B2 (en) * 2013-02-20 2017-06-27 Intel Corporation High dose radiation detector
US9367114B2 (en) * 2013-03-11 2016-06-14 Intel Corporation Controlling operating voltage of a processor
US9348407B2 (en) 2013-06-27 2016-05-24 Intel Corporation Method and apparatus for atomic frequency and voltage changes
TWI458993B (zh) * 2013-07-22 2014-11-01 Giga Byte Tech Co Ltd 量測電源之電壓及電流之治具及其量測方法
US9495001B2 (en) * 2013-08-21 2016-11-15 Intel Corporation Forcing core low power states in a processor
US20150148981A1 (en) * 2013-11-24 2015-05-28 Qualcomm Incorporated System and method for multi-correlative learning thermal management of a system on a chip in a portable computing device
US9625971B2 (en) 2014-01-10 2017-04-18 Taiwan Semiconductor Manufacturing Company, Ltd. System and method of adaptive voltage frequency scaling
US10082847B2 (en) * 2014-04-01 2018-09-25 Qualcomm Incorporated Method and system for optimizing performance of a PCD while mitigating thermal generation
US9977439B2 (en) * 2014-04-08 2018-05-22 Qualcomm Incorporated Energy efficiency aware thermal management in a multi-processor system on a chip
US9671767B2 (en) 2014-05-14 2017-06-06 Advanced Micro Devices, Inc. Hybrid system and method for determining performance levels based on thermal conditions within a processor
US9652019B2 (en) 2014-06-02 2017-05-16 Advanced Micro Devices, Inc. System and method for adjusting processor performance based on platform and ambient thermal conditions
US9971609B2 (en) * 2014-06-05 2018-05-15 American Megatrends, Inc. Thermal watchdog process in host computer management and monitoring
US9575537B2 (en) 2014-07-25 2017-02-21 Intel Corporation Adaptive algorithm for thermal throttling of multi-core processors with non-homogeneous performance states
US9791904B2 (en) * 2014-08-15 2017-10-17 Intel Corporation Balanced control of processor temperature
US9619289B2 (en) 2014-09-11 2017-04-11 Dell Products, L.P. Workload optimized server for intelligent algorithm trading platforms
WO2016041509A1 (en) * 2014-09-17 2016-03-24 Mediatek Inc. Dynamic frequency scaling in multi-processor systems
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
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
US9582052B2 (en) 2014-10-30 2017-02-28 Qualcomm Incorporated Thermal mitigation of multi-core processor
US9710043B2 (en) * 2014-11-26 2017-07-18 Intel Corporation Controlling a guaranteed frequency of a processor
US10048744B2 (en) * 2014-11-26 2018-08-14 Intel Corporation Apparatus and method for thermal management in a multi-chip package
TWI628942B (zh) * 2015-02-05 2018-07-01 絡達科技股份有限公司 可自我檢測操作狀態之通訊模組、通訊裝置及其檢測方法
US9946327B2 (en) 2015-02-19 2018-04-17 Qualcomm Incorporated Thermal mitigation with power duty cycle
US9658634B2 (en) 2015-03-30 2017-05-23 Apple Inc. Under voltage detection and performance throttling
US10031574B2 (en) * 2015-05-20 2018-07-24 Mediatek Inc. Apparatus and method for controlling multi-core processor of computing system
CN105068871B (zh) * 2015-07-28 2018-12-21 深圳市万普拉斯科技有限公司 运算资源的控制方法和装置
KR102599653B1 (ko) * 2015-11-20 2023-11-08 삼성전자주식회사 냉각 알고리즘을 수행하는 집적 회로와 이를 포함하는 모바일 장치
US10013392B2 (en) * 2016-01-26 2018-07-03 Intel Corporation Providing access from outside a multicore processor SoC to individually configure voltages
US10496141B2 (en) * 2016-03-17 2019-12-03 Qualcomm Incorporated System and method for intelligent thermal management in a system on a chip having a heterogeneous cluster architecture
US11399720B2 (en) 2016-04-05 2022-08-02 Qulacomm Incorporated Circuits and methods providing temperature mitigation for computing devices
US9848515B1 (en) 2016-05-27 2017-12-19 Advanced Micro Devices, Inc. Multi-compartment computing device with shared cooling device
US10359833B2 (en) * 2016-06-20 2019-07-23 Qualcomm Incorporated Active-core-based performance boost
US10659063B2 (en) * 2016-11-01 2020-05-19 Nvidia Corporation Adaptive voltage frequency scaling for optimal power efficiency
US10298456B1 (en) 2016-11-28 2019-05-21 Barefoot Networks, Inc. Dynamically reconfiguring data plane of forwarding element to account for power consumption
US10064141B2 (en) * 2016-12-09 2018-08-28 Qualcomm Incorporated Core frequency/count decision-based thermal mitigation optimization for a multi-core integrated circuit
US11830200B2 (en) * 2017-05-18 2023-11-28 Advanced Micro Devices, Inc. Ambient temperature reporting through infrared facial recognition
TWI723332B (zh) * 2019-01-22 2021-04-01 華碩電腦股份有限公司 電腦系統管理方法與電腦系統
KR20210032213A (ko) * 2019-09-16 2021-03-24 삼성전자주식회사 전력 스텝에 기초한 동적 다이내믹 전압 주파주 스케일링(dvfs) 수행 방법
US11520628B2 (en) * 2020-05-20 2022-12-06 Qualcomm Incorporated Cooperative dynamic clock and voltage scaling (DCVS) between two processor systems
CN111722931A (zh) * 2020-06-24 2020-09-29 龙芯中科技术有限公司 处理器的控制方法、装置、设备及存储介质
TWI806141B (zh) * 2021-08-30 2023-06-21 瑞昱半導體股份有限公司 處理器電路以及電腦可讀媒體
US20240004444A1 (en) * 2022-06-30 2024-01-04 Advanced Micro Devices, Inc. Rest-of-chip power optimization through data fabric performance state management
TWI805447B (zh) * 2022-07-14 2023-06-11 新唐科技股份有限公司 控制裝置及其操作方法
WO2024019191A1 (ko) * 2022-07-20 2024-01-25 엘지전자 주식회사 디스플레이 장치 및 그 동작 방법

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5630110A (en) * 1996-03-01 1997-05-13 Samsung Electronics Co., Ltd. Method and apparatus for enhancing performance of a processor
WO2001027728A1 (en) 1999-10-14 2001-04-19 Advanced Micro Devices, Inc. Minimizing power consumption during sleep modes by using minimum core voltage necessary to maintain system state
US6901303B2 (en) * 2001-07-31 2005-05-31 Hewlett-Packard Development Company, L.P. Method and apparatus for controlling fans and power supplies to provide accelerated run-in testing
US7111178B2 (en) 2001-09-28 2006-09-19 Intel Corporation Method and apparatus for adjusting the voltage and frequency to minimize power dissipation in a multiprocessor system
US6804632B2 (en) * 2001-12-06 2004-10-12 Intel Corporation Distribution of processing activity across processing hardware based on power consumption considerations
US6714891B2 (en) * 2001-12-14 2004-03-30 Intel Corporation Method and apparatus for thermal management of a power supply to a high performance processor in a computer system
US6922783B2 (en) * 2002-01-16 2005-07-26 Hewlett-Packard Development Company, L.P. Method and apparatus for conserving power on a multiprocessor integrated circuit
US6908227B2 (en) * 2002-08-23 2005-06-21 Intel Corporation Apparatus for thermal management of multiple core microprocessors
US7076672B2 (en) 2002-10-14 2006-07-11 Intel Corporation Method and apparatus for performance effective power throttling
US7112979B2 (en) * 2002-10-23 2006-09-26 Intel Corporation Testing arrangement to distribute integrated circuits
US7228242B2 (en) * 2002-12-31 2007-06-05 Transmeta Corporation Adaptive power control based on pre package characterization of integrated circuits
US7085945B2 (en) * 2003-01-24 2006-08-01 Intel Corporation Using multiple thermal points to enable component level power and thermal management
US7162652B2 (en) * 2003-06-20 2007-01-09 Texas Instruments Incorporated Integrated circuit dynamic parameter management in response to dynamic energy evaluation
US7134031B2 (en) * 2003-08-04 2006-11-07 Arm Limited Performance control within a multi-processor system
GB2408116B (en) * 2003-11-14 2006-09-20 Advanced Risc Mach Ltd Operating voltage determination for an integrated circuit
US20060161375A1 (en) * 2004-12-30 2006-07-20 Allen Duberstein Optimizing processing speed based on measured temperatures
US7490254B2 (en) * 2005-08-02 2009-02-10 Advanced Micro Devices, Inc. Increasing workload performance of one or more cores on multiple core processors
US7568115B2 (en) * 2005-09-28 2009-07-28 Intel Corporation Power delivery and power management of many-core processors

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8996331B2 (en) 2011-01-06 2015-03-31 Qualcomm Incorporated Method and system for managing thermal policies of a portable computing device
US8996330B2 (en) 2011-01-06 2015-03-31 Qualcomm Incorporated Method and system for managing thermal policies of a portable computing device
KR20150070315A (ko) * 2012-12-28 2015-06-24 인텔 코포레이션 총 플랫폼 전력 제어
US9395774B2 (en) 2012-12-28 2016-07-19 Intel Corporation Total platform power control
KR20190048204A (ko) * 2017-10-30 2019-05-09 삼성전자주식회사 시스템 온 칩의 구동 방법, 이를 수행하는 시스템 온 칩 및 이를 포함하는 전자 시스템
WO2021262197A1 (en) * 2020-06-26 2021-12-30 Intel Corporation Performance level control in a data processing apparatus

Also Published As

Publication number Publication date
US20070156370A1 (en) 2007-07-05
WO2007081466A2 (en) 2007-07-19
CN101351759A (zh) 2009-01-21
GB2447392B (en) 2009-12-16
WO2007081466A3 (en) 2007-12-27
JP2009522688A (ja) 2009-06-11
DE112006003628T5 (de) 2008-11-13
TW200736935A (en) 2007-10-01
TWI417740B (zh) 2013-12-01
DE112006003628B4 (de) 2024-02-01
GB0812573D0 (en) 2008-08-13
US7263457B2 (en) 2007-08-28
GB2447392A (en) 2008-09-10
CN101351759B (zh) 2012-10-10

Similar Documents

Publication Publication Date Title
KR20080097419A (ko) 독립 주파수 및/또는 전압에서 집적 회로의 컴포넌트를동작시키는 시스템 및 방법
US7392413B2 (en) Changing of operating voltage in semiconductor integrated circuit
KR100866428B1 (ko) 그래픽 메모리 제어기 허브 및 그 제어 회로, 집적 장치 및 컴퓨팅 장치
US9261949B2 (en) Method for adaptive performance optimization of the soc
US7111178B2 (en) Method and apparatus for adjusting the voltage and frequency to minimize power dissipation in a multiprocessor system
US9652019B2 (en) System and method for adjusting processor performance based on platform and ambient thermal conditions
US8442697B2 (en) Method and apparatus for on-demand power management
US8510582B2 (en) Managing current and power in a computing system
EP2635948B1 (en) Method and apparatus for thermal control of processing nodes
US6714891B2 (en) Method and apparatus for thermal management of a power supply to a high performance processor in a computer system
US7774627B2 (en) Microprocessor capable of dynamically increasing its performance in response to varying operating temperature
US7690843B2 (en) Failsafe mechanism for preventing an integrated circuit from overheating
US20130173946A1 (en) Controlling power consumption through multiple power limits over multiple time intervals
KR100987846B1 (ko) 다이당 전압 프로그래밍 장치, 방법, 시스템 및 컴퓨터 판독가능 매체
KR20020050270A (ko) 환경에 따른 프로세서의 작동 파라미터의 동적 조절방법
US7770042B2 (en) Microprocessor with improved performance during P-state transitions
JP2010039655A (ja) コンピュータの放熱システム
Yahya et al. DarkGates: A Hybrid Power-Gating Architecture to Mitigate the Performance Impact of Dark-Silicon in High Performance Processors

Legal Events

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