(57)【要約】      （修正有）【課題】フォンノイマン型とハーバード型とで回路の共通化を図ることができるマイクロプロセッサを提供する。【解決手段】マイクロプロセッサ１０１は、第１メモリバス１と、第２メモリバス２と、第１メモリバスに接続される第１メモリ２０１から命令をフェッチするフェッチ部３と、第２メモリバスを制御するバスコントローラ６と、バスコントローラから出力されるアドレスが第１メモリの領域であるか否かを判定するアドレスデコーダ７、スイッチ８及びＯＲゲート９から構成される判定部と、判定部の出力を用いて、バスコントローラから出力されるアドレスが第１メモリの領域である場合に第１メモリのアクセス先をバスコントローラにするＡＮＤゲート１０、１１、ＯＲゲート１２及びセレクタ１４から構成される第１論理回路部と、を備える。【選択図】図１
2019212218.tif 000002
【特許請求の範囲】
【請求項１】
第１メモリバスと、
第２メモリバスと、
前記第１メモリバスに接続される第１メモリから命令をフェッチするフェッチ部と、
前記第２メモリバスを制御するバスコントローラと、
前記バスコントローラから出力されるアドレスが前記第１メモリの領域であるか否かを判定する判定部と、
前記判定部の出力を用いて、前記バスコントローラから出力されるアドレスが前記第１メモリの領域である場合に前記第１メモリのアクセス先を前記バスコントローラにする第１論理回路部と、
を備える、マイクロプロセッサ。
【請求項２】
前記判定部の出力を用いて、前記バスコントローラが前記第１メモリにアクセス可能な期間に前記フェッチ部が前記第１メモリにアクセスすることを禁止する禁止信号を前記フェッチ部に出力する第２論理回路部を備える、請求項１に記載のマイクロプロセッサ。
【請求項３】
前記バスコントローラが前記第１メモリにアクセス可能な期間になると、前記禁止信号に基づいて前記フェッチ部のステートがフェッチステートからプリフェッチステートに遷移する、請求項２に記載のマイクロプロセッサ。
【請求項４】
前記フェッチ部のカウンタ値及びレジスタ値の退避が完了してから、前記フェッチ部のステートが前記プリフェッチステートに遷移する、請求項３に記載のマイクロプロセッサ。
【請求項５】
前記判定部は、前記バスコントローラから出力されるアドレスが第１範囲内であるときと第２範囲内であるときとで異なる論理の信号を出力するアドレスデコーダを有する、請求項１〜４のいずれか一項に記載のマイクロプロセッサ。
【請求項６】
前記判定部は、前記アドレスデコーダの出力信号を前記判定部の出力とする第１の状態と、所定の論理の信号を前記判定部の出力とする第２の状態と、を切り替える切替部を有する、請求項５に記載のマイクロプロセッサ。
【請求項７】
前記バスコントローラから出力されるライトデータは、前記第１論理回路部を介さずに前記第１メモリに供給される、請求項１〜６のいずれか一項に記載のマイクロプロセッサ。
【請求項８】
前記第１メモリを内蔵する請求項１〜７のいずれか一項に記載のマイクロプロセッサ。
【請求項９】
前記第２メモリバスに接続される第２メモリを内蔵する請求項８に記載のマイクロプロセッサ。
【請求項１０】
入力電圧を出力電圧に変換する変換部を制御する制御部と、
請求項１〜９のいずれか一項に記載のマイクロプロセッサと、を備える電源制御ＩＣであって、
前記マイクロプロセッサは、前記電源制御ＩＣの動作シーケンスを規定する、電源制御ＩＣ。
【請求項１１】
請求項１０に記載の電源制御ＩＣと、前記変換部と、を備える、電源装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロプロセッサに関する。
【背景技術】
【０００２】
マイクロプロセッサのメモリ接続アーキテクチャは、フォンノイマン型アーキテクチャ（以下、フォンノイマン型と称す）とハーバード型アーキテクチャ（以下、ハーバード型と称す）とに大別される。
【０００３】
フォンノイマン型は、メモリバスが一つですむため回路規模を小さくできるという利点やプログラムメモリとデータメモリを共有できるという利点を有する反面、プログラムメモリとデータメモリに同時にアクセスできないため性能向上が妨げられるという問題（いわゆるフォンノイマンボトルネック）を有する。
【０００４】
ハーバード型は、プログラムメモリとデータメモリに同時にアクセスできるためフォンノイマン型より高速で動作する利点を有する反面、メモリバスが二つになるため回路規模が大きくなるという問題やメモリ使用の柔軟性向上などのために特許文献１のような構成を採るとアービタなどでさらに回路規模が大きくなるという問題を有する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−６３３５４号公報（第３図）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来のマイクロプロセッサは、フォンノイマン型を採用するプロセッサ（以下、フォンノイマン型プロセッサと称す）、ハーバード型を採用するプロセッサ（ハーバード型プロセッサ）のいずれかである。例えば、ＡＲＭ社のＣｏｒｔｅｘ−Ｍ０／Ｍ０＋はフォンノイマン型プロセッサであり、ＡＲＭ社のＣｏｒｔｅｘ−Ｍ３／Ｍ４／Ｍ７はハーバード型プロセッサである。そして、従来のマイクロプロセッサでは、フォンノイマン型とハーバード型とで回路を共通化することができていなかった。
【０００７】
ここで、フォンノイマン型とハーバード型とで回路の共通化を実現する方法について考察する。具体的には、フォンノイマン型プロセッサにハーバード型を適用する方法、及び、ハーバード型プロセッサにフォンノイマン型を適用する方法について考察する。
【０００８】
フォンノイマン型プロセッサにハーバード型を適用する方法に関しては、フォンノイマン型プロセッサがメモリバスを一つしか使用していないため、フォンノイマン型プロセッサにメモリバスを二つ使用するハーバード型を適用することは不可能である。
【０００９】
ハーバード型プロセッサにフォンノイマン型を適用する方法に関しては、伝統的なハーバード型プロセッサではプログラムとデータの双方が同じメモリバスにアクセスすることができないため、伝統的なハーバード型プロセッサにフォンノイマン型を適用することは不可能である。
【００１０】
一方、バス調停回路を有する改良型のハーバード型プロセッサ（例えば特許文献１参照）ではプログラムとデータの双方が同じメモリバスにアクセスすることができる。しかしながら、特許文献１のハーバード型プロセッサにフォンノイマン型を適用するためには、バス調停回路（アービトレーションユニット）の修正が必要となる。つまり、特許文献１で開示されている技術を用いても、フォンノイマン型とハーバード型とで回路を共通化することができない。
【００１１】
さらに、特許文献１のハーバード型プロセッサは、全アクセスサイクルで二つのバスの調停を行うため消費電力が大きいという問題やバス調停回路のせいでメモリアクセス回路の遅延が大きいという問題を有する。
【００１２】
本発明は、上記の状況に鑑み、フォンノイマン型とハーバード型とで回路の共通化を図ることができるマイクロプロセッサを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本明細書中に開示されているマイクロプロセッサは、第１メモリバスと、第２メモリバスと、前記第１メモリバスに接続される第１メモリから命令をフェッチするフェッチ部と、前記第２メモリバスを制御するバスコントローラと、前記バスコントローラから出力されるアドレスが前記第１メモリの領域であるか否かを判定する判定部と、前記判定部の出力を用いて、前記バスコントローラから出力されるアドレスが前記第１メモリの領域である場合に前記第１メモリのアクセス先を前記バスコントローラにする第１論理回路部と、を備える構成（第１の構成）である。
【００１４】
また上記第１の構成のマイクロプロセッサにおいて、前記判定部の出力を用いて、前記バスコントローラが前記第１メモリにアクセス可能な期間に前記フェッチ部が前記第１メモリにアクセスすることを禁止する禁止信号を前記フェッチ部に出力する第２論理回路部を備える構成（第２の構成）であってもよい。
【００１５】
また上記第２の構成のマイクロプロセッサにおいて、前記バスコントローラが前記第１メモリにアクセス可能な期間になると、前記禁止信号に基づいて前記フェッチ部のステートがフェッチステートからプリフェッチステートに遷移する構成（第３の構成）であってもよい。
【００１６】
また上記第３の構成のマイクロプロセッサにおいて、前記フェッチ部のカウンタ値及びレジスタ値の退避が完了してから、前記フェッチ部のステートが前記プリフェッチステートに遷移する構成（第４の構成）であってもよい。
【００１７】
また上記第１〜第４いずれかの構成のマイクロプロセッサにおいて、前記判定部は、前記バスコントローラから出力されるアドレスが第１範囲内であるときと第２範囲内であるときとで異なる論理の信号を出力するアドレスデコーダを有する構成（第５の構成）であってもよい。
【００１８】
また上記第５の構成のマイクロプロセッサにおいて、前記判定部は、前記アドレスデコーダの出力信号を前記判定部の出力とする第１の状態と、所定の論理の信号を前記判定部の出力とする第２の状態と、を切り替える切替部を有する構成（第６の構成）であってもよい。
【００１９】
また上記第１〜第６いずれかの構成のマイクロプロセッサにおいて、前記バスコントローラから出力されるライトデータは、前記第１論理回路部を介さずに前記第１メモリに供給される構成（第７の構成）であってもよい。
【００２０】
また上記第１〜第７いずれかの構成のマイクロプロセッサにおいて、前記第１メモリを内蔵する構成（第８の構成）であってもよい。
【００２１】
また上記第８の構成のマイクロプロセッサにおいて、前記第２メモリバスに接続される第２メモリを内蔵する構成（第９の構成）であってもよい。
【００２２】
本明細書中に開示されている電源制御ＩＣは、入力電圧を出力電圧に変換する変換部を制御する制御部と、上記第１〜第９いずれかの構成のマイクロプロセッサと、を備える電源制御ＩＣであって、前記マイクロプロセッサは、前記電源制御ＩＣの動作シーケンスを規定する構成（第１０の構成）である。
【００２３】
本明細書中に開示されている電源装置は、上記第１０の構成の電源制御ＩＣと、前記変換部と、を備える構成（第１１の構成）である。
【発明の効果】
【００２４】
本明細書中に開示されているマイクロプロセッサは、フォンノイマン型とハーバード型とで回路の共通化を図ることができる。
【図面の簡単な説明】
【００２５】
【図１】ハーバード型マイクロプロセッサの一構成例を示す図
【図２】プログラムメモリ及びデータメモリのメモリマップを示す図
【図３】フェッチ部のステート遷移を示す図
【図４】各部の信号を示すタイムチャート
【図５】フォンノイマン型マイクロプロセッサの一構成例を示す図
【図６】共通メモリのメモリマップを示す図
【図７】共通メモリの他のメモリマップを示す図
【図８】ハーバード型マイクロプロセッサの他の構成例を示す図
【図９】フォンノイマン型マイクロプロセッサの他の構成例を示す図
【図１０】割り込み発生時におけるハーバード型マイクロプロセッサの動作を示すタイムチャート
【図１１】割り込み発生時におけるフォンノイマン型マイクロプロセッサの動作を示すタイムチャート
【図１２】ボトム検出オン時間固定方式スイッチング電源装置の一構成例を示す図
【発明を実施するための形態】
【００２６】
＜１．ハーバード型マイクロプロセッサ＞
図１はハーバード型マイクロプロセッサの一構成例を示す図である。ハーバード型マイクロプロセッサ１０１は、第１メモリバス１と、第２メモリバス２と、を備える。第１メモリバス１にはプログラムメモリ２０１が接続され、第２メモリバス２にはデータメモリ２０２が接続される。ハーバード型マイクロプロセッサ１０１の各部はクロック信号clkに同期して動作する。
【００２７】
プログラムメモリ２０１には、ＲＯＭ（Read Only Memory）、ＯＴＰ（One Time Programmable）−ＲＯＭ、Ｆｌａｓｈ−ＲＯＭ等の不揮発メモリ、ＳＲＡＭ（Static Random Access Memory）等の揮発メモリのいずれか又は複数の組み合わせが一般的に用いられる。データメモリ２０２には、ＳＲＡＭが一般的に用いられる。
【００２８】
ハーバード型マイクロプロセッサ１０１は、フェッチステートマシン３と、命令レジスタ４と、プログラムカウンタ５と、データバスコントローラ６と、をさらに備える。
【００２９】
フェッチステートマシン３、命令レジスタ４、及びプログラムカウンタ５によって構成されるフェッチ部は、プログラムメモリ２０１から命令をフェッチする。データバスコントローラ６は、第２メモリバス２を制御する。
【００３０】
フェッチステートマシン３は、フェッチ実行サイクルfetch_cycle及び命令データロードload_instを出力する。フェッチ実行サイクルfetch_cycleの論理は、上述したフェッチ部のステートがプリフェッチである場合、又は、上述したフェッチ部のステートがフェッチであって上述したフェッチ部の次回ステートもフェッチである場合に「１」になり、それ以外の場合に「０」になる。なお、上述したフェッチ部のステートがプリフェッチになる条件については後述する。命令データロードload_instの論理は、上述したフェッチ部のステートがフェッチであって上述したフェッチ部の次回ステートもフェッチである場合に「１」になり、それ以外の場合に「０」になる。
【００３１】
命令レジスタ４は、命令データロードload_instの論理が「１」である場合にのみプログラムメモリ２０１から読み出したデータをロードする。プログラムカウンタ５はカウンタ値をインクリメントして出力する。
【００３２】
ハーバード型マイクロプロセッサ１０１は、アドレスデコーダ７と、スイッチ８と、ＯＲゲート９と、をさらに備える。アドレスデコーダ７、スイッチ８、及びＯＲゲート９によって構成される判定部は、データバスコントローラ６から出力されるデータバスアドレスdtbus_addrが第１メモリバス１に接続されているメモリの領域であるか否かを判定する。
【００３３】
本実施形態ではプログラムメモリ２０１とデータメモリ２０２が１元化したメモリマップを用いている。換言すると、本実施形態ではプログラムメモリ２０１のアドレス範囲とデータメモリ２０２のアドレス範囲とに重複する部分がない。これにより、アドレスデコーダ７は、データバスコントローラ６から出力されるデータバスアドレスdtbus_addrに基づいて、データバスコントローラ６から出力されるデータバスアドレスdtbus_addrがプログラムメモリ２０１の領域であるか否かを判定できる。
【００３４】
また例えば、図２に示すようにプログラムメモリ２０１のアドレス範囲を０×００００〜０×７ＦＦＦとし、データメモリ２０２のアドレス範囲を０×８０００〜０×ＦＦＦＦとすれば、アドレスデコーダ７は、データバスコントローラ６から出力されるデータバスアドレスdtbus_addrの最上位ビットのみに基づく判定ができ、回路規模を小さくすることができる。
【００３５】
第１メモリバス１に接続されているメモリがプログラムメモリ２０１であれば、アドレスデコーダ７の判定結果をそのまま上述した判定部の判定結果として用いることができる。したがって、ハーバード型マイクロプロセッサ１０１では、スイッチ８が論理「０」を選択する。そして、データバスコントローラ６から出力されるデータバスアドレスdtbus_addrがプログラムメモリ２０１の領域である場合、アドレスデコーダ７の判定結果であるプログラムメモリデータアクセス信号prbus_selの論理を「１」とする。逆に、データバスコントローラ６から出力されるデータバスアドレスdtbus_addrがプログラムメモリ２０１の領域でない場合、アドレスデコーダ７の判定結果であるプログラムメモリデータアクセス信号prbus_selの論理を「０」とする。
【００３６】
ハーバード型マイクロプロセッサ１０１は、ＡＮＤゲート１０及び１１と、ＯＲゲート１２と、セレクタ１３及び１４と、をさらに備える。ＡＮＤゲート１０及び１１、ＯＲゲート１２、並びにセレクタ１３及び１４によって構成される論理回路部は、上述した判定部の出力を用いて、データバスコントローラ６から出力されるアドレスがプログラムメモリ２０１の領域である場合にプログラムメモリ２０１のアクセス先をデータバスコントローラ６にする。
【００３７】
ＡＮＤゲート１０は、データバスコントローラ６から出力されるデータバスライトイネーブル信号dtbus_weの論理が「１」であって且つプログラムメモリデータアクセス信号prbus_selの論理が「１」である場合、すなわちデータバスコントローラ６がプログラムメモリ２０１にライトアクセスする場合にライトアクセス信号prbus_dtwriteの論理を「１」にして、プログラムメモリ２０１を書き込み可能な状態にする。
【００３８】
ＡＮＤゲート１１は、データバスコントローラ６から出力されるデータバスリードイネーブル信号dtbus_reの論理が「１」であって且つプログラムメモリデータアクセス信号prbus_selの論理が「１」である場合、すなわちデータバスコントローラ６がプログラムメモリ２０１にリードアクセスする場合にリードアクセス信号prbus_dtreadの論理を「１」にする。
【００３９】
ＯＲゲート１２は、フェッチ実行サイクルfetch_cycleの論理が「１」である場合、又は、リードアクセス信号prbus_dtreadの論理が「１」である場合にプログラムメモリ２０１を読み出し可能な状態にする。
【００４０】
セレクタ１３は、フェッチ実行サイクルfetch_cycleの論理が「１」である場合にプログラムカウンタ５のカウンタ値をアドレスprbus_addrとしてプログラムメモリ２０１に出力する。一方、セレクタ１３は、フェッチ実行サイクルfetch_cycleの論理が「０」である場合にデータバスコントローラ６から出力されるデータバスアドレスdtbus_addrをアドレスprbus_addrとしてプログラムメモリ２０１に出力する。
【００４１】
セレクタ１４は、リードアクセス信号prbus_dtreadの論理が「１」である場合にプログラムメモリ２０１から読み出されるリードデータをデータバスリードデータdtbus_rddataとしてデータバスコントローラ６に出力する。一方、セレクタ１４は、リードアクセス信号prbus_dtreadの論理が「０」である場合にデータメモリ２０２から読み出されるリードデータをデータバスリードデータdtbus_rddataとしてデータバスコントローラ６に出力する。
【００４２】
プログラムメモリ２０１にデータを書き込むのはデータバスコントローラ６だけであるため、データバスコントローラ６から出力されるデータバスライトデータdtbus_wrdataは上述した論理回路部を介さずにプログラムメモリ２０１に供給される。
【００４３】
なお、データバスコントローラ６から出力されるデータバスアドレスdtbus_addr、データバスライトデータdtbus_wrdata、データバスライトイネーブル信号dtbus_we、及びデータバスリードイネーブル信号dtbus_reは、上述した論理回路部を介さずにデータメモリ２０２に供給される。
【００４４】
ハーバード型マイクロプロセッサ１０１は、ＯＲゲート１５をさらに備える。ＯＲゲート１５は、上述した判定部の出力を用いて、データバスコントローラ６がプログラムメモリ２０１にアクセス可能な期間に上述したフェッチ部がプログラムメモリ２０１にアクセスすることを禁止する禁止信号を上述したフェッチ部に出力する。具体的には、ＯＲゲート１５は、リードアクセス信号prbus_dtreadの論理又はライトアクセス信号prbus_dtwriteの論理が「１」である場合、すなわちデータバスコントローラ６がプログラムメモリ２０１にアクセスする場合に上述した禁止信号（論理が「１」である信号）をフェッチステートマシン３に出力する。フェッチステートマシン３は、上述した禁止信号を受け取ると、上述したフェッチ部のステートをフェッチステートからプリフェッチステートに遷移させる。これにより、バス調停回路を用いることなく、プログラムメモリ２０１のアクセス先を上述したフェッチ部とデータバスコントローラ６とに振り分けることができる。
【００４５】
図３は上述したフェッチ部のステート遷移を示す図である。マイクロプロセッサに電源が投入されると、上述したフェッチ部は、アイドルステートを経て、プリフェッチステートでプログラムメモリ２０１へのアクセスを行う。そして、上述したフェッチ部は、次のサイクル（クロック周期）からフェッチステートになり、プログラムメモリ２０１から読み出したデータを命令レジスタ４に取り込み、命令を実行し続ける。そして、フェッチステートマシン３が禁止信号を受信すると、上述したフェッチ部のステートは、フェッチステートからプリフェッチステートに遷移する。なお、割り込み発生については後述する。
【００４６】
図４からも分かるように、リードアクセス信号prbus_dtreadの論理又はライトアクセス信号prbus_dtwriteの論理が「１」である場合に、上述したフェッチ部のステートがプリフェッチステートに遷移し、プリフェッチステートである期間にデータバスコントローラ６がプログラムメモリ２０１にアクセスする。これにより、バス調停回路を用いることなく、プログラムメモリ２０１のアクセス先を上述したフェッチ部とデータバスコントローラ６とに振り分けることができる。なお、図４中の12outputはＯＲゲート１２の出力信号を意味しており、図４中のinstrucitonにおけるffffは命令を実行していないことを意味している。
【００４７】
＜２．フォンノイマン型マイクロプロセッサ＞
図５はフォンノイマン型マイクロプロセッサの一構成例を示す図である。フォンノイマン型マイクロプロセッサ１０２はハーバード型マイクロプロセッサ１０１と同一の回路構成であり、スイッチ８の選択状態のみがハーバード型マイクロプロセッサ１０１と異なる。フォンノイマン型マイクロプロセッサ１０２では、スイッチ８が論理「１」を選択する。
【００４８】
フォンノイマン型マイクロプロセッサ１０２の第１メモリバス１には共通メモリ２０３が接続され、フォンノイマン型マイクロプロセッサ１０２の第２メモリバス２にはメモリが接続されない。共通メモリ２０３のアドレス範囲は例えば図６に示すように０×００００〜０×ＦＦＦＦにすればよい。一方、共通メモリ２０３のアドレス範囲を例えば図７に示すように０×００００〜０×７ＦＦＦとし、共通メモリ２０３のアドレス範囲の全てがプログラムメモリ２０１のアドレス範囲に包含されるように設定すれば、スイッチ８及びＯＲゲート９を取り除くことができる。
【００４９】
＜３．利点＞
例えば性能を優先する場合はハーバード型マイクロプロセッサ１０１を選択し、チップ面積を小さくする場合はフォンノイマン型マイクロプロセッサ１０２を選択することができる。また、ハーバード型マイクロプロセッサ１０１とフォンノイマン型マイクロプロセッサ１０２とで回路が共通しているため、ハーバード型マイクロプロセッサ１０１とフォンノイマン型マイクロプロセッサ１０２を同じソースコードで動作させることもできる。つまり、ハーバード型マイクロプロセッサ１０１とフォンノイマン型マイクロプロセッサ１０２の開発環境を共通化することができる。
【００５０】
ハーバード型マイクロプロセッサ１０１及びフォンノイマン型マイクロプロセッサ１０２は、バス調停を行っていないため、バス調停による消費電力の増大やメモリアクセス回路の遅延の増大が発生しない。
【００５１】
なお、図１に示すハーバード型マイクロプロセッサ１０１は外部のプログラムメモリ２０１及びデータメモリ２０２に接続される構成であったが、図８に示すハーバード型マイクロプロセッサ１０３のようにプログラムメモリ２０１及びデータメモリ２０２を内蔵する構成であってもよい。同様に、図５に示すフォンノイマン型マイクロプロセッサ１０２は外部の共通メモリ２０３に接続される構成であったが、図９に示すフォンノイマン型マイクロプロセッサ１０４のように共通メモリ２０３を内蔵する構成であってもよい。
【００５２】
図８や図９に示すようなメモリを内蔵する構成のマイクロプロセッサであっても、フォンノイマン型とハーバード型とでメモリ以外の部分における回路の共通化を図ることで開発環境の共通化を図ることができる。
【００５３】
＜４．割り込みレイテンシ＞
割り込みが発生すると、割り込みレイテンシが発生する。ここで、割り込みレイテンシとは、割り込みが発生してから割り込みルーチンの実行が開始されるまでの時間をいう。ハーバード型マイクロプロセッサ１０１とフォンノイマン型マイクロプロセッサ１０２とで割り込みレイテンシを一致させることで、ハーバード型マイクロプロセッサ１０１とフォンノイマン型マイクロプロセッサ１０２の開発環境をより一層共通化することができる。
【００５４】
そこで、本実施形態では、フェッチステートにおいて割り込みが発生すると、図３に示すようにフェッチステートからウエイトステートに遷移し、レジスタの退避が完了するまでウエイトステートを維持（キープ）し、レジスタの退避が完了すると、キープしていたウエイトステートからプリフェッチステートに遷移するようにしている。したがって、本実施形態では、ハーバード型マイクロプロセッサ１０１において図１０に示すようにプログラムカウンタ５のカウンタ値の退避及び命令レジスタ４のレジスタ値の退避が完了してから、フェッチ部のステートがウエイトステートからプリフェッチステートに遷移し、プリフェッチステートにおいて命令レジスタ４が割り込みベクタから命令をロードし、ロードされたベクタアドレスの命令をフェッチステートにおいてプログラムメモリ２０１からフェッチすることになる。これにより、割り込み発生後にプログラムメモリ２０１へのアクセスとデータメモリ２０２へのアクセスとが同時に発生しないことになる。その結果、図１０に示すハーバード型マイクロプロセッサ１０１の割り込みレイテンシＴ１と、図１１に示すフォンノイマン型マイクロプロセッサ１０１の割り込みレイテンシＴ２とが一致する。
【００５５】
＜５．用途＞
上述したマイクロプロセッサ１０１〜１０４は例えば図１２に示すボトム検出オン時間固定方式スイッチング電源装置に用いることができる。図１２に示すボトム検出オン時間固定方式スイッチング電源装置は、入力電圧Ｖｉｎを降圧して所望の出力電圧Ｖｏｕｔを生成する降圧型ＤＣ／ＤＣコンバータである。
【００５６】
図１２に示すボトム検出オン時間固定方式スイッチング電源装置では、帰還電圧Ｖｆｂが基準電圧Ｖｒｅｆまで下がったことをコンパレータ２１が検出すると、ドライバ２２は、所定のオン時間Ｔｏｎを設定するオン時間設定回路２３からの出力に基づいて、所定のオン時間Ｔｏｎだけスイッチ電圧Ｖｓｗがハイレベルになるように上側トランジスタＮ１をオン状態にする。なお、ドライバ２２は、所定のオン時間Ｔｏｎ以外では上側トランジスタＮ１をオフ状態にする。また、上側トランジスタＮ１及び下側トランジスタＮ２はドライバ２２によって相補的にスイッチングされる。
【００５７】
また、図１２に示すボトム検出オン時間固定方式スイッチング電源装置では、過電流保護機能や過熱保護機能等を実現するために、ドライバ２２が電流センサや温度センサ等の出力に応じた動作を実行する。
【００５８】
ドライバ２２はボトム検出オン時間固定方式スイッチング電源装置のステートを制御する電源制御回路であり、ドライバ２２の少なくとも一部として上述したマイクロプロセッサ１０１〜１０４のいずれかを用いることができる。
【００５９】
なお、上述したマイクロプロセッサ１０１〜１０４はボトム検出オン時間固定方式以外の電源装置に用いることもできる。また、上述したマイクロプロセッサ１０１〜１０４は電源装置に限らず例えば各種センサのステートを制御するために用いたり、発光素子を駆動する発光素子駆動装置のステートを制御するために用いたりすることができる。
【００６０】
＜６．その他＞
なお、本発明の構成は、上記実施形態のほか、発明の主旨を逸脱しない範囲で種々の変更を加えることが可能である。
【００６１】
例えばスイッチ８をマイクロプロセッサの外部に設け、スイッチ８から出力される論理信号をマイクロプロセッサに外部入力してもよい。また例えば、ハードウェアであるスイッチ８を用いる代わりに、プログラムの先頭でビットを設定することにより、ソフトウェア的にハーバード型の場合は「０」の論理信号、フォンノイマン型の場合は「１」の論理信号をＯＲゲート９に供給するようにしてもよい。また例えば、スイッチ８は１回選択を実行した後は選択を変更できないスイッチ（例えばトリミング素子を用いたスイッチ）であってもよい。
【００６２】
このように、上記実施形態は、全ての点で例示であって、制限的なものではないと考えられるべきであり、本発明の技術的範囲は、上記実施形態の説明ではなく、特許請求の範囲によって示されるものであり、特許請求の範囲と均等の意味及び範囲内に属する全ての変更が含まれると理解されるべきである。
【符号の説明】
【００６３】
１      第１メモリバス
２      第２メモリバス
３      フェッチステートマシン
４      命令レジスタ
５      プログラムカウンタ
６      データバスコントローラ
６      バスコントローラ
７      アドレスデコーダ
８      スイッチ
９      ＯＲゲート
１０      ＡＮＤゲート
１１      ＡＮＤゲート
１２      ＯＲゲート
１３      セレクタ
１４      セレクタ
１５      ＯＲゲート
１０１      ハーバード型マイクロプロセッサ
１０２      フォンノイマン型マイクロプロセッサ
１０３      ハーバード型マイクロプロセッサ
１０４      フォンノイマン型マイクロプロセッサ
２０１      プログラムメモリ
２０２      データメモリ
２０３      共通メモリ
【図１】
2019212218.tif 000003
【図２】
2019212218.tif 000004
【図３】
2019212218.tif 000005
【図４】
2019212218.tif 000006
【図５】
2019212218.tif 000007
【図６】
2019212218.tif 000008
【図７】
2019212218.tif 000009
【図８】
2019212218.tif 000010
【図９】
2019212218.tif 000011
【図１０】
2019212218.tif 000012
【図１１】
2019212218.tif 000013
【図１２】
2019212218.tif 000014