JP2019516181A - ケイパビリティ・メタデータに対する操作を実施するための装置及び方法 - Google Patents
ケイパビリティ・メタデータに対する操作を実施するための装置及び方法 Download PDFInfo
- Publication number
- JP2019516181A JP2019516181A JP2018553940A JP2018553940A JP2019516181A JP 2019516181 A JP2019516181 A JP 2019516181A JP 2018553940 A JP2018553940 A JP 2018553940A JP 2018553940 A JP2018553940 A JP 2018553940A JP 2019516181 A JP2019516181 A JP 2019516181A
- Authority
- JP
- Japan
- Prior art keywords
- capability
- bulk
- metadata
- data block
- instruction
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
- G06F12/1441—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
- G06F16/2386—Bulk updating operations
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1491—Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30101—Special purpose registers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30105—Register structure
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/3013—Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address registers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
- G06F9/30163—Decoding the operand specifier, e.g. specifier format with implied specifier, e.g. top of stack
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30192—Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/345—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/35—Indirect addressing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/355—Indexed addressing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1008—Correctness of operation, e.g. memory ordering
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/46—Caching storage objects of specific type in disk cache
- G06F2212/466—Metadata, control data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/28—DMA
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Storage Device Security (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Executing Machine-Instructions (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Description
Claims (29)
- データ・ブロックを記憶するための記憶素子であって、各々のデータ・ブロックが、前記データ・ブロックに関連付けられた、前記データ・ブロックがケイパビリティを指定しているかどうかを識別するケイパビリティ・メタデータを有し、少なくとも1つのケイパビリティ・タイプが有界ポインタである、記憶素子と、
複数の前記記憶素子を識別するバルク・ケイパビリティ・メタデータ操作に応答して、前記複数の記憶素子に記憶されている各々のデータ・ブロックに関連付けられた前記ケイパビリティ・メタデータに対する操作を実施する処理回路と、
を備える装置。 - 前記バルク・ケイパビリティ・メタデータ操作がバルク問合せ操作であり、前記処理回路が、前記バルク問合せ操作に応答して、前記複数の前記記憶素子に記憶されている各々のデータ・ブロックに関連付けられた前記ケイパビリティ・メタデータを獲得し、且つ、前記獲得したケイパビリティ・メタデータを含む出力データを生成する、請求項1に記載の装置。
- 前記バルク・ケイパビリティ・メタデータ操作がバルク修正操作であり、前記処理回路が、前記バルク修正操作に応答して、前記バルク修正操作のために指定された修正データにしたがって、前記複数の前記記憶素子に記憶されている各々のデータ・ブロックに関連付けられた前記ケイパビリティ・メタデータを修正する、請求項1に記載の装置。
- 前記バルク修正操作が、前記複数の前記記憶素子に記憶されている各々のデータ・ブロックに関連付けられた前記ケイパビリティ・メタデータを、各々のデータ・ブロックがケイパビリティを指定していることを識別するようセットする、請求項3に記載の装置。
- 前記バルク修正操作が、前記複数の前記記憶素子に記憶されている各々のデータ・ブロックに関連付けられた前記ケイパビリティ・メタデータを、各々のデータ・ブロックがケイパビリティ以外のデータを指定していることを識別するようクリアする、請求項3に記載の装置。
- 前記修正データが、前記バルク修正操作によってアクセスされるケイパビリティ・メタデータ毎に、前記ケイパビリティ・メタデータに関して実施されることになる前記修正を識別する、請求項3に記載の装置。
- 前記修正データが、
(i)前記ケイパビリティ・メタデータを、前記関連するデータ・ブロックがケイパビリティを指定していることを識別するようセットする、
(ii)前記ケイパビリティ・メタデータを、前記関連するデータ・ブロックがケイパビリティ以外のデータを指定していることを識別するようクリアする、及び
(iii)前記ケイパビリティ・メタデータを不変のままにする、
の修正のうちの少なくとも2つのうちの1つを識別する前記バルク修正操作によってアクセスされるケイパビリティ・メタデータ毎に修正値を提供する、請求項6に記載の装置。 - 前記処理回路が、条件が合致することを条件として前記バルク・ケイパビリティ・メタデータ操作を実施するように手配される、請求項1から7までのいずれか一項に記載の装置。
- 前記条件が、
(i)前記処理回路が所定の特権状態で動作している、
(ii)前記処理回路が所定の特権状態で動作している場合に設定することができる構成記憶素子が、前記バルク・ケイパビリティ・メタデータ操作が許可されていることを示す値を有している、
(iii)前記バルク・ケイパビリティ・メタデータ操作を指定している要求がバルク操作ケイパビリティを識別し、且つ、前記バルク・ケイパビリティ・メタデータ操作が許可されていることを前記バルク操作ケイパビリティが示している、
の条件のうちの少なくとも1つが真である場合に、合致したと決定される、請求項8に記載の装置。 - 前記記憶素子がメモリ・ロケーションである、請求項1から9までのいずれか一項に記載の装置。
- 前記複数のメモリ・ロケーションが有界ポインタへの参照によって指定され、前記処理回路が、前記複数のメモリ・ロケーションが前記有界ポインタによって識別されたアドレスの許容可能な範囲内に存在していることが決定されたときに、前記バルク・ケイパビリティ・メタデータ操作を実施するように手配される、請求項10に記載の装置。
- 前記記憶素子が前記処理回路にアクセスすることができるケイパビリティ・レジスタである、請求項1から11までのいずれか一項に記載の装置。
- 一連の命令に応答して、前記一連の命令によって要求される操作を前記処理回路に実施させるように、前記処理回路に発行するための制御信号を生成する復号回路をさらに備え、前記復号回路が、バルク・ケイパビリティ・メタデータ命令を受け取ったことに応答して、前記バルク・ケイパビリティ・メタデータ命令によって要求される前記バルク・ケイパビリティ・メタデータ操作を前記処理回路に実施させるために、前記処理回路に発行するための制御信号を生成する、請求項1から12までのいずれか一項に記載の装置。
- 前記記憶素子がメモリ・ロケーションであり、前記バルク・ケイパビリティ・メタデータ命令が、その関連するケイパビリティ・メタデータが前記バルク・ケイパビリティ・メタデータ操作の対象になることになるメモリ・ロケーションの連続したシリーズを識別するアドレスを提供するレジスタを指定する、請求項13に記載の装置。
- 前記バルク・ケイパビリティ・メタデータ命令が、前記連続したシリーズ中のメモリ・ロケーションの数を識別するフィールドを含む、請求項14に記載の装置。
- 前記フィールドが、前記連続したシリーズ中のメモリ・ロケーションの前記数を示す値を含むレジスタに対する参照、及び前記連続したシリーズ中のメモリ・ロケーションの前記数を示す即値のうちの1つを提供する、請求項15に記載の装置。
- 前記連続したシリーズ中のメモリ・ロケーションの数が前記装置の特性から暗黙的である、請求項14に記載の装置。
- 前記特性が、前記処理回路にアクセスすることができるキャッシュのキャッシュ・ライン長である、請求項17に記載の装置。
- 前記記憶素子がケイパビリティ・レジスタであり、前記バルク・ケイパビリティ・メタデータ命令が、その関連するケイパビリティ・メタデータが前記バルク・ケイパビリティ・メタデータ操作の対象になることになる前記ケイパビリティ・レジスタを識別するレジスタ識別子フィールドを含み、前記レジスタ識別子フィールドが、前記ケイパビリティ・レジスタを識別するために即値及びレジスタ識別子のうちの少なくとも1つを提供する、請求項13に記載の装置。
- 前記レジスタ識別子フィールドが、
−前記ケイパビリティ・レジスタを識別するために使用されるマスク値、
−前記ケイパビリティ・レジスタを識別するために組み合わせて使用されるベース識別子及びカウント値、
のうちの1つを提供する、請求項19に記載の装置。 - 前記バルク・ケイパビリティ・メタデータ命令がバルク問合せ命令であり、前記処理回路が、前記バルク問合せ命令を復号する際に前記復号回路によって生成される前記制御信号に応答してバルク問合せ操作を実施するように手配され、
前記バルク問合せ命令が宛先レジスタを識別し、前記処理回路が、前記バルク問合せ操作に応答して、前記複数の前記記憶素子に記憶されている各々のデータ・ブロックに関連付けられた前記ケイパビリティ・メタデータを獲得し、且つ、前記宛先レジスタに記憶するために、前記獲得したケイパビリティ・メタデータを含む出力データを生成する、
請求項13に従属する場合の請求項1から20までのいずれか一項に記載の装置。 - 前記バルク・ケイパビリティ・メタデータ命令がバルク修正命令であり、前記処理回路が、前記バルク修正命令を復号する際に前記復号回路によって生成される前記制御信号に応答してバルク修正操作を実施するように手配され、
前記バルク修正命令が修正データを識別する出所フィールドを識別し、前記処理回路が、前記バルク修正操作に応答して、前記出所フィールドによって識別された前記修正データに依存して、前記複数の前記記憶素子に記憶されている各々のデータ・ブロックに関連付けられた前記ケイパビリティ・メタデータを修正する、
請求項13に従属する場合の請求項1から21までのいずれか一項に記載の装置。 - 前記出所フィールドが、前記修正データを識別するために即値及びレジスタ識別子のうちの少なくとも1つを提供する、請求項22に記載の装置。
- 前記複数の前記記憶素子に記憶されている各々のデータ・ブロックに関連付けられた前記ケイパビリティ・メタデータを獲得するために、前記処理回路がバルク問合せ操作を前記バルク・ケイパビリティ・メタデータ操作として実施するように手配され、前記処理回路が、ケイパビリティ非認識記憶デバイスに記憶するために、前記獲得したケイパビリティ・メタデータを含むデータを出力するようにさらに手配される、請求項1から23までのいずれか一項に記載の装置。
- ケイパビリティ非認識記憶デバイスから獲得される修正メタデータに依存して、前記複数の前記記憶素子に記憶されている各々のデータ・ブロックに関連付けられた前記ケイパビリティ・メタデータを修正するために、前記処理回路がバルク修正操作を前記バルク・ケイパビリティ・メタデータ操作として実施するように手配される、請求項1から24までのいずれか一項に記載の装置。
- 前記処理回路が直接メモリ・アクセス(DMA)回路であり、
前記バルク・ケイパビリティ・メタデータ操作がプロセッサ・コアによって指定され、メモリ・ロケーションの連続したシリーズに対して前記バルク・ケイパビリティ・メタデータ操作を実現するように、前記DMA回路に1つ又は複数のトランザクションを発行させる、請求項1から12までのいずれか一項に記載の装置。 - データ・ブロックを記憶素子に記憶するステップであって、各々のデータ・ブロックが、前記データ・ブロックに関連付けられた、前記データ・ブロックがケイパビリティを指定しているかどうかを識別するケイパビリティ・メタデータを有し、少なくとも1つのケイパビリティ・タイプが有界ポインタであるステップと、
複数の前記記憶素子を識別するバルク・ケイパビリティ・メタデータ操作に応答して、前記複数の記憶素子に記憶されている各々のデータ・ブロックに関連付けられた前記ケイパビリティ・メタデータに対する操作を処理回路に実施させるステップと、
を含む、ケイパビリティ・メタデータに対する操作を実施する方法。 - データ・ブロックを記憶するための記憶素子手段であって、各々のデータ・ブロックが、前記データ・ブロックに関連付けられた、前記データ・ブロックがケイパビリティを指定しているかどうかを識別するケイパビリティ・メタデータを有し、少なくとも1つのケイパビリティ・タイプが有界ポインタである、記憶素子手段と、
複数の前記記憶素子手段を識別するバルク・ケイパビリティ・メタデータ操作に応答して、前記複数の記憶素子手段に記憶されている各々のデータ・ブロックに関連付けられた前記ケイパビリティ・メタデータに対する操作を実施するための処理手段と、
を備える装置。 - 請求項1から26までのいずれか一項に記載の装置に対応するプログラム命令のための仮想計算機実行環境を提供するようにコンピュータを制御するためのコンピュータ・プログラムを非一時的形態で記憶するコンピュータ・プログラム製品。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB1606872.8A GB2549511B (en) | 2016-04-20 | 2016-04-20 | An apparatus and method for performing operations on capability metadata |
| GB1606872.8 | 2016-04-20 | ||
| PCT/GB2017/050881 WO2017182770A1 (en) | 2016-04-20 | 2017-03-29 | An apparatus and method for performing operations on capability metadata |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2019516181A true JP2019516181A (ja) | 2019-06-13 |
| JP6975723B2 JP6975723B2 (ja) | 2021-12-01 |
Family
ID=58489720
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2018553940A Active JP6975723B2 (ja) | 2016-04-20 | 2017-03-29 | ケイパビリティ・メタデータに対する操作を実施するための装置及び方法 |
Country Status (9)
| Country | Link |
|---|---|
| US (1) | US11481384B2 (ja) |
| EP (1) | EP3446222B8 (ja) |
| JP (1) | JP6975723B2 (ja) |
| KR (1) | KR102446063B1 (ja) |
| CN (1) | CN109074322B (ja) |
| GB (1) | GB2549511B (ja) |
| IL (1) | IL261614B (ja) |
| TW (1) | TWI752951B (ja) |
| WO (1) | WO2017182770A1 (ja) |
Families Citing this family (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108171041B (zh) * | 2016-12-07 | 2020-03-27 | 澜起科技股份有限公司 | 用于对访问存储器的应用程序进行身份验证的方法和装置 |
| US10606494B2 (en) * | 2017-04-17 | 2020-03-31 | StorageOS Limited | System and method for managing volumes of data in a block storage system as a function of a short condition register and a long condition register |
| GB2570692B (en) | 2018-02-02 | 2020-09-09 | Advanced Risc Mach Ltd | Controlling guard tag checking in memory accesses |
| GB2571352B (en) | 2018-02-27 | 2020-10-21 | Advanced Risc Mach Ltd | An apparatus and method for accessing metadata when debugging a device |
| GB2572151B (en) * | 2018-03-19 | 2020-07-08 | Advanced Risc Mach Ltd | An apparatus and method for storing bounded pointers |
| GB2572158B (en) * | 2018-03-20 | 2020-11-25 | Advanced Risc Mach Ltd | Random tag setting instruction |
| GB2576506B (en) * | 2018-08-20 | 2021-06-30 | Advanced Risc Mach Ltd | An apparatus and method for controlling use of bounded pointers |
| US11068268B2 (en) * | 2019-08-05 | 2021-07-20 | Arm Limited | Data structure processing |
| CN110717315B (zh) * | 2019-09-10 | 2023-08-04 | 中国平安财产保险股份有限公司 | 系统数据批量修改方法、装置、存储介质及电子设备 |
| CN115080118B (zh) * | 2019-10-31 | 2025-08-26 | 北京东土科技股份有限公司 | 批量配置寄存器的方法、装置及计算机可读存储介质 |
| EP3819775A1 (en) | 2019-11-06 | 2021-05-12 | Microsoft Technology Licensing, LLC | Confidential computing mechanism |
| EP3819774B1 (en) * | 2019-11-06 | 2022-05-25 | Microsoft Technology Licensing, LLC | Confidential computing mechanism |
| GB2592069B (en) * | 2020-02-17 | 2022-04-27 | Advanced Risc Mach Ltd | Address calculating instruction |
| US11669271B2 (en) * | 2020-04-15 | 2023-06-06 | Advanced Micro Devices, Inc. | Memory operations using compound memory commands |
| US11928472B2 (en) | 2020-09-26 | 2024-03-12 | Intel Corporation | Branch prefetch mechanisms for mitigating frontend branch resteers |
| CN114385529B (zh) * | 2020-10-16 | 2024-11-01 | 瑞昱半导体股份有限公司 | 直接记忆体存取控制器、使用其之电子装置以及操作其的方法 |
| US12182317B2 (en) * | 2021-02-13 | 2024-12-31 | Intel Corporation | Region-based deterministic memory safety |
| US12504891B2 (en) | 2021-06-24 | 2025-12-23 | Intel Corporation | Zero-redundancy tag storage for bucketed allocators |
| US12235791B2 (en) | 2021-08-23 | 2025-02-25 | Intel Corporation | Loop driven region based frontend translation control for performant and secure data-space guided micro-sequencing |
| US20230195614A1 (en) * | 2021-12-21 | 2023-06-22 | Intel Corporation | Circuitry and methods for implementing non-redundant metadata storage addressed by bounded capabilities |
| CN114064576A (zh) * | 2022-01-13 | 2022-02-18 | 北京九章云极科技有限公司 | 数据集获得方法、装置及电子设备 |
| GB2634058A (en) * | 2023-09-28 | 2025-04-02 | Advanced Risc Mach Ltd | Technique for controlling manipulation of pointers |
| US20250284832A1 (en) * | 2024-03-11 | 2025-09-11 | Intel Corporation | Capability-based memory access control for graphics processors and accelerators |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20120296877A1 (en) * | 2011-05-17 | 2012-11-22 | International Business Machines Corporation | Facilitating data coherency using in-memory tag bits and tag test instructions |
| JP2014528623A (ja) * | 2011-10-11 | 2014-10-27 | マカフィー, インコーポレイテッド | ハイパーバイザ環境におけるクリティカル・アドレス空間保護のためのシステム及び方法 |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5522051A (en) * | 1992-07-29 | 1996-05-28 | Intel Corporation | Method and apparatus for stack manipulation in a pipelined processor |
| US6826672B1 (en) * | 2000-05-16 | 2004-11-30 | Massachusetts Institute Of Technology | Capability addressing with tight object bounds |
| US9525696B2 (en) * | 2000-09-25 | 2016-12-20 | Blue Coat Systems, Inc. | Systems and methods for processing data flows |
| US20030177342A1 (en) * | 2002-03-15 | 2003-09-18 | Hitachi Semiconductor (America) Inc. | Processor with register dirty bits and special save multiple/return instructions |
| US7149862B2 (en) * | 2002-11-18 | 2006-12-12 | Arm Limited | Access control in a data processing apparatus |
| US7257657B2 (en) | 2003-11-06 | 2007-08-14 | International Business Machines Corporation | Method and apparatus for counting instruction execution and data accesses for specific types of instructions |
| GB2448149B (en) * | 2007-04-03 | 2011-05-18 | Advanced Risc Mach Ltd | Protected function calling |
| US20120317339A1 (en) * | 2011-06-13 | 2012-12-13 | International Business Machines Corporation | System and method for caching data in memory and on disk |
| US8850130B1 (en) * | 2011-08-10 | 2014-09-30 | Nutanix, Inc. | Metadata for managing I/O and storage for a virtualization |
| US20150227414A1 (en) * | 2012-08-31 | 2015-08-13 | Pradeep Varma | Systems And Methods Of Memory And Access Management |
| US9274710B1 (en) * | 2014-03-31 | 2016-03-01 | Amazon Technologies, Inc. | Offset-based congestion control in storage systems |
-
2016
- 2016-04-20 GB GB1606872.8A patent/GB2549511B/en active Active
-
2017
- 2017-03-29 US US16/094,224 patent/US11481384B2/en active Active
- 2017-03-29 KR KR1020187032843A patent/KR102446063B1/ko active Active
- 2017-03-29 EP EP17715980.3A patent/EP3446222B8/en active Active
- 2017-03-29 CN CN201780023569.1A patent/CN109074322B/zh active Active
- 2017-03-29 JP JP2018553940A patent/JP6975723B2/ja active Active
- 2017-03-29 WO PCT/GB2017/050881 patent/WO2017182770A1/en not_active Ceased
- 2017-04-13 TW TW106112342A patent/TWI752951B/zh active
-
2018
- 2018-09-05 IL IL261614A patent/IL261614B/en active IP Right Grant
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20120296877A1 (en) * | 2011-05-17 | 2012-11-22 | International Business Machines Corporation | Facilitating data coherency using in-memory tag bits and tag test instructions |
| JP2014528623A (ja) * | 2011-10-11 | 2014-10-27 | マカフィー, インコーポレイテッド | ハイパーバイザ環境におけるクリティカル・アドレス空間保護のためのシステム及び方法 |
Non-Patent Citations (1)
| Title |
|---|
| ROBERT N.M. WATSON ET AL.: "Capability Hardware Enhanced RISC Instructions:CHERI Instruction-Set Architecture", TECHNICAL REPORT UCAM-CL-TR-876 NUMBER 876, JPN7021001396, 30 September 2015 (2015-09-30), pages 1 - 198, ISSN: 0004494141 * |
Also Published As
| Publication number | Publication date |
|---|---|
| US20190095389A1 (en) | 2019-03-28 |
| JP6975723B2 (ja) | 2021-12-01 |
| EP3446222A1 (en) | 2019-02-27 |
| IL261614A (en) | 2018-10-31 |
| CN109074322A (zh) | 2018-12-21 |
| CN109074322B (zh) | 2023-03-03 |
| WO2017182770A1 (en) | 2017-10-26 |
| IL261614B (en) | 2020-08-31 |
| GB2549511B (en) | 2019-02-13 |
| TWI752951B (zh) | 2022-01-21 |
| GB2549511A (en) | 2017-10-25 |
| EP3446222B1 (en) | 2020-01-01 |
| US11481384B2 (en) | 2022-10-25 |
| KR20180136976A (ko) | 2018-12-26 |
| KR102446063B1 (ko) | 2022-09-22 |
| TW201738757A (zh) | 2017-11-01 |
| EP3446222B8 (en) | 2020-03-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6975723B2 (ja) | ケイパビリティ・メタデータに対する操作を実施するための装置及び方法 | |
| JP7128206B2 (ja) | 機能の使用を管理するための装置および方法 | |
| US11347508B2 (en) | Apparatus and method for managing a capability domain | |
| US11023237B2 (en) | Apparatus and method for interpreting permissions associated with a capability | |
| CN110799939B (zh) | 用于控制指令的执行的设备与方法 | |
| CN107735775A (zh) | 用于使用与指针相关联的范围信息来执行指令的装置和方法 | |
| JP2023038361A (ja) | 命令セット内の変更を制御する装置及び方法 | |
| JP7719863B2 (ja) | ケイパビリティを使用してメモリへのアクセスを制約するための技法 | |
| JP7799703B2 (ja) | ケイパビリティを使用してメモリへのアクセスを制約するための技法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200319 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210326 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210427 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210726 |
|
| 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: 20211015 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211108 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6975723 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |