哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA中有狀態(tài)表項(xiàng)的存儲(chǔ)與管理

Spinal FPGA ? 來源: Spinal FPGA ? 2024-10-27 16:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

編 者 按

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

報(bào)文的依賴性

CPU中,存在一種“write-read miss”的場景,即新的數(shù)據(jù)還未寫回就要去讀存儲(chǔ)器,導(dǎo)致數(shù)據(jù)依賴。

在FPGA與ASIC中報(bào)文的流水線處理中,也存在報(bào)文的依賴性問題。在流水線結(jié)構(gòu)中,每個(gè)報(bào)文占據(jù)固定的時(shí)間周期數(shù),處理時(shí)牽涉到對(duì)表項(xiàng)的讀和寫。下圖為例:

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

理想情況下應(yīng)為左圖,packet1的寫操作從時(shí)鐘周期的角度來講發(fā)生在packet2的讀操作之前,如此兩個(gè)報(bào)文之間即使存在相互依賴性也沒有任何影響。

然而隨著操作變得復(fù)雜,可能導(dǎo)致到圖右的狀態(tài),即Packet2的讀請(qǐng)求發(fā)生在Packet1的寫請(qǐng)求之前,如果packet2和packet1之間存在依賴性,則此時(shí)將會(huì)發(fā)生功能型的錯(cuò)誤:

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

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

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

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

通過插入空拍來避免數(shù)據(jù)挨的太近,當(dāng)然壞處就是帶寬的浪費(fèi),自然下下之策。

第二種方法即碰撞補(bǔ)償。碰撞補(bǔ)償允許數(shù)據(jù)以背靠背的形式呈現(xiàn),當(dāng)數(shù)據(jù)沖突將要發(fā)生時(shí),相同數(shù)據(jù)流的信息將會(huì)被合并處理:

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

如上圖所示,假定包處理的跨度為三個(gè)報(bào)文,當(dāng)一個(gè)數(shù)據(jù)包n到達(dá)時(shí),其會(huì)與n+1、n+2進(jìn)行比較,如果n依賴于n+1或者n+2,則其信息將會(huì)合并到n+1或者n+2中進(jìn)行處理,n將會(huì)被禁用。這種方式對(duì)于所有的信息都由數(shù)據(jù)包本身攜帶是沒有問題的,但如果有些信息是由流當(dāng)前狀態(tài)、數(shù)據(jù)包信息、中間結(jié)果一些列所決定的那么久不太適用??紤]下面的例子:

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

正常情況下會(huì)進(jìn)入Flow StateC、在進(jìn)行合并后將無法進(jìn)入到StateC。

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

CFC

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

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

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

這里有一點(diǎn)需要注意的是對(duì)于任何一個(gè)報(bào)文而言,其從數(shù)據(jù)Cache讀出到數(shù)據(jù)寫回的時(shí)鐘數(shù)不應(yīng)超過報(bào)文在流水線中占據(jù)的時(shí)鐘周期數(shù)T(如果超過了則意味著一個(gè)報(bào)文無法在時(shí)鐘周期T內(nèi)完成數(shù)據(jù)的處理)。

這里的Cache可以認(rèn)為是一個(gè)深度為1的全關(guān)聯(lián)Cache。對(duì)于Cache的容量的考慮可以參考下圖:

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

指定一個(gè)窗口,其跨度為一個(gè)數(shù)據(jù)包從進(jìn)入處理到寫回的周期,窗口隨著數(shù)據(jù)包滑動(dòng)。上圖中窗口的寬度為N+1個(gè)數(shù)據(jù)包(數(shù)據(jù)包1的狀態(tài)寫回發(fā)生在數(shù)據(jù)包N+1處),則上圖中需要的緩存數(shù)即為N。

每個(gè)緩存的組織形式如下所示:

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

Content為Cache的主要內(nèi)容,用于存儲(chǔ)流的相關(guān)信息。Tag和Validity為輔助信息。Tag可以為流的hash值。通過hash比較判斷是否存在匹配。Validity則用于標(biāo)識(shí)該條流是否有效。

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1663

    文章

    22487

    瀏覽量

    638686
  • asic
    +關(guān)注

    關(guān)注

    34

    文章

    1277

    瀏覽量

    124913
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    39

    文章

    7752

    瀏覽量

    172129
  • 流水線
    +關(guān)注

    關(guān)注

    0

    文章

    127

    瀏覽量

    27262

原文標(biāo)題:論文學(xué)習(xí)——CFC:Cache For Flow Content

文章出處:【微信號(hào):Spinal FPGA,微信公眾號(hào):Spinal FPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    狀態(tài)機(jī)編程實(shí)例-狀態(tài)表

    上篇文章,使用嵌套switch-case法的狀態(tài)機(jī)編程,實(shí)現(xiàn)了一個(gè)炸彈拆除小游戲。本篇,繼續(xù)介紹狀態(tài)機(jī)編程的第二種方法:狀態(tài)表法,來實(shí)現(xiàn)炸彈拆除小游戲的狀態(tài)機(jī)編程。
    的頭像 發(fā)表于 06-20 09:05 ?3978次閱讀
    <b class='flag-5'>狀態(tài)</b>機(jī)編程實(shí)例-<b class='flag-5'>狀態(tài)表</b>法

    基于有限狀態(tài)機(jī)[8]的DSR路由表項(xiàng)設(shè)計(jì)實(shí)現(xiàn)方法

    本文為在FPGA中支持DSR協(xié)議的路由表項(xiàng)管理功能,設(shè)計(jì)一種基于有限狀態(tài)機(jī)[8]的實(shí)現(xiàn)方法。
    的頭像 發(fā)表于 12-22 16:27 ?3080次閱讀
    基于有限<b class='flag-5'>狀態(tài)</b>機(jī)[8]的DSR路由<b class='flag-5'>表項(xiàng)</b>設(shè)計(jì)實(shí)現(xiàn)方法

    基于FPGA的視頻圖形顯示系統(tǒng)的DDR3多端口存儲(chǔ)管理設(shè)計(jì)

    吞吐量大、功耗低的需求,因此選擇DDR3 SDRAM作為機(jī)載視頻圖形顯示系統(tǒng)的外部存儲(chǔ)器。本文以Kintex-7系列XC7K410T FPGA芯片和兩片MT41J128M16 DDR3 SDRAM芯片為硬件平臺(tái),設(shè)計(jì)并實(shí)現(xiàn)了基于FPGA
    發(fā)表于 06-24 06:07

    ACPI高級(jí)電源管理的電力狀態(tài)

    ACPI 高級(jí)電源管理ACPI 中定義了 G、D、S、C、P 這 5 個(gè)大的電力狀態(tài)。G 狀態(tài) Global system stateG 狀態(tài)表示的是用戶看到的整個(gè)系統(tǒng)的電力
    發(fā)表于 12-27 07:42

    MCU低功耗狀態(tài)表模式介紹

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

    求助,同步二進(jìn)制減法計(jì)數(shù)器的狀態(tài)表該怎么畫?

    請(qǐng)問各位,同步二進(jìn)制減法計(jì)數(shù)器的狀態(tài)表該怎么畫?之前只做過同步加法和異步減法,現(xiàn)在混淆了,同步減法的次態(tài)是代入特性方程算出來之后再作為下一個(gè)初態(tài),還是直接遞減不用算?
    發(fā)表于 11-23 20:44

    TCAM表項(xiàng)管理算法研究

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

    TCAM路由表項(xiàng)管理算法優(yōu)化研究

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

    高速數(shù)據(jù)存儲(chǔ)管理設(shè)計(jì)和基于FPGA高速圖像數(shù)據(jù)的存儲(chǔ)及顯示設(shè)計(jì)

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

    使用單片機(jī)進(jìn)行智能藥盒設(shè)計(jì)的程序和狀態(tài)表資料免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用單片機(jī)進(jìn)行智能藥盒設(shè)計(jì)的程序和狀態(tài)表資料免費(fèi)下載。
    發(fā)表于 12-11 16:05 ?15次下載
    使用單片機(jī)進(jìn)行智能藥盒設(shè)計(jì)的程序和<b class='flag-5'>狀態(tài)表</b>資料免費(fèi)下載

    基于有限狀態(tài)機(jī)的FPGA DSR路由表項(xiàng)設(shè)計(jì)和實(shí)現(xiàn)方法

    動(dòng)態(tài)源路由協(xié)議(Dynamic Source Routing)[3]是一種按需路由協(xié)議,是十分適用于Ad Hoc網(wǎng)絡(luò)的路由協(xié)議。在DSR協(xié)議中,路由表的表項(xiàng)都是按需建立的。路由過期或鏈路斷開,表項(xiàng)就失去作用了。
    發(fā)表于 01-06 11:33 ?2023次閱讀
    基于有限<b class='flag-5'>狀態(tài)</b>機(jī)的<b class='flag-5'>FPGA</b> DSR路由<b class='flag-5'>表項(xiàng)</b>設(shè)計(jì)和實(shí)現(xiàn)方法

    FPGA狀態(tài)機(jī)簡述

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

    linux 中 ACPI 電源管理 G 狀態(tài)、S 狀態(tài)、D 狀態(tài)、C 狀態(tài)、P 狀態(tài)

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

    初代版的NoahX狀態(tài)管理

    在框架中都會(huì)有個(gè)集中式狀態(tài)管理工具,它采用集中式存儲(chǔ)管理應(yīng)用的所有組件的狀態(tài),并以相應(yīng)的規(guī)則保證狀態(tài)
    的頭像 發(fā)表于 09-13 10:53 ?1278次閱讀

    hash算法在FPGA中的實(shí)現(xiàn)(3)

    在前面的文章中主要介紹了hash表及其鏈表的結(jié)構(gòu),同時(shí)說明了如何讀取表項(xiàng)。那表項(xiàng)是如何寫入的了?前期的文章中有少量的提及,這里單獨(dú)寫一篇,介紹兩種常見的方案。
    的頭像 發(fā)表于 09-07 17:02 ?1728次閱讀
    hash算法在<b class='flag-5'>FPGA</b>中的實(shí)現(xiàn)(3)
    尉犁县| 凌云县| 胶南市| 襄城县| 青冈县| 合水县| 大悟县| 右玉县| 渝北区| 启东市| 剑河县| 鄂伦春自治旗| 彰武县| 永胜县| 本溪市| 綦江县| 左云县| 中牟县| 类乌齐县| 遂平县| 敦煌市| 靖宇县| 资阳市| 板桥市| 鄂托克前旗| 米易县| 余庆县| 麟游县| 司法| 盐城市| 莱西市| 江油市| 天柱县| 禄丰县| 夏河县| 道真| 互助| 句容市| 明光市| 常德市| 汶上县|