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

實(shí)現(xiàn)現(xiàn)代處理器間接轉(zhuǎn)移預(yù)測的裝置及方法

文檔序號:6430930閱讀:186來源:國知局
專利名稱:實(shí)現(xiàn)現(xiàn)代處理器間接轉(zhuǎn)移預(yù)測的裝置及方法
技術(shù)領(lǐng)域
本發(fā)明涉及現(xiàn)代微處理器及其應(yīng)用系統(tǒng)的設(shè)計,尤其涉及實(shí)現(xiàn)現(xiàn)代處理器間接轉(zhuǎn)移指令預(yù)測的裝置及方法。
背景技術(shù)
現(xiàn)代高性能處理器利用分支指令預(yù)測技術(shù)開發(fā)指令級并行,從而提高處理器性能。之前的研究主要集中在開發(fā)高準(zhǔn)確率的直接轉(zhuǎn)移指令預(yù)測技術(shù),而對于間接轉(zhuǎn)移指令預(yù)測,通常很難達(dá)到較高的準(zhǔn)確率。近年來,隨著面向?qū)ο笳Z言程序的廣泛應(yīng)用,間接轉(zhuǎn)移指令使用的場合也更多了起來。該類型指令通常用于實(shí)現(xiàn)虛函數(shù)指針、函數(shù)指針以及 Switch-Case語句等常見的數(shù)據(jù)結(jié)構(gòu)。此外,Intel Pentium M處理器中也已經(jīng)加入了專用的間接轉(zhuǎn)移預(yù)測部件。因此,提高間接轉(zhuǎn)移預(yù)測的準(zhǔn)確率,對處理器性能的提升具有重要意義。間接轉(zhuǎn)移指令的轉(zhuǎn)移目標(biāo)地址保存在其指令指定的寄存器中,該寄存器中的值可能會隨著程序的執(zhí)行而發(fā)生各種變化,即可能存在多個轉(zhuǎn)移目標(biāo)地址。現(xiàn)代處理器通常使用分支目標(biāo)緩沖器(BTB,Branch Target Buffer)和方向預(yù)測器對分支指令進(jìn)行預(yù)測。其中,BTB用來負(fù)責(zé)記錄分支轉(zhuǎn)移指令的目標(biāo)地址,而方向預(yù)測器則用來預(yù)測該分支轉(zhuǎn)移指令執(zhí)行的方向,即預(yù)測是否進(jìn)行轉(zhuǎn)移。然而,這種傳統(tǒng)的分支轉(zhuǎn)移預(yù)測方式對直接轉(zhuǎn)移有著很高的分支轉(zhuǎn)移預(yù)測效率,但是對間接轉(zhuǎn)移指令的預(yù)測準(zhǔn)確率卻很低。首先,是由于方向預(yù)測器總是預(yù)測跳轉(zhuǎn)與否(在使用預(yù)譯碼的處理器中,間接轉(zhuǎn)移指令必定會跳轉(zhuǎn),故分支方向預(yù)測器不必對該類指令的方向進(jìn)行預(yù)測);其次,由于BTB結(jié)構(gòu)是一種緩存(Cache)結(jié)構(gòu), 其記錄的每個目標(biāo)地址只能使用指令地址進(jìn)行索引,即每個分支指令最多只有一個目標(biāo)地址與之對應(yīng),如圖1所示。因此,BTB結(jié)構(gòu)只能記錄最近一次間接轉(zhuǎn)移指令的目標(biāo)地址。當(dāng)間接轉(zhuǎn)移指令擁有多個目標(biāo)地址時,BTB的預(yù)測準(zhǔn)確率會很低。已有的一些使用專用部件的間接轉(zhuǎn)移預(yù)測技術(shù),可以有效地提升間接轉(zhuǎn)移預(yù)測準(zhǔn)確率。Chang等人提出的TTC結(jié)構(gòu),使用記錄在全局歷史寄存器(GHR,Global History Register)中的分支轉(zhuǎn)移歷史信息區(qū)分不同的間接轉(zhuǎn)移場景,并使用一個類似Cache結(jié)構(gòu)的專用結(jié)構(gòu)記錄各個間接轉(zhuǎn)移場景下間接轉(zhuǎn)移目標(biāo)地址及其索引,如圖2所示,其設(shè)計類似兩級分支預(yù)測方案(即異或器XOR前的一級與XOR后的一級)。當(dāng)取得一條間接轉(zhuǎn)移指令時,TTC預(yù)測器(其結(jié)構(gòu)如圖2所示右端)通過異或器XOR獲取程序計數(shù)器(PC)和分支轉(zhuǎn)移歷史信息(GHR)的異或值作為索引,獲得預(yù)測的目標(biāo)地址。當(dāng)該間接轉(zhuǎn)移指令提交時, 使用正確的目標(biāo)地址更新對應(yīng)的TTC項。通過組合使用多個目標(biāo)地址預(yù)測器,Driesen等人提出了另一種直接地址預(yù)測技術(shù),即Cascade預(yù)測器。該方法對于可簡單預(yù)測(只有一個目標(biāo)地址)的間接轉(zhuǎn)移指令使用簡單的一級預(yù)測器預(yù)測(通常為BTB結(jié)構(gòu)),而對于擁有多個目標(biāo)地址的間接轉(zhuǎn)移指令,使用復(fù)雜的二級或多級預(yù)測器進(jìn)行預(yù)測。kznec和Michaud提出了與該設(shè)計非常類似的一種預(yù)測器,由一個基礎(chǔ)預(yù)測器及一系列能夠捕捉非常長的歷史信息的預(yù)測表組成;在預(yù)測時,選擇歷史信息最長的預(yù)測表中的命中項值作為輸出結(jié)果。虛擬程序計數(shù)器(VPC,Virtual Program Counter)預(yù)測技術(shù),側(cè)重于使用已有的條件轉(zhuǎn)移預(yù)測部件進(jìn)行間接轉(zhuǎn)移預(yù)測,它是將一條具多個目標(biāo)地址的間接轉(zhuǎn)移指令的每個目標(biāo)地址等價地表示成一個虛擬的條件分支轉(zhuǎn)移指令的轉(zhuǎn)移目標(biāo)地址;當(dāng)進(jìn)行間接轉(zhuǎn)移指令預(yù)測時,VPC每個周期以不同的虛擬分支指令循環(huán)訪問條件分支預(yù)測器,如圖3所示,直到一條虛擬指令被預(yù)測為發(fā)生或達(dá)到循環(huán)訪問的上界時才停止預(yù)測。該VPC技術(shù)的效果, 與流水線的長度以及間接轉(zhuǎn)移目標(biāo)地址的數(shù)目密切相關(guān)。以上研究提出的基于硬件的間接轉(zhuǎn)移預(yù)測技術(shù),使用分支轉(zhuǎn)移歷史信息(GHR)區(qū)分不同的間接轉(zhuǎn)移場景,并直接將對應(yīng)不同轉(zhuǎn)移場景的目標(biāo)地址保存在一個專用的存儲部件中。這種使用專用部件一類技術(shù)的預(yù)測速度較快,但其額外的存儲單元需求會在芯片中占用一定面積,并產(chǎn)生大量的能耗。而側(cè)重使用已有分支預(yù)測部件的VPC技術(shù)雖可以取得較高的預(yù)測準(zhǔn)確率,但這種需要多次循環(huán)才能完成一次間接轉(zhuǎn)移的預(yù)測,一方面會阻礙處理器性能的進(jìn)一步提升,另一方面會帶來更多的能耗開銷,從而導(dǎo)致處理器的能效性降低。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種實(shí)現(xiàn)現(xiàn)代處理器間接轉(zhuǎn)移預(yù)測的裝置及方法,能夠在提高預(yù)測準(zhǔn)確率的同時提高處理器的能效性。為了解決上述技術(shù)問題,本發(fā)明提供了一種實(shí)現(xiàn)現(xiàn)代處理器間接轉(zhuǎn)移預(yù)測的裝置,其特征在于,包括分支方向預(yù)測器、目標(biāo)地址映射裝置以及分支目標(biāo)緩沖器,其中分支方向預(yù)測器,用于根據(jù)定義的多個子預(yù)測器預(yù)測的間接轉(zhuǎn)移方向生成目標(biāo)指針;目標(biāo)地址映射裝置,用于將分支方向預(yù)測器生成的目標(biāo)指針映射為索引分支目標(biāo)緩沖器的虛擬地址;分支目標(biāo)緩沖器,用于為間接轉(zhuǎn)移指令分配目標(biāo)地址項和分配項,其中,目標(biāo)地址項通過虛擬地址索引;分配項記錄每一間接轉(zhuǎn)移指令目標(biāo)地址項的使用情況,通過程序計數(shù)器的值索引。進(jìn)一步地,目標(biāo)地址映射裝置包括目標(biāo)指針寄存器、虛擬地址映射器以及第一多選器,其中分支方向預(yù)測器根據(jù)定義的4個子預(yù)測器預(yù)測的間接轉(zhuǎn)移方向生成4位目標(biāo)指針;目標(biāo)指針寄存器,用于保存分支方向預(yù)測器生成的4位目標(biāo)指針;虛擬地址映射器,用于根據(jù)目標(biāo)指針寄存器保存的4位目標(biāo)指針通過計算映射式 FA = f (PC,TP)生成索引目標(biāo)地址項的虛擬地址;式中,TP為目標(biāo)指針,F(xiàn)A為虛擬地址,PC 為程序計數(shù)器的值;第一多選器,用于選擇通過所述PC訪問分配項的第一索引和通過虛擬地址訪問目標(biāo)地址項的第二索引。進(jìn)一步地,虛擬地址映射器包括第一異或器和第二異或器,其中第一異或器用于將所述PC 的最高4位與4位目標(biāo)指針相異或;第二異或器用于將PC的最低4位與一個常數(shù)相異或;將第一異或器和第二異或器的結(jié)果組合,構(gòu)成虛擬地址;或者,虛擬地址映射器包括第一加法器和第二加法器,其中第一加法器用于將PC 的最高4位與4位目標(biāo)指針相加;第二加法器用于將PC的最低4位與一個常數(shù)相加;將第一加法器和第二加法器的結(jié)果組合,構(gòu)成虛擬地址。進(jìn)一步地,目標(biāo)地址映射裝置還包括訓(xùn)練循環(huán)計數(shù)器和第二多選器,其中訓(xùn)練循環(huán)計數(shù)器,用于輸出循環(huán)計數(shù)值;第二多選器,用于在預(yù)測時選擇輸出目標(biāo)指針寄存器生成的目標(biāo)指針,在出現(xiàn)預(yù)測錯誤時選擇輸出訓(xùn)練循環(huán)計數(shù)器輸出的循環(huán)計數(shù)值作為更新的目標(biāo)指針;虛擬地址映射器根據(jù)第二多選器輸出的目標(biāo)指針,通過計算映射式生成虛擬地址。進(jìn)一步地,分支目標(biāo)緩沖器中分配項的記錄用于作為遍歷間接轉(zhuǎn)移指令全部已分配的目標(biāo)地址項的依據(jù),遍歷情況用于作為更新分配項或目標(biāo)指針的依據(jù);遍歷情況及其更新包括以下三種中任意一種第一種,遍歷時一旦出現(xiàn)使用一個目標(biāo)指針訪問分支目標(biāo)緩沖器而未命中的情況,則將分配項中的對應(yīng)位更新為未使用狀態(tài);第二種,遍歷時如果一個目標(biāo)地址項中的目標(biāo)地址與正確的目標(biāo)地址相同,則更新相應(yīng)的目標(biāo)指針指向該目標(biāo)地址項,將正確目標(biāo)指針的對應(yīng)位作為訓(xùn)練目標(biāo)進(jìn)行訓(xùn)練;第三種,遍歷時如果遍歷全部已分配的目標(biāo)地址項后,沒有找到與正確地址匹配的目標(biāo)地址項,則根據(jù)分配項中記錄的信息,隨機(jī)地分配一個新的目標(biāo)地址項或替換一項已使用的目標(biāo)地址項來記錄正確的目標(biāo)地址,并更新相應(yīng)的目標(biāo)指針指向該目標(biāo)地址項, 以及訓(xùn)練分支方向預(yù)測器。為了解決上述技術(shù)問題,本發(fā)明提供了一種實(shí)現(xiàn)現(xiàn)代處理器間接轉(zhuǎn)移預(yù)測的方法,涉及分支方向預(yù)測器和分支目標(biāo)緩沖器,該方法包括在分支方向預(yù)測器中定義多個子預(yù)測器,每一個子預(yù)測器預(yù)測的間接轉(zhuǎn)移方向作為目標(biāo)指針的每一位,通過目標(biāo)指針映射生成索引分支目標(biāo)緩沖器的虛擬地址;在分支目標(biāo)緩沖器中為每一間接轉(zhuǎn)移指令分配目標(biāo)地址項和分配項,其中,目標(biāo)地址項通過目標(biāo)指針映射的虛擬地址索引;分配項用于記錄每一間接轉(zhuǎn)移指令目標(biāo)地址項的使用情況,并通過程序計數(shù)器的值索引。進(jìn)一步地,當(dāng)處理器獲取一條間接轉(zhuǎn)移指令要進(jìn)行預(yù)測時,同時執(zhí)行以下步驟通過程序計數(shù)器的值訪問分支目標(biāo)緩沖器;若訪問命中,則將命中項作為該間接轉(zhuǎn)移指令的分配項;否則,暫停取指,直到在流水線中獲得實(shí)際的間接轉(zhuǎn)移目標(biāo)地址為止;通過分支方向預(yù)測器中定義的4個子預(yù)測器獲得4位目標(biāo)指針,通過計算映射式 FA = f (PC,TP)生成虛擬地址;在該計算映射式中,該TP為4位目標(biāo)指針,該FA為生成的虛擬地址,該P(yáng)C為程序計數(shù)器的值。進(jìn)一步地,該方法還包括在預(yù)測的下一周期,使用虛擬地址再次訪問分支目標(biāo)緩沖器,以獲得預(yù)測的間接轉(zhuǎn)移目標(biāo)地址。進(jìn)一步地,該方法還包括
在出現(xiàn)預(yù)測錯誤時選擇一訓(xùn)練循環(huán)計數(shù)器輸出的循環(huán)計數(shù)值作為更新的目標(biāo)指針;分支目標(biāo)緩沖器將分配項作為遍歷間接轉(zhuǎn)移指令全部已分配的目標(biāo)地址項的依據(jù),遍歷情況用于作為更新所述分配項或目標(biāo)指針的依據(jù);遍歷情況及其更新包括以下三種中任意一種第一種,遍歷時一旦出現(xiàn)使用一個目標(biāo)指針訪問分支目標(biāo)緩沖器而未命中的情況,則將分配項中的對應(yīng)位更新為未使用狀態(tài);第二種,遍歷時如果一個目標(biāo)地址項中的目標(biāo)地址與正確的目標(biāo)地址相同,則更新相應(yīng)的目標(biāo)指針指向該目標(biāo)地址項,將正確目標(biāo)指針的對應(yīng)位作為訓(xùn)練目標(biāo)進(jìn)行訓(xùn)練;第三種,遍歷時如果遍歷全部已分配的目標(biāo)地址項后,沒有找到與正確地址匹配的目標(biāo)地址項,則根據(jù)分配項中記錄的信息,隨機(jī)地分配一個新的目標(biāo)地址項或替換一項已使用的目標(biāo)地址項來記錄正確的目標(biāo)地址,并更新相應(yīng)的目標(biāo)指針指向該目標(biāo)地址項, 以及訓(xùn)練分支方向預(yù)測器。本發(fā)明提供的現(xiàn)代處理器實(shí)現(xiàn)間接轉(zhuǎn)移預(yù)測的裝置及方法實(shí)施例,使用指針結(jié)構(gòu),并融入快速、高準(zhǔn)確率的分支方向預(yù)測器,將其進(jìn)行拓展和重定義;通過指針結(jié)構(gòu)并使用計算方式替代原有的存儲方式可以快速索引到BTB中的目標(biāo)地址,在不需要大容量存儲結(jié)構(gòu)支持的基礎(chǔ)上,以與已有的間接轉(zhuǎn)移預(yù)測技術(shù)類似的時間代價,換取同時提高預(yù)測準(zhǔn)確率和處理器能效的效果,且能有效地避免存儲目標(biāo)地址易出現(xiàn)的錯誤。


圖1為現(xiàn)有的BTB結(jié)構(gòu)的目標(biāo)地址預(yù)測機(jī)制示意圖;圖2為現(xiàn)有的TTC結(jié)構(gòu)與BTB關(guān)系示意圖(左)以及TTC內(nèi)部結(jié)構(gòu)示意圖(右);圖3為現(xiàn)有的采用VPC技術(shù)的預(yù)測流程圖;圖4為本發(fā)明的間接轉(zhuǎn)移預(yù)測的裝置及方法中目標(biāo)指針映射關(guān)系示意圖;圖5為現(xiàn)有的O-GEHL預(yù)測器原有結(jié)構(gòu)示意圖;圖6為本發(fā)明的間接轉(zhuǎn)移預(yù)測裝置實(shí)施例的結(jié)構(gòu)示意圖;圖7是在本發(fā)明的間接轉(zhuǎn)移預(yù)測裝置實(shí)施例中O-GEHL預(yù)測器的改進(jìn)結(jié)構(gòu)示意圖;圖8為是用來說明如何使用本發(fā)明的間接轉(zhuǎn)移預(yù)測裝置及方法而給出的間接轉(zhuǎn)移指令的程序?qū)嵗粓D9為本發(fā)明的間接轉(zhuǎn)移預(yù)測的方法實(shí)施例的流程。
具體實(shí)施例方式以下結(jié)合附圖和優(yōu)選實(shí)施例對本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)地說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明的技術(shù)方案。本發(fā)明提供的實(shí)現(xiàn)現(xiàn)代處理器間接轉(zhuǎn)移預(yù)測的方法及裝置,具有以下三個關(guān)鍵占.
^ \\\ ·1)如何將同一間接轉(zhuǎn)移指令的多個目標(biāo)地址存入目標(biāo)地址預(yù)測結(jié)構(gòu)中;2)如何辨識不同的間接轉(zhuǎn)移場景,并與目標(biāo)地址相對應(yīng);
3)當(dāng)發(fā)生預(yù)測錯誤時如何進(jìn)行更新。針對上述三個問題,本發(fā)明分別采用以下方式予以解決本發(fā)明在取得一條間接轉(zhuǎn)移指令時,通過經(jīng)重定義的分支方向預(yù)測器識別間接轉(zhuǎn)移場景,從而生成目標(biāo)指針;通過目標(biāo)指針映射到同一間接轉(zhuǎn)移指令的多目標(biāo)地址,如圖4 所示。發(fā)現(xiàn)預(yù)測錯誤時,更新重定義的分支方向預(yù)測器,以生成正確的目標(biāo)指針。(1)間接轉(zhuǎn)移場景的映射每一種間接轉(zhuǎn)移場景與一個目標(biāo)指針相對應(yīng),即建立間接轉(zhuǎn)移場景與目標(biāo)指針之間的映射關(guān)系。為了適應(yīng)高性能的分支預(yù)測結(jié)構(gòu),本發(fā)明采用了一種簡單而高效的方法來生成目標(biāo)指針,即在現(xiàn)有的分支方向預(yù)測器構(gòu)建數(shù)個較小的同類型預(yù)測器,被稱為子預(yù)測器,請參見圖7,其運(yùn)行機(jī)制與原有的分支方向預(yù)測器相同,但使用較少的歷史信息。本發(fā)明將每個子預(yù)測器的輸出“跳轉(zhuǎn)/不跳轉(zhuǎn)”的方向,定義為目標(biāo)指針寄存器的每一位的“1/0”。由此, 生成4位的目標(biāo)指針需要4個子預(yù)測器。換言之,本發(fā)明通過使用4個獨(dú)立的小預(yù)測器來獲得4位的目標(biāo)指針預(yù)測值。對于條件轉(zhuǎn)移指令,其預(yù)測方式不受本發(fā)明在分支方向預(yù)測器中的子預(yù)測器的影響,與原有的預(yù)測機(jī)制相同。由于本發(fā)明依賴于分支方向預(yù)測器通過目標(biāo)指針對間接轉(zhuǎn)移目標(biāo)進(jìn)行預(yù)測,因此高準(zhǔn)確率的分支方向預(yù)測器對本發(fā)明有著積極的影響。下面以一種現(xiàn)有的基于計算處理的分支方向預(yù)測器O-GEHL為例,具體介紹本發(fā)明的間接轉(zhuǎn)移預(yù)測結(jié)構(gòu)中對間接轉(zhuǎn)移場景映射的實(shí)現(xiàn)。等人提出的O-GEHL分支方向預(yù)測器(以下簡稱O-GEHL預(yù)測器)的結(jié)構(gòu)如圖5所示,具有使用100 200位(bit)長的全局轉(zhuǎn)移歷史信息,故對條件轉(zhuǎn)移指令的預(yù)測具有相當(dāng)高的準(zhǔn)確率。該O-GEHL預(yù)測器實(shí)現(xiàn)了 n+1個由不同轉(zhuǎn)移歷史長度索引的預(yù)測表(ΡΗΤΟ η)。 其中,預(yù)測表中每一項為一個4位(或5位)飽和計數(shù)器。各預(yù)測表用于生成索引的轉(zhuǎn)移歷史信息長度形成一個幾何序列,L(j) = α ^1L(I) (1 < j < η)。該索引機(jī)制可同時捕捉距離當(dāng)前條件轉(zhuǎn)移指令非常近和非常遠(yuǎn)的轉(zhuǎn)移歷史信息,并通過使用動態(tài)歷史調(diào)整和動態(tài)閾值調(diào)整技術(shù),取得更高的預(yù)測準(zhǔn)確率。O-GEHL預(yù)測器在進(jìn)行條件轉(zhuǎn)移預(yù)測時,將各個預(yù)測表的輸出相加,如果結(jié)果為正,則預(yù)測跳轉(zhuǎn);否則預(yù)測不跳轉(zhuǎn),即是否跳轉(zhuǎn)的方向取決于加法運(yùn)算的符號。在更新時,向?qū)嶋H運(yùn)算結(jié)果方向自增或自減,直至到達(dá)各個預(yù)測表飽和計數(shù)值閾值。本發(fā)明基于O-GEHL預(yù)測器的間接轉(zhuǎn)移場景映射具體實(shí)現(xiàn)方法如下將O-GEHL預(yù)測器中預(yù)測表分為4組,每組預(yù)測表組成一個O-GEHL子預(yù)測器,請參見圖6所示;其中,每個O-GEHL子預(yù)測器預(yù)測1位目標(biāo)指針,共形成4位目標(biāo)指針??紤]到子預(yù)測器相對原有的O-GEHL預(yù)測器使用的預(yù)測表數(shù)目較少,為了保證 O-GEHL預(yù)測機(jī)制的高預(yù)測準(zhǔn)確率,每個子預(yù)測器只使用距離當(dāng)前間接轉(zhuǎn)移指令最近的32 位轉(zhuǎn)移歷史信息生成預(yù)測表索引,預(yù)測表索引生成算法與O-GEHL機(jī)制相同?,F(xiàn)有的基于計算處理的O-GEHL預(yù)測器由于使用更長的歷史信息,并通過計算方式減少別名沖突問題帶來的影響,因而方向預(yù)測準(zhǔn)確率更高。對于這類預(yù)測器,目標(biāo)指針不是直接保存在預(yù)測表中,而是通過計算方式形成;由此可避免因存儲顯著改變參與計算的參數(shù)值使計算結(jié)果發(fā)生改變而導(dǎo)致的預(yù)測錯誤。例如,如果將目標(biāo)指針‘ 1000’直接存儲在某個預(yù)測表的表項中,則可能會出現(xiàn)將‘0000’改為‘1000’的情況,亦即將計算參數(shù)由0改變?yōu)開8,該改變可能會造成計算結(jié)果符號的改變,從而影響原有的預(yù)測機(jī)制,造成條件轉(zhuǎn)移預(yù)測錯誤。當(dāng)然,本發(fā)明的間接轉(zhuǎn)移場景映射不限于基于O-GEHL預(yù)測器,也可以基于類似的其它分支方向預(yù)測器實(shí)現(xiàn)映射。(2)同一間接轉(zhuǎn)移指令的多目標(biāo)地址映射區(qū)別于傳統(tǒng)的BTB結(jié)構(gòu),本發(fā)明的間接轉(zhuǎn)移預(yù)測的裝置結(jié)構(gòu)中一條間接轉(zhuǎn)移指令占用多個BTB項,從功能上將這些項劃分為目標(biāo)地址項(圖中可簡稱目標(biāo)項)和分配項。目標(biāo)地址項用于存儲一條間接轉(zhuǎn)移指令的目標(biāo)地址,每個目標(biāo)地址項由目標(biāo)指針生成的虛擬地址進(jìn)行索引。隨著程序的運(yùn)行,根據(jù)該條間接轉(zhuǎn)移指令出現(xiàn)過的目標(biāo)地址動態(tài)地分配目標(biāo)地址項。通過以往分析和評測結(jié)果表明,大多數(shù)評測程序中一條間接轉(zhuǎn)移指令的目標(biāo)地址不會超過16個?;诖朔N情況,本發(fā)明為一條間接轉(zhuǎn)移指令最多分配16個目標(biāo)地址項。如果一條間接轉(zhuǎn)移指令的目標(biāo)地址超過16個,則將最新遇到的目標(biāo)地址替換已有的目標(biāo)地址項,即以最新遇到目標(biāo)地址來刷新一已有的目標(biāo)地址項。由于程序運(yùn)行時可能占用多個目標(biāo)地址項,本發(fā)明通過分配項來記錄每個間接轉(zhuǎn)移指令目標(biāo)地址項的使用情況。譬如通過一個16位或更多位的寄存器作為分配項,其中每一位對應(yīng)于間接轉(zhuǎn)移指令的一目標(biāo)地址項的使用情況,如值1為使用,值0為未使用。為了在預(yù)測時盡快確認(rèn)BTB中是否存在該間接轉(zhuǎn)移指令的目標(biāo)地址項,分配項在BTB中使用PC 直接索引。在本發(fā)明的間接轉(zhuǎn)移預(yù)測的裝置實(shí)施例中,創(chuàng)建目標(biāo)指針,該目標(biāo)指針指向BTB 中存儲的目標(biāo)地址項,以此實(shí)現(xiàn)目標(biāo)地址的映射。每個目標(biāo)指針對應(yīng)一個目標(biāo)地址項,因此對于一個間接轉(zhuǎn)移指令,最多可擁有16個目標(biāo)指針。這些指針譬如使用4位數(shù)值表示。其中,每個目標(biāo)指針(TP,Target Pointer)用以生成索引每個目標(biāo)地址項的虛擬地址(FA,F(xiàn)ake Address),該虛擬地址的位數(shù)與PC相同。不同的目標(biāo)指針會生成不同的FA, 即 FA = f (PC, TP)。一種簡單的映射方式是將PC的最高4位和最低4位分別與目標(biāo)指針以及一個常數(shù)異或。當(dāng)然,也可以采用將PC的最高4位和最低4位分別與目標(biāo)指針以及一個常數(shù)相加的映射方式。這種通過計算處理實(shí)現(xiàn)映射的方式可以將生成的FA廣泛地散列分布在BTB 中,以減少間接轉(zhuǎn)移目標(biāo)之間的沖突以及與條件轉(zhuǎn)移目標(biāo)之間的沖突。(3)更新機(jī)制更新時,每個子預(yù)測器將目標(biāo)指針的對應(yīng)位作為該預(yù)測器的訓(xùn)練目標(biāo)進(jìn)行更新。如果間接轉(zhuǎn)移指令提交時發(fā)現(xiàn)預(yù)測正確,本發(fā)明對BTB的操作與條件轉(zhuǎn)移指令更新BTB時相同。一旦發(fā)現(xiàn)預(yù)測錯誤,本發(fā)明需要更新子預(yù)測器以生成正確的目標(biāo)指針,以使間接轉(zhuǎn)移場景映射到BTB中正確的目標(biāo)地址項。預(yù)測通常會產(chǎn)生如下兩類錯誤1)目標(biāo)指針錯誤BTB中一個目標(biāo)地址項已存放了正確的間接轉(zhuǎn)移地址,但目標(biāo)指針映射到了其他目標(biāo)地址項;該情況主要是由于分支方向預(yù)測器中條件轉(zhuǎn)移方向預(yù)測與目標(biāo)指針預(yù)測的別名沖突所致。2)目標(biāo)指針無意義BTB中沒有目標(biāo)地址項存儲正確目標(biāo)地址,因此目標(biāo)指針無意義;該情況主要是由于BTB中記錄間接轉(zhuǎn)移目標(biāo)地址時的義務(wù)失效所致。為了能夠區(qū)分上述兩種情況并據(jù)此更新分配項,本發(fā)明需要根據(jù)分配項中的記錄,遍歷BTB中該間接轉(zhuǎn)移指令全部已分配的目標(biāo)地址項。該遍歷過程可能需要多個周期完成。然而,由于本發(fā)明只需訪問那些已分配的目標(biāo)地址項(根據(jù)分配項中記錄的信息確定),它相比于VPC技術(shù)需要遍歷全部間接轉(zhuǎn)移目標(biāo)地址存儲項而言,已較大幅降低了更新所需花費(fèi)的時間代價。本發(fā)明在上述遍歷過程中通過依次生成目標(biāo)指針映射到虛擬地址(FA),遍歷BTB 中已分配的目標(biāo)地址項1)分配項的更新遍歷時,一旦出現(xiàn)某個FA訪問BTB失效的情況,說明其索引的目標(biāo)地址項已被其它分支指令替換,此時需要將分配項中的對應(yīng)位更新為未使用狀態(tài)。2)指針錯誤情況更新如果某個目標(biāo)地址項中的目標(biāo)地址與正確目標(biāo)地址相同,則更新目標(biāo)指針來指向該目標(biāo)地址項由于每個子預(yù)測器的更新機(jī)制與原有預(yù)測器的更新機(jī)制相同,故只需將正確目標(biāo)指針的對應(yīng)位作為訓(xùn)練目標(biāo)進(jìn)行訓(xùn)練即可。3)無意義指針情況更新如果遍歷全部的地址仍沒有發(fā)現(xiàn)與正確地址匹配的目標(biāo)地址項,則需要根據(jù)分配項中的信息,隨機(jī)分配一個新的目標(biāo)地址項或替換一個已使用的目標(biāo)地址項來記錄正確的目標(biāo)地址,并訓(xùn)練分支方向預(yù)測器。本發(fā)明提供的間接轉(zhuǎn)移預(yù)測的裝置實(shí)施例,其結(jié)構(gòu)如圖7所示,包括分支方向預(yù)測器、目標(biāo)地址映射裝置(圖7中虛線所框部分)以及BTB,其中分支方向預(yù)測器,用于根據(jù)定義的多個子預(yù)測器預(yù)測的間接轉(zhuǎn)移方向生成目標(biāo)指針;目標(biāo)地址映射裝置,用于將分支方向預(yù)測器生成的目標(biāo)指針映射為索引BTB中目標(biāo)地址項的虛擬地址;BTB,用于為間接轉(zhuǎn)移指令分配目標(biāo)地址項和分配項,其中,目標(biāo)地址項通過所述虛擬地址索引;分配項記錄每一間接轉(zhuǎn)移指令目標(biāo)地址項的使用情況,通過PC的值索引。在圖7中所示的目標(biāo)地址映射裝置實(shí)施例中,包括目標(biāo)指針寄存器、虛擬地址映射器以及第一多選器,其中分支方向預(yù)測器根據(jù)定義的4個子預(yù)測器預(yù)測的間接轉(zhuǎn)移方向生成4位目標(biāo)指針;目標(biāo)指針寄存器,用于保存分支方向預(yù)測器生成的4位目標(biāo)指針;虛擬地址映射器,用于根據(jù)目標(biāo)指針寄存器保存的4位目標(biāo)指針通過計算映射FA =f(PC, TP)生成索引目標(biāo)地址項的虛擬地址,式中TP為目標(biāo)指針,F(xiàn)A為虛擬地址,PC為程序計數(shù)器的值;第一多選器,用于選擇通過PC的值訪問BTB中分配項的第一索引和通過虛擬地址訪問BTB中目標(biāo)地址項的第二索引。在圖7中所示的目標(biāo)地址映射裝置實(shí)施例中,虛擬地址映射器包括第一異或器和第二異或器,其中第一異或器用于將PC的最高4位與目標(biāo)指針相異或;第二異或器用于將PC的最低4位與一個常數(shù)相異或;將第一異或器和第二異或器的結(jié)果組合,構(gòu)成虛擬地址;或者,虛擬地址映射器包括第一加法器和第二加法器,其中第一加法器用于將PC 的最高4位與目標(biāo)指針相加;第二加法器用于將PC的最低4位與一個常數(shù)相加;將第一加法器和第二加法器的結(jié)果組合,構(gòu)成虛擬地址。在圖7中所示的目標(biāo)地址映射裝置實(shí)施例中,還包括訓(xùn)練循環(huán)計數(shù)器和第二多選器,其中訓(xùn)練循環(huán)計數(shù)器,用于輸出循環(huán)計數(shù)值;第二多選器,用于在預(yù)測時選擇輸出目標(biāo)指針寄存器生成的目標(biāo)指針,在出現(xiàn)預(yù)測錯誤時選擇輸出訓(xùn)練循環(huán)計數(shù)器輸出的循環(huán)計數(shù)值作為更新的目標(biāo)指針;虛擬地址映射器根據(jù)第二多選器輸出的目標(biāo)指針計算生成虛擬地址。在圖7中所示的目標(biāo)地址映射裝置實(shí)施例中,BTB的分配項的記錄用于作為遍歷間接轉(zhuǎn)移指令全部已分配的目標(biāo)地址項的依據(jù),遍歷情況用于作為更新分配項或目標(biāo)指針的依據(jù),遍歷情況及其更新包括以下三種中任意一種第一種,遍歷時一旦出現(xiàn)使用某個目標(biāo)指針訪問BTB而未命中的情況,則將分配項中的對應(yīng)位更新為未使用狀態(tài);第二種,遍歷時如果一個目標(biāo)地址項中的目標(biāo)地址與正確的目標(biāo)地址相同,則更新相應(yīng)的目標(biāo)指針指向該目標(biāo)地址項,將正確目標(biāo)指針的對應(yīng)位作為訓(xùn)練目標(biāo)進(jìn)行訓(xùn)練;第三種,遍歷時如果遍歷全部已分配的目標(biāo)地址項后,沒有找到與正確地址匹配的目標(biāo)地址項,則根據(jù)分配項中的信息,隨機(jī)地分配一個新的目標(biāo)地址項或替換一項已使用的目標(biāo)地址項來記錄正確的目標(biāo)地址,并更新相應(yīng)的目標(biāo)指針指向該目標(biāo)地址項,以及訓(xùn)練分支方向預(yù)測器。本發(fā)明對基于O-GEHL預(yù)測器的間接轉(zhuǎn)移場景映射為目標(biāo)地址進(jìn)行了如下修改1)增加目標(biāo)指針寄存器,用于在預(yù)測時保存4位目標(biāo)指針;2)增加2個XOR或加法器,用于計算FA,并在BTB輸入端增加1個第一多選器,選擇PC或FA作為BTB訪問地址;3)增加1個循環(huán)計數(shù)器,在更新時根據(jù)分配項中信息產(chǎn)生遍歷的目標(biāo)指針;并增加1個第二多選器,選擇在預(yù)測時的目標(biāo)指針或預(yù)測出現(xiàn)錯誤時更新的目標(biāo)指針;4)增加分配項寄存器,以便在整條流水線中攜帶該分配項的信息。如圖6所示,表示了本發(fā)明基于現(xiàn)有的O-GEHL預(yù)測器所進(jìn)行的修改(圖6中灰色部件為本發(fā)明需要加入的部件)1)增加Hash變換使用全局歷史寄存器(GHR)生成子預(yù)測器索引,并增加多選器選擇原始索引值或子預(yù)測器索引值;2)增加4個加法器(圖6中用Σ表示),每個加法器有5位,用以計算每個子預(yù)測器的預(yù)測結(jié)果;并增加多選器,選擇目標(biāo)指針的對應(yīng)位作為子預(yù)測器的更新目標(biāo)。本發(fā)明的間接轉(zhuǎn)移預(yù)測的方法實(shí)施例流程,其流程可參見圖9,包括如下兩個步
11驟當(dāng)處理器獲取一條間接轉(zhuǎn)移指令時,通過PC訪問BTB和分支方向預(yù)測器;其中,具體包括如果首次訪問BTB命中,則表示在BTB中存有該間接轉(zhuǎn)移指令的目標(biāo)地址項,該命中項即為該間接轉(zhuǎn)移指令的分配項;否則,暫停取指,直到在流水線中獲得實(shí)際的間接轉(zhuǎn)移目標(biāo)地址為止。使用分支方向預(yù)測器中的子預(yù)測器獲得目標(biāo)指針(TP),通過FA = f (PC,TP)計算得到虛擬地址(FA)。在下一周期,使用FA 二次訪問BTB,以獲得預(yù)測的間接轉(zhuǎn)移目標(biāo)地址。如果訪問BTB命中,即BTB項有效且標(biāo)簽域和間接轉(zhuǎn)移地址匹配,則將存儲的目標(biāo)地址發(fā)送到指令緩存和流水線中;否則,暫停預(yù)測,直到從流水線中獲得實(shí)際的轉(zhuǎn)移目標(biāo)地址為止。如圖8所示,表示的是C++程序Richards中的虛函數(shù)調(diào)用片段,以期說明本發(fā)明如何使用目標(biāo)指針快速準(zhǔn)確地進(jìn)行間接轉(zhuǎn)移指令的預(yù)測。Richards程序模擬了操作系統(tǒng)中任務(wù)調(diào)度行為,并被用于評測間接轉(zhuǎn)移預(yù)測器的性能。該段程序中父類TaskControlBlock定義了一個ActionFunc的虛函數(shù),并在4個子類中定義了不同的ActionFimc行為。該程序片段中第25行的ActionFimc函數(shù)調(diào)用,對應(yīng)一條間接轉(zhuǎn)移指令jsr$26, ($27),0o隨著程序的執(zhí)行,不同的子類調(diào)用RunTask函數(shù)時,會調(diào)用各個子類下的 ActionFunc函數(shù),即間接轉(zhuǎn)移指令的目標(biāo)地址不同($27不同)。例如,DeviceTCB子類調(diào)用RunTask函數(shù)時,會使用DeviceTCB下定義的ActionFunc實(shí)現(xiàn)。程序執(zhí)行實(shí)現(xiàn)虛函數(shù)調(diào)用時,使用本發(fā)明的機(jī)制進(jìn)行間接轉(zhuǎn)移預(yù)測的流程,如圖9 所示。當(dāng)取得該間接轉(zhuǎn)移指令時,分支方向預(yù)測器中的子預(yù)測器使用GHR的低32位生成預(yù)測表索引(請參見圖6),并通過加法計算生成目標(biāo)指針的對應(yīng)位。DeviceTCB調(diào)用時,生成的目標(biāo)指針為‘1011,。該目標(biāo)指針生成對應(yīng)的FA,以訪問BTB獲得DeviceTCB下定義的 ActionFunc函數(shù)的入口地址。對于本領(lǐng)域的專業(yè)人員來說,在了解了本發(fā)明內(nèi)容和原理后,能夠在不背離本發(fā)明的原理和范圍的情況下,根據(jù)本發(fā)明的方法進(jìn)行形式和細(xì)節(jié)上的各種修正和改變,但是這些基于本發(fā)明的修正和改變?nèi)栽诒景l(fā)明的權(quán)利要求保護(hù)范圍之內(nèi)。
1權(quán)利要求
1.一種實(shí)現(xiàn)現(xiàn)代處理器間接轉(zhuǎn)移預(yù)測的裝置,其特征在于,包括分支方向預(yù)測器、目標(biāo)地址映射裝置以及分支目標(biāo)緩沖器,其中分支方向預(yù)測器,用于根據(jù)定義的多個子預(yù)測器預(yù)測的間接轉(zhuǎn)移方向生成目標(biāo)指針; 目標(biāo)地址映射裝置,用于將分支方向預(yù)測器生成的目標(biāo)指針映射為索引分支目標(biāo)緩沖器的虛擬地址;分支目標(biāo)緩沖器,用于為間接轉(zhuǎn)移指令分配目標(biāo)地址項和分配項,所述目標(biāo)地址項通過所述虛擬地址索引;所述分配項記錄每一間接轉(zhuǎn)移指令目標(biāo)地址項的使用情況,通過程序計數(shù)器的值索引。
2.按照權(quán)利要求1所述的裝置,其特征在于,所述目標(biāo)地址映射裝置包括目標(biāo)指針寄存器、虛擬地址映射器以及第一多選器,其中所述分支方向預(yù)測器根據(jù)定義的4個子預(yù)測器預(yù)測的間接轉(zhuǎn)移方向生成4位目標(biāo)指針;目標(biāo)指針寄存器,用于保存所述分支方向預(yù)測器生成的4位目標(biāo)指針; 虛擬地址映射器,用于根據(jù)目標(biāo)指針寄存器保存的所述4位目標(biāo)指針通過計算映射式 FA = f (PC,TP)生成索引目標(biāo)地址項的虛擬地址;在該計算映射式中,該TP為目標(biāo)指針,該 FA為虛擬地址,該P(yáng)C為程序計數(shù)器的值;第一多選器,用于選擇通過所述PC訪問所述分配項的第一索引和通過虛擬地址訪問所述目標(biāo)地址項的第二索引。
3.按照權(quán)利要求2所述的裝置,其特征在于,所述虛擬地址映射器包括第一異或器和第二異或器,其中第一異或器用于將所述PC 的最高4位與所述4位目標(biāo)指針相異或;第二異或器用于將所述PC的最低4位與一個常數(shù)相異或;將第一異或器和第二異或器的結(jié)果組合,構(gòu)成所述虛擬地址;或者,所述虛擬地址映射器包括第一加法器和第二加法器,其中第一加法器用于將所述PC的最高4位與所述4位目標(biāo)指針相加;第二加法器用于將PC的最低4位與一個常數(shù)相加;將第一加法器和第二加法器的結(jié)果組合,構(gòu)成所述虛擬地址。
4.按照權(quán)利要求2所述的裝置,其特征在于,所述目標(biāo)地址映射裝置還包括訓(xùn)練循環(huán)計數(shù)器和第二多選器,其中訓(xùn)練循環(huán)計數(shù)器,用于輸出循環(huán)計數(shù)值;第二多選器,用于在預(yù)測時選擇輸出所述目標(biāo)指針寄存器生成的目標(biāo)指針,在出現(xiàn)預(yù)測錯誤時選擇輸出訓(xùn)練循環(huán)計數(shù)器輸出的所述循環(huán)計數(shù)值作為更新的目標(biāo)指針;所述虛擬地址映射器根據(jù)第二多選器輸出的目標(biāo)指針,通過所述計算映射式生成虛擬地址。
5.按照權(quán)利要求4所述的裝置,其特征在于,所述分支目標(biāo)緩沖器中所述分配項的記錄用于作為遍歷間接轉(zhuǎn)移指令全部已分配的目標(biāo)地址項的依據(jù),遍歷情況用于作為更新所述分配項或所述目標(biāo)指針的依據(jù);所述遍歷情況及其更新包括以下三種中任意一種第一種,遍歷時一旦出現(xiàn)使用一個目標(biāo)指針訪問所述分支目標(biāo)緩沖器而未命中的情況,則將分配項中的對應(yīng)位更新為未使用狀態(tài);第二種,遍歷時如果一個目標(biāo)地址項中的目標(biāo)地址與正確的目標(biāo)地址相同,則更新相應(yīng)的目標(biāo)指針指向該目標(biāo)地址項,將正確目標(biāo)指針的對應(yīng)位作為訓(xùn)練目標(biāo)進(jìn)行訓(xùn)練;第三種,遍歷時如果遍歷全部已分配的目標(biāo)地址項后,沒有找到與正確地址匹配的目標(biāo)地址項,則根據(jù)所述分配項中記錄的信息,隨機(jī)地分配一個新的目標(biāo)地址項或替換一項已使用的目標(biāo)地址項來記錄正確的目標(biāo)地址,并更新相應(yīng)的目標(biāo)指針指向該目標(biāo)地址項, 以及訓(xùn)練所述分支方向預(yù)測器。
6.一種實(shí)現(xiàn)現(xiàn)代處理器間接轉(zhuǎn)移預(yù)測的方法,涉及分支方向預(yù)測器和分支目標(biāo)緩沖器,該方法包括在分支方向預(yù)測器中定義多個子預(yù)測器,每一個子預(yù)測器預(yù)測的間接轉(zhuǎn)移方向作為目標(biāo)指針的每一位,通過所述目標(biāo)指針映射生成索引分支目標(biāo)緩沖器的虛擬地址;在分支目標(biāo)緩沖器中為每一間接轉(zhuǎn)移指令分配目標(biāo)地址項和分配項,其中,所述目標(biāo)地址項通過目標(biāo)指針映射的虛擬地址索引;所述分配項用于記錄每一間接轉(zhuǎn)移指令目標(biāo)地址項的使用情況,并通過程序計數(shù)器的值索引。
7.按照權(quán)利要求6所述的方法,其特征在于,當(dāng)所述處理器獲取一條間接轉(zhuǎn)移指令要進(jìn)行預(yù)測時,同時執(zhí)行以下步驟通過所述程序計數(shù)器的值訪問所述分支目標(biāo)緩沖器;若所述訪問命中,則將命中項作為該間接轉(zhuǎn)移指令的所述分配項;否則,暫停取指,直到在流水線中獲得實(shí)際的間接轉(zhuǎn)移目標(biāo)地址為止;通過所述分支方向預(yù)測器中定義的4個子預(yù)測器獲得4位目標(biāo)指針,通過計算映射式 FA = f (PC, TP)生成所述虛擬地址;在該計算映射式中,該TP為所述4位目標(biāo)指針,該FA 為生成的所述虛擬地址,該P(yáng)C為所述程序計數(shù)器的值。
8.按照權(quán)利要求7所述的方法,其特征在于,還包括在所述預(yù)測的下一周期,使用所述虛擬地址再次訪問所述分支目標(biāo)緩沖器,以獲得預(yù)測的間接轉(zhuǎn)移目標(biāo)地址。
9.按照權(quán)利要求8所述的方法,其特征在于,還包括在出現(xiàn)預(yù)測錯誤時選擇一訓(xùn)練循環(huán)計數(shù)器輸出的循環(huán)計數(shù)值作為更新的目標(biāo)指針;所述分支目標(biāo)緩沖器將所述分配項作為遍歷間接轉(zhuǎn)移指令全部已分配的目標(biāo)地址項的依據(jù),遍歷情況用于作為更新所述分配項或所述目標(biāo)指針的依據(jù);所述遍歷情況及其更新包括以下三種中任意一種第一種,遍歷時一旦出現(xiàn)使用一個目標(biāo)指針訪問所述分支目標(biāo)緩沖器而未命中的情況,則將分配項中的對應(yīng)位更新為未使用狀態(tài);第二種,遍歷時如果一個目標(biāo)地址項中的目標(biāo)地址與正確的目標(biāo)地址相同,則更新相應(yīng)的目標(biāo)指針指向該目標(biāo)地址項,將正確目標(biāo)指針的對應(yīng)位作為訓(xùn)練目標(biāo)進(jìn)行訓(xùn)練;第三種,遍歷時如果遍歷全部已分配的目標(biāo)地址項后,沒有找到與正確地址匹配的目標(biāo)地址項,則根據(jù)所述分配項中記錄的信息,隨機(jī)地分配一個新的目標(biāo)地址項或替換一項已使用的目標(biāo)地址項來記錄正確的目標(biāo)地址,并更新相應(yīng)的目標(biāo)指針指向該目標(biāo)地址項, 以及訓(xùn)練所述分支方向預(yù)測器。
全文摘要
本發(fā)明披露了實(shí)現(xiàn)現(xiàn)代處理器間接轉(zhuǎn)移預(yù)測的裝置及方法,其中裝置包括分支方向預(yù)測器根據(jù)定義的多個子預(yù)測器預(yù)測的間接轉(zhuǎn)移方向生成目標(biāo)指針;目標(biāo)地址映射裝置將分支方向預(yù)測器生成的目標(biāo)指針映射為索引分支目標(biāo)緩沖器的虛擬地址;以及分支目標(biāo)緩沖器為間接轉(zhuǎn)移指令分配目標(biāo)地址項和分配項,其中,目標(biāo)地址項通過虛擬地址索引;分配項記錄每一間接轉(zhuǎn)移指令目標(biāo)地址項的使用情況,通過程序計數(shù)器的值索引。本發(fā)明在不需要大容量存儲結(jié)構(gòu)支持的基礎(chǔ)上,能夠以與已有的間接轉(zhuǎn)移預(yù)測技術(shù)類似的時間代價,換取同時提高預(yù)測準(zhǔn)確率和處理器能效的效果。
文檔編號G06F9/38GK102306094SQ20111023551
公開日2012年1月4日 申請日期2011年8月16日 優(yōu)先權(quán)日2011年8月16日
發(fā)明者佟冬, 史秦青, 宋天寶, 程旭, 謝子超, 陸俊林, 黃明凱 申請人:北京北大眾志微系統(tǒng)科技有限責(zé)任公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
桂阳县| 崇文区| 洛川县| 安泽县| 新干县| 崇阳县| 富阳市| 新疆| 沁水县| 达孜县| 五寨县| 辽阳市| 湘乡市| 光山县| 平原县| 高要市| 东源县| 威宁| 开远市| 民乐县| 麻城市| 收藏| 缙云县| 斗六市| 朝阳市| 资阳市| 辽阳市| 盖州市| 华宁县| 满城县| 淳安县| 民和| 永修县| 邵阳县| 茶陵县| 平潭县| 清原| 芦溪县| 扶沟县| 乐至县| 通渭县|