freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

計算機(jī)科學(xué)與技術(shù)專業(yè)畢業(yè)論(編輯修改稿)

2025-06-12 20:45 本頁面
 

【文章內(nèi)容簡介】 水線設(shè)計的趣味性合挑戰(zhàn)性所在。在設(shè)計流水線處理器時,這三條假設(shè)成為三個主要的挑戰(zhàn)。這三大挑戰(zhàn)同時也提供了一條探索流水線處理器設(shè)計技術(shù)的思路。 指令流水線設(shè)計 在設(shè)計指令流水線時,三條流水線假設(shè)成為設(shè)計的目標(biāo)。一條指令的處理過程就是要流水化的運(yùn)算,它必須被劃分成多個盡量一只的子運(yùn)算,以獲得盡量均衡的流水線。處理一條指令的時間延遲成為“指令周期”,每一段的時間延遲決定了“機(jī)器周期”。指令周期是一個邏輯概念,它是指指令的執(zhí)行周期。一個程序包含多條指令,程序的執(zhí)行相當(dāng)于相應(yīng)運(yùn)算的反復(fù)執(zhí)行。機(jī)器周期是一個物理的概念,它包含數(shù)字邏輯電路中存儲單元的時鐘等,同時它也是流水線的時鐘周期。 指令流水線設(shè)計的主要任務(wù)可以看作是將邏輯指令周期映射到物理機(jī)器周期。換 句話說,就是將指令周期所對應(yīng)的運(yùn)算分成一個子運(yùn)算的序列,由流水線的各段運(yùn)行。要有效的進(jìn)行這種分割或者映射,必須考慮三條流水線的理想假設(shè)。 一致的運(yùn)算分量 我們將指令周期分解成多個機(jī)器周期的過程稱為“量化流水段”。在進(jìn)行量化流水段時,要盡量減少內(nèi)部碎片。如果在量化流水段時考慮不充分,就會引入內(nèi)部碎片,從而影響流水線的利用率。第一條流水線理想假設(shè)帶來了指令流水線設(shè)計的第一個挑戰(zhàn),稱之為流水線的均衡。流水線越均衡,內(nèi)部碎片越少。 重復(fù)的運(yùn)算 與單一功能的算術(shù)流水線不一樣的是,指令流水線天生就是多功能流 水線,即它必須能處理多種不同的指令類型。不同的指令類型需要子運(yùn)算序列稍微不同,所對應(yīng)的硬件資源也有所不同。指令流水線設(shè)計的第二個挑戰(zhàn)就是,連接或者整合不同指令類型對不同資源的需求。流水線應(yīng)能夠支持所有的CPU 中指令流水線技術(shù)研究 18 指令類型;同時應(yīng)該盡量減少每種指令類型的無效或者空閑的機(jī)器周期,也就是減少外部碎片。 獨(dú)立的運(yùn)算 算術(shù)流水線處理的是數(shù)組數(shù)據(jù),他們一般都不相關(guān)。與算術(shù)流水線不同的是,指令流水線所處理的指令彼此不是完全獨(dú)立的。因此,指令流水線必須要有一套內(nèi)部機(jī)制,用來檢測指令間發(fā)生的相關(guān)并保證指令相關(guān)不會導(dǎo)致錯誤。指令相 關(guān)可能會導(dǎo)致流水線停頓,從而引起失效。前面提到過,流水線停頓是是一種動態(tài)的外部碎片,它會降低流水線的吞吐率。因此,指令流水線設(shè)計的第三個挑戰(zhàn)就是盡量減少流水線停頓。 指令集體系結(jié)構(gòu)的影響 在正式討論指令流水線設(shè)計的三個主要挑戰(zhàn)之前,簡單的考慮一下指令集體系結(jié)構(gòu)對于指令流水線的影響,將很有啟發(fā)意義。下面將一次考慮三條流水線理想假設(shè)。 一致的運(yùn)算分量 使流水段保持均衡的第一個挑戰(zhàn)說明,必須保證分量的延遲是一致的??疾煲粭l指令處理過程中的所有運(yùn)算分量,其中一定有一個分量的延遲最長,并且這個分量不容易再 分解成細(xì)的運(yùn)算分量。在流水線處理器設(shè)計中,這樣的關(guān)鍵分量是對存儲器的訪問。由于處理器和存儲器的速度差異,存儲器訪問將成為關(guān)鍵的運(yùn)算分量。為了近況使指令流水線效率更高,應(yīng)該對尋址模式進(jìn)行優(yōu)化,并且應(yīng)該采用能夠跟上處理器速度的快速 cache。 重復(fù)的運(yùn)算 第一個挑戰(zhàn)是將不同的指令類型對資源的要求統(tǒng)一起來,這是 RISC 體系結(jié)構(gòu)的主要目的之一。降低指令類型的復(fù)雜性和多樣性可以降低整合不同指令類型任務(wù)的難度。復(fù)雜的尋址模式不僅需要額外的訪存,而且增加了資源需求的多樣性。將所有這些資源需求整合到一條指令流水線當(dāng)中 是意見相當(dāng)困難的事情,并且所得到的流水線對于很多指令其效率很低。這些指令將會產(chǎn)生外部碎片,從而降低了流水線的利用率。對于一個 RISC 體系結(jié)構(gòu)的流水線而言,資源整合要簡單一些并且得到的流水線效率更高,外部碎片更少。 獨(dú)立的運(yùn)算 第三個挑戰(zhàn)是盡量減少由于指令的相關(guān)而引起的流水線停頓,這可能是流水線處理器設(shè)計中最吸引人的地方。要正確地完成操作,指令流水線必須檢測并化解指令相關(guān)。復(fù)雜尋址模式,尤其是與存儲器訪問有關(guān)的模式,第三章 指令流水線設(shè)計 19 會因?yàn)榇鎯ζ鞯刂窐?biāo)識符的問題而導(dǎo)致相關(guān)檢測非常困難。一般來說,寄存器相關(guān)比較容易檢測,因?yàn)榧拇嫫髟谥噶钪惺敲鞔_指出來的。簡單而且堆成的指令合適便于進(jìn)行譯碼和相關(guān)檢測。相關(guān)的檢測和化解可以由編譯器靜態(tài)完成,也可以在運(yùn)行時由硬件動態(tài)完成。在編譯和運(yùn)行時分別進(jìn)行怎樣的處理決定于動態(tài)靜態(tài)界面( DSI)的定義。 DSI 的定義將導(dǎo)致 許多有趣而微妙的權(quán)衡。在進(jìn)行權(quán)衡時,必須將編譯器、(微)體系結(jié)構(gòu)和微處理器設(shè)計緊密結(jié)合起來。 流水線分級的考慮 理想流水化設(shè)計所獲得的性能與流水線的深度(即流水線的段數(shù))是成正比的,因此似乎最好的設(shè)計就是盡量增加流水線的段數(shù)。但是,由于時鐘的限制,流水線劃分的段數(shù)總是有一個物理局限的。流水線的每一個段可以看作一個組合邏輯 F加上一個鎖存器 L,信號通過 F 之后在 L出鎖存。定義 MT 為通過 F的最大傳輸延遲,即通過最長信號路徑的延遲; mT 為通過 F的最小傳輸延遲,即通過最短信號路徑的延遲; LT 為正確建立時鐘信號所需要的額 外時間,包括必要的建立和保持時間,以保證正確的鎖存,同時還包括可能的時鐘扭曲,即達(dá)到不同鎖存器的時鐘沿的最大時間差。假設(shè)第一組信號 1X 在 1T 時刻作用在某一級的輸入端,那么 F的輸出最遲將在 mTT?1 時刻有效。當(dāng)?shù)诙M信號 2X 在 2T 時刻作用的 F 的輸入端時,最快只要 mTT?2 時刻就能傳到鎖存器 L。要保證第二組信號不覆蓋第一組信號,必須滿足: )(12 式LMm TTTTT ???? 該公式說明,信號 2X 可能到達(dá)的最早時刻不能早于信號 1X 正確鎖存的時刻。該不等 式可以重寫為: )(12 式LmM TTTTT ???? 其中 12 TT? 就是最短時鐘周期 T。因此,時鐘周期 T 必須比 LmM TTT ?? 大,而最大時鐘頻率不能超過 1/T。 CPU 中指令流水線技術(shù)研究 20 由此我們可以看到,時鐘限制最終決定了流水線的深度,除了這一限制外,如果考慮價格,即流水線的費(fèi)用開銷,最佳設(shè)計通常也不會采用最大的流水線深度。在流水線系統(tǒng)的硬件設(shè)計中,必須考慮價格和性能的權(quán)衡。一般來說,流水線的價格相對于流水線的深度成線性增長。 流水線深度一直是影響處理器效率的重要因素,流水線深度的增加可以讓處理器時鐘頻率 進(jìn)一步提高,但隨著流水線深度的增長帶來的處理器的單周期執(zhí)行效率降低、發(fā)熱量上升,同時容易產(chǎn)生分支預(yù)測等問題反面影響也會加劇,因此流水線長度的尺度把握一直是處理器設(shè)計中的一個重要核心問題。在設(shè)計流水線,要綜合各方面的因素,根據(jù)最佳性價比的要求來選擇流水線的最佳段數(shù)。 流水線處理器設(shè)計 流水線處理器設(shè)計中的主要問題就是縮小實(shí)際情況與理想假設(shè)之間的差異。所有關(guān)于流水線處理器的設(shè)計技術(shù),都可以看作是為解決這三個挑戰(zhàn)而進(jìn)行的努力。 保持流水段均衡 要流水化的運(yùn)算就是每個指令周期所要進(jìn)行的工作。一個典型的指 令周期可以根據(jù)功能劃分成以下 5個基本分量: 1. 取指( IF,Instruction fetch) 2. 譯碼( ID,Instruction decode) 3. 取操作數(shù)( OF,Operand(ds) fetch) 4. 執(zhí)行( EX, Instruction execution) 5. 存儲( OS, Operand store) 典型的指令周期從指令的取指開始,然后進(jìn)行譯碼,以決定這條指令完成什么操作。一條指令通常帶有一個或者多個操作數(shù),這些操作數(shù)存放在寄存器或者存儲器中,這取決于所使用的尋址方式。一旦所需要的錯作數(shù)已準(zhǔn)備好,就可以第三章 指令流水線設(shè)計 21 執(zhí)行這 條指令所規(guī)定的操作。將執(zhí)行所產(chǎn)生的結(jié)果存儲起來之后,指令周期就算結(jié)束了。 分割指令周期的一種很自然的方法就是按照 5 個基本運(yùn)算分量來劃分,即將每一個運(yùn)算分量對應(yīng)到一個流水段,從而得到一個 5 級指令流水線,我們稱這條流水線為基本指令流水線,簡稱 GNR 流水線。在 GNR 流水線中,邏輯指令周期將映射到 5個物理機(jī)器周期中。機(jī)器周期與指令周期之比為 5,這個值反應(yīng)了流水化的程度以及流水段的粒度。 量化流水段的目的是將指令周期分割到均衡的流水段中,以盡量減少內(nèi)部碎片的數(shù)目。量化流水段可以從自然的功能劃分開始。例如 5 個基本運(yùn)算分 量。多個延遲較小的分量可以合并到一個新的分量,以獲得更均衡化的流水線。另外一種均衡流水線的方法則相反,不是將具有較短延遲的分量合并起來,而是將一個延遲比較長的運(yùn)算分量分割成多個延遲較短的分量。該方法以延遲較短的分量為參考,將長延遲的運(yùn)算分量分割成更小的分量,使得各個分量的延遲與參考分量的延遲差不多。這將導(dǎo)致機(jī)器周期的粒度更細(xì),流水化的程度更高。 在具體進(jìn)行指令流水線設(shè)計的時候,這兩種方法可以結(jié)合起來使用。不管在什么情況下,量化流水段的目標(biāo)都是盡量減小內(nèi)部碎片的開銷。 統(tǒng)一指令類型 第二條流水線理想假設(shè) 則要求流水線要盡量反復(fù)進(jìn)行同樣的運(yùn)算。對于大多數(shù)指令流水線, 重復(fù)完成相同運(yùn)算的理想假設(shè)并不成立。指令流水線重復(fù)處理的指令具有不同的指令類型。雖然指令周期不斷重復(fù),但每次可能處理的是不同類型的指令。不同的指令類型有不同的資源需求,并且各個運(yùn)算分量的順序也可能不一樣。指令流水線要求能滿足不同的需求,必須提供所有指令類型所需要的所有運(yùn)算分量的超集。單獨(dú)一種指令類型可能不需要流水線中的所有流水段。對于單獨(dú)一種指令類型,不需要的流水段成為某種形式的失效或者開銷,即外部碎片。統(tǒng)一指令類型的目的,就是盡量減少所有指令類 型的外部碎片。 要完成一次運(yùn)算,計算機(jī)必須完成一下三個基本任務(wù): 1. 算術(shù)操作 2. 數(shù)據(jù)移動 CPU 中指令流水線技術(shù)研究 22 3. 指令定序 算術(shù)操作包括對指定的操作數(shù)執(zhí)行算術(shù)合邏輯運(yùn)算,這是整個運(yùn)算中最突出的部分,所以經(jīng)常和整個運(yùn)算等同起來。一個處理器能夠支持大量的算術(shù)操作類型。數(shù)據(jù)移動負(fù)責(zé)將操作數(shù)和結(jié)果在存儲地址之間進(jìn)行移動。通常存儲器地址是分層次的并有專門的指令來進(jìn)行數(shù)據(jù)移動。指令定序負(fù)責(zé)指令順序的確定。通常一個程序中的運(yùn)算包含很多條指令,通過執(zhí)行一個指令序列來完成所需要的運(yùn)算。這個指令序列,或者叫程序流,可以由指令自身來確定。 如何將這三個基本 任務(wù)分派給 ISA 中的各種指令,是指令集實(shí)際中的關(guān)鍵問題。受 RISC體系結(jié)果的影響,現(xiàn)在的大多數(shù)指令集體系結(jié)構(gòu)都有一些共同的特征。這些體系結(jié)果包括 HewlettPackard 的 Precision 體系結(jié)構(gòu), IBM 的 Power 體系結(jié)構(gòu), IBM/Motorola 的 PowerPC 體系結(jié)構(gòu),還有 Digital 的 Alpha 體系結(jié)構(gòu)。這些現(xiàn)代 ISA 傾向于采用定長指令、正交的指令格式、 load/store 型體系結(jié)構(gòu)和簡單的尋址模式。這些體系結(jié)構(gòu)中的大多數(shù)都能與指令流水線很好的協(xié)調(diào)起來。 在一個典型的現(xiàn)代 RISC 體系結(jié)構(gòu)中, 指令集采用一種專門的指令類型來完成三個基本任務(wù)中的一個,也就是說,每一種指令類型只完成三個基本任務(wù)中的一個。根據(jù)三個基本任務(wù),可以將指令分成三種類型: 1. ALU指令 完成算術(shù)和邏輯運(yùn)算 2. Load/store 指令 完成數(shù)據(jù)在寄存器及存儲器間的移動 3. 分支指令 控制執(zhí)行指令的順序 ALU 指令所執(zhí)行的算術(shù)邏輯操作嚴(yán)格地針對寄存器操作數(shù)進(jìn)行,只有 load 和store 指令能訪問數(shù)據(jù)存儲器。 Load/store 指令和分支指令都采用比較簡單的尋址模式,通常只支持帶偏移量的寄存器間接尋址模式。對于分支指 令,還支持 PC相對尋址。在下面列出關(guān)于前兩種指令類型的詳細(xì)規(guī)范,其中假設(shè)使用了指令cache(Icache)和數(shù)據(jù) cache(Dcache)。 比較表 與表 中的兩種主要指令類型規(guī)范,我們可以看到,兩種指令類型的初始化分量比較類似,然而后面的分量有些差異。這些語意上的差異將導(dǎo)致不同的資源需求。 第三章 指令流水線設(shè)計 23 基本運(yùn)算分量 ALU指令類型 IF 取指令(訪問 Icache) ID 解碼指令 OF 訪問寄存器文件 EX 執(zhí)行 ALU 操作 OS 回寫寄存器文件 表 ALU 指令類型規(guī)范 基本運(yùn)算分量 Load 指令 store 指令 IF 取指令(訪問 Icache) 取指令(訪問 Icache) ID 解碼指令 解碼指令 OF 訪問寄存器文件(基地址) 生成有效地址 (基地址 +偏移量) 訪問(讀)內(nèi)存 (訪問 Dcache) 訪問 FP寄存器文件 (寄存器操作數(shù)及基地址) EX OS 回寫寄存器文件 生成有效地址 (基地址 +偏移量) 訪問(寫)內(nèi)存 (訪問 Dcache) 表 Load/store 指令類型規(guī)范
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1