JP7065098B2 - メモリシステムリソースの分割または性能監視 - Google Patents
メモリシステムリソースの分割または性能監視 Download PDFInfo
- Publication number
- JP7065098B2 JP7065098B2 JP2019536890A JP2019536890A JP7065098B2 JP 7065098 B2 JP7065098 B2 JP 7065098B2 JP 2019536890 A JP2019536890 A JP 2019536890A JP 2019536890 A JP2019536890 A JP 2019536890A JP 7065098 B2 JP7065098 B2 JP 7065098B2
- Authority
- JP
- Japan
- Prior art keywords
- partition
- memory
- partition identifier
- transaction
- memory system
- 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 78
- 238000000638 solvent extraction Methods 0.000 title claims description 27
- 238000005192 partition Methods 0.000 claims description 481
- 238000012545 processing Methods 0.000 claims description 94
- 238000000034 method Methods 0.000 claims description 75
- 230000008569 process Effects 0.000 claims description 48
- 230000004044 response Effects 0.000 claims description 35
- 238000013468 resource allocation Methods 0.000 claims description 12
- 238000007726 management method Methods 0.000 claims description 8
- 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
- 238000003672 processing method Methods 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
- 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
- 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/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
- 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/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/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)
- Storage Device Security (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Description
複数の動作状態のうちの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 (20)
- 複数の動作状態のうちの1つで命令を処理するための処理回路と、
データにアクセスするためのメモリトランザクションを処理するための少なくとも1つのメモリシステム構成要素と、
複数のパーティション識別子レジスタであって、各パーティション識別子レジスタは、前記複数の動作状態のうちのそれぞれ1つに対応し、その動作状態に関連するパーティション識別子を指定する、複数のパーティション識別子レジスタと、
を備える装置であって、
前記処理回路は、前記処理回路の現在の動作状態に応じて選択された、選択されたパーティション識別子レジスタに格納された前記パーティション識別子に依存するパーティション識別子を指定するメモリトランザクションを発行するように構成され、
処理されるメモリトランザクションに応答して、前記少なくとも1つのメモリシステム構成要素は、前記メモリトランザクションによって指定された前記パーティション識別子に応じて選択されたメモリシステム構成要素パラメータの選択されたセットに応じて前記メモリトランザクションを処理するためのリソースの割り当てを制御するかもしくは前記リソースの競合を管理するか、または前記パーティション識別子に応じて、性能監視データが前記メモリトランザクションに応答して更新されるかどうかを制御するように構成される、
装置。 - 前記複数の動作状態が複数の例外レベルを含み、前記処理回路は、前記処理回路の現在の例外レベルに応じて前記選択されたパーティション識別子レジスタを選択するように構成される、請求項1に記載の装置。
- 最も高い例外レベル以外の所与の例外レベルに対応する所与のパーティション識別子レジスタについて、前記処理回路が、前記所与の例外レベルよりもより高い例外レベルの処理回路によって実行された命令に応答して前記所与のパーティション識別子レジスタによって指定された前記パーティション識別子を設定するように構成される、請求項2に記載の装置。
- 前記処理回路が、前記所与の例外レベルよりもより高い例外レベルで実行される命令に応答して設定された第1の設定値に応じて、前記所与の例外レベルで実行される命令が前記所与のパーティション識別子レジスタによって指定される前記パーティション識別子を設定できるかどうかを決定するように構成される、請求項3に記載の装置。
- 前記第1の設定値によって禁止されているときに所与のパーティション識別子レジスタによって指定された前記パーティション識別子を設定しようと試みている前記所与の例外レベルで実行される命令に応答して、前記処理回路が、前記より高い例外レベルへの切り替えをトリガするために例外イベントをシグナリングするように構成される、請求項4に記載の装置。
- 前記第1の設定値が、前記より高い例外レベルに対応する前記パーティション識別子レジスタに格納される、請求項4または5に記載の装置。
- 前記現在の例外レベルが最も高い例外レベル以外の所定の例外レベルである場合、前記処理回路は、第2の設定値に応じて、前記選択されたパーティション識別子レジスタが、前記所定の例外レベルに対応する前記パーティション識別子レジスタであるか、または前記所定の例外レベルよりもより高い例外レベルに対応する前記パーティション識別子レジスタであるかを選択するように構成される、請求項2から6のいずれか一項に記載の装置。
- 前記第2の設定値が、前記より高い例外レベルに対応する前記パーティション識別子レジスタに格納される、請求項7に記載の装置。
- 前記複数の動作状態が複数のセキュリティ状態を含み、前記セキュリティ状態のうちの1つにおいて、前記処理回路が、他の前記セキュリティ状態においてアクセスできないデータへのアクセスを有する、請求項1から8のいずれか一項に記載の装置。
- 前記処理回路が、前記処理回路の現在のセキュリティ状態に応じて前記選択されたパーティション識別子レジスタを選択するように構成される、請求項9に記載の装置。
- 前記複数のセキュリティ状態のうちの少なくとも1つにあるとき、前記処理回路が、複数の例外レベルのうちの1つで命令を実行するように構成され、
前記処理回路は、前記現在のセキュリティ状態および前記処理回路の現在の例外レベルに応じて、前記選択されたパーティション識別子レジスタを選択するように構成される、
請求項10に記載の装置。 - 前記例外レベルのうちの少なくとも1つについて、前記複数のパーティション識別子レジスタが、同じ例外レベルおよび異なるセキュリティ状態に対応する2つ以上のパーティション識別子レジスタを備える、請求項11に記載の装置。
- 前記処理回路が、前記現在のセキュリティ状態を示すセキュリティ指示に関連付けられた前記メモリトランザクションを発行するように構成される、請求項9から12のいずれか一項に記載の装置。
- 前記少なくとも1つのメモリシステム構成要素が、処理される前記メモリトランザクションに関連する前記パーティション識別子および前記セキュリティ指示に応じて、前記メモリシステム構成要素パラメータの複数のセットうちの前記1つを選択するように構成される、請求項13に記載の装置。
- 各パーティション識別子レジスタが、メモリシステムリソースパーティション識別子と性能監視パーティション識別子とを別々に識別するように構成され、
前記処理回路が、前記選択されたパーティション識別子レジスタに格納された前記メモリシステムリソースパーティション識別子に依存する第1のパーティション識別子と、前記選択されたパーティション識別子レジスタに格納された前記性能監視パーティション識別子に依存する第2のパーティション識別子とを指定する前記メモリトランザクションを発行するように構成される、
請求項1から14のいずれか一項に記載の装置。 - 前記少なくとも1つのメモリシステム構成要素が、メモリシステムリソース分割および性能監視分割のうちの少なくとも1つをサポートするように構成され、
前記少なくとも1つのメモリシステム構成要素がメモリシステムリソース分割をサポートするとき、前記メモリシステム構成要素は、前記第1のパーティション識別子に応じて選択された前記メモリシステム構成要素パラメータの選択されたセットに応じて、前記メモリトランザクションを処理するためのリソースの割り当てを制御するか、または前記リソースの競合を管理するように構成され、
前記少なくとも1つのメモリシステム構成要素が性能監視分割をサポートするとき、前記メモリシステム構成要素は、少なくとも前記第2のパーティション識別子に応じて、性能監視データが前記メモリトランザクションに応答して更新されるかどうかを制御するように構成される、
請求項15に記載の装置。 - 前記少なくとも1つのメモリシステム構成要素が、
キャッシュ、
メモリ管理ユニット、
相互接続、および
メモリコントローラ
のうちの少なくとも1つを備える、請求項1から16のいずれか一項に記載の装置。 - 前記少なくとも1つのメモリシステム構成要素が、
前記メモリシステム構成要素パラメータの選択されたセットに応じて、前記メモリトランザクションに応答してキャッシュへのデータの割り当てを制御するように構成された前記キャッシュ、および
前記メモリシステム構成要素パラメータの選択されたセットに応じて、前記メモリトランザクションを処理するための帯域幅の割り当てを制御するように構成された相互接続またはメモリコントローラ
のうちの少なくとも1つを備える、請求項1から17のいずれか一項に記載の装置。 - 複数の動作状態のうちの1つで命令を処理するための手段と、
データにアクセスするためのメモリトランザクションを処理するための手段と、
パーティション識別子を格納するための複数の手段であって、各格納手段は、前記複数の動作状態のうちのそれぞれ1つに対応し、その動作状態に関連するパーティション識別子を指定する、格納手段と、
を備える装置であって、
前記命令を処理するための手段は、当該命令を処理するための手段の現在の動作状態に応じて選択された、選択された格納手段に格納された前記パーティション識別子に依存するパーティション識別子を指定するメモリトランザクションを発行するように構成され、
処理されるメモリトランザクションに応答して、前記メモリトランザクションを処理するための手段は、前記メモリトランザクションによって指定された前記パーティション識別子に応じて選択されたメモリシステム構成要素パラメータの選択されたセットに応じて前記メモリトランザクションを処理するためのリソースの割り当てを制御するかもしくは前記リソースの競合を管理するか、または前記パーティション識別子に応じて、性能監視データが前記メモリトランザクションに応答して更新されるかどうかを制御するように構成される、
装置。 - 複数の動作状態のうちの1つで命令を処理するステップと、
複数のパーティション識別子レジスタにパーティション識別子を格納するステップあって、各パーティション識別子レジスタは、前記複数の動作状態のうちのそれぞれ1つに対応し、その動作状態に関連するパーティション識別子を指定する、ステップと、
少なくとも1つのメモリシステム構成要素にメモリトランザクションを発行するステップであって、前記メモリトランザクションは、前記命令の処理の現在の動作状態に応じて選択された、選択されたパーティション識別子レジスタに格納された前記パーティション識別子に依存するパーティション識別子を指定する、ステップと、
を含む方法であって、
処理されるメモリトランザクションに応答して、前記少なくとも1つのメモリシステム構成要素は、前記メモリトランザクションによって指定された前記パーティション識別子に応じて選択されたメモリシステム構成要素パラメータの選択されたセットに応じて前記メモリトランザクションを処理するためのリソースの割り当てを制御するかもしくは前記リソースの競合を管理するか、または前記パーティション識別子に応じて、性能監視データが前記メモリトランザクションに応答して更新されるかどうかを制御する、
方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/405,691 | 2017-01-13 | ||
US15/405,691 US10268379B2 (en) | 2017-01-13 | 2017-01-13 | Partitioning of memory system resources or performance monitoring |
PCT/GB2017/053662 WO2018130801A1 (en) | 2017-01-13 | 2017-12-05 | Partitioning of memory system resources or performance monitoring |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020504394A JP2020504394A (ja) | 2020-02-06 |
JP7065098B2 true JP7065098B2 (ja) | 2022-05-11 |
Family
ID=60765993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019536890A Active JP7065098B2 (ja) | 2017-01-13 | 2017-12-05 | メモリシステムリソースの分割または性能監視 |
Country Status (7)
Country | Link |
---|---|
US (1) | US10268379B2 (ja) |
EP (1) | EP3568760A1 (ja) |
JP (1) | JP7065098B2 (ja) |
KR (1) | KR102471326B1 (ja) |
CN (1) | CN110168501B (ja) |
IL (1) | IL267235B (ja) |
WO (1) | WO2018130801A1 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10782993B2 (en) * | 2017-10-13 | 2020-09-22 | Dell Products L.P. | Systems and methods for secure runtime dynamic resizing of memory namespaces |
JP7081321B2 (ja) * | 2018-06-13 | 2022-06-07 | 富士通株式会社 | 演算処理装置、情報処理装置及び演算処理装置の制御方法 |
CN109522122B (zh) * | 2018-11-14 | 2021-12-17 | 郑州云海信息技术有限公司 | 一种内存管理方法、系统、装置及计算机可读存储介质 |
CN110058814B (zh) * | 2019-03-25 | 2022-09-06 | 中国航空无线电电子研究所 | 分区操作系统中安全地获取非活动分区内存快照的系统 |
US11734440B2 (en) * | 2019-09-09 | 2023-08-22 | Arm Limited | Memory access transaction with security check indication |
US11256625B2 (en) | 2019-09-10 | 2022-02-22 | Arm Limited | Partition identifiers for page table walk memory transactions |
US11442771B2 (en) | 2020-01-02 | 2022-09-13 | Arm Limited | Constraints on updating or usage of memory system component resource control parameters |
CN112243269B (zh) * | 2020-10-15 | 2023-09-19 | 青岛乾程科技股份有限公司 | 下载数据方法及其装置、移动终端 |
US11620217B2 (en) | 2021-03-31 | 2023-04-04 | Arm Limited | Partition identifier space selection |
CN118140215A (zh) | 2021-09-30 | 2024-06-04 | 华为技术有限公司 | 一种内存控制器和带内存控制器的数据处理系统 |
US11604733B1 (en) | 2021-11-01 | 2023-03-14 | Arm Limited | Limiting allocation of ways in a cache based on cache maximum associativity value |
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 (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 | アドレス変換バッファ装置 |
KR0179892B1 (ko) * | 1996-09-11 | 1999-04-01 | 이종수 | 교통신호 제어기의 출력전압 검출회로 |
CN1223934C (zh) * | 2002-09-11 | 2005-10-19 | 北京南思达科技发展有限公司 | 处理超长指令控制体系的方法 |
US7346757B2 (en) | 2002-10-08 | 2008-03-18 | Rmi Corporation | Advanced processor translation lookaside buffer management in a multithreaded system |
US7103745B2 (en) * | 2002-10-17 | 2006-09-05 | Wind River Systems, Inc. | Two-level operating system architecture |
US7979548B2 (en) * | 2003-09-30 | 2011-07-12 | International Business Machines Corporation | Hardware enforcement of logical partitioning of a channel adapter's resources in a system area network |
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 |
US8839450B2 (en) * | 2007-08-02 | 2014-09-16 | Intel Corporation | Secure vault service for software components within an execution environment |
GB2450906B (en) * | 2007-07-11 | 2012-05-16 | Advanced Risc Mach Ltd | Memory transaction handling in a data processing apparatus |
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 |
JP2013175076A (ja) * | 2012-02-27 | 2013-09-05 | Nec Corp | 情報処理装置および情報処理装置における異常分析方法 |
KR20140011821A (ko) * | 2012-07-20 | 2014-01-29 | 유제우 | 유압장치를 응용한 복합 면진장치 |
US10169091B2 (en) | 2012-10-25 | 2019-01-01 | Nvidia Corporation | Efficient memory virtualization in multi-threaded processing units |
US9445725B2 (en) * | 2012-12-17 | 2016-09-20 | Biosense Webster (Israel) Ltd. | Irrigated catheter tip with temperature sensor array |
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 |
JP6106765B2 (ja) | 2013-02-05 | 2017-04-05 | エイアールエム リミテッド | メモリ保護ユニットを使用して、仮想化をサポートするゲスト・オペレーティング・システム |
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 |
US9471371B2 (en) | 2014-02-27 | 2016-10-18 | International Business Machines Corporation | Dynamic prediction of concurrent hardware transactions resource requirements and allocation |
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 |
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 |
GB2536200B (en) * | 2015-03-02 | 2021-08-18 | Advanced Risc Mach Ltd | Memory management |
US10067960B2 (en) | 2015-06-04 | 2018-09-04 | Microsoft Technology Licensing, Llc | Controlling atomic updates of indexes using hardware transactional memory |
GB2539429B (en) | 2015-06-16 | 2017-09-06 | Advanced Risc Mach Ltd | Address translation |
GB2539436B (en) | 2015-06-16 | 2019-02-06 | Advanced Risc Mach Ltd | Secure initialisation |
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,691 patent/US10268379B2/en active Active
- 2017-12-05 WO PCT/GB2017/053662 patent/WO2018130801A1/en unknown
- 2017-12-05 EP EP17817827.3A patent/EP3568760A1/en active Pending
- 2017-12-05 JP JP2019536890A patent/JP7065098B2/ja active Active
- 2017-12-05 KR KR1020197022061A patent/KR102471326B1/ko active IP Right Grant
- 2017-12-05 CN CN201780082492.5A patent/CN110168501B/zh active Active
-
2019
- 2019-06-11 IL IL267235A patent/IL267235B/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 |
---|---|
JP2020504394A (ja) | 2020-02-06 |
US10268379B2 (en) | 2019-04-23 |
IL267235B (en) | 2021-03-25 |
IL267235A (en) | 2019-08-29 |
EP3568760A1 (en) | 2019-11-20 |
KR20190104357A (ko) | 2019-09-09 |
KR102471326B1 (ko) | 2022-11-28 |
CN110168501A (zh) | 2019-08-23 |
US20180203610A1 (en) | 2018-07-19 |
WO2018130801A1 (en) | 2018-07-19 |
CN110168501B (zh) | 2023-06-13 |
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: 20220301 |
|
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: 7065098 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |