JP2022542630A - データ構造放棄 - Google Patents
データ構造放棄 Download PDFInfo
- Publication number
- JP2022542630A JP2022542630A JP2021555375A JP2021555375A JP2022542630A JP 2022542630 A JP2022542630 A JP 2022542630A JP 2021555375 A JP2021555375 A JP 2021555375A JP 2021555375 A JP2021555375 A JP 2021555375A JP 2022542630 A JP2022542630 A JP 2022542630A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- instructions
- data processing
- register
- circuit
- 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
Images
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/30181—Instruction operation extension or modification
- G06F9/30185—Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
-
- 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
-
- 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
-
- 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/3824—Operand accessing
-
- 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
-
- 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
- G06F9/38585—Result writeback, i.e. updating the architectural state or memory with result invalidation, e.g. nullification
-
- 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/3861—Recovery, e.g. branch miss-prediction, exception handling
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
MATMUL MC1,MAP^,MBQ
に対応する。
Claims (18)
- データを記憶する複数の記憶回路と、
命令に応じて前記記憶回路を使用して1つ以上の演算を実行する実行回路と、を備え、
前記命令は、放棄命令を含み、
前記実行回路は、前記複数の記憶回路のうちの少なくとも1つが使用されていない記憶回路であることを示すことによって、前記放棄命令に応答するように適合されており、
前記実行回路は、前記放棄命令を実行した後の前記使用されていない記憶回路に基づいて将来の命令の実行に影響を及ぼすように適合されている、
データ処理装置。 - コンテキストスイッチに応じて前記記憶回路のセットを退避するコンテキスト退避回路を備え、
前記将来の命令は、前記コンテキストスイッチを実行する1つ以上のコンテキストスイッチ命令を含む、
請求項1に記載のデータ処理装置。 - 前記コンテキスト退避回路が、前記使用されていない記憶回路を退避することを禁止するように適合されている、
請求項2に記載のデータ処理装置。 - 前記コンテキスト退避回路が、前記使用されていない記憶回路以外の前記複数の記憶回路を退避するように適合されている、
請求項2に記載のデータ処理装置。 - 前記コンテキスト退避回路が、前記使用されていない記憶回路、又は使用されていないもの以外の前記記憶回路のいずれかのアイデンティティを退避するように適合されている、
請求項2に記載のデータ処理装置。 - 前記命令をストリーム順序で受信し、かつ前記命令を前記ストリーム順序以外の変更された順序で前記実行回路に発行する、発行回路を備える、
請求項1に記載のデータ処理装置。 - 前記ストリーム順序が、前記放棄命令、続いて分岐命令、続いてプロデューサ命令であり、
前記分岐命令は、実行されるものとして予測され、
前記プロデューサ命令は、前記使用されていない記憶回路に第2のデータ値を記憶し、
前記変更された順序は、前記分岐命令が完了する前に前記プロデューサ命令を発行させる、
請求項6に記載のデータ処理装置。 - 前記コンシューマ命令が、複数のプロセッササイクルにわたって実行される、
請求項7に記載のデータ処理装置。 - 前記コンシューマ命令が、行列演算命令である、
請求項7に記載のデータ処理装置。 - 前記複数の記憶回路のそれぞれが、同時にアドレス指定可能である、
請求項1に記載のデータ処理装置。 - 前記複数の記憶回路のそれぞれが、複数のデータ値を記憶するように適合されている、
請求項1に記載のデータ処理装置。 - 前記複数の記憶回路のそれぞれが、少なくとも1KiBの容量を有する、
請求項1に記載のデータ処理装置。 - 前記実行回路が、前記1つ以上の演算のうちの少なくともいくつかを実行することによって前記放棄命令に応答し、かつ前記複数の記憶回路のうちの前記1つを前記使用されていない記憶回路として示すように適合されている、
請求項1に記載のデータ処理装置。 - 前記命令のうちの少なくともいくつかは、前記命令が前記放棄命令であるかどうかを示すフィールドを含む、
請求項1に記載のデータ処理装置。 - 前記使用されていない記憶回路を含む1つ以上の使用されていない記憶回路を識別するトラック回路
を備える、請求項1に記載のデータ処理装置。 - 前記記憶回路がレジスタであり、
前記使用されていない記憶回路が、前記レジスタ内の使用されていないレジスタである、
請求項1に記載のデータ処理装置。 - 複数の記憶回路内にデータを記憶することと、
放棄命令を含む命令に応じて、前記記憶回路を使用して1つ以上の演算を実行することと、
前記放棄命令に応じて、前記複数の記憶回路のうちの少なくとも1つが使用されていない記憶回路であることを示すことと、
前記放棄命令を実行した後の前記使用されていない記憶回路に基づいて将来の命令の実行に影響を及ぼすことと、
を含む、方法。 - 複数の記憶回路内にデータを記憶する手段と、
放棄命令を含む命令に応じて、前記記憶回路を使用して1つ以上の演算を実行する手段と、
前記放棄命令に応じて、前記複数の記憶回路のうちの少なくとも1つが使用されていない記憶回路であることを示す手段と、
前記放棄命令を実行した後の前記使用されていない記憶回路に基づいて将来の命令の実行に影響を及ぼす手段と、
を備える、データ処理装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/531,206 US11269634B2 (en) | 2019-08-05 | 2019-08-05 | Data structure relinquishing |
US16/531,206 | 2019-08-05 | ||
PCT/GB2020/050800 WO2021023956A1 (en) | 2019-08-05 | 2020-03-25 | Data structure relinquishing |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022542630A true JP2022542630A (ja) | 2022-10-06 |
JP7590336B2 JP7590336B2 (ja) | 2024-11-26 |
Family
ID=70166059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021555375A Active JP7590336B2 (ja) | 2019-08-05 | 2020-03-25 | データ構造放棄 |
Country Status (8)
Country | Link |
---|---|
US (1) | US11269634B2 (ja) |
EP (1) | EP3912028A1 (ja) |
JP (1) | JP7590336B2 (ja) |
KR (1) | KR20220057482A (ja) |
CN (1) | CN113544639A (ja) |
IL (1) | IL285926B2 (ja) |
TW (1) | TWI836108B (ja) |
WO (1) | WO2021023956A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12008150B2 (en) * | 2021-06-24 | 2024-06-11 | International Business Machines Corporation | Encrypted data processing design including cleartext register files |
US11868275B2 (en) | 2021-06-24 | 2024-01-09 | International Business Machines Corporation | Encrypted data processing design including local buffers |
WO2024195694A1 (ja) * | 2024-03-14 | 2024-09-26 | 日本電気株式会社 | プロセッサ装置および演算方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010004755A1 (en) * | 1997-04-03 | 2001-06-21 | Henry M Levy | Mechanism for freeing registers on processors that perform dynamic out-of-order execution of instructions using renaming registers |
JP2011018120A (ja) * | 2009-07-07 | 2011-01-27 | Nec Computertechno Ltd | 情報処理装置及びベクトル型情報処理装置 |
JP2015501019A (ja) * | 2011-10-03 | 2015-01-08 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | コンピュータ・システム内のオペランド活性情報の維持 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6101597A (en) * | 1993-12-30 | 2000-08-08 | Intel Corporation | Method and apparatus for maximum throughput scheduling of dependent operations in a pipelined processor |
US5553256A (en) * | 1994-02-28 | 1996-09-03 | Intel Corporation | Apparatus for pipeline streamlining where resources are immediate or certainly retired |
US9182986B2 (en) * | 2012-12-29 | 2015-11-10 | Intel Corporation | Copy-on-write buffer for restoring program code from a speculative region to a non-speculative region |
US20190220417A1 (en) * | 2018-01-18 | 2019-07-18 | Apple Inc. | Context Switch Optimization |
-
2019
- 2019-08-05 US US16/531,206 patent/US11269634B2/en active Active
-
2020
- 2020-03-25 IL IL285926A patent/IL285926B2/en unknown
- 2020-03-25 EP EP20716892.3A patent/EP3912028A1/en active Pending
- 2020-03-25 JP JP2021555375A patent/JP7590336B2/ja active Active
- 2020-03-25 WO PCT/GB2020/050800 patent/WO2021023956A1/en active Application Filing
- 2020-03-25 CN CN202080019767.2A patent/CN113544639A/zh active Pending
- 2020-03-25 KR KR1020217029390A patent/KR20220057482A/ko active Pending
- 2020-06-29 TW TW109121764A patent/TWI836108B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010004755A1 (en) * | 1997-04-03 | 2001-06-21 | Henry M Levy | Mechanism for freeing registers on processors that perform dynamic out-of-order execution of instructions using renaming registers |
JP2011018120A (ja) * | 2009-07-07 | 2011-01-27 | Nec Computertechno Ltd | 情報処理装置及びベクトル型情報処理装置 |
JP2015501019A (ja) * | 2011-10-03 | 2015-01-08 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | コンピュータ・システム内のオペランド活性情報の維持 |
Non-Patent Citations (1)
Title |
---|
伊藤 努、山崎信行: "Responsive Multithreaded Processorの命令実行機構", 情報処理学会論文誌, vol. Vol.44, No.SIG11(ACS3), JPN6023048033, 15 August 2003 (2003-08-15), JP, pages 226 - 235, ISSN: 0005202657 * |
Also Published As
Publication number | Publication date |
---|---|
IL285926B1 (en) | 2024-03-01 |
US11269634B2 (en) | 2022-03-08 |
EP3912028A1 (en) | 2021-11-24 |
CN113544639A (zh) | 2021-10-22 |
TWI836108B (zh) | 2024-03-21 |
IL285926B2 (en) | 2024-07-01 |
JP7590336B2 (ja) | 2024-11-26 |
KR20220057482A (ko) | 2022-05-09 |
TW202107278A (zh) | 2021-02-16 |
WO2021023956A1 (en) | 2021-02-11 |
US20210042114A1 (en) | 2021-02-11 |
IL285926A (en) | 2021-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1145110B1 (en) | Circuit and method for tagging and invalidating speculatively executed instructions | |
US7711935B2 (en) | Universal branch identifier for invalidation of speculative instructions | |
JP3547482B2 (ja) | 情報処理装置 | |
JP3093639B2 (ja) | プロセッサ内の資源割当て追跡方法及びそのシステム | |
US10198267B2 (en) | Register renaming using snapshot buffers | |
US20080016325A1 (en) | Using windowed register file to checkpoint register state | |
US20160350115A1 (en) | Register renaming | |
CN106155636B (zh) | 用于寄存器重命名的可用寄存器控制 | |
JP2008047145A (ja) | デュアルスレッドプロセッサ | |
JP7590336B2 (ja) | データ構造放棄 | |
KR100242403B1 (ko) | 데이타 처리 시스템의 조건 레지스터 데이타 임시 저장 방법 및 시스템 | |
JPH10506739A (ja) | スーパースカラプロセッサにおけるトラップを検出して実行する装置 | |
EP0677188A1 (en) | SYSTEM AND METHOD FOR ASSIGNING LABELS TO INSTRUCTIONS TO CONTROL THE EXECUTION OF INSTRUCTIONS. | |
US20040006683A1 (en) | Register renaming for dynamic multi-threading | |
US7162620B2 (en) | Methods and apparatus for multi-processing execution of computer instructions | |
JPH09152973A (ja) | カウント/リンク・レジスタ変更命令の投機実行をサポートする方法及び装置 | |
US5943494A (en) | Method and system for processing multiple branch instructions that write to count and link registers | |
JP7510253B2 (ja) | 分岐予測器 | |
US11663014B2 (en) | Speculatively executing instructions that follow a status updating instruction | |
JP2019510313A (ja) | ベクトル命令の処理 | |
JPH05173781A (ja) | 複数命令の並列実行機能を持つ情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20211022 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20220111 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230317 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20231025 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231122 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240222 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20240523 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240920 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20241007 |
|
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: 20241022 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20241114 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7590336 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |