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

正文內(nèi)容

計(jì)算機(jī)體系結(jié)構(gòu)之流水線技術(shù)-在線瀏覽

2025-02-17 12:56本頁面
  

【正文】 有當(dāng)輸入是一串相同的運(yùn)算操作時(shí),流水的效率才能得到發(fā)揮。 ? 處理機(jī)級(jí)流水線(指令流水線): ? 把指令的解釋執(zhí)行過程按照流水方式進(jìn)行處理。 動(dòng)畫解析 計(jì)算機(jī)體系結(jié)構(gòu) 北京信息科技大學(xué) 流水線的分類( 4) ? 按流水線是否有反饋回路分類 ? 線性流水線:流水線的各段逐個(gè)串接,輸入數(shù)據(jù)從流水線一端輸入從另一端輸出;每個(gè)段都只流過一次。 (舉例 ) 計(jì)算機(jī)體系結(jié)構(gòu) 北京信息科技大學(xué) 流水線的分類( 5) ? 按照數(shù)據(jù)表示來分 ? 標(biāo)量處理機(jī): ? 不具有向量指令和向量數(shù)據(jù)表示,僅對(duì)標(biāo)量進(jìn)行流水處理的處理機(jī)。 ? 例如: TI ASC, CRAYI 等 計(jì)算機(jī)體系結(jié)構(gòu) 北京信息科技大學(xué) 流水線的分類( 6) ? 按照流動(dòng)是否可以亂序來分 ? 順序流動(dòng)流水線: ? 流水線輸出端任務(wù)流出的順序與輸入端任務(wù)流入的順序相同 。 計(jì)算機(jī)體系結(jié)構(gòu) 北京信息科技大學(xué) 3 MIPS五級(jí)流水線 計(jì)算機(jī)體系結(jié)構(gòu) 北京信息科技大學(xué) DLX(Dancing Links) ? DLX 是一種簡單的指令集(教學(xué)、簡單芯片) ? 在不流水的情況下,如何實(shí)現(xiàn) DLX。 原因:在 MIPS指令格式中,操作碼字段以及 rs、 rt 字段都是在固定的位置。 計(jì)算機(jī)體系結(jié)構(gòu) 北京信息科技大學(xué) ? 執(zhí)行 /有效地址計(jì)算周期 ( EX) 不同指令所進(jìn)行的操作不同: ? 存儲(chǔ)器訪問指令 操作 ALUo← A + Imm ? 寄存器-寄存器 ALU指令 操作 ALUo← A func B ? 寄存器-立即值 ALU指令 操作 ALUo← A op Imm ? 分支指令 操作 ALUo← NPC+( Imm2); cond← ( A = = 0) 將有效地址計(jì)算周期和執(zhí)行周期合并為一個(gè)時(shí)鐘周期,這是因?yàn)?MIPS指令集采用 load/ store結(jié)構(gòu),沒有任何指令需要同時(shí)進(jìn)行數(shù)據(jù)有效地址的計(jì)算、轉(zhuǎn)移目標(biāo)地址的計(jì)算和對(duì)數(shù)據(jù)進(jìn)行運(yùn)算。 除了分支指令,其他指令都是做 PC← NPC ? 在該周期內(nèi)處理的 MIPS指令僅僅有 load、 store和分支 三種指令。 ? 寄存器-寄存器 ALU指令 操作 Regs[rd]← ALUo ? 寄存器-立即數(shù) ALU指令 操作 Regs[rt]← ALUo ? load指令 操作 Regs[rt]← LMD 計(jì)算機(jī)體系結(jié)構(gòu) 北京信息科技大學(xué) 3. 不采用單周期實(shí)現(xiàn)方案的 主要原因 ? 對(duì)于大多數(shù) CPU來說,單周期實(shí)現(xiàn)效率很低,因?yàn)椴煌闹噶钏柰瓿傻牟僮鞑顒e相當(dāng)大,因而所需要的時(shí)鐘周期時(shí)間也大不一樣。 計(jì)算機(jī)體系結(jié)構(gòu) 北京信息科技大學(xué) ? 每一個(gè)時(shí)鐘周期完成的工作看作是流水線的一段,每個(gè)時(shí)鐘周期啟動(dòng)一條新的指令。 例如: ID段 與 EX段 之間的流水寄存器用 ID/EX表示 ? 每個(gè)流水寄存器是由若干個(gè)寄存器構(gòu)成的 基本的 MIPS流水線 計(jì)算機(jī)體系結(jié)構(gòu) 北京信息科技大學(xué) M EM/W B 數(shù)據(jù) 存儲(chǔ)器 通用寄存器組 符號(hào) 位 擴(kuò)展 ALU P C =0? ADD 16 32 4 存儲(chǔ)器 分之 結(jié)果 M U X 1 M U X 2 M U X 3 M U X 4 IR A B Imm IR[rs ] IR[rt] MEM/ NPC NPC IR cond ALUo B IR LMD ALUo IR EX/M EM ID /EX IF /ID 指令 流水實(shí)現(xiàn)的數(shù)據(jù)通路 計(jì)算機(jī)體系結(jié)構(gòu) 北京信息科技大學(xué) ? 寄存器的命名形式為: ? 所包含的字段的命名形式為: [s] 其中: x: 流水寄存器名稱 y: 具體寄存器名稱 s: 字段名稱 例如: ID/: 流水寄存器 ID/EX中的子寄存器 IR IRID/[op]: 該寄存器的 op字段(即操作碼字段) ? 流水寄存器的作用 ? 將各段的工作隔開,使得它們不會(huì)互相干擾。 計(jì)算機(jī)體系結(jié)構(gòu) 北京信息科技大學(xué) 例如: EX/: 保存 EX段 ALU的運(yùn)算結(jié)果 MEM/: 保存 MEM段從數(shù)據(jù)存儲(chǔ)器讀出的數(shù)據(jù) ? 向后傳遞后面將要用到的數(shù)據(jù)或者控制信息 所有有用的數(shù)據(jù)和控制信息每個(gè)時(shí)鐘周期 會(huì)隨著指令在流水線中的流動(dòng)往后流動(dòng)一段。 ? 將對(duì) PC的修改移到了 IF段 ,以便 PC能及時(shí)地 加 4,為取下一條指令做好準(zhǔn)備。 ? 從時(shí)空圖看,就是 n個(gè)任務(wù)占用的時(shí)空區(qū)和 m個(gè)段總的時(shí)空區(qū)之比 假設(shè) m段時(shí)間相等 ?t0的流水線完成 n個(gè)任務(wù) 10?????????nmnTmtnmmnE流水個(gè)段總時(shí)空區(qū)個(gè)任務(wù)時(shí)空區(qū)(舉例 ) 計(jì)算機(jī)體系結(jié)構(gòu) 北京信息科技大學(xué) 例題 1 ? 在靜態(tài)流水線上計(jì)算 ∑ AiBi , (i=4) 求:吞吐率,加速比,效率。 (原因 ) ? 動(dòng)態(tài)流水線的時(shí)-空圖 舉例 Ⅰ ? 這樣行不行? ? 正確答案 計(jì)算機(jī)體系結(jié)構(gòu) 北京信息科技大學(xué) ? 瓶頸問題 ? 理想情況下,流水線在工作時(shí),其中的任務(wù)是同步地每一個(gè)時(shí)鐘周期往前流動(dòng)一段。 ? 在設(shè)計(jì)流水線時(shí),要盡可能使各段時(shí)間相等。 ? 傳輸延遲: 時(shí)鐘信號(hào)到達(dá)后到寄存器輸出可用的時(shí) 間。(時(shí)鐘到達(dá)各流水寄存器的時(shí)間不是完全相同) 計(jì)算機(jī)體系結(jié)構(gòu) 北京信息科技大學(xué) 有關(guān)流水線性能的若干問題 ? (1) 流水線并不能減少 (而且一般是增加 )單條指令的執(zhí)行時(shí)間,但卻能提高吞吐率。 (3) 流水線的深度受限于流水線的延遲和流水線的額外開銷。如果流水線中的指令相互獨(dú)立,則可以充分發(fā)揮流水線的性能。下一節(jié)介紹如何解決相關(guān)問題。這些沖突將降低流水線性能 ? 主要有三種類型的沖突(相關(guān)) ? 結(jié)構(gòu)相關(guān)(資源沖突) :當(dāng)指令重疊執(zhí)行過程中,硬件資源滿足不了指令重疊執(zhí)行的要求 ? 數(shù)據(jù)相關(guān)(數(shù)據(jù)沖突) :在同時(shí)執(zhí)行的多條指令中,一條指令依賴前一條指令的執(zhí)行結(jié)果 (數(shù)據(jù) ) ? 控制相關(guān)(控制沖突) :流水線遇到分支指令或其他改變 PC值的指令 計(jì)算機(jī)體系結(jié)構(gòu) 北京信息科技大學(xué) 流水線中的相關(guān)( 2) ? 相關(guān)有可能會(huì)使流水線停頓。 ? 消除相關(guān)的基本方法: ? 讓流水線中的某些指令暫停,而讓其它指令繼續(xù)執(zhí)行。 ? 2. 如果某種指令組合因資源沖突而不能順利重疊執(zhí)行,則稱該機(jī)器具有結(jié)構(gòu)相關(guān)。 ? 解決辦法 Ⅰ : 插入暫停周期(“流水線氣泡” ) 引入暫停后的時(shí)空圖 ? 解決方法 Ⅱ : 設(shè)置相互獨(dú)立的指令存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器或設(shè)置相互獨(dú)立的指令 Cache和數(shù)據(jù) Cache。 ? 舉例 ? 當(dāng)兩條指令對(duì)存儲(chǔ)器同一單元進(jìn)行讀寫時(shí),也可能發(fā)生數(shù)據(jù)相關(guān)。 計(jì)算機(jī)體系結(jié)構(gòu) 北京信息科技大學(xué) ? 2. 利用定向技術(shù)減少數(shù)據(jù)相關(guān)引起的暫停 ? (1) 主要思路:在發(fā)生上述數(shù)據(jù)相關(guān)時(shí),如果能夠?qū)⒂?jì)算結(jié)果從其產(chǎn)生的地方直接送到需要它的地方,就可以避免暫停。 ? (3) 工作過程演示 ? (4) 一個(gè)功能單元的輸出不僅可以定向到其自身的輸入,而且還可以定向到其它單元的輸入。 j 讀出的內(nèi)容是錯(cuò)誤的。 ? (2) 寫后寫相關(guān) (WAW) ? (3) 讀后寫相關(guān) (WAR) 計(jì)算機(jī)體系結(jié)構(gòu) 北京信息科技大學(xué) ? 4. 需要暫停的數(shù)據(jù)相關(guān) ? (1) 并非所有的數(shù)據(jù)相關(guān)都可以用定向技術(shù)解決 .舉例 ? (2) 增加流水線互鎖硬件,插入 “ 暫停 ” 。 舉例:演示 A(流水線)演示 B(時(shí)空圖) 計(jì)算機(jī)體系結(jié)構(gòu) 北京信息科技大學(xué) 流水線的控制相關(guān) ? 分支指令主要有: ? 無條件分支指令:跳轉(zhuǎn)、過程調(diào)用和過程返回 ? 條件分支指令 ? 執(zhí)行分支指令,程序計(jì)數(shù)器 PC值兩種情況: ? PC值改變?yōu)槟繕?biāo)地址(轉(zhuǎn)移成功) ? PC值保持正常(轉(zhuǎn)移失敗,順序執(zhí)行) ? PC值不定,所以流水線需要暫停,直到確定了新的 PC值為止 ? 在 DLX流水線中,分支轉(zhuǎn)移成功導(dǎo)致暫停 3個(gè)時(shí)鐘周期。 ? 減少流水線處理分支指令時(shí)的暫停周期數(shù): ? 流水線中盡早判斷出轉(zhuǎn)移成功或轉(zhuǎn)移失敗 ? 判斷往前移 ? 盡早計(jì)算出轉(zhuǎn)移成功的分支目標(biāo)地址 ? 多個(gè)加法器部件 計(jì)算機(jī)體系結(jié)構(gòu) 北京信息科技大學(xué) 降低流水線分支損失的方法 ? 4種簡單的靜態(tài)方法,編譯時(shí)預(yù)測 ? ( 1)凍結(jié)( Freeze)或排空( Flush)流水線 ? 暫停流水線直到分支目標(biāo)地址確定 ? ( 2)預(yù)測分支失敗 ? 繼續(xù)執(zhí)行分支指令之后的指令 ? 在知道分支結(jié)果之前,分支指令后的指令不能改變機(jī)器狀態(tài),或者改變了之后能夠回退。 ? DLX流水線的處理過程 5段 MIPS改進(jìn)后采用“預(yù)測分支失敗”,分支失敗無停頓,分支成功有一個(gè)時(shí)鐘周期的停頓;還可以采用一條延遲指令槽的延遲分支方法 計(jì)算機(jī)體系結(jié)構(gòu) 北京信息科技大學(xué) ? ( 3)預(yù)測分支成功 ? 目標(biāo)地址計(jì)算出之后,就開始執(zhí)行目的地址處的指令 ? 起作用的前題:先知道分支目標(biāo)地址,后知道分支是否成功。 ? ( 4)延遲分支( Delayed Branch) ? 把分支開銷為 n 的分支指令看成是延遲長度為 n 的分支指令,其后緊跟有 n 個(gè)延遲槽 Branchdelay Slot 。 ? 延遲分支以及指令的執(zhí)行順序 ? 分支延遲槽中的指令“掩蓋”了流水線原來必需插入的暫停周期 ? 分支延遲指令的調(diào)度 ? 任務(wù):在延遲槽中放入有用的指令 ? 糟糕的情況:在延遲槽放置空操作 NOP指令 ? 較好的情況:從分支指令前找到指令放置在延遲槽中,且不影響程序 計(jì)算機(jī)體系結(jié)構(gòu) 北京信息科技大學(xué) 6 高級(jí)流水線技術(shù) 計(jì)算機(jī)體系結(jié)構(gòu) 北京信息科技大學(xué) 單發(fā)射與多發(fā)射 (issue) 單發(fā)射處理機(jī): 每個(gè)周期只取一條指令、只譯碼一條指令,只執(zhí)行一條指令,只寫回一個(gè)運(yùn)算結(jié)果。 目標(biāo)是每個(gè)時(shí)鐘周期平均執(zhí)行一條指令, ILP的期望值為 1。 需要多個(gè)取指令部件,多個(gè)指令譯碼部件和多個(gè)寫結(jié)果部件。 目標(biāo)是每個(gè)時(shí)鐘周期平均執(zhí)行多條指令, ILP的期望值大于 1。 超流水線處理機(jī): SGI公司的 MIPS R4000、 R5000、R10000等。 計(jì)算機(jī)體系結(jié)構(gòu) 北京信息科技大學(xué) 超標(biāo)量處理機(jī) 基本結(jié)構(gòu) 一般流水線處理機(jī): 一條指令流水線 , 一個(gè)多功能操作部件 , 每個(gè)時(shí)鐘周期平均執(zhí)行指令的條數(shù)小于 1。 多操作部件處理機(jī)的 指令級(jí)并行度小于 1。 先進(jìn)的超標(biāo)量處理機(jī)有:定點(diǎn)處理部件 CPU,浮點(diǎn)處理部件 FPU,圖形加速部件 GPU,大量的通用寄存器,兩個(gè)一級(jí) Cache。 計(jì)算機(jī)體系結(jié)構(gòu) 北京信息科技大學(xué) 整數(shù)部件整數(shù)部件位操作部件浮點(diǎn)加部件乘法部件除法部件圖形部件圖形部件內(nèi)部總線讀數(shù)/存數(shù)部件通用寄存器堆擴(kuò)展寄存器堆目標(biāo)指令Cache指令分配/轉(zhuǎn)移部件數(shù)據(jù) Cache ( 8K B ) 指令 Cache ( 8K B )32 位地址總線 64 位數(shù)據(jù)總線 系統(tǒng)總線超標(biāo)量處理機(jī) MC88110 的結(jié)構(gòu)? Motorola公司的 MC88110。 ? 兩個(gè)寄存器堆:整數(shù)部件通用寄存器堆, 32個(gè) 32位寄存器; 浮點(diǎn)部件擴(kuò)展寄存器堆, 32個(gè) 80位寄存器。 ? 兩個(gè)獨(dú)立的高速 Cache中,各為 8KB,采用兩路組相聯(lián)方式, ? 轉(zhuǎn)移目標(biāo)指令 Cache,存放一條分支上的指令。 先行指令窗口 :能夠從指令 Cache中預(yù)取多條指令, 能夠?qū)?
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1