JP5383159B2 - バス中継装置及び制御方法 - Google Patents

バス中継装置及び制御方法 Download PDF

Info

Publication number
JP5383159B2
JP5383159B2 JP2008298651A JP2008298651A JP5383159B2 JP 5383159 B2 JP5383159 B2 JP 5383159B2 JP 2008298651 A JP2008298651 A JP 2008298651A JP 2008298651 A JP2008298651 A JP 2008298651A JP 5383159 B2 JP5383159 B2 JP 5383159B2
Authority
JP
Japan
Prior art keywords
read
write
channel
master
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.)
Active
Application number
JP2008298651A
Other languages
English (en)
Other versions
JP2010124439A (ja
Inventor
利秋 南
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2008298651A priority Critical patent/JP5383159B2/ja
Publication of JP2010124439A publication Critical patent/JP2010124439A/ja
Application granted granted Critical
Publication of JP5383159B2 publication Critical patent/JP5383159B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)
  • Memory System (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、システム内の複数のモジュール間を接続するバス中継装置及び制御方法に関する。
近年、プロセスの微細化が進み、LSI(Large Scale Integration)に内蔵される回路規模は数千万ゲートに達するようになった。一方、デバイスサイズの微細化の影響により様々な問題が顕著になってきている。その中でも、とりわけ配線遅延の増大は重要な問題である。このLSI内部の配線遅延から大きな影響を受けるものとして、モジュール間を配線により接続するシステムバスが挙げられる。
今日、LSI内部のシステムバスとしては英国ARM社の規定するAMBA(Advanced Microcontroller Bus Architecture、バージョン2.0)、又はその規格の中のバスの1つであるAHBが業界標準となっている。AHB(Advanced High Performance Bus)はいわゆる共有バス構造をとっており、複数のバスマスタと複数のスレーブとが単一のバス構造によって接続されている。このバス構造は、アドレスデコーダやマルチプレクサ、デマルチプレクサといった要素により構成されている。AHBは共有バスであるので、全てのマスタ、あるいは全てのスレーブが同一のバス信号を同時に観測できるように、同一信号の配線をLSI内部で長い距離に渡って引き回すことになる。AHBはこのような構成を取るため、前述のように配線遅延が問題となってきている現在、動作周波数を上げることが困難になってきている。
そこで、新たなバス規格として、ARM社が規定したAMBAバージョン3.0 AXIプロトコルと、OCP−IPにより規定されたOCPプロトコルとの2つが、次世代のシステムLSI標準バスの候補として注目を集めている。なお、OCP−IPとは、Open Core Protocol International Partnershipである。
AXI(Advanced eXtensible Interface)プロトコルは、AHBのような共有バス構造ではなく、イニシエータとターゲット間のポイントトゥーポイントでの接続を規定したプロトコルである。AXIプロトコルはアドレス、コマンド、データがそれぞれ別チャネルに分離されており、それぞれのチャネル毎にValid信号とReady信号とを用いた簡単な2線ハンドシェークによって送信する。すなわちイニシエータがアサートするValid信号とターゲットのアサートするReady信号との両者が同時にアサートされているサイクルで一つの転送が成立する。
なお、AXIはプロトコルの規定であってバス接続網の実装までは規定していない。通常はクロスバー構造や、マルチレイヤ構造などでの実現が想定される。ARM社は自社のIPコアとしてマルチレイヤ構造のPrimeCell PL300を供給している。
図6は、クロスバー構造を用いたシステムLSIの基本的な構成例を示すブロック図である。
図6において、101はバス接続網であり、ここではクロスバー構造をとっているため、任意のマスタと任意のスレーブとの間を同時多重に接続することができる。ただし、一つのバスマスタは同時に一つのバススレーブとのみ接続できる。
102〜105はバスマスタであり、リード・ライトコマンドを生成しスレーブにアクセスする。106〜109はバススレーブである。110及び111はバスブリッジであり、それぞれ別のバスに接続されたバスマスタ、バススレーブとの間のデータ転送を媒介する。
AXIプロトコルでは、1つの信号をライトアドレス、リードアドレス、ライトデータ、ライトレスポンス、リードデータから成る5つのチャネルに分割している。そして、それらは他のチャネルと直接的には依存関係が無く、各々独立して動作できるようになっている。すなわち、マスタからスレーブに向けてライトアドレスチャネルを通じライト転送のアドレスを送信している間にも、スレーブからマスタに対しリードデータを送信することが可能である。その他のチャネル間も同様である。AXIプロトコルで規定される信号のリストを以下の表1に示す。
Figure 0005383159
このように、AXIはアドレス・コマンド転送フェーズとデータ転送フェーズとが分離されているため、バス自身の制約によって性能が制限されることがなく高効率な転送を行うことができる。また、各チャネルには転送毎にIDが付与可能で、これによりアドレス・コマンド転送の順番とその処理の順序とが異なるアウトオブオーダ転送をサポートしている。
例えば、リードの場合には、マスタは特定のIDを付与したリードアドレス転送をリードアドレスチャネルを通じて発行する。その転送のアドレスに割当てられているスレーブは、そのリードコマンドに対する応答として、同一のIDを持ったリードデータ転送をリードデータチャネルを介して当該マスタに対して行う。そのマスタは、複数のアドレス転送を応答が未完了のまま発行することができるが、リードデータのIDを識別することによっていずれのリードアドレス転送に対するリード応答であるかを知ることができる。ライトの場合も同様に、一回の転送に対し、ライトアドレス、ライトデータ、ライトレスポンスの各チャネルにつき同一のIDを用いる。
さて、前述のAXIプロトコルがサポートする、アウトオブオーダ転送の効果は以下のような場合に得られる。1つは、マスタが複数のスレーブに対して同時にアクセス要求を発行する場合である。
一般にスレーブがリード要求ないしライト要求を処理するのに要する時間はスレーブ毎に異なるため、マスタが一時に複数の要求を発行した場合、それら要求に対するリードデータ転送あるいはライトレスポンス転送は順不同で行われる可能性がある。したがって、アウトオブオーダをサポートしないシステムにおいては、複数のスレーブに対するアクセスは同時に並行して行うことができず、必ず順序に従って行わなければならない。アウトオブオーダをサポートするシステムであればその制約は無くなり、複数スレーブを同時並行してアクセスできるため、効率を上げることができる。
もう1つは、スレーブが自身の処理効率を高めるため、コマンドを受け取った順とは異なる順番で処理を行う場合である。このようなスレーブの代表例としてSDRAMやDDR−SDRAMをサポートするメモリコントローラが挙げられる。
今日のSDRAM系のデバイスは内部が複数のバンクに分割されており、それぞれが独立して動作できるという特徴を持っている。さらに各バンクの内部は複数のページから構成されている。SDRAMへのアクセスは、まず1つのページをオープンすることから始まる。これはページに対応するアドレス情報と共にRAS信号をSDRAMに入力することにより行われる。
一旦ページがオープンされると、(ライトの場合はWE信号と共に)CAS信号によってページ内のデータを高速かつランダムにアクセスすることが可能である。ただし一時にオープンできるページの数はバンクあたり1つのみであるので、アクセスしようとするデータが現在オープンされているページとは別のページに存在する場合は、一旦現ページをクローズする必要がある。これはRAS信号とWE信号(プリチャージコマンド)とを同時にSDRAMに入力することにより行われる。その後、アクセスするページをRAS信号によりオープンする。
これらの信号入力のタイミングはデバイスによって必要最小限の間隔が規定されている。例えば、ページをオープンするためのRAS信号入力と、その後のCAS信号入力との間隔はtRCDで規定される。また、例えばプリチャージコマンドとページオープンコマンドとの最小間隔はtRPで規定されている。
連続してアクセスする場合であって、必要なデータが同一ページにある場合は、CAS信号を続けて入力すればよく、この場合にはSDRAMの最大スループットを引き出すことができ「ページヒット」と呼ばれる。図7には、ページヒットの場合のメモリバスのタイミングを示している。
一方、必要なデータが同一ページに無い場合は「ページミス」と呼ばれ、前述のように一旦プリチャージコマンドを入力し、次いで別のページをオープンした後、ようやくCAS信号を入力できることになる。このページミスが連続すると、SDRAMのスループットは著しく低下する。図8には、ページミスの場合のメモリバスのタイミングを示している。
ただし、2つのページがそれぞれ別のバンクにある場合はこの限りではない。前述のように各バンクは独立して動作することができるので、2番目のページへのアクセスにおいて、1番目のページをクローズする必要はなく、ただちにRAS信号入力により新たなページをオープンすることができる。この場合のタイミングチャートを図9に示す。また、当該ページが既にオープンされている状態にあれば、最短のタイミングでCAS信号を入力することができる。
逆に連続してアクセスされる2つの異なるページが同一バンク内に存在する場合、「バンク衝突」あるいは「バンク競合」と呼ばれる。高度なメモリコントローラは、SDRAMのこのような特性を活かし、マスタから受け取ったコマンドを並び換えることにより、ページミスや「バンク衝突」を回避しようとする。従って、例えば、2つのリードコマンドを連続して受け取った場合、この並び替えによって2番目のリードコマンドの方が先にSDRAMに対して発行されることが有り得る。
ここで注意しなければならないのは、アウトオブオーダ転送をサポートしないバスプロトコルを用いている場合には、コマンドの完了順序を守る必要があるということである。そのためには2番目のリードコマンドに対するリードデータを一時スレーブの内部バッファに格納しておく必要がある。次に、1番目のリードコマンドをSDRAMに発行し、そのリードデータをバスを介してマスタに転送した後、2番目のリードコマンドのリードデータを内部バッファから取り出しマスタに転送するようにしなければならない。その結果、内部バッファ分の回路規模が増大してしまうのみならず、リードデータが内部バッファに滞留されるため、平均リードレイテンシが増加し、性能が低下してしまうことになる。
ところが、アウトオブオーダ転送をサポートするバスプロトコルを用いれば、コマンドを受け取った順序とは無関係にリードデータをマスタに転送できるため、このような不利は生じない。このように、アウトオブオーダ転送をサポートするバスプロトコルを用いると、バスがボトルネックにならず高性能化を達成しやすくなるため、今後は標準的に用いられるようになると考えられる。
以上のように、AXIプロトコルは転送毎のIDを用いてアウトオブオーダ転送を実現している。一方、複数の転送に同一のIDが与えられていた場合は、それらの転送の処理順序は、発行順序と一致することが保証されなければならない。これはバス接続網とスレーブとに課せられた責務であり、マスタは順次処理が必要な場合は同一のIDを付与したコマンドを発行するだけである。
ただし、AXIプロトコルの場合、これが可能なのは転送がライトあるいはリードの同一種類の場合についてであり、ライトとリードとのチャネル間では、互いのIDには関係が無い。すなわち同一のIDが付与されていてもそれらの間の処理順序は規定されない。
そこでマスタがリードとライトの間で処理順序の保証を必要とする場合には、次のように動作することがプロトコル仕様上要求されている。即ち、処理順序の保証が必要な2つのリード・ライトあるいはライト・リードのアクセス要求がある場合には、必ず最初のコマンドの処理が完了したことを確認した後、次のコマンドを発行するようにする。
最初のコマンドがリードの場合は、スレーブからリードデータが返るのを待って、次のライトコマンドを発行する。最初のコマンドがライトの場合も、AXIプロトコルはライトレスポンスチャネルを規定しているため、スレーブからライト応答が返るのを待って次のリードコマンドを発行する。このような動作を行う場合、AXIマスタのスループットは大きく低下する可能性がある。
スレーブに依存するが、例えば、スレーブがチップ外部のSDRAMを制御するメモリコントローラであった場合には、リードリターンもライト応答も数十サイクル単位の遅延時間を必要とする。ただし、この動作が必要なのはあくまで依存関係のあるライト−リードあるいはリード−ライトの間においてのみである。このような状況は限定されており、それ以外の場合は、リードもライトも先のコマンドの完了を待つことなく次々にパイプライン的に発行することが可能である。
以上のように動作を行うため、AXIプロトコルを汎用的に用いるためにはライト応答チャネルが必須である。従って、いわゆるポステッドライト動作はできず、必ずライトコマンドの完了をライト応答によってマスタに通知する機能が必要である。
AXIプロトコルに関わるもう一つの特徴は、ロック転送の扱いにある。前述したように通常の転送に置いてはリードチャネルとライトチャネルは独立に動作することができる。
しかしながら、ロック転送の場合は事情が異なる。AXIプロトコルにおいては、ロック転送はリードアドレスチャネルとライトアドレスチャネルとのいずれにおいても開始することが可能である。一旦ロック転送が開始されると、リードアドレスチャネルとライトアドレスチャネルとの両者は一つのマスタにより独占される。また、ロックの解除は、いずれのチャネルによりロックが開始されたかに関わらずどちらのチャネルによっても可能である。これはリードモディファイライトのようなアトミック転送をサポートするために必要な機能である。
ところが、前述のように通常はリードアドレスチャネルとライトアドレスチャネルとは全く独立に動作し得る。従って、同じタイミングで並行して調停動作が行われる。したがって、このときライト側とリード側とでアクセス権を得るマスタは異なり得る。
しかしながら、ロック転送では、一方のチャネルにおいてアクセスを許可された転送要求がロック転送の開始を示していた場合は、もう一方のチャネルにおいては同一のマスタからの転送要求以外は許可を与えないようにしなければならない。このことはリードアドレスチャネルのアービタとライトアドレスチャネルのアービタとの間で連携動作が必要であることを意味する。場合によっては、それぞれのチャネルにおいて別々のマスタからのロック転送が要求されることも起こり得るため、回路構成やタイミングの調整は相当複雑になってしまう。
前述のARM社のインターコネクトIPであるPL300では、この問題に対処するため、アドレスチャネルがリードとライトとで分離していない従来のバスと同様に、マスタ単位で調停を行う。調停スキームは固定優先度調停であり、回路構成は最も簡単になっている。また、そのときアクセス権を得ているマスタからのリード転送要求とライト転送要求とは同時にアクセス権を受けることができる。
しかしながらこの方法では、固定優先度の調停方式であるため、転送要求毎に公平な調停を行うことができない。また、マスタ単位で優先度が与えられ調停されるため、同一マスタのリード要求とライト要求とに対し異なる優先度を与えることもできない。
本発明は前述の問題点に鑑み、AXIプロトコルによりマスタとスレーブとの間を接続するバス中継装置において、ロック転送を扱うための調停回路を簡単化するとともに、転送要求の種類によらず所望の優先順位で調停できるようにすることを目的する。
本発明のバス中継装置は、リードチャネルとライトチャネルとが分離されたプロトコルにより複数のマスタと少なくとも一つのスレーブとの間をクロスバー方式により接続するバス中継装置であって、前記少なくとも一つのスレーブ毎に、ライトアドレスを扱うライトアドレスインターフェースと、リードアドレスを扱うリードデータインターフェースと、複数のマスタからのアクセス要求について、各々のマスタリードアドレスチャネルを介して前記リードデータインターフェースに発行されているリード要求と、各々のマスタがライトアドレスチャネルを介して前記ライトアドレスインターフェースに発行されているライト要求と、のいずれか一方を調停する調停手段を有することを特徴とする。
本発明によれば、AXIプロトコルによりマスタとスレーブ間を接続するバス中継装置において、ロック転送を扱うための調停回路を簡単化でき、さらにリード転送要求、ライト転送要求によらず所望の優先順位で調停を行うことが可能となる。
(第1の実施形態)
以下、本発明の実施形態について、図面を用いて詳細に説明する。
図1は、本実施形態におけるバス中継装置500の構成例を示すブロック図である。
図1において、500は2マスタ×2スレーブ構成のクロスバー方式の接続を行うバス中継装置である。501、502はマスタ側のライトチャネルIFであり、AXIプロトコルにおけるライトアドレスチャネル、ライトデータチャネル、ライトレスポンスチャネルの信号を扱う。また、ライトチャネルIF501、502は、特にアドレスデコード手段を備え、マスタから受け取ったライトコマンドを2つのスレーブIFのうちの1つに対し選択的に転送する。
503、504はマスタ側のリードチャネルIFである。AXIプロトコルにおけるリードアドレスチャネル、リードデータチャネルの信号を扱い、同様にアドレスデコード手段を備えマスタから受け取ったリードコマンドを2つのスレーブIFのうちの1つに対し選択的に転送する。
511、512はスレーブ側のライトチャネルIFであり、513、514はスレーブ側のリードチャネルIFである。また、506、507は調停部であり、それぞれライトチャネルIF511、リードチャネルIF513、ライトチャネルIF512、及びリードチャネルIF514に接続されている。
複数のマスタからのリードアクセス要求とライトアクセス要求とから1つを選択し、スレーブ側に転送するよう動作する。このとき、調停部506、507は調停スキームとしてラウンドロビンを用いるが、本実施形態においては、この際の巡回順に特徴がある。すなわち調停の巡回順としては、リードとライトとが交互であり、かつ任意のマスタのリード要求とライト要求とが最も離れた順番に置かれる。
図1においては、マスタ数が2であるため、巡回順は図2(a)に示すようになる。一般的にマスタの数をNとしそれぞれのマスタのリード要求をM1Rd〜MNRd、ライト要求をM1Wr〜MNWrとすると、
M1Rd → MN/2+1Wr → M2Rd → ... → MN/2Rd → MNWr → ... → MNRd → MN/2Wr → M1Rd
のようになる。N=4の場合は、図2(b)に示す。
次に、具体的な動作タイミングについて、図3を用いて説明する。
図3は、N=4の場合の各マスタからのリード要求、ライト要求が出力されるタイミング及び調停部によりいかに調停されるかを示す図である。
図3においてt0〜t11はAXIプロトコルにおけるクロック周期を単位とする時刻を示している。
まず、時刻t0において、マスタ1からリード要求、マスタ2からリード要求、マスタ4からライト要求が出力される。次に、時刻t1において、調停部506、507は、これら3つの要求を調停する。本実施形態では、まず、マスタ1のリード要求を選択する。マスタ1のリード要求はスレーブ側に転送され、時刻t2でスレーブに受容される。
次に、時刻t2において、再び調停部506、507により調停動作が行われる。前回選択されたのはマスタ1のリード要求であったので、図2(b)に示す巡回順により、今度はマスタ4のライト要求が選択される。
ここで注意すべきことは、選択されたスレーブへのアクセス要求は当該スレーブにより毎クロック周期で受容される必要はなく、スレーブの処理の都合により任意の時間後に受容され得る。例えば、このマスタ4のライト要求は時刻t4においてスレーブに受容される。
本実施形態に係る調停部においては、選択されスレーブ側に転送されたアクセス要求が当該スレーブにより受容されるまで次回の調停動作を保留する。従って次の調停動作は時刻t4において行われる。この間にも新たなアクセス要求が各マスタより出力されており、結果としてマスタ2のリード要求が選択される。
このようにして、本実施形態においては、マスタからのリードアクセス要求、ライトアクセス要求をひとまとめにして調停するとともに、いずれか一方のアクセス要求のみを選択するよう動作する。また、必ずしもリードとライトとが交互に選択されるものでもない。
例えば、図3に示した例においては、マスタ2のリード要求の後にマスタ3のリード要求が選択されている。すなわち、ラウンドロビン調停スキームにおいてリード要求とライト要求とを区別せずに扱う。これにより、リードアクセス要求のみ、ライトアクセス要求のみ、あるいは両方のアクセス要求を同時に行うようなマスタが混在する場合にもより公平なアクセス調停を実現することができる。
次に、マスタがロック転送を要求する場合の動作タイミングについて、図4を用いて説明する。まず時刻t0において、マスタ1からリード要求、マスタ2からリード要求、マスタ4からライト要求が出力されるのは、図3に示す例と同様である。ただし、図4においては、マスタ1のリード要求及びマスタ4のライト要求は共にロック転送の開始を示している。これは前述のAXIプロトコルにおいて、リードの場合はARLOCK[1:0]信号に、ライトの場合はAWLOCK[1:0]信号にいずれの場合も"10"をアサートすることによって示される。
図4に示す例においては、マスタ1からのリード転送が選択される。その結果マスタ1が時刻t7においてロック転送を解除するまでの間、これ以降はマスタ1からのアクセス要求のみが選択されるようになる。図4の例に示されるように、全てのリードアクセス要求、ライトアクセス要求のうち同時には一つの要求にのみアクセス権を与えるので、リードアドレスチャネル、ライトアドレスチャネルが分離していることによるロック転送の調停の問題は生じない。
以上のように、調停部506、507の回路構成は簡単化されるため、より一般的なライトアドレスチャネルとリードアドレスチャネルとが分離していないバスの調停に用いられる場合よりも容易に構成することが可能である。
(第2の実施形態)
次に、本発明に係る第2の実施形態について説明する。なお、バス中継装置の構成は、図1と同様であるので説明は省略する。本実施形態に係る調停部506、507の調停スキームは、複数の優先度レベルを持ち、より優先度の高いレベルに属するアクセス要求が優先的に選択され、また任意の一つのレベル内に属するアクセス要求はラウンドロビンで調停される。また、任意のマスタのライト要求とリード要求とが任意の優先度レベルに属することが可能であり、それぞれ個別に調停される。
図5は、マスタ数N=6の場合の優先度レベル間の優先順あるいは優先度レベル内の巡回順の一例を示す図である。図5に示す例においては、優先度レベルが3段階に設定されており、調停においては優先度レベル1、優先度レベル2、優先度レベル3の順番で優先的に選択される。
さらに、同一優先度レベルには複数のアクセス要求が存在する。すなわち、優先度レベル1にはマスタ1のリード要求とマスタ3のリード要求とが割り当てられる。また、優先度レベル2にはマスタ2のリード要求、マスタ1のライト要求、マスタ5のライト要求、マスタ2のライト要求、マスタ6のリード要求、及びマスタ5のライト要求が割り当てられる。優先度レベル3にはマスタ4のライト要求、マスタ6のライト要求、マスタ3のライト要求、及びマスタ4のライト要求がそれぞれ割り当てられている。調停部506、507が調停動作を行うにあたっては、まず、より高い優先度レベルに属するアクセス要求があるかどうかを調べる。
次に、アクセス要求のあるうちで最も高い優先度レベル内で複数のアクセス要求があるかどうかを調べ、複数存在する場合はラウンドロビンスキームに従って調停を行う。例えば、ある時刻においてマスタ2のリード要求、マスタ5のライト要求、マスタ4のリード要求が出力されていたとする。まず優先度レベルに従ってマスタ2のリード要求とマスタ5のライト要求が選択される。次に、この両者のうちからラウンドロビンスキームに従っていずれかが選択される。例えば、直前にマスタ5のライト要求が選択されていたならば、今回はマスタ2のリード要求が選択される。
以上のように本実施形態においては、マスタあるいはリード転送要求、ライト転送要求の種類によらず所望の優先順位で調停を行うことが可能である。以上において、本実施形態に関して図面を参照しながら説明したが、さらに他の修正および改善が可能であることは言うまでもない。
例えば、本実施形態においては、スレーブ側の一組のリードアドレスチャネルとライトアドレスチャネルとについて、1つのアービタを備える場合について説明したが、これに限定するものではない。例えば、リードアドレスチャネルとライトアドレスチャネルとにそれぞれ1つずつアービタを備え、各々が交互に調停動作を行うよう構成しても本発明の効果を得られることは言うまでもない。したがって、本発明は前述の実施形態に示された特定の形式に限定されるものではない。
(本発明に係る他の実施形態)
前述した本発明の実施形態におけるバス中継装置を構成する各手段、並びにその制御方法の各工程は、コンピュータのRAMやROMなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システムまたは装置に直接、または遠隔から供給する場合も含む。そして、そのシステムまたは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスクなどがある。さらに、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM、DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する方法がある。そして、前記ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、その他の方法として、本発明のプログラムを暗号化してCD−ROM等の記録媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、その他の方法として、まず記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。そして、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
本発明の第1の実施形態におけるバス中継装置の構成例を示すブロック図である。 本発明の第1の実施形態における要求の巡回順の一例を示す図である。 本発明の第1の実施形態における調停の動作タイミングの一例を示す図である。 本発明の第1の実施形態における調停の動作タイミングの他の一例を示す図である。 本発明の第2の実施形態において、マスタ数N=6の場合の優先度レベル間の優先順あるいは優先度レベル内の巡回順の一例を示す図である。 クロスバー構造を用いたシステムLSIの構成の一例を説明する図である。 SDRAMへのアクセスにおけるページヒットを説明する図である。 SDRAMへのアクセスにおけるページミスを説明する図である。 SDRAMへのアクセスにおけるバンクインターリーブを説明する図である。
符号の説明
500 バス中継装置
501、502 ライトチャネルIF
503、504 リードチャネルIF
506、507 調停部
511、512 ライトアドレスIF
513、514 リードアドレスIF

Claims (9)

  1. リードチャネルとライトチャネルとが分離されたプロトコルにより複数のマスタと少なくとも一つのスレーブとの間をクロスバー方式により接続するバス中継装置であって、
    前記少なくとも一つのスレーブ毎に、
    ライトアドレスを扱うライトアドレスインターフェースと、
    リードアドレスを扱うリードデータインターフェースと、
    数のマスタからのアクセス要求について、各々のマスタリードアドレスチャネルを介して前記リードデータインターフェースに発行されているリード要求と、各々のマスタがライトアドレスチャネルを介して前記ライトアドレスインターフェースに発行されているライト要求と、のいずれか一方を調停する調停手段を有することを特徴とするバス中継装置。
  2. 前記調停手段は、調停スキームとしてラウンドロビンを用い、調停の巡回順がリードとライトとが交互であり、かつ任意のマスタのリード要求とライト要求とが最も離れた順番に置くことを特徴とする請求項1に記載のバス中継装置。
  3. 前記調停手段は、調停スキームとして複数の優先度レベルを持ち、より優先度の高いレベルに属するアクセス要求を優先的に選択し、任意の一つのレベル内に属するアクセス要求をラウンドロビンで調停し、さらに任意のマスタのライト要求とリード要求とが任意の優先度レベルに属することが可能であり、それぞれ個別に調停することを特徴とする請求項1に記載のバス中継装置。
  4. 前記プロトコルはAXIプロトコルであることを特徴とする請求項1乃至3のいずれか1項に記載のバス中継装置。
  5. リードチャネルとライトチャネルとが分離されたプロトコルにより複数のマスタと複数のスレーブとの間をクロスバー方式により接続するバス中継装置であって、
    前記複数のマスタのうち、少なくとも一つのマスタは前記分離されたリードチャネルとライトチャネルの各々を通してリードアクセス要求とライトアクセス要求とを同時に発行可能であり、
    任意のスレーブに対し複数のマスタからのアクセス要求を調停し、各々のマスタのリードアドレスチャネルからのアクセス要求と、ライトアドレスチャネルからのアクセス要求とのうち、同時に一つの要求のみを選択しスレーブに転送する調停手段を有することを特徴とするバス中継装置。
  6. リードチャネルとライトチャネルとが分離されたプロトコルにより複数のマスタと複数のスレーブとの間をクロスバー方式により接続するバス中継装置であって、
    前記プロトコルは、特定のマスタのみがバスアクセスを排他的に占有するロック転送を含み、
    任意のスレーブに対し複数のマスタからのアクセス要求を調停し、各々のマスタのリードアドレスチャネルからのアクセス要求と、ライトアドレスチャネルからのアクセス要求とのうち、同時に一つの要求のみを選択しスレーブに転送する調停手段を有することを特徴とするバス中継装置。
  7. リードチャネルとライトチャネルとが分離されたプロトコルにより複数のマスタと少なくとも一つのスレーブとの間をクロスバー方式により接続し、前記少なくとも一つのスレーブ毎に、ライトアドレスを扱うライトアドレスインターフェースと、リードアドレスを扱うリードデータインターフェースと、調停手段とを備えるバス中継装置の制御方法であって、
    前記調停手段が、複数のマスタからのアクセス要求について、各々のマスタがリードアドレスチャネルを介して前記リードデータインターフェースに発行されているリード要求と、各々のマスタがライトアドレスチャネルを介して前記ライトアドレスインターフェースに発行されているライト要求と、のいずれか一方を調停することを特徴とする制御方法。
  8. リードチャネルとライトチャネルとが分離されたプロトコルにより複数のマスタと複数のスレーブとの間をクロスバー方式により接続し、前記複数のマスタのうち、少なくとも一つのマスタは前記分離されたリードチャネルとライトチャネルの各々を通してリードアクセス要求とライトアクセス要求とを同時に発行可能であるバス中継装置の制御方法であって、
    任意のスレーブに対し複数のマスタからのアクセス要求を調停し、各々のマスタのリードアドレスチャネルからのアクセス要求と、ライトアドレスチャネルからのアクセス要求とのうち、同時に一つの要求のみを選択しスレーブに転送することを特徴とする制御方法。
  9. リードチャネルとライトチャネルとが分離されたプロトコルにより複数のマスタと複数のスレーブとの間をクロスバー方式により接続し、前記プロトコルは、特定のマスタのみがバスアクセスを排他的に占有するロック転送を含むバス中継装置の制御方法であって、
    任意のスレーブに対し複数のマスタからのアクセス要求を調停し、各々のマスタのリードアドレスチャネルからのアクセス要求と、ライトアドレスチャネルからのアクセス要求とのうち、同時に一つの要求のみを選択しスレーブに転送することを特徴とする制御方法。
JP2008298651A 2008-11-21 2008-11-21 バス中継装置及び制御方法 Active JP5383159B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008298651A JP5383159B2 (ja) 2008-11-21 2008-11-21 バス中継装置及び制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008298651A JP5383159B2 (ja) 2008-11-21 2008-11-21 バス中継装置及び制御方法

Publications (2)

Publication Number Publication Date
JP2010124439A JP2010124439A (ja) 2010-06-03
JP5383159B2 true JP5383159B2 (ja) 2014-01-08

Family

ID=42325331

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008298651A Active JP5383159B2 (ja) 2008-11-21 2008-11-21 バス中継装置及び制御方法

Country Status (1)

Country Link
JP (1) JP5383159B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120097831A (ko) 2011-02-25 2012-09-05 삼성전자주식회사 시스템 온 칩의 버스 시스템
EP3457293B1 (en) 2014-04-03 2021-06-30 Huawei Technologies Co., Ltd. Field programmable gate array and communication method
CN113886305B (zh) * 2021-09-30 2023-11-03 山东云海国创云计算装备产业创新中心有限公司 一种基于总线的仲裁方法、系统、存储介质及设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04133154A (ja) * 1990-09-26 1992-05-07 Fujitsu Ltd バス切換制御方式
JP2006338234A (ja) * 2005-06-01 2006-12-14 Matsushita Electric Ind Co Ltd メモリアクセス調停方法
JP2008009763A (ja) * 2006-06-29 2008-01-17 Canon Inc 情報処理装置及びバス制御方法

Also Published As

Publication number Publication date
JP2010124439A (ja) 2010-06-03

Similar Documents

Publication Publication Date Title
KR100724557B1 (ko) 아웃 오브 오더 dram 시퀀서
JP2010134627A (ja) バス中継装置
JP6082752B2 (ja) メモリ応答の順序付けのためのメモリ装置、コンピュータシステムおよび方法
US8078781B2 (en) Device having priority upgrade mechanism capabilities and a method for updating priorities
US5826048A (en) PCI bus with reduced number of signals
JP2002530731A (ja) 異常メモリアクセスまたは異なる時間のメモリアクセス実行の際のデータバス上のデータ衝突を検出するための方法および装置
US6651148B2 (en) High-speed memory controller for pipelining memory read transactions
US8954644B2 (en) Apparatus and method for controlling memory
JP2002530743A (ja) ページタグレジスタを使用して、メモリデバイス内の物理ページの状態を追跡すること
US9984014B2 (en) Semiconductor device
US8667199B2 (en) Data processing apparatus and method for performing multi-cycle arbitration
JP5383159B2 (ja) バス中継装置及び制御方法
JP5911548B1 (ja) 共有メモリへのアクセス要求をスケジューリングするための装置、方法およびコンピュータプログラム
US6360305B1 (en) Method and apparatus for optimizing memory performance with opportunistic pre-charging
JP2007122410A (ja) バス調停回路及びバス調停方法
US20100169525A1 (en) Pipelined device and a method for executing transactions in a pipelined device
KR101022473B1 (ko) 다층 버스 시스템에서의 메모리 뱅크 인터리빙 방법 및장치
JP2004500608A (ja) ユニバーサルリソースアクセスコントローラ
US7987437B2 (en) Structure for piggybacking multiple data tenures on a single data bus grant to achieve higher bus utilization
JP4684577B2 (ja) 高速の帯域幅のシステムバスを仲裁するためのバスシステム及びその方法
JP2008009763A (ja) 情報処理装置及びバス制御方法
JP6165104B2 (ja) 情報処理装置および調停方法
JP2007328585A (ja) データ処理装置及びデータ処理方法
JP2006343916A (ja) 情報処理装置
JP2008003786A (ja) 論理シミュレーション方法及びその装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111121

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121012

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121113

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: 20130903

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131001

R151 Written notification of patent or utility model registration

Ref document number: 5383159

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151