JP2012003325A - Computer system and interruption request processing method - Google Patents

Computer system and interruption request processing method Download PDF

Info

Publication number
JP2012003325A
JP2012003325A JP2010135297A JP2010135297A JP2012003325A JP 2012003325 A JP2012003325 A JP 2012003325A JP 2010135297 A JP2010135297 A JP 2010135297A JP 2010135297 A JP2010135297 A JP 2010135297A JP 2012003325 A JP2012003325 A JP 2012003325A
Authority
JP
Japan
Prior art keywords
interrupt
interrupt request
cpu
unit
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010135297A
Other languages
Japanese (ja)
Other versions
JP5644197B2 (en
Inventor
Naoki Odate
尚記 大舘
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010135297A priority Critical patent/JP5644197B2/en
Publication of JP2012003325A publication Critical patent/JP2012003325A/en
Application granted granted Critical
Publication of JP5644197B2 publication Critical patent/JP5644197B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

PROBLEM TO BE SOLVED: To improve the processing efficiency of a central processing unit by reducing loads put on the interruption processing of the central processing unit.SOLUTION: In a computer system 100, an interruption request processor M receives an interruption request notifying the end of predetermined processing outputted from a device D. The interruption request processor M determines whether or not the number of times of receiving the interruption request from the device D matches with a predetermined number F of times. The interruption request processor M outputs the execution request of the predetermined processing to the device D until the number of times of receiving the interruption request from the device D reaches the predetermined number F of times. When the number of times of receiving the interruption request from the device D matches with the predetermined number F of times, the interruption request processor M outputs the interruption request to a CPU 101.

Description

本発明は、中央処理装置に対するデバイスからの割込み要求を処理するコンピュータシステムおよび割込要求処理方法に関する。   The present invention relates to a computer system and an interrupt request processing method for processing an interrupt request from a device to a central processing unit.

コンピュータシステムにおいて、中央処理装置は、デバイスからの割込み要求を受け付けると実行中のプログラムを中断し、該プログラムを再開するための情報をメモリに退避して、割込ハンドラなどの割込処理プログラムを呼び出す。そして、中央処理装置は、割込ハンドラによる割込み処理が終了すると、メモリに退避していた情報をもとに、プログラムの実行を再開する。   In a computer system, when a central processing unit accepts an interrupt request from a device, the central processing unit interrupts the program being executed, saves information for restarting the program to memory, and stores an interrupt processing program such as an interrupt handler. call. When the interrupt processing by the interrupt handler ends, the central processing unit resumes execution of the program based on the information saved in the memory.

従来、コンピュータシステム内の中央処理装置に対する割込みに関する様々な技術がある。例えば、複数のプロセッサコアを有する集積回路装置内の割込発生回路において、短時間で連続する割込み発生を防止することで、プロセッサ同士で連携して割込み動作を行う際の誤動作を防ぐ技術がある(たとえば、下記特許文献1参照。)。また、マルチプロセッサシステムにおいて、データ転送のスループットの低下を防ぐために、データ転送用のバスとは異なる割込み専用のバスを使用して割込み要求および割込み情報を転送する技術がある(たとえば、下記特許文献2参照。)。   Conventionally, there are various techniques for interrupting a central processing unit in a computer system. For example, in an interrupt generation circuit in an integrated circuit device having a plurality of processor cores, there is a technique for preventing malfunctions when interrupt operations are performed in cooperation between processors by preventing occurrence of continuous interrupts in a short time. (For example, see Patent Document 1 below.) Also, in a multiprocessor system, there is a technique for transferring an interrupt request and interrupt information using a bus dedicated to interrupt that is different from a data transfer bus in order to prevent a decrease in data transfer throughput (for example, the following patent document) 2).

特開2006−350435号公報JP 2006-350435 A 特公平8−7694号公報Japanese Patent Publication No.8-7694

しかしながら、上述した従来技術によれば、中央処理装置に対するデバイスからの割込み頻度が高くなると、割込ハンドラなどのソフトウェア処理が増え、中央処理装置の割込み処理にかかる負荷が増大するとともに処理効率の低下を招くという問題がある。   However, according to the above-described prior art, when the frequency of interrupts from the device to the central processing unit increases, software processing such as interrupt handlers increases, the load on the central processing unit interrupt processing increases and the processing efficiency decreases. There is a problem of inviting.

本発明は、上述した従来技術による問題点を解消するため、中央処理装置の割込み処理にかかる負荷を低減させて、中央処理装置の処理効率の向上を図ることができるコンピュータシステムおよび割込要求処理方法を提供することを目的とする。   In order to solve the above-described problems caused by the prior art, the present invention reduces the load on the interrupt processing of the central processing unit and can improve the processing efficiency of the central processing unit and interrupt request processing. It aims to provide a method.

上述した課題を解決し、目的を達成するため、開示のコンピュータシステムは、バスを介して相互に通信可能なデバイスに対して実行要求を行った結果、当該デバイスから所定の処理の終了を通知する割込み要求を受け付けて割込み処理を実行する中央処理装置と、前記実行要求に応じて実行される前記所定の処理の終了を前記割込み要求を出力することにより通知するデバイスと、前記デバイスから出力される前記割込み要求を受け付ける受付部と、前記受付部によって前記デバイスから前記割込み要求を受け付けた回数が所定回数と一致するか否かを判定する判定部と、前記判定部によって前記割込み要求を受け付けた回数が前記所定回数と一致するか否か判定された結果、前記割込み要求を受け付けた回数が前記所定回数に達するまで、前記デバイスに対して前記実行要求を出力する出力部とを備える。   In order to solve the above-described problems and achieve the object, the disclosed computer system issues an execution request to devices that can communicate with each other via a bus, and notifies the end of predetermined processing from the device. A central processing unit that receives an interrupt request and executes an interrupt process, a device that notifies the end of the predetermined process executed in response to the execution request by outputting the interrupt request, and an output from the device A reception unit that receives the interrupt request; a determination unit that determines whether the number of receptions of the interrupt request from the device by the reception unit matches a predetermined number of times; and the number of times the interrupt request is received by the determination unit Until the number of times the interrupt request is accepted reaches the predetermined number. And an output unit which outputs the execution request to the device.

また、上述した課題を解決し、目的を達成するため、開示の割込要求処理方法は、中央処理装置からの実行要求に応じて実行される所定の処理の終了を割込み要求を出力することにより通知するデバイスから前記割込み要求を受け付け、前記デバイスから前記割込み要求を受け付けた回数が所定回数と一致するか否かを判定し、前記割込み要求を受け付けた回数が前記所定回数と一致するか否か判定された結果、前記割込み要求を受け付けた回数が前記所定回数に達するまで、前記デバイスに対して前記実行要求を出力する。   Further, in order to solve the above-described problems and achieve the object, the disclosed interrupt request processing method outputs an interrupt request indicating the end of a predetermined process executed in response to an execution request from the central processing unit. The interrupt request is received from the notifying device, and it is determined whether or not the number of times the interrupt request is received from the device matches a predetermined number, and whether or not the number of times the interrupt request is received matches the predetermined number As a result of the determination, the execution request is output to the device until the number of received interrupt requests reaches the predetermined number.

本コンピュータシステムおよび割込要求処理方法によれば、中央処理装置の割込み処理にかかる負荷を低減させて、中央処理装置の処理効率の向上を図ることができるという効果を奏する。   According to the computer system and the interrupt request processing method, it is possible to reduce the load applied to the interrupt processing of the central processing unit and improve the processing efficiency of the central processing unit.

実施の形態1にかかるコンピュータシステムを示す説明図である。1 is an explanatory diagram illustrating a computer system according to a first embodiment; 実施の形態2にかかるコンピュータシステムを示す説明図である。FIG. 3 is an explanatory diagram of a computer system according to a second embodiment. 設定テーブルの記憶内容の一例を示す説明図である。It is explanatory drawing which shows an example of the memory content of a setting table. 実施の形態2にかかる割込要求処理装置を示すブロック図である。FIG. 6 is a block diagram illustrating an interrupt request processing device according to a second exemplary embodiment; 実施の形態2にかかるコンピュータシステムの処理手順を示すシーケンス図である。FIG. 10 is a sequence diagram illustrating a processing procedure of the computer system according to the second embodiment. 実施の形態2にかかる割込要求処理装置の動作タイミングの一例を示すタイミングチャートである。6 is a timing chart showing an example of operation timing of the interrupt request processing device according to the second exemplary embodiment; 実施の形態2にかかる割込要求処理装置の割込要求処理手順の一例を示すフローチャートである。10 is a flowchart illustrating an example of an interrupt request processing procedure of the interrupt request processing device according to the second exemplary embodiment; 実施の形態2にかかるコンピュータシステムの一実施例を示す説明図である。FIG. 10 is an explanatory diagram of an example of a computer system according to a second embodiment; 実施の形態2にかかるコンピュータシステムの処理手順の一実施例を示すシーケンス図である。FIG. 10 is a sequence diagram illustrating an example of a processing procedure of the computer system according to the second exemplary embodiment. 実施の形態3にかかるコンピュータシステムを示す説明図である。FIG. 9 is an explanatory diagram of a computer system according to a third embodiment.

以下に添付図面を参照して、この発明にかかるコンピュータシステムおよび割込要求処理方法の好適な実施の形態を詳細に説明する。   Exemplary embodiments of a computer system and an interrupt request processing method according to the present invention will be explained below in detail with reference to the accompanying drawings.

(実施の形態1)
図1は、実施の形態1にかかるコンピュータシステムを示す説明図である。図1において、コンピュータシステム100は、CPU(Central Processing Unit)101と、デバイスDと、割込要求処理装置Mと、を含む。コンピュータシステム100において、CPU101、デバイスDおよび割込要求処理装置Mは、バス110を介して相互に通信可能に接続されている。
(Embodiment 1)
FIG. 1 is an explanatory diagram of a computer system according to the first embodiment. In FIG. 1, a computer system 100 includes a CPU (Central Processing Unit) 101, a device D, and an interrupt request processing device M. In the computer system 100, the CPU 101, the device D, and the interrupt request processing device M are connected to each other via a bus 110 so as to communicate with each other.

CPU101は、コンピュータシステム100を制御する中央処理装置である。CPU101は、デバイスDからの割込み要求を受け付けて割込み処理を実行する。ここで、割込み要求とは、例えば、デバイスDが、ある状態や特定の条件を満たしたときにCPU101に対して出力する信号である。   The CPU 101 is a central processing unit that controls the computer system 100. The CPU 101 receives an interrupt request from the device D and executes interrupt processing. Here, the interrupt request is, for example, a signal output to the CPU 101 when the device D satisfies a certain state or a specific condition.

デバイスDは、所定の機能を実現するハードウェアであり、例えば、I/O(Input/Output)デバイスやインターフェースを含むモジュールである。デバイスDは、例えば、CPU101に対して割込み要求を出力することにより所定の処理の終了を通知する。所定の処理とは、デバイスDの機能を実現するための処理である。デバイスDとしては、例えば、メモリコントローラ、DMAC(Direct Memory Access Controller)、磁気ディスク、光ディスクなどがある。   The device D is hardware that realizes a predetermined function, and is, for example, a module that includes an I / O (Input / Output) device and an interface. For example, the device D notifies the end of predetermined processing by outputting an interrupt request to the CPU 101. The predetermined process is a process for realizing the function of the device D. Examples of the device D include a memory controller, a DMAC (Direct Memory Access Controller), a magnetic disk, and an optical disk.

割込要求処理装置Mは、デバイスDからCPU101に対して出力される割込み要求を処理する。ここで、デバイスDからの割込み要求に対してCPU101が行う割込み処理の中には、CPU101を介して行う必要があるものと、CPU101を介して行う必要がないものがある。   The interrupt request processing device M processes an interrupt request output from the device D to the CPU 101. Here, some interrupt processes performed by the CPU 101 in response to an interrupt request from the device D include those that need to be performed via the CPU 101 and those that do not need to be performed via the CPU 101.

例えば、CPU101からデバイスDに対して実行要求を繰り返し行って、デバイスDに所定の処理を複数回実行させる場合がある。この場合、デバイスDは、所定の処理が終了すると、その都度、所定の処理の終了を通知するための割込み要求をCPU101に出力する。そして、CPU101は、デバイスDからの割込み要求を受け付けると、その都度、割込み処理を実行する。   For example, the CPU 101 may repeatedly execute an execution request to the device D to cause the device D to execute a predetermined process a plurality of times. In this case, the device D outputs an interrupt request for notifying the end of the predetermined process to the CPU 101 each time the predetermined process ends. The CPU 101 executes an interrupt process each time an interrupt request is received from the device D.

具体的には、例えば、CPU101は、デバイスDからの割込み要求を受け付けると、実行中のプログラムの処理を中断し、該プログラムを再開するための情報をメモリに退避して、割込ハンドラなどの割込処理プログラムを呼び出す。すなわち、CPU101は、デバイスDに所定の処理をF回繰り返し実行させる場合、割込ハンドラといったソフトウェア処理をF回行うことになる。   Specifically, for example, when the CPU 101 receives an interrupt request from the device D, the CPU 101 interrupts processing of the program being executed, saves information for resuming the program to the memory, and stores an interrupt handler or the like. Call the interrupt processing program. That is, when the CPU 101 causes the device D to repeatedly execute a predetermined process F times, the CPU 101 performs software processing such as an interrupt handler F times.

この際、割込ハンドラは、デバイスDの1回目から(F−1)回目の割込み要求に対しては、割込み要因を分析してデバイスDの割込み要因をクリアし、デバイスDに実行要求を行う。また、割込ハンドラは、F回目の割込み要求に対しては、例えば、F回繰り返された所定の処理の実行結果を用いて別の処理を行うためのプログラムの実行予約などを行う。   At this time, the interrupt handler analyzes the interrupt factor, clears the interrupt factor of device D, and issues an execution request to device D for the first to (F-1) interrupt requests of device D. . In response to the F-th interrupt request, for example, the interrupt handler makes an execution reservation of a program for performing another process using the execution result of a predetermined process repeated F times.

このような割込ハンドラの処理のうち、プログラムの実行予約を行うなどの最後(F回目)の割込み要求に対する処理は、CPU101を介して行う必要がある。一方、デバイスDに対して単に所定の処理の実行要求を行う1回目から(F−1)回目の割込み要求に対する処理は、CPU101を介して行う必要がない。   Among such interrupt handler processes, the process for the last (F-th) interrupt request such as making a program execution reservation needs to be performed via the CPU 101. On the other hand, it is not necessary to perform processing for the interrupt request from the first time (F-1) when simply requesting execution of the predetermined processing to the device D via the CPU 101.

ところが、デバイスDに対して単なる実行要求を行う処理であっても数百サイクルを必要とするため、CPU101に対する割込み頻度が高くなると、CPU101の負荷が増大してしまう。また、CPU101は、割込み要求を受け付けると実行中のプログラムを中断して割込み処理を行うため、CPU101に対する割込み頻度が高くなると、本来実行すべき処理に専念できず、CPU101の処理効率が低下してしまう。   However, even a process for simply executing an execution request to the device D requires several hundred cycles, so that the load on the CPU 101 increases when the interrupt frequency to the CPU 101 increases. In addition, when the CPU 101 accepts an interrupt request, it interrupts the program being executed and performs interrupt processing. Therefore, if the interrupt frequency for the CPU 101 increases, the CPU 101 cannot concentrate on the processing that should be executed, and the processing efficiency of the CPU 101 decreases. End up.

そこで、実施の形態1にかかるコンピュータシステム100では、必ずしもCPU101が関与しなくてもよいデバイスDからの割込み要求を横取りして、CPU101の代わりに処理する割込要求処理装置Mを設ける。以下、デバイスDに所定の処理をF回繰り返し実行させる場合の割込要求処理装置Mの処理手順を説明する。なお、デバイスDに対する最初の実行要求は、CPU101がデバイスDに直接通知してもよく、また、CPU101が割込要求処理装置Mを介してデバイスDに通知してもよい。   Therefore, the computer system 100 according to the first embodiment includes an interrupt request processing device M that intercepts an interrupt request from the device D that the CPU 101 does not necessarily have to participate in and processes the interrupt request instead of the CPU 101. Hereinafter, a processing procedure of the interrupt request processing device M when the device D is caused to repeatedly execute a predetermined process F times will be described. Note that the CPU 101 may directly notify the device D of the first execution request to the device D, or the CPU 101 may notify the device D via the interrupt request processing device M.

(1)割込要求処理装置Mは、デバイスDから出力される所定の処理の終了を通知する割込み要求を受け付ける。すなわち、本来はデバイスDからCPU101に直接通知される割込み要求を、割込要求処理装置MがCPU101への通知に先立って受け付ける。   (1) The interrupt request processing apparatus M receives an interrupt request for notifying the end of predetermined processing output from the device D. That is, the interrupt request processing apparatus M receives an interrupt request that is originally notified directly from the device D to the CPU 101 prior to the notification to the CPU 101.

(2)割込要求処理装置Mは、デバイスDから割込み要求を受け付けた回数が、所定回数Fと一致するか否かを判定する。ここで、所定回数Fは、デバイスDに所定の処理を繰り返し実行させる回数であり、予め任意に設定されている。   (2) The interrupt request processing device M determines whether or not the number of interrupt requests received from the device D matches the predetermined number F. Here, the predetermined number of times F is the number of times that the device D repeatedly executes a predetermined process, and is arbitrarily set in advance.

(3)割込要求処理装置Mは、デバイスDから割込み要求を受け付けた回数が所定回数Fに達するまで、デバイスDに対して所定の処理の実行要求を出力する。すなわち、単にデバイスDに対して所定の処理の実行要求を行う処理は、CPU101を介して行う必要がないため、割込要求処理装置MがCPU101の代わりに行う。   (3) The interrupt request processing apparatus M outputs an execution request for a predetermined process to the device D until the number of times the interrupt request is received from the device D reaches the predetermined number F. That is, the process of simply executing a predetermined process execution request to the device D does not need to be performed via the CPU 101, so the interrupt request processing apparatus M performs the process instead of the CPU 101.

(4)上記(1)〜(3)を繰り返した結果、割込要求処理装置Mは、デバイスDから割込み要求を受け付けた回数が所定回数Fと一致すると判定された場合、CPU101に対して割込み要求を出力する。すなわち、F回目の割込み要求に対する処理は、CPU101を介して行う必要があるため、デバイスDからの割込み要求をCPU101に通知する。   (4) As a result of repeating the above (1) to (3), the interrupt request processing device M interrupts the CPU 101 when it is determined that the number of interrupt requests received from the device D matches the predetermined number F. Output the request. That is, since the processing for the F-th interrupt request needs to be performed via the CPU 101, the CPU 101 is notified of the interrupt request from the device D.

以上説明したように、実施の形態1にかかるコンピュータシステム100によれば、CPU101に対するデバイスDからの割込み要求のうち、CPU101が直接関与しなくてもよい割込み要求を、割込要求処理装置Mに処理させることができる。すなわち、デバイスDに所定の処理を複数回繰り返し実行させる場合、CPU101がデバイスDに対して最初の実行要求を行ったあとは、CPU101を介すことなく、デバイスDに所定の処理を複数回実行させることができる。また、CPU101にはデバイスDからの最後の割込み要求のみ通知されるため、CPU101が行う割込み処理は1回となる。これにより、実行中のプログラムを中断して割込ハンドラを呼び出すなどのCPU101の割込み処理を減らすことができ、CPU101の割込み処理にかかる負荷を低減させて、CPU101の処理効率の向上を図ることができる。   As described above, according to the computer system 100 according to the first embodiment, among the interrupt requests from the device D to the CPU 101, an interrupt request that does not require the CPU 101 to be directly involved is sent to the interrupt request processing device M. Can be processed. That is, when the device D repeatedly executes a predetermined process multiple times, after the CPU 101 makes an initial execution request to the device D, the device D executes the predetermined process multiple times without going through the CPU 101. Can be made. Further, since only the last interrupt request from the device D is notified to the CPU 101, the interrupt processing performed by the CPU 101 is one time. As a result, interrupt processing of the CPU 101 such as interrupting a program being executed and calling an interrupt handler can be reduced, and the load on the interrupt processing of the CPU 101 can be reduced and the processing efficiency of the CPU 101 can be improved. it can.

(実施の形態2)
図2は、実施の形態2にかかるコンピュータシステムを示す説明図である。なお、実施の形態1で説明した箇所と同様の箇所については説明を省略する。図2において、コンピュータシステム200は、CPU201と、ROM(Read‐Only Memory)202と、RAM203と、割込コントローラ204と、デバイスD1〜Dnと、割込要求処理装置M1〜Mnと、を含む。コンピュータシステム200において、CPU201、ROM202、RAM203、割込コントローラ204、デバイスD1〜Dnおよび割込要求処理装置M1〜Mnは、バス210を介して相互に通信可能に接続されている。
(Embodiment 2)
FIG. 2 is an explanatory diagram of a computer system according to the second embodiment. Note that description of portions similar to those described in the first embodiment is omitted. 2, the computer system 200 includes a CPU 201, a ROM (Read-Only Memory) 202, a RAM 203, an interrupt controller 204, devices D1 to Dn, and interrupt request processing devices M1 to Mn. In the computer system 200, the CPU 201, the ROM 202, the RAM 203, the interrupt controller 204, the devices D1 to Dn, and the interrupt request processing devices M1 to Mn are connected via a bus 210 so as to communicate with each other.

CPU201は、コンピュータシステム200を制御する中央処理装置である。CPU201は、割込コントローラ204を介して、デバイスD1〜Dnからの割込み要求を受け付けて割込み処理を実行する。ROM202は、ブートプログラムや割込処理プログラムなどの各種プログラムを記憶している。RAM203は、CPU201のワークエリアとして使用される。   The CPU 201 is a central processing unit that controls the computer system 200. The CPU 201 receives an interrupt request from the devices D1 to Dn via the interrupt controller 204 and executes interrupt processing. The ROM 202 stores various programs such as a boot program and an interrupt processing program. The RAM 203 is used as a work area for the CPU 201.

割込コントローラ204は、割込要求処理装置M1〜Mnから、CPU201に対するデバイスD1〜Dnの割込み要求を受け付けてCPU201に通知する。具体的には、例えば、割込コントローラ204は、各デバイスD1〜Dnの割込み要因ごとの割込ステータスレジスタおよび割込マスクレジスタを有している。割込ステータスレジスタは、割込み要因の状態を保持するレジスタである。割込マスクレジスタは、CPU201に対する割込みがイネーブルか否かを示す情報を保持するレジスタである。   The interrupt controller 204 receives interrupt requests from the devices D1 to Dn to the CPU 201 from the interrupt request processing devices M1 to Mn and notifies the CPU 201 of them. Specifically, for example, the interrupt controller 204 has an interrupt status register and an interrupt mask register for each interrupt factor of each device D1 to Dn. The interrupt status register is a register that holds the state of the interrupt factor. The interrupt mask register is a register that holds information indicating whether or not an interrupt to the CPU 201 is enabled.

割込コントローラ204は、ある割込み要因がアサートされると、割込み要因に対応する割込ステータスレジスタに要因の状態を格納する。そして、割込コントローラ204は、該割込み要因に対応する割込マスクレジスタがイネーブルの場合、CPU201に対して割込み要求を出力する。この際、割込コントローラ204は、割込み要因に対応する割込みベクタをCPU201に出力する。割込みベクタとは、割込み要因に対応する割込処理プログラムを起動するための情報である。CPU201は、割込み要求とともに受け付けた割込みベクタを参照して、割込ハンドラなどの割込処理プログラムを呼び出す。   When an interrupt factor is asserted, the interrupt controller 204 stores the state of the factor in an interrupt status register corresponding to the interrupt factor. Then, the interrupt controller 204 outputs an interrupt request to the CPU 201 when the interrupt mask register corresponding to the interrupt factor is enabled. At this time, the interrupt controller 204 outputs an interrupt vector corresponding to the interrupt factor to the CPU 201. An interrupt vector is information for starting an interrupt processing program corresponding to an interrupt factor. The CPU 201 refers to the interrupt vector received together with the interrupt request and calls an interrupt processing program such as an interrupt handler.

デバイスD1〜Dnは、例えば、I/Oデバイスやインターフェースを含むメモリコントローラ、DMAC、エンコーダ、デコーダ、磁気ディスク、光ディスクなどのモジュールである。各デバイスD1〜Dnには、各割込要求処理装置M1〜Mnがそれぞれ搭載されている。各割込要求処理装置M1〜Mnは、各デバイスD1〜DnからCPU201に対する割込み要求を受け付けて処理する。   The devices D1 to Dn are modules such as a memory controller including an I / O device and an interface, a DMAC, an encoder, a decoder, a magnetic disk, and an optical disk, for example. The interrupt request processing devices M1 to Mn are mounted on the devices D1 to Dn, respectively. Each of the interrupt request processing devices M1 to Mn accepts and processes an interrupt request to the CPU 201 from each device D1 to Dn.

ここで、コンピュータシステム200においてCPU201が行う初期設定について説明する。CPU201は、割込コントローラ204の初期設定を行う。具体的には、例えば、CPU201は、割込み要因に対応する割込みベクタや割込み要求の優先順位などを割込コントローラ204に設定する。優先順位とは、複数の割込み要求が同時に発生した場合や多重割込みが発生した場合に、割込み要求を受け付ける順番を決める情報である。   Here, the initial setting performed by the CPU 201 in the computer system 200 will be described. The CPU 201 performs initial setting of the interrupt controller 204. Specifically, for example, the CPU 201 sets an interrupt vector corresponding to an interrupt factor, an interrupt request priority order, and the like in the interrupt controller 204. The priority order is information that determines the order in which interrupt requests are received when a plurality of interrupt requests occur simultaneously or when multiple interrupts occur.

また、CPU201は、デバイスD1〜Dnの初期設定を行う。具体的には、CPU201は、各デバイスD1〜Dnが所定の処理を実行するために必要となる情報を各デバイスD1〜Dnに設定する。具体的には、例えば、デバイス間のデータ転送を行う場合、CPU201は、リードコマンドやライトコマンドなどのコマンド内容、リード先やライト先のアドレス、転送データ量などを実行対象のデバイスD1〜Dnに設定する。   Further, the CPU 201 performs initial setting of the devices D1 to Dn. Specifically, the CPU 201 sets information necessary for each device D1 to Dn to execute a predetermined process in each device D1 to Dn. Specifically, for example, when performing data transfer between devices, the CPU 201 sends command contents such as a read command and a write command, a read destination and a write destination address, a transfer data amount, and the like to the devices D1 to Dn to be executed. Set.

また、CPU201は、割込要求処理装置M1〜Mnの初期設定を行う。具体的には、例えば、CPU201は、図3に示す設定テーブル300を参照して、割込要求処理装置M1〜Mnの初期設定を行う。ここで、設定テーブル300の記憶内容について説明する。   In addition, the CPU 201 performs initial setting of the interrupt request processing devices M1 to Mn. Specifically, for example, the CPU 201 performs initial setting of the interrupt request processing devices M1 to Mn with reference to the setting table 300 illustrated in FIG. Here, the contents stored in the setting table 300 will be described.

図3は、設定テーブルの記憶内容の一例を示す説明図である。図3において、設定テーブル300は、マクロ名、回数レジスタ値およびIDレジスタ値のフィールドを有し、各フィールドに情報を設定することで、設定データ300−1〜300−nをレコードとして記憶している。   FIG. 3 is an explanatory diagram showing an example of the contents stored in the setting table. In FIG. 3, the setting table 300 has fields for macro name, number register value, and ID register value. By setting information in each field, setting data 300-1 to 300-n are stored as records. Yes.

ここで、マクロ名とは、各割込要求処理装置M1〜Mnの名称である。回数レジスタ値とは、各割込要求処理装置M1〜Mnが有する回数レジスタR2(後述の図4参照)のレジスタ値である。回数レジスタR2は、各デバイスD1〜Dnに所定の処理を繰り返し実行させる回数を記憶するレジスタである。   Here, the macro name is the name of each interrupt request processing device M1 to Mn. The count register value is a register value of the count register R2 (see FIG. 4 described later) included in each interrupt request processing device M1 to Mn. The number register R2 is a register that stores the number of times each device D1 to Dn repeatedly executes a predetermined process.

IDレジスタ値とは、各割込要求処理装置M1〜Mnが有するIDレジスタR3(後述の図4参照)のレジスタ値である。IDレジスタR3は、割込コントローラ204および割込要求処理装置M1〜Mnのうちのいずれかの識別子を記憶するレジスタである。ただし、IDレジスタ値「0xFFFFFFFF」は、割込コントローラ204の識別子である。   The ID register value is a register value of an ID register R3 (see FIG. 4 described later) included in each interrupt request processing device M1 to Mn. The ID register R3 is a register that stores an identifier of any one of the interrupt controller 204 and the interrupt request processing devices M1 to Mn. However, the ID register value “0xFFFFFFFF” is an identifier of the interrupt controller 204.

一例として、割込要求処理装置M1を例に挙げると、CPU201は、設定データ300−1を参照して、割込要求処理装置M1の回数レジスタR2に「F1」を設定し、IDレジスタR3に「0x00000001」を設定する。設定テーブル300は、例えば、図2に示したROM202に記憶されている。   As an example, taking the interrupt request processing device M1 as an example, the CPU 201 refers to the setting data 300-1, sets “F1” in the number register R2 of the interrupt request processing device M1, and stores it in the ID register R3. “0x00000001” is set. The setting table 300 is stored, for example, in the ROM 202 shown in FIG.

以下の説明において、複数のデバイスD1〜Dnのうち任意のデバイスを「デバイスDi」と表記する(i=1,2,…,n)。また、複数の割込要求処理装置M1〜Mnのうち任意の割込要求処理装置を「割込要求処理装置Mi」と表記する。また、複数のデバイスD1〜DnのうちデバイスDiとは異なる他のデバイスを「デバイスDj」と表記する(j≠i、j=1,2,…,n)。また、複数の割込要求処理装置M1〜Mnのうち割込要求処理装置Miとは異なる他の割込要求処理装置を「割込要求処理装置Mj」と表記する。   In the following description, an arbitrary device among a plurality of devices D1 to Dn is denoted as “device Di” (i = 1, 2,..., N). An arbitrary interrupt request processing device among the plurality of interrupt request processing devices M1 to Mn is referred to as “interrupt request processing device Mi”. Further, among the plurality of devices D1 to Dn, another device different from the device Di is expressed as “device Dj” (j ≠ i, j = 1, 2,..., N). Further, among the plurality of interrupt request processing devices M1 to Mn, another interrupt request processing device different from the interrupt request processing device Mi is referred to as “interrupt request processing device Mj”.

(割込要求処理装置Miの機能的構成)
つぎに、実施の形態2にかかる割込要求処理装置Miの機能的構成について説明する。図4は、実施の形態2にかかる割込要求処理装置を示すブロック図である。図4において、割込要求処理装置Miは、受付部401と、判断部402と、出力部403と、カウンタ404と、回数判定部405と、ID判定部406と、を含む構成である。各機能部(受付部401〜ID判定部406)は、例えば、各機能を実現するための回路によって実現される。具体的には、例えば、各機能部(受付部401〜ID判定部406)の機能を実現するステートマシンによって実現することができる。
(Functional configuration of interrupt request processing device Mi)
Next, a functional configuration of the interrupt request processing device Mi according to the second embodiment will be described. FIG. 4 is a block diagram of the interrupt request processing device according to the second embodiment. In FIG. 4, the interrupt request processing device Mi is configured to include a reception unit 401, a determination unit 402, an output unit 403, a counter 404, a number determination unit 405, and an ID determination unit 406. Each functional unit (accepting unit 401 to ID determining unit 406) is realized by, for example, a circuit for realizing each function. Specifically, for example, it can be realized by a state machine that realizes the functions of the respective functional units (receiving unit 401 to ID determining unit 406).

受付部401は、CPU201からデバイスDiに対する所定の処理の実行要求を受け付ける。具体的には、例えば、受付部401が、バス210を介して、イネーブルレジスタR1の値をアサートに設定する制御信号をCPU201から受け付ける。ここで、イネーブルレジスタR1とは、デバイスDiに対する所定の処理の実行要求が有効か否かを示す情報を保持するレジスタである。イネーブルレジスタR1がアサートの場合、デバイスDiに対する実行要求が有効となっていることを示す。一方、イネーブルレジスタR1がネゲートの場合、デバイスDiに対する実行要求が無効となっていることを示す。   The accepting unit 401 accepts an execution request for a predetermined process for the device Di from the CPU 201. Specifically, for example, the reception unit 401 receives from the CPU 201 a control signal for setting the value of the enable register R1 to assert via the bus 210. Here, the enable register R1 is a register that holds information indicating whether an execution request for a predetermined process for the device Di is valid. When the enable register R1 is asserted, it indicates that the execution request for the device Di is valid. On the other hand, if the enable register R1 is negated, it indicates that the execution request for the device Di is invalid.

また、受付部401は、他の割込要求処理装置MjからデバイスDiに対する所定の処理の実行要求を受け付ける。具体的には、例えば、受付部401が、デバイスDiに対する所定の処理の実行要求として、バス210を介してready信号を受け付ける。受付部401によってデバイスDiに対する実行要求を受け付けると、イネーブルレジスタR1の値がアサートに設定される。   The accepting unit 401 accepts an execution request for a predetermined process for the device Di from another interrupt request processing device Mj. Specifically, for example, the accepting unit 401 accepts a ready signal via the bus 210 as an execution request for a predetermined process for the device Di. When the accepting unit 401 accepts an execution request for the device Di, the value of the enable register R1 is set to assert.

判断部402は、デバイスDiに対する所定の処理の実行要求が有効となっているか否かを判断する。具体的には、例えば、判断部402が、イネーブルレジスタR1がアサートの場合、デバイスDiに対する実行要求が有効となっていると判断する。一方、判断部402が、イネーブルレジスタR1がネゲートの場合、デバイスDiに対する実行要求が無効となっていると判断する。   The determination unit 402 determines whether an execution request for a predetermined process for the device Di is valid. Specifically, for example, when the enable register R1 is asserted, the determination unit 402 determines that the execution request for the device Di is valid. On the other hand, when the enable register R1 is negated, the determination unit 402 determines that the execution request for the device Di is invalid.

また、判断部402は、デバイスDiに対する所定の処理の実行要求が有効となっている場合、ウェイト指示が有効となっているか否かを判断することにしてもよい。ここで、ウェイト指示とは、デバイスDiと連動して動作する他のデバイスDjの準備が終了するまでの間、デバイスDiを待機させるためのものである。   Further, the determination unit 402 may determine whether or not the wait instruction is valid when the execution request for the predetermined process for the device Di is valid. Here, the wait instruction is for causing the device Di to wait until the preparation of another device Dj operating in conjunction with the device Di is completed.

具体的には、例えば、判断部402が、受付部401によって受け付けた他のデバイスDjからのウェイト信号がアサートされている間は、ウェイト指示が有効となっていると判断する。一方、判断部402が、他のデバイスDjからのウェイト信号がネゲートされた場合、ウェイト指示が無効となっていると判断する。他のデバイスDjからのウェイト信号は、受付部401が、他のデバイスDjから直接受け付けてもよく、また、デバイスDiを介して他のデバイスDjから受け付けてもよい。   Specifically, for example, the determination unit 402 determines that the wait instruction is valid while the wait signal from another device Dj received by the reception unit 401 is asserted. On the other hand, when the wait signal from the other device Dj is negated, the determination unit 402 determines that the wait instruction is invalid. The wait signal from the other device Dj may be received directly from the other device Dj by the receiving unit 401 or may be received from the other device Dj via the device Di.

また、判断部402は、イネーブルレジスタR1の値がアサートに設定されてから一定時間T経過するまでの間、ウェイト指示が有効となっていると判断することにしてもよい。ここで、一定時間Tは、他のデバイスDjの準備が終了するまでにかかる時間であり、予め設定されている。判断部402は、イネーブルレジスタR1の値がアサートに設定されてから一定時間T経過したら、ウェイト指示が無効となっていると判断する。   Further, the determination unit 402 may determine that the wait instruction is valid until a predetermined time T has elapsed after the value of the enable register R1 is set to assert. Here, the fixed time T is a time taken until the preparation of the other device Dj is completed, and is set in advance. The determination unit 402 determines that the wait instruction is invalid when a predetermined time T has elapsed after the value of the enable register R1 is set to assert.

出力部403は、判断部402によってデバイスDiに対する所定の処理の実行要求が有効となっていると判断された場合、デバイスDiに対して所定の処理の実行要求を出力する。また、出力部403は、デバイスDiに対する所定の処理の実行要求が有効かつウェイト指示が無効となっていると判断された場合に、デバイスDiに所定の処理の実行要求を出力することにしてもよい。これにより、デバイスDiと連動して動作する他のデバイスDjの準備が終了してから、デバイスDiに対して所定の処理の実行要求を行うことができる。   When the determination unit 402 determines that the predetermined process execution request for the device Di is valid, the output unit 403 outputs the predetermined process execution request to the device Di. The output unit 403 may also output a predetermined process execution request to the device Di when it is determined that the predetermined process execution request for the device Di is valid and the wait instruction is invalid. Good. Thereby, after the preparation of another device Dj that operates in conjunction with the device Di is completed, an execution request for a predetermined process can be made to the device Di.

具体的には、例えば、出力部403が、所定の処理の実行要求をデバイスDiの主機能部410に出力する。ここで、主機能部410は、所定の処理を実行するデバイスDiの機能部であり、所定の処理が終了するとCPU201に対する割込み要求を割込みコントローラを介して通知する。所定の処理の実行要求が主機能部410に出力されると、主機能部410によって所定の処理が実行される。   Specifically, for example, the output unit 403 outputs a request for executing a predetermined process to the main function unit 410 of the device Di. Here, the main function unit 410 is a function unit of the device Di that executes a predetermined process, and notifies the CPU 201 of an interrupt request via the interrupt controller when the predetermined process ends. When the execution request for the predetermined process is output to the main function unit 410, the main function unit 410 executes the predetermined process.

また、受付部401は、デバイスDiからCPU201に対して割込みコントローラを介して通知される割込み要求を、CPU201への通知に先立って受け付ける。具体的には、例えば、受付部401が、割込要求処理装置MiとデバイスDiとを直接接続する割込み信号線を使用して、デバイスDiの主機能部410から出力される割込み要求を受け付ける。   The accepting unit 401 accepts an interrupt request notified from the device Di to the CPU 201 via the interrupt controller prior to the notification to the CPU 201. Specifically, for example, the accepting unit 401 accepts an interrupt request output from the main function unit 410 of the device Di using an interrupt signal line that directly connects the interrupt request processing device Mi and the device Di.

カウンタ404は、受付部401によって割込み要求を受け付けた回数をカウントする。具体的には、例えば、カウンタ404が、受付部401によって割込み要求を受け付けると、その都度、カウンタ値をインクリメントすることにより、割込み要求を受け付けた回数をカウントする。   The counter 404 counts the number of times that the interrupt request is received by the receiving unit 401. Specifically, for example, each time the counter 404 receives an interrupt request by the receiving unit 401, the counter value is incremented to count the number of times the interrupt request has been received.

回数判定部405は、割込み要求を受け付けた回数が、所定回数Fiと一致するか否かを判定する。ここで、所定回数Fiとは、デバイスDiに所定の処理を繰り返し実行させる回数である。所定回数Fiは、回数レジスタR2のレジスタ値として予め設定されている。具体的には、例えば、回数判定部405が、回数レジスタR2のレジスタ値と、カウンタ404のカウント値とが一致するか否かを判定する。   The number determination unit 405 determines whether or not the number of times the interrupt request has been received matches the predetermined number Fi. Here, the predetermined number Fi is the number of times that the device Di repeatedly executes a predetermined process. The predetermined number Fi is preset as a register value of the number register R2. Specifically, for example, the number determination unit 405 determines whether or not the register value of the number register R2 matches the count value of the counter 404.

出力部403は、回数判定部405によって割込み要求を受け付けた回数が所定回数Fiに達するまで、デバイスDiに対して所定の処理の実行要求を出力する。具体的には、例えば、出力部403が、回数レジスタR2のレジスタ値とカウンタ404のカウント値が不一致の場合、所定の処理の実行要求を主機能部410に出力する。   The output unit 403 outputs a predetermined process execution request to the device Di until the number of times the interrupt request is received by the number determination unit 405 reaches the predetermined number Fi. Specifically, for example, when the register value of the number register R2 and the count value of the counter 404 do not match, the output unit 403 outputs a predetermined process execution request to the main function unit 410.

また、出力部403は、所定の処理の実行要求の出力に先立って、割込み要因のクリア指示を主機能部410に出力することにしてもよい。主機能部410は、割込み要因のクリア指示を受け付けると、割込み要因ビットの値を変更して割込み要因をクリアする。これにより、デバイスDiからの割込み要求が繰り返し発生することを防ぐことができる。   Further, the output unit 403 may output an interrupt factor clear instruction to the main function unit 410 prior to outputting a request for executing a predetermined process. When receiving the interrupt factor clear instruction, the main function unit 410 changes the value of the interrupt factor bit and clears the interrupt factor. Thereby, it is possible to prevent an interrupt request from the device Di from being repeatedly generated.

ID判定部406は、回数判定部405によって割込み要求を受け付けた回数が所定回数Fiと一致すると判定された場合、CPU201に対して割込み要求を通知するか否かを判定する。具体的には、例えば、ID判定部406が、IDレジスタR3のレジスタ値が割込コントローラ204の識別子と一致するか否かを判定する。   The ID determination unit 406 determines whether or not to notify the CPU 201 of the interrupt request when the number of times the interrupt request is received by the number determination unit 405 is determined to match the predetermined number Fi. Specifically, for example, the ID determination unit 406 determines whether or not the register value of the ID register R3 matches the identifier of the interrupt controller 204.

ここで、IDレジスタR3のレジスタ値が割込コントローラ204の識別子と一致する場合、ID判定部406が、CPU201に対して割込み要求を通知すると判定する。一方、IDレジスタR3のレジスタ値が割込コントローラ204の識別子と不一致の場合、ID判定部406が、CPU201に対して割込み要求を通知しないと判定する。   If the register value of the ID register R3 matches the identifier of the interrupt controller 204, the ID determination unit 406 determines to notify the CPU 201 of an interrupt request. On the other hand, if the register value of the ID register R3 does not match the identifier of the interrupt controller 204, the ID determination unit 406 determines not to notify the CPU 201 of an interrupt request.

ここでは、割込コントローラ204の識別子は「0xFFFFFFFF」に設定されている。このため、ID判定部406が、IDレジスタR3のレジスタ値の論理積(AND)が「1」となる場合に、割込コントローラ204の識別子と一致すると判定することにしてもよい。一方、IDレジスタR3のレジスタ値の論理積が「0」となる場合、ID判定部406が、割込コントローラ204の識別子と一致しないと判定する。   Here, the identifier of the interrupt controller 204 is set to “0xFFFFFFFF”. For this reason, the ID determination unit 406 may determine that the identifier of the interrupt controller 204 matches when the logical product (AND) of the register values of the ID register R3 is “1”. On the other hand, when the logical product of the register values of the ID register R3 is “0”, the ID determination unit 406 determines that it does not match the identifier of the interrupt controller 204.

また、割込要求処理装置Mi内部に割込コントローラ204の識別子を記憶する記憶装置を設けることにしてもよい。この場合、ID判定部406は、IDレジスタR3のレジスタ値と記憶装置に記憶されている識別子とを比較して、割込コントローラ204の識別子と一致するか否かを判定する。   Further, a storage device for storing the identifier of the interrupt controller 204 may be provided inside the interrupt request processing device Mi. In this case, the ID determination unit 406 compares the register value of the ID register R3 with the identifier stored in the storage device, and determines whether or not the identifier matches the identifier of the interrupt controller 204.

回数判定部405によって割込み要求を受け付けた回数が所定回数Fiと一致すると判定された場合、判断部402によってイネーブルレジスタR1の値がネゲートに設定される。これにより、デバイスDiが所定の処理をFi回繰り返し実行したあとに、割込要求処理装置MiからデバイスDiに対して実行要求を行うことを防ぐことができる。   When the number of times the interrupt request is received by the number determination unit 405 is determined to match the predetermined number Fi, the value of the enable register R1 is set to the negate by the determination unit 402. As a result, it is possible to prevent an execution request from the interrupt request processing device Mi to the device Di after the device Di repeatedly executes a predetermined process Fi times.

出力部403は、ID判定部406によってCPU201に対して割込み要求を通知すると判定された場合、CPU201に対するデバイスDiからの割込み要求を割込コントローラ204に出力する。具体的には、例えば、出力部403が、割込要求処理装置Miと割込コントローラ204とを直接接続する割込み信号線を使用して、デバイスDiからの割込み要求を出力する。   The output unit 403 outputs an interrupt request from the device Di to the CPU 201 to the interrupt controller 204 when the ID determination unit 406 determines to notify the CPU 201 of an interrupt request. Specifically, for example, the output unit 403 outputs an interrupt request from the device Di using an interrupt signal line that directly connects the interrupt request processing device Mi and the interrupt controller 204.

割込コントローラ204は、割込要求処理装置MiからデバイスDiの割込み要求を受け付けると、CPU201に対してデバイスDiの割込み要求とともにデバイスDiの割込み要因に対応する割込みベクタを出力する。これにより、CPU201を介して処理する必要がある割込み要求をCPU201に通知することができる。   When the interrupt controller 204 receives an interrupt request of the device Di from the interrupt request processing device Mi, the interrupt controller 204 outputs an interrupt vector corresponding to the interrupt factor of the device Di together with the interrupt request of the device Di to the CPU 201. Thereby, the CPU 201 can be notified of an interrupt request that needs to be processed via the CPU 201.

また、出力部403は、ID判定部406によってCPU201に対して割込み要求を通知しないと判定された場合、他のデバイスDjに対して所定の処理の実行要求を出力する。具体的には、例えば、出力部403が、IDレジスタR3のレジスタ値から識別される他の割込要求処理装置Mjに、デバイスDjに対する所定の処理の実行要求を出力する。   Further, when the ID determination unit 406 determines that the interrupt request is not notified to the CPU 201, the output unit 403 outputs an execution request for a predetermined process to another device Dj. Specifically, for example, the output unit 403 outputs an execution request for a predetermined process for the device Dj to another interrupt request processing device Mj identified from the register value of the ID register R3.

より具体的には、例えば、出力部403が、バス210に対してvalid信号を出力するとともに、IDレジスタR3のレジスタ値を出力する。この結果、バス210により、IDレジスタR3のレジスタ値から識別される他の割込要求処理装置Mjにready信号が出力される。   More specifically, for example, the output unit 403 outputs a valid signal to the bus 210 and outputs a register value of the ID register R3. As a result, the ready signal is output to the other interrupt request processing device Mj identified from the register value of the ID register R3 by the bus 210.

そして、他の割込要求処理装置Mjは、バス210からready信号を受け付けると、デバイスDjに対して所定の処理の実行要求を出力する。このように、デバイスDiのつぎに動作させる他のデバイスDjに搭載されている割込要求処理装置Mjの識別子をIDレジスタR3に設定しておくことで、複数のデバイスD1〜Dnを任意のシーケンスに従って動作させることができる。   Then, when the other interrupt request processing device Mj receives the ready signal from the bus 210, it outputs an execution request for a predetermined process to the device Dj. In this way, by setting the identifier of the interrupt request processing device Mj mounted on the other device Dj to be operated next to the device Di in the ID register R3, the plurality of devices D1 to Dn can be set in an arbitrary sequence. Can be operated according to.

なお、上述した説明では、デバイスDiからの割込み要求を、割込コントローラ204を介してCPU201に通知することにしたが、これに限らない。具体的には、例えば、出力部403が、CPU201と割込要求処理装置Miとを直接接続する割込み信号線を使用して、デバイスDiからの割込み要求をCPU201に直接出力することにしてもよい。   In the above description, the interrupt request from the device Di is notified to the CPU 201 via the interrupt controller 204. However, the present invention is not limited to this. Specifically, for example, the output unit 403 may directly output an interrupt request from the device Di to the CPU 201 using an interrupt signal line that directly connects the CPU 201 and the interrupt request processing device Mi. .

また、上述した説明では、割込要求処理装置MiからデバイスDiに対して割込み要因のクリア指示を出力することで、デバイスDiが割込み要因をクリアすることにしたが、これに限らない。具体的には、例えば、デバイスDiが、所定の処理の実行要求を受け付けると、自律的に割込み要因をクリアすることにしてもよい。   In the above description, the interrupt request processing device Mi outputs an interrupt factor clear instruction to the device Di to cause the device Di to clear the interrupt factor. However, the present invention is not limited to this. Specifically, for example, when the device Di receives an execution request for a predetermined process, the interrupt factor may be autonomously cleared.

(コンピュータシステム200の処理手順)
つぎに、実施の形態2にかかるコンピュータシステム200の処理手順について説明する。ここでは、割込要求処理装置MiのIDレジスタR3に割込要求処理装置Mjの識別子が保持されており、割込要求処理装置MjのIDレジスタR3に割込コントローラ204の識別子が保持されている場合を例に挙げて説明する。
(Processing procedure of computer system 200)
Next, a processing procedure of the computer system 200 according to the second embodiment will be described. Here, the identifier of the interrupt request processing device Mj is held in the ID register R3 of the interrupt request processing device Mi, and the identifier of the interrupt controller 204 is held in the ID register R3 of the interrupt request processing device Mj. A case will be described as an example.

図5は、実施の形態2にかかるコンピュータシステムの処理手順を示すシーケンス図である。図5のシーケンス図において、(1)CPU201は、割込コントローラ204、割込要求処理装置Mi,MjおよびデバイスDi,Djの初期設定を行う。(2)CPU201は、デバイスDiに対する実行要求を割込要求処理装置Miに出力する。(3)CPU201は、任意のプログラムの実行を開始する。   FIG. 5 is a sequence diagram of the processing procedure of the computer system according to the second embodiment. In the sequence diagram of FIG. 5, (1) the CPU 201 performs initial setting of the interrupt controller 204, the interrupt request processing devices Mi and Mj, and the devices Di and Dj. (2) The CPU 201 outputs an execution request for the device Di to the interrupt request processing device Mi. (3) The CPU 201 starts executing an arbitrary program.

(4)割込要求処理装置Miは、デバイスDiに対する実行要求を受け付けると、デバイスDiに対して実行要求を出力する。(5)デバイスDiは、割込要求処理装置Miから実行要求を受け付けると所定の処理を実行する。(6)割込要求処理装置Miは、所定の処理の終了を通知するためのCPU201に対する割込み要求をデバイスDiから受け付ける。   (4) Upon receiving an execution request for the device Di, the interrupt request processing device Mi outputs an execution request to the device Di. (5) Upon receiving an execution request from the interrupt request processing device Mi, the device Di executes a predetermined process. (6) The interrupt request processing device Mi receives from the device Di an interrupt request to the CPU 201 for notifying the end of predetermined processing.

(7)割込要求処理装置Miは、デバイスDiから割込み要求を受け付けた回数がFi回となるまで、デバイスDiの割込み要因をクリアするとともに、デバイスDiに対して実行要求を出力する。(8)割込要求処理装置Miは、デバイスDiから割込み要求を受け付けた回数がFi回となったら、デバイスDiの割込み要因をクリアして、他のデバイスDjに対する実行要求を他の割込要求処理装置Mjに出力する。   (7) The interrupt request processing device Mi clears the interrupt factor of the device Di and outputs an execution request to the device Di until the number of times the interrupt request is received from the device Di reaches Fi. (8) When the number of times that the interrupt request is received from the device Di reaches Fi times, the interrupt request processing device Mi clears the interrupt factor of the device Di and sends an execution request for the other device Dj to another interrupt request. Output to the processing device Mj.

(9)割込要求処理装置Mjは、割込要求処理装置MiからデバイスDjに対する実行要求を受け付けると、デバイスDjに対して実行要求を出力する。(10)デバイスDjは、割込要求処理装置Mjから実行要求を受け付けると所定の処理を実行する。(11)割込要求処理装置Mjは、所定の処理の終了を通知するためのCPU201に対する割込み要求をデバイスDjから受け付ける。   (9) When receiving an execution request for the device Dj from the interrupt request processing device Mi, the interrupt request processing device Mj outputs an execution request to the device Dj. (10) When the device Dj receives an execution request from the interrupt request processing device Mj, the device Dj executes a predetermined process. (11) The interrupt request processing device Mj receives from the device Dj an interrupt request to the CPU 201 for notifying the end of predetermined processing.

(12)割込要求処理装置Mjは、デバイスDjから割込み要求を受け付けた回数がFj回となるまで、デバイスDjの割込み要因をクリアするとともに、デバイスDjに対して実行要求を出力する。(13)割込要求処理装置Mjは、デバイスDjから割込み要求を受け付けた回数がFj回となったら、デバイスDjの割込み要因をクリアして、CPU201に対するデバイスDjからの割込み要求を割込コントローラ204に出力する。   (12) The interrupt request processing device Mj clears the interrupt factor of the device Dj and outputs an execution request to the device Dj until the number of interrupt requests received from the device Dj reaches Fj. (13) When the number of times the interrupt request is received from the device Dj reaches Fj, the interrupt request processing device Mj clears the interrupt factor of the device Dj and sends the interrupt request from the device Dj to the CPU 201 to the interrupt controller 204. Output to.

(14)割込コントローラ204は、割込要求処理装置Mjから割込み要求を受け付けると、CPU201にデバイスDjからの割込み要求を出力する。(15)CPU201は、割込コントローラ204から割込み要求を受け付けると、実行中のプログラムを中断して割込ハンドラを呼び出す。この結果、割込ハンドラによってデバイスDjからの割込み要求が処理される。   (14) Upon receiving an interrupt request from the interrupt request processing device Mj, the interrupt controller 204 outputs an interrupt request from the device Dj to the CPU 201. (15) Upon receiving an interrupt request from the interrupt controller 204, the CPU 201 interrupts the program being executed and calls the interrupt handler. As a result, the interrupt request from the device Dj is processed by the interrupt handler.

(割込要求処理装置Miの動作タイミング)
つぎに、実施の形態2にかかる割込要求処理装置Mi,Mjの動作タイミングについて説明する。ここでは、図5と同様に、割込要求処理装置MiのIDレジスタR3に割込要求処理装置Mjの識別子が保持されており、割込要求処理装置MjのIDレジスタR3に割込コントローラ204の識別子が保持されている場合を例に挙げて説明する。
(Operation timing of interrupt request processing device Mi)
Next, the operation timing of the interrupt request processing devices Mi and Mj according to the second embodiment will be described. Here, as in FIG. 5, the ID of the interrupt request processing device Mj is held in the ID register R3 of the interrupt request processing device Mi, and the ID of the interrupt controller 204 is stored in the ID register R3 of the interrupt request processing device Mj. A case where an identifier is held will be described as an example.

図6は、実施の形態2にかかる割込要求処理装置の動作タイミングの一例を示すタイミングチャートである。図6において、割込要求処理装置Miは、イネーブルレジスタR1の値がアサートに設定されると、デバイスDiから割込み要求を受け付けた回数をカウントする。割込要求処理装置Miは、デバイスDiから割込み要求を受け付けた回数がFi回となったら、イネーブルレジスタR1の値をネゲートに設定して、バス210に対してvalid信号を1サイクルアサートする(図6中(a))。   FIG. 6 is a timing chart illustrating an example of operation timing of the interrupt request processing device according to the second embodiment. In FIG. 6, when the value of the enable register R1 is set to assert, the interrupt request processing device Mi counts the number of times an interrupt request is received from the device Di. When the number of interrupt requests received from the device Di reaches Fi, the interrupt request processing device Mi sets the value of the enable register R1 to negate and asserts the valid signal for one cycle to the bus 210 (FIG. 6 (a)).

バス210は、valid信号がアサートされると、割込要求処理装置Mjに対してready信号を1サイクルアサートする(図6中(b))。割込要求処理装置Mjは、ready信号がアサートされると、イネーブルレジスタR1の値をアサートに設定する(図6中(c))。   When the valid signal is asserted, the bus 210 asserts the ready signal for one cycle to the interrupt request processing device Mj ((b) in FIG. 6). When the ready signal is asserted, the interrupt request processing device Mj sets the value of the enable register R1 to assert ((c) in FIG. 6).

