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

一種基于sparcv8處理器的存儲器精確陷阱控制結(jié)構(gòu)與方法

文檔序號:9471249閱讀:812來源:國知局
一種基于sparcv8處理器的存儲器精確陷阱控制結(jié)構(gòu)與方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及對SPARC V8處理器中存儲器的數(shù)據(jù)校驗錯誤控制領(lǐng)域,具體為一種基于SPARCV8處理器的存儲器精確陷阱控制結(jié)構(gòu)與方法。
【背景技術(shù)】
[0002]現(xiàn)代微處理器在執(zhí)行指令的過程中,除了響應(yīng)外部中斷以外,其內(nèi)部還可能觸發(fā)兩種類型的陷阱(有時也稱為異常),分別是精確陷阱和延遲陷阱。精確陷阱是指發(fā)生陷阱時,導(dǎo)致該陷阱的指令還沒有更改任何程序可見的狀態(tài),也就是當(dāng)前PC能夠準(zhǔn)確對應(yīng)著觸發(fā)陷阱的這條指令,這樣陷阱子程序處理起來非常容易。但是對于延遲陷阱而言,在發(fā)生陷阱時,導(dǎo)致該陷阱的指令與當(dāng)前PC并不對應(yīng),當(dāng)前PC可能是它后面的第若干條指令,相對于正在執(zhí)行真正引發(fā)陷阱的指令的時刻,此時系統(tǒng)的執(zhí)行狀態(tài)已經(jīng)改變。因此在進(jìn)行陷阱子程序的處理時,就需要找到真正觸發(fā)該陷阱的那條指令,并把它后面的指令對程序狀態(tài)所做的更改都取消掉,做到這些會導(dǎo)致控制非常復(fù)雜。
[0003]根據(jù)SPARC V8指令架構(gòu)的定義,延遲陷阱主要是由存儲器的寫操作出現(xiàn)錯誤而導(dǎo)致的。因為現(xiàn)有的SPARC V8處理器為了提高執(zhí)行性能,減少訪存的等待,在硬件上專門設(shè)置了一個write buffer結(jié)構(gòu)用以緩存當(dāng)前的寫操作,使得處理器可以立即執(zhí)行后續(xù)指令,與此同時,緩存的寫操作則能對主存儲器進(jìn)行訪問??梢钥闯觯ㄟ^write buffer結(jié)構(gòu)將處理器執(zhí)行指令與主存儲器的寫操作并行起來,從而很好的隱藏了訪存開銷。但是,如果這個寫操作最終引發(fā)了錯誤,當(dāng)該錯誤被反饋給處理器時,處理器已經(jīng)向前執(zhí)行了若干條指令,則會產(chǎn)生延遲陷阱。
[0004]這種延遲陷阱不僅難于處理,而且還有可能會造成處理器的宕機(jī)事故。根據(jù)SPARCV8指令集定義,一旦發(fā)生陷阱并在進(jìn)行陷阱處理時,硬件自動將陷阱使能位(ET)置為無效值零,也就是默認(rèn)不允許陷阱嵌套。如果用戶想使用這種嵌套功能,就必須在陷阱處理子程序中通過軟件來重新配置ET位。由于寫操作錯誤這種延遲陷阱發(fā)生的時機(jī)是不確定的,完全由主存儲器的訪問延遲所決定,如果處理器正在進(jìn)行某個外部中斷或者內(nèi)部陷阱的處理,并且在子程序中還未配置ET位有效,這時剛好出現(xiàn)了一個寫操作錯誤的延遲陷阱,那么處理器就無法響應(yīng)它而進(jìn)入“錯誤模式”。在錯誤模式下,處理器不能執(zhí)行任何指令,也無法自行返回到正常模式,即呈現(xiàn)所謂的宕機(jī)狀態(tài),它只能通過外部復(fù)位才能回到初始狀態(tài),重新執(zhí)行。
[0005]由上可見,由于寫操作錯誤而引發(fā)的延遲陷阱給SPARC V8處理器帶來了極大的控制復(fù)雜度和安全隱患,尤其是在空間應(yīng)用中,主存儲器受單粒子輻射而出現(xiàn)數(shù)據(jù)錯誤的概率隨之增大,這種延遲陷阱導(dǎo)致處理器宕機(jī)的可能性也就越大,從而嚴(yán)重影響到系統(tǒng)的可靠性,因此必須對這種延遲陷阱機(jī)制進(jìn)行改進(jìn)。如果能將延遲陷阱也轉(zhuǎn)化為精確陷阱來實現(xiàn),那么不僅能夠從根本上避免處理器宕機(jī)的可能性,而且還會帶來陷阱處理程序的簡化和統(tǒng)一,使陷阱處理的實時性更強(qiáng)、效率更高;但是,精確陷阱不能使主存儲器的寫操作與處理器執(zhí)行指令并行起來,這勢必會對處理器的性能造成影響。因此,設(shè)計一種既高效又可靠的精確陷阱控制機(jī)制就顯得尤為重要。

【發(fā)明內(nèi)容】

