JP2008293212A - Transaction management method for information processor, and information processor - Google Patents
Transaction management method for information processor, and information processor Download PDFInfo
- Publication number
- JP2008293212A JP2008293212A JP2007137052A JP2007137052A JP2008293212A JP 2008293212 A JP2008293212 A JP 2008293212A JP 2007137052 A JP2007137052 A JP 2007137052A JP 2007137052 A JP2007137052 A JP 2007137052A JP 2008293212 A JP2008293212 A JP 2008293212A
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- control unit
- information processing
- bus
- processing apparatus
- 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
Abstract
Description
本発明は、情報処理装置のトランザクション管理方法及び情報処理装置に係り、特に、装置内部のハードウェアの動作解析、デバッグ等を行うことを可能にした情報処理装置のトランザクション管理方法及び情報処理装置に関する。 The present invention relates to a transaction management method for an information processing apparatus and an information processing apparatus, and more particularly to a transaction management method for an information processing apparatus and an information processing apparatus capable of performing hardware operation analysis, debugging, and the like inside the apparatus. .
従来、情報処理装置の動作中における装置内部のハードウェアの動作解析、デバッグ等を行う処理は、ICE(インサーキットエミュレータ)を用い、ICEに開始ポイントを検出させた後に行うのが一般的であった。ICEを用いて、ハードウェアの動作解析、デバッグ等を行う場合、ユーザは、ICEをバスに接続し、CPUが発行するトランザクション(メモリやI/Oインターフェイスに接続したI/Oデバイスに対する読み出しや書き込み)の監視を行わせる。その際、ユーザは、トランザクションの内容(アドレス、データ、コマンド等)に一定の条件を決め、その条件をICEのレジスタに設定し、ICEに、設定した条件と一致するトランザクションをバス上に検出したときに割り込みを発生させる。前述の装置内部のハードウェアの動作解析、デバッグ等を行う処理は、この割り込みを開始ポイントとすることにより、情報処理装置の動作解析あるいはデバッグを行うものである。 Conventionally, processing for performing hardware operation analysis, debugging, and the like inside the information processing apparatus is generally performed after the ICE (in-circuit emulator) is used and the ICE detects the start point. It was. When performing hardware operation analysis, debugging, etc. using the ICE, the user connects the ICE to the bus and issues a transaction issued by the CPU (reading and writing to an I / O device connected to a memory or an I / O interface) ). At that time, the user decides a certain condition for the transaction contents (address, data, command, etc.), sets the condition in the ICE register, and detects a transaction on the bus that matches the condition set in ICE. Sometimes generate an interrupt. The above-described processing for performing hardware operation analysis, debugging, and the like within the apparatus performs operation analysis or debugging of the information processing apparatus by using this interrupt as a starting point.
しかし、前述の方法は、ICEが接続されたバス上に流れるトランザクションだけが監視対象となるため、複数のバスを備える装置、例えば、CPU、メモリ、I/Oデバイスがそれぞれ別のバスに接続され、バスブリッジによりバス同士が接続されているような情報処理装置の1つのローカルバスにICEを接続した場合、ICEが接続されたバス上に流れるトランザクションしか監視することができず、例えば、I/Oデバイスが持つDMAコントローラからメモリに対するトランザクションを監視対象として検出し、割り込み処理を行ってデバッグ等を行うことができないという問題点を有している。 However, in the above-described method, only transactions that flow on the bus to which the ICE is connected are monitored, and thus a device having a plurality of buses, for example, a CPU, a memory, and an I / O device are connected to different buses. When an ICE is connected to one local bus of an information processing apparatus in which buses are connected by a bus bridge, only transactions flowing on the bus to which the ICE is connected can be monitored. There is a problem that it is impossible to detect a transaction for a memory from a DMA controller of the O device as a monitoring target, perform an interrupt process, and perform debugging.
前述のような問題を解決するためのバス監視装置に関する従来技術として、例えば、特許文献1等に記載された技術が知られている。この従来技術は、バスブリッジにトランザクション検出装置を備え、このトランザクション検出装置を利用して、全てのトランザクションを監視対象とすることができるようにしたものである。
しかし、前述した特許文献1に記載の従来技術は、バスを流れていくトランザクションを監視し、条件を満たすトランザクションを検出した後に割り込みを行うので、情報処理装置の動作解析、デバッグの実行が対象のトランザクションの後に限られることになり、あるトランザクションの処理前にメモリあるいはI/Oデバイスのレジスタの値を書き変えるようなトランザクションに先行する動作解析、デバッグを行うことができないという問題点を有している。 However, since the conventional technique described in Patent Document 1 described above monitors transactions flowing through the bus and performs an interrupt after detecting a transaction that satisfies the condition, it is intended for analysis of information processing apparatus and execution of debugging. It is limited to after a transaction, and there is a problem that it is not possible to analyze and debug operations preceding a transaction that rewrites the value of a memory or I / O device register before processing a transaction. Yes.
本発明の目的は、前述した従来技術の問題点を解決し、動作解析、デバッグ等の処理に対する開始ポイントをより柔軟に設定して、メモリあるいはI/Oデバイスのレジスタに対してリードあるいはライト等の割り込み処理を実行することにより、装置内部のハードウェアの動作解析、デバッグ等を行うことができるようにした情報処理装置のトランザクション管理方法及び情報処理装置を提供することにある。 An object of the present invention is to solve the above-mentioned problems of the prior art, set a starting point for processing such as operation analysis and debugging more flexibly, and read or write to a register of a memory or an I / O device. It is an object of the present invention to provide a transaction management method for an information processing apparatus and an information processing apparatus that can perform hardware operation analysis, debugging, and the like inside the apparatus by executing the interrupt processing.
本発明によれば、前記目的は、複数のバスと、該複数のバスの全てに接続されたバスコントローラとを備える情報処理装置のトランザクション管理方法において、前記バスコントローラは、処理されるトランザクションの監視を行い、予め設定した所定の条件を満たすトランザクションを検出したとき、検出したトランザクションの処理を行わず、そのトランザクションの発行元にトランザクションの再発行を繰り返させることによりトランザクションの処理を保留状態とし、その後、前記保留状態とされたトランザクションとは別のトランザクションの処理を実行し、別のトランザクションの処理の終了後、前記保留状態とされていたトランザクションの保留状態を解除し、解除したトランザクションの処理を行うようにトランザクションの管理を行うことにより達成される。 According to the present invention, the object is to provide a transaction management method for an information processing apparatus including a plurality of buses and a bus controller connected to all of the plurality of buses, wherein the bus controller monitors a transaction to be processed. When a transaction that satisfies a predetermined condition set in advance is detected, the processing of the detected transaction is not performed and the transaction issuance is repeated by causing the issuer of the transaction to repeat the transaction. , Execute processing of a transaction different from the transaction put in the hold state, and after the processing of another transaction ends, release the hold state of the transaction put in the hold state and process the released transaction Transaction It is achieved by managing.
また、前記目的は、複数のバスと、該複数のバスの全てに接続されたバスコントローラとを備える情報処理装置において、前記バスコントローラは、前記複数のバス相互間でデータの送受信を行うトランザクション管理部と、トランザクションの内容に対して予め設定した所定の条件を記録するレジスタと、前記予め設定した所定の条件を満たすトランザクションを、トランザクション管理部に検出させるトランザクション監視部と、該トランザクション監視部から前記予め設定した所定の条件を満たすトランザクションを検出したことが通知されたとき、この通知をトリガとして前記トランザクションとは別のトランザクションの実行を制御するトランザクション制御部と、該トランザクション制御部が発行する別のトランザクションの内容を設定するレジスタ群とを備えて構成され、前記トランザクション管理部は、予め設定した所定の条件を満たすトランザクションを検出したとき、検出したトランザクションの処理を行わず、そのトランザクションの発行元にトランザクションの再発行を繰り返させることによりトランザクションの処理を保留状態とし、前記トランザクション監視部を介して前記トランザクション制御部に所定の条件を満たすトランザクションを検出した通知を行うことにより達成される。 Further, the object is to provide an information processing apparatus including a plurality of buses and a bus controller connected to all of the plurality of buses, wherein the bus controller transmits and receives data between the plurality of buses. Unit, a register for recording a predetermined condition for transaction contents, a transaction monitoring unit for causing a transaction management unit to detect a transaction that satisfies the predetermined condition, and from the transaction monitoring unit When notified that a transaction satisfying a predetermined condition set in advance has been detected, a transaction control unit that controls the execution of a transaction different from the transaction triggered by this notification, and another transaction issued by the transaction control unit Within a transaction When the transaction management unit detects a transaction that satisfies a predetermined condition set in advance, the transaction management unit does not process the detected transaction, and reissues the transaction to the issuer of the transaction. This is achieved by putting the transaction processing in a pending state by repeating the issuance, and notifying the transaction control unit via the transaction monitoring unit that a transaction satisfying a predetermined condition has been detected.
本発明によれば、複数のバスを持つ情報処理装置において、各バスに発行されるトランザクションが、予め設定した所定の条件を満たす場合に、そのトランザクションの処理を一旦停止させて割り込みを発生させることができ、この割り込みの発生をトリガとして、情報処理装置の動作解析、デバック等の処理のためのトランザクションを実行させることができ、柔軟なタイミングで情報処理装置の動作解析、デバック等を行うことができる。 According to the present invention, in an information processing apparatus having a plurality of buses, when a transaction issued to each bus satisfies a predetermined condition set in advance, the processing of the transaction is temporarily stopped to generate an interrupt. It is possible to execute a transaction for processing such as information processing and debugging of an information processing device with the occurrence of this interrupt as a trigger, and to perform operation analysis and debugging of the information processing device at a flexible timing. it can.
以下、本発明による情報処理装置のトランザクション管理方法及び情報処理装置の実施形態を図面により詳細に説明する。 Embodiments of an information processing apparatus transaction management method and information processing apparatus according to the present invention will be described below in detail with reference to the drawings.
図1は本発明の一実施形態による情報処理装置の構成を示すブロック図である。本発明の実施形態による情報処理装置200は、図1に示すように、プロセッサバス230に接続された複数のCPU240、241と、メモリバス231に接続された複数のメモリ250、251と、I/Oバス232にI/Oインターフェイス260、261を介して接続された複数のI/Oデバイス290、291と、プロセッサバス230とメモリバス231とI/Oバス233とを制御するバスコントローラ210と、ボードマネージメントコントローラ(BMC)270とを備えて構成される。
FIG. 1 is a block diagram showing a configuration of an information processing apparatus according to an embodiment of the present invention. As shown in FIG. 1, the
バスコントローラ210は、トランザクション監視部(Tx監視部)211と、トランザクション制御部(Tx制御部)212と、トリガ レジスタ(Trig Reg)213と、実行フラグレジスタ(Flag Reg)214と、アドレスレジスタ(Addr Reg)215と、データレジスタ(Data Reg)216と、コマンドレジスタ(CMD Reg)217と、入出力制御部218と、トランザクション管理部(Tx管理部)100とを備えて構成されている。
The
前述において、Tx管理部100は、情報処理装置200内で処理される全てのトランザクションの管理を行うものであり、Tx制御部212は、本発明の実施形態において、通常のトランザクションの処理の途中で、Tx監視部211からの割り込み信号を受けて、Addr Reg215と、Data Reg216と、CMD Reg217とに記録された内容の別のトランザクション、例えば、情報処理装置の動作解析、デバック等を行うトランザクションを発行し、制御を行うものである。また、BMC270は、ユーザ端末280とバスコントローラ210との間の入出力制御を行っており、I/Oデバイス290、291は、それぞれ、レジスタ295、296及びDMAコントローラ298、299を備えて構成されている。メモリ250、251は、それぞれメモリコントローラ255、256を備え、メモリコントローラ255は、メモリコントローラの動作モードを設定するレジスタ258を備え、同様に、メモリコントローラ256は、メモリコントローラの動作モードを設定するレジスタ259を備えて構成されている。
In the above description, the
図2は図1に示すTx管理部100の構成を示すブロック図である。Tx管理部100は、図2に示すように、各バス230〜232及びTx制御部212に接続されたコマンド制御部(CMD制御部)151〜154、アドレス制御部(Addr制御部)161〜164、データ制御部(Data制御部)171〜174と、アドレステーブル(Addr Table)180と、CMD制御部151〜154相互間の接続を制御するコマンドパススイッチ(CMD Path SW)185と、Addr制御部161〜164相互間の接続を制御するアドレスパススイッチ(Addr Path SW)186と、Data制御部171〜174相互間の接続を制御するデータパススイッチ(Data Path SW)187とを備えて構成される。
FIG. 2 is a block diagram showing a configuration of the
図3A、図3Bは前述した本発明の実施形態による情報処理装置が実施する通常のトランザクション処理の動作を説明するフローチャートであり、次に、これについて説明する。ここで説明する処理の例は、情報処理装置200のCPU240、241またはDMAコントローラ295、296がバスマスタとなって、トランザクションを発行する場合の例であり、動作の一例として、CPU240がメモリ250に対してメモリリードを行うトランザクション処理を行うものとして、図1、図2をも参照しながら説明する。
3A and 3B are flowcharts for explaining the operation of normal transaction processing performed by the information processing apparatus according to the embodiment of the present invention described above. Next, this will be described. An example of the processing described here is an example in which the
(1)まず、アービトレーション・フェーズとしての処理を開始し、CPU240は、プロセッサバス230を使用するため、バスリクエストを発行し、バス制御権を取得することができるまでバスリクエストの発行を続ける(ステップ301、302)。
(1) First, processing as an arbitration phase is started, and the
(2)バス制御権を取得することができた後、次に、アドレス・フェーズとしての処理を開始し、CPU240は、トランザクションとしてのコマンド(メモリリード)を制御バス111に発行し、アドレスをアドレスバス(Addr Bus)121に発行する(ステップ303)。
(2) After acquiring the bus control right, next, processing as an address phase is started, and the
(3)Addr制御部161は、Addr Table180に記録されている先行のトランザクションが使用しているアドレスと、ステップ303の処理でCPU240から発行されたトランザクションのアドレスとを比較し、トランザクションのアドレスが使用中(アドレスコンフリクト)であるか否かを判定し、使用中で合った場合、CMD制御部151に報告する。CMD制御部151は、制御バス111にトランザクション発行のリトライ要求を出す。これにより、処理がステップ303に戻って、CPU240は、トランザクションのリトライを行う(ステップ304、303)。
(3) The
(4)ステップ304の判定で、トランザクションのアドレスが使用中でなかった場合、あるいは、先行のトランザクションが終了してAddr Table180に記録されたアドレスが消去された場合、Addr制御部161は、アドレスコンフリクトがないことを確認して、アクセスするアドレスをAddr Table180に記録し、CMD制御部151は、制御バス111にコマンドの受信完了を示す信号を出力する(ステップ305)。
(4) If it is determined in
(5)Addr制御部161は、アドレスの値から接続先(メモリバス231)を判断し、CMD Path SW185がプロセッサバス230側のCMD制御部151とメモリバス231側のCMD制御部152とのパスを接続し、Addr Path SW186がプロセッサバス230側のAddr制御部161とメモリバス231側のAddr制御部162とのパスを接続する(ステップ306)。
(5) The
(6)プロセッサバス230側のCMD制御部151は、メモリバス231側のCMD制御部152にコマンドを送信し、プロセッサバス230側のAddr制御部161は、メモリバス231側のAddr制御部162にアドレスを送信する(ステップ307)。
(6) The
(7)その後、CMD Path SW185は、プロセッサバス230側のCMD制御部151とメモリバス231側のCMD制御部152のパスを切断し、Addr Path SW186は、プロセッサバス230側のAddr制御部161とメモリバス231側のAddr制御部162とのパスを切断する(ステップ308)。
(7) Thereafter, the CMD
(8)次に、メモリバス231側のCMD制御部152は、制御バス112上にコマンドを送信し、Addr制御部162は、Addr Bus122上にアドレスを送信する。これにより、メモリ250にコマンド及びアドレスが送られることになる。ここまでの処理で、アドレス・フェーズの処理が終了する(ステップ309)。
(8) Next, the
(9)次に、データ・フェーズの処理を開始し、ステップ309の処理で送信されてきたコマンドを制御バス112から受け取ったメモリ250は、Data Bus132上にアドレスの内容をデータとして出力する。このデータを、Data制御部172が受け取る(ステップ310)。
(9) Next, data phase processing is started, and the
(10)その後、CMD Path SW185は、プロセッサバス230側のCMD制御部151とメモリバス231側のCMD制御部152とのパスを接続し、Data Path SW187は、プロセッサバス230側のData制御部171とメモリバス231側のData制御部172とのパスを接続する(ステップ311)。
(10) Thereafter, the
(11)メモリバス231側のData制御部172は、ステップ310の処理で受け取ったデータをプロセッサバス230側のData制御部171に送信する。また、メモリバス231側のCMD制御部152は、プロセッサバス230側のCMD制御部151に終了信号を送信する(ステップ312)。
(11) The data control
(12)CMD Path SW185は、プロセッサバス230側のCMD制御部151とメモリバス231側のCMD制御部152とのパスを切断し、Data Path SW187は、プロセッサバス230側のData制御部171とメモリバス231側のData制御部172とのパスを切断する(ステップ313)。
(12) The
(13)プロセッサバス230側のData制御部171は、ステップ312の処理でメモリバス231側のData制御部172から送信されてきたデータを受け取って、Data Bus131に送信する。このデータは、CPU240により受け取られる。ここまでの処理で、データ・フェーズの処理が終了する(ステップ314)。
(13) The data control unit 171 on the
(14)最後に、トランザクション終了・フェーズの処理を開始し、プロセッサバス230側のアドレス制御部161は、Addr Table180に記録したアドレスを消去して、ここでの処理を終了する(ステップ315)。
(14) Finally, the transaction end / phase processing is started, and the
図4A、図4Bは前述した本発明の実施形態による情報処理装置が実施する通常のトランザクション処理の動作を一旦停止し、その後に、情報処理装置の動作解析、デバック等のための別のトランザクションを実行する処理を説明するフローチャートであり、次に、これについて説明する。ここで説明する処理の例は、前述で説明したCPU240がメモリ250に対してメモリリードを行うトランザクションを検出し、そのトランザクションを保留し、情報処理装置の動作解析のために、メモリ250のメモリコントローラ255の動作モードを変更するトランザクションとして、メモリコントローラ255のレジスタ258に対してレジスタライトを行うものとした例であり、図1、図2をも参照しながら説明する。
4A and 4B temporarily stop the normal transaction processing operation performed by the information processing apparatus according to the embodiment of the present invention described above, and then perform another transaction for analyzing the operation of the information processing apparatus, debugging, and the like. It is a flowchart explaining the process to perform, Next, this is demonstrated. An example of the processing described here is that the
(1)まず、割り込み準備フェーズとして、割り込みの契機としたいトランザクションの内容(バスマスタ、コマンド、アドレス、データ等)に一定の条件を決める。これをトリガ条件とする。説明している例におけるトリガ条件は、バスマスタがCPU240、コマンドがメモリリード、アドレスがメモリリード対象のアドレスとなる。次に、割り込みを契機に実行される情報処理装置の動作解析、デバック等のためのトランザクションの内容を決定する。説明している例では、メモリコントローラ255のモード変更トランザクションとなるので、トランザクションのコマンドがレジスタライト、アドレスがメモリコントローラ255内のレジスタ258の設定対象のアドレス、データが動作モードの設定値となる。ユーザ端末280からトリガ条件とモード変更トランザクションの内容とが入力されると、その入力を受けたBMC270は、入出力制御部218を介してトリガ条件をTrig Reg213に、モード変更トランザクションのアドレスをAddr Reg215に、ライトの内容をData Reg216に、コマンド(メモリコントローラ255内のレジスタ258へのライト)と実行タイミング(トリガとする通常のトランザクションの処理前)とをCMD Reg217に設定する。そして、Tx監視部211は、設定されたトリガ条件をTx管理部100に送り、これを受けたTx管理部100は、プロセッサバス230側のCMD制御部151とAddr制御部161とに対してトリガ条件を設定する(ステップ401)。
(1) First, as an interrupt preparation phase, certain conditions are determined for the contents (bus master, command, address, data, etc.) of a transaction to be triggered by an interrupt. This is a trigger condition. The trigger condition in the example described is that the bus master is the
(2)次に、トランザクション監視フェーズが開始される。すなわち、システムを起動しテスト環境が整った後、ユーザ端末280からトランザクション監視命令が入力される。トランザクション監視命令を受けたBMC270は、入出力制御部218を介してFlag Reg214をセットする。Tx監視部211は、Flag Reg214のセットを受けると、Tx管理部100に開始信号を送信する。これにより、Tx管理部100内のCMD制御部151とAddr制御部161とは、プロセッサバス230にCPU240から発行されるトランザクションの監視を開始する(ステップ402)。
(2) Next, the transaction monitoring phase is started. That is, after starting the system and preparing the test environment, a transaction monitoring command is input from the
(3)CMD制御部151とAddr制御部161とは、トリガ条件を満たすトランザクションの監視を続け、トリガ条件を満たすトランザクションを検出したとき、Tx監視部211を介してTx制御部212に、割り込み信号を送信する(ステップ403)。
(3) The
(4)また、CMD制御部151は、制御バス111にトランザクションの再発行要求を、次のステップ405〜420の処理で説明する、割り込みを契機に実行されるトランザクションの終了まで出し続け、これを受けたCPU240は、トランザクションの発行を繰り返し、トランザクションの処理は保留状態となる(ステップ404)。
(4) Further, the
(5)次に、モード変更トランザクションフェーズを開始し、まず、アドレス・フェーズを実行する。すなわち、Tx制御部212は、ステップ403の処理で、Tx監視部211からトリガ条件を満たすトランザクション検出の割り込みを受けると、Addr Reg215に設定されたアドレスに対し、CMD Reg217の内容(メモリコントローラ255のレジスタ258に対するライト)のトランザクションを実行するため、バスリクエストを発行する(ステップ405)。
(5) Next, the mode change transaction phase is started, and the address phase is first executed. That is, when the
(6)Tx制御部212は、ステップ405でのバスリクエストの発行に対してバス制御権を取得できたか否かを判定し、バス制御権を取得できなかった場合、ステップ405からの処理に戻って、バスリクエストを発行する処理を続ける(ステップ406)。
(6) The
(7)ステップ406での判定で、バス制御権を取得した場合、Tx制御部212は、モード変更トランザクションのコマンドと、アドレスとを発行する(ステップ407)。
(7) If the bus control right is acquired in the determination in
(8)次に、Tx制御部212側のAddr制御部164は、Addr Bus124を介してTx制御部212から取り込んだモード変更トランザクションのアドレスとAddr Table180の内容との比較を行い、アドレスコンフリクトとなっているか否かを判定し、アドレスコンフリクトとなっていた場合、CMD制御部154にその旨を報告する。CMD制御部154は、Tx制御部212にトランザクションのリトライ要求を送信する。これにより処理がステップ407からの処理に戻って処理が続けられる(ステップ408)。
(8) Next, the
(9)ステップ408の判定で、アドレスコンフリクトがないことが確認できると、Addr制御部164は、アクセスするアドレスをAddr Table180に記録する。また、CMD制御部154は、制御バス114を介してTx制御部212にコマンドの受信完了の信号を送信する(ステップ409)。
(9) If it is confirmed in
(10)Addr制御部164は、アドレスの値から接続先(メモリバス231)を判断する。この判断結果を受けて、CMD Path SW185は、Tx制御部212側のCMD制御部154とメモリバス231側のCMD制御部152との間のパスを接続し、Addr Path SW186は、Tx制御部212側のAddr制御部164とメモリバス231側のAddr制御部162との間のパスを接続する(ステップ410)。
(10) The
(11)次に、Tx制御部212側のCMD制御部154は、メモリバス231側のCMD制御部152にコマンドを送信し、Tx制御部212側のAddr制御部164は、メモリバス231側のAddr制御部162にアドレスを送信する(ステップ411)。
(11) Next, the
(12)その後、CMD Path SW185は、Tx制御部212側のCMD制御部154とメモリバス231側のCMD制御部152との間のパスを切断し、Addr Path SW186は、Tx制御部212側のAddr制御部164とメモリバス231側のAddr制御部162との間のパスを切断する(ステップ412)。
(12) Thereafter, the
(13)メモリバス231側のCMD制御部152は、制御バス112上にコマンドを送信し、Addr制御部162は、Addr Bus122にアドレスを送信する。これらのコマンド及びアドレスは、メモリバス231を介してメモリ250に送信される(ステップ413)。
(13) The
(14)次に、モード変更トランザクションのデータ・フェーズの処理に移行し、ステップ409の処理で、制御バス114を介してコマンドの受信完了の信号を受けたTx制御部212は、Data Reg216の内容をData Bus134に出力し、Data制御部174が、そのデータを受け取る(ステップ414)。
(14) Next, the process proceeds to the data phase processing of the mode change transaction, and the
(15)その後、Data Path SW187は、Tx制御部212側のData制御部174とメモリバス231側のData制御部172との間のパスを接続する(ステップ415)。
(15) Thereafter, the
(16)Tx制御部212側のData制御部174は、メモリバス231側のData制御部172にライト内容のデータを送信する(ステップ416)。
(16) The data control
(17)次に、Data Path SW187は、Tx制御部212側のData制御部174とメモリバス231側のData制御部172との間のパスを切断する(ステップ417)。
(17) Next, the
(18)そして、メモリバス側のData制御部172は、Data Bus132にデータを送信する。ステップ413の処理で、制御バス112を介してコマンドを受け取っているメモリ250は、Data Bus132を介して受け取ったデータをメモリコントローラ255のレジスタ258にライトする。これにより、メモリコントローラ250の動作モードが変更される(ステップ418)。
(18) Then, the
(19)次に、モード変更トランザクション終了・フェーズの処理に移行し、アドレス制御部161は、Addr Table180に記録したアドレスを消去する(ステップ419)。
(19) Next, the process proceeds to the mode change transaction end / phase process, and the
(20)その後、Tx制御部212は、BMC270を介してユーザ端末280にモード変更トランザクションの処理を終了したことを報告して、モード変更トランザクションの処理を終了する(ステップ420)。
(20) Thereafter, the
(21)モード変更トランザクションの処理の終了後、プロセッサバス230側のCMD制御部151は、CPU240に対するリトライ要求を停止し、トランザクションの保留状態を解除する(ステップ421)。
(21) After the processing of the mode change transaction is completed, the
(22)CPU240は、トランザクションの保留状態が解除されたことにより、トランザクションを再発行し、以後、通常のトランザクションの処理を続ける(ステップ422)。
(22) The
前述した本発明の処理の例では、コマンドとアドレスとに割り込みのトリガ条件を設け、CPUのメモリリードを割り込みの契機としたが、Data制御部に対してトリガ条件を設定し、トランザクションのデータの内容を割り込みの契機とすることも可能である。 In the example of the processing of the present invention described above, an interrupt trigger condition is set for the command and the address, and the CPU memory read is triggered by the interrupt. However, the trigger condition is set for the Data control unit, and the transaction data The contents can also be used as a trigger for interruption.
また、各バスに接続したCMD制御部、Addr制御部、Data制御部は、それぞれ同一の機能を持ち、説明した以外のバスマスタ(例えば、I/Oデバイス290のDMAコントローラ298等)が発行したトランザクションを割り込みの契機とすることができる。
The CMD control unit, Addr control unit, and Data control unit connected to each bus have the same functions, and transactions issued by bus masters other than those described (for example, the
前述した本発明の処理の例では、割り込みを契機に実行されるトランザクションは、メモリコントローラ255のレジスタ258を対象としたが、説明した以外の情報処理装置200内のアクセス可能なメモリ及びレジスタ(例えば、I/Oデバイス290、291のレジスタ295、296やバスコントローラ200内のレジスタ)をトランザクションの対象とすることができる。
In the above-described processing example of the present invention, the transaction executed in response to the interrupt is targeted for the
前述した本発明の処理の例では、割り込みを契機に実行されるトランザクションの処理の間、トリガとする通常のトランザクションの処理を保留状態としたが、割り込みを契機に実行されるトランザクションの実行のタイミングを、トリガとする通常のトランザクションの処理後に設定することもでき、これにより、通常のトランザクションを発行したバスマスタに対するリトライ要求を出さず、通常のトランザクションの処理後に割り込みを契機に実行されるトランザクションの処理を行うことができる。 In the above-described processing example of the present invention, during the processing of a transaction executed in response to an interrupt, the processing of a normal transaction as a trigger is put on hold, but the timing of execution of the transaction executed in response to an interrupt Can be set after the processing of a normal transaction as a trigger, so that a retry request is not issued to the bus master that issued the normal transaction, and the processing of the transaction that is executed when an interrupt occurs after the processing of the normal transaction It can be performed.
前述した本発明の実施形態によれば、複数のバスを備える情報処理装置において、各バスに接続されたバスコントローラを設け、トランザクションがトランザクション発行元のバスから発行先のバスに渡る前にそのトランザクションを一旦停止させ、トランザクション発行元に再発行を繰り返させることにより、トランザクションの処理を保留状態とさせることができる。そして、前述した本発明の実施形態は、この保留状態とされている間に、情報処理装置の装置内部のハードウェアの動作解析、デバッグ等のための別のトランザクションを実行することができる。 According to the above-described embodiment of the present invention, in an information processing apparatus including a plurality of buses, a bus controller connected to each bus is provided, and the transaction before the transaction passes from the transaction issuing bus to the issuing bus. Is temporarily suspended, and the transaction issuance source is repeatedly issued, whereby the transaction processing can be put on hold. The above-described embodiment of the present invention can execute another transaction for hardware operation analysis, debugging, and the like inside the apparatus of the information processing apparatus while in the pending state.
これにより、本発明の実施形態によれば、トリガ条件を満たすトランザクションの処理前に、ユーザはメモリあるいはI/Oデバイスのレジスタの値を読み出す等の処理を行わせ、また、トリガ条件を満たすトランザクションだけメモリあるいはIOデバイスのレジスタの値を変更することができ、これらによって割り込み操作の柔軟性の向上を図ることができる。 As a result, according to the embodiment of the present invention, before processing a transaction that satisfies the trigger condition, the user performs processing such as reading a register value of a memory or an I / O device. Only the value of the register of the memory or the IO device can be changed, so that the flexibility of the interrupt operation can be improved.
100 トランザクション管理部(Tx管理部)
111 112 113 114 制御バス
121 122 123 124 アドレスバス(Addr Bus)
131 132 133 134 データバス(Data Bus)
151 152 153 154 コマンド制御部(CMD制御部)
161 162 163 164 アドレス制御部(Addr制御部)
171 172 173 174 データ制御部(Data制御部)
180 アドレステーブル(Addr Table)
185 コマンドパススイッチ(CMD Path SW)
186 アドレスパススイッチ(Addr Path SW)
187 データパススイッチ(Data Path SW)
200 情報処理装置
210 バスコントローラ
212 トランザクション制御部(Tx制御部)
213 トリガレジスタ(Taig Reg)
214 実行フラグレジスタ(Flag Reg)
215 アドレスレジスタ(Addr Reg)
216 データレジスタ(Data Reg)
217 コマンドレジスタ(CMD Reg)
218 入出力制御部
230 プロセッサバス
231 メモリバス
232 I/Oバス
240 241 CPU
250 251 メモリ
255、256 メモリコントローラ
258、259、295 296 レジスタ
260 261 I/Oインタフェース
270 ボードマネージメントコントローラ(BMC)
280 ユーザ端末
290 291 I/Oインタフェース
298 299 DMAコントローラ
100 Transaction manager (Tx manager)
111 112 113 114
131 132 133 134 Data Bus (Data Bus)
151 152 153 154 Command control unit (CMD control unit)
161 162 163 164 Address control unit (Addr control unit)
171 172 173 174 Data control unit (Data control unit)
180 Address table (Addr Table)
185 Command path switch (CMD Path SW)
186 Address path switch (Addr Path SW)
187 Data path switch (Data Path SW)
200
213 Trigger register (Taig Reg)
214 Execution flag register (Flag Reg)
215 Address register (Addr Reg)
216 Data Register (Data Reg)
217 Command register (CMD Reg)
218 Input /
250 251
280
Claims (8)
前記バスコントローラは、処理されるトランザクションの監視を行い、予め設定した所定の条件を満たすトランザクションを検出したとき、検出したトランザクションの処理を行わず、そのトランザクションの発行元にトランザクションの再発行を繰り返させることによりトランザクションの処理を保留状態とし、その後、前記保留状態とされたトランザクションとは別のトランザクションの処理を実行し、別のトランザクションの処理の終了後、前記保留状態とされていたトランザクションの保留状態を解除し、解除したトランザクションの処理を行うようにトランザクションの管理を行うことを特徴とする情報処理装置のトランザクション管理方法。 In a transaction management method for an information processing apparatus comprising a plurality of buses and a bus controller connected to all of the plurality of buses,
The bus controller monitors a transaction to be processed, and when a transaction that satisfies a predetermined condition set in advance is detected, does not process the detected transaction and causes the issuer of the transaction to reissue the transaction repeatedly The transaction processing is put into a pending state, and then processing of a transaction different from the transaction in the pending state is executed. After the processing of another transaction is finished, the pending state of the transaction in the pending state is executed. The transaction management method of the information processing apparatus is characterized in that the transaction is managed so that the released transaction is processed.
前記バスコントローラは、前記複数のバス相互間でデータの送受信を行うトランザクション管理部と、トランザクションの内容に対してる予め設定した所定の条件を記録するレジスタと、前記予め設定した所定の条件を満たすトランザクションを、トランザクション管理部に検出させるトランザクション監視部と、該トランザクション監視部から前記予め設定した所定の条件を満たすトランザクションを検出したことが通知されたとき、この通知をトリガとして前記トランザクションとは別のトランザクションの実行を制御するトランザクション制御部と、該トランザクション制御部が発行する別のトランザクションの内容を設定するレジスタ群とを備えて構成され、
前記トランザクション管理部は、予め設定した所定の条件を満たすトランザクションを検出したとき、検出したトランザクションの処理を行わず、そのトランザクションの発行元にトランザクションの再発行を繰り返させることによりトランザクションの処理を保留状態とし、前記トランザクション監視部を介して前記トランザクション制御部に所定の条件を満たすトランザクションを検出した通知を行うことを特徴とする情報処理装置。 In an information processing apparatus comprising a plurality of buses and a bus controller connected to all of the plurality of buses,
The bus controller includes a transaction management unit that transmits and receives data between the plurality of buses, a register that records a predetermined condition for a transaction content, and a transaction that satisfies the predetermined condition. A transaction monitoring unit that causes the transaction management unit to detect the transaction and the transaction monitoring unit to detect that a transaction satisfying the predetermined condition is detected. A transaction control unit that controls the execution of the transaction, and a register group that sets the contents of another transaction issued by the transaction control unit,
When the transaction management unit detects a transaction that satisfies a predetermined condition set in advance, the transaction management unit does not process the detected transaction, and causes the transaction issuer to repeat transaction reissuance so that the transaction processing is suspended. And an information processing apparatus that notifies the transaction control unit that a transaction satisfying a predetermined condition is detected via the transaction monitoring unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007137052A JP4892406B2 (en) | 2007-05-23 | 2007-05-23 | Transaction management method for information processing apparatus and information processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007137052A JP4892406B2 (en) | 2007-05-23 | 2007-05-23 | Transaction management method for information processing apparatus and information processing apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008293212A true JP2008293212A (en) | 2008-12-04 |
JP4892406B2 JP4892406B2 (en) | 2012-03-07 |
Family
ID=40167882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007137052A Expired - Fee Related JP4892406B2 (en) | 2007-05-23 | 2007-05-23 | Transaction management method for information processing apparatus and information processing apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4892406B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015526787A (en) * | 2012-06-15 | 2015-09-10 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Program event recording within a transaction environment |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10154134A (en) * | 1996-09-30 | 1998-06-09 | Toshiba Corp | Memory update history preserving device and memory update history preserving method |
JP2005078309A (en) * | 2003-08-29 | 2005-03-24 | Nec Corp | Data processing system |
JP2006113906A (en) * | 2004-10-15 | 2006-04-27 | Canon Inc | Bus monitoring device and controller with bus monitoring device |
JP2006309276A (en) * | 2005-04-26 | 2006-11-09 | Matsushita Electric Ind Co Ltd | Debugging mechanism and debugging register |
-
2007
- 2007-05-23 JP JP2007137052A patent/JP4892406B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10154134A (en) * | 1996-09-30 | 1998-06-09 | Toshiba Corp | Memory update history preserving device and memory update history preserving method |
JP2005078309A (en) * | 2003-08-29 | 2005-03-24 | Nec Corp | Data processing system |
JP2006113906A (en) * | 2004-10-15 | 2006-04-27 | Canon Inc | Bus monitoring device and controller with bus monitoring device |
JP2006309276A (en) * | 2005-04-26 | 2006-11-09 | Matsushita Electric Ind Co Ltd | Debugging mechanism and debugging register |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015526787A (en) * | 2012-06-15 | 2015-09-10 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Program event recording within a transaction environment |
Also Published As
Publication number | Publication date |
---|---|
JP4892406B2 (en) | 2012-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5944840A (en) | Continuous monitor for interrupt latency in real time systems | |
CN105095128B (en) | Interrupt processing method and interrupt controller | |
US8745446B2 (en) | Integrated circuit, debugging circuit, and debugging command control method | |
JP2006309760A (en) | Monitoring logic and monitoring method for detecting abnormal operation of data processor | |
TWI759719B (en) | Flash memory controller and method used in flash memory controller | |
JP2007257441A (en) | Processor and processor control method | |
JP2006309276A (en) | Debugging mechanism and debugging register | |
JP4892406B2 (en) | Transaction management method for information processing apparatus and information processing apparatus | |
US7231568B2 (en) | System debugging device and system debugging method | |
US7711885B2 (en) | Bus control apparatus and bus control method | |
JP2006172218A (en) | Computer system and system monitoring program | |
JPH10254738A (en) | Emulator device and emulation method | |
JP2012163995A (en) | Information processing device | |
JP2006323726A (en) | Monitor program and real-time trace system | |
JP2019160148A (en) | Data collection device, memory controller, arithmetic unit, information processing device, data collection system, and data collection method | |
JP2008152665A (en) | Method for analyzing operation of semiconductor integrated circuit | |
CN108681500B (en) | System with transaction recording capability and transaction recording method | |
JP6992295B2 (en) | Electronic device | |
JP2010003268A (en) | Slave device | |
JP2517370B2 (en) | Control method of intelligent measurement card | |
JP2006293725A (en) | Debugger for lsi system | |
JP2005084820A (en) | Controller comprising simulating functions of input/output unit | |
JP2665173B2 (en) | Processor trap circuit | |
CN117707884A (en) | Method, system, equipment and medium for monitoring power management chip | |
JP2006092077A (en) | Bus system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090728 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111116 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20111122 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111219 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141222 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |