JPH0421896B2 - - Google Patents
Info
- Publication number
- JPH0421896B2 JPH0421896B2 JP60015891A JP1589185A JPH0421896B2 JP H0421896 B2 JPH0421896 B2 JP H0421896B2 JP 60015891 A JP60015891 A JP 60015891A JP 1589185 A JP1589185 A JP 1589185A JP H0421896 B2 JPH0421896 B2 JP H0421896B2
- Authority
- JP
- Japan
- Prior art keywords
- entry
- data
- pointer
- identifier
- buffer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 239000000872 buffer Substances 0.000 claims description 74
- 238000000034 method Methods 0.000 claims description 11
- 238000012790 confirmation Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 description 15
- 102100039307 Nuclear prelamin A recognition factor Human genes 0.000 description 8
- 101710112231 Nuclear prelamin A recognition factor Proteins 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/122—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はデータ転送制御方式、とくにデータ処
理システムと端末装置、あるいは端末装置と端末
装置間におけるデータの送信/受信の制御を行な
うデータ転送制御方式に関するものである。[Detailed Description of the Invention] [Industrial Application Field] The present invention relates to a data transfer control method, particularly a data transfer control method that controls data transmission/reception between a data processing system and a terminal device, or between a terminal device and a terminal device. It is related to the method.
データ処理システムとワークステーシヨンのよ
うな端末装置との間のデータ転送において、情報
フレーム受信に対する受信確認の応答フレーム送
信は一般にソフトウエアが情報フレームの処理を
行なつたときに行なわれる。
In data transfer between a data processing system and a terminal device such as a workstation, a response frame acknowledging receipt of an information frame is generally transmitted when software processes the information frame.
通常、相手側(端末装置)は応答フレームの返
送を受けとつてから次の情報フレームの送信処理
を開始するため、上述の方法では端末装置側の高
速転送能力を充分引き出すことはできない。従つ
て高速転送を実現するためには、情報フレームを
受信するとソフトウエアレベルの処理に移る前の
フアームウエアレベルで応答フレームを返すこと
が考えられるが、この場合には受信した情報フレ
ームの処理をいつソフトウエアが行なつているか
をフアームウエアが認識できず、このため、相手
側から次の情報フレームが受信されたときに、ま
だソフトウエア処理のすんでいない情報フレーム
の格納領域をこわすおそれもある。 Normally, the other party (terminal device) starts transmitting the next information frame after receiving the response frame, so the above method cannot fully utilize the high-speed transfer capability of the terminal device. Therefore, in order to achieve high-speed transfer, when an information frame is received, a response frame may be returned at the firmware level before moving on to software-level processing, but in this case, the processing of the received information frame is The firmware may not be able to recognize when the software is processing, and as a result, when the next information frame is received from the other party, there is a risk that the storage area for information frames that have not yet been processed by the software may be destroyed. .
これを避けるために、情報フレームの格納領域
を複数個設けることも考えられるが、フアームウ
エアによる応答フレーム処理とソフトウエアによ
る情報フレーム受信処理との同期がとれず、高速
なデータ転送処理ではバツフアの数がいくらあつ
ても不充分であるという事態が発生する。 To avoid this, it is possible to provide multiple storage areas for information frames, but the response frame processing by the firmware and the information frame reception processing by the software cannot be synchronized, and the buffer is too large for high-speed data transfer processing. A situation may arise where no matter how many there are, they are insufficient.
本発明の目的は上述の従来の欠点を除去して、
情報フレームを格納するデータバツフアを複数個
設け、これによつて相手側送信処理フアームウエ
アの受信処理とソフトウエアの受信処理との間で
このデータバツフアの容量(個数)の許す範囲内
で柔軟性をもつた同期をとることにより、より効
率的はデータ転送制御方式を提供するものであ
る。
The object of the present invention is to eliminate the above-mentioned conventional drawbacks and to
A plurality of data buffers for storing information frames are provided, thereby providing flexibility within the capacity (number) of these data buffers between the receiving processing of the sending processing firmware of the other party and the receiving processing of the software. This provides a more efficient data transfer control method.
本発明の方式は、マイクロプログラム制御型デ
ータ処理システムと端末装置との間のデータ転送
制御において前記データ処理システムと前記端末
装置間のデータ到着の確認は情報フレームを受信
した前記データ処理システムが受信確認フレーム
を前記端末装置に送信することによりデータ転送
の同期をとるデータ転送制御方式であつて、前記
データ処理システムは前記端末装置から送られる
情報フレームを格納するための複数個のデータバ
ツフアと、前記複数個のデータバツフアと同じ数
だけ設けられたエントリ中に格納され前記対応す
るバツフアのビジー/フリー状態を指示するビジ
ー/フリー識別子と、前記エントリ中に格納され
前記対応するバツフアのアドレスをポイントする
バツフアアドレスポインタと、前記エントリの一
つをポイントする第1および第2の二つのエント
リポインタとを備え、
前記端末装置よりの情報フレームを受信すると
マイクロプログラム制御のもとにこれを前記第1
のエントリポインタのポイントするエントリ中の
前記バツフアアドレスポインタのポイントする前
記データバツフアに転送格納し、該エントリ中の
前記識別子をビジー状態にセツトし、次のエント
リ中の識別子のビジー/フリーを判別してこれに
よつて前記端末装置に対する受信確認フレームの
送信の可否と前記第1のエントリポインタの更新
の可否とを決定し、前記データバツフアの一つに
転送格納された情報フレームのソフトウエアによ
る処理の終了にともなつて出されるソフトウエア
命令によつてフアームウエアが前記第2のエント
リポインタのポイントする前記エントリ中の前記
識別子のフリー状態へのリセツトと第2のエント
リポインタの更新とを制御する。
In the method of the present invention, in data transfer control between a microprogram-controlled data processing system and a terminal device, confirmation of data arrival between the data processing system and the terminal device is received by the data processing system that has received the information frame. A data transfer control method that synchronizes data transfer by transmitting a confirmation frame to the terminal device, wherein the data processing system includes a plurality of data buffers for storing information frames sent from the terminal device; a busy/free identifier stored in an entry provided in the same number as a plurality of data buffers and indicating the busy/free state of the corresponding buffer; and a busy/free identifier stored in the entry and pointing to the address of the corresponding buffer. and a first and second entry pointer pointing to one of the entries, and upon receiving an information frame from the terminal device, transfers the information frame to the first entry pointer under microprogram control.
transfers and stores in the data buffer pointed to by the buffer address pointer in the entry pointed to by the entry pointer, sets the identifier in the entry to a busy state, and determines whether the identifier in the next entry is busy or free. Thereby, it is determined whether or not to transmit the reception confirmation frame to the terminal device and whether or not the first entry pointer can be updated, and the processing by the software of the information frame transferred and stored in one of the data buffers is determined. The firmware controls resetting the identifier in the entry pointed to by the second entry pointer to a free state and updating the second entry pointer by a software command issued upon completion.
次に本発明を図面を参照して詳細に説明する。 Next, the present invention will be explained in detail with reference to the drawings.
第1図は本発明の一実施例を示すブロツク図で
ある。本実施例は、演算処理装置1(以後EPU
1)、入出力制御装置2(以後IOP2)、バツフア
領域30が設定される主記憶装置3(以後MMU
3)が共通のシステムバス1000を介して接続さ
れ、さらに、IOP2は、第1図に示すように、複
数の入出力ポート21−1〜21−nを介してそ
れぞれ端末装置4−1〜4−n(以後WS4−1
〜WS4−n)と接続されている。 FIG. 1 is a block diagram showing one embodiment of the present invention. This embodiment uses arithmetic processing unit 1 (hereinafter referred to as EPU).
1), an input/output control device 2 (hereinafter referred to as IOP2), and a main storage device 3 (hereinafter referred to as MMU) in which a buffer area 30 is set.
3) are connected via a common system bus 1000, and furthermore, as shown in FIG. -n (hereafter WS4-1
~WS4-n).
第2図に、このIOP2の詳細を示す。IOP2は
マイクロプログラム制御の入出力制御装置であ
り、マイクロプログラム実行制御部22、システ
ムバス制御部23、ローカルメモリ24を有し、
データ転送制御部25を含む入出力ポート21を
介して対応するWS4と接続されている。 Figure 2 shows details of this IOP2. The IOP 2 is a microprogram-controlled input/output control device, and includes a microprogram execution control section 22, a system bus control section 23, and a local memory 24.
It is connected to the corresponding WS 4 via an input/output port 21 including a data transfer control section 25 .
第3図にIOP2内のローカルメモリ24に設定
されるデータ転送を制御するための各種のパラメ
ータ類を示す。これらは書込エントリポインタ2
41、読出しエントリポインタ242、ビジー/
フリー識別子243−1〜243−4、データ転
送長(レングス)244−1〜244−4、およ
びバツフアアドレスポインタ245−1〜245
−4を含んでいる。 FIG. 3 shows various parameters set in the local memory 24 in the IOP 2 for controlling data transfer. These are write entry pointers 2
41, read entry pointer 242, busy/
Free identifiers 243-1 to 243-4, data transfer lengths 244-1 to 244-4, and buffer address pointers 245-1 to 245
Contains -4.
本実施例においてはMMU3のバツフア領域3
0内に設けられる4個のデータバツフアに対応し
て、これらのパラメータは、第3図に示すよう
に、4個のエントリに分割してそれぞれ格納さ
れ、例えば第1エントリには、ビジー/フリー識
別子243−1、レングス244−1およびバツ
フアアドレスポインタ245−1が格納されてい
て、これ等はMMU3の中のバツフア領域30中
に設けられる第1のデータバツフアに関する情報
を保持するパラメータであり、以下同様である。
書込エントリポインタ241および読出しエント
リポインタ242は、それぞれこれら4個のエン
トリの中の一つのエントリをポイントしており、
後述するアルゴリズムに従つてその内容(ポイン
トするエントリの番号)が更新されるポインタで
ある。これらの各種のパラメータの値の設定や更
新はIOP2内で走行しているマイクロプログラム
によつて処理される。 In this embodiment, the buffer area 3 of MMU 3
As shown in FIG. 3, these parameters are divided into four entries and stored in correspondence with the four data buffers provided in 0. For example, the first entry contains a busy/free identifier. 243-1, length 244-1, and buffer address pointer 245-1 are stored, and these are parameters that hold information regarding the first data buffer provided in the buffer area 30 in the MMU 3. The same is true.
The write entry pointer 241 and the read entry pointer 242 each point to one of these four entries,
This is a pointer whose contents (the number of the entry it points to) are updated according to an algorithm that will be described later. Setting and updating of the values of these various parameters are processed by a microprogram running within the IOP2.
ローカルメモリ24は、さらにこのマイクロプ
ログラムのワークエリアとしても使用される。 The local memory 24 is also used as a work area for this microprogram.
さて、本実施例の動作は下記の通りである。 Now, the operation of this embodiment is as follows.
EPU1は、MMU3内にあるソフトウエア命令
を読出し実行するとともに、命令が入出力命令
(以下I/O命令)であれば指定されたIOP2に
対しI/O命令を発行する。EPU1から発行さ
れたI/O命令は、システムバス1000を介して
IOP2のシステムバス制御部23に伝えられ、
IOP2のマイクロ命令実行制御部22により解釈
され、対応するマイクロプログラムを実行するこ
とにより処理される。 The EPU 1 reads and executes a software instruction in the MMU 3, and if the instruction is an input/output instruction (hereinafter referred to as an I/O instruction), it issues an I/O instruction to a designated IOP 2. I/O commands issued from EPU1 are sent via system bus 1000.
It is transmitted to the system bus control unit 23 of IOP2,
It is interpreted by the microinstruction execution control unit 22 of the IOP 2 and processed by executing the corresponding microprogram.
さて、このデータ処理装置が、例えばワークス
テーシヨンWS4−1から不定期に送信される情
報フレームの受信を行なう場合の処理について詳
述する。 Now, a detailed description will be given of the processing when this data processing apparatus receives information frames irregularly transmitted from, for example, the work station WS4-1.
システムの立ち上げ時に、EPU1から発せら
れるI/O命令により、前述のIOP2のローカル
メモリ24に設定される各種のパラメータは以下
のように初期設定される。すなわち、ビジー/フ
リー識別子243−1〜243−4はすべてフリ
ー状態の“0”に初期設定され、また各バツフア
アドレスポインタ245−1〜245−4はそれ
ぞれMMU3のバツフア領域30中に設けられた
対応するデータバツフアをポイントするように設
定され、また書込エントリポインタ241および
読出しエントリポインタ242はともに第1のエ
ントリ(つまり、ビジー/フリー識別子243−
1、レングス244−1およびバツフアアドレス
ポインタ245−1を含むエントリ)をポイント
するように初期設定される。 When the system is started up, various parameters set in the local memory 24 of the IOP 2 described above are initialized as follows by an I/O command issued from the EPU 1. That is, the busy/free identifiers 243-1 to 243-4 are all initialized to "0" in the free state, and each buffer address pointer 245-1 to 245-4 is provided in the buffer area 30 of the MMU 3. The write entry pointer 241 and the read entry pointer 242 are both set to point to the corresponding data buffer of the first entry (that is, the busy/free identifier 243-
1, length 244-1, and buffer address pointer 245-1).
さて、WS4−1からの情報フレームの受信を
IOP2内のマイクロプログラム実行制御部22が
認識すると、IOP2内の入力データ処理マイクロ
プログラムは、現在の書込エントリポインタ24
1でポイントされるエントリの、バツフアアドレ
スポインタ245がポイントするMMU3内のデ
ータバツフアに、受信した情報フレームを転送格
納するための指示を入出力ポート21−1内のデ
ータ転送制御部25に対して発行し、このエント
リのビジー/フリー識別子243を“1”すなわ
ちビジー状態にセツトし、ついで、現在の書込エ
ントリポインタ241がポイントするエントリの
次のエントリの識別子243のビジー/フリーを
判別する。そしてもしこの識別子243が“0”
すなわちフリーの状態であつたら、WS4−1に
対して応答フレームを送信するための指示を入出
力ポート21−1に対して発行し、ついで書込エ
ントリポイント241を、次のエントリをポイン
トするように更新する(各エントリはエンドレス
構成になつていて、第4のエントリの次は第1の
エントリをポイントするように更新される)。 Now, receive the information frame from WS4-1.
When the microprogram execution control unit 22 in the IOP2 recognizes the input data processing microprogram in the IOP2, the current write entry pointer 24
Instructs the data transfer control unit 25 in the input/output port 21-1 to transfer and store the received information frame to the data buffer in the MMU 3 pointed to by the buffer address pointer 245 of the entry pointed to by 1. The busy/free identifier 243 of this entry is set to "1", that is, the busy state, and then the busy/free status of the identifier 243 of the entry next to the entry pointed to by the current write entry pointer 241 is determined. And if this identifier 243 is “0”
That is, if it is in a free state, it issues an instruction to the input/output port 21-1 to send a response frame to WS4-1, and then points the write entry point 241 to the next entry. (Each entry has an endless configuration, and the fourth entry is updated to point to the first entry.)
またもし、現時点で次のエントリの識別子24
3が“1”すなわちビジー状態を示している場合
には、応答フレームの送信および書込エントリポ
インタ241の更新は行なわない。 Also, the identifier of the next entry at the moment is 24
If 3 is "1", that is, indicates a busy state, the response frame is not transmitted and the write entry pointer 241 is not updated.
こうして、次のエントリの識別子243がフリ
ーを指示する場合には、ソフトウエアによる処理
を待つことなく、フアームウエアレベルで応答フ
レームの送出がなされ、これを受信した相手側は
送出すべきデータがあると、直ちに次の情報フレ
ームを送出し、この情報フレームが受信される
と、これは上述のフリーと指示された次のエント
リのバツフアアドレスポインタが指示するMMU
3のデータバツフアに転送格納される。かくして
次のエントリの識別子243がフリーと指示され
ている間は、ソフトウエア処理とは無関係に相手
側からの情報フレームを受信するごとに直ちに応
答フレームが返送されて次の送信を催促し、相手
側のデータ転送能力を充分に引き出すようにする
ことができる。 In this way, when the identifier 243 of the next entry indicates free, a response frame is sent at the firmware level without waiting for processing by the software, and the other party that receives it has data to send. and immediately sends the next information frame, and when this information frame is received, it is sent to the MMU pointed to by the buffer address pointer of the next entry marked as free.
The data is transferred and stored in the data buffer No. 3. Thus, while the next entry's identifier 243 is designated as free, each time an information frame is received from the other party, regardless of software processing, a response frame is immediately returned to prompt the next transmission, and the other party It is possible to fully utilize the data transfer capability of the side.
なお、情報フレームを受信したときに次のエレ
トリの識別子243がビジーであり、このため応
答フレームの返送と、書込エントリポインタ24
1の更新とを行なわなかつた場合には、次のエン
トリの識別子243がビジーからフリーに変化す
る時点まで待ち、この変化が行なわれた時点で、
応答フレームの返送と書込エントリポインタ24
1の更新とを行なう。 Note that when the information frame is received, the next eletri identifier 243 is busy, so the response frame is returned and the write entry pointer 24 is busy.
1 is not updated, wait until the next entry's identifier 243 changes from busy to free, and when this change occurs,
Response frame return and write entry pointer 24
1 update.
一方、受信してMMU3のバツフア領域30に
設けられたデータバツフアに格納されたこれら情
報フレームはソフトウエアにより処理されるが、
このソフトウエアによる処理と上述のフアームウ
エアによる処理との同期は以下のようにして行な
われる。 On the other hand, these information frames received and stored in the data buffer provided in the buffer area 30 of the MMU 3 are processed by software.
Synchronization between this software processing and the firmware processing described above is performed as follows.
まず最初に、読出しエントリポインタ242の
指示するエントリの識別子243が、前述のよう
にして情報フレームの受信格納によつてビジーに
変化すると、マイクロプログラムは、MMU3の
バツフア領域30の中のこのエントリのバツフア
アドレスポインタ245でポイントされるデータ
バツフアに格納されている情報フレームをソフト
ウエア領域に転送し、ソフトウエアに対し転送終
了の割込みをかける。 First of all, when the identifier 243 of the entry pointed to by the read entry pointer 242 changes to busy due to the reception and storage of an information frame as described above, the microprogram reads this entry in the buffer area 30 of the MMU 3. The information frame stored in the data buffer pointed to by the buffer address pointer 245 is transferred to the software area, and an interrupt is issued to the software to end the transfer.
ソフトウエアがこの割込みを受けつけて、この
ソフトウエア領域に転送された情報フレームの処
理を終了すると、次のデータを読むための
READ命令をIOP2に対して発行する。 When the software accepts this interrupt and finishes processing the information frame transferred to this software area, it is ready to read the next data.
Issue a READ command to IOP2.
このREAD命令を受けるとIOP2にマイクロプ
ログラムは、現在の読出しエントリポインタ24
2の指示するエントリのバツフアアドレスポイン
タ245がポイントするMMU3のデータバツフ
アに格納されている情報フレームの処理がすんだ
ことに対応して、このエントリの識別子243を
“0”にクリアし、読出しエントリポインタ24
2を次のエントリを指示するように更新し、この
更新されたエントリの識別子のビジー/フリーを
判別する。もしこれがビジーの場合には、このエ
ントリのバツフアアドレスポインタ245のポイ
ントするMMU3のバツフア領域30中のデータ
バツフアに格納されている情報フレームをソフト
ウエア領域に転送してソフトウエアに対して転送
終了の割込をかける。 When this READ command is received, the microprogram in IOP2 stores the current read entry pointer 24.
In response to the completion of processing of the information frame stored in the data buffer of MMU 3 pointed to by the buffer address pointer 245 of the entry indicated by 2, the identifier 243 of this entry is cleared to "0" and the read entry pointer 24
2 to indicate the next entry, and determine whether the identifier of this updated entry is busy or free. If this is busy, the information frame stored in the data buffer in the buffer area 30 of MMU3 pointed to by the buffer address pointer 245 of this entry is transferred to the software area, and the software is notified of the end of the transfer. Interrupt.
またもし、このエントリの識別子243が
“0”すなわちフリーを指示している場合には、
この識別子243がビジーになる時点まで待つ
て、ビジーになつた時点で上述のように、このエ
ントリのバツフアアドレスポインタ245の指示
するMMU3のバツフア領域30中のデータバツ
フアに格納されている情報フレームをソフトウエ
ア領域に転送してソフトウエアに対して転送終了
の割込みをかける。 If the identifier 243 of this entry is "0", that is, free, then
Wait until this identifier 243 becomes busy, and at that point, as described above, read the information frame stored in the data buffer in the buffer area 30 of the MMU 3 pointed to by the buffer address pointer 245 of this entry. The data is transferred to the software area and a transfer end interrupt is generated to the software.
こうして割込みを受けたソフトウエアが、ソフ
トウエア領域に転送された情報フレームを処理
し、この処理が修了するごとに、READ命令が
発行され、このREAD命令を受けたマイクロプ
ログラムは現在の読出しエントリポインタ242
のポイントするエントリの識別子243を“0”
にクリアして読出しエントリポインタ242を次
のエントリをポイントするように更新し、この更
新されたエントリの識別子243のビジー/フリ
ーを判別し、もしこれが“1”すなわちビジーで
あれば、このエントリのバツフアアドレスポイン
タ245の指示するMMU3のバツフア領域30
中のデータバツフアに格納されている情報フレー
ムをソフトウエア領域に転送して転送終了報告を
行なう。またもし更新されたエントリの識別子2
43が“0”の場合にはこれが“1”になるまで
待つてから上述と同じ処理を行なう。 The software that received the interrupt processes the information frame transferred to the software area, and each time this processing is completed, a READ command is issued, and the microprogram that receives this READ command stores the current read entry pointer. 242
Set the identifier 243 of the entry pointed to by “0”
is cleared to update the read entry pointer 242 to point to the next entry, determine whether the identifier 243 of this updated entry is busy or free, and if it is "1", that is, busy, the entry pointer 242 of this entry is cleared. Buffer area 30 of MMU 3 pointed to by buffer address pointer 245
The information frame stored in the internal data buffer is transferred to the software area and a transfer completion report is made. Identifier 2 of the updated entry
If 43 is "0", the same processing as described above is performed after waiting until it becomes "1".
かくしてソフトウエアとフアームウエアとの同
期が保たれ、ソフトウエアに許されるかぎりのス
ピードで転送終了報告を受けた情報フレームを処
理し、処理が終ると次に処理すべき情報フレーム
に対するREAD命令を発行し、フアームウエア
はREAD命令を受けた時点で、今回処理の完了
したバツフアに対応するエントリの識別子243
を〓0”にクリアし、次のバツフアに処理すべき
情報フレームがすでに存在するか否か判別し(つ
まり読出しエントリポインタ242を更新し、更
新されたエントリポインタ242のポイントする
エントリの識別子243の“0”/“1”を制御
し)、もしバツフアに受信データがすでに存在し
ていれば直ちにこれをソフトウエア領域に転送し
て転送終了割込みをソフトウエアに対して発行
し、またもし次のバツフアに処理すべきデータが
まだ受信格納されていない場合にはこの受信格納
が行なわれるのを待つて(つまりこの新らしいエ
ントリの識別子243が“0”から“1”に変化
するのを待つて)以上の処理を実行する。 In this way, the synchronization between the software and the firmware is maintained, and the information frame that receives the transfer completion report is processed as quickly as the software allows, and when the processing is completed, a READ command is issued for the next information frame to be processed. However, when the firmware receives the READ command, it uses the identifier 243 of the entry corresponding to the buffer for which processing has been completed this time.
is cleared to 0'', and it is determined whether there is already an information frame to be processed in the next buffer (that is, the read entry pointer 242 is updated, and the identifier 243 of the entry pointed to by the updated entry pointer 242 is If the received data already exists in the buffer, it immediately transfers it to the software area and issues a transfer end interrupt to the software. If the data to be processed has not yet been received and stored in the buffer, wait for this reception and storage to occur (that is, wait for the identifier 243 of this new entry to change from "0" to "1"). ) Execute the above processing.
こうしてソフトウエアは許されるかぎりのスピ
ードで受信された情報フレームがあるかぎり次次
の処理を続行し、一方フアームウエアは、バツフ
ア領域30中のデータバツフアに余裕があるかぎ
り、ソフトウエアの処理とは関係なく情報フレー
ムを受けとるごとにこれをデータバツフアに格納
し応答フレームを返して相手側からの送信を催促
する。 Thus, the software continues processing one information frame after another as long as there are information frames received as fast as it will allow, while the firmware is independent of the software processing as long as there is enough data buffer in the buffer area 30. Each time an information frame is received, it is stored in the data buffer and a response frame is returned to prompt transmission from the other party.
かくして相手側の送信と、フアームウエア処理
と、ソフトウエア処理との間にはバツフア領域3
0中に設けられたデータバツフアの個数で許され
る範囲内の柔軟性をもつ同期が行なわれ、それぞ
れ最も高能率で動作するようなデータ転送方式を
実現することができる。 Thus, there is a buffer area 3 between the other party's transmission, firmware processing, and software processing.
Synchronization is performed with flexibility within the range allowed by the number of data buffers provided in the data buffer 0, and a data transfer system that operates with the highest efficiency can be realized.
なお、以上は本発明の一実施例を示したもので
本発明は以上の実施例に限定されるものではな
い。 Note that the above is an example of the present invention, and the present invention is not limited to the above example.
例えば、上述の実施例においてはデータバツフ
アの数を4個としたがこれは一例を示したものに
過ぎない。 For example, in the embodiment described above, the number of data buffers is four, but this is merely an example.
また上述の実施例においては、更新された読出
しエントリポインタ242の指示する識別子24
3が“1”の場合に、このエントリのバツフアア
ドレスポインタ245のポイントするデータバツ
フアに格納された情報フレームをフアームウエア
がソフトウエア領域に転送し、転送終了の割込み
をソフトウエアに対してかけるとしたが、このか
わりに、更新された読出しエントリポインタ24
2の指示する識別子243が“1”の場合に、フ
アームウエアが直ちにソフトウエアに対して割込
みをかけ、この割込によつてこのエントリのバツ
フアアドレスポインタ245の内容をソフトウエ
アに通知し、このデータバツフアに格納されてい
る情報フレームのソフトウエア領域への実際の転
送とこれに続く処理とはソフトウエアが行なうよ
うにすることもできる。すなわち、ソフトウエア
はこの処理がすむとREAD命令を出すが、この
READ命令を受けると、フアームウエアは現在
の読出しエントリポインタ242のポイントする
エントリの識別子を“0”にクリアし、読出しエ
ントリポインタ242を次のエントリをポイント
するように更新し、更新されたエントリの識別子
243が“1”の場合には上述のようにソフトウ
エアに対して割込みをかけこの割込みによつてこ
のエントリのバツフアアドレスポインタ245の
内容をソフトウエアに通知する。また更新された
エントリの識別子243が“0”の場合には、こ
れが“1”になるのを待つてソフトウエアに対し
て割込みをかけ、この割込みによつてこのエント
リのバツフアアドレスポインタ245の内容をソ
フトウエアに通知する。このようにしてデータバ
ツフアからソフトウエア領域への転送はソフトウ
エアで行なうようにすることもできる。 Further, in the above embodiment, the identifier 24 pointed to by the updated read entry pointer 242
3 is "1", the firmware transfers the information frame stored in the data buffer pointed to by the buffer address pointer 245 of this entry to the software area, and issues an interrupt to the software to end the transfer. However, instead of this, the updated read entry pointer 24
If the identifier 243 indicated by 2 is "1", the firmware immediately interrupts the software, uses this interrupt to notify the software of the contents of the buffer address pointer 245 of this entry, The actual transfer of the information frame stored in this data buffer to the software area and the subsequent processing may be performed by software. In other words, the software issues a READ command after completing this process, but this
Upon receiving the READ command, the firmware clears the identifier of the entry pointed to by the current read entry pointer 242 to "0", updates the read entry pointer 242 to point to the next entry, and updates the read entry pointer 242 to point to the next entry. When the identifier 243 is "1", an interrupt is made to the software as described above, and the contents of the buffer address pointer 245 of this entry are notified to the software by this interrupt. If the identifier 243 of the updated entry is "0", wait until it becomes "1" and interrupt the software, and this interrupt will cause the buffer address pointer 245 of this entry to change. Notify the software of the content. In this way, the transfer from the data buffer to the software area can also be performed by software.
以上のように本発明によると、マイクロプログ
ラム制御型データ処理システムと端末装置との間
のデータ転送制御において、データ処理システム
の入出力制御装置のフアームウエアが情報フレー
ムの受信を認識したときに無条件に応答フレーム
を返送するのではなく、このフアームウエアは情
報フレーム格納のための複数のデータバツフアを
有していて次の空バツフアがある間はソフトウエ
ア処理と無関係に直ちに応答フレームを返送し、
データバツフアに余裕がなくて止むを得ない場合
にかぎり、ソフトウエアによる現在処理中の受信
フレームの処理が終了するまで応答フレームの返
送を待たせるようにして同期をとるものである。
これにより相手側の送信処理とフアームウエア受
信処理とソフトウエア受信処理との間に、データ
バツフアの個数により許される範囲内の柔軟性を
もつて同期が行なわれ、情報フレームの相続く次
次の転送によりソフトウエアの処理が間に合わ
ず、データバツフアに余裕が無くなるまでは、端
末装置側の送信データ処理とデータ処理システム
側のフアームウエアの受信処理とによつて達し得
られる最高スピードによるデータ転送を実現する
ことができる。
As described above, according to the present invention, in data transfer control between a microprogram-controlled data processing system and a terminal device, when the firmware of the input/output control device of the data processing system recognizes reception of an information frame, Rather than returning a response frame to a condition, this firmware has multiple data buffers for storing information frames and immediately returns a response frame regardless of software processing while there is another empty buffer;
Only when it is unavoidable because there is not enough room in the data buffer, synchronization is achieved by making the return of the response frame wait until the software finishes processing the received frame currently being processed.
As a result, synchronization is performed with flexibility within the range allowed by the number of data buffers between the transmission processing, firmware reception processing, and software reception processing of the other party, and the subsequent transfer of information frames is performed. Until the software processing cannot be completed in time and there is no more room in the data buffer, data transfer is achieved at the highest speed that can be achieved by the transmission data processing on the terminal device side and the firmware reception processing on the data processing system side. be able to.
第1図は本発明の一実施例を示すブロツク図、
第2図はこの実施例の入出力制御装置の詳細を示
すブロツク図および第3図は前記入出力制御装置
のローカルメモリ中に設定される各種のパラメー
タおよびポインタを示す図である。
図において、1……演算処理装置(EPU)、2
……入出力制御装置(IOP)、3……主記憶装置
(MMU)、4,4−1〜4−n……端末装置
(WS)、21−1〜21−n……入出力ポート、
22……マイクロプログラム実行制御部、23…
…システムバス制御部、24……ローカルメモ
リ、25……データ転送制御部、30……バツフ
ア領域、241……書込エントリポインタ、24
2……読出しエントリポインタ、243−1〜2
43−4……ビジー/フリー識別子、244−1
〜244−4……データ転送長(レングス)、2
45−1〜245−4……バツフアアドレスポイ
ンタ。
FIG. 1 is a block diagram showing one embodiment of the present invention;
FIG. 2 is a block diagram showing details of the input/output control device of this embodiment, and FIG. 3 is a diagram showing various parameters and pointers set in the local memory of the input/output control device. In the figure, 1... Arithmetic processing unit (EPU), 2
... Input/output control unit (IOP), 3... Main memory unit (MMU), 4,4-1 to 4-n... Terminal device (WS), 21-1 to 21-n... Input/output port,
22...Microprogram execution control unit, 23...
...System bus control unit, 24...Local memory, 25...Data transfer control unit, 30...Buffer area, 241...Write entry pointer, 24
2...Read entry pointer, 243-1 to 2
43-4...Busy/free identifier, 244-1
~244-4...Data transfer length (length), 2
45-1 to 245-4... Buffer address pointer.
Claims (1)
ムと端末装置との間のデータ転送制御において前
記データ処理システムと前記端末装置間のデータ
到着の確認は情報フレームを受信した前記データ
処理システムが受信確認フレームを前記端末装置
に送信することによりデータ転送の同期をとるデ
ータ転送制御方式であつて、 前記データ処理システムは前記端末装置から送
られる情報フレームを格納するための複数個のデ
ータバツフアと、前記複数個のデータバツフアと
同じ数だけ設けられたエントリ中に格納され前記
対応するバツフアのビジー/フリー状態を指示す
るビジー/フリー識別子と、前記エントリ中に格
納され前記対応するバツフアのアドレスをポイン
トするバツフアアドレスポインタと、前記エント
リの一つをポイントする第1および第2の二つの
エントリポインタとを備え、 前記端末装置よりの情報フレームを受信すると
マイクロプログラム制御のもとにこれを前記第1
のエントリポイントのポイントするエントリ中の
前記バツフアアドレスポインタのポイントする前
記データバツフアに転送格納し、該エントリ中の
前記識別子をビジー状態にセツトし、次のエント
リ中の識別子のビジー/フリーを判別してこれに
よつて前記端末装置に対する受信確認フレームの
送信の可否と前記第1のエントリポインタの更新
の可否とを決定し、前記データバツフアの一つに
転送格納された情報フレームのソフトウエアによ
る処理の終了にともなつて出されるソフトウエア
命令によつてフアームウエアが前記第2のエント
リポインタのポイントする前記エントリ中の前記
識別子のフリー状態へのリセツトと第2のエント
リポインタの更新とを制御するようにしたことを
特徴とするデータ転送制御方式。[Scope of Claims] 1. In data transfer control between a microprogram-controlled data processing system and a terminal device, confirmation of data arrival between the data processing system and the terminal device is performed by the data processing system that has received the information frame. A data transfer control method that synchronizes data transfer by transmitting a reception confirmation frame to the terminal device, wherein the data processing system includes a plurality of data buffers for storing information frames sent from the terminal device; A busy/free identifier stored in an entry provided in the same number as the plurality of data buffers and indicating the busy/free state of the corresponding buffer, and a busy/free identifier stored in the entry and pointing to the address of the corresponding buffer. a buffer address pointer and two first and second entry pointers pointing to one of the entries, and upon receiving an information frame from the terminal device, transfers the information frame to the first entry pointer under microprogram control.
transfers and stores in the data buffer pointed to by the buffer address pointer in the entry pointed to by the entry point, sets the identifier in the entry to a busy state, and determines whether the identifier in the next entry is busy or free. Thereby, it is determined whether or not to transmit the reception confirmation frame to the terminal device and whether or not the first entry pointer can be updated, and the processing by the software of the information frame transferred and stored in one of the data buffers is determined. The firmware controls resetting the identifier in the entry pointed to by the second entry pointer to a free state and updating the second entry pointer according to a software command issued upon termination. A data transfer control method characterized by:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60015891A JPS61175747A (en) | 1985-01-30 | 1985-01-30 | Data transfer control system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60015891A JPS61175747A (en) | 1985-01-30 | 1985-01-30 | Data transfer control system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS61175747A JPS61175747A (en) | 1986-08-07 |
JPH0421896B2 true JPH0421896B2 (en) | 1992-04-14 |
Family
ID=11901409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP60015891A Granted JPS61175747A (en) | 1985-01-30 | 1985-01-30 | Data transfer control system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS61175747A (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5668859A (en) * | 1979-11-12 | 1981-06-09 | Fujitsu Ltd | Communication system between computer systems |
JPS56135230A (en) * | 1980-03-24 | 1981-10-22 | Nippon Telegr & Teleph Corp <Ntt> | Communication controller |
JPS58170254A (en) * | 1982-03-31 | 1983-10-06 | Fujitsu Ltd | Data reception controlling system |
-
1985
- 1985-01-30 JP JP60015891A patent/JPS61175747A/en active Granted
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5668859A (en) * | 1979-11-12 | 1981-06-09 | Fujitsu Ltd | Communication system between computer systems |
JPS56135230A (en) * | 1980-03-24 | 1981-10-22 | Nippon Telegr & Teleph Corp <Ntt> | Communication controller |
JPS58170254A (en) * | 1982-03-31 | 1983-10-06 | Fujitsu Ltd | Data reception controlling system |
Also Published As
Publication number | Publication date |
---|---|
JPS61175747A (en) | 1986-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5247616A (en) | Computer system having different communications facilities and data transfer processes between different computers | |
US6115803A (en) | Parallel computer which verifies direct data transmission between local memories with a send complete flag | |
JPH04290150A (en) | Device and method for controlling bidirectional fifo as interface between two buses in multi-task system | |
US6874040B2 (en) | Employing a data mover to communicate between dynamically selected zones of a central processing complex | |
US5930483A (en) | Method and apparatus for communications control on a small computer system interface | |
JPH07210519A (en) | Data transfer control method and transmission/reception controller | |
US5613141A (en) | Data storage subsystem having dedicated links connecting a host adapter, controller and direct access storage devices | |
EP0164972A2 (en) | Shared memory multiprocessor system | |
JPH0421896B2 (en) | ||
JPS623361A (en) | Status report system | |
JPH02230345A (en) | Inter-device communication/cache coincidence processing system | |
JPH01191967A (en) | Data communication processing system | |
JPS5921051B2 (en) | Communication control device | |
JPH04274524A (en) | System for controlling inter-process communication | |
JPS59146347A (en) | Communication system between processes | |
EP0424715A2 (en) | Computer system | |
JPH0418500B2 (en) | ||
JPH01292559A (en) | Message processing system and data transfer system for parallel computers | |
JPH0414378B2 (en) | ||
JPH01125643A (en) | Control system for divided transmission/reception of message | |
JPS61264829A (en) | Control system for interruption of network controller | |
JPH06250964A (en) | Controller | |
JPH0381856A (en) | Data transfer control system | |
JPH02114294A (en) | Graphic display device | |
JPH0766356B2 (en) | Channel device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EXPY | Cancellation because of completion of term |