JP2007026022A - バス調停装置及びバス調停方法 - Google Patents

バス調停装置及びバス調停方法 Download PDF

Info

Publication number
JP2007026022A
JP2007026022A JP2005206378A JP2005206378A JP2007026022A JP 2007026022 A JP2007026022 A JP 2007026022A JP 2005206378 A JP2005206378 A JP 2005206378A JP 2005206378 A JP2005206378 A JP 2005206378A JP 2007026022 A JP2007026022 A JP 2007026022A
Authority
JP
Japan
Prior art keywords
hierarchy
bus
request
round robin
masters
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
JP2005206378A
Other languages
English (en)
Inventor
Kazuo Yamada
和生 山田
Yasumitsu Makita
泰光 牧田
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.)
NEC Electronics Corp
Original Assignee
NEC Electronics 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 NEC Electronics Corp filed Critical NEC Electronics Corp
Priority to JP2005206378A priority Critical patent/JP2007026022A/ja
Publication of JP2007026022A publication Critical patent/JP2007026022A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】
簡易な構成で、優先順位を確保しつつ全てのバスマスタが必ずリソースにアクセスできるとともに、バス占有率を容易に計算することができるバス調停装置及びバス調停方法を提供すること。
【解決手段】
本発明にかかるバス調停回路100は、バスマスタ1〜6のそれぞれを第1階層RR1,第2階層RR2に階層化する階層情報設定部111と、
第1階層RR1のバスマスタのいずれかもしくは第2階層RR2を選択する第1階層選択部111と、第1階層選択部111が第2階層RR2を選択した場合に、第2階層RR2のバスマスタのいずれかを選択する第2階層選択部112と、第1階層選択部111もしくは第2階層選択部112が選択したバスマスタのバスアクセスを許可する選択信号出力部130と、を有するものである。
【選択図】 図1

Description

