JP2007018280A - バスシステムの制御方法及び制御回路 - Google Patents
バスシステムの制御方法及び制御回路 Download PDFInfo
- Publication number
- JP2007018280A JP2007018280A JP2005199295A JP2005199295A JP2007018280A JP 2007018280 A JP2007018280 A JP 2007018280A JP 2005199295 A JP2005199295 A JP 2005199295A JP 2005199295 A JP2005199295 A JP 2005199295A JP 2007018280 A JP2007018280 A JP 2007018280A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- access
- priority
- master
- access control
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/364—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
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
【課題】 バスマスタの転送レートの保証において優位なバスシステムの制御方法及び装置を提供すること。
【解決手段】 複数のバスマスタについて、バスを介してスレーブにアクセスするための優先順位を基本優先順位として予め定める工程と;前記複数のバスマスタの各々について、要求される転送レートに基づき、基準アクセス数を定める工程と;前記複数のバスマスタの各々について、実際の有効アクセス回数をカウントする工程と;所定の基準時間を計測する工程と;前記複数のバスマスタの各々についての前記基準アクセス数と、前記基準時間内における前記有効アクセス回数と、前記基本優先順位とに基づいて、前記複数のバスマスタの実際のアクセス優先順位を求める工程と;前記実際のアクセス優先順位に従って、前記複数のバスマスタに対してアクセス許可を与える工程と;を含んでいる。
【選択図】 図2
【解決手段】 複数のバスマスタについて、バスを介してスレーブにアクセスするための優先順位を基本優先順位として予め定める工程と;前記複数のバスマスタの各々について、要求される転送レートに基づき、基準アクセス数を定める工程と;前記複数のバスマスタの各々について、実際の有効アクセス回数をカウントする工程と;所定の基準時間を計測する工程と;前記複数のバスマスタの各々についての前記基準アクセス数と、前記基準時間内における前記有効アクセス回数と、前記基本優先順位とに基づいて、前記複数のバスマスタの実際のアクセス優先順位を求める工程と;前記実際のアクセス優先順位に従って、前記複数のバスマスタに対してアクセス許可を与える工程と;を含んでいる。
【選択図】 図2
Description
この発明は、複数のバスマスタが一組のバスを共有するシステムのアクセス制御方法及び装置に関し、特に、バスマスタからのアクセス要求に対して、ある特定のバスマスタにアクセス許可を与えるバス使用権の管理を行なうバス制御方法及び制御装置に関する。
従来、この種のバス制御回路は、各バスマスタに対するバス使用権の獲得優先順位がハードウェア的に決定(固定)されており、複数のバスマスタから同時にバス使用要求が発生した場合には、優先順位の高いバスマスタに対してバス使用許可信号を出力するようになっていた。従って、優先順位の高いバスマスタへのバス使用許可が多くなり、優先順位の低いバスマスタへバス使用許可が与えられなくなる事態が生じていた。
ところで、高速なデータ転送が要求されるシステムでは、システムの目的動作を実現するために、バスマスタ毎に一定の転送レート(単位時間あたりの転送回数)を保証することが必要となる。
特開平5−89034号に開示された発明においては、各バスマスタのバス使用権獲得回数(転送回数)を一定の比率に保つことができるバス制御回路が提供されている。具体的には、バス使用権を獲得できなかった回数がある値を超えた場合、他のバスマスタに優先してバス使用権を与える構成となっている。そして、カウンタ初期値回路に予め記憶されている値により、各バスマスタのバス使用権の獲得頻度に傾斜を持たせ、各バスマスタのバス使用権の獲得回数に応じてバス使用権の優先度を上下させている。
特開平5−89034号
しかしながら、特開平5−89034号に開示された発明によると、優先順位が2段階(ロー、ハイ)に限定され、3段階以上の優先順位を持つシステムへの適用が困難である。また、バスマスタ毎に一定の転送レートの保証が要求される場合に、容易に対応できないという問題がある。
本発明は、上記のような状況に鑑みて成されたものであり、バスマスタの転送レートの保証において優位なバスシステムの制御方法及び装置を提供することを目的とする。
本発明の他の目的は、3段階以上の優先順位を持つシステムへの適用が容易な制御方法及び装置を提供することにある。
本発明の第1の態様は、少なくとも1つのスレーブが接続されたバスを複数のバスマスタが共有するバスシステムのアクセス制御方法において、
前記複数のバスマスタについて、前記バスを介して前記スレーブにアクセスするための優先順位を基本優先順位として予め定める工程と;
前記複数のバスマスタの各々について、要求される転送レートに基づき、基準アクセス数を定める工程と;
前記複数のバスマスタの各々について、実際の有効アクセス回数をカウントする工程と;
所定の基準時間を計測する工程と;
前記複数のバスマスタの各々についての前記基準アクセス数と、前記基準時間内における前記有効アクセス回数と、前記基本優先順位とに基づいて、前記複数のバスマスタの実際のアクセス優先順位を求める工程と;
前記実際のアクセス優先順位に従って、前記複数のバスマスタに対してアクセス許可を与える工程とを含んでいる。
前記複数のバスマスタについて、前記バスを介して前記スレーブにアクセスするための優先順位を基本優先順位として予め定める工程と;
前記複数のバスマスタの各々について、要求される転送レートに基づき、基準アクセス数を定める工程と;
前記複数のバスマスタの各々について、実際の有効アクセス回数をカウントする工程と;
所定の基準時間を計測する工程と;
前記複数のバスマスタの各々についての前記基準アクセス数と、前記基準時間内における前記有効アクセス回数と、前記基本優先順位とに基づいて、前記複数のバスマスタの実際のアクセス優先順位を求める工程と;
前記実際のアクセス優先順位に従って、前記複数のバスマスタに対してアクセス許可を与える工程とを含んでいる。
また、本発明の第2の態様は、少なくとも1つのスレーブが接続されたバスを複数のバスマスタが共有するバスシステムのアクセス制御装置において、
前記複数のバスマスタの各々について、所定の基準時間内の前記スレーブへの実際の有効アクセス回数をカウントするカウンタと;
前記複数のバスマスタの各々について予め定められた、前記スレーブへのアクセス許可に関する基本優先順位と;前記複数のバスマスタの各々について、要求される転送レートに基づいて定められる所定時間内の基準アクセス数と;前記カウンタから出力される実際の有効アクセス回数と;に基づき、前記複数のバスマスタの実際の優先順位を求める優先順位決定回路と;
前記実際の優先順位に従って、前記複数のバスマスタのアクセス許可を行う調停回路とを備えている。
前記複数のバスマスタの各々について、所定の基準時間内の前記スレーブへの実際の有効アクセス回数をカウントするカウンタと;
前記複数のバスマスタの各々について予め定められた、前記スレーブへのアクセス許可に関する基本優先順位と;前記複数のバスマスタの各々について、要求される転送レートに基づいて定められる所定時間内の基準アクセス数と;前記カウンタから出力される実際の有効アクセス回数と;に基づき、前記複数のバスマスタの実際の優先順位を求める優先順位決定回路と;
前記実際の優先順位に従って、前記複数のバスマスタのアクセス許可を行う調停回路とを備えている。
上記のように、本発明においては、複数のバスマスタの各々について、要求される転送レートに基づき、基準アクセス数を予め定めている。そして、その基準アクセス数と、基準時間内における有効アクセス回数と、固定値としての基本優先順位とに基づいて、実際のアクセス優先順位を求めている。このため、各バスマスタに要求される転送レートの保証を有効に実現することが可能となる。
以下、本発明を実施するための最良の形態について、実施例を用いて詳細に説明する。図1は、本発明が適用されるバスシステムの概略構成を示すブロック図である。本発明は、少なくとも1つのスレーブ(スレーブ1,スレーブ2)が接続されたバス10を複数のバスマスタ(マスタ1,マスタ2,マスタ3)が共有するバスシステムに適用される。本発明が適用可能なシステム(LSI)としては、画像処理用LSI、通信用LSI、音声用LSI等がある。バスマスタとしては、例えば、CPU,DMA等が挙げられる。一方、スレーブとしては、例えば、メモリ(メモリコントローラ)、USBコントローラ、A/Dコントローラ等が挙げられる。
図2は、本発明の第1実施例に係るバスシステムの制御装置の構成を示すブロック図である。本実施例の制御装置は、バスに接続されたマスタ1(110)及びマスタ2(112)によるスレーブ116へのアクセス制御(バスの使用許可制御)を行うものである。なお、本実施例では説明の便宜上、2つのマスタと1つのスレーブを含む構成としているが、マスタ及びスレーブの数はこれに限らないことは言うまでもない。本実施例の制御装置は、マスタ1(110),マスタ2(112)からのアドレスを選択するアドレスセレクタ114と、マスタ1(110),マスタ2(112)からの要求に応じてアクセス許可を行う調停回路118と、マスタ1(110),マスタ2(112)のアクセス優先順位を決定する優先順位決定回路120とを備えている。
マスタ1(110),マスタ2(112)は、調停回路118に対してアクセス要求信号を出力する。マスタ1(110),マスタ2(112)は、調停回路118からのアクセス許可信号を入力したら、アクセスするスレーブ116のアドレス、転送タイプ、ライトデータ等を出力する。マスタ1(110),マスタ2(112)からの信号は、アドレスセレクタ114の入力端子に供給される。アドレスセレクタ114の出力端子は、スレーブ116の入力端子に接続されている。調停回路118は、後述する優先順位決定回路120から供給される優先順位テーブルに従って、アクセス許可を出すマスタを選択する。調停回路118は、マスタに対してアクセス許可を出すと同時に、当該マスタを特定するマスタ番号(1又は2)をアドレスセレクタ114に送信する。
マスタ1(110),マスタ2(112)からは、アドレス信号の他に転送タイプを示す信号がアドレスセレクタ114に対して出力される。転送タイプは、少なくとも、その転送(アクセス)が有効であるか無効であるかと、アドレスが連続するか否かを示す信号を含む。例えば、“NSQ”は有効なアクセスでかつアドレスが非連続の状態を示し、“SEQ”は有効なアクセスでかつアドレスが連続することを示す。
アドレスセレクタ114では、調停回路118からのマスタ番号によって特定された(アクセス許可された)マスタのアドレス信号を選択し、スレーブ116に対して出力する。アドレスセレクタ114は、また、アクセス許可されたマスタの転送タイプを優先順位決定回路120に出力する。スレーブ116は、アドレスセレクタ114からアドレスの入力があると、転送要求受け取り完了を示す信号を優先順位決定回路120に対して出力する。スレーブ116は、また、必要に応じて入力アドレスに対応するデータを、対応するマスタ(110又は112)に対して出力する。
優先順位決定回路120には、タイマー割り込み信号、タイマー設定値、マスタ1(110)の基準アクセス数1、マスタ2(112)の基準アクセス数2が外部より入力される。優先順位決定回路120には、外部より入力された上記の信号の他に、マスタ番号、転送タイプ、転送要求受け取り完了信号が入力される。そして、これらの入力信号に基づいて優先順位テーブルを生成し、調停回路118に対して出力する。
図3は、第1実施例に係る制御回路の要部である優先順位決定回路120の構成を示すブロック図である。優先順位決定回路120は、マスタ1(110)の有効アクセス数をカウントするアクセス数カウンタ130と、マスタ2(112)の有効アクセス数をカウントするアクセス数カウンタ132と、所定の基準時間を計測するタイマー割り込みカウンタ134と、優先順位テーブルを生成する優先順位テーブル生成回路136とを備えている。
アクセス数カウンタ130、132の各々には、上述したマスタ番号、転送タイプ、転送要求受け取り完了信号が入力される。そして、これらの入力信号に基づいて、マスタ1(110),マスタ2(112)の実際の有効アクセス回数をカウントし、アクセス回数1,アクセス回数2として、優先順位テーブル生成回路136に対して出力する。アクセス数カウンタ130は、転送タイプ信号及び転送要求の受け取り完了信号が有効であり、且つ、マスタ番号が1の番号を示しているときに、マスタ1(110)のアクセス回数を1カウントアップする。同様に、アクセス数カウンタ132は、転送タイプ信号及び転送要求の受け取り完了信号が有効であり、且つ、マスタ番号が2の番号を示しているときに、マスタ2(112)のアクセス回数を1カウントアップする。有効アクセス回数については、例えば、転送タイプがNSQ, SEQ, SEQと続いた場合、“3”となる。
タイマー割り込みカウンタ134は、基準時間を図るタイマーとして機能する。タイマー割り込みカウンタ134は、外部から供給される一定周期のタイマー割り込み信号を、予め外部から入力されるタイマー割り込み回数設定値まで(基準時間だけ)カウントする。そして、カウント終了時に自己のカウント値を0に初期化すると共に、初期化信号をアクセス数カウンタ130,132及び、優先順位テーブル生成回路136に対して出力する。すなわち、アクセス数カウンタ130,132及び、優先順位テーブル生成回路136は、基準時間毎に初期化される。基準時間は、画像処理用LSIの場合、例えば、1μ秒〜10μ秒程度に設定することができる。
優先順位テーブル生成回路136には、予め外部から基準アクセス数1、基準アクセス数2及び、マスタ1(110),マスタ2(112)のアクセス許可に関する基本優先順位(固定値)が設定入力されている。基準アクセス数1及び基準アクセス数2は、マスタ1(110),マスタ2(112)に対して設定されるアクセス数であり、マスタ毎に要求(保証)される転送レート及び基準時間に基づいて決定される。すなわち、要求される転送レートに直結する数値を基準アクセス数として設定することができる。実際の基準アクセス数は、(転送レート)×(基準時間)とすることができ、あるいは、それ以上/以下とすることもできる。転送レートとしては、マスタがDMAの場合、例えば、2.6M回/秒程度とすることができる。
優先順位テーブル生成回路136は、上述した全ての入力データ(基準アクセス数1、基準アクセス数2、アクセス回数1、アクセス回数2、基本優先順位)に基づいて優先順位テーブルを生成し、調停回路118に対して出力する。図4は、第1実施例の作用を示す表であり、優先順位テーブル生成回路136の論理パターンを示す。表の中で、「アクセス数」はアクセス回数を意味し、「設定値」は基準アクセス数を意味する。図5は、第1実施例の動作を示すタイミングチャートである。
優先順位テーブル決定回路120に設定されている基礎優先順位において、マスタ1(110)がマスタ2(112)より優先順位が高いと仮定する。優先順位テーブル生成回路136における基準アクセス数とアクセス回数との比較は、タイマー割り込みカウンタ134で計測される基準時間(単位時間)が経過した時点で実行される。すなわち、タイマー割り込みカウンタ134から初期化信号がアサートされたタイミングで実施される。基準アクセス数とアクセス回数との比較(1)の結果、マスタ1(110)のアクセス回数及びマスタ2(112)のアクセス回数が、各々の基準アクセス数1,基準アクセス数2を上回っているため、優先順位テーブルは変化しない。
次に、アクセス数比較(1)から基準時間が経過した後、再び基準アクセス数とアクセス回数との比較(2)を行う。比較(2)の結果、マスタ1(110)のアクセス回数は基準アクセス数1を上回っているが、マスタ2(112)のアクセス回数は基準アクセス数2に達していない。優先順位テーブル生成回路136は、図4に示す表の論理に従い、マスタ2(112)の優先順位を高くするように優先順位テーブルを動的に変更(更新)する。その結果、マスタ2(112)はマスタ1(110)よりも優先的にアクセス許可を与えられ、マスタ2(112)によるアクセス数が増加する。
その後、アクセス数比較(2)から基準時間が経過した後、再び基準アクセス数とアクセス回数との比較(3)を行う。比較(3)の結果、マスタ1(110)のアクセス回数及びマスタ2(112)のアクセス回数が、各々の基準アクセス数1,基準アクセス数2を上回っているため、優先順位テーブルは変化しない。
以上のように、本実施例においては、優先順位テーブル生成回路136が各マスタのアクセス回数を監視し、単位時間あたりのマスタのアクセス数が転送レートとして要求される値を下回る場合に、そのマスタの優先順位を高めている。このように、各マスタの優先順位を動的に調整することが可能であり、各マスタの実際の有効アクセス数を要求される転送レートに近づけることが可能となる。本実施例においては、単純に優先順位を上下させるだけでなく、優先順位テーブルを動的に更新させており、状況によっては優先順位を変化させないことがある。
図6は、本発明の第2実施例に係るバスシステムの制御回路の構成を示すブロック図である。本実施例は上述した第1実施例に対し、モード設定スレーブ222,応答セレクタ224,アドレスデコーダ226を追加した構成であり、基準アクセス数1、基準アクセス数2,タイマー設定値を内部的に生成する構成となっている。以下、詳細に説明する。
本実施例の制御装置は、バスに接続されたマスタ1(210)及びマスタ2(212)によるスレーブ216、222へのアクセス制御(バスの使用許可制御)を行うものである。なお、本実施例では説明の便宜上、2つのマスタと2つのスレーブを含む構成としているが、マスタ及びスレーブの数はこれに限らないことは言うまでもない。本実施例の制御装置は、マスタ1(210),マスタ2(212)からのアドレスを選択するアドレスセレクタ214と、マスタ1(210),マスタ2(212)からの要求に応じてアクセス許可を行う調停回路218と、マスタ1(210),マスタ2(212)のアクセス優先順位を決定する優先順位決定回路220とを備えている。本実施例の制御装置は、更に、スレーブからマスタへのデータを選択する応答セレクタ224と、転送アドレスをデコードして応答セレクタ224に供給するアドレスデコーダ226とを備えている。
マスタ1(210),マスタ2(212)は、調停回路218に対してアクセス要求信号を出力する。マスタ1(210),マスタ2(212)は、調停回路218からのアクセス許可信号を入力したら、アクセスするスレーブのアドレス、転送タイプ、ライトデータ等を出力する。マスタ1(210),マスタ2(212)から出力される信号は、アドレスセレクタ214の入力端子に供給される。アドレスセレクタ214の出力端子は、スレーブ116、222の入力端子の他、アドレスデコーダ226及び優先順位決定回路220に接続されている。調停回路218は、後述する優先順位決定回路220から供給される優先順位テーブルに従って、アクセス許可を出すマスタを選択する。調停回路218は、マスタに対してアクセス許可を出すと同時に、当該マスタを特定するマスタ番号(1又は2)をアドレスセレクタ214及び優先順位決定回路220に送信する。
マスタ1(210),マスタ2(212)からは、アドレス信号の他に転送タイプを示す信号がアドレスセレクタ214に対して出力される。転送タイプは、少なくとも、その転送(アクセス)が有効であるか無効であるかと、アドレスが連続するか否かを示す信号を含む。例えば、“NSQ”は有効なアクセスでかつアドレスが非連続の状態を示し、“SEQ”は有効なアクセスでかつアドレスが連続することを示す。
アドレスセレクタ214では、調停回路218からのマスタ番号によって特定された(アクセス許可された)マスタのアドレス信号を選択し、スレーブ216又は222に対して出力する。アドレスセレクタ214は、また、アクセス許可されたマスタの転送タイプを優先順位決定回路220に出力する。スレーブ116、222は、アドレスセレクタ214からアドレスの入力があると、転送要求受け取り完了を示す信号を応答セレクタ224を介して優先順位決定回路220に対して出力する。スレーブ216は、また、必要に応じて入力アドレスに対応するデータを、応答セレクタ224を介して対応するマスタ(210又は212)に対して出力する。
優先順位決定回路220には、タイマー割り込み信号が外部より入力される。モード設定スレーブ222からは、タイマー設定値、マスタ1(210)の基準アクセス数1、マスタ2(212)の基準アクセス数2、イネーブル信号が優先順位決定回路220に供給される。優先順位決定回路220には、上記の信号の他に、マスタ番号、転送タイプ、転送要求受け取り完了信号が入力される。そして、これらの入力信号に基づいて優先順位テーブルを生成し、調停回路218に対して出力する。なお、優先順位決定回路220の基本的な構成及び動作は、図3に示す優先順位決定回路120と同様である。異なる部分は、本実施例の優先順位決定回路220にはモード設定スレーブ222からイネーブル信号が入力されることである。
図7は、第2実施例に係る制御回路の要部である優先順位決定回路220の構成を示すブロック図である。優先順位決定回路220は、マスタ1(210)の有効アクセス数をカウントするアクセス数カウンタ230と、マスタ2(212)の有効アクセス数をカウントするアクセス数カウンタ232と、所定の基準時間を計測するタイマー割り込みカウンタ234と、優先順位テーブルを生成する優先順位テーブル生成回路236とを備えている。
アクセス数カウンタ230、232の各々には、上述したマスタ番号、転送タイプ、転送要求受け取り完了信号が入力される。そして、これらの入力信号に基づいて、マスタ1(210),マスタ2(212)の実際の有効アクセス回数をカウントし、アクセス回数1,アクセス回数2として、優先順位テーブル生成回路236に対して出力する。アクセス数カウンタ230は、転送タイプ信号及び転送要求の受け取り完了信号が有効であり、且つ、マスタ番号が1の番号を示しているときに、マスタ1(210)のアクセス回数を1カウントアップする。同様に、アクセス数カウンタ232は、転送タイプ信号及び転送要求の受け取り完了信号が有効であり、且つ、マスタ番号が2の番号を示しているときに、マスタ2(212)のアクセス回数を1カウントアップする。有効アクセス回数については、例えば、転送タイプがNSQ, SEQ, SEQと続いた場合、“3”となる。
アドレスデコーダ226は、アドレスセレクタ214によって選択されたアドレスをデコードし、そのアクセスが対象となるスレーブの番号を生成する。応答セレクタ224は、アドレスデコーダ226の示すスレーブ番号に従って、選択されているスレーブの応答信号をマスタ2(210)、マスタ2(212)に返すようになっている。モード設定スレーブ222は、マスタ1(210)またはマスタ2(212)からのライトアクセスによって内部にもつレジスタを更新し、その値を保持する。このレジスタの値は、モード設定値として優先順位決定回路220に対して出力される。ここで、モード設定値は、イネーブル信号、タイマー設定値、基準アクセス数1、基準アクセス数2を示す。
タイマー割り込みカウンタ234は、基準時間を図るタイマーとして機能する。タイマー割り込みカウンタ234は、外部から供給される一定周期のタイマー割り込み信号を、モード設定スレーブ222から入力されるタイマー割り込み回数設定値(タイマー設定値)までカウントする。そして、カウント終了時に自己のカウント値を0に初期化すると共に、初期化信号をアクセス数カウンタ230,232及び、優先順位テーブル生成回路236に対して出力する。すなわち、アクセス数カウンタ230,232及び、優先順位テーブル生成回路236は、基準時間毎に初期化される。基準時間は、画像処理用LSIの場合、例えば、1μ秒〜10μ秒程度に設定することができる。
優先順位テーブル生成回路236には、モード設定スレーブ222から入力される基準アクセス数1、基準アクセス数2の他に、マスタ1(210),マスタ2(212)のアクセス許可に関する基本優先順位(固定値)が設定される。基準アクセス数1及び基準アクセス数2は、マスタ1(210),マスタ2(212)に対して設定されるアクセス数であり、マスタ毎に要求(保証)される転送レート及び基準時間に基づいて決定される。すなわち、要求される転送レートに直結する数値を基準アクセス数として設定することができる。実際の基準アクセス数は、(転送レート)×(基準時間)とすることができ、あるいは、それ以上/以下とすることもできる。転送レートとしては、マスタがDMAの場合、例えば、2.6M回/秒程度とすることができる。
優先順位テーブル生成回路236は、上述した入力データ(基準アクセス数1、基準アクセス数2、アクセス回数1、アクセス回数2、基本優先順位)に基づいて優先順位テーブルを生成し、調停回路218に対して出力する。図8は、第2実施例の作用を示す表であり、優先順位テーブル生成回路236の論理パターンを示す。表の中で、「アクセス数」はアクセス回数を意味し、「設定値」は基準アクセス数を意味する。なお、具体的な優先順位テーブルの生成動作は、上述した第1実施例と同様であるため、説明を省略する。なお、優先順位テーブル生成回路236は、モード設定スレーブ222からのイネーブル信号がディアサートされているときには、優先順位テーブルは優先順位テーブルの初期値を示し、優先順位テーブルの変更・更新は行われない。
システムの稼働中に、基準アクセス数1、基準アクセス数2、タイマー設定値を変更する際には、モード設定スレーブ222にアクセスして容易に設定変更が可能となる。また、上述したように、イネーブル信号を変更することにより、優先順位決定回路220の稼働・停止を選択することができる。このような制御は、マスタであるCPUで実行するプログラムによって実施することができる。
本実施例においては、先に説明した第1実施例による効果に加え、以下に示す格別の効果がある。すなわち、本実施例においては優先順位テーブル生成回路236を稼働・停止させることができるため、システムの状況に応じて各マスタの優先順位の調節の自由度が向上する。また、各マスタの基準アクセス数をシステムの稼働中に変更できるため、各マスタに要求される転送レートが変更された場合にも、柔軟に対応できるというメリットがある。
以上、本発明の実施例について説明したが、本発明はこれらの実施例に何ら限定されるものではなく、特許請求の範囲に示された技術的思想の範囲内において、適宜設計変更が可能なものである。
Claims (18)
- 少なくとも1つのスレーブが接続されたバスを複数のバスマスタが共有するバスシステムのアクセス制御方法において、
前記複数のバスマスタについて、前記バスを介して前記スレーブにアクセスするための優先順位を基本優先順位として予め定める工程と;
前記複数のバスマスタの各々について、要求される転送レートに基づき、基準アクセス数を定める工程と;
前記複数のバスマスタの各々について、実際の有効アクセス回数をカウントする工程と;
所定の基準時間を計測する工程と;
前記複数のバスマスタの各々についての前記基準アクセス数と、前記基準時間内における前記有効アクセス回数と、前記基本優先順位とに基づいて、前記複数のバスマスタの実際のアクセス優先順位を求める工程と;
前記実際のアクセス優先順位に従って、前記複数のバスマスタに対してアクセス許可を与える工程とを含むことを特徴とするバスシステムのアクセス制御方法。 - 前記複数のバスマスタの各々についての前記基準アクセス数と前記有効アクセス回数とを比較し、その比較結果と前記基本優先順位とに基づいて、前記実際のアクセス優先順位を求めることを特徴とする請求項1に記載のバスシステムのアクセス制御方法。
- 前記基準アクセス数を、システム外部から設定することを特徴とする請求項1又は2に記載のバスシステムのアクセス制御方法。
- 前記基準アクセス数を、システム内部で設定・変更可能とすることを特徴とする請求項1又は2に記載のバスシステムのアクセス制御方法。
- 前記基準アクセス数を、前記バスに接続された1つのスレーブによって設定・変更可能とすることを特徴とする請求項4に記載のバスシステムのアクセス制御方法。
- 前記実際のアクセス優先順位を有効/無効に設定可能とすることを特徴とする請求項1,2,3,4又は5に記載のバスシステムのアクセス制御方法。
- 前記実際のアクセス優先順位を有効/無効にする設定は、前記バスに接続された1つのスレーブによって実行可能することを特徴とする請求項6に記載のバスシステムのアクセス制御方法。
- 前記基準時間を、システム外部から設定・変更することを特徴とする請求項1,2,3,4,5,6又は7に記載のバスシステムのアクセス制御方法。
- 前記基準時間を、システム内部で設定・変更可能とすることを特徴とする請求項1,2,3,4,5,6又は7に記載のバスシステムのアクセス制御方法。
- 前記基準時間の設定・変更を、前記バスに接続された1つのスレーブによって実行可能することを特徴とする請求項9に記載のバスシステムのアクセス制御方法。
- 少なくとも1つのスレーブが接続されたバスを複数のバスマスタが共有するバスシステムのアクセス制御装置において、
前記複数のバスマスタの各々について、所定の基準時間内の前記スレーブへの実際の有効アクセス回数をカウントするカウンタと;
前記複数のバスマスタの各々について予め定められた、前記スレーブへのアクセス許可に関する基本優先順位と;前記複数のバスマスタの各々について、要求される転送レートに基づいて定められる所定時間内の基準アクセス数と;前記カウンタから出力される実際の有効アクセス回数と;に基づき、前記複数のバスマスタの実際の優先順位を求める優先順位決定回路と;
前記実際の優先順位に従って、前記複数のバスマスタのアクセス許可を行う調停回路とを備えたことを特徴とするバスシステムのアクセス制御装置。 - 前記優先順位決定回路は、前記複数のバスマスタの各々についての前記基準アクセス数と前記有効アクセス回数とを比較し、その比較結果と前記基本優先順位とに基づいて、前記実際のアクセス優先順位を求めることを特徴とする請求項11に記載のバスシステムのアクセス制御装置。
- 前記基準アクセス数は、システム外部から設定されることを特徴とする請求項11又は12に記載のバスシステムのアクセス制御装置。
- 前記バスに接続され、前記基準アクセス数を設定・変更可能なスレーブを更に備えたことを特徴とする請求項11又は12に記載のバスシステムのアクセス制御装置。
- 前記優先順位決定回路は、前記実際のアクセス優先順位を有効/無効に切り替え可能な構成であることを特徴とする請求項11,12,13又は14に記載のバスシステムのアクセス制御装置。
- 前記バスに接続され、前記優先順位決定回路における前記実際のアクセス優先順位を有効/無効に切り替え可能なスレーブを更に備えたことを特徴とする請求項15に記載のバスシステムのアクセス制御装置。
- 前記基準時間は、システム外部から設定・変更される構成を採ることを特徴とする請求項11,12,13,14,15又は16に記載のバスシステムのアクセス制御装置。
- 前記バスに接続され、前記基準時間を設定・変更可能なスレーブを更に備えたことを特徴とする請求項11,12,13,14,15又は16に記載のバスシステムのアクセス制御装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005199295A JP2007018280A (ja) | 2005-07-07 | 2005-07-07 | バスシステムの制御方法及び制御回路 |
US11/474,388 US20070011381A1 (en) | 2005-07-07 | 2006-06-26 | Control method and control circuit for bus system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005199295A JP2007018280A (ja) | 2005-07-07 | 2005-07-07 | バスシステムの制御方法及び制御回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007018280A true JP2007018280A (ja) | 2007-01-25 |
Family
ID=37619540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005199295A Pending JP2007018280A (ja) | 2005-07-07 | 2005-07-07 | バスシステムの制御方法及び制御回路 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20070011381A1 (ja) |
JP (1) | JP2007018280A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014013587A (ja) * | 2013-08-22 | 2014-01-23 | Fujitsu Ltd | マルチコアプロセッサシステム、制御プログラム、および制御方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4835259B2 (ja) * | 2006-05-23 | 2011-12-14 | 富士ゼロックス株式会社 | データ転送制御装置 |
KR100868766B1 (ko) * | 2007-01-31 | 2008-11-17 | 삼성전자주식회사 | 복수의 dma 요청 블록들을 가지는 직접 메모리 액세스장치의 우선 순위를 결정하는 방법 및 장치 |
JP2011150397A (ja) * | 2010-01-19 | 2011-08-04 | Panasonic Corp | バス調停装置 |
US11561918B1 (en) * | 2020-05-15 | 2023-01-24 | Amazon Technologies, Inc. | Communication bus recovery based on maximum allowable transaction duration |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4829467A (en) * | 1984-12-21 | 1989-05-09 | Canon Kabushiki Kaisha | Memory controller including a priority order determination circuit |
US7155717B2 (en) * | 2001-01-26 | 2006-12-26 | Intel Corporation | Apportioning a shared computer resource |
DE60314347T2 (de) * | 2002-09-30 | 2007-09-27 | Matsushita Electric Industrial Co., Ltd., Kadoma | Betriebsmittelverwaltungsgerät |
FR2860896A1 (fr) * | 2003-10-14 | 2005-04-15 | St Microelectronics Sa | Procede d'arbitrage de l'acces a une ressource partagee |
US7107376B2 (en) * | 2004-01-26 | 2006-09-12 | International Business Machines Corp. | Systems and methods for bandwidth shaping |
-
2005
- 2005-07-07 JP JP2005199295A patent/JP2007018280A/ja active Pending
-
2006
- 2006-06-26 US US11/474,388 patent/US20070011381A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014013587A (ja) * | 2013-08-22 | 2014-01-23 | Fujitsu Ltd | マルチコアプロセッサシステム、制御プログラム、および制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US20070011381A1 (en) | 2007-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5996037A (en) | System and method for arbitrating multi-function access to a system bus | |
US5862353A (en) | Systems and methods for dynamically controlling a bus | |
US6820152B2 (en) | Memory control device and LSI | |
US20080126643A1 (en) | Semiconductor circuit | |
JP2000040061A (ja) | バス使用権調停システム | |
JP4485599B2 (ja) | アクセス制御装置、アクセス制御集積回路、及びアクセス制御方法 | |
US7213084B2 (en) | System and method for allocating memory allocation bandwidth by assigning fixed priority of access to DMA machines and programmable priority to processing unit | |
US7231475B1 (en) | Advanced bandwidth allocation in PCI bus architecture | |
TWI489292B (zh) | 資料空間仲裁器 | |
JPH08339346A (ja) | バスアービタ | |
JP2007018280A (ja) | バスシステムの制御方法及び制御回路 | |
JP2004521410A (ja) | コンピュータシステムにおけるマルチレベル割込み方式を実現するためのシステムおよび方法 | |
JP2007058716A (ja) | データ転送バスシステム | |
US6275890B1 (en) | Low latency data path in a cross-bar switch providing dynamically prioritized bus arbitration | |
US6959354B2 (en) | Effective bus utilization using multiple bus interface circuits and arbitration logic circuit | |
JPH06231074A (ja) | システムバスの多重アクセス方式 | |
JP4308578B2 (ja) | 集積回路装置のバスアービター | |
US9223731B2 (en) | Arbitration circuit and control method thereof | |
JP2854474B2 (ja) | バス使用要求調停装置 | |
US20070073948A1 (en) | Bus control system | |
JP5677007B2 (ja) | バス調停装置、バス調停方法 | |
JP4822429B2 (ja) | バスアクセス調停方法及び半導体集積回路 | |
JP2003006139A (ja) | Dma転送装置 | |
JP2003016024A (ja) | メモリ制御装置及びlsi | |
US7747806B2 (en) | Resource use management device, resource use management system, and control method for a resource use management device |