JP7065099B2 - メモリシステムリソースの分割または性能監視 - Google Patents
メモリシステムリソースの分割または性能監視 Download PDFInfo
- Publication number
- JP7065099B2 JP7065099B2 JP2019536913A JP2019536913A JP7065099B2 JP 7065099 B2 JP7065099 B2 JP 7065099B2 JP 2019536913 A JP2019536913 A JP 2019536913A JP 2019536913 A JP2019536913 A JP 2019536913A JP 7065099 B2 JP7065099 B2 JP 7065099B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- partition
- partition identifier
- transaction
- execution environment
- 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.)
- Active
Links
- 238000012544 monitoring process Methods 0.000 title claims description 73
- 238000000638 solvent extraction Methods 0.000 title description 24
- 238000005192 partition Methods 0.000 claims description 448
- 238000012545 processing Methods 0.000 claims description 83
- 238000000034 method Methods 0.000 claims description 75
- 230000008569 process Effects 0.000 claims description 49
- 230000004044 response Effects 0.000 claims description 41
- 238000013468 resource allocation Methods 0.000 claims description 12
- 238000007726 management method Methods 0.000 claims description 8
- 238000003672 processing method Methods 0.000 claims description 2
- 238000013507 mapping Methods 0.000 description 24
- 239000000872 buffer Substances 0.000 description 19
- 238000013519 translation Methods 0.000 description 11
- 238000013459 approach Methods 0.000 description 10
- 230000001960 triggered effect Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 230000007704 transition Effects 0.000 description 8
- 230000000903 blocking effect Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000001934 delay Effects 0.000 description 4
- 238000007667 floating Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 238000011144 upstream manufacturing Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- WBMKMLWMIQUJDP-STHHAXOLSA-N (4R,4aS,7aR,12bS)-4a,9-dihydroxy-3-prop-2-ynyl-2,4,5,6,7a,13-hexahydro-1H-4,12-methanobenzofuro[3,2-e]isoquinolin-7-one hydrochloride Chemical compound Cl.Oc1ccc2C[C@H]3N(CC#C)CC[C@@]45[C@@H](Oc1c24)C(=O)CC[C@@]35O WBMKMLWMIQUJDP-STHHAXOLSA-N 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000009940 knitting Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
- G06F12/0848—Partitioned cache, e.g. separate instruction and operand caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
- G06F9/467—Transactional memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
- G06F9/528—Mutual exclusion algorithms by using speculative mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/28—Using a specific disk cache architecture
- G06F2212/282—Partitioned cache
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Storage Device Security (AREA)
- Memory System (AREA)
Description
複数のソフトウェア実行環境のうちの1つの命令に応答してデータ処理を実行するための処理回路と、
データにアクセスするためのメモリトランザクションを処理するための少なくとも1つのメモリシステム構成要素であって、各メモリトランザクションは、前記メモリトランザクションに関連するソフトウェア実行環境に割り当てられたパーティション識別子を指定する、少なくとも1つのメモリシステム構成要素と、
を備える装置が提供され、
処理されるメモリトランザクションに応答して、前記少なくとも1つのメモリシステム構成要素は、メモリトランザクションによって指定されたパーティション識別子に応じて選択されたメモリシステム構成要素パラメータの選択されたセットに応じてメモリトランザクションを処理するためのリソースの割り当てを制御するかもしくは前記リソースの競合を管理するか、または前記パーティション識別子に応じて、性能監視データがメモリトランザクションに応答して更新されるかどうかを制御するように構成され、
前記装置は、第1のソフトウェア実行環境によってメモリトランザクションに対して指定された仮想パーティション識別子を、前記少なくとも1つのメモリシステム構成要素に発行されたメモリトランザクションと共に指定されるべき物理パーティション識別子に再マッピングするパーティション識別子再マッピング回路を備える。
複数のソフトウェア実行環境のうちの1つの命令に応答してデータ処理を実行するための手段と、
データにアクセスするためのメモリトランザクションを処理するための少なくとも1つの手段であって、各メモリトランザクションは、前記メモリトランザクションに関連するソフトウェア実行環境に割り当てられたパーティション識別子を指定する、手段と、
を備える装置が適用され、
処理されるメモリトランザクションに応答して、前記メモリトランザクションを処理するための手段は、メモリトランザクションによって指定されたパーティション識別子に応じて選択されたメモリシステム構成要素パラメータの選択されたセットに応じてメモリトランザクションを処理するためのリソースの割り当てを制御するかもしくは前記リソースの競合を管理するか、または性能監視データが前記パーティション識別子に応じて更新されるかどうかを制御するように構成され、
前記装置は、第1のソフトウェア実行環境によってメモリトランザクションに対して指定された仮想パーティション識別子を、メモリトランザクションを処理するための前記少なくとも1つの手段に発行されたメモリトランザクションと共に指定される物理パーティション識別子に再マッピングする手段を備える。
複数のソフトウェア実行環境のうちの1つの命令を処理するステップと、
少なくとも1つのメモリシステム構成要素にメモリトランザクションを発行するステップであって、各メモリトランザクションは、前記メモリトランザクションに関連するソフトウェア実行環境に割り当てられたパーティション識別子を指定する、ステップと、
を含むデータ処理方法が提供され、
処理されるメモリトランザクションに応答して、前記メモリシステム構成要素は、前記メモリトランザクションによって指定された前記パーティション識別子に応じて選択されたメモリシステム構成要素パラメータの選択されたセットに応じて前記メモリトランザクションを処理するためのリソースの割り当てを制御するかもしくは前記リソースの競合を管理するか、または前記パーティション識別子に応じて、性能監視データが前記メモリトランザクションに応答して更新されるかどうかを制御し、
第1のソフトウェア実行環境によってメモリトランザクションに対して指定された仮想パーティション識別子は、前記少なくとも1つのメモリシステム構成要素に発行されたメモリトランザクションと共に指定される物理パーティション識別子に再マッピングされる。
・MPAM2_EL2のEL1_WRINH=0のときはNS_EL1からMPAM1_EL1を書き込むことができるが、EL1_WRINH=1のときはNS_EL1からMPAM1_EL1への書き込みがEL2にトラップする;
・MPAM3_EL3のEL2_WRINH=0の場合、EL2からMPAM2_EL2を書き込むことができるが、EL2_WRINH=0の場合、EL2からMPAM2_EL2への書き込みがEL3にトラップする;
・MPAM3_EL3のEL1_S_WRINH=0の場合、S_EL1からMPAM1_EL1_Sを書き込むことができるが、EL1_S_WRINH=1の場合、S_EL1からMPAM1_EL1_Sへの書き込みがEL3にトラップする。
したがって、より高い例外状態によって許可されていないときに同じ例外状態内からパーティションIDレジスタ100を設定しようとすると、そのより高い例外状態への切り替えをトリガする例外イベントが引き起こされる。より高い例外状態にある例外ハンドラは、パーティションIDの設定方法を決定できる。
・現在の例外レベルがEL0で、PLK_EL0=0の場合、MPAM0_EL1が選択されたレジスタである;
・(i)現在の例外レベルがEL1であるか、(ii)現在の例外レベルがEL0で、PLK_EL0=1の場合、MPAM1_EL1が選択されたレジスタである;
・現在の例外状態がEL2の場合、選択されたレジスタはMPAM2_EL2である;
・現在の例外状態がEL3の場合、選択されたレジスタはMPAM3_EL3である。
・EL0_PARTID_RMEN:MPAM0_EL1のPARTIDの再マッピングを有効にする
・EL1_PARTID_RMEN:MPAM1_EL1のPARTIDの再マッピングを有効にする。
・PARTID_MAX:PEのハードウェア実装でサポートされている最大パーティションID;
・HAS_VCR:仮想化機能が提供されるかどうか(したがって、仮想化制御レジスタ116、再マッピング有効レジスタ124、再マッピングレジスタ126,128、および再マッピング回路130が提供されるかどうか);
・PARTID_REMAP_MAX:PEのハードウェア実装でサポートされている最大仮想パーティションID;
・PMG_MAX:PEのハードウェア実装でサポートされている最大PMG値;
・PMG_REMAP_MAX :(オプション)-PMGフィールドの再マッピングをサポートする実施形態では、PEのハードウェア実装によってサポートされている最大仮想性能監視パーティションID;
・HAS_MPAMF:PE内にMPAM分割制御機能が存在することを示す。例えば、PEに、内部キャッシュ、TLB、またはMPAM分割制御機能を有するその他の内部メモリシステム構成要素がある場合、これを設定できる。他のメモリシステム構成要素によって使用するためにパーティションIDをメモリトランザクションに付加することができるが、それ自体がメモリリソースまたは性能監視リソースを分割するためにパーティションIDを使用する分割制御機能を有していないPEは、HAS_MPAMFをクリアする。
・HAS_S:セキュア状態がサポートされているかどうかを指定する。
・S_PARTID_MAX:セキュア状態のPARTIDの最大値
・S_PMG_MAX:セキュア状態のPMGの最大値。
・キャッシュされたデータ306(これは、任意のキャッシュされた情報であり得る-データ値だけでなく、キャッシュのタイプに応じた命令またはアドレス変換データも包含する);
・エントリ内の対応するデータが有効かどうかを指定する有効ビット308;
・キャッシュされたデータに関連するアドレスの一部を示すタグフィールド310;
・データをキャッシュに割り当てたメモリトランザクションのパーティションID314;
・割り当てメモリトランザクションの性能監視グループID316;
・割り当てメモリトランザクションのセキュリティ状態表示318(そのメモリトランザクションがどのセキュリティ状態から発行されたかを示す);
・システム設計がキャッシュラインごとに保持する必要がある可能性があるその他の情報、例えば、コヒーレンス状態やアドレス空間インジケータ(ASI)。
メインメモリチャネルの帯域幅は分割されてもよい。2つの帯域幅制御方式が提供されてもよい。メモリチャネルは、以下のうちの一方または両方をオプションで実装できる。
・競合がある場合でも、パーティションが要求する最小帯域幅
・競合がある場合にパーティションに使用可能な最大帯域幅制限
最小帯域幅制御方式は、現在の帯域幅が最小値を下回るとパーティション優先度からの要求を出し、最小帯域幅を超えるとその要求が他の通常の要求と競合できるようする。パーティションの最小帯域幅を下回る要求は、チャネルでスケジュールされる可能性が最も高い。最小帯域幅制御方式は、アカウンティング期間中にメモリ帯域幅を追跡する。
・アカウンティング期間中に追跡されたパーティションの帯域幅使用量が現在パーティションの最小値を下回っている場合、その要求はチャネル帯域幅を使用するように優先的に選択される。
・アカウンティング期間中に追跡されたパーティションの帯域幅使用量が現在パーティションの最小値を超えている場合、その要求は他の通常の優先度要求と競合してチャネルの帯域幅を使用する。
最大帯域幅制限制御方式は、アカウンティング期間中にその最大帯域幅制限までパーティションの通常の優先度を与える。アカウンティング期間中に追跡されたパーティションの帯域幅使用量が現在パーティションの最大値を下回っている場合、その要求は通常の優先度でメモリチャネルでのスケジューリングを求めて競合する。アカウンティング期間中に追跡されたパーティションの帯域幅使用量が現在パーティションの最大帯域幅制限を超えている場合、その要求は他の優先度の低い要求と競合してチャネルで帯域幅を使用する。
このドキュメントに記載されている他のメモリシステムリソースとは異なり、プライオリティはメモリシステムリソースの割り当てに直接影響するのではなく、リソースへのアクセスに関して発生する競合に影響する。適切に設定されたシステムがプライオリティを付けるために性能に大きな影響を与えることはめったにないが、プライオリティは、即時または持続を問わず、オーバーサブスクライブの状況で重要な役割を果たす。したがって、「プライオリティ分割」は、パーティション間のメモリシステムの影響を分離するのに役立つツールとして使用できる。
・内部プライオリティは、このメモリシステム構成要素の内部動作で使用されるプライオリティを制御する。それらを、内部動作を優先するためにメモリシステム構成要素内で使用することができる。例えば、メモリコントローラは、帯域幅の割り当てが明確な勝者を選ばない場合、内部のプライオリティを使用して待機中の要求を選択できる。
・下流プライオリティは、他のメモリシステム構成要素(例えば、相互接続またはメモリコントローラ)に下流で伝達されるプライオリティを制御する。「下流」とは、要求に対する通信方向を指す。「上流」応答は通常、それを生成した要求と同じ転送プライオリティを使用する。メモリシステム構成要素は、プライオリティ分割を有していない下流構成要素にプライオリティを示すために、下流プライオリティを使用する。これは、下流にある相互接続構成要素に転送プライオリティを設定するために使用できる。
Claims (21)
- 複数のソフトウェア実行環境のうちの1つの命令に応答してデータ処理を実行するための処理回路と、
データにアクセスするためのメモリトランザクションを処理するための少なくとも1つのメモリシステム構成要素であって、各メモリトランザクションは、前記メモリトランザクションに関連するソフトウェア実行環境に割り当てられたパーティション識別子を指定する、少なくとも1つのメモリシステム構成要素と、
を備える装置であって、
処理されるメモリトランザクションに応答して、前記少なくとも1つのメモリシステム構成要素は、前記メモリトランザクションによって指定された前記パーティション識別子に応じて選択されたメモリシステム構成要素パラメータの選択されたセットに応じて前記メモリトランザクションを処理するためのリソースの割り当てを制御するかもしくは前記リソースの競合を管理するか、または前記パーティション識別子に応じて、性能監視データが前記メモリトランザクションに応答して更新されるかどうかを制御するように構成され、
前記装置は、第1のソフトウェア実行環境によってメモリトランザクションに対して指定された仮想パーティション識別子を、前記少なくとも1つのメモリシステム構成要素に発行された前記メモリトランザクションと共に指定されるべき物理パーティション識別子に再マッピングするパーティション識別子再マッピング回路を備える、
装置。 - 前記パーティション識別子再マッピング回路が、前記第1のソフトウェア実行環境よりも高い特権レベルで前記処理回路によって実行される第2のソフトウェア実行環境の命令に応答して前記処理回路によって設定された構成データに応じて前記仮想パーティション識別子を前記物理パーティション識別子に再マッピングするように構成される、請求項1に記載の装置。
- 前記第2のソフトウェア実行環境がハイパーバイザまたはホストオペレーティングシステムを含み、前記第1のソフトウェア実行環境はゲストオペレーティングシステムまたはアプリケーションを含む、請求項2に記載の装置。
- 1つまたは複数の再マッピングエントリを格納するように構成された少なくとも1つの再マッピングレジスタを備え、各再マッピングエントリが所与の仮想パーティション識別子に関連付けられ、その仮想パーティション識別子に対応する前記物理パーティション識別子を指定する、請求項1から3のいずれか一項に記載の装置。
- 前記パーティション識別子再マッピング回路によってサポートされる最大仮想パーティション識別子の指示を格納するための制御レジスタを備える、請求項4に記載の装置。
- 各再マッピングエントリは、前記再マッピングエントリが有効か無効かを示す有効フラグと関連付けられている、請求項4または5に記載の装置。
- 前記対応する再マッピングエントリが無効である仮想パーティション識別子を指定するメモリトランザクションを前記第1のソフトウェア実行環境が発行することに応答して、前記パーティション識別子再マッピング回路は、前記仮想パーティション識別子を所定の物理パーティション識別子に再マッピングするように構成される、請求項6に記載の装置。
- 前記対応する再マッピングエントリが無効である仮想パーティション識別子を指定するメモリトランザクションを前記第1のソフトウェア実行環境が発行することに応答して、前記処理回路は、前記第1のソフトウェア実行環境よりも高い特権レベルで前記処理回路によって実行される第2の実行環境への実行の切り替えをトリガするために例外イベントをシグナリングするように構成される、請求項6に記載の装置。
- 前記装置が、前記第1のソフトウェア実行環境によって発行されたメモリトランザクションと共に指定されるべき仮想パーティション識別子を指定するパーティション識別子レジスタを備え、
前記対応する再マッピングエントリが無効である仮想パーティション識別子を指定するための前記パーティション識別子レジスタの更新に応答して、前記処理回路は、前記第1のソフトウェア実行環境よりも高い特権レベルで前記処理回路によって実行される第2の実行環境への実行の切り替えをトリガするために例外イベントをシグナリングするように構成される、請求項6から8のいずれか一項に記載の装置。 - 前記処理回路が、前記第1のソフトウェア実行環境に関連する命令アクセスメモリトランザクションおよびデータアクセスメモリトランザクションに対して異なるパーティション識別子を指定するように構成され、
前記パーティション識別子再マッピング回路は、再マッピングエントリの共有セットを使用して、前記命令アクセスメモリトランザクションおよび前記データアクセスメモリトランザクションの両方に対してパーティション識別子を再マッピングするように構成される、
請求項4から9のいずれか一項に記載の装置。 - 前記第1のソフトウェア実行環境が前記メモリシステム構成要素パラメータの複数のセットのうちの1つへのアクセスをトリガしたことに応答して、前記処理回路は、前記第1のソフトウェア実行環境よりも高い特権レベルで前記処理回路によって実行される第2の実行環境実行の切り替えをトリガするために例外イベントをシグナリングするように構成される、請求項1から10のいずれか一項に記載の装置。
- 前記装置が、メモリトランザクションのために指定されることが許可される最大パーティション識別子の指示を格納するための制御レジスタを備え、
前記第1のソフトウェア実行環境が前記制御レジスタ内の前記最大パーティション識別子へのアクセスをトリガしたことに応答して、前記処理回路は、前記第1のソフトウェア実行環境よりも高い特権レベルで前記処理回路によって実行される第2の実行環境への実行の切り替えをトリガするために例外イベントをシグナリングするように構成される、請求項1から11のいずれか一項に記載の装置。 - 前記装置が、前記パーティション識別子再マッピング回路による仮想パーティション識別子から物理パーティション識別子への再マッピングが有効か無効かを指定する仮想化有効化情報を格納する制御レジスタを備え、
前記仮想化有効化情報が、仮想パーティション識別子から物理パーティション識別子への再マッピングが無効であることを指定するとき、前記少なくとも1つのメモリシステム構成要素への前記メモリトランザクションと共に発行される前記パーティション識別子は、前記第1のソフトウェア実行環境によって前記メモリトランザクションに対して指定された前記パーティション識別子と同じである、
請求項1から12のいずれか一項に記載の装置。 - 前記処理回路が、前記第1のソフトウェア実行環境よりも高い特権レベルで実行された他の実行環境の命令に応答して、前記第1のソフトウェア実行環境に割り当てられた前記仮想パーティション識別子を設定するように構成される、請求項1から13のいずれか一項に記載の装置。
- 前記装置が、前記第1のソフトウェア実行環境が前記第1のソフトウェア実行環境に割り当てられた前記仮想パーティション識別子を設定することを許可されているかどうかを指定する設定値を格納する制御レジスタを備え、前記処理回路は、前記他の実行環境の命令に応答して前記設定値を設定するように構成される、請求項14に記載の装置。
- 前記第1のソフトウェア実行環境が前記第1のソフトウェア実行環境に割り当てられた前記仮想パーティション識別子を設定することを許可されていないことを前記設定値が指定するときに、前記第1のソフトウェア実行環境が前記第1のソフトウェア実行環境に割り当てられた前記仮想パーティション識別子を設定しようと試みることに応答して、前記処理回路は、前記他の実行環境への実行の切り替えをトリガするために例外イベントをシグナリングするように構成される、請求項15に記載の装置。
- 前記少なくとも1つのメモリシステム構成要素が、
キャッシュ、
メモリ管理ユニット、
相互接続、および
メモリコントローラ
のうちの少なくとも1つを備える、請求項1から16のいずれか一項に記載の装置。 - 前記少なくとも1つのメモリシステム構成要素が、前記メモリシステム構成要素パラメータの選択されたセットに応じて、前記メモリトランザクションに応答してキャッシュへのデータの割り当てを制御するように構成される前記キャッシュを備える、請求項1から17のいずれか一項に記載の装置。
- 前記少なくとも1つのメモリシステム構成要素が、前記メモリシステム構成要素パラメータの選択されたセットに応じて、前記メモリトランザクションを処理するための帯域幅の割り当てを制御するように構成される相互接続またはメモリコントローラを備える、請求項1から18のいずれか一項に記載の装置。
- 複数のソフトウェア実行環境のうちの1つの命令に応答してデータ処理を実行するための手段と、
データにアクセスするためのメモリトランザクションを処理するための少なくとも1つの手段であって、各メモリトランザクションは、前記メモリトランザクションに関連するソフトウェア実行環境に割り当てられたパーティション識別子を指定する、手段と、
を備える装置であって、
処理されるメモリトランザクションに応答して、前記メモリトランザクションを処理するための手段は、前記メモリトランザクションによって指定された前記パーティション識別子に応じて選択されたメモリシステム構成要素パラメータの選択されたセットに応じて前記メモリトランザクションを処理するためのリソースの割り当てを制御するかもしくは前記リソースの競合を管理するか、または性能監視データが前記パーティション識別子に応じて更新されるかどうかを制御するように構成され、
前記装置は、第1のソフトウェア実行環境によってメモリトランザクションに対して指定された仮想パーティション識別子を、メモリトランザクションを処理するための前記少なくとも1つの手段に発行された前記メモリトランザクションと共に指定される物理パーティション識別子に再マッピングするための手段を備える、
装置。 - 複数のソフトウェア実行環境のうちの1つの命令を処理するステップと、
少なくとも1つのメモリシステム構成要素にメモリトランザクションを発行するステップであって、各メモリトランザクションは、前記メモリトランザクションに関連するソフトウェア実行環境に割り当てられたパーティション識別子を指定する、ステップと、
を含むデータ処理方法であって、
処理されるメモリトランザクションに応答して、前記メモリシステム構成要素は、前記メモリトランザクションによって指定された前記パーティション識別子に応じて選択されたメモリシステム構成要素パラメータの選択されたセットに応じて前記メモリトランザクションを処理するためのリソースの割り当てを制御するかもしくは前記リソースの競合を管理するか、または前記パーティション識別子に応じて、性能監視データが前記メモリトランザクションに応答して更新されるかどうかを制御し、
第1のソフトウェア実行環境によってメモリトランザクションに対して指定された仮想パーティション識別子は、前記少なくとも1つのメモリシステム構成要素に発行された前記メモリトランザクションと共に指定される物理パーティション識別子に再マッピングされる、
方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/405,661 US10394454B2 (en) | 2017-01-13 | 2017-01-13 | Partitioning of memory system resources or performance monitoring |
US15/405,661 | 2017-01-13 | ||
PCT/GB2017/053661 WO2018130800A1 (en) | 2017-01-13 | 2017-12-05 | Partitioning of memory system resources or performance monitoring |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020504396A JP2020504396A (ja) | 2020-02-06 |
JP7065099B2 true JP7065099B2 (ja) | 2022-05-11 |
Family
ID=60765992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019536913A Active JP7065099B2 (ja) | 2017-01-13 | 2017-12-05 | メモリシステムリソースの分割または性能監視 |
Country Status (7)
Country | Link |
---|---|
US (1) | US10394454B2 (ja) |
EP (1) | EP3568763A1 (ja) |
JP (1) | JP7065099B2 (ja) |
KR (1) | KR102471308B1 (ja) |
CN (1) | CN110140111B (ja) |
IL (1) | IL267234B (ja) |
WO (1) | WO2018130800A1 (ja) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180203807A1 (en) | 2017-01-13 | 2018-07-19 | Arm Limited | Partitioning tlb or cache allocation |
JP7081321B2 (ja) * | 2018-06-13 | 2022-06-07 | 富士通株式会社 | 演算処理装置、情報処理装置及び演算処理装置の制御方法 |
US10942904B2 (en) * | 2018-10-09 | 2021-03-09 | Arm Limited | Mapping first identifier to second identifier |
US11113091B2 (en) * | 2019-03-12 | 2021-09-07 | Arm Limited | Apparatus for forwarding a mediated request to processing circuitry in response to a configuration request |
CN110058814B (zh) * | 2019-03-25 | 2022-09-06 | 中国航空无线电电子研究所 | 分区操作系统中安全地获取非活动分区内存快照的系统 |
US11256625B2 (en) * | 2019-09-10 | 2022-02-22 | Arm Limited | Partition identifiers for page table walk memory transactions |
US11237985B2 (en) | 2019-10-29 | 2022-02-01 | Arm Limited | Controlling allocation of entries in a partitioned cache |
US11442771B2 (en) | 2020-01-02 | 2022-09-13 | Arm Limited | Constraints on updating or usage of memory system component resource control parameters |
WO2022133845A1 (en) * | 2020-12-24 | 2022-06-30 | Intel Corporation | Processor including monitoring circuitry for virtual counters |
US11620217B2 (en) * | 2021-03-31 | 2023-04-04 | Arm Limited | Partition identifier space selection |
CN113381974A (zh) * | 2021-05-06 | 2021-09-10 | 北京工业大学 | 一种应用于专用通信的现场总线与Modbus-TCP之间的协议转换方法 |
US12001705B2 (en) | 2021-05-26 | 2024-06-04 | Arm Limited | Memory transaction parameter settings |
US11662931B2 (en) * | 2021-05-26 | 2023-05-30 | Arm Limited | Mapping partition identifiers |
US11323355B1 (en) * | 2021-09-01 | 2022-05-03 | Microsoft Technology Licensing, Llc | Partition abstraction in distributed computing systems |
CN118140215A (zh) | 2021-09-30 | 2024-06-04 | 华为技术有限公司 | 一种内存控制器和带内存控制器的数据处理系统 |
US12056058B2 (en) | 2022-06-27 | 2024-08-06 | Arm Limited | Cache replacement control |
CN115065674B (zh) * | 2022-08-03 | 2023-03-24 | 北京金堤科技有限公司 | 一种通信方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006506751A (ja) | 2002-11-18 | 2006-02-23 | エイアールエム リミテッド | 安全モードと非安全モードとを切り換えるプロセッサ |
JP2010518472A (ja) | 2007-02-06 | 2010-05-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プロセッサ・システムにおいて命令レベルでのリソース割り当ての識別を可能にする方法および装置 |
WO2016203188A1 (en) | 2015-06-16 | 2016-12-22 | Arm Limited | Protected exception handling |
Family Cites Families (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2539433A (en) * | 1948-03-20 | 1951-01-30 | Int Standard Electric Corp | Circularly polarized antenna |
US4376297A (en) | 1978-04-10 | 1983-03-08 | Signetics Corporation | Virtual memory addressing device |
US5404476A (en) | 1989-02-10 | 1995-04-04 | Nec Corporation | Multiprocessing system having a single translation lookaside buffer with reduced processor overhead |
US5790979A (en) | 1993-05-10 | 1998-08-04 | Liedtke; Jochen | Translation method in which page-table progression is dynamically determined by guard-bit sequences |
JPH0981459A (ja) | 1995-09-19 | 1997-03-28 | Hitachi Ltd | アドレス変換バッファ装置 |
KR100253943B1 (ko) * | 1997-08-30 | 2000-04-15 | 윤종용 | 조리개자동제어방법 |
IE20000203A1 (en) * | 1999-03-25 | 2001-02-21 | Converge Net Technologies Inc | Storage domain management system |
US20020091722A1 (en) * | 2000-03-03 | 2002-07-11 | Surgient Networks, Inc. | Systems and methods for resource management in information storage environments |
US7346757B2 (en) | 2002-10-08 | 2008-03-18 | Rmi Corporation | Advanced processor translation lookaside buffer management in a multithreaded system |
WO2005036367A2 (en) | 2003-10-08 | 2005-04-21 | Unisys Corporation | Virtual data center that allocates and manages system resources across multiple nodes |
US7430643B2 (en) | 2004-12-30 | 2008-09-30 | Sun Microsystems, Inc. | Multiple contexts for efficient use of translation lookaside buffer |
US8151082B2 (en) * | 2007-12-06 | 2012-04-03 | Fusion-Io, Inc. | Apparatus, system, and method for converting a storage request into an append data storage command |
GB2450906B (en) * | 2007-07-11 | 2012-05-16 | Advanced Risc Mach Ltd | Memory transaction handling in a data processing apparatus |
GB2460393B (en) * | 2008-02-29 | 2012-03-28 | Advanced Risc Mach Ltd | A data processing apparatus and method for controlling access to secure memory by virtual machines executing on processing circuitry |
US7937556B2 (en) | 2008-04-30 | 2011-05-03 | Oracle America, Inc. | Minimizing TLB comparison size |
US9367363B2 (en) | 2008-05-12 | 2016-06-14 | Oracle America, Inc. | System and method for integrating best effort hardware mechanisms for supporting transactional memory |
US8296547B2 (en) | 2008-08-27 | 2012-10-23 | International Business Machines Corporation | Loading entries into a TLB in hardware via indirect TLB entries |
US8316194B2 (en) | 2009-12-15 | 2012-11-20 | Intel Corporation | Mechanisms to accelerate transactions using buffered stores |
US20130013889A1 (en) | 2011-07-06 | 2013-01-10 | Jaikumar Devaraj | Memory management unit using stream identifiers |
US9886312B2 (en) | 2011-09-28 | 2018-02-06 | Microsoft Technology Licensing, Llc | Dynamic provisioning of virtual video memory based on virtual video controller configuration |
US9923826B2 (en) * | 2011-10-14 | 2018-03-20 | Citrix Systems, Inc. | Systems and methods for dynamic adaptation of network accelerators |
US9069598B2 (en) | 2012-01-06 | 2015-06-30 | International Business Machines Corporation | Providing logical partions with hardware-thread specific information reflective of exclusive use of a processor core |
KR102088075B1 (ko) * | 2012-06-22 | 2020-03-11 | 다우 글로벌 테크놀로지스 엘엘씨 | 아세틸화 폴리올 히드록시스테아레이트 가소제 및 가소화된 중합체 조성물 |
US9485077B2 (en) * | 2012-07-06 | 2016-11-01 | Broadcom Corporation | System and method for energy efficient ethernet with asymmetric traffic profiles |
EP2872167A4 (en) * | 2012-07-12 | 2015-06-03 | Prec Dermatology Inc | TOPICAL FORMULATIONS CONTAINING DNA REPAIR ENZYMES AND METHODS OF USING THE SAME |
US9390055B2 (en) * | 2012-07-17 | 2016-07-12 | Coho Data, Inc. | Systems, methods and devices for integrating end-host and network resources in distributed memory |
KR20140011821A (ko) * | 2012-07-20 | 2014-01-29 | 유제우 | 유압장치를 응용한 복합 면진장치 |
KR20150039763A (ko) * | 2012-08-06 | 2015-04-13 | 지멘스 악티엔게젤샤프트 | 외부 영역에서 교차되는 블레이드 단부를 갖는 와류 발생기를 구비한 버너 내 공기와 연료 혼합물의 국부적 개선 |
US10169091B2 (en) | 2012-10-25 | 2019-01-01 | Nvidia Corporation | Efficient memory virtualization in multi-threaded processing units |
WO2014100698A1 (en) | 2012-12-20 | 2014-06-26 | Massachusetts Institute Of Technology | Methods and systems for enhancing hardware transactions using hardware transactions in software slow-path |
WO2014101218A1 (zh) * | 2012-12-31 | 2014-07-03 | 华为技术有限公司 | 一种计算存储融合的集群系统 |
JP6106765B2 (ja) | 2013-02-05 | 2017-04-05 | エイアールエム リミテッド | メモリ保護ユニットを使用して、仮想化をサポートするゲスト・オペレーティング・システム |
WO2014146024A1 (en) * | 2013-03-15 | 2014-09-18 | Datatempest, Llc | Databases and methods of storing, retrieving, and processing data |
US20140259333A1 (en) * | 2013-03-15 | 2014-09-18 | Russell Brands, Llc | Foam material for padding and body protection |
EP2818724B1 (de) * | 2013-06-27 | 2020-09-23 | MTU Aero Engines GmbH | Strömungsmaschine und Verfahren |
DE102014206011A1 (de) * | 2013-07-02 | 2015-01-08 | Siemens Aktiengesellschaft | Verfahren zur Aufnahme von Magnetresonanzdaten eines ein Metallobjekt enthaltenden Zielbereichs und Magnetresonanzeinrichtung |
CN103369423A (zh) * | 2013-07-25 | 2013-10-23 | 瑞声科技(南京)有限公司 | 入耳式耳机 |
US9088501B2 (en) * | 2013-07-31 | 2015-07-21 | Citrix Systems, Inc. | Systems and methods for least connection load balancing by multi-core device |
US20150089185A1 (en) * | 2013-09-23 | 2015-03-26 | International Business Machines Corporation | Managing Mirror Copies without Blocking Application I/O |
US9298623B2 (en) | 2013-09-26 | 2016-03-29 | Globalfoundries Inc. | Identifying high-conflict cache lines in transactional memory computing environments |
US9465673B2 (en) | 2014-02-27 | 2016-10-11 | International Business Machines Corporation | Deferral instruction for managing transactional aborts in transactional memory computing environments to complete transaction by deferring disruptive events handling |
US9424072B2 (en) | 2014-02-27 | 2016-08-23 | International Business Machines Corporation | Alerting hardware transactions that are about to run out of space |
US9471371B2 (en) | 2014-02-27 | 2016-10-18 | International Business Machines Corporation | Dynamic prediction of concurrent hardware transactions resource requirements and allocation |
FR3019921B1 (fr) | 2014-04-10 | 2017-08-11 | Commissariat Energie Atomique | Systeme de calcul distribue mettant en œuvre une memoire transactionnelle materielle de type non-speculatif et son procede d'utilisation pour le calcul distribue |
US9323692B2 (en) * | 2014-04-17 | 2016-04-26 | International Business Machines Corporation | Managing translation of a same address across multiple contexts using a same entry in a translation lookaside buffer |
US9317443B2 (en) | 2014-04-17 | 2016-04-19 | International Business Machines Corporation | Managing translations across multiple contexts using a TLB with entries directed to multiple privilege levels and to multiple types of address spaces |
US9477469B2 (en) | 2014-06-02 | 2016-10-25 | International Business Machines Corporation | Branch predictor suppressing branch prediction of previously executed branch instructions in a transactional execution environment |
US10067960B2 (en) | 2015-06-04 | 2018-09-04 | Microsoft Technology Licensing, Llc | Controlling atomic updates of indexes using hardware transactional memory |
GB2539436B (en) | 2015-06-16 | 2019-02-06 | Advanced Risc Mach Ltd | Secure initialisation |
GB2539429B (en) | 2015-06-16 | 2017-09-06 | Advanced Risc Mach Ltd | Address translation |
GB2539435B8 (en) | 2015-06-16 | 2018-02-21 | Advanced Risc Mach Ltd | Data processing memory access control, in which an owning process for a region of memory is specified independently of privilege level |
US9875186B2 (en) * | 2015-07-08 | 2018-01-23 | Futurewei Technologies, Inc. | System and method for data caching in processing nodes of a massively parallel processing (MPP) database system |
-
2017
- 2017-01-13 US US15/405,661 patent/US10394454B2/en active Active
- 2017-12-05 KR KR1020197022060A patent/KR102471308B1/ko active IP Right Grant
- 2017-12-05 JP JP2019536913A patent/JP7065099B2/ja active Active
- 2017-12-05 EP EP17817826.5A patent/EP3568763A1/en active Pending
- 2017-12-05 WO PCT/GB2017/053661 patent/WO2018130800A1/en unknown
- 2017-12-05 CN CN201780082436.1A patent/CN110140111B/zh active Active
-
2019
- 2019-06-11 IL IL267234A patent/IL267234B/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006506751A (ja) | 2002-11-18 | 2006-02-23 | エイアールエム リミテッド | 安全モードと非安全モードとを切り換えるプロセッサ |
JP2010518472A (ja) | 2007-02-06 | 2010-05-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プロセッサ・システムにおいて命令レベルでのリソース割り当ての識別を可能にする方法および装置 |
WO2016203188A1 (en) | 2015-06-16 | 2016-12-22 | Arm Limited | Protected exception handling |
Also Published As
Publication number | Publication date |
---|---|
JP2020504396A (ja) | 2020-02-06 |
IL267234A (en) | 2019-08-29 |
KR20190104356A (ko) | 2019-09-09 |
KR102471308B1 (ko) | 2022-11-28 |
EP3568763A1 (en) | 2019-11-20 |
CN110140111B (zh) | 2023-09-05 |
US10394454B2 (en) | 2019-08-27 |
US20180203609A1 (en) | 2018-07-19 |
IL267234B (en) | 2021-04-29 |
CN110140111A (zh) | 2019-08-16 |
WO2018130800A1 (en) | 2018-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7065099B2 (ja) | メモリシステムリソースの分割または性能監視 | |
JP7245779B2 (ja) | Tlbまたはキャッシュ割り当ての分割 | |
JP7265478B2 (ja) | メモリ分割 | |
JP7065098B2 (ja) | メモリシステムリソースの分割または性能監視 | |
JP7128822B2 (ja) | メモリシステムリソースの分割または性能監視 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201127 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211201 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220228 |
|
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: 20220401 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220425 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7065099 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |