新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM體系結(jié)構(gòu)之:流水線

        ARM體系結(jié)構(gòu)之:流水線

        作者: 時(shí)間:2013-09-13 來源:網(wǎng)絡(luò) 收藏

        本文引用地址:http://www.104case.com/article/257092.htm

        在圖2.6中的指令序列中,處理器的每個(gè)邏輯單元在每個(gè)指令都是活動(dòng)的。可以看出的執(zhí)行與存儲(chǔ)器訪問密切相關(guān)。存儲(chǔ)器訪問限制了程序執(zhí)行必須花費(fèi)的指令周期數(shù)。

        執(zhí)行模式導(dǎo)致了一個(gè)結(jié)果,就是程序計(jì)數(shù)器PC(對(duì)使用者而言為r15)必須在當(dāng)前指令執(zhí)行前計(jì)數(shù)。例如,指令在其第一個(gè)周期為下下條指令取指,這就意味著PC必須指向當(dāng)前指令的后8個(gè)字節(jié)(其后的第2條指令)。

        當(dāng)程序中必須用到PC時(shí),程序員要特別注意這一點(diǎn)。大多數(shù)正常情況下,不用考慮這一點(diǎn),它由匯編器或編譯器自動(dòng)處理這些細(xì)節(jié)。

        例2.3顯示了下程序計(jì)數(shù)器PC的使用情況。

        【例2.3】

        指令序列為:

        0x8000 LDR pc,[pc,#0]

        0x8004 NOP

        0x8008 DCD jumpAdress

        當(dāng)指令LDR處于執(zhí)行階段時(shí),pc=address+8即0x8008。

        2.5級(jí)流水線組織

        所有的處理器都要滿足對(duì)高性能的要求。直到7為止,在ARM核中使用的3級(jí)流水線的性價(jià)比是很高的。但是,為了得到更高的性能,需要重新考慮處理器的組織結(jié)構(gòu)。執(zhí)行一個(gè)給定的程序需要的時(shí)間由下式?jīng)Q定:

        Tprog = (Ninst×CPI)/ fclk

        式中:

        Ninst:表示在程序中執(zhí)行的ARM指令數(shù);

        CPI:表示每條指令的平均時(shí)鐘周期;

        fclk:表示處理器的時(shí)鐘頻率。

        因?yàn)閷?duì)給定程序(假設(shè)使用給定的優(yōu)化集并用給定的編譯器來編譯)Ninst是常數(shù),所以,僅有兩種方法來提供性能。

        第一,提高時(shí)鐘頻率。時(shí)鐘頻率的提高,必然引起指令執(zhí)行周期的縮短,所以要求簡(jiǎn)化流水線每一級(jí)的邏輯,流水線的級(jí)數(shù)就要增加。

        第二,減少每條指令的平均指令周期數(shù)CPI。這就要求重新考慮3級(jí)流水線ARM中多于1個(gè)流水線周期的實(shí)現(xiàn)方法,以便使其占有較少的周期,或者減少因指令相關(guān)造成的流水線停頓,也可以將兩者結(jié)合起來。

        3級(jí)流水線ARM核在每一個(gè)時(shí)鐘周期都訪問存儲(chǔ)器,或者取指令,或者傳輸數(shù)據(jù)。只是抓緊存儲(chǔ)器不用的幾個(gè)周期來改善系統(tǒng)系統(tǒng)性能,效果是不明顯的。為了改善CPI,存儲(chǔ)器系統(tǒng)必須在每個(gè)時(shí)鐘周期中給出多于一個(gè)的數(shù)據(jù)。方法是在每個(gè)時(shí)鐘周期從單個(gè)存儲(chǔ)器中給出多于32位數(shù)據(jù),或者為指令或數(shù)據(jù)分別設(shè)置存儲(chǔ)器。

        基于以上原因,較高性能的ARM核使用了5級(jí)流水線,而且具有分開的指令和數(shù)據(jù)存儲(chǔ)器。把指令的執(zhí)行分割為5部分而不是3部分,進(jìn)而可以使用更高的時(shí)鐘頻率,分開的指令和數(shù)據(jù)存儲(chǔ)器使核的CPI明顯減少。

        注意

        分開的指令和數(shù)據(jù)存儲(chǔ)器。一般是分開的Cache連接到統(tǒng)一的指令和數(shù)據(jù)存儲(chǔ)器上。

        存儲(chǔ)器相關(guān)文章:存儲(chǔ)器原理




        關(guān)鍵詞: 流水線 指令譯碼器 ARM

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 宜兰市| 长葛市| 南木林县| 莱州市| 城固县| 雅江县| 瑞金市| 六安市| 南木林县| 巴林左旗| 黄梅县| 合江县| 琼结县| 墨玉县| 马公市| 高邑县| 绩溪县| 德化县| 衡阳市| 宜阳县| 阜阳市| 仙居县| 静海县| 乌苏市| 丘北县| 澄迈县| 虹口区| 东乌珠穆沁旗| 老河口市| 河曲县| 青神县| 调兵山市| 科技| 永丰县| 牟定县| 西乌珠穆沁旗| 巴彦淖尔市| 大新县| 元阳县| 赞皇县| 杭锦后旗|