精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

FPGA和CPU如何搭配?

SSDFans ? 來源:未知 ? 作者:李倩 ? 2018-06-20 15:17 ? 次閱讀

一個故事理解流水線、并行、緩存、內存、存儲

蛋蛋花了一天給小蛋蛋做了一個玩具汽車,沒想到做的太好了,同學們都來買。蛋蛋一個人忙不過來,就一家人合作生產。蛋蛋負責把原料分類擺放在桌上,小蛋蛋擰螺絲組裝,蛋媽把玩具放到包裝盒里。三個人采用流水線的方式,每個人都沒閑著,生產效率大為提高,一天能造50個玩具。

隔壁老王看到蛋蛋做玩具賺錢了,也一家三口加入造玩具大軍,慢慢整個小區家家冒煙,戶戶生產。五十家人采用并行工作的方式,一天能造2500個玩具。

本來,蛋蛋家里的工作臺旁邊有個箱子,叫做緩存。把玩具生產的原料和生產好的玩具放在自己家里,離得又近又速度快。

小區里家家冒煙后,原料供應和玩具運輸需求量大增。居民們在小區中央建了一個倉庫,叫做內存,里面放了很多原料和玩具,看門大爺每天推著手推車到每家每戶去送原料,收玩具,人們給他起了個外號——總線。

鎮長看到蛋蛋家園小區交的玩具稅日漸增長,為了增加收入,決定建設玩具小鎮,于是鎮上每個小區都開始生產玩具,玩具生產規模日漸擴大。鎮中心建了一個大倉庫,集中存放原料和玩具,倉庫太大了,如果一個個領取太不方便,所以每次提貨或者送貨必須以500個為單位批量領取,這個大倉庫叫做硬盤。

在我們的計算機中,CPU采用流水線的方式工作,把一個任務分成十幾個步驟,用十幾級流水線計算,速度增長了十幾倍。多核CPU就是并行工作,又能把計算速度提升幾倍。計算速度快了之后,對數據的讀寫速度要求變高,所以,現代CPU設計了先進的緩存系統,可以說,對現代通用CPU來說,緩存才是核心。

可是對某些應用來說,CPU有點走歪了,它擅長的是用高頻率把順序執行的任務分解成很多級流水線高速執行,但是對于深度學習等計算,需要的是大量的并行計算,這時候,CPU的核心數成了限制。

FPGA的并行性

蛋蛋設計了一個復雜的機器叫CPU,它能一條條讀取并執行蛋蛋寫好的指令,把任務分解成很多級流水線,生產出各種各樣復雜的玩具。

玩具市場總是有新的流行風尚,最近突然樂高玩具開始大火,每一個積木都長得差不多,但是很多的積木就可以搭出復雜的形狀。現在的家長都希望寓教于玩,讓孩子玩游戲也能動腦筋,蛋蛋看到了這個趨勢,也想生產樂高積木。可是他發現復雜的機器CPU的生產效率太低了,他需要的是同時大批量幾百上千個機器并行生產,而CPU最多只能同時生產十幾個。所以,蛋蛋又鉆研了一段時間,研制出新的機器——FPGA。這臺機器里面有幾千個小引擎,按照蛋蛋設定好的任務,大家熱火朝天地生產自己的小積木。

我們上大學學習的C語言是給CPU編程的語言,它的特點就是寫一個main函數,里面有很多內容,程序啟動后,從頭按順序執行到結尾。這是因為只有一個CPU在運行,程序會轉化為指令讓CPU一條條執行。

FPGA是并行計算機,它的基礎編程語言叫做Verilog,在這種語言中,每一段程序,都會轉化為FPGA芯片里面的一個小計算引擎,大家并行執行,熱火朝天的干自己的活。

FPGA和CPU如何搭配

FPGA作為可重構計算引擎,一般要和CPU搭配使用。如下圖,可重構計算引擎要么直接和CPU緊密相連,要么和緩存相連,前者叫緊耦合,后者叫松耦合。還有一種情況下,FPGA是作為協處理器coprocessor連到內存總線上,和CPU共享內存。

如下圖,FPGA作為協處理器,CPU把指令寫入內存,FPGA從內存讀取指令執行,并把計算結果寫入內存。這種模式的優點是簡單易行,協處理器和CPU分離。瓶頸在于共享內存,限制了性能,同時由于通過內存交互,CPU和FPGA之間通信延遲變長了。所以適合于FPGA能獨立執行的加速任務,比如視頻編解碼、數據加解密等。

下圖是一個松耦合的例子。CPU(ARC)和可重構計算邏輯放在一顆芯片里面,CPU可以直接訪問可重構計算引擎,而且共享內存,可重構計算引擎可以通過DMA方式直接讀寫內存。同時,我們看到可重構計算引擎有自己的數據讀寫接口,所以可以脫離CPU獨立工作,打工創業兩不誤。

再來看一個緊耦合的例子。如下圖,CPU FU是一般CPU的基本計算單元,例如ALU、乘法器、浮點處理器等,RFU跟這些基本單元一樣,放在芯片里面,而且可以直接被CPU的寄存器控制,還能訪問緩存中的數據。

總結一下,協處理器相當于外地當官的,只能接受皇帝的命令工作。松耦合就是京城里的官員,可以定期去皇宮跟皇帝嘮嘮嗑。緊耦合已經到了外戚和太監的地步,能在皇宮里經常值班。

松耦合和緊耦合都要在芯片里面放可重構計算引擎,成本比較高,但是效率也很高。相當于CPU里面有個FPGA,隨時可以編程讓它做不同的計算。處理視頻時,配置成視頻編解碼邏輯,做AI計算時配置成深度學習計算器,一個芯片既有CPU,又有可以配置的硬件計算引擎。

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

    關注

    1626

    文章

    21665

    瀏覽量

    601809
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10824

    瀏覽量

    211140
  • 深度學習
    +關注

    關注

    73

    文章

    5492

    瀏覽量

    120975

原文標題:阿呆讀可重構計算2:FPGA如何克服CPU的缺陷?

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

