JP2013200646A - I/o control device, control method for i/o device, and computer program - Google Patents
I/o control device, control method for i/o device, and computer program Download PDFInfo
- Publication number
- JP2013200646A JP2013200646A JP2012067746A JP2012067746A JP2013200646A JP 2013200646 A JP2013200646 A JP 2013200646A JP 2012067746 A JP2012067746 A JP 2012067746A JP 2012067746 A JP2012067746 A JP 2012067746A JP 2013200646 A JP2013200646 A JP 2013200646A
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- control unit
- instruction
- access
- buffer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
Description
本発明は、主記憶装置に対する処理をI/O装置等によって制御する技術分野に関する。 The present invention relates to a technical field in which processing for a main storage device is controlled by an I / O device or the like.
近年、サーバやパーソナルコンピュータ等の電子機器は、高性能な演算処理装置や主記憶装置を搭載している。そのため、サーバやパーソナルコンピュータ等の電子機器は、作業等を処理する処理能力が飛躍的に向上している。これは、演算処理装置や主記憶装置が、高速で処理を実行するためである。また、サーバやパーソナルコンピュータ等の電子機器は、演算処理装置や主記憶装置が作業等を処理するためのデータをI/O(Input/Output)装置に格納する。演算処理装置や主記憶装置が高速で処理を実行するのに対して、I/O装置の処理速度は、演算処理装置や主記憶装置と比較した場合、低速である。そのため、演算処理装置や主記憶装置の処理能力とI/O装置の処理能力との間には、ギャップが発生する。これらから、I/O装置の処理能力は、サーバやパーソナルコンピュータ等の性能を決定する大きな要因となっている。 In recent years, electronic devices such as servers and personal computers are equipped with high-performance arithmetic processing units and main storage devices. For this reason, electronic devices such as servers and personal computers have dramatically improved processing capabilities for processing work and the like. This is because the arithmetic processing unit and the main storage device execute processing at high speed. In addition, electronic devices such as servers and personal computers store data for processing operations and the like by an arithmetic processing unit and a main storage device in an I / O (Input / Output) device. While the arithmetic processing device and the main storage device execute processing at a high speed, the processing speed of the I / O device is low when compared with the arithmetic processing device and the main storage device. Therefore, a gap is generated between the processing capability of the arithmetic processing unit or the main storage device and the processing capability of the I / O device. For these reasons, the processing capability of the I / O device is a major factor in determining the performance of servers, personal computers, and the like.
また、一般的に、大規模なコンピュータシステムでは、演算処理装置がI/O装置の処理を制御するのではなく、I/O装置がI/Oデバイスと主記憶装置とのデータ転送処理を担う構造となっている。大規模なコンピュータシステムにおいて、I/O装置の処理時間は、主記憶装置に対するアクセス処理が占める割合が大きい。このため、大規模なコンピュータシステムは、I/O装置のI/O処理時間を短くすることが不可欠である。 In general, in a large-scale computer system, the arithmetic processing device does not control the processing of the I / O device, but the I / O device is responsible for data transfer processing between the I / O device and the main storage device. It has a structure. In a large-scale computer system, the I / O device processing time accounts for a large proportion of access processing to the main storage device. For this reason, it is indispensable for a large-scale computer system to shorten the I / O processing time of the I / O device.
このような背景から、サーバやパーソナルコンピュータ等の電子機器は、I/O装置の処理性能を向上させる必要がある。例えば、特許文献1は、システムからの主記憶装置に対する処理要求に対し順位番号を付与する。主記憶アクセス制御装置は、付与した順位番号に従って処理要求を実行する優先順位制御方式について開示する。
Against this background, electronic devices such as servers and personal computers need to improve the processing performance of I / O devices. For example,
特許文献1に記載された優先順位制御方式は、複数のシステムから主記憶装置に対する処理要求を、処理待受けのためにシステム夫々に対応して設けたバッファメモリに格納する。リクエスト番号用カウンタは、バッファメモリを格納する際、バッファメモリ夫々が受け付けた処理要求に受付時点の順位番号を付与する。主記憶アクセス制御装置は、付与した順位番号順にバッファメモリに格納された処理要求を読み出すと共に、読み出した処理を実行する。また、主記憶アクセス制御装置は、読み出し出力夫々が同一順位番号である場合、システム処理の順序に従って処理を実行する。
The priority order control method described in
このように、特許文献1は、システムから主記憶装置に対する処理要求を受付けた順序で実行すると共に、同一順位番号の時は、システム処理が定める順序に従って処理を実行する技術を開示する。
As described above,
また、特許文献2は、入出力装置からの主記憶装置または通信バッファに対するアクセス要求にアクセス順序を示すアクセス要求識別子を付加し、付加した順序で入出力装置に送出する計算機システムについて開示する。
特許文献2に記載された計算機システムは、入出力装置からの主記憶装置MSまたは通信バッファCBSに対するアクセス要求に対して、アクセス要求の制御情報にアクセス順序を示すアクセス要求識別子を付加する。主記憶装置MSまたは通信バッファCBSは、入出力装置からのアクセス要求に対してデータを出力し、出力したデータをデータ・スタック群に格納する。データ・スタック群に格納したデータは、アクセス要求識別子で決まる順序で入出力装置にデータを送出する。また、通信バッファCBSにデータを書き込む際、CBS格納検出回路は、通信バッファCBSに格納するタイミングを検出する。CBS格納検出回路は、検出した通信バッファCBSに格納するタイミングを優先順位決定回路に報告する。優先順位決定回路は、CBS格納検出回路からの報告に対し、一定の間、通信バッファCBSへのアクセスの優先順位決定(選択)を停止する。
The computer system described in
このように、特許文献2は、入出力装置からの主記憶装置MSまたは通信バッファCBSに対するアクセス要求に対して、アクセス要求識別子を付与する。さらに、主記憶装置MSまたは通信バッファCBSは、アクセス要求に対して、データをデータ・スタック群に格納する。このため、主記憶装置MSと通信バッファCBSとのアクセス速度が異なる記憶装置を有する計算機システムは、アクセス速度が異なることによりデータ転送の完了した順序が逆転した場合であっても、アクセス要求識別子を基に、決められた順序でデータ・スタック群に格納されたデータを入出力装置に送出する。このため、優先順位決定回路は、主記憶装置MSに対するアクセスが終了することを待つことなく、後続の通信バッファCBSへのアクセスを開始する技術を開示する。
As described above,
しかしながら、上述した特許文献1および特許文献2では、入出力装置から要求された順序にて、データの送受信をすることが記載されているに留まり、そのデータをどのように効率よく送受信するかについては、述べられていない。
However,
さらに、特許文献2では、通信バッファCBSに格納するタイミングの間、他のアクセスを停止する。このため、特許文献2では、他のアクセス命令を全て停止してしまうので、主記憶装置に対する複数のアクセス命令が発行された場合、効率よくデータ送受信をすることが考慮されておらず、複数のアクセス命令の実行待ちが発生する。そのため、特許文献2に開示された技術によっては、依然としてI/O処理全体の遅延は、解決することが困難である。
Furthermore, in
例えば、I/O装置が主記憶装置に対するデータ転送方法は、I/Oプロセッサ等がI/O装置と主記憶装置とのデータ転送を管理するPIO(Programmed Input Output)方式と、I/Oプロセッサ等が転送要求を行い、その転送要求を受けたDMA(Direct Memory Access)コントローラが実際の転送命令を発行するDMA(Direct Memory Access)方式による方法がある。 For example, a data transfer method for an I / O device to a main storage device includes a PIO (Programmed Input Output) system in which an I / O processor or the like manages data transfer between the I / O device and the main storage device, and an I / O processor. There is a method using a DMA (Direct Memory Access) method in which a DMA (Direct Memory Access) controller that receives a transfer request issues an actual transfer command.
PIO方式は、プロセッサ等により主記憶装置に対して、ロード命令、ストア命令、SYNC(synchronization)命令(順序制御命令)、FLUSH命令(同期制御命令)等の複数の命令を実行する。そのため、PIO方式は、データ量が少ない場合のデータ送受信に向いている。 In the PIO method, a processor or the like executes a plurality of instructions such as a load instruction, a store instruction, a SYNC (synchronization) instruction (sequence control instruction), and a FLUSH instruction (synchronous control instruction) on the main storage device. Therefore, the PIO method is suitable for data transmission / reception when the amount of data is small.
一方、DMA方式は、プロセッサ等によりデータ転送要求をDMAコントローラに発行する。データ転送要求を受けたDMAコントローラは、主記憶装置に対して、ロード命令、ストア命令を実行する。I/O装置は、主記憶装置に対してのデータ転送処理をDMAコントローラに任せることができる。そのため、DMA方式は、データ量が多い場合のデータ送受信に向いている。 On the other hand, in the DMA method, a data transfer request is issued to the DMA controller by a processor or the like. Upon receiving the data transfer request, the DMA controller executes a load instruction and a store instruction for the main storage device. The I / O device can leave the data transfer processing to the main storage device to the DMA controller. Therefore, the DMA method is suitable for data transmission / reception when the amount of data is large.
このように、I/O装置は、これら、PIO方式、DMA方式を組み合わせることで、全体のI/O処理時間を短くしている。 As described above, the I / O device shortens the entire I / O processing time by combining the PIO method and the DMA method.
しかしながら、PIO方式において、SYNC命令およびFLUSH命令等の主記憶装置に対するアクセスを停止する必要のある命令が発行された場合、主記憶装置のアクセス制御を担うメモリコントローラは、主記憶装置に対して発行するSYNC命令およびFLUSH命令の実行が終了するまで、後続する他のアクセス命令を抑止するように動作する。 However, in the PIO method, when an instruction such as a SYNC instruction or a FLUSH instruction that requires access to the main storage device is issued, the memory controller responsible for the access control of the main storage device is issued to the main storage device. Until the execution of the SYNC instruction and the FLUSH instruction is completed, the other access instructions that follow are operated.
以下の説明において、I/OプロセッサやI/Oプロセッサからアクセス制御されることにより、I/O装置を制御するソフトウェア(Firmware;以降、「FW」と称する)等を総称してリクエストリソースと称する(以下の実施形態においても同様)。 In the following description, software (Firmware; hereinafter referred to as “FW”) that controls an I / O device by being controlled by an I / O processor or an I / O processor is collectively referred to as a request resource. (The same applies to the following embodiments).
より具体的に、I/OプロセッサがSYNC命令またはFLUSH命令を発行した際、メモリコントローラは、SYNC命令またはFLUSH命令が完了するまで、後続の命令を実行することを抑止する。 More specifically, when the I / O processor issues a SYNC instruction or FLUSH instruction, the memory controller inhibits execution of subsequent instructions until the SYNC instruction or FLUSH instruction is completed.
さらに、メモリコントローラは、同じリクエストリソースが発行したアクセス命令だけでなく、他のリクエストリソースが発行した命令も同様に抑止してしまうという課題がある。そのため、I/O処理全体における遅延の原因となっている。 Furthermore, the memory controller has a problem that it suppresses not only access commands issued by the same request resource but also commands issued by other request resources. This causes a delay in the entire I / O processing.
本発明の主たる目的は、上述した課題であるI/O制御装置によって主記憶装置に対するアクセス命令を制御することにより、I/O装置全体の処理遅延を改善するI/O制御装置等を提供することにある。 A main object of the present invention is to provide an I / O control device and the like that improve processing delay of the entire I / O device by controlling an access command to the main storage device by the I / O control device which is the above-mentioned problem. There is.
上記の課題を達成すべく、本発明に係るI/O制御装置は、以下の構成を備えることを特徴とする。 In order to achieve the above object, an I / O control device according to the present invention has the following configuration.
即ち、本発明に係るI/O制御装置は、
アクセスリソースが発行する主記憶装置に対する命令の種別を判別し、判別した結果、アクセス命令だと判別した場合には、第1のトランザクションを生成する一方、転送指示命令だと判別した場合には、第2のトランザクションを生成する第1の制御部と、前記第2のトランザクションが生成された場合に、前記第2のトランザクションを基にデータ転送に適したアクセス命令単位に分割した第3のトランザクションを生成する第2の制御部と、前記第1のトランザクションと前記第3のトランザクションとが生成された場合に、該生成された第1及び第3のトランザクションをトランザクション毎に格納し、格納したときの順序と同じ順序でメモリコントローラに送信する第3の制御部と、を備えることを特徴とする。
That is, the I / O control device according to the present invention is
The type of instruction issued to the main storage device issued by the access resource is determined, and if it is determined that the instruction is an access instruction, the first transaction is generated. On the other hand, if it is determined that the instruction is a transfer instruction instruction, A first control unit that generates a second transaction; and a third transaction that is divided into access instruction units suitable for data transfer based on the second transaction when the second transaction is generated. When the second control unit to generate, the first transaction, and the third transaction are generated, the generated first and third transactions are stored for each transaction. And a third control unit that transmits to the memory controller in the same order as the order.
また、同目的を達成すべく、本発明に係る記憶デバイスにおける異常分析方法は、以下の構成を備えることを特徴とする。 In order to achieve the object, the abnormality analysis method for a storage device according to the present invention is characterized by having the following configuration.
即ち、本発明に係るI/O装置の制御方法は、
アクセスリソースが発行する主記憶装置に対する命令の種別を判別し、判別した結果、アクセス命令だと判別した場合には、第1のトランザクションを生成する一方で、転送指示命令だと判別した場合には、第2のトランザクションを生成し、前記第2のトランザクションが生成された場合に、前記第2のトランザクションを基にデータ転送に適したアクセス命令単位に分割した第3のトランザクションを生成し、前記第1のトランザクションと前記第3のトランザクションとが生成された場合に、該生成された第1及び第3のトランザクションをトランザクション毎に格納し、格納したときの順序と同じ順序でメモリコントローラに送信することを特徴とする。
That is, the control method of the I / O device according to the present invention is:
If the type of instruction issued to the main storage device issued by the access resource is determined, and if it is determined that the instruction is an access instruction, the first transaction is generated, while the transfer instruction instruction is determined Generating a second transaction, and when the second transaction is generated, generating a third transaction divided into access instruction units suitable for data transfer based on the second transaction, When one transaction and the third transaction are generated, the generated first and third transactions are stored for each transaction, and transmitted to the memory controller in the same order as the stored order. It is characterized by.
尚、同目的は、上記の各構成を有するI/O制御装置およびI/O装置の制御方法を、コンピュータによって実現するコンピュータ・プログラム、およびそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。 It is to be noted that the object is to read the I / O control device and the control method for the I / O device having the above-described configurations by a computer, a computer program storing the computer program, and computer-readable This is also achieved by a storage medium.
本発明によれば、I/O制御装置によって主記憶装置に対するアクセス命令を制御することにより、I/O処理全体の遅延を改善することができる。 According to the present invention, the delay of the entire I / O processing can be improved by controlling the access instruction to the main storage device by the I / O control device.
以下、本発明の実施形態について図面を参照して詳細に説明する。
なお、実施形態では、本発明をコンピュータシステムに適用した場合を例として説明する。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
In the embodiment, a case where the present invention is applied to a computer system will be described as an example.
図18は、本発明を適用可能なコンピュータシステムの構成を示す概略ブロック図である。 FIG. 18 is a schematic block diagram showing the configuration of a computer system to which the present invention can be applied.
図18において、係るコンピュータシステムは、I/O装置1、メモリコントローラ2、主記憶装置3、演算処理装置4、ディスク装置6、LAN(Local Area Network)7、テープ装置8、ホストコンピュータ9を有する。
In FIG. 18, the computer system includes an I /
I/O装置1は、複数のチャンネル(Channel、CH)スロット5を有する。チャンネルスロット5は、チャンネルカードを搭載することにより、ディスク装置6、LAN7、テープ装置8、ホストコンピュータ9等を実装する。
The I /
メモリコントローラ2は、コンピュータシステム上で主記憶装置3に記憶されたデータのロードおよびストア等を実行する際、主記憶装置3を制御する制御装置である。
The
主記憶装置3は、演算処理装置4がメモリコントローラ2を介してアクセスすることができる記憶装置である。
The
演算処理装置4は、コンピュータシステムの全体の動作を司るものである。
以下、上述した構成により実行される処理の詳細について説明する。
The
Hereinafter, details of processing executed by the above-described configuration will be described.
<第1の実施形態>
図1は、本発明の第1の実施形態におけるI/O装置1の構成を示すブロック図である。
<First Embodiment>
FIG. 1 is a block diagram showing a configuration of an I /
図1において、I/O装置1は、大別して、I/O制御装置10を有する。
In FIG. 1, the I /
より具体的に、I/O制御装置10は、第1の制御部12、第2の制御部13、第3の制御部14を有する。
More specifically, the I /
より具体的に、第1の制御部12は、第1のサブ制御部15、第2のサブ制御部16を有する。
More specifically, the
第1の制御部12は、リクエストリソース11から送信された主記憶装置3に対するアクセス命令を受信すると共に、受信したアクセス命令のヘッダに格納された情報を基に転送方式を判別する。第1の制御部12は、転送方式を判別した結果、主記憶装置に対するアクセス命令(PIO方式)であると判別した場合、アクセス命令を第1のサブ制御部15に入力する。一方、第1の制御部12は、データ転送要求(DMA方式)であると判別した場合、アクセス命令を第2のサブ制御部16に入力する。
The
図2は、第1の実施形態に係るI/O制御装置のうち、第1のサブ制御部15の構成を示すブロック図である。第1のサブ制御部15は、第1のバッファ20、第1のID(identification)管理部21を有する。
FIG. 2 is a block diagram illustrating a configuration of the first
第1のバッファ20は、第1の制御部12から入力された主記憶装置3へのアクセス命令の消失を防止するためにアクセス命令を格納する。
The
以下の説明において、本実施形態では、説明の便宜上、第1のID管理部21にて生成されたトランザクションを第1のトランザクションと称する。また、第2のID管理部23にて生成されたトランザクションを第2のトランザクションと称する。さらに、第3のサブ制御部17にて生成されたトランザクションを第3のトランザクションと称する(以下の実施形態においても同様)。
In the following description, in this embodiment, for convenience of description, a transaction generated by the first
第1のID管理部21は、第1のバッファ20に格納したアクセス命令を読み出す。第1のID管理部21は、読み出したアクセス命令にID(identification、識別子)を付与すると共に、主記憶装置3にアクセスするためのトランザクション(第1のトランザクション)を生成する。さらに、第1のID管理部21は、付与したIDとトランザクションとを記憶(記述)したIDリストを作成する。
The first
第1のID管理部21は、生成したトランザクション(第1のトランザクション)を第1の制御部12を経由して第3の制御部14に送信する。
The first
また、第1のID管理部21は、第3の制御部14が送信したリプライトランザクションを、第1の制御部12を経由して受信する。第1のID管理部21は、受信したリプライトランザクションに埋め込まれたIDを読み込むと共に、読み込んだIDと作成したIDリストとに基づいてリプライ結果(リプライデータを含む)を、リクエストリソース11が指定したリプライエリアに格納する。
Further, the first
図3は、第1の実施形態に係るI/O制御装置のうち、第2のサブ制御部16の構成を示すブロック図である。第2のサブ制御部16は、DMAコントローラ22、第2のID管理部23を有する。
FIG. 3 is a block diagram illustrating a configuration of the second
DMAコントローラ22は、リクエストリソース11から送信されたDMA転送要求を、第1の制御部12を経由して受信する。
The DMA controller 22 receives the DMA transfer request transmitted from the
DMAコントローラ22は、受信したDMA転送要求に応じて、主記憶装置3にアクセスするアドレスとデータサイズを指定したトランザクションを生成する。DMAコントローラ22は、第2のID管理部23に生成したトランザクションを送信する。
In response to the received DMA transfer request, the DMA controller 22 generates a transaction specifying the address and data size for accessing the
第2のID管理部23は、DMAコントローラ22から送信されたトランザクションを受信する。第2のID管理部23は、受信したトランザクションにID(identification、識別子)を付与すると共に、主記憶装置3にアクセスするためのトランザクション(第2のトランザクション)を生成する。さらに、第2のID管理部23は、付与したIDとトランザクションとを記憶(記述)したIDリストを作成する。
The second
第2のID管理部23は、生成したトランザクション(第2のトランザクション)を、第1の制御部12を経由して第3のサブ制御部17に送信する。
The second
また、第2のID管理部23は、第4のサブ制御部18が送信したリプライトランザクションを、第1の制御部12を経由して受信する。第2のID管理部23は、受信したリプライトランザクションに埋め込まれたIDを読み込むと共に、読み込んだIDと作成したIDリストとに基づいてリプライ結果(リプライデータを含む)をリクエストリソース11が指定したリプライエリアに格納する。
Further, the second
尚、第1のID管理部21および第2のID管理部23が付与するIDは、トランザクション情報のヘッダデータの一部として埋め込めばよい。尚、一例として、トランザクション情報のヘッダデータの一部として埋め込む場合を示したが、トランザクション情報のヘッダデータに限らずトランザクション情報の未使用領域(エリア)にIDを埋め込んでもよい。
Note that the IDs assigned by the first
第2の制御部13は、第3のサブ制御部17、第4のサブ制御部18を有する。
The
第3のサブ制御部17は、第2のID管理部23が送信するトランザクション(第2のトランザクション)を格納する。さらに、第3のサブ制御部17は、格納したトランザクション(第2のトランザクション)を、主記憶装置3からのデータ転送に適したアクセス命令単位に変換したトランザクション(第3のトランザクション)を生成する(詳細については、後述する)。
The third
第3のサブ制御部17は、生成したトランザクション(第3のトランザクション)を第3の制御部14に送信すると共に、第4のサブ制御部18にトランザクション情報を送信する。
The third
第4のサブ制御部18は、第3のサブ制御部17から送信されたトランザクション情報を格納する。
The fourth
また、第4のサブ制御部18は、第3の制御部14から送信されたリプライトランザクションを受信すると共に、受信したリプライトランザクションを格納する。
The fourth
第4のサブ制御部18は、格納したリプライトランザクションを第3のサブ制御部17から受信したトランザクション情報を基にアクセス命令単位に分割されたリプライトランザクションを結合することにより、リプライトランザクションを生成する(詳細については、後述する)。
The fourth
第4のサブ制御部18は、生成したリプライトランザクションを、第1の制御部12を経由して第2のサブ制御部16に送信する。
The fourth
第3の制御部14は、メモリコントローラ2とのI/Oインターフェース制御機能を有し、メモリコントローラ2とのトランザクションを送受信する機能を有する。
The
第3の制御部14は、第1のサブ制御部15または、第3のサブ制御部17から送信されたトランザクションを受信する。
The
図4は、第1の実施形態に係るI/O制御装置のうち、第3の制御部14の構成を示すブロック図である。第3の制御部14は、第2のバッファ24、第3のバッファ25、アクセス制御部26、送信バッファ27、受信バッファ28を有する。
FIG. 4 is a block diagram illustrating a configuration of the
第2のバッファ24は、第1のサブ制御部15から送信されたトランザクション(第1のトランザクション)を格納する。
The
第3のバッファ25は、第3のサブ制御部17から送信されたトランザクション(第3のトランザクション)を格納する。
The
アクセス制御部26は、第2のバッファ24および第3のバッファ25に格納されたトランザクションを読み出す。アクセス制御部26は、読み出したトランザクションを送信バッファ27に送信する。
The
より具体的に、アクセス制御部26は、第3のバッファ25に格納されたトランザクション(第3のトランザクション)を読み出す。アクセス制御部26は、読み出したトランザクション(第3のトランザクション)を送信バッファ27に送信する。
More specifically, the
一方、アクセス制御部26は、第2のバッファ24に格納されたトランザクション(第1のトランザクション)に対してアクセス命令の種別を解析する。アクセス制御部26は、解析した結果、主記憶装置3へのアクセス命令がSYNC命令またはFLUSH命令であると判断した場合、命令発行抑止フラグを設定すると共に、送信バッファ27に当該アクセス命令を送信する。
On the other hand, the
アクセス制御部26は、命令発行抑止フラグを設定した場合、送信したトランザクション(第1のトランザクション)に対するリプライトランザクションを受信するまで待機する。より具体的に、アクセス制御部26は、命令発行抑止フラグを設定後、第2のバッファ24に格納されているトランザクション(第1のトランザクション)の読み出しを抑止する。
When the instruction issuance suppression flag is set, the
尚、アクセス制御部26は、命令発行抑止フラグを設定した場合であっても、第3のバッファ25に格納されたトランザクション(第3のトランザクション)を、抑止することなく読み出す。
Note that the
送信バッファ27は、アクセス制御部26から送信されたトランザクションの消失を防止するために格納すると共に、トランザクションを格納した順序でメモリコントローラ2に送信する。
The
メモリコントローラ2は、送信バッファ27から送信されたトランザクションを受信すると共に、受信した主記憶装置3に対するトランザクションを実行する。メモリコントローラ2は、実行したリプライをリプライトランザクションとして、第3の制御部14に送信する。
The
第3の制御部14は、メモリコントローラ2からのリプライトランザクションを受信すると共に、受信したリプライトランザクションを受信バッファ28に入力する。
The
受信バッファ28は、メモリコントローラ2からのリプライトランザクションを受信すると共に、受信したリプライトランザクションを格納する。さらに、受信バッファ28は、格納したリプライトランザクションをアクセス制御部26に送信する。
The
尚、第1のID管理部21および第2のID管理部23によってトランザクションに埋め込まれたIDは、メモリコントローラ2によってリプライトランザクション情報のヘッダデータの一部としてリプライトランザクションに引き継がれる。
Note that the ID embedded in the transaction by the first
アクセス制御部26は、受信バッファ28からリプライトランザクションを受信する。アクセス制御部26は、受信したリプライトランザクションのヘッダに格納された情報を基に転送方式を判別する。
The
アクセス制御部26は、転送方式を判別した結果、主記憶装置に対するアクセス命令(PIO方式)であると判別した場合、命令発行抑止フラグを設定した命令であるか否かを解析する。
If the
より具体的に、アクセス制御部26は、解析の結果、リプライトランザクションが命令発行抑止フラグを設定した命令であると判別した場合、命令発行抑止フラグを解除する。さらに、アクセス制御部26は、リプライトランザクションを第1のサブ制御部15に送信する。
More specifically, when the
一方、アクセス制御部26は、転送方式を判別した結果、データ転送要求(DMA方式)であると判別した場合、リプライトランザクションを第4のサブ制御部18に送信する。
On the other hand, as a result of determining the transfer method, the
尚、アクセス制御部26は、命令発行抑止フラグを解除した場合、第2のバッファ24に格納されているトランザクションの読み出しを開始する。
The
尚、アクセス制御部26は、受信したリプライトランザクションの要求元が第1のサブ制御部15である場合、リプライトランザクションを第1のサブ制御部15に送信する。また、アクセス制御部26は、受信したリプライトランザクションの要求元が第3のサブ制御部17である場合、リプライトランザクションを第4のサブ制御部18に送信する。
The
このように本実施の形態に係るI/O制御装置10によれば、主記憶装置に対するアクセス命令の制御をメモリコントローラではなく、I/O制御装置10によって制御することにより、I/O装置全体の処理遅延を改善する。特に、本実施の形態によれば、SYNC命令およびFLUSH命令が発行された場合においても、SYNC命令およびFLUSH命令の後続命令のみを抑止することでI/O処理全体の処理時間の短縮を実現できる。
As described above, according to the I /
<第2の実施形態>
次に、上述した第1の実施形態に係るI/O制御装置10を基本とする第2の実施形態について説明する。以下の説明においては、本実施形態に係る特徴的な部分を中心に説明する。その際、上述した第1の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明は省略する。
<Second Embodiment>
Next, a second embodiment based on the I /
図5は、本発明の第2の実施形態におけるI/O装置1aの構成を示すブロック図である。 FIG. 5 is a block diagram showing the configuration of the I / O device 1a according to the second embodiment of the present invention.
図5において、I/O装置1aは、大別して、I/O制御装置30を有する。
In FIG. 5, the I / O device 1 a roughly includes an I /
より具体的に、I/O制御装置30は、I/Oプロセッサインタフェース(Interfac;以降、「I/F」と称する)制御部33、ユニット34、メモリコントローラI/F制御部35を有する。尚、I/OプロセッサI/F制御部33は、第1の実施形態における第1の制御部12に相当する。また、ユニット34は、第1の実施形態における第2の制御部13に相当する。
More specifically, the I /
I/Oプロセッサ32は、ローカルメモリ31とのメモリインターフェースを有し、ローカルメモリ31へのアクセス制御機能を有する。尚、I/Oプロセッサ32は、第1の実施形態におけるリクエストリソース11に相当する。
The I /
ローカルメモリ31は、I/Oプロセッサ32からアクセス制御されることにより、I/O装置を制御するソフトウェア(FW)とチャンネルスロット5に実装されるチャンネルカードを制御するソフトウェア(FW)とを格納したワークエリアを有する。また、ローカルメモリ31は、主記憶装置3へのストアデータおよび主記憶装置3からのロードデータを一時的に格納する。さらに、ローカルメモリ31は、I/Oプロセッサ32が送信した主記憶装置3に対するアクセス命令のリプライエリアとして使用する。
The
I/OプロセッサI/F制御部33は、I/O制御装置30とI/Oプロセッサ32との間でトランザクションの送受信を制御する機能を有する。
The I / O processor I /
より具体的に、I/OプロセッサI/F制御部33は、FW制御部36、DMA制御部37を有する。FW制御部36は、第1の実施形態における第1のサブ制御部15に相当する。また、DMA制御部37は、第1の実施形態における第2のサブ制御部16に相当する。
More specifically, the I / O processor I /
図6は、第2の実施形態に係るI/O制御装置のうち、FW制御部36の構成を示すブロック図である。FW制御部36は、命令発行用バッファ41、第1のID管理部21を有する。命令発行用バッファ41は、第1の実施形態における第1のバッファ20に相当する。
FIG. 6 is a block diagram illustrating a configuration of the
図7は、第2の実施形態に係るI/O制御装置のうち、DMA制御部37の構成を示すブロック図である。DMA制御部37は、DMAコントローラ22、第2のID管理部23を有する。
FIG. 7 is a block diagram illustrating a configuration of the
ユニット34は、インバウンド制御部38、アウトバウンド制御部39を有する。インバウンド制御部38は、第1の実施形態における第3のサブ制御部17に相当する。また、アウトバウンド制御部39は、第1の実施形態における第4のサブ制御部18に相当する。
The
メモリコントローラI/F制御部35は、トランザクション(transaction;以降、「TXN」と称する)制御部40を有する。メモリコントローラI/F制御部35は、メモリコントローラ2とのI/Oインターフェース制御機能を有し、メモリコントローラ2とのトランザクションを送受信する機能を有する。TXN制御部40は、第1の実施形態における第3の制御部14に相当する。
The memory controller I /
メモリコントローラI/F制御部35は、インバウンド制御部38またはFW制御部36からのトランザクションを受信すると共に、受信したトランザクションをTXN制御部40に入力する。
The memory controller I /
また、メモリコントローラI/F制御部35は、メモリコントローラ2から送信されたリプライトランザクションを受信すると共に、受信したリプライトランザクションをTXN制御部40に入力する。
In addition, the memory controller I /
さらに、メモリコントローラI/F制御部35は、TXN制御部40にてリプライ確認されたリプライトランザクションを、FW制御部36またはアウトバウンド制御部39に送信する。
Further, the memory controller I /
図8は、第2の実施形態に係るI/O制御装置のうち、TXN制御部40の構成を示すブロック図である。TXN制御部40は、FWリクエストバッファ42、インバウンドリクエストバッファ43、トランザクション(transaction;以降、「TXN」と称する)送受信制御部44、送信バッファ27、受信バッファ28を有する。
FIG. 8 is a block diagram illustrating a configuration of the
尚、FWリクエストバッファ42は、第1の実施形態における第2のバッファ24に相当する。また、インバウンドリクエストバッファ43は、第1の実施形態における第3のバッファ25に相当する。さらに、TXN送受信制御部44は、第1の実施形態におけるアクセス制御部26に相当する。
The
次に、本発明の第2の実施形態に係るより具体的なI/O制御装置の動作について説明する。 Next, a more specific operation of the I / O control device according to the second embodiment of the present invention will be described.
図9は、第2の実施形態のI/O制御装置が行う送信処理を示すフローチャートである。また、図10は、第2の実施形態のI/O制御装置が行う受信処理を示すフローチャートである。係るフローチャートに沿ってI/O制御装置の処理手順を説明する。 FIG. 9 is a flowchart illustrating a transmission process performed by the I / O control device according to the second embodiment. FIG. 10 is a flowchart illustrating a reception process performed by the I / O control device according to the second embodiment. The processing procedure of the I / O control device will be described along the flowchart.
PIO方式において、I/Oプロセッサ32上で動作する制御ソフトウェア(FW)によって主記憶装置3に対してロード命令、ストア命令、SYNC命令(順序制御命令)、FLUSH命令(同期制御命令)等の複数のアクセス命令を実行する場合の動作について詳細に説明する。
In the PIO method, a plurality of load instructions, store instructions, SYNC instructions (sequential control instructions), FLUSH instructions (synchronous control instructions), etc., are sent to the
I/Oプロセッサ32上で動作する制御ソフトウェア(FW)は、主記憶装置3に対するアクセス命令であるトランザクションをI/OプロセッサI/F制御部33に送信する。
Control software (FW) operating on the I /
I/OプロセッサI/F制御部33は、制御ソフトウェア(FW)から送信されたトランザクションを受信すると共に、受信したトランザクションのヘッダに格納された情報を基に転送方式を判別する。I/OプロセッサI/F制御部33は、転送方式を判別した結果、送信されたトランザクションをFW制御部36に入力する(ステップS1において「YES」)。
The I / O processor I /
FW制御部36は、入力されたトランザクションを、命令発行用バッファ41に格納する。
The
第1のID管理部21は、命令発行用バッファ41に格納されたトランザクションを格納された順序で読み出す。第1のID管理部21は、読み出したトランザクションにIDを付与すると共に、主記憶装置3にアクセスするためのトランザクション(第1のトランザクション)を生成する。さらに、第1のID管理部21は、付与したIDとトランザクションとを記憶(記述)したIDリストを作成する。
The first
第1のID管理部21は、生成したトランザクション(第1のトランザクション)を、メモリコントローラI/F制御部35に送信する(ステップS2)。
The first
第1のID管理部21が付与したIDは、トランザクション情報のヘッダデータの一部として埋め込まれる。
The ID assigned by the first
メモリコントローラI/F制御部35は、トランザクション(第1のトランザクション)を受信すると共に、TXN制御部40に入力する。
TXN制御部40は、入力されたトランザクション(第1のトランザクション)を、FWリクエストバッファ42に格納する。TXN送受信制御部44は、FWリクエストバッファ42に格納された順序でトランザクション(第1のトランザクション)を読み出す。
The memory controller I /
The
TXN送受信制御部44は、読み出したトランザクション(第1のトランザクション)を解析する(ステップS5)。TXN送受信制御部44は、解析した結果、SYNC命令またはFLUSH命令であると判断した場合(ステップS6において「YES」)、命令発行抑止フラグを設定する(ステップS7)。
The TXN transmission /
TXN送受信制御部44は、命令発行抑止フラグを設定後、送信バッファ27にトランザクション(第1のトランザクション)を送信する。
The TXN transmission /
TXN送受信制御部44は、命令発行抑止フラグを設定した場合、送信したトランザクション(第1のトランザクション)に対するリプライトランザクションを、受信するまでFWリクエストバッファ42に格納されたトランザクション(第1のトランザクション)の読み出しを抑止する。
When the instruction issue suppression flag is set, the TXN transmission /
送信バッファ27は、トランザクション(第1のトランザクション)を格納すると共に、トランザクションが格納された順序でメモリコントローラI/F制御部35を、経由してメモリコントローラ2にトランザクション(第1のトランザクション)を送信する(ステップS8)。
The
次に、第2の実施形態のI/O制御装置が行う受信処理について、図10を参照して説明する。 Next, reception processing performed by the I / O control device of the second embodiment will be described with reference to FIG.
メモリコントローラ2は、受信した主記憶装置3に対するトランザクション(第1のトランザクション)を実行する。メモリコントローラ2は、実行したリプライをリプライトランザクションとして、メモリコントローラI/F制御部35に送信する。
The
メモリコントローラ2は、トランザクション(第1のトランザクション)のヘッダ情報を、使用してリプライトランザクションのヘッダ情報の生成を行う。そのため、メモリコントローラ2は、トランザクション(第1のトランザクション)に埋め込まれているID情報も引き継ぐ。
The
メモリコントローラI/F制御部35は、リプライトランザクションを受信すると共に、TXN制御部40に入力する。
The memory controller I /
受信バッファ28は、TXN制御部40に入力したリプライトランザクションを格納する(ステップS21)。さらに、受信バッファ28は、格納したリプライトランザクションをTXN送受信制御部44に送信する。
The
TXN送受信制御部44は、受信バッファ28から送信されたリプライトランザクションを受信する。
The TXN transmission /
TXN送受信制御部44は、受信したリプライトランザクションのヘッダに格納された情報を基に転送方式を判別する。
The TXN transmission /
TXN送受信制御部44は、転送方式を判別した結果、主記憶装置に対するアクセス命令(PIO方式)であると判別した場合(ステップS22において「YES」)、命令発行抑止フラグを設定した命令であるか解析する(ステップS23)。
As a result of determining the transfer method, the TXN transmission /
TXN送受信制御部44は、解析した結果、命令発行抑止フラグを設定したトランザクションのリプライであると判別した場合(ステップS24において「YES」)、命令発行抑止フラグを解除する(ステップS25)。
When the TXN transmission /
TXN送受信制御部44は、命令発行抑止フラグを解除後、FW制御部36にリプライトランザクションをメモリコントローラI/F制御部35を経由して送信する。
The TXN transmission /
一方、TXN送受信制御部44は、命令発行抑止フラグを設定したトランザクションのリプライでないと判別した場合(ステップS24において「NO」)、FW制御部36にリプライトランザクションを、メモリコントローラI/F制御部35を経由して送信する。
On the other hand, if the TXN transmission /
尚、TXN送受信制御部44は、命令発行抑止フラグを解除した場合、FWリクエストバッファ42に格納されているトランザクションの読み出しを開始する。
The TXN transmission /
I/OプロセッサI/F制御部33は、TXN送受信制御部44から送信されたリプライトランザクションを受信すると共に、受信したリプライトランザクションをFW制御部36に入力する。
The I / O processor I /
第1のID管理部21は、FW制御部36に入力したリプライトランザクションを受信する。
The first
第1のID管理部21は、リプライトランザクションに含まれるIDとトランザクション(第1のトランザクション)生成時に作成したIDリストとを照合する。第1のID管理部21は、IDリストを照合した結果、ローカルメモリ2に格納するリプライエリアを決定する(ステップS27)。第1のID管理部21は、決定したリプライエリアにI/Oプロセッサ32を経由してリプライトランザクションを送信する(ステップS28)。
The first
I/Oプロセッサ32上で動作する制御ソフトウェア(FW)は、ローカルメモリ2内のリプライエリアを確認することにより、送信したトランザクションの結果を取得する。
The control software (FW) operating on the I /
次に、DMA方式において、I/Oプロセッサ32上で動作する制御ソフトウェア(FW)よってDMA転送要求を、DMAコントローラに送信する。DMAコントローラ22は、DMA転送要求を基に主記憶装置3に対してロード命令、ストア命令を実行する場合の動作について詳細に説明する。
Next, in the DMA system, a DMA transfer request is transmitted to the DMA controller by control software (FW) operating on the I /
さらに、第2の実施形態のI/O制御装置が行う送信処理について、図9を参照して説明する。 Further, transmission processing performed by the I / O control device of the second embodiment will be described with reference to FIG.
I/Oプロセッサ32上で動作する制御ソフトウェア(FW)は、DMA転送要求を送信する。
Control software (FW) operating on the I /
I/OプロセッサI/F制御部33は、制御ソフトウェア(FW)から送信されたDMA転送要求を受信すると共に、受信したDMA転送要求のヘッダに格納された情報を基に転送方式を判別する(ステップS1において「NO」)。I/OプロセッサI/F制御部33は、転送方式を判別した結果、DMA制御部37に入力する。
The I / O processor I /
DMAコントローラ22は、DMA制御部37に入力したDMA転送要求を基に主記憶装置3に対するアクセスするためのアドレスとデータサイズを指定したトランザクションを生成する。より具体的に、一例として、トランザクションは、例えば、アドレス0000h、サイズ100h(256B)と指定することができる。尚、本実施形態では、説明の便宜上、簡単な数値を例に説明したが、これに限定されない。
The DMA controller 22 generates a transaction specifying an address and a data size for accessing the
DMAコントローラ22は、生成したトランザクションを第2のID管理部23に送信する。
The DMA controller 22 transmits the generated transaction to the second
第2のID管理部23は、DMAコントローラ22が生成したトランザクションを受信する。第2のID管理部23は、受信したトランザクションにIDを付与すると共に、主記憶装置3にアクセスするためのトランザクション(第2のトランザクション)を生成する(ステップS3)。また、第1のID管理機能23は、付与したIDとトランザクションとを記憶(記述)したIDリストを作成する。
The second
第2のID管理部23は、生成したトランザクション(第2のトランザクション)を、I/OプロセッサI/F制御部33を経由してインバウンド制御部38に送信する。
The second
インバウンド制御部38は、第2のID管理部23が送信するトランザクション(第2のトランザクション)を格納する。さらに、インバウンド制御部38は、格納したトランザクション(第2のトランザクション)を、主記憶装置3へのデータ転送に適したアクセス命令単位に変換したトランザクション(第3のトランザクション)を生成する(ステップS4)。
The
より具体的に、一例として、アクセス命令単位に変換したトランザクション(第3のトランザクション)は、例えば、アドレス0000h、サイズ100h(256B)と指定したトランザクション(第2のトランザクション)をアドレス0000h〜003Fh、サイズ40h(64B)、アドレス0040h〜007Fh、サイズ40h(64B)、サイズ0080h〜00BFh、サイズ40h(64B)、アドレス00C0h〜00FFh、サイズ40h(64B)となるように分割することができる。尚、本実施形態では、説明の便宜上、簡単な数値を例に説明したが、これに限定されない。 More specifically, as an example, a transaction (third transaction) converted into an access instruction unit is, for example, a transaction (second transaction) designated as address 0000h and size 100h (256B), addresses 0000h to 003Fh, size It can be divided into 40h (64B), addresses 0040h to 007Fh, size 40h (64B), size 0080h to 00BFh, size 40h (64B), address 00C0h to 00FFh, and size 40h (64B). In the present embodiment, for convenience of explanation, a simple numerical value has been described as an example, but the present invention is not limited to this.
インバウンド制御部38は、生成したトランザクション(第3のトランザクション)を、メモリコントローラI/F制御部35に送信すると共に、アウトバウンド制御部39にトランザクション情報として送信する。
The
アウトバウンド制御部39は、インバウンド制御部38から送信されたトランザクション情報を格納する。
The
メモリコントローラI/F制御部35は、インバウンド制御部38からのトランザクション(第3のトランザクション)を受信すると共に、受信したトランザクション(第3のトランザクション)をTXN制御部40に入力する。
インバウンドリクエストバッファ43は、TXN制御部40に入力したトランザクション(第3のトランザクション)を格納する。
The memory controller I /
The
TXN送受信制御部44は、インバウンドリクエストバッファ43に格納されたトランザクション(第3のトランザクション)を読み出す。
The TXN transmission /
TXN送受信制御部44は、読み出したトランザクション(第3のトランザクション)を送信バッファ27に送信する。
The TXN transmission /
送信バッファ27は、TXN送受信制御部44から送信されたトランザクションの消失を防止するために格納すると共に、トランザクションが格納された順序でメモリコントローラI/F制御部35を、経由してメモリコントローラ2にトランザクショを送信する(ステップS8)。
The
次に、第2の実施形態のI/O制御装置が行う受信処理について、図10を参照して説明する。 Next, reception processing performed by the I / O control device of the second embodiment will be described with reference to FIG.
メモリコントローラ2は、受信した主記憶装置3に対するトランザクション(第3のトランザクション)を実行する。メモリコントローラ2は、実行したリプライをリプライトランザクションとして、メモリコントローラI/F制御部35に送信する。
The
メモリコントローラ2は、トランザクション(第3のトランザクション)のヘッダ情報を使用してリプライトランザクションのヘッダ情報の生成を行う。そのため、メモリコントローラ2は、トランザクション(第3のトランザクション)に埋め込まれているID情報も引き継ぐ。
The
メモリコントローラI/F制御部35は、リプライトランザクションを受信すると共に、TXN制御部40に入力する。
The memory controller I /
受信バッファ28は、TXN制御部40に入力されたリプライトランザクションを格納する(ステップS21)。さらに、受信バッファ28は、格納したリプライトランザクションをTXN送受信制御部44に送信する。
The
TXN送受信制御部44は、受信バッファ28から送信されたリプライトランザクションを受信する。
The TXN transmission /
TXN送受信制御部44は、受信したリプライトランザクションのヘッダに格納された情報を基に転送方式を判別する。
The TXN transmission /
TXN送受信制御部44は、転送方式を判別した結果、主記憶装置に対するデータ転送要求(DMA方式)であると判別した場合、アウトバウンド制御部39にリプライトランザクションを、メモリコントローラI/F制御部35を経由して送信する(ステップS22において「NO」)。
When the TXN transmission /
アウトバウンド制御部39は、メモリコントローラI/F制御部35から送信されたリプライトランザクションを受信すると共に、受信したリプライトランザクションを格納する。
The
メモリコントローラ2は、インバウンド制御部38で分割された複数のトランザクションに対して、複数のリプライトランザクションを送信する。このため、アウトバウンド制御部39は、インバウンド制御部38から受信したトランザクション情報を基に分割した複数のリプライトランザクションを、全て受信するように待機する。アウトバウンド制御部39は、インバウンド制御部38から受信したトランザクション情報を基に、アクセス命令単位に分割されたリプライトランザクションを結合したリプライトランザクションを生成する(ステップS26)。
The
アウトバウンド制御部39は、生成したリプライトランザクションを、I/OプロセッサI/F制御部33に送信する。
I/OプロセッサI/F制御部33は、リプライトランザクションを受信すると共に、DMA制御部37に入力する。
The
The I / O processor I /
第2のID管理部23は、DMA制御部37に入力したリプライトランザクションに含まれるIDとトランザクション(第2のトランザクション)生成時に作成したIDリストとを照合する。第2のID管理部23は、IDリストを照合した結果、ローカルメモリ2に格納するリプライエリアを決定する(ステップS27)。第2のID管理部23は、決定したリプライエリアにI/Oプロセッサを経由してリプライトランザクションを送信すると共に、制御ソフトウェア(FW)にデータ転送が完了したことを通知する(ステップS28)。
The second
このように本実施の形態に係るI/O制御装置30によれば、第1の実施形態において説明した効果を享受できると共に、さらに、第2の実施形態にて説明したI/O制御装置をI/O装置を搭載可能な電子機器等に利用して実現することができる。
As described above, according to the I /
(第2の実施形態の変形例)
尚、上述した第2の実施形態に基づいて、以下に説明する変形例も実現可能である。
(Modification of the second embodiment)
In addition, based on 2nd Embodiment mentioned above, the modification demonstrated below is also realizable.
図11は、本発明の第2の実施形態の変形例におけるI/O装置1bの構成を示すブロック図である。
FIG. 11 is a block diagram showing a configuration of the I /
図11において、I/O装置1bは、大別して、I/O制御装置45を有する。
In FIG. 11, the I /
即ち、第2の実施形態の変形例において、I/O制御装置45は、図11に示す如くスイッチI/F制御部46を、さらに、有する。これにより、チャンネルカードが主記憶装置3に対するトランザクションを発行する機能を有する場合、I/O制御装置45は、I/Oプロセッサ32上で動作する制御ソフトウェア(FW)によってチャンネルカードが発行したトランザクションを制御することができる。
That is, in the modification of the second embodiment, the I /
チャンネルスロット5は、SCSI(Small Computer System Interface)カードやLANカード等の各種チャンネルカードを搭載することにより、ディスク装置やLAN等のI/Oデバイスを接続することができる。
The
スイッチ47は、I/O制御装置45、I/Oプロセッサ32、チャンネルスロット5との間でトランザクションを制御する機能を有する。
The
スイッチI/F制御部46は、スイッチ47のI/Oインターフェース機能を有し、スイッチ47とインバウンド制御部38およびアウトバウンド制御部39との間でトランザクションの送受信を制御する。
The switch I /
より具体的に、一例として、I/Oプロセッサ32上で動作する制御ソフトウェア(FW)は、データ転送要求をチャンネルカードに送信する。チャンネルカードは、主記憶装置3に対してアクセスするためのトランザクションを生成すると共に、生成したトランザクションをスイッチ47に送信する。
More specifically, as an example, control software (FW) operating on the I /
スイッチ47は、スイッチI/F制御部46にトランザクションを送信する。
The
スイッチI/F制御部46は、スイッチ47から送信されたトランザクションを受信する。スイッチI/F制御部46は、受信したトランザクションにIDを付与すると共に、主記憶装置3にアクセスするためのトランザクションを生成する。さらに、スイッチI/F制御部46は、生成したトランザクションをインバウンド制御部38に送信する。
The switch I /
また、スイッチI/F制御部46は、アウトバウンド制御部39から送信されたリプライトランザクションを受信すると共に、受信したリプライトランザクションをスイッチ47を経由して、チャンネルカードに送信する。
Further, the switch I /
スイッチ47は、主記憶装置3からのリプライトランザクションをチャンネルスロット5に搭載されたチャンネルカードに送信する。チャンネルスロット5に搭載されたチャンネルカードは、リプライトランザクションを受信する。尚、説明の便宜上、上述した構成を例に説明したが、これに限定されない。
The
このように本実施の形態の変形例に係るI/O制御装置45によれば、第1および第2の実施形態において説明した効果を享受できると共に、さらに、スイッチI/F制御部46を設けることで、I/Oデバイスから送信された主記憶装置3に対するアクセス命令の制御をメモリコントローラではなく、I/O制御装置45によって制御することができる。このため、I/O制御装置45は、I/O処理全体の処理時間の短縮を実現できる。
As described above, according to the I /
<第3の実施形態>
次に、上述した第2の実施形態の変形例に係るI/O制御装置45を基本とする第3の実施形態について説明する。以下の説明においては、本実施形態に係る特徴的な部分を中心に説明する。その際、上述した各実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明は省略する。
<Third Embodiment>
Next, a third embodiment based on the I /
以下の説明において、本実施形態では、説明の便宜上、I/Oプロセッサ32上で動作する4つの制御ソフトウェアを識別するために、FW(a)、FW(b)、FW(c)、FW(d)と称する。また、FW(a)、FW(b)、FW(c)、FW(d)のそれぞれに対応して、動作する各部名称の参照番号末尾に(a)、(b)、(c)、(d)を付与することによりそれぞれの制御ソフトウェアに対応する各部名称を識別する。
In the following description, in the present embodiment, for convenience of description, in order to identify four control software operating on the I /
本実施形態では、第2の実施形態の変形例において説明したI/O制御装置45に、I/Oプロセッサ32上で動作する複数の制御ソフトウェア(FW(a)、FW(b)、FW(c)、FW(d))によって、主記憶装置に対してアクセス命令を実行する場合の動作について詳細に説明する。
In the present embodiment, a plurality of control software (FW (a), FW (b), FW () that operates on the I /
図12は、本発明の第3の実施形態におけるI/O装置1cの構成を示すブロック図である。
FIG. 12 is a block diagram showing a configuration of an I /
図12において、I/O装置1cは、大別して、I/O制御装置50を有する。
In FIG. 12, the I /
図12において、I/O制御装置50は、I/OプロセッサI/F制御部51、ユニット34、メモリコントローラI/F制御部52、スイッチI/F制御部46を有する。
12, the I /
尚、ユニット34は、制御ソフトウェア(FW(a)、FW(b)、FW(c)、FW(d))と対応した同数のユニット34を有する。
I/OプロセッサI/F制御部51は、FW制御部53、DMA制御部54を有する。
The
The I / O processor I /
図13は、第3の実施形態に係るI/O制御装置のうち、FW制御部53の構成を示すブロック図である。
FIG. 13 is a block diagram illustrating a configuration of the
FW制御部53は、制御ソフトウェア(FW(a)、FW(b)、FW(c)、FW(d))と対応した同数の第1のID管理部21および命令発行用バッファ41を有する。
The
図14は、第3の実施形態に係るI/O制御装置のうち、DMA制御部54の構成を示すブロック図である。
FIG. 14 is a block diagram illustrating a configuration of the
DMA制御部54は、制御ソフトウェア(FW(a)、FW(b)、FW(c)、FW(d))と対応した同数のDMAコントローラ22および第2のID管理部23を有する。
The
メモリコントローラI/F制御部52は、TXN制御部55を有する。
The memory controller I /
図15は、第3の実施形態に係るI/O制御装置のうち、TXN制御部55の構成を示すブロック図である。
FIG. 15 is a block diagram illustrating a configuration of the
TXN制御部55は、制御ソフトウェア(FW(a)、FW(b)、FW(c)、FW(d))と対応した同数のFWリクエストバッファ42、インバウンドリクエストバッファ43、TXN送受信制御部44を有する。
The
さらに、TXN制御部55は、複数のTXN送受信制御部44と接続された送信バッファ27と受信バッファ28とを有する。
Furthermore, the
次に、本発明の第3の実施形態に係るより具体的なI/O制御装置の動作について説明する。 Next, a more specific operation of the I / O control device according to the third embodiment of the present invention will be described.
PIO方式において、I/Oプロセッサ32上で動作する4つの制御ソフトウェア(FW(a)、FW(b)、FW(c)、FW(d))によって主記憶装置3に対するロード命令、SYNC命令(順序制御命令)等の複数の命令を実行する場合の動作について詳細に説明する。
In the PIO method, a load instruction, a SYNC instruction (to the main storage device 3) by four control software (FW (a), FW (b), FW (c), FW (d)) operating on the I /
図16は、第3の実施形態に係るI/O制御装置のうち、4つの制御ソフトウェア(FW(a)、FW(b)、FW(c)、FW(d))によって主記憶装置3に対するアクセス命令の処理を実行した場合の状態遷移を示すシーケンス図である。
FIG. 16 illustrates the
FW(a)は、命令(a1)、SYNC命令(a2)、命令(a3)の順序でI/OプロセッサI/F制御部51にトランザクションを送信する。
The FW (a) transmits transactions to the I / O processor I /
I/OプロセッサI/F制御部51は、命令(a1)、SYNC命令(a2)、命令(a3)を受信すると共に、転送方式を判別し、FW制御部53に入力する。
The I / O processor I /
FW制御部53は、入力した順序で命令(a1)、SYNC命令(a2)、命令(a3)を命令発行用バッファ41(a)に格納する。
The
第1のID管理部21(a)は、命令発行用バッファ41(a)に格納されたトランザクションを、格納された順序で読み出す。第1のID管理部21(a)は、読み出した命令(a1)、SYNC命令(a2)、命令(a3)にIDを付与すると共に、I/OプロセッサI/F制御部51を経由してメモリコントローラI/F制御部52に送信する。さらに、第1のID管理部21(a)は、付与したIDとトランザクションとを記憶(記述)したIDリスト(a)を作成する。
The first ID management unit 21 (a) reads the transactions stored in the instruction issue buffer 41 (a) in the stored order. The first ID management unit 21 (a) assigns an ID to the read command (a1), SYNC command (a2), and command (a3) and also passes through the I / O processor I /
メモリコントローラI/F制御部52は、IDを付与された命令(a1)、SYNC命令(a2)、命令(a3)を受信すると共に、TXN制御部55に入力する。
The memory controller I /
TXN制御部55は、入力された順序で命令(a1)、SYNC命令(a2)、命令(a3)をFWリクエストバッファ42(a)に格納する。
The
TXN送受信制御部44(a)は、FWリクエストバッファ42(a)に格納された命令(a1)、SYNC命令(a2)、命令(a3)を格納された順序で読み出すと共に、読み出した命令を解析する。 The TXN transmission / reception control unit 44 (a) reads the instruction (a1), the SYNC instruction (a2), and the instruction (a3) stored in the FW request buffer 42 (a) in the order in which they are stored, and analyzes the read instruction. To do.
TXN送受信制御部44(a)は、命令(a1)を送信バッファ27に送信する。
The TXN transmission / reception control unit 44 (a) transmits the command (a1) to the
送信バッファ27は、命令(a1)を格納する。
The
次に、TXN送受信制御部44(a)は、SYNC命令(a2)を解析した結果、SYNC命令であると判断したため、命令発行抑止フラグを設定すると共に、送信バッファ27にSYNC命令(a2)を送信する。
Next, as a result of analyzing the SYNC instruction (a2), the TXN transmission / reception control unit 44 (a) determines that the instruction is a SYNC instruction. Therefore, the TXN transmission / reception control unit 44 (a) sets an instruction issuance suppression flag and sends the SYNC instruction (a2) to the
送信バッファ27は、SYNC命令(a2)を格納する。
The
TXN送受信制御部44(a)は、命令発行抑止フラグが設定されているため、SYNC命令(a2)に対するリプライが返却されるまで、FWリクエストバッファ42(a)から命令(a3)を読み出すことを抑止する。 The TXN transmission / reception control unit 44 (a) reads the command (a3) from the FW request buffer 42 (a) until a reply to the SYNC command (a2) is returned because the command issue suppression flag is set. Deter.
次に、FW(b)は、命令(b1)、命令(b2)、命令(b3)の順序でI/OプロセッサI/F制御部51に命令を送信する。
Next, FW (b) transmits instructions to the I / O processor I /
I/OプロセッサI/F制御部51は、命令(b1)、命令(b2)、命令(b3)を受信すると共に、転送方式を判別し、FW制御部53に入力する。
The I / O processor I /
FW制御部53は、入力した順序で命令(b1)、命令(b2)、命令(b3)を
命令発行用バッファ41(b)に格納する。
The
第1のID管理部21(b)は、命令発行用バッファ41(b)に格納されたトランザクションを格納された順序で読み出す。第1のID管理部21(b)は、読み出した命令(b1)、命令(b2)、命令(b3)にIDを付与すると共に、I/OプロセッサI/F制御部51を経由してメモリコントローラI/F制御部52に送信する。さらに、第1のID管理部21(b)は、付与したIDとトランザクションとを記憶(記述)したIDリスト(b)を作成する。
The first ID management unit 21 (b) reads the transactions stored in the instruction issue buffer 41 (b) in the stored order. The first ID management unit 21 (b) assigns an ID to the read command (b1), command (b2), and command (b3), and stores the memory via the I / O processor I /
メモリコントローラI/F制御部52は、IDを付与された命令(b1)、命令(b2)、命令(b3)を受信すると共に、TXN制御部55に入力する。
The memory controller I /
TXN制御部55は、入力された命令(b1)、命令(b2)、命令(b3)をFWリクエストバッファ42(b)に格納する。
The
TXN送受信制御部44(b)は、FWリクエストバッファ42(b)に格納された命令(b1)、命令(b2)、命令(b3)を格納された順序で読み出すと共に、読み出した命令を解析する。 The TXN transmission / reception control unit 44 (b) reads the instruction (b1), the instruction (b2), and the instruction (b3) stored in the FW request buffer 42 (b) in the stored order, and analyzes the read instruction. .
TXN送受信制御部44(b)は、命令(b1)、命令(b2)、命令(b3)の順序で、これらの命令を、送信バッファ27に送信する。
The TXN transmission / reception control unit 44 (b) transmits these instructions to the
送信バッファ27は、命令(b1)、命令(b2)、命令(b3)をTXN送受信制御部44(b)から送信された順序で格納する。
The
次に、FW(c)は、命令(c1)、命令(c2)、命令(c3)の順序でI/OプロセッサI/F制御部51に送信する。
Next, FW (c) transmits to the I / O processor I /
I/OプロセッサI/F制御部51は、命令(c1)、命令(c2)、命令(c3)を受信すると共に、転送方式を判別し、FW制御部53に入力する。
The I / O processor I /
FW制御部53は、入力した命令(c1)、命令(c2)、命令(c3)を命令発行用バッファ41(c)に格納する。
The
第1のID管理部21(c)は、命令発行用バッファ41(c)に格納されたトランザクションを格納された順序で読み出す。第1のID管理部21(c)は、読み出した命令(c1)、命令(c2)、命令(c3)にIDを付与すると共に、I/OプロセッサI/F制御部51を経由してメモリコントローラI/F制御部52に送信する。さらに、第1のID管理部21(c)は、付与したIDとトランザクションとを記憶(記述)したIDリスト(c)を作成する。
The first ID management unit 21 (c) reads the transactions stored in the instruction issue buffer 41 (c) in the stored order. The first ID management unit 21 (c) assigns an ID to the read instruction (c1), instruction (c2), and instruction (c3), and stores the memory via the I / O processor I /
メモリコントローラI/F制御部52は、IDを付与された命令(c1)、命令(c2)、命令(c3)を受信すると共に、TXN制御部55に入力する。
The memory controller I /
TXN制御部55は、入力された順序で命令(c1)、命令(c2)、命令(c3)をFWリクエストバッファ42(c)に格納する。
The
TXN送受信制御部44(c)は、FWリクエストバッファ42(c)に格納された命令(c1)、命令(c2)、命令(c3)を格納された順序で読み出すと共に、読み出した命令を解析する。 The TXN transmission / reception control unit 44 (c) reads the instruction (c1), the instruction (c2), and the instruction (c3) stored in the FW request buffer 42 (c) in the stored order and analyzes the read instruction. .
TXN送受信制御部44(c)は、命令(c1)、命令(c2)、命令(c3)の順序で、これらの命令を、送信バッファ27に送信する。
The TXN transmission / reception control unit 44 (c) transmits these instructions to the
送信バッファ27は、命令(c1)、命令(c2)、命令(c3)をTXN送受信制御部44(c)から送信された順序で格納する。
The
次に、FW(d)は、命令(d1)、命令(d2)、命令(d3)の順序でI/OプロセッサI/F制御部51に送信する。
Next, FW (d) transmits to the I / O processor I /
I/OプロセッサI/F制御部51は、命令(d1)、命令(d2)、命令(d3)を受信すると共に、転送方式を判別し、FW制御部53に入力する。
The I / O processor I /
FW制御部53は、入力した順序で命令(d1)、命令(d2)、命令(d3)を命令発行用バッファ41(d)に格納する。
The
第1のID管理部21(d)は、命令発行用バッファ41(d)に格納されたトランザクションを格納された順序で読み出す。第1のID管理部21(d)は、読み出した命令(d1)、命令(d2)、命令(d3)にIDを付与すると共に、I/OプロセッサI/F制御部51を経由してメモリコントローラI/F制御部52に送信する。さらに、第1のID管理部21(d)は、付与したIDとトランザクションとを記憶(記述)したIDリスト(d)を作成する。
The first ID management unit 21 (d) reads the transactions stored in the instruction issue buffer 41 (d) in the stored order. The first ID management unit 21 (d) assigns an ID to the read instruction (d1), instruction (d2), and instruction (d3), and stores the memory via the I / O processor I /
メモリコントローラI/F制御部52は、IDを付与された命令(d1)、命令(d2)、命令(d3)を受信すると共に、TXN制御部55に入力する。
The memory controller I /
TXN制御部55は、入力された命令(d1)、命令(d2)、命令(d3)をFWリクエストバッファ42(d)に格納する。
The
TXN送受信制御部44(d)は、FWリクエストバッファ42(d)に格納された命令(d1)、命令(d2)、命令(d3)を格納された順序で読み出すと共に、読み出した命令を解析する。 The TXN transmission / reception control unit 44 (d) reads the instruction (d1), the instruction (d2), and the instruction (d3) stored in the FW request buffer 42 (d) in the order in which they are stored, and analyzes the read instruction. .
TXN送受信制御部44(d)は、命令(d1)、命令(d2)、命令(d3)の順序で、これらの命令を、送信バッファ27に送信する。
The TXN transmission / reception control unit 44 (d) transmits these instructions to the
送信バッファ27は、命令(d1)、命令(d2)、命令(d3)をTXN送受信制御部44(d)から送信された順序で格納する。
The
送信バッファ27は、命令を格納した順序でメモリコントローラI/F制御部52を経由してメモリコントローラ2に送信する。
The
次に、第3の実施形態のI/O制御装置が行う受信処理について説明する。 Next, reception processing performed by the I / O control device of the third embodiment will be described.
メモリコントローラ2は、受信した命令を受信した順序で実行し、リプライのトランザクションをメモリコントローラI/F制御部52に送信する。
The
メモリコントローラI/F制御部52は、リプライトランザクションを受信すると共に、TXN制御部55に入力する。
The memory controller I /
受信バッファ28は、TXN制御部55に入力したリプライトランザクションを格納する。さらに、受信バッファ28は、格納したリプライトランザクションをTXN送受信制御部44(a)乃至TXN送受信制御部44(d)に送信する。TXN送受信制御部44(a)乃至TXN送受信制御部44(d)は、受信バッファ28からリプライトランザクションを受信する。
The
より具体的に、TXN送受信制御部44(a)は、FW(a)が送信した命令(a1)およびSYNC命令(a2)に対するリプライトランザクションを受信する。また、TXN送受信制御部44(b)は、FW(b)が送信した命令(b1)乃至命令(b3)に対するリプライトランザクションを受信する。TXN送受信制御部44(c)は、FW(c)が発行した命令(c1)乃至命令(c3)に対するリプライトランザクションを受信する。TXN送受信制御部44(d)は、FW(d)が送信した命令(d1)乃至命令(d3)に対するリプライトランザクションを受信する。 More specifically, the TXN transmission / reception control unit 44 (a) receives a reply transaction for the command (a1) and the SYNC command (a2) transmitted by the FW (a). The TXN transmission / reception control unit 44 (b) receives a reply transaction for the commands (b1) to (b3) transmitted by the FW (b). The TXN transmission / reception control unit 44 (c) receives a reply transaction for the commands (c1) to (c3) issued by the FW (c). The TXN transmission / reception control unit 44 (d) receives a reply transaction for the commands (d1) to (d3) transmitted by the FW (d).
TXN送受信制御部44(a)乃至TXN送受信制御部44(d)は、受信したリプライトランザクションのヘッダに格納された情報を基に転送方式を判別する。TXN送受信制御部44(a)乃至TXN送受信制御部44(d)は、転送方式を判別した結果、主記憶装置に対するアクセス命令(PIO方式)であると判別した場合、命令発行抑止フラグを設定した命令であるか解析する。 The TXN transmission / reception control unit 44 (a) to TXN transmission / reception control unit 44 (d) determine the transfer method based on the information stored in the header of the received reply transaction. The TXN transmission / reception control unit 44 (a) to TXN transmission / reception control unit 44 (d) set an instruction issuance suppression flag when it is determined that it is an access instruction (PIO system) to the main memory as a result of determining the transfer method. Analyzes whether it is an instruction.
より具体的に、TXN送受信制御部44(a)は、命令(a1)およびSYNC命令(a2)に対するリプライトランザクションを受信した際、転送方式を判別する。TXN送受信制御部44(a)は、転送方式を判別した結果、主記憶装置に対するアクセス命令(PIO方式)であると判別した場合、命令発行抑止フラグを設定した命令であるか解析する。TXN送受信制御部44(a)は、解析した結果、SYNC命令(a2)に対するリプライトランザクションについて命令発行抑止フラグを設定したトランザクションのリプライであると判別する。TXN送受信制御部44(a)は、命令発行抑止フラグを解除する。 More specifically, the TXN transmission / reception control unit 44 (a) determines the transfer method when receiving a reply transaction for the command (a1) and the SYNC command (a2). When the TXN transmission / reception control unit 44 (a) determines that the instruction is an access instruction (PIO method) for the main storage device as a result of determining the transfer method, the TXN transmission / reception control unit 44 (a) analyzes whether the instruction is a command for which an instruction issue suppression flag is set. As a result of the analysis, the TXN transmission / reception control unit 44 (a) determines that the reply is a transaction in which the instruction issue suppression flag is set for the reply transaction for the SYNC instruction (a2). The TXN transmission / reception control unit 44 (a) cancels the instruction issue suppression flag.
また、TXN送受信制御部44(a)乃至TXN送受信制御部44(d)は、受信したリプライトランザクションの転送方式を判別結果に応じて、FW制御部53およびDMA制御部54に送信する。
The TXN transmission / reception control unit 44 (a) to TXN transmission / reception control unit 44 (d) transmit the transfer method of the received reply transaction to the
より具体的に、TXN送受信制御部44は、FW制御部53から送信されたトランザクションに対するリプライトランザクションは、FW制御部53に送信する。さらに、TXN送受信制御部44は、DMA制御部54から送信されたトランザクションに対するリプライトランザクションは、アウトバウンド制御部15を経由してDMA制御部54に送信する。
More specifically, the TXN transmission /
尚、TXN送受信制御部44(a)は、命令発行抑止フラグを解除後、FWリクエストバッファ42(a)に格納されている命令(a3)を読み出すと共に、送信バッファ27に送信する。
The TXN transmission / reception control unit 44 (a) reads the command (a3) stored in the FW request buffer 42 (a) and transmits it to the
TXN送受信制御部44から送信されたリプライトランザクションは、I/OプロセッサI/F制御部51を、経由してFW制御部53に入力する。
The reply transaction transmitted from the TXN transmission /
尚、TXN送受信制御部44(a)から送信されたリプライトランザクションは、第1のID管理部21(a)に入力する。TXN送受信制御部44(b)から送信されたリプライトランザクションは、第1のID管理部21(b)に入力する。TXN送受信制御部44(c)から送信されたリプライトランザクションは、第1のID管理部21(c)に入力する。TXN送受信制御部44(d)から送信されたリプライトランザクションは、第1のID管理部21(d)に入力する。 The reply transaction transmitted from the TXN transmission / reception control unit 44 (a) is input to the first ID management unit 21 (a). The reply transaction transmitted from the TXN transmission / reception control unit 44 (b) is input to the first ID management unit 21 (b). The reply transaction transmitted from the TXN transmission / reception control unit 44 (c) is input to the first ID management unit 21 (c). The reply transaction transmitted from the TXN transmission / reception control unit 44 (d) is input to the first ID management unit 21 (d).
このように、異なるリクエストリソース(FW(a)、FW(b)、FW(c)、FW(d))が送信した主記憶装置に対するアクセス命令((b1)〜(d1))が、他のリクエストリソースが発行したSYNC命令(a2)の影響を受けることなく、実行可能となる。 In this way, the access commands ((b1) to (d1)) for the main storage device transmitted by different request resources (FW (a), FW (b), FW (c), FW (d)) Execution is possible without being affected by the SYNC instruction (a2) issued by the request resource.
次に、本発明の第3の実施形態に係るより具体的なI/O制御装置の動作について説明する。 Next, a more specific operation of the I / O control device according to the third embodiment of the present invention will be described.
PIO方式およびDMA方式を組み合わせて行う場合において、I/Oプロセッサ32上で動作する制御ソフトウェア(FW(a))によって主記憶装置に対するロード命令、SYNC命令(順序制御命令)等の複数の命令を実行する場合の動作について詳細に説明する。
When the PIO method and the DMA method are combined, a plurality of instructions such as a load instruction to the main storage device and a SYNC instruction (sequential control instruction) are executed by the control software (FW (a)) operating on the I /
図17は、第3の実施形態に係るI/O制御装置のうち、制御ソフトウェア(FW(a))によってPIO方式およびDMA方式を組み合わせて、主記憶装置に対するアクセス命令の処理を実行した場合の状態遷移を示すシーケンス図である。 FIG. 17 shows a case where, in the I / O control device according to the third embodiment, the PIO method and the DMA method are combined by the control software (FW (a)) to execute the access instruction processing for the main storage device. It is a sequence diagram which shows a state transition.
FW(a)は、I/OプロセッサI/F制御部51に主記憶装置3に対するアクセス命令を送信する。尚、FW(a)は、PIO方式を実行するためのアクセス命令である命令(a1)、SYNC命令(a2)、命令(a3)の順序で送信する。次に、FW(a)は、DMA方式を実行するために、DMA転送要求であるDMAアクセス命令(B1)を送信する。
The FW (a) transmits an access command for the
I/OプロセッサI/F制御部51は、受信した命令のヘッダに格納された情報を基に転送方式を判別した結果、命令(a1)、SYNC命令(a2)、命令(a3)を、FW制御部53に入力する。また、I/OプロセッサI/F制御部51は、DMAアクセス命令(B1)を、DMA制御部54に入力する。
The I / O processor I /
尚、FW(a)が送信した命令(a1)、SYNC命令(a2)、命令(a3)に関する動作は、上述した通りの動作を実行するため、以下の説明では、簡略に表現する。 Note that the operations related to the command (a1), the SYNC command (a2), and the command (a3) transmitted by the FW (a) execute the operations as described above, and are therefore simply expressed in the following description.
DMAコントローラ22(a)は、I/OプロセッサI/F制御部51から入力されたDMAアクセス命令(B1)に応じて、主記憶装置3にアクセスするアドレスとデータサイズとを指定したトランザクションを生成する。DMAコントローラ22(a)は、第2のID管理部23(a)に生成したトランザクションを送信する。
The DMA controller 22 (a) generates a transaction specifying the address and data size for accessing the
第2のID管理部23(a)は、DMAコントローラ22(a)から送信されたトランザクションを受信する。第2のID管理部23(a)は、受信したトランザクションにIDを付与すると共に、I/OプロセッサI/F制御部51を経由してインバウンド制御部38(a)に送信する。さらに、第2のID管理部23(a)は、付与したIDとトランザクションとを記憶(記述)したIDリスト(a)を作成する。
The second ID management unit 23 (a) receives the transaction transmitted from the DMA controller 22 (a). The second ID management unit 23 (a) assigns an ID to the received transaction and transmits it to the inbound control unit 38 (a) via the I / O processor I /
インバウンド制御部38(a)は、第2のID管理部23(a)が送信したトランザクションを格納する。さらに、インバウンド制御部38(a)は、格納したトランザクションを主記憶装置3へのデータ転送に適したアクセス命令単位に変換した第3のトランザクション(命令(b1)、命令(b2)、命令(b3))を生成する。 The inbound control unit 38 (a) stores the transaction transmitted by the second ID management unit 23 (a). Further, the inbound control unit 38 (a) converts the stored transaction into an access instruction unit suitable for data transfer to the main storage device 3 (instruction (b1), instruction (b2), instruction (b3)). )).
インバウンド制御部38(a)は、生成したトランザクションを命令(b1)、命令(b2)、命令(b3)の順序でメモリコントローラI/F制御部52を経由してTXN制御部55に送信すると共に、アウトバウンド制御部39(a)に第3のトランザクションをトランザクション情報として送信する。
The inbound control unit 38 (a) transmits the generated transaction to the
アウトバウンド制御部39(a)は、インバウンド制御部38(a)から送信されたトランザクション情報を格納する。 The outbound control unit 39 (a) stores the transaction information transmitted from the inbound control unit 38 (a).
インバウンドリクエストバッファ43(a)は、インバウンド制御部38(a)から送信された順序でトランザクション(命令(b1)、命令(b2)、命令(b3))を格納する。 The inbound request buffer 43 (a) stores transactions (command (b1), command (b2), command (b3)) in the order transmitted from the inbound control unit 38 (a).
TXN送受信制御部44(a)は、インバウンドリクエストバッファ43(a)に格納された順序でトランザクション(命令(b1)、命令(b2)、命令(b3))を読み出す。TXN送受信制御部44(a)は、読み出したトランザクションを解析すると共に、トランザクションを送信バッファ27に送信する。
The TXN transmission / reception control unit 44 (a) reads the transactions (command (b1), command (b2), command (b3)) in the order stored in the inbound request buffer 43 (a). The TXN transmission / reception control unit 44 (a) analyzes the read transaction and transmits the transaction to the
送信バッファ27は、TXN送受信制御部44(a)から送信されたトランザクション(命令(b1)、命令(b2)、命令(b3))を送信された順序で格納する。
The
TXN送受信制御部44(a)は、SYNC命令(a2)を送信した場合であっても、先行する命令が完了することを待機することなく、後続の命令(b1)乃至命令(b3)を続けて送信することができる。 The TXN transmission / reception control unit 44 (a) continues the subsequent commands (b1) to (b3) without waiting for the preceding command to be completed even when the SYNC command (a2) is transmitted. Can be sent.
送信バッファ27は、命令(a1)、SYNC命令(a2)、命令(b1)、命令(b2)、命令(b3)を格納した順序でメモリコントローラI/F制御部52を経由してメモリコントローラ2に命令を送信する。
The
次に、第3の実施形態のI/O制御装置が行う受信処理について説明する。 Next, reception processing performed by the I / O control device of the third embodiment will be described.
メモリコントローラ2は、受信した命令を受信した順序で実行し、リプライのトランザクションをメモリコントローラI/F制御部52に送信する。
The
メモリコントローラI/F制御部52は、リプライトランザクションを受信すると共に、TXN制御部55に入力する。
The memory controller I /
受信バッファ28は、TXN制御部55から入力されたリプライトランザクションを格納する。さらに、受信バッファ28は、格納したリプライトランザクションをTXN送受信制御部44(a)に送信する。
The
TXN送受信制御部44(a)は、受信バッファ28からリプライトランザクションを受信する。
The TXN transmission / reception control unit 44 (a) receives the reply transaction from the
TXN送受信制御部44は、受信したリプライトランザクションのヘッダに格納された情報を基に転送方式を判別する。
The TXN transmission /
TXN送受信制御部44(a)は、転送方式を判別した結果、主記憶装置に対するデータ転送要求(DMA方式)であると判別した場合、メモリコントローラI/F制御部52を、経由してアウトバウンド制御部39(a)に送信する。
When the TXN transmission / reception control unit 44 (a) determines the data transfer request (DMA method) to the main storage device as a result of determining the transfer method, the TXN transmission / reception control unit 44 (a) performs the outbound control via the memory controller I /
アウトバウンド制御部39(a)は、メモリコントローラI/F制御部52から送信されたリプライトランザクションを受信すると共に、受信したリプライトランザクションを格納する。
The outbound control unit 39 (a) receives the reply transaction transmitted from the memory controller I /
メモリコントローラ2は、インバウンド制御部38(a)で分割された複数のトランザクション(命令(b1)、命令(b2)、命令(b3))に対し、複数のリプライトランザクションを送信する。このため、アウトバウンド制御部39(a)は、格納したリプライトランザクションをインバウンド制御部38(a)から受信したトランザクション情報を基に、分割された複数のリプライトランザクションを全て受信するように待機する。アウトバウンド制御部39(a)は、インバウンド制御部38(a)から受信したトランザクション情報を基に、アクセス命令単位に分割されたリプライトランザクションを結合しリプライトランザクション(リプライ(B1))を生成する。
The
アウトバウンド制御部39(a)は、生成したリプライトランザクションを、I/OプロセッサI/F制御部51に送信する。
I/OプロセッサI/F制御部51は、リプライトランザクションを受信すると共に、DMA制御部54に入力する。
The outbound control unit 39 (a) transmits the generated reply transaction to the I / O processor I /
The I / O processor I /
尚、説明の便宜上、SYNC命令及びロード命令を例に説明したが、この場合に限らずFLUSH命令やストア命令など他の命令であってもよい。 For convenience of explanation, the SYNC instruction and the load instruction have been described as an example.
尚、本実施形態に係るI/O制御装置は、SYNC命令またはFLUSH命令を送信したリクエストリソースに対し、後続の命令について読み出しを抑止したが、これに限らずI/O制御装置は、SYNC命令またはFLUSH命令が発行された場合、全てのリクエストリソースが発行した命令に対して、読み出しを抑止するように設定してもよい。 Although the I / O control device according to the present embodiment suppresses reading of subsequent commands for the request resource that has transmitted the SYNC command or the FLUSH command, the I / O control device is not limited to this. Alternatively, when a FLUSH instruction is issued, reading may be set to be inhibited for instructions issued by all request resources.
このように本実施の形態に係るI/O制御装置50によれば、各実施形態において説明した効果を享受できると共に、さらに、複数のリクエストリソース(FW(a)、FW(b)、FW(c)、FW(d))が発行する主記憶装置3に対する複数のアクセス命令の制御をメモリコントローラではなく、I/O制御装置50によって制御することにより、さらに、I/O装置全体の処理遅延を改善する。特に、本実施の形態によれば、SYNC命令およびFLUSH命令が発行された場合においても、SYNC命令およびFLUSH命令を発行したリクエストリソースだけの後続命令を抑止することで、I/O処理全体の処理時間をさらに短縮することが実現できる。また、I/0制御装置50によれば、抑止する対象を変更することで、複数の主記憶装置に対するアクセスの制御方法を確立できる。
As described above, according to the I /
尚、上述した各実施形態に説明した本発明は、説明の便宜上、メモリコントローラ2に対し、複数のI/O装置を有する場合について明記していないが、複数のI/O装置を有する場合においても、それぞれのI/O装置に設けたI/O制御装置において、SYNC命令およびFLUSH命令を発行したリクエストリソースだけの後続命令を抑止することで、I/O処理全体の処理時間をさらに短縮することができる。
In the present invention described in each of the above-described embodiments, for convenience of explanation, the case of having a plurality of I / O devices is not specified for the
尚、上述した各実施形態およびその変形例の一部又は全部は、以下の付記のようにも記載されうる。しかしながら、上述した実施形態及びその変形例により例示的に説明した本発明は、以下には限らない。即ち、
(付記1)
アクセスリソースが発行する主記憶装置に対する命令の種別を判別し、判別した結果、アクセス命令だと判別した場合には、第1のトランザクションを生成する一方、転送指示命令だと判別した場合には、第2のトランザクションを生成する第1の制御部と、
前記第2のトランザクションが生成された場合に、前記第2のトランザクションを基にデータ転送に適したアクセス命令単位に分割した第3のトランザクションを生成する第2の制御部と、
前記第1のトランザクションと前記第3のトランザクションとが生成された場合に、該生成された第1及び第3のトランザクションをトランザクション毎に格納し、格納したときの順序と同じ順序でメモリコントローラに送信する第3の制御部と、
を備えることを特徴とするI/O制御装置。
(付記2)
前記第1の制御部は、
前記命令が前記アクセス命令だと判別した場合には、該アクセス命令を基に前記第1のトランザクションを生成する第1のサブ制御部と、
前記命令が前記転送指示命令だと判別した場合には、該転送指示命令を基に前記第2のトランザクションを生成する第2のサブ制御部と、
を含むことを特徴とした付記1に記載のI/O制御装置。
(付記3)
前記第1のサブ制御部は、
前記アクセス命令を格納する第1のバッファと、
前記第1のバッファから読み出した前記アクセス命令に識別子を付与することにより、前記第1のトランザクションを生成し、前記識別子と前記識別子に対応した該第1のトランザクションとを記述したリストを含むことを特徴した付記2に記載のI/O制御装置。
(付記4)
前記第2のサブ制御部は、
前記転送指示命令を基に前記主記憶装置にアクセスするアドレスとデータサイズとを指定したトランザクションを生成するDMAコントローラと、
前記DMAコントローラによって生成された該トランザクションに前記識別子を付与することにより、前記第2のトランザクションを生成し、前記識別子と前記識別子に対応した該第2のトランザクションとを記述したリストを含むことを特徴した付記2または付記3に記載のI/O制御装置。
(付記5)
前記第2の制御部は、
前記第2のトランザクションを基にデータ転送に適したアドレスとデータサイズとに分割した前記第3のトランザクションを生成する第3のサブ制御部と、
前記第3のトランザクションに対するリプライトランザクションを格納する第4のサブ制御部とを備え、
前記第3のサブ制御部は、生成した前記第3のトランザクションをトランザクション情報として前記第4のサブ制御部に出力し、
前記第4のサブ制御部は、格納した前記リプライトランザクションを前記トランザクション情報を基に合成することを特徴とする付記1に記載のI/O制御装置。
(付記6)
前記第3の制御部は、
前記第1のトランザクションを格納する第2のバッファと、
前記第3のトランザクションを格納する第3のバッファと、
前記第2のバッファから読み出した前記第1のトランザクションと前記第3のバッファから読み出した前記第3のトランザクションとを送信するアクセス制御部と、
前記第1のトランザクションと前記第3のトランザクションとを格納し、格納したときの順序と同じ順序で前記メモリコントローラに送信する送信バッファと、
前記メモリコントローラから送信された前記リプライトランザクションを格納し、格納したときの順序と同じ順序で前記アクセス制御部に送信する受信バッファと、
を含むことを特徴とする付記1に記載のI/O制御装置。
(付記7)
前記アクセス制御部は、
前記第2のバッファから読み出した前記第1のトランザクションを前記アクセス命令の種別に基づいて解析し、解析した結果、前記主記憶装置に対するアクセスを抑止する命令であった場合には、フラグを設定すると共に、その命令に対する前記リプライトランザクションを受信するまで、前記第2のバッファから後続の前記第1のトランザクションの読出しを抑止することを特徴とする付記6に記載のI/O制御装置。
(付記8)
前記アクセス制御部は、
前記フラグを設定した場合に、その前記フラグを設定した前記第1のトランザクションに対する前記リプライトランザクションを取得するのに応じて、前記アクセス制御部に対して設定されていた前記フラグを解除することを特徴とする付記6または付記7に記載のI/O制御装置。
(付記9)
チャンネルスロットに接続されたI/Oデバイスが発行したトランザクションを制御するスイッチI/F制御部をさらに備えることを特徴とする付記1乃至付記8の何れかに記載のI/O制御装置。
(付記10)
前記I/O制御装置は、
複数の前記アクセスリソースから主記憶装置に対する命令が発行された場合に、前記アクセスリソース毎に前記第1の制御部と、前記第2の制御部と、前記第3の制御部とを備えることを特徴とする付記1乃至付記9の何れかに記載のI/O制御装置。
(付記11)
アクセスリソースが発行する主記憶装置に対する命令の種別を判別し、判別した結果、アクセス命令だと判別した場合には、第1のトランザクションを生成し、一方で、転送指示命令だと判別した場合には、第2のトランザクションを生成し、前記第2のトランザクションが生成された場合に、前記第2のトランザクションを基にデータ転送に適したアクセス命令単位に分割した第3のトランザクションを生成し、前記第1のトランザクションと前記第3のトランザクションとが生成された場合に、トランザクション毎に格納し、格納したときの順序と同じ順序でメモリコントローラに送信することを特徴とするI/O制御方法。
(付記12)
電子機器上で動作するI/O制御のためのコンピュータ・プログラムであって、そのコンピュータ・プログラムにより、
アクセスリソースが発行する主記憶装置に対する命令の種別を判別し、判別した結果、アクセス命令だと判別した場合には、第1のトランザクションを生成し、一方で、転送指示命令だと判別した場合には、第2のトランザクションを生成し、前記第2のトランザクションが生成された場合に、前記第2のトランザクションを基にデータ転送に適したアクセス命令単位に分割した第3のトランザクションを生成し、前記第1のトランザクションと前記第3のトランザクションとが生成された場合に、トランザクション毎に格納し、格納したときの順序と同じ順序でメモリコントローラに送信する機能をコンピュータに実現させることを特徴とするコンピュータ・プログラム。
Note that some or all of the above-described embodiments and modifications thereof may be described as in the following supplementary notes. However, the present invention described by way of example with the above-described embodiment and its modifications is not limited to the following. That is,
(Appendix 1)
The type of instruction issued to the main storage device issued by the access resource is determined, and if it is determined that the instruction is an access instruction, the first transaction is generated. On the other hand, if it is determined that the instruction is a transfer instruction instruction, A first control unit for generating a second transaction;
A second control unit that generates a third transaction divided into access instruction units suitable for data transfer based on the second transaction when the second transaction is generated;
When the first transaction and the third transaction are generated, the generated first and third transactions are stored for each transaction, and transmitted to the memory controller in the same order as the stored order. A third control unit,
An I / O control device comprising:
(Appendix 2)
The first controller is
If it is determined that the instruction is the access instruction, a first sub-control unit that generates the first transaction based on the access instruction;
If it is determined that the instruction is the transfer instruction instruction, a second sub-control unit that generates the second transaction based on the transfer instruction instruction;
The I / O control device according to
(Appendix 3)
The first sub-control unit includes:
A first buffer for storing the access instruction;
The first transaction is generated by assigning an identifier to the access instruction read from the first buffer, and includes a list describing the identifier and the first transaction corresponding to the identifier. The I / O control device according to
(Appendix 4)
The second sub-control unit is
A DMA controller that generates a transaction specifying an address and a data size for accessing the main storage device based on the transfer instruction command;
The second transaction is generated by assigning the identifier to the transaction generated by the DMA controller, and includes a list describing the identifier and the second transaction corresponding to the identifier. The I / O control device according to
(Appendix 5)
The second controller is
A third sub-control unit that generates the third transaction divided into addresses and data sizes suitable for data transfer based on the second transaction;
A fourth sub-control unit that stores a reply transaction for the third transaction,
The third sub-control unit outputs the generated third transaction as transaction information to the fourth sub-control unit,
The I / O control device according to
(Appendix 6)
The third control unit is
A second buffer for storing the first transaction;
A third buffer for storing the third transaction;
An access control unit for transmitting the first transaction read from the second buffer and the third transaction read from the third buffer;
A transmission buffer for storing the first transaction and the third transaction, and transmitting the first transaction and the third transaction to the memory controller in the same order as when stored;
Storing the reply transaction transmitted from the memory controller, and receiving buffer to transmit to the access control unit in the same order as when stored,
The I / O control device according to
(Appendix 7)
The access control unit
The first transaction read from the second buffer is analyzed based on the type of the access instruction. If the result of the analysis is an instruction that inhibits access to the main storage device, a flag is set. The I / O control device according to
(Appendix 8)
The access control unit
When the flag is set, the flag set for the access control unit is canceled in response to acquiring the reply transaction for the first transaction for which the flag is set. The I / O control device according to
(Appendix 9)
9. The I / O control device according to any one of
(Appendix 10)
The I / O control device
When an instruction to the main storage device is issued from a plurality of the access resources, the first control unit, the second control unit, and the third control unit are provided for each access resource. 10. The I / O control device according to any one of
(Appendix 11)
If the type of instruction issued to the main storage device issued by the access resource is determined, and if it is determined that it is an access instruction, a first transaction is generated, while if it is determined that it is a transfer instruction instruction Generates a second transaction, and when the second transaction is generated, generates a third transaction divided into access instruction units suitable for data transfer based on the second transaction, An I / O control method characterized in that when a first transaction and the third transaction are generated, each transaction is stored and transmitted to the memory controller in the same order as the stored order.
(Appendix 12)
A computer program for I / O control operating on an electronic device, the computer program
If the type of instruction issued to the main storage device issued by the access resource is determined, and if it is determined that it is an access instruction, a first transaction is generated, while if it is determined that it is a transfer instruction instruction Generates a second transaction, and when the second transaction is generated, generates a third transaction divided into access instruction units suitable for data transfer based on the second transaction, When a first transaction and the third transaction are generated, the computer realizes a function of storing for each transaction and transmitting to the memory controller in the same order as the stored order. ·program.
本発明は、上述した各実施形態には限定されない。本発明は、パーソナルコンピュータ、POS(Point Of Sale)システム、サーバ、複写機、複合機等の各種の電子機器に適用可能である。 The present invention is not limited to the embodiments described above. The present invention can be applied to various electronic devices such as a personal computer, a POS (Point Of Sale) system, a server, a copier, and a multifunction peripheral.
1 I/O装置
1a I/O装置
1b I/O装置
1c I/O装置
2 メモリコントローラ
3 主記憶装置
4 演算処理装置
5 チャンネルスロット
6 ディスク装置
7 LAN
8 テープ装置
9 ホストコンピュータ
10 I/O制御装置
11 リクエストリソース
12 第1の制御部
13 第2の制御部
14 第3の制御部
15 第1のサブ制御部
16 第2のサブ制御部
17 第3のサブ制御部
18 第4のサブ制御部
20 第1のバッファ
21 第1のID管理部
22 DMAコントローラ
23 第2のID管理部
24 第2のバッファ
25 第3のバッファ
26 アクセス制御部
27 送信バッファ
28 受信バッファ
30 I/O制御装置
31 ローカルメモリ
32 I/Oプロセッサ
33 I/OプロセッサI/F制御部
34 ユニット
35 メモリコントローラI/F制御部
36 FW制御部
37 DMA制御部
38 インバウンド制御部
39 アウトバウンド制御部
40 TXN制御部
41 命令発行用バッファ
42 FWリクエストバッファ
43 インバウンドリクエストバッファ
44 TXN送受信制御部
45 I/O制御装置
46 スイッチI/F制御部
47 スイッチ
50 I/O制御装置
51 I/OプロセッサI/F制御部
52 メモリコントローラI/F制御部
53 FW制御部
54 DMA制御部
55 TXN制御部
1 I / O device 1a I /
8
Claims (10)
前記第2のトランザクションが生成された場合に、前記第2のトランザクションを基にデータ転送に適したアクセス命令単位に分割した第3のトランザクションを生成する第2の制御部と、
前記第1のトランザクションと前記第3のトランザクションとが生成された場合に、該生成された第1及び第3のトランザクションをトランザクション毎に格納し、格納したときの順序と同じ順序でメモリコントローラに送信する第3の制御部と、
を備えることを特徴とするI/O制御装置。 The type of instruction issued to the main storage device issued by the access resource is determined, and if it is determined that the instruction is an access instruction, the first transaction is generated. On the other hand, if it is determined that the instruction is a transfer instruction instruction, A first control unit for generating a second transaction;
A second control unit that generates a third transaction divided into access instruction units suitable for data transfer based on the second transaction when the second transaction is generated;
When the first transaction and the third transaction are generated, the generated first and third transactions are stored for each transaction, and transmitted to the memory controller in the same order as the stored order. A third control unit,
An I / O control device comprising:
前記命令が前記アクセス命令だと判別した場合には、該アクセス命令を基に前記第1のトランザクションを生成する第1のサブ制御部と、
前記命令が前記転送指示命令だと判別した場合には、該転送指示命令を基に前記第2のトランザクションを生成する第2のサブ制御部と、
を含むことを特徴とした請求項1に記載のI/O制御装置。 The first controller is
If it is determined that the instruction is the access instruction, a first sub-control unit that generates the first transaction based on the access instruction;
If it is determined that the instruction is the transfer instruction instruction, a second sub-control unit that generates the second transaction based on the transfer instruction instruction;
The I / O control device according to claim 1, comprising:
前記アクセス命令を格納する第1のバッファと、
前記第1のバッファから読み出した前記アクセス命令に識別子を付与することにより、前記第1のトランザクションを生成し、前記識別子と前記識別子に対応した該第1のトランザクションとを記述したリストを含むことを特徴した請求項2に記載のI/O制御装置。 The first sub-control unit includes:
A first buffer for storing the access instruction;
The first transaction is generated by assigning an identifier to the access instruction read from the first buffer, and includes a list describing the identifier and the first transaction corresponding to the identifier. The I / O control device according to claim 2, wherein the device is an I / O control device.
前記転送指示命令を基に前記主記憶装置にアクセスするアドレスとデータサイズとを指定したトランザクションを生成するDMAコントローラと、
前記DMAコントローラによって生成された該トランザクションに前記識別子を付与することにより、前記第2のトランザクションを生成し、前記識別子と前記識別子に対応した該第2のトランザクションとを記述したリストを含むことを特徴した請求項2または請求項3に記載のI/O制御装置。 The second sub-control unit is
A DMA controller that generates a transaction specifying an address and a data size for accessing the main storage device based on the transfer instruction command;
The second transaction is generated by assigning the identifier to the transaction generated by the DMA controller, and includes a list describing the identifier and the second transaction corresponding to the identifier. The I / O control device according to claim 2 or 3.
前記第2のトランザクションを基にデータ転送に適したアドレスとデータサイズとに分割した前記第3のトランザクションを生成する第3のサブ制御部と、
前記第3のトランザクションに対するリプライトランザクションを格納する第4のサブ制御部とを備え、
前記第3のサブ制御部は、生成した前記第3のトランザクションをトランザクション情報として前記第4のサブ制御部に出力し、
前記第4のサブ制御部は、格納した前記リプライトランザクションを前記トランザクション情報を基に合成することを特徴とする請求項1に記載のI/O制御装置。 The second controller is
A third sub-control unit that generates the third transaction divided into addresses and data sizes suitable for data transfer based on the second transaction;
A fourth sub-control unit that stores a reply transaction for the third transaction,
The third sub-control unit outputs the generated third transaction as transaction information to the fourth sub-control unit,
The I / O control device according to claim 1, wherein the fourth sub-control unit synthesizes the stored reply transaction based on the transaction information.
前記第1のトランザクションを格納する第2のバッファと、
前記第3のトランザクションを格納する第3のバッファと、
前記第2のバッファから読み出した前記第1のトランザクションと前記第3のバッファから読み出した前記第3のトランザクションとを送信するアクセス制御部と、
前記第1のトランザクションと前記第3のトランザクションとを格納し、格納したときの順序と同じ順序で前記メモリコントローラに送信する送信バッファと、
前記メモリコントローラから送信された前記リプライトランザクションを格納し、格納したときの順序と同じ順序で前記アクセス制御部に送信する受信バッファと、
を含むことを特徴とする請求項1に記載のI/O制御装置。 The third control unit is
A second buffer for storing the first transaction;
A third buffer for storing the third transaction;
An access control unit for transmitting the first transaction read from the second buffer and the third transaction read from the third buffer;
A transmission buffer for storing the first transaction and the third transaction, and transmitting the first transaction and the third transaction to the memory controller in the same order as when stored;
Storing the reply transaction transmitted from the memory controller, and receiving buffer to transmit to the access control unit in the same order as when stored,
The I / O control device according to claim 1, comprising:
前記第2のバッファから読み出した前記第1のトランザクションを前記アクセス命令の種別に基づいて解析し、解析した結果、前記主記憶装置に対するアクセスを抑止する命令であった場合には、フラグを設定すると共に、その命令に対する前記リプライトランザクションを受信するまで、前記第2のバッファから後続の前記第1のトランザクションの読出しを抑止することを特徴とする請求項6に記載のI/O制御装置。 The access control unit
The first transaction read from the second buffer is analyzed based on the type of the access instruction. If the result of the analysis is an instruction that inhibits access to the main storage device, a flag is set. The I / O control device according to claim 6, wherein reading of the subsequent first transaction from the second buffer is inhibited until the reply transaction for the instruction is received.
前記フラグを設定した場合に、その前記フラグを設定した前記第1のトランザクションに対する前記リプライトランザクションを取得するのに応じて、前記アクセス制御部に対して設定されていた前記フラグを解除することを特徴とする請求項6または請求項7に記載のI/O制御装置。 The access control unit
When the flag is set, the flag set for the access control unit is canceled in response to acquiring the reply transaction for the first transaction for which the flag is set. The I / O control device according to claim 6 or 7.
アクセスリソースが発行する主記憶装置に対する命令の種別を判別し、判別した結果、アクセス命令だと判別した場合には、第1のトランザクションを生成する一方で、転送指示命令だと判別した場合には、第2のトランザクションを生成し、前記第2のトランザクションが生成された場合に、前記第2のトランザクションを基にデータ転送に適したアクセス命令単位に分割した第3のトランザクションを生成し、前記第1のトランザクションと前記第3のトランザクションとが生成された場合に、該生成された第1及び第3のトランザクションをトランザクション毎に格納し、格納したときの順序と同じ順序でメモリコントローラに送信する機能をコンピュータに実現させることを特徴とするコンピュータ・プログラム。 A computer program for I / O control operating on an electronic device, the computer program
If the type of instruction issued to the main storage device issued by the access resource is determined, and if it is determined that the instruction is an access instruction, the first transaction is generated, while the transfer instruction instruction is determined Generating a second transaction, and when the second transaction is generated, generating a third transaction divided into access instruction units suitable for data transfer based on the second transaction, A function of storing the generated first and third transactions for each transaction and transmitting them to the memory controller in the same order as the stored order when one transaction and the third transaction are generated A computer program characterized in that a computer is realized.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012067746A JP5924060B2 (en) | 2012-03-23 | 2012-03-23 | I / O control device, control method of I / O device, and computer program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012067746A JP5924060B2 (en) | 2012-03-23 | 2012-03-23 | I / O control device, control method of I / O device, and computer program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013200646A true JP2013200646A (en) | 2013-10-03 |
JP5924060B2 JP5924060B2 (en) | 2016-05-25 |
Family
ID=49520865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012067746A Active JP5924060B2 (en) | 2012-03-23 | 2012-03-23 | I / O control device, control method of I / O device, and computer program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5924060B2 (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60168259A (en) * | 1984-02-10 | 1985-08-31 | Nec Corp | Data transfer control circuit |
JPH07219888A (en) * | 1994-02-03 | 1995-08-18 | Hitachi Ltd | Data processor |
JPH10320350A (en) * | 1997-05-20 | 1998-12-04 | Mitsubishi Electric Corp | Remote pio control system |
JP2004078877A (en) * | 2002-06-19 | 2004-03-11 | Ricoh Co Ltd | Data communication system |
JP2005309847A (en) * | 2004-04-22 | 2005-11-04 | Sharp Corp | Data processor |
JP2009187337A (en) * | 2008-02-07 | 2009-08-20 | Seiko Epson Corp | Device control method, program, control circuit, and electronic equipment |
-
2012
- 2012-03-23 JP JP2012067746A patent/JP5924060B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60168259A (en) * | 1984-02-10 | 1985-08-31 | Nec Corp | Data transfer control circuit |
JPH07219888A (en) * | 1994-02-03 | 1995-08-18 | Hitachi Ltd | Data processor |
JPH10320350A (en) * | 1997-05-20 | 1998-12-04 | Mitsubishi Electric Corp | Remote pio control system |
JP2004078877A (en) * | 2002-06-19 | 2004-03-11 | Ricoh Co Ltd | Data communication system |
JP2005309847A (en) * | 2004-04-22 | 2005-11-04 | Sharp Corp | Data processor |
JP2009187337A (en) * | 2008-02-07 | 2009-08-20 | Seiko Epson Corp | Device control method, program, control circuit, and electronic equipment |
Also Published As
Publication number | Publication date |
---|---|
JP5924060B2 (en) | 2016-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9015451B2 (en) | Processor including a cache and a scratch pad memory and memory control method thereof | |
US8533334B2 (en) | Message binding processing technique | |
US8572342B2 (en) | Data transfer device with confirmation of write completion and method of controlling the same | |
US7234004B2 (en) | Method, apparatus and program product for low latency I/O adapter queuing in a computer system | |
US10678437B2 (en) | Method and device for managing input/output (I/O) of storage device | |
KR20200078382A (en) | Solid-state drive with initiator mode | |
EP2375324A2 (en) | Virtualization apparatus for providing a transactional input/output interface | |
CN107092835B (en) | Computer data encryption device and method for virtual storage disk | |
US8954644B2 (en) | Apparatus and method for controlling memory | |
US11010094B2 (en) | Task management method and host for electronic storage device | |
US8775767B2 (en) | Method and system for allocating memory to a pipeline | |
US20140331021A1 (en) | Memory control apparatus and method | |
CN102609310A (en) | Computer operating system and inter-process communication method therefor | |
KR102474986B1 (en) | Server that supports allocating virtual machine resource on the cloud and controlling method thereof | |
JP5924060B2 (en) | I / O control device, control method of I / O device, and computer program | |
US20080295120A1 (en) | Asynchronous remote procedure calling method and computer product in shared-memory multiprocessor | |
US20130247065A1 (en) | Apparatus and method for executing multi-operating systems | |
CN115174673A (en) | Data processing device with low-delay processor, data processing method and equipment | |
US20080288967A1 (en) | Procedure calling method, procedure calling program, and computer product | |
US20110191638A1 (en) | Parallel computer system and method for controlling parallel computer system | |
CN113609150B (en) | Hardware-based atomic writing method, equipment and system | |
JP7080698B2 (en) | Information processing equipment | |
JP6940283B2 (en) | DMA transfer control device, DMA transfer control method, and DMA transfer control program | |
JP2020140669A (en) | Virtual machine management device, virtual machine management method, and program | |
CN116710906A (en) | Integrated chip and data carrying method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150216 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151216 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160105 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160301 |
|
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: 20160322 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160404 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5924060 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |