JP2005228188A - Information processing system - Google Patents

Information processing system Download PDF

Info

Publication number
JP2005228188A
JP2005228188A JP2004037848A JP2004037848A JP2005228188A JP 2005228188 A JP2005228188 A JP 2005228188A JP 2004037848 A JP2004037848 A JP 2004037848A JP 2004037848 A JP2004037848 A JP 2004037848A JP 2005228188 A JP2005228188 A JP 2005228188A
Authority
JP
Japan
Prior art keywords
transaction
bus
memory
processing system
event
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
JP2004037848A
Other languages
Japanese (ja)
Inventor
Mamoru Kani
守 可児
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.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Mita Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kyocera Mita Corp filed Critical Kyocera Mita Corp
Priority to JP2004037848A priority Critical patent/JP2005228188A/en
Publication of JP2005228188A publication Critical patent/JP2005228188A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an information processing system capable of stably performing a memory access at high speed without requiring a configuration change in an existing bus. <P>SOLUTION: This information processing system 1 comprises a monitoring device 15 monitoring transactions from bus masters 11a-11d to detect the progress of access processing to a memory 12, and transmitting an instruction signal according to the detection result to any one of the bus masters 11a-11d via signal lines 15a-15d except internal buses A and B. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は、バス経由でメモリアクセスを行う情報処理システムに関するものである。   The present invention relates to an information processing system that performs memory access via a bus.

従来より、信号の伝達経路であるバスと、該バスを介して信号の授受を行う複数のバスマスタ(例えばCPU[Central Processing Unit]やDMAC[Direct Memory Access Controller])と、情報信号を格納するためのメモリと、バスマスタからバス経由で入力される処理要求(ライトトランザクションやリードトランザクション)に応じてメモリに対する情報信号の読み書きを制御するメモリコントローラと、を有して成る情報処理システムにおいて、CPU以外のバスマスタは、メモリに対するアクセスが完了した時点(例えばライトトランザクションの送出が完了した時点)でCPUへの割込み信号を生成し、自身のメモリアクセス処理が完了したことを通知するのが一般的である。   Conventionally, a bus that is a signal transmission path, a plurality of bus masters (for example, a CPU [Central Processing Unit] or a DMAC [Direct Memory Access Controller]) that transmits and receives signals through the bus, and an information signal are stored. And a memory controller that controls reading and writing of information signals to and from the memory in response to a processing request (write transaction or read transaction) input from the bus master via the bus. In general, the bus master generates an interrupt signal to the CPU when access to the memory is completed (for example, when transmission of a write transaction is completed), and notifies the completion of its memory access processing.

しかしながら、バスやバスマスタを数多く有して成る情報処理システムにおいては、バスの混み具合や調停順位等の関係により、ライトトランザクションが送出されてから実際にメモリへのライト処理が実行されるまでの間に、少なからず時間的なずれが生じる。そのため、いわゆる「割込み信号の追い越し」が発生して、バスマスタからの割込み信号を受け取ったCPU(或いは、該CPUによって別途起動される別のバスマスタ)がメモリから正しい情報信号をリードできない場合があった。   However, in an information processing system that has a large number of buses and bus masters, the time between when a write transaction is sent and when the actual write processing to the memory is executed due to the bus congestion and arbitration order. In addition, there is a considerable time lag. For this reason, a so-called “overtake of interrupt signal” occurs, and the CPU that received the interrupt signal from the bus master (or another bus master separately activated by the CPU) may not be able to read the correct information signal from the memory. .

なお、上記課題を解決する従来技術としては、CPUへの割込み信号を一定時間遅延させる割り込み遅延装置が開示・提案されている(例えば、特許文献1を参照)。   As a conventional technique for solving the above-described problem, an interrupt delay device that delays an interrupt signal to a CPU for a predetermined time is disclosed and proposed (for example, see Patent Document 1).

また、上記課題を解決する他の従来技術としては、ライトトランザクションを保持中であることを通知する第1の入出力制御部と、前記通知を受けている間はCPUへの割込み信号を保留し、ライト動作が完了された時点で保留されていた割込み信号を発行する第2の入出力制御部と、有して成る情報処理装置も開示・提案されている(例えば、特許文献2を参照)。
特開平9−274571号公報 特開平9−16541号公報 特開2001−14849号公報
As another conventional technique for solving the above-mentioned problem, a first input / output control unit for notifying that a write transaction is being held and an interrupt signal to the CPU are suspended while receiving the notification. A second input / output control unit that issues an interrupt signal that has been suspended when the write operation is completed, and an information processing apparatus that includes the second input / output control unit are also disclosed and proposed (see, for example, Patent Document 2). .
Japanese Patent Laid-Open No. 9-274571 Japanese Patent Laid-Open No. 9-16541 JP 2001-14849 A

確かに、上記した従来技術を採用すれば、バスやバスマスタを数多く有して成る情報処理システムにおいても「割込み信号の追い越し」を回避することができるので、安定したメモリアクセスを行うことが可能となる。   Certainly, by adopting the above-described conventional technology, even in an information processing system having a large number of buses and bus masters, it is possible to avoid “passing an interrupt signal”, so that stable memory access can be performed. Become.

