本申請(qǐng)涉及計(jì)算機(jī),尤其涉及一種存儲(chǔ)訪問方法、處理器及電子設(shè)備。
背景技術(shù):
1、電子設(shè)備的處理器在進(jìn)行運(yùn)算時(shí),需要從片上存儲(chǔ)單元讀取所需的數(shù)據(jù)、或者將處理好的數(shù)據(jù)寫入片上存儲(chǔ)單元,即需要對(duì)片上存儲(chǔ)單元進(jìn)行存儲(chǔ)訪問。而由于處理器多為并行處理模式,因此存在多個(gè)訪問源進(jìn)行存儲(chǔ)訪問,導(dǎo)致出現(xiàn)多個(gè)請(qǐng)求(讀請(qǐng)求或者寫請(qǐng)求)之間地址依賴的情形。針對(duì)這種情形,相關(guān)技術(shù)中通常在存在依賴的多個(gè)請(qǐng)求間插入氣泡、或者人為編寫請(qǐng)求依賴的屏障程序來解決。但是,人為編寫地址屏障程序增加了人工成本,在多個(gè)請(qǐng)求間插入氣泡,則需要等待上一請(qǐng)求完成且請(qǐng)求間依賴解除后再發(fā)送下條請(qǐng)求,導(dǎo)致存儲(chǔ)訪問的性能很低。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)實(shí)施例提供一種存儲(chǔ)訪問方法、處理器及電子設(shè)備,能夠提高存儲(chǔ)訪問性能。
2、本申請(qǐng)實(shí)施例的技術(shù)方案是這樣實(shí)現(xiàn)的:
3、本申請(qǐng)實(shí)施例提供一種存儲(chǔ)訪問方法,包括:
4、響應(yīng)于針對(duì)片上存儲(chǔ)單元的訪問請(qǐng)求,對(duì)所述訪問請(qǐng)求進(jìn)行讀寫檢測(cè),得到檢測(cè)結(jié)果;
5、當(dāng)所述檢測(cè)結(jié)果表征所述訪問請(qǐng)求為目標(biāo)寫請(qǐng)求時(shí),將所述目標(biāo)寫請(qǐng)求加入寫隊(duì)列中,以及,將所述寫隊(duì)列中所述目標(biāo)寫請(qǐng)求所指示寫入的寫數(shù)據(jù),寫入所述片上存儲(chǔ)單元;
6、當(dāng)所述檢測(cè)結(jié)果表征所述訪問請(qǐng)求為目標(biāo)讀請(qǐng)求時(shí),將所述目標(biāo)讀請(qǐng)求加入讀隊(duì)列中,以及,基于所述目標(biāo)讀請(qǐng)求的讀地址和所述寫隊(duì)列中寫請(qǐng)求的寫地址,從所述片上存儲(chǔ)單元讀取所述目標(biāo)讀請(qǐng)求所指示讀取的讀數(shù)據(jù)。
7、在上述方案中,所述響應(yīng)于針對(duì)片上存儲(chǔ)單元的訪問請(qǐng)求,對(duì)所述訪問請(qǐng)求進(jìn)行讀寫檢測(cè),得到檢測(cè)結(jié)果之前,所述方法還包括:
8、獲取多個(gè)存儲(chǔ)訪問單元發(fā)送的、針對(duì)所述片上存儲(chǔ)單元的多個(gè)訪問請(qǐng)求,各所述存儲(chǔ)訪問單元至少發(fā)送一個(gè)所述訪問請(qǐng)求;
9、所述將所述目標(biāo)寫請(qǐng)求加入寫隊(duì)列中,包括:
10、確定各所述目標(biāo)寫請(qǐng)求的目標(biāo)寫地址;
11、當(dāng)各所述目標(biāo)寫請(qǐng)求的目標(biāo)寫地址之間均不相同時(shí),分別將各所述目標(biāo)寫請(qǐng)求加入所述寫隊(duì)列中;
12、當(dāng)多個(gè)所述目標(biāo)寫請(qǐng)求中存在目標(biāo)寫地址相同的至少兩個(gè)第一寫請(qǐng)求時(shí),針對(duì)所述目標(biāo)寫地址相同的至少兩個(gè)第一寫請(qǐng)求,從所述至少兩個(gè)第一寫請(qǐng)求,選擇一個(gè)第一寫請(qǐng)求加入所述寫隊(duì)列中,并
13、針對(duì)多個(gè)所述目標(biāo)寫請(qǐng)求中除所述至少兩個(gè)第一寫請(qǐng)求之外的第二寫請(qǐng)求,將所述第二寫請(qǐng)求加入所述寫隊(duì)列中。
14、在上述方案中,所述讀隊(duì)列包括各所述存儲(chǔ)訪問單元的子讀隊(duì)列,所述將所述目標(biāo)讀請(qǐng)求加入讀隊(duì)列中,包括:
15、針對(duì)各所述目標(biāo)讀請(qǐng)求,將所述目標(biāo)讀請(qǐng)求,加入發(fā)送所述目標(biāo)讀請(qǐng)求的存儲(chǔ)訪問單元的子讀隊(duì)列中。
16、在上述方案中,所述將所述寫隊(duì)列中所述目標(biāo)寫請(qǐng)求所指示寫入的寫數(shù)據(jù),寫入所述片上存儲(chǔ)單元,包括:
17、獲取針對(duì)所述片上存儲(chǔ)單元的數(shù)據(jù)寫入周期、以及上一次寫入所述片上存儲(chǔ)單元的歷史寫入時(shí)間點(diǎn);
18、當(dāng)基于所述數(shù)據(jù)寫入周期和所述歷史寫入時(shí)間點(diǎn),確定寫入時(shí)間點(diǎn)到達(dá)時(shí),將所述寫隊(duì)列中所述目標(biāo)寫請(qǐng)求所指示寫入的寫數(shù)據(jù),寫入所述片上存儲(chǔ)單元的內(nèi)存庫中。
19、本申請(qǐng)實(shí)施例提供一種處理器,所述處理器包括:讀寫分離單元、以及與所述讀寫分離單元相連接的片上存儲(chǔ)單元,所述片上存儲(chǔ)單元具有寫隊(duì)列和讀隊(duì)列;其中,
20、所述讀寫分離單元,用于響應(yīng)于針對(duì)所述片上存儲(chǔ)單元的訪問請(qǐng)求,對(duì)所述訪問請(qǐng)求進(jìn)行讀寫檢測(cè),得到檢測(cè)結(jié)果;
21、當(dāng)所述檢測(cè)結(jié)果表征所述訪問請(qǐng)求為目標(biāo)寫請(qǐng)求時(shí),將所述目標(biāo)寫請(qǐng)求加入所述片上存儲(chǔ)單元的所述寫隊(duì)列;當(dāng)所述檢測(cè)結(jié)果表征所述訪問請(qǐng)求為目標(biāo)讀請(qǐng)求時(shí),將所述目標(biāo)讀請(qǐng)求加入所述片上存儲(chǔ)單元的所述讀隊(duì)列;
22、所述片上存儲(chǔ)單元,用于將所述寫隊(duì)列中所述目標(biāo)寫請(qǐng)求所指示寫入的寫數(shù)據(jù)寫入所述片上存儲(chǔ)單元;以及,
23、基于所述目標(biāo)讀請(qǐng)求的讀地址和所述寫隊(duì)列中寫請(qǐng)求的寫地址,從所述片上存儲(chǔ)單元讀取所述目標(biāo)讀請(qǐng)求所指示讀取的讀數(shù)據(jù)。
24、本申請(qǐng)實(shí)施例還提供一種電子設(shè)備,包括:
25、存儲(chǔ)器,用于存儲(chǔ)計(jì)算機(jī)程序或計(jì)算機(jī)可執(zhí)行指令;
26、處理器,用于執(zhí)行所述存儲(chǔ)器中存儲(chǔ)的計(jì)算機(jī)程序或計(jì)算機(jī)可執(zhí)行指令,所述處理器為本申請(qǐng)上述實(shí)施例提供的處理器。
27、本申請(qǐng)實(shí)施例具有以下有益效果:
28、應(yīng)用本申請(qǐng)上述實(shí)施例,對(duì)針對(duì)片上存儲(chǔ)單元的訪問請(qǐng)求進(jìn)行讀寫檢測(cè),得到檢測(cè)結(jié)果,當(dāng)檢測(cè)結(jié)果表征訪問請(qǐng)求為目標(biāo)寫請(qǐng)求時(shí),將目標(biāo)寫請(qǐng)求加入寫隊(duì)列中,從而將寫隊(duì)列中目標(biāo)寫請(qǐng)求所指示寫入的寫數(shù)據(jù),寫入片上存儲(chǔ)單元;當(dāng)檢測(cè)結(jié)果表征訪問請(qǐng)求為目標(biāo)讀請(qǐng)求時(shí),將目標(biāo)讀請(qǐng)求加入讀隊(duì)列中,從而基于目標(biāo)讀請(qǐng)求的讀地址以及寫隊(duì)列中寫請(qǐng)求的寫地址,從片上存儲(chǔ)單元讀取目標(biāo)讀請(qǐng)求所指示讀取的讀數(shù)據(jù)。這里,通過分別設(shè)置寫請(qǐng)求的寫隊(duì)列以及讀請(qǐng)求的讀隊(duì)列,從而可以在對(duì)片上存儲(chǔ)單元進(jìn)行存儲(chǔ)訪問時(shí),將寫請(qǐng)求加入寫隊(duì)列以通過寫隊(duì)列按序?qū)崿F(xiàn)寫請(qǐng)求的數(shù)據(jù)寫入,將讀請(qǐng)求加入讀隊(duì)列以通過讀隊(duì)列和寫隊(duì)列按序?qū)崿F(xiàn)讀請(qǐng)求的數(shù)據(jù)讀取。如此,在無需額外人力成本的情況下,解除了請(qǐng)求之間的請(qǐng)求依賴性,無需等待上一條請(qǐng)求完成后才接收下一條請(qǐng)求,從而提高了存儲(chǔ)訪問性能。
1.一種存儲(chǔ)訪問方法,其特征在于,所述方法包括:
2.如權(quán)利要求1所述的方法,其特征在于,所述響應(yīng)于針對(duì)片上存儲(chǔ)單元的訪問請(qǐng)求,對(duì)所述訪問請(qǐng)求進(jìn)行讀寫檢測(cè),得到檢測(cè)結(jié)果之前,所述方法還包括:
3.如權(quán)利要求2所述的方法,其特征在于,所述存儲(chǔ)訪問單元具有相應(yīng)的訪問編號(hào),所述從所述至少兩個(gè)第一寫請(qǐng)求,選擇一個(gè)第一寫請(qǐng)求加入所述寫隊(duì)列中,包括:
4.如權(quán)利要求1所述的方法,其特征在于,所述將所述目標(biāo)寫請(qǐng)求加入寫隊(duì)列中,包括:
5.如權(quán)利要求1所述的方法,其特征在于,所述寫隊(duì)列中各寫請(qǐng)求具有相應(yīng)數(shù)據(jù)有效標(biāo)識(shí),所述將所述目標(biāo)寫請(qǐng)求加入寫隊(duì)列中之后,所述方法還包括:
6.如權(quán)利要求1所述的方法,其特征在于,所述基于所述目標(biāo)讀請(qǐng)求的讀地址和所述寫隊(duì)列中寫請(qǐng)求的寫地址,從所述片上存儲(chǔ)單元讀取所述目標(biāo)讀請(qǐng)求所指示讀取的讀數(shù)據(jù),包括:
7.如權(quán)利要求6所述的方法,其特征在于,所述從所述片上存儲(chǔ)單元的內(nèi)存庫,讀取所述目標(biāo)讀請(qǐng)求所指示讀取的讀數(shù)據(jù),包括:
8.如權(quán)利要求1所述的方法,其特征在于,所述讀取所述目標(biāo)讀請(qǐng)求所指示讀取的讀數(shù)據(jù)之后,所述方法包括:
9.一種處理器,其特征在于,所述處理器包括:讀寫分離單元、以及與所述讀寫分離單元相連接的片上存儲(chǔ)單元,所述片上存儲(chǔ)單元具有寫隊(duì)列和讀隊(duì)列;其中,
10.如權(quán)利要求9所述的處理器,其特征在于,所述讀寫分離單元的數(shù)量為多個(gè),各所述讀寫分離單元分別連接有一個(gè)存儲(chǔ)訪問單元;
11.如權(quán)利要求10所述的處理器,其特征在于,所述片上存儲(chǔ)單元還包括:與多個(gè)所述讀寫分離單元相連接的寫請(qǐng)求屏蔽單元;
12.如權(quán)利要求11所述的處理器,其特征在于,所述存儲(chǔ)訪問單元具有相應(yīng)的訪問編號(hào);
13.如權(quán)利要求10所述的處理器,其特征在于,所述片上存儲(chǔ)單元的讀隊(duì)列包括:各所述存儲(chǔ)訪問單元的子讀隊(duì)列;
14.如權(quán)利要求9所述的處理器,其特征在于,所述讀寫分離單元,還用于將所述目標(biāo)寫請(qǐng)求傳輸至所述片上存儲(chǔ)單元;
15.如權(quán)利要求9所述的處理器,其特征在于,所述寫隊(duì)列中各寫請(qǐng)求具有相應(yīng)數(shù)據(jù)有效標(biāo)識(shí);
16.如權(quán)利要求9所述的處理器,其特征在于,所述片上存儲(chǔ)單元還包括:與所述讀寫分離單元相連接的比較選擇單元;
17.如權(quán)利要求16所述的處理器,其特征在于,所述片上存儲(chǔ)單元還包括:與所述讀寫分離單元相連接的讀請(qǐng)求調(diào)度單元;
18.如權(quán)利要求9所述的處理器,其特征在于,所述片上存儲(chǔ)單元,還用于將所述讀數(shù)據(jù)寫入所述讀隊(duì)列中所述目標(biāo)讀請(qǐng)求的數(shù)據(jù)域段;
19.如權(quán)利要求9所述的處理器,其特征在于,所述片上存儲(chǔ)單元,還用于獲取針對(duì)所述片上存儲(chǔ)單元的數(shù)據(jù)寫入周期、以及上一次寫入所述片上存儲(chǔ)單元的歷史寫入時(shí)間點(diǎn);
20.一種電子設(shè)備,其特征在于,所述電子設(shè)備包括: