図面 (/)

技術 割込み処理システム

出願人 株式会社沖データ
発明者 渡辺啓介岩橋啓介山本万弥小林隆山脇康志石田圭太郎
出願日 2016年4月25日 (5年8ヶ月経過) 出願番号 2016-086685
公開日 2017年11月2日 (4年1ヶ月経過) 公開番号 2017-199049
状態 特許登録済
技術分野 マルチプログラミング
主要キーワード 割り込み処理回路 割込み処理回路 機能モジュール毎 割込みレジスタ 割込み情報 装置起動 フェッチ処理 ROMコントローラ
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2017年11月2日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (12)

課題

割込み処理発生時にASIC側からCPU側へのデータ転送量を減じることができ、割込み処理発生時におけるリアルタイムでの応答性の向上を図ることが可能な割込み処理システムを提供する。

解決手段

ASIC内部の機能モジュール内の割込みレジスタアドレス及び割込みレジスタ情報を格納するASIC側メモリ部と、割込みレジスタ情報を格納するCPU側メモリ部と、定期的にトリガ信号を出力するタイマ部と、機能モジュール内の割込み発生時又はトリガ信号発生時に、割込みレジスタ情報を取得する割込み回路部と、取得された割込みレジスタ情報とASIC側メモリ部に格納された割込みレジスタ情報とを比較し、差分をASIC側メモリ部及びCPU側メモリ部の割込みレジスタ情報と置き換えメモリコントローラ部とを備え、CPUは割込み発生時にはCPU側メモリ部に格納された割込みレジスタ情報に基づき割込み処理を実行する。

概要

背景

従来、CPUとASICとがPCI(Peripheral Component Interconnect) express等のバスインターフェイスを介して接続された処理回路において、CPUからASCI内部のレジスタへ直接読み出し動作を行うと、レイテンシが大きく、割込み処理のようなリアルタイムでの応答が必要な処理で問題となることがあった。

この対策として、例えば、特許文献1では、別途設けた割込み処理回路がCPUの代わりに割込みソースの状態を先行してフェッチし、CPUは割込み処理回路がフェッチした値を読み取ることで常に最速の状態でデータの受け取りを行うことが可能な方法が提案されている。

概要

割込み処理発生時にASIC側からCPU側へのデータ転送量を減じることができ、割込み処理発生時におけるリアルタイムでの応答性の向上をることが可能な割込み処理システムを提供する。 ASIC内部の機能モジュール内の割込みレジスタアドレス及び割込みレジスタ情報を格納するASIC側メモリ部と、割込みレジスタ情報を格納するCPU側メモリ部と、定期的にトリガ信号を出力するタイマ部と、機能モジュール内の割込み発生時又はトリガ信号発生時に、割込みレジスタ情報を取得する割込み回路部と、取得された割込みレジスタ情報とASIC側メモリ部に格納された割込みレジスタ情報とを比較し、差分をASIC側メモリ部及びCPU側メモリ部の割込みレジスタ情報と置き換えメモリコントローラ部とを備え、CPUは割込み発生時にはCPU側メモリ部に格納された割込みレジスタ情報に基づき割込み処理を実行する。

目的

本発明はこのような実状に鑑みてなされたものであり、本発明の課題は、割込み処理発生時にASIC側からCPU側へのデータ転送量を減じることができ、割込み処理発生時におけるリアルタイムでの応答性の向上を図ることが可能な割込み処理システムを提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

CPUとASICとが信号線で接続され、CPUがASIC内部の機能モジュール割込み処理を行う割込み処理システムであって、前記機能モジュール内の割込みレジスタアドレス及び前記機能モジュール内の割込みレジスタ情報を格納するASIC側メモリ部と、前記機能モジュール内の割込みレジスタ情報を格納するCPU側メモリ部と、前記機能モジュール内の割込みを検知する検知部と、定期的にトリガ信号を出力するタイマ部と、前記機能モジュール内の割込み発生時又は前記トリガ信号発生時に、前記機能モジュール内の割込みレジスタにアクセスし、割込みレジスタ情報を取得する割込み回路部と、前記割込み回路部が取得した割込みレジスタ情報と前記ASIC側メモリ部に格納された割込みレジスタ情報とを比較し、その差分を前記ASIC側メモリ部及び前記CPU側メモリ部の割込みレジスタ情報と置き換えメモリコントローラ部とを備え、前記CPUは割込み発生時には前記CPU側メモリ部に格納された前記割込みレジスタ情報に基づき割込み処理を実行することを特徴とする割込み処理システム。

請求項2

前記機能モジュール内の割込みレジスタ情報を格納する前記ASIC側メモリ部及び前記CPUメモリ部のそれぞれの格納領域は、類似した系統機能モジュール毎にまとめられていることを特徴とする請求項1に記載の割込み処理システム。

請求項3

前記ASIC側メモリ部及び前記CPU側メモリ部の割込みレジスタ情報と置き換えは、所定の転送単位で行われることを特徴とする請求項2に記載の割込み処理システム。

請求項4

前記信号線は、PCIExpressであることを特徴とする請求項1乃至請求項3の何れか1項に記載の割込み処理システム。

技術分野

0001

本発明は、外部CPU(Central Processing Unit)と接続されるASIC(Application Specific IntegratedCircuit)内部に実装された割込み処理回路を用いた割込み処理ステムに関するものである。

背景技術

0002

従来、CPUとASICとがPCI(Peripheral Component Interconnect) express等のバスインターフェイスを介して接続された処理回路において、CPUからASCI内部のレジスタへ直接読み出し動作を行うと、レイテンシが大きく、割込み処理のようなリアルタイムでの応答が必要な処理で問題となることがあった。

0003

この対策として、例えば、特許文献1では、別途設けた割込み処理回路がCPUの代わりに割込みソースの状態を先行してフェッチし、CPUは割込み処理回路がフェッチした値を読み取ることで常に最速の状態でデータの受け取りを行うことが可能な方法が提案されている。

先行技術

0004

特開2006−236234号公報

発明が解決しようとする課題

0005

しかしながら、従来技術に係る割込み処理回路では、割込み処理発生時に当該割込み処理に必要な割込みソースの状態を全てCPU側転送する必要があり、割込み処理におけるリアルタイムでの応答性の向上といった観点からは満足のいくものではなかった。

0006

本発明はこのような実状に鑑みてなされたものであり、本発明の課題は、割込み処理発生時にASIC側からCPU側へのデータ転送量を減じることができ、割込み処理発生時におけるリアルタイムでの応答性の向上を図ることが可能な割込み処理システムを提供することである。

課題を解決するための手段

0007

上記課題を解決するために、本発明に係る割込み処理システムは、CPUとASICとが信号線で接続され、CPUがASIC内部の機能モジュールの割込み処理を行う割込み処理システムであって、前記機能モジュール内の割込みレジスタアドレス及び前記機能モジュール内の割込みレジスタ情報を格納するASIC側メモリ部と、前記機能モジュール内の割込みレジスタ情報を格納するCPU側メモリ部と、前記機能モジュール内の割込みを検知する検知部と、定期的にトリガ信号を出力するタイマ部と、前記機能モジュール内の割込み発生時又は前記トリガ信号発生時に、前記機能モジュール内の割込みレジスタにアクセスし、割込みレジスタ情報を取得する割込み回路部と、前記割込み回路部が取得した割込みレジスタ情報と前記ASIC側メモリ部に格納された割込みレジスタ情報とを比較し、その差分を前記ASIC側メモリ部及び前記CPU側メモリ部の割込みレジスタ情報と置き換えメモリコントローラ部とを備え、前記CPUは割込み発生時には前記CPU側メモリ部に格納された前記割込みレジスタ情報に基づき割込み処理を実行することを特徴を特徴としている。

発明の効果

0008

本発明によれば、割込み処理発生時にASIC側からCPU側へのデータ転送量を減じることができ、割込み処理発生時におけるリアルタイムでの応答性の向上を図ることが可能な割込み処理システムを提供することができる。

図面の簡単な説明

0009

第1の実施形態に係る割込み処理回路を含む割込み処理システムの構成図である。
割込み処理回路の処理動作を説明するフローチャートである。
タイマからトリガ信号を受信した際の割込み処理回路の処理動作を説明するフローチャートである。
ASIC内部の機能モジュールによる割込みを検知した際の割込み処理回路の処理動作を説明するフローチャートである。
従来技術と第1の実施形態に係るASIC内部の機能モジュールによる割込み発生から割込み処理完了までに要する時間を比較した図である。
第2の実施形態に係る割込み処理回路を含む割込み処理システムの構成図である。
割込みレジスタ情報及びアドレステーブルを説明する模式図である。
割込み処理回路の処理動作を説明するフローチャートである。
タイマからトリガ信号を受信した際の割込み処理回路の処理動作を説明するフローチャートである。
ASIC内部の機能モジュールによる割込みを検知した際の割込み処理回路の処理動作を説明するフローチャートである。
機能モジュール内の割込みレジスタ情報を格納するASIC側メモリ及びCPU側メモリの領域を類似した系統機能モジュール毎にまとめた場合(a)と、まとめなかった場合(b)とで、ASIC側からCPU側に転送する必要がある機能モジュールの転送回数の違いを説明する図である。

実施例

0010

以下、本発明の実施形態について図面を参照して説明する。なお、本発明は以下の記述に限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。

0011

[第1の実施形態]
図1は、第1の実施形態に係る割込み処理回路を含む割込み処理システム100の構成図である。なお、図1には、説明の便宜上、本実施形態に関する構成のみを記載している。

0012

図1に示すように、CPU1100はPCIExpressバス1300を介してASIC1200と接続されている。

0013

CPU1100は、CPUコア1101と、ROM(Read Only Memory)コントローラ1102と、PCIExpressコントローラ1103と、割込みコントローラ1104と、メモリコントローラ1105と、内部バス1106とを備える。

0014

CPUコア1101は、CPU1100に接続された不揮発性記憶装置であるROM1107に格納された制御プログラムに基づき、システム全体の制御を行う実行部である。また、CPUコア1101は、PCIExpressバス1300を介してASIC1200内部の機能モジュール(1)1205−1〜(N)1205−Nの制御を行う。

0015

ROMコントローラ1102は、ROM1107との接続を可能とするインタフェースを備え、ROM1107に格納された制御プログラムをはじめとする各種データの読み取り制御を行う。

0016

PCIExpressコントローラ1103は、ASIC1200と接続するPCI Express1300のアクセス制御を行う。

0017

割込みコントローラ1104は、PCIExpressコントローラ1103がASIC1200から受信した後述する割込み情報に基づき、CPUコア1101に対して割込み情報を通知する。

0018

メモリコントローラ1105は、RAM(Random Access Memory)1108との接続を可能とするインタフェースを備え、RAM1108へのアクセス制御を行う。

0019

内部バス1106は、CPUコア1101が出力する命令や、PCIExpressバス1300を介して送受信するデータやRAM1108に保持された割込みレジスタ情報1109等を送受信するための通信路である。

0020

RAM1108は、ASIC1200内部の各機能モジュール(1)1205−1〜(N)1205−Nの割込みレジスタ情報1109を保持する。

0021

ASIC1200は、PCIExpressコントローラ1201と、割込み処理回路1202と、タイマ1203と、メモリコントローラ1204と、機能モジュール(1)1205−1〜(N)1205−Nと、内部バス1206とを備える。

0022

PCIExpressコントローラ1201は、CPU1100と接続するPCI Express1300のアクセス制御を行う。

0023

割込み処理回路1202は、タイマ1203からのトリガ信号又は各機能モジュール(1)1205−1〜(N)1205−Nからの割込みを受信する検知部として機能するとともに、CPU1100に先行して各機能モジュールの割込みレジスタ情報を取得する(フェッチする)レジスタリードシーケンサーとして構成される。その他、割込み処理回路1202の詳細な機能については後程説明する。

0024

タイマ1203は定期的にトリガ信号を割込み処理回路1202に対して出力する。

0025

メモリコントローラ1204は、RAM1207との接続を可能とするインタフェースを備え、RAM1207へのアクセス制御を行う。

0026

機能モジュール(1)1205−1〜(N)1205−Nは、例えば、画像処理、I/O(Input/Output)処理、I/F(Interface)処理、モータ制御等を実行する論理回路である。

0027

内部バス1206は、PCIExpressバス1300を介して送受信するデータやRAM1207に保持された割込みレジスタ情報1209等を送受信するための通信路である。

0028

RAM1207は、前述したCPU1100に接続されたRAM1108と同様に、ASIC1200内部の各機能モジュール(1)1205−1〜(N)1205−Nの割込みレジスタ情報1209を保持するとともに、各機能モジュール(1)1205−1〜(N)1205−Nの割込みレジスタのアドレステーブル1208を保持する。ASIC1200に接続されたRAM1207とCPU1100に接続されたRAM1108とが保持する各機能モジュール(1)1205−1〜(N)1205−Nの割込みレジスタ情報は、割込み処理回路1202の指示によって更新され、同じ値が保持される。

0029

次に、本実施形態に係る割込み処理回路の動作について説明する。図2−1は、割込み処理回路1202の処理動作を説明するフローチャートである。

0030

まず、図2−1で説明する処理動作の事前処理として、装置起動時にCPUコア1101は、PCIExpressバス1300を介してASIC側のRAM1207に、ASIC1200内部の各機能モジュール(1)1205−1〜(N)1205−Nの割込みレジスタのアドレステーブル1208を格納させる。アドレステーブル1208の格納が完了後、CPUコア1101は、割込み処理回路1202に対して、割込みレジスタ情報を格納するCPU側のRAM1108及びASIC側のRAM1207におけるアドレスを通知するとともに、起動を要求する。

0031

テップS001において、起動した割込み処理回路1202は、アドレステーブル1208をASIC側のRAM1207から読み出し、読み出したアドレステーブル1208に対応する機能モジュール(1)1205−1〜(N)1205−Nの割込みレジスタを読み出すことで現在のレジスタ情報を取得する(ステップS002)。

0032

次に、割込み処理回路1202は、PCIExpressバス1300を介して、CPU側のメモリコントローラ1105に、レジスタ情報を格納させるRAMアドレスと現在の機能モジュールの割込みレジスタ情報(割込み情報)を通知する。CPU側のメモリコントローラ1105は、通知された情報を基に、現在の機能モジュールの割込みレジスタ情報をRAM1108に格納させる。また、同時に、割込み処理回路1202は、ASIC側のメモリコントローラ1204にレジスタ情報を格納させるRAMアドレスと現在の機能モジュールの割込みレジスタ情報を通知する。ASIC側のメモリコントローラ1204は、通知された情報を基に、現在の機能モジュールの割込みレジスタ情報をRAM1207に格納させる(ステップS003)。

0033

そして、現在のアドレステーブルが最後のアドレステーブルでない場合(ステップS004 NO)、割込み処理回路1202は、読み出し位置を次の機能モジュールのアドレステーブルに移動し(ステップS005)、ステップS001からの処理を繰り返す。

0034

一方、現在のアドレステーブルが最後のアドレステーブルである場合(ステップS004 YES)、割込み処理回路1202はタイマ1203からのトリガ信号又はASIC内部の機能モジュール(1)1205−1〜(N)1205−Nによる割込み待ち状態となる(ステップS006)。

0035

割込み処理回路1202は、定期的に発生するタイマ1203からのトリガ信号を受信すると(ステップS007 NO)、図2−2のフローチャートで説明する処理を実行する(ステップS009)。そして、当該処理が完了すると、割込み処理回路1202は、再度割込み待ち状態となり、ステップS006からの処理を繰り返す。

0036

ところで、割込み処理回路1202は、ASIC内部の機能モジュール(1)1205−1〜(N)1205−Nによる割込みを検知すると(ステップS007 YES)、図2−3のフローチャートで説明する処理を実行する(ステップS008)。そして、当該処理が完了すると、割込み処理回路1202は、再度割込み待ち状態となり、ステップS006からの処理を繰り返す。

0037

次に、タイマ1203からトリガ信号を受信した際の割込み処理回路1202の処理動作(図2−1 ステップS009)について図2−2のフローチャートを用いて説明する。

0038

タイマ1203からトリガ信号を受信すると、割込み処理回路1202は、図2−1のステップS001の動作と同様に、アドレステーブル1208をASIC側のRAM1207から読み出す(ステップS011)。

0039

ステップS012において、割込み処理回路1202は、読み出したアドレステーブルの情報に対応する機能モジュールの前回の割込みレジスタ情報RD(old)をASIC側のRAM1207から読み出す。

0040

これと同時に、割込み処理回路1202は、ステップS011で読み出したアドレステーブルの情報に対応する機能モジュールの割込みレジスタ情報を読み出すことで、現在の割込みレジスタ情報RD(new)を取得する(ステップS013)。

0041

そして、割込み処理回路1202は、ステップS012で読み出した前回の割込みレジスタ情報RD(old)とステップS013で読み出した現在の割込みレジスタ情報RD(new)とを比較する。ここで、両者に差分が有る場合(ステップS014 YES)、割込み処理回路1202は、CPU側のRAM1108に格納されている割込みレジスタ情報1109及びASIC側のRAM1207に格納されている割込みレジスタ情報1209を現在の割込みレジスタ情報に置き換えるため、PCIExpressバス1300を介して、CPU側のメモリコントローラ1105に、レジスタ情報を格納するRAMアドレスと現在の機能モジュール(1)1205−1〜(N)1205−Nの割込みレジスタ情報を通知する。CPU側のメモリコントローラ1105は通知された情報を基に、現在の機能モジュールの割込みレジスタ情報をRAM1108に格納させる。また、同時に、割込み処理回路1202は、ASIC側のメモリコントローラ1204に、レジスタ情報を格納するRAMアドレスと現在の機能モジュール(1)1205−1〜(N)1205−Nの割込みレジスタ情報を通知する。ASIC側のメモリコントローラ1204は通知された情報を基に、現在の機能モジュールの割込みレジスタ情報をRAM1207に格納させる(ステップS015)。

0042

一方、前回の割込みレジスタ情報RD(old)と現在の割込みレジスタ情報RD(new)とで差分が無い場合(ステップS014 NO)、ステップS015で説明した割込みレジスタ情報の置き換え処理は省略される。

0043

そして、現在のアドレステーブルが最後のアドレステーブルでない場合(ステップS016 NO)、割込み処理回路1202は、読み出し位置を次の機能モジュールのアドレステーブルに移動し(ステップS017)、ステップS011からの処理を繰り返す。

0044

一方、現在のアドレステーブルが最後のアドレステーブルである場合(ステップS016 YES)、割込み処理回路1202はタイマ1203からトリガ信号を受信した際の処理を終了する。

0045

次に、ASIC内部の機能モジュール(1)1205−1〜(N)1205−Nによる割込みを検知した際の割込み処理回路1202の処理動作(図2−1 ステップS008)について図2−3のフローチャートを用いて説明する。

0046

なお、図2−3のステップS021〜ステップS027(ステップS026 YES以降の処理は除く)までの処理は、図2−2のステップS011〜ステップS017までの処理と同様であるため、ここでの説明は省略する。

0047

ステップS026において、現在のアドレステーブルが最後のアドレステーブルである場合(ステップS026 YES)、全てのアドレステーブルを読み終え、機能モジュールの割込みレジスタの処理が終了した後、割込み処理回路1202は、PCIExpressバス1300を介してCPU内部の割込みコントローラ1104に割込みの発生を通知する(ステップS028)。

0048

CPU内部の割込みコントローラ1104は、CPUコア1101に対して割込み情報を通知する。CPUコア1101は、割込み情報の通知を受けると、CPU側のRAM1108にあるASIC内部の各機能モジュール(1)1205−1〜(N)1205−Nの割込みレジスタ情報を読み出し、割込み処理を実行する。

0049

図3は、従来技術と本実施形態に係るASIC内部の機能モジュールによる割込み発生から割込み処理完了までに要する時間を比較した図である。

0050

図3(b)に示すように、割込み発生時に既に転送された割込みソース状態と現在の割込みソース状態とが完全に不一致である場合(差分ヒット率0%)、割込みソース状態を読み出し、CPU側に転送する(データフェッチ処理)時間は図3(a)で示す従来技術と同じであるが、割込み発生時に既に転送された割込みソース状態と現在の割込みソース状態とが50%一致した場合(差分ヒット率50%)、割込みソース状態を読み出し、CPU側に転送する(データフェッチ処理)時間は図3(c)に示すように従来技術と比較して大幅に減少させることができる。

0051

以上のように、第1の実施形態によれば、割込み処理回路が定期的にCPU側に割込みソースの状態を転送し、割込み発生時には既に転送された割込みソース状態との差分のみをCPU側に転送するため、割込み発生時におけるASIC側からCPU側へのデータ転送量を減少させることが可能となる。その結果、割込み処理におけるリアルタイムでの応答性を向上させることができる。

0052

[第2の実施形態]
図4は、第2の実施形態に係る割り込み処理回路を含む割込み処理システム200の構成図である。なお、第1の実施形態に係る構成と同構成のものについては同一の符号を付してその説明を省略し、異なる構成について説明する。

0053

CPU1100に接続されたRAM2108は、ASIC内部の各機能モジュール(1)1205−1〜(N)1205−Nの割込みレジスタ情報2109を保持する。

0054

ここで、割込みレジスタ情報2109は、図5(a)に示されるように、画像処理系レジスタ情報2109−1、メカ制御系レジスタ情報2109−2、IF制御系レジスタ情報2109−3といったように、類似した系統の機能モジュール毎にまとめられている。

0055

ASIC1200に接続されたRAM2207は、CPU1100に接続されたRAM2108と同様にASIC内部の各機能モジュール(1)1205−1〜(N)1205−Nの割込みレジスタ情報2209を、画像処理系レジスタ情報2209−1、メカ制御系レジスタ情報2209−2、IF制御系レジスタ情報2209−3といったように、類似した系統の機能モジュール毎にまとめて保持するとともに、各機能モジュールの割込みレジスタのアドレステーブル2208を保持する。

0056

なお、割込みレジスタのアドレステーブル2208についても、図5(b)に示されるように、画像処理系テーブル2208−1、メカ制御系アドレステーブル2208−2、IF制御系テーブル2208−3といったように、類似した系統の機能モジュール毎にまとめられている。

0057

そして、ASIC1200に接続されたRAM2207とCPU1100に接続されたRAM2108とが保持する各機能モジュール(1)1205−1〜(N)1205−Nの割込みレジスタ情報は割込み処理回路2202からの指示によって更新され、同じ値が保持される。

0058

次に、本実施形態に係る割込み処理回路の動作について説明する。図6−1は、割込み処理回路2202の処理動作を説明するフローチャートである。

0059

なお、本実施形態に係る割込み処理回路2202の処理動作において、第1の実施形態における図2−1で説明した処理動作と同一なものについては同一のステップ番号を付してここでの説明は省略する。

0060

ステップS002の処理の後、割込み処理回路2202は、機能モジュールの割込みレジスタ情報をある規定数N分まとめ、PCIExpressバス1300を介してCPU側のメモリコントローラ1105に転送する。

0061

転送単位数の機能モジュールの割込みレジスタの読み出しが完了していない場合(ステップS201 NO)、割込み処理回路2202は、読み出し位置を次の機能モジュールのアドレステーブルに移動し(ステップS202)、ステップS001からの処理を繰り返す。

0062

一方、転送単位数の機能モジュールの割込みレジスタの読み出しが完了した場合(ステップS201 YES)、割込み処理回路2202は、PCIExpressバス1300を介して、CPU側のメモリコントローラ1105に、レジスタ情報を格納させるRAMアドレスと転送単位分の現在の機能モジュールの割込みレジスタ情報を通知する。CPU側のメモリコントローラ1105は、通知された情報を基に、現在の機能モジュールの割込みレジスタ情報を転送単位分まとめてRAM2108に格納させる。また、同時に、割込み処理回路2202は、ASIC側のメモリコントローラ1204に、レジスタ情報を格納させるRAMアドレスと転送単位分の現在の機能モジュールの割込みレジスタ情報を通知する。ASIC側のメモリコントローラ1204は、通知された情報を基に、現在の機能モジュールの割込みレジスタ情報を転送単位分まとめてRAM2207に格納させる(ステップS203)。

0063

次に、タイマ1203からトリガ信号を受信した際の割込み処理回路2202の処理(図6−1 ステップS204)について図6−2のフローチャートを用いて説明する。なお、割込み処理回路2202の処理動作において、第1の実施形態における図2−2で説明した処理動作と同一なものについては同一のステップ番号を付してここでの説明は省略する。

0064

ステップS013の処理の後、転送単位数の機能モジュールの割込みレジスタの読み出しが完了していない場合(ステップS211 NO)、割込み処理回路2202は、読み出し位置を次の機能モジュールのアドレステーブルに移動し(ステップS212)、ステップS011からの処理を繰り返す。

0065

一方、転送単位数の機能モジュールの割込みレジスタの読み出しが完了した場合(ステップS211 YES)、割込み処理回路2202は、転送単位分の全ての割込みレジスタについて、ステップS012で読み出した前回の割込みレジスタ情報RD(old)とステップS013で読み出した現在の割込みレジスタ情報RD(new)とを比較する。ここで、1つ以上のレジスタ情報で差分が有る場合(ステップS0213 YES)、割込み処理回路2202は、CPU側のRAM2108に格納されている割込みレジスタ情報2109及びASIC側のRAM2207に格納されている割込みレジスタ情報2209を現在の割込みレジスタ情報に置き換えるため、PCIExpressバス1300を介して、CPU側のメモリコントローラ1105に、レジスタ情報を格納するRAMアドレスと転送単位分の現在の機能モジュール(1)1205−1〜(N)1205−Nの割込みレジスタ情報を通知する。CPU側のメモリコントローラ1105は通知された情報を基に、現在の機能モジュールの割込みレジスタ情報を転送単位分まとめてRAM2108に格納させる。また、同時に、割込み処理回路2202は、ASIC側のメモリコントローラ1204に、レジスタ情報を格納するRAMアドレスと転送単位分の現在の機能モジュール(1)1205−1〜(N)1205−Nの割込みレジスタ情報を通知する。ASIC側のメモリコントローラ1204は通知された情報を基に、現在の機能モジュールの割込みレジスタ情報を転送単位分まとめてRAM2207に格納させる(ステップS214)。

0066

一方、転送単位分の全てのレジスタについて、前回の割込みレジスタ情報RD(old)と現在の割込みレジスタ情報RD(new)とで差分が無い場合(ステップS213 NO)、ステップS214で説明した割込みレジスタ情報の置き換え処理は省略される。

0067

次に、ASIC内部の機能モジュール(1)1205−1〜(N)1205−Nによる割込みを検知した際の割込み処理回路1202の処理(図6−1 ステップS205)について図6−3のフローチャートを用いて説明する。なお、割込み処理回路2202の処理動作において、第1の実施形態における図2−3で説明した処理動作と同一なものについては同一のステップ番号を付してここでの説明は省略する。

0068

ステップS023の処理の後、転送単位数の機能モジュールの割込みレジスタの読み出しが完了していない場合(ステップS221 NO)、割込み処理回路2202は、読み出し位置を次の機能モジュールのアドレステーブルに移動し(ステップS222)、ステップS021からの処理を繰り返す。

0069

