色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

如何處理cache miss問題以提高加速器效率呢?

FPGA之家 ? 來源:AI加速 ? 2023-11-16 16:36 ? 次閱讀

引言

帶寬是影響FPGA加速器的重要因素,因為大量的并行計算對數據量要求很大。如果加速器對數據的訪問是不規則的,那么cache miss就會大大影響加速器性能。這篇來自FPGA2019會議的報告,向我們展示了如何來更好的處理cache miss問題,提高對緩存的利用率以及提高加速器效率。

01

Cache miss的問題

假設DDR可以提供12.8GB/s的帶寬,FPGA上的并行加速器的數據輸入帶寬為0.8GB/s,可以并列16個這種加速器。這些加速器通過arbiter來直接訪問DDR。如果它們訪問的數據是連續規則的,那么DDR的帶寬可以被充分利用。但是這些加速器需要的數據在DDR中并不是規則排列的,如圖1.1。這樣就會造成頻繁的訪問DDR,這樣DDR的帶寬就不夠用,造成的結果就是加速器會受到延遲,效率無法得到提升。就如同圖1.1所示,實際上有效利用的DDR帶寬只有0.8GB/s。

90b92460-8458-11ee-939d-92fbcf53809c.jpg

圖1.1 不規則數據需要造成頻繁訪問DDR

一種解決問題的方法是使用blocking cache,將還沒有用到的數據緩存起來以便之后使用。然而這樣存在兩個問題:一個是如果緩存中沒有需要的數據,那么就需要從DDR中獲取數據,這就會有很大延遲,因為對DDR的數據進行隨機訪問是非常耗時的;另一個是緩存的使用效率很低,內部大部分數據都不能被及時消耗,以便等待被利用到。

90cfb086-8458-11ee-939d-92fbcf53809c.jpg

圖1.2 blocking cache的使用

另外一種解決的辦法是non-blocking cache,這正是本文提出的方法。這種方法的關鍵是加速器可以允許一定數量的cache miss。Cache miss不會阻塞對后面數據的獲取。這就要求前后的數據沒有依賴關系,而且允許的cache miss數量足夠多,能夠允許在這些時間可以從DDR中獲取miss的數據,否則一樣會造成加速器等待喂數。

90e2e890-8458-11ee-939d-92fbcf53809c.jpg

圖1.3 non-blocking cache

02

傳統的Non-blocking cache結構

圖2.1是一個基本的non-blocking cache結構,它主要由cache array以及MSHR組成。Cache array中含有tag和數據,tag用來表示加速器請求的數據的在外存中的地址。通過tag可以判定請求的數據在cache中是否存在。MSHR首先被Kroft使用,它含有數據未被命中需要去外存獲取的具體信息:包括外存地址,用于判定加速器是否會再次命中相同的數據。還有cache的地址,用于決定從外存獲取的數據存儲到cache的位置,給哪個加速器使用。還有輸入請求確認標志,表示這個缺失的數據是否從外存讀取到。

基本操作是:當加速器第一次從cache中獲取數據沒有命中,那么就在MSHR中記錄下相應的信息和狀態,當第二次相同數據miss發生,除了在MSHR中記錄信息外,則啟動從外部存儲器獲取數據,并更新到cache中。取回來的數據會根據MSHR中的信息將需要的數據發送給加速器。所以一個包含n個表項的MSHR有n個比較器用于比較數據地址,是否屬于同一個miss的數據等。使用non-blocking cache能夠提高運算效率,減少等待時間,提高帶寬利用率。但是這種傳統的MSHR消耗很多邏輯資源,不利于規模擴展。

90f5d09a-8458-11ee-939d-92fbcf53809c.jpg

圖2.1 non-blocking cache的基本結構和操作

90fe45fe-8458-11ee-939d-92fbcf53809c.jpg

圖2.2 更新cache

91156c52-8458-11ee-939d-92fbcf53809c.png

圖2.3 MSHR邏輯結構

03

對non-blocking cache的改進

為了能夠有效擴展MSHR,可以使用多個MSHR,每個MSHR有n個表項,這樣相比于使用一個MSHR能節省邏輯資源。但是這涉及到一個問題,如果一個配置MSHR的請求在多個MSHR表都有沖突,那么就造成配置MSHR表的等待。這樣就導致了加速器運算的等待,不能夠執行下一條指令。

912163ea-8458-11ee-939d-92fbcf53809c.png

圖3.1 兩個MSHR被請求表項都被占用

