(57)【要約】【課題】一般のＣＰＵを用いて、割り込み処理の種類を限定することなく、割り込み処理の応答時間を短縮することである。【解決手段】ＣＰＵとしてのＣＰＵコア１０と割り込み支援回路装置としての割り込み支援ブロック２０とを備えるマイクロコンピュータ１において、ＣＰＵコア１０に割り込みが発生して割り込み処理用の読み出しデータの読み出し要求がある場合に、制御部２１により、メインメモリ３０に比べて読み出し速度の速い割り込み用キャッシュメモリ２４から優先して読み出しデータが読み出されてＣＰＵ１０に送信される。また、メインメモリ３０から読み出された場合には、その読み出しデータが読み出し用キャッシュメモリ２４１に記憶されてＣＰＵ１０に送信される。【選択図】  図１
2004246636.tif 000002
【特許請求の範囲】
【請求項１】
割り込み発生時にＣＰＵとメインメモリとの間のデータ送受信を支援する割り込み支援回路装置であって、
前記ＣＰＵとの通信を行うＣＰＵインタフェースと、
前記メインメモリとの通信を行うメモリインタフェースと、
割り込み発生時に前記ＣＰＵに読み出される読み出しデータを記憶する割り込み用キャッシュメモリと、
割り込みが発生して、前記ＣＰＵインタフェースを介して前記ＣＰＵからデータの読み出し要求を受信した場合に、前記読み出し要求に対応する読み出しデータを、前記メインメモリに比べて前記割り込み用キャッシュメモリから優先して読み出して、前記ＣＰＵインタフェースによりその読み出しデータを前記ＣＰＵに送信させ、前記メモリインタフェースにより前記読み出しデータが前記メインメモリから読み出された場合に、その読み出しデータを前記割り込み用キャッシュメモリに記憶させる制御部とを備えることを特徴とする割り込み支援回路装置。
【請求項２】
前記制御部は、割り込みが発生していなく、前記ＣＰＵインタフェースを介して前記ＣＰＵからデータの読み出し要求を受信した場合に、前記メモリインタフェースにより前記メインメモリから読み出された読み出しデータを前記割り込み用キャッシュメモリに記憶させないことを特徴とする請求項１に記載の割込み支援回路装置。
【請求項３】
前記制御部は、割り込みが発生して、前記ＣＰＵインタフェースを介して前記ＣＰＵから書き込みデータを受信した場合に、その書き込みデータを前記割り込み用キャッシュメモリに記憶させることを特徴とする請求項１又は２に記載の割り込み支援回路装置。
【請求項４】
前記制御部は、割り込みが発生してしていなく、前記ＣＰＵインタフェースを介して前記ＣＰＵから書き込みデータを受信した場合に、前記メモリインタフェースによりその書き込みデータを前記メインメモリに記憶させることを特徴とする請求項３に記載の割り込み支援回路装置。
【請求項５】
前記割り込み用キャッシュメモリの記憶領域が複数に分割され、
前記制御部は、前記割り込み用キャッシュメモリに記憶させるデータを識別し、その識別に基づいて前記割り込み用キャッシュメモリの分割された記憶領域にそのデータを記憶させることを特徴とする請求項１から４のいずれか一項に記載の割り込み支援回路装置。
【請求項６】
前記メインメモリから読み出された読み出しデータを破棄するデータ破棄部を備え、
前記制御部は、割り込みが発生して、前記ＣＰＵインタフェースを介して前記ＣＰＵからデータの読み出し要求を受信した場合に、前記読み出し要求に対応する読み出しデータを、前記メインメモリと前記割り込み用キャッシュメモリとから同時に読み出し開始し、
前記データ破棄部は、前記割り込み用キャッシュメモリに前記読み出しデータが記憶されている場合に、前記メインメモリから読み出された読み出しデータを破棄することを特徴とする請求項１から５のいずれか一項に記載の割込み支援回路装置。
【請求項７】
ＣＰＵと、
割り込み発生時に前記ＣＰＵとメインメモリとの間のデータ送受信を支援する請求項１から６のいずれか一項に記載の割込み支援回路装置とを備えることを特徴とするマイクロコンピュータ。
【請求項８】
ＣＰＵとメインメモリとの間のデータ送受信を、割り込み発生時に前記ＣＰＵに読み出される読み出しデータを記憶する割り込み用キャッシュメモリを用いて支援する割り込み支援方法であって、
割り込みが発生して、前記ＣＰＵからデータの読み出し要求がある場合に、前記読み出し要求に対応する読み出しデータを、前記メインメモリに比べて前記割り込み用キャッシュメモリから優先して読み出して前記ＣＰＵに送信し、
前記読み出しデータが前記メインメモリから読み出された場合に、その読み出しデータを前記割り込み用キャッシュメモリに記憶させることを特徴とする割り込み支援方法。
【請求項９】
割り込みが発生していなく、前記ＣＰＵからデータの読み出し要求がある場合に、前記メインメモリから読み出された読み出しデータを前記割り込み用キャッシュメモリに記憶させないことを特徴とする請求項８に記載の割込み支援方法。
【請求項１０】
割り込みが発生して、前記ＣＰＵから書き込みデータを受信した場合に、その書き込みデータを前記割り込み用キャッシュメモリに記憶させることを特徴とする請求項８又は９に記載の割り込み支援方法。
【請求項１１】
割り込みが発生してしていなく、前記ＣＰＵから書き込みデータを受信した場合に、その書き込みデータを前記メインメモリに記憶させることを特徴とする請求項１０に記載の割り込み支援方法。
【請求項１２】
前記割り込み用キャッシュメモリの記憶領域が複数に分割され、
前記割り込み用キャッシュメモリに記憶させるデータを識別し、その識別に基づいて前記割り込み用キャッシュメモリの分割された記憶領域にそのデータを記憶させることを特徴とする請求項８から１１のいずれか一項に記載の割り込み支援方法。
【請求項１３】
割り込みが発生して、前記ＣＰＵからデータの読み出し要求がある場合に、前記読み出し要求に対応する読み出しデータを、前記メインメモリと前記割り込み用キャッシュメモリとから同時に読み出し開始し、
前記割り込み用キャッシュメモリに前記読み出しデータが記憶されている場合に、前記メインメモリから読み出された読み出しデータを破棄することを特徴とする請求項８から１２のいずれか一項に記載の割込み支援方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、割り込みを支援する割り込み支援回路装置及びその割り込み支援装置を有するマイクロコンピュータ並びに割り込み支援方法に関する。
【０００２】
【従来の技術】
従来、マイクロコンピュータにおいて、処理の実行要求が発生した場合に、即座にその処理が実行されるリアルタイムシステムがあった。リアルタイムシステムにおいては、通常処理の実行中に発生する割り込みに応じて、実行する処理をその通常処理から割り込み処理へ所定時間内に切り替える必要がある。例えば、センサが障害物を検知してから規定時間内にその障害物を回避することである。この場合、センサの検知信号の入力が割り込みとして通知される。
【０００３】
また、割り込みに対して素早く対応するための構成が考えられている。その例として、割り込み処理に用いるデータを予めマイクロコンピュータ内部のキャッシュとしての命令ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）に記憶しておき、割り込み発生時にそのデータの読み出し元を、通常時用の命令キャッシュから割り込み用の命令ＲＡＭに切り替えることにより、その割り込み処理実行の応答時間の高速化が実現されていた（例えば、特許文献１参照）。
【０００４】
【特許文献１】
特開２００２−４９６０７号公報
【０００５】
【発明が解決しようとする課題】
しかし、特許文献１に記載の発明では、ＣＰＵを有するマイクロコンピュータの内部構成が従来と異なる特殊な構造となるという問題があった。つまり、特許文献１に記載の発明を実施するには、一般のＣＰＵ及びその周辺部をそのまま利用することができず、再構築しなければならないという問題があった。
【０００６】
また、特許文献１に記載の発明では、割り込み用の命令ＲＡＭに記憶されるデータは予め決定されて記憶され、その更新が行われない。このため、予め命令ＲＡＭに記憶されたデータに対応する割り込み処理しか実行できないという問題があった。これに関して、命令ＲＡＭの容量が限られていることから、その容量に対応する限られた種類の割り込み処理しか実行できないという問題があった。
【０００７】
本発明の課題は、一般のＣＰＵを用いて、割り込み処理の種類を限定することなく、割り込み処理の応答時間を短縮することである。
【０００８】
【課題を解決するための手段】
請求項１に記載の発明は、割り込み発生時にＣＰＵとメインメモリとの間のデータ送受信を支援する割り込み支援回路装置であって、
前記ＣＰＵとの通信を行うＣＰＵインタフェースと、
前記メインメモリとの通信を行うメモリインタフェースと、
割り込み発生時に前記ＣＰＵに読み出される読み出しデータを記憶する割り込み用キャッシュメモリと、
割り込みが発生して、前記ＣＰＵインタフェースを介して前記ＣＰＵからデータの読み出し要求を受信した場合に、前記読み出し要求に対応する読み出しデータを、前記メインメモリに比べて前記割り込み用キャッシュメモリから優先して読み出して、前記ＣＰＵインタフェースによりその読み出しデータを前記ＣＰＵに送信させ、前記メモリインタフェースにより前記読み出しデータが前記メインメモリから読み出された場合に、その読み出しデータを前記割り込み用キャッシュメモリに記憶させる制御部とを備えることを特徴とする。
【０００９】
請求項２に記載の発明は、請求項１に記載の割込み支援回路装置において、
前記制御部は、割り込みが発生していなく、前記ＣＰＵインタフェースを介して前記ＣＰＵからデータの読み出し要求を受信した場合に、前記メモリインタフェースにより前記メインメモリから読み出された読み出しデータを前記割り込み用キャッシュメモリに記憶させないことを特徴とする。
【００１０】
請求項３に記載の発明は、請求項１又は２に記載の割込み支援回路装置において、
前記制御部は、割り込みが発生して、前記ＣＰＵインタフェースを介して前記ＣＰＵから書き込みデータを受信した場合に、その書き込みデータを前記割り込み用キャッシュメモリに記憶させることを特徴とする。
【００１１】
請求項４に記載の発明は、請求項３に記載の割込み支援回路装置において、
前記制御部は、割り込みが発生してしていなく、前記ＣＰＵインタフェースを介して前記ＣＰＵから書き込みデータを受信した場合に、前記メモリインタフェースによりその書き込みデータを前記メインメモリに記憶させることを特徴とする。
【００１２】
請求項５に記載の発明は、請求項１から４のいずれか一項に記載の割込み支援回路装置において、
前記割り込み用キャッシュメモリの記憶領域が複数に分割され、
前記制御部は、前記割り込み用キャッシュメモリに記憶させるデータを識別し、その識別に基づいて前記割り込み用キャッシュメモリの分割された記憶領域にそのデータを記憶させることを特徴とする。
【００１３】
請求項６に記載の発明は、請求項１から５のいずれか一項に記載の割込み支援回路装置において、
前記メインメモリから読み出された読み出しデータを破棄するデータ破棄部を備え、
前記制御部は、割り込みが発生して、前記ＣＰＵインタフェースを介して前記ＣＰＵからデータの読み出し要求を受信した場合に、前記読み出し要求に対応する読み出しデータを、前記メインメモリと前記割り込み用キャッシュメモリとから同時に読み出し開始し、
前記データ破棄部は、前記割り込み用キャッシュメモリに前記読み出しデータが記憶されている場合に、前記メインメモリから読み出された読み出しデータを破棄することを特徴とする。
【００１４】
請求項７に記載の発明は、ＣＰＵと、割り込み発生時に前記ＣＰＵとメインメモリとの間のデータ送受信を支援する請求項１から６のいずれか一項に記載の割込み支援回路装置とを備えるマイクロコンピュータであることを特徴とする。
【００１５】
請求項８に記載の発明は、ＣＰＵとメインメモリとの間のデータ送受信を、割り込み発生時に前記ＣＰＵに読み出される読み出しデータを記憶する割り込み用キャッシュメモリを用いて支援する割り込み支援方法であって、
割り込みが発生して、前記ＣＰＵからデータの読み出し要求がある場合に、前記読み出し要求に対応する読み出しデータを、前記メインメモリに比べて前記割り込み用キャッシュメモリから優先して読み出して前記ＣＰＵに送信し、
前記読み出しデータが前記メインメモリから読み出された場合に、その読み出しデータを前記割り込み用キャッシュメモリに記憶させることを特徴とする。
【００１６】
請求項１又は８に記載の発明によれば、割り込み発生時の読み出しデータを、読み出し速度の速い割り込み用キャッシュメモリから優先して読み出してＣＰＵに送信し、その読み出しデータをメインメモリから読み出した場合に、その読み出しデータを割り込み用キャッシュメモリに記憶する。このため、一般のＣＰＵを用いて、割り込み処理の種類を限定することなく、過去に実行された割り込み処理のデータを読み出し対象の読み出しデータとして割り込み用キャッシュメモリから読み出して、その割り込み処理の応答時間を短縮することができる。
【００１７】
請求項９に記載の発明は、請求項８に記載の割込み支援方法において、
割り込みが発生していなく、前記ＣＰＵからデータの読み出し要求がある場合に、前記メインメモリから読み出された読み出しデータを前記割り込み用キャッシュメモリに記憶させないことを特徴とする。
【００１８】
請求項２又は９に記載の発明によれば、割り込みが発生していない場合に、メインメモリから読み出された読み出しデータを割り込み用キャッシュメモリに記憶させないので、割り込み処理に用いる読み出しデータが、読み出し速度の速い割り込み用キャッシュメモリに記憶される確率を高めて、割り込み処理の応答時間を短縮することができる。また、割り込み用キャッシュメモリに読み込みデータを記憶する負担を低下し、通常処理の実行速度の低下を防ぐことができる。
【００１９】
請求項１０に記載の発明は、請求項８又は９に記載の割込み支援方法において、
割り込みが発生して、前記ＣＰＵから書き込みデータを受信した場合に、その書き込みデータを前記割り込み用キャッシュメモリに記憶させることを特徴とする。
【００２０】
請求項３又は１０に記載の発明によれば、割り込みが発生した場合に、書き込みデータを割り込み用キャッシュメモリに記憶させるので、割り込み処理の終了後、割り込み用キャッシュメモリに記憶された書き込みデータを読み出し、その読み出しデータを用いる処理の応答時間を短縮することができる。
【００２１】
請求項１１に記載の発明は、請求項１０に記載の割込み支援方法において、
割り込みが発生してしていなく、前記ＣＰＵから書き込みデータを受信した場合に、その書き込みデータを前記メインメモリに記憶させることを特徴とする。
【００２２】
請求項４又は１１に記載の発明によれば、割り込みが発生してしていない場合に、書き込みデータを割り込み用キャッシュメモリでなくメインメモリに記憶させるので、割り込み処理中の書き込みデータが、読み出し速度の速い割り込み用キャッシュメモリに記憶される確率を高めて、その書き込みデータを用いる処理の応答時間を短縮することができる。また、割り込み用キャッシュメモリに書き込みデータを記憶する負担を低下し、通常処理の実行速度の低下を防ぐことができる。
【００２３】
請求項１２に記載の発明は、請求項８から１１のいずれか一項に記載の割込み支援方法において、
前記割り込み用キャッシュメモリの記憶領域が複数に分割され、
前記割り込み用キャッシュメモリに記憶させるデータを識別し、その識別に基づいて前記割り込み用キャッシュメモリの分割された記憶領域にそのデータを記憶させることを特徴とする。
【００２４】
請求項５又は１２に記載の発明によれば、割り込み用キャッシュメモリに記憶させるデータを、その識別に基づいて割り込み用キャッシュメモリの分割された記憶領域に記憶させるので、割り込み用キャッシュメモリに同一のデータを記憶させることを防ぎ、割り込み用キャッシュメモリに読み出し対象のデータが記憶される確率を高めて、そのデータを用いる処理の応答時間を短縮することができる。
【００２５】
請求項１３に記載の発明は、請求項８から１２のいずれか一項に記載の割込み支援方法において、
割り込みが発生して、前記ＣＰＵからデータの読み出し要求がある場合に、前記読み出し要求に対応する読み出しデータを、前記メインメモリと前記割り込み用キャッシュメモリとから同時に読み出し開始し、
前記割り込み用キャッシュメモリに前記読み出しデータが記憶されている場合に、前記メインメモリから読み出された読み出しデータを破棄することを特徴とする。
【００２６】
請求項６又は１３に記載の発明によれば、割り込みが発生し、メインメモリと割り込み用キャッシュメモリとから同時に読み出しデータを読み出し開始し、割り込み用キャッシュメモリに読み出しデータが記憶されている場合に、メインメモリから読み出された読み出しデータを破棄するので、読み出し速度の速い割り込み用キャッシュメモリから優先して読み出しデータの読み出しを行うこととともに、メインメモリから読み出しデータの読み出しを行う場合にも最短時間で読み出しを行い、割り込み処理の応答時間を短縮することができる。
【００２７】
請求項７に記載の発明によれば、割り込み支援回路装置により、請求項１から６のいずれか一項に記載の発明の効果とともに、ＣＰＵにおける割り込み処理の応答時間を短縮することができる。
【００２８】
【発明の実施の形態】
以下、添付図面を参照して、本発明に係る実施の形態を説明する。
【００２９】
先ず、図１及び図２を参照して、本実施の形態の装置の特長を説明する。図１は、本実施の形態のマイクロコンピュータ１の構成を示す図である。図２は、マイクロコンピュータ１のメモリインタフェース２７の内部構成を示す図である。
【００３０】
図１に示すように、本実施の形態に係るマイクロコンピュータ１は、各種データを記憶するＲＡＭなどのメインメモリ３０とデータが送受信可能に接続されている。マイクロコンピュータ１は、ＣＰＵコア１０と、ＣＰＵコア１０に割り込みが発生した場合にその割り込み処理の実行を支援する割り込み支援回路装置としての割り込み支援ブロック２０とを備える。ＣＰＵコア１０は、図示しないが、各種データを記憶する内蔵キャッシュと、各種データを用いて各種演算を行う演算部とを有する。
【００３１】
ＣＰＵコア１０とは、ＣＰＵの中心部分である。ＣＰＵコア１０のみにより、あるいはＣＰＵコア１０と２次キャッシュなどの周辺回路とによりＣＰＵが構成される。本実施の形態では、ＣＰＵコア１０を用いて説明するが、ＣＰＵコア１０に代えてＣＰＵとして構成してもよい。
【００３２】
割り込み支援ブロック２０は、各部を制御する制御部２１と、ＣＰＵコア１０との通信を介するＣＰＵインタフェース２２と、ＣＰＵコア１０−ＣＰＵインタフェース２２間で送受信されるデータ信号の増幅を行うバッファアンプ２３ａ，２３ｂと、割り込み発生時に読み出される又は書き込まれるデータを記憶する割り込み用キャッシュメモリ２４と、データの通信路を選択するセレクタ２５，２６と、メインメモリ３０との通信を介するメモリインタフェース２７と、メインメモリ３０−メモリインタフェース２７間で送受信されるデータ信号の増幅を行うバッファアンプ２８ａ，２８ｂとを備える。
【００３３】
制御部２１は、実際に各部を制御する制御ブロック２１１と、割り込みモード時に割り込みモードを示すデータを格納するレジスタ２１２とを備える。ＣＰＵコア１０において割り込みが発生して、その割り込み処理を行うモードを割り込みモードとし、割り込み処理以外の通常動作を行っている場合のモードを通常モードとする。制御ブロック２１１は、レジスタ２１２に割り込みモードを示すデータが格納されていることにより割り込みモード時の動作を行う。なお、制御ブロック２１１から割り込み支援ブロック２０の各部を制御するために接続されるバスは、図１上で省略されている。
【００３４】
ＣＰＵコア１０からＣＰＵインタフェース２２へ送信されるデータ信号は、バッファアンプ２３ａにより増幅される。ＣＰＵインタフェース２２からＣＰＵコア１０へ送信されるデータ信号は、バッファアンプ２３ｂにより増幅される。また、メモリインタフェース２７からメインメモリ３０へ送信されるデータ信号は、バッファアンプ２８ａにより増幅される。メインメモリ３０からメモリインタフェース２７へ送信されるデータ信号は、バッファアンプ２８ｂにより増幅される。
【００３５】
割り込み用キャッシュメモリ２４は、割り込みモード時に読み出される読み出しデータを記憶する読み出し用キャッシュメモリ２４１と、割り込みモード時に書き込まれる書き込みデータを記憶する書き込み用キャッシュ２４２とを備える。読み出し用キャッシュメモリ２４１は、セレクタ２５と、メモリインタフェース２７と接続される。書き込み用キャッシュメモリ２４２は、制御ブロック２１１とＣＰＵインタフェース２２とセレクタ２６と接続される。
【００３６】
セレクタ２６は、ＣＰＵインタフェース２２からメモリインタフェース２７へのデータ送信路を、書き込み用キャッシュメモリ２４２を経由する伝送路と、書き込み用キャッシュメモリ２４２を経由しないバイパスＢＰ１とから選択する。セレクタ２５は、メモリインタフェース２７からＣＰＵインタフェース２２へのデータ送信路を、読み出し用キャッシュメモリ２４１を経由する伝送路と、読み出し用キャッシュメモリ２４１を経由しないバイパスＢＰ２とから選択する。また、セレクタ２５は、ＣＰＵインタフェース２２へのデータ送信路を、上記伝送路と、書き込み用キャッシュメモリ２４２からＣＰＵインタフェース２２へのデータ送信路とから選択する。
【００３７】
図２に示すように、メモリインタフェース２７は、読み出し用キャッシュメモリ２４１における読み出しデータの読み出し状態を出力して、メモリインタフェース２７の各部を制御する状態制御部２７１と、メインメモリ３０内の読み出しデータの読み出し又は書き込みデータの書き込みを制御するメモリ制御部２７２と、メインメモリ３０から読み出された不必要な読み出しデータを破棄するデータ破棄部２７３とを備える。
【００３８】
状態制御部２７１は、制御ブロック２１１から制御データが入力され、セレクタ２６から読み出し要求データ又は書き込みデータが入力され、メモリ制御部２７２に制御データが出力され、データ破棄部２７３に読み出し用キャッシュメモリ２４１の読み出し状態を示すデータが出力される。メモリ制御部２７２は、状態制御部２７１から制御データが入力され、セレクタ２６から読み出し要求データ又は書き込みデータが入力され、バッファアンプ２８ａに読み出し要求データ又は書き込みデータが出力される。また、メモリ制御部２７２は、バッファアンプ２８ｂから読み出しデータが入力され、データ破棄部２７３に読み出しデータが出力される。データ破棄部２７３は、メモリ制御部２７２から読み出しデータが入力され、状態制御部２７１から読み出し用キャッシュメモリ２４１の読み出し状態を示すデータが入力され、読み出し用キャッシュメモリ２４１又はセレクタ２５に読み出しデータが出力される。
【００３９】
次に、図３〜図６を参照して、マイクロコンピュータ１の動作を説明する。図３は、割り込み支援ブロック２０において実行されるモード選択処理を示すフローチャートである。図４は、読み出し処理を示すフローチャートである。図５は、書き込み処理を示すフローチャートである。図６は、割り込み支援ブロック２０における動作の流れの一例を示す図である。
【００４０】
割り込み支援ブロック２０は、通常モード時と、割り込みモード時とでは異なる動作となる。先ず、割り込み支援ブロック２０において、通常モードと割り込みモードとを設定及び切換えするモード設定処理を説明する。モード設定処理は、所定の周期で実行される処理である。マイクロコンピュータ１を搭載する機器が起動したこと又は前回のモード設定処理の実行終了から所定時間が経過したことをトリガとして、割り込み支援ブロック２０においてモード設定処理が実行される。
【００４１】
ＣＰＵコア１０は、割り込みが発生した場合に、割り込みモードの開始を要求する割り込みモード開始信号を割り込み支援ブロック２０に送信し、発生した割り込みに対応する割り込み処理が終了した場合に、割り込みモードの終了を要求する割り込みモード終了信号を割り込み支援ブロック２０に送信する。
【００４２】
図３に示すように、先ず、制御ブロック２１１により割り込みモード開始信号が受信されたか否かが判別される（ステップＳ１１）。具体的には、ＣＰＵ１０から割り込みモード開始信号が送信されて、バッファアンプ２３ａ及びＣＰＵインタフェース２２を介して制御ブロック２１１に受信されたか否かにより判別される。
【００４３】
割り込みモード開始信号が受信された場合（ステップＳ１１；ＹＥＳ）、現在のモードは通常モードであり、制御部２１により現在のモードが割り込みモードに設定され（ステップＳ１２）、モード設定処理が終了される。具体的には、制御ブロック２１１により、割り込みモードを示すデータが生成されてレジスタ２１２に記憶される。レジスタ２１２に割り込みモードを示すデータが記憶されていれば、現在、割り込みモードであり、割り込みモードを示すデータが記憶されていなければ、現在、通常モードである。
【００４４】
割り込みモード開始信号が受信されていない場合（ステップＳ１１；ＮＯ）、制御ブロック２１１により割り込みモード終了信号が受信されたか否かが判別される（ステップＳ１３）。具体的には、ＣＰＵ１０から割り込みモード終了信号が送信されて、バッファアンプ２３ａ及びＣＰＵインタフェース２２を介して制御ブロック２１１に受信されたか否かにより判別される。
【００４５】
割り込みモード終了信号が受信されていない場合（ステップＳ１３；ＮＯ）、現在のモードの変更がなく、モード設定処理が終了される。割り込みモード終了信号が受信された場合（ステップＳ１３；ＹＥＳ）、現在のモードは割り込みモードであり、制御部２１により現在のモードが通常モードに設定され（ステップＳ１４）、モード設定処理が終了される。具体的には、制御ブロック２１１により、レジスタ２１２に記憶されていた割り込みモードを示すデータが消去される。
【００４６】
次に、図４を参照して、ＣＰＵコア１０で実行される処理に必要なデータ（読み出しデータ）を読み出す読み出し処理を説明する。読み出し処理は、ＣＰＵコア１０から読み出しデータの読み出し要求が受信されたことをトリガとして、割り込み支援ブロック２０において実行される。具体的には、ＣＰＵコア１０からバッファアンプ２３ａ及びＣＰＵインタフェース２２を介して送信された読み出しデータの要求が制御ブロック２１１に入力された場合である。
【００４７】
図４に示すように、先ず、制御ブロック２１１により、読み出し要求に対応する読み出しデータを、割り込み用キャッシュメモリ２４と、メインメモリ３０とから同時に読み出しが開始される（ステップＳ２１）。具体的には、制御ブロック２１１により、読み出し用キャッシュメモリ２４１及び書き込み用キャッシュメモリ２４２内の読み出しデータが検索開始され、記憶されていればその読み出しデータの読み出しが開始される。
【００４８】
これと同時に、制御ブロック２１１により、セレクタ２６とメモリインタフェース２７とバッファメモリ２８ａとを介して、メインメモリ３０内の読み出しデータが検索開始され、その読み出しデータの読み出しが開始される。さらに具体的には、制御ブロック２１１から制御信号が状態制御部２７１に送信される。また、制御ブロック２１１により、ＣＰＵコア１０から受信された読み出し要求が、バッファメモリ２３ａ、ＣＰＵインタフェース２２、バイパスＢＰ１及びセレクタ２６を介して状態制御部２７１とメモリ制御部２７２とに送信される。状態制御部２７１によりメモリ制御部２７２が制御され、メモリ制御部２７２からバッファアンプ２８ａを介してメインメモリ３０内の読み出しデータが検索される。検索された後に、メインメモリ３０からバッファアンプ２８ｂを介してその読み出しデータがメモリ制御部２７２を介してデータ破棄部２７３に送信される。
【００４９】
そして、制御ブロック２１１により、ステップＳ２１において読み出し要求に対応する読み出しデータが割り込み用キャッシュメモリ２４に記憶されているか否かが判別される（ステップＳ２２）。読み出しデータが割り込み用キャッシュメモリ２４に記憶されている場合（ステップＳ２２；ＹＥＳ）、メモリインタフェース２７により、メインメモリ３０から読み出された読み出しデータが破棄される（ステップＳ２３）。具体的には、読み出し状態として、割り込み用キャッシュメモリ２４に読み出しデータが記憶されている旨を示すヒットデータが、制御ブロック２１１から状態制御部２７１に送信され、そのヒットデータが状態制御部２７１からデータ破棄部２７３に送信される。データ破棄部２７３がヒットデータを受信した場合に、データ破棄部２７３によりメインメモリ３０から読み出された読み出しデータが破棄される。つまり、メインメモリ３０から読み出された読み出しデータがバイパスＢＰ２を介してＣＰＵコア１０側に送信されることはない。
【００５０】
割り込み用キャッシュメモリ２４に比べてメインメモリ３０のデータ読み出し速度は遅いので、その両方から読み出しデータが読み出された場合に、メインメモリ３０からの読み出しデータは不要となるため、その読み出しデータの破棄が実行される。
【００５１】
そして、制御ブロック２１１により、読み出し要求に対応する読み出しデータの割り込み用キャッシュメモリ２４からの読み出しが完了される（ステップＳ２４）。そして、制御ブロック２１１により、読み出された読み出しデータがＣＰＵインタフェース２２及びバッファアンプ２３ｂを介してＣＰＵコア１０に送信され（ステップＳ２５）、読み出し処理が終了される。ステップＳ２５において、具体的には、読み出しデータが読み出し用キャッシュメモリ２４１又は書き込み用キャッシュメモリ２４２から読み出された場合、その読み出しデータがセレクタ２５、ＣＰＵインタフェース２２及びバッファアンプ２３ｂを介してＣＰＵコア１０に送信される。
【００５２】
前記読み出しデータが割り込み用キャッシュメモリ２４に記憶されていない場合（ステップＳ２２；ＮＯ）、その読み出しデータはメインメモリ３０に記憶されており、メインメモリ３０から読み出さなければならない。このため、制御ブロック２１１により、読み出し要求に対応する読み出しデータのメインメモリ３０からの読み出しが完了される（ステップＳ２６）。具体的には、読み出し状態として、割り込み用キャッシュメモリ２４に前記読み出しデータが記憶されていなかった旨を示すミスデータが、制御ブロック２１１から状態制御部２７１に送信され、そのミスデータが状態制御部２７１からデータ破棄部２７３に送信される。データ破棄部２７３において、メインメモリ３０から読み出された全ての読み出しデータが受信される。
【００５３】
割り込み用キャッシュメモリ２４に比べてメインメモリ３０のデータ読み出し速度は遅いが、ステップＳ２１においてその両方から読み出しを同時に開始しているので、メインメモリ３０から読み出しデータが読み出された場合にも、応答時間を最小にして読み出しを行うことができる。
【００５４】
そして、制御部２１により、現在のモードが何であるかが判別される（ステップＳ２７）。具体的には、制御ブロック２１１により、レジスタ２１２に割り込みモードである旨のデータが記憶されていた場合に、現在のモードが割り込みモードであると判別され、割り込みモードである旨のデータが記憶されていない場合に、通常モードであると判別される。
【００５５】
現在、通常モードであると判別された場合（ステップＳ２７；通常モード）、ステップＳ２５に移行される。ステップＳ２５において、通常モード時に読み出しデータがメインメモリ３０から読み出された場合、その読み出しデータはデータ破棄部２７３からバイパスＢＰ２、セレクタ２５、ＣＰＵインタフェース２２及びバッファアンプ２３ｂを介してＣＰＵコア１０に送信される。
【００５６】
割り込み用キャッシュメモリ２４に通常モードで読み出された読み出しデータが記憶されないので、読み出し速度の速い割り込み用キャッシュメモリ２４に割り込み処理用の読み出しデータが記憶されている確率が高くなり、割り込み処理の実行速度の低下を防ぐ。また、通常モードの読み出しデータを記憶する負荷の増大（オーバーヘッド）を防ぐので、通常処理の実行速度の低下を防ぐ。
【００５７】
現在、割り込みモードであると判別された場合（ステップＳ２７；割り込みモード）、制御ブロック２１１により、メインメモリ３０から読み出された読み出しデータが読み出し用キャッシュ２４１に記憶される（ステップＳ２８）。具体的には、メインメモリ３０から読み出された読み出しデータがデータ破棄部２７３から読み出し用キャッシュメモリ２４１に送信され、読み出し用キャッシュ２４１に記憶される。そして、ステップＳ２５に移行される。ステップＳ２５において、割り込みモード時に読み出しデータがメインメモリ３０から読み出された場合、その読み出しデータは読み出し用キャッシュメモリ２４１から、セレクタ２５、ＣＰＵインタフェース２２及びバッファアンプ２３ｂを介してＣＰＵコア１０に送信される。
【００５８】
割り込みモード時に、割り込み用キャッシュメモリ２４にＣＰＵ１０から読み出された読み出しデータを書き込むので、次回以降の割り込みモード時に、読み出し速度の速い割り込み用キャッシュメモリ２４に読み出し対象の読み出しデータが記憶されている確率が高くなり、割り込み処理の応答速度の向上を図る。
【００５９】
次に、図５を参照して、ＣＰＵコア１０からあふれ出たデータ（書き込みデータ）を記憶する書き込み処理を説明する。書き込み処理は、ＣＰＵコア１０から書き込みデータが受信されたことをトリガとして、割り込み支援ブロック２０において実行される。具体的には、ＣＰＵコア１０からバッファアンプ２３ａ及びＣＰＵインタフェース２２を介して書き込みデータが制御ブロック２１１に入力された場合である。
【００６０】
図５に示すように、先ず、制御部２１により、現在のモードが何であるかが判別される（ステップＳ３１）。ステップＳ３１は、図４のステップＳ２７と同様の処理である。現在、割り込みモードである場合（ステップＳ３１；割り込みモード）、ＣＰＵインタフェース２２で受信された書き込みデータが書き込み用キャッシュメモリ２４２に送信されて記憶され（ステップＳ３２）、書き込み処理が終了される。
【００６１】
割り込みモード時に、書き込み用キャッシュメモリ２４２に書き込みデータを書き込むので、割り込みモード終了後の通常モード時に、その書き込みデータが、読み出し速度の速い割り込み用キャッシュメモリ２４から読み出され、その書き込みデータを用いる通常処理の応答速度の向上を図る。
【００６２】
現在、通常モードである場合（ステップＳ３１；通常モード）、ＣＰＵ１ンタフェース２２で受信された書き込みデータが、バイパスＢＰ１、セレクタ２６、メモリインタフェース２７及びバッファアンプ２８ａを介してメインメモリ３０に送信されて記憶され（ステップＳ３３）、書き込み処理が終了される。メモリインタフェース２６内において、書き込みデータがセレクタ２６から状態制御部２７１及びメモリ制御部２７２に送信される。状態制御部２７１の制御でメモリ制御部２７２により、書き込みデータがメインメモリ３０に記憶させるように送信される。
【００６３】
通常モード時に、書き込み用キャッシュメモリ２４２でなくメインメモリ３０に書き込みデータを記憶するので、割り込みモード時の書き込みデータが書き込み用キャッシュメモリ２４２に記憶される確率が上がる。また、通常モード時に書き込み用キャッシュメモリ２４２に書き込み用データを記憶する負担を低下し、通常処理の実行速度の低下を防ぐ。
【００６４】
以上の説明においては、読み出し用キャッシュメモリ２４１及び書き込み用キャッシュメモリ２４２へのデータの記憶方式については特に触れていないが、読み出し用キャッシュメモリ２４１及び書き込み用キャッシュメモリ２４２のそれぞれの記憶領域を分割し、その分割された記憶領域に読み出しデータ又は書き込みデータ（ここではまとめて割り込みデータとする）を記憶する構成でもよい。
【００６５】
分割された複数の記憶領域に番号が付与され、割り込みデータが識別され、その識別に基づいて各番号が対応付けられて記憶される。このような構成にすることにより、読み出し用キャッシュメモリ２４１又は書き込み用キャッシュメモリ２４２に同一の割り込みデータが記憶されることを防ぎ、読み出し速度の速い読み出し用キャッシュメモリ２４１又は書き込み用キャッシュメモリ２４２に読み出し対象の割り込みデータが記憶されている確率が高くなり、その割り込みデータを用いる割り込み処理及び通常処理の応答速度の向上を図る。
【００６６】
なお、記憶領域の番号の個数と割り込みデータの種類の数とが一致していることに限られるものではなく、一致しない構成でもよい。例えば、命令などの割り込みデータが１００個用意されている場合に、分割された記憶領域の個数は１００個以上である構成でもよいし、それ以下の個数の構成でもよい。
【００６７】
次に、図６を参照して、マイクロコンピュータ１の動作の一例を説明する。図６の流れ図において、時間の経過（図６の上から下への方向）に応じて説明する。先ず、現在のモードが通常モードであり、ＣＰＵコア１０内の演算部で実行される処理に必要なデータは、ＣＰＵコア１０内の内蔵キャッシュから読み出される。
【００６８】
そして、▲１▼において、ＣＰＵコア１０に割り込みが発生し、割り込みモードに設定される（図３のステップＳ１２に対応）。その割り込みに対応する読み出しデータがＣＰＵコア１０内の内蔵キャッシュにない場合に、読み出しデータ要求がＣＰＵコア１０から割り込み支援ブロック２０に送信される。
【００６９】
そして、▲２▼において、読み出しデータ要求に基づいて、割り込み用キャッシュメモリ２４と、メインメモリ３０とから同時に読み出しデータの読み出しが実行開始される（図４のステップＳ２１に対応）。そして、割り込み用キャッシュメモリ２４に読み出しデータが記憶されており、割り込み用キャッシュメモリ２４から読み出しデータが読み出され、メインメモリ３０から読み出された読み出しデータが破棄される（図４のステップＳ２３，Ｓ２４に対応）。
【００７０】
また、▲３▼において、通常モードにおける処理で使用していたデータが、ＣＰＵコア１０内の内蔵キャッシュから追い出され、そのデータが書き込みデータとして、ＣＰＵコア１０から割り込み支援ブロック２０に送信される。そして、その書き込みデータが書き込み用キャッシュメモリ２４２に記憶される（図５のステップＳ３２に対応）。そして、割り込み用キャッシュメモリ２４から読み出された読み出しデータが、割り込み支援ブロック２０からＣＰＵコア１０に送信される（図４のステップＳ２５に対応）。
【００７１】
そして、▲４▼において、ＣＰＵコア１０において割り込み処理が終了し、通常モードに設定される（図３のステップＳ１４に対応）。そして、ＣＰＵ１０において通常モードの処理が行われ、その処理に用いる読み出しデータの読み出し要求がＣＰＵコア１０から割り込み支援ブロック２０に送信される。
【００７２】
そして、▲５▼において、読み出しデータ要求に基づいて、割り込み用キャッシュメモリ２４と、メインメモリ３０とから同時に読み出しデータの読み出しが実行される（図４のステップＳ２１に対応）。割り込み用キャッシュメモリ２４には、▲３▼で書き込まれた通常モードの処理の読み出しデータが記憶されている。割り込み用キャッシュメモリ２４からその読み出しデータが読み出され、メインメモリ３０から読み出された読み出しデータが破棄される（図４のステップＳ２３，Ｓ２４に対応）。このように、割り込みモード終了後に、通常モードで使用するデータが、読み出し速度の速い割り込み用キャッシュメモリ２４から読み出されるので、通常処理の応答速度の向上を実現できる。
【００７３】
以上、本実施の形態によれば、一般のＣＰＵコア１０に割り込み支援ブロック２０を接続し、割り込み発生時の読み出しデータを、そのデータの発生に応じて、読み出し速度の速い割り込み用キャッシュメモリ２４に記憶し、メインメモリ３０に比べて割り込み用キャッシュメモリ２４から優先的に読み出すので、一般のＣＰＵコア１０を用いて、割り込み処理の種類を限定することなく、過去に実行された割り込み処理のデータを読み出し対象の読み出しデータとして読み出して、その割り込み処理の応答時間を短縮することができる。
【００７４】
また、割り込みモードと通常モードとが設定され、読み込み用キャッシュメモリ２４１に割り込みモード時の読み出しデータのみが記憶されるので、割り込み処理で必要なデータが割り込み用キャッシュメモリ２４に記憶されている確率を高めて、割り込み処理の応答時間を特に短縮することができる。
【００７５】
また、書き込み用キャッシュメモリ２４２に割り込みモード時の書き込みデータのみが記憶されるので、割り込み処理後の通常処理で必要なデータが割り込み用キャッシュメモリ２４に記憶されている確率を高めて、その通常処理の応答時間を特に短縮することができる。
【００７６】
例えば、一般のＣＰＵコア１０に２次キャッシュや３次キャッシュが単に設けられたＣＰＵに、割り込み支援ブロック２０が設けられない構成では、その２次、３次キャッシュに格納されるデータが通常モード時のデータか割り込みモード時のデータかが考慮されなく、そのキャッシュに割り込みモード時以外で使用されるデータも格納されるので、割り込み処理と割り込み処理後の通常処理とで必要なデータがそのキャッシュに記憶されている確率も低下し、割り込み処理と通常処理との応答時間が長くなってしまう。
【００７７】
上記の応答時間の短縮化は、読み出し処理時において、通常モードの場合にメインメモリ３０から読み出された読み出しデータを読み出し用キャッシュメモリ２４１に記憶せず、割り込みモードの場合にメインメモリ３０から読み出された読み出しデータを読み出し用キャッシュメモリ２４１に記憶する構成により実現している。また、この構成により、通常モード時に読み出しデータを読み出し用キャッシュメモリ２４１に記憶する負担を低下し、通常処理の実行速度の低下を防ぐ。
【００７８】
また、書き込み処理時において、通常モードの場合に書き込みデータを書き込み用キャッシュメモリ２４２に記憶せず、割り込みモードの場合に書き込みデータを書き込み用キャッシュメモリ２４２に記憶する構成により、割り込みモード終了後に、ＣＰＵコア１０からあふれでた書き込みデータを用いる通常処理の応答時間を短縮でき、また、通常処理の実行速度の低下を防ぐことができる。
【００７９】
また、本実施の形態によれば、読み出し処理において、ＣＰＵコア１０から読み出しデータの読み出し要求が送信された場合に、割り込み用キャッシュメモリ２４とメインメモリ３０との両方から同時に読み出しが開始され、割り込み用キャッシュメモリ２４に読み出しデータが記憶されている場合に、メインメモリ３０から読み出された読み出しデータは破棄される。このため、読み出し速度の速い割り込み用キャッシュメモリ２４から、読み出しデータの読み出しを優先的に行い、割り込み用キャッシュメモリ２４に読み出しデータが記憶されていなくても、メインメモリ３０からの読み出しが高速に行われるので、割り込み処理の応答時間を短縮することができる。
【００８０】
また、読み出し用キャッシュメモリ２４１及び書き込み用キャッシュメモリ２４２の記憶領域を分割する場合には、読み出し用キャッシュメモリ２４１及び書き込み用キャッシュメモリ２４２に同一のデータが記憶されることを防ぐので、読み出し対象のデータが、読み出し速度の速い割り込み用キャッシュメモリ２４に記憶されている確率を高めて、そのデータを用いる割り込み処理及び通常処理の応答時間を短縮することができる。
【００８１】
なお、本実施の形態においては、図４のステップＳ２１において、割り込み用キャッシュメモリ２４とメインメモリ３０とから読み出しデータを同時に読み出し開始している構成であるが、同時に行わない構成でもよい。例えば、割り込み用キャッシュメモリ２４から読み出しを開始し、割り込み用キャッシュメモリ２４に読み出しデータが記憶されていない場合に、メインメモリ３０から読み出しが開始される構成でもよい。この構成では、割り込み処理の応答時間が短縮されないが、割り込み支援ブロック２０において処理を並列して行うことによる処理負担が軽減される。
【００８２】
また、本実施の形態においては、割り込み支援ブロック２０は、ＣＰＵコア１０に外付けされる構成であったが、割り込み回路装置としてＣＰＵコア１０とともに一体に形成される構成などでもよい。
【００８３】
また、本実施の形態において、読み出し用キャッシュメモリ２４１及び書き込み用キャッシュメモリ２４２内に記憶されているデータは、マイクロコンピュータ１を搭載する機器の電源オフにより消去されるが、これに限るものでなく、電源オフ後もデータが記憶保持される構成でもよい。
【００８４】
以上、本発明の実施の形態につき説明したが、本発明は、必ずしも上述した手段及び手法にのみ限定されるものではなく、本発明にいう目的を達成し、本発明にいう効果を有する範囲内において適宜に変更実施が可能なものである。
【００８５】
【発明の効果】
請求項１又は８に記載の発明によれば、割り込み発生時の読み出しデータを、読み出し速度の速い割り込み用キャッシュメモリから優先して読み出してＣＰＵに送信し、その読み出しデータをメインメモリから読み出した場合に、その読み出しデータを割り込み用キャッシュメモリに記憶する。このため、一般のＣＰＵを用いて、割り込み処理の種類を限定することなく、過去に実行された割り込み処理のデータを読み出し対象の読み出しデータとして割り込み用キャッシュメモリから読み出して、その割り込み処理の応答時間を短縮することができる。
【００８６】
請求項２又は９に記載の発明によれば、割り込みが発生していない場合に、メインメモリから読み出された読み出しデータを割り込み用キャッシュメモリに記憶させないので、割り込み処理に用いる読み出しデータが、読み出し速度の速い割り込み用キャッシュメモリに記憶される確率を高めて、割り込み処理の応答時間を短縮することができる。また、割り込み用キャッシュメモリに読み込みデータを記憶する負担を低下し、通常処理の実行速度の低下を防ぐことができる。
【００８７】
請求項３又は１０に記載の発明によれば、割り込みが発生した場合に、書き込みデータを割り込み用キャッシュメモリに記憶させるので、割り込み処理の終了後、割り込み用キャッシュメモリに記憶された書き込みデータを読み出し、その読み出しデータを用いる処理の応答時間を短縮することができる。
【００８８】
請求項４又は１１に記載の発明によれば、割り込みが発生してしていない場合に、書き込みデータを割り込み用キャッシュメモリでなくメインメモリに記憶させるので、割り込み処理中の書き込みデータが、読み出し速度の速い割り込み用キャッシュメモリに記憶される確率を高めて、その書き込みデータを用いる処理の応答時間を短縮することができる。また、割り込み用キャッシュメモリに書き込みデータを記憶する負担を低下し、通常処理の実行速度の低下を防ぐことができる。
【００８９】
請求項５又は１２に記載の発明によれば、割り込み用キャッシュメモリに記憶させるデータを、その識別に基づいて割り込み用キャッシュメモリの分割された記憶領域に記憶させるので、割り込み用キャッシュメモリに同一のデータを記憶させることを防ぎ、割り込み用キャッシュメモリに読み出し対象のデータが記憶される確率を高めて、そのデータを用いる処理の応答時間を短縮することができる。
【００９０】
請求項６又は１３に記載の発明によれば、割り込みが発生し、メインメモリと割り込み用キャッシュメモリとから同時に読み出しデータを読み出し開始し、割り込み用キャッシュメモリに読み出しデータが記憶されている場合に、メインメモリから読み出された読み出しデータを破棄するので、読み出し速度の速い割り込み用キャッシュメモリから優先して読み出しデータの読み出しを行うこととともに、メインメモリから読み出しデータの読み出しを行う場合にも最短時間で読み出しを行い、割り込み処理の応答時間を短縮することができる。
【００９１】
請求項７に記載の発明によれば、割り込み支援回路装置により、請求項１から６のいずれか一項に記載の発明の効果とともに、ＣＰＵにおける割り込み処理の応答時間を短縮することができる。
【図面の簡単な説明】
【図１】本発明に係る実施の形態のマイクロコンピュータ１の構成を示す図である。
【図２】マイクロコンピュータ１のメモリインタフェース２７の内部構成を示す図である。
【図３】割り込み支援ブロック２０において実行されるモード選択処理を示すフローチャートである。
【図４】読み出し処理を示すフローチャートである。
【図５】書き込み処理を示すフローチャートである。
【図６】割り込み支援ブロック２０における動作の流れの一例を示す図である。
【符号の説明】
１…マイクロコンピュータ
１０…ＣＰＵコア
２０…割り込み支援ブロック
２１…制御部
２１１…制御ブロック
２１２…レジスタ
２２…ＣＰＵインタフェース
２３ａ，２３ｂ，２８ａ，２８ｂ…バッファアンプ
２４…割り込み用キャッシュメモリ
２４１…読み出し用キャッシュメモリ
２４２…書き込み用キャッシュメモリ
２５，２６…セレクタ
２７…メモリインタフェース
２７１…状態制御部
２７２…メモリ制御部
２７３…データ破棄部
３０…メインメモリ
【図１】
2004246636.tif 000003
【図２】
2004246636.tif 000004
【図３】
2004246636.tif 000005
【図４】
2004246636.tif 000006
【図５】
2004246636.tif 000007
【図６】
2004246636.tif 000008