JP2017107441A - Information processing device, and control device and control method therefor - Google Patents

Information processing device, and control device and control method therefor Download PDF

Info

Publication number
JP2017107441A
JP2017107441A JP2015241408A JP2015241408A JP2017107441A JP 2017107441 A JP2017107441 A JP 2017107441A JP 2015241408 A JP2015241408 A JP 2015241408A JP 2015241408 A JP2015241408 A JP 2015241408A JP 2017107441 A JP2017107441 A JP 2017107441A
Authority
JP
Japan
Prior art keywords
data
bus
status information
master device
bus bridge
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.)
Pending
Application number
JP2015241408A
Other languages
Japanese (ja)
Inventor
川村 興二
Koji Kawamura
興二 川村
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2015241408A priority Critical patent/JP2017107441A/en
Publication of JP2017107441A publication Critical patent/JP2017107441A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

PROBLEM TO BE SOLVED: To guarantee completion of data write to a shared memory in an information processing device having a plurality of master devices connecting to each of a plurality of buses and a shared memory used by the plurality of master devices.SOLUTION: A monitoring unit 25a monitors a read access, via a bus bridge 18 by a CPU 12 connected to a system bus 17, to status information indicating the occurrence of data write of an IO controller 11 connected to an IO bus 16 that corresponds to the occurrence of data write to a shared memory 14a via a bus bridge 13 by the IO controller 11. When the monitoring unit 25a detects a read access to the status information, a mask unit 25c controls supply of the status information acquired by the read access from the bus bridge 18 to the CPU 12 on the basis of the state of data staying stagnant in the bus bridge 13 due to data write of the IO controller 11.SELECTED DRAWING: Figure 2

Description

本発明は、複数のバスそれぞれに接続する複数のマスタデバイス、および、複数のマスタデバイスが使用する共有メモリを有する情報処理装置に関する。   The present invention relates to an information processing apparatus having a plurality of master devices connected to each of a plurality of buses and a shared memory used by the plurality of master devices.

複数のバスそれぞれに接続する複数のマスタデバイス(以下、マスタ)が主記憶ユニットを共有メモリとして使用する場合がある。この場合、第一のバスに接続する第一のマスタがデータを共有メモリに書き込み、第二のバスに接続する第二のマスタが当該データを共有メモリから読み出すことが頻繁に行われる。第一のマスタが共有メモリに書き込んだデータを第二のマスタが共有メモリから読み出す場合、第二のマスタの読出動作が開始される前に、第一のマスタによる共有メモリへのデータ書込完了が保証される必要がある。そのための技術の一例が特許文献1に提案されている。   A plurality of master devices (hereinafter referred to as masters) connected to each of a plurality of buses may use the main storage unit as a shared memory. In this case, the first master connected to the first bus frequently writes data to the shared memory, and the second master connected to the second bus frequently reads the data from the shared memory. When data written by the first master to the shared memory is read from the shared memory by the second master, the data writing to the shared memory by the first master is completed before the reading operation of the second master is started. Need to be guaranteed. An example of a technique for this is proposed in Patent Document 1.

特許文献1によれば、第一のバスと第二のバスの間に接続されるバスブリッジ内部のデータバッファに滞留する転送数分のデータ転送の完了を監視するモニタ回路を配置する。そして、第一のマスタからモニタ回路に、転送終了を通知する割込信号(第一のマスタの割込信号)が入力される。割込信号を入力したモニタ回路は、バスブリッジ内部のデータバッファに滞留する転送数分のデータ転送の完了をカウントし、カウントがゼロになると割込信号を第二のマスタに出力する。第二のマスタは、モニタ回路からの割込信号(言い替えれば、遅延された第一のマスタの割込信号)を受信した後、共有メモリからのデータの読出処理を行うことで、共有メモリへのデータ書込完了が保証されたデータの読み出しが可能になる。   According to Patent Document 1, a monitor circuit that monitors completion of data transfer for the number of transfers staying in a data buffer inside a bus bridge connected between a first bus and a second bus is arranged. Then, an interrupt signal (first master interrupt signal) for notifying the end of transfer is input from the first master to the monitor circuit. The monitor circuit receiving the interrupt signal counts completion of data transfer for the number of transfers staying in the data buffer inside the bus bridge, and outputs the interrupt signal to the second master when the count reaches zero. After the second master receives the interrupt signal from the monitor circuit (in other words, the delayed first master interrupt signal), the second master reads the data from the shared memory to the shared memory. It is possible to read data for which data writing completion is guaranteed.

特開2012-113615号公報JP 2012-113615 A

特許文献1の技術は、第一のマスタが複数チャネルのテータ転送を行い、転送終了を通知する第一のマスタの割込信号が複数の要因をまとめた単一の割込信号である場合に問題が発生する可能性ある。例えば、モニタ回路から割込信号が入力された第二のマスタは、第一のマスタの転送状態を示すステータスレジスタの値を取得して、共有メモリへのデータ書込が完了したチャネルを判別する。チャネルch1のデータ転送の完了後、ステータスレジスタの値が取得される直前にチャネルch2のデータ転送が発生した場合、第二のマスタが取得するステータスレジスタの値としてはチャネルch1とch2の両方のデータ転送完了を示すことになる。   The technique of Patent Document 1 is the case where the first master performs multi-channel data transfer, and the interrupt signal of the first master that notifies the end of transfer is a single interrupt signal that summarizes multiple factors. Problems can occur. For example, the second master to which the interrupt signal is input from the monitor circuit acquires the value of the status register indicating the transfer state of the first master, and determines the channel in which data writing to the shared memory has been completed. . If channel ch2 data transfer occurs after the completion of channel ch1 data transfer and immediately before the status register value is acquired, the status register value acquired by the second master is the data for both channels ch1 and ch2. It will indicate the completion of transfer.

バスブリッジは、システムバスの混雑状況に応じて内部のデータバッファのデータを出力する/出力しないを判断する。システムバスが混雑している場合、バスブリッジ内のデータバッファにデータが一時的に保持される。従って、ステータスレジスタの値がチャネルch1とch2の両方のデータ転送完了を示していたとしても、例えばチャネルch2のデータがバスブリッジのデータバッファに滞留している可能性がある(言い替えれば、データ転送未了)。チャネルch2のデータ転送が未了の場合、マスタ12は、共有メモリへのデータ書込完了が保証されないデータを読み出すことになる。   The bus bridge determines whether or not to output the data in the internal data buffer according to the congestion status of the system bus. When the system bus is congested, data is temporarily stored in the data buffer in the bus bridge. Therefore, even if the value of the status register indicates the completion of data transfer for both channels ch1 and ch2, for example, data for channel ch2 may remain in the data buffer of the bus bridge (in other words, data transfer Incomplete). When the data transfer of channel ch2 has not been completed, the master 12 reads data that is not guaranteed to be completely written to the shared memory.

本発明は、複数のバスそれぞれに接続する複数のマスタデバイス、および、複数のマスタデバイスが使用する共有メモリを有する情報処理装置において、共有メモリへのデータ書込完了を保証することを目的とする。   An object of the present invention is to guarantee completion of data writing to a shared memory in an information processing apparatus having a plurality of master devices connected to each of a plurality of buses and a shared memory used by the plurality of master devices. .

本発明は、前記の目的を達成する一手段として、以下の構成を備える。   The present invention has the following configuration as one means for achieving the above object.

本発明にかかる制御装置は、複数のバスそれぞれに接続する複数のマスタデバイス、および、前記複数のマスタデバイスが使用する共有メモリを有する情報処理装置における制御装置であって、第一のバスに接続する第一のマスタデバイスによる第一のバスブリッジを介した前記共有メモリへのデータ書込の発生に応じた、第二のバスに接続する第二のマスタデバイスによる第二のバスブリッジを介した前記第一のマスタデバイスのデータ書込の発生を示すステータス情報のリードアクセスを監視する監視手段と、前記監視手段により前記ステータス情報のリードアクセスが検知されると、前記第一のマスタデバイスのデータ書込により前記第一のバスブリッジに滞留するデータの状態に基づき、前記リードアクセスによって取得された前記ステータス情報の前記第二のバスブリッジから前記第二のマスタデバイスへの供給を制御する制御手段とを有する。   A control device according to the present invention is a control device in an information processing device having a plurality of master devices connected to each of a plurality of buses and a shared memory used by the plurality of master devices, and connected to the first bus Via the second bus bridge by the second master device connected to the second bus in response to the occurrence of data writing to the shared memory via the first bus bridge by the first master device Monitoring means for monitoring read access of status information indicating the occurrence of data writing of the first master device; and when the read access of the status information is detected by the monitoring means, data of the first master device Based on the state of data staying in the first bus bridge by writing, the acquired by the read access From said second bus bridge status information and a control means for controlling the supply to the second master device.

本発明によれば、複数のバスそれぞれに接続する複数のマスタデバイス、および、複数のマスタデバイスが使用する共有メモリを有する情報処理装置において、共有メモリへのデータ書込完了を保証することができる。   According to the present invention, in an information processing apparatus having a plurality of master devices connected to each of a plurality of buses and a shared memory used by the plurality of master devices, completion of data writing to the shared memory can be guaranteed. .

情報処理装置の構成例、および、IOコントローラのステータスレジスタの状態を示す。2 shows a configuration example of an information processing device and a status register status of an IO controller. 実施例1の情報処理装置の構成例を示すブロック図。1 is a block diagram illustrating a configuration example of an information processing apparatus according to a first embodiment. 制御回路の処理を説明するフローチャート。The flowchart explaining the process of a control circuit. 実施例2の情報処理装置の構成例を示すブロック図。FIG. 3 is a block diagram illustrating a configuration example of an information processing apparatus according to a second embodiment. 制御回路の処理を説明するフローチャート。The flowchart explaining the process of a control circuit.

以下、本発明にかかる実施例の情報処理装置、並びに、その制御装置および制御方法を図面を参照して詳細に説明する。なお、実施例は特許請求の範囲にかかる本発明を限定するものではなく、また、実施例において説明する構成の組み合わせのすべてが本発明の解決手段に必須とは限らない。   Hereinafter, an information processing apparatus according to an embodiment of the present invention, and a control apparatus and control method thereof will be described in detail with reference to the drawings. In addition, an Example does not limit this invention concerning a claim, and all the combinations of the structure demonstrated in an Example are not necessarily essential for the solution means of this invention.

以下ではマスタデバイスとして、周辺デバイス用のIOバスに接続するIOコントローラおよびシステムバスに接続するCPUを例に説明を行う。つまり、IOコントローラが、システムバスに接続するメモリコントローラが管理する共有メモリにデータ書込処理を行い、CPUが共有メモリから当該データの読出処理を行う例を説明する。ただし、実施例はマスタデバイスの種類を限定するものではなく、様々な種類のマスタデバイスが本発明の対象になる。また、実施例においては、例えばオンチップバスアーキテクチャにおけるAHBバスをIOバスとして、AXIバスをシステムバスとして想定する。しかし、本発明は、バスの種類に限定されず、バスブリッジを介して接続される様々なバスを用いる情報処理装置に適用可能である。   In the following description, an IO controller connected to the peripheral device IO bus and a CPU connected to the system bus will be described as examples of the master device. That is, an example will be described in which the IO controller performs data write processing on the shared memory managed by the memory controller connected to the system bus, and the CPU performs read processing of the data from the shared memory. However, the embodiments do not limit the types of master devices, and various types of master devices are the subject of the present invention. In the embodiment, for example, an AHB bus in an on-chip bus architecture is assumed as an IO bus, and an AXI bus is assumed as a system bus. However, the present invention is not limited to the type of bus, and can be applied to an information processing apparatus using various buses connected via a bus bridge.

●装置の構成
図1(a)のブロック図により情報処理装置の構成例を示す。IOコントローラ11は、IOバス16、バスブリッジ13およびシステムバス17を介して、メモリコントローラ14が管理する(共有)メモリ14aにデータを書き込むDMA (direct memory acess)書込処理を行う。IOコントローラ11は、メモリ14aへの複数チャネルのDMA書込処理を並列に行うことができる。以下では、IOコントローラ11が2チャネルのDMA書込処理を行う例を説明するが、チャネル数は「2」以上であればよい。IOコントローラ11は、DMA書込処理が終了すると単一の割込信号22をモニタ回路15に出力する。図1(b)はIOコントローラ11によるチャネルch1のDMA書込処理が終了した後の、IOコントローラ11のステータスレジスタ11aの状態を示す。
Device configuration An example of the configuration of the information processing device is shown in the block diagram of FIG. The IO controller 11 performs a DMA (direct memory access) write process for writing data to the (shared) memory 14a managed by the memory controller 14 via the IO bus 16, the bus bridge 13, and the system bus 17. The IO controller 11 can perform a plurality of channels of DMA write processing to the memory 14a in parallel. In the following, an example in which the IO controller 11 performs 2-channel DMA write processing will be described, but the number of channels may be “2” or more. The IO controller 11 outputs a single interrupt signal 22 to the monitor circuit 15 when the DMA write processing is completed. FIG. 1B shows the state of the status register 11a of the IO controller 11 after the DMA write processing of channel ch1 by the IO controller 11 is completed.

割込信号22が入力されたモニタ回路15は、バスブリッジ13内のデータバッファ13aに滞留しているデータの数をカウント値としてカウンタ15bに設定する。カウンタ値は、データバッファ13aに滞留した各データの転送が完了する度にデクリメントされ、カウント値がゼロになるとカウンタ15bがデータ転送の完了を示す転送完了信号を割込遅延回路15aに出力する。転送完了信号が入力された割込遅延回路15aは、割込信号24をCPU12に出力する。   The monitor circuit 15 to which the interrupt signal 22 is input sets the number of data staying in the data buffer 13a in the bus bridge 13 as a count value in the counter 15b. The counter value is decremented each time the transfer of each data staying in the data buffer 13a is completed, and when the count value becomes zero, the counter 15b outputs a transfer completion signal indicating the completion of the data transfer to the interrupt delay circuit 15a. The interrupt delay circuit 15a to which the transfer completion signal is input outputs the interrupt signal 24 to the CPU 12.

割込信号24が入力されたCPU12は、バスブリッジ18およびIOバス16を介して、IOコントローラ11のDMA書込処理の状態(データ書込状態)を示すステータスレジスタ11aの値(以下、ステータス情報)を取得する。ステータスレジスタ11aは、IOコントローラ11のメモリマップ上のアドレス(以下、SRアドレス)に予めマッピングされている。CPU12は、SRアドレスにアクセスすることでステータス情報を取得する。   The CPU 12 to which the interrupt signal 24 has been input sends the value of the status register 11a (hereinafter, status information) indicating the DMA write processing status (data write status) of the IO controller 11 via the bus bridge 18 and the IO bus 16. ) To get. The status register 11a is mapped in advance to an address on the memory map of the IO controller 11 (hereinafter referred to as SR address). The CPU 12 acquires status information by accessing the SR address.

CPU12は、ステータス情報によりデータ転送が完了したチャネルを判別する。図1(b)の例では、チャネルch1のデータ転送が完了したと判別される。CPU12は、システムバス17およびメモリコントローラ14を介して、ステータス情報に基づき、メモリ14aへの書込完了が保証されたデータをメモリ14aから読み出す読出処理を行う。   The CPU 12 determines a channel for which data transfer has been completed based on the status information. In the example of FIG. 1B, it is determined that the data transfer of the channel ch1 is completed. Based on the status information, the CPU 12 performs a read process of reading data from the memory 14a that is guaranteed to be written to the memory 14a via the system bus 17 and the memory controller 14.

このようにして、複数のバスそれぞれに接続する複数のマスタデバイス、および、複数のマスタデバイスが使用する共有メモリを有する情報処理装置におけるIOコントローラ11からCPU12へのデータ転送処理が実現される。しかし、チャネルch1のDMA書込処理が終了後、CPU12によるステータス情報の取得前にチャネルch2のDMA書込処理が発生する可能性がある。この場合、チャネルch1、ch2の両方のDMA書込処理の完了を示すステータス情報が取得されていまう。   In this manner, data transfer processing from the IO controller 11 to the CPU 12 in the information processing apparatus having a plurality of master devices connected to each of the plurality of buses and a shared memory used by the plurality of master devices is realized. However, after the channel ch1 DMA write processing is completed, the channel ch2 DMA write processing may occur before the CPU 12 acquires the status information. In this case, status information indicating completion of DMA write processing for both channels ch1 and ch2 is acquired.

図1(c)はチャネルch1とch2の両方のDMA書込処理の完了を示すステータスレジスタ11aの状態を表す。割込信号24が入力されたCPU12が、図1(c)に示すステータス情報を取得したとしても、実際はメモリ14aへの書き込みまでは完了しておらず、チャネルch2のデータはデータバッファ13aに滞留している可能性がある。その場合、CPU12は、メモリ14aへの書込完了が保証されていないチャネルch2のデータを読み出す読出処理を行うことになる。   FIG. 1 (c) shows the state of the status register 11a indicating the completion of DMA write processing for both channels ch1 and ch2. Even if the CPU 12 to which the interrupt signal 24 is input acquires the status information shown in Fig. 1 (c), the writing to the memory 14a is not actually completed, and the data of the channel ch2 stays in the data buffer 13a. There is a possibility. In that case, the CPU 12 performs a reading process of reading data of the channel ch2 for which the completion of writing to the memory 14a is not guaranteed.

●装置の構成
図2のブロック図により実施例1の情報処理装置の構成例を示す。図1(a)と同様の構成には同一符号を付して、その詳細説明を省略する。図2に示す構成において、割込信号22はCPU12に直接入力され、割込信号22が入力されたCPU12はステータスレジスタ11aのリードアクセス(以下、ステータス情報アクセス)を行う。また、図2に示す構成は、図1(a)のモニタ回路15に代わる制御回路25を有する。
Apparatus Configuration A configuration example of the information processing apparatus according to the first embodiment is shown in the block diagram of FIG. The same components as those in FIG. 1 (a) are denoted by the same reference numerals, and detailed description thereof is omitted. In the configuration shown in FIG. 2, the interrupt signal 22 is directly input to the CPU 12, and the CPU 12 to which the interrupt signal 22 is input performs read access to the status register 11a (hereinafter, status information access). The configuration shown in FIG. 2 includes a control circuit 25 that replaces the monitor circuit 15 shown in FIG.

制御回路25において、モニタ25aは、CPU12によるステータス情報アクセスを監視し、ステータス情報アクセスの発生を検知する。ステータス情報アクセスの検知方法としては、SRアドレスをモニタ25aに格納し、IOバス16のアドレス信号とコマンドを監視して、SRアドレスに対するリードコマンドの発行(リードアクセスの発生)を検知すればよい。   In the control circuit 25, the monitor 25a monitors status information access by the CPU 12, and detects the occurrence of status information access. As a detection method of status information access, the SR address is stored in the monitor 25a, the address signal and command of the IO bus 16 are monitored, and the issue of the read command (read access occurrence) to the SR address may be detected.

マスク部25cは、二つの制御信号のマスク機能を有する。第一の制御信号は、システムバス17からバスブリッジ18に接続されるリードデータ受信可能通知信号(以下、RREADY信号)31であり、RREADY信号31をマスク処理したM_RREADY信号32をバスブリッジ18に接続する。第二の制御信号は、バスブリッジ18からシステムバス17に接続されるリードデータ有効通知信号(以下、RVALID信号)33であり、RVALID信号33をマスク処理したM_RVALID信号34をシステムバス17に接続する。   The mask unit 25c has a mask function for two control signals. The first control signal is a read data receivable notification signal (hereinafter referred to as RREADY signal) 31 connected from the system bus 17 to the bus bridge 18, and an M_RREADY signal 32 obtained by masking the RREADY signal 31 is connected to the bus bridge 18. To do. The second control signal is a read data valid notification signal (hereinafter, RVALID signal) 33 connected from the bus bridge 18 to the system bus 17, and connects the M_RVALID signal 34 obtained by masking the RVALID signal 33 to the system bus 17. .

RREADY信号31は、CPU12がバスブリッジ18に対してデータ受信準備が整ったことを通知する信号である。また、RVALID信号33は、バスブリッジ18がCPU12に対して送信データが有効であることを示す信号である。この二つの制御信号のやり取りにより、バスブリッジ18からCPU12へのデータの送受信が成り立つ。また、図示しないが、マスク部25cは、例えば、二入力一出力の単純な論理積回路の一方の入力に制御信号を接続し、他方の入力にマスク解除の条件が整うとHレベルになる信号(後述するマスク解除信号)を入力することで実現可能である。ここではマスク部25cの構成については限定しない。   The RREADY signal 31 is a signal that notifies the CPU 12 that the bus bridge 18 is ready for data reception. The RVALID signal 33 is a signal indicating that the transmission data is valid for the CPU 12 to the bus bridge 18. Transmission and reception of data from the bus bridge 18 to the CPU 12 is established by the exchange of these two control signals. Although not shown, the mask unit 25c is, for example, a signal that becomes H level when a control signal is connected to one input of a simple AND circuit with two inputs and one output, and the condition for canceling the mask is satisfied at the other input. This can be realized by inputting (a mask release signal described later). Here, the configuration of the mask portion 25c is not limited.

モニタ25aがステータス情報アクセスを検知すると、制御回路25は、マスク部25cによりRREADY信号31とRVALID信号33をディセーブル状態にマスクする。制御回路25は、さらに、バスブリッジ13内のデータバッファ13aに滞留しているデータ(以下「滞留データ」と呼ぶ場合がある)の数をカウント値としてカウンタ25bに設定する。カウント値は、データバッファ13aに滞留した各データの転送が完了する度にデクリメントされ、カウント値がゼロになるとカウンタ25bからマスク解除信号が出力される。マスク解除信号が入力されたマスク部25cは、RREADY信号31とRVALID信号33のマスクを解除する。   When the monitor 25a detects the status information access, the control circuit 25 masks the RREADY signal 31 and the RVALID signal 33 to the disabled state by the mask unit 25c. The control circuit 25 further sets the number of data staying in the data buffer 13a in the bus bridge 13 (hereinafter sometimes referred to as “staying data”) in the counter 25b as a count value. The count value is decremented each time the transfer of each data staying in the data buffer 13a is completed, and when the count value becomes zero, a mask release signal is output from the counter 25b. The mask unit 25c to which the mask release signal is input releases the mask of the RREADY signal 31 and the RVALID signal 33.

