JPS596411B2 - Channel data transfer control method - Google Patents

Channel data transfer control method

Info

Publication number
JPS596411B2
JPS596411B2 JP53103826A JP10382678A JPS596411B2 JP S596411 B2 JPS596411 B2 JP S596411B2 JP 53103826 A JP53103826 A JP 53103826A JP 10382678 A JP10382678 A JP 10382678A JP S596411 B2 JPS596411 B2 JP S596411B2
Authority
JP
Japan
Prior art keywords
data
channel
data transfer
storage device
main memory
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
Application number
JP53103826A
Other languages
Japanese (ja)
Other versions
JPS5530783A (en
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 JP53103826A priority Critical patent/JPS596411B2/en
Publication of JPS5530783A publication Critical patent/JPS5530783A/en
Publication of JPS596411B2 publication Critical patent/JPS596411B2/en
Expired legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Bus Control (AREA)

Description

【発明の詳細な説明】 この発明は、データバッファを有するチャネルにおいて
、該バッファから主記憶装置へのデータ転送を制御する
方式に関するものである。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a method for controlling data transfer from a data buffer to a main memory in a channel having a data buffer.

一般に、主記憶装置と入出力デバイスとの間で転送され
るデータを一時的に格納しバッファリングするためのデ
ータバッファを有するチャネルは既に良く知られている
が、該チャネルのデータバッファから主記憶装置への書
込データの転送に要する時間と、主記憶装置の側でチャ
ネル側からアクセスのための起動をかけられて動作を開
始し、アドレス・エラーやデータ・エラーのチェックな
どを含む一連のメモリ動作(以下、MS動作サイクルと
云う)を終了するまでの時間、すなわちMS動作サイク
ル・タイムとを比較すると、前者よりも後者の方がかな
り大きいのが普通である。
In general, a channel having a data buffer for temporarily storing and buffering data transferred between a main memory and an input/output device is already well known. The time required to transfer the write data to the device, and the time required for the main memory to be activated for access from the channel side, and a series of steps including checking for address errors and data errors, etc. When comparing the time required to complete a memory operation (hereinafter referred to as an MS operation cycle), that is, the MS operation cycle time, the latter is usually considerably longer than the former.

ところで、主記憶装置を前記チャネルと共有するベーシ
ツク・プロセッシング・ユニット(以下、BPUと略記
する)があり、チャネルが該BPUと制御用のマイクロ
プログラムを共有する方式がある。かかる場合、BPU
がマイクロプログラムを実行して処理動作を行なつてい
るとき、チャネルが該プログラムをスチールして主記憶
装置へのデータ転送を実行し(この間、BPUでは処理
動作は中止されたままで進行しない)、その終了後、ス
チールされた元のBPUへプログラムが返され、BPU
では処理動作を再開することになる。このチャネルの、
BPU側からスチールしたプログラムによる、主記憶装
置へのデータ転送動作において、この転送動作開始と同
時に起動をかけられて動作を開始する前記主記憶装置の
MS動作サイクルが完了してデータ・エラーなどのない
ことが確定しないうちに、スチールによる前記転送動作
を終了してBPU側の処理動作を再開する方式(以下、
おいてきぼり制御方式ということがある)の場合、BP
U側で処理動作を再開した後になつて前記MS動作サイ
クルでデータ・エラー等が検出されると、BPU側の処
理動作から再びスチールによつてチヤネルの転送動作制
御へ移行(スチールレベルの回復という)し、障害情報
の収集、その他の異常処理動作を行なうことになる。か
かる従来の方式では、MS動作サイクルでデータ・エラ
ー等が検出された場合、スチールレベルの回復、障害情
報の収集等、異常処理のための制御が複雑になりすぎる
という欠点がある。一方、異常処理のための制御を簡単
化するため、MS動作サイクルが完了してデータ・エラ
ー等のないことが確定するまで、スチールにより開始し
た前記チヤネルの主記憶装置へのデータ転送動作を終了
させない方式を採用したとすると、今度は、データ転送
に必要以上に時間がかかりすぎて、チヤネルと主記憶装
置の間のスルーブツトが低下するという欠点を生じる。
この発明は、上述のような従来技術の欠点を克服するた
めになされたものであり、従つてこの発明の目的は、M
S動作サイクルにおいてデータ・エラーなどが検出され
た場合、おいてきぼり制御方式を採用した場合に要求さ
れるような複雑な異常処理のための制御を要せず、しか
も、チヤネルから主記憶装置へのスループツトを向上さ
せることのできるチヤネルのデータ転送制御方式を提供
することにある。
By the way, there is a basic processing unit (hereinafter abbreviated as BPU) that shares a main memory with the channel, and there is a system in which the channel shares a control microprogram with the BPU. In such cases, BPU
When the BPU executes a microprogram and performs a processing operation, the channel steals the program and performs data transfer to the main memory (during this time, the processing operation remains suspended and does not proceed in the BPU), After that, the program is returned to the original stolen BPU, and the BPU
Then, the processing operation will be restarted. of this channel,
In a data transfer operation to the main memory by a program stolen from the BPU side, the MS operation cycle of the main memory, which is activated and starts operating at the same time as the start of this transfer operation, is completed and data errors etc. occur. A method (hereinafter referred to as
In the case of a control system (sometimes referred to as a control system), BP
If a data error or the like is detected in the MS operation cycle after the processing operation is restarted on the U side, the processing operation on the BPU side shifts to channel transfer operation control by stealing again (this is called stealing level recovery). ), collect fault information, and perform other abnormal handling operations. This conventional method has the disadvantage that when a data error or the like is detected during an MS operation cycle, control for abnormality processing such as recovery of the steal level and collection of fault information becomes too complex. On the other hand, in order to simplify the control for handling abnormalities, the data transfer operation to the main memory of the channel started by stealing is terminated until the MS operation cycle is completed and it is confirmed that there are no data errors. If a method is adopted in which data transfer is not performed, data transfer will take more time than necessary, resulting in a reduction in throughput between the channel and the main storage device.
This invention has been made to overcome the drawbacks of the prior art as described above, and therefore, the object of this invention is to
When a data error or the like is detected in the S operation cycle, there is no need for complicated abnormality handling control that would be required if a stand-by control method is adopted, and moreover, the throughput from the channel to the main storage device is reduced. An object of the present invention is to provide a channel data transfer control method that can improve the channel data transfer.

この発明の構成の要点は次の如くである。The main points of the structure of this invention are as follows.

主記懐装置と入出力デバイスとの間で転送されるデータ
を一時的に格納しバツフアリングするためのデータバツ
フアを有するチヤネルを用いてのデータ暫送は、一般に
次のようにして行なわれる。今例えば、入出力デバイス
から主記憶装置へ、100バイトのデータを転送するも
のとする。このとき入出力デバイスからチヤネルにおけ
るデータバツフアへの転送は、1バイト単位で行なゎれ
る。一方、データバツフアから主記憶装置へのデータ転
送は8バイト単位で行なわれる(実際は、バスが4バイ
トの容量しかないので、4バイトずつ2度に分けて転送
する)。所で、主記憶装置において、データバツフアか
ら8バイト単位で送出されてきたデータで、8バイトそ
つくりそのままメモリ内容を書替える場合、これを全書
込みという。他方、主記憶装置において、8バイトのデ
ータを全部書替えるのでなく、そのうちの何バイトかは
主記憶装置に既にストアされているデータでよく、残り
のデータについてだけ、データバツフアから転送されて
きたデータで書家える場合があり、これを部分書込みと
いう。部分書込みを行なう場合には、記憶装置において
、先ずメモリから当該8バイトのデータをレジスタに読
み出してエラー・チエツクを行なつた後、チヤネルから
転送されてきたデータで、所要のバイトだけ書替えを行
ない、その後、再びレジスタから8バイトの形でメモリ
へ書込む訳である。所で、入出力デバイスから主記憶装
置へ100バイトのデータ転送を行なうものと仮定した
が、この一連のデータ転送動作において、チヤネル(デ
ータバツフア)から主記憶装置への最初のアクセスと最
後のアクセスだけが、上述の部分書込動作となる可能性
が強く、その中間のアクセスは全書込動作になる。その
理由は、最初のアクセスでは、チヤネルから主記憶装置
に対して指定される先頭アドルスの如何によつて、すな
わち主記憶装置側の8バイトのメモリ区分の途中を先頭
アドレスが指定する場合、部分書込みとなるからである
。また最後のアクセスでは、転送データの量(唯今の例
では100バイト)と最初のアクセスにおける先頭アド
レスの指定場所とによつては、最後のデータが丁度8バ
イトになるとは限らず、8バイト未満になることも多い
からである。中間のアクセスでは、チヤネルのデータバ
ツフアにおいて、8バイトのバツフアリングを行なつて
いるので、必らず全書込みになる。さて、部分書込みの
場合には、前述のように、主記憶装置の側で、一旦8バ
イトのデータをレジスタに読み出してデータ・エラーの
チエツクを行なうが、全書込みの場合は、8バイト全部
を書替えるので部分書込みの場合のように、レジスタに
読み出してエラー・チエツクを行なうことは不要である
Data transfer using a channel having a data buffer for temporarily storing and buffering data transferred between a host storage device and an input/output device is generally performed as follows. For example, assume that 100 bytes of data are to be transferred from the input/output device to the main storage device. At this time, transfer from the input/output device to the data buffer in the channel is performed in units of 1 byte. On the other hand, data transfer from the data buffer to the main memory is performed in units of 8 bytes (actually, since the bus has a capacity of only 4 bytes, the data is transferred in two batches of 4 bytes each). By the way, when the memory contents in the main storage device are rewritten in 8-byte units using data sent from the data buffer in 8-byte units, this is called a full write. On the other hand, instead of rewriting all 8 bytes of data in the main memory, some of the bytes may be data that has already been stored in the main memory, and only the remaining data is the data transferred from the data buffer. In some cases, the calligrapher can write the calligrapher's work, and this is called partial writing. When performing a partial write, the storage device first reads the 8 bytes of data from the memory into a register, performs an error check, and then rewrites only the required bytes with the data transferred from the channel. , and then writes it again from the register to memory in the form of 8 bytes. By the way, we assumed that 100 bytes of data were transferred from the input/output device to the main memory, but in this series of data transfer operations, only the first and last accesses from the channel (data buffer) to the main memory are performed. However, there is a strong possibility that the above-mentioned partial write operation will be performed, and the intermediate access will be a full write operation. The reason for this is that in the first access, depending on the starting address specified from the channel to the main memory, if the starting address specifies the middle of an 8-byte memory partition on the main storage side, a partial This is because it is a write operation. Also, in the final access, depending on the amount of transferred data (100 bytes in the current example) and the specified location of the start address in the first access, the final data may not be exactly 8 bytes; This is because it is often less than In intermediate accesses, 8-byte buffering is performed in the data buffer of the channel, so all data is necessarily written. Now, in the case of a partial write, as mentioned above, the main memory side reads 8 bytes of data into a register and checks for data errors, but in the case of a full write, all 8 bytes are Since the data is rewritten, there is no need to read it to a register and check for errors as in the case of partial writing.

この発明は、この点に着目したものであり、チヤネルか
ら主記憶装置へのデータ転送が、主記憶装置へのデータ
の部分書込みにつながる場合(多くは最初と最後のアク
セス)には、部分書込みの際、データ・エラーのチエツ
クがなされるので、そのチエツク結果の確定を待つ意味
で、MS動作サイクルの終了までチヤネル}こおけるデ
ータ転送制御動作を終了させず、他方、全書込み動作に
つながる場合には、全書込みの際データ・チエツクは行
なわれないから、MS動作サイクルの終了を待つ必要は
なく、チヤネルにおけるデータ転送制御動作は、チヤネ
ルから主記憶装置へのデータ転送が終ると直ちに終了し
、BPUの処理動作の再開へ移行するようにした点がこ
の発明の要点である。次に図を参照してこの発明の一実
施例を詳細に説明する。
This invention focuses on this point, and when data transfer from a channel to main memory leads to a partial write of data to the main memory (in most cases, the first and last access), the partial write At this time, a data error check is performed, so in the sense of waiting for the check result to be determined, the data transfer control operation in the channel is not terminated until the end of the MS operation cycle, and on the other hand, if it leads to all write operations. Since no data check is performed during all writes, there is no need to wait for the end of the MS operation cycle, and the data transfer control operation in the channel ends immediately after the data transfer from the channel to the main memory device is completed. , the key point of the present invention is that the process is shifted to restarting the processing operation of the BPU. Next, one embodiment of the present invention will be described in detail with reference to the drawings.

第1図はこの発明の一実施例を示すプロツク図である。FIG. 1 is a block diagram showing one embodiment of the present invention.

第1図を参照する。チヤネル2とBPU3は主記憶装置
4を共有している。チヤネル2は、データバツフア8と
、データ転送制御論理回路7と、部分書込動作検出論理
回路6゛と、マイクロプログラム・デコード論理回路5
t1アンド回路Aを含んで成り、BPU3は、主記憶装
置4とのインタフエース制御論理回路9と、シーケンス
制御論理回路10と、シーケンス抑止論理回路11と、
制御記憶装置12と、マイクロプログラム・デコード論
理回路13とを含んで成つている。なお、制御記憶装置
12に記憶されるマイクロプログラムは、BPU3とチ
ヤネル2に共有のものであり、BPU3が該マイクロプ
ログラムを読み出して制御動作を実行中、チヤネル2が
必要に応じて該プログラムをスチールして制御動作を実
行(その間、BPUは制御動作を中止)し、その終了と
共に、BPUは制御動作を再開するような方式を採用し
ている。入出力デバイス1からチヤネル2内のデータバ
ツフア8を介し、またBPU3内のインタフエース制御
論理回路9を通して主記憶装置4へデータ転送がなされ
る。次に上記の構成における動作を説明する。
Please refer to FIG. Channel 2 and BPU 3 share main memory 4. The channel 2 includes a data buffer 8, a data transfer control logic circuit 7, a partial write operation detection logic circuit 6', and a microprogram/decode logic circuit 5.
The BPU 3 includes a t1 AND circuit A, an interface control logic circuit 9 with the main memory 4, a sequence control logic circuit 10, a sequence inhibition logic circuit 11,
It comprises a control memory 12 and a microprogram decode logic circuit 13. Note that the microprogram stored in the control storage device 12 is shared by the BPU 3 and the channel 2, and while the BPU 3 is reading out the microprogram and executing the control operation, the channel 2 can steal the program as necessary. A method is adopted in which the BPU executes the control operation (during which the BPU stops the control operation) and resumes the control operation upon completion of the control operation. Data is transferred from the input/output device 1 to the main memory 4 via the data buffer 8 in the channel 2 and through the interface control logic circuit 9 in the BPU 3. Next, the operation in the above configuration will be explained.

