本申請(qǐng)涉及芯片,具體涉及一種cache數(shù)據(jù)處理裝置、cache數(shù)據(jù)處理系統(tǒng)及芯片。
背景技術(shù):
1、在現(xiàn)代計(jì)算機(jī)體系結(jié)構(gòu)中,cache(高速緩沖存儲(chǔ)器)作為cpu與數(shù)據(jù)存儲(chǔ)單元之間的重要橋梁,扮演著減少訪問延后、提升系統(tǒng)性能的關(guān)鍵角色。在多任務(wù)并發(fā)執(zhí)行和大數(shù)據(jù)處理及實(shí)時(shí)系統(tǒng)等領(lǐng)域,隨著數(shù)據(jù)處理量的激增,cache不僅需要快速處理海量的讀寫請(qǐng)求,還需有效管理潛在的數(shù)據(jù)讀寫沖突,以保證數(shù)據(jù)的一致性和完整性。
2、目前,現(xiàn)有的cache數(shù)據(jù)讀寫方法中普遍采用流水線處理的方式。在流水線中,一個(gè)命令被分解為多個(gè)操作,每個(gè)操作在不同的流水級(jí)執(zhí)行,其中,一個(gè)流水級(jí)的操作在一個(gè)時(shí)鐘周期內(nèi)執(zhí)行。當(dāng)出現(xiàn)數(shù)據(jù)讀寫沖突時(shí),即多個(gè)指令同時(shí)請(qǐng)求進(jìn)行讀或?qū)憰r(shí),由于同一個(gè)流水級(jí)內(nèi)無法同時(shí)進(jìn)行讀或?qū)懖僮?,一般需要暫停流水線,后續(xù)指令在遇到讀寫沖突時(shí)必須等待,以確保數(shù)據(jù)的一致性和正確性。
3、然而,整個(gè)流水線被暫停,后續(xù)流水級(jí)的執(zhí)行就會(huì)被迫延后,這大大影響了cache的訪問效率。
技術(shù)實(shí)現(xiàn)思路
1、針對(duì)現(xiàn)有技術(shù)存在的不足,本申請(qǐng)?zhí)峁┝艘环Ncache數(shù)據(jù)處理裝置、cache數(shù)據(jù)處理系統(tǒng)及芯片,通過邏輯控制單元用于在流水線處理單元的當(dāng)前流水級(jí)執(zhí)行讀命令的執(zhí)行結(jié)果為讀取數(shù)據(jù)miss的情況下,判斷當(dāng)前流水級(jí)的下一流水級(jí)是否有在先命令需要將數(shù)據(jù)寫入數(shù)據(jù)存儲(chǔ)單元或從數(shù)據(jù)存儲(chǔ)單元中讀取數(shù)據(jù),若有,則控制下一流水級(jí)執(zhí)行一在先命令,能夠利用在讀取數(shù)據(jù)miss的情況下不用從數(shù)據(jù)存儲(chǔ)單元中讀取數(shù)據(jù)的特點(diǎn)提前執(zhí)行一在先命令的數(shù)據(jù)讀取或?qū)懭氩僮鳎⑶掖藭r(shí)不會(huì)產(chǎn)生讀寫沖突,從而提高cache的訪問效率。
2、為解決上述問題,本申請(qǐng)?zhí)峁┤缦录夹g(shù)方案:
3、第一方面,本申請(qǐng)實(shí)施例提供一種cache數(shù)據(jù)處理裝置,包括流水線處理單元和邏輯控制單元,
4、所述流水線處理單元包括多個(gè)流水級(jí);
5、所述流水線處理單元用于接收讀命令,并采用所述流水級(jí)按照流水線的方式執(zhí)行所述讀命令;
6、所述邏輯控制單元用于在所述流水線處理單元的當(dāng)前流水級(jí)執(zhí)行所述讀命令的執(zhí)行結(jié)果為讀取數(shù)據(jù)miss的情況下,判斷下一流水級(jí)的執(zhí)行時(shí)間內(nèi)所述流水線處理單元是否有在先命令需要將數(shù)據(jù)寫入數(shù)據(jù)存儲(chǔ)單元或從所述數(shù)據(jù)存儲(chǔ)單元中讀取數(shù)據(jù),若有,則控制執(zhí)行所述在先命令,將數(shù)據(jù)寫入數(shù)據(jù)存儲(chǔ)單元或從所述數(shù)據(jù)存儲(chǔ)單元中讀取數(shù)據(jù),其中,所述當(dāng)前流水級(jí)和所述下一流水級(jí)為依序執(zhí)行的相鄰流水級(jí)。
7、在一些實(shí)施方式中,在所述當(dāng)前流水級(jí)確定所述讀命令的執(zhí)行結(jié)果為hit,且所述邏輯控制單元確定所述下一流水級(jí)處理所述讀命令存在讀寫沖突的情況下,所述邏輯控制單元還用于控制再一流水級(jí)從所述數(shù)據(jù)存儲(chǔ)單元中讀取所述讀命令對(duì)應(yīng)的讀數(shù)據(jù),所述下一流水級(jí)和所述再一流水級(jí)為依序執(zhí)行的相鄰流水級(jí)。
8、在一些實(shí)施方式中,在所述當(dāng)前流水級(jí)確定所述讀命令的執(zhí)行結(jié)果為hit,且所述邏輯控制單元確定所述下一流水級(jí)處理所述讀命令不存在讀寫沖突的情況下,所述邏輯控制單元還用于控制所述下一流水級(jí)從所述數(shù)據(jù)存儲(chǔ)單元中讀取所述讀命令對(duì)應(yīng)的讀數(shù)據(jù)。
9、在一些實(shí)施方式中,所述流水線處理單元還用于接收寫命令,并采用所述流水級(jí)按照所述流水線的方式執(zhí)行所述寫命令;
10、所述邏輯處理單元還用于在所述流水線處理單元的當(dāng)前流水級(jí)執(zhí)行所述寫命令的執(zhí)行結(jié)果為hit,且所述邏輯控制單元確定所述當(dāng)前流水級(jí)的下一流水級(jí)處理所述寫命令存在讀寫沖突的情況下,控制所述當(dāng)前流水級(jí)的再一流水級(jí)將所述寫命令對(duì)應(yīng)的寫數(shù)據(jù)寫入所述數(shù)據(jù)存儲(chǔ)單元,其中,所述當(dāng)前流水級(jí)和所述下一流水級(jí)為依序執(zhí)行的相鄰流水級(jí),所述下一流水級(jí)和所述再一流水級(jí)為依序執(zhí)行的相鄰流水級(jí)。
11、在一些實(shí)施方式中,在所述當(dāng)前流水級(jí)確定所述寫命令的執(zhí)行結(jié)果為hit,且所述邏輯控制單元確定所述下一流水級(jí)處理所述寫命令不存在讀寫沖突的情況下,所述邏輯控制單元還用于控制所述下一流水級(jí)將所述寫數(shù)據(jù)寫入所述數(shù)據(jù)存儲(chǔ)單元。
12、在一些實(shí)施方式中,在所述當(dāng)前流水級(jí)確定所述寫命令的執(zhí)行結(jié)果為未hit,并且cache為寫滿的狀態(tài)的情況下,所述邏輯處理單元還用于在確定所述下一流水級(jí)處理所述寫命令存在讀寫沖突的情況下,控制所述當(dāng)前流水級(jí)對(duì)所述寫命令延時(shí)一個(gè)時(shí)鐘周期,然后控制第二下一級(jí)流水線讀出替換數(shù)據(jù),并控制所述再一流水級(jí)將所述寫數(shù)據(jù)寫入所述數(shù)據(jù)存儲(chǔ)單元。
13、在一些實(shí)施方式中,在所述當(dāng)前流水級(jí)確定所述寫命令的執(zhí)行結(jié)果為未hit,并且cache為寫滿的狀態(tài)的情況下,所述邏輯處理單元還用于在確定所述下一流水級(jí)處理所述寫命令不存在讀寫沖突的情況下,控制所述下一流水級(jí)從所述數(shù)據(jù)存儲(chǔ)單元中讀出待替換數(shù)據(jù),并控制所述再一流水級(jí)將所述寫數(shù)據(jù)寫入所述數(shù)據(jù)存儲(chǔ)單元。
14、在一些實(shí)施方式中,在所述當(dāng)前流水級(jí)執(zhí)行所述寫命令的執(zhí)行結(jié)果為未hit,并且cache為寫滿的狀態(tài)的情況下,所述邏輯處理單元還用于在確定所述下一流水級(jí)處理所述寫命令不存在讀寫沖突的情況下,控制所述下一流水級(jí)將所述寫數(shù)據(jù)寫入所述數(shù)據(jù)存儲(chǔ)單元。
15、在一些實(shí)施方式中,在所述流水線處理單元的當(dāng)前流水級(jí)執(zhí)行所述寫命令的執(zhí)行結(jié)果為未hit,并且cache為寫滿的狀態(tài)的情況下,所述邏輯處理單元還用于在確定所述下一流水級(jí)處理所述寫命令存在讀寫沖突的情況下,控制所述再一流水級(jí)將所述寫數(shù)據(jù)寫入所述數(shù)據(jù)存儲(chǔ)單元。
16、第二方面,本申請(qǐng)實(shí)施例提供一種cache數(shù)據(jù)處理系統(tǒng),包括數(shù)據(jù)存儲(chǔ)單元以及如第一方面所述的cache數(shù)據(jù)處理裝置。
17、第三方面,本申請(qǐng)實(shí)施例提供一種芯片,包括如第二方面所述的cache數(shù)據(jù)處理系統(tǒng)。
18、本申請(qǐng)?zhí)峁┝艘环Ncache數(shù)據(jù)處理裝置、cache數(shù)據(jù)處理系統(tǒng)及芯片,本申請(qǐng)通過邏輯控制單元用于在流水線處理單元的當(dāng)前流水級(jí)執(zhí)行讀命令的執(zhí)行結(jié)果為讀取數(shù)據(jù)miss的情況下,判斷當(dāng)前流水級(jí)的下一流水級(jí)是否有在先命令需要將數(shù)據(jù)寫入數(shù)據(jù)存儲(chǔ)單元或從數(shù)據(jù)存儲(chǔ)單元中讀取數(shù)據(jù),若有,則控制下一流水級(jí)執(zhí)行一在先命令,能夠利用在讀取數(shù)據(jù)miss的情況下不用從數(shù)據(jù)存儲(chǔ)單元中讀取數(shù)據(jù)的特點(diǎn)執(zhí)行一在先命令的數(shù)據(jù)讀取或?qū)懭氩僮?,并且此時(shí)不會(huì)產(chǎn)生讀寫沖突,從而提高cache的訪問效率。
1.一種cache數(shù)據(jù)處理裝置,其特征在于,包括流水線處理單元和邏輯控制單元,
2.根據(jù)權(quán)利要求1所述的裝置,其特征在于,
3.根據(jù)權(quán)利要求1所述的裝置,其特征在于,
4.根據(jù)權(quán)利要求1-3任一項(xiàng)所述的裝置,其特征在于,
5.根據(jù)權(quán)利要求4所述的裝置,其特征在于,
6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,
10.一種cache數(shù)據(jù)處理系統(tǒng),其特征在于,包括數(shù)據(jù)存儲(chǔ)單元以及如權(quán)利要求1-9任一項(xiàng)所述的cache數(shù)據(jù)處理裝置。
11.一種芯片,其特征在于,包括如權(quán)利要求10所述的cache數(shù)據(jù)處理系統(tǒng)。