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

正文內(nèi)容

chap4-指令級(jí)并行(編輯修改稿)

2025-08-31 08:46 本頁面
 

【文章內(nèi)容簡介】 D F10 F0 F6 乘法 1 no yes 結(jié)果寄存器狀態(tài)表 F0 F2 F4 F6 F8 F10 … F30 部件名稱 乘法 1 整數(shù) 加法 除法 51/ 81 例 假設(shè)浮點(diǎn)流水線中執(zhí)行的延遲如下: 加法需 2個(gè) 時(shí)鐘周期 乘法需 10個(gè) 時(shí)鐘周期 除法需 40個(gè) 時(shí)鐘周期 代碼段和記分牌信息的起始點(diǎn)狀態(tài) 如圖 。 分別給出 MULTD和 DIVD準(zhǔn)備寫結(jié)果之前的記分牌狀態(tài) 。 解: 在分析記分牌狀態(tài)之前,首先需要分析指令之間存在的相關(guān)性,因?yàn)橄嚓P(guān)性會(huì)影響指令進(jìn)入記分牌 DLX流水線的相應(yīng)段。 52/ 81 (1) 第二個(gè) LD指令到 MULD和 SUBD、 MULTD到 DIVD 之間以及 SUBD到 ADDD之間存在著先寫后讀相關(guān); (2) DIVD和 ADDD之間存在著先讀后寫相關(guān); (3) ADDD和 SUBD指令關(guān)于浮點(diǎn)加法部件還存在著結(jié) 構(gòu)相關(guān) 。 圖 圖 MULTD指令和 DIVD 指令將要寫結(jié)果時(shí)記分牌的狀態(tài)。 53/ 81 指 令 指令狀態(tài)表 IS RO EX WR LD F6 , 34(R2) √ √ √ √ LD F2 , 45(R3) √ √ √ √ MULTD F0 , F2 , F4 √ √ √ SUBD F8 , F6 , F2 √ √ √ √ DIVD F10 , F0 , F6 √ ADDD F6 , F8 , F2 √ √ √ 圖 程序段執(zhí)行到 MULTD將要寫結(jié)果時(shí)記分牌的狀態(tài) 部件名稱 功能部件狀態(tài)表 Busy Op Fi Fj Fk Qj Qk Rj Rk 整數(shù) no 乘法 1 yes MULTD F0 F2 F4 no no 乘法 2 no 加法 yes ADDD F6 F8 F2 no no 除法 yes DIVD F10 F0 F6 乘法 1 no yes 結(jié)果寄存器狀態(tài)表 F0 F2 F4 F6 F8 F10 … F30 部件名稱 乘法 1 加法 除法 55/ 81 指 令 指令狀態(tài)表 IS RO EX WR LD F6 , 34(R2) √ √ √ √ LD F2 , 45(R3) √ √ √ √ MULTD F0 , F2 , F4 √ √ √ √ SUBD F8 , F6 , F2 √ √ √ √ DIVD F10 , F0 , F6 √ √ √ ADDD F6 , F8 , F2 √ √ √ √ 圖 程 序段執(zhí)行到 DIVD將要寫結(jié)果時(shí)記分牌的狀態(tài) 部件名稱 功能部件狀態(tài)表 Busy Op Fi Fj Fk Qj Qk Rj Rk 整數(shù) no 乘法 1 no 乘法 2 no 加法 no 除法 yes DIVD F10 F0 F6 no no 結(jié)果寄存器狀態(tài)表 F0 F2 F4 F6 F8 F10 … F30 部件名稱 除法 57/ 81 。 操作在記分牌流水線中前進(jìn)時(shí) , 記分牌必須 記錄與操作有關(guān)的信息 , 如寄存器號(hào)等 。 約定: Fj( FU) ?‘ S1’ : 將寄存器 S1的名字送入 Fj( FU) FU : 指令使用的功能部件 D : 目的寄存器的名字 S1和 S2: 源操作數(shù)寄存器的名字 , Op: 進(jìn)行的操作 Fj( FU) : 功能部件 FU的 Fj域 result( D): 結(jié)果寄存器狀態(tài)表中對(duì)應(yīng)于寄存器 D的內(nèi)容,為產(chǎn)生寄存器 D中結(jié)果的功能部件名。 58/ 81 ? 流出( IS) (1) 進(jìn)入條件 not Busy(FU) and not result(’D’); //判斷結(jié)構(gòu)阻塞和寫后寫 (2) 計(jì)分牌記錄內(nèi)容 Busy(FU)←yes 。 OP(FU)←Op ; Fi(FU)← ’D’; Fj(FU)← ’S1’; Fk(FU)← ’S2’; 59/ 81 Qj←result( ’S1’); //處理 ’ S1’的 FU Qk←result( ’S2’); //處理 ’ S2’的 FU Rj←not Qj; //Rj是否可用 ? Rk←not Qk; //Rk是否可用 ? result(’D’)←FU ; //’D’被 FU用作目的寄存器 ? 讀操作數(shù)( RO) (1)進(jìn)入條件 RjRk。 //解決先寫后讀,兩個(gè)源操作數(shù)須同時(shí)就緒 60/ 81 (2)計(jì)分牌記錄內(nèi)容 Rj←no ; //已經(jīng)讀走了就緒的數(shù)據(jù) Rj Rk←no ; //已經(jīng)讀走了就緒的數(shù)據(jù) Rk Qj← 0; //不再等待其它 FU的計(jì)算結(jié)果 Qk← 0; ? 執(zhí)行 ( EX) (1)結(jié)束條件 功能部件操作結(jié)束 61/ 81 ? 寫結(jié)果 ( WR) (1)進(jìn)入條件 ?f((Fj(f)?Fi(FU) or Rj(f)=no) and (Fk(f)?Fi(FU) or Rk(f)=no))。 //檢查是否存在先讀后寫 (2)計(jì)分牌記錄內(nèi)容 ?f(if Qj(f)=FU then Rj(f)←yes) ; //有等結(jié)果的指令 , 則數(shù)據(jù)可用 ?f(if Qk(f)=FU then Rk(f)←yes) ; result(Fi(FU))← 0; //沒有 FU使用寄存器 Fi為目的寄存器 busy(FU)=no //釋放 FU 62/ 81 6. 記分牌的性能受限于以下幾個(gè)方面: (1) 程序指令中可開發(fā)的并行性 , 即是否存在 可以并行執(zhí)行的不相關(guān)的指令 。 (2) 記分牌容量 。 記分牌的容量決定了流水線 能在多大范圍內(nèi)尋找不相關(guān)指令 。 流水線中可以同時(shí)容納的指令數(shù)量又 稱為 指令窗口 。 (3) 功能部件的數(shù)目和種類 。 功能部件的總數(shù) 決定了結(jié)構(gòu)沖突的嚴(yán)重程度 。 (4) 反相關(guān)和輸出相關(guān) 。 引起計(jì)分牌中先讀后 寫和寫后寫阻塞 。 63/ 81 動(dòng)態(tài)調(diào)度算法之二: Tomasulo算法 ? Tomasulo算法將記分牌的關(guān)鍵部分和寄存器換名 技術(shù)結(jié)合在一起 。 ? 基本核心: 通過寄存器換名來消除寫后寫和先讀 后寫相關(guān)而可能引發(fā)的流水線阻塞 。 ? 下面的討論是基于 DLX的浮點(diǎn)流水線功能部件 。 ? Tomasulo算法中 , 寄存器換名是通過保留站來實(shí) 現(xiàn) , 它保存等待流出和正在流出指令所需要的操 作數(shù) 。 ? Tomasulo算法的基本思想 64/ 81 ? 只要操作數(shù)有效 , 就將其取到保留站 , 避免 指令流出時(shí)才到寄存器中取數(shù)據(jù) 。 ? 指令的執(zhí)行結(jié)果直接送到等待數(shù)據(jù)的其它保 留站中去 。 ? 一條指令流出時(shí) , 存放操作數(shù)的寄存器名被 換成為對(duì)應(yīng)于該寄存器保留站的名稱 。 ? 除了寄存器換名技術(shù), Tomasulo算法和記分牌在 結(jié)構(gòu)上還有兩處顯著的不同: 65/ 81 ? 沖突檢測和指令執(zhí)行控制機(jī)制分開 。 ? 計(jì)算的結(jié)果通過相關(guān)專用通路直接從功能部件 進(jìn)入對(duì)應(yīng)的保留站進(jìn)行緩沖,而不一定是寫到 寄存器。 (相關(guān)專用通路通過一條數(shù)據(jù)總線來實(shí)現(xiàn)) 指 令 隊(duì) 列 3 2 1 2 1 浮點(diǎn)寄存器組 1 2 3 4 浮點(diǎn)加法器 浮點(diǎn)乘法器 公共數(shù)據(jù)總線( CD B ) 存的數(shù)據(jù) 從指令部件來 保留站 存儲(chǔ)器部件 取緩沖 6 5 4 3 2 1 地址部件 地址 取的數(shù)據(jù) 存 取操作 浮點(diǎn)操作 操作數(shù)總線 操作總線 存緩沖 Tomasulo算法的 DLX浮點(diǎn)部件的基本結(jié)構(gòu) 67/ 81 ? 保留站 中保存已流出并等待到本功能部件執(zhí)行的 操作(指令);還保存指令執(zhí)行所需的控制信息。 ? 如果該操作的源操作數(shù)在寄存器中已經(jīng)就緒 , 剛將該操作數(shù)取來 , 保存到保留站中; ? 如果操作數(shù)還沒有計(jì)算出來 , 則保留站中記 錄這個(gè)操作數(shù)將由誰計(jì)算出來 , 即指明它由 哪個(gè)功能部件產(chǎn)生 。 ? 取緩沖和存緩沖 保存的是讀 /寫存儲(chǔ)器的數(shù)據(jù)或 地址 。 68/ 81 ? 浮點(diǎn)寄存器通過一對(duì)操作數(shù)總線連到功能部件 , 通過其中 一條總線連到公共數(shù)據(jù)總線 , 再送到 存緩沖 。 ? 功能部件的計(jì)算結(jié)果和從存儲(chǔ)器讀取的數(shù)據(jù)都送 到公用數(shù)據(jù)總線上 , 除了取緩沖的輸入和存緩沖 的輸出以外 , 所有部分均與公用數(shù)據(jù)總線相連 。 ? 兩個(gè)運(yùn)算功能部件 ? 浮點(diǎn)乘法器完成乘法和除法操作 ? 浮點(diǎn)加法器完成加法和減法操作 69/ 81 使用 Tomasulo算法的流水線需三段: (1) 流出( Issue):從浮點(diǎn)操作隊(duì)列中取一條指令。 (2) 執(zhí)行( Execute) (3) 寫結(jié)果( Write Result) ,但有以下以下幾點(diǎn) 不同: (1)無需任何操作來檢查數(shù)據(jù) 寫后寫 和 先讀后寫 相關(guān) 的過程,在指令流出過程中操作數(shù)寄存器換名已 將其消除。 70/ 81 (2)通過公共數(shù)據(jù)總線來廣播結(jié)果 , 將結(jié)果送到 等待此結(jié)果作為操作數(shù)的保留站 , 目標(biāo)寄存器也 相當(dāng)于一個(gè)需要結(jié)果的保留站 , 而不是將結(jié)果 寫回到寄存器中 。 (3)存儲(chǔ)器存和取都作為基本的功能部件 。 (4)由于保留站技術(shù)能夠有效地解決先寫后讀 , 而 無需特殊處理 , 因此 , 記分牌流水線中用于完 成判斷先寫后讀的 “ 取操作數(shù) ” 段也被消掉 。 71/ 81 4. 定義有關(guān)的術(shù)語和數(shù)據(jù)結(jié)構(gòu) ? 標(biāo)志( tags) 指緩沖或產(chǎn)生結(jié)果的保留站(功能部件)。 ? 每個(gè)保留站有以下 6個(gè) 域: Op: 對(duì)源操作數(shù) S1和 S2所進(jìn)行的操作。 Qj, Qk: 產(chǎn)生結(jié)果的保留站號(hào)。等于 0表示 操作數(shù)在 Vj和 Vk中或不需要操作
點(diǎn)擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1