CN105793825B - 可从过多的近似计算误差中恢复的处理器 - Google Patents
可从过多的近似计算误差中恢复的处理器 Download PDFInfo
- Publication number
- CN105793825B CN105793825B CN201480028808.9A CN201480028808A CN105793825B CN 105793825 B CN105793825 B CN 105793825B CN 201480028808 A CN201480028808 A CN 201480028808A CN 105793825 B CN105793825 B CN 105793825B
- Authority
- CN
- China
- Prior art keywords
- processor
- instruction
- error
- approximation
- approximate
- 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
Classifications
-
- 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/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
- G06F9/30014—Arithmetic instructions with variable precision
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- 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/30185—Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
- G06F9/3863—Recovery, e.g. branch miss-prediction, exception handling using multiple copies of the architectural state, e.g. shadow registers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Library & Information Science (AREA)
- Executing Machine-Instructions (AREA)
- Retry When Errors Occur (AREA)
- Advance Control (AREA)
- Complex Calculations (AREA)
- Hardware Redundancy (AREA)
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201461937741P | 2014-02-10 | 2014-02-10 | |
| US61/937,741 | 2014-02-10 | ||
| US14/522,520 | 2014-10-23 | ||
| US14/522,520 US9588845B2 (en) | 2014-02-10 | 2014-10-23 | Processor that recovers from excessive approximate computing error |
| PCT/IB2014/003167 WO2015118376A1 (en) | 2014-02-10 | 2014-12-14 | Processor that recovers from excessive approximate computing error |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN105793825A CN105793825A (zh) | 2016-07-20 |
| CN105793825B true CN105793825B (zh) | 2019-02-12 |
Family
ID=52473758
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201480028808.9A Active CN105793825B (zh) | 2014-02-10 | 2014-12-14 | 可从过多的近似计算误差中恢复的处理器 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US9588845B2 (enExample) |
| EP (1) | EP2908242B1 (enExample) |
| JP (2) | JP6133498B2 (enExample) |
| KR (1) | KR101720452B1 (enExample) |
| CN (1) | CN105793825B (enExample) |
| WO (1) | WO2015118376A1 (enExample) |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10235232B2 (en) | 2014-02-10 | 2019-03-19 | Via Alliance Semiconductor Co., Ltd | Processor with approximate computing execution unit that includes an approximation control register having an approximation mode flag, an approximation amount, and an error threshold, where the approximation control register is writable by an instruction set instruction |
| US9588845B2 (en) * | 2014-02-10 | 2017-03-07 | Via Alliance Semiconductor Co., Ltd. | Processor that recovers from excessive approximate computing error |
| US9389863B2 (en) | 2014-02-10 | 2016-07-12 | Via Alliance Semiconductor Co., Ltd. | Processor that performs approximate computing instructions |
| US10922203B1 (en) * | 2018-09-21 | 2021-02-16 | Nvidia Corporation | Fault injection architecture for resilient GPU computing |
| US11327754B2 (en) * | 2019-03-27 | 2022-05-10 | Intel Corporation | Method and apparatus for approximation using polynomials |
| JP2021043740A (ja) | 2019-09-11 | 2021-03-18 | 富士通株式会社 | バリア同期回路、バリア同期方法及び並列情報処理装置 |
| JP7283320B2 (ja) * | 2019-09-13 | 2023-05-30 | 富士通株式会社 | 情報処理装置、情報処理プログラム、及び情報処理方法 |
| US11836490B2 (en) * | 2019-11-14 | 2023-12-05 | Nvidia Corporation | Kernel coefficient quantization |
| JP7627024B2 (ja) * | 2021-01-29 | 2025-02-05 | 国立大学法人 東京大学 | 情報処理システム及び情報処理方法 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1993679A (zh) * | 2004-08-04 | 2007-07-04 | 罗伯特·博世有限公司 | 执行计算机程序的方法、操作系统和计算设备 |
| CN101859243A (zh) * | 2009-07-03 | 2010-10-13 | 威盛电子股份有限公司 | 动态浮点运算暂存器精密度控制的装置及方法 |
| CN103019876A (zh) * | 2012-12-26 | 2013-04-03 | 东南大学 | 一种面向cpu流水线的错误恢复电路 |
Family Cites Families (44)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3736566A (en) * | 1971-08-18 | 1973-05-29 | Ibm | Central processing unit with hardware controlled checkpoint and retry facilities |
| US4726024A (en) * | 1986-03-31 | 1988-02-16 | Mieczyslaw Mirowski | Fail safe architecture for a computer system |
| US4912707A (en) * | 1988-08-23 | 1990-03-27 | International Business Machines Corporation | Checkpoint retry mechanism |
| JP2764975B2 (ja) * | 1988-12-19 | 1998-06-11 | 日本電気株式会社 | 精度つき浮動小数点数演算処理装置 |
| US5386375A (en) * | 1993-11-01 | 1995-01-31 | Motorola, Inc. | Floating point data processor and a method for performing a floating point square root operation within the data processor |
| US5504859A (en) * | 1993-11-09 | 1996-04-02 | International Business Machines Corporation | Data processor with enhanced error recovery |
| WO1995031767A1 (en) | 1994-05-11 | 1995-11-23 | Vlsi Technology, Inc. | Floating-point processor with apparent-precision based selection of execution-precision |
| US5659721A (en) * | 1995-02-14 | 1997-08-19 | Hal Computer Systems, Inc. | Processor structure and method for checkpointing instructions to maintain precise state |
| US5745375A (en) * | 1995-09-29 | 1998-04-28 | Intel Corporation | Apparatus and method for controlling power usage |
| US6625749B1 (en) * | 1999-12-21 | 2003-09-23 | Intel Corporation | Firmware mechanism for correcting soft errors |
| US7529912B2 (en) * | 2002-02-12 | 2009-05-05 | Via Technologies, Inc. | Apparatus and method for instruction-level specification of floating point format |
| US7181596B2 (en) * | 2002-02-12 | 2007-02-20 | Ip-First, Llc | Apparatus and method for extending a microprocessor instruction set |
| US7171594B2 (en) * | 2002-03-06 | 2007-01-30 | Hewlett-Packard Development Company, L.P. | Pausing a transfer of data |
| KR20040048703A (ko) * | 2002-12-04 | 2004-06-10 | 엘지전자 주식회사 | 프로세서 복구 장치 |
| US20050004957A1 (en) | 2003-07-05 | 2005-01-06 | General Instrument Corporation | Single instruction multiple data implementations of finite impulse response filters |
| US20050004958A1 (en) | 2003-07-05 | 2005-01-06 | General Instrument Corporation | Single instruction multiple data implementation of finite impulse response filters including adjustment of result |
| US7325022B2 (en) | 2003-08-26 | 2008-01-29 | Intel Corporation | Methods and apparatus for determining approximating polynomials using instruction-embedded coefficients |
| US20050228837A1 (en) | 2004-04-08 | 2005-10-13 | Paul Marostica | Approximate number calculator |
| US7634687B2 (en) * | 2005-01-13 | 2009-12-15 | Microsoft Corporation | Checkpoint restart system and method |
| US7467325B2 (en) * | 2005-02-10 | 2008-12-16 | International Business Machines Corporation | Processor instruction retry recovery |
| US7421568B2 (en) | 2005-03-04 | 2008-09-02 | Qualcomm Incorporated | Power saving methods and apparatus to selectively enable cache bits based on known processor state |
| US20060271615A1 (en) | 2005-05-27 | 2006-11-30 | Shearer James B | Method to compute an approximation to the reciprocal of the square root of a floating point number in IEEE format |
| US8595279B2 (en) * | 2006-02-27 | 2013-11-26 | Qualcomm Incorporated | Floating-point processor with reduced power requirements for selectable subprecision |
| CN100435548C (zh) * | 2006-09-15 | 2008-11-19 | 北京大学 | 一种能够同时产生多位调频网点的方法及装置 |
| JP4461135B2 (ja) * | 2006-12-25 | 2010-05-12 | 富士通株式会社 | 演算回路及び演算方法並びに情報処理装置 |
| US8402078B2 (en) | 2008-02-26 | 2013-03-19 | International Business Machines Corporation | Method, system and computer program product for determining required precision in fixed-point divide operations |
| US8633936B2 (en) * | 2008-04-21 | 2014-01-21 | Qualcomm Incorporated | Programmable streaming processor with mixed precision instruction execution |
| US8458650B2 (en) * | 2010-03-29 | 2013-06-04 | International Business Machines Corporation | Injecting a fault into a stream operator in a data stream processing application |
| US8397187B2 (en) | 2010-04-23 | 2013-03-12 | International Business Machines Corporation | Verifying the error bound of numerical computation implemented in computer systems |
| US8589665B2 (en) * | 2010-05-27 | 2013-11-19 | International Business Machines Corporation | Instruction set architecture extensions for performing power versus performance tradeoffs |
| US8468431B2 (en) * | 2010-07-01 | 2013-06-18 | Densbits Technologies Ltd. | System and method for multi-dimensional encoding and decoding |
| US8627143B2 (en) * | 2010-07-12 | 2014-01-07 | Hewlett-Packard Development Company, L.P. | Dynamically modeling and selecting a checkpoint scheme based upon an application workload |
| US8676871B2 (en) | 2010-09-24 | 2014-03-18 | Intel Corporation | Functional unit capable of executing approximations of functions |
| US20120197955A1 (en) * | 2011-01-31 | 2012-08-02 | Nokia Corporation | Method, apparatus, and computer program product for resource, time, and cost aware variable-precision solving of mathematical functions |
| US8510546B2 (en) | 2011-03-29 | 2013-08-13 | International Business Machines Corporation | Run-ahead approximated computations |
| CN103959192B (zh) * | 2011-12-21 | 2017-11-21 | 英特尔公司 | 用于估算超越函数的数学电路 |
| US8954797B2 (en) * | 2012-04-16 | 2015-02-10 | International Business Machines Corporation | Reconfigurable recovery modes in high availability processors |
| US9600382B2 (en) * | 2012-09-03 | 2017-03-21 | Southeast University | Error recovery circuit oriented to CPU pipeline |
| US9021313B2 (en) | 2012-11-21 | 2015-04-28 | Microsoft Technology Licensing, Llc | Priority-assignment interface to enhance approximate computing |
| US9829956B2 (en) | 2012-11-21 | 2017-11-28 | Nvidia Corporation | Approach to power reduction in floating-point operations |
| JP6044316B2 (ja) * | 2012-12-12 | 2016-12-14 | 株式会社デンソー | 車載電子制御装置 |
| US9317379B2 (en) * | 2014-01-24 | 2016-04-19 | International Business Machines Corporation | Using transactional execution for reliability and recovery of transient failures |
| US9389863B2 (en) | 2014-02-10 | 2016-07-12 | Via Alliance Semiconductor Co., Ltd. | Processor that performs approximate computing instructions |
| US9588845B2 (en) * | 2014-02-10 | 2017-03-07 | Via Alliance Semiconductor Co., Ltd. | Processor that recovers from excessive approximate computing error |
-
2014
- 2014-10-23 US US14/522,520 patent/US9588845B2/en active Active
- 2014-12-14 CN CN201480028808.9A patent/CN105793825B/zh active Active
- 2014-12-14 WO PCT/IB2014/003167 patent/WO2015118376A1/en not_active Ceased
- 2014-12-14 JP JP2016514497A patent/JP6133498B2/ja active Active
- 2014-12-14 KR KR1020157032811A patent/KR101720452B1/ko active Active
-
2015
- 2015-02-10 EP EP15154560.5A patent/EP2908242B1/en active Active
-
2017
- 2017-04-19 JP JP2017082650A patent/JP6586435B2/ja active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1993679A (zh) * | 2004-08-04 | 2007-07-04 | 罗伯特·博世有限公司 | 执行计算机程序的方法、操作系统和计算设备 |
| CN101859243A (zh) * | 2009-07-03 | 2010-10-13 | 威盛电子股份有限公司 | 动态浮点运算暂存器精密度控制的装置及方法 |
| CN103019876A (zh) * | 2012-12-26 | 2013-04-03 | 东南大学 | 一种面向cpu流水线的错误恢复电路 |
Non-Patent Citations (1)
| Title |
|---|
| On-Line Scheduling for Checkpointing Imprecise Computation;Nicholas S. Bowen等;《Proceedings of the Fifth Euromicro Workshop on Real-Time Systems》;19930630;238-243 * |
Also Published As
| Publication number | Publication date |
|---|---|
| JP6586435B2 (ja) | 2019-10-02 |
| WO2015118376A1 (en) | 2015-08-13 |
| EP2908242B1 (en) | 2019-07-17 |
| CN105793825A (zh) | 2016-07-20 |
| US20150227429A1 (en) | 2015-08-13 |
| JP2017162487A (ja) | 2017-09-14 |
| US9588845B2 (en) | 2017-03-07 |
| JP6133498B2 (ja) | 2017-05-24 |
| EP2908242A2 (en) | 2015-08-19 |
| KR20160008558A (ko) | 2016-01-22 |
| EP2908242A3 (en) | 2018-01-24 |
| KR101720452B1 (ko) | 2017-03-27 |
| JP2016524748A (ja) | 2016-08-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN105793825B (zh) | 可从过多的近似计算误差中恢复的处理器 | |
| CN105308555B (zh) | 具有近似计算功能单元的处理器 | |
| CN105283858B (zh) | 可执行近似计算指令的处理器 | |
| CN104169889B (zh) | 在事务执行模式中的运行时间检测采样的方法和系统 | |
| TWI515654B (zh) | 從區位格式轉換至十進制浮點格式 | |
| KR101712864B1 (ko) | 다수의 테스트 소스에 대한 or-테스트 및 and-테스트 기능을 제공하는 명령어를 융합하는 방법 및 장치 | |
| TWI731892B (zh) | 用於以通道為基礎的跨步儲存操作之指令及邏輯 | |
| CN107077321B (zh) | 用于执行融合的单个周期递增-比较-跳转的指令和逻辑 | |
| US9690640B2 (en) | Recovery from multiple data errors | |
| TWI614679B (zh) | 向量浮點測試資料類別立即指令 | |
| CN104380264B (zh) | 运行时间检测报告 | |
| US10216516B2 (en) | Fused adjacent memory stores | |
| CN105229616B (zh) | 在指令追踪系统中跟踪处理装置的模式 | |
| TW201732581A (zh) | 用於載入索引與集中操作的指令及邏輯 | |
| TWI738679B (zh) | 處理器、運算系統及用以執行運算操作之方法 | |
| CN104182204A (zh) | 融合if-then指令的微处理器 | |
| CN108369508A (zh) | 使用处理器指令前缀的二进制转换支持 | |
| CN108363668A (zh) | 线性存储器地址变换和管理 | |
| CN108369512A (zh) | 用于置换序列的指令和逻辑 | |
| Yi et al. | 32-bit RISC CPU based on MIPS instruction fetch module design | |
| CN104081343B (zh) | 事务存储器的主分支指令 | |
| CN108292216A (zh) | 用于压缩和循环的指令和逻辑 | |
| US12481553B2 (en) | System, method and apparatus for reducing power consumption of error correction coding using compacted data blocks | |
| TWI543077B (zh) | 處理器與透過處理器執行的方法 | |
| TWI627585B (zh) | 處理器與透過處理器執行的方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant | ||
| CP01 | Change in the name or title of a patent holder |
Address after: Room 301, 2537 Jinke Road, Zhangjiang High Tech Park, Pudong New Area, Shanghai 201203 Patentee after: Shanghai Zhaoxin Semiconductor Co.,Ltd. Address before: Room 301, 2537 Jinke Road, Zhangjiang High Tech Park, Pudong New Area, Shanghai 201203 Patentee before: VIA ALLIANCE SEMICONDUCTOR Co.,Ltd. |
|
| CP01 | Change in the name or title of a patent holder |