KR101518163B1 - 멀티 코어 중앙 처리 장치에서의 코어 클록들을 비동기적으로 및 독립적으로 제어하는 시스템 및 방법 - Google Patents

멀티 코어 중앙 처리 장치에서의 코어 클록들을 비동기적으로 및 독립적으로 제어하는 시스템 및 방법 Download PDF

Info

Publication number
KR101518163B1
KR101518163B1 KR1020137032533A KR20137032533A KR101518163B1 KR 101518163 B1 KR101518163 B1 KR 101518163B1 KR 1020137032533 A KR1020137032533 A KR 1020137032533A KR 20137032533 A KR20137032533 A KR 20137032533A KR 101518163 B1 KR101518163 B1 KR 101518163B1
Authority
KR
South Korea
Prior art keywords
core
zeroth
clock
executing
zero
Prior art date
Application number
KR1020137032533A
Other languages
English (en)
Other versions
KR20140002087A (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 KR20140002087A publication Critical patent/KR20140002087A/ko
Application granted granted Critical
Publication of KR101518163B1 publication Critical patent/KR101518163B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • 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

Abstract

멀티코어 중앙 처리 장치에서 코어 클록들을 제어하는 방법이 개시되며, 제 0 코어 상에서 제 0 동적 클록 및 전압 스케일링 (DCVS) 알고리즘을 실행하는 단계 및 제 1 코어 상에서 제 1 DCVS 알고리즘을 실행하는 단계를 포함할 수도 있다. 상기 제 0 DCVS 알고리즘은 상기 제 0 코어와 연관된 제 0 클록 주파수를 독립적으로 제어하도록 동작가능할 수도 있고, 상기 제 1 DCVS 알고리즘은 상기 제 1 코어와 연관된 제 1 클록 주파수를 독립적으로 제어하도록 동작가능할 수도 있다.

Description

멀티 코어 중앙 처리 장치에서의 코어 클록들을 비동기적으로 및 독립적으로 제어하는 시스템 및 방법{SYSTEM AND METHOD FOR ASYNCHRONOUSLY AND INDEPENDENTLY CONTROLLING CORE CLOCKS IN A MULTICORE CENTRAL PROCESSING UNIT}
본 출원은 2009년 12월 16일자로 출원되고, 그 내용이 참조로 완전히 병합되는, 그 명칭이 SYSTEM AND METHOD OF ASYNCHRONOUSLY AND INDEPENDENTLY CONTROLLING CORE CLOCKS IN A MULTICORE CENTRAL PROCESSING UNIT 인 미국 가특허출원 번호 제 61/286,967 호에 대한 우선권을 주장한다.
휴대용 컴퓨팅 디바이스 (portable computing device: PCD) 는 편재되어 있다. 이들 디바이스들은 셀룰러 전화, 개인용 휴대 정보 단말 (PDA), 휴대용 게임 콘솔, 팜톱 컴퓨터, 및 다른 휴대용 전자 디바이스를 포함할 수도 있다. 이들 디바이스의 주요한 기능에 부가하여, 대다수는 주변 기능들을 포함한다. 예를 들어, 셀룰러 전화는 셀룰러 전화 통화를 행하는 주요 기능 및 스틸 카메라, 비디오 카메라, 글로벌 포지셔닝 시스템 (GPS) 네비게이션, 웹 브라우징, 이메일의 송신 및 수신, 텍스트 메시지의 송신 및 수신, 푸시-투-토크 능력 등의 주변 기능을 포함할 수도 있다. 그러한 디바이스의 기능성이 증가함에 따라, 그러한 기능성을 지원하는데 필요한 컴퓨팅 또는 처리 전력도 또한 증가한다. 또한, 컴퓨팅 전력이 증가함에 따라, 컴퓨팅 전력을 제공하는 프로세서, 또는 프로세서들을 효과적으로 관리할 더 큰 필요가 존재한다.
이에 따라, 필요한 것은 멀티코어 CPU 내의 전력을 제어하는 개선된 방법이다.
도면에서, 동일한 참조 번호는 달리 표시되지 않는 경우 여러 도면에 걸쳐 동일한 부품을 지칭한다.
도 1 은 폐쇄된 위치에 있는 휴대용 컴퓨팅 디바이스 (PCD) 의 제 1 양태의 정면 평면도이다.
도 2 는 개방된 위치에 있는 PCD 의 상기 제 1 양태의 정면 평면도이다.
도 3 은 PCD 의 제 2 양태의 블록도이다.
도 4 는 프로세싱 시스템의 블록도이다.
도 5 는 멀티코어 디바이스에서의 코어 클록들을 비동기적으로 및 독립적으로 제어하는 방법의 제 1 양태를 도시하는 흐름도이다.
도 6 은 멀티코어 디바이스에서의 코어 클록들을 비동기적으로 및 독립적으로 제어하는 방법의 제 2 양태를 도시하는 흐름도이다.
용어 "예시적인" 은 예, 예시, 또는 설명으로서 작용하는" 을 의미하기 위해 여기서 사용된다. 여기서 "예시적인" 것으로 기술된 임의의 양태는 반드시 다른 양태들에 비해 바람직하거나 이로운 것으로 해석되지는 않는다.
본 설명에서, 용어 "애플리케이션" 은 또한 오브젝트 코드, 스크립트, 바이트 코드, 마크업 언어 파일, 및 패치와 같은 실행가능한 컨텐츠를 갖는 파일들을 포함할 수도 있다. 또한, 여기서 참조되는 "애플리케이션" 은 또한 개방될 필요가 있을 수도 있는 문서들 또는 액세스될 필요가 있는 다른 데이터 파일과 같이 본래 실행가능하지 않는 파일들을 포함할 수도 있다.
용어 "컨텐츠" 는 또한 오브젝트 코드, 스크립트, 바이트 코드, 마크업 언어 파일, 및 패치와 같은 실행가능한 컨텐츠를 갖는 파일들을 포함할 수도 있다. 또한, 여기서 참조되는 "애플리케이션" 은 또한 개방될 필요가 있을 수도 있는 문서들 또는 액세스될 필요가 있는 다른 데이터 파일과 같이 본래 실행가능하지 않는 파일들을 포함할 수도 있다.
이 설명에서 사용되는 바와 같이, 용어 "컴포넌트", "데이터베이스", "모듈", "시스템" 등은 컴퓨터 관련 엔티티, 하드웨어, 펌웨어, 하드웨어 및 소프트웨어의 조합, 소프트웨어, 또는 실행중의 소프트웨어를 지칭하도록 의도된다. 예를 들어, 컴포넌트는 프로세서 상에서 실행 중인 프로세스, 프로세서, 오브젝트, 실행파일, 실행의 스레드, 프로그램, 및/또는 컴퓨터일 수도 있으나, 이들에 제한되지 않는다. 예시로써, 컴퓨팅 디바이스 상에서 실행하는 애플레케이션 및 컴퓨팅 디바이스 양자 모두가 컴포넌트일 수도 있다. 하나 이상의 컴포넌트들이 프로세스 및/또는 실행의 스레드 내에 상주할 수도 있고, 컴포넌트는 하나의 컴퓨터 상에 위이될 수도 있고 및/또는 2 개 이상의 컴퓨터들 사이에 분포될 수도 있다. 또한, 이들 컴포넌트들은 저장된 여러 데이터 구조들을 갖는 여러 컴퓨터 판독가능 매체로부터 실행할 수도 있다. 컴포넌트들은 예를 들어 하나 이상의 데이터 패킷 (예를 들어, 로컬 시스템, 분포된 시스템에서 및/또는 신호를 사용하여 다른 시스템들과의 인터넷과 같은 네트워크를 통해 다른 컴포넌트와 상호작용하는 하나의 컴포넌트로부터의 데이터) 을 갖는 신호에 따라 로컬 및/또는 원격 프로세스들을 통해 통신할 수도 있다.
처음에 도 1 및 도 2 를 참조하면, 예시적인 휴대용 컴퓨팅 디바이스 (PCD) 가 도시되고 일반적으로 100 으로 지정된다. 도시된 바와 같이, PCD (100) 는 하우징 (102) 을 포함할 수도 있다. 하우징 (102) 은 상부 하우징부 (104) 및 하부 하우징부 (106) 을 포함할 수도 있다. 도 1 은 상부 하우징부 (104) 가 디스플레이 (108) 를 포함할 수도 있는 것을 나타낸다. 특정의 양태에서, 디스플레이 (108) 는 터치 스크린 디스플레이일 수도 있다. 상부 하우징부 (104) 는 또한 트랙볼 입력 디바이스 (110) 를 포함할 수도 있다. 또한, 도 1 에 도시된 바와 같이, 상부 하우징부 (104) 는 파워 온 버튼 (112) 및 파워 오프 버튼 (114) 을 포함할 수도 있다. 도 1 에 도시된 바와 같이, PCD (100) 의 상부 하우징부 (104) 는 복수의 지시등 (116) 및 스피커 (118) 를 포함할 수도 있다. 각 지시등 (116) 은 발광 다이오드 (LED) 일 수도 있다.
특정의 양태에서, 도 2 에 도시된 바와 같이, 상부 하우징부 (104) 는 하부 하우징부 (106) 에 대해 이동가능하다. 상세히 설명하면, 상부 하우징부 (104) 는 하부 하우징부 (106) 에 대해 슬라이딩 가능할 수도 있다. 도 2 에 도시된 바와 같이, 하부 하우징부 (106) 는 멀티 버튼 키보드 (120) 를 포함할 수도 있다. 특정의 양태에서, 멀티 버튼 키보드 (120) 는 표준 QWERTY 키보드일 수도 있다. 멀티 버튼 키보드 (120) 는 상부 하우징부 (104) 가 하부 하우징부 (106) 에 대해 이동되는 경우 나타날 수도 있다. 도 2 는 또한 PCD (100) 가 하부 하우징부 (106) 상에 리셋 버튼 (122) 을 포함할 수도 있다는 것을 도시한다.
도 3 을 참조하면, 휴대용 컴퓨팅 디바이스 (PCD) 의 비제한적인 양태가 도시되고 일반적으로 320 으로 지정된다. 도시된 바와 같이, PCD (320) 는 멀티코어 CPU (324) 를 포함하는 온 칩 시스템 (322) 을 포함한다. 멀티코어 CPU (324) 는 제 0 코어 (325), 제 1 코어 (326) 및 제 N 코어 (327) 을 포함할 수도 있다.
도 3 에 도시된 바와 같이, 디스플레이 제어기 (328) 및 터치 스크린 제어기 (330) 는 멀티코어 CPU (324) 에 커플링된다. 차례로, 온 칩 시스템 (322) 의 외부에 있는 디스플레이/터치 스크린 (332) 는 디스플레이 제어기 (328) 및 터치 스크린 제어기 (330) 에 커플링된다.
도 3 은 또한 비디오 인코더 (334), 예를 들어 PAL (phase alternating line) 인코더, SECAM (sequential couleur a memoire) 인코더, 또는 NTSC (national television system(s) committee) 인코더가 멀티코어 CPU (324) 에 커플링되는 것을 나타낸다. 또한, 비디오 증폭기 (336) 가 비디오 인코더 (334) 및 디스플레이/터치 스크린 (332) 에 커플링된다. 또한, 비디오 포트 (338) 는 비디오 증폭기 (336) 에 커플링된다. 도 3 에 도시된 바와 같이, 유니버설 시리얼 버스 (USB) 제어기 (340) 가 멀티코어 CPU (324) 에 커플링된다. 또한, USB 포트 (342) 는 USB 제어기 (340) 에 커플링된다. 메모리 (344) 및 가입자 식별 모듈 (SIM) 카드 (346) 은 또한 멀티코어 CPU (324) 에 커플링될 수도 있다. 또한, 도 3 에 도시된 바와 같이, 디지털 카메라 (348) 가 멀티코어 CPU (324) 에 커플링될 수도 있다. 예시적인 양태에서, 디지털 카메라 (348) 는 CCD (charge-coupled device) 카메라 또는 CMOS (complementary metal-oxide semiconductor) 카메라이다.
도 3 에 도시된 바와 같이, 스테레오 오디오 CODEC (350) 이 멀티코어 CPU (324) 에 커플링될 수도 있다. 또한, 오디오 증폭기 (352) 가 스테레오 오디오 CODEC (350) 에 커플링될 수도 있다. 예시적인 양태에서, 제 1 스테레오 스피커 (354) 및 제 2 스테레오 스피커 (356) 가 오디오 증폭기 (352) 에 커플링된다. 도 3 은 마이크로폰 증폭기 (358) 가 또한 스테레오 오디오 CODEC (350) 에 커플링될 수도 있는 것을 도시한다. 또한, 마이크로폰 (360) 은 마이크로폰 증폭기 (358) 에 커플링될 수도 있다. 특정의 양태에서, 주파수 변조 (FM) 라디오 튜너 (362) 가 스테레오 오디오 CODEC (350) 에 커플링될 수도 있다. 또한, FM 안테나 (364) 가 FM 라디오 튜너 (362) 에 커플링된다. 또한, 스테레오 헤드폰 (366) 이 스테레오 오디오 CODEC (350) 에 커플링될 수도 있다.
도 3 은 또한 라디오 주파수 (RF) 송수신기 (368) 이 멀티코어 CPU (324) 에 커플링될 수도 있는 것을 나타낸다. RF 스위치 (370) 가 RF 송수신기 (368) 및 RF 안테나 (372) 에 커플링될 수도 있다. 도 3 에 도시된 바와 같이, 키패드 (374) 가 멀티코어 CPU (324) 에 커플링될 수도 있다. 또한, 마이크로폰 (376) 을 갖는 모노 헤드셋이 멀티코어 CPU (324) 에 커플링될 수도 있다. 또한, 진동기 디바이스 (378) 가 멀티코어 CPU (324) 에 커플링될 수도 있다. 도 3 은 또한 전력공급장치 (380) 가 온 칩 시스템 (322) 에 커플링될 수도 있다는 것을 나타낸다. 특정의 양태에서, 전력공급장치 (380) 는 전력을 필요로 하는 PCD (320) 의 여러 컴포넌트들에 전력을 제공하는 직류 (DC) 전력공급장치이다. 또한, 특정의 양태에서, 전력공급장치는 재충전 가능한 DC 배터리 또는 AC 전원에 접속된 교류 (AC) 대 DC 변환기로부터 유도되는 DC 전력공급장치이다.
도 3 은 또한 PCD (320) 가 또한 데이터 네트워크, 예를 들어 로컬 영역 네크워크, 개인 영역 네크워트, 또는 임의의 다른 네트워크에 액세스하는데 사용될 수도 있는 네트워크 카드 (388) 를 포함할 수도 있는 것을 나타낸다. 네트워크 카드 (388) 는 블루투스 네크워크 카드, WiFi 네트워크 카드, 개인 영역 네트워크 (PAN) 카드, 개인 영역 네트워크 초저전력 기술 (PeANUT) 네트워크 카드, 또는 본 기술에서 잘 알려진 임의의 다른 네트워크 카드일 수도 있다. 또한, 네트워크 카드 (388) 는 칩 내에 통합될 수도 있으며, 즉 네트워크 카드 (388) 는 칩 내의 풀 솔루션일 수도 있고, 분리된 네트워크 카드 (388) 아닐 수도 있다.
도 3 에 도시된 바와 같이, 디스플레이/터치 스크린 (332), 비디오 포트 (338), U뉴 포트 (342), 카메라 (348), 제 1 스테레오 스피커 (354), 제 2 스테레오 스피커 (356), 마이크로폰 (360), FM 안테나 (364), 스테레오 헤드폰 (366), RF 스위치 (370), RF 안테나 (372), 키패드 (374), 모노 헤드셋 (376), 진동기 (378) 및 전력공급장치 (380) 는 온 칩 시스템 (322) 의 외부에 있다.
특정의 양태에서, 여기에 기술된 하나 이상의 방법 단계들은 컴퓨터 프로그램 명령들로서 메모리 (344) 에 저장될 수도 있다. 이들 명령들은 여기에 기술된 방법들을 수행하기 위해 멀티코어 CPU (324) 에 의해 실행될 수도 있다. 또한, 멀티코어 CPU (324), 메모리 (344), 또는 이들의 조합은 각 CPU 또는 멀티코어 CPU (324) 의 코어와 연관된 클록을 제어하기 위해 여기에 기술된 방법 단계들의 하나 이상을 실행하는 수단으로서 작용할 수도 있다.
도 4 를 참조하면, 프로세싱 시스템이 도시되고 일반적으로 400 으로 지정된다. 특정의 양태에서, 프로세싱 시스템 (400) 은 도 3 과 함께 상술된 PCD (320) 내에 통합될 수도 있다. 도시된 바와 같이, 프로세싱 시스템 (400) 은 멀티코어 중앙 처리 장치 (CPU) (402) 및 멀티코어 CPU (402) 에 접속된 메모리 (404) 를 포함할 수도 있다. 멀티코어 CPU (402) 는 제 0 코어 (410), 제 1 코어 (412), 및 제 N 코어 (414) 를 포함할 수도 있다. 제 0 코어 (410) 는 그것에서 실행하는 제 0 동적 클록 및 전압 스케일링 (dynamic clock and voltage scaling: DCVS) 알고리즘 (416) 을 포함할 수도 있다. 제 1 코어 (412) 는 그것에서 실행하는 제 1 DCVS 알고리즘 (417) 을 포함할 수도 있다. 또한, 제 N 코어 (414) 는 그것에서 실행하는 제 N DCVS 알고리즘 (418) 을 포함할 수도 있다. 특정의 양태에서, 각 DCVS 알고리즘 (416, 417, 418) 은 각각의 코어 (410, 412, 414) 상에서 독립적으로 실행될 수도 있다. 또한, 각 DCVS 알고리즘 (416, 417, 418) 은 각각의 해당 코어 (410, 412, 414) 상에서 완전히 독립적으로 실행될 수도 있다. 또한, 코어 (410, 412, 414) 당 DCVS 알고리즘 (416, 417, 418) 의 하나의 인스턴스가 존재하고, DCVS 알고리즘 (416, 417, 418) 은 그것이 실행되는 코어 (410, 412, 414) 의 클록을 모니터 및 제어할 수도 있다. 각 DCVS 알고리즘 (416, 417, 418) 은 각 코어 (410, 412, 414) 에 대해 상이한 클록 주파수를 독립적으로 설정할 수도 있다.
특정의 양태에서, 각 DCVS 알고리즘 (416, 417, 418) 은 동일할 수도 있고, 각각은 동일한 파라미터, 예를 들어, 아이들 타임, 워크로드 (workload) 등을 모니터할 수도 있다. 다른 양태에서, 각 DCVS 알고리즘 (416, 417, 418) 은 동일할 수도 있지만, 각각은 상이한 파라미터를 모니터할 수도 있다. 다른 양태에서, 각 DCVS 알고리즘 (416, 417, 418) 은 상이할 수도 있지만, 각각은 동일한 파라미터를 모니터할 수도 있다. 또 다른 양태에서, 각 DCVS 알고리즘 (416, 417, 418) 은 상이할 수도 있지만, 각각은 상이한 파라미터를 모니터할 수도 있다.
다른 양태에서, 제 0 DCVS 알고리즘 (416) 은 제 0 코어 (410), 제 1 코어 (412), 제 N 코어 (414), 또는 이들의 임의의 조합으로부터의 아이들 정보를 사용할 수도 있다. 제 1 DCVS 알고리즘 (417) 은 제 0 코어 (410), 제 1 코어 (412), 제 N 코어 (414), 또는 이들의 임의의 조합으로부터의 아이들 정보를 사용할 수도 있다. 또한, 제 N DCVS 알고리즘 (418) 은 제 0 코어 (410), 제 1 코어 (412), 제 N 코어 (414), 또는 이들의 임의의 조합으로부터의 아이들 정보를 사용할 수도 있다.
또한, 도시된 바와 같이, 메모리 (404) 는 저장된 운영 체제 (420) 를 포함할 수도 있다. 운영 체제 (420) 는 스케쥴러 (422) 를 포함할 수도 있고, 스케쥴러 (422) 는 제 1 실행 큐 (424), 제 2 실행 큐 (426), 및 제 N 실행 큐 (428) 를 포함할 수도 있다. 메모리 (404) 는 또한 저장된 제 1 애플리케이션 (430), 제 2 애플리케이션 (432), 및 제 N 애플리케이션 (434) 을 포함할 수도 있다.
특정의 양태에서, 애플리케이션 (430, 432, 434) 은 멀티코어 CPU (402) 내의 코어 (410, 412, 414) 에서 처리되도록 운영 체제 (420) 로 하나 이상의 태스크 (436) 를 전송할 수도 있다. 태스크 (436) 는 단일의 태스크, 스레드, 또는 이들의 조합으로서 처리되거나 실행될 수도 있다. 또한, 스케쥴러 (422) 는 멀티코어 CPU (402) 내의 실행을 위해 태스크, 스레드 또는 이들의 조합을 스케쥴할 수도 있다. 또한, 스케쥴러 (422) 는 실행 큐 (424, 426, 428) 에 태스크, 스레드, 또는 이들의 조합을 위치시킬 수도 있다. 코어 (410, 412, 414) 는 코어 (410, 412, 414) 에서의 이들 태스크 및 스레드의 처리 또는 실행을 위해 예를 들어 운영 체제 (420) 에 의해 명령될 때 실행 큐 (424, 426, 428) 로부터 태스크, 스레드, 또는 이들의 조합을 취출할 수도 있다.
도 4 는 또한 메모리 (404) 가 저장된 병렬처리 모니터 (440) 를 포함할 수도 있다. 병렬처리 모니터 (440) 는 운영 체제 (420) 및 멀티코어 CPU (402) 에 접속될 수도 있다. 특히, 병렬처리 모니터 (440) 는 운영 체제 (420) 내의 스케쥴러 (422) 에 접속될 수도 있다. 여기에 기술된 바와 같이, 병렬처리 모니터 (440) 는 코어 (410, 412, 414) 상의 워크로드를 모니터할 수도 있고, 병렬처리 모니터 (440) 는 코어 (410, 412, 414) 에 대한 전력을 제어할 수도 있다.
도 5 를 참조하면, 멀티코어 디바이스에서 코어 클록들을 비동기적으로 및 독립적으로 제어하는 방법의 제 1 양태가 도시되고, 일반적으로 500 으로 지정된다. 방법 (500) 은 디바이스가 파워 온되는 경우, 다음의 단계들이 수행될 수도 있는 실행 루프 (do loop) 로 블록 (502) 에서 시작할 수도 있다.
블록 (510) 에서, 제 0 DCVS 알고리즘은 제 0 코어 상에서 실행될 수도 있다. 그 후, 블록 (512) 에서, 제 0 코어와 연관된 제 0 클록이 모니터될 수도 있다. 또한, 블록 (514) 에서, 제 0 코어와 연관된 아이들 타임이 모니터될 수도 있다. 블록 (516) 에서, 제 0 코어와 연관된 제 0 클록의 클록 주파수가 제 0 코어의 아이들 타임에 기초하여 변화될 수도 있다. 또한, 블록 (518) 에서, 제 0 코어의 전압은 제 0 코어의 아이들 타임에 기초하여 변화될 수도 있다.
결정 (519) 으로 이동하여, 전력 제어기는 디바이스가 파워 오프되는지 여부를 결정할 수도 있다. 디바이스가 파워 오프되는 경우, 방법은 종료할 수도 있다. 이와 달리, 디바이스가 파워 온된 상태로 유지되는 경우, 방법 (500) 은 단계 (502) 의 실행 직후의 위치로 리턴할 수도 있고, 방법 (500) 은 기술되는 바와 같이 계속될 수도 있다.
방법 (500) 의 설명을 계속하여, 블록 (520) 에서, 제 1 DCVS 알고리즘은 제 1 코어 상에서 실행될 수도 있다. 그 후, 블록 (522) 에서, 제 1 코어에 연관된 제 1 클록이 모니터될 수도 있다. 또한, 블록 (524) 에서, 제 1 코어와 연관된 아이들 타임이 모니터될 수도 있다. 블록 (526) 에서, 제 1 코어와 연관된 제 1 클록의 클록 주파수가 제 1 코어의 아이들 타임에 기초하여 변화될 수도 있다. 또한, 블록 (528) 에서, 제 1 코어의 전압이 제 1 코어의 아이들 타임에 기초하여 변화될 수도 있다. 그 후, 방법 (500) 은 결정 (519) 으로 계속되고, 여기에 기술된 바와 같이 계속될 수도 있다.
블록 (530) 에서, 제 N DCVS 알고리즘은 제 N 코어 상에서 실행될 수도 있다. 그 후, 블록 (532) 에서, 제 N 코어와 연관된 제 N 클록이 모니터될 수도 있다. 또한, 블록 (534) 에서, 제 N 코어와 연관된 아이들 타임이 모니터될 수도 있다. 블록 (536) 에서, 제 N 코어와 연관된 제 N 클록의 클록 주파수는 제 N 코어의 아이들 타임에 기초하여 변화될 수도 있다. 또한, 블록 (538) 에서, 제 1 코어의 전압이 제 1 코어의 아이들 타임에 기초하여 변화될 수도 있다. 그 후, 방법 (500) 은 결정 (519) 으로 계속되고, 여기에 기술된 바와 같이 계속될 수도 있다.
단계 (510 내지 518), 단계(520 내지 528), 및 단계 (530 내지 538) 는 병렬로 실행될 수도 있다. 이와 같이, 독립적인 비동기 클록 제어가 각 코어와 연관된 클록에 제공될 수도 있다.
도 6 을 참조하면, 멀티코어 디바이스에서 코어 클록들을 비동기적으로 및 독립적으로 제어하는 방법의 제 2 양태가 도시되고, 일반적으로 600 으로 지정된다. 방법 (600) 은 디바이스가 파워 온되는 경우, 다음의 단계들이 수행될 수도 있는 실행 루프 (do loop) 로 블록 (602) 에서 시작할 수도 있다.
블록 (610) 에서, 제 0 DCVS 알고리즘이 제 0 코어 상에서 실행될 수도 있다. 그 후, 블록 (612) 에서, 제 0 코어와 연관된 제 0 클록이 모니터될 수도 있다. 또한, 블록 (614) 에서, 제 0 코어와 연관된 워크로드가 모니터될 수도 있다. 블록 (616) 에서, 제 0 코어와 연관된 제 0 클록의 클록 주파수가 제 0 코어의 워크로드에 기초하여 변화될 수도 있다. 또한, 블록 (618) 에서, 제 0 코어의 전압은 제 0 코어의 워크로드에 기초하여 변화될 수도 있다.
결정 (619) 으로 이동하여, 전력 제어기는 디바이스가 파워 오프되는지 여부를 결정할 수도 있다. 디바이스가 파워 오프되는 경우, 방법은 종료할 수도 있다. 이와 달리, 디바이스가 파워 온된 상태로 유지되는 경우, 방법 (600) 은 단계 (602) 의 실행 직후의 위치로 리턴할 수도 있고, 방법 (600) 은 기술되는 바와 같이 계속될 수도 있다.
방법 (600) 의 설명을 계속하여, 블록 (620) 에서, 제 1 DCVS 알고리즘이 제 1 코어 상에서 실행될 수도 있다. 그 후, 블록 (622) 에서, 제 1 코어와 연관된 제 1 클록이 모니터될 수도 있다. 또한, 블록 (624) 에서, 제 1 코어와 연관된 워크로드가 모니터될 수도 있다. 블록 (626) 에서, 제 1 코어와 연관된 제 1 클록의 클록 주파수가 제 1 코어의 워크로드에 기초하여 변화될 수도 있다. 또한, 블록 (628) 에서, 제 1 코어의 전압이 제 1 코어의 워크로드에 기초하여 변화될 수도 있다. 그 후, 방법 (600) 은 결정 (619) 으로 계속되고, 여기에 기술된 바와 같이 계속될 수도 있다.
블록 (630) 에서, 제 N DCVS 알고리즘이 제 N 코어 상에서 실행될 수도 있다. 그 후, 블록 (632) 에서, 제 N 코어와 연관된 제 N 클록이 모니터될 수도 있다. 또한, 블록 (634) 에서, 제 N 코어와 연관된 워크로드가 모니터될 수도 있다. 블록 (636) 에서, 제 N 코어와 연관된 제 N 클록의 클록 주파수는 제 N 코어의 워크로드에 기초하여 변화될 수도 있다. 또한, 블록 (638) 에서, 제 1 코어의 전압이 제 1 코어의 워크로드에 기초하여 변화될 수도 있다. 그 후, 방법 (600) 은 결정 (619) 으로 계속되고, 여기에 기술된 바와 같이 계속될 수도 있다.
단계 (610 내지 618), 단계(620 내지 628), 및 단계 (630 내지 638) 는 병렬로 실행될 수도 있다. 이와 같이, 독립적인 비동기 클록 제어가 각 코어와 연관된 클록에 제공될 수도 있다.
여기에 기술된 방법 단계들은 반드시 기술된 순서로 수행될 필요는 없다. 또한, "그 후", "그리고 나서", "다음" 등과 같은 단어는 단계들의 순서를 제한하도록 의도되지 않는다. 이들 단어들은 방법 단계들의 설명을 통해 독자를 안내하기 위해 사용될 뿐이다. 또한, 여기에 기술된 방법들은 휴대용 컴퓨팅 디바이스 (PCD) 상에서 실행가능한 것으로서 기술된다. PCD 는 이동 전화 디바이스, 휴대용 정보 단말 디바이스, 스마트북 컴퓨팅 디바이스, 넷북 컴퓨팅 디바이스, 랩톱 컴퓨팅 디바이스, 데스크톱 컴퓨팅 디바이스 또는 이들의 조합일 수도 있다.
여기에 개시된 시스템 및 방법들은 다수의 코어들 상에서 완전히 독립적으로 실행될 수도 있는 완전히 독립적인 DCVS (DVFS 로도 알려짐) 알고리즘들을 제공한다. 코어 당 DCVS 알고리즘의 하나의 인스턴스가 존재하고, 각각은 해당 코어 만의 클록을 모니터 및 제어한다. 다수의 알고리즘들이 다수의 코어들에 대한 상이한 클록 주파수들을 독립적으로 설정하도록 허용된다.
하나의 특정의 양태에서, 각 DCVS 알고리즘 인스턴스는 각 코어 상에서 소비되는 아이들 타임의 퍼센티지를 모니터할 수도 있다. 코어 아이들 타임은 운영 체제로부터 또는 시스템 프로파일링 및 진단 모니터 (system profiling and diagnostic monitor: SPDM) 과 같은 특수한 외부의 하드웨어 카운터를 통해 획득될 수도 있다. 다른 양태에서, 각 DCVS 알고리즘은 태스크 메모리-유계 (task memory-boundedness) 와 같은 워크로드 특성을 모니터할 수도 있고, 각 코어 상에서 실행되는 상이한 태스크 특성들에 기초하여 주파수를 독립적으로 조정한다.
하나 이상의 예시적인 양태들에서, 기술된 기능들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되는 경우, 기능들은 머신 판독가능 매체, 즉 컴퓨터 판독가능 매체와 같은 컴퓨터 프로그램 제품 상의 하나 이상의 명령들 또는 코드로서 저장 또는 송신될 수도 있다. 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 한 곳에서 다른 곳으로 컴퓨터 프로그램의 전달을 용이하게 하는 임의의 매체를 포함하는 통신 매체를 포함한다. 저장 매체는 컴퓨터에 의해 액세스될 수도 있는 임의의 이용가능한 매체일 수도 있다. 제한이 아닌 예로써, 그러한 컴퓨터 판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 기억장치, 자기 디스크 기억장치 또는 다른 자기 저장 디바이스, 또는 컴퓨터에 의해 액세스될 수도 있고, 명령들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 운반 또는 저장하는데 사용될 수도 있는 임의의 다른 매체 을 포함할 수도 있다. 또한, 임의의 접속은 적절히 컴퓨터 판독가능 매체로 지칭된다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 트위스티드 페어, 디지털 가입자 라인 (DSL), 또는 적외선, 라디오 및 마이크로웨이브와 같은 무선 기술을 사용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 송신되는 경우, 동축 케이블, 광섬유 케이블, 트위스티드 페어, DSL, 또는 적외선, 라디오 및 마이크로웨이브와 같은 무선 기술은 매체의 정의에 포함된다. 여기에 사용된 디스크 (disk) 및 디스크 (disc) 는 CD (compact disc), 레이저 디스크, 광 디스크, DVD (digital versatile disc), 플로피 디스크 (floppy disk) 및 블루-레이 디스크를 포함하며, 여기서 디스크 (disk) 는 통상 자기적으로 데이터를 재생하는 반면, 디스크 (disc) 는 레이저를 사용하여 광학적으로 데이터를 재생한다. 상술한 것들의 조합은 또한 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
선택된 양태들이 상세히 설명 및 기술되었지만, 여러 치환 및 변경이 다음의 청구항들에 의해 정의되는 바와 같은, 본 발명의 사상 및 범위로부터 이탈하지 않고 행해질 수도 있다.

Claims (4)

  1. 멀티코어 중앙 처리 장치 (CPU) 에서 코어 클록들을 제어하는 방법으로서,
    상기 멀티코어 CPU의 제 0 코어 상에서 제 0 동적 클록 및 전압 스케일링 (DCVS) 알고리즘을 실행하는 단계; 및
    상기 멀티코어 CPU의 제 1 코어 상에서 제 1 DCVS 알고리즘을 실행하는 단계를 포함하고,
    상기 제 0 코어 상에서 상기 제 0 DCVS 알고리즘을 실행하는 단계는 상기 멀티코어 CPU 로 하여금 상기 제 0 코어의 아이들 타임 (idle time) 을 모니터하고, 상기 아이들 타임에 기초하되 상기 제 1 코어와 연관된 제 1 클록의 제 1 클록 주파수와 독립적으로 상기 제 0 코어와 연관된 제 0 클록의 제 0 클록 주파수를 변화시키도록 하고,
    상기 제 1 코어 상에서 상기 제 1 DCVS 알고리즘을 실행하는 단계는 상기 멀티코어 CPU 로 하여금 상기 제 1 코어의 워크로드 (workload) 의 메모리-유계를 모니터하고, 상기 워크로드의 메모리-유계에 기초하되 상기 제 0 클록의 상기 제 0 클록 주파수와 독립적으로 상기 제 1 코어와 연관된 상기 제 1 클록의 상기 제 1 클록 주파수를 변화시키도록 하는, 코어 클록 제어 방법.
  2. 무선 디바이스로서,
    멀티코어 중앙 처리 장치 (CPU) 의 제 0 코어 상에서 제 0 동적 클록 및 전압 스케일링 (DCVS) 알고리즘을 실행하는 수단; 및
    상기 멀티코어 CPU의 제 1 코어 상에서 제 1 DCVS 알고리즘을 실행하는 수단을 포함하고,
    상기 제 0 코어 상에서 상기 제 0 DCVS 알고리즘을 실행하는 수단은,
    상기 멀티코어 CPU 로 하여금 상기 제 0 코어의 아이들 타임 (idle time) 을 모니터하도록 하는 수단; 및
    상기 아이들 타임에 기초하되 상기 제 1 코어와 연관된 제 1 클록의 제 1 클록 주파수와 독립적으로 상기 제 0 코어와 연관된 제 0 클록의 제 0 클록 주파수를 변화시키는 수단을 포함하고,
    상기 제 1 코어 상에서 상기 제 1 DCVS 알고리즘을 실행하는 수단은,
    상기 멀티코어 CPU 로 하여금 상기 제 1 코어의 워크로드 (workload) 의 메모리-유계를 모니터하도록 하는 수단; 및
    상기 워크로드의 메모리-유계에 기초하되 상기 제 0 클록의 상기 제 0 클록 주파수와 독립적으로 상기 제 1 코어와 연관된 상기 제 1 클록의 상기 제 1 클록 주파수를 변화시키는 수단을 포함하는, 무선 디바이스.
  3. 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성된 프로세서를 포함하는 무선 디바이스로서,
    상기 동작들은,
    멀티코어 중앙 처리 장치 (CPU) 의 제 0 코어 상에서 제 0 동적 클록 및 전압 스케일링 (DCVS) 알고리즘을 실행하는 것; 및
    상기 멀티코어 CPU의 제 1 코어 상에서 제 1 DCVS 알고리즘을 실행하는 것을 포함하고,
    상기 제 0 코어 상에서 상기 제 0 DCVS 알고리즘을 실행하는 것은 상기 멀티코어 CPU 로 하여금 상기 제 0 코어의 아이들 타임 (idle time) 을 모니터하고, 상기 아이들 타임에 기초하되 상기 제 1 코어와 연관된 제 1 클록의 제 1 클록 주파수와 독립적으로 상기 제 0 코어와 연관된 제 0 클록의 제 0 클록 주파수를 변화시키도록 하고,
    상기 제 1 코어 상에서 상기 제 1 DCVS 알고리즘을 실행하는 것은 상기 멀티코어 CPU 로 하여금 상기 제 1 코어의 워크로드 (workload) 의 메모리-유계를 모니터하고, 상기 워크로드의 메모리-유계에 기초하되 상기 제 0 클록의 상기 제 0 클록 주파수와 독립적으로 상기 제 1 코어와 연관된 상기 제 1 클록의 상기 제 1 클록 주파수를 변화시키도록 하는, 무선 디바이스.
  4. 프로세서로 하여금 동작들을 수행하게 하도록 구성된 프로세서 실행가능한 소프트웨어 명령들을 저장하는 비-일시적 컴퓨터 판독 가능 저장 매체로서,
    상기 동작들은,
    멀티코어 중앙 처리 장치 (CPU) 의 제 0 코어 상에서 제 0 동적 클록 및 전압 스케일링 (DCVS) 알고리즘을 실행하는 것; 및
    상기 멀티코어 CPU의 제 1 코어 상에서 제 1 DCVS 알고리즘을 실행하는 것을 포함하고,
    상기 제 0 코어 상에서 상기 제 0 DCVS 알고리즘을 실행하는 것은 상기 멀티코어 CPU 로 하여금 상기 제 0 코어의 아이들 타임 (idle time) 을 모니터하고, 상기 아이들 타임에 기초하되 상기 제 1 코어와 연관된 제 1 클록의 제 1 클록 주파수와 독립적으로 상기 제 0 코어와 연관된 제 0 클록의 제 0 클록 주파수를 변화시키도록 하고,
    상기 제 1 코어 상에서 상기 제 1 DCVS 알고리즘을 실행하는 것은 상기 멀티코어 CPU 로 하여금 상기 제 1 코어의 워크로드 (workload) 의 메모리-유계를 모니터하고, 상기 워크로드의 메모리-유계에 기초하되 상기 제 0 클록의 상기 제 0 클록 주파수와 독립적으로 상기 제 1 코어와 연관된 상기 제 1 클록의 상기 제 1 클록 주파수를 변화시키도록 하는, 컴퓨터 판독 가능 저장 매체.
KR1020137032533A 2009-12-16 2010-12-08 멀티 코어 중앙 처리 장치에서의 코어 클록들을 비동기적으로 및 독립적으로 제어하는 시스템 및 방법 KR101518163B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US28696709P 2009-12-16 2009-12-16
US61/286,967 2009-12-16
US12/944,321 US8689037B2 (en) 2009-12-16 2010-11-11 System and method for asynchronously and independently controlling core clocks in a multicore central processing unit
US12/944,321 2010-11-11
PCT/US2010/059535 WO2011084328A1 (en) 2009-12-16 2010-12-08 System and method for asynchronously and independently controlling core clocks in a multicore central processing unit

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020127018603A Division KR20120105519A (ko) 2009-12-16 2010-12-08 멀티 코어 중앙 처리 장치에서의 코어 클록들을 비동기적으로 및 독립적으로 제어하는 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20140002087A KR20140002087A (ko) 2014-01-07
KR101518163B1 true KR101518163B1 (ko) 2015-05-07

Family

ID=44144262

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020127018603A KR20120105519A (ko) 2009-12-16 2010-12-08 멀티 코어 중앙 처리 장치에서의 코어 클록들을 비동기적으로 및 독립적으로 제어하는 시스템 및 방법
KR1020137032533A KR101518163B1 (ko) 2009-12-16 2010-12-08 멀티 코어 중앙 처리 장치에서의 코어 클록들을 비동기적으로 및 독립적으로 제어하는 시스템 및 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020127018603A KR20120105519A (ko) 2009-12-16 2010-12-08 멀티 코어 중앙 처리 장치에서의 코어 클록들을 비동기적으로 및 독립적으로 제어하는 시스템 및 방법

Country Status (9)

Country Link
US (1) US8689037B2 (ko)
EP (1) EP2513750B1 (ko)
JP (1) JP2013513896A (ko)
KR (2) KR20120105519A (ko)
CN (1) CN102687096B (ko)
BR (1) BR112012014160B1 (ko)
ES (1) ES2673343T3 (ko)
HU (1) HUE037224T2 (ko)
WO (1) WO2011084328A1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8909962B2 (en) * 2009-12-16 2014-12-09 Qualcomm Incorporated System and method for controlling central processing unit power with guaranteed transient deadlines
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
US9563250B2 (en) 2009-12-16 2017-02-07 Qualcomm Incorporated System and method for controlling central processing unit power based on inferred workload parallelism
US9176572B2 (en) 2009-12-16 2015-11-03 Qualcomm Incorporated System and method for controlling central processing unit power with guaranteed transient deadlines
US8650426B2 (en) * 2009-12-16 2014-02-11 Qualcomm Incorporated System and method for controlling central processing unit power in a virtualized system
US9128705B2 (en) * 2009-12-16 2015-09-08 Qualcomm Incorporated System and method for controlling central processing unit power with reduced frequency oscillations
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
US9104411B2 (en) 2009-12-16 2015-08-11 Qualcomm Incorporated System and method for controlling central processing unit power with guaranteed transient deadlines
US9086883B2 (en) 2011-06-10 2015-07-21 Qualcomm Incorporated System and apparatus for consolidated dynamic frequency/voltage control
US20130060555A1 (en) * 2011-06-10 2013-03-07 Qualcomm Incorporated System and Apparatus Modeling Processor Workloads Using Virtual Pulse Chains
TWI454905B (zh) 2011-09-30 2014-10-01 Intel Corp 在多核心平台中之受限制的啓動技術
US9117511B2 (en) * 2013-03-08 2015-08-25 Advanced Micro Devices, Inc. Control circuits for asynchronous circuits
US9244747B2 (en) * 2014-03-13 2016-01-26 Qualcomm Incorporated System and method for providing dynamic clock and voltage scaling (DCVS) aware interprocessor communication
US9619289B2 (en) 2014-09-11 2017-04-11 Dell Products, L.P. Workload optimized server for intelligent algorithm trading platforms
JP6308092B2 (ja) * 2014-10-06 2018-04-11 株式会社デンソー 電子制御装置
KR102278475B1 (ko) 2014-10-14 2021-07-19 삼성전자주식회사 전자 장치 및 그 제어 방법
US9717051B2 (en) * 2015-02-20 2017-07-25 Qualcomm Innovation Center, Inc. Proactive control of hardware based upon monitored processing
CN106708241A (zh) * 2016-11-24 2017-05-24 捷开通讯(深圳)有限公司 移动终端及提高其在低功耗模式下的性能的方法
US10551901B2 (en) * 2017-07-01 2020-02-04 Microsoft Technology Licensing, Llc Core frequency management using effective utilization for power-efficient performance
DE102020205156A1 (de) 2020-04-23 2021-10-28 Robert Bosch Gesellschaft mit beschränkter Haftung Auswertung von Messdaten für sicherheitskritische Anwendungen
CN115309347B (zh) * 2022-10-10 2023-03-24 苏州浪潮智能科技有限公司 基于ssd主控变频的时间管理方法、装置、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060149975A1 (en) 2004-12-30 2006-07-06 Intel Corporation Operating point management in multi-core architectures
US20080310099A1 (en) 2007-06-18 2008-12-18 Pedro Chaparro Monferrer Microarchitecture controller for thin-film thermoelectric cooling

Family Cites Families (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS593651A (ja) 1982-06-30 1984-01-10 Fujitsu Ltd フア−ムウエアによる性能測定システム
JPH0351902A (ja) 1989-07-20 1991-03-06 Tokyo Electric Co Ltd データ処理装置
US5644769A (en) 1993-06-14 1997-07-01 Matsushita Electric Industrial Co., Ltd. System for optimizing program by virtually executing the instruction prior to actual execution of the program to invalidate unnecessary instructions
JPH086681A (ja) 1994-04-18 1996-01-12 Hitachi Ltd 省電力制御システム
JP2770760B2 (ja) 1995-01-04 1998-07-02 日本電気株式会社 電力分散マルチプロセッサ
JPH10268963A (ja) 1997-03-28 1998-10-09 Mitsubishi Electric Corp 情報処理装置
WO1999009587A2 (en) * 1997-08-13 1999-02-25 Applied Materials, Inc. Method of etching copper for semiconductor devices
JPH11184554A (ja) * 1997-12-24 1999-07-09 Mitsubishi Electric Corp クロック制御タイプ情報処理装置
US6230183B1 (en) 1998-03-11 2001-05-08 International Business Machines Corporation Method and apparatus for controlling the number of servers in a multisystem cluster
KR100613201B1 (ko) 2000-08-28 2006-08-18 마이크로코넥트 엘엘씨 씨피유 사용량 측정 방법
TW521177B (en) 2000-08-31 2003-02-21 Primarion Inc Apparatus and system for providing transient suppression power regulation
US6718474B1 (en) 2000-09-21 2004-04-06 Stratus Technologies Bermuda Ltd. Methods and apparatus for clock management based on environmental conditions
JP2002099433A (ja) 2000-09-22 2002-04-05 Sony Corp 演算処理システム及び演算処理制御方法、タスク管理システム及びタスク管理方法、並びに記憶媒体
US6829713B2 (en) 2000-12-30 2004-12-07 Intel Corporation CPU power management based on utilization with lowest performance mode at the mid-utilization range
US7017060B2 (en) 2001-03-19 2006-03-21 Intel Corporation Power management system that changes processor level if processor utilization crosses threshold over a period that is different for switching up or down
US6901522B2 (en) 2001-06-07 2005-05-31 Intel Corporation System and method for reducing power consumption in multiprocessor system
US7058824B2 (en) 2001-06-15 2006-06-06 Microsoft Corporation Method and system for using idle threads to adaptively throttle a computer
US6804632B2 (en) 2001-12-06 2004-10-12 Intel Corporation Distribution of processing activity across processing hardware based on power consumption considerations
US7318164B2 (en) 2001-12-13 2008-01-08 International Business Machines Corporation Conserving energy in a data processing system by selectively powering down processors
US6978389B2 (en) 2001-12-20 2005-12-20 Texas Instruments Incorporated Variable clocking in an embedded symmetric multiprocessor system
US7194385B2 (en) 2002-11-12 2007-03-20 Arm Limited Performance level setting of a data processing system
US7240223B2 (en) 2003-05-07 2007-07-03 Apple Inc. Method and apparatus for dynamic power management in a processor system
GB2403823B (en) 2003-07-08 2005-09-21 Toshiba Res Europ Ltd Controller for processing apparatus
US7134031B2 (en) 2003-08-04 2006-11-07 Arm Limited Performance control within a multi-processor system
JP4549652B2 (ja) 2003-10-27 2010-09-22 パナソニック株式会社 プロセッサシステム
US7107187B1 (en) 2003-11-12 2006-09-12 Sprint Communications Company L.P. Method for modeling system performance
US7133806B2 (en) 2004-05-13 2006-11-07 Ittiam Systems (P) Ltd Method and apparatus for measurement of processor-utilization
US7401240B2 (en) 2004-06-03 2008-07-15 International Business Machines Corporation Method for dynamically managing power in microprocessor chips according to present processing demands
US7219245B1 (en) 2004-06-03 2007-05-15 Advanced Micro Devices, Inc. Adaptive CPU clock management
KR100716730B1 (ko) 2004-06-11 2007-05-14 삼성전자주식회사 중앙 처리 장치의 아이들 상태에서의 시스템 전력 소모절감을 위한 방법 및 그 방법을 적용한 모바일 장치
JP3805344B2 (ja) 2004-06-22 2006-08-02 株式会社ソニー・コンピュータエンタテインメント プロセッサ、情報処理装置およびプロセッサの制御方法
US7739527B2 (en) 2004-08-11 2010-06-15 Intel Corporation System and method to enable processor management policy in a multi-processor environment
US7711966B2 (en) 2004-08-31 2010-05-04 Qualcomm Incorporated Dynamic clock frequency adjustment based on processor load
US7437581B2 (en) 2004-09-28 2008-10-14 Intel Corporation Method and apparatus for varying energy per instruction according to the amount of available parallelism
US7370189B2 (en) 2004-09-30 2008-05-06 Intel Corporation Method and apparatus for establishing safe processor operating points in connection with a secure boot
US7543161B2 (en) 2004-09-30 2009-06-02 International Business Machines Corporation Method and apparatus for tracking variable speed microprocessor performance caused by power management in a logically partitioned data processing system
US7814485B2 (en) 2004-12-07 2010-10-12 Intel Corporation System and method for adaptive power management based on processor utilization and cache misses
DE102004059996B4 (de) 2004-12-13 2006-10-05 Infineon Technologies Ag Verfahren und Vorrichtung zum Einstellen der Taktfrequenz eines Prozessors
US7228446B2 (en) 2004-12-21 2007-06-05 Packet Digital Method and apparatus for on-demand power management
US7369967B1 (en) 2004-12-27 2008-05-06 Sprint Communications Company L.P. System and method for monitoring and modeling system performance
US7467291B1 (en) 2005-02-28 2008-12-16 Sun Microsystems, Inc. System and method for calibrating headroom margin
JP4082706B2 (ja) 2005-04-12 2008-04-30 学校法人早稲田大学 マルチプロセッサシステム及びマルチグレイン並列化コンパイラ
WO2007007300A2 (en) 2005-07-14 2007-01-18 Nxp B.V. Using historic load profiles to dynamically adjust operating frequency and available power to a handheld multimedia device processor core
US7490254B2 (en) 2005-08-02 2009-02-10 Advanced Micro Devices, Inc. Increasing workload performance of one or more cores on multiple core processors
US7548859B2 (en) 2005-08-03 2009-06-16 Motorola, Inc. Method and system for assisting users in interacting with multi-modal dialog systems
US7689838B2 (en) 2005-12-22 2010-03-30 Intel Corporation Method and apparatus for providing for detecting processor state transitions
US7233188B1 (en) 2005-12-22 2007-06-19 Sony Computer Entertainment Inc. Methods and apparatus for reducing power consumption in a processor using clock signal control
US7263457B2 (en) * 2006-01-03 2007-08-28 Advanced Micro Devices, Inc. System and method for operating components of an integrated circuit at independent frequencies and/or voltages
US20070260898A1 (en) 2006-05-03 2007-11-08 Edward Burton Voltage regulator with suspend mode
US20080005591A1 (en) 2006-06-28 2008-01-03 Trautman Mark A Method, system, and apparatus for dynamic thermal management
US7584369B2 (en) 2006-07-26 2009-09-01 International Business Machines Corporation Method and apparatus for monitoring and controlling heat generation in a multi-core processor
JP4808108B2 (ja) 2006-08-29 2011-11-02 パナソニック株式会社 プロセッサシステム
US20100325481A1 (en) 2006-10-20 2010-12-23 Freescale Semiconductor, Inc. Device having redundant core and a method for providing core redundancy
US7949887B2 (en) * 2006-11-01 2011-05-24 Intel Corporation Independent power control of processing cores
JP2008129846A (ja) 2006-11-21 2008-06-05 Nippon Telegr & Teleph Corp <Ntt> データ処理装置、データ処理方法およびプログラム
GB2445167A (en) 2006-12-29 2008-07-02 Advanced Risc Mach Ltd Managing performance of a processor
US7793125B2 (en) 2007-01-10 2010-09-07 International Business Machines Corporation Method and apparatus for power throttling a processor in an information handling system
US7783906B2 (en) 2007-02-15 2010-08-24 International Business Machines Corporation Maximum power usage setting for computing device
US7730340B2 (en) 2007-02-16 2010-06-01 Intel Corporation Method and apparatus for dynamic voltage and frequency scaling
JP4739271B2 (ja) 2007-04-19 2011-08-03 株式会社富士通アドバンストエンジニアリング 電源制御装置、仮想サーバ管理システム、電源制御方法および電源制御プログラム
US7902800B2 (en) * 2007-07-13 2011-03-08 Chil Semiconductor Corporation Adaptive power supply and related circuitry
US8356306B2 (en) 2007-07-31 2013-01-15 Hewlett-Packard Development Company, L.P. Workload management controller using dynamic statistical control
US20090049314A1 (en) 2007-08-13 2009-02-19 Ali Taha Method and System for Dynamic Voltage and Frequency Scaling (DVFS)
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
JP5433837B2 (ja) 2007-12-05 2014-03-05 株式会社日立製作所 仮想計算機システム、仮想計算機の制御方法及びプログラム
US20090150696A1 (en) 2007-12-10 2009-06-11 Justin Song Transitioning a processor package to a low power state
US8024590B2 (en) 2007-12-10 2011-09-20 Intel Corporation Predicting future power level states for processor cores
JP4488072B2 (ja) 2008-01-18 2010-06-23 日本電気株式会社 サーバシステム、及びサーバシステムの電力削減方法
US8245236B2 (en) 2008-02-27 2012-08-14 International Business Machines Corporation Lock based moving of threads in a shared processor partitioning environment
JP4996519B2 (ja) 2008-03-27 2012-08-08 パナソニック株式会社 仮想マルチプロセッサ、システムlsi、携帯電話機器、及び仮想マルチプロセッサの制御方法
US20090271646A1 (en) * 2008-04-24 2009-10-29 Vanish Talwar Power Management Using Clustering In A Multicore System
US8170845B2 (en) 2008-09-24 2012-05-01 International Business Machines Corporation Method and apparatus for automatic performance modeling with load dependent service times and overheads
US8195962B2 (en) * 2008-11-11 2012-06-05 Globalfoundries Inc. Method and apparatus for regulating power consumption
US8924975B2 (en) * 2009-07-23 2014-12-30 Empire Technology Development Llc Core selection for applications running on multiprocessor systems based on core and application characteristics
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
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
US9176572B2 (en) 2009-12-16 2015-11-03 Qualcomm Incorporated System and method for controlling central processing unit power with guaranteed transient deadlines
US8650426B2 (en) 2009-12-16 2014-02-11 Qualcomm Incorporated System and method for controlling central processing unit power in a virtualized system
US9128705B2 (en) 2009-12-16 2015-09-08 Qualcomm Incorporated System and method for controlling central processing unit power with reduced frequency oscillations
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
US9563250B2 (en) 2009-12-16 2017-02-07 Qualcomm Incorporated System and method for controlling central processing unit power based on inferred workload parallelism

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060149975A1 (en) 2004-12-30 2006-07-06 Intel Corporation Operating point management in multi-core architectures
US20080310099A1 (en) 2007-06-18 2008-12-18 Pedro Chaparro Monferrer Microarchitecture controller for thin-film thermoelectric cooling

Also Published As

Publication number Publication date
ES2673343T3 (es) 2018-06-21
BR112012014160B1 (pt) 2021-02-23
CN102687096B (zh) 2016-04-06
KR20140002087A (ko) 2014-01-07
EP2513750A1 (en) 2012-10-24
HUE037224T2 (hu) 2018-08-28
KR20120105519A (ko) 2012-09-25
CN102687096A (zh) 2012-09-19
EP2513750B1 (en) 2018-03-28
US20110145624A1 (en) 2011-06-16
BR112012014160A2 (pt) 2016-05-17
US8689037B2 (en) 2014-04-01
WO2011084328A1 (en) 2011-07-14
JP2013513896A (ja) 2013-04-22

Similar Documents

Publication Publication Date Title
KR101518163B1 (ko) 멀티 코어 중앙 처리 장치에서의 코어 클록들을 비동기적으로 및 독립적으로 제어하는 시스템 및 방법
KR101409141B1 (ko) 멀티코어 중앙 프로세싱 유닛에서의 복수의 코어들을 온도에 기초하여 동적으로 제어하는 시스템 및 방법
KR101516859B1 (ko) 보장된 정상 상태 데드라인을 가진 중앙 처리 장치 전력을 제어하는 시스템 및 방법
EP2513746B1 (en) System and method for controlling central processing unit power with guaranteed transient deadlines
KR101411729B1 (ko) 감소된 주파수 발진들을 갖는 중앙 처리 장치 전력을 제어하기 위한 시스템 및 방법
KR20120116975A (ko) 프로세서의 동적 제어 방법 및 시스템
KR101499303B1 (ko) 중앙 처리 유닛 내의 데이터를 샘플링하는 시스템 및 방법
JP5460883B2 (ja) ワークロードの要求に基づいて動的なクロックおよび電圧切替えアルゴリズムを調整するシステムおよび方法

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180329

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190327

Year of fee payment: 5