指令可並行執行
本章和附錄h研究一系列通過提高指令並行度來擴充套件基本流水線概念的技術
理解本章中一些基礎的材料時並不要前兩節的全部思想,
基於硬體動態方法的處理器(core系列),在桌面和伺服器佔主導
pmd市場,能耗是關鍵,
80年代到最近的itanium,嘗試基於編譯器的方法
程式結構與硬體結構之間的一些重要對映,
流水線cpu=理想流水線cpi+結構化停頓+資料冒險+停頓控制停頓
降低理想流水線cpi的技術會證明應對冒險的重要性。
意思就是冒險太可怕了!
這些指令相互依賴,
為真正提效能,須跨越多個基本塊開發ilp
下是完全可並行實現
for(i=0;i<=999;i=i+1)
x[i]=x[i]+y[i]
simd在開發資料級並行時,並行處理資料項(2~8)
向量指令
上述每次送代中需7(2載人、1求和、1儲存、2位址更新和1分支)
每條指令處理4個資料項的某種simd體系結構中,只要四分之一就ok
向量處理器中只要4條:
單條指令內部的相關性(如addd,r1,r1,r1)不認為是相關。
意味兩指令之間可能存在由乙個或多個資料冒險構成的鏈。
(資料冒險描述,附錄c,幾頁內容給出資料冒險的詳細定義)
同時執行這些指令導致乙個具有流水線互鎖(且流水線深度大於指令間距離,週期為單位)的處理器檢測冒險和停頓,
依靠編譯器排程、無互鎖的處理器中,編譯器在排程相關指令時不能使它們完全重疊,這樣會使程式無法正常執行。
指令序列中存在資料相關,反映出源**中存在資料相關。
原資料相關的影響一定會保留下來。
如果存在分支干擾及為了保持正確性而迫使編譯器或硬體變得保守,那可能會變得複雜些。
ILP 指令級並3 Tomasolu技術
二 tomasolu技術 核心結構 reservation stations 和上篇介紹的記分牌技術相比,tomasolu技術不同的地方在於將function unit status改為reservation stations。下面先介紹reservation stations的組成部分 opvj ...
Python3 Selenium3安裝及環境配置
一 python安裝 二 selenium安裝 python3.x安裝後就預設就會有pip pip.exe預設在python的scripts路徑下 使用pip安裝selenium pip install selenium 因我已安裝selenium,不可重複安裝。可使用以下命令檢視是否安裝成功 三 ...
python3 mmh3安裝及使用
雜湊方法主要有md sha murmur cityhash mac等幾種方法。mmh3全程murmurhash3,是一種非加密的雜湊演算法,常用於hadoop等分布式儲存情境中,在anaconda中安裝使用命令 pip install mmh3報錯如下 microsoft visual c 14.0...