新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 片上總線Wishbone 學(xué)習(xí)(七)周期的同步結(jié)束和異步結(jié)束

        片上總線Wishbone 學(xué)習(xí)(七)周期的同步結(jié)束和異步結(jié)束

        作者: 時間:2016-12-15 來源:網(wǎng)絡(luò) 收藏
        為了實現(xiàn)在給定時鐘頻率下的最大可能吞吐量,Wishbone采用了周期異步結(jié)束方式。這樣做的結(jié)果是從主設(shè)備的STB_O到從設(shè)備的ACK_O/ERR_O/RTY_O再到主設(shè)備的ACK_I/ERR_I/RTY_I輸入形成了一個異步回路,如圖1所示。在大型SoC設(shè)計中,該回路往往成為整個設(shè)計的關(guān)鍵路徑,限制系統(tǒng)時鐘頻率的進一步提高。在深亞微米時代,由于線延遲往往比門延遲更大,這一異步回路更加可能成為系統(tǒng)性能的瓶頸。

        圖1 Wishbone總線的異步周期結(jié)束路徑

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

        這一問題的最簡單解決方法是插入寄存器將回路斷開,但這樣做的缺點是在每一次總線操作中都需要插入一個等待周期,從而制約了總線吞吐量。如圖2所示,在上升沿0主設(shè)備發(fā)起了一次操作,在上升沿1從設(shè)備發(fā)起響應(yīng)將ACK_O置高,在上升沿2主設(shè)備檢測到ACK_I為高完成第一次操作并發(fā)起第二次操作,但是在上升沿2從設(shè)備并不知道主設(shè)備會發(fā)起第二次操作,因此只能將ACK_O信號置低。在上升沿3從設(shè)備才能對第二次操作發(fā)起響應(yīng)將ACK_O置高,在上升沿4主設(shè)備檢測到ACK_I為高完成第二次操作。


        圖2 Wishbone總線的傳統(tǒng)同步周期結(jié)束方式

        在圖2中,每一次傳輸都需要兩個時鐘周期,一半的帶寬被浪費。如果從設(shè)備在上升沿2知道主設(shè)備將發(fā)起新的操作,它將能夠在上升沿3完成第二次操作,從而節(jié)省時鐘周期提高了系統(tǒng)的吞吐量,利用該思想改進后的同步時序如圖3所示。

        圖3Wishbone總線改進的同步周期結(jié)束方式

        在圖3的上升沿0,主設(shè)備發(fā)起操作,在上升沿1,從設(shè)備將ACK_O置高,在上升沿2完成第一次操作且從設(shè)備知道主設(shè)備將發(fā)起新的操作,于是將ACK_O繼續(xù)置高,在上升沿3完成第二次操作。因此,3個時鐘周期就完成了2次操作,而不是原來大的4個時鐘周期,于是吞吐量提高了25%。一般的,改進后,N次操作需要N+1個時鐘周期,而不是2N個時鐘周期,吞吐量改善為(N-1)/N%。


        圖4 不同結(jié)束方式性能的對比

        改進后的同步周期結(jié)束方式具備異步周期結(jié)束方式的吞吐量優(yōu)勢,同時具備傳統(tǒng)同步結(jié)束方式的延遲優(yōu)勢。改進后的同步周期結(jié)束方式稱作Wishbone寄存反饋周期結(jié)束方式。




        評論


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

        關(guān)閉
        主站蜘蛛池模板: 靖州| 贵南县| 页游| 会东县| 陵川县| 新巴尔虎左旗| 当涂县| 衢州市| 莲花县| 凤城市| 庄浪县| 武冈市| 光泽县| 曲松县| 仙桃市| 寿阳县| 郁南县| 清徐县| 高安市| 新田县| 赤城县| 耒阳市| 晋宁县| 黄骅市| 肥东县| 阳信县| 汽车| 浮山县| 沭阳县| 海盐县| 大邑县| 云南省| 蓬安县| 营山县| 巴东县| 丰县| 赞皇县| 亚东县| 夏津县| 武清区| 永靖县|