JP2823624B2 - I/oインタフェース制御方法 - Google Patents

I/oインタフェース制御方法

Info

Publication number
JP2823624B2
JP2823624B2 JP767690A JP767690A JP2823624B2 JP 2823624 B2 JP2823624 B2 JP 2823624B2 JP 767690 A JP767690 A JP 767690A JP 767690 A JP767690 A JP 767690A JP 2823624 B2 JP2823624 B2 JP 2823624B2
Authority
JP
Japan
Prior art keywords
command
channel
bit
controller
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.)
Expired - Fee Related
Application number
JP767690A
Other languages
English (en)
Other versions
JPH03211650A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 filed Critical Fujitsu Ltd
Priority to JP767690A priority Critical patent/JP2823624B2/ja
Publication of JPH03211650A publication Critical patent/JPH03211650A/ja
Application granted granted Critical
Publication of JP2823624B2 publication Critical patent/JP2823624B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は,CPUと主記憶装置とチャネルとコントローラ
と入出力装置とを有する計算機システムにおけるチャネ
ルとコントローラ間のI/Oインタフェース制御方法に関
する。
近年のCPUの処理速度の向上に伴い,一般命令と入出
力命令の処理速度の差が大きくなり,CPUは入出力命令か
らの早期解散が要求されている。そのためには,チャネ
ルにおける入出力命令の処理時間短縮が必要である。
〔従来の技術〕
第9図は従来技術の例を示す。
CPU10,主記憶装置11および各チャネル13は,システム
バス12に接続されている。チャネル13とコントローラ20
とは,タグ線TAGおよびバス線BUSにより,制御信号およ
びデータの授受を行う。コントローラ20の配下に入出力
装置(I/O)21が接続される。
このような従来のタグバスによるI/Oインタフェース
では,セレクション・シーケンスによって,I/Oステータ
スのチェックとコマンドの送出を行っていた。ところ
が,セレクション・シーケンスが,タグバスによるチャ
ネル13−コントローラ20間の応答シーケンスのため,か
なりの時間がかかり,また,スキューとコントローラ20
の処理速度に,セレクション・シーケンス時間が影響さ
れていた。
また,インタフェースが解放されていても,コントロ
ーラ20が何らかの処理中の場合,チャネル13からのセレ
クション・シーケンス開始が,コントローラ20側で待た
されていた。
〔発明が解決しようとする課題〕
したがって,CPU10は,チャネル13のセレクション・シ
ーケンスが終わるまで,入出力命令から解放されず,か
なりの時間待つといった問題があった。すなわち,チャ
ネル13はセレクション処理終了後,CPU10にコンディショ
ン・コードを返すが,それまでの時間が長くかかるとい
う問題があった。
本発明は上記問題点の解決を図り,チャネルがセレク
ション・シーケンスを行わずに入出力命令を処理するこ
とにより,コントローラが処理中でも影響されることな
く,短時間にCPUを入出力命令から解放できるようにす
ることを目的としている。
〔課題を解決するための手段〕
第1図は本発明の構成例を示す。
第1図において,10は命令をフェッチして実行するCP
U,11はプログラムやデータが格納される主記憶装置,12
はシステムバス,13はチャネル,14はマイクロプログラム
等が格納されている制御メモリ(CS),15はI/Oステータ
ス領域,16はコマンド・ポインタ,17はコミュニケーショ
ンメモリ(CM),18はチャネル・リクエスト領域,19はコ
マンド領域,20は配下のI/Oを制御するコントローラ,21
はデータの入出力を行う入出力装置(I/O)を表す。
本発明では,チャネル13とコントローラ20との間に,
両者が共にアクセス可能な記憶装置であるコミュニケー
ションメモリ17が設けられている。
チャネル13は,内部にI/Oステータス領域15を持ち,
これによりI/Oの状態(Available/Working)の管理と参
照を行う。
コミュニケーションメモリ17には,コマンド領域19が
あり,チャネル13はここにコマンドをキューイングす
る。コマンド・ポインタ16は,チャネル13がコマンド領
域19内にキューイングして未だコントローラ20に送出し
ていないコマンドを示すポインタである。チャネル・リ
クエスト領域18は,チャネル13がコマンド領域19内にキ
ューイングしてコントローラ20に処理を要求するコマン
ドを示すポインタと処理要求ビットを持つ。
チャネル13は,入出力命令実行時に自分が管理するI/
Oステータス領域15を参照し,コミュニケーションメモ
リ17のコマンド領域19にコマンドをキューイングする。
そして,コントローラ20がコマンドを受信可能なとき,
チャネル・リクエスト領域18を介して,コマンドの処理
をコントローラ20に要求する。
〔作用〕
本発明では,チャネル13が,CPU10が発行した入出力命
令を実行するとき,I/Oステータス領域15を参照し,I/O=
Workingならば,コンディション・コード(以下,CCとい
う)とステータス(=BSY)をCPU10に返し,I/O=Availa
bleならば,コマンドをコマンド領域19内にキューイン
グしてコマンド・ポインタ16のQNPを+1し,CC(=0)
とステータス(=00)をCPU10に返す。
コマンド領域19内に,未だコントローラ20に送出して
いないコマンドがあり(QSP≠QNP),チャネル・リクエ
スト領域18のCHREQビット=0なら,チャネル13は,コ
マンド・ポインタ16にCHREQビット=1を付加して,チ
ャネル・リクエスト領域18に書き込み,コントローラ20
にコマンド処理を要求し,コマンド・ポインタ16を(QS
P←QNP)と更新する。
コントローラ20は,チャネル・リクエスト領域18のCH
REQビットが1ならば,CHQSPとCHQNPで示された範囲のコ
マンド領域19内のコマンドを処理する。
したがって,チャネル13はセレクション・シーケンス
を行わずに,I/Oステータスの参照とコマンドの書き込み
とポインタ更新を行うことで,CPU10にCCとステータスを
返すため,短時間でCPU10を入出力命令から解放でき
る。また,チャネル13からコントローラ20へのコマンド
処理要求割込み回数が,コマンドN個に対して,1〜N回
になるため,コントローラ20の処理効率が向上する。
〔実施例〕
第2図は本発明の一実施例に係る制御メモリのマッ
プ,第3図は第2図に示すチャネルコモンの構造,第4
図は第2図に示す制御メモリにおけるサブチャネル領域
の構造,第5図は本発明の一実施例に係るコミュニケー
ションメモリのマップ,第6図は第5図に示すコミュニ
ケーションメモリの内部構造,第7図は本発明の一実施
例によるチャネル処理フロー,第8図は本発明の一実施
例によるコントローラ処理フローを示す。
本実施例では,チャネル13が持つ制御メモリ14は,2B
×16KWの大きさを持ち,第2図に示すように用いられて
いる。
ワード・アドレスで0番地から1FFF番地までがチャネ
ルマイクロプログラムの格納領域である。次の2000番地
から20FF番地までのチャネルコモンが,チャネル共通の
情報領域であって,第3図に示すデータ構造になってい
る。
チャネルコモンには,第3図に示すように,チャネル
ステータス,CHRQMビット,CMDQビット,QSP,QNPがある。
CHRQMビットは,コミュニケーションメモリ17にキュ
ーイングしたコマンドを,コントローラ20に送出したこ
とを示すビットである。CMDQビットは,キューイングし
て未だコントローラ20に送出していないコマンドがある
ことを示すビットである。
QSPはコマンド・キューの先頭を指すポインタであり,
QNPは登録した一連のコマンド・キューの次の空きエン
トリを示すポインタである。第1図に示すコマンド領域
19は,ラップアラウンドで使用されるようになってい
る。
第2図に示す制御メモリ14の3000番地から3FFF番地ま
での領域は,各サブチャネル用に割り当てられており,
第4図に示すような構造になっている。
このサブチャネル領域には,サブチャネルステータス
と,デバイスビジーを示すDVBSYビットと,CCWやCCWA等
の格納領域が設けられている。
コミュニケーションメモリ17は,本実施例では32KBの
大きさを持ち,第5図に示すようなマップ構成になって
いる。
その内部構造は,第6図に示す(イ)〜(チ)とおり
である。
第6図(イ)に示すCHRAは,第1図に示すチャネル・
リクエスト領域18に相当し,コマンドの処理要求を示す
チャネル・リクエストのCHREQビットと,制御メモリ14
におけるコマンド・ポインタ16に対応するCHQSP,CHQNP
のポインタ領域とを有する。
第6図(ロ)〜(ニ)は,第1図に示すコマンド領域
19に相当するCHCAを示し,これにはの3つのタイプがあ
る。図中のUAは入出力装置の機番である。
第1のタイプは,第6図(ロ)に示すセレクションの
タイプであり,SLCTビットが1である。このとき,コマ
ンドCMDが通知される。第2のタイプは,第6図(ハ)
に示すステータス転送の通知を示すタイプである。ACKS
ビットが1である。第3のタイプは,データ転送の通知
を示すタイプである。このとき,残りのバイトカウント
BCが通知される。
第5図に示すDVRAには,第6図(ホ)に示すように,
コントローラ20側からの要求を示すデバイスリクエスト
のDVREQビットがある。
DVCAは,第6図(ヘ)〜(チ)に示すように,3つのタ
イプで用いられる。
第1のタイプは,第6図(へ)に示すステータス転送
要求のタイプで,SRQビットが1である。このとき装置の
ステータスがDVSTSで通知される。第2のタイプは,第
6図(ト)に示すデータ転送要求のタイプで,DRQビット
が1である。バイトカウントBCやデータのアドレスDBA
が通知される。第3のタイプは,第6図(チ)に示すコ
マンド完了を示すタイプで,DVCMPビットが1である。
第7図は,第1図に示すチャネル13のマイクロプログ
ラムによる処理フローを示している。
[A](a) チャネル13に対する要求がないとき,す
なわち入出力命令も,デバイスからの要求DVREQもない
とき,IDLE LOOPで要求を待つ。CPU10から入出力(SIO)
命令が出されたならば[C]に示す処理へ移る(ステッ
プ71)。
デバイス(コントローラ20側)からの要求があれば,
次の処理へ移る(ステップ72)。
(b) デバイスからの要求がある場合,コマンドの完
了DVCMPかどうかを調べる。DVCMPビットが1のとき,処
理(e)へ移る(ステップ73)。
DVCMPビットが0のとき,DRQビットのオン/オフによ
り,ステータス処理が必要かデータ転送処理が必要かを
判定する(ステップ74)。
(c) ステータス処理が必要なとき,その処理を行う
(ステップ75)。ステータスにデバイスエンドDVEが表
示されていれば(ステップ76),そのサブチャネルのDV
BSYをリセットする(ステップ77)。
DVREQをリセットする(ステップ78)。
第6図(ハ)に示すタイプ2のコマンドを,CHCAにお
けるQNPのポイントする位置にキューイングする(ステ
ップ79)。そして,QNPをインクリメントし(ステップ70
1),チャネルコモンにあるCMDQビットをセットする
(ステップ702)。その後,[B]へ移る。
(d) DRQが1ならば(ステップ74),データ転送処
理を行う(ステップ703)。DVREQビットをリセットし
(ステップ704),第6図(ニ)に示すタイプ3のコマ
ンドを,CHCAにおけるQNPのポイントする位置にキューイ
ングする(ステップ705)。そして,QNPをインクリメン
トし(ステップ706),チャネルコモンにあるCMDQビッ
トをセットする(ステップ707)。その後,[B]へ移
る。
(e) コマンド完了の場合には,CHRQMビットをリセッ
トする(ステップ708)。またDVREQビットもリセットす
る(ステップ709)。次に,CMDQビットを調べ,0であれ
ば,[A]のIDLE LOOPへ移り,1であれば,[B]の処
理へ移る(ステップ710)。
[B](f) CHCAにキューイングしたコマンドをコン
トローラに送出したかどうかをCHRQMビットによって調
べる。CHRQMビットが1であれば,[A]のIDLE LOOPへ
移る(ステップ711)。0であれば,次の処理を行う。
チャネルリクエストCHREQをセットし,QSP,QNPをそれ
ぞれCHQSP,CHQNPにコピーする(ステップ712)。次にQN
PをQSPにセットし(ステップ713),CMDQビットをリセッ
トする(ステップ714)。その後,CHRQMビットをセット
し(ステップ715),[A]のIDLE LOOPへ戻る。
[C](g) 命令をデコードし,入出力(SIO)命令
であれば,以下の処理を行う(ステップ720)。
入出力機番UAを調べ(ステップ721),実装されてい
なければ,コンディション・コード(CC)=3をCPU10
に返却し(ステップ729),[A]のIDLE LOOPへ戻る。
実装されていれば,サブチャネルが使用可能(Availa
ble)かどうかを調べる(ステップ722)。Availableで
なければ,CC=2をCPU10に返却し,[A]のIDLE LOOP
へ戻る(ステップ730)。
次にDVBSYビットを調べ,デバイスがビジー状態かど
うかをチェックする(ステップ723)。ビジーであれば,
CC=1をCPU10に返却し,[A]のIDLE LOOPへ戻る(ス
テップ731)。
それ以外であれば,第6図(ロ)に示すタイプ1のコ
マンドを,CHCAにおけるQNPのポイントする位置にキュー
イングする(ステップ724)。そして,QNPをインクリメ
ントし(ステップ725),チャネルコモンにあるCMDQビ
ットをセットする(ステップ726)。そして,DVBSYビッ
トをセットし(ステップ727),デバイスステータスDSB
=00,CC=0として,CPU10に通知する(ステップ728)。
その後,[B]へ移る。
コントローラ20では,以上の処理によってコミュニケ
ーションメモリ17のコマンド領域19にキューイングされ
たコマンドを,チャネル・リクエスト領域18の情報に基
づいて読み出し,処理する。
第8図は,そのコントローラ20の処理フローを示して
いる。
[A](a) IDLE LOOPでは,チャネル・リクエストC
HREQかI/O処理要求を待つ(ステップ801,802)。チャネ
ル・リクエストCHREQが1であれば(ステップ801),
[B]へ移る。I/O処理要求であれば(ステップ802),
以下の処理を行う。
(b) I/O処理要求がWrite系のとき(ステップ80
3),残りバイトカウントを受け取り(ステップ804),
第6図(ト)に示すタイプ2のDVCAに対する設定を行う
(ステップ805)。その後,デバイスリクエストDVREQを
セットし(ステップ806),[A]のIDLE LOOPへ戻る。
(c) I/O処理要求がRead系のとき(ステップ807),
残りバイトカウントを受け取り(ステップ808),受信
したデータをデータバッファDBに設定する(ステップ80
9)。そして,第6図(ト)に示すタイプ2のDVCAに対
する設定を行う(ステップ810)。その後,デバイスリ
クエストDVREQをセットし(ステップ811),[A]のID
LE LOOPへ戻る。
(d) I/O処理要求がStatus要求のとき(ステップ81
2),ステータス情報を受け取り(ステップ813),第6
図(ヘ)に示すタイプ1のDVCAに対する設定を行う(ス
テップ814)。その後,デバイスリクエストDVREQをセッ
トし(ステップ815),[A]のIDLE LOOPへ戻る。
[B](e) チャネル・リクエストCHREQがあれば,
コミュニケーションメモリ17からCHRA,CHCAを読む(ス
テップ820)。そして,CHQSPをインクリメントする(ス
テップ821)。CHQSPとCHQNPが等しければ(ステップ82
2),CHREQをリセットし(ステップ823),第6図(チ)
に示すタイプ3(コマンド完了)のDVCAに対する設定を
行う(ステップ824)。それから,デバイスリクエストD
VREQをセットする(ステップ825)。
(f) 次にSLCTビットを参照し(826),このビット
が1であれば,入出力装置21へのコマンドの転送を行
う。すなわち,Writeコマンド(ステップ840),Control
コマンド(ステップ843)に対しては,入出力装置21にW
rite系のコマンドを送る(ステップ846)。Readコマン
ド(ステップ841),Read BWコマンド(ステップ842),S
enceコマンド(ステップ844),Sence I/Oコマンド(ス
テップ845)に対しては,入出力装置21にRead系のコマ
ンドを送る(ステップ847)。その後,[A]のIDLE LO
OPに戻る。
(g) SLCTビットが0のとき,ACKDビットが1であれ
ば(ステップ827),Write系であるかどうかにより(ス
テップ829),データを入出力装置21に転送し(ステッ
プ830),転送終了であれば(ステップ831),その旨を
入出力装置21に通知する(ステップ832)。その後,
[A]のIDLE LOOPに戻る。
以上のように,コントローラ20は,チャネル・リクエ
スト領域18のCHREQビットが1であれば,CHQSPからCHQNP
の前までのコマンド領域19に格納されたコマンドを,逐
次取り出して処理し,その処理結果を,第5図に示すDV
RA,DVCAでチャネル13へ通知する。
〔発明の効果〕
以上説明したように,本発明によれば,チャネルがI/
Oステータスの管理を行い,コマンドをコミュニケーシ
ョンメモリ上にキューイングすることにより,チャネル
はセレクション・シーケンスを行わずに,処理を進める
ことができるようになる。したがって,コントローラが
処理中でも影響されることなく,短時間でCPUを入出力
命令から解放できるようになる。また,コントローラで
はチャネルからのコマンド処理要求の割込み回数が減る
ので,コントローラの処理効率が向上することになり,
システムの性能が向上する。
【図面の簡単な説明】
第1図は本発明の構成例, 第2図は本発明の一実施例に係る制御メモリのマップ, 第3図は第2図に示すチャネルコモンの構造, 第4図は第2図に示す制御メモリにおけるサブチャネル
領域の構造, 第5図は本発明の一実施例に係るコミュニケーションメ
モリのマップ, 第6図は第5図に示すコミュニケーションメモリの内部
構造, 第7図は本発明の一実施例によるチャネル処理フロー, 第8図は本発明の一実施例によるコントローラ処理フロ
ー, 第9図は従来技術の例を示す。 図中,10はCPU,11は主記憶装置,12はシステムバス,13は
チャネル,14は制御メモリ,15はI/Oステータス領域,16は
コマンド・ポインタ,17はコミュニケーションメモリ,18
はチャネル・リクエスト領域,19はコマンド領域,20はコ
ントローラ,21は入出力装置を表す。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】チャネル(13)とコントローラ(20)とが
    アクセスできる記憶装置(17)を設け, 前記チャネル(13)は,I/Oステータスの管理と参照とを
    行い,前記記憶装置(17)上にコマンドをキューイング
    し,コントローラ(20)がコマンドを受信可能なとき,
    前記記憶装置(17)に要求があることを書き込むことに
    より,キューイングしたコマンドの処理をコントローラ
    (20)に要求し, 前記コントローラ(20)は,前記記憶装置(17)に要求
    があることが書き込まれているときに,前記記憶装置
    (17)上にキューイングされているコマンドを取り出し
    て処理することにより, 入出力命令を実行することを特徴とするI/Oインタフェ
    ース制御方法。
JP767690A 1990-01-17 1990-01-17 I/oインタフェース制御方法 Expired - Fee Related JP2823624B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP767690A JP2823624B2 (ja) 1990-01-17 1990-01-17 I/oインタフェース制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP767690A JP2823624B2 (ja) 1990-01-17 1990-01-17 I/oインタフェース制御方法

Publications (2)

Publication Number Publication Date
JPH03211650A JPH03211650A (ja) 1991-09-17
JP2823624B2 true JP2823624B2 (ja) 1998-11-11

Family

ID=11672398

Family Applications (1)

Application Number Title Priority Date Filing Date
JP767690A Expired - Fee Related JP2823624B2 (ja) 1990-01-17 1990-01-17 I/oインタフェース制御方法

Country Status (1)

Country Link
JP (1) JP2823624B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101891549B1 (ko) * 2017-11-01 2018-08-27 주식회사 휴먼웰니스 인조모발 및 이의 제조방법

Also Published As

Publication number Publication date
JPH03211650A (ja) 1991-09-17

Similar Documents

Publication Publication Date Title
US5634099A (en) Direct memory access unit for transferring data between processor memories in multiprocessing systems
US5530897A (en) System for dynamic association of a variable number of device addresses with input/output devices to allow increased concurrent requests for access to the input/output devices
US6128674A (en) Method of minimizing host CPU utilization in driving an adapter by residing in system memory a command/status block a soft interrupt block and a status block queue
US5754887A (en) System for limiting access of plurality of requests to peripheral bus by halting transmission to particular peripheral devices and resuming transmission after second predetermined time period expiration
JP2550311B2 (ja) 磁気デイスクの多重制御方式
JP2821345B2 (ja) 非同期i/o制御方式
JP2823624B2 (ja) I/oインタフェース制御方法
US20060242258A1 (en) File sharing system, file sharing program, management server and client terminal
KR102000721B1 (ko) 컴퓨팅 디바이스, 코프로세서와 비휘발성 메모리 사이의 데이터 이동 방법 및 이를 포함하는 프로그램
JPH0844652A (ja) 計算機システムおよび入出力命令の発行方法
JP2624519B2 (ja) 計算機システムにおける入出力装置の起動処理方法
JP3259095B2 (ja) データ転送方法
JP2594611B2 (ja) Dma転送制御装置
JPS6131899B2 (ja)
JPH1021203A (ja) I/o装置のアクセス方法およびそのためのマルチプロセッサシステム
JPS6028023B2 (ja) 入出力命令高速化方式
JPH07111711B2 (ja) 処理終了割込制御システム
JPS62546B2 (ja)
JPH06161683A (ja) プリンタ装置
JPH0521260B2 (ja)
JPS59151242A (ja) デ−タ駆動型計算機の待ち行列制御方式
JPH11259430A (ja) マルチプロセッサ排他制御方法および制御装置
JPH09305536A (ja) バス転送方法及びそのための情報処理装置
JPH07114522A (ja) マルチプロセッサシステム
JPH05265972A (ja) 共用外部記憶装置の排他制御方式

Legal Events

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