しかしながら、特許文献1に記載の技術では、バスの使用率等に依らず、常に一定時間(ライトトランザクションが送出されてから実際にメモリへのライト処理が実行されるまでの最大遅延時間)だけCPUへの割込み信号が遅延されるため、バスの使用率が低い場合など、短時間でライト動作が完了されたときには、バスの解放が不要に遅れることになり、メモリアクセスの速度向上を阻害する要因となっていた。   However, in the technique described in Patent Document 1, the CPU is always set for a certain time (maximum delay time from when the write transaction is sent to when the write process to the memory is actually executed) regardless of the bus usage rate or the like. When the write operation is completed in a short period of time, such as when the bus usage rate is low, the bus release is unnecessarily delayed, which hinders the increase in memory access speed. It was.

また、特許文献2に記載の技術では、DMAライトや割込みのトランザクションを新たに定義する必要があり、データ幅が増大するだけでなく、既存のバスシステムを拡張するために多大な労力を要する、という課題があった。   In the technique described in Patent Document 2, it is necessary to newly define a DMA write or an interrupt transaction, which not only increases the data width, but also requires a lot of effort to expand the existing bus system. There was a problem.

なお、上記課題を解決する技術としては、バス自体にCPUへのライト処理完了通知機能を持たせる構成も考えられるが、このような構成では、バスの構成を一から構築し直すために多大なコストや時間が必要となるばかりでなく、ライト処理の同期機能を有しない既存のバスを資産として活用しているシステムには適用できない、という課題があった。   As a technique for solving the above-described problem, a configuration in which the bus itself has a function of notifying the completion of write processing to the CPU can be considered. In addition to the cost and time required, there is a problem that it cannot be applied to a system that uses an existing bus that does not have a write processing synchronization function as an asset.

また、いずれの従来構成でも、バスの調停処理はCPUを介して行われていたため、あるバスマスタのトランザクション終了後に別のバスマスタを起動する場合には、CPUの介在に起因して時間的なロスが生じることになり、メモリアクセスの速度向上を阻害する要因となっていた。   In any conventional configuration, the bus arbitration process is performed through the CPU. Therefore, when another bus master is started after the transaction of a certain bus master is completed, a time loss is caused by the intervention of the CPU. As a result, it has been a factor that hinders the speed of memory access.

本発明は、上記の問題点に鑑み、既存バスの構成変更を要することなく、高速かつ安定にメモリアクセスを行うことが可能な情報処理システムを提供することを目的とする。   In view of the above problems, an object of the present invention is to provide an information processing system capable of performing memory access at high speed and stably without requiring a configuration change of an existing bus.

上記目的を達成するために、本発明に係る情報処理システムは、信号の伝達経路であるバスと、該バスを介して信号の授受を行う複数のバスマスタと、情報信号を格納するためのメモリと、前記バスマスタから前記バス経由で入力される処理要求に応じて前記メモリに対する前記情報信号の読み書きを制御するメモリコントローラと、を有する情報処理システムにおいて、前記バスマスタからのトランザクションを監視して前記メモリに対するアクセス処理の進捗状況を検知し、その検知結果に応じた命令信号を前記バス以外の信号線経由で前記バスマスタのいずれかに送出する監視装置を備えた構成としている。   In order to achieve the above object, an information processing system according to the present invention includes a bus that is a signal transmission path, a plurality of bus masters that exchange signals via the bus, a memory that stores information signals, A memory controller that controls reading and writing of the information signal to and from the memory in response to a processing request input from the bus master via the bus, and monitors a transaction from the bus master to the memory A monitoring apparatus is provided that detects the progress of access processing and sends a command signal corresponding to the detection result to one of the bus masters via a signal line other than the bus.

なお、上記構成から成る情報処理システムにおいて、前記バスマスタは、前記メモリに対する情報信号の書込み処理を要求するためのライトトランザクションを送出し終えた後に、その送出完了を示すイベントトランザクションを続けて送出し、前記監視回路は、入力されたトランザクションが前記イベントトランザクションであるか否かに基づいて前記メモリに対するアクセス処理の進捗状況を検知する構成にするとよい。   In the information processing system configured as described above, after the bus master has finished sending the write transaction for requesting the writing of the information signal to the memory, the bus master continuously sends an event transaction indicating the sending completion, The monitoring circuit may be configured to detect a progress status of access processing to the memory based on whether or not the input transaction is the event transaction.

また、上記構成から成る情報処理システムにおいて、前記ライトトランザクション及び前記イベントトランザクションは、いずれも前記メモリのデータ幅について有効なバイトレーンを設定するためのマスク属性を含んで成り、前記バスマスタは、前記イベントトランザクションの生成に際して、全てのバイトレーンをマスクするようにそのマスク属性を設定し、前記監視装置は、前記メモリに対するアクセス処理の進捗検知に際して、入力されたトランザクションが前記イベントトランザクションであるか否かをそのマスク属性に基づいて判断する構成にするとよい。   In the information processing system having the above-described configuration, each of the write transaction and the event transaction includes a mask attribute for setting a valid byte lane for the data width of the memory, and the bus master When generating a transaction, the mask attribute is set so that all byte lanes are masked, and the monitoring device determines whether or not the input transaction is the event transaction when detecting the progress of the access process to the memory. It is preferable to make a determination based on the mask attribute.

また、上記構成から成る情報処理システムにおいて、前記ライトトランザクションと前記イベントトランザクションは、いずれも前記マスク属性以外の属性情報を含んで成り、前記バスマスタは、前記イベントトランザクションの生成に際して、前記監視装置に対する任意の指示をその属性情報に書き込み、前記監視装置は、入力されたイベントトランザクションの属性情報に書き込まれた指示に基づいて前記バスマスタのいずれかに前記命令信号を送出する構成にするとよい。   In the information processing system having the above-described configuration, each of the write transaction and the event transaction includes attribute information other than the mask attribute, and the bus master generates an arbitrary response to the monitoring device when generating the event transaction. The monitoring device may be configured to send the command signal to one of the bus masters based on the instruction written in the attribute information of the input event transaction.

また、上記構成から成る情報処理システムにおいて、前記バスマスタは、前記イベントトランザクションの生成に際して、自身のIDとそのトランザクション完了通知を要求するコマンドをセットにした値を前記属性情報に書き込むとともに、前記監視装置から前記トランザクション完了通知を受け取るまで他のバスマスタに対する割込み信号の生成を待機し、前記監視装置は、入力されたイベントトランザクションの属性情報に書き込まれたID及びコマンドに基づいて、前記トランザクション完了通知を前記バスマスタに送出する構成にするとよい。   In the information processing system configured as described above, the bus master writes, in the attribute information, a value in which a command for requesting notification of completion of its own ID and its transaction is written to the attribute information when generating the event transaction. The monitoring device waits for generation of an interrupt signal for another bus master until receiving the transaction completion notification from the controller, and the monitoring device sends the transaction completion notification based on the ID and command written in the input event transaction attribute information. It may be configured to send to the bus master.

また、上記構成から成る情報処理システムにおいて、前記バスマスタは、前記イベントトランザクションの生成に際して、他のバスマスタのIDとその起動信号を要求するコマンドをセットにした値を前記属性情報に書き込み、前記監視装置は、入力されたイベントトランザクションの属性情報に書き込まれたID及びコマンドに基づいて、前記起動信号を前記他のバスマスタに送出する構成にするとよい。   In the information processing system configured as described above, the bus master writes, in the attribute information, a value in which a command requesting another bus master's ID and its activation signal is set when generating the event transaction, May be configured to send the activation signal to the other bus master based on the ID and command written in the attribute information of the input event transaction.

上記したように、本発明に係る情報処理システムであれば、既存バスの構成変更を要することなく、高速かつ安定にメモリアクセスを行うことが可能となる。   As described above, with the information processing system according to the present invention, it is possible to perform memory access at high speed and stably without requiring a configuration change of an existing bus.

図1は、本発明に係る情報処理システムの一実施形態を示すブロック図である。本図に示すように、本実施形態の情報処理システム1(SoC[System On a Chip]やASIC[Application Specific Integrated Circuit]など)は、信号の伝達経路である内部バスA、B(内部バスAは高速バス、内部バスBは低速バス)と、該内部バスA、Bを介して信号の授受を行う複数のバスマスタ(内部バスAに接続されたCPU10及びバスマスタ11a、11bと、内部バスBに接続されたバスマスタ11c、11d)と、情報信号を格納するためのメモリ12(DRAM[Dynamic Random Access Memory]、SDRAM[Synchronous DRAM]、SRAM[Static RAM]など)と、CPU10及びバスマスタ11a〜11dから内部バスA、B経由で入力される処理要求に応じてメモリ12に対する情報信号の読み書きを制御するメモリコントローラ13と、内部バスA、Bを互いに接続するブリッジ14と、メモリコントローラ13のインターフェイスを参照してメモリ12に対するアクセス処理の進捗状況を検知し、その検知結果に応じた命令信号を信号線15a〜15d経由でバスマスタ11a〜11dに送出する監視装置15と、を有して成る。   FIG. 1 is a block diagram showing an embodiment of an information processing system according to the present invention. As shown in the figure, the information processing system 1 (SoC [System On a Chip], ASIC [Application Specific Integrated Circuit], etc.) of the present embodiment has internal buses A and B (internal bus A) that are signal transmission paths. Is a high-speed bus, the internal bus B is a low-speed bus), and a plurality of bus masters (CPU 10 and bus masters 11a and 11b connected to the internal bus A and the internal bus B) that send and receive signals through the internal buses A and B. From the connected bus masters 11c and 11d), the memory 12 for storing information signals (DRAM [Dynamic Random Access Memory], SDRAM [Synchronous DRAM], SRAM [Static RAM], etc.), CPU 10 and bus masters 11a to 11d A memory controller 13 that controls reading and writing of information signals to and from the memory 12 in response to processing requests input via the internal buses A and B; The progress of access processing for the memory 12 is detected with reference to the bridge 14 that connects the buses A and B and the interface of the memory controller 13, and command signals corresponding to the detection result are sent via the signal lines 15a to 15d to the bus master. And a monitoring device 15 for sending to 11a to 11d.

上記構成から成る情報処理システム1において、CPU10は、複数あるバスマスタの1つである。   In the information processing system 1 configured as described above, the CPU 10 is one of a plurality of bus masters.

一方、CPU10以外のバスマスタ11a〜11dは、図2に示すように、メモリ12に対する情報信号の書込み処理を要求するためのライトトランザクションを生成するライトトランザクション生成回路111と、該ライトトランザクションの送出完了を示すイベントトランザクションを生成するイベントトランザクション生成回路112と、を有して成り、最終のライトトランザクションを送出した後、直ちにCPU10への割込み信号を生成するのではなく、前記イベントトランザクションを生成してメモリコントローラ13(実質的には監視回路15)に送出する構成とされている。なお、図2ではバスマスタ11aの内部構成のみを図示したが、その他のバスマスタ11b〜11dも全く同様の内部構成から成る。   On the other hand, as shown in FIG. 2, the bus masters 11a to 11d other than the CPU 10 generate a write transaction for generating a write transaction for requesting an information signal write process to the memory 12, and the transmission completion of the write transaction. An event transaction generation circuit 112 for generating an event transaction to be generated, and after the final write transaction is sent, an interrupt signal to the CPU 10 is not generated immediately, but the event transaction is generated and the memory controller is generated. 13 (substantially the monitoring circuit 15). In FIG. 2, only the internal configuration of the bus master 11a is shown, but the other bus masters 11b to 11d have the same internal configuration.

上記のイベントトランザクションについて詳細に説明する。バスマスタ11a〜11dで生成されるイベントトランザクションは、ライトトランザクションやリードトランザクションと同じデータ構造を有しており、内部バスA、Bへのアクセスに際して最低限必要となる属性情報を含んで成る。具体的には、図3に示す通り、アクセス先となるメモリ12のアドレス情報を示すアドレス属性や、該アドレスに書き込もうとする情報信号を示すデータ属性、メモリ12のデータ幅について有効なバイトレーンを設定するためのマスク属性、及び当該トランザクションがリード/ライトのいずれを指示するものであるかを示すリード/ライト属性、といった種々の属性情報を含んで成る。   The above event transaction will be described in detail. The event transaction generated by the bus masters 11a to 11d has the same data structure as that of the write transaction and the read transaction, and includes attribute information necessary at the minimum for accessing the internal buses A and B. Specifically, as shown in FIG. 3, an address attribute indicating the address information of the memory 12 to be accessed, a data attribute indicating an information signal to be written to the address, and a byte lane effective for the data width of the memory 12 are set. It includes various attribute information such as a mask attribute for setting and a read / write attribute indicating which of the read / write the transaction is instructed.

ここで、上記のマスク属性とは、メモリ12としてDRAMやSDRAM、SRAM等を用いている本実施形態の情報処理システム1において、情報信号のリード/ライト処理を制限する際に必要となる属性情報であり、デバイスのピン名としてはDQM信号がこれに該当する(詳細については、特許文献3などを参照)。例えば、メモリ12のデータ幅が16ビットであるのに対して、情報処理システム1の要求するアクセス幅の最小単位が8ビット(1バイト)である場合には、該マスク属性を用いて不要なバイトレーンをマスクすることで、誤ったデータがリード/ライトされないようにすることが可能となる。   Here, the mask attribute is attribute information required when restricting read / write processing of an information signal in the information processing system 1 of the present embodiment using DRAM, SDRAM, SRAM, or the like as the memory 12. The DQM signal corresponds to this as the pin name of the device (for details, see Patent Document 3). For example, when the data width of the memory 12 is 16 bits, but the minimum unit of the access width requested by the information processing system 1 is 8 bits (1 byte), it is not necessary to use the mask attribute. Masking byte lanes prevents erroneous data from being read / written.

逆に言えば、バスマスタ11a〜11dで生成されるライトトランザクション及びリードトランザクションのマスク属性では、メモリ12に対する情報信号の読み書きを行うべく、いずれかのバイトレーンが必ず有効とされているはずであり、全てのバイトレーンがマスクされている状態はあり得ないと考えられる。   In other words, in the mask attribute of the write transaction and the read transaction generated by the bus masters 11a to 11d, one of the byte lanes must be valid to read / write the information signal to / from the memory 12, It is unlikely that all byte lanes are masked.

本実施形態の情報処理システム1は、上記の点に着目して為されたものであり、各バスマスタ11a〜11dは、イベントトランザクションの生成に際して、全てのバイトレーンをマスクするようにマスク属性を設定する構成とされている。一方、監視装置15は、メモリアクセス処理の進捗検知に際して、入力されたトランザクションのマスク属性が全てのバイトレーンをマスクするものであると検知した時点で、当該トランザクションをイベントトランザクションであると認識し、該イベントトランザクションを送出したバスマスタのメモリアクセス処理が完了したと判断する構成とされている。   The information processing system 1 according to the present embodiment is made by paying attention to the above points. Each bus master 11a to 11d sets a mask attribute so as to mask all byte lanes when generating an event transaction. It is supposed to be configured. On the other hand, the monitoring device 15 recognizes the transaction as an event transaction when it detects that the mask attribute of the input transaction masks all the byte lanes when detecting the progress of the memory access process. The memory access process of the bus master that has sent the event transaction is determined to have been completed.

このように、既存のマスク属性を流用し、その属性値に応じてイベントトランザクションであるか否かのフラグ立てを行う構成とすることにより、トランザクションの属性情報を不要に増加させることなく、イベントトランザクションを新設することができる。   In this way, by using an existing mask attribute and flagging whether or not it is an event transaction according to the attribute value, the event transaction can be performed without unnecessarily increasing the transaction attribute information. Can be established.

また、上記したイベントトランザクションでは、マスク属性によって有効とされるバイトレーンが存在しないので、該イベントトランザクションによるメモリ12への誤入出力を回避することも可能となる。   In the event transaction described above, since there is no byte lane that is enabled by the mask attribute, it is possible to avoid erroneous input / output to the memory 12 by the event transaction.

さらに、上記したイベントトランザクションであれば、そのデータ属性を任意の値とすることができるので、該データ属性を流用して監視装置15に対する任意のコマンドを設定し、イベントトランザクション検出後における監視装置15の挙動を制御することも可能となる。この点については、後ほど具体例を挙げながら詳細に説明する。   Further, since the data attribute can be set to an arbitrary value in the event transaction described above, an arbitrary command for the monitoring device 15 is set by diverting the data attribute, and the monitoring device 15 after the event transaction is detected. It is also possible to control the behavior. This will be described in detail later with a specific example.

なお、本実施形態の監視装置15は、前述した通り、メモリコントローラ13のインターフェイスを参照するだけの単純な構成であるため、極めて容易に既存の情報処理システムに取り付けることが可能である。   Note that, as described above, the monitoring device 15 of the present embodiment has a simple configuration that simply refers to the interface of the memory controller 13, and therefore can be easily attached to an existing information processing system.

以下では、上記構成から成る情報処理システム1のメモリアクセス動作について、具体例を挙げながら詳細に説明する。   Hereinafter, the memory access operation of the information processing system 1 configured as described above will be described in detail with a specific example.

まず、第1の動作例として、バスマスタ11dからメモリ12に対して複数のライトトランザクションを生成し、当該ライト処理の完了後にCPU10への割込み信号を生成する場合を考える。   First, as a first operation example, consider a case where a plurality of write transactions are generated from the bus master 11d to the memory 12, and an interrupt signal to the CPU 10 is generated after the write processing is completed.

この場合、バスマスタ11dは、最終のライトトランザクションを送出後、直ちにCPU10への割込み信号を生成するのではなく、前述のイベントトランザクションを生成してメモリコントローラ13に送出する。その際、バスマスタ11dは、自身のIDとそのトランザクション完了通知を要求するコマンドをセットにした値をイベントトランザクションのデータ属性に書き込む。   In this case, the bus master 11d does not generate an interrupt signal to the CPU 10 immediately after sending the final write transaction, but generates the event transaction and sends it to the memory controller 13. At this time, the bus master 11d writes a value obtained by setting a command requesting its own ID and its transaction completion notification to the data attribute of the event transaction.

一方、メモリコントローラ13のインターフェイスを参照する監視装置15は、入力されたトランザクションのマスク属性が全てのバイトレーンをマスクするものであると検知した時点で、当該トランザクションをイベントトランザクションであると認識し、バスマスタ11dのメモリアクセス処理が完了したと判断する。そして、監視装置15は、該イベントトランザクションのデータ属性に書き込まれたID及びコマンドに応じて、ライトトランザクション完了通知(言い換えれば、CPU10への割込み許可通知)を信号線15d経由でバスマスタ11dに送出する。   On the other hand, when the monitoring device 15 that references the interface of the memory controller 13 detects that the mask attribute of the input transaction masks all the byte lanes, the monitoring device 15 recognizes the transaction as an event transaction, It is determined that the memory access process of the bus master 11d has been completed. Then, the monitoring device 15 sends a write transaction completion notification (in other words, an interrupt permission notification to the CPU 10) to the bus master 11d via the signal line 15d in accordance with the ID and command written in the data attribute of the event transaction. .

上記通知を受け取ったバスマスタ11dは、メモリ12へのライトトランザクションが確実に終了したことを認識して、CPU10への割込み信号を生成する。   Receiving the notification, the bus master 11d recognizes that the write transaction to the memory 12 has been completed, and generates an interrupt signal to the CPU 10.

