JP3778246B2 - 割り込みコントローラ、asic、及び電子機器 - Google Patents
割り込みコントローラ、asic、及び電子機器 Download PDFInfo
- Publication number
- JP3778246B2 JP3778246B2 JP07806799A JP7806799A JP3778246B2 JP 3778246 B2 JP3778246 B2 JP 3778246B2 JP 07806799 A JP07806799 A JP 07806799A JP 7806799 A JP7806799 A JP 7806799A JP 3778246 B2 JP3778246 B2 JP 3778246B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- interrupt
- vector table
- processor
- interrupt controller
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microcomputers (AREA)
Description
【発明の属する技術分野】
本発明は、割り込みコントローラ、ASIC、及び電子機器に関する。
【0002】
【背景技術及び発明が解決しようとする課題】
近年、組み込み用途をターゲットとしたCPU(マイクロプロセッサ)が脚光を浴びている。このような組み込み用途のCPUは、ASICのコアとして組み込まれることを目的としている。即ち、ユーザは、ASICのコアとなるCPUについてはこの組み込み用途のCPUを用い、CPU以外の部分をゲートアレイなどを用いて自身で回路設計する。
【0003】
このような組み込み用途のCPUの1つとしてARM社のARM(AdvancedRISCMachines)と呼ばれるCPUが広く知られている。このARMは、高速のスループットでありながら低消費電力で小規模で低コストなRISC型のCPUである。そして、このARMをコアとするASICは、携帯電話、GSMなどの電子機器に組み込むのに好適なASICとして期待されている。
【0004】
しかしながら、このARMには、割り込み処理に関して以下のような技術的課題があることが判明した。
【0005】
例えば、割り込み処理の際のARMの標準的な動作について図1を用いて説明する。
(A)外部からの割り込み要求IR0〜IR31のいずれかが割り込みコントローラ610に入力されると、割り込みコントローラ610内の割り込み要因レジスタ612が、その割り込み要因を保持する。そして、割り込みコントローラ610は、割り込み要求IRQ(通常レベルの割り込み要求)を発生して、外部割り込み要求があったことをCPU(ARM)600に対して通知する。
(B)IRQを受け付けたCPU600は、図1のA1に示すように、メモリ620のベクタアドレス(00000018H)に格納されている割り込みベクタ622をリードする。そして、A2に示すように割り込みベクタ622によりその開始アドレスが指定される割り込み処理ルーチン(割り込みハンドラ)624を起動させる。
(C)起動した割り込み処理ルーチン624は、割り込み要因レジスタ612に保持されている割り込み要因を調べる。そして、割り込み要因にしたがった種々の処理を行う。
【0006】
このようにARMにおいては、ベクタアドレス(割り込みベクタの格納アドレス)を1つ(00000018H)しか指定できない。従って、ハードウェアでは1箇所の割り込み処理ルーチン624にしか分岐できず、複数箇所の割り込み処理ルーチンへの分岐については、割り込み処理ルーチン624内においてソフトウェア的に分岐するしかなかった。
【0007】
また、特開昭63−165929には、割り込みコントローラ内に割り込みベクタテーブルを内蔵させる従来技術が開示されている。この従来技術では、割り込みコントローラは、外部割り込みが発生すると、割り込み要求を発生してCPUに通知する。そして、割り込みコントローラは、CPUからのACK信号を受け付けると、割り込みベクタテーブルに格納されている割り込みベクタをバスを介してCPUに出力する。
【0008】
しかしながら、この従来技術では、割り込みベクタテーブルを割り込みコントローラ内に設けているため、割り込みコントローラのハードウェアの大規模化、高コスト化の問題を招く。また、メモリ制御やバス制御が煩雑化する等の問題もある。
【0009】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、複数箇所の割り込み処理ルーチンへのダイレクトな分岐を可能にする割り込みコントローラ、ASIC、及び電子機器を提供することにある。
【0010】
【課題を解決するための手段】
上記課題を解決するために本発明は、割り込み制御のための割り込みコントローラであって、外部割り込み要求を受け付けた場合に、プロセッサに対して割り込み要求を発生する手段と、プロセッサからのアドレスをトラップし、プロセッサが前記割り込み要求を受け付けて割り込みベクタのリード命令を実行したか否かを、トラップしたアドレスに基づき判断する手段と、割り込みベクタのリード命令が実行されたと判断した場合に、割り込みベクタテーブルを記憶するメモリに対して、前記外部割り込み要求の要因に応じたベクタテーブルアドレスを発生する手段とを含むことを特徴とする。
【0011】
本発明によれば、外部割り込み要求を受け付けると、プロセッサに対して割り込み要求を発生する。そして、プロセッサは、この割り込み要求を受け付けると、割り込みベクタ(割り込み処理ルーチンの開始アドレス)のリード命令を実行する。この場合、本発明では、プロセッサからのアドレスをトラップし、割り込みベクタのリード命令が実行されたか否かを、このトラップしたアドレスに基づき判断する。そして、実行されたと判断した場合には、受け付けた外部割り込み要求の要因に応じたベクタテーブルアドレス(割り込みベクタテーブルの格納アドレス)をメモリに対して出力する。これにより、割り込みベクタテーブルを記憶するメモリから、外部割り込み要求の要因に応じた割り込みベクタが出力されるようになる。このように本発明によれば、プロセッサが割り込みベクタのベクタアドレスを1つしか指定できない場合にも、複数箇所の割り込み処理ルーチンへのダイレクトな分岐が可能になる。この結果、処理の高速化、プログラムの簡素化等を図ることが可能になる。
【0012】
また本発明は、前記プロセッサ及び前記メモリが高性能の第1のバスに接続され、割り込みコントローラが低性能の第2のバスに接続されることを特徴とする。本発明では割り込みベクタテーブルが、割り込みコントローラ内ではなくメモリ内に設けられる。従って、このように割り込みコントローラを低性能の第2のバスに接続しても、高性能の第1のバスを介してメモリから割り込みベクタテーブルを高速に読み出すことができるようになる。この結果、割り込みコントローラのハードウェアの小規模化を図りながらも、割り込み処理の高速化を図れるようになる。
【0013】
また本発明は、プロセッサからのアドレスと割り込みコントローラからのベクタテーブルアドレスのいずれかを選択して出力するセレクタへのアドレス切り替え信号を生成することを特徴とする。このようにすれば、通常動作時におけるプロセッサからのアドレスの信号遅延を、最小にすることができるようになる。
【0014】
また本発明は、ベクタテーブルアドレスのベースアドレスを記憶するベースレジスタを含み、前記外部割り込み要求の要因と前記ベースレジスタからのベースアドレスとに基づいて、前記ベクタテーブルアドレスを発生することを特徴とする。このようにすれば、メモリ内のユーザの所望するアドレスに、割り込みベクタを連続して格納できるようになり、ユーザの利便性を向上できる。
【0015】
また本発明は、プロセッサからのアドレスをトラップし前記ベクタテーブルアドレスを発生する処理が有効になる第1のモードと、該処理が無効になる第2のモードとが切り替え可能であることを特徴とする。このようにすれば、ベクタテーブルアドレスが発生する第1のモードでの動作を希望するユーザと、標準的な第2のモードでの動作を希望するユーザの両方の要望に応えることができるようになる。
【0016】
また本発明に係るASICは、上記のいずれかの割り込みコントローラと、命令の実行処理を行う前記プロセッサと、少なくとも前記割り込みベクタテーブルを記憶する前記メモリとを含むことを特徴とする。このようにすれば、種々の層のユーザの要望に応えることができるASICを提供できるようになる。
【0017】
また本発明に係る電子機器は、上記のASICと、データを入力するための入力手段と、前記ASICの制御の下で画像及び音の少なくとも一方を出力する出力手段とを含むことを特徴とする。このようにすれば、例えば入力手段を用いた複数の操作の各々に対応した割り込み処理ルーチンに、ダイレクトに且つ即座に分岐できるようになる。これにより電子機器を動作させるプログラムの簡素化や、処理の高速化を図れるようになる。
【0018】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。
【0019】
1.割り込みコントローラ
図2に、本実施形態の割り込みコントローラとその周辺装置のブロック図を示す。
【0020】
ARMにおいては、ASB(AdvancedSystemBus)とAPB(Advanced PeripheralBus)がバスブリッジ10を介して接続されるAMBA(AdvancedMicrocontrollerBusArchitecture)と呼ばれるバスアーキテクチャを採用している。
【0021】
システム用のバスであるASBは、アドレスバスASAB、データバスASDB、バス制御線ASBCを有する。ASBは高性能のバスであり、高速な処理速度が要求されるCPU20やメモリ40が接続されるバスとして適している。またASBでは、ASBCを用いたバス制御も複雑なものになっている。
【0022】
ペリフェラル用のバスであるAPBは、アドレスバスAPAB、データバスAPDB、バス制御線APBCを有する。APBはASBに比べると低性能のバスであるが、低消費電力という観点からはASBよりも優れている。またAPBCを用いたバス制御もASBに比べて簡易になっている。APBには、それほど高速な処理速度が要求されない割り込みコントローラ30、タイマ12、PIO14、UART16などのI/Oデバイスが接続される。
【0023】
CPU(広義にはプロセッサ)20は各種の命令の実行処理を行うものであり、本実施形態ではCPU20としてARMが用いられている。CPU20は、アドレスバスASAB、データバスASDB、バス制御線ASBCとのインターフェースとして機能するバスI/F部22を含む。
【0024】
割り込みコントローラ30は、外部からの割り込み要求IR0〜IR31を検出する処理や、外部割り込み要求があった場合にIRQを発生してCPU20に通知する処理などを行う。また本実施形態の割り込みコントローラ30は、ベクタテーブルアドレスVTA(割り込みベクタテーブル44の格納アドレス)やアドレス切り替え信号SSを発生する処理も行う。
【0025】
メモリ40は、割り込みベクタテーブル44を記憶する。即ち、特開昭63−165929の従来技術では割り込みコントローラ内に割り込みベクタテーブルが設けられているのに対して、本実施形態では、メモリ40内に割り込みベクタテーブル44が設けられている。
【0026】
次に、本実施形態の動作について簡単に説明する。
(1)割り込みコントローラ30は、外部からの割り込み要求IR0〜IR31のいずれかを受け付けると、CPU20に対して割り込み要求IRQを発生し、外部割り込み要求があったことをCPU20に通知する。
(2)IRQを受け付けたCPU20は、割り込み処理への移行が可能である場合には、ベクタアドレス(00000018H)に格納される割り込みベクタ42のリード命令を実行する。
(3)割り込みコントローラ30は、CPU20からのアドレスADをトラップする。そして、CPU20が割り込みベクタ42のリード命令を実行したか否かを、トラップしたアドレスに基づき判断する。
(4)割り込みコントローラ30は、割り込みベクタ42のリード命令が実行されたと判断した場合には、上記(1)で受け付けた外部割り込み要求の要因に応じたベクタテーブルアドレスVTAを発生する。また、セレクタ32がCPU20からのアドレスADではなくベクタテーブルアドレスVTAを選択してSQに出力するように、アドレス切り替え信号SSを制御する。これにより、アドレスバスASAB上には、CPU20からのベクタアドレス(00000018H)ではなく、割り込みコントローラ30が発生したベクタテーブルアドレスVTA(割り込みベクタテーブル44の格納アドレス)が出力されることになる。
【0027】
以上のようにすれば、CPU20は割り込みベクタ42を読み出したつもりであっても、実際には、割り込みベクタテーブル44の割り込みベクタV0〜V31のいずれかが読み出されるようになる。即ち、上記(1)で外部割り込み要求IR0を受け付けた場合には割り込みベクタV0が、IR1を受け付けた場合には場合にはV1が、IR2を受け付けた場合には場合にはV2が・・・・IR31を受け付けた場合にはV31が読み出されることになる。
【0028】
そして、割り込みベクタV0が読み出された場合には、V0により開始(先頭)アドレスが指定される割り込み処理ルーチンP0が起動し、V1が読み出された場合にはV1により開始アドレスが指定される割り込み処理ルーチンP1が起動し・・・・V31が読み出された場合にはV31により開始アドレスが指定される割り込み処理ルーチンP31が起動するようになる。なお、図2では、説明を簡易化するために(00000018H)に割り込みベクタ42を格納しているが、この割り込みベクタ42は結局読み出されないことになるため、(00000018H)に割り込みベクタ42を格納しておく必要は必ずしもない。
【0029】
以上のように本実施形態によれば、ベクタアドレスを1つ(00000018H)しか指定できないCPU(ARM)20を用いた場合にも、複数箇所の割り込み処理ルーチンP0〜P31へダイレクトに分岐できるようになる。
【0030】
即ち、ARMにおいては図1で説明したようにハードウェアで1箇所の割り込み処理ルーチン624にしか分岐できない。このため、複数箇所の割り込み処理ルーチンへの分岐については、最初に起動した割り込み処理ルーチン624によるソフトウェア処理により分岐するしかなかった。このため、外部割り込み要求IR0〜IR31が入力された場合に、各々の外部割り込み要求に対応する割り込み処理ルーチンに即座に分岐することができなかった。
【0031】
これに対して、本実施形態によれば、例えば外部割り込み要求IR0が入力された場合には割り込み処理ルーチンP0にダイレクトに分岐し、IR1が入力された場合にはP1にダイレクトに分岐するというように、複数箇所の割り込み処理ルーチンP0〜P31に割り込み要因別にダイレクトに且つ即座に分岐できるようになる。この結果、処理の高速化、プログラムのコンパクト化、簡素化等を図れるようになる。しかも、CPU20は、通常通りに単に(000000018H)の割り込みベクタ42をリードする動作を行うだけでよい。従って、システムの他の部分の変更を伴わずに、複数箇所の割り込み処理ルーチンへのダイレクトな分岐が可能になる。
【0032】
図3、図4に、特開昭63−165929の従来技術を適用した場合の例を、本実施形態の比較例として示す。
【0033】
図2では、割り込みベクタテーブル44はメモリ40に設けられているが、図3では、割り込みベクタテーブル732は割り込みコントローラ730に設けられている。また図3では、割り込みコントローラ730は低性能のAPBに接続されている。従って、CPU720が割り込みベクタテーブル732を読み出すためには、図3のB1に示すように、ASB、バスブリッジ710及びAPBを介して読み出さなければならない。このため、割り込み処理の高速化が妨げられる。更に、図3では、割り込みベクタテーブル732が割り込みコントローラ730内に設けられるため、割り込みコントローラ730のハードウェアが大規模化する。
【0034】
これに対して、図2の本実施形態では、割り込みベクタテーブル44はメモリ40に設けられる。従って、CPU20はASBを介してメモリ40から高速に割り込みベクタテーブル44を読み出すことができる。従って、割り込みコントローラ30をAPBに接続していても、割り込み処理の高速化が妨げられることがない。また、割り込みベクタテーブル44がメモリ40に設けられているため、図2に比べて割り込みコントローラ30のハードウェアを小規模化できる。そして、メモリ40の余りの領域に割り込みベクタテーブル44を格納するようにすれば、メモリ40が大規模化する事態も防止できる。
【0035】
図4では、割り込みコントローラ730が高性能のASBに接続されている。このように割り込みコントローラ730をASBに接続すれば、図4のB2に示すように、CPU720はASBを介して割り込みコントローラ730から図3と比較して高速に割り込みベクタテーブル732を読み出すことができる。
【0036】
しかしながら、図4のように割り込みコントローラ730をASBに接続すると、割り込みコントローラ730に持たせるバスI/F部734のハードウェアが大規模化してしまう。ASBはAPBに比べて高度なバス制御が必要になるからである。
【0037】
また、IRQを受け付けたCPU720は図4のB3に示すようにメモり740の割り込みベクタ742を読みに行く。従って、CPU720に割り込みベクタテーブル732を適正に読み出させるためには、割り込みベクタテーブル732の読み出し時にメモリ740の動作を抑止する等の制御が必要になる。このため、メモリ制御やバス制御が煩雑化するという問題を招く。
【0038】
これに対して本実施形態によれば、図2のように割り込みコントローラ30を通常通りAPBに接続できる。従って、簡易なバス制御で済むため割り込みコントローラ30のハードウェアが大規模化する事態を防止できる。また、割り込みベクタテーブル44はメモリ40に設けられるため、割り込みベクタテーブル44の読み出し時にメモり40の動作を抑止する制御も必要ない。従って、メモリ制御やバス制御が煩雑化するという事態を防止できる。
【0039】
次に、割り込みコントローラ30の具体的な構成例について図5を用いて説明する。
【0040】
割り込み要因レジスタ50は、外部割り込み要求IR0〜IR31が入力された場合にその割り込み要因を保持するためのレジスタである。より具体的には、割り込み要因レジスタ50は、IR0〜IR31の信号レベルを保持する。
【0041】
割り込み要求発生部52は、割り込み要求レジスタ50に格納されている割り込み要因に基づいて、CPU20に対して割り込み要求IRQを発生するためのものである。即ち、外部割り込み要求IR0〜IR31のいずれかが入力されると、IRQを発生して、CPU20に外部割り込み要求が入力されたことを通知する。
【0042】
ベースレジスタ54は、ベクタテーブルアドレスVTAのベースアドレスとなる上位ビットを記憶するレジスタである。このベースレジスタ54にはデータバス(APDB)が接続されており、CPU20がアクセス可能になっている。従って、ユーザは、自身が所望するベースアドレスをこのベースレジスタ54に対して書き込むことができる。従って、ユーザは、メモリ40の所望のアドレスに割り込みベクタV0〜V31を連続的に配置できるようになる。この結果、プログラムのコンパクト化、簡素化等を図れると共に、ユーザの利便性を向上できる。
【0043】
プライオリティエンコーダ56は、割り込み要因レジスタ50からの割り込み要因に基づいて、ベクタテーブルアドレスVTAの下位ビットを発生する。即ち、ベクタテーブルアドレスVTAは、ベースレジスタ54からのベースアドレス(上位ビット)と、プライオリティエンコーダ56からの下位ビットを連結することで生成されることになる。なお、外部割り込み要求IR0〜IR31が複数入力された場合には、最も優先順位が高い割り込み要因に対応するベクターテーブルアドレスVTAの下位ビットが、プライオリティエンコーダ56から出力されることになる。
【0044】
制御部60は、アドレスバスAPAB、バス制御線APBCを受け、各種のレジスタ制御信号を生成するためのものである。
【0045】
アドレス比較器62は、CPU20からのアドレスADをトラップし、このADと(00000018H)とを比較するものである。ADと(00000018H)が一致した場合には、アドレス比較器62の出力であるアドレス切り替え信号SSがLレベルになる。これにより、トライステートバッファ58が導通し、ベクタテーブルアドレスVTAが図2のセレクタ32に出力されることになる。
【0046】
モードフラグレジスタ64は、第1のモード(CPU20からのアドレスをトラップしベクタテーブルアドレスVTAを発生する処理が有効になるモード)と、第2のモード(この処理が無効になるモード)とを切り替えるためのモードフラグを格納するレジスタである。例えば第1のモードでは、モードフラグレジスタ64の出力MQがLレベルになり、アドレス比較器62の比較動作がイネーブルになる。一方、第2のモードでは、MQはHレベルになり、アドレス比較器62の比較動作がディスエーブルになり、アドレス比較62の出力SSはHレベルに固定される。これにより、トライステートバッファ58が常に非導通になると共に、図2のセレクタ32はCPU20からのアドレスADを常に選択して出力するようになる。
【0047】
このモードフラグレジスタ64は、データバスAPDBに接続されており、CPU20が自由にアクセスできるようになっている。従って、このモードフラグレジスタ64を利用すれば、ベクタテーブルアドレスVTAが発生しCPU20により割り込みベクタテーブル44が読み出される第1のモードと、CPU20により通常通り(00000018H)の割り込みベクタ42が読み出される第2のモードとを自在に切り替えることができるようになる。この結果、第1のモードでの動作を所望するユーザと、ARMの標準的な動作である第2のモードでの動作を所望するユーザの両方の要望に、ハードウェアを変更することなくモードフラグレジスタ64を書き換えるだけで対応できるようになる。
【0048】
次に図5の割り込みコントローラ30の動作について図6の信号波形図を用いて簡単に説明する。
【0049】
図6のC1に示すように外部割り込み要求IRn(n=0〜31)の信号がLレベルからHレベルに変化すると、変化後の信号レベルが割り込み要因レジスタ50に保持される。そして、C2に示すようにCPU20への割り込み要求IRQの信号がLレベルからHレベルに変化すると共に、C3に示すようにプライオリティエンコーダ56からベクタテーブルアドレスVTAの下位ビットが発生する。
【0050】
次に、割り込み要求IRQを受け付けたCPU20がC4に示すようにアドレスADに(00000018H)を出力すると、アドレス比較器62による比較動作により、C5に示すようにアドレス切り替え信号SSがHレベルからLレベルに変化する。これによりトライステートバッファ58が導通状態になると共にセレクタ32によりベクタテーブルアドレスVTAが選択されて出力される。この結果、C6に示すように、アドレスバスASAB上には、CPU20からの(00000018H)ではなくベクタテーブルアドレスVTAが出力される。これにより、C7に示すように、メモリ40からは割り込みベクタVn(IRnに対応する割り込みベクタ)が読み出され、データバスASDB上に出力されるようになる。これにより、割り込み処理ルーチンPnへのダイレクトな分岐が可能になる。
【0051】
2.マイクロコンピュータ(ASIC)
図7に、本実施形態の割り込みコントローラ30を含むマイクロコンピュータ(広義にはASIC)のブロック図の例を示す。
【0052】
バスAPBにはタイマ12、PIO14、UART16、本実施形態の割り込みコントローラ30などが接続されている。一方、バスAPBとバスブリッジ10を介して接続されるバスASBには、CPU20、メモリ40などが接続されている。
【0053】
バスASBは外部バスI/F部70を介して外部バスに接続される。そして、この外部バスには、ユーザロジック回路部72、LCD制御部74、外部メモリ76などが接続される。
【0054】
ここで、ユーザロジック回路部72は、ユーザがゲートアレイなどを利用して設計した回路からなるブロックである。このようなユーザロジック回路部72を設けることで、各ユーザ毎に仕様の異なるマイクロコンピュータを実現できる。
【0055】
LCD制御部74は、LCDの表示を制御するための各種信号を生成するためのものである。このようなLCD制御部74を設けることで、携帯電話やGSMに好適なマイクロコンピュータを実現できるようになる。外部メモリ76は、外部に設けられるメモリであり、その機能はRAMやROMなどのハードウェアにより実現できる。
【0056】
図7のマイクロコンピュータによれば、各ユーザが所望する仕様に沿ったマイクロコンピュータを提供できるようになる。特に、本実施形態では、図5のモードフラグレジスタ64を書き換えることで、複数のベクタテーブルアドレスを発生する第1のモードと、ARMの標準動作を行う第2のモードとを、ハードウェアを変更することなく切り替えることができる。従って、より幅広い層のユーザの要望に沿ったマイクロコンピュータを提供できるようになる。
【0057】
3.電子機器
図8に、図7のマイクロコンピュータ(ASIC)を含む電子機器のブロック図の一例を示す。この電子機器は、マイクロコンピュータ500、入力部502、メモリ504、電源生成部506、画像出力部508、音出力部510を含む。
【0058】
ここで、入力部502は、種々のデータを入力するためのものである。マイクロコンピュータ500は、この入力部502により入力されたデータに基づいて種々の処理を行うことになる。メモリ504は、マイクロコンピュータ500などの作業領域となるものである。電源生成部506は、電子機器で使用される各種電源を生成するためのものである。画像出力部508は、電子機器が表示する各種の画像(文字、アイコン、グラフィック等)を出力するためのものであり、その機能は、LCDやCRTなどのハードウェアにより実現できる。音出力部510は、電子機器が出力する各種の音(音声、ゲーム音等)を出力するためのものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【0059】
図9(A)に、電子機器の1つである携帯電話550の外観図の例を示す。この携帯電話550は、入力部として機能するダイヤルボタン552や、画像出力部として機能し電話番号や名前やアイコンなどを表示するLCD554や、音出力部として機能し音声を出力するスピーカ556を備える。
【0060】
図9(B)に、電子機器の1つである携帯型ゲーム装置560の外観図の例を示す。この携帯型ゲーム装置560は、入力部として機能する操作ボタン562、十字キー564や、画像出力部として機能しゲーム画像を表示するLCD566や、音出力部として機能しゲーム音を出力するスピーカ568を備える。
【0061】
図9(C)に、電子機器の1つである電子手帳570の外観図の例を示す。この電子手帳570は、入力部として機能するキーボード572や、画像出力部として機能し文字、数字、グラフィックなどを表示するLCD574を備える。
【0062】
図8〜図9(C)の電子機器に、本実施形態の割り込みコントローラを用いた図7のマイクロコンピュータを組み込めば、以下のような利点を得ることができる。例えば、図9(A)のダイヤルボタン552が押された場合に、図1の手法では、どのボタンが押されたかを、割り込み処理ルーチン624がソフトウェア的に検出する必要がある。このため、処理の高速化が妨げられると共にプログラムの記述も煩雑なものになる。これに対して、本実施形態の割り込みコントローラを利用すれば、ダイヤルボタン552が押されると、押されたボタンに対応する割り込み処理ルーチンをダイレクトに且つ即座に起動できるようになる。これにより、処理の高速化を図れると共にプログラムの記載も簡素化できるようになる。
【0063】
なお、本実施形態を利用できる電子機器としては、図9(A)、(B)、(C)に示すもの以外にも、携帯型情報端末、ページャー、電子卓上計算機、タッチパネルを備えた装置、プロジェクタ、ワードプロセッサ、ビューファインダ型又はモニタ直視型のビデオテープレコーダ、カーナビゲーション装置、プリンタ等、種々の電子機器を考えることができる。
【0064】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【0065】
例えば、割り込みベクタのリード命令が実行されたか否かを判断する手法や、外部割り込み要求の要因に応じたベクタテーブルアドレスを発生する手法は、図5、図6などで説明したものが特に望ましいが、これに限定されるものではない。
【0066】
また、割り込みコントローラ、CPU(プロセッサ)、メモリの接続も図2に示すものが特に望ましいが、これに限定されるものではない。
【0067】
また、図2のように、CPUからのADと割り込みコントローラからのVTAのいずれかを選択して出力するセレクタを設ける手法は、通常動作時においてアドレスADの信号遅延を最小化するために特に望ましい。しかしながら、本発明では、このようなセレクタを設けない構成とすることも可能である。
【0068】
また、本発明のASICや電子機器の構成も、図7〜図9(C)で説明したものに限定されるものでなく、種々の変形実施が可能である。
【図面の簡単な説明】
【図1】割り込み処理の際のARMの標準的動作について説明するための図である。
【図2】本実施形態の割り込みコントローラとその周辺装置について示すブロック図である。
【図3】従来技術を適用した場合の例を比較例として示した図である。
【図4】従来技術を適用した場合の例を比較例として示した図である。
【図5】割り込みコントローラの詳細な構成例を示す図である。
【図6】割り込みコントローラの動作について説明するための信号波形図である。
【図7】本実施形態の割り込みコントローラを用いたマイクロコンピュータ(ASIC)の構成例を示す図である。
【図8】図7のマイクロコンピュータが組み込まれる電子機器のブロック図の例である。
【図9】図9(A)、(B)、(C)は、種々の電子機器の外観図の例である。
【符号の説明】
10 バスブリッジ
12 タイマ
14 PIO
16 UART
20 CPU(ARM)
22 バスI/F部
30 割り込みコントローラ
32 セレクタ
40 メモリ
42 割り込みベクタ
44 割り込みベクタテーブル
50 割り込み要因レジスタ
52 割り込み要求発生部
54 ベースレジスタ
56 プライオリティエンコーダ
58 トライステートバッファ
60 制御部
62 アドレス比較器
64 モードフラグレジスタ
Claims (5)
- 割込み制御のための割り込みコントローラであって、
外部割り込み要求を受け付けた場合に、プロセッサに対して割り込み要求を発生する割込み要求発生部と、
プロセッサからのアドレスをトラップし、そのアドレスと所定のベクタアドレスとを比較して、プロセッサからのアドレスと割り込みコントローラからのベクタテーブルアドレスのいずれかを選択して出力するセレクタへのアドレス切り替え信号を生成するアドレス比較器と、
前記ベクタテーブルアドレスのベースアドレスとなる上位ビットを記憶し、前記プロセッサがアクセス可能なベースレジスタと、
前記外部割り込み要求の要因に基づいて、前記ベクタテーブルアドレスの下位ビットを発生させるプライオリティエンコーダと、
前記上位ビットと前記下位ビットとを連結して前記外部割り込み要求の要因に応じたベクタテーブルアドレスを生成するトライステートバッファと、
を含み、
前記アドレス比較器が、
前記プロセッサからのアドレスと前記所定のベクタアドレスとが一致すると判断された場合に、前記外部割り込み要求の要因に応じたベクタテーブルアドレスを前記セレクタに選択出力させるアドレス切り替え信号を生成し、
前記トライステートバッファが、
前記アドレス切り替え信号が入力可能に設けられ、該アドレス切り替え信号の出力態様に応じて導通状態と非導通状態とが切り替えられ、導通状態において前記セレクタに対してベクタテーブルアドレスを出力することを特徴とする割り込みコントローラ。 - 請求項1において、
前記プロセッサ及び割込みベクタテーブルを記憶するメモリが高性能の第1のバスに接続され、割り込みコントローラが低性能の第2のバスに接続されることを特徴とする割り込みコントローラ。 - 請求項1又は2において、
プロセッサからのアドレスをトラップし前記ベクタテーブルアドレスを発生する処理が有効になる第1のモードと、該処理が無効になる第2のモードとが切り替え可能であることを特徴とする割り込みコントローラ。 - 請求項1乃至3のいずれかの割り込みコントローラと、
命令の実行処理を行う前記プロセッサと、
少なくとも割り込みベクタテーブルを記憶するメモリとを含むことを特徴とするASIC。 - 請求項4のASICと、
データを入力するための入力手段と、
前記ASICの制御の下で画像及び音の少なくとも一方を出力する出力手段とを含むことを特徴とする電子機器。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07806799A JP3778246B2 (ja) | 1999-03-23 | 1999-03-23 | 割り込みコントローラ、asic、及び電子機器 |
US09/700,645 US6654839B1 (en) | 1999-03-23 | 2000-03-23 | Interrupt controller, asic, and electronic equipment |
PCT/JP2000/001768 WO2004104828A1 (ja) | 1999-03-23 | 2000-03-23 | 割り込みコントローラ、asic、及び電子機器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07806799A JP3778246B2 (ja) | 1999-03-23 | 1999-03-23 | 割り込みコントローラ、asic、及び電子機器 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000276358A JP2000276358A (ja) | 2000-10-06 |
JP3778246B2 true JP3778246B2 (ja) | 2006-05-24 |
Family
ID=13651510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP07806799A Expired - Fee Related JP3778246B2 (ja) | 1999-03-23 | 1999-03-23 | 割り込みコントローラ、asic、及び電子機器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6654839B1 (ja) |
JP (1) | JP3778246B2 (ja) |
WO (1) | WO2004104828A1 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004213102A (ja) * | 2002-12-26 | 2004-07-29 | Fujitsu Ltd | マイクロコンピュータ |
JP2005100210A (ja) * | 2003-09-26 | 2005-04-14 | Oki Electric Ind Co Ltd | バス構成回路 |
US20050138512A1 (en) * | 2003-12-01 | 2005-06-23 | Oki Electric Industry Co., Ltd. | Semiconductor integrated circuit |
JP4409349B2 (ja) | 2004-04-27 | 2010-02-03 | Okiセミコンダクタ株式会社 | デバッグ回路およびデバッグ制御方法 |
KR101086401B1 (ko) | 2004-06-02 | 2011-11-25 | 삼성전자주식회사 | 서로 다른 속도로 동작하는 버스들을 인터페이싱하는 방법및 장치 |
US7424563B2 (en) * | 2006-02-24 | 2008-09-09 | Qualcomm Incorporated | Two-level interrupt service routine |
US20080005366A1 (en) * | 2006-04-04 | 2008-01-03 | Sreenidhi Raatni | Apparatus and methods for handling requests over an interface |
US7913017B2 (en) * | 2008-09-25 | 2011-03-22 | Mediatek Inc. | Embedded system and interruption handling method |
JP5938945B2 (ja) * | 2012-02-29 | 2016-06-22 | ブラザー工業株式会社 | 割り込み制御装置、画像処理装置 |
US10067892B2 (en) * | 2015-03-06 | 2018-09-04 | Microchip Technology Incorporated | Microcontroller or microprocessor with dual mode interrupt |
CN111506530A (zh) * | 2019-01-30 | 2020-08-07 | 智原科技股份有限公司 | 中断管理系统及其管理方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5232647A (en) * | 1975-09-08 | 1977-03-12 | Mitsui Eng & Shipbuild Co Ltd | Interruption system of electronic computer |
JPS6057440A (ja) * | 1983-09-08 | 1985-04-03 | Nippon Telegr & Teleph Corp <Ntt> | 情報処理装置 |
US4628449A (en) * | 1983-11-14 | 1986-12-09 | Tandem Computers Incorporated | Vector interrupt system and method |
JPS63165929A (ja) | 1986-12-27 | 1988-07-09 | Mitsubishi Electric Corp | 情報処理システム |
JPH01311353A (ja) * | 1988-06-10 | 1989-12-15 | Toshiba Corp | 割込み制御装置 |
US5007082A (en) * | 1988-08-03 | 1991-04-09 | Kelly Services, Inc. | Computer software encryption apparatus |
JP3208332B2 (ja) | 1995-12-20 | 2001-09-10 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 割込み装置 |
US6378023B1 (en) * | 1996-02-14 | 2002-04-23 | Advanced Micro Devices, Inc. | Interrupt descriptor cache for a microprocessor |
US5944816A (en) * | 1996-05-17 | 1999-08-31 | Advanced Micro Devices, Inc. | Microprocessor configured to execute multiple threads including interrupt service routines |
-
1999
- 1999-03-23 JP JP07806799A patent/JP3778246B2/ja not_active Expired - Fee Related
-
2000
- 2000-03-23 US US09/700,645 patent/US6654839B1/en not_active Expired - Fee Related
- 2000-03-23 WO PCT/JP2000/001768 patent/WO2004104828A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2004104828A1 (ja) | 2004-12-02 |
JP2000276358A (ja) | 2000-10-06 |
US6654839B1 (en) | 2003-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6810444B2 (en) | Memory system allowing fast operation of processor while using flash memory incapable of random access | |
JP3778246B2 (ja) | 割り込みコントローラ、asic、及び電子機器 | |
US8726056B2 (en) | Clock control device, clock control method, clock control program and integrated circuit | |
JP2010231626A (ja) | 情報処理装置 | |
US20080010541A1 (en) | Integrated circuit device, debugging tool, debugging system, microcomputer, and electronic instrument | |
US20050235100A1 (en) | Semiconductor integrated circuit device, microcomputer, and electronic equipment | |
JP2000276370A (ja) | マイクロコンピュータ、電子機器及びエミュレーション方法 | |
JP2007193572A (ja) | Cpu、集積回路装置、マイクロコンピュータ及び電子機器 | |
US20040233772A1 (en) | Semiconductor device, semiconductor circuit, electronic equipment, and method of controlling clock-supply | |
US7363465B2 (en) | Semiconductor device, microcomputer, and electronic equipment | |
JP3606124B2 (ja) | 半導体集積回路装置及び電子機器 | |
JP3899784B2 (ja) | クロック制御装置、半導体集積回路装置、マイクロコンピュータ及び電子機器 | |
JPH0520275A (ja) | 小型情報端末機 | |
JP2007207075A (ja) | Cpu、集積回路装置、マイクロコンピュータ、電子機器、及びcpuの制御方法 | |
JP2008065549A (ja) | マイクロコンピュータ、情報処理システム、電子機器及びマイクロコンピュータの起動制御方法 | |
JP2000276369A (ja) | バスブリッジ回路、asic、及び電子機器 | |
JP3760999B2 (ja) | 情報処理装置、マイクロコンピュータ及び電子機器 | |
US20040240307A1 (en) | Semiconductor device, semiconductor circuit, electronic equipment, and method of controlling clock-supply | |
JP4339468B2 (ja) | 消費電力を低減したアドレス生成回路 | |
JPH04349526A (ja) | 情報端末機 | |
WO1998044408A1 (fr) | Micro-ordinateur et equipement electronique | |
JP2002297272A (ja) | 電子機器の処理方法および電子機器 | |
JP2731026B2 (ja) | 表示制御装置 | |
JP2006285761A (ja) | 集積回路装置、マイクロコンピュータ及び電子機器 | |
JP2006285760A (ja) | 集積回路装置、マイクロコンピュータ及び電子機器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050405 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050603 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051116 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20051220 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060116 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060208 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060221 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090310 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100310 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100310 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110310 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120310 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120310 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130310 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140310 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |