,用于所述存儲(chǔ)單元根據(jù)所述訪問(wèn)頻率將所述訪問(wèn)響應(yīng)消息存儲(chǔ)至對(duì)應(yīng)的緩存中之后,若所述訪問(wèn)響應(yīng)消息存儲(chǔ)至所述一級(jí)緩存中,則將所述訪問(wèn)響應(yīng)消息所包括的緩存線地址在一級(jí)緩存中對(duì)應(yīng)的緩存線的計(jì)數(shù)器加I ;
[0050]若存儲(chǔ)在所述一級(jí)緩存中的所述訪問(wèn)響應(yīng)消息被替換,且所述訪問(wèn)響應(yīng)消息包括的緩存線地址在一級(jí)緩存中對(duì)應(yīng)的緩存線的計(jì)數(shù)器未飽和,則將所述緩存線地址在最后一級(jí)緩存中對(duì)應(yīng)的緩存線的計(jì)數(shù)器加I。
[0051]結(jié)合第四方面第一種可能實(shí)現(xiàn)方式,在第四方面第二種可能實(shí)現(xiàn)方式中,所述確定單元,具體用于:
[0052]判斷所述緩存線地址在最后一級(jí)緩存中對(duì)應(yīng)的緩存線的計(jì)數(shù)器是否飽和,若是,則確定所述緩存線地址為具有第一訪問(wèn)頻率的緩存線地址,若否,則確定所述緩存線地址為具有第二訪問(wèn)頻率的緩存線地址;
[0053]所述存儲(chǔ)單元,具體用于:
[0054]將具有所述第一訪問(wèn)頻率的緩存線地址的訪問(wèn)響應(yīng)消息存儲(chǔ)至所述一級(jí)緩存中;
[0055]將具有所述第二訪問(wèn)頻率的緩存線地址的訪問(wèn)響應(yīng)消息存儲(chǔ)至CPU寄存器。
[0056]本發(fā)明第五方面提供了一種存儲(chǔ)器,包括:內(nèi)存、多級(jí)緩存以及如第三方面至第三方面第二種可能的實(shí)現(xiàn)方式中任一項(xiàng)所述的判斷邏輯模塊。
[0057]本發(fā)明第六方面提供了一種存儲(chǔ)器,包括:內(nèi)存、多級(jí)緩存以及如第四方面至第四方面第二種可能的實(shí)現(xiàn)方式中任一項(xiàng)所述的判斷邏輯模塊。
[0058]本發(fā)明實(shí)施例數(shù)據(jù)緩存處理方法及裝置,通過(guò)確定訪問(wèn)響應(yīng)消息中包括的緩存線地址的訪問(wèn)頻率,并根據(jù)所述訪問(wèn)頻率將所述訪問(wèn)響應(yīng)消息存儲(chǔ)至對(duì)應(yīng)的緩存中,降低了一級(jí)緩存的未命中率。解決現(xiàn)有技術(shù)中一級(jí)緩存未命中率高的技術(shù)問(wèn)題。
【附圖說(shuō)明】
[0059]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0060]圖1為本發(fā)明數(shù)據(jù)緩存處理方法實(shí)施例一的流程圖;
[0061]圖2為本發(fā)明數(shù)據(jù)緩存處理方法實(shí)施例二的流程圖;
[0062]圖3為本發(fā)明判斷邏輯模塊實(shí)施例一的結(jié)構(gòu)示意圖;
[0063]圖4為本發(fā)明判斷邏輯模塊實(shí)施例二的結(jié)構(gòu)示意圖;
[0064]圖5為本發(fā)明判斷邏輯模塊實(shí)施例三的結(jié)構(gòu)示意圖;
[0065]圖6為本發(fā)明存儲(chǔ)器實(shí)施例一的結(jié)構(gòu)示意圖;
[0066]圖7為本發(fā)明存儲(chǔ)器實(shí)施例二的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0067]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0068]圖1為本發(fā)明數(shù)據(jù)緩存處理方法實(shí)施例一的流程圖,如圖1所示,本實(shí)施例的方法可以包括:
[0069]步驟101、接收內(nèi)存發(fā)送的訪問(wèn)響應(yīng)消息,所述訪問(wèn)響應(yīng)消息包括被訪問(wèn)數(shù)據(jù)和緩存線地址,所述訪問(wèn)響應(yīng)消息為所述內(nèi)存在各級(jí)緩存均未命中后接收的訪問(wèn)請(qǐng)求消息對(duì)應(yīng)的響應(yīng)消息;
[0070]步驟102、確定所述緩存線地址的訪問(wèn)頻率;
[0071]步驟103、根據(jù)所述訪問(wèn)頻率將所述訪問(wèn)響應(yīng)消息存儲(chǔ)至對(duì)應(yīng)的緩存中。
[0072]具體來(lái)說(shuō),當(dāng)CPU訪問(wèn)的內(nèi)存地址在各級(jí)緩存中均未命中后,內(nèi)存接收CPU發(fā)送的訪問(wèn)請(qǐng)求后,向邏輯判斷模塊發(fā)送對(duì)應(yīng)該訪問(wèn)請(qǐng)求的訪問(wèn)響應(yīng)消息,該訪問(wèn)響應(yīng)消息包括被訪問(wèn)數(shù)據(jù)和對(duì)應(yīng)于訪問(wèn)內(nèi)存地址的緩存線地址。判斷邏輯模塊確定所述緩存線地址的訪問(wèn)頻率,并根據(jù)所述訪問(wèn)頻率將該訪問(wèn)響應(yīng)消息存儲(chǔ)至對(duì)應(yīng)的緩存中。
[0073]確定所述緩存線地址的訪問(wèn)頻率,第一種方式:
[0074]判斷是否接收至少兩個(gè)包括所述緩存線地址的訪問(wèn)響應(yīng)消息,若是,則確定所述緩存線地址為具有第一訪問(wèn)頻率的緩存線地址,若否,則確定所述緩存線地址為具有第二訪問(wèn)頻率的緩存線地址;
[0075]所述根據(jù)所述訪問(wèn)頻率將所述訪問(wèn)響應(yīng)消息存儲(chǔ)至對(duì)應(yīng)的緩存中,包括:
[0076]將具有所述第一訪問(wèn)頻率的緩存線地址的訪問(wèn)響應(yīng)消息存儲(chǔ)至一級(jí)緩存中;
[0077]將具有所述第二訪問(wèn)頻率的緩存線地址的訪問(wèn)響應(yīng)消息存儲(chǔ)至最后一級(jí)緩存中。
[0078]具體來(lái)說(shuō),CPU發(fā)出的訪問(wèn)請(qǐng)求經(jīng)過(guò)各級(jí)緩存檢查都未命中后到內(nèi)存需經(jīng)過(guò)數(shù)百個(gè)時(shí)鐘周期,在此期間內(nèi)若判斷邏輯模塊接收到至少兩個(gè)包括同一緩存線地址的訪問(wèn)響應(yīng)消息,則確定該緩存線地址為具有第一訪問(wèn)頻率的緩存線地址,相應(yīng)地將該緩存線地址對(duì)應(yīng)的訪問(wèn)響應(yīng)消息存儲(chǔ)在一級(jí)緩存中,以便后續(xù)CPU再次訪問(wèn)該緩存地址時(shí)直接從一級(jí)緩存中獲取該緩存地址對(duì)應(yīng)的數(shù)據(jù);否則,確定該緩存線地址為具有第二訪問(wèn)頻率的緩存線地址,相應(yīng)地將該緩存線地址對(duì)應(yīng)的訪問(wèn)響應(yīng)消息存儲(chǔ)在最后一級(jí)緩存中,從而降低了一級(jí)緩存的未命中率。
[0079]第二種方式:
[0080]判斷所述緩存線地址對(duì)應(yīng)的尋址方式是否為寄存器尋址,若是,則確定所述緩存線地址為具有第一訪問(wèn)頻率的緩存線地址,若否,則確定所述緩存線地址為具有第二訪問(wèn)頻率的緩存線地址;
[0081]所述根據(jù)所述訪問(wèn)頻率將所述訪問(wèn)響應(yīng)消息存儲(chǔ)至對(duì)應(yīng)的緩存中,包括:
[0082]將具有所述第一訪問(wèn)頻率的緩存線地址的訪問(wèn)響應(yīng)消息存儲(chǔ)至一級(jí)緩存中;
[0083]將具有所述第二訪問(wèn)頻率的緩存線地址的訪問(wèn)響應(yīng)消息存儲(chǔ)至最后一級(jí)緩存中。
[0084]具體來(lái)說(shuō),判斷邏輯模塊接收內(nèi)存發(fā)送的訪問(wèn)響應(yīng)消息后,判斷該訪問(wèn)消息包括的緩存線地址對(duì)應(yīng)的尋址方式是否為寄存器尋址,由于寄存器尋址的指令所需的操作數(shù)已存儲(chǔ)在寄存器中,或操作的結(jié)果存入寄存器,因此在指令執(zhí)行過(guò)程中,會(huì)減少讀或?qū)懘鎯?chǔ)器單元的次數(shù),因此使用寄存器尋址方式的指令具有較快的執(zhí)行速度,從而若是寄存器尋址方式,則確定所述緩存線地址具有第一訪問(wèn)頻率,相應(yīng)地將該緩存線地址的訪問(wèn)響應(yīng)消息存儲(chǔ)至一級(jí)緩存中;否則,確定該緩存線地址具有第二訪問(wèn)頻率,相應(yīng)地將該緩存線地址對(duì)應(yīng)的訪問(wèn)響應(yīng)消息存儲(chǔ)在最后一級(jí)緩存中,以便降低一級(jí)緩存的未命中率,所述具有第一訪問(wèn)頻率的緩存線地址為訪問(wèn)頻率高的緩存線地址。
[0085]本實(shí)施例,通過(guò)確定訪問(wèn)響應(yīng)消息中包括的緩存線地址的訪問(wèn)頻率,并根據(jù)所述訪問(wèn)頻率將所述訪問(wèn)響應(yīng)消息存儲(chǔ)至對(duì)應(yīng)的緩存中,減小了一級(jí)緩存的未命中率。解決現(xiàn)有技術(shù)中一級(jí)緩存未命中率高的技術(shù)問(wèn)題。
[0086]圖2為本發(fā)明數(shù)據(jù)緩存處理方法實(shí)施例二的流程圖,如圖2所示,本實(shí)施例的方法可以包括:
[0087]步驟201、接收最后一級(jí)緩存發(fā)送的訪問(wèn)響應(yīng)消息,所述訪問(wèn)響應(yīng)消息包括被訪問(wèn)數(shù)據(jù)和緩存線地址,所述訪問(wèn)響應(yīng)消息為最后一級(jí)緩存命中后與訪問(wèn)請(qǐng)求消息對(duì)應(yīng)的響應(yīng)消息;
[0088]步驟202、確定所述緩存線地址的訪問(wèn)頻率;
[0089]步驟203、根據(jù)所述訪問(wèn)頻率將所述訪問(wèn)響應(yīng)消息存儲(chǔ)至對(duì)應(yīng)的緩存中。
[0090]具體來(lái)說(shuō),當(dāng)CPU訪問(wèn)的內(nèi)存地址在最后一級(jí)緩存命中后,最后一級(jí)緩存接收CPU發(fā)送的訪問(wèn)請(qǐng)求,并向邏輯判斷模塊發(fā)送對(duì)應(yīng)該訪問(wèn)請(qǐng)求的