JP2007310532A - バスアクセス調停方法及び半導体集積回路 - Google Patents

バスアクセス調停方法及び半導体集積回路 Download PDF

Info

Publication number
JP2007310532A
JP2007310532A JP2006137450A JP2006137450A JP2007310532A JP 2007310532 A JP2007310532 A JP 2007310532A JP 2006137450 A JP2006137450 A JP 2006137450A JP 2006137450 A JP2006137450 A JP 2006137450A JP 2007310532 A JP2007310532 A JP 2007310532A
Authority
JP
Japan
Prior art keywords
master
group
priority
circuit
request
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.)
Granted
Application number
JP2006137450A
Other languages
English (en)
Other versions
JP4822429B2 (ja
Inventor
Yoshitaka Tsujimoto
芳孝 辻本
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.)
Renesas Technology Corp
Original Assignee
Renesas Technology 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 Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2006137450A priority Critical patent/JP4822429B2/ja
Publication of JP2007310532A publication Critical patent/JP2007310532A/ja
Application granted granted Critical
Publication of JP4822429B2 publication Critical patent/JP4822429B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

【課題】システムスループットの向上を図る。
【解決手段】マスター(101a〜101f)から発行されるリクエスト回数に応じてマスターグループ化回路(105)により上記マスターがグループ化され、上記マスターグループ化回路の出力情報を用いてアービトレーション回路(106)により上記マスターの優先順位が動的に変更されるため、マスターは、上記リクエスト回数に応じてグラント信号(108)を受け取ることができる。これにより、複数のマスター間でのバス占有の偏りを緩和することができ、マイクロコンピュータ(100)におけるシステムスループットの向上を達成することができる。
【選択図】図1

Description

本発明は、複数のマスターブロックからバスアクセスを調停するためのリクエスト調停技術に係り、例えばマイクロコンピュータなどの半導体集積回路に適用して有効な技術に関する。
マイクロプロセッサなどのマスター・デバイスと、メモリなど周辺デバイスを制御するスレーブ・デバイスとの間でデータ転送を可能とする半導体集積回路は、システム・オン・チップ(SoC:System On a Chip)と称されることが多い。システム・オン・チップの中には、多数のマスターを搭載するシステムがある。複数のマスターが存在するシステムの場合、ある瞬間にバスを使用できるのは1つのマスターだけなので、バスアクセスの調停を行うことにより、各マスターに対してバスの使用権を順次割り振っていく必要がある。このような処理を行う回路はアービトレーション回路、あるいはアービターなどと称される。
SoCにおいては、それに搭載されるIP(Intellectual Property)数の増加に伴い、オンチップバスに接続されているメモリ等の共有リソースにアクセスするマスターの数も増加し、上記マスターの共有リソースへのアクセスに対する調停を行うアービターが、各マスターによりある一定期間中に発行されるリクエストの回数に応じてマスターに対してバス占有権を与えることができず、上記マスターが平等に共有リソースを利用できないために、システムのスループットが低下する虞れがある。それを解決するための技術として、マスターから発行されるリクエストの調停を行うアービターにおいて、マスターから発行されるリクエストの回数を保持し、リクエストの回数からマスターの優先順位付けを行う技術が知られている(例えば特許文献1参照)。それによれば、マスターの優先度を、基準の優先順位と、リクエストの回数、マスターから転送されるデータ量により決定し、上記優先度に閾値を設け、この閾値によりマスターをグループ化し、マスターから発行されるリクエストの調停を行うようにしている。
特開2000−148670号公報
しかしながら、上記従来技術について本願発明者が検討したところ、リクエストを要求するマスターはPCIデバイスおよびPCIスロットに主眼を置いて上記マスターの優先度を計算しているために、この技術を多数のIPが搭載されるSoCに適用した場合には、上記マスターからある一定期間中に発行されるリクエストの回数が少ないマスターの優先順位が低くなり、その結果、上記リクエストの回数が少ないマスターがバス占有権を獲得するまでの待ち時間が長くなり、上記リクエストの回数に応じてバス占有権が与えられないことから、システムのスループットが低下する虞のあることが見いだされた。
本発明の目的は、システムのスループットを向上させるための技術を提供することにある。
本発明の別の目的は、マスターからある一定期間中に発行されるリクエストの回数に応じてバス占有権を与えることで、システムのスループットを向上させるための技術を提供することにある。
本発明の上記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
〔1〕複数のマスターブロックからバスを介して行われるバスアクセスを調停するためのバスアクセス調停方法において、上記マスタブロック毎の発行済みのリクエスト数に応じて上記複数のマスターブロックを互いに優先順位が異なる複数のグループに分け、上記複数のグループのうち優先順位が最も高いグループについては、当該グループの優先順位を時間的に不変とし、他の複数のグループについては、リクエストが発行される毎にグループ間の優先順位を入れ替えながらバスアクセスを調停する。
上記の手段によれば、上記マスタブロック毎の発行済みのリクエスト数に応じて上記複数のマスターブロックを互いに優先順位が異なる複数のグループに分けられ、上記複数のグループのうち優先順位が最も高いグループについては、当該グループの優先順位が変更されず、他の複数のグループについてはリクエストが発行される毎にグループ間の優先順位が入れ替えられる。このことが、複数のマスター間でのバス占有の偏りを緩和し、システムのスループットの向上を達成する。
〔2〕複数のマスターブロックからバスを介して行われるバスアクセスを調停するためのバスアクセス調停方法において、上記マスターブロック毎の単位時間当たりのリクエスト数をカウントし、上記単位時間当たりのリクエスト数が下位とされる所定数のマスターブロックによって第1グループを形成し、上記単位時間当たりのリクエスト数が上位とされる所定数のマスターブロックによって第2グループを形成し、上記第1グループ及び上記第2グループのいずれにも該当しないマスターブロックによって第3グループを形成し、上記グループ間の優先順位を所定の条件に応じて入れ替えながらバスアクセスを調停する。
上記の手段によれば、上記単位時間当たりのリクエスト数に応じて動的にグループ分けされ、このグループの優先順位が所定の条件に応じて入れ替えられる。このことが、複数のマスター間でのバス占有の偏りを緩和し、システムのスループットの向上を達成する。
〔3〕上記〔2〕において、上記第1グループの優先順位を最も高く、且つ、時間的に不変とし、上記第2グループ及び上記第3グループについては、上記第1グループよりも優先順位を低くすると共に、それらの優先順位をリクエストが発行される毎に入れ替えることができる。
〔4〕上記〔3〕において、複数のマスターブロックから同時にリクエストが発行された場合、優先順位が高い方のグループ内で、最近もっとも使われていないマスターブロックからのリクエストを最優先することができる。
〔5〕さらに、スレーブブロックと、それぞれ上記スレーブブロックにアクセス可能な複数のマスターブロックと、上記複数のマスターブロックからバスを介して行われる上記スレーブへのアクセスのリクエストを調停可能な調停回路とを含んで半導体集積回路が構成されるとき、上記マスターブロック毎の単位時間当たりのリクエスト数をカウント可能なカウンターと、上記カウンターの出力情報に基づいて上記複数のマスターブロックを複数のグループに分けるためのマスターグループ化回路と、上記グループ間の優先順位を所定の条件に応じて入れ替えながら上記リクエストの調停を行うアービトレーション回路とを含んで、上記調停回路を構成する。
上記の手段によれば、マスターグループ化回路は、上記カウンターの出力情報に基づいて上記複数のマスターブロックを複数のグループに分け、上記アービトレーション回路は、上記グループ間の優先順位を所定の条件に応じて入れ替えながら上記リクエストの調停を行う。このことが、複数のマスター間でのバス占有の偏りを緩和し、システムのスループットの向上を達成する。
〔6〕上記〔5〕において、上記複数のグループは、第1グループと、第2グループと、第3グループとを含み、上記第1グループは、上記単位時間当たりのリクエスト数が下位とされる所定数のマスターブロックによって形成し、上記第2グループは、上記単位時間当たりのリクエスト数が上位とされる所定数のマスターブロックによって形成し、上記第3グループは、上記第1グループ及び上記第2グループのいずれにも該当しないマスターブロックによって形成することができる。
〔7〕上記〔6〕において、上記第1グループに属するマスターブロックの数と、上記第2グループに属するマスターブロックの数との変更を可能とするには、上記第1グループに属するマスターブロックの数と、上記第2グループに属するマスターブロックの数とを設定可能な第1レジスタ回路を設けると良い。
〔8〕上記〔7〕において、上記単位時間の変更を可能とするには、上記単位時間を設定可能な第2レジスタ回路を設けると良い。
〔9〕上記〔5〕において、アービトレーション回路は、上記第1グループの優先順位を最も高く、且つ、時間的に不変とし、上記第2グループ及び上記第3グループについては、上記第1グループよりも優先順位を低くすると共に、それらの優先順位をリクエストが発行される毎に入れ替えるためのマスターグループ優先順位決定回路と、上記マスターグループ優先順位決定回路の出力に基づいて、対応するマスタブロックからのリクエストを許可する旨のグラント信号を生成するグラント信号生成回路とを含んで構成することができる。
〔10〕上記〔9〕において、上記グラント信号生成回路は、複数のマスターブロックから同時にリクエストが発行された場合、優先順位が高い方のグループ内で、最近もっとも使われていないマスターブロックからのリクエストを最優先するためのマスターグループ内優先順位決定回路を含んで構成することができる。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
すなわち、複数のマスター間でのバス占有の偏りを緩和することによってシステムのスループットを向上させることができる。
図1には、本発明に係る半導体集積回路の一例であるマイクロコンピュータが示される。
図1に示されるマイクロコンピュータ100は、特に制限されないが、複数のマスターブロック(単に「マスター」ともいう)101a〜101f、スレーブブロック(単に「スレーブ」ともいう)110、及び調停回路1000を含み、公知の半導体集積回路製造技術により、単結晶シリコン基板などの一つの半導体基板に形成される。上記複数のマスター101a〜101fと、スレーブ110とは、バス109を介して互いにデータのやり取り可能に結合される。上記マスター101a〜101fは、特に制限されないが、CPU(中央処理装置)や、DMAC(ダイレクト・メモリ・アクセス・コントローラ)などとされる。上記スレーブ110は、特に制限されないが、上記マスタ101a〜101fによってアクセス可能なRAM(ランダム・アクセス・メモリ)とされる。上記調停回路1000は、特に制限されないが、上記複数のマスター101a〜101fからのバスアクセスを調停する機能を有し、カウンター102a〜102f、マスターグループ化単位時間設定レジスタ回路103、マスターグループ化マスター個数設定レジスタ回路104、マスターグループ化回路105、アービトレーション回路106を含む。上記カウンター102a〜102fは、上記マスター101a〜101fから発行されるリクエスト107の回数をカウントする機能を有する。マスターグループ化単位時間設定レジスタ回路103は、マスターグループ化を行う間隔を設定するために設けられる。マスターグループ化マスター個数設定レジスタ回路104は、例えば上記カウンター値に応じて3つのマスターグループに分ける際のマスター個数情報を設定するために設けられる。上記マスターグループ化回路105は、上記リクエストカウンター102a〜102fの出力情報(リクエスト回数102a〜102f)と、上記マスターグループ化単位時間設定レジスタ回路103の出力情報と、上記マスターグループ化マスター個数設定レジスタ回路104の出力情報とを用いて上記複数のマスター101a〜101fのグループ化を行う。アービトレーション回路106は、上記マスターグループ化回路105の出力情報を用いてマスターグループの優先順位を決定することによってバスアクセスの調停を行う。そして上記アービトレーション回路106は、リクエストを受け付けるマスター101a〜101fに対してグラント信号108を発行する。上記グラント信号108を受信したマスターは、バス109を占有してスレーブ110との間でデータのやり取りを行うことができる。
図2には、上記レジスタ回路103、104の設定例が示される。
本例によれば、マスターグループ化単位時間設定レジスタ回路103の値は、システムクロックの40サイクルで、マスターグループ化マスター個数設定レジスタ回路104の値は0x00010003であり、リクエストカウンター102a〜102fでカウントしたリクエスト回数の下位1個のマスター、上位3個のマスター、それ以外の2個のマスターの3グループに分けられる。
図3には、上記マスターグループ化単位時間設定レジスタ回路103と、上記マスターグループ化マスター個数設定レジスタ104の値と、リクエストカウンター102a〜102fの出力情報とを用いて、マスターグループ化回路105がマスターのグループ化を行った結果が示される。
マスターグループ化回路105によりマスターを3つに分けるグループ名をそれぞれグループI、グループII、グループIIIとすれば、現在より一つ前のマスターグループ化単位時間103において、上記グループIに属するマスターの個数は上記マスターから発行されたリクエストの回数102a〜102fの下位1個、上記グループIIに属するマスターの個数は上記マスターから発行されたリクエストの回数の上位から3個、上記グループIIIに属するマスターの個数は上記グループI、IIに属するマスター以外の2個で、上記グループI、II、IIIはそれぞれリクエストの発行回数が少、多、中とされ、それに対応してグループ優先順位が高、中、低とされる。つまり、グループIの優先順位が最も高く、次いでグループII、IIIの順に優先順位が低くなる。
図4には、上記アービトレーション回路106の構成例が示される。
アービトレーション回路106は、特に制限されないが、マスターグループ化回路105の演算結果である各マスターグループに属するマスターのIDと各グループの優先順位を保持するマスターIDとグループ優先順位保持レジスタ203と、マスターグループ優先順位入れ替え頻度を設定するマスターグループ優先順位入れ替え頻度設定レジスタ204と、上記レジスタ203及び204の出力を用いてマスターグループの優先順位を決定するマスターグループ優先順位決定回路207と、上記マスターグループ優先順位決定回路207の出力信号に基づいてグラント信号を生成するためのグラント信号を生成するためのグラント信号生成回路208とを含んで成る。上記グラント信号生成回路208は、特に制限されないが、上記マスターグループ優先順位決定回路207の出力信号に基づいてグループ内の優先順位を決定し、グラント信号を生成するLRU回路210a〜210cと、マスター101a〜101fのうち一番優先順位の高いマスターに対応するグラント信号108を選択的にアサートするためのグラント信号選択回路211とを有する。ここで、上記LRU回路210a〜210cは、リクエスト0〜5をモニタして、それぞれ最近もっとも使われていないマスターの優先度をもっとも高くする方式(これを「LRU(Least Recently Used)方式」という)によってグループ内のマスタ優先順位の設定を行う。
図16には、マスターグループ優先順位入れ替え頻度設定レジスタ204の設定例が示される。
本例において、グループIIとグループIIIの優先順位は、マスタグループ優先順位設定レジスタ207において、マスターグループ化単位時間毎に、マスターグループ優先順位入れ替え頻度設定レジスタ204の設定値に応じて設定頻度3:2で入れ替えられる。尚、グループIにおいては優先順位の入れ替えは行われないため、グループIの優先順位は最も高い状態で不変とされる。
図15には、上記調停回路1000での調停の流れが示される。
マスターグループ化回路105によりマスターのグループ化が行われる(401)。システムリセット直後のグループ化は、マスターブロックIDが若いブロックから順にマスターグループ化マスター個数設定レジスタ104の出力情報に従って行われる。
次に、マスタグループ化単位時間が経過しているか否かの判別が行われる(402)。この判別において、マスターグループ化単位時間103が経過している(yes)と判断された場合には、上記マスターグループ化(401)が行われる。また、上記ステップ402の判別において、上記マスターグループ化単位時間103が経過していない(no)と判断された場合には、グループ優先順位の入れ替えを行うか否かの判別が行われる(403)。この判別において、グループ優先順位の入れ替えを行う(yes)と判断された場合には、グループ優先順位の入れ替えが行われ(404)、その後、マスターからリクエストが発行されたか否かの判別が行われる(405)。また、上記ステップ403の判別において、グループ優先順位の入れ替えを行わない(no)と判断された場合にも、マスターからリクエストが発行されたか否かの判別が行われる(405)。この判別において、マスターからリクエストが発行された(yes)と判断された場合には、同一グループ内でのマスター優先順位が決定され(406)、その後、上記ステップ402の判別に遷移される。また、上記ステップ405の判別において、マスターからリクエストが発行されていないと判断された場合にも、上記ステップ402の判別に遷移される。
調停回路1000では、上記のようにしてマスターのグループ化から優先順位の決定までの処理が行われる。
図5には、図2のマスターグループ化レジスタの設定と、図3のマスターリクエスト発行回数の情報を用いて、マスターグループ化回路105でグループ化が行われた場合の優先順位設定例が示される。
本例では、グループI(501)に属するマスターID=0のグループ優先順位が一番高く、グループII(502)に属するマスターID=1、2、3の優先順位が二番目に高く、グループIII(503)に属するマスターID=4、5の優先順位が一番低く、501、502、503の同一グループ内においては、LRU(Least Recently Used)方式により上記マスターの優先順位が決定される。
図6には、図2のマスターグループ化レジスタの設定例を用いて、アービトレーション回路106により決定されるグループ優先順位の時間的遷移例が示される。
本例では、グループIの優先順位は常に“高”であり、グループIIとグループIIIは、グループIIとグループIIIに属するマスターの個数の比で、グループ優先順位が交換され、グループIIの優先順位は“中→低→中→低→中→中→低→中→低→中・・・”と変化し、グループIIIの優先順位は“低→中→低→中→低→低→中→低→中→低・・・”と変化し、上記グループIIに属するマスターのバス占有権の取得回数が多くなる。
図7には、同一グループ内においてLRU(Least Recently Used)方式により決定された優先順位の時間的遷移例が示される。
本例では、優先順位に○印が付されている欄のマスターにバス占有権が与えられることを示している。例えば時刻0においてはグループ優先順位の高いグループに属するマスターID=0にバス占有権が与えられ、時刻1においてはグループ優先順位が“中”に属するグループIIIでLRU方式により、リクエストを発行しているマスターの中で一番優先順位の高いマスターID=4にバス占有権が与えれ、時刻2においては上記時刻1でバス占有権が与えられたマスターID=4のグループIIIにおける優先順位が上記LRU方式により一番低くなる(優先順位=6)。
図8には、図2のマスターグループ化レジスタの設定例を用いて、マスターから発行されるリクエスト107と、アービトレーション回路106からマスターに対して発行されるグラント信号108のタイミング例が示される。
本例では、グループIに属するマスター(ID=0)は、図7に示すように優先順位が常に一番高いので最短でグラント信号108を受け取り、その他のマスターに関しては、図7に示される優先順位に従いグラント信号108を受け取る。マスターのリクエスト獲得率を上記マスターグループ化単位時間103における(グラントの回数/リクエストの回数)とすれば、図8により、マスターID=0のリクエスト獲得率は2/4=50%、マスターID=1のリクエスト獲得率は10/36=27%、マスターID=2のリクエスト獲得率は9/39=23%、マスターID=3のリクエスト獲得率は7/22=31%、マスターID=4のリクエスト獲得率は5/22=22%、マスターID=5のリクエスト獲得率は6/25=24%となり、マスター101a〜101fから発行されるリクエスト107の回数102a〜102fに応じてグラント信号108が与えられていることを示している。
次に、図1に示される調停回路1000において、グループIIに属するマスターの個数がグループIIIに属するマスターの個数よりも少ない場合について説明する。
図9には、マスターをグループに分けるときに設定するレジスタ回路103、104の設定例が示される。
本例において、マスターグループ化単位時間設定レジスタ回路103の値はシステムクロックで40サイクルで、マスターグループ化マスター個数設定レジスタ104の値は「0x00010001」であり、リクエストカウンター102a〜102fでカウントしたリクエストの回数の下位1個のマスター、上位1個のマスター、それ以外のマスター2個の3つのグループに分けられる。
図10には、上記マスターグループ化単位時間設定レジスタ回路103と上記マスターグループ化マスター個数設定レジスタ104の値とリクエストカウンターの値102a〜102fの情報を用いて、マスターグループ化回路105がマスターのグループ化を行った結果について示される。
マスターグループ化回路105によりマスターを3つに分けるグループ名をそれぞれグループI、グループII、グループIIIとすれば、現在より一つ前のマスターグループ化において、上記グループIに属するマスターの個数は上記マスターから発行されたリクエストの回数102a〜102fの下位1個、上記グループIIに属するマスターの個数は上記マスターから発行されたリクエストの回数の上位から1個、上記ループIIIに属するマスターの個数は上記グループI、IIに属するマスター以外の4個で、上記グループI、II、IIIはそれぞれリクエストの発行回数が少、多、中で、グループ優先順位が高、中、低である。この場合、マスターグループ優先順位入れ替え頻度設定レジスタ204は、図17に示されるように設定され、グループIIとグループIIIの優先順位は、マスターグループ化単位時間毎に、マスターグループ優先順位入れ替え頻度設定レジスタ204の設定値に従って設定頻度1:1で入れ替えられる。
図11には、図9のマスターグループ化レジスタの設定と、図10のマスターリクエスト発行回数の情報を用いて、マスターグループ化回路105がグループ化を行った場合の優先順位設定例が示される。
本例では、901のグループIに属するマスターID=0のグループ優先順位が一番高く、902のグループIIに属するマスターID=1の優先順位が二番目に高く、903のグループIIIに属するマスターID=2、3、4、5の優先順位が一番低く、901、902、903の同一グループ内においては、LRU方式により上記マスターの優先順位が決定される。
図12には、図9のマスターグループ化レジスタの設定を用い、上記マスターグループ化単位時間103において、アービトレーション回路106により決定されるグループ優先順位の時間的遷移例が示される。
本例では、グループIの優先順位は常に“高”であり、グループIIとグループIIIは、交互にグループ優先順位を交換し、グループIIの優先順位は“中→低→中→低→中→低・・・”と、グループIIIの優先順位は“低→中→低→中→低→中・・・”と変化し、上記グループIIとグループIIIに属するマスターのバス占有権の取得回数は同じである。
図13には、図12に示すグループ優先順位と、901、902、903の同一グループ内においてはアービトレーション回路106がLRU方式により決定したマスター101a〜101fの優先順位の時間的遷移例が示される。
本例では、優先順位に○印が付されている欄のマスターにバス占有権が与えられることを示している。例えば時刻0においてはグループ優先順位の高いグループに属するマスターID=0にバス占有権が与えられ、時刻1においてはグループ優先順位が“中”に属するグループIIIでLRU方式により、リクエストを発行しているマスターの中で一番優先順位の高いマスターID=3にバス占有権が与えれ、時刻2においては上記時刻1でバス占有権が与えられたマスターID=3のグループIIIにおける優先順位が上記LRU方式により一番低くなる(優先順位=6)。
図14には、図9のマスターグループ化レジスタの設定例を用い、マスターから発行されるリクエスト107と、アービトレーション回路106からマスターに対して発行されるグラント信号108のタイミングチャートが示される。グループIに属するマスターID=0は、図13に示されるように優先順位が常に一番高いので最短でグラント信号108を受け取り、その他のマスターに関しては、図13に示す優先順位に従いグラント信号108を受け取る。マスターのリクエスト獲得率を上記マスターグループ化単位時間103における(グラントの回数/リクエストの回数)とすれば、図14により、マスターID=0のリクエスト獲得率は5/9=55%、マスターID=1のリクエスト獲得率は11/31=35%、マスターID=2のリクエスト獲得率は6/30=20%、マスターID=2のリクエスト獲得率は6/29=20%、マスターID=3のリクエスト獲得率は5/32=15%、マスターID=5のリクエスト獲得率は6/38=15%となり、マスター101a〜101fから発行されるリクエスト107の回数102a〜102fに応じてグラント信号108が与えられていることを示している。
上記の例によれば、以下の作用効果を得ることができる。
(1)マスター101a〜101fから発行されるリクエスト107の回数に応じてマスターグループ化回路105によりマスター101a〜101fがグループ化され、上記マスターグループ化回路の出力情報を用いてアービトレーション回路106によりマスターの優先順位が動的に変更されることにより、上記マスターが発行するリクエストの回数107に応じて、マスター101a〜101fがグラント信号108を受け取ることができる。これにより、複数のマスター間でのバス占有の偏りを緩和することができるので、マイクロコンピュータ100におけるシステムのスループットの向上を図ることができる。
(2)マスターグループ化マスター個数設定レジスタ回路104の書き換えは、マスタブロックの一つであるCPUなどによって行うことができ、それによって、マスタグループI、II内のマスターブロック数をシステムに応じて任意に変更することができる。
(3)マスターグループ化単位時間設定レジスタ回路103の書き換えは、マスタブロックの一つであるCPUなどによって行うことができ、それによって、マスターグループ化単位時間をシステムに応じて任意に変更することができる。
(4)マスターグループ内優先順位決定回路207において、複数のマスターブロックから同時にリクエストが発行された場合、優先順位が高い方のグループ内で、LRU方式により、最近もっとも使われていないマスターブロックからのリクエストを最優先することにより、複数のマスター間でのバス占有の偏りをさらに緩和することができる。
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるマイクロコンピュータに適用した場合について説明したが、本発明はそれに限定されるものではなく、各種半導体集積回路に適用することができる。
本発明は、複数のマスターを備えることを条件に適用することができる。
本発明に係る半導体集積回路の一例であるマイクロコンピュータの構成例ブロック図である。 上記マイクロコンピュータに含まれる複数のマスターをグループ分けするときに設定するレジスタの設定例説明図である。 マスターグループの優先順位設定例の説明図である。 上記マイクロコンピュータに含まれるアービトレーション回路の構成例ブロック図である。 上記マイクロコンピュータに含まれるマスターグループ化回路でグループ化が行われた場合の状態例の説明図である。 上記アービトレーション回路により決定されるグループ優先順位の時間的遷移例の説明図である。 LRU方式により決定された優先順位例の時間的遷移例の説明図である。 マスターグループ化単位時間において、マスターから発行されるリクエストと、アービトレーション回路からマスターに対して発行されるグラント信号のタイミング図である。 複数のマスターをグループ分けするときに設定されるレジスタの設定例説明図である。 マスターグループの優先順位設定例の説明図である。 上記マスターグループ化回路でグループ化が行われた場合の状態例の説明図である。 マスターグループ化単位時間において、アービトレーション回路により決定されるグループ優先順位の時間的遷移例の説明図である。 LRU方式により決定された優先順位例の時間的遷移例の説明図である。 マスターグループ化単位時間において、マスターから発行されるリクエストと、アービトレーション回路からマスターに対して発行されるグラント信号のタイミング図である。 上記マイクロコンピュータに含まれる調停回路での調停のフローチャートである。 マスターグループ優先順位入れ替え頻度設定レジスタの設定例説明図である。 マスターグループ優先順位入れ替え頻度設定レジスタの別の設定例説明図である。
符号の説明
100 マイクロコンピュータ
101a〜101f マスターブロック
102a〜102f リクエストカウンター
103 マスターグループ化単位時間設定レジスタ
104 マスタグループ化マスター個数設定レジスタ
105 マスターグループ化回路
106 アービトレーション回路
110 スレーブブロック
203 マスターIDとグループ優先順位保持レジスタ
204 マスターグループ優先順位入れ替え頻度設定レジスタ
207 マスターグループ優先順位決定回路
208 グラント信号生成回路
210a〜210c LRU回路
211 グラント信号選択回路
1000 調停回路

