[發明專利]一種同步糾錯流水線控制結構及其方法有效
| 申請號: | 201510617152.0 | 申請日: | 2015-09-24 |
| 公開(公告)號: | CN105260272B | 公開(公告)日: | 2017-08-08 |
| 發明(設計)人: | 崔媛媛;張洵穎;裴茹霞;肖建青;趙翠華 | 申請(專利權)人: | 中國航天科技集團公司第九研究院第七七一研究所 |
| 主分類號: | G06F11/16 | 分類號: | G06F11/16 |
| 代理公司: | 西安通大專利代理有限責任公司61200 | 代理人: | 李宏德 |
| 地址: | 710065 *** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 同步 糾錯 流水線 控制 結構 及其 方法 | ||
技術領域
本發明涉及流水線中糾錯與回寫控制結構和方法,具體為一種同步糾錯流水線控制結構及其方法。
背景技術
空間環境中的SEU(Single-Event-Upset)效應極易影響處理器部件使程序執行錯誤,從而引起系統失效。針對空間環境的實際應用,為了提高處理器的抗輻射能力,處理器內部的寄存器文件需要采用容錯加固設計,由于寄存器文件是不可復現的,通常采用EDAC編碼,使得絕大數錯誤可以通過糾正達到正確復現的目的。寄存器文件是通過流水線的控制實現讀寫操作的,因此其SEU故障防護,主要體現在流水線的設計中。當檢測到寄存器操作數發生了不可糾正的錯誤時,硬件無法自動恢復,只能觸發陷阱,采取錯誤回卷恢復機制等軟件措施,將系統在最小的延遲時間內回歸到正常的工作狀態。因此,容錯流水線的設計主要關注糾錯的處理機制。
流水線糾錯的時機有兩種:一種是在運算之前糾錯,參與運算的是直接糾正后的操作數,會得到正確的運算結果;另一種是與運算操作同步,參與運算的可能是錯誤的操作數,得到錯誤的結果,因此必須取消錯誤結果寫回寄存器文件。對于第一種糾錯時機需要在從寄存器文件中取出操作數之后與執行運算操作之前,增加糾檢錯譯碼電路,進行譯碼糾正。這種糾錯方式的缺點是會增加關鍵路徑延遲,影響處理器的整體性能,優點是參與運算的是糾正后的操作數,不必重啟流水線,運算結果就是正確的,可以直接寫回寄存器文件中。其中“一種直接糾錯的流水線設計”(西北工業大學學報)采用了這種糾錯方式,但其糾正后的操作數不能及時寫回寄存器文件中,而是采用軟件方式定時將出錯的操作數從寄存器文件中讀出再寫回,實現操作數的糾正,這種方式增加了SEU故障的累積概率,影響了處理器的可靠度,同時這種軟件糾錯方式也影響了處理器的效率。另外,“A portable and fault-tolerant microprocessor based on the SPARC V8architecture”(Proceedings International Conference on IEEE,IEEE Computer Society)也采用了這種糾錯方式,并且如果有一個源操作數發生了可糾正的錯誤,需要重啟一次流水線才能完成源操作數更新以及指令結果寫回,如果兩個源操作數都發生了可糾正的錯誤,就需要重啟兩次流水線。
第二種糾錯時機是譯碼糾正與運算操作同步執行,這種糾錯方式不會增加流水線的關鍵路徑延遲,但是,由于運算結果可能是錯誤的,所以需要重啟流水線,用正確的操作數再次參與運算,最終將正確的結果寫回寄存器文件中。其中“一種針對SEU的同步糾錯流水線設計”(西北工業大學學報)采用了第二種糾錯方式,其考慮到寄存器文件只有一個寫端口,每個周期只能寫回一個數據,于是流水線中只集成了一個糾錯部件,同樣地,如果有一個源操作數發生了可糾正的錯誤,需要重啟一次流水線,如果兩個源操作數都發生了可糾正的錯誤,就需要重啟兩次流水線,才能完成源操作數更新以及指令結果寫回。
如何保證在盡量不影響處理器性能的情況下,在流水線中實現對寄存器文件中的操作數進行糾錯控制,以及保證糾正后的操作數以及指令結果及時寫回,是容錯處理器設計必須要解決的問題。而在不影響處理器性能的情況下,只通過重啟一次流水線即可完成所有糾正后的操作數以及指令正確結果的及時寫回,經檢索相關文獻和專利,尚未發現有解決該問題的方法。
發明內容
針對現有技術中存在的問題,本發明提供一種不增加流水線關鍵路徑延遲,只需要重啟一次流水線就能夠實現所有發生了可糾正錯誤操作數的及時更新,以及指令正確結果寫回的同步糾錯流水線控制結構及其方法。
本發明是通過以下技術方案來實現:
一種同步糾錯流水線控制結構,包括寄存器文件存儲體和對應的校驗元存儲體,同時連接寄存器文件存儲體和對應的校驗元存儲體輸出端的邏輯運算單元,分別對應從寄存器文件存儲體中讀出的兩個操作數的兩個EDAC譯碼部件,連接在EDAC譯碼部件輸出端的回寫控制單元,以及根據寫數據生成校驗元的EDAC編碼部件;EDAC譯碼部件包括用于檢測對應源操作數是否發生了錯誤的檢錯部件,和根據檢錯部件的結果進行糾正的糾錯部件;回寫控制單元根據糾錯部件輸出對應操作數的錯誤指示,糾正后的操作數和糾正后的校驗元,以及邏輯運算單元輸出的運算結果進行編碼和輸出,輸出端連接至寄存器文件存儲體寫入數據,并連接EDAC編碼部件;EDAC編碼部件根據寫數據生成校驗元,寫入校驗元存儲體。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國航天科技集團公司第九研究院第七七一研究所,未經中國航天科技集團公司第九研究院第七七一研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510617152.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種乒乓球撿球機
- 下一篇:熱敏打印機及其打印控制方法