本発明は、バスアクセス調停装置及びバスアクセス調停方法に関し、特に、複数のバスマスタのバスアクセスを調停するバス調停装置及びバス調停方法に関する。
従来から、種々のデータを処理するデータ処理システムでは、複数のデバイスが1つのバスに共通に接続され、特定のデバイスのみがバスを占有しデータ転送等のバスアクセスを行っている。データ処理システムには、バス調停回路(バスアービタ)が設けられており、このバス調停回路によって、各デバイスのバスアクセスが調停されバスを占有するための占有権が与えられる。バスアクセスをバス調停回路に要求しバスの占有権の取得するデバイスをバスマスタと呼んでいる。
例えば、複数のCPUを接続するCPUバスや複数のDMA(Direct Memory Access)を接続するDMA転送用バス等のように、複数のバスマスタが存在しバスマスタが1つのリソース(バススレーブ)にアクセスするようなシステムでは、バス調停回路が、所定の方式にしたがって、バスマスタからのバスアクセス要求を調停し、バスマスタにバス占有権を割り当てている。
バス調停回路がバスアクセス要求を調停する方式として、ラウンドロビン方式と固定優先順位方式が知られている。
ラウンドロビン方式は、所定の順序にしたがい各バスマスタに同じ割合でバス占有権を与える方式である。一般的なラウンドロビン方式では、複数のバスマスタをあらかじめ決められた順番に処理していく為、すべてのバスマスタが公平にアクセスすることはできるが、各バスマスタの優先順位を設定することはできない。
固定優先順位方式は、バスマスタの重要度に沿った優先順位にしたがい各バスマスタにバス占有権を与える方式である。一般的な固定優先順位方式では、優先順位の高いバスマスタからバスアクセス要求がある間はこのバスマスタがバスを占有し続けてしまうため、優先順位の低いバスマスタは待たされ、その間リソースにアクセスすることができない。そうすると、各バスマスタのデータ転送等が正常に行われなくなり、システムが破綻してしまう場合がある。
このようにシステムの破綻を防ぐ為、優先順位を確保し、且つ全てのバスマスタがリソースにアクセスすることの出来るバス制御方法が必要である。また、バスの最適化を行う為、システム設計時に各バスマスタのバス占有率を正確に求める必要もある。
そこで、各バスマスタのバス占有率が容易に計算でき、且つ、優先順位の高低に関わらず、全てのバスマスタが、必ずリソースにアクセスできる制御方法が必要である。
従来のバス調停回路として、特許文献1が知られている。図8は、特許文献1と同様の従来のバス調停回路を有するデータ処理システムの構成を示している。
従来のデータ処理システムでは、バスマスタ920a,920bとリソース930は、それぞれバス940に共通に接続されている。バス調停回路910は、バスマスタ920a,920bからのバスアクセス要求を調停し、バスマスタ920aもしくはバスマスタ920bのいずれかにバス占有権を与える。バスマスタ920a,920bは、バス調停回路910からバスアクセスを許可されバス占有権を与えられると、バス940を介してリソース930との間でデータ転送を行う。
バスマスタ920a,920bは、図に示すように、それぞれプライオリティ情報(優先度情報)を生成するプライオリティ生成部921a,921bを備え、バスマスタ920a,920bは、バス調停回路910にリクエスト(バスアクセス要求)とプライオリティ情報をバス調停回路910に出力する。
バス調停回路910は、図に示すように、プライオリティチェック部911とラウンドロビン選択部912を有している。プライオリティチェック部911は、各バスマスタから与えられるプライオリティ情報をチェックし、優先順位の一番高いプライオリティ情報を出力しているバスマスタ、すなわち優先順位の一番高いバスマスタを検出し、そのチェック結果(検出結果)をラウンドロビン選択部912へ出力する。
ラウンドロビン選択部912では、前回の調停動作の結果を保持しており、プライオリティチェック部911のチェック結果と、前回の調停結果とから生成したラウンドロビン順位に基づいて、リクエスト選択信号を生成して、それぞれのバスマスタに出力する。
このリクエスト選択信号によりバスアクセスが受け付けられたバスマスタ920a,920bでは、バスを占有してデータ転送を行うと同時に、プライオリティ生成部921a,921bにおいて、当該バスマスタのプライオリティ情報をランクダウンする。また、リクエスト選択信号によりバスアクセスが受け付けられなかったバスマスタ920a,920bでは、プライオリティ生成部921a,921bにおいて、当該バスマスタのプライオリティ情報をランクアップする。すなわち、プライオリティ生成部921a,921bは、バスアクセスに応じてプライオリティを変更し、各バスマスタの優先順位を切り替えている。
このように従来のバス調停回路では、動的に変更される優先順位に応じたラウンドロビン制御を行うことにより、優先順位を保ちつつ、各バスマスタの公平化を可能にしている。
尚、その他の従来のバス調停回路として特許文献2が知られている。特許文献2では、複数のバスマスタをグループ化し、グループ内のバスマスタ間をラウンドロビン方式により調停し、グループ間を固定優先順位方式により調停している。したがって、優先度の高いグループが選択されている間は、優先度の低いグループはバスを使用することはできない。
特開2004−178056号公報 特開2003−30134号公報
しかしながら、図8の従来のデータ処理システムでは、各バスマスタにプライオリティ情報を生成するプライオリティ生成部921a,921bが必要であり、バス調停回路9210にプライオリティ情報をチェックするプライオリティチェック部911が必要となる。
プライオリティ生成部921a,921bは、ソフトウェアで制御されており、ソフトウェアによりリクエストの割り込みが受け付けられたかを判断し、リクエストが受け付けられなかった場合にはプライオリティ値を段階的に優先度をランクアップする制御を行うとともに、プライオリティ情報をバス調停回路910に出力する。また、プライオリティ生成部921a,921bは、全バスマスタに設けられ、バスマスタ毎に処理を行うため、バスマスタ数に応じてプライオリティ生成部の数も多くなってしまう。
このように従来技術では、優先順位を動的に変化させるプライオリティ制御とラウンドロビン制御の2つの制御方式を組み合わせてバスマスタの優先順位を固定させている。このため、バス調停回路910のプライオリティチェック部911とバスマスタ920a,920bのプライオリティ生成部921a,921bが必要となり、回路構成が複雑になるという問題がある。
また、プライオリティ生成部921a,921bでは、ソフトウェア制御が必要なため、バス占有率の計算はハードウェアとソフトウェアの両方に依存してしまう。したがって、バス占有率の計算は、ハードウェアの動作とソフトウェアの動作を考慮する必要があるため、その計算を行うのは非常に困難であり、システム設計時に、バス占有率を正確に計算することができないという問題がある。
本発明にかかるバス調停装置は、バスに共通接続された複数のバスマスタのバスアクセスを調停するバス調停装置であって、前記複数のバスマスタのそれぞれを第1の階層もしくは第2の階層に階層化する階層化部と、前記第1の階層のバスマスタのいずれかもしくは前記第2の階層を選択する第1の階層選択部と、前記第1の階層選択部が前記第2の階層を選択した場合に、前記第2の階層のバスマスタのいずれかを選択する第2の階層選択部と、前記第1もしくは第2の階層選択部が選択したバスマスタのバスアクセスを許可するバスアクセス許可部と、を有するものである。
このバス調停装置によれば、複数のバスマスタを階層化し、1つの階層を選択する際に、バスマスタもしくは他の階層を選択することにより、全てのバスマスタが必ず選択されるようになる。これにより、簡易な構成で、優先順位を確保しつつ全てのバスマスタがリソースにアクセスすることができるとともに、バス占有率を容易に計算することができる。
本発明にかかるバス調停方法は、バスに共通接続された複数のバスマスタのバスアクセスを調停するバス調停方法であって、前記複数のバスマスタのそれぞれを第1の階層もしくは第2の階層に階層化し、前記第1の階層のバスマスタのいずれかもしくは前記第2の階層を選択し、前記第2の階層が選択された場合に、前記第2の階層のバスマスタのいずれかを選択し、前記選択された前記第1もしくは第2の階層のバスマスタのバスアクセスを許可するものである。
このバス調停方法によれば、複数のバスマスタを階層化し、1つの階層を選択する際に、バスマスタもしくは他の階層を選択することにより、全てのバスマスタが必ず選択されるようになる。これにより、簡易な構成で、優先順位を確保しつつ全てのバスマスタがリソースにアクセスすることができるとともに、バス占有率を容易に計算することができる。
本発明によれば、簡易な構成で、優先順位を確保しつつ全てのバスマスタが必ずリソースにアクセスできるとともに、バス占有率を容易に計算することができるバス調停装置及びバス調停方法を提供することができる。
発明の実施の形態1.
まず、本発明の実施の形態1にかかるバスアクセス調停装置及びバスアクセス調停方法について説明する。本実施形態は、階層化したラウンドロビン方式によりバスの調停を行うことを特徴としている。
ここで、図1及び図2を用いて、本実施形態にかかるデータ処理システム及びバス調停回路の構成について説明する。図1に示されるように、このデータ処理システムは、バスマスタ1〜6、バス調停回路100、リソース200を備えており、バスマスタ1〜6とリソース200は、それぞれバス210に共通に接続されている。
バスマスタ1〜6はバス210を使用する際、バス調停回路100にバスのアクセス要求であるリクエストR1〜R6をそれぞれ出力する。そして、バス調停回路100からリクエスト選択信号SS1〜SS6によってそれぞれ選択されたバスマスタは、バスの占有権を与えられたと判断し、バス210にアクセスしてリソース200とデータ転送等を行う。
リソース200はバスマスタからアクセスされるバススレーブであり、例えば、RAMなどのメモリである。バスマスタ1〜6は、メモリに格納されたプログラムの実行等を行うCPUや、外部データをメモリと直接やり取りするDMA等である。
バス調停回路(バス調停装置)100は、バスマスタのバスアクセスを調停する。つまり、バス調停回路100は、バスマスタ1〜6のリクエストを階層化されたラウンドロビン方式により調停しバスマスタの選択を行う。例えば、バス調停回路100は、図2に示されるように、階層化ラウンドロビン選択部110、リクエスト入力部120、選択信号出力部130、階層情報設定部140から構成されている。
リクエスト入力部120は、バスマスタ1〜6からリクエストR1〜R6を受け取る。複数のバスマスタから同時にリクエストを受け取った場合には、それぞれのリクエストを選択待ちキューなどに格納し、調停されるまでリクエストを保持する。
階層情報設定部140は、各バスマスタをそれぞれ複数の階層に階層化する階層化部である。すなわち、階層情報設定部140は、各階層に属するバスマスタや階層を設定する。例えば、階層情報設定部140は、メモリ等を有し、各バスマスタ(リクエスト)の優先順位や、各バスマスタ(リクエスト)が属する階層、各バスマスタ(リクエスト)のラウンドロビン順位等を記憶している。
Figure 2007026022
この表1は、階層情報設定部140に設定された各リクエストの優先順位の例である。優先順位の数が小さい方が、優先順位が高い。この例では、リクエストR1,R2が1番高い優先順位であり、リクエストR3,R4が2番目の優先順位であり、リクエストR5,R6が3番目の優先順位である。
Figure 2007026022
この表2は、階層情報設定部140に設定された各リクエストと各階層のラウンドロビン順位の例である。ラウンドロビン順位とは、ラウンドロビン方式により選択する順番である。例えば、第1階層RR1では、リクエストR1、リクエストR2、第2階層RR2の順に選択される。第2階層RR2では、リクエストR3、リクエストR4、第2階層RR3の順に選択される。第3階層RR3では、リクエストR5、リクエストR6の順に選択される。
階層化ラウンドロビン選択部110は、リクエスト入力部120に入力されたリクエストが競合した場合、階層情報設定部140に設定された各階層ごとにラウンドロビン方式にしたがいリクエスト(バスマスタ)のいずれかを選択する。
選択信号出力部130は、階層化ラウンドロビン選択部110により選択されたリクエストに対応するリクエスト選択信号SS1〜SS6のいずれかを出力する。すなわち、選択信号出力部130は、選択されたバスマスタのバスアクセスを許可し、バス占有権を与えるバスアクセス許可部である。
さらに、図1に示すように、階層化ラウンドロビン選択部110は、第1階層RR1、第2階層RR2、第3階層RR3の各階層の選択処理を行う第1階層選択部111、第2階層選択部、第3階層選択部113を有している。この階層と各リクエストの対応は、階層情報設定部140に設定されており、上記の表2と同様である。優先順位は上記の表1の通りであり、第1階層RR1の優先順位が最も高く、第3階層RR3の優先順位が最も低い。すなわち、上位の階層の優先順位が高く、下位の階層の優先順位が低い。
第1階層選択部111は、第1階層RR1に含まれるリクエストR1、リクエストR2、第2階層RR2のいずれかを選択する。第2階層選択部112は、第1階層選択部111が第2階層RR2を選択した場合に、第2階層RR2に含まれるリクエストR3、リクエストR4、第3階層RR3のいずれかを選択する。第3階層選択部113は、第2階層選択部112が第3階層RR3を選択した場合に、第3階層RR3に含まれるリクエストR5、リクエストR6のいずれかを選択する。
第1階層選択部111、第2階層選択部112、第3階層選択部113は、それぞれ、ラウンドロビン方式により定まる選択順位にしたがって、リクエストや下位の階層を選択する。すなわち、各階層選択部は、上記の表2に設定されたラウンドロビン順位にしたがって選択を行う。
次に、図3のフローチャートを用いて、本実施形態にかかるバス調停方法について説明する。図3は、図1のバス調停回路100におけるバスの調停方法を示している。例えば、バスマスタ1〜6からリクエストR1〜R6がそれぞれバス調停回路100に出力されると、リクエスト入力部120に各リクエストが入力されて、以下の処理が行われる。
まず、階層化ラウンドロビン選択部110は、リクエストの競合判定を行う(ステップS1)。ステップS1の判定結果が'NO'の場合、すなわち、バスマスタからのリクエストが競合していない場合、階層化ラウンドロビン選択部110は、このリクエストを選択し、選択信号出力部130からこのリクエストに対応するバスマスタにリクエスト選択信号を出力する(ステップS7)。これにより、リクエスト選択信号を受けたバスマスタは、バス占有権を取得し、リソース200へのアクセスが可能になる。尚、リクエストが競合していない場合には、ステップS8のラウンドロビン順位の変更を行わなくてよい。
また、ステップS1の判定結果が'YES'の場合、すなわち、バスマスタからのリクエストが競合している場合、階層化ラウンドロビン選択部110は、次のステップS2〜S6で上位の階層から順にバスの調停処理を行う。つまり、階層化ラウンドロビン選択部110は、各階層選択部により階層順に処理され、各階層でラウンドロビン方式によりリクエストもしくは次の階層が選択される。
バスの調停処理では、まず、第1階層選択部111は、第1階層RR1のバスの調停を行う(ステップS2)。すなわち、第1階層選択部111は、表2のラウンドロビン順位にしたがって、第1階層RR1において、ラウンドロビン順位が最上位(順位が1)であるリクエストR1,R2又は第2階層RR2のいずれかを選択する。
次いで、第1階層選択部111は、ステップS2で選択した結果が、階層(第2階層RR2)であるか判定する(ステップS3)。ステップS3の判定結果が'NO'の場合、すなわち、ステップS2において階層ではなくリクエストを選択していた場合、第1階層選択部111は、第1階層RR1で調停されたリクエストを選択し、選択信号出力部130からこのリクエストに対応するバスマスタにリクエスト選択信号を出力する(ステップS7)。
そして、第1階層選択部111は、ラウンドロビン順位の変更を行う(ステップS8)。すなわち、第1階層選択部111は、選択したリクエストのラウンドロビン順位を最下位にし、他のリクエストのラウンドロビン順位を一つランクアップする。
また、ステップS3の判定結果が'YES'の場合、すなわち、ステップS2において第2階層RR2を選択していた場合、第2階層選択部112は、第2階層RR2のバスの調停を行う(ステップS4)。すなわち、第2階層選択部112は、表2のラウンドロビン順位にしたがって、第2階層RR2において、ラウンドロビン順位が最上位(順位が1)であるリクエストR3,R4又は第3階層RR3のいずれかを選択する。
次いで、第2階層選択部112は、ステップS4で選択した結果が、階層(第3階層RR3)であるか判定する(ステップS5)。ステップS5の判定結果が'NO'の場合、すなわち、ステップS4において階層ではなくリクエストを選択していた場合、第2階層選択部112は、第2階層RR2で調停されたリクエストを選択し、選択信号出力部130からこのリクエストに対応するバスマスタにリクエスト選択信号を出力する(ステップS7)。そして、第2階層選択部112は、ラウンドロビン順位の変更を行う(ステップS8)。
また、ステップS5の判定結果が'YSE'の場合、すなわち、ステップS4において第3階層RR3を選択していた場合、第3階層選択部113は、第3階層RR3のバスの調停を行う(ステップS6)。すなわち、第3階層選択部113は、表2のラウンドロビン順位にしたがって、第3階層RR3において、ラウンドロビン順位が最上位(順位が1)であるリクエストR5,R6のいずれかを選択する。
次いで、第3階層選択部113は、第3階層RR3で調停されたリクエストを選択し、選択信号出力部130からこのリクエストに対応するバスマスタにリクエスト選択信号を出力する(ステップS7)。そして、第3階層選択部113は、ラウンドロビン順位の変更を行う(ステップS8)。
尚、ステップS7,S8の後、まだ選択していないリクエストがリクエスト入力部120に残っている場合、ステップS1以下の処理を繰り返し行う。
このように、本実施形態では、選択されたリクエストのラウンドロビン順位を最下位にして、他のリクエストのラウンドロビン順位を一つランクアップさせる動作を階層毎に行う。すなわち、階層毎にラウンドロビン制御を行っている。
次の表3は、図3の動作でリクエストR1〜R6が連続18回競合した場合のラウンドロビン順位の動作と選択されるリクエストを示している。
Figure 2007026022
表3において、それぞれの数字が各リクエストのラウンドロビン順位を示しており、丸の付された数字が選択されたリクエストである。表3の動作を図3のフローチャートの各ステップと対応付けて説明する。
まず、1回目のアクセスでは、第1階層RR1で順位が1のリクエストR1が選択される(ステップS2)。そして、リクエストR1のラウンドロビン順位が3、リクエストR2のラウンドロビン順位が1、第2階層RR2のラウンドロビン順位が2に変更される(ステップS8)。2回目のアクセスでも同様に、リクエストR2が選択され、ラウンドロビン順位が変更される。
次いで、3回目のアクセスでは、第1階層RR1で順位が1の第2階層RR2が選択され(ステップS2)、第2階層RR2で順位が1のリクエストR3が選択される(ステップS4)。そして、第1階層RR1のラウンドロビン順位が変更されるとともに、リクエストR3のラウンドロビン順位が3、リクエストR4のラウンドロビン順位が1、第3階層RR3のラウンドロビン順位が2に変更される(ステップS8)。
次いで、4,5,6回目のアクセスでは、1,2,3回目のアクセスと同様に第1階層RR1のリクエストR1,R2、第2階層RR2のリクエストR4が選択され、選択ごとにラウンドロビン順位が変更される。
次いで、7,8回目のアクセスで第1階層RR1のリクエストR1,R2が選択された後、9回目のアクセスでは、第1階層RR1で順位が1の第2階層RR2が選択され(ステップS2)、第2階層RR2で順位が1の第3階層が選択され(ステップS4)、第3階層RR3で順位が1のリクエストR5が選択される(ステップS6)。そして、第1階層RR1,第2階層RR2のラウンドロビン順位が変更されるとともに、リクエストR5のラウンドロビン順位が2、リクエストR6のラウンドロビン順位が1に変更される(ステップS8)。
次いで、10〜18回目のアクセスでは、1〜9回目のアクセスと同様に、第1階層RR1のリクエストR1,R2、第2階層RR2のリクエストR3が選択された後、第1階層RR1のリクエストR1,R2、第2階層RR2のリクエストR4が選択された、さらに、第1階層RR1のリクエストR1,R2、第3階層RR3のリクエストR6が選択される。
表3の動作からもわかる通り、全てのバスマスタからリクエストが発生している場合には、各リクエストが決められた確率で選択されるため、バス占有率を容易に計算することができる。この場合のバス占有率の計算式を以下の式1−1〜式1−3に示す。
優先順位1のバス占有率=(1/第1階層のリクエスト数)×100 (式1−1)
優先順位2のバス占有率=(1/第1階層のリクエスト数×第2階層のリクエスト数)×100 (式1−2)
優先順位3のバス占有率=(1/第1階層のリクエスト数×第2階層のリクエスト数×第3階層のリクエスト数)×100 (式1−3)
次の表4は、この式1−1〜1−3によりバス占有率を計算した例を示している。優先順位が高いリクエストのバス占有率が高くなっている。
Figure 2007026022
尚、上記の説明では、全体のバスマスタ数を6、ラウンドロビンの階層数を3、階層内のバスマスタ数を2、階層内の次の階層を1としたが、これらの数はその他の任意の数でもよい。この設定を変更することで、バスの占有率を調整することができる。図4のデータ処理システムは、バス210に複数のバスマスタ1〜N(Nは整数)を接続し、ラウンドロビンの階層数をN個とした例である。各バスマスタからのリクエストR1〜RN(Nは整数)は、階層化ラウンドロビン選択部110の各階層選択部で処理される。すなわち、第1階層選択部111と第2階層選択部112は、図1と同様である。第3階層選択部113は、第3階層RR3に含まれるリクエストR5、リクエストR6、第4階層RR4のいずれかを選択する。第N階層選択部11Nは、第N−1階層選択部が第N階層RRNを選択した場合に、第N階層RRNに含まれるリクエストRN、リクエストRN−1のいずれかを選択する。
この場合のバス調停方法も図3と同様である。すなわち、各バスマスタからのリクエストが競合した場合、第1階層RR1〜第N階層RRNの順に処理され、各階層でラウンドロビン方式によりリクエストもしくは次の階層が選択される。
また、この場合のバス占有率も、上記と同様に以下の式2−1〜2−Nにより計算することができる。
優先順位1のバス占有率=(1/第1階層のリクエスト数)×100 (式2−1)
優先順位2のバス占有率=(1/第1階層のリクエスト数×第2階層のリクエスト数)×100 (式2−2)
優先順位3のバス占有率=(1/第1階層のリクエスト数×第2階層のリクエスト数×第3階層のリクエスト数)×100 (式2−3)


優先順位Nのバス占有率=(1/第1階層のリクエスト数×第2階層のリクエスト数×第3階層のリクエスト数×...×第N階層のリクエスト数)×100 (式2−N)
以上のように、本実施形態では、バスを調停する方式として、各バスマスタ(リクエスト)を階層化し、各階層でラウンドロビン方式により選択を行うことにより、階層ごとの優先順位を確保することができるとともに、優先順位の低いバスマスタでも必ず選択されるため、全てのバスマスタがリソースにアクセスすることができ、システムの破綻を防止することができる。
また、優先度を動的に変更するための回路が必要ないため、回路規模の増大を抑止することができる。さらに、ソフトウェアやハードウェアにより動的にバスを使用する確率が変動しないため、バス占有率も容易かつ正確に計算することが可能となる。
発明の実施の形態2.
次に、本発明の実施の形態2にかかるバスアクセス調停装置及びバスアクセス調停方法について説明する。本実施形態は、同じ優先度のバスマスタ(リクエスト)を含む階層を複数設けて、バスの調停を行うことを特徴としている。
本実施形態のデータ処理システム全体の構成やバス調停回路の構成は、実施の形態1と同様である。図5は、本実施形態にかかる階層化ラウンドロビン選択部110の構成を示している。この例では、ラウンドロビンの階層を4層とし、第2階層RR2と第3階層RR3に同じリクエストが含まれている。
各階層選択部は、ラウンドロビン方式によりリクエストや下位の階層を選択し、第1階層選択部111と第2階層選択部112は、図1と同じである。第3階層選択部113は、第2階層選択部112が第3階層RR3を選択した場合に、第3階層RR3に含まれるリクエストR3、リクエストR4、第4階層RR3のいずれかを選択する。第4階層選択部114は、第3階層選択部113が第4階層RR4を選択した場合に、第4階層RR4に含まれるリクエストR5、リクエストR6のいずれかを選択する。
この場合のバス調停方法も図3と同様である。すなわち、各バスマスタからのリクエストが競合した場合、第1階層RR1〜第4階層RR4の順に処理され、各階層でラウンドロビン方式によりリクエストもしくは次の階層が選択される。
また、この場合のバス占有率も、上記と同様に以下の式3−1〜3−Nにより計算することができる。
優先順位1のバス占有率=(1/第1階層のリクエスト数)×100 (式3−1)
優先順位2のバス占有率=(1/第1階層のリクエスト数×第2階層のリクエスト数)×100+(1/第1階層のリクエスト数×第2階層のリクエスト数×第3の階層リクエスト数)×100 (式3−2)
優先順位3のバス占有率=(1/第1階層のリクエスト数×第2階層のリクエスト数×第3階層のリクエスト数×第4階層のリクエスト数)×100 (式3−3)
次の表5は、この式3−1〜3−3によりバス占有率を計算した例を示している。表5では、表4と比べて、リクエストR3,R4のバス占有率が高く、リクエストR5,R6のバス占有率が低くなっている。
Figure 2007026022
このように、同じ優先順位のリクエストR3とリクエストR4を第2階層RR2と第3階層RR3に配置することによって、優先順位が2番目のバス占有率をより高くし、優先順位が3番目のバス占有率をより低く設定することが可能である。したがって、同じ優先順位のリクエストを他階層に配置することで、各リクエストのバス占有率をさらに詳細に調整することができる。その結果、システムに適したバス占有率を設定でき、システムの破綻を効率よく防止することが可能である。
発明の実施の形態3.
次に、本発明の実施の形態3にかかるバスアクセス調停装置及びバスアクセス調停方法について説明する。本実施形態は、同じ階層に複数のサブ階層(グループ)を設けて、バスの調停を行うことを特徴としている。
本実施形態のデータ処理システム全体の構成やバス調停回路の構成は、実施の形態1と同様である。図6は、本実施形態にかかる階層化ラウンドロビン選択部110の構成を示している。この例では、ラウンドロビンの階層を2層とし、第2階層を2つのサブ階層(グループ)の第2階層RR21と第2階層RR22としている。
この階層化ラウンドロビン選択部110では、上記の例と同様に、各階層選択部は、ラウンドロビン方式によりリクエストや下位の階層を選択する。そしてここでは、第1階層選択部111は、第1階層RR1に含まれるリクエストR1、第2階層RR21、第2階層RR22のいずれかを選択する。第2階層選択部112aは、第1階層選択部111が第2階層RR21を選択した場合に、第2階層RR21に含まれるリクエストR2、リクエストR3、リクエストR4のいずれかを選択する。第2階層選択部112bは、第1階層選択部111が第2階層RR22を選択した場合に、第2階層RR22に含まれるリクエストR2、リクエストR3のいずれかを選択する。
ここで第2階層に含まれるリクエストR2とリクエストR3は同じ優先順位であり、リクエストR4は、リクエストR2,R3よりも低い優先順位である。すなわち、第2階層には、優先順位の高いリクエストR2,R3が、優先順位の低いリクエストR4よりも多く含まれている。
次に、図7のフローチャートを用いて、本実施形態にかかるバス調停方法について説明する。図7は、図6の階層化ラウンドロビン選択部110におけるバスの調停方法を示している。例えば、バスマスタ1〜4からリクエストR1〜R4がバス調停回路100に出力されると、リクエスト入力部120に各リクエストが入力されて、以下の処理が行われる。
まず、階層化ラウンドロビン選択部110は、リクエストの競合判定を行う(ステップS21)。ステップS21の判定結果が'NO'の場合、すなわち、バスマスタからのリクエストが競合していない場合、階層化ラウンドロビン選択部110は、このリクエストを選択し、選択信号出力部130からこのリクエストに対応するバスマスタにリクエスト選択信号を出力する(ステップS27)。尚、リクエストが競合していない場合には、ステップS28のラウンドロビン順位の変更を行わなくてよい。
また、ステップS21の判定結果が'YES'の場合、すなわち、バスマスタからのリクエストが競合している場合、階層化ラウンドロビン選択部110は、次のステップS22〜S26で上位の階層から順にバスの調停処理を行う。つまり、階層化ラウンドロビン選択部110は、各階層選択部により階層順に処理され、各階層でラウンドロビン方式によりリクエストもしくは次の階層が選択される。
バスの調停処理では、まず、第1階層選択部111は、第1階層RR1のバスの調停を行う(ステップS22)。すなわち、第1階層選択部111は、第1階層RR1において、ラウンドロビン順位が最上位(順位が1)であるリクエストR1、第2階層RR21又は第2階層RR22のいずれかを選択する。
次いで、第1階層選択部111は、ステップS22で選択した結果が、階層(第2階層RR21)であるか判定する(ステップS23)。ステップS23の判定結果が'YES'の場合、すなわち、ステップS22において第2階層RR21を選択していた場合、第2階層選択部112aは、第2階層RR21のバスの調停を行う(ステップS24)。すなわち、第2階層選択部112aは、第2階層RR21において、ラウンドロビン順位が最上位(順位が1)であるリクエストR2,R3,R4のいずれかを選択する。そして、選択信号出力部130からこのリクエストに対応するバスマスタにリクエスト選択信号を出力する(ステップS27)。さらに、第2階層選択部112aは、ラウンドロビン順位の変更を行う(ステップS28)。
ステップS23の判定結果が'NO'の場合、すなわち、ステップS22において第2階層RR21を選択していない場合、第1階層選択部111は、ステップS22で選択した結果が、階層(第2階層RR22)であるか判定する(ステップS25)。ステップS25の結果が'YES'の場合、すなわち、ステップS22において第2階層RR22を選択していた場合、第2階層選択部112bは、第2階層RR22のバスの調停を行う(ステップS26)。すなわち、第2階層選択部112bは、第2階層RR22において、ラウンドロビン順位が最上位(順位が1)であるリクエストR2,R3のいずれかを選択する。そして、選択信号出力部130からこのリクエストに対応するバスマスタにリクエスト選択信号を出力する(ステップS27)。さらに、第2階層選択部112bは、ラウンドロビン順位の変更を行う(ステップS28)。
ステップS25の判定結果が'NO'の場合、すなわち、ステップS22において階層ではなくリクエストを選択していた場合、第1階層選択部111は、第1階層RR1で調停されたリクエストを選択し、選択信号出力部130からこのリクエストに対応するバスマスタにリクエスト選択信号を出力する(ステップS27)。そして、第1階層選択部111は、ラウンドロビン順位の変更を行う(ステップS28)。
尚、ステップS27,S28の後、まだ選択していないリクエストがリクエスト入力部120に残っている場合、ステップS21以下の処理を繰り返し行う。
この場合のバス占有率は、以下の式4−1〜4−3で容易に計算することができる。
優先順位1のバス占有率=(1/第1階層リクエスト数)×100 (式4−1)
優先順位2のバス占有率= (1/第1階層リクエスト数×第2階層RR21リクエスト数)×100+(1/第1階層リクエスト数×第2階層RR22リクエスト数)×100 (式4−2)
優先順位3のバス占有率= (1/第1階層リクエスト数×第2階層RR22リクエスト数)×100 (式4−3)
次の表6は、この式4−1〜4−3によりバス占有率を計算した例を示している。第2階層でも優先順位の高いリクエストR2,R3のバス占有率が高く、優先順位の低いリクエストR4のバス占有率が低くなっている。
Figure 2007026022
このように、本実施形態では、優先順位毎に階層を作らず、同じ階層に複数のサブ階層(グループ)を設け、階層内で優先度の高いリクエストの数を増やす事で、階層数を増やすことなく優先順位を保つことができる。これにより、バス占有率をさらに詳細に調整することができ、システムに適したバス占有率とすることができる。
尚、上述の実施の形態のほか、本発明の要旨を逸脱しない範囲で種々の変形、実施が可能である。例えば、上記のラウンドロビン方式の代わりに、所定の順序にしたがい選択するその他の選択方式を用いてもよい。
本発明にかかるデータ処理システムの構成を示す構成図である。 本発明にかかるバス調停回路の構成を示す構成図である。 本発明にかかるバス調停方法を示すフローチャートである。 本発明にかかるデータ処理システムの構成を示す構成図である。 本発明にかかるバス調停回路の構成を示す構成図である。 本発明にかかるバス調停回路の構成を示す構成図である。 本発明にかかるバス調停方法を示すフローチャートである。 従来のデータ処理システムの構成を示す構成図である。
符号の説明
1〜6 バスマスタ
100 バス調停回路
110 階層化ラウンドロビン選択部
111 第1階層選択部
112 第2階層選択部
113 第3階層選択部
120 リクエスト入力部
130 選択信号出力部
140 階層情報設定部
200 リソース
210 バス
RR1〜RR3 階層
R1〜R6 リクエスト
SS1〜SS6 リクエスト選択信号

Claims (9)

  1. バスに共通接続された複数のバスマスタのバスアクセスを調停するバス調停装置であって、
    前記複数のバスマスタのそれぞれを第1の階層もしくは第2の階層に階層化する階層化部と、
    前記第1の階層のバスマスタのいずれかもしくは前記第2の階層を選択する第1の階層選択部と、
    前記第1の階層選択部が前記第2の階層を選択した場合に、前記第2の階層のバスマスタのいずれかを選択する第2の階層選択部と、
    前記第1もしくは第2の階層選択部が選択したバスマスタのバスアクセスを許可するバスアクセス許可部と、を有する、
    バス調停装置。
  2. 前記第1の階層選択部は、ラウンドロビン方式により定まる選択順位にしたがい前記バスマスタのいずれかもしくは第2の階層を選択し、
    前記第2の階層選択部は、ラウンドロビン方式により定まる選択順位にしたがい前記バスマスタのいずれかを選択する、
    請求項1に記載のバス調停装置。
  3. 前記第1もしくは第2の階層選択部は、前記選択したバスマスタについて、前記ラウンドロビン方式の選択順位を変更する、
    請求項2に記載のバス調停装置。
  4. 前記第1の階層は、前記第2の階層よりも優先順位が高い、
    請求項1乃至3のいずれか一つに記載のバス調停装置。
  5. 前記第1の階層と前記第2の階層には、同じバスマスタが含まれている、
    請求項1乃至4のいずれか一つに記載のバス調停装置。
  6. 前記階層化部は、前記第2の階層に含まれるバスマスタのそれぞれを第1のサブ階層もしくは第2のサブ階層にさらに階層化し、
    前記第1の階層選択部は、前記第1の階層のバスマスタのいずれか、前記第1のサブ階層もしくは前記第2のサブ階層を選択し、
    前記第2の階層選択部は、前記第1の階層選択部が前記第1のサブ階層を選択した場合に、前記第1のサブ階層のバスマスタのいずれかを選択し、前記第1の階層選択部が前記第2のサブ階層を選択した場合に、前記第2のサブ階層のバスマスタのいずれかを選択する、
    請求項1乃至5のいずれか一つに記載のバス調停装置。
  7. 前記第1のサブ階層と前記第2のサブ階層には、同じバスマスタが含まれている、
    請求項6に記載のバス調停装置。
  8. バスに共通接続された複数のバスマスタのバスアクセスを調停するバス調停方法であって、
    前記複数のバスマスタのそれぞれを第1の階層もしくは第2の階層に階層化し、
    前記第1の階層のバスマスタのいずれかもしくは前記第2の階層を選択し、
    前記第2の階層が選択された場合に、前記第2の階層のバスマスタのいずれかを選択し、
    前記選択された前記第1もしくは第2の階層のバスマスタのバスアクセスを許可する、
    バス調停方法。
  9. 前記第1の階層のバスマスタもしくは前記第2の階層の選択は、ラウンドロビン方式により定まる選択順位にしたがい前記バスマスタのいずれかもしくは第2の階層を選択し、
    前記第2の階層のバスマスタの選択は、ラウンドロビン方式により定まる選択順位にしたがい前記バスマスタのいずれかを選択する、
    請求項8に記載のバス調停方法。
