(57)【特許請求の範囲】
【請求項１】
レベル1キャッシュと、
レベル2メモリの第1の部分が入力ポートに結合され、前記レベル1キャッシュと並列にアドレス指定可能である、レベル2メモリと、
制御手段であって、
複数のメモリアクセス要求のうちの特定のメモリアクセス要求を受信したことに応答して、前記入力ポートに関連するステータスビットの値を判断することと、
前記ステータスビットの前記値に少なくとも部分的に基づいて、前記入力ポートを介して前記レベル2メモリの前記第1の部分に前記特定のメモリアクセス要求をルーティングすることと
を行うように動作可能な制御手段と
を含み、
前記レベル1キャッシュの第1のデータリードレイテンシがプロセッササイクルの第1の数であり、前記レベル2メモリの前記第1の部分の第2のデータリードレイテンシがプロセッササイクルの第2の数であり、前記第2の数が前記第1の数以下であるとともに、前記レベル2メモリの前記第1の部分の前記第2のデータリードレイテンシが、前記レベル2メモリの少なくとも1つの他の部分の第3のデータリードレイテンシよりも小さい、装置。
【請求項２】
前記特定のメモリアクセス要求が前記レベル1キャッシュと前記レベル2メモリの前記第1の部分とに与えられる、請求項1に記載の装置。
【請求項３】
前記レベル2メモリがレベル2キャッシュである、請求項1に記載の装置。
【請求項４】
前記レベル2メモリが密結合メモリまたはキャッシュである、請求項1に記載の装置。
【請求項５】
前記レベル2メモリの前記第1の部分が前記レベル1キャッシュの近傍に物理的に配置される、請求項1に記載の装置。
【請求項６】
前記レベル2メモリの前記第1の部分が前記レベル2メモリの単一のサブアレイを含む、請求項5に記載の装置。
【請求項７】
前記単一のサブアレイが、少なくとも前記レベル2メモリの第2の部分よりも短いアドレスライン長を含み、前記レベル2メモリよりも小さい面積を含む、請求項6に記載の装置。
【請求項８】
前記入力ポートが、前記複数のメモリアクセス要求を受信するマルチプレクサを含む、請求項1に記載の装置。
【請求項９】
前記入力ポートが前記レベル1キャッシュに結合された、請求項1に記載の装置。
【請求項１０】
前記レベル2メモリの前記第1の部分に結合され、前記レベル1キャッシュに結合された出力マルチプレクサをさらに含む、請求項1に記載の装置。
【請求項１１】
少なくとも1つの半導体ダイに組み込まれた、請求項1に記載の装置。
【請求項１２】
セットトップボックスと、音楽プレーヤと、ビデオプレーヤと、エンターテインメントユニットと、ナビゲーションデバイスと、通信デバイスと、携帯情報端末(PDA)と、固定ロケーションデータユニットと、コンピュータとからなるグループから選択されたデバイスであって、前記半導体ダイが組み込まれたデバイスをさらに含む、請求項11に記載の装置。
【請求項１３】
複数のメモリアクセス要求のうちの特定のメモリアクセス要求を受信するステップと、
前記特定のメモリアクセス要求を受信したことに応答して、メモリのサブ部分に関連するステータスビットに基づいて、前記サブ部分が有効であるかどうかを判断するステップと、
前記メモリの前記サブ部分が有効であるという判断に応答して、前記メモリの前記サブ部分に前記特定のメモリアクセス要求をルーティングするステップと、
前記特定のメモリアクセス要求をメモリシステムに配信するステップであって、前記メモリシステムが、レベル1メモリと前記メモリの前記サブ部分とを含む、配信するステップと、
前記レベル1メモリと前記メモリの前記サブ部分とのうちの1つから、前記特定のメモリアクセス要求に関連するデータを選択的に与えるステップと
を含み、
前記メモリの前記サブ部分がレベル2メモリの第1の部分であり、前記レベル1メモリの第1のデータリードレイテンシがプロセッササイクルの第1の数であり、前記レベル2メモリの前記第1の部分の第2のデータリードレイテンシがプロセッササイクルの第2の数であり、前記第2の数が前記第1の数以下であるとともに、前記レベル2メモリの前記第1の部分の前記第2のデータリードレイテンシが、前記レベル2メモリの少なくとも1つの他の部分の第3のデータリードレイテンシよりも小さい、方法。
【請求項１４】
前記データが、前記特定のメモリアクセス要求に対応する値に基づいて、前記レベル1メモリと前記メモリの前記サブ部分とのうちの1つから選択的に与えられる、請求項13に記載の方法。
【請求項１５】
前記データが前記レベル1メモリにおいて記憶されるのか、前記メモリの前記サブ部分において記憶されるのかを示す値に基づいて、前記データが前記レベル1メモリと前記メモリの前記サブ部分とのうちの1つから選択的に与えられる、請求項13に記載の方法。
【請求項１６】
前記メモリアクセス要求に応答するメモリアクセスは、前記特定のメモリアクセスが前記レベル1メモリにおいて行われるのか、前記メモリの前記サブ部分において行われるのかとは無関係である時間期間中に行われる、請求項13に記載の方法。
【請求項１７】
前記レベル1メモリが、キャッシュと密結合メモリとのうちの1つである、請求項13に記載の方法。
【請求項１８】
前記サブ部分が前記メモリのサブアレイである、請求項13に記載の方法。
【請求項１９】
前記レベル1メモリに関連するキャッシュヒットに基づいて前記ステータスビットを設定するステップであって、前記レベル1メモリに関連する前記キャッシュヒットに応答して、前記ステータスビットが前記メモリの前記サブ部分を無効化するように設定される、設定するステップをさらに含む、請求項13に記載の方法。
【請求項２０】
前記特定のメモリアクセス要求が、前記レベル1メモリと前記メモリの前記サブ部分の両方に同時に配信される、請求項13に記載の方法。
【請求項２１】
前記特定のメモリアクセス要求に関連するアドレスに基づいて前記レベル1メモリまたは前記メモリの前記サブ部分のいずれかから前記データを選択的に検索するステップをさらに含む、請求項13に記載の方法。
【請求項２２】
前記特定のメモリアクセス要求を配信するステップと、前記レベル1メモリまたは前記メモリの前記サブ部分のいずれかから前記データを与えるステップとが、電子デバイスに組み込まれたプロセッサにおいて実行される、請求項13に記載の方法。
【請求項２３】
マルチレベルアクセスメモリシステムにおいて第1レベルアクセスのためのデータを記憶するための手段と、
前記マルチレベルアクセスメモリシステムにおいて第2レベルアクセスのためのデータを記憶するための手段であって、前記第2レベルアクセスのためのデータを記憶するための前記手段の一部分が、入力ポートに結合され、前記第1レベルアクセスのためのデータを記憶するための前記手段と並列にアドレス指定可能である、第2レベルアクセスのためのデータを記憶するための手段と、
複数のメモリアクセス要求のうちの特定のメモリアクセス要求を受信したことに応答して、前記第2レベルアクセスのためのデータを記憶するための前記手段の前記一部分に関連するステータスビットに基づいて、メモリのサブ部分が有効であるかどうかを判断するための手段と、
前記第2レベルアクセスのためのデータを記憶するための前記手段の前記一部分が有効であるという判断に応答して、前記第2レベルアクセスのためのデータを記憶するための前記手段の前記一部分に前記特定のメモリアクセス要求をルーティングするための手段と
を含み、
前記第1レベルアクセスのためのデータを記憶するための前記手段の第1のデータリードレイテンシがプロセッササイクルの第1の数であり、前記第2レベルアクセスのためのデータを記憶するための前記手段の前記一部分の第2のデータリードレイテンシがプロセッササイクルの第2の数であり、前記第2の数が前記第1の数以下であるとともに、前記第2レベルアクセスのためのデータを記憶するための前記手段の前記一部分の前記第2のデータリードレイテンシが、前記第2レベルアクセスのためのデータを記憶するための前記手段の少なくとも1つの他の部分の第3のデータリードレイテンシよりも小さい、装置。
【請求項２４】
少なくとも1つの半導体ダイに組み込まれた、請求項23に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、レベル2メモリの一部分とレベル1メモリとにアクセスすることに関する。
【背景技術】
【０００２】
技術の進歩により、コンピューティングデバイスは、より小型でより強力になった。たとえば、現在、小型で軽量な、ユーザが容易に持ち運べるポータブルワイヤレス電話、携帯情報端末(PDA)、およびページングデバイスなどのワイヤレスコンピューティングデバイスを含む様々なポータブルパーソナルコンピューティングデバイスが存在する。より具体的には、セルラー電話やインターネットプロトコル(IP)電話などのポータブルワイヤレス電話は、ボイスおよびデータパケットをワイヤレスネットワークを介して通信することができる。さらに、多くのそのようなワイヤレス電話は、その中に組み込まれた他のタイプのデバイスを含む。たとえば、ワイヤレス電話は、デジタルスチルカメラ、デジタルビデオカメラ、デジタルレコーダ、およびオーディオファイルプレーヤをも含むことができる。また、そのようなワイヤレス電話は、ウェブブラウザアプリケーションなど、インターネットにアクセスするために使用され得るソフトウェアアプリケーションを含む実行可能な命令を処理することができる。したがって、これらのワイヤレス電話はかなりの計算能力を含むことができる。
【０００３】
現代のコンピューティングデバイスは、コンピューティングデバイスのメインメモリに記憶されたデータを複製するためにキャッシュメモリを使用することができる。キャッシュメモリは、コンピューティングデバイスのメインメモリにアクセスするのに必要とされるよりも短い時間期間中にアクセスされ得る。キャッシュメモリは、コンピューティングデバイスのメインメモリにアクセスするのに必要とされるよりも短い時間期間中にアクセスされ得るので、コンピューティングデバイスのパフォーマンスは、メインメモリからのより遅いメモリアクセスではなく、キャッシュメモリからのより速いメモリアクセスを実行することによって改善され得る。キャッシュメモリは、第1レベルキャッシュおよび第2レベルキャッシュなど、複数のレベルに分割され得る。メモリアクセス要求が受信されたとき、初めに、第1レベルキャッシュが、メモリアクセス要求中で指定されたデータについて探索される。メモリアクセス要求中で指定されたデータが第1レベルキャッシュ中で発見されない場合、その後、第2レベルキャッシュが、メモリアクセス要求中で指定されたデータについて探索され得る。現代のコンピューティングデバイスではスペースが制限されることがあるので、第1レベルキャッシュのサイズは制限されることがある。同様に、第2レベルキャッシュのサイズも制限されることがあるが、第2レベルキャッシュは、しばしば第1レベルキャッシュよりも大きい。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
レベル1メモリの有効サイズは、レベル2メモリの選択部分(selected portion)を、それがレベル1メモリの一部であるかのように扱うことによって増加し得る。レベル1メモリを対象とするメモリアクセス要求は、レベル2メモリの選択部分をも対象とし得る。したがって、レベル1メモリが、メモリアクセス要求中で指定されたデータについて探索されるのと同時に、レベル2メモリの選択部分は、メモリアクセス要求中で指定されたデータについて探索され得る。レベル2メモリはレベル1メモリよりも大きいことがある。レベル2メモリの選択部分にアクセスすることが、レベル1メモリからのデータにアクセスするために必要な時間量以下である時間量内に行われるように、レベル2メモリの選択部分が選択される。その結果、レベル1メモリの有効サイズは、レベル1メモリにアクセスするために必要な時間量の増加なしに増加し得る。
【課題を解決するための手段】
【０００５】
特定の一実施形態では、レベル2メモリの選択部分は、レベル1メモリの近傍に物理的に配置され、レベル1メモリの拡張として使用するように構成される。また、レベル1メモリを対象とするメモリアクセス要求が、レベル2メモリの選択部分に送られ得るので、レベル1メモリの近傍に物理的に配置されたレベル2メモリの一部分を選択することは、メモリアクセス要求がレベル2メモリの選択部分において受信されるように移動しなければならない配線の量を低減し、それによって、メモリアクセス要求をレベル2メモリに送信するために必要な時間量を低減し得る。さらに、レベル2メモリの選択部分からデータが検索されたとき、レベル1メモリとレベル2メモリの選択部分との間が極近傍である結果として、データがレベル1メモリの出力において受信されるように移動しなければならない配線の量も低減され得る。
【０００６】
特定の一実施形態では、レベル1キャッシュとレベル2メモリとを含む装置が開示される。レベル2メモリの第1の部分が入力ポートに結合され、レベル1キャッシュと並列にアドレス指定可能である。
【０００７】
別の特定の実施形態では、メモリアクセス要求を受信するステップと、メモリアクセス要求をメモリシステムに配信するステップとを含む方法が開示される。メモリシステムは、レベル1メモリとメモリのサブ部分とを含む。本方法は、レベル1メモリまたはメモリのサブ部分のいずれかからデータを選択的に与えるステップを含む。
【０００８】
別の特定の実施形態では、マルチレベルアクセスメモリシステムにおいて第1レベルアクセスのためのデータを記憶するための手段を含む装置が開示される。本装置は、マルチレベルメモリシステムにおいて第2レベルアクセスのためのデータを記憶するための手段をさらに含む。第2レベルアクセスのためのデータを記憶するための手段の一部分が、入力ポートに結合され、第1レベルアクセスのためのデータを記憶するための手段と並列にアドレス指定可能である。
【０００９】
開示する実施形態のうちの少なくとも1つによって提供される1つの特定の利点は、レベル1メモリとしてアクセス可能であるメモリの量が、レベル1メモリ要求に応答してレベル2メモリの一部分にアクセスしないデバイスに比較して増加するということである。レベル2メモリの一部分が、それがレベル1メモリであるかのようにアクセスされるので、レベル1メモリへの追加の物理スペースを専用化することなしに、レベル1メモリとして効果的に機能することができるメモリの量は増加する。
【００１０】
本開示の他の態様、利点、および特徴は、以下のセクション、すなわち、図面の簡単な説明、発明を実施するための形態、および特許請求の範囲を含む、本出願全体の検討後に明らかになろう。
【図面の簡単な説明】
【００１１】
【図１】レベル2メモリの一部分とレベル1メモリとにアクセスするように構成された装置の特定の例示的な実施形態のブロック図である。
【図２】レベル2メモリの一部分とレベル1メモリとにアクセスするように構成された装置の第2の例示的な実施形態のブロック図である。
【図３】レベル1メモリとメモリのサブ部分とにアクセスする方法の特定の例示的な実施形態のフローチャートである。
【図４】レベル1メモリとメモリのサブ部分とにアクセスする方法の第2の例示的な実施形態のフローチャートである。
【図５】レベル2メモリの一部分とレベル1メモリとにアクセスするように構成されたポータブルデバイスのブロック図である。
【発明を実施するための形態】
【００１２】
図1を参照すると、レベル2メモリの一部分とレベル1メモリとにアクセスするように構成された装置の特定の例示的な実施形態が開示され、全体的に100と称される。装置100は、レベル1キャッシュなどのレベル1メモリ104を含み、レベル2メモリ112をも含む。レベル2メモリ112は、第1の部分108と第2の部分110とを含む。レベル1メモリ104とレベル2メモリ112の第1の部分108とがメモリシステム114として動作し得るように、レベル2メモリ112の第1の部分108とレベル1メモリ104とは並列にアドレス指定可能である。レベル1メモリ104とレベル2メモリ112の第1の部分108とが並列にアドレス指定可能であるので、レベル1メモリ104を対象とするメモリアクセス要求102は、レベル2メモリ112の第1の部分108にも配信され得る。メモリアクセス要求102をレベル2メモリ112の第1の部分108に配信することは、たとえば、メモリアクセス要求102をレベル1メモリ104に搬送する信号線を、レベル2メモリ112の第1の部分108への入力ポートに結合することによって行われ得る。
【００１３】
レベル2メモリ112の第1の部分108とレベル2メモリ112の第2の部分110のそれぞれのサイズは、レベル1メモリ104に関連するアクセス時間に基づいて確立され得る。たとえば、レベル2メモリ112の第1の部分108が、レベル1メモリ104がアクセスされ得る同じ時間量内にアクセスされ得るように、レベル2メモリ112の第1の部分108のサイズ、およびレベル1メモリ104への第1の部分108の近接度が確立され得る。特定の一実施形態では、レベル1メモリ104の第1のデータリードレイテンシ(data read latency)は、レベル2メモリ112の第1の部分108の第2のデータリードレイテンシと同じプロセッササイクル数、またはより大きいプロセッササイクル数である。
【００１４】
動作中、メモリアクセス要求102は、レベル1メモリ104とレベル2メモリ112の第1の部分108とに同時に与えられ得る。メモリアクセス要求102は、たとえば、指定されたアドレスにおいて記憶されたデータにアクセスしたいという要求、または指定されたアドレスにおいて記憶された命令にアクセスしたいという要求であり得る。レベル1メモリ104とレベル2メモリ112の第1の部分108とは、レベル1メモリ104またはレベル2メモリ112の第1の部分108が、メモリアクセス要求102によって要求されたデータに対応するデータを含むかどうかを判断するために探索され得る。レベル1メモリ104またはレベル2メモリ112の第1の部分108が、メモリアクセス要求102によって要求されたデータに対応するデータを含んでいるとき、メモリアクセス要求102によって要求されたデータに対応するデータ106は、レベル1メモリ104から与えられるか、またはレベル2メモリ112の第1の部分108から与えられ得る。レベル1メモリ104とレベル2メモリ112の第1の部分108とが、メモリアクセス要求102によって要求されたデータに対応するデータを含んでいないとき、メモリアクセス要求102はレベル1キャッシュミスと見なされ得、メモリアクセス要求102または異なるメモリアクセス要求がレベル2メモリ112に転送され得、レベル2メモリ112の第2の部分110は要求されたデータについて探索され得る。
【００１５】
レベル2メモリの一部分が、それがレベル1メモリであるかのようにアクセスされるので、レベル1メモリとしてアクセス可能である、装置100中のメモリの量は増加する。その結果、レベル1メモリとして効果的に機能することができるメモリの量は、レベル1メモリ104への追加の物理スペースを専用化することなしに増加する。
【００１６】
図2を参照すると、レベル2メモリの一部分とレベル1メモリとにアクセスするように構成された装置の特定の例示的な実施形態が開示され、全体的に200と称される。装置200はレベル1メモリ104とレベル2メモリ112とを含む。装置200は、1つまたは複数のメモリアクセス要求を受信するように構成された入力ポート206と出力マルチプレクサ218とをも含む。レベル1メモリ104は、データキャッシュまたは命令キャッシュなどのキャッシュであり得る。代替実施形態では、レベル1メモリ104は密結合メモリ(TCM)であり得る。レベル2メモリ112は、レベル2キャッシュ、TCM、アレイベースのメモリ、または任意の他の形態のコンピュータメモリであり得る。レベル2メモリ112は、レベル2メモリ112の第1の部分108を含む。たとえば、レベル2メモリ112の第1の部分108は、レベル2メモリ112内の複数のアレイのサブアレイ208であり得る。さらに、レベル2メモリ112の第1の部分108は、レベル1メモリ104の近傍に物理的に配置され得る。レベル2メモリ112の第1の部分108の一部として含まれないレベル2メモリ112中のすべてのメモリは、レベル2メモリ112の第2の部分110として特徴づけられ得る。選択要素の第1のセット292は、信号線290を介してL2メモリアクセス要求202を第2の部分110に与えるために、第2の部分110に結合される。選択要素の第1のセット292は、1つまたは複数のアドレスライン216、220、および224に沿って、アドレス信号など、信号線を介して受信された信号を選択的に伝搬するように構成された回路を含み得る。たとえば、図示の実施形態では、選択要素の第1のセット292はデマルチプレクサのセットを含む。マルチプレクサとして示される選択要素の第2のセット294は、L2データ296としてL2メモリアクセス要求202の結果を与えるために、第2の部分110に結合される。
【００１７】
図2に示す実施形態では、レベル1メモリ104の第1のデータリードレイテンシは、プロセッササイクルの第1の数であり、レベル2メモリ112の第1の部分108の第2のデータリードレイテンシは、プロセッササイクルの第2の数である。プロセッササイクルの第2の数は、プロセッササイクルの第1の数以下であり得る。たとえば、レベル1メモリ104は、タグアレイとデータアレイとを有する直列にアクセスされるキャッシュメモリであり得、タグアレイは最初に読み取られ、データアレイはタグアレイの後に読み取られる。レベル2メモリ112の第1の部分108は、タグアレイを含まないことがあり、したがって、レベル1メモリ104よりも少数のプロセッササイクルで(またはレベル1メモリ104と等しい数のサイクルで)読み取られ得る。
【００１８】
さらに、レベル2メモリ112の第1の部分108の第2のデータリードレイテンシは、レベル2メモリ112の第2の部分110など、レベル2メモリ112の少なくとも1つの他の部分の第3のデータリードレイテンシよりも小さい。レベル2メモリ112の第1の部分108が、より短いワイヤ長を含み、レベル2メモリ112の他の部分よりも入力ポート206に近接しているので、第2のデータリードレイテンシは、第3のデータリードレイテンシよりも小さくなり得る。たとえば、サブアレイ208中のアドレスメモリ要素へのアドレスライン212は、アドレスライン216、220、および224など、レベル2メモリ112の少なくとも1つの他の部分中のアドレスラインよりも短いアドレスライン長(address line length)を有し得る。さらに、アドレスライン212の数は、レベル2メモリ112内のアドレスライン212、216、220、および224の総数よりも小さい。
【００１９】
アドレスライン212など、レベル2メモリ112の第1の部分108中の信号を伝搬するためのワイヤが、アドレスライン216、220、および224など、レベル2メモリ112の他の部分中の信号を伝搬するためのワイヤよりも短くなり得るので、また、サブアレイ208が入力ポート206に最も近いので、より長いワイヤ(たとえば、アドレスライン216、220、および224)に沿って信号を送信するために必要な時間よりも少ない時間で、より短いワイヤ(たとえば、アドレスライン212)上で信号が通信され得る。たとえば、レベル2メモリ112の第1の部分108から検索されるべきデータのアドレスを表す信号は、より長いアドレスライン216、220、および224に沿ってレベル2メモリ112の第2の部分110から検索されるべきデータのアドレスを表す同様の信号を送信するために必要な時間よりも少ない時間で、より短いアドレスライン212上で通信され得る。したがって、レベル2メモリ112の一部分をレベル2メモリ112の第1の部分108として指定することが可能であり、その第1の部分は、レベル1メモリ104にアクセスするのに必要とされる時間量以下である時間量内にアクセスされ得る。
【００２０】
入力ポート206は、レベル1(L1)メモリアクセス要求102またはレベル2(L2)メモリアクセス要求202を受信するように構成され得る。入力ポート206は、レベル1メモリ104に結合され、さらにレベル2メモリ112に結合され得る。入力ポート206は、2対1マルチプレクサ204を含み得る。マルチプレクサ204は、第1の信号線203を介してL1メモリアクセス要求102を受信し、第2の信号線205を介してL2メモリアクセス要求202を受信し、ステータスビット226を受信するように構成され得る。ステータスビット226は、L1メモリアクセス要求102またはL2メモリアクセス要求202がマルチプレクサ204から出力され、レベル2メモリ112を対象とすべきかどうかを判断するための制御ビットとして使用され得る。
【００２１】
出力マルチプレクサ218は、レベル1メモリ104に結合され、レベル2メモリ112の第1の部分108に結合され得る。出力マルチプレクサ218は、第1の信号線229を介してレベル2メモリの第1の部分108に結合され得る(第1の信号線229は、複数のデータラインを含み得る)。出力マルチプレクサ218はまた、第2の信号線230を介してレベル1メモリ104に結合され得る(第2の信号線230は複数のデータラインを含み得る)。出力マルチプレクサ218は、レベル1メモリ104から検索されたか、またはレベル2メモリ112の第1の部分108から検索されたデータ106を出力するように構成され得る。たとえば、データは、レベル1メモリ104またはレベル2メモリ112の第1の部分108のいずれかから検索され得る。レベル1メモリ104またはレベル2メモリ112の第1の部分108のいずれかからデータが検索された後、データは第1の信号線229または第2の信号線230を介して出力マルチプレクサ218に与えられ得る。メモリアクセス要求中で要求されたデータがレベル1メモリ104から検索されたのか、レベル2メモリ112の第1の部分108から検索されたのかを示す値などの値228に基づいて、出力マルチプレクサ218は、レベル1メモリ104から受信されたデータを出力すべきなのか、レベル2メモリ112の第1の部分108から受信されたデータを出力すべきなのかを判断し得る。たとえば、値228は、レベル1メモリ104におけるキャッシュヒットに応答して第2の信号線230を選択するように、またはレベル2メモリ112の第1の部分108から検索されたデータ106に応答して第1の信号線229を選択するように、キャッシュ制御ユニット(図示せず)などの制御回路によって生成され得る。別の例として、レベル2メモリ112の第1の部分108にページが割り当てられ得、図4に関して説明する変換ルックアサイドバッファ(TLB)において判断されるように、値228は、そのページへの連続アクセス中に第1の信号線229を選択するように維持され得る。
【００２２】
動作中、L1メモリアクセス要求102はポート206およびレベル1メモリ104において受信され得る。代替的に、L1メモリアクセス要求102は、選択機構(図示せず)を介してなど、レベル1メモリ104またはポート206のうちの1つのみに選択的に与えられ得る。レベル2メモリ112の第1の部分108がレベル1メモリ104の拡張として動作することが可能であることを、ステータスビット226が示しているとき、L1メモリアクセス要求102によって要求されたデータのコピーがレベル2メモリ112の第1の部分108内に記憶されているかどうかを判断するために、レベル2メモリ112の第1の部分108がアクセスされ得るように、マルチプレクサ204はL1メモリアクセス要求102を出力し得る。レベル2メモリ112の第1の部分108がレベル1メモリ104の拡張として動作することが可能であるので、L1メモリアクセス要求102など、レベル1メモリ104を対象とするメモリアクセス要求も、レベル2メモリ112の第1の部分108を対象とし得る。したがって、L1メモリアクセス要求102は、レベル1メモリ104またはレベル2メモリ112の第1の部分108が単一のメモリシステムであるかのように、レベル1メモリ104またはレベル2メモリ112の第1の部分108のいずれかによってサービスされ得る。
【００２３】
特定の一実施形態では、ステータスビット226はマルチプレクサ204への制御入力として使用され得る。ステータスビット226は、初めに、装置200が初期化されたとき第1の特定の値に設定され得る。ステータスビット226の第1の特定の値は、マルチプレクサ204に、第1の信号線203上で受信され、L1メモリアクセス要求102を搬送するデータを出力させ得る。L1メモリアクセス要求102がポート206において受信されたとき、したがって、マルチプレクサ204は、ステータスビット226の値に基づいてL1メモリアクセス要求102を出力し得る。各L1メモリアクセス要求102がレベル1メモリ104またはレベル2メモリ112の第1の部分108のいずれかにおいてキャッシュヒットを生じる限り、ステータスビット226は不変のままであり得る。しかしながら、L1メモリアクセス要求102がレベル1メモリ104とレベル2メモリ112の第1の部分108とにおいてキャッシュミスを生じた場合、L2メモリアクセス要求202はレベル2メモリ112に送られ得る。L2メモリアクセス要求202をレベル2メモリ112に送るために、ステータスビット226は第2の特定の値に変更され得る。ステータスビット226の第2の特定の値は、マルチプレクサ204に、第2の信号線205を介してマルチプレクサ204において受信され、L2メモリアクセス要求202を搬送するデータを出力させ得る。L2メモリアクセス要求202がポート206において受信されたとき、したがって、マルチプレクサ204は、ステータスビット226の値に基づいてL2メモリアクセス要求202を出力し得る。L2メモリアクセス要求202がマルチプレクサ204から出力された後、次いでステータスビット226は第1の特定の値に戻され得る。したがって、メモリアクセス要求は、初めにL1メモリアクセス要求102として扱われ、その後、レベル1メモリ104においてキャッシュミスが生じたことに少なくとも部分的に応答して、L2メモリアクセス要求202として扱われ得る。
【００２４】
特定の一実施形態では、L2メモリアクセス要求202は、第1の部分108に送られ、並列に第2の部分110に送られ得る。たとえば、L2メモリアクセス要求202は、マルチプレクサ204から出力され、信号線290を介して選択要素の第1のセット292に送信され得る。そのような例では、第1の部分108および第2の部分110は、L2メモリアクセス要求202をサービスするための単一のレベル2メモリ112として動作し得る。L2メモリアクセス要求202がキャッシュヒットを生じた場合、レベル2メモリ112におけるキャッシュ制御ユニットは、L2メモリアクセス要求202に対応する要求されたデータを、レベル2メモリ112の第1の部分108または第2の部分110から与え得る。たとえば、L2データ296は、選択要素294に結合された第1の部分108と第2の部分110とからの出力信号線を介して第1の部分108または第2の部分110から出力され得る。
【００２５】
追加の実施形態では、L1メモリアクセス要求102は、レベル1メモリ104とレベル2メモリ112の第1の部分108とに送られ得るが、同時に、L2メモリアクセス要求202は、信号線290と選択要素の第1のセット292とを介してレベル2メモリ112の第2の部分110に送られ得る。そのような例では、L1メモリアクセス要求102およびL2メモリアクセス要求202は、同時に処理され得る競合しないメモリアクセス要求である。
【００２６】
特定の一実施形態では、レベル1メモリ104およびレベル2メモリ112は、複数のキャッシュラインから構成されるキャッシュメモリとして実施され得る。レベル1メモリ104およびレベル2メモリ112は、それぞれのキャッシュのコンテンツを検査するための論理を含むキャッシュ制御ユニットをそれぞれ含み得る。レベル1メモリ104のコンテンツは、たとえば、L1メモリアクセス要求102中で指定されたアドレスの少なくとも一部分に一致する特定のキャッシュライン中のタグについて検査する比較論理を使用することによって検査され得る。そのようなキャッシュラインが識別されたとき、キャッシュヒットが生じ、キャッシュ制御ユニットは、L1メモリアクセス要求102に関連するデータがキャッシュ中に存在することを示し得る。キャッシュラインが発見されないとき、キャッシュミスが生じ、キャッシュ制御ユニットはミス指示を与え得る。
【００２７】
たとえば、レベル1メモリ104とレベル2メモリ112の第1の部分108とは、L1メモリアクセス要求102中で指定されたデータについて探索され得る。L1メモリアクセス要求102によって要求されたデータがレベル1メモリ104において存在する場合、レベル1メモリ104におけるキャッシュ制御ユニットは、L1メモリアクセス要求102がレベル1メモリ104においてキャッシュヒットを生じたことを示す値228を、第2の信号線230を介して出力し得る(たとえば、第2の信号線230は、データのための複数のデータラインとキャッシュヒットまたはキャッシュミスを示すための特定のラインとを含み得る)。値228は、出力マルチプレクサ218がレベル1メモリ104から受信されたデータを出力するように、制御装置として使用するために出力マルチプレクサ218に送られ得る。次いで、キャッシュ制御ユニットは、L1メモリアクセス要求102に対応するデータ106をレベル1メモリ104から出力マルチプレクサ218に与え得る。同様に、L1メモリアクセス要求102によって要求されたデータ106がレベル2メモリ112の第1の部分108において存在する場合、レベル2メモリ112におけるキャッシュ制御ユニットは、L1メモリアクセス要求102がレベル2メモリ112の第1の部分108においてキャッシュヒットを生じたことを示す値228を、第1の信号線229を介して出力し得る(第1の信号線229は、データのための複数のデータラインとキャッシュヒットまたはキャッシュミスを示す特定のラインとを含み得る)。次いで、キャッシュ制御ユニットは、L1メモリアクセス要求102に対応する要求されたデータ106をレベル2メモリ112の第1の部分108から出力マルチプレクサ218に与え得る。出力マルチプレクサ218は、レベル1メモリ104またはレベル2メモリ112の第1の部分108のいずれかから検索されたデータを与える。
【００２８】
図1の装置100および図2の装置200は、様々な電子デバイスに組み込まれ得る。たとえば、デジタル信号プロセッサなどの処理デバイスは、レベル1メモリ104など、マルチレベルアクセスメモリシステムにおいて第1レベルアクセスのためのデータを記憶するための手段と、レベル2メモリ112など、マルチレベルメモリシステムにおいて第2レベルアクセスのためのデータを記憶するための手段とを含み得、第2レベルアクセスのためのデータを記憶するための手段の一部分(たとえば、第1の部分108)は、入力ポートに結合され、第1レベルアクセスのためのデータを記憶するための手段と並列にアドレス指定可能である。特定の一実施形態では、図1の装置100または図2の装置200は、少なくとも1つの半導体ダイに組み込まれ得る。図1の装置100または図2の装置200は、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定ロケーションデータユニット、およびコンピュータなどのデバイスをさらに含み得、そのデバイスには、レベル1メモリ104およびレベル2メモリ112が組み込まれる。
【００２９】
図3を参照すると、レベル2メモリの一部分とレベル1メモリとにアクセスする方法の特定の例示的な実施形態のフローチャートが示され、全体的に300と称される。方法300は、302において、メモリアクセス要求を受信するステップを含む。メモリアクセス要求は、メモリアクセス要求に応答して検索されるべきデータのメモリアドレスを含み得る。たとえば、図1では、メモリアクセス要求102は、レベル2メモリ112の第1の部分108と並列にアドレス指定可能であるレベル1メモリ104を含むメモリシステム114によって受信される。
【００３０】
304に進むと、方法300は、メモリアクセス要求をメモリシステムに配信するステップを含む。メモリシステムは、レベル1メモリとメモリのサブ部分とを含む。たとえば、図1では、メモリアクセス要求102は、メモリシステム114に配信される。メモリシステム114は、第1レベルメモリと第2レベルメモリの第1の部分とを含む。メモリアクセス要求102がレベル1メモリ104とレベル2メモリ112の第1の部分108とに配信され得るが、代替的に、メモリアクセス要求102は、レベル1メモリ104とレベル2メモリ112の第1の部分108とのうちの1つのみに配信され得る。たとえば、第1のメモリアクセス要求中で指定されたデータが第1レベルメモリ104中で発見された場合、キャッシュミスが生じるまで、後続のメモリアクセス要求はすべて第1レベルメモリ104のみに配信され得る。したがって、メモリアクセス要求は、レベル1メモリとメモリのサブ部分の両方を含むシステムに配信され、メモリアクセス要求は、いくつかの方法でメモリシステム内に配信され得る。
【００３１】
方法300は、306において、レベル1メモリまたはメモリのサブ部分からデータを選択的に与えるステップを含む。たとえば、図1では、データ106は、レベル1メモリ104またはレベル2メモリ112の第1の部分108から与えられる。
【００３２】
特定の一実施形態では、本方法は、レベル1メモリまたはメモリのサブ部分にデータ値を書き込むステップをも含む。たとえば、レベル1アクセスのために記憶されるべきデータワードは、レベル1メモリ104、または入力ポート206を介したレベル2メモリ112の第1の部分108のうちの選択された1つに与えられ得る。レベル2メモリ112の第1の部分108にデータワードを書き込むステップは、レベル1メモリ104にデータワードを書き込むステップと同じプロセッササイクル数を必要とし得る。データワードをレベル1メモリにおいて記憶すべきなのか、メモリのサブ部分において記憶すべきなのかの判断は、データワードのアドレスに基づき得る。
【００３３】
図4を参照すると、レベル2メモリの一部分とレベル1メモリとにアクセスする方法の特定の例示的な実施形態のフローチャートが示され、全体的に400と称される。方法400は、402において、メモリアクセス要求を受信するステップを含む。たとえば、図2では、L1メモリアクセス要求102は装置200によって受信され得る。
【００３４】
方法400は、404において、メモリアクセス要求をメモリシステムに配信するステップを含む。メモリシステムは、レベル1メモリとメモリのサブ部分とを含む。レベル1メモリは、キャッシュとして、または密結合メモリ(TCM)として実施され得る。さらに、メモリのサブ部分は、複数のアレイまたは複数のサブアレイを含むメモリ中のアレイのサブアレイとして実施され得る。たとえば、図2では、L1メモリアクセス要求102は、レベル1メモリ104に配信され、ポート206を介してレベル2メモリ112の第1の部分108に配信され得る。
【００３５】
406に進むと、方法400は、レベル1メモリに対応するステータスビットを検査するステップを含む。ステータスビットは、メモリアクセス要求が、レベル1メモリの拡張として動作するレベル2メモリの一部分を対象とすべきなのか、レベル2メモリを対象とすべきなのかを判断するために使用され得る。たとえば、図2では、ステータスビット226は制御ビットとして使用され、ステータスビット226の値は、メモリアクセス要求102が、レベル1メモリ104の拡張として動作するレベル2メモリ112の第1の部分108を対象とすべきなのか、レベル2メモリ112の第2の部分110を対象とすべきなのかを判断するためにマルチプレクサ204によって検査される。
【００３６】
方法400は、408において、ステータスビットが、メモリのサブ部分が有効であることを示していることに応答して、メモリのサブ部分にメモリアクセス要求をルーティングするステップをさらに含む。たとえば、図2では、ステータスビット226は、レベル2メモリ112の第1の部分108がレベル1メモリ104の拡張として働くことが可能であることを示しているとき、L1メモリアクセス要求102は、ポート206を介してレベル2メモリ112の第1の部分108にルーティングされる。レベル2メモリ112の第1の部分108がレベル1メモリ104の拡張として働くことが可能であるので、L1メモリアクセス要求102など、レベル1メモリ104を対象とするメモリアクセス要求も、レベル2メモリ112の第1の部分108を対象とする。したがって、L1メモリアクセス要求102は、レベル1メモリ104またはレベル2メモリ112の第1の部分108が単一のメモリシステムであるかのように、レベル1メモリ104またはレベル2メモリ112の第1の部分108のいずれかによってサービスされ得る。
【００３７】
410に進むと、本方法は、レベル1メモリまたはメモリのサブ部分からデータを選択的に与えるステップを含む。メモリアクセス要求に応答するメモリアクセスは、そのメモリアクセスがレベル1メモリにおいて生じたのか、メモリのサブ部分において生じたのかとは無関係に、ある時間期間(たとえば、1つまたは複数のプロセッササイクル)中に生じ得る。さらに、データがレベル1メモリにおいて記憶されるのか、メモリのサブ部分において記憶されるのかを示す値に基づいて、データはレベル1メモリまたはメモリのサブ部分から選択的に与えられ得る。その値は、メモリアクセス要求に対応するアドレスに基づき得る。たとえば、本方法は、メモリアクセス要求のアドレスに基づいてレベル1メモリまたはメモリのサブ部分のいずれかからデータを選択的に検索するステップを含み得る。例示のために、図2では、データ106は、レベル1メモリ104またはレベル2メモリ112の第1の部分108から選択的に検索され得る。データ106は、出力マルチプレクサ218に与えられた値228に基づいて、レベル1メモリ104またはレベル2メモリ112の第1の部分108から選択的に検索され得る。L1メモリアクセス要求102中に含まれているアドレスによって指定されたデータがレベル1メモリ104中で発見されたのか、レベル2メモリ112の第1の部分108中で発見されたのかを示す値など、値228は、L1メモリアクセス要求102中で指定されたアドレスに基づき得る。データ106は、レベル1メモリ104またはレベル2メモリ112の第1の部分108から与えられ得る。特定の一実施形態では、データ106がレベル2メモリ112の第1の部分108に配置されているときにデータ106を与えるための時間量は、データ106がレベル1メモリ104に配置されているときと同じプロセッササイクル数であり得る。別の実施形態では、データ106がレベル2メモリ112の第1の部分108に配置されているときにデータ106を与えるための時間量は、データ106がレベル1メモリ104に配置されているときよりも少ないプロセッササイクル数であり得る。
【００３８】
例示的な実施形態では、変換ルックアサイドバッファ(TLB)の同じページがアクセスされる間、値228は維持され得る。同じTLBページがアクセスされている間、レベル1メモリ104またはレベル2メモリ112の第1の部分108のうちの1つのみにアクセスすることによって電力が節約され得る。ページが変わると、値228は更新され得る。たとえば、ある使用モデルは、レベル2メモリ112の第1の部分108のみに別のページを割り当てることを含み得る。レベル2メモリ112の第1の部分108は、割り当てられたページにおける連続するメモリアクセスのために使用され得、割り当てられたページから出ると、メモリの別の部分がアクセスされ得る。
【００３９】
図3および図4の方法は、電子デバイスに組み込まれたプロセッサにおいて実行され得る。たとえば、図5に関して説明するように、メモリアクセス要求がコンピュータまたは他の電子デバイスによって配信され得、データは、コンピュータまたは他の電子デバイスによってレベル1メモリまたはメモリのサブ部分から与えられ得る。代替的に、または追加として、当業者は、図3の方法300および図4の方法400が、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、中央処理ユニット(CPU)、デジタル信号プロセッサ(DSP)、コントローラ、別のハードウェアデバイス、またはそれらの任意の組合せによって実装または開始され得ることを認識するであろう。
【００４０】
図5を参照すると、レベル2メモリの一部分とレベル1メモリとにアクセスするように構成された電子デバイスの特定の例示的な実施形態のブロック図が示され、全体的に500と称される。デバイス500は、メモリ532に結合されたデジタル信号プロセッサ(DSP)510などのプロセッサを含む。DSP510はレベル1メモリ104とレベル2メモリ112とを含む。レベル2メモリ112は、レベル2メモリ112の第1の部分108とレベル2メモリ112の第2の部分110とを含む。レベル1メモリ104とレベル2メモリ112の第1の部分108とは、メモリシステム114を形成し得る。代替実施形態では、レベル1メモリ104、およびレベル2メモリ112の第1の部分108とレベル2メモリ112の第2の部分110とを含むレベル2メモリ112は、メモリ532など、DSP510の外部にある他のメモリ中に配置され得る。例示的な例では、レベル1メモリ104およびレベル2メモリ112は、図3〜図4の方法のうちの1つまたは複数、あるいはそれらの任意の組合せに従って動作する。
【００４１】
図5はまた、デジタル信号プロセッサ510とディスプレイ528とに結合されたディスプレイコントローラ526を示す。コーダ/デコーダ(コーデック)534もDSP510に結合され得る。スピーカー536およびマイクロフォン538がコーデック534に結合され得る。
【００４２】
図5はまた、ワイヤレスコントローラ540がDSP510とワイヤレスアンテナ542とに結合され得ることを示す。特定の一実施形態では、(レベル1メモリ104とレベル2メモリ112とを含む)DSP510、ディスプレイコントローラ526、メモリ532、コーデック534、およびワイヤレスコントローラ540は、システムインパッケージまたはシステムオンチップデバイス522中に含まれる。特定の一実施形態では、入力デバイス530および電源544はシステムオンチップデバイス522に結合される。その上、特定の一実施形態では、図5に示すように、ディスプレイ528、入力デバイス530、スピーカー536、マイクロフォン538、ワイヤレスアンテナ542、および電源544は、システムオンチップデバイス522の外部にある。ただし、ディスプレイ528、入力デバイス530、スピーカー536、マイクロフォン538、ワイヤレスアンテナ542、および電源544の各々は、インターフェースまたはコントローラなど、システムオンチップデバイス522の構成要素に結合され得る。
【００４３】
さらに、本明細書で開示した実施形態に関して説明した様々な例示的な論理ブロック、構成、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、処理ユニットによって実行可能なコンピュータソフトウェア、または両方の組合せとして実装され得ることを、当業者は諒解されよう。様々な例示的な構成要素、ブロック、構成、モジュール、回路、およびステップを、上記では概してそれらの機能に関して説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本開示の範囲からの逸脱を生じるものと解釈すべきではない。
【００４４】
本明細書で開示する実施形態に関して説明する方法またはアルゴリズムのステップは、直接ハードウェアで実施されるか、プロセッサによって実行されるソフトウェアモジュールで実施されるか、またはその2つの組合せで実施され得る。ソフトウェアモジュールは、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気消去可能プログラマブル読取り専用メモリ(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、コンパクトディスク読取り専用メモリ(CD-ROM)、または当技術分野で知られている任意の他の形態の記憶媒体中に常駐し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサと一体であり得る。プロセッサおよび記憶媒体は特定用途向け集積回路(ASIC)中に常駐し得る。ASICは、コンピューティングデバイスまたはユーザ端末中に常駐し得る。代替として、プロセッサおよび記憶媒体は、コンピューティングデバイスまたはユーザ端末中に個別構成要素として常駐し得る。
【００４５】
開示する実施形態の前述の説明は、当業者が開示する実施形態を実施または使用できるようにするために提供されるものである。これらの実施形態への様々な変更は当業者にはすぐに明らかになり、本明細書で定義された原理は本開示の範囲から逸脱することなく他の実施形態に適用され得る。したがって、本開示は、本明細書に示した実施形態に限定されるものではなく、以下の特許請求の範囲によって定義される原理および新規の特徴と一致する可能な最も広い範囲を与えられるべきである。
【符号の説明】
【００４６】
102  メモリアクセス要求
102  L1メモリアクセス要求
104  レベル1メモリ
106  データ
106  L1データ
108  第1の部分
108  レベル2メモリの第1の部分
110  第2の部分
110  レベル2メモリの第2の部分
112  レベル2メモリ
114  メモリシステム
202  L2メモリアクセス要求
203  第1の信号線
204  マルチプレクサ
205  第2の信号線
206  ポート
206  入力ポート
208  サブアレイ
212  アドレスライン
216  アドレスライン
218  マルチプレクサ
218  出力マルチプレクサ
220  アドレスライン
224  アドレスライン
226  ステータスビット
228  値
229  第1の信号線
230  第2の信号線
290  信号線
292  選択要素の第1のセット
292  選択要素の第2のセット
294  選択要素
296  L2データ
510  DSP
510  デジタル信号プロセッサ
522  システムオンチップデバイス
526  ディスプレイコントローラ
528  ディスプレイ
530  入力デバイス
532  メモリ
534  コーダ/デコーダ(コーデック)
534  コーデック
536  スピーカー
538  マイクロフォン
540  ワイヤレスコントローラ
542  ワイヤレスアンテナ
544  電源
552  ソフトウェア
【図１】
0005572719.tif 000002
【図２】
0005572719.tif 000003
【図３】
0005572719.tif 000004
【図４】
0005572719.tif 000005
【図５】
0005572719.tif 000006