[0006]針對現(xiàn)有技術(shù)中存在的問題,本發(fā)明提供一種既實現(xiàn)精確陷阱又不完全禁用write buffer的寫緩存功能的,在提高系統(tǒng)可靠性的同時避免系統(tǒng)性能受到明顯的損失方法的,基于SPARCV8處理器的存儲器精確陷阱控制結(jié)構(gòu)與方法。
[0007]本發(fā)明是通過以下技術(shù)方案來實現(xiàn):
[0008]—種基于SPARCV8處理器的存儲器精確陷阱控制方法,SPARCV8處理器中指令流水線執(zhí)行推進(jìn)時,根據(jù)SPARCV8處理器發(fā)出的寫操作訪問需求,執(zhí)行如下操作;
[0009]當(dāng)前存儲指令為單字或者雙字的寫操作緩存在寫緩存器write buffer中,同時允許流水線繼續(xù)推進(jìn);
[0010]當(dāng)前存儲指令為字節(jié)或者半字的寫操作時,流水線推進(jìn)停頓;若在寫緩存器writebuffer中沒有緩存其它的寫操作時,則進(jìn)行主存儲器的訪問;否則,在寫緩存器writebuffer處理完所有緩存的寫操作之后,再訪問主存儲器;等待該字節(jié)或者半字類型的寫操作對主存儲器的訪問完成后再繼續(xù)推進(jìn);
[0011]其中,在處理字節(jié)或半字類型的寫操作時,流水線一直處于等待狀態(tài),沒有執(zhí)行新的指令,當(dāng)該寫操作出現(xiàn)無法糾正的錯誤時,將產(chǎn)生的錯誤信號傳遞給流水線,SPARCV8處理器的當(dāng)前PC能夠準(zhǔn)確對應(yīng)發(fā)出該寫操作的存儲指令,從而產(chǎn)生的是一個精確陷阱,并對其進(jìn)行對應(yīng)處理。
[0012]優(yōu)選的,在寫緩存器write buffer進(jìn)行緩存控制時,SPARCV8處理器流水線的執(zhí)行,和對主存的寫操作獨立并行。
[0013]一種基于SPARCV8處理器的存儲器精確陷阱控制結(jié)構(gòu),包括取值選擇器,級聯(lián)的第一 Load操作選擇器和第二 Load操作選擇器,級聯(lián)的第一 Store操作選擇器和第二 Store操作選擇器,以及用于產(chǎn)生控制整個流水線的推進(jìn)信號holdn的與門,推進(jìn)信號holdn分別控制流水線各級間的寄存器;
[0014]所述的取值選擇器的低電位輸入端連接取值操作訪問完成的ready信號,高電位輸入端連接高電位信號,選擇控制端連接指令Cache命中信號,輸出端輸出指令訪問的推進(jìn)信號iholdn ;
[0015]所述的第一 Load操作選擇器的低電輸入端連接load操作訪問完成的ready信號,高電位輸入端連接高電位信號,選擇控制端連接數(shù)據(jù)Cache命中信號,連接第二 Load操作選擇器的高電位輸入端;所述的第二 Load操作選擇器的低電位輸入端連接高電位信號,高電位輸入端連接第一 Load操作選擇器的輸出端,選擇控制端連接Load操作信號;
[0016]所述的第一 Store操作選擇器的低電輸入端連接第二 Load操作選擇器的輸出端,高電位輸入端連接store操作訪問完成的ready信號,選擇控制端連接字節(jié)/半字節(jié)類型的寫操作信號;所述的第二 Store操作選擇器的低電輸入端連接第一 Store操作選擇器的輸出端,高電位輸入端連接高電位信號,選擇控制端連接單字節(jié)/雙字節(jié)類型的寫操作信號,輸出端輸出數(shù)據(jù)訪問的推進(jìn)信號dholdn ;
[0017]所述的與門的輸入端分別連接指令訪問的推進(jìn)信號iholdn和數(shù)據(jù)訪問的推進(jìn)信號 dholdn。
[0018]優(yōu)選的,取值操作訪問完成的ready信號,load操作訪問完成的ready信號,以及store操作訪問完成的ready信號均由外部主存儲器的訪問接口連接輸入。
[0019]與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益的技術(shù)效果:
[0020]本發(fā)明針對SPARC V8處理器由于存儲器寫操作錯誤而導(dǎo)致的延遲陷阱以及它可能引發(fā)系統(tǒng)宕機(jī)的問題,通過相應(yīng)的結(jié)構(gòu)修改,最終實現(xiàn)了統(tǒng)一的精確陷阱控制,取得的效果如下:
[0021]I)增強(qiáng)了系統(tǒng)的可靠性。原始結(jié)構(gòu)下存儲器寫操作錯誤產(chǎn)生的是延遲陷阱,它很有可能在無法完成陷阱嵌套功能時造成整個系統(tǒng)錯誤而呈現(xiàn)宕機(jī)狀態(tài),這對空間應(yīng)用領(lǐng)域來說存在嚴(yán)重的安全隱患,因為在空間環(huán)境中,單粒子輻射造成主存儲器數(shù)據(jù)位發(fā)生翻轉(zhuǎn)的概率增加,更容易導(dǎo)致存儲器寫操作錯誤而引發(fā)系統(tǒng)的宕機(jī)行為。本發(fā)明將寫操作錯誤經(jīng)過對寫操作指令的分別緩存控制,使其實現(xiàn)成一種精確陷阱,從根本上避免了處理器宕機(jī)的可能性,保證了整個系統(tǒng)的穩(wěn)定與可靠。
[0022]2)減小了陷阱處理的控制復(fù)雜度。在精確陷阱機(jī)制下,當(dāng)前PC能夠準(zhǔn)確表征發(fā)生存儲器寫操作錯誤的那條指令,并且在該寫操作過程中,處理器不會繼續(xù)執(zhí)行新指令,因此無需設(shè)法清除或恢復(fù)系統(tǒng)執(zhí)行狀態(tài),極大的降低了陷阱處理的控制復(fù)雜度。
[0023]3)設(shè)計修改簡單且易于實施。本發(fā)明所進(jìn)行的設(shè)計修改僅限于write buffer寫操作的緩存控制以及指令流水線的推進(jìn)控制電路,非常局部化,不會影響處理器中的其它部件。
[0024]4)不增
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1