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

訪存優(yōu)化方法和裝置的制造方法

文檔序號(hào):8922526閱讀:444來源:國知局
訪存優(yōu)化方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明實(shí)施例涉及通信技術(shù)領(lǐng)域,尤其涉及一種訪存優(yōu)化方法和裝置。
【背景技術(shù)】
[0002]緩沖存儲(chǔ)器是存儲(chǔ)系統(tǒng)中最重要的部分,最早是由Wilkes于1951年構(gòu)想出來,為了彌補(bǔ)中央處理器(Central Processing Unit,簡(jiǎn)稱CPU)與內(nèi)存之間的速度差異而提出的,為了有效彌補(bǔ)CPU與內(nèi)存之間的速度差異引起的延遲,CPU中通常采用多級(jí)存儲(chǔ)系統(tǒng)。例如采用一級(jí)緩存、二級(jí)緩存和隨機(jī)存取存儲(chǔ)器(Random Access Memory,簡(jiǎn)稱RAM)三個(gè)層次的存儲(chǔ)結(jié)構(gòu),其訪問速度依次遞減,容量依次遞增,如果CPU執(zhí)行寫指令時(shí),對(duì)最后一級(jí)緩存(二級(jí)緩存)的訪問未命中,那么需要訪問RAM,造成訪問延遲長(zhǎng),功耗高,性能差的問題。
[0003]為解決上述問題,現(xiàn)有技術(shù)中在CPU執(zhí)行寫指令且緩存未命中的情況下,不去訪問RAM,而是首先采用數(shù)據(jù)緩存塊清除為零(Data Cache Block Zero,簡(jiǎn)稱dcbz)指令直接在緩存中為訪問地址分配一個(gè)緩存塊,并對(duì)該整個(gè)緩存塊寫入全O數(shù)據(jù),由于只能對(duì)整個(gè)緩存塊寫入全O數(shù)據(jù),即只能將緩存塊初始化為全O數(shù)據(jù),因此后續(xù)仍然需要使用一個(gè)寫指令(例如store指令)將有效數(shù)據(jù)寫入緩存,增加了訪存操作。

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

[0004]本發(fā)明實(shí)施例提供一種訪存優(yōu)化方法和裝置,解決了現(xiàn)有技術(shù)中在CPU執(zhí)行寫指令且緩存未命中的情況下,只能對(duì)整個(gè)緩存塊寫入全O數(shù)據(jù),后續(xù)寫入真正的有效數(shù)據(jù)時(shí),需要再次進(jìn)行寫操作,增加了訪存操作,造成功耗浪費(fèi)的問題。
[0005]第一方面,本發(fā)明實(shí)施例提供一種訪存優(yōu)化方法,包括:
[0006]確定處理器核的緩存訪問是否未命中緩存塊;
[0007]若緩存訪問未命中緩存塊,則在緩存中通過塊存儲(chǔ)指令為訪問地址分配一個(gè)緩存塊,并將所述塊存儲(chǔ)指令指示的地址標(biāo)識(shí)字段的地址單元寫入到分配的緩存塊的地址標(biāo)識(shí)字段,將所述塊存儲(chǔ)指令指示的數(shù)據(jù)寫入到所述分配的緩存塊的第一數(shù)據(jù)位置上,所述分配的緩存塊的第一數(shù)據(jù)位置為所述塊存儲(chǔ)指令指示的所述分配的緩存塊的數(shù)據(jù)位置。
[0008]在第一方面的第一種可能的實(shí)現(xiàn)方式中,還包括:
[0009]如果所述塊存儲(chǔ)指令指示的數(shù)據(jù)的寬度小于所述分配的緩存塊的寬度,則保持所述分配的緩存塊的第二數(shù)據(jù)位置上的數(shù)據(jù)或?qū)⑺龇峙涞木彺鎵K的第二數(shù)據(jù)位置上全部寫入“O”數(shù)據(jù)值或“ I ”數(shù)據(jù)值或?qū)⑺龇峙涞木彺鎵K的第二數(shù)據(jù)位置上寫入“O”數(shù)據(jù)值和“I”數(shù)據(jù)值,所述分配的緩存塊的第二數(shù)據(jù)位置為除所述分配的緩存塊的第一數(shù)據(jù)位置之外的所述分配的緩存塊的數(shù)據(jù)位置。
[0010]根據(jù)第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,還包括:
[0011]若緩存訪問命中緩存塊,則將所述塊存儲(chǔ)指令指示的數(shù)據(jù)寫入到命中的緩存塊的第一數(shù)據(jù)位置上,所述命中的緩存塊的第一數(shù)據(jù)位置為所述塊存儲(chǔ)指令指示的所述命中的緩存塊的數(shù)據(jù)位置。
[0012]根據(jù)第一方面的第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,還包括:
[0013]如果所述塊存儲(chǔ)指令指示的數(shù)據(jù)的寬度小于命中的緩存塊的寬度,則保持所述命中的緩存塊的第二數(shù)據(jù)位置上的數(shù)據(jù)或?qū)⑺雒械木彺鎵K的第二數(shù)據(jù)位置上全部寫入“O”數(shù)據(jù)值或“ I ”數(shù)據(jù)值或?qū)⑺雒械木彺鎵K的第二數(shù)據(jù)位置上寫入“O”數(shù)據(jù)值和“ I ”數(shù)據(jù)值,所述命中的緩存塊的第二數(shù)據(jù)位置為除所述命中的緩存塊的第一數(shù)據(jù)位置之外的所述命中的緩存塊的數(shù)據(jù)位置。
[0014]第二方面,本發(fā)明實(shí)施例提供一種訪存優(yōu)化裝置,包括:
[0015]確定模塊,用于確定處理器核的緩存訪問是否未命中緩存塊;
[0016]處理模塊,用于若緩存訪問未命中緩存塊,則在緩存中通過塊存儲(chǔ)指令為訪問地址分配一個(gè)緩存塊,并將所述塊存儲(chǔ)指令指示的地址標(biāo)識(shí)字段的地址單元寫入到分配的緩存塊的地址標(biāo)識(shí)字段,將所述塊存儲(chǔ)指令指示的數(shù)據(jù)寫入到所述分配的緩存塊的第一數(shù)據(jù)位置上,所述分配的緩存塊的第一數(shù)據(jù)位置為所述塊存儲(chǔ)指令指示的所述分配的緩存塊的數(shù)據(jù)位置。
[0017]在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述處理模塊還用于如果所述塊存儲(chǔ)指令指示的數(shù)據(jù)的寬度小于所述分配的緩存塊的寬度,則保持所述分配的緩存塊的第二數(shù)據(jù)位置上的數(shù)據(jù)或?qū)⑺龇峙涞木彺鎵K的第二數(shù)據(jù)位置上全部寫入“O”數(shù)據(jù)值或“ I”數(shù)據(jù)值或?qū)⑺龇峙涞木彺鎵K的第二數(shù)據(jù)位置上寫入“O”數(shù)據(jù)值和“ I ”數(shù)據(jù)值,所述分配的緩存塊的第二數(shù)據(jù)位置為除所述分配的緩存塊的第一數(shù)據(jù)位置之外的所述分配的緩存塊的數(shù)據(jù)位置。
[0018]根據(jù)第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述處理模塊還用于若緩存訪問命中緩存塊,則將所述塊存儲(chǔ)指令指示的數(shù)據(jù)寫入到命中的緩存塊的第一數(shù)據(jù)位置上,所述命中的緩存塊的第一數(shù)據(jù)位置為所述塊存儲(chǔ)指令指示的所述命中的緩存塊的數(shù)據(jù)位置。
[0019]根據(jù)第二方面的第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述處理模塊還用于如果所述塊存儲(chǔ)指令指示的數(shù)據(jù)的寬度小于命中的緩存塊的寬度,則保持所述命中的緩存塊的第二數(shù)據(jù)位置上的數(shù)據(jù)或?qū)⑺雒械木彺鎵K的第二數(shù)據(jù)位置上全部寫入“O”數(shù)據(jù)值或“I”數(shù)據(jù)值或?qū)⑺雒械木彺鎵K的第二數(shù)據(jù)位置上寫入“O”數(shù)據(jù)值和“I”數(shù)據(jù)值,所述命中的緩存塊的第二數(shù)據(jù)位置為除所述命中的緩存塊的第一數(shù)據(jù)位置之外的所述命中的緩存塊的數(shù)據(jù)位置。
[0020]本發(fā)明實(shí)施例訪存優(yōu)化方法和裝置,通過確定處理器核的緩存訪問是否未命中緩存塊,在緩存訪問未命中緩存塊的情況下,在緩存中通過塊存儲(chǔ)指令為訪問地址分配一個(gè)緩存塊,并將塊存儲(chǔ)指令指示的地址標(biāo)識(shí)字段的地址單元寫入到分配的緩存塊的地址標(biāo)識(shí)字段,將塊存儲(chǔ)指令指示的數(shù)據(jù)寫入到分配的緩存塊的第一數(shù)據(jù)位置上,從而在CPU執(zhí)行寫指令且緩存未命中的時(shí),減少了訪問主存的次數(shù),提高了程序執(zhí)行效率。
【附圖說明】
[0021]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0022]圖1為本發(fā)明實(shí)施例一所提供的訪存優(yōu)化方法的流程圖;
[0023]圖2為本發(fā)明實(shí)施例二所提供的訪存優(yōu)化方法的流程圖;
[0024]圖3為本發(fā)明實(shí)施例三所提供的訪存優(yōu)化裝置300的結(jié)構(gòu)示意圖;
[0025]圖4為本發(fā)明實(shí)施例四所提供的一種訪存優(yōu)化裝置400的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0026]為使本發(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ù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0027]圖1為本發(fā)明實(shí)施例一所提供的訪存優(yōu)化方法的流程圖。本實(shí)施例的方法適用于在CPU執(zhí)行寫指令且緩存未命中的情況下,通過降低訪存操作將數(shù)據(jù)寫入緩存塊的情況。該方法由訪存優(yōu)化裝置執(zhí)行,該裝置通常以硬件和/或軟件的方式來實(shí)現(xiàn)。本實(shí)施例的方法包括如下步驟:
[0028]S110、確定處理器核的緩存訪問是否未命中緩存塊。
[0029]S120、若緩存訪問未命中緩存塊,則在緩存中通過塊存儲(chǔ)指令為訪問地址分配一個(gè)緩存塊,并將塊存儲(chǔ)指令指示的地址標(biāo)識(shí)字段的地址單元寫入到分配的緩存塊的地址標(biāo)識(shí)字段,將塊存儲(chǔ)指令指示的數(shù)據(jù)寫入到分配的緩存塊的第一數(shù)據(jù)位置上,分配的緩存塊的第一數(shù)據(jù)位置為塊存儲(chǔ)指令指示的分配的緩存塊的數(shù)據(jù)位置。
[0030]處理器核訪問存儲(chǔ)器時(shí),需要檢查CPU送出的地址,判斷CPU要訪問的地址單元是否在緩存中。若在,稱為命中(
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1