KR20140002087A - 멀티 코어 중앙 처리 장치에서의 코어 클록들을 비동기적으로 및 독립적으로 제어하는 시스템 및 방법 - Google Patents
멀티 코어 중앙 처리 장치에서의 코어 클록들을 비동기적으로 및 독립적으로 제어하는 시스템 및 방법 Download PDFInfo
- Publication number
- KR20140002087A KR20140002087A KR1020137032533A KR20137032533A KR20140002087A KR 20140002087 A KR20140002087 A KR 20140002087A KR 1020137032533 A KR1020137032533 A KR 1020137032533A KR 20137032533 A KR20137032533 A KR 20137032533A KR 20140002087 A KR20140002087 A KR 20140002087A
- Authority
- KR
- South Korea
- Prior art keywords
- core
- zero
- clock
- clock frequency
- dcvs
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Power Sources (AREA)
Abstract
멀티코어 중앙 처리 장치에서 코어 클록들을 제어하는 방법이 개시되며, 제 0 코어 상에서 제 0 동적 클록 및 전압 스케일링 (DCVS) 알고리즘을 실행하는 단계 및 제 1 코어 상에서 제 1 DCVS 알고리즘을 실행하는 단계를 포함할 수도 있다. 상기 제 0 DCVS 알고리즘은 상기 제 0 코어와 연관된 제 0 클록 주파수를 독립적으로 제어하도록 동작가능할 수도 있고, 상기 제 1 DCVS 알고리즘은 상기 제 1 코어와 연관된 제 1 클록 주파수를 독립적으로 제어하도록 동작가능할 수도 있다.
Description
본 출원은 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 양태를 도시하는 흐름도이다.
도 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)
- 멀티코어 중앙 처리 장치 (CPU) 에서 코어 클록들을 제어하는 방법으로서,
상기 멀티코어 CPU의 제 0 코어 상에서 제 0 동적 클록 및 전압 스케일링 (DCVS) 알고리즘을 실행하여, 상기 제 0 코어의 아이들 타임 (idle time) 을 모니터하고 상기 아이들 타임에 기초하여 상기 제 0 코어와 연관된 제 0 클록의 제 0 클록 주파수, 상기 제 0 코어의 전압, 또는 이들의 조합을 변화시키는 단계; 및
상기 멀티코어 CPU의 제 1 코어 상에서 제 1 DCVS 알고리즘을 실행하여, 상기 제 1 코어의 워크로드 (workload) 의 메모리-유계를 모니터하고 상기 워크로드의 메모리-유계에 기초하여 상기 제 1 코어와 연관된 제 1 클록의 제 1 클록 주파수, 상기 제 1 코어의 전압, 또는 이들의 조합을 변화시키는 단계를 포함하고,
상기 제 0 DCVS 알고리즘은 상기 제 0 코어와 연관된 상기 제 0 클록 주파수를 상기 제 1 코어와 연관된 상기 제 1 클록의 상기 제 1 클록 주파수와 독립적으로 제어하도록 동작가능하고, 상기 제 1 DCVS 알고리즘은 상기 제 1 코어와 연관된 상기 제 1 클록 주파수를 상기 제 0 클록의 상기 제 0 클록 주파수와 독립적으로 제어하도록 동작가능한, 코어 클록 제어 방법. - 무선 디바이스로서,
멀티코어 중앙 처리 장치 (CPU) 의 제 0 코어 상에서 제 0 동적 클록 및 전압 스케일링 (DCVS) 알고리즘을 실행하여, 상기 제 0 코어의 아이들 타임 (idle time) 을 모니터하고 상기 아이들 타임에 기초하여 상기 제 0 코어와 연관된 제 0 클록의 제 0 클록 주파수, 상기 제 0 코어의 전압, 또는 이들의 조합을 변화시키는 수단; 및
상기 멀티코어 CPU의 제 1 코어 상에서 제 1 DCVS 알고리즘을 실행하여, 상기 제 1 코어의 워크로드 (workload) 의 메모리-유계를 모니터하고 상기 워크로드의 메모리-유계에 기초하여 상기 제 1 코어와 연관된 제 1 클록의 제 1 클록 주파수, 상기 제 1 코어의 전압, 또는 이들의 조합을 변화시키는 수단을 포함하고,
상기 제 0 DCVS 알고리즘은 상기 제 0 코어와 연관된 상기 제 0 클록 주파수를 상기 제 1 코어와 연관된 상기 제 1 클록의 상기 제 1 클록 주파수와 독립적으로 제어하도록 동작가능하고, 상기 제 1 DCVS 알고리즘은 상기 제 1 코어와 연관된 상기 제 1 클록 주파수를 상기 제 0 클록의 상기 제 0 클록 주파수와 독립적으로 제어하도록 동작가능한, 무선 디바이스. - 무선 디바이스로서,
메모리; 및
상기 메모리에 커플링된 프로세서를 포함하고,
상기 프로세서는,
멀티코어 중앙 처리 장치 (CPU) 의 제 0 코어 상에서 제 0 동적 클록 및 전압 스케일링 (DCVS) 알고리즘을 실행하여, 상기 제 0 코어의 아이들 타임 (idle time) 을 모니터하고 상기 아이들 타임에 기초하여 상기 제 0 코어와 연관된 제 0 클록의 제 0 클록 주파수, 상기 제 0 코어의 전압, 또는 이들의 조합을 변화시키는 동작; 및
상기 멀티코어 CPU의 제 1 코어 상에서 제 1 DCVS 알고리즘을 실행하여, 상기 제 1 코어의 워크로드 (workload) 의 메모리-유계를 모니터하고 상기 워크로드의 메모리-유계에 기초하여 상기 제 1 코어와 연관된 제 1 클록의 제 1 클록 주파수, 상기 제 1 코어의 전압, 또는 이들의 조합을 변화시키는 동작을 수행하기 위한 프로세서 실행가능 명령들로 구성되며,
상기 제 0 DCVS 알고리즘은 상기 제 0 코어와 연관된 상기 제 0 클록 주파수를 상기 제 1 코어와 연관된 상기 제 1 클록의 상기 제 1 클록 주파수와 독립적으로 제어하도록 동작가능하고, 상기 제 1 DCVS 알고리즘은 상기 제 1 코어와 연관된 상기 제 1 클록 주파수를 상기 제 0 클록의 상기 제 0 클록 주파수와 독립적으로 제어하도록 동작가능한, 무선 디바이스. - 프로세서 실행가능 소프트웨어 명령들을 저장한 비일시적 저장 매체로서,
상기 프로세서 실행가능 소프트웨어 명령들은, 프로세서로 하여금,
멀티코어 중앙 처리 장치 (CPU) 의 제 0 코어 상에서 제 0 동적 클록 및 전압 스케일링 (DCVS) 알고리즘을 실행하여, 상기 제 0 코어의 아이들 타임 (idle time) 을 모니터하고 상기 아이들 타임에 기초하여 상기 제 0 코어와 연관된 제 0 클록의 제 0 클록 주파수, 상기 제 0 코어의 전압, 또는 이들의 조합을 변화시키는 동작; 및
상기 멀티코어 CPU의 제 1 코어 상에서 제 1 DCVS 알고리즘을 실행하여, 상기 제 1 코어의 워크로드 (workload) 의 메모리-유계를 모니터하고 상기 워크로드의 메모리-유계에 기초하여 상기 제 1 코어와 연관된 제 1 클록의 제 1 클록 주파수, 상기 제 1 코어의 전압, 또는 이들의 조합을 변화시키는 동작을 수행하기 위한 프로세서 실행가능 명령들로 구성되고,
상기 제 0 DCVS 알고리즘은 상기 제 0 코어와 연관된 상기 제 0 클록 주파수를 상기 제 1 코어와 연관된 상기 제 1 클록의 상기 제 1 클록 주파수와 독립적으로 제어하도록 동작가능하고, 상기 제 1 DCVS 알고리즘은 상기 제 1 코어와 연관된 상기 제 1 클록 주파수를 상기 제 0 클록의 상기 제 0 클록 주파수와 독립적으로 제어하도록 동작가능한, 비일시적 저장 매체.
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 | 2010-11-11 | ||
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 |
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 true KR20140002087A (ko) | 2014-01-07 |
KR101518163B1 KR101518163B1 (ko) | 2015-05-07 |
Family
ID=44144262
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020137032533A KR101518163B1 (ko) | 2009-12-16 | 2010-12-08 | 멀티 코어 중앙 처리 장치에서의 코어 클록들을 비동기적으로 및 독립적으로 제어하는 시스템 및 방법 |
KR1020127018603A KR20120105519A (ko) | 2009-12-16 | 2010-12-08 | 멀티 코어 중앙 처리 장치에서의 코어 클록들을 비동기적으로 및 독립적으로 제어하는 시스템 및 방법 |
Family Applications After (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) | KR101518163B1 (ko) |
CN (1) | CN102687096B (ko) |
BR (1) | BR112012014160B1 (ko) |
ES (1) | ES2673343T3 (ko) |
HU (1) | HUE037224T2 (ko) |
WO (1) | WO2011084328A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016060457A3 (ko) * | 2014-10-14 | 2017-04-27 | 삼성전자 주식회사 | 전자 장치 및 그 제어 방법 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8650426B2 (en) * | 2009-12-16 | 2014-02-11 | Qualcomm Incorporated | System and method for controlling central processing unit power in a virtualized system |
US9104411B2 (en) | 2009-12-16 | 2015-08-11 | Qualcomm Incorporated | System and method for controlling central processing unit power with guaranteed transient deadlines |
US8909962B2 (en) * | 2009-12-16 | 2014-12-09 | 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 |
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 |
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 | 株式会社デンソー | 電子制御装置 |
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主控变频的时间管理方法、装置、设备及介质 |
Family Cites Families (84)
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 |
US7502948B2 (en) * | 2004-12-30 | 2009-03-10 | Intel Corporation | Method, system, and apparatus for selecting a maximum operation point based on number of active cores and performance level of each of the active cores |
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 | 学校法人早稲田大学 | マルチプロセッサシステム及びマルチグレイン並列化コンパイラ |
EP1949203B1 (en) | 2005-07-14 | 2011-11-30 | 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 | パナソニック株式会社 | プロセッサシステム |
WO2008047179A1 (en) | 2006-10-20 | 2008-04-24 | 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 | 株式会社富士通アドバンストエンジニアリング | 電源制御装置、仮想サーバ管理システム、電源制御方法および電源制御プログラム |
US7865751B2 (en) * | 2007-06-18 | 2011-01-04 | Intel Corporation | Microarchitecture controller for thin-film thermoelectric cooling |
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 |
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 |
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 |
US8909962B2 (en) | 2009-12-16 | 2014-12-09 | 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 |
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 |
-
2010
- 2010-11-11 US US12/944,321 patent/US8689037B2/en active Active
- 2010-12-08 BR BR112012014160-0A patent/BR112012014160B1/pt active IP Right Grant
- 2010-12-08 HU HUE10796224A patent/HUE037224T2/hu unknown
- 2010-12-08 EP EP10796224.3A patent/EP2513750B1/en active Active
- 2010-12-08 ES ES10796224.3T patent/ES2673343T3/es active Active
- 2010-12-08 KR KR1020137032533A patent/KR101518163B1/ko active IP Right Grant
- 2010-12-08 JP JP2012544628A patent/JP2013513896A/ja active Pending
- 2010-12-08 KR KR1020127018603A patent/KR20120105519A/ko active Application Filing
- 2010-12-08 CN CN201080056469.7A patent/CN102687096B/zh active Active
- 2010-12-08 WO PCT/US2010/059535 patent/WO2011084328A1/en active Application Filing
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016060457A3 (ko) * | 2014-10-14 | 2017-04-27 | 삼성전자 주식회사 | 전자 장치 및 그 제어 방법 |
US10496142B2 (en) | 2014-10-14 | 2019-12-03 | Samsung Electronics Co., Ltd. | Electronic device having power device and power control method thereof |
Also Published As
Publication number | Publication date |
---|---|
JP2013513896A (ja) | 2013-04-22 |
CN102687096A (zh) | 2012-09-19 |
EP2513750A1 (en) | 2012-10-24 |
CN102687096B (zh) | 2016-04-06 |
KR101518163B1 (ko) | 2015-05-07 |
EP2513750B1 (en) | 2018-03-28 |
US8689037B2 (en) | 2014-04-01 |
ES2673343T3 (es) | 2018-06-21 |
BR112012014160B1 (pt) | 2021-02-23 |
BR112012014160A2 (pt) | 2016-05-17 |
WO2011084328A1 (en) | 2011-07-14 |
HUE037224T2 (hu) | 2018-08-28 |
US20110145624A1 (en) | 2011-06-16 |
KR20120105519A (ko) | 2012-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101518163B1 (ko) | 멀티 코어 중앙 처리 장치에서의 코어 클록들을 비동기적으로 및 독립적으로 제어하는 시스템 및 방법 | |
KR101409141B1 (ko) | 멀티코어 중앙 프로세싱 유닛에서의 복수의 코어들을 온도에 기초하여 동적으로 제어하는 시스템 및 방법 | |
EP2513746B1 (en) | System and method for controlling central processing unit power with guaranteed transient deadlines | |
KR101516859B1 (ko) | 보장된 정상 상태 데드라인을 가진 중앙 처리 장치 전력을 제어하는 시스템 및 방법 | |
US20110119578A1 (en) | Method of scrolling items on a touch screen user interface | |
KR101411729B1 (ko) | 감소된 주파수 발진들을 갖는 중앙 처리 장치 전력을 제어하기 위한 시스템 및 방법 | |
EP2524272B1 (en) | System and method of sampling data within a central processing unit | |
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 |