解決辦法就是Cuckoo hashing算法。假設有兩個MSHR表,T1和T2。每個r個表項。每個元素通過函數h1和h2來確定表項位置,即:T1[h1(x)],T2[h2(x)]。為了插入表項內容x,檢查T1對應位置是否空,如果空,就插入。如果非空就檢查T2,如果T2也非空,這就是沖突的情況,那么就插入到T2中,將原來的內容z替換。然后z再去查詢T1表,如此循環進行。這樣就不會造成阻塞。

9130364a-8458-11ee-939d-92fbcf53809c.png

9145f598-8458-11ee-939d-92fbcf53809c.png

9150e246-8458-11ee-939d-92fbcf53809c.png

圖3.2 Cuckoo hashing

還有一個問題是,MSHR中的表項subentries大小是固定的,如果要擴展表項的subentries,那么所有的內容都是同等擴展,這樣可能有一些內容并不需要那么大。所以為了能夠有效利用存儲資源,論文作者提出了動態可擴展subentries內容的方法。將tag和subentries分隔開分別存儲,這樣如果有更多加速器miss相同的數據,那么就可以在一個subentries表后再擴展需要的subentries。這樣就是在需要級聯的subentries中增加指針來級聯到下一個subentries表。

91643206-8458-11ee-939d-92fbcf53809c.png

圖3.3 可擴展subentries

916f1248-8458-11ee-939d-92fbcf53809c.png

圖3.4 表項擴展

917711be-8458-11ee-939d-92fbcf53809c.jpg

圖3.5 整體結構

結論

本文主要總結了non-blocking cache的設計框架,以及在FPGA上如何使用。介紹比較簡略,更詳細的資料還需要了解CPU體系中non-blocking cache的具體結構。






審核編輯:劉清

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

    關注

    38

    文章

    7493

    瀏覽量

    163868
  • 加速器
    +關注

    關注

    2

    文章

    799

    瀏覽量

    37885
  • 比較器
    +關注

    關注

    14

    文章

    1651

    瀏覽量

    107226
  • DDR
    DDR
    +關注

    關注

    11

    文章

    712

    瀏覽量

    65355
  • Cache
    +關注

    關注

    0

    文章

    129

    瀏覽量

    28347

原文標題:一文告訴你怎么解決cache miss的問題

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