一方、転送単位数の機能モジュールの割込みレジスタの読み出しが完了した場合(ステップS221 YES)、割込み処理回路2202は、転送単位分の全ての割込みレジスタについて、ステップS022で読み出した前回の割込みレジスタ情報RD(old)とステップS023で読み出した現在の割込みレジスタ情報RD(new)とを比較する。ここで、1つ以上のレジスタ情報で差分が有る場合(ステップS0223 YES)、割込み処理回路2202は、CPU側のRAM2108に格納されている割込みレジスタ情報2109及びASIC側のRAM2207に格納されている割込みレジスタ情報2209を現在の割込みレジスタ情報に置き換えるため、PCIExpressバス1300を介して、CPU側のメモリコントローラ1105に、レジスタ情報を格納するRAMアドレスと転送単位分の現在の機能モジュール(1)1205−1〜(N)1205−Nの割込みレジスタ情報を通知する。CPU側のメモリコントローラ1105は通知された情報を基に、現在の機能モジュールの割込みレジスタ情報を転送単位分まとめてRAM2108に格納させる。また、同時に、割込み処理回路2202は、ASIC側のメモリコントローラ1204に、レジスタ情報を格納するRAMアドレスと転送単位分の現在の機能モジュール(1)1205−1〜(N)1205−Nの割込みレジスタ情報を通知する。ASIC側のメモリコントローラ1204は通知された情報を基に、現在の機能モジュールの割込みレジスタ情報を転送単位分まとめてRAM2207に格納させる(ステップS224)。

0070

一方、転送単位分の全てのレジスタについて、前回の割込みレジスタ情報RD(old)と現在の割込みレジスタ情報RD(new)とで差分が無い場合(ステップS223 NO)、ステップS224で説明した割込みレジスタ情報の置き換え処理は省略される。

0071

図7は、機能モジュール内の割込みレジスタ情報を格納するASIC側メモリ及びCPU側メモリの領域を類似した系統の機能モジュール毎にまとめた場合(図7(a))とまとめなかった場合(図7(b))とで、ASIC側からCPU側に転送する必要がある機能モジュールの転送回数の違いを説明する図である。

0072

図7(a)及び図7(b)の場合において、どちらも割込み発生時に、既に転送された割込みソース状態との差分があり、CPU側へ転送する必要がある機能モジュール数は8つである。図7(a)に示す類似した系統の機能モジュール毎にまとめた場合においては、転送単位が機能モジュール4つ毎であるため、転送数は3回で済む。これに対して図7(b)に示す類似した系統の機能モジュール毎にまとめなかった場合においては、5回の転送が必要である。このように、類似した系統の機能モジュール毎にまとめることにより、データ転送効率を向上させることができる。

0073

以上のように、第2の実施形態によれば、機能モジュール内の割込みレジスタ情報を格納するASIC側メモリ及びCPU側メモリの領域を類似した系統の機能モジュール毎にまとめることによって、第1の実施形態の効果に加え、CPU側へのデータ転送効率を向上させることが可能となり、割込み処理におけるリアルタイムでの応答性を高めることができる。

0074

本発明の実施形態の説明においては、ASICとCPUとの間のバスの例をPCIExpressとして説明したが、本発明はこれに限定されるものではなく、例えば、PCI、USB(Universal Serial Bus)、ローカルバス、SPI(Serial Peripheral Interface)等にも適用可能である。

0075

100,200割込み処理回路システム
1100 CPU
1101CPUコア
1102ROMコントローラ
1103PCIExpressコントローラ
1104割込みコントローラ
1105メモリコントローラ
1106内部バス
1107 ROM
1108,2108 RAM
1109,2109割込みレジスタ情報
1200ASIC
1201 PCI Expressコントローラ
1202,2202 割込み処理回路
1203タイマ
1204 メモリコントローラ
1205−1〜N機能モジュール(1)〜(N)
1206 内部バス
1207,2207 RAM
1208,2208アドレステーブル
1209,2209 割込みレジスタ情報

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

該当するデータがありません

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

該当するデータがありません

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