欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

微計(jì)算機(jī)及其動(dòng)作方法

文檔序號(hào):6351486閱讀:200來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):微計(jì)算機(jī)及其動(dòng)作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種微計(jì) 算機(jī)的動(dòng)作方法。更詳細(xì)地說(shuō)涉及一種在微計(jì)算機(jī)的中央處理裝置(CPU)中發(fā)生了所謂的失控等錯(cuò)誤的情況下使CPU自動(dòng)恢復(fù)的電路及其使用方法。
背景技術(shù)
在微計(jì)算機(jī)的CPU中,由于外部的電噪聲、靜電、電源電壓的不穩(wěn)定以及其它原因而發(fā)生致命錯(cuò)誤。由此,有時(shí)該CPU無(wú)法執(zhí)行程序。作為這樣的致命錯(cuò)誤的狀態(tài)的例子,可列舉所謂的CPU失控等。作為針對(duì)該微計(jì)算機(jī)的CPU的致命錯(cuò)誤的對(duì)策,眾所周知的看門(mén)狗(watchdog)的方法較為普遍。該方法設(shè)置與軟件處理的重復(fù)(循環(huán))時(shí)間相比足夠長(zhǎng)的計(jì)時(shí)器,在軟件處理的循環(huán)中將該計(jì)時(shí)器復(fù)位。在CPU中發(fā)生了致命錯(cuò)誤的情況下,由于軟件處理不正常地進(jìn)行動(dòng)作,因此計(jì)時(shí)器不被復(fù)位而結(jié)束,以計(jì)時(shí)器的結(jié)束為觸發(fā),對(duì)微計(jì)算機(jī)整體施加復(fù)位。另一方面,在CPU正常地進(jìn)行動(dòng)作的情況下(在沒(méi)有發(fā)生致命錯(cuò)誤的情況下),由于計(jì)時(shí)器在結(jié)束之前被復(fù)位,因此微計(jì)算機(jī)不會(huì)被復(fù)位。但是,在該方法中,CPU的致命錯(cuò)誤狀態(tài)有可能會(huì)持續(xù)從計(jì)時(shí)器的開(kāi)始至結(jié)束為止的較長(zhǎng)時(shí)間。因而,在如從CPU的致命錯(cuò)誤發(fā)生起至計(jì)時(shí)器結(jié)束為止的時(shí)間對(duì)微計(jì)算機(jī)的使用帶來(lái)不良影響那樣的環(huán)境或者如由于該時(shí)間內(nèi)的微計(jì)算機(jī)的錯(cuò)誤動(dòng)作而對(duì)使用者帶來(lái)危險(xiǎn)那樣的環(huán)境中,看門(mén)狗未必有效,但是由于除此之外沒(méi)有更好的方法,因此仍采用了看門(mén)狗。并且,在使用了看門(mén)狗的針對(duì)CPU的致命錯(cuò)誤的對(duì)策中,在CPU中發(fā)生了致命錯(cuò)誤之后,難以使該CPU的狀態(tài)恢復(fù)到發(fā)生這種錯(cuò)誤之前的狀態(tài)。其理由是,直到檢測(cè)出CPU的致命錯(cuò)誤為止花費(fèi)了較長(zhǎng)時(shí)間,因此檢測(cè)出CPU的致命錯(cuò)誤的時(shí)刻的CPU寄存器的信息等的狀態(tài)不同于剛發(fā)生致命錯(cuò)誤之前的狀態(tài)。以往,微計(jì)算機(jī)當(dāng)檢測(cè)出CPU的致命錯(cuò)誤時(shí),廢棄在檢測(cè)出CPU的致命錯(cuò)誤的時(shí)刻的CPU寄存器的信息等,而將微計(jì)算機(jī)整體進(jìn)行初始化。因而,以往為了使CPU從致命錯(cuò)誤中恢復(fù),除了用于檢測(cè)該CPU的致命錯(cuò)誤的時(shí)間以外,還需要用于將微計(jì)算機(jī)整體進(jìn)行初始化的時(shí)間。而且,為了使微計(jì)算機(jī)恢復(fù)到在CPU中發(fā)生致命錯(cuò)誤之前的狀態(tài),而必須在CPU的初始化之后對(duì)在發(fā)生該錯(cuò)誤之前正在執(zhí)行的處理(應(yīng)用程序(applicationprogram)的處理)進(jìn)行再現(xiàn)。對(duì)過(guò)去正在執(zhí)行的處理進(jìn)行再現(xiàn)并不容易,并且需要用于執(zhí)行該再現(xiàn)的處理時(shí)間。因而,根據(jù)正在使用微計(jì)算機(jī)的環(huán)境,使微計(jì)算機(jī)從CPU的致命錯(cuò)誤中恢復(fù)有可能成為大問(wèn)題。例如有可能在從CPU的致命錯(cuò)誤開(kāi)始至初始化為止的時(shí)間內(nèi)機(jī)械無(wú)法停止而發(fā)生事故,還有可能發(fā)生錢(qián)款的結(jié)算丟失等嚴(yán)重的情況?!銇?lái)說(shuō),在使用微計(jì)算機(jī)的單片微計(jì)算機(jī)(One ChipMicrocomputer)中,僅使用了一個(gè)用于初始化的信號(hào)。因此,初始化是針對(duì)微計(jì)算機(jī)整體進(jìn)行的。因此,假定在值得將微計(jì)算機(jī)整體初始化的重大錯(cuò)誤的情況下進(jìn)行微計(jì)算機(jī)的初始化。因而,認(rèn)為從CPU的致命錯(cuò)誤中恢復(fù)要花費(fèi)很長(zhǎng)時(shí)間或發(fā)生該致命錯(cuò)誤之前的信息等丟失這些問(wèn)題在以往是沒(méi)有辦法解決的。
并且,作為其它的方法,還存在如專(zhuān)利文獻(xiàn)I所記載的那樣代替周期性的中斷而僅對(duì)CPU周期性地施加復(fù)位的方法。在使用該方法的情況下,在CPU上執(zhí)行的應(yīng)用程序的執(zhí)行開(kāi)始至結(jié)束的時(shí)間必須在復(fù)位的周期內(nèi)。理由是如果在執(zhí)行應(yīng)用程序的過(guò)程中CPU被復(fù)位,則程序計(jì)數(shù)器、堆棧等CPU寄存器的信息也被復(fù)位,關(guān)于應(yīng)用程序中的命令的地址被刪除。因而,在僅將CPU周期性地復(fù)位的情況下,需要將應(yīng)用程序形成為如處理開(kāi)始至結(jié)束的時(shí)間收斂在CPU的復(fù)位周期的間隔內(nèi)那樣的極小的大小。因此,與普通的程序相比,所需的應(yīng)用程序的大小變小。由此,該應(yīng)用程序的數(shù)量變得龐大。還存在如下問(wèn)題應(yīng)用程序的制作者不僅要考慮應(yīng)用程序的處理內(nèi)容,還必須考慮復(fù)位的周期來(lái)進(jìn)行應(yīng)用程序的制作。專(zhuān)利文獻(xiàn)I :日本特開(kāi)平6-71024號(hào)公報(bào)專(zhuān)利文獻(xiàn)2 :日本特開(kāi)平9-319602號(hào)公報(bào)

