JP2007026091A - 割込み制御回路およびその制御方法 - Google Patents

割込み制御回路およびその制御方法 Download PDF

Info

Publication number
JP2007026091A
JP2007026091A JP2005207327A JP2005207327A JP2007026091A JP 2007026091 A JP2007026091 A JP 2007026091A JP 2005207327 A JP2005207327 A JP 2005207327A JP 2005207327 A JP2005207327 A JP 2005207327A JP 2007026091 A JP2007026091 A JP 2007026091A
Authority
JP
Japan
Prior art keywords
interrupt
signal
access
mask
circuit
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.)
Withdrawn
Application number
JP2005207327A
Other languages
English (en)
Inventor
Hideki Kamegawa
秀樹 亀川
Shuitsu Kinoshita
修逸 木下
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2005207327A priority Critical patent/JP2007026091A/ja
Publication of JP2007026091A publication Critical patent/JP2007026091A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

【課題】簡単な制御でシステムバス上のメモリヘのアクセス速度に依存せずに割込み処理を実現できる割込み制御回路およびその制御方法を提供。
【解決手段】割込みコントローラ10は、外部割込みの発生に応じた割込み要求信号26を発生させ、CPU 22からアクセス信号32を判断回路14に供給し、判断回路14でこの監視結果に応じて生成した選択信号34をセレクタ18に供給し、割込みベクタテーブル16からのデータ58を選択する。マスク生成回路30は、アクセス信号32を基にマスク信号36を生成し、マスク回路20に供給する。マスク生成回路30はアクセス信号32をマスク信号36でマスクすることでセレクタ18からのデータ68をシステムバス24上のメモリヘのアクセス速度に依存せずにCPU 22に返す。
【選択図】図1

Description

本発明は、割込み制御回路およびその制御方法に関するものである。とくに、本発明の割込み制御回路は、割込みコントローラ、ASIC(Application Specific Integrated Circuits)および電子機器等に関する。また、本発明の割込み制御方法は、外部割込みの発生に応じた割込み要求を発生させて、外部の制御手段に出力し、この割込み要求に応じて該制御手段から応答信号を受け付けて、割込み要求の番号に対応する割込み対応データを制御手段に出力させる割込み制御方法に関する。
近年、組込み用途をターゲットとするCPU(Central Processing Unit)またはマイクロプロセッサが注目されている。ASICには、このような組込み用途のCPUがコアとして組み込まれ、CPU以外の部分のゲートアレイ等にはユーザの設計した回路が形成される。具体例としてARM社のARM(Advanced RISC[Reduced Instruction Set Computer] Machines)は高速のスループットを有する、低消費電力、小規模、低コストを実現している。このASICは、携帯電話機、GSM(汎欧州ディジタルセルラシステム:Global System for Mobile communications)等の電子機器への組込みが期待されている。
しかし、ARMには、割込み処理に問題がある。まず、外部からの割込み要求IR0〜IR31のいずれかが割込みコントローラに入力されると、割込みコントローラの割込み要因レジスタが割込み要因を保持し、通常レベルの割込み要求として割込み要求IRQを発生させて、外部割込み要求があったことをARMに対して通知する。
このIRQを受け付けたARMは、メモリのベクタアドレス(00000018H)に格納されている割込みベクタを読み出す。そして、割込みベクタによりその開始アドレスが指定される割込み処理ルーチン、すなわち割り込みハンドラを起動させる。割込み処理ルーチンは、割込み要因レジスタに保持されている割り込み要因を調べて、割込み要因に応じて種々に処理する。
ARMは、割込みベクタの格納アドレスであるベクタアドレスを1つだけ指定する。このため、割込み処理ルーチンは1箇所にしか分岐できない。割込み処理ルーチンは、複数箇所に分岐させる場合、このルーチン内でソフトウェア的に分岐させていた。
これに関連する技術として、特許文献1および2が挙げられる。特許文献1の情報処理システムは、外部割込みの処理を短時間で行なうことを目的とし、割込み制御装置から直接割込み処理プログラムの先頭番地データを演算処理装置に出力することで、この先頭番地の計算を不要にして処理時間の短縮化を図っている。
特許文献2の割込みコントローラは、複数箇所の割込み処理ルーチンへのダイレクトな分岐を可能にすることを目的に、外部割込み要求を受け付けると、プロセッサに対して割り込み要求を発生する。プロセッサがこの割込み要求を受け付けると、割込みベクタのリード命令を実行し割り込み処理ルーチンの開始アドレスを読み出すことにより、プロセッサからのアドレスをトラップし、割り込みベクタのリード命令が実行されたか否かを、このアドレスに基づき判断して、実行されたと判断した場合、受け付けた外部割込み要求の要因に応じたベクタテーブルアドレスをメモリに対して出力する。これにより、割込みベクタテーブルを記憶するメモリから、外部割込み要求の要因に応じた割込みベクタが出力される。したがって、プロセッサが割り込みベクタのベクタアドレスを1つしか指定できなくても、複数箇所の割り込み処理ルーチンへのダイレクトな分岐が可能になる。この結果、処理の高速化およびプログラムの簡素化等を図ることができることを開示している。
また、特許文献2の割込みコントローラは、プロセッサおよびメモリが高性能の第1のバスに接続され、割込みコントローラが低性能の第2のバスに接続されると、割込みベクタテーブルが割込みコントローラ内ではなく、メモリ内に設けられる。これにより割込みコントローラを低性能の第2のバスに接続しても、高性能の第1のバスを介してメモリから割り込みベクタテーブルを高速に読み出すことができ、この結果、割込みコントローラの回路規模を抑えても、割込み処理の高速化を図れるようになることを開示している。
特開昭63−165929号公報 特開2000−276358号公報
しかしながら、特許文献1の情報処理システムは、割込みベクタテーブルを内蔵しているため、ハードウェアの大規模化およびコストアップ化を招いてしまう。また、メモリ制御やバス制御が煩雑化等の問題もある。
特許文献2の割込み処理ではメモリヘの例外ベクタテーブルに対する読出し要する時問がメモリのアクセス速度に依存する。ここでアクセス時間の遅いメモリを用いた場合、割込み処理に時間がかかってしまう。また、割込みコントローラ内部にベクタテーブルアドレスを格納し、メモリ上にも割込み本数分のベクタテーブルを格納するメモリ領域を確保することになりこれによる回路量の増大を招いてしまう。
本発明はこのような従来技術の欠点を解消し、簡単な制御でシステムバス上のメモリヘのアクセス速度に依存せずに割込み処理が実現できる割込み制御回路およびその制御方法を提供することを目的とする。
本発明は上述の課題を解決するために、外部割込みの発生に応じた割込み要求を発生させて、外部の制御手段に出力し、この割込み要求に応じてこの制御手段から応答信号を受け付けて、割込み要求の番号に対応する割込み対応データを制御手段に出力させる割込み制御回路において、この回路は、割込み要求の番号に対応する割込み対応データが格納される情報蓄積手段と、制御手段からのアクセス信号を監視し、アクセス信号の監視結果に応じた選択信号を生成する判断手段と、この選択信号により情報蓄積手段から供給される割込み対応データとシステムバスから供給されるデータを選択する選択手段とを含み、判断手段は、システムバスヘのメモリアクセスのうち、割込みベクタアドレスヘのアクセスを遮断するマスク信号を生成するマスク生成手段を含み、この回路は、さらに、制御手段からのアクセス信号と前記マスク信号とを入力し、システムバスへのメモリアクセスをマスクするマスク手段を含むことを特徴とする。
本発明の割込み制御回路は、外部割込みの発生に応じた割込み要求を発生させて、外部の制御手段からアクセス信号を判断手段に供給し、判断手段でアクセス信号の監視結果に応じて生成した選択信号を選択手段に供給し、情報蓄積手段から供給される割込み対応データを選択し、マスク生成手段で割込みベクタアドレスヘのアクセスを遮断するマスク信号を生成し、マスク手段に供給し、マスク手段でシステムバスへのメモリアクセスをマスクすることにより割込みベクタアドレスを抑えて、システムバス上のメモリへのアクセス速度に依存することなく制御手段にデータを返すことができる。
また、本発明は上述の課題を解決するため、外部割込みの発生に応じた割込み要求を発生させて、外部の制御手段に出力し、この割込み要求に応じてこの制御手段から応答信号を受け付けて、割込み要求の番号に対応する割込み対応データを制御手段に出力させる割込み制御方法において、この方法は、制御手段からのアクセス信号を監視し、アクセス信号の監視結果に応じた選択信号および割込みベクタアドレスヘのアクセスを遮断するマスク信号を生成する第1の工程と、制御手段からのアクセス信号をマスク信号でマスクする第2の工程と、このマスクが偽であり、割込みベクタへのアクセスに応じて生成する選択信号により割込み対応データを選択する第3の工程とを含むことを特徴とする。
本発明の割込み制御方法は、アクセス信号を監視し、アクセス信号の監視結果に応じた選択信号および割込みベクタアドレスヘのアクセスを遮断するマスク信号を生成し、アクセス信号をマスク信号でマスクし、マスクが真のとき、生成した選択信号により割込み対応データを選択することにより割込みベクタアドレスを抑えて、システムバス上のメモリへのアクセス速度に依存することなく制御手段に割込み対応データを返すことができる。
次に添付図面を参照して本発明による割込み制御回路の一実施例を詳細に説明する。
本実施例は、本発明の割込み制御回路を割込みコントローラ10に適用した場合である。本発明と直接関係のない部分について図示および説明を省略する。以下の説明で、信号はその現れる接続線の参照番号で指示する。
割込みコントローラ10は、図1に示すように、割込み処理回路12、判断回路14、割込みベクタテーブル16、セレクタ18およびマスク回路20を含む。割込みコントローラ10の外部近傍には、CPU(Central Processing Unit)22およびシステムバス24が配設される。
割込み処理回路12は、一般的な割込みコントローラである。割込み処理回路12は、外部からの割込み入力、IR(InterRupt)0, IR1, IR2,・・・およびIR31を受け、この入力に応じてCPU 22および判断回路14に割込み信号IRQ(Interrupt ReQuest)26を通知し、割込みベクタテーブル16に割込み番号28を通知する機能を有する。
判断回路14は、マスク生成回路30を含む。判断回路14は、CPU 22および判断回路14に供給される割込み信号IRQ(26)の通知に応じて出力されるCPU 22からのアクセス信号32が割込みベクタヘのリード命令と判断し、この判断により割込みベクタを読み出す選択信号34を生成し、出力する機能を有する。また、マスク生成回路30は、割込みベクタヘのアクセスにおいてシステムバス24ヘのメモリアクセス要求をマスクするマスク信号36を生成する機能を有する。
判断回路14には、アドレス、メモリアクセス信号、リードライト信号等も入力される。判断回路14は、判断に比較回路を用いることで判断を容易に実現できる。判断回路14は、セレクタ18に選択信号34を出力する。
マスク生成回路30は、図2に示すように、非反転入力端子と反転入力端子を有する論理積回路38および40と、アドレス比較器42と、3入力論理積回路44とを含む。図2のマスク信号生成回路30は、たとえばCPU 22としてARM7TDMIを考えた場合に対応する。論理積回路38および40の非反転入力端子にはデータ46があらかじめ設定され、供給される。データ46は1ビットのレベル“H”である。論理積回路38の反転入力端子には図1のCPU 22が有するバスI/F部48からアクセス信号32のメモリアクセスを示す負極正の信号32a(nmreq)が供給される。また、論理積回路40の反転入力端子にはバスI/F部48からアクセス信号32の命令フェッチ/データアクセスを示す負極正の信号32b(nopc)が供給される。アドレス比較器42にはバスI/F部48からアクセス信号32のアドレス32c(a)が供給される。アドレス比較器42は、アドレス32c(a)と割込みベクタのアドレス50とを用いて比較する。アドレス50は、32ビットで16進数表示における“00000018”という値を有する。
マスク生成回路30は、論理積回路38および40の論理積の出力52および54、ならびにアドレス比較器42の出力56を論理積回路44に供給する。論理積回路44は、入力すべてがレベル“H”のとき、マスク信号36をレベル“H”でマスク回路20に出力する。論理積回路44は、入力すべてがレベル“H”以外のとき、マスク信号36のレベルを“L”にしてマスク回路20に出力する。マスク信号36がレベル“L”の場合、割込みコントローラ10は、CPU 22からのシステムバス24へのアクセスをマスクすることができる。
図1に戻って、割込みベクタテーブル16は、割込み要因、すなわち番号に応じて対応する命令コードを出力する機能を有する。割込みベクタテーブル16はROM(Read Only Memory)/RAM(Random Access Memory)等のメモリまたはレジスタを含む。割込みベクタテーブル16は例外ベクタテーブルである。ROMの場合、割込みベクタテーブルの値は固定値となる。一方、RAM/レジスタを用いると、割込みベクタテーブルの値は書き換えが可能となり、使用するソフトウェアに応じてベクタテーブルの値を自由に変えることが可能である。割込みベクタテーブル16は、命令コード58をセレクタ18の一端60側に出力する。
セレクタ18は、一端60側に割込みベクタテーブル16からの命令コード58と、他端62側にシステムバス24からのデータ64とを入力し、これらの入力を選択し、出力する機能を有する。セレクタ18は、選択信号34のレベルに応じて入力信号58および64のいずれかをCPU 22のバスI/F(InterFace)部48に供給する。
マスク回路20は、論理積回路を用いる。マスク回路20は、アクセス信号32とマスク信号36を入力し、これらの信号に対する論理積演算の結果をシステムバス24に出力信号66として出力する。
なお、本実施例では、システムバス24ヘのアクセスをマスクするために論理積回路を用いたが、マスク信号36を選択信号とすることで、セレクタを用いて実現してもよい。
CPU 220は、割込みコントローラ10を制御する機能を有する。CPU 22は、バスI/F部48を含む。バスI/F部48はセレクタ18で選択された信号68を入力し、アクセス信号32を生成する機能を有する。バスI/F部48はアクセス信号32を判断回路14およびマスク回路20に出力する。
次に割込みコントローラ10の動作を簡単に説明する。まず、割込みコントローラ10の割込み処理回路12は割込み信号IR0〜IR31のいずれか一つを受ける。割込み処理回路12はCPU 20に割込み要求信号IRQ 26を通知する。また、割込み処理回路12は、割込み番号28を割込みベクタテーブル16に通知する。
割込みベクタテーブル16は割込み番号28に応じたデータ、すなわち命令コード58をセレクタ18に出力する。
CPU 22は割込み要求信号IRQ 26の通知を受ける。CPU 22は、割込みベクタへのアクセスを開始する。このアクセスは、CPU 22のバスI/F部48から判断回路14にアクセス信号32を出力することで行なわれる。判断回路14では割込みベクタヘのアクセスか否かを判断し、選択信号34を生成する。判断回路14は選択信号34をセレクタ18に出力する。セレクタ18は、このときたとえば、レベル“H”の選択信号34が供給されることにより割込みベクタからの命令コード、すなわちデータ58を選択する。
このように、割込みベクタアドレスヘのアクセスは、システムバス24からのデータではなく、割込みコントローラ10内の割込みベクタテーブル16から供給されるデータ58がCPU 22に送られる。この動作により、CPU 22が割込みベクタのアドレスを1つしか指定できない場合にも、複数の割込みを有するシステムにおいて割込み番号に応じて処理ルーチンヘの1命令での分岐が可能となる。
このようにシステムバス22に出力される割込みベクタアドレスは、従来技術で行なわれているようなアドレスの切り替えは行なっていないことから、1固定アドレスだけである。割込みコントローラ10の内部に割込みベクタテーブルは必要であるが、システムバス22上のメモリ領域は、1アドレス分だけで従来技術と同等の割込み処理を行なうことができ、ハードウェア規模の低減が可能である。
また、本発明の特徴であるマスク機能について簡単に説明する。CPU 22からの割込みベクタヘのアクセスまでの処理手順は、前述した動作に同じである。CPU 22からの割込みベクタヘの判断回路14で検出されると、判断回路14はセレクタ18に選択信号34として出力すると同時に、システムバス24にCPU 22からのアクセスをマスクするマスク信号36をマスク回路20に出力する。
マスク回路20では、マスク信号36とシステムバス24ヘのアクセス信号32との論理積を演算する。マスク信号36は、マスク生成回路30にてメモリアクセス要求、命令コードおよびアドレスの条件のいずれかが一致しない場合、演算結果を“偽”と判断し、レベル“L”が出力される。レベル“L”のマスク信号36が供給されると、マスク回路20は、もう一方に供給されるアクセス信号38(32a, 32bおよび32c)、すなわちシステムバス24ヘのアクセスがマスクされる。マスク信号がレベル“L”を出力した際に判断回路14が割込みベクタヘのアクセスと判断した場合、直ちにレベル“H”の選択信号34が出力される。
このため、割込みベクタアドレスヘのアクセスは、システムバス24からのデータが返ってくることを待つことなく、割込みコントローラ10内の割込みベクタテーブル16から供給されるデータ58をセレクタ18で選択し、セレクタ18から即座にCPU 22に送ることができる。この動作により、CPU 22が割込みベクタのアドレスを1つしか指定できない場合にも、複数の割込みを有するシステムにおいて割込み番号に応じて処理ルーチンヘの1命令での分岐が可能になる。また、システムバス24のメモリアクセスに要する時間、すなわちサイクル数が長くかかる場合でも、メモリアクセスを気にすることなく、即座にCPU 24にデータを送ることができる。
この動作により、システムバス24に出力される割込みベクタアドレスを抑えることでシステムバス24上のメモリヘのアクセス速度に依存することなく、CPU 22にデータを返すことができる。これは、遅いメモリを搭載していても、割込み処理の速度を早めることを可能にする点て非常に有効である。
本発明に係る割込み制御回路を適用した概略的な割込みコントローラの構成を示すブロック図である。 図1のマスク生成回路の構成を示すブロック図である。
符号の説明
10 割込みコントローラ
12 割込み処理回路
14 判断回路
16 割込みベクタテーブル
18 セレクタ
20 マスク回路
22 CPU
24 システムバス
30 マスク生成回路

Claims (2)

  1. 外部割込みの発生に応じた割込み要求を発生させて、外部の制御手段に出力し、該割込み要求に応じて該制御手段から応答信号を受け付けて、前記割込み要求の番号に対応する割込み対応データを前記制御手段に出力させる割込み制御回路において、該回路は、
    前記割込み要求の番号に対応する割込み対応データが格納される情報蓄積手段と、
    前記制御手段からのアクセス信号を監視し、前記アクセス信号の監視結果に応じた選択信号を生成する判断手段と、
    該選択信号により前記情報蓄積手段から供給される前記割込み対応データとシステムバスから供給されるデータを選択する選択手段とを含み、
    前記判断手段は、前記システムバスヘのメモリアクセスのうち、割込みベクタアドレスヘのアクセスを遮断するマスク信号を生成するマスク生成手段を含み、
    該回路は、さらに、前記制御手段からのアクセス信号と前記マスク信号とを入力し、前記システムバスへのメモリアクセスをマスクするマスク手段を含むことを特徴とする割込み制御回路。
  2. 外部割込みの発生に応じた割込み要求を発生させて、外部の制御手段に出力し、該割込み要求に応じて該制御手段から応答信号を受け付けて、前記割込み要求の番号に対応する割込み対応データを前記制御手段に出力させる割込み制御方法において、該方法は、
    前記制御手段からのアクセス信号を監視し、前記アクセス信号の監視結果に応じた選択信号および割込みベクタアドレスヘのアクセスを遮断するマスク信号を生成する第1の工程と、
    前記制御手段からの前記アクセス信号を前記マスク信号でマスクする第2の工程と、
    該マスク信号の生成条件が偽のとき、前記割込みベクタへのアクセスに応じて生成する選択信号により前記割込み対応データを選択する第3の工程とを含むことを特徴とする割込み制御方法。
JP2005207327A 2005-07-15 2005-07-15 割込み制御回路およびその制御方法 Withdrawn JP2007026091A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005207327A JP2007026091A (ja) 2005-07-15 2005-07-15 割込み制御回路およびその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005207327A JP2007026091A (ja) 2005-07-15 2005-07-15 割込み制御回路およびその制御方法

Publications (1)

Publication Number Publication Date
JP2007026091A true JP2007026091A (ja) 2007-02-01

Family

ID=37786755

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005207327A Withdrawn JP2007026091A (ja) 2005-07-15 2005-07-15 割込み制御回路およびその制御方法

Country Status (1)

Country Link
JP (1) JP2007026091A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008005921A1 (de) * 2008-01-24 2009-07-30 Friedrich-Alexander-Universität Erlangen-Nürnberg Wagenkasten eines Schienenfahrzeugs
JP2020012892A (ja) * 2018-07-13 2020-01-23 キヤノン株式会社 露光装置、および物品製造方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008005921A1 (de) * 2008-01-24 2009-07-30 Friedrich-Alexander-Universität Erlangen-Nürnberg Wagenkasten eines Schienenfahrzeugs
JP2020012892A (ja) * 2018-07-13 2020-01-23 キヤノン株式会社 露光装置、および物品製造方法
JP7186531B2 (ja) 2018-07-13 2022-12-09 キヤノン株式会社 露光装置、および物品製造方法

Similar Documents

Publication Publication Date Title
JP5329563B2 (ja) マルチスレッド・プロセッサのための共有割込みコントローラ
US20060200826A1 (en) Processor and information processing method
US8117474B2 (en) CPU clock control during cache memory stall
US6742065B1 (en) Interrupt controller and method of accessing interrupts
JP2004062280A (ja) 半導体集積回路
JP3226055B2 (ja) 情報処理装置
CN112230992B (zh) 一种包含分支预测循环的指令处理装置、处理器及其处理方法
US20130036426A1 (en) Information processing device and task switching method
JPH09330236A (ja) マイクロプロセッサ及びその周辺装置
US7480812B2 (en) Microprocessor
JP3778246B2 (ja) 割り込みコントローラ、asic、及び電子機器
US6842812B1 (en) Event handling
JP2007026091A (ja) 割込み制御回路およびその制御方法
KR100532417B1 (ko) 디지털 신호 처리장치의 저전력 소비형 캐시 메모리 장치및 이에 대한 제어방법
JP2005258509A (ja) ストレージ装置
JPH05181789A (ja) ディジタル回路
JP4404373B2 (ja) 半導体集積回路
US7290153B2 (en) System, method, and apparatus for reducing power consumption in a microprocessor
KR20210108466A (ko) 시퀀스 프로세싱 유닛이 있는 메모리 제어 시스템
JP2006236234A (ja) 割込み処理回路
JP3594778B2 (ja) 割り込み制御装置
KR100336743B1 (ko) 데이터처리회로
JPS63211057A (ja) マルチプロセツサシステム
JP2007041980A (ja) 情報処理装置
JP2003044367A (ja) データ処理装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20081007