チャネル・コントローラ チャネルプログラム

チャネル・コントローラ

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2018/01/27 09:10 UTC 版)

チャネルプログラム

チャネルコマンド語(channel command word、CCW)とは、チャネルに接続された機器の入出力操作("read" や "seek" など)を指示するコマンドである。

CCW によってチャネルプログラムが構成される。チャネルプログラムはOSか何らかの独立したソフトウェア(診断プログラムなど)が作成する。CPUが上述の機械語命令を実行すると、独立した入出力処理ユニットに信号が送られ、その装置が要求されたI/Oに責任を持つ。システムのメインCPUはその間別の作業ができる。I/O操作処理中にOSに通知すべき事象が発生すると、入出力プロセッサはCPUに割り込みを送信し、OSにその後の処理を任せる。

IBMメインフレームの初期の機種では、チャネルは1つの周辺装置と1対1に対応していた。その後、RISCプロセッサをチャネル・プロセッサとして使用するようになり、全チャネルを1つのチャネル・プロセッサで扱うようになっていった。

チャネルI/Oでは入出力をかなり簡略化できる。例えば、IBM の Linux/390英語版 では、DASD(Direct Access Storage Device)のトラック全体のフォーマットを1つのチャネルプログラム(つまり1回のI/O命令)だけで実行できる。その間、メインCPUは別の作業が可能である。

CCW(チャネルコマンド語、channel command word)は、チャネル・プロセッサ専用の命令セットであり、チャネル・プロセッサは一種の有限状態機械である。チャネルに接続されたデバイスに対して "read"、"write"、"sense" といったI/O操作を行う。一般に、チャネルI/Oを採用したアーキテクチャでは、全周辺機器はチャネルに接続され、入出力は全てCCWを使って行われる。

チェーニング

IBMのCCWはチェーニングによってチャネルプログラムを構成する。CCW内のビットで記憶装置上の次の位置にあるデータが同じチャネルプログラムを構成するCCWかどうかを示している。チャネルプログラムは例外発生や分岐CCW実行といった事象が発生するまで逐次的に実行され、チェーニング指定が途切れたところで終了する。チェーニングには「コマンドチェーニング」と「データチェーニング」がある。コマンドチェーニングは次のCCWが新たなコマンドであることを示す。データチェーニングは次のCCWが現在のコマンドの追加データのアドレスであることを示し、例えばデバイスに書き込む1レコード分のデータが主記憶上でばらばらに存在している場合などに対応できる[3]

自己書き換え型のチャネルプログラム

チャネルプログラムを実行中に読み取ったデータに基づいてチャネルプログラム自身を書き換えることもできる。この技法はよく使われており、例えばOS/360の ISAM などで使われている[4]

具体例

以下の例は、ディスク上のレコードをキーで検索して読み取るチャネルプログラムである[5]。そのレコードを含むトラックと所望されるキーの値は不明である。このデバイスの制御装置は要求されたレコードを見つけるためトラックを検索する。

  SEEK             <cylinder/head number>
  SEARCH KEY EQUAL <key value>
  TIC              *-8
  READ DATA        <address of record> 

TIC (transfer in channel) は一致するキーを持つレコードが見つかるまで(あるいはトラックの終端に到達するまで)直前のSEARCHコマンドに分岐するCCWである。キーが一致するレコードが見つかると分岐せず、次のREADコマンドを実行することになる。


  1. ^ 709 Data Processing System”. IBM. 2012年3月20日閲覧。
  2. ^ 7090 Data Processing System”. IBM. 2012年3月20日閲覧。
  3. ^ IBM Corporation (1968). Student Text: Introduction to IBM System/360 Architecture. IBM Corporation. pp. 22. http://www.bitsavers.org/pdf/ibm/360/GC20-1667-1_intro360arch.pdf. 
  4. ^ Attanasio, C.R.; Markstein, P.W. and Phillips, R.J. (1976). “Penetrating an Operating System: a Study of VM/370 Integrity”. IBM Systems Journal 15 (1): 102-116. doi:10.1147/sj.151.0102. 
  5. ^ IBM Corporation (1969). IBM System/360 Component Descriptions: 2314 Direct Access Storage Facility and 2844 Auxiliary Storage Control. IBM Corporation. pp. 50.2. http://www.bitsavers.org/pdf/ibm/dasd/A26-3599-4_2314_Sep69.pdf. 
  6. ^ IBM Corporation (1978). OS/VS2 MVS Overview. pp. 8-12. http://www.bitsavers.org/pdf/ibm/370/OS_VS2/GC28-0984-0_OSVS2_MVS_Overview.pdf. 


「チャネル・コントローラ」の続きの解説一覧



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「チャネル・コントローラ」の関連用語

チャネル・コントローラのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



チャネル・コントローラのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのチャネル・コントローラ (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2024 GRAS Group, Inc.RSS