(57)【要約】【課題】システム性能を低下させずに、低消費電力化を実現できるＣＥ制御回路を提供する。【解決手段】メモリの状態を制御するＣＥ信号を生成し、メモリを動作可能状態にするときにＣＥ信号を有効（Ｌレベル）にし、消費電力の低い低消費電力状態にするときにＣＥ信号を無効（Ｈレベル）にするＣＥ制御回路９であって、ＣＥ信号が有効である期間中に起動要求信号Ｓ＿ＲＥＱを受信しない場合には、ＣＥ信号が有効である期間を、起動要求信号Ｓ＿ＲＥＱからＲＥ信号までの間隔に基づいて決定される期待値ＥＶに応じた期間であって、ＣＥ信号ホールドタイム以上の期間に延ばし、この延ばされた期間の経過後にＣＥ信号を無効にし、ＣＥ信号が有効である期間中に起動要求信号Ｓ＿ＲＥＱを受信した場合には、ＣＥ信号を有効のまま維持する。【選択図】        図３
2006293889.tif 000002
【特許請求の範囲】
【請求項１】
メモリの状態を制御するチップイネーブル信号を生成し、前記メモリを動作可能状態にするときに前記チップイネーブル信号を有効にし、前記メモリを動作可能状態より消費電力の低い低消費電力状態にするときに前記チップイネーブル信号を無効にするチップイネーブル信号生成手段と、
前記メモリが動作可能状態であり続けることを許容する期間に対応する基準値を出力する基準値生成手段と
を有し、
前記チップイネーブル信号生成手段は、チップイネーブル信号が有効である期間中に前記メモリの起動要求信号を受信しない場合には、チップイネーブル信号が有効である期間を、前記基準値に応じた期間であって、前記メモリのチップイネーブル信号ホールドタイム以上の期間に延ばし、前記延ばされた期間の経過後に前記チップイネーブル信号を無効にする
ことを特徴とするチップイネーブル制御回路。
【請求項２】
前記チップイネーブル信号生成手段は、前記チップイネーブル信号が有効である期間中に前記起動要求信号を受信した場合には、前記チップイネーブル信号を有効のまま維持することを特徴とする請求項１に記載のチップイネーブル制御回路。
【請求項３】
前記基準値生成手段は、前記メモリの起動要求信号及びリードイネーブル信号を受信し、
前記基準値は、前記受信した起動要求信号から前記受信したリードイネーブル信号までの間隔に基づいて決定される
ことを特徴とする請求項１又は２のいずれかに記載のチップイネーブル制御回路。
【請求項４】
前記基準値生成手段は、
タイマー値を出力し、前記リードイネーブル信号を受信したときに前記タイマー値をリセットし、前記起動要求信号を受信したときに動作を停止するタイマーと、
前記タイマーから出力されるタイマー値に応じた前記基準値を出力するテーブル保持手段と
を有することを特徴とする請求項１から３までのいずれかに記載のチップイネーブル制御回路。
【請求項５】
前記基準値生成手段は、前記基準値を、予め設定された値とすることを特徴とする請求項１又は２のいずれかに記載のチップイネーブル制御回路。
【請求項６】
前記基準値生成手段は、前記基準値を調整可能とする手段を有することを特徴とする請求項５に記載のチップイネーブル制御回路。
【請求項７】
前記基準値生成手段は、予め取得された前記メモリへのアクセスサイクルの分布データに基づいて前記基準値を調整する手段を有することを特徴とする請求項５に記載のチップイネーブル制御回路。
【請求項８】
前記チップイネーブル信号生成手段は、
前記メモリの起動要求信号を受信したときにカウント値がリセットされるカウンタと、
前記カウンタのカウント値が前記基準値と一致したときに前記チップイネーブル信号を無効にする一致判定回路と
を有することを特徴とする請求項１から７までのいずれかに記載のチップイネーブル制御回路。
【請求項９】
請求項１から８までのいずれか１項に記載のチップイネーブル制御回路と、
メモリアクセス信号を受信し、この受信したメモリアクセス信号に基づいて前記起動要求信号を生成するアドレスデコーダ回路と、
前記起動要求信号に基づいて前記リードイネーブル信号を生成するリードイネーブル生成回路と
を有することを特徴とするメモリ制御回路。
【請求項１０】
中央演算装置と、
キャッシュメモリと、
前記キャッシュメモリの動作を制御するキャッシュコントローラと、
メモリと、
前記キャッシュメモリコントローラからの指令に基づいて、前記メモリの動作を制御する、請求項９に記載のメモリ制御回路と
を有することを特徴とするデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キャッシュメモリ付きの中央演算装置（ＣＰＵ）とメモリとを搭載したシステムにおいてメモリのチップイネーブル（ＣＥ）信号を制御するチップイネーブル制御回路、このチップイネーブル制御回路を搭載したメモリ制御回路、及びこのメモリ制御回路を搭載したデータ処理システムに関するものである。
【背景技術】
【０００２】
キャッシュメモリ付きのＣＰＵとフラッシュメモリとを搭載したシステムとして、例えば、特開平８−７６８７５号公報（特許文献１）に開示されたものがある。
【０００３】
図１１は、ＣＰＵ１と、キャッシュコントローラ２と、キャッシュメモリ３と、フラッシュメモリコントローラ４ａと、フラッシュメモリ５とを搭載した従来のシステムの構成を示すブロック図である。このシステムにおいて、ＣＰＵ１は、キャッシュコントローラ２を介してキャッシュメモリ３からのコードデータ又は共通バスからのコードデータを取り込み、取り込んだコードデータに従った演算等を実行する。ＣＰＵ１が共通メモリからコードを読み出す場合は、キャッシュコントローラ２は、フラッシュメモリ５のアドレスを示す信号ＨＡＤＤＲＩ、アドレスの有効／無効を示す信号ＨＴＲＡＮＳＩ、及び転送回数を示す信号ＨＢＵＲＳＴＩを生成して、共通バス（アドレス側）に出力する。
【０００４】
図１２は、従来のフラッシュメモリコントローラ４ａの構成を示すブロック図である。フラッシュメモリコントローラ４ａは、アドレスデコーダ回路６と、アドレス／リードイネーブル（ＲＥ）生成回路７と、データ出力回路８とを有している。アドレスデコーダ回路６は、共通バス（アドレス側）の信号ＨＡＤＤＲＩ、ＨＴＲＡＮＳＩ、ＨＢＵＲＳＴＩ、及びＨＲＥＡＤＹＩ（前サイクルの転送終了を示す）を受け取り、起動要求信号Ｓ＿ＲＥＱとアドレスＡＤＤＲを出力する。アドレス／ＲＥ生成回路７は、起動要求信号Ｓ＿ＲＥＱとアドレスＡＤＤＲを受け取り、リードイネーブル信号（ＲＥ信号）とアドレス信号Ｆｌａｓｈ（Ａ）をフラッシュメモリ５に出力し、出力要求信号Ｏ＿ＲＥＱをデータ出力回路８に出力する。また、図１２においては、フラッシュメモリ５のＣＥ信号の入力端子Ｔ（ＣＥ）は、Ｌレベル（ＧＮＤ）に接続されており、フラッシュメモリ５は動作可能状態（活性化された状態）になっている。アドレス／ＲＥ生成回路７から出力される出力要求信号Ｏ＿ＲＥＱとフラッシュメモリ５から出力されたデータＦｌａｓｈ（Ｄ）は、データ出力回路８に入力される。データ出力回路８は、信号ＨＲＤＡＴＡＩを共通バス（データ側）に出力し、信号ＨＲＥＡＤＹＯを共通バス（アドレス側）に出力する。
【０００５】
図１３は、上記した従来のシステムのキャッシュミスヒット時の動作波形図（ＣＥ信号を常に有効（Ｌレベル）とした場合、すなわち、ＣＥ制御を行わない場合）である。図１３において、ＣＰＵＣＬＫはＣＰＵ１の動作クロック、ＨＣＬＫはＣＰＵ１が生成するクロック、ＭＥＭＣＬＫはフラッシュメモリ５の動作クロック、Ｆｌａｓｈ０（Ｄ）及びＦｌａｓｈ１（Ｄ）はフラッシュメモリ５から出力されるデータを示す。ＣＰＵ１からアドレスＩＡが出力されると（時間ｔ１３１）、キャッシュコントローラ２は共通バス（アドレス側）に、信号ＨＡＤＤＲＩ、ＨＴＲＡＮＳＩ、及びＨＢＵＲＳＴＩを出力する（時間ｔ１３２）。信号ＨＡＤＤＲＩ、ＨＴＲＡＮＳＩ、ＨＢＵＲＳＴＩ、及びＨＲＥＡＤＹＩがフラッシュメモリ５へのアクセスであるならば、フラッシュメモリコントローラ４ａのアドレスデコーダ回路６は、クロックＨＣＬＫに同期して、信号ＨＡＤＤＲＩ、ＨＴＲＡＮＳＩ、ＨＢＵＲＳＴＩ、及びＨＲＥＡＤＹＩを用いて起動要求信号Ｓ＿ＲＥＱを生成し、フラッシュメモリ５のアドレス値であるＨＡＤＤＲＩを保持する。アドレス／ＲＥ生成回路７は、起動要求信号Ｓ＿ＲＥＱと保持したアドレス値ＨＡＤＤＲＩを受け、アドレスＦｌａｓｈ（Ａ）とＲＥ信号を生成する（時間ｔ１３３，ｔ１３４）。フラッシュメモリ５は、クロックＭＥＭＣＬＫに同期して、アドレスＦｌａｓｈ（Ａ）に対するデータＦｌａｓｈ（Ｄ）を出力し（時間ｔ１３５）、データ出力回路８は、アドレス／ＲＥ生成回路７で生成される出力要求（図１２のＯ＿ＲＥＱ）を待ち、そのデータＨＲＤＡＴＡＩを共通バスへ出力する（時間ｔ１３６）。共通バスへ出力されたデータＨＲＤＡＴＡＩは、キャッシュコントローラ２を介し、データＩＤとしてＣＰＵ１へ入力される（時間ｔ１３７）。
【０００６】
【特許文献１】特開平８−７６８７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、図１２に示される従来のフラッシュメモリコントローラ４ａでは、ＣＥ制御を行わないので（すなわち、フラッシュメモリ５のＣＥ端子Ｔ（ＣＥ）はＧＮＤに接続されているので）、フラッシュメモリ５のデータを使用しない期間であるキャッシュヒット時においても、フラッシュメモリ５が活性化されており、消費電力の増加を招くという問題があった。
【０００８】
また、図１２に示される従来のフラッシュメモリコントローラに既存のＣＥ制御を適用した場合には、キャッシュミスヒット時におけるサイクルの増加により、システムの性能を著しく低下させるという問題があった。この問題について、以下に説明する。
【０００９】
図１４は、システムの性能の低下を説明するためのものであり、既存のＣＥ制御（図１２のＣＥ信号をＬレベル（有効）又はＨレベル（無効）に制御する。）を適用した従来のシステムのキャッシュミスヒット時の動作波形図である。図１４に示されるように、フラッシュメモリのＣＥ信号がＨレベル（低消費電力モード）であるときに、ＣＰＵ１からアドレスＩＡ（ａ０）が出力されると（時間ｔ１４１）、キャッシュコントローラ２は信号ＨＡＤＤＲＩ（ａ０）等を出力し（時間ｔ１４２）、フラッシュメモリコントローラはＣＥ信号をＬレベル（有効）にし（時間ｔ１４３）、アドレスＦｌａｓｈ（Ａ）をフラッシュメモリに供給し（時間ｔ１４４）、ＲＥ信号をＬレベル（読み取り許可）に設定する（時間ｔ１４５）。しかし、フラッシュメモリ５に入力されるＣＥ信号をＬレベル（時間ｔ１４３）にしてからフラッシュメモリ５が使用可能となるためには、フラッシュメモリ５のＣＥセットアップタイムが経過するのを待たなければならない。したがって、既存のＣＥ制御のように、キャッシュヒットする毎に、フラッシュメモリコントローラがフラッシュメモリ５を低消費電力モード（ＣＥ信号をＨレベル）に設定した場合は、キャッシュミスヒットが発生するたびに、フラッシュメモリ５のセットアップタイムの経過を待つことが必要となり、システムの性能が低下する原因となっていた。
【００１０】
そこで、本発明は、上記したような従来技術の課題を解決するためになされたものであり、システム性能を低下させずに、低消費電力化を実現できるチップイネーブル制御回路、メモリ制御回路、及びデータ処理回路を提供することにある。
【課題を解決するための手段】
【００１１】
本発明のチップイネーブル制御回路は、メモリの状態を制御するチップイネーブル信号を生成し、前記メモリを動作可能状態にするときに前記チップイネーブル信号を有効にし、前記メモリを動作可能状態より消費電力の低い低消費電力状態にするときに前記チップイネーブル信号を無効にするチップイネーブル信号生成手段と、前記メモリが動作可能状態であり続けることを許容する期間に対応する基準値を出力する基準値生成手段とを有し、前記チップイネーブル信号生成手段は、チップイネーブル信号が有効である期間中に前記メモリの起動要求信号を受信しない場合には、チップイネーブル信号が有効である期間を、前記基準値に応じた期間であって、前記メモリのチップイネーブル信号ホールドタイム以上の期間に延ばし、前記延ばされた期間の経過後に前記チップイネーブル信号を無効にすることを特徴とするものである。
【００１２】
また、本発明のメモリ制御回路は、上記したチップイネーブル制御回路と、メモリアクセス信号を受信し、この受信したメモリアクセス信号に基づいて前記起動要求信号を生成するアドレスデコーダ回路と、前記起動要求信号に基づいて前記リードイネーブル信号を生成するリードイネーブル生成回路とを有することを特徴とするものである。
【００１３】
また、本発明のデータ処理システムは、中央演算装置と、キャッシュメモリと、前記キャッシュメモリの動作を制御するキャッシュコントローラと、メモリと、前記キャッシュメモリコントローラからの指令に基づいて、前記メモリの動作を制御する、上記したメモリ制御回路とを有することを特徴とするものである。
【発明の効果】
【００１４】
本発明においては、チップイネーブル制御回路は、チップイネーブル信号が有効である期間中にメモリの起動要求信号を受信しない場合には、チップイネーブル信号が有効である期間を、メモリが動作可能状態であり続けることを許容する期間に対応する基準値に応じた期間であって、メモリのチップイネーブル信号ホールドタイム以上の期間に延ばし、この延ばされた期間の経過後にチップイネーブル信号を無効にする。このような制御により、メモリが必要以上に低消費電力状態にならないようにしているので、システム性能の低下を回避できるという効果が得られる。また、チップイネーブル信号を無効にする制御を行うことにより、低消費電力化を実現できるという効果が得られる。
【発明を実施するための最良の形態】
【００１５】
＜第１の実施形態＞
図１は、本発明の第１の実施形態に係るＣＥ制御回路が適用されるデータ処理システムの構成を示すブロック図である。図１に示されるように、このシステムは、ＣＰＵ１と、キャッシュコントローラ２と、キャッシュメモリ３と、フラッシュメモリコントローラ４と、フラッシュメモリ５とを搭載したものである。ＣＰＵ１は、キャッシュコントローラ２を介してキャッシュメモリ３からのコードデータ又は共通バスからのコードデータを取り込み、取り込んだコードデータに従った演算等を実行する。ＣＰＵ１が共通メモリ（共通バスに接続されているメモリであり、フラッシュメモリ５を含む。）からコードを読み出す場合は、キャッシュコントローラ２は、フラッシュメモリ５のアドレスを示す信号ＨＡＤＤＲＩ、アドレスの有効／無効を示す信号ＨＴＲＡＮＳＩ、及び転送回数を示す信号ＨＢＵＲＳＴＩを生成して、共通バス（アドレス側）に出力する。
【００１６】
図２は、図１に示されるフラッシュメモリコントローラ４の構成を示すブロック図である。図２に示されるように、フラッシュメモリコントローラ４は、アドレスデコーダ回路６と、アドレス／リードイネーブル（ＲＥ）生成回路７と、データ出力回路８と、ＣＥ制御回路９とを有している。アドレスデコーダ回路６は、共通バス（アドレス側）の信号ＨＡＤＤＲＩ、ＨＴＲＡＮＳＩ、及びＨＢＵＲＳＴＩと前サイクルの転送終了を示す信号ＨＲＥＡＤＹＩを受け取り、起動要求信号Ｓ＿ＲＥＱをアドレス／ＲＥ生成回路７とＣＥ制御回路９に出力し、アドレスＡＤＤＲをアドレス／ＲＥ生成回路７に出力する。アドレス／ＲＥ生成回路７は、アドレスデコーダ回路６から起動要求信号Ｓ＿ＲＥＱとアドレスＡＤＤＲを受け取り、ＣＥ制御回路９からウエイト信号ＷＡＩＴを受け取り、リードイネーブル信号（ＲＥ信号）とアドレス信号Ｆｌａｓｈ（Ａ）をフラッシュメモリ５に出力し、出力要求信号Ｏ＿ＲＥＱをデータ出力回路８に出力する。アドレス／ＲＥ生成回路７から出力される出力要求信号Ｏ＿ＲＥＱとフラッシュメモリ５から出力されたデータＦｌａｓｈ（Ｄ）は、データ出力回路８に入力される。データ出力回路８は、信号ＨＲＤＡＴＡＩを共通バス（データ側）に出力し、信号ＨＲＥＡＤＹＯを共通バス（アドレス側）に出力する。
【００１７】
図３は、図２に示されるＣＥ制御回路９の構成を示すブロック図である。図３に示されるように、ＣＥ制御回路９は、カウント値ＣＯＵＮＴを出力するカウンタ１０と、期待値ＥＶを出力する期待値レジスタ１１と、期待値ＥＶを生成する期待値決定回路１２と、ＲＥ信号を有効にさせるための信号であるウエイト信号ＷＡＩＴをアドレス／ＲＥ生成回路７に出力するウエイト生成回路１３と、カウント値ＣＯＵＮＴと期待値ＥＶとに基づいたレベル（有効又は無効）のＣＥ信号を出力する一致判定回路１４とを有している。
【００１８】
図４は、図３に示される期待値決定回路１２の構成を示すブロック図である。図４に示されるように、期待値決定回路１２は、ＲＥ信号の立ち上がりを検出してＲＥ立ち上がり検出信号（パルス信号）ＲＥ＿ＤＥＴを出力するＲＥ立ち上がり検出回路１５と、ＲＥ立ち上がり検出信号ＲＥ＿ＤＥＴの入力によりタイマー値ＴＩＭＥＲをリセットし、起動要求信号Ｓ＿ＲＥＱの入力により動作を停止するタイマー１６と、タイマー値ＴＩＭＥＲと期待値ＥＶとの関係を保持するテーブル保持部１７とを有している。
【００１９】
図５は、図４に示されるテーブル保持部１７が保持するテーブルの一例を示す図である。テーブル保持部１７は、タイマー値ＴＩＭＥＲに対応する期待値ＥＶのデータを持ち、タイマー値ＴＩＭＥＲに応じた値を期待値レジスタ１１へ出力する。例えば、図６に示すように、タイマー値ＴＩＭＥＲが比較的小さい場合（すなわち、タイマー値ＴＩＭＥＲが小さいということは、フラッシュメモリ５の起動要求信号Ｓ＿ＲＥＱを頻繁に受信するということであり、キャッシュミスが連続する場合である。）、テーブル保持部１７は、最小サイクル（ここでは“１７”）を出力する。図５において、Ｅ１，Ｅ２，Ｅ３は、フラッシュメモリ５が動作可能状態であり続けることが許容される期間に対応する基準値である。Ｅ１，Ｅ２，Ｅ３は、Ｅ１＜Ｅ２＜Ｅ３を満たし、例えば、Ｅ１は“１７”、Ｅ２は“２６”、Ｅ３は“３０”とで設定されている。
【００２０】
次に、第１の実施形態に係るＣＥ制御回路９、フラッシュメモリコントローラ４、及びデータ処理システムの動作を説明する。図６は、第１の実施形態の動作波形図（その１）である。図６は、前サイクルの終了から次サイクルの開始までの期間が短い場合を例示している。
【００２１】
ＣＰＵ１からの指令に基づき、キャッシュコントローラ２から、共通バス（アドレス側）に、信号ＨＡＤＤＲＩ、ＨＴＲＡＮＳＩ（図６には示さず）、ＨＢＵＲＳＴＩ（図６には示さず）、及びＨＲＥＡＤＹＩ（図６には示さず）が出力されると（時間ｔ６０１）、フラッシュメモリコントローラ４において、アドレスデコーダ回路６は、起動要求信号Ｓ＿ＲＥＱをアドレス／ＲＥ生成回路７とＣＥ制御回路９に出力し（時間ｔ６０１）、アドレスＡＤＤＲをアドレス／ＲＥ生成回路７に出力する。
【００２２】
フラッシュメモリコントローラ４において、ＣＥ制御回路９は、アドレスデコーダ回路６からの起動要求信号Ｓ＿ＲＥＱ（Ｈレベル）を受け（時間ｔ６０１）、ＣＥ制御回路９内のカウンタ１０に初期値を設定する。この初期値は、フラッシュメモリ５の状態によって異なるステータス値であり、フラッシュメモリ５が低消費電力モードのとき（すなわち、ＣＥ信号がＨレベル（無効）のとき）には、例えば、“０”に設定し、フラッシュメモリ５が動作モード（すなわち、ＣＥ信号がＬレベル（有効）のとき）のときには、例えば、“２”を設定する。図６の例においては、カウンタ１０の初期値として“２”が設定される（時間ｔ６０２、ｔ６０７）。
【００２３】
また、図６の例においては、ＣＥ制御回路９内の期待値レジスタ１１へ、期待値決定回路１２内のタイマー１６から出力されるタイマー値ＴＩＭＥＲに対応する値が設定される（時間ｔ６０２）。このタイマー値ＴＩＭＥＲに対応する値は、フラッシュメモリ５が動作状態であり続けることを許す時間に対応する値として、テーブル保持部１７（図５）において選択された値（期待値ＥＶ）である。時間ｔ６０１において起動要求信号Ｓ＿ＲＥＱ（Ｈレベル）を受けたときのタイマー値ＴＩＭＥＲは、“６”であるから、図５のテーブルから期待値ＥＶとしてＥ１（図６においては“１７”）が設定される。
【００２４】
期待値レジスタ１１に期待値ＥＶが設定されると（時間ｔ６０２）、期待値ＥＶ（図６においては“１７”）とカウント値ＣＯＵＮＴ（図６においては“２”）は、不一致であるため、一致判定回路１４は、ＣＥ信号としてＬレベル（有効）を出力する（時間ｔ６０２）。なお、図６の例においては、時間ｔ６０２以前においても、ＣＥ信号はＬレベルであるので、時間ｔ６０２においてＣＥ信号は変化せずＬレベルを維持する。
【００２５】
クロックＨＣＬＫの立ち上がり毎に、カウンタ１０のカウント値ＣＯＵＮＴは１ずつ加算される。例えば、カウンタ１０のカウント値ＣＯＵＮＴが“３”以上（“３”は所定の設定値である。）になると（時間ｔ６０３）、ウエイト信号ＷＡＩＴ（図２及び図３に示す。）を解除し、アドレス／ＲＥ生成回路７が起動し、ＲＥ信号がＬレベル（読み取り許可）になる（時間ｔ６０４）。
【００２６】
ＣＥ制御回路９において、カウンタ１０のカウント値ＣＯＵＮＴと期待値レジスタ１１から出力される期待値ＥＶが一致したとき、一致判定回路１４は、ＣＥ信号としてＨレベル（無効）を出力し、カウンタ１０は動作を止める。この状態は、例えば、後述する図７の時間ｔ７０１以降に示されており、カウント値ＣＯＵＮＴが“１８”で期待値ＥＶと一致し、カウンタの動作が止まる場合が示されている。
【００２７】
ＣＥ制御回路９において、カウンタ１０が動作中に、アドレスデコーダ回路６からの起動要求Ｓ＿ＲＥＱを受けた場合、カウンタ１０のカウント値ＣＯＵＮＴと期待値レジスタ１１から出力される期待値ＥＶの設定が行われる（時間ｔ６０２、ｔ６０７）。図６の例においては、ＣＥ信号がＬレベルであるので、カウント値ＣＯＵＮＴの初期値は“２”であり、期待値ＥＶは“１７”に設定される。なお、図６には示されていないが、ＣＥ信号がＨレベルであるときに起動要求Ｓ＿ＲＥＱを受けた場合、カウント値ＣＯＵＮＴの初期値は“０”である（後述する図７の時間ｔ７０２に示されている）。
【００２８】
起動したアドレス／ＲＥ生成回路７は、保持した信号ＨＡＤＤＲＩに対応するメモリアドレス（Ｆｌａｓｈ（Ａ））を出力し、ＲＥ信号をＬレベルへ変化させる（時間ｔ６０４）。その４クロック後（１回分の転送終了後）に、ＲＥ信号をＨレベル（読み取り不許可）に変化させる（時間ｔ６０５）。
【００２９】
フラッシュメモリ５は、内部がパイプライン化されており、その初期化、リードＢＩＡＳ初期化のため、リードサイクルに対し、クロックＭＥＭＣＬＫの２クロック分のセットアップと、データホールドのためにクロックＭＥＭＣＬＫの１クロック分のホールド時間を必要とする。フラッシュメモリ５では、ＣＥ制御回路９からのＣＥ信号を受け、クロックＭＥＭＣＬＫの立ち上がり毎に、その初期化、リードＢＩＡＳ初期化を行う。その後、アドレス／ＲＥ生成回路７からのメモリアドレス、ＲＥ信号をクロックＭＥＭＣＬＫの立ち上がりで受け、メモリアドレスを受けたクロックＭＥＭＣＬＫの１クロック後に、そのアドレスに対応するデータＦｌａｓｈ（Ｄ）を出力する。
【００３０】
データ出力回路８は、フラッシュメモリ５の出力データＦｌａｓｈ（Ｄ）を保持し、バスのタイミング規定に応じて保持されたデータＨＲＤＡＴＡＩ，ＨＲＥＡＤＹＯを出力する。
【００３１】
ＣＥ制御回路９内の期待値決定回路１２は、ＲＥ信号が立ち上がると、ＲＥ立ち上がり検出回路１５で、１ショットのパルス（ＲＥ立ち上がり検出信号）ＲＥ＿ＤＥＴを生成し、期待値決定回路１２内のタイマー１６は、リセットされる。その後、起動要求信号Ｓ＿ＲＥＱが立ち上がるまで、クロックＨＣＬＫの立ち上がり毎に、タイマー１６は、タイマー値ＴＩＭＥＲをカウントアップし、起動要求信号Ｓ＿ＲＥＱが立ち上がったときに、カウントアップ動作を停止する。期待値決定回路１２は、タイマー１６がカウントアップ動作を停止したときのタイマー値ＴＩＭＥＲに基づく期待値ＥＶを出力する。一致判定回路１４は、期待値ＥＶ（すなわち、ＲＥ信号が立ち上がる時点から起動要求信号Ｓ＿ＲＥＱを受信した時点までの期間に応じた値）に基づいて、ＣＥ信号が有効（Ｌレベル）である期間を制御する。図６の例においては、ＣＥ信号が有効である期間中に起動要求信号Ｓ＿ＲＥＱを受信しており（図６の時間ｔ６０１、ｔ６０６）、起動要求信号Ｓ＿ＲＥＱの受信時にはカウント値ＣＯＵＮＴを初期値にして、ＣＥ信号を有効のまま維持している。
【００３２】
図７は、第１の実施形態の動作波形図（その２）である。図７は、前サイクルの終了から次サイクルの開始までの期間が長い場合を例示している。図７に示すように、タイマー値が大きい場合（キャッシュヒットが連続した後のアクセス、又は、実行サイクルが長いコードの場合）、テーブル保持部１７は、最大サイクル（ここでは、“３０”）を出力する。図７の例では、時間ｔ７０１において、ＣＥ信号がＨレベル（無効）になっており、フラッシュメモリ５が低消費電力モードになっているので、ＣＥセットアップタイム分のサイクル増加が生じる。増加したサイクル分を補うため、期待値決定回路１２内のテーブル保持部１７からは、最大値（ここでは、“３０”）を選択し、期待値ＥＶとして出力する（時間ｔ７０１）。一致判定回路１４は、期待値ＥＶ（すなわち、ＲＥ信号が立ち上がる時点から起動要求信号Ｓ＿ＲＥＱを受信した時点までの期間に応じた値）に基づいて、ＣＥ信号が有効（Ｌレベル）である期間を制御する。図７の例においては、ＣＥ信号がＬレベル（有効）である期間中に起動要求信号Ｓ＿ＲＥＱを受信せず、チップイネーブル信号が有効である期間を、期待値ＥＶに応じた期間であって、フラッシュメモリ５に固有のＣＥ信号ホールドタイム（ＣＰＵＣＬＫで４クロック）以上の期間（図７の時間ｔ７０１までの期間）に延ばし、この延ばされた期間の経過後にＣＥ信号をＨレベル（無効）にする（図７の時間ｔ７０１）。
【００３３】
以上に説明したように、第１の実施形態においては、ＣＥ制御回路９は、前サイクルのメモリアクセス終了から現サイクルの起動までの時間（図６において時間ｔＡ６〜ｔＢ６であるが、タイマーは時間ｔ６０８からの時間を計測している。）を測定し、この時間が短いきには、キャッシュミス連続中であると判定して、期待値ＥＶを小さくしている（例えば、図６のｔ６０２において期待値ＥＶを“１７”に設定）。一方、ＣＥ制御回路９は、前サイクルのメモリアクセス終了から現サイクルの起動までの時間（図７において時間ｔＡ７〜ｔＢ７であるが、タイマーは時間ｔ７０３からの時間を計測している。）が長いときには、キャッシュミス開始時（すなわち、キャッシュヒットが連続していて、その後キャッシュミスが生じたとき）であると判定して、期待値ＥＶを大きくしている（例えば、図７のｔ７０２において期待値ＥＶを“３０”に設定）。このように、キャッシュミス開始時に期待値ＥＶを大きくし、ＣＥ信号が無効（Ｈレベル）になる時点を遅らせているので、従来のＣＥ制御のようにＣＥ信号が無効なる（図１４の時間ｔ１４６）頻度を減らすことができ、ＣＥセットアップのために要する時間を節約できるので、ＣＰＵ１のパフォーマンスの低下を回避できる。具体的に言えば、図１４（従来）の場合には、前サイクルのメモリアクセス終了（時間ｔＡ１４）から、現サイクルの起動（時間ｔＢ１４）までの時間は、ＣＰＵクロックで１６サイクルであったが、図６（第１の実施形態）の場合には、前サイクルのメモリアクセス終了（時間ｔＡ６）から、現サイクルの起動（時間ｔＢ６）までの時間は、ＣＰＵクロックで１２サイクルとなり、ＣＰＵパフォーマンスの低減を回避できている。また、第１の実施形態においては、ＣＥ信号の制御は実行されるので、ＣＥ制御を行わない従来の場合（図１３）に比べて、消費電力を下げる効果が得られる。
【００３４】
＜第２の実施形態＞
図８は、第２の実施形態に係るＣＥ制御回路９ａの構成を示すブロック図である。図８において、図３の構成と対応する構成には同じ符号を付す。図８のＣＥ制御回路９ａは、図３の期待値レジスタ１１及び期待値決定回路１２に代えて、固定値設定回路１８を備えた点が、図３のＣＥ制御回路９と相違する。
【００３５】
固定値設定回路１８が出力する固定値ＦＶは、データ処理システム（図１）が実行するプログラムのサイクル分布に基づいて決定する。図９は、サイクル分布をシミュレーション計算によって得たものを示すグラフである。図９において、横軸は、１回のデータ転送にどれだけのクロックを要したかを示すサイクル数、縦軸はそれぞれのサイクル数を要した転送の発生回数を示す。なお、図９の曲線は、一例に過ぎず、縦方向の破線の直線は、固定値ＦＶに相当する。図９の直線ＦＶの右側の領域においては、ＣＥ信号が無効になる制御が行われるので、システム性能は低下するが消費電力の低減効果が増大する。また、図９の直線ＦＶの左側の領域においては、ＣＥ信号が無効にならない制御が行われるのでシステム性能は高いが消費電力の低減は実現できない。したがって、固定値ＦＶの値は、要求されるシステム性能と、要求される消費電力の低減との両方を考慮して決定すればよい。
【００３６】
図１０は、第２の実施形態の動作波形図である。ＣＥ制御回路９ａでは、アドレスデコーダ回路６からの起動要求信号Ｓ＿ＲＥＱを受け、カウント値ＣＯＵＮＴが設定される（時間ｔ１００１）。固定値ＦＶとカウント値ＣＯＵＮＴは、不一致のため、一致判定回路１４により、ＣＥ信号は、Ｌレベル（有効）を出力する（図１０においては、Ｌレベルを維持し続ける）。
【００３７】
クロックＨＣＬＫの立ち上がり毎に、カウント値ＣＯＵＮＴが１ずつ加算されていき、カウント値ＣＯＵＮＴが３以上になるとウエイト信号ＷＡＩＴを解除し（時間ｔ１００２）、アドレス／ＲＥ生成回路７が起動し、ＲＥ信号をＬレベル（読み取り許可）にする（時間ｔ１００２）。カウント値ＣＯＵＮＴと固定値ＦＶが一致したとき、一致判定回路１４により、ＣＥ信号はＨレベル（無効）となり、カウンタ１０は動作を止める（図１０には示さず）。
【００３８】
以上のように、第２の実施形態によれば、ＣＥ信号がＬレベルである期間の幅を使用されるプログラムのサイクル分布に基づいて求め、サイクル数が所定レベル（固定値ＦＶ）以上の場合のみ、ＣＥ信号をＨレベルにすることで、ＣＰＵパフォーマンスを下げず、消費電力を抑えることが、より小規模の回路で実現でき、同時に、回路の低消費電力化、コスト削減にも効果がある。
【００３９】
なお、第２の実施形態において、上記以外の点は、上記第１の実施形態の場合と同じである。
【００４０】
＜変形例＞
なお、第１の実施形態においては、テーブル保持部１７は、１度のタイマー値ＴＩＭＥＲの計測に基づいて期待値ＥＶを決定しているが、２度以上のタイマー値ＴＩＭＥＲを計測し、複数の計測結果を加算・減算するなどして、複数の計測結果に基づいて期待値ＥＶを学習させ、この期待値に基づいてＣＥ制御を行うことも可能である。
【００４１】
なお、第２の実施形態では、一致判定回路１４に入力される判定の基準値として期待値ＥＶではなく固定値ＦＶが用いられる場合を説明したが、レジスタを用いることによって、一致判定回路１４に入力される判定の基準値を手動調整可能、又は、ソフト設定（すなわち、自動調整）可能にすることもできる。
【図面の簡単な説明】
【００４２】
【図１】本発明のデータ処理システムの構成を概略的に示すブロック図である。
【図２】本発明の第１の実施形態におけるメモリ制御回路であるフラッシュメモリコントローラの構成を概略的に示すブロック図である。
【図３】第１の実施形態におけるＣＥ制御回路の構成を概略的に示すブロック図である。
【図４】第１の実施形態における期待値決定回路の構成を概略的に示すブロック図である。
【図５】タイマーから出力されるタイマー値と期待値とのテーブルを示す図である。
【図６】第１の実施形態の動作波形図である。
【図７】第１の実施形態の動作波形図である。
【図８】第２の実施形態におけるＣＥ制御回路の構成を概略的に示すブロック図である。
【図９】実施するプログラムのサイクル分布の例を示すグラフである。
【図１０】第２の実施形態の動作波形図である。
【図１１】従来のシステムの構成を概略的に示すブロック図である。
【図１２】従来のフラッシュメモリコントローラの構成を概略的に示すブロック図である。
【図１３】キャッシュミス時（ＣＥ制御なし）の動作波形図である。
【図１４】キャッシュミス時（ＣＥ制御あり）の動作波形図である。
【符号の説明】
【００４３】
１  ＣＰＵ、
２  キャッシュコントローラ、
３  キャッシュメモリ、
４  フラッシュメモリコントローラ（メモリ制御回路）、
５  フラッシュメモリ、
６  アドレスデコーダ回路、
７  アドレス／ＲＥ生成回路、
８  データ出力回路、
９，９ａ  チップイネーブル（ＣＥ）制御回路、
１０  カウンタ、
１１  期待値レジスタ、
１２  期待値決定回路、
１３  ウエイト生成回路、
１４  一致判定回路、
１５  リードイネーブル（ＲＥ）立ち上がり検出回路、
１６  タイマー、
１７  テーブル保持部、
１８  固定値。
【図１】
2006293889.tif 000003
【図２】
2006293889.tif 000004
【図３】
2006293889.tif 000005
【図４】
2006293889.tif 000006
【図５】
2006293889.tif 000007
【図６】
2006293889.tif 000008
【図７】
2006293889.tif 000009
【図８】
2006293889.tif 000010
【図９】
2006293889.tif 000011
【図１０】
2006293889.tif 000012
【図１１】
2006293889.tif 000013
【図１２】
2006293889.tif 000014
【図１３】
2006293889.tif 000015
【図１４】
2006293889.tif 000016