TW201419139A - 微處理器控制 - Google Patents
微處理器控制 Download PDFInfo
- Publication number
- TW201419139A TW201419139A TW102120914A TW102120914A TW201419139A TW 201419139 A TW201419139 A TW 201419139A TW 102120914 A TW102120914 A TW 102120914A TW 102120914 A TW102120914 A TW 102120914A TW 201419139 A TW201419139 A TW 201419139A
- Authority
- TW
- Taiwan
- Prior art keywords
- registers
- reset
- software
- timer
- functions
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06F11/0757—Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/24—Resetting means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/1497—Details of time redundant execution on a single processing unit
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Microcomputers (AREA)
Abstract
一種微處理器裝置包含一個計時器可重置該裝置以及複數個硬體暫存器4,其係被邏輯地設置以使得該等暫存器4的一個聚集的預設狀態避免重置該裝置。該裝置進一步包含具有複數個功能的軟體2,以當每一個所述功能已正確執行時,其被設置使該等暫存器4被置於該預定狀態中。
Description
本發明係有關於微處理器裝置的控制,例如用於半導體晶片上之微處理器裝置。
於微處理器裝置上係普遍地提供有一監控(watchdog)功能,以確保正確的運作。傳統上,其被設置為使得該裝置被強制重置,當該裝置指示其成功執行一個運作或功能,假如一倒數計時器達到零但該計時器被重新啟動(因而延遲此一重置)。此係意圖提供一個使該裝置正確運作的故障保險監控;在正常運作下,該計時器永遠不被允許達到零。在更複雜的裝置裡,係建議設置韌體以執行於該裝置上來維持一些軟體旗標,每一軟體旗標必須被寫入以使該監控計時器被重置。此允許數個分開的模組或副程序可被監控,而其中任一之不正確的運作引發一重置。
然而申請人理解在此設置上有一個弱點;亦即,在任何軟體皆寫入任何記憶體位址的原則下,其有可能有一適當的軟體故障而直接寫入至該暫存器,致使重置該計時器,因而略過了其提供來對抗錯誤運作的保護。
本發明係針對此問題,當由第一個方面觀之,本發明係提供一種微處理器裝置,包含:一計時器可重置該裝置以及複數個硬體暫存器,其係被邏輯地設置以使該等暫存器的一個聚集的預設狀態避免重置該裝置,該裝置進一步包含具有複數個功能的軟體,以當每一個所述功能已正確執行時,其被設置使該等暫存器被置於該預定狀態中。
因此,熟知本技術領域的人根據本發明可看出本發明並不會提供具有多個輸入之監控功能在軟體上而造成上述的問題,本發明的監控功能是使用硬體暫存器而被提供。其有效地指出該監控計時器不能藉由寫入單一個錯誤的記憶體位址而非故意地重置,此係由於在主要監控計時器重置之前所有硬體暫存器的狀態必須正確,並且此關係是固線在該裝置上。
簡言之,該等硬體暫存器必須全部處於相同的狀態,例如皆在高或低的狀態,以用於重置該計時器。在先前的例子裡,如果該等暫存器皆被軟體正確地寫入時,一個簡單的硬體邏輯及閘可以被用來重置計時器(因此避免該裝置之重置)。因此,在一組實施例裡,在成功運作的情況下,每一該等軟體功能被設置以寫入一個預定的位元至該等暫存器裡,且假如該相同的位元已經被記錄在每一該等暫存器裡時,重置該計時器。
簡言之,該等暫存器在適當的時間點(例如相對於用以重置監控計時器的預定位元)上自動地重置。此
可在複數個預定間隔,但更方便地是在該計時器被重置,亦即該監控器被重新啟動時,或當監控器暫停而造成系統重置時。此確保對該裝置之正確功能的連續周期性監控可以維持。此亦可同步於軟體,且典型地由該軟體所執行,並可相同地在硬體等級上執行。
依據本發明,亦可能實現多個軟體功能寫入至
單一硬體暫存器裡。儘管此再次產生了由於略過一些保護措施而造成軟體出錯的風險,其也不會產生先前技術的單點錯誤。
2‧‧‧軟體介面
4‧‧‧重載暫存器
6‧‧‧邏輯及閘
8‧‧‧倒數監控計數器
圖1係本發明一較佳實施例之微處理器的邏輯子系統實現在一個半導體晶片上之示意圖。
圖2係本發明一較佳實施例之具體實施過程的流程圖。
在此參考所附圖1及2來描述本發明的一個詳細的實施例,但僅是舉例,所示附圖1及2為邏輯性示意圖,為本發明的微處理器裝置的一部分。
請參考圖1所示,其顯示一個微處理器的邏輯子系統實現在一個半導體晶片上,其包含了一軟體介面2和複數個硬體重載(reload)暫存器4進行資料傳輸。該等暫存器4全部連結至一個邏輯及閘6,該邏輯及閘6之輸出連接至一個倒數監控計數器8。該監控計數器的輸出用以在其到達一特定值(例如0)時執行一系統重置。
於運作時,該監控器係首先藉由從複數個配置
暫存器載入一些數值以進行配置,例如將被使用的逾時數值。接著將該重載暫存器4全部設為0,並將於相關配置暫存器中指定的逾時數值載入至監控器。接著該計數器減去1並且檢查是否全部之重載暫存器皆等於1(藉由讀取該邏輯及閘6的數值),並且如果該計數器尚未到達0時,該計數器再一次減去1並且重複該迴圈。
當軟體執行時,該軟體的許多功能,例如主程
序及一個或多個副程序,係被設置為在成功完成後將複數個高位元寫入至個別的重載暫存器4。一旦所有的重載暫存器4皆處於高狀態,該邏輯及閘6的輸出亦轉為高狀態,此導致該監控計數器8重置,亦即,重新載入該逾時數值。此亦重置該等重載暫存器使其回復為零。
只要該等軟體功能如所期望地運作,其將足夠
常地寫入該等個別之重載暫存器,而使該監控計數器8並不會達到零。然而,如果一個或多個軟體功能不正確地運作而沒有寫入至對應的重載暫存器4時,該邏輯及閘6將不會轉為高狀態,以至於不會重置該監控計數器8。此將允許計數器達到零而促使系統重置,因而有望清除該軟體問題。
值得領會的是,軟體的錯誤頂多造成一個重載
暫存器4寫入錯誤;其並不會使軟體的任何一部分直接重置該監控計數器8。
上述實施例僅係為了方便說明而舉例而已,本
發明所主張之權利範圍自應以申請專利範圍所述為準,而非僅限於上述實施例。
2‧‧‧軟體介面
4‧‧‧重載暫存器
6‧‧‧邏輯及閘
8‧‧‧倒數監控計數器
Claims (4)
- 一種微處理器裝置,包括:一計時器可重置該裝置;以及複數個硬體暫存器,其係被邏輯地設置以使得該等暫存器的一個聚集的預設狀態避免重置該裝置;該裝置進一步包含具有複數個功能的軟體,以當每一個所述功能已正確執行時,其被設置使該等暫存器被置於該預定狀態中。
- 如申請專利範圍第1項所述之微處理器裝置,其中每一該等軟體功能在成功運作時係被設置寫入一個預設的位元至該等暫存器,以及如果相同的位元被記錄在每一個該等暫存器時,該計時器被重置。
- 如申請專利範圍第1或2項所述之微處理器裝置,其中該等暫存器係自動地被重置。
- 如申請專利範圍第3項所述之微處理器裝置,其中當該計時器被重置或當監控單元逾時而造成系統重置時,該等暫存器自動地被重置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1211343.7A GB2503459A (en) | 2012-06-26 | 2012-06-26 | Multiple hardware registers for watchdog timer preventing erroneous microprocessor system reset |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201419139A true TW201419139A (zh) | 2014-05-16 |
TWI609324B TWI609324B (zh) | 2017-12-21 |
Family
ID=46704253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102120914A TWI609324B (zh) | 2012-06-26 | 2013-06-13 | 微處理器裝置 |
Country Status (8)
Country | Link |
---|---|
US (1) | US10191793B2 (zh) |
EP (1) | EP2864886B1 (zh) |
JP (1) | JP2015525915A (zh) |
KR (1) | KR20150033685A (zh) |
CN (1) | CN104487950B (zh) |
GB (1) | GB2503459A (zh) |
TW (1) | TWI609324B (zh) |
WO (1) | WO2014001758A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9563494B2 (en) * | 2015-03-30 | 2017-02-07 | Nxp Usa, Inc. | Systems and methods for managing task watchdog status register entries |
US11385904B2 (en) * | 2019-03-19 | 2022-07-12 | Active-Semi, Inc. | Methods and apparatus for selecting operating modes in a device |
CN117111857B (zh) * | 2023-09-15 | 2024-05-07 | 上海合芯数字科技有限公司 | 读取数据信息的方法、装置、设备及存储介质 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6039255A (ja) * | 1983-08-12 | 1985-03-01 | Mitsubishi Electric Corp | ウオツチドグタイマのリセツト回路 |
JPS60124748A (ja) * | 1983-12-09 | 1985-07-03 | Canon Inc | ウオツチドツグタイマのセツト方式 |
JPH0795291B2 (ja) * | 1986-01-13 | 1995-10-11 | 沖電気工業株式会社 | ウオツチドツグタイマ |
JPS63307547A (ja) * | 1987-06-09 | 1988-12-15 | Nec Corp | Cpu監視回路 |
JPH04209038A (ja) * | 1990-11-30 | 1992-07-30 | Nec Corp | シングルチップ・マイクロコンピュータ |
JPH04238547A (ja) * | 1991-01-23 | 1992-08-26 | Matsushita Electron Corp | 半導体装置 |
JP2658697B2 (ja) * | 1991-12-11 | 1997-09-30 | 富士通株式会社 | ウォッチ・ドック・タイマ回路 |
JPH08292901A (ja) * | 1995-04-21 | 1996-11-05 | Hitachi Ltd | ウォッチドッグタイマ及びこれを用いたコンピュータシステム |
JP2000029747A (ja) * | 1998-07-10 | 2000-01-28 | Matsushita Electric Ind Co Ltd | 暴走検出回路 |
US6505298B1 (en) * | 1999-10-25 | 2003-01-07 | International Business Machines Corporation | System using an OS inaccessible interrupt handler to reset the OS when a device driver failed to set a register bit indicating OS hang condition |
US6806786B1 (en) * | 2001-05-15 | 2004-10-19 | Rf Micro Devices, Inc. | Phase-locked loop with self-selecting multi-band VCO |
US7689875B2 (en) * | 2002-04-25 | 2010-03-30 | Microsoft Corporation | Watchdog timer using a high precision event timer |
JP4322606B2 (ja) * | 2003-09-16 | 2009-09-02 | 株式会社デジタル | ウォッチドッグタイマ |
US7516311B2 (en) * | 2005-01-27 | 2009-04-07 | Innovasic, Inc. | Deterministic microcontroller context arrangement |
US7872892B2 (en) * | 2005-07-05 | 2011-01-18 | Intel Corporation | Identifying and accessing individual memory devices in a memory channel |
JP2007323631A (ja) * | 2006-05-01 | 2007-12-13 | Shinko Electric Ind Co Ltd | Cpu暴走判定回路 |
TWI327272B (en) * | 2006-10-03 | 2010-07-11 | Holtek Semiconductor Inc | Enable circuit of monitoring timers and enable method thereof |
TWI346460B (en) * | 2006-10-31 | 2011-08-01 | Realtek Semiconductor Corp | A clock and data recovery circuit and a method for adjusting loop bandwidth used thereby |
TW200817983A (en) | 2007-10-25 | 2008-04-16 | Apexone Microelectronics Ltd | Device for controlling a cursor on a computer screen |
TW201009713A (en) * | 2008-08-21 | 2010-03-01 | Ind Tech Res Inst | Multitasking processor and task switch method thereof |
JP2011022934A (ja) | 2009-07-17 | 2011-02-03 | Toyota Motor Corp | 電子制御ユニット、異常検出方法 |
RU2520399C2 (ru) * | 2009-10-15 | 2014-06-27 | Эл И ТЕК КО., ЛТД. | Микрокомпьютер и способ его работы |
US8412406B2 (en) * | 2010-08-13 | 2013-04-02 | Deere & Company | Method and system for performing diagnostics or software maintenance for a vehicle |
CN103080719B (zh) * | 2010-09-10 | 2016-04-06 | 迪尔公司 | 用于执行车辆的诊断或软件维护的方法和*** |
-
2012
- 2012-06-26 GB GB1211343.7A patent/GB2503459A/en not_active Withdrawn
-
2013
- 2013-06-13 TW TW102120914A patent/TWI609324B/zh not_active IP Right Cessation
- 2013-06-14 CN CN201380034164.XA patent/CN104487950B/zh active Active
- 2013-06-14 KR KR20157001994A patent/KR20150033685A/ko not_active Application Discontinuation
- 2013-06-14 EP EP13730062.0A patent/EP2864886B1/en active Active
- 2013-06-14 WO PCT/GB2013/051560 patent/WO2014001758A1/en active Application Filing
- 2013-06-14 US US14/411,072 patent/US10191793B2/en active Active
- 2013-06-14 JP JP2015519324A patent/JP2015525915A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
EP2864886B1 (en) | 2021-09-01 |
GB2503459A (en) | 2014-01-01 |
JP2015525915A (ja) | 2015-09-07 |
GB201211343D0 (en) | 2012-08-08 |
CN104487950B (zh) | 2018-06-15 |
EP2864886A1 (en) | 2015-04-29 |
CN104487950A (zh) | 2015-04-01 |
US20150339179A1 (en) | 2015-11-26 |
US10191793B2 (en) | 2019-01-29 |
KR20150033685A (ko) | 2015-04-01 |
TWI609324B (zh) | 2017-12-21 |
WO2014001758A1 (en) | 2014-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9747192B2 (en) | Automated operating system installation on multiple drives | |
US9389937B2 (en) | Managing faulty memory pages in a computing system | |
JP6162336B2 (ja) | ロバストハードウェア/ソフトウェアエラー回復システム | |
US20140173327A1 (en) | Correcting a failure associated with a current firmware image | |
TWI609324B (zh) | 微處理器裝置 | |
US20170153898A1 (en) | Reboot system and reboot method | |
US20090138896A1 (en) | Providing a computing system with real-time capabilities | |
US9430306B2 (en) | Anticipatory protection of critical jobs in a computing system | |
US10120742B2 (en) | Power supply controller system and semiconductor device | |
JP2016066139A (ja) | 車両制御装置 | |
JP5561791B2 (ja) | 情報処理装置、情報処理方法、及び情報処理プログラム | |
JP2018163498A (ja) | 監視回路 | |
US9442831B1 (en) | Automated testing of program code for processing a simple boot flag data structure | |
US8478923B2 (en) | Interrupt suppression by processing just first interrupt of a same type | |
US9378102B1 (en) | Safety hardware and/or software fault tolerance using redundant channels | |
JP2007257395A (ja) | アプリケーションの異常監視方法 | |
JP2015036634A (ja) | 電源監視装置、電源装置、情報処理システム及び電源監視方法 | |
US9971659B1 (en) | Memory programming providing corruption protection | |
JP6232877B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP2015121478A (ja) | 故障検出回路及び故障検出方法 | |
JP2018106234A (ja) | 半導体集積回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |