基于片內(nèi)WISHBONE總線的高速緩存一致性實(shí)現(xiàn)
3總線事務(wù)時(shí)序分析
由前部分的說明發(fā)現(xiàn)在內(nèi)部總線上可以產(chǎn)生三種類型的總線事務(wù):讀缺失時(shí),塊傳輸總線事務(wù);SM或SC狀態(tài)寫命中時(shí),發(fā)生單宇寫總線事務(wù);寫缺失時(shí),先是一個(gè)塊傳輸總線事務(wù)而后在本地寫操作完成后,一個(gè)單字寫總線事務(wù)更新遠(yuǎn)端的數(shù)據(jù)高速緩存單元。以下是塊傳輸和單字寫總線周期具體的時(shí)序分析,下文提到的具體信號(hào)其意義可以查閱參考文獻(xiàn)[1]。
塊傳輸時(shí)序:主接口通過聲明CYC_O申請(qǐng)總線的使用權(quán),同時(shí)也給出STB_O、CTI_0(010)、WE_O(低電平)和ADR_O;經(jīng)過若干時(shí)鐘周期等待后,如果遠(yuǎn)端從接口給出ACK_I信號(hào),同時(shí)給出的SHARE_I信號(hào)為低電平(說明遠(yuǎn)端數(shù)據(jù)高速緩存沒有所需要的數(shù)據(jù)塊,.SHARE_I為自定義的信號(hào)),這時(shí)主接口忽略DAT-I信號(hào),下一個(gè)時(shí)鐘周期撤銷CYC_O信號(hào),結(jié)束片內(nèi)總線周期;如果給出AClI信號(hào)的同時(shí),SHARE_I信號(hào)為高電平(說明遠(yuǎn)端數(shù)據(jù)高速緩存有所需要的數(shù)據(jù)塊),接收DAT-I上的數(shù)據(jù);而后7個(gè)時(shí)鐘周期內(nèi),每個(gè)時(shí)鐘周期ADR_O數(shù)據(jù)加4,DAII上的數(shù)據(jù)根據(jù)地址相應(yīng)地變化,在第7個(gè)數(shù)據(jù)傳輸?shù)臅r(shí)鐘周期CTI_O變?yōu)?11,告訴遠(yuǎn)端從接口這是最后一個(gè)傳輸時(shí)鐘周期,下一個(gè)時(shí)鐘周期:降完成這個(gè)總線事務(wù);最后一個(gè)時(shí)鐘周期主接口撤銷CYC_O信號(hào),結(jié)束片內(nèi)總線周期。
內(nèi)塊傳輸時(shí)序見圖2。
單字寫總線周期:主接口通過聲明CYC_O申請(qǐng)總線的使用權(quán),同時(shí)也給出STB_O、CTI_O(111)、WE_O(高電子)、ADlO和DAT-0;經(jīng)過若干時(shí)鐘周期等待后,如果遠(yuǎn)端從接口給出ACK_I信號(hào),同時(shí)給出的SHARE信號(hào)為低電子(說明遠(yuǎn)端數(shù)據(jù)高速緩存沒有所需要的數(shù)_I據(jù)塊),主接口下一個(gè)時(shí)鐘周期撤銷CYC_O信號(hào),結(jié)束片內(nèi)總線周期;如果給出ACK_I信號(hào)的同時(shí),SHARK-I信號(hào)為高電子(說明遠(yuǎn)端數(shù)據(jù)高速緩存有所需要的數(shù)據(jù)塊),說明從接口已經(jīng)用DAT-O上的數(shù)據(jù)更新了相應(yīng)的數(shù)據(jù)單元,下一個(gè)時(shí)鐘周期撤銷CYC_O信號(hào),結(jié)束片內(nèi)總線周期。
單字寫時(shí)序見圖3。
塊傳輸總線事務(wù)時(shí)序圖2,單字寫總線事務(wù)時(shí)序圖3中WAIT表示主接口等待總線仲裁和從接口的應(yīng)答,需若干時(shí)鐘周期,最快的情況下只要一個(gè)時(shí)鐘周期。總線仲裁:如果兩個(gè)數(shù)據(jù)高速緩存的主接口同時(shí)請(qǐng)求,由仲裁單元決定哪個(gè)主接口可以使用片內(nèi)總線,仲裁的優(yōu)先級(jí)算法是輪換法。數(shù)據(jù)高速緩存的主接口,在聲明CYC_O申請(qǐng)總線后,如果AClI一直是低電平無效,但同時(shí)該數(shù)據(jù)高速緩存從接口的CYC_I信號(hào)有效,說明數(shù)據(jù)高速緩存主接口沒有得到總線使用權(quán),主接口撤銷CYC_O信號(hào),該數(shù)據(jù)高速緩存響應(yīng)從接口的操作,操作完成后,主接口再次聲明CYC_O信號(hào)請(qǐng)求總線;相反,如果數(shù)據(jù)高速緩存主接口的ACK_I信號(hào)高電平有效,說明得到了總線使用權(quán),可以使用總線。
綜上所述,片內(nèi)總線采用WISHBONE總線地址增量的傳輸方式,與內(nèi)核時(shí)鐘同步,最快可以在9個(gè)時(shí)鐘周期從另一個(gè)數(shù)據(jù)高速緩存調(diào)來一個(gè)塊(8個(gè)宇)的內(nèi)容,可在2個(gè)時(shí)鐘周期更新遠(yuǎn)端數(shù)據(jù)高速緩存的一個(gè)相關(guān)單元;數(shù)據(jù)高速緩存實(shí)現(xiàn)寫回、寫更新機(jī)制,減少了向外部總線寫操作的頻度。該結(jié)構(gòu)具有可擴(kuò)展性,只要把片內(nèi)WISHBONE·總線的地址線的位數(shù)擴(kuò)展(用于選擇多個(gè)從接口)就可以把多個(gè)內(nèi)核集成在該芯片上,協(xié)議無需變化。該種體系結(jié)構(gòu)運(yùn)行兩個(gè)耦合度很低的程序,性能最好。
該方案利用WISHBONE總線,基于監(jiān)聽總線的寫更新一致性協(xié)議,把兩個(gè)IP核集成在一塊芯片上,實(shí)現(xiàn)了單芯片多處理器結(jié)構(gòu)的FPGA。該體系結(jié)構(gòu)采用開放的片上總線標(biāo)準(zhǔn),具有公用的主從接口規(guī)范,實(shí)現(xiàn)了IP核可移植性,具有設(shè)計(jì)可復(fù)用的優(yōu)點(diǎn)。
評(píng)論