割込要求処理装置Mjは、イネーブルレジスタR1の値がアサートに設定されると、デバイスDjから割込み要求を受け付けた回数をカウントする。割込要求処理装置Mjは、デバイスDjから割込み要求を受け付けた回数がFj回となったら、イネーブルレジスタR1の値をネゲートに設定して、CPU201に対するデバイスDjからの割込み要求を割込コントローラ204に出力する(図6中(d))。これにより、CPU201を介すことなく、デバイスDiのあとにデバイスDjを動作させることができる。   When the value of the enable register R1 is set to assert, the interrupt request processing device Mj counts the number of times that an interrupt request is received from the device Dj. When the number of times that the interrupt request is received from the device Dj reaches Fj, the interrupt request processing device Mj sets the value of the enable register R1 to negate and sends the interrupt request from the device Dj to the CPU 201 to the interrupt controller 204. It outputs ((d) in FIG. 6). Thereby, the device Dj can be operated after the device Di without using the CPU 201.

(割込要求処理装置Miの割込要求処理手順)
つぎに、実施の形態2にかかる割込要求処理装置Miの割込要求処理手順について説明する。図7は、実施の形態2にかかる割込要求処理装置の割込要求処理手順の一例を示すフローチャートである。
(Interrupt request processing procedure of interrupt request processing device Mi)
Next, an interrupt request processing procedure of the interrupt request processing device Mi according to the second embodiment will be described. FIG. 7 is a flowchart of an example of an interrupt request processing procedure of the interrupt request processing device according to the second embodiment.

図7のフローチャートにおいて、まず、判断部402により、イネーブルレジスタR1の値がアサートに設定されたか否かを判断する(ステップS701)。ここで、イネーブルレジスタR1の値がアサートに設定されるのを待って(ステップS701:No)、アサートに設定された場合(ステップS701:Yes)、判断部402により、ウェイト信号がアサートされているか否かを判断する(ステップS702)。   In the flowchart of FIG. 7, first, the determination unit 402 determines whether or not the value of the enable register R1 is set to assert (step S701). Here, it waits for the value of the enable register R1 to be set to assert (step S701: No), and if it is set to assert (step S701: Yes), is the wait signal asserted by the determination unit 402? It is determined whether or not (step S702).

ここで、ウェイト信号がアサートされている場合(ステップS702:Yes)、判断部402により、ウェイト信号がネゲートされるのを待つ。そして、ウェイト信号がネゲートされた場合(ステップS702:No)、出力部403により、デバイスDiに対して割込み要因のクリア指示を出力する(ステップS703)。つぎに、出力部403により、デバイスDiに対して所定の処理の実行要求を出力する(ステップS704)。   If the wait signal is asserted (step S702: Yes), the determination unit 402 waits for the wait signal to be negated. If the wait signal is negated (step S702: No), the output unit 403 outputs an interrupt factor clear instruction to the device Di (step S703). Next, the output unit 403 outputs an execution request for a predetermined process to the device Di (step S704).

このあと、受付部401により、デバイスDiから割込み要求を受け付けるのを待って(ステップS705:No)、割込み要求を受け付けた場合(ステップS705:Yes)、カウンタ404により、カウント値をインクリメントする(ステップS706)。そして、回数判定部405により、カウンタ404のカウント値と回数レジスタR2のレジスタ値とが一致するか否かを判定する(ステップS707)。   After this, the reception unit 401 waits for an interrupt request from the device Di (step S705: No), and when an interrupt request is received (step S705: Yes), the counter 404 increments the count value (step S705). S706). Then, the number determination unit 405 determines whether or not the count value of the counter 404 matches the register value of the number register R2 (step S707).

ここで、カウンタ404のカウント値と回数レジスタR2のレジスタ値とが不一致の場合(ステップS707:No)、ステップS702に戻る。一方、カウンタ404のカウント値と回数レジスタR2のレジスタ値とが一致する場合(ステップS707:Yes)、出力部403により、デバイスDiに対して割込み要因のクリア指示を出力する(ステップS708)。   Here, when the count value of the counter 404 and the register value of the count register R2 do not match (step S707: No), the process returns to step S702. On the other hand, if the count value of the counter 404 matches the register value of the count register R2 (step S707: Yes), the output unit 403 outputs an interrupt factor clear instruction to the device Di (step S708).

つぎに、判断部402により、イネーブルレジスタR1の値をネゲートに設定する(ステップS709)。そして、ID判定部406により、IDレジスタR3のレジスタ値が割込コントローラ204の識別子と一致するか否かを判定する(ステップS710)。   Next, the determination unit 402 sets the value of the enable register R1 to negate (step S709). Then, the ID determination unit 406 determines whether or not the register value of the ID register R3 matches the identifier of the interrupt controller 204 (step S710).

ここで、不一致の場合(ステップS710:No)、出力部403により、バス210に対して、valid信号を1サイクルアサートするとともにIDレジスタR3のレジスタ値を出力して(ステップS711)、本フローチャートによる一連の処理を終了する。   If there is a mismatch (step S710: No), the output unit 403 asserts the valid signal for one cycle and outputs the register value of the ID register R3 to the bus 210 (step S711). A series of processing ends.

一方、一致する場合(ステップS710:Yes)、出力部403により、CPU201に対するデバイスDiからの割込み要求を割込コントローラ204に出力して(ステップS712)、本フローチャートによる一連の処理を終了する。   On the other hand, if they match (step S710: Yes), the output unit 403 outputs an interrupt request from the device Di to the CPU 201 to the interrupt controller 204 (step S712), and the series of processing according to this flowchart ends.

これにより、CPU201が直接関与しなくてもよい割込み要求を、CPU201の代わりに処理することができる。また、他のデバイスDjに搭載されている割込要求処理装置Mjの識別子をIDレジスタR3に設定しておくことで、CPU201を介すことなく、デバイスDiと連動して動作する他のデバイスDjを動作させることができる。   Thereby, an interrupt request that does not require the CPU 201 to be directly involved can be processed instead of the CPU 201. Further, by setting the identifier of the interrupt request processing device Mj mounted on the other device Dj in the ID register R3, the other device Dj that operates in conjunction with the device Di without going through the CPU 201. Can be operated.

(コンピュータシステム200の一実施例)
つぎに、実施の形態2にかかるコンピュータシステム200の一実施例について説明する。図8は、実施の形態2にかかるコンピュータシステムの一実施例を示す説明図である。ここでは、コンピュータシステム200内のデバイスDiとして、DMAC801およびメモリコントローラ802を例に挙げて説明する。
(One Example of Computer System 200)
Next, an example of the computer system 200 according to the second embodiment will be described. FIG. 8 is an explanatory diagram of an example of the computer system according to the second embodiment. Here, the DMAC 801 and the memory controller 802 will be described as examples of the device Di in the computer system 200.

DMAC801は、コンピュータシステム200のDMA転送を制御する。DMAC801には、割込要求処理装置M1が搭載されている。メモリコントローラ802は、コンピュータシステム200のRAM203やNANDフラッシュメモリ803などのインターフェースを統括する。   The DMAC 801 controls DMA transfer of the computer system 200. The DMAC 801 is equipped with an interrupt request processing device M1. The memory controller 802 controls interfaces such as the RAM 203 and the NAND flash memory 803 of the computer system 200.

ここでは、CPU201が、DMAC801を使用して、NANDフラッシュメモリ803に格納されているデータをRAM203に転送する場合を想定する。ここで、NANDフラッシュメモリ803は、不揮発性の半導体メモリであり、ページ単位(例えば、512[B]または2048[B])の書き込み、読み出しを行う。   Here, it is assumed that the CPU 201 uses the DMAC 801 to transfer data stored in the NAND flash memory 803 to the RAM 203. Here, the NAND flash memory 803 is a non-volatile semiconductor memory, and performs writing and reading in page units (for example, 512 [B] or 2048 [B]).

このため、NANDフラッシュメモリ803からページ単位よりも大きなデータ量のデータを読み出す場合、DMAC801を複数回起動してデータの転送を行う必要がある。例えば、NANDフラッシュメモリ803のページ単位のデータ量を2[KB]、総転送データ量を16[KB]とすると、DMAC801を8回(=16/2)起動してデータの転送を行う必要がある。このため、割込要求処理装置M1の回数レジスタR2に保持される所定回数F1は「F1=8」となる。   For this reason, when data having a data amount larger than the page unit is read from the NAND flash memory 803, it is necessary to activate the DMAC 801 a plurality of times to transfer data. For example, if the data amount of the page unit of the NAND flash memory 803 is 2 [KB] and the total transfer data amount is 16 [KB], it is necessary to start the DMAC 801 8 times (= 16/2) to transfer data. is there. For this reason, the predetermined number of times F1 held in the number-of-times register R2 of the interrupt request processing device M1 is “F1 = 8”.

(コンピュータシステム200の処理手順の一実施例)
つぎに、実施の形態2にかかるコンピュータシステム200の処理手順の一実施例について説明する。図9は、実施の形態2にかかるコンピュータシステムの処理手順の一実施例を示すシーケンス図である。
(One Example of Processing Procedure of Computer System 200)
Next, an example of a processing procedure of the computer system 200 according to the second embodiment will be described. FIG. 9 is a sequence diagram of an example of the processing procedure of the computer system according to the second embodiment.

図9のシーケンス図において、(1)CPU201は、割込コントローラ204、NANDフラッシュメモリ803、DMAC801および割込要求処理装置M1の初期設定を行う。具体的には、例えば、CPU201は、割込みベクタや優先順位などを割込コントローラ204に設定する。また、CPU201は、リードコマンドや読み込み先のアドレスなどをNANDフラッシュメモリ803に設定する。また、CPU201は、アクセスアドレスや転送データ量(ここでは、ページ単位のデータ量)などをDMAC801に設定する。また、CPU201は、回数レジスタR2のレジスタ値「8」およびIDレジスタR3のレジスタ値「0xFFFFFFFF」を割込要求処理装置M1に設定する。   In the sequence diagram of FIG. 9, (1) the CPU 201 performs initial settings of the interrupt controller 204, the NAND flash memory 803, the DMAC 801, and the interrupt request processing device M1. Specifically, for example, the CPU 201 sets an interrupt vector, a priority order, and the like in the interrupt controller 204. In addition, the CPU 201 sets a read command, a read destination address, and the like in the NAND flash memory 803. Further, the CPU 201 sets the access address, the transfer data amount (here, the data amount in page units), and the like in the DMAC 801. Further, the CPU 201 sets the register value “8” of the number register R2 and the register value “0xFFFFFFFF” of the ID register R3 in the interrupt request processing device M1.

(2)CPU201は、DMAC801に対する転送処理の実行要求を割込要求処理装置M1に出力する。(3)CPU201は、任意のプログラムの実行を開始する。(4)割込要求処理装置M1は、DMAC801に対する転送処理の実行要求を受け付けると、DMAC801に対して転送処理の実行要求を出力する。   (2) The CPU 201 outputs a transfer processing execution request to the DMAC 801 to the interrupt request processing device M1. (3) The CPU 201 starts executing an arbitrary program. (4) When receiving the transfer process execution request to the DMAC 801, the interrupt request processing device M1 outputs a transfer process execution request to the DMAC 801.

(5)DMAC801は、割込要求処理装置M1から実行要求を受け付けると、NANDフラッシュメモリ803からRAM203へのデータの転送処理を実行する。具体的には、例えば、DMAC801は、NANDフラッシュメモリ803に格納されているデータを、DMAC801内部のバッファに取り込んだあとRAM203に書き込む処理を、1ページ分のデータが転送されるまで繰り返す。   (5) Upon receiving an execution request from the interrupt request processing device M1, the DMAC 801 executes a data transfer process from the NAND flash memory 803 to the RAM 203. Specifically, for example, the DMAC 801 repeats the process of taking the data stored in the NAND flash memory 803 into the buffer inside the DMAC 801 and writing it to the RAM 203 until the data for one page is transferred.

(6)割込要求処理装置M1は、転送処理の終了を通知するためのCPU201に対する割込み要求をDMAC801から受け付ける。(7)NANDフラッシュメモリ803は、1ページ分のデータが読み出されると、割込要求処理装置M1に対してウェイト信号をアサートして、次ページのデータの読み込みを開始する。具体的には、例えば、NANDフラッシュメモリ803は、バス210を介して、割込要求処理装置M1に対して直接接続されたウェイト信号をアサートして、ページの切り替えを行う。   (6) The interrupt request processing device M1 receives from the DMAC 801 an interrupt request to the CPU 201 for notifying the end of transfer processing. (7) When one page of data is read, the NAND flash memory 803 asserts a wait signal to the interrupt request processing device M1, and starts reading the next page of data. Specifically, for example, the NAND flash memory 803 asserts a wait signal directly connected to the interrupt request processing device M1 via the bus 210 and switches pages.

(8)NANDフラッシュメモリ803は、次ページのデータの読み込みが完了したら、割込要求処理装置M1に対してウェイト信号をネゲートする。具体的には、例えば、NANDフラッシュメモリ803は、バス210を介して、割込要求処理装置M1に対して直接接続されたウェイト信号をネゲートする。   (8) The NAND flash memory 803 negates a wait signal to the interrupt request processing device M1 when the reading of the next page of data is completed. Specifically, for example, the NAND flash memory 803 negates a wait signal directly connected to the interrupt request processing device M1 via the bus 210.

(9)割込要求処理装置M1は、DMAC801から割込み要求を受け付けた回数が8回となるまで、DMAC801の割込み要因をクリアするとともに、DMAC801に転送処理の実行要求を出力する。具体的には、例えば、割込要求処理装置M1は、NANDフラッシュメモリ803からウェイト信号がネゲートされるのを待って、DMAC801に対して転送処理の実行要求を出力する。   (9) The interrupt request processing device M1 clears the interrupt factor of the DMAC 801 and outputs an execution request for transfer processing to the DMAC 801 until the number of interrupt requests received from the DMAC 801 reaches eight. Specifically, for example, the interrupt request processing device M1 outputs a transfer processing execution request to the DMAC 801 after waiting for a wait signal to be negated from the NAND flash memory 803.

(10)割込要求処理装置M1は、DMAC801から割込み要求を受け付けた回数が8回となったら、DMAC801の割込み要因をクリアして、CPU201に対するDMAC801からの割込み要求を割込コントローラ204に出力する。(11)割込コントローラ204は、割込要求処理装置M1から割込み要求を受け付けると、CPU201に対してDMAC801からの割込み要求を出力する。CPU201は、割込コントローラ204からの割込み要求を受け付けると、実行中のプログラムを中断して割込ハンドラを呼び出す。そして、割込ハンドラによってDMAC801からの割込み要求が処理される。   (10) When the number of times the interrupt request is received from the DMAC 801 reaches eight, the interrupt request processing device M1 clears the interrupt factor of the DMAC 801 and outputs the interrupt request from the DMAC 801 to the CPU 201 to the interrupt controller 204. . (11) Upon receiving an interrupt request from the interrupt request processing device M1, the interrupt controller 204 outputs an interrupt request from the DMAC 801 to the CPU 201. When receiving an interrupt request from the interrupt controller 204, the CPU 201 interrupts the program being executed and calls the interrupt handler. Then, an interrupt request from the DMAC 801 is processed by the interrupt handler.

コンピュータシステム200の一実施例によれば、データ転送を行う際の、CPU201の割込み処理にかかる負荷を低減させて、CPU201の処理効率の向上を図ることができる。具体的には、CPU201の代わりに、DMAC801からの1回目から7回目までの割込み要求を割込要求処理装置Miに処理させることができる。このため、CPU201は、DMAC801からの最後(8回目)の割込み要求に対する割込み処理を行うだけでよい。これにより、従来に比べてCPU201は本来実行すべき処理に専念することができ、CPU201の処理効率を向上させることができる。   According to an embodiment of the computer system 200, it is possible to reduce the load on the interrupt processing of the CPU 201 when performing data transfer, and to improve the processing efficiency of the CPU 201. Specifically, instead of the CPU 201, the interrupt request processing device Mi can process the first to seventh interrupt requests from the DMAC 801. For this reason, the CPU 201 only needs to perform an interrupt process for the last (eighth) interrupt request from the DMAC 801. As a result, the CPU 201 can devote itself to processing that should be originally executed, and the processing efficiency of the CPU 201 can be improved.

以上説明したように、実施の形態2にかかるコンピュータシステム200によれば、割込要求処理装置Miが、デバイスDiから割込み要求を受け付けた回数が所定回数Fiとなるまで、CPU201の代わりに割込み要求を処理することができる。すなわち、CPU201に対する複数のデバイスD1〜Dnからの割込み要求を、複数の割込要求処理装置M1〜Mnに分散して処理させることができる。これにより、実行中のプログラムを中断して割込ハンドラを呼び出すなどのCPU201の割込み処理を減らすことができ、CPU201の割込み処理にかかる負荷を低減させて、CPU201の処理効率の向上を図ることができる。   As described above, according to the computer system 200 according to the second embodiment, the interrupt request processing device Mi receives an interrupt request instead of the CPU 201 until the number of times that the interrupt request is received from the device Di reaches the predetermined number Fi. Can be processed. That is, interrupt requests from the plurality of devices D1 to Dn to the CPU 201 can be distributed and processed in the plurality of interrupt request processing devices M1 to Mn. As a result, the interrupt processing of the CPU 201 such as interrupting the program being executed and calling the interrupt handler can be reduced, and the load on the interrupt processing of the CPU 201 can be reduced to improve the processing efficiency of the CPU 201. it can.

また、コンピュータシステム200によれば、割込コントローラ204の識別子をIDレジスタR3に設定しておくことで、割込み要求を受け付けた回数が所定回数Fiとなったら、デバイスDiからの割込み要求をCPU201に通知することができる。これにより、CPU201を介して処理する必要がある割込み要求をCPU201に通知することができる。   Also, according to the computer system 200, by setting the identifier of the interrupt controller 204 in the ID register R3, when the number of interrupt requests received reaches the predetermined number Fi, an interrupt request from the device Di is sent to the CPU 201. You can be notified. Thereby, the CPU 201 can be notified of an interrupt request that needs to be processed via the CPU 201.

また、コンピュータシステム200によれば、割込要求処理装置Mjの識別子をIDレジスタR3に設定しておくことで、割込み要求を受け付けた回数が所定回数Fiとなったら、他のデバイスDjに対して所定の処理の実行要求を行うことができる。これにより、CPU201を介すことなく、複数のデバイスD1〜Dnを任意のシーケンスに従って動作させることができる。   Further, according to the computer system 200, by setting the identifier of the interrupt request processing device Mj in the ID register R3, when the number of received interrupt requests reaches the predetermined number Fi, the other device Dj is notified. An execution request for a predetermined process can be made. Thereby, a plurality of devices D1 to Dn can be operated according to an arbitrary sequence without using the CPU 201.

また、コンピュータシステム200に割込要求処理装置Miを設置するために、CPU201、割込コントローラ204およびデバイスDiのインターフェース部分を変更する必要がない。このため、CPU201、割込コントローラ204およびデバイスDiの回路構成を変更することなく、CPU201の処理効率の向上を図ることができる。   Further, in order to install the interrupt request processing device Mi in the computer system 200, it is not necessary to change the interface portion of the CPU 201, the interrupt controller 204, and the device Di. Therefore, the processing efficiency of the CPU 201 can be improved without changing the circuit configuration of the CPU 201, the interrupt controller 204, and the device Di.

(実施の形態3)
つぎに、実施の形態3にかかるコンピュータシステム1000について説明する。実施の形態3では、コンピュータシステム1000に割込要求処理装置Mi,Mj間の通信を行うための専用のバスを設ける。なお、実施の形態1,2で説明した箇所と同様の箇所については、図示および説明を省略する。
(Embodiment 3)
Next, a computer system 1000 according to the third embodiment will be described. In the third embodiment, the computer system 1000 is provided with a dedicated bus for performing communication between the interrupt request processing devices Mi and Mj. In addition, illustration and description are abbreviate | omitted about the location similar to the location demonstrated in Embodiment 1,2.

図10は、実施の形態3にかかるコンピュータシステムを示す説明図である。コンピュータシステム1000において、CPU201、ROM202、RAM203、割込コントローラ204およびデバイスD1〜Dnは、バス210を介して相互に通信可能に接続されている。また、コンピュータシステム1000において、割込コントローラ204および割込要求処理装置M1〜Mnは、割込専用バス1010を介して通信可能に接続されている。   FIG. 10 is an explanatory diagram of a computer system according to the third embodiment. In the computer system 1000, the CPU 201, the ROM 202, the RAM 203, the interrupt controller 204, and the devices D1 to Dn are connected to each other via a bus 210 so as to communicate with each other. In the computer system 1000, the interrupt controller 204 and the interrupt request processing devices M1 to Mn are communicably connected via an interrupt dedicated bus 1010.

ここで、割込要求処理装置Miは、割込専用バス1010を介して、他の割込要求処理装置Mjと相互に通信を行う。具体的には、例えば、出力部403は、割込専用バス1010を介して、他のデバイスDjに対する実行要求を他の割込要求処理装置Mjに出力する。また、受付部401は、割込専用バス1010を介して、デバイスDiに対する実行要求を他の割込要求処理装置Mjから受け付ける。   Here, the interrupt request processing device Mi communicates with other interrupt request processing devices Mj via the interrupt dedicated bus 1010. Specifically, for example, the output unit 403 outputs an execution request for another device Dj to another interrupt request processing device Mj via the interrupt dedicated bus 1010. The accepting unit 401 accepts an execution request for the device Di from another interrupt request processing device Mj via the interrupt dedicated bus 1010.

また、割込要求処理装置Miは、割込専用バス1010を介して、割込コントローラ204と相互に通信を行う。具体的には、例えば、出力部403は、割込専用バス1010を介して、CPU201に対するデバイスDiからの割込み要求を割込コントローラ204に出力する。   Further, the interrupt request processing device Mi communicates with the interrupt controller 204 via the interrupt dedicated bus 1010. Specifically, for example, the output unit 403 outputs an interrupt request from the device Di to the CPU 201 to the interrupt controller 204 via the interrupt dedicated bus 1010.

以上説明したように、実施の形態3にかかるコンピュータシステム1000によれば、バス210とは異なる割込専用バス1010を介して、割込要求処理装置Mi,Mj間の通信を行うことができる。これにより、割込要求処理装置Mi,Mj間の通信によりバス210の帯域が圧迫されることを避けて、バス210のスループットの低下を防ぐことができる。また、割込要求処理装置Mi,Mj間の通信プロトコルを、バス210の通信プロトコルに合わせる必要がないため、システム設計者の手間を削減することができる。   As described above, according to the computer system 1000 according to the third embodiment, communication between the interrupt request processing devices Mi and Mj can be performed via the interrupt dedicated bus 1010 different from the bus 210. As a result, it is possible to prevent the bandwidth of the bus 210 from being compressed by communication between the interrupt request processing devices Mi and Mj, and to prevent a decrease in the throughput of the bus 210. In addition, since it is not necessary to match the communication protocol between the interrupt request processing devices Mi and Mj with the communication protocol of the bus 210, it is possible to reduce the effort of the system designer.

