日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 芯聞號 > 充電吧
[導(dǎo)讀]Atiitt 流水線停頓問題與解決方法?1. 流水線技術(shù)方式分類 12. 但在實際中,會出現(xiàn)2種情況使流水線停頓下來或不能啟動: 22.1. 1、多個任務(wù)在同一時間周期內(nèi)爭用同一個流水段 22.2.

Atiitt 流水線停頓問題與解決方法

?

1. 流水線技術(shù)方式分類 1

2. 但在實際中,會出現(xiàn)2種情況使流水線停頓下來或不能啟動: 2

2.1. 1、多個任務(wù)在同一時間周期內(nèi)爭用同一個流水段 2

2.2. 數(shù)據(jù)依賴。 2

3. 處理器流水線中的沖突 2

3.1. 7.1?流水線中的資源沖突 2

3.2. 7.2?流水線中的數(shù)據(jù)沖突 3

4. 為了能夠盡可能的減少流水線停頓帶來的性能損失,可以使用“動態(tài)調(diào)度”的方法 3

?

?

1.?流水線技術(shù)方式分類

3、按連接的方式分類:

  靜態(tài)流水線:同一時間內(nèi),多功能結(jié)構(gòu)只能按一種功能的連接方式工作。

動態(tài)流水線:同一時間內(nèi),可以有多種功能的連接方式同時工作。

4、按處理的數(shù)據(jù)類型分類:

  標量流水線:一般數(shù)據(jù)

  向量流水線:矢量數(shù)據(jù)。X+Y=Z每一個代表一維數(shù)據(jù)。

5、流水線結(jié)構(gòu)上分類:

  線性流水線:指各功能模塊順序串行連接,無反饋回路,如前面介紹的。

  非線性流水線:帶有反饋回路的流水線。

?

?

?

2.?但在實際中,會出現(xiàn)2種情況使流水線停頓下來或不能啟動:

流水線技術(shù)

2.1.?1、多個任務(wù)在同一時間周期內(nèi)爭用同一個流水段

。例如,假如在指令流水線中,如果數(shù)據(jù)和指令是放在同一個儲存器中,并且訪問接口也只有一個,那么,兩條指令就會爭用儲存器;在一些算數(shù)流水線中,有些運算會同時訪問一個運算部件。

2.2.?數(shù)據(jù)依賴。

2、

比如,A運算必須得到B運算的結(jié)果,但是,B運算還沒有開始,A運算動作就必須等待,直到B運算完成,兩次運算不能同時執(zhí)行。
解決方案:
第一種情況,增加運算部件的數(shù)量來使他們不必爭用同一個部件;
第二種情況,用指令調(diào)度的方法重新安排指令或運算的順序。

3.?處理器流水線中的沖突


處理器的流水線設(shè)計中另外一個問題便是流水線中的沖突(Hazards),主要分為資源沖突和數(shù)據(jù)沖突。
?

3.1.?7.1?流水線中的資源沖突


?
資源沖突是指流水線中硬件資源的沖突,最常見的是運算單元的沖突,譬如除法器需要多個時鐘周期才能完成運算,因此在前一條除法指令運算完成之前,新的除法指令如果也需要除法器則會存在著資源沖突。在處理器的流水線中硬件資源沖突種類還有較多,在此不做一一贅述。解決資源沖突的方法可以通過復(fù)制硬件資源或者流水線停頓等待硬件資源的方法解決。
?

3.2.?7.2?流水線中的數(shù)據(jù)沖突


?
數(shù)據(jù)沖突是指不同的指令之間的操作數(shù)存在數(shù)據(jù)相關(guān)性造成的沖突。常見的數(shù)據(jù)相關(guān)性包括:
?
WAR(Write-After-Read)相關(guān)性,又稱先讀后寫相關(guān)性:表示“后序執(zhí)行的指令需要寫回的結(jié)果寄存器索引”與“前序執(zhí)行的指令需要讀取的源操作數(shù)寄存器索引”相同造成的數(shù)據(jù)相關(guān)性。因此,從理論上來講,在流水線中“后序指令”一定不能比和它有WAR相關(guān)性的“前序指令”先執(zhí)行,否則“后序指令”先寫回了結(jié)果至通用寄存器組中,“前序指令”再讀取操作數(shù)時,就會讀到錯誤的數(shù)值。
?
WAW(Write-After-Write)相關(guān)性,又稱先寫后寫相關(guān)性:表示“后序執(zhí)行的指令需要寫回的結(jié)果寄存器索引”與“前序執(zhí)行的指令需要寫回的結(jié)果寄存器索引”相同造成的數(shù)據(jù)相關(guān)性。因此,從理論上來講,在流水線中“后序指令”一定不能比和它有WAW相關(guān)性的“前序指令”先執(zhí)行,否則“后序指令”先寫回了結(jié)果至通用寄存器組中,“前序指令”再寫回結(jié)果至通用寄存器組中就會將其覆蓋。
?
RAW(Read-After-Write)相關(guān)性,又稱先寫后讀相關(guān)性:表示“后序執(zhí)行的指令需要讀取的源操作數(shù)寄存器索引”與“前序執(zhí)行的指令需要寫回的結(jié)果寄存器索引”相同造成的數(shù)據(jù)相關(guān)性。因此,從理論上來講,在流水線中“后序指令”一定不能比和它有RAW相關(guān)性的“前序指令”先執(zhí)行,否則“后序指令”便會從通用寄存器組中讀回錯誤的源操作數(shù)

?

4.?為了能夠盡可能的減少流水線停頓帶來的性能損失,可以使用“動態(tài)調(diào)度”的方法

?

之所以RAW稱之為真數(shù)據(jù)相關(guān),是因為其沒有辦法通過寄存器重命名的方法將相關(guān)性去除。一旦產(chǎn)生RAW相關(guān)性,后序的指令一定要使用和它有RAW數(shù)據(jù)相關(guān)性的前序指令執(zhí)行完成的結(jié)果,從而造成流水線的等待停頓。為了能夠盡可能的減少流水線停頓帶來的性能損失,可以使用“動態(tài)調(diào)度”的方法。動態(tài)調(diào)度的思想本質(zhì)上可以歸結(jié)于以下方面:
?
一方面采用數(shù)據(jù)旁路傳播(Data?Bypass?and?Forward)技術(shù)盡可能的讓前序指令的計算結(jié)果更快的旁路傳播給后序相關(guān)指令的操作數(shù);
?
另一方面盡可能的讓后序相關(guān)指令在等待的過程中不阻塞流水線而讓其他無關(guān)的指令能夠繼續(xù)順利執(zhí)行。
?
早期的Tomasulo算法中通過保留站可以達到這兩方面的功效,但是保留站由于保存了操作數(shù)無法做到很大的深度(否則面積和時序的開銷巨大)。
?
最新的高性能處理器普遍采用在每個運算單元前配置亂序發(fā)射隊列(Issue?Queue)的方式,發(fā)射隊列僅追蹤RAW相關(guān)性而并不存放操作數(shù),因此可以做的很深(譬如16個表項)。在發(fā)射隊列中的指令一旦相關(guān)性解除之后,再從發(fā)射隊列中發(fā)射出來讀取物理寄存器組(Physical?Register?File),然后發(fā)送給運算單元開始計算。
?
有關(guān)處理器的數(shù)據(jù)相關(guān)性問題和包括動態(tài)調(diào)度技術(shù)在內(nèi)的解決方法,如果闡述清楚幾乎可以單獨成書,本文限于篇幅只能提綱挈領(lǐng)式的予以簡述。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