入出力デバイス1からチヤネル2を経て主記憶装置4へ
データを転送する場合、入出力デバイス1からチヤネル
2へはデータが1バイト単位で送られ、送られたデータ
は、チヤネル2においてデータ転送制御論理回路7の制
御の下に、データバツフア8にバツフアリングされる。
8バイトのデータがバツフア8にたまると、データ転送
制御論理回路7は、BPU3におけるシーケンス制御論
理回路10へスチール要求信号を送り、それが受け付け
られると、後者が前者へスチール受付信号を送り、チヤ
ネル2はBPU3から制御プログラムをスチールして制
御動作を開始する。
When data is transferred from input/output device 1 to main storage device 4 via channel 2, the data is sent from input/output device 1 to channel 2 in 1-byte units, and the sent data is transferred to channel 2 under data transfer control. The data is buffered into a data buffer 8 under the control of the logic circuit 7.
When 8 bytes of data accumulates in the buffer 8, the data transfer control logic circuit 7 sends a steal request signal to the sequence control logic circuit 10 in the BPU 3, and when it is accepted, the latter sends a steal acceptance signal to the former, and the channel 2 steals the control program from the BPU 3 and starts the control operation.

すなわち、BPU3におけるシーケンス制御論理回路1
0、マイクロプログラムを記憶する制御記憶装置12、
マイクカプログラム・デコード論理回路13、チヤネル
2におけるマイクロプログラム・デコード論理回路5な
どの、動作によつてチヤネル2は、第2図に示す如き、
マイクロプログラムの制御による動作のフローを実行し
、データバツフア8から8バイト単位のデータがBPU
3の主記憶装置4に対するインタフエース制御論理回路
9を介して主記憶装置4へ転送される(実際は、8バイ
トのデータは、バスの容量の関係で4バイトずつ2度に
分けて転送される)。第2図は、チヤネル2から主記憶
装置4へデータ転送を行なう場合に、該チヤネル2が、
BPU3側からスチールしたマイクロプログラムの制御
の下に実行する動作の流れ図である。
That is, the sequence control logic circuit 1 in the BPU 3
0, a control storage device 12 that stores a microprogram;
By the operation of the micro program/decode logic circuit 13, the micro program/decode logic circuit 5 in channel 2, etc., channel 2 is configured as shown in FIG.
The flow of operation under the control of the microprogram is executed, and data in units of 8 bytes is transferred from data buffer 8 to the BPU.
The data is transferred to the main memory device 4 via the interface control logic circuit 9 for the main memory device 4 of No. 3 (actually, the 8-byte data is transferred in two batches of 4 bytes each due to the capacity of the bus. ). FIG. 2 shows that when data is transferred from channel 2 to main storage device 4, channel 2
It is a flowchart of operations executed under the control of a microprogram stolen from the BPU3 side.

第2図を参照してチヤネルの動作の流れを説明する。The flow of channel operation will be explained with reference to FIG.

第2図において、フローにおける一つの箱の中の動作は
原則として1マシンサイクルで実行される。フローの1
において、チヤネル(以下、CHと略記することがある
)2から主記憶装置(以下、MSと略記することがある
)4へ起動がかけられ、チヤネルから転送したデータを
格納すべきアドレスを転送する。フローの2と3におい
て それぞれ4バイトずつデータがチヤネルCH)から
主記憶装置MSへ転送される。
In FIG. 2, the operations in one box in the flow are executed in one machine cycle in principle. flow 1
, the channel (hereinafter sometimes abbreviated as CH) 2 activates the main memory (hereinafter sometimes abbreviated as MS) 4, and transfers the address where the data transferred from the channel should be stored. . In flows 2 and 3, 4 bytes of data are each transferred from the channel CH to the main memory MS.

これで8バイトのデータ転送が終了したので、フロー4
において バイト・カウンタの更新を行なつて次に転送
)すべき主記憶装置におけるアドルスの指定や転送デー
タ量の指定などを行なう。
Now that the 8-byte data transfer has finished, flow 4
At , the byte counter is updated and the address in the main memory to be transferred next is specified and the amount of data to be transferred is specified.

以上で、データ転送の主要動作を終了する。フローの5
におけるマイクロプログラムは、主記憶装置4において
なされたMS動作サイクルにおいてエラーが発生したか
否かをテストするためのものである。このフロー5にお
いて、この発明では、チヤネルCHから主記憶装置MS
へのデータ転送が、部分書込みにつながるものであると
きは、先にフロー1においてチヤネルCHから起動をか
けられた主記憶装置MSが、部分書込み動作のときにメ
モリからレジスタへ読み出したデータのチエツク結果の
確定を含むMS動作サイクルを終了するまで、チヤネル
CHではフロー5のプログラムを複数マシンサイクルに
わたつて実行して待機する。従つて、このときMS動作
サイクルにエラーが起きたことが検出されれば、チヤネ
ルでは、スチールによる制御動作を終了していないので
、マイクロプログラム7,8を実行することにより、必
要な障害情報を適当な箇所に退避させることが容易に可
能となる。一方、チヤネルCHから主記懐装置MSへの
データ転送が、全書込みにつながるものであるときは、
部分書込みの場合とは違つて、MS動作サイクルにおい
てデータの読み出しチエツクは行なわれないので、チヤ
ネルは、MS動作サイクルの終了を待たないで、連続的
にフロー1から6までを実行することができる。以上の
フローの時間的関係を示したのが第3図である。第3図
を参照する。
This completes the main operation of data transfer. flow 5
The microprogram in is for testing whether an error has occurred in the MS operation cycle performed in the main storage device 4. In this flow 5, in the present invention, from the channel CH to the main memory device MS
When the data transfer to leads to a partial write, the main memory MS, which was activated from the channel CH in flow 1, checks the data read from the memory to the register during the partial write operation. The channel CH executes the program of flow 5 over a plurality of machine cycles and waits until the MS operation cycle including determination of the result is completed. Therefore, if it is detected that an error has occurred in the MS operation cycle at this time, the control operation by steal has not been completed in the channel, so by executing the microprograms 7 and 8, necessary failure information can be obtained. It becomes possible to easily evacuate to an appropriate location. On the other hand, when the data transfer from the channel CH to the main storage device MS leads to full writing,
Unlike the partial write case, no data read check is performed during the MS operation cycle, so the channel can continuously execute flows 1 to 6 without waiting for the end of the MS operation cycle. . FIG. 3 shows the temporal relationship of the above flow. See Figure 3.

