JP2006065687A - Lsi内部バス - Google Patents
Lsi内部バス Download PDFInfo
- Publication number
- JP2006065687A JP2006065687A JP2004249116A JP2004249116A JP2006065687A JP 2006065687 A JP2006065687 A JP 2006065687A JP 2004249116 A JP2004249116 A JP 2004249116A JP 2004249116 A JP2004249116 A JP 2004249116A JP 2006065687 A JP2006065687 A JP 2006065687A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- data
- lsi internal
- unit
- internal bus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
【課題】 データ転送効率を高め、動作速度を速くし、設計・検証時間を短縮する。
【解決手段】 データを一時的に保持可能な複数のバスブリッジ80を格子状に配置して、隣接するバスブリッジ80相互間およびバスブリッジ80とユニット200やユニット300間をバス10で接続する。各バスブリッジ80および各ユニット200,300にXY座標上のアドレスを付与する。データの転送は、送信元のユニット200のアドレスと送信先のユニット300のアドレスに基づき、該送信先のアドレス300に近づく2方向のいずれかのバスブリッジ80が選択されようにして、シフト動作により行う。
【選択図】 図5
【解決手段】 データを一時的に保持可能な複数のバスブリッジ80を格子状に配置して、隣接するバスブリッジ80相互間およびバスブリッジ80とユニット200やユニット300間をバス10で接続する。各バスブリッジ80および各ユニット200,300にXY座標上のアドレスを付与する。データの転送は、送信元のユニット200のアドレスと送信先のユニット300のアドレスに基づき、該送信先のアドレス300に近づく2方向のいずれかのバスブリッジ80が選択されようにして、シフト動作により行う。
【選択図】 図5
Description
本発明は、信号の中継点として複数のバスブリッジを格子状に配置したメッシュ構造のLSI内部バスに関する。
LSI設計において、バス10Aは、図11に示すように、それに接続されるCPU20、内部メモリ30、タイマ40、外部RAMコントローラ50、シリアルインターフェース60、割込み制御部70等の全ユニット間でデータを転送するため、レイアウト段階でその配線長が問題になりやすい。特に、そのバス10Aがクロックに同期したバスの場合、データの転送先が増えるにつれて負荷が増大し、バス10Aの全体の動作周波数が遅くなる要因になりやすい。
そこで、この問題に対する従来からある手法としては、図12に示すように、バスブリッジ80Aの挿入が挙げられる。すなわち、バスブリッジ80Aを挿入することで、バス10Aを複数、例えば2個のバス10A1,10A2に分割し、1つのバスに接続されるユニットの数を減らすことで、バスの負荷を軽減するものである。例えば、AMBA Specification(Rev.2.0) では、システムバスであるAHBに対し周辺バスであるAPBを定義し、バスを分断することで速度を維持している。
また、別の問題として、1つのバスを複数のマスタが共有するような構成の場合、同時には1つのマスタしかデータを転送できないため、他のマスタが必然的に待たされることになる。これを回避する手法として、図13に示すように、マルチレイヤが挙げられる。すなわち、マスタとして働くCPU20、第1DMA91および第2DMA92毎に別々のバス10B1,10B2,10B3を配備することで、複数のマスタが同時にデータ転送を開始できるようにしている。
しかしながら、図12で説明したバスブリッジ80Aの挿入は、設計のかなり初期の段階で検討される必要があり、またバスブリッジ80Aが多く挿入されると、設計の難易度が上がると共に、検証時間が増大する問題がある。
また、図13で説明したマルチレイヤ化は、バスの配線を増やしてしまうことにつながり、レイアウト時に問題となる可能性がある。さらに、バスの複雑さはバスブリッジの比ではなく、設計と検証の期間に深刻なインパクトを与える。
本発明の目的は、複数のバスブリッジを格子状に配置することにより、データ転送効率を高め、動作速度を速くし、設計・検証時間を短縮できるようにしたLSI内部バスを提供することである。
請求項1にかかる発明のLSI内部バスは、格子状に配置されデータを一時的に保持可能な複数のバスブリッジと、隣接する該バスブリッジ相互間および該バスブリッジとユニット間を接続するバスからなることを特徴とする。
請求項2にかかる発明は、請求項1に記載のLSI内部バスにおいて、前記バスブリッジ相互間および前記バスブリッジと前記ユニット間は、シフト動作によりデータ転送が行われるようにしたことを特徴とする。
請求項3にかかる発明は、請求項1又は2に記載のLSI内部バスにおいて、前記バスブリッジおよび前記ユニットは、各々XY座標上のアドレスが付与されていることを特徴とする。
請求項4にかかる発明は、請求項3に記載のLSI内部バスにおいて、前記データの転送は、送信元のユニットのアドレスと送信先のユニットのアドレスに基づき、該送信先のアドレスに近づく2方向のいずれかが選択されることにより行われることを特徴とする。
請求項5にかかる発明は、請求項1乃至4のいずれか1つに記載のLSI内部バスにおいて、前記バスブリッジは、データの受け取りの許可/禁止を示す空き信号を出力することを特徴とする。
請求項6にかかる発明は、請求項5に記載のLSI内部バスにおいて、前記バスブリッジは、前記禁止を示す空き信号を特定の1又は複数の方向からのデータ受け取りに対して出力することを特徴とする。
請求項7にかかる発明は、請求項1乃至6のいずれか1つに記載のLSI内部バスにおいて、前記バスブリッジおよび前記ユニットは、転送されるデータに付与されたIDを該転送を受けた方向に出力して、同一IDのデータを連続して受け取ることを特徴とする。
請求項8にかかる発明は、請求項5又は6に記載のLSI内部バスにおいて、前記バスブリッジは、前記空き信号を許可にしてデータを受け取る前段バッファと、該前段バッファからのデータを受けとり別のバスブリッジ又はユニットからの前記空き信号が許可のとき該データを該別のバスブリッジ又はユニットに出力する後段バッファと、からなることを特徴とする。
本発明によれば、格子状に配置されデータを一時的に保持可能な複数のバスブリッジと、隣接する該バスブリッジ相互間および該バスブリッジとユニット間を接続するバスからLSI内部バスを構成するので、バスが短距離となりデータ転送効率を高め、動作速度を速くし、設計・検証時間を短縮できる。
本実施例のLSI内部バスでは、バスブリッジを格子状に配置してこれをバスにより接続する。すなわち、バスはあくまでバスブリッジ間あるいはバスブリッジとユニットとの間に限り配置し、従来のようにバスが広範囲に亘って引き回されることがないようにする。このようにすると、構成が単純となり、perlスクリプト等で自動生成でき、ユーザはバスに関して検証する必要がなくなる。また、バスブリッジを格子状に配置することにより、送信元のユニット→送信先のユニット間の配線を1本に限らせず、マルチレイヤを実現する。また、送信元のユニット→送信先のユニット間のデータ転送経路は、自動的に変更させ、転送待ち時間を最小に押さえる。
以下、図面を参照して、本発明のLSI内部バスの実施例を詳細に説明する。図1はLSI内部バスを示すブロック図であり、1〜2ワード程度のデータを保持するバスブリッジ80を格子状に配置して、それらをバス10で上下左右に接続する。このとき、バス10はバスブリッジ80の相互間を接続する他、バスブリッジ80とユニット(CPU20,内部メモリ30,第DMA91、第2DMA92、周辺回路100等)との間も接続し、それらの間はシフト動作の要領でデータ転送を行う。
全部のバスブリッジ80およびそのバス10に接続された前記したユニット(CPU20,内部メモリ30,第DMA91、第2DMA92、周辺回路100等)は、物理的な位置(XY座標)を基にアドレスをもち、転送はそのアドレスを基に行われる。つまり、転送先に近づく2方向のどちらかが選択される。
バスブリッジ80は4方向からのライト信号WriteおよびデータDataを受け取り、その受け取りの許可/禁止の空き信号emptyを返す。またそれと逆に、4方向へのライト信号WriteおよびデータDataを出力し、空き信号emptyを受け取る。すなわち、バスブリッジ80は図2に示すように、4方向(n:北、s:南、w:西、e:東)に対するライト信号Write、データData、空き信号emptyの入力i、出力oを行う。例えば、empty_niは上からの空き信号入力、Write_noは上方向へのライト信号出力、Data_noは上方向へのデータ出力を表す。
図3にこのバスブリッジ80の内部構成を示し、第4図にバスブリッジ80を構成する前段バッファ81と後段バッファ82の接続関係を示す。図3(a)に示す前段バッファ81はライト信号WriteおよびデータDataを4方向から入力し、空き信号emptyを4方向に出力する。図3(b)に示す後段バッファ82はライト信号WriteおよびデータDataを4方向に出力し、空き信号emptyを4方向から入力する。このように空き信号emptyは前段バッファ81から出力するので、後段バッファ82にデータが蓄積されている場合でも前段バッファ81が空いていればデータを受け取ることができる。前段バッファ81と後段バッファ82は図4に示すように接続されているので、当該バスブリッジ80に受け取られたデータは通常では前段バッファ81に書き込まれるが、後段バッファ82からの空き信号emptyが許可(empty)ならその後段バッファ82に直ちに書き込まれる。
いま、図5に示すように、アドレスが(0.0)の送信元のユニット200からアドレスが(2.2)の送信先のユニット300にデータを転送するときは、両ユニット200,300のアドレスを基に、送信先のユニット300のアドレスに近づく2方向のどちらかが選択される。この場合は、送信先のユニット300が送信元のユニット200よりも下側で且つ右側にあるので、下方向か右方向に転送先が選択され、例えば、アドレス(0.0)→(0.1)→(1.1)→(2.1)→(2.2)の経路でシフト動作により転送される。この例では、4個のデータData_1〜Data_4が転送されている。このとき、各バスブリッジ80内の前段バッファ81は、図6に示すように、空き信号emptyの出力を許可(empty)にしてデータを受け取り、後段バッファ82は許可(empty)の空き信号emptyを受け取ることによりデータを出力する。
しかし、アドレス(2.1)のバスブリッジ80から空き信号emptyが禁止(not empty)であることがアドレス(1.1)のバスブリッジ80に通知されている場合は、アドレス(2.1)のバスブリッジ80へはデータを転送できないので、図7に示すように、アドレス(1.1)から下方向のアドレス(1.2)のバスブリッジ80を経由してアドレス(2.2)のユニット300にデータが転送され、転送経路が変更される。
上記した複数の転送データに対して、送信元のユニットおよび送信先のユニットから生成される固有の同じIDを付与させておき、バスブリッジや送信先ユニットから現在保有しているデータのIDを出力させるように構成した場合は、複数のデータが連なって転送されるバーストデータの場合、同じIDが出力されているバスブリッジあるいは送信先ユニットへ転送が行われ、これにより先行するデータの後を後続のデータが追いかけていくことになる。
図8はこれを説明するための図であり、ID=1が付与されているデータData_1/1〜Data_4/1がアドレス(0.0)の送信元ユニット200Aからアドレス(1.3)の送信先ユニット300Aに転送される場合、最初のデータData_1/1がアドレス(0.0)→(0.1)→(0.2)→(0.3)→(1.3)の転送順で転送されていくと、そのデータData_1/1を受け取ったバスブリッジ80あるいはユニット300AがID=1を後段に出力するので、これを追いかけてデータData_2/1〜Data_4/1が同じ経路を転送され、これにより転送順序が確保されるとともに、当該データの経由するバスを占有することで帯域が確保される。ID=2が付与されているデータData_1/2〜Data_4/2がアドレス(2.0)の送信元ユニット200Bからアドレス(1.2)の送信先ユニット300Bに転送される場合は、最初のデータData_1/2がアドレス(2.0)→(1.0)→(1.1)→(1.2)の転送順で転送されていくと、これを追いかけてデータData_2/2〜Data_4/2が同じ経路で転送されていく。
以上説明した実施例では、データは、出力する空き信号emptyが許可で且つ送信先のユニットのアドレスに近づく2方向のいずれかのバスブリッジ80が選択されて転送されていくが、バスブリッジ80が複数のバスブリッジからの転送を同時に受けた場合は、そのいずれかを選択する必要がある。
そこで、この場合にはバスブリッジ80に対して転送されてくるデータの受付に優先順位をつけると好都合である。例えば、左上から右下の方向にデータを転送する図5,図7に示した例では、図9(a)に示すように、横方向への空き信号emptyを禁止(not empty)にして横方向よりも縦方向からのデータ転送を優先して受け付けるようにし、あるいは図9(b)に示すように、下方向への空き信号emptyを禁止にして下方向よりも上方向からのデータ転送を優先して受け付けるようにし、あるいは図9(c)に示すように、右方向への空き信号emptyを禁止にして右方向よりも左方向からのデータ転送を優先して受け付けるようにする。
なお、これまではライトに関しての実施例のみを述べてきたが、リードに関しては、例えば図10(a)に示すように、アドレス(2.2)のユニット300Cからアドレス(0.0)のユニットに200Cにリードを行う場合では、リード要求コマンドをアドレス(2.2)からアドレス(0.0)に送り(=ライト動作)、これにより図10(b)に示すように、アドレス(0.0)からアドレス(2.2)にライト動作をさせることで実現できる。
10,10A,10A1,10A2,10B1〜10B3:バス
20:CPU
30:内部メモリ
40:タイマ
50:外部RAMコントローラ
60:シリアルインターフェース
70:割込み制御部
80,80A:バスブリッジ
91:第1DAM
92:第2DAM
100:周辺回路
200A,200B,200C:ユニット
300A,300B,300C:ユニット
20:CPU
30:内部メモリ
40:タイマ
50:外部RAMコントローラ
60:シリアルインターフェース
70:割込み制御部
80,80A:バスブリッジ
91:第1DAM
92:第2DAM
100:周辺回路
200A,200B,200C:ユニット
300A,300B,300C:ユニット
Claims (8)
- 格子状に配置されデータを一時的に保持可能な複数のバスブリッジと、隣接する該バスブリッジ相互間および該バスブリッジとユニット間を接続するバスからなることを特徴とするLSI内部バス。
- 請求項1に記載のLSI内部バスにおいて、
前記バスブリッジ相互間および前記バスブリッジと前記ユニット間は、シフト動作によりデータ転送が行われるようにしたことを特徴とするLSI内部バス。 - 請求項1又は2に記載のLSI内部バスにおいて、
前記バスブリッジおよび前記ユニットは、各々XY座標上のアドレスが付与されていることを特徴とするLSI内部バス。 - 請求項3に記載のLSI内部バスにおいて、
前記データの転送は、送信元のユニットのアドレスと送信先のユニットのアドレスに基づき、該送信先のアドレスに近づく2方向のいずれかが選択されることにより行われることを特徴とするLSI内部バス。 - 請求項1乃至4のいずれか1つに記載のLSI内部バスにおいて、
前記バスブリッジは、データの受け取りの許可/禁止を示す空き信号を出力することを特徴とするLSI内部バス。 - 請求項5に記載のLSI内部バスにおいて、
前記バスブリッジは、前記禁止を示す空き信号を特定の1又は複数の方向からのデータ受け取りに対して出力することを特徴とするLSI内部バス。 - 請求項1乃至6のいずれか1つに記載のLSI内部バスにおいて、
前記バスブリッジおよび前記ユニットは、転送されるデータに付与されたIDを該転送を受けた方向に出力して、同一IDのデータを連続して受け取ることを特徴とするLSI内部バス。 - 請求項5又は6に記載のLSI内部バスにおいて、
前記バスブリッジは、前記空き信号を許可にしてデータを受け取る前段バッファと、該前段バッファからのデータを受けとり別のバスブリッジ又はユニットからの前記空き信号が許可のとき該データを該別のバスブリッジ又はユニットに出力する後段バッファと、からなることを特徴とするLSI内部バス。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004249116A JP2006065687A (ja) | 2004-08-27 | 2004-08-27 | Lsi内部バス |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004249116A JP2006065687A (ja) | 2004-08-27 | 2004-08-27 | Lsi内部バス |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006065687A true JP2006065687A (ja) | 2006-03-09 |
Family
ID=36112116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004249116A Withdrawn JP2006065687A (ja) | 2004-08-27 | 2004-08-27 | Lsi内部バス |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006065687A (ja) |
-
2004
- 2004-08-27 JP JP2004249116A patent/JP2006065687A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4856379B2 (ja) | プロトコル変換仲裁回路、それを備えるシステムと信号変換仲裁方法 | |
US7647441B2 (en) | Communications system and method with multilevel connection identification | |
JP4895183B2 (ja) | メモリコントローラ | |
CN106021141B (zh) | 半导体设备 | |
JPH07107916B2 (ja) | 超大規模集積回路 | |
JPH0981508A (ja) | 通信方法及び装置 | |
JP4205743B2 (ja) | 半導体記憶装置及び半導体装置 | |
JP2007172112A (ja) | メモリコントローラ | |
US8041868B2 (en) | Bus relay device and bus control system including bus masters, interconnect section, and bridge section | |
JP2006065687A (ja) | Lsi内部バス | |
JPS6242306B2 (ja) | ||
JP2008140065A (ja) | アクセス調停装置、アクセス調停方法、及び情報処理装置 | |
US7519848B2 (en) | Data transfer apparatus | |
JP4573940B2 (ja) | クロスバススイッチ装置 | |
JP2006338533A (ja) | Ecc回路を有するマルチレイヤバスシステム | |
JPH03204753A (ja) | Dma制御装置 | |
JP2007004424A (ja) | バスシステム | |
JP4249741B2 (ja) | バスシステム及びバスシステムを含む情報処理システム | |
JP2000076199A (ja) | デバッグ端子を有するマルチプロセッサ装置 | |
JP2004110224A (ja) | データ転送回路 | |
JP3615264B2 (ja) | 情報処理装置 | |
JP4102740B2 (ja) | 情報処理装置 | |
JP6263048B2 (ja) | 半導体集積回路 | |
JP2012199767A (ja) | 電子回路システム | |
JP2011150613A (ja) | データ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20071106 |