一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

您好,歡迎來(lái)電子發(fā)燒友網(wǎng)! ,新用戶(hù)?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>電腦硬件>臺(tái)式機(jī)>

流水線(xiàn)中的相關(guān)培訓(xùn)教程[1]

2010年04月13日 15:56 www.www27dydycom.cn 作者:佚名 用戶(hù)評(píng)論(0
關(guān)鍵字:流水線(xiàn)(25641)

流水線(xiàn)中的相關(guān)培訓(xùn)教程[1]

?學(xué)習(xí)目標(biāo)

??? 理解流水線(xiàn)中相關(guān)的分類(lèi)及定義;

??? 掌握結(jié)構(gòu)相關(guān)的解決方法;

??? 掌握數(shù)據(jù)相關(guān)的三種類(lèi)型;

??? 掌握定向技術(shù)的主要思想及應(yīng)用;

??? 掌握指令調(diào)度技術(shù);

??? 了解對(duì)DLX流水線(xiàn)控制的實(shí)現(xiàn)。

?

??? 正文:

?? 3.3流水線(xiàn)中的相關(guān)

??? 流水線(xiàn)中的相關(guān)是指相鄰或相近的指令因存在某種關(guān)聯(lián),后面的指令不能在原指定的時(shí)鐘周期開(kāi)始執(zhí)行。一般來(lái)說(shuō),流水線(xiàn)中的相關(guān)主要分為如下三種類(lèi)型:

??? 1. 結(jié)構(gòu)相關(guān):當(dāng)硬件資源滿(mǎn)足不了指令重疊執(zhí)行的要求,而發(fā)生資源沖突時(shí),就發(fā)生了

??? 結(jié)構(gòu)相關(guān)。

??? 2. 數(shù)據(jù)相關(guān):當(dāng)一條指令需要用到前面指令的執(zhí)行結(jié)果,而這些指令均在流水線(xiàn)中重疊

??? 執(zhí)行時(shí),就可能引起數(shù)據(jù)相關(guān)。

??? 3. 控制相關(guān):當(dāng)流水線(xiàn)遇到分支指令和其它能夠改變 PC 值的指令時(shí),就會(huì)發(fā)生控制相

??? 關(guān)。

??? 一旦流水線(xiàn)中出現(xiàn)相關(guān),必然會(huì)給指令在流水線(xiàn)中的順利執(zhí)行帶來(lái)許多問(wèn)題,如果不能很好地解決相關(guān)問(wèn)題,輕則影響流水線(xiàn)的性能,重則導(dǎo)致錯(cuò)誤的執(zhí)行結(jié)果。消除相關(guān)的基本方法是讓流水線(xiàn)暫停執(zhí)行某些指令,而繼續(xù)執(zhí)行其它一些指令。

??? 在后面的討論中,我們約定:當(dāng)一條指令被暫停時(shí),在該暫停指令之后發(fā)射的所有指令都要被暫停,而在該暫停之前發(fā)射的指令則可繼續(xù)進(jìn)行,在暫停期間,流水線(xiàn)不會(huì)取新的指令。


?

?3.3.1流水線(xiàn)的結(jié)構(gòu)相關(guān)

??? 如果某些指令組合在流水線(xiàn)中重疊執(zhí)行時(shí),產(chǎn)生資源沖突,則稱(chēng)該流水線(xiàn)有結(jié)構(gòu)相關(guān)。為了能夠在流水線(xiàn)中順利執(zhí)行指令的所有可能組合,而不發(fā)生結(jié)構(gòu)相關(guān),通常需要采用流水化功能單元的方法或資源重復(fù)的方法。

??? 許多流水線(xiàn)機(jī)器都是將數(shù)據(jù)和指令保存在同一存儲(chǔ)器中。如果在某個(gè)時(shí)鐘周期內(nèi),流水線(xiàn)既要完成某條指令對(duì)數(shù)據(jù)的存儲(chǔ)器訪(fǎng)問(wèn)操作,又要完成取指令的操作,那么將會(huì)發(fā)生存儲(chǔ)器訪(fǎng)問(wèn)沖突問(wèn)題 (如圖3.3.1所示),產(chǎn)生結(jié)構(gòu)相關(guān)。為了解決這個(gè)問(wèn)題,可以讓流水線(xiàn)完成前一條指令對(duì)數(shù)據(jù)的存儲(chǔ)器訪(fǎng)問(wèn)時(shí),暫停取后一條指令的操作 (如圖3.3.2所示)。該周期稱(chēng)為流水線(xiàn)的一個(gè)暫停周期。暫停周期一般也稱(chēng)為流水線(xiàn)氣泡,或簡(jiǎn)稱(chēng)為氣泡。從圖3.3.2可以看出,在流水線(xiàn)中插入暫停周期可以消除這種結(jié)構(gòu)相關(guān)。

??? 也可以用如圖3.3.3所示的時(shí)空?qǐng)D來(lái)表示上述暫停情況。

? 由上可知,為消除結(jié)構(gòu)相關(guān)而引入的暫停將影響流水線(xiàn)的性能。為了避免結(jié)構(gòu)相關(guān),可以考慮采用資源重復(fù)的方法。比如,在流水線(xiàn)機(jī)器中設(shè)置相互獨(dú)立的指令存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器;也可以將 Cache 分割成指令 Cache 和數(shù)據(jù) Cache。

??? 假設(shè)不考慮流水線(xiàn)其它因素對(duì)流水線(xiàn)性能的影響,顯然如果流水線(xiàn)機(jī)器沒(méi)有結(jié)構(gòu)相關(guān),那么其 CPI 也較小。然而,為什么有時(shí)流水線(xiàn)設(shè)計(jì)者卻允許結(jié)構(gòu)相關(guān)的存在呢?主要有兩個(gè)原因:一是為了減少硬件代價(jià),二是為了減少功能單元的延遲。如果為了避免結(jié)構(gòu)相關(guān)而將流水線(xiàn)中的所有功能單元完全流水化,或者設(shè)置足夠的硬件資源,那么所帶來(lái)的硬件代價(jià)必定很大。

??? 3.3.2流水線(xiàn)的數(shù)據(jù)相關(guān)

??? 1. 數(shù)據(jù)相關(guān)簡(jiǎn)介

??? 當(dāng)指令在流水線(xiàn)中重疊執(zhí)行時(shí),流水線(xiàn)有可能改變指令讀/寫(xiě)操作數(shù)的順序,使得讀/寫(xiě)操作順序不同于它們非流水實(shí)現(xiàn)的順序,這將導(dǎo)致數(shù)據(jù)相關(guān)。首先讓我們考慮下列指令在流水線(xiàn)中的執(zhí)行情況: ADD? R1, R2, R3

??? SUB R4, R5, R1

??? AND? R6, R1, R7

??? OR R8, R1, R9

??? XOR R10, R1,? R11

?

非常好我支持^.^

(0) 0%

不好我反對(duì)

(0) 0%

( 發(fā)表人:admin )

      發(fā)表評(píng)論

      用戶(hù)評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?