JP3448689B2 - Io制御方法および情報処理装置 - Google Patents

Io制御方法および情報処理装置

Info

Publication number
JP3448689B2
JP3448689B2 JP03100893A JP3100893A JP3448689B2 JP 3448689 B2 JP3448689 B2 JP 3448689B2 JP 03100893 A JP03100893 A JP 03100893A JP 3100893 A JP3100893 A JP 3100893A JP 3448689 B2 JP3448689 B2 JP 3448689B2
Authority
JP
Japan
Prior art keywords
information
command
memory
input
cpu
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.)
Expired - Fee Related
Application number
JP03100893A
Other languages
English (en)
Other versions
JPH06243083A (ja
Inventor
哲彦 岡田
秀樹 村山
林  剛久
敦 宇賀神
保弘 石井
昌宏 北野
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP03100893A priority Critical patent/JP3448689B2/ja
Priority to US08/199,889 priority patent/US5678062A/en
Publication of JPH06243083A publication Critical patent/JPH06243083A/ja
Application granted granted Critical
Publication of JP3448689B2 publication Critical patent/JP3448689B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、IO制御方法および情
報処理装置に関し、特に、多数の入出力装置を制御する
のに好適なIO制御方法および情報処理装置に関する。
【0002】
【従来の技術】図8に、従来の情報処理装置の一例を示
す。この情報処理装置500は、CPU510と、その
CPU510に接続されたメモリ制御部530と、その
メモリ制御部530に接続されたメモリ520と、さら
に前記メモリ制御部530に接続されたシステムバス5
05と、そのシステムバス505に接続された複数のI
O制御部540,550,560と、前記IO制御部5
40に接続されたIOバス549と、そのIOバス54
9に接続されたIO要素(入出力装置)200,20
1,202と、前記IO制御部550に接続されたIO
バス559と、そのIOバス559に接続されたIO要
素210,211,212と、前記IO制御部560に
接続されたIOバス569と、そのIOバス569に接
続されたIO要素220,221,222とから構成さ
れている。
【0003】メモリ520は、IO制御部540に接続
されている各IO要素200,201,202に対応す
るDMAコマンドデータ構造701,702,703
と、IO制御部540に接続されている各IO要素20
0,201,202から各自の状態を報告される完了リ
スト720と、データ転送コマンドに従ってIO要素2
00,201,202から転送されたデータまたはIO
要素200,201,202へ転送するデータを保持す
るDMAバッファ730とを持っている。また、図示し
ていないが、メモリ520は、IO制御部550,56
0に対しても同様のDMAコマンドデータ構造と,完了
リストを持っている。
【0004】IO制御部540は、内部に、各IO要素
200,201,202に対応したアドレスレジスタ5
41および起動レジスタ542,アドレスレジスタ54
3および起動レジスタ544,アドレスレジスタ545
および起動レジスタ546を持っている。アドレスレジ
スタ541は、メモリ520に置かれているDMAコマ
ンドデータ構造701のアドレスを保持する。起動レジ
スタ542は、DMAコマンドデータ構造701を読み
出すきっかけを与えるのに使用する。アドレスレジスタ
543は、DMAコマンドデータ構造702のアドレス
を保持する。起動レジスタ544は、DMAコマンドデ
ータ構造702を読み出すきっかけを与えるのに使用す
る。アドレスレジスタ545は、DMAコマンドデータ
構造703のアドレスを保持する。起動レジスタ546
は、DMAコマンドデータ構造703を読み出すきっか
けを与えるのに使用する。また、IO制御部550,5
60も同様にアドレスレジスタと起動レジスタとを持っ
ている。
【0005】図9は、IO制御部540のアドレスレジ
スタ541と,メモリ520のDMAコマンドデータ構
造701のリンクを示す。IO制御部540のアドレス
レジスタ541は、DMAコマンドデータ構造701の
先頭のDMAコマンドクワッド800を指示している。
DMAコマンドデータ構造701は、DMAコマンドク
ワッド800,801,…のチェインである。各DMA
コマンドクワッド800,801,…は、次のDMAコ
マンドクワッドへのポインタと,DMAコマンドと,引
数1と,引数2とからなっている。なお、DMAコマン
ドデータ構造702,703についても同様である。
【0006】図10は、完了リスト720のデータ構造
を示す。完了リスト720は、IO要素の状態を記述し
た状態エントリ7202を有している。
【0007】上記情報処理装置500では、CPU51
0は、例えばIO要素200へのDMA要求があると
き、IO要素200へのDMAコマンドクワッド80
0,801,…を作成し、IO要素200に対応するD
MAコマンドデータ構造701としてメモリ520に書
き込む。さらに、前記DMAコマンドデータ構造701
へのポインタ情報をIO制御部540のアドレスレジス
タ541に書き込む。IO制御部540は、例えばIO
要素200が動作可能であるとき、対応するアドレスレ
ジスタ541を参照して、メモリ520上のDMAコマ
ンドデータ構造701からDMAコマンドクワッド80
0,801,…を1つずつ読み出し、順にIO要素20
0にDMA処理を実行させる。そして、DMA処理を終
了すると、IO要素200の終了状態を記述した状態エ
ントリを、メモリ520の完了リスト720のチェイン
構造リストに挿入する。
【0008】なお、上記従来技術は、1986年8月の
ヒューレット・パッカード・ジャーナル(HEWLET
T−PACKARD JOURNAL,August 1
986,pp23−30)に記載されている。
【0009】
【発明が解決しようとする課題】上記従来技術では、I
O要素にそれぞれ対応してアドレスレジスタおよび起動
レジスタを設けている。このため、1つのIO制御部に
多数のIO要素を接続しようとすると、そのIO要素の
数だけアドレスレジスタおよび起動レジスタを設ける必
要がある。しかし、これは次の〜の問題点を生じさ
せる。 複数のレジスタを設けると、ハードウエアコストがか
かる。 複数のレジスタをマッピングするためのアドレス空間
が必要になるため、IO制御部が持つアドレス空間の大
きさに依存して接続可能なIO要素の数が制限される。 IO制御部のレジスタへのアクセスはシステムバスを
経由して行うが、システムバスのバス権の確保,プロト
コル処理などで高速処理が困難である。また、一般にデ
ータ転送に比べてIO制御部のレジスタへのアクセスは
システムバスのスループット(単位時間当たりの転送デ
ータ量)を落とす傾向がある。従って、IO制御部に複
数のレジスタを設けて、CPUからそれらレジスタへの
アクセスの機会が増えると、システムの性能を落として
しまう。
【0010】さらに、上記従来の技術では、DMAコマ
ンドクワッドを順に読み出してIO要素に1つずつ処理
させるため、1つのIO要素が複数のDMA処理を並列
に処理できる場合でも、1つずつしかDMA処理を実行
できず、IO要素の性能をフルに引き出すことができな
い問題点がある。また、上記従来の技術では、多数のI
O要素の終了状態が完了リストに挿入された場合、どの
IO要素の終了状態かを解析する技術に言及していな
い。
【0011】そこで、本発明の第1の目的は、IO要素
にそれぞれ対応してアドレスレジスタおよび起動レジス
タを設けないでIO要素を制御することが出来るIO制
御方法および情報処理装置を提供することにある。ま
た、本発明の第2の目的は、IO要素が複数のDMA要
求を並列に処理できる場合には、DMA処理を並列に実
行させるIO制御方法および情報処理装置を提供するこ
とにある。さらに、本発明の第3の目的は、多数のIO
要素の終了状態が完了リストに挿入された場合に、どの
IO要素の終了状態かを登録できるようにしたIO制御
方法および情報処理装置を提供することにある。
【0012】
【課題を解決するための手段】第1の観点では、本発明
は、CPUと,そのCPUに接続されたメモリと,その
メモリに接続されたIO制御部と,そのIO制御部に接
続された複数の入出力装置とを有する情報処理装置にお
いて、入出力装置への複数のIOコマンド情報を入出力
装置対応のコマンドデータ構造として前記CPUが前記
メモリに書き込み,且つ,入出力装置を識別するIO識
別情報とそれに対応するIOコマンド情報へのコマンド
ポインタ情報とを要求データ構造として前記CPUが前
記メモリに書き込み,且つ,前記要求データ構造への要
求ポインタ情報を前記CPUが前記IO制御部のアドレ
スレジスタに書き込み、そのアドレスレジスタを参照し
て前記書き込まれた前記IO識別情報と前記コマンドポ
インタ情報を前記IO制御部が前記メモリから読み出
し,且つ,前記コマンドポインタ情報を参照して前記書
き込まれた前記IOコマンド情報を前記IO制御部が前
記メモリから読み出し、これによって前記IO制御部が
動作可能な入出力装置に対応するIOコマンドの処理を
実行させることを特徴とするIO制御方法を提供する。
また、CPUと,そのCPUに接続されたメモリと,そ
のメモリに接続されたIO制御部と,そのIO制御部に
接続された複数の入出力装置とを有する情報処理装置に
おいて、前記メモリに格納されるデータは、入出力装置
への複数のIOコマンド情報を前記CPUから書き込ま
れる入出力装置対応のコマンドデータ構造と,入出力装
置を識別するIO識別情報とそれに対応するIOコマン
ド情報へのコマンドポインタ情報とを前記CPUから書
き込まれる要求データ構造とを有し、前記IO制御部
は、前記要求データ構造への要求ポインタ情報を前記C
PUから書き込まれるアドレスレジスタと,解析部と,
ローカルメモリと,IO処理部とを有し、前記解析部
は、前記アドレスレジスタを参照して前記要求データ構
造からIO識別情報とコマンドポインタ情報を読み出し
て前記ローカルメモリに書き込み、前記IO処理部は、
前記ローカルメモリに書き込まれた前記IO識別情報と
コマンドポインタ情報とを参照して前記コマンドデータ
構造からIOコマンド情報を読み出し,動作可能な入出
力装置に対応するIOコマンドの処理を実行させること
を特徴とする情報処理装置を提供する。
【0013】第2の観点では、本発明は、上記のIO制
御方法において、IO制御部が動作可能な入出力装置に
対応するIOコマンドの処理を実行させた後,その処理
の終了前でも動作可能な入出力装置に対応する次のIO
コマンド情報を読み出し,そのIOコマンドの処理を実
行させることを特徴とするIO制御方法を提供する。ま
た、上記の情報処理装置において、前記解析部は、ロー
カルメモリに可能ならば複数のIO識別情報とコマンド
ポインタ情報を読み出して書き込み、前記IO処理部
は、動作可能な入出力装置に対応するIOコマンドの処
理を実行させた後,その処理の終了前でも動作可能な次
の入出力装置に対応するコマンドポインタ情報を参照し
て前記コマンドデータ構造から次のIOコマンド情報を
読み出し,前記動作可能な入出力装置に対応するIOコ
マンドの処理を実行させることを特徴とする情報処理装
置を提供する。
【0014】第3の観点では、本発明は、CPUと,そ
のCPUに接続されたメモリと,そのメモリに接続され
たIO制御部と,そのIO制御部に接続された複数の入
出力装置とを有する情報処理装置において、処理を終了
した入出力装置を識別するIO識別情報とその入出力装
置の終了状態を表す状態情報とを前記IO制御部が前記
メモリに書き込み、その書き込まれた前記IO識別情報
と前記状態情報とを前記CPUが前記メモリから読み出
し、これによって入出力装置とその終了状態を前記CP
Uが認識することを特徴とするIO制御方法を提供す
る。また、CPUと,そのCPUに接続されたメモリ
と,そのメモリに接続されたIO制御部と,そのIO制
御部に接続された複数の入出力装置とを有する情報処理
装置において、前記メモリに格納されるデータは、制御
対象の入出力装置を識別するIO識別情報とその入出力
装置の状態を表す状態情報とを前記IO制御部から書き
込まれるデータ構造を有することを特徴とする情報処理
装置を提供する。
【0015】
【作用】上記第1の観点による本発明のIO制御方法お
よび情報処理装置では、IO制御部に接続される入出力
装置の数に係わらず、IO制御部には、アドレスレジス
タと起動レジスタの2つのレジスタだけを設ける。さら
に、入出力装置対応のコマンドデータ構造へのポインタ
は、要求データ構造としてメモリに書き込み、その要求
データ構造のアドレスを前記IO制御部のアドレスレジ
スタに書き込む。そして、IO制御部は、メモリの要求
データ構造およびコマンドデータ構造を参照して各入出
力装置に対するIO処理を実行する。このように、IO
制御部には、アドレスレジスタと起動レジスタの2つの
レジスタだけを設けるから、ハードウエアコストがかか
らない。また、2つのレジスタのアドレス空間だけでよ
いため、IO制御部が持つアドレス空間の大きさによっ
て接続可能な入出力装置の数が制限されない。さらに、
CPUからIO制御部のレジスタへのアクセスの機会を
最小にでき、スループットの低下を防止することが出来
る。
【0016】上記第2の観点による本発明のIO制御方
法および情報処理装置では、IO制御部は、入出力装置
にIOコマンドの処理を実行させた後、その処理の終了
前でも、動作可能な入出力装置に対応する次のIOコマ
ンド情報をメモリから読み出して、そのIOコマンドの
処理を実行させる。このため、入出力装置にDMA処理
を並列実行させることが可能となり、入出力装置の性能
をフルに引き出せるようになる。
【0017】上記第3の観点による本発明のIO制御方
法および情報処理装置では、制御対象の入出力装置を識
別するIO識別情報とその入出力装置の状態を表す状態
情報とをIO制御部から書き込まれるデータ構造を、メ
モリに設けている。このため、多数の入出力装置が接続
された場合にも、どの入出力装置の処理が終了したのか
を高速に判別することが出来る。
【0018】
【実施例】以下、図に示す実施例により本発明を詳細に
説明する。なお、これにより本発明が限定されるもので
はない。
【0019】図1に、本発明の情報処理装置の一実施例
を示す。この情報処理装置100は、CPU110と、
そのCPU110に接続されたメモリ制御部130と、
そのメモリ制御部130に接続されたメモリ120と、
さらに前記メモリ制御部130に接続されたシステムバ
ス105と、そのシステムバス105に接続された複数
のIO制御部140,150,160と、前記IO制御
部140に接続されたIOバス149と、そのIOバス
149に接続されたIO要素200,201,202
と、前記IO制御部150に接続されたIOバス159
と、そのIOバス159に接続されたIO要素210,
211,212と、前記IO制御部160に接続された
IOバス169と、そのIOバス169に接続されたI
O要素220,221,222とから構成されている。
【0020】CPU110は、内部に、コピーバックキ
ャッシュ115を持っている。メモリ120は、IO制
御部140に対するDMA要求データ構造310と、I
O制御部140に接続されている各IO要素200,2
01,202に対応するDMAコマンドデータ構造30
1,302,303と、IO制御部140に接続されて
いる各IO要素200,201,202から各自の終了
状態を報告される完了リスト320と、データ転送コマ
ンドに従ってIO要素200,201,202から転送
されたデータまたはIO要素200,201,202へ
転送するデータを保持するDMAバッファ330とを持
っている。このDMAバッファ330は、データ転送コ
マンドの数だけ連続した領域としてとられる。また、図
示していないが、メモリ120は、IO制御部150,
160に対しても同様のDMA要求データ構造と,DM
Aコマンドデータ構造と,完了リストを持っている。
【0021】メモリ120上に作られる全てのデータ構
造は、前記CPU110のコピーバックキャッシュ11
5のブロックサイズ(キャッシュミス時にまとめて読み
込まれるデータ量)の整数倍の大きさを単位にしてい
る。これにより、CPU110とメモリ120の間のデ
ータ転送を効率的に行うことが出来る。また、システム
バス105上でのデータのブロック転送量も、コピーバ
ックキャッシュ115のブロックサイズの整数倍の大き
さを単位にしている。これにより、メモリ120とIO
制御部140,150,160の間のデータ転送も効率
的に行うことが出来る。
【0022】IO制御部140は、内部に、アドレスレ
ジスタ141および起動レジスタ142を持っている。
アドレスレジスタ141は、メモリ120に置かれてい
るDMA要求データ構造310のアドレスを保持する。
起動レジスタ142は、当該IO制御部140のDMA
処理の起動に使用する。また、IO制御部150,16
0も同様にアドレスレジスタと起動レジスタを持ってい
る。
【0023】図2は、IO制御部140のアドレスレジ
スタ141と,メモリ120のDMA要求データ構造3
10およびDMAコマンドデータ構造301,302,
303のリンクを示す。IO制御部140のアドレスレ
ジスタ141は、メモリ120のDMA要求データ構造
310の先頭のDMA起動要求クワッド311を指示す
る。DMA要求データ構造310は、各DMA起動要求
に対応したDMA起動要求クワッド311,312,3
13,…のチェインである。各DMA起動要求クワッド
は、次のDMA起動要求クワッドへのポインタと,当該
DMA起動要求の対象であるIO要素を識別するための
IO識別情報と,対応するDMAコマンドデータ構造へ
のポインタと,引数とからなっている。なお、IO要素
対応に1つずつDMA起動要求クワッドを用意し,各D
MA起動要求クワッドを連続したメモリ領域に取れば、
IO制御部は順にDMA起動要求クワッドを読み出せば
よいため、DMA要求データ構造は、必ずしもDMA起
動要求クワッドのチェイン構造である必要はない。
【0024】DMAコマンドデータ構造301は、DM
Aコマンドクワッド400,401,402,…のチェ
インである。各DMAコマンドクワッド400,40
1,…は、次のDMAコマンドクワッドへのポインタ
と,DMAコマンドと,引数1と,引数2とからなって
いる。DMAコマンドデータ構造302,303,…に
ついても同様である。
【0025】図3は、完了リスト320のデータ構造を
示す。完了リスト320は、状態を報告してきたIO要
素を識別するためのIO識別情報を保持するIO識別情
報保持エントリ3201と,状態を記述した状態エント
リ7202とを有している。
【0026】図4は、IO制御部140の構成を示す。
IO制御部140は、前記アドレスレジスタ141およ
び起動レジスタ142の外に、起動要求解析部143
と、IO要素に対するDMA制御を行うDMA処理部1
44と、ローカルメモリ145とを有している。
【0027】図5は、起動要求解析部143の処理フロ
ー図である。起動要求解析部143は、アドレスレジス
タ141に書き込まれたアドレスをたどってメモリ12
0のDMA要求データ構造310からDMA起動要求ク
ワッドを読み出す(ステップ5001)。DMA起動要
求クワッドがなければ、処理を終了する(ステップ50
02)。DMA起動要求クワッドがあれば、それをロー
カルメモリ145に格納し、そのDMA起動要求クワッ
ドを解析する(5003)。そして、そのDMA起動要
求クワッドで指定されたIO要素がDMA処理を受付可
能か判定し(ステップ5004)、受付可能ならDMA
処理部144にDMA処理を依頼する(ステップ500
5)。このとき、例えばDMAコマンドデータ構造を読
み出すためのアドレス情報をDMA処理部144に渡
す。この後、ローカルメモリ145に余裕があるか判定
し(ステップ5006)、余裕があれば、前記ステップ
5001に戻って、DMA要求データ構造310から次
のDMA起動要求クワッドを先行して読み出し、ステッ
プ5002以下を実行する。これによって、IO要素の
機能や性能をフルに引き出すことが出来る。
【0028】図6は、DMA処理部144のDMA処理
受付時の処理フロー図である。DMA処理部144は、
1つのDMA処理を受け付けると、受付可能なDMA処
理の数を1つ減らす(ステップ6001)。そして、現
在処理中のDMAコマンドがあるか判定し、あれば、そ
の処理に戻り、なければ、いま受け付けたDMA処理を
実行するため、DMA処理(図7)へと移行する(ステ
ップ6002)。図7は、DMA処理部144のDMA
処理のフロー図である。DMA処理部144は、前記起
動要求解析部143から渡されたアドレス情報をローカ
ルポインタにコピーする(ステップ7001)。次に、
ローカルポインタが指すDMAコマンドデータ構造のD
MAコマンドクワッドを読み出す(ステップ700
2)。DMA起動要求クワッドがなくなってないか判定
し、あればステップ7004に進み、なくなっていれば
ステップ7005に進む。ステップ7004では、DM
Aコマンドクワッドで指定されたDMAコマンドを解析
し、指定のIO要素に対してDMA処理を実行し、ロー
カルポインタを次のDMA起動要求クワッドを指すよう
に進めて、前記ステップ7002に戻る。ステップ70
05では、処理したDMA起動要求クワッドをローカル
メモリ145からクリアすると共に、受付可能なDMA
処理の数を1つ増やす。そして、DMA処理の依頼があ
るか判定し、あれば前記ステップ7001に戻り、なけ
れば処理を終了する(ステップ7006)。
【0029】次に、具体例として、IO要素200から
DMAバッファ330へのDMA転送を行う動作の流れ
を説明する。CPU110は、DMAバッファ330へ
のデータ転送を指示するDMAコマンドクワッドを、メ
モリ120のDMAコマンドデータ構造上に作成する。
また、そのDMAコマンドクワッドを指すポインタとI
O要素200を表わすIO識別情報を持つDMA起動要
求クワッドを、メモリ120のDMA要求データ構造3
10上に作成する。さらに、CPU110は、IO制御
部140が全ての処理を終了している場合には、IO制
御部140を起動するために、前記作成したDMA起動
要求クワッドのアドレスをIO制御部140のアドレス
レジスタ141に書き込むと共に、起動レジスタ142
に起動コマンドを書き込む。
【0030】IO制御部140は、起動レジスタ142
に起動コマンドが書き込まれることで起動される。そし
て、IO制御部140は、アドレスレジスタ141に書
き込まれたアドレスを基にメモリ120のDMA起動要
求クワッドを読み出し、そのDMA起動要求クワッドに
書かれたIO識別情報からIO要素200に対する処理
であることを認識する。また、IO制御部140は、D
MA起動要求クワッドに書かれたポインタの指すDMA
コマンドクワッドを読み出し、そのDMAコマンドクワ
ッドに書かれたDMAコマンドからDMAバッファ33
0へのデータ転送処理であることを認識する。かくし
て、IO要素200からDMAバッファ330へのDM
A転送が開始される。
【0031】
【発明の効果】本発明のIO制御方法および情報処理装
置によれば、IO制御部には、アドレスレジスタと起動
レジスタの2つのレジスタだけを設けるから、ハードウ
エアコストがかからない。また、2つのレジスタのアド
レス空間だけでよいため、IO制御部が持つアドレス空
間の大きさによって接続可能な入出力装置の数が制限さ
れない。さらに、CPUからIO制御部のレジスタへの
アクセスの機会を最小にでき、スループットの低下を防
止することが出来る。また、本発明のIO制御方法およ
び情報処理装置によれば、入出力装置にDMA処理を並
列実行させることが可能となり、入出力装置の性能をフ
ルに引き出せるようになる。さらに、本発明のIO制御
方法および情報処理装置によれば、制御対象の入出力装
置を識別するIO識別情報とその入出力装置の状態を表
す状態情報とをIO制御部から書き込まれるデータ構造
をメモリに設けているため、多数の入出力装置が接続さ
れた場合にも、どの入出力装置の処理が終了したのかを
高速に判別することが出来る。
【図面の簡単な説明】
【図1】本発明の情報処理装置の一実施例のブロック図
である。
【図2】本発明に係るIO制御部のアドレスレジスタと
DMA要求データ構造およびDMAコマンドデータ構造
のリンクを示す説明図である。
【図3】本発明に係る完了リストの説明図である。
【図4】本発明に係るIO制御部のブロック図である。
【図5】起動要求解析部の処理フロー図である。
【図6】DMA処理部の処理フロー図である。
【図7】DMA処理部の別の処理フロー図である。
【図8】従来の情報処理装置のブロック図である。
【図9】従来のIO制御部のアドレスレジスタとDMA
コマンドデータ構造のリンクを示す説明図である。
【図10】従来の完了リストの説明図である。
【符号の説明】
100…情報処理装置、105…システムバス、110
…CPU、115…コピーバックキャッシュ、120…
メモリ、130…メモリ制御、140,150,160
…IO制御部、141…アドレスレジスタ、142…起
動レジスタ、143…起動要求解析部、144…DMA
処理部、145…ローカルメモリ、200,210,2
20…IO要素、301,302,303…DMAコマ
ンドデータ構造、310…DMA要求データ構造、32
0…完了リスト、311,312,313…DMA起動
要求クワッド330…DMAバッファ、400,401
…DMAコマンドクワッド
───────────────────────────────────────────────────── フロントページの続き (72)発明者 宇賀神 敦 神奈川県海老名市下今泉810番地 株式 会社日立製作所 オフィスシステム事業 部内 (72)発明者 石井 保弘 神奈川県海老名市下今泉810番地 株式 会社日立製作所 オフィスシステム事業 部内 (72)発明者 北野 昌宏 神奈川県海老名市下今泉810番地 株式 会社日立製作所 オフィスシステム事業 部内 (56)参考文献 特開 昭53−108320(JP,A) 特開 平5−40582(JP,A) 特開 昭57−30014(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 13/12 340 G06F 13/28 310 WPI(DIALOG)

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】 CPUと,そのCPUに接続されたメモ
    リと,そのメモリに接続されたIO制御部と,そのIO
    制御部に接続された複数の入出力装置とを有する情報処
    理装置において、 入出力装置への複数のIOコマンド情報を入出力装置対
    応のコマンドデータ構造として前記CPUが前記メモリ
    に書き込み,且つ,入出力装置を識別するIO識別情報
    とそれに対応するIOコマンド情報へのコマンドポイン
    タ情報とを要求データ構造として前記CPUが前記メモ
    リに書き込み,且つ,前記要求データ構造への要求ポイ
    ンタ情報を前記CPUが前記IO制御部のアドレスレジ
    スタに書き込み、 そのアドレスレジスタを参照して前記書き込まれた前記
    IO識別情報と前記コマンドポインタ情報を前記IO制
    御部が前記メモリから読み出し,且つ,前記コマンドポ
    インタ情報を参照して前記書き込まれた前記IOコマン
    ド情報を前記IO制御部が前記メモリから読み出し、こ
    れによって前記IO制御部が動作可能な入出力装置に対
    応するIOコマンドの処理を実行させることを特徴とす
    るIO制御方法。
  2. 【請求項2】 請求項1に記載のIO制御方法におい
    て、IO制御部が動作可能な入出力装置に対応するIO
    コマンドの処理を実行させた後,その処理の終了前でも
    動作可能な入出力装置に対応する次のIOコマンド情報
    を読み出し,そのIOコマンドの処理を実行させること
    を特徴とするIO制御方法。
  3. 【請求項3】 CPUと,そのCPUに接続されたメモ
    リと,そのメモリに接続されたIO制御部と,そのIO
    制御部に接続された複数の入出力装置とを有する情報処
    理装置において、 処理を終了した入出力装置を識別するIO識別情報とそ
    の入出力装置の終了状態を表す状態情報とを前記IO制
    御部が前記メモリに書き込み、その書き込まれた前記I
    O識別情報と前記状態情報とを前記CPUが前記メモリ
    から読み出し、これによって入出力装置とその終了状態
    を前記CPUが認識することを特徴とするIO制御方
    法。
  4. 【請求項4】 CPUと,そのCPUに接続されたメモ
    リと,そのメモリに接続されたIO制御部と,そのIO
    制御部に接続された複数の入出力装置とを有する情報処
    理装置において、 前記メモリに格納されるデータは、入出力装置への複数
    のIOコマンド情報を前記CPUから書き込まれる入出
    力装置対応のコマンドデータ構造と,入出力装置を識別
    するIO識別情報とそれに対応するIOコマンド情報へ
    のコマンドポインタ情報とを前記CPUから書き込まれ
    る要求データ構造とを有し、 前記IO制御部は、前記要求データ構造への要求ポイン
    タ情報を前記CPUから書き込まれるアドレスレジスタ
    と,解析部と,ローカルメモリと,IO処理部とを有
    し、前記解析部は、前記アドレスレジスタを参照して前
    記要求データ構造からIO識別情報とコマンドポインタ
    情報を読み出して前記ローカルメモリに書き込み、前記
    IO処理部は、前記ローカルメモリに書き込まれた前記
    IO識別情報とコマンドポインタ情報とを参照して前記
    コマンドデータ構造からIOコマンド情報を読み出し,
    動作可能な入出力装置に対応するIOコマンドの処理を
    実行させることを特徴とする情報処理装置。
  5. 【請求項5】 請求項4に記載の情報処理装置におい
    て、前記解析部は、ローカルメモリに可能ならば複数の
    IO識別情報とコマンドポインタ情報を読み出して書き
    込み、前記IO処理部は、動作可能な入出力装置に対応
    するIOコマンドの処理を実行させた後,その処理の終
    了前でも動作可能な次の入出力装置に対応するコマンド
    ポインタ情報を参照して前記コマンドデータ構造から次
    のIOコマンド情報を読み出し,前記動作可能な入出力
    装置に対応するIOコマンドの処理を実行させることを
    特徴とする情報処理装置。
  6. 【請求項6】 請求項4または請求項5に記載の情報処
    理装置において、前記CPUはキャッシュメモリを有
    し、前記メモリ上の前記コマンドデータ構造および前記
    要求データ構造が,前記キャッシュメモリのブロックサ
    イズ(キャッシュミス時にまとめて読み込まれるデータ
    量)の整数倍の大きさであることを特徴とする情報処理
    装置。
  7. 【請求項7】 CPUと,そのCPUに接続されたメモ
    リと,そのメモリに接続されたIO制御部と,そのIO
    制御部に接続された複数の入出力装置とを有する情報処
    理装置において、 前記メモリに格納されるデータは、制御対象の入出力装
    置を識別するIO識別情報とその入出力装置の状態を表
    す状態情報とを前記IO制御部から書き込まれるデータ
    構造を有することを特徴とする情報処理装置。
JP03100893A 1993-02-22 1993-02-22 Io制御方法および情報処理装置 Expired - Fee Related JP3448689B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP03100893A JP3448689B2 (ja) 1993-02-22 1993-02-22 Io制御方法および情報処理装置
US08/199,889 US5678062A (en) 1993-02-22 1994-02-22 Input/output control method and data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP03100893A JP3448689B2 (ja) 1993-02-22 1993-02-22 Io制御方法および情報処理装置

Publications (2)

Publication Number Publication Date
JPH06243083A JPH06243083A (ja) 1994-09-02
JP3448689B2 true JP3448689B2 (ja) 2003-09-22

Family

ID=12319539

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03100893A Expired - Fee Related JP3448689B2 (ja) 1993-02-22 1993-02-22 Io制御方法および情報処理装置

Country Status (2)

Country Link
US (1) US5678062A (ja)
JP (1) JP3448689B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6006286A (en) * 1996-04-26 1999-12-21 Texas Instruments Incorporated System for controlling data packet transfers by associating plurality of data packet transfer control instructions in packet control list including plurality of related logical functions
JP3478519B2 (ja) * 1996-06-28 2003-12-15 株式会社リコー プリンタ装置
US6092124A (en) 1998-04-17 2000-07-18 Nvidia Corporation Method and apparatus for accelerating the rendering of images
US6820087B1 (en) * 1998-07-01 2004-11-16 Intel Corporation Method and apparatus for initializing data structures to accelerate variable length decode
US6275876B1 (en) * 1999-05-21 2001-08-14 International Business Machines Corporation Specifying wrap register for storing memory address to store completion status of instruction to external device
US7302503B2 (en) * 2002-04-01 2007-11-27 Broadcom Corporation Memory access engine having multi-level command structure
US8386661B2 (en) * 2005-11-18 2013-02-26 Leviton Manufacturing Co., Inc. Communication network for controlling devices
US7861060B1 (en) * 2005-12-15 2010-12-28 Nvidia Corporation Parallel data processing systems and methods using cooperative thread arrays and thread identifier values to determine processing behavior
US7680988B1 (en) * 2006-10-30 2010-03-16 Nvidia Corporation Single interconnect providing read and write access to a memory shared by concurrent threads
US8176265B2 (en) 2006-10-30 2012-05-08 Nvidia Corporation Shared single-access memory with management of multiple parallel requests
US8108625B1 (en) 2006-10-30 2012-01-31 Nvidia Corporation Shared memory with parallel access and access conflict resolution mechanism
TWI465905B (zh) 2010-09-22 2014-12-21 Toshiba Kk 記憶體系統、主機控制器、及直接記憶體存取之控制方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4271466A (en) * 1975-02-20 1981-06-02 Panafacom Limited Direct memory access control system with byte/word control of data bus
JPS5789128A (en) * 1980-11-25 1982-06-03 Hitachi Ltd Controlling system for information interchange
US4658350A (en) * 1981-08-12 1987-04-14 International Business Machines Corp. Extended addressing apparatus and method for direct storage access devices
JPS6019269A (ja) * 1983-07-13 1985-01-31 Nec Corp 高速デ−タ転送方式
JPS6375955A (ja) * 1986-09-19 1988-04-06 Fujitsu Ltd プログラムモ−ド・アクセス制御方式
JP2712131B2 (ja) * 1989-01-23 1998-02-10 株式会社日立製作所 通信制御装置
JPH0496163A (ja) * 1990-08-08 1992-03-27 Nec Corp Dmaコントローラ
JP2561398B2 (ja) * 1991-06-14 1996-12-04 日本電気株式会社 二重化ディスク制御装置

Also Published As

Publication number Publication date
US5678062A (en) 1997-10-14
JPH06243083A (ja) 1994-09-02

Similar Documents

Publication Publication Date Title
JP3448689B2 (ja) Io制御方法および情報処理装置
US6865631B2 (en) Reduction of interrupts in remote procedure calls
JP3382080B2 (ja) 命令実行順序の一貫性を照合する方法及びシステム
EP0889412B1 (en) Split write data processing mechanism for memory controllers
US7096389B2 (en) System and method for dynamically moving checksums to different memory locations
JP3442932B2 (ja) 情報処理システム
JP3431941B2 (ja) データ処理システムにおける命令の実行順序を決定する方法および装置
JPH08115289A (ja) 強制順序で行う要求毎ライト・スルー・キャッシュを有するデータ処理システム
US5129065A (en) Apparatus and methods for interface register handshake for controlling devices
US6279104B1 (en) Debugging system for parallel processed program and debugging method thereof
US5343557A (en) Workstation controller with full screen write mode and partial screen write mode
EP0430500B1 (en) System and method for atomic access to an input/output device with direct memory access
US5860026A (en) Information processing system for controlling operations of input/output devices of another clusters according to control instructions issued from a cluster
US6502150B1 (en) Method and apparatus for resource sharing in a multi-processor system
JP2000227872A (ja) 複数メモリ要求の動的スロット割当および追跡
JPH08212178A (ja) 並列計算機
JP2755103B2 (ja) 記憶装置のアクセス方法
JPH11184761A (ja) リードモディファイライト制御システム
JP2906958B2 (ja) ユーザプログラムロード方式
JP2885210B2 (ja) 図形処理システム
JP3036449B2 (ja) メモリ診断装置
JP2003308219A (ja) 排他制御方式
JPS62209635A (ja) 非同期通信におけるシステム管理フアイルアクセス方式
JP2954006B2 (ja) エミュレーション装置およびエミュレーション方法
JPH0619641A (ja) 印字制御システム

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees