JP2000132503A - データ転送装置 - Google Patents

データ転送装置

Info

Publication number
JP2000132503A
JP2000132503A JP10302889A JP30288998A JP2000132503A JP 2000132503 A JP2000132503 A JP 2000132503A JP 10302889 A JP10302889 A JP 10302889A JP 30288998 A JP30288998 A JP 30288998A JP 2000132503 A JP2000132503 A JP 2000132503A
Authority
JP
Japan
Prior art keywords
data
initiator
buffer
controller
target
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
JP10302889A
Other languages
English (en)
Inventor
Kazuya Tanaka
和也 田中
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.)
Victor Company of Japan Ltd
Original Assignee
Victor Company of Japan Ltd
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 Victor Company of Japan Ltd filed Critical Victor Company of Japan Ltd
Priority to JP10302889A priority Critical patent/JP2000132503A/ja
Publication of JP2000132503A publication Critical patent/JP2000132503A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

(57)【要約】 【課題】 バスを介してデータ転送を行う装置であっ
て、高速かつ効率的なデータ転送可能な装置を提供す
る。 【解決手段】 バスを介してデータ転送を行うデータ転
送装置であって、バスマスタとなるイニシエータ(例え
ば、プロセッサI/Fコントローラ310)と、前記イ
ニシエータからコマンドを受信するターゲット(例え
ば、SDRAMコントローラ328)と、前記ターゲッ
トに属し、かつ前記コマンドを保持する複数の受信バッ
ファ(例えば、受信バッファ320、322及び32
4)とを備えることを特徴とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プロセッサ、記憶
装置、画面表示装置、I/O装置等からなるコンピュー
タシステムにおいて、高速・効率的なデータ転送を行う
ためのデータ転送装置に関する。
【0002】
【従来の技術】図5は、代表的なコンピュータシステム
の構成を示すブロック図である。同図に示すように、プ
ロセッサ10は、システムコントローラ12を介して、
SRAM22、フラッシュメモリ24、ROM26、V
RAM30、SDRAM40等の記憶装置、ディスプレ
イ32等の画面表示装置に接続される。さらに、同シス
テムは、ペリフェラルコントローラ14、PCMCIA
52、シリアルROM54、ローカルI/Oバス56、
シリアルインターフェース58及び64、ネットワーク
インターフェースカード60、I/Oインターフェース
62、キーボード66、フロッピィーディスク68、ハ
ードディスク70、パラレルインターフェース72等に
より構成される。
【0003】図6は、図5のシステムコントローラの構
成の一例を示すブロック図である。同図に示すように、
システムコントローラ12は、プロセッサI/F(イン
タフェース)ポート210、SDRAM I/Fポート
220、ROM I/Fポート230、グラフィックス
I/Fポート240、I/Oポート250を備え、さら
に、DMAコントローラ260、割り込みコントローラ
270、タイマカウンタ280、シリアルコントローラ
290を備える。
【0004】従来、VME(Versa Module Europe)バ
ス、PCI(Peripheral Components Interconnect)バ
ス、ISA(Industry Standard Architecture)バス及び
その他のローカルバスでは、1つのデバイスが、そのバ
スを占有して(つまり、バスマスタとなり)データを転
送する。これらのバス上のイニシエータ(他の機器に対
して命令を発行するもの)、ターゲット(イニシエータ
から制御されるもの)にはプロセッサ、メモリ(記憶装
置)、画面表示装置、I/O装置などが接続されて、コ
ンピュータシステムが構成される。これらバスでは、同
時に2つ以上のデバイスがバスの占有を要求する場合が
ある。その場合、調停回路等によりバスの使用権を確定
する。そして、使用権をもったデバイスがその瞬間にそ
のバスを占有し(つまり、バスマスタとなり)、データ
転送を行う。
【0005】特に、PCIバスではバスブリッジアーキ
テクチャを保有し、ブリッジにより切り離されている別
々のバス上であれば、コンカレントなデータ転送を実行
することが可能である。しかし、通常、上述のバスでは
データ転送において、ある瞬間に1つのデバイスのみが
バスを占有し、その他のデバイスは待たされることにな
る。
【0006】図7は、従来のシステムコントローラ内に
おけるデータの流れの一例を示すブロック図である。プ
ロセッサI/Fコントローラ212及びDMAコントロ
ーラ260は、イニシエータ機能のみを有する。また、
SDRAMコントローラ224、ROMコントローラ2
34及びグラフィックスポート244は、ターゲット機
能のみを有する。I/Oコントローラ254は、イニシ
エータ機能とターゲット機能の両方を有する。
【0007】同図に示すように、SDRAMコントロー
ラ224、ROMコントローラ234、グラフィックス
ポート244及びI/Oコントローラ254は、それぞ
れ受信バッファ222、232、242及び252を有
する。そして、各バッファ222、232又は252
は、各コントローラ224、234又は254に送信さ
れたコマンド、データ等を保持する。バッファ242
は、グラフィックスポート244に送信されたコマン
ド、データ等を保持する。
【0008】
【発明が解決しようとする課題】しかしながら、以上の
ような従来技術には、次のような不都合がある。
【0009】(1) 2つ以上のイニシエータからの要
求により、バス上のターゲットへデータを転送すると
き、イニシエータ側でのバスの使用権のハンドシェーク
により、バスマスタデバイスを決定する。このとき、使
用権を獲得できなかったイニシエータは、使用権を獲得
したイニシエータ(つまり、バスマスタ)がデータ転送
を完了するまで、待たされることになる。つまり、バス
の使用権を獲得できなかったイニシエータは、次の処理
(データ転送)を行うことができず、実行時間(バスト
ランザクション)が増大する。
【0010】(2) システム上でダイレクトメモリア
クセス転送(DMA転送)を行っている最中では、プロ
セッサはバスを所有できず、その瞬間アクセスを待たさ
れることになる。これでは、近年のRISC(Reduced I
nstruction Set Computer)プロセッサの機能を効率よく
働かせることはできない。
【0011】(3) マルチタスク、マルチスレッド、
マルチプロセスに代表される並列実行プログラムやデー
タを共有するようなシステムにおいて、このようなシス
テムの能力の向上を図るために、バストランザクション
短縮やコンカレントデータ転送が要求されるが、ISA
バス、VMEバス等では不向きである。また、PCIバ
スではこれらの要求は多少満たされるが、データを共有
するシステムを構築する上では効率のよい転送はできな
い。また、2箇所以上のデバイスからのバースト転送等
の高速データ転送を行う場合に、その分散比率を適時最
適化することができない。
【0012】本発明は、以上の点に着目してなされたも
のであり、その目的はプロセッサ、画面表示装置、メモ
リ(記憶装置)、I/O装置等の複数の装置を使用する
システムのパファーマンスを向上させるための手段とし
て、バスのデータ転送を高速に実行できるデータ転送装
置を提供することである。
【0013】また、高速にデータ転送を行うだけでな
く、第1のイニシエータが送信したデータの全てを第1
のターゲットが処理し終わる前に、第1のイニシエータ
がバスを開放し、第1のイニシエータが第2のターゲッ
トへ新たなデータ転送を開始することや、第2のイニシ
エータが新たなバスマスターとなって新たなデータ転送
を開始すること等が可能なデータ転送装置を提供するこ
とである。
【0014】
【課題を解決するための手段】前記目的を達成するため
に、請求項1の発明は、バスを介してデータ転送を行う
データ転送装置であって、バスマスタとなるイニシエー
タと、前記イニシエータからコマンドを受信するターゲ
ットと、前記ターゲットに属しかつ前記コマンドを保持
する複数の受信バッファと、を備えることを特徴とす
る。
【0015】前記の受信バッファとしては、(1)プロ
セッサインタフェースポートからメモリインタフェース
ポートにデータ転送される際に、ライトコマンドをデコ
ードでき、受信データを保持できるメモリインタフェー
スポートのバッファ、(2)プロセッサインタフェース
ポートから画面表示装置インタフェースポートにデータ
転送される際に、ライトコマンドをデコードでき、受信
データを保持できる画面表示装置インタフェースポート
のバッファ、(3)プロセッサインタフェースポートか
らI/O装置インタフェースポートにデータ転送される
際に、ライトコマンドをデコードでき、受信データを保
持できるI/O装置インタフェースポートのバッファ、
(4)メモリインタフェースポートから別のメモリイン
タフェースポートにデータ転送される際に、ライトコマ
ンドをデコードでき、受信データを保持できるメモリイ
ンタフェースポートのバッファ、(5)メモリインタフ
ェースポートから画面表示装置インタフェースポートに
データ転送される際に、ライトコマンドをデコードで
き、受信データを保持できる画面表示装置インタフェー
スポートのバッファ、(6)メモリインタフェースポー
トからI/O装置インタフェースポートにデータ転送さ
れる際に、ライトコマンドをデコードでき、受信データ
を保持できるI/O装置インタフェースポートのバッフ
ァ、(7)画面表示装置インタフェースポートからメモ
リインタフェースポートにデータ転送される際に、ライ
トコマンドをデコードでき、受信データを保持できるメ
モリインタフェースポートのバッファ、(8)画面表示
装置インタフェースポートからI/O装置インタフェー
スポートにデータ転送される際に、ライトコマンドをデ
コードでき、受信データを保持できるI/O装置インタ
フェースポートのバッファ、(9)I/O装置インタフ
ェースポートからメモリインタフェースポートにデータ
転送される際に、ライトコマンドをデコードでき、受信
データを保持できるメモリインタフェースポートのバッ
ファ、(10)I/O装置インタフェースポートから画
面表示装置インタフェースポートにデータ転送される際
に、ライトコマンドをデコードでき、受信データを保持
できる画面表示装置インタフェースポートのバッファ、
等が例示される。
【0016】また、受信バッファは、イニシエータのポ
ート毎に設けることが好ましいが、プロセッサのポート
用として一つ、プロセッサ以外の複数のイニシエータの
ポート用としてもう一つというように必ずしもイニシエ
ータのポート毎でなくても良い。
【0017】請求項2の発明は、バスを介してデータ転
送を行うデータ転送装置であって、バスマスタとなるイ
ニシエータと、前記イニシエータへデータを送信するタ
ーゲットと、前記ターゲットに属しかつ前記データを保
持する複数の送信バッファと、を備えることを特徴とす
る。
【0018】前記送信バッファとしては、(1)プロセ
ッサインタフェースポートからメモリインタフェースポ
ートにデータ転送される際に、デコードしたリードコマ
ンドに対応する送信データを保持できるプロセッサイン
タフェースポートの送信バッファ、(2)プロセッサイ
ンタフェースポートから画面表示装置インタフェースポ
ートにデータ転送される際に、デコードしたリードコマ
ンドに対応する送信データを保持できるプロセッサイン
タフェースポートの送信バッファ、(3)プロセッサイ
ンタフェースポートからI/O装置インタフェースポー
トにデータ転送される際に、デコードしたリードコマン
ドに対応する送信データを保持できるプロセッサインタ
フェースポートの送信バッファ、(4)第1のメモリイ
ンタフェースポートから第2のメモリインタフェースポ
ートにデータ転送される際に、デコードしたリードコマ
ンドに対応する送信データを保持できる第1のメモリイ
ンタフェースポートの送信バッファ、(5)メモリイン
タフェースポートから画面表示装置インタフェースポー
トにデータ転送される際に、デコードしたリードコマン
ドに対応する送信データを保持できるメモリインタフェ
ースポートの送信バッファ、(6)メモリインタフェー
スポートからI/O装置インタフェースポートにデータ
転送される際に、デコードしたリードコマンドに対応す
る送信データを保持できるメモリインタフェースポート
の送信バッファ、(7)画面表示装置インタフェースポ
ートからメモリインタフェースポートにデータ転送され
る際に、デコードしたリードコマンドに対応する送信デ
ータを保持できる画面表示装置インタフェースポートの
送信バッファ、(8)画面表示装置インタフェースポー
トからI/O装置インタフェースポートにデータ転送さ
れる際に、デコードしたリードコマンドに対応する送信
データを保持できる画面表示装置インタフェースポート
の送信バッファ、(9)I/O装置インタフェースポー
トからメモリインタフェースポートにデータ転送される
際に、デコードしたリードコマンドに対応する送信デー
タを保持できるI/O装置インタフェースポートの送信
バッファ、(10)I/O装置インタフェースポートか
ら画面表示装置インタフェースポートにデータ転送され
る際に、デコードしたリードコマンドに対応する送信デ
ータを保持できるI/O装置インタフェースポートの送
信バッファ、等が例示される。
【0019】また、送信バッファは、イニシエータのポ
ート毎に設けることが好ましいが、プロセッサのポート
用として一つ、プロセッサ以外の複数のイニシエータの
ポート用としてもう一つというように必ずしもイニシエ
ータのポート毎でなくても良い。
【0020】請求項3の発明は、請求項1の発明におい
て、複数の前記受信バッファが同一の前記ターゲットへ
データを転送する際に、前記受信バッファ間におけるデ
ータ処理の優先順位を決定するための調停回路を備えた
ことを特徴とする。
【0021】複数のイニシエータが発行した複数のコマ
ンドが、同一のターゲットに属する複数のバッファにそ
れぞれ保持され、デコードされる。そして、調停回路に
よって決定された優先順位の高いバッファに保持された
コマンドから順に処理される。調停回路の優先順位の変
更は、あるデバイスに関して一時的に多くのデータ転送
を処理したい、あるいはあるデバイスを他のデバイスに
対して優先的に処理したい、ということを実現させるた
めである。優先順位は、リアルタイムに変更される。
【0022】請求項4の発明は、請求項2の発明におい
て、同一の前記ターゲットに属する複数の前記送信バッ
ファが各々のイニシエータへデータを転送する際に、前
記送信バッファ間におけるデータ処理の優先順位を決定
するための調停回路を備えたことを特徴とする。
【0023】複数のイニシエータが発行した複数のコマ
ンドが、同一のターゲットに属するバッファに保持さ
れ、デコードされ、ターゲットポートの送信バッファに
データが保持される。この送信バッファは、第1のイニ
シエータ用、第2のイニシエータ用の如く複数設けられ
ている。そして、調停回路によって決定された優先順位
の高い送信バッファに保持されているデータから順に処
理される。優先順位は、リアルタイムに変更される。
【0024】請求項5の発明は、バスを介してデータ転
送を行うデータ転送装置であって、バスマスタとなるイ
ニシエータと、前記イニシエータからコマンドを受信す
るターゲットとを含み、前記ターゲットが、前記コマン
ドを保持する受信バッファを備え、前記イニシエータ
が、前記受信バッファが空でないときに、自分が発行し
たコマンドを保持する送信バッファを備えることを特徴
とする。
【0025】ターゲットの受信バッファが空でないとき
はイニシエータからコマンドを送信できないとすると、
イニシエータはターゲットの受信バッファが空になるま
で処理待ち状態となってしまう。そこで、イニシエータ
に送信バッファを設け、送信バッファにコマンド等を入
れられれば、ターゲットの受信バッファにコマンド等を
入れられなくても、イニシエータが次の処理を開始する
ことができるようになる。
【0026】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態を説明をする。
【0027】本発明は、図5に示すようなコンピュータ
システムにおいて、すべてのトランザクションでデータ
転送を効率的に処理することによって、各イニシエータ
側のスループットの向上を図るための装置である。
【0028】図1は、第1実施形態に係るバスマスタ機
能をもつデバイス(イニシエータ)が発行したライトコ
マンドによって、イニシエータからターゲットへデータ
が転送される際のデータの流れを示す図である。
【0029】便宜上、ROMコントローラ334、SD
RAMコントローラ328およびグラフィックスポート
348にはバスマスタ機能がないとする。また、プロセ
ッサI/Fコントローラ310、I/Oコントローラ3
56、DMAコントローラ260はバスマスタ機能を搭
載しているとする。
【0030】図1では、ROMコントローラ334に
は、プロセッサI/Fコントローラ310からしか、デ
ータは転送されないというシステム構成を取る。このた
め、受信バッファは、プロセッサI/Fコントローラ3
10に接続される受信バッファ(BUF)330だけで
よい。
【0031】ところがSDRAMコントローラ328に
は、プロセッサI/Fコントローラ310、I/Oコン
トローラ356及びDMAコントローラ260のそれぞ
れからコマンドが転送されるため、各イニシエータ毎に
受信バッファ320、322及び324を備える。ま
た、グラフィックスポート348も同様にそれぞれ受信
バッファ340、342及び344を備える。I/Oコ
ントローラ356には、プロセッサI/Fコントローラ
310およびDMAコントローラ260からデータが転
送されるため、2つの受信バッファ(350と352)
を備える。
【0032】イニシエータが、ターゲットの受信バッフ
ァへライトコマンドとデータを入力する。例えば、プロ
セッサI/Fコントローラ310がイニシエータとな
り、SDRAMコントローラ328がターゲットとなっ
た場合は、プロセッサI/Fコントローラ310から受
信バッファ320へライトコマンドとデータが入力され
る。ライトコマンドとしてはポステッドライト方式を採
用する。また、バースト転送にも対応可能とする。
【0033】データフローについては図1の矢印のとお
りである。すなわち、I/Oコントローラ356から送
出されたデータは、受信バッファ322を経由してSD
RAMコントローラ328又は受信バッファ342を経
由してグラフィックスポート348のいずれかに転送さ
れる。
【0034】同様に、DMAコントローラ260から送
出されたデータは、受信バッファ324を経由してSD
RAMコントローラ328、受信バッファ344を経由
してグラフィックスポート348、又は受信バッファ3
52を経由してI/Oコントローラ356のいずれかに
転送される。
【0035】同様に、プロセッサI/Fコントローラ3
10から送出されたデータは、受信バッファ320を経
由してSDRAMコントローラ328、受信バッファ3
30を経由してROMコントローラ334、受信バッフ
ァ340を経由してグラフィックスポート348、又は
受信バッファ350を経由してI/Oコントローラ35
6のいずれかに転送される。
【0036】ターゲットがイニシエータ毎に受信バッフ
ァを備えることにより、イニシエータはターゲットの受
信バッファにコマンド、データ等を転送した後、すぐに
次のオペレーションサイクルに入ることができるため、
イニシエータは効率よくデータを処理できる。
【0037】具体的には、例えばSDRAM328が、
プロセッサI/Fコントローラ310用の受信バッファ
320と、I/Oコントローラ356用の受信バッファ
322と、DMAコントローラ260用の受信バッファ
324とを備えることにより、プロセッサI/Fコント
ローラ310は受信バッファ320にコマンド、データ
等を転送した後、すぐに次のオペレーションサイクルに
入ることができるため、プロセッサI/Fコントローラ
310は効率よくデータを処理できる。
【0038】このように各イニシエータ毎に受信バッフ
ァを備えることにより、各イニシエータはコマンド転送
を迅速に処理し、バスを開放することができる。しか
し、各イニシエータのバス使用頻度は必ずしも同程度と
は限らない。このため、使用頻度の高いイニシエータに
ついては1つのイニシエータに対して1つの受信バッフ
ァを備え、使用頻度の低いイニシエータについては複数
のイニシエータに対して1つの受信バッファを備えると
しても良い。
【0039】なお、コントロール332、326、34
6及び354は、それぞれ配下に持つ受信バッファ(B
UF)群を制御し、コマンド及びデータをデコードする
機能を保有する。
【0040】図2は、第2実施形態に係るバスマスタ機
能をもつデバイス(イニシエータ)が発行したリードコ
マンドによって、ターゲットからイニシエータへデータ
が転送される際のデータの流れを示す図である。
【0041】ROMコントローラ435に接続された受
信バッファ432が、プロセッサI/Fコントローラ4
10からリードコマンドを受信すると、ROMコントロ
ーラ435から送信バッファ436を経由して、プロセ
ッサI/Fコントローラ410に要求されたデータが転
送される。同様に、受信バッファ433が、I/Oコン
トローラ450からリードコマンドを受信すると、RO
Mコントローラ435から送信バッファ437を経由し
て、I/Oコントローラ450に要求されたデータが転
送される。同様に、受信バッファ434が、DMAコン
トローラ460からリードコマンドを受信すると、RO
Mコントローラ435から送信バッファ438を経由し
て、DMAコントローラ460に要求されたデータが転
送される。
【0042】また、受信バッファ422が、プロセッサ
I/Fコントローラ410からリードコマンドを受信す
ると、SDRAMコントローラ425から送信バッファ
426を経由して、プロセッサI/Fコントローラ41
0に要求されたデータが転送される。同様に、受信バッ
ファ423が、I/Oコントローラ450からリードコ
マンドを受信すると、送信バッファ427を経由して、
I/Oコントローラ450にデータが転送される。同様
に、受信バッファ424が、DMAコントローラ460
からリードコマンドを受信すると、送信バッファ428
を経由して、DMAコントローラ460にデータが転送
される。
【0043】また、受信バッファ442がリードコマン
ドを受信すると、送信バッファ446を経由して、プロ
セッサI/Fコントローラ410にデータが転送され
る。同様に、受信バッファ443がリードコマンドを受
信すると、送信バッファ447を経由して、I/Oコン
トローラ450にデータが転送される。同様に、受信バ
ッファ444がリードコマンドを受信すると、送信バッ
ファ448を経由して、DMAコントローラ460にデ
ータが転送される。
【0044】I/Oコントローラ450に関しては、受
信バッファ452がリードコマンドを受信すると、送信
バッファ454を経由してプロセッサI/Fコントロー
ラ410にデータが転送される。受信バッファ453が
リードコマンドを受信すると、送信バッファ455を経
由してDMAコントローラ460にデータが送信され
る。なお、I/Oブリッジ458はバスブリッジ機能を
有するので、あるI/Oデバイス456と別のI/Oデ
バイス457との間でデータを転送する場合、データが
I/Oコントローラ450を経由することはない。
【0045】ターゲットがイニシエータ毎に送信バッフ
ァを備えることにより、ターゲットは送信バッファにデ
ータ等を転送した後、すぐに次のオペレーションサイク
ルに入ることができるため、ターゲットは効率よくデー
タを処理できる。
【0046】具体的には、例えばSDRAMコントロー
ラ425が、プロセッサI/Fコントローラ用の送信バ
ッファ426と、I/Oコントローラ用の送信バッファ
427と、DMAコントローラ用の送信バッファ428
とを備えることにより、SDRAMコントローラ425
は送信バッファ426にデータ等を転送した後、すぐに
次のオペレーションサイクルに入ることができるため、
SDRAMコントローラ425は効率よくデータを処理
できる。
【0047】なお、あるターゲットからあるイニシエー
タへデータ転送される頻度が少ない場合は、かかるイニ
シエータ専用の送信バッファを必ずしも備えなくても良
い。例えば、ターゲットAからイニシエータBへのデー
タ転送は頻繁に行われるが、ターゲットAからイニシエ
ータC、Dへのデータ転送の頻度が少ない場合は、ター
ゲットAは、イニシエータB専用の送信バッファを1つ
と、イニシエータC及びD用の送信バッファを1つ備え
るとしても良い。
【0048】次に、インタフェースポートの概要につい
て説明する。図3は、第3実施形態に係るスレーブ機能
しか持たないデバイスのインタフェースポートの概要を
示すブロック図である。インタフェースポート500
は、スレーブ機能しか持たない(つまり、ターゲットに
はなるが、イニシエータにはならない)デバイス510
に接続する。例えば、図1に示したROM26、VRA
M30、SDRAM40等に接続する。また、インタフ
ェースポート500は、イニシエータが発行するリード
コマンドやライトコマンドに対してデータ転送のフロー
を持つ。受信バッファ521、522、523は、イニ
シエータ(不図示)から送られてくるライトコマンド、
アドレス、データ等を保持し、ライト・コントロール5
25へ転送する。受信バッファ531、532、533
は、イニシエータから送られてくるリードコマンド、ア
ドレス等を保持し、リード・コントロール535へ転送
する。送信バッファ541、542、543は、イニシ
エータへそのイニシエータによって要求されたデータを
転送する。
【0049】ライト・コントロール525が、受信バッ
ファ521〜3を制御する。リード・コントロール53
5が送信バッファ541〜3を制御する。各コントロー
ル(525と535)の優先順位はインターフェースポ
ート内バス用のアービタ、すなわち調停回路550が決
定する。
【0050】図7に示すように、SDRAMコントロー
ラ224が1つの受信バッファ222しか有しない装置
において、まずプロセッサI/Fコントローラ212か
ら受信バッファ222へデータが転送され、次にI/O
コントローラ254から受信バッファ222へデータが
転送され、最後にDMAコントローラ260から受信バ
ッファ222へデータが転送された場合、受信バッファ
がFIFO(先入れ先出し)型のバッファであればデー
タが転送された順序に従ってSDRAM224はデータ
を処理する。また、受信バッファがLIFO(後入れ先
出し)型のバッファであればデータが転送された順序と
は逆の順序でSDRAM224はデータを処理する。
【0051】しかし、本実施形態においては、調停回路
によって決定された優先順位に従ってデータが処理され
る。つまり、受信バッファ521、522、523の順
でデータを受信した場合であっても、データを受信した
順序の通り又はそれと逆の順序でデータが処理されると
は限らない。
【0052】ここで、同一のイニシエータからライトコ
マンドとリードコマンドの2つのコマンドが発生してい
ることがある。この場合、まずライトコマンドがライト
コマンド用受信バッファ(BUF)521に入力され、
ポステッドライト方式のため受信バッファ521の中で
そのライトコマンドが止まっている間に、リードコマン
ドがリードコマンド用受信バッファ531に入力される
ことがありうる。このとき、ライトコマンドがライトコ
マンド用受信バッファに入力されたのが先か、リードコ
マンドがリードコマンド用受信バッファに入力されたの
が先かを、認識する回路が必要である。仮に、上述のよ
うなときでは、ライトコマンドを処理してから、その後
にリードコマンドを処理する必要がある。逆に、リード
コマンドの入力がライトコマンドの入力より先になされ
た場合は、リードコマンドを処理してからライトコマン
ドを処理しなければならない。このような回路を備える
ことにより、一のイニシエータから一のターゲットへ、
リード・コマンドとライト・コマンドの2つのコマンド
が発行されても、コマンドの追い越し(先に発行された
コマンドを後から処理する)は発生せず、矛盾のないデ
ータ転送が確立できる。
【0053】同一のイニシエータからライトコマンドと
リードコマンドの2つのコマンドが発生している場合に
は、上記のようにコマンドの追い越しを禁止する必要が
あるが、異なるイニシエータから発行されたコマンドに
ついてはそのような追い越しを禁止する必要はない。
【0054】プロセッサ(不図示)が、調停回路550
の調停手法を設定する。当然、調停回路550は、各タ
ーゲットのインターフェースポート500毎に必要であ
る。調停回路550は、イニシエータからのリードコマ
ンドを保持するバッファ(531〜533)、イニシエ
ータからのライトコマンドを保持するバッファ(521
〜523)、イニシエータへ送信するデータを保持する
バッファ(541〜543)について調停(アービトレ
ーション)をおこなわなければならない。
【0055】前述のように調停回路は各ポートごとに存
在する。そして、各調停回路における調停手法として
は、固定優先方式、ラウンド・ロビン方式、シングルレ
ベル方式等が採用できる。そして、それらをどのように
組み合わせるかを可変とする。つまり、固定優先方式と
ラウンド・ロビン方式を組み合わせたり、又は固定優先
方式とシングルレベル方式を組み合わせたりという設定
を変更可能な回路構成とする。さらに、調停手法に優先
順位をつけ、その優先順位を可変とする。つまり、ある
処理をする時は固定優先方式を優先順位第1位、ラウン
ド・ロビン方式を第2位とし、また別の処理をする時は
ラウンド・ロビン方式を優先順位第1位、固定優先方式
を第2位とするというような優先順位の変更が可能な回
路構成とする。このように優先権の割り当て方式(調停
方式)を変更可能とすることによって、スループットを
向上させることができる。
【0056】図4は、本発明の第4実施形態に係るバス
マスタ機能を備えるイニシエータデバイスと接続するイ
ンタフェースポートの概要を示すブロック図である。イ
ンタフェースポート600は、バスマスタ機能を備える
デバイス610と接続する。インタフェースポート60
0は、アドレスおよびリード/ライトコマンドをターゲ
ット(不図示)に発行する機能を備えているという点
で、図5に示したインタフェースポート500と相違す
る。
【0057】バスマスタ・リード・コントロール620
によってリードコマンド送信バッファ622〜624を
制御する。また、バスマスタ・ライト・コントロール6
30によって送信バッファ632〜634を制御する。
つまり、イニシエータであるデバイス610からリード
/ライト・コマンドやアドレスを受信し、ターゲットの
I/Fポートのバッファ626〜628や636〜63
8へコマンド、データ等を送信する。
【0058】例えば、デバイス610からライト・コマ
ンドが発行されると、外部コントロール612、バスマ
スタ・ライト・コントロール630、バッファ632を
経由して、コマンド転送先であるターゲットのI/Fポ
ートのバッファ636にコマンドが転送される。このと
き、バッファ636が既に他のコマンドやデータを保持
している場合がある。このようなときは、ポステッドラ
イト方式を採用するため、既に発行されたライトコマン
ドは、バッファ632に保持される。一方、バッファ6
36が空の時は、ライトコマンドは、バッファ632に
保持されることなく、バッファ636へ転送される。
【0059】バッファ632にコマンドが保持されてい
るとき、外部コントロール612は、バッファ632が
空になるまで、デバイス610の転送サイクルを一時停
止する。バッファ632は、バッファ636が空になる
と、コマンド、アドレス及びデータをバッファ636へ
転送する。
【0060】システムコントローラ12の前述の2種の
インタフェースポート(スレーブ機能しか有しないポー
ト500とマスタ機能も有するポート600)は、基本
的には同様の回路で実現できる。つまり、バッファのラ
インの追加やコントローラの制御範囲の拡大を行うだけ
で、インタフェースポートの追加を行うことができる。
【0061】なお、本発明は上記実施形態に限定される
ものではなく、その趣旨を逸脱しない範囲で、システム
構成を種々変形したり、また半導体や電気回路によって
実現できることは言うまでもない。
【0062】
【発明の効果】以上説明したように本発明によれば、次
のような効果がある。
【0063】ターゲットの属するインタフェースポート
に、複数の受信バッファを備えることにより、イニシエ
ータはその受信バッファにコマンド等を転送した後、
即、次のオペレーションサイクルに入ることができるた
め、イニシエータは効率よくデータを処理できる。
【0064】また、ターゲットの属するインタフェース
ポートに、複数の送信バッファを備えることにより、タ
ーゲットはその送信バッファにデータ等を転送した後、
即、次のオペレーションサイクルに入ることができるた
め、ターゲットは効率よくデータを処理できる。
【0065】さらに、調停回路を備え、調停回路によっ
て各バッファ間の優先順位を決定し、優先順位の高いバ
ッファから順にデータを処理することにより、調停回路
はリアルタイムに優先順位を変更するだけで、システム
全体のデータ転送の効率的な処理が実現できる。
【0066】システムコントローラ内にターゲットの属
するインタフェースポートを追加することによってシス
テムを拡張する際、システムコントローラ内の既存ポー
トに、新ポート用のバッファを追加し、そのバッファを
既存の調停回路の調停対象に追加するだけで、システム
を拡張できる。また、これに関する回路規模が極めて増
大することはない。
【0067】バスマスタ機能を備えるインタフェースポ
ート内のライトコマンド送信バッファおよびそのコント
ローラによって、イニシエータはライトコマンドの転送
を途中停止することなく、次の内部処理を行うことがで
きる。これにより、イニシエータ側のデータ処理を効率
よく行うことができる。
【図面の簡単な説明】
【図1】第1実施形態に係るバスマスタ機能をもつデバ
イス(イニシエータ)が発行したライトコマンドによっ
て、イニシエータからターゲットへデータが転送される
際のデータの流れを示す図。
【図2】第2実施形態に係るバスマスタ機能をもつデバ
イス(イニシエータ)が発行したリードコマンドによっ
て、ターゲットからイニシエータへデータが転送される
際のデータの流れを示す図。
【図3】第3実施形態に係るスレーブ機能しか持たない
デバイスのインタフェースポートの概要を示すブロック
図。
【図4】第4実施形態に係るバスマスタ機能を備えるイ
ニシエータデバイスと接続するインタフェースポートの
概要を示すブロック図。
【図5】代表的なコンピュータシステムの構成を示すブ
ロック図。
【図6】図5のシステムコントローラの構成の一例を示
すブロック図。
【図7】図5のシステムコントローラ内におけるデータ
の流れの一例を示すブロック図。
【符号の説明】
260 DMAコントローラ 310 プロセッサI/Fコントローラ 328 SDRAMコントローラ 334 ROMコントローラ 348 グラフィックスポート 356 I/Oコントローラ 320、322、324、330、340、342、3
44、350、352ターゲット側の受信バッファ 426、427、428、436、437、438、4
46、447、448、454、455 ターゲット側
の送信バッファ 550、650 調停回路 622、623、624、632、633、634 イ
ニシエータ側の送信バッファ

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 バスを介してデータ転送を行うデータ転
    送装置であって、 バスマスタとなるイニシエータと、 前記イニシエータからコマンドを受信するターゲット
    と、 前記ターゲットに属しかつ前記コマンドを保持する複数
    の受信バッファと、 を備えることを特徴とするデータ転送装置。
  2. 【請求項2】 バスを介してデータ転送を行うデータ転
    送装置であって、 バスマスタとなるイニシエータと、 前記イニシエータへデータを送信するターゲットと、 前記ターゲットに属しかつ前記データを保持する複数の
    送信バッファと、 を備えることを特徴とするデータ転送装置。
  3. 【請求項3】複数の前記受信バッファが同一の前記ター
    ゲットへデータを転送する際に、前記受信バッファ間に
    おけるデータ処理の優先順位を決定するための調停回路
    を備えたことを特徴とする請求項1に記載のデータ転送
    装置。
  4. 【請求項4】同一の前記ターゲットに属する複数の前記
    送信バッファが各々のイニシエータへデータを転送する
    際に、前記送信バッファ間におけるデータ処理の優先順
    位を決定するための調停回路を備えたことを特徴とする
    請求項2に記載のデータ転送装置。
  5. 【請求項5】バスを介してデータ転送を行うデータ転送
    装置であって、 バスマスタとなるイニシエータと、 前記イニシエータからコマンドを受信するターゲットと
    を含み、 前記ターゲットが、前記コマンドを保持する受信バッフ
    ァを備え、 前記イニシエータが、前記受信バッファが空でないとき
    に、自分が発行したコマンドを保持する送信バッファを
    備えることを特徴とするデータ転送装置。
