JPH09305536A - バス転送方法及びそのための情報処理装置 - Google Patents

バス転送方法及びそのための情報処理装置

Info

Publication number
JPH09305536A
JPH09305536A JP12131096A JP12131096A JPH09305536A JP H09305536 A JPH09305536 A JP H09305536A JP 12131096 A JP12131096 A JP 12131096A JP 12131096 A JP12131096 A JP 12131096A JP H09305536 A JPH09305536 A JP H09305536A
Authority
JP
Japan
Prior art keywords
transfer
data
bus
agent
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.)
Pending
Application number
JP12131096A
Other languages
English (en)
Inventor
Hiroyuki Eguchi
裕之 江口
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.)
NEC Engineering Ltd
Original Assignee
NEC Engineering 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 NEC Engineering Ltd filed Critical NEC Engineering Ltd
Priority to JP12131096A priority Critical patent/JPH09305536A/ja
Publication of JPH09305536A publication Critical patent/JPH09305536A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 CPUのIO命令の発行回数を削減できるバ
ス転送方法とそれに用いる情報処理装置を提供する。 【解決手段】 情報処理装置は,システムバス40によ
り接続され,エージェントとして夫々動作するCPU1
0,MEM20,及びIOP30を備えている。各エー
ジェントは,システムバス40に対するスプリット転送
要求フェーズでは,制御コマンド,アドレス,及び戻り
アドレスの3つを転送する第1の転送手段を備えてい
る。また,各エージェントは,前記バスに対するスプリ
ット転送応答フェーズでは,前記制御コマンド,前記ア
ドレス又は要求時の戻りアドレス,及び読み出しデータ
の3つを転送する第2の転送手段を備えている。さら
に,各エージェントは,前記バスのスプリット転送要求
したエージェントにおいて,制御コマンド内に送信先I
Dを付加するID付加手段を備えている。また,各エー
ジェントは,スプリット転送応答を受信したエージェン
トにおいて制御コマンド内の送信先IDを判別する判別
手段を有する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は,バス転送方法と情
報処理装置に関し,詳しくは,バス転送にスプリット転
送(SPLIT)方式を採用したバス転送方法と情報処
理装置に関する。
【0002】
【従来の技術】従来において,情報処理装置におけるメ
モリ部(以下,MEMと呼ぶ)と入出力コントローラ部
(以下,IOCと呼ぶ)間の一般的なデータ転送方式に
は,中央情報処理装置(CPU)がIOを制御するIO
制御方式と呼ばれるものがあり,その中にダイレクト転
送方式とチャネルプログラム方式との2つの転送方式が
ある。
【0003】ダイレクト転送方式は,CPUがデータ転
送に関する情報を全て,IO命令にてIOC(またはP
CU)に設定する。IOC側には,マイクロプロセッサ
等を必要とせず,全てCPUが制御する。そして,IO
C側のコストを下げることが可能な方式で,MEM−I
OC間のデータ転送に必要な情報を全てCPUがIO命
令を用いて設定する方式である。この方式では,まず,
CPUはIN命令により,IOCの状態を確認するとと
もに,デバイスが「ビジー(BUSY)」で無いか?
「準備(READY)状態」にあるか等を確認する。そ
の後,CPUはデータ転送に関する幾つかのパラメータ
を出力(OUT)命令により,IOCに書き込む。ここ
で,送信処理であれば,送信データを出力(OUT)命
令により書き込み,送信起動のコマンドを同じく,出力
(OUT)命令にて出力する。また,CPUは一連の処
理が完了したことをIOC内部のステータスレジスタ等
を入力(IN)命令により,読み出し確認する。
【0004】ダイレクトIO方式はIOC側に特別なハ
ードウエア(HW)も不要であり,またソフトウエア
(SW)も後述のチャネルプログラム方式と比較して,
チャネルプログラムの準備,終了割り込みの処理等複雑
な処理が不要であるといった利点がある。また,近年の
CPU(主にマイクロプロセッサ)の高性能化に伴い,
処理性能も比較して向上する利点も生まれている。
【0005】もう1つのチャネルプログラム方式は,I
OC(PCU)側にて,マイクロプロセッサを有し,C
PUがメモリ上に準備したチャンネルプログラムをIO
Cがフェッチし,解析し,データ転送を実行する。ダイ
レクト転送方式と比較して,CPU側の負荷を低減でき
るできるという効果がある。具体的には,CPUがあら
かじめMEM上にデータ転送に関するパラメータや指示
(チャネルプログラム)を書き込んでおき,OUT命令
によりこのチャネルプログラムのMEM上のアドレスを
IOCへ書き込む。次に,IOCはこのアドレスからチ
ャネルプログラムをフェッチし,データ転送を実行す
る。データ転送が完了するとIOCはCPUに対して終
了割り込みを実行し,データ転送の完了を通知する。こ
のチャネルプログラム方式は,MEMをCPUとIOC
とのメールボックス(BOX)に使用する事でIO命令
の実行回数を削減し,IO命令によるCPUの待ち時間
を削減する効果を有する。
【0006】一方,バス転送方式の一つとして,スプリ
ット(SPLIT)転送方式と呼ばれるものがある。こ
のSPLIT転送は,アドレスを送り出した時点で,バ
スを開放する方式である。このためのバスの占有時間を
低減し,スループットを向上させる効果がある。
【0007】他方,通常のREAD転送では,アドレス
を送出し,応答装置からのデータが返却されるまで,バ
スは占有(インターロック)される。したがって,応答
装置からのデータ返却が遅れる装置においては,バスを
一装置が占有状態となってしまうため,システムのスル
ープットを低下させてしまう。
【0008】なお,SPLIT転送は,上記したダイレ
クト転送,チャンネルプログラム転送のいずれの方式に
おいてもREAD動作では使用可能である。
【0009】
【発明が解決しようとする課題】しかしながら,CPU
−MEM間の転送高速化がキャシュ方式などにより一般
化しているのに対して,IO命令に関する高速化手段で
一般化しているものは少ない。
【0010】例えば,MEMからの読み出しはキャシュ
メモリなどにより,データ応答に関するCPUの待ち時
間は最小となるように設計されているが,IOCのステ
ータスレジスタ等の情報は読み出しを行うのにCPU−
IOP−IOCを介して読み出すため,長い待ち時間を
必要とする。
【0011】また,IOCに設定する情報は4バイトか
ら64バイト程度あるのに対して,IO命令にて扱える
データは通常4バイト(マイクロプロセッサの内部デー
タ幅)である。よって,1つのデータ転送を実行するの
に,数回のIO命令実行が必要である。
【0012】よって,ダイレクトIO方式はMEM−I
OC間のデータ転送が頻繁に行われる情報処理装置で
は,IO命令によるCPUの待ち時間が増大し,システ
ムのスループットを低下させるといった問題があった。
一方,ダイレクトIO方式と比較してIOC側にもマイ
クロプロセッサ(MPU)やMEMフェッチの機能等複
雑なHWが必要となる。
【0013】また,転送起動的にはIO命令が必要であ
り,1つのIOC配下に更に複数のデバイス,例えば,
フロッピィディスクドライバ(FDD),ハードディス
クドライバ(HDD),磁気テープ(MT)等を有する
IOCに連続してIO命令を実行した場合,2つ目以降
のIO命令はIOCがBUSY状態となりCPUの待ち
時間は発生してしまう。ここで,チャネルプログラム方
式は,ダイレクトIO方式と比較し,IO命令発行回数
の削減によりCPUの待ち時間は削減されるものの,I
O命令を全く排除するには至っていない。
【0014】ところで,SPLIT転送方式と呼ばれる
バス転送方式がある。通常,READ転送は,アドレス
を送出し,応答装置からのデータが返却されるまで,バ
スは占有(インターロック)される。したがって,応答
装置からのデータが返却が遅れる装置においては,バス
を一装置が占有状態となってしまう為,システムのスル
ープットを低下させてしまう。SPLIT転送は,アド
レスを送り出した時点で,バスを開放することから,こ
の占有時間を低減し,スループットを向上させる効果が
あり,上記したダイレクトIO方式は,チャンネルプロ
グラム方式のいずれにおいても,READ動作は使用可
能である。
【0015】そこで,本発明の技術的課題は,CPUの
IO命令の発行回数を削減できるバス転送方法と情報処
理装置とを提供することにある。
【0016】
【課題を解決するための手段】本発明によれば,中央処
理部,メモリ部,及び入出力制御部がシステムバスに接
続され,前記メモリ部,前記中央処理部,及び前記入出
力制御部との間では,スプリット転送方式でデータ転送
が行われるバス転送方法において,前記メモリ部,前記
中央処理部,及び前記入出力制御部は,エージェントと
して動作し,発信元のエージェントからの要求に応じた
データを前記発信元のエージェント以外にもデータ転送
することを特徴とするバス転送方法が得られる。
【0017】また,本発明によれば,システムバスに接
続された中央処理部,メモリ部,及び入出力制御部を備
え,前記メモリ部,前記中央処理部,及び前記入出力制
御部との間では,スプリット転送方式でデータ転送が行
われる情報処理装置において,前記メモリ部,前記中央
処理部,及び前記入出力制御部はエージェントとして動
作し,発信元のエージェントからの要求に応じたデータ
を前記発信元のエージェント以外にもデータ転送するデ
ータ転送手段を備えていることを特徴とする情報処理装
置が得られる。
【0018】
【発明の実施の形態】以下,本発明の実施の形態につい
て図面を参照して説明する。
【0019】図1は本発明の実施の一形態による情報処
理装置の構成を示すブロック図である。図2は図1の情
報処理装置のアドレスマッピングの一例を示す図であ
る。図3は図1の情報処理装置のIOCへのパラメータ
の形式を示す図である。また,図4は図1の情報処理装
置の転送データの形式を示す図である。
【0020】図1を参照して,情報処理装置は,CPU
10,MEM20,入出力プロセッサ(以下,IOPと
呼ぶ)30,n個のIOC0 〜Cn 50,60…70と
を備え,CPU10,MEM20,IOP30はシステ
ムバス40を介して接続され,一方IOP30配下に
は,n個のIOC0 〜Cn 50,60,70はIOバス
80を介して夫々接続されている。
【0021】情報処理装置において,CPU10,ME
M20,IOP30,n個のIOC0 〜Cn 50,60
…70の各エージェントは,バスに対するスプリト転送
要求フェーズにおいて,制御コマンド,アドレス,及び
戻りアドレスの3つを転送する第1の転送手段を備えて
いる。
【0022】また,各エージェントは,バスに対するス
プリット転送応答フェーズでは,前記制御コマンド,前
記アドレス又は要求時の戻りアドレス,及び読み出しデ
ータの3つを転送する第2の転送手段を備えている。ま
た,各エージェントは,前記バスのスプリット転送要求
した場合において,制御コマンド内に送信先IDを付加
するID付加手段を備えている。また,各エージェント
は,スプリット転送応答を受信した場合において制御コ
マンド内の送信先IDを判別する判別手段を備えてい
る。
【0023】さらに,この情報装置では,MEM20を
含むCPU10,IOP30,及びIOC50〜70に
対してシステム内でユニークなアドレス空間がマッピン
グされている。
【0024】図2に示すように,例えば,CPU10に
は,00000000番地から0000FFFF番地が
割り当てられており,IOP30には,0001000
0番地から0001FFFF番地が割り当てられてい
る。
【0025】図1の情報処理装置のSPLIT転送の動
作を説明する。データ要求エージェント(ここでは,C
PU10)がバス40に対して読み出し要求を出力す
る。読み出し要求を受け取ったエージェント(ここで
は,MEM20)は,そこで一旦バス40を解放する。
応答データが準備出来たエージェント(MEM20)は
バス40に対して応答データを出力し,データ要求エー
ジェント(CPU10)はこれを受け取る。
【0026】通常のインタロックと呼ばれるバス転送で
は,データ要求からデータ応答まではバスが要求エージ
ェントによって占有されてしまい,データの読み出し期
間バスはデータ待ちの為,止まってしまう事になる。マ
ルチプロセッサシステム等のバスに高スループットが要
求されるシステムでは,これらのバスの占有を回避し,
高スループットを実現する為にSPLIT転送が用いら
れている。
【0027】通常のSPLIT転送は要求元に必ず,応
答データが返ってくる事が原則であるが,本発明の実施
の一形態によるフォワード転送は,CPU10が起動し
たSPLIT要求の応答データが,IOC宛に送られ
る。
【0028】IOC内のコマンド受信バッファに対して
送られたデータ転送に関するパラメータにより,IOC
はデータ転送を起動する為,CPU10は通常のMEM
20への転送を1つ起動するだけで,IOCに対するデ
ータ転送を実行する事が出来る。
【0029】次に本発明の実施の一形態について,CP
U10がMEM20上に確保したバッファ領域のデータ
をIOCに対する転送要求が発生した場合の動作につい
て更に具体的に説明する。
【0030】システムバス40,IOバス80は,4バ
イトの幅を持ち,制御情報/送信元ID,アドレス,デ
ータが時分割にて転送される。そのフォーマットは,先
に説明した図2のように構成されている。
【0031】CPU10は,データ転送に先立って,M
EM20上に,図3に示す形式でIOCとのデータ転送
に関する各種のパラメータ,例えば,READ/WRI
TE,データ長,バッファアドレスなどを書き込む。こ
の情報は通常8〜64バイト程度である。このデータの
内容に関しては,一般のチャネルプログラム方式のそれ
と何ら代わりは無いので,ここでは詳細な説明は省略す
る。
【0032】次に,CPU10,スプリット(SPLI
T)転送により上記MEM20上のデータをIOC50
〜70へ転送すべく,SPLIT転送要求(フォワード
要求)を起動する。
【0033】図4に示すように,SPLIT転送要求の
データフォーマットは,制御コード,このバス転送が誰
から発せられたものかを示すエージェントに対してユニ
ークに設定された送信元ID100,MEM20上に書
き込んだパラメータのアドレス110と,データ(SP
LIT転送の時には戻りアドレスが設定される)120
によって構成されている。制御コードは,バス転送がR
EAD転送であるか,WRITE転送であるか,転送
長,SPLIT転送であるか等の情報を含む。
【0034】MEM20上の280000番地に書かれ
た64バイトのバラメータを‘E01000800’に
マッピングされたIOC50〜70にフォワード転送の
要求を出す手順を説明する。
【0035】CPU10は,制御コードに,SPLIT
転送でしかもフォワード転送である事を設定(ここで
は,16進表示で“6700”,2進表示で『0110
0111 0000 00001』)し,送信元ID
にはCPUのID(ここでは,0010)を設定する。
【0036】アドレスには,パラメータのアドレスであ
る280000番地,データにはフォワードしたIOC
のマッピングされた“E0100800”を設定し,デ
ータ要求サイクルを起動する。
【0037】通常のSPLIT転送の場合,CPU10
は,応答データが返ってくるのを待つが,制御コードに
フォワード転送が設定されている場合は,通常のMEM
書き込み転送と同様,データ応答サイクルを待たない。
【0038】このバス転送を起動するとMEM20は,
280000番地から読み出した64バイトのデータを
制御コードにSPLIT応答である“3700”を設定
し,送信先IDにはCPUのIDを設定したまま,アド
レスSPLIT要求時のデータであるIOC1 のアドレ
ス“E01000800”を設定し,データ応答サイク
ルを起動する。
【0039】ここで,64バイトの制御コードとして
は,上記したものの他に,READ系において,SPL
IT READ要求は,16進表示で“4700”が例
示できる。また,WRITE系として,WRITE転送
は,16進表示で“0700”が例示できる。
【0040】尚,32バイト・16バイトの制御コード
としては,フォワード転送は,“6500”・“640
0”,READ系において,SPLIT READ要求
は,16進表示で“4500”・“4400”,SPL
IT READ応答は,16進表示で“3500”・
“3400”等が夫々例示できる。また,WRITE系
として,WRITE転送は,16進表示で“0500”
・“0400”が夫々例示できる。
【0041】‘E01000800’というアドレスが
自分の配下のIOCにマップされたアドレスである事を
認識したIOP30はこのバス転送を取り込み,IOC
1 60へ転送を伝達する。
【0042】このデータがIOC1 60内のコマンド受
信バッファに取り込まれると,IOC1 60は送信元I
Dを識別し,本転送がCPU10からのパラメータ転送
である事を知り(判別手段),このパラメータに従いデ
ータ転送を実行する。
【0043】データ転送動作を完了するとIOC1 60
は終了割り込み送信元IDで通知されたCPU10に対
して行い,IO動作の完了を通知する。
【0044】尚,上記動作説明において,IOCの動作
として,IOC1 60についてのみ述べたが,他のIO
Cに関しても動作は上述したものと同様である。
【0045】
【発明の効果】以上説明したように,本発明においては
MEM−IOC間のデータ転送に関してIO命令を必要
としないので,高速度の転送が可能なバス転送方法とそ
れを用いた情報処理装置を提供することができる。
【図面の簡単な説明】
【図1】本発明の実施の一形態による情報処理装置の構
成を示す図である。
【図2】図1の情報処理装置のアドレスマッピングの一
例を示す図である。
【図3】図1の情報処理装置のIOCへのパラメータの
形式を示す図である。
【図4】図1の情報処理装置の転送データの形式を示す
図である。
【符号の説明】
10 CPU 20 MEM 30 IOP 40 システムバス 50 IOC0 60 IOC1 70 IOCn 80 IOバス 100 制御コード,送信元ID 110 アドレス 120 データ(戻りアドレス)

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 中央処理部,メモリ部,及び入出力制御
    部がシステムバスに接続され,前記メモリ部,前記中央
    処理部,及び前記入出力制御部との間では,スプリット
    転送方式でデータ転送が行われるバス転送方法におい
    て,前記メモリ部,前記中央処理部,及び前記入出力制
    御部は,エージェントとして動作し,発信元のエージェ
    ントからの要求に応じたデータを前記発信元のエージェ
    ント以外にもデータ転送することを特徴とするバス転送
    方法。
  2. 【請求項2】 請求項1記載のバス転送方法において,
    前記バスに対するスプリット転送要求フェーズでは,制
    御コマンド,アドレス,及び戻りアドレスの3つを転送
    し,前記バスに対するスプリット転送応答フェーズで
    は,前記制御コマンド,前記アドレス又は要求時の戻り
    アドレス,及び読み出しデータの3つを転送し,前記バ
    スのスプリット転送要求したエージェントにおいて前記
    制御コマンド内に送信先IDを付加し,スプリット転送
    応答を受信したエージェントにおいて前記制御コマンド
    内の送信先IDを判別することを特徴とするバス転送方
    法。
  3. 【請求項3】 請求項1記載のバス転送方法において,
    前記中央処理部,前記メモリ部,及び前記入出力制御部
    に個々にユニークなアドレス空間がマッピングされ,割
    り当てられていることを特徴とするバス転送方法。
  4. 【請求項4】 システムバスに接続された中央処理部,
    メモリ部,及び入出力制御部を備え,前記メモリ部,前
    記中央処理部,及び前記入出力制御部との間では,スプ
    リット転送方式でデータ転送が行われる情報処理装置に
    おいて,前記メモリ部,前記中央処理部,及び前記入出
    力制御部はエージェントとして動作し,発信元のエージ
    ェントからの要求に応じたデータを前記発信元のエージ
    ェント以外にもデータ転送するデータ転送手段を備えて
    いることを特徴とする情報処理装置。
  5. 【請求項5】 請求項4記載の情報処理装置において,
    前記中央処理部,前記メモリ部,及び前記入出力制御部
    はそれぞれ各部に割り当てられたアドレス空間を備えて
    いることを特徴とする情報処理装置。
  6. 【請求項6】 請求項4記載の情報処理装置において,
    前記データ転送手段は,前記バスに対するスプリト転送
    要求フェーズでは,制御コマンド,アドレス,及び戻り
    アドレスの3つを転送する第1の転送手段と,前記バス
    に対するスプリット転送応答フェーズでは,前記制御コ
    マンド,前記アドレス又は要求時の戻りアドレス,及び
    読み出しデータの3つを転送する第2の転送手段と,前
    記バスのスプリット転送を要求したエージェントにおい
    て制御コマンド内に送信先IDを付加するID付加手段
    と,スプリット転送応答を受信したエージェントにおい
    て制御コマンド内の送信先IDを判別する判別手段とを
    有することを特徴とする情報処理装置。
JP12131096A 1996-05-16 1996-05-16 バス転送方法及びそのための情報処理装置 Pending JPH09305536A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12131096A JPH09305536A (ja) 1996-05-16 1996-05-16 バス転送方法及びそのための情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12131096A JPH09305536A (ja) 1996-05-16 1996-05-16 バス転送方法及びそのための情報処理装置

Publications (1)

Publication Number Publication Date
JPH09305536A true JPH09305536A (ja) 1997-11-28

Family

ID=14808085

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12131096A Pending JPH09305536A (ja) 1996-05-16 1996-05-16 バス転送方法及びそのための情報処理装置

Country Status (1)

Country Link
JP (1) JPH09305536A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8745446B2 (en) 2009-03-25 2014-06-03 Spansion Llc Integrated circuit, debugging circuit, and debugging command control method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8745446B2 (en) 2009-03-25 2014-06-03 Spansion Llc Integrated circuit, debugging circuit, and debugging command control method
US9514070B2 (en) 2009-03-25 2016-12-06 Cypress Semiconductor Corporation Debug control circuit

Similar Documents

Publication Publication Date Title
US7149874B2 (en) Memory hub bypass circuit and method
US5696910A (en) Method and apparatus for tracking transactions in a pipelined bus
EP1646925B1 (en) Apparatus and method for direct memory access in a hub-based memory system
US20050114559A1 (en) Method for efficiently processing DMA transactions
JPH09160861A (ja) ローカル・プロセッサの介入なしにコマンド・ブロックをローカル処理サイドに転送するための情報処理システム
JP2004171209A (ja) 共有メモリデータ転送装置
JP3027843B2 (ja) バススヌ−プ方法
JP2000293436A (ja) パイプラインメモリシステムにおける複数のターゲットへの複数の未解決要求のサポート
JP3266470B2 (ja) 強制順序で行う要求毎ライト・スルー・キャッシュを有するデータ処理システム
US7203781B2 (en) Bus architecture with primary bus and secondary or slave bus wherein transfer via DMA is in single transfer phase engagement of primary bus
JP2006268753A (ja) Dma回路及びコンピュータシステム
JP2813182B2 (ja) マルチプロセッサコンピュータ複合装置
JPH09305536A (ja) バス転送方法及びそのための情報処理装置
JP3111052B2 (ja) 複数のプロセッサに接続されたバスにデータを供給する方法およびシステム
JP2002198987A (ja) ハブおよびポート付き転送コントローラのアクティブ・ポート
JP4012338B2 (ja) ロード/ストア支援エンジン
JP4818820B2 (ja) バスシステムおよびバススレーブならびにバス制御方法
US6907454B1 (en) Data processing system with master and slave processors
JPH0736704A (ja) プログラムダウンロード方式
JPH1185673A (ja) 共有バスの制御方法とその装置
JPH09218859A (ja) マルチプロセッサ制御システム
JP3056169B2 (ja) データ送受信方式とその方法
JP2002182901A (ja) コプロセッサデータアクセス制御装置、その方法およびその命令フォーマット
JP2003122701A (ja) インターフェース及び入出力デバイス
JPH0573473A (ja) 産業用コンピユータシステム

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040106