JP2017211708A - Information processing system, information processing device and control circuit - Google Patents

Information processing system, information processing device and control circuit Download PDF

Info

Publication number
JP2017211708A
JP2017211708A JP2016102531A JP2016102531A JP2017211708A JP 2017211708 A JP2017211708 A JP 2017211708A JP 2016102531 A JP2016102531 A JP 2016102531A JP 2016102531 A JP2016102531 A JP 2016102531A JP 2017211708 A JP2017211708 A JP 2017211708A
Authority
JP
Japan
Prior art keywords
control circuit
data
read
main memory
bypass
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016102531A
Other languages
Japanese (ja)
Other versions
JP6743482B2 (en
Inventor
浩明 島野
Hiroaki Shimano
浩明 島野
幸明 平田
Yukiaki Hirata
幸明 平田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016102531A priority Critical patent/JP6743482B2/en
Publication of JP2017211708A publication Critical patent/JP2017211708A/en
Application granted granted Critical
Publication of JP6743482B2 publication Critical patent/JP6743482B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To shorten a time required for transferring data to another storage device from a certain storage device of a plurality of storage devices connected to an information processing device.SOLUTION: A first control circuit has a first transmission unit that, when a first read command from a processor includes prescribed information, transmits a completion report indicative of reading completion to the processor prior to the completion of the reading, and transmits a first writing command for writing read data in a main memory to a third control circuit. Then, a second control circuit has a second transmission unit that, when a second writing command from the processor includes prescribed information, transmits a second reading command for reading data from the main memory to the third control circuit. Then, the third control circuit has a third transmission unit that, when an address of main storage to be included in the first writing command coincides with an address of main storage to be included in the second reading command, reads data stored in a first storage area, and transmits the data to the second control circuit.SELECTED DRAWING: Figure 3

Description

本発明は、記憶装置間でのデータ転送技術に関する。   The present invention relates to a technique for transferring data between storage devices.

サーバ等の情報処理装置に外部記憶装置や共用の記憶装置等が複数接続されている場合において、その中の或る記憶装置から他の記憶装置にデータが転送されることがある。公知の転送方法においては、データの転送元の記憶装置から読み出されたデータは情報処理装置の主記憶に一旦書き込まれ、主記憶への書き込みが完了した後、主記憶に書き込まれたデータは読み出されて転送先の記憶装置に書き込まれる。   When a plurality of external storage devices, shared storage devices, and the like are connected to an information processing device such as a server, data may be transferred from one storage device to another storage device. In a known transfer method, the data read from the storage device that is the data transfer source is temporarily written in the main memory of the information processing device, and after the writing to the main memory is completed, the data written in the main memory is It is read and written to the destination storage device.

この転送方法には制御が比較的簡単であるという利点がある。しかし、最終的に転送が完了するまでに要する時間が長くなることがある。また、主記憶上の領域を確保するために元々主記憶上にあるデータを別の記憶装置に移動する処理が行われることがあり、その場合にはさらに時間がかかる。   This transfer method has the advantage of relatively simple control. However, it may take a long time to finally complete the transfer. In addition, in order to secure an area on the main memory, a process of moving data originally in the main memory to another storage device may be performed, and in that case, it takes more time.

特開2003−281084号公報JP 2003-281084 A 特開2008−130092号公報JP 2008-130092 A

本発明の目的は、1つの側面では、情報処理装置に接続された複数の記憶装置のうち或る記憶装置から他の記憶装置にデータを転送するのに要する時間を短縮するための技術を提供することである。   An object of the present invention, in one aspect, is to provide a technique for reducing the time required to transfer data from one storage device to another storage device among a plurality of storage devices connected to the information processing device. It is to be.

本発明に係る情報処理装置は、プロセッサと、メインメモリと、第1制御回路と、第2制御回路と、第3制御回路とを有する。そして、第1制御回路は、プロセッサから受信した、情報処理装置に接続された第1記憶装置からデータを読み出すための第1読出命令が、所定の情報を含むか判定する第1判定部と、第1読出命令が所定の情報を含むと第1判定部により判定された場合、読み出しが完了したことを示す完了報告を、当該読み出しが完了する前にプロセッサに送信すると共に、第1記憶装置から読み出したデータと所定の情報とを含む、読み出したデータをメインメモリに書き込むための第1書込命令を第3制御回路に送信する第1送信部とを有する。そして、第2制御回路は、プロセッサから受信した、情報処理装置に接続された第2記憶装置にデータを書き込むための第2書込命令が、所定の情報を含むか判定する第2判定部と、第2書込命令が所定の情報を含むと第2判定部により判定された場合、所定の情報を含む、データをメインメモリから読み出すための第2読出命令を第3制御回路に送信する第2送信部とを有する。そして、第3制御回路は、第1制御回路から受信した第1書込命令が所定の情報を含む場合、第1書込命令を、第3制御回路の第1記憶領域に格納する第1格納処理部と、第2制御回路から受信した第2読出命令が所定の情報を含む場合、第2読出命令を、第3制御回路の第2記憶領域に格納する第2格納処理部と、第1記憶領域に格納された第1書込命令に含まれるメインメモリのアドレスと、第2記憶領域に格納された第2読出命令に含まれるメインメモリのアドレスとが一致する場合、第1記憶領域に格納されたデータを読み出し、データを第2制御回路に送信する第3送信部とを有する。   An information processing apparatus according to the present invention includes a processor, a main memory, a first control circuit, a second control circuit, and a third control circuit. The first control circuit determines whether the first read instruction for reading data from the first storage device connected to the information processing device received from the processor includes predetermined information; When the first determination unit determines that the first read instruction includes predetermined information, a completion report indicating that the read is completed is transmitted to the processor before the read is completed, and from the first storage device A first transmission unit configured to transmit a first write command including the read data and predetermined information to write the read data to the main memory to the third control circuit; The second control circuit includes a second determination unit that determines whether the second write instruction for writing data to the second storage device connected to the information processing device received from the processor includes predetermined information. When the second determination unit determines that the second write command includes predetermined information, a second read command for reading data from the main memory including the predetermined information is transmitted to the third control circuit. 2 transmitters. The third control circuit stores the first write instruction in the first storage area of the third control circuit when the first write instruction received from the first control circuit includes predetermined information. A second storage processing unit for storing the second read command in the second storage area of the third control circuit; and a first storage command when the second read command received from the second control circuit includes predetermined information. When the address of the main memory included in the first write instruction stored in the storage area matches the address of the main memory included in the second read instruction stored in the second storage area, the first storage area A third transmission unit for reading the stored data and transmitting the data to the second control circuit;

1つの側面では、情報処理装置に接続された複数の記憶装置のうち或る記憶装置から他の記憶装置にデータを転送するのに要する時間を短縮できるようになる。   In one aspect, the time required to transfer data from one storage device to another storage device among a plurality of storage devices connected to the information processing device can be shortened.

図1は、本実施の形態におけるシステムの概要を示す図である。FIG. 1 is a diagram showing an overview of a system in the present embodiment. 図2は、主記憶を経由してデータを転送する場合のタイムチャートを示す図である。FIG. 2 is a diagram illustrating a time chart when data is transferred via the main memory. 図3は、主記憶を経由せずにデータを転送する場合のタイムチャートを示す図である。FIG. 3 is a diagram showing a time chart when transferring data without going through the main memory. 図4は、本体装置の構成を示す図である。FIG. 4 is a diagram illustrating a configuration of the main device. 図5Aは、MCUの構成を示す図である。FIG. 5A is a diagram illustrating the configuration of the MCU. 図5Bは、SSM及びチャネルの構成を示す図である。FIG. 5B is a diagram illustrating the configuration of the SSM and the channel. 図6は、パケット制御回路の構成を示す図である。FIG. 6 is a diagram illustrating a configuration of the packet control circuit. 図7は、パケット制御回路の構成を示す図である。FIG. 7 is a diagram illustrating a configuration of the packet control circuit. 図8は、バイパスバッファ制御回路の構成を示す図である。FIG. 8 is a diagram showing the configuration of the bypass buffer control circuit. 図9は、バイパスバッファに格納されるデータの一例を示す図である。FIG. 9 is a diagram illustrating an example of data stored in the bypass buffer. 図10は、バイパスリクエストキューに格納されるデータの一例を示す図である。FIG. 10 is a diagram illustrating an example of data stored in the bypass request queue. 図11は、リクエストのフォーマットの一例を示す図である。FIG. 11 is a diagram illustrating an example of a request format. 図12は、本体装置の動作の概要を説明するための図である。FIG. 12 is a diagram for explaining the outline of the operation of the main device. 図13は、本実施の形態のシステムにおいて行われる処理の概要のフローを示す図である。FIG. 13 is a diagram illustrating a flow of an outline of processing performed in the system according to the present embodiment. 図14は、主記憶を経由してデータを転送する場合の処理フローを示す図である。FIG. 14 is a diagram showing a processing flow when data is transferred via the main memory. 図15は、バイパスバッファ制御回路がSSMから書込命令を受信した際に実行する処理の処理フローを示す図である。FIG. 15 is a diagram illustrating a processing flow of processing executed when the bypass buffer control circuit receives a write command from the SSM. 図16は、バイパスバッファ制御回路の第2調停回路が実行する処理の処理フローを示す図である。FIG. 16 is a diagram illustrating a processing flow of processing executed by the second arbitration circuit of the bypass buffer control circuit. 図17は、バイパスバッファ制御回路がSSMから読出命令を受信した際に実行する処理の処理フローを示す図である。FIG. 17 is a diagram showing a processing flow of processing executed when the bypass buffer control circuit receives a read command from the SSM. 図18は、バイパスバッファ制御回路がSSMから読出命令を受信した際に実行する処理の処理フローを示す図である。FIG. 18 is a diagram showing a processing flow of processing executed when the bypass buffer control circuit receives a read command from the SSM. 図19は、バイパスバッファ制御回路の第1調停回路が実行する処理の処理フローを示す図である。FIG. 19 is a diagram illustrating a processing flow of processing executed by the first arbitration circuit of the bypass buffer control circuit. 図20は、本実施の形態の転送方法を使用した場合のシーケンス図である。FIG. 20 is a sequence diagram when the transfer method of this embodiment is used. 図21は、公知の転送方法を使用した場合のシーケンス図である。FIG. 21 is a sequence diagram when a known transfer method is used.

図1に、本実施の形態におけるシステムの概要を示す。本体装置1a及び1bは、例えばサーバユニット或いはサーバブレード等であり、それぞれ1のコンピュータとして独立して動作する。本体装置1aにはI/O(Input/Output)5aが接続され、本体装置1bにはI/O5bが接続される。I/O5a及び5bは、例えばHDD(Hard Disk Drive)等の外部記憶装置である。本体装置1a及び1bは、共用の記憶装置であるSSU(System Storage Unit)3に接続される。SSU3は、例えば不揮発性のメモリ等である。   FIG. 1 shows an overview of a system in the present embodiment. The main body devices 1a and 1b are, for example, server units or server blades, and each operate independently as one computer. An I / O (Input / Output) 5a is connected to the main unit 1a, and an I / O 5b is connected to the main unit 1b. The I / Os 5a and 5b are external storage devices such as HDD (Hard Disk Drive), for example. The main devices 1a and 1b are connected to an SSU (System Storage Unit) 3 which is a shared storage device. The SSU 3 is, for example, a nonvolatile memory.

但し、SSU3に接続される本体装置の数は3以上であってもよい。また、各本体装置に接続されるI/Oの数は2以上であってもよい。   However, the number of main devices connected to the SSU 3 may be three or more. Further, the number of I / Os connected to each main device may be two or more.

本実施の形態においては、SSU3からI/O(説明を簡単にするため、以下ではI/O5aとする)にデータを転送することを考える。図2に、主記憶を経由してデータを転送する場合のタイムチャートを示す。図2において、SSM(System Storage Manager)はSSU3と本体装置1aとの間のインタフェース制御を行うユニットであり、チャネルはI/O5aと本体装置1aとの間のインタフェース制御を行うユニットである。   In the present embodiment, it is considered that data is transferred from the SSU 3 to the I / O (for the sake of simplicity, it will be referred to as I / O 5a hereinafter). FIG. 2 shows a time chart when data is transferred via the main memory. In FIG. 2, SSM (System Storage Manager) is a unit that performs interface control between the SSU 3 and the main apparatus 1a, and a channel is a unit that performs interface control between the I / O 5a and the main apparatus 1a.

主記憶を経由してデータを転送する場合、まずCPU(Central Processing Unit)は、SSU3に格納されたデータの読出命令をSSMに発行する。SSMは、SSU3に格納されたデータの読出命令をCPUから受け取ると、SSU3からデータを読み出して主記憶に転送する。主記憶へのデータ転送が完了すると、SSMは、読み出しが完了したことを示す完了報告をCPUに発行する。CPUは完了報告を受け取ると、I/O5aへの書込命令をチャネルに発行する。チャネルは、I/O5aへの書込命令を受け取ると、主記憶に格納されたデータをI/O5aに転送する。I/O5aへの転送が完了すると、チャネルは、書き込みが完了したことを示す完了報告をCPUに発行する。以上で一連のデータ転送が完了する。   When transferring data via the main memory, first, a CPU (Central Processing Unit) issues a read command for data stored in the SSU 3 to the SSM. When the SSM receives a read command for data stored in the SSU 3 from the CPU, the SSM reads the data from the SSU 3 and transfers it to the main memory. When the data transfer to the main memory is completed, the SSM issues a completion report indicating that the reading is completed to the CPU. When the CPU receives the completion report, it issues a write command to the I / O 5a to the channel. When the channel receives a write command to the I / O 5a, the channel transfers the data stored in the main memory to the I / O 5a. When the transfer to the I / O 5a is completed, the channel issues a completion report to the CPU indicating that the writing has been completed. Thus, a series of data transfer is completed.

この転送方法においては処理がシリアルに行われるため、背景技術の欄で述べたように、データの転送が完了するまでの時間が長くなる。   In this transfer method, since processing is performed serially, as described in the background section, it takes a long time to complete data transfer.

そこで本実施の形態においては、主記憶を経由しないように且つ一部の処理を並行して行うようにデータを転送することで転送時間を短縮する。図3に、主記憶を経由せずにデータを転送する場合のタイムチャートを示す。図3において、バイパスバッファとは、本体装置1aのMCU(Memory Controller unit)に設けられるバッファである。まずCPUは、SSU3に格納されたデータの読出命令をSSMに発行する。SSMは、SSU3に格納されたデータの読出命令をCPUから受け取ると、読み出しが完了したことを示す完了報告をCPUに発行する。そして、SSMは、SSU3からデータを読み出してバイパスバッファに転送することを開始する。これと並行して、CPUは完了報告を受け取ると、I/O5aへの書込命令をチャネルに発行する。チャネルは、I/O5aへの書込命令を受け取ると、バイパスバッファに格納されたデータをI/O5aに転送する。I/O5aへの転送が完了すると、チャネルは、書き込みが完了したことを示す完了報告をCPUに発行する。以上で一連のデータ転送が完了する。   Therefore, in the present embodiment, the transfer time is shortened by transferring data so as not to go through the main memory and to perform some processes in parallel. FIG. 3 shows a time chart when transferring data without going through the main memory. In FIG. 3, the bypass buffer is a buffer provided in an MCU (Memory Controller unit) of the main device 1a. First, the CPU issues a read command for data stored in the SSU 3 to the SSM. When the SSM receives an instruction to read data stored in the SSU 3 from the CPU, the SSM issues a completion report indicating that the reading has been completed to the CPU. Then, the SSM starts reading data from the SSU 3 and transferring it to the bypass buffer. In parallel with this, when the CPU receives the completion report, it issues a write command to the I / O 5a to the channel. When the channel receives a write command to the I / O 5a, the channel transfers the data stored in the bypass buffer to the I / O 5a. When the transfer to the I / O 5a is completed, the channel issues a completion report to the CPU indicating that the writing has been completed. Thus, a series of data transfer is completed.

以下では、本実施の形態の具体的な内容について説明する。   Below, the specific content of this Embodiment is demonstrated.

図4に、本体装置1aの構成を示す。本体装置1aは、CPU11と、主記憶12と、MCU10と、SSM13と、チャネル14とを有する。SSM13はSSU3に接続され、チャネル14はI/O5aに接続される。   FIG. 4 shows the configuration of the main device 1a. The main device 1 a includes a CPU 11, a main memory 12, an MCU 10, an SSM 13, and a channel 14. The SSM 13 is connected to the SSU 3, and the channel 14 is connected to the I / O 5a.

図5Aに、MCU10の構成を示す。MCU10は、パケットの転送等を実行するパケット制御回路150a乃至150fと、バイパスバッファ制御回路100とを有する。括弧付きの番号は、以下で説明する、本体装置1aの動作の番号に相当する。   FIG. 5A shows the configuration of the MCU 10. The MCU 10 includes packet control circuits 150a to 150f that execute packet transfer and the like, and a bypass buffer control circuit 100. The numbers in parentheses correspond to the numbers of the operations of the main device 1a described below.

パケット制御回路150aはCPU11、パケット制御回路150c及びパケット制御回路150eに接続される。パケット制御回路150bはCPU11、パケット制御回路150d及びパケット制御回路150fに接続される。パケット制御回路150cはSSM13、パケット制御回路150a及びバイパスバッファ制御回路100に接続される。パケット制御回路150dはSSM13、パケット制御回路150b及びバイパスバッファ制御回路100に接続される。パケット制御回路150eはチャネル14、パケット制御回路150a及びバイパスバッファ制御回路100に接続される。パケット制御回路150fはチャネル14、パケット制御回路150b及びバイパスバッファ制御回路100に接続される。バイパスバッファ制御回路100は、主記憶12及びパケット制御回路150c乃至150fに接続される。   The packet control circuit 150a is connected to the CPU 11, the packet control circuit 150c, and the packet control circuit 150e. The packet control circuit 150b is connected to the CPU 11, the packet control circuit 150d, and the packet control circuit 150f. The packet control circuit 150c is connected to the SSM 13, the packet control circuit 150a, and the bypass buffer control circuit 100. The packet control circuit 150d is connected to the SSM 13, the packet control circuit 150b, and the bypass buffer control circuit 100. The packet control circuit 150e is connected to the channel 14, the packet control circuit 150a, and the bypass buffer control circuit 100. The packet control circuit 150f is connected to the channel 14, the packet control circuit 150b, and the bypass buffer control circuit 100. The bypass buffer control circuit 100 is connected to the main memory 12 and the packet control circuits 150c to 150f.

図5Bに、SSM13及びチャネル14の構成を示す。SSM13は、パケットの転送等を実行するパケット制御回路13pと、SSU3へのデータの書き込み及びSSU3からのデータの読み込み等を実行するデータ転送回路13tと、データ転送回路13tに使用されるメモリ13mとを有する。パケット制御回路13pは、バイパス制御回路130を有する。チャネル14は、パケットの転送等を実行するパケット制御回路14pと、チャネル14の特徴的な動作をするためのプログラムを実行するプログラム実行回路14eと、I/O5aへのデータの書き込み及びI/O5aからのデータの読み込み等を実行するデータ転送回路14tと、データ転送回路14tに使用されるメモリ14mとを有する。パケット制御回路14pは、バイパス制御回路140を有する。括弧付きの番号は、以下で説明する、本体装置1aの動作の番号に相当する。   FIG. 5B shows the configuration of the SSM 13 and the channel 14. The SSM 13 includes a packet control circuit 13p that executes packet transfer and the like, a data transfer circuit 13t that executes data writing to the SSU 3, reading data from the SSU 3, and the like, and a memory 13m used for the data transfer circuit 13t. Have The packet control circuit 13p has a bypass control circuit 130. The channel 14 includes a packet control circuit 14p that executes packet transfer and the like, a program execution circuit 14e that executes a program for performing a characteristic operation of the channel 14, and data writing to the I / O 5a and I / O 5a. A data transfer circuit 14t for reading data from the memory 14m and a memory 14m used for the data transfer circuit 14t. The packet control circuit 14p has a bypass control circuit 140. The numbers in parentheses correspond to the numbers of the operations of the main device 1a described below.

データ転送回路13tは、SSU3と、メモリ13mと、パケット制御回路13pとに接続される。メモリ13mはデータ転送回路13tに接続される。パケット制御回路13pは、MCU10と、データ転送回路13tに接続される。データ転送回路14tは、I/O5aと、メモリ14mと、プログラム実行回路14eとに接続される。メモリ14mは、データ転送回路14tに接続される。プログラム実行回路14eは、データ転送回路14tとパケット制御回路14pとに接続される。パケット制御回路14pは、MCU10と、プログラム実行回路14eに接続される。   The data transfer circuit 13t is connected to the SSU 3, the memory 13m, and the packet control circuit 13p. The memory 13m is connected to the data transfer circuit 13t. The packet control circuit 13p is connected to the MCU 10 and the data transfer circuit 13t. The data transfer circuit 14t is connected to the I / O 5a, the memory 14m, and the program execution circuit 14e. The memory 14m is connected to the data transfer circuit 14t. The program execution circuit 14e is connected to the data transfer circuit 14t and the packet control circuit 14p. The packet control circuit 14p is connected to the MCU 10 and the program execution circuit 14e.

図6に、パケット制御回路13pの構成を示す。パケット制御回路13pは、バイパス制御回路130と、入力パケット解析部131と、書き込み制御回路132と、完了報告制御回路133と、出力パケット生成部134とを有する。バイパス制御回路130は、バイパスモードチェック部1301と、先出フラグ1302とを有する。括弧付きの番号は、以下で説明する本体装置1aの動作の番号に相当する。   FIG. 6 shows the configuration of the packet control circuit 13p. The packet control circuit 13p includes a bypass control circuit 130, an input packet analysis unit 131, a write control circuit 132, a completion report control circuit 133, and an output packet generation unit 134. The bypass control circuit 130 includes a bypass mode check unit 1301 and a first-out flag 1302. The numbers in parentheses correspond to the numbers of the operations of the main device 1a described below.

入力パケット解析部131は、バイパスモードチェック部1301に接続される。書き込み制御回路132は、先出フラグ1302と、出力パケット生成部134とに接続される。完了報告制御回路133は、出力パケット生成部134と、先出フラグ1302とに接続される。出力パケット生成部134は、完了報告制御回路133と、書き込み制御回路132とに接続される。バイパスモードチェック部1301は、入力パケット解析部131と、先出フラグ1302とに接続される。先出フラグ1302は、バイパスモードチェック部1301と、完了報告制御回路133と、書き込み制御回路132とに接続される。   The input packet analysis unit 131 is connected to the bypass mode check unit 1301. The write control circuit 132 is connected to the advance flag 1302 and the output packet generator 134. The completion report control circuit 133 is connected to the output packet generator 134 and the advance flag 1302. The output packet generator 134 is connected to the completion report control circuit 133 and the write control circuit 132. The bypass mode check unit 1301 is connected to the input packet analysis unit 131 and the advance flag 1302. The advance flag 1302 is connected to the bypass mode check unit 1301, the completion report control circuit 133, and the write control circuit 132.

図7に、パケット制御回路14pの構成を示す。パケット制御回路14pは、バイパス制御回路140と、入力パケット解析部141と、読み出し制御回路142と、完了報告制御回路143と、出力パケット生成部144とを有する。バイパス制御回路140は、バイパスモードチェック部1401と、バイパス実行フラグ1402とを有する。括弧付きの番号は、以下で説明する本体装置1aの動作の番号に相当する。   FIG. 7 shows the configuration of the packet control circuit 14p. The packet control circuit 14p includes a bypass control circuit 140, an input packet analysis unit 141, a read control circuit 142, a completion report control circuit 143, and an output packet generation unit 144. The bypass control circuit 140 includes a bypass mode check unit 1401 and a bypass execution flag 1402. The numbers in parentheses correspond to the numbers of the operations of the main device 1a described below.

入力パケット解析部141は、バイパスモードチェック部1401に接続される。読み出し制御回路142は、バイパス実行フラグ1402と、出力パケット生成部144とに接続される。完了報告制御回路143は、出力パケット生成部144に接続される。出力パケット生成部144は、完了報告制御回路143と、読み出し制御回路142とに接続される。バイパスモードチェック部1401は、入力パケット解析部141と、バイパス実行フラグ1402とに接続される。バイパス実行フラグ1402は、バイパスモードチェック部1401と、読み出し制御回路142とに接続される。   The input packet analysis unit 141 is connected to the bypass mode check unit 1401. The read control circuit 142 is connected to the bypass execution flag 1402 and the output packet generation unit 144. The completion report control circuit 143 is connected to the output packet generation unit 144. The output packet generation unit 144 is connected to the completion report control circuit 143 and the read control circuit 142. The bypass mode check unit 1401 is connected to the input packet analysis unit 141 and the bypass execution flag 1402. The bypass execution flag 1402 is connected to the bypass mode check unit 1401 and the read control circuit 142.

図8に、バイパスバッファ制御回路100の構成を示す。バイパスバッファ制御回路100は、バイパスバッファ101と、バイパスモードチェック回路102と、バイパスモードチェック回路103と、データチェック回路104と、第1切替部105と、第2切替部106と、バイパスリクエストキュー制御回路107と、バイパスリクエストキュー108と、バイパスリクエストポート109と、アドレス比較回路110と、第1調停回路111と、第2調停回路112と、完了報告制御回路113とを有する。括弧付きの番号は、以下で説明する本体装置1aの動作の番号に相当する。   FIG. 8 shows a configuration of the bypass buffer control circuit 100. The bypass buffer control circuit 100 includes a bypass buffer 101, a bypass mode check circuit 102, a bypass mode check circuit 103, a data check circuit 104, a first switching unit 105, a second switching unit 106, and a bypass request queue control. The circuit 107 includes a bypass request queue 108, a bypass request port 109, an address comparison circuit 110, a first arbitration circuit 111, a second arbitration circuit 112, and a completion report control circuit 113. The numbers in parentheses correspond to the numbers of the operations of the main device 1a described below.

バイパスバッファ101は、第1切替部105と、完了報告制御回路113と、アドレス比較回路110と、調停ポートAとに接続される。バイパスモードチェック回路102は、データチェック回路104と、第1切替部105とに接続される。バイパスモードチェック回路103は、第2切替部106に接続される。データチェック回路104は、バイパスモードチェック回路102と、第1切替部105とに接続される。第1切替部105は、データチェック回路104と、バイパスバッファ101と、完了報告制御回路113とに接続される。第2切替部106は、バイパスモードチェック回路103と、バイパスリクエストキュー108とに接続される。バイパスリクエストキュー制御回路107は、アドレス比較回路110と、バイパスリクエストキュー108とに接続される。バイパスリクエストキュー108は、第2切替部106と、バイパスリクエストキュー制御回路107と、バイパスリクエストポート109とに接続される。バイパスリクエストポート109は、バイパスリクエストキュー108と、アドレス比較回路110と、調停ポートAとに接続される。アドレス比較回路110は、バイパスリクエストキュー制御回路107と、バイパスリクエストポート109と、バイパスバッファ101と、調停ポートAとに接続される。第1調停回路111は、調停ポートA及びBに接続される。第2調停回路112は、調停ポートC及びDに接続される。完了報告制御回路113は、第1切替部105と、調停ポートCとに接続される。調停ポートA乃至Dは、レジスタ等の記憶装置である。   The bypass buffer 101 is connected to the first switching unit 105, the completion report control circuit 113, the address comparison circuit 110, and the arbitration port A. The bypass mode check circuit 102 is connected to the data check circuit 104 and the first switching unit 105. The bypass mode check circuit 103 is connected to the second switching unit 106. The data check circuit 104 is connected to the bypass mode check circuit 102 and the first switching unit 105. The first switching unit 105 is connected to the data check circuit 104, the bypass buffer 101, and the completion report control circuit 113. The second switching unit 106 is connected to the bypass mode check circuit 103 and the bypass request queue 108. The bypass request queue control circuit 107 is connected to the address comparison circuit 110 and the bypass request queue 108. The bypass request queue 108 is connected to the second switching unit 106, the bypass request queue control circuit 107, and the bypass request port 109. The bypass request port 109 is connected to the bypass request queue 108, the address comparison circuit 110, and the arbitration port A. The address comparison circuit 110 is connected to the bypass request queue control circuit 107, the bypass request port 109, the bypass buffer 101, and the arbitration port A. The first arbitration circuit 111 is connected to the arbitration ports A and B. The second arbitration circuit 112 is connected to the arbitration ports C and D. The completion report control circuit 113 is connected to the first switching unit 105 and the arbitration port C. The arbitration ports A to D are storage devices such as registers.

図9に、バイパスバッファ101に格納されるデータの一例を示す。図9の例では、データと、データが格納される主記憶上のアドレス(以下、MS(Main Storage)アドレスと呼ぶ)と、有効フラグの値とが格納される。有効フラグが有効(例えば値が「1」)に設定されている場合、データは調停ポートAへ未だ出力されていない。有効フラグが無効(例えば値が「0」)に設定されている場合、データは調停ポートAへ既に出力されている。   FIG. 9 shows an example of data stored in the bypass buffer 101. In the example of FIG. 9, data, an address on the main memory where the data is stored (hereinafter referred to as an MS (Main Storage) address), and the value of the valid flag are stored. If the valid flag is set to valid (for example, the value is “1”), the data has not yet been output to the arbitration port A. If the valid flag is set to invalid (for example, the value is “0”), the data has already been output to the arbitration port A.

図10に、バイパスリクエストキュー108に格納されるデータの一例を示す。図10の例では、リクエストが格納される。図11に、リクエストのフォーマットの一例を示す。図11の例では、リクエストには、アクセスの種類を規定するオペレーションコードと、MSアドレスと、バイパスモードを示す情報と、データとが含まれる。オペレーションコードが「0001」である場合、リクエストは、CPU11からSSM13に対して発行される、SSU3からの読出命令に相当する。オペレーションコードが「1001」である場合、リクエストは、SSM13からCPU11に対して発行される、SSU3からの読み出しの完了報告に相当する。オペレーションコードが「0010」である場合、リクエストは、CPU11からチャネル14に対して発行される、I/O5aに対する書込命令に相当する。オペレーションコードが「1010」である場合、リクエストは、チャネル14からCPU11に対して発行される、I/O5aに対する書き込みの完了報告に相当する。オペレーションコードが「0100」である場合、リクエストは、SSM13又はチャネル14から主記憶12に対して発行される、主記憶12からの読出命令に相当する。オペレーションコードが「1100」である場合、リクエストは、主記憶12からSSM13又はチャネル14に対して発行される、主記憶12からの読出の応答(以下、読出応答と呼ぶ)に相当する。オペレーションコードが「0101」である場合、リクエストは、SSM13又はチャネル14から主記憶12に対して発行される、主記憶12に対する書込命令に相当する。オペレーションコードが「1101」である場合、リクエストは、主記憶12からSSM13又はチャネル14に対して発行される、主記憶12に対する書き込みの完了報告に相当する。なお、主記憶12に対する書込命令および主記憶12からの読出命令であったとしても、バイパスモードが有効に設定されている場合には、主記憶12に対する書き込みおよび主記憶12からの読み出しは行われない。   FIG. 10 shows an example of data stored in the bypass request queue 108. In the example of FIG. 10, a request is stored. FIG. 11 shows an example of a request format. In the example of FIG. 11, the request includes an operation code that defines the type of access, an MS address, information indicating a bypass mode, and data. When the operation code is “0001”, the request corresponds to a read command issued from the SSU 3 to the SSM 13 from the CPU 11. When the operation code is “1001”, the request corresponds to a read completion report from the SSU 3 issued from the SSM 13 to the CPU 11. When the operation code is “0010”, the request corresponds to a write instruction for the I / O 5 a issued from the CPU 11 to the channel 14. When the operation code is “1010”, the request corresponds to a write completion report for the I / O 5 a issued from the channel 14 to the CPU 11. When the operation code is “0100”, the request corresponds to a read instruction from the main memory 12 issued from the SSM 13 or the channel 14 to the main memory 12. When the operation code is “1100”, the request corresponds to a read response from the main memory 12 (hereinafter referred to as a read response) issued from the main memory 12 to the SSM 13 or the channel 14. When the operation code is “0101”, the request corresponds to a write instruction to the main memory 12 issued from the SSM 13 or the channel 14 to the main memory 12. When the operation code is “1101”, the request corresponds to a write completion report to the main memory 12 issued from the main memory 12 to the SSM 13 or the channel 14. Even if the command is a write command to the main memory 12 and a read command from the main memory 12, if the bypass mode is set to be effective, writing to the main memory 12 and reading from the main memory 12 are not performed. I will not.

図12を用いて、本実施の形態における本体装置1aの動作の概要を説明する。   The outline of the operation of the main device 1a in the present embodiment will be described with reference to FIG.

CPU11は、SSM13に対して、SSU3からのデータの読出命令をバイパスモードを有効にして(すなわち、バイパスモードの値を1に設定して)発行する(図12における(i))。   The CPU 11 issues a data read command from the SSU 3 to the SSM 13 with the bypass mode enabled (that is, with the bypass mode value set to 1) ((i) in FIG. 12).

SSM13は、バイパスモードが有効な読出命令を検出し、SSU3のデータを読み出して主記憶12への書き込みを行うことを待たずに、SSU3からの読み出しの完了報告を先出でCPU11に発行する(図12における(ii))。   The SSM 13 detects a read command in which the bypass mode is effective, and issues a read completion report from the SSU 3 to the CPU 11 first without waiting for the data of the SSU 3 to be read and written to the main memory 12 ( (Ii) in FIG.

SSM13は、SSU3からのデータの読出命令に従いSSU3からデータを読み出し(図12における(iii))、読み出したデータを主記憶12へ書き込むための書込命令をバイパスモードを有効にして発行する(図12における(iv))。MCU10のバイパスバッファ制御回路100は、バイパスモードが有効な書込命令をSSM13から受信し、エラーが無ければ、書込命令に含まれるMSアドレスとデータとを有効フラグを有効に設定してバイパスバッファ101に格納する。   The SSM 13 reads data from the SSU 3 in accordance with the data read command from the SSU 3 ((iii) in FIG. 12), and issues a write command for writing the read data to the main memory 12 with the bypass mode enabled (FIG. 12). (Iv) in 12). The bypass buffer control circuit 100 of the MCU 10 receives a write command in which the bypass mode is valid from the SSM 13, and if there is no error, the MS flag and the data included in the write command are set to valid flags to enable the bypass buffer. 101.

一方で、CPU11は、SSU3からの読み出しの完了報告をSSM13から受信した場合、I/O5aに対する書込命令をバイパスモードを有効にしてチャネル14に発行する(図12における(v))。   On the other hand, when the CPU 11 receives a read completion report from the SSU 3 from the SSM 13, the CPU 11 issues a write command for the I / O 5a to the channel 14 with the bypass mode enabled ((v) in FIG. 12).

チャネル14は、バイパスモードが有効な書込命令をCPU11から受信する。そして、チャネル14は、データを読み出してI/O5aに書き込むため、主記憶12からの読出命令をバイパスモードを有効にしてMCU10に対して発行する(図12における(vi))。   The channel 14 receives a write command in which the bypass mode is valid from the CPU 11. The channel 14 issues a read command from the main memory 12 to the MCU 10 with the bypass mode enabled in order to read data and write it to the I / O 5a ((vi) in FIG. 12).

MCU10のバイパスバッファ制御回路100は、バイパスモードが有効な読出命令をチャネル14から受信する。そして、バイパスバッファ制御回路100は、受信した読出命令に従いバイパスバッファ101からデータを読み出し、読み出したデータを含む読出応答をチャネル14に発行する(図12における(vii))。   The bypass buffer control circuit 100 of the MCU 10 receives a read command in which the bypass mode is valid from the channel 14. The bypass buffer control circuit 100 reads data from the bypass buffer 101 in accordance with the received read command, and issues a read response including the read data to the channel 14 ((vii) in FIG. 12).

チャネル14は、読出応答をMCU10から受信した場合、受信した読出応答に含まれるデータをI/O5aに書き込む。そして、チャネル14は、I/O5aに対する書き込みの完了報告をCPU11に対して発行する(図12における(viii))。   When the channel 14 receives a read response from the MCU 10, the channel 14 writes data included in the received read response to the I / O 5a. Then, the channel 14 issues a write completion report for the I / O 5a to the CPU 11 ((viii) in FIG. 12).

以上が本体装置1aの動作の概要である。   The above is the outline of the operation of the main device 1a.

より詳細には、本体装置1aは以下のように動作する。なお、括弧付きの番号は図5A乃至図8に示した番号に対応する。   More specifically, the main device 1a operates as follows. The numbers in parentheses correspond to the numbers shown in FIGS. 5A to 8.

まず、CPU11は、SSU3からの読出命令を、バイパスモードを有効にし且つMCU10を経由してSSM13に発行する(1)。   First, the CPU 11 issues a read command from the SSU 3 to the SSM 13 via the MCU 10 while enabling the bypass mode (1).

SSM13のバイパスモードチェック部1301は、入力パケット解析部131を介して受信した読出命令のバイパスモードが有効であるか判定する(2)。バイパスモードが有効である場合、SSM13は、SSU3からの読み出しの完了報告を先出するため、先出フラグ1302を有効(例えば「1」)に設定する(3)。先出フラグ1302が有効に設定された場合、SSM13は、完了報告制御回路133を起動する。完了報告制御回路133は、SSU3からの読み出しの完了報告を生成し、生成した完了報告を出力パケット生成部134がCPU11に対して発行する(4)。   The bypass mode check unit 1301 of the SSM 13 determines whether the bypass mode of the read command received via the input packet analysis unit 131 is valid (2). When the bypass mode is valid, the SSM 13 sets the advance flag 1302 to be valid (for example, “1”) in order to advance the read completion report from the SSU 3 (3). When the advance flag 1302 is set to be valid, the SSM 13 activates the completion report control circuit 133. The completion report control circuit 133 generates a read completion report from the SSU 3, and the output packet generation unit 134 issues the generated completion report to the CPU 11 (4).

CPU11は、SSU3からの読み出しの完了報告を受信する。そして、CPU11は、I/O5aに対する書込命令を、バイパスモードを有効にし且つMCU10を経由してチャネル14に発行する(5)。   The CPU 11 receives a read completion report from the SSU 3. Then, the CPU 11 issues a write command for the I / O 5a to the channel 14 via the MCU 10 while enabling the bypass mode (5).

SSM13の入力パケット解析部131は、SSU3からの読出命令をSSU3に発行する(6)。SSM13は、SSU3から読み出されたデータを受信する(7)。そして、先出フラグ1302が有効である場合、SSM13の書き込み制御回路132は、SSU3から読み出されたデータの書込命令を、バイパスモードを有効にしてMCU10に対して発行する(8)。(6)から(8)の処理はデータを漏れなく書き込むまで繰り返し行われる。   The input packet analysis unit 131 of the SSM 13 issues a read command from the SSU 3 to the SSU 3 (6). The SSM 13 receives the data read from the SSU 3 (7). If the advance flag 1302 is valid, the write control circuit 132 of the SSM 13 issues a data write command read from the SSU 3 to the MCU 10 with the bypass mode enabled (8). Processes (6) to (8) are repeated until data is written without omission.

MCU10のバイパスバッファ制御回路100におけるバイパスモードチェック回路102は、SSM13から受信した書込命令に設定されたバイパスモードを確認する(9)。   The bypass mode check circuit 102 in the bypass buffer control circuit 100 of the MCU 10 confirms the bypass mode set in the write command received from the SSM 13 (9).

バイパスモードが「有効」である場合、バイパスバッファ制御回路100は、以下の処理を実行する。具体的には、データチェック回路104は、書込命令のデータが正常であるか確認し、エラーが発生していた場合には書込命令を廃却してSSM13に対して書込命令の再送要求を送信する(10−1)。第1切替部105は、MSアドレスと書き込まれるデータとを含むセットを、有効フラグを有効にしてバイパスバッファ101に格納する(10−2)。バイパスバッファ101に空きがある場合、完了報告制御回路113は、主記憶12に対する書き込みの完了報告を調停ポートCに設定する(10−3)。(10−2)の書き込みによってバイパスバッファ101に空きが無くなった場合、完了報告制御回路113は、空きが生じるまで完了報告の発行を保留する。   When the bypass mode is “valid”, the bypass buffer control circuit 100 executes the following processing. Specifically, the data check circuit 104 checks whether the data of the write command is normal, and when an error has occurred, discards the write command and resends the write command to the SSM 13. A request is transmitted (10-1). The first switching unit 105 stores the set including the MS address and the data to be written in the bypass buffer 101 with the validity flag validated (10-2). When the bypass buffer 101 is empty, the completion report control circuit 113 sets a completion report for writing to the main memory 12 in the arbitration port C (10-3). When there is no empty space in the bypass buffer 101 due to the writing of (10-2), the completion report control circuit 113 suspends issuing the completion report until the empty space is generated.

一方、バイパスモードが「有効」ではない場合、バイパスバッファ制御回路100は、以下の処理を実行する。具体的には、バイパスバッファ制御回路100は、書込命令に従って主記憶12に対する書き込みを実行する(11−1)。そして、バイパスバッファ制御回路100は、主記憶12に対する書き込みの完了報告を調停ポートDに設定する(11−2)。   On the other hand, when the bypass mode is not “valid”, the bypass buffer control circuit 100 executes the following processing. Specifically, the bypass buffer control circuit 100 executes writing to the main memory 12 according to the write command (11-1). Then, the bypass buffer control circuit 100 sets a completion report of writing to the main memory 12 in the arbitration port D (11-2).

第2調停回路112は、調停ポートCと調停ポートDのいずれか一方のみが選択され続けることが無いように選択を行い、選択した調停ポートに設定された完了報告をSSM13に対して発行する(12)。   The second arbitration circuit 112 performs selection so that only one of the arbitration port C and the arbitration port D does not continue to be selected, and issues a completion report set for the selected arbitration port to the SSM 13 ( 12).

完了報告制御回路133は、CPU11から指定された転送長の分の読出命令に対応する書込命令の完了報告を漏れなく受信し且つ先出フラグ1302が有効に設定されている場合、SSU3からの読出命令の完了報告をCPU11に発行せず、先出フラグ1302を無効に設定して処理を終了する(13)。   When the completion report control circuit 133 receives the complete report of the write command corresponding to the read command for the transfer length designated by the CPU 11 and the advance flag 1302 is set to be valid, A completion report of the read command is not issued to the CPU 11, the advance flag 1302 is set to be invalid, and the process is terminated (13).

一方、チャネル14のバイパス制御回路140におけるバイパスモードチェック部1401は、入力パケット解析部141を介して受信した書込命令のバイパスモードが有効であるか判定する(14)。バイパスモードが有効である場合、バイパスモードチェック部1401は、バイパス実行フラグ1402を有効に設定する(15)。読み出し制御回路142は、主記憶12からの読出命令を、バイパスモードを有効にして出力パケット生成部144を介してMCU10に発行する(16)。CPU11から指定された転送長分の書き込みを行うためのデータを取得するため、チャネル14は(16)の処理を繰り返し行い、読出命令の発行が完了すると読み出し制御回路142はバイパス実行フラグ1402を無効に設定する(17)。   On the other hand, the bypass mode check unit 1401 in the bypass control circuit 140 of the channel 14 determines whether the bypass mode of the write command received through the input packet analysis unit 141 is valid (14). When the bypass mode is valid, the bypass mode check unit 1401 sets the bypass execution flag 1402 to be valid (15). The read control circuit 142 issues a read command from the main memory 12 to the MCU 10 via the output packet generator 144 with the bypass mode enabled (16). The channel 14 repeats the process of (16) to acquire data for writing for the specified transfer length from the CPU 11, and when the read command is issued, the read control circuit 142 invalidates the bypass execution flag 1402 (17).

MCU10のバイパスバッファ制御回路100におけるバイパスモードチェック回路103は、チャネル14から受信した読出命令のバイパスモードを確認する(18)。   The bypass mode check circuit 103 in the bypass buffer control circuit 100 of the MCU 10 confirms the bypass mode of the read command received from the channel 14 (18).

バイパスモードが「有効」である場合、バイパスバッファ制御回路100は、以下の処理を実行する。具体的には、第2切替部106は、バイパスリクエストキュー108の最後尾に受信した読出命令を格納する(19−1)。バイパスリクエストキュー制御回路107は、バイパスリクエストキュー108の先頭の読出命令を、バイパスリクエストポート109が空である場合にバイパスリクエストポート109に格納し、バイパスリクエストキュー108をシフトする(19−2)。調停ポートAが空ではない場合、バイパスバッファ制御回路100は、調停ポートAが空くまで待機する(19−3)。調停ポートAが空である場合、アドレス比較回路110は、バイパスリクエストポート109に格納された読出命令のMSアドレスと同じMSアドレスであり且つ有効フラグが有効に設定されているという条件を満たすセットがバイパスバッファ101に存在するか判定する(19−4)。条件を満たすセットが存在する場合、アドレス比較回路110は、そのセットからデータを読み出して調停ポートAに格納し、有効フラグを無効に設定する。さらに、アドレス比較回路110は、読出命令の返信先のチャネルを示す情報をバイパスリクエストポート109から読み出して調停ポートAに格納し、バイパスリクエストポート109を空にする(19−5)。条件を満たすセットが存在しない場合、バイパスリクエストキュー制御回路107は、バイパスリクエストポート109に格納されている読出命令を取り出してバイパスリクエストキュー108の最後尾に格納し、バイパスリクエストポート109を空にする(19−6)。バイパスリクエストポート109に読出命令が残っている場合、バイパスバッファ制御回路100は、(19−1)から(19−6)までの処理を繰り返す。なお、調停ポートAにデータが格納された場合には以下で説明する(21)も実行される。   When the bypass mode is “valid”, the bypass buffer control circuit 100 executes the following processing. Specifically, the second switching unit 106 stores the received read command at the end of the bypass request queue 108 (19-1). The bypass request queue control circuit 107 stores the read instruction at the head of the bypass request queue 108 in the bypass request port 109 when the bypass request port 109 is empty, and shifts the bypass request queue 108 (19-2). If the arbitration port A is not empty, the bypass buffer control circuit 100 waits until the arbitration port A becomes empty (19-3). When the arbitration port A is empty, the address comparison circuit 110 sets a condition that satisfies the condition that the MS address is the same as the MS address of the read instruction stored in the bypass request port 109 and the valid flag is set to valid. It is determined whether it exists in the bypass buffer 101 (19-4). If there is a set that satisfies the condition, the address comparison circuit 110 reads data from the set, stores it in the arbitration port A, and sets the valid flag to invalid. Further, the address comparison circuit 110 reads information indicating the return destination channel of the read command from the bypass request port 109, stores it in the arbitration port A, and empties the bypass request port 109 (19-5). If there is no set that satisfies the condition, the bypass request queue control circuit 107 extracts the read instruction stored in the bypass request port 109 and stores it at the tail of the bypass request queue 108 to empty the bypass request port 109. (19-6). When the read command remains in the bypass request port 109, the bypass buffer control circuit 100 repeats the processes from (19-1) to (19-6). When data is stored in the arbitration port A, (21) described below is also executed.

一方、バイパスモードが「有効」ではない場合、バイパスバッファ制御回路100は、以下の処理を実行する。具体的には、バイパスバッファ制御回路100は、主記憶12からの読出命令に従い主記憶12からデータを読み出し(20−1)、読み出したデータを調停ポートBに格納する(20−2)。   On the other hand, when the bypass mode is not “valid”, the bypass buffer control circuit 100 executes the following processing. Specifically, the bypass buffer control circuit 100 reads data from the main memory 12 according to a read command from the main memory 12 (20-1), and stores the read data in the arbitration port B (20-2).

バイパスバッファ制御回路100における第1調停回路111は、調停ポートAと調停ポートBのいずれか一方のみが選択され続けることが無いように選択を行い、選択した調停ポートに格納されたデータをチャネル14に送信する(21)。   The first arbitration circuit 111 in the bypass buffer control circuit 100 performs selection so that only one of the arbitration port A and the arbitration port B is not continuously selected, and the data stored in the selected arbitration port is transmitted to the channel 14. (21).

チャネル14の入力パケット解析部141は、MCU10からデータを受信し(22)、受信したデータをI/O5aに書き込む(23)。完了報告制御回路143は、I/O5aから書き込みの完了報告を受け取り(24)、I/O5aに対する書き込みの完了報告を出力パケット生成部144を介してCPU11に発行する(25)。   The input packet analysis unit 141 of the channel 14 receives data from the MCU 10 (22), and writes the received data to the I / O 5a (23). The completion report control circuit 143 receives a write completion report from the I / O 5a (24), and issues a write completion report for the I / O 5a to the CPU 11 via the output packet generator 144 (25).

以上で本体装置1aの動作の概要についての説明を終了する。   This is the end of the description of the outline of the operation of the main device 1a.

次に、図13乃至図19のフローチャートを用いて、本体装置1aの動作を説明する。   Next, the operation of the main unit 1a will be described using the flowcharts of FIGS.

まず、図13を用いて、本実施の形態のシステムにおいて行われる処理の概要を説明する。CPU11はSSM13に対して、SSU3からの読出命令を発行する(図13:ステップS1)。これに応じ、SSM13はCPU11に対して、読出命令の完了報告を発行する(ステップS3)。   First, an outline of processing performed in the system according to the present embodiment will be described with reference to FIG. The CPU 11 issues a read command from the SSU 3 to the SSM 13 (FIG. 13: step S1). In response to this, the SSM 13 issues a read instruction completion report to the CPU 11 (step S3).

そして、ステップS9乃至S17の処理と、ステップS5及びS7の処理とが並行して行われる。まず、ステップS5及びS7の処理について説明する。   And the process of step S9 thru | or S17 and the process of step S5 and S7 are performed in parallel. First, the processing of steps S5 and S7 will be described.

SSM13は、SSU3からSSM13を介してバイパスバッファ101に対して、SSU3から読み出したデータを転送することを開始する(ステップS5)。   The SSM 13 starts transferring the data read from the SSU 3 from the SSU 3 to the bypass buffer 101 via the SSM 13 (step S5).

SSM13は、SSU3からバイパスバッファ101へのデータ転送が完了したか判定する(ステップS7)。データ転送が完了していない場合(ステップS7:Noルート)、ステップS7の処理に戻る。データ転送が完了した場合(ステップS7:Yesルート)、処理は終了する。   The SSM 13 determines whether the data transfer from the SSU 3 to the bypass buffer 101 has been completed (step S7). If the data transfer has not been completed (step S7: No route), the process returns to step S7. When the data transfer is completed (step S7: Yes route), the process ends.

一方、CPU11はチャネル14に対して、I/O5aに対する書込命令を発行する(ステップS9)。そして、チャネル14はMCU10のバイパスバッファ制御回路100に対して、主記憶12からの読出命令を発行する。   On the other hand, the CPU 11 issues a write command for the I / O 5a to the channel 14 (step S9). The channel 14 issues a read command from the main memory 12 to the bypass buffer control circuit 100 of the MCU 10.

バイパスバッファ制御回路100は、読出命令に含まれるMSアドレスと一致するMSアドレスがバイパスバッファ101に存在するか判定する(ステップS11)。読出命令に含まれるMSアドレスと一致するMSアドレスがバイパスバッファ101に存在しない場合(ステップS11:Noルート)、ステップS11の処理に戻る。   The bypass buffer control circuit 100 determines whether there is an MS address in the bypass buffer 101 that matches the MS address included in the read command (step S11). If there is no MS address in the bypass buffer 101 that matches the MS address included in the read command (step S11: No route), the process returns to step S11.

一方、読出命令に含まれるMSアドレスと一致するMSアドレスがバイパスバッファ101に存在する場合(ステップS11:Yesルート)、チャネル14は、バイパスバッファ101からチャネル14を介してI/O5aに対して、SSU3から読み出されたデータを転送することを開始する(ステップS13)。   On the other hand, when the MS address that matches the MS address included in the read command is present in the bypass buffer 101 (step S11: Yes route), the channel 14 sends the I / O 5a from the bypass buffer 101 via the channel 14 to the I / O 5a. The transfer of data read from the SSU 3 is started (step S13).

チャネル14は、バイパスバッファ101からI/O5aへのデータ転送が完了したか判定する(ステップS15)。データ転送が完了していない場合(ステップS15:Noルート)、ステップS15の処理に戻る。データ転送が完了した場合(ステップS15:Yesルート)、チャネル14はCPU11に対して、I/O5aに対する書込命令の完了報告を発行する(ステップS17)。そして処理は終了する。   The channel 14 determines whether the data transfer from the bypass buffer 101 to the I / O 5a is completed (step S15). If the data transfer has not been completed (step S15: No route), the process returns to step S15. When the data transfer is completed (step S15: Yes route), the channel 14 issues a completion report of the write command for the I / O 5a to the CPU 11 (step S17). Then, the process ends.

以上のように、データの読み出しとデータの書き込みとを並行して行うようにすれば、データの転送に要する時間を短縮できるようになる。また、本体装置に改変を加えることで実現可能なので、CPU11が実行する既存の命令フローを維持することができる。さらに、主記憶12に格納されているデータを別の場所に退避しなくて済むので、主記憶12に対する他のアクセスが遅延することもない。   As described above, when data reading and data writing are performed in parallel, the time required for data transfer can be shortened. Further, since it can be realized by modifying the main device, the existing instruction flow executed by the CPU 11 can be maintained. Furthermore, since it is not necessary to save the data stored in the main memory 12 to another location, other accesses to the main memory 12 are not delayed.

比較のため、図2を用いて説明した、主記憶を経由してデータを転送する場合の処理について図14を用いて説明する。   For comparison, the processing for transferring data via the main memory described with reference to FIG. 2 will be described with reference to FIG.

まず、CPU11はSSM13に対して、SSU3からの読出命令を発行する(図14:ステップS21)。   First, the CPU 11 issues a read command from the SSU 3 to the SSM 13 (FIG. 14: step S21).

SSM13は、SSU3に格納されているデータを主記憶12へ転送することを開始する(ステップS23)。SSM13は、データ転送が完了したか判定する(ステップS25)。データ転送が完了していない場合(ステップS25:Noルート)、ステップS25の処理に戻る。   The SSM 13 starts transferring the data stored in the SSU 3 to the main memory 12 (step S23). The SSM 13 determines whether the data transfer has been completed (step S25). When the data transfer is not completed (step S25: No route), the process returns to step S25.

一方、データ転送が完了した場合(ステップS25:Yesルート)、SSM13はCPU11に対して、読出命令の完了報告を発行する(ステップS27)。   On the other hand, when the data transfer is completed (step S25: Yes route), the SSM 13 issues a read instruction completion report to the CPU 11 (step S27).

読出命令の完了報告を受け取ったCPU11はチャネル14に対して、SSU3から読み出され且つ主記憶12に格納されたデータをI/O5aへ書き込む書込命令を発行する(ステップS29)。   Receiving the completion report of the read command, the CPU 11 issues a write command for writing data read from the SSU 3 and stored in the main memory 12 to the I / O 5a to the channel 14 (step S29).

チャネル14は、主記憶12に格納されているデータをI/O5aに転送することを開始する(ステップS30)。チャネル14は、データ転送が完了したか判定する(ステップS31)。データ転送が完了していない場合(ステップS31:Noルート)、ステップS31の処理に戻る。   The channel 14 starts to transfer the data stored in the main memory 12 to the I / O 5a (step S30). The channel 14 determines whether the data transfer has been completed (step S31). If the data transfer has not been completed (step S31: No route), the processing returns to step S31.

一方、データ転送が完了した場合(ステップS31:Yesルート)、チャネル14はCPU11に対して、書込命令の完了報告を発行する(ステップS33)。そして処理は終了する。   On the other hand, when the data transfer is completed (step S31: Yes route), the channel 14 issues a write command completion report to the CPU 11 (step S33). Then, the process ends.

以上のような処理の場合、データの読み出しが完了するまでは書き込みを開始できないので、転送が完了するまでの時間が長くなりがちである。また、データを主記憶12まで転送することになるので、本実施の形態の場合よりも転送距離が長い。   In the case of the above processing, since writing cannot be started until the data reading is completed, the time until the transfer is completed tends to be long. Further, since the data is transferred to the main memory 12, the transfer distance is longer than in the case of the present embodiment.

次に、図15乃至図19を用いて、本体装置1aの動作をより詳細に説明する。   Next, the operation of the main unit 1a will be described in more detail with reference to FIGS.

まず、図15を用いて、バイパスバッファ制御回路100がSSM13から書込命令を受信した際に実行する処理について説明する。   First, processing executed when the bypass buffer control circuit 100 receives a write command from the SSM 13 will be described with reference to FIG.

バイパスバッファ制御回路100のバイパスモードチェック回路102は、SSM13からの書込命令を検出し(図15:ステップS41)、バイパスモードが有効であるか判定する(ステップS43)。そして、バイパスモードチェック回路102は、判定結果を示す情報をデータチェック回路104に出力する。   The bypass mode check circuit 102 of the bypass buffer control circuit 100 detects a write command from the SSM 13 (FIG. 15: step S41) and determines whether the bypass mode is valid (step S43). Then, the bypass mode check circuit 102 outputs information indicating the determination result to the data check circuit 104.

バイパスモードが有効ではない場合(ステップS43:Noルート)、データチェック回路104は、バイパスモードが有効ではないことを第1切替部105に設定する。すると、第1切替部105は書込命令を主記憶12に出力し、これにより主記憶12に対する書き込みが実行される(ステップS45)。バイパスバッファ制御回路100は、主記憶12に対する書き込みの完了報告を受信し(ステップS47)、受信した完了報告を調停ポートDに格納する(ステップS49)。そして処理は終了する。   When the bypass mode is not valid (step S43: No route), the data check circuit 104 sets the first switching unit 105 that the bypass mode is not valid. Then, the 1st switching part 105 outputs a write command to the main memory 12, and the writing with respect to the main memory 12 is performed by this (step S45). The bypass buffer control circuit 100 receives a completion report for writing to the main memory 12 (step S47), and stores the received completion report in the arbitration port D (step S49). Then, the process ends.

一方、バイパスモードが有効である場合(ステップS43:Yesルート)、データチェック回路104は、書込命令に含まれるデータが正常であるか判定する(ステップS51)。   On the other hand, when the bypass mode is valid (step S43: Yes route), the data check circuit 104 determines whether the data included in the write command is normal (step S51).

データが正常ではない場合(ステップS51:Noルート)、データチェック回路104は、書込命令の再送要求をSSM13に送信する(ステップS53)。そして処理は終了する。   If the data is not normal (step S51: No route), the data check circuit 104 transmits a write command retransmission request to the SSM 13 (step S53). Then, the process ends.

一方、データが正常である場合(ステップS51:Yesルート)、データチェック回路104は、バイパスモードが有効であることを第1切替部105に設定する。すると、第1切替部105は書込命令をバイパスバッファ101に出力する。そして、バイパスバッファ制御回路100は、書込命令に含まれるMSアドレス及びデータを含むセットを、有効フラグを有効にしてバイパスバッファ101に格納する(ステップS55)。   On the other hand, when the data is normal (step S51: Yes route), the data check circuit 104 sets the first switching unit 105 that the bypass mode is valid. Then, the first switching unit 105 outputs a write command to the bypass buffer 101. Then, the bypass buffer control circuit 100 stores the set including the MS address and data included in the write command in the bypass buffer 101 with the validity flag being validated (step S55).

完了報告制御回路113は、バイパスバッファ101に空きが有るか判定する(ステップS57)。空きが無い場合(ステップS57:Noルート)、ステップS57の処理に戻る。一方、空きが有る場合(ステップS57:Yesルート)、完了報告制御回路113は、主記憶12への書き込みの完了報告を生成する(ステップS59)。そして、完了報告制御回路113は、生成した完了報告を調停ポートCに設定する(ステップS61)。そして処理は終了する。   The completion report control circuit 113 determines whether the bypass buffer 101 has a free space (step S57). If there is no space (step S57: No route), the process returns to step S57. On the other hand, when there is a vacancy (step S57: Yes route), the completion report control circuit 113 generates a completion report of writing to the main memory 12 (step S59). Then, the completion report control circuit 113 sets the generated completion report in the arbitration port C (step S61). Then, the process ends.

次に、図16を用いて、バイパスバッファ制御回路100の第2調停回路112が実行する処理について説明する。   Next, processing executed by the second arbitration circuit 112 of the bypass buffer control circuit 100 will be described with reference to FIG.

まず、第2調停回路112は、調停ポートCにデータが格納されているか判定する(図16:ステップS71)。   First, the second arbitration circuit 112 determines whether data is stored in the arbitration port C (FIG. 16: step S71).

調停ポートCにデータが格納されていない場合(ステップS71:Noルート)、第2調停回路112は、調停ポートDにデータが格納されているか判定する(ステップS73)。調停ポートDにデータが格納されていない場合(ステップS73:Noルート)、処理は終了する。一方、調停ポートDにデータが格納されている場合(ステップS73:Yesルート)、ステップS79の処理に移行する。   When data is not stored in the arbitration port C (step S71: No route), the second arbitration circuit 112 determines whether data is stored in the arbitration port D (step S73). If no data is stored in the arbitration port D (step S73: No route), the process ends. On the other hand, when data is stored in the arbitration port D (step S73: Yes route), the process proceeds to step S79.

調停ポートCにデータが格納されている場合(ステップS71:Yesルート)、第2調停回路112は、調停ポートDにデータが格納されているか判定する(ステップS75)。調停ポートDにデータが格納されていない場合(ステップS75:Noルート)、ステップS81の処理に移行する。一方、調停ポートDにデータが格納されている場合(ステップS75:Yesルート)、第2調停回路112は、調停ポートCが直前に選択されたか判定する(ステップS77)。   When data is stored in the arbitration port C (step S71: Yes route), the second arbitration circuit 112 determines whether data is stored in the arbitration port D (step S75). When data is not stored in the arbitration port D (step S75: No route), the process proceeds to step S81. On the other hand, when data is stored in the arbitration port D (step S75: Yes route), the second arbitration circuit 112 determines whether the arbitration port C has been selected immediately before (step S77).

調停ポートCが直前に選択された場合(ステップS77:Yesルート)、第2調停回路112は、調停ポートDを選択する(ステップS79)。そして、第2調停回路112は、調停ポートDに格納されているデータを出力する。そして処理は終了する。   When the arbitration port C is selected immediately before (step S77: Yes route), the second arbitration circuit 112 selects the arbitration port D (step S79). Then, the second arbitration circuit 112 outputs the data stored in the arbitration port D. Then, the process ends.

一方、調停ポートCが直前に選択されていない場合(ステップS77:Noルート)、第2調停回路112は、調停ポートCを選択する(ステップS81)。そして、第2調停回路112は、調停ポートCに格納されているデータを出力する。そして処理は終了する。   On the other hand, when the arbitration port C has not been selected immediately before (step S77: No route), the second arbitration circuit 112 selects the arbitration port C (step S81). Then, the second arbitration circuit 112 outputs the data stored in the arbitration port C. Then, the process ends.

次に、図17及び図18を用いて、バイパスバッファ制御回路100がチャネル14から読出命令を受信した際に実行する処理について説明する。   Next, processing executed when the bypass buffer control circuit 100 receives a read command from the channel 14 will be described with reference to FIGS. 17 and 18.

まず、バイパスモードチェック回路103は、チャネル14からの読出命令を検出し(図17:ステップS91)、バイパスモードが有効であるか判定する(ステップS93)。   First, the bypass mode check circuit 103 detects a read command from the channel 14 (FIG. 17: step S91) and determines whether the bypass mode is valid (step S93).

バイパスモードが有効ではない場合(ステップS93:Noルート)、バイパスモードチェック回路103は、バイパスモードが有効ではないことを第2切替部106に設定する。すると、第2切替部106は読出命令を主記憶12に出力し、これにより主記憶12からの読み出しが実行される(ステップS95)。バイパスバッファ制御回路100は、主記憶12から読み出したデータを受信し(ステップS97)、受信したデータを調停ポートBに格納する(ステップS99)。そして処理は端子Aを介して図18の説明に移行し終了する。   When the bypass mode is not valid (step S93: No route), the bypass mode check circuit 103 sets the second switching unit 106 that the bypass mode is not valid. Then, the 2nd switching part 106 outputs a read command to the main memory 12, and the read from the main memory 12 is performed by this (step S95). The bypass buffer control circuit 100 receives the data read from the main memory 12 (step S97), and stores the received data in the arbitration port B (step S99). Then, the processing shifts to the description of FIG.

一方、バイパスモードが有効である場合(ステップS93:Yesルート)、バイパスモードチェック回路103は、バイパスモードが有効であることを第2切替部106に設定する。すると、第2切替部106は、読出命令をバイパスリクエストキュー108に出力し、バイパスバッファ制御回路100は、バイパスリクエストキュー108の最後尾に読出命令を格納する(ステップS101)。   On the other hand, when the bypass mode is valid (step S93: Yes route), the bypass mode check circuit 103 sets the second switching unit 106 that the bypass mode is valid. Then, the second switching unit 106 outputs the read command to the bypass request queue 108, and the bypass buffer control circuit 100 stores the read command at the end of the bypass request queue 108 (step S101).

バイパスリクエストキュー制御回路107は、バイパスリクエストポート109が空であるか判定する(ステップS103)。バイパスリクエストポート109が空ではない場合(ステップS103:Noルート)、ステップS103の処理に戻る。   The bypass request queue control circuit 107 determines whether the bypass request port 109 is empty (step S103). If the bypass request port 109 is not empty (step S103: No route), the process returns to step S103.

一方、バイパスリクエストポート109が空である場合(ステップS103:Yesルート)、バイパスリクエストキュー制御回路107は、バイパスリクエストキュー108の先頭の読出命令をバイパスリクエストポート109に格納する(ステップS105)。   On the other hand, when the bypass request port 109 is empty (step S103: Yes route), the bypass request queue control circuit 107 stores the read instruction at the head of the bypass request queue 108 in the bypass request port 109 (step S105).

バイパスバッファ制御回路100は、調停ポートAが空であるか判定する(ステップS107)。調停ポートAが空ではない場合(ステップS107:Noルート)、ステップS107の処理に戻る。一方、調停ポートAが空である場合(ステップS107:Yesルート)、処理は端子Bを介して図18のステップS109に移行する。   The bypass buffer control circuit 100 determines whether the arbitration port A is empty (step S107). If the arbitration port A is not empty (step S107: No route), the process returns to step S107. On the other hand, when the arbitration port A is empty (step S107: Yes route), the process proceeds to step S109 in FIG.

図18の説明に移行し、アドレス比較回路110は、バイパスリクエストポート109に格納された読出命令に含まれるMSアドレスがバイパスバッファ101に存在するか判定する(図18:ステップS109)。   Shifting to the description of FIG. 18, the address comparison circuit 110 determines whether the MS address included in the read instruction stored in the bypass request port 109 exists in the bypass buffer 101 (FIG. 18: step S109).

バイパスリクエストポート109に格納された読出命令に含まれるMSアドレスがバイパスバッファ101に存在しない場合(ステップS111:Noルート)、アドレス比較回路110は、バイパスリクエストポート109に格納された読出命令に含まれるMSアドレスがバイパスバッファ101に存在しないことをバイパスリクエストキュー制御回路107に通知する。これに応じ、バイパスリクエストキュー制御回路107は、バイパスリクエストポート109に格納された読出命令を取り出し、バイパスリクエストキュー108の最後尾に格納する(ステップS113)。そしてステップS119の処理に移行する。   When the MS address included in the read instruction stored in the bypass request port 109 does not exist in the bypass buffer 101 (step S111: No route), the address comparison circuit 110 is included in the read instruction stored in the bypass request port 109. The bypass request queue control circuit 107 is notified that the MS address does not exist in the bypass buffer 101. In response to this, the bypass request queue control circuit 107 takes out the read instruction stored in the bypass request port 109 and stores it at the end of the bypass request queue 108 (step S113). Then, the process proceeds to step S119.

一方、バイパスリクエストポート109に格納された読出命令に含まれるMSアドレスがバイパスバッファ101に存在する場合(ステップS111:Yesルート)、アドレス比較回路110は、検出されたMSアドレスに対応するデータとバイパスリクエストポート109に格納されている返信先のチャネルを示す情報とを調停ポートAに格納する(ステップS115)。   On the other hand, when the MS address included in the read instruction stored in the bypass request port 109 exists in the bypass buffer 101 (step S111: Yes route), the address comparison circuit 110 bypasses the data corresponding to the detected MS address and the bypass. Information indicating the return destination channel stored in the request port 109 is stored in the arbitration port A (step S115).

アドレス比較回路110は、検出されたMSアドレスに対応するデータの有効フラグをリセット(例えば、無効に設定)し(ステップS117)、バイパスリクエストキュー制御回路107に対してバイパスリクエストポート109を空にする通知を行う。これに応じ、バイパスリクエストキュー制御回路107はバイパスリクエストポート109を空にする(ステップS119)。   The address comparison circuit 110 resets the validity flag of the data corresponding to the detected MS address (for example, sets it to invalid) (step S117), and empties the bypass request port 109 for the bypass request queue control circuit 107. Make a notification. In response to this, the bypass request queue control circuit 107 empties the bypass request port 109 (step S119).

バイパスリクエストキュー制御回路107は、バイパスリクエストキュー108にリクエストが残っているか判定する(ステップS121)。リクエストが残っている場合(ステップS121:Yesルート)、次のリクエストについて処理するため、ステップS103の処理に戻る。一方、バイパスリクエストキュー108にリクエストが残っていない場合(ステップS121:Noルート)、処理は終了する。   The bypass request queue control circuit 107 determines whether a request remains in the bypass request queue 108 (step S121). When the request remains (step S121: Yes route), the process returns to step S103 to process the next request. On the other hand, when no request remains in the bypass request queue 108 (step S121: No route), the process ends.

次に、図19を用いて、バイパスバッファ制御回路100の第1調停回路111が実行する処理について説明する。   Next, processing executed by the first arbitration circuit 111 of the bypass buffer control circuit 100 will be described with reference to FIG.

まず、第1調停回路111は、調停ポートAにデータが格納されているか判定する(図19:ステップS131)。   First, the first arbitration circuit 111 determines whether data is stored in the arbitration port A (FIG. 19: step S131).

調停ポートAにデータが格納されていない場合(ステップS131:Noルート)、第1調停回路111は、調停ポートBにデータが格納されているか判定する(ステップS133)。調停ポートBにデータが格納されていない場合(ステップS133:Noルート)、処理は終了する。一方、調停ポートBにデータが格納されている場合(ステップS133:Yesルート)、ステップS139の処理に移行する。   When data is not stored in the arbitration port A (step S131: No route), the first arbitration circuit 111 determines whether data is stored in the arbitration port B (step S133). If no data is stored in the arbitration port B (step S133: No route), the process ends. On the other hand, when data is stored in the arbitration port B (step S133: Yes route), the process proceeds to step S139.

調停ポートAにデータが格納されている場合(ステップS131:Yesルート)、第1調停回路111は、調停ポートBにデータが格納されているか判定する(ステップS135)。調停ポートBにデータが格納されていない場合(ステップS135:Noルート)、ステップS141の処理に移行する。一方、調停ポートBにデータが格納されている場合(ステップS135:Yesルート)、第1調停回路111は、調停ポートAが直前に選択されたか判定する(ステップS137)。   When data is stored in the arbitration port A (step S131: Yes route), the first arbitration circuit 111 determines whether data is stored in the arbitration port B (step S135). When data is not stored in the arbitration port B (step S135: No route), the process proceeds to step S141. On the other hand, when data is stored in the arbitration port B (step S135: Yes route), the first arbitration circuit 111 determines whether the arbitration port A has been selected immediately before (step S137).

調停ポートAが直前に選択された場合(ステップS137:Yesルート)、第1調停回路111は、調停ポートBを選択する(ステップS139)。そして、第1調停回路111は、調停ポートBに格納されているデータを出力する。そして処理は終了する。   When the arbitration port A is selected immediately before (step S137: Yes route), the first arbitration circuit 111 selects the arbitration port B (step S139). Then, the first arbitration circuit 111 outputs the data stored in the arbitration port B. Then, the process ends.

一方、調停ポートAが直前に選択されていない場合(ステップS137:Noルート)、第1調停回路111は、調停ポートAを選択する(ステップS141)。そして、第1調停回路111は、調停ポートAに格納されているデータを出力する。そして処理は終了する。   On the other hand, when the arbitration port A has not been selected immediately before (step S137: No route), the first arbitration circuit 111 selects the arbitration port A (step S141). Then, the first arbitration circuit 111 outputs the data stored in the arbitration port A. Then, the process ends.

図20及び図21を用いて、データの転送時間の短縮について説明する。図20は、本実施の形態の転送方法を使用した場合のシーケンス図であり、図21は、公知の転送方法を使用した場合のシーケンス図である。図20及び図21において、縦軸は時間(単位は周期)を表す。「MEM」は主記憶を表し、「CH」はチャネルを表す。円の図形は命令シーケンスの始動を表し、三角形の図形は転送されるデータを表し、破線は読出命令についてのシーケンスを表し、実線は書込命令についてのシーケンスを表す。図20における括弧付きの番号は図5A乃至図8に示した番号に対応する。   The reduction of the data transfer time will be described with reference to FIGS. FIG. 20 is a sequence diagram when the transfer method of the present embodiment is used, and FIG. 21 is a sequence diagram when a known transfer method is used. 20 and 21, the vertical axis represents time (unit is period). “MEM” represents main memory, and “CH” represents channel. The circle graphic represents the start of the instruction sequence, the triangle graphic represents the data to be transferred, the dashed line represents the sequence for the read command, and the solid line represents the sequence for the write command. The numbers in parentheses in FIG. 20 correspond to the numbers shown in FIGS. 5A to 8.

図20に示すように、CPU11は、まずSSU3からの読出命令をSSM13に発行する(1)。SSM13は、SSU3からの読出命令の完了報告をCPU11に発行する(4)と共に、SSU3からの読出命令をSSU3に対して発行する(6)。SSM13は、SSU3から読み出されたデータを受信する(7)。そして、SSM13は、SSU3から読み出されたデータの書込命令を、バイパスモードを有効にしてMCU10に対して発行する(8)。MCU10はSSM13に書き込み完了報告を発行する(12)。最終的に読出命令についてのシーケンスは5サイクルで終了する。   As shown in FIG. 20, the CPU 11 first issues a read command from the SSU 3 to the SSM 13 (1). The SSM 13 issues a read instruction completion report from the SSU 3 to the CPU 11 (4) and issues a read instruction from the SSU 3 to the SSU 3 (6). The SSM 13 receives the data read from the SSU 3 (7). Then, the SSM 13 issues a data write command read from the SSU 3 to the MCU 10 with the bypass mode enabled (8). The MCU 10 issues a write completion report to the SSM 13 (12). Finally, the sequence for the read instruction is completed in 5 cycles.

一方、書込命令についてのシーケンスは、CPU11が完了報告を受信した時点(すなわち、2サイクルが終了した時点)で開始する。まず、CPU11は、I/O5aに対する書込命令を、バイパスモードを有効にしてチャネル14に発行する(5)。チャネル14は、主記憶12からの読出命令をバイパスモードを有効にしてMCU10に発行する(16)。MCU10は、バイパスバッファ101に格納されたデータをチャネル14に送信する(21)。チャネル14は、MCU10から受信したデータをI/O5aに書き込む(23)。チャネル14は、I/O5aから書き込みの完了報告を受け取り(24)、I/O5aに対する書き込みの完了報告をCPU11に発行する(25)。   On the other hand, the sequence for the write command starts when the CPU 11 receives a completion report (that is, when two cycles are completed). First, the CPU 11 issues a write command for the I / O 5a to the channel 14 with the bypass mode enabled (5). The channel 14 issues a read command from the main memory 12 to the MCU 10 with the bypass mode enabled (16). The MCU 10 transmits the data stored in the bypass buffer 101 to the channel 14 (21). The channel 14 writes the data received from the MCU 10 to the I / O 5a (23). The channel 14 receives a write completion report from the I / O 5a (24), and issues a write completion report for the I / O 5a to the CPU 11 (25).

一方で、本実施の形態の方法を使用しない場合には以下のようになる。すなわち、図21に示すように、まずCPU11が、SSU3からの読出命令をSSM13に発行する(a)。SSM13は、SSU3からの読出命令をSSU3に対して発行する(b)。SSM13は、SSU3から読み出されたデータを受信し(c)、受信したデータを主記憶12に書き込むための書込命令をMCU10に発行する(d)。MCU10は、書込命令に従いデータを主記憶12へ書き込む(e)。MCU10は、主記憶12にデータが書き込まれたことを確認すると(f)、SSM13に書き込みの完了報告を発行する(g)。SSM13は、SSU3の読み出しの完了報告をCPU11に発行する(h)。このように、読出命令についてのシーケンスは8サイクルで完了する。   On the other hand, when not using the method of this Embodiment, it is as follows. That is, as shown in FIG. 21, first, the CPU 11 issues a read command from the SSU 3 to the SSM 13 (a). The SSM 13 issues a read command from the SSU 3 to the SSU 3 (b). The SSM 13 receives the data read from the SSU 3 (c) and issues a write command for writing the received data to the main memory 12 to the MCU 10 (d). The MCU 10 writes data to the main memory 12 according to the write command (e). When the MCU 10 confirms that data has been written to the main memory 12 (f), it issues a write completion report to the SSM 13 (g). The SSM 13 issues a read completion report of the SSU 3 to the CPU 11 (h). Thus, the sequence for the read instruction is completed in 8 cycles.

読出命令についてのシーケンスが完了すると、CPU11は、I/O5aに対する書込命令をチャネル14に発行する(i)。チャネル14は、SSU3から読み出されたデータを取得するため、主記憶12からの読出命令をMCU10に発行する(j)。MCU10は、主記憶12からデータを読み出し(k)、読み出したデータをチャネル14に送信する(l)。チャネル14は、受信したデータをI/O5aに書き込み(m)、書き込みの完了報告をI/O5aから受け取る(n)。チャネル14は、書き込みの完了報告をCPU11に対して発行する(o)。このように、書込命令についてのシーケンスは16サイクルで完了する。従って、本実施の形態の方法を使用すれば転送が完了するまでの時間を1/2程度に減らすことができるようになる。   When the sequence for the read command is completed, the CPU 11 issues a write command for the I / O 5a to the channel 14 (i). The channel 14 issues a read command from the main memory 12 to the MCU 10 to obtain the data read from the SSU 3 (j). The MCU 10 reads data from the main memory 12 (k), and transmits the read data to the channel 14 (l). The channel 14 writes the received data to the I / O 5a (m), and receives a write completion report from the I / O 5a (n). The channel 14 issues a write completion report to the CPU 11 (o). Thus, the sequence for the write instruction is completed in 16 cycles. Therefore, if the method of this embodiment is used, the time until transfer is completed can be reduced to about ½.

以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明した本体装置1aの構成は実際のハードウエアモジュール構成に一致しない場合もある。   Although one embodiment of the present invention has been described above, the present invention is not limited to this. For example, the configuration of the main body device 1a described above may not match the actual hardware module configuration.

また、上で説明したデータ保持構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。   In addition, the data holding configuration described above is an example, and the above configuration is not necessarily required. Further, in the processing flow, the processing order can be changed if the processing result does not change. Further, it may be executed in parallel.

また、転送元のデータが格納されるストレージデバイスは共用されていなくてもよい。その場合、本体装置の台数が1であってもよい。   Further, the storage device that stores the transfer source data may not be shared. In that case, the number of main body devices may be one.

また、I/O5a又はI/O5bからSSU3へデータを転送する場合にも本実施の形態を応用することで対処可能である。   Further, even when data is transferred from the I / O 5a or I / O 5b to the SSU 3, it can be dealt with by applying this embodiment.

以上述べた本発明の実施の形態をまとめると、以下のようになる。   The embodiment of the present invention described above is summarized as follows.

本実施の形態の第1の態様に係る情報処理装置は、(A)プロセッサと、(B)メインメモリと、(C)第1制御回路と、(D)第2制御回路と、(E)第3制御回路とを有する。そして、第1制御回路は、(c1)プロセッサから受信した、情報処理装置に接続された第1記憶装置からデータを読み出すための第1読出命令が、所定の情報を含むか判定する第1判定部と、(c2)第1読出命令が所定の情報を含むと第1判定部により判定された場合、読み出しが完了したことを示す完了報告を、当該読み出しが完了する前にプロセッサに送信すると共に、第1記憶装置から読み出したデータと所定の情報とを含む、読み出したデータをメインメモリに書き込むための第1書込命令を第3制御回路に送信する第1送信部とを有する。そして、第2制御回路は、(d1)プロセッサから受信した、情報処理装置に接続された第2記憶装置にデータを書き込むための第2書込命令が、所定の情報を含むか判定する第2判定部と、(d2)第2書込命令が所定の情報を含むと第2判定部により判定された場合、所定の情報を含む、データをメインメモリから読み出すための第2読出命令を第3制御回路に送信する第2送信部とを有する。そして、第3制御回路は、(e1)第1制御回路から受信した第1書込命令が所定の情報を含む場合、第1書込命令を、第3制御回路の第1記憶領域に格納する第1格納処理部と、(e2)第2制御回路から受信した第2読出命令が所定の情報を含む場合、第2読出命令を、第3制御回路の第2記憶領域に格納する第2格納処理部と、(e3)第1記憶領域に格納された第1書込命令に含まれるメインメモリのアドレスと、第2記憶領域に格納された第2読出命令に含まれるメインメモリのアドレスとが一致する場合、第1記憶領域に格納されたデータを読み出し、データを第2制御回路に送信する第3送信部とを有する。   The information processing apparatus according to the first aspect of the present embodiment includes (A) a processor, (B) a main memory, (C) a first control circuit, (D) a second control circuit, and (E). And a third control circuit. The first control circuit (c1) determines whether the first read instruction received from the processor for reading data from the first storage device connected to the information processing device includes predetermined information. And (c2) when the first determination unit determines that the first read instruction includes predetermined information, a completion report indicating that the reading is completed is transmitted to the processor before the reading is completed. And a first transmitter that transmits a first write command for writing the read data to the main memory, including data read from the first storage device and predetermined information, to the third control circuit. The second control circuit determines (d1) whether the second write command received from the processor for writing data to the second storage device connected to the information processing device includes predetermined information. And (d2) if the second determination unit determines that the second write command includes predetermined information, a third read command for reading data including the predetermined information from the main memory is And a second transmitter for transmitting to the control circuit. The third control circuit stores (e1) the first write command in the first storage area of the third control circuit when the first write command received from the first control circuit includes predetermined information. And (e2) a second storage that stores the second read instruction in the second storage area of the third control circuit when the second read instruction received from the second control circuit includes predetermined information. A processing unit; (e3) an address of the main memory included in the first write instruction stored in the first storage area; and an address of the main memory included in the second read instruction stored in the second storage area. If they coincide with each other, a third transmission unit is provided for reading data stored in the first storage area and transmitting the data to the second control circuit.

このようにすれば、読み出しと書き込みとを並行して行えるようになるので、第1の記憶装置から第2の記憶装置にデータを転送するのに要する時間を短縮できるようになる。また、プロセッサが実行する既存の命令フローを維持することができる。   In this way, since reading and writing can be performed in parallel, the time required to transfer data from the first storage device to the second storage device can be shortened. In addition, the existing instruction flow executed by the processor can be maintained.

また、第2制御回路は、(d3)第3制御回路からデータを受信し、受信したデータを第2記憶装置に書き込む書込部をさらに有してもよい。これによりデータの転送を完了することができる。   The second control circuit may further include (d3) a writing unit that receives data from the third control circuit and writes the received data to the second storage device. Thereby, data transfer can be completed.

また、第1格納処理部は、(e11)第1制御回路から受信した第1書込命令が所定の情報を含まない場合、受信した第1書込命令に含まれるデータをメインメモリに格納し、第2格納処理部は、(e21)第2制御回路から受信した第2読出命令が所定の情報を含まない場合、第2読出命令に従ってデータをメインメモリから読み出し、第3送信部は、(e31)メインメモリから読み出したデータを第2制御回路に送信してもよい。メインメモリを使用した通常の転送方法にも対応することができるようになる。   The first storage processing unit stores (e11) data included in the received first write instruction in the main memory when the first write instruction received from the first control circuit does not include predetermined information. The second storage processing unit reads (e21) data from the main memory according to the second read command when the second read command received from the second control circuit does not include predetermined information, and the third transmission unit ( e31) The data read from the main memory may be transmitted to the second control circuit. A normal transfer method using the main memory can also be supported.

また、第3送信部は、(e32)第1記憶領域に格納されたデータと、メインメモリから読み出したデータとの両方が存在する場合、いずれが前回送信されたかに基づき、いずれを次に送信するか決定してもよい。いずれか一方のみについて送信が行われることを抑制できるようになる。   Further, the third transmission unit (e32), when both the data stored in the first storage area and the data read from the main memory exist, which is transmitted next based on which was transmitted last time. You may decide to do it. It is possible to suppress transmission of only one of them.

本実施の形態の第2の態様に係る情報処理システムは、(F)情報処理装置と、(G)情報処理装置に接続された第1記憶装置と、(H)情報処理装置に接続された第2記憶装置とを有する。そして、情報処理装置は、(f1)プロセッサと、(f2)メインメモリと、(f3)第1制御回路と、(f4)第2制御回路と、(f5)第3制御回路とを有する。そして、第1制御回路は、(f31)プロセッサから受信した、第1記憶装置からデータを読み出すための第1読出命令が、所定の情報を含むか判定する第1判定部と、(f32)第1読出命令が所定の情報を含むと第1判定部により判定された場合、読み出しが完了したことを示す完了報告を、当該読み出しが完了する前にプロセッサに送信すると共に、読み出されたデータと所定の情報とを含む、読み出されたデータをメインメモリに書き込むための第1書込命令を第3制御回路に送信する第1送信部とを有する。そして、第2制御回路は、(f41)プロセッサから受信した、第2記憶装置にデータを書き込むための第2書込命令が、所定の情報を含むか判定する第2判定部と、(f42)第2書込命令が所定の情報を含むと第2判定部により判定された場合、所定の情報を含む、データをメインメモリから読み出すための第2読出命令を第3制御回路に送信する第2送信部とを有する。そして、第3制御回路は、(f51)第1制御回路から受信した第1書込命令が所定の情報を含む場合、第1書込命令を、第3制御回路の第1記憶領域に格納する第1格納処理部と、(f52)第2制御回路から受信した第2読出命令が所定の情報を含む場合、第2読出命令を、第3制御回路の第2記憶領域に格納する第2格納処理部と、(f53)第1記憶領域に格納された第1書込命令に含まれるメインメモリのアドレスと、第2記憶領域に格納された第2読出命令に含まれるメインメモリのアドレスとが一致する場合、データを第2制御回路に送信する第3送信部とを有する。   The information processing system according to the second aspect of the present embodiment includes (F) an information processing device, (G) a first storage device connected to the information processing device, and (H) connected to the information processing device. And a second storage device. The information processing apparatus includes (f1) a processor, (f2) main memory, (f3) first control circuit, (f4) second control circuit, and (f5) third control circuit. The first control circuit includes (f31) a first determination unit that determines whether the first read instruction received from the processor for reading data from the first storage device includes predetermined information; When the first determination unit determines that one read instruction includes predetermined information, a completion report indicating that the read is completed is transmitted to the processor before the read is completed, and the read data and And a first transmitter that transmits a first write command for writing the read data to the main memory including predetermined information to the third control circuit. The second control circuit includes (f41) a second determination unit that determines whether the second write instruction received from the processor for writing data to the second storage device includes predetermined information; and (f42). When the second determination unit determines that the second write command includes predetermined information, a second read command for reading data from the main memory including the predetermined information is transmitted to the third control circuit. And a transmission unit. The third control circuit stores (f51) the first write command in the first storage area of the third control circuit when the first write command received from the first control circuit includes predetermined information. And (f52) a second storage that stores the second read command in the second storage area of the third control circuit when the second read command received from the second control circuit includes predetermined information. A processing unit; (f53) an address of the main memory included in the first write instruction stored in the first storage area; and an address of the main memory included in the second read instruction stored in the second storage area. And a third transmission unit that transmits data to the second control circuit when they match.

本実施の形態の第3の態様に係る、情報処理装置の制御回路は、(I)プロセッサから受信した、情報処理装置に接続された第1記憶装置からデータを読み出すための読出命令が、所定の情報を含むか判定する判定部と、(J)読出命令が所定の情報を含むと判定部により判定された場合、読み出しが完了したことを示す完了報告を、当該読み出しが完了する前にプロセッサに送信する送信部とを有する。   In the control circuit of the information processing device according to the third aspect of the present embodiment, (I) a read command received from the processor for reading data from the first storage device connected to the information processing device is predetermined. And (J) if the determination unit determines that the read instruction includes predetermined information, a completion report indicating that the read is completed is sent to the processor before the read is completed. A transmission unit for transmitting to the network.

本実施の形態の第4の態様に係る制御回路は、(K)データを含み且つメインメモリにデータを書き込むための書込命令が、所定の情報をさらに含む場合、書込命令を、制御回路の第1記憶領域に格納する第1格納処理部と、メインメモリからデータを読み出すための読出命令が所定の情報を含む場合、読出命令を、制御回路の第2記憶領域に格納する第2格納処理部と、(L)第1記憶領域に格納された書込命令に含まれるメインメモリのアドレスと、第2記憶領域に格納された読出命令に含まれるメインメモリのアドレスとが一致する場合、第1記憶領域に格納されたデータを読み出し、データを送信する送信部とを有する。   The control circuit according to the fourth aspect of the present embodiment includes (K) a write command when the write command for writing data to the main memory further includes predetermined information when the write command includes data. And a second storage for storing the read instruction in the second storage area of the control circuit when the read instruction for reading data from the main memory includes predetermined information. When the processing unit and (L) the address of the main memory included in the write instruction stored in the first storage area match the address of the main memory included in the read instruction stored in the second storage area, A transmission unit that reads data stored in the first storage area and transmits the data;

なお、上記方法による処理をプロセッサに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。   A program for causing the processor to perform the processing according to the above method can be created, and the program can be a computer-readable storage medium such as a flexible disk, a CD-ROM, a magneto-optical disk, a semiconductor memory, a hard disk, or the like. It is stored in a storage device. The intermediate processing result is temporarily stored in a storage device such as a main memory.

以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。   The following supplementary notes are further disclosed with respect to the embodiments including the above examples.

(付記1)
プロセッサと、
メインメモリと、
第1制御回路と、
第2制御回路と、
第3制御回路と、
を有する情報処理装置であって、
前記第1制御回路は、
前記プロセッサから受信した、前記情報処理装置に接続された第1記憶装置からデータを読み出すための第1読出命令が、所定の情報を含むか判定する第1判定部と、
前記第1読出命令が前記所定の情報を含むと前記第1判定部により判定された場合、読み出しが完了したことを示す完了報告を、当該読み出しが完了する前に前記プロセッサに送信すると共に、前記第1記憶装置から読み出した前記データと前記所定の情報とを含む、読み出した前記データを前記メインメモリに書き込むための第1書込命令を前記第3制御回路に送信する第1送信部と
を有し、
前記第2制御回路は、
前記プロセッサから受信した、前記情報処理装置に接続された第2記憶装置に前記データを書き込むための第2書込命令が、前記所定の情報を含むか判定する第2判定部と、
前記第2書込命令が前記所定の情報を含むと前記第2判定部により判定された場合、前記所定の情報を含む、前記データを前記メインメモリから読み出すための第2読出命令を前記第3制御回路に送信する第2送信部と、
を有し、
前記第3制御回路は、
前記第1制御回路から受信した前記第1書込命令が前記所定の情報を含む場合、前記第1書込命令を、前記第3制御回路の第1記憶領域に格納する第1格納処理部と、
前記第2制御回路から受信した前記第2読出命令が前記所定の情報を含む場合、前記第2読出命令を、前記第3制御回路の第2記憶領域に格納する第2格納処理部と、
前記第1記憶領域に格納された前記第1書込命令に含まれる前記メインメモリのアドレスと、前記第2記憶領域に格納された前記第2読出命令に含まれる前記メインメモリのアドレスとが一致する場合、前記第1記憶領域に格納された前記データを読み出し、前記データを前記第2制御回路に送信する第3送信部と、
を有する情報処理装置。
(Appendix 1)
A processor;
Main memory,
A first control circuit;
A second control circuit;
A third control circuit;
An information processing apparatus having
The first control circuit includes:
A first determination unit that determines whether or not a first read command received from the processor for reading data from a first storage device connected to the information processing device includes predetermined information;
When the first determination unit determines that the first read instruction includes the predetermined information, a completion report indicating that the read is completed is transmitted to the processor before the read is completed, and the A first transmission unit configured to transmit a first write command including the data read from the first storage device and the predetermined information to write the read data to the main memory to the third control circuit; Have
The second control circuit includes:
A second determination unit that determines whether a second write command for writing the data to the second storage device connected to the information processing device received from the processor includes the predetermined information;
When the second determination unit determines that the second write instruction includes the predetermined information, a second read instruction for reading the data including the predetermined information from the main memory is the third A second transmitter for transmitting to the control circuit;
Have
The third control circuit includes:
A first storage processing unit that stores the first write command in a first storage area of the third control circuit when the first write command received from the first control circuit includes the predetermined information; ,
A second storage processing unit for storing the second read command in a second storage area of the third control circuit when the second read command received from the second control circuit includes the predetermined information;
The address of the main memory included in the first write instruction stored in the first storage area matches the address of the main memory included in the second read instruction stored in the second storage area A third transmitter for reading the data stored in the first storage area and transmitting the data to the second control circuit;
An information processing apparatus.

(付記2)
前記第2制御回路は、
前記第3制御回路から前記データを受信し、受信した前記データを前記第2記憶装置に書き込む書込部
をさらに有する付記1記載の情報処理装置。
(Appendix 2)
The second control circuit includes:
The information processing apparatus according to claim 1, further comprising: a writing unit that receives the data from the third control circuit and writes the received data to the second storage device.

(付記3)
前記第1格納処理部は、
前記第1制御回路から受信した前記第1書込命令が前記所定の情報を含まない場合、受信した前記第1書込命令に含まれる前記データを前記メインメモリに格納し、
前記第2格納処理部は、
前記第2制御回路から受信した前記第2読出命令が前記所定の情報を含まない場合、前記第2読出命令に従って前記データを前記メインメモリから読み出し、
前記第3送信部は、
前記メインメモリから読み出した前記データを前記第2制御回路に送信する、
付記1又は2記載の情報処理装置。
(Appendix 3)
The first storage processing unit
When the first write command received from the first control circuit does not include the predetermined information, the data included in the received first write command is stored in the main memory;
The second storage processing unit
When the second read command received from the second control circuit does not include the predetermined information, the data is read from the main memory according to the second read command,
The third transmitter is
Transmitting the data read from the main memory to the second control circuit;
The information processing apparatus according to attachment 1 or 2.

(付記4)
前記第3送信部は、
前記第1記憶領域に格納された前記データと、前記メインメモリから読み出した前記データとの両方が存在する場合、いずれが前回送信されたかに基づき、いずれを次に送信するか決定する、
付記3記載の情報処理装置。
(Appendix 4)
The third transmitter is
If both the data stored in the first storage area and the data read from the main memory exist, determine which to transmit next based on which was transmitted last time;
The information processing apparatus according to attachment 3.

(付記5)
情報処理装置と、
前記情報処理装置に接続された第1記憶装置と、
前記情報処理装置に接続された第2記憶装置と、
を有する情報処理システムであって、
前記情報処理装置は、
プロセッサと、
メインメモリと、
第1制御回路と、
第2制御回路と、
第3制御回路と、
を有し、
前記第1制御回路は、
前記プロセッサから受信した、前記第1記憶装置からデータを読み出すための第1読出命令が、所定の情報を含むか判定する第1判定部と、
前記第1読出命令が前記所定の情報を含むと前記第1判定部により判定された場合、読み出しが完了したことを示す完了報告を、当該読み出しが完了する前に前記プロセッサに送信すると共に、読み出された前記データと前記所定の情報とを含む、読み出された前記データを前記メインメモリに書き込むための第1書込命令を前記第3制御回路に送信する第1送信部と
を有し、
前記第2制御回路は、
前記プロセッサから受信した、前記第2記憶装置に前記データを書き込むための第2書込命令が、前記所定の情報を含むか判定する第2判定部と、
前記第2書込命令が前記所定の情報を含むと前記第2判定部により判定された場合、前記所定の情報を含む、前記データを前記メインメモリから読み出すための第2読出命令を前記第3制御回路に送信する第2送信部と、
を有し、
前記第3制御回路は、
前記第1制御回路から受信した前記第1書込命令が前記所定の情報を含む場合、前記第1書込命令を、前記第3制御回路の第1記憶領域に格納する第1格納処理部と、
前記第2制御回路から受信した前記第2読出命令が前記所定の情報を含む場合、前記第2読出命令を、前記第3制御回路の第2記憶領域に格納する第2格納処理部と、
前記第1記憶領域に格納された前記第1書込命令に含まれる前記メインメモリのアドレスと、前記第2記憶領域に格納された前記第2読出命令に含まれる前記メインメモリのアドレスとが一致する場合、前記データを前記第2制御回路に送信する第3送信部と、
を有する情報処理システム。
(Appendix 5)
An information processing device;
A first storage device connected to the information processing device;
A second storage device connected to the information processing device;
An information processing system having
The information processing apparatus includes:
A processor;
Main memory,
A first control circuit;
A second control circuit;
A third control circuit;
Have
The first control circuit includes:
A first determination unit that determines whether a first read instruction received from the processor for reading data from the first storage device includes predetermined information;
When the first determination unit determines that the first read instruction includes the predetermined information, a completion report indicating that the read is completed is transmitted to the processor before the read is completed, and the read A first transmission unit configured to transmit a first write command for writing the read data to the main memory including the issued data and the predetermined information to the third control circuit; ,
The second control circuit includes:
A second determination unit that determines whether a second write command received from the processor for writing the data to the second storage device includes the predetermined information;
When the second determination unit determines that the second write instruction includes the predetermined information, a second read instruction for reading the data including the predetermined information from the main memory is the third A second transmitter for transmitting to the control circuit;
Have
The third control circuit includes:
A first storage processing unit that stores the first write command in a first storage area of the third control circuit when the first write command received from the first control circuit includes the predetermined information; ,
A second storage processing unit for storing the second read command in a second storage area of the third control circuit when the second read command received from the second control circuit includes the predetermined information;
The address of the main memory included in the first write instruction stored in the first storage area matches the address of the main memory included in the second read instruction stored in the second storage area A third transmitter for transmitting the data to the second control circuit;
An information processing system having

(付記6)
プロセッサと制御回路とを有する情報処理装置の前記制御回路であって、
前記プロセッサから受信した、前記情報処理装置に接続された第1記憶装置からデータを読み出すための読出命令が、所定の情報を含むか判定する判定部と、
前記読出命令が前記所定の情報を含むと前記判定部により判定された場合、読み出しが完了したことを示す完了報告を、当該読み出しが完了する前に前記プロセッサに送信する送信部と、
を有する制御回路。
(Appendix 6)
The control circuit of the information processing apparatus having a processor and a control circuit,
A determination unit that determines whether a read command received from the processor for reading data from a first storage device connected to the information processing device includes predetermined information;
When the determination unit determines that the read instruction includes the predetermined information, a transmission unit that transmits a completion report indicating that the read is complete to the processor before the read is completed;
A control circuit.

(付記7)
プロセッサとメインメモリと制御回路とを有する情報処理装置の前記制御回路であって、
データを含み且つ前記メインメモリに前記データを書き込むための書込命令が、所定の情報をさらに含む場合、前記書込命令を、前記制御回路の第1記憶領域に格納する第1格納処理部と、
前記メインメモリから前記データを読み出すための読出命令が前記所定の情報を含む場合、前記読出命令を、前記制御回路の第2記憶領域に格納する第2格納処理部と、
前記第1記憶領域に格納された前記書込命令に含まれる前記メインメモリのアドレスと、前記第2記憶領域に格納された前記読出命令に含まれる前記メインメモリのアドレスとが一致する場合、前記第1記憶領域に格納された前記データを読み出し、前記データを送信する送信部と、
を有する制御回路。
(Appendix 7)
The control circuit of the information processing apparatus having a processor, a main memory, and a control circuit,
A first storage processing unit for storing the write instruction in a first storage area of the control circuit, when the write instruction for writing the data to the main memory further includes predetermined information; ,
A second storage processing unit that stores the read command in a second storage area of the control circuit when a read command for reading the data from the main memory includes the predetermined information;
When the address of the main memory included in the write instruction stored in the first storage area matches the address of the main memory included in the read instruction stored in the second storage area, A transmitter that reads the data stored in the first storage area and transmits the data;
A control circuit.

1a,1b 本体装置 3 SSU
5a,5b I/O 10 MCU
11 CPU 12 主記憶
13 SSM 14 チャネル
13p パケット制御回路 13t データ転送回路
13m メモリ 130 バイパス制御回路
1301 バイパスモードチェック部 1302 先出フラグ
131 入力パケット解析部 132 書き込み制御回路
133 完了報告制御回路 134 出力パケット生成部
14p パケット制御回路 14t データ転送回路
14m メモリ 14e プログラム実行回路
140 バイパス制御回路
1401 バイパスモードチェック部 1402 バイパス実行フラグ
141 入力パケット解析部 142 読み出し制御回路
143 完了報告制御回路 144 出力パケット生成部
100 バイパスバッファ制御回路
101 バイパスバッファ 102,103 バイパスモードチェック回路
104 データチェック回路 105 第1切替部
106 第2切替部 107 バイパスリクエストキュー制御回路
108 バイパスリクエストキュー 109 バイパスリクエストポート
110 アドレス比較回路 111 第1調停回路
112 第2調停回路 113 完了報告制御回路
150a,150b,150c,150d,150e,150f パケット制御回路
1a, 1b Main unit 3 SSU
5a, 5b I / O 10 MCU
11 CPU 12 Main memory 13 SSM 14 Channel 13p Packet control circuit 13t Data transfer circuit 13m Memory 130 Bypass control circuit 1301 Bypass mode check unit 1302 Advance flag 131 Input packet analysis unit 132 Write control circuit 133 Completion report control circuit 134 Output packet generation 14p packet control circuit 14t data transfer circuit 14m memory 14e program execution circuit 140 bypass control circuit 1401 bypass mode check unit 1402 bypass execution flag 141 input packet analysis unit 142 read control circuit 143 completion report control circuit 144 output packet generation unit 100 bypass buffer Control circuit 101 Bypass buffer 102, 103 Bypass mode check circuit 104 Data check circuit 105 First Replacement unit 106 Second switching unit 107 Bypass request queue control circuit 108 Bypass request queue 109 Bypass request port 110 Address comparison circuit 111 First arbitration circuit 112 Second arbitration circuit 113 Completion report control circuits 150a, 150b, 150c, 150d, 150e, 150f packet control circuit

Claims (6)

プロセッサと、
メインメモリと、
第1制御回路と、
第2制御回路と、
第3制御回路と、
を有する情報処理装置であって、
前記第1制御回路は、
前記プロセッサから受信した、前記情報処理装置に接続された第1記憶装置からデータを読み出すための第1読出命令が、所定の情報を含むか判定する第1判定部と、
前記第1読出命令が前記所定の情報を含むと前記第1判定部により判定された場合、読み出しが完了したことを示す完了報告を、当該読み出しが完了する前に前記プロセッサに送信すると共に、前記第1記憶装置から読み出した前記データと前記所定の情報とを含む、読み出した前記データを前記メインメモリに書き込むための第1書込命令を前記第3制御回路に送信する第1送信部と
を有し、
前記第2制御回路は、
前記プロセッサから受信した、前記情報処理装置に接続された第2記憶装置に前記データを書き込むための第2書込命令が、前記所定の情報を含むか判定する第2判定部と、
前記第2書込命令が前記所定の情報を含むと前記第2判定部により判定された場合、前記所定の情報を含む、前記データを前記メインメモリから読み出すための第2読出命令を前記第3制御回路に送信する第2送信部と、
を有し、
前記第3制御回路は、
前記第1制御回路から受信した前記第1書込命令が前記所定の情報を含む場合、前記第1書込命令を、前記第3制御回路の第1記憶領域に格納する第1格納処理部と、
前記第2制御回路から受信した前記第2読出命令が前記所定の情報を含む場合、前記第2読出命令を、前記第3制御回路の第2記憶領域に格納する第2格納処理部と、
前記第1記憶領域に格納された前記第1書込命令に含まれる前記メインメモリのアドレスと、前記第2記憶領域に格納された前記第2読出命令に含まれる前記メインメモリのアドレスとが一致する場合、前記第1記憶領域に格納された前記データを読み出し、前記データを前記第2制御回路に送信する第3送信部と、
を有する情報処理装置。
A processor;
Main memory,
A first control circuit;
A second control circuit;
A third control circuit;
An information processing apparatus having
The first control circuit includes:
A first determination unit that determines whether or not a first read command received from the processor for reading data from a first storage device connected to the information processing device includes predetermined information;
When the first determination unit determines that the first read instruction includes the predetermined information, a completion report indicating that the read is completed is transmitted to the processor before the read is completed, and the A first transmission unit configured to transmit a first write command including the data read from the first storage device and the predetermined information to write the read data to the main memory to the third control circuit; Have
The second control circuit includes:
A second determination unit that determines whether a second write command for writing the data to the second storage device connected to the information processing device received from the processor includes the predetermined information;
When the second determination unit determines that the second write instruction includes the predetermined information, a second read instruction for reading the data including the predetermined information from the main memory is the third A second transmitter for transmitting to the control circuit;
Have
The third control circuit includes:
A first storage processing unit that stores the first write command in a first storage area of the third control circuit when the first write command received from the first control circuit includes the predetermined information; ,
A second storage processing unit for storing the second read command in a second storage area of the third control circuit when the second read command received from the second control circuit includes the predetermined information;
The address of the main memory included in the first write instruction stored in the first storage area matches the address of the main memory included in the second read instruction stored in the second storage area A third transmitter for reading the data stored in the first storage area and transmitting the data to the second control circuit;
An information processing apparatus.
前記第2制御回路は、
前記第3制御回路から前記データを受信し、受信した前記データを前記第2記憶装置に書き込む書込部
をさらに有する請求項1記載の情報処理装置。
The second control circuit includes:
The information processing apparatus according to claim 1, further comprising: a writing unit that receives the data from the third control circuit and writes the received data to the second storage device.
前記第1格納処理部は、
前記第1制御回路から受信した前記第1書込命令が前記所定の情報を含まない場合、受信した前記第1書込命令に含まれる前記データを前記メインメモリに格納し、
前記第2格納処理部は、
前記第2制御回路から受信した前記第2読出命令が前記所定の情報を含まない場合、前記第2読出命令に従って前記データを前記メインメモリから読み出し、
前記第3送信部は、
前記メインメモリから読み出した前記データを前記第2制御回路に送信する、
請求項1又は2記載の情報処理装置。
The first storage processing unit
When the first write command received from the first control circuit does not include the predetermined information, the data included in the received first write command is stored in the main memory;
The second storage processing unit
When the second read command received from the second control circuit does not include the predetermined information, the data is read from the main memory according to the second read command,
The third transmitter is
Transmitting the data read from the main memory to the second control circuit;
The information processing apparatus according to claim 1 or 2.
前記第3送信部は、
前記第1記憶領域に格納された前記データと、前記メインメモリから読み出した前記データとの両方が存在する場合、いずれが前回送信されたかに基づき、いずれを次に送信するか決定する、
請求項3記載の情報処理装置。
The third transmitter is
If both the data stored in the first storage area and the data read from the main memory exist, determine which to transmit next based on which was transmitted last time;
The information processing apparatus according to claim 3.
プロセッサと制御回路とを有する情報処理装置の前記制御回路であって、
前記プロセッサから受信した、前記情報処理装置に接続された第1記憶装置からデータを読み出すための読出命令が、所定の情報を含むか判定する判定部と、
前記読出命令が前記所定の情報を含むと前記判定部により判定された場合、読み出しが完了したことを示す完了報告を、当該読み出しが完了する前に前記プロセッサに送信する送信部と、
を有する制御回路。
The control circuit of the information processing apparatus having a processor and a control circuit,
A determination unit that determines whether a read command received from the processor for reading data from a first storage device connected to the information processing device includes predetermined information;
When the determination unit determines that the read instruction includes the predetermined information, a transmission unit that transmits a completion report indicating that the read is complete to the processor before the read is completed;
A control circuit.
プロセッサとメインメモリと制御回路とを有する情報処理装置の前記制御回路であって、
データを含み且つ前記メインメモリに前記データを書き込むための書込命令が、所定の情報をさらに含む場合、前記書込命令を、前記制御回路の第1記憶領域に格納する第1格納処理部と、
前記メインメモリから前記データを読み出すための読出命令が前記所定の情報を含む場合、前記読出命令を、前記制御回路の第2記憶領域に格納する第2格納処理部と、
前記第1記憶領域に格納された前記書込命令に含まれる前記メインメモリのアドレスと、前記第2記憶領域に格納された前記読出命令に含まれる前記メインメモリのアドレスとが一致する場合、前記第1記憶領域に格納された前記データを読み出し、前記データを送信する送信部と、
を有する制御回路。
The control circuit of the information processing apparatus having a processor, a main memory, and a control circuit,
A first storage processing unit for storing the write instruction in a first storage area of the control circuit, when the write instruction for writing the data to the main memory further includes predetermined information; ,
A second storage processing unit that stores the read command in a second storage area of the control circuit when a read command for reading the data from the main memory includes the predetermined information;
When the address of the main memory included in the write instruction stored in the first storage area matches the address of the main memory included in the read instruction stored in the second storage area, A transmitter that reads the data stored in the first storage area and transmits the data;
A control circuit.
JP2016102531A 2016-05-23 2016-05-23 Information processing system, information processing device, and control circuit Active JP6743482B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016102531A JP6743482B2 (en) 2016-05-23 2016-05-23 Information processing system, information processing device, and control circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016102531A JP6743482B2 (en) 2016-05-23 2016-05-23 Information processing system, information processing device, and control circuit

Publications (2)

Publication Number Publication Date
JP2017211708A true JP2017211708A (en) 2017-11-30
JP6743482B2 JP6743482B2 (en) 2020-08-19

Family

ID=60475476

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016102531A Active JP6743482B2 (en) 2016-05-23 2016-05-23 Information processing system, information processing device, and control circuit

Country Status (1)

Country Link
JP (1) JP6743482B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113709061A (en) * 2021-07-23 2021-11-26 合肥忆芯电子科技有限公司 Message forwarding method and circuit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113709061A (en) * 2021-07-23 2021-11-26 合肥忆芯电子科技有限公司 Message forwarding method and circuit

Also Published As

Publication number Publication date
JP6743482B2 (en) 2020-08-19

Similar Documents

Publication Publication Date Title
JP5983484B2 (en) Information processing system, control program for controlling information processing apparatus, and control method for information processing system
JP5351130B2 (en) System and method for operating mixed types of memory devices
CN107526534B (en) Method and apparatus for managing input/output (I/O) of storage device
JP2014535104A (en) Flash memory controller and data transfer method between flash memories
KR20100085564A (en) Data processing system and data processing method thereof
JP5287301B2 (en) Descriptor transfer device, I / O controller, and descriptor transfer method
JP2005182485A (en) Serial transmission controller, computer system, and serial transmission control method
JP6743482B2 (en) Information processing system, information processing device, and control circuit
TW200811660A (en) Method of requests access and scheduling and related apparatus thereof
US20100042756A1 (en) Data transfer device
JP4779010B2 (en) Buffering device and buffering method
JP6337606B2 (en) Information processing apparatus, route determination method, and program
US8909823B2 (en) Data processing device, chain and method, and corresponding recording medium for dividing a main buffer memory into used space and free space
JP7103162B2 (en) Arithmetic processing unit and control method of arithmetic processing unit
US9141563B2 (en) Memory system
JP2011113163A (en) Inter-end point communication control device and method in io access communication system
JP2006031123A (en) Usb memory device and usb memory device control program
CN107025190A (en) System and its operating method
JP2008033657A (en) Memory control device, information processor and memory control method
JP2012199767A (en) Electronic circuit system
US20230176932A1 (en) Processor, information processing apparatus, and information processing method
JP6384359B2 (en) Information processing apparatus having distributed shared memory, method, and program
JP5439742B2 (en) System controller, semiconductor device, and interface test method
JP6940283B2 (en) DMA transfer control device, DMA transfer control method, and DMA transfer control program
CN115114215A (en) High-speed peripheral component interconnection interface device and operation method thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200107

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200306

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200630

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200713

R150 Certificate of patent or registration of utility model

Ref document number: 6743482

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150