專利名稱:一種使cpu程序計數器抗干擾的設計方法
技術領域:
本發(fā)明涉及一種使計算機CPU具有抗干擾能力的設計方法,尤其涉及一種使程序計數器抗干擾的設計方法。
計算機控制系統(tǒng)的抗干擾是其軟、硬件設計中必須考慮的重要問題,而程序計數器PC的抗干擾俗稱“程序跑飛”又是設計中特別主要的問題之一?,F(xiàn)有技術中,解決“程序跑飛”的常用且有效的方法是設置“Watchdog”監(jiān)視器,它能在程序受干擾、進入死循環(huán)或硬件故障時使系統(tǒng)復位,從而使系統(tǒng)恢復正常。但使用這種方法存在如下缺陷1、由于它允許“程序跑飛”一個“固定的時間”,即“Watchdog”監(jiān)視器的溢出或延時時間,而有些系統(tǒng)中這是不允許的,因此不能及時發(fā)現(xiàn)CPU故障;2、當程序較為復雜時,軟件中不易確定設置清除“Watchdog”指令的位置,即沒有一定的規(guī)律可循;3、當進入死循環(huán),而該循環(huán)中又有“Watchdog”的清除指令時,它就無法起到作用;4、在復雜的大型計算機系統(tǒng)中使用較為困難,只適用于小型控制系統(tǒng),而無法擴大其應用范圍。
針對以上問題本發(fā)明的目的在于提供一種可實現(xiàn)計算機運行的實時監(jiān)測,使計算機CPU中程序計數器能及時、有效地抗干擾的設計方法。該方法設計出的計算機CPU控制系統(tǒng),可立即發(fā)現(xiàn)干擾,并使系統(tǒng)復位,恢復正常。
為實現(xiàn)上述目的本發(fā)明是以如下技術方式實現(xiàn)的它包括硬件中程序存儲器PRM、程序計數器PC和軟件中程序指令的設置,在硬件設置中增設程序計數器PC的監(jiān)視計數器PCMC、路標寄存器DR,在所述軟件設置中設有復位指令,在程序傳統(tǒng)指令后增設路標字節(jié),所述路標字節(jié)從第一條指令起按次序循環(huán)編寫,同時在傳統(tǒng)的取指時序后增加取路標字節(jié)存于路標寄存器DR的操作,并使所述監(jiān)視計數器PCMC與路標寄存器DR中的內容相對應設置,CPU工作時,先對監(jiān)視計數器PCMC與路標寄存器DR中的內容進行比較,若相同為正常,此時CPU執(zhí)行取回的指令,并使監(jiān)視計數器PCMC每執(zhí)行一條指令后,其內容自動加1;若不相同,表明程序計數器PC受到干擾,這時讓CPU廢除已取回的指令,同時產生復位信號。
上述路標字節(jié)寫入程序存儲器PROM中,系統(tǒng)復位時將程序計數器PC設置為起始地址,監(jiān)視計數器PCMC設置為00H,讓計算機CPU運行時根據程序計數器PC的地址去程序存儲器PROM中取指令,同時將程序存儲器PROM中的路標字節(jié)送入路標寄存器DR中。
中斷響應和調用子程序時,將所述監(jiān)視計數器PCMC中的值壓棧,同時將其清零,在中斷服務或子程序中,所述路標字節(jié)從00H開始編寫,返回時將監(jiān)視計數器PCMC中的值彈回。
本發(fā)明與現(xiàn)有技術相比,改變了傳統(tǒng)的CPU取指方式,增設了程序計數器PC的監(jiān)視計數器PCMC,并配合軟件的編制規(guī)則,實現(xiàn)計算機運行的實時監(jiān)測,即可在程序計數器PC受到干擾而未執(zhí)行錯誤指令前,終止程序的運行,也就是一旦出現(xiàn)干擾,便可立即發(fā)現(xiàn),使系統(tǒng)復位,恢復正常;軟件程序設計中,在傳統(tǒng)的指令后增設路標字節(jié),既方便又有規(guī)律,并對現(xiàn)有計算機語言具有通用性,因此,本發(fā)明能夠大大提高計算機CPU中程序計數器的抗干擾能力,從而提高CPU的可靠性和安全性。
下面對本發(fā)明作進一步的詳細說明本發(fā)明包括硬件中程序存儲器PROM、程序計數器PC和軟件中程序指令的設置,硬件設置中增設程序計數器PC的監(jiān)視計數器PCMC、路標寄存器DR,軟件設置中設有復位指令,在程序傳統(tǒng)指令后增設路標字節(jié),路標字節(jié)從第一指令起按次序由00H到FFH循環(huán)編寫,并寫入程序存儲器中,同時在傳統(tǒng)的取指時序后增加取路標字節(jié)存于路標寄存器DR的操作,并使監(jiān)視計數器PCMC與路標寄存器DR中的內容相對應設置。
系統(tǒng)復位時,將程序計數器PC設置為起始地址,監(jiān)視計數器PCMC設置為00H,讓計算機CPU運行時根據程序計數器PC的地址去程序存儲器中取指令,同時將程序存儲器PROM中的路標字節(jié)送入路標寄存器DR中;然后對監(jiān)視計數器PCMC與路標寄存器DR中的內容進行比較,若相同為正常,此時CPU執(zhí)行取回的指令,并使監(jiān)視計數器PCMC每執(zhí)行一條指令后,其內容自動加1;若不相同,表明程序計數器PC受到干擾,這時讓CPU廢除已取回的指令,同時產生復位信號,使系統(tǒng)恢復正常。另外,監(jiān)視計數器PCMC和路標寄存器DR位數與CPU位數相匹配,為提高可靠性可增加其字節(jié)長度。
中斷響應和調用子程序時,將監(jiān)視計數器PCMC中的值壓棧,同時將其清零,在中斷服務或子程序中路標字節(jié)從00H開始編寫,返回時將監(jiān)視計數器PCMC中的值彈回。
執(zhí)行轉移類指令時,為敘述方便以短跳指令SJMP為例,該指令應具有如下格式SJMP a,b,c這里a偏移量;b跳轉后PCMC的修正值,以便在跳轉后與下一指令的路標字節(jié)匹配;c本指令的路標字節(jié);即對轉移類指令增加b、c兩個字節(jié)即可。
用本方法設計出的CPU,抗干擾能力大大增強,可廣泛適用于大、中、小型計算機控制系統(tǒng)。
權利要求
1.一種使CPU程序計數器抗干擾的設計方法,它包括硬件中程序存儲器PROM、程序計數器PC和軟件中程序指令的設置,其特征在于所述硬件設置中增設程序計數器PC的監(jiān)視計數器PCMC、路標寄存器DR,在所述軟件設置中設有復位指令,在程序傳統(tǒng)指令后增設路標字節(jié),所述路標字節(jié)從第一條指令起按次序循環(huán)編寫,同時在傳統(tǒng)的取指時序后增加取路標字節(jié)存于路標寄存器DR的操作,并使所述監(jiān)視計數器PCMC與路標寄存器DR中的內容相對應設置,CPU工作時,先對監(jiān)視計數器PCMC與路標寄存器DR中的內容進行比較,若相同為正常,此時CPU執(zhí)行取回的指令,并使監(jiān)視計數器PCMC每執(zhí)行一條指令后,其內容自動加1;若不相同,表明程序計數器PC受到干擾,這時讓CPU廢除已取回的指令,同時產生復位信號。
2.根據權利要求1所述的一種使計算機CPU程序計數器抗干擾的設計方法,其特征在于所述路標字節(jié)寫入程序存儲器PROM中,系統(tǒng)復位時將程序計數器PC設置為起始地址,監(jiān)視計數器PCMC設置為00H,讓計算機CPU運行時根據程序計數器PC的地址去程序存儲器PROM中取指令,同時將程序存儲器PROM中的路標字節(jié)送入路標寄存器DR中。
3.根據權利要求1或2所述的一種使計算機CPU程序計數器抗干擾的設計方法,其特征在于中斷響應和調用子程序時,將所述監(jiān)視計數器PCMC中的值壓棧,同時將其清零,在中斷服務或子程序中所述路標字節(jié)從00H開始編寫,返回時將監(jiān)視計數器PCMC中的值彈回。
4.根據權利要求1或2或3所述的一種使計算機CPU程序計數器抗干擾的設計方法,其持征在于所述路標字節(jié)按次序由00H到FFH循環(huán)偏寫。
5.根據權利要求1或2或3所述的一種使計算機CPU程序計數器抗干擾的設計方法,其特征在于所述監(jiān)視計數器PCMC和路標寄存器DR的位數與CPU位數相匹配,其字節(jié)長度可根據需要增加。
全文摘要
一種對計算機CPU程序計數器進行抗干擾的設計方法,它在硬件設置中增設程序計數器PC的監(jiān)視計數器PCMC、路標寄存器DR,在軟件設置中設有復位指令,在程序傳統(tǒng)指令后增設路標字節(jié),同時在傳統(tǒng)取指時序后增加取路標字節(jié)存于路標寄存器DR的操作。本發(fā)明可實現(xiàn)計算機運行的實時監(jiān)測,在程序計數器PC受到干擾而未執(zhí)行錯誤指令前,終止程序的運行,使系統(tǒng)復位,因此,本發(fā)明能夠大大提高計算機CPU的抗干擾能力,提高CPU的可靠性和安全性。
文檔編號G06F9/06GK1274113SQ9911577
公開日2000年11月22日 申請日期1999年5月18日 優(yōu)先權日1999年5月18日
發(fā)明者柴鈺 申請人:柴鈺