發(fā)明內(nèi)容
發(fā)明要解決的問(wèn)題本發(fā)明的目的在于在微計(jì)算機(jī)的CPU中發(fā)生了致命錯(cuò)誤的情況下不進(jìn)行微計(jì)算機(jī)整體的初始化或者復(fù)位而僅對(duì)CPU進(jìn)行復(fù)位來(lái)使微計(jì)算機(jī)的CPU在極短的時(shí)間內(nèi)從致命錯(cuò)誤狀態(tài)恢復(fù)。另外,本發(fā)明的目的在于不對(duì)在微計(jì)算機(jī)上正在執(zhí)行的應(yīng)用程序帶來(lái)影響地將CPU復(fù)位。用于解決問(wèn)題的方案本發(fā)明的微計(jì)算機(jī)具備CPU ;RAM,其通過(guò)CPU總線與該CPU進(jìn)行連接;中斷請(qǐng)求信號(hào)輸出單元,其將用于請(qǐng)求開(kāi)始執(zhí)行中斷處理的中斷請(qǐng)求信號(hào)輸出到CPU;以及CPU復(fù)位信號(hào)輸出單元,其在該中斷請(qǐng)求信號(hào)輸出單元輸出中斷請(qǐng)求信號(hào)之后,將用于請(qǐng)求開(kāi)始CPU復(fù)位處理的CPU復(fù)位信號(hào)輸出到CPU,其中,CPU當(dāng)接收到中斷請(qǐng)求信號(hào)時(shí),中斷在該CPU上正在執(zhí)行的應(yīng)用程序的處理,并且將CPU寄存器的信息作為恢復(fù)信息保存到RAM中,然后,當(dāng)接收到CPU復(fù)位信號(hào)時(shí),CPU被復(fù)位,并且能夠?qū)⒈4嬖赗AM中的恢復(fù)信息復(fù)制到CPU寄存器。本發(fā)明的微計(jì)算機(jī)能夠還具備計(jì)時(shí)計(jì)數(shù)器電路,該計(jì)時(shí)計(jì)數(shù)器電路周期性地產(chǎn)生CPU復(fù)位信號(hào)和中斷請(qǐng)求信號(hào)。在本發(fā)明的微計(jì)算機(jī)中,計(jì)時(shí)計(jì)數(shù)器電路能夠具備附加計(jì)時(shí)器,CPU判斷CPU寄存器的信息是否正常,僅在判斷為該CPU寄存器的信息正常的情況下,附加計(jì)時(shí)器進(jìn)行動(dòng)作,禁止在向CPU提供CPU復(fù)位信號(hào)的期間的CPU復(fù)位處理的執(zhí)行。本發(fā)明的微計(jì)算機(jī)能夠構(gòu)成為還具備系統(tǒng)復(fù)位信號(hào)源和邏輯或電路,該系統(tǒng)復(fù)位信號(hào)源用于將微計(jì)算機(jī)整體復(fù)位,CPU復(fù)位信號(hào)輸出單元和系統(tǒng)復(fù)位信號(hào)源連接在邏輯或電路的輸入側(cè),CPU連接在邏輯或電路的輸出側(cè)。本發(fā)明的微計(jì)算機(jī)的動(dòng)作方法能夠包括以下步驟將用于請(qǐng)求開(kāi)始執(zhí)行中斷處理的中斷請(qǐng)求信號(hào)從計(jì)時(shí)計(jì)數(shù)器電路輸出到CPU ;該CPU在接收到中斷請(qǐng)求信號(hào)時(shí),中斷在CPU上正在執(zhí)行的應(yīng)用程序的處理;由CPU將其CPU寄存器的信息作為恢復(fù)信息保存到RAM中;在輸出中斷請(qǐng)求信號(hào)之后,將用于請(qǐng)求開(kāi)始CPU復(fù)位處理的CPU復(fù)位信號(hào)輸出到CPU ;CPU在接收到CPU復(fù)位信號(hào)時(shí),將CPU復(fù)位;以及由該CPU將保存在RAM中的恢復(fù)信息復(fù)制到CPU寄存器。
本發(fā)明的微計(jì)算機(jī)的動(dòng)作方法能夠由計(jì)時(shí)計(jì)數(shù)器電路周期性地產(chǎn)生CPU復(fù)位信號(hào)和中斷請(qǐng)求信號(hào)。本發(fā)明的微計(jì)算機(jī)的動(dòng)作方法能夠還包括以下步驟由CPU判斷CPU寄存器的信息是否正常,僅在判斷為CPU寄存器的信息正常的情況下,在向CPU提供CPU復(fù)位信號(hào)的期間,禁止執(zhí)行將CPU復(fù)位的步驟。發(fā)明的效果通過(guò)提早檢測(cè)出在微計(jì)算機(jī)的CPU中發(fā)生了致命錯(cuò)誤的情形并能夠從致命錯(cuò)誤 中恢復(fù),由此能夠大幅減少使用了微計(jì)算機(jī)的應(yīng)用裝置的異常的動(dòng)作、有時(shí)是造成危險(xiǎn)等的錯(cuò)誤動(dòng)作。特別是在對(duì)汽車(chē)、飛機(jī)、船舶、工業(yè)用機(jī)器人等領(lǐng)域中使用的機(jī)械系統(tǒng)進(jìn)行控制的設(shè)備中,這些設(shè)備的錯(cuò)誤動(dòng)作有可能會(huì)引起很大的事故(例如汽車(chē)的制動(dòng)控制、轉(zhuǎn)向控制等)。與對(duì)機(jī)械系統(tǒng)進(jìn)行控制的設(shè)備中的錯(cuò)誤動(dòng)作的檢測(cè)以及從該錯(cuò)誤動(dòng)作中恢復(fù)所需要的時(shí)間相比,利用本發(fā)明使微計(jì)算機(jī)的CPU從致命錯(cuò)誤中恢復(fù)所需要的時(shí)間非常短。因此,在微計(jì)算機(jī)中進(jìn)行由于微計(jì)算機(jī)的CPU的致命錯(cuò)誤引起的這些設(shè)備的錯(cuò)誤動(dòng)作的檢測(cè)以及用于從該錯(cuò)誤動(dòng)作中恢復(fù)的處理而不是在設(shè)備中進(jìn)行這些處理是有效的。另外,在上述領(lǐng)域中,與其它領(lǐng)域的設(shè)備相比更多地發(fā)生電噪聲等引發(fā)致命錯(cuò)誤的原因。因而,通過(guò)將本發(fā)明用于控制機(jī)械系統(tǒng)的設(shè)備,能夠大幅減少以往針對(duì)電噪聲等的很多的對(duì)策,還能夠?qū)嵤┍纫酝辛Φ膶?duì)策,因此能夠同時(shí)實(shí)現(xiàn)成本降低和可靠性的提高。另外,在微計(jì)算機(jī)的CPU中持續(xù)地發(fā)生致命錯(cuò)誤的情況下,檢測(cè)CPU的持續(xù)的致命錯(cuò)誤,還能夠根據(jù)其檢測(cè)結(jié)果,通過(guò)輸入輸出接口提供用于對(duì)設(shè)備的錯(cuò)誤動(dòng)作進(jìn)行警告的信息。并且,在微計(jì)算機(jī)的CPU中發(fā)生了致命錯(cuò)誤的情況下,本發(fā)明不是將微計(jì)算機(jī)整體復(fù)位,而是僅將CPU復(fù)位,因此能夠在極短的時(shí)間內(nèi)進(jìn)行從致命錯(cuò)誤的恢復(fù)。另外,本發(fā)明能夠在中斷在CPU中發(fā)生致命錯(cuò)誤的時(shí)刻正在執(zhí)行的應(yīng)用程序之后將CPU復(fù)位,然后使應(yīng)用程序從發(fā)生該致命錯(cuò)誤之前的時(shí)刻起再啟動(dòng)。列舉期望有效利用本發(fā)明的領(lǐng)域中的一例,在電梯在動(dòng)作過(guò)程中由于雷電、電源的噪聲、設(shè)計(jì)上的缺陷所引起的噪聲而在進(jìn)行電梯控制的微計(jì)算機(jī)的CPU中發(fā)生致命錯(cuò)誤從而通過(guò)該CPU使電梯進(jìn)行了錯(cuò)誤動(dòng)作的情況下,也能夠通過(guò)在電梯的微計(jì)算機(jī)中采用本發(fā)明的微計(jì)算機(jī)來(lái)使電梯在極短的時(shí)間內(nèi)恢復(fù)到穩(wěn)定狀態(tài)的動(dòng)作。


圖I是表示本發(fā)明的一個(gè)實(shí)施例所涉及的微計(jì)算機(jī)的整體的框圖。圖2是更詳細(xì)地示出圖I的時(shí)鐘產(chǎn)生電路、計(jì)時(shí)計(jì)數(shù)器電路以及CPU的框圖。圖3是表示第一實(shí)施例的微計(jì)算機(jī)的動(dòng)作的流程圖。圖4是表示第二實(shí)施例的微計(jì)算機(jī)的動(dòng)作的流程圖。圖5是表示中斷處理的動(dòng)作的流程圖。圖6是表示CPU復(fù)位處理的動(dòng)作的流程圖。圖7是關(guān)于CPU正常地進(jìn)行動(dòng)作時(shí)的第一實(shí)施例的時(shí)序圖。圖8是關(guān)于在CPU中發(fā)生了致命錯(cuò)誤時(shí)的第一實(shí)施例的時(shí)序圖。圖9是關(guān)于在CPU中發(fā)生了致命錯(cuò)誤時(shí)的第二實(shí)施例的時(shí)序圖。
具體實(shí)施例方式圖I是表示本發(fā)明的一個(gè)實(shí)施例所涉及的微計(jì)算機(jī)的整體的框圖。在此,微計(jì)算機(jī)100具備中央處理裝置(CPU) 101、主存儲(chǔ)裝置(RAM) 105,ROM 110、通信用電路115、通用計(jì)數(shù)計(jì)時(shí)器120、輸入輸出端口 125、邏輯或電路(0R電路)130、系統(tǒng)復(fù)位信號(hào)源135、時(shí)鐘產(chǎn)生電路140、計(jì)時(shí)計(jì)數(shù)器電路145、附加計(jì)時(shí)器150、看門(mén)狗電路155、非法指令檢測(cè)電路及不正確外部訪問(wèn)檢測(cè)電路160、系統(tǒng)復(fù)位用總線165、CPU總線170。
系統(tǒng)復(fù)位信號(hào)源135在電源被接通時(shí)等產(chǎn)生系統(tǒng)復(fù)位用信號(hào),通過(guò)系統(tǒng)復(fù)位用總線165發(fā)送系統(tǒng)復(fù)位用信號(hào)。系統(tǒng)復(fù)位用信號(hào)是用于使微計(jì)算機(jī)整體復(fù)位的信號(hào)。系統(tǒng)復(fù)位用信號(hào)不僅用于對(duì)CPU 101進(jìn)行復(fù)位,例如還用于對(duì)輸入輸出端口 125、通信用電路115、通用計(jì)數(shù)計(jì)時(shí)器120等進(jìn)行復(fù)位??撮T(mén)狗電路155以及非法指令檢測(cè)電路及不正確外部訪問(wèn)檢測(cè)電路160分別判斷CPU 101是否正常地進(jìn)行動(dòng)作。在判斷為CPU 101沒(méi)有正常地進(jìn)行動(dòng)作的情況下,看門(mén)狗電路155或非法指令檢測(cè)電路及不正確外部訪問(wèn)檢測(cè)電路160通過(guò)系統(tǒng)復(fù)位用總線165向CPU 101、通信用電路115等發(fā)送系統(tǒng)復(fù)位用信號(hào),將微計(jì)算機(jī)100整體進(jìn)行復(fù)位。時(shí)鐘產(chǎn)生電路140是產(chǎn)生系統(tǒng)的時(shí)鐘信號(hào)的電路。計(jì)時(shí)計(jì)數(shù)器電路145是產(chǎn)生第一處理信號(hào)(中斷請(qǐng)求信號(hào))和第二處理信號(hào)(CPU復(fù)位信號(hào))的電路。邏輯或電路130是用于通過(guò)防止來(lái)自計(jì)時(shí)計(jì)數(shù)器電路145的CPU復(fù)位信號(hào)被發(fā)送到系統(tǒng)復(fù)位用總線165來(lái)將CPU復(fù)位信號(hào)僅提供給CPU 101的電路。CPU復(fù)位信號(hào)和系統(tǒng)復(fù)位用信號(hào)作為輸入被提供給邏輯或電路。因而,CPU復(fù)位信號(hào)不被提供給CPU 101以外的通信用電路115、通用計(jì)數(shù)計(jì)時(shí)器120等。CPU 101是執(zhí)行用于微計(jì)算機(jī)100的控制及運(yùn)算的電路。圖2是更詳細(xì)地示出圖I的時(shí)鐘產(chǎn)生電路140、計(jì)時(shí)計(jì)數(shù)器電路145以及CPU 101的框圖。CPU 101具備CPU寄存器235。時(shí)鐘產(chǎn)生電路140包括時(shí)鐘產(chǎn)生器210和分頻器215。計(jì)時(shí)計(jì)數(shù)器電路145包括計(jì)數(shù)器220、附加計(jì)時(shí)器225、比較器230、寄存器255、CPU復(fù)位信號(hào)用觸發(fā)器電路240、中斷請(qǐng)求信號(hào)用觸發(fā)器電路245、系統(tǒng)復(fù)位用觸發(fā)器電路250。CPU 101通過(guò)CPU總線170與寄存器255及系統(tǒng)復(fù)位用觸發(fā)器電路250相連接。時(shí)鐘產(chǎn)生器210是產(chǎn)生系統(tǒng)的時(shí)鐘信號(hào)的電路。時(shí)鐘產(chǎn)生器210所產(chǎn)生的第一時(shí)鐘信號(hào)被提供給CPU 101和分頻器215。分頻器215將第一時(shí)鐘信號(hào)的頻率變更為適當(dāng)頻率的第二時(shí)鐘信號(hào)。分頻器215將第二時(shí)鐘信號(hào)提供給計(jì)數(shù)器220。計(jì)數(shù)器220對(duì)第二時(shí)鐘信號(hào)進(jìn)行計(jì)數(shù)。對(duì)第二時(shí)鐘信號(hào)進(jìn)行計(jì)數(shù)直到第二時(shí)鐘信號(hào)的計(jì)數(shù)值達(dá)到計(jì)數(shù)上限值為止。在此,第二時(shí)鐘信號(hào)的計(jì)數(shù)值是計(jì)數(shù)器220對(duì)第二時(shí)鐘信號(hào)進(jìn)行計(jì)數(shù)得到的值。在第二時(shí)鐘信號(hào)的計(jì)數(shù)值達(dá)到了計(jì)數(shù)上限值的情況下,計(jì)數(shù)器220產(chǎn)生CPU復(fù)位信號(hào),對(duì)CPU復(fù)位信號(hào)用觸發(fā)器電路240進(jìn)行設(shè)置,在足以將CPU復(fù)位的數(shù)量的時(shí)鐘之后,將觸發(fā)器電路240復(fù)位。并且,計(jì)數(shù)器220在第二時(shí)鐘信號(hào)的計(jì)數(shù)值達(dá)到了計(jì)數(shù)上限值之后,將第二時(shí)鐘信號(hào)的計(jì)數(shù)值清零,并重新開(kāi)始計(jì)數(shù)。作為其它的實(shí)施例,能夠構(gòu)成為=CPU 101在初始化處理等中設(shè)定上述計(jì)數(shù)上限值。此外,即使由于電噪聲等的影響而第二時(shí)鐘信號(hào)的計(jì)數(shù)值被變更,作為自由振蕩(free run)計(jì)數(shù)器的計(jì)數(shù)器220也不會(huì)停止第二時(shí)鐘信號(hào)的計(jì)數(shù)。
作為其它的實(shí)施例,時(shí)鐘產(chǎn)生器210不使用分頻器215而能夠?qū)⒌谝粫r(shí)鐘信號(hào)提供給計(jì)數(shù)器220。在這種情況下,計(jì)數(shù)器220使用第一時(shí)鐘信號(hào)作為時(shí)鐘信號(hào)以代替第二時(shí)鐘信號(hào)CPU復(fù)位信號(hào)用觸發(fā)器電路240將從計(jì)數(shù)器220接收到的CPU復(fù)位信號(hào)波形整形為短脈寬的脈沖信號(hào),并提供給CPUlOl。作為其它的實(shí)施例,在計(jì)數(shù)器220能夠以短脈寬的脈沖信號(hào)的形式產(chǎn)生CPU復(fù)位信號(hào)的情況下,計(jì)數(shù)器220不經(jīng)由CPU復(fù)位信號(hào)用觸發(fā)器電路240就能夠直接向CPU 101提供CPU復(fù)位信號(hào)。在電源接通時(shí)等,通過(guò)系統(tǒng)復(fù)位用總線165向CPU 101提供系統(tǒng)復(fù)位用信號(hào)。CPU101當(dāng)接收到系統(tǒng)復(fù)位用信號(hào)時(shí),將系統(tǒng)復(fù)位用觸發(fā)器電路250復(fù)位。作為其它的實(shí)施例,也能夠設(shè)為在電源接通時(shí)等,系統(tǒng)復(fù)位信號(hào)源135通過(guò)系統(tǒng)復(fù)位用總線將系統(tǒng)復(fù)位用觸發(fā)器電路250復(fù)位。作為其它的實(shí)施例,也能夠設(shè)為CPU 101將系統(tǒng)復(fù)位用信號(hào)提供給計(jì)時(shí)計(jì)數(shù)器電路145,將計(jì)時(shí)計(jì)數(shù)器電路145內(nèi)的要素的全部或一部分復(fù)位。之后,CPU 101在初始化處理中對(duì)系統(tǒng)復(fù)位用觸發(fā)器電路250進(jìn)行設(shè)置。計(jì)數(shù)器220在系統(tǒng)復(fù)位用觸發(fā)器電路250復(fù)位的期間不對(duì)第二時(shí)鐘信號(hào)進(jìn)行計(jì)數(shù)。當(dāng)在初始化處理中對(duì)系統(tǒng)復(fù)位用觸發(fā)器電路250進(jìn)行了設(shè)置時(shí),計(jì)數(shù)器220開(kāi)始第二時(shí)鐘信號(hào)的計(jì)數(shù)。在初始化處理中,CPU 101將作為規(guī)定的數(shù)值的比較對(duì)象值通過(guò)CPU總線170提供給寄存器255。寄存器255保存該比較對(duì)象值。比較器230將第二時(shí)鐘信號(hào)的計(jì)數(shù)值與寄存器255所保存的比較對(duì)象值進(jìn)行比較。在第二時(shí)鐘信號(hào)的計(jì)數(shù)值與比較對(duì)象值一致的情況下,比較器230產(chǎn)生中斷請(qǐng)求信號(hào)并提供給中斷請(qǐng)求信號(hào)用觸發(fā)器電路245。中斷請(qǐng)求信號(hào)用觸發(fā)器電路245將從比較器230接收到的中斷請(qǐng)求信號(hào)調(diào)整為短脈寬的脈沖信號(hào)后提供給CPU 101。作為其它的實(shí)施例,在比較器230能夠以短脈寬的脈沖信號(hào)的形式產(chǎn)生中斷請(qǐng)求信號(hào)的情況下,比較器230不經(jīng)由中斷請(qǐng)求信號(hào)用觸發(fā)器電路245就能夠直接將中斷請(qǐng)求信號(hào)提供給CPU 101。作為其它的實(shí)施例,計(jì)數(shù)器220能夠具備附加計(jì)時(shí)器225。附加計(jì)時(shí)器225使計(jì)時(shí)器在預(yù)先設(shè)定的時(shí)間內(nèi)進(jìn)行動(dòng)作。附加計(jì)時(shí)器225在計(jì)時(shí)器進(jìn)行動(dòng)作的期間,通過(guò)控制計(jì)數(shù)器220,能夠禁止計(jì)數(shù)器220向CPU復(fù)位信號(hào)用觸發(fā)器電路240提供CPU復(fù)位信號(hào)。作為其它的實(shí)施例,附加計(jì)時(shí)器225在計(jì)時(shí)器進(jìn)行動(dòng)作的期間,將CPU復(fù)位信號(hào)用觸發(fā)器電路240復(fù)位,禁止CPU復(fù)位信號(hào)用觸發(fā)器電路240向CPU 101提供CPU復(fù)位信號(hào)。實(shí)施例I下面說(shuō)明圖2的電路的動(dòng)作。首先,在電源被接通時(shí),系統(tǒng)復(fù)位信號(hào)源135將計(jì)時(shí)計(jì)數(shù)器電路145內(nèi)的計(jì)數(shù)器220以及所有的觸發(fā)器電路240、245及250復(fù)位。作為其它的實(shí)施例,也可以通過(guò)CPU 101將系統(tǒng)復(fù)位用觸發(fā)器電路250復(fù)位。在電源被接通之后,CPU 101進(jìn)行初始化處理。在初始化處理中,CPU 101首先對(duì)寄存器255設(shè)定合適的比較對(duì)象值。比較對(duì)象值是在比較器230產(chǎn)生中斷請(qǐng)求信號(hào)時(shí)使用的值。比較器230將第二時(shí)鐘信號(hào)的計(jì)數(shù)值與比較對(duì)象值進(jìn)行比較,在兩者一致的情況下產(chǎn)生中斷請(qǐng)求信號(hào)。然后,CPU 101接收中斷請(qǐng)求信號(hào),并執(zhí)行中斷處理。因而,在第二時(shí)鐘信號(hào)的計(jì)數(shù)開(kāi)始之后經(jīng)過(guò)進(jìn)行計(jì)數(shù)直到第二時(shí)鐘信號(hào)的計(jì)數(shù)值達(dá)到比較對(duì)象值為止的期間的時(shí)間(比較對(duì)象時(shí)間)時(shí)執(zhí)行中斷處理。因而,每隔規(guī)定的時(shí)間間隔產(chǎn)生中斷請(qǐng)求信號(hào)。由此,CPU 101以規(guī)定的時(shí)間間隔接收中斷請(qǐng)求信號(hào),并執(zhí)行中斷請(qǐng)求處理。在此,比較對(duì)象時(shí)間是進(jìn)行計(jì)數(shù)直到第二時(shí)鐘信號(hào)的計(jì)數(shù)值達(dá)到比較對(duì)象值為止的期間的時(shí)間,是利用(第二時(shí)鐘信號(hào)的周期)X (比較對(duì)象值)得到的。在此,中斷處理是指處理的優(yōu)先級(jí)至少高于應(yīng)用程序的處理。而且,當(dāng)中斷處理被觸發(fā)時(shí),CPU 101中斷應(yīng)用程序的處理并開(kāi)始中斷處理。系統(tǒng)復(fù)位用觸發(fā)器電路250僅在微計(jì)算機(jī)100的電源接通時(shí)等產(chǎn)生了系統(tǒng)復(fù)位用信號(hào)的情況下,通過(guò)CPU 101或系統(tǒng)復(fù)位信號(hào)源135而被復(fù)位。之后,在初始化處理中,CPU101對(duì)系統(tǒng)復(fù)位用觸發(fā)器電路250進(jìn)行設(shè)置。在系統(tǒng)復(fù)位用觸發(fā)器電路250被設(shè)置之后,計(jì)數(shù)器220開(kāi)始第二時(shí)鐘信號(hào)的計(jì)數(shù)。不設(shè)置以軟件方式進(jìn)行復(fù)位的單元的理由是,為了防止在CPU中發(fā)生了致命錯(cuò)誤的情況下系統(tǒng)復(fù)位用觸發(fā)器電路250被復(fù)位。在保證了在CPU中發(fā)生了致命錯(cuò)誤時(shí)進(jìn)行動(dòng)作以防止系統(tǒng)復(fù)位用觸發(fā)器電路250被復(fù)位的情況下,也可以 設(shè)置通過(guò)軟件將系統(tǒng)復(fù)位用觸發(fā)器電路250復(fù)位的單元。比較器230將第二時(shí)鐘信號(hào)的計(jì)數(shù)值與寄存器255所保存的比較對(duì)象值進(jìn)行比較。也就是說(shuō),確認(rèn)從第二時(shí)鐘信號(hào)的計(jì)數(shù)開(kāi)始或重新開(kāi)始起是否經(jīng)過(guò)了比較對(duì)象時(shí)間。在第二時(shí)鐘信號(hào)的計(jì)數(shù)值與比較對(duì)象值一致的情況下,比較器230產(chǎn)生中斷請(qǐng)求信號(hào),對(duì)中斷請(qǐng)求信號(hào)用觸發(fā)器電路245進(jìn)行設(shè)置,并在幾個(gè)時(shí)鐘之后進(jìn)行復(fù)位。中斷請(qǐng)求信號(hào)用觸發(fā)器電路245將中斷請(qǐng)求信號(hào)波形整形為短脈寬的脈沖信號(hào)。被整形為脈沖信號(hào)的中斷請(qǐng)求信號(hào)被提供給CPU 101。作為其它的實(shí)施例,在比較器230能夠以短脈寬的脈沖信號(hào)的形式產(chǎn)生中斷請(qǐng)求信號(hào)的情況下,比較器230不經(jīng)由中斷請(qǐng)求信號(hào)用觸發(fā)器電路245就能夠向CPU 101提供中斷請(qǐng)求信號(hào)。CPU 101當(dāng)接收到中斷請(qǐng)求信號(hào)時(shí),執(zhí)行中斷處理。計(jì)數(shù)器220確認(rèn)第二時(shí)鐘信號(hào)的計(jì)數(shù)值是否達(dá)到了計(jì)數(shù)上限值。也就是說(shuō),計(jì)數(shù)器220確認(rèn)從第二時(shí)鐘信號(hào)的計(jì)數(shù)開(kāi)始或重新開(kāi)始起是否經(jīng)過(guò)了計(jì)數(shù)上限時(shí)間。在此,計(jì)數(shù)上限時(shí)間是進(jìn)行計(jì)數(shù)直到第二時(shí)鐘信號(hào)的計(jì)數(shù)值達(dá)到計(jì)數(shù)上限值為止的期間的時(shí)間,是利用(第二時(shí)鐘信號(hào)的周期)X (計(jì)數(shù)上限值)得到的。計(jì)數(shù)器220當(dāng)確認(rèn)出第二時(shí)鐘信號(hào)的計(jì)數(shù)值達(dá)到了計(jì)數(shù)上限值時(shí),產(chǎn)生CPU復(fù)位信號(hào),對(duì)CPU復(fù)位信號(hào)用觸發(fā)器電路240進(jìn)行設(shè)置。CPU復(fù)位信號(hào)用觸發(fā)器電路240將CPU復(fù)位信號(hào)波形整形為短脈寬的脈沖信號(hào)。被整形為脈沖信號(hào)的CPU復(fù)位信號(hào)被提供給CPU101。作為其它的實(shí)施例,在計(jì)數(shù)器220能夠以短脈寬的脈沖信號(hào)的形式產(chǎn)生CPU復(fù)位信號(hào)的情況下,計(jì)數(shù)器220不經(jīng)由CPU復(fù)位信號(hào)用觸發(fā)器電路240就能夠?qū)PU復(fù)位信號(hào)提供給CPU 101。CPU 101當(dāng)接收到CPU復(fù)位信號(hào)時(shí),執(zhí)行CPU復(fù)位處理。CPU復(fù)位信號(hào)用觸發(fā)器電路240在被設(shè)置之后立即通過(guò)計(jì)數(shù)器220等被復(fù)位。說(shuō)明通過(guò)接收到中斷請(qǐng)求信號(hào)而被執(zhí)行的中斷處理的執(zhí)行開(kāi)始至結(jié)束的時(shí)間(中斷處理的執(zhí)行時(shí)間)。在此,比較對(duì)象時(shí)間是比計(jì)數(shù)上限時(shí)間短的時(shí)間。而且,在從計(jì)數(shù)器220開(kāi)始或重新開(kāi)始第二時(shí)鐘信號(hào)的計(jì)數(shù)時(shí)、即計(jì)數(shù)開(kāi)始時(shí)起達(dá)到了比較對(duì)象時(shí)間時(shí)執(zhí)行中斷處理。在從該計(jì)數(shù)開(kāi)始時(shí)或重新開(kāi)始時(shí)起達(dá)到了計(jì)數(shù)上限時(shí)間時(shí)執(zhí)行CPU復(fù)位處理。而且,中斷處理需要在CPU復(fù)位處理執(zhí)行前結(jié)束。稍后記述其理由。因而,從計(jì)數(shù)上限時(shí)間減去比較對(duì)象時(shí)間得到的時(shí)間必須是比中斷處理的執(zhí)行時(shí)間長(zhǎng)的時(shí)間。具體來(lái)說(shuō),在執(zhí)行中斷處理所需的時(shí)間是50微秒的情況下,(計(jì)數(shù)上限時(shí)間)-(比較對(duì)象時(shí)間)需要比50微秒長(zhǎng)。因而,在計(jì)數(shù)上限時(shí)間是5毫秒的情況下,比較對(duì)象時(shí)間必須少于4950微秒。優(yōu)選將中斷處理的執(zhí)行時(shí)間設(shè)定為計(jì)數(shù)器220的上限時(shí)間的29Γ5%左右的時(shí)間。實(shí)施例2 計(jì)時(shí)計(jì)數(shù)器電路145還能夠具備附加計(jì)時(shí)器225。附加計(jì)時(shí)器225在中斷處理中通過(guò)CPU 101等開(kāi)始啟動(dòng)。附加計(jì)時(shí)器225用于在CPU復(fù)位信號(hào)產(chǎn)生時(shí)(在從計(jì)數(shù)開(kāi)始或重新開(kāi)始時(shí)起達(dá)到了計(jì)數(shù)上限時(shí)間時(shí))禁止CPU復(fù)位信號(hào)的產(chǎn)生。附加計(jì)時(shí)器225將用于禁止對(duì)CPU復(fù)位信號(hào)用觸發(fā)器電路240進(jìn)行設(shè)置的信號(hào)即CPU復(fù)位禁止信號(hào)提供給該觸發(fā)器電路240。作為其它的實(shí)施例,也能夠設(shè)為附加計(jì)時(shí)器225通過(guò)控制計(jì)數(shù)器220來(lái)禁止由計(jì)數(shù)器220產(chǎn)生CPU復(fù)位信號(hào)。第二實(shí)施例的微計(jì)算機(jī)100由于不是定期地執(zhí)行CPU復(fù)位處理,因此與第一實(shí)施例的微計(jì)算機(jī)100相比,能夠減輕對(duì)CPU 101等產(chǎn)生的負(fù)擔(dān)。圖3是表示第一實(shí)施例的微計(jì)算機(jī)100的動(dòng)作的流程圖。首先,對(duì)微計(jì)算機(jī)100接通電源(步驟305)。然后,在初始化處理中進(jìn)行微計(jì)算機(jī)100的初始化(步驟310)。在初始化處理結(jié)束之后,計(jì)數(shù)器220對(duì)被提供的時(shí)鐘信號(hào)進(jìn)行計(jì)數(shù)(步驟315)。比較器230判斷時(shí)鐘信號(hào)的計(jì)數(shù)值是否達(dá)到了比較對(duì)象值(步驟320)。在此,時(shí)鐘信號(hào)的計(jì)數(shù)值是計(jì)數(shù)器220對(duì)時(shí)鐘信號(hào)進(jìn)行計(jì)數(shù)得到的值。在時(shí)鐘信號(hào)的計(jì)數(shù)值未達(dá)到比較對(duì)象值的情況下,比較器230進(jìn)行待機(jī)直到時(shí)鐘信號(hào)的計(jì)數(shù)值變?yōu)楸容^對(duì)象值為止。在時(shí)鐘信號(hào)的計(jì)數(shù)值達(dá)到了比較對(duì)象值的情況下,比較器230產(chǎn)生中斷請(qǐng)求信號(hào)并提供給CPU 101 (步驟 325)。CPU 101當(dāng)接收到中斷請(qǐng)求信號(hào)時(shí),中斷正在執(zhí)行的應(yīng)用程序的處理,并且執(zhí)行中斷處理(步驟330)。稍后記述中斷處理。當(dāng)中斷處理結(jié)束時(shí),計(jì)數(shù)器220進(jìn)行待機(jī)直到時(shí)鐘信號(hào)的計(jì)數(shù)值達(dá)到計(jì)數(shù)上限值為止(步驟335)。在時(shí)鐘信號(hào)的計(jì)數(shù)值達(dá)到了計(jì)數(shù)上限值之后,計(jì)數(shù)器220產(chǎn)生CPU復(fù)位信號(hào)并提供給CPUlOl (步驟340)。并且,計(jì)數(shù)器220將時(shí)鐘信號(hào)的計(jì)數(shù)值清零,并且再次開(kāi)始時(shí)鐘信號(hào)的計(jì)數(shù)。CPU 101當(dāng)接收到CPU復(fù)位信號(hào)時(shí),執(zhí)行CPU復(fù)位處理(步驟345)。稍后記述CPU
復(fù)位處理。圖4是表示第二實(shí)施例的微計(jì)算機(jī)100的動(dòng)作的流程圖。圖4的流程圖的一部分與圖3的流程圖相同。圖4的步驟405、410、415、420、425、430、450、455及460分別相當(dāng)于圖 3 的步驟 305、310、315、320、325、330、335、340 及 345。圖4的流程圖相當(dāng)于在圖3的流程圖中追加該圖4的流程圖的步驟445、450及455得到的圖。下面,說(shuō)明圖3與圖4的不同點(diǎn)。CPU 101獲取CPU寄存器235的信息(步驟435)。CPU 101判斷所獲取的信息是否正常(步驟440)。能夠通過(guò)CPU寄存器235的值是否收斂于正常的范圍、或者是否為合適的值等來(lái)判斷CPU寄存器235的信息是否正常。在判斷為所獲取的信息不正常的情況下,執(zhí)行分別相當(dāng)于圖3的流程圖的步驟335,340及345的步驟450、455及460。在判斷為所獲取的信息正常的情況下,附加計(jì)時(shí)器225禁止CPU復(fù)位信號(hào)的產(chǎn)生(步驟445)。此外,還能夠使CPU 101啟動(dòng)附加計(jì)時(shí)器225。因而,在CPU 101中發(fā)生了致命錯(cuò)誤的情況下,由于附加計(jì)時(shí)器225不被啟動(dòng),因此附加計(jì)時(shí)器225無(wú)法禁止CPU復(fù)位信號(hào)的產(chǎn)生。由此,CPU復(fù)位信號(hào)被提供給CPU,從而CPU復(fù)位處理被執(zhí)行。作為附加計(jì)時(shí)器225不被啟動(dòng)時(shí)的例子,存在由于在CPU 101中發(fā)生了致命錯(cuò)誤而CPU 101不受理用于啟動(dòng)附加計(jì)時(shí)器225的處理即中斷處理的情況等。圖5是表示中斷處理的動(dòng)作的流程圖。通過(guò)CPU 101接收中斷請(qǐng)求信號(hào)來(lái)執(zhí)行中斷處理(參照?qǐng)D3的步驟325及330或者圖4的步驟425及430)。首先,CPU 101將中斷開(kāi)始時(shí)刻(應(yīng)用程序中斷時(shí)刻)的CPU寄存器235的信息保存到RAM 105中(步驟505)。然后,CPU 101判斷該中斷處理是否為正常的動(dòng)作(步驟510)。CPU 101通過(guò)確認(rèn)被保存在RAM 105中的特定的信息是否正確來(lái)判斷該中斷處理是否為正常的動(dòng)作。例如,在初始化處理中,CPU 101將一個(gè)或兩個(gè)以上的規(guī)定的值預(yù)先保存到RAM105中,然后,在中斷處理中,確認(rèn)該值是否未被變更。在此,在CPU 101正常地進(jìn)行動(dòng)作的情況下,這些規(guī)定的值在初始化處理以外的處理中不被變更,但是在CPU 101中發(fā)生了致命錯(cuò)誤的情況下,例如由于CPU 101的錯(cuò)誤動(dòng)作而有可能這些規(guī)定的值被變更。在規(guī)定的值被變更的情況下,意味著發(fā)生了致命錯(cuò)誤。另外,在前次的中斷處理中,CPU 101將該中斷處理開(kāi)始時(shí)刻的CPU寄存器235的信息作為恢復(fù)信息保存到RAM 105中,然后,在當(dāng)前執(zhí)行的中斷處理中,CPU 101將保存在RAM 105中的當(dāng)前的中斷處理開(kāi)始時(shí)刻的CPU寄存器235的信息與保存在RAM 105中的前次的中斷處理時(shí)刻的恢復(fù)信息進(jìn)行比較,判斷規(guī)定的數(shù)據(jù)是否正常。進(jìn)一步,CPU 101確認(rèn)規(guī)定的標(biāo)志是否為0N,來(lái)判斷規(guī)定的數(shù)據(jù)是否正常。作為規(guī)定的標(biāo)志的例子,能夠?qū)⒅袛嗵幚斫Y(jié)束標(biāo)志設(shè)置在RAM 105中。在中斷處理結(jié)束標(biāo)志為ON的情況下,CPU 101判斷為保存在RAM 105中的信息是正確的。在使用中斷處理結(jié)束標(biāo)志的情況下,CPU 101在步驟510之后將中斷處理結(jié)束標(biāo)志設(shè)為0FF,在中斷處理結(jié)束時(shí)恢復(fù)為0N。由此,在執(zhí)行前次的中斷處理的期間發(fā)生了致命錯(cuò)誤的情況下,由于在當(dāng)前的中斷處理時(shí)的步驟510中中斷處理結(jié)束標(biāo)志為0FF,因此CPU 101判斷為保存在RAM 105中的特定的信息不正確。并且,在前次的中斷處理中,CPU 101不僅能夠?qū)⑸鲜鯟PU寄存器235的信息和/或上述規(guī)定的標(biāo)志保存在RAM 105的區(qū)域的一個(gè)位置上,也能夠保存在兩個(gè)位置以上。然后,在當(dāng)前執(zhí)行的中斷處理中,CPU 101確認(rèn)被保存在RAM 105中的前次中斷處理時(shí)刻的上述兩個(gè)以上的CPU寄存器235的信息和/或上述兩個(gè)以上的規(guī)定的標(biāo)志是否分別相同。然后,在這些信息和/或標(biāo)志相同的情況下,CPU 101判斷為規(guī)定的數(shù)據(jù)是正常的。由此,能夠更正確地執(zhí)行規(guī)定的數(shù)據(jù)是否正常的判斷。作為一個(gè)實(shí)施例,還能夠?qū)⑺4娴纳鲜鲂畔⒒驑?biāo)志的數(shù)量設(shè)為三個(gè)。由此,即使這三個(gè)信息或標(biāo)志中的一個(gè)不同,CPU 101也能夠?qū)⑹S嗟膬蓚€(gè)信息或標(biāo)志作為正確的信息或標(biāo)志來(lái)使用。由此,即使RAM 105上的數(shù)據(jù)一部分被破損,CPU 101也能夠進(jìn)行規(guī)定的數(shù)據(jù)是否正常的判斷。關(guān)于這些判斷的實(shí)施例是個(gè)例示,也能夠通過(guò)其它的實(shí)施例同樣地進(jìn)行判斷。在判斷為中斷處理是正常的動(dòng)作的情況下,CPU 101判斷被保存在RAM 105中的中斷處理開(kāi)始時(shí)刻的CPU寄存器235的信息是否正常(步驟515)。能夠通過(guò)CPU寄存器235的信息的值是否收斂于正常的范圍、或者是否為合適的值來(lái)判斷中斷處理開(kāi)始時(shí)刻的 CPU寄存器235的信息是否正常。
在判斷為中斷處理開(kāi)始時(shí)刻的CPU寄存器235的信息正常的情況下,CPU 101將判斷為正常的CPU寄存器235的信息作為恢復(fù)信息保存到RAM 105的其它區(qū)域(步驟520)。作為其它的實(shí)施例,CPU 101能夠?qū)⒃谝郧暗闹袛嗵幚碇幸呀?jīng)保存在RAM105中的恢復(fù)信息復(fù)制到RAM 105的其它位置,并對(duì)恢復(fù)信息的歷史記錄進(jìn)行管理。并且,作為其它的實(shí)施例,在使用中斷處理結(jié)束標(biāo)志的情況下,將中斷處理結(jié)束標(biāo)志設(shè)為0N。在步驟510中判斷為中斷處理不是正常的動(dòng)作的情況下,CPU 101判斷被保存在 RAM 105中的信息是否正常(步驟525)。利用被保存在上述RAM 105中的特定的信息等來(lái)執(zhí)行步驟525的判斷。在步驟525中判斷為被保存在RAM 105中的信息不正常的情況下,進(jìn)行系統(tǒng)復(fù)位以將微計(jì)算機(jī)100整體復(fù)位(步驟530)。在進(jìn)行了系統(tǒng)復(fù)位之后,步驟530以后的處理被中止,微計(jì)算機(jī)100被初始化。在其它的實(shí)施例中,能夠在步驟530中不對(duì)輸入輸出端口125等不容易受到CPU的致命錯(cuò)誤的影響的要素進(jìn)行復(fù)位。在步驟515中判斷為被保存在RAM 105中的CPU寄存器235的信息不正常的情況下、或者在步驟525中判斷為中斷處理開(kāi)始時(shí)刻的CPU寄存器235的信息正常的情況下,CPU 101使用作為歷史記錄被保存在RAM 105中的恢復(fù)信息等,來(lái)進(jìn)行CPU寄存器235的信息的恢復(fù)處理(步驟535)。作為其它的實(shí)施例,能夠構(gòu)成為在步驟535之后執(zhí)行步驟510。作為恢復(fù)處理的一個(gè)實(shí)施例,CPU 101能夠使用作為歷史記錄被保存在RAM 105中的恢復(fù)信息來(lái)恢復(fù)CPU寄存器235。作為其它的實(shí)施例,還能夠構(gòu)成為中斷處理僅包括步驟505和步驟520。圖6是表示CPU復(fù)位處理的動(dòng)作的流程圖。通過(guò)CPU 101接收CPU復(fù)位信號(hào)來(lái)執(zhí)行CPU復(fù)位處理(參照?qǐng)D3的步驟340及345或圖4的步驟455及460)。首先,進(jìn)行CPU 101的復(fù)位(步驟610)。由此,CPU寄存器235的信息也被清空。作為用于執(zhí)行CPU復(fù)位處理(步驟345或步驟460)的觸發(fā)的CPU復(fù)位信號(hào)一定會(huì)周期性地從計(jì)時(shí)計(jì)數(shù)器提供。因此,即使中斷處理(步驟330或步驟430)不在CPU復(fù)位處理(步驟345或步驟460)之前執(zhí)行,CPU復(fù)位處理也會(huì)被執(zhí)行。因而,即使由于在CPU 101中發(fā)生了致命錯(cuò)誤而不執(zhí)行中斷處理,CPU復(fù)位處理也不依賴于中斷處理而被執(zhí)行。CPU 101將保存在RAM 105中的恢復(fù)信息復(fù)制到CPU寄存器235 (步驟615)。由此,CPU寄存器235的信息是在中斷處理中保存的信息(圖5的步驟520),因此在執(zhí)行中斷處理之前所執(zhí)行的應(yīng)用程序不會(huì)受到復(fù)位CPU 101所產(chǎn)生的影響,而再啟動(dòng)。作為其它的實(shí)施例,也可以構(gòu)成為CPU 101在將恢復(fù)信息復(fù)制到CPU寄存器235之前,檢查恢復(fù)信息是否為正常的值、或者恢復(fù)信息是否合適等。由此,在恢復(fù)信息不是正常或合適的值的情況下,能夠進(jìn)行系統(tǒng)復(fù)位等。另外,在CPU 101中發(fā)生了致命錯(cuò)誤之后該CPU 101被復(fù)位的情況下,通過(guò)步驟615的處理,用被保存在RAM 105中的恢復(fù)信息覆蓋CPU寄存器235的信息。因而,在恢復(fù)信息未受到由CPU 101中的致命錯(cuò)誤所引起的影響的情況下,即使在CPU 101中發(fā)生了致命錯(cuò)誤,本發(fā)明也能夠使CPU 101從致命錯(cuò)誤中恢復(fù)。在此,上述的、中斷處理需要在CPU復(fù)位處理執(zhí)行前結(jié)束的理由是在CPU 101中沒(méi)有發(fā)生致命錯(cuò)誤的情況下,為了在CPU復(fù)位處理的步驟615中將保存在RAM 105中的恢復(fù)信息復(fù)制到CPU寄存器235而需要將恢復(fù)信息預(yù)先保存在RAM 105中(參照?qǐng)D5的步驟520),中斷處理正常結(jié)束,CPU 101為了執(zhí)行CPU復(fù)位處理而需要進(jìn)入待機(jī)狀態(tài)。
作為其它的實(shí)施例,能夠在CPU寄存器235或RAM 105中保存可執(zhí)行CPU復(fù)位處理的標(biāo)志。例如在中斷處理中恢復(fù)信息被保存到RAM 105中時(shí),CPU 101將可執(zhí)行CPU復(fù)位處理的標(biāo)志設(shè)為0N。然后,僅在可執(zhí)行CPU復(fù)位處理的標(biāo)志為ON的情況下,執(zhí)行CPU復(fù)位處理,在CPU復(fù)位處理完成時(shí),CPU 101將可執(zhí)行CPU復(fù)位處理的標(biāo)志設(shè)為OFF。由此,能夠避免在CPU中發(fā)生致命錯(cuò)誤并在中斷處理中恢復(fù)信息不被更新到RAM 105的情況下在CPU復(fù)位處理中繼續(xù)使用在發(fā)生致命錯(cuò)誤之前所保存的恢復(fù)信息。在中斷處理中恢復(fù)信息不被更新到RAM 105的情況下,通過(guò)將微計(jì)算機(jī)100整體復(fù)位等的其它方法,能夠避免CPU 101的致命錯(cuò)誤。作為其它的實(shí)施例,CPU復(fù)位處理能夠包括以下步驟在CPU復(fù)位以后(步驟610以后),如果被保存在RAM 105中的恢復(fù)信息不正常,則使恢復(fù)信息恢復(fù)。在此,CPU 101能夠通過(guò)恢復(fù)信息的值是否收斂于正常的范圍、或者是否為合適的值等來(lái)判斷恢復(fù)信息是否正常。作為使恢復(fù)信息恢復(fù)的處理的例子,CPU 101能夠從保存在RAM 105中的恢復(fù)信息的歷史記錄中選擇正常的恢復(fù)信息,將所選擇的恢復(fù)信息復(fù)制到CPU寄存器235。作為又、一個(gè)其它的實(shí)施例,中斷處理能夠包括以下步驟在CPU復(fù)位以后(步驟610以后),如果無(wú)法使微計(jì)算機(jī)正常地進(jìn)行動(dòng)作,則進(jìn)行系統(tǒng)復(fù)位。在此,能夠通過(guò)由CPU101確認(rèn)被保存在RAM 105中的特定的信息是否正確來(lái)判斷是否能夠使微計(jì)算機(jī)正常地進(jìn)行動(dòng)作。在此,通過(guò)判斷僅在初始化處理中變更的特定的信息是否由于發(fā)生致命錯(cuò)誤而通過(guò)初始化處理以外的處理被變更,來(lái)判斷特定的信息是否正確。并且,能夠通過(guò)由CPU 101確認(rèn)作為歷史記錄被保存在RAM 105中的多個(gè)恢復(fù)信息中是否存在正常范圍或作為合適的值的恢復(fù)信息,來(lái)判斷是否能夠使微計(jì)算機(jī)正常地進(jìn)行動(dòng)作。在沒(méi)有正常范圍或作為合適的值的恢復(fù)信息的情況下,判斷為微計(jì)算機(jī)無(wú)法正常地進(jìn)行動(dòng)作。圖7是關(guān)于CPU 101正常地進(jìn)行動(dòng)作時(shí)的第一實(shí)施例(參照?qǐng)D3)的時(shí)序圖。該時(shí)序圖表示時(shí)間按照時(shí)刻TpTfTpT6的順序流逝的情形。狀態(tài)701、715以及730表示正在執(zhí)行應(yīng)用程序的處理。狀態(tài)705和720表示正在執(zhí)行中斷處理。狀態(tài)710和725表示正在執(zhí)行CPU復(fù)位處理。在時(shí)刻T1之前,正在執(zhí)行應(yīng)用程序的處理(狀態(tài)701)。在時(shí)刻T1, CPU 101接收到中斷請(qǐng)求信號(hào)。CPU 101以中斷請(qǐng)求信號(hào)的接收為觸發(fā)來(lái)中斷應(yīng)用程序的處理,開(kāi)始中斷處理(狀態(tài)705)。在中斷處理中,CPU 101將中斷處理開(kāi)始時(shí)刻的CPU寄存器235的信息作為恢復(fù)信息保存到RAM 105中。在時(shí)刻T2,中斷處理結(jié)束,CPU 101接收CPU復(fù)位信號(hào)。CPU 101以CPU復(fù)位信號(hào)的接收為觸發(fā),開(kāi)始CPU復(fù)位處理(狀態(tài)710)。在CPU復(fù)位處理中,在CPU 101被復(fù)位之后,CPU 101將保存在RAM 105中的恢復(fù)信息復(fù)制到CPU寄存器235。由此,在時(shí)刻T3, CPU101使被中斷的應(yīng)用程序從T1時(shí)刻的處理起再啟動(dòng)。在時(shí)刻T4、T5以及T6,與時(shí)刻 \、τ2以及T3同樣地執(zhí)行應(yīng)用程序的中斷、中斷處理以及CPU復(fù)位處理。圖8是關(guān)于在CPU 101中發(fā)生了致命錯(cuò)誤時(shí)的第一實(shí)施例(參照?qǐng)D3)的時(shí)序圖。在時(shí)刻Tp T2以及T3執(zhí)行應(yīng)用程序的處理、中斷處理以及CPU復(fù)位處理(狀態(tài)801、805以及810)。在狀態(tài)805的中斷處理中,CPU 101將時(shí)刻T1的作為CPU寄存器235的信息的恢復(fù)信息保存到RAM 105中。
假設(shè)在正執(zhí)行應(yīng)用程序的處理的(狀態(tài)815) T4在CPU 101中發(fā)生了致命錯(cuò)誤。由此,CPU 101無(wú)法正常地執(zhí)行處理,因此狀態(tài)820表示沒(méi)有執(zhí)行應(yīng)用程序的處理。并且,狀態(tài)825表示沒(méi)有執(zhí)行中斷處理。在時(shí)刻T6,CPU 101接收CPU復(fù)位信號(hào)。CPU 101以CPU復(fù)位信號(hào)的接收為觸發(fā)來(lái)開(kāi)始CPU復(fù)位處理(狀態(tài)830)。在CPU復(fù)位處理中,在CPU 101被復(fù)位之后,CPU 101將保存在RAM 105中的恢復(fù)信息復(fù)制到CPU寄存器235。由此,在時(shí)刻T7,CPU 101使被中斷的應(yīng)用程序從T1時(shí)刻的處理起再啟動(dòng)(狀態(tài)835)。圖9是關(guān)于在CPU 101中發(fā)生了致命錯(cuò)誤時(shí)的第二實(shí)施例(參照?qǐng)D4)的時(shí)序圖。在時(shí)刻Tp T2執(zhí)行應(yīng)用程序的處理、中斷處理(狀態(tài)901和905)。在狀態(tài)905的中斷處理中,CPU 101將時(shí)刻T1的作為CPU寄存器235的信息的恢復(fù)信息保存到RAM 105中。在時(shí)刻T2執(zhí)行禁止CPU復(fù)位信號(hào)的產(chǎn)生的處理(狀態(tài)910)。由此,不執(zhí)行CPU復(fù) 位處理。由于不執(zhí)行CPU復(fù)位處理,因此在中斷處理結(jié)束之后,在時(shí)刻T2再啟動(dòng)應(yīng)用程序的處理(狀態(tài)915)。假設(shè)在正執(zhí)行應(yīng)用程序的處理的(狀態(tài)915) T4在CPU 101中發(fā)生了致命錯(cuò)誤。由此,CPU 101無(wú)法正常地執(zhí)行處理,因此不執(zhí)行狀態(tài)920的應(yīng)用程序的處理以及狀態(tài)925的中斷處理,并且也不執(zhí)行在時(shí)刻T2曾執(zhí)行的禁止CPU復(fù)位信號(hào)的產(chǎn)生的處理。由于未執(zhí)行禁止CPU復(fù)位信號(hào)的產(chǎn)生的處理,因此在時(shí)刻T6CPU 101接收到CPU復(fù)位信號(hào)。CPU 101以CPU復(fù)位信號(hào)的接收為觸發(fā)來(lái)開(kāi)始CPU復(fù)位處理(狀態(tài)930)。在CPU復(fù)位處理中,在CPU 101被復(fù)位之后,CPU 101將保存在RAM 105中的恢復(fù)信息復(fù)制到CPU寄存器235中。由此,CPU 101在時(shí)刻T7時(shí)使被中斷的應(yīng)用程序從T1時(shí)刻的處理起再啟動(dòng)(狀態(tài)940)。根據(jù)本發(fā)明,在CPU中發(fā)生了所謂失控等致命錯(cuò)誤的情況下,不將微計(jì)算機(jī)整體進(jìn)行復(fù)位,而是僅將CPU進(jìn)行復(fù)位,由此,能夠使微計(jì)算機(jī)從致命錯(cuò)誤中恢復(fù)。由此,能夠更高速且簡(jiǎn)單地實(shí)現(xiàn)針對(duì)在產(chǎn)業(yè)界廣泛使用的嵌入用微計(jì)算機(jī)的CPU中發(fā)生的致命錯(cuò)誤的對(duì)策。在機(jī)械電子化、機(jī)器人、包括柏青哥和柏青嫂的游戲設(shè)備、汽車(chē)的發(fā)動(dòng)機(jī)控制、制動(dòng)器的控制、電梯的控制等領(lǐng)域中,微計(jì)算機(jī)中的CPU的致命錯(cuò)誤有可能引發(fā)事故、危險(xiǎn)乃至金錢(qián)的損失。因而,在這種領(lǐng)域中,通過(guò)使用本發(fā)明的微計(jì)算機(jī),能夠大幅減少事故、損失。附圖標(biāo)記說(shuō)明100 :微計(jì)算機(jī);101 :中央處理裝置(CPU) ;105:主存儲(chǔ)裝置(RAM) ;110 =ROM 115 :通信用電路;120 :通用計(jì)數(shù)計(jì)時(shí)器;125 :輸入輸出端口 ;130 :邏輯或電路(0R電路);135 :系統(tǒng)復(fù)位信號(hào)源;140 :時(shí)鐘產(chǎn)生電路;145 :計(jì)時(shí)計(jì)數(shù)器電路;150 :附加計(jì)時(shí)器;155 看門(mén)狗電路;160 :非法指令檢測(cè)電路及不正確外部訪問(wèn)檢測(cè)電路;165 :系統(tǒng)復(fù)位用總線;170 =CPU總線;210 :時(shí)鐘產(chǎn)生器;215 :分頻器;220 :計(jì)數(shù)器;225 :附加計(jì)時(shí)器;230 :比較器;235 =CPU寄存器;240 =CPU復(fù)位信號(hào)用觸發(fā)器電路;245 :中斷請(qǐng)求信號(hào)用觸發(fā)器電路250 :系統(tǒng)復(fù)位用觸發(fā)器電路;255 :寄存器。
權(quán)利要求
1.一種微計(jì)算機(jī),其特征在于,具備 CPU ; RAM,其通過(guò)CPU總線與上述CPU進(jìn)行連接; 中斷請(qǐng)求信號(hào)輸出單元,其將用于請(qǐng)求開(kāi)始執(zhí)行中斷處理的中斷請(qǐng)求信號(hào)輸出到上述CPU ;以及 CPU復(fù)位信號(hào)輸出單元,其在上述中斷請(qǐng)求信號(hào)輸出單元輸出上述中斷請(qǐng)求信號(hào)之后,將用于請(qǐng)求開(kāi)始CPU復(fù)位處理的CPU復(fù)位信號(hào)輸出到上述CPU, 其中,上述CPU當(dāng)接收到上述中斷請(qǐng)求信號(hào)時(shí),中斷在該CPU上正在執(zhí)行的應(yīng)用程序的處理,并且將該CPU的CPU寄存器的信息作為恢復(fù)信息保存到上述RAM中,然后,當(dāng)接收到上述CPU復(fù)位信號(hào)時(shí),該CPU被復(fù)位,并且將保存在該RAM中的該恢復(fù)信息復(fù)制到該CPU寄 存器。
2.根據(jù)權(quán)利要求I所述的微計(jì)算機(jī),其特征在于, 還具備計(jì)時(shí)計(jì)數(shù)器電路,該計(jì)時(shí)計(jì)數(shù)器電路周期性地產(chǎn)生上述CPU復(fù)位信號(hào)和上述中斷請(qǐng)求信號(hào)。
3.根據(jù)權(quán)利要求2所述的微計(jì)算機(jī),其特征在于, 上述計(jì)時(shí)計(jì)數(shù)器電路具備附加計(jì)時(shí)器, 上述CPU判斷上述CPU寄存器的信息是否正常,僅在判斷為上述CPU寄存器的信息正常的情況下,上述附加計(jì)時(shí)器進(jìn)行動(dòng)作,禁止在向上述CPU提供上述CPU復(fù)位信號(hào)的期間的上述CPU復(fù)位處理的執(zhí)行。
4.根據(jù)權(quán)利要求Γ3中的任一項(xiàng)所述的微計(jì)算機(jī),其特征在于, 還具備系統(tǒng)復(fù)位信號(hào)源和邏輯或電路,該系統(tǒng)復(fù)位信號(hào)源用于將微計(jì)算機(jī)整體復(fù)位,上述CPU復(fù)位信號(hào)輸出單元和上述系統(tǒng)復(fù)位信號(hào)源連接在上述邏輯或電路的輸入側(cè),上述CPU連接在上述邏輯或電路的輸出側(cè)。
5.一種微計(jì)算機(jī)的動(dòng)作方法,其包括以下步驟 將用于請(qǐng)求開(kāi)始執(zhí)行中斷處理的中斷請(qǐng)求信號(hào)從計(jì)時(shí)計(jì)數(shù)器電路輸出到CPU ; 上述CPU在接收到上述中斷請(qǐng)求信號(hào)時(shí),中斷在該CPU上正在執(zhí)行的應(yīng)用程序的處理; 由上述CPU將該CPU的CPU寄存器的信息作為恢復(fù)信息保存到RAM中; 在輸出上述中斷請(qǐng)求信號(hào)之后,將用于請(qǐng)求開(kāi)始CPU復(fù)位處理的CPU復(fù)位信號(hào)從上述計(jì)時(shí)計(jì)數(shù)器電路輸出到上述CPU ; 上述CPU在接收到上述CPU復(fù)位信號(hào)時(shí),將該CPU復(fù)位;以及 由上述CPU將保存在上述RAM中的上述恢復(fù)信息復(fù)制到上述CPU寄存器。
6.根據(jù)權(quán)利要求5所述的微計(jì)算機(jī)的動(dòng)作方法,其特征在于, 由上述計(jì)時(shí)計(jì)數(shù)器電路周期性地產(chǎn)生上述CPU復(fù)位信號(hào)和上述中斷請(qǐng)求信號(hào)。
7.根據(jù)權(quán)利要求6所述的微計(jì)算機(jī)的動(dòng)作方法,其特征在于,還包括以下步驟 由上述CPU判斷上述CPU寄存器的信息是否正常,僅在判斷為上述CPU寄存器的信息正常的情況下,在向上述CPU提供上述CPU復(fù)位信號(hào)的期間,禁止執(zhí)行將上述CPU復(fù)位的步驟。
全文摘要
本發(fā)明的目的在于,微計(jì)算機(jī)的CPU即使由于外部的噪聲、電源電壓的不穩(wěn)定、其它原因而不能執(zhí)行其程序從而發(fā)生所謂失控等致命錯(cuò)誤,也能夠在極短的時(shí)間內(nèi)恢復(fù)為初始的狀態(tài)而盡可能不進(jìn)行系統(tǒng)整體的初始化。在執(zhí)行普通的軟件處理的過(guò)程中,在任意的定時(shí)輸出中斷信號(hào)和復(fù)位信號(hào),在判斷為微計(jì)算機(jī)的CPU變?yōu)槭Э貭顟B(tài)時(shí),讀出作為恢復(fù)信息保存在RAM中的數(shù)據(jù),來(lái)使CPU恢復(fù)為失控前的狀態(tài)。由此,正在執(zhí)行的軟件在短時(shí)間內(nèi)從致命錯(cuò)誤中恢復(fù),因此如同沒(méi)有發(fā)生致命錯(cuò)誤那樣能夠繼續(xù)進(jìn)行軟件處理。
文檔編號(hào)G06F1/24GK102656568SQ20108005735
公開(kāi)日2012年9月5日 申請(qǐng)日期2010年10月15日 優(yōu)先權(quán)日2009年10月15日
發(fā)明者辰野功 申請(qǐng)人:株式會(huì)社雷捷電子科技
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
龙游县| 五大连池市| 墨竹工卡县| 祥云县| 嘉峪关市| 晋中市| 深水埗区| 长子县| 北海市| 镇康县| 含山县| 广宁县| 金昌市| 鱼台县| 江口县| 龙山县| 蒙阴县| 盖州市| 鄂伦春自治旗| 花垣县| 寿宁县| 陈巴尔虎旗| 长海县| 宣汉县| 长宁区| 龙门县| 苏尼特右旗| 盘山县| 徐水县| 分宜县| 南城县| 资兴市| 渝北区| 西昌市| 镇雄县| 韶关市| 黎平县| 鸡泽县| 新营市| 萝北县| 施秉县|