JP2006236234A - 割込み処理回路 - Google Patents
割込み処理回路 Download PDFInfo
- Publication number
- JP2006236234A JP2006236234A JP2005053311A JP2005053311A JP2006236234A JP 2006236234 A JP2006236234 A JP 2006236234A JP 2005053311 A JP2005053311 A JP 2005053311A JP 2005053311 A JP2005053311 A JP 2005053311A JP 2006236234 A JP2006236234 A JP 2006236234A
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- register
- cpu
- module
- processing 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
Links
Images
Abstract
【課題】 バスブリッジを介して接続される複数のバスを有するシステムにおいて、CPUの割込み処理に要する時間を短縮し、システムパフォーマンスをアップする事を目的とする。
【解決手段】 本発明の割込み制御回路は、各機能モジュールの割込みレジスタアドレスを登録する手段を有し、割込み発生時に、CPUに代わって割込みソースの状態をフェッチする手段と、CPUが前記割込みレジスタのリード動作を発生させると、予めフェッチしておいた値をCPUに返す手段で構成される。これにより、割込み処理時の応答速度を早め、CPUが常に最速の状態でデータの受け取りが出来る事を特徴とする。
【選択図】 図2
【解決手段】 本発明の割込み制御回路は、各機能モジュールの割込みレジスタアドレスを登録する手段を有し、割込み発生時に、CPUに代わって割込みソースの状態をフェッチする手段と、CPUが前記割込みレジスタのリード動作を発生させると、予めフェッチしておいた値をCPUに返す手段で構成される。これにより、割込み処理時の応答速度を早め、CPUが常に最速の状態でデータの受け取りが出来る事を特徴とする。
【選択図】 図2
Description
本発明は、マイクロコンピュータの割り込み処理の制御回路に関する。
従来、マイクロプロセッサ用の割込み制御回路を構成する際には、通常は専用の割込みコントローラを用いて複数の割込み要求信号の優先度の調停を行う。すなわち、割込みコントローラに割込み要求信号を入力し、割込み要求のうち最も高い要求が選ばれて、その要求に対して以下のような手順で割込みの許可が行われる。
中央処理装置すなわちCPUは、割込みコントローラから割込み要求が発生したことを知らされると、割込み認識サイクルと呼ばれる動作サイクルを実行して割込みの許可を伝え、同時に要求されたサービスに対応する割込みサービス・ルーチンの開始アドレスを決定するための割込みベクタ番号を取得しようとする。そこで割込みコントローラか、または入出力機器の制御部は、このサイクルに応答して割込みベクタを返す。
又、従来例としては、例えば特許文献1と特許文献2と特許文献3をあげることが出来る。
特開平8−95799号公報
特開平10−275136号公報
特登録0336626号公報
CPUの割込み処理は、上記CPU内部の割込み処理を行った後に、割込み要因が発生したモジュールに対して、割込み処理を実行する。割込み要因のモジュールは、CPUからのアクセスが比較的早くできる内部モジュールがある一方、CPUバスからバスブリッジを幾つか経由して接続されているモジュールでは、CPUのバスアクセスに要するレイテンシ−が大きくなるため、CPUからのアクセスには数倍、時には数十倍の時間が必要となる。
特に、このレイテンシーは、CPUからのライト時には、ライトデータがバスを経由して、対象モジュールにライトされ終了する為、CPUはその間別の処理が出来る為、システムパフォーマンスに影響は及ぼさないが、リード時は、対象モジュールからのリードデータを受け取るまで、CPUは別の処理が出来ない為、システムパフォーマンスが低下するという問題点がある。
(目的)
本発明は、上記問題点を解決する為のもので、割込み発生時に、CPUに代わって割込みソースの状態をフェッチし、CPUが常に最速の状態でデータの受け取りが出来るように準備しておく事で、割込み処理時の応答速度を早め、システムパフォーマンスの低下を防ぐ事を目的とする。
本発明は、上記問題点を解決する為のもので、割込み発生時に、CPUに代わって割込みソースの状態をフェッチし、CPUが常に最速の状態でデータの受け取りが出来るように準備しておく事で、割込み処理時の応答速度を早め、システムパフォーマンスの低下を防ぐ事を目的とする。
上記目的を達成する本発明の出力装置は以下に示す構成を備える。
即ち、機能モジュール毎に準備されている割込みレジスタのアドレスを保持する手段を備えることを特徴とする。
即ち、割込み通知を受けると、割込みソースに対応した割込みレジスタに対して、リードサイクルを発生する手段を備えることを特徴とする。
即ち、受け取ったリードデータをアドレスに対応させ保持する手段を備えることを特徴とする。
即ち、CPUからの割込み処理時に、対応アドレスへのアクセスが発生した場合は、予め保持しておいたレジスタ値を送信する手段を備えることを特徴とする。
以上述べたように本発明によれば、CPUの割込み処理が発生する前に、割り込み発生モジュールの割込みレジスタの内容を予め読み出すことで、CPUの割込み処理に要する時間を短縮出来る為、システムパフォーマンスの向上が図れるメリットがある。
図1に一般的なシステム構成を示す。
ここでは、システムバス1とシステムバス2で構成されるシステム関して説明する。尚、この2つのシステムバスは、ASICなどの1チップで構成されるモジュール0に存在しても良いし、システムバス1に接続されるものがモジュール1、システムバス2に接続されるものがモジュール2と示すように、2つのチップで構成されても構わない。
システムバス1には、CPU11とCPUの割込みを制御する割込みコントローラ12、プログラムメモリ・ワークメモリが格納されるメモリ16と画像処理やI/O処理を実行する機能モジュール1_13、機能モジュール2_14と、システムが1チップで構成されている場合は、システムバス1とシステムバス2を接続するバスブリッジ19。
システム1とシステム2が別チップの場合、チップを接続するバスブリッジ15、外部バス30、システムバス2に接続されるバスブリッジ24により構成される。
また、システムバス2には、画像処理やI/O処理を実行する機能モジュール1_21、機能モジュール2_22、機能モジュール3_23から構成されている。
図2に、上記システム構成における、割込み信号の接続図を示す。
割込みコントローラ12は、各機能モジュールからの割込み信号を制御し、割込み信号をCPU11へ伝える。
機能モジュール1,2からの割込み信号は、直接割込みコントローラに入力される。
また、システムバス2に接続されたモジュールの割込み信号は、図示していない、システムバス2に接続される外部用割込みコントローラ25で割込み信号が一旦取りまとめられ、割込みコントローラに入力される。もしくは、システムバス1の場合と同様に、割込みコントローラ12に直接入力される。
図3に割込みコントローラ12の詳細を示す。
割込みコントローラ12は、入力された割込み信号を、CPUの割込みレベル毎に振り分けるセレクト部121とセレクトされた割込みの状態を監視するセンス部122と、振り分けされた割り込みをマスクするマスク部123と、割込み信号をまとめてCPUの割込みとして出力するOR回路124から構成されている。
図6に割込みが発生した場合の、CPUの割込み処理方法を示すフローチャートである。
割り込みが発生すると501,CPUは、実行中のJOBが終了した時点で502,割込み認識サイクルを発生し503,割り込みを許可する504,割込みベクタを取得し505,割込みコントローラ12の制御を行い、割込みマスク、割込みセンスすることで、どのモジュールからの割込みが発生したかを決定する506,続いて、割込みが発生したモジュール内の割込みレジスタのセンスや割込み処理を実行する。507
図4に本発明の割込みセンス回路40を示す。
図4に本発明の割込みセンス回路40を示す。
割込みセンス回路40は、バスブリッジ15もしくは19の内部もしくはそれに付随して存在し、システムバス2から発生した割り込みに対して、CPU12に代わって、割り込みが発生した機能モジュールの割込みレジスタの内容をフェッチするものである。次に、機能モジュール内の割込みレジスタ231を示す。この割込みレジスタは各モジュールに存在する。
図5に本発明の割込みセンス回路40の回路構成を示す。
モジュールアドレス設定部41は、割込みセンス回路内部に準備されたレジスタで、機能モジュールの割込みレジスタの中で、プリフェッチしたいレジスタのアドレスの状況を保持するレジスタである。モジュールアドレス設定部41で準備されたレジスタアドレス411の中から順番に、各機能モジュールの割込み番号412、機能モジュールの割込みアドレス413、機能モジュールの割込みアドレスから読み込んだデータ414の保持、アドレスの読み込みが終了した事を意味するSETフラグ415から構成されている。
割込み検知部42は、各機能モジュールからの割込み信号、割込み21、割込み22、割込み23で発生した割込みを検知し、優先順位設定部421で設定された優先度に従って、割り込みの結果をレジスタリードシーケンサ43に通知したり、割込みが解除された事をモジュールアドレス設定部に通知するブロックである。この、優先順位設定部は、割込みコントローラ12同様の設定方法で、外部割込みの優先順位を決定する。
レジスタリードシーケンサ43は、割込み検知回路が検知した割込みソースから、対象となるレジスタアドレスをモジュール設定部から読み出し、バスコントローラ用のシステムバス2に対してリードリクエストを発行する。実際のバスの管理は、バスブリッジが行う。または、レジスタリードシーケンサ43がバスマスタとなり、システムバス2にアクセスを実行する構成も可能である。リードデータが返ってきたら、モジュールアドレス設定部の対象アドレスに対してリードしたデータを書き込み、書き込みが終了した事をSETフラグに書き込む。
データ送信部44は、CPUがバスブリッジ2に接続されたモジュールに対して、割込み処理を実行しようとした場合、リクエストアドレスを監視し、モジュールアドレス設定部より、対象レジスタアドレス検索し、アドレスが一致し、SETフラグがアクティブになっている場合は、バスブリッジに対して、システムバス2へのリクエストを止めさせるHIT信号をアクティブにし、予めモジュールアドレス設定部で保持しておいたレジスタのリード結果を、CPUに返す。
また、レジスタリードシーケンサがデータの取得中の場合は、リード動作が終了してから、結果をCPUに返す。
本発明の割込み処理方法のフローチャートを図7に示す。
初期設定1として、CPUは割込み検知部42の優先順位設定部421に対して、各割込みソースの優先順位を設定する。601
初期設定2として、CPUはモジュールアドレス設定部41に準備されたレジスタに対して、各機能モジュールで処理する割り込みレジスタのアドレスを登録する。602
割込みが発生501すると、割込み検知回路42は、優先順位設定部の情報に従って割込み優先度の一番高い割込みの情報をレジスタリードシーケンサ43に通知する。603
レジスタリードシーケンサ43は、割込み情報に対応したアドレス情報をモジュールアドレス設定部41から読み込み、システムバス2に接続された対象モジュールに対して、リードサイクルを発行する。604
取得したレジスタ値は、モジュールアドレス設定部41に格納される。605
CPUの内部処理が進み、CPUからのバスブリッジに対してリードリクエストが発生すると、データ送信部44はフェッチしてあるレジスタ情報をCPUに返信する。606
割込み処理が終了すると、割込み信号は、インアクティブになるので、その結果を見て、モジュールアドレス設定部41のSETフラグはクリアされる。607
初期設定2として、CPUはモジュールアドレス設定部41に準備されたレジスタに対して、各機能モジュールで処理する割り込みレジスタのアドレスを登録する。602
割込みが発生501すると、割込み検知回路42は、優先順位設定部の情報に従って割込み優先度の一番高い割込みの情報をレジスタリードシーケンサ43に通知する。603
レジスタリードシーケンサ43は、割込み情報に対応したアドレス情報をモジュールアドレス設定部41から読み込み、システムバス2に接続された対象モジュールに対して、リードサイクルを発行する。604
取得したレジスタ値は、モジュールアドレス設定部41に格納される。605
CPUの内部処理が進み、CPUからのバスブリッジに対してリードリクエストが発生すると、データ送信部44はフェッチしてあるレジスタ情報をCPUに返信する。606
割込み処理が終了すると、割込み信号は、インアクティブになるので、その結果を見て、モジュールアドレス設定部41のSETフラグはクリアされる。607
Claims (5)
- 複数のシステムバスがバスブリッジを経由して接続され、CPUが各システムバスに接続されている機能モジュールの割込み処理を実行するシステムであって、
機能モジュール内の割込みレジスタ情報を保持するモジュールアドレス設定部と、
機能モジュールからの割込みを検知する割込み検知部と、
割込みが発生した機能モジュールの割込みレジスタにアクセスし、レジスタ情報をフェッチするレジスタリードシーケンサ部と、
CPUから割込みが発生した機能モジュールへ割込み処理が発生すると、前記フェッチ情報をCPUに返信するデータ送信部と、
を備えた、割込み処理回路。 - モジュールアドレス設定部は、各システムバスに接続される機能モジュール内の割込みレジスタ情報を、割込み信号の単位毎に登録するレジスタを備える事を特徴とする請求項1の割込み処理回路。
- 割込み検知部は、機能モジュールからの割込みに対して、優先順位を設定する手段を有し、割込み発生時は、優先順位の最上位の割込み情報を、通知する事を特徴とする請求項1の割込み処理回路。
- レジスタリードシーケンサ部は、割込み検知部から通知された割込み情報に従って、モジュールアドレス設定部より、対象レジスタアドレスを取得し、取得したレジスタに対してリート命令を発行して、レジスタのリード結果を、モジュールアドレス設定部にライトする事を特徴とする請求項1の割込み処理回路。
- データ送信部は、CPUから、モジュールアドレス設定部に保持されている、機能モジュール内の登録されている割込みレジスタに対してリードアクセスが発生した場合は、モジュールアドレス設定部に予めフェッチされているデータをCPUに返す事を特徴とする請求項1の割込み処理回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005053311A JP2006236234A (ja) | 2005-02-28 | 2005-02-28 | 割込み処理回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005053311A JP2006236234A (ja) | 2005-02-28 | 2005-02-28 | 割込み処理回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006236234A true JP2006236234A (ja) | 2006-09-07 |
Family
ID=37043784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005053311A Withdrawn JP2006236234A (ja) | 2005-02-28 | 2005-02-28 | 割込み処理回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006236234A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012014230A (ja) * | 2010-06-29 | 2012-01-19 | Fujitsu Semiconductor Ltd | 情報処理システム |
WO2012081085A1 (ja) * | 2010-12-14 | 2012-06-21 | 三菱電機株式会社 | 割込み要因管理装置及び割込み処理システム |
-
2005
- 2005-02-28 JP JP2005053311A patent/JP2006236234A/ja not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012014230A (ja) * | 2010-06-29 | 2012-01-19 | Fujitsu Semiconductor Ltd | 情報処理システム |
WO2012081085A1 (ja) * | 2010-12-14 | 2012-06-21 | 三菱電機株式会社 | 割込み要因管理装置及び割込み処理システム |
DE112010006065T5 (de) | 2010-12-14 | 2013-10-17 | Mitsubishi Electric Corporation | Unterbrechungsursachen-Verwaltungsvorrichtung und Unterbrechungsverarbeitungssystem |
JPWO2012081085A1 (ja) * | 2010-12-14 | 2014-05-22 | 三菱電機株式会社 | 割込み要因管理装置及び割込み処理システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5703378B2 (ja) | アラインメント制御 | |
JP5400443B2 (ja) | 集積回路、デバッグ回路、デバッグコマンド制御方法 | |
JP2009187223A (ja) | プロセッサ、電子機器、割込み制御方法及び割込み制御プログラム | |
EP2645237A2 (en) | Deadlock/livelock resolution using service processor | |
JPH10187642A (ja) | マイクロプロセッサ及びマルチプロセッサシステム | |
TWI334082B (en) | Apparatus, processor, system and method for control registers accessed via private operations,and computer-readable media | |
JP2008033893A (ja) | マルチプロセッサシステム及びマルチプロセッサシステムにおけるアクセス権設定方法 | |
KR900004291B1 (ko) | 데이터 프로세서 | |
JP2006236234A (ja) | 割込み処理回路 | |
JP3432734B2 (ja) | Dma制御装置及びdma制御方法 | |
JP2006221606A (ja) | データプロセッサ | |
JP2003271414A (ja) | 入出力制御装置及びコンピュータシステム | |
KR20180019594A (ko) | 프로세서 시스템의 프로그램 카운터 구조를 보호하고 인터럽트 요청의 처리를 모니터링하기 위한 방법 및 장치 | |
JP5376042B2 (ja) | マルチコアプロセッサシステム、スレッド切り替え制御方法、およびスレッド切り替え制御プログラム | |
JP2011138401A (ja) | プロセッサシステム、プロセッサシステムの制御方法、及び制御回路 | |
WO2007094460A1 (ja) | 並列処理装置及び排他制御方法 | |
JP2008140124A (ja) | データ処理装置 | |
US7765383B2 (en) | Data processing unit and data processing apparatus using data processing unit | |
JP3171615B2 (ja) | データ転送のリトライ制御方式 | |
JP2007026091A (ja) | 割込み制御回路およびその制御方法 | |
JP3341738B2 (ja) | メモリのエラー検出方式 | |
US9342359B2 (en) | Information processing system and information processing method | |
JP3715505B2 (ja) | 特定用途向け演算命令を有する計算機およびその計算機の計算方法 | |
JP5282325B2 (ja) | ポステッドライトバス制御装置 | |
JP2011191865A (ja) | 半導体装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080513 |