JP2004199404A - Bus arbitration device and semiconductor integrated circuit provided with it - Google Patents

Bus arbitration device and semiconductor integrated circuit provided with it Download PDF

Info

Publication number
JP2004199404A
JP2004199404A JP2002367281A JP2002367281A JP2004199404A JP 2004199404 A JP2004199404 A JP 2004199404A JP 2002367281 A JP2002367281 A JP 2002367281A JP 2002367281 A JP2002367281 A JP 2002367281A JP 2004199404 A JP2004199404 A JP 2004199404A
Authority
JP
Japan
Prior art keywords
bus
basic
module
cycle
arbitration
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.)
Withdrawn
Application number
JP2002367281A
Other languages
Japanese (ja)
Inventor
Takaaki Matsubayashi
貴明 松林
Akimitsu Shimamura
秋光 島村
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2002367281A priority Critical patent/JP2004199404A/en
Publication of JP2004199404A publication Critical patent/JP2004199404A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To solve the problem that the bus using right is hardly acquired when a low prioritized module requests a bus since the bus is allocated with time division for every constant time period in a conventional bus arbitration method. <P>SOLUTION: This bus arbitration device receives bus requests from a plurality of modules connected to the bus, time-divides a basic bus cycle and makes each module occupied. The bus throughput is improved by providing a storage section 108a for acquiring information regarding the bus request in each basic bus cycle and at least temporarily store the information, and an arbitration processing section 108b for determining a bus occupying period of each module in the respective basic bus cycle on the basis of the information stored in the storage section 108a. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、複数のモジュールがバスを介して接続されている半導体集積回路に関し、特に、前記複数のモジュールからのバス要求を調停するバス調停装置に関する。
【0002】
【従来の技術】
従来は、複数のモジュール間でバスを介したデータ転送を行うとき、IP側がバスの使用権利を獲得する方法として優先順位を設定し、又その順位を動的に変更して、異なる輻輳条件に対応していた。
【0003】
なお、複数のバスリクエスタの優先順位を動的に制御する従来の多重化装置が、例えば特許文献1に開示されている。
【0004】
【特許文献1】
特開平5−37480号公報
【0005】
【発明が解決しようとする課題】
しかし、バスの調停方法では、固定された時間を単位として時分割にバスを割り当てていたために、優先度の低いモジュールがバスを要求してもバスの使用権利の獲得が難しい場合があった。
【0006】
【課題を解決するための手段】
上記の課題を解決するために、本発明のバス調停装置は、バスに接続された複数のモジュールからバス要求を受け、基本バスサイクルを時分割して各モジュールに占有させるバス調停装置において、各基本バスサイクルにおける各モジュールのバス要求状況に関する情報を取得して記憶するバス要求状況記憶部と、各基本バスサイクルでの各モジュールのバス占有期間の比率を、当該基本バスサイクルの直前の基本バスサイクルを含む少なくとも1回の過去の基本バスサイクルから取得され前記バス要求状況記憶部に記憶されている前記情報に基づいて決定する調停処理部とを備えたことを特徴とする。
【0007】
【発明の実施の形態】
上述した本発明のバス調停装置(第1の構成)は、過去の基本バスサイクルにおけるバス要求回数に応じて、各基本バスサイクルにおけるバス占有時間を決定することにより、バスの利用状況に応じて動的かつ適切にバス調停を行うことができる。
【0008】
また、上述した第1の構成にかかるバス調停装置において、前記バス要求状況に関する情報として、各基本バスサイクルにおける各モジュールのバス要求の回数を用いることができる。あるいは、バス要求状況に関する情報として、各基本バスサイクルにおける各モジュールのバス要求の回数と、前記バス要求の各々のタイミングとを用いることもできる。
【0009】
上述した第1の構成のバス調停装置において、前記調停処理部が、各基本バスサイクルにおける各モジュールからのバス要求を監視し、各モジュールに割り当てた占有期間までに当該モジュールがバス要求を出さない場合は、当該モジュールへのバス割り当てを解消することが好ましい。これにより、全体としてのバス転送効率を向上させることができる。このように前記調停処理部が、各基本バスサイクルにおいていずれかのモジュールへのバス割り当てを解消した場合、当該基本バスサイクルの長さを短縮すれば、転送効率をさらに向上させることができるので、より好ましい。
【0010】
また、上記の課題を解決するために、本発明の第2の構成にかかるバス調停装置は、バスに接続された複数のモジュールからバス要求を受け、基本バスサイクルを時分割して各モジュールに占有させるバス調停装置において、各基本バスサイクルにおける各モジュールのバス要求状況に関する情報を取得して少なくとも一時的に記憶するバス要求状況記憶部と、前記バス要求状況記憶部に記憶された情報と予め定められた条件とを比較することにより、各モジュールからのバス要求の優先度を判断し、相対的に優先度が高いと判断されるモジュールのバス要求が優先処理されるように、当該基本バスサイクル内または次の基本バスサイクル内のバス割り当てを変更する調停処理部を備えたことを特徴とする。
【0011】
この構成により、バスの利用状況および各バス要求の優先度に応じて動的かつ適切にバス調停を行うことができる。
【0012】
第2の構成のバス調停装置において、前記調停処理部が、各基本バスサイクルにおいて、相対的に優先度が低いと判断されるモジュールへ割り当てた占有期間を、相対的に優先度が高いと判断されるモジュールの占有期間に変更する構成としても良い。または、前記調停処理部が、各基本バスサイクルにおいて、相対的に優先度が低いと判断されるモジュールへ割り当てた占有期間の前に、相対的に優先度が高いと判断されるモジュールの占有期間を挿入しても良く、この場合に、当該基本バスサイクルの長さを伸張することがさらに好ましい。あるいは、前記調停処理部が、各基本バスサイクルにおいて、相対的に優先度が高いと判断されるモジュールへ割り当てた占有期間の順序を、相対的に優先度が低いと判断されるモジュールへ割り当てた占有期間よりも時系列的に前になるよう入れ替えることも可能である。
【0013】
第2の構成のバス調停装置において、前記調停処理部が、前記次の基本バスサイクルの先頭において、相対的に優先度が低いと判断されるモジュールへ割り当てるべき占有期間を、相対的に優先度が高いと判断されるモジュールの占有期間に変更する構成としても良い。または、前記調停処理部が、前記次の基本バスサイクルの先頭において、相対的に優先度が低いと判断されるモジュールへ割り当てるべき占有期間の前に、相対的に優先度が高いと判断されるモジュールの占有期間を挿入しても良く、この場合、当該占有期間を挿入した基本バスサイクルの長さを伸張することがさらに好ましい。あるいは、前記調停処理部が、次の基本バスサイクルにおいて、相対的に優先度が高いと判断されるモジュールの占有期間が先頭になるように、当該基本バスサイクル内で各モジュールの占有期間を入れ替える構成としても良い。
【0014】
また、上記の課題を解決するために、本発明の第3の構成にかかるバス調停装置は、バスに接続された複数のモジュールからバス要求を受け、基本バスサイクルを時分割して各モジュールに占有させるバス調停装置において、各モジュールから、バス要求を出してからバスを獲得するまでの許容時間とバスの使用希望時間のデータを取得し、前記データを用いて次回の基本バスサイクルでの各モジュールのバス占有時間の比率を決定する調停処理部を備え、前記調停処理部は、前記許容時間が経過するまでに転送を開始できない場合にはバス要求を破棄して基本バスサイクルを短縮することを特徴とする。
【0015】
この構成により、各モジュールからのバス要求の条件に応じて動的かつ適切にバス調停を行うことができる。
【0016】
第3の構成にかかるバス調停装置において、各モジュールは、バス要求を出す場合、当該バス要求が破棄されて良いか否かを表す破棄可否データを前記調停処理部に送り、前記調停処理部は、破棄可否データが破棄不可を示す場合は、当該バス要求を破棄せず、基本バスサイクルを延長して当該バス要求に対してバス割り当てを行うことが好ましい。
【0017】
また、上述したいずれかの構成のバス調停装置を備えた半導体集積回路も、本発明の一形態である。
【0018】
以下、本発明の具体的な実施形態について、図面を用いて説明する。
【0019】
図1は、本実施形態の半導体集積回路の構成を示すブロック図である。図1において、101〜104はマスター側IPであり、105・106はスレーブ側IPであり、107はデータを共有するためのバスであり、108はバス調停機能を有したアービタである。この半導体集積回路において、マスター側IP101〜104からアービタ108に対してバス要求信号が出されると、アービタ108は、基本バスサイクルを時分割してIP101〜104に割り当てる。
【0020】
アービタ108は、バス要求の回数、タイミング、または優先的バス要求の有無など、各IPからのバス要求に関するデータを、少なくとも一時的に記憶部108aに保存しておく。調停処理部108bは、記憶部108aのデータに基づいて、それぞれの基本バスサイクルにおけるバス割り当てを行う。
【0021】
以下に、本実施形態にかかるバス調停装置における調停処理の具体例について、図2〜図8を参照しながら説明する。
【0022】
(第1の実施形態)
第1の実施形態では、基本バスサイクル毎に、各IPからのバス要求回数をアービタ108の記憶部108aに記憶しておき、調停処理部108bが、各基本バスサイクルにおけるバス割り当てを、その1つ前の基本バスサイクルにおけるバス要求回数に応じて行う。
【0023】
図2に示すように、ある基本バスサイクル(t2)において、IP102からのバス要求回数が増え、IP101、IP103、およびIP104からのバス要求回数の変化がなかったものとする。調停処理部108bは、各IPからのバス要求回数を、その基本バスサイクルにおけるバス要求回数の総和で割ることで、次回の基本バスサイクル(t3)におけるバス占有時間の比率を比例配分で求める。すなわち、図2に示す例では、基本バスサイクルt3において、IP101、IP102、IP103、およびIP104のそれぞれに対して、1:2:1:1の割合で、バス占有時間が与えられることとなる。なお、図2において、▲1▼は、IP101に割り当てられた占有時間を表し、▲2▼〜▲4▼は同様に、IP102〜IP104のそれぞれに割り当てられた占有時間を表す。後述する図3〜図8においても同様とする。
【0024】
このように、過去の基本バスサイクルにおけるバス要求回数に応じて、各基本バスサイクルにおけるバス占有時間を決定することにより、バスの利用状況に応じて動的かつ適切にバス調停を行うことができる。
【0025】
なお、図2の例では、各基本バスサイクルにおけるバス占有時間を決定するために、直前の1つの基本バスサイクルにおけるバス要求回数を用いたが、例えば、直前の2つまたはそれ以上の基本バスサイクルにおけるバス要求回数の統計を用いても良い。あるいは、直前ではなく2つ以上前の基本バスサイクルの統計を用いることも可能である。また、バス要求回数に基づいてバス占有時間を単純に比例配分する以外に、例えば直前の2つまたは3つ以上の基本バスサイクルにおけるバス要求回数の増減や、各IPまたは各バス要求の優先度等、種々の要素をも考慮して、バス占有時間を決定してもかまわない。
【0026】
(第2の実施形態)
第2の実施形態では、基本バスサイクル毎に、各IPからのバス要求回数およびそのタイミングを、アービタ108の記憶部108aに記憶しておき、調停処理部108bが、各基本バスサイクルにおけるバス割り当てを、その1つ前の基本バスサイクルにおけるバス要求回数およびそのタイミングに応じて行う。
【0027】
図3に示すように、ある基本バスサイクル(t2)において、IP104、IP103、IP102、IP101、IP102の順に合計5回のバス要求があったものとする。記憶部108aには、IP101〜104のそれぞれから基本バスサイクルt2においてバス要求が出された回数と、バス要求信号が出されたタイミングが記憶されている。
【0028】
調停処理部108bは、基本バスサイクルt3におけるバス割り当てを、以下のように決定する。まず、基本バスサイクルt3の長さを、基本バスサイクルt2におけるバス要求回数の総和で割ることにより、各IPに占有させる単位時間の長さを決定する。そして、基本バスサイクルt2におけるバス要求信号のタイミング(順序)に従って、前記の単位時間毎に、各IPにバスを占有させる。
【0029】
これにより、図3に示すように、基本バスサイクルt2におけるバス要求回数の総和が5回であった場合、基本バスサイクルt3の長さが5等分され、基本バスサイクルt2におけるバス要求の順(IP104、IP103、IP102、IP101、IP102の順)に、バスの占有が割り当てられる。
【0030】
このように調停処理部108bが調停を行うことにより、バスの利用状況に応じて動的かつ適切にバス調停を行うことができる。
【0031】
なお、上記の説明では、バス占有の単位時間を決定するために、直前の1つの基本バスサイクルにおけるバス要求回数を用いたが、例えば、直前の2つまたはそれ以上の基本バスサイクルにおけるバス要求回数の統計を用いても良い。あるいは、直前ではなく2つ以上前の基本バスサイクルの統計を用いることも可能である。また、各IPに割り当てるバス占有時間は均一でなくても良く、各IPの優先度等の種々の要素をも考慮して決定しても良い。
【0032】
(第3の実施形態)
第3の実施形態では、一旦割り当てられたスケジュールに従って基本バスサイクルが開始した後に、各IPからのバス要求の状況に応じて、その基本バスサイクルにおけるバス割り当てのスケジュールを変更する方法である。言い換えれば、調停処理部108bが、各基本バスサイクル内において動的にバス割り当てを変更する。
【0033】
例えば、図4に示す基本バスサイクルt2に関して、IP104、IP103、IP102、IP101の順にバス占有時間が割り当てられ、この基本バスサイクルt2が開始された後に、この基本バスサイクルt2において、IP102が自らのバス占有開始前の所定時刻までにアービタ108へバス要求信号を出さなかったものとする。この場合、調停処理部108bは、図4に示すように、基本バスサイクルt2におけるIP102の割り当て時間をなくし、基本バスサイクルt2の長さを短縮する。
【0034】
また、例えば、図5に示す基本バスサイクルt2に関して、IP104、IP103、IP102、IP101、IP102の順にバス占有時間が割り当てられ、この基本バスサイクルt2が開始された後に、この基本バスサイクルt2において、IP102が自らの2回目のバス占有開始前の所定時刻までにバス要求信号を出さなかったものとする。この場合は、調停処理部108bは、図5に示すように、基本バスサイクルt2におけるIP102の2回目の割り当て時間をなくし、基本バスサイクルt2の長さを短縮する。
【0035】
このように調停処理部108bが調停を行うことにより、バスの利用状況に応じて動的かつ適切にバス調停を行うことができる。この結果、システム全体としてバスサイクルの高速化を図ることができる。
【0036】
なお、上記の説明では、所定の時刻までにバス要求を出さなかったIPへの割り当て時間をなくして基本バスサイクルを短縮するものとしたが、基本バスサイクルを短縮せずに、当該IPへの割り当て時間を他のIPへ割り当てることとしても良い。
【0037】
また、各基本バスサイクルに関して予めバス割り当てを行う方法としては、第1または第2の実施形態で説明したように過去の統計を用いた割り当て方法を用いても良いが、これに限らず任意の割り当て方法を用いることができる。
【0038】
(第4の実施形態)
第4の実施形態では、一旦割り当てられたスケジュールに従って基本バスサイクルが開始した後に、各IPからのバス要求信号の状況に応じて各IPの優先度を判断し、この優先度に応じて、その基本バスサイクルにおけるバス割り当てのスケジュールを変更する。すなわち、第4の実施形態も、調停処理部108bが、各基本バスサイクル内で動的にバス割り当てを変更する方法である。
【0039】
ここで、例えば、ある基本バスサイクル(t2)に関して、IP104、IP103、IP102、IP101の順にバス占有時間が割り当てられていたものとする。そして、図6(a)に示すように、例えばIP104のバス転送中に、IP102からバス要求信号が単位時間に複数回出力された場合、調停処理部108bは、このIP102に対して高い優先度を与えるために、次のバス占有時間(ここではIP103に割り当てられていた時間)を、IP102の占有時間とするように割り当てを変更する。
【0040】
すなわち、各IPは、バス要求を行う際に、予め定められた条件(この例では単位時間当たりに出力するバス要求信号の回数)に従ってそのバス要求の優先度を表す。そして、調停処理部108bは、各IPからのバス要求信号を、前記の予め定められた条件と比較することにより、各IPからのバス要求の優先度を判断する。なお、複数の優先度を表現できるように前記の条件を設定し、例えば、単位時間当たりのバス要求信号の回数が多いほどより高い優先度を表すものとしても良い。
【0041】
なお、各基本バスサイクルに関して予めバス割り当てを行う方法としては、第1または第2の実施形態で説明したように過去の統計を用いた割り当て方法を用いても良いが、これに限らず任意の割り当て方法を用いることができる。
【0042】
ここで、前述の図6(a)で示した例の他に、優先度が高いと判断されたバス要求を優先的に処理するための方法の例を、図6(b)および(c)に示す。
【0043】
図6(b)に示す例では、基本バスサイクルt2に関して、IP104、IP103、IP102、IP101の順にバス占有時間が割り当てられていたものとする。そして、例えばIP104のバス転送中に、IP102からバス要求信号が単位時間に複数回出力された場合、調停処理部108bは、このIP102に対して高い優先度を与えてバス転送を実行させるために、次のバス占有時間(ここではIP103に割り当てられていた時間)の前にIP102の占有時間を挿入するように、割り当てを変更する。これに伴い、基本バスサイクルt2の全体の長さは延長される。
【0044】
図6(c)に示す例でも、同様に、基本バスサイクルt2に関して、IP104、IP103、IP102、IP101の順にバス占有時間が割り当てられていたものとする。そして、例えばIP104のバス転送中に、IP102からバス要求信号が単位時間に複数回出力された場合、調停処理部108bは、このIP102に対して高い優先度を与えてバス転送を実行させるために、次のバス占有時間(ここではIP103に割り当てられていた時間)と、IP102に本来割り当てられていたバス占有時間とを入れ替えるように、バス割り当てを変更する。
【0045】
以上のように、各基本バスサイクルにおいて、調停処理部108bが、各モジュールからのバス要求の優先度を考慮して動的にバス割り当てを変更することにより、バスの利用状況に応じて動的かつ適切にバス調停を行うことができる。
【0046】
(第5の実施形態)
第5の実施形態では、一旦割り当てられたスケジュールに従って基本バスサイクルが開始した後に、各IPからのバス要求信号の状況に応じて各IPの優先度を判断し、この優先度に応じて、次の基本バスサイクルにおけるバス割り当てのスケジュールを決定(既に決定されている場合は変更)する。
【0047】
ここで、例えば、ある基本バスサイクル(t3)に関して、IP104、IP103、IP102、IP101の順にバス占有時間が割り当てられていたものとする。そして、図7(a)に示すように、基本バスサイクルt2の最後の方(ここでは、ここではIP101により基本バスサイクルt2の最後のバス転送が実行されているとき)において、IP102からバス要求信号が単位時間に複数回出力された場合、調停処理部108bは、このIP102に対して高い優先度を与えるために、次の基本バスサイクルt3の先頭のバス占有時間(ここではIP104に割り当てられていた時間)を、IP102の占有時間とするように割り当てを変更する。
【0048】
すなわち、前述の第4の実施形態と同様に、各IPは、バス要求を行う際に、予め定められた条件(この例では単位時間当たりに出力するバス要求信号の回数)に従ってそのバス要求の優先度を表す。そして、調停処理部108bは、各IPからのバス要求信号を、前記の予め定められた条件と比較することにより、各IPからのバス要求の優先度を判断する。なお、複数の優先度を表現できるように前記の条件を設定し、例えば、単位時間当たりのバス要求信号の回数が多いほどより高い優先度を表すものとしても良い。
【0049】
なお、各基本バスサイクルに関して予めバス割り当てを行う方法としては、第1または第2の実施形態で説明したように過去の統計を用いた割り当て方法を用いても良いが、これに限らず任意の割り当て方法を用いることができる。
【0050】
ここで、前述の図7(a)で示した例の他に、優先度が高いと判断されたバス要求を優先的に処理するための方法の例を、図7(b)および(c)に示す。
【0051】
図7(b)に示す例では、基本バスサイクルt3に関して、IP104、IP103、IP102、IP101の順にバス占有時間が割り当てられていたものとする。そして、例えば基本バスサイクルt2の最後のバス転送中に、IP102からバス要求信号が単位時間に複数回出力された場合、調停処理部108bは、このIP102に対して高い優先度を与えてバス転送を実行させるために、次の基本バスサイクルt3の先頭に、IP102の占有時間を挿入する。これに伴い、基本バスサイクルt3の全体の長さは延長される。
【0052】
図7(c)に示す例でも、同様に、基本バスサイクルt3に関して、IP104、IP103、IP102、IP101の順にバス占有時間が割り当てられていたものとする。そして、例えば基本バスサイクルt2の最後のバス転送中に、IP102からバス要求信号が単位時間に複数回出力された場合、調停処理部108bは、このIP102に対して高い優先度を与えてバス転送を実行させるために、次の基本バスサイクルt3の先頭をIP102に割り当てるために、基本バスサイクルt3内において、IP104に割り当てられていた占有時間と、IP102に割り当てられていた占有時間とを入れ替える。
【0053】
以上のように、調停処理部108bが、各モジュールからのバス要求の優先度を考慮して、次の基本バスサイクルにおけるバス割り当てを動的に変更することにより、バスの利用状況に応じて動的かつ適切にバス調停を行うことができる。
【0054】
(第6の実施形態)
第6の実施形態では、各IPは、バス要求を出すときに、そのバス要求が受理されるまでIPが待てる時間(許容時間)を表す信号と、バス占有後に転送に必要なサイクルを表す信号とをアービタ108に出す。調停処理部108bは、これらの信号により与えられる情報に基づいてバス割り当てを行う。
【0055】
例えば、図8に示すように、IP101、IP102、IP103からそれぞれバス要求があったものとする。さらに、IP101からのバス要求信号が、許容時間として“1”を表す信号と、必要サイクルとして“2”を表す信号を伴っているものとする。IP102からのバス要求信号が、許容時間として“5”を表す信号と、必要サイクルとして“3”を表す信号を伴っているものとする。IP103からのバス要求信号が、許容時間として“4”を表す信号と、必要サイクルとして“1”を表す信号を伴っているものとする。この場合、調停処理部108bは、これらの許容時間および必要サイクルが満たされるように、次の基本バスサイクルにおける割り当てを、IP101が2サイクル、次にIP102が1サイクル、その次にIP102が3サイクルとなるようにする。
【0056】
なお、調停処理部108bは、与えられた許容時間までに転送を開始できない場合には、そのバス要求信号を破棄する。さらに、このようにバス要求信号を破棄した場合は、基本バスサイクルを短縮することで、バススループットを向上させることができる。この場合、各IPは、必ず転送しなくてはならないデータ等、バス要求を破棄してはならないデータの転送に関しては、許容時間として“0”を設定する。調停処理部108bは、許容時間として“0”が設定されたバス要求については、基本バスサイクルを延長してでもバス転送を行う。
【0057】
【発明の効果】
以上のように、本発明により、アービタが、各IPからの1つ以上前のバス要求の回数やタイミングを計数しておき、その回や次回の基本バスサイクルに、その統計データを反映させることにより、例えば複数のアプリケーションがいろいろな組み合わせで同時に動作するLSI等において、様々な輻輳条件に対して動的に適応するバス調停装置を提供し、バスのスループットを向上させることができる。
【図面の簡単な説明】
【図1】本発明のバス調停装置を備えた半導体集積回路の構成例を示すブロック図
【図2】本発明のバス調停装置によるバス調停処理の一例の説明図
【図3】本発明のバス調停装置によるバス調停処理の一例の説明図
【図4】本発明のバス調停装置によるバス調停処理の一例の説明図
【図5】本発明のバス調停装置によるバス調停処理の一例の説明図
【図6】本発明のバス調停装置によるバス調停処理の一例の説明図
【図7】本発明のバス調停装置によるバス調停処理の一例の説明図
【図8】本発明のバス調停装置によるバス調停処理の一例の説明図
【符号の説明】
101〜104 IP(マスター側)
105,106 IP(スレーブ側)
107 バス
108 バス調停装置
108a 記憶部
108b 調停処理部
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a semiconductor integrated circuit in which a plurality of modules are connected via a bus, and more particularly, to a bus arbitration device that arbitrates a bus request from the plurality of modules.
[0002]
[Prior art]
Conventionally, when performing data transfer between a plurality of modules via a bus, the IP side sets priorities as a method of acquiring the right to use the bus, and dynamically changes the order to meet different congestion conditions. Was compatible.
[0003]
A conventional multiplexer that dynamically controls the priority of a plurality of bus requesters is disclosed in, for example, Patent Document 1.
[0004]
[Patent Document 1]
JP-A-5-37480
[Problems to be solved by the invention]
However, in the bus arbitration method, since the bus is allocated in a time-division manner in units of a fixed time, it may be difficult to obtain the right to use the bus even if a low priority module requests the bus.
[0006]
[Means for Solving the Problems]
In order to solve the above-described problems, a bus arbitration device of the present invention is a bus arbitration device that receives a bus request from a plurality of modules connected to a bus, and divides a basic bus cycle by time to occupy each module. A bus request status storage unit for acquiring and storing information on a bus request status of each module in a basic bus cycle, and a ratio of a bus occupation period of each module in each basic bus cycle to a basic bus immediately before the basic bus cycle. An arbitration processing unit that is obtained from at least one past basic bus cycle including a cycle and that is determined based on the information stored in the bus request status storage unit.
[0007]
BEST MODE FOR CARRYING OUT THE INVENTION
The above-described bus arbitration device (first configuration) of the present invention determines the bus occupation time in each basic bus cycle in accordance with the number of bus requests in the past basic bus cycle, thereby responding to the bus usage status. Bus arbitration can be performed dynamically and appropriately.
[0008]
Further, in the bus arbitrating device according to the above-described first configuration, the number of bus requests of each module in each basic bus cycle can be used as the information on the bus request status. Alternatively, as the information on the bus request status, the number of bus requests of each module in each basic bus cycle and the timing of each of the bus requests can be used.
[0009]
In the bus arbitration device of the first configuration described above, the arbitration processing unit monitors a bus request from each module in each basic bus cycle, and the module does not issue a bus request until the occupation period assigned to each module. In this case, it is preferable to cancel the bus assignment to the module. As a result, the overall bus transfer efficiency can be improved. As described above, when the arbitration processing unit cancels the bus assignment to any module in each basic bus cycle, if the length of the basic bus cycle is reduced, the transfer efficiency can be further improved. More preferred.
[0010]
Further, in order to solve the above problem, a bus arbitration device according to a second configuration of the present invention receives a bus request from a plurality of modules connected to a bus, and time-divides a basic bus cycle into each module. In the bus arbitration device to be occupied, a bus request status storage unit that obtains information on a bus request status of each module in each basic bus cycle and stores the information at least temporarily, and information stored in the bus request status storage unit in advance. By comparing with a predetermined condition, the priority of the bus request from each module is determined, and the basic bus is requested so that the bus request of the module determined to have a relatively higher priority is given priority. An arbitration processing unit for changing a bus assignment in a cycle or a next basic bus cycle is provided.
[0011]
With this configuration, it is possible to dynamically and appropriately perform bus arbitration in accordance with the bus usage status and the priority of each bus request.
[0012]
In the bus arbitration device having the second configuration, the arbitration processing unit determines that the occupation period assigned to the module determined to be relatively low in priority in each basic bus cycle is relatively high in priority. It is good also as a structure which changes to the occupation period of the module performed. Alternatively, the arbitration processing unit may assign, in each basic bus cycle, an occupation period of a module determined to be relatively high priority before an occupation period assigned to a module determined to be relatively low priority. May be inserted, and in this case, it is more preferable to extend the length of the basic bus cycle. Alternatively, the arbitration processing unit assigns, in each basic bus cycle, the order of the occupation period assigned to the module determined to be relatively high priority to the module determined to be relatively low priority. It is also possible to replace the occupation period so that it is chronologically earlier than the occupation period.
[0013]
In the bus arbitration device of the second configuration, the arbitration processing unit assigns, at the beginning of the next basic bus cycle, an occupation period to be assigned to a module determined to have a relatively low priority, with a relatively high priority. May be changed to the occupation period of the module determined to be high. Alternatively, the arbitration processing unit determines that the priority is relatively high before the occupation period to be assigned to the module determined to be relatively low in priority at the beginning of the next basic bus cycle. The occupation period of the module may be inserted. In this case, it is more preferable to extend the length of the basic bus cycle in which the occupation period is inserted. Alternatively, the arbitration processing unit replaces the occupation period of each module in the next basic bus cycle such that the occupation period of the module determined to be relatively high in the next basic bus cycle is first. It is good also as composition.
[0014]
In order to solve the above problem, a bus arbitration device according to a third configuration of the present invention receives a bus request from a plurality of modules connected to a bus, and time-divides a basic bus cycle into each module. In the bus arbitration device to be occupied, from each module, data on the allowable time from issuing a bus request to acquiring the bus and data on the desired use time of the bus are obtained, and using the data, each data in the next basic bus cycle is obtained. An arbitration processing unit that determines a ratio of a bus occupation time of a module, wherein the arbitration processing unit shortens a basic bus cycle by discarding a bus request when transfer cannot be started before the allowable time elapses. It is characterized by.
[0015]
With this configuration, bus arbitration can be performed dynamically and appropriately according to the conditions of the bus request from each module.
[0016]
In the bus arbitrating device according to the third configuration, when each module issues a bus request, the module sends to the arbitration processing unit discardability data indicating whether the bus request can be discarded, and the arbitration processing unit When the discardability data indicates that discarding is not possible, it is preferable not to discard the bus request but to extend the basic bus cycle and perform bus assignment for the bus request.
[0017]
Further, a semiconductor integrated circuit provided with the bus arbitration device having any one of the above-described configurations is also an embodiment of the present invention.
[0018]
Hereinafter, specific embodiments of the present invention will be described with reference to the drawings.
[0019]
FIG. 1 is a block diagram illustrating the configuration of the semiconductor integrated circuit according to the present embodiment. In FIG. 1, 101 to 104 are master-side IPs, 105 and 106 are slave-side IPs, 107 is a bus for sharing data, and 108 is an arbiter having a bus arbitration function. In this semiconductor integrated circuit, when a bus request signal is output from the master-side IPs 101 to 104 to the arbiter 108, the arbiter 108 allocates the basic bus cycle to the IPs 101 to 104 in a time-sharing manner.
[0020]
The arbiter 108 at least temporarily stores data relating to the bus request from each IP, such as the number of bus requests, the timing, and the presence or absence of a priority bus request, in the storage unit 108a. The arbitration processing unit 108b performs bus assignment in each basic bus cycle based on the data in the storage unit 108a.
[0021]
Hereinafter, a specific example of the arbitration process in the bus arbitration device according to the present embodiment will be described with reference to FIGS.
[0022]
(1st Embodiment)
In the first embodiment, the number of bus requests from each IP is stored in the storage unit 108a of the arbiter 108 for each basic bus cycle, and the arbitration processing unit 108b determines the bus assignment in each basic bus cycle by This is performed according to the number of bus requests in the previous basic bus cycle.
[0023]
As shown in FIG. 2, it is assumed that in a certain basic bus cycle (t2), the number of bus requests from IP 102 has increased and the number of bus requests from IP 101, IP 103, and IP 104 has not changed. The arbitration processing unit 108b obtains the ratio of the bus occupation time in the next basic bus cycle (t3) by proportional distribution by dividing the number of bus requests from each IP by the total number of bus requests in the basic bus cycle. That is, in the example shown in FIG. 2, in the basic bus cycle t3, the bus occupation time is given to each of IP101, IP102, IP103, and IP104 at a ratio of 1: 2: 1: 1. In FIG. 2, (1) indicates the occupation time assigned to the IP 101, and (2) to (4) similarly indicate the occupation time assigned to each of the IPs 102 to 104. The same applies to FIGS. 3 to 8 described later.
[0024]
As described above, by determining the bus occupation time in each basic bus cycle according to the number of bus requests in the past basic bus cycle, it is possible to dynamically and appropriately perform bus arbitration in accordance with the bus usage status. .
[0025]
In the example of FIG. 2, the bus occupation time in each basic bus cycle is determined using the number of bus requests in the immediately preceding basic bus cycle. Statistics on the number of bus requests in a cycle may be used. Alternatively, it is possible to use the statistics of the basic bus cycle not immediately before but two or more before. In addition to simply proportionally allocating the bus occupation time based on the number of bus requests, for example, increasing or decreasing the number of bus requests in the immediately preceding two or three or more basic bus cycles, and the priority of each IP or each bus request For example, the bus occupation time may be determined in consideration of various factors.
[0026]
(Second embodiment)
In the second embodiment, the number of bus requests from each IP and the timing thereof are stored in the storage unit 108a of the arbiter 108 for each basic bus cycle, and the arbitration processing unit 108b sets the bus allocation in each basic bus cycle. Is performed in accordance with the number of bus requests and its timing in the immediately preceding basic bus cycle.
[0027]
As shown in FIG. 3, it is assumed that there are a total of five bus requests in the order of IP104, IP103, IP102, IP101, and IP102 in a certain basic bus cycle (t2). The storage unit 108a stores the number of times that each of the IPs 101 to 104 has issued a bus request in the basic bus cycle t2, and the timing at which the bus request signal has been issued.
[0028]
The arbitration processing unit 108b determines the bus assignment in the basic bus cycle t3 as follows. First, the length of the unit time occupied by each IP is determined by dividing the length of the basic bus cycle t3 by the total number of bus requests in the basic bus cycle t2. Then, according to the timing (order) of the bus request signal in the basic bus cycle t2, each IP occupies the bus for each unit time.
[0029]
Thereby, as shown in FIG. 3, when the total number of bus requests in the basic bus cycle t2 is five, the length of the basic bus cycle t3 is divided into five equal parts, and the order of the bus requests in the basic bus cycle t2 is changed. (IP104, IP103, IP102, IP101, and IP102) are assigned bus occupation.
[0030]
By performing the arbitration by the arbitration processing unit 108b in this way, the bus arbitration can be dynamically and appropriately performed according to the bus usage status.
[0031]
In the above description, the number of bus requests in the immediately preceding basic bus cycle is used to determine the unit time of bus occupancy. However, for example, the bus requests in the immediately preceding two or more basic bus cycles are used. Statistics of the number of times may be used. Alternatively, it is possible to use the statistics of the basic bus cycle not immediately before but two or more before. Also, the bus occupation time allocated to each IP may not be uniform, and may be determined in consideration of various factors such as the priority of each IP.
[0032]
(Third embodiment)
In the third embodiment, after a basic bus cycle is started according to a schedule once allocated, a bus allocation schedule in the basic bus cycle is changed in accordance with the status of a bus request from each IP. In other words, the arbitration processing unit 108b dynamically changes the bus assignment within each basic bus cycle.
[0033]
For example, with respect to the basic bus cycle t2 shown in FIG. 4, bus occupation times are allocated in the order of IP104, IP103, IP102, and IP101, and after the basic bus cycle t2 is started, the IP 102 itself It is assumed that no bus request signal has been issued to the arbiter 108 by a predetermined time before the start of bus occupation. In this case, as shown in FIG. 4, the arbitration processing unit 108b eliminates the allocation time of the IP 102 in the basic bus cycle t2 and shortens the length of the basic bus cycle t2.
[0034]
Further, for example, with respect to the basic bus cycle t2 shown in FIG. 5, bus occupation times are allocated in the order of IP104, IP103, IP102, IP101, and IP102, and after the basic bus cycle t2 is started, in the basic bus cycle t2, It is assumed that the IP 102 has not issued a bus request signal by a predetermined time before the start of the second bus occupation. In this case, as shown in FIG. 5, the arbitration processing unit 108b eliminates the second allocation time of the IP 102 in the basic bus cycle t2 and shortens the length of the basic bus cycle t2.
[0035]
By performing the arbitration by the arbitration processing unit 108b in this way, the bus arbitration can be dynamically and appropriately performed according to the bus usage status. As a result, the bus cycle can be speeded up as a whole system.
[0036]
In the above description, the basic bus cycle is shortened by eliminating the time for allocating to the IP for which no bus request was issued by the predetermined time. However, the basic bus cycle is not shortened. The allocation time may be allocated to another IP.
[0037]
As a method of allocating buses in advance for each basic bus cycle, an allocation method using past statistics may be used as described in the first or second embodiment, but is not limited to this. An assignment method can be used.
[0038]
(Fourth embodiment)
In the fourth embodiment, after the basic bus cycle is started according to the once assigned schedule, the priority of each IP is determined according to the status of the bus request signal from each IP, and the priority is determined according to the priority. Change the bus allocation schedule in the basic bus cycle. That is, the fourth embodiment is also a method in which the arbitration processing unit 108b dynamically changes the bus assignment within each basic bus cycle.
[0039]
Here, for example, it is assumed that a bus occupation time is assigned in the order of IP104, IP103, IP102, and IP101 for a certain basic bus cycle (t2). As shown in FIG. 6A, for example, when a bus request signal is output from the IP 102 a plurality of times per unit time during the bus transfer of the IP 104, the arbitration processing unit 108b gives the IP 102 a higher priority. The allocation is changed so that the next bus occupation time (the time allocated to the IP 103 here) is set as the IP 102 occupation time.
[0040]
That is, each IP indicates the priority of the bus request according to a predetermined condition (in this example, the number of bus request signals output per unit time) when making a bus request. Then, the arbitration processing unit 108b determines the priority of the bus request from each IP by comparing the bus request signal from each IP with the above-mentioned predetermined condition. The above-described condition may be set so that a plurality of priorities can be expressed, and for example, the higher the number of bus request signals per unit time, the higher the priority.
[0041]
As a method of allocating a bus in advance for each basic bus cycle, an allocation method using past statistics may be used as described in the first or second embodiment, but is not limited to this. An assignment method can be used.
[0042]
Here, in addition to the example shown in FIG. 6A, an example of a method for preferentially processing a bus request determined to have high priority is shown in FIGS. 6B and 6C. Shown in
[0043]
In the example shown in FIG. 6B, it is assumed that the bus occupation time is assigned to the basic bus cycle t2 in the order of IP104, IP103, IP102, and IP101. For example, when a bus request signal is output from the IP 102 a plurality of times per unit time during the bus transfer of the IP 104, the arbitration processing unit 108b assigns a high priority to the IP 102 to execute the bus transfer. The allocation is changed so that the occupation time of the IP 102 is inserted before the next bus occupation time (the time allocated to the IP 103 in this case). Accordingly, the entire length of the basic bus cycle t2 is extended.
[0044]
In the example shown in FIG. 6C, similarly, it is assumed that the bus occupation times are allocated in the order of IP104, IP103, IP102, and IP101 with respect to the basic bus cycle t2. For example, when a bus request signal is output from the IP 102 a plurality of times per unit time during the bus transfer of the IP 104, the arbitration processing unit 108b assigns a high priority to the IP 102 to execute the bus transfer. The bus assignment is changed so that the next bus occupation time (the time assigned to the IP 103 here) and the bus occupation time originally assigned to the IP 102 are interchanged.
[0045]
As described above, in each basic bus cycle, the arbitration processing unit 108b dynamically changes the bus assignment in consideration of the priority of the bus request from each module, and thereby dynamically changes the bus allocation according to the bus usage status. And bus arbitration can be performed appropriately.
[0046]
(Fifth embodiment)
In the fifth embodiment, after the basic bus cycle starts according to the once assigned schedule, the priority of each IP is determined according to the status of the bus request signal from each IP, and the next priority is determined according to this priority. Is determined (changed if already determined) in the basic bus cycle.
[0047]
Here, for example, it is assumed that a bus occupation time is assigned in the order of IP104, IP103, IP102, and IP101 for a certain basic bus cycle (t3). Then, as shown in FIG. 7A, in the last part of the basic bus cycle t2 (here, when the last bus transfer of the basic bus cycle t2 is executed by the IP 101 here), a bus request is issued from the IP 102. If the signal is output a plurality of times per unit time, the arbitration processing unit 108b assigns a high priority to the IP 102, and the arbitration processing unit 108b assigns the first bus occupation time of the next basic bus cycle t3 (here, the IP occupancy time is assigned to the IP 104). Of the IP 102 is changed so that the time of the IP 102 is occupied by the IP 102.
[0048]
That is, as in the fourth embodiment, when making a bus request, each IP responds to the bus request according to a predetermined condition (in this example, the number of bus request signals output per unit time). Indicates priority. Then, the arbitration processing unit 108b determines the priority of the bus request from each IP by comparing the bus request signal from each IP with the above-mentioned predetermined condition. The above-described condition may be set so that a plurality of priorities can be expressed, and for example, the higher the number of bus request signals per unit time, the higher the priority.
[0049]
As a method of allocating a bus in advance for each basic bus cycle, an allocation method using past statistics may be used as described in the first or second embodiment, but is not limited to this. An assignment method can be used.
[0050]
Here, in addition to the example shown in FIG. 7A, an example of a method for preferentially processing a bus request determined to have a high priority is shown in FIGS. 7B and 7C. Shown in
[0051]
In the example shown in FIG. 7B, it is assumed that the bus occupation time is assigned to the basic bus cycle t3 in the order of IP104, IP103, IP102, and IP101. Then, for example, when a bus request signal is output from the IP 102 a plurality of times per unit time during the last bus transfer of the basic bus cycle t2, the arbitration processing unit 108b gives a high priority to the IP 102 to perform the bus transfer. Is executed, the occupation time of the IP 102 is inserted at the beginning of the next basic bus cycle t3. Accordingly, the entire length of the basic bus cycle t3 is extended.
[0052]
In the example shown in FIG. 7C, similarly, it is assumed that the bus occupation time is assigned to the basic bus cycle t3 in the order of IP104, IP103, IP102, and IP101. Then, for example, when a bus request signal is output from the IP 102 a plurality of times per unit time during the last bus transfer of the basic bus cycle t2, the arbitration processing unit 108b gives a high priority to the IP 102 to perform the bus transfer. In order to assign the start of the next basic bus cycle t3 to the IP 102, the occupation time assigned to the IP 104 and the occupation time assigned to the IP 102 are exchanged within the basic bus cycle t3.
[0053]
As described above, the arbitration processing unit 108b dynamically changes the bus assignment in the next basic bus cycle in consideration of the priority of the bus request from each module, so that the arbitration processing unit 108b operates according to the bus usage status. Bus arbitration can be performed appropriately and appropriately.
[0054]
(Sixth embodiment)
In the sixth embodiment, when issuing a bus request, each of the IPs includes a signal indicating a time (allowable time) that the IP can wait until the bus request is accepted, and a signal indicating a cycle necessary for transfer after the bus is occupied. To the arbiter 108. The arbitration processing unit 108b performs bus assignment based on information given by these signals.
[0055]
For example, as shown in FIG. 8, it is assumed that there are bus requests from IP101, IP102, and IP103, respectively. Further, it is assumed that the bus request signal from the IP 101 is accompanied by a signal indicating “1” as the allowable time and a signal indicating “2” as the necessary cycle. It is assumed that the bus request signal from the IP 102 is accompanied by a signal indicating “5” as the allowable time and a signal indicating “3” as the necessary cycle. It is assumed that the bus request signal from the IP 103 is accompanied by a signal indicating “4” as the allowable time and a signal indicating “1” as the necessary cycle. In this case, the arbitration processing unit 108b allocates two cycles in the next basic bus cycle, then one cycle in the IP102, then three cycles in the IP102, and then three cycles in the IP102 so that the allowable time and the required cycle are satisfied. So that
[0056]
If the transfer cannot be started within the given allowable time, the arbitration processing unit 108b discards the bus request signal. Further, when the bus request signal is discarded as described above, the bus throughput can be improved by shortening the basic bus cycle. In this case, each IP sets “0” as the allowable time for the transfer of data that must not discard the bus request, such as the data that must be transferred. The arbitration processing unit 108b performs the bus transfer for the bus request for which “0” is set as the allowable time even if the basic bus cycle is extended.
[0057]
【The invention's effect】
As described above, according to the present invention, the arbiter counts the number and timing of one or more previous bus requests from each IP, and reflects the statistical data in the number and the next basic bus cycle. Thus, for example, in an LSI or the like in which a plurality of applications simultaneously operate in various combinations, a bus arbitration device that dynamically adapts to various congestion conditions can be provided, and the bus throughput can be improved.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration example of a semiconductor integrated circuit provided with a bus arbitration device of the present invention. FIG. 2 is an explanatory diagram of an example of bus arbitration processing by the bus arbitration device of the present invention. FIG. 4 is an explanatory diagram of an example of a bus arbitration process performed by the arbitration device. FIG. 4 is an explanatory diagram of an example of a bus arbitration process performed by the bus arbitration device of the present invention. FIG. 6 is a diagram illustrating an example of a bus arbitration process performed by the bus arbitration device according to the present invention. FIG. 7 is a diagram illustrating an example of a bus arbitration process performed by the bus arbitration device according to the present invention. Explanatory drawing of an example of processing [Explanation of reference numerals]
101-104 IP (master side)
105,106 IP (slave side)
107 bus 108 bus arbitration device 108a storage unit 108b arbitration processing unit

