(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-01-06
(45)【発行日】2023-01-17
(54)【発明の名称】キャッシュの割当方法と装置、記憶媒体、電子装置
(51)【国際特許分類】
G06F 12/084 20160101AFI20230110BHJP
G06F 12/0806 20160101ALI20230110BHJP
G06F 12/0811 20160101ALI20230110BHJP
【FI】
G06F12/084
G06F12/0806 100
G06F12/0811
(21)【出願番号】P 2021562299
(86)(22)【出願日】2020-04-30
(86)【国際出願番号】 CN2020088364
(87)【国際公開番号】W WO2020259082
(87)【国際公開日】2020-12-30
【審査請求日】2021-10-22
(31)【優先権主張番号】201910580430.8
(32)【優先日】2019-06-28
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】516010548
【氏名又は名称】セインチップス テクノロジー カンパニーリミテッド
(74)【代理人】
【識別番号】110002066
【氏名又は名称】弁理士法人筒井国際特許事務所
(72)【発明者】
【氏名】牛新偉
【審査官】後藤 彰
(56)【参考文献】
【文献】特表2019-502996(JP,A)
【文献】特表2015-519654(JP,A)
【文献】特表2013-502645(JP,A)
【文献】特開2009-211649(JP,A)
【文献】米国特許出願公開第2014/0189239(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/084
G06F 12/0811
G06F 12/0806
(57)【特許請求の範囲】
【請求項1】
キャッシュの割当方法であって、
コアがフェッチ命令を送信することによってアクセスされる第1レベルキャッシュおよび第2レベルキャッシュの応答がともにミス応答であることを検出した場合、第3レベルキャッシュにアクセスし、ここで、前記フェッチ命令は、アクセスされたキャッシュに命令とデータを返すことを要求することに用いられ、前記第1レベルキャッシュは前記コアのプライベートキャッシュであり、前記第2レベルキャッシュは前記コアが配置されたコアセットと対応するパブリックキャッシュであり、前記第3レベルキャッシュは複数のコアセットの間で共有されたパブリックキャッシュであり、前記第2レベルキャッシュのミス応答において、ネットワークスライス情報が含まれることと、
前記第3レベルキャッシュに設置された計画ユニットは、前記ネットワークスライス情報に従って、前記複数のコアセットを複数のネットワークスライスに割り当て、且つ前記複数のネットワークスライスに対して相応的なキャッシュを配置することと、
前記計画ユニットは、前記コアへヒット応答を送信し、ここで、前記ヒット応答は、前記コアが配置されたコアセットと対応するネットワークスライスのキャッシュにおけるデータを返すために用いられることと、を含むことを特徴とするキャッシュの割当方法。
【請求項2】
計画ユニットが前記複数のネットワークスライスに対して相応的なキャッシュを配置することは、
前記計画ユニットは、事前設定された分割ルールに従って、前記複数のネットワークスライスを複数のネットワークスライスグループに分割し、ここで、前記ネットワークスライスグループには1つ以上の前記ネットワークスライスを含むことと、
前記計画ユニットは、各前記ネットワークスライスグループにマーキング情報を設定することと、
前記計画ユニットは、前記マーキング情報に従って、複数の前記ネットワークスライスを有する前記ネットワークスライスグループにおける各ネットワークスライスに対してキャッシュリソースブロックを分割することと、を含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記マーキング情報は第1マーキング情報と第2マーキング情報とを含み、前記計画ユニットが、前記マーキング情報に従って、複数の前記ネットワークスライスを有する前記ネットワークスライスグループにおける各ネットワークスライスに対してキャッシュリソースブロックを分割することは、
前記計画ユニットは、第1マーキング情報と第2マーキング情報に従って、前記各ネットワークスライスに対してキャッシュリソースブロックを分割することを含み、ここで、前記第1マーキング情報は、前記ネットワークスライスグループにおける前記ネットワークスライスの数を示すために使用され、前記第2マーキング情報は、前記ネットワークスライスが対応するアドレス情報をマークするために使用されることを特徴とする請求項2に記載の方法。
【請求項4】
前記計画ユニットが、前記ネットワークスライスグループにおける前記ネットワークスライスの優先度に従って、各前記ネットワークスライスのアドレス情報およびデータ情報を調整することをさらに含むことを特徴とする請求項3に記載の方法。
【請求項5】
前記コアが前記フェッチ命令を送信することによってアクセスされた前記第3レベルキャッシュの応答がミス応答であることを検出する場合、外部メモリにフェッチ命令を送信し、前記外部メモリよりフィードバックされたフェッチ結果を受信し、
前記計画ユニットは、前記フェッチ結果に応じて前記アドレス情報と前記データ情報を更新することを特徴とする請求項4に記載の方法。
【請求項6】
キャッシュにアクセスする場合、前記コアによって送信されるフェッチ命令の数はNであり、ここで、Nは1以上の正の整数であることを特徴とする請求項1~5のいずれかの1項に記載の方法。
【請求項7】
キャッシュの割当装置であって、
コアに配置され、フェッチ命令を送信することによってアクセスされる第1レベルキャッシュおよび第2レベルキャッシュの応答がともにミス応答であることを検出した場合、第3レベルキャッシュにアクセスするように設置されたアクセスモジュールであり、ここで、前記フェッチ命令は、アクセスされたキャッシュに命令とデータを返すことを要求することに用いられ、前記第1レベルキャッシュは前記コアのプライベートキャッシュであり、前記第2レベルキャッシュは前記コアが配置されたコアセットと対応するパブリックキャッシュであり、前記第3レベルキャッシュは複数のコアセットの間で共有されたパブリックキャッシュであり、前記第2レベルキャッシュのミス応答において、ネットワークスライス情報が含まれることと、
前記第3レベルキャッシュに設置された計画ユニットに位置され、前記ネットワークスライス情報に従って、前記複数のコアセットを複数のネットワークスライスに割り当て、且つ前記複数のネットワークスライスに対して相応的なキャッシュを配置するように設置された割当モジュールと、
前記計画ユニットに位置され、前記コアへヒット応答を送信するように設置された応答モジュールであり、ここで、前記ヒット応答は、前記コアが配置されたコアセットと対応するネットワークスライスのキャッシュにおけるデータを返すために用いられることと、を含むことを特徴とするキャッシュの割当装置。
【請求項8】
前記割当モジュールは、
事前設定された分割規則に従って、前記複数のネットワークスライスを複数のネットワークスライスグループに分割するように設置された第1分割ユニットであり、ここで、前記ネットワークスライスグループには、少なくとも一つの前記ネットワークスライスが含まれることと、
各前記ネットワークスライスグループにマーキング情報を設定するように設置された設定ユニットと、
前記マーキング情報に従って複数の前記ネットワークスライスを有する前記ネットワークスライスグループにおける各ネットワークスライスに対してキャッシュリソースブロックを分割するように設置された第2分割ユニットと、を含むことを特徴とする請求項7に記載の装置。
【請求項9】
記憶媒体であって、コンピュータプログラムが格納され、前記コンピュータプログラムは、実行する時に、請求項1~6のいずれかの1項に記載の前記方法を実行するように設置されることを特徴とする記憶媒体。
【請求項10】
電子装置であって、
メモリおよびプロセッサを含み、前記メモリにはコンピュータプログラムが格納され、前記プロセッサは、前記コンピュータプログラムを実行することで、請求項1~6のいずれかの1項に記載の前記方法を実行するように設置されることを特徴とする電子装置。
【発明の詳細な説明】
【クロス・リファレンス】
【0001】
本願は、2019年06月28日に中国特許庁へ出願された出願番号が201910580430.8である中国の特許の優先権を主張し、当該出願の全体内容は援用により本願に組み込まれるものとする。
【技術分野】
【0002】
本発明は、マルチコアネットワークプロセッサの分野に関して、たとえば、キャッシュの割当方法と装置、記憶媒体、電子装置に関する。
【背景技術】
【0003】
複数のネットワーク処理システムをメディア処理、データマイニング、財務分析などの分野で頻繁に行われるデータ交換とデータ共有の要件に満たすために、マルチコアネットワークプロセッサの命令とデータの共有構造とそのスケーラビリティを最適化する必要がある。
【0004】
プロセッサが従来のシングルコア時代からマルチコア時代に移行するにつれて、プロセッサ数の増加は、システムレベルチップのオンチップストレージアーキテクチャの設計に大きな課題をもたらす。一方では、コア数の増加によりチップの規模が急速に増加し、各コアの平均メモリアクセス遅延と最大アクセス遅延を上昇する。他方では、シングルコアシステムとは異なり、マルチコアシステムは、マルチコアアーキテクチャの処理リソースを最大限に活用するために、ネットワークアプリケーションに対してネットワークスライスの並行研究にも注意が払われる。したがって、関連技術において、コア数の増加によって引き起こされるメモリアクセス遅延および最大アクセス遅延の上昇、ならびにネットワークスライスの低い並行性という問題に対するより良い解決考案はない。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の実施形態は、関連技術におけるコア数の増加によって引き起こされるメモリアクセス遅延および最大アクセス遅延の上昇、ならびにネットワークスライスの低い並行性という問題を解決するために、キャッシュの割当方法と装置、記憶媒体、電子装置を提供する。
【課題を解決するための手段】
【0006】
本発明の一つの実施形態は、キャッシュの割当方法を提供し、コアがフェッチ命令を送信することによってアクセスされる第1レベルキャッシュおよび第2レベルキャッシュの応答がともにミス応答であることを検出した場合、第3レベルキャッシュにアクセスし、ここで、前記フェッチ命令は、アクセスされたキャッシュに命令とデータを返すことを要求することに用いられ、前記第1レベルキャッシュは前記コアのプライベートキャッシュであり、前記第2レベルキャッシュは前記コアが配置されたコアセットと対応するパブリックキャッシュであり、前記第3レベルキャッシュは複数のコアセットの間で共有されたパブリックキャッシュであり、前記第2レベルキャッシュのミス応答において、ネットワークスライス情報が含まれることと、前記第3レベルキャッシュに設置された計画ユニットは、前記ネットワークスライス情報に従って、前記複数のコアセットを複数のネットワークスライスに割り当て、且つ前記複数のネットワークスライスに対して相応的なキャッシュを配置することと、前記計画ユニットは、前記コアへヒット応答を送信し、ここで、前記ヒット応答は、前記コアが配置されたコアセットと対応するネットワークスライスのキャッシュにおけるデータを返すために用いられることと、を含む。
【0007】
本発明の別の実施形態は、キャッシュの割当装置を提供し、コアに配置され、フェッチ命令を送信することによってアクセスされる第1レベルキャッシュおよび第2レベルキャッシュの応答がともにミス応答であることを検出した場合、第3レベルキャッシュにアクセスするように設置されたアクセスモジュールであり、ここで、前記フェッチ命令は、アクセスされたキャッシュに命令とデータを返すことを要求することに用いられ、前記第1レベルキャッシュは前記コアのプライベートキャッシュであり、前記第2レベルキャッシュは前記コアが配置されたコアセットと対応するパブリックキャッシュであり、前記第3レベルキャッシュは複数のコアセットの間で共有されたパブリックキャッシュであり、前記第2レベルキャッシュのミス応答において、ネットワークスライス情報が含まれることと、前記第3レベルキャッシュに設置された計画ユニットに位置され、前記ネットワークスライス情報に従って、前記複数のコアセットを複数のネットワークスライスに割り当て、且つ前記複数のネットワークスライスに対して相応的なキャッシュを配置するように設置された割当モジュールと、前記計画ユニットに位置され、前記コアへヒット応答を送信するように設置された応答モジュールであり、ここで、前記ヒット応答は、前記コアが配置されたコアセットと対応するネットワークスライスのキャッシュにおけるデータを返すために用いられることと、を含む。
【0008】
本発明の別の実施形態は、記憶媒体をさらに提供し、前記記憶媒体にはコンピュータプログラムが格納され、前記コンピュータプログラムは、実行する時に、上記いずれかの方法実施形態におけるステップを実行するように設置される。
【0009】
本発明の別の実施形態は、電子装置をさらに提供し、メモリおよびプロセッサを含み、前記メモリにはコンピュータプログラムが格納され、前記プロセッサは、前記コンピュータプログラムを実行することで、上記いずれかの方法実施形態におけるステップを実行するように設置される。
【図面の簡単な説明】
【0010】
ここで説明する図面は、本発明を理解するために用いられ、本発明の一部を構成する。本発明の例示的な実施形態およびその説明は、本発明を説明するために用いられ、本発明を制限するものではない。図面において、
【
図1】
図1は、本発明の実施形態に係るキャッシュの割当方法のフローチャートである。
【
図2】
図2は、本発明の実施形態に係るマルチレベルキャッシュのモデルの概略図である。
【
図3】
図3は、本発明の実施形態に係る第3レベルキャッシュのアクセスフローの概略図である。
【
図4】
図4は、本発明の実施形態に係る第3レベルキャッシュのモジュールの概略図である。
【
図5】
図5は、本発明の実施形態に係る第3レベルキャッシュのデータ構造の概略図である。
【
図6】
図6は、本発明の実施形態に係るキャッシュの割当装置の構造ブロック図である。
【発明を実施するための形態】
【0011】
以下、本発明は、図面を参照して、実施形態と併せて説明する。
【0012】
本発明の明細書、特許請求の範囲及び上記図面における「第1」、「第2」などの用語は、類似な対象を区別するために使用され、必ずしも特定な配列または優先順位を説明するものではない。
【0013】
(実施例1)
本実施形態において、キャッシュの割当方法を提供する。
図1は、本発明の実施形態に係るキャッシュの割当方法のフローチャートである。
図1に示すように、当該プロセスは、以下のステップを含む。
【0014】
ステップS102:コアがフェッチ命令を送信することによってアクセスされる第1レベルキャッシュおよび第2レベルキャッシュの応答がともにミス応答であることを検出した場合、第3レベルキャッシュにアクセスし、ここで、前記フェッチ命令は、アクセスされたキャッシュに命令とデータを返すことを要求することに用いられ、前記第1レベルキャッシュは前記コアのプライベートキャッシュであり、前記第2レベルキャッシュは前記コアが配置されたコアセットと対応するパブリックキャッシュであり、前記第3レベルキャッシュは複数のコアセットの間で共有されたパブリックキャッシュであり、前記第2レベルキャッシュのミス応答において、ネットワークスライス情報が含まれる。
【0015】
ステップS104:前記第3レベルキャッシュに設置された計画ユニットは、前記ネットワークスライス情報に従って、前記複数のコアセットを複数のネットワークスライスに割り当て、且つ前記複数のネットワークスライスに対して相応的なキャッシュを配置する。
【0016】
ステップS106:前記計画ユニットは、前記コアへヒット応答を送信し、ここで、前記ヒット応答は、前記コアが配置されたコアセットと対応するネットワークスライスのキャッシュにおけるデータを返すために用いられる。
【0017】
本発明が提供されたキャッシュの割当方法は、第3レベルキャッシュの計画ユニットを使用して、ネットワークスライス情報に従って複数のコアセットを複数のネットワークスライスに割り当て、且つ複数のネットワークスライスに対して相応的なキャッシュを配置するので、関連技術において、コア数の増加によって引き起こされるメモリアクセス遅延および最大アクセス遅延の上昇、ならびにネットワークスライスの低い並列性という問題を解決することで、大規模マルチコアネットワークプロセッサのオンチップストレージアーキテクチャとコアのメモリアクセス遅延が最適化され、オンチップストレージリソースの使用率を向上する。
【0018】
図2は、本発明の実施形態に係るマルチレベルキャッシュのモデルの概略図である。
図2に示すように、
図2における各コアは、一つの第1レベルキャッシュ(L1_cache)に対応する。また、一つのコアセット(set)は、一つの第2レベルキャッシュ(L2_cache)に対応する。最後に、プロセッサ全体に対して、第3レベルキャッシュ(L3_cache)に対応することができる。当然、このモデルにおいて、外部メモリ(Memory、MEM)のサポートも受けられる。
【0019】
本実施形態において、一つのコアがフェッチ命令を送信した後、まず、第1レベルキャッシュ(L1_dach)にアクセスし、ヒット(hit)すると、命令と第1レベルキャッシュにおけるデータを返す。その後、次の値を取ることを待つ。ミスする(miss)と、フェッチ(PC)、スレッド情報(thread_info)、およびコア情報(core_info)がキューL1_cache_miss_qに書き込む。次に、ポーリングして第2レベルキャッシュ(L2_cache)にアクセスする。
【0020】
次に、第2レベルキャッシュ(L2_cache)にアクセスする場合、同様に、ヒット(hit)すると、命令と第2レベルキャッシュにおけるデータを返す。その後、次の値を取ることを待つ。ミスする(miss)と、フェッチ(PC)、スレッド情報(thread_info)、セット情報(set_info)、およびネットワークスライス情報(slice_info)をキューL2_cache_miss_qに書き込む。
【0021】
一つの実施形態において、計画ユニットが、前記ネットワークスライス情報に従って、前記複数のコアセットを複数のネットワークスライスに割り当て、且つ前記複数のネットワークスライスに対して相応的なキャッシュを配置することは、前記計画ユニットは、事前設定された分割ルールに従って、前記複数のネットワークスライスを複数のネットワークスライスグループに分割し、ここで、前記ネットワークスライスグループには1つまたは複数の前記ネットワークスライスを含むことと、前記計画ユニットは、各前記ネットワークスライスグループにマーキング情報を設定することと、前記計画ユニットは、前記マーキング情報に従って、複数の前記ネットワークスライスを有する前記ネットワークスライスグループにおける各ネットワークスライスに対してキャッシュリソースブロックを分割することと、を含む。
【0022】
一つの実施形態において、前記計画ユニットが、前記マーキング情報に従って、複数の前記ネットワークスライスを有する前記ネットワークスライスグループにおける各ネットワークスライスに対してキャッシュリソースブロックを分割することは、前記計画ユニットは、第1マーキング情報と第2マーキング情報に従って、前記各ネットワークスライスに対してキャッシュリソースブロックを分割することを含み、ここで、前記第1マーキング情報は、前記ネットワークスライスグループにおける前記ネットワークスライスの数を示すために使用され、前記第2マーキング情報は、前記ネットワークスライスが対応するアドレス情報をマークするために使用される。
【0023】
一つの実施形態において、前記方法は、前記計画ユニットが、前記ネットワークスライスグループにおけるネットワークスライスの優先度に従って、各前記ネットワークスライスのアドレス情報およびデータ情報を調整することをさらに含む。
【0024】
一つの実施形態において、
図3は、本発明の実施形態に係る第3レベルキャッシュのアクセスフローの概略図である。
図3に示すように、L3_cacheにアクセスする場合、ネットワークスライス情報に基づいて、32個のセット(set)のフェッチ要求に対して収束して分類し、まず、フラグレジスタ(flag_unit)とタグランダムアクセスストレージ(tag_ram)にアクセスして、L3_cacheにおける特定のアドレスにアクセスし、ヒット(hit)すると、命令とデータを返し、ミスする(Miss)と、最も外側のMEMへフェッチする。
【0025】
図4は、本発明の実施形態に係る第3レベルキャッシュのモジュールの概略図である。
図4に示すように、第3レベルcacheには計画ユニットflag_unitがあり、異なるネットワークスライスの集合setに対してサイズの大きさが配置可能なcacheを提供することを配置して計画することができるので、異なるネットワークスライスのストレージ管理性能を向上させる。ネットワークスライスがグループとして管理され、計画ユニットflag_unitを介してネットワークスライスのキャッシュリソースを配置し、複数のネットワークスライスの配置をサポートできる。デフォルトにおいて、flagがネットワークスライスグループcacheの中央位置にマークされ、複数のネットワークスライスのキャッシュのサイズは相違がない。ネットワークスライスの各グループは、L3_cacheにおける合計X個ブロック(block)の一つのバンク(bank)を専用的にアクセスし、一つのネットワークスライスグループにスライスが1つしか表示されない場合、当該グループのflagは無効になり、当該bankのX個blockリソースが当該スライスより専用する。一つのネットワークスライスグループに2つのスライスがある場合、flagに従って分割され、たとえば、slice0に4個のblock、slice1にX-4個のblockを割り当て、ここで、Xは偶数で、毎回調整されblockの数も偶数である。
図5は、本発明の実施形態に係る第3レベルキャッシュのデータ構造の概略図である。
図5に示すように、flag_unitには主にvldとtag_ramの分割アドレスが含まれ、vldがマークされた一つのネットワークスライスグループの数が2であるかどうかである。L3_cacheにおけるtagとdataは同じ深さで、1対1の対応を持ち、スライスグループにおけるスライスの優先度が異なる場合、各スライスのtagアドレスとデータ幅が調整される。
【0026】
一つの実施形態において、前記コアが、前記フェッチ命令を送信することによってアクセスされた前記第3レベルキャッシュの応答がミス応答であることを検出する場合、外部メモリにフェッチ命令を送信し、前記外部メモリよりフィードバックされたフェッチ結果を受信する。前記計画ユニットは、前記フェッチ結果に応じて前記アドレス情報と前記データ情報を更新する。
【0027】
本実施形態において、外部メモリは、フェッチ命令を受信した後、フェッチ命令を計画ユニットに送信する。
【0028】
本実施形態において、最も外側のMEMに異なるネットワークスライスのデータが格納され、命令とデータを返すことが取得される場合、同時に、flag情報に従ってL3_cachを更新する。外部メモリMEMは、大幅に拡張でき、低コストで、異なるネットワークスライスの命令とデータを順番に配置し、および異なるネットワークスライスで通用されるデータを第3レベルキャッシュに更新する。
【0029】
本実施形態において、フェッチPCの長さは、各ネットワークスライスにおける命令とデータの最大スペースに従って決定され、MEMにアクセスするとき、ネットワークスライス情報を追加する。
【0030】
同時に、最も外側のMEMは、複数のネットワークスライスを簡単に拡張でき、複数のネットワークスライスのデータを順番に配置する必要があり、且つflag_unitとL3_cacheを同じ比率で拡張する。なお、flag_unitユニットの数を増やし、比較ロジックを変更して、ネットワークスライスの粒度管理をより詳細にすることができ、たとえば、2つのスライスグループの4つのスライスが粒度管理として使用され、スライスグループ0における一つのスライスが、スライスグループ1のcacheリソースを占有させる。マルチコアネットワークシステムのコア計画に基づいて、同じネットワークスライスの異なるセットのコア実行のスライスサービスが完全に同じで、一定量の共有L2_cacheとL3_cacheを割り当て、リソースの再利用率を向上させる。
【0031】
一つの実施形態において、キャッシュにアクセスするとき、前記コアによって送信されるフェッチ命令の数はNであり、ここで、Nは1以上の正の整数である。
【0032】
本実施形態において、コアのフェッチ遅延を隠すために、各コアは一度に複数の命令をフェッチし、それによってコアとコアとの間の競合遅延を隠す。
【0033】
本実施形態において、理解のために以下のシナリオも提供される。
【0034】
各コアcoreには、第1レベルcacheとして1kのプライベートcacheがあり、16個コアごとが一つの集合setとして、32kの共有cacheを有し、第2レベルcacheは16個コアに対して完全に共有され、16個セットは一つの128kのcacheを有し、第3レベルcacheとし、第3レベルcacheは、オフチップメモリMEMに関連付けられる。core0がフェッチすると、まず、第1レベルcacheにアクセスし、ヒットした場合、命令とデータをcore0に返し、ミスした場合、第2レベルcacheにアクセスする。第2レベルcacheでヒットした場合、命令とデータをcore0に返し、かつ第1レベルcacheを更新し、第2レベルcacheでミスした場合、第3レベルcacheにアクセスし、上記のステップ同じである。ネットワークスライスのフェッチPCは10bitsであり、スライスグループにおけるスライスの優先度が同じである場合、上位6bitsがtag_addrとし、下位4bitsがtag_dataとする。スライスグループ全体に対して、スライス0とスライス1の合計tag_addrは最大12bitsである。スライスの重みに従って、スライス0のリソースは8個block、スライス1のリソースは4個blockに調整すると、スライス0のアドレスはPC[7:0]に調整され、tag_dataはPC[12:8]になり、これに対応して、スライス1のアドレスはPC[3:0]に調整され、tag_dataはPC[12:4]になる。アクセスするとき、まず、フェッチアドレスをflagと比較してから、tag_ramにおけるデータを取得し、vldとtag_dataに従って、ヒットかmissかを確定し、ヒットした場合、L3_cache dataにおける命令を取得し、ミスした場合、外部MEMからフェッチする。MEMからフェッチバックの場合、一方ではコアに返し、他方ではそれをflag_unitと比較してから、tag_ramとdata_ramを更新する。
【0035】
上記実施形態の説明を通じて、当業者は、上記実施形態による方法が、ソフトウェアと通用なハードウェアプラットフォームによって実現でき、当然、ハードウェアによっても実現できることを理解することができる。この理解に基づいて、本発明の技術考案は、ソフトウェア製品の形で具体化することができる。当該コンピュータソフトウェア製品は、一つの記憶媒体(例えば、読み取り専用メモリ(Read-Only Memory 、ROM)/ランダムアクセスメモリ(Random Access Memory 、RAM)、磁気ディスク、および光ディスク)に格納され、端末デバイス(携帯電話、コンピューター、サーバー、またはネットワーク装置などである)が本発明の複数の実施形態に記載された方法を実行できるための複数の命令を含む。
【0036】
(実施例2)
本実施形態において、上記実施例および実施形態を実現するために使用されるキャッシュの割当装置がさらに提供され、説明されたものは繰り返されない。以下で使用される「モジュール」という用語は、所定の機能を実現できるソフトウェアおよび/またはハードウェアの組み合わせである。以下の実施形態で説明される装置は、ソフトウェアによって実現することができるが、ハードウェア、またはソフトウェアとハードウェアの組み合わせも可能である。
【0037】
図6は、本発明の実施形態に係るキャッシュの割当装置の構造ブロック図である。
図6に示すように、当該装置は、コアに配置され、フェッチ命令を送信することによってアクセスされる第1レベルキャッシュおよび第2レベルキャッシュの応答がともにミス応答であることを検出した場合、第3レベルキャッシュにアクセスするように設置されたアクセスモジュール62であり、ここで、前記フェッチ命令は、アクセスされたキャッシュに命令とデータを返すことを要求することに用いられ、前記第1レベルキャッシュは前記コアのプライベートキャッシュであり、前記第2レベルキャッシュは前記コアが配置されたコアセットと対応するパブリックキャッシュであり、前記第3レベルキャッシュは複数のコアセットの間で共有されたパブリックキャッシュであり、前記第2レベルキャッシュのミス応答において、ネットワークスライス情報が含まれることと、前記第3レベルキャッシュに設置された計画ユニットに位置され、前記ネットワークスライス情報に従って、前記複数のコアセットを複数のネットワークスライスに割り当て、且つ前記複数のネットワークスライスに対して相応的なキャッシュを配置するように設置された割当モジュール64と、前記計画ユニットに位置され、前記コアへヒット応答を送信するように設置された応答モジュール66であり、ここで、前記ヒット応答は、前記コアが配置されたコアセットと対応するネットワークスライスのキャッシュにおけるデータを返すために用いられることと、を含む。
【0038】
一つの実施形態において、前記割当モジュールは、事前設定された分割規則に従って、前記複数のネットワークスライスを複数のネットワークスライスグループに分割するように設置された第1分割ユニットであり、ここで、前記ネットワークスライスグループには、少なくとも一つの前記ネットワークスライスが含まれることと、各前記ネットワークスライスグループにマーキング情報を設定するように設置された設定ユニットと、前記マーキング情報に従って複数の前記ネットワークスライスを有する前記ネットワークスライスグループにおける各ネットワークスライスに対してキャッシュリソースブロックを分割するように設置された第2分割ユニットと、を含む。
【0039】
上記複数のモジュールは、ソフトウェアまたはハードウェアによって実現できる。後者の場合、次の方法で実現することができるが、これに限定されない。上記モジュールはすべて同じプロセッサに配置されるか、または、上記複数のモジュールは任意の組み合わせで異なるプロセッサに配置される。なお、上記複数のモジュールはすべて同じネットワーク処理システムに配置される。
【0040】
(実施例3)
本発明の実施形態は、コンピュータプログラムが格納される記憶媒体をさらに提供し、ここで、当該コンピュータプログラムは、実行する時に上記のいずれかの1つの方法実施形態におけるステップを実行するように設置される。
【0041】
選択できるように、本実施形態において、上記記憶媒体は、以下のステップを実行するためのコンピュータプログラムを記憶するように設置される。
【0042】
S1:コアがフェッチ命令を送信することによってアクセスされる第1レベルキャッシュおよび第2レベルキャッシュの応答がともにミス応答であることを検出した場合、第3レベルキャッシュにアクセスし、ここで、前記フェッチ命令は、アクセスされたキャッシュに命令とデータを返すことを要求することに用いられ、前記第1レベルキャッシュは前記コアのプライベートキャッシュであり、前記第2レベルキャッシュは前記コアが配置されたコアセットと対応するパブリックキャッシュであり、前記第3レベルキャッシュは複数のコアセットの間で共有されたパブリックキャッシュであり、前記第2レベルキャッシュのミス応答において、ネットワークスライス情報が含まれる。
【0043】
S2:前記第3レベルキャッシュに設置された計画ユニットは、前記ネットワークスライス情報に従って、前記複数のコアセットを複数のネットワークスライスに割り当て、且つ前記複数のネットワークスライスに対して相応的なキャッシュを配置する。
【0044】
S3:前記計画ユニットは、前記コアへヒット応答を送信し、ここで、前記ヒット応答は、前記コアが配置されたコアセットと対応するネットワークスライスのキャッシュにおけるデータを返すために用いられる。
【0045】
選択できるように、本実施形態において、上記記憶媒体は、Uディスク、ROM、RAM、モバイルハードディスク、磁気ディスク、または光ディスクなどの多種多様なコンピュータプログラムを記憶することができる媒体を含むが、これらに限定されない。
【0046】
本発明の実施形態は、メモリおよびプロセッサを含む電子装置をさらに提供し、当該メモリにはコンピュータプログラムが格納され、当該プロセッサは、コンピュータプログラムを実行することで、前述のいずれかの1つの方法実施形態におけるステップを実行するように設置される。
【0047】
選択できるように、上記電子装置は、伝送設備および入出力設備をさらに含み、ここで、当該伝送設備は、上記プロセッサと接続され、当該入出力設備は、上記プロセッサと接続される。
【0048】
選択できるように、本実施形態において、上記プロセッサは、コンピュータプログラムを介して以下のステップを実行するように設置される。
【0049】
S1:コアがフェッチ命令を送信することによってアクセスされる第1レベルキャッシュおよび第2レベルキャッシュの応答がともにミス応答であることを検出した場合、第3レベルキャッシュにアクセスし、ここで、前記フェッチ命令は、アクセスされたキャッシュに命令とデータを返すことを要求することに用いられ、前記第1レベルキャッシュは前記コアのプライベートキャッシュであり、前記第2レベルキャッシュは前記コアが配置されたコアセットと対応するパブリックキャッシュであり、前記第3レベルキャッシュは複数のコアセットの間で共有されたパブリックキャッシュであり、前記第2レベルキャッシュのミス応答において、ネットワークスライス情報が含まれる。
【0050】
S2:前記第3レベルキャッシュに設置された計画ユニットは、前記ネットワークスライス情報に従って、前記複数のコアセットを複数のネットワークスライスに割り当て、且つ前記複数のネットワークスライスに対して相応的なキャッシュを配置する。
【0051】
S3:前記計画ユニットは、前記コアへヒット応答を送信し、ここで、前記ヒット応答は、前記コアが配置されたコアセットと対応するネットワークスライスのキャッシュにおけるデータを返すために用いられる。
【0052】
一つの実施形態において、本実施形態の特定の例について、上記実施例および実施形態で説明された例を参照することができ、本実施形態では再び説明されない。
【0053】
当然、当業者が分かるように、上記の本発明の複数のモジュールまたは複数のステップは、普通のコンピューティングデバイスによって実現でき、これらは、単一のコンピューティングデバイスに集中することもでき、複数のコンピューティングデバイスで構成されるネットワークに分散させることもできる。一つの実施形態において、上記複数のモジュールまたは複数のステップは、コンピューティングデバイスによって実行可能なプログラムコードによって実現でき、これによって、上記複数のモジュールまたは複数のステップをストレージデバイスに格納され、コンピューティングデバイスによって実行され、場合によっては、ここに示した順序と異なる順序で、示された又は記載されたステップを実行し、又は、上記複数のモジュールまたは複数のステップを複数の集積回路モジュールにそれぞれに作成し、又は、上記複数のモジュールまたは複数のステップにおける複数のモジュールまたはステップを単一の集積回路モジュールに作成することで実現する。このように、本発明は任意の特定のハードウェアとソフトウェアの組み合わせに限定されない。