JPS6318776B2 - - Google Patents
Info
- Publication number
- JPS6318776B2 JPS6318776B2 JP57011631A JP1163182A JPS6318776B2 JP S6318776 B2 JPS6318776 B2 JP S6318776B2 JP 57011631 A JP57011631 A JP 57011631A JP 1163182 A JP1163182 A JP 1163182A JP S6318776 B2 JPS6318776 B2 JP S6318776B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- block
- input
- data transfer
- state
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0745—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in an input/output transactions management context
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Bus Control (AREA)
- Information Transfer Systems (AREA)
Description
【発明の詳細な説明】
この発明は、データ転送路に設けられたデー
タ・バツフア装置、特に、バツフア制御論理の誤
動作検出機能を改善したデータ・バツフア装置に
関するものである。DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a data buffer device provided on a data transfer path, and more particularly to a data buffer device with improved malfunction detection function of buffer control logic.
異なる転送方式をとり、異なる転送速度をもつ
2個の装置間でのデータ転送をさせるときには、
データ・バツフア装置が普通に使用されるもので
ある。データ・バツフア装置には、一般に、転送
データを一時的に記憶させておく記憶素子、受取
りデータの格納位置を指定する第1のアドレス・
ポインタ、送出データの読出し位置を指定する第
2のアドレス・ポインタ、バツフア内に貯蔵して
いるデータ量を表すデータ・カウンタ等が具備さ
れている。また、転送データの正当性を保証する
ための誤動作検出回路も重要な構成要素である。 When transferring data between two devices that use different transfer methods and have different transfer speeds,
Data buffer devices are commonly used. A data buffer device generally includes a storage element that temporarily stores transferred data, and a first address and a memory element that designates the storage location of received data.
It is provided with a pointer, a second address pointer that specifies the read position of the transmitted data, a data counter that indicates the amount of data stored in the buffer, and the like. Furthermore, a malfunction detection circuit for guaranteeing the validity of transferred data is also an important component.
従来からの誤動作検出のし方としては、パリテ
イチエツクによることが広く知られているけれど
も、上記のアドレス・ポインタおよびデータ・カ
ウンタに注目したときは、不正パリテイ以外の誤
動作、例えば、アドレス・ポインタおよびデー
タ・カウンタのトリガ信号の誤動作、アドレス・
ポインタ選択信号の誤動作等の、制御論理の異常
による誤動作の検出が困難であるという欠点があ
り、アドレス・ポインタおよびデータ・カウンタ
の各々についてのパリテイチエツク以外の考慮を
払うことが必要となるものである。 Although it is widely known that a parity check is a conventional method for detecting malfunctions, when we focus on the address pointers and data counters mentioned above, malfunctions other than incorrect parity, such as address pointer and data counter trigger signal malfunction, address
It has the disadvantage that it is difficult to detect malfunctions due to abnormalities in control logic, such as malfunctions of pointer selection signals, and it is necessary to take considerations other than parity checks for each address pointer and data counter. It is.
この発明の目的は、上記の欠点を除去するため
になされたものであつて、バツフア制御論理の誤
動作検出機能を大巾に改善したデータ・バツフア
装置を提供することにある。 SUMMARY OF THE INVENTION An object of the present invention has been made to eliminate the above-mentioned drawbacks, and it is an object of the present invention to provide a data buffer device in which the malfunction detection function of the buffer control logic is greatly improved.
格納アドレス・ポインタ、読出しアドレス・ポ
インタおよびデータ・カウンタを具備する上記の
如きデータ・バツフア装置にあつては、これら3
者の間に相互関係が潜在する。即ち、格納アドレ
ス・ポインタと読出しアドレス・ポインタとの差
は、貯蔵データ量を表すデータ・カウンタの内容
に等しい、という相互関係がある。 In the case of a data buffer device as described above, which is equipped with a storage address pointer, a read address pointer, and a data counter, these three
There is a latent mutual relationship between them. That is, there is a correlation in that the difference between the storage address pointer and the read address pointer is equal to the content of the data counter representing the amount of stored data.
この相互関係をバツフア制御論理の誤動作検出
のために利用し、上記3者について所定の演算、
照合機能をもたせる演算器をデータ・バツフア装
置に具備させることによつて、この発明の上記の
目的は達成されるものである。 This correlation is used to detect malfunctions in the buffer control logic, and predetermined calculations and
The above-mentioned object of the present invention can be achieved by equipping the data buffer device with an arithmetic unit having a collation function.
以下、この発明の実施例であるチヤネル・デー
タ・バツフア装置について説明する。 A channel data buffer device which is an embodiment of the present invention will be described below.
チヤネル・データ・バツフア装置は、主記憶装
置と入出力装置との間に設けられ、両装置間の転
送方式の相違および転送速度の相違を吸収する役
割を果すものである。なお、説明の便のために、
チヤネル・データ・バツフア装置と主記憶装置と
の間は32バイトを1単位(1ブロツクと呼ぶ)と
してデータ転送が行なわれ、チヤネル・データ・
バツフア装置と入出力装置との間は1バイトの単
位でデータ転送が行なわれるものとする。 A channel data buffer device is provided between a main storage device and an input/output device, and serves to absorb differences in transfer methods and transfer speeds between the two devices. For convenience of explanation,
Data is transferred between the channel data buffer device and the main storage device in units of 32 bytes (called 1 block).
It is assumed that data is transferred between the buffer device and the input/output device in units of 1 byte.
また、入出力動作のデータ転送には、次の3種
の様式がある。 Furthermore, there are the following three types of data transfer for input/output operations.
(1) WRITE(書込み)
主記憶装置の指定されたアドレス位置から上
昇順に、データを入出力装置に対して転送す
る。(1) WRITE Transfers data to the input/output device in ascending order from the specified address location in the main memory.
(2) READ(読取り)
入出力装置から受取つたデータを、指定され
たアドレス位置から上昇順に、主記憶装置に格
納する。(2) READ Stores the data received from the input/output device in the main memory in ascending order from the specified address position.
(3) READ・BACK(逆読取り)
入出力装置から受取つたデータを、指定され
たアドレス位置から下降順に、主記憶装置に格
納する。(3) READ/BACK (reverse reading) Stores the data received from the input/output device in the main memory in descending order from the specified address position.
第1図には、WRITE動作時における、デー
タ・バツフア装置内のアドレス・ポインタとデー
タ・カウンタとの内容の更新処理の概略が示され
ている。 FIG. 1 schematically shows the process of updating the contents of the address pointer and data counter in the data buffer device during a WRITE operation.
データ・バツフア(CBS)10は、最大記憶
容量256バイトを有する記憶ユニツトであり、ア
ドレス付けされた8個の連続したブロツクによつ
て構成されている。ブロツク・アドレス・レジス
タ(BLAR)20は、主記憶装置より受取る1
ブロツクのデータをCBS10に格納する際、ブ
ロツク位置を指定するポインタとして使用され、
CBS10に対する格納動作が終了すると+1さ
れる。バイト・アドレス・レジスタ(BAR)2
2は、入出力装置へ送出する1バイトのデータを
CBS10から読出す際、バイト位置を指定する
ポインタとして使用され、CBS10からの読出
し動作を終了すると+1される。データ・ブロツ
ク・カウンタ(DBC)24は、CBS10に貯蔵
されているデータ量をブロツク数で表すカウンタ
であり、BLAR20の更新時に+1され、BAR
22の更新後の下位5ビツトが全て“0”となつ
た時、即ち、1ブロツク内の最終データの読出し
動作が終了した時に−1される。 Data buffer (CBS) 10 is a storage unit having a maximum storage capacity of 256 bytes and is made up of eight consecutive addressed blocks. The block address register (BLAR) 20 receives one from main memory.
When storing block data in CBS10, it is used as a pointer to specify the block position.
When the storage operation for CBS10 is completed, it is incremented by 1. Byte address register (BAR) 2
2 sends 1 byte of data to the input/output device.
When reading from the CBS 10, it is used as a pointer to specify the byte position, and is incremented by 1 when the reading operation from the CBS 10 is completed. The data block counter (DBC) 24 is a counter that represents the amount of data stored in the CBS 10 in block numbers, and is incremented by 1 when the BLAR 20 is updated.
When the lower 5 bits after updating of 22 become all "0", that is, when the read operation of the final data in one block is completed, it is decremented by 1.
上記2個のレジスタおよびカウンタの内容の更
新状況を、図中斜線部のデータ転送を例にとつて
説明すると、入出力動作の開始時には、DBC2
4、BLAR20の全ビツト、およびBAR22の
上位3ビツト(ブロツク・アドレスに相当する)
は“0”に設定され、また、BAR22の下位5
ビツトはデータ転送開始アドレスの下位5ビツト
によつて初期設定される。続いて、主記憶装置よ
り第1のブロツクのデータを受取り、CBS10
への格納が終了すると、DBC24とBLAR20
とに対して+1されて、状態Aとなり、入出力装
置との間でのデータ転送が開始される。DBC2
4とBLAR20とが状態Aにあるままで、入出
力装置との間でのデータ転送が進行して、BAR
22がブロツク境界を越えた時、即ち、第1のブ
ロツクの最終データの読出し動作が終了して
BAR22が“00100000”となつた時に、DBC2
4は−1されて、状態Bに遷移する。状態Bにお
いて、主記憶装置から第2のブロツクのデータを
受取ると、DBC24とBLAR20との内容が更
新されて、状態Cに遷移し、更に入出力装置との
間でデータ転送が進行すると、状態Dに遷移し、
データ転送の終了まで続行する。 To explain the update status of the contents of the above two registers and counters using the data transfer shown in the shaded area as an example, at the start of input/output operation, DBC2
4. All bits of BLAR20 and upper 3 bits of BAR22 (corresponding to block address)
is set to “0”, and the lower 5 of BAR22
The bits are initialized by the lower five bits of the data transfer start address. Next, the data of the first block is received from the main memory, and the CBS10
When storage is completed, DBC24 and BLAR20
is incremented by +1 to enter state A, and data transfer with the input/output device is started. DBC2
4 and BLAR20 remain in state A, data transfer between them and the input/output device continues, and BAR
22 crosses the block boundary, that is, the read operation of the final data of the first block is completed.
When BAR22 becomes “00100000”, DBC2
4 is incremented by -1 and transitions to state B. In state B, when the second block of data is received from the main memory, the contents of DBC24 and BLAR20 are updated, and the state changes to state C. When the data transfer with the input/output device progresses, state Transition to D,
Continue until the end of data transfer.
一方、状態Aにおいて、入出力装置への1ブロ
ツクのデータ転送が終了するまでの間に、主記憶
装置から第2のブロツクのデータを受取ると、
DBC24とBLAR20との内容に再び+1がな
されて、状態Eに遷移する。そして、入出力装置
との間のデータ転送が進行してBAR22がブロ
ツク境界を越えると、DBC24の内容が更新さ
れて状態Fに、更に状態Dへと遷移する。 On the other hand, in state A, if a second block of data is received from the main memory until the transfer of one block of data to the input/output device is completed,
The contents of DBC 24 and BLAR 20 are again incremented by +1, and a transition is made to state E. Then, when the data transfer with the input/output device progresses and the BAR 22 crosses a block boundary, the contents of the DBC 24 are updated and the state changes to state F and then to state D.
この例においては、説明の便のために、データ
転送量が少なくされているが、どのような場合で
も、下記の相互関係の成立が認められる。 In this example, the amount of data transferred is reduced for convenience of explanation, but the following correlation is recognized to hold true in any case.
(1)BAR22(上位3ビツト)+DBC24=BLAR20
第2図には、READ動作のときの概略が示さ
れている。(1) BAR22 (upper 3 bits) + DBC24 = BLAR20 FIG. 2 shows an outline of the READ operation.
READ動作時には、BLAR20は、主記憶装
置へ転送すべき1ブロツクのデータをCBS10
から読出す際に、ブロツク位置を指定するポイン
タとして使用され、主記憶装置との間の転送動作
が終了すると、+1される。BAR22は、入出力
装置から受取る1バイトのデータをCBS10に
格納する際、バイト位置を指定するポインタとし
て使用され、CBS10に対する格納動作が終了
すると、+1される。DBC24は、CBS10から
主記憶装置へ転送すべきデータ量をブロツク数で
表すカウンタであり、BLAR20の内容更新時
に−1され、BAR22の内容更新後の下位5ビ
ツトが全て“0”となる(1ブロツク内の最終デ
ータの格納が終了)か、あるいは、入出力装置か
ら最後のデータを受取り、CBS10に対する格
納動作が終了すると、+1される。 During READ operation, BLAR20 transfers one block of data to the main memory to CBS10.
It is used as a pointer to specify the block position when reading from the main memory, and is incremented by 1 when the transfer operation with the main memory is completed. The BAR 22 is used as a pointer to specify the byte position when storing 1 byte of data received from the input/output device in the CBS 10, and is incremented by 1 when the storage operation for the CBS 10 is completed. The DBC24 is a counter that represents the amount of data to be transferred from the CBS10 to the main storage device in blocks, and is decremented by 1 when the content of the BLAR20 is updated, and the lower 5 bits of the BAR22 are all set to "0" after the content is updated (1 When the storage of the last data in the block is completed) or when the last data is received from the input/output device and the storage operation for the CBS 10 is completed, it is incremented by 1.
これらの更新状況を、図中斜線部のデータ転送
を例にとつて説明すると、入出力動作の開始時
に、WRITE動作の場合と同様な初期設定がなさ
れる。続いて、入出力装置との間でのデータ転送
が開始される。入出力装置との間でのデータ転送
が進行して、第1のブロツクの最終データ位置に
データが格納されると、BAR22が“00100000”
となり、ブロツク境界を越えると、DBC24の
内容が+1されて、状態Aに遷移する。この時点
において、主記憶装置との間で第1のブロツクの
データ転送が開始され、このデータ転送が終了す
るとBLAR20の内容が+1され、DBC24の
内容は−1されて、状態Bに遷移する。続いて、
入出力装置との間のデータ転送が進行すると状態
Cに、そして、第2のブロツクの最終データ位置
に最後のデータが格納されて、BAR22の内容
が“01000000”になると、DBC24の内容が更
新されて、状態Dに遷移する。ここで、主記憶装
置との間で第2のブロツクのデータ転送が再び開
始され、このデータ転送が終了すると、BLAR
20とDBC24との内容が更新されて、状態E
となり、READ動作が終了する。 To explain these update situations using the data transfer shown in the shaded area as an example, at the start of an input/output operation, initial settings similar to those for a WRITE operation are made. Subsequently, data transfer with the input/output device is started. When the data transfer with the input/output device progresses and the data is stored in the final data position of the first block, the BAR22 becomes “00100000”.
When the block boundary is crossed, the contents of the DBC 24 are incremented by 1 and the state changes to state A. At this point, data transfer of the first block with the main storage device is started, and when this data transfer is completed, the contents of BLAR20 are incremented by +1, the contents of DBC24 are incremented by -1, and a transition is made to state B. continue,
As the data transfer between the input and output device progresses, the state changes to state C, and when the last data is stored in the final data position of the second block and the content of BAR22 becomes "01000000", the content of DBC24 is updated. and transitions to state D. The data transfer of the second block to and from the main memory is now started again, and when this data transfer is finished, the BLAR
The contents of 20 and DBC24 are updated and state E
The READ operation ends.
一方、状態Aの時点において、主記憶装置との
データ転送が終了するまでの間に、入出力装置と
のデータ転送が進行して、第2のブロツクの最終
データ位置に最後のデータが格納され、BAR2
2の内容が“01000000”になると、DBC24の
内容が更新されて、状態Fに遷移する。ここで、
主記憶装置との間の第1のブロツクのデータ転送
が終了すると、BLAR20とDBC24との内容
が更新されて、状態Dになり、続いて第2のブロ
ツクのデータ転送が終了すると、状態Eへと遷移
して、READ動作が終了する。 On the other hand, at the time of state A, data transfer with the input/output device is progressing until the data transfer with the main storage device is completed, and the final data is stored in the final data position of the second block. , BAR2
When the contents of DBC 24 become "01000000", the contents of DBC 24 are updated and the state changes to state F. here,
When the data transfer of the first block to and from the main storage device is completed, the contents of BLAR20 and DBC24 are updated to state D, and then when the data transfer of the second block is completed, state E is entered. The READ operation ends.
これまでに述べてきたところは、入出力装置と
の間のデータ転送が、1ブロツク内の最終データ
位置にデータを格納して終了される場合を説明し
たものである。 What has been described so far is a case where data transfer between the input and output devices is completed by storing the data at the final data position within one block.
次に、入出力装置との間のデータ転送が1ブロ
ツク内の途中において終了される場合について考
察する。1ブロツク内の途中において最後のデー
タを入出力装置から受取つた場合、CBS10に
貯蔵されている途中までのデータを主記憶装置へ
転送する必要があり、DBC24の内容に+1が
なされる。しかしながら、更新後のBAR22は
ブロツク境界を越えず、上位3ビツトは変化しな
い。したがつて、1ブロツクの最終バイト位置で
入出力装置とのデータ転送が終了した場合に比べ
て、BAR22の上位3ビツトが1だけ少ないと
いう点で相違することとなる。 Next, consider the case where data transfer with the input/output device is terminated in the middle of one block. When the last data is received from the input/output device in the middle of one block, it is necessary to transfer the data stored in the CBS 10 up to the middle to the main memory, and the contents of the DBC 24 are incremented by +1. However, the updated BAR 22 does not cross the block boundary and the top three bits do not change. Therefore, compared to the case where data transfer with the input/output device ends at the last byte position of one block, the difference is that the upper three bits of BAR 22 are reduced by 1.
この例においては、説明の便のために、データ
転送量が少ないものにされたけれども、先に説明
されたところから、READ動作においては、下
記の2個の相互関係の成立が認められる。そし
て、入出力装置とのデータ転送終了時における
BAR22の内容を参照することにより識別可能
であることも認められる。更に具体的に言えば、
入出力装置とのデータ転送が終了していないか、
あるいは、BAR22の内容がブロツク境界(下
位5ビツトが全て“0”)を示している場合には、
(1)BAR22(上位3ビツト)−BCD24=BLAR20
が、また、入出力装置とのデータ転送が終了して
いて、かつ、BAR22がブロツク境界を示して
いない場合には、
(2) BAR22(上位3ビツト)−DBC24=BLA20−
1
が成立つている。 In this example, the amount of data transferred is set to be small for the convenience of explanation, but from what was explained earlier, it is recognized that the following two interrelationships are established in the READ operation. Then, at the end of data transfer with the input/output device,
It is also recognized that identification can be made by referring to the contents of BAR22. More specifically,
Is data transfer with the input/output device complete?
Alternatively, if the contents of BAR22 indicate a block boundary (lower 5 bits are all "0"), (1) BAR22 (upper 3 bits) - BCD24 = BLAR20 is also used for data transfer with the input/output device. has finished and BAR22 does not indicate a block boundary, (2) BAR22 (upper 3 bits) - DBC24 = BLA20 -
1 is established.
第3図には、READ・BACK動作のときの概
略が示されている。 FIG. 3 shows an outline of the READ/BACK operation.
READ動作とREAD・BACK動作との間のバ
ツフア制御上の相違点は、入出力装置から受取る
データをCBS10へ格納する際、前者にあつて
はブロツク・アドレスが000から順次上昇し、後
者にあつてはブロツク・アドレスが111から順次
下降して格納されることである。したがつて、
BLAR20の全ビツトならびにBAR22の上位
3ビツトが“1”に初期設定されること、
BLAR20ならびにBAR22の内容の更新に際
して−1されること、およびBAR22がブロツ
ク境界を越えた場合に、下位5ビツトの全てが
“1”になること、を除けば、READ動作の場合
と同様である。 The difference in buffer control between READ operation and READ/BACK operation is that when data received from an input/output device is stored in CBS10, in the former case, the block address increases sequentially from 000, and in the latter case, the block address increases sequentially from 000. The first is that the block addresses are stored in descending order from 111. Therefore,
All bits of BLAR20 and the upper 3 bits of BAR22 are initially set to “1”;
It is the same as the READ operation, except that the contents of BLAR20 and BAR22 are updated by -1, and when BAR22 crosses a block boundary, all of the lower 5 bits become "1". .
図中斜線部のデータ転送を例にとつて、各レジ
スタ、カウンタの内容の更新状況を説明すると、
入出力動作の開始時に、BLAR20の全ビツト
ならびにBAR22の上位3ビツトは“1”に、
BAR22の下位5ビツトはデータ転送開始アド
レスの下位5ビツトに、そして、DBC24の全
ビツトは“0”に初期設定される。続いて、入出
力装置との間でデータ転送が開始される。入出力
装置との間のデータ転送が進行し、第1のブロツ
ク(ブロツク・アドレス111)の最終データ位置
にデータが格納されてBAR22の内容が
“11011111”となり、ブロツク境界を越えると、
DBC24の内容が+1されて、状態Aに遷移す
る。この時点において、主記憶装置との間で第1
のブロツクのデータ転送が開始され、このデータ
転送が終了すると、BLAR20とDBC24との
内容が−1されて、状態Bに遷移する。続いて入
出力装置との間のデータ転送が進行すると状態C
に、そして、第2のブロツクの最終データ位置に
最後のデータが格納されて、状態Dに遷移する。
ここで、主記憶装置との間で第2のブロツクのデ
ータ転送が再び開始され、このデータ転送が終了
すると、BLAR20とDBC24との内容が更新
されて状態Eとなり、READ・BACK動作は終
了する。 Taking the data transfer shown in the shaded area as an example, the update status of the contents of each register and counter will be explained as follows.
At the start of input/output operation, all bits of BLAR20 and the upper 3 bits of BAR22 are set to “1”.
The lower 5 bits of BAR22 are initialized to the lower 5 bits of the data transfer start address, and all bits of DBC24 are initialized to "0". Subsequently, data transfer with the input/output device is started. As the data transfer with the input/output device progresses, the data is stored in the final data position of the first block (block address 111), the contents of BAR22 becomes "11011111", and when the block boundary is crossed,
The contents of DBC24 are incremented by 1 and the state changes to state A. At this point, the first
Data transfer of the block starts, and when this data transfer is completed, the contents of BLAR 20 and DBC 24 are incremented by 1, and a transition is made to state B. Then, when data transfer between the input and output devices progresses, state C is reached.
Then, the final data is stored in the final data position of the second block, and a transition is made to state D.
Here, the data transfer of the second block with the main storage device is started again, and when this data transfer is finished, the contents of BLAR20 and DBC24 are updated to state E, and the READ/BACK operation ends. .
一方、状態Aの時点において、主記憶装置との
間のデータ転送が終了するまでの間に入出力装置
とのデータ転送が進行して、第2のブロツクの最
終データ位置に最後のデータが格納され、BAR
22の内容が“10111111”になると、DBC24
の内容が更新されて、状態Fに遷移する。ここ
で、主記憶装置との間の第1のブロツクのデータ
転送が終了すると、BLAR20とDBC24との
内容が更新されて状態Dに、続いて第2のブロツ
クのデータ転送が終了すると状態Eへと遷移し
て、READ・BACK動作は終了する。 On the other hand, at the time of state A, the data transfer with the input/output device is progressing until the data transfer with the main memory is completed, and the last data is stored in the final data position of the second block. and BAR
When the content of 22 becomes “10111111”, DBC24
The contents of are updated and the state transitions to state F. When the data transfer of the first block to and from the main storage device is completed, the contents of BLAR20 and DBC24 are updated to state D, and then when the data transfer of the second block is completed, state E is entered. Then, the READ/BACK operation ends.
これまでに述べたところは、入出力装置との間
のデータ転送が1ブロツク内の最終データ位置に
データを格納して終了する場合について説明され
たものである。 What has been described so far is the case where the data transfer between the input and output devices ends after storing the data at the final data position within one block.
次に、READ動作の場合と同様に、入出力装
置との間のデータ転送が1ブロツク内の途中で終
了する場合について考察すると、1ブロツクの最
終データ位置で入出力装置との間のデータ転送が
終了した場合に比べて、BAR22の上位3ビツ
トの内容が1だけ多くなるという点で相違してい
る。 Next, as in the case of READ operation, if we consider the case where the data transfer with the input/output device ends in the middle of one block, the data transfer with the input/output device ends at the final data position of one block. The difference is that the content of the upper 3 bits of BAR 22 is increased by 1 compared to when the process is completed.
この例においては、説明の便のために、データ
転送量が少なくされているけれども、上述された
ところから、READ・BACK動作においては、
下記の2個の相互関係の成立が認められる。そし
て、入出力装置との間のデータ転送終了時におけ
るBAR22の内容を参照することによる識別が
可能であることも認められる。更に具体的に言え
ば、入出力装置との間のデータ転送が終了してい
ないか、あるいは、BAR22がブロツク境界
(下位5ビツトが全て“1”)を示している場合に
は、
(1)BAR22(上位3ビツト)+DBC24=BLAR20
が、また、入出力装置との間のデータ転送が終了
していて、かつ、BAR22がブロツク境界を示
していない場合には、
(2)BAR22(上位3ビツト)+DBC24=BLAR20+
1
が成立つている。 In this example, the amount of data transferred is reduced for convenience of explanation, but from the above, in READ/BACK operations,
It is recognized that the following two mutual relationships are established. It is also recognized that identification can be made by referring to the contents of the BAR 22 at the end of data transfer with the input/output device. More specifically, if the data transfer with the input/output device has not been completed or if the BAR22 indicates a block boundary (lower 5 bits are all "1"), (1) BAR22 (upper 3 bits) + DBC24 = BLAR20, and if the data transfer with the input/output device has finished and BAR22 does not indicate a block boundary, (2) BAR22 (upper 3 bits) )+DBC24=BLAR20+
1 is established.
以上が、チヤネル・データ・バツフア装置にお
ける各アドレス・レジスタならびにデータ・カウ
ンタの間に潜在する相互関係の全容である。 The above is a complete overview of the interrelationships that exist between each address register and data counter in a channel data buffer device.
第4図には、BLAR20、BAR22および
DBC24の内容の間の相互関係を調べるための
照合回路のブロツク図が示されている。 Figure 4 shows BLAR20, BAR22 and
A block diagram of a matching circuit for examining the correlation between the contents of DBC 24 is shown.
BLAR20、BAR22およびDBC24の動作
は前述されたとおりである。演算器26は、線4
1を介してBAR22からバイト・アドレスの上
位3ビツトを、また、線43を介してDBC24
からデータ・ブロツク・カウントを受取り、バツ
フア制御部32より線53を介して支えられる入
出力動作の識別信号を参照して、両者についての
加減算を行う。更に具体的に言えば、WRITE動
作およびREAD・BACK動作においては、
BAR22(上位3ビツト)+DBC24
の、また、READ動作においては、
BAR22(上位3ビツト)−DBC24
の演算を行う。その演算結果は、線45を介して
比較器30に支えられる。 The operations of BLAR 20, BAR 22 and DBC 24 are as described above. The arithmetic unit 26 is connected to the line 4
1 from BAR 22 and DBC 24 via line 43.
It receives the data block count from the buffer controller 32 and performs addition and subtraction on both by referring to the input/output operation identification signal supported via the line 53. More specifically, in the WRITE operation and READ/BACK operation, BAR22 (upper 3 bits) + DBC24 is calculated, and in the READ operation, BAR22 (higher 3 bits) - DBC24 is calculated. The result of the calculation is provided to the comparator 30 via line 45.
また、演算器28は、線47を介してBLAR
20からブロツク・アドレスを受取り、バツフア
制御部32より線53を介して支えられる入出力
動作の識別信号と、線55を介して支えられるデ
ータ転送の状態表示信号とを参照して、ブロツ
ク・アドレスに対して+1/+0/−1の演算を
行う。更に具体的に言えば、READ動作におい
て、入出力装置との間のデータ転送が1ブロツク
の途中で終了している場合には、
BLAR20−1
の、また、READ・BACK動作において、入出
力装置との間のデータ転送が1ブロツクの途中で
終了している場合には、
BLAR20+1
の、そして、上記以外の場合には、
BLAR20+0
の演算を行う。その演算結果は、線49を介して
比較器30に支えられる。 Further, the computing unit 28 connects BLAR via a line 47.
20, the buffer controller 32 receives the block address by referring to the input/output operation identification signal supported via the line 53 and the data transfer status indication signal supported via the line 55. +1/+0/-1 calculations are performed for . More specifically, in a READ operation, if the data transfer between the input and output devices ends in the middle of one block, BLAR20-1, and also in READ/BACK operations, If the data transfer between the two blocks ends in the middle of one block, BLAR20+1 is calculated, and in other cases, BLAR20+0 is calculated. The result of the calculation is provided to the comparator 30 via line 49.
そして、比較器30は、演算器26と演算器2
8との演算結果を照合し、照合結果を線51を介
してバツフア制御部32に支える。バツフア制御
部32は、照合結果を参照することにより、
BLAR20、BAR20およびDBC24のいずれ
かの誤動作を検出することができる。 The comparator 30 includes the arithmetic unit 26 and the arithmetic unit 2.
8 and sends the comparison result to the buffer control section 32 via a line 51. By referring to the matching results, the buffer control unit 32
Malfunction of any one of BLAR 20, BAR 20 and DBC 24 can be detected.
以上、説明してきたところから明らかなよう
に、この発明にしたがつて構成されたデータ・バ
ツフア装置は、格納アドレス・ポインタ、読出し
アドレス・ポインタおよびデータ・カウンタの間
の相互関係をチエツクすることにより、各アドレ
ス・ポインタならびにデータ・カウンタ自体の障
害、あるいは、これらの周辺の制御論理の障害を
検出することが可能となり、転送データの信頼性
を向上させる上で著しい効果があるものである。 As is clear from the foregoing description, the data buffer device constructed according to the present invention performs , it becomes possible to detect failures in each address pointer and data counter themselves, or failures in the control logic surrounding these, which has a significant effect on improving the reliability of transferred data.
第1図は、WRITE動作における、BLAR2
0、BAR22およびDBC24の状態遷移図、第
2図はREAD動作におけるBLAR20、BAR2
2およびDBC24の状態遷移図、第3図は
READ・BACK動作におけるBLAR20、BAR
22およびDBC24の遷移図、第4図はBLAR
20、BAR22およびDBC24の3者間の相互
関係照合回路のブロツク図である。
10:データ・バツフア(CBS)、20:ブロ
ツク・アドレス・レジスタ(BLAR)、22:バ
ツフア・アドレス・レジスタ(BAR)、24:デ
ータ・ブロツク・カウンタ(DBC)、26,2
8:演算器、30:比較器、32:バツフア制御
部。
Figure 1 shows BLAR2 in WRITE operation.
0, BAR22 and DBC24 state transition diagram, Figure 2 shows BLAR20 and BAR2 in READ operation.
2 and DBC24 state transition diagram, Figure 3 is
BLAR20, BAR in READ/BACK operation
22 and DBC24 transition diagram, Figure 4 is BLAR
20, a block diagram of a correlation checking circuit between three parties, BAR 22 and DBC 24. 10: Data buffer (CBS), 20: Block address register (BLAR), 22: Buffer address register (BAR), 24: Data block counter (DBC), 26,2
8: Arithmetic unit, 30: Comparator, 32: Buffer control unit.
Claims (1)
設けられたデータ・バツフア装置において、一方
側の装置から受取るデータの格納位置を指定する
第1のポインタと、他方側の装置へ送出するデー
タの読出し位置を指定する第2のポインタと、貯
蔵されているデータ量を表すカウンタと、該第
1、第2のポインタの内容から求められるデータ
数が該カウンタの保持するデータ数と一致してい
るかどうかを調べ、一致していない時は誤動作発
生を表す信号を出力する手段とを有することを特
徴とするデータ・バツフア装置。1. In a data buffer device installed in the middle of a data transfer path connecting two devices, a first pointer designating the storage location of data received from one device and a pointer for sending data to the other device. A second pointer that specifies the data read position, a counter that indicates the amount of stored data, and the number of data determined from the contents of the first and second pointers matches the number of data held by the counter. 1. A data buffer device comprising means for checking whether or not the numbers match, and outputting a signal indicating the occurrence of a malfunction when they do not match.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57011631A JPS58129648A (en) | 1982-01-29 | 1982-01-29 | Data buffer device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57011631A JPS58129648A (en) | 1982-01-29 | 1982-01-29 | Data buffer device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS58129648A JPS58129648A (en) | 1983-08-02 |
| JPS6318776B2 true JPS6318776B2 (en) | 1988-04-20 |
Family
ID=11783282
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP57011631A Granted JPS58129648A (en) | 1982-01-29 | 1982-01-29 | Data buffer device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS58129648A (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0752441B2 (en) * | 1985-12-12 | 1995-06-05 | 三菱電機株式会社 | Vector arithmetic controller |
| JPS6461847A (en) * | 1987-09-01 | 1989-03-08 | Nec Corp | Dma control circuit |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS49112543A (en) * | 1973-02-23 | 1974-10-26 | ||
| JPS607812B2 (en) * | 1977-07-11 | 1985-02-27 | 富士電機株式会社 | Data buffering device |
-
1982
- 1982-01-29 JP JP57011631A patent/JPS58129648A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS58129648A (en) | 1983-08-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4062059A (en) | Information processing system | |
| EP0468454B1 (en) | Interrupt controller | |
| US4231089A (en) | Data processing system with apparatus for correcting microinstruction errors | |
| CA1297198C (en) | Program mode access control system | |
| US4498178A (en) | Data error correction circuit | |
| US6321361B1 (en) | Process for detecting errors in a serial link of an integrated circuit and device for implementing the process | |
| US5561672A (en) | Apparatus for preventing computer data destructively read out from storage unit | |
| JPS6318776B2 (en) | ||
| JPH0316655B2 (en) | ||
| JPS6236575B2 (en) | ||
| JP3887059B2 (en) | Data writing method, data reading method, and memory circuit | |
| CN117521570A (en) | Bus timeout detection circuit, method, chip and electronic device | |
| JPS5872233A (en) | Channel device | |
| JP2558152B2 (en) | Counter error detector | |
| JPH0348543B2 (en) | ||
| JPS63187943A (en) | Communication control equipment | |
| JPH07210471A (en) | Information processing equipment | |
| JPH01169654A (en) | Asynchronous data transmission control system | |
| JPS6144340B2 (en) | ||
| JPS6058743A (en) | Serial bus interface | |
| JPS5872263A (en) | Data correcting device | |
| JPH0786789B2 (en) | Real-time timer register update control method | |
| JPS58219646A (en) | Pipeline control method | |
| JPS59160898A (en) | Fault diagnostic device of storage device | |
| JPH029251A (en) | Framing error status circuit |