Claims (10)

  1. 複数のマスターブロックからバスを介して行われるバスアクセスを調停するためのバスアクセス調停方法であって、
    上記マスタブロック毎の発行済みのリクエスト数に応じて上記複数のマスターブロックを互いに優先順位が異なる複数のグループに分け、
    上記複数のグループのうち優先順位が最も高いグループについては、当該グループの優先順位を時間的に不変とし、他の複数のグループについては、リクエストが発行される毎にグループ間の優先順位を入れ替えながらバスアクセスを調停することを特徴とするバスアクセス調停方法。
  2. 複数のマスターブロックからバスを介して行われるバスアクセスを調停するためのバスアクセス調停方法であって、
    上記マスターブロック毎の単位時間当たりのリクエスト数をカウントし、
    上記単位時間当たりのリクエスト数が下位とされる所定数のマスターブロックによって第1グループを形成し、
    上記単位時間当たりのリクエスト数が上位とされる所定数のマスターブロックによって第2グループを形成し、
    上記第1グループ及び上記第2グループのいずれにも該当しないマスターブロックによって第3グループを形成し、
    上記グループ間の優先順位を所定の条件に応じて入れ替えながらバスアクセスを調停することを特徴とするバスアクセス調停方法。
  3. 上記第1グループの優先順位を最も高く、且つ、時間的に不変とし、上記第2グループ及び上記第3グループについては、上記第1グループよりも優先順位を低くすると共に、それらの優先順位をリクエストが発行される毎に入れ替える請求項2記載のバスアクセス調停方法。
  4. 複数のマスターブロックから同時にリクエストが発行された場合、優先順位が高い方のグループ内で、最近もっとも使われていないマスターブロックからのリクエストを最優先する請求項3記載のバスアクセス調停方法。
  5. スレーブブロックと、
    それぞれ上記スレーブブロックにアクセス可能な複数のマスターブロックと、
    上記複数のマスターブロックからバスを介して行われる上記スレーブへのアクセスのリクエストを調停可能な調停回路と、を含む半導体集積回路であって、
    上記調停回路は、上記マスターブロック毎の単位時間当たりのリクエスト数をカウント可能なカウンターと、
    上記カウンターの出力情報に基づいて上記複数のマスターブロックを複数のグループに分けるためのマスターグループ化回路と、
    上記グループ間の優先順位を所定の条件に応じて入れ替えながら上記リクエストの調停を行うアービトレーション回路と、を含むことを特徴とする半導体集積回路。
  6. 上記複数のグループは、第1グループと、第2グループと、第3グループとを含み、
    上記第1グループは、上記単位時間当たりのリクエスト数が下位とされる所定数のマスターブロックによって形成され、
    上記第2グループは、上記単位時間当たりのリクエスト数が上位とされる所定数のマスターブロックによって形成され、
    上記第3グループは、上記第1グループ及び上記第2グループのいずれにも該当しないマスターブロックによって形成される請求項5記載の半導体集積回路。
  7. 上記第1グループに属するマスターブロックの数と、上記第2グループに属するマスターブロックの数とを設定可能な第1レジスタ回路を含む請求項6記載の半導体集積回路。
  8. 上記単位時間を設定可能な第2レジスタ回路を含む請求項7記載の半導体集積回路。
  9. 上記アービトレーション回路は、上記第1グループの優先順位を最も高く、且つ、時間的に不変とし、上記第2グループ及び上記第3グループについては、上記第1グループよりも優先順位を低くすると共に、それらの優先順位をリクエストが発行される毎に入れ替えるためのマスターグループ優先順位決定回路と、
    上記マスターグループ優先順位決定回路の出力に基づいて、対応するマスタブロックからのリクエストを許可する旨のグラント信号を生成するグラント信号生成回路と、を含む請求項5記載の半導体集積回路。
  10. 上記グラント信号生成回路は、複数のマスターブロックから同時にリクエストが発行された場合、優先順位が高い方のグループ内で、最近もっとも使われていないマスターブロックからのリクエストを最優先するためのマスターグループ内優先順位決定回路を含む請求項9記載の半導体集積回路。
JP2006137450A 2006-05-17 2006-05-17 バスアクセス調停方法及び半導体集積回路 Expired - Fee Related JP4822429B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006137450A JP4822429B2 (ja) 2006-05-17 2006-05-17 バスアクセス調停方法及び半導体集積回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006137450A JP4822429B2 (ja) 2006-05-17 2006-05-17 バスアクセス調停方法及び半導体集積回路

Publications (2)

Publication Number Publication Date
JP2007310532A true JP2007310532A (ja) 2007-11-29
JP4822429B2 JP4822429B2 (ja) 2011-11-24

Family

ID=38843346

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006137450A Expired - Fee Related JP4822429B2 (ja) 2006-05-17 2006-05-17 バスアクセス調停方法及び半導体集積回路

Country Status (1)

Country Link
JP (1) JP4822429B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017010220A (ja) * 2015-06-19 2017-01-12 コニカミノルタ株式会社 調停回路
JP2021082103A (ja) * 2019-11-21 2021-05-27 ルネサスエレクトロニクス株式会社 調停回路、データ転送システム、及び、調停回路による調停方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06205041A (ja) * 1993-01-06 1994-07-22 Nippon Telegr & Teleph Corp <Ntt> アクセス調停方式
JPH09330289A (ja) * 1996-06-10 1997-12-22 Fujitsu Ltd 競合制御回路
JPH10254823A (ja) * 1997-03-14 1998-09-25 Ricoh Co Ltd バス調停装置
JP2000148670A (ja) * 1998-11-06 2000-05-30 Nec Corp バスアクセス調停システム
JP2000250853A (ja) * 1999-03-02 2000-09-14 Nec Corp バス調整制御装置
JP2003157227A (ja) * 2001-11-20 2003-05-30 Nec Corp バスアクセス調停装置及びバスアクセス調停方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06205041A (ja) * 1993-01-06 1994-07-22 Nippon Telegr & Teleph Corp <Ntt> アクセス調停方式
JPH09330289A (ja) * 1996-06-10 1997-12-22 Fujitsu Ltd 競合制御回路
JPH10254823A (ja) * 1997-03-14 1998-09-25 Ricoh Co Ltd バス調停装置
JP2000148670A (ja) * 1998-11-06 2000-05-30 Nec Corp バスアクセス調停システム
JP2000250853A (ja) * 1999-03-02 2000-09-14 Nec Corp バス調整制御装置
JP2003157227A (ja) * 2001-11-20 2003-05-30 Nec Corp バスアクセス調停装置及びバスアクセス調停方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017010220A (ja) * 2015-06-19 2017-01-12 コニカミノルタ株式会社 調停回路
JP2021082103A (ja) * 2019-11-21 2021-05-27 ルネサスエレクトロニクス株式会社 調停回路、データ転送システム、及び、調停回路による調停方法

Also Published As

Publication number Publication date
JP4822429B2 (ja) 2011-11-24

Similar Documents

Publication Publication Date Title
US5623672A (en) Arrangement and method of arbitration for a resource with shared user request signals and dynamic priority assignment
JP4480427B2 (ja) リソース管理装置
US5572686A (en) Bus arbitration scheme with priority switching and timer
JP4485599B2 (ja) アクセス制御装置、アクセス制御集積回路、及びアクセス制御方法
US8145815B2 (en) Data processing system
US20040210694A1 (en) Multi-level and multi-resolution bus arbitration
KR100252752B1 (ko) 다단계 제어 버스 중재장치
JP2007058716A (ja) データ転送バスシステム
KR20130083910A (ko) 스트림 트랜잭션(들)에 관련된 정보에 기초한 스트림 트랜잭션들의 중재
JP4822429B2 (ja) バスアクセス調停方法及び半導体集積回路
TW200400438A (en) Bus arbiter for integrated circuit systems
JP4839155B2 (ja) アクセス調停装置およびアクセス調停方法
JP2007018280A (ja) バスシステムの制御方法及び制御回路
JP5677007B2 (ja) バス調停装置、バス調停方法
EP1811394B1 (en) An arbitrator and its arbitration method
KR100973419B1 (ko) 버스 중재 방법 및 장치
TWI326416B (ja)
US7130947B2 (en) Method of arbitration which allows requestors from multiple frequency domains
US7181558B2 (en) Avoidance of extended bus occupancy through simple control operation
JP2008059047A (ja) 情報処理システム及びこの制御方法
JP3985085B2 (ja) Dma制御装置
JP2007026022A (ja) バス調停装置及びバス調停方法
JP2006251875A (ja) バス調停装置及びバス調停方法
TWI425363B (zh) Adjustable Priority System Resource Arbitration Method
US7747806B2 (en) Resource use management device, resource use management system, and control method for a resource use management device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090212

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100507

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110502

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110512

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110708

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110901

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110902

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140916

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees