(57)【要約】  制御デバイス（Ｄ）は、バス（ＢＣ１，ＢＣ２）を介してメモリ（Ｍ）に結合される少なくとも二つのコア（Ｃ１，Ｃ２）を備え且つメモリがコア（Ｃ１，Ｃ２）間で転送されるべきデータを記憶するように構成されている集積回路（ＩＣ）の一部である。この制御デバイス（Ｄ）は、バス（ＢＣ１，ＢＣ２）を介してコア（Ｃ１，Ｃ２）に結合されるとともに、コアのうちの一方によりメモリ（Ｍ）内に記憶され且つコアのうちの他方へと転送され得る状態にあるデータに関連付けられたＮｉ個のフラグ値をＮｉ個のアドレスで記憶するように構成されている少なくとも一つのフラグレジスタ（ＦＲ１，ＦＲ２）を備え、第１のアドレスで記憶された各フラグ値は、第１のアドレスを指定するコマンドを用いてコア（Ｃ１，Ｃ２）のうちの一方によってセット又はリセットすることができ、これにより、第２のアドレスで記憶された他のフラグ値を、第２のアドレスを指定するコマンドを用いて他方のコア（Ｃ２，Ｃ１）によって同時にセット又はリセットすることを許可する。
2009514118.tif 000002
【特許請求の範囲】
【請求項１】
バスを介してメモリに結合される少なくとも二つのコアを備え且つ前記メモリが前記コア間で転送されるべきデータを記憶するように構成されている集積回路のための制御デバイスにおいて、前記バスを介して前記コアに結合されるとともに、前記コアのうちの一方により前記メモリ内に記憶され且つ前記コアのうちの他方へと転送され得る状態にあるデータに関連付けられたＮｉ個のフラグ値をＮｉ個のアドレスで記憶するように構成されている少なくとも一つのフラグレジスタを備え、第１のアドレスで記憶された各フラグ値は、前記第１のアドレスを指定するコマンドを用いて前記コアのうちの一方によってセット又はリセットすることができ、これにより、第２のアドレスで記憶された他のフラグ値を、前記第２のアドレスを指定するコマンドを用いて他方の前記コアによって同時にセット又はリセットすることを許可することを特徴とする制御デバイス。
【請求項２】
ｉ）前記バスに結合されるとともに、前記コアのうちの第１のコアにより前記メモリ内に記憶され且つ前記コアのうちの第２のコアへと転送され得る状態にあるデータに関連付けられたＮ１個のフラグ値をＮ１個のアドレスで記憶するように構成されている少なくとも一つの第１のフラグレジスタを備え、前記第１のレジスタの第１のアドレスで記憶された各フラグ値は、前記第１のアドレスを指定するコマンドを用いて前記第１のコアによってセットできるとともに前記第２のコアによってリセットでき、ｉｉ）前記バスに結合されるとともに、前記第２のコアにより前記メモリ内に記憶され且つ前記第１のコアへと転送され得る状態にあるデータに関連付けられたＮ２個のフラグ値をＮ２個のアドレスで記憶するように構成されている少なくとも一つの第２のフラグレジスタを備え、前記第２のレジスタの第１のアドレスで記憶された各フラグ値は、前記第１のアドレスを指定するコマンドを用いて前記第２のコアによってセットできるとともに前記第１のコアによってリセットできることを特徴とする請求項１に記載の制御デバイス。
【請求項３】
前記各フラグレジスタは、ｉ）前記第１のコアに接続されるバスに対して接続された第１の入力と、Ｎｉ個の第１の出力と、第１のフラグ値読み取り及び書き込み手段とを備える第１の制御手段と、ｉｉ）前記第２のコアに接続されるバスに対して接続された第２の入力と、Ｎｉ個の第２の出力と、第２のフラグ値読み取り及び書き込み手段とを備える第２の制御手段と、ｉｉｉ）Ｎｉ個のそれぞれのアドレスを有するＮｉ個の記憶領域を備え、Ｎｉ個のフラグ値をそれぞれ記憶するように構成されているとともに、前記第１の出力のうちの一つ及び前記第２の出力のうちの一つに対してそれぞれ接続される記憶手段と、を備えることを特徴とする請求項１又は２に記載の制御デバイス。
【請求項４】
前記第１の制御手段及び前記第２の制御手段はそれぞれ、前記記憶手段のいくつかの記憶領域のそれぞれのアドレスを指定する一つのコマンドを受け取ると、前記いくつかの記憶領域に記憶されたいくつかのフラグ値をセットし及び／又はリセットするように構成されていることを特徴とする請求項３に記載の制御デバイス。
【請求項５】
前記メモリを備えることを特徴とする請求項１乃至４のいずれか一項に記載の制御デバイス。
【請求項６】
前記メモリは、少なくともＤＰＲＡＭメモリ及びＲＡＭメモリを含むグループから選択されることを特徴とする請求項５に記載の制御デバイス。
【請求項７】
請求項１乃至６のいずれか一項に記載の制御デバイスを備えることを特徴とする、電子機器のための集積回路。
【請求項８】
請求項７に記載の集積回路を備えることを特徴とする電子機器。
【請求項９】
少なくとも、コンピュータ、電話、個人用携帯情報端末及びミュージックプレーヤを含むグループから選択されることを特徴とする請求項８に記載の電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路に係り、より正確には、そのような集積回路のコア（又はプロセッサ）間通信の同期化に関する。
【背景技術】
【０００２】
ほとんどの複合集積回路内では、いくつかのコア（又はプロセッサ）にわたってファームウェアが分配されている。これは、特に、携帯電話等の通信機器中に組み込まれて使用されるベースバンドデバイスの集積回路における場合である。
【０００３】
しばしば、ＣＰＵ（コントロールプロセスユニット）と呼ばれるメインコア又はプロセッサがシステム制御のために設けられ、また、ＤＳＰ（デジタル信号プロセッサ）と呼ばれる一つ以上の専用コア又はプロセッサが、音声処理、ビデオデコーディング、又は、通信チャンネルコーディング等の特定のデジタルデータ処理のために設けられる。
【０００４】
図１に示されるように、二つのコアＣ１とＣ２との間でリアルタイムなデュアル通信（即ち、データ転送）を可能にするために、これらのコアのそれぞれのデータバス及びアドレスバスに対してＤＰＲＡＭメモリ（デュアルポートランダムアクセスメモリ）Ｍを接続することが提案されてきた。このタイプのメモリは、一般に１６ビット幅又は３２ビット幅を有し且つ二つのコア（又はプロセッサ）により同時にアクセスできる揮発性メモリであることが想定される。そのような（図１に示される）構成において、二つのコアＣ１及びＣ２は、ＤＰＲＡＭメモリＭを従来のメモリとしてとらえるとともに、そのアドレスのうちのどれかでワードを読み取ることができ又は書き込むことができる。唯一の制約は、コアのうちの一方が、他方のコアがＤＰＲＡＭメモリの記憶領域内にデータを書き込んでいるときにこのＤＰＲＡＭメモリの記憶領域にアクセスできないという点である。
【０００５】
当業者には知られているように、従来のＤＰＲＡＭメモリＭを介して二つのコアＣ１及びＣ２を同期させる一般的な方法は、フラグを使用することである。フラグは、ＤＰＲＡＭメモリＭ内に一つのアドレスで記憶されるバイナリ値であることが想定される。フラグは、第２のコア（Ｃ２又はＣ１）が操作又はタスク（例えば、スピーチデータのエンコーディング）を完了してしまっており且つその操作又はタスクによって生じるデータがこの第２のコアによりＤＰＲＡＭメモリＭの一部分ＤＳに記憶されるとともに当該データを第１のコアへ転送することができるという信号を第１のコア（Ｃ１又はＣ２）に対して送信することを目的としている。各フラグは、コア間において一方向でのみ使用される。即ち、例えば、コアＣ１は、その値が（０から１へ）変化するのを待っているフラグをポーリングし、一方、コアＣ２は、このフラグに対応する操作を完了したときにこのフラグの値を（０から１へ）変化させる。
【０００６】
前述したＤＰＲＡＭアクセス制約に起因して、図２に示されるように、異なるフラグは、選択されたアドレスで同じＤＰＲＡＭワードに記憶することができない。確かに、二つのフラグＸ，Ｙが選択されたアドレスで同じＤＰＲＡＭワードに記憶されると仮定すると、両方の値がゼロ（０）にセットされた状態で、コアＣ１がフラグＸを１にセットし且つコアＣ２がフラグＸの値をチェックする際、コアＣ２は、フラグＸを（１から０へ）リセットしなければならず、コアＣ２がフラグＸをリセットしている間にコアＣ１がフラグＹをセットする場合にフラグＹを見失う可能性がある。また、ワード中の総てのフラグの値は、両方のコアＣ１及びＣ２が同時に書き込むときに不明確になる。そのため、ワードごとに、ひいては、アドレスごとに、一つのフラグだけを記憶する必要があり、これは、特にＤＰＲＡＭメモリが３２ビット幅を有する場合に、メモリサイズの点から見て費用がかかる（例えば、１ビットの１２８個のフラグにおいては、４９６ビット（１２８×３１）を失う）。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従って、本発明の目的は、上記状況を改善することであり、より正確には、莫大な量のメモリサイズを損なうことなく例えばＤＰＲＡＭタイプのメモリを介して二つのコア間の通信を同期化させるための容易な方法を提案することである。
【課題を解決するための手段】
【０００８】
この目的のため、本発明は、バスを介してメモリに結合される少なくとも二つのコアを備え且つ上記メモリが上記コア間で転送されるべきデータを記憶するように構成されている集積回路のための制御デバイスを提供する。この制御デバイスは、上記バスを介して上記コアに結合されるとともに、上記コアのうちの一方により上記メモリ内に記憶され且つ上記コアのうちの他方へと転送され得る状態にあるデータに関連付けられたＮｉ個のフラグ値を（Ｎｉ個のアドレスで）記憶するように構成されている少なくとも一つのフラグレジスタを備える。第１のアドレスで記憶された各フラグ値は、上記第１のアドレスを指定するコマンド（又は命令）を用いて上記コアのうちの一方によってセット又はリセットすることができ、これにより、第２のアドレスで記憶された他のフラグ値を、上記第２のアドレスを指定するコマンド（又は命令）を用いて他方の上記コアによって同時にセット又はリセットすることを許可する。
【０００９】
本発明に係る上記制御デバイスは、別個に又は組み合わせて、及び、特に、考慮される追加の特徴を含み得る。
【００１０】
即ち、本発明に係る上記制御デバイスは、ｉ）上記バスに結合されるとともに、上記コアのうちの第１のコアにより上記メモリ内に記憶され且つ上記コアのうちの第２のコアへと転送され得る状態にあるデータに関連付けられたＮ１個のフラグ値をＮ１個のアドレスで記憶するように構成されている少なくとも一つの第１のフラグレジスタを備え、上記第１のレジスタの第１のアドレスで記憶された各フラグ値は、上記第１のアドレスを指定するコマンドを用いて上記第１のコアによってセットできるとともに上記第２のコアによってリセットでき、ｉｉ）上記バスに結合されるとともに、上記第２のコアにより上記メモリ内に記憶され且つ上記第１のコアへと転送され得る状態にあるデータに関連付けられたＮ２個のフラグ値をＮ２個のアドレスで記憶するように構成されている少なくとも一つの第２のフラグレジスタを備え、上記第２のレジスタの第１のアドレスで記憶された各フラグ値は、上記第１のアドレスを指定するコマンドを用いて上記第２のコアによってセットできるとともに上記第１のコアによってリセットできるものとするとよい。
【００１１】
また、上記各フラグレジスタは、ｉ）上記第１のコアに接続されるバスに対して接続された第１の入力と、Ｎｉ個の第１の出力と、第１のフラグ値読み取り及び書き込み手段とを備える第１の制御手段と、ｉｉ）上記第２のコアに接続されるバスに対して接続された第２の入力と、Ｎｉ個の第２の出力と、第２のフラグ値読み取り及び書き込み手段とを備える第２の制御手段と、ｉｉｉ）Ｎｉ個のそれぞれのアドレスを有するＮｉ個の記憶領域を備え、Ｎｉ個のフラグ値をそれぞれ記憶するように構成されているとともに、上記第１の出力のうちの一つ及び上記第２の出力のうちの一つに対してそれぞれ接続される記憶手段と、を備えるものとするとよい。
【００１２】
また、上記第１の制御手段及び上記第２の制御手段はそれぞれ、上記記憶手段のいくつかの記憶領域のそれぞれのアドレスを指定する一つのコマンドを受け取るたびに、上記いくつかの記憶領域に記憶されたいくつかのフラグ値をセットし及び／又はリセットするように構成されているものとするとよい。
【００１３】
また、本発明に係る上記制御デバイスは、上記メモリを備えるものとするとよく、上記メモリは、例えば、ＤＰＲＡＭメモリ及びＲＡＭメモリであるものとするとよい。
【００１４】
本発明はまた、以上に導入されたような制御デバイスを備える、電子機器のための集積回路も提供する。
【００１５】
本発明はまた、以上に導入されたような集積回路を備える電子機器も提供する。当該電子機器は、コンピュータ（パーソナル・コンピュータ又はラップトップ）、電話（移動電話、無線電話又は固定電話）、個人用携帯情報端末（即ち、ＰＤＡ）及びミュージックプレーヤ（例えば、ＭＰ３プレーヤ）であるものとするとよい。
【００１６】
本発明の他の特徴及び利点は、以下の詳細な説明及び添付図面を検討することにより明らかとなる。
【発明を実施するための最良の形態】
【００１７】
添付図面は、本発明を完成させる役割を担うだけでなく、必要であれば本発明の定義にも寄与し得る。
【００１８】
最初に、本発明に係る制御デバイスＤの非限定的な（第１の）実施の形態の例を説明するために、図３を参照する。この制御デバイスＤは、電子機器ＥＥ内に組み込むことができる集積回路ＩＣの一部を構成している。
【００１９】
以下の説明では、電子機器ＥＥが携帯電話であるものとする。しかし、本発明に係る集積回路ＩＣは、ファームウェアがいくつかのコア（又はプロセッサ）にわたって分配される必要がある任意の電子機器に組み込まれ得る。そのため、電子機器は、例えば、コンピュータ（パーソナルコンピュータ又はラップトップ）、コードレスフォン、固定電話、個人用携帯情報端末（Personal Digital Assistant）（即ち、ＰＤＡ）、又は、ミュージックプレーヤ（例えば、ＭＰ３プレーヤ）であってもよい。
【００２０】
前述したように、本発明に係る制御デバイスＤは、共通メモリＭを介して集積回路ＩＣの二つのコアＣ１とＣ２との間のデュアル通信を同期させることを目的としている。
【００２１】
以下の説明では、共通メモリＭが、第１のコアＣ１及び第２のコアＣ２にそれぞれ接続された第１のバスＢＣ１及び第２のバスＢＣ２（アドレス及びデータ）に対して接続されるＤＰＲＡＭメモリ（デュアルポートランダムアクセスメモリ）であるものとする。しかし、本発明は、このタイプのメモリに限定されない。本発明は、共通の多層バスを用いて二つのコアによりアクセスされ得る任意のメモリに適用される。そのため、共通メモリＭは、ランダムアクセスメモリ（即ち、ＲＡＭ）であってもよい。
【００２２】
また、以下の説明では、第１のコアＣ１が、ＣＰＵ（コントロールプロセスユニット）とも呼ばれ且つ携帯電話ＥＥの制御のために設けられるメインプロセッサであり、第２のコアＣ２が、ＤＳＰ（デジタル信号プロセッサ）とも呼ばれ且つ音声信号処理若しくはビデオデコーディング等の特定のデジタル信号処理又はその他の通信チャンネルコーディングのために設けられる専用プロセッサであるものとする。従って、以下では、時として、第１のコアＣ１及び第２のコアＣ２がそれぞれＣＰＵ及びＤＳＰと称される。
【００２３】
しかし、本発明はこれらのタイプのコアに限定されない。確かに、本発明は、共通メモリを介して同期した状態で他のコア（結局、同じタイプのコア）に対してデータを送受信する必要がある任意のタイプのコアに適用される。
【００２４】
前述したように、ファームウェアは、少なくとも部分的にＣＰＵ  Ｃ１及びＤＳＰ  Ｃ２へと分配される。それらのそれぞれは、完了時に、少なくともそれらの一部のために、他の一つへと転送されなければならないデータを生成する操作又はタスクを実行しなければならない。そのデータが転送されなければならない各操作又はタスクは、フラグ（バイナリ値）に関連付けられる。また、一方のコアＣｉ（ｉ＝１又は２）から他方のコアＣｉ’（ｉ’＝２又は１）へと転送されるべきデータの各グループは、両方のコアＣｉ及びＣｉ’から知られ且つ選択されたフラグに関連付けられる選択された場所に一時的に記憶されるように、転送しているコアＣｉが接続されるバスＣＢｉによってメモリＭへ送信される。
【００２５】
本発明によれば、（共通）メモリＭは、一方のコアＣｉから他方のコアＣｉ’へと転送されなければならないデータのみを記憶する。
【００２６】
制御デバイスＤは、ＣＰＵ  Ｃ１及びＤＳＰ  Ｃ２に対してそれらの対応するバスＢＣ１及びＢＣ２を介して結合される少なくとも一つのフラグレジスタＦＲｉを備えている。各フラグレジスタＦＲｉは、前述したフラグのそれぞれの値を選択されたアドレスで記憶するように構成されている。この目的のため、フラグレジスタは、ＣＰＵ  Ｃ１及びＤＳＰ  Ｃ２から知られるＮｉ個のアドレスに対応するＮｉ個の記憶領域を備えている。
【００２７】
第１のコアＣｉ（例えば、ＣＰＵ  Ｃ１）は、フラグレジスタＦＲｉ内の選択されたアドレスを有する一つのフラグに関連付けられた一つのタスク又は操作を完了すると、メモリＭへ転送するためのデータの対応するグループを、それらがその選択されたアドレスで記憶され得る順序で送信するとともに、メッセージをそれを必要とするフラグレジスタＦＲｉへと送信して、転送されたデータのグループに関連付けられたフラグを１にセットする。
【００２８】
メッセージは少なくとも一つのオクテット（又はワード）を含んでおり、各オクテットにおいて、各ビットは、その値が対応するフラグレジスタＦＲｉに記憶されるフラグを示している。より正確には、ワードビット値が０に等しい場合、このことは、対応するフラグ値が不変のままでなければならないことを意味しており、また、ワードビット値が１に等しい場合、このことは、対応するフラグ値が（０から１へ）変化させられなければならないことを意味している。例えば、８ビットのワードが（０００００００１）に等しいときには、第１のワードビット（１に等しい）に関連付けられた第１のフラグ値が１にセットされなければならず、一方、７個の他のワードビット（０に等しい）に関連付けられた７個の他のフラグ値は不変のままでなければならない。また、８ビットのワードが（０００１０００１）に等しいときには、第１及び第５のワードビット（１に等しい）に関連付けられた第１及び第５のフラグ値が１にセットされなければならず、一方、６個の他のワードビット（０に等しい）に関連付けられた６個の他のフラグ値は不変のままでなければならない。
【００２９】
そのため、メッセージ中に含められるワードに対応するフラグレジスタＦＲｉがこのメッセージを受け取ると、当該フラグレジスタは、１に等しいワードビットに関連付けられた各フラグ値だけを変化させる。即ち、フラグレジスタは、１に等しいワードビットに関連付けられた各フラグ値を（１に）セットする。操作又はタスクが完了されていない限り、対応するフラグ値が０に等しいままであることが前提とされている。
【００３０】
フラグレジスタＦＲｉに記憶されたフラグ値をポーリングする第２のコアＣｉ’（例えば、ＤＳＰ  Ｃ２）は、フラグの値の変化に気付くと、データの対応するグループが関連アドレスでメモリＭ内に記憶されることを認識する。そのため、第２のコアは、メモリＭにアクセスしてデータ転送へ移行することができる。データ転送が完了されると、第２のコアＣｉ’は、メッセージをそれを必要とするフラグレジスタＦＲｉへ送信して、転送されたデータのグループに関連付けられるフラグをリセットする。このメッセージは少なくとも一つのオクテット（又はワード）を含んでおり、各オクテットにおいて、各ビットは、その値が対応するフラグレジスタＦＲｉに記憶されるフラグを示している。
【００３１】
そのため、メッセージ中に含められるワードに対応するフラグレジスタＦＲｉがこのメッセージを受け取ると、当該フラグレジスタは、１に等しいワードビットに関連付けられた各フラグ値だけを変化させる。即ち、フラグレジスタは、１に等しいワードビットに関連付けられた各フラグ値を（０に）リセットする。
【００３２】
フラグレジスタＦＲｉに記憶されたフラグ値をポーリングする第１のコアＣｉは、フラグの値の変化に気付くと、既にメモリＭへ送信したデータの対応するグループが第２のコアＣｉ’に対して有効に転送されたことを認識する。
【００３３】
各フラグレジスタＦＲｉに対して二つのコアＣ１及びＣ２が同時にアクセスできるため、（フラグレジスタＦＲｉ内に第１のアドレスで記憶された）各フラグ値を、この第１のアドレスを指定する少なくとも一つのワードを含むメッセージ（又はコマンド）を用いて、コアのうちの一方（例えば、Ｃ１）によってセット又はリセットすることができ、一方、同時に、（このフラグレジスタＦＲｉ内に第２のアドレスで記憶された）少なくとも一つの他のフラグ値を、この第２のアドレスを指定する少なくとも一つのワードを含むメッセージ（又はコマンド）を用いて、他のコア（例えば、Ｃ２）によって同時にセット又はリセットすることができる。
【００３４】
図３に示される非限定的な実施例において、制御デバイスＤは、第１のバスＢＣ１及び第２のバスＢＣ２の両方に結合された第１の一方向フラグレジスタＦＲ１及び第２の一方向フラグレジスタＦＲ２を備えている。一方向フラグレジスタＦＲｉは、第１のコアＣｉのみが（それが実行しなければならない操作又はタスクに関連する）フラグ値をセットできる一方で第２のコアＣｉ’のみが（それが待っているデータのグループに関連する）フラグ値をリセットできるレジスタである。
【００３５】
図示の実施例において、第１のフラグレジスタＦＲ１は、ＣＰＵ  Ｃ１によって実行される操作又はタスクに専用のものであり、一方、第２のフラグレジスタＦＲ２は、ＤＳＰ  Ｃ２によって実行される操作又はタスクに専用のものである。従って、ＣＰＵ  Ｃ１は、第１のレジスタへフラグ値を１にセットすることができるとともに、第２のレジスタＦＲ２へフラグ値を０にリセットすることができ、一方、ＤＳＰ  Ｃ２は、第２のレジスタＦＲ２へフラグ値を１にセットすることができるとともに、第１のレジスタＦＲ１へフラグ値を０にリセットすることができる。
【００３６】
第１のフラグレジスタＦＲ１は、メモリＭから第２のコアＣ２へのデータ転送に関連するＮ１個のフラグのそれぞれの値を記憶するためのＮ１個の記憶領域を備えている。第２のフラグレジスタＦＲ２は、メモリＭから第１のコアＣ１へのデータ転送に関連するＮ２個のフラグのそれぞれの値を記憶するためのＮ２個の記憶領域を備えている。例えば、Ｎ１＝Ｎ２＝８である。
【００３７】
図３に示される非限定的な実施例では、制御デバイスＤが第１の一方向フラグレジスタＦＲ１と第２の一方向フラグレジスタＦＲ２とを備えているが、変形例において、制御デバイスＤは、いくつかの第１の一方向フラグレジスタＦＲ１及び／又はいくつかの第２の一方向フラグレジスタＦＲ２、又は、少なくとも一つの双方向フラグレジスタを備えることができる。最後の場合（双方向フラグレジスタ）において、総てのコアＣｉは、フラグレジスタＦＲｉのＮｉ個の記憶領域に記憶される任意のフラグ値をセット又はリセットすることができる。そのためには、同じバイナリ値０又は１が第１のコアＣ１及び第２のコアＣ２に関して二つの反対の意味を有している必要がある（即ち、０は第１のコアＣ１により０としてみなされるが、第２のコアＣ２によって１としてみなされる。）。
【００３８】
（一方向又は双方向）フラグレジスタＦＲｉの数が、記憶されなければならない（各コアＣｉに関連付けられる）フラグ値の数によって決まることに留意することは重要である。例えば、記憶するためのフラグ値が８個未満である場合には、一つのフラグレジスタだけで十分である。また、記憶するためのフラグ値が８個を超える場合には、二つ以上のフラグレジスタを設けなければならない。一般に、フラグの数は、バスＢＣｉが送信できるビット数によって決まる。
【００３９】
また、図３に示される非限定的な実施例では、制御デバイスＤがメモリから独立している。しかし、変形例では、図４に示されるように、メモリＭを制御デバイスＤの一部にすることができる。この場合には、フラグレジスタＦＲｉがレジスタＲの一つ以上の部分を構成してもよい。
【００４０】
ここで、図５及び図６を参照して、制御デバイスＤの実施の一形態の例について更に詳しく説明する。
【００４１】
図５は機能的な実施の形態の例を示しており、この実施の形態において、各フラグレジスタＦＲｉは、第１の制御モジュールＣＭ１と、第２の制御モジュールＣＭ２と、記憶モジュールＳＭと、を備えている。図５には、第１のフラグレジスタＦＲ１の機能的構造のみが示されている。しかし、第２のフラグレジスタＦＲ２の機能的構造は、第１のフラグレジスタＦＲ１の機能的構造と同一である。
【００４２】
記憶モジュールＳＭは、Ｎｉ個のフラグの現在の値（０又は１）をそれぞれ記憶するために、Ｎｉ個のそれぞれのアドレスを有するＮｉ個の１ビット記憶領域（１乃至Ｎｉ）を備えている。
【００４３】
第１の制御モジュールＣＭ１は、
−読み取り及び書き込みの目的で記憶モジュールＳＭのＮｉ個の異なる記憶領域（１乃至Ｎｉ）にアクセスするためのものであり、ＣＰＵ  Ｃ１のためのインタフェースとしての機能を果たすとともに、制御論理を実行する構成要素を備える第１の読み取り及び書き込みモジュールＲＷＭ１と、
−（ＣＰＵ  Ｃ１に接続される）第１のバスＢＣ１と第１の読み取り及び書き込みモジュールＲＷＭ１とに対して接続される第１の入力と、
−第１の読み取り及び書き込みモジュールＲＷＭ１と記憶モジュールＳＭのＮｉ個の異なる記憶領域（１乃至Ｎｉ）とに対して接続されるＮｉ個の第１の出力と、
を備えている。
【００４４】
第１の制御モジュールＣＭ１及び第２の制御モジュールＣＭ２は、同一の機能構造を有している。そのため、第２の制御モジュールＣＭ２は、
−読み取り及び書き込みの目的で記憶モジュールＳＭのＮｉ個の異なる記憶領域（１乃至Ｎｉ）にアクセスするためのものであり、ＤＳＰ  Ｃ２のためのインタフェースとしての機能を果たすとともに、制御論理を実行する構成要素を備える第２の読み取り及び書き込みモジュールＲＷＭ２と、
−（ＤＳＰ  Ｃ２に接続される）第２のバスＢＣ２と第２の読み取り及び書き込みモジュールＲＷＭ１とに対して接続される第２の入力と、
−第２の読み取り及び書き込みモジュールＲＷＭ２と記憶モジュールＳＭのＮｉ個の異なる記憶領域（１乃至Ｎｉ）とに対して接続されるＮｉ個の第２の出力と、
を備えている。
【００４５】
この対称的な構造のために、より正確には、第１の制御モジュールＣＭ１及び第２の制御モジュールＣＭ２のために、読み取り（ポーリング）及び／又は書き込みの目的でＣＰＵ  Ｃ１及びＤＳＰ  Ｃ２が同時に各フラグレジスタＦＲｉに対してアクセスすることができる。
【００４６】
好ましくは、第１の制御モジュールＣＭ１及び第２の制御モジュールＣＭ２のそれぞれは、それが結合されるコアＣｉから記憶モジュールＳＭのいくつかの記憶領域のそれぞれのアドレスを指定する一つのコマンド（メッセージ）を受け取るたびに、記憶モジュールＳＭのいくつかの記憶領域に記憶されたいくつかの（少なくとも二つの及び好ましくはＮｉ個の）フラグ値をほぼ同時にセットし及び／又はリセットすることができる。これは、各フラグレジスタＦＲｉがいくつかのビットのコマンドワードを受け取るという事実に起因する。
【００４７】
この目的のため、各フラグレジスタＦＲｉの第１及び第２の制御モジュールＣＭ１及びＣＭ２並びに記憶モジュールＳＭは、それぞれが一つのフラグ値の（即ち、１ビットの）プロセス（読み取り及び書き込み）に関与するＮｉ個の同一で並列な部分へと分割されてもよい。これらのＮｉ個のフラグレジスタ部分のうちの一つの非限定的な実施の形態の例が図６に示されている。
【００４８】
この図示のフラグレジスタ部分は、第１の制御モジュールＣＭ１のＮｉ個の部分（ＣＭ１１乃至ＣＭ１Ｎｉ）のうちの一つを構成する第１の制御サブモジュールＣＭ１ｊ（ｊ＝１乃至Ｎｉ）と、第２の制御モジュールＣＭ２のＮｉ個の部分（ＣＭ２１乃至ＣＭ２Ｎｉ）のうちの一つを構成する第２の制御モジュールＣＭ２ｊ（ｊ＝１乃至Ｎｉ）と、記憶モジュールＳＭのＮｉ個の部分のうちの一つを構成する記憶サブモジュールＳＭｊ（ｊ＝１乃至Ｎｉ）とを備えている。
【００４９】
例えば、図示のように、第１の制御サブモジュールＣＭ１ｊは、それぞれ第１の読み取り及び書き込みサブモジュールＲＷＭ１ｊを備えており、第１の読み取り及び書き込みサブモジュールＲＷＭ１ｊは、
−第１のバスＢＣ１に接続され且つフラグレジスタ内に書き込まれるべきｊ番目のフラグ値に対応する第１の入力（“ＢｉｔＮ  ｗｒｉｔｅ”）と、第１のバスＢＣ１に対して同様に接続され且つ書き込み操作を可能にする（０に等しい値は、行うための操作が存在しないことを意味しており、一方、１に等しい値は、書き込み操作がｊ番目のフラグ値に関して実行されなければならないことを意味している）第２の入力（“ｗｒｉｔｅ”）と、第１の制御モジュールＣＭ１のＮｉ個の出力のうちの一つの第１のサブ部分を構成する出力とを有する第１のＡＮＤゲートＡＧ１１と、
−第１のクロック（コアＣ１に専用のもの）からクロックサイクルを受け取るために第１のバスＢＣ１に対して接続される第１の入力（“ｃｌｏｃｋ”）と、第１のＡＮＤゲートＡＧ１１の出力に接続される第２の入力と、第１の制御モジュールＣＭ１のＮｉ個の出力のうちの一つの第２のサブ部分を構成する出力とを有する第２のＡＮＤゲートＡＧ１２と、
−第１のクロックからクロックサイクルを受け取るための第１の入力と、ｊ番目のフラグ値を受け取るための第２の入力（“Ｄ”）と、前記ｊ番目のフラグ値（“ＢｉｔＮ  ｒｅａｄ”）を第１のバスＢＣ１へ供給するための出力（“Ｑ”）とを有するフリップフロップＦ１（即ち、“ＦＦ２”）と、
を備えている。
【００５０】
第２の制御サブモジュールＣＭ２ｊは、それぞれ第２の読み取り及び書き込みサブモジュールＲＷＭ２ｊを備えており、第２の読み取り及び書き込みサブモジュールＲＷＭ２ｊは、
−第２のバスＢＣ２に接続され且つフラグレジスタ内に書き込まれるべきｊ番目のフラグ値に対応する第１の反転入力（“ＢｉｔＮ  ｗｒｉｔｅ”）と、第２のバスＢＣ２に対して同様に接続され且つ書き込み操作を可能にする第２の入力（“ｗｒｉｔｅ”）と、第２の制御モジュールＣＭ２のＮｉ個の出力のうちの一つの第１のサブ部分を構成する出力とを有する第１のＡＮＤゲートＡＧ２１と、
−第２のクロック（コアＣ２に専用のもの）からクロックサイクルを受け取るために第２のバスＢＣ２に対して接続される第１の入力（“ｃｌｏｃｋ”）と、第１のＡＮＤゲートＡＧ２１の出力に接続される第２の入力と、第２の制御モジュールＣＭ２のＮｉ個の出力のうちの一つの第２のサブ部分を構成する出力とを有する第２のＡＮＤゲートＡＧ２２と、
−第２のクロックからクロックサイクルを受け取るための第１の入力と、ｊ番目のフラグ値を受け取るための第２の入力（“Ｄ”）と、前記ｊ番目のフラグ値（“ＢｉｔＮ  ｒｅａｄ”）を第２のバスＢＣ２へ供給するための出力（“Ｑ”）とを有するフリップフロップＦ２（即ち、“ＦＦ３”）と、
を備えている。
【００５１】
各記憶サブモジュールＳＭｊは、
−第１の読み取り及び書き込みサブモジュールＲＷＭ１ｊの第１のＡＮＤゲートＡＧ１１の出力に接続される第１の入力と、第２の読み取り及び書き込みサブモジュールＲＷＭ２ｊの第１のＡＮＤゲートＡＧ２１の出力に接続される第２の反転入力と、出力とを有する第１のＯＲゲートＯＧ１と、
−第１の読み取り及び書き込みサブモジュールＲＷＭ１ｊの第２のＡＮＤゲートＡＧ１２の出力に接続される第１の入力と、第２の読み取り及び書き込みサブモジュールＲＷＭ２ｊの第２のＡＮＤゲートＡＧ２２の出力に接続される第２の入力と、出力とを有する第２のＯＲゲートＯＧ２と、
−第１のＯＲゲートＯＧ１の出力に接続される第１の入力（“Ｄ”）と、第２のＯＲゲートＯＧ２の出力に接続される第２の入力（“ＣＫ”−ｃｌｏｃｋ）と、前記ｊ番目のフラグ値（“ＢｉｔＮ  ｒｅａｄ”）を供給するための出力（“Ｑ”）とを有し、第２のＯＲゲートＯＧ２によって出力される信号の制御下で第１のＯＲゲートＯＧ１により出力される信号によって画定されるフラグ値を記憶するフリップフロップＦ３（即ち、“ＦＦ１”）と、
を備えている。
【００５２】
そのような構成を用いると、第１のフラグレジスタＦＲ１（メモリＭから第２のコアＣ２へのデータ転送に関連するフラグ値を含んでいる）のための規則の以下の（非限定的な）例を適用することができる。即ち、
−第１のコアＣ１が値“ｃｏｒｅ Ｃ１ ｗｒｉｔｅ ｖａｌｕｅ”を第１のフラグレジスタＦＲ１の記憶モジュールＳＭのｊ番目の記憶領域内に書き込む場合、第１のフラグレジスタは、操作“ｒｅｇｉｓｔｅｒ ｖａｌｕｅ＝ｒｅｇｉｓｔｅｒ ｖａｌｕｅ｜ｃｏｒｅ Ｃ１ ｗｒｉｔｅ ｖａｌｕｅ”を実行する。ここで、｜は、新たなレジスタ値を計算するためにビット間で適用するバイナリ演算子“ＯＲ”である。そのため、第１のフラグレジスタＦＲ１は、“ｃｏｒｅ Ｃ１ ｗｒｉｔｅ ｖａｌｕｅ”ビットが１にセットされるｊ番目の部分のフリップフロップＦ１又はＦ２に対してのみクロックサイクルを与え、それにより、他方のフリップフロップＦ２又はＦ１の同時非同期クロッキングを有する能力が他方側に残される。このことは、０と共に書き込まれ且つ１に等しいワードビットに関連付けられたフラグレジスタＦＲ１の総てのフラグ値が（１に）セットされるとともに、０又は１と共に書き込まれ且つ０に等しいワードビットに関連付けられたフラグレジスタＦＲ１の総てのフラグ値が不変のまま保持されることを意味する。
【００５３】
−第２のコアＣ２が値“ｃｏｒｅ Ｃ２ ｗｒｉｔｅ ｖａｌｕｅ”を第１のレジスタＦＲ１の記憶モジュールＳＭのｊ番目の記憶領域内に書き込む場合、第１のレジスタは、操作“ｒｅｇｉｓｔｅｒ ｖａｌｕｅ＝ｒｅｇｉｓｔｅｒ ｖａｌｕｅ  ＆  ｃｏｒｅ Ｃ２ ｗｒｉｔｅ ｖａｌｕｅ”を実行する。ここで、＆は、新たなレジスタ値を計算するためにビット間で適用するバイナリ演算子“ＡＮＤ”である。そのため、第１のフラグレジスタＦＲ１は、“ｃｏｒｅ Ｃ２ ｗｒｉｔｅ ｖａｌｕｅ”ビットが０にセットされるフリップフロップＦ１又はＦ２に対してのみクロックサイクルを与え、それにより、他方のフリップフロップＦ２又はＦ１の同時非同期クロッキングを有する能力が他方側に残される。このことは、１と共に書き込まれ且つ０に等しいワードビットに関連付けられたフラグレジスタＦＲ１の総てのフラグ値がクリアされる（０にリセットされる）とともに、０又は１と共に書き込まれ且つ１に等しいワードビットに関連付けられたフラグレジスタＦＲ１の総てのフラグ値が不変のまま保持されることを意味する。ワードビット値のこの使用反転は、第１のＡＮＤゲートＡＧ２１の第１の入力（“ＢｉｔＮ  ｗｒｉｔｅ”）が反転されるという事実に起因している。
【００５４】
これらの相反規則は、メモリＭから第１のコアＣ２へのデータ転送に関連するフラグ値を含む第２のフラグレジスタＦＲ２に関して当てはまる。
【００５５】
フラグレジスタＦＲｉ内のフラグは独立であるため、一つのクロックドメインから他のクロックドメインへの伝搬を許容するハードウェアを最小限度まで減少させることができる。確かに、一方のコア（Ｃ１又はＣ２）が（一つの書き込み命令（又はコマンド）内で）いくつかのフラグを同時に１にセットする場合には、総てのフラグが他方のコア（Ｃ２又はＣ１）のクロックの同じサイクル内にセットされることを保証する必要はない。
【００５６】
図６に示される実施の形態の例に対して適用され得る真理値表の一例が、以下に与えられている。
【表１】
2009514118.tif 000003
【００５７】
この真理値表は、第１のコアＣ１が１に等しいビット値だけを書き込むことができることを示している。例えば、第１のコアＣ１による０の（第１のコアが送信したワード（コマンド）中の０に等しいビットを介した）書き込みに対応する表の２番目のラインは、対応するフラグ値が不変のまま（Ｑｎ＋１＝Ｑｎ）であり且つ第２のコアＣ２が０に等しいフラグ値だけを書き込むことができることを示している。
【００５８】
制御デバイスＤは、一般に、ハードウェアモジュールを用いて実現される。
【００５９】
本発明により、フラグ値を画定するビットの記憶のために設けられる各記憶領域のサイズは１ビットに等しくなる。そのため、フラグ値の記憶のために設けられるメモリサイズが大幅に減少される。また、フラグ値がフラグレジスタ内に記憶されるため、データを記憶してコア間で転送するために共通メモリの総ての記憶領域を使用することができる。従って、転送される前に共通メモリ内に記憶できるデータの数を増加させることができ、あるいは、共通メモリのサイズを小さくすることができ、それにより、集積回路に組み込まれる他の電子部品のためにいくらかの空間を開放することができる。
【００６０】
本発明は、単なる一例として前述した制御デバイス、集積回路、及び、電子機器の実施の形態に限定されず、特許請求の範囲内にあると当業者によりみなされ得る総ての代替的な実施の形態を包含する。
【図面の簡単な説明】
【００６１】
【図１】二つのコアが共通のＤＰＲＡＭメモリに対して結合される従来の集積回路の一部を概略的に示している。
【図２】ＤＰＲＡＭメモリ及びこのＤＰＲＡＭメモリ内にフラグが記憶される方法を概略的に示している。
【図３】二つのコアがメモリと本発明の第１の実施例に係る制御デバイスとに対して結合される集積回路の一部を概略的に示している。
【図４】二つのコアが本発明の第２の実施例に係る制御デバイスに対して結合される集積回路の一部を概略的に示している。
【図５】図３に示される制御デバイスのフラグレジスタの実施の一形態の例を機能的に示している。
【図６】１ビットフラグ値のプロセスに専用のフラグレジスタの一部の実施の一形態の例を概略的に示している。
【図１】
2009514118.tif 000004
【図２】
2009514118.tif 000005
【図３】
2009514118.tif 000006
【図４】
2009514118.tif 000007
【図５】
2009514118.tif 000008
【図６】
2009514118.tif 000009
【国際調査報告】
2009514118.tif 000010
2009514118.tif 000011