計算機體系結構概念彙總第4章

2021-03-14 04:00:30 字數 1698 閱讀 7797

第4章指令級並行

指令級並行

當指令之間不存在相關時,它們可以在流水線中重疊起來並行執行。這種指令序列中存在的潛在並行性稱為指令級並行。

基本程式塊

如果一串連續的**除了入口和出口以外,沒有其他的分支指令和轉入點,則稱之為乙個基本程式塊。

迴圈級並行性

迴圈體中指令之間的並行性。

程式順序

由源程式確定的在完全序列方式下指令的執行順序。

保持異常行為

無論怎麼改變指令的執行順序,都不能改變程式中異常的發生情況。即原來程式中是怎麼發生的,改變執行順序後還是怎麼發生。

靜態排程技術

依靠編譯器對**進行靜態排程,以減少相關和衝突。它不是在程式執行的過程中、而是在編譯期間進行**排程和優化。靜態排程通過把相關的指令拉開距離來減少可能產生的停頓。

動態排程方法

在流水線中出現相關時,通過硬體重新安排指令的執行順序,來調整相關指令實際執行時的關係,減少處理器空轉。

不精確異常

當執行指令i導致發生異常時,處理機的現場(狀態)與嚴格按程式順序執行時指令i的現場不同。

精確異常

當執行指令i導致發生異常時,處理機的現場跟嚴格按程式順序執行時指令i的現場相同。

tomasulo演算法的核心思想

① 記錄和檢測指令相關,運算元一旦就緒就立即執行,把發生raw衝突的可能性減少到最少;② 通過暫存器換名來消除war衝突和waw衝突。

保留站設定在運算部件的入口,每個保留站中儲存一條已經流出並等待到本功能部件執行的指令(相關資訊),包括操作碼、運算元以及用於檢測和解決衝突的資訊。

cdb公共資料匯流排。它是一條重要的資料通路,所有功能部件的計算結果都要送到cdb上,由它把這些結果直接送到(播送到)各個需要該結果的地方。

動態分支**技術

在程式執行時,根據分支指令過去的表現來**其將來的行為。如果分支行為發生了變化,**結果也跟著改變。動態分支**技術的目的有兩個:

**分支是否成功和盡快找到分支目標位址(或指令),從而避免因控制相關而造成流水線停頓。

分支歷史表bht

記錄分支指令最近一次或幾次的執**況(成功或不成功),並據此進行**。

分支目標緩衝器。用專門的硬體實現的一張**。**中的每一項至少有兩個字段:① 執行過的成功分支指令的位址;② **的分支目標位址。

前瞻執行

對分支指令的結果進行猜測,並假設這個猜測總是對的,然後按這個猜測結果繼續取、流出和執行後續的指令。只是執行指令的結果不是寫回到暫存器或儲存器,而是放到乙個稱為rob的緩衝器中。等到相應的指令得到「確認」(即確實是應該執行的)後,才將結果寫入暫存器或儲存器。

再定序緩衝器。在指令操作完成後到指令被確認的這一時間段內,為指令儲存資料。

多流出技術

在每個時鐘週期流出多條指令。

超標量處理機

一種多流出處理機。在每個時鐘週期流出的指令條數不固定,依**的具體情況而定,不過有個上限。設這個上限為n,就稱該處理機為n流出。

超長指令字vliw技術

一種多指令流出技術。在每個時鐘週期流出的指令條數是固定的,這些指令構成一條長指令或者乙個指令包,在這個指令包中,指令之間的並行性是通過指令顯式地表示出來的。

超流水線處理機

在乙個時鐘週期內能夠分時流出多條指令的處理機。

迴圈展開技術

開發迴圈級並行的一種基本技術。它將迴圈體展開若干次,將迴圈級並行轉化為指令級並行。這個過程既可以通過編譯器靜態完成,也可以通過硬體動態進行。

計算機體系結構概念彙總第7章

逆均勻洗牌是均勻洗牌的逆函式。蝶式互連函式 把輸入端的二進位制編號的最高位與最低位互換位置,便得到了輸出端的編號。定義為反位序函式 將輸入端二進位制編號的位序顛倒過來求得相應輸出端的編號。其互連函式為 pm2i函式 一種移數函式,它是將各輸入端都迴圈移動一定的位置連到輸出端。其函式為 pm2 i x...

計算機體系結構

平行計算 之我見指導老師 陳麗萍 學院 資訊科學與工程學院 班級 計科0908班 姓名 原海南 學號 0909083125 完成日期 2012年5月21日 目錄1.平行計算簡介 1.1什麼是平行計算 1.2為什麼需要平行計算 1.3平行計算的歷史 1.4平行計算的現狀 2.平行計算與網際網路 2.1...

計算機體系結構第2章作業

第2章計算機指令集結構設計作業 姓名學號網選班號 一 選擇題 1 計算c a b時使用指令序列load r3,a load r3,b add r4,r2,r3 stor c,r4,該指令序列屬於 a 累加器型指令 b 堆疊型指令 c 通用暫存器型指令 2 變址定址的主要作用是 a 支援程式的動態再定...