[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2010165175A - バスの使用権を制御する装置および方法 - Google Patents

バスの使用権を制御する装置および方法 Download PDF

Info

Publication number
JP2010165175A
JP2010165175A JP2009006827A JP2009006827A JP2010165175A JP 2010165175 A JP2010165175 A JP 2010165175A JP 2009006827 A JP2009006827 A JP 2009006827A JP 2009006827 A JP2009006827 A JP 2009006827A JP 2010165175 A JP2010165175 A JP 2010165175A
Authority
JP
Japan
Prior art keywords
bus
core
control unit
sub
cores
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
JP2009006827A
Other languages
English (en)
Inventor
Shusaku Matsuse
秀作 松瀬
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2009006827A priority Critical patent/JP2010165175A/ja
Priority to US12/684,141 priority patent/US8185679B2/en
Publication of JP2010165175A publication Critical patent/JP2010165175A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/366Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a centralised polling arbiter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

【課題】複数のIPコアによりバスが共用される場合におけるバスの使用のリアルタイム性を保証し、さらにバスの使用効率の向上を図る。
【解決手段】複数のIPコア30によるバスの使用権を制御する装置であって、主制御部10と、個々のIPコア30に対応して個別に設けられた副制御部20とを備える。主制御部10は、所定のタイム・スライスに基づいて予め定められたスケジュールにしたがって、各々のIPコア30とバスとの間の接続を切り替える。副制御部20は、主制御部10の制御下で、このスケジュールにしたがって、IPコア30によるバスの使用を制御する。
【選択図】図1

Description

本発明は、複数のIPコアがバスを使用する場合におけるバスの使用権を制御する装置およびその方法に関する。
システム・バス等のバスが複数の装置(IPコア)に共用されるシステムでは、バスの使用権が制御装置(バス・アービタ)により各々のIPコアに割り当てられる。各IPコアは、制御装置に対してバスの使用権を要求する。制御装置は、IPコアから要求を受け付けるたびに、IPコアごとに予め設定された優先順序等の規則にしたがって調停を行ってバスの使用権を割り当てる。
図7は、この種のバス制御システムの構成を模式的に示す図である。
図7に示すように、制御装置(バス・アービタ)701および複数のIPコア702がバス703に接続されている。そして、制御装置701の制御下で各IPコア702がバス703を共用する。
この種の従来技術として、特許文献1には、システム・バス上に複数の装置と、システム・バスのバス占有権の調停を行うバス制御装置が接続されるコンピュータ・システムにおいて、バス制御装置が、装置が接続するチャネルに対して、任意の一定時間間隔で、任意の一定量のデータ転送時間を与える機能を有する構成が開示されている。これにより、このシステムでは、従来のI/O装置とのデータ転送と同様に、音声及び動画像データを含むマルチメディア・データを扱うことを可能としている。
特開平6−332850号公報
複数のIPコアでバスを共用する上記のシステムでは、ハードリアルタイム性の保証やバスの使用帯域の保証を明示的に行うことができなかった。これらの保証は、各IPコアの間のバス占有率を調整することによってしか行うことができない。また、特定のIPコアに関して、長いバースト長を持つものや、バス使用権が強いものがある場合、他のIPコアにバスの使用権が渡り難いという問題があった。
本発明は、IPコアによるバスの使用のリアルタイム性を保証し、さらにバスの使用効率の向上を図ることを目的とする。
上記の目的を達成するため、本発明は、次のような装置として実現される。この装置は、複数のIPコアによるバスの使用権を制御する装置であって、予め定められたスケジュールにしたがって、各々のIPコアとバスとの間の接続を切り替える主制御部と、個々のIPコアに対応して個別に設けられ、このスケジュールにしたがって、IPコアによるバスの使用を制御する副制御部と、を備える。
このスケジュールは、予め設定されたタイム・スライスに基づいて定められる。
より詳細には、主制御部は、このスケジュールにしたがって、各々のIPコアにバスの使用権を割り当てて、IPコアに対応する各々の副制御部に通知する。そして、副制御部は、主制御部からの通知にしたがって、IPコアによるデータの送受信を実行する。
さらに、主制御部は、このスケジュールにしたがって、各々のIPコアに対応する各々の副制御部に、バスを使用可能であることを通知する。そして、副制御部は、主制御部からの通知により特定されるタイム・スライスにおいてIPコアによるデータの送受信を実行し、このタイム・スライス以外ではIPコアによるデータの送受信を留保する。
また、副制御部は、IPコアによるバスの使用要求を受け付けて主制御部に通知する。そして、主制御部は、副制御部から通知を受け付けた場合に、副制御部に対応するIPコアにバスの使用権を割り当てる。
また本発明は、次のような方法としても実現される。この方法は、各々のIPコアとバスとの間の接続を切り替えるセレクタと、プログラム制御によりセレクタによる接続切り替えを制御するシーケンサと、個々のIPコアに対応して個別に設けられ、IPコアによるバスの使用を制御する副制御回路とを備えたバス制御装置により実現される。そして、シーケンサが、予め定められたスケジュールにしたがって、各々のIPコアにバスの使用権を割り当てるステップと、バスの使用権の割り当てに基づき、セレクタによる接続切り替えを制御し、かつ、バスの使用権の割り当てを個々のIPコアに対応する副制御回路に通知するステップとを含み、副制御回路が、シーケンサからの通知にしたがって、IPコアによるデータの送受信を実行するステップを含む。
本発明によれば、予め定められたスケジュールにしたがって各IPコアにバス使用権を割り当てることにより、各IPコアが使用できるバスの使用帯域を予測することができるため、IPコアによるバスの使用のリアルタイム性を保証し、さらにバスの使用効率の向上を図ることが可能となる。
以下、添付図面を参照して、本発明の実施形態について詳細に説明する。
<システム構成>
図1は、本実施形態が適用されるバス制御システムの構成例を示す図である。
図1に示すように、本実施形態のバス制御システムは、バス40の使用権の割り当てを行う主制御部10と、主制御部10の制御下で個々のIPコア30によるバス40の使用を制御する副制御部20とを備える。図1に示す例では、バスを共用するIPコア30は6個記載されている。以下、個々のIPコア30を区別する必要がある場合は、図中の各IPコア30に付された数字を用いて、IPコア30(1)、IPコア30(4)のように記載する。また、図1に示すIPコア30のうち、IPコア30(1)〜(3)はマスターIPであり、IPコア30(4)〜(6)はスレーブIPである。なお、図1においては、各IPコア30の機能を明確にするため、マスターIPであるIPコア30とスレーブIPであるIPコア30とを分けて図示しているが、実際には、物理的に1つのIPコアでありながらマスターIPおよびスレーブIPの機能を共に有するIPコアもある。
主制御部10は、各IPコア30によるバス40の使用のスケジュールを管理するバス・スケジューラ(シーケンサ)11と、バス・スケジューラ11による制御にしたがって各IPコア30とバス40との間の接続を切り換えるマルチプレクサ(セレクタ)12〜14とを備える。また、副制御部20は、IPコア30ごとに設けられたプリ・アービタ21により構成される。以下、個々のプリ・アービタ21を区別する必要がある場合は、図中の各プリ・アービタ21に付されたアルファベットを用いて、プリ・アービタ21A、プリ・アービタ21Dのように記載する。したがって、図示の構成においては、プリ・アービタ21AとIPコア30(1)、プリ・アービタ21BとIPコア30(2)、プリ・アービタ21CとIPコア30(3)、プリ・アービタ21DとIPコア30(4)、プリ・アービタ21EとIPコア30(5)、プリ・アービタ21FとIPコア30(6)が、それぞれ対応して設けられている。
バス・スケジューラ11は、予め設定されたタイム・スライスに合わせてマルチプレクサ12〜14の接続を切り替える。また、バス・スケジューラ11は、このタイムスライスに合わせてプリ・アービタ21に対して制御信号を送信し、各IPコア30にバスの使用権を割り当てる。バス40の使用権を割り当てる順番やタイム・スライスの設定は、バス・スケジューラ11を制御するコントロール・プログラムにより行われる。すなわち、本実施形態では、コントロール・プログラムによるソフトウェア制御に基づいて、各IPコア30にバス40の使用権が分配される。各IPコア30にバス40の使用権を割り当てるためのスケジューリングは、RTOS(リアルタイム・オペレーティング・システム)のタイム・シェアリングと同様の考え方で行えば良い。
マルチプレクサ12は、マスターIPであるIPコア30(1)〜(3)(プリ・アービタ21A〜C)とバス40との接続を切り替えて、IPコア30(1)〜(3)から出力されたコントロール信号をバス40に送出する。
マルチプレクサ13は、マスターIPであるIPコア30(1)〜(3)とバス40との接続を切り替えて、IPコア30(1)〜(3)から出力された書き込みデータをバス40に送出する。
マルチプレクサ14は、スレーブIPであるIPコア30(4)〜(6)とバス40との接続を切り替えて、IPコア30(4)〜(6)から読み出されたデータをバス40に送出する。
プリ・アービタ21は、バス・スケジューラ11に対してバス40の使用をリクエストし、バス・スケジューラ11から制御信号を受信してバス使用権を取得する。また、プリ・アービタ21は、バス・スケジューラ11により与えられたバス使用権にしたがって、IPコア30によるデータの送受信を制御する。具体的には、プリ・アービタ21は、自身に与えられたバス使用権によって使用できるタイム・スライスでのみIPコア30にデータの送受信を実行させ、それ以外では、IPコア30によるデータの送受信を保留させる。
図2は、マスターIP用のプリ・アービタ21(図1の例ではプリ・アービタ21A〜C)の構成を示す図である。
図2に示すように、マスターIP用のプリ・アービタ21は、バス・リクエスト制御ロジック211と、AND回路212、213、214とを備える。
バス・リクエスト制御ロジック211は、バス・スケジューラ11との間で制御信号をやり取りする。具体的には、例えば、バス・スケジューラ11にバス40の使用予告を送信し、バス・スケジューラ11からバス40の使用許可を受信する。また、バス・リクエスト制御ロジック211は、IPコア30にクロック制御信号を送信する。また、バス・リクエスト制御ロジック211は、IPコア30による信号の送受信を制御するための制御信号を出力する。
AND回路212は、IPコア30から出力されたコントロール信号とバス・リクエスト制御ロジック211から出力された制御信号の論理積を取り、バス40へコントロール信号を出力する。
AND回路213は、IPコア30から出力されたバス40の使用要求を通知する信号(バス・リクエスト信号)とバス・リクエスト制御ロジック211から出力された制御信号の論理積を取り、バス・スケジューラ11へバス・リクエスト信号を出力する。
AND回路214は、バス・スケジューラ11から出力されたバス40の使用許可を通知する信号(バス・グラント信号)とバス・リクエスト制御ロジック211から出力された制御信号の論理積を取り、IPコア30へバス・グラント信号を出力する。
図3は、スレーブIP用のプリ・アービタ21(図1の例ではプリ・アービタ21D〜F)の構成を示す図である。
図3に示すように、スレーブIP用のプリ・アービタ21は、バス・リクエスト制御ロジック211と、AND回路215、216、217とを備える。バス・リクエスト制御ロジック211は、図2に示したマスターIP用のプリ・アービタ21におけるバス・リクエスト制御ロジック211と同様である。
AND回路215は、バス40から取得したコントロール信号とバス・リクエスト制御ロジック211から出力された制御信号の論理積を取り、IPコア30へコントロール信号を出力する。
AND回路216は、IPコア30から出力されたバス・グラント信号とバス・リクエスト制御ロジック211から出力された制御信号の論理積を取り、バス・スケジューラ11へバス・グラント信号を出力する。
AND回路217は、バス・スケジューラ11から出力されたバス・リクエスト信号とバス・リクエスト制御ロジック211から出力された制御信号の論理積を取り、IPコア30へバス・リクエスト信号を出力する。
<バス制御システムの動作>
次に、本実施形態のバス制御システムの動作について説明する。
図4は、バス・スケジューラ11によるバス使用権の割り当ての動作を示すフローチャートである。
バス・スケジューラ11は、まず、マスターIPであるIPコア30を識別する番号である変数N(図1に示した例ではN=1〜3)の値を初期化(N=1)する(ステップ401)。そして、IPコア30(N)からバス40の使用要求がなされているか否かを判断する(ステップ402)。具体的には、バス・スケジューラ11は、IPコア30(N)に割り当てられたタイム・スライスにおいて、IPコア30(N)に対応するプリ・アービタ21に制御信号を送信する。そして、プリ・アービタ21のバス・リクエスト制御ロジック211から出力される制御信号によってAND回路213からバス・リクエスト信号が出力されるか否かを識別する。バス・スケジューラ11は、このバス・リクエスト信号を受け付けた場合に、IPコア30(N)からバス40の使用要求がなされていると判断する。
バス40の使用要求がなされていない場合、バス・スケジューラ11は、変数Nの値を1加算する(ステップ406)。そして、変数Nの値がIPコア30の数(最大値)を越えていなければ(ステップ407でNo)、ステップ406で更新された変数Nの値でステップ402の判断を行う。一方、変数Nの値がIPコア30の数(最大値)を越えた場合は(ステップ407でYes)、ステップ401に戻って変数Nの値を初期化し、ステップ402の判断を行う。すなわち、バス・スケジューラ11は、各IPコア30を循環的に切り替えながら、バス40の使用要求がなされているか否かを順次判断するループ処理を行う。
ステップ402でIPコア30(N)からバス40の使用要求がなされている場合、バス・スケジューラ11は、IPコア30(N)に対してバス40の使用許可(バス使用権)を与える(ステップ403)。具体的には、バス・スケジューラ11は、IPコア30(N)に対応するプリ・アービタ21にバス・グラント信号とバス・リクエスト制御ロジック211の制御信号を送信する。この制御信号により、バス・リクエスト制御ロジック211は、IPコア30(N)へクロック制御信号を送信し、AND回路214からIPコア30(N)へバス・グラント信号を出力する。
また、バス・スケジューラ11は、IPコア30(N)に対応するプリ・アービタ21のバス・リクエスト制御ロジック211を制御してIPコア30(N)のコントロール信号を出力可能とし、かつマルチプレクサ12〜14の接続を、IPコア30(N)によるバス40を使用したデータ転送が可能となるように切り替える。
ところで、バス・スケジューラ11がIPコア30(N)に対してバス40の使用許可を与えるためには、IPコア30(N)のアクセス対象であるスレーブIPのIPコア30がアクセスを受け付けられることを認識する必要がある。そこで、バス・スケジューラ11は、このIPコア30に対応するプリ・アービタ21を制御して、このIPコア30からバス・グラント信号を出力させる。IPコア30からバス・グラント信号を取得したならば、このIPコア30はアクセスを受け付けられる状態であるので、IPコア30(N)のプリ・アービタ21およびマルチプレクサ12〜14に対して上記の動作を行ってバス使用権を与える。この、IPコア30(N)からのリクエストを受け付けてアクセス対象のIPコア30の状態を確認し、IPコア30(N)にバス使用権を与えるまでの動作は、いわゆるアービトレーション・サイクルである。本実施形態において、このアービトレーション・サイクルは、IPコア30(N)によるバス40を使用したアクセスとは別個に行われており、タイム・スライスの経過によって中断はされない。
次に、バス・スケジューラ11は、データの転送サイクルとしてIPコア30(N)に与えられたタイム・スライスが終了したか否かを判断する(ステップ404)。そして、IPコア30(N)のタイム・スライスが終了したならば、IPコア30(N)に与えられたバス40の使用許可を解除する(ステップ405)。具体的には、バス・スケジューラ11は、IPコア30(N)に対応するプリ・アービタ21にバス・リクエスト制御ロジック211の制御信号を送信する。そして、例えばIPコア30(N)へのクロック制御信号によりIPコア30(N)の動作クロックを停止させて、IPコア30(N)からのデータ転送を停止させる。
この後、バス・スケジューラ11は、変数Nの値を1加算する(ステップ406)。そして、変数Nの値がIPコア30の数(最大値)を越えていなければ(ステップ407でNo)、ステップ406で更新された変数Nの値でステップ402の判断を行う。一方、変数Nの値がIPコア30の数(最大値)を越えた場合は(ステップ407でYes)、ステップ401に戻って変数Nの値を初期化し、ステップ402の判断を行う。
ここで、再度図1を参照し、バス・スケジューラ11によるバス使用権の割り当ての動作について、さらに具体的に説明する。
図1に示すIPコア30(1)がバス40の使用要求(リクエスト)を行ったものとする。また、IPコア30(1)がバス40を使用して行う動作は、IPコア30(4)へのデータ書き込みであるものとする。
IPコア30(1)に対応するプリ・アービタ21(A)は、バス・スケジューラ11によりバス使用権を与えられるまで、IPコア30(1)のリクエストを保留し続ける。また、プリ・アービタ21(A)は、バス・リクエスト信号をバス・スケジューラ11に送信し、リクエストがあることを通知する。これにより、図4のフローチャートにおけるステップ402でYesの状態となった。
バス・スケジューラ11は、IPコア30(1)にタイム・スライスを割り当てる順番になったならば、プリ・アービタ21(A)にバス使用権を与える。そして、マルチプレクサ12、13を切り替え、IPコア30(1)からのコントロール信号をバス40へ伝播させる。バス40へ伝播されたコントロール信号に含まれるアドレス信号によって、アクセス対象がIPコア30(4)に特定されるので、IPコア30(4)が応答し、データ書き込みが開始される。なお、ここではアクセスの内容がデータ書き込みであるため、マルチプレクサ12、13の接続の切り替えが行われたが、データの読み出しが行われる場合には、マルチプレクサ14の接続の切り替えも行われる。
バス・スケジューラ11は、IPコア30(1)のバス使用権として割り当てたタイム・スライスの消費状況を監視する。そして、与えられたバス使用権の間にIPコア30(1)からIPコア30(4)へのアクセスが終了しない場合は、IPコア30(1)によるアクセスを一旦停止させる。これは、図4のステップ405において説明したように、例えば、バス・スケジューラ11がプリ・アービタ21(A)を制御して、IPコア30(1)の動作クロックを停止させることによって行われる。
バス・スケジューラ11は、IPコア30(1)のアクセスを停止させた後、バス使用権を次のIPコア30(2)に切り替える。このとき、IPコア30(2)がバス40の使用をリクエストしていれば、IPコア30(2)にバス使用権が与えられ、IPコア30(2)によるアクセスが実行される。IPコア30(2)がバス40の使用をリクエストしていない場合、順次、次のIPコア30へバス使用権が切り替えられる。そして、IPコア30(1)以外のIPコア30がバス40の使用をリクエストしていない場合、再度IPコア30(1)にバス使用権が与えられて、IPコア30(1)によるアクセスが再開(継続)されることとなる。
<バス使用権の割り当て方法>
次に、本実施形態による各IPコア30へのバス使用権の割り当て方法について説明する。
図5は、本実施形態によるバス40の使用状況の例を示す図である。また、図6には、本実施形態と比較するため、図5と同様にIPコア30からバス40の使用要求がなされた場合の、従来のバス制御システムによるバス40の使用状況の例を示す。
図5において、各IPコア30にデータの転送サイクルとして割り当てられるタイム・スライスは、2であるものとする。すなわち、データ転送時には、タイム・スライスの2つ分を1単位として、この単位ごとにバス使用権の切り替えが可能となる。また、同図において、IPコア30に対して、バス40の使用要求を行った順にIPコア(1)〜(4)という番号を付して区別する。なお、これらの番号は、図5および図6の説明において便宜的に付したものであり、図1に示した番号を意味していない。例えば、図1のIPコア30(4)はスレーブIPとして記載されているが、図5および図6のIPコア(4)はバス使用権のリクエストを行うマスターIPであり、図1のIPコア30(4)とは異なっている。
さらに、同図において、各IPコア30による転送サイクルのうち、データ転送の準備(転送先のIPコア30の状況確認等)のためのアービトレーション・サイクルを「Arb」、実際にデータを転送するデータ転送サイクルを「Data」と記載し、IPコア(1)〜(4)に対応させて1〜4の数字を付している。各IPコア30からバス・スケジューラ11へバス・リクエスト信号が転送されるリクエスト・サイクルは「Req」と記載し、他の転送サイクルと同様に1〜4の数字を付している。
図5に示す例では、まずIPコア(1)からのリクエスト(バス40の使用要求)に応じて、IPコア(1)にバス40の使用権が与えられ、アービトレーション・サイクル「Arb1」の後、データ転送サイクル「Data1」が行われる。このデータ転送は、タイム・スライス1つ分で終了する(図5において「IPコア(1)による転送サイクル」と記載された箇所)。
次に、IPコア(2)からリクエストがなされる。このとき、IPコア(1)による転送サイクルは終了しているので、リクエストに応じて、IPコア(2)にバス40の使用権が与えられ、アービトレーション・サイクル「Arb2」の後、データ転送サイクル「Data2」が行われる。このデータ転送は、タイム・スライスの8つ分、すなわち4単位を要する。
IPコア(2)についてタイム・スライスの1単位分のデータ転送(図5において「IPコア(2)による転送サイクル1」と記載された箇所)が終了した時点で、IPコア(3)からリクエストがなされたものとする。すると、タイム・スライスは1単位ごとに各IPコア30に割り当てられるため、バス使用権はIPコア(3)に切り替わる。図5において太い矢印で示された位置でバス使用権の切り替えが行われる。
IPコア(3)によるデータ転送は、タイム・スライスの2つ分、すなわち1単位で終了する(図5において「IPコア(3)による転送サイクル」と記載された箇所)。この時点で、他のIPコア30からリクエストがなされていないため、バス・スケジューラ11は、未だ実行すべきデータ転送が残っているIPコア(2)にバス使用権を与える。図5において破線の矢印で示された位置でバス使用権の切り替えが行われる。このバス使用権の切り替えは、IPコア(2)からのリクエストによるものではなく、バス・スケジューラ11のスケジューリングによるものである。そのため、アービトレーション・サイクルを経ずに、直ちにIPコア(2)のデータ転送サイクルに切り替わる。
IPコア(2)にバス使用権が与えられて1単位分のデータ転送が行われると、バス・スケジューラ11は、バス使用権の切り替えを行う。しかし、この時点では他のIPコア30からリクエストはなされておらず、データ転送を中断されているIPコア30もないため、再びIPコア(2)にバス使用権が与えられる。この結果、実際にはバス使用権は切り替わらず、IPコア(2)によるデータ転送が継続されることとなる(図5において「IPコア(2)による転送サイクル2、3」と記載された箇所)。
IPコア(2)による2単位分のデータ転送が終了した時点で、IPコア(4)からリクエストがなされたものとする。すると、タイム・スライスは1単位ごとに各IPコア30に割り当てられるため、バス使用権はIPコア(4)に切り替わる。このバス使用権の切り替えは、IPコア(4)のリクエストによるものであるため、図5において太い矢印で示されている。このデータ転送は、タイム・スライスの4つ分、すなわち2単位を要する。
IPコア(4)にバス使用権が与えられて1単位分のデータ転送が行われると、バス・スケジューラ11は、バス使用権の切り替えを行う。この時点ではIPコア(2)によるデータ転送が残っているため、IPコア(2)にバス使用権が切り替わる(図5において「IPコア(4)による転送サイクル1」、「IPコア(2)による転送サイクル4」と記載された箇所)。このバス使用権の切り替えは、バス・スケジューラ11のスケジューリングによるものであるため、図5において破線の矢印で示されている。
IPコア(2)にバス使用権が与えられて1単位分のデータ転送が行われると、バス・スケジューラ11は、バス使用権の切り替えを行う。この時点ではIPコア(4)によるデータ転送が残っているため、IPコア(4)にバス使用権が切り替わる(図5において「IPコア(4)による転送サイクル2」と記載された箇所)。このバス使用権の切り替えは、バス・スケジューラ11のスケジューリングによるものであるため、図5において破線の矢印で示されている。
以上の動作によって、IPコア(2)およびIPコア(4)によるデータ転送が終了する。ここで、IPコア(2)およびIPコア(4)によるデータ転送がさらに多くのタイム・スライスを要する場合、さらに他のIPコア30からリクエストがなされない限り、1単位分のタイム・スライスごとに、IPコア(2)によるデータ転送とIPコア(4)によるデータ転送とが交互に行われることとなる。
以上のように、本実施形態によれば、各IPコア30にタイム・スライスが割り当てられ、一定の単位ごとにバス使用権の切り替えが行われるため、スケジュールされた時にプリ・アービタ21により転送が保留されているデータがあれば、バス使用権が切り替わって必ず転送が行われる。タイム・スライスにより転送サイクルが保証されるので、ハードリアルタイム性が保証されると共に、各IPコア30に割り当てられたバス40のバンド(バスの使用帯域)幅が確保される。
これに対し、図6に示す従来のバス制御方法では、一度他のIPコア30にバス使用権を渡してしまうと、次にいつバス使用権を与えられるかわからない。そのため、自身の転送サイクルの実行中に他のIPコア30からリクエストがなされても、割り込みを許すことはできない。そのため、図6において、IPコア(3)は、リクエストを行っても直ちにデータ転送を行うことはできず、IPコア(2)による転送サイクルが全て終了した後にバス使用権を与えられている。IPコア(4)も同様に、IPコア(3)による転送サイクルが全て終了した後にバス使用権を与えられている。そのため、IPコア(3)およびIPコア(4)のデータ転送においては、ハードリアルタイム性やバンド幅の保証が困難である。
以上、本実施形態について説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。例えば、副制御部20を構成するプリ・アービタ21は、バス・スケジューラ11の制御下で個々のIPコア30によるアクセスの実行および保留を制御するものであれば良く、その具体的な回路構成は図2、3に示したものに限らない。その他、上記実施形態に、種々の変更または改良を加えたものも、本発明の技術的範囲に含まれることは、特許請求の範囲の記載から明らかである。
本実施形態が適用されるバス制御システムの構成例を示す図である。 本実施形態のマスターIP用のプリ・アービタの構成を示す図である。 本実施形態のスレーブIP用のプリ・アービタの構成を示す図である。 本実施形態のバス・スケジューラによるバス使用権の割り当ての動作を示すフローチャートである。 本実施形態によるバスの使用状況の例を示す図である。 従来のバス制御システムによるバスの使用状況の例を示す図である。 従来のバス制御システムの構成を模式的に示す図である。
10…主制御部、11…バス・スケジューラ、12、13、14…マルチプレクサ、20…副制御部、21…プリ・アービタ、30…IPコア、40…バス

Claims (10)

  1. 複数のIPコアによるバスの使用権を制御する装置において、
    予め定められたスケジュールにしたがって、各々の前記IPコアと前記バスとの間の接続を切り替える主制御部と、
    個々の前記IPコアに対応して個別に設けられ、前記スケジュールにしたがって、当該IPコアによる前記バスの使用を制御する副制御部と、
    を備える、装置。
  2. 前記主制御部は、前記スケジュールにしたがって、各々の前記IPコアに前記バスの使用権を割り当てて、当該IPコアに対応する各々の前記副制御部に通知し、
    前記副制御部は、前記主制御部からの通知にしたがって、前記IPコアによるデータの送受信を実行する、
    請求項1に記載の装置。
  3. 前記スケジュールは、予め設定されたタイム・スライスに基づいて定められる、請求項1または請求項2に記載の装置。
  4. 前記主制御部は、
    各々の前記IPコアと前記バスとの間の接続を切り替えるセレクタと、
    プログラム制御により前記セレクタによる接続切り替えを制御するシーケンサと、
    を備える、請求項1乃至請求項3のいずれかに記載の装置。
  5. 前記主制御部は、前記スケジュールにしたがって、各々の前記IPコアに対応する各々の前記副制御部に、前記バスを使用可能であることを通知し、
    前記副制御部は、前記主制御部からの通知により特定されるタイム・スライスにおいて前記IPコアによるデータの送受信を実行し、当該タイム・スライス以外では当該IPコアによるデータの送受信を留保する、
    請求項2に記載の装置。
  6. 前記副制御部は、前記IPコアによる前記バスの使用要求を受け付けて前記主制御部に通知し、
    前記主制御部は、前記副制御部から前記通知を受け付けた場合に、当該副制御部に対応する前記IPコアに前記バスの使用権を割り当てる、請求項2に記載の装置。
  7. 複数のIPコアによるバスの使用権を制御する装置において、
    所定のタイム・スライスに基づき予め定められたスケジュールにしたがって、各々の前記IPコアと前記バスとの間の接続を切り替え、かつ、各々の当該IPコアに前記バスの使用権を割り当てて通知する主制御部と、
    個々の前記IPコアに対応して個別に設けられ、当該IPコアによる前記バスの使用要求を受け付けて前記主制御部に通知し、前記主制御部からの前記使用権の割り当てに関する前記通知を受け付けて、割り当てられた前記使用権に基づいて特定されるタイム・スライスにおいて前記IPコアによるデータの送受信を実行し、当該タイム・スライス以外では当該IPコアによるデータの送受信を留保する副制御部と、
    を備える、装置。
  8. バス制御装置を用いて複数のIPコアによるバスの使用権を制御する方法において、
    前記バス制御装置が、
    各々の前記IPコアと前記バスとの間の接続を切り替えるセレクタと、
    プログラム制御により前記セレクタによる接続切り替えを制御するシーケンサと、
    個々の前記IPコアに対応して個別に設けられ、当該IPコアによる前記バスの使用を制御する副制御回路とを備え、
    前記シーケンサが、
    予め定められたスケジュールにしたがって、各々の前記IPコアに前記バスの使用権を割り当てるステップと、
    前記バスの使用権の割り当てに基づき、前記セレクタによる接続切り替えを制御し、かつ、当該バスの使用権の割り当てを個々の前記IPコアに対応する前記副制御回路に通知するステップとを含み、
    前記副制御回路が、前記シーケンサからの通知にしたがって、前記IPコアによるデータの送受信を実行するステップを含む、方法。
  9. 前記シーケンサが前記バスの使用権の割り当てを前記副制御回路に通知する前記ステップでは、当該シーケンサは、前記スケジュールに基づき、各々の前記IPコアに対応する各々の前記副制御回路に、前記バスを使用可能なタイム・スライスの情報を通知し、
    前記副制御回路が前記IPコアによるデータの送受信を実行する前記ステップでは、当該副制御回路は、前記シーケンサからの通知により特定されるタイム・スライスにおいて前記IPコアによるデータの送受信を実行し、当該タイム・スライス以外では当該IPコアによるデータの送受信を留保する、
    請求項8に記載の方法。
  10. 前記副制御回路が、前記IPコアによる前記バスの使用要求を受け付けて前記シーケンサに通知するステップをさらに含み、
    前記シーケンサが前記バスの使用権の割り当てを前記副制御回路に通知する前記ステップでは、当該シーケンサは、前記バスの使用要求を通知した前記副制御回路に対して前記バスの使用権の割り当てを通知する、請求項8または請求項9に記載の方法。
JP2009006827A 2009-01-15 2009-01-15 バスの使用権を制御する装置および方法 Pending JP2010165175A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009006827A JP2010165175A (ja) 2009-01-15 2009-01-15 バスの使用権を制御する装置および方法
US12/684,141 US8185679B2 (en) 2009-01-15 2010-01-08 Controlling bus access

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009006827A JP2010165175A (ja) 2009-01-15 2009-01-15 バスの使用権を制御する装置および方法

Publications (1)

Publication Number Publication Date
JP2010165175A true JP2010165175A (ja) 2010-07-29

Family

ID=42319819

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009006827A Pending JP2010165175A (ja) 2009-01-15 2009-01-15 バスの使用権を制御する装置および方法

Country Status (2)

Country Link
US (1) US8185679B2 (ja)
JP (1) JP2010165175A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012168808A (ja) * 2011-02-15 2012-09-06 Fujitsu Semiconductor Ltd データ転送システム,データ転送スケジューリングプログラム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8856415B2 (en) * 2012-02-01 2014-10-07 National Instruments Corporation Bus arbitration for a real-time computer system
WO2014041395A1 (en) 2012-09-12 2014-03-20 Freescale Semiconductor, Inc. System-on-chip device, method of peripheral access and integrated circuit
US9904802B2 (en) * 2012-11-23 2018-02-27 Nxp Usa, Inc. System on chip
US9781120B2 (en) 2013-07-18 2017-10-03 Nxp Usa, Inc. System on chip and method therefor
US9690719B2 (en) 2014-09-11 2017-06-27 Nxp Usa, Inc. Mechanism for managing access to at least one shared integrated peripheral of a processing unit and a method of operating thereof

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63244161A (ja) * 1987-03-27 1988-10-11 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン Dmaアクセスが可能なコンピユータ・システム
JPH05242047A (ja) * 1992-03-02 1993-09-21 Meidensha Corp マルチ・プロセッサ・システムの直列調停方法およびその装置
JPH06332850A (ja) * 1993-05-27 1994-12-02 Hitachi Ltd システムバス及びその制御装置
JPH08228200A (ja) * 1994-11-29 1996-09-03 Compaq Computer Corp データ転送を含む動作を制御する際に使用するアービタ及びデータ転送を含む動作を調停するための方法
JPH10275131A (ja) * 1997-03-28 1998-10-13 Nec Corp バス調停回路
JP2002082900A (ja) * 2000-09-07 2002-03-22 Nippon Telegr & Teleph Corp <Ntt> バス調停方法及びバス調停システム装置
JP2002539509A (ja) * 1999-01-08 2002-11-19 インテル・コーポレーション 統合されたメモリ・アーキテクチャにおけるアービトレーションのための方法および装置
JP2003233583A (ja) * 2002-02-08 2003-08-22 Nec Corp 分散型調停システム、及び分散型調停方法
JP2006323760A (ja) * 2005-05-20 2006-11-30 Sony Computer Entertainment Inc 情報処理装置、システム、方法およびプロセッサ
WO2007022019A2 (en) * 2005-08-11 2007-02-22 P.A. Semi, Inc. Partially populated, hierarchical crossbar

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7054969B1 (en) * 1998-09-18 2006-05-30 Clearspeed Technology Plc Apparatus for use in a computer system
US6701397B1 (en) * 2000-03-21 2004-03-02 International Business Machines Corporation Pre-arbitration request limiter for an integrated multi-master bus system
KR100708096B1 (ko) * 2000-07-21 2007-04-16 삼성전자주식회사 버스 시스템 및 그 실행 순서 조정방법
US6804738B2 (en) * 2001-10-12 2004-10-12 Sonics, Inc. Method and apparatus for scheduling a resource to meet quality-of-service restrictions
JP2004265265A (ja) * 2003-03-04 2004-09-24 Matsushita Electric Ind Co Ltd データ転送制御装置
US7231475B1 (en) * 2004-01-30 2007-06-12 Cisco Technology, Inc. Advanced bandwidth allocation in PCI bus architecture
US7356631B2 (en) * 2005-01-21 2008-04-08 Himax Technologies, Inc. Apparatus and method for scheduling requests to source device in a memory access system
US7249210B2 (en) * 2005-03-01 2007-07-24 Qualcomm Incorporated Bus access arbitration scheme
US7779188B2 (en) * 2005-03-22 2010-08-17 Intel Corporation System and method to reduce memory latency in microprocessor systems connected with a bus
WO2007071889A1 (en) * 2005-12-22 2007-06-28 Arm Limited Arbitration method reordering transactions to ensure quality of service specified by each transaction
US7743197B2 (en) * 2006-05-11 2010-06-22 Emulex Design & Manufacturing Corporation System and method for virtualizing PCIe devices
JP4621604B2 (ja) * 2006-02-20 2011-01-26 株式会社東芝 バス装置、バスシステムおよび情報転送方法
US8370552B2 (en) * 2008-10-14 2013-02-05 Nvidia Corporation Priority based bus arbiters avoiding deadlock and starvation on buses that support retrying of transactions

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63244161A (ja) * 1987-03-27 1988-10-11 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン Dmaアクセスが可能なコンピユータ・システム
JPH05242047A (ja) * 1992-03-02 1993-09-21 Meidensha Corp マルチ・プロセッサ・システムの直列調停方法およびその装置
JPH06332850A (ja) * 1993-05-27 1994-12-02 Hitachi Ltd システムバス及びその制御装置
JPH08228200A (ja) * 1994-11-29 1996-09-03 Compaq Computer Corp データ転送を含む動作を制御する際に使用するアービタ及びデータ転送を含む動作を調停するための方法
JPH10275131A (ja) * 1997-03-28 1998-10-13 Nec Corp バス調停回路
JP2002539509A (ja) * 1999-01-08 2002-11-19 インテル・コーポレーション 統合されたメモリ・アーキテクチャにおけるアービトレーションのための方法および装置
JP2002082900A (ja) * 2000-09-07 2002-03-22 Nippon Telegr & Teleph Corp <Ntt> バス調停方法及びバス調停システム装置
JP2003233583A (ja) * 2002-02-08 2003-08-22 Nec Corp 分散型調停システム、及び分散型調停方法
JP2006323760A (ja) * 2005-05-20 2006-11-30 Sony Computer Entertainment Inc 情報処理装置、システム、方法およびプロセッサ
WO2007022019A2 (en) * 2005-08-11 2007-02-22 P.A. Semi, Inc. Partially populated, hierarchical crossbar
JP2009505241A (ja) * 2005-08-11 2009-02-05 ピイ・エイ・セミ・インコーポレーテッド 部分的にポピュレートされる階層型クロスバ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012168808A (ja) * 2011-02-15 2012-09-06 Fujitsu Semiconductor Ltd データ転送システム,データ転送スケジューリングプログラム

Also Published As

Publication number Publication date
US8185679B2 (en) 2012-05-22
US20100180056A1 (en) 2010-07-15

Similar Documents

Publication Publication Date Title
US10949266B2 (en) Synchronization and exchange of data between processors
JP4480427B2 (ja) リソース管理装置
EP2548127B1 (en) Requests and data handling in a bus architecture
JP2010165175A (ja) バスの使用権を制御する装置および方法
JP4907166B2 (ja) リソース管理装置
CN106856663B (zh) 半导体装置
JP2008234659A (ja) 通信チャネルを介して送られるメッセージ間の調停を行うデータ処理装置および方法
JP2007200245A (ja) システムバス制御装置、集積回路およびデータ処理システム
US20030156597A1 (en) Method and apparatus for speculative arbitration
US20100223409A1 (en) Bus arbitration apparatus and method
JP4184614B2 (ja) バスシステム及びその実行順序の調整方法
JP2004199698A (ja) 複数の割込発生源から生じる割込要求の優先順位決定用割込制御装置ならびに割込制御方法
US20070156937A1 (en) Data transfer in multiprocessor system
JP5726006B2 (ja) タスクおよびリソースのスケジューリング装置及びその方法並びに制御装置
JP2004246862A (ja) リソース管理装置
US11113101B2 (en) Method and apparatus for scheduling arbitration among a plurality of service requestors
JP2006254434A (ja) データスイッチとデータ伝送方法
KR100973419B1 (ko) 버스 중재 방법 및 장치
JP2013041361A (ja) リソース調停システム及び調停方法
JP2011059915A (ja) 半導体装置
JP2004355271A (ja) データ転送システム
JP7170957B2 (ja) 分散処理システム、分散処理方法、分散処理プログラムおよびスケジューリング装置
JP2006251875A (ja) バス調停装置及びバス調停方法
JP2006215621A (ja) Dma制御装置
JP2004038767A (ja) バス調停装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110419

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110531

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20110531