在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

FPGA中有狀態表項的存儲與管理

Spinal FPGA ? 來源: Spinal FPGA ? 2024-10-27 16:06 ? 次閱讀

編 者 按

一篇2014年的論文:《CACHE FOR FLOW CONTENT: SOLUTION TODEPENDENT PACKET PROCESSING IN FPGA》,主要講述在FPGA中有狀態表項的存儲與管理。感興趣的可以閱讀原文。

報文的依賴性

CPU中,存在一種“write-read miss”的場景,即新的數據還未寫回就要去讀存儲器,導致數據依賴。

在FPGA與ASIC中報文的流水線處理中,也存在報文的依賴性問題。在流水線結構中,每個報文占據固定的時間周期數,處理時牽涉到對表項的讀和寫。下圖為例:

c900f0b2-9408-11ef-a511-92fbcf53809c.jpg

理想情況下應為左圖,packet1的寫操作從時鐘周期的角度來講發生在packet2的讀操作之前,如此兩個報文之間即使存在相互依賴性也沒有任何影響。

然而隨著操作變得復雜,可能導致到圖右的狀態,即Packet2的讀請求發生在Packet1的寫請求之前,如果packet2和packet1之間存在依賴性,則此時將會發生功能型的錯誤:

c904fdec-9408-11ef-a511-92fbcf53809c.jpg

常見的依賴解決方法&劣勢

第一種最簡單的方法就是碰撞預防:

c91726f2-9408-11ef-a511-92fbcf53809c.jpg

通過插入空拍來避免數據挨的太近,當然壞處就是帶寬的浪費,自然下下之策。

第二種方法即碰撞補償。碰撞補償允許數據以背靠背的形式呈現,當數據沖突將要發生時,相同數據流的信息將會被合并處理:

c920f790-9408-11ef-a511-92fbcf53809c.jpg

如上圖所示,假定包處理的跨度為三個報文,當一個數據包n到達時,其會與n+1、n+2進行比較,如果n依賴于n+1或者n+2,則其信息將會合并到n+1或者n+2中進行處理,n將會被禁用。這種方式對于所有的信息都由數據包本身攜帶是沒有問題的,但如果有些信息是由流當前狀態、數據包信息、中間結果一些列所決定的那么久不太適用。考慮下面的例子:

c92b1752-9408-11ef-a511-92fbcf53809c.jpg

正常情況下會進入Flow StateC、在進行合并后將無法進入到StateC。

第三種方法就是CPU Cache的概念。

CFC

在CFC中,Cache基于流的關鍵信息作索引(如五元祖哈希)

c92eacfa-9408-11ef-a511-92fbcf53809c.jpg

上圖中n、n+1、n+2存在依賴關系,n、n+1的寫操作將會被寫入到Cache中。

這里有一點需要注意的是對于任何一個報文而言,其從數據Cache讀出到數據寫回的時鐘數不應超過報文在流水線中占據的時鐘周期數T(如果超過了則意味著一個報文無法在時鐘周期T內完成數據的處理)。

這里的Cache可以認為是一個深度為1的全關聯Cache。對于Cache的容量的考慮可以參考下圖:

c9461552-9408-11ef-a511-92fbcf53809c.jpg

指定一個窗口,其跨度為一個數據包從進入處理到寫回的周期,窗口隨著數據包滑動。上圖中窗口的寬度為N+1個數據包(數據包1的狀態寫回發生在數據包N+1處),則上圖中需要的緩存數即為N。

每個緩存的組織形式如下所示:

c95cdeea-9408-11ef-a511-92fbcf53809c.jpg

Content為Cache的主要內容,用于存儲流的相關信息。Tag和Validity為輔助信息。Tag可以為流的hash值。通過hash比較判斷是否存在匹配。Validity則用于標識該條流是否有效。

對于Cache中每個cache entry的維護,可以采用如下策略。為每個entry維護一個計數器。計數器的初始值為0,標識無效,其他值則有效。當一個entry被建立使用時,其計數器值設置為N,此后每進入一個數據包值就減1,直到為0,標志其無效,將其數據寫回SDRAM。但如果來了一個命中該entry的數據,那么其計數器值將直接恢復為N。如此,對于任何一個到來的數據報文,其都可以找到一個匹配的entry或者一個空的entry來進行緩存(其實這里的替換策略就是LRU)。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1629

    文章

    21736

    瀏覽量

    603321
  • asic
    +關注

    關注

    34

    文章

    1200

    瀏覽量

    120501
  • 存儲器
    +關注

    關注

    38

    文章

    7492

    瀏覽量

    163829
  • 流水線
    +關注

    關注

    0

    文章

    120

    瀏覽量

    25737

原文標題:論文學習——CFC:Cache For Flow Content

文章出處:【微信號:Spinal FPGA,微信公眾號:Spinal FPGA】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    狀態機編程實例-狀態表

    上篇文章,使用嵌套switch-case法的狀態機編程,實現了一個炸彈拆除小游戲。本篇,繼續介紹狀態機編程的第二種方法:狀態表法,來實現炸彈拆除小游戲的狀態機編程。
    的頭像 發表于 06-20 09:05 ?2070次閱讀
    <b class='flag-5'>狀態</b>機編程實例-<b class='flag-5'>狀態表</b>法

    基于有限狀態機[8]的DSR路由表項設計實現方法

    本文為在FPGA中支持DSR協議的路由表項管理功能,設計一種基于有限狀態機[8]的實現方法。
    的頭像 發表于 12-22 16:27 ?2245次閱讀
    基于有限<b class='flag-5'>狀態</b>機[8]的DSR路由<b class='flag-5'>表項</b>設計實現方法

    基于FPGA的視頻圖形顯示系統的DDR3多端口存儲管理設計

    吞吐量大、功耗低的需求,因此選擇DDR3 SDRAM作為機載視頻圖形顯示系統的外部存儲器。本文以Kintex-7系列XC7K410T FPGA芯片和兩片MT41J128M16 DDR3 SDRAM芯片為硬件平臺,設計并實現了基于FPGA
    發表于 06-24 06:07

    ACPI高級電源管理的電力狀態

    ACPI 高級電源管理ACPI 中定義了 G、D、S、C、P 這 5 個大的電力狀態。G 狀態 Global system stateG 狀態表示的是用戶看到的整個系統的電力
    發表于 12-27 07:42

    MCU低功耗狀態表模式介紹

    一、低功耗狀態表模式hsi_onhse_onpll_onlsi_onldo_hsildo_pllldo_enldo_en_hcpu_clk備注 runON/OFFON/OFFON/OFFON/OFFONONONONON lprunON/OFFON/OFFON/OFFON/OFFONON...
    發表于 02-11 07:30

    求助,同步二進制減法計數器的狀態表該怎么畫?

    請問各位,同步二進制減法計數器的狀態表該怎么畫?之前只做過同步加法和異步減法,現在混淆了,同步減法的次態是代入特性方程算出來之后再作為下一個初態,還是直接遞減不用算?
    發表于 11-23 20:44

    TCAM表項管理算法研究

    為了克服傳統的軟件路由查找機制的瓶頸, 高速路由器目前的查表方案是基于TCAM 的硬件路由查找。由于路由查找的最長前綴匹配要求,TCAM 要解決路由表項的高效存儲管理問題。本
    發表于 06-01 11:53 ?28次下載

    TCAM路由表項管理算法優化研究

    TCAM(Ternary Content-Addressable Memory) 能夠很好的完成最長前綴匹配,實現快速路由查找和分組轉發,但是其對路由表項的有序性要求使得表項管理比較復雜。在討論已有TCAM
    發表于 12-22 14:10 ?23次下載

    高速數據存儲管理設計和基于FPGA高速圖像數據的存儲及顯示設計

    設計了一種基于FPGA控制Nand Flash陣列實現高速流水線式存儲的方案。設計利用FPGA作為主控制器,通過CameraLink輸入通信接口將圖像數據經過一/二級緩存寫入Flash存儲
    發表于 10-11 18:33 ?6次下載
    高速數據<b class='flag-5'>存儲</b><b class='flag-5'>管理</b>設計和基于<b class='flag-5'>FPGA</b>高速圖像數據的<b class='flag-5'>存儲</b>及顯示設計

    使用單片機進行智能藥盒設計的程序和狀態表資料免費下載

    本文檔的主要內容詳細介紹的是使用單片機進行智能藥盒設計的程序和狀態表資料免費下載。
    發表于 12-11 16:05 ?14次下載
    使用單片機進行智能藥盒設計的程序和<b class='flag-5'>狀態表</b>資料免費下載

    基于有限狀態機的FPGA DSR路由表項設計和實現方法

    動態源路由協議(Dynamic Source Routing)[3]是一種按需路由協議,是十分適用于Ad Hoc網絡的路由協議。在DSR協議中,路由表的表項都是按需建立的。路由過期或鏈路斷開,表項就失去作用了。
    發表于 01-06 11:33 ?1475次閱讀
    基于有限<b class='flag-5'>狀態</b>機的<b class='flag-5'>FPGA</b> DSR路由<b class='flag-5'>表項</b>設計和實現方法

    FPGA狀態機簡述

    機是FPGA設計中一種非常重要、非常根基的設計思想,堪稱FPGA的靈魂,貫穿FPGA設計的始終。 02. 狀態機簡介 什么是狀態機:
    的頭像 發表于 11-05 17:58 ?7401次閱讀
    <b class='flag-5'>FPGA</b>:<b class='flag-5'>狀態</b>機簡述

    linux 中 ACPI 電源管理 G 狀態、S 狀態、D 狀態、C 狀態、P 狀態

    ACPI 高級電源管理ACPI 中定義了 G、D、S、C、P 這 5 個大的電力狀態。G 狀態 Global system stateG 狀態表示的是用戶看到的整個系統的電力
    發表于 01-05 14:12 ?4次下載
    linux 中 ACPI 電源<b class='flag-5'>管理</b> G <b class='flag-5'>狀態</b>、S <b class='flag-5'>狀態</b>、D <b class='flag-5'>狀態</b>、C <b class='flag-5'>狀態</b>、P <b class='flag-5'>狀態</b>

    初代版的NoahX狀態管理

    在框架中都會有個集中式狀態管理工具,它采用集中式存儲管理應用的所有組件的狀態,并以相應的規則保證狀態
    的頭像 發表于 09-13 10:53 ?729次閱讀

    hash算法在FPGA中的實現(3)

    在前面的文章中主要介紹了hash表及其鏈表的結構,同時說明了如何讀取表項。那表項是如何寫入的了?前期的文章中有少量的提及,這里單獨寫一篇,介紹兩種常見的方案。
    的頭像 發表于 09-07 17:02 ?779次閱讀
    hash算法在<b class='flag-5'>FPGA</b>中的實現(3)
    主站蜘蛛池模板: 久久亚洲成人| 最近最新中文字幕在线第一页| www.99在线| 天堂avwww| 久久久免费网站| 日日操夜夜骑| 日本在线视频一区| 欧美一级特黄乱妇高清视频| 午夜剧场毛片| 亚洲区免费| 欧美日韩国产网站| 天天干天天操天天拍| 日本一区二区三区不卡在线视频| 日本免费黄视频| 图片视频小说| 日本亚洲卡一卡2卡二卡三卡四卡| 日韩精品一区二区在线观看| 51影院在线观看成人免费| 好紧好爽太大了h视频| 四虎国产精品永久在线网址| 77成人| 免费观看视频| 日本国产在线观看| 色天天网| 亚洲欧美视频在线| 成人五级毛片免费播放| 国产操女| 欧美日本一区二区三区道| 日韩一级视频| 在线观看www妖精免费福利视频| 五月天婷婷在线视频| www.亚洲黄色| 亚洲成人www| 四虎最新入口| 午色影院| 永久免费品色堂| 痴女中文字幕在线视频| 中文字幕在线看视频一区二区三区| 日本成片免费高清| 久久国产影视| 色资源窝窝全色|