JPH1011387A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH1011387A
JPH1011387A JP15856196A JP15856196A JPH1011387A JP H1011387 A JPH1011387 A JP H1011387A JP 15856196 A JP15856196 A JP 15856196A JP 15856196 A JP15856196 A JP 15856196A JP H1011387 A JPH1011387 A JP H1011387A
Authority
JP
Japan
Prior art keywords
bus
buffer
dma
unit
stages
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
Application number
JP15856196A
Other languages
English (en)
Inventor
Atsushi Hikono
厚志 彦野
Kiyoshi Sudo
清 須藤
Kenichi Ichiiki
賢一 柞木
Takanori Kato
貴紀 加藤
Kenji Hoshi
健二 星
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.)
Fujitsu Ltd
PFU Ltd
Original Assignee
Fujitsu Ltd
PFU 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 Fujitsu Ltd, PFU Ltd filed Critical Fujitsu Ltd
Priority to JP15856196A priority Critical patent/JPH1011387A/ja
Publication of JPH1011387A publication Critical patent/JPH1011387A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】 リトライ機能を有するスプリット方式を採用
したパスを介してDMA転送を行う情報処理装置に関
し、リトライ回数を低減させ、スループットを向上させ
ることができる情報処理装置を提供することを目的とす
る。 【解決手段】 マスタ側のDMAバッファの段数を変更
可能としておき、これをスレーブ側の受信バッファの段
数に応じて最適化することによりスレーブ側からのリト
ライ応答回数を低減し、バスの有効利用を図る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は情報処理装置に係
り、特に、リトライ機能を有するスプリット方式を採用
したバスを介してDMA転送を行う情報処理装置に関す
る。近年、データ処理装置において、バスの転送能力は
システム全体の処理能力に大きく関与している。そのた
めバスサイクルの高速化や、バス幅の多ビット化と共
に、バスの有効利用をはかるために、スプリット方式が
採用されることが多くなっている。
【0002】スプリット方式では、リトライ機能を有す
るものが一般的であるが、リトライサイクルによりバス
トランザクションのピーク時のスループットが低下し、
処理効率を低下させていた。そこで、処理効率を向上さ
せるためにはリトライ回数の低減が望まれている。
【0003】
【従来の技術】情報処理装置において、バスの有効利用
をはかるために、スプリット方式が使われていた。図6
に従来の一例のブロック構成図を示す。
【0004】従来の情報処理装置1は、データを転送す
るバス2、バス2に接続され、バス2に転送されるパケ
ットを監視するとともに、バス2にパケットを転送する
バスコントローラ3,4、バスコントローラ3,4に接
続されたデータ処理部5,6より構成される。
【0005】データ処理部5は、CPU7及び主記憶装
置8から構成され、データの処理を行う。データ処理部
6は、主記憶装置8に対してデータをDMA転送可能と
されたDMAC(Direct Memory Access Controller )
9及びデータを処理する処理部10から構成され、主記
憶装置8の資源を用いてデータ処理を行ったり、処理デ
ータを共通の資源として主記憶装置8に格納する。
【0006】図7に従来の一例のマスタ側のバスコント
ローラの動作フローチャートを示す。マスタ側のバスコ
ントローラ4ではコマンドを送信バッファ4aに読み込
むと、バッファ4aに読み込まれたコマンド(例えば、
DMA)をバス2を介してスレーブ側に送信し、スレー
ブ側からの応答を待つ(ステップS3−1、S3−
2)。
【0007】マスタ側のバスコントローラ4はスレーブ
側のバスコントローラ3から応答があると、スレーブ側
のバスコントローラ3からの応答を解析して、コマンド
を正常に受信したか否かを判定して、受信が正常に行わ
れたときには処理を終了し、受信が行われなかったこと
を示すリトライ応答を検出したときには、ステップS3
−2に戻って再度コマンドをスレーブ側のバスコントロ
ーラ3にバス2を介して送出する(ステップS3−3、
S3−4)。以上の動作はリトライ応答が解除されるま
で繰り返し行われる。
【0008】図8に従来の一例のスレーブ側のバスコン
トローラの動作フローチャートを示す。スレーブ側のバ
スコントローラ3では、マスタ側のバスコントローラ4
からコマンドを受信すると受信バッファ3aの空きを検
出する(ステップS4−1,S4−2)。
【0009】スレーブ側のバスコントローラ3は受信バ
ッファ3aに空きがあれば、受信したコマンドを受信バ
ッファ3aに格納し、正常受信したことを示す応答を、
また、空きがなければリトライ応答をマスタ側のバスコ
ントローラ4に送信する(ステップS4−3〜S4−
5)。
【0010】このようにスプリット方式を採用したバス
ではマスタからの要求をスレーブで受信するとマスタは
スレーブからの応答を待たずに一旦バスサイクルを終了
させ、新たなバスサイクルでスレーブからの応答を待
つ。つまり、スプリット方式のバスにおいては、スレー
ブがマスタに対して応答を返す時も、バスマスタとして
バスを獲得し応答を返さなければならない。
【0011】しかし、マスタからパケツトを受け取った
スレーブは、必すしも全てのパケットを処理できるわけ
ではない。例えぱ、スレーブの物理バッファがすでに他
のアクセスによって、空きがない状況で、さらに新しい
アクセスを受けたとする。スレーブはそのアクセスを通
常通りに処理することはできないので、その処理できな
いパケットを送出してきたマスタに対して、再送信つま
りリトライを要求しており、このとき、スレーブはマス
タのバスサイクルでの応答は出来ないため、新たなバス
サイクルを発生させてリトライ応答していた。
【0012】また、リトライ応答を受けたマスタは、再
度同じパケットをスレーブに送信する。スプリット方式
のバスにおいて、リトライを要求する応答は、通常のバ
スアクセスよりもアービトレーションの優先順位を高く
設定されている。それはスレーブがある時点でためてお
けるリトライ応答の数に限りがあるためであり、その数
をこえて要求が来る前に必ず応答を返してしまえるよう
なシステムが必要なために、バスアービトレーション
で、リトライ応答に優位性をもたせ、リトライ応答を返
してしまえるようにする。このとき、限界をこえて受信
してしまうと、全く応答が返らない要求が生じてしま
い、エラーが発生していた。
【0013】
【発明が解決しようとする課題】しかしながら、従来の
情報処理装置ではスプリット方式のバスに多くのバスコ
ントローラが接続された場合、一つのスレーブにアクセ
スが集中したときや、あるいは、受信バッファの少ない
スレーブが接続されたときには、マスタの送出したパケ
ットをスレーブが処理できないことが多くなり、リトラ
イが多発する。リトライが多くなると、リトライサイク
ルによりバスが占有されてしまう時間が多くなる。リト
ライが発生すると、リトライを要求する応答と再度送信
するパケットの2つのバスサイクルがリトライ無しの時
に比べ余分に発生する等の問題点があった。
【0014】さらに、リトライ応答は通常アクセスより
優先度が高いために、通常アクセスは、バスのアービト
レーションで、なかなかバスを獲得できなくなる。この
通常アクセスには正常応答も含まれる。その結果として
正常応答を返すまでの時間が遅くなり、スレーブのバッ
ファが空き状態になれず、リトライか増加するという悪
循環に陥る等の問題点があった。
【0015】この様に、リトライが多発するバスのピー
ク時には、理想的な状態でのバスの転送能力よりも著し
くスループットが低下してしまう。本発明は上記の点に
鑑みてなされたもので、リトライ回数を低減させ、スル
ープットを向上させることができる情報処理装置を提供
することを目的とする。
【0016】
【課題を解決するための手段】本発明の請求項1は、バ
スを介して接続されたデータ処理部の間でパケット単位
でデータの転送を行う情報処理装置において、前記バス
を介して転送されたパケットを保持し、保持したパケッ
トを前記データ処理部に供給する複数の保持手段と、前
記複数の保持手段のうち有効とする保持手段の段数を設
定する段数設定手段とを有することを特徴とする。
【0017】請求項1によれば、バスを介して転送され
たパケットを保持する複数の保持手段が段数設定手段に
より設定できるため、システム構成に応じて保持手段の
段数を最適に設定でき、従って、必要以上に多くのパケ
ットが送信されることがなくなるので、リトライ応答の
転送を低減でき、バスを有効に活用できる。
【0018】請求項2は、前記段数設定手段が前記複数
の保持手段の段数を記憶する記憶手段と、前記記憶手段
に設定された設定値に応じて前記複数の保持手段に対応
した複数の選択信号を生成する選択信号生成手段と、前
記選択信号生成手段で生成された複数の選択信号に応じ
て前記保持手段を有効又は無効にする設定手段とを有す
ることを特徴とする。
【0019】請求項2によれば、記憶手段に有効とする
保持手段の段数を設定するだけで、有効とする保持手段
の段数の設定が行えるため、保持手段の段数の設定を容
易に行える。請求項3は、前記段数設定手段に前記バス
を介して前記記憶手段にアクセスし、前記記憶手段に設
定した値を可変する設定値可変手段を有することを特徴
とする。
【0020】請求項3によれば、設定値可変手段により
バスを介して記憶手段にアクセスし、記憶手段の設定値
を可変することにより、バスを介して記憶手段にアクセ
スできるため、システムの動作中に他のデータ処理部か
ら記憶手段の設定値の可変を容易に行える。
【0021】請求項4は、各データ処理部に内蔵される
保持手段の段数を検出する検出手段と、前記検出手段で
検出された保持手段の段数に応じて前記設定値可変手段
を制御し、前記記憶手段の設定値を可変する設定制御手
段とを有することを特徴とする。
【0022】請求項4によれば、バススレーブに内蔵さ
れる保持手段の段数を検出し、検出された保持手段の段
数に応じて記憶手段の設定値を可変することにより、保
持手段の段数をリトライの発生を最小限にする最適値に
設定できる。
【0023】
【発明の実施の形態】次に本発明の情報処理装置の一実
施例を図面とともに説明する。図1に本発明の一実施例
のブロック図を示す。本実施例の情報処理装置21は、
2系統のデータ処理系22,23がバス24を介して接
続された構成とされている。2系統のデータ処理系2
2,23は、データの転送に、バス24に対してパケッ
ト単位でデータを伝送させることによりバス24の使用
効率を向上させた、いわゆる、スプリット方式を採用し
ている。
【0024】データ処理系22は、メインの処理系を構
成しており、データを処理するCPU(Central Proces
sing Unit ;中央演算装置)25、処理データを記憶す
る主記憶装置26、バス24を介してデータを伝送する
バスコントローラ27より構成される。
【0025】CPU25は、主記憶装置26及びバスコ
ントローラ27と接続され、主記憶装置26にアクセス
しつつ、データの処理を行う。主記憶装置26は、CP
U25及びバスコントローラ27に接続されており、C
PU25からのアクセスのみならず、バス24を介して
データ処理系23からのアクセスも可能とされており、
データ処理系22とデータ処理系23とで共有された構
成とされている。
【0026】バスコントローラ27は、内部に受信バッ
ファ27a及び送信バッファ27bを有し、バス24上
に伝送されているパケットを受信バッファ27aに取り
込み、パケットとして供給されたコマンドを実施すると
ともに、要求されたデータやコマンドなどを送信バッフ
ァ27bに取り込みバス24に送信する。
【0027】データ処理系23は、データを処理するデ
ータ処理部28、データ処理部28の要求に基づいてデ
ータ処理系22の主記憶装置26に対するDMA(Dire
ct Memory Access )を制御するDMAC(Direct Acc
ess Memory Controller )29、DMAC29からのア
クセス指示を受信し、パケット単位に分割して、パケッ
ト単位でバス24に送信するとともに、バス24からパ
ケット単位でデータを受信し、DMAC29に送信する
バスコントローラ30より構成される。
【0028】データ処理部28は、DMAC29と接続
されていて、DMAC29によりデータ処理系22の主
記憶装置27にダイレクトアクセス可能な構成とされて
いる。DMAC29は、データ処理部28からの主記憶
装置26へのダイレクトアクセス要求に応じてバスコン
トローラ30にダイレクトアクセスを実行するためのコ
マンドを供給し、データ処理部28の要求に基づいた主
記憶装置26へのダイレクトアクセス指示を行う。
【0029】バスコントローラ30は、DMAC29か
らのダイレクトアクセスコマンドをパケット単位で内蔵
された送信バッファ30aに格納し、バス24の空き時
間に順次送信する。図2に本発明の一実施例のバスコン
トローラのブロック構成図を示す。
【0030】バスコントローラ30は、バス24に対し
てデータを入出力するインタフェース回路31、送信パ
ケットのバス24への送信を制御する送信制御部32、
バス24から供給されたパケットを受信する受信制御部
33より構成される。インタフェース回路31は、バス
24と送信制御部32、受信制御部33との間に設けら
れ、送信制御部32内部に予め保持されたパケットをバ
ス24に送信するとともに、バス24からパケットを受
信し、受信制御部33に供給する。
【0031】送信制御部32は、図1中の送信バッファ
30aに相当し、DMA転送コマンドをパケット毎に格
納する複数のDMAバッファ34−1〜34−3、各D
MAバッファ34−1〜34−3が使用されているか否
かを示す有効ビット35−1〜35−3、各DMAバッ
ファ34−1〜34−3に格納されているシリアルアク
セスIDを保持するIDレジスタ36−1〜36−3、
複数のDMAバッファ34−1〜34−3のうち有効と
するDMAバッファの有効段数を決定する有効段数レジ
スタ37、DMAバッファ34−1〜34−3ヘの書き
込み、クリアを制御するバッファ制御部38、有効段数
レジスタ37に設定された設定値に応じてバッファ制御
部38に供給するバッファ選択信号を制御するセレクト
部39より構成されている。
【0032】また、受信制御部33は、受信したパケッ
トを一時的に保持する受信バッファ33a、及び、受信
バッファ33aに保持されたパケットを解析して、有効
段数レジスタ37の内容を書き替えるコマンドの時にコ
マンドに応じた値に有効段数レジスタ37の内容を書き
換える受信制御回路33bより構成される。
【0033】送信制御部32を構成するDMAバッファ
34−1〜34−3は、図1の送信バッファ30aに相
当し、DMAのアドレス、データを記憶するもので、例
えばメモリなどで構成される。有効段数レジスタ37
は、保持できるパケット数を決定するもので、例えば、
フリップフロップなどよりなり、外部から書き換え可能
な構成とされている。有効段数レジスタ37は、受信制
御部33の受信制御回路33bに接続されており、メイ
ンのデータ処理系22を構成するCPU25からのコマ
ンドにより書き換え可能な構成とされている。
【0034】バッファ有効ビツト35−1〜35−3
は、DMAバッファ34−1〜34−3に有効なデータ
が格納されているか否かを示すもので、複数のDMAバ
ッファ34−1〜34−3毎に存在し、例えば、フリッ
プフロップなどで構成される。バッファ有効ビット35
−1〜35−3は、1ビットの2値データよりなり、例
えば、‘1’であれば、有効であり、‘0’であれば、
無効であることを示す。
【0035】IDレジスタ36−1〜36−3は、DM
Aバッファ34−1〜34−3に格納されているパケッ
トの認識用のシリアルIDを格納するもので、各DMA
バッファ毎に存在し、例えば、複数ビット分のフリップ
フロップなどで構成される。バッファ制御部38は、D
MAバッファ34−1〜34−3、バッファ有効ビット
35−1〜35−3、IDレジスタ36−1〜36−3
を管理するもので、DMAバッファ34−1〜34−
3、バッファ有効ビット35−1〜35−3、IDレジ
スタ36−1〜36−3へのコマンド、有効ビットの書
き込み、及び、クリアを行う。
【0036】また、セレクト部39は、有効段数レジス
タ37に設定された有効とするバッファの最大数が供給
され、供給された値に基づいてバッファ制御部38への
有効ビット35−1〜35−3の供給を制御する。セレ
クト部39は、有効段数レジスタ37に設定された数値
をデコーディングし、3ビットのセレクト信号を生成す
るデコーダ39a及び一端に有効ビット35−1〜35
−3が供給され、他端にセレクト信号が供給され、有効
ビット35−1〜35−3とセレクト信号との論理和を
とるORゲート39b−1〜39b−3より構成され
る。
【0037】デコーダ39aは有効段数レジスタ37の
設定値が、例えば、‘1’の場合、3ビットのセレクト
信号として‘0 1 1’、又は、‘1 0 1’、又
は、‘1 1 0’を出力する。ここでは、例えば、
‘0 1 1’が出力されるものとする。3ビットのセ
レクト信号のうち1ビット目の‘0’はORゲート39
b−1の一方の入力端に供給され、2ビット目の‘0’
はORゲート39b−2の一方の入力端に供給され、3
ビット目の‘1’はORゲート39b−3の一方の入力
端に供給される。
【0038】ORゲート39b−1の他方の入力端子に
は有効ビット35−1が供給される。ORゲート39b
−1は入力端子に‘0’及び有効ビット35−1が供給
されるため、出力端子からは有効ビット35−1が出力
される。従って、DMAバッファ34−1は、実行され
ていないDMAが保持されている状態では有効ビット3
5−1が‘1’となり、新たなDMAの可能は禁止さ
れ、保持されたDMAが実行され、有効ビット35−1
が‘0’にクリアされると、新たなDMAを保持できる
状態で動作する。
【0039】また、ORゲート39b−2の他方の入力
端子には有効ビット35−2が供給される。ORゲート
39b−2は入力端子に‘1’が供給されるため、出力
端子からは‘1’が出力される。従って、DMAバッフ
ァ34−2は、バッファ制御部38により常に実行され
ていないコマンドが存在すると判断され、新たにDMA
を格納することはできない状態とされている。
【0040】さらに、ORゲート39b−3の他方の入
力端子には有効ビット35−3が供給される。ORゲー
ト39b−3は入力端子に‘1’が供給されるため、出
力端子からは‘1’が出力される。したがって、DMA
バッファ34−3は、バッファ制御部38により常にコ
マンドが存在すると判断される状態とされ、新たにDM
Aを格納することはできない状態とされる。
【0041】また、デコーダ39aは有効段数レジスタ
37の設定値が、例えば、‘2’の場合、3ビットのセ
レクト信号として‘0 0 1’、又は、‘0 1
0’、又は、‘1 0 0’を出力する。ここでは、例
えば、‘0 0 1’が出力されるものとする。3ビッ
トのセレクト信号のうち1ビット目の‘0’はORゲー
ト39b−1の一方の入力端に供給され、2ビット目の
‘0’はORゲート39b−2の一方の入力端に供給さ
れ、3ビット目の‘1’はORゲート39b−3の一方
の入力端に供給される。
【0042】ORゲート39b−1の他方の入力端子に
は有効ビット35−1が供給される。ORゲート39b
−1は入力端子に‘0’及び有効ビット35−1が供給
されるため、出力端子からは有効ビット35−1が出力
される。従って、DMAバッファ34−1は、実行され
ていないDMAが保持されている状態では有効ビット3
5−1が‘1’となり、新たなDMAの可能は禁止さ
れ、保持されたDMAが実行され、有効ビット35−1
が‘0’にクリアされると、新たなDMAを保持できる
状態で動作する。
【0043】また、ORゲート39b−2の他方の入力
端子には有効ビット35−2が供給される。ORゲート
39b−2は入力端子には‘0’及び有効ビット35−
2が供給されるため、出力端子からは有効ビット35−
2が出力される。従って、DMAバッファ34−2は、
実行されていないDMAが保持されている状態では有効
ビット35−2が‘1’となり、新たなDMAの可能は
禁止され、保持されたDMAが実行され、有効ビット3
5−2が‘0’にクリアされると、新たなDMAを保持
できる状態で動作する。
【0044】さらに、ORゲート39b−3の他方の入
力端子には有効ビット35−3が供給される。ORゲー
ト39b−3は入力端子に‘1’が供給されるため、出
力端子からは‘1’が出力される。したがって、DMA
バッファ34−3は、バッファ制御部38により常にコ
マンドが存在すると判断される状態とされ、新たにDM
Aを格納することはできない状態とされる。
【0045】また、デコーダ39aは有効段数レジスタ
37の設定値が、例えば、‘3’の場合、3ビットのセ
レクト信号として‘0 0 0’を出力する。3ビット
のセレクト信号のうち1ビット目の‘0’はORゲート
39b−1の一方の入力端に供給され、2ビット目の
‘0’はORゲート39b−2の一方の入力端に供給さ
れ、3ビット目の‘0’はORゲート39b−3の一方
の入力端に供給される。
【0046】ORゲート39b−1の他方の入力端子に
は有効ビット35−1が供給される。ORゲート39b
−1は入力端子に‘0’及び有効ビット35−1が供給
されるため、出力端子からは有効ビット35−1が出力
される。従って、DMAバッファ34−1は、実行され
ていないDMAが保持されている状態では有効ビット3
5−1が‘1’となり、新たなDMAの可能は禁止さ
れ、保持されたDMAが実行され、有効ビット35−1
が‘0’にクリアされると、新たなDMAを保持できる
状態で動作する。
【0047】また、ORゲート39b−2の他方の入力
端子には有効ビット35−2が供給される。ORゲート
39b−2は入力端子には‘0’及び有効ビット35−
2が供給されるため、出力端子からは有効ビット35−
2が出力される。従って、DMAバッファ34−2は、
実行されていないDMAが保持されている状態では有効
ビット35−2が‘1’となり、新たなDMAの可能は
禁止され、保持されたDMAが実行され、有効ビット3
5−2が‘0’にクリアされると、新たなDMAを保持
できる状態で動作する。
【0048】さらに、ORゲート39b−3の他方の入
力端子には有効ビット35−3が供給される。ORゲー
ト39b−3は入力端子には‘0’及び有効ビット35
−3が供給されるため、出力端子からは有効ビット35
−3が出力される。従って、DMAバッファ34−3
は、実行されていないDMAが保持されている状態では
有効ビット35−3が‘1’となり、新たなDMAの可
能は禁止され、保持されたDMAが実行され、有効ビッ
ト35−3が‘0’にクリアされると、新たなDMAを
保持できる状態で動作する。
【0049】上記ORゲート39b−1〜39b−3の
出力は、バッファ制御部38に供給される。バッファ制
御部38はORゲート39b−1〜39b−3の出力に
応じてパケットの書き込みを制御する。例えば、バッフ
ァ制御部38は、ORゲート39b−1の出力ビットが
‘0’であれば、DMAバッファ34−1へのコマンド
の書き込みを許可し、ORゲート39b−1の出力ビッ
トが‘1’であれば、DMAバッファ34−1には未送
信のコマンドが存在すると判断し、DMAバッファ34
−1へのコマンドの書き込みを禁止し、また、ORゲー
ト39b−2の出力ビットが‘0’であれば、DMAバ
ッファ34−2へのコマンドの書き込みを許可し、OR
ゲート39b−2の出力ビットが‘1’であれば、DM
Aバッファ34−2には未送信のコマンドが存在すると
判断し、DMAバッファ34−2へのコマンドの書き込
みを禁止し、さらに、ORゲート39b−3の出力ビッ
トが‘0’であれば、DMAバッファ34−3へのコマ
ンドの書き込みを許可し、ORゲート39b−3の出力
ビットが‘1’であれば、DMAバッファ34−3には
未送信のコマンドが存在すると判断し、DMAバッファ
34−3へのコマンドの書き込みを禁止する。
【0050】バッファ制御部38は、DMAバッファ3
4−1〜34−3に対してDMAコマンド等をパケット
単位で書き込み、IDレジスタ36−1〜36−3にデ
ータの供給先のIDを書き込み、有効ビット35−1〜
35−3にデータが書き込まれたか否かを示すビットを
書き込むライト制御部38a、及び、供給先からの応答
ID受信後に有効ビット35−1〜35−3をクリアす
るクリア制御部38bから構成される。
【0051】図3に本発明の一実施例のバスコントロー
ラのライト制御部の動作フローチャートを示す。ライト
制御部38aは、DMAC29からのDMAの要求を監
視していて、DMAC29からDMAの要求があると次
にORゲート39b−1の出力を参照する(ステップS
1−1,S1−2)。
【0052】ステップS1−2で、ORゲート39b−
1の出力がDMAバッファ34−1が空きの状態を示す
‘0’であれば、DMAバッファ34−1にデータを格
納できる状態であると判断できるため、DMAバッファ
34−1に要求のあったコマンドを書き込むとともに、
有効ビット35−1にDMAバッファ34−1に実行さ
れていないコマンドが存在することを示す‘1’を設定
する(ステップS1−3)。
【0053】また、ステップS1−2で、ORゲート3
9b−1の出力がDMAバッファ34−1に実行されて
いないコマンドが存在する状態を示す‘1’が設定され
ていれば、DMAバッファ34−1には新たにコマンド
を書き込むことはできないと判断できるため、次に、O
Rゲート39b−2の出力を参照する(ステップS1−
4)。
【0054】ステップS1−4で、ORゲート39b−
2の出力がDMAバッファ34−2が空きの状態を示す
‘0’であれば、DMAバッファ34−2にデータを格
納できる状態であると判断できるため、DMAバッファ
34−2に要求のあったコマンドを書き込むとともに、
有効ビット35−2にDMAバッファ34−2に実行さ
れていないコマンドがあることを示す‘1’を設定する
(ステップS1−5)。
【0055】また、ステップS1−4で、ORゲート3
9b−2の出力がDMAバッファ34−2に実行されて
いないコマンドが存在する状態を示す‘1’が設定され
ていれば、DMAバッファ34−2には新たにコマンド
を書き込むことはできないと判断できるため、次に、O
Rゲート39b−3の出力を参照する(ステップS1−
6)。
【0056】ステップS1−6で、ORゲート39b−
3の出力がDMAバッファ34−3が空きの状態である
無効を示す‘0’であれば、DMAバッファ34−3に
データを格納できる状態であると判断できるため、DM
Aバッファ34−3に要求のあったコマンドを書き込む
とともに、有効ビット35−3にDMAバッファ34−
3に実行されていないコマンドがあることを示す‘1’
を設定する(ステップS1−7)。
【0057】また、ステップS1−6で、ORゲート3
9b−3の出力がDMAバッファ34−3に実行されて
いないコマンドが存在する状態を示す‘1’が設定され
ていれば、DMAバッファ34−3には新たにコマンド
を書き込むことはできないと判断できるため、処理を終
了する。
【0058】以上により、DMAバッファ34−1〜3
4−3に実行しようとするコマンドが格納される。イン
タフェース回路31は、DMAバッファ34−1〜34
−3にパケット単位で格納されたコマンドをバス24の
状態に応じてIDレジスタ36−1〜36−3に格納さ
れたIDに対応した転送先に順次転送する。
【0059】このとき、有効段数レジスタ37に設定さ
れた有効段数によりデコーダ39aから出力される3ビ
ットのセレクト信号で‘0’が設定されていれば、有効
ビット35−1〜35−3がライト制御部38aに供給
されるため、有効ビット35−1〜35−3の設定に応
じた書き込み制御が行われる。しかし、3ビットのセレ
クト信号として‘1’が設定されていれば、デコーダ3
9aの予め設定された出力ビットには常に‘1’が出力
され、バッファ制御部38に供給される有効ビットは常
に‘1’とされ、対応するDMAバッファ34−3には
コマンドを設定する事はできなくなる。このようにし
て、DMAバッファ34−1〜34−3の段数が制御さ
れる。
【0060】図4に本発明の一実施例のバスコントロー
ラのクリア制御部の動作フローチャートを示す。クリア
制御部38bは常にコマンドに対する応答を監視してお
り、応答があると次に有効ビット35−1及びIDレジ
スタ36−1を参照し、応答がリトライ応答か否かを判
断する(ステップS2−1,S2−2)。
【0061】ステップS2−2で、対応する応答IDが
返ってきた場合には、コマンドが正常に転送されたと判
断できるため、有効ビット35−1を無効状態を示す
‘0’に設定し、DMAバッファ34−1への新たなコ
マンドの書き込みを許可して、ステップS2−1に戻る
(ステップS2−3)。
【0062】また、ステップS2−2で、リトライ応答
が返ってきた場合には、次に有効ビット35−2及びI
Dレジスタ36−2を参照し、応答がリトライ応答か否
かを判断する(ステップS2−4)。ステップS2−4
で、対応する応答IDが返ってきた場合には、コマンド
が正常に転送されたと判断できるため、有効ビット35
−2を無効状態を示す‘0’に設定しステップS2−1
に戻る(ステップS2−5)。
【0063】また、ステップS2−4で、リトライ応答
が返ってきた場合には、次に有効ビット35−3及びI
Dレジスタ36−3を参照し、応答がリトライ応答か否
かを判断する(ステップS2−6)。ステップS2−6
で、対応する応答IDが返ってきた場合には、コマンド
が正常に転送されたと判断できるため、有効ビット35
−3を無効状態を示す‘0’に設定し、DMAバッファ
34−3への新たなコマンドの書き込みを許可して、ス
テップS2−1に戻る(ステップS2−7)。
【0064】また、ステップS2−6で、リトライ応答
が返ってきた場合には、有効ビット35−3はそのま
ま、‘1’に保持し、新たなコマンドの書き込みを禁止
した状態で、再度コマンドをスレーブ側に送信する。以
上により、転送されたコマンドが正常であれば、有効ビ
ット35−1〜35−3がクリアされ、次のコマンドを
書き込める状態にできる。
【0065】本実施例によれば、有効段数設定レジスタ
の設定値によりバッファ制御部かDMAバッファヘの書
き込みを制御する。その結果、有効段数設定レジスタに
より、マスタが送出する,最大DMAパケット数を可変
にできる。よって、システム構成や、スレーブの状況に
よって、有効段数設定レジスタの設定値をかえることに
よりスプリットバスで発生する、リトライサイクルの回
数を減少させることができ、結果的にバスが混み合って
いるピーク時のスループットの向上をはかることができ
る。
【0066】仮に、具体的にバッファ段数を決めて考え
ると、例えば、バスコントローラ27が有する受信バッ
ファ27aを3つすると、バスコントローラ30のDM
Aバッファ34の有効段数を‘3’にすれば、バッファ
コントローラ30から送出されるDMAは最大3パケッ
トに制限される。バスコントローラ27は3つの受信バ
ッファがあるので、バスコントローラ30からのDMA
は必ずバッファが空き状態で受信することが出来るため
リトライになることがなくなる。すなわち、マスタ側の
バスコントローラ30のDMAバッファの段数をスレー
ブ側のバスコントローラ27の受信バッファ27aの段
数以下にすることにより、リトライ応答をなくすことが
できる。
【0067】また、メインの処理系22のCPU25か
らバス24を介してコマンドにより有効段数レジスタ3
7の内容を変更できるため、システムの動作中のDMA
バッファの有効段数の変更も可能となる。また、本実施
例では、スレーブから正常応答を受けると、応答のシリ
アルIDとバッファのシリアルIDレジスタの値を比較
し、いずれかのバッファのIDレジスタと一致してい
て、さらにそのバッファの有効ビットが有効になってい
ると、そのバッファに対する応答が返ってきたとみなし
そのバッファの内容をクリアする(有効ビットを0にす
る)。この時、有効段数設定レジスタの設定がそのバッ
ファを使用しない設定になっていようが、使用する設定
になっていようが、クリア制御部には有効ビットをその
まま表示するためにDMA送出中に、有効段数設定レジ
スタ24を書き換えても、正しいバッファのクリアを保
証できる。従って、システムの動作中にDMAバッファ
の有効段数を変更でき、また、このとき、システムの動
作を保証できる。
【0068】図5に本発明の他の実施例のブロック構成
図を示す。同図中、図1と同一構成部分には同一符号を
付しその説明は省略する。本実施例はバス24に接続さ
れるデータ処理系をメインの処理系22に加えてN個の
処理系41−1〜41−Nを接続した構成とされてい
る。本実施例ではメインの処理系22のシステムの起動
時にCPU25がバス24に接続された処理系41−1
〜41−Nを検出して、処理系41−1〜41−Nのバ
スコントローラ30に内蔵された有効段数レジスタ37
にアクセスして、処理系22のバスコントローラ27に
内蔵された受信バッファ27aの段数に応じて処理系4
1−1〜41−Nを構成するバスコントローラ30のD
MAバッファ34の段数をリトライ回数を最小限にでき
る最適値に設定する。
【0069】また、CPU25はバス24を監視してお
り、新たに処理系が接続されると、これを検出する。C
PU25は新たに処理系を検出すると、例えば、バス2
4に接続されたメインの処理系である処理系22以外の
処理系41−1〜41−Nのバスコントローラ30の送
信バッファ(DMAバッファ)27bの段数の総数が処
理系22のバスコントローラ27の受信バッファ27a
の段数以下となるように処理系41−1〜41−Nのバ
スコントローラ30の送信バッファ(DMAバッファ)
の段数を設定し直す。
【0070】なお、処理系41−1〜41−Nのバスコ
ントローラ30の送信バッファ(DMAバッファ)27
bの段数は、各処理系の処理の重要度などに応じてリト
ライ応答が最小限となる値に設定すればよく、上記のよ
うな設定方法に限られるものではない。
【0071】本実施例によれば、システム構成や、シス
テムの運用用途等の状況にあわせて、最適なバッファ段
数をレジスタ設定により変更できるため、バスのアクセ
スピーク時に多発するリトライ応答の回数を減少させる
ことが可能になり、スループットの向上を望める。ま
た、DMAを動作中でも設定の変更が可能であり、シス
テム運用中の変更が可能であるため、その度に最適なバ
ッファ段数を設定出来る。
【0072】
【発明の効果】上述の如く、本発明の請求項1によれ
ば、バスを介して転送されたパケットを保持する複数の
保持手段が段数設定手段により設定できるため、システ
ム構成に応じて保持手段の段数を最適に設定でき、従っ
て、必要以上に多くのパケットが送信されることがなく
なるので、リトライ応答の転送を低減でき、バスを有効
に活用できる等の特長を有する。
【0073】請求項2によれば、記憶手段に有効とする
保持手段の段数を設定するだけで、有効とする保持手段
の段数の設定が行えるため、保持手段の段数の設定を容
易に行える等の特長を有する。請求項3によれば、設定
値可変手段によりバスを介して記憶手段にアクセスし、
記憶手段の設定値を可変することにより、バスを介して
記憶手段にアクセスできるため、他のデータ処理部から
記憶手段の設定値の可変を容易に行える等の特長を有す
る。
【0074】請求項4によれば、バススレーブに内蔵さ
れる保持手段の段数を検出し、検出された保持手段の段
数に応じて記憶手段の設定値を可変することにより、保
持手段の段数をリトライの発生を最小限にする最適値に
設定でき、バスを有効に使用できるため、システムの効
率的に動作させることができる等の特長を有する。
【図面の簡単な説明】
【図1】本発明の一実施例のブロック構成図である。
【図2】本発明の一実施例のバスコントローラのブロッ
ク構成図である。
【図3】本発明の一実施例のライト制御部の動作フロー
チャートである。
【図4】本発明の一実施例のクリア制御部の動作フロー
チャートである。
【図5】本発明の他の実施例のブロック構成図である。
【図6】従来の一例のブロック構成図である。
【図7】従来の一例のバスコントローラのマスタ側の動
作フローチャートである。
【図8】従来の一例のバスコントローラのスレーブ側の
動作フローチャートである。
【符号の説明】
21 情報処理装置 22,23 データ処理系 24 バス 25 CPU 26 主記憶装置 27,30 バスコントローラ 27a 受信バッファ 27b 送信バッファ 28 データ処理装置 29 DMAC 31 インタフェース回路 32 送信制御部 33 受信制御部 34−1〜34−3 DMAバッファ 35−1〜35−3 有効ビット 36−1〜36−3 IDレジスタ 37 有効段数レジスタ 38 バッファ制御部 38a ライト制御部 38b クリア制御部 39 セレクト部 39a デコーダ 39b−1〜39b−3 ORゲート
フロントページの続き (72)発明者 須藤 清 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 (72)発明者 柞木 賢一 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 (72)発明者 加藤 貴紀 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 (72)発明者 星 健二 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 バスを介して接続されたデータ処理部の
    間でパケット単位でデータの転送を行う情報処理装置に
    おいて、 前記バスを介して転送されたパケットを保持し、保持し
    たパケットを前記データ処理部に供給する複数の保持手
    段と、 前記複数の保持手段のうち有効とする保持手段の段数を
    設定する段数設定手段とを有することを特徴とする情報
    処理装置。
  2. 【請求項2】 前記段数設定手段は、前記複数の保持手
    段の段数を記憶する記憶手段と、 前記記憶手段に設定された設定値に応じて前記複数の保
    持手段に対応した複数の選択信号を生成する選択信号生
    成手段と、 前記選択信号生成手段で生成された複数の選択信号に応
    じて前記保持手段の有効又は無効にする設定手段とを有
    することを特徴とする請求項1記載の情報処理装置。
  3. 【請求項3】 前記記憶手段にアクセスし、前記記憶手
    段に設定した値を可変する設定値可変手段を有すること
    を特徴とする請求項1又は2記載の情報処理装置。
  4. 【請求項4】 各データ処理部に接続される保持手段の
    段数を検出する検出手段と、 前記検出手段で検出された保持手段の段数に応じて前記
    設定値可変手段を制御し、前記記憶手段の設定値を可変
    する設定制御手段とを有することを特徴とする請求項3
    記載の情報処理装置。
JP15856196A 1996-06-19 1996-06-19 情報処理装置 Withdrawn JPH1011387A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15856196A JPH1011387A (ja) 1996-06-19 1996-06-19 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15856196A JPH1011387A (ja) 1996-06-19 1996-06-19 情報処理装置

Publications (1)

Publication Number Publication Date
JPH1011387A true JPH1011387A (ja) 1998-01-16

Family

ID=15674400

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15856196A Withdrawn JPH1011387A (ja) 1996-06-19 1996-06-19 情報処理装置

Country Status (1)

Country Link
JP (1) JPH1011387A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006189919A (ja) * 2004-12-28 2006-07-20 Canon Inc 電子機器、制御方法及びコンピュータプログラム
JP2006252341A (ja) * 2005-03-11 2006-09-21 Canon Inc 電子機器、制御方法、及びコンピュータプログラム
EP2093656A2 (en) 2008-02-22 2009-08-26 Hitachi Ltd. Storage system and access instruction sending method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006189919A (ja) * 2004-12-28 2006-07-20 Canon Inc 電子機器、制御方法及びコンピュータプログラム
JP2006252341A (ja) * 2005-03-11 2006-09-21 Canon Inc 電子機器、制御方法、及びコンピュータプログラム
EP2093656A2 (en) 2008-02-22 2009-08-26 Hitachi Ltd. Storage system and access instruction sending method
US8099563B2 (en) 2008-02-22 2012-01-17 Hitachi, Ltd. Storage device and access instruction sending method

Similar Documents

Publication Publication Date Title
US6772237B2 (en) Host controller interface descriptor fetching unit
US6701405B1 (en) DMA handshake protocol
US5333276A (en) Method and apparatus for priority selection of commands
US7069373B2 (en) USB endpoint controller flexible memory management
US7222201B2 (en) Virtual endpoint for USB devices
JP2001216194A (ja) 演算処理装置
US8417853B2 (en) Universal serial bus host control methods and universal serial bus host controllers
JPH0728758A (ja) ダイナミックタイムループ調停及び装置
JPH0332818B2 (ja)
JP4642531B2 (ja) データ要求のアービトレーション
JP2002024162A (ja) データ転送装置および方法
US7185122B2 (en) Device and method for controlling data transfer
JPH1011387A (ja) 情報処理装置
US6516343B1 (en) Computer system and method for enhancing memory-to-memory copy transactions by utilizing multiple system control units
US20050138236A1 (en) Direct memory access control device and method for automatically updating data transmisson size from peripheral
JPH08212178A (ja) 並列計算機
JPH11232213A (ja) 入出力装置におけるデータ転送方式
JP4431492B2 (ja) 複数のコヒーレンシー・グラニュールをサポートするデータ転送ユニット
JPH11184761A (ja) リードモディファイライト制御システム
KR100531324B1 (ko) 메모리 인터페이스 장치 및 그 방법
JP3077807B2 (ja) マイクロコンピュータシステム
JPH1166022A (ja) クラスタシステム
JP3063501B2 (ja) メモリアクセス制御方式
JPS60142450A (ja) 記憶システム
JPS63113749A (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: 20030902