什么是經濟型數控系統之指令冗余技術?
發布者:銳峰五金機械 發布時間:2019/4/19 14:41:36
MCS-51 的指令由操作碼和操作數組成。單字節指令僅有操作碼;雙字節指令第一個字節是操作碼,第二個字節是操作數; 3字節指令第一個字節為操作碼,后兩 個字節為操作數。CPU 取指時,先取操作碼,后取操作數。如何區別某個數據是操作碼還是操作數,這完全由取指的順序來決定。CPU 復位后,首先取出指令的操作碼,然后取出操作數。當一條指令執 行完畢,緊接著又去取下一條指令的操作碼與操作數。這些操作的時序完全由程序計數器PC 來控制。
因此,一旦PC 因干擾而出現錯誤,程序便脫離正常的運行軌道,出現“亂飛”的現象,導致操作數的數值改變或者將操作數當成操作碼的錯誤產生。當程序“亂 飛”到某個單字節指令上時,可以自動納入正軌;當“亂飛”到某雙字節指令上時,若恰恰在取指令的時刻落在操作數上,就會將該操作數當成操作碼,程序將出錯;當程序“亂飛”到某個3 字節指令 上時,因為有兩個操作數,誤將操作數當成操作碼的幾率將會更大。用單字節指令,并在關鍵地方人為地插入一些單字節指令NOP,或將有效的單字節指令重復寫幾次。
這種方式稱之為指令冗余。可在雙字節指令和3 字節指令之后插入兩個NOP,這可保證其后的指令不被拆散。因為“亂飛”的程序即使落到操作數上,由于NOP 的 存在,不會將其后的指令當成操作數來執行,從而使程序納入正軌。對程序流向起決定作用的指令(如RET、RETI、ACALL、LCALL、LJMP、JZ、JNZ、JC、JNC、DJNZ 等)和某些對系統工作狀態起重要作 用的指令(如SETB EA 等),可在之前插入兩個NOP,以保證“亂飛”的程序迅速落入正軌;對于某些子程序必要時可以連續多次重復調用,某些狀態的查詢也可多次進行。采用冗余技術使PC 納入正軌 的條件是:跑飛的PC必須指向程序運行區,并且有可能執行到冗余指令。
因此,一旦PC 因干擾而出現錯誤,程序便脫離正常的運行軌道,出現“亂飛”的現象,導致操作數的數值改變或者將操作數當成操作碼的錯誤產生。當程序“亂 飛”到某個單字節指令上時,可以自動納入正軌;當“亂飛”到某雙字節指令上時,若恰恰在取指令的時刻落在操作數上,就會將該操作數當成操作碼,程序將出錯;當程序“亂飛”到某個3 字節指令 上時,因為有兩個操作數,誤將操作數當成操作碼的幾率將會更大。用單字節指令,并在關鍵地方人為地插入一些單字節指令NOP,或將有效的單字節指令重復寫幾次。
這種方式稱之為指令冗余。可在雙字節指令和3 字節指令之后插入兩個NOP,這可保證其后的指令不被拆散。因為“亂飛”的程序即使落到操作數上,由于NOP 的 存在,不會將其后的指令當成操作數來執行,從而使程序納入正軌。對程序流向起決定作用的指令(如RET、RETI、ACALL、LCALL、LJMP、JZ、JNZ、JC、JNC、DJNZ 等)和某些對系統工作狀態起重要作 用的指令(如SETB EA 等),可在之前插入兩個NOP,以保證“亂飛”的程序迅速落入正軌;對于某些子程序必要時可以連續多次重復調用,某些狀態的查詢也可多次進行。采用冗余技術使PC 納入正軌 的條件是:跑飛的PC必須指向程序運行區,并且有可能執行到冗余指令。
相關新聞
- [2019.09.11]車床根據用途和功能的不同分類
- [2016.01.18]數控車床CNC加工中心編程知識介紹…
- [2020.05.16]數控車床的結構、布局和特點
- [2015.10.13]數控車床的基本原理及其特點
- [2021.11.18]數控車床和數控銑床的刀具偏置數…
- [2015.11.20]車床車削的加工工藝特點
- [2019.04.15]數控車床發生故障是沒有報警怎么…
- [2019.09.11]數控車床回轉體零件的選擇
- [2020.05.14]數控車床加工超精密零件時會受到…
- [2021.11.13]數控車床加工合理選擇切削用量的…
- [2017.04.05]怎樣判斷數控車床刀具刀刃是否鋒…
- [2019.04.15]我國數控機床的高端化需求相對強…
- [2019.09.11]數控車床編碼器的精度與分辨率的…
- [2016.01.18]數控車床CNC加工中心編程知識介紹…
- [2020.05.12]數控車床的市場以及變頻器的應用…
- [2021.11.09]數控車床主軸的三種形式
- [2019.04.13]數控機床模擬式和數字式測量裝置…
- [2019.09.10]數控機床滅火系統主要優勢
- [2020.05.09]數控車床導軌熱變形主要有三個方…
- [2021.11.04]對數控車床刀具和刀套的排憂解難…