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

微處理器以及微處理器操作方法

文檔序號:6636845閱讀:246來源:國知局
微處理器以及微處理器操作方法
【專利摘要】一種微處理器以及微處理器操作方法。該微處理器包括預測單元及控制單元。控制單元用以控制預測單元累計已執(zhí)行的指令的特性的歷史記錄,檢測自運行第一線程至運行第二線程之間的第一轉(zhuǎn)變,控制預測單元于運行第二線程時選擇性地暫停累計歷史記錄并進行預測,還用以控制預測單元將響應于第一轉(zhuǎn)變的歷史記錄的第一狀況存儲至存儲器,檢測從運行第二線程至第三線程的第二轉(zhuǎn)變,及檢測第一和第三線程的處理是否部分相同。當?shù)谝缓偷谌€程的處理部分相同,預測單元恢復累計歷史記錄及恢復利用歷史記錄進行預測。當?shù)谝缓偷谌€程的處理部分不相同,將響應于第二轉(zhuǎn)變的歷史記錄的第二狀況載入預測單元,及恢復累計歷史記錄及恢復利用歷史記錄進行預測。
【專利說明】微處理器以及微處理器操作方法
[0001] 本申請是申請日為2014年6月6日、申請?zhí)枮?01410251303. 0、發(fā)明名稱為"微 處理器以及微處理器操作方法"的發(fā)明專利申請的分案申請。

【技術(shù)領(lǐng)域】
[0002] 本發(fā)明涉及一種微處理器以及其操作方法,特別涉及根據(jù)微處理器中所累計已執(zhí) 行的指令的特性的歷史記錄進行預測的微處理器以及其操作方法。

【背景技術(shù)】
[0003] 現(xiàn)今微處理器利用不同的預測技術(shù)以改進執(zhí)行效能。舉例來說,分支預測器 (branch predictor)用以預測是否會執(zhí)行分支指令,若執(zhí)行分支指令,則預測分支指令的 目標地址。動態(tài)分支預測累計不同分支指令執(zhí)行所輸出的歷史記錄,以及根據(jù)歷史記錄進 行預測。動態(tài)分支預測的預測精準度很大程度與可累計的歷史記錄的數(shù)量有關(guān)。只要在既 定時間內(nèi)通過程序執(zhí)行小到可以包含在預測歷史記錄中的一組分支指令,則精準度可能非 常尚。
[0004] 然而,預測精準度會因某些事件而大幅降低。上述事件之一為當其他程序運行時, 目前正在運行的程序暫時中斷的狀況。舉例來說,通過網(wǎng)絡(luò)接口控制器接收分組,將發(fā)出一 中斷信號至處理器。處理器將操作系統(tǒng)的控制轉(zhuǎn)換為提供中斷,這將造成目前所運行的程 序A暫時中斷,直到操作系統(tǒng)將控制恢復以運行程序A為止。當處理器執(zhí)行操作系統(tǒng)的分 支指令時,將影響程序A的分支預測的歷史記錄。對程序A的預測分支而言,很有可能會降 低的分支預測器的精準度。


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

[0005] 本發(fā)明一實施例提供一種微處理器。微處理器包括一預測單元以及一控制單元。 控制單元用以控制預測單元累計由微處理器所執(zhí)行的指令的特性的歷史記錄,以及在微處 理器運行第一線程時根據(jù)歷史記錄預測后續(xù)指令。控制單元還檢測自運行第一線程至運行 與第一線程不同的第二線程(thread)之間的第一轉(zhuǎn)變??刂茊卧€控制預測單元在運行 第二線程時選擇性地暫停累計歷史記錄并利用歷史記錄進行預測??刂茊卧靡钥刂祁A測 單元將響應于第一轉(zhuǎn)變的預測單元的歷史記錄的第一狀況存儲至存儲器??刂茊卧獧z測從 運行第二線程至第三線程的第二轉(zhuǎn)變,以及檢測第一線程以及第三線程的處理是否部分相 同。當?shù)谝痪€程以及第三線程的處理部分相同,預測單元恢復累計上述歷史記錄及恢復利 用歷史記錄進行預測。當?shù)谝痪€程以及第三線程的處理部分不相同,預測單元將響應于第 二轉(zhuǎn)變的存儲器的歷史記錄的第二狀況載入至預測單元,以及預測單元恢復累計歷史記錄 及恢復利用歷史記錄進行預測。
[0006] 本發(fā)明另一實施例提供一種執(zhí)行微處理器的方法。方法包括累計由微處理器所 執(zhí)行的指令的特性的歷史記錄,以及于微處理器運行第一線程時根據(jù)歷史記錄預測后續(xù)指 令。方法還包括檢測自運行第一線程至運行第二線程之間的第一轉(zhuǎn)變。方法還包括于運行 第二線程時選擇性地暫停累計歷史記錄并利用歷史記錄進行預測。方法還包括預測單元將 響應于第一轉(zhuǎn)變的預測單元的歷史記錄的第一狀況存儲至存儲器。方法還包括檢測從運行 第二線程至第三線程的第二轉(zhuǎn)變,以及檢測第一線程以及第三線程的處理是否部分相同。 當?shù)谝痪€程以及第三線程的處理部分相同,預測單元恢復累計上述歷史記錄及恢復利用歷 史記錄進行預測。當?shù)谝痪€程以及第三線程的處理部分不相同,預測單元將響應于第二轉(zhuǎn) 變的存儲器的歷史記錄的第二狀況載入至預測單元,以及預測單元恢復累計歷史記錄及恢 復利用歷史記錄進行預測。

【專利附圖】

【附圖說明】
[0007] 圖1是顯示一微處理器的方塊圖。
[0008] 圖2是描述圖1所示的微處理器的操作流程圖。
[0009] 圖3是根據(jù)一替代實施例描述圖1所示的微處理器的操作流程圖。
[0010] 圖4是根據(jù)另一替代實施例描述圖1所示的微處理器的操作流程圖。
[0011] 【符號說明】
[0012] 100?微處理器
[0013] 102?分支預測單元
[0014] 104?數(shù)據(jù)預取單元
[0015] 106?存儲沖突預測單元
[0016] 108?歷史記錄存儲器
[0017] 109?預測單元
[0018] 111?現(xiàn)有特權(quán)等級寄存器
[0019] 112?保存最佳化信息的存儲器
[0020] 113?引退指令計數(shù)器
[0021] 114?效能計數(shù)器
[0022] 124?控制單元
[0023] 132A、132B、132C?預測歷史記錄
[0024] 202、212、222、232、242、311、313、315、333、335、413、433、435 ?流程方塊

【具體實施方式】
[0025] 以下所述的實施例藉由選擇性暫停預測歷史記錄的累計,以及當暫停動態(tài)預測 時,通過預測單元(例如分支預測器、數(shù)據(jù)預取器(data prefetcher)以及存儲沖突檢測 預測器(store collision detection predictor))利用利于靜態(tài)預測的預測歷史記錄進 行預測,以改進微處理器的效能。更具體地,當微處理器運行一些線程(thread,又稱之為 "執(zhí)行緒")但非其他時,可能暫停預測歷史記錄累計(prediction history accumulation) 以及使用。舉例來說,根據(jù)運行線程(thread,又稱之為"執(zhí)行緒")的特權(quán)等級選擇暫停, 更具體地,線程是否運行于管理者特權(quán)等級,例如于x86架構(gòu)處理器下的目前特權(quán)等級 (current privilege level,CPL)的第0級(亦被稱為ring 0)。舉另一例來說,根據(jù)線 程的類型選擇暫停,例如線程是否為中斷處理程序(interrupt handler)。舉另一例來說, 暫停的選擇可根據(jù)是否此轉(zhuǎn)換到一新的線程的動作回應一系統(tǒng)調(diào)用(system call)指令而 設(shè)定。舉另一例來說,微處理器搜集有關(guān)線程的前一執(zhí)行實例的信息,以及根據(jù)上述信息選 擇暫停,例如指令長度以及效能信息。舉另一例來說,根據(jù)線程的識別碼選擇暫停。線程的 識別碼(identity)可根據(jù),例如,造成轉(zhuǎn)變的事件的類型、當事件發(fā)生時處理器的架構(gòu)狀 態(tài)、以及前述兩者的結(jié)合而決定。事件的類型可包括,例如,系統(tǒng)調(diào)用的執(zhí)行、軟件中斷指 令的執(zhí)行、內(nèi)部特權(quán)(inter-privilege)或者任務(wù)切換程序調(diào)用(task switch procedure call)的執(zhí)行、以及例外情況的檢測。此外,微處理器可在暫停預測歷史記錄累計以及使用 期間將預測歷史存儲以及還原至局部存儲器(local storage)。
[0026] 注釋:
[0027] 預測單元為微處理器的硬件、軟件、或者硬件以及軟件的結(jié)合,用以預測有關(guān)運 行在處理器的指令流所將采取的動作。預測可包括(但非以此為限)預測分支指令是否 指示微處理器進行分支;預測分支指令的目標地址;預測藉由指令流(instructions of the stream)所存取的數(shù)據(jù);預測是否會發(fā)生存儲沖突(store collision)。預測單元 根據(jù)由微處理器所執(zhí)行的指令的特性的歷史記錄進行預測,又可稱為動態(tài)預測(dynamic prediction)。當微處理器執(zhí)行指令流時,預測單元累計歷史記錄。歷史記錄可包括(但 非以此為限)無論分支指令是否指示微處理器進行分支的執(zhí)行結(jié)果(outcome);作用分支 指令(taken buanch instruction)的目標地址;藉由指令流所讀取或者存儲的數(shù)據(jù)的地 址;與指定快取存儲器位置的存儲指令有關(guān)的信息,例如存儲指令的地址、用以計算存儲地 址的來源的識別符(identifier)、存儲數(shù)據(jù)所依賴的指令的重排序緩沖器索引(reorder buffer index)、先前與存儲指令沖突的載入指令的地址以及重排序緩沖器索引、沖突載 入以及存儲指令之間的重排序緩沖器索引差量(delta)、沖突載入指令重復的次數(shù)的指 標(indicator)。預測單元也可不根據(jù)歷史記錄進行預測,又可稱為靜態(tài)預測(static prediction)〇
[0028] 微處理器的特權(quán)等級由微處理器的指令集架構(gòu)(instruction set architecture)所定義,以及控制目前所運行的程序?qū)τ谙到y(tǒng)資源的存取,例如存儲器區(qū) 域、I/O端口以及指令集的特定指令(certain instruction)。
[0029] 線程為由微處理器所執(zhí)行的指令的序列。
[0030] 程序為線程,以及其相關(guān)的狀態(tài)系其他程序共同由操作系統(tǒng)所管理。操作系統(tǒng)將 處理識別符分配至程序。
[0031] 請參閱圖1,圖1是顯示微處理器100的方塊圖。微處理器100包括預測單元109。 預測單元109耦接至控制單元124以及預測歷史記錄存儲器108??刂茊卧?24耦接至引 退指令計數(shù)器(retired instruction counter) 113、效能計數(shù)器114、現(xiàn)有特權(quán)等級寄存器 (current privilege level register) 111、以及保存最佳化信息的存儲器(storage for holding optimization information) 112。在一實施例中,微處理器100包括一個或多個 功能單元的管線(未顯示),具有指令快?。╥nstruction cache)、指令轉(zhuǎn)換單元或者指令 解碼器、寄存器重命名單元(register renaming unit)、保留站(reservation station)、 數(shù)據(jù)快取、執(zhí)行單元、存儲器子系統(tǒng)(memory subsystem)以及具有重排序緩沖器的引退單 元。優(yōu)選地,微處理器100包括超標量(superscalar)、無序執(zhí)行微架構(gòu)(out-of-order execution microarchitecture)。預測單元109可并入微處理器100的各種功能單元中或 者作為功能單元。
[0032] 預測單元109包括硬件、軟件或者硬件以及軟件的結(jié)合。預測單元109具有分支 預測單元102、數(shù)據(jù)預取單元104以及存儲沖突預測單元106,分支預測單元102包括用以 存儲預測歷史記錄132A的存儲陣列,數(shù)據(jù)預取單元104包括用以存儲預測歷史記錄132B 的存儲陣列,以及存儲沖突預測單元106包括用以存儲預測歷史記錄132C的存儲陣列。預 測歷史記錄單獨參考預測歷史記錄132A?C中的一個或者集體性參考多個預測歷史記錄 132A?C。預測單元109分別使用預測歷史記錄132A?C中的一個以作出與指令或者數(shù)據(jù) 處理有關(guān)的預測,以通過各別的操作嘗試改進效能和(或)減少微處理器100的功率消耗。 更具體地,分支預測單元102累計指令地址的歷史記錄、方位(執(zhí)行(taken)或者未執(zhí)行)、 以及由微處理器100所執(zhí)行的分支指令的目標地址,以致能分支預測單元102動態(tài)預測分 支指令之后續(xù)執(zhí)行狀況的方向以及目標地址。動態(tài)分支預測技術(shù)為本【技術(shù)領(lǐng)域】所已知的分 支預測技術(shù)。數(shù)據(jù)預取單元104藉由程序指令將存取的歷史記錄累計至快取存儲器區(qū)域以 檢測存儲器存取模式(pattern),以預測未來哪個來自快取存儲器區(qū)域的數(shù)據(jù)會通過程序 進行存取,并在程序請求數(shù)據(jù)之前將預測的數(shù)據(jù)自系統(tǒng)存儲器預取至微處理器100的快取 存儲器以減少存儲器的存取時間(因為系統(tǒng)存儲器的延遲大于快取存儲器的延遲)。動態(tài) 數(shù)據(jù)預取技術(shù)為本【技術(shù)領(lǐng)域】所已知的數(shù)據(jù)預取技術(shù)。存儲沖突預測單元106累計指令快取 存儲器位置的存儲指令的歷史記錄,以預測存儲沖突何時會發(fā)生。存儲沖突發(fā)生在當較新 的載入指令指定數(shù)據(jù)以覆蓋較舊的存儲指令時。存儲沖突的預測可致能微處理器100預測 性地將數(shù)據(jù)自存儲指令轉(zhuǎn)移(forward)至載入指令,和(或)避免執(zhí)行抵觸(colliding) 載入指令使較舊的存儲指令失序。值得注意的是,上述實施例并非用以限制預測單元的上 述特定型式,但可能包括藉由微處理器100執(zhí)行以累計指令的特性的歷史記錄的其他型式 的預測單元,可有效地致能預測單元進行有關(guān)后續(xù)執(zhí)行指令的預測或者執(zhí)行其他預測操作 以嘗試增加處理器100的效能和(或)降低其功率消耗。
[0033] 此外由各個預測單元109進行動態(tài)預測,即為利用預測歷史記錄132A?C中的一 個進行預測,各個預測單元109也可用以進行靜態(tài)預測,即為不通過利用預測歷史記錄進 行預測。舉例來說,在一實施例中,分支預測單元102對所有目標地址為反向(backward) 的分支指令(舉例來說,偏移為負值的相關(guān)分支)進行靜態(tài)預測,因為并不需要任何先前所 執(zhí)行指令的歷史記錄,以及并不會對所有目標地址為前向(forward)的分支指令進行靜態(tài) 預測。舉另一例來說,在一實施例中,當數(shù)據(jù)預取單元104檢測到程序存取快取存儲器時, 需要下一時序(sequential)的數(shù)據(jù)的快取線以進行預測,因此數(shù)據(jù)預取單元104預取下一 時序的數(shù)據(jù)的快取線。靜態(tài)預測方法為中央處理單元的已知技術(shù)。
[0034] 在一實施例中,預測單元109利用預測歷史記錄存儲器108存儲預測歷史記錄 132A?C以響應導致微處理器100自運行一線程轉(zhuǎn)換至運行另一線程的事件,舉例來說,自 使用者特權(quán)等級轉(zhuǎn)換至管理者特權(quán)等級,以及還原預測歷史記錄132A?C以響應導致微處 理器100自管理者特權(quán)等級轉(zhuǎn)換回使用者特權(quán)等級的事件,優(yōu)選地為當在執(zhí)行轉(zhuǎn)換至管理 者特權(quán)等級時,恢復至一不同的使用者程序而非先前所運行處理,下列將提出更詳細的描 述。
[0035] 現(xiàn)有特權(quán)等級寄存器111存儲微處理器100的現(xiàn)有特權(quán)等級。在一實施例中,微處 理器100基本上符合X86的架構(gòu),其他為Intel IA-32架構(gòu)和(或)Intel 64架構(gòu)(上述的 架構(gòu)詳述于"Intel Mand IA-32Architectures Software Developer's Manual,Combined Volumes:1,2A,2B,2C,3B and 3C, Order Number 325464-043US, May 2012, by the Intel Corporation of Santa Clara,California"中)。特別的是,在x86的實施例中,現(xiàn)有特權(quán) 等級寄存器111用以指示微處理器100是否運行在現(xiàn)有特權(quán)等級〇、1、2或者3,即為在第0 級、第1級、第2級或者第3級。第0級為最優(yōu)先的特權(quán)等級,以及第3級為最小的特權(quán)等 級(使用者特權(quán)等級)。第〇級、第1級以及第2級為管理者特權(quán)等級。
[0036] 在一指令引退時,引退指令計數(shù)器113遞增。將微處理器100開始運行另一不同的 線程(例如離開第〇級)的引退指令計數(shù)器的值減去當微處理器100開始運行線程時(例 如進入第0級)的引退指令計數(shù)器113的值,使控制單元124可根據(jù)上述的值決定有多少 指令藉由線程引退,下列將提出更詳細的敘述。在一實施例中,指令計數(shù)器113計算微指令 引退的數(shù)量(即為架構(gòu)指令,例如x86指令),然而在另一實施例中,指令計數(shù)器113計算微 指令引退的數(shù)量(即為由微處理器100的指令轉(zhuǎn)換器(instruction translator)自微指 令轉(zhuǎn)換為由微處理器100的微架構(gòu)指令集所定義的非架構(gòu)指令,以及上述非架構(gòu)指令由微 處理器100的執(zhí)行單元所執(zhí)行)。
[0037] 效能計數(shù)器114包括多個計數(shù)器,用以計算微處理器100有關(guān)效能和(或)功率 消耗的情況。在一實施例中,效能計數(shù)器114計算預測分支指令;正確地預測分支指令;非 正確地預測分支指令;由數(shù)據(jù)預取所分配的快取線;由非預取機制所分配的快取線,例如 需求載入/存儲或者直接存儲器存?。╠irect memory access,DMA)請求;程序存取至由數(shù) 據(jù)預取所分配的快取線;在使用前被驅(qū)除(evict)的由數(shù)據(jù)預取所分配的快取線;存儲沖 突預測;實際存儲沖突檢測。
[0038] 最佳化信息112用以選擇性地暫停累計,以及選擇性地使用預測歷史記錄132A? C,舉例來說,在管理者等級操作期間,將詳述于與圖3的相關(guān)的實施例中。
[0039] 控制單元124包括硬件、軟件、或者硬件以及軟件的結(jié)合。根據(jù)其輸入(主要為現(xiàn) 有特權(quán)等級111、最佳化信息112、引退指令計數(shù)器113、效能計數(shù)器114、線程轉(zhuǎn)換事件類 型、以及架構(gòu)狀態(tài)),控制單元124控制預測單元109繼續(xù)或者暫停累計其所對應的預測歷 史記錄132A?C中的一個,以及利用預測歷史記錄132A?C和(或)自預測歷史記錄存 儲器108存儲/還原的預測歷史記錄132A?C進行預測。在一實施例中,控制單元124包 括硬件狀態(tài)機器、微編碼或者硬件狀態(tài)機器與微編碼的結(jié)合。在一實施例中,微編碼包括由 微處理器100的執(zhí)行單元所執(zhí)行的指令。
[0040] 在一實施例中,用以控制微編碼的讀取的微編碼單元(未顯示)包括其讀取單元、 或者定序器(sequencer)、以及未執(zhí)行分支預測單元102,以僅預測使用者程序分支指令。 [0041] 請參閱圖2,圖2是描述圖1所示的微處理器100的操作流程圖。流程起始于方塊 202〇
[0042] 在方塊202,當在使用者特權(quán)等級運行線程操作時(舉例來說第3級),各個預測 單元109累計所對應的預測歷史記錄132A?C中的一個,并在微處理器100處理線程的指 令時利用預測歷史記錄132A?C進行動態(tài)預測。流程進入方塊212。
[0043] 在方塊212,控制單元124檢測指示微處理器100操作管理者特權(quán)等級的事件, 舉例來說,第〇級。上述事件亦導致微處理器100自正在運行的線程的控制轉(zhuǎn)換至不 同的線程。上述事件的例子包括,但并非限制于指令的操作,例如系統(tǒng)調(diào)用指令(例如 X86SYSENTER/SYSCALL指令)、軟件中斷(例如X86INT指令)、或者內(nèi)部特權(quán)等級或者任務(wù) 切換程序調(diào)用指令(例如X86CALL指令);以及例外情況的檢測,例如硬件中斷(例如計時 器刻度(timer tick)、I/0裝置)或者頁面錯誤。在一實施例中,在轉(zhuǎn)換控制至第O級線程 或者子程序(routine)之前,事件將造成微處理器100將控制轉(zhuǎn)換至操作系統(tǒng)的微編碼以 執(zhí)行各種操作(例如權(quán)限檢查)。流程進入方塊222。
[0044] 在方塊222,響應于方塊212的事件檢測,當微處理器100在管理者特權(quán)等級運行 新的線程時,控制單元124控制預測單元暫停累計所對應的預測歷史記錄132A?C,以及 暫停利用歷史記錄進行預測。然而,預測單元109持續(xù)進行不需使用預測歷史記錄132A? C的靜態(tài)預測。在一實施例中,控制單元124可暫停累計預測歷史記錄132A?C,以及暫停 針對部分預測單元109的預測,但針對其他單元不暫停累計以及不暫停進行預測。除此之 夕卜,暫停以及不暫停預測單元109的決定由微處理器100動態(tài)操作。舉例來說,編程暫停以 及非暫停預測單元109的子集可藉由例如操作系統(tǒng)或者BIOS進行編程。舉另一例子來說, 可在微處理器100的制造過程中通過熔絲,甚至通過使用者或者服務(wù)人員將子集配置或者 設(shè)置于一區(qū)域中。舉另一例子來說,可根據(jù)將運行的特定第〇級決定子集,接下來將于圖3 所述的實施例進行更詳細的敘述。流程進入方塊232。
[0045] 在方塊232,控制單元124檢測指示微處理器100操作使用者特權(quán)等級(例如第3 級)的事件。上述事件亦造成微處理器100將控制自正在運行的線程轉(zhuǎn)換至不同的線程。上 述事件的例子包括,但并非限制于指令的執(zhí)行,例如系統(tǒng)調(diào)用返回指令(例如X86SYSEXIT/ SYSRET指令)、來自中斷或者例外的返回(例如X86IRET指令)、或者來自程序指令的內(nèi)部 特權(quán)等級返回(例如X86RET指令)。在一實施例中,造成微處理器100將控制轉(zhuǎn)換至微編 碼的事件,將于將控制轉(zhuǎn)換至第3級處理之前執(zhí)行各種操作。流程進入方塊242。
[0046] 在方塊242,預測單元109恢復累計個別的預測歷史記錄,以及于微處理器100處 理指令時利用歷史記錄132進行預測。流程結(jié)束于方塊242。
[0047] 如前所述,若方塊242所返回的控制的第3級處理與方塊212的事件所中斷的第3 級處理相同時,則預測歷史記錄132A?C應與先前的第0級的轉(zhuǎn)變相同,即為當?shù)?級處 理被中斷時,預測歷史記錄132A?C并不會因此而改變,因為其并未被第0級線程所影響。 因此,很可能預測單元109將可有利于事件發(fā)生后一如往常地持續(xù)對第3級處理的線程進 行正確的動態(tài)預測。也可能在執(zhí)行第0級線程時的預測效能將低于執(zhí)行第3級處理的預測 效能,因為第〇級線程預測僅使用靜態(tài)預測。無論如何,根據(jù)第〇級線程和(或)第3級處 理的特性,其可能希望在執(zhí)行第〇級線程時,藉由犧牲效能以有利地改進第3級的效能-由 于第3級處理預測歷史記錄的影響較少或者沒有-將支配第0級效能的損失,特別為當?shù)?0級線程為短的和(或)不經(jīng)常運行。
[0048] 請參閱圖3。圖3是根據(jù)一替代實施例描述圖1所示的微處理器的操作流程圖。 圖3中部分方塊與圖2相同,以及編號亦相同。優(yōu)選地,在重新設(shè)定時,控制單元124初始 化信息112數(shù)據(jù)架構(gòu)將于以下做詳細的敘述。流程起始于方塊202。
[0049] 在方塊202,當線程操作于使用者特權(quán)等級時,例如第3級,各個預測單元109累 計所對應的預測歷史記錄132A?C,以及當微處理器100處理指令時利用預測歷史記錄 132A?C進行預測。流程進入方塊212。
[0050] 在方塊212,控制單元124檢測指示微處理器100操作管理者特權(quán)等級(例如第0 級)的事件,以及造成微處理器100將控制自正在運行的線程轉(zhuǎn)換至不同的線程。流程進 入方塊311。
[0051] 在方塊311,控制單元24嘗試識別運行在第0級的線程,以及產(chǎn)生識別符給第0級 線程。在一實施例中,以下所述的最佳化信息112數(shù)據(jù)架構(gòu)包括由控制單元124保存在微 處理器100的私密存儲器中的表格。表格中每個登錄與不同的第0級線程識別符有關(guān)。功 能用以在檢測到線程轉(zhuǎn)換時,產(chǎn)生第0級識別符以接收各種輸入,例如微處理器100的事件 類型以及狀態(tài)值。事件類型可為前述圖2的方塊212中各種事件類型中的一個,但并非以 此為限。狀態(tài)值可為通用目的寄存器的值(general purpose register value)、模塊特定 寄存器的值(model specific register value)、指令指針(instruction pointer,IP),或 者第3級處理的程序計數(shù)器(PC)的值,用以進行系統(tǒng)調(diào)用、軟件中斷、內(nèi)部特權(quán)或者任務(wù)切 換程序調(diào)用、以及與中斷或者例外有關(guān)的中斷向量數(shù)字,但并非以此為限。舉例來說,當?shù)?3級處理對Microsoft? Windows?操作系統(tǒng)進行系統(tǒng)調(diào)用時(例如通過x86SYSENTER 指令),Windows根據(jù)X86EAX寄存器中的值以及在某些情況下其他寄存器的值運行不同的 線程。因此,在一實施例中,當事件類型為系統(tǒng)調(diào)用指令時,控制單元124檢查EAX寄存器 值,以及產(chǎn)生不同的第〇級識別符給不同的EAX值。其他實施例可用于其他的系統(tǒng)。在另 一例子中,控制單元124可產(chǎn)生不同的第0級識別符值給不同的中斷向量值。流程進入方 塊 313〇
[0052] 方塊313,控制單元124查找在方塊311的最佳化信息112數(shù)據(jù)架構(gòu)中所產(chǎn)生的 第〇級識別符,以取得有關(guān)于藉由第〇級識別符所識別的第〇級線程的最佳化信息112。在 一實施例中,假設(shè)第〇級識別符不存在于最佳化信息112數(shù)據(jù)架構(gòu)中,控制單元124執(zhí)行預 設(shè)第〇級登錄動作(即為相對于進入第〇級的預設(shè)動作有關(guān)于無論是否累計預測歷史記錄 132A?C以及利用預測歷史記錄132A?C進行動態(tài)預測),以及在最佳化信息112數(shù)據(jù)架 構(gòu)中分配進入給第0級識別符。在一實施例中,預設(shè)第0級登錄動作用以暫停累計預測歷 史記錄132A?C,以及利用其進行預測。若第0級識別符存在,控制單元124決定是否根據(jù) 相關(guān)的最佳化信息112置換預設(shè)第0級登錄動作。在一實施例中,最佳化信息112包括與 第0級線程有關(guān)的長度,以及若第0級線程的長度小于既定長度,控制單元124決定暫停累 計并暫停使用預測歷史記錄132A?C,以及反之則繼續(xù)累計以及使用預測歷史記錄132A? C。在一實施例中,表示為指令的數(shù)字的長度引退于第0級線程的前一次運行期間,利用引 退指令計數(shù)器113取得。在一實施例中,最佳化信息112包括在第0級線程的前一次執(zhí)行 實例期間,和(或)于第3級處理的前一次運行之后至第0級線程的前一次執(zhí)行實例期間, 有關(guān)于根據(jù)預測歷史記錄132A?C所進行預測的有效性的信息。在一實施例中,利用效能 計數(shù)器114取得有效性。流程進入決策塊315。
[0053] 在決策塊315,控制單元124決定是否暫停累計預測歷史記錄132A?C,以及是否 暫停使用預測歷史記錄132A?C進行預測。若是如此,流程進入方塊222 ;反之,流程進入 方塊321。盡管在此所述的實施例決定是否累計預測歷史記錄132A?C,以及利用根據(jù)與 線程識別符有關(guān)的最佳化訊息112所作的預測歷史記錄132A?C進行動態(tài)預測,但可藉由 準則(criteria)作出決定。舉例來說,控制單元124可根據(jù)新的線程的特性、或者特征而 不參考最佳化訊息112作出運行轉(zhuǎn)換的決定(利用任何前述的各種輸入的結(jié)合)。也就是 說,新的線程的特征(例如事件類型和(或)與轉(zhuǎn)換至新的線程的架構(gòu)狀態(tài);特權(quán)等級,舉 例來說如相對于圖2的敘述;或者新的線程是否為中斷處理程序(handler))足以作出是否 累計預測歷史記錄132A?C的決定,以及執(zhí)行動態(tài)預測,即為是否選擇性地暫停累計預測 歷史記錄132A?C以及利用預測歷史記錄132A?C進行動態(tài)預測。一般而言,暫停累計 預測歷史記錄132A?C以及利用預測歷史記錄132A?C進行動態(tài)預測的方法用于明顯較 短和(或)很少運行的線程,因為很可能包括上述特征的線程具有較差的預測精準度以作 為不影響其他明顯較長和(或)較常運行的線程的預測歷史記錄132A?C的交換,將使得 其他線程具有較高的預測精準度以微處理器100整體效率較高。
[0054] 在方塊222,響應于方塊212的事件檢測,當微處理器100運行在管理者特權(quán)等 級時,控制單元124控制預測單元109暫停累計其所對應的預測歷史記錄132A?C,以及 暫停利用預測歷史記錄進行預測。然而,預測單元109持續(xù)進行不需要使用預測歷史記錄 132A?C的靜態(tài)預測。流程進入方塊321。
[0055] 在方塊321,當?shù)?級線程運行時,控制單元124持續(xù)搜集有關(guān)第0級線程的最佳 化信息,例如通過效能計數(shù)器的預測有效性以及自引退指令計數(shù)器113的線程長度。在一 實施例中,控制單元124搜集除了由預測單元109所進行的動態(tài)預測之外有關(guān)于靜態(tài)預測 的預測有效性。在一實施例中,控制單元124亦搜集預測有效性信息給第3級線程。較佳 地,若靜態(tài)預測線程的效能為可接受的,則當線程運行時,控制單元124將持續(xù)暫停預測歷 史記錄的累計以及使用,尤其是若其他線程的效能明顯改善時;反之,當線程運行時,控制 單元124將累計以及使用預測歷史記錄。流程進入方塊232。
[0056] 在方塊232,控制單元124檢測指示微處理器100操作于使用者特權(quán)等級的事件 (例如第3級),以及將控制自正在運行的線程轉(zhuǎn)換至不同的線程。流程進入方塊333。
[0057] 在方塊333,控制單元124利用于方塊321所搜集的最佳化信息更新與第0級線程 有關(guān)最佳化信息112數(shù)據(jù)架構(gòu)登錄。在一實施例中,更新包括藉由較新的搜集最佳化訊息 的登錄簡單地取代最佳化訊息112。在另一實施例中,更新包括利用所搜集的最佳化訊息進 行計算,以及利用計算更新最佳化信息112。舉例來說,控制單元124計算引退指令的數(shù)量 的平均和(或)根據(jù)第〇級線程最后的執(zhí)行過程的預測有效性。除此之外,平均可為權(quán)重 或者移動平均數(shù)(rolling average)。另外,控制單元124可過濾出極限值并自最佳化信息 112排除。除此之外,可考慮維持最佳化信息112數(shù)據(jù)架構(gòu)的各種方法。舉例來說,在一實 施例中,控制單元124僅在最佳化訊息112數(shù)據(jù)架構(gòu)保存控制單元124預置換預設(shè)第0級 登錄動作的登錄給第〇級線程;即為若控制單元124在方塊313查找第0級線程識別符,以 及在最佳化信息112數(shù)據(jù)架構(gòu)中找到第0級線程識別符,則控制單元124在決策塊315作 決定以置換預設(shè)動作。流程進入決策塊335。
[0058] 在決策塊335,控制單元124決定是否累計以及使用于方塊222所暫停的預測歷史 記錄132A?C。若是如此,流程進入方塊242 ;反之,則累計預測單元109以及持續(xù)累計預 測歷史記錄132A?C以及使用預測歷史記錄132A?C以進行預測,以及流程結(jié)束。
[0059] 在方塊242,預測單元109恢復累計所對應的預測歷史記錄132A?C,以及當微處 理器100處理指令時,利用預測歷史記錄132A?C進行動態(tài)預測。流程結(jié)束于方塊242。
[0060] 請參閱圖4。圖4是根據(jù)一替代實施例描述圖1所示的微處理器100的操作流程 圖。圖4的一些方塊與圖2的方塊相同,以及具有相同的標號。流程起始于方塊202。
[0061] 在方塊202,當線程操作于使用者特權(quán)等級,例如第3級,每個預測單元109累計 所對應的預測歷史記錄132A?C,以及當微處理器100處理指令時,利用預測歷史記錄 132A?C進行動態(tài)預測。流程進入方塊212。
[0062] 在方塊212,控制單元124檢測指示微處理器100操作于管理者特權(quán)等級(例如 第〇級)的事件,以及造成微處理器100將控制自正在運行的線程轉(zhuǎn)換至不同的線程。流 程進入方塊222。
[0063] 在方塊222,響應至方塊212的事件檢測,當微處理器100在管理者特權(quán)等級運行 新的線程時,控制單元124控制預測單元暫停累計所對應的預測歷史記錄132A?C者,以 及暫停利用預測歷史記錄進行預測。然而,預測單元109持續(xù)進行靜態(tài)預測而不需利用預 測歷史記錄132A?C。流程進入方塊413。
[0064] 在方塊413,控制單元124將預測歷史記錄132A?C的目前實例存儲至預測歷史 記錄存儲器108。在一實施例中,控制單元124僅存儲部分的特定預測歷史記錄132A?C以 減少執(zhí)行存儲所需的時間。舉例來說,若分支預測單元102的預測歷史記錄132A相對較大 (例如8KB),控制單元124可僅存儲大部分最近的存取登錄(例如512位)而非全部的預 測歷史記錄132A。在一實施例中,控制單元124將失效未存儲的部分預測歷史記錄132A? C。除此之外,在一實施例中,控制單元124僅存儲一些而非所有的預測單元109的預測歷 史記錄132A?C。舉例來說,相較于預測單元109的第二子集,若控制單元124認為由第0 級線程所產(chǎn)生的中斷對預測單元109的第一子集的預測有效性造成極大的不利影響,則控 制單元124將存儲第一子集而非第二子集。優(yōu)選地,控制單元124在預測歷史記錄存儲器 108中保留對應于不同藉由唯一的第3級識別碼所識別的第3級處理的多數(shù)登錄。在一實 施例中,第3級處理藉由其x86處理內(nèi)容(process-context)識別符所識別的第3級處理, 例如"Intel 64and IA_32Architectures Software Developer's Manual"第 3A冊第 4-46 至4-62頁第4. 10節(jié)所述的內(nèi)容。在另一實施例中,第3級處理藉由位于x86CR3控制寄存 器中的第3級處理所使用的頁面目錄的地址所識別。在一實施例中,控制單元124保留預 測歷史記錄存儲器108以作為先入先出緩沖器(first-in-first-out buffer)。在另一實 施例中,控制單元124執(zhí)行更復雜的替代方案,例如最近最少使用(least-recently-used) 或者至少頻繁使用(least-frequently-used)。優(yōu)選地,當微處理器100的功能性單元持續(xù) 處理第0級線程的指令時,將預測歷史記錄132A?C存儲至預測歷史記錄存儲器108,以及 第0級線程執(zhí)行時間很可能比預測歷史記錄存儲時間還長。然而,有利的是,因為預測歷史 記錄132A?C陣列并未被存?。磳懭耄┮岳塾嬵A測歷史記錄或者進行預測(即讀?。?, 使得不用于預測歷史記錄存儲以及第〇級指令處理之間爭用存儲預測歷史記錄132A?C 的存儲陣列的存取的讀取端口以及寫入端口,以處理僅進行讀取以寫入預測歷史記錄的第 0級指令。此為有利的,因為用以累計存儲的預測歷史記錄的額外硬件的數(shù)量將被最小化, 原因為不需要包括存儲陣列的額外的讀取端口。流程進入方塊232。
[0065] 在方塊232,控制單元124檢測指示微處理器100操作在使用者特權(quán)等級(例如第 3級)的事件,以及將控制自目前所運行的線程轉(zhuǎn)換置不同的線程。流程進入方塊433。
[0066] 在決策塊433,控制單元124決定轉(zhuǎn)換的新的第3級線程以及控制被轉(zhuǎn)換的舊的第 3級線程的處理是否部分相同。相對于前述的方塊413,控制單元124將藉由比較兩個線程 的處理識別碼以進行決定,例如X86PCID。若新的第3級線程處理不同于舊的第3級線程處 理,流程進入方塊435 ;反之,流程進入方塊242。
[0067] 在方塊435,控制單元124自預測歷史記錄存儲器108將預測歷史記錄132A?C 恢復給新的第3級處理。即為控制單元124使用新的第3級處理識別碼以在預測歷史記錄 存儲器108中尋找預測歷史記錄,以及根據(jù)第3級處理識別碼自預測歷史記錄存儲器108 載入預測單元109的預測歷史記錄132A?C。優(yōu)選地,當微處理器100的功能性單元持續(xù) 處理自執(zhí)行第0級至第3級的微編碼的指令時,執(zhí)行恢復預測歷史記錄存儲器108的預測 歷史記錄132A?C。微編碼的執(zhí)行時間可為明顯的時間周期,以及可能較執(zhí)行預測歷史記 錄132A?C的恢復所需的時間還長,此為有利的,因為預測歷史記錄132A?C陣列并未被 存?。磳懭耄┮岳塾嬵A測歷史記錄或者進行預測(即讀?。沟貌挥糜陬A測歷史記錄 存儲以及第〇級指令處理之間爭用存儲預測歷史記錄132A?C的存儲陣列的存取的讀取 端口以及寫入端口,以處理僅進行恢復預測歷史記錄的第〇級指令。舉例來說,在一實施例 中,微編碼單元并未處理分支預測單元102,即為分支預測單元102并未對微編碼指令進行 預測。舉另一例來說,在一實施例中,環(huán)過渡(ring transition)微編碼并未存取系統(tǒng)存儲 器;因此,數(shù)據(jù)預取單元104并不需要對環(huán)過渡微編碼進行數(shù)據(jù)預取,以及存儲沖突預測單 元106并不需要對環(huán)過渡微編碼進行預測。有利的是,因為用以累計預測歷史記錄的恢復 所需的額外硬件的數(shù)量可被最小化,原因為不需要在存儲陣列上包括額外的寫入端口。流 程進入方塊242。
[0068] 在方塊242,預測單元109恢復累計所對應的預測歷史記錄132A?C,以及當微處 理器100處理指令時,利用預測歷史記錄132A?C進行動態(tài)預測。流程結(jié)束于方塊242。
[0069] 有利的是,新的第3級線程的指令的處理并未影響與舊的第3級線程有關(guān)的預測 歷史記錄132A?C,將使得兩個第3級線程具有較佳的預測準確度。
[0070] 其他實施例可為圖3以及圖4的實施例的有效結(jié)合,使得控制單元124存儲以及 恢復與第〇級線程有關(guān)的預測歷史記錄132A?C,使控制單元124決定不暫停累計以及使 用預測歷史記錄132A?C,舉例來說,對相對長的第0級線程和(或)根據(jù)在第0級線程和 (或)第3級處理的前一執(zhí)行實例期間的預測有效性以累計以及使用預測歷史記錄132A? C的第0級線程。如上所述,當不需要累計歷史記錄132以及使用歷史記錄132進行預測的 期間,微處理器100自第3級轉(zhuǎn)換至第0級(以及反之亦然)可能需要大量的時間周期;因 此,在這段期間控制單元124可有效但不明顯地自預測歷史記錄存儲器124存儲/恢復相 關(guān)的預測歷史記錄132A?C,如果有的話,將降低效能。在上述的實施例中,這可能是特別 有利的,可限制于自第0級轉(zhuǎn)換至第3級以及自第3級轉(zhuǎn)換自第0級所存儲以及恢復的預 測歷史記錄132A?C的數(shù)量,以避免在完成存儲和恢復之前停止微處理器100的指令的執(zhí) 行。
[0071] 此外,盡管所述的實施例中微處理器100選擇性地暫停預測歷史記錄的累計,以 及暫停利用預測歷史記錄進行預測以響應自一特權(quán)等級轉(zhuǎn)換至不同的特權(quán)等級的線程,在 其他實施例中微處理器100也可選擇性地暫?;蛘呋謴皖A測歷史記錄的累計,以及使用預 測歷史記錄進行預測以響應線程在相同特權(quán)等級之間的轉(zhuǎn)換。舉例來說,微處理器100可 藉由檢測不包括特權(quán)等級的改變的事件以檢測線程轉(zhuǎn)換,以及決定暫?;蛘呋謴皖A測歷史 記錄的累計,并響應使用預測歷史記錄進行預測。舉例來說,微處理器100可利用一特定IP 值以及在一些具有其他架構(gòu)狀態(tài)的特定值的情況下簡單地檢測指令的執(zhí)行(例如子程序 調(diào)用(subroutine call)或者恢復指令),例如通用目的寄存器值。舉另一例子來說,微處 理器100可檢測一序列的指令和(或)IP值。
[0072] 必須了解的是,在此所述有關(guān)本發(fā)明的實施例僅用以作為示范,并非以此為限。在 計算機相關(guān)領(lǐng)域的技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),可以廣義的方式作適當?shù)?更動和替換。舉例來說,可致能軟件,舉例來說,裝置的功能、制作、模塊、模擬、敘述和(或) 測試,以及在此所述的方法??山逵赏ㄓ玫某绦蛘Z言(例如C、C++)、硬件描述語言(HDL) (包括Verilog HDUVHDL等)、或者其他可用的程序?qū)崿F(xiàn)本發(fā)明。上述的軟件可執(zhí)行在任 意已知的計算機可執(zhí)行媒體,例如磁帶、半導體、磁碟或者光盤(例如⑶-R0M、DVD-R0M等), 網(wǎng)際網(wǎng)絡(luò)、有線網(wǎng)絡(luò)、無線網(wǎng)絡(luò)、或者其他通信媒介。在此所述的裝置以及方法的實施例可 包括在半導體知識產(chǎn)權(quán)內(nèi)核中,例如微處理器內(nèi)核(例如在HDL中實施或指定),以及在集 成電路的產(chǎn)品中轉(zhuǎn)換為硬件。此外,在此所述的裝置以及方法可通過硬件以及軟件的結(jié)合 實現(xiàn)。因此,本發(fā)明并不能限制于此所述的任意實施例,本發(fā)明的范圍以及精神根據(jù)后附的 權(quán)利要求書所定義以及限制。特別的是,本發(fā)明可通過通用目的計算機的微處理器裝置實 現(xiàn)。最后,上述的實施例以足夠的細節(jié)敘述使所屬【技術(shù)領(lǐng)域】的技術(shù)人員能藉由上述的描述, 在不脫離本發(fā)明的精神以及范圍內(nèi),可做些許結(jié)構(gòu)上以及邏輯上的改變,以實施本發(fā)明所 揭露的系統(tǒng)以及方法。
【權(quán)利要求】
1. 一種微處理器,包括: 預測單元;W及 控制單元,用W: 控制上述預測單元累計由上述微處理器所執(zhí)行的指令的特性的一歷史記錄,W及當上 述微處理器運行一第一線程時,根據(jù)上述歷史記錄進行與后續(xù)指令有關(guān)的預測; 檢測從運行上述第一線程至運行與上述第一線程相異的一第二線程之間的第一轉(zhuǎn) 變; 當運行上述第二線程時,控制上述預測單元選擇性地暫停累計上述歷史記錄,W及選 擇性地暫停利用上述歷史記錄進行上述預測; 控制上述預測單元將響應于上述第一轉(zhuǎn)變的上述預測單元的上述歷史記錄的第一狀 況存儲至存儲器; 檢測從運行上述第二線程至運行第=線程的第二轉(zhuǎn)變; 檢測上述第一線程W及上述第=線程的處理是否部分相同; 當上述第一線程W及上述第=線程的處理部分相同,控制上述預測單元恢復累計上述 歷史記錄及恢復利用上述歷史記錄進行上述預測;W及 當上述第一線程W及上述第=線程的處理部分不相同,控制上述預測單元將響應于第 二轉(zhuǎn)變的上述存儲器的上述歷史記錄的第二狀況載入至上述預測單元,W及控制上述預測 單元恢復累計上述歷史記錄及恢復利用上述歷史記錄進行上述預測。
2. 如權(quán)利要求1所述的微處理器,其中當運行在上述第二線程時,上述預測單元在不 使用上述歷史記錄的狀況下進行預測。
3. 如權(quán)利要求1所述的微處理器,其中上述控制單元用W控制上述預測單元選擇性地 暫停累計上述歷史記錄,W及選擇性地暫停利用上述歷史記錄進行上述預測,當運行上述 第二線程時,是根據(jù)上述第二線程是否運行于管理者特權(quán)等級。
4. 如權(quán)利要求1所述的微處理器,其中上述控制單元用W控制上述預測單元選擇性地 暫停累計上述歷史記錄,W及選擇性地暫停利用上述歷史記錄進行上述預測,當運行上述 第二線程時,是根據(jù)上述第二線程是否為系統(tǒng)管理中斷處理程序。
5. 如權(quán)利要求1所述的微處理器,其中上述控制單元用W控制上述預測單元選擇性地 暫停累計上述歷史記錄,W及選擇性地暫停利用上述歷史記錄進行上述預測,當運行上述 第二線程時,是根據(jù)上述轉(zhuǎn)變是否響應于由上述第一線程造成上述微處理器運行上述第二 線程的一系統(tǒng)調(diào)用指令的執(zhí)行。
6. 如權(quán)利要求1所述的微處理器,其中上述控制單元用W控制上述預測單元選擇性地 暫停累計上述歷史記錄,W及選擇性地暫停利用上述歷史記錄進行上述預測,當運行上述 第二線程時,是根據(jù)捜集給上述第二線程的前一執(zhí)行實例的信息,上述信息包括在上述第 二線程的上述前一執(zhí)行實例期間由上述微處理器所引退的指令數(shù)量。
7. 如權(quán)利要求1所述的微處理器,其中上述控制單元決定上述第一線程的處理識別符 W及上述第=線程的處理識別符是否相同W決定上述第一線程W及上述第=線程是否為 上述相同處理的部分。
8. 如權(quán)利要求7所述的微處理器,其中上述處理識別符包括x86處理內(nèi)容識別符 PCIDo
9. 如權(quán)利要求1所述的微處理器,其中上述控制單元決定上述第一線程的頁面目錄地 址W及上述第=線程的頁面目錄地址是否相同W決定上述第一線程W及上述第=線程是 否為上述相同處理的部分。
10. -種操作方法,適用于微處理器,包括: 累計由上述微處理器所執(zhí)行的指令的特性的歷史記錄,W及當上述微處理器運行第一 線程時,根據(jù)上述歷史記錄進行與后續(xù)指令有關(guān)的預測; 檢測從運行上述第一線程至運行與上述第一線程相異的第二線程之間的第一轉(zhuǎn)變; 當運行上述第二線程時,選擇性地暫停累計上述歷史記錄,W及選擇性地暫停利用上 述歷史記錄進行上述預測; 上述預測單元將響應于上述第一轉(zhuǎn)變的上述預測單元的上述歷史記錄的第一狀況存 儲至存儲器; 檢測從運行上述第二線程至運行第=線程的第二轉(zhuǎn)變; 檢測上述第一線程W及上述第=線程的處理是否部分相同; 當上述第一線程W及上述第=線程的處理部分相同,上述預測單元恢復累計上述歷史 記錄及恢復利用上述歷史記錄進行上述預測;W及 當上述第一線程W及上述第=線程的處理部分不相同,上述預測單元將響應于第二轉(zhuǎn) 變的上述存儲器的上述歷史記錄的第二狀況載入至上述預測單元,W及控制上述預測單元 恢復累計上述歷史記錄及恢復利用上述歷史記錄進行上述預測。
【文檔編號】G06F9/38GK104461470SQ201410718882
【公開日】2015年3月25日 申請日期:2014年6月6日 優(yōu)先權(quán)日:2013年6月10日
【發(fā)明者】R.E.虎克, T.派克斯, J.M.吉爾 申請人:威盛電子股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
高唐县| 隆子县| 磴口县| 威信县| 铁力市| 汉寿县| 香格里拉县| 西宁市| 黄山市| 东乌| 渑池县| 通山县| 务川| 高台县| 洞口县| 项城市| 岳普湖县| 山阳县| 福建省| 禹城市| 南宁市| 宝应县| 新田县| 孝感市| 柳江县| 咸宁市| 阳高县| 滦南县| 绿春县| 元江| 边坝县| 盐边县| 黄石市| 太和县| 泾阳县| 铜山县| 贵溪市| 齐河县| 边坝县| 诸城市| 九江县|