本実施の形態で説明した割込要求処理装置Miは、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。具体的には、たとえば、上述した割込要求処理装置Miの機能(受付部401〜ID判定部406)をHDL記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与えることにより、割込要求処理装置Miを製造することができる。   The interrupt request processing device Mi described in the present embodiment is an application specific IC (hereinafter simply referred to as “ASIC”) such as a standard cell or a structured ASIC (Application Specific Integrated Circuit), or a PLD (Programmable) such as an FPGA. It can also be realized by Logic Device). Specifically, for example, by defining the function of the above-described interrupt request processing device Mi (reception unit 401 to ID determination unit 406) by HDL description, logically synthesizing the HDL description and giving it to the ASIC or PLD The interrupt request processing device Mi can be manufactured.

また、割込要求処理装置Miの各機能部(受付部401〜ID判定部406)は、例えば、ROM202やRAM203などの記憶装置に記憶されたプログラムをCPU201に実行させることにより、その機能を実現することにしてもよい。なお、本実施の形態で説明した割込要求処理方法は、各機能部(受付部401〜ID判定部406)を有するパーソナル・コンピュータやワークステーション等のコンピュータにより実現することができる。   In addition, each function unit (reception unit 401 to ID determination unit 406) of the interrupt request processing device Mi realizes its function by causing the CPU 201 to execute a program stored in a storage device such as the ROM 202 or the RAM 203, for example. You may decide to do it. The interrupt request processing method described in the present embodiment can be realized by a computer such as a personal computer or a workstation having each function unit (accepting unit 401 to ID determination unit 406).

100,200,1000 コンピュータシステム
101,201 CPU
110,210 バス
202 ROM
203 RAM
204 割込コントローラ
401 受付部
402 判断部
403 出力部
404 カウンタ
405 回数判定部
406 ID判定部
1010 割込専用バス
D,D1〜Dn デバイス
M,M1〜Mn 割込要求処理装置
100, 200, 1000 Computer system 101, 201 CPU
110, 210 bus 202 ROM
203 RAM
204 Interrupt Controller 401 Reception Unit 402 Judgment Unit 403 Output Unit 404 Counter 405 Number of Times Determination Unit 406 ID Determination Unit 1010 Interrupt Dedicated Bus D, D1 to Dn Device M, M1 to Mn Interrupt Request Processing Device

Claims (5)

バスを介して相互に通信可能なデバイスに対して実行要求を行った結果、当該デバイスから所定の処理の終了を通知する割込み要求を受け付けて割込み処理を実行する中央処理装置と、
前記実行要求に応じて実行される前記所定の処理の終了を前記割込み要求を出力することにより通知するデバイスと、
前記デバイスから出力される前記割込み要求を受け付ける受付部と、
前記受付部によって前記デバイスから前記割込み要求を受け付けた回数が所定回数と一致するか否かを判定する判定部と、
前記判定部によって前記割込み要求を受け付けた回数が前記所定回数と一致するか否か判定された結果、前記割込み要求を受け付けた回数が前記所定回数に達するまで、前記デバイスに対して前記実行要求を出力する出力部と、
を備えることを特徴とするコンピュータシステム。
As a result of executing an execution request to devices that can communicate with each other via a bus, a central processing unit that receives an interrupt request that notifies the end of a predetermined process from the device and executes an interrupt process;
A device that notifies the end of the predetermined process executed in response to the execution request by outputting the interrupt request;
A receiving unit that receives the interrupt request output from the device;
A determination unit that determines whether the number of times the interrupt request is received from the device by the reception unit is equal to a predetermined number;
As a result of determining whether or not the number of times the interrupt request is accepted by the determination unit matches the predetermined number of times, the execution request is issued to the device until the number of times the interrupt request is accepted reaches the predetermined number of times. An output section to output,
A computer system comprising:
前記出力部は、
前記判定部によって前記割込み要求を受け付けた回数が前記所定回数と一致すると判定された場合、前記中央処理装置に対して前記割込み要求を出力することを特徴とする請求項1に記載のコンピュータシステム。
The output unit is
2. The computer system according to claim 1, wherein the interrupt request is output to the central processing unit when it is determined that the number of times the interrupt request is received by the determination unit matches the predetermined number of times.
前記中央処理装置と相互に通信可能なデバイスごとに、前記受付部と、前記判定部(以下、「第1の判定部」という)と、前記出力部と、前記割込み要求を前記中央処理装置に通知するか否かを判定する第2の判定部と、を備える割込要求処理装置が設けられ、
前記第2の判定部は、
前記第1の判定部によって前記デバイスから前記割込み要求を受け付けた回数が前記所定回数と一致すると判定された場合、前記割込み要求を前記中央処理装置に通知するか否かを判定し、
前記出力部は、
前記第2の判定部によって前記割込み要求を前記中央処理装置に通知しないと判定された場合、前記デバイスとは異なる他のデバイスに対する実行要求を出力することを特徴とする請求項1または2に記載のコンピュータシステム。
For each device that can communicate with the central processing unit, the reception unit, the determination unit (hereinafter referred to as “first determination unit”), the output unit, and the interrupt request are sent to the central processing unit. An interrupt request processing device including a second determination unit that determines whether or not to notify,
The second determination unit includes:
If it is determined by the first determination unit that the number of times the interrupt request has been received from the device matches the predetermined number, it is determined whether to notify the central processing unit of the interrupt request;
The output unit is
3. The execution request for another device different from the device is output when the second determination unit determines not to notify the central processing unit of the interrupt request. Computer system.
前記割込要求処理装置間は、前記バスとは異なる他のバスによって相互に通信可能に接続されており、
前記出力部は、
前記他のバスを介して、前記他のデバイスに対する前記実行要求を出力することを特徴とする請求項3に記載のコンピュータシステム。
The interrupt request processing devices are connected so as to be able to communicate with each other by another bus different from the bus,
The output unit is
The computer system according to claim 3, wherein the execution request for the other device is output via the other bus.
受付部、判定部および出力部を備える割込要求処理装置が、
前記受付部により、中央処理装置からの実行要求に応じて実行される所定の処理の終了を割込み要求を出力することにより通知するデバイスから前記割込み要求を受け付ける受付工程と、
前記判定部により、前記受付工程によって前記デバイスから前記割込み要求を受け付けた回数が所定回数と一致するか否かを判定する判定工程と、
前記出力部により、前記判定工程によって前記割込み要求を受け付けた回数が前記所定回数と一致するか否か判定された結果、前記割込み要求を受け付けた回数が前記所定回数に達するまで、前記デバイスに対して前記実行要求を出力する出力工程と、
を実行することを特徴とする割込要求処理方法。
An interrupt request processing device including a reception unit, a determination unit, and an output unit,
An accepting step of accepting the interrupt request from a device that notifies the end of the predetermined process executed in response to the execution request from the central processing unit by outputting an interrupt request by the accepting unit;
A determination step of determining whether or not the number of times the interrupt request has been received from the device by the reception step is equal to a predetermined number by the determination unit;
As a result of determining whether or not the number of times the interrupt request has been accepted by the determination step matches the predetermined number by the output unit, until the number of times the interrupt request has been received reaches the predetermined number of times to the device An output step for outputting the execution request;
An interrupt request processing method characterized by executing:
JP2010135297A 2010-06-14 2010-06-14 Computer system and interrupt request processing method Expired - Fee Related JP5644197B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010135297A JP5644197B2 (en) 2010-06-14 2010-06-14 Computer system and interrupt request processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010135297A JP5644197B2 (en) 2010-06-14 2010-06-14 Computer system and interrupt request processing method

Publications (2)

Publication Number Publication Date
JP2012003325A true JP2012003325A (en) 2012-01-05
JP5644197B2 JP5644197B2 (en) 2014-12-24

Family

ID=45535266

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010135297A Expired - Fee Related JP5644197B2 (en) 2010-06-14 2010-06-14 Computer system and interrupt request processing method

Country Status (1)

Country Link
JP (1) JP5644197B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014059747A (en) * 2012-09-18 2014-04-03 Yokogawa Electric Corp Fault-tolerant system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10275136A (en) * 1997-03-28 1998-10-13 Mitsubishi Electric Corp Multiprocessor control system and multitask control system
JP2006119802A (en) * 2004-10-20 2006-05-11 Hitachi Ltd Multiprocessor system
JP2009163531A (en) * 2008-01-08 2009-07-23 Fujitsu Microelectronics Ltd Interruption management mechanism and microcomputer
JP2009258892A (en) * 2008-04-15 2009-11-05 Toshiba Corp Interruption control circuit
JP2010140239A (en) * 2008-12-11 2010-06-24 Internatl Business Mach Corp <Ibm> Apparatus and method for shortening interrupt latency

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10275136A (en) * 1997-03-28 1998-10-13 Mitsubishi Electric Corp Multiprocessor control system and multitask control system
JP2006119802A (en) * 2004-10-20 2006-05-11 Hitachi Ltd Multiprocessor system
JP2009163531A (en) * 2008-01-08 2009-07-23 Fujitsu Microelectronics Ltd Interruption management mechanism and microcomputer
JP2009258892A (en) * 2008-04-15 2009-11-05 Toshiba Corp Interruption control circuit
JP2010140239A (en) * 2008-12-11 2010-06-24 Internatl Business Mach Corp <Ibm> Apparatus and method for shortening interrupt latency

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014059747A (en) * 2012-09-18 2014-04-03 Yokogawa Electric Corp Fault-tolerant system
US9454442B2 (en) 2012-09-18 2016-09-27 Yokogawa Electric Corporation Fault tolerant system and method for performing fault tolerant

Also Published As

Publication number Publication date
JP5644197B2 (en) 2014-12-24

Similar Documents

Publication Publication Date Title
KR20210011451A (en) Embedded scheduling of hardware resources for hardware acceleration
US7398378B2 (en) Allocating lower priority interrupt for processing to slave processor via master processor currently processing higher priority interrupt through special interrupt among processors
CN112711550A (en) DMA automatic configuration module and SOC
US20170212852A1 (en) Method and accelerator unit for interrupt handling
US20150268985A1 (en) Low Latency Data Delivery
JP2007080037A (en) Dma transfer system
US11061840B2 (en) Managing network interface controller-generated interrupts
US20110047303A1 (en) Data transfer control device and data transfer control method
JP5644197B2 (en) Computer system and interrupt request processing method
JP2005258509A (en) Storage device
US10073810B2 (en) Parallel processing device and parallel processing method
US7254667B2 (en) Data transfer between an external data source and a memory associated with a data processor
US10078604B1 (en) Interrupt coalescing
JP6066807B2 (en) Computer system, computer system interrupt processing program, and computer system interrupt processing method
JP2007272554A (en) Data processor
US10540305B2 (en) Semiconductor device
JP4151362B2 (en) Bus arbitration method, data transfer device, and bus arbitration method
JP5148236B2 (en) Semiconductor integrated circuit and method for controlling semiconductor integrated circuit
JP2008250419A (en) Competition arbitration apparatus, master-slave system, and method for competition arbitration
JP7092555B2 (en) Arithmetic logic unit and interruption method
JP2015014962A (en) Arithmetic device, arithmetic method, and program
JP2006003981A (en) Information processor and information processing method, recording medium and its program
JP2001014266A (en) Dma transfer circuit and dma transfer method
JP6535516B2 (en) Multi-programmable device system and control method thereof
JP2002312302A (en) Peripheral device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130403

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140225

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140425

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: 20141007

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141020

R150 Certificate of patent or registration of utility model

Ref document number: 5644197

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees