KR20120131195A - 멀티 코어 프로세서에서의 프로세서 코어 통신 - Google Patents
멀티 코어 프로세서에서의 프로세서 코어 통신 Download PDFInfo
- Publication number
- KR20120131195A KR20120131195A KR1020127024888A KR20127024888A KR20120131195A KR 20120131195 A KR20120131195 A KR 20120131195A KR 1020127024888 A KR1020127024888 A KR 1020127024888A KR 20127024888 A KR20127024888 A KR 20127024888A KR 20120131195 A KR20120131195 A KR 20120131195A
- Authority
- KR
- South Korea
- Prior art keywords
- processor cores
- processor
- core
- cores
- supply voltage
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- 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
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
-
- 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)
- Software Systems (AREA)
- Power Sources (AREA)
- Microcomputers (AREA)
- Multi Processors (AREA)
Abstract
본 개시의 실시예는 일반적으로 프로세서 코어 사이에서의 통신을 다루는 기술을 제시한다. 일부 예시적인 멀티 코어 프로세서는 제1 공급 전압 및 제1 클럭 신호를 동적으로 수신하도록 구성된 멀티 코어 프로세서의 제1 영역에서 제1 세트의 프로세서 코어, 제2 공급 전압 및 제2 클럭 신호를 동적으로 수신하도록 구성된 멀티코어 프로세서의 제2 영역에서 제2 세트의 프로세서 코어, 및 인터페이스 블록이 제1 세트의 프로세서 코어 및 제2 세트의 프로세서 코어 사이의 통신을 용이하게 하도록 구성된 제1 세트의 프로세서 코어 및 제2 세트의 프로세서 코어와 결합된 인터페이스 블록을 포함한다.
Description
본 개시는 일반적으로 프로세서 기술에 관련되고, 더 구체적으로는 멀티 코어 프로세서(multi-core processor)에서의 프로세서 코어 통신에 관련된다.
멀티 코어 프로세서는 어레이(array)에 배열된 두 개 이상의 독립 프로세서 코어를 포함한다. 종래의 멀티 코어 프로세서에서의 각각의 프로세서 코어는 일반적으로 동일 공급 전압 및 클럭 신호를 공유하여 프로세서 코어 사이의 인터페이스(interface)를 단순화한다. 전력 소비 관리를 위하여, 동적인 공급 전압 및 클럭 속도 제어가 활용될 수 있어, 멀티 코어 프로세서는 필요하면 높은 전력 및 높은 클럭 주파수에서 동작할 수 있고, 그리고 컴퓨팅 요구가 줄어들면 낮은 전력에서 동작할 수 있도록 한다.
본 개시의 일 실시예는 일반적으로 멀티 코어 프로세스에 관련된다. 일 예시적인 멀티 코어 프로세서는 멀티 코어 프로세서의 제1 세트의 프로세서 코어, 멀티 코어 프로세서의 제2 세트의 프로세서 코어, 및 제1 세트의 프로세서 코어와 결합되고 또한 제2 세트의 프로세서 코어와 결합된 인터페이스 블록을 포함할 수 있으며, 제1 세트의 프로세서 코어로부터의 각각의 프로세서 코어는 제1 공급 전압 및 제1 클럭 신호를 동적으로 수신하도록 구성되고, 제2 세트의 프로세서 코어로부터의 각각의 프로세서 코어는 제2 공급 전압 및 제2 클럭 신호를 동적으로 수신하도록 구성되며, 인터페이스 블록은 제1 세트의 프로세서 코어 및 제2 세트의 프로세서 코어 사이의 통신을 용이하게 하도록 구성된다.
본 개시의 다른 실시예는 일반적으로 제1 세트의 프로세서 코어 및 제2 세트의 프로세서 코어를 가지는 복수의 프로세서 코어를 포함하는 멀티 코어 프로세서에서의 통신을 관리하기 위한 방법에 관련될 수 있다. 일 예시적인 방법은 제1 세트의 프로세서 코어에 대한 클럭 주파수 변경 요청에 응답하여 복수의 프로세서 코어 중 하나 이상과의 통신을 유휴(idle)하는 단계, 및 제1 세트의 프로세서 코어와 연관된 제1 페이즈 락 루프(phase lock loop) 동작이 제1 락 신호를 획득하고 또한 제2 세트의 프로세서 코어에 연관된 제2 페이즈 락 루프 동작이 제2 락 신호를 획득하는 결정을 한 이후에 복수의 프로세서 코어 중 하나 이상과의 통신을 재개(resume)하는 단계를 포함할 수 있다.
본 개시의 또 다른 실시예는 일반적으로 제1 세트의 프로세서 코어 및 제2 세트의 프로세서 코어를 가지는 복수의 프로세서 코어를 포함하는 멀티 코어 프로세서에서의 통신을 관리하기 위한 일련의 명령어를 포함하는 컴퓨터 판독가능 매체에 관련될 수 있다. 일 예시적인 일련의 명령어가 컴퓨팅 장치에 의하여 실행되면, 컴퓨팅 장치는 제1 명령을 발행하여 제1 세트의 프로세서 코어에 대한 클럭 주파수 변경 요청에 응답하여 복수의 프로세서 코어 중 하나 이상과의 통신을 유휴하고, 제2 명령을 발행하여, 제1 세트의 프로세서 코어와 연관된 제1 페이즈 락 루프 동작이 제1 락 신호를 획득하고 또한 제2 세트의 프로세서 코어와 연관된 제2 페이즈 락 루프 동작이 제2 락 신호를 획득하는 결정을 한 이후에 복수의 프로세서 코어 중 하나 이상과의 통신을 재개하도록 구성될 수 있다.
전술한 요약은 예시적인 것일 뿐이고, 어떤 방식으로든 제한을 의도한 것은 아니다. 상술한 예시적인 태양, 실시예 및 특징들에 더하여, 추가의 태양, 실시예 및 특징들은 도면과 이하의 상세한 설명을 참조함으로써 분명하게 될 것이다.
본 개시에서 전술한 특징들 및 기타 특징들은, 첨부 도면을 참조하여 이하의 설명 및 첨부된 청구항으로부터 충분히 분명해질 것이다. 이 도면들은 본 개시에 따르는 단지 몇 가지의 실시예만을 도시한 것이고, 따라서 그 범위를 제한하는 것으로 간주되어서는 안된다. 본 개시는 첨부된 도면의 사용을 통하여, 더 구체적이고 상세하게 기술될 것이다.
도 1은 멀티 코어 프로세서의 예시적인 구성을 도시하고;
도 2는 레벨 시프터(level shifter)를 가지는 예시적인 인터페이스 블록이 있는 예시적인 세트의 프로세서 코어를 도시하는 블록도이고;
도 3은 동기화기(synchronizer)를 가지는 예시적인 인터페이스 블록이 있는 예시적인 세트의 프로세서 코어를 도시하는 다른 블록도이고;
도 4는 클럭 주파수 변화를 관리하기 위한 예시적인 전환 처리 루틴(transition processing routine)을 도시하는 흐름도이며;
도 5는 멀티 코어 프로세서에서의 프로세서 코어 통신을 다루기 위한 예시적인 컴퓨터 프로그램 제품을 예시하는 블록도이며; 모두 본 개시의 적어도 일부의 실시예에 따라 배열되었다.
도 1은 멀티 코어 프로세서의 예시적인 구성을 도시하고;
도 2는 레벨 시프터(level shifter)를 가지는 예시적인 인터페이스 블록이 있는 예시적인 세트의 프로세서 코어를 도시하는 블록도이고;
도 3은 동기화기(synchronizer)를 가지는 예시적인 인터페이스 블록이 있는 예시적인 세트의 프로세서 코어를 도시하는 다른 블록도이고;
도 4는 클럭 주파수 변화를 관리하기 위한 예시적인 전환 처리 루틴(transition processing routine)을 도시하는 흐름도이며;
도 5는 멀티 코어 프로세서에서의 프로세서 코어 통신을 다루기 위한 예시적인 컴퓨터 프로그램 제품을 예시하는 블록도이며; 모두 본 개시의 적어도 일부의 실시예에 따라 배열되었다.
이하의 상세한 설명에서, 여기의 일부를 구성하는 첨부 도면에 대한 참조가 이루어진다. 도면에서, 유사한 부호는, 문맥에서 다른 지시가 없다면, 일반적으로 유사한 구성요소를 식별한다. 상세한 설명, 도면, 및 청구항에서 기술된 예시적인 실시예들은 제한하는 것으로 의미되지 않는다. 여기에 제시된 대상의 범위와 사상을 벗어나지 않고, 다른 실시예가 이용될 수 있고, 다른 변형이 이루어질 수 있다. 여기에서 일반적으로 기술되고 도면에서 도시된 바와 같은 본 개시의 태양들이 다양한 다른 구성으로 배열, 대체, 조합, 및 설계될 수 있음과, 이 모두가 여기에서 명확히 고려되고 본 개시의 일부가 됨이 쉽게 이해될 것이다.
본 개시는, 그 중에서도, 멀티 코어 프로세서에 대한 전력 관리에 관련된 장치, 방법, 시스템 및 컴퓨터 프로그램에 관한 것이다.
멀티 코어 프로세서는 어레이에 배열된 다수의 프로세서 코어를 포함할 수 있다. 개별 프로세서 코어와 연관된 전력 프로필(power profile)은 멀티 코어 프로세서의 주변에 배치되는 제어 블록으로부터 수신될 수 있는 신호를 통하여 제어될 수 있다. 전력 프로필은 코어 프로세서의 하나 이상의 전력 공급 전압, 코어 프로세서의 클럭 속도(clock rate), 코어 프로세서의 클럭 승산기(multiplier), 코어 프로세서의 전력 스로틀링(throttling), 및/또는 코어 프로세서의 잠든 상태 주기(sleep state cycle)를 포함할 수 있으나, 이에 제한되지는 않는다.
도 1은 본 개시의 적어도 일부 실시예에 따라 배열된 멀티 코어 프로세서(100)의 예시적인 구성을 예시한다. 멀티 코어 프로세서(100)는 집적 회로에서 2차원 어레이에 행 및 열로 배열된 다수의 프로세서 코어(102)를 포함할 수 있다. 프로세서 코어는 인터페이스 회로(120)를 통하여 인접 프로세서 코어와 결합될 수 있다. 일부 구현예에서, 프로세서 코어(102)는 인터페이스 회로(120)에 의하여 서로 수평으로 결합될 수 있고/있거나, 서로 수직으로 결합될 수 있고/있거나 서로 비스듬히 결합될 수 있다. 일부 예시적인 구현예에서, 멀티 코어 프로세서(100)의 하나의 모서리에 배치된 프로세서 코어(102)는 또한 동일 행 및/또는 열에서 프로세서 코어 간의 연속적인 연결을 보장하도록 사용될 수 있는, 랩 어라운드 연결(wrap-around connection)(122)로 반대 모서리상에서 프로세서 코어(102)에 결합될 수 있다.
멀티 코어 프로세서(100)는 영역(region)들로 더 분할될 수 있다. 일부 구현예에서, 멀티 코어 프로세서(100)의 영역들은 이차원 어레이의 행에 해당할 수 있으며, 영역들은 겹칠 수 있거나, 겹치지 않을 수 있다. 프로세서의 각 행은 또한 '스트라이프(stripe)'로 지칭될 수 있다. 예를 들어, 멀티 코어 프로세서(100)는 스트라이프(112, 114, 116, 및 118)로 분할될 수 있다. 각각의 스트라이프는 독립적인 전력 프로필과 연관될 수 있다. 예컨대, 스트라이프(112)는 전력 제어 블록(108)으로부터 수신되는 공급 전압에 의하여 전력 공급될 수 있고/있거나 클럭 제어 블록(110)으로부터 수신되는 클럭 신호에 의해 정의되는 독립 클럭 도메인(domain)과 연관될 수 있다. 일부 구현예에서, 전력 제어 블록(108) 및 클럭 제어 블록(110)은 도 1에서 도시되는 바와 같이 멀티 코어 프로세서(100)의 두개의 상이한 측면에 배열될 수 있다. 일부의 기타 구현예에서, 전력 제어 블록(108) 및 클럭 제어 블록(110)은 멀티 코어 프로세서(100)의 동일 측면에 배열될 수 있다. 일부의 또 다른 구현예에서, 전력 제어 블록(108) 및 클럭 제어 블록(110)은 멀티 코어 프로세서(100)의 중심 근방에 배치된 공통 영역에 배열될 수 있다.
스트라이프와 연관된 전력 프로필은 스트라이프에서 프로세서 코어에 할당된 태스크(task)의 연산 요구(computational requirement)에 기초하여 결정될 수 있다. 일부 구현예에서, 각 프로세서 코어의 입력에 배치된 센서는 프로세서 코어에 대한 공급 전압 및 국소적 온도를 측정하도록 구성될 수 있다. 측정된 공급 전압 및 국소적 온도는 전력 제어 블록(108)에서 유지될 수 있다. 각각의 프로세서 코어와 연관된 하나 이상의 성능 카운터는 또한 전력 제어 블록(108)으로 피드백(feedback)을 제공할 수 있다. 측정된 운용 정보(예컨대, 공급 전압 및 국소적 온도) 및 성능 데이터에 기초하여, 전력 제어 블록(108)은 이후 각 스트라이프에 대한 공급 전압을 선택하도록 구성될 수 있다. 예컨대, 가장 높은 연산 요구가 있는 태스크는 스트라이프(112)와 같은 가장 높은 스트라이프로 스케줄될 수 있다. 스트라이프(112)는 높은 공급 전압에서 동작하도록 구성될 수 있다. 더 적은 연산 요구가 있는 태스크는 스트라이프(114) 등으로 스케줄 될 수 있다. 따라서 스트라이프(114, 116 및 118)는 낮은 공급 전압에서 동작하기 위하여 구성될 수 있다.
일부 구현예에서, 스트라이프로의 공급 전압은 인접한 스트라이프에 대하여 선택된 공급 전압이 제한된 양 만큼 차등이 있을 수 있도록 선택될 수 있다. 이러한 제한된 양은 하나의 스트라이프와 연관된 출력 전압 레벨 및 인접한 스트라이프와 연관된 입력 전압 레벨 사이의 관계에 기초할 수 있다. 예를 들어, 더 높은 공급 전압이 있는 스트라이프(예컨대, 스트라이프(112))는 출력 전압 레벨(예컨대, V0)과 연관될 수 있다고 가정하면, V0는 인접한 스트라이프(예컨대 스트라이프(114))에 대하여 수용 가능한 입력 전압 레벨 범위(예컨대 Vi+ 내지 Vi-)내로 확실히 떨어뜨릴 필요가 있다. 즉, 전력 제어 블록(108)은 V0 및 Vi + 내지 Vi -의 범위 사이의 전술한 관계가 유지될 수 있도록, 스트라이프(112) 및 스트라이프(114)로의 공급 전압을 선택하도록 구성될 수 있다.
상기 논의된 제한된 차등 관계를 유지하기 위하여, 하나의 스트라이프로의 공급 전압을 조절하는 것은 다른 스트라이프로의 공급 전압을 조절하는 것을 포함할 수 있다. 예시를 위해, 전력 제어 블록(108)은 스트라이프(112)로의 공급전압을 조절할 수 있다고 가정하면, 제한된 차등 관계를 유지하기 위하여, 전력 제어 블록(108)은 스트라이프(112)로의 공급 전압을 조절하기 전에 스트라이프(118, 116 및 114)로의 공급 전압을 조절할 수 있다.
연산 요구의 변화에 응답하여 스트라이프에 대한 전력 프로필을 동적으로 조절하는 것이 멀티 코어 프로세서에 대한 전력 소비를 감소시킬 수 있지만, 그러한 조절은 안정화에 일정 기간이 걸릴 수 있다. 멀티 코어 프로세서(100)에서 두 개의 프로세서 코어 간의 통신을 용이하게 하는 인터페이스를 추가적으로 예시하기 위하여, 도 1의 프로세서 코어(152, 154 및 156)의 서브 세트(subset)(150)가 선택될 수 있다. 프로세서 코어(152)는 스트라이프(112)에 속하고; 프로세서 코어(154)는 스트라이프(114)에 속하며; 프로세서 코어(156)는 스트라이프(116)에 속한다.
도 2는 본 개시의 적어도 일부 실시예에 따라 배열된, 레벨 시프터를 가지는 예시적인 인터페이스 블록이 있는 프로세서 코어의 예시적인 서브 세트(150)를 도시하는 블록도이다. 프로세서 코어(152)는 공급 전압 1에 의하여 전력 공급될 수 있으며 레벨 시프터(202)를 가지는 인터페이스 블록(200)에 결합될 수 있고; 프로세서 코어(154)는 공급 전압 2에 의하여 전력 공급될 수 있으며 동일한 인터페이스 블록(200)에 결합될 수 있으며; 프로세서 코어(156)은 공급 전압 3에 의하여 전력 공급될 수 있고 레벨 시프터(206)를 가지는 인터페이스 블록(204)에 결합될 수 있다. 일부 구현예에서, 레벨 시프터(202)의 입력은 공급 전압 1 및 공급 전압 2일 수 있으며, 레벨 시프터(206)의 입력은 공급 전압 2 및 공급 전압 3일 수 있다. 공급 전압 1, 공급 전압 2, 및 공급 전압 3은 도 1의 전력 제어 블록(108)과 같은, 전력 제어 블록으로부터 올 수 있다.
일부 구현예에서, 스트라이프(112)의 프로세서 코어(152)가 스트라이프(114)의 프로세서 코어(154)에 신호를 보내면, 레벨 시프터(202)의 출력 전압은 공급 전압 2에 묶일 수 있고, 레벨 시프터(202)의 입력 전압은 공급 전압 1에 묶일 수 있다. 레벨 시프터는 프로세서 코어 중 각각이 올바르게 동작(예컨대, 프로세서 코어가 다른 공급 전압에 의해 전력 공급이 되더라도 유효한 로직 레벨(valid logic level)로서 전압을 적절히 해석)하도록 신호 레벨을 변환하도록 배열된다. 여기에서, 레벨 시프터(202)는 스트라이프(112)와 연관된 제1 로직 레벨을 스트라이프(114)와 연관된 제2 로직 레벨로 변환하도록 조정될 수 있으며, 레벨 시프터(202)는 공급 전압 2로 레퍼런스(reference)될 수 있다. 반면, 스트라이프(114)의 프로세서 코어(154)가 신호를 스트라이프(112)의 프로세서 코어(152)로 보내면, 레벨 시프터(202)의 출력 전압은 공급 전압 1에 묶일 수 있고, 레벨 시프터(202)의 입력 전압은 공급 전압 2에 묶일 수 있다. 즉, 레벨 시프터(202)는 스트라이프(114)와 연관된 제2 로직 레벨을 스트라이프(112)와 연관된 제1 로직 레벨로 변환하도록 조정될 수 있으며, 레벨 시프터(202)는 공급 전압 1로 레퍼런스될 수 있다. 상기 공급 전압 1, 공급 전압 2 및 레벨 시프터(202)간의 관계는 마찬가지로 공급 전압 2, 공급 전압 3, 및 레벨 시프터(206)간의 관계에 적용한다.
도 3은 본 개시의 적어도 일부 실시예에 따라 배열된, 동기화기를 가지는 예시적인 인터페이스 블록이 있는 프로세서 코어의 예시적인 서브 세트(150)를 예시하는 다른 블록도이다. 프로세서 코어(152)는 클럭 신호 1로 구동될 수 있으며 동기화기(302)를 가지는 인터페이스 블록(300)에 결합될 수 있고; 프로세서 코어(154)는 클럭 신호 2로 구동될 수 있으며 동일한 인터페이스 블록(300)에 결합될 수 있고; 프로세서 코어(156)는 클럭 신호 3으로 구동될 수 있으며 동기화기(306)을 가지는 인터페이스 블록(304)에 결합될 수 있다. 일부 구현예에서, 클럭 신호 1, 클럭 신호 2, 클럭 신호 3, 및 각각의 페이스 락 루프(phase lock loop(PLL))는 클럭 제어 블록(110)과 같은, 클럭 제어 블록 중 일부일 수 있다. PLL 블록의 처리 결과는 전환 처리 루틴(308)으로 피드백될 수 있다. 전환 처리 루틴(308)에 의해 생성된 명령은 또한 동기화기(302) 및/또는 동기화기(306)로 보내질 수 있다.
상기 논의된 바와 같이, 클럭 주파수에서의 변화 처럼, 스트라이프에 대한 전력 프로필이 변화하면, 스트라이프에 대한 클럭 신호는 불안정하게 된다. 그러한 상황을 다루기 위하여, 도 4는 본 개시의 적어도 일부 실시예에 따라 배열된 클럭 주파수 변화를 관리하기 위한 예시적인 전환 처리 루틴(400)을 도시하는 흐름도이다. 설명을 쉽게 하기 위하여, 전환 처리 루틴(400)은 도 3에 대하여 전술한 바와 실질적으로 유사하게 인터페이스 블록 및 프로세서 코어의 세트의 관점에서 설명된다. 전환 처리 루틴(400)은 동작(402, 404, 406, 408 및/또는 410)에 의해 나타난 바와 같은 하나 이상의 기능, 동작, 행위를 포함할 수 있다. 일부 구현예에서, 전환 처리 루틴(400)에 대한 예시된 동작의 다양한 특징은 요구되는 결과에 기초하여 더 적은 동작으로 조합될 수 있거나, 추가적인 동작으로 분할될 수 있거나, 제거될 수 있다.
전환 처리 루틴(400)에 대한 처리는 "클럭 주파수 변경 요청을 수신"하는 동작(402)에서 시작할 수 있다. 동작(402)은 "스트라이프 사이에서의 통신을 유휴"하는, 동작(404)으로 이어질 수 있다. 동작(404)은 "요청하는 스트라이프 및 인접 스트라이프의 PLL블록을 시험"하는 동작(406)으로 이어질 수 있다. 동작(406)은 "PLL 블록의 각각이 락을 획득?"하는 동작(408)으로 이어질 수 있다. 동작(408)은 블록(408)에서 테스트된 결정 로직이 만족되지 않으면(아니오) 동작(406)으로 이어지거나 블록(408)에서 테스트된 결정 로직이 만족(예)되면 "스트라이프 간의 통신을 재개할지를 결정"하는 동작(410)으로 이어질 수 있다. 루틴에 대한 처리는 블록(410) 이후에 종료될 수 있다.
예시를 위하여, 도 3에서의 스트라이프(114)의 프로세서 코어(154)가 처리를 위하여 스트라이프(114)로 할당되고 있는 태스크에 기초하여 그 클럭 주파수를 변경하도록 요청된다고 가정하면, 동작(402)에서 요청을 수신 받은 이후에, 전환 처리 루틴(400)은 동작(404)에서 동기화기(302) 및 동기화기(306)로의 명령을 발행하여 프로세서 코어(154)와 프로세서 코어(152)사이의 통신 및 프로세서 코어(154)와 프로세서 코어(156)사이의 통신을 유휴할 수 있다. 동작(404)에 이어, 스트라이프(114)에 인접한 스트라이프에 대한 PLL 블록의 출력은 동작(406)에서 시험될 수 있다. PLL 블록이 동작(408)에서 결정된 바와 같이 락을 획득했는지 여부에 따라서, 전환 처리 루틴(400)은 동작(410)에서 전환 시퀀스(sequence)가 적절히 일어났는지를 결정할 수 있으며 스트라이프 간의 통신이 재개될 수 있다.
일부 구현예에서, PLL 블록 1, PLL 블록 2, 및 PLL 블록 3 각각이 동작(408)에서 그 각각의 클럭 신호의 락을 획득하도록 결정된 이후에, 안정된 클럭 신호는 프로세서 코어(154)로 보내질 수 있고 또한 동기화기(302)와 동기화기(306)로 보내질 수 있다. 이후, 동기화기(302)는 프로세서 코어(152) 및 프로세서 코어(154)사이의 통신에 대한 클럭 신호 1 및 클럭 신호 2를 동기화 하도록 구성될 수 있다. 이와 같이, 동기화기(306)는 프로세서 코어(154) 및 프로세서 코어(156)사이의 통신에 대한 클럭 신호 2 및 클럭 신호 3을 동기화 하도록 구성될 수 있다.
도 5는 본 개시의 적어도 일부의 실시예에 따라 멀티 코어 프로세서에서의 프로세서 코어 통신을 다루기 위한 컴퓨터 프로그램 제품(500)을 도시하는 블록도이다. 컴퓨터 프로그램 제품(500)은 도 4에서 도시하고 상기한 전환 처리 루틴을 실행하기 위한 하나 이상의 세트의 실행 가능한 명령어(502)를 포함할 수 있다. 컴퓨터 프로그램 제품(500)은 신호 베어링 매체(504) 또는 다른 유사한 통신 매체(506)에 전송될 수 있다. 컴퓨터 프로그램 제품(500)은 또한 컴퓨터 판독 가능 매체(508) 또는 다른 유사한 기록 가능 매체(510)에 기록될 수 있다.
시스템의 양상들의 하드웨어 및 소프트웨어 구현 사이에는 구별이 거의 없다; 하드웨어 또는 소프트웨어의 사용은 일반적으로 (그러나 어떤 문맥에서 하드웨어 및 소프트웨어 사이의 선택이 중요할 수 있다는 점에서 항상 그런 것은 아니지만) 비용 대비 효율의 트레이드오프(tradeoff)를 나타내는 설계상 선택(design choice)이다. 본 개시에서 기재된 프로세스 및/또는 시스템 및/또는 다른 기술들이 영향 받을 수 있는 다양한 수단(vehicles)(예를 들어, 하드웨어, 소프트웨어 및/또는 펌웨어)이 있으며, 선호되는 수단은 프로세스 및/또는 시스템 및/또는 다른 기술이 사용되는 컨텍스트(context)에 따라 변경될 것이다. 예를 들어, 구현자가 속도 및 정확성이 가장 중요하다고 결정한다면, 구현자는 주로 하드웨어 및/또는 펌웨어 수단을 선택할 수 있으며, 유연성이 가장 중요하다면, 구현자는 주로 소프트웨어 구현을 선택할 수 있다; 또는, 다른 대안으로서, 구현자는 하드웨어, 소프트웨어 및/또는 펌웨어의 어떤 결합을 선택할 수 있다.
전술한 상세한 설명은 블록도, 흐름도, 및/또는 예를 통해 장치의 다양한 실시예 및/또는 프로세스를 설명하였다. 그러한 블록도, 흐름도, 및/또는 예는 하나 이상의 기능 및/또는 동작을 포함하는 한, 당업자라면 그러한 블록도, 흐름도, 또는 예 내의 각각의 기능 및/또는 동작은 하드웨어, 소프트웨어, 펌웨어, 또는 가상의 그들의 임의의 조합의 넓은 범위에 의해 개별적으로 및/또는 집합적으로 구현될 수 있다는 것이 이해될 것이다. 일 실시예에서, 본 개시에 기재된 대상의 몇몇 부분은 ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array), DSP(Digital Signal Processor), CPU 또는 다른 집적의 형태를 통해 구현될 수 있다. 그러나, 당업자라면, 본 개시의 실시예의 일부 양상은, 하나 이상의 컴퓨터 상에 실행되는 하나 이상의 컴퓨터 프로그램(예를 들어, 하나 이상의 컴퓨터 시스템 상에 실행되는 하나 이상의 프로그램), 하나 이상의 프로세서 상에서 실행되는 하나 이상의 프로그램(예를 들어, 하나 이상의 마이크로프로세서 상에서 실행되는 하나 이상의 프로그램), 펌웨어 또는 실질적으로 이들의 조합으로써, 전체적으로 또는 부분적으로 균등하게 집적회로에 구현될 수 있다는 알 수 있으며, 소프트웨어 및/또는 펌웨어를 위한 코드의 작성 및/또는 회로의 설계는 본 개시에 비추어 당업자에게 자명할 것이다. 또한, 당업자라면, 본 개시의 대상의 메커니즘들이 다양한 형태의 프로그램 제품으로 분포될 수 있음을 이해할 것이며, 본 개시의 대상의 예시는, 분배를 실제로 수행하는데 사용되는 신호 포함 매체(signal bearing medium)의 특정 유형과 무관하게 적용됨을 이해할 것이다. 신호 포함 매체의 예는, 플로피 디스크, 하드 디스크 드라이브, CD, DVD, 디지털 테이프, 컴퓨터 메모리등과 같은 판독가능 유형의 매체, 디지털 및/또는 아날로그 통신 매체(예를 들어, 섬유 광학 케이블, 웨이브가이드, 유선 통신 링크 및/또는 채널, 무선 통신 링크 및/또는 채널 등)와 같은 전송 유형 매체를 포함할 수 있으나, 이에 제한되지는 않는다.
당업자라면, 여기서 설명된 형식으로 장치 및/또는 프로세스를 기술하고, 이후, 공학 실무를 사용하여 그러한 기술된 장치(예를 들면, 전송기, 수신기, 컴퓨팅 플랫폼, 컴퓨팅 장치 등) 및/또는 방법을 데이터 처리 시스템에 통합한다는 것은 당해 분야에서는 일반적이란 것을 인식할 것이다. 즉, 여기서 기술된 장치 및/또는 방법의 적어도 일부는 합당한 실험량을 통해 데이터 처리 시스템에 통합될 수 있다. 당업자라면, 전형적인 데이터 처리 시스템은 일반적으로 하나 이상의 시스템 유닛 하우징, 비디오 디스플레이 장치, 휘발성 및 비휘발성 메모리 같은 메모리, 마이크로프로세서 및 디지털 신호 프로세서 같은 프로세서, 운영 체제, 드라이버, 그래픽 사용자 인터페이스 및 애플리케이션 프로그램과 같은 컴퓨터 엔티티(computational entities), 터치 패드 또는 스크린 같은 하나 이상의 상호작용 장치, 및/또는 피드백 루프 및 제어 모터(예를 들면, 위치 및/또는 속도를 감지하기 위한 피드백; 컴포넌트 및/또는 양(quantities)을 이동하고 및/또는 조정하기 위한 제어 모터)를 포함하는 제어 시스템을 일반적으로 포함한다는 것을 인식할 것이다. 전형적인 데이터 처리 시스템은 데이터 컴퓨팅/통신 및/또는 네트워크 컴퓨팅/통신 시스템에서 전형적으로 발견되는 바와 같은 임의의 적절한 상업적으로 이용가능한 컴포넌트를 이용하여 구현될 수 있다.
여기서 기술된 대상은 때때로 상이한 다른 컴포넌트 내에 포함되거나 접속된 상이한 컴포넌트를 도시한다. 도시된 그러한 아키텍처는 단순히 예시적인 것이고, 사실상 동일한 기능을 달성하는 다른 많은 아키텍처가 구현될 수 있다는 것이 이해되어야 한다. 개념적으로, 동일한 기능을 달성하기 위한 컴포넌트의 임의의 배치는 원하는 기능이 달성되도록 유효하게 "연관"된다. 이에 따라, 특정 기능을 달성하기 위해 여기서 결합된 임의의 두 개의 컴포넌트는, 아키텍처 또는 중간 컴포넌트와는 무관하게, 원하는 기능이 달성되도록 서로 "연관"된 것으로 볼 수 있다. 마찬가지로, 연관된 두 개의 컴포넌트는 또한 원하는 기능을 달성하기 위해 서로 "동작적으로 접속"되거나 또는 "동작적으로 연결"되는 것으로 간주될 수 있고, 그와 같이 연관될 수 있는 임의의 두 개의 컴포넌트는 또한 원하는 기능을 달성하기 위해 서로 "동작적으로 연결가능"한 것으로 볼 수 있다. 동작적으로 연결 가능하다는 것의 특정 예는 물리적으로 양립가능(mateable)하고 및/또는 물리적으로 상호작용하는 컴포넌트 및/또는 무선으로 상호작용이 가능하고 및/또는 무선으로 상호작용하는 컴포넌트 및/또는 논리적으로 상호작용하고 및/또는 논리적으로 상호작용이 가능한 컴포넌트를 포함하지만, 이에 한정되는 것은 아니다.
여기에서 실질적으로 임의의 복수 및/또는 단수의 용어의 사용에 대하여, 당업자는 맥락 및/또는 응용에 적절하도록, 복수를 단수로 및/또는 단수를 복수로 해석할 수 있다. 다양한 단수/복수의 치환은 명확성을 위해 여기에서 명시적으로 기재될 수 있다.
당업자라면, 일반적으로 본 개시에 사용되며 특히 첨부된 청구범위(예를 들어, 첨부된 청구범위)에 사용된 용어들이 일반적으로 "개방적(open)" 용어(예를 들어, 용어 "포함하는"은 "포함하지만 이에 제한되지 않는"으로, 용어 "갖는"는 "적어도 갖는"으로, 용어 "포함하다"는 "포함하지만 이에 한정되지 않는" 등으로 해석되어야 함)로 의도되었음을 이해할 것이다. 또한, 당업자라면, 도입된 청구항의 기재사항의 특정 수가 의도된 경우, 그러한 의도가 청구항에 명시적으로 기재될 것이며, 그러한 기재사항이 없는 경우, 그러한 의도가 없음을 또한 이해할 것이다. 예를 들어, 이해를 돕기 위해, 이하의 첨부 청구범위는 "적어도 하나" 및 "하나 이상" 등의 도입 구절의 사용을 포함하여 청구항 기재사항을 도입할 수 있다. 그러나, 그러한 구절의 사용이, 부정관사 "하나"("a" 또는 "an")에 의한 청구항 기재사항의 도입이, 그러한 하나의 기재사항을 포함하는 실시예로, 그러한 도입된 청구항 기재사항을 포함하는 특정 청구항을 제한함을 암시하는 것으로 해석되어서는 안되며, 동일한 청구항이 도입 구절인 "하나 이상" 또는 "적어도 하나" 및 "하나"("a" 또는 "an")과 같은 부정관사(예를 들어, "하나"는 "적어도 하나" 또는 "하나 이상"을 의미하는 것으로 일반적으로 해석되어야 함)를 포함하는 경우에도 마찬가지로 해석되어야 한다. 이는 청구항 기재사항을 도입하기 위해 사용된 정관사의 경우에도 적용된다. 또한, 도입된 청구항 기재사항의 특정 수가 명시적으로 기재되는 경우에도, 당업자라면 그러한 기재가 일반적으로 적어도 기재된 수(예를 들어, 다른 수식어가 없는 "두개의 기재사항"을 단순히 기재한 것은, 일반적으로 적어도 두 개의 기재사항 또는 두 개 이상의 기재사항을 의미함)를 의미하도록 해석되어야 함을 이해할 것이다. 또한, "A, B 및 C,등 중의 적어도 하나"와 유사한 규칙이 사용된 경우에는, 일반적으로 그러한 해석은 당업자가 그 규칙을 이해할 것이라는 전제가 의도된 것이다(예를 들어, "A, B 및 C 중의 적어도 하나를 갖는 시스템"은, A만을 갖거나, B만을 갖거나, C만을 갖거나, A 및 B를 함께 갖거나, A 및 C를 함께 갖거나, B 및 C를 함께 갖거나, A, B, 및 C를 함께 갖는 시스템을 포함하지만 이에 제한되지 않음). "A, B 또는 C 중의 적어도 하나"와 유사한 규칙이 사용된 경우에는, 일반적으로 그러한 해석은 당업자가 그 규칙을 이해할 것이라는 전제가 의도된 것이다(예를 들어, "A, B 또는 C 중의 적어도 하나를 갖는 시스템"은, A만을 갖거나, B만을 갖거나, C만을 갖거나, A 및 B를 함께 갖거나, A 및 C를 함께 갖거나, B 및 C를 함께 갖거나, A, B, 및 C를 함께 갖는 시스템을 포함하지만 이에 제한되지 않음). 또한 당업자라면, 실질적으로 어떠한 이접 접속어(disjunctive word) 및/또는 두 개 이상의 대안적인 용어들을 나타내는 구절은, 그것이 상세한 설명, 청구범위 또는 도면에 있는지와 상관없이, 그 용어들 중의 하나, 그 용어들 중의 어느 하나, 또는 그 용어들 두 개 모두를 포함하는 가능성을 고려했음을 이해할 것이다. 예를 들어, "A 또는 B"라는 구절은 "A" 또는 "B" 또는 "A 및 B"의 가능성을 포함하는 것으로 이해될 것이다.
다양한 양상 및 실시예들이 본 개시에서 기술되었지만, 다른 양상 및 실시예들이 당업자에게 명확할 것이다. 본 개시에 기재된 다양한 양상 및 실시예는 예시의 목적으로 제시된 것이고, 제한하려고 의도된 것은 아니며, 진정한 범위 및 사상은 이하 청구범위에 의해 나타낸다.
Claims (20)
- 멀티 코어 프로세서(multi-core processor)로서,
상기 멀티 코어 프로세서의 제1 세트의 프로세서 코어;
상기 멀티 코어 프로세서의 제2 세트의 프로세서 코어; 및
상기 제1 세트의 프로세서 코어에 결합되고 또한 상기 제2 세트의 프로세서 코어에 결합된 인터페이스 블록(interface block)
을 포함하며,
상기 제1 세트의 프로세서 코어로부터의 각 프로세서 코어는 제1 공급 전압 및 제1 클럭 신호(clock signal)를 동적으로 수신하도록 구성되고,
상기 제2 세트의 프로세서 코어로부터의 각 프로세서 코어는 제2 공급 전압 및 제2 클럭 신호를 동적으로 수신하도록 구성되며,
상기 인터페이스 블록은 상기 제1 세트의 프로세서 코어 및 상기 제2 세트의 프로세서 코어 사이에서의 통신을 용이하게 하도록 구성되는 멀티 코어 프로세서. - 제1항에 있어서,
상기 인터페이스 블록은 제1 레벨 시프터(level shifter)를 더 포함하고,
상기 제1 레벨 시프터는, 상기 제2 공급 전압에 레퍼런스(reference)되고, 상기 제1 세트의 프로세서 코어로부터 상기 제2 세트의 프로세서 코어로 이동하는 제1 신호에 대하여 상기 제1 세트의 프로세서 코어와 연관된 제1 로직 레벨(logic level)을 상기 제2 세트의 프로세서 코어와 연관된 제2 로직 레벨로 변환(translate)하도록 조정되는 것인 멀티 코어 프로세서. - 제1항에 있어서,
상기 인터페이스 블록은 제2 레벨 시프터를 더 포함하고,
상기 제2 레벨 시프터는, 상기 제1 공급 전압에 레퍼런스되고, 상기 제2 세트의 프로세서 코어로부터 상기 제1 세트의 프로세서 코어로 이동하는 제2 신호에 대하여 상기 제2 세트의 프로세서 코어와 연관된 제2 로직 레벨을 상기 제1 세트의 프로세서 코어와 연관된 제1 로직 레벨로 변환하도록 조정되는 것인 멀티 코어 프로세서. - 제1항에 있어서,
상기 인터페이스 블록은 상기 제1 세트의 프로세서 코어 중 하나 이상의 프로세서 코어 및 상기 제2 세트의 프로세서 코어 중 하나 이상의 프로세서 코어 사이에서의 통신을 위한 상기 제1 클럭 신호 및 상기 제2 클럭 신호를 동기화하도록 구성된 동기화기(synchronizer)를 더 포함하는 멀티 코어 프로세서. - 제1항에 있어서,
상기 제1 세트의 프로세서 코어 및 상기 제2 세트의 프로세서 코어는 상기 멀티 코어 프로세서의 주변에 배치된 하나 이상의 제어 블록으로부터 하나 이상의 제어 신호를 수신하도록 구성된 멀티 코어 프로세서. - 제1항에 있어서,
상기 제1 세트의 프로세서 코어는 상기 멀티 코어 프로세서의 제1 영역에 배치되고, 상기 제2 세트의 프로세서 코어는 상기 멀티 코어 프로세서의 제2 영역에 배치되는 멀티 코어 프로세서. - 제6항에 있어서,
상기 제1 영역 및 상기 제2 영역은 상기 멀티 코어 프로세서의 겹쳐진 영역(overlapping region)인 멀티 코어 프로세서. - 제6항에 있어서,
상기 제1 영역 및 상기 제2 영역은 상기 멀티 코어 프로세서의 겹쳐지지 않은 영역(non-overlapping region)인 멀티 코어 프로세서. - 제6항에 있어서,
상기 제1 영역은 상기 멀티 코어 프로세서의 제1 행에 대응하고, 상기 제2 영역은 상기 멀티 코어 프로세서의 제2 행에 대응하는 멀티 코어 프로세서. - 제1항에 있어서,
상기 인터페이스 블록은 상기 제1 클럭 신호 및/또는 상기 제2 클럭 신호 중 하나 이상이 변경된 것으로 결정되면 상기 제1 세트의 프로세서 코어 및 상기 제2 세트의 프로세서 코어 사이에서의 통신을 유휴(idle)하도록 구성된 멀티 코어 프로세서. - 제10항에 있어서,
상기 인터페이스 블록은 상기 제1 클럭 신호 및/또는 상기 제2 클럭 신호 중 하나 이상이 안정화(stabilize)된 것으로 결정된 이후에 상기 제1 세트의 프로세서 코어 및 상기 제2 세트의 프로세서 코어 사이에서의 통신을 재개(resume)하도록 구성된 멀티 코어 프로세서. - 제5항에 있어서,
상기 제1 세트의 프로세서 코어는 상기 제2 세트의 프로세서 코어에 인접하고, 상기 하나 이상의 제어 블록은 상기 제1 공급 전압 및 상기 제2 공급 전압을 선택하여 상기 제1 공급 전압 및 상기 제2 공급 전압 간의 차등 관계(differential relationship)를 유지하도록 구성된 멀티 코어 프로세서. - 제12항에 있어서,
상기 차등 관계는 상기 제1 세트의 프로세서 코어와 연관된 출력 전압 레벨이 상기 제2 세트의 프로세서 코어와 연관된 수용 가능한 입력 전압 레벨 내에 있도록 하는 것에 기초한 멀티 코어 프로세서. - 제1항에 있어서,
상기 제1 세트의 프로세서 코어 및 상기 제2 세트의 프로세서 코어는 상기 제1 세트의 프로세서 코어 및 상기 제2 세트의 프로세서 코어에 실질적으로 중심인 공통 영역에 배치된 하나 이상의 제어 블록으로부터 하나 이상의 제어 신호를 수신하도록 구성된 멀티 코어 프로세서. - 제1 세트의 프로세서 코어 및 제2 세트의 프로세서 코어를 가지는 복수의 프로세서 코어를 포함하는 멀티 코어 프로세서에서의 통신을 관리하는 방법으로서,
상기 제1 세트의 프로세서 코어에 대한 클럭 주파수 변경 요청에 응답하여 상기 복수의 프로세서 코어 중 하나 이상과의 통신을 유휴(idling)하는 단계; 및
상기 제1 세트의 프로세서 코어와 연관된 제1 페이즈 락 루프(phase lock loop) 동작이 제1 락 신호를 획득하고 상기 제2 세트의 프로세서 코어와 연관된 제2 페이즈 락 루프 동작이 또한 제2 락 신호를 획득했다고 결정한 이후에 상기 복수의 프로세서 코어 중 하나 이상과의 통신을 재개하는 단계
를 포함하는 멀티 코어 프로세서에서 통신을 관리하는 방법. - 제15항에 있어서,
상기 통신을 재개하는 단계는 상기 멀티 코어 프로세서에서 제3 세트의 프로세서 코어와 연관된 제3 페이즈 락 루프 동작이 제3 락 신호를 획득한다고 결정하는 것을 더 포함하고, 상기 제3 세트의 프로세서 코어는 상기 제1 세트의 프로세서 코어에 인접한 방법. - 제16항에 있어서,
상기 제2 세트의 프로세서 코어는 상기 제1 세트의 프로세서 코어에 인접한 방법. - 제1 세트의 프로세서 코어 및 제2 세트의 프로세서 코어를 가지는 복수의 프로세서 코어를 포함하는 멀티 코어 프로세서에서의 통신을 관리하는 일련의 명령어(instruction)을 포함하는 컴퓨터 판독 가능 매체로서, 상기 일련의 명령이 컴퓨팅 장치에 의하여 실행되면 상기 컴퓨팅 장치는,
상기 제1 세트의 프로세서 코어에 대한 클럭 주파수 변경 요청에 응답하여 상기 복수의 프로세서 코어 중 하나 이상과의 통신을 유휴(idling)하도록 하는 제1 명령(command)을 발행하는 단계;
상기 제1 세트의 프로세서 코어와 연관된 제1 페이즈 락 루프 동작이 제1 락 신호를 획득하고 또한 상기 제2 세트의 프로세서 코어와 연관된 제2 페이즈 락 루프 동작이 제2 락 신호를 획득했다고 결정한 이후에 상기 복수의 프로세서 코어 중 하나 이상과의 통신을 재개하는 제2 명령을 발행하는 단계
를 수행하도록 하는 것인 컴퓨터 판독 가능 매체. - 제18항에 있어서,
상기 컴퓨팅 장치에 의하여 실행되면 상기 컴퓨팅 장치로 하여금, 상기 제2 명령을 발행하는 단계 전에 상기 멀티 코어 프로세서에서 제3 세트의 프로세서 코어와 연관된 제3 페이즈 락 루프 동작이 제3 락 신호를 획득했는지를 결정하는 단계를 수행하도록 하는 일련의 명령을 더 포함하고,
상기 제3 세트의 프로세서 코어는 상기 제1 세트의 프로세서 코어와 인접한 컴퓨터 판독 가능 매체. - 제19항에 있어서,
상기 제2 세트의 프로세서 코어는 상기 제1 세트의 프로세서 코어와 인접한 컴퓨터 판독 가능 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/713,220 | 2010-02-26 | ||
US12/713,220 US8549339B2 (en) | 2010-02-26 | 2010-02-26 | Processor core communication in multi-core processor |
PCT/US2011/024477 WO2011106172A1 (en) | 2010-02-26 | 2011-02-11 | Processor core communication in multi-core processor |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120131195A true KR20120131195A (ko) | 2012-12-04 |
KR101426341B1 KR101426341B1 (ko) | 2014-08-06 |
Family
ID=44505940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127024888A KR101426341B1 (ko) | 2010-02-26 | 2011-02-11 | 멀티 코어 프로세서에서의 프로세서 코어 통신 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8549339B2 (ko) |
JP (1) | JP5547820B2 (ko) |
KR (1) | KR101426341B1 (ko) |
CN (1) | CN102667744B (ko) |
DE (1) | DE112011100695T5 (ko) |
WO (1) | WO2011106172A1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170088767A (ko) * | 2016-01-25 | 2017-08-02 | 삼성전자주식회사 | 반도체 장치, 반도체 시스템 및 반도체 장치의 동작 방법 |
KR20170088758A (ko) * | 2016-01-25 | 2017-08-02 | 삼성전자주식회사 | 반도체 장치 |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2362297B1 (en) * | 2010-02-25 | 2014-05-14 | Telefonaktiebolaget L M Ericsson (publ) | Technique for selecting a frequency of operation in a processor system |
KR20150012235A (ko) * | 2012-04-20 | 2015-02-03 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 전압 레귤레이터 제어 시스템 |
US20140122916A1 (en) * | 2012-10-31 | 2014-05-01 | Guadalupe J. Garcia | Reducing the overhead associated with frequency changes in processors |
US9335803B2 (en) * | 2013-02-15 | 2016-05-10 | Intel Corporation | Calculating a dynamically changeable maximum operating voltage value for a processor based on a different polynomial equation using a set of coefficient values and a number of current active cores |
WO2014133522A2 (en) | 2013-02-28 | 2014-09-04 | Empire Technology Development, Llc | Local message queue processing for co-located workers |
CN109240481B (zh) * | 2013-08-28 | 2020-08-11 | 威盛电子股份有限公司 | 多核微处理器及使用其省电的方法 |
KR20160054850A (ko) * | 2014-11-07 | 2016-05-17 | 삼성전자주식회사 | 다수의 프로세서들을 운용하는 장치 및 방법 |
KR102325453B1 (ko) * | 2014-12-04 | 2021-11-11 | 삼성전자주식회사 | 반도체 장치의 동작 방법 |
EP3062142B1 (en) | 2015-02-26 | 2018-10-03 | Nokia Technologies OY | Apparatus for a near-eye display |
US10650552B2 (en) | 2016-12-29 | 2020-05-12 | Magic Leap, Inc. | Systems and methods for augmented reality |
EP4300160A3 (en) | 2016-12-30 | 2024-05-29 | Magic Leap, Inc. | Polychromatic light out-coupling apparatus, near-eye displays comprising the same, and method of out-coupling polychromatic light |
US10578870B2 (en) | 2017-07-26 | 2020-03-03 | Magic Leap, Inc. | Exit pupil expander |
JP7282090B2 (ja) | 2017-12-10 | 2023-05-26 | マジック リープ, インコーポレイテッド | 光学導波管上の反射防止性コーティング |
KR20200100720A (ko) | 2017-12-20 | 2020-08-26 | 매직 립, 인코포레이티드 | 증강 현실 뷰잉 디바이스용 인서트 |
US10755676B2 (en) | 2018-03-15 | 2020-08-25 | Magic Leap, Inc. | Image correction due to deformation of components of a viewing device |
US11885871B2 (en) | 2018-05-31 | 2024-01-30 | Magic Leap, Inc. | Radar head pose localization |
WO2020010097A1 (en) | 2018-07-02 | 2020-01-09 | Magic Leap, Inc. | Pixel intensity modulation using modifying gain values |
US11510027B2 (en) | 2018-07-03 | 2022-11-22 | Magic Leap, Inc. | Systems and methods for virtual and augmented reality |
WO2020023543A1 (en) | 2018-07-24 | 2020-01-30 | Magic Leap, Inc. | Viewing device with dust seal integration |
EP4270016A3 (en) | 2018-07-24 | 2024-02-07 | Magic Leap, Inc. | Temperature dependent calibration of movement detection devices |
US11112862B2 (en) | 2018-08-02 | 2021-09-07 | Magic Leap, Inc. | Viewing system with interpupillary distance compensation based on head motion |
US10795458B2 (en) | 2018-08-03 | 2020-10-06 | Magic Leap, Inc. | Unfused pose-based drift correction of a fused pose of a totem in a user interaction system |
JP7487176B2 (ja) | 2018-08-22 | 2024-05-20 | マジック リープ, インコーポレイテッド | 患者視認システム |
TWI682634B (zh) | 2018-11-06 | 2020-01-11 | 崛智科技有限公司 | 積體電路系統 |
JP7472127B2 (ja) | 2018-11-16 | 2024-04-22 | マジック リープ, インコーポレイテッド | 画像鮮明度を維持するための画像サイズによってトリガされる明確化 |
EP3939030A4 (en) | 2019-03-12 | 2022-11-30 | Magic Leap, Inc. | REGISTRATION OF LOCAL CONTENT BETWEEN FIRST AND SECOND VIEWERS OF AUGMENTED REALITY |
CN114127837A (zh) | 2019-05-01 | 2022-03-01 | 奇跃公司 | 内容提供系统和方法 |
US11514673B2 (en) | 2019-07-26 | 2022-11-29 | Magic Leap, Inc. | Systems and methods for augmented reality |
KR20210017054A (ko) * | 2019-08-06 | 2021-02-17 | 삼성전자주식회사 | 멀티-코어 시스템 및 그 동작 제어 방법 |
US12033081B2 (en) | 2019-11-14 | 2024-07-09 | Magic Leap, Inc. | Systems and methods for virtual and augmented reality |
EP4058979A4 (en) | 2019-11-15 | 2023-01-11 | Magic Leap, Inc. | VIEWING SYSTEM FOR USE IN A SURGICAL ENVIRONMENT |
KR102606224B1 (ko) * | 2023-05-25 | 2023-11-29 | 메티스엑스 주식회사 | 프로세스 간 통신을 지원하기 위한 하드웨어 아키텍처를 포함하는 전자 장치 및 프로세스 간 통신을 수행하는 방법 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6711447B1 (en) | 2003-01-22 | 2004-03-23 | Intel Corporation | Modulating CPU frequency and voltage in a multi-core CPU architecture |
CN1759368A (zh) * | 2003-01-23 | 2006-04-12 | 罗切斯特大学 | 多时钟域微处理器 |
US7103320B2 (en) * | 2003-04-19 | 2006-09-05 | International Business Machines Corporation | Wireless communication system within a system on a chip |
JP2005100269A (ja) * | 2003-09-26 | 2005-04-14 | Toshiba Microelectronics Corp | 半導体集積回路 |
US7219245B1 (en) | 2004-06-03 | 2007-05-15 | Advanced Micro Devices, Inc. | Adaptive CPU clock management |
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 |
US7735037B2 (en) | 2005-04-15 | 2010-06-08 | Rambus, Inc. | Generating interface adjustment signals in a device-to-device interconnection system |
US7802212B2 (en) * | 2005-04-15 | 2010-09-21 | Rambus Inc. | Processor controlled interface |
JP4846272B2 (ja) * | 2005-06-07 | 2011-12-28 | ルネサスエレクトロニクス株式会社 | 半導体集積回路装置 |
KR101108397B1 (ko) * | 2005-06-10 | 2012-01-30 | 엘지전자 주식회사 | 멀티-코어 프로세서의 전원 제어 장치 및 방법 |
US7490254B2 (en) * | 2005-08-02 | 2009-02-10 | Advanced Micro Devices, Inc. | Increasing workload performance of one or more cores on multiple core processors |
JP2007148952A (ja) * | 2005-11-30 | 2007-06-14 | Renesas Technology Corp | 半導体集積回路 |
US7263457B2 (en) * | 2006-01-03 | 2007-08-28 | Advanced Micro Devices, Inc. | System and method for operating components of an integrated circuit at independent frequencies and/or voltages |
US7853808B2 (en) | 2007-01-18 | 2010-12-14 | International Business Machines Corporation | Independent processor voltage supply |
JP2007305148A (ja) * | 2007-06-25 | 2007-11-22 | Univ Waseda | マルチプロセッサシステム |
US8225315B1 (en) * | 2007-07-23 | 2012-07-17 | Oracle America, Inc. | Virtual core management |
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 |
US8032772B2 (en) * | 2007-11-15 | 2011-10-04 | Intel Corporation | Method, apparatus, and system for optimizing frequency and performance in a multi-die microprocessor |
US8578193B2 (en) * | 2007-11-28 | 2013-11-05 | International Business Machines Corporation | Apparatus, method and program product for adaptive real-time power and perfomance optimization of multi-core processors |
US8589707B2 (en) * | 2008-12-05 | 2013-11-19 | Stmicroelectronics International N.V. | System and method for optimizing electrical power consumption by changing CPU frequency including steps of changing the system to a slow mode, changing a phase locked loop frequency register and changing the system to a normal mode |
US7915910B2 (en) * | 2009-01-28 | 2011-03-29 | Apple Inc. | Dynamic voltage and frequency management |
-
2010
- 2010-02-26 US US12/713,220 patent/US8549339B2/en active Active
-
2011
- 2011-02-11 WO PCT/US2011/024477 patent/WO2011106172A1/en active Application Filing
- 2011-02-11 CN CN201180005030.6A patent/CN102667744B/zh not_active Expired - Fee Related
- 2011-02-11 KR KR1020127024888A patent/KR101426341B1/ko active IP Right Grant
- 2011-02-11 DE DE112011100695T patent/DE112011100695T5/de not_active Withdrawn
- 2011-02-11 JP JP2012553946A patent/JP5547820B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170088767A (ko) * | 2016-01-25 | 2017-08-02 | 삼성전자주식회사 | 반도체 장치, 반도체 시스템 및 반도체 장치의 동작 방법 |
KR20170088758A (ko) * | 2016-01-25 | 2017-08-02 | 삼성전자주식회사 | 반도체 장치 |
Also Published As
Publication number | Publication date |
---|---|
US20110213991A1 (en) | 2011-09-01 |
DE112011100695T5 (de) | 2013-01-17 |
CN102667744A (zh) | 2012-09-12 |
US8549339B2 (en) | 2013-10-01 |
CN102667744B (zh) | 2015-06-10 |
WO2011106172A1 (en) | 2011-09-01 |
JP5547820B2 (ja) | 2014-07-16 |
KR101426341B1 (ko) | 2014-08-06 |
JP2013525872A (ja) | 2013-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20120131195A (ko) | 멀티 코어 프로세서에서의 프로세서 코어 통신 | |
US8307370B2 (en) | Apparatus and method for balancing load in multi-core processor system | |
US8751854B2 (en) | Processor core clock rate selection | |
EP3197055B1 (en) | Clock circuit and clock signal transmission method thereof | |
JP6739652B2 (ja) | マイクロプロセッサに関連する電圧に基づいたクロック制御 | |
US8819677B2 (en) | Virtual machine data structures corresponding to nested virtualization levels | |
JP7279013B2 (ja) | プロセッサ・コアにおいてローカル検出ループを使用するオンチップ電源ノイズ電圧の低減または軽減 | |
KR20160042003A (ko) | 와트당 최적 성능을 위한 지능형 멀티코어 제어 | |
EP2808789B1 (en) | Multi-core apparatus and job scheduling method thereof | |
CN103229123A (zh) | 在多核处理器内管理功率的方法及装置 | |
KR102277439B1 (ko) | 재구성 가능 프로세서 및 그 동작 방법 | |
US20130262791A1 (en) | Host-side support of dynamically changing frequency in memory systems | |
KR20160089417A (ko) | 휴대용 컴퓨팅 디바이스에서 시스템 온 칩의 다중 상관 학습 열 관리를 위한 시스템 및 방법 | |
US9274822B2 (en) | Reactive loop sensing in multi-datacenter deployments | |
EP3000023A1 (en) | Low cost storage for rarely read data | |
US20220116678A1 (en) | Multi-display video synchronization | |
US20160110218A1 (en) | Efficiency for coordinated start interpretive execution exit for a multithreaded processor | |
US20140282622A1 (en) | Bidirectional counting of dual outcome events | |
US9740267B1 (en) | Adjusting power management controls of a memory based on traffic | |
US10156882B2 (en) | Multi-core dynamic frequency control system | |
JP2021117971A (ja) | ディスプレイクロック周波数を動的に変化させるための方法および装置 | |
US20140337647A1 (en) | Systems and methods for managing current consumption by an electronic device | |
Lu et al. | A new data sieving approach for high performance I/O | |
US20160011962A1 (en) | Allocating memory usage based on voltage regulator efficiency | |
US20220334888A1 (en) | Methods and apparatus to synchronize threads |
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: 20170629 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180628 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20191223 Year of fee payment: 6 |