JP2006260230A - バス調停方法およびバス調停装置 - Google Patents
バス調停方法およびバス調停装置 Download PDFInfo
- Publication number
- JP2006260230A JP2006260230A JP2005077457A JP2005077457A JP2006260230A JP 2006260230 A JP2006260230 A JP 2006260230A JP 2005077457 A JP2005077457 A JP 2005077457A JP 2005077457 A JP2005077457 A JP 2005077457A JP 2006260230 A JP2006260230 A JP 2006260230A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- priority
- data
- access
- data block
- 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
Abstract
【課題】 個々のデータ転送の重要度を反映させたバス調停を実行することが困難であった。
【解決手段】 バス調停回路47は、複数のバスマスタから発行されるバス使用要求を調停する。アドレスデコード回路61は、バスマスタから発行されるアクセスアドレス信号を受信して、アクセス要求のあるデータブロックを出力する。データ転送アクセス優先度設定テーブル回路49は、データブロック毎に優先度を保持し、アドレスデコード回路61からの出力に基づき、アクセス要求のあったデータブロックの優先度を出力する。優先度判定回路48は、データ転送アクセス優先度設定テーブル回路49からの出力に基づき、最も優先度の高いデータブロックへのアクセスを要求しているバスマスタを判定し、そのバスマスタに対してバスの使用を許可する。
【選択図】 図3
【解決手段】 バス調停回路47は、複数のバスマスタから発行されるバス使用要求を調停する。アドレスデコード回路61は、バスマスタから発行されるアクセスアドレス信号を受信して、アクセス要求のあるデータブロックを出力する。データ転送アクセス優先度設定テーブル回路49は、データブロック毎に優先度を保持し、アドレスデコード回路61からの出力に基づき、アクセス要求のあったデータブロックの優先度を出力する。優先度判定回路48は、データ転送アクセス優先度設定テーブル回路49からの出力に基づき、最も優先度の高いデータブロックへのアクセスを要求しているバスマスタを判定し、そのバスマスタに対してバスの使用を許可する。
【選択図】 図3
Description
本発明は、複数のバスマスタから同時に出されるバス使用要求を調停するバス調停技術に関する。
独立して動作する複数のプロセッサまたはダイレクトメモリアクセスコントローラ(以下、「DMAC」という)などを備えるシステムにおいて、一般に、汎用バス等のバスの使用権を持つことが許されるのはひとつのマスタだけである。したがって、同一クロックサイクルでバスへのアクセスを要求するマスタが複数存在する場合、所定のバス調停方法にしたがい、いずれかのマスタにバスの使用権を割り当てなければならない。
バス調停の実現方法として、マスタ毎に固定の優先順位にしたがってバスの使用権を与える固定優先方式や、ある定められた順序で使用権の割り当てを繰り返すラウンドロビン方式などが知られている。
バス調停の実現方法として、マスタ毎に固定の優先順位にしたがってバスの使用権を与える固定優先方式や、ある定められた順序で使用権の割り当てを繰り返すラウンドロビン方式などが知られている。
プロセッサまたはDMACなどのバスマスタ(以下単に「バスマスタ」ともいう)が実行する処理にともなうデータ転送の優先度は、それぞれ異なる。しかしながら、上述の固定優先方式やラウンドロビン方式は、バスマスタにしか着目しておらず、個々のデータ転送の重要度や優先度を反映させてバスの使用権を割り当てることができない。これにより、バスの実効的な使用効率が低下したり、緊急度が高いデータ転送が長く待たされるといった状況が起こり得る。
本発明者はこうした状況を認識して本発明をなしたものであり、その目的は、複数のバスマスタによりバスの使用権が要求されたとき、データ転送の優先度に着目してバスの使用権を割り当てるバス調停技術を提供することにある。
本発明のある態様は、複数のバスマスタからバス使用要求が出されたとき、それらのバスマスタがアクセスを要求する対象データブロックを特定し、データブロックについて定まる優先度に基づき、より優先度の高いデータブロックへのアクセスを要求しているバスマスタに対してバスの使用を許可することを特徴とするバス調停方法である。
「バスマスタ」には、システム内のバスを使用する任意の回路が含まれる。「データブロックについて定まる優先度」とは、バスマスタによる処理の際に、当該データブロックに関わるデータが処理されるべき順番を指し、数値をはじめ、順番を示す任意の情報で指定される。
この態様によると、複数のバスマスタによりバスの使用要求が出された場合に、バスマスタがアクセス可能なデータブロック単位で優先度を定めておき、優先度の高いデータブロックにアクセスするバスマスタに対してバスの使用権を与えることによって、データ転送の緊急性や重要性を考慮したバス調停を実現することができる。とくに、所定のデータが所定の期間内に処理されるべき状況では、そうしたデータを含むデータブロックの優先度を高めることで、処理に齟齬が生じないよう配慮することができる。
この態様によると、複数のバスマスタによりバスの使用要求が出された場合に、バスマスタがアクセス可能なデータブロック単位で優先度を定めておき、優先度の高いデータブロックにアクセスするバスマスタに対してバスの使用権を与えることによって、データ転送の緊急性や重要性を考慮したバス調停を実現することができる。とくに、所定のデータが所定の期間内に処理されるべき状況では、そうしたデータを含むデータブロックの優先度を高めることで、処理に齟齬が生じないよう配慮することができる。
前記複数のバスマスタに含まれるプロセッサにおける処理を実行するために必要となるデータが複数のデータブロックを使用して転送されるとき、それら一連のデータブロックに対して、他のデータブロックより高い優先度を付与するようにしてもよい。これによって、一連のデータブロック内のデータを使用するプロセッサの処理が、スケジューリング通りに実行されることになり、一括して処理すべきデータの処理効率が改善できる。また、同一のバスマスタに必要な期間連続してバス使用権を与えることで、データ転送の効率を高め、バス使用効率を高めることができる。
前記複数のバスマスタに含まれるプロセッサにおいて実行の優先度が高いプログラムにより使用されるデータが格納されるデータブロックに対して、他のデータブロックより高い優先度を付与するようにしてもよい。実行優先度の高いプログラムの変数が、高い優先度を付与されている固定のデータブロックに格納されるように設定しておくことで、当該プログラムを優先的に実行することができる。そうしたプログラムの例として、リアルタイム処理や準リアルタイム処理が必要なプログラムがある。
前記複数のバスマスタ以外の外部装置との間のデータ転送に使用されるデータブロックに対して、他のデータブロックより高い優先度を付与するようにしてもよい。これによって、外部装置とのデータ転送が優先的に実行されるようになるため、外部装置とのインタフェイスにおいて、データ転送遅延が少なくなる。外部装置はユーザによって使用されることが多く、ユーザ側のデータを優先的に処理することは、システムの設計仕様としてひとつのポリシーになりうる。
本発明の別の態様は、複数のバスマスタから発行されるバス使用要求を調停するバス調停装置に関する。この装置は、前記バスマスタから発行されるアクセスアドレス信号を受信して、アクセス要求のあるデータブロックを出力するアドレスデコード回路と、データブロック毎に優先度を保持し、前記アドレスデコード回路からの出力に基づき、アクセス要求のあったデータブロックの優先度を出力する優先度設定テーブル回路と、前記優先度設定テーブル回路からの出力に基づき、最も優先度の高いデータブロックへのアクセスを要求しているバスマスタを判定し、そのバスマスタに対してバスの使用を許可する優先度判定回路と、を備えることを特徴とする。
この態様によると、バスの使用権を要求するバスアクセス要求信号が複数のバスマスタから同時に出されたとき、バス調停装置は、データブロック単位に設定されているデータ転送アクセスの優先度に基づき、最も優先度の高いデータブロックを決定する。そして、そのデータブロックにアクセスするバスマスタを最も優先度の高い処理を実行する装置と決定し、バスアクセス許可信号を発行する。このように、バスマスタによりアクセス可能なデータブロック毎に優先度を設定することにより、データブロックに格納される個々のデータの重要度に応じたバス調停を実現することができる。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、バス調停を効果的に実行することができる。
本発明の理解を明確にするため、比較対象とすべき技術を最初に説明する。図1は、比較対象となるバス調停技術を採用した集積回路80を示す。集積回路80は、第1プロセッサ1、第2プロセッサ4、第1DMAC7、第2DMAC10、第1データ記憶装置14、第2データ記憶装置15およびバス調停回路13を備える。プロセッサ、DMACおよびデータ記憶装置は汎用バスで接続されている。汎用バスは、アドレスバス16、データバス17およびコントロールバス18を含む。第1プロセッサ1、第2プロセッサ4、第1DMAC7、第2DMAC10は、バス調停回路13に接続されている。バス調停回路13は、複数のプロセッサまたはDMAC、すなわちバスマスタから汎用バスの使用権(以下単に「バス使用権」ともいう)の要求があったときに、いずれかのプロセッサまたはDMACに使用権を与える機能を有する。
プロセッサ1,4またはDMAC7,10が汎用バスにアクセスする必要が生じると、バス調停回路13に対してバスの使用権を要求する。より具体的には、プロセッサ1,4は、データ記憶装置14,15へのデータ書き込み/読み出し命令を発するときに、バス調停回路13に対して汎用バスの使用権を要求するバスアクセス要求信号2,5をそれぞれ発行する。また、DMAC7,10は、図示しない周辺回路からDMA転送の要求信号19,20を受けると、データ記憶装置14,15とのデータ書き込み/読み出しを実行する際に、バス調停回路13に対してバスアクセス要求信号8,11をそれぞれ発行する。
複数のバスマスタから、同一クロックサイクルにおいてバス調停回路13に対してバスアクセス要求信号が発行された場合、バス調停回路13は、予め固定されている優先順位にしたがうか、または既知のラウンドロビン方式により、汎用バスへのアクセスを許可するひとつのバスマスタを決定する。続いて、バス調停回路13は、決定したバスマスタ、すなわちプロセッサ1,4またはDMAC7,11のいずれかひとつに対して、バスアクセス許可信号3,6,9,12を発行する。有効なバスアクセス許可信号を受けたバスマスタは、データ記憶装置14,15へのデータ書き込みまたはデータ読み出しを実行する。バスアクセス許可信号を受けなかった他のバスマスタは、そのサイクル中は待機状態となり、バス調停回路13に対してバスアクセス要求信号を発行しつづける。
図1において、第1プロセッサ1が第1データ記憶装置14からのデータ読み出し転送を実行しようとし、同時に、第1DMAC7が第1データ記憶装置14から第2データ記憶装置15へのDMA転送を実行する場合を考える。第1プロセッサ1はバス調停回路13に対してバスアクセス要求信号2を発行し、同時に第1DMAC7は、バス調停回路13に対してバスアクセス要求信号8を発行する。
バスアクセス要求信号2,8を受信したバス調停回路13は、予め固定されている優先順位にしたがって、第1プロセッサ1にバスの使用権を与えると決定する。すると、バス調停回路13は、第1プロセッサ1に対して有効なバスアクセス許可信号3を発行する。
有効なバスアクセス許可信号3を受けた第1プロセッサ1は、汎用バス16〜18を介して、第1データ記憶装置14からのデータ読み出し転送を実行する。有効なバスアクセス許可信号を受けていないDMAC7は、引き続きバスアクセス要求信号8をバス調停回路13に発行する。
続いて、図2を参照して、本発明の一実施形態に係るバス調停装置の構成について説明する。集積回路100は、第1プロセッサ31、第2プロセッサ35、第1DMAC39、第2DMAC43、第1データ記憶装置50、第2データ記憶装置51、およびバス調停回路47を備える。図1と同様に、プロセッサ31,35、DMAC39,43およびデータ記憶装置50,51は汎用バスで接続されている。汎用バスは、アドレスバス52、データバス53およびコントロールバス54を含む。データ記憶装置50,51は、RAMやレジスタブロック等で構成される。データ記憶装置50,51は、アドレスで分割される複数のデータブロックを含む。第1データ記憶装置50は、5個のデータブロックA〜Eを含み、第2データ記憶装置51は、5個のデータブロックF〜Jを含む。また、 第1プロセッサ31、第2プロセッサ35、第1DMAC39、第2DMAC43は、バス調停回路47に接続されている。
プロセッサ31,35は、書き込み転送命令と読み出し転送命令を含む命令セットを用いてプログラミングされ、データ記憶装置50,51に対してデータ転送アクセスを実行可能に構成されている。プロセッサ31,35は、書き込み転送命令または読み出し転送命令によりデータ記憶装置50,51へのデータ転送アクセスを行うとき、バス調停回路47に対して、バスアクセス要求信号32,36と、書き込み/読み出し転送先のアドレスを指定するアクセスアドレス信号33,37をそれぞれ発行する。
DMAC39,43は、図示しない周辺回路からDMA転送の要求信号55,56を受け取り、DMA転送を実行するよう構成されている。DMAC39,43は、DMA転送を実行する際、バス調停回路47に対して、バスアクセス要求信号40,44と、DMA転送先/転送元のアドレスを指定するアクセスアドレス信号41,45をそれぞれ発行する。
バス調停回路47は、プロセッサ31,35およびDMAC39,43から発行されたバスアクセス要求信号とアクセスアドレス信号とを受ける。
バス調停回路47は、データ転送アクセス優先度設定テーブル回路49と、優先度判定回路48とを備える。データ転送アクセス優先度設定テーブル回路49は、データ記憶装置50,51内のアドレスで分割されるデータブロック単位に、データ転送アクセスの優先度を保持する。このデータブロック単位の優先度の記憶領域をレジスタやRAMで構成すれば、プロセッサ31,35や集積回路100外部の周辺装置によって設定することができる。RAMではなくROMとして、優先度を当初より固定しておくこともできる。
バス調停回路47は、データ転送アクセス優先度設定テーブル回路49と、優先度判定回路48とを備える。データ転送アクセス優先度設定テーブル回路49は、データ記憶装置50,51内のアドレスで分割されるデータブロック単位に、データ転送アクセスの優先度を保持する。このデータブロック単位の優先度の記憶領域をレジスタやRAMで構成すれば、プロセッサ31,35や集積回路100外部の周辺装置によって設定することができる。RAMではなくROMとして、優先度を当初より固定しておくこともできる。
プロセッサ31,35またはDMAC39,43のうち、複数のバスマスタが同時にバスアクセス要求信号を発行した場合、優先度判定回路48は、データ転送アクセス優先度設定テーブル回路49の出力に基づき、優先度の最も高いデータブロックにアクセスしているプロセッサまたはDMACを特定する。そして、特定したプロセッサまたはDMACに対して、有効なバスアクセス許可信号34,38,42,46を発行する。
有効なバスアクセス許可信号を受けたプロセッサ31,35またはDMAC39,43は、汎用バス52〜54を介してデータ記憶装置50,51へのデータ書き込み転送、またはデータ読み出し転送を実行する。バスアクセス許可信号を受けていないその他のプロセッサ31,35またはDMAC39,43は待機状態となり、バス調停回路47に対してバスアクセス要求信号を発行しつづける。
図3は、図2のバス調停回路47の詳細な構成を示す。以下、図3を参照して、バス調停回路47がひとつのバスマスタに対して汎用バスへのアクセスを許可する動作について詳細に説明する。
バス調停回路47は、上述したデータ転送アクセス優先度設定テーブル回路49と優先度判定回路48のほか、アドレスデコード回路61とバス状態監視回路72を備える。
アドレスデコード回路61は、プロセッサ31,35およびDMAC39,43から発行されたバスアクセス要求信号32,36,40,44と、アクセスアドレス信号33,37,41,45とを受ける。アドレスデコード回路61は、アクセスアドレス信号に基づき各バスマスタがアクセスしようとしているデータブロックを特定し、データ転送アクセス優先度設定テーブル回路49内の、特定したデータブロックに対応する優先度設定テーブルにアクセスするための優先度設定テーブルアドレス62〜65を生成する。バスアクセス要求信号がアサートされていないとき、アドレスデコード回路61は、データ転送アクセス優先度設定テーブル回路49から誤ったデータが出力されないよう、優先度設定テーブルアドレスとして無効なアドレスを出力する。
アドレスデコード回路61は、プロセッサ31,35およびDMAC39,43から発行されたバスアクセス要求信号32,36,40,44と、アクセスアドレス信号33,37,41,45とを受ける。アドレスデコード回路61は、アクセスアドレス信号に基づき各バスマスタがアクセスしようとしているデータブロックを特定し、データ転送アクセス優先度設定テーブル回路49内の、特定したデータブロックに対応する優先度設定テーブルにアクセスするための優先度設定テーブルアドレス62〜65を生成する。バスアクセス要求信号がアサートされていないとき、アドレスデコード回路61は、データ転送アクセス優先度設定テーブル回路49から誤ったデータが出力されないよう、優先度設定テーブルアドレスとして無効なアドレスを出力する。
データ転送アクセス優先度設定テーブル回路49の優先度設定テーブル66,67は、データ記憶装置50,51内のデータブロック毎に準備されており、対応する優先度設定テーブルアドレスにより参照可能である。優先度設定テーブル66,67には、各データブロックの優先度が保持されている。図3では、データ記憶装置50,51の10個のデータブロックA〜Jに対応して、10個の優先度設定テーブルが準備されている。そして、各優先度設定テーブルには、優先度として0〜9のいずれかの数値が保持される。数値が大きくなるほど、対応するデータブロックに関連するデータの処理の優先度が高いことを表している。
データブロック毎の優先度は、例えば以下の観点から定めることができる。
(実施例1)
プロセッサ31,35において特定の処理を実行するために必要となるデータが、複数のデータブロックを使用して転送される必要がある場合、それら一連のデータブロックに対して、他のデータブロックより高い優先度を付与する。これによって、プロセッサ31,35における処理がスケジューリング通りに実行されるので、一括して処理すべきデータに対する処理効率が高まる。
(実施例1)
プロセッサ31,35において特定の処理を実行するために必要となるデータが、複数のデータブロックを使用して転送される必要がある場合、それら一連のデータブロックに対して、他のデータブロックより高い優先度を付与する。これによって、プロセッサ31,35における処理がスケジューリング通りに実行されるので、一括して処理すべきデータに対する処理効率が高まる。
(実施例2)
プロセッサ31,35において複数のプログラムが実行されている場合、より実行の優先度が高いプログラムにより使用されるデータが格納されるデータブロックに対して、他のデータブロックより高い優先度を付与する。
例えば、プロセッサ31,35の変数領域として、固定のデータブロックを指定しておく。そして、プロセッサ31,35において、優先度の高いプログラムを実行する場合は、そのプログラムの変数が上記固定データブロックに記憶されるように設定する。このようにすると、固定データブロックに対しては常に高い優先度が与えられているので、当該プログラムを優先的に実行することができる。
プロセッサ31,35において複数のプログラムが実行されている場合、より実行の優先度が高いプログラムにより使用されるデータが格納されるデータブロックに対して、他のデータブロックより高い優先度を付与する。
例えば、プロセッサ31,35の変数領域として、固定のデータブロックを指定しておく。そして、プロセッサ31,35において、優先度の高いプログラムを実行する場合は、そのプログラムの変数が上記固定データブロックに記憶されるように設定する。このようにすると、固定データブロックに対しては常に高い優先度が与えられているので、当該プログラムを優先的に実行することができる。
(実施例3)
プロセッサ31,35またはDMAC39,43以外の外部装置との間のデータ転送に使用されるデータブロックに対して、他のデータブロックより高い優先度を付与する。こうすることによって、外部装置とのデータ転送が優先的に実行されるようになるため、そうした外部装置とのデータ転送レートが高まる。これは、リアルタイム性を重視するアプリケーションにおいては重要である。
プロセッサ31,35またはDMAC39,43以外の外部装置との間のデータ転送に使用されるデータブロックに対して、他のデータブロックより高い優先度を付与する。こうすることによって、外部装置とのデータ転送が優先的に実行されるようになるため、そうした外部装置とのデータ転送レートが高まる。これは、リアルタイム性を重視するアプリケーションにおいては重要である。
図3に戻り、データ転送アクセス優先度設定テーブル回路49は、アドレスデコード回路61からの優先度設定テーブルアドレス62〜65に対応する優先度設定テーブルに保持されている優先度を、データ転送アクセス優先度信号68〜71として出力する。
優先度判定回路48は、データ転送アクセス優先度設定テーブル回路49から出力されたデータ転送アクセス優先度信号を比較する。また、バス状態監視回路72は、現在、プロセッサ31,35またはDMAC39,43にバス使用権が与えられているかどうかを監視し、バス状態信号73として優先度判定回路48に伝える。優先度判定回路48は、バス状態信号73を参照してバス使用権が開放されたとき、データ転送アクセス優先度の最も高いデータブロックへのデータ転送アクセスを要求しているプロセッサまたはDMACに対して、バスアクセス許可信号34,38,42,46を発行する。
続いて、具体例を挙げて集積回路100の動作を説明する。図2の第1プロセッサ31が第1データ記憶装置50のデータブロックC57からのデータ読み出し転送を実行しようとしており、同時に、第1DMAC39が第1データ記憶装置50のデータブロックE58から第2データ記憶装置51のデータブロックH59へのDMA転送を実行しようとしている場合を考える。このとき、第1プロセッサ31は、バス調停回路47に対して、バスアクセス要求信号32とアクセスアドレス信号33を発行する。同時に、第1DMAC39は、バス調停回路47に対して、バスアクセス要求信号40とアクセスアドレス信号41を発行する。
アドレスデコード回路61は、アクセスアドレス信号33,41から、第1プロセッサ31がアクセスしようとしているデータブロックC57に対応する優先度設定テーブルアドレス、および、第1DMAC39がアクセスしようとしているデータブロックE58とデータブロックH59に対応する優先度設定テーブルアドレスを生成し、データ転送アクセス優先度設定テーブル回路49に出力する。
図3に示すように、データブロックCに対応する優先度設定テーブル74には、優先度「9」が保持され、データブロックEに対応する優先度設定テーブル75には、優先度「4」が保持され、データブロックHに対応する優先度設定テーブル76には、優先度「2」が保持されている。データ転送アクセス優先度設定テーブル回路49は、これらをデータ転送アクセス優先度信号として優先度判定回路48に出力する。
優先度判定回路48は、最も優先度の高いデータブロックCへのデータ転送アクセスを要求している第1プロセッサ31が、より優先度の高いバスマスタと判定する。したがって、優先度判定回路48は、第1プロセッサ31に対して有効なバスアクセス許可信号34を発行する。
バスアクセス許可信号34を受信した第1プロセッサ31は、汎用バス52〜54を介して第1データ記憶装置50のデータブロックC57へデータ読み出し転送アクセスを実行する。バスアクセス許可信号を受けていない第1DMAC39は待機状態になり、引き続きバスアクセス要求信号40をバス調停回路47に発行する。
第1プロセッサ31による第1データ記憶装置50へのデータ読み出し転送アクセスが終了すると、バス調停回路47は、バスアクセス要求信号40を発行している第1DMAC39に対してバスアクセス許可信号42を発行する。バスアクセス許可信号42を受信した第1DMAC39は、汎用バス52〜54を介して、第1データ記憶装置50のデータブロックE58から第2データ記憶装置51のデータブロックH59へのDMA転送を実行する。ただし、この時点で第1DMAC39以外のプロセッサ31,35、第2DMAC43からのバスアクセス要求信号を受けている場合は、バス調停回路47は、上述と同様にしてバスの使用権を与えるバスマスタを再度判定する。
以上説明したように、本実施形態によれば、複数のバスマスタからバスの使用権を要求するバスアクセス要求信号が同時に出されたとき、バス調停回路は、各バスマスタから出されているアクセスアドレス信号を参照して、データ記憶装置内のデータブロック単位に設定されているデータ転送アクセス優先度に基づき、最も優先度の高いデータブロックを決定する。そして、そのデータブロックにアクセスするバスマスタを最も優先度の高い処理を実行する装置と決定し、バスアクセス許可信号を発行する。このように、集積回路において同時に発生する複数のバスアクセス要求を調停することによって、集積回路の処理効率を向上させることができる。また、バスマスタによりアクセス可能なデータブロック毎に優先度を設定することにより、データブロックに関連する個々のデータの重要度に応じたバス調停を実現することができる。
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。以下、そのような変形例について述べる。
実施の形態では、2つのデータ記憶装置50,51の種類を問わずに一連の優先度を与えていたが、データ記憶装置の種類毎に優先度を与えてもよい。例えば、データ記憶装置としてキャッシュメモリとメインメモリを備える場合、キャッシュメモリ内のデータブロックの優先度を、メインメモリ内のデータブロックの優先度より高く設定してもよい。これによって、データ記憶装置の重要度やアクセス高速性を考慮したバス調停を実現できる。
実施の形態では、全てのデータブロックに対して異なる優先度を付与したが、別々のデータブロックに対して同一の優先度を付与してもよい。この場合、バスマスタからデータアクセス要求が出されている2つ以上のデータブロックに対して同一の優先度が割り当てられていれば、優先度判定回路48は、従来どおりバスマスタに着目し、固定優先順位方式、ラウンドロビン方式、LRU(Least Recently Used)方式などによって、最も優先度の高いデータブロックを決定するようにする。すなわち、データブロックに関する優先度とバスマスタに関する優先度の双方を参照してバス調停をしてもよい。
実施の形態では、プロセッサとDMACを備えた集積回路に対するバス調停装置を説明したが、本発明のバス調停装置は、当然ながら、DMACを備えていないシステムに対しても適用することができる。要するに、複数のバスマスタが存在するシステムであればよい。
31 第1プロセッサ、 35 第2プロセッサ、 39 第1DMAC、 43 第2DMAC、 47 バス調停回路、 48 優先度判定回路、 49 データ転送アクセス優先度設定テーブル回路、 50 第1データ記憶装置、 51 第2データ記憶装置、 57〜59 データブロック、 61 アドレスデコード回路、 66、67 優先度設定テーブル、 72 バス状態監視回路。
Claims (6)
- 複数のバスマスタからバス使用要求が出されたとき、それらのバスマスタがアクセスを要求する対象データブロックを特定し、データブロックについて定まる優先度に基づき、より優先度の高いデータブロックへのアクセスを要求しているバスマスタに対してバスの使用を許可することを特徴とするバス調停方法。
- 前記複数のバスマスタに含まれるプロセッサにおける処理を実行するために必要となるデータが複数のデータブロックを使用して転送されるとき、それら一連のデータブロックに対して、他のデータブロックより高い優先度が付与されることを特徴とする請求項1に記載のバス調停方法。
- 前記複数のバスマスタに含まれるプロセッサにおいて実行の優先度が高いプログラムにより使用されるデータが格納されるデータブロックに対して、他のデータブロックより高い優先度が付与されることを特徴とする請求項1に記載のバス調停方法。
- 前記複数のバスマスタ以外の外部装置との間のデータ転送に使用されるデータブロックに対して、他のデータブロックより高い優先度が付与されることを特徴とする請求項1に記載のバス調停方法。
- 複数のバスマスタがアクセスを要求する対象データブロックについて定まる優先度が等しいとき、前記複数のバスマスタ間について定まる優先度にしたがってバスの使用を許可することを特徴とする請求項1に記載のバス調停方法。
- 複数のバスマスタから発行されるバス使用要求を調停するバス調停装置であって、
前記バスマスタから発行されるアクセスアドレス信号を受信して、アクセス要求のあるデータブロックを出力するアドレスデコード回路と、
データブロック毎に優先度を保持し、前記アドレスデコード回路からの出力に基づき、アクセス要求のあったデータブロックの優先度を出力する優先度設定テーブル回路と、
前記優先度設定テーブル回路からの出力に基づき、最も優先度の高いデータブロックへのアクセスを要求しているバスマスタを判定し、そのバスマスタに対してバスの使用を許可する優先度判定回路と、
を備えることを特徴とするバス調停装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005077457A JP2006260230A (ja) | 2005-03-17 | 2005-03-17 | バス調停方法およびバス調停装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005077457A JP2006260230A (ja) | 2005-03-17 | 2005-03-17 | バス調停方法およびバス調停装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006260230A true JP2006260230A (ja) | 2006-09-28 |
Family
ID=37099404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005077457A Pending JP2006260230A (ja) | 2005-03-17 | 2005-03-17 | バス調停方法およびバス調停装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006260230A (ja) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6368956A (ja) * | 1986-09-11 | 1988-03-28 | Fujitsu Ltd | バス優先順位決定回路 |
JPH02144652A (ja) * | 1988-11-25 | 1990-06-04 | Fujitsu Ltd | バス調停方式 |
JPH04186459A (ja) * | 1990-11-21 | 1992-07-03 | Nec Corp | 入出力制御方式 |
JPH0540729A (ja) * | 1991-08-02 | 1993-02-19 | Nec Corp | バス・システム |
JPH11143822A (ja) * | 1997-11-07 | 1999-05-28 | Nec Corp | リクエスト処理装置 |
JP2001325212A (ja) * | 2000-03-30 | 2001-11-22 | Lucent Technol Inc | マルチプロセッサシステムにおけるソースプロセッサから宛先プロセッサにデータブロックを送信する方法と装置 |
JP2003271539A (ja) * | 2002-03-18 | 2003-09-26 | Nef:Kk | Dma制御装置 |
-
2005
- 2005-03-17 JP JP2005077457A patent/JP2006260230A/ja active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6368956A (ja) * | 1986-09-11 | 1988-03-28 | Fujitsu Ltd | バス優先順位決定回路 |
JPH02144652A (ja) * | 1988-11-25 | 1990-06-04 | Fujitsu Ltd | バス調停方式 |
JPH04186459A (ja) * | 1990-11-21 | 1992-07-03 | Nec Corp | 入出力制御方式 |
JPH0540729A (ja) * | 1991-08-02 | 1993-02-19 | Nec Corp | バス・システム |
JPH11143822A (ja) * | 1997-11-07 | 1999-05-28 | Nec Corp | リクエスト処理装置 |
JP2001325212A (ja) * | 2000-03-30 | 2001-11-22 | Lucent Technol Inc | マルチプロセッサシステムにおけるソースプロセッサから宛先プロセッサにデータブロックを送信する方法と装置 |
JP2003271539A (ja) * | 2002-03-18 | 2003-09-26 | Nef:Kk | Dma制御装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4480427B2 (ja) | リソース管理装置 | |
JP3699833B2 (ja) | メモリアーキテクチャーのための優先符号化及び復号化 | |
JP2008130056A (ja) | 半導体回路 | |
US6775727B2 (en) | System and method for controlling bus arbitration during cache memory burst cycles | |
US7581054B2 (en) | Data processing system | |
JP2012038293A (ja) | マシンビジョン用マルチプロセッサシステムオンチップ | |
JP2012038293A5 (ja) | ||
JP5578713B2 (ja) | 情報処理装置 | |
KR101624153B1 (ko) | 데이터 공간 아비터 | |
KR920010951B1 (ko) | 데이타 제어장치 및 그것을 사용하는 시스템 | |
US9984014B2 (en) | Semiconductor device | |
JPH06110829A (ja) | バス使用要求調停装置 | |
JP2006268753A (ja) | Dma回路及びコンピュータシステム | |
JP2006260230A (ja) | バス調停方法およびバス調停装置 | |
US10540305B2 (en) | Semiconductor device | |
JP4684577B2 (ja) | 高速の帯域幅のシステムバスを仲裁するためのバスシステム及びその方法 | |
US5799160A (en) | Circuit and method for controlling bus arbitration | |
JP2006277363A (ja) | 情報転送方式,画像形成装置 | |
KR101013769B1 (ko) | 버스 중재방법 및 장치 | |
JP2007108858A (ja) | ピン共有装置およびピン共有方法 | |
JP4214521B2 (ja) | 情報処理システム及びマルチプロセッサ・システム | |
KR100484150B1 (ko) | 버스 중재방법 및 장치 | |
JP2004220309A (ja) | マルチプロセッサシステム | |
JP4437386B2 (ja) | 信号処理システム | |
JPH0351943A (ja) | 高速バスと低速バスのバスライン共用化方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070328 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100114 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100126 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100706 |