浓毛老太交欧美老妇热爱乱,蜜臀性色av免费,妺妺窝人体色www看美女,久久久久久久久久久大尺度免费视频,麻豆人妻无码性色av专区

位置:51電子網(wǎng) » 技術(shù)資料 » 測(cè)試測(cè)量

32位DSP設(shè)計(jì)中的流水線數(shù)據(jù)相關(guān)問(wèn)題及解決辦法

發(fā)布時(shí)間:2008/5/26 0:00:00 訪問(wèn)次數(shù):420

        

    

     西安通信學(xué)院 余江

    

    引言

    在航空微電子中心的某預(yù)研項(xiàng)目中,需要開(kāi)發(fā)設(shè)計(jì)某32位浮點(diǎn)通用數(shù)字信號(hào)處理器(dsp)。本系統(tǒng)控制通路部分的設(shè)計(jì)采用超級(jí)哈佛及五級(jí)流水線結(jié)構(gòu)。本文分析了該流水線的設(shè)計(jì)過(guò)程,并對(duì)遇到的數(shù)據(jù)相關(guān)問(wèn)題提出了一種新的解決方法。

    

    1 流水線結(jié)構(gòu)

    

    流水線處理器一般把一條指令的執(zhí)行分成幾個(gè)步驟,或稱(chēng)為級(jí)(stages)。每一級(jí)在一個(gè)時(shí)鐘周期內(nèi)完成,也就是說(shuō)在每個(gè)時(shí)鐘周期,處理器啟動(dòng)并執(zhí)行一條指令。如果處理器的流水線有m級(jí),則同時(shí)可重疊執(zhí)行的指令總條數(shù)為m。由于每條指令處在不同的執(zhí)行階段,因此,如果分級(jí)分得好,每一級(jí)都沒(méi)有時(shí)間上的浪費(fèi),這就是最理想的情況。流水線處理器在理想情況下與非流水線處理器的性能加速比為:

    

    

    式中,i為一個(gè)程序被執(zhí)行的總的指令條數(shù),它在流水線處理器和非流水線處理器中是相等的。cpinp是每條指令總體平均所需的時(shí)鐘周期數(shù)。因?yàn)榱魉處理器把一條指令的執(zhí)行時(shí)間理想地分成了m級(jí),故有m條指令在同時(shí)(重疊)執(zhí)行。t是每個(gè)時(shí)鐘周期的時(shí)間長(zhǎng)度,本例可假設(shè)它在兩種處理器中也是相同的,那么,最后總的加速比為m(即等于流水線的級(jí)數(shù))。并不是說(shuō)把流水線級(jí)數(shù)分得越多,處理器的性能就越好。流水線處理器性能提高的關(guān)鍵在于每個(gè)時(shí)鐘周期處理器都應(yīng)當(dāng)能啟動(dòng)一條指令的執(zhí)行。

    

    2 數(shù)據(jù)相關(guān)問(wèn)題

    

    下面來(lái)討論數(shù)據(jù)相關(guān)(data dependence)問(wèn)題及解決方法,先來(lái)看看下面的程序例子:

    

    

    在上述程序段中,i1指令把寄存器r2和r3的內(nèi)容相加,并將結(jié)果存人寄存器r1,這樣,它下面的4條指令均與i1相關(guān),其使用i1的結(jié)果如圖1給出的數(shù)據(jù)相關(guān)關(guān)系圖。從圖中可見(jiàn),當(dāng)每個(gè)周期結(jié)束時(shí),在時(shí)鐘上升沿應(yīng)把數(shù)據(jù)打入寄存器。在數(shù)據(jù)沒(méi)被打入之前,任何從該寄存器讀出的數(shù)據(jù)都是過(guò)時(shí)的。圖1中的i2到i4的3條指令就屬于這種情況。它們從r1寄存器讀出的數(shù)據(jù)都是過(guò)時(shí)的,是不能使用的。i5則沒(méi)關(guān)系,當(dāng)它讀r1寄存器時(shí),i1已將結(jié)果寫(xiě)入。

    

    

    i1下面有3條指令不能從寄存器r1讀出正確的數(shù)據(jù)。為了減少數(shù)據(jù)相關(guān)指令的條數(shù),設(shè)計(jì)時(shí)可以讓寫(xiě)寄存器堆的操作提前半個(gè)周期,即由時(shí)鐘的下降沿打入。實(shí)踐證明這樣做是可行的,因?yàn)榧俣ㄒ粋(gè)時(shí)鐘周期是10 ns,寄存器堆的訪問(wèn)只需要5 ns。這樣,數(shù)據(jù)相關(guān)的指令條數(shù)就減至兩條,其操作示意圖如圖2所示。

    

    

    3 數(shù)據(jù)相關(guān)問(wèn)題的解決

    

    在流水線處理器中處理數(shù)據(jù)相關(guān)問(wèn)題有兩種方法:一種是暫停相關(guān)指令的執(zhí)行,即暫停流水線,直到能夠正確讀出寄存器操作數(shù)為止;另一種是采用專(zhuān)門(mén)的數(shù)據(jù)通路,直接把結(jié)果送到alu的輸入端,也就是把內(nèi)部數(shù)據(jù)前推。描述這兩種方法可參考圖2所示的方案,即把寫(xiě)寄存器堆提前半個(gè)周期,這時(shí),只需考慮兩條相關(guān)指令。下面以alu指令為例對(duì)暫停流水線的執(zhí)行方法加以分析。

    

    3.1 暫停數(shù)據(jù)相關(guān)流水線

    

    暫停數(shù)據(jù)相關(guān)流水線指令是當(dāng)數(shù)據(jù)相關(guān)出現(xiàn)時(shí),暫時(shí)停止相關(guān)指令的執(zhí)行,等劍相關(guān)數(shù)據(jù)能從寄存器讀出再恢復(fù)執(zhí)行。這里涉及到兩個(gè)問(wèn)題,一個(gè)是如何檢測(cè)數(shù)據(jù)相關(guān),另一個(gè)是如何暫停流水線。下面對(duì)這兩個(gè)問(wèn)題分別加以描述。

    

    首先考慮數(shù)據(jù)相關(guān)如何用硬件電路檢測(cè)出來(lái)。由于i1與目的寄存器rd、i2和i3的源操作數(shù)是寄存器rs1或rs2中的數(shù)據(jù),且只有當(dāng)它們的rs1或rs2與i1的目的寄存器號(hào)rd相等時(shí)才有可能發(fā)生數(shù)據(jù)相關(guān),因此,硬件電路中要有比較器。由于指令格式中的源寄存器號(hào)rs2與立即數(shù)部分重疊,而立即數(shù)是不會(huì)出現(xiàn)相關(guān)的,因此,指令操作碼必須要參與檢測(cè),以區(qū)分是寄存器操作數(shù)還是立即數(shù)。另外,如i1指令的rd一定作為目的寄存器號(hào)使用,也就是當(dāng)結(jié)果要被寫(xiě)入目的奇仔器時(shí),后面的指令才有可能與之相關(guān)。上述規(guī)則用表達(dá)式表述如下(它們是在id級(jí)檢測(cè)數(shù)據(jù)相關(guān)的表達(dá)式):

    

    

 &nbs

        

    

     西安通信學(xué)院 余江

    

    引言

    在航空微電子中心的某預(yù)研項(xiàng)目中,需要開(kāi)發(fā)設(shè)計(jì)某32位浮點(diǎn)通用數(shù)字信號(hào)處理器(dsp)。本系統(tǒng)控制通路部分的設(shè)計(jì)采用超級(jí)哈佛及五級(jí)流水線結(jié)構(gòu)。本文分析了該流水線的設(shè)計(jì)過(guò)程,并對(duì)遇到的數(shù)據(jù)相關(guān)問(wèn)題提出了一種新的解決方法。

    

    1 流水線結(jié)構(gòu)

    

    流水線處理器一般把一條指令的執(zhí)行分成幾個(gè)步驟,或稱(chēng)為級(jí)(stages)。每一級(jí)在一個(gè)時(shí)鐘周期內(nèi)完成,也就是說(shuō)在每個(gè)時(shí)鐘周期,處理器啟動(dòng)并執(zhí)行一條指令。如果處理器的流水線有m級(jí),則同時(shí)可重疊執(zhí)行的指令總條數(shù)為m。由于每條指令處在不同的執(zhí)行階段,因此,如果分級(jí)分得好,每一級(jí)都沒(méi)有時(shí)間上的浪費(fèi),這就是最理想的情況。流水線處理器在理想情況下與非流水線處理器的性能加速比為:

    

    

    式中,i為一個(gè)程序被執(zhí)行的總的指令條數(shù),它在流水線處理器和非流水線處理器中是相等的。cpinp是每條指令總體平均所需的時(shí)鐘周期數(shù)。因?yàn)榱魉處理器把一條指令的執(zhí)行時(shí)間理想地分成了m級(jí),故有m條指令在同時(shí)(重疊)執(zhí)行。t是每個(gè)時(shí)鐘周期的時(shí)間長(zhǎng)度,本例可假設(shè)它在兩種處理器中也是相同的,那么,最后總的加速比為m(即等于流水線的級(jí)數(shù))。并不是說(shuō)把流水線級(jí)數(shù)分得越多,處理器的性能就越好。流水線處理器性能提高的關(guān)鍵在于每個(gè)時(shí)鐘周期處理器都應(yīng)當(dāng)能啟動(dòng)一條指令的執(zhí)行。

    

    2 數(shù)據(jù)相關(guān)問(wèn)題

    

    下面來(lái)討論數(shù)據(jù)相關(guān)(data dependence)問(wèn)題及解決方法,先來(lái)看看下面的程序例子:

    

    

    在上述程序段中,i1指令把寄存器r2和r3的內(nèi)容相加,并將結(jié)果存人寄存器r1,這樣,它下面的4條指令均與i1相關(guān),其使用i1的結(jié)果如圖1給出的數(shù)據(jù)相關(guān)關(guān)系圖。從圖中可見(jiàn),當(dāng)每個(gè)周期結(jié)束時(shí),在時(shí)鐘上升沿應(yīng)把數(shù)據(jù)打入寄存器。在數(shù)據(jù)沒(méi)被打入之前,任何從該寄存器讀出的數(shù)據(jù)都是過(guò)時(shí)的。圖1中的i2到i4的3條指令就屬于這種情況。它們從r1寄存器讀出的數(shù)據(jù)都是過(guò)時(shí)的,是不能使用的。i5則沒(méi)關(guān)系,當(dāng)它讀r1寄存器時(shí),i1已將結(jié)果寫(xiě)入。

    

    

    i1下面有3條指令不能從寄存器r1讀出正確的數(shù)據(jù)。為了減少數(shù)據(jù)相關(guān)指令的條數(shù),設(shè)計(jì)時(shí)可以讓寫(xiě)寄存器堆的操作提前半個(gè)周期,即由時(shí)鐘的下降沿打入。實(shí)踐證明這樣做是可行的,因?yàn)榧俣ㄒ粋(gè)時(shí)鐘周期是10 ns,寄存器堆的訪問(wèn)只需要5 ns。這樣,數(shù)據(jù)相關(guān)的指令條數(shù)就減至兩條,其操作示意圖如圖2所示。

    

    

    3 數(shù)據(jù)相關(guān)問(wèn)題的解決

    

    在流水線處理器中處理數(shù)據(jù)相關(guān)問(wèn)題有兩種方法:一種是暫停相關(guān)指令的執(zhí)行,即暫停流水線,直到能夠正確讀出寄存器操作數(shù)為止;另一種是采用專(zhuān)門(mén)的數(shù)據(jù)通路,直接把結(jié)果送到alu的輸入端,也就是把內(nèi)部數(shù)據(jù)前推。描述這兩種方法可參考圖2所示的方案,即把寫(xiě)寄存器堆提前半個(gè)周期,這時(shí),只需考慮兩條相關(guān)指令。下面以alu指令為例對(duì)暫停流水線的執(zhí)行方法加以分析。

    

    3.1 暫停數(shù)據(jù)相關(guān)流水線

    

    暫停數(shù)據(jù)相關(guān)流水線指令是當(dāng)數(shù)據(jù)相關(guān)出現(xiàn)時(shí),暫時(shí)停止相關(guān)指令的執(zhí)行,等劍相關(guān)數(shù)據(jù)能從寄存器讀出再恢復(fù)執(zhí)行。這里涉及到兩個(gè)問(wèn)題,一個(gè)是如何檢測(cè)數(shù)據(jù)相關(guān),另一個(gè)是如何暫停流水線。下面對(duì)這兩個(gè)問(wèn)題分別加以描述。

    

    首先考慮數(shù)據(jù)相關(guān)如何用硬件電路檢測(cè)出來(lái)。由于i1與目的寄存器rd、i2和i3的源操作數(shù)是寄存器rs1或rs2中的數(shù)據(jù),且只有當(dāng)它們的rs1或rs2與i1的目的寄存器號(hào)rd相等時(shí)才有可能發(fā)生數(shù)據(jù)相關(guān),因此,硬件電路中要有比較器。由于指令格式中的源寄存器號(hào)rs2與立即數(shù)部分重疊,而立即數(shù)是不會(huì)出現(xiàn)相關(guān)的,因此,指令操作碼必須要參與檢測(cè),以區(qū)分是寄存器操作數(shù)還是立即數(shù)。另外,如i1指令的rd一定作為目的寄存器號(hào)使用,也就是當(dāng)結(jié)果要被寫(xiě)入目的奇仔器時(shí),后面的指令才有可能與之相關(guān)。上述規(guī)則用表達(dá)式表述如下(它們是在id級(jí)檢測(cè)數(shù)據(jù)相關(guān)的表達(dá)式):

    

    

 &nbs

相關(guān)IC型號(hào)

熱門(mén)點(diǎn)擊

 

推薦技術(shù)資料

音頻變壓器DIY
    筆者在本刊今年第六期上著重介紹了“四夾三”音頻變壓器的... [詳細(xì)]
版權(quán)所有:51dzw.COM
深圳服務(wù)熱線:13692101218  13751165337
粵ICP備09112631號(hào)-6(miitbeian.gov.cn)
公網(wǎng)安備44030402000607
深圳市碧威特網(wǎng)絡(luò)技術(shù)有限公司
付款方式


 復(fù)制成功!