(57)【要約】  マルチコアプロセッサ、それの周波数変換デバイスとコア同士間のデータ通信方法が開示されている。マルチコアプロセッサの各プロセッサコアは周波数変換デバイスを含み、このデバイスはマルチビット状態変更手段、多重セレクタ、周波数変換係数レジスタ、マルチ入力ORゲート、およびクロックゲーティングサーキットユニット（clock-gating circuit unit）を含んでいる。作用中の各プロセッサコアの周波数変換デバイスに共通オリジナルクロック周波数が送信される。周波数変換デバイスはリアルタイムで対応するプロセッサコアの周波数変換係数レジスタの値を読み取り、他のプロセッサコアからのデータ通信有効値を受信する。共通オリジナルのクロック周波数のゲーティングによって、プロセッサコアの周波数変換作用が完了する。本発明では、マルチコアプロセッサのダイナミックな周波数変換作用が達成され、周波数変換係数制御が各プロセッサコアにより別個に行われ、非常に効果的な同期通信がプロセッサコア同士間で維持され、プロセッサの全実行消費量を減少させて、マルチコアプロセッサの異なるプロセッサコアあるいはSOCの異なるＩＰモデュールの消費電力を節約できる。【選択図】    図１
2011501836.tif 000002
【特許請求の範囲】
【請求項１】
複数のプロセッサコアからなり、それら複数プロセッサコア同士間の同期データ通信が行われるマルチコアプロセッサであって、各プロセッサコアが周波数変換デバイスを含み、この周波数変換デバイスは状態変更手段、多重セレクタ、周波数変換係数レジスタ、マルチ入力ORゲート、およびクロックゲーティングサーキットユニット(clock-gating circuit unit)を備えるものにおいて、
前記の状態変更手段の出力が前記の多重セレクタのデータ入力につなげられ、
前記の周波数変換係数レジスタは、当該プロセッサコアの現在の周波数変換係数を記憶するようになされており、そしてその出力が前記の多重セレクタの選択入力につなげられ、
前記のマルチ入力ORゲートは、前記の多重セレクタの出力を受信するようになされており、他のプロセッサコアから当該プロセッサコアに送信されるデータの有効ビットを受信し、
前記のクロックゲーティングサーキットユニットは、クロック入力として前記のプロセッサコアの共通オリジナルクロックを受信し、ゲーティングイネーブル入力として前記のマルチ入力ORゲートの出力を受信して、オリジナルクロックを制御することを特徴とするマルチコアプロセッサ。
【請求項２】
前記の状態変更手段はマルチビットレジスタ及びこれに対応する状態変換論理を含み、そして、前記のマルチビットレジスタの各ビットが別個に且つ独立して１つの周波数変換係数と対応し、前記の状態変換論理が当該マルチビットレジスタの値に従って、電気信号波形を形成し、これに対応する有効ビットを出力して、対応する周波数変換係数を決定することを特徴とする請求項１に記載のマルチコアプロセッサ。
【請求項３】
前記のクロックゲーティングサーキットユニットは２入力ANDゲートを含むことを特徴とする請求項１に記載のマルチコアプロセッサ。
【請求項４】
前記のクロックゲーティングサーキットユニットがさらにクロックの降下エッジでのサンプリングを行うラッチまたはレジスタを含んでいることを特徴とする請求項１に記載のマルチコアプロセッサ。
【請求項５】
プロセッサコアの周波数変換デバイスが状態変更手段、多重セレクタ、周波数変換係数レジスタ、マルチ入力ORゲート、およびクロックゲーティングサーキットユニット(clock-gating circuit unit)を備えるものにおいて、
前記の状態変更手段の出力が前記の多重セレクタのデータ入力につなげられ、
前記の周波数変換係数レジスタは、当該プロセッサコアの現在の周波数変換係数を記憶するようになされ、そして、その出力が前記の多重セレクタの選択入力につなげられ、
前記のマルチ入力ORゲートは、前記の多重セレクタの出力を受信し、他のプロセッサコアから当該プロセッサコアに送信されるデータの有効ビットを受信し、
前記のクロックゲーティングサーキットユニットは、クロック入力として前記のプロセッサコアの共通オリジナルクロックを受信し、ゲーティングイネーブル入力として前記のマルチ入力ORゲートの出力を受信して、共通オリジナルクロックを制御することを特徴とするプロセッサコアの周波数変換装置。
【請求項６】
前記の状態変更手段がマルチビットレジスタ及びこれに対応する状態変換論理を含み、前記のマルチビットレジスタの各ビットが別個に且つ独立して１つの周波数変換係数と対応し、前記の状態変換論理が当該マルチビットレジスタの値に従って、電気信号波形を形成し、これに対応する有効ビットを出力して、対応する周波数変換係数を決定することを特徴とする請求項５に記載の周波数変換装置。
【請求項７】
前記のクロックゲーティングサーキットユニットは２入力ANDゲートを含むことを特徴とする請求項５に記載の周波数変換装置。
【請求項８】
前記のクロックゲーティングサーキットユニットはさらにクロックの降下エッジでのサンプリングを行うラッチまたはレジスタを含んでいることを特徴とする請求項５に記載の周波数変換装置。
【請求項９】
複数のプロセッサコアをからなるマルチコアプロセッサで、それらのプロセッサコア同士間でクロック同期データ通信が周波数変換デバイスを利用して行われる通信方法であって、上記の周波数変換デバイスは状態変更手段、多重セレクタ、周波数変換係数レジスタ、マルチ入力ORゲート、およびクロックゲーティングサーキットユニット（clock-gating circuit unit）を含んでおり、上記方法が以下の工程、
工程Ａ：この工程では、第１プロセッサコアが第2プロセッサコアにデータを送信し、このデータが１ビットのデータ有効ビットおよび複数ビットのデータ内容を含み、
工程Ｂ：この工程では、上記の第2プロセッサコアの前記周波数変換デバイスが第１プロセッサコアから送信されたデータ有効ビットを受信し、それと連携するマルチ入力ORゲートの出力状態を有効状態に変更し、この有効状態を新しいゲーティング信号としてそのクロックゲーティングサーキットユニットに送信し、その出力クロックは周波数変換クロックから共通オリジナルクロックに変わり、
工程Ｃ：この工程では、上記第2プロセッサコアは前記共通オリジナルクロックを使用して、第１プロセッサコアから送信されたデータ内容をサンプリングする
ことからなることを特徴とするデータ通信方法。
【請求項１０】
前記の工程Ａの前にさらに以下の工程：
第１プロセッサコアおよび第２のプロセッサコアの周波数変換デバイス内の周波数変換係数レジスタの値を書き直して、第１プロセッサコアと第２のプロセッサコアがそれぞれ設定したクロック周波数で作用させる
ことを特徴とする請求項９に記載のデータ通信方法。
【請求項１１】
前記のクロック周波数はプロセッサの共通オリジナルクロック周波数か、または周波数変換されたクロック周波数であることを特徴とする請求項１０に記載のデータ通信方法。
【請求項１２】
前記の工程Ｃの後にさらに以下の工程：
第２プロセッサコアが第１プロセッサコアから送信されたデータを完全に受信した後、第１プロセッサコアのデータ通信有効ビットを無効ビットにし、第２プロセッサコアの周波数変換デバイス内のクロックゲーティングサーキットユニットを再び周波数変換係数レジスタによって制御することを特徴とする請求項９に記載のデータ通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチコアプロセッサの技術分野に関し、より詳細にはマルチコアプロセッサ、その周波数変換装置およびコア同士間のデータ通信方法に関する
【背景技術】
【０００２】
プロセッサチップの設計では、電気消費量がプロセッサの性能に続くもう１つの重要な技術指針になっている。少ない電気消費量のプロセッサの設計は、汎用プロセッサの分野であるか組み込みプロセッサの分野であるかにかかわらず需要が大きく、広範囲で利用されている。
【０００３】
プロセッサの電気消費量がプロセッサのクロック周波数と正比例するため、プロセッサ実行中、実行プログラムの要求に従って動的にプロセッサのクロック周波数を変更することはプロセッサの電気消費量を減少させるための有効な措置となっている。
【０００４】
マルチコアプロセッサはプロセッサの開発での重要な趨勢となっている、したがって、マルチコアプロセッサ内で、各プロセッサコアは、負荷と、異なる要求とによってリアルタイムでクロック周波数を調整し、有効に電気消費量を減少できる。
【０００５】
従来技術では、１つの状況では、マルチコアプロセッサのすべてのプロセッサコアが同じクロック周波数を使用するため、クロック周波数を調整するときすべてのプロセッサコアを一括して調整しなければならない。 しかし、この方法では、全体のプロセッサの電気消費量が限られた程度にしか減少できない。
【０００６】
もう一つの状況では、各プロセッサコアが異なるクロックを使用するので、各プロセッサコアがその状態に応じて動的にクロック周波数を調整し、その結果、プロセッサの電気消費量がより良く節約される。しかし、それぞれのプロセッサコアが異なるクロック周波数を使用するため、プロセッサコア同士間のデータ通信が非同期クロックデータ通信でしかなく、これは、プロセッサコア同士間のデータ交換とデータ通信の効率に影響し、プロセッサの全体性能を低下させる。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来技術の上述した欠点を解決するため、本発明はマルチコアプロセッサと、その周波数変換デバイスおよびプロセッサコア同士間のデータ通信方法を提供し、この方法はマルチコアプロセッサでのクロック周波数のダイナミックな減少を支持し、かつプロセッサコア同士間でのクロック同期データ通信を維持する。
【課題を解決するための手段】
【０００８】
本発明の上記目的を達成するため、複数のプロセッサコアからなるマルチコアプロセッサが提供され、それら複数のコア同士間のデータ通信が同期して行われる。各プロセッサコアは周波数変換デバイスを含み、この周波数変換デバイスは状態変更手段、多重セレクタ、周波数変換係数レジスタ、マルチ入力ORゲート、およびクロックゲーティングサーキットユニット（clock-gating circuit unit）を備えるものにおいて、
前記の状態変更手段の出力は前記の多重セレクタのデータ入力につなげられ、
前記の周波数変換係数レジスタは、該プロセッサコアの現在の周波数変換係数を記憶するようになされており、その出力は前記の多重セレクタの選択入力につなげられており、
前記のマルチ入力ORゲートは、これへの入力のひとつとして多重セレクタの出力を受信し、入力として他のプロセッサコアから当該プロセッサコアに送信されるデータの有効ビットを受信し、
前記のクロックゲーティングサーキットユニットは、クロック入力としてプロセッサコアの共通オリジナルクロックを受信し、ゲーティングイネーブル入力としてマルチ入力ORゲートの出力を受信して、オリジナルクロックを制御する。
【０００９】
前記の状態変更手段はマルチビットレジスタ及びこれに対応する状態変換論理を含み、前記のマルチビットレジスタの各ビットが別個に且つ独立して１つの周波数変換係数と対応しており、前記の状態変換論理が当該マルチビットレジスタの対応する値に従って電気信号波形を形成し、これに対応する有効ビットを出力して、対応する周波数変換係数を決定する。
【００１０】
前記のクロックゲーティングサーキットユニットは２入力ANDゲートを含む。
【００１１】
前記のクロックゲーティングサーキットユニットはさらにクロック周波数の降下(falling)エッジでのサンプリングを行うラッチまたはレジスタを含んでいる。
【００１２】
本発明の目的を達成するために、プロセッサコアに含まれる周波数変換デバイスが、更に、設けられている。この周波数変換デバイスは状態変更手段、多重セレクタ、周波数変換係数レジスタ、マルチ入力ORゲート、およびクロックゲーティングサーキットユニット（clock-gating circuit unit）を備えており、
前記の状態変更手段の出力が前記の多重セレクタのデータ入力につなげられ、
前記の周波数変換係数レジスタは、該プロセッサコアの現在の周波数変換係数を記憶するようになされており、そしてその出力が前記の多重セレクタの選択入力につなげられ、
前記のマルチ入力ORゲートは、これへの入力のひとつとして多重セレクタの出力を受信し、入力として他のプロセッサコアから当該プロセッサコアに送信される受信データの有効ビットを受信し、
前記のクロックゲーティングサーキットユニットは、クロック入力としてプロセッサコアの共通オリジナルクロックを受信して、ゲーティングイネーブル入力としてマルチ入力ORゲートの出力を受信し、オリジナルクロックを制御する。
【００１３】
前記の状態変更手段はマルチビットレジスタと、これに対応する状態変換論理とを含み、そして、前記のマルチレジスタの各ビッが別個に且つ独立して１つの周波数変換係数と対応し、前記の状態変換論理が、マルチビットレジスタの対応する値に従って電気信号波形を形成し、これに対応する有効ビットを出力して、対応する周波数変換係数を決定する。
【００１４】
前記のクロックゲーティングサーキットユニットは２入力ANDゲートを含む。
【００１５】
前記のクロックゲーティングサーキットユニットはさらにクロック降下エッジでのサンプリングを行うラッチまたはレジスタを含んでいる。
【００１６】
本発明の目的を達成するため、さらに、マルチコアプロセッサのコア同士間のクロック同期データ通信方法が提供されている。マルチコアプロセッサは複数のプロセッサコアからなり、これら複数のプロセッサコア同士間では、周波数変換デバイスを利用してクロック周波数同期データ通信が行われる。前記の周波数変換デバイスは、状態変更手段、多重セレクタ、周波数変換係数レジスタ、マルチ入力ORゲート、およびクロックゲーティングサーキットユニット(clock-gating circuit unit)を含んでいる。上記方法は以下の工程からなる：
工程Ａ：  第１プロセッサコアが第２プロセッサコアにデータを送信し、このデータが１ビットのデータ有効ビットおよび複数ビットのデータ内容を含み、
工程Ｂ：  第２プロセッサコアの周波数変換デバイスは、第１プロセッサコアから送信されたデータ有効ビットを受信し、それと連携されているマルチ入力ORゲートの出力状態を有効状態に変更し、この有効状態を新しいゲーティング信号としてそのクロックゲーティングサーキットユニットに送信し、ここではクロックゲーティングが周波数変換係数制御器により影響されずに、その出力クロックが周波数変換クロックから共通のオリジナルクロックに変わる。
工程Ｃ：  第２のプロセッサコアは変更により生じた新たなクロックを使用する、即ち回復された共通オリジナルクロックを使用して、第１プロセッサコアから送信されたデータ内容をサンプリングし、このデータが第２プロセッサコアで決められた時間内で正しくサンプリングされ、よってデータの同期通信の正確性を保証する。
【００１７】
前記の工程Ａの前にさらに以下の工程を行う：
第１プロセッサコアと第２プロセッサコアが各々特定のクロック周波数で作用するよう、第１プロセッサコアおよび第2のプロセッサコアの周波数変換デバイス内の周波数変換係数レジスタの値を書き直すことにおいて、
前記のクロック周波数はプロセッサの共通オリジナルクロック周波数か、または周波数変換したクロック周波数である。
【００１８】
前記の工程Ｃの後にさらに以下の工程を行う。
第２プロセッサコアが第１プロセッサコアから送信されたデータを完全に受信した後、第１プロセッサコアのデータ通信有効ビットを無効ビット、即ち０にし、第２プロセッサコアの周波数変換デバイス内のクロックゲーティングサーキットを再び周波数変換係数レジスタにより制御し、その結果第２のプロセッサコアのクロックは以前の周波数変換クロックに戻って、作用する。
【図面の簡単な説明】
【００１９】
【図１】本発明によるマルチコアプロセッサの実施例での各プロセッサコアの周波数変換デバイスの構造の略図である。
【図２】本発明によるマルチコアプロセッサの実施例での相互通信の必要がある二つのプロセッサコアの周波数変換デバイスの接続関係を示す略図である。
【図３】本発明によるマルチコアプロセッサのコア同士間のクロック同期データ通信の実施例において、異なるクロック周波数で２つのプロセッサコアが相互通信をしているワーク・フロー・チャートである。
【図４】本発明によるマルチコアプロセッサのプロセッサコア同士間のクロック同期データ通信方法の実施例で、異なる周波数変換係数に対する周波数変換デバイスのクロック出力波形の略図である。
【図５】本発明によるマルチコアプロセッサのプロセッサコア同士間のクロック同期データ通信方法の実施例での、プロセッサコアＸと通信するプロセッサコアＹのクロック出力波形の略図である。
【発明を実施するための形態】
【００２０】
本発明の目的、技術の解決策、および本発明の利点をより明確で明白にするため、添付図面を参照して、実施例により、本発明によるプロセッサ、その周波数変換デバイスおよび方法について以下に更に詳細に説明する。ここで説明する実施例は、本発明を解釈するためのものであって、本発明の範囲を限定するため使用するものではないものと理解されるべきである。
【００２１】
本発明によるマルチコアプロセッサの周波数変換デバイスと方法は、プロセッサの当初生じたクロックを制御することによって、各プロセッサコアをオリジナル・クロックより低いクロック周波数で作用させる。
【００２２】
以上の目的を達成するため、本発明は、図１に示されている周波数変換デバイス(１)を備えたマルチコアプロセッサを提供する、この周波数変換デバイスは状態変更手段(11)、多重セレクタ(12)、周波数変換係数レジスタ(13)、マルチ入力ORゲート(14)、およびクロックゲーティングサーキットユニット(clock-gating circuit unit)(15)を含むものにおいて、
前記の状態変更手段(11)はマルチビットレジスタ及びこれに対応する状態変換論理を含み、マルチビットレジスタの各ビットが別個に且つ独立して１つの周波数変換係数と対応しており、上記の状態変更手段(11)の出力が多重セレクタ(12)のデータ入力に連結され、
前記の状態変換論理が当該マルチビットレジスタの値に従って、電気信号波形を形成し、これに対応する有効ビットを出力して、これに対応する周波数変換係数を決定し、
前記の周波数変換係数レジスタ(13)は、プロセッサコアの現在の周波数変換係数を記憶するようになされており、そしてその出力が多重セレクタ(12)の選択入力につなげられ、
即ち、多重セレクタ(12)のデータ入力を周波数変換デバイスの状態変更手段(11)の出力につなげ、そして、その選択入力を周波数変換係数レジスタ(13)の出力につなげ、
マルチ入力ORゲート(14)は、それへの入力のひとつとして多重セレクタ(12)の出力を受信すると共に、他のプロセッサコアから当該プロセッサコアに送信される受信データの有効ビットをそれへの入力として、図２に示されているように受信し、
前記のクロックゲーティングサーキットユニット(15)は、クロック入力としてプロセッサコアの共通オリジナルクロックを受信すると共に、ゲーティングイネーブル入力としてマルチ入力ORゲート(14)の出力を受信し、オリジナルクロックを制御する。
【００２３】
クロックゲーティングサーキットユニット(15)はクロックの降下エッジでのサンプリングを行うラッチ(151)(またはレジスタ)および２入力ANDゲート(152)を含む。前記のユニット(15)は、クロック周波数入力としてプロセッサコアの共通オリジナルクロック周波数を受信すると共に、ゲーティングイネーブル入力として多重セレクタ(12)の出力を受信し、オリジナルクロック周波数を制御し、そして、前記のユニットの出力は周波数変換後のクロックである
【００２４】
前記のクロックゲーティングサーキットユニット(15)はネガティブ(立下がり)エッジラッチ(151)および２入力ANDゲート(152)を含むのが好ましい。
【００２５】
前記のクロックゲーティングサーキットユニット(15)はＩＣデザインの分野のクロックゲーティングサーキットであり、それにおけるネガティブエッジラッチの作用はゲーティング信号が直接その後のANDゲートに送信されることを避け、クロックスパイクを発生させる可能性を防ぐことである。
【００２６】
プロセッサの周波数変換デバイス1は、作用中、そのクロック出力を制御して、周波数変換係数レジスタ13からの値に基づいて、他のプロセッサコアから当該プロセッサコアに送信されるデータ要請の信号有効値を受信することによって、オリジナルのクロックの変換とデータ同期化等の作用を完了する。
【００２７】
前記のプロセッサは、マルチコアプロセッサかチップ上のシステム(System on a Chip，SOC)である。
【００２８】
本発明はさらにマルチコアプロセッサ内でのコア同士間のクロック同期データ通信方法を提供する。
【００２９】
本発明の実施例では、マルチコアプロセッサの２つのプロセッサコアＸ、Ｙを例として挙げて、本発明によるプロセッサコア同士間のクロック同期データ通信方法を説明したが、本発明のプロセッサコア同士間のクロック同期データ通信方法は２つ以上のプロセッサコアがある場合にも適用できる。
【００３０】
図４、図５を参照しながら、図３には、本発明による、異なるクロック周波数のプロセッサコア同士間の通信方法が詳細に記載されている。この方法は以下の工程を含む。
工程Ｓ100：  例として、プロセッサコアＹにこれからデータを送信しようとしているプロセッサコアＸを挙げ、これにおいては、まず、プロセッサコアＸとＹとがそれぞれのクロック周波数で作用し、
前記のクロック周波数はオリジナルのクロック周波数でもいいし、周波数変換後のクロック周波数でもよい、そして、周波数変換後のクロック周波数は周波数変換係数レジスタ(13)の値によって制御される。
【００３１】
本発明の実施例では、実施できる方法として、周波数変換デバイスの中の周波数変換係数レジスタ(13)は９つの周波数変換係数を指示でき、それぞれ、周波数変換クロックがオリジナルのクロックの０/８倍速度（即ち、０クロック）、１/８倍速度、２/８倍速度、３/８倍速度、４/８倍速度、５/８倍速度、６/８倍速度、７/８倍速度、８/８倍速度(即ち、オリジナルのクロック周波数のまま、周波数変換しない)で作用することを示す。図４は異なる周波数変換係数に対応するクロック出力波形図。図４に示されているように、ｉ/８（ｉ＝０，１，２，３，４，５，６，７，８）の周波数変換係数では、それぞれ８回のオリジナルクロック毎の周期中、新しい周波数変換クロックがi個のクロックの立ち上がりエッジだけを出力する。これはクロック周波数がオリジナルのクロック周波数のｉ／８倍になることを意味する。プロセッサの電気消費量がプロセッサのクロック周波数と単純正比例するので、プロセッサの電気消費量も同様にもとのｉ／８倍になる。
【００３２】
本発明の実施例では、プロセッサの共通オリジナルクロック周波数が(ｆ)であれば、プロセッサコアＸが(６／８)＊ｆのクロック周波数で作用し、プロセッサコアＹが(２／８)＊ｆのクロック周波数で作用し、ＸとＹのクロック波形は図5の第１段階に示されている。
【００３３】
工程Ｓ200：プロセッサコアＸがプロセッサコアＹにひとつのデータを送信し、このデータが１ビットのデータ有効ビットおよび複数ビットのデータ内容を含む。
【００３４】
工程Ｓ300：プロセッサコアＹの周波数変換デバイスは、まずプロセッサコアＸから送ってきたデータ有効ビットを受信する。
【００３５】
工程Ｓ400：データ有効ビットに従って、周波数変換デバイスが、これにつなげられたマルチ入力ORゲート(14)の出力状態を１、即ち有効出力状態に変更する。
【００３６】
工程Ｓ500：マルチ入力ORゲート(14)の出力を新しいゲーティング信号としてクロックゲーティングサーキットに送信する。ここではロックゲーティングは周波数変換係数により影響されずに、その出力クロック周波数がもとの共通オリジナルクロック周波数に変わる。Ｙのこの時のクロック周波数は図５の第２段階に示されている。
【００３７】
工程Ｓ600：プロセッサコアYは前記の変更により生じた新たなクロックを使用して、プロセッサコアＸから送信されたデータ内容をサンプリングし、データがプロセッサコアYに所定時間内で正しくサンプリングされ、プロセッサコアＹの受信レジスタ(21)に送られ、よって同期データ通信の正確性を保証する。
【００３８】
工程Ｓ700：プロセッサコアＹがプロセッサコアＸから送信されたデータを完全に受信した後、Ｘのデータ送信有効ビットが無効ビット、即ち０になる。プロセッサコアＹの周波数変換デバイスのクロックゲーティングは再び周波数変換係数レジスタ(13)によって制御され、この結果プロセッサコアＹのクロック周波数は再び以前の周波数変換クロックに戻り、これで作用する。この時Yのクロック周波数波形は図５の第三段階に示されている。
【００３９】
図５に示されているように、クロック周波数が(６／８)＊ｆのプロセッサコアＸはクロック周波数が(２／８)*ｆのプロセッサコアYに、連続３回データを送るため、全てのデータ有効ビットは３回の連続クロック周期では１になる。Ｘがデータ有効信号を送った後の３回のクロック周期では、プロセッサコアＹの次のクロックも自動的に低い周波数の(２／８)＊ｆからビート(拍動)ごとに連続的に有効なクロック周波数に自動的に立ち上がり、プロセッサコアＸから送信されたデータがプロセッサコアＹで所定時間内でサンプリングされ、データ通信方法の性能と正確性は周波数変換に確実に影響されない。
【００４０】
本発明によるマルチコアプロセッサの周波数変換デバイスおよびその方法は、従来技術に存在する、マルチコアプロセッサのクロック周波数変換の欠点を克服できるし、かつ簡単に使用できるので、プロセッサは作用負荷状態に応じてダイナミックに各プロセッサコアの作用周波数を制御でき、他方、プロセッサコア同士間での非常に高い効率のデータ通信を保証し、マルチコアプロセッサの電気消費量を減少すると共に性能を確実にする効果を達成する。さらに、本発明によるマルチコアプロセッサの周波数変換デバイスは簡単に実施できるし、クロックの周波数変換制御が通常のデジタル論理回路を使用するだけで達成できるので、使いやすい。
【００４１】
添付図面に関連する、本発明の実施例の上記詳細な説明は、本発明のその他の面および特徴は当業者には自明である。
【００４２】
本発明の以上の実施例を上記に記載し、図示したが、これらの実施例は単なる例であって、本発明を限定するため使用するべきものではない。本発明は添付特許請求の範囲に従って解釈すべきものである。
【産業上の利用可能性】
【００４３】
本発明によるマルチコアプロセッサ、その周波数変換デバイスおよびマルチコアプロセッサの複数プロセッサコア同士間のデータ通信方法は、ダイナミックにマルチコアプロセッサのクロック周波数変換が達成でき、プロセッサの各プロセッサコアが異なる周波数変換係数の設定にしたがって、異なるクロック周波数で作用できる。さらにプロセッサコア同士間のデータ通信中、同期してデータが確実にサンプリングできるので、特定の非同期クロックデータ通信論理が不要であり、したがって、マルチコアプロセッサのプロセッサコア同士間のデータ通信の正確性と迅速性が保証されるだけでなくプロセッサの電気消費量をかなり減少させる。
【図１】
2011501836.tif 000003
【図２】
2011501836.tif 000004
【図３】
2011501836.tif 000005
【図４】
2011501836.tif 000006
【図５】
2011501836.tif 000007
【手続補正書】
【提出日】平成21年1月16日(2009.1.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のプロセッサコアからなり、それら複数プロセッサコア同士間の同期データ通信が行われるマルチコアプロセッサであって、各プロセッサコアが周波数変換デバイスを含み、この周波数変換デバイスは多重セレクタと、更に、状態変更手段、周波数変換係数レジスタ、マルチ入力ORゲート、およびクロックゲーティングサーキットユニット(clock-gating circuit unit)を備えるものにおいて、
前記の状態変更手段は前記の多重セレクタに複数の周指数変換係数のデータを出力するようになされ、上記の状態変更手段の出力は多重セレクタのデータ入力に連結されており、
前記の周波数変換係数レジスタは、当該プロセッサコアの現在の周波数変換係数を記憶するようになされており、そしてその出力が前記の多重セレクタの選択入力につなげられ、
前記のマルチ入力ORゲートは、上記の状態変更手段と周波数変更係数とに従って多重セレクタにより得られた出力を受信するとともに、他のプロセッサコアから当該プロセッサコアに送信されるデータの有効ビットを受信し、そして、その出力状態を有効状態に変更し、ゲイティング信号をクロックゲーティングサーキットユニットに送信するようになされ、
前記のクロックゲーティングサーキットユニットは、クロック入力として前記のプロセッサコアの共通オリジナルクロックを受信し、ゲーティングイネーブル入力として前記のマルチ入力ORゲートにより得られたゲーティング信号出力を受信するようになされ、上記の出力クロックは共通オリジナルクロックであることを特徴とするマルチコアプロセッサ。
【請求項２】
前記の状態変更手段はマルチビットレジスタ及びこれに対応する状態変換論理を含み、そして、前記のマルチビットレジスタの各ビットが別個に且つ独立して１つの周波数変換係数と対応し、前記の状態変換論理が当該マルチビットレジスタの値に従って、電気信号波形を形成し、これに対応する有効ビットを出力して、対応する周波数変換係数を決定することを特徴とする請求項１に記載のマルチコアプロセッサ。
【請求項３】
前記のクロックゲーティングサーキットユニットは２入力ANDゲートを含むことを特徴とする請求項１に記載のマルチコアプロセッサ。
【請求項４】
前記のクロックゲーティングサーキットユニットがさらにクロックの降下エッジでのサンプリングを行うラッチまたはレジスタを含んでいることを特徴とする請求項１に記載のマルチコアプロセッサ。
【請求項５】
プロセッサコアの周波数変換デバイスが多重セレクタ、更に状態変更手段、周波数変換係数レジスタ、マルチ入力ORゲート、およびクロックゲーティングサーキットユニット(clock-gating circuit unit)を備えるものにおいて、
前記の状態変更手段の出力が前記の多重セレクタに複数の周波数変換係数のデータを出力するようになされ、上記の状態変更手段の出力は多重セレクタのデータ入力に連結されており、
前記の周波数変換係数レジスタは、当該プロセッサコアの現在の周波数変換係数を記憶するようになされ、そして、その出力が前記の多重セレクタの選択入力につなげられ、
前記のマルチ入力ORゲートは、上記の状態変更手段と周波数変換係数とに従って多重セレクタにより得られた出力を受信するとともに、他のプロセッサコアから当該プロセッサコアに送信されるデータの有効ビットを受信し、そしてその出力状態を有効状態に変更し、ゲイティング信号をクロックゲーティングサーキットユニットに送信するようになされ、
前記のクロックゲーティングサーキットユニットは、クロック入力として前記のプロセッサコアの共通オリジナルクロックを受信し、ゲーティングイネーブル入力として前記のマルチ入力ORゲートによるゲーティング信号出力を受信するようになされ、上記の出力クロックは共通オリジナルクロックを制御することを特徴とするプロセッサコアの周波数変換装置。
【請求項６】
前記の状態変更手段がマルチビットレジスタ及びこれに対応する状態変換論理を含み、前記のマルチビットレジスタの各ビットが別個に且つ独立して１つの周波数変換係数と対応し、前記の状態変換論理が当該マルチビットレジスタの値に従って、電気信号波形を形成し、これに対応する有効ビットを出力して、対応する周波数変換係数を決定することを特徴とする請求項５に記載の周波数変換装置。
【請求項７】
前記のクロックゲーティングサーキットユニットは２入力ANDゲートを含むことを特徴とする請求項５に記載の周波数変換装置。
【請求項８】
前記のクロックゲーティングサーキットユニットはさらにクロックの降下エッジでのサンプリングを行うラッチまたはレジスタを含んでいることを特徴とする請求項５に記載の周波数変換装置。
【請求項９】
複数のプロセッサコアをからなるマルチコアプロセッサで、それらのプロセッサコア同士間でクロック同期データ通信が周波数変換デバイスを利用して行われる通信方法であって、上記の周波数変換デバイスは状態変更手段、多重セレクタ、周波数変換係数レジスタ、マルチ入力ORゲート、およびクロックゲーティングサーキットユニット（clock-gating circuit unit）を含んでおり、上記方法が以下の工程、
工程Ａ：この工程では、第１プロセッサコアが第2プロセッサコアにデータを送信し、このデータが１ビットのデータ有効ビットおよび複数ビットのデータ内容を含み、
工程Ｂ：この工程では、上記の第2プロセッサコアの前記周波数変換デバイスが第１プロセッサコアから送信されたデータ有効ビットを受信し、それと連携するマルチ入力ORゲートの出力状態を有効状態に変更し、この有効状態を新しいゲーティング信号としてそのクロックゲーティングサーキットユニットに送信し、その出力クロックは周波数変換クロックから共通オリジナルクロックに変わり、
工程Ｃ：この工程では、上記第2プロセッサコアは前記共通オリジナルクロックを使用して、第１プロセッサコアから送信されたデータ内容をサンプリングする
ことからなることを特徴とするデータ通信方法。
【請求項１０】
前記の工程Ａの前にさらに以下の工程：
第１プロセッサコアおよび第２のプロセッサコアの周波数変換デバイス内の周波数変換係数レジスタの値を書き直して、第１プロセッサコアと第２のプロセッサコアがそれぞれ設定したクロック周波数で作用させる
ことを特徴とする請求項９に記載のデータ通信方法。
【請求項１１】
前記のクロック周波数はプロセッサの共通オリジナルクロック周波数か、または周波数変換されたクロック周波数であることを特徴とする請求項１０に記載のデータ通信方法。
【請求項１２】
前記の工程Ｃの後にさらに以下の工程：
第２プロセッサコアが第１プロセッサコアから送信されたデータを完全に受信した後、第１プロセッサコアのデータ通信有効ビットを無効ビットにし、第２プロセッサコアの周波数変換デバイス内のクロックゲーティングサーキットユニットを再び周波数変換係数レジスタによって制御することを特徴とする請求項９に記載のデータ通信方法。
【手続補正書】
【提出日】平成21年4月28日(2009.4.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のプロセッサコアからなり、それら複数プロセッサコア同士間の同期データ通信が行われるマルチコアプロセッサであって、各プロセッサコアが周波数変換デバイスを含み、この周波数変換デバイスは多重セレクタと、更に、状態変更手段、周波数変換係数レジスタ、マルチ入力ORゲート、およびクロックゲーティングサーキットユニット(clock-gating circuit unit)を備えるものにおいて、
前記の状態変更手段は前記の多重セレクタに複数の周波数変換係数のデータを出力するようになされ、上記の状態変更手段の出力が前記の多重セレクタのデータ入力に連結されており、
前記の周波数変換係数レジスタは、当該プロセッサコアの現在の周波数変換係数を記憶するようになされており、そしてその出力が前記の多重セレクタの選択入力につなげられ、
前記のマルチ入力ORゲートは、上記の状態変更手段と周波数変換係数とに従って多重セレクタによって得られる出力を受信すると共に、他のプロセッサコアから当該プロセッサコアに送信されるデータの有効ビットを受信し、そしてその出力状態を有効状態に変更し、ゲイティング信号をクロックゲーティングサーキットユニットに送信するようになされ、
前記のクロックゲーティングサーキットユニットは、クロック入力として前記のプロセッサコアの共通オリジナルクロックを受信し、ゲーティングイネーブル入力として前記のマルチ入力ORゲートにより得られたゲーティング信号出力を受信するようになされ、上記の出力クロツクは共通オリジナルクロックであることを特徴とするマルチコアプロセッサ。
【請求項２】
前記の状態変更手段はマルチビットレジスタ及びこれに対応する状態変換論理を含み、そして、前記のマルチビットレジスタの各ビットが別個に且つ独立して１つの周波数変換係数と対応し、前記の状態変換論理が当該マルチビットレジスタの値に従って、電気信号波形を形成し、これに対応する有効ビットを出力して、対応する周波数変換係数を決定することを特徴とする請求項１に記載のマルチコアプロセッサ。
【請求項３】
前記のクロックゲーティングサーキットユニットは２入力ANDゲートを含むことを特徴とする請求項１に記載のマルチコアプロセッサ。
【請求項４】
前記のクロックゲーティングサーキットユニットがさらにクロックの降下エッジでのサンプリングを行うラッチまたはレジスタを含んでいることを特徴とする請求項１に記載のマルチコアプロセッサ。
【請求項５】
プロセッサコアの周波数変換デバイスが多重セレクタと、更に、状態変更手段、周波数変換係数レジスタ、マルチ入力ORゲート、およびクロックゲーティングサーキットユニット(clock-gating circuit unit)を備えるものにおいて、
前記の状態変更手段は前期の多重セレクタに複数の周波数変換係数のデータを出力するようになされ、上記の状態変更手段の出力が前記の多重セレクタのデータ入力に連結されており、
前記の周波数変換係数レジスタは、当該プロセッサコアの現在の周波数変換係数を記憶するようになされ、そして、その出力が前記の多重セレクタの選択入力につなげられ、
前記のマルチ入力ORゲートは、上記の状態変更手段と周波数変換係数とに従って多重セレクタにより得られる出力を受信すると共に、他のプロセッサコアから当該プロセッサコアに送信されるデータの有効ビットを受信するようになされ、そしてその出力状態を有効状態に変更し、ゲーティング信号をクロックゲーティングサーキットユニットに送信し、
前記のクロックゲーティングサーキットユニットは、クロック入力として前記のプロセッサコアの共通オリジナルクロックを受信し、ゲーティングイネーブル入力として前記のマルチ入力ORゲートにより得られたゲーティング信号出力を受信するようになされ、上記の出力クロックは共通オリジナルクロックであることを特徴とするプロセッサコアの周波数変換装置。
【請求項６】
前記の状態変更手段がマルチビットレジスタ及びこれに対応する状態変換論理を含み、前記のマルチビットレジスタの各ビットが別個に且つ独立して１つの周波数変換係数と対応し、前記の状態変換論理が当該マルチビットレジスタの値に従って、電気信号波形を形成し、これに対応する有効ビットを出力して、対応する周波数変換係数を決定することを特徴とする請求項５に記載の周波数変換装置。
【請求項７】
前記のクロックゲーティングサーキットユニットは２入力ANDゲートを含むことを特徴とする請求項５に記載の周波数変換装置。
【請求項８】
前記のクロックゲーティングサーキットユニットはさらにクロックの降下エッジでのサンプリングを行うラッチまたはレジスタを含んでいることを特徴とする請求項５に記載の周波数変換装置。
【請求項９】
複数のプロセッサコアをからなるマルチコアプロセッサで、それらのプロセッサコア同士間でクロック同期データ通信が周波数変換デバイスを利用して行われる通信方法であって、上記の周波数変換デバイスは状態変更手段、多重セレクタ、周波数変換係数レジスタ、マルチ入力ORゲート、およびクロックゲーティングサーキットユニット（clock-gating circuit unit）を含んでおり、上記方法が以下の工程、
工程Ａ：この工程では、第１プロセッサコアが第2プロセッサコアにデータを送信し、このデータが１ビットのデータ有効ビットおよび複数ビットのデータ内容を含み、
工程Ｂ：この工程では、上記の第2プロセッサコアの前記周波数変換デバイスが第１プロセッサコアから送信されたデータ有効ビットを受信し、第１プロセスコアにより送信されたデータの有効ビット信号と連携するマルチ入力ORゲートの出力状態を有効状態に変更し、この有効状態を新しいゲーティング信号としてそのクロックゲーティングサーキットユニットに送信し、その出力クロックは周波数変換クロックから共通オリジナルクロックに変わり、
工程Ｃ：この工程では、上記第2プロセッサコアは前記共通オリジナルクロックを使用して、第１プロセッサコアから送信されたデータ内容をサンプリングする
ことからなることを特徴とするデータ通信方法。
【請求項１０】
前記の工程Ａの前にさらに以下の工程：
第１プロセッサコアおよび第２のプロセッサコアの周波数変換デバイス内の周波数変換係数レジスタの値を書き直して、第１プロセッサコアと第２のプロセッサコアがそれぞれ設定したクロック周波数で作用させる
ことを特徴とする請求項９に記載のデータ通信方法。
【請求項１１】
前記のクロック周波数はプロセッサの共通オリジナルクロック周波数か、または周波数変換されたクロック周波数であることを特徴とする請求項１０に記載のデータ通信方法。
【請求項１２】
前記の工程Ｃの後にさらに以下の工程：
第２プロセッサコアが第１プロセッサコアから送信されたデータを完全に受信した後、第１プロセッサコアのデータ通信有効ビットを無効ビットにし、第２プロセッサコアの周波数変換デバイス内のクロックゲーティングサーキットユニットを再び周波数変換係数レジスタによって制御することを特徴とする請求項９に記載のデータ通信方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチコアプロセッサの技術分野に関し、より詳細にはマルチコアプロセッサ、その周波数変換装置およびコア同士間のデータ通信方法に関する
【背景技術】
【０００２】
プロセッサチップの設計では、電気消費量がプロセッサの性能に続くもう１つの重要な技術指針になっている。少ない電気消費量のプロセッサの設計は、汎用プロセッサの分野であるか組み込みプロセッサの分野であるかにかかわらず需要が大きく、広範囲で利用されている。
【０００３】
プロセッサの電気消費量がプロセッサのクロック周波数と正比例するため、プロセッサ実行中、実行プログラムの要求に従って動的にプロセッサのクロック周波数を変更することはプロセッサの電気消費量を減少させるための有効な措置となっている。
【０００４】
マルチコアプロセッサはプロセッサの開発での重要な趨勢となっている、したがって、マルチコアプロセッサ内で、各プロセッサコアは、負荷と、異なる要求とによってリアルタイムでクロック周波数を調整し、有効に電気消費量を減少できる。
【０００５】
従来技術では、１つの状況では、マルチコアプロセッサのすべてのプロセッサコアが同じクロック周波数を使用するため、クロック周波数を調整するときすべてのプロセッサコアを一括して調整しなければならない。 しかし、この方法では、全体のプロセッサの電気消費量が限られた程度にしか減少できない。
【０００６】
もう一つの状況では、各プロセッサコアが異なるクロックを使用するので、各プロセッサコアがその状態に応じて動的にクロック周波数を調整し、その結果、プロセッサの電気消費量がより良く節約される。しかし、それぞれのプロセッサコアが異なるクロック周波数を使用するため、プロセッサコア同士間のデータ通信が非同期クロックデータ通信でしかなく、これは、プロセッサコア同士間のデータ交換とデータ通信の効率に影響し、プロセッサの全体性能を低下させる。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来技術の上述した欠点を解決するため、本発明はマルチコアプロセッサと、その周波数変換デバイスおよびプロセッサコア同士間のデータ通信方法を提供し、この方法はマルチコアプロセッサでのクロック周波数のダイナミックな減少を支持し、かつプロセッサコア同士間でのクロック同期データ通信を維持する。
【課題を解決するための手段】
【０００８】
本発明の上記目的を達成するため、複数のプロセッサコアからなるマルチコアプロセッサが提供され、それら複数のコア同士間のデータ通信が同期して行われる。各プロセッサコアは周波数変換デバイスを含み、この周波数変換デバイスは多重セレクタと、更に、状態変更手段、周波数変換係数レジスタ、マルチ入力ORゲート、およびクロックゲーティングサーキットユニット（clock-gating circuit unit）を備えるものにおいて、
前記の状態変更手段の出力は前記の多重セレクタに複数の周波数変換係数のデータを出力するようになされており、上記の状態変更手段の出力は多重セレクタのデータ入力につなげられ、
前記の周波数変換係数レジスタは、該プロセッサコアの現在の周波数変換係数を記憶するようになされており、その出力は前記の多重セレクタの選択入力につなげられており、
前記のマルチ入力ORゲートは、上記の状態変更手段と周波数変更係数とに従って多重セレクタによりられた出力を受信すると共に、他のプロセッサコアから当該プロセッサコアに送信されるデータの有効ビットを受信し、そしてその出力状態を有効状態に変更し、ゲイティング信号をクロックゲーティングサーキットユニットに送信するようになされており、
前記のクロックゲーティングサーキットユニットは、クロック入力としてプロセッサコアの共通オリジナルクロックを受信し、ゲーティングイネーブル入力としてマルチ入力ORゲートによるゲイティング信号出力を受信するようになされており、上記の出力クロックは共通オリジナルクロツクである。
【０００９】
前記の状態変更手段はマルチビットレジスタ及びこれに対応する状態変換論理を含み、前記のマルチビットレジスタの各ビットが別個に且つ独立して１つの周波数変換係数と対応しており、前記の状態変換論理が当該マルチビットレジスタの対応する値に従って電気信号波形を形成し、これに対応する有効ビットを出力して、対応する周波数変換係数を決定する。
【００１０】
前記のクロックゲーティングサーキットユニットは２入力ANDゲートを含む。
【００１１】
前記のクロックゲーティングサーキットユニットはさらにクロック周波数の降下(falling)エッジでのサンプリングを行うラッチまたはレジスタを含んでいる。
【００１２】
本発明の目的を達成するために、プロセッサコアに含まれる周波数変換デバイスが、更に、設けられている。この周波数変換デバイスは多重セレクタと、更に状態変更手段、周波数変換係数レジスタ、マルチ入力ORゲート、およびクロックゲーティングサーキットユニット（clock-gating circuit unit）を備えており、
前記の状態変更手段は前記の多重セレクタに複数の周波数変換係数のデータを出力するようになされ、上記の状態変更手段の出力は多重セレクタのデータ入力に連結されており、
前記の周波数変換係数レジスタは、該プロセッサコアの現在の周波数変換係数を記憶するようになされており、そしてその出力が前記の多重セレクタの選択入力につなげられ、
前記のマルチ入力ORゲートは、上記の状態変更手段と周波数変換係数とに従って多重セレクタにより得られた出力を受信すると共に、他のプロセッサコアから当該プロセッサコアに送信される受信データの有効ビットを受信し、そしてその出力状態を有効状態に変更し、ゲイティング信号をクロツクゲイティングサーキットユニットに送信するようになされており
前記のクロックゲーティングサーキットユニットは、クロック入力としてプロセッサコアの共通オリジナルクロックを受信して、ゲーティングイネーブル入力としてマルチ入力ORゲートの出力を受信し、オリジナルクロックを制御する。
【００１３】
前記の状態変更手段はマルチビットレジスタと、これに対応する状態変換論理とを含み、そして、前記のマルチレジスタの各ビッが別個に且つ独立して１つの周波数変換係数と対応し、前記の状態変換論理が、マルチビットレジスタの対応する値に従って電気信号波形を形成し、これに対応する有効ビットを出力して、対応する周波数変換係数を決定する。
【００１４】
前記のクロックゲーティングサーキットユニットは２入力ANDゲートを含む。
【００１５】
前記のクロックゲーティングサーキットユニットはさらにクロック降下エッジでのサンプリングを行うラッチまたはレジスタを含んでいる。
【００１６】
本発明の目的を達成するため、さらに、マルチコアプロセッサのコア同士間のクロック同期データ通信方法が提供されている。マルチコアプロセッサは複数のプロセッサコアからなり、これら複数のプロセッサコア同士間では、周波数変換デバイスを利用してクロック周波数同期データ通信が行われる。前記の周波数変換デバイスは、状態変更手段、多重セレクタ、周波数変換係数レジスタ、マルチ入力ORゲート、およびクロックゲーティングサーキットユニット(clock-gating circuit unit)を含んでいる。上記方法は以下の工程からなる：
工程Ａ：  第１プロセッサコアが第２プロセッサコアにデータを送信し、このデータが１ビットのデータ有効ビットおよび複数ビットのデータ内容を含み、
工程Ｂ：  第２プロセッサコアの周波数変換デバイスは、第１プロセッサコアから送信されたデータ有効ビットを受信し、第１プロセッサにより送信されたデータの有効ビット信号に連携されているマルチ入力ORゲートの出力状態を有効状態に変更し、この有効状態を新しいゲーティング信号としてそのクロックゲーティングサーキットユニットに送信し、ここではクロックゲーティングが周波数変換係数制御器により影響されずに、その出力クロックが周波数変換クロックから共通のオリジナルクロックに変わる。
工程Ｃ：  第２のプロセッサコアは変更により生じた新たなクロックを使用する、即ち回復された共通オリジナルクロックを使用して、第１プロセッサコアから送信されたデータ内容をサンプリングし、このデータが第２プロセッサコアで決められた時間内で正しくサンプリングされ、よってデータの同期通信の正確性を保証する。
【００１７】
前記の工程Ａの前にさらに以下の工程を行う：
第１プロセッサコアと第２プロセッサコアが各々特定のクロック周波数で作用するよう、第１プロセッサコアおよび第2のプロセッサコアの周波数変換デバイス内の周波数変換係数レジスタの値を書き直すことにおいて、
前記のクロック周波数はプロセッサの共通オリジナルクロック周波数か、または周波数変換したクロック周波数である。
【００１８】
前記の工程Ｃの後にさらに以下の工程を行う。
第２プロセッサコアが第１プロセッサコアから送信されたデータを完全に受信した後、第１プロセッサコアのデータ通信有効ビットを無効ビット、即ち０にし、第２プロセッサコアの周波数変換デバイス内のクロックゲーティングサーキットを再び周波数変換係数レジスタにより制御し、その結果第２のプロセッサコアのクロックは以前の周波数変換クロックに戻って、作用する。
【図面の簡単な説明】
【００１９】
【図１】本発明によるマルチコアプロセッサの実施例での各プロセッサコアの周波数変換デバイスの構造の略図である。
【図２】本発明によるマルチコアプロセッサの実施例での相互通信の必要がある二つのプロセッサコアの周波数変換デバイスの接続関係を示す略図である。
【図３】本発明によるマルチコアプロセッサのコア同士間のクロック同期データ通信の実施例において、異なるクロック周波数で２つのプロセッサコアが相互通信をしているワーク・フロー・チャートである。
【図４】本発明によるマルチコアプロセッサのプロセッサコア同士間のクロック同期データ通信方法の実施例で、異なる周波数変換係数に対する周波数変換デバイスのクロック出力波形の略図である。
【図５】本発明によるマルチコアプロセッサのプロセッサコア同士間のクロック同期データ通信方法の実施例での、プロセッサコアＸと通信するプロセッサコアＹのクロック出力波形の略図である。
【発明を実施するための形態】
【００２０】
本発明の目的、技術の解決策、および本発明の利点をより明確で明白にするため、添付図面を参照して、実施例により、本発明によるプロセッサ、その周波数変換デバイスおよび方法について以下に更に詳細に説明する。ここで説明する実施例は、本発明を解釈するためのものであって、本発明の範囲を限定するため使用するものではないものと理解されるべきである。
【００２１】
本発明によるマルチコアプロセッサの周波数変換デバイスと方法は、プロセッサの共通オリジナルクロックを制御することによって、各プロセッサコアをオリジナル・クロックより低いクロック周波数で作用させる。
【００２２】
以上の目的を達成するため、本発明は、図１に示されている周波数変換デバイス(１)を備えたマルチコアプロセッサを提供する、この周波数変換デバイスは状態変更手段(11)、多重セレクタ(12)、周波数変換係数レジスタ(13)、マルチ入力ORゲート(14)、およびクロックゲーティングサーキットユニット(clock-gating circuit unit)(15)を含むものにおいて、
前記の状態変更手段(11)はマルチビットレジスタ及びこれに対応する状態変換論理を含み、マルチビットレジスタの各ビットが別個に且つ独立して１つの周波数変換係数と対応しており、上記の状態変更手段(11)の出力が多重セレクタ(12)のデータ入力に連結され、
前記の状態変換論理が当該マルチビットレジスタの値に従って、電気信号波形を形成し、これに対応する有効ビットを出力して、これに対応する周波数変換係数を決定し、
前記の周波数変換係数レジスタ(13)は、プロセッサコアの現在の周波数変換係数を記憶するようになされており、そしてその出力が多重セレクタ(12)の選択入力につなげられ、
即ち、多重セレクタ(12)のデータ入力を周波数変換デバイスの状態変更手段(11)の出力につなげ、そして、その選択入力を周波数変換係数レジスタ(13)の出力につなげ、
マルチ入力ORゲート(14)は、それへの入力のひとつとして多重セレクタ(12)の出力を受信すると共に、他のプロセッサコアから当該プロセッサコアに送信される受信データの有効ビットをそれへの入力として、図２に示されているように受信し、
前記のクロックゲーティングサーキットユニット(15)は、クロック入力としてプロセッサコアの共通オリジナルクロックを受信すると共に、ゲーティングイネーブル入力としてマルチ入力ORゲート(14)の出力を受信し、共通オリジナルクロックを制御する。
【００２３】
クロックゲーティングサーキットユニット(15)はクロックの降下エッジでのサンプリングを行うラッチ(151)(またはレジスタ)および２入力ANDゲート(152)を含む。前記のユニット(15)は、クロック周波数入力としてプロセッサコアの共通オリジナルクロック周波数を受信すると共に、ゲーティングイネーブル入力として多重セレクタ(12)の出力を受信し、共通オリジナルクロック周波数を制御し、そして、前記のユニットの出力は周波数変換後のクロックである
【００２４】
前記のクロックゲーティングサーキットユニット(15)はネガティブ(立下がり)エッジラッチ(151)および２入力ANDゲート(152)を含むのが好ましい。
【００２５】
前記のクロックゲーティングサーキットユニット(15)はＩＣデザインの分野のクロックゲーティングサーキットであり、それにおけるネガティブエッジラッチの作用はゲーティング信号が直接その後のANDゲートに送信されることを避け、クロックスパイクを発生させる可能性を防ぐことである。
【００２６】
プロセッサの周波数変換デバイス1は、作用中、そのクロック出力を制御して、周波数変換係数レジスタ13からの値に基づいて、他のプロセッサコアから当該プロセッサコアに送信されるデータ要請の信号有効値を受信することによって、オリジナルのクロックの変換とデータ同期化等の作用を完了する。
【００２７】
前記のプロセッサは、マルチコアプロセッサかチップ上のシステム(System on a Chip，SOC)である。
【００２８】
本発明はさらにマルチコアプロセッサ内でのコア同士間のクロック同期データ通信方法を提供する。
【００２９】
本発明の実施例では、マルチコアプロセッサの２つのプロセッサコアＸ、Ｙを例として挙げて、本発明によるプロセッサコア同士間のクロック同期データ通信方法を説明したが、本発明のプロセッサコア同士間のクロック同期データ通信方法は２つ以上のプロセッサコアがある場合にも適用できる。
【００３０】
図４、図５を参照しながら、図３には、本発明による、異なるクロック周波数のプロセッサコア同士間の通信方法が詳細に記載されている。この方法は以下の工程を含む。
工程Ｓ100：  例として、プロセッサコアＹにこれからデータを送信しようとしているプロセッサコアＸを挙げ、これにおいては、まず、プロセッサコアＸとＹとがそれぞれのクロック周波数で作用し、
前記のクロック周波数はオリジナルのクロック周波数でもいいし、周波数変換後のクロック周波数でもよい、そして、周波数変換後のクロック周波数は周波数変換係数レジスタ(13)の値によって制御される。
【００３１】
本発明の実施例では、実施できる方法として、周波数変換デバイスの中の周波数変換係数レジスタ(13)は９つの周波数変換係数を指示でき、それぞれ、周波数変換クロックが共通オリジナルのクロックの０/８倍速度（即ち、０クロック）、１/８倍速度、２/８倍速度、３/８倍速度、４/８倍速度、５/８倍速度、６/８倍速度、７/８倍速度、８/８倍速度(即ち、共通オリジナルのクロック周波数のまま、周波数変換しない)で作用することを示す。図４は異なる周波数変換係数に対応するクロック出力波形図。図４に示されているように、ｉ/８（ｉ＝０，１，２，３，４，５，６，７，８）の周波数変換係数では、それぞれ８回のオリジナルクロック毎の周期中、新しい周波数変換クロックがi個のクロックの立ち上がりエッジだけを出力する。これはクロック周波数が共通オリジナルクロック周波数のｉ／８倍になることを意味する。プロセッサの電気消費量がプロセッサのクロック周波数と単純正比例するので、プロセッサの電気消費量も同様にもとのｉ／８倍になる。
【００３２】
本発明の実施例では、プロセッサの共通オリジナルクロック周波数が(ｆ)であれば、プロセッサコアＸが(６／８)＊ｆのクロック周波数で作用し、プロセッサコアＹが(２／８)＊ｆのクロック周波数で作用し、ＸとＹのクロック波形は図5の第１段階に示されている。
【００３３】
工程Ｓ200：プロセッサコアＸがプロセッサコアＹにひとつのデータを送信し、このデータが１ビットのデータ有効ビットおよび複数ビットのデータ内容を含む。
【００３４】
工程Ｓ300：プロセッサコアＹの周波数変換デバイスは、まずプロセッサコアＸから送ってきたデータ有効ビットを受信する。
【００３５】
工程Ｓ400：データ有効ビットに従って、周波数変換デバイスが、これにつなげられたマルチ入力ORゲート(14)の出力状態を１、即ち有効出力状態に変更する。
【００３６】
工程Ｓ500：マルチ入力ORゲート(14)の出力を新しいゲーティング信号としてクロックゲーティングサーキットに送信する。ここではロックゲーティングは周波数変換係数により影響されずに、その出力クロック周波数がもとの共通オリジナルクロック周波数に変わる。Ｙのこの時のクロック周波数は図５の第２段階に示されている。
【００３７】
工程Ｓ600：プロセッサコアYは前記の変更により生じた新たなクロックを使用して、プロセッサコアＸから送信されたデータ内容をサンプリングし、データがプロセッサコアYに所定時間内で正しくサンプリングされ、プロセッサコアＹの受信レジスタ(21)に送られ、よって同期データ通信の正確性を保証する。
【００３８】
工程Ｓ700：プロセッサコアＹがプロセッサコアＸから送信されたデータを完全に受信した後、Ｘのデータ送信有効ビットが無効ビット、即ち０になる。プロセッサコアＹの周波数変換デバイスのクロックゲーティングは再び周波数変換係数レジスタ(13)によって制御され、この結果プロセッサコアＹのクロック周波数は再び以前の周波数変換クロックに戻り、これで作用する。この時Yのクロック周波数波形は図５の第三段階に示されている。
【００３９】
図５に示されているように、クロック周波数が(６／８)＊ｆのプロセッサコアＸはクロック周波数が(２／８)*ｆのプロセッサコアYに、連続３回データを送るため、全てのデータ有効ビットは３回の連続クロック周期では１になる。Ｘがデータ有効信号を送った後の３回のクロック周期では、プロセッサコアＹの次のクロックも自動的に低い周波数の(２／８)＊ｆからビート(拍動)ごとに連続的に有効なクロック周波数に自動的に立ち上がり、プロセッサコアＸから送信されたデータがプロセッサコアＹで所定時間内でサンプリングされ、データ通信方法の性能と正確性は周波数変換に確実に影響されない。
【００４０】
本発明によるマルチコアプロセッサの周波数変換デバイスおよびその方法は、従来技術に存在する、マルチコアプロセッサのクロック周波数変換の欠点を克服できるし、かつ簡単に使用できるので、プロセッサは作用負荷状態に応じてダイナミックに各プロセッサコアの作用周波数を制御でき、他方、プロセッサコア同士間での非常に高い効率のデータ通信を保証し、マルチコアプロセッサの電気消費量を減少すると共に性能を確実にする効果を達成する。さらに、本発明によるマルチコアプロセッサの周波数変換デバイスは簡単に実施できるし、クロックの周波数変換制御が通常のデジタル論理回路を使用するだけで達成できるので、使いやすい。
【００４１】
添付図面に関連する、本発明の実施例の上記詳細な説明は、本発明のその他の面および特徴は当業者には自明である。
【００４２】
本発明の以上の実施例を上記に記載し、図示したが、これらの実施例は単なる例であって、本発明を限定するため使用するべきものではない。本発明は添付特許請求の範囲に従って解釈すべきものである。
【産業上の利用可能性】
【００４３】
本発明によるマルチコアプロセッサ、その周波数変換デバイスおよびマルチコアプロセッサの複数プロセッサコア同士間のデータ通信方法は、ダイナミックにマルチコアプロセッサのクロック周波数変換が達成でき、プロセッサの各プロセッサコアが異なる周波数変換係数の設定にしたがって、異なるクロック周波数で作用できる。さらにプロセッサコア同士間のデータ通信中、同期してデータが確実にサンプリングできるので、特定の非同期クロックデータ通信論理が不要であり、したがって、マルチコアプロセッサのプロセッサコア同士間のデータ通信の正確性と迅速性が保証されるだけでなくプロセッサの電気消費量をかなり減少させる。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図３
【補正方法】変更
【補正の内容】
【図３】
2011501836.tif 000008
【国際調査報告】
2011501836.tif 000009
2011501836.tif 000010
2011501836.tif 000011
2011501836.tif 000012