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

正文內容

浙江工商大學計算機體系結構第2章指令級并行及其開發(fā)(完整版)

2025-06-27 10:51上一頁面

下一頁面
  

【正文】 據相關表明存在冒險的可能 , 2)數據相關決定了 必須遵循的執(zhí)行順序 , 3)數據相關決定了可以達到 并行度的上限 指令級并行概念 ? 名字相關 名字相關發(fā)生在使用相同存儲器或存儲單元(稱為名字)的兩條指令之間,但名字相關的指令間不存在數據流,名字相關有兩種類型(假設指令 i位于指令 j之前): 反相關 指令 i 讀一個寄存器或存儲單元,而指令 j寫該寄存器或存儲單元,必須保護原始的指令執(zhí)行順序。第 2章 指令級并行及其開發(fā) ? 指令級并行概念 ? 支持指令級并行的基本編譯技術 ? 預測技術 ? 動態(tài)調度 ? 基于硬件的推測 ? 多發(fā)射技術 ? 指令傳送和推測高級技術 指令級并行概念 ? 指令級并行( ILP, instructionlevel parallelism) 產生于 80年代中期,處理器采用流水線方式使指令的執(zhí)行可以重疊進行,可以將指令間的關系看做是并行的, 指令間潛在的重疊 稱為 ~ 指令級并行方法分為兩類:一種 依賴于硬件 ,動態(tài)地發(fā)現和開發(fā)指令級并行;另一種依賴于 軟件技術 ,在編譯階段靜態(tài)地發(fā)現并行。 輸出相關 指令 i和指令 j寫相同的寄存器時,為了保證該寄存器的值最后是由指令 j寫入的,必須保護指令的執(zhí)行順序。 支持指令級并行的基本編譯技術 ? 循環(huán)展開 循環(huán)展開可以增加有效操作對轉移和開銷指令的比重,展開可以通過多次復制循環(huán)體和調整循環(huán)中止代碼來實現。如果經過譯碼后發(fā)現指令為轉移指令,并且 預測轉移將被選中,則應立刻從預測方向上開始取指令 ,否則繼續(xù)按順序取指令和執(zhí)行,如圖,預測錯誤時改變預測位。 簡單流水線技術的主要 限制 是 按序發(fā)射和執(zhí)行指令 ,指令以程序順序發(fā)射,一旦指令在流水線中停頓,后續(xù)指令就無法再執(zhí)行,比如當指令 i的執(zhí)行時間很長 ,則在指令 i完成、指令 j可以執(zhí)行之前,指令 j之后的指令都必須暫停 。 采用動態(tài)調度克服數據冒險 ? 保留站 : 在 Tomasulo算法中,寄存器重命名是通過 保留站 實現的,保留站為等待發(fā)射的指令保存操作數。 保留站均設置 標簽域 ,用于 流水線控制 。通過在操作數可用之前 延遲指令的執(zhí)行,避免了 RAW冒險 。轉移預測技術減少了直接由轉移引起的停頓,但是要想使處理器在一個時鐘周期內執(zhí)行多條指令, 僅靠轉移預測恐怕無法使我們獲得期望的指令級并行度 。 基于硬件的推測 ? 重排序緩存( ROB) 重排序緩存提供了 附加的寄存器 ,這種方法與Tomasulo算法通過 保留站 擴展寄存器集 類似。這個功能仍然由保留站來提供。 采用前面幾節(jié)中介紹的技術可以消除 數據相關 和 控制相關 引起的停頓,從而獲得理想的 CPI(理想 CPI為多少?)。代碼序列中的并行度可用通過將循環(huán)展開,在每個單獨的、更大的循環(huán)體中進行代碼調度而實現。對于這類應用,很難確定多發(fā)射處理器是否真的優(yōu)于向量處理器;當代價相同時,向量處理器可能會更快。如果 地址匹配 ,則相應的 預測指令地址將作為下一條指令的地址 。這種形式有 兩個潛在優(yōu)勢 ,首先,這種方法允許轉移目標緩存的訪問時間 超過兩個相繼取指令操作的時間間隔 ,也可能允許更大的轉移目標緩存;其次,通過緩存實際的指令可以 實現優(yōu)化 ,稱之為 轉移隱含 ,使用轉移隱含,可以將 無條件轉移 代價降為 0時鐘周期。 指令預取 為實現一個時鐘周期內傳送多條指令,取指令單元自主管理指令的預取,并將它同轉移預測整合在一起。 ? 推測的代價 為了將推測的代價降到最小,大多數推測處理器 只允許低代價的異常事件發(fā)生 ,如果發(fā)生了代價昂貴的異常事件,處理器在處理該事件之前,必須等待引起該事件的指令推測性質消失,盡管這會輕微影響程序的一些性能,但相對于特別是在頻繁發(fā)生此類事件且轉移預測率不夠理想的情況,這種方法能夠有效地避免性能損失。由于大多數指令在執(zhí)行時產生的結果并不相同,因此值預測的成功率是有限的。 ? 值預測 值預測的 研究大多集中在 load指令上 ,可以通過檢測 load返回值與 最近幾次 load執(zhí)行結果的匹配比率 來確定值預測可能達到的最高準確率,最簡單的情況是檢查 load返回值與上一次執(zhí)行得到的值是否匹配。 ? 多轉移預測 有三種情況可以從多轉移預測中受益: 轉移頻率非常高,轉移明顯成簇 ,以及功能單元延遲較長。 ? 推測的實現問題和擴展 探討三個問題:寄存器重命名與重排序緩存、多轉移推測和值預測。高級編程語言會為間接程序調用、 case選擇語句以及 goto語句生成這類轉移,但間接轉移 大部分還是來自過程返回 ,而在面向對象的語言中,比如 c++或 Java,過程返回更加頻繁。 ? 轉移目標緩存 如果在轉移目標緩存中發(fā)現了一個 匹配的入口,則取指令 立即從預測指令地址開始 。 ? 提高取指令帶寬 在高性能流水線特別是多發(fā)射流水線中,僅靠準確地預測轉移是不夠的,還 需要傳送高帶寬的指令流 。 ? VLIW方法 為了克服代碼快速增長帶來的影響,可采用智能譯碼方法,比如讓所有的功能單元使用一個立即數字段;也可以在主存中 壓縮指令 ,當指令被讀入 Cache或被譯碼時再將它們解壓縮。 采用 多發(fā)射技術 可以解決此問題,多發(fā)射處理器的目標是允許在一個時鐘周期內發(fā)射多條指令,重點介紹 VLIW方法。這要求分配給指令的 ROB序號必須能夠記錄在保留站中。即在這段時間內, ROB是指令的操作數源,但 ROB與保留站的重要區(qū)別是:在 Tomasulo算法中,當指令完成寫結果的操作后,所有的后繼指令都將從寄存器文件中讀取結果;而在推測技術中, 只有在指令提交
點擊復制文檔內容
試題試卷相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1