JP7480595B2 - 半導体装置 - Google Patents
半導体装置 Download PDFInfo
- Publication number
- JP7480595B2 JP7480595B2 JP2020097824A JP2020097824A JP7480595B2 JP 7480595 B2 JP7480595 B2 JP 7480595B2 JP 2020097824 A JP2020097824 A JP 2020097824A JP 2020097824 A JP2020097824 A JP 2020097824A JP 7480595 B2 JP7480595 B2 JP 7480595B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- error
- control unit
- entry
- error signal
- 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
- 239000004065 semiconductor Substances 0.000 title claims description 29
- 238000001514 detection method Methods 0.000 claims description 13
- 230000007704 transition Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 208000034530 PLAA-associated neurodevelopmental disease Diseases 0.000 description 7
- 238000000034 method Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000007423 decrease Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000000052 comparative effect Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic 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/3861—Recovery, e.g. branch miss-prediction, exception handling
-
- 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/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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Advance Control (AREA)
- Retry When Errors Occur (AREA)
Description
11 リザベーションステーション
12、12A、12B コミット制御部
13、13A、13B エントリバッファ
14、14A、14B エントリ判定テーブル
20、20A、20B 演算制御部
21、21A 実行制御部
22、22A レジスタファイル
23、23A、23B 演算器
24、24A リオーダバッファ
25A、25B 演算器
30 キャッシュ制御部
31 キャッシュ
100、100A、100B 半導体装置(CPU)
200 メモリ
CMPL、CMPLa、CMPLb 完了信号線(完了信号)
CNT カウント値
EFLG エラーフラグ
ENT エントリ
ERR エラー
INST 命令情報
OP(OP1、OP2、OP3) オペランドレジスタ
PINF パイプ情報
PL(PLa、PLb) パイプライン
REU、REUa、REUb エラー信号線(エラー信号)
REUT、REUTa、REUTb エラー信号線(エラー信号)
REUT2、REUT2a、REUT2b エラー信号線(エラー信号)
RSLT、RSLTa、RSLTb 演算結果
WE ライトイネーブル信号
Claims (8)
- 命令をアウトオブオーダで発行する命令発行部と、
前記命令発行部が発行した命令を実行する演算部と、
実行が完了した命令をインオーダでコミットするコミット制御部と、
前記演算部により検出されたエラーの検出サイクルをそれぞれ示す複数のエラー信号を前記演算部から前記コミット制御部にそれぞれ伝達する複数のエラー信号線と、を有し、
前記コミット制御部は、命令毎に命令の完了からのサイクル数をカウントし、前記エラー信号の受信時に、コミットしていない命令のうち、前記複数のエラー信号線を介して受けたエラー信号が示す前記検出サイクルと同じカウント値の命令をリトライ可能と判定する
半導体装置。 - 前記コミット制御部は、コミットしていない命令のうち、リトライ可能と判定した命令を除いてコミット可能な命令をコミットし、コミットしない命令のリトライを決定する
請求項1に記載の半導体装置。 - 前記コミット制御部は、
実行が完了した命令と、命令の実行が完了してからのサイクル数を示す前記カウント値と、エラー情報とを命令毎に保持する複数のエントリを含む保持部を有し、
前記エラー信号を受信する毎に、対応するエントリにエラー情報を格納し、
各命令のコミット時に、エラー情報を保持するエントリが保持する命令をリトライ可能と判定する
請求項1または請求項2に記載の半導体装置。 - 前記コミット制御部は、前記エラー信号が示す前記検出サイクルと同じカウント値が前記保持部のエントリに存在しない場合、リトライ不可能なエラーの発生を検出する
請求項3に記載の半導体装置。 - 前記演算部をそれぞれ含み、命令を並列に実行可能な複数のパイプラインを有し、
前記複数のパイプライン毎に前記演算部と前記コミット制御部とを接続する前記複数のエラー信号線が設けられ、
前記コミット制御部は、
実行が完了した命令と、命令の実行が完了してからのサイクル数を示す前記カウント値と、命令を実行した前記パイプラインを示すパイプ情報と、エラー情報とを命令毎に保持する複数のエントリを含む保持部を有し、
前記エラー信号を受信する毎に、前記エラー信号が示す前記検出サイクルと同じカウント値と、前記エラー信号を伝達した前記エラー信号線に接続されたパイプラインを示すパイプ情報とを保持するエントリに前記エラー情報を格納し、
各命令のコミット時に、エラー情報を保持するエントリが保持する命令をリトライ可能と判定する
請求項1または請求項2に記載の半導体装置。 - 前記エラー信号を出力する前記パイプラインを示すパイプ情報と、エラーの検出サイクルとを、前記複数のエラー信号線に対応付けて保持するエントリ判定テーブルを有し、
前記コミット制御部は、前記エラー信号を受信する毎に、前記エラー信号が伝達されたエラー信号線に対応して前記エントリ判定テーブルに保持されたパイプ情報および検出サイクルとそれぞれ同じパイプ情報およびサイクル数を保持する前記エントリに前記エラー情報を格納する
請求項5に記載の半導体装置。 - 前記コミット制御部は、前記エラー信号が示す前記検出サイクルおよび前記エラー信号を出力する前記パイプラインを示すパイプ情報と一致する情報が前記保持部のエントリに存在しない場合、リトライ不可能なエラーの発生を検出する
請求項5または請求項6に記載の半導体装置。 - 前記コミット制御部は、リトライ不可能なエラーの発生を検出した場合、半導体装置の動作を管理する管理装置にエラーを通知する
請求項4または請求項7に記載の半導体装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020097824A JP7480595B2 (ja) | 2020-06-04 | 2020-06-04 | 半導体装置 |
US17/203,000 US11842192B2 (en) | 2020-06-04 | 2021-03-16 | Arithmetic processing device and semiconductor device with improved instruction retry |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020097824A JP7480595B2 (ja) | 2020-06-04 | 2020-06-04 | 半導体装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021190018A JP2021190018A (ja) | 2021-12-13 |
JP7480595B2 true JP7480595B2 (ja) | 2024-05-10 |
Family
ID=78817447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020097824A Active JP7480595B2 (ja) | 2020-06-04 | 2020-06-04 | 半導体装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11842192B2 (ja) |
JP (1) | JP7480595B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114995884A (zh) * | 2022-06-14 | 2022-09-02 | 平头哥(上海)半导体技术有限公司 | 指令退休单元、指令执行单元及相关装置和方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016062513A (ja) | 2014-09-19 | 2016-04-25 | 株式会社東芝 | プロセッサおよびプロセッサシステム |
US10282250B1 (en) | 2017-10-16 | 2019-05-07 | Cadence Design Systems, Inc. | Apparatus and method for a coherent, efficient, and configurable cyclic redundancy check retry implementation for synchronous dynamic random access memory |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4584124B2 (ja) | 2005-11-24 | 2010-11-17 | エヌイーシーコンピュータテクノ株式会社 | 情報処理装置およびそのエラー処理方法ならびに制御プログラム |
US10228944B2 (en) * | 2014-12-14 | 2019-03-12 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method for programmable load replay preclusion |
-
2020
- 2020-06-04 JP JP2020097824A patent/JP7480595B2/ja active Active
-
2021
- 2021-03-16 US US17/203,000 patent/US11842192B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016062513A (ja) | 2014-09-19 | 2016-04-25 | 株式会社東芝 | プロセッサおよびプロセッサシステム |
US10282250B1 (en) | 2017-10-16 | 2019-05-07 | Cadence Design Systems, Inc. | Apparatus and method for a coherent, efficient, and configurable cyclic redundancy check retry implementation for synchronous dynamic random access memory |
Also Published As
Publication number | Publication date |
---|---|
US11842192B2 (en) | 2023-12-12 |
JP2021190018A (ja) | 2021-12-13 |
US20210382715A1 (en) | 2021-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10579386B2 (en) | Microprocessor for gating a load operation based on entries of a prediction table | |
US7870369B1 (en) | Abort prioritization in a trace-based processor | |
JP3927546B2 (ja) | 同時マルチスレッド化プロセッサ | |
US7162613B2 (en) | Mechanism for processing speculative LL and SC instructions in a pipelined processor | |
US20040128487A1 (en) | System and method for handling load and/or store operations in a superscalar microprocessor | |
JP2009527866A (ja) | アウトオブオーダープロセッサにおけるトランザクショナルメモリ | |
JP2012198803A (ja) | 演算処理装置及び演算処理方法 | |
CN108694094B (zh) | 用于处理存储器访问操作的装置和方法 | |
US20050223201A1 (en) | Facilitating rapid progress while speculatively executing code in scout mode | |
US11055101B2 (en) | Processing apparatus and controlling method for processing apparatus | |
US10977040B2 (en) | Heuristic invalidation of non-useful entries in an array | |
JP7480595B2 (ja) | 半導体装置 | |
US6715060B1 (en) | Utilizing a scoreboard with multi-bit registers to indicate a progression status of an instruction that retrieves data | |
US5802340A (en) | Method and system of executing speculative store instructions in a parallel processing computer system | |
JP3800533B2 (ja) | プログラムカウンタ制御方法及びプロセッサ | |
US11372712B2 (en) | Processing device and method of controlling processing device | |
JP3683439B2 (ja) | 分岐予測を抑止する情報処理装置および方法 | |
JP2020091751A (ja) | 演算処理装置および演算処理装置の制御方法 | |
US10929137B2 (en) | Arithmetic processing device and control method for arithmetic processing device | |
US20190384608A1 (en) | Arithmetic processor and control method of arithmetic processor | |
US7783863B1 (en) | Graceful degradation in a trace-based processor | |
US11507377B2 (en) | Arithmetic processing circuit and arithmetic processing method | |
US11210101B2 (en) | Arithmetic processing device and control method implemented by arithmetic processing device | |
US20240118900A1 (en) | Arithmetic processing device and arithmetic processing method | |
JPH10154072A (ja) | パイプライン処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230309 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20231227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240123 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240314 |
|
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: 20240326 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240408 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7480595 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |