JP7413280B2 - 複数のソフトウェア・ワークロードのための分岐予測キャッシュ - Google Patents
複数のソフトウェア・ワークロードのための分岐予測キャッシュ Download PDFInfo
- Publication number
- JP7413280B2 JP7413280B2 JP2020564474A JP2020564474A JP7413280B2 JP 7413280 B2 JP7413280 B2 JP 7413280B2 JP 2020564474 A JP2020564474 A JP 2020564474A JP 2020564474 A JP2020564474 A JP 2020564474A JP 7413280 B2 JP7413280 B2 JP 7413280B2
- Authority
- JP
- Japan
- Prior art keywords
- branch prediction
- branch
- state data
- cache
- workload
- 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
- 238000000034 method Methods 0.000 claims description 75
- 230000008569 process Effects 0.000 claims description 71
- 238000012545 processing Methods 0.000 claims description 58
- 230000004044 response Effects 0.000 claims description 30
- 238000012546 transfer Methods 0.000 claims description 12
- 238000003672 processing method Methods 0.000 claims 1
- 238000000638 solvent extraction Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 28
- 230000001960 triggered effect Effects 0.000 description 10
- 239000000872 buffer Substances 0.000 description 9
- 230000001934 delay Effects 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000002829 reductive effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000000116 mitigating effect Effects 0.000 description 3
- 230000004224 protection Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 108090000248 Deleted entry Proteins 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3804—Instruction prefetching for branches, e.g. hedging, branch folding
- G06F9/3806—Instruction prefetching for branches, e.g. hedging, branch folding using address prediction, e.g. return stack, branch history buffer
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
- G06F9/3844—Speculative instruction execution using dynamic branch prediction, e.g. using branch history tables
-
- 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/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
-
- 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/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/30047—Prefetch instructions; cache control instructions
-
- 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/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
- G06F9/3009—Thread control instructions
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- 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/461—Saving or restoring of program or task context
-
- 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/60—Details of cache memory
- G06F2212/6028—Prefetching based on hints or prefetch instructions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
Description
この時点で、エントリ選択回路45は、図5Aに示す手法を適用することにより関係する分岐予測状態のアドレスを生成し、適切なサブ・テーブルを選択し、次いでサブ・テーブルを、そのサブ・テーブルに対応するメモリ内の関連するアドレスにマッピングすることができる。たとえば、ラインフィル及び書戻し制御回路内のエントリ選択ロジック45は、それぞれのワークロードに対する各サブ・テーブルのアドレスを指定するテーブルを備えることができる。ステップ162で、予測状態の対応する部分がラインフィル要求に応答して返されると、予測状態の対応する部分を格納するために、分岐予測キャッシュ40~42内にエントリが割り当てられる。汚れデータがすでに含まれている犠牲者エントリが選択される場合、この汚れ予測状態は、メモリ・システムに書き戻される。終了するワークロードに関係する分岐予測キャッシュ40~42内のすべてのエントリが、コンテキスト・スイッチに応答して書き戻されるシステムでは、分岐予測キャッシュでのミスによってトリガされたどの書戻しも、現在のワークロードに関係すると想定され得るため、この場合、分岐予測器で、コンテキスト・スイッチを超えてまで以前のワークロードのどのような識別も追跡する必要がないかもしれない。そうではなくて、その後の上書きが必要になるまで書戻しを延期することによりコンテキスト・スイッチのオーバヘッドを低減するシステムでは、分岐予測キャッシュは、以前に実行されたワークロードの追加の識別子を格納することができ、また各キャッシュのエントリ64内に、汚れデータを含む無効なエントリが、現在のワークロード又は以前に実行されたワークロードに関係するかどうかをマーク付けするフラグを含めることができ、それにより書戻し時に、どの分岐予測状態のセットが汚れデータを書き戻される必要があるかを判断することができる。
Claims (16)
- 複数のソフトウェア・ワークロードからの命令を処理するための処理回路と、
メモリ・システムに格納された分岐予測状態データの複数のセットから選択された分岐予測状態データをキャッシュするための分岐予測キャッシュであって、分岐予測状態データの各セットは、前記複数のソフトウェア・ワークロードの1つに対応する分岐予測キャッシュと、
所与のソフトウェア・ワークロードの分岐命令の結果を、前記所与のソフトウェア・ワークロードに対応する前記分岐予測状態データのセットからの、前記分岐予測キャッシュにキャッシュされた前記分岐予測状態データに基づいて予測する分岐予測回路と、
前記所与のソフトウェア・ワークロードの所与の命令のターゲット・アドレスに応答して、前記所与のソフトウェア・ワークロードに対応する前記分岐予測状態データのセットから個々の予測を提供するための分岐予測状態データの対応するアイテムを選択する選択回路であって、前記所与のソフトウェア・ワークロードに対応する前記分岐予測状態データのセットは、複数のサブ・テーブルを含み、前記メモリ・システムから前記分岐予測キャッシュへの前記分岐予測状態データの転送は、サブ・テーブルの単位で行われる、前記選択回路と、
を備え、
前記選択回路は、前記ターゲット・アドレスの第1の部分に基づいて前記複数のサブ・テーブルの1つを選択し、前記ターゲット・アドレスの第2の部分の関数に基づいて、前記選択された前記サブ・テーブルから分岐予測状態データの前記アイテムを選択するよう構成される、装置。 - 前記処理回路が第1のソフトウェア・ワークロードの処理から第2のソフトウェア・ワークロードの処理に切り替わるのに応答して、前記分岐予測キャッシュは、前記第1のソフトウェア・ワークロードに対応する前記分岐予測状態データのセットのキャッシュされた分岐予測状態データが、前記第1のソフトウェア・ワークロードに関係するエントリを無効化するよう構成される、請求項1に記載の装置。
- 前記分岐予測キャッシュは複数のエントリを有し、分岐予測状態データの対応する部分をキャッシュするための各エントリは、分岐予測状態データのどのセットから、前記分岐予測状態データの対応する部分が選択されるかについての、どのような指示とも無関係である、請求項1に記載の装置。
- 前記分岐予測キャッシュは、前記分岐予測キャッシュのすべての有効なエントリを、所与のソフトウェア・ワークロードに対応する分岐予測状態データの同じセットからの分岐予測状態データに確実に関係付けるよう構成される、請求項1に記載の装置。
- 前記処理回路が第1のソフトウェア・ワークロードの処理から第2のソフトウェア・ワークロードに切り替わるのに応答して、前記分岐予測キャッシュは、前記第2のソフトウェア・ワークロードに対応する前記分岐予測状態データのセットの一部を前記分岐予測キャッシュ内にフェッチすることを要求するため、前記メモリ・システムへの少なくとも1つの状態フェッチ要求をトリガするよう構成される、請求項1に記載の装置。
- 前記分岐予測状態データのセットの前記一部には、前記第2のソフトウェア・ワークロードに対応する前記分岐予測状態データのセットの適切なサブセットが含まれる、請求項5に記載の装置。
- 前記分岐予測キャッシュは、分岐予測が必要な所与のソフトウェア・ワークロードの命令のターゲット命令アドレスに対する前記分岐予測キャッシュでのミスに応答して、前記所与のソフトウェア・ワークロードに対応する前記分岐予測状態データのセットの対応する部分を、前記分岐予測キャッシュ内にフェッチすることを要求するため、前記メモリ・システムへの少なくとも1つの状態フェッチ要求をトリガする、請求項1に記載の装置。
- 前記分岐予測キャッシュは、前記分岐予測キャッシュからの汚れた分岐予測状態データの削除に応答して、前記汚れた分岐予測状態データを前記メモリ・システムに書き戻すことを要求する、少なくとも1つの書戻し要求をトリガする、請求項1に記載の装置。
- 前記分岐予測キャッシュは、所定のサイズのアドレス範囲に対応する粒度で、分岐予測状態情報のアイテムをキャッシュするよう構成され、それにより前記分岐予測回路は、前記所定のサイズの隣接するアドレス範囲内のアドレスに対して、分岐命令の前記結果の相異なる予測を行うことができ、且つ
前記装置は、前記分岐予測キャッシュと前記メモリ・システムとの間で、所与のサイズのユニットで分岐予測状態データを転送する状態転送回路を備え、各ユニットには、命令アドレスの少なくとも1つのブロックに対する分岐予測を行うための分岐予測状態データが含まれ、前記命令アドレスの少なくとも1つのブロックのそれぞれは、前記所定のサイズよりも大きいサイズの連続するアドレス範囲をカバーする、請求項1に記載の装置。 - 分岐予測が将来必要になると予測されるアドレスに関係する分岐予測状態データを、前記分岐予測キャッシュ内にプリフェッチする分岐予測状態プリフェッチャを備える、請求項1に記載の装置。
- 前記分岐命令の前記結果は、前記分岐命令のターゲット・アドレスを含む、請求項1に記載の装置。
- 前記分岐命令の前記結果は、分岐が起きるか又は起きないかを含む、請求項1に記載の装置。
- 前記ソフトウェア・ワークロードの少なくとも1つについて、所与のソフトウェア・ワークロードに対する前記分岐予測状態データのセットは、前記所与のソフトウェア・ワークロードがアクセスできないメモリ範囲に格納される、請求項1に記載の装置。
- 各ソフトウェア・ワークロードは、
前記処理回路によって実行されるソフトウェア・プロセスと、
前記処理回路によって実行されるソフトウェア・プロセス群と、
ソフトウェア・プロセスの特定の部分と、
特定のアドレス範囲内の命令アドレスを有するソフトウェア・プロセスの命令と、
1つ又は複数のワークロード分割命令によって区切られたソフトウェア・プロセスの一部と、
同じプロセスに対応する前記処理回路によって実行される複数のスレッドの1つ、又は、前記複数のスレッドの中のスレッドのサブグループと
のうちの1つを含む、請求項1に記載の装置。 - 複数のソフトウェア・ワークロードからの命令を処理する手段と、
メモリ・システムに格納された分岐予測状態データの複数のセットから選択された分岐予測状態データをキャッシュする手段であって、分岐予測状態データの各セットは、前記複数のソフトウェア・ワークロードの1つに対応する手段と、
所与のソフトウェア・ワークロードの分岐命令の結果を、前記所与のソフトウェア・ワークロードに対応する前記分岐予測状態データのセットからの、分岐予測キャッシュにキャッシュされた分岐予測状態データに基づいて予測する手段と、
前記所与のソフトウェア・ワークロードの所与の命令のターゲット・アドレスに応答して、前記所与のソフトウェア・ワークロードに対応する前記分岐予測状態データのセットから個々の予測を提供するための分岐予測状態データの対応するアイテムを選択する手段と、
を備え、
前記所与のソフトウェア・ワークロードに対応する前記分岐予測状態データのセットは、複数のサブ・テーブルを含み、前記メモリ・システムから前記分岐予測キャッシュへの前記分岐予測状態データの転送は、サブ・テーブルの単位で行われ、
前記選択する手段は、前記ターゲット・アドレスの第1の部分に基づいて前記複数のサブ・テーブルの1つを選択し、前記ターゲット・アドレスの第2の部分の関数に基づいて、前記選択されたサブ・テーブルから分岐予測状態データの前記アイテムを選択するよう構成される、装置。 - 複数のソフトウェア・ワークロードからの命令を処理するステップと、
メモリ・システムに格納された分岐予測状態データの複数のセットから選択された分岐予測状態データを分岐予測キャッシュにキャッシュするステップであって、分岐予測状態データの各セットは、前記複数のソフトウェア・ワークロードの1つに対応するステップと、
所与のソフトウェア・ワークロードの分岐命令の結果を、前記所与のソフトウェア・ワークロードに対応する前記分岐予測状態データのセットからの、前記分岐予測キャッシュにキャッシュされた分岐予測状態データに基づいて予測するステップと、
前記所与のソフトウェア・ワークロードの所与の命令のターゲット・アドレスに応答して、前記所与のソフトウェア・ワークロードに対応する前記分岐予測状態データのセットから個々の予測を提供するための分岐予測状態データの対応するアイテムを選択するステップと、
を含み、
前記所与のソフトウェア・ワークロードに対応する前記分岐予測状態データのセットは、複数のサブ・テーブルを含み、前記メモリ・システムから前記分岐予測キャッシュへの前記分岐予測状態データの転送は、サブ・テーブルの単位で行われ、
前記選択するステップは、前記ターゲット・アドレスの第1の部分に基づいて前記複数のサブ・テーブルの1つを選択し、前記ターゲット・アドレスの第2の部分の関数に基づいて、前記選択されたサブ・テーブルから分岐予測状態データの前記アイテムを選択するよう構成される、データ処理方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1808527.4A GB2574042B (en) | 2018-05-24 | 2018-05-24 | Branch Prediction Cache |
GB1808527.4 | 2018-05-24 | ||
PCT/GB2019/051273 WO2019224518A1 (en) | 2018-05-24 | 2019-05-09 | Branch prediction cache for multiple software workloads |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021524621A JP2021524621A (ja) | 2021-09-13 |
JP7413280B2 true JP7413280B2 (ja) | 2024-01-15 |
Family
ID=62812176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020564474A Active JP7413280B2 (ja) | 2018-05-24 | 2019-05-09 | 複数のソフトウェア・ワークロードのための分岐予測キャッシュ |
Country Status (7)
Country | Link |
---|---|
US (1) | US11385899B2 (ja) |
EP (1) | EP3803575B1 (ja) |
JP (1) | JP7413280B2 (ja) |
KR (1) | KR20210010987A (ja) |
CN (1) | CN112119377B (ja) |
GB (1) | GB2574042B (ja) |
WO (1) | WO2019224518A1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200034152A1 (en) * | 2018-07-30 | 2020-01-30 | Cavium, Llc | Preventing Information Leakage In Out-Of-Order Machines Due To Misspeculation |
JP7549253B2 (ja) * | 2020-09-14 | 2024-09-11 | 日本電信電話株式会社 | 情報処理システム、情報処理方法およびプログラム |
KR102261229B1 (ko) * | 2020-10-29 | 2021-06-04 | 권상언 | 운동 정보 제공 방법 |
US11783050B2 (en) * | 2020-11-13 | 2023-10-10 | Centaur Technology, Inc. | Spectre fixes with predictor mode tag |
CN112667534B (zh) * | 2020-12-31 | 2023-10-20 | 海光信息技术股份有限公司 | 缓冲存储装置、处理器及电子设备 |
US11630670B2 (en) | 2021-07-21 | 2023-04-18 | Apple Inc. | Multi-table signature prefetch |
US20230297381A1 (en) * | 2022-03-21 | 2023-09-21 | Advanced Micro Devices, Inc. | Load Dependent Branch Prediction |
US12050916B2 (en) | 2022-03-25 | 2024-07-30 | Advanced Micro Devices, Inc. | Array of pointers prefetching |
JP2024119606A (ja) * | 2023-02-22 | 2024-09-03 | 富士通株式会社 | マイクロプロセッサ及びマイクロプロセッサの処理方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170153895A1 (en) | 2015-11-30 | 2017-06-01 | International Business Machines Corporation | Method for managing tasks in a computer system |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5163140A (en) * | 1990-02-26 | 1992-11-10 | Nexgen Microsystems | Two-level branch prediction cache |
US6108775A (en) * | 1996-12-30 | 2000-08-22 | Texas Instruments Incorporated | Dynamically loadable pattern history tables in a multi-task microprocessor |
US5838962A (en) * | 1997-04-09 | 1998-11-17 | Hewlett-Packard Company | Interrupt driven dynamic adjustment of branch predictions |
US5978909A (en) * | 1997-11-26 | 1999-11-02 | Intel Corporation | System for speculative branch target prediction having a dynamic prediction history buffer and a static prediction history buffer |
US6427192B1 (en) * | 1998-09-21 | 2002-07-30 | Advanced Micro Devices, Inc. | Method and apparatus for caching victimized branch predictions |
US7707396B2 (en) * | 2006-11-17 | 2010-04-27 | International Business Machines Corporation | Data processing system, processor and method of data processing having improved branch target address cache |
JPWO2012127589A1 (ja) * | 2011-03-18 | 2014-07-24 | 富士通株式会社 | マルチコアプロセッサシステム、および分岐予測方法 |
US8935694B2 (en) * | 2012-01-23 | 2015-01-13 | International Business Machines Corporation | System and method for selectively saving and restoring state of branch prediction logic through separate hypervisor-mode and guest-mode and/or user-mode instructions |
US9891918B2 (en) * | 2014-01-27 | 2018-02-13 | Via Alliance Semiconductor Co., Ltd. | Fractional use of prediction history storage for operating system routines |
US9563430B2 (en) * | 2014-03-19 | 2017-02-07 | International Business Machines Corporation | Dynamic thread sharing in branch prediction structures |
US10185731B2 (en) * | 2016-03-31 | 2019-01-22 | Arm Limited | Indexing entries of a storage structure shared between multiple threads |
US10817298B2 (en) * | 2016-10-27 | 2020-10-27 | Arm Limited | Shortcut path for a branch target buffer |
-
2018
- 2018-05-24 GB GB1808527.4A patent/GB2574042B/en active Active
-
2019
- 2019-05-09 US US17/052,655 patent/US11385899B2/en active Active
- 2019-05-09 KR KR1020207034078A patent/KR20210010987A/ko unknown
- 2019-05-09 CN CN201980032403.5A patent/CN112119377B/zh active Active
- 2019-05-09 WO PCT/GB2019/051273 patent/WO2019224518A1/en unknown
- 2019-05-09 JP JP2020564474A patent/JP7413280B2/ja active Active
- 2019-05-09 EP EP19724572.3A patent/EP3803575B1/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170153895A1 (en) | 2015-11-30 | 2017-06-01 | International Business Machines Corporation | Method for managing tasks in a computer system |
Also Published As
Publication number | Publication date |
---|---|
WO2019224518A1 (en) | 2019-11-28 |
KR20210010987A (ko) | 2021-01-29 |
GB2574042B (en) | 2020-09-09 |
US11385899B2 (en) | 2022-07-12 |
GB201808527D0 (en) | 2018-07-11 |
EP3803575A1 (en) | 2021-04-14 |
US20210240479A1 (en) | 2021-08-05 |
CN112119377B (zh) | 2024-08-02 |
EP3803575B1 (en) | 2023-09-06 |
GB2574042A (en) | 2019-11-27 |
CN112119377A (zh) | 2020-12-22 |
JP2021524621A (ja) | 2021-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7413280B2 (ja) | 複数のソフトウェア・ワークロードのための分岐予測キャッシュ | |
US10725992B2 (en) | Indexing entries of a storage structure shared between multiple threads | |
US20210173931A1 (en) | Speculative side-channel attack mitigations | |
CN111527479B (zh) | 数据处理装置和方法 | |
US10819736B2 (en) | Encoding of input to branch prediction circuitry | |
CN111886580B (zh) | 用于控制分支预测的装置和方法 | |
US11687343B2 (en) | Data processing apparatus and method for providing candidate prediction entries | |
US11210102B2 (en) | Speculative buffer for speculative memory accesses with entries tagged with execution context identifiers | |
US9690707B2 (en) | Correlation-based instruction prefetching | |
US10402203B2 (en) | Determining a predicted behaviour for processing of instructions | |
US11340901B2 (en) | Apparatus and method for controlling allocation of instructions into an instruction cache storage | |
CN111045731B (zh) | 用于执行在推测屏障指令之后的分支指令的方法及装置 | |
CN111954870B (zh) | 数据处理设备和操作数据处理设备的方法 | |
CN111936980A (zh) | 用于控制将数据分配到缓存存储中的装置和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220502 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230608 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230822 |
|
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: 20231206 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231227 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7413280 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |