TWI485558B - 容錯系統以及容錯運算方法 - Google Patents

容錯系統以及容錯運算方法 Download PDF

Info

Publication number
TWI485558B
TWI485558B TW102111354A TW102111354A TWI485558B TW I485558 B TWI485558 B TW I485558B TW 102111354 A TW102111354 A TW 102111354A TW 102111354 A TW102111354 A TW 102111354A TW I485558 B TWI485558 B TW I485558B
Authority
TW
Taiwan
Prior art keywords
output
bits
bit
circuit
operation result
Prior art date
Application number
TW102111354A
Other languages
English (en)
Other versions
TW201437801A (zh
Inventor
Yung Chang Chang
Hsing Chuang Liu
Chih Jen Yang
Original Assignee
Ind Tech Res Inst
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 Ind Tech Res Inst filed Critical Ind Tech Res Inst
Priority to TW102111354A priority Critical patent/TWI485558B/zh
Priority to US14/054,643 priority patent/US9513903B2/en
Publication of TW201437801A publication Critical patent/TW201437801A/zh
Application granted granted Critical
Publication of TWI485558B publication Critical patent/TWI485558B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1608Error detection by comparing the output signals of redundant hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/165Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/003Modifications for increasing the reliability for protection
    • H03K19/0033Radiation hardening
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/1497Details of time redundant execution on a single processing unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/187Voting techniques
    • G06F11/188Voting techniques where exact match is not required

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Hardware Redundancy (AREA)

Description

容錯系統以及容錯運算方法
本揭露係關於一種容錯系統,特別係關於一種可根據環境參數與運算單元的電路特性合成不同運算電路所產生之運算結果的容錯系統。
近年來,電子裝置變得越來越普遍且功能也越來越多樣化。舉例來說,電子裝置可以具備影像處理、音訊處理、資料編碼、資料解碼以及其他各式各樣的功能與運算。因此,電子裝置中之運算的準確度也越來越重要,其中又以車用的晶片以及高可靠度需求之晶片對運算準確度的要求特別嚴格。
然而,晶片之運算的準確度與所處的運算環境相關。舉例而言,在不同的電壓、不同的溫度下,相同的電路所運算得到的結果皆可能不同,其中每種結果皆具有不同之準確度。因此,在不同的狀態下,致使晶片輸出正確的結果,是我們目前需要達成的目標。
本揭露所提供之容錯系統以及容錯運算方法,可根據不同之環境參數與電路對這些參數的反應,在不同的運算 電路中選擇出輸出位元,以合成為校正後之運算結果。
本揭露提供一種容錯系統。容錯系統包括一運算單元以及一輸出合成裝置。運算單元用以接收複數環境參數中之一第一環境參數以及一輸入數據,其中運算單元更包括一第一運算模組以及一第二運算模組。第一運算模組具有一第一運算電路,用以藉由第一環境參數,對輸入數據進行一運算,並產生一第一運算結果,其中第一運算結果具有複數第一輸出位元,並且每一第一輸出位元依序具有相應之位元位置。第二運算模組具有不同於第一運算電路之一第二運算電路,用以藉由第一環境參數,對輸入數據進行運算,並產生一第二運算結果,其中第二運算結果具有複數第二輸出位元,並且每一第二輸出位元依序具有相應之位元位置。輸出合成裝置用以根據一控制訊號,選擇第一輸出位元中之一第一組位元以及第二輸出位元中之一第二組位元,並根據第一組位元中之每一第一輸出位元以及第二組位元中之每一第二輸出位元的位元位置,依序將第一組位元中之第一輸出位元以及第二組位元中之第二輸出位元合成為一校正後之運算結果。
本揭露提供另一種容錯運算方法,適用於一容錯系統。容錯運算方法包括藉由複數環境參數中之一第一環境參數以及一第一運算電路,對一輸入數據進行一運算,並產生一第一運算結果,其中第一運算結果具有複數第一輸出位元,並且每一第一輸出位元依序具有相應之位元位置;藉由第一環境參數以及不同於第一運算電路之一第二運算電路,對輸入數據進行運算,並產生一第二運算結果,其中第二運算結果具有複 數第二輸出位元,並且每一第二輸出位元依序具有相應之位元位置;根據一控制訊號,選擇第一輸出位元中之一第一組位元以及第二輸出位元中之一第二組位元;以及根據第一組位元中之每一第一輸出位元以及第二組位元中之每一第二輸出位元的位元位置,依序將第一組位元中之第一輸出位元以及第二組位元中之第二輸出位元合成為一校正後之運算結果。
100A-100D‧‧‧容錯系統
102‧‧‧運算單元
1021-102N‧‧‧運算模組
1021’-102N’‧‧‧運算電路
104‧‧‧輸出合成裝置
106‧‧‧輸出控制裝置
1062‧‧‧儲存裝置
108‧‧‧輸出判斷裝置
CS1‧‧‧控制訊號
CS2‧‧‧控制訊號
DA1‧‧‧輸入數據
IS1-ISN‧‧‧指令
RS1-RSN‧‧‧運算結果
RS1(0)-RS1(15)、RS2(0)-RS2(15)‧‧‧輸出位元
ARS‧‧‧校正後之運算結果
SRS‧‧‧已選擇之運算結果
S1-S3‧‧‧判斷訊號
CS1‧‧‧控制訊號
IS1-ISN‧‧‧指令
第1圖為本揭露所提供之一容錯系統之方塊圖。
第2A圖為本揭露所提供之一種運算電路之模擬圖。
第2B圖為本揭露所提供之一種運算電路之模擬圖。
第2C圖為本揭露所提供之一種運算電路之模擬圖。
第3圖為本揭露所提供之一容錯系統之運算示意圖。
第4圖為本揭露所提供之另一容錯系統之方塊圖。
第5圖為本揭露所提供之另一容錯系統之方塊圖。
第6圖為本揭露所提供之另一容錯系統之方塊圖。
第7圖為本揭露所提供之一容錯運算方法的流程圖。
第8圖為本揭露所提供之另一容錯運算方法的流程圖。
第9圖為本揭露所提供之另一容錯運算方法的流程圖。
第10圖為本揭露所提供之另一容錯運算方法的流程圖。
以下將詳細討論本揭露各種實施例之裝置及使用方法。然而,本揭露所提供之許多可行的發明概念可實施在各種特定範圍中。這些特定實施例僅用於舉例說明本揭露之裝置 及使用方法,但非用於限定本揭露之範圍。
第1圖為本揭露所提供之一容錯系統之方塊圖。容錯系統100A包括一運算單元102、一輸出合成裝置104以及一輸出控制裝置106。熟習此技藝人士也可將容錯系統100A實施於電腦系統及/或具有運算晶片之一電腦系統樣態(configuration)上,例如,車用電腦、桌上型電腦、手持式設備(hand-held devices)、多處理器系統、迷你電腦、平板電腦以及類似之設備,本發明在此不加以限制。
運算單元102用以接收複數指令IS1-ISN中之一者、複數環境參數中之一者以及一輸入數據DA1。舉例而言,複數指令IS1-ISN可為加、減、乘及/或除之不同運算指令的組合,並且複數環境參數可為具有不同的電壓值的操作電壓及/或具有不同溫度值的操作溫度,用以提供運算單元102進行運算,本發明在此不加以限制。為了簡化說明,運算單元102所接收之複數指令IS1-ISN中之一者以下稱為第一指令,並且運算單元102所接收之複數環境參數中之一者以下稱為第一環境參數。運算單元102更包括一第一運算模組1021以及一第二運算模組1022。第一運算模組1021具有一第一運算電路1021’,用以藉由第一環境參數以及根據第一指令,對輸入數據DA1進行一運算,並產生一第一運算結果RS1,其中第一運算結果RS1具有複數第一輸出位元,並且每一第一輸出位元依序具有相應之位元位置。但在本發明之另一實施例中,第一運算模組1021中之第一運算電路1021’可僅藉由第一環境參數,對輸入數據DA1進行一運算,並產生一第一運算結果RS1,而不需要接收 第一指令。第二運算模組1022具有不同於第一運算電路1021’之一第二運算電路1022’,用以藉由第一環境參數以及根據第一指令,對輸入數據DA1進行運算,並產生一第二運算結果,其中第二運算結果具有複數第二輸出位元,並且每一第二輸出位元依序具有相應之位元位置。但在本發明之另一實施例中,第二運算模組1022中之第二運算電路1022’可僅藉由第一環境參數,對輸入數據DA1進行一運算,並產生一第一運算結果RS1,而不需要接收第一指令。換言之,運算單元102具有兩個不同之第一運算模組1021以及第二運算模組1022。第一運算模組1021以及第二運算模組1022分別利用不同之硬體電路以及相同之第一環境參數,對輸入數據DA1進行第一指令所代表之運算。舉例而言,第一運算模組1021以及第二運算模組1022的實作方式不同。在本發明之另一實施例中,第一運算模組1021以及第二運算模組1022,亦可分別利用不同之硬體電路以及不相同之環境參數,對輸入數據DA1進行第一指令所代表之運算,本發明不限於此。第一運算模組1021以及第二運算模組1022亦可分別包括一記憶體(未圖示)。記憶體可包含唯讀記憶體(read only memory;ROM)、快閃記憶體(flash ROM)以及/或動態存取記憶體(random access memory;RAM),用以儲存可供第一運算電路1021’以及第二運算電路1022’執行之程式模組及/或者儲存所產生之第一運算結果RS1以及第二運算結果RS2。
輸出合成裝置104,用以根據一控制訊號CS1,選擇第一輸出位元中之一第一組位元以及第二輸出位元中之一第二組位元,並根據第一組位元中之每一第一輸出位元以及第 二組位元中之每一第二輸出位元的位元位置,依序將第一組位元中之第一輸出位元以及第二組位元中之第二輸出位元合成為一校正後之運算結果ARS。第一運算結果RS1、第二運算結果RS2以及校正後之運算結果ARS具有相同之位元數,並且第一組位元中之第一輸出位元的位元位置與第二組位元中之第二輸出位元的位元位置不重複。
輸出控制裝置106用以接收代表第一指令之判斷訊號S1以及代表第一環境參數之判斷訊號S2,但本發明不限於此。在其他實施例中,輸出控制裝置106亦可接收代表三個以上之判斷訊號。舉例而言,不同之判斷訊號可分別代表環境參數、指令等變數。另外,輸出控制裝置106更用以根據第一指令、第一環境參數、第一運算電路1021’之一第一電路特性表以及第二運算電路1022’之一第二電路特性表,產生控制訊號CS1,並將控制訊號CS1傳送至輸出合成裝置104。換言之,控制訊號CS1係根據第一運算電路1021’以及第二運算電路1022’之操作電壓、操作溫度、所接收之指令(例如第一指令)及/或電路特性等變數所產生的,本發明不限於此。輸出控制裝置106更包括一儲存裝置1062。儲存裝置1062用以儲存第一電路特性表以及第二電路特性表,其中第一電路特性表包括第一運算電路1021’所輸出之每一位元位置相應於每一環境參數以及每一指令IS1-ISN的準確度,並且第二電路特性表包括第二運算電路1022’所輸出之每一位元位置相應於每一環境參數以及每一指令IS1-ISN的準確度。在本揭露之一實施例中,輸出控制裝置106係用以根據第一指令以及第一環境參數,在每一位元位 置,自第一電路特性表以及第二電路特性表之間,選擇準確度較高之第一輸出位元或者第二輸出位元,並藉以產生控制訊號CS1。
換言之,第一運算電路1021’經由運算後,會經由複數接腳分別輸出第一輸出位元以構成第一運算結果RS1。接腳所輸出之第一輸出位元係用以依序作為第一運算結果RS1中不同位元位置的位元,以構成第一運算結果RS1,其中不同接腳所輸出之第一輸出位元在不同之環境參數以及指令IS1-ISN下,具有不同之準確度。相同地,第二運算電路1022’經由運算後,會經由複數接腳分別輸出第二輸出位元以構成第二運算結果RS2。接腳所輸出之第二輸出位元係用以依序作為第二運算結果RS2中不同位元位置的位元,以構成第二運算結果RS2,其中不同接腳所輸出之第二輸出位元在不同之環境參數以及指令IS1-ISN下,具有不同之準確度。因此,設計人員可經由不同的變數(即指令IS1-ISN以及環境參數)重複地測試第一運算電路1021’,以獲得第一運算電路1021’所輸出之每一位元位置相應於每一環境參數以及每一指令IS1-ISN的準確度,並藉以產生第一電路特性表。相同地,設計人員可經由不同的變數(即指令IS1-ISN以及環境參數)重複地測試第二運算電路1022’,以獲得第二運算電路1022’所輸出之每一位元位置相應於每一環境參數以及每一指令IS1-ISN的準確度,並藉以產生第二電路特性表。
舉例而言,第一運算電路1021’以及第二運算電路1022’中之加法器可為一進位傳送加法器(Carry-Ripple Adder,CRA)、一前瞻進位加法器(Carry-Lookahead Adder,CLA)或者一進位選擇加法器(Carry Select Adder;CSA),但本發明不限於此。第2A-2C圖係刊登於IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION SYSTEMS,VOL.18,NO.4,APRIL 2010中標題為”Computation Error Analysis in Digital Signal Processing Systems With Overscaled Supply Voltage”裡所示之不同加法器的模擬圖。如第2A圖中進位傳送加法器的模擬圖所示,進位傳送加法器在操作電壓低時,位元位置較高之輸出位元具有較高之錯誤率。如第2B圖中前瞻進位加法器的模擬圖所示,前瞻進位加法器在操作電壓低時,某些位元位置之輸出位元具有較高之錯誤率。如第2C圖中進位選擇加法器的模擬圖所示,進位選擇加法器在操作電壓低時,位元位置置中之輸出位元具有較高之錯誤率。在第2A-2C圖中,第一軸為位元位置、第二軸為操作電壓的倍數以及第三軸為錯誤率。在本揭露之其它實施例中,第三軸亦可為準確率。舉例而言,百分之一百減去錯誤率即可獲得準確率,或者某些實施例可直接測量每一位元在不同電壓下的準確率。藉此,設計人員可根據第2A-2C圖之數據,獲得每一位元位置相應於每一環境參數的準確度,並藉以產生第一電路特性表以及第二電路特性表。
舉例而言,第一運算電路1021’中之加法器為第2A圖所示之進位傳送加法器,並且第二運算電路1022’中之加法器為第2C圖所示之進位選擇加法器。當第一指令為加法之運算並且第一操作電壓為工作電壓之0.85工作電壓倍數(factor)時,第一運算電路1021’中之進位傳送加法器對輸入數據DA1 進行加法運算,並且產生第一運算結果RS1,其中第一運算結果RS1係依序由具有第一既定位元位置之第一輸出位元RS1(0)、具有第二既定位元位置之第一輸出位元RS1(1)以及具有第三-第十六既定位元位置之第一輸出位元RS1(2)-RS1(15)所構成,如第3圖所示。當工作電壓為1.2伏特時,第一操作電壓為1.2伏特之0.85倍,當工作電壓為0.9伏特時,第一操作電壓為0.9伏特之0.85倍,依此類推,但本發明不限於此。同時,第二運算電路1022’中之進位選擇加法器對輸入數據DA1進行加法運算,並且產生第二運算結果RS2,其中第二運算結果RS2係依序由具有第一既定位元位置之第二輸出位元RS2(0)、具有第二既定位元位置之第二輸出位元RS2(1)以及具有第三-第十六既定位元位置之第二輸出位元RS2(2)-RS2(15)所構成,如第3圖所示,但本揭露不限於此。舉例而言,第一運算結果RS1以及第二運算結果RS2亦可大於或者小於16位元。
接著,如第1圖所示,輸出控制裝置106根據相應於加法之第一指令以及0.85工作電壓倍數之第一操作電壓,自第一電路特性表以及第二電路特性表之間,在每一位元位置選擇準確度較高之第一輸出位元或者第二輸出位元,並藉以產生控制訊號CS1。舉例而言,輸出控制裝置106經過比較後,可在第一既定位元位置至第十既定位元位置選擇第二輸出位元RS2(0)-RS2(9)、在第十一既定位元位置至第十三既定位元位置選擇第一輸出位元RS1(10)-RS1(12),以及在第十四既定位元位置至第十六既定位元位置選擇第二輸出位元RS2(13)-RS2(15)。接著,輸出控制裝置106產生控制訊號CS1, 並將控制訊號CS1傳送至輸出合成裝置104。輸出合成裝置104根據控制訊號CS1,選擇第一輸出位元中之一第一組位元以及第二輸出位元中之一第二組位元,並根據第一組位元中之每一第一輸出位元以及第二組位元中之每一第二輸出位元的位元位置,依序將第一組位元中之第一輸出位元以及第二組位元中之第二輸出位元合成為一校正後之運算結果ARS。換言之,輸出合成裝置104係根據控制訊號CS1,選擇第一輸出位元RS1(0)-RS1(15)中之RS1(10)-RS1(12)為第一組位元,並且選擇第二輸出位元RS2(0)-RS2(15)中RS2(0)-RS2(9)以及RS2(13)-RS2(15)為第二組位元。接著,依照位元順序將第一組位元以及第二組位元中之第二輸出位元RS2(0)-RS2(9)、第一輸出位元RS1(10)-RS1(12)以及第二輸出位元RS2(13)-RS2(15)合成為校正後之運算結果ARS。換言之,校正後之運算結果ARS自最低位元開始係由輸出位元(RS2(0),RS2(1),RS2(2),RS2(3),RS2(4),RS2(5),RS2(6),RS2(7),RS2(8),RS2(9),RS1(10),RS1(11),RS1(12),RS2(13),RS2(14),RS2(15))所構成的,但本發明不限於此。
在本發明之另一實施例中,輸出控制裝置106根據相應於加法之第一指令以及0.85工作電壓倍數之第一操作電壓,產生控制訊號CS1,並將控制訊號CS1傳送至輸出合成裝置104。換言之,控制訊號CS1具有第一指令以及第一環境參數之資訊。輸出合成裝置104,根據控制訊號CS1,在每一位元位置,自第一電路特性表以及第二電路特性表之間,選擇準確度較高之第一輸出位元或者第二輸出位元,以作為第一組位元以 及第二組位元。舉例而言,輸出合成裝置104經過比較後,可在第一既定位元位置至第十既定位元位置選擇第二輸出位元RS2(0)-RS2(9)、在第十一既定位元位置至第十三既定位元位置選擇第一輸出位元RS1(10)-RS1(12),以及在第十四既定位元位置至第十六既定位元位置選擇第二輸出位元RS2(13)-RS2(15)。換言之,輸出合成裝置104係將第一輸出位元RS1(10)-RS1(12)作為第一組位元,並將第二輸出位元RS2(0)-RS2(9)以及第二輸出位元RS2(13)-RS2(15)作為第二組位元。
第4圖為本揭露所提供之另一容錯系統之方塊圖。容錯系統100B相似於第1圖所示之容錯系統100A,不同之處在於容錯系統100B中之運算單元102除了第一運算模組1021以及第二運算模組1022外更包括第三運算模組1023至第N運算模組102N。相同地,第一運算模組1021至第N運算模組102N分別具有彼此不同之第一運算電路1021’至第N運算電路102N’,用以根據運算單元102所接收之第一指令對所接收之輸入數據DA1進行運算,並且分別產生第一運算結果RS1至第N運算結果RSN。輸出控制裝置106根據第一指令、第一環境參數以及分別相應於第一運算電路1021’至第N運算電路102N’之第一電路特性表至第N電路特性表,產生控制訊號CS1,並將控制訊號CS1傳送至輸出合成裝置104。接著,輸出合成裝置104根據控制訊號CS1,在每一位元位置,分別自第一運算結果RS1至第N運算結果RSN間,選擇準確率最高之輸出位元,並根據位元位置依序將所選擇之輸出位元合成為校正後之運算結果ARS。其 它細節請參考第1-3圖之說明。
第5圖為本揭露所提供之另一容錯系統之方塊圖。容錯系統100C相似於第1圖所示之容錯系統100A,不同之處在於容錯系統100C更包括一輸出判斷裝置108,並且輸出控制裝置106更用以接收代表操作模式之判斷訊號S3。
在本實施例中,輸出控制裝置106更用以根據代表操作模式之判斷訊號S3,致能輸出合成裝置104或者輸出判斷裝置108,其中操作模式包括一正常操作模式以及一數位訊號處理模式(Digital Signal Processing,DSP)。當操作模式係為正常操作模式時,輸出控制裝置106致能輸出判斷裝置108,以產生已選擇之運算結果SRS,或者致使控制運算單元102重新執行運算,當操作模式係為數位訊號處理模式時,輸出控制裝置106致能輸出合成裝置104,以產生校正後之運算結果ARS。
輸出判斷裝置108用以比對第一運算結果RS1以及第二運算結果RS2。當第一運算結果RS1以及第二運算結果RS2不同時,輸出判斷裝置108致使第一運算模組1021以及第二運算模組1022重新根據第一指令,對輸入數據DA1進行運算。舉例而言,當第一運算結果RS1以及第二運算結果RS2不同時,輸出判斷裝置108產生一控制訊號CS2,並將控制訊號CS2傳送至運算單元102。運算單元102中之第一運算模組1021以及第二運算模組1022,在接收到控制訊號CS2後,重新根據第一指令,對輸入數據DA1進行運算。當第一運算結果RS1以及第二運算結果RS2相同時,輸出判斷裝置108輸出第一運算結果RS1或者第二運算結果RS2作為已選擇之運算結果SRS。數位訊號處理 模式請參考第1-3圖之說明,在此不再贅述。在本發明之另一實施例中,當第一運算結果RS1以及第二運算結果RS2不同時,第一運算模組1021以及第二運算模組1022不需接收第一指令,可直接對輸入數據DA1進行運算。
第6圖為本揭露所提供之另一容錯系統之方塊圖。容錯系統100D相似於第4圖所示之容錯系統100B,不同之處在於容錯系統100D更包括一輸出判斷裝置108並且輸出控制裝置106更用以接收代表操作模式之判斷訊號S3。
在本實施例中,輸出控制裝置106更用以根據代表操作模式之判斷訊號S3,致能輸出合成裝置104或者輸出判斷裝置108,其中操作模式包括一正常操作模式以及一數位訊號處理模式。當操作模式係為正常操作模式時,輸出控制裝置106致能輸出判斷裝置108,以產生已選擇之運算結果SRS,當操作模式係為數位訊號處理模式時,輸出控制裝置106致能輸出合成裝置104,以產生校正後之運算結果ARS。
輸出判斷裝置108用以比對第一運算結果RS1至第N運算結果RSN。當第一運算結果RS1至第N運算結果RSN不同時,輸出判斷裝置108致使第一運算模組1021至第N運算模組102N重新根據第一指令,對輸入數據DA1重新進行運算。舉例而言,當第一運算結果RS1以及第二運算結果RS2不同時,輸出判斷裝置108產生一控制訊號CS2,並將控制訊號CS2傳送至運算單元102。運算單元102中之第一運算模組1021至第N運算模組102N,在接收到控制訊號CS2後,重新根據第一指令,對輸入數據DA1進行運算。當第一運算結果RS1至第N運算結果 RSN相同時,輸出第一運算結果RS1至第N運算結果RSN中之一者作為已選擇之運算結果SRS。數位訊號處理模式請參考第4圖之說明,在此不再贅述。在本發明之另一實施例中,當第一運算結果RS1至第N運算結果RSN不同時,輸出判斷裝置108不需接收第一指令,可直接對輸入數據DA1重新進行運算。
第7圖為本揭露所提供之一容錯運算方法的流程圖,適用於容錯系統100A。流程開始於步驟S700。
在步驟S700中,容錯系統100A判斷運算單元102是否接收到複數指令IS1-ISN中之一者。舉例而言,複數指令IS1-ISN可為加、減、乘及/或除之不同運算指令的組合,本發明在此不加以限制。為了簡化說明,運算單元102所接收之複數指IS1-ISN令中之一者以下稱為第一指令。當容錯系統100A判斷運算單元102接收到複數指令IS1-ISN中之第一指令時,流程進行至步驟S702,否則,容錯系統100A繼續判斷運算單元102是否接收到複數指令IS1-ISN中之一者。
接著,在步驟S702中,第一運算模組1021中之第一運算電路1021’藉由複數環境參數中之一第一環境參數以及根據第一指令,對輸入數據DA1進行一運算,並產生一第一運算結果RS1,其中第一運算結果RS1具有複數第一輸出位元,並且每一第一輸出位元依序具有相應之位元位置。第二運算模組1022中之第二運算電路1022’藉由第一環境參數以及根據第一指令,對輸入數據DA1進行運算,並產生一第二運算結果,其中第二運算結果具有複數第二輸出位元,並且每一第二輸出位元依序具有相應之位元位置。舉例而言,複數環境參數可為 不同的電壓值用以提供運算單元102進行運算。第一運算模組1021以及第二運算模組1022,分別利用不同之硬體電路以及相同之第一環境參數,對輸入數據DA1進行第一指令所代表之運算。舉例而言,第一運算模組1021以及第二運算模組1022的實作方式不同。在本發明之另一實施例中,第一運算模組1021中之第一運算電路1021’可藉由複數環境參數中之一第一環境參數,直接對輸入數據DA1進行一運算,並產生第一運算結果RS1。第二運算模組1022中之第二運算電路1022’亦可藉由複數環境參數中之一第一環境參數,直接對輸入數據DA1進行一運算,並產生第一運算結果RS1。換言之,第一運算模組1021以及第二運算模組1022不需要接收第一指令。在本發明之另一實施例中,第一運算模組1021以及第二運算模組1022,亦可分別利用不同之硬體電路以及不相同之環境參數,對輸入數據DA1進行第一指令所代表之運算,本發明不限於此。
接著,在步驟S706中,輸出控制裝置106更用以根據第一指令、第一環境參數、第一運算電路1021’之一第一電路特性表以及第二運算電路1022’之一第二電路特性表,產生控制訊號CS1,並將控制訊號CS1傳送至輸出合成裝置104。第一電路特性表包括第一運算電路1021’所輸出之每一位元位置相應於每一環境參數以及每一指令IS1-ISN的準確度,並且第二電路特性表包括第二運算電路1022’所輸出之每一位元位置相應於每一環境參數以及每一指令IS1-ISN的準確度。在本揭露之一實施例中,輸出控制裝置106係用以根據第一指令以及第一環境參數,在每一位元位置,自第一電路特性表以及第二 電路特性表間,選擇準確度較高之第一輸出位元或者第二輸出位元,並藉以產生控制訊號CS1。設計人員可經由不同的變數重複地測試第一運算電路1021’,以獲得第一運算電路1021’所輸出之每一位元位置相應於每一環境參數以及每一指令IS1-ISN的準確度,並藉以產生第一電路特性表。相同地,設計人員可經由不同的變數重複地測試第二運算電路1022’,以獲得第二運算電路1022’所輸出之每一位元位置相應於每一環境參數以及每一指令IS1-ISN的準確度,並藉以產生第二電路特性表。在本發明之另一實施例中,輸出控制裝置106根據相應於加法之第一指令IS1-ISN以及0.85工作電壓倍數之第一操作電壓,產生控制訊號CS1,並將控制訊號CS1傳送至輸出合成裝置104。換言之,控制訊號CS1具有第一指令以及第一環境參數之資訊。詳細內容請參考第2A-2C圖以及第3圖之說明,在此不再贅述。
接著,在步驟S708中,輸出合成裝置104用以根據控制訊號CS1,選擇第一輸出位元中之一第一組位元以及第二輸出位元中之一第二組位元。詳細內容請參考第2A-2C圖以及第3圖之說明,在此不再贅述。
接著,在步驟S710中,輸出合成裝置104根據第一組位元中之每一第一輸出位元以及第二組位元中之每一第二輸出位元的位元位置,依序將第一組位元中之第一輸出位元以及第二組位元中之第二輸出位元合成為一校正後之運算結果ARS。第一運算結果RS1、第二運算結果RS2以及校正後之運算結果ARS具有相同之位元數,並且第一組位元中之第一輸出位 元的位元位置與第二組位元中之第二輸出位元的位元位置不重複。詳細內容請參考第2A-2C圖以及第3圖之說明,在此不再贅述。接著,流程回到步驟S700,容錯系統100A繼續判斷運算單元102是否接收到複數指令IS1-ISN中之一者。
第8圖為本揭露所提供之一容錯運算方法的流程圖,適用於容錯系統100B。流程開始於步驟S800。
在步驟S800中,容錯系統100B判斷運算單元102是否接收到複數指令IS1-ISN中之一者。舉例而言,複數指令IS1-ISN可為加、減、乘及/或除之不同運算指令的組合,本發明在此不加以限制。為了簡化說明,運算單元102所接收之複數指令IS1-ISN中之一者以下稱為第一指令。當容錯系統100B判斷運算單元102接收到複數指令IS1-ISN中之第一指令時,流程進行至步驟S802,否則,容錯系統100B繼續判斷運算單元102是否接收到複數指令IS1-ISN中之一者。
接著,在步驟S802中,第一運算模組1021至第N運算模組102N中之第一運算電路1021’至第N運算電路102N’藉由複數環境參數中之一第一環境參數以及根據第一指令,分別對輸入數據DA1進行一運算,並分別產生第一運算結果RS1至第N運算結果RSN,其中第一運算結果RS1至第N運算結果RSN分別具有複數輸出位元,並且每一第一運算結果RS1至第N運算結果RSN中之輸出位元依序具有相應之位元位置。舉例而言,複數環境參數可為不同的電壓值用以提供運算單元102進行運算。第一運算模組1021至第N運算模組102N,分別利用不同之硬體電路以及相同之第一環境參數,對輸入數據DA1進行第一 指令所代表之運算。舉例而言,第一運算模組1021以及第二運算模組1022的實作方式不同。在本發明之另一實施例中,第一運算模組1021至第N運算模組102N中之第一運算電路1021’至第N運算電路102N’藉由複數環境參數中之一第一環境參數,直接分別對輸入數據DA1進行一運算,並分別產生第一運算結果RS1至第N運算結果RSN。換言之,第一運算模組1021至第N運算模組102N不需要接收第一指令。在本發明之另一實施例中,第一運算模組1021至第N運算模組102N,亦可分別利用不同之硬體電路以及不相同之環境參數,對輸入數據DA1進行第一指令所代表之運算,本發明不限於此。
接著,在步驟S806中,輸出控制裝置106更用以根據第一指令、第一環境參數、相應於第一運算電路1021’至第N運算電路102N’之第一電路特性表至第N電路特性表,產生控制訊號CS1,並將控制訊號CS1傳送至輸出合成裝置104。第一電路特性表至第N電路特性表分別包括第一運算電路1021’至第N運算電路102N’所輸出之每一位元位置相應於每一環境參數以及每一指令IS1-ISN的準確度。在本揭露之一實施例中,輸出控制裝置106係用以根據第一指令以及第一環境參數,在每一位元位置,自相應於第一運算電路1021’至第N運算電路102N’之第一電路特性表至第N電路特性表間,選擇準確度最高之輸出位元,並藉以產生控制訊號CS1。設計人員可經由不同的變數重複地測試第一運算電路1021’至第N運算電路102N’,以分別獲得第一運算電路1021’至第N運算電路102N’所輸出之每一位元位置相應於每一環境參數以及每一指令IS1-ISN的準確 度,並藉以產生電路特性表。在本發明之另一實施例中,輸出控制裝置106根據相應於加法之第一指令以及0.85工作電壓倍數之第一操作電壓,產生控制訊號CS1,並將控制訊號CS1傳送至輸出合成裝置104。換言之,控制訊號CS1具有第一指令以及第一環境參數之資訊。詳細內容請參考第2A-2C圖以及第3圖之說明,在此不再贅述。
接著,在步驟S808中,輸出合成裝置104根據控制訊號CS1,自第一運算電路1021’至第N運算電路102N’所產生之輸出位元中分別選擇複數組位元。詳細內容請參考第2A-2C圖以及第3圖之說明,在此不再贅述。
接著,在步驟S810中,輸出合成裝置104根據每一組位元中之輸出位元的位元位置,依序將複數組位元合成為一校正後之運算結果ARS。第一運算結果RS1-RSN以及校正後之運算結果ARS具有相同之位元數,並且複數組位元間之輸出位元的位元位置彼此不重複。詳細內容請參考第2A-2C圖以及第3圖之說明,在此不再贅述。接著,流程回到步驟S800,容錯系統100B繼續判斷運算單元102是否接收到複數指令IS1-ISN中之一者。
第9圖為本揭露所提供之一容錯運算方法的流程圖,適用於容錯系統100C。流程開始於步驟S900。本實施例中之步驟S900-S902以及S906-S910相似於第7圖中之步驟S700-S702以及S706-S710,詳細內容請參考第7圖之說明,在此不再贅述。
在步驟S904中,輸出控制裝置106更用以根據代表 操作模式之判斷訊號S3,判斷容錯系統100C是處於一正常操作模式或者一數位訊號處理模式。當操作模式係為正常操作模式時,輸出控制裝置106致能輸出判斷裝置108並且流程進行至步驟S912。當操作模式係為數位訊號處理模式時,輸出控制裝置106致能輸出合成裝置104並且流程進行至步驟S906。
在步驟S912中,輸出判斷裝置108用以比對第一運算結果RS1以及第二運算結果RS2。當第一運算結果RS1以及第二運算結果RS2不同時,流程進行至步驟S914。當第一運算結果RS1以及第二運算結果RS2相同時,流程進行至步驟S916。
在步驟S914中,輸出判斷裝置108致使第一運算模組1021以及第二運算模組1022重新根據第一指令,對輸入數據DA1進行運算。舉例而言,當第一運算結果RS1以及第二運算結果RS2不同時,輸出判斷裝置108產生一控制訊號CS2,並將控制訊號CS2傳送至運算單元102。運算單元102中之第一運算模組1021以及第二運算模組1022,在接收到控制訊號CS2後,重新根據第一指令,對輸入數據DA1進行運算。在本發明之另一實施例中,第一運算模組1021以及第二運算模組1022,可直接在步驟S914中對輸入數據DA1進行運算。換言之,第一運算模組1021以及第二運算模組1022不需要接收第一指令。接著,流程回到至步驟S912,輸出判斷裝置108比對重新計算所獲得之第一運算結果RS1以及第二運算結果RS2是否相同。
在步驟S916中,輸出判斷裝置108輸出第一運算結果RS1或者第二運算結果RS2作為已選擇之運算結果SRS。接著,流程回到步驟S900,容錯系統100C繼續判斷運算單元102 是否接收到複數指令IS1-ISN中之一者。其它細節請參考第1-3圖之說明,在此不再贅述。
第10圖為本揭露所提供之一容錯運算方法的流程圖,適用於容錯系統100D。流程開始於步驟S1000。本實施例中之步驟S1000-S1002以及S1006-S1010相似於第8圖中之步驟S800-S802以及S806-S810,詳細內容請參考第8圖之說明,在此不再贅述。
在步驟S1004中,輸出控制裝置106更用以根據代表操作模式之判斷訊號S3,判斷容錯系統100D是處於一正常操作模式或者一數位訊號處理模式。當操作模式係為正常操作模式時,輸出控制裝置106致能輸出判斷裝置108並且流程進行至步驟S1012。當操作模式係為數位訊號處理模式時,輸出控制裝置106致能輸出合成裝置104並且流程進行至步驟S1006。
在步驟S1012中,輸出判斷裝置108用以比對第一運算結果RS1至第N運算結果RSN。當第一運算結果RS1至第N運算結果RSN不同時,流程進行至步驟S1014。當運算結果RS1-RSN相同時,流程進行至步驟S1016。
在步驟S1014中,輸出判斷裝置108致使第一運算模組1021至第N運算模組102N重新根據第一指令,對輸入數據DA1進行運算。舉例而言,當第一運算結果RS1以及第二運算結果RS2不同時,輸出判斷裝置108產生一控制訊號CS2,並將控制訊號CS2傳送至運算單元102。運算單元102中之第一運算模組1021至第N運算模組102N,在接收到控制訊號CS2後,重新根據第一指令,對輸入數據DA1進行運算。在本發明之另一 實施例中,第一運算模組1021至第N運算模組102N,可在步驟S1014中直接對輸入數據DA1進行運算。換言之,第一運算模組1021至第N運算模組102N不需要接收第一指令。接著,流程回到至步驟S1012,輸出判斷裝置108比對重新計算所獲得之第一運算結果RS1至第N運算結果RSN是否相同。
在步驟S1016中,輸出判斷裝置108輸出第一運算結果RS1至第N運算結果RSN中之一者作為已選擇之運算結果SRS。接著,流程回到步驟S1000,容錯系統100D繼續判斷運算單元102是否接收到複數指令IS1-ISN中之一者。其它細節請參考第1-3圖之說明,在此不再贅述。
本揭露所提供之容錯系統100A-100D以及容錯運算方法,可根據不同之環境參數,例如操作電壓、操作溫度等變數,在不同的運算電路中選擇出正確的輸出位元,以合成為校正後之運算結果ARS。本揭露所提供之容錯系統100A-100D以及容錯運算方法可快速的輸出準確度較高的結果,並且減少傳統雙核心鎖步(Lock-step dual-core)容錯系統對數據重新計算的次數,以達到省電與執行效能之提升效果。
本揭露之方法,或特定型態或其部份,可以以程式碼的型態存在。程式碼可儲存於實體媒體,如軟碟、光碟片、硬碟、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,亦或不限於外在形式之電腦程式產品,其中,當程式碼被機器,如電腦載入且執行時,此機器變成用以參與本揭露之裝置。程式碼也可透過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態進行傳送,其中,當程式碼被機器,如電腦接收、載 入且執行時,此機器變成用以參與本發明之裝置。當在一般用途處理單元實作時,程式碼結合處理單元提供一操作類似於應用特定邏輯電路之獨特裝置。
惟以上所述者,僅為本揭露之較佳實施例而已,當不能以此限定揭露實施之範圍,即大凡依揭露申請專利範圍及發明說明內容所作之簡單的等效變化與修飾,皆仍屬揭露專利涵蓋之範圍內。另外揭露的任一實施例或申請專利範圍不須達成揭露所揭露之全部目的或優點或特點。此外,摘要部分和標題僅是用來輔助專利文件搜尋之用,並非用來限制揭露之權利範圍。
100A‧‧‧容錯系統
102‧‧‧運算單元
1021-1022‧‧‧運算模組
1021’-1022’‧‧‧運算電路
104‧‧‧輸出合成裝置
106‧‧‧輸出控制裝置
1062‧‧‧儲存裝置
DA1‧‧‧輸入數據
RS1‧‧‧第一運算結果
RS2‧‧‧第二運算結果
ARS‧‧‧校正後之運算結果
S1-S2‧‧‧判斷訊號
CS1‧‧‧控制訊號
IS1-ISN‧‧‧指令

Claims (15)

  1. 一種容錯系統,包括:一運算單元,用以接收複數環境參數中之一第一環境參數以及一輸入數據,其中上述運算單元更包括:一第一運算模組,具有一第一運算電路,用以藉由上述第一環境參數,對上述輸入數據進行一運算,並產生一第一運算結果,其中上述第一運算結果具有複數第一輸出位元,並且每一第一輸出位元依序具有相應之位元位置;以及一第二運算模組,具有不同於上述第一運算電路之一第二運算電路,用以藉由上述第一環境參數,對上述輸入數據進行上述運算,並產生一第二運算結果,其中上述第二運算結果具有複數第二輸出位元,並且每一第二輸出位元依序具有相應之位元位置;以及一輸出合成裝置,用以根據一控制訊號,選擇上述第一輸出位元中之一第一組位元以及上述第二輸出位元中之一第二組位元,並根據上述第一組位元中之每一上述第一輸出位元以及上述第二組位元中之每一上述第二輸出位元的位元位置,依序將上述第一組位元中之上述第一輸出位元以及上述第二組位元中之上述第二輸出位元合成為一校正後之運算結果,其中上述第一運算結果、上述第二運算結果以及上述校正後之運算結果具有相同之位元數,並且 上述第一組位元中之上述第一輸出位元的位元位置與上述第二組位元中之上述第二輸出位元的位元位置不重複。
  2. 如申請專利範圍第1項所述之容錯系統,更包括一輸出控制裝置,用以根據上述運算單元所接收相應於上述運算之一第一指令、上述第一環境參數、上述第一運算電路之一第一電路特性表以及上述第二運算電路之一第二電路特性表,產生上述控制訊號。
  3. 如申請專利範圍第2項所述之容錯系統,上述輸出控制裝置更包括一儲存裝置,用以儲存上述第一電路特性表以及上述第二電路特性表,其中上述第一電路特性表包括上述第一運算電路所輸出之每一位元位置相應於每一上述環境參數以及上述第一指令的準確度,並且上述第二電路特性表包括上述第二運算電路所輸出之每一位元位置相應於每一上述環境參數以及上述第一指令的準確度。
  4. 如申請專利範圍第3項所述之容錯系統,其中上述輸出控制裝置係用以根據上述第一指令以及上述第一環境參數,在每一位元位置,自上述第一電路特性表以及上述第二電路特性表間,選擇準確度較高之上述第一輸出位元或者上述第二輸出位元,並藉以產生上述控制訊號。
  5. 如申請專利範圍第2項所述之容錯系統,更包括一輸出判斷裝置,用以比對上述第一運算結果以及上述第二運算結果,其中當上述第一運算結果以及上述第二運算結果不同時,上述輸出判斷裝置致使上述第一運算模組以及上述第二運算模組重新根據上述第一指令,對上述輸入數 據進行上述運算,當上述第一運算結果以及上述第二運算結果相同時,輸出上述第一運算結果或者上述第二運算結果。
  6. 如申請專利範圍第5項所述之容錯系統,其中上述輸出控制裝置更用以根據一操作模式,致能上述輸出合成裝置或者上述輸出判斷裝置。
  7. 如申請專利範圍第6項所述之容錯系統,其中上述操作模式包括一正常操作模式以及一數位訊號處理模式,當上述操作模式係為上述正常操作模式時,上述輸出控制裝置致能上述輸出判斷裝置,當上述操作模式係為上述數位訊號處理模式時,上述輸出控制裝置致能上述輸出合成裝置。
  8. 如申請專利範圍第1項所述之容錯系統,其中環境參數包括操作電壓或操作溫度,並且上述第一運算電路以及上述第二運算電路,更用以根據上述運算單元所接收之一第一指令,對上述輸入數據進行上述運算,以分別產生上述第一運算結果以及上述第二運算結果。
  9. 一種容錯運算方法,適用於一容錯系統包括:藉由複數環境參數中之一第一環境參數以及一第一運算電路,對一輸入數據進行一運算,並產生一第一運算結果,其中上述第一運算結果具有複數第一輸出位元,並且每一第一輸出位元依序具有相應之位元位置;藉由上述第一環境參數以及不同於上述第一運算電路之一第二運算電路,對上述輸入數據進行上述運算,並產 生一第二運算結果,其中上述第二運算結果具有複數第二輸出位元,並且每一第二輸出位元依序具有相應之位元位置;根據一控制訊號,選擇上述第一輸出位元中之一第一組位元以及上述第二輸出位元中之一第二組位元;以及根據上述第一組位元中之每一上述第一輸出位元以及上述第二組位元中之每一上述第二輸出位元的位元位置,依序將上述第一組位元中之上述第一輸出位元以及上述第二組位元中之上述第二輸出位元合成為一校正後之運算結果,其中上述第一運算結果、上述第二運算結果以及上述校正後之運算結果具有相同之位元數,並且上述第一組位元中之上述第一輸出位元的位元位置與上述第二組位元中之上述第二輸出位元的位元位置不重複。
  10. 如申請專利範圍第9項所述之容錯運算方法,其中產生上述第一運算結果的步驟更包括藉由上述第一運算電路,根據複數指令中之一第一指令對上述輸入數據進行上述運算,並且產生上述第二運算結果的步驟更包括藉由上述第二運算電路根據上述第一指令對上述輸入數據進行運算,容錯運算方法更包括:根據上述第一指令、上述第一環境參數、上述第一運算電路之一第一電路特性表以及上述第二運算電路之一第二電路特性表,產生上述控制訊號。
  11. 如申請專利範圍第10項所述之容錯運算方法,其中上述第一電路特性表包括上述第一運算電路所輸出之每 一位元位置相應於每一上述環境參數以及每一上述指令的準確度,並且上述第二電路特性表包括上述第二運算電路所輸出之每一位元位置相應於每一上述環境參數以及每一上述指令的準確度。
  12. 如申請專利範圍第11項所述之容錯運算方法,其中產生上述控制訊號之步驟更包括在每一位元位置,自上述第一電路特性表以及上述第二電路特性表間,選擇準確度較高之上述第一輸出位元或者上述第二輸出位元,並藉以產生上述控制訊號。
  13. 如申請專利範圍第10項所述之容錯運算方法,更包括判斷一操作模式,其中當上述操作模式係為一數位訊號處理模式時,執行上述根據每一上述第一組位元以及上述第二組位元中之上述第一輸出位元以及上述第二輸出位元之位元位置,並依序將上述第一組位元以及上述第二組位元合成為上述校正後之運算結果的步驟。
  14. 如申請專利範圍第13項所述之容錯運算方法,更包括:當上述操作模式係為一正常操作模式時,比對上述第一運算結果以及上述第二運算結果;當上述第一運算結果以及上述第二運算結果不同時,重新根據上述第一指令,分別藉由上述第一運算電路以及上述第二運算電路,對上述輸入數據重新進行上述運算;以及 當上述第一運算結果以及上述第二運算結果相同時,輸出上述第一運算結果或者上述第二運算結果,其中當上述操作模式係為上述正常操作模式時,不執行上述根據每一上述第一組位元以及上述第二組位元中之上述第一輸出位元以及上述第二輸出位元之位元位置,並依序將上述第一組位元以及上述第二組位元合成為上述校正後之運算結果的步驟。
  15. 如申請專利範圍第9項所述之容錯運算方法,其中環境參數包括操作電壓或操作溫度。
TW102111354A 2013-03-29 2013-03-29 容錯系統以及容錯運算方法 TWI485558B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW102111354A TWI485558B (zh) 2013-03-29 2013-03-29 容錯系統以及容錯運算方法
US14/054,643 US9513903B2 (en) 2013-03-29 2013-10-15 Fault-tolerant system and fault-tolerant operating method capable of synthesizing result by at least two calculation modules

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW102111354A TWI485558B (zh) 2013-03-29 2013-03-29 容錯系統以及容錯運算方法

Publications (2)

Publication Number Publication Date
TW201437801A TW201437801A (zh) 2014-10-01
TWI485558B true TWI485558B (zh) 2015-05-21

Family

ID=51622023

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102111354A TWI485558B (zh) 2013-03-29 2013-03-29 容錯系統以及容錯運算方法

Country Status (2)

Country Link
US (1) US9513903B2 (zh)
TW (1) TWI485558B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10248488B2 (en) * 2015-12-29 2019-04-02 Intel Corporation Fault tolerance and detection by replication of input data and evaluating a packed data execution result
CN112506471A (zh) * 2020-12-21 2021-03-16 深圳比特微电子科技有限公司 用于数字货币运算的芯片和计算系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0752656A2 (en) * 1992-12-17 1997-01-08 Tandem Computers Incorporated Fail-fast, fail-functional, fault-tolerant multiprocessor system
TW200903318A (en) * 2007-07-06 2009-01-16 Via Tech Inc Data access method
US7853824B2 (en) * 2006-06-05 2010-12-14 Dmp Electronics Inc. Dual computer for system backup and being fault-tolerant
TWI367422B (en) * 2008-05-13 2012-07-01 Jmicron Technology Corp Raid5 controller and accessing method with data stream distribution and aggregation operations based on the primitive data access block of storage devices

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812757A (en) 1993-10-08 1998-09-22 Mitsubishi Denki Kabushiki Kaisha Processing board, a computer, and a fault recovery method for the computer
EP0653708B1 (en) 1993-10-15 2000-08-16 Hitachi, Ltd. Logic circuit having error detection function, redundant resource management method, and fault tolerant system using it
US6035416A (en) 1997-10-15 2000-03-07 International Business Machines Corp. Method and apparatus for interface dual modular redundancy
US6708284B2 (en) * 2001-03-30 2004-03-16 Intel Corporation Method and apparatus for improving reliability in microprocessors
JP2003248598A (ja) 2002-02-22 2003-09-05 Oki Electric Ind Co Ltd マイクロコントローラ及びマイクロコントローラの故障検出方法
US7124318B2 (en) * 2003-09-18 2006-10-17 International Business Machines Corporation Multiple parallel pipeline processor having self-repairing capability
US20060190700A1 (en) * 2005-02-22 2006-08-24 International Business Machines Corporation Handling permanent and transient errors using a SIMD unit
US20060236168A1 (en) 2005-04-01 2006-10-19 Honeywell International Inc. System and method for dynamically optimizing performance and reliability of redundant processing systems
JP2007087059A (ja) 2005-09-21 2007-04-05 Hitachi Ltd 記憶制御システム
US7516358B2 (en) * 2005-12-20 2009-04-07 Hewlett-Packard Development Company, L.P. Tuning core voltages of processors
US8020038B2 (en) * 2006-09-28 2011-09-13 Hewlett-Packard Development Company, L.P. System and method for adjusting operating points of a processor based on detected processor errors
US7865770B2 (en) * 2008-01-10 2011-01-04 Advanced Micro Devices, Inc. Processor including efficient signature generation for logic error protection
JP5507830B2 (ja) 2008-11-04 2014-05-28 ルネサスエレクトロニクス株式会社 マイクロコントローラ及び自動車制御装置
US8146028B1 (en) 2008-11-19 2012-03-27 Xilinx, Inc. Duplicate design flow for mitigation of soft errors in IC operation
US8782466B2 (en) * 2012-02-03 2014-07-15 Hewlett-Packard Development Company, L.P. Multiple processing elements
US8732555B2 (en) * 2012-10-19 2014-05-20 Seagate Technology Llc Addressing variations in bit error rates amongst data storage segments
US20140156975A1 (en) * 2012-11-30 2014-06-05 Advanced Micro Devices, Inc. Redundant Threading for Improved Reliability

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0752656A2 (en) * 1992-12-17 1997-01-08 Tandem Computers Incorporated Fail-fast, fail-functional, fault-tolerant multiprocessor system
US7853824B2 (en) * 2006-06-05 2010-12-14 Dmp Electronics Inc. Dual computer for system backup and being fault-tolerant
TW200903318A (en) * 2007-07-06 2009-01-16 Via Tech Inc Data access method
TWI367422B (en) * 2008-05-13 2012-07-01 Jmicron Technology Corp Raid5 controller and accessing method with data stream distribution and aggregation operations based on the primitive data access block of storage devices

Also Published As

Publication number Publication date
US20140297995A1 (en) 2014-10-02
TW201437801A (zh) 2014-10-01
US9513903B2 (en) 2016-12-06

Similar Documents

Publication Publication Date Title
US11763052B2 (en) Unified material-to-systems simulation, design, and verification for semiconductor design and manufacturing
US8199910B2 (en) Signature generation apparatus and signature verification apparatus
Wille et al. Synthesis of approximate coders for on-chip interconnects using reversible logic
US7469393B2 (en) Method and device for supporting verification, and computer product
CN116151179B (zh) 芯片设计的布局规划方法及相关设备
US9727682B2 (en) Designing memories in VLSI design using specific memory models generated from generic memory models
US11675951B2 (en) Methods and systems for congestion prediction in logic synthesis using graph neural networks
Castro-Godinez et al. AxLS: A framework for approximate logic synthesis based on netlist transformations
EP3408770A1 (en) Pessimism reduction in static timing analysis
CN114596909A (zh) 测试记忆体的方法及内建自我测试电路
TWI485558B (zh) 容錯系統以及容錯運算方法
CN113779910B (zh) 产品性能分布预测方法及装置、电子设备及存储介质
TW201923317A (zh) 溫度估算裝置及溫度估算方法
CN109841252A (zh) 闪存控制器和设置在闪存控制器中的编码器和编码器
US11475190B1 (en) Method for designing an integrated circuit and an integrated circuit designing system performing the same
JP2005141434A (ja) 集積回路のタイミング検証システム、タイミング検証プログラム
Zahedi et al. BCIM: Efficient Implementation of Binary Neural Network Based on Computation in Memory
CN111506384B (zh) 模拟运算方法和模拟器
CN113129945B (zh) 存储器系统、电子器件以及操作存储器器件的方法
TWI677878B (zh) 編碼器及相關的編碼方法與快閃記憶體控制器
CN105049062B (zh) 钱式搜索装置、存储装置以及钱式搜索方法
CN118295664A (zh) 代码生成方法、装置、计算机设备、存储介质和产品
JP2022101463A (ja) 浮動小数点仮数のための丸め回路
TW202312178A (zh) 記憶體巨集之內建自我測試的方法
AU2015271896A1 (en) Selection of system-on-chip component models for early design phase evaluation