CN105793825B - 可从过多的近似计算误差中恢复的处理器 - Google Patents

可从过多的近似计算误差中恢复的处理器 Download PDF

Info

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
Application number
CN201480028808.9A
Other languages
English (en)
Chinese (zh)
Other versions
CN105793825A (zh
Inventor
葛兰·G·亨利
泰瑞·派克斯
罗德尼·E·虎克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Zhaoxin Semiconductor Co Ltd
Original Assignee
VIA Alliance Semiconductor Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by VIA Alliance Semiconductor Co Ltd filed Critical VIA Alliance Semiconductor Co Ltd
Publication of CN105793825A publication Critical patent/CN105793825A/zh
Application granted granted Critical
Publication of CN105793825B publication Critical patent/CN105793825B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • G06F9/30014Arithmetic instructions with variable precision
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30185Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • G06F9/3863Recovery, e.g. branch miss-prediction, exception handling using multiple copies of the architectural state, e.g. shadow registers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using 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)
CN201480028808.9A 2014-02-10 2014-12-14 可从过多的近似计算误差中恢复的处理器 Active CN105793825B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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