JP5440419B2 - 情報処理システム - Google Patents

情報処理システム Download PDF

Info

Publication number
JP5440419B2
JP5440419B2 JP2010147249A JP2010147249A JP5440419B2 JP 5440419 B2 JP5440419 B2 JP 5440419B2 JP 2010147249 A JP2010147249 A JP 2010147249A JP 2010147249 A JP2010147249 A JP 2010147249A JP 5440419 B2 JP5440419 B2 JP 5440419B2
Authority
JP
Japan
Prior art keywords
information
interrupt
address
control circuit
low
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
Application number
JP2010147249A
Other languages
English (en)
Other versions
JP2012014230A (ja
Inventor
隆之 久米
洋亮 南里
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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor 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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2010147249A priority Critical patent/JP5440419B2/ja
Priority to US13/070,154 priority patent/US8560748B2/en
Publication of JP2012014230A publication Critical patent/JP2012014230A/ja
Application granted granted Critical
Publication of JP5440419B2 publication Critical patent/JP5440419B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Description

本発明は、プログラムを実行するととともに割り込み要求に応答して割り込み処理を実施するプロセッサを含む情報処理システムに関する。
CPU等のプロセッサへの割り込み要求が発生してからプロセッサが割り込み処理プログラムの実行を開始するまでの期間に、割り込み処理プログラムをプリフェッチバッファにプリフェッチする情報処理システムが提案されている(例えば、特許文献1参照。)。また、割り込み処理が規則的に発生する情報処理システムにおいて、割り込み処理で使用するデータをキャッシュメモリに予め転送する手法が提案されている(例えば、特許文献2参照。)。
特開平8−221270号公報 特開2004−252729号公報
割り込み処理に使用されるI/Oデバイス等のレジスタの値は、プログラムによる書き換え以外の要因によっても変化する。一方、キャッシュメモリ内のデータは、データが追い出されるまで長い期間にわたり保持されることがある。このため、I/Oデバイス等のレジスタに保持されたデータをキャッシュメモリに保持しても、レジスタの値とキャッシュメモリに保持された値が同じであることを保証できない。すなわち、上述した割り込み処理プログラムはキャッシュメモリにプリフェッチすることが可能であるのに対して、I/Oデバイス等のレジスタに保持されているデータは、キャッシュメモリにプリフェッチすることができない。したがって、割り込み処理プログラムにおいて、I/Oデバイス等のレジスタは、直接アクセスされる必要がある。一般に、I/Oデバイス等は低速なスレーブポートに接続されているため、I/Oデバイス等のレジスタを直接アクセスすることにより、割り込み処理プログラムの実行効率は低下し、情報処理システムの性能は低下する。
本発明の一形態では、情報処理システムは、高速バスインターフェースに接続され、プログラムを実行するプロセッサと、低速バスインターフェースを介してアクセスされ、割り込み要因を示す情報が格納される情報レジスタを含み、プロセッサに割り込み要求を発行する少なくとも1つの低速スレーブと、高速バスインターフェースに接続される割り込み処理専用のバッファを含み、プロセッサへの割り込み要求に応答して、リマップ信号をアサートするとともに、情報レジスタに格納されている情報を読み出し、読み出した情報をバッファに書き込む割り込み制御回路と、リマップ信号のネゲート中に、プロセッサから情報レジスタへの読み出しアクセス要求を低速スレーブに供給し、リマップ信号のアサート中に、バッファから情報を読み出すために読み出しアクセス要求を割り込み制御回路を介してバッファに供給する切替回路とを有している。
低速スレーブの情報レジスタに格納されている情報を割り込み処理専用のバッファに格納し、プロセッサからの読み出しアクセス要求を切替回路を用いてバッファに供給することで、情報処理システムの性能を低下することなく、割り込み処理時間を短縮できる。
一実施形態における情報処理システムの例を示している。 別の実施形態における情報処理システムの例を示している。 図2に示した割り込み制御回路の例を示している。 図2に示したアドレスデコーダの例を示している。 図2に示したCPUの割り込み処理の例を示している。 図2に示したCPUの割り込み処理の別の例を示している。 別の実施形態における情報処理システムの例を示している。 図7に示した割り込み制御回路の例を示している。 図7に示したアドレスデコーダの例を示している。 別の実施形態における情報処理システムの例を示している。 図10に示した割り込み制御回路の例を示している。 別の実施形態における割り込み制御回路の例を示している。 別の実施形態における情報処理システムの例を示している。
以下、実施形態を、図面を用いて説明する。
図1は、一実施形態における情報処理システムIPSの例を示している。情報処理システムIPSは、高速バスインターフェースHSBUSに接続されるCPU(Central Processing Unit)、低速バスインターフェースLSBUSに接続される低速スレーブLSLV、割り込み制御回路ICNTおよび切替回路SWを有している。CPUは、プログラムを実行するプロセッサの一種であり、低速スレーブLSLVからの割り込み要求IREQに応答して、通常のプログラムの実行を中断し、割り込み処理ルーチンを実行する。低速スレーブLSLVは、割り込み要因などの割り込み処理に必要な情報が格納される情報レジスタIREGを有しており、CPUに割り込み要求IREQを発行する機能を有している。
割り込み制御回路ICNTは、高速バスインターフェースHSBUSに接続され、高速にアクセス可能な割り込み処理専用のバッファBUFを有している。割り込み制御回路ICNTは、低速スレーブLSLVから割り込み要求IREQが発生したときに、CPUが割り込み処理ルーチンを開始するまでの時間を短縮するために動作する。
具体的には、割り込み制御回路ICNTは、割り込み要求IREQに応答してリマップ信号REMAPをアサートする。また、割り込み制御回路ICNTは、CPUが低速スレーブLSLV用の割り込み処理ルーチンへの移行処理を実施している間に、情報レジスタIREGから割り込み要因等の情報を読み出す。すなわち、割り込み制御回路ICNTは、割り込み処理ルーチンが開始される前に割り込み要因等の情報を先読みし、読み出した情報をバッファBUFに書き込む。
切替回路SWは、リマップ信号REMAPのアサート中にCPUからの読み出しアクセス要求を割り込み制御回路ICNTを介してバッファBUFに供給する。図1の切替回路SWは、リマップ信号REMAPがアサートされている状態を示している。切替回路SWは、リマップ信号REMAPのネゲート中にCPUからの読み出しアクセス要求を低速スレーブLSLVに供給する。
これにより、割り込み要求IREQに応答してCPUにより実行される割り込み処理ルーチンにおいて、情報レジスタIREGに保持されている割り込み要因等の情報をCPUにより高速に読み出すことができる。割り込み要因を早く判定できるため、割り込み要求IREQが発生してから、割り込み処理ルーチンが開始されるまでの時間を短縮できる。
なお、割り込み要因等の情報は、割り込み要求IREQに応答してバッファBUFに書き込まれる。割り込み要求IREQの直後に情報レジスタIREGに保持されている割り込み要因等の情報が書き換えられることはない。このため、割り込み処理ルーチンによる割り込み要因等の情報の読み出し時に、バッファBUFに保持されている値と、情報レジスタIREGに保持されている値とが相違することはない。
以上、この実施形態では、低速スレーブLSLVの情報レジスタIREGに格納されている情報を割り込み処理専用のバッファBUFに格納し、CPUからの読み出しアクセス要求に応答してバッファBUFから情報を読み出すことで、情報処理システムIPSの性能を低下することなく、割り込み処理時間を短縮できる。
図2は、別の実施形態における情報処理システムIPSの例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。例えば、情報処理システムIPSは、半導体集積回路として1つのチップで形成されている。
情報処理システムIPSは、高速バスインターフェースの一種である高速バスインターコネクトHBICを介して接続されたCPU、マスターMST、割り込み制御回路ICNT、バスブリッジBBRG、高速スレーブHSLV1、HSLV2と、低速バスインターフェースLSBUSを介してバスブリッジBBRGに接続された低速スレーブLSLV1、LSLV2とを有している。低速スレーブLSLV1、LSLV2は、割り込み要因等の情報が格納される情報レジスタIREG1、IREG2をそれぞれ有している。
CPUは、プログラムを実行することで、情報処理システムIPS全体の動作を制御する。例えば、CPUは、プログラムが一時的に格納されるキャッシュメモリを有している。また、CPUは、割り込み要求IREQ1、IREQ2を受ける割り込みコントローラを搭載している。なお、割り込みコントローラは、CPUの外側に形成してもよい。
例えば、マスターMSTは、DMAC(Direct Memory Access Controller)である。CPU、マスターMSTおよび割り込み制御回路ICNTは、高速バスインターコネクトHBICにトランザクションを発行可能なマスターデバイスである。高速スレーブHSLV1、HSLV2は、高速SRAMやDRAM用のメモリコントローラである。低速スレーブLSLV1、LSLV2は、タイマーや通信インターフェース等の周辺デバイスであり、割り込み要求IREQ1、IREQ2をそれぞれ発行する。バスブリッジBBRGは、高速バスインターコネクトHBIC側の高速バスプロトコルと、低速バスインターフェースLSBUS側の低速バスプロトコルとの変換を相互に行う。
割り込み制御回路ICNTは、図1と同様に、高速にアクセスされ、割り込み要因等の情報が格納される割り込み処理専用のバッファBUFを有している。また、割り込み制御回路ICNTは、低速スレーブLSLV2の情報レジスタIREG2を示すアドレスADを記憶するアドレス記憶部ADMEMを有している。割り込み制御回路ICNTは、図1と同様に、低速スレーブLSLV2から割り込み要求IREQ2が発生したときに、CPUが割り込み処理ルーチンを開始するまでの時間を短縮するために動作する。割り込み制御回路ICNTの例は、図3に示す。
例えば、低速スレーブLSLV1は、割り込み要求IREQ1の発生から割り込み処理が開始されるまでの時間が長くても許容されるデバイスである。これに対して、低速スレーブLSLV2は、割り込み要求IREQ2の発生から割り込み処理が開始されるまでの時間が所定時間以下であることが要求されるデバイスである。情報処理システムIPSを正常に動作するために、低速スレーブLSLV2の割り込み処理は早く開始される必要がある。このために、割り込み制御回路ICNTが生成するリマップ信号REMAPによりアドレスデコーダADEC0の機能が切り替えられ、低速スレーブLSLV2の代わりにバッファBUFがアクセスされる。
高速バスインターコネクトHBICは、スレーブポートS0、S1、S2、アドレスデコーダADEC0−ADEC2およびマスターポートM0−M3を有している。スレーブポートS0、S1、S2は、CPU、マスターMSTおよび割り込み制御回路ICNTにそれぞれ接続されている。マスターポートM0、M1、M2、M3は、バスブリッジBBRG、高速スレーブHSLV1、HSLV2および割り込み制御回路ICNTにそれぞれ接続されている。
アドレスデコーダADEC0は、CPUからのアドレスをデコードし、デコード結果に応じてアドレスをマスターポートM0−3のいずれかに出力する。アドレスデコーダADEC1は、マスターMSTからのアドレスをデコードし、デコード結果に応じてアドレスをマスターポートM0−3のいずれかに出力する。アドレスデコーダADEC2は、割り込み制御回路ICNTからのアドレスをデコードし、デコード結果に応じてアドレスをマスターポートM0−3のいずれかに出力する。アドレスデコーダADEC0の例は、図4に示す。
なお、図2に示した高速バスインターコネクトHBICは、主にアドレスの伝達経路を示しているが、制御信号およびデータも伝達される。このために、各アドレスデコーダADEC0−2は、制御信号およびデータの伝達経路を切り替える機能を有していてもよい。低速バスインターフェースLSBUSも同様に、アドレスだけでなく、制御信号およびデータも伝達される。高速バスインターコネクトHBICおよび低速バスインターフェースLSBUSは、双方向バスである。
図3は、図2に示した割り込み制御回路ICNTの例を示している。割り込み制御回路ICNTは、バッファBUF、アドレス記憶部ADMEMを有するマスター制御回路MSTCNT、マスターインターフェースMSTIFおよびスレーブインターフェースSLVIFを有している。
アドレス記憶部ADMEMは、低速スレーブLSLV2の情報レジスタIREG2を示すアドレスADを記憶している。例えば、情報レジスタIREG2は、割り込み要求IREQ2が発生した要因を示す情報が格納されている。なお、マスター制御回路MSTCNTは、2つ以上のアドレス記憶部ADMEMを有していてもよい。
アドレス記憶部ADMEMに記憶されているアドレスADの値は、半導体集積回路の製造に使用される金属配線層のフォトマスクのパターンとして設定される。あるいは、アドレスADの値は、半導体集積回路上に形成されるヒューズ回路を用いて設定される。このため、アドレスADの値は、固定値であり、半導体集積回路の出荷後に変更できない。
マスター制御回路MSTCNTは、割り込み要求IREQ2をモニタリングし、割り込み要求IREQ2に応答して、アドレス記憶部ADMEMに記憶されているアドレスADを、低速スレーブLSLV2に読み出しアクセスするための制御信号CNTLとともにマスターインターフェースMSTIFに出力する。
マスターインターフェースMSTIFは、マスター制御回路MSTCNTからのアドレスADおよび制御信号CNTLを、図2に示した高速バスインターコネクトHBICのスレーブポートS2に出力する。すなわち、マスターインターフェースMSTIFは、情報レジスタIREG2から情報を読み出すためにバストランザクションを発行する機能を有している。
スレーブポートS2に供給されるバストランザクションは、図2のアドレスデコーダADEC2、マスターポートM0、バスブリッジBBRGおよび低速バスインターフェースLSBUSを介して低速スレーブLSLV2に伝達される。低速スレーブLSLV2は、バストランザクションに基づいて情報レジスタIREG2に格納されている割り込み要因を含む情報を低速バスインターフェースLSBUSに出力する。低速バスインターフェースLSBUSに出力される情報は、バスブリッジBBRG、マスターポートM0およびスレーブポートS2を介してマスターインターフェースMSTIFに伝達される。
マスターインターフェースMSTIFは、低速スレーブLSLV2から読み出される情報レジスタIREG2の値を読み出しデータRDとして受け、マスター制御回路MSTCNTに出力する。マスター制御回路MSTCNTは、読み出しデータRDをバッファBUFに書き込む。マスター制御回路MSTCNTは、割り込み要求IREQ2を受けてから読み出しデータがバッファBUFに書き込まれるまでの間、CPUにより空のバッファBUFがアクセスされることを防止するため、コピー中信号COPYをスレーブインターフェースSLVIFに向けてアサートする。
バッファBUFは、CPUにより低速スレーブLSLV2に比べて高速にアクセス可能である。バッファBUFのサイズは、情報を読み出す情報レジスタIREG2のサイズに合わせて設計される。例えば、32ビット幅の情報レジスタIREG2から割り込み要因を含む情報が読み出されるとき、バッファBUFは、32ビット幅のデータRDを格納可能なサイズに設計される。
なお、割り込み要求IREQ2に応答して実行される割り込み処理プログラムに必要な情報が、低速スレーブLSLV2の複数の情報レジスタIREG2に格納されるとき、マスター制御回路MSTCNTは、複数のアドレス記憶部ADMEMを有する。複数のアドレス記憶部ADMEMは、低速スレーブLSLV2の複数の情報レジスタIREG2をそれぞれ示す複数のアドレスADをそれぞれ記憶する。そして、マスター制御回路MSTCNTは、複数の情報レジスタIREG2から情報を読み出すために、複数のアドレスADを制御信号CNTLとともにマスターインターフェースMSTIFに順に出力する。
さらに、マスター制御回路MSTCNTは、割り込み要求IREQ2に応答してリマップ信号REMAPをアサートし、図2に示したアドレスデコーダADEC0に出力する。リマップ信号REMAPのアサートにより、アドレスデコーダADEC0は、情報レジスタIREG2を示すアドレスを含む読み出しアクセス要求をCPUから受けたときに、アドレスADおよび制御信号CNTLをマスターポートM0ではなくマスターポートM3に出力する。このように、情報レジスタIREG2を読み出しアクセスするためにCPUから出力されるアドレスADおよび制御信号CNTLは、リマップ信号REMAPのアサート中に、マスターポートM3を介して割り込み制御回路ICNTに伝達される。
割り込み制御回路ICNTのスレーブインターフェースSLVIFは、マスターポートM3を介してCPUから供給されるアドレスADおよび制御信号CNTLに応答してバッファBUFに保持されているデータRDを読み出し、マスターポートM3に出力する。マスターポートM3に出力されたデータRDは、スレーブポートS0を介してCPUに伝達される。そして、CPUは、バッファBUFに保持されている情報を、低速スレーブLSLV2の情報レジスタIREG2に保持されている情報として読み出す。なお、コピー中信号COPYがアサートされているとき、スレーブインターフェースSLVIFは、マスターポートM3に向けてウエイト要求WAITをアサートする。これにより、コピー中信号COPYがネゲートされるまで、CPUによる情報レジスタIREG2のアクセスサイクル(実際には、バッファBUFのアクセスサイクル)にウエイトサイクルが挿入される。すなわち、割り込み要求IREQ2に応答して情報レジスタIREG2に格納されている情報をバッファBUFに書き込む前に読み出しアクセス要求が発行されるとき、CPUにウエイト要求WAITが発行される。
図4は、図2に示したアドレスデコーダADEC0の例を示している。アドレスデコーダADEC0は、デコーダDEC1、DEC2およびスイッチASW1、ASW2、ASW3を有している。例えば、デコーダDEC1は、スレーブポートS0を介してCPUから伝達されるアドレスの上位ビット群をデコードし、生成したアドレスデコード信号ADECS1をスイッチASW1に出力する。
スイッチASW1は、スレーブポートS0を介してCPUから伝達されるアドレスの下位ビット群を、アドレスデコード信号ADECS1に応じて、スイッチASW2、マスターポートM1、M2のいずれかに供給する。具体的には、アドレスの上位ビット群がマスターポートM0を示すときに、アドレスの下位ビット群は、スイッチASW2に供給される。アドレスの上位ビット群がマスターポートM1を示すときに、アドレスの下位ビット群はマスターポートM1に供給される。アドレスの上位ビット群がマスターポートM2を示すときに、アドレスの下位ビット群は、マスターポートM2に供給される。
例えば、デコーダDEC2は、スレーブポートS0を介してCPUから伝達されるアドレスの中位ビット群をデコードし、生成したアドレスデコード信号ADECS2をスイッチASW2に出力する。スイッチASW2は、スイッチASW1からのアドレスの下位ビット群を、アドレスデコード信号ADECS2に応じてスイッチASW3またはマスターポートM0に供給する。
具体的には、アドレスの中位ビット群が情報レジスタIREG2を示すときに、アドレスの下位ビット群はスイッチASW3に供給される。アドレスの中位ビット群が低速スレーブLSLV2の情報レジスタIREG2以外および低速スレーブLSLV1を示すときに、アドレスの下位ビット群はマスターポートM0に供給される。
スイッチASW3は、スイッチASW2からのアドレスの下位ビット群を、リマップ信号REMAPに応じて、マスターポートM0またはM3に供給する。具体的には、リマップ信号REMAPのネゲート中、アドレスの下位ビット群はマスターポートM0に供給される。リマップ信号REMAPのアサート中、アドレスの下位ビット群はマスターポートM3に供給される。なお、リマップ信号REMAPのアサート中に書き込みアクセスが要求されるとき、アドレスの下位ビット群はマスターポートM0に供給される。
このように、アドレスデコーダADEC0は、リマップ信号REMAPのアサート中に、バッファBUFから情報を読み出すために読み出しアクセス要求を割り込み制御回路ICNTを介してバッファBUFに供給し、リマップ信号REMAPのネゲート中に、CPUから情報レジスタIREG2への読み出しアクセス要求を低速スレーブLSLV2に供給する切替回路として動作する。なお、スイッチASW1−ASW3は、アドレスの切り替えだけでなく、アドレスとともにCPUから供給される制御信号およびデータの伝達先を切り替えてもよい。
図5は、図2に示したCPUの割り込み処理の例を示している。この例では、CPUが通常動作を実行するための通常のプログラムを実行中に、低速スレーブLSLV2から割り込み要求IREQ2が発生する。CPUは、通常のプログラムの実行を中断し、割り込み処理プログラムを実行する。
図2に示した割り込み制御回路ICNTは、割り込み要求IREQ2のアサートに応答して、情報レジスタIREG2に読み出しアクセスし、情報レジスタIREG2に保持されている情報をバッファBUFに書き込む(図5(a))。すなわち、割り込み要求IREQ2を発行した低速スレーブLSLV2の割り込み要因の先読みが実施される。また、割り込み制御回路ICNTは、割り込み要求IREQ2に応答してリマップ信号REMAPをアサートする(図5(b))。さらに、割り込み制御回路ICNTは、情報レジスタIREG2から読み出される情報をバッファBUFに書き込むまでウエイト要求WAITをアサートする(図5(c))。
CPUは、実行中の命令を、例えば1サイクルから16サイクルの間に中断する(図5(d))。CPUは、割り込み処理ルーチンISR(Interrupt Service Routine)の命令をフェッチするために、メモリにアクセスする(図5(e))。ここで、フェッチされるメモリは、割り込み処理ルーチンISRが格納されているキャッシュメモリまたはメインメモリ等である。もし、キャッシュミスが発生したとき、割り込み処理ルーチンISRをメインメモリからキャッシュメモリにコピーするキャッシュラインフィルが実行される。
次に、CPUは、今まで実行していた通常動作の状態を保持するために、CPU内のレジスタの値をスタックメモリ等に待避する(図5(f))。図5の(e)、(f)は、低速スレーブLSLV2用の割り込み処理ルーチンへの移行処理である。この後、CPUは、割り込み処理ルーチンISRの実行を開始し、割り込み要求IREQ2の発生要因を調べるために、情報レジスタIREG2に読み出しアクセスする(図5(g))。CPUが割り込み処理ルーチンISRの実行を開始するとき、割り込み制御回路ICNTは、情報レジスタIREG2に保持されている情報をバッファBUFに書き込み済みである。このため、図3および図4で説明したように、情報レジスタIREG2がアクセスされる代わりに、割り込み制御回路ICNTのバッファBUFがアクセスされる(図5(h))。これにより、CPUは、情報レジスタIREG2の情報を高速に読み出しできる。
この後、CPUは、読み出した情報レジスタIREG2の値に基づいて、割り込み要求IREQ2の発生要因を分析し、割り込み要因に応じた割り込み処理を実行する(図5(i))。CPUは、割り込み処理の実行後、割り込み要求IREQ2をネゲートするために、情報レジスタIREG2に書き込みアクセスし、情報レジスタIREG2をリセットする(図5(j))。なお、情報レジスタIREG2のリセットは、書き込みアクセスであるため、アドレスデコーダADEC0は、リマップ信号REMAPのレベルに拘わらず、アドレスおよび制御信号をマスターポートM0に出力する。
情報レジスタIREG2のリセットに応答して、割り込み要求IREQ2がネゲートされる(図5(k))。割り込み制御回路ICNTは、割り込み要求IREQ2のネゲートに応答してリマップ信号REMAPをネゲートする(図5(l))。次に、CPUは、スタックメモリ等に待避していた情報をCPU内のレジスタに戻す(図5(m))。そして、CPUは、中断していた通常動作を再び実行するために、命令のフェッチを開始する(図5(n))。
図5の下側は、CPUが割り込み要求IREQ2の発生要因を調べるために、情報レジスタIREG2に直接読み出しアクセスするときの例を示している。すなわち、情報処理システムIPSが図2に示した割り込み制御回路ICNTを有していないときの動作の例を示している。
情報レジスタIREG2が直接アクセスされるとき、バッファBUFがアクセスされるときに比べて、読み出しサイクル時間は長くなる(図5(o))。これにより、CPUによる割り込み処理ルーチンISRの実行開始タイミングは遅れる(図5(p))。換言すれば、割り込み制御回路ICNTの動作により、割り込み処理ルーチンISRにおいて、割り込み処理が開始されるまでの時間を短縮でき、情報処理システムIPSの性能を向上できる。
図6は、図2に示したCPUの割り込み処理の別の例を示している。図5と同じ動作については、詳細な説明は省略する。図6は、割り込み制御回路ICNTによる情報レジスタIREG2の読み出しアクセスに時間が掛かる例を示している。例えば、割り込み要求IREQ2の発生時に、図2に示した低速バスインターフェースLSBUSが低速スレーブLSLV1等のアクセスで使用されているとき、低速スレーブLSLV2のアクセスは待たされる。
割り込み制御回路ICNTは、情報レジスタIREG2から読み出される情報のバッファBUFへの書き込みが完了するまでウエイト要求WAITをアサートしている(図6(a))。このため、ウエイト要求WAITのアサート中、割り込み処理ルーチンISRによる情報レジスタIREG2への読み出しアクセスは待たされる(図6(b))。これにより、割り込み処理ルーチンISRの実行時間は、図5に比べて長くなる。しかしながら、ウエイト要求WAITがアサートされる要因は所定の確率で発生するため、CPUによる低速スレーブLSLV2のアクセスにおいても、ウエイトサイクルが発生する可能性がある。このため、割り込み処理ルーチンISRが開始される前に、情報レジスタIREG2の内容をアクセス速度の高いバッファBUFに予めコピーしておくことで、割り込み処理ルーチンISRの処理時間を短縮できる。
以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。さらに、情報レジスタIREG2の情報がバッファBUFに書き込まれるまでウエイト要求WAITをアサートすることで、CPUが空のバッファBUFにアクセスすることを防止でき、情報処理システムIPSの誤動作を防止できる。割り込み制御回路ICNTにマスターインターフェースMSTIFとスレーブインターフェースSLVIFを形成することで、低速バスインターフェースへのバストランザクションの発行と、高速バスインターフェースからのバストランザクションの受け付けを容易に実施できる。
図7は、別の実施形態における情報処理システムIPSの例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。例えば、情報処理システムIPSは、半導体集積回路として1つのチップで形成されている。この実施形態では、割り込み制御回路ICNTおよびアドレスデコーダADEC0が図2と相違している。情報処理システムIPSのその他の構成は、図2と同様である。CPUは、割り込み要求IREQ1、IREQ2を受ける割り込みコントローラを内蔵している。なお、割り込みコントローラは、CPUの外側に形成してもよい。
図8は、図7に示した割り込み制御回路ICNTの例を示している。割り込み制御回路ICNTは、マスター制御回路MSTCNTおよびスレーブインターフェースSLVIFが図3と相違している。割り込み制御回路ICNTのその他の構成は、図3と同様である。
マスター制御回路MSTCNTは、図3に示したアドレス記憶部ADMEMの代わりにアドレスレジスタADREGを有している。アドレスレジスタADREGは、低速スレーブLSLV2の情報レジスタIREG2を示すアドレスADを保持している。情報レジスタIREG2は、上述した実施形態と同様に、割り込み要求IREQ2が発生した要因を示す情報が格納されている。但し、情報レジスタIREG2を示すアドレスは1つではない。換言すれば、情報レジスタIREG2を示すアドレスは、設計される情報処理システムIPSにより異なる。あるいは、動作モードに応じて複数の情報レジスタIREG2の1つに割り込み要因が格納される。
アドレスレジスタADREGは、図7に示したスレーブポートS0、マスターポートM3およびスレーブインターフェースSLVIFを介して、CPUにより読み書き可能である。例えば、アドレスレジスタADREGは、システムブート中など、割り込み機能が有効になる前に設定される。アドレスレジスタADREGを書き換え可能にすることで、割り込み要求IREQ2の発生要因を示す情報が格納されている情報レジスタIREG2のアドレスをシステム仕様に応じて自由に設定できる。あるいは、動作モードに応じて割り込み要求IREQ2の発生要因が異なり、参照すべき情報レジスタIREG2が異なるときに、CPUは、動作モード毎にアドレスレジスタADREGのアドレスADを書き換える。これにより、マスター制御回路MSTCNTの回路規模を最小限にできる。なお、アドレスレジスタADREGの数は2つ以上でもよい。
スレーブインターフェースSLVIFは、図3に示したスレーブインターフェースSLVIFに、アドレスレジスタADREGにアクセスする機能と、アドレス比較器ADCMPとを追加している。アドレス比較器ADCMPは、図7に示したスレーブポートS0およびマスターポートM3を介してCPUから供給される読み出しアクセス要求に含まれるアドレスADと、アドレスレジスタADREGに保持されたアドレスADとを比較する。
スレーブインターフェースSLVIFは、CPUからのアドレスADとアドレスレジスタADREGに保持されたアドレスADとが一致するときに、バッファBUFからデータRDを読み出し、CPUに出力する。スレーブインターフェースSLVIFは、CPUからのアドレスADとアドレスレジスタADREGに保持されたアドレスADとが異なるときに、CPUからの読み出しアクセス要求(アドレスADおよび制御信号CNTL)を、マスターインターフェースMSTIFを経由して低速スレーブLSLV2に供給する。
具体的には、CPUからの読み出しアクセス要求は、マスターインターフェースMSTIF、スレーブポートS2、マスターポートM0、バスブリッジBBRGおよび低速バスインターフェースLSBUSを介して低速スレーブLSLV2に供給される。また、低速スレーブLSLV2から読み出されるデータRDは、低速バスインターフェースLSBUS、バスブリッジBBRG、マスターポートM0、スレーブポートS2、マスターインターフェースMSTIFおよびマスター制御回路MSTCNTを介してスレーブインターフェースSLVIFに伝達される。さらに、読み出されたデータRDは、スレーブインターフェースSLVIFからマスターポートM3およびスレーブポートS0を介してCPUに伝達される。これにより、アドレスレジスタADREGに保持されるアドレスADが書き換えられるときにも、アドレスレジスタADREGに保持されるアドレスADに応じて、バッファBUFからデータRDを確実に読み出すことができる。
図9は、図7に示したアドレスデコーダADEC0の例を示している。アドレスデコーダADEC0は、図4に示したアドレスデコーダADEC0からデコーダDEC2およびスイッチASW2を削除している。アドレスデコーダADEC0のその他の構成は、図4と同様である。スイッチASW3は、リマップ信号REMAPのアサート中、スイッチASW1からのアドレスの下位ビット群をマスターポートM3に供給し、リマップ信号REMAPのネゲート中、スイッチASW1からのアドレスの下位ビット群をマスターポートM0に供給する。これにより、割り込み要求IREQ2のアサート後に、CPUからのアドレスADとアドレスレジスタADREGに保持されたアドレスADとが一致するときのみ、バッファBUFに保持されている情報レジスタIREG2の値を高速に読み出すことができる。
以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。なお、この実施形態では、低速スレーブLSLV2のアクセスにおいて、割り込み制御回路ICNTを経由してアクセスされるときにアクセスレイテインシは大きくなる。しかしながら、情報レジスタIREG2の内容をバッファBUFに予めコピーしておくことで、図5および図6と同様に、割り込み処理ルーチンISRの処理時間を短縮できる。
図10は、別の実施形態における情報処理システムIPSの例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。例えば、情報処理システムIPSは、半導体集積回路として1つのチップで形成されている。この実施形態では、情報処理システムIPSは、3つの低速スレーブLSLV1、LSLV2、LSLV3を有している。低速スレーブLSLV1−3から出力される割り込み要求IREQ1−3は、CPUおよび割り込み制御回路ICNTに供給される。CPUは、割り込み要求IREQ1−3を受ける割り込みコントローラを内蔵している。なお、割り込みコントローラは、CPUの外側に形成してもよい。情報処理システムIPSのその他の構成は、アドレスデコーダADEC0がリマップ信号REMAP1−3を受けて動作することを除き、図2と同様である。
図11は、図10に示した割り込み制御回路ICNTの例を示している。割り込み制御回路ICNTは、マスター制御回路MSTCNTが図3と相違している。割り込み制御回路ICNTのその他の構成は、図3と同様である。
マスター制御回路MSTCNTは、図3のマスター制御回路MSTCNTに優先度判定回路ARBおよび優先度設定レジスタPRIREGを追加している。また、マスター制御回路MSTCNTは、割り込み要求IREQ1−3にそれぞれ対応してアドレス記憶部ADMEM1−3を有している。
優先度判定回路ARBは、割り込み要求IREQ(IREQ1−3のいずれか)が発生したときに、発生した割り込み要求IREQをマスター制御回路MSTCNT内に伝達する。マスター制御回路MSTCNTは、発生した割り込み要求IREQに対応するアドレス記憶部ADMEM(ADMEM1−3のいずれか)に記憶されているアドレスADを用いて、対応する情報レジスタIREG(IREG1−3のいずれか)に読み出しアクセスする。この際、読み出しアクセスは、マスターインターフェースMSTIF、スレーブポートS2、マスターポートM0、バスブリッジBBRGおよび低速バスインターフェースLSBUSを介して行われる。低速スレーブLSLV1−3のいずれかから読み出されたデータRDは、低速バスインターフェースLSBUS、バスブリッジBBRG、マスターポートM0、スレーブポートS2およびマスターインターフェースMSTIFを介してバッファBUFに書き込まれる。バッファBUFは、情報レジスタIREG1−3に対応する記憶領域を有している。
優先度判定回路ARBは、割り込み要求IREQ1−3の2つ以上が競合するときに、優先度設定レジスタPRIREGに保持されている値に応じて、割り込み処理の優先順を判定する。例えば、優先度設定レジスタPRIREGは、CPU内の割り込み処理の優先順と同じ情報が記憶されている。この例では、CPUおよび優先度設定レジスタPRIREGは、IREQ2>IREQ1>IREQ3の優先順が設定されている。優先度設定レジスタPRIREGは、CPUによって書き換え可能である。
マスター制御回路MSTCNTは、割り込み要求IREQ1−3の2つ以上が競合するときに、優先度判定回路ARBにより決定された優先順にしたがって、情報レジスタIREG1−3に順に読み出しアクセスし、読み出したデータRDをバッファBUFに順に書き込む。
また、マスター制御回路MSTCNTは、割り込み要求IREQ(IREQ1−3)がアサートされた後、対応する情報レジスタIREG1−3の読み出しアクセス要求が発行される毎に、リマップ信号REMAPをアサートする。マスター制御回路MSTCNTは、CPUが対応する情報をバッファBUFから読み出したことに応答してリマップ信号REMAPをネゲートする。すなわち、リマップ信号REMAPのアサート期間は最小限に設定される。これにより、上述した実施形態と同様に、CPUは、情報レジスタIREG1−3に保持されている割り込み要因を、高速アクセス可能なバッファBUFから読み出すことができる。
以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。さらに、割り込み制御回路ICNTに優先度判定回路ARBを形成することで、複数の割り込み要求IREQ1−3が競合するときにも情報レジスタIREG1−3の値をバッファBUFに確実に書き込みできる。
図12は、別の実施形態における割り込み制御回路ICNTの例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。例えば、情報処理システムIPSは、半導体集積回路として1つのチップで形成されている。割り込み制御回路ICNTを除く情報処理システムIPSの構成は、図10と同様である。
割り込み制御回路ICNTは、アドレス記憶部ADMEM1−3の代わりに、割り込み要求IREQ1−3に対応するアドレスレジスタADREG1−3を有している。各アドレスレジスタADREG1−3の機能は、図8に示したアドレスレジスタADREGと同様である。割り込み制御回路ICNTのその他の構成は、図11と同様である。以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。
図13は、別の実施形態における情報処理システムIPSの例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、CPUは、割込みコントローラの機能を搭載していない。図2に示したCPUに搭載されている割り込みコントローラの機能は、割り込み制御回路ICNTに組み込まれている。
特に限定されないが、割り込み制御回路ICNTは、図11または図12のいずれかと同様である。そして、割り込み制御回路ICNTの優先度判定回路ARBにより優先された割り込み要求IREQ1−3のいずれかが、割り込み要求IREQとしてCPUに供給される。すなわち、この実施形態では、優先度判定回路ARBは、CPUに形成される割り込み要求IREQ1−3の優先度判定回路を兼ねている。このためCPUは、優先度判定回路を持たない。
なお、情報処理システムIPSが、CPUに接続される割り込みコントローラを有するとき、割り込みコントローラに図11または図12の割り込み制御回路ICNTの機能を持たせてもよい。以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずであり、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
ADCMP‥アドレス比較器;ADEC0−ADEC2‥アドレスデコーダ;ADECS1−ADECS2‥アドレスデコード信号;ADMEM‥アドレス記憶部;ADREG、ADREG1−ADREG3‥アドレスレジスタ;ARB‥優先度判定回路;ASW1−ASW3‥スイッチ;BBRG‥バスブリッジ;BUF‥バッファ;COPY‥コピー中信号;DEC1、DEC2‥デコーダ;HBIC‥高速バスインターコネクト;HSBUS‥高速バスインターフェース;HSLV1、HSLV2‥高速スレーブ;ICNT‥割り込み制御回路;IPS‥情報処理システム;IREG1、IREG2‥情報レジスタ;IREQ、IREQ1−IREQ3‥割り込み要求;LSBUS‥低速バスインターフェース;LSLV、LSLV1、LSLV2‥低速スレーブ;M0−M3‥マスターポート;MST‥マスター;MSTIF‥マスターインターフェース;PRIREG‥優先度設定レジスタ;REMAP‥リマップ信号;S0−S2‥スレーブポート;SLVIF‥スレーブインターフェース;SW‥切替回路;WAIT‥ウエイト要求

Claims (7)

  1. 高速バスインターフェースに接続され、プログラムを実行するプロセッサと、
    低速バスインターフェースを介してアクセスされ、割り込み要因を示す情報が格納される情報レジスタを含み、前記プロセッサに割り込み要求を発行する少なくとも1つの低速スレーブと、
    前記高速バスインターフェースに接続される割り込み処理専用のバッファを含み、前記プロセッサへの前記割り込み要求に応答して、リマップ信号をアサートするとともに、前記情報レジスタに格納されている情報を読み出し、読み出した情報を前記バッファに書き込む割り込み制御回路と、
    前記リマップ信号のネゲート中に、前記プロセッサから前記情報レジスタへの読み出しアクセス要求を前記低速スレーブに供給し、前記リマップ信号のアサート中に、前記バッファから情報を読み出すために前記読み出しアクセス要求を前記割り込み制御回路を介して前記バッファに供給する切替回路と
    を備えていることを特徴とする情報処理システム。
  2. 前記割り込み制御回路は、前記情報レジスタを示すアドレスを書き換え可能に保持するアドレスレジスタを含み、前記割り込み要求に応答して、前記アドレスレジスタに保持されているアドレスを用いて前記情報レジスタから情報を読み出すこと
    を特徴とする請求項1記載の情報処理システム。
  3. 複数の前記低速スレーブを備え、
    前記割り込み制御回路は、複数の前記低速スレーブからの前記割り込み要求が競合するときに優先順を判定する優先度判定回路を含み、判定された優先順にしたがって対応する割り込み要求を発行した低速スレーブの前記情報レジスタから情報を順に読み出し、読み出した情報を前記バッファに書き込むこと
    を特徴とする請求項1記載の情報処理システム。
  4. 前記割り込み制御回路は、前記各低速スレーブの前記情報レジスタを示すアドレスを書き換え可能に保持するアドレスレジスタを備えていること
    を特徴とする請求項3記載の情報処理システム。
  5. 前記割り込み制御回路は、前記読み出しアクセス要求に含まれるアドレスが前記アドレスレジスタに保持されているアドレスと一致しているか否かを判定するアドレス比較器を含み、アドレスが一致するときに前記バッファから情報を読み出し、アドレスが一致しないときに、前記読み出しアクセス要求を前記低速スレーブに供給し、前記低速スレーブからデータを読み出し、読み出したデータを前記プロセッサに出力すること
    を特徴とする請求項2または請求項4記載の情報処理システム。
  6. 前記割り込み制御回路は、前記割り込み要求に応答して前記情報レジスタに格納されている情報を前記バッファに書き込む前に前記読み出しアクセス要求が発行されるとき、前記プロセッサにウエイト要求を発行すること
    を特徴とする請求項1ないし請求項5のいずれか1項記載の情報処理システム。
  7. 前記割り込み制御回路は、
    前記低速バスインターフェースに接続され、前記低速スレーブの前記情報レジスタに格納されている情報を読み出すときに使用されるマスターインターフェースと、
    前記高速バスインターフェースに接続され、前記読み出しアクセス要求に応答して前記バッファにアクセスするときに使用されるスレーブインターフェースと
    を備えていることを特徴とする請求項1ないし請求項6のいずれか1項記載の情報処理システム。
JP2010147249A 2010-06-29 2010-06-29 情報処理システム Expired - Fee Related JP5440419B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010147249A JP5440419B2 (ja) 2010-06-29 2010-06-29 情報処理システム
US13/070,154 US8560748B2 (en) 2010-06-29 2011-03-23 Information processing system including interrupt processing function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010147249A JP5440419B2 (ja) 2010-06-29 2010-06-29 情報処理システム

Publications (2)

Publication Number Publication Date
JP2012014230A JP2012014230A (ja) 2012-01-19
JP5440419B2 true JP5440419B2 (ja) 2014-03-12

Family

ID=45353612

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010147249A Expired - Fee Related JP5440419B2 (ja) 2010-06-29 2010-06-29 情報処理システム

Country Status (2)

Country Link
US (1) US8560748B2 (ja)
JP (1) JP5440419B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10996975B2 (en) 2019-08-22 2021-05-04 Micron Technology, Inc. Hierarchical memory systems

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3614207B2 (ja) 1994-12-13 2005-01-26 株式会社ルネサステクノロジ データ処理装置
JPH11272600A (ja) * 1998-03-19 1999-10-08 Hitachi Ltd プロセッサシステムのデバイス接続方式
JP2000148650A (ja) * 1998-11-09 2000-05-30 Canon Inc 複合機器の制御装置
JP2000242507A (ja) * 1999-02-23 2000-09-08 Matsushita Electric Ind Co Ltd プロセッサ
US7039746B2 (en) * 2002-12-03 2006-05-02 Matsushita Electric Industrial Co., Ltd. Interface circuit, disc controller, disc drive apparatus and interface control method
JP2004252729A (ja) 2003-02-20 2004-09-09 Konica Minolta Holdings Inc 割り込み支援回路装置及びマイクロコンピュータ並びに割り込み支援方法
JP2005031933A (ja) * 2003-07-11 2005-02-03 Hitachi Ltd アレイ制御装置
JP2005115658A (ja) * 2003-10-08 2005-04-28 Seiko Epson Corp 情報処理装置
JP4260720B2 (ja) * 2004-10-27 2009-04-30 日本テキサス・インスツルメンツ株式会社 バス制御装置
JP2006236234A (ja) * 2005-02-28 2006-09-07 Canon Inc 割込み処理回路
JP4853951B2 (ja) * 2006-03-31 2012-01-11 ルネサスエレクトロニクス株式会社 データ処理装置
JP2009009191A (ja) * 2007-06-26 2009-01-15 Fujitsu Ltd 情報処理装置、ホスト装置およびデバイス
JP2009069962A (ja) * 2007-09-11 2009-04-02 Toshiba Corp バス結合装置、ならびに割り込み制御ための方法およびプログラム
US20110197004A1 (en) * 2010-02-05 2011-08-11 Serebrin Benjamin C Processor Configured to Virtualize Guest Local Interrupt Controller

Also Published As

Publication number Publication date
JP2012014230A (ja) 2012-01-19
US20110320658A1 (en) 2011-12-29
US8560748B2 (en) 2013-10-15

Similar Documents

Publication Publication Date Title
JP5963282B2 (ja) 割り込み分配スキーム
US9201796B2 (en) System cache with speculative read engine
KR100708128B1 (ko) 낸드 플래시 메모리 제어 장치 및 방법
US9135177B2 (en) Scheme to escalate requests with address conflicts
US20140089600A1 (en) System cache with data pending state
US9740636B2 (en) Information processing apparatus
US20120311266A1 (en) Multiprocessor and image processing system using the same
KR20160038003A (ko) 클록 게이팅 제어를 위한 조기의 웨이크-경고
US9395999B2 (en) Microcomputer having processor capable of changing endian based on endian information in memory
JP5440419B2 (ja) 情報処理システム
US20080320176A1 (en) Prd (physical region descriptor) pre-fetch methods for dma (direct memory access) units
JP5254710B2 (ja) データ転送装置、データ転送方法およびプロセッサ
JP5540979B2 (ja) 半導体集積回路、情報記憶方法
JP2011070372A (ja) Dma転送制御装置
JP2011154528A (ja) データ処理装置
JP4024247B2 (ja) 半導体データプロセッサ
JP2009258984A (ja) 情報処理装置およびロード制御方法
JP6668908B2 (ja) 情報処理システム、送信装置および情報処理システムの制御方法
JP2008287557A (ja) バスシステム及びマイクロコンピュータ
JP2007108858A (ja) ピン共有装置およびピン共有方法
JP2011191865A (ja) 半導体装置
CN118012455A (zh) 可配置的存储器系统及其存储器管理方法
JP5593195B2 (ja) データ処理装置
JP2009289232A (ja) 半導体集積回路
JP2002108702A (ja) マイクロコンピュータ及びデータ処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131108

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: 20131119

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131202

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees