(57)【要約】【課題】ＣＰＵの割り込み処理を早期に実行させることが可能な技術を提供する。【解決手段】バスマスタ１〜４にはＣＰＵが含まれている。バスマスタ１〜４のそれぞれは共通のバスＢＵＳＳを利用してバススレーブ５，６にアクセスする。バスアクセス調停回路７は、バスマスタ１〜４におけるバスＢＵＳＳに対するアクセス要求を調停する。割り込みコントローラ８は、割り込み要求が通知されると、ＣＰＵに対して割り込み処理の実行を通知するとともに、当該ＣＰＵのアクセス要求を優先して受け付けることを要求する優先処理要求信号ＰＰＲをバスアクセス調停回路７に出力する。バスアクセス調停回路７は、優先処理要求信号ＰＰＲが入力されると、ＣＰＵのアクセス要求を他のバスマスタ２〜４よりも優先して受け付ける。【選択図】図１
2008130056.tif 000002
【特許請求の範囲】
【請求項１】
割り込み処理を実行することが可能なＣＰＵを含む複数のバスマスタと、
前記複数のバスマスタにおけるバスに対するアクセス要求を調停するバスアクセス調停回路と、
前記ＣＰＵに対して割り込み処理の実行を通知する割り込みコントローラと
を備え、
前記割り込みコントローラは、割り込み要求が通知されると、前記ＣＰＵに対して割り込み処理の実行を通知するとともに、前記ＣＰＵの前記アクセス要求を優先して受け付けることを要求する優先処理要求信号を前記バスアクセス調停回路に出力し、
前記バスアクセス調停回路は、前記優先処理要求信号が入力されると、前記ＣＰＵの前記アクセス要求を、前記複数のバスマスタにおける他のバスマスタよりも優先して受け付ける、半導体回路。
【請求項２】
請求項１に記載の半導体回路であって、
前記割り込みコントローラには複数種類の割り込み要求が通知され、
前記割り込みコントローラは、前記複数種類の割り込み要求のうち特定種類の割り込み要求が通知された場合にのみ前記優先処理要求信号を出力する、半導体回路。
【請求項３】
請求項２に記載の半導体回路であって、
前記割り込みコントローラは、前記特定種類の割り込み要求を指定する選択レジスタを有する、半導体回路。
【請求項４】
請求項２に記載の半導体回路であって、
前記複数種類の割り込み要求のそれぞれには個別に優先順位が割り当てられており、
前記割り込みコントローラは、
基準優先順位を指定するレベル指定レジスタを有し、
前記複数種類の割り込み要求のうち、前記レベル指定レジスタに設定された前記基準優先順位よりも高い優先順位の割り込み要求が通知された場合には前記優先処理要求信号を出力し、前記基準優先順位よりも低い優先順位の割り込み要求が通知された場合には前記優先処理要求信号を出力しない、半導体回路。
【請求項５】
複数のＣＰＵを含む複数のバスマスタと、
前記複数のバスマスタにおけるバスに対するアクセス要求を調停するバスアクセス調停回路と、
前記複数のＣＰＵにそれぞれ対応して設けられ、それぞれが対応する前記ＣＰＵに対して割り込み処理の実行を通知する複数の割り込みコントローラと、
優先要求調停回路と
を備え、
前記複数の割り込みコントローラのそれぞれは、対応する前記ＣＰＵに対する割り込み要求が通知されると、対応する前記ＣＰＵに対して割り込み処理の実行を通知するとともに、対応する前記ＣＰＵの前記アクセス要求を優先することを要求する優先処理要求信号を前記優先要求調停回路に出力し、
前記優先要求調停回路は、前記優先処理要求信号が複数同時に入力されると、当該優先処理要求信号を出力した前記割り込みコントローラに対応した前記ＣＰＵのうち、前記アクセス要求を優先させるＣＰＵを決定し、
前記バスアクセス調停回路は、前記優先要求調停回路で決定された前記ＣＰＵの前記アクセス要求を、前記複数のバスマスタにおける他のバスマスタよりも優先して受け付ける、半導体回路。
【請求項６】
請求項５に記載の半導体回路であって、
前記複数の割り込みコントローラのそれぞれには、各々個別に優先順位が割り当てられた複数種類の割り込み要求が通知され、
前記複数の割り込みコントローラのそれぞれは、前記複数種類の割り込み要求のうち、対応する前記ＣＰＵに対して実行する旨を通知する割り込み処理に対応した割り込み要求に割り当てられた前記優先順位を示す優先順位通知信号を、前記優先処理要求信号とともに前記優先要求調停回路に出力し、
前記優先要求調停回路は、前記優先処理要求信号が複数同時に入力されると、当該優先処理要求信号を出力した前記割り込みコントローラのうち、出力した前記優先順位通知信号の優先順位が最も高い割り込みコントローラに対応した前記ＣＰＵを、前記アクセス要求を優先させるＣＰＵとして決定する、半導体回路。
【請求項７】
割り込み処理を実行することが可能なＣＰＵを含む複数のバスマスタと、
前記複数のバスマスタにおけるバスに対するアクセス要求を調停するバスアクセス調停回路と、
割り込み要求が通知されると、前記ＣＰＵに対して割り込み処理の実行を通知する割り込みコントローラと
を備え、
前記バスアクセス調停回路は、前記ＣＰＵ以外の前記複数のバスマスタのバスアクセスが集中しているかどうかを判定し、当該バスアクセスが集中している間、前記割り込みコントローラに対してビジー信号を出力し、
前記割り込みコントローラは、前記ビジー信号が入力されている間は、前記ＣＰＵに対しては割り込み処理の実行を通知しない、半導体回路。
【請求項８】
請求項７に記載の半導体回路であって、
前記割り込みコントローラには複数種類の割り込み要求が通知され、
前記割り込みコントローラは、前記ビジー信号が入力されている間、前記複数種類の割り込み要求のうち特定種類の割り込み要求が通知された場合にのみ前記ＣＰＵに対して割り込み処理の実行を通知しない、半導体回路。
【請求項９】
請求項８に記載の半導体回路であって、  
前記割り込みコントローラは、前記特定種類の割り込み要求を指定する選択レジスタを有する、半導体回路。
【請求項１０】
請求項８に記載の半導体回路であって、
前記複数種類の割り込み要求のそれぞれには個別に優先順位が割り当てられており、
前記割り込みコントローラは、
基準優先順位を指定するレベル指定レジスタを有し、
前記ビジー信号が入力されている間、前記複数種類の割り込み要求のうち、前記レベル指定レジスタに設定された前記基準優先順位よりも低い優先順位の割り込み要求が通知されると、前記ＣＰＵに対して割り込み処理の実行を通知せず、前記基準優先順位よりも高い優先順位の割り込み要求が通知されると、前記ＣＰＵに対して割り込み処理の実行を通知する、半導体回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵを含む複数のバスマスタを有する半導体回路に関する。
【背景技術】
【０００２】
システムＬＳＩ（Large Scale Integration）等の半導体回路は、非特許文献１にも記載されているように、ＣＰＵやその他のバスマスタと、メモリやその他のバススレーブとが共通のバスに接続されて構成されることがある。バスマスタはバスを通じてバススレーブにアクセスし、当該バススレーブとの間でデータのやり取りを行う。このような半導体回路では、複数のバスマスタからのバスに対するアクセス要求が競合した場合に、それらのアクセス要求を調停するバスアクセス調停回路が設けられている。バスアクセス調停回路は、複数のバスマスタからバスアクセスが要求されると、最も優先順位の高いバスマスタにバスの使用権を付与し、当該使用権を得たバスマスタはバススレーブにアクセスすることが可能となる。
【０００３】
複数のバスマスタからのバスに対するアクセス要求を調停する方法としては、予め設定された固定の優先順位に基づいて調停する方法や、最も長い時間アクセス権を得ていないバスマスタにアクセス権を付与する方法（LRU：Least Recently Used）などがある。なお、ＣＰＵを有する半導体回路に関する技術が特許文献１〜５に開示されている。
【０００４】
【非特許文献１】ARM,“AMBA Specification (Rev 2.0)”, 1999（AMBAは登録商標）
【特許文献１】特開２００４−３８２６５号公報
【特許文献２】特開２００３−２５６３５３号公報
【特許文献３】特開２００２−２５９３２３号公報
【特許文献４】特開２０００−１２２９６３号公報
【特許文献５】特開平１１−１４３８２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述のような従来の半導体回路では、ＣＰＵが割り込み処理を実行しようとしても、自身の優先順位が低いために、他のバスマスタからバスに対するアクセス要求が出力されていると、ＣＰＵは早期にバスの使用権を獲得することができず、迅速にバススレーブにアクセスできないことがある。
【０００６】
一方で、ＣＰＵ以外のバスマスタにおけるバスに対するアクセスが集中している際に、ＣＰＵが割り込み処理を実行すると、それによって、他のバスマスタのバスに対するアクセスが邪魔されることがある。
【０００７】
そこで、本発明は上述の問題に鑑みて成されたものであり、ＣＰＵの割り込み処理を早期に実行させることが可能な技術を提供することを第１の目的とする。そして、ＣＰＵの割り込み処理によって、他のバスマスタのバスアクセスが邪魔されることを防止することが可能な技術を提供することを第２の目的とする。
【課題を解決するための手段】
【０００８】
この発明の第１の半導体回路は、割り込み処理を実行することが可能なＣＰＵを含む複数のバスマスタと、前記複数のバスマスタにおけるバスに対するアクセス要求を調停するバスアクセス調停回路と、前記ＣＰＵに対して割り込み処理の実行を通知する割り込みコントローラとを備え、前記割り込みコントローラは、割り込み要求が通知されると、前記ＣＰＵに対して割り込み処理の実行を通知するとともに、前記ＣＰＵの前記アクセス要求を優先して受け付けることを要求する優先処理要求信号を前記バスアクセス調停回路に出力し、前記バスアクセス調停回路は、前記優先処理要求信号が入力されると、前記ＣＰＵの前記アクセス要求を、前記複数のバスマスタにおける他のバスマスタよりも優先して受け付ける。
【０００９】
また、この発明の第２の半導体回路は、複数のＣＰＵを含む複数のバスマスタと、前記複数のバスマスタにおけるバスに対するアクセス要求を調停するバスアクセス調停回路と、前記複数のＣＰＵにそれぞれ対応して設けられ、それぞれが対応する前記ＣＰＵに対して割り込み処理の実行を通知する複数の割り込みコントローラと、優先要求調停回路とを備え、前記複数の割り込みコントローラのそれぞれは、対応する前記ＣＰＵに対する割り込み要求が通知されると、対応する前記ＣＰＵに対して割り込み処理の実行を通知するとともに、対応する前記ＣＰＵの前記アクセス要求を優先することを要求する優先処理要求信号を前記優先要求調停回路に出力し、前記優先要求調停回路は、前記優先処理要求信号が複数同時に入力されると、当該優先処理要求信号を出力した前記割り込みコントローラに対応した前記ＣＰＵのうち、前記アクセス要求を優先させるＣＰＵを決定し、前記バスアクセス調停回路は、前記優先要求調停回路で決定された前記ＣＰＵの前記アクセス要求を、前記複数のバスマスタにおける他のバスマスタよりも優先して受け付ける。
【００１０】
また、この発明の第３の半導体回路は、割り込み処理を実行することが可能なＣＰＵを含む複数のバスマスタと、前記複数のバスマスタにおけるバスに対するアクセス要求を調停するバスアクセス調停回路と、割り込み要求が通知されると、前記ＣＰＵに対して割り込み処理の実行を通知する割り込みコントローラとを備え、前記バスアクセス調停回路は、前記ＣＰＵ以外の前記複数のバスマスタのバスアクセスが集中しているかどうかを判定し、当該バスアクセスが集中している間、前記割り込みコントローラに対してビジー信号を出力し、前記割り込みコントローラは、前記ビジー信号が入力されている間は、前記ＣＰＵに対しては割り込み処理の実行を通知しない。
【発明の効果】
【００１１】
この発明の第１の半導体回路によれば、割り込みコントローラに割り込み要求が通知されると、他のバスマスタのバスに対するアクセス要求よりも、ＣＰＵのバスに対するアクセス要求が優先されるため、ＣＰＵの割り込み処理を早期に実行することができる。
【００１２】
また、この発明の第２の半導体回路によれば、バスマスタに含まれる複数のＣＰＵにおいて、バスに対するアクセス要求を優先させるＣＰＵが決定され、当該ＣＰＵのアクセス要求が他のバスマスタよりも優先して受け付けられるため、当該ＣＰＵの割り込み処理を早期に実行することができる。
【００１３】
また、この発明の第３の半導体回路によれば、割り込みコントローラは、ビジー信号が入力されている間は、ＣＰＵに対しては割り込み処理の実行を通知しないため、ＣＰＵ以外のバスマスタのバスアクセスが集中している場合には、ＣＰＵから、割り込み処理に基づくバスに対するアクセス要求は出力されることはない。したがって、ＣＰＵの割り込み処理によって他のバスマスタのバスアクセスが邪魔されることを防止できる。
【発明を実施するための最良の形態】
【００１４】
実施の形態１．
図１は本発明の実施の形態１に係る半導体回路の構成を示すブロック図である。図１に示されるように、本実施の形態１に係る半導体回路は、複数のバススレーブ５，６と、当該バススレーブ５，６に対して共通のバスＢＵＳＳを利用してアクセスする複数のバスマスタ１〜４と、複数のバスマスタ１〜４間でのバスＢＵＳＳに対するアクセス要求を調停するバスアクセス調停回路７とを備えている。
【００１５】
バスマスタ１〜４は、例えばＣＰＵやＤＭＡコントローラである。本実施の形態１では、バスマスタ１〜４には一つのＣＰＵが含まれている。具体的には、バスマスタ１がＣＰＵである。以後、バスマスタ１を「ＣＰＵ１」と呼ぶことがある。バススレーブ５，６は、例えばメモリ、ＵＡＲＴ、あるいはＤＲＡＭコントローラである。
【００１６】
また、本実施の形態１に係る半導体回路には、割り込み要求が通知されると、当該割り込み要求に応じた割り込み処理を実行する旨をＣＰＵ１に通知する割り込みコントローラ８が設けられている。割り込みコントローラ８には、割り込み要求を示す複数の割り込み要求信号ＩＮＴ０〜ＩＮＴ７が入力される。これらの割り込み要求信号ＩＮＴ０〜ＩＮＴ７は、互いに異なった種類の割り込み処理に対応しており、バススレーブ５，６や、図示していない他の周辺回路から出力される。割り込み要求信号ＩＮ０〜ＩＮ７のそれぞれには個別に優先順位が割り当てられており、割り込みコントローラ８は、割り込み要求信号ＩＮ０〜ＩＮ７のうちの複数の信号が同時に入力されると、当該複数の信号のうち優先順位の最も高い信号を選択し、選択した当該信号に対応した割り込み処理を実行する旨をＣＰＵ１に通知する。ＣＰＵ１は、割り込みコントローラ８から通知された割り込み処理を実行する。なお、割り込みコントローラ８に割り込み要求信号が一つしか入力されていない場合には、割り込みコントローラ８では当該割り込み要求信号が選択されることになる。
【００１７】
さらに、本実施の形態１に係る割り込みコントローラ８は、割り込み要求信号ＩＮ０〜ＩＮ７のうちの少なくとも一つが入力されると、ＣＰＵ１におけるバスＢＵＳＳに対するアクセス要求を他のバスマスタ２〜４よりも優先して受け付けることを要求する優先処理要求信号ＰＰＲをバスアクセス調停回路７に出力する。バスアクセス調停回路７は、優先処理要求信号ＰＰＲを受け取ると、ＣＰＵ１からのアクセス要求を優先して受け付ける。ＣＰＵ１は割り込み処理が終了すると、その旨を割り込みコントローラ８に通知し、割り込みコントローラ８は、優先処理要求信号ＰＰＲの出力を停止する。
【００１８】
次に、本実施の形態１に係る半導体回路の動作について詳細に説明する。まず、割り込みコントローラ８から優先処理要求信号ＰＰＲが出力されていない場合の本半導体回路の動作について説明する。バスマスタ１〜４のそれぞれは、バススレーブ５，６に対してアクセスを行う際には、まず、バスＢＵＳＳに対するアクセス要求を示すアクセス要求信号ＲＱをバスアクセス調停回路７に出力する。バスアクセス調停回路７は、複数のアクセス要求信号ＲＱが同時に入力されると、当該アクセス要求信号ＲＱを出力したバスマスタのいずれか一つを選択する。例えば、バスマスタ１〜４に対して予め優先順位が設定されていたり、バスマスタ１〜４のそれぞれが優先順位を決定してバスアクセス調停回路７に通知する場合には、最も優先順位の高いバスマスタを選択する。あるいは、アクセス要求信号ＲＱを出力したバスマスタのうち、最も長い時間、バスに対するアクセス権を取得していないバスマスタを選択しても良い。その後、バスアクセス調停回路７は、アクセス要求信号ＲＱを出力したバスマスタのうち、選択したバスマスタに対してはアクセス要求を受け付けた旨を示すグラント信号ＧＲＴを出力し、選択しなかったバスマスタに対してはアクセス要求を受け付けなかった旨を示すグラント信号ＧＲＴを出力する。
【００１９】
バスマスタ１〜４のそれぞれは、自身のアクセス要求が受け付けられると、バスアクセス調停回路７に対して制御信号ＣＮＴＭを出力する。この制御信号ＣＮＴＭには、バスマスタ１〜４がバススレーブ５，６に対してデータを書き込む際には、ライトデータ信号、アドレス信号及びライト動作を通知するライト信号が含まれており、バスマスタ１〜４がバススレーブ５，６からデータを読み出す際には、アドレス信号及びリード動作を通知するリード信号が含まれている。
【００２０】
バスアクセス調停回路７は、アクセス要求を受け付けたバスマスタから制御信号ＣＮＴＭを受け取ると、当該制御信号ＣＮＴＭを共通のバスＢＵＳＳを利用してバススレーブ５，６に対して制御信号ＣＮＴＳとして出力する。この際、バスアクセス調停回路７は、入力された制御信号ＣＮＴＭに含まれるアドレス信号に応じて、バススレーブ５，６のうちアクセス対象のバススレーブを選択する。これにより、制御信号ＣＮＴＭにライト信号が含まれている場合には、当該制御信号ＣＮＴＭに含まれるライトデータ信号が、選択されたバススレーブに書き込まれ、制御信号ＣＮＴＭにリード信号が含まれている場合には、選択されたバススレーブからデータが読み出される。選択されたバススレーブから出力されたリードデータＲＤＳは、バスアクセス調停回路７に入力される。バスアクセス調停回路７は、入力されたリードデータＲＤＳを、バスマスタ１〜４の間で共通のバスＢＵＳＭを利用してバスマスタ１〜４に対してリードデータＲＤＭとして出力する。これにより、アクセス要求が受け付けられたバスマスタは、バススレーブからのデータを受け取ることができる。
【００２１】
アクセス要求が受け付けられたバスマスタは、バススレーブ５，６に対するアクセスが終了してバスアクセスが終了すると、アクセス要求信号ＲＱの出力を停止し、新たにバススレーブ５，６に対してアクセスを行う際には、再びアクセス要求信号ＲＱを出力する。一方で、アクセス要求が受け付けられなかったバスマスタは、アクセス要求信号ＲＱの出力を継続する。
【００２２】
次に、割り込みコントローラ８から優先処理要求信号ＰＰＲが出力される際の本半導体回路の動作について説明する。割り込みコントローラ８は、割り込み要求信号ＩＮＴ０〜ＩＮＴ７の少なくとも一つが入力されると、選択した割り込み要求信号に応じた割り込み処理の実行をＣＰＵ１に通知するとともに、バスアクセス調停回路７に優先処理要求信号ＰＰＲを出力する。バスアクセス調停回路７は、優先処理要求信号ＰＰＲを受け取ると、それ以降においては、ＣＰＵ１のバスＢＵＳＳに対するアクセス要求を他のバスマスタ２〜４よりも優先して受け付ける。例えば、バスアクセス調停回路７は、優先処理要求信号ＰＰＲを受け取った際に実行されているバスアクセスが終了し、ＣＰＵ１が割り込み処理を実行するためにアクセス要求信号ＲＱを出力している場合には、他のバスマスタ２〜４からアクセス要求信号ＲＱが出力されていたとしても、ＣＰＵ１のアクセス要求をまず最初に受け付けて、ＣＰＵ１に対してアクセス要求を受け付けた旨を示すグラント信号ＧＲＴを出力する。したがって、ＣＰＵ１は、制御信号ＣＮＴＭを出力して、割り込みコントローラ８から通知された割り込み処理を実行することができる。
【００２３】
また、割り込みコントローラ８に割り込み要求が通知される際に、ＣＰＵ１のバスアクセスがすでに保留されており、ＣＰＵ１がアクセス要求信号ＲＱを出力している場合であっても、バスアクセス調停回路７に優先処理要求信号ＰＰＲが入力されると、保留されていたバスアクセスが優先して実行されるため、その後の割り込み処理の開始に早期に到達することができる。
【００２４】
以上のように、本実施の形態１に係る半導体回路では、割り込みコントローラ８に割り込み要求が通知されると、他のバスマスタのバスＢＵＳＳに対するアクセス要求よりも、ＣＰＵ１のバスＢＵＳＳに対するアクセス要求が優先されるため、ＣＰＵ１の割り込み処理を早期に実行することができる。
【００２５】
実施の形態２．
図２は本発明の実施の形態２に係る半導体回路が有する割り込みコントローラ８の構成を示す図である。本実施の形態２に係る半導体回路は、上述の実施の形態１に係る半導体回路において、割り込みコントローラ８に選択レジスタ１８を設けたものである。本実施の形態２に係る割り込みコントローラ８は、通知される複数種類の割り込み要求のうち、特定種類の割り込み要求が通知された場合にのみ優先処理要求信号ＰＰＲを出力する。
【００２６】
選択レジスタ１８は８ビットのデータＤＡ０〜ＤＡ７を記憶している。これらの８ビットのデータＤＡ０〜ＤＡ７は、それぞれ８つの割り込み要求信号ＩＮＴ０〜ＩＮＴ７に対応している。割り込みコントローラ８は、データＤＡ０〜ＤＡ７のうち“１”を示すデータに対応する割り込み要求信号が入力された場合にのみ、優先処理要求信号ＰＰＲを出力する。図２の例では、最下位ビットのデータＤＡ０と、下位から４ビット目のデータＤＡ３とが“１”を示している。したがって、この例では、割り込みコントローラ８は、割り込み要求信号ＩＮＴ０，ＩＮＴ３が入力された場合のみ優先処理要求信号ＰＰＲを出力する。
【００２７】
なお、データＤＡ０〜ＤＡ７については、ＣＰＵ１が選択レジスタ１８に書き込むことができる。また、外部接続端子を設けて、ユーザがデータＤＡ０〜ＤＡ７を直接選択レジスタ１８に書き込めるようにしても良い。本実施の形態２に係る半導体回路のその他の構成については、実施の形態１に係る半導体回路と同様であるため、その説明は省略する。
【００２８】
このように、本実施の形態２に係る半導体回路では、割り込みコントローラ８は、特定種類の割り込み要求が通知された場合にのみ優先処理要求信号ＰＰＲを出力するため、他のバスマスタ２〜４のバスアクセスを妨げることを最小限に抑えつつ、ＣＰＵ１の特定の割り込み処理を早期に実行することができる。
【００２９】
また、本実施の形態２では、優先処理要求信号ＰＰＲを出力する特定種類の割り込み要求を指定する選択レジスタ１８が設けられているため、当該選択レジスタ１８にデータを書き込むことによって、優先処理すべき割り込み要求を簡単に指定することができる。
【００３０】
実施の形態３．
図３は本発明の実施の形態３に係る半導体回路が有する割り込みコントローラ８の構成を示す図である。本実施の形態３に係る半導体回路は、上述の実施の形態１に係る半導体回路において、割り込みコントローラ８にレベル指定レジスタ２８を設けたものである。本実施の形態３に係る割り込みコントローラ８は、優先順位の高い割り込み要求が通知された場合にのみ優先処理要求信号ＰＰＲを出力する。
【００３１】
図４は割り込み要求信号ＩＮＴ０〜ＩＮＴ７に割り当てられている優先順位の一例を示す図である。図４の例では、割り込み要求信号ＩＮＴ０〜ＩＮＴ７に対して、それぞれ“５”,“１２”，“１３”，“３”，“１０”,“８”，“９”，“１１”が割り当てられている。なお、本例では、優先順位を示す数字が小さいほど優先順位が高いことを意味している。本実施の形態３では、図４に示される優先順位が割り込み要求信号ＩＮＴ０〜ＩＮＴ７に割り当てられているものとする。
【００３２】
レベル指定レジスタ２８は、基準優先順位を二進表記で示す８ビットのデータＤＢ０〜ＤＢ７を記憶している。割り込みコントローラ８は、レベル指定レジスタ２８に設定されている基準優先順位よりも高い優先順位の割り込み要求が通知された場合にのみ優先処理要求信号ＰＰＲを出力する。図３の例では、８ビットのデータＤＢ０〜ＤＢ７は“０００００１１１”を示していることから、基準優先順位は“７”となる。したがって、この例では、割り込みコントローラ８は、優先順位が“７”よりも高い割り込み要求信号ＩＮＴ０，ＩＮＴ３（優先順位はそれぞれ“５”，“３”）が入力された場合のみ優先処理要求信号ＰＰＲを出力する。
【００３３】
なお、割り込みコントローラ８は、優先順位が基準優先順位以上の割り込み要求信号が入力された場合のみ優先処理要求信号ＰＰＲを出力しても良い。
【００３４】
また、データＤＢ０〜ＤＢ７については、ＣＰＵ１がレベル指定レジスタ２８に書き込むことができる。外部接続端子を設けて、ユーザがデータＤＢ０〜ＤＢ７を直接レベル指定レジスタ２８に書き込めるようにしても良い。本実施の形態３に係る半導体回路のその他の構成については、実施の形態１に係る半導体回路と同様であるため、その説明は省略する。
【００３５】
以上のように、本実施の形態３に係る半導体回路では、実施の形態２と同様に、割り込みコントローラ８は、特定種類の割り込み要求が通知された場合にのみ優先処理要求信号ＰＰＲを出力するため、他のバスマスタ２〜４のバスアクセスを妨げることを最小限に抑えつつ、ＣＰＵ１の特定の割り込み処理を早期に実行することができる。
【００３６】
また、本実施の形態３に係る割り込みコントローラ８は、基準優先順位よりも高い優先順位の割り込み要求が通知された場合には優先処理要求信号ＰＰＲを出力し、基準優先順位よりも低い優先順位の割り込み要求が通知された場合には優先処理要求信号ＰＰＲを出力しないため、本当に早期に実行する必要のある割り込み処理のみを優先することができる。
【００３７】
実施の形態４．
図５は本発明の実施の形態４に係る半導体回路の構成を示すブロック図である。本実施の形態４に係る半導体回路は、上述の実施の形態１に係る半導体回路において、基本的には、バスマスタ２がＣＰＵであり、かつ割り込みコントローラ９及び優先要求調停回路１０をさらに設けたものである。以後、バスマスタ２を「ＣＰＵ２」と呼ぶことがある。上述の実施の形態１では、バスマスタ１〜４にＣＰＵが一つ含まれる場合での割り込み処理の優先処理について説明したが、本実施の形態４では、バスマスタ１〜４にＣＰＵが複数含まれる場合での割り込み処理の優先処理について説明する。
【００３８】
本実施の形態４に係る割り込みコントローラ８は、割り込み要求信号ＩＮＴ０〜ＩＮＴ７の少なくとも一つが入力されると、優先処理要求信号ＰＰＲを優先要求調停回路１０に出力するとともに、優先順位通知信号ＰＬを優先要求調停回路１０に出力する。この優先順位通知信号ＰＬは、割り込みコントローラ８が選択した割り込み要求信号の優先順位を示す信号である。例えば、割り込み要求信号ＩＮＴ０〜ＩＮＴ７に対して上述の図４のような優先順位が予め割り当てられている場合、割り込み要求信号ＩＮＴ０〜ＩＮＴ３が同時に割り込みコントローラ８に入力されると、当該割り込みコントローラ８は、割り込み要求信号ＩＮＴ３を選択して、当該割り込み要求信号ＩＮＴ３に対応する割り込み処理を実行する旨をＣＰＵ１に対して通知するとともに、当該割り込み要求信号ＩＮＴ３の優先順位“３”を示す優先順位通知信号ＰＬを出力する。
【００３９】
一方で、割り込みコントローラ９は、ＣＰＵ２に対応する割り込み要求が通知されると、当該割り込み要求に応じた割り込み処理を実行する旨をＣＰＵ２に通知する。割り込みコントローラ９には、割り込み要求を示す複数の割り込み要求信号ＩＮＴ１０〜ＩＮＴ１７が入力される。これらの割り込み要求信号ＩＮＴ１０〜ＩＮＴ１７は、互いに異なった種類の割り込み処理に対応しており、バススレーブ５，６や、図示していない他の周辺回路から出力される。割り込み要求信号ＩＮ１０〜ＩＮ１７には優先順位が割り当てられており、割り込みコントローラ９は、割り込み要求信号ＩＮ１０〜ＩＮ１７のうちの複数の信号が同時に入力されると、当該複数の信号のうち優先順位の最も高い信号を選択し、選択した当該信号に対応した割り込み処理を実行する旨をＣＰＵ２に通知する。そして、ＣＰＵ２は、通知された割り込み処理を実行する。なお、割り込みコントローラ９に割り込み要求信号が一つしか入力されていない場合には、割り込みコントローラ９では当該割り込み要求信号が選択されることになる。
【００４０】
さらに、割り込みコントローラ９は、割り込み要求信号ＩＮ１０〜ＩＮ１７のうちの少なくとも一つが入力されると、ＣＰＵ２におけるバスＢＵＳＳに対するアクセス要求を他のバスマスタ１，３，４よりも優先して受け付けることを要求する優先処理要求信号ＰＰＲと、優先順位通知信号ＰＬとを優先要求調停回路１０に出力する。この優先順位通知信号ＰＬは、割り込みコントローラ９が選択した割り込み要求信号の優先順位を示す信号である。
【００４１】
なお、ＣＰＵ１，２は、割り込み処理が終了すると、その旨を割り込みコントローラ８，９にそれぞれ通知し、割り込みコントローラ８，９は優先処理要求信号ＰＰＲの出力を停止する。
【００４２】
優先要求調停回路１０は、複数の優先処理要求信号ＰＰＲが同時に入力されると、当該優先処理要求信号ＰＰＲを出力した割り込みコントローラ８，９に対応したＣＰＵ１，２のうち、アクセス要求を優先させるＣＰＵを決定し、決定したＣＰＵを示す情報をバスアクセス調停回路７に通知する。具体的には、優先要求調停回路１０は、割り込みコントローラ８，９のうち、出力した優先順位通知信号ＰＬの優先順位が高い方の割り込みコントローラに対応したＣＰＵを、アクセス要求を優先させるＣＰＵとして決定する。バスアクセス調停回路７は、優先要求調停回路１０から通知されたＣＰＵのアクセス要求を、実施の形態１と同様に他のバスマスタよりも優先して受け付ける。
【００４３】
なお、バスマスタ１〜４に３つのＣＰＵが含まれており、当該３つのＣＰＵのそれぞれから優先処理要求信号ＰＰＲが優先要求調停回路１０に同時に入力された場合には、優先要求調停回路１０は、優先処理要求信号ＰＰＲを出力した割り込みコントローラのうち、出力した優先順位通知信号ＰＬの優先順位が最も高い割り込みコントローラに対応したＣＰＵを、アクセス要求を優先させるＣＰＵとして決定する。
【００４４】
また、優先要求調停回路１０は、優先処理要求信号ＰＰＲが一つだけしか入力されない場合には、当該優先処理要求信号ＰＰＲを出力した割り込みコントローラに対応したＣＰＵを、アクセス要求を優先させるＣＰＵとして決定する。
【００４５】
また、割り込みコントローラ８，９から出力される優先順位通知信号ＰＬが同じ優先順位を示す場合には、ＣＰＵ１，２のどちらを、アクセス要求を優先させるＣＰＵとして決定しても良く、本例では、ＣＰＵ１をアクセス要求を優先させるＣＰＵとして決定する。本実施の形態４に係る半導体回路のその他の構成については、実施の形態１に係る半導体回路と同様であるため、その説明は省略する。
【００４６】
以上のように、本実施の形態４に係る半導体回路では、バスマスタ１〜４に含まれる複数のＣＰＵにおいて、バスＢＵＳＳに対するアクセス要求を優先させるＣＰＵが決定され、当該ＣＰＵのアクセス要求が他のバスマスタよりも優先して受け付けられる。そのため、当該ＣＰＵの割り込み処理を早期に実行することができる。
【００４７】
また、優先要求調停回路１０は、割り込み要求に割り当てられた優先順位に基づいて、アクセス要求を優先させるＣＰＵを決定しているため、早期に実行されるべき割り込み処理を優先して実行することができる。
【００４８】
なお、実施の形態２，３と同様に、本実施の形態４に係る半導体回路においても、割り込みコントローラ８，９のそれぞれは、通知される複数種類の割り込み要求のうち特定種類の割り込み要求が通知された場合にのみ優先処理要求信号ＰＰＲを出力しても良い。
【００４９】
実施の形態５．
図６は本発明の実施の形態５に係る半導体回路の構成を示すブロック図である。本実施の形態５に係る半導体回路は、上述の実施の形態１に係る半導体回路において、バスアクセス調停回路７及び割り込みコントローラ８の替わりに、バスアクセス調停回路１０７及び割り込みコントローラ１０８を設けたものである。
【００５０】
バスアクセス調停回路１０７は、基本的には、実施の形態１に係るバスアクセス調停回路７と同様の動作を行う。異なるのは、ＣＰＵ１以外のバスマスタのバスアクセスが集中している間にビジー信号ＢＳＹを出力する点と、優先処理要求信号ＰＰＲは入力されず、ＣＰＵ１のアクセス要求を優先して受け付けるような処理を実行しない点である。バスアクセス調停回路１０７は、ＣＰＵ１以外のバスマスタのバスアクセスが集中しているかどうかを判定し、当該バスアクセスが集中している間は、割り込みコントローラ１０８に対してビジー信号ＢＳＹを出力する。例えば、バスアクセス調停回路１０７は、ＣＰＵ１以外のバスマスタから、所定数以上のアクセス要求信号ＲＱが入力されている場合には、ＣＰＵ１以外のバスマスタのバスアクセスが集中していると判定し、当該所定数以上のアクセス要求信号ＲＱが入力されている間、ビジー信号ＢＳＹを割り込みコントローラ１０８に出力する。本例では、ＣＰＵ１以外のバスマスタから２つ以上のアクセス要求信号ＲＱが入力されている場合には、バスアクセス調停回路１０７は、ＣＰＵ１以外のバスマスタのバスアクセスが集中していると判定する。
【００５１】
割り込みコントローラ１０８は、割り込み要求が通知されると、当該割り込み要求に応じた割り込み処理を実行する旨をＣＰＵ１に通知する。割り込みコントローラ１０８には、実施の形態１と同様の割り込み要求信号ＩＮＴ０〜ＩＮＴ７が入力される。割り込みコントローラ１０８は、割り込み要求信号ＩＮ０〜ＩＮ７のうちの複数の信号が同時に入力されると、当該複数の信号のうち優先順位の最も高い信号を選択し、選択した当該信号に対応した割り込み処理を実行する旨をＣＰＵ１に出力する。そして、ＣＰＵ１は、通知された割り込み処理を実行する。なお、割り込みコントローラ１０８に割り込み要求信号が一つしか入力されていない場合には、割り込みコントローラ１０８では当該割り込み要求信号が選択されることになる。
【００５２】
また、割り込みコントローラ１０８は、バスアクセス調停回路１０７からビジー信号ＢＳＹが入力されている間は、ＣＰＵ１に対して割り込み処理の実行を通知しない。したがって、割り込みコントローラ１０８にビジー信号ＢＳＹが入力されている間は、割り込みコントローラ１０８に割り込み要求が通知された場合であっても、ＣＰＵ１は割り込み処理を実行することはない。その他の構成については実施の形態１に係る半導体回路と同様であるため、その説明は省略する。
【００５３】
以上のように、本実施の形態５に係る半導体回路では、割り込みコントローラ１０８は、ビジー信号ＢＳＹが入力されている間は、ＣＰＵ１に対しては割り込み処理の実行を通知しないため、ＣＰＵ１以外のバスマスタのバスアクセスが集中している場合には、ＣＰＵ１から、割り込み処理に基づくバスＢＵＳＳに対するアクセス要求は出力されることはない。したがって、ＣＰＵ１の割り込み処理によって他のバスマスタ２〜４のバスアクセスが邪魔されることを防止できる。
【００５４】
なお、本実施の形態５では、ＣＰＵ１以外のバスマスタから所定数以上のアクセス要求信号ＲＱが出力されている場合に、ＣＰＵ１以外のバスマスタのバスアクセスが集中していると判定しているが、他の方法でバスアクセスの集中を判定しても良い。例えば、通常、複数のバスマスタの間では、処理するデータ量が異なり、処理データ量が多いほどバスアクセスは頻繁に行われることから、処理データ量が比較的多いバスマスタからアクセス要求信号ＲＱが出力されている場合には、バスアクセスが集中していると判定しても良い。
【００５５】
実施の形態６．
図７は本発明の実施の形態６に係る半導体回路が有する割り込みコントローラ１０８の構成を示す図である。本実施の形態６に係る半導体回路は、上述の実施の形態５に係る半導体回路において、割り込みコントローラ１０８に選択レジスタ１１８を設けたものである。本実施の形態６に係る割り込みコントローラ１０８は、ビジー信号ＢＳＹが入力されている間、通知される複数種類の割り込み要求のうち、特定種類の割り込み要求が通知された場合にのみ、ＣＰＵ１に対して割り込み処理の実行を通知しない。
【００５６】
選択レジスタ１１８は８ビットのデータＤＣ０〜ＤＣ７を記憶している。これらの８ビットのデータＤＣ０〜ＤＣ７は、それぞれ８つの割り込み要求信号ＩＮＴ０〜ＩＮＴ７に対応している。割り込みコントローラ１０８は、ビジー信号ＢＳＹが入力されている間、データＤＣ０〜ＤＣ７のうち“１”を示すデータに対応する割り込み要求信号が入力された場合にのみ、ＣＰＵ１に対して割り込み処理の実行を通知しない。図７の例では、最下位ビットのデータＤＣ０と、下位から４ビット目のデータＤＣ３とが“１”を示している。したがって、この例では、割り込みコントローラ１０８は、ビジー信号ＢＳＹが入力されている間、割り込み要求信号ＩＮＴ０，ＩＮＴ３が入力された場合のみ、ＣＰＵ１に割り込み処理の実行を通知しない。言い換えれば、割り込みコントローラ１０８は、ビジー信号ＢＳＹが入力されている間、割り込み要求信号ＩＮＴ１，ＩＮＴ２，ＩＮＴ４〜ＩＮＴ７が入力された場合のみ、ＣＰＵ１に割り込み処理の実行を通知する。
【００５７】
なお、データＤＣ０〜ＤＣ７については、ＣＰＵ１が選択レジスタ１１８に書き込むことができる。また、外部接続端子を設けて、ユーザがデータＤＣ０〜ＤＣ７を直接選択レジスタ１１８に書き込めるようにしても良い。本実施の形態６に係る半導体回路のその他の構成については、実施の形態５に係る半導体回路と同様であるため、その説明は省略する。
【００５８】
このように、本実施の形態６に係る半導体回路では、割り込みコントローラ１０８は、ビジー信号ＢＳＹが入力されている間、特定種類の割り込み要求が通知された場合にのみＣＰＵ１に対して割り込み処理の実行を通知しないため、ＣＰＵ１の割り込み処理によって他のバスマスタ２〜４のバスアクセスが邪魔されることを防止しつつ、ＣＰＵ１の割り込み処理の実行もある程度は確保することができる。
【００５９】
また、本実施の形態６では、複数種類の割り込み要求のうち、ビジー信号ＢＳＹが出力されている間はＣＰＵ１に対して割り込み処理の実行を通知しない割り込み要求を指定する選択レジスタ１１８が設けられているため、当該選択レジスタ１１８にデータを書き込むことによって、マスクする割り込み要求を簡単に指定することができる。
【００６０】
実施の形態７．
図８は本発明の実施の形態７に係る半導体回路が有する割り込みコントローラ１０８の構成を示す図である。本実施の形態７に係る半導体回路は、上述の実施の形態５に係る半導体回路において、割り込みコントローラ１０８にレベル指定レジスタ１２８を設けたものである。本実施の形態７に係る割り込みコントローラ１０８は、ビジー信号ＢＳＹが入力されている間、優先順位の低い割り込み要求が通知された場合にのみ、ＣＰＵ１に対して割り込み処理の実行を通知しない。
【００６１】
レベル指定レジスタ１２８は、マスク基準優先順位を二進表記で示す８ビットのデータＤＤ０〜ＤＤ７を記憶している。割り込みコントローラ１０８は、ビジー信号ＢＳＹが入力されている間、レベル指定レジスタ１２８に設定されているマスク基準優先順位よりも低い優先順位の割り込み要求が通知された場合にのみ、ＣＰＵ１に対して割り込み処理の実行を通知しない。図８の例では、８ビットのデータＤＤ０〜ＤＤ７は“０００００１１１”を示していることから、マスク基準優先順位は“７”となる。したがって、上述の図４に示される優先順位が割り込み要求信号ＩＮＴ０〜ＩＮＴ７に割り当てられている場合には、割り込みコントローラ１０８は、ビジー信号ＢＳＹが入力されている間、優先順位が“７”よりも低い割り込み要求信号ＩＮＴ１，ＩＮＴ２，ＩＮＴ４〜ＩＮＴ７が入力された場合のみＣＰＵ１に割り込み処理の実行を通知しない。言い換えれば、割り込みコントローラ１０８は、ビジー信号ＢＳＹが入力されている間、割り込み要求信号ＩＮＴ０，ＩＮＴ３が入力された場合のみ、ＣＰＵ１に割り込み処理の実行を通知する。
【００６２】
なお、割り込みコントローラ１０８は、優先順位がマスク基準優先順位以下の割り込み要求信号が入力された場合のみ、ＣＰＵ１に対して割り込み処理の実行を通知しなくても良い。
【００６３】
また、データＤＤ０〜ＤＤ７については、ＣＰＵ１がレベル指定レジスタ１２８に書き込むことができる。外部接続端子を設けて、ユーザがデータＤＤ０〜ＤＤ７を直接レベル指定レジスタ１２８に書き込めるようにしても良い。本実施の形態７に係る半導体回路のその他の構成については、実施の形態５に係る半導体回路と同様であるため、その説明は省略する。
【００６４】
以上のように、本実施の形態７に係る半導体回路では、実施の形態６に係る半導体回路と同様に、割り込みコントローラ１０８は、ビジー信号ＢＳＹが入力されている間、特定種類の割り込み要求が通知された場合にのみＣＰＵ１に対して割り込み処理の実行を通知しないため、ＣＰＵ１の割り込み処理によって他のバスマスタのバスアクセスが邪魔されることを防止しつつ、ＣＰＵ１の割り込み処理の実行もある程度は確保することができる。
【００６５】
また、本実施の形態７に係る割り込みコントローラ１０８は、マスク基準優先順位よりも低い優先順位の割り込み要求が通知された場合にはＣＰＵ１に割り込み処理の実行を通知せず、マスク基準優先順位よりも高い優先順位の割り込み要求が通知された場合には、ＣＰＵ１に対して割り込み処理の実行を通知するため、ＣＰＵ１の割り込み処理によって他のバスマスタのバスアクセスが邪魔されることを防止しつつ、本当に早期に実行する必要のある割り込み処理については実行することができる。
【図面の簡単な説明】
【００６６】
【図１】本発明の実施の形態１に係る半導体回路の構成を示すブロック図である。
【図２】本発明の実施の形態２に係る割り込みコントローラの構成を示す図である。
【図３】本発明の実施の形態３に係る割り込みコントローラの構成を示す図である。
【図４】割り込み要求信号に割り当てられた優先順位の一例を示す図である。
【図５】本発明の実施の形態４に係る半導体回路の構成を示すブロック図である。
【図６】本発明の実施の形態５に係る半導体回路の構成を示すブロック図である。
【図７】本発明の実施の形態６に係る割り込みコントローラの構成を示す図である。
【図８】本発明の実施の形態７に係る割り込みコントローラの構成を示す図である。
【符号の説明】
【００６７】
１〜４  バスマスタ、７，１０７  バスアクセス調停回路、８，９，１０８  割り込みコントローラ、１０  優先要求調停回路、１８，１１８  選択レジスタ、２８，１２８  レベル指定レジスタ。
【図１】
2008130056.tif 000003
【図２】
2008130056.tif 000004
【図３】
2008130056.tif 000005
【図４】
2008130056.tif 000006
【図５】
2008130056.tif 000007
【図６】
2008130056.tif 000008
【図７】
2008130056.tif 000009
【図８】
2008130056.tif 000010