JP2007220022A - 割込み制御装置 - Google Patents

割込み制御装置 Download PDF

Info

Publication number
JP2007220022A
JP2007220022A JP2006042763A JP2006042763A JP2007220022A JP 2007220022 A JP2007220022 A JP 2007220022A JP 2006042763 A JP2006042763 A JP 2006042763A JP 2006042763 A JP2006042763 A JP 2006042763A JP 2007220022 A JP2007220022 A JP 2007220022A
Authority
JP
Japan
Prior art keywords
interrupt
instruction
data
processing
processor
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
Application number
JP2006042763A
Other languages
English (en)
Inventor
Masakazu Shirai
正和 白井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2006042763A priority Critical patent/JP2007220022A/ja
Publication of JP2007220022A publication Critical patent/JP2007220022A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】プロセッサが割込み通知を受けた後、より短時間で割込み処理を開始することが可能であって、プロセッサの処理効率をいっそう高めることができる割込み制御装置を提供する。
【解決手段】割込みによってプロセッサ106に実行が要求される処理である割込み処理を制御する割込み制御装置1において、割込み処理の要求を受付け、要求が受付けられた割込み処理を実行するための命令及びこの命令によって実行される割込み処理に使用されるデータをデータメモリ108、命令メモリ109から取得する割込み制御部101、データキャッシュ制御部102、命令キャッシュ制御部104を備え、少なくとも命令またはデータの一部が取得された後、割込み制御部101が、プロセッサ106に割込み処理の要求があったことを通知する。
【選択図】図1

Description

本発明は、割込み制御装置に関する。
現在、外部モジュールと接続され、この外部モジュールの割込みを受付ながら動作するプロセッサがある。このようなプロセッサとしては、例えば、携帯電話に組み込まれたプロセッサが挙げられる。このようなプロセッサは、カメラや通信装置等のモジュールによる割込みを受付ながら複数のモジュールの動作を制御している。
割込みを受付ける場合、プロセッサは、実行中の処理をいったん中断して割込みによって依頼された処理を実行する。このような処理にあっては、当然のことながら、割込みによる停止時間が長いほどプロセッサの処理効率が低下することになる。このため、プロセッサの割込み制御には、割込み処理の開始直前まで割込みによって中断される処理をプロセッサに実行させるための技術が提案されている。
このような技術の従来例として、例えば、特許文献1が挙げられる。特許文献1には、割込み要求の受付後、割込み処理のルーチンの少なくとも一部が読み込まれた後にプロセッサに割込みを知らせる割込み信号を発生する割込み制御部が記載されている。
このような特許文献1によれば、割込み処理のルーチンの少なくとも一部が読み込まれるまではプロセッサが他の処理を実行することができる。また、割込みの通知を受け取ったときにはすでに割込み処理ルーチンが読み込まれているので、他の処理を中断した直後に割込み処理を実行することができる。
特開2001−306335号公報
しかしながら、上記した特許文献1の発明は、プロセッサが割込みルーチンにしたがって割込み処理を開始した後、処理に必要なデータを取得して処理の実行を開始する。このため、特許文献1の発明は、割込みルーチンを予め読み込んでおいたにも関わらず、割込み通知を受けた後、データの読込が終了するまで割込み処理を開始することができない場合がある。
本発明は、このような点に鑑みてなされたものであり、プロセッサが割込み通知を受けた後、より短時間で割込み処理を開始することが可能であって、プロセッサの処理効率をいっそう高めることができる割込み制御装置を提供することを目的とする。
以上の課題を解決するため、本発明の割込み制御装置は、割込みによってプロセッサに実行が要求される処理である割込み処理を制御する割込み制御装置であって、割込み処理の要求を受付ける割込み要求受付手段と、前記割込み要求受付手段によって要求が受付けられた割込み処理を実行するための命令及び該命令によって実行される割込み処理に使用されるデータをメモリから取得する命令・データ取得手段と、前記命令・データ取得手段によって少なくとも命令またはデータの一部が取得された後、プロセッサに割込み処理の要求があったことを通知する割込み要求通知手段と、を備えることを特徴とする。
このような発明によれば、割込み処理の要求を受付け、割込み処理を実行するための命令及びこの命令によって実行される割込み処理に使用されるデータをメモリから取得することができる。また、少なくとも命令またはデータの一部が取得された後、プロセッサに割込み処理の要求があったことを通知することができる。
このため、割込み処理の直前まで他の処理を実行することができる。また、割込み開始時には必要な命令やデータがキャッシュされているので、割込みの通知を受けた後、より短時間のうちに割込み処理を開始することができる。したがって、本発明は、プロセッサの処理効率をいっそう高めることができる割込み制御装置を提供することができる。
また、本発明の割込み制御装置は、前記命令・データ取得手段は、割込み処理を実行するための命令の前記メモリにおける保存場所のアドレスと、該命令によって実行される割込み処理に使用されるデータの前記メモリにおける保存場所のアドレスとを対応付ける対応データを参照し、命令及び該命令によって実行される割込み処理に使用されるデータをメモリから取得することを特徴とする。
このような発明によれば、命令のメモリにおける保存場所のアドレスと、この命令によって実行される割込み処理に使用されるデータのメモリにおける保存場所のアドレスとを対応付ける対応データを参照し、命令及びこの命令によって実行される割込み処理に使用されるデータのメモリにおける保存場所を特定することができる。
なお、命令の外部メモリにおける保存場所を記録するテーブルは、命令キャッシュを備える構成が一般的に備えるものである。本発明は、このような既存のテーブルを拡張することによって比較的簡易に命令と命令に対応するデータとを対応付け、両者を読み出すことを可能にしている。
また、本発明の割込み制御装置は、前記命令・データ取得手段が、割込み処理を実行するための命令の少なくとも一部を取得した後に割込み処理に使用されるデータの取得を開始することを特徴とする。
このような発明によれば、割込み処理において先に必要になる命令を先に取得することができるので、より早く割込み処理を開始することができる。
また、本発明の割込み制御装置は、前記割込み要求通知手段が、割込み処理を実行するための命令の少なくとも一部を取得した後であって、割込み処理に使用されるデータの取得が完了する以前にプロセッサに割込み処理の要求があったことを通知することを特徴とする。
このような発明によれば、命令を取得した時点で割込み処理を開始し、命令を解釈している間にデータを取得することができるので、命令とデータとを取得した後に割込み処理を開始するよりも早く割込み処理を開始することができる。
以下、図を参照して本発明に係る割込み制御装置の実施形態1、実施形態2について説明する。
(実施形態1)
図1は、本発明の実施形態1の割込み制御装置を説明するためのブロック図である。図示した割込み制御装置1は、周辺モジュール107によってプロセッサ106に実行が要求される処理である割込み処理を制御する装置である。割込み制御装置1は、割込み処理の要求を受付ける割込み制御部101と、割込み制御部101によって要求が受付けられた割込み処理を実行するための命令を命令メモリ109から取得してプロセッサの命令キャッシュメモリ105にキャッシュする命令キャッシュ制御部104及び、この命令によって実行される割込み処理に使用されるデータをデータメモリ108から取得してプロセッサのデータキャッシュメモリ103にキャッシュするデータキャッシュ制御部102を備えている。
また、割込み制御部1は、命令キャッシュ制御部104、データキャッシュ制御部102によって少なくとも命令またはデータの一部がキャッシュメモリから取得(キャッシュ)された後、プロセッサ106に割込み処理の要求があったことを通知する。
以上の構成において、割込み制御部101は割込み要求受付手段及び割込み要求通知手段として機能する。また、命令キャッシュ制御部104及び命令キャッシュメモリ105、データキャッシュ制御部102及びデータキャッシュメモリ103、さらに割込み制御部101が命令・データ取得手段として機能する。
なお、実施形態1は、図示した構成に限定されるものでなく、データメモリ108と命令メモリ109とを一体のメモリとして構成してもよい。このように構成した場合、一体のメモリとキャッシュメモリ等とを1本のバスを共用して接続することが可能になる。
実施形態1の割込み制御装置1では、命令及びデータを取得するため、割込み制御部101が、割込み処理を実行するための命令の命令メモリ109における保存場所のアドレスと、この命令によって実行される割込み処理に使用されるデータのデータメモリ108における保存場所のアドレスとを対応付ける対応データを参照し、命令及びこの命令によって実行される割込み処理に使用されるデータをデータメモリ108から取得する。
図2は、実施形態1の対応データであるベクタテーブルを説明するための図である。図2(a)に示すように、ベクタテーブルでは、割込みハンドラ(割込みの命令プログラムを示す)にVec0、Vec1…の符号を付けて識別可能に設定する。そして、外部メモリであるデータメモリ108、命令メモリ109における各割込みハンドラの格納場所の先頭アドレスがベクタテーブルに記録されている。さらに、ベクタテーブルには、各割込みハンドラの実行に使用されるデータの外部メモリにおける先頭アドレスが、各割込みハンドラの先頭アドレスに対応付けて記録されている。
図2(b)は、割込みハンドラの命令メモリ109における保存場所の先頭アドレス、データのデータメモリ108における保存場所の先頭アドレスを具体的に例示したものである。なお、実施形態1では、ベクタテーブルがデータメモリ108に保存されるものとした。
以上述べた構成は、以下のように動作する。すなわち、周辺モジュール107がプロセッサ106に対して割込み要求する場合、周辺モジュール107は、先ず、割込み制御部101に対し割込み信号d1を送出する。なお、割込み信号d1は、割込みが発生したことを通知するのみであって、発生した割込みにかかる動作は割込みハンドラで指定された命令列によって記述される。
動作を指示する情報とは、例えば、アドレスAにあるデータを読み出して演算式Bを使って演算し、アドレスCに書き込むことを指示する等の情報である。このような例においては、データを読み出す、演算する、書き込むといった指示が命令を構成し、演算Bをするために必要な演算式やテーブル等がデータである。
割込み制御部101は、割込み信号d1を入力したことにより、命令キャッシュ制御部104に制御信号(命令キャッシュ制御)を出力する。命令キャッシュ制御部104は、データメモリ108にアクセスし、ベクタテーブルを参照する。そして、命令(割込みハンドラ)が保存されている場所の命令メモリ109における先頭アドレスを読み出す。そして、命令メモリ109の読み出された先頭アドレスから命令の内容を取得する。取得された命令は、命令キャッシュメモリ105にキャッシュされる。
また、割込み制御部101は、データキャッシュ制御部103に制御信号(データキャッシュ制御)を出力する。データキャッシュ制御部103は、キャッシュされる割込みハンドラに対応して記録されているデータのアドレス(キャッシュ希望データアドレス)を読出し、データメモリ108の読み出されたアドレスにアクセスしてデータを取得する。取得されたデータは、データキャッシュメモリ103にキャッシュされる。
以上の処理の後、割込み制御部101は、プロセッサ106に対して割込み制御信号d2を出力する。プロセッサ106は、割込み制御信号d2を入力したことによって割込み要求がされたことを検出する。そして、実行中であったタスクあるいは割込みハンドラを中断し、命令キャッシュメモリ105、データキャッシュメモリ103にアクセスする。そして、命令キャッシュメモリ105にキャッシュされた割込みハンドラ、データキャッシュメモリ103にキャッシュされたデータを使って割込み処理を実行する。
このような実施形態1によれば、プロセッサ106は、データがキャッシュされる間に他の処理を中断することなく実行し続けることができる。また、プロセッサ106は、周知のように、データメモリ108等の外部メモリよりも内部にあるデータキャッシュメモリ103に対して高速にアクセスできる。このため、実施形態1の割込み制御装置を備えたプロセッサ106は、処理の中断後、短時間のうちに割込み処理を開始することができる。このような実施形態1は、割込み処理の開始後にデータメモリ108にアクセスしてデータを取得する構成よりもプロセッサ106の停止時間を短縮し、処理効率を高めることができる。
また、割込み処理にあっては、先に実行された割込み処理等によって必要な割込みハンドラやデータがすでにキャッシュされている場合がある。実施形態1では、データキャッシュ制御部102、命令キャッシュ制御部104が、割込みハンドラあるいはデータがすでにキャッシュされているか否か、さらにはキャッシュされている割込みハンドラあるいはデータがダーティである等の理由によって使用することができないか否かを判断する。
この判断の結果、データキャッシュ制御部102、命令キャッシュ制御部104は、使用可能な割込みハンドラやデータがすでにキャッシュされている場合以外は命令メモリ109、データメモリ108にアクセスして割込みハンドラやデータをキャッシュする。
なお、複数の割込み要求が発生した場合、割込み制御装置101は、割込みハンドラを要求の後先や優先度によって決まる順序にしたがってスケジューリングし、割込み処理を実行する。
次に、以上述べた割込み制御装置の動作を、フローチャートを使って説明する。図3、は、実施形態1の割込み制御装置が割込み要求を受けてからプロセッサ106に通知するまでの処理を説明するためのフローチャートである。図3のフローチャートは、割込み制御部101がハードウェア構成を使って制御処理を実行する場合の処理の手順を示している。
図3のフローチャートで示すように、先ず、割込み制御装置は、データメモリ108にあるベクタテーブルを読み出す(S401)。また、ベクタテーブルに設定された命令メモリ109のアドレスを検出し、このアドレスに保存されていた実行命令を命令キャッシュメモリ105においてチェックする(S402)。
チェックの結果、割込み制御部101は、実行命令が命令キャッシュメモリ105にキャッシュされているか否か判断する(S403)。必要な実行命令がすでにキャッシュされている場合(S403:Yes)、必要なデータのキャッシュが完了しているか否か判断する(S406)。
また、ステップS403において、必要な実行命令がキャッシュされていないと判断された場合(S403:No)、割込み制御部101は、命令キャッシュ制御部104に対し、必要な実行命令のキャッシュを指示する(S404)。そして、命令キャッシュメモリ105への実行命令のキャッシュが完了するまで待機する(S405)。
また、割込み制御部101は、ベクタテーブルの内容から実行命令の実行にデータのキャッシュが必要か否か判断する(S408)。データのキャッシュが不要であると判断した場合(S408:No)、必要な実行命令のキャッシュが完了しているか否か判断する(S406)。
また、ステップS408において、実行すべき実行命令にデータキャッシュが必要なものであると判断された場合(S408:Yes)、割込み制御部101は、データキャッシュメモリ103をチェックする(S409)。そして、実行命令の実行に必要なデータがキャッシュされていると判断した場合(S410:Yes)、必要な実行命令のキャッシュが完了しているか否か判断する(S406)。
さらに、割込み制御部101は、ステップS410において、必要なデータがキャッシュされていないと判断した場合(S410:No)、データキャッシュ制御部102に対し、必要なデータのキャッシュを指示する(S411)。そして、データキャッシュメモリ103へのデータのキャッシュが完了するまで待機する(S412)。
以上の処理の後、割込み制御部101は、割込み処理に必要な実行命令及びデータの両方がキャッシュされたと判断すると(S406:Yes)、プロセッサ106に対して割込みが要求されたことを通知し(S407)、処理を終了する。
以上述べたように、実施形態1の割込み制御装置は、割込み処理の直前まで他の処理を実行することができる。また、割込み開始時には必要な命令やデータがキャッシュされているので、割込みの通知を受けた後、より短時間のうちに割込み処理を開始することができ、プロセッサの処理効率をいっそう高めることができる。
(実施形態2)
次に、本発明の実施形態2について説明する。なお、実施形態2の割込み制御装置は、実施形態1の割込み制御装置と構成上同様であるから、構成の図示及び説明を一部省くものとする。
実施形態2は、一般的な割込み処理において、割込みの開始後に先ず命令が解釈され、解釈された内容したがってデータを用いながら演算が実行される点に着目してなされたものである。実施形態2では、割込みハンドラの少なくとも一部を取得した後であって、割込み処理に使用されるデータの取得が完了する以前にプロセッサ106に割込み処理の要求があったことを通知する。このような実施形態2によれば、命令を取得した時点で割込み処理を開始し、命令を解釈している間にデータを取得することができるので、命令とデータとを取得した後に割込み処理を開始するよりも早く割込み処理を開始することができる。
図4に示したフローチャートは、実施形態2の割込み制御装置で実行される割込み制御方法を示した図である。
実施形態2の割込み制御装置は、図4に示すように、割込み制御部101が、先ず、データメモリ108にあるベクタテーブルを読み出す(S701)。また、ベクタテーブルに設定された命令メモリ109のアドレスを検出し、このアドレスに保存されていた実行命令を命令キャッシュメモリ105においてチェックする(S702)。
チェックの結果、割込み制御部101は、実行命令が命令キャッシュメモリ105にキャッシュされているか否か判断する(S703)。必要な実行命令がすでにキャッシュされている場合(S703:Yes)、プロセッサ106に割込み要求があったことを通知して処理を終了する(S706)。
また、ステップS703において、必要な実行命令がキャッシュされていないと判断された場合(S703:No)、割込み制御部101は、命令キャッシュ制御部104に対し、必要な実行命令のキャッシュを指示する(S704)。そして、命令キャッシュメモリ105への実行命令のキャッシュが完了するまで待機する(S705)。
また、割込み制御部101は、ベクタテーブルの内容から実行命令の実行にデータのキャッシュが必要か否か判断する(S707)。データのキャッシュが不要であると判断した場合(S707:No)、処理を終了する(S706)。また、ステップS707において、実行すべき実行命令にデータキャッシュが必要であると判断した場合(S707:Yes)、データキャッシュメモリ103をチェックする(S708)。そして、実行命令の実行に必要なデータがキャッシュされていると判断した場合(S709:Yes)、処理を終了する。
さらに、割込み制御部101は、ステップS709において、必要なデータがキャッシュされていないと判断した場合(S709:No)、データキャッシュ制御部102に対し、必要なデータのキャッシュを指示する(S710)。そして、データキャッシュメモリ103へのデータのキャッシュが完了するまで待機した後(S711)、処理を終了する。
図7のフローチャートに示した動作によれば、割込みハンドラ等の実行命令とデータとを並列に取得しながら実行命令がキャッシュされた時点でデータのキャッシュ完了を待つことなくプロセッサ106に割込みの通知をすることができる。
本発明の実施形態1の割込み制御装置を説明するためのブロック図である。 実施形態1の対応データであるベクタテーブルを説明するための図である。 実施形態1の割込み制御装置が割込み要求を受けてからプロセッサに通知するまでの処理を説明するフローチャートである。 実施形態2の割込み制御装置が割込み要求を受けてからプロセッサに通知するまでの処理を説明するフローチャートである。
符号の説明
101 割込み制御装置、102 データキャッシュ制御部、103 データキャッシュ制御部、104 命令キャッシュ制御部、105 命令キャッシュメモリ、106 プロセッサ、107 周辺モジュール、108 データメモリ、109 命令メモリ

Claims (4)

  1. 割込みによってプロセッサに実行が要求される処理である割込み処理を制御する割込み制御装置であって、
    割込み処理の要求を受付ける割込み要求受付手段と、
    前記割込み要求受付手段によって要求が受付けられた割込み処理を実行するための命令及び該命令によって実行される割込み処理に使用されるデータをメモリから取得する命令・データ取得手段と、
    前記命令・データ取得手段によって少なくとも命令またはデータの一部が取得された後、プロセッサに割込み処理の要求があったことを通知する割込み要求通知手段と、
    を備えることを特徴とする割込み制御装置。
  2. 前記命令・データ取得手段は、割込み処理を実行するための命令の前記メモリにおける保存場所のアドレスと、該命令によって実行される割込み処理に使用されるデータの前記メモリにおける保存場所のアドレスとを対応付ける対応データを参照し、命令及び該命令によって実行される割込み処理に使用されるデータをメモリから取得することを特徴とする請求項1に記載の割込み制御装置。
  3. 前記命令・データ取得手段は、割込み処理を実行するための命令の取得を開始した後に割込み処理に使用されるデータの取得を開始することを特徴とする請求項1または2に記載の割込み制御装置。
  4. 前記割込み要求通知手段は、割込み処理を実行するための命令の少なくとも一部を取得した後であって、割込み処理に使用されるデータの取得が完了する以前にプロセッサに割込み処理の要求があったことを通知することを特徴とする請求項3に記載の割込み制御装置。
JP2006042763A 2006-02-20 2006-02-20 割込み制御装置 Pending JP2007220022A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006042763A JP2007220022A (ja) 2006-02-20 2006-02-20 割込み制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006042763A JP2007220022A (ja) 2006-02-20 2006-02-20 割込み制御装置

Publications (1)

Publication Number Publication Date
JP2007220022A true JP2007220022A (ja) 2007-08-30

Family

ID=38497230

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006042763A Pending JP2007220022A (ja) 2006-02-20 2006-02-20 割込み制御装置

Country Status (1)

Country Link
JP (1) JP2007220022A (ja)

Similar Documents

Publication Publication Date Title
US9043806B2 (en) Information processing device and task switching method
JP5387776B2 (ja) 割込制御方法、マルチコアプロセッサシステム、および割込制御プログラム
US20130019032A1 (en) Apparatus and method for generating interrupt signal that supports multi-processor
JP2007080220A (ja) メモリ制御装置。
KR20170041816A (ko) 이종 프로세서 시스템 내 캐시들 간에 데이터 이동
US9606923B2 (en) Information processing device with shared memory, memory order guarantee method using counters fence instructions in relation to cache-oriented requests, and recording medium storing program
JP5213485B2 (ja) マルチプロセッサシステムにおけるデータ同期方法及びマルチプロセッサシステム
JP2012043031A (ja) 共有キャッシュメモリ装置
US9342472B2 (en) PRD (physical region descriptor) pre-fetch methods for DMA (direct memory access) units
JP5254710B2 (ja) データ転送装置、データ転送方法およびプロセッサ
JP2008305246A (ja) 情報処理装置、キャッシュフラッシュ制御方法及び情報処理制御装置
JP2007220022A (ja) 割込み制御装置
JP2005258509A (ja) ストレージ装置
EP1988464A1 (en) Snoop control method and information processing device
CN108572926B (zh) 一种用于同步中央处理器所属缓存的方法和装置
US8239652B2 (en) Data processing system
JP5569598B2 (ja) データ書き込み制御装置、データ書き込み制御方法及び情報処理装置
JP2010140146A (ja) マルチコアプロセッサ,制御方法および情報処理装置
JP2010211506A (ja) 不均一メモリアクセス機構を備えるコンピュータ、コントローラ、及びデータ移動方法
US20110131397A1 (en) Multiprocessor system and multiprocessor control method
JP2006236234A (ja) 割込み処理回路
JP2010140440A (ja) バス調停装置
JPH0844659A (ja) データ転送制御装置
JP2006331248A (ja) データ転送装置
JP2007026091A (ja) 割込み制御回路およびその制御方法