(57)【要約】【課題】複数のバスマスターが同一の資源にアクセスするコンピュータ装置において、いずれのバスマスターも該資源にアクセスしない無駄なタイミングの発生を抑制して、装置全体としての動作効率を向上させることができるバスマスターシステムを提供する。【解決手段】本発明に係るバスマスターシステム１は、複数のバスマスター１０〜１５と、複数のバスマスターによって共有されるコンピュータ資源１７と、複数のバスマスターの各々に対応し、コンピュータ資源にアクセスしようとするバスマスターがデータを記録するフラグ２０〜２５と、固定タイミングに該当するバスマスターに対応するフラグにデータが記録されていれば該バスマスターにコンピュータ資源へのアクセスを許可し、記録されていなければ該バスマスター以外のバスマスターにコンピュータ資源へのアクセスを許可する調停装置１６とを有する。【選択図】図１
2009146007.tif 000002
【特許請求の範囲】
【請求項１】
複数のバスマスターと、前記複数のバスマスターによって共有されるコンピュータ資源と、前記複数のバスマスターの各々に対応し、前記コンピュータ資源にアクセスしようとするバスマスターがデータを記録するフラグとを備え、
前記複数のバスマスターの各々に周期的に固定タイミングを割り当て、前記固定タイミングに該当するバスマスターに対応するフラグにデータが記録されていれば該バスマスターに前記コンピュータ資源へのアクセスを許可し、前記固定タイミングに該当するバスマスターに対応するフラグにデータが記録されていなければ該バスマスター以外のバスマスターに前記コンピュータ資源へのアクセスを許可する調停装置を有することを特徴とするバスマスターシステム。
【請求項２】
前記調停装置が、前記固定タイミングに該当するバスマスターに対応するフラグにデータが記録されていなければ該バスマスター以外で予め定められた優先度の高いバスマスターに前記コンピュータ資源へのアクセスを許可することを特徴とする、請求項１に記載のバスマスターシステム。
【請求項３】
前記調停装置が、前記固定タイミングに該当するバスマスターに対応するフラグにデータが記録されていなければ予め定められた優先度の最も高いバスマスターに前記コンピュータ資源へのアクセスを許可することを特徴とする、請求項２に記載のバスマスターシステム。
【請求項４】
前記調停装置が、前記固定タイミングに該当するバスマスターに対応するフラグにデータが記録されていなければ該バスマスター以外で前記対応するフラグにデータが記録されている中で予め定められた優先度の最も高いバスマスターに前記コンピュータ資源へのアクセスを許可することを特徴とする、請求項２に記載のバスマスターシステム。
【請求項５】
前記コンピュータ資源がＲＡＭであることを特徴とする、請求項１ないし請求項４のうちいずれか１項に記載のバスマスターシステム。
【請求項６】
前記複数のバスマスターが各々ＣＰＵであることを特徴とする、請求項１ないし請求項５のうちいずれか１項に記載のバスマスターシステム。
【請求項７】
請求項１ないし請求項６のうちいずれか１項に記載のバスマスターシステムを有することを特徴とするコンピュータ装置。
【請求項８】
複数のバスマスターと、前記複数のバスマスターによって共有されるコンピュータ資源と、前記複数のバスマスターの各々に対応するフラグとを有するバスマスターシステムにあって、前記複数のバスマスターの前記コンピュータ資源へのアクセスを調停する方法であって、
前記コンピュータ資源にアクセスしようとするバスマスターが自身に対応する前記フラグにデータを記録するフラグ記録工程と、
前記複数のバスマスターの各々に周期的に固定タイミングを割り当てる固定タイミング生成工程と、
前記固定タイミングに該当するバスマスターに対応するフラグにデータが記録されていれば該バスマスターに前記コンピュータ資源へのアクセスを許可し、前記固定タイミングに該当するバスマスターに対応するフラグにデータが記録されていなければ該バスマスター以外のバスマスターに前記コンピュータ資源へのアクセスを許可するアクセス許可工程と
を有することを特徴とするアクセス調停方法。
【請求項９】
前記アクセス許可工程が、前記固定タイミングに該当するバスマスターに対応するフラグにデータが記録されていなければ該バスマスター以外で予め定められた優先度の高いバスマスターに前記コンピュータ資源へのアクセスを許可することを特徴とする、請求項８に記載のアクセス調停方法。
【請求項１０】
複数のバスマスターと、前記複数のバスマスターによって共有されるコンピュータ資源と、前記複数のバスマスターの各々に対応するフラグと、前記複数のバスマスターの前記コンピュータ資源へのアクセスを調停する調停装置を有するバスマスターシステムにあって、前記調停装置が装備するコンピュータに、
前記複数のバスマスターの各々に周期的に固定タイミングを割り当てる処理と、
前記固定タイミングに該当するバスマスターに対応するフラグにデータが記録されていれば該バスマスターに前記コンピュータ資源へのアクセスを許可し、前記固定タイミングに該当するバスマスターに対応するフラグにデータが記録されていなければ該バスマスター以外のバスマスターに前記コンピュータ資源へのアクセスを許可する処理と
を実行させることを特徴とするアクセス調停プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のバスマスターを有するコンピュータ装置に関し、特に複数のバスマスターによって共有されるコンピュータ資源を有するコンピュータ装置に関する。
【背景技術】
【０００２】
バスマスターとは、バス上の転送制御を行うデバイスのことである。バスマスターがバスの使用権を得て、ターゲットとなるデバイスを指定してデータ転送が行われる。多くの場合、ＣＰＵがバスマスターとなるが、ＤＭＡコントローラーや、ＰＣＩバスに接続されたデバイスなどがバスマスターになることもある。
【０００３】
特に１台のコンピュータ装置に複数のＣＰＵを搭載したマルチプロセッサシステムで、ＲＡＭなどのコンピュータ資源（以後単に資源という）を複数のＣＰＵで共用する場合、それらのＣＰＵの各々がバスマスターとなる。その場合、各々のバスマスターからのアクセスを制御して資源に出力する調停回路が使われる。以後、複数のバスマスターと、該バスマスターに共有される資源と、調停回路とを合わせてバスマスターシステムという。
【０００４】
図６は、従来のバスマスターシステム４１の構成を示すブロック図である。バスマスターシステム４１で、複数のバスマスター５０〜５５（Ａ〜Ｆ、以後単にマスター５０〜５５という）が調停回路５６を経て、同一のＲＡＭ５７にアクセスする。調停回路５６は、マスター５０〜５５（Ａ〜Ｆ）の各々に固定タイミング位置を割り当ててＲＡＭ１７へのアクセスを許可する。
【０００５】
図７は、図６に開示した調停回路５６の動作周期とマスター５０〜５５（Ａ〜Ｆ）がＲＡＭ５７にアクセスするタイミングの一例を示す概念図である。調停回路５６は、マスター５０〜５５（Ａ〜Ｆ）に対して、ＲＡＭ５７にアクセスする固定タイミングを与える。調停回路５６は、６クロックで１周期となる動作周期を持つ。以後、その動作周期を１クロック単位でタイミング０〜５として表示する。図７においてはサイクル１〜２の２周期を示している。
【０００６】
調停回路５６は、タイミング０においてマスター５０（Ａ）に、タイミング１においてマスター５１（Ｂ）に、タイミング２においてマスター５２（Ｃ）に、タイミング３においてマスター５３（Ｄ）に、タイミング４においてマスター５４（Ｅ）に、タイミング５においてマスター５５（Ｆ）に、それぞれ固定タイミングを与える。
【０００７】
これに関連する特許文献として以下のものがある。特許文献１および２には、各々のバスマスターの優先順位情報を保持する複数の優先順位格納手段と、バスサイクルに応じてそれらの中から１つの優先順位情報を選択する優先順位情報選択手段とを有し、各々のバスマスターに周期的にバス使用権を与えるバス調停システムが開示されている。
【０００８】
【特許文献１】特開平１０−２２８４４６号公報
【特許文献２】特開２００４−１１０８５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
図６〜７で示したように、複数のマスター５０〜５５（Ａ〜Ｆ）が同一のＲＡＭ５７へアクセスするシステムにおいては、従来技術では各バスマスターは常に固定のタイミングでのみアクセス許可が与えられていた。
【００１０】
しかしながら、複数のマスター５０〜５５（Ａ〜Ｆ）が、常に同一の頻度でＲＡＭ５７へアクセスしようとするとは限らない。特定のマスターが調停回路５６に固定タイミングを与えられても、該マスターがＲＡＭ５７にアクセスしない場合がある。図７で示した例では、サイクル２のタイミング１はマスター５１（Ｂ）に与えられた固定タイミングであるが、マスター５１（Ｂ）はこのタイミングでＲＡＭ５７にアクセスしない。また、サイクル２のタイミング３はマスター５３（Ｄ）に与えられた固定タイミングであるが、マスター５３（Ｄ）はこのタイミングでＲＡＭ５７にアクセスしない。これらのタイミングは、図７では黒い丸印（●）で示されている。
【００１１】
このように、固定タイミングを与えられたマスターがＲＡＭ５７にアクセスしないタイミングがあると、そのタイミングにおいてＲＡＭ５７はいずれのマスター５０〜５５（Ａ〜Ｆ）からもアクセスされない無駄なタイミングが発生してしまうことになる。その一方で、ＲＡＭ５７へアクセスしようとする頻度の高いマスターは処理を待たされることになるので、コンピュータ装置全体としての動作効率が低下することになる。この問題は、ＲＡＭに限らず、複数のマスターが同一の資源にアクセスするシステムにおいて起こりうることである。
【００１２】
特許文献１および２の技術を図６〜７のバスマスターシステムに適用すれば、固定タイミングを与えられたマスターがＲＡＭにアクセスしない場合、該ＲＡＭを他のマスターにアクセスさせるようにすることはできる。しかしながら、これには複数の優先順位格納手段と優先順位情報選択手段などのような、複雑な回路構成が必要である。
【００１３】
本発明の目的は、複数のバスマスターが同一の資源にアクセスするコンピュータ装置において、いずれのバスマスターも該資源にアクセスしない無駄なタイミングの発生を抑制して、装置全体としての動作効率を向上させることができるバスマスターシステム、コンピュータ装置、アクセス調停方法およびアクセス調停プログラムを提供することにある。
【課題を解決するための手段】
【００１４】
上記目的を達成するため、本発明に係るバスマスターシステムは、複数のバスマスターと、複数のバスマスターによって共有されるコンピュータ資源と、複数のバスマスターの各々に対応し、コンピュータ資源にアクセスしようとするバスマスターがデータを記録するフラグと、複数のバスマスターの各々に周期的に固定タイミングを割り当て、固定タイミングに該当するバスマスターに対応するフラグにデータが記録されていれば該バスマスターにコンピュータ資源へのアクセスを許可し、固定タイミングに該当するバスマスターに対応するフラグにデータが記録されていなければ該バスマスター以外のバスマスターにコンピュータ資源へのアクセスを許可する調停装置とを有することを特徴とする。
【００１５】
上記目的を達成するため、本発明に係るコンピュータ装置は、請求項１ないし請求項６のうちいずれか１項に記載のバスマスターシステムを有することを特徴とする。
【００１６】
上記目的を達成するため、本発明に係るアクセス調停方法は、複数のバスマスターと、複数のバスマスターによって共有されるコンピュータ資源と、複数のバスマスターの各々に対応するフラグとを有するバスマスターシステムにあって、複数のバスマスターのコンピュータ資源へのアクセスを調停する方法であって、コンピュータ資源にアクセスしようとするバスマスターが自身に対応するフラグにデータを記録するフラグ記録工程と、複数のバスマスターの各々に周期的に固定タイミングを割り当てる固定タイミング生成工程と、固定タイミングに該当するバスマスターに対応するフラグにデータが記録されていれば該バスマスターにコンピュータ資源へのアクセスを許可し、固定タイミングに該当するバスマスターに対応するフラグにデータが記録されていなければ該バスマスター以外のバスマスターにコンピュータ資源へのアクセスを許可するアクセス許可工程とを有することを特徴とする。
【００１７】
上記目的を達成するため、本発明に係るアクセス調停プログラムは、複数のバスマスターと、複数のバスマスターによって共有されるコンピュータ資源と、複数のバスマスターの各々に対応するフラグと、複数のバスマスターのコンピュータ資源へのアクセスを調停する調停装置を有するバスマスターシステムにあって、調停装置が装備するコンピュータに、複数のバスマスターの各々に周期的に固定タイミングを割り当てる処理と、固定タイミングに該当するバスマスターに対応するフラグにデータが記録されていれば該バスマスターにコンピュータ資源へのアクセスを許可し、固定タイミングに該当するバスマスターに対応するフラグにデータが記録されていなければ該バスマスター以外のバスマスターにコンピュータ資源へのアクセスを許可する処理とを実行させることを特徴とする。
【発明の効果】
【００１８】
本発明は、上記したようにコンピュータ資源にアクセスしようとするバスマスターがフラグにデータを記録するように構成したので、バスマスターからコンピュータ資源へのアクセスの有無を容易に判別できる。これによって、複数のバスマスターが同一の資源にアクセスするコンピュータ装置において、いずれのバスマスターも該資源にアクセスしない無駄なタイミングの発生を抑制して、装置全体としての動作効率を向上させることができるという、従来にない優れたバスマスターシステム、コンピュータ装置、アクセス調停方法およびアクセス調停プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１９】
図１は、本発明の第１の実施の形態に係るバスマスターシステム１の構成を表すブロック図である。バスマスターシステム１で、マスター群１８に属する各々のマスターは、調停回路１６を経て、同一のＲＡＭ１７にアクセスする。マスター群１８は、マスター１０〜１５という複数のマスターを総称していう。また、マスター１０〜１５を各々マスターＡ〜Ｆという記号でいうことがある。ここでは、マスター１０〜１５（Ａ〜Ｆ）は各々ＣＰＵである。
【００２０】
なお、バスマスターシステム１はコンピュータ装置に含まれるものであるが、コンピュータ装置を構成するその他の要素については公知であり、以後の説明において言及する必要は特にないので、図示および説明を省略する。
【００２１】
調停回路１６は、各々のマスター１０〜１５（Ａ〜Ｆ）に対応し、該マスターの状態を記憶するレジスタであるフラグ２０〜２５（Ａ〜Ｆ）を有する。以後、該フラグの値を１とすることを「フラグを立てる」という。また該フラグの値を０とすることを「フラグを落とす」という。
【００２２】
マスター１０〜１５（Ａ〜Ｆ）は、ＲＡＭ１７に対してリードアクセスもしくはライトアクセス（以後、それらを総称して単にアクセスという）を実行する際、調停回路１６に対してフラグを立てると共にＲＡＭ１７へ制御信号を出力する。また、ＲＡＭ１７に対する該アクセスが終了した時は、フラグを落とす。
【００２３】
マスター１０〜１５（Ａ〜Ｆ）の中で、マスター１０（Ａ）は他のマスター１１〜１５（Ｂ〜Ｆ）と比べて、ＲＡＭ１７にアクセスしようとする頻度が高い。このため、以下に説明する動作で、マスター１１〜１５（Ｂ〜Ｆ）が自身に割り当てられた固定タイミング位置でＲＡＭ１７にアクセスしない場合には、該タイミングでマスター１０（Ａ）がＲＡＭ１７にアクセスするようにしている。つまり、調停回路１６はマスター１０（Ａ）を高優先とするように動作する。マスター１１〜１５（Ｂ〜Ｆ）は、優先度において同等である。
【００２４】
調停回路１６は、マスター１０〜１５（Ａ〜Ｆ）の各々に固定タイミング位置を割り当ててＲＡＭ１７へのアクセスを許可するが、該固定タイミング位置の各々において当該マスターから与えられたフラグ２０〜２５（Ａ〜Ｆ）が立っているか否かを判断し、立っていれば当該マスターから与えられた制御信号をＲＡＭ１７へ出力する事でメモリアクセスを行う。立っていなければ、マスター１０（Ａ）から与えられるフラグ２０（Ａ）が立っているか否か判断し、立っている時は、マスター１０（Ａ）から与えられたＲＡＭ１７の制御信号をＲＡＭ１７へ出力し、マスター１０（Ａ）のＲＡＭ１７へのアクセスを実現する。
【００２５】
該固定タイミング位置において、当該マスターから与えられたフラグ２１〜２５（Ｂ〜Ｆ）もマスター１０（Ａ）から与えられるフラグ２０（Ａ）も立っていなければ、いずれのマスター１０〜１５（Ａ〜Ｆ）も該固定タイミング位置においてＲＡＭ１７にアクセスしない。
【００２６】
図２は、図１に開示した調停回路１６の動作周期とマスター１０〜１５（Ａ〜Ｆ）がＲＡＭ１７にアクセスするタイミングの一例を示す概念図である。調停回路１６は、マスター１０〜１５（Ａ〜Ｆ）に対して、ＲＡＭ１７にアクセスする固定タイミングを与える。調停回路１６は、６クロックで１周期となる動作周期を持つ。以後、その動作周期を１クロック単位でタイミング０〜５として表示する。図２においてはサイクル１〜２の２周期を示している。
【００２７】
調停回路１６は、タイミング０においてマスター１０（Ａ）に、タイミング１においてマスター１１（Ｂ）に、タイミング２においてマスター１２（Ｃ）に、タイミング３においてマスター１３（Ｄ）に、タイミング４においてマスター１４（Ｅ）に、タイミング５においてマスター１５（Ｆ）に、それぞれ固定タイミングを与える。
【００２８】
いま、サイクル１のタイミング０において、マスター１０（Ａ）とマスター１１（Ｂ）から同時にＲＡＭ１７へアクセスしようとした。また、マスター１２（Ｃ）はタイミング１において、マスター１３（Ｄ）はタイミング２において、マスター１４（Ｅ）はタイミング３において、マスター１５（Ｆ）はタイミング４において、ＲＡＭ１７へアクセスしようとした。各々のマスター１０〜１５（Ａ〜Ｆ）は、ＲＡＭ１７へアクセスしようとする場合、自身に対応するフラグ２０〜２５（Ａ〜Ｆ）を立てる。
【００２９】
サイクル１のタイミング０はマスター１０（Ａ）の固定タイミングであり、かつフラグ２０（Ａ）が立っている。従って調停回路１６は、他のフラグに関係なく、マスター１０（Ａ）から与えられる制御信号をＲＡＭ１７へ出力する。
【００３０】
サイクル１のタイミング１はマスター１１（Ｂ）の固定タイミングであり、かつフラグ２１（Ｂ）が立っている。従って調停回路１６は、他のフラグに関係なく、マスター１１（Ｂ）から与えられる制御信号をＲＡＭ１７へ出力する。
【００３１】
サイクル１のタイミング２はマスター１２（Ｃ）の固定タイミングであり、かつフラグ２２（Ｃ）が立っている。従って調停回路１６は、他のフラグに関係なく、マスター１２（Ｃ）から与えられる制御信号をＲＡＭ１７へ出力する。
【００３２】
サイクル１のタイミング３はマスター１３（Ｄ）の固定タイミングであり、かつフラグ２３（Ｄ）が立っている。従って調停回路１６は、他のフラグに関係なく、マスター１３（Ｄ）から与えられる制御信号をＲＡＭ１７へ出力する。
【００３３】
サイクル１のタイミング４はマスター１４（Ｅ）の固定タイミングであり、かつフラグ２４（Ｅ）が立っている。従って調停回路１６は、他のフラグに関係なく、マスター１４（Ｅ）から与えられる制御信号をＲＡＭ１７へ出力する。
【００３４】
サイクル１のタイミング５はマスター１５（Ｆ）の固定タイミングであり、かつフラグ２５（Ｆ）が立っている。従って調停回路１６は、他のフラグに関係なく、マスター１５（Ｆ）から与えられる制御信号をＲＡＭ１７へ出力する。
【００３５】
高優先であるマスター１０（Ａ）は、サイクル１のタイミング０でＲＡＭ１７にアクセスした後も、その直後のサイクル１のタイミング１で再びフラグ２０（Ａ）を立て、ＲＡＭ１７にアクセスしようとしている。
【００３６】
それに対してマスター１０（Ａ）以外のマスター１１〜１５（Ｂ〜Ｆ）は、上記の各々のタイミングでＲＡＭ１７にアクセスした後は、各々に該当するフラグ２１〜２５（Ｂ〜Ｆ）を落としている。サイクル２においては、マスター１２（Ｃ）がタイミング１でフラグ２２（Ｃ）を立て、マスター１４（Ｅ）がタイミング３でフラグ２４（Ｅ）を立てるのみである。マスター１１（Ｂ）、マスター１３（Ｄ）、マスター１５（Ｆ）は、サイクル２終了までフラグ２１（Ｂ）、フラグ２３（Ｄ）、フラグ２５（Ｆ）を立てない。
【００３７】
サイクル２のタイミング０はマスター１０（Ａ）の固定タイミングであり、かつフラグ２０（Ａ）が立っている。従って調停回路１６は、他のフラグに関係なく、マスター１０（Ａ）から与えられる制御信号をＲＡＭ１７へ出力する。
【００３８】
サイクル２のタイミング１はマスター１１（Ｂ）の固定タイミングであるが、フラグ２１（Ｂ）が立っていない。従って調停回路１６は、フラグ２０（Ａ）を判断する。フラグ２０（Ａ）が立っているので、マスター１０（Ａ）から与えられる制御信号をＲＡＭ１７へ出力する。
【００３９】
サイクル２のタイミング２はマスター１２（Ｃ）の固定タイミングであり、かつフラグ２２（Ｃ）が立っている。従って調停回路１６は、他のフラグに関係なく、マスター１２（Ｃ）から与えられる制御信号をＲＡＭ１７へ出力する。
【００４０】
サイクル２のタイミング３はマスター１３（Ｄ）の固定タイミングであるが、フラグ２３（Ｄ）が立っていない。従って調停回路１６は、フラグ２０（Ａ）を判断する。フラグ２０（Ａ）が立っているので、マスター１０（Ａ）から与えられる制御信号をＲＡＭ１７へ出力する。
【００４１】
サイクル２のタイミング４はマスター１４（Ｅ）の固定タイミングであり、かつフラグ２４（Ｅ）が立っている。従って調停回路１６は、他のフラグに関係なく、マスター１４（Ｅ）から与えられる制御信号をＲＡＭ１７へ出力する。
【００４２】
サイクル２のタイミング５はマスター１５（Ｆ）の固定タイミングであるが、フラグ２５（Ｆ）が立っていない。従って調停回路１６は、フラグ２０（Ａ）を判断する。フラグ２０（Ａ）が立っているので、マスター１０（Ａ）から与えられる制御信号をＲＡＭ１７へ出力する。
【００４３】
図３は、図１〜２に開示したバスマスターシステム１で、各フラグ２０〜２５（Ａ〜Ｆ）の状態と、調停回路１６がＲＡＭ１７へのアクセスを許可するマスター１０〜１５（Ａ〜Ｆ）との対応を示す概念図である。前述のように、タイミング０〜５は各々マスター１０〜１５（Ａ〜Ｆ）に与えられる固定タイミングである。マスター１０（Ａ）は優先順位「１」であり、他のマスター１１〜１５（Ｂ〜Ｆ）はいずれも優先順位「２」となっている。なお、図３で「−」で示されているフラグは、該フラグの値には関係なくＲＡＭ１７へのアクセスを許可されるマスター１０〜１５（Ａ〜Ｆ）が決定されることを意味する。
【００４４】
タイミング０は、マスター１０（Ａ）の固定タイミングである。従って、タイミング０においてフラグ２０（Ａ）が立っていれば、他のフラグには関係なく、マスター１０（Ａ）がＲＡＭ１７にアクセスする。フラグ２０（Ａ）が立っていなければ、どのマスターもＲＡＭ１７にアクセスしない。
【００４５】
タイミング１は、マスター１１（Ｂ）の固定タイミングである。従って、タイミング１においてフラグ２１（Ｂ）が立っていれば、他のフラグには関係なく、マスター１１（Ｂ）がＲＡＭ１７にアクセスする。フラグ２１（Ｂ）が立っていず、かつフラグ２０（Ａ）が立っていれば、マスター１０（Ａ）がＲＡＭ１７にアクセスする。フラグ２１（Ｂ）もフラグ２０（Ａ）も立っていなければ、どのマスターもＲＡＭ１７にアクセスしない。
【００４６】
タイミング２は、マスター１２（Ｃ）の固定タイミングである。従って、タイミング２においてフラグ２２（Ｃ）が立っていれば、他のフラグには関係なく、マスター１２（Ｃ）がＲＡＭ１７にアクセスする。フラグ２２（Ｃ）が立っていず、かつフラグ２０（Ａ）が立っていれば、マスター１０（Ａ）がＲＡＭ１７にアクセスする。フラグ２２（Ｃ）もフラグ２０（Ａ）も立っていなければ、どのマスターもＲＡＭ１７にアクセスしない。
【００４７】
タイミング３は、マスター１３（Ｄ）の固定タイミングである。従って、タイミング３においてフラグ２３（Ｄ）が立っていれば、他のフラグには関係なく、マスター１３（Ｄ）がＲＡＭ１７にアクセスする。フラグ２３（Ｄ）が立っていず、かつフラグ２０（Ａ）が立っていれば、マスター１０（Ａ）がＲＡＭ１７にアクセスする。フラグ２３（Ｄ）もフラグ２０（Ａ）も立っていなければ、どのマスターもＲＡＭ１７にアクセスしない。
【００４８】
タイミング４は、マスター１４（Ｅ）の固定タイミングである。従って、タイミング４においてフラグ２４（Ｅ）が立っていれば、他のフラグには関係なく、マスター１４（Ｅ）がＲＡＭ１７にアクセスする。フラグ２４（Ｅ）が立っていず、かつフラグ２０（Ａ）が立っていれば、マスター１０（Ａ）がＲＡＭ１７にアクセスする。フラグ２４（Ｅ）もフラグ２０（Ａ）も立っていなければ、どのマスターもＲＡＭ１７にアクセスしない。
【００４９】
タイミング５は、マスター１５（Ｆ）の固定タイミングである。従って、タイミング５においてフラグ２５（Ｆ）が立っていれば、他のフラグには関係なく、マスター１５（Ｆ）がＲＡＭ１７にアクセスする。フラグ２５（Ｆ）が立っていず、かつフラグ２０（Ａ）が立っていれば、マスター１０（Ａ）がＲＡＭ１７にアクセスする。フラグ２５（Ｆ）もフラグ２０（Ａ）も立っていなければ、どのマスターもＲＡＭ１７にアクセスしない。
【００５０】
図４は、図１〜３に開示したバスマスターシステム１において、調停回路１６がＲＡＭ１７へのアクセスを許可するマスター１０〜１５（Ａ〜Ｆ）を決定する動作を示すフローチャートである。図４のフローチャートは、調停回路１６内部の論理演算などによってハードウェア的に実現してもよいし、また調停回路１６が装備するコンピュータ装置によって実行されるプログラムとして実現してもよい。
【００５１】
処理を開始し、クロック（図示せず）が固定タイミングをカウントすると（ステップＳ１０１）、調停回路１６は該固定タイミングに該当するマスターに対応するフラグを判断する（ステップＳ１０２）。該マスターに対応するフラグが立っていれば（ステップＳ１０２：ＹＥＳ）、該マスターのＲＡＭ１７へのアクセスを許可する（ステップＳ１０３）。
【００５２】
該マスターに対応するフラグが立っていれば（ステップＳ１０３：ＮＯ）、次に調停回路１６はマスター１０（Ａ）に対応するフラグ２０（Ａ）を判断する（ステップＳ１０４）。フラグ２０（Ａ）が立っていれば（ステップＳ１０４：ＹＥＳ）、マスター１０（Ａ）のＲＡＭ１７へのアクセスを許可する（ステップＳ１０５）。フラグ２０（Ａ）が立っていなければ（ステップＳ１０４：ＮＯ）、どのマスターに対してもＲＡＭ１７へのアクセスを許可しない（ステップＳ１０６）。
【００５３】
ステップＳ１０３、１０５、１０６が終了したら、ステップＳ１０１から処理を繰り返す。なお、ステップＳ１０１がタイミング０である場合は、該タイミングに該当するマスター１０（Ａ）に対応するフラグ２０（Ａ）に対してステップＳ１０２〜１０３のみを実行する（ステップＳ１０４〜１０５を省略する）ようにしてもよいが、そのようにしなくても図４のアルゴリズムの動作には特に支障はない。その場合でステップＳ１０２がＮＯであれば、ステップＳ１０４もＮＯであることは自明だからである。
【００５４】
以上に示した構成により、各々のマスター１０〜１５（Ａ〜Ｆ）は、ＲＡＭ１７に対して固定のバス転送帯域を確保することができる。さらに、高優先であるマスター１０（Ａ）は、固定のバス転送帯域を確保しつつ、他のマスター１１〜１５（Ｂ〜Ｆ）がＲＡＭ１７にアクセスを行わない時間を利用してメモリアクセスを実行する事で、バス転送帯域幅を最大６倍まで変動させたメモリアクセスを可能とする。これによって、いずれのマスター１０〜１５（Ａ〜Ｆ）もＲＡＭ１７にアクセスしない無駄なタイミングの発生を抑制して、バスマスターシステム１を含むコンピュータ装置全体としての動作効率を向上させることができる。
【００５５】
上記の構成は、従来の調停回路に、各々のマスター１０〜１５（Ａ〜Ｆ）に対応するフラグ２０〜２５（Ａ〜Ｆ）を付加し、それらに基づく簡単な論理演算を可能にすればよい。従って、特許文献１〜２の調停回路と比べても、非常に簡単な回路によって上記の効果を奏することが可能である。これにより、バスマスターシステム１の回路規模を小さくし、バスの転送速度を向上することができるので、バスマスターシステム１を含むコンピュータ装置の高速化および省電力化の効果を得ることもできる。
【００５６】
なお、バスマスターシステム１は６系統のマスターを有し、それに合わせて１サイクルを６タイミングとしたが、マスターの本数および１サイクルのタイミング数は任意である。また、マスターの本数と１サイクルのタイミング数とが必ずしも同数である必要もない。
【００５７】
図５は、本発明の第２の実施の形態に係るバスマスターシステム２０１で、各フラグ２０〜２５（Ａ〜Ｆ）の状態と、調停回路１６がＲＡＭ１７へのアクセスを許可するマスター１０〜１５（Ａ〜Ｆ）との対応を示す概念図である。バスマスターシステム２０１は、本発明の第１の実施の形態に係るバスマスターシステム１と同一のハードウェアの構成を持つので、同一の要素には同一の参照番号を付し、説明を省略する。
【００５８】
本発明の第２の実施の形態において、マスター１０〜１５（Ａ〜Ｆ）にはそれぞれ異なる優先順位が与えられる。マスター１０（Ａ）が最も高い優先順位「１」である。マスター１１（Ｂ）がそれに続く優先順位「２」である。マスター１２（Ｃ）が優先順位「３」、マスター１３（Ｄ）が優先順位「４」、マスター１４（Ｅ）が優先順位「５」、マスター１５（Ｆ）が最も低い優先順位「６」である。
【００５９】
調停回路１６は、マスター１０〜１５（Ａ〜Ｆ）の各々にＲＡＭ１７へのアクセスを許可する際、該固定タイミング位置の各々において当該マスターから与えられたフラグ２０〜２５（Ａ〜Ｆ）が立っているか否かを判断し、立っていれば当該マスターから与えられた制御信号をＲＡＭ１７へ出力する事でメモリアクセスを行う。立っていなければ、固定タイミング位置に該当しないフラグ２０〜２５（Ａ〜Ｆ）が立っているか否か判断し、フラグが立っている中で最も優先順位の高いマスター１０〜１５（Ａ〜Ｆ）から与えられたＲＡＭ１７の制御信号をＲＡＭ１７へ出力して該マスターのＲＡＭ１７へのアクセスを実現する。
【００６０】
図５において、タイミング０はマスター１０（Ａ）の固定タイミングである事から、フラグ２０（Ａ）が立っている場合は、他のフラグには関係なく、マスター１０（Ａ）がＲＡＭ１７にアクセスする。フラグ２０（Ａ）が立っていなければ、それ以外のフラグの中で、最も優先順位の高いフラグに該当するマスターがＲＡＭ１７に対してアクセスを行う。
【００６１】
タイミング１はマスター１１（Ｂ）の固定タイミングである事から、フラグ２１（Ｂ）が立っている場合は、他のフラグには関係なく、マスター１１（Ｂ）がＲＡＭ１７にアクセスする。フラグ２１（Ｂ）が立っていなければ、それ以外のフラグの中で、最も優先順位の高いフラグに該当するマスターがＲＡＭ１７に対してアクセスを行う。
【００６２】
なお、図３と同様に、図５においても「−」で示されているフラグは、該フラグの値には関係なくＲＡＭ１７へのアクセスを許可されるマスター１０〜１５（Ａ〜Ｆ）が決定されることを意味する。
【００６３】
以後タイミング２〜５においても同様に動作するので、図５においては記載を省略している。このようにすれば、いずれのマスター１０〜１５（Ａ〜Ｆ）もＲＡＭ１７にアクセスしない無駄なタイミングの発生をさらに少なくすることができ、装置全体としての動作効率をさらに向上させることができる。
【００６４】
以上で説明した第１および第２の実施の形態は、複数のマスターがＲＡＭ１７を共有する場合について説明したが、複数のマスターがＲＡＭ以外のたとえばディスク装置などの資源を共有する場合にももちろんこれらの実施の形態が適用できる。
【００６５】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることは言うまでもないことである。
【産業上の利用可能性】
【００６６】
本発明は、複数のバスマスターによって共有されるコンピュータ資源を有するコンピュータ装置に適用できる。
【図面の簡単な説明】
【００６７】
【図１】本発明の第１の実施の形態に係るバスマスターシステムの構成を表すブロック図である。
【図２】図１に開示した調停回路の動作周期とマスターＡ〜ＦがＲＡＭにアクセスするタイミングの一例を示す概念図である。
【図３】図１〜２に開示したバスマスターシステムで、各フラグＡ〜Ｆの状態と、調停回路がＲＡＭへのアクセスを許可するマスターＡ〜Ｆとの対応を示す概念図である。
【図４】図１〜３に開示したバスマスターシステムにおいて、調停回路がＲＡＭ１７へのアクセスを許可するマスターＡ〜Ｆを決定する動作を示すフローチャートである。
【図５】本発明の第２の実施の形態に係るバスマスターシステムで、各フラグＡ〜Ｆの状態と、調停回路１６がＲＡＭ１７へのアクセスを許可するマスターＡ〜Ｆとの対応を示す概念図である。
【図６】従来のバスマスターシステムの構成を示すブロック図である。
【図７】図６に開示した調停回路の動作周期とマスターＡ〜ＦがＲＡＭにアクセスするタイミングの一例を示す概念図である。
【符号の説明】
【００６８】
１、２０１  バスマスターシステム
１０  マスターＡ（バスマスター）
１１  マスターＢ（バスマスター）
１２  マスターＣ（バスマスター）
１３  マスターＤ（バスマスター）
１４  マスターＥ（バスマスター）
１５  マスターＦ（バスマスター）
１６  調停回路（調停装置）
１７  ＲＡＭ（コンピュータ資源）
１８  マスター群
２０〜２５  フラグ
【図１】
2009146007.tif 000003
【図２】
2009146007.tif 000004
【図３】
2009146007.tif 000005
【図４】
2009146007.tif 000006
【図５】
2009146007.tif 000007
【図６】
2009146007.tif 000008
【図７】
2009146007.tif 000009