KR101232344B1 - 멀티 코어 프로세서, 그 주파수 변환 장치 및 코어간 통신 방법 - Google Patents

멀티 코어 프로세서, 그 주파수 변환 장치 및 코어간 통신 방법 Download PDF

Info

Publication number
KR101232344B1
KR101232344B1 KR1020107008692A KR20107008692A KR101232344B1 KR 101232344 B1 KR101232344 B1 KR 101232344B1 KR 1020107008692 A KR1020107008692 A KR 1020107008692A KR 20107008692 A KR20107008692 A KR 20107008692A KR 101232344 B1 KR101232344 B1 KR 101232344B1
Authority
KR
South Korea
Prior art keywords
clock
processor
frequency conversion
processor core
core
Prior art date
Application number
KR1020107008692A
Other languages
English (en)
Other versions
KR20100059994A (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 KR20100059994A publication Critical patent/KR20100059994A/ko
Application granted granted Critical
Publication of KR101232344B1 publication Critical patent/KR101232344B1/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
    • 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
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Power Sources (AREA)

Abstract

본 발명은 멀티 코어 프로세서, 그 주파수 변환장치 및 코어간 통신방법에 관한 것이다. 동 멀티 코어 프로세서 중 각 프로세서 코어는 주파수 변환장치(1)를 구비하고, 동 주파수 변환장치는 상태 전환기(11), 멀티플렉서(12), 주파수 변환 계수 레지스터(13), 멀티 입력 논리합 소자(14) 및 클록 게이팅 회로 유닛(15)을 포함한다. 코먼 원시 클록은 각 프로세서 코어의 주파수 변환장치에 전송되고, 주파수 변환장치는 해당 프로세서 코어의 주파수 변환 계수 레지스터의 값을 실시간 판독함과 동시에 기타 프로세서 코어에서 동 프로세서 코어로 발송되어 오는 데이터 청구 신호의 유효 값을 접수하고, 코먼 원시 클록에 대해 게이팅을 진행함으로써 프로세서 코어의 주파수 변환 기능을 실현한다.

Description

멀티 코어 프로세서, 그 주파수 변환 장치 및 코어간 통신 방법{A MULTI-CORE PROCESSOR, ITS FREQUENCY CONVERSION DEVICE AND A METHOD OF DATA COMMUNICATION BETWEEN THE CORES}
본 발명은 멀티 코어 프로세서 기술분야에 관한 것으로, 특히 멀티 코어 프로세서, 주파수 변환 장치 및 코어 간 통신 방법에 관한 것이다.
프로세서 칩 디자인에서, 전력 소모는 프로세서 기능 외 다른 하나의 중요한 기술표준으로, 범용 프로세서 분야나 내장형 프로세서 분야를 물론하고 전력 소모가 작은 프로세서는 모두 광범위한 수요와 응용 가능성이 있다.
프로세서 전력 소모와 프로세서의 클록 주파수는 정비례 되므로, 프로세서 동작 과정에서 실행중인 프로그램의 수요에 따라 프로세서의 주파수를 동적으로 개변하는 방법은 프로세서 전력 소모를 절감하는 유효수단으로 되어있다.
현재, 멀티 코어 프로세서는 이미 프로세서 발전의 중요한 추세로 되었고, 멀티 코어 프로세서에서 각 프로세서 코어는 자체 부하와 다른 요청에 따라 주파수를 실시간 조절하여 효과적으로 전력 소모를 절감한다.
기존 기술에서, 멀티 코어 프로세서는 모든 프로세서 코어에 동일한 클록을 활용하여, 주파수 조절 시 모든 프로세서 코어에 대하여서도 동시에 조절을 진행할수 밖에 없다. 그러나 이런 방식으로 모든 프로세서의 전력 소모를 절감하기에는 제한적이다.
다른 한가지 방식은 각 프로세서 코어에 대하여 서로 다른 클록을 활용하는 것으로, 이러할 경우 각 프로세서 코어는 자체의 상황에 따라 동적 주파수 조정을 진행함으로써 프로세서 전력 소모를 더욱 효과적으로 절감할수 있다. 그러나 각 프로세서 코어에서 상이한 클록 주파수를 활용하므로, 프로세서 코어와 프로세서 코어 간 데이터 통신을 진행할 시 비동기 클록 도메인으로 통신하는 방식으로 해결함으로써 프로세서 코어 간의 데이터 교환과 통신 효율에 영향을 끼쳐 프로세서 전체 기능을 저하를 초래한다.
종래 기술 중에 존재하는 문제를 해결하기 위하여, 본 발명은 멀티 코어 프로세서, 주파수 변환 장치 및 코어 간 통신방법을 제공하여, 멀티 코어 프로세서에서 클록 주파수의 동적 절감을 지원하고, 프로세서 코어와 프로세서 코어 간 클록 동기 통신을 유지한다.
본 발명의 목적을 실현하기 위하여 멀티 코어 프로세서는 복수개 프로세서 코어를 포함하고, 상기 복수개 프로세서 코어간 동기 통신을 진행하고, 상기 각 프로세서 코어는 주파수 변환 장치를 구비하고, 상기 주파수 변환 장치는 멀티플렉서를 포함하고, 상태 전환기, 주파수 변환 계수 레지스터, 멀티 입력 논리합 소자 및 클록 게이팅 회로 유닛을 더 포함하고,
상기 상태 전환기는 복수개 주파수 변환 계수 데이터를 상기 멀티플렉서로 출력하는데 이용되고, 상기 상태 전환기의 출력 포트는 상기 멀티플렉서의 데이터 입력 포트에 연결되고,
상기 주파수 변환 계수 레지스터는 상기 프로세서 코어의 현재 주파수 변환 계수 저장에 사용되고, 상기 주파수 변환 계수 레지스터의 출력 포트는 상기 멀티플렉서의 선택 입력 포트에 연결되고,
상기 멀티 입력 논리합 소자는 상기 상태 전환기와 상기 주파수 변환 계수 레지스터에 따라 상기 멀티플렉서가 획득한 출력을 접수하고, 기타 프로세서 코어에서 상기 프로세서 코어에 발송하는 데이터 유효 비트를 접수하고, 출력 상태를 유효로 변환하여 게이팅 시그널을 상기 클록 게이팅 회로 유닛에 발송하고,
상기 클록 게이팅 회로 유닛은 상기 프로세서 코어의 코먼 원시 클록을 접수하여 클록 입력으로 하고, 상기 멀티 입력 논리합 소자가 출력한 게이팅 시그널을 접수하여 게이팅 인에이블 입력으로 하고, 상기 클록 게이팅 회로 유닛의 출력 클록은 상기 프로세서 코어의 주파수 변환 후 클록인 것을 특징으로 한다.
상기 상태 전환기는 멀티 비트 레지스터 및 상응하는 스테이지 전환 로직을 포함하고, 상기 멀티 비트 레지스터의 각 비트는 주파수 변환 계수에 각각 일대일 독립 대응되고, 상기 스테이지 전환 로직은 상응한 멀티 비트 레지스터의 값에 따라 회로 파형으로 전환하고, 상응한 유효 비트를 출력하고, 상응한 주파수 변환 계수를 확정하는것을 특징으로 한다.
상기 클록 게이팅 회로 유닛은 1개의 더블 입력 논리곱 소자를 포함하는 것을 특징으로 한다.
상기 클록 게이팅 회로 유닛은 클록 하강에지에서 샘플링을 수행하는 래치 또는 레지스터를 더 포함하는 것을 특징으로 한다.
본 발명의 목적을 실현하기 위한 멀티플렉서를 포함하는 프로세서 코어의 주파수 변환장치에 있어서, 상태 전환기, 주파수 변환 계수 레지스터, 멀티 입력 논리합 소자 및 클록 게이팅 회로 유닛을 더 포함하고,
상기 상태 전환기는 복수개 주파수 변환 계수 데이터를 상기 멀티플렉서로 출력하는데 이용되고, 상기 상태 전환기의 출력 포트는 상기 멀티플렉서의 데이터 입력 포트에 연결되고,
상기 주파수 변환 계수 레지스터는 상기 프로세서 코어의 현재 주파수 변환 계수 저장에 사용되고, 상기 주파수 변환 계수 레지스터의 출력 포트는 상기 멀티플렉서의 선택 입력 포트에 연결되고,
상기 멀티 입력 논리합 소자는 상기 상태 전환기와 상기 주파수 변환 계수 레지스터에 따라 상기 멀티플렉서가 획득한 출력을 접수하고, 기타 프로세서 코어에서 상기 프로세서 코어에 발송하는 데이터 유효 비트를 접수하고, 출력 상태를 유효로 변환하여 게이팅 시그널을 상기 클록 게이팅 회로 유닛에 발송하고,
상기 클록 게이팅 회로 유닛은, 상기 프로세서 코어의 코먼 원시 클록을 접수하여 클록 입력으로 하고, 상기 멀티 입력 논리합 소자가 출력한 게이팅 시그널을 접수하여 게이팅 인에이블 입력으로 하고, 출력 클록은 상기 프로세서 코어의 주파수 변환 후 클록인 것을 특징으로 한다.
상기 상태 전환기는 멀티 비트 레지스터 및 상응하는 스테이지 전환 로직을 포함하고, 상기 멀티 비트 레지스터의 각 비트는 주파수 변환 계수에 각각 일대일 독립 대응되고, 상기 스테이지 전환 로직은 상응한 멀티 비트 레지스터의 값에 따라 회로 파형으로 전환하고, 상응한 유효 비트를 출력하고, 상응한 주파수 변환 계수를 확정하는 것을 특징으로 한다.
상기 클록 게이팅 회로 유닛은 1개 더블 입력인 논리곱 소자를 포함하는 것을 특징으로 한다.
상기 클록 게이팅 회로 유닛은 클록 하강에지에서 샘플링을 수행하는 래치 또는 레지스터를 더 포함하는 것을 특징으로 한다.
본 발명의 목적을 실행하기 위한 멀티 코어 프로세서 중 프로세서 코어간 클록 동기화 데이터 통신 방법에 있어서,
상기 멀티 코어 프로세서는 복수개 프로세서 코어를 포함하고, 상기 복수개 프로세서 코어 사이는 주파수 변환 장치를 이용하여 클록 동기 데이터 통신을 실행하고, 상기 주파수 변환 장치는 상태 전환기, 멀티플렉서, 주파수 변환 계수 레지스터, 멀티 입력 논리합 소자 및 클록 게이팅 회로 유닛를 포함하고, 상기 데이터 통신 방법은
제1 프로세서 코어가 제2 프로세서 코어에 데이터를 발송하고, 상기 데이터는 1개 비트의 데이터 유효 비트 및 멀티 비트의 데이터 내용을 포함하는 스텝A,
제2 프로세서 코어의 상기 주파수 변환장치는 제1 프로세서 코어가 발송한 데이터 유효 비트를 접수하고, 제1 프로세서 코어가 발송한 데이터 유효 비트 시그널과 연결된 멀티 입력 논리합 소자의 출력 상태를 유효로 변환하여, 상기 유효 상태를 새로운 게이팅 시그널로 하여 상응한 클록 게이팅 회로 유닛에 송신하고, 상기 출력 클록은 주파수 변환 클록으로부터 코먼 원시 클록으로 변환하는 스텝B,
상기 제2 프로세서 코어는 상기 코먼 원시 클록을 사용하고, 상기 제1 프로세서 코어가 발송한 데이터 내용에 대하여 샘플링을 진행하는 스텝C를 포함하는것을 특징으로 한다.
상기 스텝A 실행 전에,
상기 제1 프로세서 코어 및 상기 제2 프로세서 코어의 주파수 변환 장치 중 주파수 변환 계수 레지스터의 값에 대한 리라이트(rewrite)를 거쳐, 상기 제1 프로세서 코어와 상기 제2 프로세서 코어가 각각 설정된 클록 주파수로 작동하는 스텝을 더 포함하는 것을 특징으로 한다.
상기 클록 주파수는 프로세서의 코먼 원시 클록 주파수 또는 주파수 변환 후의 클록 주파수 인것을 특징으로 한다.
상기 스텝C 실행 후,
상기 제2 프로세서 코어는 상기 제1 프로세서 코어가 송신한 데이터를 접수한 후, 상기 제1 프로세서 코어의 데이터 발송 유효 비트는 무효로 되고,
상기 제2 프로세서 코어의 주파수 변환 장치 중 게이팅 클록 회로는 다시 주파수 변환 계수 레지스터에서 제어를 받는 스텝을 더 포함하는 것을 특징으로 한다.
도1은 본 발명에 의한 멀티 코어 프로세서 실시예 중 각 프로세서 코어의 주파수 변환장치의 구조 사시도.
도2는 본 발명에 의한 멀티 코어 프로세서 실시예 중 상호 통신이 필요한 2개 프로세서 코어 간의 주파수 변환장치 연결관계 예시도.
도3은 본 발명에 의한 멀티 코어 프로세서에서 프로세서 코어 간에 클록 동기를 진행하는 데이터 통신방법 실시예 중, 주파수가 상이한 2개의 프로세서 코어간 통신 시의 작업 흐름도.
도4는 본 발명에 의한 멀티 코어 프로세서에서 프로세서 코어 간에 클록 동기를 진행하는 데이터 통신방법 실시예 중, 상이한 주파수 계수 조건하에서 주파수 변환장치의 클록 출력 파형도.
도5는 본 발명에 의한 멀티 코어 프로세서에서 프로세서 코어 간에 클록 동기를 진행하는 데이터 통신방법 실시예 중, 프로세서 코어 X와 프로세서 코어 Y 사이에 데이터 통신시 프로세서 코어 Y의 클록 출력 파형도.
본 발명의 목적, 기술방안 및 장점을 더 명확히 설명하기 위하여, 이하 도면 및 실시예를 결부하여 본 발명의 프로세서 및 그 주파수 변환 장치와 방법에 대하여 진일보한 상세한 설명을 진행한다. 응당 이해해야 할 것은 구체적 실시예는 본 발명을 해석하기 위한 것일 뿐, 본 발명을 한정하기 위한 것은 아니다.
본 발명에 의한 멀티 코어 프로세서의 주파수 변환장치와 방법은, 프로세서의 원시 생성 클록에 대해 제어를 진행하는 것을 통해, 각 프로세서 코어가 코먼 원시 클록(common original clock)에 비해 작은 클록 주파수로 운행을 진행할 수 있도록 한다.
상기 목적을 실현하기 위하여, 본 발명은 멀티 코어 프로세서를 제공한다. 동 멀티 코어 프로세서는 주파수 변환 장치(1)을 포함하고, 도1에서 보이는 바와 같이, 상기 주파수 변환장치는 상태 전환기(11), 멀티플렉서(12), 주파수 변환 계수 레지스터(13), 멀티 입력 논리합 소자(14), 및 클록 게이팅 회로 유닛(15)을 포함하고, 그 중:
상태 전환기(11)는 멀티 비트 레지스터 및 상응한 상태 전환 로직을 포함하고, 동 멀티 비트 레지스터의 각 비트는 주파수 변환 계수에 각각 일대일 대응되고, 상태 전환기(11)의 출력 포트는 멀티플렉서(12)의 데이터 입력 포트에 연결되고,
상기 상태 전환 로직은 해당 멀티 비트 레지스터의 값에 따라 회로 파형으로 전환하고, 대응되는 유효 비트를 출력하여, 상응한 주파수 변환 계수를 확정한다.
주파수 변환 계수 레지스터(13)는 프로세서 코어의 현재 주파수 변환 계수 저장에 사용되고, 그 출력은 멀티플렉서(12)의 선택 입력 포트에 연결된다.
즉, 멀티플렉서(12)의 데이터 입력 포트는 주파수 변환 장치의 상태 전환기(11)의 출력 포트에 연결되고, 그 선택 입력 포트는 주파수 변환 계수 레지스터(13)의 출력 포트에 연결된다.
멀티 입력 논리합 소자(14)는 멀티플렉서(12)의 출력을 접수하여 입력의 하나로 함과 동시에, 기타 프로세서 코어로부터 상기 프로세서 코어에 발송되는 데이터 유효 비트를 접수하여 그의 입력으로 한다. 도2에서 보이는 바와 같이,
상기 클록 게이팅 회로 유닛(15)은 프로세서 코어의 코먼 원시 클록을 접수하여 클록 입력으로 함과 동시에, 멀티 입력 논리합 소자(14)의 출력을 접수하여 게이팅 인에이블로 하고, 코먼 원시 클록에 대해 제어를 진행한다.
클록 게이팅 회로 유닛(15)은 클록 하강에지(negative edge)에서 샘플링을 수행하는 래치(151)(혹은 레지스터) 및 1개의 더블 입력 논리곱 소자(152)를 포함하고, 상기 클록 게이팅 회로 유닛은 프로세서 코어의 코먼 원시 클록을 접수하여 그의 클록 입력으로 하고, 동시에 멀티플렉서(12)의 출력을 접수하여 게이팅 인에이블 입력으로 함으로써 코먼 원시 클록에 대하여 제어를 진행하고, 상기 클록 게이팅 회로 유닛의 출력은 주파수 변환 후의 클록이다.
바람직하게는, 상기 클록 게이팅 회로 유닛(15)은 하강에지 래치(151)와 더블 입력 논리곱 소자(152)를 포함한다.
상기 클록 게이팅 회로 유닛(15)은 집적회로 디자인 분야에서 클록 게이팅 회로이고, 그 중, 하강에지 래치의 작용은 게이팅 시그널이 직접 논리곱 소자에 전송됨으로써 클록 스파이크를 생성하는 것을 피할 수 있도록 하는 것이다.
프로세서 중 주파수 변환 장치(1)는 작동 시 주파수 변환 계수 레지스터(13)로부터 전송되어 오는 값에 기초하여 기타 프로세서 코어에서 상기 프로세서 코어에 발송한 데이터 청구 시그널의 유효 값을 접수하여 상기 장치의 클록 출력을 제어함으로써 코먼 원시 클록에 대한 주파수 변환과 데이터 동기화 기능을 완성한다.
상기 프로세서는 멀티 코어 프로세서 혹은 시스템 온 칩(System on a Chip,SOC)일 수 있다.
본 발명은 또한 멀티 코어 프로세서 중 프로세서 코어와 프로세서 코어 간 클록 동기화 데이터 통신 방법을 제공한다.
본 발명의 실시예에 있어서, 멀티 코어 프로세서 중 2개의 프로세서 코어 X, Y를 예로 본 발명의 프로세서 코어 간 클록 동기화 진행에 있어서의 데이터 통신방법을 설명한다. 그러나 응당 설명해야 할 것은, 본 발명의 프로세서 코어 간 클록 동기화 진행에 있어서의 데이터 통신 방법은 프로세서 코어가 2개 이상일 경우에도 똑같이 적용된다는 것이다.
도3 및 도4, 도5를 결부하여 볼 수 있는바, 본 발명에 의한 상이한 클록 주파수의 프로세서 코어간 통신과정에 대해 상세히 설명을 한다면, 상기 방법은 아래와 같은 스텝을 포함한다.
스텝S100에서, 프로세서 코어 X가 프로세서 코어 Y에 데이터를 발송하는 것을 예로, 우선 프로세서 코어 X와 Y는 각기 부동한 클록 주파수에서 작동하고,
상기 클록 주파수는 코먼 원시 클록 주파수이거나 주파수 변환 후의 클록 주파수일 수 있고, 그 중 주파수 변환 후의 클록 주파수는 주파수 변환 계수 레지스터(13)의 값에 의해 제어된다.
한 가지 실시예로, 본 발명에 의한 실시예에서, 주파수 변환 장치 중의 주파수 변환 계수 레지스터(13)는 9가지 주파수 변환 계수를 지시할 수 있으며, 각각 주파수 변환 클록이 코먼 원시 클록의 0/8배 속도 (즉, 무 클록), 1/8배 속도, 2/8배 속도, 3/8배 속도, 4/8배 속도, 5/8배 속도, 6/8배 속도, 7/8, 8/8배 속도(즉, 코먼 원시 클록으로 주파수 변환이 없음)로 운행함을 대표한다. 도4는 상이한 주파수 변환 계수에 대응되는 클록 출력 파형도를 나타내다. 도4에서 알 수 있는 바와 같이, i/8 (i=0, 1, 2, 3, 4, 5, 6, 7, 8) 주파수 변환 계수 조건에서, 각 8개 원시 클록 주기의 시간 내에 신규 주파수 변환 클록은 i개 클록 상승에지만 출력하였기에, 클록 주파수가 코먼 원시 클록 주파수의 i/8인 것에 상응하고, 따라서 프로세서의 평균 작동속도도 기존의 i/8로 변하며, 프로세서 전력 소모와 프로세서 주파수 간의 정비례의 관계로 인해, 프로세서 전력 소모도 따라서 기존의 i/8로 된다.
본 발명의 실시예에 있어서, 프로세서의 코먼 원시 클록 주파수는 f이고, 프로세서 코어 X는 (6/8)*f 주파수에서 작동, 프로세서 코어 Y는 (2/8)*f 주파수에서 작동하고, X와 Y의 클록 파형은 도5 중 제1단계에서 보이는 바와 같다.
스텝S200에서, 프로세서 코어 X는 프로세서 코어 Y에 1개의 데이터를 발송하고, 상기 데이터는 1비트의 데이터 유효 비트와 멀티 비트의 데이터 내용을 포함한다.
스텝S300에서, 프로세서 코어 Y의 주파수 변환장치는 프로세서 코어 X가 발송하는 데이터 유효 비트를 우선적으로 접수하고,
스텝S400에서, 데이터 유효 비트에 따라, 주파수 변환 장치 중 그와 연결된 멀티 입력 논리합 소자(14)의 출력상태는 1로 변환, 즉 출력상태 유효,된다.
스텝S500에서, 멀티 입력 논리합 소자(14)의 출력을 신규 게이팅 시그널로 하여 클록 게이팅 회로에 송신하고, 이때 게이팅 클록은 주파수 변환 계수의 영향을 받지 않고, 출력 클록은 초기의 코먼 원시 클록으로 변한다. 이때 Y의 클록은 도5 중의 제2단계에 표시된 파형과 같다.
스텝S600에서, 프로세서 코어 Y는 상기 변환된 새로운 생성 클록을 사용하여 프로세서 코어 X가 발송한 데이터 내용에 대하여 샘플링을 진행함으로써 프로세서 코어 Y에서 데이터가 신속히 정확하게 샘플링됨과 동시에 프로세서 코어Y의 접수 레지스터(21)에 발송되게 함으로써 데이터 동기 전송의 정확성을 보장한다.
스텝 S700에서, 프로세서 코어 Y는 프로세서 코어 X가 송신한 데이터를 접수한 후, X의 데이터 발송 유효 비트는 무효로 변하고, 즉 0으로 변하고, 프로세서 코어 Y의 주파수 변환 장치 중 게이팅 클록은 다시 주파수 변환 계수 레지스터(13)의 제어를 받기 때문에, Y의 클록은 다시 이전의 주파수 변환 클록으로 회복하여 작동을 진행한다. 이때 Y의 클록 파형은 도 5중 제3단계에 표시된 파형과 같다.
도 5에서 보이는 바와 같이, 클록 주파수가 (6/8)*f인 프로세서 코어 X가 클록 주파수가 (2/8)*f인 프로세서 코어 Y에 데이터를 연속 3회 발송하므로, 데이터 유효 비트도 연속 3개 주기 내에 전부 1이고, 따라서 X가 데이터 유효 시그널을 발송한 뒤로 3개 주기 내에, 프로세서 코어 Y의 후속 클록도 자동으로 주파수가 (2/8)*f인 비교적 작은 주파수에서 매회 마다 연속 유효인 클록 주파수로 상승되어, 프로세서 코어X가 발송한 데이터가 프로세서 코어Y에서 신속히 동기 샘플링될 수 있도록 보장하고, 또한 전송 과정 중의 기능과 정확성이 클록 주파수 변환의 영향을 받지 않도록 보장한다.
본 발명의 멀티 코어 프로세서 주파수 변환 장치와 그 방법은, 기존 기술 중 이미 존재한 멀티 코어 프로세서 클록 주파수 변환 방법의 단점을 극복할수 있고, 사용이 간편하고, 프로세서가 미션 탑재 상황에 따라 매개 프로세서 코어의 운행 주파수에 대하여 동적으로 제어하고, 또한 동시에 프로세서 코어 간 효율이 높은 통신을 보장하여, 멀티 코어 프로세서의 전력 소모를 절감하고 기능을 보장할수 있는 효과에 도달할수 있다. 따라서 본 발명의 멀티 코어 프로세서 주파수 변환 장치는 응용하기 편리하고, 클록 주파수에 대한 변환 제어는 단지 일반적인 디지탈 로직 회로를 사용하여 완성할수 있고, 사용이 간편하다.
상기와 같이 도면을 결부하여 본 발명의 구체적인 실시예에 대해 서술함으로써 본 발명의 기타 내용과 특징은 동 기술분야에 숙지한 자에 있어서 명료한 것이다.
이상에서 본 발명의 구체적인 실시예에 대하여 묘사와 설명을 진행하였고, 이러한 실시예는 예시적인 것으로 본 발명에 대한 제한은 아니며, 따라서 본 발명은 첨부된 청구항에 의해 해석된다.
본 발명의 멀티 코어 프로세서, 그 주파수 변환 장치 및 멀티 코어 프로세서 중 복수개 프로세서 코어 간의 통신방법은 멀티 코어 프로세서의 동적 주파수 변환을 실현할수 있고, 프로세서 중 각 프로세서 코어는 자체의 상이한 주파수 변환 계수 설정에 따라, 상이한 클록 주파수 조건에서 작동할수 있고, 또한 프로세서 코어와 프로세서 코어간 데이터 통신을 진행 시, 데이터의 동기 샘플링을 보장할수 있기 때문에, 특수한 비동기 클록 도메인 통신 로직이 필요하지 않다. 따라서 멀티 코어 프로세서는 프로세서 코어 간 데이터 통신의 정확성과 신속성을 보증하는 동시에 프로세서 전력 소비를 합리하게 절감하였다.

Claims (12)

  1. 복수개 프로세서 코어를 포함하고, 상기 복수개 프로세서 코어간 동기 통신을 진행하는 멀티 코어 프로세서에 있어서,
    상기 각 프로세서 코어는 주파수 변환 장치를 구비하고, 상기 주파수 변환 장치는 멀티플렉서를 포함하고, 상태 전환기, 주파수 변환 계수 레지스터, 멀티 입력 논리합 소자 및 클록 게이팅 회로 유닛을 더 포함하고,
    상기 상태 전환기는 복수개 주파수 변환 계수 데이터를 상기 멀티플렉서로 출력하는데 이용되고, 상기 상태 전환기의 출력 포트는 상기 멀티플렉서의 데이터 입력 포트에 연결되고,
    상기 주파수 변환 계수 레지스터는 해당 프로세서 코어의 현재 주파수 변환 계수 저장에 사용되고, 상기 주파수 변환 계수 레지스터의 출력 포트는 상기 멀티플렉서의 선택 입력 포트에 연결되고,
    상기 멀티 입력 논리합 소자는 상기 상태 전환기와 상기 주파수 변환 계수 레지스터에 따라 상기 멀티플렉서가 획득한 출력을 접수하고, 상기 복수개 프로세서 코어 중 상기 해당 프로세서 코어를 제외한 나머지 프로세서 코어들에서 상기 해당 프로세서 코어에 발송하는 데이터 유효 비트를 접수하고, 출력 상태를 유효로 변환하여 게이팅 시그널을 상기 클록 게이팅 회로 유닛에 발송하고,
    상기 클록 게이팅 회로 유닛은, 상기 해당 프로세서 코어의 코먼 원시 클록을 접수하여 클록 입력으로 하고, 상기 멀티 입력 논리합 소자가 출력한 게이팅 시그널을 접수하여 게이팅 인에이블 입력으로 하고, 상기 클록 게이팅 회로 유닛의 출력 클록은 상기 해당 프로세서 코어의 주파수 변환 후 클록인 것을 특징으로 하는 멀티 코어 프로세서.
  2. 제1항에 있어서,
    상기 상태 전환기는 멀티 비트 레지스터 및 상응하는 스테이지 전환 로직을 포함하고, 상기 멀티 비트 레지스터의 각 비트는 주파수 변환 계수에 각각 일대일 독립 대응되고, 상기 스테이지 전환 로직은 상응한 멀티 비트 레지스터의 값에 따라 회로 파형으로 전환하고, 상응한 유효 비트를 출력하고, 상응한 주파수 변환 계수를 확정하는것을 특징으로 하는 멀티 코어 프로세서.
  3. 제1항에 있어서,
    상기 클록 게이팅 회로 유닛은 1개의 더블 입력 논리곱 소자를 포함하는 것을 특징으로 하는 멀티 코어 프로세서.
  4. 제1항에 있어서,
    상기 클록 게이팅 회로 유닛은 클록 하강에지에서 샘플링을 수행하는 래치 또는 레지스터를 더 포함하는 것을 특징으로 하는 멀티 코어 프로세서.
  5. 멀티플렉서를 포함하는 프로세서 코어의 주파수 변환장치에 있어서,
    상태 전환기, 주파수 변환 계수 레지스터, 멀티 입력 논리합 소자 및 클록 게이팅 회로 유닛을 더 포함하고,
    상기 상태 전환기는 복수개 주파수 변환 계수 데이터를 상기 멀티플렉서로 출력하는데 이용되고, 상기 상태 전환기의 출력 포트는 상기 멀티플렉서의 데이터 입력 포트에 연결되고,
    상기 주파수 변환 계수 레지스터는 상기 프로세서 코어의 현재 주파수 변환 계수 저장에 사용되고, 상기 주파수 변환 계수 레지스터의 출력 포트는 상기 멀티플렉서의 선택 입력 포트에 연결되고,
    상기 멀티 입력 논리합 소자는 상기 상태 전환기와 상기 주파수 변환 계수 레지스터에 따라 상기 멀티플렉서가 획득한 출력을 접수하고, 상기 프로세서 코어의 외부에 존재하는 다른 프로세서 코어에서 상기 프로세서 코어에 발송하는 데이터 유효 비트를 접수하고, 출력 상태를 유효로 변환하여 게이팅 시그널을 상기 클록 게이팅 회로 유닛에 발송하고,
    상기 클록 게이팅 회로 유닛은, 상기 프로세서 코어의 코먼 원시 클록을 접수하여 클록 입력으로 하고, 상기 멀티 입력 논리합 소자가 출력한 게이팅 시그널을 접수하여 게이팅 인에이블 입력으로 하고, 상기 클록 게이팅 회로 유닛의 출력 클록은 상기 프로세서 코어의 주파수 변환 후 클록인 것을 특징으로 하는 주파수 변환 장치.
  6. 제5항에 있어서,
    상기 상태 전환기는 멀티 비트 레지스터 및 상응하는 스테이지 전환 로직을 포함하고, 상기 멀티 비트 레지스터의 각 비트는 주파수 변환 계수에 각각 일대일 독립 대응되고, 상기 스테이지 전환 로직은 상응한 멀티 비트 레지스터의 값에 따라 회로 파형으로 전환하고, 상응한 유효 비트를 출력하고, 상응한 주파수 변환 계수를 확정하는 것을 특징으로 하는 주파수 변환 장치.
  7. 제5항에 있어서,
    상기 클록 게이팅 회로 유닛은 1개 더블 입력인 논리곱 소자를 포함하는 것을 특징으로 하는 주파수 변환 장치.
  8. 제5항에 있어서,
    상기 클록 게이팅 회로 유닛은 클록 하강에지에서 샘플링을 수행하는 래치 또는 레지스터를 더 포함하는 것을 특징으로 하는 주파수 변환 장치.
  9. 멀티 코어 프로세서 중 프로세서 코어간 클록 동기화 데이터 통신 방법에 있어서,
    상기 멀티 코어 프로세서는 복수개 프로세서 코어를 포함하고, 상기 복수개 프로세서 코어 사이는 주파수 변환 장치를 이용하여 클록 동기화 데이터 통신을 실행하고, 상기 주파수 변환 장치는 상태 전환기, 멀티플렉서, 주파수 변환 계수 레지스터, 멀티 입력 논리합 소자 및 클록 게이팅 회로 유닛를 포함하고, 상기 데이터 통신 방법은
    제1 프로세서 코어가 제2 프로세서 코어에 데이터를 발송하고, 상기 데이터는 1개 비트의 데이터 유효 비트 및 멀티 비트의 데이터 내용을 포함하는 스텝A,
    제2 프로세서 코어의 상기 주파수 변환장치는 제1 프로세서 코어가 발송한 데이터 유효 비트를 접수하고, 제1 프로세서 코어가 발송한 데이터 유효 비트 시그널과 연결된 멀티 입력 논리합 소자의 출력 상태를 유효로 변환하여, 상기 유효 상태를 새로운 게이팅 시그널로 하여 상응한 클록 게이팅 회로 유닛에 송신하고, 상기 클록 게이팅 회로 유닛의 출력 클록은 주파수 변환 클록으로부터 코먼 원시 클록으로 변환하는 스텝B,
    상기 제2 프로세서 코어는 상기 코먼 원시 클록을 사용하고, 상기 제1 프로세서 코어가 발송한 데이터 내용에 대하여 샘플링을 진행하는 스텝C를 포함하는것을 특징으로 하는 멀티 코어 프로세서 중 프로세서 코어간 클록 동기화 데이터 통신 방법.
  10. 제9항에 있어서,
    상기 스텝A 실행 전에,
    상기 제1 프로세서 코어 및 상기 제2 프로세서 코어의 주파수 변환 장치의 주파수 변환 계수 레지스터의 값에 대한 리라이트(rewrite)를 거쳐, 상기 제1 프로세서 코어와 상기 제2 프로세서 코어가 각각 설정된 클록 주파수로 작동하는 스텝을 더 포함하는 것을 특징으로 하는 멀티 코어 프로세서 중 프로세서 코어간 클록 동기화 데이터 통신 방법.
  11. 제10항에 있어서,
    상기 클록 주파수는 프로세서의 코먼 원시 클록 주파수 또는 주파수 변환 후의 클록 주파수 인것을 특징으로 하는 멀티 코어 프로세서 중 프로세서 코어간 클록 동기화 데이터 통신 방법.
  12. 제9항에 있어서,
    상기 스텝C 실행 후,
    상기 제2 프로세서 코어는 상기 제1 프로세서 코어가 송신한 데이터를 접수한 후, 상기 제1 프로세서 코어의 데이터 발송 유효 비트는 무효로 되고,
    상기 제2 프로세서 코어의 주파수 변환 장치의 클록 게이팅 회로 유닛은 다시 주파수 변환 계수 레지스터에서 제어를 받는 스텝을 더 포함하는 것을 특징으로 하는 멀티 코어 프로세서 중 프로세서 코어간 클록 동기화 데이터 통신 방법.
KR1020107008692A 2007-09-28 2008-08-05 멀티 코어 프로세서, 그 주파수 변환 장치 및 코어간 통신 방법 KR101232344B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN200710175336.1 2007-09-28
CNB2007101753361A CN100476694C (zh) 2007-09-28 2007-09-28 一种多核处理器及其变频装置和核间通信方法
PCT/CN2008/001424 WO2009043225A1 (fr) 2007-09-28 2008-08-05 Processeur multicoeur, son convertisseur de fréquence, et procédé permettant de communiquer des données entre les coeurs

Publications (2)

Publication Number Publication Date
KR20100059994A KR20100059994A (ko) 2010-06-04
KR101232344B1 true KR101232344B1 (ko) 2013-02-13

Family

ID=39160047

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107008692A KR101232344B1 (ko) 2007-09-28 2008-08-05 멀티 코어 프로세서, 그 주파수 변환 장치 및 코어간 통신 방법

Country Status (7)

Country Link
US (1) US8392739B2 (ko)
EP (1) EP2194442B1 (ko)
JP (1) JP5166537B2 (ko)
KR (1) KR101232344B1 (ko)
CN (1) CN100476694C (ko)
CA (1) CA2704742C (ko)
WO (1) WO2009043225A1 (ko)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100476694C (zh) * 2007-09-28 2009-04-08 中国科学院计算技术研究所 一种多核处理器及其变频装置和核间通信方法
US8700943B2 (en) 2009-12-22 2014-04-15 Intel Corporation Controlling time stamp counter (TSC) offsets for mulitple cores and threads
CN101908034B (zh) * 2010-06-28 2012-05-23 中国科学院计算技术研究所 众核处理器片上同步方法和其系统
US8935511B2 (en) 2010-10-11 2015-01-13 International Business Machines Corporation Determining processor offsets to synchronize processor time values
US8631256B2 (en) * 2010-12-22 2014-01-14 Via Technologies, Inc. Distributed management of a shared power source to a multi-core microprocessor
US9460038B2 (en) 2010-12-22 2016-10-04 Via Technologies, Inc. Multi-core microprocessor internal bypass bus
US8972707B2 (en) 2010-12-22 2015-03-03 Via Technologies, Inc. Multi-core processor with core selectively disabled by kill instruction of system software and resettable only via external pin
CN102253708B (zh) * 2011-08-01 2013-12-04 北京科技大学 一种微处理器硬件多线程动态变频控制装置及其应用方法
US8415981B2 (en) * 2011-08-15 2013-04-09 Mediatek Singapore Pte. Ltd. Integrated circuit device, synchronisation module, electronic device and method therefor
CN103092570A (zh) * 2011-10-31 2013-05-08 佑华微电子股份有限公司 平行处理来自单一程序存储器的单芯片双核心微处理器架构
US9977482B2 (en) * 2011-12-21 2018-05-22 Intel Corporation Method and apparatus for setting an I/O bandwidth-based processor frequency floor
US8666331B2 (en) 2012-02-09 2014-03-04 Broadcom Corporation Cascading baseband processors
CN102841673B (zh) * 2012-07-17 2015-12-02 福州瑞芯微电子有限公司 一种静态变频cpu的频率自动稳定切换电路
US9471088B2 (en) * 2013-06-25 2016-10-18 Intel Corporation Restricting clock signal delivery in a processor
US9377836B2 (en) 2013-07-26 2016-06-28 Intel Corporation Restricting clock signal delivery based on activity in a processor
US9471132B2 (en) * 2013-09-27 2016-10-18 Intel Corporation Techniques for putting platform subsystems into a lower power state in parallel
US9552308B2 (en) 2013-09-30 2017-01-24 Intel Corporation Early wake-warn for clock gating control
US9317639B1 (en) * 2014-10-27 2016-04-19 Freescale Semiconductor, Inc. System for reducing power consumption of integrated circuit
CN105760342A (zh) * 2014-12-18 2016-07-13 联芯科技有限公司 多核处理器工作状态控制方法及装置
CN104933009A (zh) * 2015-04-29 2015-09-23 中国人民解放军国防科学技术大学 一种用于多核dsp间的片上通信方法及数据通信装置
US10120408B2 (en) 2015-09-30 2018-11-06 Texas Instruments Incorporated Event controlled clock switching
CN106681472B (zh) * 2016-10-20 2019-08-23 南方电网科学研究院有限责任公司 异构多核处理器功耗控制装置及其功耗控制方法
CN106774808B (zh) * 2016-12-22 2019-11-26 杭州朔天科技有限公司 一种异构多核芯片的多级低功耗管理单元及其方法
CN110199242B (zh) * 2017-02-24 2023-08-29 英特尔公司 基于使用参数配置处理器的基本时钟频率
CN107992391B (zh) * 2017-11-13 2021-03-02 瑞芯微电子股份有限公司 一种多核处理器变频的方法和装置
CN113497619B (zh) * 2020-04-03 2024-01-26 龙芯中科技术股份有限公司 触发器电路、控制电路及芯片
CN114756085A (zh) * 2020-08-25 2022-07-15 美商新思科技有限公司 用于现场可编程门阵列(fpga)综合的形式化门控时钟转换
CN112416055A (zh) * 2020-11-20 2021-02-26 海光信息技术股份有限公司 多核cpu的时钟管理方法、装置、电子设备及存储介质
KR20220145004A (ko) 2021-04-21 2022-10-28 삼성전자주식회사 클록 관리 회로 및 이를 포함하는 멀티-코어 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6963986B1 (en) * 2002-06-21 2005-11-08 Cypress Semiconductor Corp. Device enumeration current reduction

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56140459A (en) * 1980-04-04 1981-11-02 Hitachi Ltd Data processing system
JPH07141307A (ja) * 1993-11-12 1995-06-02 Fuji Electric Co Ltd マルチプロセッサシステムの同期化回路
US5841988A (en) * 1996-05-23 1998-11-24 Lsi Logic Corporation Interprocessor communications data transfer and error detection in a multiprocessing environment
US5794019A (en) * 1997-01-22 1998-08-11 International Business Machines Corp. Processor with free running clock with momentary synchronization to subsystem clock during data transfers
JP3906015B2 (ja) * 2000-07-12 2007-04-18 株式会社東芝 クロック周波数切り替え機能を有するlsi、計算機システム及びクロック周波数切り替え方法
JP2002269026A (ja) * 2001-03-09 2002-09-20 Matsushita Electric Ind Co Ltd マイクロコンピュータ装置
JP2003256073A (ja) * 2002-03-04 2003-09-10 Sony Corp 情報処理装置および方法、並びにプログラム
JP2004213571A (ja) * 2003-01-08 2004-07-29 Sony Corp クロック制御装置、マイクロプロセッサ、電子機器及びクロック制御方法、並びにクロック制御プログラム
CN100361040C (zh) * 2004-02-24 2008-01-09 中国科学院计算技术研究所 一种soc架构下的处理器核动态变频装置和方法
KR101199378B1 (ko) * 2005-12-30 2012-11-09 엘지전자 주식회사 다중코어를 구비한 시스템에 적용되는 서브시스템 간액세스 장치 및 방법
CN100476694C (zh) 2007-09-28 2009-04-08 中国科学院计算技术研究所 一种多核处理器及其变频装置和核间通信方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6963986B1 (en) * 2002-06-21 2005-11-08 Cypress Semiconductor Corp. Device enumeration current reduction

Also Published As

Publication number Publication date
EP2194442B1 (en) 2016-09-07
CA2704742C (en) 2014-01-21
CN101135929A (zh) 2008-03-05
US20100235672A1 (en) 2010-09-16
JP2011501836A (ja) 2011-01-13
CN100476694C (zh) 2009-04-08
JP5166537B2 (ja) 2013-03-21
KR20100059994A (ko) 2010-06-04
EP2194442A1 (en) 2010-06-09
EP2194442A4 (en) 2011-06-08
US8392739B2 (en) 2013-03-05
WO2009043225A1 (fr) 2009-04-09
CA2704742A1 (en) 2009-04-09

Similar Documents

Publication Publication Date Title
KR101232344B1 (ko) 멀티 코어 프로세서, 그 주파수 변환 장치 및 코어간 통신 방법
KR101442791B1 (ko) 통신 포트에 대한 가변 클록 게이팅 히스테리시스를 채용하는 장치 및 방법들
US6949950B2 (en) Logic circuit module having power consumption control interface and a recording medium storing the module
CN102012717A (zh) 一种时钟切换方法及时钟切换装置
CN101101504A (zh) 一种处理器及其降频装置和方法
CN113609032B (zh) 一种超低功耗的adc控制器结构
CN103970709A (zh) 一种fft协处理器与主处理器通信方法
CN114691317A (zh) 可重新配置的计算结构中的循环执行
KR20140103302A (ko) 조기 인터럽트 능력을 갖는 아날로그-디지털 변환기
CN113918497B (zh) 一种优化ahb总线数据传输性能的系统、方法及服务器
JP2009070389A (ja) 処理装置のためのコントローラ
CN112865650B (zh) 基于fpga的斩波周期可变的硬件电流环控制系统及方法
Wang et al. A Ethernet interface solution based on TCP/IP protocol
JP2004199115A (ja) 半導体集積回路
Xu et al. Design and implementation of mechatrolink-iii bus slave station based on sopc
CN115103032B (zh) 通信协议控制电路和芯片
JP2003177859A (ja) 操作キー入力制御装置
Essig et al. On-demand instantiation of co-processors on dynamically reconfigurable FPGAs
Zeng et al. The low power DSP platform design of underwater acoustic communication system
JP2002351818A (ja) バス制御システム
KR20060080380A (ko) 시스템 온 칩을 위한 ip 모듈
JP4434118B2 (ja) 電子機器
WO2012106875A1 (zh) 一种工作时钟切换方法、智能门控电路及系统
Zheng GPIB Communication Design of Programmable Instrument
Jipa Transforming synchronous standard socket designs to GALS designs [articol]

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160119

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170119

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180118

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190117

Year of fee payment: 7