このように、本実施形態の情報処理システム1であれば、バスマスタ11dが最終のライトトランザクションを送出してからCPU10への割込み信号を生成するまでの待機時間を必要最小限とすることができるので、バスの使用率が低い場合など、短時間でライト動作が完了されたときでも、バスを迅速に解放することが可能となる。従って、既存バスの構成変更を要することなく、高速かつ安定にメモリアクセスを行うことが可能となる。   As described above, in the information processing system 1 of the present embodiment, the waiting time from when the bus master 11d sends the final write transaction to when the interrupt signal to the CPU 10 is generated can be minimized. Even when the write operation is completed in a short time, such as when the bus usage rate is low, the bus can be quickly released. Therefore, memory access can be performed at high speed and stably without requiring a configuration change of the existing bus.

次に、第2の動作例として、バスマスタ11dによるメモリ12へのライト処理完了後に、バスマスタ11bを起動して所定の処理を実現する場合を考える。   Next, as a second operation example, consider a case where the bus master 11b is activated and a predetermined process is realized after the write processing to the memory 12 by the bus master 11d is completed.

この場合も、バスマスタ11dは、最終のライトトランザクションを送出後、CPU10への割込み信号を生成するのではなく、前述のイベントトランザクションを生成してメモリコントローラ13に送出する。その際、バスマスタ11dは、次に起動すべきバスマスタ11bのIDとその起動信号を要求するコマンドをセットにした値をイベントトランザクションのデータ属性に書き込む。   Also in this case, the bus master 11d does not generate an interrupt signal to the CPU 10 after sending the final write transaction, but generates the event transaction and sends it to the memory controller 13. At this time, the bus master 11d writes a value obtained by setting the ID of the bus master 11b to be activated next and a command requesting the activation signal into the data attribute of the event transaction.

一方、メモリコントローラ13のインターフェイスを参照する監視装置15は、入力されたトランザクションのマスク属性が全てのバイトレーンをマスクするものであると検知した時点で、当該トランザクションをイベントトランザクションであると認識し、バスマスタ11dのメモリアクセス処理が完了したと判断する。そして、監視装置15は、該イベントトランザクションのデータ属性に書き込まれたID及びコマンドに応じて、起動信号を信号線15b経由でバスマスタ11bに送出する。   On the other hand, when the monitoring device 15 that references the interface of the memory controller 13 detects that the mask attribute of the input transaction masks all the byte lanes, the monitoring device 15 recognizes the transaction as an event transaction, It is determined that the memory access process of the bus master 11d has been completed. Then, the monitoring device 15 sends an activation signal to the bus master 11b via the signal line 15b in accordance with the ID and command written in the data attribute of the event transaction.

上記の起動信号を受け取ったバスマスタ11bは、CPU10を介在することなく起動され、所定の処理を開始する。   The bus master 11b that has received the activation signal is activated without intervention of the CPU 10 and starts predetermined processing.

このように、本実施形態の情報処理システム1であれば、CPUの介在に起因して生じていた時間的なロスを低減することができるので、メモリアクセスの速度向上を図ることが可能となる。   As described above, the information processing system 1 according to the present embodiment can reduce the time loss caused by the CPU, thereby improving the memory access speed. .

なお、上記の実施形態では、メモリコントローラ13のインターフェイスを参照すべく監視装置15をメモリコントローラ13の直前段に設けた構成を例に挙げて説明を行ったが、本発明の構成はこれに限定されるものではなく、バスマスタ11a〜11dからのトランザクションを監視可能な位置であって、該監視装置15に到達したトランザクションがその他のトランザクションに先んじてメモリコントローラ13に到達し得る位置であれば、いずれに設けても構わない。   In the above embodiment, the configuration in which the monitoring device 15 is provided immediately before the memory controller 13 to refer to the interface of the memory controller 13 has been described as an example. However, the configuration of the present invention is not limited thereto. It is not a position that can monitor transactions from the bus masters 11a to 11d, and any transaction that reaches the monitoring device 15 can reach the memory controller 13 prior to other transactions. May be provided.

また、上記の実施形態では、既存のマスク属性を流用し、その属性値に応じてイベントトランザクションであるか否かのフラグ立てを行う構成を例に挙げて説明を行ったが、本発明の構成はこれに限定されるものではなく、全てのバイトレーンをマスクするコマンドがバスにない場合には、該バスに対するアクセス属性の状態数を1つ増やして、別途1ビット分のフラグデータを追加する構成としても構わない。なお、本構成を採用する場合には、イベントトランザクションによるメモリへの誤入出力を回避すべく、メモリコントローラにイベントトランザクション破棄機能を設けておく必要がある。   Further, in the above embodiment, the description has been given by taking as an example a configuration in which an existing mask attribute is diverted and flagging whether or not it is an event transaction according to the attribute value, but the configuration of the present invention Is not limited to this, and when there is no command for masking all the byte lanes on the bus, the number of states of the access attribute for the bus is increased by 1 and flag data for 1 bit is added separately. It does not matter as a configuration. When this configuration is adopted, it is necessary to provide an event transaction discard function in the memory controller in order to avoid erroneous input / output to the memory due to event transactions.

また、上記の実施形態では、イベントトランザクション生成機能をバスマスタ11a〜11dに持たせた構成を例に挙げて説明を行ったが、本発明の構成はこれに限定されるものではなく、当該機能を内部バスA、Bに持たせた構成としても構わない。   In the above embodiment, the event transaction generation function is given as an example to the bus masters 11a to 11d. However, the configuration of the present invention is not limited to this, and the function is not limited to this. The internal buses A and B may have a configuration.

また、上記の実施形態では、バスやバスマスタ等の各構成要素を内蔵して成るSoCやASICに本発明を適用した場合を例に挙げて説明を行ったが、本発明の適用対象はこれに限定されるものではなく、各構成要素の内蔵/外付けを問わず、情報処理システム全般に広く適用することが可能である。   Further, in the above embodiment, the case where the present invention is applied to an SoC or ASIC including each component such as a bus or a bus master has been described as an example. The present invention is not limited, and can be widely applied to the entire information processing system regardless of whether each component is built in or externally attached.

本発明は、バス経由でメモリアクセスを行う情報処理システムの高速性及び安定性向上に関して有用な技術である。   The present invention is a useful technique for improving the high speed and stability of an information processing system that performs memory access via a bus.

は、本発明に係る情報処理システムの一実施形態を示すブロック図である。These are block diagrams which show one Embodiment of the information processing system which concerns on this invention. は、バスマスタ11aの内部構成例を示すブロック図である。These are block diagrams which show the internal structural example of the bus master 11a. は、バスマスタ11a〜11dで生成されるトランザクション(ライト/リード/イベント)に含まれる属性情報の一例を示す図である。These are figures which show an example of the attribute information contained in the transaction (write / read / event) produced | generated by the bus masters 11a-11d.

符号の説明Explanation of symbols

1 情報処理システム
10 バスマスタ(CPU)
11a〜11d バスマスタ(CPU以外)
111 ライトトランザクション生成回路
112 イベントトランザクション生成回路
12 メモリ(DRAM、SDRAM、SRAMなど)
13 メモリコントローラ
14 ブリッジ
15 監視装置
15a〜15d 信号線
A 高速バス
B 低速バス
1 Information processing system 10 Bus master (CPU)
11a to 11d Bus master (other than CPU)
111 Write transaction generation circuit 112 Event transaction generation circuit 12 Memory (DRAM, SDRAM, SRAM, etc.)
13 Memory Controller 14 Bridge 15 Monitoring Device 15a to 15d Signal Line A High Speed Bus B Low Speed Bus

Claims (6)

信号の伝達経路であるバスと、該バスを介して信号の授受を行う複数のバスマスタと、情報信号を格納するためのメモリと、前記バスマスタから前記バス経由で入力される処理要求に応じて前記メモリに対する前記情報信号の読み書きを制御するメモリコントローラと、を有する情報処理システムにおいて、
前記バスマスタからのトランザクションを監視して前記メモリに対するアクセス処理の進捗状況を検知し、その検知結果に応じた命令信号を前記バス以外の信号線経由で前記バスマスタのいずれかに送出する監視装置を備えたことを特徴とする情報処理システム。
A bus serving as a signal transmission path, a plurality of bus masters for transmitting and receiving signals through the bus, a memory for storing information signals, and the processing request input from the bus master via the bus In an information processing system having a memory controller that controls reading and writing of the information signal to and from the memory,
A monitoring device that monitors a transaction from the bus master to detect a progress status of access processing to the memory and sends a command signal corresponding to the detection result to one of the bus masters via a signal line other than the bus; An information processing system characterized by that.
前記バスマスタは、前記メモリに対する情報信号の書込み処理を要求するためのライトトランザクションを送出し終えた後に、その送出完了を示すイベントトランザクションを続けて送出し、前記監視回路は、入力されたトランザクションが前記イベントトランザクションであるか否かに基づいて前記メモリに対するアクセス処理の進捗状況を検知することを特徴とする請求項1に記載の情報処理システム。   The bus master, after finishing sending the write transaction for requesting the writing process of the information signal to the memory, continuously sends the event transaction indicating the sending completion, and the monitoring circuit The information processing system according to claim 1, wherein the progress of access processing for the memory is detected based on whether or not the transaction is an event transaction. 前記ライトトランザクション及び前記イベントトランザクションは、いずれも前記メモリのデータ幅について有効なバイトレーンを設定するためのマスク属性を含んで成り、前記バスマスタは、前記イベントトランザクションの生成に際して、全てのバイトレーンをマスクするようにそのマスク属性を設定し、前記監視装置は、前記メモリに対するアクセス処理の進捗検知に際して、入力されたトランザクションが前記イベントトランザクションであるか否かをそのマスク属性に基づいて判断することを特徴とする請求項2に記載の情報処理システム。   Each of the write transaction and the event transaction includes a mask attribute for setting a valid byte lane for the data width of the memory, and the bus master masks all the byte lanes when generating the event transaction. The monitoring device sets the mask attribute so as to determine whether or not the input transaction is the event transaction based on the mask attribute when detecting the progress of the access process to the memory. The information processing system according to claim 2. 前記ライトトランザクション及び前記イベントトランザクションは、いずれも前記マスク属性以外の属性情報を含んで成り、前記バスマスタは、前記イベントトランザクションの生成に際して、前記監視装置に対する任意の指示をその属性情報に書き込み、前記監視装置は、入力されたイベントトランザクションの属性情報に書き込まれた指示に基づいて前記バスマスタのいずれかに前記命令信号を送出することを特徴とする請求項3に記載の情報処理システム。   Each of the write transaction and the event transaction includes attribute information other than the mask attribute, and the bus master writes an arbitrary instruction to the monitoring device in the attribute information when the event transaction is generated, and the monitoring 4. The information processing system according to claim 3, wherein the apparatus transmits the command signal to one of the bus masters based on an instruction written in the attribute information of the input event transaction. 前記バスマスタは、前記イベントトランザクションの生成に際して、自身のIDとそのトランザクション完了通知を要求するコマンドをセットにした値を前記属性情報に書き込むとともに、前記監視装置から前記トランザクション完了通知を受け取るまで他のバスマスタに対する割込み信号の生成を待機し、前記監視装置は、入力されたイベントトランザクションの属性情報に書き込まれたID及びコマンドに基づいて、前記トランザクション完了通知を前記バスマスタに送出することを特徴とする請求項4に記載の情報処理システム。   When generating the event transaction, the bus master writes its own ID and a set value of a command requesting the transaction completion notification to the attribute information, and other bus masters until receiving the transaction completion notification from the monitoring device. The monitoring apparatus sends a notification of completion of the transaction to the bus master based on an ID and a command written in the attribute information of the input event transaction. 4. The information processing system according to 4. 前記バスマスタは、前記イベントトランザクションの生成に際して、他のバスマスタのIDとその起動信号を要求するコマンドをセットにした値を前記属性情報に書き込み、前記監視装置は、入力されたイベントトランザクションの属性情報に書き込まれたID及びコマンドに基づいて、前記起動信号を前記他のバスマスタに送出することを特徴とする請求項4に記載の情報処理システム。   When the event master generates the event transaction, the bus master writes in the attribute information a set value of another bus master ID and a command requesting its activation signal, and the monitoring device adds the attribute information of the input event transaction to the attribute information. 5. The information processing system according to claim 4, wherein the activation signal is sent to the other bus master based on the written ID and command.
JP2004037848A 2004-02-16 2004-02-16 Information processing system Pending JP2005228188A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004037848A JP2005228188A (en) 2004-02-16 2004-02-16 Information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004037848A JP2005228188A (en) 2004-02-16 2004-02-16 Information processing system

Publications (1)

Publication Number Publication Date
JP2005228188A true JP2005228188A (en) 2005-08-25

Family

ID=35002842

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004037848A Pending JP2005228188A (en) 2004-02-16 2004-02-16 Information processing system

Country Status (1)

Country Link
JP (1) JP2005228188A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008021040A (en) * 2006-07-11 2008-01-31 Canon Inc Bus master circuit, bus control method and computer program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008021040A (en) * 2006-07-11 2008-01-31 Canon Inc Bus master circuit, bus control method and computer program

Similar Documents

Publication Publication Date Title
US20080155136A1 (en) Memory controller, computer, and data read method
JP2008535075A (en) Method and apparatus for reducing system inactivity during data float delay time and external memory write
JP2007058716A (en) Data transfer bus system
JP2006113689A (en) Bus bridge device and data transfer method
JP2591502B2 (en) Information processing system and its bus arbitration system
US20200050571A1 (en) System, Apparatus And Method For Peer-To-Peer Communication On A Multi-Drop Interconnect
US8327044B2 (en) Transaction ID filtering for buffered programmed input/output (PIO) write acknowledgements
KR20050075642A (en) Method for using bus efficiently
JP2007310735A (en) Direct memory access controller
JP2005228188A (en) Information processing system
JPH03122745A (en) Dma control system
JP2011085989A (en) Memory arbitration circuit and memory arbitration method
JP2006285872A (en) Multi-cpu system
JP2009271610A (en) Buffer control circuit, buffer circuit and data processor
JP2010140440A (en) Bus arbitration device
JP3830438B2 (en) Memory access arbiter, memory control device
JP2006092077A (en) Bus system
JP2010224855A (en) Memory control system, memory control method, memory control means, and control method in memory control means
JP5648472B2 (en) Semiconductor device and control method
JP2000082019A (en) Data transfer controller
JP2007316880A (en) Access right arbitration system for dual port memory
JP2005301714A (en) Multi-cpu system, its data transfer method, and its program
JP2679440B2 (en) Information processing device
JP2009277004A (en) Data transfer device and data transfer system
US20070260803A1 (en) Data processing system and method