欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種數(shù)據(jù)處理的方法和設(shè)備與流程

文檔序號(hào):12040426閱讀:257來源:國(guó)知局
一種數(shù)據(jù)處理的方法和設(shè)備與流程
本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,尤其涉及一種數(shù)據(jù)處理的方法和設(shè)備。

背景技術(shù):
目前,通用數(shù)據(jù)處理設(shè)備采用寄存器堆的架構(gòu)存儲(chǔ)指令運(yùn)行過程的中間結(jié)果及數(shù)據(jù)處理設(shè)備運(yùn)行狀態(tài),是數(shù)據(jù)處理設(shè)備體系架構(gòu)的一個(gè)重要組成部分。寄存器堆緩存技術(shù)已經(jīng)日益成為一種重要的寄存器堆設(shè)計(jì)技術(shù),在現(xiàn)有寄存器堆緩存技術(shù)中,寄存器堆的架構(gòu)一般由寄存器堆緩存和主寄存器堆組成,主寄存器堆包括多個(gè)寄存器,其中,寄存器堆緩存中緩存有最近頻繁使用的寄存器的數(shù)據(jù),而主寄存器堆則存放所有寄存器的數(shù)據(jù),數(shù)據(jù)處理設(shè)備在讀取寄存器堆時(shí),首先讀取速度較快的寄存器堆緩存中的數(shù)據(jù),如果寄存器堆緩存訪問命中(即從該寄存器堆緩存中讀取到對(duì)應(yīng)的數(shù)據(jù)),則對(duì)該數(shù)據(jù)進(jìn)行運(yùn)算處理,如果發(fā)生寄存器堆緩存訪問不命中(即沒有從該寄存器堆緩存中讀取到對(duì)應(yīng)的數(shù)據(jù)),則繼續(xù)讀取速度較慢的主寄存器堆中的數(shù)據(jù),并在對(duì)讀取到的數(shù)據(jù)進(jìn)行運(yùn)算處理的同時(shí),將該數(shù)據(jù)緩存至寄存器堆緩存中。但是,由于大部分寄存器數(shù)值中的數(shù)據(jù)在被使用一次后就無效了,因此寄存器堆緩存發(fā)生訪問不命中后,讀取的主寄存器堆中的數(shù)據(jù)在緩存后就再也不被使用而使得緩存的數(shù)據(jù)無效,并且由于該緩存的數(shù)據(jù)會(huì)替換掉寄存器堆緩存中原本有用的數(shù)據(jù),從而導(dǎo)致寄存器堆緩存的使用效率下降,降低了數(shù)據(jù)處理設(shè)備對(duì)數(shù)據(jù)處理的效率,另外,由于數(shù)據(jù)處理設(shè)備對(duì)數(shù)據(jù)的緩存增加了數(shù)據(jù)處理設(shè)備的功耗,因此,在緩存上述無效的數(shù)據(jù)時(shí),會(huì)造成數(shù)據(jù)處理設(shè)備功耗的浪費(fèi)。

技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的實(shí)施例提供一種數(shù)據(jù)處理的方法和設(shè)備,以提高數(shù)據(jù)處理設(shè)備對(duì)數(shù)據(jù)處理的效率,并減少數(shù)據(jù)處理過程中的功耗。為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案:第一方面,本發(fā)明實(shí)施例提供一種數(shù)據(jù)處理的方法,包括:數(shù)據(jù)處理設(shè)備讀取寄存器中的數(shù)據(jù),并獲取所述寄存器的狀態(tài)信息;若根據(jù)所述寄存器的狀態(tài)信息確定所述寄存器不緩存所述數(shù)據(jù),對(duì)所述數(shù)據(jù)進(jìn)行處理;若根據(jù)所述寄存器的狀態(tài)信息確定所述寄存器緩存所述數(shù)據(jù),緩存所述數(shù)據(jù),并對(duì)所述數(shù)據(jù)進(jìn)行處理。在第一方面第一種可能的實(shí)現(xiàn)方式中,所述獲取所述寄存器的狀態(tài)信息包括:獲取所述寄存器的標(biāo)識(shí)信息;在數(shù)據(jù)處理設(shè)備讀取寄存器中的數(shù)據(jù),并獲取所述寄存器的狀態(tài)信息前,還包括:在寄存器堆中確定待緩存寄存器,其中,所述待緩存寄存器為在所述待緩存寄存器中的數(shù)據(jù)被讀取后進(jìn)行數(shù)據(jù)緩存的寄存器;將所述待緩存寄存器的標(biāo)識(shí)信息調(diào)整為預(yù)設(shè)寄存器標(biāo)識(shí)集合中的標(biāo)識(shí)信息;其中,所述預(yù)設(shè)寄存器標(biāo)識(shí)集合包括確定進(jìn)行數(shù)據(jù)緩存的寄存器的標(biāo)識(shí)信息;所述根據(jù)所述標(biāo)識(shí)信息確定不緩存所述寄存器中的數(shù)據(jù)包括:在確定所述預(yù)設(shè)寄存器標(biāo)識(shí)集合不包括所述寄存器的標(biāo)識(shí)信息時(shí),確定不緩存所述寄存器中的數(shù)據(jù);所述根據(jù)所述標(biāo)識(shí)信息確定緩存所述寄存器中的數(shù)據(jù)包括:在確定所述預(yù)設(shè)寄存器標(biāo)識(shí)集合包括所述寄存器的標(biāo)識(shí)信息時(shí),確定緩存所述寄存器中的數(shù)據(jù)。結(jié)合第一方面第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述在寄存器堆中確定待緩存寄存器包括:根據(jù)程序指令確定所述寄存器堆中各寄存器的第一生命周期,并確定所述寄存器堆中各寄存器在所述第一生命周期對(duì)應(yīng)數(shù)據(jù)的讀取次數(shù);其中,所述第一生命周期為所述各寄存器中被讀取次數(shù)最多的數(shù)據(jù)對(duì)應(yīng)的生命周期;根據(jù)所述讀取次數(shù)由大到小的順序確定所述待緩存寄存器,其中,所述待緩存寄存器的數(shù)量與所述預(yù)設(shè)寄存器標(biāo)識(shí)集合中的元素?cái)?shù)相同。結(jié)合第一方面第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述方法還包括:當(dāng)所述寄存器堆中的任兩個(gè)寄存器在所述第一生命周期對(duì)應(yīng)的讀取次數(shù)相同時(shí),分別獲取所述任兩個(gè)寄存器在所述第一生命周期內(nèi)對(duì)應(yīng)的數(shù)據(jù)的最后一次被讀取的位置至所述第一生命周期的起始位置之間程序指令的數(shù)量;將數(shù)量最少的程序指令對(duì)應(yīng)的寄存器優(yōu)先確定為待緩存寄存器。結(jié)合第一方面,在第一方面第四種可能的實(shí)現(xiàn)方式中,所述獲取所述寄存器的狀態(tài)信息包括:獲取所述寄存器的讀取次數(shù)標(biāo)志位;其中,所述讀取次數(shù)標(biāo)志位用于記錄所述寄存器被讀取的次數(shù);所述獲取所述寄存器的讀取次數(shù)標(biāo)志位包括:在所述數(shù)據(jù)處理設(shè)備讀取所述寄存器中的數(shù)據(jù)后,將所述寄存器的讀取次數(shù)標(biāo)志位加1;所述根據(jù)所述標(biāo)識(shí)信息確定不緩存所述寄存器中的數(shù)據(jù)包括:在確定所述讀取次數(shù)標(biāo)志位的數(shù)值小于預(yù)設(shè)閾值時(shí),確定不緩存所述寄存器中的數(shù)據(jù);所述根據(jù)所述標(biāo)識(shí)信息確定緩存所述寄存器中的數(shù)據(jù)包括:在確定所述讀取次數(shù)標(biāo)志位的數(shù)值大于或等于所述預(yù)設(shè)閾值時(shí),確定緩存所述寄存器中的數(shù)據(jù)。結(jié)合第一方面第四種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,所述在對(duì)所述數(shù)據(jù)進(jìn)行處理后,還包括:在將所述處理后的數(shù)據(jù)寫入所述寄存器后,對(duì)所述讀取次數(shù)標(biāo)志位進(jìn)行清零。第二方面,提供一種數(shù)據(jù)處理設(shè)備,包括:寄存器堆,用于通過寄存器存儲(chǔ)數(shù)據(jù);處理單元,用于讀取所述寄存器中的數(shù)據(jù)并獲取所述寄存器的狀態(tài)信息;若根據(jù)所述寄存器的狀態(tài)信息確定不緩存所述寄存器中的數(shù)據(jù),則將所述數(shù)據(jù)發(fā)送至運(yùn)算處理單元;若根據(jù)所述寄存器的狀態(tài)信息確定緩存所述寄存器中的數(shù)據(jù),則將所述數(shù)據(jù)發(fā)送至緩存單元和運(yùn)算處理單元;運(yùn)算處理單元,用于對(duì)所述處理單元發(fā)送的數(shù)據(jù)進(jìn)行處理;緩存單元,用于緩存所述處理單元發(fā)送的數(shù)據(jù)。在第二方面第一種可能的實(shí)現(xiàn)方式中,所述處理單元具體用于,獲取所述寄存器的標(biāo)識(shí)信息;所述處理單元還用于,在寄存器堆中確定待緩存寄存器,將所述待緩存寄存器的標(biāo)識(shí)信息調(diào)整為預(yù)設(shè)寄存器標(biāo)識(shí)集合中的標(biāo)識(shí)信息;在確定所述預(yù)設(shè)寄存器標(biāo)識(shí)集合不包括所述寄存器的標(biāo)識(shí)信息時(shí),確定不緩存所述寄存器中的數(shù)據(jù);在確定所述預(yù)設(shè)寄存器標(biāo)識(shí)集合包括所述寄存器的標(biāo)識(shí)信息時(shí),確定緩存所述寄存器中的數(shù)據(jù);其中,所述待緩存寄存器為在所述待緩存寄存器中的數(shù)據(jù)被讀取后進(jìn)行數(shù)據(jù)緩存的寄存器;所述預(yù)設(shè)寄存器標(biāo)識(shí)集合包括確定進(jìn)行數(shù)據(jù)緩存的寄存器的標(biāo)識(shí)信息。結(jié)合第二方面第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述處理單元具體用于,根據(jù)程序指令確定所述寄存器堆中各寄存器的第一生命周期,并確定所述寄存器堆中各寄存器在所述第一生命周期對(duì)應(yīng)數(shù)據(jù)的讀取次數(shù),并根據(jù)所述讀取次數(shù)由大到小的順序確定所述待緩存寄存器,其中,所述待緩存寄存器的數(shù)量與所述預(yù)設(shè)寄存器標(biāo)識(shí)集合中的元素?cái)?shù)相同;所述第一生命周期為所述各寄存器中被讀取次數(shù)最多的數(shù)據(jù)對(duì)應(yīng)的生命周期。結(jié)合第二方面第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述處理單元還用于,當(dāng)所述寄存器堆中的任兩個(gè)寄存器在所述第一生命周期對(duì)應(yīng)的讀取次數(shù)相同時(shí),分別獲取所述任兩個(gè)寄存器在所述第一生命周期內(nèi)對(duì)應(yīng)的數(shù)據(jù)的最后一次被讀取的位置至所述第一生命周期的起始位置之間程序指令的數(shù)量,并將數(shù)量最少的程序指令對(duì)應(yīng)的寄存器優(yōu)先確定為待緩存寄存器。所述處理單元還用于將數(shù)量最少的所述程序指令數(shù)量對(duì)應(yīng)的寄存器調(diào)整為所述待緩存寄存器。結(jié)合第二方面,在第二方面第四種可能的實(shí)現(xiàn)方式中,所述處理單元具體用于,獲取所述寄存器的讀取次數(shù)標(biāo)志位,其中,所述讀取次數(shù)標(biāo)志位用于記錄所述寄存器被讀取的次數(shù);所述處理單元還用于,在讀取所述寄存器中的數(shù)據(jù)后,將所述寄存器的讀取次數(shù)標(biāo)志位加1;在確定所述讀取次數(shù)標(biāo)志位的數(shù)值小于預(yù)設(shè)閾值時(shí),確定不緩存所述寄存器中的數(shù)據(jù);在確定所述讀取次數(shù)標(biāo)志位的數(shù)值大于或等于所述預(yù)設(shè)閾值時(shí),確定緩存所述寄存器中的數(shù)據(jù)。結(jié)合第二方面第四種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,所述運(yùn)算處理單元還用于,在對(duì)所述數(shù)據(jù)進(jìn)行處理后,將所述處理后的數(shù)據(jù)寫入所述寄存器堆中對(duì)應(yīng)的寄存器;所述寄存器堆在將所述數(shù)據(jù)寫入對(duì)應(yīng)的寄存器后,所述寄存器對(duì)所述讀取次數(shù)標(biāo)志位進(jìn)行清零。通過采用上述方案,數(shù)據(jù)處理設(shè)備在讀取寄存器中的數(shù)據(jù)時(shí),獲取該寄存器的狀態(tài)信息,并根據(jù)該狀態(tài)信息確定是否緩存該寄存器中的數(shù)據(jù),這樣,保證了緩存的寄存器數(shù)據(jù)的有效性,從而提高了數(shù)據(jù)處理設(shè)備對(duì)數(shù)據(jù)處理的效率,另外,當(dāng)數(shù)據(jù)處理設(shè)備確定不緩存該寄存器中的數(shù)據(jù)時(shí),則該數(shù)據(jù)處理設(shè)備直接對(duì)該數(shù)據(jù)進(jìn)行運(yùn)算處理,而不進(jìn)行緩存,從而減小了數(shù)據(jù)處理設(shè)備在對(duì)數(shù)據(jù)處理過程中的功耗。附圖說明為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)處理的方法示意圖;圖2為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)處理方法的流程示意圖;圖3為本發(fā)明實(shí)施例提供的另一種數(shù)據(jù)處理方法的流程示意圖;圖4為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)處理設(shè)備的結(jié)構(gòu)示意圖;圖5為本發(fā)明實(shí)施例提供的另一種數(shù)據(jù)處理設(shè)備的結(jié)構(gòu)示意圖。具體實(shí)施方式下面將結(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ù)的范圍。本發(fā)明實(shí)施例提供一種數(shù)據(jù)處理的方法,如圖1所示,該方法的執(zhí)行主體為數(shù)據(jù)處理設(shè)備,該方法包括:S101、數(shù)據(jù)處理設(shè)備讀取寄存器中的數(shù)據(jù),并獲取該寄存器的狀態(tài)信息。其中,該寄存器的狀態(tài)信息可以是該寄存器的標(biāo)識(shí)信息(如寄存器號(hào))或者該寄存器的讀取次數(shù)標(biāo)志位,該寄存器可以是寄存器堆中的寄存器。S102、若根據(jù)該寄存器的狀態(tài)信息確定該寄存器不緩存該數(shù)據(jù),對(duì)該數(shù)據(jù)進(jìn)行處理。S103、若根據(jù)該寄存器的狀態(tài)信息確定該寄存器緩存該數(shù)據(jù),緩存該數(shù)據(jù),并對(duì)該數(shù)據(jù)進(jìn)行處理。在本發(fā)明一種可能的實(shí)現(xiàn)方式中,若該寄存器的狀態(tài)信息為該寄存器的標(biāo)識(shí)信息,則上述數(shù)據(jù)處理設(shè)備獲取該寄存器的狀態(tài)信息即為該數(shù)據(jù)處理設(shè)備獲取該寄存器的標(biāo)識(shí)信息。在該數(shù)據(jù)處理設(shè)備讀取寄存器中的數(shù)據(jù),并獲取該寄存器的狀態(tài)信息前,該數(shù)據(jù)處理設(shè)備在寄存器堆中確定待緩存寄存器,并將該待緩存寄存器的標(biāo)識(shí)信息調(diào)整為預(yù)設(shè)寄存器標(biāo)識(shí)集合中的標(biāo)識(shí)信息。其中,該待緩存寄存器為在該待緩存寄存器中的數(shù)據(jù)被讀取后進(jìn)行數(shù)據(jù)緩存的寄存器;該預(yù)設(shè)寄存器標(biāo)識(shí)集合包括確定進(jìn)行數(shù)據(jù)緩存的寄存器的標(biāo)識(shí)信息。數(shù)據(jù)處理設(shè)備在確定該預(yù)設(shè)寄存器標(biāo)識(shí)集合不包括該寄存器的標(biāo)識(shí)信息時(shí),確定不緩存該寄存器中的數(shù)據(jù),在確定該預(yù)設(shè)寄存器標(biāo)識(shí)集合包括該寄存器的標(biāo)識(shí)信息時(shí),則確定緩存該寄存器中的數(shù)據(jù)。示例地,該待緩存寄存器的標(biāo)識(shí)信息可以為寄存器號(hào),例如數(shù)據(jù)處理設(shè)備確定的該待緩存寄存器的寄存器號(hào)為R12,若預(yù)設(shè)寄存器標(biāo)識(shí)集合中的寄存器號(hào)為R5至R8(也就是說,當(dāng)數(shù)據(jù)處理設(shè)備獲取到的寄存器號(hào)為R5至R8中的任一寄存器號(hào)時(shí),則在讀取該寄存器號(hào)對(duì)應(yīng)的寄存器中的數(shù)據(jù)后,進(jìn)行數(shù)據(jù)緩存),則數(shù)據(jù)處理設(shè)備將該待緩存寄存器的寄存器號(hào)調(diào)整為R5至R8中的任一寄存器號(hào)。進(jìn)一步地,數(shù)據(jù)處理設(shè)備根據(jù)程序指令確定該寄存器堆中各寄存器的第一生命周期,并確定該寄存器堆中各寄存器在該第一生命周期對(duì)應(yīng)數(shù)據(jù)的讀取次數(shù),并根據(jù)該讀取次數(shù)由大到小的順序確定該待緩存寄存器,其中,該第一生命周期為該各寄存器中被讀取次數(shù)最多的數(shù)據(jù)對(duì)應(yīng)的生命周期,該待緩存寄存器的數(shù)量與該預(yù)設(shè)寄存器標(biāo)識(shí)集合中的元素?cái)?shù)相同。該生命周期為數(shù)據(jù)在寫入寄存器到被改寫之間的時(shí)間。具體地,數(shù)據(jù)處理設(shè)備通過對(duì)程序指令的解析獲得寄存器堆中各寄存器對(duì)應(yīng)數(shù)據(jù)的讀取次數(shù),并確定讀取次數(shù)最多的數(shù)據(jù)對(duì)應(yīng)的生命周期為第一生命周期,并將各寄存器的第一生命周期對(duì)應(yīng)的數(shù)據(jù)的讀取次數(shù)進(jìn)行比較,按照由大到小的順序確定待緩存寄存器。需要說明的是,由于預(yù)設(shè)寄存器標(biāo)識(shí)集合中的元素?cái)?shù)是提前預(yù)設(shè)的,因此,數(shù)據(jù)處理設(shè)備確定的待緩存寄存器的數(shù)量與該元素?cái)?shù)相同,例如,預(yù)設(shè)寄存器標(biāo)識(shí)集合中的標(biāo)識(shí)信息為R5至R8四個(gè)標(biāo)識(shí)信息,則該數(shù)據(jù)處理設(shè)備根據(jù)該讀取次數(shù)確定四個(gè)寄存器為待緩存寄存器。示例地,數(shù)據(jù)處理設(shè)備通過解析程序指令獲得寄存器R1中的數(shù)據(jù)A1在對(duì)應(yīng)的生命周期T1內(nèi)的讀取次數(shù)為M1,在寄存器R1中的數(shù)據(jù)由A1被改寫為A2時(shí),獲得寄存器R1中的數(shù)據(jù)A2在對(duì)應(yīng)的生命周期T2內(nèi)的讀取次數(shù)為M2,同樣地,數(shù)據(jù)處理設(shè)備通過解析該程序指令獲得寄存器R2中的數(shù)據(jù)B1在對(duì)應(yīng)的生命周期S1內(nèi)的讀取次數(shù)為N1,在寄存器R2中的數(shù)據(jù)由B1被改寫為B2時(shí),獲得寄存器R2中的數(shù)據(jù)B2在對(duì)應(yīng)的生命周期S2內(nèi)的讀取次數(shù)為N2;數(shù)據(jù)處理設(shè)備通過解析該程序指令獲得寄存器R3中的數(shù)據(jù)C1在對(duì)應(yīng)的生命周期W1內(nèi)的讀取次數(shù)為P1,在寄存器R3中的數(shù)據(jù)由C1被改寫為C2時(shí),獲得寄存器R3中的數(shù)據(jù)C2在對(duì)應(yīng)的生命周期W2內(nèi)的讀取次數(shù)為P2,若M1大于M2,則確定生命周期T1為寄存器R1的第一生命周期,若N1大于N2,則確定生命周期S1為寄存器R2的第一生命周期,若P1大于P2,則確定生命周期W1為寄存器R2的第一生命周期,此時(shí),若M1大于N1,N1大于P1,當(dāng)預(yù)設(shè)寄存器標(biāo)識(shí)集合包括三個(gè)標(biāo)識(shí)信息時(shí),則該數(shù)據(jù)處理設(shè)備確定寄存器R1、寄存器R2和寄存器R3為待緩存寄存器,當(dāng)預(yù)設(shè)寄存器標(biāo)識(shí)集合包括兩個(gè)標(biāo)識(shí)信息時(shí),則該數(shù)據(jù)處理設(shè)備確定寄存器R1和寄存器R2為待緩存寄存器。這里只是舉例說明,不作限定。另外,當(dāng)該寄存器堆中的任兩個(gè)寄存器在該第一生命周期對(duì)應(yīng)的讀取次數(shù)相同時(shí),數(shù)據(jù)處理設(shè)備分別獲取該任兩個(gè)寄存器在所述第一生命周期內(nèi)對(duì)應(yīng)的數(shù)據(jù)的最后一次被讀取的位置至該第一生命周期的起始位置之間程序指令的數(shù)量,并將數(shù)量最少的程序指令對(duì)應(yīng)的寄存器優(yōu)先確定為待緩存寄存器。具體地,數(shù)據(jù)處理設(shè)備通過解析程序指令,獲得寄存器對(duì)應(yīng)第一生命周期的數(shù)據(jù)最后一次被讀取的指令地址,從而獲知該寄存器在該第一生命周期內(nèi)對(duì)應(yīng)的數(shù)據(jù)的最后一次被讀取的位置,并獲取起始位置至該最后一次被讀取的位置之間程序指令的數(shù)量,將數(shù)量最少的程序指令對(duì)應(yīng)的寄存器優(yōu)先確定為待緩存寄存器。示例地,若寄存器R1在對(duì)應(yīng)的第一生命周期T1內(nèi)的讀取次數(shù)M1與寄存器R2在對(duì)應(yīng)的第一生命周期S1內(nèi)的讀取次數(shù)N1相同,則數(shù)據(jù)處理設(shè)備確定該第一生命周期T1對(duì)應(yīng)的數(shù)據(jù)的最后一次被讀取的位置,并獲取該第一生命周期的起始位置至該最后一次被讀取的位置之間程序指令的數(shù)量X1,同樣地,數(shù)據(jù)處理設(shè)備確定該第一生命周期S1對(duì)應(yīng)的數(shù)據(jù)的最后一次被讀取的位置,并獲取該第一生命周期的起始位置至該最后一次被讀取的位置之間程序指令的數(shù)量Y1,若X1小于Y1,則優(yōu)先確定寄存器R1為待緩存寄存器。需要說明的是,若在確定寄存器R1為待緩存寄存器后,若此時(shí)待緩存寄存器的數(shù)量和預(yù)設(shè)寄存器標(biāo)識(shí)集合中的元素?cái)?shù)相同,則該寄存器R1為最后一個(gè)確定的待緩存寄存器,若在確定寄存器R1為待緩存寄存器后,若此時(shí)待緩存寄存器的數(shù)量小于預(yù)設(shè)寄存器標(biāo)識(shí)集合中的元素?cái)?shù),則在優(yōu)先確定寄存器R1為待緩存寄存器后,確定寄存器R2為待緩存寄存器,例如,若數(shù)據(jù)處理設(shè)備已經(jīng)確定寄存器R3、寄存器R4和寄存器R5為待緩存寄存器且預(yù)設(shè)寄存器標(biāo)識(shí)集合中的元素?cái)?shù)為四個(gè),而寄存器R1和寄存器R2在各自的第一生命周期對(duì)應(yīng)的讀取次數(shù)相同,并確定寄存器R1在第一生命周期的起始位置至最后一次被讀取的位置之間程序指令的數(shù)量小于寄存器R2在第一生命周期的起始位置至最后一次被讀取的位置之間程序指令的數(shù)量,則確定寄存器R1為待緩存寄存器,此時(shí),由于待緩存寄存器的數(shù)量(R1、R3、R4和R5)與預(yù)設(shè)寄存器標(biāo)識(shí)集合中的元素?cái)?shù)相同,則確定寄存器R2不是待緩存寄存器;若數(shù)據(jù)處理設(shè)備已經(jīng)確定寄存器R3和寄存器R4為待緩存寄存器且預(yù)設(shè)寄存器標(biāo)識(shí)集合中的元素?cái)?shù)為四個(gè),而寄存器R1和寄存器R2在各自的第一生命周期對(duì)應(yīng)的讀取次數(shù)相同,并確定寄存器R1在第一生命周期的起始位置至最后一次被讀取的位置之間程序指令的數(shù)量小于寄存器R2在第一生命周期的起始位置至最后一次被讀取的位置之間程序指令的數(shù)量,則確定寄存器R1為待緩存寄存器,此時(shí),由于待緩存寄存器的數(shù)量(R1、R3和R4)小于預(yù)設(shè)寄存器標(biāo)識(shí)集合中的元素?cái)?shù),因此,則確定寄存器R2也是待緩存寄存器,從而使得帶寄存器的數(shù)量與于預(yù)設(shè)寄存器標(biāo)識(shí)集合中的元素?cái)?shù)相同。在本發(fā)明另一種可能的實(shí)現(xiàn)方式中,若該寄存器的狀態(tài)信息為該寄存器的讀取次數(shù)標(biāo)志位,則上述數(shù)據(jù)處理設(shè)備獲取該寄存器的狀態(tài)信息即為該數(shù)據(jù)處理設(shè)備獲取該寄存器的讀取次數(shù)標(biāo)志位。其中,該讀取次數(shù)標(biāo)志位用于記錄該寄存器被讀取的次數(shù),該讀取次數(shù)標(biāo)志位的初始值為0。在該數(shù)據(jù)處理設(shè)備讀取該寄存器中的數(shù)據(jù)后,數(shù)據(jù)處理設(shè)備將該寄存器的讀取次數(shù)標(biāo)志位的值加1;在確定該讀取次數(shù)標(biāo)志位的數(shù)值小于預(yù)設(shè)閾值時(shí),確定不緩存該寄存器中的數(shù)據(jù),在確定該讀取次數(shù)標(biāo)志位的數(shù)值大于或等于該預(yù)設(shè)閾值時(shí),確定緩存該寄存器中的數(shù)據(jù)。具體地,寄存器中設(shè)置有計(jì)數(shù)器,在該寄存器被讀取時(shí),則該計(jì)數(shù)器將對(duì)應(yīng)的讀取次數(shù)標(biāo)志位的值加1。示例地,若該預(yù)設(shè)閾值為3,則數(shù)據(jù)處理設(shè)備在讀取寄存器時(shí),將該寄存器對(duì)應(yīng)的讀取次數(shù)標(biāo)志位加1,并獲取該寄存器此時(shí)對(duì)應(yīng)的讀取次數(shù)標(biāo)志位,若此時(shí)對(duì)應(yīng)的讀取次數(shù)標(biāo)志位大于等于3,則該數(shù)據(jù)處理設(shè)備在讀取該寄存器中的數(shù)據(jù)后,緩存該數(shù)據(jù);若該讀取次數(shù)標(biāo)志位小于3,則該數(shù)據(jù)處理設(shè)備在讀取該寄存器中的數(shù)據(jù)后,不緩存該數(shù)據(jù)。進(jìn)一步地,數(shù)據(jù)處理設(shè)備在對(duì)該數(shù)據(jù)進(jìn)行處理后,將該處理后的數(shù)據(jù)寫入該寄存器,并對(duì)該讀取次數(shù)標(biāo)志位進(jìn)行清零。具體地,數(shù)據(jù)處理設(shè)備在讀取到寄存器中的數(shù)據(jù)后,對(duì)該數(shù)據(jù)進(jìn)行運(yùn)算處理,并將處理后的結(jié)果寫入該寄存器,從而覆蓋原先寄存器中的數(shù)據(jù),并對(duì)該讀取次數(shù)標(biāo)志位進(jìn)行清零,以保證在運(yùn)行后續(xù)的程序指令時(shí),重新根據(jù)該讀取次數(shù)標(biāo)志位確定是否緩存讀取的數(shù)據(jù)。采用上述執(zhí)行主體為數(shù)據(jù)處理設(shè)備的方案,數(shù)據(jù)處理設(shè)備在讀取寄存器中的數(shù)據(jù)時(shí),獲取該寄存器的狀態(tài)信息,并根據(jù)該狀態(tài)信息確定是否緩存該寄存器中的數(shù)據(jù),這樣,保證了緩存的寄存器數(shù)據(jù)的有效性,從而提高了數(shù)據(jù)處理設(shè)備對(duì)數(shù)據(jù)處理的效率,另外,當(dāng)數(shù)據(jù)處理設(shè)備確定不緩存該寄存器中的數(shù)據(jù)時(shí),則該數(shù)據(jù)處理設(shè)備直接對(duì)該數(shù)據(jù)進(jìn)行運(yùn)算處理,而不進(jìn)行緩存,從而減小了數(shù)據(jù)處理設(shè)備在對(duì)數(shù)據(jù)處理過程中的功耗。本發(fā)明實(shí)施例提供一種數(shù)據(jù)處理的方法,如圖2所示,在本發(fā)明實(shí)施例中,該方法實(shí)施例中的寄存器的狀態(tài)信息可以是寄存器的標(biāo)識(shí)信息,包括:S201、數(shù)據(jù)處理設(shè)備根據(jù)程序指令確定寄存器堆中各寄存器的第一生命周期。其中,該第一生命周期為該各寄存器中被讀取次數(shù)最多的數(shù)據(jù)對(duì)應(yīng)的生命周期,該生命周期為數(shù)據(jù)在寫入寄存器到被改寫之間的時(shí)間。S202、數(shù)據(jù)處理設(shè)備確定該寄存器堆中各寄存器在該第一生命周期對(duì)應(yīng)數(shù)據(jù)的讀取次數(shù),并根據(jù)該讀取次數(shù)由大到小的順序確定該待緩存寄存器。其中,該待緩存寄存器的數(shù)量與該預(yù)設(shè)寄存器標(biāo)識(shí)集合中的元素?cái)?shù)相同,該待緩存寄存器為在該待緩存寄存器中的數(shù)據(jù)被讀取后進(jìn)行數(shù)據(jù)緩存的寄存器。具體地,數(shù)據(jù)處理設(shè)備通過對(duì)程序指令的解析獲得寄存器堆中各寄存器對(duì)應(yīng)數(shù)據(jù)的讀取次數(shù),并確定讀取次數(shù)最多的數(shù)據(jù)對(duì)應(yīng)的生命周期為第一生命周期,并將各寄存器的第一生命周期對(duì)應(yīng)的數(shù)據(jù)的讀取次數(shù)進(jìn)行比較,按照由大到小的順序確定待緩存寄存器。示例地,數(shù)據(jù)處理設(shè)備通過解析程序指令獲得寄存器R1中的數(shù)據(jù)A1在對(duì)應(yīng)的生命周期T1內(nèi)的讀取次數(shù)為M1,在寄存器R1中的數(shù)據(jù)由A1被改寫為A2時(shí),獲得寄存器R1中的數(shù)據(jù)A2在對(duì)應(yīng)的生命周期T2內(nèi)的讀取次數(shù)為M2,同樣地,數(shù)據(jù)處理設(shè)備通過解析該程序指令獲得寄存器R2中的數(shù)據(jù)B1在對(duì)應(yīng)的生命周期S1內(nèi)的讀取次數(shù)為N1,在寄存器R2中的數(shù)據(jù)由B1被改寫為B2時(shí),獲得寄存器R2中的數(shù)據(jù)B2在對(duì)應(yīng)的生命周期S2內(nèi)的讀取次數(shù)為N2;數(shù)據(jù)處理設(shè)備通過解析該程序指令獲得寄存器R3中的數(shù)據(jù)C1在對(duì)應(yīng)的生命周期W1內(nèi)的讀取次數(shù)為P1,在寄存器R3中的數(shù)據(jù)由C1被改寫為C2時(shí),獲得寄存器R3中的數(shù)據(jù)C2在對(duì)應(yīng)的生命周期W2內(nèi)的讀取次數(shù)為P2,若M1大于M2,則確定生命周期T1為寄存器R1的第一生命周期,若N1大于N2,則確定生命周期S1為寄存器R2的第一生命周期,若P1大于P2,則確定生命周期W1為寄存器R2的第一生命周期,此時(shí),若M1大于N1,N1大于P1,當(dāng)預(yù)設(shè)寄存器標(biāo)識(shí)集合包括三個(gè)標(biāo)識(shí)信息時(shí),則該數(shù)據(jù)處理設(shè)備確定寄存器R1、寄存器R2和寄存器R3為待緩存寄存器,當(dāng)預(yù)設(shè)寄存器標(biāo)識(shí)集合包括兩個(gè)標(biāo)識(shí)信息時(shí),則該數(shù)據(jù)處理設(shè)備確定寄存器R1和寄存器R2為待緩存寄存器。這里只是舉例說明,不作限定。另外,當(dāng)該寄存器堆中的任兩個(gè)寄存器在該第一生命周期對(duì)應(yīng)的讀取次數(shù)相同時(shí),數(shù)據(jù)處理設(shè)備分別獲取該任兩個(gè)寄存器在所述第一生命周期內(nèi)對(duì)應(yīng)的數(shù)據(jù)的最后一次被讀取的位置至該第一生命周期的起始位置之間程序指令的數(shù)量,并將數(shù)量最少的程序指令對(duì)應(yīng)的寄存器優(yōu)先確定為待緩存寄存器。具體地,數(shù)據(jù)處理設(shè)備通過解析程序指令,獲得寄存器對(duì)應(yīng)第一生命周期的數(shù)據(jù)最后一次被讀取的指令地址,從而獲知該寄存器在該第一生命周期內(nèi)對(duì)應(yīng)的數(shù)據(jù)的最后一次被讀取的位置,并獲取起始位置至該最后一次被讀取的位置之間程序指令的數(shù)量,將數(shù)量最少的程序指令對(duì)應(yīng)的寄存器優(yōu)先確定為待緩存寄存器。示例地,若寄存器R1在對(duì)應(yīng)的第一生命周期T1內(nèi)的讀取次數(shù)M1與寄存器R2在對(duì)應(yīng)的第一生命周期S1內(nèi)的讀取次數(shù)N1相同,則數(shù)據(jù)處理設(shè)備確定該第一生命周期T1對(duì)應(yīng)的數(shù)據(jù)的最后一次被讀取的位置,并獲取該第一生命周期的起始位置至該最后一次被讀取的位置之間程序指令的數(shù)量X1,同樣地,數(shù)據(jù)處理設(shè)備確定該第一生命周期S1對(duì)應(yīng)的數(shù)據(jù)的最后一次被讀取的位置,并獲取該第一生命周期的起始位置至該最后一次被讀取的位置之間程序指令的數(shù)量Y1,若X1小于Y1,則優(yōu)先確定寄存器R1為待緩存寄存器。需要說明的是,若在確定寄存器R1為待緩存寄存器后,若此時(shí)待緩存寄存器的數(shù)量和預(yù)設(shè)寄存器標(biāo)識(shí)集合中的元素?cái)?shù)相同,則該寄存器R1為最后一個(gè)確定的待緩存寄存器,若在確定寄存器R1為待緩存寄存器后,若此時(shí)待緩存寄存器的數(shù)量小于預(yù)設(shè)寄存器標(biāo)識(shí)集合中的元素?cái)?shù),則在優(yōu)先確定寄存器R1為待緩存寄存器后,確定寄存器R2為待緩存寄存器,例如,若數(shù)據(jù)處理設(shè)備已經(jīng)確定寄存器R3、寄存器R4和寄存器R5為待緩存寄存器且預(yù)設(shè)寄存器標(biāo)識(shí)集合中的元素?cái)?shù)為四個(gè),而寄存器R1和寄存器R2在各自的第一生命周期對(duì)應(yīng)的讀取次數(shù)相同,并確定寄存器R1在第一生命周期的起始位置至最后一次被讀取的位置之間程序指令的數(shù)量小于寄存器R2在第一生命周期的起始位置至最后一次被讀取的位置之間程序指令的數(shù)量,則確定寄存器R1為待緩存寄存器,此時(shí),由于待緩存寄存器的數(shù)量(R1、R3、R4和R5)與預(yù)設(shè)寄存器標(biāo)識(shí)集合中的元素?cái)?shù)相同,則確定寄存器R2不是待緩存寄存器;若數(shù)據(jù)處理設(shè)備已經(jīng)確定寄存器R3和寄存器R4為待緩存寄存器且預(yù)設(shè)寄存器標(biāo)識(shí)集合中的元素?cái)?shù)為四個(gè),而寄存器R1和寄存器R2在各自的第一生命周期對(duì)應(yīng)的讀取次數(shù)相同,并確定寄存器R1在第一生命周期的起始位置至最后一次被讀取的位置之間程序指令的數(shù)量小于寄存器R2在第一生命周期的起始位置至最后一次被讀取的位置之間程序指令的數(shù)量,則確定寄存器R1為待緩存寄存器,此時(shí),由于待緩存寄存器的數(shù)量(R1、R3和R4)小于預(yù)設(shè)寄存器標(biāo)識(shí)集合中的元素?cái)?shù),因此,則確定寄存器R2也是待緩存寄存器,從而使得待寄存器的數(shù)量與于預(yù)設(shè)寄存器標(biāo)識(shí)集合中的元素?cái)?shù)相同。S203、數(shù)據(jù)處理設(shè)備將該待緩存寄存器的標(biāo)識(shí)信息調(diào)整為預(yù)設(shè)寄存器標(biāo)識(shí)集合中的標(biāo)識(shí)信息。其中,該預(yù)設(shè)寄存器標(biāo)識(shí)集合包括確定進(jìn)行數(shù)據(jù)緩存的寄存器的標(biāo)識(shí)信息。例如,數(shù)據(jù)處理設(shè)備確定的該待緩存寄存器的寄存器號(hào)為R12,若預(yù)設(shè)寄存器標(biāo)識(shí)集合中的寄存器號(hào)為R5至R8(也就是說,當(dāng)數(shù)據(jù)處理設(shè)備獲取到的寄存器號(hào)為R5至R8中的任一寄存器號(hào)時(shí),則在讀取該寄存器號(hào)對(duì)應(yīng)的寄存器中的數(shù)據(jù)后,進(jìn)行數(shù)據(jù)緩存),則數(shù)據(jù)處理設(shè)備將該待緩存寄存器的寄存器號(hào)調(diào)整為R5至R8中的任一寄存器號(hào)。需要說明的是,由于預(yù)設(shè)寄存器標(biāo)識(shí)集合中的元素?cái)?shù)是提前預(yù)設(shè)的,因此,數(shù)據(jù)處理設(shè)備確定的待緩存寄存器的數(shù)量與該元素?cái)?shù)相同,例如,預(yù)設(shè)寄存器標(biāo)識(shí)集合中的標(biāo)識(shí)信息為R5至R8四個(gè)標(biāo)識(shí)信息,則該數(shù)據(jù)處理設(shè)備根據(jù)該讀取次數(shù)確定四個(gè)寄存器為待緩存寄存器。S204、數(shù)據(jù)處理設(shè)備讀取寄存器堆中寄存器的數(shù)據(jù),并獲取該寄存器的標(biāo)識(shí)信息。S205、若該數(shù)據(jù)處理設(shè)備確定該寄存器的標(biāo)識(shí)信息在該預(yù)設(shè)寄存器標(biāo)識(shí)集合內(nèi),則緩存該數(shù)據(jù),并對(duì)該數(shù)據(jù)進(jìn)行處理。S206、若該數(shù)據(jù)處理設(shè)備確定該寄存器的標(biāo)識(shí)信息不在該預(yù)設(shè)寄存器標(biāo)識(shí)集合內(nèi),則對(duì)該數(shù)據(jù)進(jìn)行處理。其中,該數(shù)據(jù)處理設(shè)備確定該寄存器的標(biāo)識(shí)信息不在該預(yù)設(shè)寄存器標(biāo)識(shí)集合內(nèi),直接對(duì)該數(shù)據(jù)進(jìn)行處理,不進(jìn)行緩存。S207、數(shù)據(jù)處理設(shè)備在對(duì)該數(shù)據(jù)進(jìn)行處理后,將該數(shù)據(jù)寫入該寄存器。這樣,保證了緩存的寄存器數(shù)據(jù)的有效性,從而提高了數(shù)據(jù)處理設(shè)備對(duì)數(shù)據(jù)處理的效率,另外,當(dāng)數(shù)據(jù)處理設(shè)備確定不緩存該寄存器中的數(shù)據(jù)時(shí),則該數(shù)據(jù)處理設(shè)備直接對(duì)該數(shù)據(jù)進(jìn)行運(yùn)算處理,而不進(jìn)行緩存,從而減小了數(shù)據(jù)處理設(shè)備在對(duì)數(shù)據(jù)處理過程中的功耗。需要說明的是,對(duì)于上述方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本發(fā)明所必須的。本發(fā)明實(shí)施例提供一種數(shù)據(jù)處理的方法,如圖3所示,該方法實(shí)施例中的寄存器的狀態(tài)信息可以為讀取次數(shù)標(biāo)志位,該方法包括:S301、數(shù)據(jù)處理設(shè)備讀取寄存器堆中寄存器的數(shù)據(jù),并將該寄存器的讀取次數(shù)標(biāo)志位的值加1.其中,該讀取次數(shù)標(biāo)志位用于記錄該寄存器被讀取的次數(shù),該讀取次數(shù)標(biāo)志位的初始值為0。具體地,寄存器中設(shè)置有計(jì)數(shù)器,在該寄存器被讀取時(shí),則該計(jì)數(shù)器將對(duì)應(yīng)的讀取次數(shù)標(biāo)志位的值加1。S302、數(shù)據(jù)處理設(shè)備在確定該讀取次數(shù)標(biāo)志位的數(shù)值大于或等于預(yù)設(shè)閾值時(shí),確定緩存該寄存器中的數(shù)據(jù),并緩存該寄存器中的數(shù)據(jù)。S303、數(shù)據(jù)處理設(shè)備在確定該讀取次數(shù)標(biāo)志位的數(shù)值小于該預(yù)設(shè)閾值時(shí),確定不緩存該寄存器中的數(shù)據(jù)。示例地,若該預(yù)設(shè)閾值為3,則數(shù)據(jù)處理設(shè)備在讀取寄存器時(shí),將該寄存器對(duì)應(yīng)的讀取次數(shù)標(biāo)志位加1,并獲取該寄存器此時(shí)對(duì)應(yīng)的讀取次數(shù)標(biāo)志位,若此時(shí)對(duì)應(yīng)的讀取次數(shù)標(biāo)志位大于等于3,則該數(shù)據(jù)處理設(shè)備在讀取該寄存器中的數(shù)據(jù)后,緩存該數(shù)據(jù);若該讀取次數(shù)標(biāo)志位小于3,則該數(shù)據(jù)處理設(shè)備在讀取該寄存器中的數(shù)據(jù)后,不緩存該數(shù)據(jù)。S304、數(shù)據(jù)處理設(shè)備對(duì)該數(shù)據(jù)進(jìn)行處理,并將該處理后的數(shù)據(jù)寫入該寄存器。S305、數(shù)據(jù)處理設(shè)備將該讀取次數(shù)標(biāo)志位清零。具體地,數(shù)據(jù)處理設(shè)備在讀取到寄存器中的數(shù)據(jù)后,對(duì)該數(shù)據(jù)進(jìn)行運(yùn)算處理,并將處理后的結(jié)果寫入該寄存器,從而覆蓋原先寄存器中的數(shù)據(jù),并對(duì)該讀取次數(shù)標(biāo)志位進(jìn)行清零,以保證在運(yùn)行后續(xù)的程序指令時(shí),重新根據(jù)該讀取次數(shù)標(biāo)志位確定是否緩存讀取的數(shù)據(jù)。這樣,保證了緩存的寄存器數(shù)據(jù)的有效性,從而提高了數(shù)據(jù)處理設(shè)備對(duì)數(shù)據(jù)處理的效率,另外,當(dāng)數(shù)據(jù)處理設(shè)備確定不緩存該寄存器中的數(shù)據(jù)時(shí),則該數(shù)據(jù)處理設(shè)備直接對(duì)該數(shù)據(jù)進(jìn)行運(yùn)算處理,而不進(jìn)行緩存,從而減小了數(shù)據(jù)處理設(shè)備在對(duì)數(shù)據(jù)處理過程中的功耗。需要說明的是,對(duì)于上述方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本發(fā)明所必須的。本發(fā)明實(shí)施例提供一種數(shù)據(jù)處理設(shè)備40,如圖4所示,包括:寄存器堆41,用于通過寄存器存儲(chǔ)數(shù)據(jù)。處理單元42,用于讀取該寄存器中的數(shù)據(jù)并獲取該寄存器的狀態(tài)信息,若根據(jù)該寄存器的狀態(tài)信息確定不緩存該寄存器中的數(shù)據(jù),則將該數(shù)據(jù)發(fā)送至運(yùn)算處理單元;若根據(jù)該寄存器的狀態(tài)信息確定緩存該寄存器中的數(shù)據(jù),則將該數(shù)據(jù)發(fā)送至緩存單元和運(yùn)算處理單元。其中,該寄存器的狀態(tài)信息可以是該寄存器的標(biāo)識(shí)信息(如寄存器號(hào))或者該寄存器的讀取次數(shù)標(biāo)志位,該寄存器可以是寄存器堆中的寄存器。運(yùn)算處理單元43,用于對(duì)該處理單元42發(fā)送的數(shù)據(jù)進(jìn)行處理。緩存單元44,用于緩存該處理單元42發(fā)送的數(shù)據(jù)??蛇x地,該處理單元42具體用于,獲取該寄存器的標(biāo)識(shí)信息;該處理單元42還用于,在寄存器堆中確定待緩存寄存器,將該待緩存寄存器的標(biāo)識(shí)信息調(diào)整為預(yù)設(shè)寄存器標(biāo)識(shí)集合中的標(biāo)識(shí)信息,若確定該預(yù)設(shè)寄存器標(biāo)識(shí)集合不包括該寄存器的標(biāo)識(shí)信息,則確定不緩存該寄存器中的數(shù)據(jù);若確定該預(yù)設(shè)寄存器標(biāo)識(shí)集合包括該寄存器的標(biāo)識(shí)信息,則確定緩存該寄存器中的數(shù)據(jù)。其中,該待緩存寄存器為在該待緩存寄存器中的數(shù)據(jù)被讀取后進(jìn)行數(shù)據(jù)緩存的寄存器;該預(yù)設(shè)寄存器標(biāo)識(shí)集合包括確定進(jìn)行數(shù)據(jù)緩存的寄存器的標(biāo)識(shí)信息。示例地,該待緩存寄存器的標(biāo)識(shí)信息可以為寄存器號(hào),例如數(shù)據(jù)處理設(shè)備確定的該待緩存寄存器的寄存器號(hào)為R12,若預(yù)設(shè)寄存器標(biāo)識(shí)集合中的寄存器號(hào)為R5至R8(也就是說,當(dāng)數(shù)據(jù)處理設(shè)備獲取到的寄存器號(hào)為R5至R8中的任一寄存器號(hào)時(shí),則在讀取該寄存器號(hào)對(duì)應(yīng)的寄存器中的數(shù)據(jù)后,進(jìn)行數(shù)據(jù)緩存),則數(shù)據(jù)處理設(shè)備將該待緩存寄存器的寄存器號(hào)調(diào)整為R5至R8中的任一寄存器號(hào)。進(jìn)一步地,該處理單元42具體用于,根據(jù)程序指令確定該寄存器堆中各寄存器的第一生命周期,并確定該寄存器堆中各寄存器在該第一生命周期對(duì)應(yīng)數(shù)據(jù)的讀取次數(shù),并根據(jù)該讀取次數(shù)由大到小的順序確定該待緩存寄存器。其中,該待緩存寄存器的數(shù)量與該預(yù)設(shè)寄存器標(biāo)識(shí)集合中的元素?cái)?shù)相同;該第一生命周期為該各寄存器中被讀取次數(shù)最多的數(shù)據(jù)對(duì)應(yīng)的生命周期。該生命周期為數(shù)據(jù)在寫入寄存器到被改寫之間的時(shí)間。需要說明的是,由于預(yù)設(shè)寄存器標(biāo)識(shí)集合中的元素?cái)?shù)是提前預(yù)設(shè)的,因此,數(shù)據(jù)處理設(shè)備確定的待緩存寄存器的數(shù)量與該元素?cái)?shù)相同,例如,預(yù)設(shè)寄存器標(biāo)識(shí)集合中的標(biāo)識(shí)信息為R5至R8四個(gè)標(biāo)識(shí)信息,則該數(shù)據(jù)處理設(shè)備根據(jù)該讀取次數(shù)確定四個(gè)寄存器為待緩存寄存器。示例地,數(shù)據(jù)處理設(shè)備通過解析程序指令獲得寄存器R1中的數(shù)據(jù)A1在對(duì)應(yīng)的生命周期T1內(nèi)的讀取次數(shù)為M1,在寄存器R1中的數(shù)據(jù)由A1被改寫為A2時(shí),獲得寄存器R1中的數(shù)據(jù)A2在對(duì)應(yīng)的生命周期T2內(nèi)的讀取次數(shù)為M2,同樣地,數(shù)據(jù)處理設(shè)備通過解析該程序指令獲得寄存器R2中的數(shù)據(jù)B1在對(duì)應(yīng)的生命周期S1內(nèi)的讀取次數(shù)為N1,在寄存器R2中的數(shù)據(jù)由B1被改寫為B2時(shí),獲得寄存器R2中的數(shù)據(jù)B2在對(duì)應(yīng)的生命周期S2內(nèi)的讀取次數(shù)為N2;數(shù)據(jù)處理設(shè)備通過解析該程序指令獲得寄存器R3中的數(shù)據(jù)C1在對(duì)應(yīng)的生命周期W1內(nèi)的讀取次數(shù)為P1,在寄存器R3中的數(shù)據(jù)由C1被改寫為C2時(shí),獲得寄存器R3中的數(shù)據(jù)C2在對(duì)應(yīng)的生命周期W2內(nèi)的讀取次數(shù)為P2,若M1大于M2,則確定生命周期T1為寄存器R1的第一生命周期,若N1大于N2,則確定生命周期S1為寄存器R2的第一生命周期,若P1大于P2,則確定生命周期W1為寄存器R2的第一生命周期,此時(shí),若M1大于N1,N1大于P1,當(dāng)預(yù)設(shè)寄存器標(biāo)識(shí)集合包括三個(gè)標(biāo)識(shí)信息時(shí),則該數(shù)據(jù)處理設(shè)備確定寄存器R1、寄存器R2和寄存器R3為待緩存寄存器,當(dāng)預(yù)設(shè)寄存器標(biāo)識(shí)集合包括兩個(gè)標(biāo)識(shí)信息時(shí),則該數(shù)據(jù)處理設(shè)備確定寄存器R1和寄存器R2為待緩存寄存器。這里只是舉例說明,不作限定。更進(jìn)一步地,該處理單元42還用于,當(dāng)該寄存器堆中的任兩個(gè)寄存器在該第一生命周期對(duì)應(yīng)的讀取次數(shù)相同時(shí),分別獲取該任兩個(gè)寄存器在該第一生命周期內(nèi)對(duì)應(yīng)的數(shù)據(jù)的最后一次被讀取的位置至該第一生命周期的起始位置之間程序指令的數(shù)量,并將數(shù)量最少的程序指令對(duì)應(yīng)的寄存器優(yōu)先確定為待緩存寄存器。該處理單元42還用于將數(shù)量最少的該程序指令數(shù)量對(duì)應(yīng)的寄存器調(diào)整為該待緩存寄存器。示例地,若寄存器R1在對(duì)應(yīng)的第一生命周期T1內(nèi)的讀取次數(shù)M1與寄存器R2在對(duì)應(yīng)的第一生命周期S1內(nèi)的讀取次數(shù)N1相同,則數(shù)據(jù)處理設(shè)備確定該第一生命周期T1對(duì)應(yīng)的數(shù)據(jù)的最后一次被讀取的位置,并獲取該第一生命周期的起始位置至該最后一次被讀取的位置之間程序指令的數(shù)量X1,同樣地,數(shù)據(jù)處理設(shè)備確定該第一生命周期S1對(duì)應(yīng)的數(shù)據(jù)的最后一次被讀取的位置,并獲取該第一生命周期的起始位置至該最后一次被讀取的位置之間程序指令的數(shù)量Y1,若X1小于Y1,則優(yōu)先確定寄存器R1為待緩存寄存器。需要說明的是,若在確定寄存器R1為待緩存寄存器后,若此時(shí)待緩存寄存器的數(shù)量和預(yù)設(shè)寄存器標(biāo)識(shí)集合中的元素?cái)?shù)相同,則該寄存器R1為最后一個(gè)確定的待緩存寄存器,若在確定寄存器R1為待緩存寄存器后,若此時(shí)待緩存寄存器的數(shù)量小于預(yù)設(shè)寄存器標(biāo)識(shí)集合中的元素?cái)?shù),則在優(yōu)先確定寄存器R1為待緩存寄存器后,確定寄存器R2為待緩存寄存器,例如,若數(shù)據(jù)處理設(shè)備已經(jīng)確定寄存器R3、寄存器R4和寄存器R5為待緩存寄存器且預(yù)設(shè)寄存器標(biāo)識(shí)集合中的元素?cái)?shù)為四個(gè),而寄存器R1和寄存器R2在各自的第一生命周期對(duì)應(yīng)的讀取次數(shù)相同,并確定寄存器R1在第一生命周期的起始位置至最后一次被讀取的位置之間程序指令的數(shù)量小于寄存器R2在第一生命周期的起始位置至最后一次被讀取的位置之間程序指令的數(shù)量,則確定寄存器R1為待緩存寄存器,此時(shí),由于待緩存寄存器的數(shù)量(R1、R3、R4和R5)與預(yù)設(shè)寄存器標(biāo)識(shí)集合中的元素?cái)?shù)相同,則確定寄存器R2不是待緩存寄存器;若數(shù)據(jù)處理設(shè)備已經(jīng)確定寄存器R3和寄存器R4為待緩存寄存器且預(yù)設(shè)寄存器標(biāo)識(shí)集合中的元素?cái)?shù)為四個(gè),而寄存器R1和寄存器R2在各自的第一生命周期對(duì)應(yīng)的讀取次數(shù)相同,并確定寄存器R1在第一生命周期的起始位置至最后一次被讀取的位置之間程序指令的數(shù)量小于寄存器R2在第一生命周期的起始位置至最后一次被讀取的位置之間程序指令的數(shù)量,則確定寄存器R1為待緩存寄存器,此時(shí),由于待緩存寄存器的數(shù)量(R1、R3和R4)小于預(yù)設(shè)寄存器標(biāo)識(shí)集合中的元素?cái)?shù),因此,則確定寄存器R2也是待緩存寄存器,從而使得帶寄存器的數(shù)量與于預(yù)設(shè)寄存器標(biāo)識(shí)集合中的元素?cái)?shù)相同。可選地,該處理單元42具體用于,獲取該寄存器的讀取次數(shù)標(biāo)志位。其中,該讀取次數(shù)標(biāo)志位用于記錄該寄存器被讀取的次數(shù);該處理單元42還用于,在讀取該寄存器中的數(shù)據(jù)后,將該寄存器的讀取次數(shù)標(biāo)志位的數(shù)值加1,在確定該讀取次數(shù)標(biāo)志位的數(shù)值小于預(yù)設(shè)閾值時(shí),確定不緩存該寄存器中的數(shù)據(jù);在確定該讀取次數(shù)標(biāo)志位的數(shù)值大于或等于該預(yù)設(shè)閾值時(shí),確定緩存該寄存器中的數(shù)據(jù)。示例地,若該預(yù)設(shè)閾值為3,則數(shù)據(jù)處理設(shè)備在讀取寄存器時(shí),將該寄存器對(duì)應(yīng)的讀取次數(shù)標(biāo)志位加1,并獲取該寄存器此時(shí)對(duì)應(yīng)的讀取次數(shù)標(biāo)志位,若此時(shí)對(duì)應(yīng)的讀取次數(shù)標(biāo)志位大于等于3,則該數(shù)據(jù)處理設(shè)備在讀取該寄存器中的數(shù)據(jù)后,緩存該數(shù)據(jù);若該讀取次數(shù)標(biāo)志位小于3,則該數(shù)據(jù)處理設(shè)備在讀取該寄存器中的數(shù)據(jù)后,不緩存該數(shù)據(jù)。進(jìn)一步地,該運(yùn)算處理單元43還用于,在對(duì)該數(shù)據(jù)進(jìn)行處理后,將該處理后的數(shù)據(jù)寫入該寄存器堆中對(duì)應(yīng)的寄存器,該寄存器堆在將該數(shù)據(jù)寫入對(duì)應(yīng)的寄存器后,該寄存器對(duì)該讀取次數(shù)標(biāo)志位進(jìn)行清零。采用上述數(shù)據(jù)處理設(shè)備,數(shù)據(jù)處理設(shè)備在讀取寄存器中的數(shù)據(jù)時(shí),獲取該寄存器的狀態(tài)信息,并根據(jù)該狀態(tài)信息確定是否緩存該寄存器中的數(shù)據(jù),這樣,保證了緩存的寄存器數(shù)據(jù)的有效性,從而提高了數(shù)據(jù)處理設(shè)備對(duì)數(shù)據(jù)處理的效率,另外,當(dāng)數(shù)據(jù)處理設(shè)備確定不緩存該寄存器中的數(shù)據(jù)時(shí),則該數(shù)據(jù)處理設(shè)備直接對(duì)該數(shù)據(jù)進(jìn)行運(yùn)算處理,而不進(jìn)行緩存,從而減小了數(shù)據(jù)處理設(shè)備在對(duì)數(shù)據(jù)處理過程中的功耗。本發(fā)明提供的一種數(shù)據(jù)處理設(shè)備50,如圖5所示,該數(shù)據(jù)處理設(shè)備50包括:處理器(processor)51、通信接口(CommunicationsInterface)52、存儲(chǔ)器(memory)53和通信總線54;其中,所述處理器51、所述通信接口52和所述存儲(chǔ)器53通過所述通信總線104完成相互間的通信。處理器51可能是一個(gè)中央處理器CPU,或者是特定集成電路ASIC(ApplicationSpecificIntegratedCircuit),或者是被配置成實(shí)施本發(fā)明實(shí)施例的一個(gè)或多個(gè)集成電路。存儲(chǔ)器53用于存放程序代碼,所述程序代碼包括計(jì)算機(jī)操作指令。存儲(chǔ)器53可能包含高速RAM存儲(chǔ)器,也可能還包括非易失性存儲(chǔ)器(non-volatilememory),例如至少一個(gè)磁盤存儲(chǔ)器。所述通信接口52,用于實(shí)現(xiàn)這些裝置之間的連接通信。所述處理器51執(zhí)行程序代碼,用于讀取寄存器中的數(shù)據(jù),并獲取該寄存器的狀態(tài)信息,若根據(jù)該寄存器的狀態(tài)信息確定該寄存器不緩存該數(shù)據(jù),對(duì)該數(shù)據(jù)進(jìn)行處理;若根據(jù)該寄存器的狀態(tài)信息確定該寄存器緩存該數(shù)據(jù),緩存該數(shù)據(jù),并對(duì)該數(shù)據(jù)進(jìn)行處理??蛇x地,該處理器51具體用于,獲取該寄存器的標(biāo)識(shí)信息;在寄存器堆中確定待緩存寄存器,并將該待緩存寄存器的標(biāo)識(shí)信息調(diào)整為預(yù)設(shè)寄存器標(biāo)識(shí)集合中的標(biāo)識(shí)信息,在確定該預(yù)設(shè)寄存器標(biāo)識(shí)集合不包括該寄存器的標(biāo)識(shí)信息時(shí),則確定不緩存該寄存器中的數(shù)據(jù);在確定該預(yù)設(shè)寄存器標(biāo)識(shí)集合包括該寄存器的標(biāo)識(shí)信息時(shí),則確定緩存該寄存器中的數(shù)據(jù)。其中,該待緩存寄存器為在該待緩存寄存器中的數(shù)據(jù)被讀取后進(jìn)行數(shù)據(jù)緩存的寄存器,該預(yù)設(shè)寄存器標(biāo)識(shí)集合包括確定進(jìn)行數(shù)據(jù)緩存的寄存器的標(biāo)識(shí)信息??蛇x地,該處理器51具體用于,根據(jù)程序指令確定該寄存器堆中各寄存器的第一生命周期,并確定該寄存器堆中各寄存器在該第一生命周期對(duì)應(yīng)數(shù)據(jù)的讀取次數(shù),并根據(jù)該讀取次數(shù)由大到小的順序確定該待緩存寄存器,其中,該待緩存寄存器的數(shù)量與該預(yù)設(shè)寄存器標(biāo)識(shí)集合中的元素?cái)?shù)相同。其中,該第一生命周期為該各寄存器中被讀取次數(shù)最多的數(shù)據(jù)對(duì)應(yīng)的生命周期??蛇x地,該處理器51還用于,當(dāng)該寄存器堆中的任兩個(gè)寄存器在該第一生命周期對(duì)應(yīng)的讀取次數(shù)相同時(shí),分別獲取該任兩個(gè)寄存器在該第一生命周期內(nèi)對(duì)應(yīng)的數(shù)據(jù)的最后一次被讀取的位置至該第一生命周期的起始位置之間程序指令的數(shù)量,并將數(shù)量最少的程序指令對(duì)應(yīng)的寄存器優(yōu)先確定為待緩存寄存器。可選地,該處理器51具體用于,獲取該寄存器的讀取次數(shù)標(biāo)志位;其中,該讀取次數(shù)標(biāo)志位用于記錄該寄存器被讀取的次數(shù);在該數(shù)據(jù)處理設(shè)備讀取該寄存器中的數(shù)據(jù)后,將該寄存器的讀取次數(shù)標(biāo)志位加1;在確定該讀取次數(shù)標(biāo)志位的數(shù)值小于預(yù)設(shè)閾值時(shí),確定不緩存該寄存器中的數(shù)據(jù);在確定該讀取次數(shù)標(biāo)志位的數(shù)值大于或等于該預(yù)設(shè)閾值時(shí),確定緩存該寄存器中的數(shù)據(jù)??蛇x地,該處理器51還用于,在將該處理后的數(shù)據(jù)寫入該寄存器后,對(duì)該讀取次數(shù)標(biāo)志位進(jìn)行清零。以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
丰都县| 晋城| 寻乌县| 大埔县| 凉山| 扎兰屯市| 咸宁市| 博野县| 木兰县| 简阳市| 巴里| 兴仁县| 华亭县| 清涧县| 运城市| 南郑县| 邵阳市| 霍邱县| 明星| 项城市| 扬州市| 荃湾区| 东阿县| 白沙| 溧水县| 临桂县| 上林县| 唐河县| 忻城县| 汶川县| 乐业县| 洪雅县| 邵东县| 阜城县| 买车| 上饶市| 斗六市| 卢湾区| 始兴县| 汾阳市| 新郑市|