JP2005206378A 2005-07-15 2005-07-15 バス調停装置及びバス調停方法 Pending JP2007026022A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005206378A JP2007026022A (ja) 2005-07-15 2005-07-15 バス調停装置及びバス調停方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005206378A JP2007026022A (ja) 2005-07-15 2005-07-15 バス調停装置及びバス調停方法

Publications (1)

Publication Number Publication Date
JP2007026022A true JP2007026022A (ja) 2007-02-01

Family

ID=37786696

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005206378A Pending JP2007026022A (ja) 2005-07-15 2005-07-15 バス調停装置及びバス調停方法

Country Status (1)

Country Link
JP (1) JP2007026022A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010028428A (ja) * 2008-07-18 2010-02-04 Kyocera Mita Corp 画像処理装置
JP2010055389A (ja) * 2008-08-28 2010-03-11 Fujitsu Microelectronics Ltd 調停装置、調停方法、及び電子機器
JP2021520585A (ja) * 2019-03-08 2021-08-19 モービルアイ ヴィジョン テクノロジーズ リミテッド 共有リソースへのアクセスの優先度ベースの管理

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0362250A (ja) * 1989-07-31 1991-03-18 Toshiba Corp 画像情報処理装置
JPH07271717A (ja) * 1994-03-24 1995-10-20 Hewlett Packard Co <Hp> データ処理装置
JP2002508099A (ja) * 1997-06-30 2002-03-12 サン・マイクロシステムズ・インコーポレーテッド 異なるデータ・レートで動作するネットワーク・ポートに関して、共用メモリへのアクセスを調停する方法および装置
WO2002101565A1 (fr) * 2001-06-12 2002-12-19 Tops Systems Corporation Systeme de traitement de donnees, systeme de multiprocesseur et arbitre de bus
JP2003256358A (ja) * 2002-02-28 2003-09-12 Sony Corp アービタ装置及び方法、並びに、リソース共有システム
JP2003271545A (ja) * 2002-03-12 2003-09-26 Hitachi Ltd データ処理システム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0362250A (ja) * 1989-07-31 1991-03-18 Toshiba Corp 画像情報処理装置
JPH07271717A (ja) * 1994-03-24 1995-10-20 Hewlett Packard Co <Hp> データ処理装置
JP2002508099A (ja) * 1997-06-30 2002-03-12 サン・マイクロシステムズ・インコーポレーテッド 異なるデータ・レートで動作するネットワーク・ポートに関して、共用メモリへのアクセスを調停する方法および装置
WO2002101565A1 (fr) * 2001-06-12 2002-12-19 Tops Systems Corporation Systeme de traitement de donnees, systeme de multiprocesseur et arbitre de bus
JP2003256358A (ja) * 2002-02-28 2003-09-12 Sony Corp アービタ装置及び方法、並びに、リソース共有システム
JP2003271545A (ja) * 2002-03-12 2003-09-26 Hitachi Ltd データ処理システム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010028428A (ja) * 2008-07-18 2010-02-04 Kyocera Mita Corp 画像処理装置
JP2010055389A (ja) * 2008-08-28 2010-03-11 Fujitsu Microelectronics Ltd 調停装置、調停方法、及び電子機器
US8650347B2 (en) 2008-08-28 2014-02-11 Fujitsu Semiconductor Limited Arbitration device, arbitration method, and electronic apparatus
JP2021520585A (ja) * 2019-03-08 2021-08-19 モービルアイ ヴィジョン テクノロジーズ リミテッド 共有リソースへのアクセスの優先度ベースの管理
US11275606B2 (en) 2019-03-08 2022-03-15 Mobileye Vision Technologies Ltd. Priority based management of access to shared resources
US11868801B2 (en) 2019-03-08 2024-01-09 Mobileye Vision Technologies Ltd. Priority based management of access to shared resources

Similar Documents

Publication Publication Date Title
JP4907166B2 (ja) リソース管理装置
EP1403773B1 (en) Resource management device
US20100257296A1 (en) Method and system for bus arbitration
JP2008130056A (ja) 半導体回路
US7353311B2 (en) Method of accessing information and system therefor
CN110297782B (zh) 仲裁系统和方法
US20070016709A1 (en) Bus control system and a method thereof
JP2003157227A (ja) バスアクセス調停装置及びバスアクセス調停方法
CN114138706B (zh) 一种多功能仲裁器、仲裁方法、芯片以及产品
US8793421B2 (en) Queue arbitration using non-stalling request indication
CN105988968B (zh) 半导体装置
JPH0816874B2 (ja) データ処理システムでの複数ユーザによる資源アクセスを管理する方法および装置
US7058740B2 (en) Effective bus utilization using multiple buses and multiple bus controllers
US7127540B2 (en) Apparatus and method for controlling frequency of bus use
JP4839155B2 (ja) アクセス調停装置およびアクセス調停方法
JP2007026022A (ja) バス調停装置及びバス調停方法
TW200536322A (en) Method of arbitrationg which allows requestors from multiple frequency domains
US8140728B1 (en) Data packet arbitration system
JP2003271545A (ja) データ処理システム
JP2003517681A (ja) 共用資源アービトレーション方法及び装置
JP2005518045A (ja) 多数リクエスト信号間の公正アービトレーションのシステム及び方法
JP3985085B2 (ja) Dma制御装置
JP4822429B2 (ja) バスアクセス調停方法及び半導体集積回路
JP6582598B2 (ja) 調停回路
JP2006251875A (ja) バス調停装置及びバス調停方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Effective date: 20080612

Free format text: JAPANESE INTERMEDIATE CODE: A621

A131 Notification of reasons for refusal

Effective date: 20110322

Free format text: JAPANESE INTERMEDIATE CODE: A131

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110802