バスブリッジ18は、ステータス情報アクセスによって読み出されたステータス情報を一時的に保持する。そして、RREADY信号31とRVALID信号33のマスクが解除されるとバスブリッジ18からCPU12へのデータ送受信が成立し、CPU12は、バスブリッジ18に保持されていたステータス情報を取得する。   The bus bridge 18 temporarily holds the status information read by the status information access. When the masking of the RREADY signal 31 and the RVALID signal 33 is cancelled, data transmission / reception from the bus bridge 18 to the CPU 12 is established, and the CPU 12 acquires status information held in the bus bridge 18.

割込信号22の入力に応じたステータス情報アクセスによって取得されるステータス情報と滞留データの関係として次の状況が想定される。
状況A:ステータス情報‘10’、チャネルch1のDMA書込処理が完了、共有メモリへの書き込みが完了(滞留データなし)、
状況B:ステータス情報‘10’、チャネルch1のDMA書込処理が完了、共有メモリへの書き込みは未了(滞留データありなし)、
状況C:ステータス情報‘11’、チャネルch1とch2のDMA書込処理が完了、チャネルch1、ch2ともに共有メモリへの書き込みが完了(滞留データなし、
状況D:ステータス情報‘11’、チャネルch1とch2のDMA書込処理が完了、チャネルch1の共有メモリへの書き込みは完了だが、チャネルch2の共有メモリへの書き込みが未了(滞留データあり)。
The following situation is assumed as the relationship between the status information acquired by the status information access corresponding to the input of the interrupt signal 22 and the staying data.
Situation A: Status information '10', channel ch1 DMA write processing complete, write to shared memory complete (no stagnant data),
Situation B: Status information '10', channel ch1 DMA write processing complete, write to shared memory has not been completed (there is no stagnant data),
Situation C: Status information '11', channel ch1 and ch2 DMA write processing complete, channel ch1 and ch2 write to shared memory complete (no stagnant data,
Situation D: Status information '11', channel ch1 and ch2 DMA write processing complete, channel ch1 write to shared memory is complete, but channel ch2 write to the shared memory is incomplete (with retained data).

状況A、Cは、滞留データがなく、データ書込完了が保証される。また、状況Bは、滞留データがあるが、割込信号22を遅延する図1(a)に示す構成でもデータ書込完了を保証することができる。しかし、状況Dは、図1(a)に示す構成ではデータ書込完了を保証することができない。   In situations A and C, there is no dwell data and data writing completion is guaranteed. Further, in the situation B, although there is staying data, the data writing completion can be guaranteed even with the configuration shown in FIG. However, the situation D cannot guarantee the completion of data writing in the configuration shown in FIG.

状況Bまたは状況Dが発生した場合、RREADY信号31とRVALID信号33がマスクされ、滞留データがなくなると当該マスクが解除される。マスク解除により、CPU12がステータス情報を受け取り、メモリ14aへのデータ書込完了が保証されたデータにアクセスすることができる。   When the situation B or the situation D occurs, the RREADY signal 31 and the RVALID signal 33 are masked, and the masking is released when there is no remaining data. By releasing the mask, the CPU 12 can receive the status information and access data for which data writing to the memory 14a is guaranteed to be completed.

図1(a)に示す構成のように、滞留データの転送が完了するまで割込信号22を遅延したとしても、スタータス情報によってDMA書込処理の完了が示されるチャネルのデータの書込完了が保証されない場合がある(状況D)。一方、図2に示す構成によれば、滞留データの転送が完了後、READY信号31とRVALID信号33のマスクが解除され、CPU12がステータス情報を受け取ることになる。言い替えれば、図1(a)に示す構成は割込信号22の遅延を行うのに対して、図2に示す構成は、CPU12のステータス情報アクセスによって取得されるステータス情報のバスバッファ18からCPU12への供給を滞留データの状態に基づき制御する。その結果、図2に示す構成によれば、CPU12は、状況Dにおいても、ステータス情報の受信をトリガとして、メモリ14aへのデータ書込完了が保証されたデータにアクセスすることができる。   As shown in Fig. 1 (a), even if the interrupt signal 22 is delayed until the transfer of the stagnant data is completed, the completion of the data writing of the channel whose completion is indicated by the status information is indicated. May not be guaranteed (Situation D). On the other hand, according to the configuration shown in FIG. 2, the masking of the READY signal 31 and the RVALID signal 33 is canceled after the transfer of the staying data is completed, and the CPU 12 receives the status information. In other words, the configuration shown in FIG. 1 (a) delays the interrupt signal 22, whereas the configuration shown in FIG. 2 transfers the status information acquired from the CPU 12 status information access from the bus buffer 18 to the CPU 12. Is controlled based on the state of the staying data. As a result, according to the configuration shown in FIG. 2, even in the situation D, the CPU 12 can access data in which data writing to the memory 14a is guaranteed, triggered by reception of status information.

●制御回路の処理
図3のフローチャートにより制御回路25の処理を説明する。モニタ25aは、CPU12によるステータス情報アクセスの検知を行い(S11)、ステータス情報アクセスを検知しない場合はステップS11を繰り返す。また、ステータス情報アクセスが検知された場合、処理はステップS12に進む。
Processing of control circuit The processing of the control circuit 25 will be described with reference to the flowchart of FIG. The monitor 25a detects the status information access by the CPU 12 (S11), and repeats step S11 when the status information access is not detected. If status information access is detected, the process proceeds to step S12.

モニタ25aがステータス情報アクセスを検知すると、制御回路25は、マスク部25cによりRREADY信号31とRVALID信号33をディセーブル状態にマスクする(S12)。これにより、ステータスレジスタ11aから読み出され、CPU12へ供給されるステータス情報がバスブリッジ18に保持される。続いて、制御回路25は、バスブリッジ13のデータバッファ13aに滞留しているデータの数をカウント値としてカウンタ25bに設定し(S13)、バスブリッジ13を監視して、各データの転送が完了する度にカウント値をデクリメントする(S14)。   When the monitor 25a detects the status information access, the control circuit 25 masks the RREADY signal 31 and the RVALID signal 33 to the disabled state by the mask unit 25c (S12). As a result, the status information read from the status register 11a and supplied to the CPU 12 is held in the bus bridge 18. Subsequently, the control circuit 25 sets the number of data staying in the data buffer 13a of the bus bridge 13 in the counter 25b as a count value (S13), monitors the bus bridge 13, and completes the transfer of each data The count value is decremented every time (S14).

次に、カウント値がゼロになったか否かが判定され(S15)、カウント値がゼロではない場合、処理はステップS14に戻る。また、カウント値がゼロになると処理はステップS16に進む。つまり、カウント値がゼロになりカウンタ25bからマスク解除信号が出力されると、マスク部25cによるRREADY信号31とRVALID信号33のマスクが解除される(S16)。これにより、バスブリッジ18に保持されていたステータス情報がCPU12へ供給される。そして、制御回路25は、処理をステップS11に戻して、ステータス情報アクセスの検知を繰り返す。   Next, it is determined whether or not the count value has become zero (S15). If the count value is not zero, the process returns to step S14. When the count value becomes zero, the process proceeds to step S16. That is, when the count value becomes zero and the mask release signal is output from the counter 25b, the masking of the RREADY signal 31 and the RVALID signal 33 by the mask unit 25c is released (S16). As a result, the status information held in the bus bridge 18 is supplied to the CPU 12. Then, the control circuit 25 returns the process to step S11 and repeats the detection of status information access.

このように、バスブリッジ13のデータバッファ13aに滞留するデータの転送が完了するまで、RREADY信号31とRVALID信号33が一時的にディセーブル状態にマスクされる。これにより、IOコントローラ11のステータスレジスタ11aから読み出され、CPU12へ供給されるステータス情報の供給を遅延させて、CPU12がステータス情報を受信した時点における、共有メモリへのデータ書込完了を保証する。つまり、IOコントローラ11のデータ転送完了を示す割込信号22が複数の要因をまとめた単一の割込信号でも、CPU12によるステータスレジスタ11aのリードタイミングに依らず、すべての状況において供給メモリへのデータ書込完了が保証される。なお、上述したステータス情報の供給の遅延方法は一例であり、別な手法でステータス情報の供給を遅延してもよい。   In this way, the RREADY signal 31 and the RVALID signal 33 are temporarily masked in the disabled state until the transfer of the data staying in the data buffer 13a of the bus bridge 13 is completed. This delays the supply of status information read from the status register 11a of the IO controller 11 and supplied to the CPU 12, and guarantees the completion of data writing to the shared memory when the CPU 12 receives the status information. . In other words, even if the interrupt signal 22 indicating the completion of data transfer of the IO controller 11 is a single interrupt signal in which multiple factors are combined, the CPU 12 does not depend on the read timing of the status register 11a by the CPU 12 in all situations Data writing completion is guaranteed. The status information supply delay method described above is merely an example, and status information supply may be delayed by another method.

以下、本発明にかかる実施例2の情報処理装置およびその制御方法を説明する。なお、実施例2において、実施例1と略同様の構成については、同一の符号を付して、その詳細な説明を省略する場合がある。   Hereinafter, an information processing apparatus and a control method thereof according to a second embodiment of the present invention will be described. Note that the same reference numerals in the second embodiment denote the same parts as in the first embodiment, and a detailed description thereof may be omitted.

●装置の構成
図4のブロック図により実施例2の情報処理装置の構成例を示す。実施例2において、DMA書込処理の完了を示す割込信号22は、CPU12だけでなく、制御回路25に供給される。制御回路25は、割込信号22をトリガとして起動する。制御回路25の起動は、制御回路25内のモニタ25a、カウンタ25b、マスク部25c等の機能ブロックの活性化を意味する。起動方法として、例えば、割込信号22の入力によって、制御回路25の機能ブロックにクロックが供給される、または、制御回路25の機能ブロックのリセットが解除されるなどが考えられるが、ここでは限定しない。
Device Configuration A block diagram of FIG. 4 shows a configuration example of the information processing device of the second embodiment. In the second embodiment, the interrupt signal 22 indicating the completion of the DMA writing process is supplied not only to the CPU 12 but also to the control circuit 25. The control circuit 25 is activated using the interrupt signal 22 as a trigger. Activation of the control circuit 25 means activation of functional blocks such as the monitor 25a, the counter 25b, and the mask unit 25c in the control circuit 25. As a starting method, for example, a clock is supplied to the functional block of the control circuit 25 by the input of the interrupt signal 22, or the reset of the functional block of the control circuit 25 is released. do not do.

起動後、制御回路25は、一連の処理の実行が終わった時点で割込信号22が入力されている場合は起動状態を維持して、当該割込信号22をトリガとする一連の処理を実行する。また、一連の処理の実行が終わった時点で割込信号22が入力されていない場合は非起動状態に移行し、割込信号22の入力の待機状態になる。割込信号22をトリガとする制御回路25の起動を除けば、他の構成やそれらの動作は実施例1と共通するため、それらの詳細説明を省略する。   After startup, the control circuit 25 maintains the startup state when the interrupt signal 22 is input at the end of execution of the series of processes, and executes a series of processes using the interrupt signal 22 as a trigger. To do. If the interrupt signal 22 is not input at the end of the series of processes, the process shifts to a non-activated state and enters a standby state for input of the interrupt signal 22. Except for the activation of the control circuit 25 triggered by the interrupt signal 22, other configurations and their operations are the same as those in the first embodiment, and thus detailed description thereof is omitted.

●制御回路の処理
図5のフローチャートにより実施例2の制御回路25の処理を説明する。制御回路25は、割込信号22の入力を待機する非起動状態にある(S21)。割込信号22が入力されると、制御回路25は起動状態に移行し(S22)、図3に示したステップS11からS16の処理を実行する。そして、RREADY信号31とRVALID信号33のマスク解除(S16)の後、制御回路25は、割込信号22が入力されているか否かを判定し(S23)、割込信号22が入力されている場合は処理をステップS11に戻す。また、割込信号22が入力されていない場合、制御回路25は非起動状態に移行し(S24)、処理はステップS21に戻る。
Processing of control circuit The processing of the control circuit 25 of the second embodiment will be described with reference to the flowchart of FIG. The control circuit 25 is in a non-activated state waiting for input of the interrupt signal 22 (S21). When the interrupt signal 22 is input, the control circuit 25 shifts to an activated state (S22), and executes the processes of steps S11 to S16 shown in FIG. After unmasking the RREADY signal 31 and the RVALID signal 33 (S16), the control circuit 25 determines whether or not the interrupt signal 22 is input (S23), and the interrupt signal 22 is input. If so, the process returns to step S11. If the interrupt signal 22 is not input, the control circuit 25 shifts to a non-activated state (S24), and the process returns to step S21.

[その他の実施例]
本発明は、上述の実施形態の一以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける一以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、一以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
[Other Examples]
The present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read and execute the program It can also be realized by processing. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.

11 … IOコントローラ、12 … CPU、13、18 … バスブリッジ、14a … 共有メモリ、16 … IOバス、17 … システムバス、25a … 監視部、25c … マスク部   11… IO controller, 12… CPU, 13, 18… Bus bridge, 14a… Shared memory, 16… IO bus, 17… System bus, 25a… Monitor, 25c… Mask

Claims (12)

複数のバスそれぞれに接続する複数のマスタデバイス、および、前記複数のマスタデバイスが使用する共有メモリを有する情報処理装置における制御装置であって、
第一のバスに接続する第一のマスタデバイスによる第一のバスブリッジを介した前記共有メモリへのデータ書込の発生に応じた、第二のバスに接続する第二のマスタデバイスによる第二のバスブリッジを介した前記第一のマスタデバイスのデータ書込の発生を示すステータス情報のリードアクセスを監視する監視手段と、
前記監視手段により前記ステータス情報のリードアクセスが検知されると、前記第一のマスタデバイスのデータ書込により前記第一のバスブリッジに滞留するデータの状態に基づき、前記リードアクセスによって取得された前記ステータス情報の前記第二のバスブリッジから前記第二のマスタデバイスへの供給を制御する制御手段とを有する制御装置。
A control device in an information processing apparatus having a plurality of master devices connected to each of a plurality of buses, and a shared memory used by the plurality of master devices,
A second master device connected to the second bus in response to the data write to the shared memory via the first bus bridge by the first master device connected to the first bus; Monitoring means for monitoring read access of status information indicating the occurrence of data writing of the first master device via the bus bridge;
When a read access of the status information is detected by the monitoring means, the data acquired by the read access is based on a state of data staying in the first bus bridge by data writing of the first master device. And a control unit that controls supply of status information from the second bus bridge to the second master device.
前記第一のマスタデバイスは、前記第二のバスに接続された前記共有メモリへの複数チャネルのデータ書込を並列に行うことができる請求項1に記載された制御装置。   2. The control device according to claim 1, wherein the first master device can perform data writing of a plurality of channels in parallel to the shared memory connected to the second bus. 前記第二のマスタデバイスは、前記ステータス情報に従い、前記データ書込により前記第二のバスに接続された前記共有メモリに書き込まれたデータの読み出しを行う請求項1または請求項2に記載された制御装置。   3. The second master device according to claim 1, wherein the second master device reads data written in the shared memory connected to the second bus by the data writing according to the status information. Control device. 前記制御手段は、前記ステータス情報のリードアクセスの検知に応じて、前記第二のマスタデバイスと前記第二のバスブリッジの間の制御信号をマスクするマスク手段を有する請求項1から請求項3の何れか一項に記載された制御装置。   4. The control unit according to claim 1, further comprising a mask unit that masks a control signal between the second master device and the second bus bridge in response to detection of read access of the status information. The control device described in any one of the items. 前記マスク手段は、前記制御信号として、前記第二のバスから前記第二のバスブリッジに接続されるリードデータ受信可能通知信号、および、前記第二のバスブリッジから前記第二のバスに接続されるリードデータ有効通知信号をマスクする請求項4に記載された制御装置。   The mask means is connected to the second bus from the second bus bridge to the second bus, and as a control signal, the read data receivable notification signal connected from the second bus to the second bus bridge. 5. The control device according to claim 4, wherein the read data valid notification signal is masked. 前記リードデータ受信可能通知信号は前記第二のマスタデバイスが前記第二のバスブリッジに対してデータ受信準備が整ったことを通知する信号であり、前記リードデータ有効通知信号は前記第二のバスブリッジが前記第二のマスタデバイスに対して送信データが有効であることを示す信号である請求項5に記載された制御装置。   The read data receivable notification signal is a signal for notifying that the second master device is ready to receive data to the second bus bridge, and the read data valid notification signal is the second bus bridge. 6. The control device according to claim 5, wherein the bridge is a signal indicating that transmission data is valid for the second master device. 前記制御手段は、前記ステータス情報のリードアクセスの検知に応じて前記滞留するデータの数をカウント値としてカウンタに設定して、前記滞留するデータが転送される度に前記カウント値をデクリメントし、
前記カウント値がゼロになると前記カウンタはマスク解除信号を出力し、前記マスク解除信号の出力により前記マスク手段は前記マスクを解除する請求項4から請求項6の何れか一項に記載された制御装置。
The control means sets the number of staying data as a count value in a counter in response to detection of read access of the status information, and decrements the count value each time the staying data is transferred,
The control according to any one of claims 4 to 6, wherein when the count value becomes zero, the counter outputs a mask release signal, and the mask means releases the mask by the output of the mask release signal. apparatus.
前記第一のマスタデバイスは前記データ書込の終了を示す割込信号を前記第二のマスタデバイスに出力し、前記割込信号により前記第二のマスタデバイスは前記ステータス情報のリードアクセスを実行する請求項1から請求項7の何れか一項に記載された制御装置。   The first master device outputs an interrupt signal indicating the end of the data writing to the second master device, and the second master device performs read access of the status information by the interrupt signal. 8. The control device according to any one of claims 1 to 7. 前記制御装置は、前記割込信号の出力によって起動する請求項8に記載された制御装置。   9. The control device according to claim 8, wherein the control device is activated by outputting the interrupt signal. 前記割込信号が出力されていない場合、前記制御装置は非起動状態に移行する請求項8または請求項9に記載された制御装置。   10. The control device according to claim 8, wherein the control device shifts to a non-activated state when the interrupt signal is not output. 複数のバスそれぞれに接続する複数のマスタデバイスと、
前記複数のマスタデバイスが使用する共有メモリと、
請求項1から請求項10の何れか一項に記載された制御装置とを有する情報処理装置。
Multiple master devices connected to each of multiple buses;
A shared memory used by the plurality of master devices;
An information processing apparatus comprising the control device according to any one of claims 1 to 10.
複数のバスそれぞれに接続する複数のマスタデバイス、および、前記複数のマスタデバイスが使用する共有メモリを有する情報処理装置における制御方法であって、
第一のバスに接続する第一のマスタデバイスによる第一のバスブリッジを介した前記共有メモリへのデータ書込の発生に応じた、第二のバスに接続する第二のマスタデバイスによる第二のバスブリッジを介した前記第一のマスタデバイスのデータ書込の発生を示すステータス情報のリードアクセスを監視し、
前記ステータス情報のリードアクセスが検知されると、前記第一のマスタデバイスのデータ書込により前記第一のバスブリッジに滞留するデータの状態に基づき、前記リードアクセスによって取得された前記ステータス情報の前記第二のバスブリッジから前記第二のマスタデバイスへの供給を制御する制御方法。
A control method in an information processing apparatus having a plurality of master devices connected to each of a plurality of buses, and a shared memory used by the plurality of master devices,
A second master device connected to the second bus in response to the data write to the shared memory via the first bus bridge by the first master device connected to the first bus; Monitoring read access of status information indicating the occurrence of data writing of the first master device via the bus bridge of
When the read access of the status information is detected, the status information acquired by the read access is based on the state of the data staying in the first bus bridge by the data writing of the first master device. A control method for controlling supply from the second bus bridge to the second master device.
JP2015241408A 2015-12-10 2015-12-10 Information processing device, and control device and control method therefor Pending JP2017107441A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015241408A JP2017107441A (en) 2015-12-10 2015-12-10 Information processing device, and control device and control method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015241408A JP2017107441A (en) 2015-12-10 2015-12-10 Information processing device, and control device and control method therefor

Publications (1)

Publication Number Publication Date
JP2017107441A true JP2017107441A (en) 2017-06-15

Family

ID=59059892

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015241408A Pending JP2017107441A (en) 2015-12-10 2015-12-10 Information processing device, and control device and control method therefor

Country Status (1)

Country Link
JP (1) JP2017107441A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109491856A (en) * 2017-09-12 2019-03-19 中兴通讯股份有限公司 Monitoring bus system, method and device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109491856A (en) * 2017-09-12 2019-03-19 中兴通讯股份有限公司 Monitoring bus system, method and device
CN109491856B (en) * 2017-09-12 2022-08-02 中兴通讯股份有限公司 Bus monitoring system, method and device

Similar Documents

Publication Publication Date Title
JP3807250B2 (en) Cluster system, computer and program
JP2008250632A (en) Data processing system
US20170083465A1 (en) Method for data transfer between real-time tasks using a dma memory controller
JP2007058716A (en) Data transfer bus system
US10990544B2 (en) PCIE root complex message interrupt generation method using endpoint
JP6586765B2 (en) Access blocking circuit, semiconductor integrated circuit, and access blocking method
JP2005293596A (en) Arbitration of data request
JP2017107441A (en) Information processing device, and control device and control method therefor
JP5981004B2 (en) Semiconductor device
JP5545250B2 (en) Control device
JP2007087247A (en) Bus control system
JP4410270B2 (en) Bus control device
JP5434942B2 (en) Control device
US9411758B2 (en) Semiconductor device
JP2015014962A (en) Arithmetic device, arithmetic method, and program
JP2007052685A (en) Microcontroller
JP2020204877A (en) Semiconductor device and method for operating the same
US20100153610A1 (en) Bus arbiter and bus system
JP5630886B2 (en) Semiconductor device
JP6992295B2 (en) Electronic device
JP5464676B2 (en) Semiconductor device
JP5431823B2 (en) Semiconductor device
JP2010049718A (en) Semiconductor device
JPH1055341A (en) Interface control system
JP6535516B2 (en) Multi-programmable device system and control method thereof