(57)【要約】      （修正有）【課題】処理システムと、処理システム内で通信する方法において、セマフォへのアトミックなアクセスを、バスプロトコルの枠組み内で、追加のハードウェアを最少にして、性能を劣化することなく、実施する技術を提供する。【解決手段】処理システムは、バスと、バスに連結されたメモリ領域と、バス上でメモリ領域へアクセスする複数の処理構成要素とを含み、各処理構成要素が、セマフォ操作を行って、バス上でのセマフォ位置への読み出し動作および書き込み動作を同時に要求することによって、メモリ領域へのアクセスを得るように構成される。【選択図】図３
2011048834.tif 000002
【特許請求の範囲】
【請求項１】
バスと、
バスに連結されたメモリ領域と、
バス上でメモリ領域へアクセスする複数の処理構成要素とを含み、各処理構成要素が、セマフォ操作を行って、セマフォ位置への読み出しおよび書き込み動作をバス上で同時に要求することによって、メモリ領域へのアクセスを得るように構成されている処理システム。
【請求項２】
各処理構成要素が、セマフォアドレスの２つのコピーをセマフォ位置へバス上で同時に同報通信することによって、セマフォ操作に対して読み出しおよび書き込み動作を要求するようにも構成されている請求項１記載の処理システム。
【請求項３】
各処理構成要素が、読み出し動作要求信号をセマフォアドレスの一方のコピーと共にセマフォ位置へ与え、書き込み動作要求信号をセマフォアドレスの他方のコピーと共にセマフォ位置へ与えることによって、セマフォ操作に対して読み出しおよび書き込み動作を要求するようにも構成されている請求項２記載の処理システム。
【請求項４】
各処理構成要素が、セマフォアドレスの２つのコピーを同時に同報通信した後で、更新されたセマフォをセマフォ位置へ同報通信することによって、セマフォ操作を行うようにも構成されている請求項２記載の処理システム。
【請求項５】
セマフォ位置が、処理構成要素の１つからのセマフォアドレスへの読み出し動作要求に応答して、セマフォを検索し、検索されたセマフォを前記処理構成要素の１つへ同報通信するように構成されていて、セマフォ位置が、セマフォアドレスへの書き込み動作要求に応答して、更新されたセマフォを記憶するようにも構成されている請求項４記載の処理システム。
【請求項６】
バスが、送信チャネルおよび受信チャネルをさらに含み、各処理構成要素が、セマフォアドレスの２つのコピー、次に、更新されたセマフォをセマフォ位置へ送信チャネル上で同報通信するようにも構成されていて、セマフォ位置が、検索されたセマフォを前記処理構成要素の１つへ受信チャネル上で同報通信するようにも構成されている請求項５記載の処理システム。
【請求項７】
各処理構成要素が、受信チャネル上で同報通信された検索されたセマフォから、メモリ領域が使用可能であるかどうかを判断するようにも構成されている請求項６記載の処理システム。
【請求項８】
各処理構成要素が、メモリ領域が使用可能であると判断されるときに、書き込みデータアドレスおよび書き込みデータをメモリ領域へ送信チャネル上で同報通信することによって、データをメモリ領域へ書き込むようにも構成されていて、各処理構成要素が、メモリ領域が使用可能であると判断されるときに、読み出しデータアドレスをメモリ領域へ送信チャネル上で同報通信することによって、メモリ領域からデータを読み出し、読み出しデータを受信チャネルから読み出すようにも構成されている請求項７記載の処理システム。
【請求項９】
バスが、複数のラインをもつ送信チャネルを含み、各処理構成要素が、ラインの第１の部分上でセマフォアドレスの一方のコピーを、ラインの第２の部分上でセマフォアドレスの他方のコピーを同報通信することによって、セマフォ操作に対して読み出しおよび書き込み動作を要求するようにも構成されている請求項２記載の処理システム。
【請求項１０】
各処理構成要素が、ラインの第１の部分上で読み出し動作要求信号をセマフォアドレスの前記一方のコピーと共に、ラインの第２の部分上で書き込み動作要求信号をセマフォアドレスの前記他方のコピーと共に与えるようにも構成されている請求項９記載の処理システム。
【請求項１１】
セマフォ位置が、要求された書き込み動作を行う前に、要求された読み出し動作を行うようにも構成されている請求項１０記載の処理システム。
【請求項１２】
バスと、
バスに連結されたメモリ領域と、
バス上でメモリ領域へアクセスする複数の処理構成要素とを含み、各処理構成要素が、セマフォ操作を行って、セマフォ位置への読み出しおよび書き込み動作をバス上で同時に要求することによって、メモリ領域へのアクセスを得る手段をもつ処理システム。
【請求項１３】
複数の処理構成要素によるバス上でのメモリ領域へのアクセスを管理する方法であって、
処理構成要素の１つによってセマフォ操作を行って、メモリ領域へのアクセスを得ることを含み、セマフォ操作が、セマフォ位置への読み出しおよび書き込み動作をバス上で同時に要求することによって行われることを含む方法。
【請求項１４】
セマフォ操作に対する読み出しおよび書き込み動作要求が、セマフォアドレスの２つのコピーを、前記処理構成要素の１つからセマフォ位置へバス上で同報通信することを含む請求項１３記載の方法。
【請求項１５】
セマフォ操作に対する読み出しおよび書き込み動作要求が、前記処理構成要素の１つから読み出し動作要求信号をセマフォアドレスの一方のコピーと共にセマフォ位置へ与えることと、前記処理構成要素の１つから書き込み動作要求信号をセマフォアドレスの他方のコピーと共にセマフォ位置へ与えることとをさらに含む請求項１４記載の方法。
【請求項１６】
前記処理構成要素の１つによってセマフォ操作を行うことが、セマフォアドレスの２つのコピーを同時に同報通信した後で、更新されたセマフォをセマフォ位置へバス上で同報通信することを含む請求項１４記載の方法。
【請求項１７】
前記処理構成要素の１つによるセマフォアドレスへの読み出し動作要求に応答して、セマフォ位置からセマフォを検索することと、検索されたセマフォをセマフォ位置から前記処理構成要素の１つへバス上で同報通信することと、セマフォアドレスへの書き込み動作要求に応答して、更新されたセマフォをセマフォ位置に記憶することとをさらに含む請求項１４記載の方法。
【請求項１８】
バスが、送信チャネルおよび受信チャネルをさらに含み、前記処理構成要素の１つが、セマフォアドレスの２つのコピー、次に、更新されたセマフォをセマフォ位置へ送信チャネル上で同報通信し、セマフォ位置が、検索されたセマフォを前記処理構成要素の１つへ受信チャネル上で同報通信する請求項１７記載の方法。
【請求項１９】
前記処理構成要素の１つにおいて、検索されたセマフォから、メモリ領域が使用可能であるかどうかを判断することをさらに含む請求項１８記載の方法。
【請求項２０】
前記処理構成要素の１つが、メモリ領域が使用可能であることを判断する方法であって、書き込みデータアドレスおよび書き込みデータを前記処理構成要素の１つからメモリ領域へ送信チャネル上で同報通信することによって、データをメモリ領域へ書き込むことをさらに含む請求項１９記載の方法。
【請求項２１】
前記処理構成要素の１つが、メモリ領域が使用可能であることを判断する方法であって、読み出しデータアドレスを前記処理構成要素の１つからメモリ領域へ送信チャネル上で同報通信することによって、メモリ領域からデータを読み出すことと、メモリ領域からの読み出しデータを前記処理構成要素の１つへ同報通信することとをさらに含む請求項１９記載の方法。
【請求項２２】
バスが、複数のラインをもつ送信チャネルを含み、各処理構成要素が、ラインの第１の部分上でセマフォアドレスの一方のコピーを、ラインの第２の部分上でセマフォアドレスの他方のコピーを同報通信することによって、セマフォ操作の読み出しおよび書き込み動作を要求するようにも構成されている請求項１４記載の方法。
【請求項２３】
ラインの第１の部分上で読み出し動作要求信号をセマフォアドレスの前記一方のコピーと共にセマフォ位置へ与えることと、ラインの第２の部分上で書き込み動作要求信号をセマフォアドレスの前記他方のコピーと共に与えることとをさらに含む請求項２２記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概ね、バスアーキテクチャを使用する処理システム、より具体的には、アトミックなセマフォ操作（atomic semaphore operation）を行う方法および装置に関する。
【背景技術】
【０００２】
コンピュータは、非常に複雑な処理タスクを、キーパッドをほんの数回打つだけで行うことができるようにすることによって、エレクトロニクス産業に大きな変化をもたらした。これらの非常に複雑なタスクは、バスを使用して、迅速で効率的に相互に通信する非常に多くの複雑な構成要素に関与する。バスとは、コンピュータ内の構成要素間のチャネルまたはパスである。
【０００３】
コンピュータ内に存在する多くのバスは、以前より、共有バスとして実施されてきた。共有バスは、任意の数の構成要素が共通のパスまたはチャネル上で通信する手段を与える。近年、共有バス技術は、二地点間交換接続（point-to-point switching connection）によって大部分入れ替った。二地点間交換接続は、バス上の２つの構成要素が相互に通信しているとき、それらを直接に接続する。多数の直接リンクを使用して、幾つかの構成要素が同時に通信するのを可能にすることができる。バスアービタを使用して、バス上での通信を管理することができる。
【０００４】
従来のバス設計は、独立した別々の読み出し、書き込み、およびアドレスチャネルを含んでいる。バスアービタ（bus arbitor）によってバスへのアクセスを許可された構成要素は、アドレスチャネル上にアドレスを置き、側波帯シグナリングを使用して、適切な読み出し／書き込み制御信号を送ることによって、読み出しまたは書き込み動作を行い得る。構成要素は、バス上の他方の構成要素にデータを書き込むとき、書き込みチャネル上でデータを送る。構成要素は、バス上の他方の構成要素からデータを読み出すとき、読み出しチャネル上でデータを受信する。
【０００５】
バスアーキテクチャを実施しているコンピュータは、メモリに接続された多数の処理構成要素を含み得る。メモリは、システムの設計者によって、または動作中に動的に、領域に分割され得る。各処理構成要素は、自分自身の専用メモリ領域をもち得る。他方で、“共有メモリ領域”は、多数の処理によってアクセスされ得るメモリ領域である。セマフォ（semaphore）は、共有メモリ領域へのアクセスを管理するのに使用され得る。“セマフォ”は、共有メモリ位置に存在するハードウェアまたはソフトウェアのフラグであり、共有資源のアクセス可能性を示す。共有メモリ領域へのアクセスを必要とする処理構成要素は、セマフォを読み出して、共有メモリ領域のアクセス可能性を判断する。セマフォが、共有メモリ領域が使用可能であることを示すとき、処理構成要素は、共有メモリ領域がロックされていることを示すようにセマフォを設定し、メモリへのアクセスを開始する。セマフォを読み出して、設定するプロセスは、アトミックに（atomically）に行われる必要がある。すなわち、他の処理構成要素は、このプロセス中に、セマフォにアクセス不可能であるべきである。
【０００６】
セマフォへのアトミックなアクセスは、従来のバスプロトコルに本来備わっていない。そうではなくて、これは、バスプロトコルに追加され、しばしば特別なハードウェアを要求する特別な場合である。追加のハードウェアは、処理構成要素およびバスアービタの複雑さを増し、システム内の処理遅延を追加することになり得る。したがって、バスプロトコルの枠組み内で、追加のハードウェアを最少にして、性能を劣化することなく、セマフォへのアトミックなアクセスを実施することが、当技術において必要とされている。
【発明の概要】
【０００７】
本発明の１つの態様において、処理システムは、バスと、バスに連結されたメモリ領域と、バス上でメモリ領域にアクセスする複数の処理構成要素とを含み、各処理構成要素が、セマフォ操作を行って、セマフォ位置への読み出しおよび書き込み動作をバス上で同時に要求することによって、メモリ領域へのアクセスを得るように構成されている。
【０００８】
本発明の別の態様では、処理システムは、バスと、バスに連結されたメモリ領域と、バス上でメモリ領域にアクセスする複数の処理構成要素とを含み、各処理構成要素が、セマフォ操作を行って、セマフォ位置への読み出しおよび書き込み動作をバス上で同時に要求することによって、メモリ領域へのアクセスを得る手段をもつ。
【０００９】
本発明のさらに別の態様では、複数の処理構成要素によるバス上でのメモリ領域へのアクセスを管理する方法が行われ得る。方法は、処理構成要素の１つによって、セマフォ操作を行って、メモリ領域へのアクセスを得ることを含み、セマフォ操作は、バス上でセマフォ位置への読み出しおよび書き込み動作を同時に要求することによって行われる。
【００１０】
本発明の種々の実施形態が例示的に示され、記載されている次の詳細な説明から、本発明の他の実施形態が、当業者に容易に明らかになることが分かる。理解されることになるように、本発明は、他の、および異なる実施形態が可能であり、その幾つかの細部は、種々の他の点において、その全てが本発明の意図および範囲から逸脱することなく、変更することができる。したがって、図面および詳細な記述は、本質的に例示的であって、限定的ではないと考えられる。
【図面の簡単な説明】
【００１１】
【図１】処理システムの例を示す概念ブロック図。
【図２】処理システム内の、処理構成要素と共有メモリ領域との間のバス上での二地点間接続の例を示す概念ブロック図。
【図３】２つの異なるアドレス位置を共有メモリ領域へバス上で同時に同報通信することを支援する処理システムにおいて使用されるバスプロトコルの例を示す概念ブロック図。
【図４】２本のチャネルのバスアーキテクチャを有する処理システムの例を示す概念ブロック図。
【発明を実施するための形態】
【００１２】
本発明の態様は、添付の図面において、制限的にではなく、例示的に示されている。
【００１３】
添付の図面に関連して後述される詳細な記述は、本発明の種々の実施形態の記述として意図されており、本発明が実行され得る唯一の実施形態を表わすことを意図されていない。詳細な記述は、本発明を完全に理解させるために、具体的な詳細を含んでいる。しかしながら、当業者には、本発明が、これらの具体的な詳細がなくても実行され得ることが明らかになるであろう。幾つかの例において、本発明の概念を不明瞭にするのを避けるために、周知の構造および構成要素がブロック図の形で示されている。
【００１４】
図１は、処理システムの例を示す概念ブロック図である。処理システム100は、コンピュータであるか、またはコンピュータ内に存在し、情報を、処理、検索、および記憶することができ得る。処理システム100は、スタンド アローン システムであるか、またはセルラ電話のようなデバイス内に埋め込まれ得る。図１に示されているように、処理システム100内の２つの処理構成要素102aおよび102bは、バス106を使用して、共通資源104を共有し得る。各処理構成要素102aおよび102bは、任意のタイプのバスマスタ構成要素（bus mastering component）であり、例えば、マイクロプロセッサ、ディジタル信号プロセッサ(digital signal processor, DSP)、ブリッジ、プログラム可能論理、ディスクリートなゲートまたはトランジスタ論理、あるいは任意の他の情報処理構成要素を含み得る。共通資源104は、任意のタイプのバススレーブ構成要素（bus slave component)であり、例えば、レジスタ、メモリ、ブリッジ、または情報を検索し、記憶することができる任意の他の構成要素であり得る。図１に示されている実施形態において、共通資源104は、メモリの領域である。“メモリ領域”という用語は、任意のメモリデバイス、メモリデバイスの任意の部分、メモリマップ領域、等を指す。
【００１５】
バスアービタ108は、共有メモリ領域104へのアクセスを管理するのに使用され得る。バスアービタ108の１つの実施形態において、共有メモリ領域104へアクセスしたい処理構成要素102aまたは102bは、読み出しまたは書き込み要求をバスアービタ108へ同報通信し得る。バスアービタ108を使用して、要求している処理構成要素102aまたは102bに、読み出しまたは書き込み動作を行うための共有メモリ領域104へのアクセスを許可するように、バス相互接続110を構成することができる。１つ以上の処理構成要素からの多数の読み出しまたは書き込み、あるいはこの両者の要求がバスアービタ108において競合する場合に、バスアービタ108は、読み出しまたは書き込み、あるいはこの両者の動作が行われる順序を判断し、それにしたがって相互接続110を動的に構成し得る。読み出しまたは書き込み、あるいはこの両者の動作の順序は、任意のバスアービトレーション方式に基づき得る。バスアービトレーション方式は、個別の応用および全体的な設計上の制約によって異なり得るが、通常、公平なやり方で、ある種の優先順位に基づく許可システムのバランスをとることを試みる。
【００１６】
バスアービトレーション方式へのオーバーレイとして、処理構成要素102aまたは102bは、共有メモリ領域への排他的なアクセスを得る試みにおいて、共有メモリ領域104とセマフォ操作を行い得る。セマフォ操作は、処理構成要素102aまたは102bが、セマフォの状態を判断し、共有メモリ領域104が使用可能であるかについて、セマフォを設定することを可能にする。この特定の例では、セマフォは、共有メモリ領域104に記憶されるが、当業者には分かるように、セマフォは、処理システム100内の何れの場所にも記憶され得る。処理構成要素102aまたは102bは、幾つかの異なるやり方で、セマフォ操作を行い得る。一例として、マイクロプロセッサとして構成されている処理構成要素102aまたは102bは、スワップ命令（swap instruction）によってセマフォ操作を行うソフトウェアを含み得る。スワップ命令は、セマフォを共有メモリ領域104から第１の内部レジスタへ読み出し、次に、更新されたセマフォを第２の内部レジスタから共有メモリ領域104内のセマフォ位置へ記憶するのに使用され得る。更新されたセマフォは、共有メモリ領域104に対するロックを示すフラグであり得る。セマフォ読み出し操作の後では、これが必ず当てはまるであろう。その理由は、要求している処理構成要素102aまたは102bはそのロックを得るか、または共有メモリ領域104は既にロックされているからである。これは、当技術において周知の試験および設定アルゴリズムにしたがっている。
【００１７】
セマフォ操作は、バス106上でのアトミックな読み出し／書き込み動作で行われなければならない。１つのアプローチでは、バスアービタ108に、セマフォ操作中、バスアービトレーションを１つの処理構成要素にロックさせる。一例として、共有メモリ領域104にアクセスしたい処理構成要素102aまたは102bは、ロックされている読み出し動作を要求し、セマフォの状態を判断し、次に、ロックされている書き込み動作を要求し、セマフォの状態を更新することによって、セマフォ操作を行い得る。バスアービタ108は、セマフォ位置に対するロックされている読み出し動作要求を検出すると、バス相互接続110を介して、処理構成要素102aまたは102bに、共有メモリ領域104へのアクセスを許可し、他の全てのバスマスタ構成要素から共有メモリ領域104への他の全ての読み出しまたは書き込み、あるいはこの両者の要求を、処理構成要素102aまたは102bがセマフォの状態を更新するまで遅らせることによって、バスアービトレーションをロックする。
【００１８】
このアプローチの欠点は、これが、処理構成要素102aまたは102bがシステムの設計者によって決定されたバスアービトレーション方式を無視（override）することを可能にしていることである。これは、処理システム100の性能に悪影響を与え得る。さらに加えて、バスアービタ108が、セマフォ操作を行う要求に応答して処理構成要素へバスアービトレーションをロックすると、バスアービタ108は、処理構成要素102aまたは102bをこの操作に制限できない。処理構成要素102aまたは102bは、自分が要求している帯域幅を自分が得ていないと思っているので、他方の処理構成要素を任意にロックアウトすることができる。
【００１９】
このアプローチの別の欠点は、これが、バスプロトコルの特別な場合であり、追加のハードウェアを必要とすることである。セマフォ操作が、バスプロトコルの枠組み内でアトミックに行われ得るならば、この追加のハードウェアを無くすことができる。アトミックなセマフォ操作を支援することができるバスプロトコルは、読み出しおよび書き込み動作の同時要求を可能にする。ここで、このプロトコルを実施するバスアーキテクチャの例を記載する。
【００２０】
図２は、処理システムにおける、処理構成要素と共有メモリ領域との間のバス上での二地点間接続を示す概念ブロック図である。処理構成要素102は、バスアービタ108の制御の下で、バス相互接続110を介して共有メモリ領域104へのアクセスを許可される。この例において、バス106の複雑さは、従来のバス構造において使用されているアドレスチャネルを無くすことによって緩和され得る。アドレスチャネルを無くすことは、書き込みチャネルを“送信チャネル”106aとして定義し直すことによって達成され得る。送信チャネル106aは、アドレス情報および書き込みデータを処理構成要素102から共有メモリ領域104へ時分割多重化方式で同報通信する一般的な媒体として使用され得る。このバスプロトコルの例は、２００４年４月２７日に出願された米国特許出願第１０／８３３，７１６号（代理人事件整理番号第０４０２３７号）（“A Multiple Address Two Channel Bus Structure”）に記載されており、その内容は、参照によって本明細書に取り入れられる。
【００２１】
処理構成要素102は、送信チャネル106a上でアドレスを同報通信し、同時に、側波帯シグナリングを使用して、書き込み動作を共有メモリ領域104へ知らせることによって、共有メモリ領域104へ書き込み得る。処理構成要素102は、アドレスの同報通信の後で、書き込みデータを送信チャネル106a上で同報通信してもよい。共有メモリ領域104は、書き込みデータを、送信チャネル106a上で既に同報通信されたアドレスを用いて、メモリの一区画に記憶し得る。
【００２２】
処理構成要素102は、送信チャネル106a上でアドレスを同報通信し、同時に、側波帯シグナリングを使用して、読み出し動作を共有メモリ領域104へ知らせることによって、共有メモリ領域104から読み出し得る。共有メモリ領域104は、データを、送信チャネル106a上で同報通信されたアドレスを用いて、メモリの一区画から読み出し、受信チャネル106b上で読み出しデータを処理構成要素102へ同報通信し得る。
【００２３】
バスプロトコルは、２つの異なるアドレス位置を送信チャネル106a上で共有メモリ領域104へ同時に同報通信することを支援するようにも構成され得る。この概念は、図３の概念ブロック図に示されている。バスアービタ108の制御の下での、バス相互接続110を介しての処理構成要素102と共有メモリ領域104との間の二地点間接続が示されている。この例において、送信チャネルの上の方の部分（アドレスＡ）は、共有メモリ領域104の第１のアドレス位置104aにアクセスするのに使用され、送信チャネルの下の方の部分(アドレスＢ)は、共有メモリ領域104の第２のアドレス位置104bにアクセスするのに使用され得る。この構成を使用して、処理構成要素102は、（１）２つの読み出し動作を同時に、（２）２つの書き込み動作を同時に、または（３）同じまたは異なるアドレスにおける同時の読み出しおよび書き込み動作を要求し得る。１つ以上の側波帯信号が、アドレス位置の各々と関係付けられ得る。
【００２４】
バスプロトコルは、暗示アドレス指定方式（implicit addressing scheme）を使用して、同じアドレスへの同時の読み出しおよび書き込み動作要求に対処し得る。一例として、処理構成要素102は、第１の動作が行われるアドレスをアドレスＡとして、第２の動作が行われるアドレスをアドレスＢとして同報通信し得る。共有メモリ領域104によって行われる読み出し／書き込み順序は、このアドレス指定方式に基づいて、順序の一貫性を維持し得る。したがって、同じアドレスが、アドレスＡおよびアドレスＢに対して使用され、処理構成要素102が、アドレスＡに対する書き込み動作と、アドレスＢに対する読み出し動作を知らせるときは、共有メモリ領域104は、このアドレスに新しく書き込まれたデータを、処理構成要素102へ送信するために受信チャネルへ与える前に、送信チャネル106a上で同報通信された書き込みデータが、共有メモリ領域104に書き込まれるまで待つことになる。逆に、処理構成要素102が、アドレスＡに対する読み出し動作と、アドレスＢに対する書き込み動作とを知らせるときは、共有メモリ領域104は、送信チャネル106aからの新しいデータを、共有メモリ領域104内のこのアドレスに書き込む前に、このアドレスのデータを受信チャネルに与えることになる。
【００２５】
図４は、２本のチャネルのバスアーキテクチャを有する処理システムの例を示す概念ブロック図である。２本のチャネルのバス構造は、図２および３に関連して記載されたものに似たバスプロトコルによって支援され得る。この例において、アトミックなセマフォ操作は、バスプロトコルの枠組み内で行われ得る。より具体的には、処理構成要素102aは、セマフォ位置への読み出しおよび書き込み動作を同時に要求し得る。これは、セマフォのアドレスを、アドレスＡおよびアドレスＢの両者として、送信チャネル上で相互接続110へ同報通信することによって達成され得る。バスプロトコルが、上述の暗示アドレス指定方式を使用するとき、処理構成要素102aは、アドレスＡに対する読み出し動作と、アドレスＢに対する書き込み動作とを知らせる。他の処理構成要素からの未解決（pending）の要求によって、バスアービタ108は、バス相互接続110が、処理構成要素102aに、共有メモリ領域104へのアクセスを許可するように直ちに構成されるか、または接続を遅らせるかを決定する。何れの場合においても、処理構成要素102aが、共有メモリ領域104へのアクセスを許可されると、読み出しおよび書き込み動作が、アトミックに行われ得る。バスアービタ108は、要求をセマフォ操作として認識し、共有メモリ領域104をロックする必要はない。もっと正確に言えば、バスアービタ108は、単に、バスアービトレーション方式にしたがって、処理構成要素102aに、共有メモリ領域104へのアクセスを許可するだけである。別の処理構成要素102bがセマフォ操作を行うとき、バスアービトレーション方式は、共有メモリ領域104へのアクセスを管理するのに使用され得るが、実際のセマフォ操作は、バスアービタ108には認識できない。
【００２６】
バスアービタ108が、処理構成要素102aに、共有メモリ領域104へのアクセスを許可すると、セマフォ操作に対するアトミックな読み出しおよび書き込み動作が行われ得る。送信チャネル106a上でアドレスＡおよびアドレスＢの両者を占めているセマフォアドレスは、関係付けられるシグナリングと共に、バス相互接続110を介して、共有メモリ領域104へルーティングされ得る。処理構成要素102aは、セマフォアドレスの同報通信の後で、次のクロックサイクル中に、更新されたセマフォを同報通信してもよく、これも、バス相互接続110を介して、共有メモリ領域104へルーティングされる。更新されたセマフォは、スワップ命令を使用して、または任意の他の手段によって、処理構成要素102a内の内部レジスタから同報通信され得る。共有メモリ領域104の一部であるか、またはそれとは別々であるメモリ制御装置(図示されていない)が、上述の暗示アドレス指定方式か、または任意の他の方法に基づいて、読み出しおよび書き込み動作が行われる順序を判断する。この場合に、メモリ制御装置は、アドレスＡに対する読み出し動作要求と、アドレスＢに対する書き込み動作要求とを検出し、その結果、セマフォアドレスからの読み出し動作が最初に行われると判断する。読み出し動作は、共有メモリ領域104からセマフォを検索し、それを、受信チャネル106b上でバス相互接続110を介して処理構成要素102aへ同報通信することによって行われる。読み出し動作が完了すると、書き込み動作が、送信チャネル106a上で受信した更新されたセマフォを、セマフォアドレスへ書き込むことによって行われる。更新されたセマフォは、セマフォ操作の結果として処理構成要素102aによって、または以前に別のバスマスタ構成要素によって、共有メモリ領域がロックされていることを示すフラグである。
【００２７】
処理構成要素102aは、再び、スワップ命令を使用して、または任意の他の手段によって、受信チャネル106b上で共有メモリ領域104から同報通信されたセマフォを、内部レジスタへロードする。これが行われると、バスアービタ108は、他のバスマスタ構成要素からの要求に対処するために、バス相互接続110を自由に再構成することができる。処理構成要素102aは、セマフォから、共有メモリ領域104が使用可能であるかどうかを判断する。処理構成要素102aは、共有メモリ領域104が使用可能でない(すなわち、ロックされている)と判断すると、共有メモリ領域104に対して読み出すことも、書き込むことも試みない。処理構成要素102aは、共有メモリ領域104が後で使用可能になるまで、セマフォ操作を行う試みを続け得る。他方で、処理構成要素102aは、共有メモリ領域104が使用可能である(すなわち、ロックされていない)と判断すると、バスアービタ108によって実施されるバスアービトレーション方式にしたがって、共有メモリ領域104に対して読み出しおよび書き込みを行い得る。他のバスマスタ構成要素は、処理構成要素102aによって既に書き込まれた更新されたセマフォによるロックを検出することになるので、それらは、共有メモリ領域104からの読み出しまたは書き込みを試みない。処理構成要素102aは、共有メモリ領域104へのアクセスを最早必要としなくなると、セマフォ位置への書き込み動作を行い、フラグを変更し、共有メモリ領域104がロックされていないことを示す。この書き込み動作の後で、他のバスマスタ構成要素は、成功のセマフォ操作によって、共有メモリ領域104にアクセスすることができ得る。
【００２８】
本明細書に開示されている実施形態に関連して記載された種々の例示的な論理ブロック、モジュール、回路、素子、および／または構成要素は、汎用プロセッサ、ディジタル信号プロセッサ（digital signal processor, DSP）、特定用途向け集積回路（application specific integrated circuit, ASIC）、フィールドプログラマブルゲートアレイ（field programmable gate array, FPGA）または他のプログラマブル論理デバイス、ディスクリートなゲートまたはトランジスタ論理、ディスクリートなハードウェア構成要素、あるいは本明細書に記載されている機能を行うように設計された任意の組合せで実施または実行され得る。汎用プロセッサは、マイクロプロセッサであってもよいが、その代わりに、プロセッサは、任意の従来のプロセッサ、制御装置、マイクロ制御装置、または状態機械であってもよい。プロセッサは、計算構成要素の組合せ、例えば、ＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰのコアに関連する１つ以上のマイクロプロセッサ、または任意の他のこのような構成としても実施され得る。
【００２９】
本明細書に開示されている実施形態に関連して記載された方法またはアルゴリズムは、ハードウェアにおいて、プロセッサによって実行されるソフトウェアモジュールにおいて、または２つの組合せにおいて直接的に具体化され得る。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、取り外し可能ディスク、ＣＤ−ＲＯＭ、または当技術において知られている任意の他の形態の記憶媒体の中に存在し得る。記憶媒体はプロセッサに接続され、プロセッサが記憶媒体から情報を読み出し、かつそこへ情報を書き込みことができるようにする。その代りに、記憶媒体は、プロセッサと一体構成であってもよい。
【００３０】
開示された実施形態のこれまでの記述は、当業者が本発明を作成または使用できるようにするために与えられている。これらの実施形態に対する種々の変更は、当業者には容易に明らかであり、本明細書に定められている一般的な原理は、本発明の意図および範囲から逸脱することなく、他の実施形態に適用され得る。したがって、本発明は、本明細書に示されている実施形態に制限されることを意図されているのではなく、特許請求項に一致する全範囲にしたがうことを意図されており、要素を単数形で記載していることは、“１つ、および１つのみ”を意味すると具体的に記載されていないならば、“１つ、および１つのみ”を意味するのではなく、“１つ以上”を意味することを意図されている。当業者に知られている、または知られることになる本開示の全体を通して記載されている種々の実施形態の要素に対して構造的および機能的に同等のものの全ては、参照によって本明細書に明示的に取り入れられ、特許請求項に含まれることを意図されている。さらに加えて、本明細書の開示は、そのような開示が特許請求項に明示的に記載されているかどうかに関わらず、公に供されることを意図されていない。特許請求項の要素が“〜のための手段（means for）”という語句を使用して、または方法の特許請求項の場合は、その要素が “〜のためのステップ（step for）”という語句を使用して明示的に記載されていないならば、その要素は、米国特許法第１１２条第６項の条項のもとで解釈されない。
【図１】
2011048834.tif 000003
【図２】
2011048834.tif 000004
【図３】
2011048834.tif 000005
【図４】
2011048834.tif 000006
【手続補正書】
【提出日】平成22年10月13日(2010.10.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
バスと、
バスに連結されたメモリ領域と、
バス上でメモリ領域へアクセスする複数の処理構成要素とを含み、各処理構成要素が、セマフォ操作を行って、同一のセマフォアドレスへの読み出しおよび書き込み動作をバス上で同時に要求することによって、メモリ領域へのアクセスを得るように構成され、
前記バスは同じサイクル内で同じセマフォアドレスを複数回送信するように構成されている処理システム。
【請求項２】
各処理構成要素が、セマフォアドレスの２つのコピーをセマフォ位置へバス上で同時に同報通信することによって、セマフォ操作に対して読み出しおよび書き込み動作を要求するようにも構成されている請求項１記載の処理システム。
【請求項３】
各処理構成要素が、読み出し動作要求信号をセマフォアドレスの一方のコピーと共にセマフォ位置へ与え、書き込み動作要求信号をセマフォアドレスの他方のコピーと共にセマフォ位置へ与えることによって、セマフォ操作に対して読み出しおよび書き込み動作を要求するようにも構成されている請求項２記載の処理システム。
【請求項４】
各処理構成要素が、セマフォアドレスの２つのコピーを同時に同報通信した後で、更新されたセマフォをセマフォ位置へ同報通信することによって、セマフォ操作を行うようにも構成されている請求項２記載の処理システム。
【請求項５】
セマフォ位置が、処理構成要素の１つからのセマフォアドレスへの読み出し動作要求に応答して、セマフォを検索し、検索されたセマフォを前記処理構成要素の１つへ同報通信するように構成されていて、セマフォ位置が、セマフォアドレスへの書き込み動作要求に応答して、更新されたセマフォを記憶するようにも構成されている請求項４記載の処理システム。
【請求項６】
バスが、送信チャネルおよび受信チャネルをさらに含み、各処理構成要素が、セマフォアドレスの２つのコピー、次に、更新されたセマフォをセマフォ位置へ送信チャネル上で同報通信するようにも構成されていて、セマフォ位置が、検索されたセマフォを前記処理構成要素の１つへ受信チャネル上で同報通信するようにも構成されている請求項５記載の処理システム。
【請求項７】
各処理構成要素が、受信チャネル上で同報通信された検索されたセマフォから、メモリ領域が使用可能であるかどうかを判断するようにも構成されている請求項６記載の処理システム。
【請求項８】
各処理構成要素が、メモリ領域が使用可能であると判断されるときに、書き込みデータアドレスおよび書き込みデータをメモリ領域へ送信チャネル上で同報通信することによって、データをメモリ領域へ書き込むようにも構成されていて、各処理構成要素が、メモリ領域が使用可能であると判断されるときに、読み出しデータアドレスをメモリ領域へ送信チャネル上で同報通信することによって、メモリ領域からデータを読み出し、読み出しデータを受信チャネルから読み出すようにも構成されている請求項７記載の処理システム。
【請求項９】
バスが、複数のラインをもつ送信チャネルを含み、各処理構成要素が、ラインの第１の部分上でセマフォアドレスの一方のコピーを、ラインの第２の部分上でセマフォアドレスの他方のコピーを同報通信することによって、セマフォ操作に対して読み出しおよび書き込み動作を要求するようにも構成されている請求項２記載の処理システム。
【請求項１０】
各処理構成要素が、ラインの第１の部分上で読み出し動作要求信号をセマフォアドレスの前記一方のコピーと共に、ラインの第２の部分上で書き込み動作要求信号をセマフォアドレスの前記他方のコピーと共に与えるようにも構成されている請求項９記載の処理システム。
【請求項１１】
セマフォ位置が、書き込み動作要求を行う前に、読み出し動作要求を行うようにも構成されている請求項１０記載の処理システム。
【請求項１２】
前記同時に要求された読み出し操作、書き込み操作はアトミックな操作を示さない請求項１に記載の処理システム。
【請求項１３】
前記同時に要求された読み出し操作、書き込み操作は単一のチャンネルを介して送信される請求項１に記載の処理システム。
【請求項１４】
前記同じセマフォアドレスに対する読み出しおよび書き込みの同時要求は、関連した側波帯信号を伴う同じサイクル内の複数の同じセマフォアドレスに対して行われ、この側波帯信号は前記複数の同じセマフォアドレスの１つが書き込み操作に対応し、他の１つの読み出し操作に対応することを示すものである、請求項１に記載の処理システム。
【請求項１５】
バスと、
バスに連結されたメモリ領域と、
バス上でメモリ領域へアクセスする複数の処理構成要素とを含み、各処理構成要素が、セマフォ操作を行って、同一のセマフォアドレスへの読み出しおよび書き込み動作をバス上で同時に要求することによって、メモリ領域へのアクセスを得る手段をもち、
前記バスは同じサイクル内で同じセマフォアドレスを複数回送信するように構成されている処理システム。
【請求項１６】
前記同時に要求された読み出し操作、書き込み操作はアトミックな操作を示さない請求項１５に記載の処理システム。
【請求項１７】
複数の処理構成要素によるバス上でのメモリ領域へのアクセスを管理する方法であって、
処理構成要素の１つによってセマフォ操作を行って、メモリ領域へのアクセスを得ることを含み、セマフォ操作が、同じセマフォアドレスへの読み出しおよび書き込み動作をバス上で同時に要求することによって行われることを含む方法。
【請求項１８】
セマフォ操作に対する読み出しおよび書き込み動作要求が、セマフォアドレスの２つのコピーを、前記処理構成要素の１つからセマフォ位置へバス上で同報通信することを含む請求項１７記載の方法。
【請求項１９】
セマフォ操作に対する読み出しおよび書き込み動作要求が、前記処理構成要素の１つから読み出し動作要求信号をセマフォアドレスの一方のコピーと共にセマフォ位置へ与えることと、前記処理構成要素の１つから書き込み動作要求信号をセマフォアドレスの他方のコピーと共にセマフォ位置へ与えることとをさらに含む請求項１８記載の方法。
【請求項２０】
前記処理構成要素の１つによってセマフォ操作を行うことが、セマフォアドレスの２つのコピーを同時に同報通信した後で、更新されたセマフォをセマフォ位置へバス上で同報通信することを含む請求項１８記載の方法。
【請求項２１】
前記処理構成要素の１つによるセマフォアドレスへの読み出し動作要求に応答して、セマフォ位置からセマフォを検索することと、検索されたセマフォをセマフォ位置から前記処理構成要素の１つへバス上で同報通信することと、セマフォアドレスへの書き込み動作要求に応答して、セマフォ位置の更新されたセマフォを記憶することをさらに含む請求項１８記載の方法。
【請求項２２】
バスが、送信チャネルおよび受信チャネルをさらに含み、前記処理構成要素の１つが、セマフォアドレスの２つのコピー、次に、更新されたセマフォをセマフォ位置へ送信チャネル上で同報通信し、セマフォ位置が、検索されたセマフォを前記処理構成要素の１つへ受信チャネル上で同報通信する請求項２１記載の方法。
【請求項２３】
前記処理構成要素の１つにおいて、検索されたセマフォから、メモリ領域が使用可能であるかどうかを判断することをさらに含む請求項２２記載の方法。
【請求項２４】
前記処理構成要素の１つがメモリ領域が使用可能であることを判断し、前記方法は更に、書き込みデータアドレスおよび書き込みデータを前記処理構成要素の１つからメモリ領域へ送信チャネル上で同報通信することによって、データをメモリ領域へ書き込むことを含む請求項２３記載の方法。
【請求項２５】
前記処理構成要素の１つがメモリ領域が使用可能であることを判断し、前記方法は更に、読み出しデータアドレスを前記処理構成要素の１つからメモリ領域へ送信チャネル上で同報通信することによって、メモリ領域からデータを読み出すことと、メモリ領域からの読み出しデータを前記処理構成要素の１つへ同報通信することを含む請求項２３記載の方法。
【請求項２６】
バスが複数のラインをもつ送信チャネルを含み、各処理構成要素が、ラインの第１の部分上でセマフォアドレスの一方のコピーを、ラインの第２の部分上でセマフォアドレスの他方のコピーを同報通信することによって、セマフォ操作の読み出しおよび書き込み動作を要求するようにも構成されている請求項１８記載の方法。
【請求項２７】
ラインの第１の部分上で読み出し動作要求信号をセマフォアドレスの前記一方のコピーと共にセマフォ位置へ与えることと、ラインの第２の部分上で書き込み動作要求信号をセマフォアドレスの前記他方のコピーと共に与えることとをさらに含む請求項２６記載の方法。
【請求項２８】
前記同時に要求された読み出し操作、書き込み操作はアトミックな操作を示さない請求項１７に記載の処理システム。
【請求項２９】
バスとメモリ領域と複数の処理構成要素とを有する処理システムによって実行される命令が記録されたコンピュータ可読媒体であって、
前記命令は、処理構成要素の１つによってセマフォ操作を行って、メモリ領域へのアクセスを得ることを含み、セマフォ操作が、同じセマフォアドレスへの読み出しおよび書き込み動作をバス上で同時に要求することにより行われるプログラムコードを有し、
前記バスは同じサイクル内で複数の同じセマフォアドレスを送信するように構成される、
コンピュータ可読媒体。
【外国語明細書】
2011048834000001.pdf