收藏 人收藏

    評論

    相關推薦

    在FPGA上如何使用non-blocking cache設計框架

    們展示了如何來更好的處理cache miss問題,提高對緩存的利用率以及提高加速器
    的頭像 發表于 11-11 17:28 ?4733次閱讀
    在FPGA上如何使用non-blocking <b class='flag-5'>cache</b>設計框架

    #硬聲創作季 電子制作:磁性加速器

    加速器DIY
    Mr_haohao
    發布于 :2022年10月19日 00:19:38

    采用控制律加速器的Piccolo MCU

    日前,德州儀器 (TI) 宣布推出采用控制律加速器 (CLA) 的新型 TMS320F2803x Piccolo 微處理器 (MCU),可促進具有更高可靠性與效率的嵌入式控制應用的開發。CLA
    發表于 07-26 06:21

    基于Fast Model的加速器軟件開發

    非常驚艷的加速器,在實際使用中體驗卻不盡如人意的原因。人工智能加速器為例,其中基本的硬件加速單元就是乘加的組合,但如何讓這些乘加
    發表于 07-29 15:38

    在0.13.0這個sdk版本中,如何實現在啟動時將代碼從flash中加載到ILM提高cache miss時的程序運行速度?

    在0.13.0這個sdk版本中,flash_xip工程模板的ILM只用于存放中斷向量表,個人感覺這樣是比較浪費的,因此我希望啟動時將代碼從flash中加載到ILM提高cache miss
    發表于 05-26 08:05

    Intel媒體加速器參考軟件用戶指南

    英特爾媒體加速器參考軟件是用于數字標志、交互式白板(IWBs)和亭位使用模型的參考媒體播放應用軟件,它利用固定功能硬件加速提高媒體流速、改進工作量平衡和資源利用,以及定制的圖形
    發表于 08-04 07:07

    利用硬件加速器提高處理器的性能

    處理器內部集成的硬件加速器可以實現三種廣泛使用的信號處理操作:FIR(有限沖激響應)、IIR(無限沖激響應)和FFT(快速傅里葉變換)。硬件加速器減輕了核
    發表于 12-04 15:22 ?1322次閱讀

    使用協處理器加速器的方法介紹

    了解協處理的價值,Zynq-7000加速器一致性端口,使用協處理器加速器的方法以及協處理器設計實例的概述。
    的頭像 發表于 11-30 06:15 ?4266次閱讀

    基于RISC-V處理器和卷積加速器的SoC系統

    提高卷積神經網絡(CNN)的計算效率和能效,8bit定點數據作為輸入,設計一個支持激活、批標準化以及池化等CNN網絡中常見計算類型的卷積加速器,優化循環計算順序并將其與數據復用技術
    發表于 06-02 15:08 ?29次下載

    Linux 6.2將引入計算加速器子系統

    而在今年的 LPC 大會中,上游開發人員終于對如何處理加速器子系統達成了共識:鑒于各種人工智能加速器和 GPU 之間有很多共同點,這個新的 “accel” 內核計算加速器子系統將利用直
    的頭像 發表于 11-23 14:47 ?752次閱讀

    硬件加速器提升下一代SHARC處理器的性能

    SHARC ADSP-2146x處理器集成了硬件加速器,可實現三種廣泛使用的信號處理操作:FIR(有限脈沖響應)、IIR(無限脈沖響應)和FFT(快速傅里葉變換)。加速器卸載了核心
    的頭像 發表于 03-03 14:46 ?1301次閱讀
    硬件<b class='flag-5'>加速器</b>提升下一代SHARC<b class='flag-5'>處理器</b>的性能

    基于FPGA的深度學習CNN加速器設計方案

    因為CNN的特有計算模式,通用處理器對于CNN實現效率并不高,不能滿足性能要求。 因此,近來已經提出了基于FPGA,GPU甚至ASIC設計的各種加速器提高CNN設計的性能。
    發表于 06-14 16:03 ?2306次閱讀
    基于FPGA的深度學習CNN<b class='flag-5'>加速器</b>設計方案

    CTAccel圖像處理(CIP)加速器

    電子發燒友網站提供《CTAccel圖像處理(CIP)加速器.pdf》資料免費下載
    發表于 09-15 14:21 ?0次下載
    CTAccel圖像<b class='flag-5'>處理</b>(CIP)<b class='flag-5'>加速器</b>

    粒子加速器加速原理是啥

    粒子加速器加速原理是啥? 粒子加速器是一種重要的實驗設備,用于研究粒子物理學、核物理學等領域。其主要原理是通過電場和磁場的作用,對帶電粒子進行
    的頭像 發表于 12-18 13:52 ?2124次閱讀

    什么是神經網絡加速器?它有哪些特點?

    神經網絡加速器是一種專門設計用于提高神經網絡計算效率的硬件設備。隨著深度學習技術的快速發展和廣泛應用,神經網絡模型的復雜度和計算量急劇增加,對計算性能的要求也越來越高。傳統的通用處理器
    的頭像 發表于 07-11 10:40 ?494次閱讀
    主站蜘蛛池模板: 99久久久免费精品免费| 一个人免费观看在线视频播放 | chinese东北夫妻video| 国产在线播放KKK| 无码人妻精品国产婷婷| 第一次玩老妇真实经历| 欧美最猛黑人XXXXWWW| 99国产在线视频| 免费精品国产人妻国语| 一区二区三区高清视频| 国产人在线成免费视频| 学校捏奶揉下面污文h| 国产亚洲精品A久久777777| 性欧美金发洋妞xxxxbbbb| 国产精品野外AV久久久| 性白俄罗斯高清xxxxx| 国产在线观看免费观看不卡| 亚洲精品天堂无码中文字幕影院| 国产在线观看不卡| 一本色道久久综合亚洲AV蜜桃| 久久99热这里只频精品6| 野花社区视频WWW高清| 久久精选视频| 99久久婷婷国产综合精品青草| 秋霞电影伦网理最新在线看片 | 欧美日韩视频一区二区三区| 在线播放一区二区精品产| 久久免费国产| 99热.com| 日本午夜精品一区二区三区电影| 动漫美女被h动态图| 亚洲AV久久无码精品国产网站| 精品极品三大极久久久久| 最近中文字幕高清中文字幕MV| 亚洲AV久久久噜噜噜久久| 国语自产偷成人精品视频| 亚洲精品线在线观看| 久久偷拍人| 被肉日常np高h| 晓雪老师我要进你里面好爽| 久久免费精彩视频|