JP5218452B2 - Information processing device - Google Patents

Information processing device Download PDF

Info

Publication number
JP5218452B2
JP5218452B2 JP2010049690A JP2010049690A JP5218452B2 JP 5218452 B2 JP5218452 B2 JP 5218452B2 JP 2010049690 A JP2010049690 A JP 2010049690A JP 2010049690 A JP2010049690 A JP 2010049690A JP 5218452 B2 JP5218452 B2 JP 5218452B2
Authority
JP
Japan
Prior art keywords
transfer
data
pci express
address
controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010049690A
Other languages
Japanese (ja)
Other versions
JP2011186658A (en
Inventor
慎二郎 妙嶋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2010049690A priority Critical patent/JP5218452B2/en
Publication of JP2011186658A publication Critical patent/JP2011186658A/en
Application granted granted Critical
Publication of JP5218452B2 publication Critical patent/JP5218452B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Description

本発明は、情報処理装置に関する。特に本発明は、メインメモリと周辺装置との間でデータを転送する情報処理装置に関する。   The present invention relates to an information processing apparatus. In particular, the present invention relates to an information processing apparatus that transfers data between a main memory and a peripheral device.

近年、磁気ディスク等の周辺装置は、性能が向上してきている。また、PCI Express等の高速なI/O(Input/Output)インターフェースも登場してきている。これに伴い、入出力処理装置は更なる性能向上が必要になってきている。   In recent years, peripheral devices such as magnetic disks have improved in performance. Also, high-speed I / O (Input / Output) interfaces such as PCI Express have appeared. As a result, the input / output processing apparatus is required to be further improved in performance.

特開昭63−245755号公報JP-A 63-245755

しかしながら、現状では、周辺装置やI/Oインターフェースの高速化に対して入出力処理装置のI/Oコントローラやプロセッサの性能向上が追いつかず、入出力処理装置の転送効率が低下して周辺装置やI/Oインターフェースの性能を十分発揮できていない。また、入出力処理装置の性能を向上するにはI/OコントローラをカスタムLSI(Large Scale Integration)として設計する方法や、プロセッサを高性能化する方法が考えられるが、近年少量生産の装置についてはFPGA(Field Programmable Gate Array)による開発が行われるため、ハードウェア量や性能に制限があり十分に性能を発揮できない状態になっており、また、プロセッサについてもコスト削減のため必要最低限の性能しか与えられないのが現状である。   However, at present, the performance of the I / O controller and processor of the input / output processing device cannot catch up with the increase in the speed of the peripheral device and I / O interface, and the transfer efficiency of the input / output processing device is reduced and the peripheral device and I / O interface performance has not been fully demonstrated. In order to improve the performance of the input / output processing device, there are a method of designing the I / O controller as a custom LSI (Large Scale Integration) and a method of improving the performance of the processor. Development by FPGA (Field Programmable Gate Array) is performed, so there is a limit to the amount of hardware and performance, and it is in a state where it can not fully demonstrate the performance, and the processor has only the minimum performance for cost reduction The current situation is that it cannot be given.

上記課題を解決するために、本発明の第1の形態によると、メインメモリと周辺装置との間でデータを転送する情報処理装置であって、メインメモリを具備する中央処理装置と、PCI Expressカード及びローカルメモリを具備する入出力処理装置とを備え、入出力処理装置は、PCI Expressカードからメインメモリに対して直接データ転送を行う第1の経路と、PCI Expressカード又はメインメモリからローカルメモリに一度データ転送した後、メインメモリ又はPCI Expressカードにデータ転送を行う第2の経路とを有する。   In order to solve the above problems, according to a first embodiment of the present invention, there is provided an information processing apparatus for transferring data between a main memory and a peripheral device, a central processing unit including the main memory, and a PCI Express. An input / output processing device including a card and a local memory, the input / output processing device including a first path for direct data transfer from the PCI Express card to the main memory, and from the PCI Express card or the main memory to the local memory. And a second path for transferring data to the main memory or the PCI Express card.

なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となり得る。   The above summary of the invention does not enumerate all the necessary features of the present invention, and sub-combinations of these feature groups can also be the invention.

以上の説明から明らかなように、この発明によれば、アドレスカウント制御配列の再設定が必要なデータ転送とアドレスカウント制御配列の再設定が必要でないデータ転送の経路が分離される。その結果、プロセッサがアドレスカウント制御配列を再設定している間にもバッファは満杯にならず、PCI Expressカードによるデータ転送は継続されるため、入出力処理装置のデータ転送効率が向上する。   As is apparent from the above description, according to the present invention, a data transfer path that requires resetting of the address count control array and a data transfer path that does not require resetting of the address count control array are separated. As a result, the buffer does not become full while the processor resets the address count control array, and data transfer by the PCI Express card is continued, so that the data transfer efficiency of the input / output processing device is improved.

また、プロセッサがアドレスカウント制御配列を再設定している間もPCI Expressによるデータ転送は停止しないので、プロセッサの処理時間を考慮してバッファを大量に持つ必要がなくなるのでハードウェア量を削減することが可能になる。   Further, since data transfer by PCI Express does not stop while the processor resets the address count control array, it is not necessary to have a large amount of buffers in consideration of the processing time of the processor, so that the amount of hardware can be reduced. Is possible.

一実施形態に係る情報処理装置1000の利用環境の一例を示す図である。It is a figure which shows an example of the utilization environment of the information processing apparatus 1000 which concerns on one Embodiment. I/Oコントローラ210の構造を示す図である。2 is a diagram illustrating a structure of an I / O controller 210. FIG. 転送制御装置215の構造を示す図である。3 is a diagram illustrating a structure of a transfer control device 215. FIG. アドレスカウント制御配列nの構造を示す図である。It is a figure which shows the structure of the address count control arrangement | sequence n. メモリ空間21aを示す図である。It is a figure which shows the memory space 21a. データ転送処理の動作フローの一例を示す図である。It is a figure which shows an example of the operation | movement flow of a data transfer process. 直接転送処理の動作フローの一例を示す図である。It is a figure which shows an example of the operation | movement flow of a direct transfer process. 間接転送処理の動作フローの一例を示す図である。It is a figure which shows an example of the operation | movement flow of an indirect transfer process. 間接入力転送処理の動作フローの一例を示す図である。It is a figure which shows an example of the operation | movement flow of an indirect input transfer process. 間接出力転送処理の動作フローの一例を示す図である。It is a figure which shows an example of the operation | movement flow of an indirect output transfer process. チャネルプログラム13aを示す図である。It is a figure which shows the channel program 13a. メインメモリ130のデータ転送対象空間とチャネルプログラム13aとの関係を示す図である。It is a figure which shows the relationship between the data transfer object space of the main memory and the channel program 13a. I/Oコントローラのメモリ空間21aとアドレスカウント制御配列nとメインメモリ130の転送空間の関係を示す図である。FIG. 4 is a diagram showing a relationship among a memory space 21a of an I / O controller, an address count control array n, and a transfer space of a main memory 130. チャネルプログラム13aの形式を示す図である。It is a figure which shows the format of the channel program 13a. I/Oコントローラのメモリ空間21aとアドレスカウント制御配列nとメインメモリ130のアドレス空間の関係を示す図である。FIG. 3 is a diagram showing the relationship among the memory space 21a of the I / O controller, the address count control array n, and the address space of the main memory 130.

以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。   Hereinafter, the present invention will be described through embodiments of the invention. However, the following embodiments do not limit the invention according to the scope of claims, and all combinations of features described in the embodiments are included. It is not necessarily essential for the solution of the invention.

図1は、一実施形態に係る情報処理装置1000の利用環境の一例を示す。情報処理装置1000は一般的にメインフレームやサーバと呼ばれるコンピューターシステムで、中央処理装置100と入出力処理装置200がバス300によって接続された構造になっている。また、情報処理装置1000の外部には磁気ディスク装置等の周辺装置2000、3000がそれぞれ接続ケーブル2001、2002、3001、3002によって接続されており、情報処理装置1000は周辺装置2000、3000との間でデータ転送を行い、処理を行っている。   FIG. 1 shows an example of a usage environment of an information processing apparatus 1000 according to an embodiment. The information processing apparatus 1000 is a computer system generally called a mainframe or a server, and has a structure in which a central processing unit 100 and an input / output processing unit 200 are connected by a bus 300. Further, peripheral devices 2000 and 3000 such as magnetic disk devices are connected to the outside of the information processing device 1000 by connection cables 2001, 2002, 3001, and 3002, respectively. The information processing device 1000 is connected to the peripheral devices 2000 and 3000. The data is transferred and processed.

中央処理装置100にはソフトウェアの命令を実行し、処理を行う演算処理装置110〜113と、演算処理装置110〜113が実行するソフトウェア命令や処理するデータ等を格納するメインメモリ130を持ち、また、演算処理装置110〜113や入出力処理装置200からのメインメモリ130に対する読み出しや書き込み等の要求を処理し、演算処理装置110〜113と入出力処理装置200の間の通信を処理するメモリコントローラ120を持っており、それぞれバス140とバス150とバス300によって接続されている。   The central processing unit 100 has arithmetic processing units 110 to 113 that execute and execute software instructions, and a main memory 130 that stores software instructions executed by the arithmetic processing units 110 to 113 and data to be processed. , A memory controller that processes requests between the arithmetic processing devices 110 to 113 and the input / output processing device 200 by processing requests such as reading and writing to the main memory 130 from the arithmetic processing devices 110 to 113 and the input / output processing device 200 120 are connected by a bus 140, a bus 150, and a bus 300, respectively.

入出力処理装置200はメインメモリ130と周辺装置2000、3000との間のデータ転送を行うI/Oコントローラ210と、周辺装置2000、3000を接続して入出力処理装置200と周辺処理装置2000、3000との間のデータ転送を行うPCI Expressカード260〜263と、I/Oコントローラ210とPCI Expressカード260〜263をそれぞれ接続し、それぞれの間でのデータ転送及び通信を行うスイッチ240を持っており、それぞれバス252とバス270〜273によって接続されている。また、入出力処理装置200には演算処理装置110〜113の指示により、I/Oコントローラ210とPCI Expressカード260〜263を制御し、メインメモリ130と周辺装置2000、3000との間のデータ転送を制御するプロセッサ220とプロセッサで使用されるデータや転送データを格納するローカルメモリ230も持っており、プロセッサ220とローカルメモリ230はバス253により接続され、プロセッサ220とI/Oコントローラ210とスイッチ240はそれぞれバス250とバス251により接続されている。   The input / output processing device 200 is connected to the I / O controller 210 for transferring data between the main memory 130 and the peripheral devices 2000 and 3000, and the peripheral devices 2000 and 3000 to connect the input / output processing device 200 and the peripheral processing device 2000, PCI Express cards 260 to 263 that transfer data to and from 3000, I / O controller 210 and PCI Express cards 260 to 263 are connected to each other, and a switch 240 that performs data transfer and communication between them is included. The buses 252 and 270 to 273 are connected to each other. The input / output processing device 200 controls the I / O controller 210 and the PCI Express cards 260 to 263 according to instructions from the arithmetic processing devices 110 to 113, and transfers data between the main memory 130 and the peripheral devices 2000 and 3000. And a local memory 230 for storing data used by the processor and transfer data. The processor 220 and the local memory 230 are connected by a bus 253, and the processor 220, the I / O controller 210, and the switch 240 are connected. Are connected by a bus 250 and a bus 251, respectively.

I/Oコントローラ210の構造は図2のようになっており、ローカルメモリ230とメインメモリ130の間のデータ転送を行うDMAコントローラ211を持っている。また、バス300とバス250とバス252の性能差に対応するための緩衝バッファをそれぞれのデータ転送の経路に持っており、I/Oコントローラ210とPCI Expressカード260〜263の経路にはバッファ214を持ち、I/Oコントローラ210とローカルメモリ230の経路にはバッファ212を持ち、I/Oコントローラ210とメインメモリ130の経路にはバッファ213を持っている。そして、データ転送の経路の中心には転送制御装置215を持っており、それぞれバス216、217、218によって接続されている。   The structure of the I / O controller 210 is as shown in FIG. 2, and has a DMA controller 211 that performs data transfer between the local memory 230 and the main memory 130. Further, buffer buffers for dealing with performance differences among the bus 300, the bus 250, and the bus 252 are provided in the respective data transfer paths, and the buffer 214 is provided in the path between the I / O controller 210 and the PCI Express cards 260 to 263. The I / O controller 210 and the local memory 230 have a buffer 212, and the I / O controller 210 and the main memory 130 have a buffer 213. A transfer control device 215 is provided at the center of the data transfer path and is connected by buses 216, 217, and 218, respectively.

転送制御装置215の構造は図3のようになっている。転送制御装置215とはPCI Expressカード260〜263とDMAコントローラ211からのメインメモリ130に対する要求を変換する装置である。メインメモリ130のアドレス空間とPCI Expressカード260〜263とDMAコントローラ211が要求するアドレス空間は異なっており、転送制御装置215ではPCI Expressカード260〜263とDMAコントローラ211からの要求アドレスよりアドレスカウント変換装置215−aが対応するアドレスカウント制御配列0〜63を選択することによって対応するメインメモリ130のアドレス空間の要求アドレスに変換し、バス216に対して要求を発行する。   The structure of the transfer control device 215 is as shown in FIG. The transfer control device 215 is a device that converts requests for the main memory 130 from the PCI Express cards 260 to 263 and the DMA controller 211. The address space of the main memory 130 and the address space required by the PCI Express card 260 to 263 and the DMA controller 211 are different, and the transfer control device 215 converts the address count based on the request address from the PCI Express card 260 to 263 and the DMA controller 211. The device 215-a selects the corresponding address count control array 0 to 63 to convert it into a request address in the corresponding address space of the main memory 130, and issues a request to the bus 216.

アドレスカウント制御配列nの構造は図4のようになっている。アドレスカウント制御配列nは7個のエントリn−200〜270とカレントエントリポインタn−100を持ち、各エントリn−2p0にはメインメモリ130のデータ転送アドレスを示すアドレスフィールドn−2p1と、転送するカウントを示すカウントフィールドn−2p2と、最後のエントリであること等を示すフラグフィールドn−2p3によって構成されている。また、カレントエントリポインタn−100は現在のデータ転送で使用されているエントリn−2p0を指している。   The structure of the address count control array n is as shown in FIG. The address count control array n has seven entries n-200 to 270 and a current entry pointer n-100, and each entry n-2p0 is transferred with an address field n-2p1 indicating a data transfer address of the main memory 130. A count field n-2p2 indicating a count, and a flag field n-2p3 indicating the last entry or the like are included. The current entry pointer n-100 points to the entry n-2p0 used in the current data transfer.

I/Oコントローラ210にはPCI Expressカード260〜263とDMAコントローラ211のデータ転送用のメモリ空間21aを持っており、十分な固定サイズの64個の転送空間21a−0〜63に分割されている(図5)。この転送空間21a−nとアドレスカウント制御配列nは対応しており、PCI Expressカード260〜263又はDMAコントローラ211が転送空間21a−nの先頭アドレスから連続してデータ転送を行うと、アドレスカウント変換装置215−aは対応するアドレスカウント制御配列nを選択し、カレントエントリポインタn−100の示すエントリn−200のアドレスフィールドn−201の示すアドレスに変換してメインメモリ130に要求を発行する。このとき、転送したカウント分だけアドレスフィールドn−201の値は加算され、カウントフィールドn−202の値は減算される。そして、カウントフィールドn−202の値が0になったとき、アドレスカウント変換装置215−aはカレントエントリポインタn−100を加算して次のエントリn−210を示すようにし、上記と同様に処理する。また、カレントエントリポインタn−100が最終エントリn−270を示しているときにカウントフィールドn−272が0になり、フラグフィールドn−273が最終エントリであることを示していなかった場合、アドレスカウント変換装置215−aは転送を一旦停止し、プロセッサ220に割込でエントリ終了を報告して次のアドレスカウント制御配列の設定を要求する。なお、エントリn−2p0のフラグフィールドn−2p0が最終エントリであることを示していた場合、アドレスカウント変換装置215−aはアドレスカウント制御配列nに対するデータ転送を終了する。このとき、PCI Expressカード260〜263又はDMAコントローラ211から引き続きデータ転送要求がある場合、アドレスカウント変換装置215−aはメインメモリに対する書き込みの場合はその要求を破棄し、読み出しの場合は0を返す。   The I / O controller 210 has a PCI Express card 260 to 263 and a memory space 21a for data transfer of the DMA controller 211, and is divided into 64 transfer spaces 21a-0 to 63 having a sufficiently fixed size. (FIG. 5). The transfer space 21a-n and the address count control array n correspond to each other. When the PCI Express cards 260 to 263 or the DMA controller 211 performs data transfer continuously from the head address of the transfer space 21a-n, the address count conversion is performed. The device 215-a selects the corresponding address count control array n, converts it to the address indicated by the address field n-201 of the entry n-200 indicated by the current entry pointer n-100, and issues a request to the main memory 130. At this time, the value of the address field n-201 is added by the transferred count, and the value of the count field n-202 is subtracted. When the value of the count field n-202 becomes 0, the address count conversion device 215-a adds the current entry pointer n-100 to indicate the next entry n-210, and performs the same processing as above. To do. When the current entry pointer n-100 indicates the final entry n-270, the count field n-272 is 0, and the flag field n-273 does not indicate the final entry, the address count The conversion device 215-a temporarily stops the transfer, interrupts the processor 220 to report the entry end, and requests the setting of the next address count control array. When the flag field n-2p0 of the entry n-2p0 indicates that it is the last entry, the address count conversion device 215-a ends the data transfer for the address count control array n. At this time, when there is a data transfer request continuously from the PCI Express cards 260 to 263 or the DMA controller 211, the address count conversion device 215-a discards the request when writing to the main memory, and returns 0 when reading. .

入出力処理装置200のプロセッサ220は入出力処理装置として動作するためのファームウェア221〜225を内蔵している。その中には演算処理装置110〜113からのデータ転送指示を処理する図6のデータ転送処理221を持っており、また、データ転送で使用するアドレスカウント制御配列nのエントリ数に応じて、PCI Expressカード260〜263とメインメモリ130の間のデータ転送をPCI Expressカード260〜263とメインメモリ130の間で直接転送する図7の直接転送処理222と、メインメモリ130又はPCI Expressカード260〜263からローカルメモリ230にデータを転送したのち、ローカルメモリ230からメインメモリ130又はPCI Expressカード260〜263に転送する図8、9、10の間接転送処理223を持っている。なお、入出力処理装置200のデータ転送では、PCI Expressカード260〜263がマスタとなって行う場合と、DMAコントローラ211がマスタとなって行う場合がある。前者はPCI Expressカード260〜263がメインメモリ130又はローカルメモリ230に対して要求を行う場合で、後者はDMAコントローラ211がメインメモリ130又はローカルメモリ230に対して要求を行う場合である。   The processor 220 of the input / output processing device 200 incorporates firmware 221 to 225 for operating as the input / output processing device. 6 includes the data transfer processing 221 shown in FIG. 6 for processing data transfer instructions from the arithmetic processing units 110 to 113, and the PCI according to the number of entries in the address count control array n used for data transfer. The direct transfer process 222 in FIG. 7 for directly transferring data between the Express card 260 to 263 and the main memory 130 between the PCI Express card 260 to 263 and the main memory 130, and the main memory 130 or the PCI Express card 260 to 263. After transferring data from the local memory 230 to the local memory 230, there is an indirect transfer process 223 shown in FIGS. 8, 9 and 10 for transferring from the local memory 230 to the main memory 130 or the PCI Express cards 260 to 263. In the data transfer of the input / output processing device 200, there are cases where the PCI Express cards 260 to 263 are used as a master and the DMA controller 211 is used as a master. The former is a case where the PCI Express cards 260 to 263 make a request to the main memory 130 or the local memory 230, and the latter is a case where the DMA controller 211 makes a request to the main memory 130 or the local memory 230.

本発明の実施例である図1の情報処理装置1000においてメインメモリ130と周辺装置2000、3000の間でデータ転送を行う場合、演算処理装置110〜113はソフトウェアの指示により図11に示すチャネルプログラム13aをメインメモリ130上に作成し、入出力処理装置200にチャネルプログラム13aの実行を指示する。チャネルプログラム13aは処理毎に複数のエントリ13a−mに分割されており、各エントリ13a−mは指示を示すコマンド13a−m−0と、コマンド13a−m−0を拡張したり最後のエントリであること等を示すフラグ13a−m−1と、データ転送長を示すカウント13a−m−2と、データ転送対象となるメインメモリ130のアドレス13a−m−3によって構成されている。   When performing data transfer between the main memory 130 and the peripheral devices 2000 and 3000 in the information processing device 1000 of FIG. 1 which is an embodiment of the present invention, the arithmetic processing devices 110 to 113 receive the channel program shown in FIG. 13a is created on the main memory 130, and the input / output processing device 200 is instructed to execute the channel program 13a. The channel program 13a is divided into a plurality of entries 13a-m for each process, and each entry 13a-m extends the command 13a-m-0 indicating the instruction and the command 13a-m-0 or the last entry. It is composed of a flag 13a-m-1 indicating existence, a count 13a-m-2 indicating a data transfer length, and an address 13a-m-3 of the main memory 130 as a data transfer target.

実際にこのチャネルプログラム13aによって入出力処理装置200にデータ転送を指示する場合、メインメモリ130のデータ転送対象空間とチャネルプログラム13aとの関係は図12のようになる。一般的に入出力処理装置200はアドレス変換機能を持っており、チャネルプログラム13aにおいてメインメモリ130のデータ転送対象アドレスに論理アドレス空間を指定することが可能である。図12のチャネルプログラム13aではアドレス13a−0−3でデータ転送対象の先頭論理アドレスを示し、カウント13a−0−2は論理アドレス空間における転送サイズを示している。一般的に論理アドレス空間はソフトウェアによって定義される空間でページと呼ばれる固定長の空間で区切られ、ページ毎に実際の物理メモリに割り当てられる。各ページに割り当てる物理メモリのアドレスは固定長でアライメントされた任意のアドレスとなるので、図12のようにデータ転送対象アドレスが論理アドレス空間上で連続していたとしても物理アドレス空間上ではページ毎に不連続となる場合がある。一般的に入出力処理装置200はメインメモリ130の物理アドレス空間に対してしかデータ転送できないので、指定された論理アドレスをページ毎に物理アドレスに変換し、その物理アドレスに対してページサイズ分だけデータ転送することをカウント13a−0−2分だけ行う必要がある。   When the data transfer is actually instructed to the input / output processing device 200 by the channel program 13a, the relationship between the data transfer target space of the main memory 130 and the channel program 13a is as shown in FIG. Generally, the input / output processing device 200 has an address conversion function, and a logical address space can be designated as a data transfer target address in the main memory 130 in the channel program 13a. In the channel program 13a of FIG. 12, the address 13a-0-3 indicates the head logical address to be transferred, and the count 13a-0-2 indicates the transfer size in the logical address space. Generally, a logical address space is a space defined by software and is divided by a fixed-length space called a page, and each page is allocated to an actual physical memory. Since the address of the physical memory allocated to each page is an arbitrary address aligned with a fixed length, even if the data transfer target addresses are continuous in the logical address space as shown in FIG. May be discontinuous. In general, since the input / output processing device 200 can transfer data only to the physical address space of the main memory 130, the designated logical address is converted into a physical address for each page, and the physical address is equivalent to the page size. It is necessary to perform data transfer for the count 13a-0-2.

図12のチャネルプログラム13aを実施例の入出力処理装置200で実行する場合、次のようになる。入出力処理装置200は演算処理装置110(111、112、113)よりデータ転送の指示を受けると、プロセッサ220上で図6のデータ転送処理221を実行する。データ転送処理221ではチャネルプログラム13aをメインメモリ130より読み出し、その内容を解析して全てのデータ転送を完了させるのに必要となるアドレスカウント制御配列nのエントリ数を求める。この場合、チャネルプログラム13aは論理アドレス空間を指定しているので、ページ数r+1が必要なエントリ数となる。そして、必要エントリ数r+1がアドレスカウント制御配列nの最大エントリ数である8と比較され、r+1が8以下ならば図7の直接転送処理222が実行され、r+1が8を超える場合は図8の間接転送処理223が実行される。   When the channel program 13a of FIG. 12 is executed by the input / output processing apparatus 200 of the embodiment, the operation is as follows. When the input / output processing device 200 receives a data transfer instruction from the arithmetic processing device 110 (111, 112, 113), it executes the data transfer processing 221 of FIG. In the data transfer process 221, the channel program 13a is read from the main memory 130, the contents thereof are analyzed, and the number of entries in the address count control array n necessary for completing all data transfers is obtained. In this case, since the channel program 13a designates the logical address space, the page number r + 1 is the required number of entries. Then, the required entry number r + 1 is compared with 8, which is the maximum number of entries in the address count control array n, and if r + 1 is 8 or less, the direct transfer processing 222 of FIG. 7 is executed. Indirect transfer processing 223 is executed.

直接転送処理222では転送制御装置215よりアドレスカウント制御配列nを取得し(222−1)、チャネルプログラム13aを解析してアドレスカウント制御配列nの各エントリn−2p0に設定する情報を求めて設定する(222−2)。このとき、転送アドレスとして指定されたアドレスは論理アドレスであるので、直接転送処理222はチャネルプログラム13aで指定されたアドレス13a−0−3を物理アドレスに変換し、また、転送対象となる各ページの先頭物理アドレスをアドレス13a−0−3とページサイズの加算により求めた値を物理アドレスに変換することを、アドレス13a−0−3からのオフセットがカウント13a−0−2分になるまで行う。そして、各ページ毎に求めた物理アドレスとカウントをアドレスカウント制御配列nの各エントリn−2p0に設定し、また、最後の転送となるエントリn−2p0のフラグn−2p3にはこのエントリが最後であることを示す情報を設定する。   In the direct transfer process 222, the address count control array n is obtained from the transfer control device 215 (222-1), and the channel program 13a is analyzed to obtain and set information to be set in each entry n-2p0 of the address count control array n. (222-2). At this time, since the address specified as the transfer address is a logical address, the direct transfer processing 222 converts the address 13a-0-3 specified by the channel program 13a into a physical address, and each page to be transferred The value obtained by adding the page size to the address of the first physical address of the address 13a-0-3 is converted into a physical address until the offset from the address 13a-0-3 reaches the count of 13a-0-2. . Then, the physical address and count obtained for each page are set in each entry n-2p0 of the address count control array n, and this entry is the last in the flag n-2p3 of the entry n-2p0 which is the last transfer. Set the information indicating that.

そして、カレントエントリポインタn−100を0に設定し(222−3)、チャネルプログラム13aを解析してPCI Expressカード260(261、262、263)に設定する情報を求めてPCI Expressカード260(261、262、263)に設定する(222−4)。このとき、PCI Expressカード260(261、262、263)には転送カウントとしてカウント13a−0−2や転送方向、周辺装置2000、3000側の情報等が設定される。次にPCI Expressカード260(261、262、263)にアドレスカウント制御配列nに対応するI/Oコントローラ転送空間21a−nに対してデータ転送するよう設定してデータ転送の起動を指示し(222−5、222−6)、PCI Expressカード260(261、262、263)からの転送終了報告を待ち合わせる(222−7)。   Then, the current entry pointer n-100 is set to 0 (222-3), the channel program 13a is analyzed to obtain information to be set in the PCI Express card 260 (261, 262, 263), and the PCI Express card 260 (261). , 262, 263) (222-4). At this time, the PCI Express card 260 (261, 262, 263) is set with a count 13a-0-2, a transfer direction, information on the peripheral device 2000, 3000 side, and the like as a transfer count. Next, the PCI Express card 260 (261, 262, 263) is set to transfer data to the I / O controller transfer space 21a-n corresponding to the address count control array n, and the activation of data transfer is instructed (222). -5, 222-6), and waits for a transfer end report from the PCI Express card 260 (261, 262, 263) (222-7).

PCI Expressカード260(261、262、263)はデータ転送の起動を指示されると、設定された情報に基づき周辺装置2000、3000とアドレスカウント制御配列nに対応するI/Oコントローラ転送空間21a−nの間でデータ転送を行う。このとき、アドレスカウント制御配列nではカレントエントリポインタn―100で示されるエントリn−200のアドレスn−201で示されるメインメモリ130のデータがPCI Expressカード260(261、262、263)に設定された転送方向に従って転送され、その度にアドレスn−201は転送サイズ分加算され、カウントn−202は転送サイズ分減算される。そして、カウントn−202が0になったときカレントエントリポインタn−100は1加算されて次のエントリn−210を示すようになり、同様にデータ転送処理が行われる。そして、カレントエントリポインタn−100の示すエントリn−2p0のカウントn−2p2が0になり、フラグn−2p3が最後のエントリであること示していたときデータ転送が終了する。また、PCI Expressカード260(261、262、263)はデータ転送が終了するとプロセッサ220に割込でデータ転送終了を報告する。   When the PCI Express card 260 (261, 262, 263) is instructed to start data transfer, the I / O controller transfer space 21a- corresponding to the peripheral devices 2000, 3000 and the address count control array n based on the set information. Data is transferred between n. At this time, in the address count control array n, the data in the main memory 130 indicated by the address n-201 of the entry n-200 indicated by the current entry pointer n-100 is set in the PCI Express card 260 (261, 262, 263). The address n-201 is incremented by the transfer size and the count n-202 is decremented by the transfer size each time. When the count n-202 becomes 0, the current entry pointer n-100 is incremented by 1 to indicate the next entry n-210, and data transfer processing is performed in the same manner. When the count n-2p2 of the entry n-2p0 indicated by the current entry pointer n-100 becomes 0 and the flag n-2p3 indicates that it is the last entry, the data transfer ends. In addition, the PCI Express card 260 (261, 262, 263) reports the end of data transfer by interrupting the processor 220 when the data transfer is completed.

