(57)【要約】【課題】  マイクロコンピュータにおいてプログラムメモリとして使用される強誘電体メモリの寿命延長を使用効率の低下を伴うことなく実現する。【解決手段】  分岐命令検出部は、ＣＰＵによりメモリから取得される命令コードと所定の分岐命令の命令コードとの一致を検出する。命令情報格納部は、分岐命令検出部により命令コードの一致が検出された場合、所定の分岐命令とそれに続いて実行される命令とに関して、ＣＰＵにより指定されるアドレスとＣＰＵによりメモリから取得される命令コードとを格納する。アドレス比較部は、ＣＰＵにより指定されるアドレスと命令情報格納部に格納されているアドレスとの一致を検出する。メモリアクセス制御部は、アドレス比較部によりアドレスの一致が検出された場合、ＣＰＵによるメモリからの命令コードの取得を禁止し、ＣＰＵに命令情報格納部から命令コードを取得させる。【選択図】    図１
2009069980.tif 000002
【特許請求の範囲】
【請求項１】
命令コードを格納する不揮発性のメモリと、
アドレスを指定して前記メモリから命令コードを取得するＣＰＵと、
前記ＣＰＵにより前記メモリから取得される命令コードと所定の分岐命令の命令コードとの一致を検出する分岐命令検出部と、
前記分岐命令検出部により命令コードの一致が検出された場合、前記所定の分岐命令とそれに続いて実行される命令とに関して、前記ＣＰＵにより指定されるアドレスと前記ＣＰＵにより前記メモリから取得される命令コードとを格納する命令情報格納部と、
前記ＣＰＵにより指定されるアドレスと前記命令情報格納部に格納されているアドレスとの一致を検出するアドレス比較部と、
前記アドレス比較部によりアドレスの一致が検出された場合、前記ＣＰＵによる前記メモリからの命令コードの取得を禁止し、前記ＣＰＵに前記命令情報格納部から命令コードを取得させるメモリアクセス制御部とを備えることを特徴とするマイクロコンピュータ。
【請求項２】
請求項１に記載のマイクロコンピュータにおいて、
前記分岐命令検出部、前記命令情報格納部、前記アドレス比較部および前記メモリアクセス制御部は、複数種の分岐命令に対応して複数組設けられることを特徴とするマイクロコンピュータ。
【請求項３】
請求項１に記載のマイクロコンピュータにおいて、
前記分岐命令検出部における前記所定の分岐命令の命令コードを可変設定する分岐命令設定部を備えることを特徴とするマイクロコンピュータ。
【請求項４】
請求項３に記載のマイクロコンピュータにおいて、
前記分岐命令設定部、前記分岐命令検出部、前記命令情報格納部、前記アドレス比較部および前記メモリアクセス制御部は、複数種の分岐命令に対応して複数組設けられることを特徴とするマイクロコンピュータ。
【請求項５】
請求項１に記載のマイクロコンピュータにおいて、
前記メモリは、強誘電体メモリで構成されることを特徴とするマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、強誘電体メモリ（FeRAM：Ferroelectric Random Access Memory）をプログラムメモリとして使用するマイクロコンピュータに関する。
【背景技術】
【０００２】
不揮発性半導体メモリの１つとして、メモリセルに強誘電体キャパシタを用いて構成される強誘電体メモリが知られている。強誘電体メモリは、アクセス速度や消費電力などの面で非常に優れているため、様々な用途での利用が期待されている。強誘電体メモリにおいては、メモリセルの書き換え回数は、強誘電体材料の制約により有限であり、１００億回程度が限界である。強誘電体メモリは破壊読み出し型のメモリであるため、強誘電体メモリにおいては、書き込みアクセスだけでなく読み出しアクセスの際にもメモリセルの書き換えが実施されることになる。
【０００３】
ここで、例えば、マイクロコンピュータにおいて強誘電体メモリをプログラムメモリとして使用する場合を考える。この場合、強誘電体メモリに格納されるプログラム中にループ処理が存在すると、強誘電体メモリの局所的な領域に対して読み出しアクセスが頻繁に実施され、その領域に関して書き換え回数が早期に上限値を超過することになる。このため、マイクロコンピュータにおいて強誘電体メモリをプログラムメモリとして使用するためには、強誘電体メモリの寿命を延長するための技術が必要になる。強誘電体メモリの寿命を延長するための従来技術としては、強誘電体メモリを複数のブロックに分割して管理し、アクセス頻度に応じてアクセス対象のブロックを変更する手法が知られている（例えば、特許文献１、２参照）。
【特許文献１】特開平１１−１１０２９７号公報
【特許文献２】特開２００４−１５７６８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
前述の従来技術においては、強誘電体メモリの寿命を延長できるが、強誘電体メモリの全領域に対して実質的に使用可能な領域が小さくなり、強誘電体メモリの使用効率が著しく低下するという問題がある。このため、マイクロコンピュータにおいて強誘電体メモリをプログラムメモリとして使用することは困難であると言わざるを得なかった。
【０００５】
本発明は、このような問題に鑑みてなされたものであり、マイクロコンピュータにおいてプログラムメモリとして使用される強誘電体メモリの寿命延長を使用効率の低下を伴うことなく実現することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一形態では、マイクロコンピュータは、メモリと、ＣＰＵと、分岐命令検出部と、命令情報格納部と、アドレス比較部と、メモリアクセス制御部とを備える。メモリは、不揮発性を有し、命令コードを格納する。例えば、メモリは、強誘電体メモリで構成される。ＣＰＵは、アドレスを指定してメモリから命令コードを取得する。分岐命令検出部は、ＣＰＵによりメモリから取得される命令コードと所定の分岐命令の命令コードとの一致を検出する。命令情報格納部は、分岐命令検出部により命令コードの一致が検出された場合、所定の分岐命令とそれに続いて実行される命令とに関して、ＣＰＵにより指定されるアドレスとＣＰＵによりメモリから取得される命令コードとを格納する。アドレス比較部は、ＣＰＵにより指定されるアドレスと命令情報格納部に格納されているアドレスとの一致を検出する。メモリアクセス制御部は、アドレス比較部によりアドレスの一致が検出された場合、ＣＰＵによるメモリからの命令コードの取得を禁止し、ＣＰＵに命令情報格納部から命令コードを取得させる。
【０００７】
以上のようなマイクロコンピュータにおいて、分岐命令検出部における所定の分岐命令とそれに続いて実行される命令とは、ループ処理に含まれており、ＣＰＵにより何回も繰り返し実行される可能性が非常に高い。分岐命令検出部における所定の分岐命令とそれに続いて実行される命令とに関して、ＣＰＵによる１回目の実行時には、ＣＰＵは強誘電体メモリから命令コードを取得するが、ＣＰＵによる２回目以降の実行時には、ＣＰＵは強誘電体メモリではなく命令情報格納部から命令コードを取得することになる。従って、強誘電体メモリへの読み出しアクセスの発生頻度を大幅に緩和させることができる。この結果、強誘電体メモリの寿命を延長することが可能になる。また、強誘電体メモリを複数のブロックに分割して管理する必要はないため、強誘電体メモリの使用効率が低下することはない。このように、プログラムメモリとして使用される強誘電体メモリの寿命延長を使用効率の低下を伴うことなく実現可能である。
【発明の効果】
【０００８】
本発明によれば、マイクロコンピュータにおいてプログラムメモリとして使用される強誘電体メモリの寿命延長を使用効率の低下を伴うことなく実現することができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施形態について図面を用いて説明する。
【００１０】
図１は、本発明の一実施形態を示している。本発明の一実施形態におけるマイクロコンピュータ１は、ＣＰＵ２と、アドレスバス３と、データバス４と、ＦｅＲＡＭコントローラ５と、ＦｅＲＡＭ６と、３個のアクセス頻度緩和機構７（７ａ、７ｂ、７ｃ）とを備えて構成されている。
【００１１】
ＣＰＵ２は、命令コードを取得する際に、アドレスバス３に所望のアドレスを出力するとともに、ＦｅＲＡＭコントローラ５にＦｅＲＡＭ６への読み出しアクセスを要求する。ＦｅＲＡＭコントローラ５は、プログラム（命令コード）が格納されたＦｅＲＡＭ６への読み出しアクセスをＣＰＵ２から要求されると、アクセス頻度緩和機構７（７ａ、７ｂ、７ｃ）から供給されるアクセス禁止信号１２（１２ａ、１２ｂ、１２ｃ）の全てが非活性化されている場合にのみ、ＣＰＵ２からアドレスバス３に出力されるアドレスに応じてＦｅＲＡＭ６から命令コードを読み出してデータバス４に出力する。
【００１２】
アクセス頻度緩和機構７は、ＦｅＲＡＭコントローラ５によるＦｅＲＡＭ６への読み出しアクセスの発生頻度を緩和させるための機構であり、分岐命令検出部８と、分岐命令設定部９と、命令情報格納部１０と、アドレス比較部１１とを備えて構成されている。マイクロコンピュータ１においては、３種類の分岐命令に対応して３個のアクセス頻度緩和機構７が設けられている。なお、アクセス頻度緩和機構７の個数は適宜変更されてもよい。
【００１３】
分岐命令検出部８は、ＦｅＲＡＭコントローラ５からデータバス４に出力される命令コードと所定の分岐命令の命令コードとの一致を検出する。分岐命令設定部９は、分岐命令検出部８における所定の分岐命令の命令コードを可変設定する。例えば、分岐命令設定部９は、ＣＰＵ２によりアクセス可能なレジスタで構成されている。
【００１４】
命令情報格納部１０は、分岐命令検出部８により命令コードの一致が検出された場合、分岐命令検出部８における所定の分岐命令とそれに続いて実行される４個の命令とに関して、ＣＰＵ２からアドレスバス３に出力されるアドレスを５個のアドレス格納部ＡＤ（ＡＤａ、ＡＤｂ、ＡＤｃ、ＡＤｄ、ＡＤｅ）に順次格納するとともに、ＦｅＲＡＭコントローラ５からデータバス４に出力される命令コードを５個のデータ格納部ＤＴ（ＤＴａ、ＤＴｂ、ＤＴｃ、ＤＴｄ、ＤＴｅ）に順次格納する。なお、アドレス格納部ＡＤおよびデータ格納部ＤＴの個数は適宜変更されてもよい。
【００１５】
アドレス比較部１１は、ＣＰＵ２からアドレスバス３に出力されるアドレスと命令情報格納部１０に格納されているアドレス（５個）との一致を検出する。アクセス頻度緩和機構７は、アドレス比較部１１によりアドレスの一致が検出されなかった場合、即ち、ＣＰＵ２により取得されるべき命令コードが命令情報格納部１０に格納されていない場合、ＦｅＲＡＭコントローラ５に供給されるアクセス禁止信号１２を非活性化させる。従って、ＦｅＲＡＭコントローラ５は、ＣＰＵ２からアドレスバス３に出力されるアドレスに応じてＦｅＲＡＭ６から命令コードを読み出してデータバス４に出力する。これにより、ＣＰＵ２は、ＦｅＲＡＭ６から読み出された命令コードを取得することになる。
【００１６】
また、アクセス頻度緩和機構７は、アドレス比較部１１によりアドレスの一致が検出された場合、即ち、ＣＰＵ２により取得されるべき命令コードが命令情報格納部１０に格納されている場合、アクセス禁止信号１２を活性化させてＦｅＲＡＭコントローラ５によるＦｅＲＡＭ６への読み出しアクセスを禁止したうえで、命令情報格納部１０に格納されている命令コード（５個）の中から所望の命令コードを読み出してデータバス４に出力する。これにより、ＣＰＵ２は、ＦｅＲＡＭ６に代えて命令情報格納部１０から読み出された命令コードを取得することになる。
【００１７】
以上のようなマイクロコンピュータ１において、分岐命令検出部８における所定の分岐命令とそれに続いて実行される４個の命令とは、ループ処理に含まれており、ＣＰＵ２により何回も繰り返し実行される可能性が非常に高い。分岐命令検出部８における所定の分岐命令とそれに続いて実行される４個の命令とに関して、ＣＰＵ２による１回目の実行時には、ＣＰＵ２はＦｅＲＡＭ６から読み出された命令コードを取得するが、ＣＰＵ２による２回目以降の実行時には、ＣＰＵ２はＦｅＲＡＭ６ではなく命令情報格納部１０から読み出された命令コードを取得することになる。従って、ＦｅＲＡＭ６に格納されるプログラム中にループ処理が存在する場合でも、ＦｅＲＡＭ６の局所的な領域に対して読み出しアクセスが高頻度で実施されることはない。この結果、ＦｅＲＡＭ６の寿命を延長することが可能になる。また、ＦｅＲＡＭ６を複数のブロックに分割して管理する必要はないため、ＦｅＲＡＭ６の使用効率が低下することはない。このように、本発明が適用されたマイクロコンピュータ１では、プログラムメモリとして使用されるＦｅＲＡＭ６の寿命延長を使用効率の低下を伴うことなく実現できる。
【００１８】
なお、本発明の一実施形態では、強誘電体メモリをプログラムメモリとして使用するマイクロコンピュータに本発明を適用しているが、本発明はかかる実施形態に限定されるものではなく、強誘電体メモリ以外の破壊読み出しを伴う不揮発性半導体メモリをプログラムメモリとして使用するマイクロコンピュータに本発明を適用してもよい。
【００１９】
以上、本発明について詳細に説明してきたが、前述の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれらに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施形態を示すブロック図である。
【符号の説明】
【００２１】
１‥マイクロコンピュータ；２‥ＣＰＵ；３‥アドレスバス；４‥データバス；５‥ＦｅＲＡＭコントローラ；６‥ＦｅＲＡＭ；７（７ａ、７ｂ、７ｃ）‥アクセス頻度緩和機構；８‥分岐命令検出部；９‥分岐命令設定部；１０‥命令情報格納部；１１‥アドレス比較部；１２（１２ａ、１２ｂ、１２ｃ）‥アクセス禁止信号；ＡＤ（ＡＤａ、ＡＤｂ、ＡＤｃ、ＡＤｄ、ＡＤｅ）‥アドレス格納部；ＤＴ（ＤＴａ、ＤＴｂ、ＤＴｃ、ＤＴｄ、ＤＴｅ）‥データ格納部
【図１】
2009069980.tif 000003