JP7476640B2 - Information processing device, interface control circuit, and method for controlling information processing device - Google Patents
Information processing device, interface control circuit, and method for controlling information processing device Download PDFInfo
- Publication number
- JP7476640B2 JP7476640B2 JP2020074271A JP2020074271A JP7476640B2 JP 7476640 B2 JP7476640 B2 JP 7476640B2 JP 2020074271 A JP2020074271 A JP 2020074271A JP 2020074271 A JP2020074271 A JP 2020074271A JP 7476640 B2 JP7476640 B2 JP 7476640B2
- Authority
- JP
- Japan
- Prior art keywords
- signal
- master
- interconnect
- request
- busy
- 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.)
- Active
Links
- 230000010365 information processing Effects 0.000 title claims description 61
- 238000000034 method Methods 0.000 title claims description 13
- 238000012546 transfer Methods 0.000 claims description 65
- 238000012544 monitoring process Methods 0.000 claims description 39
- 230000004044 response Effects 0.000 claims description 30
- 230000005764 inhibitory process Effects 0.000 claims description 17
- 238000004891 communication Methods 0.000 claims description 7
- 230000002401 inhibitory effect Effects 0.000 claims description 2
- 230000015654 memory Effects 0.000 description 33
- 238000010586 diagram Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 17
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Landscapes
- Bus Control (AREA)
- Information Transfer Systems (AREA)
Description
本発明は、情報処理装置、インタフェース制御回路および情報処理装置の制御方法に関する。 The present invention relates to an information processing device, an interface control circuit, and a control method for an information processing device.
例えば、複数のマスタと複数のスレーブとがインターコネクトを介して接続されたバスシステムが知られている。各マスタは、データ転送を主導し、各スレーブは、受動的に動作する(例えば、特許文献1参照)。 For example, a bus system is known in which multiple masters and multiple slaves are connected via an interconnect. Each master takes the lead in data transfer, and each slave operates passively (see, for example, Patent Document 1).
複数のCPU(Central Processing Unit)がマスタとしてインターコネクトに接続され、各CPUが実行するプログラムが格納されたメモリがスレーブとしてインターコネクトに接続される場合がある。例えば、複数のCPUの1つは、システム全体の制御を司るメインCPUであり、複数のCPUの他の1つは、システムの一部の機能の制御を司るサブCPUとである。メインCPUおよびサブCPUは、インターコネクトを介してメモリに格納されているプログラムをフェッチして動作する。 In some cases, multiple CPUs (Central Processing Units) are connected to the interconnect as masters, and memories storing programs executed by each CPU are connected to the interconnect as slaves. For example, one of the multiple CPUs is a main CPU that controls the entire system, and another of the multiple CPUs is a sub-CPU that controls some of the system's functions. The main CPU and sub-CPU operate by fetching programs stored in the memory via the interconnect.
メインCPUが、メモリからプログラムをフェッチして動作しているサブCPUにリセットをかける場合、サブCPUは、インターコネクトとの間でトランザクションを実行中にリセットされる場合がある。この場合、メインCPUからサブCPUに発行されるリセットのタイミングによっては、トランザクションが完了できずインターコネクトがストールしてしまうおそれがある。 When the main CPU resets a sub-CPU that is fetching a program from memory and running it, the sub-CPU may be reset while it is executing a transaction with the interconnect. In this case, depending on the timing of the reset issued from the main CPU to the sub-CPU, the transaction may not be completed and the interconnect may stall.
開示の技術は、上記の課題に鑑みてなされたものであり、外部からの抑止要求信号に基づいて、実行中のデータ転送を中断させることなくマスタとインターコネクトとのハンドシェイクを抑止することを目的とする。 The disclosed technology has been developed in consideration of the above-mentioned problems, and aims to inhibit a handshake between a master and an interconnect based on an external inhibition request signal without interrupting ongoing data transfer.
上記技術的課題を解決するため、本発明の一形態の情報処理装置は、要求と、前記要求に対する応答とによるハンドシェイクに基づいてデータを転送する第1マスタおよびスレーブと、前記ハンドシェイクを抑止する抑止要求信号を出力する第2マスタと、前記第1マスタと前記スレーブとの間のデータの転送を制御するインターコネクトと、前記第1マスタと前記インターコネクトとの間に設けられ、ハンドシェイクを抑止する前記抑止要求信号の受信中に、前記第1マスタから発行される前記要求の前記インターコネクトへの転送を抑止し、前記要求の前記インターコネクトへの転送の抑止中を示す抑止中信号を出力するマスク制御部を含むインタフェース制御回路と、を有し、前記第2マスタは、前記抑止中信号の受信に基づいて、前記第1マスタにリセット信号を出力することを特徴とする。
In order to solve the above technical problems, an information processing device of one embodiment of the present invention has a first master and a slave that transfer data based on a handshake consisting of a request and a response to the request , a second master that outputs an inhibition request signal that inhibits the handshake, an interconnect that controls transfer of data between the first master and the slave, and an interface control circuit that is provided between the first master and the interconnect and includes a mask control unit that inhibits transfer of the request issued from the first master to the interconnect while receiving the inhibition request signal that inhibits the handshake, and outputs an inhibition signal indicating that transfer of the request to the interconnect is being inhibited , and is characterized in that the second master outputs a reset signal to the first master based on receipt of the inhibition signal .
外部からの抑止要求信号に基づいて、実行中のデータ転送を中断させることなくマスタとインターコネクトとのハンドシェイクを抑止することができる。 Based on an external inhibit request signal, the handshake between the master and the interconnect can be inhibited without interrupting the ongoing data transfer.
以下、図面を参照して実施の形態の説明を行う。なお、各図面において、同一構成部分には同一符号を付し、重複した説明を省略する場合がある。 The following describes the embodiments with reference to the drawings. Note that in each drawing, the same components are given the same reference numerals, and duplicate descriptions may be omitted.
(第1の実施形態)
図1は、本発明の第1実施形態に係る情報処理装置の一例を示すブロック図である。図1に示す情報処理装置100は、CPU10、20、メモリ30、インターコネクト40およびインタフェース制御回路50を有する。特に限定されないが、例えば、情報処理装置100は、MFP(MultiFunction Printer)等の画像形成装置であり、コピー機能、ファクシミリ機能、プリント機能またはスキャナ機能等を有する。
First Embodiment
Fig. 1 is a block diagram showing an example of an information processing apparatus according to a first embodiment of the present invention. The
CPU10、20は、メモリ30に対してマスタとして動作し、メモリ30は、CPU10、20に対してスレーブとして動作する。なお、CPU10は、マスタ制御装置または第2マスタの一例であり、CPU20は、マスタまたは第1マスタの一例である。インターコネクト40は、マスタであるCPU20と通信するとき、スレーブとして機能する。
The
CPU10、20とメモリ30とは、要求と、要求に対する応答とによるハンドシェイクに基づいてデータを転送する。インターコネクト40は、CPU10、20とメモリ30との間のデータの転送を制御する。なお、要求と、要求に対する応答とによるハンドシェイクに基づくデータ転送は、CPU20とインターコネクト40との間でも実行される。
The
例えば、CPU10は、通常動作モード中に情報処理装置100の全体の動作を制御し、省エネモード等の低電力モード中に電源がオフされる。CPU20は、情報処理装置100の動作中(通常動作モード中と省エネモード中)常時動作し、省エネモード中にCPU10に代わって情報処理装置100の一部の機能を制御する。例えば、メインCPU10およびサブCPU20は、インターコネクト40を介してメモリ30に格納されているプログラムをそれぞれフェッチして動作する。
For example, the
CPU10は、例えば、CPU20が実行するプログラムの書き換え時(OSまたはファームウェア等のアップデート時)に、CPU20にリセット信号RESETを発行し、CPU20をリセットして再起動させる機能を有する。以下では、CPU10をメインCPU10とも称し、CPU20をサブCPU20とも称する。メモリ30は、例えば、SDRAM(Synchronous Dynamic Random Access Memory)である。
The
インターコネクト40は、メインCPU10およびサブCPU20からのメモリ30へのアクセス要求を調停し、アクセス要求(読み出し要求または書き込み要求)に応じてメモリ30に読み出し動作または書き込み動作を実行させる。インターコネクト40は、メモリ30から読み出したデータ(プログラム)を、読み出し要求の発行元のCPU(メインCPU10またはサブCPU20)に出力する。
The
例えば、インターコネクト40は、バリッド信号VALIDとレディ信号READYとに基づいて、マスタ(図1の例ではCPU20)とハンドシェイクする。バリッド信号VALIDは、マスタが出力するデータ(情報)が有効であるときに、マスタによりアサートされる。レディ信号READYは、データまたは制御信号の受信の準備が完了した場合、スレーブ(図1の例では、インターコネクト40)によりアサートされる。
For example, the
そして、バリッド信号VALIDとレディ信号READYとがともにアサートされたことに基づいてハンドシェイクされた後、データが転送される。バリッド信号VALID0、VALIDは、要求の一例であり、レディ信号READYは、要求に対する応答の一例である。 Then, after a handshake is performed based on the valid signal VALID and the ready signal READY both being asserted, the data is transferred. The valid signals VALID0 and VALID are examples of requests, and the ready signal READY is an example of a response to a request.
インターコネクト40は、例えば、メモリ30から読み出したデータDATAをCPU20に転送するトランザクションを実行し、最終のデータDATAのサブCPU20への転送に同期して完了通知信号ENDをCPU20に出力する。完了通知信号ENDは、メモリ30から読み出したデータをCPU20に転送するトランザクションの完了を示す。バリッド信号VALIDとレディ信号READYとによるトランザクションの例については、図2以降で説明する。
The
インタフェース制御回路50は、マスク制御部52を含む。マスク制御部52は、メインCPU10から出力されるマスク制御信号MASKENがネゲート中、サブCPU20から出力されるバリッド信号VALID0をバリッド信号VALIDとしてインターコネクト40に出力する。例えば、マスク制御部52は、バリッド信号VALIDを出力するまでバリッド信号VALID0の論理レベルを保持する機能を有してもよい。マスク制御部52は、マスク制御信号MASKENがアサート中、バリッド信号VALID0の論理レベルにかかわらず、バリッド信号VALIDのネゲート状態を維持する。
The
このように、マスク制御信号MASKENのアサート中、バリッド信号VALID0(すなわち、VALID)のインターコネクト40への転送が抑止される。インターコネクト40は、マスク制御信号MASKENのアサート中、バリッド信号VALIDを受けないため、レディ信号READYを出力しない。したがって、CPU20とインターコネクト40との間のトランザクションとは非同期に外部から受信するマスク制御信号MASKENに基づいて、ハンドシェイクの成立を抑止することができる。マスク制御信号MASKENは、ハンドシェイクを抑止する抑止要求信号の一例である。
In this way, while the mask control signal MASKEN is asserted, the transfer of the valid signal VALID0 (i.e., VALID) to the
マスク制御部52は、マスク制御信号MASKENのアサートを検出した場合、マスク信号IMASKをアサートし、マスク制御信号MASKENのネゲートを検出した場合、マスク信号IMASKをネゲートする。マスク信号IMASKは、メインCPU10に入力される。
When the
マスク信号IMASKのアサート期間は、バリッド信号VALIDのインターコネクト40への転送の抑止中を示す。マスク信号IMASKのネゲート期間は、バリッド信号VALIDのインターコネクト40への転送の抑止が実行されていないことを示す。マスク信号IMASKを受信するメインCPU10は、マスク信号IMASKの論理レベルに応じて、バリッド信号VALIDのアサートがマスク制御部52により抑止されていることを確認することができる。マスク信号IMASKは、バリッド信号VALIDのインターコネクト40への転送の抑止中を示す抑止中信号の一例である。
The assertion period of the mask signal IMASK indicates that the transfer of the valid signal VALID to the
なお、図1では、CPU10、20、メモリ30、インターコネクト40およびインタフェース制御回路50にそれぞれクロックCLKが供給されるが、クロックCLKの種類およびクロックCLKの周波数は、互いに相違してもよい。
In FIG. 1, the clock CLK is supplied to each of the
図2は、図1の情報処理装置100においてバリッド信号VALID0のネゲート中にマスク制御信号MASKENがアサートされた場合の動作の一例を示すタイミング図である。すなわち、図2は、情報処理装置100の制御方法の一例を示す。
Figure 2 is a timing diagram showing an example of the operation of the
図2に示す例では、サブCPU20は、メモリ30に格納されたプログラムをフェッチするトランザクションAを実行するため、例えば、2クロックサイクルの間、バリッド信号VALID0をハイレベルにアサートする(図2(a))。バリッド信号VALID0は、マスク制御信号MASKENのネゲート期間にハイレベルにアサートされる(図2(b))。 In the example shown in FIG. 2, the sub-CPU 20 asserts the valid signal VALID0 to a high level for, for example, two clock cycles to execute transaction A that fetches a program stored in the memory 30 (FIG. 2(a)). The valid signal VALID0 is asserted to a high level during the negation period of the mask control signal MASKEN (FIG. 2(b)).
インタフェース制御回路50のマスク制御部52は、バリッド信号VALID0のアサートに応答してバリッド信号VALIDをハイレベルにアサートする(図2(c))。インターコネクト40は、バリッド信号VALIDの受信に基づいて、例えば、1クロックサイクルの間、レディ信号READYをハイレベルにアサートする(図2(d))。これにより、サブCPU20とインターコネクト40とは、トランザクションAに関してハンドシェイクされる。インターコネクト40は、メモリ30から読み出したデータDATA(プログラム)をサブCPU20への転送するデータ転送Aを開始する(図2(e))。
In response to the assertion of the valid signal VALID0, the
メインCPU10は、例えば、サブCPU20が実行するプログラムを書き換えるため(アップデート)、マスク制御信号MASKENをハイレベルにアサートする(図2(f))。図2に示す例では、バリッド信号VALID0のネゲート中にマスク制御信号MASKENがアサートされるが、マスク制御信号MASKENのアサートタイミングは、任意である。マスク制御部52は、マスク制御信号MASKENのアサートに基づいて、マスク信号IMASKをハイレベルにアサートする(図2(g))。
For example, the
インターコネクト40は、トランザクションAによるサブCPU20へのデータDATAの転送の完了時に、例えば、1クロックサイクルの間、完了通知信号ENDをハイレベルにアサートする(図2(h))。完了通知信号ENDを受けたサブCPU20は、次のトランザクションを実行するため、バリッド信号VALID0をアサートする(図2(i))。
When the transfer of data DATA to the sub-CPU 20 by transaction A is completed, the
マスク制御部52は、マスク制御信号MASKENがアサート中のため、バリッド信号VALID0に応答したバリッド信号VALIDのアサートを抑止し、バリッド信号VALIDのネゲート状態を維持する(図2(j))。すなわち、マスク制御部52は、ハンドシェイクを抑止するマスク制御信号MASKENの受信中に、バリッド信号VALID0のインターコネクト40への転送を抑止する。
Because the mask control signal MASKEN is asserted, the
インターコネクト40は、バリッド信号VALIDを受信しないため、レディ信号READYのネゲート状態を維持する(図2(k))。これにより、トランザクションAの後続のトランザクションに関して、サブCPU20とインターコネクト40とのハンドシェイクを抑止することができ、サブCPU20へのデータDATAの転送を抑止することができる。
Since the
このように、任意のタイミングで発行されるマスク制御信号MASKENにより、実行中のトランザクションを中断させることなく、サブCPU20とインターコネクト40との間での次のトランザクションの実行を抑止することができる。後続のトランザクションが実行されないため、サブCPU20をリセットしても、サブCPU20とインターコネクト40とのトランザクションが中断されることはない。すなわち、トランザクションが中断することで、インターコネクト40がストールすることを抑止することができる。
In this way, the mask control signal MASKEN issued at any timing can prevent the execution of the next transaction between the
メインCPU10は、マスク制御信号MASKENのアサート後、所定のクロックサイクル数の間、リセット信号RESETをアサートし、サブCPU20をリセットする(図2(l))。なお、インターコネクト40のストールを抑止するために、サブCPU20のリセットは、トランザクションAの実行完了後に実行する必要がある。
After asserting the mask control signal MASKEN, the
このため、メインCPU10は、マスク制御信号MASKENのアサート後、マスク信号IMASKのアサートを検出し、さらに、トランザクションAの実行が完了するまでの所定のクロックサイクル数を待った後、リセット信号RESETをアサートする。なお、メインCPU10は、インターコネクト40からサブCPU20に出力される完了通知信号ENDを監視してもよい。そして、メインCPU10は、完了通知信号ENDがアサートされた後、リセット信号RESETをアサートしてもよい。
Therefore, after asserting the mask control signal MASKEN, the
例えば、サブCPU20は、リセットが解除された後、図示しない不揮発性メモリ等からメモリ30にブートプログラムを展開し、アップデート後のプログラムを不揮発性メモリからメモリ30に転送する。そして、サブCPU20は、メモリ30に格納されたアップデートされたプログラムのフェッチを開始する。なお、不揮発性メモリ内のサブCPU20用のプログラムの入れ替えは、サブCPU20がリセットする前に実施される。
For example, after the sub-CPU 20 is released from reset, it loads a boot program from a non-volatile memory (not shown) into the
図3は、図1の情報処理装置100においてバリッド信号VALID0のアサート中にマスク制御信号MASKENがアサートされた場合の動作の一例を示すタイミング図である。すなわち、図3は、情報処理装置100の制御方法の一例を示す。図2と同様の動作については、詳細な説明は省略する。
Figure 3 is a timing diagram showing an example of the operation of the
図3では、マスク制御信号MASKENのアサートが、トランザクションAを実行するためのバリッド信号VALID0のアサート中に実行される(図3(a))。この場合、マスク制御部52は、バリッド信号VALID0のアサート中、マスク信号IMASKのアサートを抑止し、例えば、バリッド信号VALID0がネゲートされた次のクロックサイクルでマスク信号IMASKをアサートする(図3(b))。マスク信号IMASKがアサートされないため、マスク制御信号MASKENのアサートによりバリッドRVALIDがネゲートされることを抑止することができる。
In FIG. 3, the mask control signal MASKEN is asserted while the valid signal VALID0 for executing transaction A is asserted (FIG. 3(a)). In this case, the
マスク制御部52は、バリッド信号VALID0のアサート中に、マスク信号IMASKのアサートを禁止してバリッドRVALIDのネゲートを抑止する。これにより、インターコネクト40は、バリッド信号VALIDに基づいてレディ信号READYをアサートし、データ転送Aを開始することができる(図3(c))。
The
トランザクションAの実行後にアサートされる次のバリッド信号VALID0に応答するバリッド信号VALIDのアサートは、マスク制御信号MASKENにより抑止され、インターコネクト40に出力されない(図3(d))。このため、図2と同様に、インターコネクト40は、レディ信号READYのネゲート状態を維持し、サブCPU20とインターコネクト40とのハンドシェイクを抑止することができる(図3(e))。この後、メインCPU10は、リセット信号RESETをアサートし、サブCPU20をリセットする(図3(f))。そして、サブCPU20は、リセットが解除された後、アップデート後のプログラムを不揮発性メモリからメモリ30に転送し、アップデート後のプログラムのフェッチを開始する。
The assertion of the valid signal VALID in response to the next valid signal VALID0 asserted after the execution of transaction A is inhibited by the mask control signal MASKEN and is not output to the interconnect 40 (FIG. 3(d)). Therefore, similar to FIG. 2, the
メインCPU10とサブCPU20とは非同期で動作しているため、メインCPU10は、サブCPU20がインターコネクト40との間でトランザクションの途中かどうかを判断できない。しかしながら、この実施形態では、サブCPU20とインターコネクト40との間にインタフェース制御回路50を配置し、メインCPU10が出力するマスク制御信号MASKENによりバリッド信号VALIDのインターコネクト40への出力の可否を制御する。これにより、サブCPU20のトランザクションの実行中にサブCPU20がリセットされることを抑止することができ、トランザクションが完了できないことによりインターコネクト40がストールすることを抑止することができる。
Because the
図4は、図1の情報処理装置100においてバリッド信号VALID0のネゲート中にマスク制御信号MASKENがアサートされた場合の動作の別の例を示すタイミング図である。すなわち、図4は、情報処理装置100の制御方法の一例を示す。図2と同様の動作については、詳細な説明は省略する。図4は、メインCPU10がマスク制御信号MASKENをアサートした後、リセット信号RESETをアサートすることなく、マスク制御信号MASKENをネゲートする場合の動作の例を示す。2回目のバリッド信号VALID0がアサートされるまでの動作は、図2と同様である。
Figure 4 is a timing diagram showing another example of the operation when the mask control signal MASKEN is asserted while the valid signal VALID0 is negated in the
サブCPU20がリセットされることなくマスク制御信号MASKENがネゲートされた場合、マスク制御部52は、保持しているバリッド信号VALID0(アサートレベル)に応じて、バリッド信号VALIDをアサートする(図4(a)、(b))。例えば、2回目のバリッド信号VALIDは、トランザクションBに対応する。
When the mask control signal MASKEN is negated without the sub-CPU 20 being reset, the
インターコネクト40は、バリッド信号VALIDの受信に基づいて、レディ信号READYをアサートする(図4(c))。これにより、サブCPU20とインターコネクト40とは、トランザクションBに関してハンドシェイクされる。インターコネクト40は、メモリ30から読み出したデータDATA(プログラム)をサブCPU20への転送するデータ転送Bを開始する(図4(d))。インターコネクト40は、トランザクションBによるサブCPU20へのデータDATAの転送の完了時に、完了通知信号ENDをハイレベルにアサートする(図4(e))。これにより、トランザクションBのデータ転送Bが完了する。
The
このように、マスク制御部52は、メインCPU10からのマスク制御信号MASKENが一時的にアサートされた場合、マスク制御信号MASKENのネゲート後に、受信したバリッド信号VALID0に基づくトランザクションを継続することができる。したがって、マスク制御信号MASKENが一時的に誤ってアサートされた場合に、トランザクションを実行できない等の不具合の発生を抑止することができる。
In this way, when the mask control signal MASKEN from the
図5は、図1の情報処理装置100においてメインCPU10によりサブCPU20をリセットする場合の動作の一例を示すフロー図である。すなわち、図5は、情報処理装置100の制御方法の一例を示す。図5に示す動作は、メインCPU10により実行される。
Figure 5 is a flow diagram showing an example of the operation when the
まず、ステップS10において、メインCPU10は、サブCPU20の動作と無関係な任意のタイミングでマスク制御信号MASKENをアサートする。次に、ステップS12において、メインCPU10は、マスク信号IMASKがアサートされたか否かを判定し、マスク信号IMASKがアサートされた場合、ステップS14を実行する。
First, in step S10, the
ステップS14において、メインCPU10は、所定数のクロックサイクルが経過するのを待ち、ステップS16を実行する。ステップS14で待つ所定数のクロックサイクルは、実行中のトランザクションが完了されるまでのクロックサイクルである。ステップS16において、メインCPU10は、所定の期間、サブCPU20にリセット信号RESETを出力し(アサート)、サブCPU20をリセットする。サブCPU20は、リセット信号RESETを受けて再起動される。
In step S14, the
そして、ステップS18において、メインCPU10は、マスク制御信号MASKENをネゲートすることで、マスク制御部52にバリッド信号VALIDのアサートの抑止を解除させる。そして、サブCPU20は、アップデートされたプログラムのフェッチを開始する。なお、マスク制御信号MASKENは、サブCPU20のリセット期間中にネゲートされてもよい。これにより、サブCPU20は、リセット信号RESETの解除後に出力するバリッド信号VALID0に基づいて、アップデートされたプログラムをフェッチすることができる。
Then, in step S18, the
以上、第1の実施形態では、CPU20とインターコネクト40との間で実行されるトランザクションとは非同期に外部から受信するマスク制御信号MASKENに基づいて、CPU20とインターコネクト40とのハンドシェイクの成立を抑止することができる。この際、実行中のデータ転送を中断させることなく、CPU20とインターコネクト40とのハンドシェイクの成立を抑止することができる。したがって、マスク制御信号MASKENのアサート後にCPU10が出力するリセット信号RESETによりCPU20がリセットされるときに、CPU20とインターコネクト40との間でのトランザクションの実行を抑止することができる。
As described above, in the first embodiment, the establishment of a handshake between the
この結果、トランザクションを実行中にCPU20がリセットされることに起因して、インターコネクト40がストールすることを抑止することができ、ストールに伴う再起動によるダウンタイムの発生を抑止することができる。例えば、CPU20が実行するプログラムのアップデートが、遠隔からのリモートアップデートの場合、インターコネクト40で発生したストールに気付くのが遅れるとダウンタイムが長くなる可能性がある。この実施形態では、インターコネクト40のストールの発生を抑止できるため、アップデートがリモートで実行される場合にも、ダウンタイムの発生を抑止することができる。
As a result, it is possible to prevent the
例えば、メインCPU10とサブCPU20とが動作するマルチCPUシステム(情報処理装置100)において、一方のCPUが他方のCPUをリセットする場合に、CPUに接続されたインターコネクト40のストールを抑止することができる。この結果、情報処理装置100のダウンタイムの発生を抑止することができ、ダウンタイムによる情報処理装置100の性能の低下を抑止することができる。
For example, in a multi-CPU system (information processing device 100) in which a
マスク制御部52は、マスク制御信号MASKENの受信に基づいて、マスク信号IMASKをメインCPU10に出力する。このため、メインCPU10は、マスク信号IMASKのレベルに応じて、バリッド信号VALIDのアサートがマスク制御部52により抑止されていることを確認することができる。
The
(第2の実施形態)
図6は、本発明の第2の実施形態に係る情報処理装置の一例を示すブロック図である。図1と同様の要素については、同じ符号を付し、詳細な説明を省略する。図6に示す情報処理装置102は、図1のインタフェース制御回路50およびインターコネクト40の代わりに、インタフェース制御回路60およびインターコネクト42を有する。情報処理装置102のその他の構成は、図1に示した情報処理装置100と同様である。
Second Embodiment
Fig. 6 is a block diagram showing an example of an information processing device according to a second embodiment of the present invention. The same elements as those in Fig. 1 are given the same reference numerals, and detailed description will be omitted. The
インターコネクト42は、データ転送中に次の転送要求を発行できるアウトスタンディングトランザクションの機能を有する。例えば、サブCPU20は、サブCPU20とインターコネクト42との間でデータを通信中に、次のバリッド信号VALID0を発行可能である。インターコネクト42のその他の機能は、図1のインターコネクト40の機能と同様である。
The
インタフェース制御回路60は、マスク制御部62およびビジー監視部64を有する。マスク制御部62は、図1のインタフェース制御回路50のマスク制御部52と同様の機能を有する。ビジー監視部64は、初期状態において"0"にリセットされるビジーカウンタBCOUNTを有する。
The
ビジー監視部64は、バリッド信号VALIDとレディ信号READYとによるハンドシェイクの成立に応答してビジーカウンタBCOUNTを"1"増加し、完了通知信号ENDに応答してビジーカウンタBCOUNTを"1"減少する。なお、ビジーカウンタBCOUNTは、ハンドシェイクの成立時に"1"減少され、完了通知信号ENDのアサート時に"1"増加されてもよい。
The busy monitoring
ビジー監視部64は、ビジーカウンタBCOUNTが"0"以外である場合、サブCPU20とインターコネクト42との間でトランザクションが実行されていることを検出し、ビジー信号BUSYをアサートする。すなわち、ビジー監視部64は、ハンドシェイクの成立数と完了通知信号ENDのアサート数(出力数)とが不一致の場合、ビジー信号BUSYをアサートする。
If the busy counter BCOUNT is other than "0", the busy monitoring
ビジー監視部64は、ビジーカウンタBCOUNTが"0"である場合、サブCPU20とインターコネクト42との間でトランザクションが実行されていないことを検出し、ビジー信号BUSYをネゲートする。すなわち、ビジー監視部64は、ハンドシェイクの成立数と完了通知信号ENDのアサート数とが一致する場合、ビジー信号BUSYをネゲートする。ビジー信号BUSYのアサート期間は、バリッド信号VALIDとレディ信号READYとによるハンドシェイクが成立後、データ転送が実行されている期間を示す。なお、ビジー監視部64は、ビジーカウンタBCOUNT以外の手法によりビジー信号BUSYを生成してもよい。
When the busy counter BCOUNT is "0", the busy monitoring
図7は、図6の情報処理装置102の動作(アウトスタンディングトランザクション)の一例を示すタイミング図である。すなわち、図7は、情報処理装置102の制御方法の一例を示す。図2と同様の動作については、詳細な説明は省略する。図7では、アウトスタンディングトランザクションの動作を説明するために、マスク制御信号MASKENは、ネゲート状態(ロウレベルL)を維持するとする。
Figure 7 is a timing diagram showing an example of the operation (outstanding transaction) of the
図7では、サブCPU20は、トランザクションA、B、Cを実行するためのバリッド信号VALID0を、データ転送の完了を待つことなく順次出力する(図7(a)、(b)、(c))。マスク制御部62は、マスク制御信号MASKENがネゲートされているため、各バリッド信号VALID0に応答してバリッド信号VALIDをインターコネクト42に出力する(図7(d)、(e)、(f))。
In FIG. 7, the sub-CPU 20 sequentially outputs valid signals VALID0 for executing transactions A, B, and C without waiting for the completion of data transfer (FIG. 7(a), (b), (c)). Since the mask control signal MASKEN is negated, the
インターコネクト42は、各バリッド信号VALIDの受信に基づいて、レディ信号READY(A、B、C)をサブCPU20に出力する(図7(g)、(h)、(i))。インターコネクト42は、受信したバリッド信号VALIDの順に、メモリ30からデータを読み出し、読み出したデータをサブCPU20に転送するデータ転送A、B、Cを順次実行する(図7(j)、(k)、(l))。そして、インターコネクト40は、データ転送A、B、Cが完了する毎に、完了通知信号END(A、B、C)をサブCPU20に順次出力する(図7(m)、(n)、(o))。
Based on receiving each valid signal VALID, the
ビジー監視部64は、バリッド信号VALIDとレディ信号READYとのアサートを検出する毎にビジーカウンタBCOUNTを"1"増加する(図7(p)、(q)、(r))。また、ビジー監視部64は、完了通知信号ENDのアサートを検出する毎にビジーカウンタBCOUNTを"1"減少する(図7(s)、(t)、(u))。
The busy monitoring
そして、ビジー監視部64は、ビジーカウンタBCOUNTが"0"の時にビジー信号BUSYをロウレベルにネゲートし、ビジーカウンタBCOUNTが"0"以外の時にビジー信号BUSYをハイレベルにアサートする(図7(v)、(w)、(x))。これにより、メインCPU10は、ビジー信号BUSYの論理レベルに基づいて、サブCPU20によりトランザクションの実行期間を検出することができる。
The busy monitoring
なお、図7において、例えば、マスク制御信号MASKENが、1番目のバリッド信号VALID0のアサート中にアサートされた場合、2番目および3番目のバリッド信号VALID0は生成されず、データ転送Aのみが実行される。この場合、ビジー信号BUSYは、図7(m)に示した完了通知信号ENDに基づいてネゲートされる。 In FIG. 7, for example, if the mask control signal MASKEN is asserted while the first valid signal VALID0 is asserted, the second and third valid signals VALID0 are not generated and only data transfer A is executed. In this case, the busy signal BUSY is negated based on the completion notification signal END shown in FIG. 7(m).
マスク制御信号MASKENが、2番目のバリッド信号VALID0のアサート中にアサートされた場合、3番目のバリッド信号VALID0は生成されず、データ転送A、Bが実行され、データ転送Cは実行されない。この場合、ビジー信号BUSYは、図7(n)に示した完了通知信号ENDに基づいてネゲートされる。マスク制御信号MASKENが、3番目のバリッド信号VALID0のアサート中にアサートされた場合、全てのデータ転送A、B、Cが実行される。この場合、ビジー信号BUSYのネゲートタイミングは、図7と同じである。 If the mask control signal MASKEN is asserted while the second valid signal VALID0 is asserted, the third valid signal VALID0 is not generated, data transfers A and B are executed, and data transfer C is not executed. In this case, the busy signal BUSY is negated based on the completion notification signal END shown in Figure 7 (n). If the mask control signal MASKEN is asserted while the third valid signal VALID0 is asserted, all data transfers A, B, and C are executed. In this case, the negation timing of the busy signal BUSY is the same as in Figure 7.
図8は、図6の情報処理装置102においてバリッド信号VALID0のネゲート中にマスク制御信号MASKENがアサートされた場合の動作の一例を示すタイミング図である。すなわち、図8は、情報処理装置102の制御方法の一例を示す。図2と同様の動作については、詳細な説明は省略する。図8において、ビジーカウンタBCOUNTおよびビジー信号BUSY以外の波形は、図2と同様である。
Figure 8 is a timing diagram showing an example of the operation when the mask control signal MASKEN is asserted while the valid signal VALID0 is negated in the
図6および図7で説明したように、ビジー監視部64は、バリッド信号VALIDとレディ信号READYとのアサートを検出した場合、ビジーカウンタBCOUNTを"1"増加する(図8(a))。ビジー監視部64は、ビジーカウンタBCOUNTが"0"でなくなったことに応答してビジー信号BUSYをハイレベルにアサートする(図8(b))。
As described in FIG. 6 and FIG. 7, when the busy monitoring
また、ビジー監視部64は、完了通知信号ENDのアサートに応答してビジーカウンタBCOUNTを"1"減少する(図8(c))。ビジー監視部64は、ビジーカウンタBCOUNTが"0"になったことに応答してビジー信号BUSYをロウレベルにネゲートする(図8(d))。ビジー信号BUSYのアサート期間(ハイレベル期間)は、マスク制御信号MASKENの受信前に発行されたCPU20からのバリッド信号VALID0に基づいて実行されるCPU20とインターコネクト40との間でのデータ転送Aの検出中を示す。
In addition, the busy monitoring
メインCPU10は、マスク制御信号MASKENのアサートにより、インタフェース制御回路60からハイレベルのマスク信号IMASKを受けた後、ビジー信号BUSYがロウレベルになるのを待つ。そして、メインCPU10は、ビジー信号BUSYのロウレベルへの変化に基づいて、サブCPU20とインターコネクト42とのトランザクションが完了したことを検出した後、サブCPU20にリセット信号RESETを出力する(図8(e))。
After receiving a high-level mask signal IMASK from the
これにより、トランザクションの実行中に、CPU20がリセットされ、インターコネクト42がストールすることを確実に抑止することができる。また、図7で説明したように、インターコネクト40が、アウトスタンディングトランザクションの機能を有する場合にも、複数のトランザクションのいずれかの実行中にCPU20がリセットされることを抑止することができる。
This reliably prevents the
サブCPU20は、第1の実施形態と同様に、リセットが解除された後、アップデート後のプログラムを不揮発性メモリからメモリ30に転送し、アップデート後のプログラムのフェッチを開始する。
As in the first embodiment, after the reset is released, the sub-CPU 20 transfers the updated program from the non-volatile memory to the
図9は、図6の情報処理装置102においてバリッド信号VALID0のアサート中にマスク制御信号MASKENがアサートされた場合の動作の一例を示すタイミング図である。すなわち、図9は、情報処理装置102の制御方法の一例を示す。図2および図3と同様の動作については、詳細な説明は省略する。図9において、ビジーカウンタBCOUNTおよびビジー信号BUSY以外の波形は、図3と同様である。
Figure 9 is a timing diagram showing an example of the operation when the mask control signal MASKEN is asserted while the valid signal VALID0 is asserted in the
図8と同様にビジー監視部64は、バリッド信号VALIDとレディ信号READYとのアサートを検出した場合、ビジーカウンタBCOUNTを"1"増加する(図9(a))。ビジー監視部64は、ビジーカウンタBCOUNTが"0"でなくなったことに応答してビジー信号BUSYをハイレベルにアサートする(図9(b))。
As in FIG. 8, when the busy monitoring
また、ビジー監視部64は、完了通知信号ENDのアサートに応答してビジーカウンタBCOUNTを"1"減少する(図9(c))。ビジー監視部64は、ビジーカウンタBCOUNTが"0"になったことに応答してビジー信号BUSYをロウレベルにネゲートする(図9(d))。
In addition, the busy monitoring
メインCPU10は、図8と同様に、マスク制御信号MASKENのアサート後、ビジー信号BUSYがロウレベルになるのを待ち、ビジー信号BUSYのロウレベルへの変化に基づいて、サブCPU20にリセット信号RESETを出力する(図9(e))。そして、サブCPU20は、リセットが解除された後、アップデート後のプログラムを不揮発性メモリからメモリ30に転送し、アップデート後のプログラムのフェッチを開始する。
As in FIG. 8, after asserting the mask control signal MASKEN, the
図10は、図6の情報処理装置102においてメインCPU10によりサブCPU20をリセットする場合の動作の一例を示すフロー図である。すなわち、図10は、情報処理装置102の制御方法の一例を示す。図5と同様の動作については、同じ符号を付し、詳細な説明は省略する。図10では、メインCPU10は、図5のステップS14の代わりにステップS15を実行する。
Figure 10 is a flow diagram showing an example of the operation when the
メインCPU10は、ステップS12においてマスク信号IMASKがアサートされた場合、ステップS15を実行する。ステップS15において、メインCPU10は、ビジー信号BUSYがネゲートされたか否かを判定し、ビジー信号BUSYがネゲートされた場合、ステップS16を実行し、サブCPU20をリセットする。
If the mask signal IMASK is asserted in step S12, the
以上、第2の実施形態のおいても第1の実施形態と同様の効果を得ることができる。例えば、CPU20とインターコネクト42との間で実行されるトランザクションとは非同期に外部から受信するマスク制御信号MASKENに基づいて、CPU20とインターコネクト42とのハンドシェイクの成立を抑止することができる。この際、実行中のデータ転送を中断させることなく、CPU20とインターコネクト42とのハンドシェイクの成立を抑止することができる。したがって、マスク制御信号MASKENのアサート後にCPU10が出力するリセット信号RESETによりCPU20がリセットされるときに、CPU20とインターコネクト42との間でのトランザクションの実行を抑止することができる。この結果、トランザクションを実行中にCPU20がリセットされることに起因して、インターコネクト42がストールすることを抑止することができ、ストールに伴う再起動によるダウンタイムの発生を抑止することができる。
As described above, the second embodiment can achieve the same effect as the first embodiment. For example, the establishment of a handshake between the
さらに、第2の実施形態では、インタフェース制御回路60にビジー監視部64を設けることにより、メインCPU10は、ビジー信号BUSYの論理レベルに基づいて、サブCPU20によりトランザクションの実行期間を検出することができる。ビジー監視部64は、ハンドシェイクの成立数と完了通知信号ENDのアサート数(出力数)とが不一致の場合にビジー信号BUSYをアサートすることで、トランザクションの実行期間に合わせてビジー信号BUSYを出力することができる。
Furthermore, in the second embodiment, by providing a busy monitoring
ビジー監視部64は、ハンドシェイクの成立に応答してカウント値を"1"増加し、完了通知信号ENDに応答してカウント値を"1"減少するビジーカウンタBCOUNTを有する。このため、ビジー監視部64は、ビジーカウンタBCOUNTが"0"以外である場合、ビジー信号BUSYをアサートすることで、サブCPU20とインターコネクト42間でのトランザクションの実行期間に合わせてビジー信号BUSYを出力することができる。
The busy monitoring
図11は、本発明の第3の実施形態に係る情報処理装置の一例を示すブロック図である。図1および図6と同様の要素については、同じ符号を付し、詳細な説明を省略する。図11に示す情報処理装置104は、図1のインタフェース制御回路50およびインターコネクト40の代わりに、インタフェース制御回路70およびインターコネクト44を有する。情報処理装置104のその他の構成は、CPU20とインターコネクト44との通信に使用される通信プロトコルが上述した実施形態と異なることを除き、図1に示した情報処理装置100と同様である。インタフェース制御回路70は、マスク制御部72およびビジー監視部74を有する。
Figure 11 is a block diagram showing an example of an information processing device according to a third embodiment of the present invention. Elements similar to those in Figures 1 and 6 are given the same reference numerals and detailed description is omitted. The
この実施形態では、サブCPU20とインターコネクト44との通信に使用される通信プロトコルは、例えば、AMBA(Advanced Microcontroller Bus Architecture) AXI(Advanced eXtensible Interface)バスプロトコルである。AXIバスはアドレスチャネルとデータチャネルとが独立しており、データチャネルでは、リードチャネルとライトチャネルとが別々に存在している。
In this embodiment, the communication protocol used for communication between the sub-CPU 20 and the
図11には、リードチャネルに関する信号を示している。リードチャネルでは、アドレスチャネルのハンドシェイクが成立した後にデータのハンドシェイクを成立させるという順序制約がある。そのため、マスク制御部72は、アドレスチャネルの制御信号を使用して、マスク制御を実行する。
Figure 11 shows signals related to the read channel. In the read channel, there is a sequence constraint that the data handshake must be established after the address channel handshake. Therefore, the
具体的には、マスク制御部72は、メインCPU10から出力されるマスク制御信号MASKENがネゲート中、サブCPU20から出力されるアドレスバリッド信号ARVALID0をアドレスバリッド信号ARVALIDとしてインターコネクト44に出力する。マスク制御部72は、マスク制御信号MASKENがアサート中、アドレスバリッド信号ARVALID0の論理レベルにかかわらず、アドレスバリッド信号ARVALIDのネゲート状態を維持する。すなわち、マスク制御部72は、アドレスバリッド信号ARVALIDのインターコネクト44への転送を抑止することで、アドレスチャネルのハンドシェイクを抑止する。マスク制御部72は、バリッド信号VALID0、VALIDの代わりに、アドレスバリッド信号ARVALID0、ARVALIDを使用することを除き、図1のマスク制御部52と同様の機能を有する。
Specifically, while the mask control signal MASKEN output from the
ビジー監視部74は、初期状態において"0"にリセットされるビジーカウンタBCOUNTを有する。ビジー監視部74は、アドレスバリッド信号ARVALID、アドレスレディ信号ARREADY、リードレディ信号RREADY、リードバリッドRVALIDおよびリードラスト信号RLASTに基づいて、ビジー信号BUSYをアサートまたはネゲートする。
The busy monitoring
具体的には、ビジー監視部74は、アドレスバリッド信号ARVALIDとアドレスレディ信号ARREADYとのアサートによるハンドシェイクの成立に応答してビジーカウンタBCOUNTを"1"増加する。ビジー監視部74は、リードバリッド信号RVALID、リードレディ信号RREADYおよびリードラスト信号RLASTのアサートに応答してビジーカウンタBCOUNTを"1"減少する。そして、ビジー監視部74は、ビジーカウンタBCOUNTが"0"以外の時にビジー信号BUSYをアサートし、ビジーカウンタBCOUNTが"0"の時にビジー信号BUSYをネゲートする。
Specifically, the busy monitoring
ビジー信号BUSYのアサート期間は、ハンドシェイクが成立したが、完了していないトランザクションがあることを示す。なお、AXIバスプロトコルは、バーストリードが可能なため、リードバリッド信号RVALIDとリードレディ信号RREADYとのアサートに加えて、バーストリードの終了を示すリードラスト信号RLASTのアサートも監視する必要がある。 The assertion period of the busy signal BUSY indicates that the handshake has been established, but there is a transaction that has not yet been completed. Note that since the AXI bus protocol allows burst reads, in addition to the assertion of the read valid signal RVALID and the read ready signal RREADY, it is also necessary to monitor the assertion of the read last signal RLAST, which indicates the end of a burst read.
このように、ビジー監視部74は、アドレスチャネルのハンドシェイクの成立数と、リードチャネルのバースト完了数とを比較することで、サブCPU20とインターコネクト44との間にトランザクションが存在するか否かを検出する。ここで、アドレスチャネルのハンドシェイクの成立数は、アドレスバリッド信号ARVALIDとアドレスレディ信号ARREADYとが同時にアサートされた数である。リードチャネルのバースト完了数は、リードバリッド信号RVALID、リードレディ信号RREADYおよびリードラスト信号RLASTが同時にアサートされた数である。
In this way, the busy monitoring
インターコネクト44は、図6のインターコネクト42と同様に、データDATAの受信を待たずに次の転送要求を発行できるアウトスタンディングトランザクションの機能を有する。インターコネクト44のその他の機能は、アドレスチャネル、リードチャネルおよびライトチャネル毎に通信を制御する機能を有することを除き、図1のインターコネクト40の機能と同様である。
Similar to the
図12は、図11の情報処理装置104の動作の一例を示すタイミング図である。すなわち、図12は、情報処理装置104の制御方法の一例を示す。図2および図7と同様の動作については、詳細な説明は省略する。図12では、マスク制御信号MASKENは、ネゲート状態を維持するとする。
Figure 12 is a timing diagram showing an example of the operation of the
図12では、サブCPU20は、トランザクションA、Bを実行するためのアドレスバリッド信号ARVALID0を、データ転送の完了を待つことなく順次出力する(図12(a)、(b))。マスク制御部72は、マスク制御信号MASKENがネゲートされているため、各アドレスバリッド信号ARVALID0に応答してアドレスバリッド信号ARVALIDをインターコネクト44に出力する(図12(c)、(d))。
In FIG. 12, the sub-CPU 20 sequentially outputs address valid signals ARVALID0 for executing transactions A and B without waiting for the completion of data transfer (FIG. 12(a) and (b)). Because the mask control signal MASKEN is negated, the
インターコネクト44は、各アドレスバリッド信号ARVALIDの受信に基づいて、アドレスレディ信号ARREADY(A、B)をサブCPU20に出力する(図12(e)、(f))。
Based on receiving each address valid signal ARVALID, the
ビジー監視部74は、最初のアドレスバリッド信号ARVALIDとアドレスレディ信号ARREADYとのアサートに応答してビジーカウンタBCOUNTを"1"増加し、ビジー信号BUSYをアサートする(図12(g)、(h))。ビジー監視部74は、2番目のアドレスバリッド信号ARVALIDとアドレスレディ信号ARREADYとのアサートに応答してビジー監視部を"1"増加し、ビジー信号BUSYのアサート状態を維持する(図12(i)、(j))。
In response to the assertion of the first address valid signal ARVALID and the address ready signal ARREADY, the busy monitoring
サブCPU20は、アドレスレディ信号ARREADYの受信に基づいて、リードレディ信号RREADYをアサートする(図12(k))。インターコネクト44は、リードレディ信号RREADYのアサートに基づいて、リードバリッドRVALIDをサブCPU20に出力し、データ転送Aを開始する(図12(l))。インターコネクト44は、トランザクションAの最終のデータの出力とともに、リードバリッドRVALIDおよびリードラスト信号RLASTをサブCPU20に出力する(図12(m)、(n))。
The sub-CPU 20 asserts a read ready signal RREADY based on receiving the address ready signal ARREADY (FIG. 12(k)). Based on the assertion of the read ready signal RREADY, the
ビジー監視部74は、リードレディ信号RREADY、リードバリッドRVALIDおよびリードラスト信号RLASTのアサートの検出に応答して、ビジーカウンタBCOUNTを"1"減少する(図12(o))。ビジー監視部74は、ビジーカウンタBCOUNTが"0"でないため、ビジー信号BUSYのアサート状態を維持する(図12(p))。
In response to detecting the assertion of the read ready signal RREADY, the read valid RVALID, and the read last signal RLAST, the busy monitoring
この後、トランザクションBのデータ転送Bが実行される。インターコネクト44は、トランザクションBの最終のデータの出力とともに、リードバリッドRVALIDおよびリードラスト信号RLASTをサブCPU20に出力する(図12(q)、(r))。ビジー監視部74は、リードレディ信号RREADY、リードバリッドRVALIDおよびリードラスト信号RLASTのアサートの検出に応答して、ビジーカウンタBCOUNTを"1"減少する(図12(s))。ビジー監視部74は、ビジーカウンタBCOUNTが"0"になったため、ビジー信号BUSYのネゲートする(図12(t))。
After this, data transfer B of transaction B is executed. The
なお、図12において、例えば、マスク制御信号MASKENが、1番目のアドレスバリッド信号ARVALID0のアサート中にアサートされた場合、2番目のアドレスバリッド信号ARVALID0は生成されず、データ転送Aのみが実行される。この場合、ビジー信号BUSYは、図12(n)に示したリードラスト信号RLASTに基づいてネゲートされる。 In FIG. 12, for example, if the mask control signal MASKEN is asserted while the first address valid signal ARVALID0 is asserted, the second address valid signal ARVALID0 is not generated and only data transfer A is executed. In this case, the busy signal BUSY is negated based on the read last signal RLAST shown in FIG. 12(n).
以上、第3の実施形態においても、第1および第2の実施形態と同様の効果を得ることができる。さらに、第3の実施形態では、アドレスチャネル、リードチャネルおよびライトチャネルがそれぞれ独立に存在するバスプロトコルにおいても、CPU20とインターコネクト44とのハンドシェイクの成立を抑止することができる。したがって、マスク制御信号MASKENのアサート後にCPU10が出力するリセット信号RESETによりCPU20がリセットされるときに、CPU20とインターコネクト44との間でのトランザクションの実行を抑止することができる。この結果、トランザクションを実行中にCPU20がリセットされることに起因して、インターコネクト44がストールすることを抑止することができ、ストールに伴う再起動によるダウンタイムの発生を抑止することができる。
As described above, the third embodiment can achieve the same effects as the first and second embodiments. Furthermore, in the third embodiment, even in a bus protocol in which the address channel, the read channel, and the write channel exist independently, it is possible to prevent the establishment of a handshake between the
以上、各実施形態に基づき本発明の説明を行ってきたが、上記実施形態に示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することができ、その応用形態に応じて適切に定めることができる。 The present invention has been described above based on each embodiment, but the present invention is not limited to the requirements shown in the above embodiments. These points can be changed without departing from the spirit of the present invention, and can be appropriately determined according to the application form.
10、20 CPU
30 メモリ
40、42、44 インターコネクト
50、60、70 インタフェース制御回路
52、62、72 マスク制御部
64、74 ビジー監視部
100、102、104 情報処理装置
ARREADY アドレスレディ信号
ARVALID、ARVALID0 アドレスバリッド信号
BCOUNT ビジーカウンタ
BUSY ビジー信号
CLK クロック
DATA データ
END 完了通知信号
IMASK マスク信号
MASKEN マスク制御信号
READY レディ信号
RESET リセット信号
RLAST リードラスト信号
RREADY リードレディ信号
RVALID リードバリッド
VALID、VALID0 バリッド信号
10, 20 CPU
30
Claims (7)
前記ハンドシェイクを抑止する抑止要求信号を出力する第2マスタと、
前記第1マスタと前記スレーブとの間のデータの転送を制御するインターコネクトと、
前記第1マスタと前記インターコネクトとの間に設けられ、前記抑止要求信号の受信中に、前記第1マスタから発行される前記要求の前記インターコネクトへの転送を抑止し、前記要求の前記インターコネクトへの転送の抑止中を示す抑止中信号を出力するマスク制御部を含むインタフェース制御回路と、
を有し、
前記第2マスタは、前記抑止中信号の受信に基づいて、前記第1マスタにリセット信号を出力すること
を特徴とする情報処理装置。 a first master and a slave for transferring data based on a handshake of a request and a response to the request;
a second master that outputs an inhibition request signal to inhibit the handshake;
an interconnect for controlling transfer of data between the first master and the slave;
an interface control circuit including a mask control unit that is provided between the first master and the interconnect and that inhibits transfer of the request issued by the first master to the interconnect while the inhibition request signal is being received, and outputs an inhibition-on-transfer signal indicating that the transfer of the request to the interconnect is being inhibited;
having
The second master outputs a reset signal to the first master based on receipt of the inhibited signal.
An information processing device comprising:
前記マスク制御部は、前記抑止要求信号の受信中に、前記第1マスタから発行される前記要求であるアドレスバリッド信号の前記インターコネクトへの転送を抑止することで、前記アドレスチャネルの前記ハンドシェイクを抑止すること
を特徴とする請求項1に記載の情報処理装置。 a communication protocol used in communication between the first master and the interconnect includes an address channel used for communicating addresses, and a read channel and a write channel used for transferring data;
2. The information processing device according to claim 1, wherein the mask control unit inhibits the handshake of the address channel by inhibiting the transfer of an address valid signal, which is the request issued from the first master, to the interconnect while receiving the inhibition request signal.
前記第1マスタは、前記要求に基づいて前記インターコネクトとの間でデータ転送中に次の要求を発行可能であること
を特徴とする請求項1または請求項2に記載の情報処理装置。 the interface control circuit further includes a busy monitor unit that outputs a busy signal while detecting a data transfer between the first master and the interconnect that is executed based on the request from the first master that was issued before receiving the inhibition request signal;
3. The information processing device according to claim 1, wherein the first master is capable of issuing a next request while data is being transferred between the first master and the interconnect based on the request.
前記ビジー監視部は、前記ハンドシェイクの成立数と前記完了通知信号の出力数とが不一致の期間、前記ビジー信号を出力すること
を特徴とする請求項3に記載の情報処理装置。 the interconnect outputs a completion notification signal to the first master upon completion of a data transfer corresponding to each of the responses;
The information processing device according to claim 3 , wherein the busy monitoring unit outputs the busy signal during a period in which the number of successful handshakes does not match the number of completion notification signals output.
前記第1マスタは、情報処理装置の動作中に常時動作し、前記低電力モード中に前記メインCPUの代わりに動作するサブCPUであること
を特徴とする請求項1ないし請求項4のいずれか1項に記載の情報処理装置。 the second master is a main CPU that is turned off during a low power mode of the information processing device;
5. The information processing apparatus according to claim 1, wherein the first master is a sub-CPU that operates constantly during operation of the information processing apparatus and operates in place of the main CPU during the low power mode.
前記第2マスタが、前記ハンドシェイクを抑止する抑止要求信号を出力し、
前記インタフェース制御回路のマスク制御部が、前記抑止要求信号の受信中に前記第1マスタから発行される前記要求の前記インターコネクトへの転送を抑止し、前記要求の前記インターコネクトへの転送の抑止中を示す抑止中信号を出力し、
前記第2マスタが、前記抑止中信号の受信に基づいて、前記第1マスタにリセット信号を出力すること
を特徴とする情報処理装置の制御方法。 A method for controlling an information processing device having a first master and a slave that transfer data based on a handshake between a request and a response to the request, an interconnect that controls data transfer between the first master and the slave, an interface control circuit provided between the first master and the interconnect, and a second master, comprising:
the second master outputs an inhibition request signal to inhibit the handshake;
a mask control unit of the interface control circuit inhibits transfer of the request issued by the first master to the interconnect while receiving the inhibition request signal, and outputs an inhibition-on-transfer signal indicating that transfer of the request to the interconnect is being inhibited;
the second master outputs a reset signal to the first master based on receipt of the inhibited signal.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020074271A JP7476640B2 (en) | 2020-04-17 | 2020-04-17 | Information processing device, interface control circuit, and method for controlling information processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020074271A JP7476640B2 (en) | 2020-04-17 | 2020-04-17 | Information processing device, interface control circuit, and method for controlling information processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021174018A JP2021174018A (en) | 2021-11-01 |
JP7476640B2 true JP7476640B2 (en) | 2024-05-01 |
Family
ID=78281805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020074271A Active JP7476640B2 (en) | 2020-04-17 | 2020-04-17 | Information processing device, interface control circuit, and method for controlling information processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7476640B2 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012043171A (en) | 2010-08-19 | 2012-03-01 | Sony Corp | Bus system and bridge circuit for connecting bus system and connection device |
JP2014079959A (en) | 2012-10-17 | 2014-05-08 | Ricoh Co Ltd | Information processing device, image forming apparatus, operation mode shifting method |
WO2014156282A1 (en) | 2013-03-25 | 2014-10-02 | 三菱電機株式会社 | Bus master, bus system, and bus control method |
JP2016015158A (en) | 2015-09-02 | 2016-01-28 | ルネサスエレクトロニクス株式会社 | Semiconductor device |
-
2020
- 2020-04-17 JP JP2020074271A patent/JP7476640B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012043171A (en) | 2010-08-19 | 2012-03-01 | Sony Corp | Bus system and bridge circuit for connecting bus system and connection device |
JP2014079959A (en) | 2012-10-17 | 2014-05-08 | Ricoh Co Ltd | Information processing device, image forming apparatus, operation mode shifting method |
WO2014156282A1 (en) | 2013-03-25 | 2014-10-02 | 三菱電機株式会社 | Bus master, bus system, and bus control method |
JP2016015158A (en) | 2015-09-02 | 2016-01-28 | ルネサスエレクトロニクス株式会社 | Semiconductor device |
Also Published As
Publication number | Publication date |
---|---|
JP2021174018A (en) | 2021-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI558161B (en) | Image forming apparatus and method for controlling the same | |
KR101386128B1 (en) | Direct Memory Access Controller | |
KR101997316B1 (en) | Control apparatus, control method of control apparatus, and storage medium | |
US20020161941A1 (en) | System and method for efficiently performing a data transfer operation | |
US8351805B2 (en) | Power saving processing apparatus, image forming apparatus, and computer readable medium that are adaptable to abnormalities | |
US8339869B2 (en) | Semiconductor device and data processor | |
US20060059489A1 (en) | Parallel processing system, interconnection network, node and network control method, and program therefor | |
JP2010140361A (en) | Computer system and abnormality detection circuit | |
TW201638771A (en) | Microcontroller device with multiple independent microcontrollers | |
JP2012155534A (en) | Electronic device, and method and program of the same | |
US7480812B2 (en) | Microprocessor | |
JPH11134292A (en) | Memory control system using bus of pipeline system | |
JP6425492B2 (en) | INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND PROGRAM | |
JP7476640B2 (en) | Information processing device, interface control circuit, and method for controlling information processing device | |
JP2019212027A (en) | Image processing system, control method therefor, and program | |
US20180183963A1 (en) | Information processing apparatus, method for controlling information processing apparatus, and program | |
KR100464158B1 (en) | Method and apparatus for preserving the contents of synchronous dram through system reset | |
JP6586765B2 (en) | Access blocking circuit, semiconductor integrated circuit, and access blocking method | |
JP7468112B2 (en) | INTERFACE CIRCUIT AND METHOD FOR CONTROLLING INTERFACE CIRCUIT - Patent application | |
JP5665529B2 (en) | Information processing apparatus, control method therefor, and program | |
JP2015148978A (en) | Information processor and control method for information processor | |
JP2007052685A (en) | Microcontroller | |
WO1996042056A1 (en) | A cache flush mechanism for a secondary cache memory | |
JP2002108640A (en) | Duplex system, single processor system and sub-board | |
CN115658601A (en) | Multi-core processor system and control method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230213 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20231205 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240109 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240307 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240319 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240401 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7476640 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |