JP2007072598A - バス調停方法及びバス調停プログラム - Google Patents

バス調停方法及びバス調停プログラム Download PDF

Info

Publication number
JP2007072598A
JP2007072598A JP2005256679A JP2005256679A JP2007072598A JP 2007072598 A JP2007072598 A JP 2007072598A JP 2005256679 A JP2005256679 A JP 2005256679A JP 2005256679 A JP2005256679 A JP 2005256679A JP 2007072598 A JP2007072598 A JP 2007072598A
Authority
JP
Japan
Prior art keywords
bus
task
cycles
usage
priority
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005256679A
Other languages
English (en)
Inventor
Hiroshi Iwabuchi
浩志 岩淵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Corp
Original Assignee
Fujifilm Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujifilm Corp filed Critical Fujifilm Corp
Priority to JP2005256679A priority Critical patent/JP2007072598A/ja
Priority to US11/513,210 priority patent/US7539805B2/en
Publication of JP2007072598A publication Critical patent/JP2007072598A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/3625Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a time dependent access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

【課題】優先度が高いタスクを実行する装置に、より効率的にバスが割り当てられるようにバスの使用率を定義したテーブルを作成し、テーブルに従ってバスの調停を行うことにより、優先度の高いタスクの実行時間を短縮できるバス調停方法及びバス調停プログラムを提供する。
【解決手段】バスに接続された複数の装置によって複数のタスクを実行可能なコンピュータにおける前記バスの調停を行うバス調停方法であって、所定のタイミングで、前記複数のタスクの各々の優先度を含むタスク情報を取得する工程と、前記タスク情報に基づいて、前記優先度の高いタスクを実行する装置に優先的に前記バスが割り当てられるように前記複数の装置の各々のバス使用条件を定義したバス使用条件情報を生成する工程と、前記バス使用条件情報に基づいて前記バスの調停を行う工程とを含む。
【選択図】図3

Description

本発明は、バスに接続された複数の装置により複数のタスクを実行するコンピュータのバス調停方法及びバス調停プログラムに関するもので、リアルタイム・マルチタスクOSとして利用されるものである。
CPUを含む入出力処理装置では、マルチタスクの場合、一般に優先度の高いタスクから順番に処理が実行される。ところが、実際には、CPUと各装置を接続するバスが他の処理により使用されていて、目的のタスクが優先的に処理されず、当該タスクの実行を待機しなければならないことがある。
従来の入出力処理装置の中には、本来処理されるべきタスクの代わりに、実行しやすいその他のタスクを適切に割り当て、現在使用中のバスを継続的に利用することにより処理効率の向上を図る装置がある(例えば、特許文献1参照)。
全体としての処理効率が向上することは好ましいが、その一方で、バスの割り当てにより、優先度の最も高いタスクが迅速に実行されない場合があることは問題であった。
特開平5−233525号公報 第2頁〜第5頁 図1
これは、タスクの優先順位だけでは、タスクの実行に使用する装置に対するバスの割り当てが優先度の高いタスクに対して適切に行われないことに起因すると考えられる。つまり、優先度の高いタスクを実行する装置に優先的にバスが割り当てられるようにバスの調停を行えば、優先度の高いタスクが実行されるまでの時間を短縮できることが期待される。
本発明は、上記事情に鑑みてなされたものであり、優先度の高いタスクが実行されるまでの時間を短縮することのできるバス調停方法及びバス調停プログラムを提供することを目的とする。
本発明のバス調停方法は、バスに接続された複数の装置によって複数のタスクを実行可能なコンピュータにおける前記バスの調停を行うバス調停方法であって、前記コンピュータが、所定のタイミングで、前記複数のタスクの各々の優先度と、前記複数のタスク毎の実行に必要な装置毎の前記タスクの実行に使用される割合を示す使用率とを含むタスク情報を取得する工程と、前記コンピュータが、前記優先度と前記使用率とに基づいて、前記優先度の高いタスクの実行に必要な装置に優先的に前記バスが割り当てられるように前記複数の装置の各々のバス使用条件を定義したバス使用条件情報を作成する工程と、前記コンピュータが、前記バス使用条件情報にしたがって前記バスの調停を行う工程とを含む。
上記方法によれば、優先度の高いタスクを実行する装置に優先的にバスを割り当てるようにすることができるため、優先度の高いタスクが実行されるまでの時間を短縮することができる。
また、本発明のバス調停方法は、前記優先度が、前記タスクの実行に際して単位時間当たりに起動すべきバスサイクル数で定義され、前記バス使用条件情報を作成する工程では、前記バスサイクル数と前記使用率とから、前記複数の装置毎に、前記複数のタスクの前記バスサイクル数の総和に対する前記装置が前記単位時間当たりに起動すべきバスサイクル数の比率であるバス使用率を算出し、前記バス使用率と、前記複数の装置の各々が前記バスを使用する際に最低限起動することのできるバスサイクルの数である最小バスサイクル数とから、前記装置に割り当てられた1回の前記バスの使用に際して前記装置が起動することのできる最大のバスサイクルの数である連続使用バスサイクル数を算出し、前記連続使用バスサイクル数を用いて前記バス使用条件情報を作成する。
また、本発明のバス調停方法は、前記コンピュータが、前記複数の装置からの前記バスの使用要求の有無を判定する工程を含み、前記バスの調停を行う工程では、前記バスの使用要求の無い装置には前記バスを割り当てないようにする。
上記方法によれば、バス使用要求が無い装置にはバスの割り当てが行われないため、不要なバス割り当てが阻止され、処理効率の低下を防止することができる。
また、本発明のバス調停方法において、前記所定のタイミングは、前記優先度が変更されたタイミングである。
上記方法によれば、タスクの実行中に当該タスクの優先度が動的に変化する場合でもバス使用条件情報が更新されるので、タスクの実行状態に応じて装置のバス使用条件が適宜適切に定義され、従って、優先度の最も高いタスクが実行されるまでの時間を短縮することができる。
また、本発明のバス調停方法は、前記コンピュータが、前記取得したタスク情報に含まれる前記優先度を、前記タスク情報を取得した時点で実行されているタスクが最も高くなるように設定する工程を含む。
上記方法によれば、タスク情報を取得した時点で実行されているタスクの優先度に適宜重み付けを行うことにより、このタスクの実行時間を短縮することができる。
本発明のバス調停プログラムは、コンピュータに、前記バス調停方法の各工程を実行させるためのプログラムである。
本発明によれば、優先度の高いタスクが実行されるまでの時間を短縮することのできるバス調停方法及びバス調停プログラムを提供することができる。
以下、本発明の実施形態について図面を参照して説明する。
図1は、本発明の実施の形態であるバス調停方法を実行するコンピュータの概念図である。
図1に示すコンピュータは、バスに接続された複数の装置によって複数のタスクを実行可能なコンピュータであり、バス10と、バスの調停を行うアービター20と、アービター20を介してバス10に接続された複数の装置(装置A31、装置B32、装置C33)とを備える。以下の説明では、装置A31を装置A、装置B32を装置B、装置C33を装置Cと記載する。
各装置31〜33へのバス10の割り当て(バスの調停)は、後述するバス使用条件情報テーブルに基づいて、アービター20が行う。アービター20は、バス調停プログラムを実行することで、バス10の調停を行う。以下、バス10のことを単にバスと省略して記載する。
ここで、バス使用条件情報テーブルの概要について説明する。
図2は、本発明の実施の形態におけるバス使用条件情報テーブルを概念的に示す図である。
バス使用条件情報テーブルとは、コンピュータに登録されているタスクの優先度に応じて各装置A〜Cのバス使用条件(各装置A〜Cがどのくらいの頻度でバスをどのくらい使用するのかを決めた条件)を定義したテーブルである。バス使用条件情報テーブルには、各装置A〜Cの装置ID、各装置A〜Cからのバス使用要求の有無、各装置A〜Cの連続使用バスサイクル数、実行周期、などの項目が記述されている。
バス使用条件情報テーブルの各項目について説明する。
「バス使用要求の有無」は、装置からバスの使用要求があったか否かを示す情報である。使用要求があった場合は「有」、ない場合は「無」が記録される。
「連続使用バスサイクル数」は、装置に割り当てられた1回のバスの使用に際して、該装置が起動することのできる最大のバスサイクルの数を示す情報である。連続使用バスサイクル数が多い程、1回の割り当てで、多くのデータの送受信が可能となる。又、連続使用バスサイクル数は、装置の最小バスサイクル数(装置がバスを使用する際に最低限起動することのできるバスサイクルの数)の整数倍となるように設定されている。
「実行周期」は、装置がどれくらいの頻度でバスを割り当てられるかを示す情報である。
図2に示すバス使用条件情報テーブルでは、例えば、装置Aの場合、1回のバス割り当てで起動することのできるバスサイクル数が4であり、3つの装置(装置A、B、C)へのバスの割り当てをA、B、Cの順番で巡回させる際、3回に1回の割合で割り当てを行うことが定義されている。
同様に、装置Bの場合、1回のバス割り当てで起動することのできるバスサイクル数が16であり、3つの装置へのバスの割り当てを巡回させる際、2回に1回の割合で割り当てを行うことが定義されている。しかし、装置Bはバス使用要求が無いため、この場合には装置Bへのバスの割り当ては行わない。このようにすることで、バス使用要求が無い装置にはバスの割り当てが行われないため、不要なバス割り当てが阻止され、処理効率の低下を防止することができる。
バス使用条件情報テーブルは、優先度の高いタスクの実行に必要な装置へ優先的にバスの割り当てがなされるように作成される。バス使用条件情報テーブルの具体的な作成手順については後述する。
次に、上記構成におけるアービター20の各装置へのバス割り当て動作について説明する。
図3は、本発明の実施形態におけるアービターのバス調停動作手順を示すフローチャートである。
はじめに、コンピュータを起動後、バス調停プログラムを実行したアービター20は、コンピュータに登録されているタスクから要求が発生したか否かを判定する(ステップS101)。
タスクからの要求がある場合、アービター20は、全タスクのタスク情報(このタスク情報は各タスクが持っている)を取得し(ステップS102)、取得したタスク情報と各装置A〜Cの最小バスサイクル数とに基づいてバス使用条件情報テーブルを作成する(ステップS103)。
タスクのタスク情報には、当該タスクが現在実行中か否かの情報、当該タスクの優先度、当該タスクの実行に必要な装置、該装置毎の当該タスクの実行に使用される割合を示す使用率、などの情報が含まれる。タスクからの要求は、例えばタスクの優先度が変更されたタイミングなどで発生する。タスクの優先度は、当該タスクの実行に際して単位時間(例えば1秒)当たりに起動すべきバスサイクル数で定義される。このバスサイクル数が多い程、タスクの優先度が高いものとする。
尚、タスク情報に含まれる優先度は、コンピュータが起動中、動的に変化するものであるが、アービター20は、タスク情報を取得した際に、その時点で実行されているタスクについて、そのタスク情報に含まれる優先度が最も高くなるように重み付けを行っても良い。こうすることで、実行中のタスクに使用する装置に優先的にバスの割り当てを行うことができる。これについては、以下の作成手順(2)で詳細に説明する。
次に、上記作成したバス使用条件情報テーブルにしたがって、アービター20がバスの調停を行う(ステップS104)。
尚、タスクがアービター20に対して要求を行うタイミングとしては、タスクの優先度が変更された時点の他にも、「コンピュータが起動した時点」、「各装置がバスの使用を終了した時点」、「タスクが登録及び抹消された時点」、「タスクが起動及び終了した時点」、「タスクが切り替えられた時点」、「タスクの実行に必要な装置が更新された時点」などがある。
また、図3のフローには記載していないが、コンピュータの起動中、アービター20は、各装置A〜Cからバスの使用要求が行われているか否かを常に判定し、その判定結果に応じてバス使用条件情報テーブルの「バス使用要求の有無」の情報を更新する。例えば、アービター20は、バス使用要求を行った装置については、バス使用条件情報テーブルの「バス使用要求の有無」の情報を「有」に更新し、「バス使用要求の有無」が「無」の装置(バス使用要求を行っていない装置)に対してはバスの割り当てを行わないようにする。つまり、図2に示すバス使用条件情報テーブルの場合は、装置Aと装置Cとの2つの装置でバスの割り当てを巡回させるようにする。これにより、バス使用要求を行っていない装置に対しては、バスを割り当てないようにすることができ、処理効率の低下を防止することができる。
以下、上記ステップS103におけるバス使用条件情報テーブルの具体的な作成手順について説明する。
作成手順(1)
本実施の形態では、「タスクの登録時」のタイミングで取得した「全タスクのタスク情報」に基づいてバス使用条件情報テーブルを作成する場合について説明する。ここでは、登録されているタスクがX,Y,Zの3つあるものとする。
図4は、全タスクから取得したタスク情報の一部を概念的に示す図である。
各タスクX,Y,Zのタスク情報には、装置A〜Cのうちの各タスクX,Y,Zの実行に使用される装置毎の使用率と、各タスクX,Y,Zの優先度であるバス使用量(バスサイクル数)とが含まれている。
図4の例では、タスクXの実行には装置A〜Cの3つの装置が使用され、その3つの装置の使用率は、装置Aが40%、装置Bが30%、装置Cが30%であることが示されている。また、タスクYの実行には装置A,Bの2つの装置が使用され、その2つの装置の使用率は、装置Aが60%、装置Bが40%であることが示されている。また、タスクZの実行には装置A,Cの2つの装置が使用され、その2つの装置の使用率は、装置Aが90%、装置Cが10%であることが示されている。また、図4の例では、タスクYが最も優先度が高いことが示されている。
図5は、各装置A〜Cの最小バスサイクル数情報を概念的に示す図である。図5に示す情報は、予めコンピュータ内に記憶されているものとする。
アービター20は、図4に示すタスク情報と図5に示す最小バスサイクル数情報に基づいて、以下に示すように各装置A〜Cの連続使用バスサイクル数を算出する。
まず、以下の式により総バス使用量(各タスクX〜Zのバス使用量の総和)を算出する。
総バス使用量=タスクXのバス使用量+タスクYのバス使用量+タスクZのバス使用量
(図4のタスク情報では、50+60+10=120となる)
次に、以下の式により、各装置A〜Cのバス使用量(各装置A〜Cが単位時間当たりに起動すべきバスサイクル数)を算出する。
装置Aのバス使用量=タスクXの装置A使用率×タスクXのバス使用量
+タスクYの装置A使用率×タスクYのバス使用量
+タスクZの装置A使用率×タスクZのバス使用量
(図4のタスク情報では、40%×50+60%×60+90%×10=65となる)
装置Bのバス使用量=タスクXの装置B使用率×タスクXのバス使用量
+タスクYの装置B使用率×タスクYのバス使用量
+タスクZの装置B使用率×タスクZのバス使用量
(図4のタスク情報では、30%×50+40%×60+0%×10=39となる)
装置Cのバス使用量=タスクXの装置C使用率×タスクXのバス使用量
+タスクYの装置C使用率×タスクYのバス使用量
+タスクZの装置C使用率×タスクZのバス使用量
(図4のタスク情報では、30%×50+0%×60+10%×10=16となる)
次に、以下の式により、各装置A〜Cのバス使用率を算出する。
装置Aのバス使用率=装置Aのバス使用量/総バス使用量
(図4のタスク情報では、65/120=約0.542となる)
装置Bのバス使用率=装置Bのバス使用量/総バス使用量
(図4のタスク情報では、39/120=約0.325となる)
装置Cのバス使用率=装置Cのバス使用量/総バス使用量
(図4のタスク情報では、16/120=約0.133となる)
次に、上記の算出に基づいて下記3式の連立方程式を解く。但し、完全な等式となる必要はなく、3式が最も近似するようにそれぞれの係数を求める。
K×装置Aのバス使用率==Na×装置Aの最小バスサイクル数
K×装置Bのバス使用率==Nb×装置Bの最小バスサイクル数
K×装置Cのバス使用率==Nc×装置Cの最小バスサイクル数
尚、上記の係数K、Na、Nb、Ncはいずれも整数値で、係数Kがなるべく小さな数値となるように各係数値を算出する。具体的には、最小バスサイクル数が最も大きな装置の係数N(本例ではNc)を1とした場合から開始して算出すればよい。
(図4のタスク情報と図5の最小バスサイクル数情報では、Nc=1とした場合、K=244、Na=33、Nb=5と算出される)
求める連続使用バスサイクル数は下記により算出される。
装置Aの連続使用バスサイクル数=Na×装置Aの最小バスサイクル数
(例では、33×4=132と算出される)
装置Bの連続使用バスサイクル数=Nb×装置Bの最小バスサイクル数
(例では、5×16=80と算出される)
装置Cの連続使用バスサイクル数=Nc×装置Cの最小バスサイクル数
(例では、1×32=32と算出される)
アービター20は、このように算出された各装置A〜Cの連続使用バスサイクル数を用いて、バス使用条件情報テーブルを作成する。
図6は、以上の計算の結果得られた連続バスサイクル数を用いて作成したバス使用条件情報テーブルを概念的に示す図である。
このバス使用条件情報テーブルによれば、実行周期がすべて1であるため、装置A:132サイクル、装置B:80サイクル、装置C:32サイクル、の順番でバスの割り当てが巡回する。このバス使用条件情報テーブルにしたがってバスの調停を行うと、装置Aにより優先的にバスの割り当てが行われることになるため、優先度の高いタスクYが実行されるまでの時間を効率的に短縮することができる。
ところで、図6のバス使用条件情報テーブルでは、連続使用バスサイクル数を1回ですべて割り当てるようにしているが、図7、図8、図9などに示すように連続使用バスサイクル数を小さく分割して最小バスサイクル数またはそれに近いサイクルで細切れにバスを割り当てたテーブルとすることも可能である。特に、図9は、連続使用バスサイクル数を小さく分割して最小バスサイクル数とし、細切れのサイクルで頻繁にバスを割り当てるように設定したバス使用条件情報テーブルの例である。実際上は、実行周期を変更することでバスの連続使用バスサイクル数を変更することが好ましいと考えられる。尚、上記の図6から図9のテーブルではバス使用要求の有無の項目は省略している。
作成手順(2)
次に、本実施の形態では、「タスクの切り替え時」のタイミングで取得した「全タスクのタスク情報」に含まれる各タスクの優先度(バス使用量)を、現在実行中のタスクが最も高くなるように重み付け設定を行ってから、バス使用条件情報テーブルを作成する場合について説明する。この場合、アービター20が、現在実行中のタスクのタスク情報に含まれる「バス使用量」に適宜重み付けを行う。ここでは、タスク情報を取得した時点で実行中のタスクがタスクXである場合について説明する。
図10は、作成手順(1)で取得した3つのタスク情報(図4参照)において、現在実行中のタスクXのバス使用量に重み付け設定を行った場合のタスク情報を概念的に示す図である。
図10に示すように、図4のそれと比較して、タスクXのバス使用量が50から50%増加して75に、その他のタスクYとタスクZはそれぞれ50%減少して30と5に設定されている。アービター20は、図10に示すタスク情報と図5に最小バスサイクル数情報とに基づいて、作成手順(1)と同様に各装置の連続使用バスサイクル数を算出する。
まず、以下の式により総バス使用量(各タスクX〜Zのバス使用量の総和)を算出する。
総バス使用量=タスクXのバス使用量+タスクYのバス使用量+タスクZのバス使用量
(図10のタスク情報では、75+30+5=110となる)
次に、以下の式により、各装置A〜Cのバス使用量(各装置A〜Cが単位時間当たりに起動すべきバスサイクル数)を算出する。
装置Aのバス使用量=タスクXの装置A使用率×タスクXのバス使用量
+タスクYの装置A使用率×タスクYのバス使用量
+タスクZの装置A使用率×タスクZのバス使用量
(図10のタスク情報では、40%×75+60%×30+90%×5=52.5となる)
装置Bのバス使用量=タスクXの装置B使用率×タスクXのバス使用量
+タスクYの装置B使用率×タスクYのバス使用量
+タスクZの装置B使用率×タスクZのバス使用量
(図10のタスク情報では、30%×75+40%×30+0%×5=34.5となる)
装置Cのバス使用量=タスクXの装置C使用率×タスクXのバス使用量
+タスクYの装置C使用率×タスクYのバス使用量
+タスクZの装置C使用率×タスクZのバス使用量
(図10のタスク情報では、30%×75+0%×30+10%×5=23となる)
次に、以下の式により、各装置A〜Cのバス使用率を算出する。
装置Aのバス使用率=装置Aのバス使用量/総バス使用量
(図10のタスク情報では、52.5/110=約0.477となる)
装置Bのバス使用率=装置Bのバス使用量/総バス使用量
(図10のタスク情報では、34.5/110=約0.314となる)
装置Cのバス使用率=装置Cのバス使用量/総バス使用量
(図10のタスク情報では、23/110=約0.209となる)
次に、上記の算出に基づいて下記3式の連立方程式を解く。但し、完全な等式となる必要はなく、3式が最も近似するようにそれぞれの係数を求める。
K×装置Aのバス使用率==Na×装置Aの最小バスサイクル数
K×装置Bのバス使用率==Nb×装置Bの最小バスサイクル数
K×装置Cのバス使用率==Nc×装置Cの最小バスサイクル数
(図10のタスク情報と図5の最小バスサイクル数情報では、Nc=1とした場合、K=151、Na=18、Nb=3と算出される)
求める連続使用バスサイクル数は下記により算出される。
装置Aの連続使用バスサイクル数=Na×装置Aの最小バスサイクル数
(例では、18×4=72と算出される)
装置Bの連続使用バスサイクル数=Nb×装置Bの最小バスサイクル数
(例では、3×16=48と算出される)
装置Cの連続使用バスサイクル数=Nc×装置Cの最小バスサイクル数
(例では、1×32=32と算出される)
アービター20は、このように算出された各装置A〜Cの連続使用バスサイクル数を用いて、バス使用条件情報テーブルを作成する。
図11は、以上の計算の結果得られた連続使用バスサイクル数を用いて作成したバス使用条件情報テーブルを概念的に示す図である。
このバス使用条件情報テーブルによれば、実行周期がすべて1であるため、装置A:72サイクル、装置B:48サイクル、装置C:32サイクル、の順番でバスの割り当てが巡回する。図6と図11を比較すると、図6に示すバス使用条件情報テーブルに従えば、装置Aに、より優先的にバスの割り当てが行われるのに対し、図11に示すバス使用条件情報テーブルでは、装置A〜Cのそれぞれにほぼ均等に割り当てが行われることになる。タスクXは、装置A〜Cをほぼ均等に使用するため、図11に示すバス使用条件情報テーブルによれば、タスクXの実行時間を、図6に示すバス使用条件情報テーブルの場合よりも短くすることができる。
図12は、連続使用バスサイクル数を小さく分割して最小バスサイクル数とし、細切れのサイクルで頻繁にバスを割り当てるように設定したバス使用条件情報テーブルを概念的に示す図である。尚、上記の図11から図12のテーブルではバス使用要求の有無の項目は省略している。
以上のように、本実施形態のコンピュータによれば、優先度が高いタスクについては、そのタスクを実行する装置に優先的にバスが割り当てられるようにバス使用条件情報テーブルを作成し、このテーブルにしたがってバスの調停を行うことができる。つまり、タスクは要求のあった順に実行されるが、優先度の高いタスクを実行する装置により効率的にバスが割り当てられるようにしておくことで、優先度の高いタスクが実行されるまで又はそのタスクが実行完了するまでの時間を短縮することができ、処理効率を向上させることができる。
尚、タスクは分割しておくことも可能である。この場合、タスクの分割は、そのタスクに使用する装置のバスへのアクセス頻度に応じて行ったり、装置毎に対応させて行ったり、タスクの処理時間に応じて行ったりすれば良い。
本発明の実施形態を示すブロック図である。 本発明の実施形態におけるバス使用条件情報テーブルを概念的に示す図である。 本発明の実施形態におけるアービターのバスの調停動作手順を示すフローチャートである。 タスク情報を概念的に示す図である。 装置ごとの最小バスサイクル数情報を概念的に示す図である。 計算結果に基づいて作成されるバス使用条件情報テーブルを概念的に示す図である。 計算結果に基づいて作成されるバス使用条件情報テーブルを概念的に示す図である。 計算結果に基づいて作成されるバス使用条件情報テーブルを概念的に示す図である。 計算結果に基づいて作成されるバス使用条件情報テーブル例を概念的に示す図である。 現在実行中のタスクXが優先されるようにバス使用量に重み付けを行った場合のタスク情報を概念的に示す図である。 計算結果に基づいて作成されるバス使用条件情報テーブルを概念的に示す図である。 計算結果に基づいて作成されるバス使用条件情報テーブルを概念的に示す図である。
符号の説明
10 バス
20 アービター
31 装置A
32 装置B
33 装置C

Claims (6)

  1. バスに接続された複数の装置によって複数のタスクを実行可能なコンピュータにおける前記バスの調停を行うバス調停方法であって、
    前記コンピュータが、所定のタイミングで、前記複数のタスクの各々の優先度と、前記複数のタスク毎の実行に必要な装置毎の前記タスクの実行に使用される割合を示す使用率とを含むタスク情報を取得する工程と、
    前記コンピュータが、前記優先度と前記使用率とに基づいて、前記優先度の高いタスクの実行に必要な装置に優先的に前記バスが割り当てられるように前記複数の装置の各々のバス使用条件を定義したバス使用条件情報を作成する工程と、
    前記コンピュータが、前記バス使用条件情報にしたがって前記バスの調停を行う工程とを含むバス調停方法。
  2. 請求項1記載のバス調停方法であって、
    前記優先度が、前記タスクの実行に際して単位時間当たりに起動すべきバスサイクル数で定義され、
    前記バス使用条件情報を作成する工程では、前記バスサイクル数と前記使用率とから、前記複数の装置毎に、前記複数のタスクの前記バスサイクル数の総和であるに対する前記装置が前記単位時間当たりに起動すべきバスサイクル数の比率であるバス使用率を算出し、前記バス使用率と、前記複数の装置の各々が前記バスを使用する際に最低限起動することのできるバスサイクルの数である最小バスサイクル数とから、前記装置に割り当てられた1回の前記バスの使用に際して前記装置が起動することのできる最大のバスサイクルの数である連続使用バスサイクル数を算出し、前記連続使用バスサイクル数を用いて前記バス使用条件情報を作成するバス調停方法。
  3. 請求項1又は2記載のバス調停方法であって、
    前記コンピュータが、前記複数の装置からの前記バスの使用要求の有無を判定する工程を含み、
    前記バスの調停を行う工程では、前記バスの使用要求が無いと判定した装置には前記バスを割り当てないようにするバス調停方法。
  4. 請求項1〜3のいずれか記載のバス調停方法であって、
    前記所定のタイミングが、前記優先度が変更されたタイミングであるバス調停方法。
  5. 請求項1〜3のいずれか記載のバス調停方法であって、
    前記コンピュータが、前記取得したタスク情報に含まれる前記優先度を、前記タスク情報を取得した時点で実行されているタスクが最も高くなるように設定する工程を含むバス調停方法。
  6. コンピュータに、請求項1〜5のいずれか記載のバス調停方法の各工程を実行させるためのバス調停プログラム。