Claims (17)

バスに接続された複数のモジュールからバス要求を受け、基本バスサイクルを時分割して各モジュールに占有させるバス調停装置において、
各基本バスサイクルにおける各モジュールのバス要求状況に関する情報を取得して記憶するバス要求状況記憶部と、
各基本バスサイクルでの各モジュールのバス占有期間の比率を、当該基本バスサイクルの直前の基本バスサイクルを含む少なくとも1回の過去の基本バスサイクルから取得され前記バス要求状況記憶部に記憶されている前記情報に基づいて決定する調停処理部とを備えたことを特徴とするバス調停装置。
In a bus arbitration device which receives a bus request from a plurality of modules connected to a bus and time-divides a basic bus cycle and occupies each module,
A bus request status storage unit for acquiring and storing information on a bus request status of each module in each basic bus cycle;
The ratio of the bus occupation period of each module in each basic bus cycle is obtained from at least one previous basic bus cycle including the basic bus cycle immediately before the basic bus cycle and stored in the bus request status storage unit. A bus arbitration device, comprising: an arbitration processing unit for determining based on the information.
前記バス要求状況に関する情報が、各基本バスサイクルにおける各モジュールのバス要求の回数である、請求項1記載のバス調停装置。The bus arbitrating device according to claim 1, wherein the information on the bus request status is the number of bus requests of each module in each basic bus cycle. 前記バス要求状況に関する情報が、各基本バスサイクルにおける各モジュールのバス要求の回数と、前記バス要求の各々のタイミングである、請求項1記載のバス調停装置。2. The bus arbitrating device according to claim 1, wherein the information on the bus request status is the number of bus requests of each module in each basic bus cycle and the timing of each of the bus requests. 前記調停処理部が、各基本バスサイクルにおける各モジュールからのバス要求を監視し、各モジュールに割り当てた占有期間までに当該モジュールがバス要求を出さない場合は、当該モジュールへのバス割り当てを解消する、請求項1〜3のいずれか一項に記載のバス調停装置。The arbitration processing unit monitors a bus request from each module in each basic bus cycle, and if the module does not issue a bus request within the occupation period assigned to each module, cancels the bus assignment to the module. The bus arbitration device according to any one of claims 1 to 3. 前記調停処理部が、各基本バスサイクルにおいていずれかのモジュールへのバス割り当てを解消した場合、当該基本バスサイクルの長さを短縮する、請求項4記載のバス調停装置。The bus arbitration device according to claim 4, wherein when the arbitration processing unit cancels the bus assignment to any module in each basic bus cycle, the arbitration processing unit shortens the length of the basic bus cycle. バスに接続された複数のモジュールからバス要求を受け、基本バスサイクルを時分割して各モジュールに占有させるバス調停装置において、
各基本バスサイクルにおける各モジュールのバス要求状況に関する情報を取得して少なくとも一時的に記憶するバス要求状況記憶部と、
前記バス要求状況記憶部に記憶された情報と予め定められた条件とを比較することにより、各モジュールからのバス要求の優先度を判断し、相対的に優先度が高いと判断されるモジュールのバス要求が優先処理されるように、当該基本バスサイクル内または次の基本バスサイクル内のバス割り当てを変更する調停処理部を備えたことを特徴とするバス調停装置。
In a bus arbitration device which receives a bus request from a plurality of modules connected to a bus and time-divides a basic bus cycle and occupies each module,
A bus request status storage unit that acquires information about the bus request status of each module in each basic bus cycle and at least temporarily stores the information;
By comparing the information stored in the bus request status storage unit with a predetermined condition, the priority of the bus request from each module is determined, and the priority of the module determined to be relatively higher is determined. A bus arbitration device comprising an arbitration processing unit that changes a bus assignment in the basic bus cycle or the next basic bus cycle so that a bus request is processed with priority.
前記調停処理部が、各基本バスサイクルにおいて、相対的に優先度が低いと判断されるモジュールへ割り当てた占有期間を、相対的に優先度が高いと判断されるモジュールの占有期間に変更する、請求項6記載のバス調停装置。The arbitration processing unit, in each basic bus cycle, changes the occupation period assigned to the module determined to be relatively low priority to the occupation period of the module determined to be relatively high priority, The bus arbitration device according to claim 6. 前記調停処理部が、各基本バスサイクルにおいて、相対的に優先度が低いと判断されるモジュールへ割り当てた占有期間の前に、相対的に優先度が高いと判断されるモジュールの占有期間を挿入する、請求項6記載のバス調停装置。The arbitration processing unit inserts, in each basic bus cycle, an occupation period of a module determined to be relatively high in priority before an occupation period assigned to a module determined to be relatively low in priority. The bus arbitration device according to claim 6, wherein 前記調停処理部が、各基本バスサイクルにおいていずれかのモジュールの占有期間を挿入した場合、当該基本バスサイクルの長さを伸張する、請求項8記載のバス調停装置。9. The bus arbitration device according to claim 8, wherein when the arbitration processing unit inserts an occupation period of any module in each basic bus cycle, the arbitration processing unit extends the length of the basic bus cycle. 前記調停処理部が、各基本バスサイクルにおいて、相対的に優先度が高いと判断されるモジュールへ割り当てた占有期間の順序を、相対的に優先度が低いと判断されるモジュールへ割り当てた占有期間よりも時系列的に前になるよう入れ替える、請求項6記載のバス調停装置。In each basic bus cycle, the arbitration processing unit assigns the order of the occupation periods assigned to the modules determined to be relatively high in priority to the order of the occupation periods assigned to the modules determined to be relatively low in the priority. 7. The bus arbitration device according to claim 6, wherein the bus arbitration device is replaced so as to be earlier in time series. 前記調停処理部が、前記次の基本バスサイクルの先頭において、相対的に優先度が低いと判断されるモジュールへ割り当てるべき占有期間を、相対的に優先度が高いと判断されるモジュールの占有期間に変更する、請求項6記載のバス調停装置。The arbitration processing unit allocates, at the beginning of the next basic bus cycle, an occupation period to be assigned to a module determined to be relatively low in priority, and an occupation period of a module determined to be relatively high in priority. 7. The bus arbitration device according to claim 6, wherein the bus arbitration device is changed to: 前記調停処理部が、前記次の基本バスサイクルの先頭において、相対的に優先度が低いと判断されるモジュールへ割り当てるべき占有期間の前に、相対的に優先度が高いと判断されるモジュールの占有期間を挿入する、請求項6記載のバス調停装置。The arbitration processing unit, at the beginning of the next basic bus cycle, before the occupation period to be assigned to the module determined to be relatively low in priority, the module determined to be relatively high in priority. 7. The bus arbitration device according to claim 6, wherein an occupancy period is inserted. 前記調停処理部が、前記次の基本バスサイクルの先頭においていずれかのモジュールの占有期間を挿入した場合、当該占有期間を挿入した基本バスサイクルの長さを伸張する、請求項12記載のバス調停装置。13. The bus arbitration according to claim 12, wherein when the arbitration processing unit inserts an occupation period of any module at the beginning of the next basic bus cycle, the arbitration processing unit extends the length of the basic bus cycle into which the occupation period is inserted. apparatus. 前記調停処理部が、次の基本バスサイクルにおいて、相対的に優先度が高いと判断されるモジュールの占有期間が先頭になるように、当該基本バスサイクル内で各モジュールの占有期間を入れ替える、請求項6記載のバス調停装置。The arbitration processing unit, in the next basic bus cycle, swaps the occupation period of each module within the basic bus cycle so that the occupation period of the module determined to be relatively high in priority becomes first. Item 7. A bus arbitration device according to item 6. バスに接続された複数のモジュールからバス要求を受け、基本バスサイクルを時分割して各モジュールに占有させるバス調停装置において、
各モジュールから、バス要求を出してからバスを獲得するまでの許容時間とバスの使用希望時間のデータを取得し、前記データを用いて次回の基本バスサイクルでの各モジュールのバス占有時間の比率を決定する調停処理部を備え、
前記調停処理部は、前記許容時間が経過するまでに転送を開始できない場合にはバス要求を破棄して基本バスサイクルを短縮することを特徴とするバス調停装置。
In a bus arbitration device which receives a bus request from a plurality of modules connected to a bus and time-divides a basic bus cycle and occupies each module,
From each module, data on the allowable time from issuing a bus request to acquiring the bus and the desired bus use time is obtained, and the ratio of the bus occupation time of each module in the next basic bus cycle is obtained using the data. Arbitration processing unit that determines
The bus arbitration device, wherein the arbitration processing unit discards a bus request and shortens a basic bus cycle when transfer cannot be started before the permissible time has elapsed.
各モジュールは、バス要求を出す場合、当該バス要求が破棄されて良いか否かを表す破棄可否データを前記調停処理部に送り、
前記調停処理部は、破棄可否データが破棄不可を示す場合は、当該バス要求を破棄せず、基本バスサイクルを延長して当該バス要求に対してバス割り当てを行う、請求項15記載のバス調停装置。
Each module, when issuing a bus request, sends discardability data indicating whether the bus request can be discarded to the arbitration processing unit,
16. The bus arbitration according to claim 15, wherein, if the discardability data indicates that discarding is not possible, the bus arbitration unit does not discard the bus request and extends a basic bus cycle to allocate a bus to the bus request. apparatus.
請求項1〜16のいずれか一項に記載のバス調停装置を備えた半導体集積回路。A semiconductor integrated circuit comprising the bus arbitration device according to claim 1.
JP2002367281A 2002-12-18 2002-12-18 Bus arbitration device and semiconductor integrated circuit provided with it Withdrawn JP2004199404A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002367281A JP2004199404A (en) 2002-12-18 2002-12-18 Bus arbitration device and semiconductor integrated circuit provided with it

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002367281A JP2004199404A (en) 2002-12-18 2002-12-18 Bus arbitration device and semiconductor integrated circuit provided with it

