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

處理器動(dòng)作檢查系統(tǒng)及動(dòng)作檢查電路的制作方法

文檔序號(hào):6477514閱讀:125來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):處理器動(dòng)作檢查系統(tǒng)及動(dòng)作檢查電路的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及檢查處理器是否正在正常動(dòng)作的技術(shù)。
背景技術(shù)
以往,為了檢測(cè)微處理器的故障,使用看門(mén)狗定時(shí)器(WDT: watchdog timer)技術(shù)(例如,日本特開(kāi)2003 - 150280號(hào)公報(bào))??撮T(mén)狗定時(shí)器,當(dāng) 以預(yù)定的間隔從處理器發(fā)送的信號(hào)中斷時(shí),對(duì)處理器輸出復(fù)位脈沖。處理 器,當(dāng)接收到該復(fù)位脈沖時(shí),自身執(zhí)行復(fù)位來(lái)進(jìn)行功能的恢復(fù)。如此,使 用看門(mén)狗定時(shí)器技術(shù),能夠檢測(cè)到由于故障等引起處理器的處理停止的情 況。并且,能夠在這樣的情況下進(jìn)行恢復(fù)。
此外,作為不使用真實(shí)的電路而進(jìn)行測(cè)試(調(diào)試)的技術(shù),已知有虛 擬測(cè)試的技術(shù)(例如,日本特開(kāi)2005 - 32191號(hào)公報(bào))。虛擬測(cè)試是如下技 術(shù)使用由硬件描述語(yǔ)言(HDL: Hardware Description Language)模型 化了的測(cè)試對(duì)象程序的模型,不使用實(shí)機(jī)而通過(guò)計(jì)算機(jī)上的仿真來(lái)進(jìn)行測(cè) 試。
此外,也已知了如下技術(shù)代替將用于監(jiān)控FPGA (Field Programmable Gate Array:現(xiàn)場(chǎng)可編程門(mén)陣列)的內(nèi)置電路設(shè)為小^bf莫, 而在FPGA外部設(shè)置大規(guī)模的存儲(chǔ)器模塊,以高速傳送線來(lái)連結(jié)(日本特 開(kāi)2003-271412號(hào)公報(bào))。由此,能夠不用將電路規(guī)模作為課題而監(jiān)控 FPGA的動(dòng)作。
然而,在上述那樣的以往技術(shù)的情況下,會(huì)產(chǎn)生以下這樣的問(wèn)題。 首先,在如日本特開(kāi)2005 - 32191號(hào)公報(bào)所記栽的那樣使用虛擬測(cè)試 的技術(shù)中,不能檢查實(shí)機(jī)的動(dòng)作。此外,在如日本特開(kāi)2003 - 150280號(hào)公 報(bào)所記栽的那樣使用看門(mén)狗定時(shí)器的技術(shù)中,雖然能夠確認(rèn)處理器正在工 作,但不能確認(rèn)是否在正確地工作。
4關(guān)于處理器的異常動(dòng)作,有如下的原因。第一,程序的故障(缺陷), 處理器不按照規(guī)格進(jìn)行動(dòng)作。
第二,由存有惡意的第三者進(jìn)行程序的篡改。近年來(lái),作為處理器,
利用如FPGA等那樣可重構(gòu)處理器的情況變多。在FPGA中,能夠通過(guò)改 變電路信息(程序),從而改變處理器的動(dòng)作。因此,能夠通過(guò)在升級(jí)版本 等時(shí)提供新的程序,從而容易地改變其動(dòng)作。但是,存在從外部提供的程 序由第三者進(jìn)行改寫(xiě)的情況。在這樣的情況下,會(huì)進(jìn)行與制造者的意圖不 同的動(dòng)作。
第三,軟錯(cuò)誤(soft error )。軟錯(cuò)誤是由于高能量中子等的射線的影 響使保持于存儲(chǔ)器的數(shù)據(jù)發(fā)生反轉(zhuǎn)而引起的錯(cuò)誤。由于近年來(lái)的LSI設(shè)計(jì) 規(guī)則的微細(xì)化,使軟錯(cuò)誤的發(fā)生概率增加。雖然能夠通過(guò)使用帶有錯(cuò)誤修 正功能的存儲(chǔ)器進(jìn)行應(yīng)對(duì),但由于成本會(huì)增大,所以很難采用帶有錯(cuò)誤修 正功能的存儲(chǔ)器。

