JPS61290553A - Channel device - Google Patents
Channel deviceInfo
- Publication number
- JPS61290553A JPS61290553A JP60133402A JP13340285A JPS61290553A JP S61290553 A JPS61290553 A JP S61290553A JP 60133402 A JP60133402 A JP 60133402A JP 13340285 A JP13340285 A JP 13340285A JP S61290553 A JPS61290553 A JP S61290553A
- Authority
- JP
- Japan
- Prior art keywords
- address
- ram
- data
- dat
- microcomputer
- 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.)
- Granted
Links
- 238000006243 chemical reaction Methods 0.000 claims abstract description 15
- 238000001514 detection method Methods 0.000 claims description 3
- 230000002401 inhibitory effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000001035 drying Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000003292 glue Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
【発明の詳細な説明】
[発明の技術分野]
この発明は、仮想記憶方式の計算機システムに係り、特
に仮想アドレスを実アドレスに変換するアドレス変換機
能を備えたチャネル装置に関する。DETAILED DESCRIPTION OF THE INVENTION [Technical Field of the Invention] The present invention relates to a virtual memory computer system, and more particularly to a channel device having an address conversion function for converting virtual addresses into real addresses.
[発明の技術的背景]
この種チャネル装置は、入出力転送制御のために主記憶
上のアドレス変換テーブルを参照して仮想アドレスを実
アドレスに変換するアドレス変換を行なう。このアドレ
ス変換は、チャネル装置内のマイクロコンピュータによ
って実行されるもので、一般にチャネルD A T (
D ynag+Ic A ddressT rans
lation)と呼ばれる。[Technical Background of the Invention] This type of channel device performs address translation to convert a virtual address into a real address by referring to an address translation table in the main memory for input/output transfer control. This address conversion is executed by a microcomputer in the channel device, and generally the channel D A T (
Dynag+Ic AddressTrans
ration).
[背景技術の問題点〕
しかし従来のチャネル装置では、同装置に磁気ディスク
装置のような高速入出力装置を接続する場合には、ペー
ジアドレスが変わる毎にチャネル装置内のマイクロコン
ピュータがアドレス変換を行なっていたのでは、ページ
アドレスの切替え毎にデータ転送が不可能となる問題が
あった。[Problems in the background art] However, in conventional channel devices, when a high-speed input/output device such as a magnetic disk device is connected to the device, the microcomputer in the channel device performs address conversion every time the page address changes. However, there was a problem in that data transfer was impossible every time the page address was switched.
[発明の目的〕
この発明の目的は、仮想記憶方式の計算機システムにお
いて、ページアドレスの切替え毎にデータ転送が不可能
となることが防止でき、しかもそのために誤ったデータ
転送を招く恐れのないチャネル装置を提供することにあ
る。[Object of the Invention] The object of the present invention is to provide a channel that can prevent data transfer from becoming impossible every time a page address is switched in a virtual memory computer system, and that does not cause erroneous data transfer. The goal is to provide equipment.
[発明の概要]
この発明では、実ページアドレスを複数ページ分格納す
る1対のRAM手段と、この1対のRAM手段のいずれ
か一方を指定するRAM指定手段と、仮想アドレスを実
アドレスに変換するアドレス変換をデータ転送に必要な
ページ数分実行するアドレス変換手段とを設け、アドレ
ス変換手段により得られる実ページアドレスをRAM指
定手段により指定されたRAM手段に書込むようにして
いる。この際、書込みに連続して読出しが行なわれ書込
みデータと読出しデータとの一致が調べられる。もし不
一致の場合には対応するRAM手段が故障している恐れ
があるため、RAM指定手段の指定するRAM手段が切
替えられる。[Summary of the Invention] The present invention includes a pair of RAM means for storing real page addresses for a plurality of pages, a RAM designation means for designating one of the RAM means, and a virtual address converter for converting a virtual address into a real address. The real page address obtained by the address translation means is written into the RAM designated by the RAM designation means. At this time, reading is performed successively after writing, and it is checked whether the written data and the read data match. If they do not match, there is a possibility that the corresponding RAM means is out of order, so the RAM means designated by the RAM designation means is switched.
上記RAM手段のアドレスは、アドレスカウンタの示す
データ転送のための仮想アドレスのページアドレス部の
下位の第1所定ビットまたはRAM手段への連続書込み
/読出しのために示される仮想アドレスのページアドレ
ス部の下位の第2所定ビットのいずれか一方を選択する
セレクタの出力によって示される。そしてセレクタによ
り第1所定ビットが選択された際にRAM指定手段の指
定するRAM手段から読出される実ページアドレスとア
ドレスカウンタの示す仮想アドレスのページ内オフセッ
トとが連結された実アドレスにより主記憶がアクセスさ
れる。一方、セレクタにより第2所定ビットが選択され
た際にRAM指定手段の指定するRAM手段から読出さ
れる実ページアドレスは、上記した書込みデータとの一
致検出対象データとなる。The address of the RAM means is the lower first predetermined bit of the page address part of the virtual address for data transfer indicated by the address counter, or the page address part of the virtual address indicated for continuous writing/reading to the RAM means. This is indicated by the output of a selector that selects one of the lower second predetermined bits. Then, when the first predetermined bit is selected by the selector, the main memory is stored using a real address that is a combination of the real page address read from the RAM means specified by the RAM specifying means and the intra-page offset of the virtual address indicated by the address counter. be accessed. On the other hand, when the second predetermined bit is selected by the selector, the real page address read from the RAM means designated by the RAM designation means becomes data to be detected for matching with the write data described above.
[発明の実施例]
第1図はこの発明の一実施例に係るチャ、ネル装置10
の周辺構成を示すもので、11はチャネル装置10全体
を制御するマイクロコンピュータである。[Embodiment of the Invention] FIG. 1 shows a channel device 10 according to an embodiment of the invention.
11 shows a peripheral configuration of the channel device 10, where 11 is a microcomputer that controls the entire channel device 10.
マイクロコンピュータ11は、マイクロコンピュータ1
1の中心を成すマイクロプロセッサ、各種マイクロプロ
グラムが格納されているROMおよびマイクロプロセッ
サのワークメモリである内部RAM(いずれも図示せず
)を有している。マイクロコンピュータ11は図示せぬ
CPUから入出力開始指令が発せられると、同指令の示
す主記憶装置30の領域よりチャネルコマンド!!ii
(ChannelCosgiand W ord
:以下、CCWと称する)の群(これをチャネルプログ
ラムと呼ぶ)を先頭より取出す。この際、主記憶装置3
0に対するアドレス(実アドレス)は、マイクロコンピ
ュータ11により同コンピュータ11の内部バス12を
介してアドレスレジスタ13に設定され、同レジスタ1
3からドライバ14、システムバス31を介して主記憶
装置30に供給される。また主記憶装置130から取出
されたCCWは、システムバス31、レシーバ15を介
してデータレジスタ16にラッチされ、しかる後内部バ
ス12を介してマイクロコンピュータ11に取込まれる
。このデータレジスタ16は上記したCCWの入力、更
には後述する実ページアドレスの入力など、チャネル装
@10と主記憶装置!30との間の制御用デ−タの入出
力に用いられる。またアドレスレジスタ13は上記の入
出力のためのアドレス設定に用いられる。The microcomputer 11 is the microcomputer 1
The microprocessor 1 has a central microprocessor, a ROM in which various microprograms are stored, and an internal RAM (none of which are shown) that is a work memory for the microprocessor. When the microcomputer 11 receives an input/output start command from the CPU (not shown), the microcomputer 11 reads the channel command! from the area of the main storage device 30 indicated by the command. ! ii
(ChannelCosgiandWord
: Hereinafter referred to as CCW) (hereinafter referred to as a channel program) is extracted from the beginning. At this time, the main storage device 3
The address (real address) for 0 is set in the address register 13 by the microcomputer 11 via the internal bus 12 of the computer 11, and
3 to the main storage device 30 via the driver 14 and the system bus 31. Further, the CCW taken out from the main storage device 130 is latched into the data register 16 via the system bus 31 and the receiver 15, and then taken into the microcomputer 11 via the internal bus 12. This data register 16 is used for inputting the above-mentioned CCW, as well as for inputting a real page address (described later), etc., as well as the channel device @10 and the main memory! It is used for inputting and outputting control data to and from 30. Further, the address register 13 is used for setting addresses for the above-mentioned input/output.
マイクロコンピュータ11はCCWを取込むと、その都
度内部RAMに保存する。そしてマイクロコンピュータ
11は内部RAMに保存したCCWの群に従って第2図
(a)、(b)のフローチャートに示す入出力制御を行
なう。When the microcomputer 11 takes in the CCW, it stores it in the internal RAM each time. The microcomputer 11 then performs the input/output control shown in the flowcharts of FIGS. 2(a) and 2(b) according to the group of CCWs stored in the internal RAM.
まずマイクロコンピュータ11は、CCWで指定された
データ転送を行なうためのデータ転送準備を行なう(ス
テップ510)。即ちマイクロコンピュータ11は、転
送制御カウンタ部17内のアドレスカウンタ18にCC
Wで指定された(主記憶装置30に対する)転送開始仮
想アドレスの所定フィールドを、サイズカウンタ(図示
せず)に転送サイズ(転送ワード数)を、それぞれ初期
設定する。上記仮想アドレスは、第3図に示すように、
21ビットのページアドレスと、11ビットのページ内
オフセットの32ビットから成り、上記所定フィールド
は仮想アドレスの下位14ビット、即ちページアドレス
の下位3ビットとオフセットである。First, the microcomputer 11 prepares for data transfer in order to perform the data transfer specified by the CCW (step 510). That is, the microcomputer 11 inputs CC to the address counter 18 in the transfer control counter section 17.
The transfer size (number of transfer words) is initialized in a size counter (not shown) in a predetermined field of the transfer start virtual address (to the main storage device 30) specified by W. The above virtual address is, as shown in Figure 3,
It consists of 32 bits: a 21-bit page address and an 11-bit intra-page offset, and the predetermined field is the lower 14 bits of the virtual address, that is, the lower 3 bits of the page address and the offset.
但しこの実施例では、アドレスカウンタ18に初期設定
される転送開始仮想アドレスの所定フィールドの上位3
ビット、即ちページアドレスの下位3ビットは、実際値
に無関係に全て“O″にされる。However, in this embodiment, the top three of the predetermined fields of the transfer start virtual address initially set in the address counter 18
The bits, ie, the lower three bits of the page address, are all set to "O" regardless of the actual value.
これは後述するDAT−RAM19に対する制御を簡略
化するためである。This is to simplify control of the DAT-RAM 19, which will be described later.
マイクロコンピュータ11はステップ810のデータ転
送準備を行なうと、主記憶装置30上に置かれているア
ドレス変換テーブル(図示せず)を参照することにより
、転送開始仮想アドレス中のページアドレス(先頭ペー
ジアドレス)を第4図に示すように実ページアドレスに
変換する(ステップ512)。この際アドレス変換テー
ブルを参照するためのアドレス(実アドレス)は、CC
W取出しの場合と同様に、アドレスレジスタ13を介し
て主記憶装置30に供給される。またアドレス変換結果
、即ち主記憶装置30のアドレス変換テーブルから取出
される実ページアドレスはデータレジスタ16を介して
マイクロコンピュータ11に取込まれる。When the microcomputer 11 prepares for data transfer in step 810, it refers to an address conversion table (not shown) stored in the main storage device 30 and determines the page address (first page address) in the transfer start virtual address. ) into a real page address as shown in FIG. 4 (step 512). At this time, the address (actual address) for referring to the address conversion table is CC
As in the case of W extraction, the data is supplied to the main storage device 30 via the address register 13. Further, the address conversion result, that is, the real page address taken out from the address conversion table of the main storage device 30, is taken into the microcomputer 11 via the data register 16.
さて、第1図のチャネル装置10には、マイクロコンピ
ュータ11のアドレス変換結果を格納するRAM (以
下DAT−RAMと称する)19が設けられている。マ
イクロコンピュータ11は、ステップ812のアドレス
変換で先頭ページアドレスの実ページアドレスを得ると
、以下に述べるように同アドレスのDAT−RAM19
への書込みを行なう。Now, the channel device 10 of FIG. 1 is provided with a RAM (hereinafter referred to as DAT-RAM) 19 for storing address conversion results of the microcomputer 11. When the microcomputer 11 obtains the real page address of the first page address by the address conversion in step 812, the microcomputer 11 stores the same address in the DAT-RAM 19 as described below.
Write to.
DAT−RAM19はRAM領域19−0とRAM領域
19−1とに2分割して用いられる。RAM領域19−
0.19−4は、例えば最大8つの実ページアドレスを
格納できるようになっている。DAT−RAM19は、
アドレスボートA1データ入力ボートDIおよびデータ
出力ボートDoを有している。The DAT-RAM 19 is used by being divided into two parts: a RAM area 19-0 and a RAM area 19-1. RAM area 19-
0.19-4, for example, can store up to eight real page addresses. DAT-RAM19 is
It has an address boat A1, a data input boat DI, and a data output boat Do.
DAT−RAM19のアドレスボートA(4ビット)に
は、RAM領域19−0.19−1のいずれか一方を切
替え指定する切替えフリップ70ツブ(LA下、切替え
F/Fと称する)20の出力(Q出力)、およびセレク
タ(SEL)21の出力ボート(3ビット)が接続され
ている。切替えF / F 20の出力はDAT−RA
M19のアドレス(4ビット)の最上位ビットを示し、
セレクタ21の出力は同アドレスの下位3ビットを示す
。セレクタ21の“1″側入力ポートはマイクロコンピ
ュータ11から出力される(仮想アドレスの)ページア
ドレスの下位3ビットを受取る如く内部バス12に接続
され、“O”側入力ポートはアドレスカウンタ18の示
す情報のうちの上位3ビット(即ちページアドレスの下
位3ビット)を受取る如く同カウンタ18に接続されて
いる。マイクロコンピュータ11はDAT−RAM19
へ6実ページアドレス書込みに際してセレクタ21を“
1″側に切替える(ステップ514)。The address port A (4 bits) of the DAT-RAM 19 contains the output of the switching flip 70 (under LA, referred to as switching F/F) 20 that specifies switching of either one of the RAM areas 19-0.19-1. Q output) and the output port (3 bits) of the selector (SEL) 21 are connected. The output of switching F/F 20 is DAT-RA
Indicates the most significant bit of the address (4 bits) of M19,
The output of the selector 21 indicates the lower three bits of the same address. The “1” side input port of the selector 21 is connected to the internal bus 12 so as to receive the lower three bits of the page address (virtual address) output from the microcomputer 11, and the “O” side input port receives the lower three bits of the page address (virtual address) output from the microcomputer 11. It is connected to the counter 18 so as to receive the upper three bits of the information (ie, the lower three bits of the page address). Microcomputer 11 is DAT-RAM19
When writing the 6 real page address to
1'' side (step 514).
次にマイクロコンピュータ11は、DAT−RAM19
に対するアドレス(RAMアドレス)の下位3ビットと
してオール“0″データ(即ちステップS10でアドレ
スカウンタ18に設定された情報の上位3ビットと同一
データ)を内部バス12を介してセレクタ21の“1″
側入力ボートに供給すると共に先頭ページ(アドレス)
に対応する実ページアドレスを内部バス12を介してD
AT−RAM19のデータ入力ボートDIに供給し、D
AT−RAM2Oを書込みモードに設定する。マイクロ
コンピュータ11からの3ビットの下位アドレスは、セ
レクタ21により選択されてDAT−RAM19のアド
レスポートAの下位フィールドに供給される。同アドレ
スポートAの上位フィールド(最上位ビット)には切替
えF / F 20のQ出力(初期状態では“0”)が
供給される。これにより切替えF/F20およびマイク
ロコンピュータ11の指定するDAT−RAM19のア
ドレス(この例ではO番地、即ちRAM領域19−0の
先頭番地)に、マイクロコンピュータ11からの実ペー
ジアドレス(この例では先頭ページに対応する実ページ
アドレス)が書込まれる(ステップ516)。Next, the microcomputer 11 stores the DAT-RAM 19
All “0” data (that is, the same data as the upper three bits of the information set in the address counter 18 in step S10) is sent as the lower three bits of the address (RAM address) to the selector 21 as “1” via the internal bus 12.
The first page (address) is supplied to the side input boat.
The real page address corresponding to D is sent via the internal bus 12.
It is supplied to the data input port DI of AT-RAM19, and
Set AT-RAM2O to write mode. The 3-bit lower address from the microcomputer 11 is selected by the selector 21 and supplied to the lower field of address port A of the DAT-RAM 19. The upper field (most significant bit) of the same address port A is supplied with the Q output (“0” in the initial state) of the switching F/F 20. As a result, the address of the DAT-RAM 19 specified by the switching F/F 20 and the microcomputer 11 (in this example, address O, that is, the starting address of the RAM area 19-0) is assigned the real page address (in this example, the starting address) from the microcomputer 11. The real page address corresponding to the page is written (step 516).
マイクロコンピュータ11はステップ816のDAT−
RAM19への実ページアドレス書込みを行なうと、そ
の書込みデータの読出しを行なう(ステップ$18)。The microcomputer 11 inputs DAT- in step 816.
When the real page address is written to the RAM 19, the written data is read (step $18).
このためにマイクロコンピュータ11は、DAT−RA
M19に対する3ビットの下位アドレスをステップ81
6での書込み時のそれに保った状態で、DAT−RAM
19を読出しモードに切替える。しかしてステップ81
6で書込みが行なわれたDAT−RAM19のそのアド
レス(この例ではO番地)のデータが、データ出力ポー
トDOから読出される。For this purpose, the microcomputer 11 uses the DAT-RA
3-bit lower address for M19 in step 81
DAT-RAM with the same state as when writing in 6.
19 to read mode. However, step 81
The data at the address (in this example, address O) of the DAT-RAM 19 written in step 6 is read out from the data output port DO.
DAT−RAM19(F)7’−食出力ポートDoは、
ゲート22を介して内部バス12に接続されると共に、
実アドレスを保持するアドレスレジスタ23の実ページ
アドレスフィールドに接続される。このアドレスレジス
タ23は、チャネル装置10に接続される入出力装置、
例えば磁気ディスク装置40と主記憶装置30との間の
データ転送において、主記憶装置30に対する実アドレ
スを示すのに用いられる。またアドレスレジスタ23の
オフセットフィールドは、アドレスカウンタ18の示す
情報のうちのページ内オフセットを受取る如く同カウン
タ18に接続される。DAT-RAM19(F)7'-food output port Do is
connected to the internal bus 12 via the gate 22;
It is connected to the real page address field of the address register 23 that holds the real address. This address register 23 includes input/output devices connected to the channel device 10,
For example, in data transfer between the magnetic disk device 40 and the main storage device 30, it is used to indicate the real address for the main storage device 30. Further, the offset field of the address register 23 is connected to the address counter 18 so as to receive the intra-page offset of the information indicated by the address counter 18.
マイクロコンピュータ11はステップ818の読出しを
行なう場合、ゲート22を出力イネーブル状態に設定す
ると共に、アドレスレジスタ23のラッチ動作を禁止す
る。これによりDAT−RAM19からの読出しデータ
はゲート22により内部バス12に出力され、マイクロ
コンピュータ11に導かれる。When performing the reading in step 818, the microcomputer 11 sets the gate 22 to an output enable state and prohibits the latching operation of the address register 23. As a result, the read data from the DAT-RAM 19 is outputted to the internal bus 12 by the gate 22 and guided to the microcomputer 11.
マイクロコンピュータ11は、内部バス12上のデータ
(即ちDAT−RAM19からの読出しデータ)をステ
ップS16で用いた書込みデータとの比較のために内部
に取込む(ステップ520)。このときマイクロコンピ
ュータ11はセレクタ21を“O”側に切替える。The microcomputer 11 internally takes in the data on the internal bus 12 (ie, the read data from the DAT-RAM 19) for comparison with the write data used in step S16 (step 520). At this time, the microcomputer 11 switches the selector 21 to the "O" side.
マイクロコンピュータ11はDAT−RAM19からの
読出しデータを取込むと、同続出しデータを対応する書
込みデータと比較して、両データが一致しているか、即
ちアドレス変換により得られた実ページアドレスがDA
T−RAM19に正しく書・ 込まれているかを調べる
(ステップ522)。もし一致していれば、マイクロコ
ンピュータ11はDAT−RAM19への実ページアド
レスの書込みが正常に行なわれたものと判断し、ステッ
プ824を実行する。このステップ824では、転送ス
タートが既にかけられているか否かの判定が行なわれる
。もし転送スタートがかけられていない場合には、マイ
クロコンピュータ11はステップ316での書込みが1
回、目の書込みであるか否かの判定を行なう(ステップ
826)。この例のように1回目の書込みであれば、マ
イクロコンピュータ11は磁気ディスク装置40に対し
てシークコマンドを発行する(ステップ828)。これ
により磁気ディスク装置40はシーク動作を開始する。When the microcomputer 11 takes in the read data from the DAT-RAM 19, it compares the read data with the corresponding write data and checks whether the two data match or whether the real page address obtained by address conversion is DA.
It is checked whether the data is correctly written into the T-RAM 19 (step 522). If they match, the microcomputer 11 determines that the writing of the real page address to the DAT-RAM 19 has been performed normally, and executes step 824. In step 824, it is determined whether a transfer start has already been applied. If the transfer start has not been applied, the microcomputer 11 will write 1 in step 316.
At this time, it is determined whether or not it is the first writing (step 826). If it is the first write as in this example, the microcomputer 11 issues a seek command to the magnetic disk device 40 (step 828). As a result, the magnetic disk device 40 starts a seek operation.
このシーク動作は周知のように機械的動作が伴うことか
ら、比較的長時間を要する。そこでマイクロコンピュー
タ11は、磁気ディスク装置40゛がシーク動作を実行
している間に、CCWで指定されている転送領域に対応
する全実ページアドレスのうちステップ812で求めた
アドレスを除く残りアドレスを求めるためのアドレス変
換を必要ページ分繰返し実行しくステップ830)、そ
の結果を順次マイクロコンピュータ11の内部RAMに
保存する(ステップ532)。As is well known, this seek operation involves a mechanical operation and therefore takes a relatively long time. Therefore, while the magnetic disk device 40' is performing a seek operation, the microcomputer 11 calculates the remaining addresses excluding the address obtained in step 812 among all real page addresses corresponding to the transfer area specified by the CCW. The address conversion for this purpose is repeatedly executed for the necessary pages (step 830), and the results are sequentially stored in the internal RAM of the microcomputer 11 (step 532).
ステップ832が終了するとマイクロコンピュータ11
の動作はステップ814に戻る。これにより、残りの実
ページアドレス(のうちの最大7つ)について、DAT
−RAM19への書込みを始めとする処理が、先頭ペー
ジに対応する実ページアドレスの場合と同様に行なわれ
る。但しDAT−R″AM19に対するマイクロコンピ
ュータ11からの3ビットの下位アドレスは、1回の書
込み毎に+1される。また、DAT−RAM19に対し
ては2回目以降の書込みとなるため、ステップ826で
の判定は先頭ページに対応する実ページアドレスの場合
と興なってNOとなる。この場合マイクロコンピュータ
11は切替えF/F20の指定するDAT−RAM19
の領域(この例ではRAM領域19−0)が満杯(FL
ILL)であるか否かを判定しくステップ834)、も
し満杯でなければ内部RAMに(DAT−RAM19へ
の)未書込みデータ(未書込みの実ページアドレス)が
残されているか否かを判定する(ステップ836)。も
し未書込みデータが有れば、マイクロコンピュータ11
の動作はステップ814に戻る。一方DAT−RAl1
9が満杯であれば、或はDAT−RAM19が満杯でな
くても未書込みデータが無ければ、マイクロコンピュー
タ11はデータ転送に必要な実ページアドレスのDAT
−RAM19への書込みは一応終了したものと判断する
。そしてマイクロコンピュータ11は磁気ディスク装置
40のシーク動作が完了したか否かの判定(ステップ8
38)を、シーク動作完了まで繰返す。When step 832 is completed, the microcomputer 11
The operation returns to step 814. As a result, for the remaining real page addresses (up to 7 of them), DAT
- Processing including writing to the RAM 19 is performed in the same way as for the real page address corresponding to the first page. However, the 3-bit lower address from the microcomputer 11 to the DAT-R''AM 19 is incremented by 1 for each write. Also, since this is the second and subsequent write to the DAT-RAM 19, the 3-bit lower address from the microcomputer 11 is incremented by one. The determination is NO as in the case of the real page address corresponding to the first page. In this case, the microcomputer 11 selects the DAT-RAM 19 specified by the switching F/F 20.
area (RAM area 19-0 in this example) is full (FL
ILL), and if it is not full, it is determined whether unwritten data (unwritten real page address) remains in the internal RAM (to DAT-RAM 19). (Step 836). If there is unwritten data, the microcomputer 11
The operation returns to step 814. On the other hand, DAT-RA1
If the DAT-RAM 19 is full, or if there is no unwritten data even if the DAT-RAM 19 is not full, the microcomputer 11 writes the DAT of the real page address necessary for data transfer.
- It is determined that writing to the RAM 19 has been completed. Then, the microcomputer 11 determines whether the seek operation of the magnetic disk device 40 is completed (step 8).
38) is repeated until the seek operation is completed.
マイクロコンピュータ11は、ステップ838で磁気デ
ィスク装置40のシーク動作が完了したことを検出する
と、磁気ディスク装置40に対してCCWの指定する指
令(リード指令またはライト指令)を発行する一方、転
送許可/禁止を指定する転送許可フリップフロップ(以
下、転送許可F/Fと称する)24をセットすることに
より転送スタートをかける(ステップ540)。When the microcomputer 11 detects that the seek operation of the magnetic disk device 40 is completed in step 838, it issues a command (read command or write command) specified by the CCW to the magnetic disk device 40, and also issues a transfer permission/write command to the magnetic disk device 40. Transfer is started by setting a transfer permission flip-flop (hereinafter referred to as transfer permission F/F) 24 that specifies prohibition (step 540).
転送許可F/F24のセット出力はDMA制御回路25
に伝達される。これによりDMA制御回路25は主記憶
装置30とチャネル装置10内のデータバッファ26と
の閣のDMA転送のための制御を莞始する。このデータ
バッフ?26は磁気ディスク装置40に接続されており
、例えばディスクリートの場合であれば磁気ディスク装
置40からの読出しデータが同バッファ26に格納され
る。この場合、DMA制御回路25はデータバッファ2
6に所定サイズ以上のデータが格納されると、データバ
ッファ26からのデータ読出しを開始する。ディスクリ
ートの場合、データバッファ2Gからの読出しデータは
データレジスタ27にラッチされ、同レジスタ27から
ドライバ28、システムバス31を介して主記憶装置3
0に転送される。そして1ワードの転送毎に転送制御カ
ウンタ部11内のアドレスカウンタ18は+1され、同
じくサイズカウンタは−1される。The set output of the transfer permission F/F 24 is sent to the DMA control circuit 25.
transmitted to. As a result, the DMA control circuit 25 starts controlling DMA transfer between the main storage device 30 and the data buffer 26 in the channel device 10. This data buffer? 26 is connected to a magnetic disk device 40, and for example, in the case of a discrete device, read data from the magnetic disk device 40 is stored in the buffer 26. In this case, the DMA control circuit 25 controls the data buffer 2
When data of a predetermined size or more is stored in the data buffer 26, data reading from the data buffer 26 is started. In the case of discrete data, read data from the data buffer 2G is latched in the data register 27, and sent from the register 27 to the main storage device 3 via the driver 28 and system bus 31.
Transferred to 0. Then, each time one word is transferred, the address counter 18 in the transfer control counter section 11 is incremented by 1, and the size counter is similarly incremented by 1.
さて、アドレスカウンタ18の上位3ビット、即ちペー
ジアドレスの下位3ビットは、セレクタ21・の“0”
側入力に供給される。セレクタ2tは、DAT−RAM
19に対する実ページアドレスの書込み時(並びにその
書込みに続く書込みデータの読出し時)以外は“O″側
大入力選択するように切替えられており・、アドレスカ
ウンタ18からの3ビットをDAT−RAM19のアド
レスポートAに選択出力する。DAT−RAM19は、
ステップ816実行時以外は読出しモードに設定されて
いる。Now, the upper 3 bits of the address counter 18, that is, the lower 3 bits of the page address, are "0" of the selector 21.
supplied to the side input. Selector 2t is DAT-RAM
Except when writing the real page address to 19 (and when reading the write data following that write), the switch is switched to select the "O" side large input, and the 3 bits from the address counter 18 are transferred to the DAT-RAM 19. Selectively output to address port A. DAT-RAM19 is
The read mode is set except when step 816 is executed.
したがって転送スタートがかけられた後は、切替えF
/ F 20のQ出力(この例では“O″)とアドレス
カウンタ18からの3ビット(ページアドレスの下位3
ビット)との示すDAT−RAM19のアドレスのデー
タ(実ページアドレス)が読出される。最初の読出しで
は、初期状態においてアドレスカウンタ1Bに設定され
たページアドレスの下位3ビットが前記したようにオー
ル“0″であることから、DAT−RAM19のO番地
のデータ即ち先頭ページに対応する実ページアドレスが
読出される。アドレスカウンタ゛1Bの上位3ビットの
アドレス指定によりDAT−RAM19から読出された
実ページアドレスは、アドレスレジスタ23の実アドレ
スフィールドにラッチされる。またアドレスレジスタ2
3のオフセットフィールドにはアドレスカウンタ18の
下位11ビットの示すページ内オフセットデータがラッ
チされる。この動作は1ワード転送毎に行なわれる。ア
ドレスレジスタ23の内容、即ちDAT−RAM19か
らの実ページアドレスとアドレスカウンタ18の下位1
1ビットからのページ内オフセットデータとが連結され
た実アドレスは、ドライバ14、システムパス31を介
して主記憶装置30に供給される。Therefore, after the transfer start is applied, the switching F
/F 20 Q output (“O” in this example) and 3 bits from address counter 18 (lower 3 of page address)
The data (actual page address) at the address of the DAT-RAM 19 indicated by the bit) is read out. In the first read, since the lower 3 bits of the page address set in the address counter 1B are all "0" as described above in the initial state, the data at address O of the DAT-RAM 19, that is, the actual data corresponding to the first page. The page address is read. The real page address read from the DAT-RAM 19 by addressing the upper 3 bits of the address counter 1B is latched into the real address field of the address register 23. Also address register 2
Intra-page offset data indicated by the lower 11 bits of the address counter 18 is latched in the offset field No. 3. This operation is performed every time one word is transferred. The contents of the address register 23, that is, the real page address from the DAT-RAM 19 and the lower 1 of the address counter 18
The real address concatenated with the intra-page offset data starting from 1 bit is supplied to the main storage device 30 via the driver 14 and the system path 31.
一方、マイクロコンピュータ11はステップ840で転
送スタートをかけると、DMA制御回路25からの転送
終了割込みの有無の検出を行ない(ステップ542)、
終了割込みが無ければページ切替が発生したか否かの判
定を行なう(ステップ544)。On the other hand, when the microcomputer 11 initiates a transfer in step 840, it detects the presence or absence of a transfer end interrupt from the DMA control circuit 25 (step 542).
If there is no end interrupt, it is determined whether a page switch has occurred (step 544).
このページ切替は、アドレスカウンタ18からDAT−
RAM19に対して示されるアドレスが切替わることに
より判別できる。もしページ切替が発生していなければ
、マイクロコンピュータ11はステップ842の転送終
了割込み検出に戻る。This page switching is performed from the address counter 18 to the DAT-
This can be determined by switching the address indicated for the RAM 19. If page switching has not occurred, the microcomputer 11 returns to step 842 to detect a transfer end interrupt.
やがてページ切替が発生し、マイクロコンピュータ11
がその旨をステップ844で判別すると、内部RAMに
(DAT−RAM19への)未書込みデータ(未書込み
の実ページアドレス)が残されているか否かの判定を行
なう(ステップ846)。もし未書込みの実ページアド
レスが無ければ、マイクロコンピュータ11の動作はス
テップ842に戻る。Eventually, a page change occurs, and the microcomputer 11
If it is determined in step 844, it is determined whether or not unwritten data (unwritten real page address) remains in the internal RAM (to the DAT-RAM 19) (step 846). If there is no unwritten real page address, the operation of the microcomputer 11 returns to step 842.
これに対して未書込みの実ページアドレスが有ればマイ
クロコンピュータ11の動作はステップ814に戻る。On the other hand, if there is an unwritten real page address, the operation of the microcomputer 11 returns to step 814.
これにより、内部RAMに残されている(未書込みの)
実ページアドレスの先頭のアドレスについて、DAT−
RAM19への書込みを始めとする処理が前記した場合
と同様に行なわれる。This leaves the (unwritten) data in the internal RAM.
For the first address of the real page address, DAT-
Processing including writing to the RAM 19 is performed in the same manner as described above.
但し、この場合には、既に転送スタートがかけられてい
るためステップ824での判定はYESとなる。ステッ
プ824の判定がYESの場合、マイクロコンピュータ
11はステップ842の転送終了割込み検出動作に戻る
。即ちマイクロコンピュータ11は、ページ切替が発生
し且つ未書込みの実ページアドレスが内部RAMに残さ
れている場合には、従来アイドル状態にあった(磁気デ
ィスク装置40の)シーク動作中に内部RAMに求めて
おいた実ページアドレスをDAT−RAM19に対して
補充する。このように本実施例では、たとえページが切
替わっても、必要な実ページアドレスがDAT−RAM
19に予め用意されることから、データ転送を中断する
ことなく実アドレスの生成が可能となる。However, in this case, since the transfer has already been started, the determination at step 824 is YES. If the determination in step 824 is YES, the microcomputer 11 returns to the transfer end interrupt detection operation in step 842. That is, when a page switch occurs and an unwritten real page address remains in the internal RAM, the microcomputer 11 stores data in the internal RAM during a seek operation (of the magnetic disk device 40), which was previously in an idle state. The DAT-RAM 19 is supplemented with the obtained real page address. In this way, in this embodiment, even if the page is switched, the necessary real page address is stored in the DAT-RAM.
19, it is possible to generate a real address without interrupting data transfer.
さて、DAT−RAM19に実ページアドレスを書込み
、その書込みデータを読出して書込みデータと読出しデ
ータとを比較した場合に、不一致が検出されたものとす
る。即ちステップS22の判定がNOとなったものとす
る。この場合マイクロコンピュータ11は切替えF /
F 20により指定されているDAT−RAM19の
領r(この例ではRAM領域19−0 )の故障を判断
し、データ転送を停止させるために転送許可F / F
24をリセットする(ステップ848)。転送許可F
/ F 24のリセット出力はデータ転送停止(禁止
)指令としてD M A III m1回路25に伝達
される。これによりDMA制御回路25は、データ転送
を停止する。この結果、DAT−RAM19から読出さ
れる誤った実ページアドレスを用いて主記憶装置30を
アクセスし、即ち誤ったデータ転送を行ない、主記憶装
置30の記憶領域を破壊してしまうことが防止される。Now, suppose that when a real page address is written into the DAT-RAM 19, the written data is read out, and the written data and read data are compared, a mismatch is detected. That is, it is assumed that the determination in step S22 is NO. In this case, the microcomputer 11 switches F/
The transfer permission F/F is used to determine a failure in the area r of the DAT-RAM 19 (in this example, RAM area 19-0) specified by F20, and to stop data transfer.
24 (step 848). Transfer permission F
The reset output of /F 24 is transmitted to the DMA III m1 circuit 25 as a data transfer stop (prohibition) command. As a result, the DMA control circuit 25 stops data transfer. As a result, it is possible to prevent the main storage device 30 from being accessed using an incorrect real page address read from the DAT-RAM 19, that is, from performing erroneous data transfer and destroying the storage area of the main storage device 30. Ru.
マイクロコンピュータ11は転送許可F / F 24
をリセットしてデータ転送を停止させると、切替えF
/ F 20をセットする(ステップ550)。これに
よりD A T −RA M 19の領域がRAM領域
19−0からRAM領域19−1に切替えられる。そし
てマイクロコンピュータ11はCPUから入出力開始指
令を受けた場合の状態に戻り、同指令に対する動作を最
初から(即ちCCW読出しから)やり直す。なお、CC
Wの群を内部RAMに保存していれば、ステップS10
のデータ転送準備からやり直すことも可能である。もし
、上記のやり直しくリトライ)でもステップS22で不
一致が検出された場合には、再度のりドライが実行され
る。この場合には最初のりトライと同様にRAM領域1
9−1が用いられる。Microcomputer 11 allows transfer F/F 24
If you reset the data transfer and stop the data transfer, the switching F
/F 20 is set (step 550). As a result, the area of the DAT-RAM 19 is switched from the RAM area 19-0 to the RAM area 19-1. The microcomputer 11 then returns to the state it was in when it received the input/output start command from the CPU, and restarts the operation in response to the command from the beginning (that is, from reading the CCW). In addition, CC
If the group W is stored in the internal RAM, step S10
It is also possible to start over from data transfer preparation. If a discrepancy is detected in step S22 even with the above-mentioned retry, glue drying is performed again. In this case, RAM area 1 is
9-1 is used.
勿論ステップS50において切替えF / F 20の
状態を反転させ、リトライ毎にDAT−RAM19の領
域を切替えるようにしてもよい。さて本実施例では、上
記のりトライが所定回繰返されるとチャネル装置故障が
判断される。Of course, the state of the switching F/F 20 may be reversed in step S50, and the area of the DAT-RAM 19 may be switched at each retry. In this embodiment, if the above-mentioned connection attempt is repeated a predetermined number of times, it is determined that the channel device has failed.
なお、前記実施例では、先頭ページに対応する実ページ
アドレスをシークコマンド発行前に求め、同コマンド発
行前にDAT−RAl19に書込むものとして説明した
が、残りのページに対応する実ページアドレスと同様に
シークコマンド発行後にDAT−RAM19に書込むよ
うにしてもよい。また、DAT−RAM19に対する実
ページアドレスの補充は必ずしもページ切替え毎に行な
う必要はなく、例えばDAT−RA、M19内の実ペー
ジアドレスが所定数以下となった場合に1つ或はそれ以
上補充するようにしてもよい。また、この発明はセグメ
ント方式およびページ方式のいずれの仮想記憶方式にも
適用できる。In the above embodiment, the real page address corresponding to the first page is obtained before issuing the seek command and is written to the DAT-RA19 before issuing the same command. However, the real page address corresponding to the remaining pages and Similarly, the data may be written to the DAT-RAM 19 after issuing the seek command. Furthermore, it is not necessary to replenish the real page addresses in the DAT-RAM 19 every time a page is switched; for example, when the number of real page addresses in the DAT-RA and M19 falls below a predetermined number, one or more real page addresses are replenished. You can do it like this. Further, the present invention can be applied to both segment-based and page-based virtual storage systems.
[発明の効果]
この発明によれば、ページアドレスの切替え毎にデータ
転送が不可能となることが防止でき、しかもそのために
誤ったデータ転送を招く恐れがない。[Effects of the Invention] According to the present invention, it is possible to prevent data transfer from becoming impossible every time a page address is switched, and there is no risk of causing erroneous data transfer.
第1図はこの発明の一実施例に係るチャネル装置の周辺
構成を示すブロック図、第2図(a)。
(b)は動作を説明するためのフローチャート、第3図
は仮想アドレスのフォーマット例を示す図、第4図はア
ドレス変換を説明する図である。
10・・・チャネル装置、11・・・マイクロコンピュ
ータ、13、23・・・アドレスレジスタ、18・・・
アドレスカウンタ、19・・・DAT−RAM、 19
−0.19−1・・・RAM領域(RAM手段)、20
・・・切替えフリップ7Oツブ(切替えF/F)、21
・・・セレクタ(SEL)、22・・・ゲート、24・
・・転送許可フリップフロップ(転送許可F/F)、3
0・・・主記憶装置、40・・・磁気ディスク装置。
第2図
(b)
第2図FIG. 1 is a block diagram showing the peripheral configuration of a channel device according to an embodiment of the present invention, and FIG. 2(a) is a block diagram showing the peripheral configuration of a channel device according to an embodiment of the present invention. (b) is a flowchart for explaining the operation, FIG. 3 is a diagram showing an example of the format of a virtual address, and FIG. 4 is a diagram for explaining address conversion. 10... Channel device, 11... Microcomputer, 13, 23... Address register, 18...
Address counter, 19...DAT-RAM, 19
-0.19-1...RAM area (RAM means), 20
...Switching flip 7O tube (switching F/F), 21
...Selector (SEL), 22...Gate, 24.
・Transfer permission flip-flop (transfer permission F/F), 3
0... Main storage device, 40... Magnetic disk device. Figure 2 (b) Figure 2
Claims (1)
ャネルプログラムに従って入出力制御を行なうチャネル
装置を備えた仮想記憶方式の計算機システムにおいて、
実ページアドレスを複数ページ分格納する1対のRAM
手段と、この1対のRAM手段のいずれか一方を指定す
るRAM指定手段と、仮想アドレスを実アドレスに変換
するアドレス変換を上記チャネルプログラムの指定する
データ転送に必要なページ数分実行するアドレス変換手
段と、このアドレス変換手段により得られる実ページア
ドレスの上記RAM手段への書込みとその書込みデータ
の読出しとを連続して行なう書込み/読出し手段と、指
定されたデータ転送のために上記主記憶に対する仮想ア
ドレスを示すアドレスカウンタと、このアドレスカウン
タの示す仮想アドレスのページアドレス部の下位の第1
所定ビットまたは上記書込み/読出し手段により上記R
AM手段への書込み/読出しのために示される仮想アド
レスのページアドレス部の下位の第2所定ビットのいず
れか一方を上記RAM手段のアドレスの一部として選択
するセレクタと、このセレクタにより上記第1所定ビッ
トが選択された際に上記RAM指定手段が指定する上記
RAM手段から読出される上記実ページアドレスと上記
アドレスカウンタの示す仮想アドレスのページ内オフセ
ットとが連結された実アドレスを保持するアドレスレジ
スタと、上記セレクタにより上記第2所定ビットが選択
された際に上記RAM指定手段が指定する上記RAM手
段から読出される上記実ページアドレスと対応する書込
みデータとの一致を検出する一致検出手段と、この一致
検出手段により一致が検出されなかった場合に上記RA
M指定手段の指定するRAM手段を切替える手段とを具
備することを特徴とするチャネル装置。In a virtual storage computer system equipped with a channel device that performs input/output control according to a channel program in main memory specified by an input/output start command from the CPU,
A pair of RAMs that store multiple pages of real page addresses
RAM specifying means for specifying one of the pair of RAM means, and address conversion for converting virtual addresses into real addresses for the number of pages required for data transfer specified by the channel program. writing/reading means for sequentially writing the real page address obtained by the address conversion means into the RAM means and reading the written data; An address counter indicating a virtual address, and the first lower page address part of the virtual address indicated by this address counter.
The above R by a predetermined bit or the above writing/reading means.
a selector for selecting one of the lower second predetermined bits of the page address portion of the virtual address indicated for writing/reading to/from the AM means as part of the address of the RAM means; an address register that holds a real address obtained by concatenating the real page address read from the RAM means designated by the RAM designation means when a predetermined bit is selected and the intra-page offset of the virtual address indicated by the address counter; and a coincidence detection means for detecting a coincidence between the real page address read from the RAM means designated by the RAM designation means and the corresponding write data when the second predetermined bit is selected by the selector; If no match is detected by this match detection means, the above RA
A channel device comprising: means for switching the RAM means specified by the M specifying means.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60133402A JPS61290553A (en) | 1985-06-19 | 1985-06-19 | Channel device |
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 |
---|---|---|---|
JP60133402A JPS61290553A (en) | 1985-06-19 | 1985-06-19 | Channel device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS61290553A true JPS61290553A (en) | 1986-12-20 |
JPH0370257B2 JPH0370257B2 (en) | 1991-11-07 |
Family
ID=15103907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP60133402A Granted JPS61290553A (en) | 1985-06-19 | 1985-06-19 | Channel device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS61290553A (en) |
-
1985
- 1985-06-19 JP JP60133402A patent/JPS61290553A/en active Granted
Also Published As
Publication number | Publication date |
---|---|
JPH0370257B2 (en) | 1991-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4797812A (en) | System for continuous DMA transfer of virtually addressed data blocks | |
US4163280A (en) | Address management system | |
US4896262A (en) | Emulation device for converting magnetic disc memory mode signal from computer into semiconductor memory access mode signal for semiconductor memory | |
US4682305A (en) | Storage system | |
EP0076629A2 (en) | Reconfigureable memory system | |
US4999770A (en) | Command controlled multi-storage space protection key pretesting system permitting access regardless of test result if selected key is predetermined value | |
US4495564A (en) | Multi sub-channel adapter with single status/address register | |
US4513369A (en) | Information processing system | |
EP0032136B1 (en) | Memory system | |
JPS61290553A (en) | Channel device | |
JPS6011950A (en) | Duplex memory system | |
US4882672A (en) | System for initialization of channel controllers utilizing address pointers calculated from multiplying sizes of data fields with device numbers | |
JPS61290552A (en) | Channel device | |
JPS5845116B2 (en) | Duplex storage device | |
JP2600376B2 (en) | Memory controller | |
JPS61290554A (en) | Channel device | |
KR900009212Y1 (en) | Address controller | |
EP0358224A2 (en) | Semiconductor disk device useful in transaction processing system | |
JPS62187956A (en) | Dma control system | |
JPH06119200A (en) | Memory device and its test system | |
JPS6218074B2 (en) | ||
KR20010028615A (en) | A doubling apparatus of a exchange | |
JPS58169398A (en) | Memory system | |
JPS6013497B2 (en) | How to diagnose cache memory | |
JPS5916067A (en) | Data check method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |