JP2019212218A - マイクロプロセッサ - Google Patents

マイクロプロセッサ Download PDF

Info

Publication number
JP2019212218A
JP2019212218A JP2018110373A JP2018110373A JP2019212218A JP 2019212218 A JP2019212218 A JP 2019212218A JP 2018110373 A JP2018110373 A JP 2018110373A JP 2018110373 A JP2018110373 A JP 2018110373A JP 2019212218 A JP2019212218 A JP 2019212218A
Authority
JP
Japan
Prior art keywords
memory
microprocessor
output
unit
bus
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.)
Granted
Application number
JP2018110373A
Other languages
English (en)
Other versions
JP7101052B2 (ja
Inventor
高浩 西山
Takahiro Nishiyama
高浩 西山
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.)
Rohm Co Ltd
Original Assignee
Rohm 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 Rohm Co Ltd filed Critical Rohm Co Ltd
Priority to JP2018110373A priority Critical patent/JP7101052B2/ja
Priority to US16/433,115 priority patent/US10877762B2/en
Publication of JP2019212218A publication Critical patent/JP2019212218A/ja
Application granted granted Critical
Publication of JP7101052B2 publication Critical patent/JP7101052B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3812Instruction prefetching with instruction modification, e.g. store into instruction stream
    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3253Power saving in bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Power Sources (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Bus Control (AREA)
  • Microcomputers (AREA)
  • Memory System (AREA)

Abstract

【課題】フォンノイマン型とハーバード型とで回路の共通化を図ることができるマイクロプロセッサを提供する。【解決手段】マイクロプロセッサ101は、第1メモリバス1と、第2メモリバス2と、第1メモリバスに接続される第1メモリ201から命令をフェッチするフェッチ部3と、第2メモリバスを制御するバスコントローラ6と、バスコントローラから出力されるアドレスが第1メモリの領域であるか否かを判定するアドレスデコーダ7、スイッチ8及びORゲート9から構成される判定部と、判定部の出力を用いて、バスコントローラから出力されるアドレスが第1メモリの領域である場合に第1メモリのアクセス先をバスコントローラにするANDゲート10、11、ORゲート12及びセレクタ14から構成される第1論理回路部と、を備える。【選択図】図1

Description

本発明は、マイクロプロセッサに関する。
マイクロプロセッサのメモリ接続アーキテクチャは、フォンノイマン型アーキテクチャ(以下、フォンノイマン型と称す)とハーバード型アーキテクチャ(以下、ハーバード型と称す)とに大別される。
フォンノイマン型は、メモリバスが一つですむため回路規模を小さくできるという利点やプログラムメモリとデータメモリを共有できるという利点を有する反面、プログラムメモリとデータメモリに同時にアクセスできないため性能向上が妨げられるという問題(いわゆるフォンノイマンボトルネック)を有する。
ハーバード型は、プログラムメモリとデータメモリに同時にアクセスできるためフォンノイマン型より高速で動作する利点を有する反面、メモリバスが二つになるため回路規模が大きくなるという問題やメモリ使用の柔軟性向上などのために特許文献1のような構成を採るとアービタなどでさらに回路規模が大きくなるという問題を有する。
特開平8−63354号公報(第3図)
従来のマイクロプロセッサは、フォンノイマン型を採用するプロセッサ(以下、フォンノイマン型プロセッサと称す)、ハーバード型を採用するプロセッサ(ハーバード型プロセッサ)のいずれかである。例えば、ARM社のCortex−M0/M0+はフォンノイマン型プロセッサであり、ARM社のCortex−M3/M4/M7はハーバード型プロセッサである。そして、従来のマイクロプロセッサでは、フォンノイマン型とハーバード型とで回路を共通化することができていなかった。
ここで、フォンノイマン型とハーバード型とで回路の共通化を実現する方法について考察する。具体的には、フォンノイマン型プロセッサにハーバード型を適用する方法、及び、ハーバード型プロセッサにフォンノイマン型を適用する方法について考察する。
フォンノイマン型プロセッサにハーバード型を適用する方法に関しては、フォンノイマン型プロセッサがメモリバスを一つしか使用していないため、フォンノイマン型プロセッサにメモリバスを二つ使用するハーバード型を適用することは不可能である。
ハーバード型プロセッサにフォンノイマン型を適用する方法に関しては、伝統的なハーバード型プロセッサではプログラムとデータの双方が同じメモリバスにアクセスすることができないため、伝統的なハーバード型プロセッサにフォンノイマン型を適用することは不可能である。
一方、バス調停回路を有する改良型のハーバード型プロセッサ(例えば特許文献1参照)ではプログラムとデータの双方が同じメモリバスにアクセスすることができる。しかしながら、特許文献1のハーバード型プロセッサにフォンノイマン型を適用するためには、バス調停回路(アービトレーションユニット)の修正が必要となる。つまり、特許文献1で開示されている技術を用いても、フォンノイマン型とハーバード型とで回路を共通化することができない。
さらに、特許文献1のハーバード型プロセッサは、全アクセスサイクルで二つのバスの調停を行うため消費電力が大きいという問題やバス調停回路のせいでメモリアクセス回路の遅延が大きいという問題を有する。
本発明は、上記の状況に鑑み、フォンノイマン型とハーバード型とで回路の共通化を図ることができるマイクロプロセッサを提供することを目的とする。
本明細書中に開示されているマイクロプロセッサは、第1メモリバスと、第2メモリバスと、前記第1メモリバスに接続される第1メモリから命令をフェッチするフェッチ部と、前記第2メモリバスを制御するバスコントローラと、前記バスコントローラから出力されるアドレスが前記第1メモリの領域であるか否かを判定する判定部と、前記判定部の出力を用いて、前記バスコントローラから出力されるアドレスが前記第1メモリの領域である場合に前記第1メモリのアクセス先を前記バスコントローラにする第1論理回路部と、を備える構成(第1の構成)である。
また上記第1の構成のマイクロプロセッサにおいて、前記判定部の出力を用いて、前記バスコントローラが前記第1メモリにアクセス可能な期間に前記フェッチ部が前記第1メモリにアクセスすることを禁止する禁止信号を前記フェッチ部に出力する第2論理回路部を備える構成(第2の構成)であってもよい。
また上記第2の構成のマイクロプロセッサにおいて、前記バスコントローラが前記第1メモリにアクセス可能な期間になると、前記禁止信号に基づいて前記フェッチ部のステートがフェッチステートからプリフェッチステートに遷移する構成(第3の構成)であってもよい。
また上記第3の構成のマイクロプロセッサにおいて、前記フェッチ部のカウンタ値及びレジスタ値の退避が完了してから、前記フェッチ部のステートが前記プリフェッチステートに遷移する構成(第4の構成)であってもよい。
また上記第1〜第4いずれかの構成のマイクロプロセッサにおいて、前記判定部は、前記バスコントローラから出力されるアドレスが第1範囲内であるときと第2範囲内であるときとで異なる論理の信号を出力するアドレスデコーダを有する構成(第5の構成)であってもよい。
また上記第5の構成のマイクロプロセッサにおいて、前記判定部は、前記アドレスデコーダの出力信号を前記判定部の出力とする第1の状態と、所定の論理の信号を前記判定部の出力とする第2の状態と、を切り替える切替部を有する構成(第6の構成)であってもよい。
また上記第1〜第6いずれかの構成のマイクロプロセッサにおいて、前記バスコントローラから出力されるライトデータは、前記第1論理回路部を介さずに前記第1メモリに供給される構成(第7の構成)であってもよい。
また上記第1〜第7いずれかの構成のマイクロプロセッサにおいて、前記第1メモリを内蔵する構成(第8の構成)であってもよい。
また上記第8の構成のマイクロプロセッサにおいて、前記第2メモリバスに接続される第2メモリを内蔵する構成(第9の構成)であってもよい。
本明細書中に開示されている電源制御ICは、入力電圧を出力電圧に変換する変換部を制御する制御部と、上記第1〜第9いずれかの構成のマイクロプロセッサと、を備える電源制御ICであって、前記マイクロプロセッサは、前記電源制御ICの動作シーケンスを規定する構成(第10の構成)である。
本明細書中に開示されている電源装置は、上記第10の構成の電源制御ICと、前記変換部と、を備える構成(第11の構成)である。
本明細書中に開示されているマイクロプロセッサは、フォンノイマン型とハーバード型とで回路の共通化を図ることができる。
ハーバード型マイクロプロセッサの一構成例を示す図 プログラムメモリ及びデータメモリのメモリマップを示す図 フェッチ部のステート遷移を示す図 各部の信号を示すタイムチャート フォンノイマン型マイクロプロセッサの一構成例を示す図 共通メモリのメモリマップを示す図 共通メモリの他のメモリマップを示す図 ハーバード型マイクロプロセッサの他の構成例を示す図 フォンノイマン型マイクロプロセッサの他の構成例を示す図 割り込み発生時におけるハーバード型マイクロプロセッサの動作を示すタイムチャート 割り込み発生時におけるフォンノイマン型マイクロプロセッサの動作を示すタイムチャート ボトム検出オン時間固定方式スイッチング電源装置の一構成例を示す図
<1.ハーバード型マイクロプロセッサ>
図1はハーバード型マイクロプロセッサの一構成例を示す図である。ハーバード型マイクロプロセッサ101は、第1メモリバス1と、第2メモリバス2と、を備える。第1メモリバス1にはプログラムメモリ201が接続され、第2メモリバス2にはデータメモリ202が接続される。ハーバード型マイクロプロセッサ101の各部はクロック信号clkに同期して動作する。
プログラムメモリ201には、ROM(Read Only Memory)、OTP(One Time Programmable)−ROM、Flash−ROM等の不揮発メモリ、SRAM(Static Random Access Memory)等の揮発メモリのいずれか又は複数の組み合わせが一般的に用いられる。データメモリ202には、SRAMが一般的に用いられる。
ハーバード型マイクロプロセッサ101は、フェッチステートマシン3と、命令レジスタ4と、プログラムカウンタ5と、データバスコントローラ6と、をさらに備える。
フェッチステートマシン3、命令レジスタ4、及びプログラムカウンタ5によって構成されるフェッチ部は、プログラムメモリ201から命令をフェッチする。データバスコントローラ6は、第2メモリバス2を制御する。
フェッチステートマシン3は、フェッチ実行サイクルfetch_cycle及び命令データロードload_instを出力する。フェッチ実行サイクルfetch_cycleの論理は、上述したフェッチ部のステートがプリフェッチである場合、又は、上述したフェッチ部のステートがフェッチであって上述したフェッチ部の次回ステートもフェッチである場合に「1」になり、それ以外の場合に「0」になる。なお、上述したフェッチ部のステートがプリフェッチになる条件については後述する。命令データロードload_instの論理は、上述したフェッチ部のステートがフェッチであって上述したフェッチ部の次回ステートもフェッチである場合に「1」になり、それ以外の場合に「0」になる。
命令レジスタ4は、命令データロードload_instの論理が「1」である場合にのみプログラムメモリ201から読み出したデータをロードする。プログラムカウンタ5はカウンタ値をインクリメントして出力する。
ハーバード型マイクロプロセッサ101は、アドレスデコーダ7と、スイッチ8と、ORゲート9と、をさらに備える。アドレスデコーダ7、スイッチ8、及びORゲート9によって構成される判定部は、データバスコントローラ6から出力されるデータバスアドレスdtbus_addrが第1メモリバス1に接続されているメモリの領域であるか否かを判定する。
本実施形態ではプログラムメモリ201とデータメモリ202が1元化したメモリマップを用いている。換言すると、本実施形態ではプログラムメモリ201のアドレス範囲とデータメモリ202のアドレス範囲とに重複する部分がない。これにより、アドレスデコーダ7は、データバスコントローラ6から出力されるデータバスアドレスdtbus_addrに基づいて、データバスコントローラ6から出力されるデータバスアドレスdtbus_addrがプログラムメモリ201の領域であるか否かを判定できる。
また例えば、図2に示すようにプログラムメモリ201のアドレス範囲を0×0000〜0×7FFFとし、データメモリ202のアドレス範囲を0×8000〜0×FFFFとすれば、アドレスデコーダ7は、データバスコントローラ6から出力されるデータバスアドレスdtbus_addrの最上位ビットのみに基づく判定ができ、回路規模を小さくすることができる。
第1メモリバス1に接続されているメモリがプログラムメモリ201であれば、アドレスデコーダ7の判定結果をそのまま上述した判定部の判定結果として用いることができる。したがって、ハーバード型マイクロプロセッサ101では、スイッチ8が論理「0」を選択する。そして、データバスコントローラ6から出力されるデータバスアドレスdtbus_addrがプログラムメモリ201の領域である場合、アドレスデコーダ7の判定結果であるプログラムメモリデータアクセス信号prbus_selの論理を「1」とする。逆に、データバスコントローラ6から出力されるデータバスアドレスdtbus_addrがプログラムメモリ201の領域でない場合、アドレスデコーダ7の判定結果であるプログラムメモリデータアクセス信号prbus_selの論理を「0」とする。
ハーバード型マイクロプロセッサ101は、ANDゲート10及び11と、ORゲート12と、セレクタ13及び14と、をさらに備える。ANDゲート10及び11、ORゲート12、並びにセレクタ13及び14によって構成される論理回路部は、上述した判定部の出力を用いて、データバスコントローラ6から出力されるアドレスがプログラムメモリ201の領域である場合にプログラムメモリ201のアクセス先をデータバスコントローラ6にする。
ANDゲート10は、データバスコントローラ6から出力されるデータバスライトイネーブル信号dtbus_weの論理が「1」であって且つプログラムメモリデータアクセス信号prbus_selの論理が「1」である場合、すなわちデータバスコントローラ6がプログラムメモリ201にライトアクセスする場合にライトアクセス信号prbus_dtwriteの論理を「1」にして、プログラムメモリ201を書き込み可能な状態にする。
ANDゲート11は、データバスコントローラ6から出力されるデータバスリードイネーブル信号dtbus_reの論理が「1」であって且つプログラムメモリデータアクセス信号prbus_selの論理が「1」である場合、すなわちデータバスコントローラ6がプログラムメモリ201にリードアクセスする場合にリードアクセス信号prbus_dtreadの論理を「1」にする。
ORゲート12は、フェッチ実行サイクルfetch_cycleの論理が「1」である場合、又は、リードアクセス信号prbus_dtreadの論理が「1」である場合にプログラムメモリ201を読み出し可能な状態にする。
セレクタ13は、フェッチ実行サイクルfetch_cycleの論理が「1」である場合にプログラムカウンタ5のカウンタ値をアドレスprbus_addrとしてプログラムメモリ201に出力する。一方、セレクタ13は、フェッチ実行サイクルfetch_cycleの論理が「0」である場合にデータバスコントローラ6から出力されるデータバスアドレスdtbus_addrをアドレスprbus_addrとしてプログラムメモリ201に出力する。
セレクタ14は、リードアクセス信号prbus_dtreadの論理が「1」である場合にプログラムメモリ201から読み出されるリードデータをデータバスリードデータdtbus_rddataとしてデータバスコントローラ6に出力する。一方、セレクタ14は、リードアクセス信号prbus_dtreadの論理が「0」である場合にデータメモリ202から読み出されるリードデータをデータバスリードデータdtbus_rddataとしてデータバスコントローラ6に出力する。
プログラムメモリ201にデータを書き込むのはデータバスコントローラ6だけであるため、データバスコントローラ6から出力されるデータバスライトデータdtbus_wrdataは上述した論理回路部を介さずにプログラムメモリ201に供給される。
なお、データバスコントローラ6から出力されるデータバスアドレスdtbus_addr、データバスライトデータdtbus_wrdata、データバスライトイネーブル信号dtbus_we、及びデータバスリードイネーブル信号dtbus_reは、上述した論理回路部を介さずにデータメモリ202に供給される。
ハーバード型マイクロプロセッサ101は、ORゲート15をさらに備える。ORゲート15は、上述した判定部の出力を用いて、データバスコントローラ6がプログラムメモリ201にアクセス可能な期間に上述したフェッチ部がプログラムメモリ201にアクセスすることを禁止する禁止信号を上述したフェッチ部に出力する。具体的には、ORゲート15は、リードアクセス信号prbus_dtreadの論理又はライトアクセス信号prbus_dtwriteの論理が「1」である場合、すなわちデータバスコントローラ6がプログラムメモリ201にアクセスする場合に上述した禁止信号(論理が「1」である信号)をフェッチステートマシン3に出力する。フェッチステートマシン3は、上述した禁止信号を受け取ると、上述したフェッチ部のステートをフェッチステートからプリフェッチステートに遷移させる。これにより、バス調停回路を用いることなく、プログラムメモリ201のアクセス先を上述したフェッチ部とデータバスコントローラ6とに振り分けることができる。
図3は上述したフェッチ部のステート遷移を示す図である。マイクロプロセッサに電源が投入されると、上述したフェッチ部は、アイドルステートを経て、プリフェッチステートでプログラムメモリ201へのアクセスを行う。そして、上述したフェッチ部は、次のサイクル(クロック周期)からフェッチステートになり、プログラムメモリ201から読み出したデータを命令レジスタ4に取り込み、命令を実行し続ける。そして、フェッチステートマシン3が禁止信号を受信すると、上述したフェッチ部のステートは、フェッチステートからプリフェッチステートに遷移する。なお、割り込み発生については後述する。
図4からも分かるように、リードアクセス信号prbus_dtreadの論理又はライトアクセス信号prbus_dtwriteの論理が「1」である場合に、上述したフェッチ部のステートがプリフェッチステートに遷移し、プリフェッチステートである期間にデータバスコントローラ6がプログラムメモリ201にアクセスする。これにより、バス調停回路を用いることなく、プログラムメモリ201のアクセス先を上述したフェッチ部とデータバスコントローラ6とに振り分けることができる。なお、図4中の12outputはORゲート12の出力信号を意味しており、図4中のinstrucitonにおけるffffは命令を実行していないことを意味している。
<2.フォンノイマン型マイクロプロセッサ>
図5はフォンノイマン型マイクロプロセッサの一構成例を示す図である。フォンノイマン型マイクロプロセッサ102はハーバード型マイクロプロセッサ101と同一の回路構成であり、スイッチ8の選択状態のみがハーバード型マイクロプロセッサ101と異なる。フォンノイマン型マイクロプロセッサ102では、スイッチ8が論理「1」を選択する。
フォンノイマン型マイクロプロセッサ102の第1メモリバス1には共通メモリ203が接続され、フォンノイマン型マイクロプロセッサ102の第2メモリバス2にはメモリが接続されない。共通メモリ203のアドレス範囲は例えば図6に示すように0×0000〜0×FFFFにすればよい。一方、共通メモリ203のアドレス範囲を例えば図7に示すように0×0000〜0×7FFFとし、共通メモリ203のアドレス範囲の全てがプログラムメモリ201のアドレス範囲に包含されるように設定すれば、スイッチ8及びORゲート9を取り除くことができる。
<3.利点>
例えば性能を優先する場合はハーバード型マイクロプロセッサ101を選択し、チップ面積を小さくする場合はフォンノイマン型マイクロプロセッサ102を選択することができる。また、ハーバード型マイクロプロセッサ101とフォンノイマン型マイクロプロセッサ102とで回路が共通しているため、ハーバード型マイクロプロセッサ101とフォンノイマン型マイクロプロセッサ102を同じソースコードで動作させることもできる。つまり、ハーバード型マイクロプロセッサ101とフォンノイマン型マイクロプロセッサ102の開発環境を共通化することができる。
ハーバード型マイクロプロセッサ101及びフォンノイマン型マイクロプロセッサ102は、バス調停を行っていないため、バス調停による消費電力の増大やメモリアクセス回路の遅延の増大が発生しない。
なお、図1に示すハーバード型マイクロプロセッサ101は外部のプログラムメモリ201及びデータメモリ202に接続される構成であったが、図8に示すハーバード型マイクロプロセッサ103のようにプログラムメモリ201及びデータメモリ202を内蔵する構成であってもよい。同様に、図5に示すフォンノイマン型マイクロプロセッサ102は外部の共通メモリ203に接続される構成であったが、図9に示すフォンノイマン型マイクロプロセッサ104のように共通メモリ203を内蔵する構成であってもよい。
図8や図9に示すようなメモリを内蔵する構成のマイクロプロセッサであっても、フォンノイマン型とハーバード型とでメモリ以外の部分における回路の共通化を図ることで開発環境の共通化を図ることができる。
<4.割り込みレイテンシ>
割り込みが発生すると、割り込みレイテンシが発生する。ここで、割り込みレイテンシとは、割り込みが発生してから割り込みルーチンの実行が開始されるまでの時間をいう。ハーバード型マイクロプロセッサ101とフォンノイマン型マイクロプロセッサ102とで割り込みレイテンシを一致させることで、ハーバード型マイクロプロセッサ101とフォンノイマン型マイクロプロセッサ102の開発環境をより一層共通化することができる。
そこで、本実施形態では、フェッチステートにおいて割り込みが発生すると、図3に示すようにフェッチステートからウエイトステートに遷移し、レジスタの退避が完了するまでウエイトステートを維持(キープ)し、レジスタの退避が完了すると、キープしていたウエイトステートからプリフェッチステートに遷移するようにしている。したがって、本実施形態では、ハーバード型マイクロプロセッサ101において図10に示すようにプログラムカウンタ5のカウンタ値の退避及び命令レジスタ4のレジスタ値の退避が完了してから、フェッチ部のステートがウエイトステートからプリフェッチステートに遷移し、プリフェッチステートにおいて命令レジスタ4が割り込みベクタから命令をロードし、ロードされたベクタアドレスの命令をフェッチステートにおいてプログラムメモリ201からフェッチすることになる。これにより、割り込み発生後にプログラムメモリ201へのアクセスとデータメモリ202へのアクセスとが同時に発生しないことになる。その結果、図10に示すハーバード型マイクロプロセッサ101の割り込みレイテンシT1と、図11に示すフォンノイマン型マイクロプロセッサ101の割り込みレイテンシT2とが一致する。
<5.用途>
上述したマイクロプロセッサ101〜104は例えば図12に示すボトム検出オン時間固定方式スイッチング電源装置に用いることができる。図12に示すボトム検出オン時間固定方式スイッチング電源装置は、入力電圧Vinを降圧して所望の出力電圧Voutを生成する降圧型DC/DCコンバータである。
図12に示すボトム検出オン時間固定方式スイッチング電源装置では、帰還電圧Vfbが基準電圧Vrefまで下がったことをコンパレータ21が検出すると、ドライバ22は、所定のオン時間Tonを設定するオン時間設定回路23からの出力に基づいて、所定のオン時間Tonだけスイッチ電圧Vswがハイレベルになるように上側トランジスタN1をオン状態にする。なお、ドライバ22は、所定のオン時間Ton以外では上側トランジスタN1をオフ状態にする。また、上側トランジスタN1及び下側トランジスタN2はドライバ22によって相補的にスイッチングされる。
また、図12に示すボトム検出オン時間固定方式スイッチング電源装置では、過電流保護機能や過熱保護機能等を実現するために、ドライバ22が電流センサや温度センサ等の出力に応じた動作を実行する。
ドライバ22はボトム検出オン時間固定方式スイッチング電源装置のステートを制御する電源制御回路であり、ドライバ22の少なくとも一部として上述したマイクロプロセッサ101〜104のいずれかを用いることができる。
なお、上述したマイクロプロセッサ101〜104はボトム検出オン時間固定方式以外の電源装置に用いることもできる。また、上述したマイクロプロセッサ101〜104は電源装置に限らず例えば各種センサのステートを制御するために用いたり、発光素子を駆動する発光素子駆動装置のステートを制御するために用いたりすることができる。
<6.その他>
なお、本発明の構成は、上記実施形態のほか、発明の主旨を逸脱しない範囲で種々の変更を加えることが可能である。
例えばスイッチ8をマイクロプロセッサの外部に設け、スイッチ8から出力される論理信号をマイクロプロセッサに外部入力してもよい。また例えば、ハードウェアであるスイッチ8を用いる代わりに、プログラムの先頭でビットを設定することにより、ソフトウェア的にハーバード型の場合は「0」の論理信号、フォンノイマン型の場合は「1」の論理信号をORゲート9に供給するようにしてもよい。また例えば、スイッチ8は1回選択を実行した後は選択を変更できないスイッチ(例えばトリミング素子を用いたスイッチ)であってもよい。
このように、上記実施形態は、全ての点で例示であって、制限的なものではないと考えられるべきであり、本発明の技術的範囲は、上記実施形態の説明ではなく、特許請求の範囲によって示されるものであり、特許請求の範囲と均等の意味及び範囲内に属する全ての変更が含まれると理解されるべきである。
1 第1メモリバス
2 第2メモリバス
3 フェッチステートマシン
4 命令レジスタ
5 プログラムカウンタ
6 データバスコントローラ
6 バスコントローラ
7 アドレスデコーダ
8 スイッチ
9 ORゲート
10 ANDゲート
11 ANDゲート
12 ORゲート
13 セレクタ
14 セレクタ
15 ORゲート
101 ハーバード型マイクロプロセッサ
102 フォンノイマン型マイクロプロセッサ
103 ハーバード型マイクロプロセッサ
104 フォンノイマン型マイクロプロセッサ
201 プログラムメモリ
202 データメモリ
203 共通メモリ

Claims (11)

  1. 第1メモリバスと、
    第2メモリバスと、
    前記第1メモリバスに接続される第1メモリから命令をフェッチするフェッチ部と、
    前記第2メモリバスを制御するバスコントローラと、
    前記バスコントローラから出力されるアドレスが前記第1メモリの領域であるか否かを判定する判定部と、
    前記判定部の出力を用いて、前記バスコントローラから出力されるアドレスが前記第1メモリの領域である場合に前記第1メモリのアクセス先を前記バスコントローラにする第1論理回路部と、
    を備える、マイクロプロセッサ。
  2. 前記判定部の出力を用いて、前記バスコントローラが前記第1メモリにアクセス可能な期間に前記フェッチ部が前記第1メモリにアクセスすることを禁止する禁止信号を前記フェッチ部に出力する第2論理回路部を備える、請求項1に記載のマイクロプロセッサ。
  3. 前記バスコントローラが前記第1メモリにアクセス可能な期間になると、前記禁止信号に基づいて前記フェッチ部のステートがフェッチステートからプリフェッチステートに遷移する、請求項2に記載のマイクロプロセッサ。
  4. 前記フェッチ部のカウンタ値及びレジスタ値の退避が完了してから、前記フェッチ部のステートが前記プリフェッチステートに遷移する、請求項3に記載のマイクロプロセッサ。
  5. 前記判定部は、前記バスコントローラから出力されるアドレスが第1範囲内であるときと第2範囲内であるときとで異なる論理の信号を出力するアドレスデコーダを有する、請求項1〜4のいずれか一項に記載のマイクロプロセッサ。
  6. 前記判定部は、前記アドレスデコーダの出力信号を前記判定部の出力とする第1の状態と、所定の論理の信号を前記判定部の出力とする第2の状態と、を切り替える切替部を有する、請求項5に記載のマイクロプロセッサ。
  7. 前記バスコントローラから出力されるライトデータは、前記第1論理回路部を介さずに前記第1メモリに供給される、請求項1〜6のいずれか一項に記載のマイクロプロセッサ。
  8. 前記第1メモリを内蔵する請求項1〜7のいずれか一項に記載のマイクロプロセッサ。
  9. 前記第2メモリバスに接続される第2メモリを内蔵する請求項8に記載のマイクロプロセッサ。
  10. 入力電圧を出力電圧に変換する変換部を制御する制御部と、
    請求項1〜9のいずれか一項に記載のマイクロプロセッサと、を備える電源制御ICであって、
    前記マイクロプロセッサは、前記電源制御ICの動作シーケンスを規定する、電源制御IC。
  11. 請求項10に記載の電源制御ICと、前記変換部と、を備える、電源装置。
JP2018110373A 2018-06-08 2018-06-08 マイクロプロセッサ Active JP7101052B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018110373A JP7101052B2 (ja) 2018-06-08 2018-06-08 マイクロプロセッサ
US16/433,115 US10877762B2 (en) 2018-06-08 2019-06-06 Microprocessor, power supply control IC, and power supply

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018110373A JP7101052B2 (ja) 2018-06-08 2018-06-08 マイクロプロセッサ

Publications (2)

Publication Number Publication Date
JP2019212218A true JP2019212218A (ja) 2019-12-12
JP7101052B2 JP7101052B2 (ja) 2022-07-14

Family

ID=68764555

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018110373A Active JP7101052B2 (ja) 2018-06-08 2018-06-08 マイクロプロセッサ

Country Status (2)

Country Link
US (1) US10877762B2 (ja)
JP (1) JP7101052B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0863354A (ja) * 1994-08-10 1996-03-08 At & T Corp コンピュータプロセッシングを行うための装置及び方法
JP2001043180A (ja) * 1999-08-03 2001-02-16 Mitsubishi Electric Corp マイクロプロセッサおよびそのための記憶装置
US8860595B1 (en) * 2013-04-25 2014-10-14 Fairchild Semiconductor Corporation Scalable voltage ramp control for power supply systems
JP2017212814A (ja) * 2016-05-26 2017-11-30 ローム株式会社 電源装置および電源制御方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0863354A (ja) * 1994-08-10 1996-03-08 At & T Corp コンピュータプロセッシングを行うための装置及び方法
JP2001043180A (ja) * 1999-08-03 2001-02-16 Mitsubishi Electric Corp マイクロプロセッサおよびそのための記憶装置
US8860595B1 (en) * 2013-04-25 2014-10-14 Fairchild Semiconductor Corporation Scalable voltage ramp control for power supply systems
JP2017212814A (ja) * 2016-05-26 2017-11-30 ローム株式会社 電源装置および電源制御方法

Also Published As

Publication number Publication date
US10877762B2 (en) 2020-12-29
US20190377579A1 (en) 2019-12-12
JP7101052B2 (ja) 2022-07-14

Similar Documents

Publication Publication Date Title
JP6030987B2 (ja) メモリ制御回路
JP4007483B2 (ja) 高位合成装置および高位合成方法
JP4544081B2 (ja) マイクロコンピュータ
US10289191B2 (en) Processor including multiple dissimilar processor cores
JP2007133456A (ja) 半導体装置
US10571993B2 (en) Micro controller unit
JP2008077294A (ja) マイクロプロセッサおよびそれを用いたマイクロコンピュータ
KR101197591B1 (ko) 저전력 프로세서
US8065486B2 (en) Cache memory control circuit and processor
JP2005339310A (ja) 半導体装置
JP2008059300A (ja) マイクロコンピュータ
JP7101052B2 (ja) マイクロプロセッサ
JP2017204019A (ja) 半導体集積回路
JP4522799B2 (ja) 半導体回路装置及び暴走検出方法
KR100321745B1 (ko) 외부메모리액세스를위한마이크로컨트롤러유닛
JP4889235B2 (ja) プログラム制御プロセッサ
JP3893463B2 (ja) キャッシュメモリ、及びキャッシュメモリの電力削減方法
JP2011070290A (ja) データプロセッサ
JP2005346282A (ja) 電気的に書き換え可能な不揮発性メモリを内蔵したマイクロコンピュータ
US6154820A (en) Arrangement for storing program instructions and data in a memory device and method therefor
JP4498705B2 (ja) キャッシュシステム
JPWO2014184985A1 (ja) 半導体集積回路及びその電源制御方法
JPH11353170A (ja) フラッシュメモリ制御装置およびフラッシュメモリ制御装置のメモリアクセス方法
JP2005228142A (ja) メモリ制御回路
JP2006127091A (ja) 半導体集積回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210518

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220318

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220704

R150 Certificate of patent or registration of utility model

Ref document number: 7101052

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150