JP4509946B2 - 割り込み優先順位設定回路 - Google Patents

割り込み優先順位設定回路 Download PDF

Info

Publication number
JP4509946B2
JP4509946B2 JP2006035042A JP2006035042A JP4509946B2 JP 4509946 B2 JP4509946 B2 JP 4509946B2 JP 2006035042 A JP2006035042 A JP 2006035042A JP 2006035042 A JP2006035042 A JP 2006035042A JP 4509946 B2 JP4509946 B2 JP 4509946B2
Authority
JP
Japan
Prior art keywords
interrupt
setting
register
interrupt priority
mode
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
JP2006035042A
Other languages
English (en)
Other versions
JP2007213477A (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.)
Lapis Semiconductor Co Ltd
Original Assignee
Oki Semiconductor 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 Semiconductor Co Ltd filed Critical Oki Semiconductor Co Ltd
Priority to JP2006035042A priority Critical patent/JP4509946B2/ja
Publication of JP2007213477A publication Critical patent/JP2007213477A/ja
Application granted granted Critical
Publication of JP4509946B2 publication Critical patent/JP4509946B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Description

本発明は、例えば、システム集積回路(以下、「システムLSI」という。)に内蔵する割り込みコントローラ等の内部に設けられ、割込み通知の優先順位を設定するレジスタの一括変換等を行う割り込み優先順位設定回路に関するものである。
従来、割り込みコントローラに関する技術としては、例えば、次ような文献等に記載されるものがあった。
特開平5−73472号公報
この特許文献1には、割り込みコントローラにおいて、優先順位が決定された複数の割り込み要求をデュアルポート型のランダム・アクセス・メモリ(以下「RAM」という。)に格納し、その後、優先順位に従って割り込みレジスタに読み出し、中央処理装置(以下「CPU」という。)へ通知することにより、CPUの処理の負担を軽減する技術が記載されている。
この種の割り込みコントローラでは、デュアルポート型RAMに格納された複数の割り込み要求をシリアルに読み出してレジスタに格納する構成になっているので、割り込み要求の読み出し速度が遅く、しかも、設定モード(例えば、エンジン制御系LSIの場合、加速モード、速度安定モード、減速モード等)が変わる毎に、各設定モードに対応した割り込み優先順位に変更する場合、各設定モードに対する割り込み数が多いと(例えば、数十)、割り込み優先順位の変更のための制御処理が複雑で、処理速度を向上させることが困難である。
そこで、このような問題を解決するために、従来、次のようなシステムLSIに内蔵される割り込みコントローラの技術が提案されている。
図4は、従来のシステムLSIに内蔵される割り込みコントローラを示す概略の構成図である。
システムLSIは、データバス、アドレスバス及び制御バスからなるシステムバス1を有している。システムバス1には、システムLSI全体を制御するCPU2、データ格納用のRAM3、ダイレクト・メモリ・アクセス(以下「DMA」という。)コントローラ4、各種の処理を行う複数のモジュール5−1〜5−J、及び割り込みコントローラ10等が接続されている。
割り込みコントローラ10は、バスインタフェース(BUS IF)11を介してシステムバス1に接続されたシステムバス12を有している。システムバス12には、割り込みコントローラ全体を制御する割り込み制御部13、割り込み優先順位設定回路20、及び複数の他のレジスタ22−0〜22−M等が接続されている。割り込み優先順位設定回路20は、複数の割り込み優先順位設定レジスタ21−0〜21−(n−1)等を有し、これらがシステムバス12に接続されている。
CPU内蔵のシステムLSIを制御するソフトウェアの動作で、電源投入時及び各設定モードヘの切り換え時には、システムLSI内部レジスタの初期設定や設定モード変更の処理が必要となる。割り込みコントローラ10内に設けられた割り込み優先順位設定回路20中の割り込み優先順位設定レジスタ21−0〜21−(n−1)も、その処理の中に含まれる。
設定モードとは、例えば、エンジン制御系LSIの場合は、加速モード(設定モード0)、速度安定モード(設定モード1)、減速モード(設定モード2)等であり、MP3(MPEG-1Audio Layer 3、動画圧縮技術であるMPEG-1の音声圧縮技術で圧縮率が一番高いもの)プレーヤの場合は、再生モード(設定モード0)、選曲モード(設定モード1)、録音モード(設定モード2)等である。
図5は、図4のシステムLSIにおいて設定モード変更の動作例を示すフローチャートである。
システムLSIにおいて、電源投入時(ステップ30)のシステムLSI内部回路の初期設定(ステップ31)の後、CPU2の制御により、設定モード判定処理(ステップ32〜3(N-1))の結果に従い、システムLSIはいずれかの設定モード(ステップ32a〜3Na)で運用を開始し、以降、システムLSIの状態により、設定モードが他のモードヘ遷移する。各設定モード運用(ステップ32a〜3Na)を開始する時、CPU2の制御によって設定変更処理を開始し、割り込み制御部13の制御によって割り込み優先順位設定レジスタ21−0〜21−(n−1)の処理も行う。
又、割り込み制御部13に対して割り込み優先順位設定値を与える割り込み優先順位設定レジスタ21−0〜21−(n−1)については、各設定モードで運用中(ステップ32a〜3Na)、割り込みが発生した場合にレジスタ書き換えを行う場合がある。これは、割り込みが発生した場合に、この割り込み処理中に発生するであろう割り込みの優先順位を決めるために、割り込み優先順位設定レジスタ21−0〜21−(n−1)の内容を書き換える必要があるからである。
図6は、図4のシステムLSIにおいて設定モード運用中の割り込み動作例を示すフローチャートである。
図6中の設定モード運用期間Hとは、図5に示す各設定モード運用(ステップ32a〜3Na)を行っている期間のことであり、各設定モード運用中の動作が図6に示されている。
CPU2の制御により、割り込み優先順位設定レジスタ21−0〜21−(n−1)の設定を含んだ設定モード開始処理が行われて各設定モードで運用中(ステップ40)、割り込みが発生した場合(ステップ41)、割り込み処理が開始され(ステップ42)、この割り込み処理の中で受付けられる割り込み要因を限定するために、割り込み優先順位設定レジスタ21−0〜21−(n−1)の内容を変更するためのレジスタ書き換えを行う(ステップ43)。
例えば、システムLSIが図5の設定モード0で運用中(ステップ32a)、図4のモジュール5−1から割り込みが発生し、これがシステムバス1を経由してCPU2へ伝えられると、割り込み処理が開始されてCPU2から割り込み処理命令が出され(ステップ42)、システムバス1、割り込みコントローラ10内のバスインタフェース11、及びシステムバス12を経由して割り込み制御部13へ伝えられる。その割り込み処理の中で受付可能な割り込み要因を限定するため(即ち、モジュール5−1の処理を実行するために必要な割り込み要求の種類の数量限定を行うため)、その割り込み処理に対応可能な新たな割り込み優先順位の値を、割り込み優先順位設定レジスタ21−0〜21−(n−1)に設定する(ステップ43)。
CPU2の制御により、モジュール5−1に対する割り込み処理が行われる(ステップ44)。この処理中に例えばモジュール5−1から複数の割り込み要求が発生すると、この複数の割り込み要求がシステムバス1を経由してCPU2へ伝えられる。割り込み優先順位設定回路20内の割り込み制御部13では、CPU2からの命令に従い、割り込み優先順位設定レジスタ21−0〜21−(n−1)から割り込み優先順位設定値を読み出して、複数の割り込み要求中の優先度の高いものを1つ選び、CPU2へ通知する。この通知に従い、CPU2が割り込み要求に対する処理を行う(ステップ44)。
割り込み処理が終了した時点で、CPU2及び割り込み制御部13の制御により、割り込み優先順位設定レジスタ21−0〜21−(n−1)の設定値が、設定モード0の割り込み優先順位に戻され(ステップ45)、割り込み処理が終了して(ステップ46)、割り込み発生前の状態に復帰する。CPU2は、設定モード0の運用を再開し、所定の処理を行い、この処理が終了すると、設定モード終了処理を行う(ステップ47)。これにより、設定モード0の運用期間が終了する。
従来のシステムLSIでは、割り込み優先順位を決定するための割り込み優先順位設定レジスタ21−0〜21−(n−1)の内容(即ち、割り込み優先順位設定値)を書き換える方法として、次のような、(A)CPUアクセスによる書き換え、或いは、(B)DMA転送による書き換え、のいずれかの方法を採用している。
(A) CPUアクセスによる書き換え
従来の図4のシステムLSIでは、システムバス1配下に割り込みコントローラ内部の割り込みの優先順位設定を行う複数ビットのn個の割り込み優先順位設定レジスタ21−0〜21−(n−1)を搭載している。各設定モード移行時(図5のステップ32a〜3Naへの移行時)、或いは、割り込み発生時(図6のステップ41)及び割り込み処理終了時(図6のステップ46)において、割り込み優先順位設定レジスタ21−0〜21−(n−1)の書き換えは、CPU2が行う。
(B) DMA転送による書き換え
図4のDMAコントローラ4を用いてRAM3から割り込み優先順位設定レジスタ21−0〜21−(n−1)に転送を行う。この時、システムバス1はDMAコントローラ4が使用しており、CPU2からシステムバス1ヘのアクセスは不可能となる。
しかしながら、従来の前記(A)、(B)のレジスタ書き換え方法では、次の(a)、(b)のような課題があった。
(a) 前記(A)のCPUアクセスによる書き換え
各設定モード移行時、或いは、割り込み発生時及び割り込み処理終了時に、割り込み優先順位設定レジスタ21−0〜21−(n−1)の書き換えをCPU2で行う場合、図4の回路構成では、レジスタ数分のライトアクセスをしなければならない。そのため、割り込み優先順位設定レジスタ21−0〜21−(n−1)を全て書き換えるのに時間が掛かってしまい、リアルタイム(実時間)性が必要な場合に処理が間に合わなくなってしまう場合がある。
(b) 前記(B)のDMA転送による書き換え
DMA転送中にシステムバス1を利用するため、CPU2がシステムバス1を使用する場合の妨げとなってしまう。又、DMA転送は、システムバス1を利用してRAM3からデータをリードし(読み出し)、その後、割り込み優先順位設定レジスタ21−0〜21−(n−1)にデータをライト(書き込み)するため、一連の処理に時間が掛かってしまう。
本発明の割り込み優先順位設定回路は、第1の記憶手段と、第2の記憶手段と、複数面構成のレジスタと、選択手段とを有している。前記第1の記憶手段は、現在運用中のプログラム処理の所望の設定モードの第1の割り込み優先順位設定値、及び前記所望の設定モードを切り換える際の次設定モードの第2の割り込み優先順位設定値を保持するものである。前記第2の記憶手段は、前記所望の設定モードにおいて割り込みが発生した後の第3の割り込み優先順位設定値を保持するものである。
前記複数面構成のレジスタは、前記第1の割り込み優先順位設定値と、前記第2又は第3の割り込み優先順位設定値とを格納するものである。更に、前記選択手段は、前記レジスタに格納された前記第1の割り込み優先順位設定値と、前記第2又は第3の割り込み優先順位設定値とのいずれか一方を選択して出力するものである。
請求項1に係る発明によれば、割り込み優先順位設定値を格納するためのレジスタの内容を書き換えるために、第1の記憶手段と第2の記憶手段を設け、割り込み優先順位設定値を第1の記憶手段又は第2の記憶手段からレジスタに転送するようにしたので、レジスタ書き換え時間を短縮化出来る。更に、レジスタを複数面構成にして有効なレジスタを選択手段により選択するようにしたので、設定モードを迅速に切り換えることが出来る。
請求項2に係る発明によれば、第1の記憶手段から読み出された割り込み優先順位設定値を第1又は第2のレジスタへ転送する第1の転送ルートと、第1及び第2の記憶手段から読み出された割り込み優先順位設定値を第1又は第2のレジスタへ転送する第2の転送ルートとを設けたので、割り込み処理を行うCPU等の負担を軽減出来る。
請求項3に係る発明によれば、前記第1の記憶手段、及び第2の記憶手段は、半導体記憶装置によって構成されているので、複数面構成のレジスタに対して、異なった設定モードに対応した設定値を同時に転送出来る。
割り込みコントローラ内に設けられる割り込み優先順位設定回路は、複数面構成のRAMと、複数面構成のレジスタと、 セレクタとを有している。複数面構成のRAMは、複数のプログラム処理用の設定モードにそれぞれ対応した割り込みの優先順位を決める複数の割り込み優先順位設定値を保持する。
複数面構成のレジスタは、RAMに保持された所望の設定モードに対応する第1の割り込み優先順位設定値と、RAMに保持された所望の設定モードにおける割り込み発生後の第2の割り込み優先順位設定値、又は所望の設定モードから設定モード切り換え後の次設定モードに対する第3の割り込み優先順位設定値と、がRAMから読み出されて転送されてくると、第1の割り込み優先順位設定値と、第2の割り込み優先順位設定値又は第3の割り込み優先順位設定値と、を格納する。セレクタは、レジスタに格納された第1の割り込み優先順位設定値と第2又は第3の割り込み優先順位設定値とのいずれか一方を選択して出力する。
(実施例1の構成)
図1は、本発明の実施例1を示すシステムLSIに内蔵される割り込みコントローラの概略の構成図である。
システムLSIは、従来の図4と同様に、システムバス51を有している。システムバス51には、従来の図4と同様に、システムLSI全体を制御するCPU52、データ格納用のRAM53、DMAコントローラ54、及び各種の処理を行う複数のモジュール55−1〜55−Jが接続され、更に、従来の図4とは異なる構成の割り込みコントローラ60等が接続されている。
割り込みコントローラ60は、図5に示す設定モードが4モード構成であり、更に、図6に示すように、各設定モード運用中に割り込みが発生した場合の設定モードが設けられている。この割り込みコントローラ60は、バスインタフェース(BUS IF)61を介してシステムバス51に接続されたシステムバス62を有している。システムバス62には、割り込みコントローラ全体を制御する割り込み制御部63、割り込み優先順位設定回路70、及び複数の他のレジスタ79−0〜79−N等が接続されている。
割り込み優先順位設定回路70は、システムバス62に接続され、割り込み優先順位設定回路全体を制御するレジスタ書き込みコントローラ71を有している。レジスタ書き込みコントローラ71の出力側には、複数面構成(例えば、2面構成)の記憶手段(例えば、0面側のRAM72と1面側のRAM73)が接続され、この0面側のRAM72の出力側に転送ルート74が接続され、1面側のRAM73の出力側に転送ルート75が接続されている。転送ルート74,75と、レジスタ書き込みコントローラ71の出力側とには、複数面構成(例えば、2面構成)になっている0面側の割り込み優先順位設定レジスタ(LVL0_0〜LVL99_0)76−0〜76−99と1面側の割り込み優先順位設定レジスタ(LVL0_1〜LVL99_1)77−0〜77−99とが接続されている。0面側の割り込み優先順位設定レジスタ76−0〜76−99の出力側と、1面側の割り込み優先順位設定レジスタ77−0〜77−99の出力側とには、選択手段(例えば、セレクタ)78−0〜78−99が接続されている。
レジスタ書き込みコントローラ71は、各RAM72,73から割り込み優先順位設定レジスタ76−0〜76−99,77−0〜77−99へのデータ転送、各RAM72,73へのデータ書き込み、及びレジスタ2面構成の制御を行うために、各RAM72,73へのアドレス信号及びライト/リードイネーブル信号S71i,S71jと、各割り込み優先順位設定レジスタ76−0〜76−99,77−0〜77−99のライトイネーブル信号S71g,S71hと、セレクタ78−0〜78−99のセレクト信号S71dとを出力する機能を有している。
2面構成のRAM72,73は、各設定モードに対応した設定値を保持するメモリである。本実施例1では、設定モードが4つ(割り込み発生時の設定モードが各々の設定モードに対し1つ)のため、例えば、0面側のRAM72には、
・モード0_0設定値(100個分)
・モード1_0設定値(100個分)
・モード2_0設定値(100個分)
・モード3_0設定値(100個分)
1面側のRAM73には、
・モード0_1設定値(100個分)=モード0で割り込み発生後の設定値
・モード1_1設定値(100個分)=モード1で割り込み発生後の設定値
・モード2_1設定値(100個分)=モード2で割り込み発生後の設定値
・モード3_1設定値(100個分)=モード3で割り込み発生後の設定値
の設定値を保持する構成になっている。これらのRAM72,73への書き込みは、レジスタ書き込みコントローラ71が行う。
RAM72,73の出力側には、割り込み優先順位設定レジスタ76−0〜76−99,77−0〜77−99ヘの転送ルート74,75が設けられている。従来の図4の回路では、各割り込み優先順位設定レジスタ21−0〜21−(n−1)ヘの書き込みはシステムバス1,12を使用していたが、本実施例1では、RAM72,73に保持した値を、転送ルート74,75により各割り込み優先順位設定レジスタ76−0〜76−99,77−0〜77−99へ転送する構成になっている。転送の制御は、レジスタ書き込みコントローラ71が行う。
2面構成になった割り込み優先順位設定レジスタ76−0〜76−99,77−0〜77−99は、
・レジスタ数:100個
・1個のレジスタビット数:4bit
となっている。即ち、4bit構成で100個の割り込み優先順位を設定するための2面の割り込み優先順位設定レジスタ76−0〜76−99,77−0〜77−99が実装されている。図1では、0面がLVL0_0〜99_0、1面がLVL0_1〜99_1と記載されている。割り込み優先順位設定レジスタ76−0〜76−99,77−0〜77−99の2面構成は、片面に現在運用中の設定モードの設定値、もう一方の面に、現在運用中の設定モードで割り込み発生した時の設定値、又は設定モードを切り換える際の次設定モードの設定値を格納するためである。
本実施例1において、各100個の割り込み優先順位設定レジスタ76−0〜76−99,77−0〜77−99を設けているのは、設計時において100種類の割り込み要因を想定し、この各100個の割り込み優先順位設定レジスタ76−0〜76−99,77−0〜77−99を使用して、100種類各々の優先順位を設定できるようにしている。
図1のCPU52に対する割り込みは、次のようにして処理される。
例えば、モジュール55−1,・・・等から複数の割り込み要求が出され、これがシステムバス51を経由してCPU52へ伝えられると、このCPU52から割り込み処理命令が出され、システムバス51、割り込みコントローラ60内のバスインタフェース61、及びシステムバス62を経由して、割り込み制御部63及び割り込み優先順位設定回路70へ伝えられる。割り込み制御部63は、割り込み優先順位設定回路70内のセレクタ78−0〜78−99から出力される割り込み優先順位設定値に基づき、複数の割り込み要求に対する優先度を決定し、CPU52へ通知する。この通知に基づき、CPU52は、現在の処理を中止して、優先度の高い割り込み要求に対する割り込み処理を行い、割り込み処理終了後に、割り込み処理前の状態に復帰する。
図2は、図1中のレジスタ書き込みコントローラ71の構成例を示す機能ブロック図である。
レジスタ書き込みコントローラ71は、設定モード選択機能と、各設定モードのデータをRAM72,73から各割り込み優先順位設定レジスタ76−0〜76−99,77−0〜77−99ヘ転送する機能と、RAM書き込み機能と、2面ある割り込み優先順位設定レジスタ76−0〜76−99,77−0〜77−99の面切り換え機能とを有している。このレジスタ書き込みコントローラ71は、モード切り換えレジスタ部71a、転送ルート選択レジスタ部71b、転送開始レジスタ部71c、面選択レジスタ部71d、アドレス生成カウンタ部71e、オーバフロー検出部71f、各レジスタ(LVLX_0)イネーブル生成部71g、各レジスタ(LVLX_1)イネーブル生成部71h、RAM_0制御部71i、及びRAM_1制御部71jより構成されている。
モード切り換えレジスタ部71aは、各RAM72,73からどの設定モードの値を割り込み優先順位設定レジスタ76−0〜76−99,77−0〜77−99へ転送させるかを選択するものであり、例えば、次の4つのパターンが設定可能である。
.「設定モード0転送」
.「設定モード1転送」
.「設定モード2転送」
.「設定モード3転送」
転送ルート選択レジスタ部71bは、RAM72,73から割り込み優先順位設定レジスタ76−0〜76−99,77−0〜77−99への転送ルート74,75を選択するものであり、本機能で選択可能なルートは、例えば、
・0面のRAM72 →0面のレジスタ76−0〜76−99と、1面のRAM73→1面のレジスタ77−0〜77−99
・0面のRAM72→1面のレジスタ77−0〜77−99と、1面のRAM73→0面のレジスタ76−0〜76−99
・0面のRAM72→0面のレジスタ76−0〜76−99
・0面のRAM72 →1面のレジスタ77−0〜77−99
・1面のRAM73 →0面のレジスタ76−0〜76−99
・1面のRAM73 →1面のレジスタ77−0〜77−99
である。
転送開始レジスタ部71cは、CPU52により“1”をセットすることにより、RAM72,73から割り込み優先順位設定レジスタ76−0〜76−99,77−0〜77−99への転送を開始する。転送終了後、オーバフロー検出部71fの出力信号により、自動的に“0”にリセットされる。
面選択レジスタ部71dは、2面構成の割り込み優先順位設定レジスタ76−0〜76−99,77−0〜77−99の0面、1面を選択するためのセレクタ78−0〜78−99を切り換えるためのセレクト信号S71dを出力するものである。
アドレス生成カウンタ部71eは、RAM72,73をリードするアドレスの生成、及び割り込みの優先順位を設定する割り込み優先順位設定レジスタ76−0〜76−99,77−0〜77−99のライトイネーブル信号を生成するものである。このアドレス生成カウンタ部71eが動作するきっかけは、転送開始レジスタ部71cの“1”書き込みである。アドレス生成カウンタ部71eがオーバフローすると、カウンタ値が自動的に“0”に戻る。又その時に、オーバフロー検出部71fの出力信号により、転送開始レジスタ部71cがリセットされる。RAM72,73から割り込み優先順位設定レジスタ76−0〜76−99,77−0〜77−99ヘのデータ転送中、CPU52からのRAM書き込み命令が来た場合、アドレス生成カウンタ部71eは一時停止し、割り込み優先順位設定レジスタ76−0〜76−99,77−0〜77−99ヘの転送を中断する。RAM72,73への書き込み終了後、割り込み優先順位設定レジスタ76−0〜76−99,77−0〜77−99ヘの転送を中断した時点から再開する。
各レジスタ(LVLX_0)イネーブル生成部71gは、0面の割り込み優先順位を設定する割り込み優先順位設定レジスタ76−0〜76−99を書き込むライトイネーブル信号S71gを生成するものである。
各レジスタ(LVLX_1)イネーブル生成部71hは、1面の割り込み優先順位を設定する割り込み優先順位設定レジスタ77−0〜77−99を書き込むライトイネーブル信号S71hを生成するものである。
RAM_0制御部71iは、0面のRAM72をリードするアドレス信号とチップイネーブル信号S71iを生成するものであり、この時0面のRAM72へのライトイネーブル信号はネゲート(無効)にする。又、0面のRAM72への書き込み制御も行う。このRAM_0制御部71iで、CPU52からの書き込み、RAM72からの読み取り、割り込み優先順位設定レジスタ76−0〜76−99ヘの転送の調停を行う。
RAM_1制御部71jは、1面のRAM73をリードするアドレスとチップイネーブル信号S71jを生成し、この時1面のRAM73へのライトイネーブル信号はネゲートにする。又、1面のRAM73への書き込み制御も行う。このRAM_1制御部71jで、CPU52からの書き込み、RAM73からの読み取り、割り込み優先順位設定レジスタ77−0〜77−99ヘの転送の調停を行う。
(実施例1の動作)
本実施例1の動作(A)〜(C)を説明する。
(A) 初期設定→設定モード0への移行
例えば、図5の「初期設定時(ステップ31)の動作」及び「初期設定(ステップ31)」から、「設定モード0運用(ステップ32a)」に遷移する際の制御(1)〜(4)を説明する。
(1) 電源投人後初期設定で、RAM72,73に、各設定モードでの割り込み優先順位設定レジスタ76−0〜76−99,77−0〜77−99のデータ値を、CPU52からの命令で書き込む。
(2) 初期設定状態から設定モード0状態に遷移する際、レジスタ書き込みコントローラ71内において、
・モード切り換えレジスタ部71a:「設定モード0転送」
・転送ルート選択レジスタ部71b:「0面のRAM72→0面のレジスタ76−0〜76−99と、1面のRAM73→1面のレジスタ77−0〜77−99」
・面選択レジスタ部71d:0面設定
・転送開始レジスタ部71c:“1”セット
に設定する。これにより、ハードで自律的に0面のRAM72から「設定モード0設定値」を割り込み優先順位設定レジスタ76−0〜76−99に転送し、同時に1面のRAM73から「設定モード4設定値」(=設定モード0で割り込みが発生した場合の設定値)を割り込み優先順位設定レジスタ77−0〜77−99に転送する。
(3) 割り込み優先順位設定レジスタ76−0〜76−99,77−0〜77−99書き換え中、CPU52は、割り込み処理の割り込み優先順位設定レジスタ以外の処理(他モジュールの設定等)を行うことが可能である。
(4) 転送開始レジスタ部71cがネゲートされるのをCPU52で確認することで、初期設定→設定モード0状態の設定値に切り替わったことを確認することが出来る。これにより、割り込み優先順位設定レジスタ76−0〜76−99には「モード0_0設定値」、割り込み優先順位設定レジスタ77−0〜77−99には「モード0_1設定値(=モード0で割り込み発生後の設定値)」が設定される。
(B) 割り込み発生時
各設定モード運用中、割り込みが発生した場合(例えば、図6において、割り込み発生時(ステップ41)、割り込み優先順位設定レジスタ変更(ステップ43)から設定モード運用中のレジスタ設定値(ステップ45)に戻るまで。)の動作(1)、(2)を説明する。
(1) 図6の割り込み発生時点で(ステップ41)、割り込み優先順位設定レジスタ76−0〜76−99,77−0〜77−99の片面に現在運用中の設定モードのレジスタ値、もう一方の面に、現在運用中の設定モードで割り込み発生した時の値が設定されている。そのため、面選択レジスタ部71dの設定を切り換えることで、セレクト信号S71dによりセレクタ78−0〜78−99が切り替わり、割り込み発生中のレジスタ設定値にすることが出来る。
(2) 割り込み処理が終了した際には、面選択レジスタ部71dの設定を元に戻す(ステップ45)。
(C) 運用中の設定モードから他の設定モードヘの移行
各設定モード運用中、他の設定モードに切り換える動作について説明する。
本動作は、2通りの設定方法があり、割り込み優先順位設定レジスタ76−0〜76−99,77−0〜77−99を同時に書き換える方法(C1)と、片面のレジスタを書き換えてからもう一方の面のレジスタを書き換える方法(C2)とである。
(C1) レジスタ同時書き換え方法
例えば、図5の「設定モード1運用(ステップ33a)」から「設定モード2運用(ステップ34a)」への切り換えを例に挙げる。この書き換え方法を以下に示す。
レジスタ書き込みコントローラ71内において、
・モード切り換えレジスタ部71a:「設定モード2転送」
・転送ルート選択レジスタ部71b:「0面のRAM72→0面のレジスタ76−0〜76−99と、1面のRAM73→1面のレジスタ77−0〜77−99」
・面選択レジスタ部71d:0面設定
・転送開始レジスタ部71c:“1”セット
に設定する。
これにより、ハードで自律的に0面のRAM72から「モード2_0設定値」を割り込み優先順位設定レジスタ76−0〜76−99に転送し、同時に1面のRAM73から「モード2_1設定値(=モード2で割り込み発生後の設定値)」を割り込み優先順位設定レジスタ77−0〜77−99に転送する。
(C2) レジスタ片面ずつの書き換え方法
本設定方法は、例えば、図6に示す割り込み優先順位設定レジスタ変更(ステップ43)が無い場合に有効である。つまり、図6のレジスタ変更(ステップ43)の値と設定モード開始処理(ステップ40)で設定した設定値が同等であることを示す。
「運用中の割り込み優先順位設定レジスタの設定値」=「割り込み発生時の割り込み優先順位設定レジスタの設定値」
図3は、図1のシステムLSIにおいて割り込み動作時に、割り込み優先順位設定レジスタ変更が無い場合の動作例を示すフローチャートである。
図3中の設定モードとは、図5に示す各設定モード運用のことである。この図3は、各設定モード運用期間H1中の動作と、その後に遷移する次設定モード運用期間H2中の動作を示している。
設定モード運用期間H1において、設定モード開始処理後(ステップ80)に割り込みが発生した場合(ステップ81)、割り込み処理を開始する(ステップ82)。しかし、設定モード運用中の割り込み優先順位設定レジスタ(例えば、77−0〜77−99)の設定値と、割り込み発生時の割り込み優先順位設定レジスタ(例えば、76−0〜76−99)の設定値が等しいため、割り込み優先順位設定レジスタ変更は行わないで、割り込み処理(ステップ83)を行って割り込み処理を終了し(ステップ84)、設定モード運用期間H1の終了時に、設定モード終了処理(ステップ85)を行う。その際に、未使用側の割り込み優先順位設定レジスタ(例えば、76−0〜76−99)ヘ、次の設定モードの設定値を予め転送しておく。
次の設定モードに遷移して次設定モード運用期間H2に入り、次設定モード開始処理(ステップ86)を行う時、面選択レジスタ部71dを切り換えることで、セレクト信号S71dによりセレクタ78−0〜78−99が切り替わり、次の設定モードの設定値となる。又一方で、未使用側の割り込み優先順位設定レジスタ(例えば、76−0〜76−99)に、割り込み発生時(ステップ87)に対応した設定値を転送する。この動作をすることにより、設定モード切り換え時のレジスタ設定時間の大幅な短縮が期待出来る。
書き換え方法を以下(1)〜(3)に示す。この書き換え方法では、設定モード2運用(図5のステップ34a)への切り換えを例とする。つまり、次設定モード運用期間H2が設定モード2運用である。
(1) 設定モード終了処理中(ステップ85)、レジスタ書き込みコントローラ71内において、
・モード切り換えレジスタ部71a:「設定モード2転送」
・転送ルート選択レジスタ部71b:「0面のRAM72→1面のレジスタ77−0〜77−99」
・面選択レジスタ部71d:0面設定(現状のまま)
・転送開始レジスタ部71c:“1”セット
に設定する。これにより、ハードで自律的に0面のRAM72から「モード2_0設定値」を割り込み優先順位設定レジスタ77−0〜77−99に転送する。
(2) 次設定モード運用期間H2に選移し、設定モード開始処理中(ステップ86)、
・面選択レジスタ部71d:1面設定
に切り換える。面選択レジスタ部71dを切り換えたことで、セレクト信号S71dによりセレクタ78−0〜78−99が切り替わり、次の設定モードの設定値となる。
(3) 次に、未使用側の割り込み優先順位設定レジスタ76−0〜76−99に、割り込み発生時(ステップ87)に対応した設定値を転送する。レジスタ書き込みコントローラ71内において、
・モード切り換えレジスタ部71a:「設定モード2転送」
・転送ルート選択レジスタ部71b:「1面のRAM73→0面のレジスタ76−0〜76−99」
・転送開始レジスタ部71c:“1”セット
に設定する。これにより、ハードで自律的に1面のRAM73から、「モード2_1設定値(=モード2で割り込み発生後の設定値)」を割り込み優先順位設定レジスタ76−0〜76−99に転送する。
このようにして、割り込み処理開始(ステップ88)、割り込み優先順位設定レジスタ変更(ステップ89)、割り込み処理(ステップ90)、割り込み優先順位設定レジスタ変更(ステップ91)、及び割り込み処理終了後(ステップ92)、割り込み前の状態に戻り、設定モード終了処理(ステップ93)が行われる。
(実施例1の効果)
本実施例1によれば、次の(a)、(b)のような効果がある。
(a) 各設定モードにおける割り込み優先順位の設定値をローカルのRAM72,73から割り込み優先順位設定レジスタ76−0〜76−99,77−0〜77−99へ転送するようにしたので、レジスタ書き換え処理時間を短縮出来る。
(b) 割り込み優先順位設定レジスタ76−0〜76−99,77−0〜77−99を2面構成にして設定値をセレクタ78−0〜78−99により切り換えて出力するようにしたので、割り込み処理等の2つの設定モードを往復する時にレジスタ書き換えを行わずに、設定モードを迅速に切り換えることが出来る。
なお、本発明は、上記実施例1に限定されず、種々の変形や利用形態が可能である。この変形や利用形態としては、例えば、次の(A)〜(C)のようなものがある。
(A) 図1のRAM72,73を他の記憶手段で構成したり、セレクタ78−0〜78−99を他の選択手段で構成しても良い。又、図2のレジスタ書き込みコントローラ71は、図示以外の構成に変更しても良い。
(B) 実施例1では、割り込み優先順位設定レジスタ76−0〜76−99,77−0〜77−99の設定値一括変換の方法を挙げたが、他の機能のレジスタで設定モードにより変化するレジスタ、或いは、割り込み処理に移行した時に変化するレジスタにも、実施例1の機能を用いることが可能である。
(C) 用途により、割り込み優先順位設定レジスタ76−0〜76−99,77−0〜77−99の面構成を2面以上の構成で実現可能である。又、RAM72,73の構成も2面以上の構成で実施可能である。その際、面構成に応じてレジスタ書き込みコントローラ71の構成を変更すれば良い。
本発明の実施例1を示すシステムLSIに内蔵される割り込みコントローラの概略の構成図である。 図1中のレジスタ書き込みコントローラ71の構成例を示す機能ブロック図である。 図1のシステムLSIにおいて割り込み動作時に、割り込み優先順位設定レジスタ変更が無い場合の動作例を示すフローチャートである。 従来のシステムLSIに内蔵される割り込みコントローラを示す概略の構成図である。 図4のシステムLSIにおいて設定モード変更の動作例を示すフローチャートである。 図4のシステムLSIにおいて設定モード運用中の割り込み動作例を示すフローチャートである。
符号の説明
51,62 システムバス
52 CPU
60 割り込みコントローラ
63 割り込み制御部
70 割り込み優先順位設定回路
71 レジスタ書き込みコントローラ
72,73 RAM
74,75 転送ルート
76−0〜76−99,77−0〜77−99
割り込み優先順位設定レジスタ
78−0〜78−99 セレクタ

Claims (3)

  1. 現在運用中のプログラム処理の所望の設定モードの第1の割り込み優先順位設定値、及び前記所望の設定モードを切り換える際の次設定モードの第2の割り込み優先順位設定値を保持する第1の記憶手段と、
    前記所望の設定モードにおいて割り込みが発生した後の第3の割り込み優先順位設定値を保持する第2の記憶手段と、
    前記第1の割り込み優先順位設定値を格納する第1のレジスタと、
    前記第2又は第3の割り込み優先順位設定値のいずれか一方を格納する第2のレジスタと、
    前記第1のレジスタに格納された前記第1の割り込み優先順位設定値か、又は前記第2のレジスタに格納された前記第2又は第3の割り込み優先順位設定値のいずれか一方を選択して出力する選択手段と、
    を有することを特徴とする割り込み優先順位設定回路。
  2. 前記第1の記憶手段から読み出された前記第1の割り込み優先順位設定値を前記レジスタへ転送する第1の転送ルートと、
    前記第2の記憶手段から読み出された前記第2又は第3の割り込み優先順位設定値を前記レジスタへ転送する第2の転送ルートと、
    を有することを特徴とする請求項1記載の割り込み優先順位設定回路。
  3. 前記第1の記憶手段、及び前記第2の記憶手段は、半導体記憶装置により構成されていることを特徴とする請求項1又は2記載の割り込み優先順位設定回路。
JP2006035042A 2006-02-13 2006-02-13 割り込み優先順位設定回路 Expired - Fee Related JP4509946B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006035042A JP4509946B2 (ja) 2006-02-13 2006-02-13 割り込み優先順位設定回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006035042A JP4509946B2 (ja) 2006-02-13 2006-02-13 割り込み優先順位設定回路

Publications (2)

Publication Number Publication Date
JP2007213477A JP2007213477A (ja) 2007-08-23
JP4509946B2 true JP4509946B2 (ja) 2010-07-21

Family

ID=38491828

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006035042A Expired - Fee Related JP4509946B2 (ja) 2006-02-13 2006-02-13 割り込み優先順位設定回路

Country Status (1)

Country Link
JP (1) JP4509946B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59174950A (ja) * 1983-03-25 1984-10-03 Fujitsu Ltd 割込処理装置
JPH02110650A (ja) * 1988-10-20 1990-04-23 Oki Electric Ind Co Ltd 割込制御方式
JP2005078450A (ja) * 2003-09-01 2005-03-24 Oki Electric Ind Co Ltd タスク制御方法とタスク切替装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59174950A (ja) * 1983-03-25 1984-10-03 Fujitsu Ltd 割込処理装置
JPH02110650A (ja) * 1988-10-20 1990-04-23 Oki Electric Ind Co Ltd 割込制御方式
JP2005078450A (ja) * 2003-09-01 2005-03-24 Oki Electric Ind Co Ltd タスク制御方法とタスク切替装置

Also Published As

Publication number Publication date
JP2007213477A (ja) 2007-08-23

Similar Documents

Publication Publication Date Title
US20080285372A1 (en) Multi- port memory device for buffering between hosts and non-volatile memory devices
JP5261803B2 (ja) 不揮発性メモリ用の高速ファンアウトシステムアーキテクチャおよび入出力回路
JP2007087388A (ja) メモリコントローラ及びそれを含んだデータ処理システム
JP5414656B2 (ja) データ記憶装置、メモリ制御装置及びメモリ制御方法
US20060020764A1 (en) Information processing apparatus including non-volatile memory device, non-volatile memory device and methods thereof
CN101501639A (zh) 快闪存储器存取电路
US20120210108A1 (en) Semiconductor device
EP0081358B1 (en) Data processing system providing improved data transfer between modules
JP4509946B2 (ja) 割り込み優先順位設定回路
CN103020535A (zh) 一种带比较功能的数据加解密***
JP2005182538A (ja) データ転送装置
CN102385555A (zh) 一种缓存***和数据缓存的方法
JP4633334B2 (ja) 情報処理装置およびメモリアクセス調停方法
JP2019200793A (ja) 半導体システム及びその動作方法
WO2018138975A1 (ja) 演算処理装置および情報処理システム
JP2000227895A (ja) 画像データ転送装置および画像データ転送方法
JP5087884B2 (ja) データ処理ユニット、およびこれを使用したデータ処理装置
US8677033B2 (en) Method for initializing registers of peripherals in a microcontroller
JPS592058B2 (ja) 記憶装置
US20230073929A1 (en) Processing-in-memory(pim) device
US10566062B2 (en) Memory device and method for operating the same
US6085297A (en) Single-chip memory system including buffer
JP2023150271A (ja) 半導体装置、ファームウェア書き込み方法及びファームウェア書き込みシステム
JP2002149593A (ja) 階層バスシステム
JP2007066119A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080729

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20081210

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090420

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100303

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100319

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100428

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4509946

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140514

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees