(57)【要約】【課題】  SMP構成のような並列システムでは、サブシステムや共有リソースの数が多くなるとその制御と実装の複雑度が高くなり、システム拡張に伴うコストも増加する。【解決手段】  共有リソースへのアクセス経路は単一のI/Fとし、各サブシステムから共有リソースへのアクセスI/Fを統合する競合制御モジュールを独立に設ける。競合制御モジュールは各サブシステムから共有リソースへのアクセス要求をシリアル化する。共有リソースへアクセス完了するために必要な期間を１タイムスロットとした場合、サブシステムのアクセス期間を「サブシステム数×タイムスロット」とする。これにより、任意のアクセス期間での共有リソースへのアクセス数はサブシステム数以上とならず、サブシステムから共有リソースへのアクセスは固定サイクルに見えるため、バス制御回路を単純に構成できる。【選択図】  図１
2013174934.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理ノードと、前記複数の処理ノードが共有する共有リソースと、前記処理ノードの各々からアクセス要求を受け付け、前記アクセス要求をシリアル化し、シリアル化した順番で共有リソースにアクセスする競合制御モジュールを備える計算機システムであって、
前記競合制御モジュールは、前記処理ノードに設定した優先度に応じて前記アクセス要求をシリアル化し、前記処理ノードが前記共有リソースへアクセスするために要する期間をタイムスロットとする場合に、前記処理ノードの数と前記タイムスロットの積を前記複数の処理ノードが前記共有リソースにアクセスするアクセス期間として設定することを特徴とする計算機システム。
【請求項２】
複数の前記処理ノードから同時にアクセス要求を受け付けた場合に、前記競合制御モジュールは、各処理ノードに対して、周期的にタイムスロットの期間のアクセス許可を与えることを特徴とする請求項１記載の計算機システム。
【請求項３】
前記競合制御モジュールは、各処理ノードとのインターフェース部にプロトコル変換部を備え、
前記プロトコル変換部は、前記処理ノードから前記共有リソースへのアクセス方式が異なる場合に、当該処理ノードのアクセス方式を前記共有リソースが処理可能な共通のアクセス方式に変換することを特徴とする請求項１記載の計算機システム。
【請求項４】
複数の処理ノードと、前記複数の処理ノードが共有する共有リソースと、前記処理ノードの各々からアクセス要求を受け付け、前記アクセス要求をシリアル化し、シリアル化した順番で共有リソースにアクセスする競合制御モジュールを備える計算機システムであって、
前記競合制御モジュールは、Ｓ／Ｗ制御を併用し、各処理ノードから送られる「ＲＥＡＤ」または「ＷＲＩＴＥ」のアクセスタイプに対して１タイムスロットの期間のアクセス許可を与え、
前記競合制御モジュールは、複数の前記処理ノードから同時にアクセス要求を受け付けた場合に優先度の高い処理ノードのアクセス要求について処理し、他の処理ノードからのアクセス要求は無視することを特徴とする計算機システム。
【請求項５】
複数の処理ノードと、前記複数の処理ノードが共有する共有リソースと、前記処理ノードの各々からアクセス要求を受け付け、前記アクセス要求をシリアル化し、シリアル化した順番で共有リソースにアクセスする競合制御モジュールを備える計算機システムであって、
前記競合制御モジュールは、Ｓ／Ｗ制御を併用し、各処理ノードから送られる「ＲＥＡＤ」または「ＷＲＩＴＥ」のアクセスタイプに対して１タイムスロットの期間のアクセス許可を与え、
前記競合制御モジュールは、複数の前記処理ノードからアクセス要求を受け付けた場合に、最後にアクセスした処理ノードのみの結果を反映させることを特徴とする計算機システム。
【請求項６】
複数の処理ノードと、前記複数の処理ノードが共有する共有リソースと、前記処理ノードの各々からアクセス要求を受け付け、前記アクセス要求をシリアル化し、シリアル化した順番で共有リソースにアクセスする競合制御モジュールを備える計算機システムであって、
前記競合制御モジュールは、Ｓ／Ｗ制御を併用し、各処理ノードから送られる「ＲＥＡＤ」または「ＷＲＩＴＥ」のアクセスタイプに対して１タイムスロットの期間のアクセス許可を与え、
前記競合制御モジュールは、複数の前記処理ノードからアクセス要求を受け付けた場合に、前記処理ノードに対して無効のデータを返すか、あるいは書き込むことを特徴とする計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は複数の処理ノードを備え、各ノード間で共有するリソースにアクセスする際に競合制御が必要となる計算機システムに関するものである。
【背景技術】
【０００２】
近年は、消費電力の増大を抑えつつ性能向上を図る必要性がより高まっており、ＣＰＵ単体よりもＣＰＵを含めた複数の演算ノードを使用した並列処理により性能向上を図る傾向がある。
【０００３】
並列処理を行なう際の課題としては、複数の処理ノード（以下、「サブシステム」という）で使用するメモリやＩ/Ｏ等の共有リソースの競合制御の実現が挙げられる。競合制御はシステム性能上のボトルネックになるため、Ｈ/Ｗ機能のサポートにより性能向上を図るものが多い。しかし、競合制御をＨ/Ｗで実現する場合、以下の課題が発生し、Ｈ/Ｗ実装量の増加や複雑化によるコストアップが生じる。
【０００４】
（１）制御の複雑化：高速化のための制御方法の複雑化は実装を困難にするという課題がある。
（２）物理空間上の制約：Ｈ/Ｗとしては各サブシステムが独立に動作するため、同時に共有リソースへのアクセスが発生する場合も想定される。その場合、共有リソースのアクセス経路を各サブシステムで独立に保持すると共有リソース回路とサブシステム間の配線量が膨大になりＩＣ、ＰＷＢ等で実装する場合に配置配線が困難になるという課題がある。
（３）想定される状況の増加：競合処理を実装するにあたり、各サブシステムから発生するアクセス状況を整理し、その状況に対処する回路を設計し、検証する必要がある。共有リソース内の全回路にそれを適用することを考慮すると、システム拡張に際して、サブシステムの追加、共有リソースの追加に伴う、競合制御の複雑度が増えた場合に再設計に要するコストが増大するという課題がある。
【０００５】
Ｓ/Ｗのみでの競合制御においては、競合制御による処理のペナルティが大きくシステム性能に大きな影響を与えることになる。
【０００６】
現状では複数のＣＰＵコアを内蔵し、ＳＭＰ構成のシステムを構成可能なＩＣが販売されている。しかし現実に構成されるシステムは従来のシステムをサブシステムとし、サブシステムを統合する形で新たなシステムとして構成するケースが多い。その場合各サブシステムは異なるＨ/Ｗ、ＯＳで構成されていることが多く、またサブシステムの処理間の独立性が高い。このため、システムとしてはＡＭＰ構成が採用される場合が多い。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００２−９１９３３号公報
【特許文献２】特開平３−１３５６４７号公報
【特許文献３】特開平８−２１４００２号公報
【特許文献４】特開平８−２９７６３３号公報
【特許文献５】特開昭６０−３３６５５号公報
【特許文献６】特開昭６２−１０８３５１号公報
【特許文献７】実開昭６２−１２４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
並列処理を行なうシステムを構築する際、各サブシステム間の結合度が高く、サブシステム間の処理が密接に関連している場合はＳＭＰ構成を採用することになる。しかしながら、サブシステムや共有リソースの数が多くなるとその制御と実装の複雑度が飛躍的に高くなるという課題がある。
一方で、現実に構成されるシステムを考えると、システムを構成する各サブシステム間の結合度が比較的低く、サブシステム間の処理の独立性が高いものが多い。この場合は、サブシステム間の通信頻度も、共有リソースの競合制御の発生頻度も比較的に低くなる。このようなシステムにおいてもＳＭＰ構成でのシステム構築は可能であるが、サブシステムや共有リソースの増加に伴う制御と実装の複雑度の増加は避けられず、システム拡張に伴うコストの増加という課題がある。
このように、ＳＭＰからＡＭＰまでを含む並列システム全般において、共有リソースの競合制御を実現し、かつ、システム拡張に対応する際のコストアップを抑えることが課題となっている。
【０００９】
この発明は係る課題を解決するためになされたものであり、並列処理システムにおいて複数のサブシステム間で使用する共有リソースの競合制御処理を、その拡張性及び効率性の面で両立可能な計算機システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
この発明に係る計算機システムは、複数の処理ノードと、前記複数の処理ノードが共有する共有リソースと、前記処理ノードの各々からアクセス要求を受け付け、前記アクセス要求をシリアル化し、シリアル化した順番で共有リソースにアクセスする競合制御モジュールを備える計算機システムであって、前記競合制御モジュールは、前記処理ノードに設定した優先度に応じて前記アクセス要求をシリアル化し、前記処理ノードが前記共有リソースへアクセスするために要する期間をタイムスロットとする場合に、前記処理ノードの数と前記タイムスロットの積を前記複数の処理ノードが前記共有リソースにアクセスするアクセス期間として設定する。
【発明の効果】
【００１１】
この発明に係る競合制御モジュールによれば、並列処理システムにおける競合制御処理を、その拡張性及び効率性の面で両立した計算機システムを提供できる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態１の全体構成を示す図である。
【図２】本発明の実施形態１の競合制御の動作を説明する図である。
【図３】本発明の実施形態２の全体構成を示す図である。
【図４】本発明の実施形態３の全体構成を示す図である。
【図５】本発明の実施形態３の競合制御の動作を説明する図である。
【図６】本発明の実施形態４の競合制御の動作を説明する図である。
【発明を実施するための形態】
【００１３】
実施の形態１．
以下、図１〜図６を用いて本発明の実施の形態について説明する。図１は実施の形態１に係る計算機システムの構成例を示す図である。本実施の形態に係る計算機システムは、３つのサブシステム１、４、７と、メモリやＩ/Ｏ等の共有リソース１２と、競合制御モジュール１０を備える。
競合制御モジュール１０は、サブシステム１、４、７から共有リソース１２に向けて同時に発生しうるアクセス要求を保持するとともに、各アクセス要求を一連のシーケンスとして順次、実行制御するものであり、以下（１）〜（１０）の機能を有する。
【００１４】
（１）アクセス要求の保持機能：
各サブシステム１、４、７からのアクセス要求の情報を、１）アクセス先の情報は共有リソース１２のアドレス情報とし、２）読み出し時の情報は共有リソース１２から要求元のサブシステム１，４、７への転送データとし、３）書き込み時の情報は要求元のサブシステム１、４、７から共有リソース１２への転送データとして、サブシステム１、４、７からのアクセスが終了するまで、バッファとして保持する機能を持つ。
【００１５】
（２）アクセス要求先の判別機能とアクセス要求先への転送データの送受信機能：
各サブシステム１、４、７からのアクセス要求が発生した場合に、各サブシステムのアクセス要求を保持するバッファから、共有リソース１２のアドレス情報に基づき特定される共有リソース１２と共有リソース１２内のアクセス対象を判別する機能を持つ。
また、読み出し時に共有リソース１２に読み出し指示を出し、共有リソース１２内のアクセス対象からの情報を転送データとして受信し、サブシステム１、４、７に対してそのデータを転送する機能を持つ。
また、書き込み時にサブシステム１、４、７からの情報を転送データとして受信し、共有リソース１２内のアクセス対象への情報を転送データとして送信し、共有リソース１２への書き込み指示を出す機能を持つ。
【００１６】
（３）共有リソースへのアクセス時間固定化による実装容易化を実現する機能：
複数のサブシステム１、４、７が共有リソース１２に同時にアクセスするには、各サブシステム１、４、７に個別にアクセス経路を持つことが必要である。これをＦＰＧＡのような論理回路で実装する場合、競合対象が増えるたびに回路を設計し直す必要が生じる。また、経路の増加は回路の配置配線の難易度が上がることになり、実装上不利となる。よって、共有リソース１２へのアクセス経路は単一のＩ/Ｆとし、サブシステム１、４、７専用のＩ/Ｆを複数実装しない。
これは競合対象が増減した際に拡張が容易となるようにするためであり、各サブシステム１、４、７のアクセスＩ/Ｆを統合する機能を競合制御モジュール１０に設ける。
競合制御モジュール１０は、サブシステム１、４、７と接続する競合制御リンク３、６、９、及び、共有リソース１２と接続するアクセスリンク１１を持つ階層構成となる。
各競合制御リンク３、６、９からのアクセス要求に必要な情報は（１）アクセス要求の保持機能によって保持される。
競合制御モジュール１０は、各サブシステム１、４、７からのアクセス要求情報を「共有リソース」へのアクセスをシリアル化することで順次処理する。アクセスをシリアル化するため、各「サブシステム」は順番が回ってくるまでアクセスが待たされることになる。
【００１７】
ここで、サブシステム間の競合制御の発生頻度は低く、競合制御の処理時間が長くなっても他のシステムに与える影響は小さい。このため、システム全体の性能への影響も小さくなることが想定される。
そこで各サブシステムの共有リソースへのアクセスが完了するために必要な期間を１タイムスロットとした場合に、実際のサブシステム１、４、７のアクセス期間を「サブシステム数×タイムスロット」とする。
これにより、各サブシステムのアクセス発生頻度も「サブシステム数×タイムスロット」間に１回となり、任意の「サブシステム数×タイムスロット」区間での共有リソース１２へのアクセス数は「サブシステム」数以上となることはない。
よって、競合制御モジュール１０へアクセスが集中して待たされる場合でも、「サブシステム数×タイムスロット」区間内で各サブシステム１、４、７の１アクセスの返り値の確定は保障され、システム全体としては共有リソース１２へのアクセスは固定サイクルと扱うことができる。これにより、以下の効果がある。
１）通常の競合制御では、サブシステム１、４、７からの共有リソース１２へのアクセスは競合制御に伴う待ち時間の発生のためにアクセス期間が可変サイクルになる。
本発明によれば、アクセス期間を固定サイクルとして扱うことが可能となり、バス制御を簡便することが出来る。
２）アクセス権取得の失敗を想定する必要がないため、ＦＩＦＯ等で履歴を保持する必要がなく、余分な制御回路が不要となる。
３）アクセスが必ず成功するため、特定のサブシステム１、４、７のアクセス集中の防止のために優先度を動的に変更するといった制御が不要となる。そのため優先度は固定としてもシステム性能への影響はないため、競合制御を簡便にすることが出来る。
４）サブシステム１、４、７のアクセス期間を固定サイクルにすることで、システム性能の低下要因であるアクセスサイクルの延長を考慮する必要がない。このため、システム性能の見通しが容易になる効果を持つ。
【００１８】
（４）優先度に基づくアクセス要求の実行制御機能：
先の（３） 競合リソースのアクセス時間固定化による実装容易化を実現する機能：において、各サブシステム１、４、７から共有リソース１２へのアクセス要求情報をシリアル化することで順次処理する際の選択手法を、各サブシステム１、４、７に設定した優先度に従って行なう機能を有する。
【００１９】
（５）周期的に各サブシステムのアクセス可能期間を順次割り当てることによるアクセス要求の実行制御機能
先の（３） 競合リソースのアクセス時間固定化による実装容易化を実現する機能：において、各サブシステム１、４、７から共有リソース１２へのアクセス要求情報をシリアル化することで順次処理する際の選択手法を、各サブシステム１、４、７に対してサイクリックにアクセスタイミングをタイムスロット単位分開放する機能を有する。
【００２０】
（６）各サブシステムのアクセスインターフェースの相違を変換する機能
サブシステムが異なるインターフェースを持つ場合、先の（１）アクセス要求の保持機能：のモジュールが接続し、異なるインターフェースのアクセス情報を保持できるようにするためにアクセス方式の変換を行なう「プロトコル変換モジュール」を有する。
【００２１】
（７） 周期的にアクセスタイプに対してのアクセス可能期間を順次割り当てることによるアクセス要求の実行制御機能
先の（３） 競合リソースのアクセス時間固定化による実装容易化を実現する機能：において、各サブシステムから共有リソースへのアクセス要求情報をシリアル化することで順次処理する際の選択手法を、各アクセスタイプに対してサイクリックにアクセスタイミングをタイムスロット単位分開放する機能を有する。
【００２２】
（８）Ｓ/Ｗ制御による競合制御を利用することで競合制御部の制御を簡便にするための機能（その１）
先の（７）周期的にアクセスタイプに対してのアクセス可能期間を順次割り当てることによるアクセス要求の実行制御機能：において、競合制御方式としては、同時アクセスは発生しないことを想定した簡便な制御方式とする。具体的には複数の「サブシステム」からの同時アクセス発生時には「サブシステム」に設定された優先度の高い「サブシステム」の実行結果を反映するようにする。
【００２３】
（９）Ｓ/Ｗ制御による競合制御を利用することで、競合制御部の制御を簡便にするための機能（その２）
先の（７）周期的にアクセスタイプに対してのアクセス可能期間を順次割り当てることによるアクセス要求の実行制御機能：において、競合制御方式として、同時アクセスは発生しないことを想定した簡便な制御方式とする。具体的には複数の「サブシステム」からの同時アクセス発生時には最後のアクセスに伴う実行結果を反映するようにする。
【００２４】
（１０）Ｓ/Ｗ制御による競合制御を利用することで競合制御部の制御を簡便にするための機能（その３）
先の（７）周期的にアクセスタイプに対してのアクセス可能期間を順次割り当てることによるアクセス要求の実行制御機能：において、競合制御方式としては、同時アクセスは発生しないことを想定した簡便な制御方式とする。具体的には複数の「サブシステム」からの同時アクセス発生時には無効な値を書き込む、もしくは読み出すようにする。これにより実行結果を読み出すことで、異常状態が発生したことを容易に知ることができる。
【００２５】
図１において、サブシステム１、４、７は共有リソース１２にアクセスするために、上記機能を有する競合制御モジュール１０を介してアクセスする。
各サブシステム１、４、７は競合制御モジュール１０との間をそれぞれの競合制御リンク３、６、９で接続し、共有リソース１２は競合制御モジュール１０との間を１つのアクセスリンク１１で接続する。
このように、本実施の形態に係る計算機システムは、各サブシステム１、４、７が競合制御モジュール１０を競合制御リンク３、６、９、及びアクセスリンク１１を介して共有リソース１２へのアクセス制御を行なうシステムとして構成される。
【００２６】
各サブシステム１、４、７は独立に処理を実行可能であるが、サブシステム１、４、７間の連携をとりながら共有リソース１２を必要に応じてアクセスする必要がある。
各サブシステム１、４、７が共有リソース１２に実際のアクセスするために必要な期間をタイムスロットとした場合、各サブシステム１、４、７はアクセス要求のアクセス期間を「タイムスロット×サブシステム数」として発行する。
【００２７】
各サブシステム１、４、７は共有リソース１２の一貫性維持のため、排他制御しながら共有リソース１２へのアクセスが必要となるため、その排他制御を競合制御モジュール１０が行なう。
競合制御モジュール１０は、各サブシステム１、４、７からのアクセス要求を受け付ける競合制御リンク３、６、９を各サブシステム用に保持し、各サブシステムから受け付けたアクセス要求を競合制御モジュール１０内でシリアル化する。
競合制御モジュール１０からアクセスリンク１１を介してアクセスする際はタイムスロット期間のアクセスで終了する。
【００２８】
この際、同時に発生したアクセス要求は各サブシステム１、４、７に設定された優先度順にアクセスされる。優先度の低いサブシステムはアクセス待ちとなるが、その期間は「タイムスロット×サブシステム数」を越えることはない。
各サブシステムのアクセス発生頻度は「タイムスロット×サブシステム数」に１回である。「競合制御モジュール」と「共有リソース」間の「アクセスリンク」は「タイムスロット」しか占有しないためである。
【００２９】
図２は、タイムスロット数が２、サブシステム数が３となるシステムにおける競合制御の動作事例を示すタイムチャートである。
サブシステムの優先度は、サブシステム１＞サブシステム４＞サブシステム７とする。
図２において、サブシステムの間で競合がない場合は、サブシステム１の要求は２サイクルで終了し、後続の４サイクルは待ち状態となる。
【００３０】
サブシステム１、サブシステム４、サブシステム７からの要求が同時に発生した場合、は優先度に従う。
サブシステム１の要求は２サイクルで終了し、後続の４サイクルは次のアクセス開始が可能な状態になるまで待ち状態となる。サブシステム４の要求はサブシステム１の処理が終わるまでスタンバイ状態となり、２サイクル後に２サイクルのアクセスを実施し、その後の２サイクルは次のアクセス開始が可能な状態になるまで待ち状態となる。サブシステム７の要求はサブシステム１、サブシステム２の処理が終わるまでスタンバイ状態となり、４サイクル後に２サイクルのアクセスを実施する。
【００３１】
サブシステム１、サブシステム７からの要求が同時に発生し、１サイクル遅れてサブシステム４の要求が発生した場合、最初はサブシステム１、サブシステム７のみ存在するためサブシステム１が処理を実施する。サブシステム１の実行後は、サブシステム４、サブシステム７がスタンバイ状態として存在するので、サブシステム４が優先して処理され、続いてサブシステム７が処理される。
【００３２】
このように実施の形態１によれば、各サブシステムから見た共有リソース１２へのアクセス期間は固定サイクルとなり、競合制御モジュール１０の一貫性制御維持の機能を簡便にできる。
また、共有リソース１２へのアクセスインターフェースは競合制御モジュール１０との経路のみであるため、他のシステムとしての適用も容易となる。
また、サブシステムの追加の際も、競合制御モジュール１０への競合制御リンクを追加し、各サブシステムのアクセス期間を追加されたサブシステムのタイムスロットを延長した期間とすることで基本的な制御方法はそのまま利用できるため、複雑度が上がることもない。
【００３３】
実施の形態２．
実施の形態１では、サブシステム１、４、７が競合制御モジュール１０にアクセスするアクセス方式は同一であると仮定したが、実施の形態２では、サブシステムの共有リソースへの競合制御リンクのアクセス方式が異なる場合について説明する。
【００３４】
図３は、実施の形態２に係る計算機システムの構成を示す図である。本実施の形態に係る計算機システムは、複数のサブシステム１３、１６、１９と、実施の形態１と同じ機能を備える競合制御モジュール２３と、共有リソース２５と、プロトコル変換モジュール２１、２２を備える。
図３で、プロトコル変換モジュール２１、２２はそれぞれサブシステム１３、１６用のプロトコル変換モジュールであり、競合制御モジュールへのアクセス方式が異なる場合に、アクセス方式の違いを変換する。サブシステム１３、１６は、それぞれプロトコル変換モジュール２１、２２を介して競合制御モジュール２３にアクセスする。
【００３５】
このように実施の形態２に係る計算機システムはプロトコル変換モジュールを備えることにより、サブシステムが競合制御モジュールにアクセスする際のアクセス方式が異なる場合であっても、サブシステムはアクセス方式を変更することなく競合制御モジュールにアクセスが可能となる。これにより、アクセス方式の異なるサブシステムであっても、共有リソースの競合制御を実現できる。
【００３６】
実施の形態３．
実施の形態３に係る計算機システムでは、各々のサブシステムが競合モジュールにアクセスするタイミングを周期的に割り当てる構成を採用する。
図４は、実施の形態３に係る計算機システムの構成を示す図である。図５は、実施の形態３に係る競合制御の動作を説明する図である。
図４において実施の形態３に係る計算機システムは、複数のサブシステム２６、２８、３０と、競合制御モジュール３２と、共有リソース３６からなる。競合制御モジュール３２はセレクタ回路３３を備え、周期的にアクセスリンクへの許可を変更する機能を有する。
【００３７】
次に、動作について説明する。図５においてサブシステム２６、サブシステム２８、サブシステム３０からのアクセス要求は競合制御モジュール３２内のセレクタ回路３３で選択される。選択を行うセレクト信号３４はカウンタ等を利用した選択信号であり、周期的に順番を選択する。
その際に、選択先を変更する変更周期はタイムスロット単位となり、競合制御モジュールに接続される全てのサブシステムが順に選択されるため、１周期は「サブシステム×タイムスロット」となる。
【００３８】
図５に示した例では、サブシステム３０からの要求がどのタイミングで発生してもＣＡＳＥ１、ＣＡＳＥ２、ＣＡＳＥ３に示すように競合制御モジュール３２にアクセス可能となる。
サブシステム３０がアクセス可能となるタイミングは「タイムスロット×サブシステム数」の周期で訪れ、かつ、サブシステム３０のアクセス期間を「タイムスロット×サブシステム数」だけ確保しているため、共有リソース３６へのアクセスに必要な１タイムスロットの期間のアクセスが可能となる。
サブシステム２６、２８に関しても、サブシステム３０と同様にして共有リソース３６へアクセスすることが可能となる。
【００３９】
このように実施の形態３では、各サブシステムに対してサイクリックにアクセスタイミングをタイムスロット単位分開放するというように、周期的に各「サブシステム」に対してアクセス可能期間を順次割り当てるようにした。これにより、各サブシステムは周期的に共有リソースにアクセスすることが可能となる。
【００４０】
実施の形態４．
実施の形態３では、各々のサブシステムがアクセス可能となるアクセス期間を「タイムスロット×サブシステム数」としたが、実施の形態４ではサブシステムのアクセス期間を「アクセスタイプ数×タイムスロット」とする。
【００４１】
ここで、実施の形態４では、共有リソースへのアクセス制御を例えばセマフォ（semaphore）のようなＳ/Ｗ制御を併用することを前提とする。競合制御をＳ/Ｗ制御のセマフォを利用するとすることにより、競合は実際には発生しないという前提でH/Wを構成する。
競合が発生した場合は実行結果として不定扱いとなるが、その場合でもシステムとしてはアクセスが終了することを保障する。競合が発生した状態でのアクセス制御の方式としては、アクセスが同時に発生した場合は優先度に従った処理とし、優先度の高いサブシステムが処理され、他のサブシステムの要求は無視されるようにする。
【００４２】
図６は、サブシステム１、サブシステム２、サブシステム３の競合制御の選択する方式の動作の一例を説明する図である。
アクセスタイプは「ＲＥＡＤ」と「ＷＲＩＴＥ」の２種類であり、タイムスロットは２であるため「ＲＥＡＤ」、「ＷＲＩＴＥ」に対して２サイクルの実行区間と２サイクルの待ち区間が繰り返すことになる。これにより、各サブシステムのアクセス期間は４サイクルとなる。
競合が発生しない場合には、各サブシステムの要求は正常に処理される。各サブシステムからのアクセス発生タイミングと、「ＲＥＡＤ」、「ＷＲＩＴＥ」の実行区間がずれた場合であっても、各アクセスタイプの実行区間は４サイクルの周期で訪れ、各サブシステムのアクセス期間が４サイクルとなるため、共有リソースへのアクセスに必要なタイムスロット期間である２サイクルのアクセスは可能となる。
競合が発生した場合でも、優先度の高いサブシステムを処理するだけであるのでアクセスが終了しないような状態にはならない。
【００４３】
このように実施の形態４では、各サブシステムの共有リソース回路に対するアクセス要求情報をシリアル化する際の選択手法を、アクセスタイプ数に対して、サイクリックにアクセスタイミングをタイムスロット単位分開放するというような、アクセス可能期間を順次割り当てるようにし、各サブシステムのアクセス期間を「アクセスタイプ数×タイムスロット」とした。これにより、優先度に応じて共有リソースへの競合制御を行うことができる。
【００４４】
なお、競合が発生した状態でのアクセス制御の方式として、最後の要求処理を反映させる競合制御機能を持つようにしてもよい。
また、競合が発生した状態でのアクセス制御の方式として、無効のデータを返す、もしくは書き込む競合制御機能を持つようにしてもよい。
【００４５】
以上説明したように、本発明は、ＣＰＵコアのような処理ユニット間を接続する共有バスを利用したメモリ、Ｉ/Ｏのような共有リソースへのアクセス経路を持つ並列システムを１つのＩＣとして構成する場合、複数のICを基板に実装した１ボードシステム場合の競合制御方式の実装方式として利用できる。
【００４６】
また、ＰＣ、サーバで構成される１つのコンピューターシステムを、通信ネットワークで結合した並列システムとして構成する場合でも各コンピューターシステム間の共有リソースの競合制御方式の実装方式としても利用できる。
【符号の説明】
【００４７】
１ サブシステム、２ サブシステム１からのアクセス要求、３ サブシステム１の競合制御リンク、４ サブシステム２、５ サブシステム２からのアクセス要求、６ サブシステム２の競合制御リンク、７ サブシステム３、８ サブシステム３からのアクセス要求、９ サブシステム３の競合制御リンク、１０ 競合制御モジュール、１１ アクセスリンク、１２ 共有リソース、１３ サブシステム１、１４ サブシステム１の競合制御リンク、１５ サブシステム３のアクセス方式に変換したサブシステム１の競合リンク、１６ サブシステム２、１７ サブシステム２の競合制御リンク、１８ サブシステム３のアクセス方式に変換したサブシステム２の競合リンク、１９ サブシステム３、２０ サブシステム３の競合制御リンク、２１ サブシステム１用のプロトコル変換モジュール、２２ サブシステム２用のプロトコル変換モジュール、２３ 競合制御モジュール、２４ アクセスリンク、２５ 共有リソース、２６ サブシステム１、２７ サブシステム１の競合リンク、２８ サブシステム２、２９ サブシステム２の競合リンク、３０ サブシステム３、３１ サブシステム３の競合リンク、３２ 競合制御モジュール、３３ 周期的にアクセスリンクへの許可を変更するセレクタ回路、３４ セレクト信号、３５ アクセスリンク、３６ 共有リソース。
【図１】
2013174934.tif 000003
【図２】
2013174934.tif 000004
【図３】
2013174934.tif 000005
【図４】
2013174934.tif 000006
【図５】
2013174934.tif 000007
【図６】
2013174934.tif 000008