發(fā)明內(nèi)容
如此,處理器的異常動(dòng)作中,除僅僅處理器的處理停止以外,也存在 各種情況,需要對(duì)這些進(jìn)行檢測(cè)。
本發(fā)明是鑒于上述實(shí)際情況而做出的,其目的在于,提供一種能夠檢 查處理器是否正在正常動(dòng)作的技術(shù)。
為了達(dá)成上述目的,在本發(fā)明中,通過(guò)以下的單元或處理來(lái)進(jìn)行處理 器的動(dòng)作確i/v。
本發(fā)明是一種處理器動(dòng)作檢查系統(tǒng),其由處理器和對(duì)該處理器的動(dòng)作 進(jìn)行檢查的動(dòng)作檢查電路構(gòu)成。
處理器對(duì)存儲(chǔ)于存儲(chǔ)器的程序進(jìn)行解釋并執(zhí)行。程序轉(zhuǎn)變預(yù)先定義的 狀態(tài),并且執(zhí)行該處理。并且,處理器具有狀態(tài)切換信號(hào)輸出單元,該狀 態(tài)切換信號(hào)輸出單元在從一個(gè)狀態(tài)向其他的狀態(tài)轉(zhuǎn)變時(shí),將通知狀態(tài)的轉(zhuǎn) 變的狀態(tài)切換信號(hào)向動(dòng)作檢查電路輸出。此外,處理器具有狀態(tài)輸出單元, 該狀態(tài)輸出單元將通知當(dāng)前狀態(tài)的狀態(tài)信號(hào)向動(dòng)作檢查電路輸出。所謂"狀態(tài)"是在處理器上執(zhí)行的程序的狀態(tài),但在本說(shuō)明書(shū)中,也簡(jiǎn)單地表現(xiàn)為"處理器的狀態(tài)"。
在此,以怎樣的單位(粒度)來(lái)定義狀態(tài),能夠進(jìn)行適當(dāng)設(shè)計(jì)。狀態(tài)切換信號(hào)是表示狀態(tài)的轉(zhuǎn)變的預(yù)先定義的信號(hào)模式。如此,處理器在狀態(tài)轉(zhuǎn)變時(shí)將該轉(zhuǎn)變通知到動(dòng)作檢查電路,并且將當(dāng)前的狀態(tài)通知到動(dòng)作檢查電路。
動(dòng)作檢查電路具有狀態(tài)切換信號(hào)輸入單元、狀態(tài)信號(hào)輸入單元、狀態(tài)存儲(chǔ)單元、狀態(tài)算出單元和檢查單元。狀態(tài)切換信號(hào)輸入單元從處理器接受狀態(tài)切換信號(hào)的輸入。狀態(tài)信號(hào)輸入單元從處理器接受狀態(tài)信號(hào)的輸入。狀態(tài)存儲(chǔ)單元存儲(chǔ)處理器的狀態(tài)。狀態(tài)算出單元,根據(jù)存儲(chǔ)于狀態(tài)存儲(chǔ)單元的處理器的狀態(tài)和狀態(tài)切換信號(hào),算出處理器應(yīng)當(dāng)取得的新?tīng)顟B(tài)。狀態(tài)存儲(chǔ)單元和狀態(tài)算出單元是模擬狀態(tài)轉(zhuǎn)變的狀態(tài)機(jī),是根據(jù)處理器的規(guī)格來(lái)設(shè)計(jì)的。檢查單元,對(duì)由狀態(tài)算出單元算出的處理器應(yīng)當(dāng)取得的新?tīng)顟B(tài)、和經(jīng)由狀態(tài)信號(hào)輸入單元輸入的處理器的狀態(tài)進(jìn)行比較,檢查處理器的動(dòng)作。檢查單元,在由狀態(tài)算出單元算出的狀態(tài)與處理器的當(dāng)前動(dòng)作不同的情況下,判斷為處理器的動(dòng)作存在故障。
如此,能夠通過(guò)在動(dòng)作檢查電路中構(gòu)成狀態(tài)機(jī),逐次檢查狀態(tài)轉(zhuǎn)變,從而監(jiān)視處理器的舉動(dòng)。
檢查單元,在判定為處理器的動(dòng)作存在故障的情況下,可以對(duì)處理器通知處理器應(yīng)當(dāng)取得的新?tīng)顟B(tài)。并且,接受了該通知的處理器可以進(jìn)行從錯(cuò)誤的狀態(tài)向正常的狀態(tài)的恢復(fù)。
如此,如果進(jìn)行向從動(dòng)作檢查電路通知的正確的狀態(tài)的恢復(fù),則能夠與復(fù)位處理器相比而更迅速地進(jìn)行恢復(fù)。
此外,在處理器能夠執(zhí)行多個(gè)任務(wù)的情況下,本發(fā)明的處理器動(dòng)作檢查系統(tǒng)可以具有與多個(gè)任務(wù)的各個(gè)任務(wù)對(duì)應(yīng)的多個(gè)動(dòng)作檢查電路。在該情況下,處理器動(dòng)作檢查系統(tǒng)具有切換單元,該切換單元根據(jù)處理器正在執(zhí)行的任務(wù),對(duì)使用多個(gè)動(dòng)作檢查電路的哪個(gè)來(lái)檢查處理器的動(dòng)作進(jìn)行切換。
在處理器能夠執(zhí)行多個(gè)任務(wù)的多任務(wù)系統(tǒng)等的情況下,很難以一個(gè)動(dòng)作檢查電路來(lái)檢查全部任務(wù)的狀態(tài)轉(zhuǎn)變。于是,通過(guò)對(duì)每個(gè)任務(wù)都準(zhǔn)備動(dòng)
6作檢查電路,從而在執(zhí)行多個(gè)任務(wù)的情況下也能夠應(yīng)對(duì)。
此外,在處理器能夠執(zhí)行多個(gè)任務(wù)的情況下,還優(yōu)選如下設(shè)計(jì)由可重構(gòu)處理器來(lái)構(gòu)成動(dòng)作檢查電路,根據(jù)處理器正在執(zhí)行的任務(wù)對(duì)動(dòng)作檢查電路進(jìn)行重構(gòu)。具體而言,優(yōu)選如下設(shè)計(jì)本發(fā)明的處理器動(dòng)作檢查系統(tǒng)還具有電路信息存儲(chǔ)單元,其存儲(chǔ)與多個(gè)任務(wù)的各個(gè)任務(wù)對(duì)應(yīng)的動(dòng)作檢查電路的電路信息;和控制單元,其根據(jù)處理器正在執(zhí)行的任務(wù),將對(duì)應(yīng)于該任務(wù)的電路信息裝載到可重構(gòu)處理器。在可重構(gòu)處理器中,包括FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)。
通過(guò)這樣的構(gòu)成,能夠應(yīng)對(duì)執(zhí)行多個(gè)任務(wù)的處理器。此外,通過(guò)對(duì)可重構(gòu)處理器的程序進(jìn)行改寫(xiě)來(lái)應(yīng)對(duì)多個(gè)任務(wù),所以能夠削減芯片面積。
本發(fā)明也可以作為包括上述處理的至少一部分的處理器動(dòng)作檢查方法、或者用于實(shí)現(xiàn)相關(guān)方法的程序。此外,本發(fā)明能夠作為進(jìn)行上述處理器的動(dòng)作檢查的動(dòng)作檢查電路。上述各個(gè)單元以及處理,能夠在可能的范圍內(nèi)相互組合來(lái)構(gòu)成本發(fā)明。
例如,作為本發(fā)明的一種方式的動(dòng)作檢查電路,是檢查處理器的動(dòng)作的動(dòng)作檢查電路,其特征在于,具有狀態(tài)切換信號(hào)輸入單元,其接受從處理器輸出的、表示該處理器的狀態(tài)的轉(zhuǎn)變的狀態(tài)切換信號(hào)的輸入;狀態(tài)信號(hào)輸入單元,其接受從處理器輸出的、表示該處理器的當(dāng)前狀態(tài)的狀態(tài)信號(hào)的輸入;狀態(tài)存儲(chǔ)單元,其存儲(chǔ)處理器的狀態(tài);狀態(tài)算出單元,其根據(jù)存儲(chǔ)于狀態(tài)存儲(chǔ)單元的所述處理器的狀態(tài)、和所述狀態(tài)切換信號(hào),算出處理器應(yīng)當(dāng)取得的新?tīng)顟B(tài);以及檢查單元,其對(duì)由狀態(tài)算出單元算出的處理器應(yīng)當(dāng)取得的新?tīng)顟B(tài)、和經(jīng)由狀態(tài)信號(hào)輸入單元輸入的所述處理器的狀態(tài)進(jìn)行比較,檢查所迷處理器的動(dòng)作。
根據(jù)本發(fā)明,能夠檢查處理器是否正在正常動(dòng)作。


圖1A是表示第一實(shí)施方式的微處理器動(dòng)作檢查系統(tǒng)的概要構(gòu)成的圖,圖1B是表示在微處理器與動(dòng)作檢查電路之間交換的信號(hào)的圖。
圖2是表示第一實(shí)施方式的微處理器動(dòng)作檢查系統(tǒng)的概要構(gòu)成的圖。圖3是微處理器執(zhí)行的程序的狀態(tài)轉(zhuǎn)變圖。
圖4是將微處理器執(zhí)行的程序的狀態(tài)轉(zhuǎn)變表示在時(shí)序上的圖(柵狀圖)。
圖5是表示在第一實(shí)施方式的微處理器動(dòng)作檢查系統(tǒng)中的、從微處理器對(duì)動(dòng)作檢查電路的數(shù)據(jù)輸出和處理執(zhí)行的時(shí)間圖的圖。
圖6是表示第一實(shí)施方式的微處理器動(dòng)作檢查系統(tǒng)的動(dòng)作例的流程圖。
圖7是表示第二實(shí)施方式的微處理器動(dòng)作檢查系統(tǒng)中的動(dòng)作檢查電路的構(gòu)成的圖。
圖8是表示第二、三實(shí)施方式的微處理器動(dòng)作檢查系統(tǒng)中的、從微處理器對(duì)動(dòng)作檢查電路的數(shù)據(jù)輸出和處理執(zhí)行的時(shí)間圖的圖。
圖9是表示第三實(shí)施方式的微處理器動(dòng)作檢查系統(tǒng)中的動(dòng)作檢查電路的構(gòu)成的圖。
具體實(shí)施例方式
以下,按照附圖,對(duì)本發(fā)明的優(yōu)選實(shí)施方式進(jìn)行例示性地詳細(xì)說(shuō)明。(第一實(shí)施方式)<構(gòu)成>
圖1、2是表示第一實(shí)施方式的微處理器的動(dòng)作檢查電路的概要構(gòu)成的圖。圖1A表示微處理器1的構(gòu)成,圖1B表示在微處理器1與動(dòng)作檢查電路2之間交換的信號(hào)。微處理器l包括存儲(chǔ)器ll、 ALU(算術(shù)邏輯裝置)12、 PLL (相位同步電路)13、和數(shù)據(jù)總線14。圖2是表示動(dòng)作檢查電路2的構(gòu)成的圖。
在存儲(chǔ)器ll中裝載有程序,該程序由ALU12來(lái)執(zhí)行。在該程序中,預(yù)先定義了多個(gè)狀態(tài),能夠在程序中把握狀態(tài)的轉(zhuǎn)變。在圖2中,以狀態(tài)轉(zhuǎn)變圖和流程圖來(lái)示意性地示出了微處理器1的程序能夠取得狀態(tài)A-D的情況。實(shí)際上,當(dāng)然也能夠取得更多個(gè)數(shù)的狀態(tài)。
在此,定義怎樣的單位作為一個(gè)狀態(tài),可以是任意的。例如,能夠?qū)?br> 8從判定條件分支到判定下一個(gè)條件分支之間的處理例程群作為一個(gè)狀態(tài)進(jìn)行定義。另外,也可以將子例程、函數(shù)等作為一個(gè)狀態(tài)進(jìn)行定義。在此,對(duì)將條件分支語(yǔ)句之間的處理例程群作為一個(gè)狀態(tài)進(jìn)行定義的情況進(jìn)行說(shuō)明。
微處理器l,在狀態(tài)轉(zhuǎn)變時(shí),將狀態(tài)切換信號(hào)32供給到動(dòng)作檢查電路2。在本實(shí)施方式中,狀態(tài)切換信號(hào)32是將if-then語(yǔ)句等條件分支語(yǔ)句符號(hào)化了的數(shù)據(jù)。狀態(tài)切換信號(hào)32,只要是能夠通知狀態(tài)的轉(zhuǎn)變的數(shù)據(jù)(信號(hào)),無(wú)論怎樣的都可以。
微處理器1還將通知當(dāng)前狀態(tài)的狀態(tài)信號(hào)33供給到動(dòng)作檢查電路2。
通過(guò)寫(xiě)入到微處理器l的輸入輸出端口來(lái)進(jìn)行信號(hào)輸出。此外,通過(guò)讀取輸入輸出端口的信號(hào)來(lái)進(jìn)行信號(hào)輸入。也就是說(shuō),微處理器l和動(dòng)作檢查電路2的輸入輸出端口相當(dāng)于各種信號(hào)輸入單元、信號(hào)輸出單元。
動(dòng)作檢查電路2由FPGA這樣的可重構(gòu)的硬件構(gòu)成。在該FPGA上,安裝了模擬由微處理器l執(zhí)行的程序的電路作為狀態(tài)機(jī)。狀態(tài)機(jī)是時(shí)序電路,由組合邏輯電路21和狀態(tài)寄存器22構(gòu)成。狀態(tài)機(jī),參考應(yīng)用程序的規(guī)格書(shū)、程序的源代碼,使用用于安裝于FPGA的HDL (硬件描述語(yǔ)言)來(lái)設(shè)計(jì)。在狀態(tài)寄存器22中存儲(chǔ)有微處理器1的上一狀態(tài)。并且,在存儲(chǔ)于狀態(tài)寄存器22的數(shù)據(jù)和從微處理器1輸入的狀態(tài)切換信號(hào)32被輸入到組合邏輯電路21時(shí),產(chǎn)生新的狀態(tài),該新的狀態(tài)被存儲(chǔ)于狀態(tài)寄存器22。也就是說(shuō),組合邏輯電路21相當(dāng)于本發(fā)明的狀態(tài)算出單元,狀態(tài)寄存器22相當(dāng)于本發(fā)明的狀態(tài)存儲(chǔ)單元。
比較電路23相當(dāng)于本發(fā)明的檢查單元,對(duì)狀態(tài)寄存器22的值和從微處理器1輸入的狀態(tài)信號(hào)33進(jìn)行比較,判定其是否一致。在其一致的情況下,將通知微處理器l的狀態(tài)正常的意思的判定結(jié)果34通知到微處理器l。微處理器1,在作為判定結(jié)果接收到正常的情況下,執(zhí)行狀態(tài)的轉(zhuǎn)變來(lái)執(zhí)-f亍下一狀態(tài)。
反過(guò)來(lái),在狀態(tài)寄存器22的值與從微處理器1輸入的狀態(tài)信號(hào)33不一致的情況下,視作在微處理器1中存在故障。在該情況下,將通知微處
9理器1的狀態(tài)異常的意思的判定結(jié)果34通知到微處理器1。此外,因?yàn)槲⑻幚砥?原本應(yīng)當(dāng)取得的狀態(tài)被存儲(chǔ)于狀態(tài)寄存器22,所以將該正常的狀態(tài)作為正常狀態(tài)35對(duì)微處理器1進(jìn)行輸出。微處理器1參照該正常狀態(tài),嘗試從錯(cuò)誤的狀態(tài)向正常的狀態(tài)恢復(fù)。
圖3是表示微處理器1執(zhí)行的程序的狀態(tài)的轉(zhuǎn)變的一例的狀態(tài)轉(zhuǎn)變圖。圖4是將圖3的狀態(tài)轉(zhuǎn)變表示在了時(shí)序上的圖(柵狀圖)。在該例中,作為能夠取得的狀態(tài)定義有四個(gè)狀態(tài)A D,也確定了在這些狀態(tài)之間的轉(zhuǎn)變。例如,從狀態(tài)A〗義向狀態(tài)A或狀態(tài)B進(jìn)4于轉(zhuǎn)變,從狀態(tài)Bl又向狀態(tài)C或狀態(tài)D進(jìn)行轉(zhuǎn)變。在此,各轉(zhuǎn)變以Ij來(lái)表示。
如此,微處理器l的狀態(tài)是根據(jù)程序的規(guī)格書(shū)等而預(yù)先確定的,所以只要進(jìn)行正常的動(dòng)作,就不會(huì)發(fā)生圖3中如虛線所示的從狀態(tài)D向狀態(tài)C的轉(zhuǎn)變。因此,如果發(fā)生了這樣的沒(méi)有預(yù)想到的狀態(tài),則可知在微處理器l中發(fā)生了故障。此外,例如,可知在狀態(tài)B下盡管發(fā)生了轉(zhuǎn)變I3但狀態(tài)從B轉(zhuǎn)變到了 C的情況(正確的是,應(yīng)當(dāng)轉(zhuǎn)變到狀態(tài)D)也同樣地,在微處理器l中發(fā)生了故障。
圖5是表示從微處理器1對(duì)動(dòng)作檢查電路2的數(shù)據(jù)輸出和處理執(zhí)行的時(shí)間圖的圖。微處理器l,在切換狀態(tài)時(shí),將轉(zhuǎn)變Ij、和下一狀態(tài)sj作為狀態(tài)切換信號(hào)輸出到動(dòng)作檢查電路2,然后開(kāi)始新的狀態(tài)(sj)的處理。圖5是孩t處理器1的狀態(tài)轉(zhuǎn)變?yōu)锳-B-C的情況的例子,在狀態(tài)A的處理結(jié)束后,將表示從狀態(tài)A向B轉(zhuǎn)變的I2作為狀態(tài)切換信號(hào)進(jìn)行輸出,在轉(zhuǎn)變到狀態(tài)B時(shí)輸出表示狀態(tài)B的狀態(tài)信號(hào)。從狀態(tài)B向C轉(zhuǎn)變時(shí)也同樣。
<處理流程>
圖6是表示本實(shí)施方式的處理器動(dòng)作檢查系統(tǒng)的動(dòng)作例的流程圖。首先,當(dāng)投入電源時(shí),進(jìn)行微處理器1和動(dòng)作檢查電路2的初始化處理(S01 )。接下來(lái),動(dòng)作檢查電路2從微處理器1接受狀態(tài)切換信號(hào)32的輸入(S02 )。組合邏輯電路21,根據(jù)狀態(tài)寄存器22的當(dāng)前內(nèi)容和輸入的狀態(tài)切換信號(hào)來(lái)求得新的狀態(tài),并將其存儲(chǔ)于狀態(tài)寄存器22 ( S03 )。此外,動(dòng)作檢查電路2從微處理器1接受狀態(tài)信號(hào)33的輸入(S04 )。并且,通過(guò)比較電路23,對(duì)狀態(tài)機(jī)的狀態(tài)寄存器22的內(nèi)容與輸入的微處理器1的狀態(tài)(狀態(tài)信號(hào)33 )進(jìn)行比較(S05 )。判定這兩個(gè)狀態(tài)是否一致(S06),在一致的情況下(S06:是),可知微處理器1的狀態(tài)正常。動(dòng)作檢查電路2,將判定結(jié)果34輸出到微處理器1,返回步驟S02來(lái)繼續(xù)進(jìn)行檢查。
另 一方面,在狀態(tài)機(jī)的狀態(tài)寄存器22的內(nèi)容與輸入的微處理器1的狀態(tài)不一致的情況下(S06:否),可知微處理器l異常。動(dòng)作檢查電路2,將判定結(jié)果34輸出到微處理器1,并且將存儲(chǔ)于狀態(tài)寄存器22的狀態(tài)作為正常的狀態(tài)輸出到微處理器1 (S07)。接收到該狀態(tài)的微處理器1,對(duì)寄存器內(nèi)容進(jìn)行解釋?zhuān)M(jìn)行程序計(jì)數(shù)器的修正,嘗試向正常的狀態(tài)恢復(fù)。在此,在不能由程序計(jì)數(shù)器的修正進(jìn)行恢復(fù)的情況下,可以進(jìn)行復(fù)位。
如此一來(lái),能夠使用動(dòng)作檢查電路2來(lái)檢查微處理器1的動(dòng)作。
<實(shí)施方式的作用/效果>
根據(jù)本實(shí)施方式的微處理器的動(dòng)作檢查系統(tǒng),通過(guò)由動(dòng)作檢查電路的狀態(tài)機(jī)來(lái)模擬微處理器的程序的狀態(tài)轉(zhuǎn)變,能夠檢測(cè)由故障、軟錯(cuò)誤的影響引起的異常。此外,此時(shí),通過(guò)將正確的狀態(tài)從動(dòng)作檢查電路通知到微處理器,也能夠?qū)⑽⑻幚砥鞯臓顟B(tài)返回到正確的狀態(tài)。這具有與通過(guò)復(fù)位信號(hào)進(jìn)行恢復(fù)相比更快地進(jìn)行恢復(fù)這樣的優(yōu)點(diǎn)。(第二實(shí)施方式)
圖7是表示圖2的實(shí)施方式的動(dòng)作檢查系統(tǒng)的動(dòng)作檢查電路2的構(gòu)成的圖。在本實(shí)施方式中,設(shè)為微處理器l是處理多任務(wù)的處理器。如圖所示,根據(jù)多個(gè)任務(wù),安裝了狀態(tài)機(jī)2a~c。在此,安裝了三個(gè)狀態(tài)機(jī),但無(wú)論其個(gè)數(shù)是幾個(gè)都沒(méi)有關(guān)系。
圖8是表示從對(duì)應(yīng)于多任務(wù)的微處理器1向動(dòng)作檢查電路2的數(shù)據(jù)輸出和處理執(zhí)行的時(shí)間圖的圖。該時(shí)間圖,在執(zhí)行一個(gè)任務(wù)的期間,與第一實(shí)施方式(圖5)基本相同。但是,在切換執(zhí)行的任務(wù)時(shí),輸出任務(wù)編號(hào)(Ti)這一點(diǎn)不同。
微處理器1是能夠處理多任務(wù)的處理器,該處理器能夠切換多個(gè)任務(wù)并進(jìn)行處理。微處理器1,除了上述第一實(shí)施方式中說(shuō)明的信號(hào)以外,還
將通知當(dāng)前正在執(zhí)行的任務(wù)的任務(wù)編號(hào)36向動(dòng)作檢查電路2輸出。該任務(wù) 編號(hào)輸入被輸入到動(dòng)作檢查電路2的解碼器24、多路復(fù)用器(MUX) 25、 26。此外,上述笫一實(shí)施方式中說(shuō)明的信號(hào)(狀態(tài)切換信號(hào)32、狀態(tài)輸入 信號(hào)33、時(shí)鐘脈沖31)被輸入到各狀態(tài)機(jī)2a ~ 2c。
解碼器24,根據(jù)微處理器1正在執(zhí)行的任務(wù),決定使用哪個(gè)狀態(tài)機(jī)來(lái) 進(jìn)行檢查。多路復(fù)用器25,根據(jù)正在執(zhí)行的任務(wù)編號(hào),在各狀態(tài)機(jī)判定出 的判定輸出之中,決定將哪個(gè)判定輸出作為判定結(jié)果輸出34進(jìn)行輸出。多 路復(fù)用器26,根據(jù)正在執(zhí)行的任務(wù)編號(hào),在各狀態(tài)機(jī)判定出的正常狀態(tài)之 中,決定將哪個(gè)正常狀態(tài)作為正常狀態(tài)輸出35進(jìn)行輸出。如此,由解碼器 24以及多路復(fù)用器25、 26,對(duì)使用哪個(gè)狀態(tài)機(jī)來(lái)檢查微處理器1的動(dòng)作進(jìn) 行切換。也就是說(shuō),解碼器24以及多路復(fù)用器25、 26相當(dāng)于本發(fā)明的切 換單元。
根據(jù)本實(shí)施方式的動(dòng)作檢查系統(tǒng),在微處理器進(jìn)行多任務(wù)處理的情況 下,能夠追蹤各任務(wù)的狀態(tài)轉(zhuǎn)變,進(jìn)行微處理器的動(dòng)作檢查。 (第三實(shí)施方式)
圖9是表示第三實(shí)施方式的動(dòng)作檢查系統(tǒng)的動(dòng)作檢查電路2的構(gòu)成的 圖。本實(shí)施方式,也與上述第二實(shí)施方式同樣,設(shè)為微處理器l是處理多 任務(wù)的處理器。在本實(shí)施方式中,僅使用一個(gè)狀態(tài)機(jī)。通過(guò)FPGA這樣的 可重構(gòu)處理器來(lái)安裝狀態(tài)機(jī),根據(jù)微處理器1正在執(zhí)行的任務(wù),對(duì)FPGA 進(jìn)行重構(gòu)來(lái)檢查微處理器1的動(dòng)作。
在配置數(shù)據(jù)存儲(chǔ)器(configuration data memory) 28中,存儲(chǔ)有用于 在FPGA上構(gòu)成與微處理器1執(zhí)行的各任務(wù)相應(yīng)的狀態(tài)機(jī)的電路信息(配 置數(shù)據(jù)),
控制電路27根據(jù)任務(wù)編號(hào)輸入來(lái)判斷微處理器1執(zhí)行的任務(wù)進(jìn)行了切 換的情況。當(dāng)切換任務(wù)時(shí),將與切換到的任務(wù)對(duì)應(yīng)的電路信息從配置數(shù)據(jù) 存儲(chǔ)器28裝載到FPGA。
寄存器數(shù)據(jù)退避用數(shù)據(jù)存儲(chǔ)器29存儲(chǔ)狀態(tài)寄存器22的值。也就是說(shuō),
12用于退避存儲(chǔ)切換微處理器1的執(zhí)行數(shù)據(jù)而改寫(xiě)了狀態(tài)機(jī)時(shí)的狀態(tài)寄存器
22的值。此外,在控制電路27改寫(xiě)FPGA時(shí),恢復(fù)退避存儲(chǔ)于寄存器數(shù) 據(jù)退避用數(shù)據(jù)存儲(chǔ)器29的狀態(tài)寄存器22的值。
如此,能夠以一個(gè)FPGA來(lái)安裝狀態(tài)機(jī),所以能夠減小必要的電路面積。
(變形例)
使用在上述的實(shí)施方式中說(shuō)明的動(dòng)作檢查系統(tǒng),能夠測(cè)定微處理器1 的性能(performance )。在該情況下,動(dòng)作檢查電路2具備計(jì)測(cè)各狀態(tài)的 處理時(shí)間的處理時(shí)間計(jì)數(shù)器(處理時(shí)間計(jì)測(cè)單元)。處理時(shí)間計(jì)數(shù)器,在追 蹤微處理器1的狀態(tài)轉(zhuǎn)變時(shí),通過(guò)時(shí)鐘脈沖的計(jì)數(shù)來(lái)計(jì)測(cè)各狀態(tài)的停滯時(shí) 間,測(cè)定各狀態(tài)下執(zhí)行的處理的運(yùn)算時(shí)間。并且,將實(shí)測(cè)到的處理時(shí)間數(shù) 據(jù)反饋到微處理器1,能夠通過(guò)進(jìn)行控制來(lái)保持實(shí)時(shí)性能。
權(quán)利要求
1.一種處理器動(dòng)作檢查系統(tǒng),該處理器動(dòng)作檢查系統(tǒng)由處理器和檢查該處理器的動(dòng)作的動(dòng)作檢查電路構(gòu)成,其特征在于,所述處理器具有狀態(tài)切換信號(hào)輸出單元,其在從預(yù)先定義的一個(gè)狀態(tài)向其他的狀態(tài)轉(zhuǎn)變時(shí),將表示狀態(tài)的轉(zhuǎn)變的狀態(tài)切換信號(hào)向所述動(dòng)作檢查電路輸出;和狀態(tài)輸出單元,其將表示當(dāng)前的狀態(tài)的狀態(tài)信號(hào)向所述動(dòng)作檢查電路輸出,所述動(dòng)作檢查電路具有狀態(tài)切換信號(hào)輸入單元,其接受所述狀態(tài)切換信號(hào)的輸入;狀態(tài)信號(hào)輸入單元,其接受所述狀態(tài)信號(hào)的輸入;狀態(tài)存儲(chǔ)單元,其存儲(chǔ)所述處理器的狀態(tài);狀態(tài)算出單元,其根據(jù)存儲(chǔ)于所述狀態(tài)存儲(chǔ)單元的所述處理器的狀態(tài)、和所述狀態(tài)切換信號(hào),算出所述處理器應(yīng)當(dāng)取得的新?tīng)顟B(tài);以及檢查單元,其對(duì)由所述狀態(tài)算出單元算出的所述處理器應(yīng)當(dāng)取得的新?tīng)顟B(tài)、和經(jīng)由所述狀態(tài)信號(hào)輸入單元輸入的所述處理器的狀態(tài)進(jìn)行比較,檢查所述處理器的動(dòng)作。
2. 根椐權(quán)利要求l所述的處理器動(dòng)作檢查系統(tǒng),其特征在于, 所述處理器能夠執(zhí)行多個(gè)任務(wù),所述處理器動(dòng)作檢查系統(tǒng)具有與所述多個(gè)任務(wù)的各個(gè)對(duì)應(yīng)的多個(gè)動(dòng)作 檢查電路,所述處理器動(dòng)作檢查系統(tǒng)還具有切換單元,該切換單元根據(jù)所述處理 器正在執(zhí)行的任務(wù),對(duì)使用所述多個(gè)動(dòng)作檢查電路的哪個(gè)來(lái)檢查所述處理 器的動(dòng)作進(jìn)行切換。
3. 根據(jù)權(quán)利要求l所述的處理器動(dòng)作檢查系統(tǒng),其特征在于, 所述處理器能夠執(zhí)行多個(gè)任務(wù), 所述動(dòng)作檢查電路由可重構(gòu)處理器構(gòu)成, 所述動(dòng)作檢查電路還具有電路信息存儲(chǔ)單元,其存儲(chǔ)與所述多個(gè)任務(wù)的各個(gè)對(duì)應(yīng)的所述動(dòng)作檢查電路的電路信息;和控制單元,其4艮據(jù)所述處理器正在執(zhí)行的任務(wù),將對(duì)應(yīng)于該任務(wù)的電 路信息裝載到所述可重構(gòu)處理器。
4. 一種動(dòng)作檢查電路,該動(dòng)作檢查電路檢查處理器的動(dòng)作,其特征在 于,具有狀態(tài)切換信號(hào)輸入單元,其接受從所述處理器輸出的、表示該處理器 的狀態(tài)的轉(zhuǎn)變的狀態(tài)切換信號(hào)的輸入;狀態(tài)信號(hào)輸入單元,其接受從所述處理器輸出的、表示該處理器的當(dāng) 前的狀態(tài)的狀態(tài)信號(hào)的輸入;狀態(tài)存儲(chǔ)單元,其存儲(chǔ)所述處理器的狀態(tài);狀態(tài)算出單元,其根據(jù)存儲(chǔ)于所述狀態(tài)存儲(chǔ)單元的所述處理器的狀態(tài)、 和所述狀態(tài)切換信號(hào),算出所述處理器應(yīng)當(dāng)取得的新?tīng)顟B(tài);以及檢查單元,其對(duì)由所述狀態(tài)算出單元算出的所述處理器應(yīng)當(dāng)取得的新 狀態(tài)、和經(jīng)由所述狀態(tài)信號(hào)輸入單元輸入的所述處理器的狀態(tài)進(jìn)行比較, 檢查所述處理器的動(dòng)作。
5. 根據(jù)權(quán)利要求4所述的動(dòng)作檢查電路,其特征在于, 所述處理器能夠執(zhí)行多個(gè)任務(wù), 所述動(dòng)作檢查電路由可重構(gòu)處理器構(gòu)成, 所述動(dòng)作檢查電路還具有電路信息存儲(chǔ)單元,其存儲(chǔ)與所述多個(gè)任務(wù)的各個(gè)對(duì)應(yīng)的所述動(dòng)作檢 查電路的電路信息;和控制單元,其根據(jù)所述處理器正在執(zhí)行的任務(wù),將對(duì)應(yīng)于該任務(wù)的電路信息裝載到所述可重構(gòu)處理器。
全文摘要
一種處理器動(dòng)作檢查系統(tǒng),該處理器動(dòng)作檢查系統(tǒng)由處理器1和對(duì)該處理器1的動(dòng)作進(jìn)行檢查的動(dòng)作檢查電路2構(gòu)成,在正在執(zhí)行的程序從預(yù)先定義的一個(gè)狀態(tài)向其他的狀態(tài)轉(zhuǎn)變時(shí),處理器1將表示狀態(tài)的轉(zhuǎn)變的狀態(tài)切換信號(hào)32輸出到動(dòng)作檢查電路2,還將表示當(dāng)前狀態(tài)的狀態(tài)信號(hào)33輸出到動(dòng)作檢查電路2。動(dòng)作檢查電路具有狀態(tài)寄存器22,其存儲(chǔ)處理器1的狀態(tài);組合邏輯電路21,其根據(jù)存儲(chǔ)的處理器1的狀態(tài)以及狀態(tài)切換信號(hào)32來(lái)算出處理器1應(yīng)當(dāng)取得的新?tīng)顟B(tài);以及比較電路,其對(duì)算出的處理器1應(yīng)當(dāng)取得的新?tīng)顟B(tài)與作為狀態(tài)信號(hào)33而輸入的處理器1的狀態(tài)進(jìn)行比較,檢查處理器1的動(dòng)作。
文檔編號(hào)G06F11/28GK101681287SQ20088001985
公開(kāi)日2010年3月24日 申請(qǐng)日期2008年6月13日 優(yōu)先權(quán)日2007年6月13日
發(fā)明者本多真 申請(qǐng)人:株式會(huì)社豐田It開(kāi)發(fā)中心;豐田自動(dòng)車(chē)株式會(huì)社
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
清河县| 墨竹工卡县| 德令哈市| 大港区| 温宿县| 泰兴市| 济南市| 博乐市| 宁陕县| 陇川县| 桦川县| 安远县| 井研县| 高碑店市| 美姑县| 平安县| 陵川县| 库尔勒市| 新宁县| 广宁县| 巴南区| 兰溪市| 巴里| 莲花县| 芷江| 淮滨县| 鄯善县| 哈巴河县| 葵青区| 文安县| 东乌珠穆沁旗| 阿图什市| 龙山县| 阿拉善右旗| 福州市| 临颍县| 茶陵县| 息烽县| 长沙市| 兖州市| 揭西县|