イ)は、マシンサイクルのタイムスケールを示すための
タイムチヤートで時間の経過と共にマシンサイクルが進
行して行く様子を示す。口)は、チヤネルCHから主記
憶装置MSへのデータ転送が、全書込み動作につながる
場合のものであるとき、チヤネルにおける動作のフロー
は、第2図における1から5までで連続して終了するこ
とを示している。ノ9は、チヤネルCHから主記憶装置
MSへのデータ転送が、部分書込み動作につながる場合
のものであり、第2図におけるフロー5において、3マ
シンサイクル待磯して、ニ)に示すMS動作サイクルの
終了を待つて、次のフローに移行することを示している
。従つて、部分書込み動作につながるデータ転送は9マ
シンサイタルを要するのに、全書込み動作につながるデ
ータ転送は6マシンサイクルで終了することが第3図か
ら分るであろう。すなわち、データ転送において、それ
が部分書込み動作につながるものか、全書込み動作につ
ながるものかを判別することなく、一律に、MS動作サ
イクルの終了を待つ方式に比較すれは、一連のデータ転
送における大部分のアクセスは全書込み動作につながる
ものであるから、相当のマシンサイクルの短縮になるこ
とが理解されるであろう。なお、第3図において、エラ
ー信号1というのは、部分書込み時の読み出しデータの
チエツクの際エラーがあれは、MS動作サイクルにおい
て6.5マシンサイクルの付近でエラー信号1が出るこ
とを示しておりエラー信号2というのは、MS動作サイ
クルにおいてアドルス等のチエツクの結果エラーがあれ
は、MS動作サイクルにおいて3マシンサイクルの付近
でエラー信号2が出ることを示している。すなわち、読
み出しデータのエラー・チエツクの結果が確定するのは
、MS動作サイクルにおける6.5マシンサイクル付近
であつて非常に遅いのに対し、アドレス等のエラー・チ
エツクの結果が確定するのはMS動作サイクルの3マシ
ンサイクル付近であつて、比較的早い時間に確定する。
MS−END信号はMS動作サイクルの終了により出力
される信号を表わす。次に第1図に戻つて、チヤネルが
第2図に示した如き動作フローを実行するためのハード
ウエアを説明する。
A) is a time chart to show the time scale of the machine cycle, and shows how the machine cycle progresses over time. When the data transfer from the channel CH to the main memory MS leads to a full write operation, the flow of operations in the channel ends sequentially from 1 to 5 in FIG. It is shown that. No. 9 is a case where the data transfer from the channel CH to the main memory MS leads to a partial write operation, and in flow 5 in FIG. 2, the MS operation shown in d) is performed after waiting for 3 machine cycles. This indicates that the flow will wait for the end of the cycle and move on to the next flow. Therefore, it can be seen from FIG. 3 that the data transfer leading to a partial write operation takes nine machine cycles, while the data transfer leading to a full write operation completes in six machine cycles. In other words, compared to the method of uniformly waiting for the end of the MS operation cycle without determining whether the data transfer will lead to a partial write operation or a full write operation, It will be appreciated that since most accesses result in full write operations, there is a considerable machine cycle savings. In FIG. 3, error signal 1 indicates that if there is an error when checking read data during partial writing, error signal 1 will be output around 6.5 machine cycles in the MS operation cycle. The error signal 2 indicates that if there is an error as a result of a check such as address in the MS operation cycle, the error signal 2 is output around the third machine cycle in the MS operation cycle. In other words, the results of error checks on read data are finalized around 6.5 machine cycles in the MS operation cycle, which is very slow, whereas the results of error checks on addresses, etc. are finalized only after the MS operation cycle. It is determined at a relatively early time, around the third machine cycle of the operation cycle.
The MS-END signal represents the signal output by the end of the MS operation cycle. Next, returning to FIG. 1, the hardware for the channel to execute the operation flow as shown in FIG. 2 will be described.

さて、チヤネル2から主記憶装置4へのデータ転送が、
主記懐装置MSへの部分書込みにつながるものであると
きには、MS動作サイクルにおける読み出しデータのチ
エツク結果の確定に時間がかかるため(第3図のエラー
信号1参照)、BPU3のシーケンス制御論理回路10
では、チヤネルのマイクロプログラム・デコード論理回
路5が制御記憶装置12から読み出したマイクロプログ
ラム(MSにエラ発生か?)をデコードした結果の信号
(TEST=MS−ERROR)と部分書込動作検出論
理回路6からの部分書込信号PW(PartialWr
itの略)とのアンド回路Aによるアンド信号と、BP
Uのマイクロプログラム・デコード論理回路13からの
同様な信号(TEST:=MS−ERROR)とが存在
する条牛の下では、主記憶装置4からのMS動作サイク
ルの終了を表わす信号MS−END(第3図参照)を受
け付けるまで、シーケンス抑止論理回路11によつて、
チヤネルがマイクロプログラム5(第2図、第3図参照
)を実行するのを抑止するよう制御記憶装置12を制御
する。換言すれば、抑止論理回路11は、MS−END
信号を受け取るまで、BPUの制御記憶装置12から同
一マイクロプログラムの読み出しを繰り返しており、シ
ーケンスの進行を抑止している。MS−END信号が到
来すると、シーケンス制御論理回路10は、抑止論理回
路11による抑止を止め、チヤネルがマイクロプログラ
ム5,6(第2図、第3図参照)を実行するのを許し、
チヤネルから主記憶装置への1回のデータ転送が終了す
る。一方、チヤネルから主記憶装置へのデータ転送が、
主記憶装置への全書込み動作につながるものであるとき
は、部分書込みの場合と異なり、チエツク結果の確定の
遅い読み出しデータのチエツク(第3図エラー信号1)
はMS動作サイクルにおいてなされず、アドレス・エラ
ー等のチエツクは行なわれるがそのチエツク結果の確定
は早く(第3図エラー信号2)、第2図のマイクロプロ
グラムのフローで1乃至4の間に確定してしまうので、
チヤネルの転送制御において、MS−END信号の到来
を待つ必要はなく、フロー1乃至6を連続して実行して
よく、従つてBPUのシーケンス制御論理回路10も、
抑止論理回路11による抑止制御を行なうことはない。
チヤネル2における部分書込動作検出論理回路6として
、チヤネルから入出力デバイス1へデータ転送の開始を
指示したときにセツトされ、チヤネルから主記憶装置へ
最初のデータ転送を行なつたときにりセツトされるとこ
ろの、最初のデータ転送(主記憶装置への最初のアクセ
ス)であることを記憶しておくフリツプフロツプと、入
出力デバイス1からデータバツフア8へ最後のデータが
送られたときにデータ転送制御論理回路7の働きでセツ
トされ、次のデータバツフア8から主記憶装置4へのデ
ータ転送のときにりセツトされるところの、最後のデー
タ転送(最後のアクセス)であることを記憶しておくフ
リツプフロツプと)により構成される論理回路を用いれ
ば、既述の部分書込信号PWを発生しうることは明らか
であろつO以上説明したとおりであるから、この発明に
よれは、データバツフアを有しバツフアリングを行なう
ようなチヤネルを介しての入出力デバイスから主記憶装
置へのデータ転送において、従来、採られたおいてきぼ
り制御にみられるような複雑な制御方式を用いることな
く、比較的簡単な制御方式を用いながら、チヤネルから
主記憶装置へのデータ転送能力において、前記のおいて
きぼり制御の場合とほゾ同等の能力をもち得るという利
点がある。
Now, the data transfer from channel 2 to main storage device 4 is as follows.
When the data is partially written to the main storage device MS, it takes time to determine the result of checking the read data in the MS operation cycle (see error signal 1 in FIG. 3), so the sequence control logic circuit 10 of the BPU 3
Now, the signal (TEST=MS-ERROR) resulting from the decoding of the microprogram (Did an error occur in MS?) read from the control storage device 12 by the microprogram/decode logic circuit 5 of the channel and the partial write operation detection logic circuit. Partial write signal PW (PartialWr
(abbreviation of it) by AND circuit A, and BP
In the presence of a similar signal (TEST:=MS-ERROR) from the microprogram decode logic circuit 13 of U, the signal MS-END( (see FIG. 3) is received by the sequence suppression logic circuit 11.
The control storage device 12 is controlled to inhibit the channel from executing the microprogram 5 (see FIGS. 2 and 3). In other words, the inhibition logic circuit 11
Until a signal is received, the same microprogram is repeatedly read from the control storage device 12 of the BPU, inhibiting the progression of the sequence. When the MS-END signal arrives, the sequence control logic circuit 10 stops inhibiting the inhibition logic circuit 11 and allows the channel to execute the microprograms 5, 6 (see FIGS. 2 and 3);
One data transfer from the channel to the main memory is completed. On the other hand, data transfer from the channel to the main memory is
When the operation leads to a full write operation to the main memory, unlike the case of partial write, the check of read data whose check result is slow to be determined (Error signal 1 in Figure 3)
is not performed in the MS operation cycle, and checks for address errors, etc. are performed, but the check results are determined quickly (error signal 2 in Figure 3), and are determined between 1 and 4 in the microprogram flowchart in Figure 2. Because I end up doing it,
In the channel transfer control, there is no need to wait for the arrival of the MS-END signal, and flows 1 to 6 may be executed continuously. Therefore, the sequence control logic circuit 10 of the BPU also
No inhibition control is performed by the inhibition logic circuit 11.
As the partial write operation detection logic circuit 6 in channel 2, it is set when instructing the start of data transfer from the channel to the input/output device 1, and is set when the first data transfer from the channel to the main storage device is performed. a flip-flop that remembers that this is the first data transfer (the first access to the main memory), and a data transfer controller that controls data transfer when the last data is sent from the input/output device 1 to the data buffer 8. A flip-flop which is set by the function of the logic circuit 7 and reset at the time of the next data transfer from the data buffer 8 to the main memory device 4, and which remembers that it is the last data transfer (last access). It is obvious that the above-mentioned partial write signal PW can be generated by using a logic circuit constituted by When data is transferred from an input/output device to the main memory via a channel that performs While using this method, it has the advantage that the data transfer ability from the channel to the main storage device can be almost the same as that of the above-mentioned left-handed control.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図はこの発明の一実施例を示すプロツク図、第2図
は、データ転送に際しチヤネルがBPU側からスチール
したマイクロプログラムの制御の下に実行する転送動作
の流れ図、第3図は第2図における動作の流れのタイム
チヤートである。
FIG. 1 is a block diagram showing one embodiment of the present invention, FIG. 2 is a flowchart of a transfer operation executed by the channel under the control of a microprogram stolen from the BPU side during data transfer, and FIG. This is a time chart of the flow of operations in the figure.

Claims (1)

【特許請求の範囲】[Claims] 1 転送データをバッファリングするためのデータバッ
ファを有し該バッファを介して入出力デバイスと主記憶
装置との間でデータを転送するようにしたチャネルのデ
ータ転送制御方式において、前記主記憶装置を前記チャ
ネルと共有するベーシツク・プロセッシング・ユニット
(以下、BPUと略記する)の制御プログラムを前記B
PU側から前記チャネルはスチールすることにより、前
記データバッファと主記憶装置との間のデータ転送動作
を開始して制御するようにし、しかもデータバッファと
主記憶装置の間では或る単位データ量毎にデータ転送を
行なう如くし、転送データの主記憶装置への書込みデー
タ量が前記単位データ量に満たないときは、主記憶装置
側において、チャネルの転送動作開始により起動をかけ
られて動作を開始するところのエラー・チェックを含む
一連のメモリ動作(以下、MS動作サイクルという)の
終了を待つてデータ転送を終了することにより前記BP
U側の処理動作を再開し、転送データの主記憶装置への
書込みデータ量が前記単位データ量に等しいときは、前
記MS動作サイクルの終了を待たないでデータ転送を終
了して前記BPU側の処理動作を再開するようにしたこ
とを特徴とするチャネルのデータ転送制御方式。
1. In a data transfer control method for a channel that has a data buffer for buffering transfer data and transfers data between an input/output device and a main storage device via the buffer, the main storage device is The control program for the basic processing unit (hereinafter abbreviated as BPU) shared with the channel is
By stealing the channel from the PU side, the data transfer operation between the data buffer and the main storage device is started and controlled, and moreover, the data transfer operation between the data buffer and the main storage device is performed every certain unit data amount. If the amount of transferred data written to the main memory is less than the unit data amount, the main memory side is activated by the start of the channel transfer operation and starts the operation. The above-mentioned BP
When the processing operation on the U side is resumed and the amount of transferred data written to the main storage device is equal to the unit data amount, the data transfer is ended without waiting for the end of the MS operation cycle and the processing operation on the BPU side is resumed. A channel data transfer control method characterized by restarting a processing operation.
JP53103826A 1978-08-28 1978-08-28 Channel data transfer control method Expired JPS596411B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP53103826A JPS596411B2 (en) 1978-08-28 1978-08-28 Channel data transfer control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP53103826A JPS596411B2 (en) 1978-08-28 1978-08-28 Channel data transfer control method

Publications (2)

Publication Number Publication Date
JPS5530783A JPS5530783A (en) 1980-03-04
JPS596411B2 true JPS596411B2 (en) 1984-02-10

Family

ID=14364209

Family Applications (1)

Application Number Title Priority Date Filing Date
JP53103826A Expired JPS596411B2 (en) 1978-08-28 1978-08-28 Channel data transfer control method

Country Status (1)

Country Link
JP (1) JPS596411B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59167734A (en) * 1983-03-14 1984-09-21 Fujitsu Ltd Direct memory access control system

Also Published As

Publication number Publication date
JPS5530783A (en) 1980-03-04

Similar Documents

Publication Publication Date Title
JPH07117903B2 (en) Disaster recovery method
US4355389A (en) Microprogrammed information processing system having self-checking function
US4385365A (en) Data shunting and recovering device
JPS58121457A (en) Information processing device
US4985826A (en) Method and device to execute two instruction sequences in an order determined in advance
JP3192354B2 (en) Computer system retry processor
JPH07141176A (en) Command retrial control system
JPS596411B2 (en) Channel data transfer control method
JP2001256044A (en) Data processor
JP2846760B2 (en) Programmable controller
JPS6218063B2 (en)
JPH0821009B2 (en) CHANNEL CONTROLLER INITIALIZATION METHOD AND SYSTEM FOR THE INITIALIZATION
JP3130798B2 (en) Bus transfer device
JPS6049952B2 (en) Busy control method of memory control device
JP2825589B2 (en) Bus control method
JPS59144955A (en) Information processor
JPH0248733A (en) Information processor
JPH0234058B2 (en)
JPS6130296B2 (en)
JPH10247157A (en) Transaction processing system and its recovering method
JPH04332045A (en) Arithmetic processor
JPS589520B2 (en) storage controller
JPH043226A (en) Arithmetic processor
JPS59218555A (en) Microprogram control device
JPH04326144A (en) Memory bus error detection system