JP4696024B2 - データ処理装置用相互接続論理 - Google Patents

データ処理装置用相互接続論理 Download PDF

Info

Publication number
JP4696024B2
JP4696024B2 JP2006144856A JP2006144856A JP4696024B2 JP 4696024 B2 JP4696024 B2 JP 4696024B2 JP 2006144856 A JP2006144856 A JP 2006144856A JP 2006144856 A JP2006144856 A JP 2006144856A JP 4696024 B2 JP4696024 B2 JP 4696024B2
Authority
JP
Japan
Prior art keywords
logic
data
address
write
slave
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
JP2006144856A
Other languages
English (en)
Other versions
JP2006331426A (ja
Inventor
ジョン ハリス アントニー
ジェームズ マシューソン ブルース
Original Assignee
エイアールエム リミテッド
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 エイアールエム リミテッド filed Critical エイアールエム リミテッド
Publication of JP2006331426A publication Critical patent/JP2006331426A/ja
Application granted granted Critical
Publication of JP4696024B2 publication Critical patent/JP4696024B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4031Coupling between buses using bus bridges with arbitration

Landscapes

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

Description

本発明はデータ処理装置用相互接続論理に関し、特に、相互接続論理に結合されたマスタ論理ユニットおよびスレーブ論理ユニット間でトランザクションを実施する技術に関する。
複数のマスタ論理ユニットおよびスレーブ論理ユニットを有するデータ処理装置内に、マスタ論理ユニットおよびスレーブ論理ユニットを結合してトランザクションを実施できるようにする相互接続論理を設けることが知られている。各トランザクションはマスタ論理ユニットからスレーブ論理ユニットへのアドレス転送、およびそのマスタ論理ユニットとそのスレーブ論理ユニット間の1つ以上のデータ転送からなっている。ライトトランザクションに対してこれらのデータ転送はマスタ論理ユニットからスレーブ論理ユニットへ通過し(ある実施例では、さらにスレーブ論理ユニットからマスタ論理ユニットへのライト応答転送がある)、リードトランザクションに対してこれらのデータ転送はスレーブ論理ユニットからマスタ論理ユニットへ通過する。
相互接続論理はさまざまなマスタ論理ユニットおよびスレーブ論理ユニットを結合する複数の接続パスを提供する。さまざまな転送がこれらの接続パスを介して送られる方法は相互接続論理内で利用されるバスプロトコルによって決まる。一つの既知タイプのバスプロトコルは英国、キャンブリッジのARM社で開発されたAHBバスプロトコルに従って設計されたAHBバスを有するデータ処理装置内で利用されるような非スプリットトランザクションプロトコルである。このような非スプリットトランザクションプロトコルに従って、トランザクションのアドレス転送とそのトランザクションの後続する1つ以上の後続データ転送との間には固定タイミング関係がある。特に、データ転送はアドレスが転送されるサイクルに続くサイクル内で開始する。このような設計内で、特定の接続パスの使用を求める複数のアドレス転送間の調停を行うアドレスアービタを設けることが知られている。アドレス転送およびデータ転送間の固定タイミング関係により、複数のトランザクションのデータ転送は調停されたアドレス転送と同じ順序で生じることがお判りであろう。
多数のマスタおよびスレーブ論理ユニットの相互接続をサポートする必要性から、相互接続論理の複雑さが増してきているため、スプリットトランザクションプロトコルとして知られるもう1つのタイプのバスプロトコルが開発されてきている。このようなスプリットトランザクションプロトコルに従って、相互接続論理内の複数の接続パスがアドレス転送を運ぶ少なくとも1つのアドレスチャネルおよびデータ転送を運ぶ少なくとも1つのデータチャネルを提供する。このようなスプリットトランザクションプロトコルの例は英国、キャンブリッジのARM社で開発されたAXI(Advanced eXtensible Interface)プロトコルである。AXIプロトコルは情報およびデータを転送できるいくつかのチャネルを提供し、これらのチャネルはリードトランザクションのアドレス転送を運ぶリードアドレスチャネル、ライトトランザクションのアドレス転送を運ぶライトアドレスチャネル、ライトトランザクションのデータ転送を運ぶライトデータチャネル、リードトランザクションのデータ転送を運ぶリードデータチャネル、およびライトトランザクションの終りにトランザクション状態情報をマスタ論理ユニットへ戻すライト応答チャネルを含み、このようなトランザクション状態情報は、たとえば、トランザクションが成功裡に完了したか、あるいはエラーが生じたか、等を示す。このようなスプリットトランザクションプロトコルを使用すれば非スプリットトランザクションプロトコルを使用する同様なシステムに較べてシステムの性能を高めることができる。
従来、このようなスプリットトランザクションプロトコルを採用する時は、データチャネルを介したデータ転送は関連するアドレスチャネルを介した対応するアドレス転送の時間的順序付けに従った優先順位とされ、より先のアドレス(すなわち、アドレスチャネルを介してより先に転送されたアドレス)に関連するデータには後のアドレスに関連するデータよりも高い優先順位が与えられる。この方法はアドレスおよびデータがしっかり結合される非スプリットトランザクションプロトコルにおいて生じる状況を厳密にモデル化し、相互接続論理に結合された各マスタおよびスレーブ論理ユニットに対してバランスのとれたサービスが得られる。しかしながら、このような方法は相互接続論理を効率的に活用はせず、特定のトランザクションのデータ転送が行われるのを待機する間にマスタ装置はしばしばストールしてしまう。
このようなスプリットトランザクションプロトコルに従った相互接続論理を使用する時に特定のスレーブ論理ユニットにおいてトランザクションのある局所的な再順序付けを許すのに使用できる改善策がARM社が譲受人である2003年12月23日付出願の米国特許出願第10/743,537号に記載されている。この特許出願の教示に従って、各アドレス転送はトランザクションのソース(source)を識別するソース識別子を含んでいる。好ましくは、各マスタ論理ユニットはそれが発行するトランザクションと関連付けることができる複数の可能なソース識別子を有する。これは、たとえば、同じプロセッサ上で実行している異なるアプリケーションにより発生されたトランザクションを区別して、プロセス自体が互いに独立している場合に各アプリケーションからのトランザクションシーケンスを独立に順序付けできるという利点がある。次に、スレーブ装置はこのようなソース識別子情報に基づいてサービスしなければならない保留トランザクションのある局所的な再順序付けを行うことができ、たとえば、特定のソース識別子が発行されたトランザクションに関連する1つ以上のデータ転送には異なる優先順位の低いソース識別子が発行されたより早期の保留トランザクションに関連する1つ以上のデータ転送よりも高い優先順位を与えることができる。
しかしながら、このような方法により特定の周辺スレーブ装置におけるある局所的な再順序付けが可能とはなるが、相互接続論理を最も効率的には利用しないという問題点が残り、マスタ論理ユニットがストールして特定のトランザクションのデータ転送の完了を保留する状況をまだ生じることがある。
network−on−chip設計の関連性の無い技術分野において、ネットワーク内の特定のノードが優先順位の概念に基づいてリードデータパケットを再順序付けできるようにすることが知られている。
データ処理装置の相互接続論理内のトランザクションを処理するための改良された技術を提供して、スプリットトランザクションプロトコルが使用される状況において相互接続論理のリソースの使用をより効率的にすることが望ましい。
第1の側面から見て、本発明はデータ処理装置内のマスタ論理ユニットおよびスレーブ論理ユニットを結合してトランザクションを実施できるようにする相互接続論理を提供し、各トランザクションはマスタ論理ユニットからスレーブ論理ユニットへのアドレス転送およびそのマスタ論理ユニットとそのスレーブ論理ユニット間の1つ以上のデータ転送を含み、相互接続論理はアドレス転送を運ぶ少なくとも1つのアドレスチャネル、前記スレーブ論理ユニットから前記マスタ論理ユニットへリードトランザクションのデータ転送を運ぶ少なくとも1つのリードデータチャネル、および前記マスタ論理ユニットから前記スレーブ論理ユニットへライトリードトランザクションのデータ転送を運ぶ少なくとも1つのライトデータチャネルを提供するように作動可能な複数の接続パスと、トランザクションを実施できるようにするために少なくとも1つのアドレスチャネル、少なくとも1つのリードデータチャネルおよび少なくとも1つのライトデータチャネルの使用を制御するように作動可能な制御論理とを含み、制御論理は関連するアドレスチャネルに対してその使用を求める複数のアドレス転送間の調停を行うように作動可能なアドレスアービタ論理と、関連するリードデータチャネルに対してその使用を求める複数のデータ転送間の調停を行うように作動可能なリードデータアービタ論理と、関連するライトデータチャネルに対してその使用を求める複数のデータ転送間の調停を行うように作動可能なライトデータアービタ論理とを含み、リードデータアービタ論理およびライトデータアービタ論理の各々がアドレスアービタ論理とは独立して作動可能であり、複数のトランザクションの1つ以上のデータ転送がこれら複数のトランザクションの対応するアドレス転送に関してアウト・オブ・オーダ(out of order)で生じ得るようにされる。
本発明に従って、相互接続論理の接続パスにより提供される少なくとも1つのアドレスチャネル、少なくとも1つのリードデータチャネルおよび少なくとも1つのライトデータチャネルの使用を制御するのに使用される制御論理はアドレスアービタ論理、リードデータアービタ論理およびライトデータアービタ論理を含んでいる。各データアービタ論理は関連するデータチャネルの使用を求めるデータ転送間を調停している時に、複数のトランザクションのデータ転送がそれらの対応するアドレス転送に関してアウト・オブ・オーダで生じることができるようにアドレスアービタ論理とは独立して作動可能である。したがって、本発明により相互接続論理内のシステムレベルにおいて独立したデータ調停を適用して相互接続論理のリソースを効率的に使用することができる。特に、このような方法を使用して特定のスレーブ論理ユニットまたはマスタ論理ユニットのレーテンシを低減し、スループットを増加することができる。
したがって、このような方法を使用して特定のレーテンシまたは帯域幅要求条件を有するデバイスの優先順位を他よりも高くして、システムレベルにおけるサービス品質(QoS)保証を促進するのを助けることができる。これは特定のレーテンシおよび帯域幅要求条件を有する周辺装置を有するシステム・オン・チップ(System on Chip(SoC))設計の重要な要求条件となってきている。また、有効なQoS保証を適用することにより相互接続リソースをより効率的に使用することができ、相互接続論理の電力およびレイアウトオーバヘッドが低減される。
各データアービタ論理は多様な方法で動作するようにすることができる。しかしながら、一実施例では、制御論理は、さらに、アドレス転送から引き出される状態情報を格納するように作動可能な状態論理を含み、リードデータアービタ論理およびライトデータアービタ論理の各々が関連するデータチャネルの使用を求める複数のデータ転送のいずれが正当な調停目標であるかを決定するために状態情報を参照するように独立して作動可能であり、リードデータアービタ論理およびライト各リードデータアービタ論理の各々が複数の正当な調停目標の存在の元で調停ポリシーを適用して正当な調停目標であるデータ転送の一つに関連するデータチャネルへのアクセスを許可するように独立して作動可能である。
状態情報を使用して、どのデータ転送に関連するデータチャネルへのアクセスを許可するかをデータアービタ論理が決定している時に、使用される特定のバスプロトコルに適用できる特定の順序付け制約が守られることを保証することができる。したがって、たとえば、バスプロトコルは同じソース識別子を有するアドレスからのリードデータをアドレスが発行されたのと同じ順序で戻さなければならない制約を識別することができる。このような例では、状態論理により格納された状態情報はこの制約が守られることをデータアービタ論理が保証するのに十分な情報を提供し、したがって、データアービタ論理は関連するデータチャネルの使用を求める複数のデータ転送のいずれが正当な調停目標(すなわち、このような順序付け制約に違反せずに選択できるデータ転送)であるかを決定することができる。次に、各データアービタ論理は調停ポリシーを適用して正当な調停目標であるデータ転送の一つに関連するデータチャネルへのアクセスを許可することができる。
一実施例では、データアービタ論理はデータチャネルへのアクセスを要求するソースにしか許可しない。別の実施例では、データアービタ論理はソースがデータを要求しかつデスティネーション(destination)が受信準備を完了している時しかデータチャネルへのアクセスを許可しない。
特定の一実施例では、各リードトランザクションはそのリードトランザクションソースを識別するソース識別子と関連付けられており、制御論理は、さらに、各リードトランザクションに対してそのアドレス転送からそのリードトランザクションに対する目標スレーブ論理ユニットを決定するように作動可能なアドレスデコーダを含み、状態論理は各保留リードトランザクションに対する状態情報を格納するように作動可能であり、各保留リードトランザクションに対する状態情報はソース識別子およびその保留リードトランザクションに対する目標スレーブ論理ユニットを含んでいる。
ソース識別子はトランザクションを開始する責任のある特定のマスタ論理ユニットを単に識別することができ、あるいは/さらに、マスタデバイスがトランザクション開始時に使用できる複数の可能なID値を有する状況においてソース識別のより細い粒度レベルを提供することができる。
リードデータアービタ論理により適用される調停ポリシーは多様な形をとることができる。一実施例では、調停ポリシーは関連するリードトランザクションのソース識別子および/または目標スレーブ論理ユニットに基づいて正当な調停目標であるデータ転送に優先順位を与えるように作動可能である。
任意特定の調停ポリシーに対して、固定優先順位、ラウンドロビン、またはレーテンシタイマ方式、等の多くの異なる調停方式を実際のデータ調停に適用することができる。したがって、例として、データ処理装置が3つのスレーブデバイスS1,S2およびS3を有し、調停ポリシーが目標スレーブ論理ユニットに基づいてデータ転送の優先順位付けを行っておれば、スレーブ論理ユニットS1はスレーブ論理ユニットS2よりも優先順位が高くスレーブ論理ユニットS2はスレーブ論理ユニットS3よりも優先順位が高くなるような固定優先順位調停方式を採用することができる。あるいは、ラウンドロビン調停方式を使用して、スレーブデバイスS1に関連するトランザクションのデータ転送へデータチャネルが割当てられたら、スレーブ論理ユニットS2には次のデータチャネル割当てに対する優先順位が与えられ、次の割当てに対するスレーブ論理ユニットS3が続き、次の割当てに対して再度スレーブ論理ユニットS1が続くようにすることができる。もう1つの実施例として、レーテンシタイマ方式を使用して特定のスレーブ論理ユニットに関連するタイマが予め定められた値に達したら、そのスレーブ論理ユニットの優先順位を高めるようにすることができる。
相互接続論理は多様な形をとることができる。一実施例では、複数の接続パスが単一層相互接続構造を形成し、単一リードデータアービタ論理がリードデータチャネルに対して提供される。しかしながら、別の実施例では、複数の接続パスは多層相互接続構造を形成し、別のリードデータアービタ論理がリードデータチャネルに接続された各マスタ論理ユニットに対して提供される。
一実施例では、少なくとも1つのデータチャネルは、各ライトトランザクションに対して、スレーブ論理ユニットからそのライトトランザクション内に含まれるマスタ論理ユニットへのトランザクション状態情報を運ぶように作動可能なライト応答チャネルを含んでいる。特定の一実施例では、このようなライト応答チャネルはスレーブ論理ユニットからマスタ論理ユニットへデータを運ぶ1つ以上のリードデータチャネルの他に提供される。関連するリードデータチャネルの使用を求める多数のデータ転送間でどのようにリードデータアービタ論理が調停を行うかを記述する時に検討したのと同じ規準を、スレーブ論理ユニットからマスタ論理ユニットへ転送されるトランザクション状態情報の複数のインスタンス間で調停を行う時のライト応答チャネルに関連するデータ調停論理にも適用することができる。
特定の一実施例では、各ライトトランザクションはそれを開始するマスタ論理ユニットを識別するマスタ識別子と関連付けられており、状態論理は各保留ライトトランザクションに対する状態情報を格納するように作動可能であり、各保留ライトトランザクションに対する状態情報は少なくともマスタ識別子の表示を含んでいる。
一実施例では、制御論理は、さらに、各ライトトランザクションに対してそのライトトランザクションのアドレス転送からそのライトトランザクションに対する目標スレーブ論理ユニットを決定するように作動可能なアドレスデコーダを含み、各保留ライトトランザクションに対する状態情報は、さらに、その保留ライトトランザクションに対する目標スレーブ論理ユニットの表示を含んでいる。特定の一実施例では、この付加状態情報は単一層相互接続構造を有する相互接続論理に対する状態論理内に格納される。
一実施例では、ライトデータアービタ論理により適用される調停ポリシーは関連するライトトランザクションのマスタ識別子および/または目標スレーブ論理ユニットに基づいて正当な調停目標であるデータ転送に優先順位を与えるように作動可能である。特に、単一層相互接続構造に対しては、優先順位付けに一方または両方の側面を使用することができ、多層相互接続構造に対しては、優先順位付けにマスタ識別子を使用することができるが目標スレーブ論理ユニットは使用されない。
一実施例では、各ライトトランザクションがそのソースを識別するソース識別子と関連付けられており、調停ポリシーは関連するライトトランザクションのマスタ識別子および/または目標スレーブ論理ユニットおよび/またはソース識別子に基づいて正当な調停目標であるデータ転送に優先順位を与えるように作動可能である。ここでも、リードトランザクションの前記検討と同様に、固定優先順位、ラウンドロビンまたはレーテンシタイマ方式等のいくつかの異なる調停方式を使用することができる。
一実施例では、複数の接続パスが単一層相互接続構造を形成し、ライトデータチャネルに対して単一ライトデータアービタ論理が提供される。別の実施例では、複数の接続パスが多層相互接続構造を形成し、ライトデータチャネルに結合された各スレーブ論理ユニットに対して個別のライトデータアービタ論理が提供される。
第2の側面から見て、本発明は複数のマスタ論理ユニットおよびスレーブ論理ユニットと、本発明の第1の側面に従ってマスタ論理ユニットおよびスレーブ論理ユニットを結合してトランザクションを実施できるようにする相互接続論理とを含むデータ処理装置を提供する。
第3の側面から見て、本発明はデータ処理装置内のマスタ論理手段およびスレーブ論理手段を結合してトランザクションを実施できるようにする相互接続論理を提供し、各トランザクションはマスタ論理手段からスレーブ論理手段へのアドレス転送およびそのマスタ論理手段とそのスレーブ論理手段間の1つ以上のデータ転送を含み相互接続論理はアドレス転送を運ぶための少なくとも1つのアドレスチャネル手段前記スレーブ論理手段から前記マスタ論理手段へリードトランザクションのデータ転送を運ぶための少なくとも1つのリードデータチャネル手段および前記マスタ論理手段から前記スレーブ論理手段へライトトランザクションのデータ転送を運ぶための少なくとも1つのライトデータチャネル手段を提供する複数の接続パス手段と、トランザクションを実施できるようにするため少なくとも1つのアドレスチャネル手段、少なくとも1つのリードデータチャネル手段および少なくとも1つのライトデータチャネル手段の使用を制御する制御手段とを含み、制御手段は関連するアドレスチャネル手段に対してその使用を求める複数のアドレス転送間の調停を行うアドレスアービタ手段と、関連するリードデータチャネル手段に対してその使用を求める複数のデータ転送間の調停を行うリードデータアービタ手段と、関連するライトデータチャネル手段に対してその使用を求める複数のデータ転送間の調停を行うライトデータアービタ手段とを含み、リードデータアービタ手段およびライトデータアービタ手段の各々がアドレスアービタ手段とは独立して作動可能であり複数のトランザクションの1つ以上のデータ転送がこれら複数のトランザクションの対応するアドレス転送に関してアウト・オブ・オーダで生じ得るようにされる。
第4の側面から見て、本発明はデータ処理装置内のマスタ論理ユニットおよびスレーブ論理ユニットを結合してトランザクションを実施できるようにする方法を提供し、各トランザクションはマスタ論理ユニットからスレーブ論理ユニットへのアドレス転送およびそのマスタ論理ユニットとそのスレーブ論理ユニット間の1つ以上のデータ転送を含み、前記方法は(a).複数の接続パスを利用してアドレス転送を運ぶ少なくとも1つのアドレスチャネル、前記スレーブ論理ユニットから前記マスタ論理ユニットへリードトランザクションのデータ転送を運ぶ少なくとも1つのリードデータチャネル、および前記マスタ論理ユニットから前記スレーブ論理ユニットへライトトランザクションのデータ転送を運ぶ少なくとも1つのライトデータチャネルを提供するステップと、(b).(i)関連するアドレスチャネル手段に対してそれの使用を求める複数のアドレス転送間の調停をアドレスアービタ論理に行わせ、(ii)関連するリードデータチャネルに対してそれの使用を求める複数のデータ転送間の調停をリードデータアービタ論理に行わせ、(iii)関連するライトデータチャネルに対してそれの使用を求める複数のデータ転送間の調停をライトデータアービタ論理に行わせ、(iv)リードデータアービタ論理およびライトデータアービタ論理の各々をアドレスアービタ論理とは独立して動作させて複数のトランザクションの1つ以上のデータ転送がこれら複数のトランザクションの対応するアドレス転送に関してアウト・オブ・オーダで生じ得るようにするステップにより、トランザクションを実施できるようにするために少なくとも1つのアドレスチャネル、少なくとも1つのリードデータチャネルおよび少なくとも1つのライトデータチャネルの使用を制御するステップと、を含んでいる。
単なる例として、添付図に例示する実施例について本発明をさらに説明する。本発明の実施例において、データ処理装置の相互接続論理は別々のアドレスチャネルおよびデータチャネルが設けられるスプリットトランザクションプロトコルを利用し、データ転送のタイミングは特定のトランザクションのアドレス転送タイミングに関して非干渉化される。特定の一実施例では、相互接続論理はAXIプロトコルに従って動作し、相互接続論理の接続パスは5チャネル、すなわち、リードアドレスチャネル、ライトアドレスチャネル、リードデータチャネル、ライトデータチャネルおよびライト応答チャネルを提供する。
本発明の一実施例では、相互接続論理は単一層相互接続構造を有する。図1はこのような単一層相互接続のリードアドレスチャネルを略示するブロック図である。この例では、2つのマスタ論理ユニット40,50および2つのスレーブ論理ユニット60,70が単一層相互接続のチャネル10に結合されている。チャネル10内で、アービタ25はマスタ論理ユニット40,50により発行される複数のリードアドレス転送間の調停を行うようマルチプレクサ15を制御するのに使用される。同様に、任意特定のリードアドレス転送を適切な目標スレーブ論理ユニット60,70へ送るようデマルチプレクサ20を制御するためにデコーダ30が設けられる。
ライトアドレスチャネルおよびライトデータチャネルは図1に示すリードアドレスチャネルと同様な構造とされる。リードデータチャネルおよびライト応答チャネルも同様な構造とされるが、これら2つのチャネルに対して転送はスレーブ論理ユニットからマスタ論理ユニットへ生じるため、これら2つの場合マスタ論理ユニット40,50およびスレーブ論理ユニット60,70の位置は逆になる。
本発明の代替実施例では、相互接続論理は多層相互接続構造を有する。図2は本発明の一実施例に従ったこのような多層相互接続構造のリードアドレスチャネル内に設けられたコンポーネントを略示している。ここでも、2つのマスタ論理ユニット40,50および2つのスレーブ論理ユニット60,70がリードアドレスチャネル100に接続されている。各デマルチプレクサ105,115を制御して目標スレーブ論理ユニットに依存するチャネル100を介したリードアドレス転送のルーティングを制御するように、各マスタ論理ユニット40,50に関連してデコーダ125,140が設けられる。さらに、各マルチプレクサ110,120を制御して特定のスレーブ論理ユニットへ向けられた複数のリードアドレス転送間の調停を行うために、各スレーブ論理ユニット60,70に関連してアービタ130,150が設けられる。図1の例と同様に、多層相互接続構造に対するライトアドレスチャネルおよびライトデータチャネルは図2のリードアドレスチャネル100に対して示すものと同様な構造とされ、リードデータチャネルおよびライト応答チャネルも同様な構造とされるがマスタ論理ユニット40,50およびスレーブ論理ユニット60,70の位置が逆になる。
典型的なデータ処理装置には、しばしば3つ以上のマスタ論理ユニットおよび3つ以上のスレーブ論理ユニットがあり、そのため各チャネル内でパスおよび関連する論理は対応して増加することがお判りであろう。したがって、図1および2は任意特定の実施例に設けられる実際のパスを図示するものではなく略図と見なすべきである。
図3は相互接続論理が単一層相互接続構造を有する本発明の一実施例に従った相互接続論理のリードアドレスチャネルおよびリードデータチャネルの両方に関連して設けられる制御論理を例示する図である。したがって、相互接続ブロック270はリードアドレスチャネル、リードデータチャネルおよび関連する制御論理を形成するのに使用される相互接続論理のこれらの部分を示す。図3に示すように、マルチプレクサ210は2つの異なるマスタ論理ユニットからリードアドレス転送200,205を受信するようにされ、アドレスアービタ論理215はマルチプレクサ210を制御してアドレスチャネルの使用を求める複数のアドレス転送間の調停を行うように使用される。
各アドレス転送はマルチプレクサ210からデマルチプレクサ220へ送られ、図1について前記したように、アドレスデコーダ225からの出力により制御される。特に、アドレスデコーダ225はアドレス転送内に含まれるアドレスを受信し、どのスレーブ論理ユニットがアドレス転送に対する目標スレーブ論理ユニットであるかをそこから決定するようにされる。次に、アドレスデコーダ225はデマルチプレクサ220にスレーブ番号を出力し、アドレス転送をスレーブ1リードアドレス222またはスレーブ2リードアドレス224として適切なパスを介して要求した目標スレーブ論理ユニットへ出力させることができる。
このスレーブ番号情報はアドレス転送内のID信号に応じて制御されるデマルチプレクサ230にも入力される。このID値はアドレス転送のソースを識別し、前記したように、マスタ論理ユニットが単一ID値しか使用しないようにされておれば特定のマスタ論理ユニットしか識別しないか、あるいはマスタ論理ユニットが多数のID値を使用するようにされておれば特定のマスタ内のトランザクションの実際のソースをより細い粒度で識別することができる。
状態論理235が設けられ、それはその中にスレーブ番号情報が格納されるID値毎先入れ先出し(FIFO)バッファとされるものと概念的に考えることができる。したがって、デマルチプレクサ230により受信されるID値に基づいて、デマルチプレクサ230はアドレスデコーダ225から受信したスレーブ番号を状態論理235の適切なFIFO内へ送る。このスレーブ情報は関連するトランザクションが完了するまで状態論理235内に保持される。実際上、状態論理はID値毎に1つの複数のFIFOとして作られる必要はなく、複数のエントリが同じID値を有する場合どのエントリがアドレスチャネルを介した最も早いアドレス転送出力に関連するかを決定できるようにID内の時間的順序付けが保存される単一ランダムアクセス記憶リソースとしてインプリメントすることができる。
次に、リードデータチャネルについて考えると、スレーブデバイス(図3の例ではスレーブ1リードデータ242またはスレーブ2リードデータ244)からの任意のデータ転送出力がマルチプレクサ245により受信され、それはデータアービタ240により制御される。データアービタ240はデータチャネルにアクセスするためのデータ転送の1つを選択するために状態論理235を参照するようにされている。第1に、データアービタは複数の正当な調停目標があるかを確認するために状態論理235を参照する。同じID値を有するアドレスに対するリードデータはアドレスが発行されたのと同じ順序で戻さなければならないという制約をAXIプロトコルが指定し、したがって、任意の時点において特定のIDに対して1つの正当な調停目標しかない。しかしながら、複数のFIFOがその中にスレーブ番号を格納しておれば、データアービタに複数の正当な調停目標が提示される。
したがって、状態論理235により識別された1つの正当な調停目標しかない場合、データアービタ240によりマルチプレクサ245はその正当な調停目標に関連するデータ転送を出力する。しかしながら、複数の正当な調停目標があれば、データアービタ論理はデータチャネルへのアクセスを許可されるデータ転送の1つを決定するために調停ポリシーを適用する。特に、本発明の一実施例では、データアービタ240はマスタ、スレーブ、ID値、またはそれらの任意の組合せに基づいて複数の正当な調停目標間の優先順位付けを行うことができる。マスタおよびスレーブベースの調停により特定のレーテンシまたは帯域幅要求条件を有する周辺装置は他よりも高い優先順位とすることができ、QoS保証の促進を助ける。ID値調停によりマスタはそのリードストリームのいずれが他よりも高い優先順位を有するかをそれらが異なるスレーブに対するものである時に制御することができる。さらに、固定優先順位、ラウンドロビンまたはレーテンシタイマ方式等の多くの異なる調停方式を選択された調停ポリシーに適用することができる。
調停ポリシーを適用した結果、データアービタ240によりマルチプレクサ245はリードデータチャネルを介して入力データ転送の1つを出力し、このデータ転送はトランザクションのソース(すなわち、どのマスタがリードトランザクションを発行したか)、したがって、データ転送に対するデスティネーションを識別するID値を含んでいる。
デマルチプレクサ250はマルチプレクサ245により出力されたデータ転送を受信するようにされており、データ転送に関連してID値出力を受信するIDデコーダ255により制御される。さらに、図3に示すように、IDデコーダ255は発行された各リードアドレスに対するマスタ番号および関連するID値をアドレスチャネルから受信するようにされており、次に、IDデコーダがルックアップテーブルにログする。次に、リードデータが向けられるマスタデバイスに対するマスタ番号を検索するために、IDデコーダはリードデータチャネルから受信したID値をテーブル内へのルックアップ値として使用する。したがって、次に、データ転送は適切なマスタデバイスにマスタ1リードデータ260またはマスタ2リードデータ265として送られる。
図3の例では、2つのマスタ論理ユニット、2つのスレーブ論理ユニット、および3つの可能なID値があるものと仮定されている。しかしながら、他の実施例では、図3のデータアービタ240について記述したのと同じデータ調停技術を利用しながら異なる数のマスタ論理ユニット、スレーブ論理ユニットおよびID値を提供できることがお判りであろう。
さらに、図3について記述したデータ調停ポリシーはAXIプロトコルに従って提供されるライト応答チャネル等の任意他のリターンパスで実施される調停にも同等に適用される。この場合、図3のリードデータは特定のライトトランザクションが完了している時にライトトランザクションが成功裡に完了しているかどうかの表示を関連するマスタ論理ユニットに与えるために各スレーブ論理ユニットにより出力されるトランザクション状態情報を実際上含んでいる。
図4はライトデータチャネルの調停を行うために本発明の一実施例に従って単一層相互接続論理内に設けられるコンポーネントを示すブロック図である。図3について前記したリードアドレスチャネルと同様に、図4の相互接続ブロック380内に設けられたライトアドレスチャネルはアドレスアービタ315により制御されるマルチプレクサ310を含み、それはマスタ1ライトアドレス転送300およびマスタ2ライトアドレス転送305を受信することができる。アドレスチャネル上への各アドレス転送出力はデマルチプレクサ320へ送られ、それはアドレスからライトトランザクションに対する目標スレーブ論理ユニットを決定し、その目標スレーブ論理ユニットを示すスレーブ番号を出力するようにされたアドレスデコーダ325により制御される。スレーブ番号はデマルチプレクサ320を制御してライトアドレス転送がスレーブ1ライトアドレス322またはスレーブ2ライトアドレス324として要求したスレーブ論理ユニットへ送られるようにし、さらに、スレーブ番号がIDデコーダ360およびデマルチプレクサ330に送られる。
さらに、アドレスアービタ315はライトアドレスチャネルへのアクセスを許可されているマスタ論理ユニットの表示をデマルチプレクサ330へ発行するようにされ、この表示はマスタ番号の形をとる。
そのデータチャネルに関して調停を実施する時にライトデータチャネルのデータアービタ論理340にアクセスできる状態情報を格納するための状態論理335が設けられる。特に、状態論理335はスレーブ番号毎の記憶装置を含むものと概念的に考えることができ、デマルチプレクサ330はアドレスデコーダ325から受信したスレーブ番号に基づいてアドレスアービタ315から受信したマスタ番号をそのスレーブ番号に関連する記憶装置内へ出力するようにされる。
スレーブデバイスはそれらが受信するライトデータの順序付けに関して異なる能力を有することができ、これは各スレーブデバイスに関連するライトインターリーブ深度値(interleave depth value)により指定される。与えられた例において、スレーブデバイス1は1のライトインターリーブ深度を有するものとし、そのスレーブデバイスは関連するライトアドレス転送と同じ順序でしかライトデータ転送を受け入れられないことを意味する。したがって、スレーブデバイス1に関連する状態論理335内の記憶装置はその中に格納されたマスタ番号に関してFIFOとして動作すると考えられる。
しかしながら、スレーブデバイス2は2のライトインターリーブ深度を有し、2つのライトデータ転送に対してスレーブデバイスは関連する2つのライトアドレス転送についてアウト・オブ・オーダでデータを受け入れられることを意味する。したがって、スレーブデバイス2に関連する状態論理335内の記憶装置はFIFOスタイルキューとして作用すると考えられるが、出力はキューのヘッドにおける2つのエントリの一方により与えられる。
次に、ライトデータチャネルについて考えると、マルチプレクサ355はマスタ1ライトデータ転送345とマスタ2ライトデータ転送350の両方を受信するようにされている。図3におけるリードデータアービタ240の前記検討と同様に、図4のライトデータアービタ340は複数の正当な調停目標があるかどうかを確認するために状態論理335を参照する。
スレーブデバイス1に関連する1のライトインターリーブ深度が与えられると、スレーブデバイス1に関連する状態論理335の記憶装置はいつでも1つまでの正当な調停目標しか識別できない。しかしながら、スレーブデバイス2に関連する2のライトインターリーブ深度が与えられると、スレーブデバイス2に関連する状態論理335の記憶装置はいつでも2つまでの正当な調停目標を識別することができる。明らかに、スレーブデバイス2に関連する記憶装置のヘッドにおける2つのエントリの両方が同じマスタ番号を含む場合には、識別される2つの正当な調停目標は同じである。
単一の正当な調停目標しかない場合、データアービタ340はマルチプレクサ355を制御してライトデータチャネル上に適切なデータ転送を出力するようにされる。しかしながら、複数の正当な調停目標が存在する時は、データアービタは調停ポリシーを適用してライトデータチャネルへのアクセスを許可されるライトデータ転送の1つを決定する。適用される調停ポリシーは多様な形をとることができる。しかしながら、一実施例では、データアービタ340はマスタまたはスレーブ番号、あるいは両方の組合せに基づいて優先順位付けすることができる。さらに、ライトデータID(WID)がデータアービタ340に送られる場合には、データアービタ340もソースIDに基づいて優先順位付けすることができる。
ライトデータアービタ340により実施される調停の結果、ライトデータ転送の1つがライトデータチャネル上へ出力され、デマルチプレクサ375により受信される。デマルチプレクサはIDデコーダ360からの出力により制御され、制御信号としてライトトランザクションのソースを識別するライトデータチャネル上に出力されたID値を受信する。図4に示すように、IDデコーダ360はアドレスチャネルからスレーブ番号および発行された各ライトアドレスに対する関連するID値を受信するようにされており、次に、IDデコーダはそれをルックアップテーブルにログする。次に、ライトデータが向けられるスレーブデバイスに対するスレーブ番号を検索するために、IDデコーダ360はライトデータチャネルから受信したID値をテーブルへのルックアップ値として使用する。次に、このスレーブ番号はデマルチプレクサ375へ出力されライトデータ転送はスレーブ1ライトデータ365またはスレーブ2ライトデータ370として適切なスレーブ論理ユニットへ送られる。
図3と同様に、図4の例は2つのマスタ論理ユニットおよび2つのスレーブ論理ユニットを仮定しているが、ここでも異なる実施例において異なる数のマスタ論理ユニットおよびスレーブ論理ユニットを使用しながらライトデータアービタ340について記述したのと同じデータ調停原理を利用することができる。
図5は本発明の一実施例に従った多層相互接続のリードアドレスチャネルおよびリードデータチャネルに関連して設けられる制御論理を略示するブロック図である。この例の目的に対して、2つのマスタ論理ユニット、2つのスレーブ論理ユニット、および3つの可能なID値があるものと仮定する。しかしながら、別の実施例では、異なる数のマスタ論理ユニット、スレーブ論理ユニットおよびID値を使用できることがお判りであろう。さらに、図5は第1のマスタ論理ユニットおよび第1のスレーブ論理ユニットに関連して設けられる制御論理の詳細しか例示していない。同様な論理を第2のマスタ論理ユニット405および第2のスレーブ論理ユニット425に関連して設けることもできる。
第1のマスタデバイスにより発行されるリードアドレス転送400について考えると、このリードアドレス転送はリードアドレスが接続パス445を介してスレーブ1リードアドレス410としての第1のスレーブデバイスへまたは第2のスレーブデバイス415へ転送されるようにアドレスデコーダ430により制御される。デマルチプレクサ425により受信される。アドレスデコーダはリードアドレスからスレーブ番号を決定し、そのスレーブ番号を使用してデマルチプレクサ425を制御する。このスレーブ番号はデマルチプレクサ435にも入力され、それはリードアドレス転送に関連するID値に応じて制御される。図3の前記検討と同様に、これによりスレーブ番号は状態論理440の関連するFIFO内に格納され、それはID値毎のFIFOを概念的に提供する。
第1のスレーブデバイスはそれに関連するマルチプレクサ450を相互接続ブロック420内に有し、第1のマスタデバイスおよび第2のマスタデバイス405の両方からリードアドレス転送を受信する。次に、アドレスアービタ455は第1のスレーブデバイスへ発行されることを求める複数のアドレス転送間の調停を行い、その調停に応じてマルチプレクサ450を制御する。
次に、リードデータチャネルについて考えると、第1のスレーブデバイスから出力されるリードデータ412は、そのデータ転送に関連するID値を受信するIDデコーダ460により制御される対応するデマルチプレクサ465により受信される。IDデコーダ460は図3のIDデコーダ255と同様に動作し、ID値はリードデータが向けられるマスタデバイスを指定するマスタ番号を識別するためにIDデコーダにより維持されるルックアップテーブルへのインデクスとして使用される。したがって、ID値に応じて、データデコーダ460によりデータ転送はデータ接続パス470を介して第1のマスタデバイスまたは第2のマスタデバイス405に出力される。
第1のマスタデバイスに関連して、第1のスレーブデバイスまたは第2のスレーブデバイス415からのデータ転送を受信するためにマルチプレクサ480が設けられ、このマルチプレクサ480はデータアービタ475により制御される。データアービタ475は図3のデータアービタ240と同様に動作する。しかしながら、各マスタ論理ユニットに対して別個のデータアービタ475があるため、データアービタ475はスレーブまたはID値、または両方の組合せに基づいて複数の正当な調停目標間の優先順位付けを行うが、任意のこのような調停においてマスタ識別子を使用しない。実施したデータ調停の結果、マスタデバイス1へリードデータ402として出力するためにデータが選択される。
図6は本発明の一実施例に従って多層相互接続内に設けられライトアドレスチャネルおよびライトデータチャネルの両方に対する制御論理を提供する論理を例示するブロック図である。図5と同様に、図6は2つのマスタ論理ユニットおよび2つのスレーブ論理ユニットがあるものと仮定しているが、異なる実施例では、やはり異なる数のマスタ論理ユニットおよびスレーブ論理ユニットを使用することができる。さらに、図5と同様に、図6は第1のマスタ論理ユニットおよび第1のスレーブ論理ユニットに関連して設けられる制御論理しか例示しておらず、同様な論理は第2のマスタ論理ユニット405および第2のスレーブ論理ユニット415に関連して設けることもできる。
第1のマスタ論理ユニットがライトアドレス転送401を出力する時、これはアドレスデコーダ505により制御される、相互接続ブロック421のデマルチプレクサ500により受信され、アドレスデコーダ505はライトアドレス転送のアドレスからデスティネーションスレーブ番号を決定し、それに従ってデマルチプレクサ500を制御してライトアドレス転送が接続パス520を介してスレーブ論理ユニット1またはスレーブ論理ユニット2 415へ適切なものとして送られることを保証する。スレーブ番号もIDデコーダ545へ入力として送られ、それはライトアドレスチャネルからのID値も受信し両方の値をログする。
第1のスレーブ論理ユニットに関連するマルチプレクサ525は第1のマスタ論理ユニットおよび第2のマスタ論理ユニット405の両方からライトアドレス転送を受信し、スレーブ1ライトアドレス411を出力する。アドレスアービタ530は第1のスレーブ論理ユニットへのアクセスを求める複数のライトアドレス転送間の調停を行い、かつマルチプレクサ525を制御するようにされている。また、アドレスアービタ530はそれが実施する調停に応じてデマルチプレクサ535にマスタ番号を出力し、デマルチプレクサ535はマルチプレクサ525から出力されたID値に応じて制御されてマスタ番号が状態論理540の記憶装置内に格納されるようにする。
次に、ライトデータチャネルについて考えると、IDデコーダ545は図4について前記したIDデコーダ360と同様に動作し、デマルチプレクサ550により受信されたライトデータ転送403はライトデータ接続555を介して第1のスレーブ論理ユニットまたは第2のスレーブ論理ユニット415へ適切なものとして送られる。
同様に、ライトデータアービタ560およびマルチプレクサ565は図4について前記したライトデータアービタ340およびマルチプレクサ355と同様に動作し、データアービタ560は第1のスレーブ論理ユニットに向けられた複数のライトデータ転送間の調停を行ってマルチプレクサ565がスレーブ1ライトデータ413を出力するようにすることができる。スレーブデバイス1は1よりも大きいライトインターリーブ深度を有する事実により、データアービタ560には複数の正当な調停目標しか提供されないことに注目願いたい。
図4のデータアービタ340はマスタまたはスレーブ(ID値がデータアービタへ送られる場合はID値)に基づいて概念的に優先順位付けができるが、図6の例においてライトデータアービタ560には特定のスレーブ論理ユニットが関連付けられ、このケースにおいてライトデータアービタ560により適用される調停ポリシーはマスタ(ID値がデータアービタへ送られる場合はID値)に基づいて優先順位付けを行うことができるが、優先順位付けにおいていかなるスレーブ識別情報も使用しない。
本発明の前記実施例において、データアービタにより適用される調停ポリシーおよび調停方式はスタティックに構成したり、実行時にダイナミックにプログラムされるように構成できることがお判りであろう。
本発明の実施例の前記データ調停技術はシステムレベルでQoS保証を提供するのに有用である。前記したように、これは特定のレーテンシおよび帯域幅要求条件の周辺装置を有するシステム・オン・チップ(SoC)設計の重要な要求条件になってきている。有効なQoS保証を適用することにより相互接続リソースをより効率的に使用することもでき、それにより相互接続論理の電力およびレイアウトオーバヘッドが低減される。
本発明の実施例のデータ調停技術が有用となる例として、たとえば、ダイナミックメモリコントローラ(DMC)からのリードデータを他の周辺装置からのそれよりも高い優先順位とする(すなわち、スレーブ識別子に基づいた優先順位付け)、LCDコントローラの最大レーテンシ要求条件を満たすためにLCDコントローラへ向けたデータに優先順位を与える(すなわち、マスタ識別子に基づいた優先順位付け)、キャッシュミスから生じるデータを命令プリフェッチに関連するデータよりも高い優先順位とする(すなわち、ID値に基づいた優先順位付け)、等が含まれる。
マスタ、スレーブまたはID値に基づいた調停判断を行うのに使用される情報はスプリットトランザクションプロトコル、たとえば、前記した特定の実施例におけるAXIプロトコルの順序付け制約を満たすために既に相互接続論理内に既に存在しているため、本発明の実施例に対して記述した技術をインプリメントするのは比較的簡単である。
特定の実施例について記述してきたが、本発明はそれに限定はされず発明の範囲内で多くの修正および追加を行うことができる。たとえば、発明の範囲を逸脱することなく従属項の特徴を独立項の特徴とさまざまに組み合わせることができる。
単一層相互接続構造のチャネルを示すブロック図である。 多層相互接続構造のチャネルを示す図である。 本発明の一実施例に従って単一層相互接続構造内に設けられリードデータ調停を実施できるようにするコンポーネントを示す図である。 本発明の一実施例に従って単一層相互接続構造内に設けられライトデータ調停を実施できるようにするコンポーネントを示す図である。 本発明の一実施例に従って多層相互接続構造内に設けられリードデータ調停を実施できるようにするコンポーネントを示す図である。 本発明の一実施例に従って多層相互接続構造内に設けられライトデータ調停を実施できるようにするコンポーネントを示す図である。
符号の説明
10 チャネル
15,110,120,210,245,310,335,450,480,525,565 マルチプレクサ
20,105,115,220,230,250,320,330,375,425,435,465,500,535,550 デマルチプレクサ
25,130,150 アービタ
30,125,140 デコーダ
40,50 マスタ論理ユニット
60,70 スレーブ論理ユニット
100 リードアドレスチャネル
200,205,400 リードアドレス転送
215,315,530 アドレスアービタ
222,410 スレーブ1リードアドレス
224 スレーブ2リードアドレス
225,325,430,505 アドレスデコーダ
235,335,440,540 状態論理
240,340,475,560 データアービタ
242 スレーブ1リードデータ
244 スレーブ2リードデータ
255,360,460,545 IDデコーダ
260 マスタ1リードデータ
265 マスタ2リードデータ
270,380,420,421 相互接続ブロック
300 マスタ1ライトアドレス転送
305 マスタ2ライトアドレス転送
322,411 スレーブ1ライトアドレス
324 スレーブ2ライトアドレス
345 マスタ1ライトデータ転送
350 マスタ2ライトデータ転送
365,413 スレーブ1ライトデータ
370 スレーブ2ライトデータ
401 ライトアドレス転送
402,412 リードデータ
403 ライトデータ転送
405 第2マスタ論理ユニット
415 第2スレーブ論理ユニット
445,470,520 接続パス
555 データ接続

Claims (15)

  1. データ処理装置内のマスタ論理ユニットとスレーブ論理ユニットを結合してトランザクションを実施できるようにする相互接続論理であって、各トランザクションはマスタ論理ユニットからスレーブ論理ユニットへのアドレス転送およびそのマスタ論理ユニットとそのスレーブ論理ユニット間の1つ以上のデータ転送を含み、相互接続論理は、
    アドレス転送を運ぶための少なくとも1つのアドレスチャネル、前記スレーブ論理ユニットから前記マスタ論理ユニットへのリードトランザクションのデータ転送を運ぶための少なくとも1つのリードデータチャネル、および前記マスタ論理ユニットから前記スレーブ論理ユニットへのライトトランザクションのデータ転送を運ぶための少なくとも1つのライトデータチャネルを提供するように作動可能な複数の接続パスと、
    トランザクションを実施できるようにするために前記少なくとも1つのアドレスチャネル、前記少なくとも1つのリードデータチャネルおよび前記少なくとも1つのライトデータチャネルの使用を制御するように作動可能な制御論理と、を含み、
    制御論理は、
    関連するアドレスチャネルに対しての使用を求める複数のアドレス転送間の調停を行うように作動可能なアドレスアービタ論理と、
    関連するリードデータチャネルに対しての使用を求める複数のデータ転送間の調停を行うように作動可能なリードデータアービタ論理と、
    関連するライトデータチャネルに対しての使用を求める複数のデータ転送間の調停を行うように作動可能なライトデータアービタ論理と、を含み、
    複数のトランザクションの1つ以上のデータ転送がこれら複数のトランザクションの対応するアドレス転送に関してアウト・オブ・オーダで生じ得るように、リードデータアービタ論理およびライトデータアービタ論理の各々がアドレスアービタ論理とは独立して作動可能であり、制御論理は、さらに、
    アドレス転送から引き出された状態情報を格納するように作動可能な状態論理を含み、
    リードデータアービタ論理およびライトデータアービタ論理の各々が、関連するデータチャネルの使用を求める複数のデータ転送のいずれが正当な調停目標であるかを決定するために独立して状態情報を参照するように作動可能であり、
    リードデータアービタ論理およびライトデータアービタ論理の各々が、複数の正当な調停目標が存在する時に、調停ポリシーを適用して正当な調停目標であるデータ転送の1つに関連するデータチャネルへのアクセスを許可するように独立して作動可能である、相互接続論理。
  2. 請求項に記載の相互接続論理であって、
    各リードトランザクションにはリードトランザクションのソースを識別するソース識別子が関連付けられており、
    制御論理は、さらに、各リードトランザクションに対してそのリードトランザクションのアドレス転送からそのリードトランザクションに対する目標スレーブ論理ユニットを決定するように作動可能なアドレスデコーダを含み、
    状態論理は各保留リードトランザクションに対する状態情報を格納するように作動可能であり、各保留リードトランザクションに対する状態情報はソース識別子の表示およびその保留リードトランザクションに対する目標スレーブ論理ユニットを含む、相互接続論理。
  3. 請求項に記載の相互接続論理であって、リードデータアービタ論理により適用される調停ポリシーは関連するリードトランザクションのソース識別子および/または目標スレーブ論理ユニットに基づいて正当な調停目標であるデータ転送を順位付けするように作動可能である相互接続論理。
  4. 請求項に記載の相互接続論理であって、
    各ライトトランザクションには当該ライトトランザクションを開始するマスタ論理ユニットを識別するマスタ識別子が関連付けられており、状態論理は各保留ライトトランザクションに対する状態情報を格納するように作動可能であり、各保留ライトトランザクションに対する状態情報は少なくともマスタ識別子の表示を含む相互接続論理。
  5. 請求項に記載の相互接続論理であって、
    制御論理は、さらに、各ライトトランザクションに対してそのライトトランザクションのアドレス転送からそのライトトランザクションに対する目標スレーブ論理ユニットを決定するように作動可能なアドレスデコーダを含み、各保留ライトトランザクションに対する状態情報は、さらに、そのライトトランザクションに対する目標スレーブ論理ユニットの表示を含む、相互接続論理。
  6. 請求項に記載の相互接続論理であって、ライトデータアービタ論理により適用される調停ポリシーは関連するライトトランザクションのマスタ識別子および/または目標スレーブ論理ユニットに基づいて正当な調停目標であるデータ転送を順位付けするように作動可能である相互接続論理。
  7. 請求項に記載の相互接続論理であって、各ライトトランザクションにはライトトランザクションのソースを識別するソース識別子が関連付けられており、ライトデータアービタ論理により適用される調停ポリシーは関連するライトトランザクションのマスタ識別子および/または目標スレーブ論理ユニットおよび/またはソース識別子に基づいて正当な調停目標であるデータ転送を順位付けするように作動可能である相互接続論理。
  8. 請求項1に記載の相互接続論理であって、複数の接続パスは単一層相互接続構造を形成し、リードデータチャネルに対して単一リードデータアービタ論理が設けられる相互接続論理。
  9. 請求項に記載の相互接続論理であって、ライトデータチャネルに対して単一ライトデータアービタ論理が設けられる相互接続論理。
  10. 請求項1に記載の相互接続論理であって、複数の接続パスは多層相互接続構造を形成し、リードデータチャネルに接続された各マスタ論理ユニットに対して個別のリードデータアービタ論理が設けられる相互接続論理。
  11. 請求項10に記載の相互接続論理であって、ライトデータチャネルに接続された各スレーブ論理ユニットに対して個別のライトデータアービタ論理が設けられる相互接続論理。
  12. 請求項1に記載の相互接続論理であって、さらに、各ライトトランザクションに対して、スレーブ論理ユニットからそのライトトランザクション内に含まれるマスタ論理ユニットへトランザクション状態情報を運ぶように作動可能であるライト応答チャネルを含む相互接続論理。
  13. 複数のマスタ論理ユニットおよびスレーブ論理ユニットと、
    マスタ論理ユニットおよびスレーブ論理ユニットを結合してトランザクションを実施できるようにする請求項1に記載の相互接続論理と、
    を含むデータ処理装置。
  14. データ処理装置内のマスタ論理手段とスレーブ論理手段を結合してトランザクションを実施できるようにする相互接続論理であって、各トランザクションはマスタ論理手段からスレーブ論理手段へのアドレス転送およびそのマスタ論理手段とそのスレーブ論理手段間の1つ以上のデータ転送を含み、相互接続論理は、
    アドレス転送を運ぶための少なくとも1つのアドレスチャネル手段、前記スレーブ論理手段から前記マスタ論理手段へのリードトランザクションのデータ転送を運ぶための少なくとも1つのリードデータチャネル手段、および前記マスタ論理手段から前記スレーブ論理手段へのライトトランザクションのデータ転送を運ぶための少なくとも1つのライトデータチャネル手段を提供する複数の接続パス手段と、
    トランザクションを実施できるようにするために前記少なくとも1つのアドレスチャネル手段、前記少なくとも1つのリードデータチャネル手段および前記少なくとも1つのライトデータチャネル手段の使用を制御する制御手段と、を含み、
    制御手段は、
    関連するアドレスチャネル手段に対して当該関連するアドレスチャネル手段の使用を求める複数のアドレス転送間の調停を行うアドレスアービタ手段と、
    関連するリードデータチャネル手段に対して当該関連するリードデータチャネル手段の使用を求める複数のデータ転送間の調停を行うリードデータアービタ手段と、
    関連するライトデータチャネル手段に対して当該関連するライトデータチャネル手段の使用を求める複数のデータ転送間の調停を行うライトデータアービタ手段と、を含み、
    複数のトランザクションの1つ以上のデータ転送がこれら複数のトランザクションの対応するアドレス転送に関してアウト・オブ・オーダで生じ得るように、リードデータアービタ手段およびライトデータアービタ手段の各々がアドレスアービタ手段とは独立して作動可能であり、制御論理は、さらに、
    アドレス転送から引き出された状態情報を格納するように作動可能な状態論理を含み、
    リードデータアービタ論理およびライトデータアービタ論理の各々が、関連するデータチャネルの使用を求める複数のデータ転送のいずれが正当な調停目標であるかを決定するために独立して状態情報を参照するように作動可能であり、
    リードデータアービタ論理およびライトデータアービタ論理の各々が、複数の正当な調停目標が存在する時に、調停ポリシーを適用して正当な調停目標であるデータ転送の1つに関連するデータチャネルへのアクセスを許可するように独立して作動可能である、相互接続論理。
  15. データ処理装置内のマスタ論理ユニットとスレーブ論理ユニットを結合してトランザクションを実施できるようにする方法であって、各トランザクションはマスタ論理ユニットからスレーブ論理ユニットへのアドレス転送およびそのマスタ論理ユニットとそのスレーブ論理ユニット間の1つ以上のデータ転送を含み、前記方法は、
    (a).アドレス転送を運ぶための少なくとも1つのアドレスチャネル、前記スレーブ論理ユニットから前記マスタ論理ユニットへのリードトランザクションのデータ転送を運ぶための少なくとも1つのリードデータチャネル、および前記マスタ論理ユニットから前記スレーブ論理ユニットへのライトトランザクションのデータ転送を運ぶための少なくとも1つのライトデータチャネルを提供する複数の接続パスを利用するステップと、
    (b).(i)関連するアドレスチャネルに対して当該関連するアドレスチャネルの使用を求める複数のアドレス転送間の調停をアドレスアービタ論理にさせるステップと、
    (ii)関連するリードデータチャネルに対して当該関連するリードデータチャネルの使用を求める複数のデータ転送間の調停をリードデータアービタ論理にさせるステップと、
    (iii)関連するライトデータチャネルに対して当該関連するライトデータチャネルの使用を求める複数のデータ転送間の調停をライトデータアービタ論理にさせるステップと、
    (iv)リードデータアービタ論理およびライトデータアービタ論理の各々をアドレスアービタ論理とは独立して作動させ、複数のトランザクションの1つ以上のデータ転送がこれら複数のトランザクションの対応するアドレス転送に関してアウト・オブ・オーダで生じ得るようにするステップと、
    によりトランザクションを実施できるようにするために前記少なくとも1つのアドレスチャネル、前記少なくとも1つのリードデータチャネルおよび前記少なくとも1つのライトデータチャネルの使用を制御するステップと、
    (v)アドレス転送から引き出された状態情報を格納するステップと、
    (vi)リードデータアービタ論理およびライトデータアービタ論理の各々が、関連するデータチャネルの使用を求める複数のデータ転送のいずれが正当な調停目標であるかを決定するために独立して状態情報を参照するステップと、
    (vii)リードデータアービタ論理およびライトデータアービタ論理の各々が、複数の正当な調停目標が存在する時に、正当な調停目標であるデータ転送の1つに関連するデータチャネルへのアクセスを許可するように独立して調停ポリシーを適用するステップと、を含む方法。
JP2006144856A 2005-05-26 2006-05-25 データ処理装置用相互接続論理 Active JP4696024B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0510796.6 2005-05-26
GB0510796A GB2426604B (en) 2005-05-26 2005-05-26 Interconnect logic for a data processing apparatus

Publications (2)

Publication Number Publication Date
JP2006331426A JP2006331426A (ja) 2006-12-07
JP4696024B2 true JP4696024B2 (ja) 2011-06-08

Family

ID=34834706

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006144856A Active JP4696024B2 (ja) 2005-05-26 2006-05-25 データ処理装置用相互接続論理

Country Status (3)

Country Link
US (1) US8190801B2 (ja)
JP (1) JP4696024B2 (ja)
GB (1) GB2426604B (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100675850B1 (ko) * 2005-10-12 2007-02-02 삼성전자주식회사 AXI 프로토콜을 적용한 NoC 시스템
KR100653087B1 (ko) * 2005-10-17 2006-12-01 삼성전자주식회사 AXI가 적용된 NoC 시스템 및 그 인터리빙 방법
FR2894696A1 (fr) * 2005-12-14 2007-06-15 Thomson Licensing Sas Procede d'acces a un bus de transmission de donnees, dispositif et systeme correspondant
US8156273B2 (en) * 2007-05-10 2012-04-10 Freescale Semiconductor, Inc. Method and system for controlling transmission and execution of commands in an integrated circuit device
JP2009003633A (ja) * 2007-06-20 2009-01-08 Panasonic Corp 情報処理装置
US7657682B2 (en) * 2007-09-14 2010-02-02 Freescale Semiconductor, Inc. Bus interconnect with flow control
JP2009116702A (ja) * 2007-11-07 2009-05-28 Toshiba Corp 半導体集積回路
JP5664187B2 (ja) * 2010-12-06 2015-02-04 ソニー株式会社 相互接続装置、および、その制御方法
JP5659817B2 (ja) * 2011-01-21 2015-01-28 ソニー株式会社 相互接続装置
GB2490390B (en) * 2012-03-29 2014-01-29 Renesas Mobile Corp Method, apparatus and computer program for latency measurement
US9372818B2 (en) * 2013-03-15 2016-06-21 Atmel Corporation Proactive quality of service in multi-matrix system bus
US9471524B2 (en) 2013-12-09 2016-10-18 Atmel Corporation System bus transaction queue reallocation
JP2016173798A (ja) * 2015-03-18 2016-09-29 ルネサスエレクトロニクス株式会社 半導体装置
JP6449702B2 (ja) * 2015-03-30 2019-01-09 ルネサスエレクトロニクス株式会社 半導体装置
US10146714B1 (en) * 2016-03-01 2018-12-04 Cadence Design Systems, Inc. Method and system for synchronizing transaction streams of a partial sequence of transactions through master-slave interfaces
US11144457B2 (en) * 2018-02-22 2021-10-12 Netspeed Systems, Inc. Enhanced page locality in network-on-chip (NoC) architectures
CN112579501A (zh) * 2020-12-11 2021-03-30 北京爱芯科技有限公司 Axi总线结构及芯片***

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000285068A (ja) * 1998-07-31 2000-10-13 Motorola Inc データ処理システムにおけるデータ・トランザクション実行方法および装置
JP2002041448A (ja) * 2000-07-26 2002-02-08 Oki Data Corp バスシステム
JP2002278922A (ja) * 2001-03-16 2002-09-27 Ricoh Co Ltd コンピュータバスシステム
US6493776B1 (en) * 1999-08-12 2002-12-10 Mips Technologies, Inc. Scalable on-chip system bus
US20040199692A1 (en) * 1998-09-18 2004-10-07 Phelps Richard Carl Apparatus for use in a computer systems

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5345562A (en) * 1992-02-12 1994-09-06 Industrial Technology Research Institute Data bus arbitration for split transaction computer bus
AU6248596A (en) * 1995-05-02 1996-11-21 Apple Computer, Inc. Deadlock avoidance in a split-bus computer system
US6230219B1 (en) * 1997-11-10 2001-05-08 International Business Machines Corporation High performance multichannel DMA controller for a PCI host bridge with a built-in cache
US7072817B1 (en) * 1999-10-01 2006-07-04 Stmicroelectronics Ltd. Method of designing an initiator in an integrated circuit
US6687821B1 (en) * 2000-03-31 2004-02-03 Intel Corporation System for dynamically configuring system logic device coupled to the microprocessor to optimize application performance by reading from selection table located in non-volatile memory
US6651148B2 (en) * 2000-05-23 2003-11-18 Canon Kabushiki Kaisha High-speed memory controller for pipelining memory read transactions
US6633938B1 (en) * 2000-10-06 2003-10-14 Broadcom Corporation Independent reset of arbiters and agents to allow for delayed agent reset
US6957290B1 (en) * 2000-10-06 2005-10-18 Broadcom Corporation Fast arbitration scheme for a bus
US6728816B1 (en) * 2001-02-09 2004-04-27 Lsi Logic Corporation Simple mechanism for guaranteeing in order read data return on a split transaction bus

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000285068A (ja) * 1998-07-31 2000-10-13 Motorola Inc データ処理システムにおけるデータ・トランザクション実行方法および装置
US20040199692A1 (en) * 1998-09-18 2004-10-07 Phelps Richard Carl Apparatus for use in a computer systems
US6493776B1 (en) * 1999-08-12 2002-12-10 Mips Technologies, Inc. Scalable on-chip system bus
JP2002041448A (ja) * 2000-07-26 2002-02-08 Oki Data Corp バスシステム
JP2002278922A (ja) * 2001-03-16 2002-09-27 Ricoh Co Ltd コンピュータバスシステム

Also Published As

Publication number Publication date
US8190801B2 (en) 2012-05-29
JP2006331426A (ja) 2006-12-07
GB2426604A (en) 2006-11-29
US20060271715A1 (en) 2006-11-30
GB2426604B (en) 2010-07-14
GB0510796D0 (en) 2005-06-29

Similar Documents

Publication Publication Date Title
JP4696024B2 (ja) データ処理装置用相互接続論理
US6119196A (en) System having multiple arbitrating levels for arbitrating access to a shared memory by network ports operating at different data rates
US7143219B1 (en) Multilevel fair priority round robin arbiter
US6052738A (en) Method and apparatus in a packet routing switch for controlling access at different data rates to a shared memory
KR101557090B1 (ko) 이종 소스들에 대한 계층적인 메모리 중재 기법
US6757768B1 (en) Apparatus and technique for maintaining order among requests issued over an external bus of an intermediate network node
US20090086737A1 (en) System-on-chip communication manager
US10210117B2 (en) Computing architecture with peripherals
US20070239888A1 (en) Controlling transmission of data
US8140728B1 (en) Data packet arbitration system
JP2008541276A (ja) 同時読み出し応答確認拡張ダイレクト・メモリ・アクセス・ユニット
US20230269205A1 (en) Switch for transmitting packet, network on chip having the same, and operating method thereof
US9665519B2 (en) Using a credits available value in determining whether to issue a PPI allocation request to a packet engine
US20160124772A1 (en) In-Flight Packet Processing
US8135878B1 (en) Method and apparatus for improving throughput on a common bus
US7752400B1 (en) Arbitration and crossbar device and method
JP2001067298A (ja) ハブ及びポート・アーキテクチャーを有する転送制御装置における低速ポートについての障害を防止するための書込み要求キューの使用
WO2012012176A2 (en) Method, apparatus and system for maintaining transaction coherecy in a multiple data bus platform
US9548947B2 (en) PPI de-allocate CPP bus command
WO2022160307A1 (zh) 一种路由器及片上***
US9559988B2 (en) PPI allocation request and response for accessing a memory system
US9699107B2 (en) Packet engine that uses PPI addressing
US9413665B2 (en) CPP bus transaction value having a PAM/LAM selection code field
NZ716954B2 (en) Computing architecture with peripherals

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081211

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100910

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101210

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110111

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

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

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

Free format text: PAYMENT UNTIL: 20140304

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4696024

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250