JP2005256679A 2005-09-05 2005-09-05 バス調停方法及びバス調停プログラム Pending JP2007072598A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005256679A JP2007072598A (ja) 2005-09-05 2005-09-05 バス調停方法及びバス調停プログラム
US11/513,210 US7539805B2 (en) 2005-09-05 2006-08-31 Bus arbitration method and computer-readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005256679A JP2007072598A (ja) 2005-09-05 2005-09-05 バス調停方法及びバス調停プログラム

Publications (1)

Publication Number Publication Date
JP2007072598A true JP2007072598A (ja) 2007-03-22

Family

ID=37934004

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005256679A Pending JP2007072598A (ja) 2005-09-05 2005-09-05 バス調停方法及びバス調停プログラム

Country Status (2)

Country Link
US (1) US7539805B2 (ja)
JP (1) JP2007072598A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011133940A (ja) * 2009-12-22 2011-07-07 Seiko Epson Corp アクセス調停装置、集積回路装置、電子機器、アクセス調停方法、及びプログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080074545A (ko) * 2007-02-09 2008-08-13 삼성전자주식회사 버스 시스템 및 그 제어 방법
US10210114B2 (en) * 2014-08-01 2019-02-19 Universiti Teknologi Malaysia Interrupt-driven I/O arbiter for a microcomputer system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08161257A (ja) * 1994-12-07 1996-06-21 Nec Corp 共通バス使用権制御システム
US5771358A (en) * 1996-07-15 1998-06-23 Micron Electronics, Inc. Method and system for apportioning computer bus bandwidth
JP2000010934A (ja) * 1998-06-26 2000-01-14 Fujitsu Ltd マルチcpuシステムのバス調停システム
JP2003271545A (ja) * 2002-03-12 2003-09-26 Hitachi Ltd データ処理システム
JP2004287576A (ja) * 2003-03-19 2004-10-14 Matsushita Electric Ind Co Ltd バスコントローラ
US20050228927A1 (en) * 2004-04-05 2005-10-13 Philip Garcia Bus utilization based on data transfers on the bus

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233525A (ja) 1991-06-28 1993-09-10 Matsushita Electric Works Ltd I/o処理装置
US5740380A (en) * 1996-07-15 1998-04-14 Micron Electronics, Inc. Method and system for apportioning computer bus bandwidth
US6658512B1 (en) * 2000-09-28 2003-12-02 Intel Corporation Admission control method for data communications over peripheral buses
JP2003006146A (ja) * 2001-06-20 2003-01-10 Kyocera Corp バス調停回路
US6848015B2 (en) * 2001-11-30 2005-01-25 Hewlett-Packard Development Company, L.P. Arbitration technique based on processor task priority
KR100456696B1 (ko) * 2002-05-21 2004-11-10 삼성전자주식회사 집적회로장치의 버스중재기
KR100475735B1 (ko) * 2002-07-12 2005-03-10 삼성전자주식회사 긴급채널을 이용한 공유버스 중재방법 및 그 장치
KR100555501B1 (ko) * 2003-06-26 2006-03-03 삼성전자주식회사 동적으로 버스 점유 우선 순위를 정하는 버스 중재기 및그 버스 중재 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08161257A (ja) * 1994-12-07 1996-06-21 Nec Corp 共通バス使用権制御システム
US5771358A (en) * 1996-07-15 1998-06-23 Micron Electronics, Inc. Method and system for apportioning computer bus bandwidth
JP2000010934A (ja) * 1998-06-26 2000-01-14 Fujitsu Ltd マルチcpuシステムのバス調停システム
JP2003271545A (ja) * 2002-03-12 2003-09-26 Hitachi Ltd データ処理システム
JP2004287576A (ja) * 2003-03-19 2004-10-14 Matsushita Electric Ind Co Ltd バスコントローラ
US20050228927A1 (en) * 2004-04-05 2005-10-13 Philip Garcia Bus utilization based on data transfers on the bus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011133940A (ja) * 2009-12-22 2011-07-07 Seiko Epson Corp アクセス調停装置、集積回路装置、電子機器、アクセス調停方法、及びプログラム

Also Published As

Publication number Publication date
US7539805B2 (en) 2009-05-26
US20070204083A1 (en) 2007-08-30

Similar Documents

Publication Publication Date Title
US11379272B2 (en) Autoscaling using file access or cache usage for cluster machines
JP5770721B2 (ja) 情報処理システム
US7882488B2 (en) Software tool for synthesizing a real-time operating system
US8250557B2 (en) Configuring a dependency graph for dynamic by-pass instruction scheduling
JP5445669B2 (ja) マルチコアシステムおよび起動方法
JP4697805B2 (ja) データ処理装置
JP2005516303A (ja) 優先スケジューリングを備えたマルチプログラミングコンピュータシステムにおける優先レベルを設定する方法、マルチプログラミングコンピュータシステムおよびそれらのプログラム
JP2008186210A (ja) 仮想計算機システムのプロセッサキャッピング方法
JP2007305029A (ja) リアルタイムosにおける処理時間配分方法
US20110125986A1 (en) Reducing inter-task latency in a multiprocessor system
US9740530B2 (en) Decreasing the priority of a user based on an allocation ratio
JP2007072598A (ja) バス調停方法及びバス調停プログラム
JP2021077180A (ja) ジョブスケジューリングプログラム、情報処理装置及びジョブスケジューリング方法
JP2012181578A (ja) 更新制御装置及びプログラム
US10162679B2 (en) Method and system for assigning a computational block of a software program to cores of a multi-processor system
JP4409568B2 (ja) 帯域制御プログラム及びマルチプロセッサシステム
US20050066093A1 (en) Real-time processor system and control method
JP6368452B2 (ja) 非同期のデバイスによって実行されるタスクのスケジューリングの向上
JP6156379B2 (ja) スケジューリング装置、及び、スケジューリング方法
JP2020173622A (ja) 並列タスクスケジューリング方法
JP5641128B2 (ja) マルチコアプロセッサシステム、マルチコアプロセッサシステムの制御方法、およびマルチコアプロセッサシステムの制御プログラム
JP7064367B2 (ja) デッドロック回避方法、デッドロック回避装置
JP2009211649A (ja) キャッシュシステム、その制御方法、及び、プログラム
JP2007193744A (ja) 情報処理装置、プログラム、およびスケジューリング方法
US20230367633A1 (en) Gpu and gpu method

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071109

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071116

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071126

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100806

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100810

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110111