JP10302889A 1998-10-23 1998-10-23 データ転送装置 Pending JP2000132503A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10302889A JP2000132503A (ja) 1998-10-23 1998-10-23 データ転送装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10302889A JP2000132503A (ja) 1998-10-23 1998-10-23 データ転送装置

Publications (1)

Publication Number Publication Date
JP2000132503A true JP2000132503A (ja) 2000-05-12

Family

ID=17914332

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10302889A Pending JP2000132503A (ja) 1998-10-23 1998-10-23 データ転送装置

Country Status (1)

Country Link
JP (1) JP2000132503A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002306765A (ja) * 2001-04-17 2002-10-22 Heiwa Corp 遊技機
WO2006030650A1 (ja) * 2004-09-16 2006-03-23 Nec Corporation 複数の処理ユニットでリソースを共有する情報処理装置
EP1703410A2 (en) 2005-03-17 2006-09-20 Fujitsu Limited Data transfer device
WO2006132006A1 (ja) * 2005-06-09 2006-12-14 Matsushita Electric Industrial Co., Ltd. メモリ制御装置及びメモリ制御方法
US7519774B2 (en) 2004-05-28 2009-04-14 Renesas Technology Corp. Data processor having a memory control unit with cache memory

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002306765A (ja) * 2001-04-17 2002-10-22 Heiwa Corp 遊技機
US8032715B2 (en) 2004-05-28 2011-10-04 Renesas Electronics Corporation Data processor
US7519774B2 (en) 2004-05-28 2009-04-14 Renesas Technology Corp. Data processor having a memory control unit with cache memory
US7783827B2 (en) 2004-05-28 2010-08-24 Renesas Technology Corp. Data processor having a memory controller with cache memory
JP4737438B2 (ja) * 2004-09-16 2011-08-03 日本電気株式会社 複数の処理ユニットでリソースを共有する情報処理装置
WO2006030650A1 (ja) * 2004-09-16 2006-03-23 Nec Corporation 複数の処理ユニットでリソースを共有する情報処理装置
JPWO2006030650A1 (ja) * 2004-09-16 2008-05-15 日本電気株式会社 複数の処理ユニットでリソースを共有する情報処理装置
US7650453B2 (en) 2004-09-16 2010-01-19 Nec Corporation Information processing apparatus having multiple processing units sharing multiple resources
EP1703410A2 (en) 2005-03-17 2006-09-20 Fujitsu Limited Data transfer device
US7475170B2 (en) 2005-03-17 2009-01-06 Fujitsu Limited Data transfer device for transferring data to and from memory via a bus
WO2006132006A1 (ja) * 2005-06-09 2006-12-14 Matsushita Electric Industrial Co., Ltd. メモリ制御装置及びメモリ制御方法
JP4693843B2 (ja) * 2005-06-09 2011-06-01 パナソニック株式会社 メモリ制御装置及びメモリ制御方法
JPWO2006132006A1 (ja) * 2005-06-09 2009-01-08 松下電器産業株式会社 メモリ制御装置及びメモリ制御方法

Similar Documents

Publication Publication Date Title
JP2002530744A (ja) 多重レベル接続識別を備えた通信のシステムおよび方法
JP5578713B2 (ja) 情報処理装置
US8990456B2 (en) Method and apparatus for memory write performance optimization in architectures with out-of-order read/request-for-ownership response
JP4313607B2 (ja) バス接続回路及びバス接続システム
KR100708096B1 (ko) 버스 시스템 및 그 실행 순서 조정방법
WO2016189294A1 (en) Single-chip multi-processor communication
JP2002366507A (ja) 複数チャネルdmaコントローラおよびプロセッサシステム
JP2000293436A (ja) パイプラインメモリシステムにおける複数のターゲットへの複数の未解決要求のサポート
US6941407B2 (en) Method and apparatus for ordering interconnect transactions in a computer system
JP2000132503A (ja) データ転送装置
JPH06274425A (ja) ネットワークアダプタ装置
JPH10283304A (ja) 割り込み要求を処理する方法及びシステム
US6889283B2 (en) Method and system to promote arbitration priority in a buffer queue
US6742074B2 (en) Bus to system memory delayed read processing
US6085271A (en) System bus arbitrator for facilitating multiple transactions in a computer system
JP2001067298A (ja) ハブ及びポート・アーキテクチャーを有する転送制御装置における低速ポートについての障害を防止するための書込み要求キューの使用
EP1193607B1 (en) Apparatus and method for the exchange of signal groups between a plurality of components in a digital signal processor having a direct memory access controller
JP2009003633A (ja) 情報処理装置
JP2002342295A (ja) マルチプロセッサシステム
KR102333544B1 (ko) 마이크로컴퓨터 시스템용 인터럽트-구동 i/o 중재기
US6493779B1 (en) Method and system for interrupt handling using device pipelined packet transfers
EP1193605B1 (en) Apparatus and method for the transfer of signal groups between digital signal processors in a digital signal processing unit
JPH09218859A (ja) マルチプロセッサ制御システム
JP3050131B2 (ja) アービトレーション方式
JPH08278939A (ja) データ転送方法及びデータ転送装置