JP2010140239A - Apparatus and method for shortening interrupt latency - Google Patents
Apparatus and method for shortening interrupt latency Download PDFInfo
- Publication number
- JP2010140239A JP2010140239A JP2008315552A JP2008315552A JP2010140239A JP 2010140239 A JP2010140239 A JP 2010140239A JP 2008315552 A JP2008315552 A JP 2008315552A JP 2008315552 A JP2008315552 A JP 2008315552A JP 2010140239 A JP2010140239 A JP 2010140239A
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- interrupt processing
- time
- execution unit
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
Description
本発明は、デバイスが割り込み処理の実行要求をしてから割り込み処理のハンドラーが呼び出されるまでの時間である割り込みレイテンシーを短縮し、一定時間内の応答を保証することができる装置及び方法に関する。 The present invention relates to an apparatus and a method capable of shortening an interrupt latency, which is a time from when a device requests execution of interrupt processing to when an interrupt processing handler is called, and guaranteeing a response within a predetermined time.
従来、割り込み処理が発生した場合には、割り込み要求を検知する割り込みコントローラは割り込み要求をCPUへ通知し、CPUは、記憶装置に記憶してある割り込み処理プログラムに基づいて割り込み処理を実行する。図1は、従来の割り込み処理実行の具体例を示すブロック図である。 Conventionally, when an interrupt process occurs, the interrupt controller that detects the interrupt request notifies the CPU of the interrupt request, and the CPU executes the interrupt process based on the interrupt process program stored in the storage device. FIG. 1 is a block diagram showing a specific example of conventional interrupt processing execution.
図1では、複数のデバイス1、1、・・・のいずれかからの割り込み要求を割り込みコントローラ2が検知した場合、割り込みコントローラ2は、割り込み要求をCPU3へ通知し、CPU3で割り込み要求に対応した処理4が行われる。
In FIG. 1, when the
従来の割り込み処理は次のような手順で行われる。外部割り込みが禁止状態でない場合、CPU3が外部割り込み例外を起こし、OS(オペレーティングシステム)6の例外ハンドラを呼び出す。例外ハンドラーでは、割り込みが起きる直前に実行されていたプログラムの状態(以下、コンテキスト情報)を保存し、どのデバイスが割り込みを起こしたかを割り込みコントローラ2のレジスタを読み出すことにより確認する。デバイスが特定された場合、特定されたデバイスに対応するデバイスドライバ7の割り込み処理ルーチンを呼び出す(斯かる処理を以下、ディスパッチという)(第1レベル)。割り込み処理ルーチンでは緊急度の高い処理だけを実行し(第2レベル)、メインの処理は後で実行することができるように信号を送信して処理を終了する。その後、時間が空いた時に該信号を受信し、メインの処理が実行される(第3レベル)。さらに、より高度な処理はミドルウエア又はアプリケーション8により実行される(第4レベル)。
Conventional interrupt processing is performed in the following procedure. When the external interrupt is not prohibited, the
割り込み処理は、他のタスクに影響を与えないよう短時間で処理を完了することが望ましい。しかし、割り込み処理に相当の時間を要するデバイスが1つでも含まれている場合、割り込み処理がCPU3を占有することにより他の処理が待ち状態となり、割り込み要求から割り込み処理のハンドラーが呼び出されるまでの時間である割り込みレイテンシーを短縮することが困難になる場合が生じうる。すなわち、割り込み処理の第1レベルと第2レベルとを包括する処理5がボトルネックとなり、割り込み処理の実行が遅れるという問題点が潜在的に存在する。
It is desirable to complete the interrupt processing in a short time so as not to affect other tasks. However, if there is even one device that requires a considerable amount of time for interrupt processing, the interrupt processing occupies the
例えば特許文献1では、高速割り込み処理用のプロセッサと、低速割り込み処理用のプロセッサとを備え、高速割り込み処理の実行中は低速割り込み処理用のプロセッサを停止状態とし、割り込み処理に伴うCPUのレジスタの退避、復帰の時間を短縮することにより割り込みレイテンシーを短縮する高速割り込み処理方式が開示されている。また、特許文献2では、主となる汎用CPUと別のレジスタを有する優先割り込み専用CPUとを備え、割り込み処理発生時には優先割り込み専用CPUに割り込み処理を実行させることでレジスタの退避、復帰の時間を無くすことにより割り込みレイテンシーを短縮する半導体装置が開示されている。
しかし、特許文献1に開示されている高速割り込み処理方式では、複数のプロセッサが同時に実行することが無いので、実質上一のプロセッサで実行する場合と同様である。また、特許文献2では、割り込み処理に伴うCPUのレジスタの退避、復帰の時間を無くすことはできるが、割り込み信号の発生する数だけ優先割り込み専用CPUを必要とする。
However, the high-speed interrupt processing method disclosed in
本発明は斯かる事情に鑑みてなされたものであり、デバイスが割り込み処理の実行要求をしてから割り込み処理のハンドラーが呼び出されるまでの時間である割り込みレイテンシーを効果的に短縮し、一定時間内の応答を保証することができる装置及び方法を提供することを目的とする。 The present invention has been made in view of such circumstances, and effectively reduces the interrupt latency, which is the time from when a device requests execution of interrupt processing until the interrupt processing handler is called, within a certain period of time. It is an object of the present invention to provide an apparatus and a method that can guarantee the response of the system.
上記目的を達成するために第1発明に係る装置は、汎用CPUと、他の処理よりも優先させる割り込み処理を実行するための割り込み処理プログラムを実行する割り込み用プロセッサとを有し、前記割り込み用プロセッサは、割り込み処理を実行する割り込み処理実行ユニットと、割り込み処理を実行するための割り込み処理プログラムを記憶するメモリと、割り込み処理の実行を要求する実行要求を検知する割り込み検知部と、割り込み処理を前記汎用CPUで実行するか、前記割り込み処理実行ユニットで実行するかを選択する割り込み処理選択部とを備える。 In order to achieve the above object, an apparatus according to a first aspect of the present invention includes a general-purpose CPU and an interrupt processor that executes an interrupt processing program for executing an interrupt process that has priority over other processes. The processor includes an interrupt processing execution unit that executes interrupt processing, a memory that stores an interrupt processing program for executing interrupt processing, an interrupt detection unit that detects an execution request that requests execution of interrupt processing, and an interrupt processing An interrupt process selection unit that selects whether to execute the program by the general-purpose CPU or the interrupt process execution unit.
また、第2発明に係る装置は、第1発明において、前記割り込み用プロセッサは、時間を計時するタイマを備え、前記割り込み処理選択部は、前記タイマによる計時により一定時間経過する都度、所定の条件が成立しているか否かを判断する基礎となる信号を出力し、前記割り込み処理実行ユニットが、出力された信号に基づいて所定の条件が成立しているか否かを判断して、前記割り込み処理実行ユニットで割り込み処理を実行するか否かを選択する。 According to a second aspect of the present invention, in the first aspect, the interrupt processor includes a timer that counts time, and the interrupt processing selection unit performs a predetermined condition every time a predetermined time elapses due to time count by the timer. A signal serving as a basis for determining whether or not is satisfied, the interrupt processing execution unit determines whether or not a predetermined condition is satisfied based on the output signal, and the interrupt processing Select whether to execute interrupt processing in the execution unit.
また、第3発明に係る装置は、第2発明において、前記割り込み用プロセッサは、一定のタスク数を上限として複数の割り込み処理を実行することが可能であり、前記割り込み処理実行ユニットが、割り込み処理ごとにラウンドロビン方式で実行することが可能な条件が成立しているか否かを判断する。 According to a third aspect of the present invention, in the second aspect, the interrupt processor is capable of executing a plurality of interrupt processes up to a fixed number of tasks, and the interrupt process execution unit includes the interrupt process. Each time, it is determined whether or not a condition that can be executed by the round robin method is satisfied.
また、第4発明に係る装置は、第3発明において、割り込み処理ごとに割り込みの状態に関する情報を記憶する状態レジスタを有し、前記割り込み処理実行ユニットが、前記状態レジスタに記憶されている割り込みの状態に関する情報に基づいて、実行することが可能な条件が成立しているか否かを判断する。 According to a fourth aspect of the present invention, in the third aspect of the present invention, the apparatus according to the third aspect further includes a state register that stores information about an interrupt state for each interrupt process, and the interrupt processing execution unit stores the interrupt stored in the state register. Whether or not a condition that can be executed is satisfied is determined based on the information on the state.
次に、上記目的を達成するために第5発明に係る方法は、汎用CPUと、他の処理よりも優先させる割り込み処理を実行するための割り込み処理プログラムを実行する割り込み用プロセッサとを有し、割り込み処理の実行を要求する実行要求を検知し、割り込み処理を前記汎用CPUで実行するか、前記割り込み用プロセッサで実行するかを選択する。 Next, in order to achieve the above object, a method according to the fifth invention includes a general-purpose CPU and an interrupt processor that executes an interrupt processing program for executing an interrupt process that has priority over other processes. An execution request that requests execution of interrupt processing is detected, and it is selected whether the interrupt processing is executed by the general-purpose CPU or the interrupt processor.
また、第6発明に係る方法は、第5発明において、前記割り込み用プロセッサは、時間を計時するタイマを備え、前記割り込み処理選択部は、前記タイマによる計時により一定時間経過する都度、所定の条件が成立しているか否かを判断する基礎となる信号を出力し、前記割り込み処理実行ユニットが、出力された信号に基づいて所定の条件が成立しているか否かを判断して、前記割り込み処理実行ユニットで割り込み処理を実行するか否かを選択する。 Further, the method according to a sixth invention is the method according to the fifth invention, wherein the interrupt processor includes a timer for measuring time, and the interrupt processing selection unit is configured to execute a predetermined condition every time a predetermined time elapses due to time measurement by the timer. A signal serving as a basis for determining whether or not is satisfied, the interrupt processing execution unit determines whether or not a predetermined condition is satisfied based on the output signal, and the interrupt processing Select whether to execute interrupt processing in the execution unit.
また、第7発明に係る方法は、第6発明において、前記割り込み用プロセッサは、一定のタスク数を上限として複数の割り込み処理を実行することが可能であり、前記割り込み処理実行ユニットが、割り込み処理ごとにラウンドロビン方式で実行することが可能な条件が成立しているか否かを判断する。 The method according to a seventh aspect is the method according to the sixth aspect, wherein the interrupt processor is capable of executing a plurality of interrupt processes up to a fixed number of tasks, wherein the interrupt process execution unit Each time, it is determined whether or not a condition that can be executed by the round robin method is satisfied.
また、第8発明に係る方法は、第7発明において、割り込み処理ごとに割り込みの状態に関する情報を記憶する状態レジスタを有し、前記割り込み処理実行ユニットが、前記状態レジスタに記憶されている割り込みの状態に関する情報に基づいて、実行することが可能な条件が成立しているか否かを判断する。 The method according to an eighth aspect of the present invention is the method according to the seventh aspect, further comprising: a state register that stores information about an interrupt state for each interrupt process, wherein the interrupt processing execution unit stores the interrupt stored in the state register. Whether or not a condition that can be executed is satisfied is determined based on the information on the state.
本発明によれば、割り込み処理を実行する専用の割り込み用プロセッサを用いて、汎用CPUとは完全に独立して割り込み処理を実行することにより、例えばデバイスドライバ、OS等が無用の割り込み禁止時間を設けている場合、処理時間が長い場合等に、リアルタイム性が要求される割り込み処理の実行を阻害することを回避することができ、割り込みレイテンシーを大きく短縮することができ、一定時間内の応答を保証することができる。また、割り込み機能を有していないデバイスに対しても外部割り込み処理を実行することが可能となる。 According to the present invention, by using a dedicated interrupt processor for executing interrupt processing and executing interrupt processing completely independently of a general-purpose CPU, for example, device drivers, OSs and the like can use unnecessary interrupt inhibition time. If it is provided, it is possible to avoid interrupting the execution of interrupt processing that requires real-time performance when the processing time is long, etc., greatly shortening the interrupt latency, and responding within a certain time Can be guaranteed. In addition, external interrupt processing can be executed for a device that does not have an interrupt function.
以下、本発明の実施の形態に係る割り込みレイテンシーを短縮する装置について、図面に基づいて具体的に説明する。以下の実施の形態は、特許請求の範囲に記載された発明を限定するものではなく、実施の形態の中で説明されている特徴的事項の組み合わせの全てが解決手段の必須事項であるとは限らないことは言うまでもない。 An apparatus for reducing interrupt latency according to an embodiment of the present invention will be specifically described below with reference to the drawings. The following embodiments do not limit the invention described in the claims, and all combinations of characteristic items described in the embodiments are essential to the solution. It goes without saying that it is not limited.
また、本発明は多くの異なる態様にて実施することが可能であり、実施の形態の記載内容に限定して解釈されるべきものではない。実施の形態を通じて同じ要素には同一の符号を付している。 The present invention can be implemented in many different modes and should not be construed as being limited to the description of the embodiment. The same symbols are attached to the same elements throughout the embodiments.
本発明の実施の形態では、割り込み処理を実行する専用の割り込み用プロセッサにより、汎用CPUとは完全に独立して割り込み処理を実行することにより、割り込みレイテンシーを大きく短縮することができる。また、ラウンドロビン方式で実行する各割り込み処理ルーチンの最大実行時間に制限を加えることにより、一定時間内に要求された割り込み処理ルーチンの実行が開始されることを保証することができる。さらに、割り込み機能を有していないデバイスに対しても外部割り込み処理を実行することが可能となる。 In the embodiment of the present invention, the interrupt latency can be greatly reduced by executing the interrupt process completely independently of the general-purpose CPU by the dedicated interrupt processor for executing the interrupt process. Further, by limiting the maximum execution time of each interrupt processing routine executed in the round robin method, it is possible to ensure that the requested interrupt processing routine starts to be executed within a certain time. Furthermore, external interrupt processing can be executed even for devices that do not have an interrupt function.
図2は、本発明の実施の形態に係る割り込みレイテンシーを短縮することができる半導体装置の構成例を示すブロック図である。本発明の実施の形態に係る半導体装置10は、汎用CPU30と割り込み用プロセッサ20とを備えている。汎用CPU30、割り込み用プロセッサ20、デバイス11、11、・・・、メモリ40は、バス50を介して互いにデータ通信することが可能に接続されている。
FIG. 2 is a block diagram showing a configuration example of a semiconductor device capable of shortening the interrupt latency according to the embodiment of the present invention. The
半導体装置10の割り込み用プロセッサ20は、割り込み処理専用のI/O主体のプロセッサである。割り込み用プロセッサ20は、割り込み検知部21、割り込み処理選択部22、割り込み処理実行ユニット23、内部メモリ24及びタイマ25を備えている。割り込み処理実行ユニット23はバスインタフェース26を介してバス50と接続されている。
The
割り込み検知部21は、図1に示す従来の割り込みコントローラ2に相当し、デバイス11、11、・・・からの割り込み処理の実行を要求する実行要求(以下、割り込み要求という)を検知する。割り込み検知部21は、割り込み要求を直接汎用CPU30へ通知するのではなく、割り込み処理選択部22へ通知する。
The
割り込み処理選択部22は、割り込み処理を汎用CPU30で実行するか、割り込み処理実行ユニット23で実行するかを選択する。例えばデバイス11からの割り込み要求における割り込み処理の種類を検出し、割り込み処理の種類がリアルタイム性が必要な処理、緊急性は無いが、汎用CPU30で実行するには処理時間が過大である処理等の場合には、割り込み用プロセッサ20の内部で割り込み処理を実行するよう、割り込み処理実行ユニット23へ割り込み要求を通知する(処理62)。それ以外の処理である場合には、従来と同様、割り込み要求を汎用CPU30へ通知する(処理61)。
The interrupt
割り込み処理プログラムは、汎用CPU30からバス50を介して割り込み用プロセッサ20内の内部メモリ24にダウンロードしておく。したがって、割り込み要求を受け付けた割り込み処理実行ユニット23は、内部メモリ24から対応する割り込み処理プログラムを呼び出して割り込み処理を実行し、割り込み処理の完了を汎用CPU30へ通知する(処理62)。
The interrupt processing program is downloaded from the general-
図3は、本発明の実施の形態に係る半導体装置10における割り込みレイテンシーを短縮する原理の説明図である。図3(a)は、割り込み用プロセッサ20を備えていない従来の半導体装置におけるデバイスBの割り込み要求が有った場合の割り込みレイテンシーT1を、図3(b)は、本発明の実施の形態に係る半導体装置10におけるデバイスBの割り込み要求が有った場合の割り込みレイテンシーT2を、それぞれ示している。
FIG. 3 is an explanatory diagram of the principle of shortening the interrupt latency in the
図3(a)に示すように、時刻t=0にてデバイスBの割り込み要求が発せられてから、一定時間t1経過後に汎用CPU30に到達する。そして、時刻t=t2となるまでは、汎用CPU30による割り込み処理の禁止期間ΔTとなり、時刻t=t2になった時点で割り込み処理の実行を開始する。なお、図3(a)では、汎用CPU30により割り込み処理の禁止期間ΔTが存在する場合について説明しているが、禁止期間ΔTが存在しない場合には、t=t1から割り込み処理の実行を開始する。
As shown in FIG. 3A, after the interrupt request of the device B is issued at time t = 0, the
割り込み処理の実行を開始する場合、まず時刻t=t2にて実行されている他のプログラムの状況に関する情報であるコンテキスト情報を保存し、ディスパッチする。斯かる処理はOSのハンドラーを呼び出すことにより実行される。そして、図3の例では、割り込み要求の有ったデバイスBの割り込み処理を実行する場合、デバイスAの割り込み処理Aを実行する必要がある例としているため、デバイスAに対応するデバイスドライバのハンドラーを呼び出して割り込み処理Aを実行させた後、再度OSのハンドラーを呼び出すことによりディスパッチする必要が生じる。 When starting execution of interrupt processing, first, context information that is information relating to the status of another program being executed at time t = t2 is saved and dispatched. Such processing is executed by calling an OS handler. In the example of FIG. 3, when executing the interrupt process of the device B having an interrupt request, it is necessary to execute the interrupt process A of the device A. Therefore, the handler of the device driver corresponding to the device A After calling to execute the interrupt process A, it is necessary to dispatch by calling the handler of the OS again.
その後、時刻t=t3にてデバイスBに対応するデバイスドライバのハンドラーを呼び出して、割り込み要求に対する割り込み処理Bを実行させるので、割り込みレイテンシーT1は時刻t=0からt=t3までの時間t3となる。 Thereafter, the handler of the device driver corresponding to the device B is called at time t = t3 to execute the interrupt processing B for the interrupt request, so that the interrupt latency T1 is the time t3 from time t = 0 to t = t3. .
一方、図3(b)では、時刻t=0にてデバイスBの割り込み要求が発せられてから、汎用CPU30による割り込み処理の禁止期間も存在しない。したがって、他の割り込み処理ルーチンの処理待ち時間経過後の時刻t=t4にて割り込み処理B1が実行される。この場合、割り込みレイテンシーT2は時刻t=0からt=t4までの時間t4となり、割り込みレイテンシーを大きく短縮することができる。なお、説明図の都合上、処理時間の長い割り込み処理Aが割り込み処理B1の後に実行されているように記載されているが、実際には、割り込み処理Aは汎用CPU30にて実行されるので、割り込み処理B1と並行に処理されていることは言うまでも無い。
On the other hand, in FIG. 3B, after the interrupt request of the device B is issued at the time t = 0, there is no prohibition period for interrupt processing by the general-
図2に戻って、割り込み用プロセッサ20は、一定周期でポーリング処理に相当する割り込み処理を実行するためのタイマ(インターバルタイマ)25を備えている。すなわち、デバイス11、11、・・・が、割り込み機能を有していない場合、通常はポーリング処理が実行される。ポーリング処理は一定時間間隔で信号を発することから、CPU、バス等への負荷が大きい。そこで、本実施の形態ではタイマ25の計時により一定周期で内部的にタイマ割り込みを発生させている。
Returning to FIG. 2, the interrupt
一定周期で発生するタイマ割り込みにより後述の割り込み処理ルーチンが割り込み処理実行ユニット23で実行される。汎用CPU30の代わりに、実行される割り込み処理ルーチンの中でデバイスの状態を確認し、所定の条件が成立した時点でCPU30に対して割り込み要求を通知する(図2の処理63)。したがって、例えば割り込み機能を有していないメモリデバイス等にも汎用CPU30に対する割り込み機能を持たせることができる。図4は、デバイス11が割り込み機能を有していない場合に、従来のように汎用CPU30にてポーリング処理を実行する場合と、割り込み用プロセッサ20の内部で割り込み処理を実行する場合とを比較するタイムチャートである。
An interrupt processing routine, which will be described later, is executed by the interrupt
図4(a)は、汎用CPU30にてポーリング処理を実行する場合の汎用CPU30のタイムチャートを示しており、図4(b)は、割り込み用プロセッサ20にて割り込み処理を実行する場合の汎用CPU30及び割り込み用プロセッサ20のタイムチャートを示している。
4A shows a time chart of the general-
図4(a)において、時刻TS0から時刻TS1までは、汎用CPU30によりタスクAが実行されている。時刻TS1にて制御がOSに渡され、時刻TS2にてタスクBが実行される。タスクBの中で所定の条件が成立しているか否かを判断する判断処理が実行され、所定の条件が成立していないと判断した場合、時刻TS3にて制御をOSへ戻し、時刻TS4からタスクCを実行する。以後、同様の処理を繰り返して時刻TS5にて所定の条件が成立していると判断した場合、タスクBは所定の条件が成立している場合の処理の実行を開始する。
In FIG. 4A, the task A is executed by the general-
一方、図4(b)において、時刻TS0から時刻TS1までは、汎用CPU30によりタスクAが実行されている。時刻TS1にて制御がOSに渡されるまでは、図4(a)と同様である。図4(b)では、時刻TS1にて制御がOSに渡された後、タイマ25の計時により一定周期で割り込み用プロセッサ20による、所定の条件が成立しているか否かを判断する判断処理が実行される。
On the other hand, in FIG. 4B, the task A is executed by the general-
すなわち、時刻TS2’にて割り込み用プロセッサ20が汎用CPU30とは独立に所定の条件が成立しているか否かを判断する判断処理を実行し、所定の条件が成立していないと判断した場合、時刻TS3’にて判断処理を終了する。以後、割り込み用プロセッサ20は、一定周期で判断処理を実行し、時刻TS6にて判断処理を実行して時刻TS7にて所定の条件が成立していると判断した場合、時刻TS8にて汎用CPU30に対して割り込み要求を通知し、時刻TS9にてタスクBは所定の条件が成立している場合の処理の実行を開始する。
That is, when the interrupt
図4(a)と図4(b)とを比較すればわかるように、割り込み用プロセッサ20のタイマ割り込みを繰り返し発生させることにより、タスクBを毎回起動させる必要が無くなり、OSへ制御を戻す回数が減少する。また、タスクBにおける判断処理の必要がないことから、汎用CPU30の負荷も軽減することができる。よって、デバイス11が割り込み機能を有していない場合であっても、ポーリング処理を実行することなく外部割り込み処理を実行することができる。
As can be seen from a comparison between FIG. 4A and FIG. 4B, it is not necessary to start task B each time by repeatedly generating a timer interrupt of the interrupt
図5は、本発明の実施の形態に係る割り込み用プロセッサ20の詳細構成を示す模式図である。図5では、いわゆるラウンドロビン方式にて割り込み処理を実行する場合を例に挙げて説明する。本実施の形態に係る割り込み用プロセッサ20は、1つのIPコア(Intellectual Property Core)としてSoC(System on a Chip)に組み込むことを前提としている。
FIG. 5 is a schematic diagram showing a detailed configuration of the interrupt
図5において、バス50は汎用CPU30のローカルバスである。バス50を経由して汎用CPU30から制御レジスタ51及び内部メモリ24へアクセスすることができる。また、割り込み処理実行ユニット23は、バス50のバスマスターとしても機能する。ほとんどの処理は、割り込み用プロセッサ20の内部で完結され、デバイス11にアクセスする場合のみ汎用CPU30と共有するバス50を占有する。
In FIG. 5, a
各デバイス11からの割り込み要求及びタイマ25からのタイマ割り込みの割り込み要求のうち、最大n個(nは自然数)の割り込み要求が割り込み処理実行ユニット23へ通知される。ここでnは固定値であり、割り込み処理実行ユニット23をSoCに組み込む時点でハードウウエア的に決定される。内部メモリ24にはn個の割り込み処理ルーチンが汎用CPU30からバス50を介して事前にダウンロードされている。
Of the interrupt requests from each
一の割り込み処理実行ユニット23は、内部メモリ24に記憶してある割り込み処理ルーチンP0、P1、・・・Pn-1 を順次切り替えながら実行する。割り込み処理ルーチンPi(iは0〜n−1の整数)が実行されるのは、割り込み処理ルーチンPiが有効であり、割り込み要求がアクティブである場合のみである。割り込み要求1回につき割り込み処理ルーチンPiを1度だけ実行し、必要な場合には最後に汎用CPU30に対して割り込み要求を通知する。
One interrupt
割り込み処理の実行中に他の処理が割り込むことは無いが、一定時間Timeout内に割り込み処理ルーチンが終了しない場合には、割り込み処理実行ユニット23は強制的に次の割り込み処理ルーチンPi+1 に制御を渡す。割り込み処理ルーチンを切り替える場合のコンテキスト情報の保存は、割り込み処理実行ユニット23によりハードウエア的に実行される。
While no other process interrupts during the execution of the interrupt process, if the interrupt process routine does not end within the predetermined time Timeout, the interrupt
制御レジスタ51は、割り込み処理ルーチンPiの数に対応し、例えば32ビットレジスタとして構成されている。図6は、割り込み要求と割り込み処理ルーチンPi又は汎用CPU30への割り込み要求Rとの対応付けを示す模式図である。
The control register 51 corresponds to the number of interrupt processing routines Pi, and is configured as a 32-bit register, for example. FIG. 6 is a schematic diagram showing the correspondence between the interrupt request and the interrupt processing routine Pi or the interrupt request R to the general-
図7は、論理スイッチSj(jは0からm−1の整数、mは自然数)及びStの構成を示す例示図である。図7の例では、1つのAND回路と1つのNOT回路を組み合わせて、割り込み要求を汎用CPU30へ通知することを示す信号rを出力する。図6の論理スイッチS0、S1、・・・、S(m−1)及びStから出力された信号をそれぞれr0、r1、・・・、r(m−1)及びrtとし、論理回路GのOR回路により、汎用CPU30へ通知する割り込み要求Rを特定する。
FIG. 7 is an exemplary diagram showing the configuration of the logical switch Sj (j is an integer from 0 to m−1, m is a natural number) and St. In the example of FIG. 7, a signal r indicating that an interrupt request is notified to the general-
なお、論理スイッチS0、S1、・・・、S(m−1)及びStには、イネーブル信号(ENABLE)、リクエスト信号(REQUEST)、セレクト信号(SELECT)が入力される。イネーブル信号は、割り込み信号の出力を行うか否かを示しており、リクエスト信号は、割り込み要求を受け付けたか否かを示している。セレクト信号は、割り込み要求を汎用CPU30へ通知するか、割り込み処理実行ユニット23へ通知するかを示している。図6の論理回路Hj(jは0〜m−1の整数)のAND回路への入力も同様である。
Note that an enable signal (ENABLE), a request signal (REQUEST), and a select signal (SELECT) are input to the logical switches S0, S1, ..., S (m-1) and St. The enable signal indicates whether or not to output an interrupt signal, and the request signal indicates whether or not an interrupt request has been accepted. The select signal indicates whether to notify the general-
図6に示すように、割り込み要求を汎用CPU30へ通知するか、割り込み処理実行ユニット23へ通知するか、は、図7に示すセレクト信号により決定される。論理回路Gは、複数の論理スイッチSj及びタイマ25用の論理スイッチStを備えており、複数の論理スイッチSj及びタイマ25用の論理スイッチStからの出力信号r0、r1、・・・、r(m−1)及びrtの中からOR回路にて特定した出力信号を割り込み要求Rとして汎用CPU30へ通知する。
As shown in FIG. 6, whether the interrupt request is notified to the general-
各論理回路Hi(iは0〜n−1の整数)は、m個(mは自然数)の割り込み要求0、割り込み要求1、・・・、割り込み要求(m−1)、及びタイマ割り込み要求に対応してAND回路をそれぞれ設けておき、割り込み要求j(jは0〜m−1の整数)又はタイマ割り込み要求が出された場合には、割り込み要求j(jは0〜m−1の整数)又はタイマ割り込み要求が出されたAND回路のみがオン状態の信号pj又はptを出力し、OR回路により割り込み要求jに対応した任意の割り込み処理ルーチンPi(iは0〜n−1の整数)のみがアクティブとなる。
Each logic circuit Hi (i is an integer from 0 to n-1) is assigned to m (m is a natural number) interrupt
図8は、本発明の実施の形態に係る制御レジスタ51の構成を示す模式図である。制御レジスタ51は、内部に割り込み処理ルーチンP0〜Pn-1 にそれぞれ対応したレジスタ群71、71、・・・を設けてあり、それぞれ割り込み処理プログラムの開始アドレスレジスタ(START)、終了アドレスレジスタ(END)、現在実行中のアドレスを示すインストラクションポインタ(IAR)、状態レジスタ(STAT)、イネーブルレジスタ(ENABLE)、及びリクエストレジスタ(REQUEST)で構成されている。
FIG. 8 is a schematic diagram showing the configuration of the
割り込み要求iを受信した割り込み処理実行ユニット23は、割り込み処理ルーチンPiの処理の順番が回ってくると、Piに対応する図8に示すレジスタ群71を照会しながら、内部メモリ24から割り込み処理ルーチンPiを読み出して割り込み処理を実行する。割り込み処理が完了した場合には、割り込み処理の完了を汎用CPU30へ通知する。
The interrupt
図9は、本発明の実施の形態に係る状態レジスタ(STAT)のビット配列の例示図である。図9の例では、ビット0から順に、割り込み処理ルーチンPiが有効であるか否かを示すV(Valid)ビット、割り込み要求が発生しているか否かを示すT(Trigger)ビット、割り込み処理中であるか否かを示すP(In Process)ビット、及び汎用CPU30へ割り込み要求が通知されているか否かを示すI(Interrupt)ビットが配置されている。
FIG. 9 is a view showing an example of a bit arrangement of the status register (STAT) according to the embodiment of the present invention. In the example of FIG. 9, in order from
割り込み処理実行ユニット23は、図8に示すように制御レジスタ51のレジスタ群71、71、・・・の状態レジスタ(STAT)をそれぞれ照会し、該当する割り込み処理ルーチンPiを実行する。また、レジスタ群72は、割り込み処理ルーチンPiで使用される汎用レジスタGPR0、GPR1、・・・、GPRiで構成されている。ほとんどの処理は、割り込み用プロセッサ20の内部で完結しており、デバイス11、11、・・・に対する処理が発生した場合にのみバス50を介してデータ通信すれば足りるので、汎用CPU30による割り込み処理の実行時に比べてバス50の通信負荷を大きく低減することが可能となる。
As shown in FIG. 8, the interrupt
各レジスタ群71に設けてあるレジスタENABLEは、割り込み信号の出力を行うか否かを示しており、レジスタREQUESTは、割り込み要求を受け付けたか否かを示している。なお、レジスタREQUESTは、割り込み要求に対する処理がペンディング状態であるか否か(ステータス)を示しており、一般に割り込みステータスレジスタと呼ばれているレジスタと同様である。
A register ENABLE provided in each
また、レジスタTIMERは、割り込み処理ルーチンのタイムアウト時間を書き込んであり、レジスタSELECTは、割り込み要求を汎用CPU30へ通知するか、割り込み処理実行ユニット23へ通知するかを示している。
The register TIMER writes the timeout period of the interrupt processing routine, and the register SELECT indicates whether to notify the interrupt request to the general-
図10は、本発明の実施の形態に係るレジスタSTATによる割り込み処理ルーチンPi特定方法の例示図である。図10では、割り込み処理ルーチンP0〜Pn-1 にそれぞれ対応したレジスタ群71に含まれるレジスタENABLE(図10(a))、レジスタREQUEST(図10(b))及び制御レジスタ51に1個だけ設けてあるレジスタSELECTが、それぞれ32ビット構成である場合について説明する。各レジスタのビットは、各割り込み要求信号に対応している。例えば、割り込み要求番号0がレジスタREQUESTのビット0(MSB)に対応し、タイマ割り込みが同レジスタのビット31(LSB)に対応する。また、レジスタENABLEとレジスタREQUESTとは各割り込み処理ルーチンPiごとに設けてあり、一又は複数の割り込み要求番号に対応付けることが可能となっている。
FIG. 10 is a view showing an example of the interrupt processing routine Pi identification method by the register STAT according to the embodiment of the present invention. In FIG. 10, only one register ENABLE (FIG. 10 (a)), one register REQUEST (FIG. 10 (b)) and one
例えば、レジスタENABLEの値が32‘b1110・・・000である場合、割り込み要求番号0、1、2が有効である。ここで、レジスタSELECTの値が32‘b1100・・・000となった場合、割り込み要求番号0、1に対しては割り込み用プロセッサ20の内部で処理(図2の処理62)し、割り込み要求番号2に対しては汎用CPU30で処理(図2の処理61)することを意味している。デバイス11の割り込み要求があり、レジスタREQUESTのビット0又はビット1が‘1’となった場合、対応する割り込み処理ルーチンPiが割り込み処理実行ユニット23で実行される。
For example, when the value of the register ENABLE is 32′b11110... 000, the interrupt
割り込み処理実行ユニット23は、図5の内部メモリ24に示すように、ラウンドロビン方式で割り込み処理ルーチンPiを順次切り替えつつ実行する。図11は、割り込み処理ルーチンPiの動作を説明する処理の説明図である。図11は、説明をわかりやすくするためにプログラミング言語風に記述しているが、割り込み処理実行ユニット23がハードウエア的に行う処理を示している。
As shown in the
図11において、割り込み要求が生じ(T=1)、対応する割り込み処理ルーチンPiが有効(V=1)である場合、レジスタTIMERで指定されるタイムアウト値を残り時間を示すレジスタTLEFTにロードする。レジスタTLEFTの値は、割り込み用プロセッサ20のクロックに同期して‘0’になるまで自動的に減少する。
In FIG. 11, when an interrupt request is generated (T = 1) and the corresponding interrupt processing routine Pi is valid (V = 1), the time-out value specified by the register TIMER is loaded into the register TLEFT indicating the remaining time. The value of the register TLEFT is automatically decreased until it becomes “0” in synchronization with the clock of the interrupt
次に、割り込み処理が実行中であることを示すフラグPを‘1’とし、開始アドレスレジスタ(START)を現在の実行アドレス(IAR=START)として実行を開始する。割り込み処理ルーチンPiの現在の実行アドレスが終了アドレスレジスタ(END)に到達した場合(IAR=END)、必要ならば汎用CPU30へ割り込み要求を通知し(I=1)、フラグPを‘0’にして処理を終了する。また、割り込み処理ルーチンPiがレジスタTIMERで指定されたタイムアウト時間内に終了しない場合、割り込み処理ルーチンPiにより使用されるレジスタ群72(汎用レジスタGPRi、カウントレジスタCTR等)に記憶されている値を退避してから、強制的に次の割り込み処理ルーチンへと制御を渡す(タスクスイッチ)。 Next, the flag P indicating that the interrupt process is being executed is set to ‘1’, and the start address register (START) is set to the current execution address (IAR = START) to start the execution. When the current execution address of the interrupt processing routine Pi reaches the end address register (END) (IAR = END), an interrupt request is notified to the general-purpose CPU 30 (I = 1) if necessary, and the flag P is set to “0”. To finish the process. If the interrupt processing routine Pi does not end within the time-out period specified by the register TIMER, the values stored in the register group 72 (general-purpose register GPRI, count register CTR, etc.) used by the interrupt processing routine Pi are saved. Then, control is forcibly passed to the next interrupt processing routine (task switch).
そして、同一の割り込み処理ルーチンの順番が再び回ってきた場合、フラグP=1であるときには前回退避したレジスタ群72のコンテキスト情報を各レジスタに復帰させる。ただし、レジスタ群72を割り込み処理ルーチンの数nだけ設けている場合には、退避及び復帰は不要となる。前回タスクスイッチを行った時点での実行アドレスはレジスタIARに残っているので、レジスタIARに残っているアドレスから実行を再開し、割り込み処理ルーチンPiの現在の実行アドレスが終了アドレスレジスタ(END)に到達するか(IAR=END)、タイムアウトしてタスクスイッチが行われるまで割り込み処理ルーチンPiの実行を続ける。
When the order of the same interrupt processing routine comes again, when the flag P = 1, the context information of the previously saved
通常のCPUでは、タスクスイッチに必要な処理はOS等のソフトウエアにより行われる。しかし、上述のように本発明では、タスクスイッチに必要な処理はハードウエア的に実行されることから、OSは不要となる。 In a normal CPU, processing necessary for task switching is performed by software such as an OS. However, as described above, in the present invention, the processing necessary for the task switch is executed by hardware, so that the OS is unnecessary.
また、割り込みレイテンシーの最大値Tmax は、ラウンドロビン方式による割り込み処理ルーチンの実行により、次に処理の順番が回ってくるまでの時間の最大値に等しい。したがって、割り込みレイテンシーの最大値Tmax は、式(1)にて表すことができる。つまり、割り込み処理ルーチンの数nが固定値であるため、式(1)の時間内に割り込み処理が実行されることが保証される。 Further, the maximum value Tmax of the interrupt latency is equal to the maximum value of the time until the next processing order comes after execution of the interrupt processing routine by the round robin method. Therefore, the maximum value Tmax of the interrupt latency can be expressed by equation (1). That is, since the number n of interrupt processing routines is a fixed value, it is guaranteed that the interrupt processing is executed within the time of Expression (1).
Tmax =Timeout×n+オーバヘッド時間 ・・・ 式(1) Tmax = Timeout × n + overhead time (1)
ここでオーバヘッド時間とは、コンテキスト情報の保存等に要する時間を意味しており、OSによるタスク切り替え時間と比べるとはるかに小さい。 Here, the overhead time means the time required for saving context information and the like, and is much shorter than the task switching time by the OS.
通常のCPU上で実行する割り込み処理ルーチンの場合、他の割り込み処理への影響を考慮してできるだけ短い時間で処理できるように記述するのが鉄則である。本発明では、長い処理時間を要する割り込み処理ルーチンを使用した場合であっても他の割り込み処理に対するレイテンシーに影響を与えない。したがって、図1の第3レベルで行っていたようなメインの処理を割り込み処理ルーチンの中に含めても問題とはならない。 In the case of an interrupt processing routine executed on a normal CPU, it is a rule to describe the processing so that it can be processed in as short a time as possible in consideration of the influence on other interrupt processing. In the present invention, even when an interrupt processing routine that requires a long processing time is used, the latency for other interrupt processing is not affected. Therefore, it does not matter if the main processing as performed at the third level in FIG. 1 is included in the interrupt processing routine.
以上のように本実施の形態によれば、割り込み処理を実行する専用の割り込み用プロセッサ20を用いて、汎用CPU30とは完全に独立して割り込み処理を実行することにより、例えばデバイスドライバ、OS等が無用の割り込み禁止時間を設けている場合、処理時間が長いデバイスドライバのハンドラーが実行されている場合等であっても、それに影響されることなくリアルタイム性が要求される割り込み処理を即座に実行することができる。また、割り込み機能を有していないデバイスに対しても外部割り込み処理を実行することが可能となる。
As described above, according to the present embodiment, by using the dedicated interrupt
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨の範囲内であれば多種の変更、改良等が可能である。 The present invention is not limited to the above-described embodiments, and various changes and improvements can be made within the scope of the present invention.
10 半導体装置
11 デバイス
20 割り込み用プロセッサ
21 割り込み検知部
22 割り込み処理選択部
23 割り込み処理実行ユニット
24 内部メモリ
25 タイマ(インターバルタイマ)
30 汎用CPU
51 制御レジスタ
DESCRIPTION OF
30 General-purpose CPU
51 Control register
Claims (8)
他の処理よりも優先させる割り込み処理を実行するための割り込み処理プログラムを実行する割り込み用プロセッサと
を有し、
前記割り込み用プロセッサは、
割り込み処理を実行する割り込み処理実行ユニットと、
割り込み処理を実行するための割り込み処理プログラムを記憶するメモリと、
割り込み処理の実行を要求する実行要求を検知する割り込み検知部と、
割り込み処理を前記汎用CPUで実行するか、前記割り込み処理実行ユニットで実行するかを選択する割り込み処理選択部と
を備える装置。 A general-purpose CPU;
An interrupt processor that executes an interrupt processing program for executing an interrupt process that has priority over other processes;
The interrupt processor is:
An interrupt processing execution unit for executing interrupt processing;
A memory for storing an interrupt processing program for executing the interrupt processing;
An interrupt detection unit that detects an execution request that requests execution of interrupt processing;
An interrupt processing selection unit that selects whether to execute interrupt processing by the general-purpose CPU or the interrupt processing execution unit.
前記割り込み処理選択部は、
前記タイマによる計時により一定時間経過する都度、所定の条件が成立しているか否かを判断する基礎となる信号を出力し、
前記割り込み処理実行ユニットが、
出力された信号に基づいて所定の条件が成立しているか否かを判断して、前記割り込み処理実行ユニットで割り込み処理を実行するか否かを選択する請求項1記載の装置。 The interrupt processor includes a timer for measuring time,
The interrupt processing selection unit
Each time a predetermined time elapses due to the time measured by the timer, a signal serving as a basis for determining whether or not a predetermined condition is satisfied is output,
The interrupt processing execution unit is
The apparatus according to claim 1, wherein it is determined whether or not a predetermined condition is satisfied based on the output signal, and whether or not to execute interrupt processing in the interrupt processing execution unit is selected.
前記割り込み処理実行ユニットが、
割り込み処理ごとにラウンドロビン方式で実行することが可能な条件が成立しているか否かを判断する請求項2記載の装置。 The interrupt processor is capable of executing a plurality of interrupt processes up to a certain number of tasks,
The interrupt processing execution unit is
The apparatus according to claim 2, wherein it is determined whether a condition capable of being executed in a round-robin manner is satisfied for each interrupt process.
前記割り込み処理実行ユニットが、
前記状態レジスタに記憶されている割り込みの状態に関する情報に基づいて、実行することが可能な条件が成立しているか否かを判断する請求項3記載の装置。 It has a status register that stores information about the status of interrupts for each interrupt process,
The interrupt processing execution unit is
The apparatus according to claim 3, wherein it is determined whether or not a condition that can be executed is satisfied based on information on an interrupt state stored in the state register.
他の処理よりも優先させる割り込み処理を実行するための割り込み処理プログラムを実行する割り込み用プロセッサと
を有し、
割り込み処理の実行を要求する実行要求を検知し、
割り込み処理を前記汎用CPUで実行するか、前記割り込み用プロセッサで実行するかを選択する方法。 A general-purpose CPU;
An interrupt processor that executes an interrupt processing program for executing an interrupt process that has priority over other processes;
Detects an execution request that requests execution of interrupt processing,
A method for selecting whether the interrupt processing is executed by the general-purpose CPU or the interrupt processor.
前記割り込み処理選択部は、
前記タイマによる計時により一定時間経過する都度、所定の条件が成立しているか否かを判断する基礎となる信号を出力し、
前記割り込み処理実行ユニットが、
出力された信号に基づいて所定の条件が成立しているか否かを判断して、前記割り込み処理実行ユニットで割り込み処理を実行するか否かを選択する請求項5記載の方法。 The interrupt processor includes a timer for measuring time,
The interrupt processing selection unit
Each time a predetermined time elapses due to the time measured by the timer, a signal serving as a basis for determining whether or not a predetermined condition is satisfied is output,
The interrupt processing execution unit is
6. The method according to claim 5, wherein it is determined whether or not a predetermined condition is satisfied based on the output signal, and whether or not to execute interrupt processing in the interrupt processing execution unit is selected.
前記割り込み処理実行ユニットが、
割り込み処理ごとにラウンドロビン方式で実行することが可能な条件が成立しているか否かを判断する請求項6記載の方法。 The interrupt processor is capable of executing a plurality of interrupt processes up to a certain number of tasks,
The interrupt processing execution unit is
The method according to claim 6, wherein a determination is made as to whether a condition capable of being executed in a round robin manner is satisfied for each interrupt process.
前記割り込み処理実行ユニットが、
前記状態レジスタに記憶されている割り込みの状態に関する情報に基づいて、実行することが可能な条件が成立しているか否かを判断する請求項7記載の方法。 It has a status register that stores information about the status of interrupts for each interrupt process,
The interrupt processing execution unit is
The method according to claim 7, wherein it is determined whether or not a condition that can be executed is satisfied based on information on an interrupt state stored in the state register.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008315552A JP2010140239A (en) | 2008-12-11 | 2008-12-11 | Apparatus and method for shortening interrupt latency |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008315552A JP2010140239A (en) | 2008-12-11 | 2008-12-11 | Apparatus and method for shortening interrupt latency |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010140239A true JP2010140239A (en) | 2010-06-24 |
Family
ID=42350337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008315552A Pending JP2010140239A (en) | 2008-12-11 | 2008-12-11 | Apparatus and method for shortening interrupt latency |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010140239A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012003325A (en) * | 2010-06-14 | 2012-01-05 | Fujitsu Ltd | Computer system and interruption request processing method |
WO2013042202A1 (en) * | 2011-09-20 | 2013-03-28 | 富士通株式会社 | Interrupt monitoring device and computer system |
JP2017123190A (en) * | 2017-03-08 | 2017-07-13 | ルネサスエレクトロニクス株式会社 | Task processing device |
US10481946B2 (en) | 2014-05-12 | 2019-11-19 | Hitachi, Ltd. | Information-processing device, processing method thereof, and input/output device |
-
2008
- 2008-12-11 JP JP2008315552A patent/JP2010140239A/en active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012003325A (en) * | 2010-06-14 | 2012-01-05 | Fujitsu Ltd | Computer system and interruption request processing method |
WO2013042202A1 (en) * | 2011-09-20 | 2013-03-28 | 富士通株式会社 | Interrupt monitoring device and computer system |
US9355049B2 (en) | 2011-09-20 | 2016-05-31 | Fujitsu Limited | Interrupt monitoring system and computer system |
US10481946B2 (en) | 2014-05-12 | 2019-11-19 | Hitachi, Ltd. | Information-processing device, processing method thereof, and input/output device |
JP2017123190A (en) * | 2017-03-08 | 2017-07-13 | ルネサスエレクトロニクス株式会社 | Task processing device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7313381B2 (en) | Embedded scheduling of hardware resources for hardware acceleration | |
US10706496B2 (en) | Function callback mechanism between a Central Processing Unit (CPU) and an auxiliary processor | |
CN110678847A (en) | Continuous analysis task for GPU task scheduling | |
JP5498505B2 (en) | Resolving contention between data bursts | |
JP5673672B2 (en) | Multi-core processor system, control program, and control method | |
US9588808B2 (en) | Multi-core system performing packet processing with context switching | |
JP4770602B2 (en) | Electronics | |
WO2011028896A1 (en) | Hardware-based scheduling of gpu work | |
US9311142B2 (en) | Controlling memory access conflict of threads on multi-core processor with set of highest priority processor cores based on a threshold value of issued-instruction efficiency | |
JP2010140239A (en) | Apparatus and method for shortening interrupt latency | |
JP2014191655A (en) | Multiprocessor, electronic control device, and program | |
JP6250447B2 (en) | Semiconductor device and instruction read control method | |
US8601488B2 (en) | Controlling the task switch timing of a multitask system | |
CN109766168B (en) | Task scheduling method and device, storage medium and computing equipment | |
US7516311B2 (en) | Deterministic microcontroller context arrangement | |
Wada et al. | Fast interrupt handling scheme by using interrupt wake-up mechanism | |
JP2004192052A (en) | Software processing method and software processing system | |
JP5376042B2 (en) | Multi-core processor system, thread switching control method, and thread switching control program | |
JP3008895B2 (en) | Multiprocessor load equalizer | |
JP5332716B2 (en) | Startup control method, information processing apparatus, and program | |
JP5582241B2 (en) | Multi-core processor system, multi-core processor system control method, and multi-core processor system control program | |
US20220156074A1 (en) | Electronic device and multiplexing method of spatial | |
US9690727B2 (en) | System internal latency measurements in realtime applications | |
JP3900660B2 (en) | Sequence controller | |
JP2013073297A (en) | Interruption control circuit and interruption control method by time division system |