Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPH0831076B2 - Input/Output Processor - Google Patents
[go: Go Back, main page]

JPH0831076B2 - Input/Output Processor - Google Patents

Input/Output Processor

Info

Publication number
JPH0831076B2
JPH0831076B2 JP1238043A JP23804389A JPH0831076B2 JP H0831076 B2 JPH0831076 B2 JP H0831076B2 JP 1238043 A JP1238043 A JP 1238043A JP 23804389 A JP23804389 A JP 23804389A JP H0831076 B2 JPH0831076 B2 JP H0831076B2
Authority
JP
Japan
Prior art keywords
data
input
output
transfer
bytes
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 - Fee Related
Application number
JP1238043A
Other languages
Japanese (ja)
Other versions
JPH03100751A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP1238043A priority Critical patent/JPH0831076B2/en
Publication of JPH03100751A publication Critical patent/JPH03100751A/en
Publication of JPH0831076B2 publication Critical patent/JPH0831076B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Transfer Systems (AREA)

Description

【発明の詳細な説明】 技術分野 本発明は入出力処理装置に関し、特に主記憶装置と入
出力装置との間のデータ転送を制御する入出力処理装置
と主記憶装置との間のデータ転送方式に関する。
Description: TECHNICAL FIELD The present invention relates to an input/output processing device, and more particularly to a data transfer method between an input/output processing device and a main storage device for controlling data transfer between the input/output device and a main storage device.

従来技術 従来、主記憶装置と入出力処理装置との間のデータ転
送においては、入力転送の場合、入出力装置から受信し
たデータが一定のバイト数に達したときに該データを所
定のバイト数単位(通常は1ワード単位)でメモリに書
込み、出力転送の場合、データバッファ内に貯えられた
データが入出力装置に送られてデータバッファ内に一定
のバイト数の空きができたときに所定のバイト数(通常
は1ワード)のデータを主記憶装置から読出してデータ
バッファに補充するという方式がとられている。
Conventionally, data transfer between a main memory device and an input/output processing device involves, in the case of input transfer, when a certain number of bytes of data received from the input/output device are received, the data is written to memory in units of a certain number of bytes (usually in units of one word), and in the case of output transfer, when data stored in a data buffer is sent to the input/output device and a certain number of bytes become free in the data buffer, the certain number of bytes (usually one word) of data is read from the main memory device and the data buffer is replenished.

このような従来のデータ転送では、出力転送の開始時
などにデータバッファが空きまたは空きに近い状態のと
きに、主記憶装置にデータの供給能力があっても、1回
のメモリアクセスではデータバッファにデータを充分供
給することができず、メモリアクセスを数回繰返さなけ
ればならない。
In such conventional data transfers, when the data buffer is empty or nearly empty, such as at the start of an output transfer, even if the main memory has the capacity to supply data, a single memory access is not enough to supply data to the data buffer, and memory access must be repeated several times.

また、入力転送の場合においても、データバッファに
詰まったデータを主記憶装置に書込むために数回のメモ
リアクセスが必要であり、結果的にデータオーバランが
発生しやすいという欠点がある。
Also, in the case of input transfer, several memory accesses are required to write the data clogged in the data buffer to the main storage device, resulting in the disadvantage that data overruns are likely to occur.

さらに、1回のメモリアクセスで常に数ワードのデー
タの読出しまたは書込みを行うブロック転送方式では、
データバッファから主記憶装置への書込みまたは主記憶
装置からデータバッファへの読出しのときに時間を要
し、データ転送が一時的に中断する可能性が高いという
欠点がある。
Furthermore, in the block transfer method where a few words of data are always read or written in one memory access,
This method has the disadvantage that it takes time to write data from the data buffer to the main memory or read data from the main memory to the data buffer, and there is a high possibility that data transfer will be temporarily interrupted.

発明の目的 本発明は上記のような従来のものの欠点を除去すべく
なされたもので、入出力装置の転送速度に応じたデータ
転送を行うことができ、データ転送開始時に効率のよい
メモリアクセスを行うことができる入出力処理装置の提
供を目的とする。
OBJECT OF THEINVENTION The present invention has been made to eliminate the drawbacks of the conventional technology as described above, and has an object to provide an input/output processing device that can transfer data according to the transfer speed of the input/output device and can perform efficient memory access when the data transfer starts.

発明の構成 本発明による入出力処理装置は、主記憶装置と入出力
装置との間で転送されかつ前記主記憶装置への1回のア
クセスに対して予め設定された所定バイト数のn倍(n
は4以上の整数)単位で転送されるデータを一時保持す
るデータバッファを有する入出力処理装置であって、前
記データバッファに保持されたデータ量を計数する計数
手段と、前記計数手段の計数値に応じて1回のアクセス
で転送される前記主記憶装置との間のデータ転送量を決
定する決定手段と、前記決定手段で決定された前記デー
タ転送量に応じて前記主記憶装置に対する読出し書込み
を制御する制御手段とを有することを特徴とする。
The input/output processing device according to the present invention transfers data between a main storage device and an input/output device, and receives n times (n times) a predetermined number of bytes per access to the main storage device.
an input/output processing device having a data buffer for temporarily holding data transferred in units of data (units of data being 4 or more), the device comprising: a counting means for counting the amount of data held in the data buffer; a determination means for determining the amount of data transfer between the device and the main memory device to be transferred in one access in accordance with the count value of the counting means; and a control means for controlling reading and writing to the main memory device in accordance with the amount of data transfer determined by the determination means.

実施例 次に、本発明の一実施例について図面を参照して説明
する。
Next, an embodiment of the present invention will be described with reference to the drawings.

第1図は本発明の一実施例の構成を示すブロック図で
あり、第2図は本発明の一実施例のシステム構成を示す
ブロック図である。これらの図において、入出力装置3
は共通部1と入出力ポート部2−1〜2−4とから構成
され、共通部1は中央処理装着5に接続されている主記
憶装置4と接続され、入出力ポート部2−1〜2−4各
々はI/Oインタフェース100を介して入出力装置6−1〜
6−4と接続されている。
Fig. 1 is a block diagram showing the configuration of an embodiment of the present invention, and Fig. 2 is a block diagram showing the system configuration of an embodiment of the present invention. In these figures, an input/output device 3
The common unit 1 is connected to a main memory device 4 connected to a central processing unit 5, and the input/output port units 2-1 to 2-4 are connected to input/output devices 6-1 to 6-4 via an I/O interface 100.
It is connected to 6-4.

ここで、主記憶装置4は1回のアクセスにより4バイ
ト(1ワード),8バイト(2ワード),12バイト(3ワ
ード),16バイト(4ワード)の読出しまたは書込みが
可能となっている。
Here, the main memory device 4 is capable of reading or writing 4 bytes (1 word), 8 bytes (2 words), 12 bytes (3 words), or 16 bytes (4 words) in one access.

共通部1のデータ転送制御部10はメモリアドレスやデ
ータ長の保持更新、メモリインタフェース制御、入出力
ポート部2−1〜2−4とのインタフェース制御、デー
タ転送シーケンス制御を行う。
A data transfer control unit 10 in the common unit 1 holds and updates memory addresses and data lengths, controls the memory interface, controls the interface with the input/output port units 2-1 to 2-4, and controls the data transfer sequence.

また、データ転送制御部10は入出力処理装置3を制御
するマイクロプロセッサ(図示せず)とインタフェース
を介して接続されているが、本図においてはそのインタ
フェースを図示していない。
The data transfer control unit 10 is also connected to a microprocessor (not shown) that controls the input/output processing device 3 via an interface, but this interface is not shown in the figure.

入力データレジスタ(IB)11は内部データバス13を介
して入出力ポート部2−1のデータバッファ21および他
の入出力ポート部2−2〜2−4から受取ったデータ、
すなわち主記憶装置4に書込むデータを一時的に格納す
る。
The input data register (IB) 11 receives data from the data buffer 21 of the input/output port unit 2-1 and the other input/output ports 2-2 to 2-4 via the internal data bus 13.
That is, the data to be written to the main memory device 4 is temporarily stored.

出力データレジスタ(OB)12は主記憶装置4から読出
したデータを一時的に格納し、内部データバス14を介し
て入出力ポート部2−1のデータバッファ21および他の
入出力ポート部2−2〜2−4に出力する。
An output data register (OB) 12 temporarily stores data read from the main storage device 4, and outputs the data via an internal data bus 14 to a data buffer 21 of the input/output port unit 2-1 and to the other input/output ports 2-2 to 2-4.

優先判定回路15は入出力ポート部2−1の入出力ポー
ト制御部20および他の入出力ポート部2−2〜2−4の
入出力ポート制御部(図示せず)からのメモリリクエス
トに対して最優先のものに許可を与え、該入出力ポート
部2−1〜2−4からのメモリリクエストをデータを転
送制御部10に送出するとともに、該入出力ポート部2−
1〜2−4からのアクセスバイトコードおよびその出力
データ転送フラグを選択回路16,17を介してデータ転送
制御部10に送出するよう制御する。
The priority decision circuit 15 gives permission to the memory request with the highest priority from the input/output port control unit 20 of the input/output port unit 2-1 and the input/output port control units (not shown) of the other input/output ports 2-2 to 2-4, sends the memory request data from the input/output ports 2-1 to 2-4 to the transfer control unit 10, and
The access bytecodes from 1 to 2-4 and their output data transfer flags are sent to the data transfer control unit 10 via the selection circuits 16 and 17.

入出力ポート制御部20は入出力ポート部2−1を制御
し、データ転送シーケンス制御や入出力インタフェース
制御を行う。
The input/output port control unit 20 controls the input/output port unit 2-1, and performs data transfer sequence control and input/output interface control.

メモリポインタ(MR)22は主記憶装置4とのデータ転
送を制御する4ビットのポインタである。
The memory pointer (MR) 22 is a 4-bit pointer that controls data transfer with the main memory 4 .

出力転送の場合、メモリポインタ22の値は主記憶装置
4から読出したデータを書込むべきデータバッファ21の
先頭アドレスを示し、入力転送の場合、メモリポインタ
22の値はデータバッファ21内に格納されているデータを
主記憶装置4に書込むとき、データバッファ21から読出
すデータの先頭アドレスを保持し、主記憶装置4とのデ
ータ転送の進行に伴って更新される。
In the case of an output transfer, the value of the memory pointer 22 indicates the top address of the data buffer 21 to which the data read from the main memory 4 should be written. In the case of an input transfer, the value of the memory pointer
The value of 22 holds the leading address of data to be read from the data buffer 21 when data stored in the data buffer 21 is written to the main memory 4, and is updated as the data transfer with the main memory 4 progresses.

入出力インタフェースポインタ(PP)23はI/Oインタ
フェース100上のデータ転送を制御する5ビットのポイ
ンタである。
The I/O interface pointer (PP) 23 is a 5-bit pointer that controls data transfer on the I/O interface 100 .

出力転送の場合、入出力インタフェースポインタ23の
値は入出力装置6−1にデータを送出するときにデータ
バッファ21から読出すデータのアドレスを示し、入力転
送の場合、入出力インタフェースポインタ23の値は入出
力装置6−1から受信したデータを書込むべきデータバ
ッファ21のアドレスを示し、入出力装置6−1とのデー
タ転送の実行に伴って逐次更新される。
In the case of an output transfer, the value of the I/O interface pointer 23 indicates the address of the data to be read from the data buffer 21 when sending the data to the I/O device 6-1, and in the case of an input transfer, the value of the I/O interface pointer 23 indicates the address of the data buffer 21 into which the data received from the I/O device 6-1 should be written, and is updated successively as data transfer with the I/O device 6-1 is executed.

データバッファ21は16バイトからなっており、出力デ
ータレジスタ12を介して入力される主記憶装置4からの
データを選択回路27を介して1バイトずつ受取り、入出
力装置6−1に出力するデータを選択回路28を介して1
バイトずつデータアウトレジスタ(DTO)30に出力す
る。
The data buffer 21 is made up of 16 bytes, and receives data from the main memory 4 input via the output data register 12, one byte at a time, via a selection circuit 27, and outputs data to the input/output device 6-1, one byte at a time, via a selection circuit 28.
The data is output to the data out register (DTO) 30 byte by byte.

また、データバッファ21から読出されたデータはドラ
イバ29および内部データバス13を介して入力データレジ
スタ11に出力される。
The data read from the data buffer 21 is output to the input data register 11 via the driver 29 and the internal data bus 13 .

データアウトレジスタ30に格納されたデータバッファ
21からの1バイトのデータは、ドライバ32およびI/Oイ
ンタフェース100を介して入出力装置6−1に送出され
る。
Data buffer stored in the data out register 30
One byte of data from 21 is sent via driver 32 and I/O interface 100 to input/output device 6-1.

データインレジスタ(DTI)31にはI/Oインタフェース
100およびレシーバ33を介して受信した入出力装置6−
1からの1バイトのデータが格納され、そのデータは選
択回路27を介してデータバッファ21に書込まれる。
Data In Register (DTI) 31 is an I/O interface
100 and the input/output device 6-
1 to 1 byte of data is stored, and the data is written to the data buffer 21 via the selection circuit 27.

減算器24はメモリポインタ22の値と入出力インタフェ
ースポインタ23の値との差を計算し、その計算結果は差
分ポインタ(DP)25に格納される。差分ポインタ25の値
は入出力ポート制御部20および変換回路26に出力され
る。
A subtractor 24 calculates the difference between the value of the memory pointer 22 and the value of the input/output interface pointer 23, and the calculation result is stored in a differential pointer (DP) 25. The value of the differential pointer 25 is output to the input/output port control unit 20 and a conversion circuit 26.

入出力ポート制御部20は差分ポインタ25の値と入出力
インタフェースポインタ23の最上位ビットの値とからデ
ータバッファ21に空きがあるか否か、または格納されて
いるデータがあるか否かを判断し、空きがあれば、また
は格納されているデータがあればメモリリクエストを優
先判定回路15に出力して主記憶装置4に対するデータの
読出しまたは書込みを要求するとともに、出力データ転
送フラグを選択回路17を介してデータ転送制御部10に出
力する。
The input/output port control unit 20 determines whether there is free space in the data buffer 21 or whether there is data stored therein, based on the value of the differential pointer 25 and the value of the most significant bit of the input/output interface pointer 23, and if there is free space or data stored therein, outputs a memory request to the priority determination circuit 15 to request reading or writing of data from or to the main memory device 4, and also outputs an output data transfer flag to the data transfer control unit 10 via the selection circuit 17.

変換回路26は差分ポインタ25の値を2ビットの情報に
エンコードし、該情報をアクセスバイトコードとして選
択回路16を介してデータ転送制御部10に出力する。
The conversion circuit 26 encodes the value of the differential pointer 25 into 2-bit information, and outputs the information to the data transfer control unit 10 via the selection circuit 16 as an access bytecode.

上述の主記憶装置4とデータバッファ21との間のデー
タ転送は4バイトの整数倍(但し、最大16バイト)を1
単位として行われ、入出力装置6−1とデータバッファ
21との間のデータ転送は1バイト単位で行われる。
The data transfer between the main memory 4 and the data buffer 21 is performed in units of an integer multiple of 4 bytes (up to 16 bytes).
The input/output device 6-1 and the data buffer
Data transfer between the 21 and the host computer is performed in units of one byte.

尚、第1図においては入出力ポート部2−1の各回路
のみを図示しており、他の入出力ポート部2−2〜2−
4の各回路は図示していないが、他の入出力ポート部2
−2〜2−4の構成は入出力ポート部2−1の構成と同
じであり、その動作も同様である。
In FIG. 1, only the circuits of the input/output port unit 2-1 are shown, and the other input/output port units 2-2 to 2-
Although the circuits of the input/output port unit 2 are not shown in the figure,
The configurations of -2 to 2-4 are the same as that of the input/output port section 2-1, and their operations are also the same.

第3図は第1図の差分ポインタ25の値とデータバッフ
ァ21のデータ量およびアクセスバイトコードとの関係を
示す図である。図において、差分ポインタ25の値が“00
00"のときに出力転送であればデータバッファ21のデー
タ量は15バイトであり、入力転送であればデータバッフ
ァ21のデータ量は1バイトである。
3 is a diagram showing the relationship between the value of the differential pointer 25 in FIG. 1, the amount of data in the data buffer 21, and the access byte code. In the diagram, when the value of the differential pointer 25 is "00
When the data is 00", the amount of data in the data buffer 21 is 15 bytes in the case of output transfer, and 1 byte in the case of input transfer.

差分ポインタ25の値が“0001"のときに出力転送であ
ればデータバッファ21のデータ量は14バイトであり、入
力転送であればデータバッファ21のデータ量は2バイト
である。
When the value of the differential pointer 25 is "0001", in the case of output transfer, the amount of data in the data buffer 21 is 14 bytes, and in the case of input transfer, the amount of data in the data buffer 21 is 2 bytes.

差分ポインタ25の値が“0010"のときに出力転送であ
ればデータバッファ21のデータ量は13バイトであり、入
力転送であればデータバッファ21のデータ量は3バイト
である。
When the value of the differential pointer 25 is "0010", in the case of output transfer, the amount of data in the data buffer 21 is 13 bytes, and in the case of input transfer, the amount of data in the data buffer 21 is 3 bytes.

上記の場合、出力転送であれば入出力ポート制御部20
によりデータバッファ21に空きがないと判断され、入力
転送であれば入出力ポート制御部20によりデータバッフ
ァ21にデータが充分に格納されていないと判断されるの
で、メモリリクエストの出力が抑止される。
In the above case, if it is an output transfer, the input/output port control unit 20
If it is an input transfer, the input/output port control unit 20 determines that there is not enough data stored in the data buffer 21, and therefore the output of the memory request is suppressed.

差分ポインタ25の値が“0011"のときに出力転送であ
ればデータバッファ21のデータ量は12バイトであり、入
力転送であればデータバッファ21のデータ量は4バイト
である。
When the value of the differential pointer 25 is "0011", in the case of output transfer, the amount of data in the data buffer 21 is 12 bytes, and in the case of input transfer, the amount of data in the data buffer 21 is 4 bytes.

差分ポインタ25の値が“0100"のときに出力転送であ
ればデータバッファ21のデータ量は11バイトであり、入
力転送であればデータバッファ21のデータ量は5バイト
である。
When the value of the differential pointer 25 is "0100", in the case of output transfer, the amount of data in the data buffer 21 is 11 bytes, and in the case of input transfer, the amount of data in the data buffer 21 is 5 bytes.

差分ポインタ25の値が“0101"のときに出力転送であ
ればデータバッファ21のデータ量は10バイトであり、入
力転送であればデータバッファ21のデータ量は6バイト
である。
When the value of the differential pointer 25 is "0101", in the case of output transfer, the amount of data in the data buffer 21 is 10 bytes, and in the case of input transfer, the amount of data in the data buffer 21 is 6 bytes.

差分ポインタ25の値が“0110"のときに出力転送であ
ればデータバッファ21のデータ量は9バイトであり、入
力転送であればデータバッファ21のデータ量は7バイト
である。
When the value of the differential pointer 25 is "0110", in the case of output transfer, the amount of data in the data buffer 21 is 9 bytes, and in the case of input transfer, the amount of data in the data buffer 21 is 7 bytes.

上記の場合、出力転送であれば入出力ポート制御部20
によりデータバッファ21に空きがあると判断され、入力
転送であれば入出力ポート制御部20によりデータバッフ
ァ21に充分にデータが格納されていると判断されるの
で、メモリリクエストが出力されるとともに、変換回路
26からアクセスバイトコードとして“00"が出力され
る。
In the above case, if it is an output transfer, the input/output port control unit 20
If the transfer is an input transfer, the input/output port control unit 20 determines that there is enough data stored in the data buffer 21, so a memory request is output and the conversion circuit
From 26, “00” is output as the access bytecode.

アクセスバイトコードが“00"のとき、出力転送であ
れば主記憶装置4からの4バイトのデータの読出しを示
し、入力転送であれば主記憶装置4への4バイトのデー
タの書込みを示す。
When the access bytecode is "00", it indicates reading of 4 bytes of data from the main memory 4 in the case of an output transfer, and indicates writing of 4 bytes of data to the main memory 4 in the case of an input transfer.

差分ポインタ25の値が“0111"のときに出力転送であ
ればデータバッファ21のデータ量は8バイトであり、入
力転送であればデータバッファ21のデータ量は8バイト
である。
When the value of the differential pointer 25 is "0111", in the case of output transfer, the amount of data in the data buffer 21 is 8 bytes, and in the case of input transfer, the amount of data in the data buffer 21 is 8 bytes.

差分ポインタ25の値が“1000"のときに出力転送であ
ればデータバッファ21のデータ量は7バイトであり、入
力転送であればデータバッファ21のデータ量は9バイト
である。
When the value of the differential pointer 25 is "1000", in the case of output transfer, the amount of data in the data buffer 21 is 7 bytes, and in the case of input transfer, the amount of data in the data buffer 21 is 9 bytes.

差分ポインタ25の値が“1001"のときに出力転送であ
ればデータバッファ21のデータ量は6バイトであり、入
力転送であればデータバッファ21のデータ量は10バイト
である。
When the value of the differential pointer 25 is "1001", in the case of output transfer, the amount of data in the data buffer 21 is 6 bytes, and in the case of input transfer, the amount of data in the data buffer 21 is 10 bytes.

差分ポインタ25の値が“1010"のときに出力転送であ
ればデータバッファ21のデータ量は5バイトであり、入
力転送であればデータバッファ21のデータ量は11バイト
である。
When the value of the differential pointer 25 is "1010", in the case of output transfer, the amount of data in the data buffer 21 is 5 bytes, and in the case of input transfer, the amount of data in the data buffer 21 is 11 bytes.

上記の場合、出力転送であれば入出力ポート制御部20
によりデータバッファ21に空きがあると判断され、入力
転送であれば入出力ポート制御部20によりデータバッフ
ァ21に充分にデータが格納されていると判断されるの
で、メモリリクエストが出力されるとともに、変換回路
26からアクセスバイトコードとして“01"が出力され
る。
In the above case, if it is an output transfer, the input/output port control unit 20
If the transfer is an input transfer, the input/output port control unit 20 determines that there is enough data stored in the data buffer 21, so a memory request is output and the conversion circuit
From 26, “01” is output as the access bytecode.

アクセスバイトコードが“01"のとき、出力転送であ
れば主記憶装置4からの8バイトのデータの読出しを示
し、入力転送であれば主記憶装置4への8バイトのデー
タの書込みを示す。
When the access bytecode is "01", it indicates reading of 8 bytes of data from the main memory 4 in the case of an output transfer, and indicates writing of 8 bytes of data to the main memory 4 in the case of an input transfer.

差分ポインタ25の値が“1011"のときに出力転送であ
ればデータバッファ21のデータ量は4バイトであり、入
力転送であればデータバッファ21のデータ量は12バイト
である。
When the value of the differential pointer 25 is "1011", in the case of output transfer, the amount of data in the data buffer 21 is 4 bytes, and in the case of input transfer, the amount of data in the data buffer 21 is 12 bytes.

差分ポインタ25の値が“1100"のときに出力転送であ
ればデータバッファ21のデータ量は3バイトであり、入
力転送であればデータバッファ21のデータ量は13バイト
である。
When the value of the differential pointer 25 is "1100", in the case of output transfer, the amount of data in the data buffer 21 is 3 bytes, and in the case of input transfer, the amount of data in the data buffer 21 is 13 bytes.

差分ポインタ25の値が“1101"のときに出力転送であ
ればデータバッファ21のデータ量は2バイトであり、入
力転送であればデータバッファ21のデータ量は14バイト
である。
When the value of the differential pointer 25 is "1101", in the case of output transfer, the amount of data in the data buffer 21 is 2 bytes, and in the case of input transfer, the amount of data in the data buffer 21 is 14 bytes.

差分ポインタ25の値が“1110"のときに出力転送であ
ればデータバッファ21のデータ量は1バイトであり、入
力転送であればデータバッファ21のデータ量は15バイト
である。
When the value of the differential pointer 25 is "1110", in the case of output transfer, the amount of data in the data buffer 21 is 1 byte, and in the case of input transfer, the amount of data in the data buffer 21 is 15 bytes.

上記の場合、出力転送であれば入出力ポート制御部20
によりデータバッファ21に空きがあると判断され、入力
転送であれば入出力ポート制御部20によりデータバッフ
ァ21に充分にデータが格納されていると判断されるの
で、メモリリクエストが出力されるとともに、変換回路
26からアクセスバイトコードとして“10"が出力され
る。
In the above case, if it is an output transfer, the input/output port control unit 20
If the transfer is an input transfer, the input/output port control unit 20 determines that there is enough data stored in the data buffer 21, so a memory request is output and the conversion circuit
From 26, “10” is output as the access bytecode.

アクセスバイトコードが“10"のとき、出力転送であ
れば主記憶装置4からの12バイトのデータの読出しを示
し、入力転送であれば主記憶装置4への12バイトのデー
タの書込みを示す。
When the access bytecode is "10", it indicates reading of 12 bytes of data from the main memory 4 in case of an output transfer, and indicates writing of 12 bytes of data to the main memory 4 in case of an input transfer.

差分ポインタ25の値が“1111"で、入出力インタフェ
ースポインタ23の最上位ビットが“0"のときに、出力転
送であればデータバッファ21のデータ量は0バイトであ
り、入力転送であればデータバッファ21のデータ量は16
バイトである。
When the value of the differential pointer 25 is "1111" and the most significant bit of the input/output interface pointer 23 is "0", the amount of data in the data buffer 21 is 0 bytes in the case of an output transfer, and 16 bytes in the case of an input transfer.
It's a part-time job.

この場合、出力転送であれば入出力ポート制御部20に
よりデータバッファ21が空であると判断され、入力転送
であれば入出力ポート制御部20によりデータバッファ21
すべてにデータが格納されていると判断されるので、メ
モリリクエストが出力されるとともに、変換回路26から
アクセスバイトコードとして“11"が出力される。
In this case, if it is an output transfer, the input/output port control unit 20 judges that the data buffer 21 is empty, and if it is an input transfer, the input/output port control unit 20 judges that the data buffer 21 is empty.
Since it is determined that data is stored in all of them, a memory request is output and the conversion circuit 26 outputs "11" as the access byte code.

アクセスバイトコードが“11"のとき、出力転送であ
れば主記憶装置4からの16バイトのデータの読出しを示
し、入力転送であれば主記憶装置4への16バイトのデー
タの書込みを示す。
When the access bytecode is "11", it indicates reading of 16 bytes of data from the main memory 4 in case of an output transfer, and indicates writing of 16 bytes of data to the main memory 4 in case of an input transfer.

差分ポインタ25の値が“1111"で、入出力インタフェ
ースポインタ23の最上位ビットが“1"のときに、出力転
送であればデータバッファ21のデータ量は16バイトであ
り、入力転送であればデータバッファ21のデータ量は0
バイトである。
When the value of the differential pointer 25 is "1111" and the most significant bit of the input/output interface pointer 23 is "1", the amount of data in the data buffer 21 is 16 bytes in the case of an output transfer, and 0 bytes in the case of an input transfer.
It's a part-time job.

この場合、出力転送であれば入出力ポート制御部20に
よりデータバッファ21すべてにデータが格納されている
と判断され、入力転送であれば入出力ポート制御部20に
よりデータバッファ21が空であると判断されるので、メ
モリリクエストの出力が抑止される。
In this case, if it is an output transfer, the input/output port control unit 20 determines that all data is stored in the data buffer 21, and if it is an input transfer, the input/output port control unit 20 determines that the data buffer 21 is empty, so that the output of the memory request is suppressed.

これら第1図〜第3図を用いて本発明の一実施例の動
作について説明する。
The operation of the embodiment of the present invention will be described with reference to FIGS.

出力転送を起動しようとする場合、データ転送制御部
10にはマイクロプログラムによりデータ長および主記憶
装置4上のアドレス(データ転送の開始アドレス)が設
定される。尚、第1図にはその設定手段を図示していな
い。
When you want to start an output transfer, the data transfer control
The data length and the address (start address of data transfer) on the main memory 4 are set in 10 by a microprogram. Note that the setting means is not shown in FIG.

その後に、転送対象である入出力装置6−1が接続さ
れている入出力ポート部2−1の入出力ポート制御部20
内の出力データ転送フラグ(図示せず)に“1"がセット
されるとともに、メモリポインタ22および入出力インタ
フェースポインタ23の全ビットに“0"がセットされる。
Then, the input/output port control unit 20 of the input/output port unit 2-1 to which the input/output device 6-1 to be transferred is connected
An output data transfer flag (not shown) in the register 21 is set to "1", and all bits of the memory pointer 22 and the input/output interface pointer 23 are set to "0".

メモリポインタ22および入出力インタフェースポイン
タ23の全ビットに“0"がセットされると、減算器24によ
りメモリポインタ22の値と入出力インタフェースポイン
タ23の値との差が計算され、差分ポインタ25に“1111"
がセットされる。
When all bits of the memory pointer 22 and the input/output interface pointer 23 are set to "0", the subtractor 24 calculates the difference between the value of the memory pointer 22 and the value of the input/output interface pointer 23, and the difference pointer 25 is set to "1111".
is set.

ここで、減算器24では「入出力インタフェースポイン
タ23の下位4ビット+メモリポインタ22の全ビットの反
転値」の計算が行われており、上記の場合には「“000
0"+“1111"」の計算が行われ、その計算結果“1111"が
差分ポインタ25にセットされる。
Here, the subtractor 24 calculates "the lower 4 bits of the input/output interface pointer 23 + the inverted value of all bits of the memory pointer 22".
The calculation "0" + "1111" is performed, and the result "1111" is set in the difference pointer 25.

入出力ポート制御部20は差分ポインタ25の値“1111"
と、入出力インタフェースポインタ23の最上位ビットの
値“0"とからデータバッファ21が空であると判断し、メ
モリリクエストを優先判定回路15に出力して主記憶装置
4からのデータの読出しを要求する。
The input/output port control unit 20 sets the value of the differential pointer 25 to "1111".
From the most significant bit of the input/output interface pointer 23 being "0", it is determined that the data buffer 21 is empty, and a memory request is output to the priority decision circuit 15 to request the reading of data from the main memory device 4.

このとき、入出力ポート制御部20からデータ転送制御
部10に出力データ転送フラグの値“1"が出力されるとと
もに、差分ポインタ25の値“1111"が変換回路26でエン
コードされ、アクセスバイトコードとして、“11"がデ
ータ転送制御部10に出力される。この場合、アクセスバ
イトコードが“11"なので16バイトのデータの読出しを
示す。
At this time, the value "1" of the output data transfer flag is output from the input/output port control unit 20 to the data transfer control unit 10, and the value "1111" of the differential pointer 25 is encoded by the conversion circuit 26, and "11" is output as the access bytecode to the data transfer control unit 10. In this case, the access bytecode is "11", which indicates the reading of 16 bytes of data.

優先判定回路15は入出力ポート制御部20からのメモリ
リクエストが最優先のものと判定すると、該メモリリク
エストに許可を与え、入出力ポート制御部20からのメモ
リリクエストをデータ転送制御部10に伝えるとともに、
入出力ポート部2−1からのアクセスバイトコードおよ
びその出力データ転送フラグを選択回路16,17を介して
データ転送制御部10に伝える。
When the priority decision circuit 15 decides that the memory request from the input/output port control unit 20 has the highest priority, it grants permission to the memory request and transmits the memory request from the input/output port control unit 20 to the data transfer control unit 10.
The access bytecode from the input/output port unit 2-1 and its output data transfer flag are transmitted to the data transfer control unit 10 via the selection circuits 16 and 17.

データ転送制御部10は入出力ポート制御部20からのメ
モリリクエストに応じて、主記憶装置4へのメモリリク
エストを“1"とし、16バイトリードを指示するコマンド
とアドレスとを出力して主記憶装置4をアクセスする。
In response to a memory request from the input/output port control unit 20, the data transfer control unit 10 sets the memory request to the main memory device 4 to "1" and accesses the main memory device 4 by outputting a command and address instructing a 16-byte read.

主記憶装置4は該メモリリクエストが受付け可能であ
れば、データ転送制御部10へのアクセプトを“1"とし、
その後に出力データレジスタ12に16バイトのデータのう
ち最初の4バイトのデータを送出するとともに、データ
転送制御部10へのリプライを“1"としてデータの受取り
を指示する。
If the main memory device 4 can accept the memory request, it sets the accept to the data transfer control unit 10 to "1".
Thereafter, the first 4 bytes of the 16 bytes of data are sent to the output data register 12, and a reply to the data transfer control unit 10 is set to "1" to indicate receipt of the data.

入出力処理装置3は主記憶装置4からのデータを出力
データレジスタ12に一時格納し、該データを内部データ
バス14を介して選択回路27に供給する。
The input/output processor 3 temporarily stores the data from the main memory device 4 in the output data register 12 and supplies the data to the selection circuit 27 via the internal data bus 14 .

選択回路27は出力転送の場合に内部データバス14側を
選択出力するので、主記憶装置4からの4バイトのデー
タがデータバッファ21に書込まれるとともに、メモリポ
インタ22の値が加算器22aにより+4される。
In the case of output transfer, the selection circuit 27 selects and outputs the internal data bus 14 side, so that 4 bytes of data from the main memory 4 are written into the data buffer 21 and the value of the memory pointer 22 is incremented by +4 by the adder 22a.

主記憶装置4からは4バイトのデータが1マシンサイ
クル毎に次々と出力されており、この主記憶装置4から
の4バイトのデータがデータバッファ21に書込まれると
同時に、出力データレジスタ12には主記憶装置4からの
次の4バイトのデータが格納される。
Four bytes of data are successively output from the main memory 4 every machine cycle, and at the same time that these four bytes of data from the main memory 4 are written to the data buffer 21, the next four bytes of data from the main memory 4 are stored in the output data register 12.

以後、上述の処置動作が3回繰返され、主記憶装置4
からの16バイトのデータがデータバッファ21に書込まれ
る。この間に主記憶装置4で異常が検出されると、主記
憶装置4からデータ転送制御部10にエラー信号が通知さ
れる。
After that, the above-mentioned processing operation is repeated three times, and the main memory device 4
The 16 bytes of data from the first data transfer command are written to the data buffer 21. If an abnormality is detected in the main memory device 4 during this time, the main memory device 4 notifies the data transfer control unit 10 of an error signal.

上記の処理動作により、主記憶装置4からの16バイト
のデータが順次データバッファ21に書込まれるとき、メ
モリポインタ22は‘0'から‘4',‘8',‘C'と更新され、
再び‘0'に戻る。
By the above processing operation, when 16 bytes of data from the main memory 4 are written sequentially into the data buffer 21, the memory pointer 22 is updated from '0' to '4', '8', and 'C'.
Return to '0' again.

メモリポインタ22の値が‘C'から‘0'に変化すると
き、入出力インタフェースポインタ23の最上位ビットが
“0'から“1"に反転し、差分ポインタ25の値も再び“11
11"となる。
When the value of the memory pointer 22 changes from 'C' to '0', the most significant bit of the input/output interface pointer 23 is inverted from "0" to "1", and the value of the difference pointer 25 becomes "11" again.
The result is 11".

入出力ポート制御部20は入出力インタフェースポイン
タ23の最上位ビット“1"と、差分ポインタ25の値“111
1"とからデータバッファ21すべてにデータが格納されて
いると判断し、次のメモリリクエストの出力を抑止す
る。
The input/output port control unit 20 sets the most significant bit of the input/output interface pointer 23 to "1" and the value of the difference pointer 25 to "111
1", it is determined that data is stored in the entire data buffer 21, and the output of the next memory request is suppressed.

一方、データバッファ21にデータが格納されると、デ
ータバッファ21からのデータの読出しが行われて最初の
1バイトがデータアウトレジスタ30に格納され、I/Oイ
ンタフェース100を介して入出力装置6−1への転送が
開始される。
On the other hand, when data is stored in the data buffer 21, the data is read out from the data buffer 21 and the first byte is stored in the data-out register 30, and transfer to the input/output device 6-1 via the I/O interface 100 is started.

このデータバッファ21からのデータの読出しが行われ
る毎に、入出力インタフェースポインタ23の値が加算器
23aにより+1ずつされていく。
Every time data is read from the data buffer 21, the value of the input/output interface pointer 23 is incremented by an adder.
23a adds +1 each time.

データバッファ21から4バイトのデータが入出力装置
6−1に転送されたとき、入出力インタフェースポイン
タ23の値は“10100"となるが、メモリポインタ22の値
は、‘0'のままなので、差分ポインタ25の値が“0011"
となる。
When 4 bytes of data are transferred from the data buffer 21 to the input/output device 6-1, the value of the input/output interface pointer 23 becomes "10100", but the value of the memory pointer 22 remains "0", so the value of the difference pointer 25 becomes "0011".
It becomes.

よって、入出力ポート制御部20はデータバッファ21内
に4バイトの空きを検出し、その4バイトのデータを補
充するためにメモリリクエストを再び優先判定回路15に
送出する。但し、このときのアクセスバイトコードは
“00"となり、4バイトのデータの読出しを示す。
Therefore, the input/output port control unit 20 detects four free bytes in the data buffer 21, and again sends a memory request to the priority decision circuit 15 to replenish those four bytes of data. However, this time the access byte code is "00", indicating a read of the four bytes of data.

入出力ポート制御部20からのメモリリクエストは上述
の処理動作と同様に、優先判定回路15を介してデータ転
送制御部10に送られ、データ転送制御部10から4バイト
リードを指示するコマンドとアドレスとが出力されて主
記憶装置4がアクセスされる。
Similar to the above-mentioned processing operation, the memory request from the input/output port control unit 20 is sent to the data transfer control unit 10 via the priority judgment circuit 15, and the data transfer control unit 10 outputs a command and address instructing a 4-byte read, thereby accessing the main memory device 4.

これにより、主記憶装置4から4バイトのデータが読
出されてデータバッファ21に書込まれるとともに、メモ
リポインタ22の値が加算器22aにより+4される。
As a result, 4 bytes of data are read from the main memory 4 and written into the data buffer 21, and the value of the memory pointer 22 is incremented by +4 by the adder 22a.

よって、メモリポインタ22の値が“0100"となるの
で、差分ポインタ25の値が再び“1111"となり、入出力
ポート制御部20は再びデータバッファ21すべてにデータ
が格納されていると判断し、次のメモリリクエストの出
力を抑止する。
As a result, the value of the memory pointer 22 becomes “0100”, the value of the differential pointer 25 becomes “1111” again, and the input/output port control unit 20 again determines that data is stored in all of the data buffer 21, and suppresses the output of the next memory request.

以上のようにしてデータ転送が実行されると、データ
転送制御部10に設定されたデータ長およびメモリアドレ
スが1回のメモリアクセス毎にアクセスバイトに応じた
値に更新され、データ長が尽きるとデータ転送が終了す
る。
When data transfer is performed as described above, the data length and memory address set in the data transfer control unit 10 are updated to values corresponding to the accessed bytes for each memory access, and the data transfer ends when the data length is exhausted.

入力転送の場合にも上述の処理と同様に、メモリポイ
ンタ22および入出力インタフェースポインタ23の全ビッ
トに“0"がセットされてデータ転送が開始され、転送対
象の入出力装置6−1からのデータがレシーバ33および
データインレジスタ31を介して選択回路27に供給され
る。
In the case of input transfer, similar to the above process, all bits of the memory pointer 22 and the input/output interface pointer 23 are set to "0" and data transfer is started, and data from the input/output device 6-1 to be transferred is supplied to the selection circuit 27 via the receiver 33 and the data-in register 31.

選択回路27は入力転送の場合にデータイレジスタ31側
を選択出力するので、入力装置6−1からの最初のデー
タがデータバッファ21の0番地に書込まれるとともに、
入出力インタフェースポインタ23の値が加算器23aによ
り+1される。
In the case of input transfer, the selection circuit 27 selects and outputs the data register 31 side, so that the first data from the input device 6-1 is written to address 0 of the data buffer 21,
The value of the input/output interface pointer 23 is incremented by +1 by an adder 23a.

この入出力装置6−1からのデータが4バイトに達す
ると、入出力インタフェースポインタ23の値が“00100"
となるので、差分ポインタ25の値が“0011"となり、入
出力ポート制御部20はデータバッファ21内に格納された
4バイトのデータを主記憶装置4に書込むためにメモリ
リクエストを優先判定回路15に送出する。このとき、デ
ータ転送制御部10へのアクセスバイトコードは“00"と
なり、4バイトのデータの書込みを示す。
When the data from the input/output device 6-1 reaches 4 bytes, the value of the input/output interface pointer 23 becomes "00100".
Therefore, the value of the differential pointer 25 becomes "0011", and the input/output port control unit 20 sends a memory request to the priority determination circuit 15 to write the 4 bytes of data stored in the data buffer 21 to the main memory device 4. At this time, the access byte code to the data transfer control unit 10 becomes "00", which indicates the writing of 4 bytes of data.

よって、メモリポインタ22が示すデータバッファ21の
アドレスから4バイトのデータが読出され、そのデータ
がドライバ29および内部データバス13を介して入力デー
タレジスタ11に一時格納されてから主記憶装置4に書込
まれる。
Therefore, 4 bytes of data are read from the address of the data buffer 21 indicated by the memory pointer 22 , and the data is temporarily stored in the input data register 11 via the driver 29 and the internal data bus 13 before being written into the main memory device 4 .

第4図は第1図の主記憶装置4の構成を示すブロック
図であり、第5図は第4図に示す主記憶装置4の動作を
示すタイムチャートである。これら第4図および第5図
を用いて主記憶装置4に入出力装置6−1から送られて
きた16バイトのデータが書込まれる場合について説明す
る。
Fig. 4 is a block diagram showing the configuration of the main memory device 4 of Fig. 1, and Fig. 5 is a time chart showing the operation of the main memory device 4 shown in Fig. 4. A case where 16 bytes of data sent from the input/output device 6-1 is written to the main memory device 4 will be described with reference to Figs. 4 and 5.

入出力処理装置3を介して送られてきた入出力装置6
−1からの16バイトのデータを主記憶装置4に書込む場
合、入出力処理装置3からのリクエストバンク番号がリ
クエスト判定回路40に入力されると、リクエスト判定回
路40は該リクエストバンク番号に対するメモリリクエス
トが受付け可能であるか否かを判断する。
Input/output device 6 sent via input/output processing device 3
When writing 16 bytes of data from -1 to the main memory device 4, when the request bank number from the input/output processor 3 is input to the request decision circuit 40, the request decision circuit 40 judges whether or not the memory request for that request bank number can be accepted.

リクエスト判定回路40は該リクエストバンク番号に対
するメモリリクエストが受付け可能であれば、その旨を
制御回路49に通知するとともに、該リクエストバンク番
号をバンク番号レジスタ(BKN)42にセットする。
If the request decision circuit 40 can accept the memory request for the requested bank number, it notifies the control circuit 49 of that fact and sets the requested bank number in the bank number register (BKN) 42 .

このとき、入出力処理装置3から送られてきたアドレ
ス、コマンド、ライトマスク、ライトデータが夫々選択
回路41を介してアドレスレジスタ(ADR)45とコマンド
レジスタ(CMDR)46とライトマスクレジスタ(WMK)47
とライトデータレジスタ(WDR)48とにセットされる。
At this time, the address, command, write mask, and write data sent from the input/output processor 3 are respectively transferred through the selection circuit 41 to the address register (ADR) 45, the command register (CMDR) 46, and the write mask register (WMK) 47.
and the write data register (WDR) 48.

制御回路49はリクエスト判定回路40からの通知と、バ
ンク番号レジスタ42からバンク番号レジスタ43を介して
入力されるリクエストバンク番号と、コマンドレジスタ
46およびライトマスクレジスタ47からのコマンドおよび
ライトマスクとによりメモリセル53への16バイトライト
であることを知り、メモリセル53のバンク(BANK)0に
ライトデータの書込みを指示する。
The control circuit 49 receives a notification from the request determination circuit 40, a request bank number input from the bank number register 42 via the bank number register 43, and a command register
It is determined from the command and write mask from the write mask register 46 and the write mask from the write mask register 47 that a 16-byte write is to be performed on the memory cell 53, and an instruction is given to write the write data to bank 0 of the memory cell 53.

メモリセル53では制御回路49により指定されたバンク
0の、アドレスレジスタ45からアドレスレジスタ50を介
して送られてきたアドレスに、ECC(誤り検出訂正符
号)発生回路51でECCビットが付与され、ライトデータ
レジスタ52を介して入力された最初の4バイトのライト
データが書込まれる。
In memory cell 53, an ECC (error detection and correction code) generating circuit 51 adds an ECC bit to the address sent from address register 45 via address register 50 in bank 0 specified by control circuit 49, and the first 4 bytes of write data input via write data register 52 are written.

次に、制御回路49はバンク番号レジスタ43から入力さ
れ、加算器44によって+1されたリクエストバンク番号
を受取ると、メモリセル53のバンク1へのライトデータ
の書込みを指示し、次のライトデータがメモリセル53の
バンク1に書込まれる。
Next, when the control circuit 49 receives the request bank number input from the bank number register 43 and incremented by +1 by the adder 44, it instructs writing of write data to bank 1 of the memory cell 53, and the next write data is written to bank 1 of the memory cell 53.

上述の処理動作と同様にして、メモリセル53の連続す
るバンク2,3へのライトデータの書込みが行われると、
メモリセル53への16バイトのデータの書込みが終了す
る。
In the same manner as the above-mentioned processing operation, when the write data is written to the consecutive banks 2 and 3 of the memory cell 53,
Writing of 16 bytes of data to memory cell 53 is completed.

入出力処理装置3が主記憶装置4から16バイトのデー
タを読出す場合も上述の処理動作と同様にして、制御回
路49の制御により連続するバンク0〜3から順次データ
が読出され、選択回路54を介してリードデータレジスタ
55にセットされ、ECC訂正回路56で誤りが訂正された後
にリードデータレジスタ57を介して入出力処置装置3に
送出される。
When the input/output processor 3 reads 16 bytes of data from the main memory 4, the data is read out successively from the successive banks 0 to 3 under the control of the control circuit 49 in the same manner as described above, and the data is sent to the read data register 54 via the selection circuit 54.
The data is set in the read data register 55, and after any errors are corrected by the ECC correction circuit 56, it is sent to the input/output processing device 3 via the read data register 57.

ここで、選択回路54はバンク番号レジスタ43から供給
されるリクエストバンク番号に応じてバンク0〜3から
のデータを選択する。
Here, the selection circuit 54 selects data from banks 0 to 3 in accordance with the request bank number supplied from the bank number register 43.

尚、中央処理装置5からの主記憶装置4に対する読出
しまたは書込みも、上述の処置動作と同様にして行われ
る。
Incidentally, reading from or writing to the main storage device 4 by the central processing unit 5 is also performed in the same manner as the above-mentioned processing operations.

このように、データバッファの残データ量または空き
領域のバイト数に応じて1回のアクセスで転送される主
記憶装置4との間のデータ転送量、すなわち主記憶装置
4から読出すワード数または主記憶装置4に書込むワー
ド数を決定することによって、出力転送時に1回のメモ
リアクセスでデータバッファ21にデータを充分供給する
ことができる。
In this way, by determining the amount of data transferred between the data buffer and the main memory 4 in one access, i.e., the number of words read from the main memory 4 or the number of words written to the main memory 4, depending on the amount of remaining data in the data buffer or the number of bytes of free space, it is possible to supply a sufficient amount of data to the data buffer 21 in one memory access during output transfer.

また、入力転送時にデータバッファ21に格納されたデ
ータ量に応じて1回のメモリアクセスで主記憶装置4へ
の書込みを行うことができるので、メモリアクセスを繰
返す必要がなくなるとともに、データオーバランの発生
を防止することができる。
Furthermore, since data can be written to the main memory device 4 in one memory access in accordance with the amount of data stored in the data buffer 21 during input transfer, it is not necessary to repeatedly access the memory and data overruns can be prevented.

よって、データ転送を一時的に中断することなく、入
出力装置6−1〜6−4の転送速度に応じたデータ転送
を行うことが可能になるとともに、データ転送開始時に
効率のよいメモリアクセスを行うことが可能となる。
Therefore, data transfer can be performed according to the transfer speeds of the input/output devices 6-1 to 6-4 without temporarily interrupting the data transfer, and efficient memory access can be achieved at the start of the data transfer.

発明の効果 以上説明したように本発明によれば、データバッファ
に保持されたデータ量に応じて決定された1回のアクセ
スで転送される主記憶装置との間のデータ転送量により
主記憶装置に対する読出し書込みを行うようにすること
によって、入出力装置の転送速度に応じたデータ転送を
行うことができ、データ転送開始時に効率のよいメモリ
アクセスを行うことができるという効果がある。
Effects of the Invention As described above, according to the present invention, by performing read and write operations on the main memory device based on the amount of data transferred in one access to the main memory device, which is determined according to the amount of data held in the data buffer, data can be transferred according to the transfer speed of the input/output device, thereby achieving efficient memory access when the data transfer begins.

【図面の簡単な説明】[Brief description of the drawings]

第1図は本発明の一実施例の構成を示すブロック図、第
2図は本発明の一実施例のシステム構成を示すブロック
図、第3図は第1図の差分ポインタの値とデータバッフ
ァのデータ量およびアクセスバイトコードとの関係を示
す図、第4図は第1図の主記憶装置の構成を示すブロッ
ク図、第5図は第4図に示す主記憶装置の動作を示すタ
イムチャートである。 主要部分の符号の説明 1……共通部 2−1〜2−4……入出力ポート部 3……入出力処理装置 4……主記憶装置 6−1〜6−4……入出力装置 10……データ転送制御部 15……優先判定回路 16,17,27,28……選択回路 20……入出力ポート制御部 21……データバッファ 22……メモリポインタ 23……入出力インタフェースポインタ 24……減算器 25……差分ポインタ 26……変換回路
Fig. 1 is a block diagram showing the configuration of one embodiment of the present invention, Fig. 2 is a block diagram showing the system configuration of one embodiment of the present invention, Fig. 3 is a diagram showing the relationship between the value of the differential pointer in Fig. 1 and the data amount of the data buffer and the access bytecode, Fig. 4 is a block diagram showing the configuration of the main memory device in Fig. 1, and Fig. 5 is a time chart showing the operation of the main memory device shown in Fig. 4. Explanation of symbols of main parts 1...Common part 2-1 to 2-4...Input/output port part 3...Input/output processing device 4...Main memory device 6-1 to 6-4...Input/output device 10...Data transfer control part 15...Priority judgment circuit 16, 17, 27, 28...Selection circuit 20...Input/output port control part 21...Data buffer 22...Memory pointer 23...Input/output interface pointer 24...Subtractor 25...Differential pointer 26...Conversion circuit

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】主記憶装置と入出力装置との間で転送され
かつ前記主記憶装置への1回のアクセスに対して予め設
定された所定バイト数のn倍(nは4以上の整数)単位
で転送されるデータを一時保持するデータバッファを有
する入出力処理装置であって、前記データバッファに保
持されたデータ量を計数する計数手段と、前記計数手段
の計数値に応じて1回のアクセスで転送される前記主記
憶装置との間のデータ転送量を決定する決定手段と、前
記決定手段で決定された前記データ転送量に応じて前記
主記憶装置に対する読出し書込みを制御する制御手段と
を有することを特徴とする入出力処理装置。
[Claim 1] An input/output processing device having a data buffer that temporarily holds data transferred between a main memory device and an input/output device and transferred in units of n times a predetermined number of bytes (n is an integer greater than or equal to 4) that is preset for one access to the main memory device, characterized in that the input/output processing device has a counting means that counts the amount of data held in the data buffer, a determination means that determines the amount of data transfer between the main memory device and the main memory device to be transferred in one access in accordance with the counted value of the counting means, and a control means that controls reading and writing to the main memory device in accordance with the data transfer amount determined by the determination means.
JP1238043A 1989-09-13 1989-09-13 Input/Output Processor Expired - Fee Related JPH0831076B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1238043A JPH0831076B2 (en) 1989-09-13 1989-09-13 Input/Output Processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1238043A JPH0831076B2 (en) 1989-09-13 1989-09-13 Input/Output Processor

Publications (2)

Publication Number Publication Date
JPH03100751A JPH03100751A (en) 1991-04-25
JPH0831076B2 true JPH0831076B2 (en) 1996-03-27

Family

ID=17024318

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1238043A Expired - Fee Related JPH0831076B2 (en) 1989-09-13 1989-09-13 Input/Output Processor

Country Status (1)

Country Link
JP (1) JPH0831076B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4481458B2 (en) * 2000-08-25 2010-06-16 キヤノン株式会社 Data processing circuit of imaging device
JP5383564B2 (en) * 2010-03-10 2014-01-08 ルネサスエレクトロニクス株式会社 Data transfer circuit and method
JP5644531B2 (en) * 2011-01-19 2014-12-24 富士通セミコンダクター株式会社 Data transfer apparatus and data transfer method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01284950A (en) * 1988-05-12 1989-11-16 Mitsubishi Electric Corp Input/output channel system

Also Published As

Publication number Publication date
JPH03100751A (en) 1991-04-25

Similar Documents

Publication Publication Date Title
KR100337056B1 (en) Buffering data that flows between buses operating at different frequencies
US6430666B1 (en) Linked list memory and method therefor
GB1588396A (en) Data processing apparatus
JPS624745B2 (en)
US4620295A (en) Method for accessing a data set in a word processing system
JPS6338794B2 (en)
US5630054A (en) Method and apparatus for storing and retrieving error check information
US5765203A (en) Storage and addressing method for a buffer memory control system for accessing user and error imformation
US4914575A (en) System for transferring data between an interleaved main memory and an I/O device at high speed
JPH0644245B2 (en) Store buffer device
EP0533427B1 (en) Computer memory control system
EP0386719B1 (en) Partial store control circuit
US5138703A (en) Method of and apparatus for expanding system bus
US4989210A (en) Pipelined address check bit stack controller
JPH0831076B2 (en) Input/Output Processor
US5946707A (en) Interleaved burst XOR using a single memory pointer
EP0522728B1 (en) Method for efficient access of data stored in a nexus table
EP0383891B1 (en) Pipelined address check bit stack controller
JP3190847B2 (en) Data transfer control device
JP2001035080A (en) Disk control device and recording medium
JPS6226055B2 (en)
JPH11184761A (en) Read modify write control system
EP0718771B1 (en) DMA logic unit architecture
JPH04212755A (en) Optical disc signal processing method
JPH1011387A (en) Information processing device

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees