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 PDF

Info

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
Application number
JP2020074271A
Other languages
Japanese (ja)
Other versions
JP2021174018A (en
Inventor
勇人 藤田
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2020074271A priority Critical patent/JP7476640B2/en
Publication of JP2021174018A publication Critical patent/JP2021174018A/en
Application granted granted Critical
Publication of JP7476640B2 publication Critical patent/JP7476640B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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.

本発明の第1実施形態に係る情報処理装置の一例を示すブロック図である。1 is a block diagram showing an example of an information processing apparatus according to a first embodiment of the present invention. 図1の情報処理装置においてバリッド信号のネゲート中にマスク制御信号がアサートされた場合の動作の一例を示すタイミング図である。1. FIG. 4 is a timing diagram showing an example of an operation when a mask control signal is asserted while a valid signal is being negated in the information processing device of FIG. 図1の情報処理装置においてバリッド信号のアサート中にマスク制御信号がアサートされた場合の動作の一例を示すタイミング図である。1. FIG. 4 is a timing diagram showing an example of an operation when a mask control signal is asserted while a valid signal is asserted in the information processing device of FIG. 図1の情報処理装置においてバリッド信号のネゲート中にマスク制御信号がアサートされた場合の動作の別の例を示すタイミング図である。1. FIG. 11 is a timing diagram showing another example of the operation when the mask control signal is asserted while the valid signal is being negated in the information processing device of FIG. 図1の情報処理装置においてメインCPUによりサブCPUをリセットする場合の動作の一例を示すフロー図である。1. FIG. 4 is a flow chart showing an example of an operation when a sub-CPU is reset by a main CPU in the information processing device of FIG. 本発明の第2の実施形態に係る情報処理装置の一例を示すブロック図である。FIG. 11 is a block diagram showing an example of an information processing apparatus according to a second embodiment of the present invention. 図6の情報処理装置の動作(アウトスタンディングトランザクション)の一例を示すタイミング図である。7 is a timing diagram showing an example of an operation (outstanding transaction) of the information processing device of FIG. 6. 図6の情報処理装置においてバリッド信号のネゲート中にマスク制御信号がアサートされた場合の動作の一例を示すタイミング図である。7 is a timing diagram showing an example of an operation when a mask control signal is asserted while a valid signal is being negated in the information processing device of FIG. 6; 図6の情報処理装置においてバリッド信号のアサート中にマスク制御信号がアサートされた場合の動作の一例を示すタイミング図である。7 is a timing diagram showing an example of an operation when a mask control signal is asserted while a valid signal is asserted in the information processing device of FIG. 6; 図6の情報処理装置においてメインCPUによりサブCPUをリセットする場合の動作の一例を示すフロー図である。7 is a flow chart showing an example of an operation when a sub-CPU is reset by a main CPU in the information processing device of FIG. 6; 本発明の第3の実施形態に係る情報処理装置の一例を示すブロック図である。FIG. 13 is a block diagram showing an example of an information processing apparatus according to a third embodiment of the present invention. 図11の情報処理装置の動作の一例を示すタイミング図である。12 is a timing chart showing an example of an operation of the information processing device of FIG. 11 .

以下、図面を参照して実施の形態の説明を行う。なお、各図面において、同一構成部分には同一符号を付し、重複した説明を省略する場合がある。 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 information processing apparatus 100 shown in Fig. 1 has CPUs 10 and 20, a memory 30, an interconnect 40, and an interface control circuit 50. Although not particularly limited, for example, the information processing apparatus 100 is an image forming apparatus such as an MFP (Multifunction Printer), and has a copy function, a facsimile function, a print function, a scanner function, etc.

CPU10、20は、メモリ30に対してマスタとして動作し、メモリ30は、CPU10、20に対してスレーブとして動作する。なお、CPU10は、マスタ制御装置または第2マスタの一例であり、CPU20は、マスタまたは第1マスタの一例である。インターコネクト40は、マスタであるCPU20と通信するとき、スレーブとして機能する。 The CPUs 10 and 20 act as masters with respect to the memory 30, and the memory 30 acts as a slave with respect to the CPUs 10 and 20. Note that the CPU 10 is an example of a master control device or a second master, and the CPU 20 is an example of a master or a first master. The interconnect 40 functions as a slave when communicating with the CPU 20, which is the master.

CPU10、20とメモリ30とは、要求と、要求に対する応答とによるハンドシェイクに基づいてデータを転送する。インターコネクト40は、CPU10、20とメモリ30との間のデータの転送を制御する。なお、要求と、要求に対する応答とによるハンドシェイクに基づくデータ転送は、CPU20とインターコネクト40との間でも実行される。 The CPUs 10, 20 and the memory 30 transfer data based on a handshake consisting of a request and a response to the request. The interconnect 40 controls the transfer of data between the CPUs 10, 20 and the memory 30. Note that data transfer based on a handshake consisting of a request and a response to the request is also performed between the CPU 20 and the interconnect 40.

例えば、CPU10は、通常動作モード中に情報処理装置100の全体の動作を制御し、省エネモード等の低電力モード中に電源がオフされる。CPU20は、情報処理装置100の動作中(通常動作モード中と省エネモード中)常時動作し、省エネモード中にCPU10に代わって情報処理装置100の一部の機能を制御する。例えば、メインCPU10およびサブCPU20は、インターコネクト40を介してメモリ30に格納されているプログラムをそれぞれフェッチして動作する。 For example, the CPU 10 controls the overall operation of the information processing device 100 during normal operation mode, and is powered off during low power modes such as energy saving mode. The CPU 20 operates constantly while the information processing device 100 is in operation (during normal operation mode and energy saving mode), and controls some of the functions of the information processing device 100 in place of the CPU 10 during energy saving mode. For example, the main CPU 10 and the sub-CPU 20 each fetch programs stored in the memory 30 via the interconnect 40 and operate.

CPU10は、例えば、CPU20が実行するプログラムの書き換え時(OSまたはファームウェア等のアップデート時)に、CPU20にリセット信号RESETを発行し、CPU20をリセットして再起動させる機能を有する。以下では、CPU10をメインCPU10とも称し、CPU20をサブCPU20とも称する。メモリ30は、例えば、SDRAM(Synchronous Dynamic Random Access Memory)である。 The CPU 10 has a function of issuing a reset signal RESET to the CPU 20 to reset and restart the CPU 20, for example, when a program executed by the CPU 20 is rewritten (when updating the OS or firmware, etc.). Hereinafter, the CPU 10 is also referred to as the main CPU 10, and the CPU 20 is also referred to as the sub-CPU 20. The memory 30 is, for example, a Synchronous Dynamic Random Access Memory (SDRAM).

インターコネクト40は、メインCPU10およびサブCPU20からのメモリ30へのアクセス要求を調停し、アクセス要求(読み出し要求または書き込み要求)に応じてメモリ30に読み出し動作または書き込み動作を実行させる。インターコネクト40は、メモリ30から読み出したデータ(プログラム)を、読み出し要求の発行元のCPU(メインCPU10またはサブCPU20)に出力する。 The interconnect 40 arbitrates access requests from the main CPU 10 and the sub-CPU 20 to the memory 30, and causes the memory 30 to execute a read or write operation in response to the access request (read request or write request). The interconnect 40 outputs data (programs) read from the memory 30 to the CPU (main CPU 10 or sub-CPU 20) that issued the read request.

例えば、インターコネクト40は、バリッド信号VALIDとレディ信号READYとに基づいて、マスタ(図1の例ではCPU20)とハンドシェイクする。バリッド信号VALIDは、マスタが出力するデータ(情報)が有効であるときに、マスタによりアサートされる。レディ信号READYは、データまたは制御信号の受信の準備が完了した場合、スレーブ(図1の例では、インターコネクト40)によりアサートされる。 For example, the interconnect 40 performs a handshake with the master (CPU 20 in the example of FIG. 1) based on the valid signal VALID and the ready signal READY. The valid signal VALID is asserted by the master when the data (information) output by the master is valid. The ready signal READY is asserted by the slave (interconnect 40 in the example of FIG. 1) when preparations for receiving data or control signals are complete.

そして、バリッド信号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 interconnect 40, for example, executes a transaction to transfer data DATA read from the memory 30 to the CPU 20, and outputs a completion notification signal END to the CPU 20 in synchronization with the transfer of the final data DATA to the sub-CPU 20. The completion notification signal END indicates the completion of the transaction to transfer data read from the memory 30 to the CPU 20. An example of a transaction using a valid signal VALID and a ready signal READY is described in FIG. 2 and subsequent figures.

インタフェース制御回路50は、マスク制御部52を含む。マスク制御部52は、メインCPU10から出力されるマスク制御信号MASKENがネゲート中、サブCPU20から出力されるバリッド信号VALID0をバリッド信号VALIDとしてインターコネクト40に出力する。例えば、マスク制御部52は、バリッド信号VALIDを出力するまでバリッド信号VALID0の論理レベルを保持する機能を有してもよい。マスク制御部52は、マスク制御信号MASKENがアサート中、バリッド信号VALID0の論理レベルにかかわらず、バリッド信号VALIDのネゲート状態を維持する。 The interface control circuit 50 includes a mask control unit 52. While the mask control signal MASKEN output from the main CPU 10 is negated, the mask control unit 52 outputs the valid signal VALID0 output from the sub CPU 20 to the interconnect 40 as the valid signal VALID. For example, the mask control unit 52 may have a function of holding the logical level of the valid signal VALID0 until it outputs the valid signal VALID. While the mask control signal MASKEN is asserted, the mask control unit 52 maintains the negated state of the valid signal VALID regardless of the logical level of the valid signal VALID0.

このように、マスク制御信号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 interconnect 40 is inhibited. While the mask control signal MASKEN is asserted, the interconnect 40 does not receive the valid signal VALID and therefore does not output the ready signal READY. Therefore, the establishment of a handshake can be inhibited based on the mask control signal MASKEN that is received from the outside asynchronously with the transaction between the CPU 20 and the interconnect 40. The mask control signal MASKEN is an example of an inhibition request signal that inhibits a handshake.

マスク制御部52は、マスク制御信号MASKENのアサートを検出した場合、マスク信号IMASKをアサートし、マスク制御信号MASKENのネゲートを検出した場合、マスク信号IMASKをネゲートする。マスク信号IMASKは、メインCPU10に入力される。 When the mask control unit 52 detects that the mask control signal MASKEN is asserted, it asserts the mask signal IMASK, and when it detects that the mask control signal MASKEN is negated, it negates the mask signal IMASK. The mask signal IMASK is input to the main CPU 10.

マスク信号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 interconnect 40 is being inhibited. The negation period of the mask signal IMASK indicates that the inhibition of the transfer of the valid signal VALID to the interconnect 40 is not being executed. The main CPU 10 that receives the mask signal IMASK can confirm that the assertion of the valid signal VALID is being inhibited by the mask control unit 52 according to the logic level of the mask signal IMASK. The mask signal IMASK is an example of an inhibited signal that indicates that the transfer of the valid signal VALID to the interconnect 40 is being inhibited.

なお、図1では、CPU10、20、メモリ30、インターコネクト40およびインタフェース制御回路50にそれぞれクロックCLKが供給されるが、クロックCLKの種類およびクロックCLKの周波数は、互いに相違してもよい。 In FIG. 1, the clock CLK is supplied to each of the CPUs 10 and 20, the memory 30, the interconnect 40, and the interface control circuit 50, but the type and frequency of the clock CLK may be different from each other.

図2は、図1の情報処理装置100においてバリッド信号VALID0のネゲート中にマスク制御信号MASKENがアサートされた場合の動作の一例を示すタイミング図である。すなわち、図2は、情報処理装置100の制御方法の一例を示す。 Figure 2 is a timing diagram showing an example of the operation of the information processing device 100 of Figure 1 when the mask control signal MASKEN is asserted while the valid signal VALID0 is negated. That is, Figure 2 shows an example of a control method of the information processing device 100.

図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 mask control unit 52 of the interface control circuit 50 asserts the valid signal VALID to a high level (FIG. 2(c)). Based on the reception of the valid signal VALID, the interconnect 40 asserts the ready signal READY to a high level, for example, for one clock cycle (FIG. 2(d)). As a result, the sub-CPU 20 and the interconnect 40 handshake regarding transaction A. The interconnect 40 starts data transfer A, which transfers the data DATA (program) read from the memory 30 to the sub-CPU 20 (FIG. 2(e)).

メインCPU10は、例えば、サブCPU20が実行するプログラムを書き換えるため(アップデート)、マスク制御信号MASKENをハイレベルにアサートする(図2(f))。図2に示す例では、バリッド信号VALID0のネゲート中にマスク制御信号MASKENがアサートされるが、マスク制御信号MASKENのアサートタイミングは、任意である。マスク制御部52は、マスク制御信号MASKENのアサートに基づいて、マスク信号IMASKをハイレベルにアサートする(図2(g))。 For example, the main CPU 10 asserts the mask control signal MASKEN to a high level to rewrite (update) a program executed by the sub CPU 20 (FIG. 2(f)). In the example shown in FIG. 2, the mask control signal MASKEN is asserted while the valid signal VALID0 is negated, but the assertion timing of the mask control signal MASKEN is arbitrary. Based on the assertion of the mask control signal MASKEN, the mask control unit 52 asserts the mask signal IMASK to a high level (FIG. 2(g)).

インターコネクト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 interconnect 40 asserts the completion notification signal END to a high level for, for example, one clock cycle (Figure 2(h)). The sub-CPU 20, which has received the completion notification signal END, asserts the valid signal VALID0 to execute the next transaction (Figure 2(i)).

マスク制御部52は、マスク制御信号MASKENがアサート中のため、バリッド信号VALID0に応答したバリッド信号VALIDのアサートを抑止し、バリッド信号VALIDのネゲート状態を維持する(図2(j))。すなわち、マスク制御部52は、ハンドシェイクを抑止するマスク制御信号MASKENの受信中に、バリッド信号VALID0のインターコネクト40への転送を抑止する。 Because the mask control signal MASKEN is asserted, the mask control unit 52 suppresses assertion of the valid signal VALID in response to the valid signal VALID0, and maintains the negated state of the valid signal VALID (FIG. 2(j)). In other words, the mask control unit 52 suppresses the transfer of the valid signal VALID0 to the interconnect 40 while receiving the mask control signal MASKEN that suppresses the handshake.

インターコネクト40は、バリッド信号VALIDを受信しないため、レディ信号READYのネゲート状態を維持する(図2(k))。これにより、トランザクションAの後続のトランザクションに関して、サブCPU20とインターコネクト40とのハンドシェイクを抑止することができ、サブCPU20へのデータDATAの転送を抑止することができる。 Since the interconnect 40 does not receive the valid signal VALID, it maintains the ready signal READY in a negated state (FIG. 2(k)). This makes it possible to suppress handshakes between the sub-CPU 20 and the interconnect 40 for transactions subsequent to transaction A, and to suppress the transfer of data DATA to the sub-CPU 20.

このように、任意のタイミングで発行されるマスク制御信号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 sub CPU 20 and the interconnect 40 without interrupting the transaction currently being executed. Since the subsequent transaction is not executed, the transaction between the sub CPU 20 and the interconnect 40 is not interrupted even if the sub CPU 20 is reset. In other words, it is possible to prevent the interconnect 40 from stalling due to the interruption of the transaction.

メインCPU10は、マスク制御信号MASKENのアサート後、所定のクロックサイクル数の間、リセット信号RESETをアサートし、サブCPU20をリセットする(図2(l))。なお、インターコネクト40のストールを抑止するために、サブCPU20のリセットは、トランザクションAの実行完了後に実行する必要がある。 After asserting the mask control signal MASKEN, the main CPU 10 asserts the reset signal RESET for a predetermined number of clock cycles to reset the sub-CPU 20 (FIG. 2(l)). Note that in order to prevent the interconnect 40 from stalling, the reset of the sub-CPU 20 must be performed after the execution of transaction A is completed.

このため、メインCPU10は、マスク制御信号MASKENのアサート後、マスク信号IMASKのアサートを検出し、さらに、トランザクションAの実行が完了するまでの所定のクロックサイクル数を待った後、リセット信号RESETをアサートする。なお、メインCPU10は、インターコネクト40からサブCPU20に出力される完了通知信号ENDを監視してもよい。そして、メインCPU10は、完了通知信号ENDがアサートされた後、リセット信号RESETをアサートしてもよい。 Therefore, after asserting the mask control signal MASKEN, the main CPU 10 detects the assertion of the mask signal IMASK, and then waits a predetermined number of clock cycles until the execution of transaction A is completed, and then asserts the reset signal RESET. The main CPU 10 may also monitor the completion notification signal END output from the interconnect 40 to the sub-CPU 20. Then, the main CPU 10 may assert the reset signal RESET after the completion notification signal END is asserted.

例えば、サブ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 memory 30, and transfers the updated program from the non-volatile memory to the memory 30. The sub-CPU 20 then starts fetching the updated program stored in the memory 30. Note that the program for the sub-CPU 20 in the non-volatile memory is replaced before the sub-CPU 20 is reset.

図3は、図1の情報処理装置100においてバリッド信号VALID0のアサート中にマスク制御信号MASKENがアサートされた場合の動作の一例を示すタイミング図である。すなわち、図3は、情報処理装置100の制御方法の一例を示す。図2と同様の動作については、詳細な説明は省略する。 Figure 3 is a timing diagram showing an example of the operation of the information processing device 100 of Figure 1 when the mask control signal MASKEN is asserted while the valid signal VALID0 is asserted. That is, Figure 3 shows an example of a control method of the information processing device 100. A detailed description of the same operations as those in Figure 2 will be omitted.

図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 mask control unit 52 suppresses the assertion of the mask signal IMASK while the valid signal VALID0 is asserted, and asserts the mask signal IMASK in the next clock cycle after the valid signal VALID0 is negated, for example (FIG. 3(b)). Because the mask signal IMASK is not asserted, it is possible to suppress the negation of valid RVALID by the assertion of the mask control signal MASKEN.

マスク制御部52は、バリッド信号VALID0のアサート中に、マスク信号IMASKのアサートを禁止してバリッドRVALIDのネゲートを抑止する。これにより、インターコネクト40は、バリッド信号VALIDに基づいてレディ信号READYをアサートし、データ転送Aを開始することができる(図3(c))。 The mask control unit 52 inhibits assertion of the mask signal IMASK while asserting the valid signal VALID0, and suppresses the negation of valid RVALID. This allows the interconnect 40 to assert the ready signal READY based on the valid signal VALID, and start data transfer A (Figure 3(c)).

トランザクション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 interconnect 40 can maintain the ready signal READY in a negated state and inhibit the handshake between the sub CPU 20 and the interconnect 40 (FIG. 3(e)). After this, the main CPU 10 asserts the reset signal RESET to reset the sub CPU 20 (FIG. 3(f)). Then, after the reset is released, the sub CPU 20 transfers the updated program from the non-volatile memory to the memory 30 and starts fetching the updated program.

メインCPU10とサブCPU20とは非同期で動作しているため、メインCPU10は、サブCPU20がインターコネクト40との間でトランザクションの途中かどうかを判断できない。しかしながら、この実施形態では、サブCPU20とインターコネクト40との間にインタフェース制御回路50を配置し、メインCPU10が出力するマスク制御信号MASKENによりバリッド信号VALIDのインターコネクト40への出力の可否を制御する。これにより、サブCPU20のトランザクションの実行中にサブCPU20がリセットされることを抑止することができ、トランザクションが完了できないことによりインターコネクト40がストールすることを抑止することができる。 Because the main CPU 10 and sub-CPU 20 operate asynchronously, the main CPU 10 cannot determine whether the sub-CPU 20 is in the middle of a transaction with the interconnect 40. However, in this embodiment, an interface control circuit 50 is placed between the sub-CPU 20 and the interconnect 40, and the mask control signal MASKEN output by the main CPU 10 controls whether or not to output the valid signal VALID to the interconnect 40. This makes it possible to prevent the sub-CPU 20 from being reset while the sub-CPU 20 is executing a transaction, and to prevent the interconnect 40 from stalling due to an inability to complete the transaction.

図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 information processing device 100 of Figure 1. That is, Figure 4 shows an example of a control method for the information processing device 100. Detailed explanations of operations similar to those in Figure 2 will be omitted. Figure 4 shows an example of the operation when the main CPU 10 asserts the mask control signal MASKEN and then negates the mask control signal MASKEN without asserting the reset signal RESET. The operation until the valid signal VALID0 is asserted for the second time is the same as in Figure 2.

サブ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 mask control unit 52 asserts the valid signal VALID according to the valid signal VALID0 (assertion level) that it holds (Figures 4(a) and (b)). For example, the second valid signal VALID corresponds to transaction B.

インターコネクト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 interconnect 40 asserts a ready signal READY based on receiving the valid signal VALID (Figure 4(c)). This causes the sub CPU 20 and the interconnect 40 to handshake regarding transaction B. The interconnect 40 starts data transfer B, which transfers data DATA (program) read from memory 30 to the sub CPU 20 (Figure 4(d)). When the transfer of data DATA to the sub CPU 20 by transaction B is completed, the interconnect 40 asserts a completion notification signal END to a high level (Figure 4(e)). This completes data transfer B of transaction B.

このように、マスク制御部52は、メインCPU10からのマスク制御信号MASKENが一時的にアサートされた場合、マスク制御信号MASKENのネゲート後に、受信したバリッド信号VALID0に基づくトランザクションを継続することができる。したがって、マスク制御信号MASKENが一時的に誤ってアサートされた場合に、トランザクションを実行できない等の不具合の発生を抑止することができる。 In this way, when the mask control signal MASKEN from the main CPU 10 is temporarily asserted, the mask control unit 52 can continue the transaction based on the received valid signal VALID0 after negating the mask control signal MASKEN. Therefore, it is possible to prevent the occurrence of malfunctions such as an inability to execute a transaction when the mask control signal MASKEN is temporarily erroneously asserted.

図5は、図1の情報処理装置100においてメインCPU10によりサブCPU20をリセットする場合の動作の一例を示すフロー図である。すなわち、図5は、情報処理装置100の制御方法の一例を示す。図5に示す動作は、メインCPU10により実行される。 Figure 5 is a flow diagram showing an example of the operation when the main CPU 10 resets the sub-CPU 20 in the information processing device 100 of Figure 1. That is, Figure 5 shows an example of a control method for the information processing device 100. The operation shown in Figure 5 is executed by the main CPU 10.

まず、ステップS10において、メインCPU10は、サブCPU20の動作と無関係な任意のタイミングでマスク制御信号MASKENをアサートする。次に、ステップS12において、メインCPU10は、マスク信号IMASKがアサートされたか否かを判定し、マスク信号IMASKがアサートされた場合、ステップS14を実行する。 First, in step S10, the main CPU 10 asserts the mask control signal MASKEN at any timing unrelated to the operation of the sub-CPU 20. Next, in step S12, the main CPU 10 determines whether the mask signal IMASK has been asserted, and if the mask signal IMASK has been asserted, executes step S14.

ステップS14において、メインCPU10は、所定数のクロックサイクルが経過するのを待ち、ステップS16を実行する。ステップS14で待つ所定数のクロックサイクルは、実行中のトランザクションが完了されるまでのクロックサイクルである。ステップS16において、メインCPU10は、所定の期間、サブCPU20にリセット信号RESETを出力し(アサート)、サブCPU20をリセットする。サブCPU20は、リセット信号RESETを受けて再起動される。 In step S14, the main CPU 10 waits for a predetermined number of clock cycles to elapse, and then executes step S16. The predetermined number of clock cycles to wait in step S14 is the number of clock cycles until the ongoing transaction is completed. In step S16, the main CPU 10 outputs (asserts) a reset signal RESET to the sub CPU 20 for a predetermined period of time, resetting the sub CPU 20. The sub CPU 20 is restarted upon receiving the reset signal RESET.

そして、ステップS18において、メインCPU10は、マスク制御信号MASKENをネゲートすることで、マスク制御部52にバリッド信号VALIDのアサートの抑止を解除させる。そして、サブCPU20は、アップデートされたプログラムのフェッチを開始する。なお、マスク制御信号MASKENは、サブCPU20のリセット期間中にネゲートされてもよい。これにより、サブCPU20は、リセット信号RESETの解除後に出力するバリッド信号VALID0に基づいて、アップデートされたプログラムをフェッチすることができる。 Then, in step S18, the main CPU 10 negates the mask control signal MASKEN, causing the mask control unit 52 to release the inhibition of assertion of the valid signal VALID. The sub CPU 20 then starts fetching the updated program. Note that the mask control signal MASKEN may be negated while the sub CPU 20 is reset. This allows the sub CPU 20 to fetch the updated program based on the valid signal VALID0 that is output after the reset signal RESET is released.

以上、第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 CPU 20 and the interconnect 40 can be suppressed based on the mask control signal MASKEN received from the outside asynchronously with the transaction executed between the CPU 20 and the interconnect 40. At this time, the establishment of a handshake between the CPU 20 and the interconnect 40 can be suppressed without interrupting the data transfer being executed. Therefore, when the CPU 20 is reset by the reset signal RESET output by the CPU 10 after the mask control signal MASKEN is asserted, the execution of a transaction between the CPU 20 and the interconnect 40 can be suppressed.

この結果、トランザクションを実行中にCPU20がリセットされることに起因して、インターコネクト40がストールすることを抑止することができ、ストールに伴う再起動によるダウンタイムの発生を抑止することができる。例えば、CPU20が実行するプログラムのアップデートが、遠隔からのリモートアップデートの場合、インターコネクト40で発生したストールに気付くのが遅れるとダウンタイムが長くなる可能性がある。この実施形態では、インターコネクト40のストールの発生を抑止できるため、アップデートがリモートで実行される場合にも、ダウンタイムの発生を抑止することができる。 As a result, it is possible to prevent the interconnect 40 from stalling due to the CPU 20 being reset while a transaction is being executed, and it is possible to prevent downtime caused by a restart due to a stall. For example, if the program update executed by the CPU 20 is a remote update, a delay in noticing a stall that has occurred in the interconnect 40 may result in a long downtime. In this embodiment, it is possible to prevent the interconnect 40 from stalling, and therefore it is possible to prevent downtime even when an update is executed remotely.

例えば、メインCPU10とサブCPU20とが動作するマルチCPUシステム(情報処理装置100)において、一方のCPUが他方のCPUをリセットする場合に、CPUに接続されたインターコネクト40のストールを抑止することができる。この結果、情報処理装置100のダウンタイムの発生を抑止することができ、ダウンタイムによる情報処理装置100の性能の低下を抑止することができる。 For example, in a multi-CPU system (information processing device 100) in which a main CPU 10 and a sub-CPU 20 are operating, when one CPU resets the other CPU, it is possible to prevent the interconnect 40 connected to the CPU from stalling. As a result, it is possible to prevent downtime of the information processing device 100, and to prevent a decrease in performance of the information processing device 100 due to downtime.

マスク制御部52は、マスク制御信号MASKENの受信に基づいて、マスク信号IMASKをメインCPU10に出力する。このため、メインCPU10は、マスク信号IMASKのレベルに応じて、バリッド信号VALIDのアサートがマスク制御部52により抑止されていることを確認することができる。 The mask control unit 52 outputs a mask signal IMASK to the main CPU 10 based on the reception of the mask control signal MASKEN. Therefore, the main CPU 10 can confirm that the assertion of the valid signal VALID is being suppressed by the mask control unit 52 according to the level of the mask signal IMASK.

(第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 information processing device 102 shown in Fig. 6 has an interface control circuit 60 and an interconnect 42 instead of the interface control circuit 50 and the interconnect 40 in Fig. 1. The other configurations of the information processing device 102 are similar to those of the information processing device 100 shown in Fig. 1.

インターコネクト42は、データ転送中に次の転送要求を発行できるアウトスタンディングトランザクションの機能を有する。例えば、サブCPU20は、サブCPU20とインターコネクト42との間でデータを通信中に、次のバリッド信号VALID0を発行可能である。インターコネクト42のその他の機能は、図1のインターコネクト40の機能と同様である。 The interconnect 42 has an outstanding transaction function that allows it to issue the next transfer request during data transfer. For example, the sub-CPU 20 can issue the next valid signal VALID0 while data is being communicated between the sub-CPU 20 and the interconnect 42. Other functions of the interconnect 42 are similar to those of the interconnect 40 in FIG. 1.

インタフェース制御回路60は、マスク制御部62およびビジー監視部64を有する。マスク制御部62は、図1のインタフェース制御回路50のマスク制御部52と同様の機能を有する。ビジー監視部64は、初期状態において"0"にリセットされるビジーカウンタBCOUNTを有する。 The interface control circuit 60 has a mask control unit 62 and a busy monitoring unit 64. The mask control unit 62 has the same function as the mask control unit 52 of the interface control circuit 50 in FIG. 1. The busy monitoring unit 64 has a busy counter BCOUNT that is reset to "0" in the initial state.

ビジー監視部64は、バリッド信号VALIDとレディ信号READYとによるハンドシェイクの成立に応答してビジーカウンタBCOUNTを"1"増加し、完了通知信号ENDに応答してビジーカウンタBCOUNTを"1"減少する。なお、ビジーカウンタBCOUNTは、ハンドシェイクの成立時に"1"減少され、完了通知信号ENDのアサート時に"1"増加されてもよい。 The busy monitoring unit 64 increments the busy counter BCOUNT by "1" in response to the establishment of a handshake using the valid signal VALID and the ready signal READY, and decrements the busy counter BCOUNT by "1" in response to the completion notification signal END. The busy counter BCOUNT may be decremented by "1" when the handshake is established, and incremented by "1" when the completion notification signal END is asserted.

ビジー監視部64は、ビジーカウンタBCOUNTが"0"以外である場合、サブCPU20とインターコネクト42との間でトランザクションが実行されていることを検出し、ビジー信号BUSYをアサートする。すなわち、ビジー監視部64は、ハンドシェイクの成立数と完了通知信号ENDのアサート数(出力数)とが不一致の場合、ビジー信号BUSYをアサートする。 If the busy counter BCOUNT is other than "0", the busy monitoring unit 64 detects that a transaction is being executed between the sub CPU 20 and the interconnect 42, and asserts the busy signal BUSY. In other words, if the number of handshakes established does not match the number of assertions (outputs) of the completion notification signal END, the busy monitoring unit 64 asserts the busy signal BUSY.

ビジー監視部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 unit 64 detects that no transaction is being executed between the sub CPU 20 and the interconnect 42, and negates the busy signal BUSY. That is, when the number of successful handshakes matches the number of assertions of the completion notification signal END, the busy monitoring unit 64 negates the busy signal BUSY. The assertion period of the busy signal BUSY indicates the period during which data transfer is being executed after a handshake is established using a valid signal VALID and a ready signal READY. The busy monitoring unit 64 may generate the busy signal BUSY using a method other than the busy counter BCOUNT.

図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 information processing device 102 of Figure 6. That is, Figure 7 shows an example of a control method for the information processing device 102. Detailed explanation of operations similar to those in Figure 2 will be omitted. In Figure 7, in order to explain the operation of the outstanding transaction, the mask control signal MASKEN is maintained in a negated state (low level L).

図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 mask control unit 62 outputs valid signals VALID to the interconnect 42 in response to each valid signal VALID0 (FIG. 7(d), (e), (f)).

インターコネクト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 interconnect 42 outputs a ready signal READY (A, B, C) to the sub CPU 20 (FIG. 7(g), (h), (i)). The interconnect 42 reads data from the memory 30 in the order of the received valid signals VALID, and sequentially executes data transfers A, B, C in which the read data is transferred to the sub CPU 20 (FIG. 7(j), (k), (l)). Then, the interconnect 40 sequentially outputs completion notification signals END (A, B, C) to the sub CPU 20 each time data transfers A, B, C are completed (FIG. 7(m), (n), (o)).

ビジー監視部64は、バリッド信号VALIDとレディ信号READYとのアサートを検出する毎にビジーカウンタBCOUNTを"1"増加する(図7(p)、(q)、(r))。また、ビジー監視部64は、完了通知信号ENDのアサートを検出する毎にビジーカウンタBCOUNTを"1"減少する(図7(s)、(t)、(u))。 The busy monitoring unit 64 increments the busy counter BCOUNT by "1" each time it detects the assertion of the valid signal VALID and the ready signal READY (FIG. 7 (p), (q), (r)). The busy monitoring unit 64 also decrements the busy counter BCOUNT by "1" each time it detects the assertion of the completion notification signal END (FIG. 7 (s), (t), (u)).

そして、ビジー監視部64は、ビジーカウンタBCOUNTが"0"の時にビジー信号BUSYをロウレベルにネゲートし、ビジーカウンタBCOUNTが"0"以外の時にビジー信号BUSYをハイレベルにアサートする(図7(v)、(w)、(x))。これにより、メインCPU10は、ビジー信号BUSYの論理レベルに基づいて、サブCPU20によりトランザクションの実行期間を検出することができる。 The busy monitoring unit 64 negates the busy signal BUSY to a low level when the busy counter BCOUNT is "0", and asserts the busy signal BUSY to a high level when the busy counter BCOUNT is other than "0" (Figures 7 (v), (w), (x)). This allows the main CPU 10 to detect the execution period of a transaction by the sub-CPU 20 based on the logical level of the busy signal BUSY.

なお、図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 information processing device 102 of Figure 6. That is, Figure 8 shows an example of a control method for the information processing device 102. Detailed explanations of operations similar to those in Figure 2 will be omitted. In Figure 8, the waveforms other than the busy counter BCOUNT and the busy signal BUSY are the same as those in Figure 2.

図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 unit 64 detects the assertion of the valid signal VALID and the ready signal READY, it increments the busy counter BCOUNT by "1" (FIG. 8(a)). In response to the busy counter BCOUNT no longer being "0", the busy monitoring unit 64 asserts the busy signal BUSY to a high level (FIG. 8(b)).

また、ビジー監視部64は、完了通知信号ENDのアサートに応答してビジーカウンタBCOUNTを"1"減少する(図8(c))。ビジー監視部64は、ビジーカウンタBCOUNTが"0"になったことに応答してビジー信号BUSYをロウレベルにネゲートする(図8(d))。ビジー信号BUSYのアサート期間(ハイレベル期間)は、マスク制御信号MASKENの受信前に発行されたCPU20からのバリッド信号VALID0に基づいて実行されるCPU20とインターコネクト40との間でのデータ転送Aの検出中を示す。 In addition, the busy monitoring unit 64 decrements the busy counter BCOUNT by "1" in response to the assertion of the completion notification signal END (FIG. 8(c)). In response to the busy counter BCOUNT becoming "0", the busy monitoring unit 64 negates the busy signal BUSY to a low level (FIG. 8(d)). The assertion period (high level period) of the busy signal BUSY indicates that data transfer A between the CPU 20 and the interconnect 40, which is executed based on the valid signal VALID0 issued from the CPU 20 before receiving the mask control signal MASKEN, is being detected.

メインCPU10は、マスク制御信号MASKENのアサートにより、インタフェース制御回路60からハイレベルのマスク信号IMASKを受けた後、ビジー信号BUSYがロウレベルになるのを待つ。そして、メインCPU10は、ビジー信号BUSYのロウレベルへの変化に基づいて、サブCPU20とインターコネクト42とのトランザクションが完了したことを検出した後、サブCPU20にリセット信号RESETを出力する(図8(e))。 After receiving a high-level mask signal IMASK from the interface control circuit 60 due to the assertion of the mask control signal MASKEN, the main CPU 10 waits for the busy signal BUSY to go low. Then, based on the busy signal BUSY going low, the main CPU 10 detects that the transaction between the sub-CPU 20 and the interconnect 42 has been completed, and outputs a reset signal RESET to the sub-CPU 20 (Figure 8 (e)).

これにより、トランザクションの実行中に、CPU20がリセットされ、インターコネクト42がストールすることを確実に抑止することができる。また、図7で説明したように、インターコネクト40が、アウトスタンディングトランザクションの機能を有する場合にも、複数のトランザクションのいずれかの実行中にCPU20がリセットされることを抑止することができる。 This reliably prevents the CPU 20 from being reset and the interconnect 42 from stalling during the execution of a transaction. Also, as described in FIG. 7, even if the interconnect 40 has an outstanding transaction function, it is possible to prevent the CPU 20 from being reset during the execution of any of multiple transactions.

サブ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 memory 30 and starts fetching the updated program.

図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 information processing device 102 of Figure 6. That is, Figure 9 shows an example of a control method for the information processing device 102. Detailed explanations of operations similar to those in Figures 2 and 3 will be omitted. In Figure 9, the waveforms other than the busy counter BCOUNT and busy signal BUSY are the same as those in Figure 3.

図8と同様にビジー監視部64は、バリッド信号VALIDとレディ信号READYとのアサートを検出した場合、ビジーカウンタBCOUNTを"1"増加する(図9(a))。ビジー監視部64は、ビジーカウンタBCOUNTが"0"でなくなったことに応答してビジー信号BUSYをハイレベルにアサートする(図9(b))。 As in FIG. 8, when the busy monitoring unit 64 detects the assertion of the valid signal VALID and the ready signal READY, it increments the busy counter BCOUNT by "1" (FIG. 9(a)). In response to the busy counter BCOUNT no longer being "0", the busy monitoring unit 64 asserts the busy signal BUSY to a high level (FIG. 9(b)).

また、ビジー監視部64は、完了通知信号ENDのアサートに応答してビジーカウンタBCOUNTを"1"減少する(図9(c))。ビジー監視部64は、ビジーカウンタBCOUNTが"0"になったことに応答してビジー信号BUSYをロウレベルにネゲートする(図9(d))。 In addition, the busy monitoring unit 64 decrements the busy counter BCOUNT by "1" in response to the assertion of the completion notification signal END (FIG. 9(c)). In response to the busy counter BCOUNT becoming "0", the busy monitoring unit 64 negates the busy signal BUSY to a low level (FIG. 9(d)).

メインCPU10は、図8と同様に、マスク制御信号MASKENのアサート後、ビジー信号BUSYがロウレベルになるのを待ち、ビジー信号BUSYのロウレベルへの変化に基づいて、サブCPU20にリセット信号RESETを出力する(図9(e))。そして、サブCPU20は、リセットが解除された後、アップデート後のプログラムを不揮発性メモリからメモリ30に転送し、アップデート後のプログラムのフェッチを開始する。 As in FIG. 8, after asserting the mask control signal MASKEN, the main CPU 10 waits for the busy signal BUSY to go low, and outputs a reset signal RESET to the sub CPU 20 based on the busy signal BUSY going low (FIG. 9(e)). After the reset is released, the sub CPU 20 transfers the updated program from the non-volatile memory to the memory 30 and starts fetching the updated program.

図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 main CPU 10 resets the sub-CPU 20 in the information processing device 102 of Figure 6. That is, Figure 10 shows an example of a control method for the information processing device 102. Operations similar to those in Figure 5 are given the same reference numerals, and detailed explanations are omitted. In Figure 10, the main CPU 10 executes step S15 instead of step S14 in Figure 5.

メインCPU10は、ステップS12においてマスク信号IMASKがアサートされた場合、ステップS15を実行する。ステップS15において、メインCPU10は、ビジー信号BUSYがネゲートされたか否かを判定し、ビジー信号BUSYがネゲートされた場合、ステップS16を実行し、サブCPU20をリセットする。 If the mask signal IMASK is asserted in step S12, the main CPU 10 executes step S15. In step S15, the main CPU 10 determines whether the busy signal BUSY is negated, and if the busy signal BUSY is negated, executes step S16 and resets the sub-CPU 20.

以上、第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 CPU 20 and the interconnect 42 can be suppressed based on the mask control signal MASKEN received from the outside asynchronously with the transaction executed between the CPU 20 and the interconnect 42. At this time, the establishment of a handshake between the CPU 20 and the interconnect 42 can be suppressed without interrupting the data transfer being executed. Therefore, when the CPU 20 is reset by the reset signal RESET output by the CPU 10 after assertion of the mask control signal MASKEN, the execution of a transaction between the CPU 20 and the interconnect 42 can be suppressed. As a result, it is possible to suppress the interconnect 42 from stalling due to the CPU 20 being reset during the execution of a transaction, and it is possible to suppress the occurrence of downtime due to restarting due to the stall.

さらに、第2の実施形態では、インタフェース制御回路60にビジー監視部64を設けることにより、メインCPU10は、ビジー信号BUSYの論理レベルに基づいて、サブCPU20によりトランザクションの実行期間を検出することができる。ビジー監視部64は、ハンドシェイクの成立数と完了通知信号ENDのアサート数(出力数)とが不一致の場合にビジー信号BUSYをアサートすることで、トランザクションの実行期間に合わせてビジー信号BUSYを出力することができる。 Furthermore, in the second embodiment, by providing a busy monitoring unit 64 in the interface control circuit 60, the main CPU 10 can detect the execution period of a transaction by the sub-CPU 20 based on the logical level of the busy signal BUSY. The busy monitoring unit 64 can output the busy signal BUSY in accordance with the execution period of the transaction by asserting the busy signal BUSY when the number of successful handshakes and the number of assertions (outputs) of the completion notification signal END do not match.

ビジー監視部64は、ハンドシェイクの成立に応答してカウント値を"1"増加し、完了通知信号ENDに応答してカウント値を"1"減少するビジーカウンタBCOUNTを有する。このため、ビジー監視部64は、ビジーカウンタBCOUNTが"0"以外である場合、ビジー信号BUSYをアサートすることで、サブCPU20とインターコネクト42間でのトランザクションの実行期間に合わせてビジー信号BUSYを出力することができる。 The busy monitoring unit 64 has a busy counter BCOUNT that increments its count value by "1" in response to the establishment of a handshake and decrements its count value by "1" in response to a completion notification signal END. Therefore, when the busy counter BCOUNT is other than "0", the busy monitoring unit 64 asserts the busy signal BUSY, thereby being able to output the busy signal BUSY in accordance with the execution period of the transaction between the sub-CPU 20 and the interconnect 42.

図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 information processing device 104 shown in Figure 11 has an interface control circuit 70 and an interconnect 44 instead of the interface control circuit 50 and interconnect 40 in Figure 1. The other configuration of the information processing device 104 is similar to the information processing device 100 shown in Figure 1, except that the communication protocol used for communication between the CPU 20 and the interconnect 44 is different from that of the above-mentioned embodiment. The interface control circuit 70 has a mask control unit 72 and a busy monitoring unit 74.

この実施形態では、サブ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 interconnect 44 is, for example, the AMBA (Advanced Microcontroller Bus Architecture) AXI (Advanced eXtensible Interface) bus protocol. The AXI bus has independent address and data channels, and the data channel has separate read and write channels.

図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 mask control unit 72 executes mask control using the control signal of the address channel.

具体的には、マスク制御部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 main CPU 10 is negated, the mask control unit 72 outputs the address valid signal ARVALID0 output from the sub CPU 20 to the interconnect 44 as the address valid signal ARVALID. While the mask control signal MASKEN is asserted, the mask control unit 72 maintains the negated state of the address valid signal ARVALID regardless of the logic level of the address valid signal ARVALID0. In other words, the mask control unit 72 inhibits the transfer of the address valid signal ARVALID to the interconnect 44, thereby inhibiting the handshake of the address channel. The mask control unit 72 has the same functions as the mask control unit 52 in FIG. 1, except that the mask control unit 72 uses the address valid signals ARVALID0 and ARVALID instead of the valid signals VALID0 and VALID.

ビジー監視部74は、初期状態において"0"にリセットされるビジーカウンタBCOUNTを有する。ビジー監視部74は、アドレスバリッド信号ARVALID、アドレスレディ信号ARREADY、リードレディ信号RREADY、リードバリッドRVALIDおよびリードラスト信号RLASTに基づいて、ビジー信号BUSYをアサートまたはネゲートする。 The busy monitoring unit 74 has a busy counter BCOUNT that is reset to "0" in the initial state. The busy monitoring unit 74 asserts or negates the busy signal BUSY based on the address valid signal ARVALID, the address ready signal ARREADY, the read ready signal RREADY, the read valid RVALID, and the read last signal RLAST.

具体的には、ビジー監視部74は、アドレスバリッド信号ARVALIDとアドレスレディ信号ARREADYとのアサートによるハンドシェイクの成立に応答してビジーカウンタBCOUNTを"1"増加する。ビジー監視部74は、リードバリッド信号RVALID、リードレディ信号RREADYおよびリードラスト信号RLASTのアサートに応答してビジーカウンタBCOUNTを"1"減少する。そして、ビジー監視部74は、ビジーカウンタBCOUNTが"0"以外の時にビジー信号BUSYをアサートし、ビジーカウンタBCOUNTが"0"の時にビジー信号BUSYをネゲートする。 Specifically, the busy monitoring unit 74 increments the busy counter BCOUNT by "1" in response to the establishment of a handshake by asserting the address valid signal ARVALID and the address ready signal ARREADY. The busy monitoring unit 74 decrements the busy counter BCOUNT by "1" in response to the assertion of the read valid signal RVALID, the read ready signal RREADY, and the read last signal RLAST. The busy monitoring unit 74 then asserts the busy signal BUSY when the busy counter BCOUNT is other than "0", and negates the busy signal BUSY when the busy counter BCOUNT is "0".

ビジー信号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 unit 74 detects whether or not a transaction exists between the sub-CPU 20 and the interconnect 44 by comparing the number of successful handshakes in the address channel with the number of burst completions in the read channel. Here, the number of successful handshakes in the address channel is the number of times that the address valid signal ARVALID and the address ready signal ARREADY are asserted simultaneously. The number of burst completions in the read channel is the number of times that the read valid signal RVALID, the read ready signal RREADY, and the read last signal RLAST are asserted simultaneously.

インターコネクト44は、図6のインターコネクト42と同様に、データDATAの受信を待たずに次の転送要求を発行できるアウトスタンディングトランザクションの機能を有する。インターコネクト44のその他の機能は、アドレスチャネル、リードチャネルおよびライトチャネル毎に通信を制御する機能を有することを除き、図1のインターコネクト40の機能と同様である。 Similar to the interconnect 42 in FIG. 6, the interconnect 44 has an outstanding transaction function that allows it to issue the next transfer request without waiting for the reception of data DATA. The other functions of the interconnect 44 are similar to those of the interconnect 40 in FIG. 1, except that it has the function of controlling communication for each address channel, read channel, and write channel.

図12は、図11の情報処理装置104の動作の一例を示すタイミング図である。すなわち、図12は、情報処理装置104の制御方法の一例を示す。図2および図7と同様の動作については、詳細な説明は省略する。図12では、マスク制御信号MASKENは、ネゲート状態を維持するとする。 Figure 12 is a timing diagram showing an example of the operation of the information processing device 104 of Figure 11. That is, Figure 12 shows an example of a control method for the information processing device 104. Detailed explanations of operations similar to those of Figures 2 and 7 will be omitted. In Figure 12, the mask control signal MASKEN is maintained in a negated state.

図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 mask control unit 72 outputs address valid signals ARVALID to the interconnect 44 in response to each address valid signal ARVALID0 (FIG. 12(c) and (d)).

インターコネクト44は、各アドレスバリッド信号ARVALIDの受信に基づいて、アドレスレディ信号ARREADY(A、B)をサブCPU20に出力する(図12(e)、(f))。 Based on receiving each address valid signal ARVALID, the interconnect 44 outputs an address ready signal ARREADY (A, B) to the sub-CPU 20 (Figures 12 (e) and (f)).

ビジー監視部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 unit 74 increments the busy counter BCOUNT by "1" and asserts the busy signal BUSY (FIG. 12 (g) and (h)). In response to the assertion of the second address valid signal ARVALID and the address ready signal ARREADY, the busy monitoring unit 74 increments the busy monitoring unit BCOUNT by "1" and maintains the asserted state of the busy signal BUSY (FIG. 12 (i) and (j)).

サブ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 interconnect 44 outputs a read valid RVALID to the sub-CPU 20 and starts data transfer A (FIG. 12(l)). The interconnect 44 outputs a read valid RVALID and a read last signal RLAST to the sub-CPU 20 along with the output of the final data of transaction A (FIGS. 12(m) and (n)).

ビジー監視部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 unit 74 decrements the busy counter BCOUNT by "1" (Figure 12 (o)). Because the busy counter BCOUNT is not "0", the busy monitoring unit 74 maintains the asserted state of the busy signal BUSY (Figure 12 (p)).

この後、トランザクション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 interconnect 44 outputs the read valid RVALID and the read last signal RLAST to the sub-CPU 20 along with the output of the final data of transaction B (FIG. 12 (q), (r)). 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 unit 74 decrements the busy counter BCOUNT by "1" (FIG. 12 (s)). Because the busy counter BCOUNT has become "0", the busy monitoring unit 74 negates the busy signal BUSY (FIG. 12 (t)).

なお、図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 CPU 20 and the interconnect 44. Therefore, when the CPU 20 is reset by the reset signal RESET output by the CPU 10 after the mask control signal MASKEN is asserted, it is possible to prevent the execution of a transaction between the CPU 20 and the interconnect 44. As a result, it is possible to prevent the interconnect 44 from stalling due to the CPU 20 being reset during the execution of a transaction, and it is possible to prevent the occurrence of downtime due to restarting caused by the stall.

以上、各実施形態に基づき本発明の説明を行ってきたが、上記実施形態に示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することができ、その応用形態に応じて適切に定めることができる。 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 Memory 40, 42, 44 Interconnect 50, 60, 70 Interface control circuit 52, 62, 72 Mask control unit 64, 74 Busy monitoring unit 100, 102, 104 Information processing device ARREADY Address ready signal ARVALID, ARVALID0 Address valid signal BCOUNT Busy counter BUSY Busy signal CLK Clock DATA Data END Completion notification signal IMASK Mask signal MASKEN Mask control signal READY Ready signal RESET Reset signal RLAST Read last signal RREADY Read ready signal RVALID Read valid VALID, VALID0 Valid signal

特許第5617429号公報Patent No. 5617429

Claims (7)

要求と、前記要求に対する応答とによるハンドシェイクに基づいてデータを転送する第1マスタおよびスレーブと、
前記ハンドシェイクを抑止する抑止要求信号を出力する第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マスタから発行される前記要求であるアドレスバリッド信号の前記インターコネクトへの転送を抑止することで、前記アドレスチャネルの前記ハンドシェイクを抑止すること
を特徴とする請求項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マスタと前記インターコネクトとの間でのデータ転送を検出中にビジー信号を出力するビジー監視部をさらに有し、
前記第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.
前記インターコネクトは、前記応答の各々に対応するデータ転送の完了時に完了通知信号を前記第1マスタに出力し、
前記ビジー監視部は、前記ハンドシェイクの成立数と前記完了通知信号の出力数とが不一致の期間、前記ビジー信号を出力すること
を特徴とする請求項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.
前記第2マスタは、情報処理装置の低電力モード中に電源がオフされるメインCPUであり、
前記第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.
要求と、前記要求に対する応答とによる第1マスタとスレーブとの間のハンドシェイクに基づいて第1マスタとスレーブとの間のデータの転送を制御するインターコネクトと、前記第1マスタとの間に設けられ、抑止中信号の受信に基づいて前記第1マスタにリセット信号を出力する第2マスタから出力される前記ハンドシェイクを抑止する抑止要求信号の受信中に、前記第1マスタから発行される前記要求の前記インターコネクトへの転送を抑止し、前記要求の前記インターコネクトへの転送の抑止中を示す前記抑止中信号を出力するマスク制御部を含むことを特徴とするインタフェース制御回路。 an interconnect that controls data transfer between a first master and a slave based on a handshake between the first master and the slave consisting of a request and a response to the request; and a mask control unit that is provided between the first master and that inhibits the transfer of the request issued from the first master to the interconnect while receiving an inhibition request signal that inhibits the handshake output from a second master that outputs a reset signal to the first master based on reception of an inhibition signal, and outputs the inhibition signal indicating that the transfer of the request to the interconnect is being inhibited. 要求と、前記要求に対する応答とによるハンドシェイクに基づいてデータを転送する第1マスタおよびスレーブと、前記第1マスタと前記スレーブとの間のデータの転送を制御するインターコネクトと、前記第1マスタと前記インターコネクトとの間に設けられるインタフェース制御回路と、第2マスタとを有する情報処理装置の制御方法であって、
前記第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.
JP2020074271A 2020-04-17 2020-04-17 Information processing device, interface control circuit, and method for controlling information processing device Active JP7476640B2 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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