JPH0370256B2 - - Google Patents
Info
- Publication number
- JPH0370256B2 JPH0370256B2 JP60133401A JP13340185A JPH0370256B2 JP H0370256 B2 JPH0370256 B2 JP H0370256B2 JP 60133401 A JP60133401 A JP 60133401A JP 13340185 A JP13340185 A JP 13340185A JP H0370256 B2 JPH0370256 B2 JP H0370256B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- ram
- data
- page
- real
- 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 - Lifetime
Links
- 238000006243 chemical reaction Methods 0.000 claims description 18
- 230000015654 memory Effects 0.000 claims description 13
- 238000001514 detection method Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】
[発明の技術分野]
この発明は、仮想記憶方式の計算システムに係
り、特に仮想アドレスを実アドレスに変換するア
ドレス変換機能を備えたチヤネル装置に関する。
り、特に仮想アドレスを実アドレスに変換するア
ドレス変換機能を備えたチヤネル装置に関する。
[発明の技術的背景]
この種チヤネル装置は、入出力転送制御のため
に主記憶上のアドレス変換テーブルを参照して仮
想アドレスを実アドレスに変換するアドレス変換
を行なう。このアドレス変換は、チヤネル装置内
のマイクロコンピユータによつて実行されるもの
で、一般にチヤネルDAT(Dynamic Address
Translation)と呼ばれる。
に主記憶上のアドレス変換テーブルを参照して仮
想アドレスを実アドレスに変換するアドレス変換
を行なう。このアドレス変換は、チヤネル装置内
のマイクロコンピユータによつて実行されるもの
で、一般にチヤネルDAT(Dynamic Address
Translation)と呼ばれる。
[背景技術の問題点]
しかし従来のチヤネル装置では、装置に磁気デ
イスク装置のような高速入出力装置を接続する場
合には、ページアドレスが変わる毎にチヤネル装
置内のマイクロコンピユータがアドレス変換を行
なつていたのでは、ページアドレスの切替え毎に
データ転送が不可能となる問題があつた。
イスク装置のような高速入出力装置を接続する場
合には、ページアドレスが変わる毎にチヤネル装
置内のマイクロコンピユータがアドレス変換を行
なつていたのでは、ページアドレスの切替え毎に
データ転送が不可能となる問題があつた。
[発明の目的]
この発明の目的は、仮想記憶方式の計算機シス
テムにおいて、ページアドレスの切替え毎にデー
タ転送が不可能となることが防止でき、しかもそ
のために誤つたデータ転送を招く恐れのないチヤ
ネル装置を提供することにある。
テムにおいて、ページアドレスの切替え毎にデー
タ転送が不可能となることが防止でき、しかもそ
のために誤つたデータ転送を招く恐れのないチヤ
ネル装置を提供することにある。
[発明の概要]
この発明では、実ページアドレスを複数ページ
分格納するRAMと、仮想アドレスを実アドレス
に変換するアドレス変換をデータ転送に必要なペ
ージ数分実行するアドレス変換手段とを設け、ア
ドレス変換手段により得られる実ページアドレス
をRAMに書込むようにしている。この際、書込
みに連続して読出しが行なわれ書込みデータと読
出しデータとの一致が調べられる。もし不一致の
場合には主記憶の領域を破壊する恐れがあるた
め、入出力転送が停止される。
分格納するRAMと、仮想アドレスを実アドレス
に変換するアドレス変換をデータ転送に必要なペ
ージ数分実行するアドレス変換手段とを設け、ア
ドレス変換手段により得られる実ページアドレス
をRAMに書込むようにしている。この際、書込
みに連続して読出しが行なわれ書込みデータと読
出しデータとの一致が調べられる。もし不一致の
場合には主記憶の領域を破壊する恐れがあるた
め、入出力転送が停止される。
上記RAMのアドレスは、アドレスカウンタの
示すデータ転送のために仮想アドレスのページア
ドレス部の下位の第1所定ビツトまたはRAMへ
の連続書込み/読出しのために示される仮想アド
レスのページアドレス部の下位の第2所定ビツト
のいずれか一方を選択するセレクタの出力によつ
て示される。そしてセレクタにより第1所定ビツ
トが選択された際にRAMから読出される実ペー
ジアドレスとアドレスカウンタの示す仮想アドレ
スのページ内オフセツトとが連結された実アドレ
スにより主記憶がアクセスされる。一方、セレク
タにより第2所定ビツトが選択された際にRAM
から読出される実ページアドレスは、上記した書
込みデータとの一致検出対象データとなる。
示すデータ転送のために仮想アドレスのページア
ドレス部の下位の第1所定ビツトまたはRAMへ
の連続書込み/読出しのために示される仮想アド
レスのページアドレス部の下位の第2所定ビツト
のいずれか一方を選択するセレクタの出力によつ
て示される。そしてセレクタにより第1所定ビツ
トが選択された際にRAMから読出される実ペー
ジアドレスとアドレスカウンタの示す仮想アドレ
スのページ内オフセツトとが連結された実アドレ
スにより主記憶がアクセスされる。一方、セレク
タにより第2所定ビツトが選択された際にRAM
から読出される実ページアドレスは、上記した書
込みデータとの一致検出対象データとなる。
[発明の実施例]
第1図はこの発明の一実施例に係るチヤネル装
置10の周辺構成を示すもので、11はチヤネル
装置10全体を制御するマイクロコンピユータで
ある。マイクロコンピユータ11は、マイクロコ
ンピユータ11の中心を成すマイクロプロセツ
サ、各種マイクロプログラムが格納されている
ROMおよびマイクロプロセツサのワークメモリ
である内部RAM(いずれ図示せず)を有してい
る。マイクロコンピユータ11は図示せぬCPU
から入出力開始指令が発せられると、同指令の示
す主記憶装置30の領域よりチヤネルコマンド語
(Channel Command Word;以下、CCWと称す
る)の群(これをチヤネルプログラムと呼ぶ)を
先頭より取出す。この際、主記憶装置30に対す
るアドレス(実アドレス)は、マイクロコンピユ
ータ11により同コンピユータ11の内部バス1
2を介してアドレスレジスタ13に限定され、同
レジスタ13からドライバ14、システムバス3
1を介して主記憶装置30に供給される。また主
記憶装置30から取出されたCCWは、システム
バス31、レシーバ15を介してデータレジスタ
16にラツチされ、しかる後内部バス12を介し
てマイクロコンピユータ11に取込まれる。この
データレジスタ16は上記したCCWの入力、更
には後述する実ページアドレスの入力など、チヤ
ネル装置10と主記憶装置30との間の制御用デ
ータの入出力に用いられる。またアドレスレジス
タ13は上記の入出力のためのアドレス設定に用
いられる。
置10の周辺構成を示すもので、11はチヤネル
装置10全体を制御するマイクロコンピユータで
ある。マイクロコンピユータ11は、マイクロコ
ンピユータ11の中心を成すマイクロプロセツ
サ、各種マイクロプログラムが格納されている
ROMおよびマイクロプロセツサのワークメモリ
である内部RAM(いずれ図示せず)を有してい
る。マイクロコンピユータ11は図示せぬCPU
から入出力開始指令が発せられると、同指令の示
す主記憶装置30の領域よりチヤネルコマンド語
(Channel Command Word;以下、CCWと称す
る)の群(これをチヤネルプログラムと呼ぶ)を
先頭より取出す。この際、主記憶装置30に対す
るアドレス(実アドレス)は、マイクロコンピユ
ータ11により同コンピユータ11の内部バス1
2を介してアドレスレジスタ13に限定され、同
レジスタ13からドライバ14、システムバス3
1を介して主記憶装置30に供給される。また主
記憶装置30から取出されたCCWは、システム
バス31、レシーバ15を介してデータレジスタ
16にラツチされ、しかる後内部バス12を介し
てマイクロコンピユータ11に取込まれる。この
データレジスタ16は上記したCCWの入力、更
には後述する実ページアドレスの入力など、チヤ
ネル装置10と主記憶装置30との間の制御用デ
ータの入出力に用いられる。またアドレスレジス
タ13は上記の入出力のためのアドレス設定に用
いられる。
マイクロコンピユータ11はCCWを取込むと、
その都度内部RAMに保存する。そしてマイクロ
コンピユータ11は内部RAMに保存したCCWの
群に従つて第2図a,bのフローチヤートに示す
入出力制御を行なう。
その都度内部RAMに保存する。そしてマイクロ
コンピユータ11は内部RAMに保存したCCWの
群に従つて第2図a,bのフローチヤートに示す
入出力制御を行なう。
まずマイクロコンピユータ11は、CCWで指
定されたデータ転送を行なうためのデータ転送準
備を行なう(ステツプS10)。即ちマイクロコ
ンピユータ11は、転送制御カウンタ部17内の
アドレスカウンタ18にCCWで指定された(主
記憶装置30に対する)転送開始仮想アドレスの
所定フイールドを、サイズカウンタ(図示せず)
に転送サイズ(転送ワード数)を、それぞれ初期
設定する。上記仮想アドレスは、第3図に示すよ
うに、21ビツトのページアドレスと、11ビツトの
ページ内オフセツトの32ビツトから成り、上記所
定フイールドは仮想アドレスの下位14ビツト、即
ちページアドレスの下位3ビツトとオフセツトで
ある。但しこの実施例では、アドレスカウンタ1
8に初期設定される転送開始仮想アドレスの所定
フイールドの上位3ビツト、即ちページアドレス
の下位3ビツトは、実際値に無関係に全て“0”
にされる。これは後述するDAT−RAM19に対
する制御を簡略化するためである。
定されたデータ転送を行なうためのデータ転送準
備を行なう(ステツプS10)。即ちマイクロコ
ンピユータ11は、転送制御カウンタ部17内の
アドレスカウンタ18にCCWで指定された(主
記憶装置30に対する)転送開始仮想アドレスの
所定フイールドを、サイズカウンタ(図示せず)
に転送サイズ(転送ワード数)を、それぞれ初期
設定する。上記仮想アドレスは、第3図に示すよ
うに、21ビツトのページアドレスと、11ビツトの
ページ内オフセツトの32ビツトから成り、上記所
定フイールドは仮想アドレスの下位14ビツト、即
ちページアドレスの下位3ビツトとオフセツトで
ある。但しこの実施例では、アドレスカウンタ1
8に初期設定される転送開始仮想アドレスの所定
フイールドの上位3ビツト、即ちページアドレス
の下位3ビツトは、実際値に無関係に全て“0”
にされる。これは後述するDAT−RAM19に対
する制御を簡略化するためである。
マイクロコンピユータ11はステツプS10の
データ転送準備を行なうと、主記憶装置30上に
置かれているアドレス変換テーブル(図示せず)
を参照することにより、転送開始仮想アドレス中
のページアドレス(先頭ページアドレス)を第4
図に示すように実ページアドレスに変換する(ス
テツプS12)。この際アドレス変換テーブルを
参照するためのアドレス(実アドレス)は、
CCW取出しの場合と同様に、アドレスレジスタ
13を介して主記憶装置30に供給される。また
アドレス変換結果、即ち主記憶装置30のアドレ
ス変換テーブルから取出される実ページアドレス
はデータレジスタ16を介してマイクロコンピユ
ータ11に取込まれる。
データ転送準備を行なうと、主記憶装置30上に
置かれているアドレス変換テーブル(図示せず)
を参照することにより、転送開始仮想アドレス中
のページアドレス(先頭ページアドレス)を第4
図に示すように実ページアドレスに変換する(ス
テツプS12)。この際アドレス変換テーブルを
参照するためのアドレス(実アドレス)は、
CCW取出しの場合と同様に、アドレスレジスタ
13を介して主記憶装置30に供給される。また
アドレス変換結果、即ち主記憶装置30のアドレ
ス変換テーブルから取出される実ページアドレス
はデータレジスタ16を介してマイクロコンピユ
ータ11に取込まれる。
さて、第1図のチヤネル装置10には、マイク
ロコンピユータ11のアドレス変換結果を例えば
最大8つ格納するRAM(以下DAT−RAMと称
する)19が設けられている。マイクロコンピユ
ータ11は、ステツプS12のアドレス変換で先
頭ページアドレスの実ページアドレスを得ると、
以下に述べるように同アドレスのDAT−RAM1
9への書込みを行なう。
ロコンピユータ11のアドレス変換結果を例えば
最大8つ格納するRAM(以下DAT−RAMと称
する)19が設けられている。マイクロコンピユ
ータ11は、ステツプS12のアドレス変換で先
頭ページアドレスの実ページアドレスを得ると、
以下に述べるように同アドレスのDAT−RAM1
9への書込みを行なう。
DAT−RAM19は、アドレスポートA、デー
タ入力ポートDIおよびデータ出力ポートDOを有
している。DAT−RAM19のアドレスポートAに
はセレクタ(SEL)21の出力ポートが接続され
ている。セレクタ21の“1”側入力ポートはマ
イクロコンピユータ11から出力される(仮想ア
ドレスの)ページアドレスの下位3ビツトを受取
る如く内部バス12に接続され、“0”側入力ポ
ートはアドレスカウンタ18の示す情報のうちの
上位3ビツト(即ちページアドレスの下位3ビツ
ト)を受取る如く同カウンタ18に接続されてい
る。マイクロコンピユータ11はDAT−RAM1
9への実ページアドレス書込みに際してセレクタ
21を“1”側に切替える(ステツプS14)。
タ入力ポートDIおよびデータ出力ポートDOを有
している。DAT−RAM19のアドレスポートAに
はセレクタ(SEL)21の出力ポートが接続され
ている。セレクタ21の“1”側入力ポートはマ
イクロコンピユータ11から出力される(仮想ア
ドレスの)ページアドレスの下位3ビツトを受取
る如く内部バス12に接続され、“0”側入力ポ
ートはアドレスカウンタ18の示す情報のうちの
上位3ビツト(即ちページアドレスの下位3ビツ
ト)を受取る如く同カウンタ18に接続されてい
る。マイクロコンピユータ11はDAT−RAM1
9への実ページアドレス書込みに際してセレクタ
21を“1”側に切替える(ステツプS14)。
次にマイクロコンピユータ11は、DAT−
RAM19にするアドレス(RAMアドレス)と
して3ビツトのオール“0”データ(即ちステツ
プS10でアドレスカウンタ18に設定された情
報の上位3ビツトと同一データ)を内部バス12
を介してセレクタ21の“1”側入力ポートに供
給すると共に先頭ページ(アドレス)に対応する
実ページアドレスを内部バス12を介してDAT
−RAM19のデータ入力ポートDIに供給、
DAT−RAM19を書込みモードに設定する。マ
イクロコンピユータ11からの3ビツトのRAM
アドレスは、セレクタ21により選択されて
DAT−RAM19のアドレスポートAに供給され
る。これによりマイクロコンピユータ11の指定
するDAT−RAM19のアドレス(この例では0
番地)に、マイクロコンピユータ11からの実ペ
ージアドレス(この例では先頭ページに対応する
実ページアドレス)が書込まれる(ステツプS1
6)。
RAM19にするアドレス(RAMアドレス)と
して3ビツトのオール“0”データ(即ちステツ
プS10でアドレスカウンタ18に設定された情
報の上位3ビツトと同一データ)を内部バス12
を介してセレクタ21の“1”側入力ポートに供
給すると共に先頭ページ(アドレス)に対応する
実ページアドレスを内部バス12を介してDAT
−RAM19のデータ入力ポートDIに供給、
DAT−RAM19を書込みモードに設定する。マ
イクロコンピユータ11からの3ビツトのRAM
アドレスは、セレクタ21により選択されて
DAT−RAM19のアドレスポートAに供給され
る。これによりマイクロコンピユータ11の指定
するDAT−RAM19のアドレス(この例では0
番地)に、マイクロコンピユータ11からの実ペ
ージアドレス(この例では先頭ページに対応する
実ページアドレス)が書込まれる(ステツプS1
6)。
マイクロコンピユータ11はステツプS16の
DAT−RAM19への実ページアドレス書込みを
行なうと、その書込みデータの読出しを行なう
(ステツプS18)。このためにマイクロコンピユ
ータ11は、DAT−RAM19に対するRAMア
ドレスをステツプS16での書込み時のそれに保
つた状態で、DAT−RAM19を読出しモードに
切替える。しかしてステツプS16で書込が行な
われたDAT−RAM19のそのアドレス(この例
では0番地)のデータが、データ出力ポートDO
から読出される。
DAT−RAM19への実ページアドレス書込みを
行なうと、その書込みデータの読出しを行なう
(ステツプS18)。このためにマイクロコンピユ
ータ11は、DAT−RAM19に対するRAMア
ドレスをステツプS16での書込み時のそれに保
つた状態で、DAT−RAM19を読出しモードに
切替える。しかしてステツプS16で書込が行な
われたDAT−RAM19のそのアドレス(この例
では0番地)のデータが、データ出力ポートDO
から読出される。
DAT−RAM19のデータ出力ポートDOは、
ゲート22を介して内部バス12に接続されると
共に、実アドレスを保持するアドレスレジスタ2
3の実ページアドレスフイールドに接続される。
このアドレスレジスタ23は、チヤネル装置10
に接続される入出力装置、例えば磁気デイスク装
置40と主記憶装置30との間のデータ転送にお
いて、主記憶装置30に対する実アドレスを示す
のに用いられる。またアドレスレジスタ23のオ
フセツトフイールドは、アドレスカウンタ18の
示す情報のうちのページ内オフセツトを受取る如
く同カウンタ18に接続される。
ゲート22を介して内部バス12に接続されると
共に、実アドレスを保持するアドレスレジスタ2
3の実ページアドレスフイールドに接続される。
このアドレスレジスタ23は、チヤネル装置10
に接続される入出力装置、例えば磁気デイスク装
置40と主記憶装置30との間のデータ転送にお
いて、主記憶装置30に対する実アドレスを示す
のに用いられる。またアドレスレジスタ23のオ
フセツトフイールドは、アドレスカウンタ18の
示す情報のうちのページ内オフセツトを受取る如
く同カウンタ18に接続される。
マイクロコンピユータ11はステツプS18の
読出しを行なう場合、ゲート22を出力イネーブ
ル状態に設定すると共に、アドレスレジスタ23
のラツチ動作を禁止する。これによりDAT−
RAM19からの読出しデータはゲート22によ
り内部バス12に出力され、マイクロコンピユー
タ11に導かれる。マイクロコンピユータ11
は、内部バス12上のデータ(即ちDAT−RAM
19からの読出しデータ)をステツプS16で用
いた書込みデータとの比較のために内部に取込む
(ステツプS20)。このときマイクロコンピユー
タ11はセレクタ21を“0”側に切替える。
読出しを行なう場合、ゲート22を出力イネーブ
ル状態に設定すると共に、アドレスレジスタ23
のラツチ動作を禁止する。これによりDAT−
RAM19からの読出しデータはゲート22によ
り内部バス12に出力され、マイクロコンピユー
タ11に導かれる。マイクロコンピユータ11
は、内部バス12上のデータ(即ちDAT−RAM
19からの読出しデータ)をステツプS16で用
いた書込みデータとの比較のために内部に取込む
(ステツプS20)。このときマイクロコンピユー
タ11はセレクタ21を“0”側に切替える。
マイクロコンピユータ11はDAT−RAM19
からの読出しデータを取込むと、同読出しデータ
を対応する書込みデータと比較して、両データが
一致しているか、即ちアドレス変換により得られ
た実ページアドレスがDAT−RAM19に正しく
書込まれているかを調べる(ステツプS22)。
もし一致していれば、マイクロコンピユータ11
はDAT−RAM19への実ページアドレスの書込
みが正常に行なわれたものと判断し、ステツプS
24を実行する。このステツプS24では、転送
スタートが既にかけられているか否かの判定が行
なわれる。もし転送スタートがかけられていない
場合には、マイクロコンピユータ11はステツプ
S16での書込みが1回目の書込みであるか否か
の判定を行なう(ステツプS26)。この例のよ
うに1回目の書込みであれば、マイクロコンピユ
ータ11は磁気デイスク装置40に対してシーク
コマンドを発行する(ステツプS28)。これに
より磁気デイスク装置40はシーク動作を開始す
る。このシーク動作は周知のように機械的動作が
伴うことから、比較的長時間を要する。そこでマ
イクロコンピユータ11は、磁気デイスク装置4
0がシーク動作を実行している間に、CCWで指
定されている転送領域に対応する全実ページアド
レスのうちステツプS12で求めたアドレスを除
く残りアドレスを求めるためのアドレス変換を必
要ページ分繰返し実行し(ステツプS30)、そ
の結果を順次マイクロコンピユータ11の内部
RAMに保存する(ステツプS32)。
からの読出しデータを取込むと、同読出しデータ
を対応する書込みデータと比較して、両データが
一致しているか、即ちアドレス変換により得られ
た実ページアドレスがDAT−RAM19に正しく
書込まれているかを調べる(ステツプS22)。
もし一致していれば、マイクロコンピユータ11
はDAT−RAM19への実ページアドレスの書込
みが正常に行なわれたものと判断し、ステツプS
24を実行する。このステツプS24では、転送
スタートが既にかけられているか否かの判定が行
なわれる。もし転送スタートがかけられていない
場合には、マイクロコンピユータ11はステツプ
S16での書込みが1回目の書込みであるか否か
の判定を行なう(ステツプS26)。この例のよ
うに1回目の書込みであれば、マイクロコンピユ
ータ11は磁気デイスク装置40に対してシーク
コマンドを発行する(ステツプS28)。これに
より磁気デイスク装置40はシーク動作を開始す
る。このシーク動作は周知のように機械的動作が
伴うことから、比較的長時間を要する。そこでマ
イクロコンピユータ11は、磁気デイスク装置4
0がシーク動作を実行している間に、CCWで指
定されている転送領域に対応する全実ページアド
レスのうちステツプS12で求めたアドレスを除
く残りアドレスを求めるためのアドレス変換を必
要ページ分繰返し実行し(ステツプS30)、そ
の結果を順次マイクロコンピユータ11の内部
RAMに保存する(ステツプS32)。
ステツプS32が終了するとマイクロコンピユ
ータ11の動作はステツプS14に戻る。これに
より、残りの実ページアドレス(のうちの最大7
つ)について、DAT−RAM19への書込みを始
めとする処理が、先頭ページに対応する実ページ
アドレスの場合と同様に行なわれる。但しDAT
−RAM19に対するマイクロコンピユータ11
からのアドレスは、1回の書込み毎に+1され
る。また、DAT−RAM19に対しては2回目以
降の書込みとなるため、ステツプS26での判定
は先頭ページに対応する実ページアドレスの場合
と異なつてNOとなる。この場合マイクロコンピ
ユータ11はDAT−RAM19が満杯(FULL)
であるか否かを判定し(ステツプS34)、もし
満杯でなければ内部RAMに(DAT−RAM19
への)未書込みデータ(未書込みの実ページアド
レス)が残されているか否かを判定する(ステツ
プS36)。もし未書込みデータが有れば、マイ
クロコンピユータ11の動作はステツプS14に
戻る。一方DAT−RAM19が満杯であれば、或
はDAT−RAM19が満杯でなくても未書込みデ
ータが無ければ、マイクロコンピユータ11はデ
ータ転送に必要な実ページアドレスのDAT−
RAM19への書込みは一応終了したものと判断
する。そしてマイクロコンピユータ11は磁気デ
イスク装置40のシーク動作が完了したか否かの
判定(ステツプS38)を、シーク動作完了まで
繰返す。
ータ11の動作はステツプS14に戻る。これに
より、残りの実ページアドレス(のうちの最大7
つ)について、DAT−RAM19への書込みを始
めとする処理が、先頭ページに対応する実ページ
アドレスの場合と同様に行なわれる。但しDAT
−RAM19に対するマイクロコンピユータ11
からのアドレスは、1回の書込み毎に+1され
る。また、DAT−RAM19に対しては2回目以
降の書込みとなるため、ステツプS26での判定
は先頭ページに対応する実ページアドレスの場合
と異なつてNOとなる。この場合マイクロコンピ
ユータ11はDAT−RAM19が満杯(FULL)
であるか否かを判定し(ステツプS34)、もし
満杯でなければ内部RAMに(DAT−RAM19
への)未書込みデータ(未書込みの実ページアド
レス)が残されているか否かを判定する(ステツ
プS36)。もし未書込みデータが有れば、マイ
クロコンピユータ11の動作はステツプS14に
戻る。一方DAT−RAM19が満杯であれば、或
はDAT−RAM19が満杯でなくても未書込みデ
ータが無ければ、マイクロコンピユータ11はデ
ータ転送に必要な実ページアドレスのDAT−
RAM19への書込みは一応終了したものと判断
する。そしてマイクロコンピユータ11は磁気デ
イスク装置40のシーク動作が完了したか否かの
判定(ステツプS38)を、シーク動作完了まで
繰返す。
マイクロコンピユータ11は、ステツプS38
で磁気デイスク装置40のシーク動作が完了した
ことを検出すると、磁気デイスク装置40に対し
てCCWの指定する指令(リード指令またはライ
ト指令)を発行する一方、転送許可/禁止を指定
する転送許可フリツプフロツプ(以下、転送許可
F/Fと称する)24をセツトすることにより転
送スタートをかける(ステツプS40)。
で磁気デイスク装置40のシーク動作が完了した
ことを検出すると、磁気デイスク装置40に対し
てCCWの指定する指令(リード指令またはライ
ト指令)を発行する一方、転送許可/禁止を指定
する転送許可フリツプフロツプ(以下、転送許可
F/Fと称する)24をセツトすることにより転
送スタートをかける(ステツプS40)。
転送許可F/F24のセツト出力はDMA制御
回路25に伝達される。これによりDMA制御回
路25は主記憶装置30とチヤネル装置10内の
データバツフア26との間のDMA転送のための
制御を開始する。このデータバツフア26は磁気
デイスク装置40に接続されており、例えばデイ
スクリードの場合であれば磁気デイスク装置40
からの読出しデータが同バツフア26に格納され
る。この場合、DMA制御回路25はデータバツ
フア26に所定サイズ以上のデータが格納される
と、データバツフア26からのデータ読出しを開
始する。デイスクリードの場合、データバツフア
26からの読出しデータはデータレジスタ27に
ラツチされ、同レジスタ27からドライバ28、
システムバス31を介して主記憶装置30に転送
される。そして1ワードの転送毎に転送制御カウ
ンタ部17内のアドレスカウンタ18は+1さ
れ、同じくサイズカウンタは−1される。
回路25に伝達される。これによりDMA制御回
路25は主記憶装置30とチヤネル装置10内の
データバツフア26との間のDMA転送のための
制御を開始する。このデータバツフア26は磁気
デイスク装置40に接続されており、例えばデイ
スクリードの場合であれば磁気デイスク装置40
からの読出しデータが同バツフア26に格納され
る。この場合、DMA制御回路25はデータバツ
フア26に所定サイズ以上のデータが格納される
と、データバツフア26からのデータ読出しを開
始する。デイスクリードの場合、データバツフア
26からの読出しデータはデータレジスタ27に
ラツチされ、同レジスタ27からドライバ28、
システムバス31を介して主記憶装置30に転送
される。そして1ワードの転送毎に転送制御カウ
ンタ部17内のアドレスカウンタ18は+1さ
れ、同じくサイズカウンタは−1される。
さて、アドレスカウンタ18の上位3ビツト、
即ちページアドレスの下位3ビツトは、セレクタ
21の“0”側入力に供給される。セレクタ21
は、DAT−RAM19に対する実ページアドレス
の書込み時(並びにその書込みに続く書込みデー
タの読出し時)以外は“0”側入力を選択するよ
うに切替えられており、アドレスカウンタ18か
らの3ビツトをDAT−RAM19のアドレスポー
トAに選択出力する。DAT−RAM19は、ステ
ツプS16実行時以外は読出しモードに設定され
ている。したがつて転送スタートがかけられた後
は、アドレスカウンタ18からの3ビツト(ペー
ジアドレスの下位3ビツト)の示すDAT−RAM
19のアドレスのデータ(実ページアドレス)が
読出される。最初の読出しでは、初期状態におい
てアドレスカウンタ18に設定されたページアド
レスの下位3ビツトが前記したようにオール
“0”であることから、DAT−RAM19の0番
地のデータ即ち先頭ページに対応する実ページア
ドレスが読出される。アドレスカウンタ18の上
位3ビツトのアドレス指定によりDAT−RAM1
9から読出された実ページアドレスは、アドレス
レジスタ23の実アドレスフイールドにラツチさ
れる。またアドレスレジスタ23のオフセツトフ
イールドにはアドレスカウンタ18の下位11ビツ
トの示すページ内オフセツトデータがラツチされ
る。この動作は1ワード転送毎に行なわれる。ア
ドレスレジスタ23の内容、即ちDAT−RAM1
9からのページアドレスとアドレスカウンタ18
の下位11ビツトからのページ内オフセツトデータ
とが連結された実アドレスは、ドライバ14、シ
ステムバス31を介して主記憶装置30に供給さ
れる。
即ちページアドレスの下位3ビツトは、セレクタ
21の“0”側入力に供給される。セレクタ21
は、DAT−RAM19に対する実ページアドレス
の書込み時(並びにその書込みに続く書込みデー
タの読出し時)以外は“0”側入力を選択するよ
うに切替えられており、アドレスカウンタ18か
らの3ビツトをDAT−RAM19のアドレスポー
トAに選択出力する。DAT−RAM19は、ステ
ツプS16実行時以外は読出しモードに設定され
ている。したがつて転送スタートがかけられた後
は、アドレスカウンタ18からの3ビツト(ペー
ジアドレスの下位3ビツト)の示すDAT−RAM
19のアドレスのデータ(実ページアドレス)が
読出される。最初の読出しでは、初期状態におい
てアドレスカウンタ18に設定されたページアド
レスの下位3ビツトが前記したようにオール
“0”であることから、DAT−RAM19の0番
地のデータ即ち先頭ページに対応する実ページア
ドレスが読出される。アドレスカウンタ18の上
位3ビツトのアドレス指定によりDAT−RAM1
9から読出された実ページアドレスは、アドレス
レジスタ23の実アドレスフイールドにラツチさ
れる。またアドレスレジスタ23のオフセツトフ
イールドにはアドレスカウンタ18の下位11ビツ
トの示すページ内オフセツトデータがラツチされ
る。この動作は1ワード転送毎に行なわれる。ア
ドレスレジスタ23の内容、即ちDAT−RAM1
9からのページアドレスとアドレスカウンタ18
の下位11ビツトからのページ内オフセツトデータ
とが連結された実アドレスは、ドライバ14、シ
ステムバス31を介して主記憶装置30に供給さ
れる。
一方、マイクロコンピユータ11はステツプS
40で転送スタートをかけると、DMA制御回路
25からの転送終了割込みの有無の検出を行ない
(ステツプS42)、終了割込みが無ければページ
切替が発生したか否かの判定を行なう(ステツプ
S44)。このページ切替は、アドレスカウンタ
18からDAT−RAM19に対して示されるアド
レスが切替わることにより判別できる。もしペー
ジ切替が発生していなければ、マイクロコンピユ
ータ11はステツプS42の転送終了割込み検出
に戻る。
40で転送スタートをかけると、DMA制御回路
25からの転送終了割込みの有無の検出を行ない
(ステツプS42)、終了割込みが無ければページ
切替が発生したか否かの判定を行なう(ステツプ
S44)。このページ切替は、アドレスカウンタ
18からDAT−RAM19に対して示されるアド
レスが切替わることにより判別できる。もしペー
ジ切替が発生していなければ、マイクロコンピユ
ータ11はステツプS42の転送終了割込み検出
に戻る。
やがてページ切替が発生し、マイクロコンピユ
ータ11がその旨をステツプS44で判別する
と、内部RAMに(DAT−RAM19への)未書
込みデータ(未書込みの実ページアドレス)が残
されているか否かの判定を行なう(ステツプS4
6)。もし未書込みの実ページアドレスが無けれ
ば、マイクロコンピユータ11の動作はステツプ
S42に戻る。これに対して未書込みの実ページ
アドレスが有ればマイクロコンピユータ11の動
作はステツプS14に戻る。これにより、内部
RAMに残されている(未書込みの)実ページア
ドレスの先頭のアドレスについて、DAT−RAM
19への書込みを始めとする処理が前記した場合
と同様に行なわれる。但し、この場合には、既に
転送スタートがかけられているためステツプS2
4での判定はYESとなる。ステツプS24の判
定がYESの場合、マイクロコンピユータ11は
ステツプS42の転送終了割込み検出動作に戻
る。即ちマイクロコンピユータ11は、ページ切
替が発生し且つ未書込みの実ページアドレスが内
部RAMに残されている場合には、従来アドレス
状態にあつた(磁気デイスク装置40の)シーク
動作中に内部RAMに求めておいた実ページアド
レスをDAT−RAM19に対して補充する。この
ように本実施例では、たとえページが切替わつて
も、必要な実ページアドレスがDAT−RAM19
に予め用意されることから、データ転送を中断す
ることなく実アドレスの生成が可能となる。
ータ11がその旨をステツプS44で判別する
と、内部RAMに(DAT−RAM19への)未書
込みデータ(未書込みの実ページアドレス)が残
されているか否かの判定を行なう(ステツプS4
6)。もし未書込みの実ページアドレスが無けれ
ば、マイクロコンピユータ11の動作はステツプ
S42に戻る。これに対して未書込みの実ページ
アドレスが有ればマイクロコンピユータ11の動
作はステツプS14に戻る。これにより、内部
RAMに残されている(未書込みの)実ページア
ドレスの先頭のアドレスについて、DAT−RAM
19への書込みを始めとする処理が前記した場合
と同様に行なわれる。但し、この場合には、既に
転送スタートがかけられているためステツプS2
4での判定はYESとなる。ステツプS24の判
定がYESの場合、マイクロコンピユータ11は
ステツプS42の転送終了割込み検出動作に戻
る。即ちマイクロコンピユータ11は、ページ切
替が発生し且つ未書込みの実ページアドレスが内
部RAMに残されている場合には、従来アドレス
状態にあつた(磁気デイスク装置40の)シーク
動作中に内部RAMに求めておいた実ページアド
レスをDAT−RAM19に対して補充する。この
ように本実施例では、たとえページが切替わつて
も、必要な実ページアドレスがDAT−RAM19
に予め用意されることから、データ転送を中断す
ることなく実アドレスの生成が可能となる。
さて、DAT−RAM19に実ページアドレスを
書込み、その書込みデータを読出して書込みデー
タと読出しデータとを比較した場合に、不一致が
検出されたものとする。即ちステツプS22の判
定がNOとなつたものとする。この場合マイクロ
コンピユータ11はDAT−RAM19の故障を判
断し、データ転送を停止させるために転送許可
F/F24をリセツトする(ステツプS48)。
転送許可F/F24のリセツト出力はデータ転送
停止(禁止)指令としてDMA制御回路25に伝
達される。これによりDMA制御回路25は、デ
ータ転送を停止する。この結果、DAT−RAM1
9から読出される誤つた実ページアドレスを用い
て主記憶装置30をアクセスし、即ち誤つたデー
タ転送を行ない、主記憶装置30の記憶領域を破
壊してしまうことが防止される。
書込み、その書込みデータを読出して書込みデー
タと読出しデータとを比較した場合に、不一致が
検出されたものとする。即ちステツプS22の判
定がNOとなつたものとする。この場合マイクロ
コンピユータ11はDAT−RAM19の故障を判
断し、データ転送を停止させるために転送許可
F/F24をリセツトする(ステツプS48)。
転送許可F/F24のリセツト出力はデータ転送
停止(禁止)指令としてDMA制御回路25に伝
達される。これによりDMA制御回路25は、デ
ータ転送を停止する。この結果、DAT−RAM1
9から読出される誤つた実ページアドレスを用い
て主記憶装置30をアクセスし、即ち誤つたデー
タ転送を行ない、主記憶装置30の記憶領域を破
壊してしまうことが防止される。
マイクロコンピユータ11は転送許可F/F2
4をリセツトしてデータ転送を停止させると、
CPUから入出力開始指令を受けた場合の状態に
戻り、同指令に対する動作を最初から(即ち
CCW読出しから)やり直す。なお、CCWの群を
内部RAMに保存していれば、ステツプS10の
データ転送準備からやり直すことも可能である。
そして、このようなやり直し(リトライ)が所定
回繰返されるとチヤンネル装置故障が判断され
る。
4をリセツトしてデータ転送を停止させると、
CPUから入出力開始指令を受けた場合の状態に
戻り、同指令に対する動作を最初から(即ち
CCW読出しから)やり直す。なお、CCWの群を
内部RAMに保存していれば、ステツプS10の
データ転送準備からやり直すことも可能である。
そして、このようなやり直し(リトライ)が所定
回繰返されるとチヤンネル装置故障が判断され
る。
なお、前記実施例では、先頭ページに対応する
実ページアドレスをシークコマンド発行前に求
め、同コマンド発行前にDAT−RAM19に書込
むものとして説明したが、残りのページに対応る
実ページアドレスと同様にシークコマンド発行後
にDAT−RAM19に書込むようにしてもよい。
また、DAT−RAM19に対する実ページアドレ
スの補充は必ずしもページ切替え毎に行なう必要
はなく、例えばDAT−RAM19内の実ページア
ドレスが所定数以下となつた場合に1つ或はそれ
以上補充するようにしてもよい。また、この発明
はセグメント方式およびページ方式のいずれの仮
想記憶方式にも適用できる。
実ページアドレスをシークコマンド発行前に求
め、同コマンド発行前にDAT−RAM19に書込
むものとして説明したが、残りのページに対応る
実ページアドレスと同様にシークコマンド発行後
にDAT−RAM19に書込むようにしてもよい。
また、DAT−RAM19に対する実ページアドレ
スの補充は必ずしもページ切替え毎に行なう必要
はなく、例えばDAT−RAM19内の実ページア
ドレスが所定数以下となつた場合に1つ或はそれ
以上補充するようにしてもよい。また、この発明
はセグメント方式およびページ方式のいずれの仮
想記憶方式にも適用できる。
[発明の効果]
以上詳述したようにこの発明によれば、仮想ア
ドレスを実アドレスに変換するアドレス変換を、
CPUからの入出力開始指令で示されたチヤネル
プログラムの指するデータ転送に必要なページ数
分だけ、アドレス変換手段によつて行ない、その
アドレス変換結果である実ページアドレス群を書
込み/読出し手段によつてRAMに書込み、この
RAMに書込まれている実ページアドレスとアド
レスカウンタの示す仮想アドレスのページ内オフ
セツトとが連結された実アドレスを用いて、チヤ
ネルプログラムで指定された入出力装置と主記憶
との間のデータ転送のための主記憶アクセスを行
なう構成としたので、データ転送中にページが切
替わつても、RAMに必要な実ページアドレスが
書込まれていることから、直ちに実アドレスを得
ることができるようになり、したがつてページア
ドレスの切替え毎にアドレス変換を行なつて実ペ
ージアドレスを求めていた従来例と異なつて、ペ
ージアドレスの切替え毎にデータ転送が不可能と
なることが防止できる。
ドレスを実アドレスに変換するアドレス変換を、
CPUからの入出力開始指令で示されたチヤネル
プログラムの指するデータ転送に必要なページ数
分だけ、アドレス変換手段によつて行ない、その
アドレス変換結果である実ページアドレス群を書
込み/読出し手段によつてRAMに書込み、この
RAMに書込まれている実ページアドレスとアド
レスカウンタの示す仮想アドレスのページ内オフ
セツトとが連結された実アドレスを用いて、チヤ
ネルプログラムで指定された入出力装置と主記憶
との間のデータ転送のための主記憶アクセスを行
なう構成としたので、データ転送中にページが切
替わつても、RAMに必要な実ページアドレスが
書込まれていることから、直ちに実アドレスを得
ることができるようになり、したがつてページア
ドレスの切替え毎にアドレス変換を行なつて実ペ
ージアドレスを求めていた従来例と異なつて、ペ
ージアドレスの切替え毎にデータ転送が不可能と
なることが防止できる。
また、この発明によれば、RAMへの実ページ
アドレス書込みに続いて、その実ページアドレス
の読出しを行ない、読出した実ページアドレスと
書込んだ実ページアドレスとの一致/不一致を調
べ、一致していない場合には、即ちRAMが故障
している可能性のある場合には、チヤネルプログ
ラムの指定するデータ転送を停止する構成とした
ので、RAMに書込まれている実ページアドレス
群を利用した主記憶アクセスによるデータ転送に
おいて、誤つた実ページアドレス使用により誤つ
たデータ転送を招くという恐れがない。
アドレス書込みに続いて、その実ページアドレス
の読出しを行ない、読出した実ページアドレスと
書込んだ実ページアドレスとの一致/不一致を調
べ、一致していない場合には、即ちRAMが故障
している可能性のある場合には、チヤネルプログ
ラムの指定するデータ転送を停止する構成とした
ので、RAMに書込まれている実ページアドレス
群を利用した主記憶アクセスによるデータ転送に
おいて、誤つた実ページアドレス使用により誤つ
たデータ転送を招くという恐れがない。
第1図はこの発明の一実施例に係るチヤネル装
置の周辺構成を示すブロツク図、第2図a,bは
動作を説明するためのフローチヤート、第3図は
仮想アドレスのフオーマツト例を示す図、第4図
はアドレス変換を説明する図である。 10…チヤネル装置、11…マイクロコンピユ
ータ、13,23…アドレスレジスタ、18…ア
ドレスカウンタ、19…DAT−RAM、21…セ
レクタ(SEL)、22…ゲート、24…転送許可
フリツプフロツプ(転送許可F/F)、30…主
記憶装置、40…磁気デイスク装置。
置の周辺構成を示すブロツク図、第2図a,bは
動作を説明するためのフローチヤート、第3図は
仮想アドレスのフオーマツト例を示す図、第4図
はアドレス変換を説明する図である。 10…チヤネル装置、11…マイクロコンピユ
ータ、13,23…アドレスレジスタ、18…ア
ドレスカウンタ、19…DAT−RAM、21…セ
レクタ(SEL)、22…ゲート、24…転送許可
フリツプフロツプ(転送許可F/F)、30…主
記憶装置、40…磁気デイスク装置。
Claims (1)
- 1 CPUからの入出力開始指令で指定された主
記憶内のチヤネルプログラムに従つて入出力制御
を行なうチヤネル装置を備えた仮想記憶方式の計
算機システムにおいて、実ページアドレスを複数
ページ分格納するRAMと、仮想アドレスを実ア
ドレスに変換するアドレス変換を上記チヤネルプ
ログラムの指定するデータ転送に必要なページ数
分実行するアドレス変換手段と、このアドレス変
換手段により得られる実ページアドレスの上記
RAMへの書込みとその書込みデータの読出しと
を連続して行なう書込み/読出し手段と、指定さ
れたデータ転送のために上記主記憶に対する仮想
アドレスを示すアドレスカウンタと、このアドレ
スカウンタの示す仮想アドレスのページアドレス
部の下位の第1所定ビツトまたは上記書込み/読
出し手段により上記RAMへの書込み/読出しの
ために示される仮想アドレスのページアドレス部
の下位の第2所定ビツトのいずれか一方を上記
RAMのアドレスとして選択するセレクタと、こ
のセレクタにより上記第1所定ビツトが選択され
た際に上記RAMから読出される上記実ページア
ドレスと上記アドレスカウンタの示す仮想アドレ
スのページ内オフセツトとが連結された実アドレ
スを保持するアドレスレジスタと、上記セレクタ
により上記第2所定ビツトが選択された際に上記
RAMから読出される上記実ページアドレスと対
応する書込みデータとの一致を検出する一致検出
手段と、この一致検出手段により一致が検出され
なかつた場合に入出力転送を停止する転送停止手
段とを具備することを特徴とするチヤネル装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60133401A JPS61290552A (ja) | 1985-06-19 | 1985-06-19 | チヤネル装置 |
| US06/874,995 US4797812A (en) | 1985-06-19 | 1986-06-16 | System for continuous DMA transfer of virtually addressed data blocks |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60133401A JPS61290552A (ja) | 1985-06-19 | 1985-06-19 | チヤネル装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS61290552A JPS61290552A (ja) | 1986-12-20 |
| JPH0370256B2 true JPH0370256B2 (ja) | 1991-11-07 |
Family
ID=15103883
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60133401A Granted JPS61290552A (ja) | 1985-06-19 | 1985-06-19 | チヤネル装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS61290552A (ja) |
-
1985
- 1985-06-19 JP JP60133401A patent/JPS61290552A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS61290552A (ja) | 1986-12-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4797812A (en) | System for continuous DMA transfer of virtually addressed data blocks | |
| EP0260433B1 (en) | Multi-address space control method | |
| US4495564A (en) | Multi sub-channel adapter with single status/address register | |
| US4607328A (en) | Data transfer apparatus for a microcomputer system | |
| EP0032136B1 (en) | Memory system | |
| US5247640A (en) | Dual access control system including plural magnetic disk control units and contention control circuitry | |
| JPH0370256B2 (ja) | ||
| JPH0370257B2 (ja) | ||
| US4652994A (en) | System for transmitting data to auxiliary memory device | |
| JPH0370258B2 (ja) | ||
| JPH0140432B2 (ja) | ||
| CN1004945B (zh) | 地址控制装置 | |
| JP2600376B2 (ja) | メモリ制御装置 | |
| JP2564624B2 (ja) | スタック方式 | |
| JPS603049A (ja) | バスインタ−フエ−ス装置 | |
| JPS58125128A (ja) | 計算機システム | |
| JP2574821B2 (ja) | ダイレクトメモリアクセス・コントローラ | |
| JPH0831076B2 (ja) | 入出力処理装置 | |
| EP0358224A2 (en) | Semiconductor disk device useful in transaction processing system | |
| JPS60132254A (ja) | デ−タ処理装置 | |
| JPH10222460A (ja) | データ転送制御装置 | |
| JP2847863B2 (ja) | マイクロプロセッサ割込み制御方式 | |
| JPS63201852A (ja) | キヤツシユメモリのアクセス制御方式 | |
| JPS62187956A (ja) | Dma制御方式 | |
| JPH0337216B2 (ja) |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |