亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

能防止程序故障的中央處理單元的制作方法

文檔序號:6410541閱讀:284來源:國知局
專利名稱:能防止程序故障的中央處理單元的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種能防止程序故障的中央處理單元(CPU),特別涉及一種改進(jìn)的能防止程序故障的CPU,在由于噪聲而從存儲器中讀取異常數(shù)據(jù)時(shí),使該CPU復(fù)位,以防止程序故障。


圖1是說明常規(guī)中央處理單元(CPU)的方框圖。
如該圖所示,常規(guī)CPU包括指定要執(zhí)行指令的地址的程序計(jì)數(shù)器1;輸出由程序計(jì)數(shù)器1指定的地址指令的存儲器2;存儲從存儲器2輸出的指令操作碼“opcode”的指令寄存器3;對存儲在指令寄存器3中的操作碼解碼,并輸出控制信號的指令解碼器4;根據(jù)指令解碼器4的控制信號執(zhí)行指令的執(zhí)行單元5。
下面參照圖1說明常規(guī)CPU的運(yùn)行情況。
程序計(jì)數(shù)器1通過地址總線把下一步要執(zhí)行的指令的地址發(fā)送到存儲器2,存儲器2與程序計(jì)數(shù)器1協(xié)同輸出相應(yīng)的指令。
指令寄存器存儲來自存儲器2的指令操作碼,并把該碼輸出到指令解碼器4。指令解碼器4對所提供的操作碼解碼,并把執(zhí)行指令所必需的控制信號發(fā)送到執(zhí)行單元5。于是,執(zhí)行單元5執(zhí)行該指令。
然而,常規(guī)CPU會執(zhí)行由于其中的噪聲而產(chǎn)生的不希望的指令,因而致使程序運(yùn)行發(fā)生故障。即,當(dāng)噪聲摻進(jìn)了系統(tǒng)外部電源或時(shí)鐘信號中時(shí),程序計(jì)數(shù)器1工作,于是從存儲器2中讀取不希望的指令,從而導(dǎo)致程序運(yùn)行發(fā)生故障。
因此,本發(fā)明的一個(gè)目的是提供一種防止程序故障的中央處理單元(CPU),克服常規(guī)技術(shù)中存在的問題。
本發(fā)明的另一個(gè)目的是提供 種能防止程序故障的CPU,在由于噪聲而從存儲器中讀取異常數(shù)據(jù)時(shí),使該CPU復(fù)位,以防止程序故障。
為了實(shí)現(xiàn)上述目的,提供一種能防止程序故障的CPU,該CPU包括指定要執(zhí)行指令的地址的程序計(jì)數(shù)器;存儲根據(jù)程序計(jì)數(shù)器從存儲器輸出的指令的第一指令寄存器;根據(jù)第一內(nèi)部時(shí)鐘信號讀取存儲在第一指令寄存器中的指令的第二指令寄存器;根據(jù)第二內(nèi)部時(shí)鐘信號讀取存儲在第一指令寄存器中的指令的第三指令寄存器;根據(jù)啟動(dòng)信號工作的比較器,用于比較存儲在第二指令寄存器和第三指令寄存器中的指令是否相同;根據(jù)比較器的輸出信號輸出復(fù)位信號的復(fù)位控制器;根據(jù)比較器的輸出信號,對存儲在第三指令寄存器中的指令的操作碼解碼,并輸出控制信號以及程序計(jì)數(shù)值改變指令的指令解碼器;根據(jù)解碼器的控制信號執(zhí)行指令的執(zhí)行單元;檢測復(fù)位控制器的輸出信號的邊沿,及輸出邊沿檢測信號的邊沿檢測器;以及根據(jù)邊沿檢測信號和指令解碼器的輸出信號,輸出啟動(dòng)信號的啟動(dòng)信號發(fā)生器。
下面的說明將會更清楚地顯示本發(fā)明的其它優(yōu)點(diǎn)、目的和特點(diǎn)。
通過下面的詳細(xì)說明和所給的只是說明性的各附圖,會更充分地理解本發(fā)明,但本發(fā)明并不限于此,其中圖1是表示常規(guī)中央處理單元(CPU)的方框圖;圖2是表示本發(fā)明的CPU的方框圖;圖3A至3L是為了說明圖2的CPU的運(yùn)行的時(shí)序圖。
圖2是本發(fā)明的中央處理單元(CPU)的方框圖。
根據(jù)本發(fā)明的CPU包括指定要執(zhí)行指令的地址的程序計(jì)數(shù)器(PC)10;存儲根據(jù)程序計(jì)數(shù)器(PC)10從存儲器20輸出的指令的指令寄存器(IR)30a;根據(jù)內(nèi)部時(shí)鐘信號400讀取存儲在指令寄存器30a中的指令的指令寄存器(IR-1)30b;根據(jù)內(nèi)部時(shí)鐘信號200讀取存儲在指令寄存器(IR)30a的指令的指令寄存器(IR-2)30c;根據(jù)啟動(dòng)信號600工作的比較器80,用于比較存儲在指令寄存器(IR-1)30b和指令寄存器(IR-2)30c中的指令是否相同;根據(jù)比較器80的輸出信號500,對存儲在指令寄存器(IR-2)30c中的指令的指令碼解碼,并輸出控制信號以及計(jì)數(shù)器值改變指令400的指令解碼器(ID)40;根據(jù)指令解碼器(ID)40的控制信號執(zhí)行指令的執(zhí)行單元(EU)50;檢測復(fù)位控制器的輸出信號700的邊沿,并輸出邊沿檢測信號800的邊沿檢測器70;以及根據(jù)邊沿檢測信號和指令解碼器(ID)40的輸出信號,輸出啟動(dòng)信號600的啟動(dòng)信號發(fā)生器60。
下面參照圖2和3L說明根據(jù)本發(fā)明的能防止程序故障的CPU的運(yùn)行情況。
根據(jù)由程序計(jì)數(shù)器(PC)10指定的地址,從存儲器20中讀取的指令與系統(tǒng)循環(huán)的周期同步地存儲在指令寄存器(IR)30a中,在系統(tǒng)時(shí)鐘的每個(gè)周期交替地讀取存儲在指令寄存器(IR)30a中的指令,將這些指令存儲于指令寄存器(IR-1)30b和(IR-2)30c,并用比較器80比較這些指令。
這里,如果存儲在指令寄存器(IR-1)30b和(IR-2)30c的指令相同,則執(zhí)行單元(EU)50執(zhí)行存儲在指令寄存器(IR-2)30c中的指令,如果存儲在指令寄器(IR-1)30b和(IR-2)30c的指令不同,則復(fù)位控制器90的復(fù)位信號70的電平變換,程序計(jì)數(shù)器(PC)10復(fù)位。
下面將參照所圖3所示中的時(shí)序圖詳細(xì)說明上述過程。
本發(fā)明中,假定以圖3A所示的系統(tǒng)時(shí)鐘的兩個(gè)周期為一個(gè)循環(huán)。
所以,指令寄存器(IR-1)30b在第一系統(tǒng)時(shí)鐘的下降沿接通,指令寄存器(IR-2)30c在第二系統(tǒng)時(shí)鐘的上升沿和第二循環(huán)的起始上升沿接通。
如果通過復(fù)位針輸入外部復(fù)位信號,則復(fù)位控制器90輸出復(fù)位信號700,如圖3C所示,使CPU復(fù)位。
如圖3L所示,這里,邊沿檢測器70檢測復(fù)位信號700的下降沿,并在一個(gè)循環(huán)內(nèi)保持高電平。
另外,啟動(dòng)信號發(fā)生器60在每個(gè)循環(huán)內(nèi)每個(gè)系統(tǒng)時(shí)鐘信號周期輸出高電平信號600。這里,在邊沿檢測器70的輸出信號和指令解碼器(ID)40的輸出信號400變成高電平的時(shí)間間隔內(nèi),輸出低電平信號600。
因此,啟動(dòng)信號發(fā)生器60在一個(gè)循環(huán)內(nèi)皆輸出低電平信號600,程序計(jì)數(shù)器(PC)10伎能該信號600,比較器80禁止該信號。
如圖3D所示,程序計(jì)數(shù)器(PC)10與第一循環(huán)的系統(tǒng)時(shí)鐘同步地增加要執(zhí)行指令的地址,并向存儲器20輸出信號,指令寄存器(IR)30a與一個(gè)循環(huán)的系統(tǒng)時(shí)鐘同步地從存儲器20讀取0001、0002地址指令,如在(F-1)和(F-2)所示的那樣。
這里,由于指令寄存器(IR-1)30b根據(jù)控制信號300,在第一系統(tǒng)時(shí)鐘的下降沿接通,指令寄存器(IR-1)30b存儲由指令寄存器(IR)30a移位來的第一地址指令。
另外,附圖中,“En”表示執(zhí)行單元(EU)50執(zhí)行“n”地址指令,“Fn”表示從存儲器20讀取“n”地址指令,“Sn”表示來自存儲器20且存儲于指令寄存器30a中的“n”地址指令被轉(zhuǎn)移到指令寄存器(IR-1)30b和(IR-2)30c。
由于指令寄存器(IR-2)30c根據(jù)控制信號200在第二系統(tǒng)時(shí)鐘的上升沿和第二循環(huán)起始上升沿接通,指令寄存器(IR-2)30c在第二系統(tǒng)時(shí)鐘的上升沿接通時(shí),存儲由指令寄存器(IR)30a轉(zhuǎn)移來的第一地址指令,在指令寄存器(IR-2)30c在第二循環(huán)起始上升沿接通時(shí),如在S-2’所示的那樣,存儲由指令寄存器(IR)30a轉(zhuǎn)移來第二地址指令。
此時(shí),指令解碼器(ID)40對在第二系統(tǒng)時(shí)鐘的上升沿轉(zhuǎn)移的第一地址指令解碼,執(zhí)行單元(EU)50執(zhí)行該指令。
然后,當(dāng)例行程序在第二循環(huán)時(shí),由于邊沿檢測器70的輸出信號800和指令解碼器(ID)40的輸出信號400皆為低電平,如圖3I所示,啟動(dòng)信號發(fā)生器60在系統(tǒng)時(shí)鐘信號的一個(gè)周期內(nèi)輸出高電平信號600,程序計(jì)數(shù)器(PC)10禁止該信號,而比較器80允許該信號。
結(jié)果,程序計(jì)數(shù)器(PC)10在系統(tǒng)時(shí)鐘信號的一個(gè)周期內(nèi)不增加要執(zhí)行的指令的地址。
另外,指令寄存器(IR-1)30b根據(jù)控制信號300在第一系統(tǒng)時(shí)鐘的下降沿接通,如在S-2所示的那樣,存儲由指令寄存器(IR)30a轉(zhuǎn)移的第二指令(F-2’)。
因此,比較器80在第二循環(huán)的第一時(shí)鐘信號輸入期間接通,比較存儲在指令寄存器(IR-1)30b中如在S-2’過程中的指令和存儲在指令寄存器(IR-2)30c中如在S-2過程中的指令。如果存儲在指令寄存器(IR-1)30b中的指令和存儲在指令寄存器(IR-2)30c中的指令相同,則如圖3J所示,輸出低電平信號600。
此時(shí),程序計(jì)數(shù)器(PC)10被禁止,不增加執(zhí)行指令的地址。所以存儲在指令寄存器(IR)30a中的第二地址指令,如在F-2和F-2’過程中的指令是相同的指令,則移位到指令寄存器(IR-1)30b的指令,如在S-2和S-2’過程中的指令是相同的指令。
此后,當(dāng)啟動(dòng)信號發(fā)生器60在第二時(shí)鐘信號的一個(gè)周期內(nèi)輸出低電平信號時(shí),程序計(jì)數(shù)器(PC)10增加要重執(zhí)行的指令的地址,指令寄存器(IR)30a與系統(tǒng)時(shí)鐘信號同步地從存儲器20中讀取0003地址指令,如在F-3所示的那樣。
另外,指令寄存器(IR-2)30c在第二系統(tǒng)時(shí)鐘的上升沿接通時(shí),如在S-2所示的那樣,存儲由指令寄存器(IR)30a移位的第二地址指令,指令寄存器(IR-2)30c在第三循環(huán)的起始上升沿接通時(shí),存儲由指令寄存器(IR)30a轉(zhuǎn)移的第三地址指令。
此時(shí),由指令解碼器(ID)40對在第二系統(tǒng)時(shí)鐘的上升沿移位的第二地址的指令解碼,并由執(zhí)行單元(EU)50執(zhí)行該指令。
然后,與上述過程相同,例行程序在第三循環(huán),根據(jù)啟動(dòng)信號發(fā)生器60的高電平信號600,啟動(dòng)比較器80,程序計(jì)數(shù)器(PC)10不增加執(zhí)行命令的地址。
另外,指令寄存器(IR-1)30b根據(jù)控制信號300,在第一系統(tǒng)時(shí)鐘的下降沿接通,如在S-3所示的那樣,存儲由指令寄存器(IR)30a轉(zhuǎn)移的第三地址的指令。
因此,如上所述,在第三循環(huán)的第一時(shí)鐘信號輸入期間,比較器80比較存儲在指令寄存器(IR-1)30b中如在S-2’過程中的指令和存儲在指令寄存器(IR-2)30c如在S-2過程中的指令,并輸出低電平信號600,如圖3J所示。
然后,指令寄存器(IR-2)30c在第二系統(tǒng)時(shí)鐘的上升沿接通時(shí),如在F-3’所示的那樣,存儲由指令寄存器(IR)30a轉(zhuǎn)移的第三指令,指令寄存器(IR-2)30c在第四循環(huán)的起始上升沿接通時(shí),如在S-4’所示的那樣,存儲由指令寄存器(IR)30a轉(zhuǎn)移的第三地址指令。
此時(shí),由指令解碼器(ID)40對在第二系統(tǒng)時(shí)鐘的上升沿轉(zhuǎn)移的第三地址指令解碼。如果對第三地址指令的解碼的結(jié)果是該指令為轉(zhuǎn)移到第十七地址的指令,則如圖3K所示,指令解碼器(ID)40向啟動(dòng)信號發(fā)生器60輸出改變程序計(jì)數(shù)器(PC)10的值的指令400。
結(jié)果,程序計(jì)數(shù)器(PC)10從第四循環(huán)跳到第十七地址指令的地址,啟動(dòng)信號發(fā)生器60在第四周期的一個(gè)周期內(nèi)保持低電平,禁止比較器80。
按與上述相同的方式進(jìn)行其余的過程。
另外,在第六循環(huán)的一個(gè)系統(tǒng)時(shí)鐘周期內(nèi),從存儲器讀取的第十九地址指令由于外部電源和噪聲而不正常時(shí),存儲在指令寄存器(IR-1)30b中如在S-19過程中的指令,與存儲在指令寄存器(IR-2)30c中如在S-19’過程中的指令不相同。
因此,如圖3J所示,比較器80輸出高電平失配信號500,如圖3C所示,復(fù)位控制器90輸出內(nèi)部復(fù)位信號,以將CPU復(fù)位。
另外,在將CPU復(fù)位后,與第一循環(huán)后的操作一樣,進(jìn)行第七循環(huán)后的操作。
如上所述,本發(fā)明的能防止程序故障的中央處理單元比較從不同系統(tǒng)時(shí)鐘周期讀取的指令,在讀取的指令正常時(shí),執(zhí)行指令,在由于噪聲而使讀取的指令不正常時(shí),將CPU復(fù)位,以便防止存儲在存儲器中的程序出故障。
盡管本發(fā)明為了說明而公開了優(yōu)選實(shí)施例,很顯然,在不脫離如所附權(quán)利要求書中所述的本發(fā)明的范圍和精神實(shí)質(zhì)的情況下,本領(lǐng)域的普通技術(shù)人員可以作同各種改型、附加和替換。
權(quán)利要求
1.一種能防止程序故障的中央處理單元,包括指示要執(zhí)行指令的地址的程序計(jì)數(shù)器;存儲根據(jù)程序計(jì)數(shù)器從存儲器輸出的指令的第一指令寄存器;根據(jù)第一內(nèi)部時(shí)鐘信號讀取存儲在第一指令寄存器中的指令的第二指令寄存器;根據(jù)第二內(nèi)部時(shí)鐘信號讀取存儲在第一指令寄存器的指令的第三指令寄存器;根據(jù)啟動(dòng)信號工作的比較器,用于比較存儲在第二指令寄存器和第三指令寄存器中的指令是否相同;根據(jù)比較器的輸出信號輸出復(fù)位信號的復(fù)位控制器;根據(jù)比較器的輸出信號,對存儲在第三指令寄存器中的指令的操作碼解碼,并輸出控制信號以及程序計(jì)數(shù)值改變指令的指令解碼器;根據(jù)解碼器的控制信號執(zhí)行指令的執(zhí)行單元;檢測復(fù)位控制器的輸出信號的邊沿,及輸出邊沿檢測信號的邊沿檢測器;根據(jù)邊沿檢測信號和指令解碼器的輸出信號,輸出啟動(dòng)信號的啟動(dòng)信號發(fā)生器。
2.根據(jù)權(quán)利要求1的CPU,其特征在于所述第一內(nèi)部時(shí)鐘信號為一個(gè)循環(huán)內(nèi)的第一系統(tǒng)時(shí)鐘下降沿檢測信號,所述第二內(nèi)部信號為每個(gè)系統(tǒng)時(shí)鐘的上升沿檢測信號。
3.根據(jù)權(quán)利要求1的CPU,其特征在于所述啟動(dòng)信號發(fā)生器在每個(gè)循環(huán)的系統(tǒng)時(shí)鐘的第一周期輸出高電平啟動(dòng)信號。
4.根據(jù)權(quán)利要求3的CPU,其特征在于在邊沿檢測信號或指令解碼器的輸出信號為高電平時(shí),所述啟動(dòng)信號發(fā)生器輸出與系統(tǒng)時(shí)鐘周期無關(guān)的低電平信號。
5.根據(jù)權(quán)利要求1的CPU,其特征在于所述第二指令寄存器在每個(gè)循環(huán)的第一系統(tǒng)時(shí)鐘的下降沿接通,所述第三指令寄存器在第二系統(tǒng)時(shí)鐘的上升沿和下一循環(huán)的起始上升沿接通。
6.根據(jù)權(quán)利要求1的CPU,其特征在于在存儲在第二指令寄存器和第三指令寄存器中的指令不同時(shí),所述復(fù)位控制器變換復(fù)位信號的電平。
全文摘要
一種防止能程序故障的改進(jìn)的CPU,在由于噪聲而使從存儲器讀取的數(shù)據(jù)不正常時(shí),通過使CPU復(fù)位,能夠防止程序出故障。
文檔編號G06F9/38GK1158454SQ9611405
公開日1997年9月3日 申請日期1996年12月31日 優(yōu)先權(quán)日1995年12月31日
發(fā)明者韓大根 申請人:Lg半導(dǎo)體株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1