そして、PCI Expressカード260(261、262、263)からのデータ転送終了報告によりデータ転送の終了を確認すると直接転送処理222はアドレスカウント制御配列nを解放して処理を終え(222−8)、データ転送処理221は演算処理装置110(111、112、113)に転送終了を報告し、データ転送処理を終える(221−6)。   When the end of data transfer is confirmed by the data transfer end report from the PCI Express card 260 (261, 262, 263), the direct transfer processing 222 releases the address count control array n and ends the processing (222-8). The data transfer process 221 reports the transfer end to the arithmetic processing unit 110 (111, 112, 113), and ends the data transfer process (221-6).

また、間接転送処理223ではチャネルプログラム13aを解析して周辺装置2000、3000からメインメモリ130に対して転送する入力転送か、メインメモリ130から周辺装置2000、3000に対して転送する出力転送か判断し(223−1、223−2)、入力転送ならば間接入力転送処理224が実行され(223−3)、出力転送ならば間接出力転送処理225が実行される(223−4)。   In the indirect transfer process 223, the channel program 13a is analyzed to determine whether the input transfer is to be transferred from the peripheral devices 2000 and 3000 to the main memory 130 or the output transfer is to be transferred from the main memory 130 to the peripheral devices 2000 and 3000. If it is input transfer, indirect input transfer processing 224 is executed (223-3), and if it is output transfer, indirect output transfer processing 225 is executed (223-4).

間接入力転送処理224ではチャネルプログラム13aを解析してPCI Expressカード260(261、262、263)に設定する情報を求め、PCI Expressカード260(261、262、263)に設定する(224−1)。このとき、PCI Expressカード260(261、262、263)には転送カウントとしてカウント13a−0−2や転送方向、周辺装置2000、3000側の情報等が設定される。そして、PCI Expressカード260(261、262、263)にローカルメモリ230に対してデータ転送するように転送情報を設定してデータ転送の起動を指示し(224−2、224−3)、PCI Expressカード260(261、262、263)からのデータ転送の終了報告を待ち合わせる(223−4)。PCI Expressカード260(261、262、263)はデータ転送を指示されると設定された情報に基づき周辺装置2000、3000からデータを読み出してローカルメモリ230にデータを転送し、データ転送が終了したときプロセッサ230に割込で転送終了を報告する。   In the indirect input transfer process 224, the channel program 13a is analyzed to obtain information to be set in the PCI Express card 260 (261, 262, 263), and is set in the PCI Express card 260 (261, 262, 263) (224-1). . At this time, the PCI Express card 260 (261, 262, 263) is set with a count 13a-0-2, a transfer direction, information on the peripheral device 2000, 3000 side, and the like as a transfer count. Then, transfer information is set in the PCI Express card 260 (261, 262, 263) so as to transfer data to the local memory 230, and the activation of the data transfer is instructed (224-2, 224-3), and the PCI Express is transmitted. It waits for a data transfer completion report from the card 260 (261, 262, 263) (223-4). When the PCI Express card 260 (261, 262, 263) is instructed to transfer data, it reads the data from the peripheral devices 2000, 3000 based on the set information, transfers the data to the local memory 230, and the data transfer is completed. The end of transfer is reported to the processor 230 by interruption.

データ転送が終了すると直接転送処理222と同様に転送制御装置215よりアドレスカウント制御配列nを取得し(224−5)、チャネルプログラム13aを解析してアドレスカウント制御配列nの各エントリn−2p0に設定する情報を求めて設定し、カレントエントリポインタn−100を0に設定する(224−6、224−7)。この処理は直接転送処理222の処理(222−2、222−3)と同じである。ただし、アドレスカウント制御配列nに設定すべきエントリ数がアドレスカウント制御配列nのエントリ数を超えているので直接転送処理222とは異なり、ここではフラグn−2p3にエントリが最後であることを示す情報は設定されない。   When the data transfer is completed, the address count control array n is acquired from the transfer control device 215 in the same manner as the direct transfer process 222 (224-5), the channel program 13a is analyzed, and each entry n-2p0 of the address count control array n is stored. Information to be set is obtained and set, and the current entry pointer n-100 is set to 0 (224-6, 224-7). This process is the same as the direct transfer process 222 (222-2, 222-3). However, since the number of entries to be set in the address count control array n exceeds the number of entries in the address count control array n, this is different from the direct transfer process 222, and here, the flag n-2p3 indicates that the entry is the last. Information is not set.

次に、チャネルプログラム13aを解析してDMAコントローラ211に設定する情報を求め、DMAコントローラ211に設定する(224−8)。このとき、DMAコントローラ211には転送カウントとしてカウント13a−0−2や転送方向等が設定される。そして、DMAコントローラ211にローカルメモリ230からアドレスカウント制御配列nのI/Oコントローラ転送空間21a−nに対してデータ転送するように設定してデータ転送の起動を指示し、DMAコントローラ211からの転送終了報告か転送制御装置215からのエントリ終了報告を待ち合わせる(224−10、224−11)。   Next, the channel program 13a is analyzed to obtain information to be set in the DMA controller 211 and set in the DMA controller 211 (224-8). At this time, the count 13a-0-2, the transfer direction, and the like are set in the DMA controller 211 as the transfer count. Then, the DMA controller 211 is set to transfer data from the local memory 230 to the I / O controller transfer space 21a-n of the address count control array n, and the activation of the data transfer is instructed. It waits for an end report or an entry end report from the transfer control device 215 (224-10, 224-11).

DMAコントローラ211はデータ転送の起動を指示されると、設定された情報に従ってデータ転送を行う。このとき、DMAコントローラ211はローカルメモリ230よりデータを読み出し、アドレスカウント制御配列nに対応するI/Oコントローラ転送空間21a−nに対してデータを転送する処理をカウント13a−0−2の分だけ行う。これにより、アドレスカウント制御配列nは直接転送処理222の時と同様に動作するが、最終エントリn−270のフラグn−273にはデータ転送の最後のエントリであることを示していないので、カウントn−272が0になったとき、転送制御装置215はプロセッサ215に割込でエントリの終了を報告する。なお、DMAコントローラは転送カウントが0になったとき転送終了をプロセッサ220に割込で報告する。   When instructed to start data transfer, the DMA controller 211 performs data transfer according to the set information. At this time, the DMA controller 211 reads the data from the local memory 230, and transfers the data to the I / O controller transfer space 21a-n corresponding to the address count control array n by the count 13a-0-2. Do. As a result, the address count control array n operates in the same manner as in the direct transfer process 222, but the flag n-273 of the final entry n-270 does not indicate that it is the last entry of the data transfer. When n-272 becomes 0, the transfer control device 215 reports the end of the entry to the processor 215 by interruption. When the transfer count reaches 0, the DMA controller reports the end of transfer to the processor 220 by interruption.

次に、転送制御装置215からエントリ終了報告又はDMAコントローラ211から転送終了報告があるとそれを確認し(224−12)、エントリ終了報告ならばチャネルプログラム13aをデータ転送した分だけ進める(224−14)。図12のチャネルプログラム13aの例ではエントリは1つしかないが、間接入力転送処理224ではページ単位にアドレスカウント制御配列nに情報を設定してデータ転送を行っているので、チャネルプログラム13aのアドレス13a−0−3とカウント13a−0−2を転送したカウントで補正する。なお、チャネルプログラムの進め方はチャネルプログラムの形式によって様々だが、どのようにチャネルプログラムの形式や進め方については本発明の範囲ではないので詳細は記述しない。   Next, if there is an entry end report from the transfer controller 215 or a transfer end report from the DMA controller 211, it is confirmed (224-12), and if it is an entry end report, the channel program 13a is advanced by the amount transferred (224-). 14). In the example of the channel program 13a in FIG. 12, there is only one entry. However, in the indirect input transfer process 224, data is transferred by setting information in the address count control array n for each page, so the address of the channel program 13a. 13a-0-3 and 13a-0-2 are corrected by the transferred count. The method of proceeding with the channel program varies depending on the format of the channel program, but how the format and proceeding of the channel program are not within the scope of the present invention, so details will not be described.

次に、(224−6、224−7)と同様にチャネルプログラム13aを解析してアドレスカウント制御配列nの各エントリn−2p0に設定する情報を求めて設定し、カレントエントリポインタn−100に0を設定する(224−15、225−16)。このとき、チャネルプログラム13aで指定された全ての転送が終了するならば、最後の転送となるエントリn−2p0のフラグn−2p3に最後のエントリであることを示す。これは、直接転送処理222の(222−5)と同じである。そして、転送制御装置215に転送再開を指示する(224−17)。なお、(224−14〜224−17)の処理を行っている間は間接転送処理223によって行われているデータ転送は停止してしまう。その間に直接転送処理225で行われるデータ転送は別の転送パスとなるので実行できる。   Next, in the same way as (224-6, 224-7), the channel program 13a is analyzed to find and set information to be set in each entry n-2p0 of the address count control array n, and is set in the current entry pointer n-100. 0 is set (224-15, 225-16). At this time, if all transfers designated by the channel program 13a are completed, the flag n-2p3 of the entry n-2p0 which is the last transfer indicates that it is the last entry. This is the same as (222-5) in the direct transfer process 222. Then, the transfer control device 215 is instructed to resume transfer (224-17). Note that the data transfer performed by the indirect transfer processing 223 stops while the processing of (224-14 to 224-17) is performed. Meanwhile, the data transfer performed in the direct transfer process 225 becomes another transfer path and can be executed.

そして、再度DMAコントローラ211の転送終了報告か転送制御装置215のエントリ終了報告を待ち合わせ(224−11)、DMAコントローラ211の転送終了報告ならばアドレスカウント制御配列nを解放し(224−13)、間接入力転送処理224、及び間接転送処理223を終了し、EPU110(111、112、113)に転送終了を報告して(221−6)処理を終える。   Then, it again waits for the transfer end report of the DMA controller 211 or the entry end report of the transfer controller 215 (224-11), and if it is the transfer end report of the DMA controller 211, releases the address count control array n (224-13). The indirect input transfer process 224 and the indirect transfer process 223 are terminated, the transfer end is reported to the EPU 110 (111, 112, 113) (221-6), and the process ends.

また、間接出力転送処理225は図10のようになる。まず、転送制御装置215に指示を出してアドレスカウント制御配列nを取得し(225−1)、チャネルプログラム13aを解析してアドレスカウント制御配列nに設定する情報を求めて設定してカレントエントリポインタn−100を0に設定する(225−2、225−3)。この処理は直接転送処理222の処理(222−2、222−3)と同じである。ただし、アドレスカウント制御配列nに設定すべきエントリ数がアドレスカウント制御配列nのエントリ数を超えているので直接転送処理222とは異なり、ここではフラグn−2p3にエントリが最後であることを示す情報は設定されない。次に、チャネルプログラム13aを解析してDMAコントローラ211に設定する情報を求めて設定する(225−4)。ここでは、転送カウントとしてカウント13a−0−2や転送方向等が設定される。そして、DMAコントローラ211にアドレスカウント制御配列nのI/Oコントローラ転送空間21a−nからローカルメモリ230に対してデータ転送するように設定して転送起動を指示し(225−5、225−6)、DMAコントローラ211からの転送終了報告又は転送制御装置215からのエントリ終了報告を待ち合わせる(225−7)。   The indirect output transfer process 225 is as shown in FIG. First, an instruction is given to the transfer control device 215 to acquire the address count control array n (225-1), the channel program 13a is analyzed to obtain and set information to be set in the address count control array n, and the current entry pointer n-100 is set to 0 (225-2, 225-3). This process is the same as the direct transfer process 222 (222-2, 222-3). However, since the number of entries to be set in the address count control array n exceeds the number of entries in the address count control array n, this is different from the direct transfer process 222, and here, the flag n-2p3 indicates that the entry is the last. Information is not set. Next, the channel program 13a is analyzed to obtain and set information to be set in the DMA controller 211 (225-4). Here, the count 13a-0-2, the transfer direction, and the like are set as the transfer count. Then, the DMA controller 211 is set to transfer data from the I / O controller transfer space 21a-n of the address count control array n to the local memory 230 and instructed to start transfer (225-5, 225-6). Then, it waits for a transfer end report from the DMA controller 211 or an entry end report from the transfer control device 215 (225-7).

DMAコントローラ211は転送を指示されると、間接入力転送処理224と同様に処理する。異なるのは、間接入力転送処理224ではローカルメモリ230からアドレスカウント制御配列nのI/Oコントローラ転送空間21a−nにデータ転送したのに対し、間接出力転送処理224ではアドレスカウント制御配列nのI/Oコントローラ転送空間21a−nからローカルメモリ230へデータ転送している点のみである。また、間接出力転送処理224の処理(225−8〜225−12)は間接入力転送処理224の処理(224−12〜224−17)と同じなので説明は省略する。   When instructed to transfer, the DMA controller 211 performs processing similar to the indirect input transfer processing 224. The difference is that in the indirect input transfer process 224, data is transferred from the local memory 230 to the I / O controller transfer space 21a-n in the address count control array n, whereas in the indirect output transfer process 224, I in the address count control array n is transferred. The only difference is that data is transferred from the / O controller transfer space 21a-n to the local memory 230. Further, since the process (225-8 to 225-12) of the indirect output transfer process 224 is the same as the process (224-12 to 224-17) of the indirect input transfer process 224, description thereof is omitted.

次に、DMAコントローラ211よりデータ転送終了が報告されると、チャネルプログラム13aを解析してPCI Expressカード260(261、262、263)に設定する情報を求めて設定する。このとき、転送カウントとしてカウント13a−0−2や転送方向、周辺装置2000、3000の情報等が設定される(225−13)。そして、PCI Expressカード260(261、262、263)にローカルメモリ230からPCI Expressカード260(261、262、263)に対して転送するように設定して転送起動を指示し(225−14、225−15)、PCI Expressカード260(261、262、263)からの転送終了報告を待ち合わせる(225−16)。PCI Expressカード260(261、262、263)から転送の終了を報告されるとアドレスカウント制御配列nを解放し(225−17)、間接出力転送処理225と間接転送処理223は処理を終え、中央処理装置110(111、112、113)に転送終了を報告してデータ転送処理221は処理を終える(221−6)。   Next, when the end of the data transfer is reported from the DMA controller 211, the channel program 13a is analyzed to obtain and set information to be set in the PCI Express card 260 (261, 262, 263). At this time, the count 13a-0-2, the transfer direction, information on the peripheral devices 2000 and 3000, etc. are set as the transfer count (225-13). Then, the PCI Express card 260 (261, 262, 263) is set to transfer from the local memory 230 to the PCI Express card 260 (261, 262, 263), and transfer activation is instructed (225-14, 225). -15) Wait for a transfer completion report from the PCI Express card 260 (261, 262, 263) (225-16). When the completion of the transfer is reported from the PCI Express card 260 (261, 262, 263), the address count control array n is released (225-17), and the indirect output transfer process 225 and the indirect transfer process 223 finish the process. The transfer end is reported to the processor 110 (111, 112, 113), and the data transfer process 221 ends the process (221-6).

なお、実施例におけるI/Oコントローラのメモリ空間21aとアドレスカウント制御配列nとメインメモリ130の転送空間の関係は図13のようになる。PCI Expressカード260(261、262、263)又はDMAコントローラ211はI/Oコントローラ転送空間21a−nにデータ転送のためアクセスすることによってアドレスカウント制御配列nが選択され、そのエントリn−2p0で示されるメインメモリ130の物理アドレスに対するアクセスへとアドレスカウント変換機構215−aによって変換される。このとき、全てのデータを転送するのに使用するアドレスカウント制御配列nのエントリ数が8以内、つまり、メインメモリ130の転送空間(ページ7)までの転送であるならば直接転送となり、エントリ数が8を超える場合、つまり、メインメモリ130の転送空間(ページ7)を超える転送ならば間接転送となる。   The relationship among the memory space 21a of the I / O controller, the address count control array n, and the transfer space of the main memory 130 in the embodiment is as shown in FIG. The PCI Express card 260 (261, 262, 263) or the DMA controller 211 accesses the I / O controller transfer space 21a-n for data transfer, so that the address count control array n is selected and indicated by its entry n-2p0. Is converted by the address count conversion mechanism 215-a to access to the physical address of the main memory 130. At this time, if the number of entries in the address count control array n used for transferring all the data is within 8, that is, if the transfer is up to the transfer space (page 7) of the main memory 130, the transfer is direct and the number of entries Is greater than 8, that is, if the transfer exceeds the transfer space (page 7) of the main memory 130, indirect transfer is performed.

また、チャネルプログラム13aの形式は本発明によるところではないが、一般的には図14のようにメインメモリ130の不連続な転送空間に対してデータ転送するように各エントリ13a−mに設定することも可能であり、本発明ではこのようなチャネルプログラム13aにおいても対応する。この場合、I/Oコントローラのメモリ空間21aとアドレスカウント制御配列nとメインメモリ130のアドレス空間の関係は図15のようになる。   The format of the channel program 13a is not the one according to the present invention, but generally it is set in each entry 13a-m so as to transfer data to a discontinuous transfer space of the main memory 130 as shown in FIG. In the present invention, such a channel program 13a is also supported. In this case, the relationship among the memory space 21a of the I / O controller, the address count control array n, and the address space of the main memory 130 is as shown in FIG.

図1の情報処理装置1000では中央処理装置100と入出力処理装置200がそれぞれ1個ずつであるが、それぞれ複数存在しても良い。この場合、中央処理装置100と入出力処理装置200はポイントツーポイントで接続される。また、PCI Expressカード260(261、262、263)の個数やアドレスカウント制御配列nとそのエントリn−2p0の個数は任意である。   In the information processing apparatus 1000 of FIG. 1, there is one central processing apparatus 100 and one input / output processing apparatus 200, but there may be a plurality of each. In this case, the central processing unit 100 and the input / output processing unit 200 are connected point-to-point. The number of PCI Express cards 260 (261, 262, 263) and the number of address count control arrays n and their entries n-2p0 are arbitrary.

以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。そのような変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。   As mentioned above, although this invention was demonstrated using embodiment, the technical scope of this invention is not limited to the range as described in the said embodiment. It will be apparent to those skilled in the art that various modifications or improvements can be added to the above embodiment. It is apparent from the scope of the claims that the embodiments added with such changes or improvements can be included in the technical scope of the present invention.

13a チャネルプログラム
13a−m エントリ
13a−m−0 コマンド
13a−m−1 フラグ
13a−m−2 カウント
13a−m−3 アドレス
21a メモリ空間
21a−n 転送空間
100 中央処理装置
110 演算処理装置
111 演算処理装置
112 演算処理装置
113 演算処理装置
120 メモリコントローラ
130 メインメモリ
140 バス
150 バス
200 入出力処理装置
210 I/Oコントローラ
211 DMAコントローラ
212 バッファ
213 バッファ
214 バッファ
215 転送制御装置
215−a アドレスカウント変換装置
216 バス
217 バス
218 バス
220 プロセッサ
221 データ転送処理
222 直接転送処理
223 間接転送処理
224 間接入力転送処理
225 間接出力転送処理
230 ローカルメモリ
240 スイッチ
250 バス
251 バス
252 バス
253 バス
260 PCI Expressカード
261 PCI Expressカード
262 PCI Expressカード
263 PCI Expressカード
270 バス
271 バス
272 バス
273 バス
300 バス
1000 情報処理装置
2000 周辺装置
2001 接続ケーブル
2002 接続ケーブル
3000 周辺装置
3001 接続ケーブル
3002 接続ケーブル
n アドレスカウント制御配列
n−100 カレントエントリポインタ
n−2p0 エントリ
n−2p1 アドレスフィールド
n−2p2 カウントフィールド
n−2p3 フラグフィールド
13a channel program 13a-m entry 13a-m-0 command 13a-m-1 flag 13a-m-2 count 13a-m-3 address 21a memory space 21a-n transfer space 100 central processing unit 110 arithmetic processing unit 111 arithmetic processing Device 112 Arithmetic processing device 113 Arithmetic processing device 120 Memory controller 130 Main memory 140 Bus 150 Bus 200 I / O processing device 210 I / O controller 211 DMA controller 212 Buffer 213 Buffer 214 Buffer 215 Transfer control device 215-a Address count conversion device 216 Bus 217 Bus 218 Bus 220 Processor 221 Data transfer process 222 Direct transfer process 223 Indirect transfer process 224 Indirect input transfer process 225 Indirect output transfer process 230 Local memory 40 Switch 250 Bus 251 Bus 252 Bus 253 Bus 260 PCI Express card 261 PCI Express card 262 PCI Express card 263 PCI Express card 263 PCI Express card 270 Bus 271 Bus 272 Bus 273 Bus 300 Bus 1000 Information processing device 2000 Peripheral device 2001 Connection cable 2002 Connection cable 3000 Peripheral device 3001 Connection cable 3002 Connection cable n Address count control array n-100 Current entry pointer n-2p0 Entry n-2p1 Address field n-2p2 Count field n-2p3 Flag field

