KR100609278B1 - 써멀 솔루션을 최적화하는 방법 및 장치 - Google Patents

써멀 솔루션을 최적화하는 방법 및 장치 Download PDF

Info

Publication number
KR100609278B1
KR100609278B1 KR1020037012774A KR20037012774A KR100609278B1 KR 100609278 B1 KR100609278 B1 KR 100609278B1 KR 1020037012774 A KR1020037012774 A KR 1020037012774A KR 20037012774 A KR20037012774 A KR 20037012774A KR 100609278 B1 KR100609278 B1 KR 100609278B1
Authority
KR
South Korea
Prior art keywords
bandwidth
region
throttle
temperature
set point
Prior art date
Application number
KR1020037012774A
Other languages
English (en)
Other versions
KR20040060848A (ko
Inventor
쿠퍼바네스
킹매트
플렛처테리
와이어트데이비드
Original Assignee
인텔 코오퍼레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인텔 코오퍼레이션 filed Critical 인텔 코오퍼레이션
Publication of KR20040060848A publication Critical patent/KR20040060848A/ko
Application granted granted Critical
Publication of KR100609278B1 publication Critical patent/KR100609278B1/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/16Constructional details or arrangements
    • G06F1/20Cooling means
    • 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)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Control Of Temperature (AREA)
  • Microcomputers (AREA)
  • Control Of Throttle Valves Provided In The Intake System Or In The Exhaust System (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

칩셋과 같은 시스템의 스로틀 설정치를 얻는 방법 및 장치가 제공된다. 제1 대역폭은 시스템의 제1 영역(또는 인터페이스)에 적용될 수 있고 제1 영역의 온도는 열 센서를 사용하여 감지될 수 있다. 이러한 제1 영역을 통과하는 대역폭은 이상적인 설정치 또는 최적화된 설정치를 얻기 위해 감지된 온도에 기초하여 증가하거나 감소될 수 있다.
칩셋, 스로틀 설정치, 폐루프 피드백 제어 시스템, 대역폭, 인터페이스, 감지된 온도, 열 센서, 모니터링 시스템

Description

써멀 솔루션을 최적화하는 방법 및 장치{METHOD AND APPARATUS FOR OPTIMIZING THERMAL SOLUTIONS}
본 발명은 칩셋용 스로틀 설정치에 관한 것이다. 보다 상세하게는, 본 발명은 감지된 온도에 기초하여 스로틀 설정치를 최적화하는 방법 및 장치에 관한 것이다
칩셋은 칩셋의 외부의 구성요소와 연결되기 위해 인터페이스를 포함한다. 또한, 칩셋은 각각의 로직 구성요소 사이에 내부 인터페이스를 포함한다. 동작 동안에, 이러한 인터페이스는 대역폭이 각각의 인터페이스를 통하여 그리고 신호 라인을 따라 트래버싱할 때 열을 발생한다. 온도는 칩셋의 동작 동안 문제를 야기하는 레벨에까지 상승할 수 있다. 보다 많은 전류가 인터페이스를 흐를수록 칩셋의 구성요소 및 인터페이스에 영향을 줄 수 있는 보다 많은 열이 발생할 수 있다.
히트 싱크, 에어 플로우 또는 히트 싱크 및 에어 플로우의 조합이 칩셋의 실리콘이 그 결합 온도 규격명세를 초과하지 않도록 써멀 솔루션으로서 사용될 수 있다. 보다 최근의 칩셋은 클록 주파수/듀티 사이클을 낮춤으로써 최대 허용 전력을 제한하고 및/또는 최대 허용 대역폭을 제한하는 메커니즘(즉, 스로틀링)을 포함할 수 있다. 분석 및 평가에 의해 실제의 애플리케이션은 고전력 소비 대역폭을 유지할 수 없음을 알 수 있다. 스로틀 값은 고정된 값일 수 있고 예상되는 악화된 상황의 실제 애플리케이션이 발생시킬 수 있는 대역폭을 달성할 수 있도록 하면서 인공적으로 제조된 해로운 애플리케이션이 보다 높은 대역폭을 유지할 수 없도록 할 수 있다. 이러한 써멀 솔루션은 악화된 상황의 실제 애플리케이션 전력이 달성가능한 최고의 전력에 가깝고 최대 근방의 대역폭을 소비할 수 있을 경우 더이상 충분하지 않을 수 있다. 따라서, 대부분의 극단적인 상황을 커버하는 일단의 고정된 스로틀 값은 이러한 극단적인 열 상태가 절대 없는 환경에서조차 부품의 성능을 가시적으로 악화시킬 수 있다.
본 발명의 앞서 말한 이해 및 보다 나은 이해는 모두 본 발명의 일부를 형성하는 다음의 실시예의 상세한 설명 및 청구항을 도면과 함께 읽을 때 명백해질 것이다. 이전 및 다음의 설명이 본 발명의 실시예를 설명하는데 초점을 맞추고 있지만, 이것은 단지 예일뿐 본 발명을 제한하지는 않는다는 것을 이해해야 한다.
다음은 동일한 부재 번호가 동일 요소를 나타내는 도면의 간략한 설명이다.
도 1은 컴퓨터 시스템 플랫폼의 예를 도시한 도면;
도 2는 본발명의 일실시예의 블록도,
도 3은 본 발명의 일실시예의 순서도,
도 4는 본 발명의 일실시예의 순서도,
도 5는 본 발명의 일실시예의 순서도,
도 6은 100% 및 50% 스로틀링을 도시하는 타이밍도,
도 7은 고정 스로틀링을 도시하는 타이밍도,
도 8은 본 발명의 일실시예에 따른 동적 스로틀링을 도시하는 타이밍도, 및
도 9는 본 발명의 일실시예에 따른 폐루프 피드백 제어 시스템으로서 동작하는 집적 칩셋의 블록도.
다음의 설명에서, 동일한 부재 번호 및 문자는 상이한 도면에서 동일하거나, 상응하거나 또는 유사한 구성요소를 지시하는데 사용될 수 있다. 또한, 다음의 상세한 설명에서, 크기/모델/값/범위의 예가 주어질 수 있지만 본 발명이 상기 예에 제한되는 것은 아니다. 또한, 클록 및 타이밍 신호 도면은 스케일에 맞추어 도시되지 않았다. 배열은 본 발명이 모호해지는 것을 방지하기 위해 블록도 형태로 도시되어 있고, 또한 이러한 블록도 배열의 구현에 관한 명세는 본 발명이 구현되는 플랫폼에 크게 의존할 수 있다는 관점에서 도시되었다. 즉, 이러한 상세는 당업자의 범위내에서 이해되어야 한다. 특정 세부사항(예컨대, 회로, 순서도)이 본 발명의 실시예를 설명하기 위해 제시되었지만, 당업자는 이러한 특정 세부사항 없이 또는 그 변경사항으로 본 발명을 구현할 수 있음을 알아야 한다. 결국, 하드와이어 회로 및 소프트웨어 명령어의 조합을 달리하여 본 발명의 실시예를 구현할 수 있다는 것을 이해해야 한다.
또한, 본 명세서내의 "일실시예","구현예"등에 관한 언급은 그 실시예와 연결하여 설명된 특정 특징, 구조, 또는 특성이 본 발명의 적어도 하나의 실시예에 포함되어 있다는 것을 의미하는 것으로 의도되었다. 본 명세서의 다양한 위치의 이러한 표현은 모두 동일한 실시예를 언급하는 것은 아니다. 또한, 임의의 실시예와 연결하여 특정 특징, 구조 또는 특성이 설명될 때, 이것이 다른 실시예와 연결하여 이러한 특징, 구조, 또는 특성을 사용할 수 있도록 당업자의 이해 범위내에 있도록 제시되었다.
도 1은 컴퓨터 시스템 플랫폼의 예를 도시하고 있다. 도 1에 도시된 바와 같이, 컴퓨터 시스템(100)은 프로세서 서브시스템(110), 이 프로세서 서브시스템(110)에 프론트측 버스(10)에 의해 연결되어 있는 메모리 서브시스템(120), 이 메모리 서브시스템(120)에 그래픽스 버스(30)에 의해 연결되어 있는 그래픽스(130), 상이한 대역폭 및 동작 속도의 주변 구성요소 인터커넥트(PCI) 버스(60 및 70)와 같은 주변 버스에 인터페이스에 제공하기 위하여 허브 링크(40,50)에 의해 상기 메모리 서브시스템(120)에 연결되어 있는 하나 이상의 호스트 칩셋(140-150), 플래시 메모리(160), 및 영숫자 키보드의 동작을 제어하기 위한 키보드 컨트롤러, 마우스, 트랙볼, 터치패드, 조이스틱등과 같은 커서 제어 디바이스, 자기 테이프, 하드 디스크 드라이브(HDD), 플로피 디스크 드라이브(FDD)와 같은 대용량 기억장치, 및 프린터, 스캐너와 디스플레이 디바이스로의 접속을 위한 직렬 및 병렬 포트와 같은 복수의 I/O 디바이스(180)에 인터페이스를 제공하기 위하여 로우 핀 카운트(LPC)버스에 의하여 칩셋(150)에 연결되어 있는 수퍼 I/O(170)를 포함할 수 있다. 복수의 I/O 디바이스(190)는 논-레가시 PCI 버스(60)를 따라 제공될 수 있다. 컴퓨터 시스템(100)은 상이하게 구성될 수 있거나 도 1에 도시된 것외에 몇몇 또는 상이한 구성요소를 채용할 수 있다.
프로세서 서브시스템(110)은 복수의 호스트 프로세서 및 캐시 서브시스템(112)을 포함할 수 있다. 이 메모리 서브서스템(120)은 프론트측 버스(10; 호스트 또는 프로세서 버스)에 의해 호스트 프로세서에 연결되어 있는 메모리 컨트롤러 허브(MCH; 122) 및 메모리 버스(20)에 의해 MCH(122)에 연결되어 있는 적어도 하나의 메모리 엘리먼트(124)를 포함할 수 있다. 메모리 엘리먼트(124)는 동적 램(DRAM)이거나, 롬(ROM), 비디오램(VRAM)등일 수 있다. 메모리 엘리먼트(124)는 호스트 프로세서에 의해 사용되는 정보 및 명령어를 저장한다. 그래픽스(130)는 그래픽스 버스(30)에 의해 메모리 서브시스템(120)의 메인 컨트롤러 허브(122)에 연결될 수 있고, 예를 들어, 그래픽스 컨트롤러, 로컬 메모리 및 디스플레이 디바이스(예를 들어, 음극선관, 액정 디스플레이, 평면 디스플레이등)를 포함할 수 있다.
호스트 칩셋(140,150)은 예를 들어, 인텔 코오퍼레이션에 의해 제조된 PIIX4® 칩 및 PIIX6® 칩과 같은 PCI 칩의 형태로 주변 구성요소 인터커텍트(PCI) 브리지(예를 들어, 호스트, PCI-PCI, 또는 표준 확장 브리지)일 수 있다. 특히, 칩셋(140,150)은 주변 구성요소 인터커넥트(PCI) 64-비트 허브(P64H)(140) 및 입출력 컨트롤러 허브(ICH; 150)에 상응할 수 있다. P64H(140) 및 ICH(150)는 각각, 예를 들어, 16 비트 및 8 비트 허브 링크(40,50)에 의해 메모리 서브시스템(120)의 MCH(122)에 연결되어 있을 수 있고, 상이한 대역폭 및 동작 속도의 PCI버스와 같은 주변 버스(60,70)와 프론트측 버스(10) 사이의 인터페이스로서 동작할 수 있다. PCI 버스는 새로운 비디오, 네트워킹, 또는 디스크 메모리 기억 기능을 가진 애드온 배열(예를 들어, 확장 카드)을 위하여 1998년 12월 18일에 PCI 스페셜 인터리스트 그룹(SIG)에 의해 발표된 "PCI Local Bus Specification, Revision 2.2"의 최신판에 설명된 바와 같은 자동 구성능력 및 멀티플렉싱된 주소, 제어 및 데이터 라인을 가진 고성능 32 또는 64 비트 동기 버스일 수 있다. 예를 들어, 64-비트 및 66 ㎒의 PCI 버스(60)는 P64H(140)에 연결될 수 있다. 이와 유사하게, 32-비트 및 33㎒의 PCI 버스(70)는 ICH(150)에 연결될 수 있다. 산업 표준 구조(ISA)와 확장 산업 표준 구조(EISA)와 같은 다른 타입의 버스 구조가 또한 사용될 수 있다.
P64H(140) 및 ICH(150)를 메모리 서브시스템(120)의 MCH(122)에 연결하는 허브 링크(40,50)는 상이한 대역폭 및 동작 속도의 1차 PCI 버스일 수 있다. P64H(140) 및 ICH(150)를 I/O 디바이스에 연결하는 주변 버스(60,70)는 상이한 대역폭 및 동작 속도의 2차 PCI 버스일 수 있다. P64H(140) 및 ICH(150)는 1998년 12월 18일에 PCI 스페셜 인터리스트 그룹(SIG)에 의해 발표된 "PCI Local Bus Specification, Revision 2.2" 및 1997년 6월 30일에 PCI 스페셜 인터리스트 그룹(SIG)에 의해 발표된 "PCI Bus Power Interface(ACPI) and Power Managemnet Interface Specification, Revision 1.1"에 따라 설계된 PCI-PCI 브리지에 상응할 수 있다.
도 2는 본 발명의 일실시예의 블록도이다. 또한 다른 실시예 및 구성이 본 발명의 범위내에 있을 수 있다. 특히, 도 2에는 도 1에 도시된 플랫폼과 유사한 컴퓨터 시스템(200)이 도시되어 있다. 그러나, 설명의 편의를 위해, 컴퓨터 시스템(200)의 몇몇 구성요소만이 도 2에 도시되어 있다. 컴퓨터 시스템(200)은 예를 들어, 메모리 제어 허브 또는 집적 그래픽스 메모리 제어 허브일 수 있는 칩셋(210)을 포함할 수 있다. 본 발명의 실시예는 칩셋에 제한되지는 않는다. 즉, 칩셋(210)에 상응하는 블록(210)은 로직 구성요소를 포함하는 임의의 타입의 시스템일 수 있다.
칩셋(210)은 제1 신호 라인(211)에 의해 제1 구성요소(212)에 연결될 수 있다. 칩셋(210)은 제2 신호 라인(213)에 의해 제2 구성요소(214)에 연결될 수 있다. 또한, 칩셋(210)은 신호 라인(215)에 의해 제3 구성요소(216)에 연결될 수 있다. 설명의 편의를 위해, 오직 3개의 외부 구성요소만이 도시되어 있지만, 본 발명은 이러한 수의 구성요소 또는 이러한 연결에 제한되지는 않는다. 주지된 바와 같이, 칩셋(210)과 신호 라인(211,213,215)의 각각 사이에 인터페이스를 제공하기 위해 칩셋(210)상에 (또는 칩셋(210)의 외부에) 인터페이스 디바이스(또는 메커니즘)을 제공할 수 있다. 칩셋(210)은 칩셋(210)의 내부의 로직 구성요소 사이에 내부 인터페이스 디바이스(또는 구성요소 또는 메커니즘)을 포함할 수 있다. 그러나, 설명의 편의를 위해, 본 발명의 실시예는 도 2에 도시된 것과 같은 외부 구성요소에 칩셋(210)을 연결하는 인터페이스에 대하여 설명될 것이다.
칩셋(210)은 시스템 메모리 컨트롤러, 로컬 메모리 컨트롤러 및 집적 그래픽스 컨트롤러와 같은 기능 유닛을 포함하는 메모리 제어 허브일 수 있다. 기능 유닛의 스로틀 제어 또는 이러한 유닛의 인터페이스에 대한 스로틀 제어를 위한 메커니즘이 제공될 수 있다.
본 발명의 실시예는 칩셋(210)에 연결된 테스팅 장치(310)를 포함할 수 있다. 이 테스팅 장치(310)는 아래에 설명될 대역폭 발생 제어 디바이스(312) 및 프로세서 디바이스(314)를 포함할 수 있다. 대역폭 발생 제어 디바이스(312) 및 프로세서 디바이스(314)는 이 그 기능이 프로세서 디바이스(314)와 같은 하나의 기능 유닛에 의해 실행될 수 있지만 2개의 박스로 도시되어 있다. 또한, 본 발명의 실시예는 칩셋(210)의 제1 영역에 제1 열 센서(302)를, 칩셋(210)의 제2 영역에 제2 열 센서(304)를, 그리고 칩셋(210)의 제3 영역에 제3 열 센서(306)를 제공할 수 있다. 칩셋(210)의 제1, 제2 및 제3 영역은 각각 칩셋(210)과 신호 라인(211,213,215)의 사이의 인터페이스의 로케이션에 상응할 수 있다. 열 센서(302,304,306)의 각각은 신호 라인 또는 유사한 타입의 통신 메커니즘에 의해 테스팅 장치(310)에 연결될 수 있다. 설명의 편의를 위해, 오직 하나의 신호 라인, 즉, 신호 라인(320)만이 테스팅 장치(310)와 제1 열 센서(302)의 사이에 연결되어 있는 것으로 도시되어 있다.
제1 열 센서(302)는 트립 포인트 레퍼런스의 선택을 제공하기 위해 디지털 아날로그 컨버터(DAC)를 갖고 있는 온도 센서(즉, 열 다이오드)일 수 있다. 본 발명의 실시예는 아래에 설명되는 바와 같은 다양한 메커니즘 및 방법을 제공하기 위해 테스팅 장치(310)내에 로딩될 수 있는 (소프트웨어 프로그램, 루틴 및/또는 유틸리티를 저장하는 디스켓 또는 이와 유사한 타입의 디바이스와 같은) 프로그램가능한 기억장치를 포함할 수 있다. 이것은 칩셋(210)의 다양한 인터페이스의 파워 프로파일링을 포함할 수 있다. 소프트웨어는 예를 들어, 윈도우 환경에서 실행될 수 있다. 그래픽 사용자 인터페이스(GUI)가 정보를 입력하고 정보를 수신하기 위해 테스팅 장치(310)에 제공될 수 있다. 유저는 임의의 주문 판독 및/또는 기록 대역폭을 시스템의 제로로부터 교정된 최대량까지의 MB/s로 선택할 수 있는 옵션을 가질 수 있다. 소프트웨어 유틸리티는 대역폭 포화 스트레스 테스트 루틴/프로그램, 칩셋/프로덕트/플랫폼의 온도 응답을 모니터링하고 로그하는 루틴/프로그램, 최적 설정치를 분석하고 계산하는 루틴/프로그램 및 테스트 툴을 실행하고 결과를 컴파일링하는 루틴/프로그램을 포함할 수 있다. 대역폭 포화 스트레스 테스트 루틴/프로그램은 프로세서 서브시스템(210)과 칩셋(210) 사이, 칩셋(210)과 칩셋(210)내의 메모리 버스 사이 및 칩셋(210)과 주변부 사이와 같은 플랫폼내의 다양한 인터페이스를 실행하기 위해 대역폭 포화 레벨의 입력을 취하고 그 결과를 로그할 수 있다.
본 발명의 실시예에 따라, 소프트웨어 관리 툴은 안전 온도 동작 조건을 보장하고 칩셋(210)의 성능을 최적화할 최적의 칩셋 대역폭 스로틀 설정치를 결정하는 것을 도울 수 있다. 소프트웨어 유틸리티는 예를 들어, 칩셋(210)의 센서 온도를 모니터링하는 동안 메인 메모리 버스로의 프로세서 유닛을 스트레싱할 자동 열 프로파일링 테스트를 개시할 수 있다. 소프트웨어 유틸리티는 시스템 설계자에 의해 달성될 수 있는 요구되는 목표 센서 온도를 유지하기위해 허용가능한 최대의, 프로세서 유닛에서 주메모리까지의 전성율 또는 대역폭(MB/sec)을 결정할 수 있다. 테스트 결과에 기초하여, 소프트웨어 유틸리티는 칩셋 스로틀 레지스터를 프로그래밍하는 BIOS 엔지니어에 의해 사용될 수 있는 권장 스로틀 설정치를 제공할 수 있다.
대역폭 발생 제어 디바이스(312)는 칩셋(210)의 제1 영역에 적용되는 대역폭을 제어할 수 있다. 보다 상세하게는, 대역폭 발생 제어 디바이스(312)는 칩셋(210)의 제1 영역내에 위치된 인터페이스를 통해 흐르는 대역폭의 양을 발생하기 위해 프로세서 디바이스(314)와 연계하여 동작할 수 있다. 실제의 대역폭은 테스팅 디바이스(310)의 외부에 있는 대역폭 발생 메커니즘에 의해 산출될 수 있다. 대역폭 발생 제어 디바이스(312)는 이러한 메커니즘을 제어할 수 있고 다양한 타입의 대역폭이 칩셋(210)의 제1 영역을 통과할 수 있도록 허용한다. 이와 마찬가지로, 대역폭 발생 제어 디바이스(312)는 칩셋(210)의 제2 영역을 통과하는 대역폭 및 칩셋(210)의 제3 영역을 통과하는 대역폭을 제어하기 위해 프로세서 디바이스(314)와 연계하여 동작할 수 있다. 칩셋(210)의 각각의 영역을 통과하는 대역폭은 서로 상이하거나 유사할 수 있다. 또한, 대역폭은 동시에 또는 상이한 시간에 칩셋(210)의 각각의 영역을 통과할 수 있다.
테스팅 장치(310)는 제1 열 센서(302)를 사용하여 칩셋(210)의 제1 영역의 감지된 온도를 측정할 수 있다. 이와 마찬가지로, 테스팅 장치(310)는 제2 열 센서(304)를 사용하여 칩셋(210)의 제2 영역의 감지된 온도를 측정할 수 있고 제3 열 센서(306)를 사용하여 칩셋(210)의 제3 영역의 감지된 온도를 측정할 수 있다. 아래에 설명되는 바와 같이, 테스팅 장치(310)는 감지된 온도를 모니터링하고 감지된 온도에 기초하여 칩셋(210)의 각각의 영역에 적용되는 대역폭을 적합하게 조정할 수 있다(증가시키거나 감소시킬 수 있다). 테스팅 장치(310)는 감지된 온도를 모니터링할 수 있고 (칩셋의 최대 온도 또는 최대 접합 온도와 같은) 소정의 온도와 관련하여 감지된 온도에 기초하여 각각의 영역을 통과하는 대역폭에 대한 이상적이거나 최적의 스로틀 설정치를 결정할 수 있다. 각각의 영역에 대해 감지된 온도의 모니터링은 최적화된 스로틀 설정치를 얻기 위해 개별적으로 이루어질 수 있다. 한편, 모니터링은 또한 동시에 각각의 영역에 대하여 이루어질 수 있다. 테스팅 장치(310)는 감지된 온도를 모니터링하고 각각의 영역이 각각의 영역에 대한 소정의 온도 아래의 온도를 갖도록 스로틀 설정치를 적절하게 조정할 수 있다. 모니터링 후에, 테스팅 장치(310)는 그 때에 각각의 영역을 통과하는 대역폭에 기초하여 최적화된 스로틀 설정치를 결정할 수 있다. 소프트웨어 애플리케이션은 이후에 각각의 스로틀 레지스터를 프로그래밍하는데 사용될 수 있는, BIOS 엔지니어에 제공될 수 있는 권장 스로틀 설정치를 결정할 수 있다. 따라서, 최적화된 스로틀 설정치는 동작동안 각각의 레지스터에 프로그래밍되거나 미래의 레퍼런스를 위한 칩셋(210)의 프로그램을 제어할 수 있다. 이러한 프로시져는 각각의 플랫폼내의 칩셋(210)의 초기 동작 이전에 실행될 수 있다. 이후에, 스로틀 설정치는 칩셋(210)의 각각의 영역을 통과하는 이상적인 대역폭에 기초하여 최적화된 상태로 남을 수 있다.
테스팅 장치(310)는 대역폭이 제1 영역을 통과하는 동안 제1 열 센서(302)의 감지된 온도를 모니터링하는 모니터링 시스템을 포함할 수 있다. 모니터링 시스템은 만약 감지된 온도가 소정의 온도 보다 낮다면 대역폭을 증가시키거나 만약 감지된 온도가 소정의 온도 보다 높다면 대역폭을 감소시키도록하는 다른 시스템과 협동하여 동작할 수 있다. 아래에 설명되는 바와 같이, 모니터링 시스템은 이상적인 온도로부터의 감지된 온도의 차이를 검출하고 에러 신호를 산출하는 에러 검출 메커니즘을 포함할 수 있다. 테스팅 장치(310)내의 피드백 메커니즘은 에러 신호의 크기에 기초하여 대역폭을 조정할 수 있다.
알고리즘은 파워 유틸리티 애플리케이션을 실행시키는 동안 온-다이 열 센서로부터의 피드백을 모니터링할 수 있다. 이러한 방법은 최대 대역폭(즉, 파워 레벨)을 결정하고 이 최대 대역폭을 최대 허용 다이 온도에 상관시키기 위한 파워-프로파일링 유틸리티 및 그래픽스 스트레스 소프트웨어를 사용할 수 있다. 스트레스 유틸리티를 사용하여 최대 다이 온도에 도달하면, 스로틀 레지스터 설정치가 권장되고 디스플레이될 수 있다.
이제 본 발명의 실시예를 보다 상세하게 설명할 것이다. 이것은 단지 실시예일 뿐이고 다른 실시예 역시 본 발명의 범위내에 있다.
파워 프로파일링 소프트웨어는 칩셋(210)의 다양한 기능 인터페이스를 위한 고전력 상태를 생성하는데 사용될 수 있다. 이러한 파워 프로파일링 소프트웨어를 사용함으로써, 테스팅 장치(310)는 스트레스 상태에 있는 동안 감지된 다이 온도에 기초하여 스로틀 설정치를 결정할 수 있다. 스트레스 애플리케이션은 열 상수를 계산하기 위해 한정된 시간 간격(또는 샘플링 시간) 동안의 다이 온도 변화를 측정할 수 있다. 열 시상수는 스로틀링이 다이 레벨 파워 밀도 및 로컬 다이 온도 모니터링에 실시간으로 응답하는 온-다이 열 센서(즉, 제1 열 센서(302))의 동적 피드백 모드에서 사용될 수 있다. 정보를 입력하고 정보를 수신하기 위해 그래픽 사용자 인터페이스(GUI)가 테스팅 장치(310)에 제공될 수 있다.
본 발명의 실시예는 이제 도 3 내지 도 5에서 도시된 순서도를 참조하여 설 명할 것이다. 이러한 순서도는 단지 예일 뿐이고 다른 실시예, 순서도 및 동작이 본 발명의 범위내에 있다. 즉, 이러한 순서도는 본 발명을 제한하지는 않는다. 또한, 이러한 순서도는 프로세서 유닛과 로컬 메모리 사이의 인터페이스, 시스템 메모리와 그래픽스 컨트롤러 사이의 인터페이스에 관한 것이다. 이것은 단지 예일 뿐이고 다른 인터페이스 및 상호접속이 본 발명의 범위내에 있다.
도 3에서 프로세서 유닛으로부터 메인 메모리로 스트레스 애플리케이션 테스트가 실행된다. 스트레스 애플리케이션은 언스로틀링된 환경에서 대역폭을 (로우 대역폭에서 최대 대역폭으로) 반복하는 알고리즘을 포함할 수 있다. 최대 온도 목표 포인트에 상응하는 최대 대역폭 상태를 계산하기 위해 열 센서를 사용하여 다이 온도를 모니터링하는 동안 이러한 알고리즘이 워크로드를 처리할 수 있다. 본 실시예에서, (그래픽스 컨트롤러와 그래픽스 컨트롤러 사이 및/또는 그래픽스 컨트롤러와 로컬 메모리 사이와 같은)저레벨 그래픽스 애플리케이션이 또한 실행될 수 있다. 그래픽스 애플리케이션은 추가 프로세서 유닛에서 메모리로의 대역폭을 소비하지 않는 허용가능한 고대역폭 워크로드를 생성할 수 있다. 또한, 일단 최대 다이 온도로의 대역폭의 상관관계가 발견되었다면, 권장 스로틀 백분율값(또는 실제 대역폭)은 칩셋(210)으로 프로그래밍되는 실제 메모리 기록 스로틀 레지스터를 따라 테스팅 장치(310)에 표시될 수 있다.
보다 상세하게는, 도 3에 소정의 목표 온도가 블록(402)에서 제공되는 순서도(400)가 도시되어 있다. 블록(404)에서, 스트레스 애플리케이션은 그래픽스 컨트롤러와 그래픽스 컨트롤러 사이 및/또는 그래픽스 컨트롤러와 로컬 메모리 사이와 같은 다른 애플리케이션이 실행되고 있는 동안 프로세서 유닛과 시스템 메모리 인터페이스 사이에서 실행될 수 있다. 대역폭은 예를 들어, 소정의 온도 바로 아래의(또는 소정의 온도에서의) 온도를 얻을 때까지 시간의 경과 동안 증가되거나 감소될 수 있다. 각각의 데이터는 전체 테스트 타임상에서 로깅될 수 있다. 이러한 데이터는 예를 들어, 달성된 최대 기록/쓰기 대역폭(블록(406)), 열 센서의 시간에 따른 온도(블록(408)) 및 테스트의 지속시간, 전체 테스트 시간, 및 열 검출 시간(블록(410))을 포함할 수 있다. 블록(412)에서, 결과가 로깅된 데이터로부터 계산될 수 있고 목표 온도가 최대 대역폭과 상관될 수 있다. 블록(414)에서, 스로틀 백분율 및/또는 스로틀 값이 테스팅 장치(310)에 표시(또는 출력)될 수 있다. 도 3의 순서도에 의해 도시된 방법은 시스템 메모리 인터페이스와 프로세서 유닛의 영역내의 온도를 모니터링하여, 감지된 온도 및 소정의 최대 온도를 사용함으로써 적합한 스로틀 백분율를 결정한다.
도 4에는 그래픽스 스트레스 애플리케이션이 실행되는 순서도(500)가 도시되어 있다. 이 스트레스 애플리케이션은 그래픽스-그래픽스 인터페이스, 그래픽스-로컬 메모리 인터페이스 및/또는 프로세서 유닛-로컬 메모리 인터페이스에서 실행될 수 있다. 열 센서 온도를 샘플링하는 동안 한 번에 하나의 스트레스 애플리케이션 테스트가 실행될 수 있거나 복수의 애플리케이션 테스트가 동시에 실행될 수 있다. 이러한 실시예에서, 프로세서 유닛-SDRAM에 대해서도 스트레스 애플리케이션이 실행될 수 있다. 최대 온도가 최대 그래피컬 대역폭에 상관될 수 있고 스로틀 레지스터가 결정될 수 있다. 보다 상세하게는, 도 4에 (도 3으로부터) 이전에 획득된 목표 온도로부터 또는 유저에 의해 재입력됨으로써 목표 온도(블록(502))를 얻는 단계가 도시되어 있다. 블록(504)에서, 스트레스 애플리케이션 테스트가 그래픽스-그래픽스 인터페이스, 그래픽스-로컬 메모리 인터페이스, 및 프로세서 유닛-로컬 메모리 인터페이스상에서 실행될 수 있다. 상기 표시된 바와 같이, 본 실시예에서 프로세서-시스템 메모리에 대한 스트레스 애플리케이션 역시 실행될 수 있다. 도 3 실시예와 유사한 방식으로, 테스팅 장치(310)는 예를 들어, 소정의 온도 아래에 감지된 온도를 유지하는 대역폭을 결정하기 위해 각각의 인터페이스를 통하여 적용된 대역폭을 적합하게 조정할 수 있다. 각각의 데이터는 전체 테스트 시간에서 로깅될 수 있다. 이러한 데이터는 최대 처리율 및 최대 채움속도(블록 505), 달성된 최대 판독/기록 대역폭(블록 506), 시간에 따른 온도등을 판독하는 열 센서(블록 508) 및 테스트 지속시간, 전체 테스트 시간 및 열 흡수 시간(블록 510)을 포함할 수 있다. 결과는 로깅된 데이터로부터 계산될 수 있고(블록 512) 목표 온도는 최대 대역폭에 상관될 수 있다. 블록(514)에서, 스로틀 설정치/또는 스로틀 값과 같은 상관된 출력이 표시될 수 있다.
도 5에는 각각의 인터페이스가 최대 대역폭을 패스시킬 때 상이한 스로틀 설정치의 검증을 포함하는 순서도(600)가 도시되어 있다. 즉, 도 5의 방법은 하나 이상의 인터페이스가 이것을 패스하는 이상적인 대역폭을 가지고 있을 때 이전에 취해진 스로틀 값이 적합한지를 판정하기 위해 상기 값을 테스트한다. 보다 상세하게는, (도 4 및 도 5로부터) 이전에 결정된 스로틀 값이 블록(602)에서 얻을 수 있다. 블록(604)에서, 목표 온도가 설정될 수 있다. 목표 온도는 이전에 입력된 온도로부터 얻어질 수 있거나 다시 입력될 수 있다. 블록(606)에서, 스트레스 애플리케이션은 그래픽스-그래픽스 인터페이스, 그래픽스-로컬 메모리 인터페이스 및 프로세서-로컬 메모리 인터페이스에서 실행될 수 있다. 블록(608)에서, 테스팅 장치(310)는 목표 온도가 열 센서의 감지된 온도에 기초하여 초과되었는지를 판정한다. 온도가 초과되었다면, 그래픽스-로컬 메모리 스로틀은 너무 높다(블록 610). 온도가 초과되지 않았다면, 블록(612)에서 스트레스 애플리케이션이 프로세서-시스템 메모리 인터페이스에 적용될 수 있다. 블록(614)에서, 테스팅 장치(310)는 이러한 인터페이스의 감지된 온도가 원하는 목표값을 초과하는지를 판정한다. 만약 감지된 온도가 목표값을 초과한다면, 시스템 메모리 스로틀은 너무 높다. 만약 감지된 온도가 목표값을 초과하지 않는다면, 스트레스 애플리케이션은 그래픽스-로컬 메모리 인터페이스 및 시스템 메모리 인터페이스에서 동시에 발생될 수 있다(블록(618). 이러한 인터페이스에서 감지된 온도가 원하는 목표 온도를 초과하면, 그래픽스-시스템 메모리 스로틀은 너무 높다고 판정된다(블록 622). 한편, 만약 감지된 온도가 원하는 목표 온도를 초과하지 않는다면, 시스템 펌웨어 및 드라이버 소프트웨어를 위한 레지스터 값 및 상수가 계산될 수 있다. 스로틀이 블록(610,616,622)중 어느 하나에서 너무 높다고 판정되면, 이러한 스로틀 값은 감소될 수 있고(블록 630) 경고 메시지가 테스팅 장치(310)에 표시될 수 있다(블록 632). 이러한 환경에서, 프로세스는 블록(602)과 블록(604) 사이에 있는 도 5의 포인트 A로 복귀함으로써 반복될 수 있다.
따라서, 본 발명의 실시예는 외부 패키지 열전쌍과 비교하여 다이 온도 피드 백을 위해 온-다이 열 다이오드 온도 센서를 사용할 수 있다. 다이오드 센서는 로컬 다이 온도를 정확하게 표시할 수 있고 다이 온도 진동에 보다 본질적으로 응답할 수 있다. 이러한 타입의 피드백은 전력 밀도에 대한 순시 응답을 위해 소프트웨어에 의해 사용될 수 있다.
또한, 소프트웨어는 테스팅 장치(310)에 있고 최소 고객 입력 또는 디렉션을 가진 그래픽 사용자 인터페이스(GUI)를 사용할 수 있다. 전력 애플리케이션을 실행하고 스로틀 설정치를 결정하는 이러한 방법은 고객에게 특정 시스템 환경에 대한 최적화되고 주문맞춤된 스로틀 솔루션 및 열 관리를 제공할 수 있다.
스로틀링의 다양한 실시예를 이제 설명할 것이다. 인터페이스 스로틀링 단계는 기능 유닛의 외부 및/또는 내부 인터페이스로 가변 수의 대기 상태를 삽입하는 단계를 포함할 수 있다. 인터페이스 스로틀링은 100% 최대 가능한 처리량의 백분율로서 표시될 수 있다. 예를 들어, 도 6에는 100% 스로틀 및 50% 스로틀 모두를 위한 클록 및 데이터의 타이밍도가 도시되어있다. 이들 두 타이밍도는 동일한 클록 주파수 및 듀티 사이클을 가지고 있다. 50% 스로틀은 대기 상태의 교번 주기를 포함한다.
클록 스로틀링은 전력의 감소를 위해 클록 주파수 또는 듀티 사이클을 변경하는 단계를 포함할 수 있다. 클록 스로틀링은 적극적인 클록 게이팅 기술이 집적 컨트롤러내의 기능 유닛에 사용될 때 효과적이지 않을 수 있다. 클록 주파수 제어 및 다른 기술은 전체 칩에 영향을 줄 수 있지만 전력 소비 (및 발생된 열)의 대부분은 이러한 유닛내의 특정 기능 유닛 또는 (I/O 버퍼와 같은) 인터페이스에서만 발생될 수 있다. 전력 소비의 대부분은 시스템 메모리 컨트롤러, 로컬 메모리 컨트롤러와 같은 특정 유닛 인터페이스의 I/O 버퍼에 집중될 수 있고 내부 클록 트리에 대하여 감소되는 관계를 가질 수 있다.
본 발명의 실시예는 전력 관리 제어의 하나 이상의 방법, 즉 (고정된 모델에 상응하는) 고정 모드 및 (동적 모델에 상응하는) 동적 모드를 제공할 수 있다.
고정된 모델에서, 소정의 포인트를 초과할 경우 자동 스로틀링에 영향을 줄 수 있는 스로틀 백분율량에 대한 고정된 트립-포인트가 제공된다. 각각의 인터페이스에 대한 스로틀 백분율은 사전 설정될 수 있고 스로틀은 소정의 트립 포인트를 초과하는 즉시 실행될 수 있다. 스로틀은 트립 포인트 아래에 다시 있게 될 때 제거될 수 있다. 이러한 모델에서, 소정의 한계점을 초과할 때(보다 악화된 경우에) 트립 포인트는 시스템을 정지시켜 열로 인한 기계 고장을 방지하는 것을 도울 수 있다. 프리세트는 후속하는 트립 포인트/스로틀의 변경을 방지하기 위해 인터페이스 레지스터 비트를 통해 잠금될 수 있다. 이러한 모델에서, 칩셋은 최악의 시나리오로부터 보호될 수 있도록 안전량으로 스로틀링할 수 있다. 성능은 언스로틀링된 상태에서 스로틀링된 상태까지 크게 변동될 수 있다.
한편, 동적 모드 또는 모델에서, 스로틀 및 스로틀량의 동적 제어는 온도에 기초하여 이루어질 수 있다. 또한, 이러한 모드는 고정 모드에서와 같이 소정의 트립 포인트 및 레지스터 비트를 포함할 수 있다. 동적 모드에서, 핫 트립 이벤트를 크로싱하는 경우 소프트웨어(또는 알고리즘)가 반응 열 제어 모드로 들어가게할 수 있다. 소프트웨어(또는 알고리즘)은 열 억제량을 맞추기 위해 스로틀링 성능을 동적으로 조정할 수 있다. 시스템은 컴퓨터 시스템의 나머지에 대한 대역폭을 유지하기에 필요한 만큼만 스로틀링할 수 있다.
도 7에 고정 모드(또는 고정 모델)에서의 스로틀링을 도시하고 있다. 이러한 그래프에서, T-트립은 원하는 온도를 나타내고 라인(702)은 열 센서(302)와 같은 센서의 감지된 온도를 나타낸다. 곡선(704)은 100% 최대 가능한 처리량의 백분율로서 도시된 스로틀링량을 나타낸다. 수평축은 센서의 샘플링 시간과 같은 시간을 나타낸다.
도 8에 스로틀링 성능이 열 억제량을 맞추기 위해 동적으로 조정될 수 있는 동적 모드에서의 스로틀링이 도시되어 있다. 이러한 그래프에서, T-트립은 원하는 온도를 나타내고 라인(706)은 열 센서(302)와 같은 센서의 감지된 온도를 나타낸다. 곡선(708)은 100% 최대 가능한 처리량의 백분율로서 도시된 스로틀링량을 나타낸다. 수평축은 센서의 샘플링 시간과 같은 시간을 나타낸다. 동적모드에서, 얼마나 많이 스로틀을 적용해야 하는지를 결정하기 위해 에러량이 사용될 수 있다.
동적 모드는 다음의 장점을 가지고 있다. 동적 모드는 보다 적은 오버슈트 및 링잉을 가지고 있기 때문에 보다 빨리 안정될 수 있다. 이것은 스로틀링될 때 협소한 범위의 성능 변화로 도 8에 도시될 수 있다. 보다 적은 오버슈트를 가짐으로써, 성능은 아직 임의의 오버슈트를 가지고 있는 경우 필요한 만큼만 열화될 수 있다. 또한, 동적 모드는 예를 들어 어느 유닛이 스트레스를 받고 있는지를 나타내는, 성능 카운터 및 대역폭 트립에 의존하여 스로틀링(즉, 유틸라이제이션 피드백)이 필요한 영역만을 스로틀링한다. 만약 하나의 유닛 유틸라이제이션이 나머지보다 크게 상이하다면, 그 유닛은 그에 비례하여 가장 크게 스로틀링될 수 있다. 만약 모든 유닛 유틸라이제이션이 대략 동일하다면,그들은 모두 동일한 양으로 스로틀링될 수 있다. 이것을 유틸라이제이션 피드백으로 부를 수 있다.
또한, 도 8에 센서의 감지된 온도와 원하는 온도(T-트립) 사이의 차이에 상응하는 에러량이 도시되어 있다. 에러량은 스로틀링량을 제어하기 위해 테스팅 장치(310)내의 피드백 신호로서 사용될 수 있다. 만약 에러가 상당히 크다면, 상당한 스로틀량이 적용될 수 있다. 그러나, 에러가 작다면, 보다 적은 스로틀량이 적용될 수 있다. 다른 말로 하면, 동적 모드에서, 스로틀링량은 에러의 크기에 기초할 수 있다. 따라서, 본 발명의 실시예는 감지된 온도가 타겟 온도로부터 얼마나 차이나 나는지를 결정하기 위해 에러를 사용할 수 있고 스로틀이 어느 방향으로 변화하는지(즉, 스로틀이 감소하거나 증가하는 방향)를 결정하기 위해 에러를 사용할 수 있다. 스로틀링의 감도 및 스로틀링량은 이러한 에러량에 의존할 수 있다. 그래서, 동적 모드는 폐루프 피드백 제어 시스템으로서 동작한다.
도 9에 본 발명의 실시예에 따른 폐루프 피드백 제어 시스템으로 동작하는 집적화된 칩셋이 도시되어 있다. 다른 실시예 및 구성은 또한 본 발명의 범위내에 있다. 도시된 바와 같이 열 센서 피드백 및 유틸라이제이션 피드백은 스로틀 값을 동적으로 조정하는데 사용될 수 있는 에러 신호를 산출하기 위해 칩셋으로부터 피드백될 수 있고 모델(즉, 원하는 값)과 비교될 수 있다. 이러한 도면에서, 열 센서 및 유틸라이제이션은 칩셋으로부터의 피드백 신호로서 사용된다. 결과 에러 신호는 스로틀링이 어떻게 동작에 영향을 미치는지를 도시한다. 에러는 목표값내에 칩셋의 스로틀이 유지되도록 제어하는데 사용될 수 있다. 소프트웨어는 알고리즘과 같은 폐루프 피드백 제어 시스템을 구현하는데 사용될 수 있다.
적어도 하나의 실시예에서, 주기적으로(즉, 샘플링 타임에 기초하여) 알고리즘은 새로운 온도(TN)를 판독하고 저장할 수 있다. 또한, 알고리즘은 타겟 온도(TT)로부터 거리를 계산할 수 있고 (TN-TN-1)와 같은 감도로서 온도의 경사값을 계산할 수 있다. 알고리즘은 스로틀을 조정하기 위해 알려진 열 등식(ACPI)를 사용할 수 있다. 이러한 등식은 ♠P(%)=_TC1×(TN-TN-1)+_TC2×(TN-TT)일 수 있다. 열 상수 _TC1 및 _TC2는 플랫폼의 응답을 특성화하기 위해 플랫폼을 프로파일링함으로써 유도될 수 있다.
필터링은 성능 카운터, 칩셋 관찰 구조(OA) 카운터 및 메모리 대역폭 카운터 및 다른 유틸라이제이션/디맨드 검출 메커니즘을 사용함으로써 달성될 수 있다. 장치는 다른 인터페이스보다 상당히 액티브한 인터페이스가 존재하는지를 판정할 수 있다. 이러한 경우에, 문제를 야기하는 인터페이스의 스로틀만이 스로틀링될 수 있다. 또한, 스로틀링은 TN#(TT-THYST) 후에 그리고 모든 스로틀이 100%에 있은 후에만 해제될 수 있다.
따라서, 전력 관리 제어는 집적 칩셋을 열관리하는 폐루프 피드백 제어 시스템에 영향을 주기 위해 온-다이 열 센서 및 제어 로직을 사용할 수 있다. 이로 인해 (복수의 독립/의존 기능 유닛을 가지고 있는) 집적 칩셋이 권장 동작 온도를 초과하는 일이 방지될 수 있다. 이로 인해 집적 칩셋을 열 버젯내로 유지하면서 최대의 성능을 얻을 수 있다. 대역폭 유틸라이제이션 및 디맨드에 대한 조합된 피드백 정보는 어느 기능 유닛이 직접 열 상태를 유발하고 있는지를 결정할 수 있다.
상기 설명된 방법은 테스팅 장치(310) 또는 다른 디바이스에 제공된 소프트웨어(또는 소프트웨어 루틴)에서 제공될 수 있다. 메커니즘, 알고리즘 및/또는 루틴은 또한 (컴퓨터 시스템과 같은) 기계에 의해 판독가능한 (예를 들어 디스크와 같은) 프로그램 기억장치에 제공될 수 있고, 방법, 알고리즘 및/또는 루틴을 실행하기 위해 기계에 의해 실행가능한 명령어의 프로그램을 포함할 수 있다.
이제 실시예의 설명을 종결한다. 본 발명이 수많은 실시예를 참조하여 설명되었지만, 본 발명의 정신 및 범위내에 있는 수많은 다른 수정 및 실시예가 당업자에 의해 고안될 수 있다는 것을 이해해야 한다. 보다 구체적으로, 합당한 수정 및 변경이 본 발명의 정신을 벗어남 없이 상기 설명, 도면 및 첨부된 청구항의 범위내의 주요 조합의 구성요소 부분 및/또는 구성에서 가능하다. 또한, 구성요소 부분 및/또는 구성에서의 수정 및 변경에 더하여 대안적인 용도가 당업자에게 명백할 것이다.

Claims (28)

  1. 시스템의 스로틀 설정치를 얻는 방법에 있어서,
    상기 시스템의 제1 영역에 제1 대역폭을 적용하는 단계;
    상기 시스템의 상기 제1 영역의 온도를 감지하는 단계; 및
    상기 제1 영역의 적어도 하나의 감지된 온도에 기초하여 제1 스로틀 설정치를 얻는 단계;를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 제1 스로틀 설정치는 상기 제1 영역의 상기 감지된 온도가 소정의 온도 보다 낮다면 상기 시스템의 상기 제1 영역에 적용된 상기 제1 대역폭을 증가시킴으로써 얻어지는 것을 특징으로 하는 방법.
  3. 제1항에 있어서, 상기 제1 스로틀 설정치는 상기 제1 영역의 상기 감지된 온도가 소정의 온도 보다 높다면 상기 제1 영역에 적용된 상기 제1 대역폭을 감소시킴으로써 얻어지는 것을 특징으로 하는 방법.
  4. 제1항에 있어서, 상기 시스템은 상기 제1 영역을 안에 포함하는 칩셋을 포함하고, 상기 제1 영역은 상기 칩셋의 인터페이스를 포함하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서, 상기 제1 스로틀 설정치는 폐루프 피드백 제어 시스템을 사용함으로써 얻어지는 것을 특징으로 하는 방법.
  6. 제5항에 있어서, 상기 폐루프 피드백 제어 시스템은 열 센서 피드백 및 유틸라이제이션 피드백중 하나를 포함하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서, 상기 제1 스로틀 설정치는 상기 감지된 온도가 소정의 온도로부터 벗어나 있는 크기에 기초하여 얻어지는 것을 특징으로 하는 방법.
  8. 제1항에 있어서, 상기 제1 스로틀 설정치는 상기 시스템의 상기 제1 영역에 적용된 상기 제1 대역폭에 기초하여 얻어지는 것을 특징으로 하는 방법.
  9. 제1항에 있어서, 상기 제1 스로틀 설정치를 얻는 단계는 에러를 판정하기 위해 소정의 온도로부터 상기 감지된 온도의 차이를 검출하는 단계 및 상기 에러에 기초하여 상기 제1 영역에 적용된 상기 제1 대역폭을 조정하는 단계를 포함하는 것을 특징으로 하는 방법.
  10. 제1항에 있어서,
    상기 시스템의 제2 영역에 제2 대역폭을 적용하는 단계;
    상기 시스템의 상기 제2 영역의 온도를 감지하는 단계; 및
    상기 제2 영역의 적어도 하나의 감지된 온도에 기초하여 제2 스로틀 설정치를 얻는 단계;를 더 포함하는 것을 특징으로 하는 방법.
  11. 제10항에 있어서, 상기 제1 스로틀 설정치는, 상기 시스템의 상기 제1 영역에 제3 대역폭을 적용하고, 상기 시스템의 상기 제2 영역에 제4 대역폭을 적용하고, 그리고 상기 제 1 영역의 상기 감지된 온도를 소정의 온도와 비교함으로써 얻어지는 것을 특징으로 하는 방법.
  12. 제10항에 있어서, 상기 제2 스로틀 설정치는, 상기 시스템의 상기 제1 영역에 제3 대역폭을 적용하고, 상기 시스템의 상기 제2 영역에 제4 대역폭을 적용하고, 그리고 상기 제2 영역의 상기 감지된 온도를 소정의 온도와 비교함으로써 얻어지는 것을 특징으로 하는 방법.
  13. 시스템의 스로틀 설정치를 얻는 장치에 있어서,
    상기 시스템의 제1 영역에 제공된 제1 열 센서;
    상기 시스템에 연결되어 있고 상기 시스템의 상기 제1 영역에 제1 대역폭을 적용하는 대역폭 발생 디바이스; 및
    상기 제1 열 센서 및 상기 대역폭 발생 디바이스에 연결되어 있고, 상기 제1 열 센서의 적어도 하나의 감지된 온도에 기초하여 상기 시스템의 제1 스로틀 설정치를 얻는 모니터링 시스템;을 포함하는 것을 특징으로 하는 장치.
  14. 제13항에 있어서, 상기 시스템은 상기 제1 영역을 안에 포함하는 칩셋을 포함하고, 상기 제1 영역은 상기 칩셋의 인터페이스를 포함하는 것을 특징으로 하는 방법.
  15. 제13항에 있어서, 상기 모니터링 시스템은 상기 대역폭 발생 디바이스가 상기 제1 영역에 상기 제1 대역폭을 적용하는 동안 상기 제1 열 센서의 감지된 온도를 모니터링하는 것을 특징으로 하는 장치.
  16. 제15항에 있어서, 상기 모니터링 시스템은 상기 감지된 온도가 소정의 온도 보다 낮다면 상기 대역폭 발생 디바이스의 상기 제1 대역폭을 증가시키는 것을 특징으로 하는 장치.
  17. 제15항에 있어서, 상기 모니터링 시스템은 상기 감지된 온도가 소정의 온도 보다 높다면 상기 대역폭 발생 디바이스의 상기 제1 대역폭을 감소시키는 것을 특징으로 하는 장치.
  18. 제13항에 있어서, 상기 제1 스로틀 설정치는 폐루프 피드백 제어 시스템을 사용하여 얻어지는 것을 특징으로 하는 장치.
  19. 제18항에 있어서, 상기 폐루프 피드백 제어 시스템은 열 센서 피드백 및 유틸라이제이션 피드백중 하나를 포함하는 것을 특징으로 하는 장치.
  20. 제13항에 있어서, 상기 제1 스로틀 설정치는 상기 감지된 온도가 소정의 온도로부터 벗어나 있는 크기에 기초하여 얻어지는 것을 특징으로 하는 장치.
  21. 제13항에 있어서, 상기 제1 스로틀 설정치는 상기 시스템의 상기 제1 영역에 적용된 상기 제1 대역폭에 기초하여 얻어지는 것을 특징으로 하는 장치.
  22. 제13항에 있어서, 상기 모니터링 시스템은 소정의 온도로부터의 상기 제1 열 센서의 감지된 온도의 차이를 검출하고 에러 신호를 산출하는 에러 검출 메커니즘, 및 상기 에러 신호에 기초하여 상기 대역폭 발생 디바이스에 의해 적용된 상기 제1 대역폭을 조정하는 피드백 메커니즘을 포함하는 것을 특징으로 하는 장치.
  23. 제13항에 있어서,
    상기 시스템의 제2 영역에 제공된 제2 열 센서를 더 포함하고, 상기 대역폭 발생 디바이스는 상기 시스템의 상기 제2 영역에 제2 대역폭을 적용하는 것을 특징으로 하는 장치.
  24. 제23항에 있어서, 상기 모니터링 시스템은 상기 제2 열 센서에 연결되어 있고 상기 제2 열 센서의 적어도 하나의 감지된 온도에 기초하여 제2 스로틀 설정치를 얻는 것을 특징으로 하는 장치.
  25. 시스템의 스로틀 설정치를 얻는 방법을 실행하기 위해 기계에 의해 판독가능하고, 기계에 의해 실행가능한 명령어의 프로그램을 유형으로 구현하는 프로그램 기억장치로서, 상기 방법은,
    상기 시스템의 영역에 대역폭을 적용하는 단계;
    상기 시스템의 상기 영역의 온도를 감지하는 단계; 및
    상기 영역의 적어도 하나의 감지된 온도에 기초하여 스로틀 설정치를 얻는 단계;를 포함하는 것을 특징으로 하는 프로그램 기억 장치.
  26. 제25항에 있어서, 상기 스로틀 설정치는 상기 영역의 상기 감지된 온도가 소정의 온도 보다 낮다면 상기 시스템의 상기 영역에 적용된 상기 대역폭을 증가시킴으로써 얻어지는 것을 특징으로 하는 프로그램 기억 장치.
  27. 제25항에 있어서, 상기 스로틀 설정치는 상기 영역의 상기 감지된 온도가 소정의 온도 보다 높다면 상기 영역에 적용된 상기 대역폭을 감소시킴으로써 얻어지는 것을 특징으로 하는 프로그램 기억 장치.
  28. 제25항에 있어서, 상기 스로틀 설정치를 얻는 단계는 에러를 판정하기 위해 소정의 온도로부터의 상기 감지된 온도의 차이를 검출하는 단계, 및 상기 에러에 기초하여 상기 영역에 적용된 상기 대역폭을 조정하는 단계를 포함하는 것을 특징으로 프로그램 기억 장치.
KR1020037012774A 2001-03-30 2002-03-07 써멀 솔루션을 최적화하는 방법 및 장치 KR100609278B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/820,863 US6701272B2 (en) 2001-03-30 2001-03-30 Method and apparatus for optimizing thermal solutions
US09/820,863 2001-03-30
PCT/US2002/007083 WO2002079959A2 (en) 2001-03-30 2002-03-07 Method and apparatus for determining throttle settings

Publications (2)

Publication Number Publication Date
KR20040060848A KR20040060848A (ko) 2004-07-06
KR100609278B1 true KR100609278B1 (ko) 2006-08-03

Family

ID=25231917

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037012774A KR100609278B1 (ko) 2001-03-30 2002-03-07 써멀 솔루션을 최적화하는 방법 및 장치

Country Status (8)

Country Link
US (1) US6701272B2 (ko)
EP (1) EP1381931B1 (ko)
JP (1) JP3982690B2 (ko)
KR (1) KR100609278B1 (ko)
CN (1) CN100374982C (ko)
AU (1) AU2002258482A1 (ko)
TW (1) TW544560B (ko)
WO (1) WO2002079959A2 (ko)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030074591A1 (en) * 2001-10-17 2003-04-17 Mcclendon Thomas W. Self adjusting clocks in computer systems that adjust in response to changes in their environment
US6931559B2 (en) * 2001-12-28 2005-08-16 Intel Corporation Multiple mode power throttle mechanism
US7281140B2 (en) * 2001-12-28 2007-10-09 Intel Corporation Digital throttle for multiple operating points
US20040006721A1 (en) * 2002-02-22 2004-01-08 Getz Robin Laurie Method and apparatus for responding to a thermal throttling signal
US7086058B2 (en) * 2002-06-06 2006-08-01 International Business Machines Corporation Method and apparatus to eliminate processor core hot spots
US6762629B2 (en) * 2002-07-26 2004-07-13 Intel Corporation VCC adaptive dynamically variable frequency clock system for high performance low power microprocessors
US6908227B2 (en) * 2002-08-23 2005-06-21 Intel Corporation Apparatus for thermal management of multiple core microprocessors
US7062394B2 (en) * 2002-09-20 2006-06-13 Intel Corporation Performance characterization using effective processor frequency
US7275012B2 (en) * 2002-12-30 2007-09-25 Intel Corporation Automated method and apparatus for processor thermal validation
US6966693B2 (en) * 2003-01-14 2005-11-22 Hewlett-Packard Development Company, L.P. Thermal characterization chip
US7464307B2 (en) * 2003-03-25 2008-12-09 Intel Corporation High performance serial bus testing methodology
US6871119B2 (en) * 2003-04-22 2005-03-22 Intel Corporation Filter based throttling
US20040215912A1 (en) * 2003-04-24 2004-10-28 George Vergis Method and apparatus to establish, report and adjust system memory usage
US7269481B2 (en) 2003-06-25 2007-09-11 Intel Corporation Method and apparatus for memory bandwidth thermal budgetting
US8237386B2 (en) 2003-08-15 2012-08-07 Apple Inc. Methods and apparatuses for operating a data processing system
US7382366B1 (en) * 2003-10-21 2008-06-03 Nvidia Corporation Method, apparatus, system, and graphical user interface for selecting overclocking parameters of a graphics system
US7400945B2 (en) * 2005-03-23 2008-07-15 Intel Corporation On-die temperature monitoring in semiconductor devices to limit activity overload
US8639963B2 (en) * 2005-05-05 2014-01-28 Dell Products L.P. System and method for indirect throttling of a system resource by a processor
US7463993B2 (en) * 2005-05-10 2008-12-09 Intel Corporation Adaptive thermal-based frequency-bounds control
US7394636B2 (en) * 2005-05-25 2008-07-01 International Business Machines Corporation Slave mode thermal control with throttling and shutdown
US7529948B2 (en) * 2005-08-25 2009-05-05 Apple Inc. Methods and apparatuses for dynamic power estimation
US7562234B2 (en) * 2005-08-25 2009-07-14 Apple Inc. Methods and apparatuses for dynamic power control
US8374730B2 (en) * 2005-08-25 2013-02-12 Apple Inc. Methods and apparatuses for dynamic thermal control
US20070094436A1 (en) * 2005-10-20 2007-04-26 Keown William F Jr System and method for thermal management in PCI express system
US8812169B2 (en) * 2005-10-31 2014-08-19 Hewlett-Packard Development Company, L.P. Heat sink verification
US7765825B2 (en) * 2005-12-16 2010-08-03 Intel Corporation Apparatus and method for thermal management of a memory device
US7590473B2 (en) * 2006-02-16 2009-09-15 Intel Corporation Thermal management using an on-die thermal sensor
US20080005591A1 (en) * 2006-06-28 2008-01-03 Trautman Mark A Method, system, and apparatus for dynamic thermal management
US7844876B2 (en) * 2006-08-10 2010-11-30 Intel Corporation Temperature sampling in electronic devices
US8209989B2 (en) * 2007-03-30 2012-07-03 Intel Corporation Microarchitecture control for thermoelectric cooling
US20080317086A1 (en) * 2007-06-22 2008-12-25 Santos Ishmael F Self-calibrating digital thermal sensors
US7949888B2 (en) * 2008-01-07 2011-05-24 Apple Inc. Forced idle of a data processing system
US7949889B2 (en) * 2008-01-07 2011-05-24 Apple Inc. Forced idle of a data processing system
US8209493B2 (en) * 2008-03-26 2012-06-26 Intel Corporation Systems and methods for scheduling memory requests during memory throttling
US8315746B2 (en) 2008-05-30 2012-11-20 Apple Inc. Thermal management techniques in an electronic device
US8306772B2 (en) 2008-10-13 2012-11-06 Apple Inc. Method for estimating temperature at a critical point
US8700925B2 (en) * 2009-09-01 2014-04-15 Nvidia Corporation Regulating power using a fuzzy logic control system
US8826048B2 (en) * 2009-09-01 2014-09-02 Nvidia Corporation Regulating power within a shared budget
US8365131B2 (en) * 2010-01-11 2013-01-29 Empire Technology Development Llc Hardware synthesis using thermally aware scheduling and binding
CN103176573B (zh) * 2011-12-20 2016-06-22 英业达股份有限公司 散热控制系统及其控制方法
US9645191B2 (en) * 2014-08-20 2017-05-09 Darryl G. Walker Testing and setting performance parameters in a semiconductor device and method therefor
US10698459B2 (en) * 2015-02-17 2020-06-30 Apple Inc. Electronic devices and method of controlling an electronic device
KR20170069730A (ko) 2015-12-11 2017-06-21 삼성전자주식회사 온도 및 공간적인 위치에 따라 코어들의 동작들을 관리하는 연산 처리 장치, 및 연산 처리 장치를 포함하는 전자 장치
US10064139B2 (en) * 2015-12-26 2018-08-28 Intel IP Corporation Context-assisted thermal management scheme in a portable device
US9927986B2 (en) 2016-02-26 2018-03-27 Sandisk Technologies Llc Data storage device with temperature sensor and temperature calibration circuitry and method of operating same
US10082963B2 (en) * 2016-04-18 2018-09-25 Super Micro Computer, Inc. Low capacity latency storage enclosure with expander
US10467890B2 (en) 2016-05-13 2019-11-05 Microsoft Technology Licensing, Llc Secured sensor interface
US10481014B2 (en) * 2017-06-15 2019-11-19 Micron Technology, Inc. Adaptive throttling
US20210278887A1 (en) 2020-03-05 2021-09-09 Samsung Electronics Co., Ltd. Thermal control for electronic devices

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5838987A (en) 1995-10-06 1998-11-17 National Semiconductor Corporation Processor for eliminating external isochronous subsystems
US5760636A (en) 1996-06-28 1998-06-02 Intel Corporation Adjusting clock frequency and voltage supplied to a processor in a computer system
US6105142A (en) 1997-02-11 2000-08-15 Vlsi Technology, Inc. Intelligent power management interface for computer system hardware
US5953685A (en) * 1997-11-26 1999-09-14 Intel Corporation Method and apparatus to control core logic temperature
US6182238B1 (en) 1998-05-14 2001-01-30 Intel Corporation Fault tolerant task dispatching

Also Published As

Publication number Publication date
WO2002079959A2 (en) 2002-10-10
US6701272B2 (en) 2004-03-02
CN1529842A (zh) 2004-09-15
EP1381931A2 (en) 2004-01-21
US20020143488A1 (en) 2002-10-03
EP1381931B1 (en) 2018-08-29
CN100374982C (zh) 2008-03-12
WO2002079959A3 (en) 2003-09-04
AU2002258482A1 (en) 2002-10-15
KR20040060848A (ko) 2004-07-06
TW544560B (en) 2003-08-01
JP2004533042A (ja) 2004-10-28
JP3982690B2 (ja) 2007-09-26

Similar Documents

Publication Publication Date Title
KR100609278B1 (ko) 써멀 솔루션을 최적화하는 방법 및 장치
US7349762B2 (en) Systems and methods for thermal management
US7400945B2 (en) On-die temperature monitoring in semiconductor devices to limit activity overload
US7275012B2 (en) Automated method and apparatus for processor thermal validation
US7756666B2 (en) Generation of hardware thermal profiles for a set of processors
US7549177B2 (en) Advanced thermal management using an average power controller over an adjustable time window
JP5676759B2 (ja) 安定した仮想周波数のための複数の動作点の管理
US7536577B2 (en) Calibration technique for power measurement and management over multiple time frames
US8527794B2 (en) Realtime power management of integrated circuits
US7698089B2 (en) Generation of software thermal profiles executed on a set of processors using processor activity
US20070124618A1 (en) Optimizing power and performance using software and hardware thermal profiles
US7490017B2 (en) Analytical generation of software thermal profiles
US20070168151A1 (en) Model predictive thermal management
US20070260415A1 (en) Optimizing thermal performance using thermal flow analysis
US7395174B2 (en) Generation of software thermal profiles executed on a set of processors using thermal sampling
KR20090119745A (ko) 동작 특성의 효율성 기반의 판정
US20070124124A1 (en) Generation of software thermal profiles for applications in a simulated environment
US20070260894A1 (en) Optimizing thermal performance using feed-back directed optimization
US10222843B1 (en) Server platform thermal control system using component power
US5870404A (en) Self-timed circuit having critical path timing detection
Manousakis et al. Btl: A framework for measuring and modeling energy in memory hierarchies
CN115047953B (zh) 一种服务器散热方法、系统、装置及介质
CN110275676A (zh) 一种固态硬盘的控制方法、装置及固态硬盘系统
CN107168895A (zh) 控制外部设备的方法、桥片及系统

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
FPAY Annual fee payment

Payment date: 20130701

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140701

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150630

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160630

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170704

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 13