收藏 人收藏

    評論

    相關推薦

    FPGACPU和GPU快的原理是什么

    本文首先闡述了FPGA的原理了,其次分析了FPGACPU和GPU快的原理,最后闡述了CPU與GPU的區別。
    的頭像 發表于 05-31 09:00 ?1.7w次閱讀
    <b class='flag-5'>FPGA</b>比<b class='flag-5'>CPU</b>和GPU快的原理是什么

    FPGA真的能取代CPU和GPU嗎?

    最近我們看到一篇文章,說FPGA可能會取代CPU和GPU成為將來機器人研發領域的主要芯片。文章列舉了很多表格和實驗數據,證明了在很多領域FPGA的性能會極大優于CPU。并且預言
    發表于 05-16 10:39 ?1.7w次閱讀

    混合CPU_FPGA系統的調試方法

    混合CPU_FPGA系統的調試方法:
    發表于 07-23 10:44 ?7次下載
    混合<b class='flag-5'>CPU_FPGA</b>系統的調試方法

    一種利用FPGACPU設計

    基于現場可編程(FPGA)技術和硬件描述語言VHDL的設計和綜合,通過自頂向下的設計方法和模塊化設計思想,在Quartus II環境下能定制、仿真、下載驗證和實現CPU功能。通過VHDL語言定制了運算器ALU模塊和調用宏模塊定制了RAM模塊,介紹了基于
    發表于 03-15 17:39 ?178次下載

    基于FPGA的嵌入式CPU的VHDL建模和設計

    目前,基于FPGA 的嵌入式CPU核的設計已成為SOC設計的重要部分.提出一種嵌入式CPU核的VHDI 行為建模方法,與傳統的基于電路結構建模的CPU核的設計方法不同,新的VHDI 建
    發表于 06-27 16:00 ?75次下載
    基于<b class='flag-5'>FPGA</b>的嵌入式<b class='flag-5'>CPU</b>的VHDL建模和設計

    FPGACPU、DSP的競爭與融合

    FPGA技術來說,早期研發在5年前就已開始嘗試采用多核和硬件協處理加速技術朝系統并行化方向發展。在實際設計中,FPGA已經成為CPU的硬件協加速器,很多芯片廠商采用了硬核或軟核CPU+FPG
    發表于 09-23 15:30 ?839次閱讀

    三步教你如何DIY電腦主板和CPU搭配

    本文來自ZOL很多DIY玩家在剛接觸硬件的時候,經常被主板和CPU的型號搞得暈頭轉向,不知道如何進行搭配,畢
    的頭像 發表于 11-27 06:42 ?1.5w次閱讀

    FPGACPU有什么關系_FPGACPU的聯系

    CPU+FPGA的并行處理是目前的發展趨勢這種處理方式將大行其道。
    發表于 01-02 15:54 ?1.7w次閱讀

    簡單了解CPU和內存搭配規律

    CPU和內存都具有相應的速率和帶寬。在配置電腦過程中,根據CPU的速率和帶寬,來搭配相應速率和帶寬的內存,會直接影響整機的性能。如果搭配不當往往會浪費
    發表于 07-09 10:33 ?3.3w次閱讀

    FPGA為什么比CPU和GPU快

    FPGA仿真篇-使用腳本命令來加速仿真二 基于FPGA的HDMI高清顯示借口驅動 基于FPGA灰度圖像高斯濾波算法的實現 FPGA為什么比CPU
    發表于 02-20 20:49 ?1657次閱讀

    如何才能合理的搭配CPU和主板

    裝機的時候該怎么選擇主板?對于大俠級人物這是一個簡單的問題,但對于電腦小白卻是一個頭痛的問題。其實,CPU和主板如何搭配是有一定的方法,按照下面的方法來,相信你也會選出自己所用的主板。
    的頭像 發表于 10-26 12:19 ?6413次閱讀

    使用FPGA實現CPU設計的畢業論文總結

    CPU的總體結構到局部功能的實現采用了自頂向下的設計方法和模塊化的設計思想,利用Xilinx 公司的Spartan II 系列FPGA,設計實現了八位CPU軟核。在FPGA內部不僅實
    發表于 08-03 17:58 ?13次下載
    使用<b class='flag-5'>FPGA</b>實現<b class='flag-5'>CPU</b>設計的畢業論文總結

    如何使用CPU配置FPGA的詳細資料說明

    FPGA 設計,代價不小。為了進一步降低產品的成本和升級成本, 可以考慮利用板上現有CPU 子系統中空閑的ROM 空間存放FPGA 的配置數據, 并由CPU模擬專用EPROM 對
    發表于 08-13 17:43 ?2次下載
    如何使用<b class='flag-5'>CPU</b>配置<b class='flag-5'>FPGA</b>的詳細資料說明

    如何使用FPGA實現八位RISC CPU的設計

    CPU的總體結構到局部功能的實現采用了自頂向下的設計方法和模塊化的設計思想, 利用Xilinx 公司的Spartan II 系列FPGA, 設計實現了八位CPU軟核。在FPGA 內部
    發表于 08-19 17:43 ?7次下載
    如何使用<b class='flag-5'>FPGA</b>實現八位RISC <b class='flag-5'>CPU</b>的設計

    為什么FPGA主頻比CPU慢,但卻可以用來幫CPU做加速

    我們知道,FPGA的頻率一般只有幾百MHz,而CPU的頻率卻高達數GHz。那么,有不少網友心中就有一個疑問:為什么FPGA主頻比CPU慢,但卻可以用來幫
    的頭像 發表于 11-20 09:56 ?3896次閱讀