(57)【要約】【課題】割り込み処理の種類を限定することなくその応答時間を短縮することである。【解決手段】割り込み支援回路装置としての割り込み支援ブロック２０において、割り込み予測部２４により、発生する割り込みを予測して、その予測された割り込みの割り込み処理に用いるデータをメモリインタフェース２７を介してメインメモリ３０から読み出して内蔵のキャッシュメモリに記憶する。割り込みの発生によりＣＰＵとしてのＣＰＵコア１０から割り込み処理で用いる割り込み用データのデータ要求が送信された場合に、そのデータ要求に対応する割り込み用データを前記キャッシュメモリから読み出してＣＰＵインタフェース２２を介してＣＰＵコア１０に送信する。【選択図】  図１
2004252729.tif 000002
【特許請求の範囲】
【請求項１】
割り込み処理に用いるデータのメインメモリからＣＰＵへの通信を支援する割り込み支援回路装置であって、
前記ＣＰＵとの通信を行うＣＰＵインタフェースと、
前記メインメモリとの通信を行うメモリインタフェースと、
データを記憶するキャッシュメモリを具備し、発生する割り込みを予測して、その割り込みの割り込み処理に用いるデータを、前記メモリインタフェースを介して前記メインメモリから読み出して前記キャッシュメモリに格納し、前記ＣＰＵからのデータ要求に基づいて、その格納されたデータを前記ＣＰＵに送信する割り込み予測部と、
前記ＣＰＵインタフェース及び前記メモリインタフェースを介して、前記ＣＰＵと前記メインメモリとの間の通信を制御する制御部とを備えることを特徴とする割り込み支援回路装置。
【請求項２】
前記割り込み予測部は、前記予測された割り込みの割り込み処理の開始前に、その割り込み処理に用いるデータを前記キャッシュメモリに格納することを特徴とする請求項１に記載の割り込み支援回路装置。
【請求項３】
前記割り込み予測部は、
発生する割り込みを予測してその割り込みに基づく予測信号を出力する割り込み予測実行部と、
前記割り込み予測実行部から出力された予測信号に基づいて、予測された割り込みの割り込み処理に用いるデータを読み出すための投機フェチ要求を生成して前記メインメモリに送信する投機フェチ制御部と、
前記メインメモリから送信された前記割り込み処理に用いるデータを前記キャッシュメモリに格納させるキャッシュメモリ制御部とを備えることを特徴とする請求項１又は２に記載の割り込み支援回路装置。
【請求項４】
前記キャッシュメモリ制御部は、各種処理のデータ要求を前記ＣＰＵから前記ＣＰＵインタフェースを介して受信した場合に、そのデータ要求に対応するデータを前記キャッシュメモリから検索し、検索された場合にそのデータを前記ＣＰＵインタフェースを介して前記ＣＰＵに送信することを特徴とする請求項３に記載の割り込み支援回路装置。
【請求項５】
前記制御部は、前記キャッシュメモリ制御部により前記データ要求に対応するデータが前記キャッシュメモリから検索されない場合に、前記データ要求に対応するデータを前記メモリインタフェースを介して前記メインメモリから受信し、そのデータを前記ＣＰＵインタフェースを介して前記ＣＰＵに送信することを特徴とする請求項４に記載の割り込み支援回路装置。
【請求項６】
前記キャッシュメモリ制御部は、前記メインメモリから送信された前記割り込み処理に用いるデータを前記キャッシュメモリに格納させる場合に、そのデータの読み出しを有効にして前記キャッシュメモリに格納させ、前記キャッシュメモリに格納されたデータを前記ＣＰＵに送信した場合に、その送信されたデータの読み出しを無効にして前記キャッシュメモリに格納させることを特徴とする請求項３から５のいずれか一項に記載の割り込み支援回路装置。
【請求項７】
前記キャッシュメモリの記憶領域は、複数のチャネルに分割され、
前記キャッシュメモリ制御部は、１種類の割り込みに対応するデータを１つのチャネルに格納させることを特徴とする請求項３から６のいずれか一項に記載の割り込み支援回路装置。
【請求項８】
前記割り込み予測実行部は、
各割り込みの発生間隔をカウントするカウンタと、
前記各割り込みの発生の基準となる基準間隔値を記憶する基準間隔記憶部と、
前記カウンタから出力された所定の割り込みに対応するカウンタ値が、前記基準間隔記憶部に記憶された基準間隔値に対応する場合に、その割り込みに対応する予測信号を生成する予測信号生成部とを備えることを特徴とする請求項３から７のいずれか一項に記載の割り込み支援回路装置。
【請求項９】
前記割り込み予測実行部は、
過去に発生した各割り込みの発生間隔を平均する平均部を備え、
前記基準間隔記憶部は、前記平均部により平均された各割り込みの発生間隔を基準間隔値として記憶することを特徴とする請求項８に記載の割り込み支援回路装置。
【請求項１０】
前記所定の割り込みが周期的割り込みであり、
前記予測信号生成部は、前記カウンタから出力された前記周期的割り込みに対応するカウンタ値が、前記基準間隔記憶部に記憶された前記周期的割り込みに対応する基準間隔値を超える所定時間前に、その周期的割り込みに対応する予測信号を生成することを特徴とする請求項８又は９に記載の割り込み支援回路装置。
【請求項１１】
前記所定の割り込みが、第１の割り込み発生後に所定間隔で発生する関連型割り込みとしての第２の割り込みであり、
前記カウンタは、前記第１の割り込みの発生間隔をカウントし、
前記予測信号生成部は、前記カウンタから出力された前記第１の割り込みに対応するカウンタ値が、前記基準間隔記憶部に記憶された、前記第１の割り込み発生からの前記第２の割り込みの発生間隔に対応する基準間隔値を超える所定時間前に、その第２の割り込みに対応する予測信号を生成することを特徴とする請求項８から１０のいずれか一項に記載の割り込み支援回路装置。
【請求項１２】
前記所定の割り込みがランダムに発生するランダム割り込みであり、
前記カウンタは、発生時間に規則性を有する規則的割り込みの発生間隔をカウントし、
前記予測信号生成部は、前記カウンタから出力されたカウンタ値が、前記基準間隔記憶部に記憶された前記規則的割り込みに対応する基準間隔値を超えた場合に、前記ランダム割り込みに対応する予測信号を生成することを特徴とする請求項８から１１のいずれか一項に記載の割り込み支援回路装置。
【請求項１３】
前記キャッシュメモリ制御部は、前記キャッシュメモリの記憶領域を参照し、前記記憶領域に対する空き領域の割合が所定量以上である場合に、所定の割り込みに対応する投機フェチ要求を生成させるための投機フェチ開始要求を前記投機フェチ制御部に入力することを特徴とする請求項３から１２のいずれか一項に記載の割り込み支援回路装置。
【請求項１４】
ＣＰＵと、
割り込み処理に用いるデータのメインメモリから前記ＣＰＵへの通信を支援する請求項１から１３のいずれか一項に記載の割込み支援回路装置とを備えることを特徴とするマイクロコンピュータ。
【請求項１５】
割り込み処理に用いるデータのメインメモリからＣＰＵへの通信をキャッシュメモリを介して支援する割り込み支援方法であって、
発生する割り込みを予測して、その割り込みの割り込み処理に用いるデータを、前記メインメモリから読み出して前記キャッシュメモリに格納し、前記ＣＰＵからのデータ要求に基づいて、その格納されたデータを前記ＣＰＵに送信することを特徴とする割り込み支援方法。
【請求項１６】
前記予測された割り込みの割り込み処理の開始前に、その割り込み処理に用いるデータを前記キャッシュメモリに格納することを特徴とする請求項１５に記載の割り込み支援方法。
【請求項１７】
発生する割り込みを予測してその割り込みに基づく予測信号を出力し、
前記出力された予測信号に基づいて、予測された割り込みの割り込み処理に用いるデータを読み出すための投機フェチ要求を生成して前記メインメモリに送信し、
前記メインメモリから送信された前記割り込み処理に用いるデータを前記キャッシュメモリに格納させることを備えることを特徴とする請求項１５又は１６に記載の割り込み支援方法。
【請求項１８】
割り込み処理のデータ要求を前記ＣＰＵから受信した場合に、そのデータ要求に対応するデータを前記キャッシュメモリから検索し、検索された場合にそのデータを前記ＣＰＵに送信することを特徴とする請求項１７に記載の割り込み支援方法。
【請求項１９】
前記データ要求に対応するデータが前記キャッシュメモリから検索されない場合に、前記データ要求に対応するデータを前記メインメモリから受信し、そのデータを前記ＣＰＵに送信することを特徴とする請求項１８に記載の割り込み支援方法。
【請求項２０】
前記メインメモリから送信された前記割り込み処理に用いるデータを前記キャッシュメモリに格納させる場合に、そのデータの読み出しを有効にして前記キャッシュメモリに格納させ、前記キャッシュメモリに格納されたデータを前記ＣＰＵに送信した場合に、その送信されたデータの読み出しを無効にして前記キャッシュメモリに格納させることを特徴とする請求項１５から１９のいずれか一項に記載の割り込み支援方法。
【請求項２１】
前記キャッシュメモリの記憶領域は、複数のチャネルに分割され、
１種類の割り込みに対応するデータを１つのチャネルに格納させることを特徴とする請求項１５から２０のいずれか一項に記載の割り込み支援方法。
【請求項２２】
各割り込みの発生間隔をカウントし、
前記カウントされた所定の割り込みに対応するカウンタ値が、前記各割り込みの発生の基準となる基準間隔値に対応する場合に、その割り込みに対応する予測信号を生成することを特徴とする請求項１５から２１のいずれか一項に記載の割り込み支援方法。
【請求項２３】
過去に発生した各割り込みの発生間隔を平均し、
前記平均された各割り込みの発生間隔を基準間隔値とすることを特徴とする請求項２２に記載の割り込み支援方法。
【請求項２４】
前記所定の割り込みが周期的割り込みであり、
前記カウントされた前記周期的割り込みに対応するカウンタ値が、前記周期的割り込みに対応する基準間隔値を超える所定時間前に、その周期的割り込みに対応する予測信号を生成することを特徴とする請求項２２又は２３に記載の割り込み支援方法。
【請求項２５】
前記所定の割り込みが、第１の割り込み発生後に所定間隔で発生する関連型割り込みとしての第２の割り込みであり、
前記第１の割り込みの発生間隔をカウントし、
前記カウントされた前記第１の割り込みに対応するカウンタ値が、前記第１の割り込み発生からの前記第２の割り込みの発生間隔に対応する基準間隔値を超える所定時間前に、その第２の割り込みに対応する予測信号を生成することを特徴とする請求項２２から２４のいずれか一項に記載の割り込み支援方法。
【請求項２６】
前記所定の割り込みがランダムに発生するランダム割り込みであり、
発生時間に規則性を有する規則的割り込みの発生間隔をカウントし、
前記カウントされたカウンタ値が、前記規則的割り込みに対応する基準間隔値を超えた場合に、前記ランダム割り込みに対応する予測信号を生成することを特徴とする請求項２２から２５のいずれか一項に記載の割り込み支援方法。
【請求項２７】
前記キャッシュメモリの記憶領域を参照し、前記記憶領域に対する空き領域の割合が所定量以上である場合に、所定の割り込みに対応する投機フェチ要求を生成させるための投機フェチ開始要求を生成して、その投機フェチ要求を生成させることを特徴とする請求項１７から２６のいずれか一項に記載の割り込み支援方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、割り込みを支援する割り込み支援回路装置及びその割り込み支援装置を有するマイクロコンピュータ並びに割り込み支援方法に関する。
【０００２】
【従来の技術】
従来、マイクロコンピュータにおいて、処理の実行要求が発生した場合に、即座にその処理が実行されるリアルタイムシステムがあった。リアルタイムシステムにおいては、通常処理の実行中に発生する割り込みに応じて、実行する処理をその通常処理から割り込み処理へ所定時間内に切り替える必要がある。例えば、センサが障害物を検知してから規定時間内にその障害物を回避することである。この場合、センサの検知信号の入力が割り込みとして通知される。
【０００３】
また、割り込みに対して素早く対応するための構成が考えられている。その例として、割り込み処理に用いるデータを予めマイクロコンピュータ内部のキャッシュとしての命令ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）に記憶しておき、割り込み発生時にそのデータの読み出し元を、通常時用の命令キャッシュから割り込み用の命令ＲＡＭに切り替えることにより、その割り込み処理実行の応答時間の高速化が実現されていた（例えば、特許文献１参照）。
【０００４】
【特許文献１】
特開２００２−４９６０７号公報
【０００５】
【発明が解決しようとする課題】
しかし、特許文献１に記載の発明では、割り込み用の命令ＲＡＭに記憶されるデータが予め決定されて記憶されてその更新が行われない。このため、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）において、予め命令ＲＡＭに記憶されたデータに対応する割り込み処理しか実行できないという問題があった。これに関して、命令ＲＡＭの容量が限られていることから、その容量に対応する限られた種類の割り込み処理しか実行できないという問題があった。
【０００６】
本発明の課題は、割り込みの種類を限定することなくその割り込み処理の応答時間を短縮することである。
【０００７】
【課題を解決するための手段】
請求項１に記載の発明は、割り込み処理に用いるデータのメインメモリからＣＰＵへの通信を支援する割り込み支援回路装置であって、
前記ＣＰＵとの通信を行うＣＰＵインタフェースと、
前記メインメモリとの通信を行うメモリインタフェースと、
データを記憶するキャッシュメモリを具備し、発生する割り込みを予測して、その割り込みの割り込み処理に用いるデータを、前記メモリインタフェースを介して前記メインメモリから読み出して前記キャッシュメモリに格納し、前記ＣＰＵからのデータ要求に基づいて、その格納されたデータを前記ＣＰＵに送信する割り込み予測部と、
前記ＣＰＵインタフェース及び前記メモリインタフェースを介して、前記ＣＰＵと前記メインメモリとの間の通信を制御する制御部とを備えることを特徴とする。
【０００８】
請求項２に記載の発明は、請求項１に記載の割り込み支援回路装置において、
前記割り込み予測部は、前記予測された割り込みの割り込み処理の開始前に、その割り込み処理に用いるデータを前記キャッシュメモリに格納することを特徴とする。
【０００９】
請求項３に記載の発明は、請求項１又は２に記載の割り込み支援回路装置において、
前記割り込み予測部は、
発生する割り込みを予測してその割り込みに基づく予測信号を出力する割り込み予測実行部と、
前記割り込み予測実行部から出力された予測信号に基づいて、予測された割り込みの割り込み処理に用いるデータを読み出すための投機フェチ要求を生成して前記メインメモリに送信する投機フェチ制御部と、
前記メインメモリから送信された前記割り込み処理に用いるデータを前記キャッシュメモリに格納させるキャッシュメモリ制御部とを備えることを特徴とする。
【００１０】
請求項４に記載の発明は、請求項３に記載の割り込み支援回路装置において、
前記キャッシュメモリ制御部は、各種処理のデータ要求を前記ＣＰＵから前記ＣＰＵインタフェースを介して受信した場合に、そのデータ要求に対応するデータを前記キャッシュメモリから検索し、検索された場合にそのデータを前記ＣＰＵインタフェースを介して前記ＣＰＵに送信することを特徴とする。
【００１１】
請求項５に記載の発明は、請求項４に記載の割り込み支援回路装置において、
前記制御部は、前記キャッシュメモリ制御部により前記データ要求に対応するデータが前記キャッシュメモリから検索されない場合に、前記データ要求に対応するデータを前記メモリインタフェースを介して前記メインメモリから受信し、そのデータを前記ＣＰＵインタフェースを介して前記ＣＰＵに送信することを特徴とする。
【００１２】
請求項６に記載の発明は、請求項３から５のいずれか一項に記載の割り込み支援回路装置において、
前記キャッシュメモリ制御部は、前記メインメモリから送信された前記割り込み処理に用いるデータを前記キャッシュメモリに格納させる場合に、そのデータの読み出しを有効にして前記キャッシュメモリに格納させ、前記キャッシュメモリに格納されたデータを前記ＣＰＵに送信した場合に、その送信されたデータの読み出しを無効にして前記キャッシュメモリに格納させることを特徴とする。
【００１３】
請求項７に記載の発明は、請求項３から６のいずれか一項に記載の割り込み支援回路装置において、
前記キャッシュメモリの記憶領域は、複数のチャネルに分割され、
前記キャッシュメモリ制御部は、１種類の割り込みに対応するデータを１つのチャネルに格納させることを特徴とする。
【００１４】
請求項８に記載の発明は、請求項３から７のいずれか一項に記載の割り込み支援回路装置において、
前記割り込み予測実行部は、
各割り込みの発生間隔をカウントするカウンタと、
前記各割り込みの発生の基準となる基準間隔値を記憶する基準間隔記憶部と、
前記カウンタから出力された所定の割り込みに対応するカウンタ値が、前記基準間隔記憶部に記憶された基準間隔値に対応する場合に、その割り込みに対応する予測信号を生成する予測信号生成部とを備えることを特徴とする。
【００１５】
請求項９に記載の発明は、請求項８に記載の割り込み支援回路装置において、
前記割り込み予測実行部は、
過去に発生した各割り込みの発生間隔を平均する平均部を備え、
前記基準間隔記憶部は、前記平均部により平均された各割り込みの発生間隔を基準間隔値として記憶することを特徴とする。
【００１６】
請求項１０に記載の発明は、請求項８又は９に記載の割り込み支援回路装置において、
前記所定の割り込みが周期的割り込みであり、
前記予測信号生成部は、前記カウンタから出力された前記周期的割り込みに対応するカウンタ値が、前記基準間隔記憶部に記憶された前記周期的割り込みに対応する基準間隔値を超える所定時間前に、その周期的割り込みに対応する予測信号を生成することを特徴とする。
【００１７】
請求項１１に記載の発明は、請求項８から１０のいずれか一項に記載の割り込み支援回路装置において、
前記所定の割り込みが、第１の割り込み発生後に所定間隔で発生する関連型割り込みとしての第２の割り込みであり、
前記カウンタは、前記第１の割り込みの発生間隔をカウントし、
前記予測信号生成部は、前記カウンタから出力された前記第１の割り込みに対応するカウンタ値が、前記基準間隔記憶部に記憶された、前記第１の割り込み発生からの前記第２の割り込みの発生間隔に対応する基準間隔値を超える所定時間前に、その第２の割り込みに対応する予測信号を生成することを特徴とする。
【００１８】
請求項１２に記載の発明は、請求項８から１１のいずれか一項に記載の割り込み支援回路装置において、
前記所定の割り込みがランダムに発生するランダム割り込みであり、
前記カウンタは、発生時間に規則性を有する規則的割り込みの発生間隔をカウントし、
前記予測信号生成部は、前記カウンタから出力されたカウンタ値が、前記基準間隔記憶部に記憶された前記規則的割り込みに対応する基準間隔値を超えた場合に、前記ランダム割り込みに対応する予測信号を生成することを特徴とする。
【００１９】
請求項１３に記載の発明は、請求項３から１２のいずれか一項に記載の割り込み支援回路装置において、
前記キャッシュメモリ制御部は、前記キャッシュメモリの記憶領域を参照し、前記記憶領域に対する空き領域の割合が所定量以上である場合に、所定の割り込みに対応する投機フェチ要求を生成させるための投機フェチ開始要求を前記投機フェチ制御部に入力することを特徴とする。
【００２０】
請求項１４に記載の発明は、
ＣＰＵと、
割り込み処理に用いるデータのメインメモリから前記ＣＰＵへの通信を支援する請求項１から１３のいずれか一項に記載の割込み支援回路装置とを備えるマイクロコンピュータであることを特徴とする。
【００２１】
請求項１５に記載の発明は、割り込み処理に用いるデータのメインメモリからＣＰＵへの通信をキャッシュメモリを介して支援する割り込み支援方法であって、
発生する割り込みを予測して、その割り込みの割り込み処理に用いるデータを、前記メインメモリから読み出して前記キャッシュメモリに格納し、前記ＣＰＵからのデータ要求に基づいて、その格納されたデータを前記ＣＰＵに送信することを特徴とする。
【００２２】
請求項１又は１５に記載の発明によれば、予測された割り込みの割り込み処理に用いるデータを、読み出し速度の速いキャッシュメモリに格納して、データ要求に基づいてそのデータをＣＰＵに送信するので、割り込みが発生した場合にＣＰＵがすみやかに割り込み処理で用いるデータを取得して割り込み処理を実行でき、割り込み処理の種類を限定することなく割り込み処理の応答時間を短縮することができる。
【００２３】
請求項１６に記載の発明は、請求項１５に記載の割り込み支援方法において、
前記予測された割り込みの割り込み処理の開始前に、その割り込み処理に用いるデータを前記キャッシュメモリに格納することを特徴とする。
【００２４】
請求項２又は１６に記載の発明によれば、予測された割り込みの割り込み処理の開始前に、その割り込み処理に用いるデータを読み出し速度の速いキャッシュメモリに格納するので、割り込み処理の応答時間を短縮することができる。
【００２５】
請求項１７に記載の発明は、請求項１５又は１６に記載の割り込み支援方法において、
発生する割り込みを予測してその割り込みに基づく予測信号を出力し、
前記出力された予測信号に基づいて、予測された割り込みの割り込み処理に用いるデータを読み出すための投機フェチ要求を生成して前記メインメモリに送信し、
前記メインメモリから送信された前記割り込み処理に用いるデータを前記キャッシュメモリに格納させることを備えることを特徴とする。
【００２６】
請求項３又は１７に記載の発明によれば、発生する割り込みを予測して、その予測信号に基づいて投機フェチ要求を生成してメインメモリに送信し、メインメモリから送信された、その投機フェチ要求に対応する前記割り込み処理に用いるデータをキャッシュメモリに格納させることができる。
【００２７】
請求項１８に記載の発明は、請求項１７に記載の割り込み支援方法において、
割り込み処理のデータ要求を前記ＣＰＵから受信した場合に、そのデータ要求に対応するデータを前記キャッシュメモリから検索し、検索された場合にそのデータを前記ＣＰＵに送信することを特徴とする請求項１７に記載の割り込み支援方法。
【００２８】
請求項４又は１８に記載の発明によれば、各種処理のデータ要求をＣＰＵから受信し、そのデータ要求に対応するデータを、読み出し速度の速いキャッシュメモリから検索してＣＰＵに送信するので、ＣＰＵにおいて各種処理の応答速度を高めることができる。
【００２９】
請求項１９に記載の発明は、請求項１８に記載の割り込み支援方法において、
前記データ要求に対応するデータが前記キャッシュメモリから検索されない場合に、前記データ要求に対応するデータを前記メインメモリから受信し、そのデータを前記ＣＰＵに送信することを特徴とする。
【００３０】
請求項５又は１９に記載の発明によれば、キャッシュメモリからデータ要求に対応するデータが検索されない場合に、そのデータをメインメモリからＣＰＵへ直接送信させるので、キャッシュメモリにデータを記憶する動作負担の増大を防ぎ、ＣＰＵにおいて各種処理の応答時間を短縮することができる。
【００３１】
請求項２０に記載の発明は、請求項１５から１９のいずれか一項に記載の割り込み支援方法において、
前記メインメモリから送信された前記割り込み処理に用いるデータを前記キャッシュメモリに格納させる場合に、そのデータの読み出しを有効にして前記キャッシュメモリに格納させ、前記キャッシュメモリに格納されたデータを前記ＣＰＵに送信した場合に、その送信されたデータの読み出しを無効にして前記キャッシュメモリに格納させることを特徴とする。
【００３２】
請求項６又は２０に記載の発明によれば、読み出しが有効か無効かの旨とともにデータがキャッシュメモリに格納されるので、キャッシュメモリの無効なデータをクリアして有効なデータを格納させ、キャッシュメモリ上の有効なデータの記憶効率を高めることができる。
【００３３】
請求項２１に記載の発明は、請求項１５から２０のいずれか一項に記載の割り込み支援方法において、
前記キャッシュメモリの記憶領域は、複数のチャネルに分割され、
１種類の割り込みに対応するデータを１つのチャネルに格納させることを特徴とする。
【００３４】
請求項７又は２１に記載の発明によれば、複数のチャネルそれぞれに、１種類の割り込みに対応するデータを格納させるので、チャネルを管理して、キャッシュメモリ上に同一の割り込みに対応する複数のデータを無駄に記憶させることを防ぐことができる。
【００３５】
請求項２２に記載の発明は、請求項１５から２１のいずれか一項に記載の割り込み支援方法において、
各割り込みの発生間隔をカウントし、
前記カウントされた所定の割り込みに対応するカウンタ値が、前記各割り込みの発生の基準となる基準間隔値に対応する場合に、その割り込みに対応する予測信号を生成することを特徴とする。
【００３６】
請求項８又は２２に記載の発明によれば、所定の割り込みに対応するカウンタ値が、その割り込みの基準間隔値に対応する場合に、その割り込みに対応する予測信号を生成するので、基準間隔値に基づいて発生時間に規則性を有する又は有しない割り込み処理を予測して予測信号を生成することができる。
【００３７】
請求項２３に記載の発明は、請求項２２に記載の割り込み支援方法において、
過去に発生した各割り込みの発生間隔を平均し、
前記平均された各割り込みの発生間隔を基準間隔値とすることを特徴とする。
【００３８】
請求項９又は２３に記載の発明によれば、過去に発生した所定の割り込みの発生間隔を平均して基準間隔値とするので、現在までの発生傾向を含む基準間隔値により、より正確に割り込みを予測して予測信号を生成することができる。
【００３９】
請求項２４に記載の発明は、請求項２２又は２３に記載の割り込み支援方法において、
前記所定の割り込みが周期的割り込みであり、
前記カウントされた前記周期的割り込みに対応するカウンタ値が、前記周期的割り込みに対応する基準間隔値を超える所定時間前に、その周期的割り込みに対応する予測信号を生成することを特徴とする。
【００４０】
請求項１０又は２４に記載の発明によれば、所定の周期的割り込みに対応するカウンタ値が、その周期的割り込みに対応する基準間隔値を超える所定時間前に、その周期的割り込みに対応する予測信号を生成するので、周期的割り込みを予測して予測信号を生成することができる。
【００４１】
請求項２５に記載の発明は、請求項２２から２４のいずれか一項に記載の割り込み支援方法において、
前記所定の割り込みが、第１の割り込み発生後に所定間隔で発生する関連型割り込みとしての第２の割り込みであり、
前記第１の割り込みの発生間隔をカウントし、
前記カウントされた前記第１の割り込みに対応するカウンタ値が、前記第１の割り込み発生からの前記第２の割り込みの発生間隔に対応する基準間隔値を超える所定時間前に、その第２の割り込みに対応する予測信号を生成することを特徴とする。
【００４２】
請求項１１又は２５に記載の発明によれば、所定の第１の割り込みに対応するカウンタ値が、その第１の割り込み発生からの第２の割り込みの発生間隔に対応する基準間隔値を超える所定時間前に、その第２の割り込みに対応する予測信号を生成するので、関連型割り込みを予測して予測信号を生成することができる。
【００４３】
請求項２６に記載の発明は、請求項２２から２５のいずれか一項に記載の割り込み支援方法において、
前記所定の割り込みがランダムに発生するランダム割り込みであり、
発生時間に規則性を有する規則的割り込みの発生間隔をカウントし、
前記カウントされたカウンタ値が、前記規則的割り込みに対応する基準間隔値を超えた場合に、前記ランダム割り込みに対応する予測信号を生成することを特徴とする。
【００４４】
請求項１２又は２６に記載の発明によれば、規則的割り込みに対応するカウンタ値が、規則的割り込みに対応する基準間隔値を超えた場合に、ランダム割り込みの種類に対応する予測信号を生成するので、ランダム割り込みを予測して予測信号を生成することができる。
【００４５】
請求項２７に記載の発明は、請求項１７から２６のいずれか一項に記載の割り込み支援方法において、
前記キャッシュメモリの記憶領域を参照し、前記記憶領域に対する空き領域の割合が所定量以上である場合に、所定の割り込みに対応する投機フェチ要求を生成させるための投機フェチ開始要求を生成して、その投機フェチ要求を生成させることを特徴とする。
【００４６】
請求項１３又は２７に記載の発明によれば、キャッシュメモリの記憶領域に対する空き領域の割合が所定量以上である場合に、投機フェチ開始要求を生成してその投機フェチ要求を生成させるので、その投機フェチ開始要求に対応するデータがキャッシュメモリに記憶されて、キャッシュメモリ上のデータの記憶効率を高め、割り込み処理に対応するデータをキャッシュメモリから読み出す確率を高めて、割り込み処理の応答速度をさらに高めることができる。
【００４７】
請求項１４に記載の発明によれば、請求項１から１３のいずれか一項に記載の割り込み支援回路装置を用いるので、請求項１から１３のいずれか一項の効果とともに、ＣＰＵで実行される割り込み処理の種類を限定することなくその応答時間を短縮することができる。
【００４８】
【発明の実施の形態】
以下、添付図面を参照して、本発明に係る第１、第２及び第３の実施の形態並びに変形例を順に説明する。
【００４９】
（第１の実施の形態）
図１〜図６を参照して第１の実施の形態を説明する。先ず、図１〜図４を参照して、本実施の形態の装置の特長を説明する。図１は、本実施の形態のマイクロコンピュータ１の構成を示す図である。図２は、割り込み予測部２４の内部構成を示す図である。図３は、本実施の形態における割り込み予測実行部２４１の内部構成を示す図である。図４は、キャッシュメモリ２４２に記憶されるデータの構成を示す図である。
【００５０】
図１に示すように、本実施の形態に係るマイクロコンピュータ１は、各種データを記憶するＲＡＭなどのメインメモリ３０とデータが送受信可能に接続されている。マイクロコンピュータ１は、ＣＰＵコア１０と、割り込みが発生した場合にＣＰＵコア１０における割り込み処理の実行を支援する割り込み支援回路装置としての割り込み支援ブロック２０とを備える。ＣＰＵコア１０は、図示しないが、各種データを記憶する内蔵キャッシュと、各種データを用いて各種演算を行う演算部とを有する。
【００５１】
ＣＰＵコア１０とは、ＣＰＵの中心部分である。ＣＰＵコア１０のみにより、あるいはＣＰＵコア１０と２次キャッシュなどの周辺回路とによりＣＰＵが構成される。本実施の形態では、ＣＰＵコア１０を用いて説明するが、ＣＰＵコア１０に代えてＣＰＵとして構成してもよい。
【００５２】
一般に、割り込みの種類として、周期的に発生する割り込みや、ある所定の割り込みの発生後に、その割り込みに対応して発生する別の所定の割り込みや、発生の時間的に規則性のないランダムな割り込みなどがある。本実施の形態において、割り込みとして、所定の時間間隔で周期的に発生する周期的割り込みを扱うものとする。
【００５３】
割り込み支援ブロック２０は、各部を制御する制御部２１と、ＣＰＵコア１０との通信を介するＣＰＵインタフェース２２と、ＣＰＵコア１０−ＣＰＵインタフェース２２間で送受信されるデータ信号の増幅を行うバッファアンプ２３ａ，２３ｂと、起こり得る割り込みを予測して、その予測された割り込みの割り込み処理に用いるデータを格納する割り込み予測部２４と、データの通信路を選択するセレクタ２５，２６と、メインメモリ３０との通信を介するメモリインタフェース２７と、メインメモリ３０−メモリインタフェース２７間で送受信されるデータ信号の増幅を行うバッファアンプ２８ａ，２８ｂとを備える。
【００５４】
ＣＰＵコア１０からＣＰＵインタフェース２２へ送信されるデータ信号は、バッファアンプ２３ａにより増幅される。ＣＰＵインタフェース２２からＣＰＵコア１０へ送信されるデータ信号は、バッファアンプ２３ｂにより増幅される。また、メモリインタフェース２７からメインメモリ３０へ送信されるデータ信号は、バッファアンプ２８ａにより増幅される。メインメモリ３０からメモリインタフェース２７へ送信されるデータ信号は、バッファアンプ２８ｂにより増幅される。
【００５５】
割り込み予測部２４は、ＣＰＵインタフェース２２と、セレクタ２６と接続されて、ＣＰＵインタフェース２２（ＣＰＵコア１０側）からのデータ信号が入力され、セレクタ２６（メインメモリ３０側）へのデータ信号を出力する。また、割り込み予測部２４は、メモリインタフェース２７と、セレクタ２５と接続されて、メモリインタフェース２７（メインメモリ３０側）からのデータ信号が入力され、セレクタ２５（ＣＰＵコア１０側）へのデータ信号を出力する。
【００５６】
セレクタ２６は、ＣＰＵインタフェース２２からメモリインタフェース２７へのデータ送信路を、割り込み予測部２４を経由する伝送路と、割り込み予測部２４を経由しないバイパスＢＰ１とから選択する。セレクタ２５は、メモリインタフェース２７からＣＰＵインタフェース２２へのデータ送信路を、割り込み予測部２４を経由する伝送路と、割り込み予測部２４を経由しないバイパスＢＰ２とから選択する。また、割り込みが発生した場合の割り込み信号は、ＣＰＵコア１０と割り込み予測部２４とに入力される。セレクタ２５，２６は、制御部２１により制御される。
【００５７】
図２に示すように、割り込み予測部２４は、実際に割り込み予測を行ってその予測された割り込みを示す予測信号を出力する割り込み予測実行部２４１と、割り込み処理に用いるデータ（以下、割り込み用データとする）を記憶するキャッシュメモリ２４２と、キャッシュメモリ２４２に記憶されたデータの検索及びキャッシュメモリ２４２の制御を行う検索制御部２４３と、予めメインメモリ３０から投機フェチ（予測された割り込みの割り込み用データの読み出し）を行ってキャッシュメモリ２４２に新たな割り込み用データを記憶させるか否かを判別するプリフェチ判別部２４４と、投機フェチを行う場合に投機フェチ用の投機フェチ要求を生成する投機フェチ部２３５と、割り込み予測と直接割り込みとの割り込み用データの読み出しの優先順位を管理する調停部２４６とを備える。
【００５８】
検索制御部２４３とプリフェチ判別部２４４とをまとめて、キャッシュメモリ制御部２４Ａとする。また、投機フェチ生成部２４５と調停部２４６とをまとめて、投機フェチ制御部２４Ｂとする。
【００５９】
図３に示すように、割り込み予測実行部２４１は、割り込み信号を受信することをトリガとしてカウントを行うカウンタ４１Ａと、カウンタ４１Ａのカウンタ値に所定単位時間ごとに所定数をインクリメントする加算部４２Ａと、割り込みの予測の基準となる基準間隔値を記憶する基準間隔記憶部４３Ａと、基準間隔記憶部４３Ａに記憶された基準間隔値とカウンタ４１Ａから出力されたカウント値との平均値を算出して出力する平均部４４Ａと、基準間隔記憶部４３Ａに記憶された基準間隔値とカウンタ４１Ａから出力されたカウント値との比較に基づいて、投機フェチを行わせるための予測信号を出力する予測信号生成部４５Ａとを備える。
【００６０】
カウンタ４１Ａは、割り込み信号を受信した場合にカウンタ値がリセットされる。また、カウンタ４１Ａは、時間経過とともにカウンタ値が加算部４２Ａにより所定時間単位づつインクリメントされる。また、カウンタ４１Ａは、割り込み信号の入力とともにリセット直前のカウンタ値を平均部４４Ａに出力し、また、常にカウンタ値を予測信号生成部４５Ａに出力する。平均部４４Ａは、初回に入力されたカウンタ値を基準間隔記憶部４３Ａにそのまま出力する。
【００６１】
基準間隔記憶部４３Ａは、初回に入力されたカウンタ値を基準間隔値として記憶する。また、基準間隔記憶部４３Ａは、割り込み信号を受信した場合に、記憶されている基準間隔値を平均部４４Ａ及び予測信号生成部４５Ａに出力する。平均部４４Ａは、割り込み発生によって２回目以降に入力されたカウンタ値と、基準間隔記憶部４３Ａから入力された基準間隔値との平均値を算出し、その平均値を基準間隔記憶部４３Ａに出力する。基準間隔記憶部４３Ａは、入力された平均値を基準間隔値として記憶する。
【００６２】
基準間隔値は、周期的な割り込みが過去に発生した間隔の平均値を示し、次にいつ周期的な割り込みが発生かを予測する目安となる。予測信号生成部４５Ａは、入力されたカウンタ値と基準間隔値とを比較し、カウンタ値が基準間隔値を経過する所定時間前に予測信号を生成し、検索制御部２４３及び投機フェチ生成部２４５に出力する。予測信号には、発生が予測される割り込みに対応する割り込み処理に用いる命令データなどのデータの種類が含まれる。
【００６３】
周期的に発生する周期的割り込みは、複数種類存在する。その種類が異なる割り込みどうしは、周期が異なるものもあれば、周期が同じものもある。割り込みの種類が異なれば、たとえ周期が同じでも発生のタイミングは異なる。よって、カウンタ４１Ａに記憶されるカウンタ値と、基準間隔記憶部４３Ａに記憶される基準間隔値とは、割り込みの種類ごとに別々に管理される。予測信号生成部４５Ａは、異なる割り込みの種類ごとに別々に予測信号を出力する。
【００６４】
検索制御部２４３は、バッファアンプ２３ａ及びＣＰＵインタフェース２２を介して、ＣＰＵコア１０から各種処理に用いるデータのデータ要求を受信し、また、割り込み予測実行部２４１の予測信号生成部４５Ａから予測信号が入力される。各種処理とは、割り込み処理と、割り込み処理以外の通常処理とを含める。検索制御部２４３は、入力された予測信号に対応する割り込み用データを格納するチャネルをキャッシュメモリ２４２から選択する。また、検索制御部２４３は、受信したＣＰＵコア１０からのデータ要求に対応するデータをキャッシュメモリ２４２から検索する。
【００６５】
キャッシュメモリ２４２は、記憶領域が複数のチャネルＣ０〜Ｃｎ（但し、ｎは自然数）に分割されている。各チャネルには、各割り込みに用いる命令データなどの割り込み用データが別々に格納される。各チャネルには、記憶領域単位である記憶ブロックを少なくとも１つ有し、１種類の割り込みに対応する割り込み用データを格納する。各チャネルは、１種類の割り込みに対応する１又は複数のデータを格納する。
【００６６】
キャッシュメモリ２４２に記憶される割り込み用データは、例えば、図４に示すようなデータ構成となる。各チャネルに、格納されている割り込み用データの読み出しが有効か無効かを示す有効フラグと、格納されている割り込み用データ内の１又は複数のデータの内容とが記憶される。有効フラグは、格納されている割り込み用データが有効である場合が１であり、格納されている割り込み用データが無効である場合が０であるものとする。
【００６７】
また、検索制御部２４３は、バッファアンプ２８ｂ及びメモリインタフェース２７を介してメインメモリ３０から送信された割り込み用データの、キャッシュメモリ２４２内の格納先のチャネルを選択する。選択されるチャネルは、データが格納されていないチャネルや、有効フラグが無効（＝０）になっているチャネルである（以下、これらのチャネルを空きチャネルとする）。また、検索制御部２４３は、選択したチャネルをクリアし、メインメモリ３０から送信されたデータを、そのクリアされたチャネル内へ格納させる制御を行い、その格納されたデータの有効フラグを１（有効）にする。
【００６８】
また、検索制御部２４３は、ＣＰＵコア１０からの信号により、要求された割り込み処理に対応するデータをキャッシュメモリ２４２内から検索し、検索された場合に、セレクタ２５、ＣＰＵインタフェース２２及びバッファアンプ２３ｂを介して、その検索されたデータをキャッシュメモリ２４２からＣＰＵコア１０へ送信させる制御を行い、その送信されたデータの有効フラグを０（無効）にする。
【００６９】
プリフェチ判別部２４４は、常にキャッシュメモリ２４２のチャネルＣ０〜Ｃｎのデータの格納状態を調べ、空きチャネルが予め設定された所定数よりも多いか否かを判別する。空きチャネルが所定数以上の場合に、プリフェチ判別部２４４は、検索制御部２４３から各チャネルに対応付けられる割り込みの種類が入力されて、空きチャネルに対応する割り込みの種類を含む投機フェチ開始要求を生成して投機フェチ生成部２４５に入力する。
【００７０】
投機フェチ生成部２４５は、割り込み予測実行部２４１の予測信号生成部４５Ａから予測信号が入力され、また、空きチャネルが所定数以上の場合にプリフェチ判別部２４４から投機フェチ開始要求が入力される。投機フェチ生成部２４５は、入力された予測信号に含まれる割り込みの種類に対応する投機フェチ要求を生成して調停部２４６に入力する。また、投機フェチ生成部２４５は、入力された投機フェチ開始要求に含まれる割り込みの種類に対応する投機フェチ要求を生成して調停部２４６に入力する。
【００７１】
調停部２４６は、バッファアンプ２３ａ及びＣＰＵインタフェース２２を介して、ＣＰＵコア１０からの各種処理に用いるデータのデータ要求を受信し、割り込み予測実行部２４１の予測信号生成部４５Ａから投機フェチ要求が入力される。そのデータ要求と、その投機フェチ要求とのどちらを、メインメモリ３０に送信するかの調停がとられる。調停部２４６は、例えば、データ要求に対応するデータが、検索制御部２４３によりキャッシュメモリ２４２から読み出されてＣＰＵコア１０側へ既に送信された場合に、入力されたデータ要求を破棄し、セレクタ２６、メモリインタフェース２７及びバッファアンプ２８ａを介して、投機フェチ要求をメインメモリ３０に送信する。調停部２４６は、例えば、データ要求に対応するデータがキャッシュメモリ２４２からＣＰＵコア１０側へ既に送信されていない場合に、入力されたデータ要求を優先し、セレクタ２６、メモリインタフェース２７及びバッファアンプ２８ａを介して、データ要求をメインメモリ３０に送信し、その送信後、投機フェチ要求をメインメモリ３０に送信する。
【００７２】
次に、図５〜図９を参照して、マイクロコンピュータ１の割り込み支援ブロック２０における動作を説明する。図５は、投機フェチ処理を示すフローチャートである。図６は、プリフェチ処理を示すフローチャートである。図７は、読み出し処理を示すフローチャートである。図８は、１つの割り込みに対するマイクロコンピュータ１の動作の流れの一例を示す図である。図９は、２つの割り込みに対するマイクロコンピュータ１の動作の流れの一例を示す図である。
【００７３】
先ず、図５を参照して、割り込み支援ブロック２０において周期的割り込みを予測し、その予測された割り込みの割り込み用データをメインメモリ３０から取り込み（投機フェチし）キャッシュメモリ２４２に格納させる投機フェチ処理を説明する。投機フェチ処理は、例えば、マイクロコンピュータ１を搭載する機器の起動をトリガとして実行される。マイクロコンピュータ１を搭載する機器の起動前には、キャッシュメモリ２４２にデータが格納されておらず、割り込みの種類とチャネルとの対応付けもされていないものとする。
【００７４】
割り込みの発生により、随時、割り込み予測実行部２４１内のカウンタ４１Ａ及び基準間隔記憶部４３Ａに割り込み信号が入力される。図５に示すように、先ず、予測信号生成部４５Ａにより、カウンタ４１Ａに記憶された各割り込みに対応するカウンタ値が基準間隔記憶部４３Ａに記憶された基準間隔値−所定時間を超えたか否かが判別される（ステップＳ１１）。基準間隔値が経過した場合に次の割り込みが発生するので、その所定時間前に、割り込み用データのキャッシュメモリ２４２への割り込みデータの格納処理を開始するためである。カウンタ値が基準間隔値−所定時間を超えていない場合（ステップＳ１１；ＮＯ）、ステップＳ１１に移行される。
【００７５】
カウンタ値が基準間隔値−所定時間を超えた場合（ステップＳ１１；ＹＥＳ）、予測信号生成部４５Ａにより、そのカウンタ値の割り込みに対応して割り込みの種類を含む予測信号が生成されて、検索制御部２４３及び投機フェチ生成部２４５に入力される（ステップＳ１２）。そして、検索制御部２４３により、入力された予測信号に含まれる割り込みの種類に対応するキャッシュメモリ２４２のチャネルが選択される（ステップＳ１３）。つまり、どの種類の割り込みを、どのチャネルに格納するかが設定され、その対応関係が以後、仮に固定される。また、選択されたチャネルは、検索制御部２４３によりデータ内容がクリアされる。また、ステップＳ１３において、既に割り込みの種類とチャネルとが設定されている場合に、それらを再設定する構成でもよい。
【００７６】
そして、投機フェチ生成部２４５により、入力された予測信号に含まれる割り込みの種類に対応する投機フェチ要求が生成されて調停部２４６に送信される。調停部２４６により、その投機フェチ要求と、ＣＰＵコア１０からのデータ要求との調停がとられ、投機フェチ要求を送信する順番がまわってきた場合に、投機フェチ要求がセレクタ２６、メモリインタフェース２７及びバッファアンプ２８ａを介してメインメモリ３０に送信される（ステップＳ１４）。
【００７７】
メインメモリ３０において、受信した投機フェチ要求に基づく割り込み用データが読み出されて、割り込み支援ブロック２０に送信される。そして、キャッシュメモリ２４２により、割り込み用データがバッファアンプ２８ｂ及びメモリインタフェース２７を介してメインメモリ３０から受信される。そして、検索制御部２４３により、ステップＳ１３において選択されたチャネルに基づいて、割り込み用データをキャッシュメモリ２４２のチャネルに格納させ（ステップＳ１５）、投機フェチ処理が終了される。
【００７８】
次に、図６を参照して、割り込み支援ブロック２０において、割り込み用データの読み出しに備えて、予め割り込み用データをメインメモリ３０から取り込み（プリフェチし）キャッシュメモリ２４２に格納させるプリフェチ処理を説明する。プリフェチ処理は、所定の時間間隔で周期的に実行される処理とする。例えば、初回は、マイクロコンピュータ１を搭載する機器の起動をトリガとして実行される。
【００７９】
図６に示すように、先ず、プリフェチ判別部２４４により、キャッシュメモリ２４２内の空きチャネルが認識され、その空きチャネルの数が所定数以上であるか否かが判別される（ステップＳ２１）。空きチャネルの数が所定数以上でない場合（ステップＳ２１；ＮＯ）、プリフェチ処理が終了される。
【００８０】
空きチャネルの数が所定数以上である場合（ステップＳ２１；ＹＥＳ）、プリフェチ判別部２４４により、その空きチャネルが割り込み処理の種類に対応付けて設定されているか否かが判別される（ステップＳ２２）。具体的には、既に実行された図５のステップＳ１３のチャネルの選択時に、空きチャネルに割り込みの種類が対応付けられているか否かが判別される。空きチャネルが設定されていない場合（ステップＳ２２；ＮＯ）、プリフェチ処理が終了される。
【００８１】
空きチャネルが設定されていている場合（ステップＳ２２；ＹＥＳ）、プリフェチ判別部２４４により、割り込みの種類が対応付けられている空きチャネルが１つ選択され、その空きチャネルとその割り込みの種類とに基づいて、その割り込みの種類を含む投機フェチ開始要求が生成されて投機フェチ生成部２４５に入力される（ステップＳ２３）。そして、投機フェチ生成部２４５により、入力された投機フェチ開始要求に含まれる割り込み処理の種類に対応する投機フェチ要求が生成されてメモリインタフェース２７及びバッファアンプ２８ａを介してメインメモリ３０に送信される（ステップＳ２４）。ステップＳ２４は、図５のステップＳ１４と同様の処理である。
【００８２】
そして、検索制御部２４３により、メインメモリ３０から受信された割り込み用データを、ステップＳ２３において選択されたキャッシュメモリ２４２の空きチャネルに格納させ（ステップＳ２５）、プリフェチ処理が終了される。ステップＳ２５は、図５のステップＳ１５と同様の処理である。
【００８３】
次に、図７を参照して、割り込み支援ブロック２０において、ＣＰＵコア１０において実行する各種処理に用いるデータ（ここでは、読み出しデータとする）を読み出す読み出し処理を説明する。ＣＰＵコア１０から送信された読み出しデータのデータ要求を、バッファアンプ２３ａ及びＣＰＵインタフェース２２を介して制御部２１が受信したことをトリガとして、割り込み支援ブロック２０において、読み出し処理が実行される。また、ＣＰＵコア１０から送信されたデータ要求が、バッファアンプ２３ａ及びＣＰＵインタフェース２２を介して、検索制御部２４３及び調停部２４６で受信される。
【００８４】
図７に示すように、先ず、検索制御部２４３により、データ要求に対応する読み出しデータがキャッシュメモリ２４２から検索される（ステップＳ３１）。そして、検索制御部２４３により、ステップＳ３１において、読み出しデータがキャッシュメモリ２４２から検索されたか否か（キャッシュメモリ２４２に格納されているか否か）が判別される（ステップＳ３２）。
【００８５】
読み出しデータがキャッシュメモリ２４２に格納されている場合（ステップＳ３２；ＹＥＳ）、検索制御部２４３により、読み出しデータがキャッシュメモリ２４２から読み出され、その読み出しデータが、セレクタ２５、ＣＰＵインタフェース２２及びバッファアンプ２３ｂを介してＣＰＵコア１０に送信される（ステップＳ３３）。
【００８６】
そして、検索制御部２４３により、キャッシュメモリ２４２において、読み出されたチャネルに対応する有効フラグが無効に設定される（ステップＳ３４）。また、調停部２４６により、ＣＰＵコア１０側から送信されたデータ要求が破棄される。そして、読み出し処理が終了される。
【００８７】
読み出しデータがキャッシュメモリ２４２に格納されていない場合（ステップＳ３２；ＮＯ）、調停部２４６により、ＣＰＵコア１０側から送信されたデータ要求が、セレクタ２６、メモリインタフェース２７及びバッファアンプ２８ａを介してメインメモリ３０に送信される（ステップＳ３６）。
【００８８】
メインメモリ３０において、受信したデータ要求に含まれる割り込みの種類に対応する読み出しデータが読み出されて、割り込み支援ブロック２０に送信される。そして、制御部２１により、読み出しデータがバッファアンプ２８ｂ、メモリインタフェース２７、バイパスＢＰ２、セレクタ２５、ＣＰＵインタフェース２２及びバッファアンプ２３ｂを介してＣＰＵコア１０へ送信され（ステップＳ３６）、読み出し処理が終了される。
【００８９】
なお、ＣＰＵコア１０において割り込み処理以外の通常処理が行われる場合に、その通常処理で用いるデータを、キャッシュメモリ２４２から検索及び読出ししない構成でもよい。この場合、その通常処理で用いるデータのデータ要求は、ＣＰＵコア１０から、バッファアンプ２３ａ、ＣＰＵインタフェース２２、バイパスＢＰ１、セレクタ２６、メモリインタフェース２７及びバッファアンプ２８ａを順に介してメインメモリ３０に送信される。
【００９０】
以上で説明した投機フェチ処理、プリフェチ処理及び読み出し処理は、それぞれ１種類の割り込みについての動作の流れである。実際には、複数種類の割り込みについての動作について、各割り込みについての動作がそれぞれ独立して行われることとなる。その際、各割り込みについての動作が重複して行われてもよい。
【００９１】
また、図には示さないが、ＣＰＵコア１０で各種処理が実行される場合に、実行中の処理で用いるデータ（以下、書き込みデータとする）をＣＰＵコア１０の内蔵キャッシュから一時的に退避させてメインメモリ３０に記憶させる場合がある。先ず、ＣＰＵコア１０から書き込みデータが割り込み支援ブロック２０に送信される。そして、制御部２１により、ＣＰＵコア１０から送信された書き込みデータが、バッファアンプ２３ａ、ＣＰＵインタフェース２２、バイパスＢＰ１、セレクタ２６、メモリインタフェース２７及びバッファアンプ２８ａを介して、メインメモリ３０に送信される。そして、メインメモリ３０により、受信された書き込みデータが記憶される。
【００９２】
ここで、図８を参照して、ＣＰＵコア１０における通常処理の実行中に、１つの割り込みが発生した場合におけるマイクロコンピュータ１の動作の流れの一例を説明する。図８の上から下方に時間が流れているものとし、１つの種類の割り込みを割り込みＩ１とする。
【００９３】
図８に示すように、先ず、ＣＰＵコア１０において通常処理が実行されている。▲１▼において、割り込み予測部２４により割り込みＩ１に対応する予測信号が生成され、その投機フェチ要求が生成されてメインメモリ３０に送信される（図５のステップＳ１１〜Ｓ１４に対応）。そして▲２▼において、メインメモリ３０により、割り込みＩ１に対応する割り込み用データが読み出されて割り込み支援ブロック２０に送信される。そして、割り込み予測部２４により、割り込み用データが受信されてキャッシュメモリ２４２に格納される（図５のステップＳ１５に対応）。
【００９４】
そして、▲３▼において、割り込みＩ１が発生し、割り込みＩ１に対応する割り込み信号がＣＰＵコア１０と割り込み予測部２４とに送信される。そして、▲４▼において、割り込み予測部２４により割り込みＩ１に対応する割り込み用データが、読み出し速度の速いキャッシュメモリ２４２から読み出されてＣＰＵコア１０に送信される（図７のステップＳ３１〜Ｓ３４に対応）。よって、割り込みＩ１の割り込み処理を応答時間を短縮して実行することができる。
【００９５】
次に、図９を参照して、ＣＰＵコア１０における通常処理の実行中に、２種類の割り込みが発生した場合におけるマイクロコンピュータ１の動作の流れの一例を説明する。２つの種類の割り込みは、周期の異なる別の種類で、それぞれ割り込みＩ１，Ｉ２とし、割り込みＩ１が割り込みＩ２よりも優先順位が高いものとする。
【００９６】
図９に示すように、▲５▼において、図８の▲１▼と同様に、割り込み予測部２４により、割り込みＩ１，Ｉ２に対応する予測信号が順に別々に生成され、その投機フェチ要求が生成されてメインメモリ３０に送信される。また、割り込みＩ１の割り込み用データの格納先は、キャッシュメモリ２４２のチャネルＣ１とし、割り込みＩ１の割り込み用データの格納先は、チャネルＣ２であると設定されたものとする。
【００９７】
そして、▲６▼において、図８の▲２▼と同様に、割り込み予測部２４において、割り込みＩ１，Ｉ２に対応する割り込み用データがメインメモリ３０から受信されて、それぞれ、キャッシュメモリ２４２のチャネルＣ１，Ｃ２に格納される。そして、▲７▼において、図８の▲３▼と同様に、割り込みＩ１，Ｉ２が順に発生して、その割り込み信号がＣＰＵコア１０及び割り込み予測部２４に送信される。
【００９８】
そして、▲８▼において、図８の▲４▼と同様に、割り込みＩ１に対応する割り込み用データがＣＰＵコア１０に送信され、割り込みＩ１に対応する割り込み処理が実行される。優先順位の低い割り込みＩ２に対応する割り込み用データは、割り込みＩ１に対応する割り込み処理の実行後にＣＰＵコア１０に送信され、割り込みＩ２に対応する割り込み処理が実行される。
【００９９】
よって、本実施の形態によれば、予測された割り込みの割り込み用データを、その割り込み処理の開始前に、読み出し速度の速いキャッシュメモリ２４２に格納して、データ要求に基づいてその割り込み用データをＣＰＵコア１０に送信するので、割り込みが発生した場合にＣＰＵコア１０がすみやかに割り込み用データを取得して割り込み処理を実行でき、割り込み処理の種類を限定することなく割り込み処理の応答時間を短縮することができる。
【０１００】
また、各種処理のデータ要求をＣＰＵコア１０から受信し、そのデータ要求に対応するデータを、読み出し速度の速いキャッシュメモリ２４２から検索してＣＰＵコア１０に送信するので、ＣＰＵコア１０において各種処理の応答速度を高めることができる。また、キャッシュメモリ２４２からデータ要求に対応するデータが検索されない場合に、そのデータをメインメモリ３０からＣＰＵコア１０へ直接送信させるので、キャッシュメモリ３０にデータを記憶させる動作負担の増大を防ぎ、ＣＰＵコア１０において各種処理の応答時間を短縮することができる。
【０１０１】
また、有効フラグにより読み出しが有効か無効かの旨とともにデータがキャッシュメモリ２４２に格納されるので、キャッシュメモリ２４２の無効な割り込み用データをクリアして有効なデータを格納させ、キャッシュメモリ２４２の有効な割り込み用データの記憶効率を高めることができる。
【０１０２】
また、複数のチャネルＣ０〜Ｃｎそれぞれに、１種類の割り込みに対応する割り込み用データを格納させるので、チャネルを管理して、キャッシュメモリ２４２上に同一の割り込みに対応する複数の割り込み用データを無駄に記憶させることを防ぐことができる。
【０１０３】
また、所定の周期的割り込みに対応するカウンタ４１Ａのカウンタ値が、その周期的割り込みに対応する基準間隔値を超える所定時間前に、その周期的割り込みの種類に対応する予測信号を予測信号生成部４５Ａで生成するので、周期的割り込みを予測して予測信号を生成することができる。
【０１０４】
また、平均部４４Ａにより過去に発生した所定の割り込みの発生間隔を平均して基準間隔値とするので、現在までの発生傾向を含む基準間隔値により、より正確に割り込みを予測して予測信号を生成することができる。
【０１０５】
また、プリフェチ判別部２４４によりキャッシュメモリ２４２の空きチャネルが所定数以上である場合に、投機フェチ開始要求を生成して投機フェチ生成部２４５に入力するので、その投機フェチ開始要求に対応する割り込み用データがキャッシュメモリ２４２に記憶されて、キャッシュメモリ２４２上の割り込み用データの記憶効率を高め、割り込み用データをキャッシュメモリ２４２から読み出す確率を高めて、割り込み処理の応答時間をさらに短縮することができる。
【０１０６】
（第２の実施の形態）
図１０を参照して、第２の実施の形態を説明する。図１０は、本実施の形態における割り込み予測実行部２４１の内部構成を示す図である。本実施の形態は、第１の実施の形態と、割り込み予測部２４１の内部構成を異にするものであり、説明の重複を避けるため、同様な部分の説明を省略する。
【０１０７】
第１の実施の形態は、周期的に発生する周期的割り込みを対象としていたが、本実施の形態では、第１の割り込みと第２の割り込みの発生に関連性があり、第１の割り込みが発生した後に、所定の時間間隔をおいて第２の割り込みが発生する構成を対象とする。このような割り込みを関連型割り込みとする。
【０１０８】
図１０に示すように、本実施の形態のマイクロコンピュータ１の割り込み支援ブロック２０の割り込み予測部２４内の割り込み予測実行部２４１は、第１の割り込み信号を受信することをトリガとしてカウントを行うカウンタ４１Ｂと、カウンタ４１Ｂのカウンタ値に所定単位時間ごとに所定数をインクリメントする加算部４２Ｂと、割り込みの予測の基準となる基準間隔値を記憶する基準間隔記憶部４３Ｂと、基準間隔記憶部４３Ｂに記憶された基準間隔値とカウンタ４１Ｂから出力されたカウント値との平均値を算出して出力する平均部４４Ｂと、基準間隔記憶部４３Ｂに記憶された基準間隔値とカウンタ４１Ｂから出力されたカウント値との比較に基づいて、投機フェチを行わせるための予測信号を出力する予測信号生成部４５Ｂとを備える。
【０１０９】
カウンタ４１Ｂは、第１の割り込み信号を受信した場合にカウンタ値がリセットされる。また、カウンタ４１Ｂは、時間経過とともにカウンタ値が加算部４２Ｂにより所定時間単位づつインクリメントされる。また、カウンタ４１Ｂは、第１の割り込み信号の入力とともにリセット直前のカウンタ値を平均部４４Ｂに出力し、また、常にカウンタ値を予測信号生成部４５Ｂに出力する。平均部４４Ｂは、初回に入力されたカウンタ値を基準間隔記憶部４３Ｂにそのまま出力する。
【０１１０】
基準間隔記憶部４３Ｂは、入力されたカウンタ値を基準間隔値として記憶する。また、基準間隔記憶部４３Ｂは、第２の割り込み信号を受信した場合に、記憶されている基準間隔値を平均部４４Ｂ及び予測信号生成部４５Ｂに出力する。平均部４４Ｂは、第１の割り込み発生によって２回目以降に入力されたカウンタ値と、基準間隔記憶部４３Ｂから入力された基準間隔値との平均値を算出し、その平均値を基準間隔記憶部４３Ｂに出力する。基準間隔記憶部４３Ｂは、入力された平均値を基準間隔値として記憶する。
【０１１１】
基準間隔値は、過去に発生した第１の割り込みの発生から第２の割り込みの発生までの時間間隔の平均値を示し、第１の割り込みの発生後にいつ第２の割り込みが発生かを予測する目安となる。予測信号生成部４５Ｂは、入力されたカウンタ値と基準間隔値とを比較し、カウンタ値が基準間隔値を経過する所定時間前に、第２の割り込みに対応する予測信号を生成し、検索制御部２４３及び投機フェチ生成部２４５に出力する。予測信号には、発生が予測される第２の割り込みの種類が含まれる。
【０１１２】
また、マイクロコンピュータ１における動作も、第１の実施の形態と同様である。第１の割り込みの発生により、随時、割り込み予測実行部２４１内のカウンタ４１Ｂに第１の割り込み信号が入力され、第２の割り込みの発生により、随時、基準間隔記憶部４３Ｂに第２の割り込み信号が入力される。本実施の形態の動作として、図５の投機フェチ処理のステップＳ１１において、先ず、予測信号生成部４５Ｂにより、カウンタ４１Ｂに記憶された第１の割り込み発生後のカウンタ値が、基準間隔記憶部４３Ｂに記憶された基準間隔値−所定時間を超えたか否かが判別される。本実施の形態の動作において、投機フェチ処理におけるステップＳ１１の後のステップと、プリフェチ処理と、読み出し処理とは、第１の実施の形態と同様である。
【０１１３】
よって、本実施の形態によれば、所定の第１の割り込みに対応するカウンタ４１Ｂのカウンタ値が、その第１の割り込み発生からの第２の割り込みの発生間隔に対応する基準間隔値を超える所定時間前に、その第２の割り込みの種類に対応する予測信号を予測信号生成部４５Ｂで生成するので、関連型割り込みを予測して予測信号を生成することができる。
【０１１４】
（第３の実施の形態）
図１１を参照して、第３の実施の形態を説明する。図１１は、本実施の形態における割り込み予測実行部２４１の内部構成を示す図である。本実施の形態は、第１の実施の形態と、割り込み予測部２４１の内部構成を異にするものであり、説明の重複を避けるため、同様な部分の説明を省略する。
【０１１５】
第１の実施の形態が周期的に発生する周期的割り込みを対象とし、第２の実施の形態が関連型割り込みを対象としていた。本実施の形態では、周期的割り込みにも関連型割り込みにも当てはまらなく、発生時間が規則的でないランダムに発生するランダム割り込みを対象とする構成である。
【０１１６】
図１１に示すように、本実施の形態のマイクロコンピュータ１の割り込み支援ブロック２０の割り込み予測部２４内の割り込み予測実行部２４１は、周期的割り込み及び割り込みなどの規則的割り込みを受信することをトリガとしてカウントを行うカウンタ４１Ｃと、カウンタ４１Ｃのカウンタ値に所定単位時間ごとに所定数をインクリメントする加算部４２Ｃと、基準間隔値を記憶し、その規則的割り込みの発生後から基準間隔値を超えても、次の規則的割り込みが発生しない場合に、投機フェチを行わせるための予測信号を出力する予測信号生成部４５Ｃとを備える。
【０１１７】
カウンタ４１Ｃは、規則的割り込み信号を受信した場合にカウンタ値がリセットされる。また、カウンタ４１Ｃは、時間経過とともにカウンタ値が加算部４２Ｃにより所定時間単位づつインクリメントされる。また、カウンタ４１Ｂは、常にカウンタ値を予測信号生成部４５Ｃに出力する。
【０１１８】
基準間隔値は、規則的割り込みの発生後から、次の規則的割り込みが発生していないと判別されるまでの時間間隔を示す値であり、次にいつランダム割り込みが発生かを予測する目安となる。言い換えれば、規則的割り込みの発生後から、基準間隔値を経過しても、次の規則的割り込みが発生しない場合に、ランダム割り込みが発生すると予測される。予測信号生成部４５Ｃは、予め記憶された基準間隔値と、カウンタ４１Ｃから入力されるカウンタ値とを常に比較し、カウンタ値が基準間隔値を経過すると、ランダム割り込みに対応する予測信号を生成し、検索制御部２４３及び投機フェチ生成部２４５に出力する。予測信号には、発生が予測されるランダム割り込みに対応する割り込み処理に用いる命令データなどのデータの種類が含まれる。
【０１１９】
また、マイクロコンピュータ１における動作も、第１の実施の形態と同様である。規則的割り込みの発生により、随時、割り込み予測実行部２４１内のカウンタ４１Ｃに規則的割り込み信号が入力される。本実施の形態の動作として、図５の投機フェチ処理のステップＳ１１に代えて、先ず、予測信号生成部４５Ｃにより、カウンタ４１Ｃに記憶された規則的割り込み発生後のカウンタ値が、予め記憶された基準間隔値を超えたか否かが判別される。本実施の形態の動作において、投機フェチ処理におけるステップＳ１１の後のステップと、プリフェチ処理と、読み出し処理とは、第１の実施の形態と同様である。
【０１２０】
よって、本実施の形態によれば、周期的及び関連型割り込みなどの規則的割り込みに対応するカウンタ値が、規則的割り込みに対応する基準間隔値を超えた場合に、ランダム割り込みの種類に対応する予測信号を予測信号生成部４５Ｃで生成するので、ランダム割り込みを予測して予測信号を生成することができる。
【０１２１】
（変形例）
図１２を参照して、第１の実施の形態の変形例を説明する。図１２は、本変形例における割り込み予測実行部２４１の内部構成を示す図である。本変形例は、第１の実施の形態と、割り込み予測部２４１の内部構成を異にするものであり、説明の重複を避けるため、同様な部分の説明を省略する。本変形例は、第１の実施の形態と同様に、周期的に発生する周期的割り込みを対象とする。
【０１２２】
図１２に示すように、本実施の形態のマイクロコンピュータ１の割り込み支援ブロック２０の割り込み予測部２４内の割り込み予測実行部２４１は、カウンタ４１Ａと、加算部４２Ａと、各周期的割り込みの基準周期としての基準間隔値を有する基準テーブルを記憶する基準間隔記憶部４６と、カウンタ４１Ａから出力されたカウンタ値と基準間隔記憶部４６に記憶された基準テーブルの基準間隔値との比較に基づいて、投機フェチを行わせるための予測信号を出力する予測信号生成部４７とを備える。
【０１２３】
基準テーブルには、予め設定された、各周期的割り込みの種類を識別する識別番号と、その識別番号に対応する周期である基準間隔値とが格納される。基準間隔値は、次にいつ各割り込みが発生かを予測する目安となる。予測信号生成部４７は、入力されたカウンタ値と基準間隔値とを比較し、カウンタ値が基準間隔値を経過する所定時間前に、第２の割り込みに対応する予測信号を生成し、検索制御部２４３及び投機フェチ生成部２４５に出力する。予測信号には、発生が予測される第２の割り込みに対応する割り込み処理に用いる割り込み用データの種類が含まれる。
【０１２４】
また、マイクロコンピュータ１における動作も、第１の実施の形態と同様である。周期的割り込みの発生により、随時、割り込み予測実行部２４１内のカウンタ４１Ａに割り込み信号が入力される。本変形例の動作として、図５の投機フェチ処理のステップＳ１１において、先ず、予測信号生成部４７により、カウンタ４１Ａに記憶された、ある周期的割り込みに対応するカウンタ値が、基準間隔記憶部４６に記憶された基準テーブルの、前記周期的割り込みに対応する基準間隔値−所定時間を超えたか否かが判別される。本変形例の動作において、投機フェチ処理におけるステップＳ１１の後のステップと、プリフェチ処理と、読み出し処理とは、第１の実施の形態と同様である。
【０１２５】
よって、本変形例によれば、所定の周期的割り込みに対応するカウンタ４１Ａのカウンタ値が、その周期的割り込みに対応する基準テーブルの基準間隔値を超える所定時間前に、その周期的割り込みの種類に対応する予測信号を予測信号生成部４５Ａで生成するので、周期的割り込みを予測して予測信号を生成することができる。
【０１２６】
なお、第１及び第２の実施の形態において、平均部４４Ａ，４４Ｂにより平均された割り込みの発生間隔を基準間隔値として基準間隔記憶部４３Ａ，４３Ｂに記憶する構成であったが、平均部４４Ａ，４４Ｂを設けることなく、所定の基準間隔値を固定して、平均化しない構成でもよい。
【０１２７】
また、第１、第２及び第３の実施の形態において、それぞれ、周期的割り込み、関連型割り込み及びランダム割り込みを予測する構成であったが、第１、第２及び第３の実施の形態のうちの複数を組合せて、周期的割り込み、関連型割り込み及びランダム割り込みのうちの少なくとも２つを予測する構成でもよい。また、変形例の基準テーブルを用いる構成をさらに組合わせてもよい。また、変形例の基準テーブルを用いる構成を第２、第３の実施の形態に適用してもよい。
【０１２８】
また、第１、第２及び第３の実施の形態並びに変形例において、割り込み支援ブロック２０は、ＣＰＵコア１０に外付けされる構成であったが、割り込み回路装置としてＣＰＵコア１０とともに一体に形成される構成などでもよい。
【０１２９】
また、第１、第２及び第３の実施の形態並びに変形例において、キャッシュメモリ２４２内に記憶されているデータは、マイクロコンピュータ１を搭載する機器の電源オフにより消去されるが、これに限るものでなく、電源オフ後もデータが記憶保持される構成でもよい。
【０１３０】
以上、本発明の実施の形態につき説明したが、本発明は、必ずしも上述した手段及び手法にのみ限定されるものではなく、本発明にいう目的を達成し、本発明にいう効果を有する範囲内において適宜に変更実施が可能なものである。
【０１３１】
【発明の効果】
請求項１又は１５に記載の発明によれば、予測された割り込みの割り込み処理に用いるデータを、読み出し速度の速いキャッシュメモリに格納して、データ要求に基づいてそのデータをＣＰＵに送信するので、割り込みが発生した場合にＣＰＵがすみやかに割り込み処理で用いるデータを取得して割り込み処理を実行でき、割り込み処理の種類を限定することなく割り込み処理の応答時間を短縮することができる。
【０１３２】
請求項２又は１６に記載の発明によれば、予測された割り込みの割り込み処理の開始前に、その割り込み処理に用いるデータを読み出し速度の速いキャッシュメモリに格納するので、割り込み処理の応答時間を短縮することができる。
【０１３３】
請求項３又は１７に記載の発明によれば、発生する割り込みを予測して、その予測信号に基づいて投機フェチ要求を生成してメインメモリに送信し、メインメモリから送信された、その投機フェチ要求に対応する前記割り込み処理に用いるデータをキャッシュメモリに格納させることができる。
【０１３４】
請求項４又は１８に記載の発明によれば、各種処理のデータ要求をＣＰＵから受信し、そのデータ要求に対応するデータを、読み出し速度の速いキャッシュメモリから検索してＣＰＵに送信するので、ＣＰＵにおいて各種処理の応答速度を高めることができる。
【０１３５】
請求項５又は１９に記載の発明によれば、キャッシュメモリからデータ要求に対応するデータが検索されない場合に、そのデータをメインメモリからＣＰＵへ直接送信させるので、キャッシュメモリにデータを記憶する動作負担の増大を防ぎ、ＣＰＵにおいて各種処理の応答時間を短縮することができる。
【０１３６】
請求項６又は２０に記載の発明によれば、読み出しが有効か無効かの旨とともにデータがキャッシュメモリに格納されるので、キャッシュメモリの無効なデータをクリアして有効なデータを格納させ、キャッシュメモリ上の有効なデータの記憶効率を高めることができる。
【０１３７】
請求項７又は２１に記載の発明によれば、複数のチャネルそれぞれに、１種類の割り込みに対応するデータを格納させるので、チャネルを管理して、キャッシュメモリ上に同一の割り込みに対応する複数のデータを無駄に記憶させることを防ぐことができる。
【０１３８】
請求項８又は２２に記載の発明によれば、所定の割り込みに対応するカウンタ値が、その割り込みの基準間隔値に対応する場合に、その割り込みに対応する予測信号を生成するので、基準間隔値に基づいて発生時間に規則性を有する又は有しない割り込み処理を予測して予測信号を生成することができる。
【０１３９】
請求項９又は２３に記載の発明によれば、過去に発生した所定の割り込みの発生間隔を平均して基準間隔値とするので、現在までの発生傾向を含む基準間隔値により、より正確に割り込みを予測して予測信号を生成することができる。
【０１４０】
請求項１０又は２４に記載の発明によれば、所定の周期的割り込みに対応するカウンタ値が、その周期的割り込みに対応する基準間隔値を超える所定時間前に、その周期的割り込みに対応する予測信号を生成するので、周期的割り込みを予測して予測信号を生成することができる。
【０１４１】
請求項１１又は２５に記載の発明によれば、所定の第１の割り込みに対応するカウンタ値が、その第１の割り込み発生からの第２の割り込みの発生間隔に対応する基準間隔値を超える所定時間前に、その第２の割り込みに対応する予測信号を生成するので、関連型割り込みを予測して予測信号を生成することができる。
【０１４２】
請求項１２又は２６に記載の発明によれば、規則的割り込みに対応するカウンタ値が、規則的割り込みに対応する基準間隔値を超えた場合に、ランダム割り込みに対応する予測信号を生成するので、ランダム割り込みを予測して予測信号を生成することができる。
【０１４３】
請求項１３又は２７に記載の発明によれば、キャッシュメモリの記憶領域に対する空き領域の割合が所定量以上である場合に、投機フェチ開始要求を生成してその投機フェチ要求を生成させるので、その投機フェチ開始要求に対応するデータがキャッシュメモリに記憶されて、キャッシュメモリ上のデータの記憶効率を高め、割り込み処理に対応するデータをキャッシュメモリから読み出す確率を高めて、割り込み処理の応答速度をさらに高めることができる。
【０１４４】
請求項１４に記載の発明によれば、請求項１から１３のいずれか一項に記載の割り込み支援回路装置を用いるので、請求項１から１３のいずれか一項の効果とともに、ＣＰＵで実行される割り込み処理の種類を限定することなくその応答時間を短縮することができる。
【図面の簡単な説明】
【図１】本発明に係る第１の実施の形態のマイクロコンピュータ１の構成を示す図である。
【図２】割り込み予測部２４の内部構成を示す図である。
【図３】第１の実施の形態における割り込み予測実行部２４１の内部構成を示す図である。
【図４】キャッシュメモリ２４２に記憶されるデータの構成を示す図である。
【図５】投機フェチ処理を示すフローチャートである。
【図６】プリフェチ処理を示すフローチャートである。
【図７】読み出し処理を示すフローチャートである。
【図８】１つの割り込みに対するマイクロコンピュータ１の動作の流れの一例を示す図である。
【図９】２つの割り込みに対するマイクロコンピュータ１の動作の流れの一例を示す図である。
【図１０】本発明に係る第２の実施の形態における割り込み予測実行部２４１の内部構成を示す図である。
【図１１】本発明に係る第３の実施の形態における割り込み予測実行部２４１の内部構成を示す図である。
【図１２】第１の実施の形態の変形例における割り込み予測実行部２４１の内部構成を示す図である。
【符号の説明】
１…マイクロコンピュータ
１０…ＣＰＵコア
２０…割り込み支援ブロック
２１…制御部
２２…ＣＰＵインタフェース
２３ａ，２３ｂ，２８ａ，２８ｂ…バッファアンプ
２４…割り込み予測部
２４１…割り込み予測実行部
２４２…キャッシュメモリ
２４Ａ…キャッシュメモリ制御部
２４３…検索制御部
２４４…プリフェチ判別部
２４Ｂ…投機フェチ制御部
２４５…投機フェチ生成部
２４６…調停部
４１Ａ，４１Ｂ，４１Ｃ…カウンタ
４２Ａ，４２Ｂ，４２Ｃ…加算部
４３Ａ，４３Ｂ，４６…基準間隔記憶部
４４Ａ，４４Ｂ…平均部
４５Ａ，４５Ｂ，４５Ｃ，４７…予測信号生成部
２５，２６…セレクタ
２７…メモリインタフェース
３０…メインメモリ
【図１】
2004252729.tif 000003
【図２】
2004252729.tif 000004
【図３】
2004252729.tif 000005
【図４】
2004252729.tif 000006
【図５】
2004252729.tif 000007
【図６】
2004252729.tif 000008
【図７】
2004252729.tif 000009
【図８】
2004252729.tif 000010
【図９】
2004252729.tif 000011
【図１０】
2004252729.tif 000012
【図１１】
2004252729.tif 000013
【図１２】
2004252729.tif 000014