Publications (1)

Publication Number Publication Date
JP2004199404A true JP2004199404A (en) 2004-07-15

Family

ID=32764234

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002367281A Withdrawn JP2004199404A (en) 2002-12-18 2002-12-18 Bus arbitration device and semiconductor integrated circuit provided with it

Country Status (1)

Country Link
JP (1) JP2004199404A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007316726A (en) * 2006-05-23 2007-12-06 Fuji Xerox Co Ltd Data transfer controller
JP2008532143A (en) * 2005-02-24 2008-08-14 クゥアルコム・インコーポレイテッド Switch matrix system with multiple bus arbitrations per cycle via higher frequency arbiters

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008532143A (en) * 2005-02-24 2008-08-14 クゥアルコム・インコーポレイテッド Switch matrix system with multiple bus arbitrations per cycle via higher frequency arbiters
JP2011090689A (en) * 2005-02-24 2011-05-06 Qualcomm Inc Switch matrix system with plural bus arbitrations per cycle via higher-frequency arbiter
JP2007316726A (en) * 2006-05-23 2007-12-06 Fuji Xerox Co Ltd Data transfer controller

Similar Documents

Publication Publication Date Title
JP5061268B2 (en) Shared device and memory using split bus and time slot interface bus arbitration
JP4480427B2 (en) Resource management device
US8549199B2 (en) Data processing apparatus and a method for setting priority levels for transactions
US5623672A (en) Arrangement and method of arbitration for a resource with shared user request signals and dynamic priority assignment
US7769936B2 (en) Data processing apparatus and method for arbitrating between messages routed over a communication channel
US7231475B1 (en) Advanced bandwidth allocation in PCI bus architecture
US6178475B1 (en) Multimedia system employing timers to properly allocate bus access
US9606945B2 (en) Access controller, router, access controlling method, and computer program
JP2007200245A (en) System bus controller, integrated circuit, and data processing system
US7380040B2 (en) Software programmable dynamic arbitration scheme
US20060155903A1 (en) Resource management device
JP4090883B2 (en) System integration agent with different resource access methods
US6513082B1 (en) Adaptive bus arbitration using history buffer
US7555005B2 (en) Area efficient implementation of the consecutive access counter
US8185679B2 (en) Controlling bus access
JPH0630086B2 (en) Device for assigning priority among computers operating in parallel
US6415367B1 (en) Apparatus for reducing asynchronous service latency in a time slot-based memory arbitration scheme
EP1752881A1 (en) Apparatus for memory resource arbitration based on dedicated time slot allocation
JP2004199404A (en) Bus arbitration device and semiconductor integrated circuit provided with it
US6412049B1 (en) Method for minimizing CPU memory latency while transferring streaming data
JP2006251875A (en) Bus arbitration device and bus arbitration method
JP7263416B2 (en) Distribution of interconnect bandwidth among master agents
TWI425363B (en) Adjustable Priority System Resource Arbitration Method
JP2005518045A (en) System and method for fair arbitration between multiple request signals
JP2010170473A (en) Bus arbitration device

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060307