Claims (2)

メインメモリと周辺装置との間でデータを転送する情報処理装置であって、
前記メインメモリを具備する中央処理装置と、
PCI Expressカードローカルメモリ、プロセッサ、及びI/Oコントローラを具備する入出力処理装置と
を備え、
前記I/Oコントローラは、DMAコントローラを具備し、
前記入出力処理装置は、前記PCI Expressカードから前記メインメモリに対して直接データ転送を行う第1の経路と、前記PCI Expressカード又は前記メインメモリから前記ローカルメモリに一度データ転送した後、前記メインメモリ又は前記PCI Expressカードにデータ転送を行う第2の経路とを更に具備し、
前記入出力処理装置は、前記I/Oコントローラのアドレスカウント制御配列が不十分であり、データ転送中に前記プロセッサが前記I/Oコントローラに介在する必要があると判断した場合、入力転送の場合は前記PCI Expressカードをマスタとして前記ローカルメモリに前記第2の経路を使用してデータ転送した後、前記DMAコントローラをマスタとして前記ローカルメモリのデータを前記第2の経路を使用して前記メインメモリに転送し、出力転送の場合は前記DMAコントローラをマスタとして前記メインメモリから前記ローカルメモリに前記第2の経路を使用してデータ転送をした後、前記PCI Expressカードをマスタとして前記ローカルメモリから前記周辺装置に前記第2の経路を使用してデータ転送する
ことを特徴とする情報処理装置。
An information processing device for transferring data between a main memory and a peripheral device,
A central processing unit comprising the main memory;
A PCI Express card , a local memory , a processor, and an input / output processing device including an I / O controller .
The I / O controller includes a DMA controller,
The input / output processing device transfers the data directly from the PCI Express card to the main memory, and transfers the data once from the PCI Express card or the main memory to the local memory. And a second path for transferring data to the memory or the PCI Express card ,
When the input / output processing unit determines that the address count control array of the I / O controller is insufficient and the processor needs to intervene in the I / O controller during data transfer, Uses the PCI Express card as a master to transfer data to the local memory using the second path, and then uses the DMA controller as a master to transfer data in the local memory using the second path to the main memory. In the case of output transfer, after transferring data from the main memory to the local memory using the second path using the DMA controller as a master, the PCI Express card is used as a master from the local memory to the local memory. data transfer using the second path to the peripheral device The information processing apparatus according to claim and.
前記入出力処理装置は、前記I/Oコントローラのアドレスカウント制御配列が十分であり、データ転送中に前記プロセッサが前記I/Oコントローラに介在しないと判断した場合、前記PCI Expressカードをマスタとして前記第1の経路を使用してデータ転送する
ことを特徴とする請求項1に記載の情報処理装置。
The output processing apparatus, the a I / O controller of the address count control sequences sufficient, the case where the processor during the data transfer is determined not interposed the I / O controller, the PCI Express card as a master Transfer data using the first route
The information processing apparatus according to claim 1.
JP2010049690A 2010-03-05 2010-03-05 Information processing device Expired - Fee Related JP5218452B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010049690A JP5218452B2 (en) 2010-03-05 2010-03-05 Information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010049690A JP5218452B2 (en) 2010-03-05 2010-03-05 Information processing device

Publications (2)

Publication Number Publication Date
JP2011186658A JP2011186658A (en) 2011-09-22
JP5218452B2 true JP5218452B2 (en) 2013-06-26

Family

ID=44792863

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010049690A Expired - Fee Related JP5218452B2 (en) 2010-03-05 2010-03-05 Information processing device

Country Status (1)

Country Link
JP (1) JP5218452B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5387993B2 (en) * 2011-04-19 2014-01-15 日本電気株式会社 Data transfer control device, data transfer control method, and computer system
KR101934519B1 (en) 2012-11-26 2019-01-02 삼성전자주식회사 Storage device and data transfering method thereof
JP5541544B2 (en) * 2012-12-14 2014-07-09 エヌイーシーコンピュータテクノ株式会社 Computer apparatus, data transfer method, and program
JP6901138B2 (en) * 2018-03-12 2021-07-14 Necプラットフォームズ株式会社 Arithmetic processing device, information processing device and input / output processing method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02294815A (en) * 1989-05-10 1990-12-05 Nec Eng Ltd Connecting device for optical disk device
JP2550444B2 (en) * 1991-03-07 1996-11-06 富士通株式会社 Device controller
JPH1185668A (en) * 1997-09-11 1999-03-30 Mitsubishi Electric Corp Bus controller
JP5111236B2 (en) * 2008-05-22 2013-01-09 株式会社日立製作所 Data transfer system

Also Published As

Publication number Publication date
JP2011186658A (en) 2011-09-22

Similar Documents

Publication Publication Date Title
US10915477B2 (en) Processing of events for accelerators utilized for parallel processing
US7844752B2 (en) Method, apparatus and program storage device for enabling multiple asynchronous direct memory access task executions
EP2097828B1 (en) Dmac to handle transfers of unknown lengths
US7724984B2 (en) Image processing apparatus
US20040186931A1 (en) Transferring data using direct memory access
JP5218452B2 (en) Information processing device
US20140006742A1 (en) Storage device and write completion notification method
EP2423824A1 (en) Data transfer device, method of transferring data, and image forming apparatus
KR20080105390A (en) Apparatus and method for controlling commands used in flash memory
CN105373496A (en) Microcomputer
US9311225B2 (en) DMA channels
EP4152152A1 (en) Interrupt handling by migrating interrupts between processing cores
US11550576B2 (en) Arithmetic processing device having multicore ring bus structure with turn-back bus for handling register file push/pull requests
US9110856B2 (en) Interface control apparatus, data storage apparatus and method for interface control
US8639860B2 (en) Data transfer system and data transfer method
JP2009059276A (en) Data processing apparatus and program
JPS63123130A (en) Pipeline control system
US20110191638A1 (en) Parallel computer system and method for controlling parallel computer system
KR101706201B1 (en) Direct memory access controller and operating method thereof
JPH09218859A (en) Multiprocessor control system
JP2005044124A (en) Mpu
EP3572949A1 (en) Transfer control device, transfer device, transfer control method, and transfer control program
CN114327634A (en) Apparatus and method for low latency decompression acceleration via a single job descriptor
JP2012194828A (en) Dma device, information processing device, and data transfer method
JP2012003325A (en) Computer system and interruption request processing method

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120724

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120725

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120912

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: 20130205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130218

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160315

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5218452

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees