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

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

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

3天內不再提示

DSP篇:專用處理器比較分析(2022)

智能計算芯世界 ? 來源:專用處理器比較分析 ? 2023-05-22 09:48 ? 次閱讀

專用處理器 (或專用加速器), 顧名思義, 就是用于處理 “特定應用” 的處理器, 相對于通用處理器而言, 這類處理器性能更高、功耗更低、通常價格也更便宜, 但是使用范圍也相對有限。 計算芯片產業在過去 50 年的發展歷程中, 比較成功的專用處理器門類只有數字信號處理器 (DSP)、圖形處理器(GPU) 和網絡處理器 (NPU), 這是 20 世紀 90 年代就已經基本定型的格局。

AI芯片專利技術研發態勢

在過去 5 年中, 用于處理深度學習神經網絡處理器 (AI 芯片) 也開始快速發展, 比較成功的案例包括 Google 公司的張量處理器 TPU、寒武紀公司的 DianNao 系列深度學習處理器 [5] 等。 專用處理器的最終目標不是替代通用 CPU, 而是與現有的通用 CPU 技術協作, 即將部分 CPU 運行效率低下的應用卸載 (offloading) 到用加速器上運行, 通過構建異構計算平臺來高效地處理計算任務。 從產業生態的視角來看, 相比于通用處理器的硬件與軟件分離的 “水平” 模式, 專用加速器更注重軟硬協同的 “垂直” 發展模式。

c372916c-f82f-11ed-90ce-dac502259ad0.png

從芯片的效能和適應性兩個維度來刻畫芯片的特征。 這里效能指的是單位功耗下提供的計算能力, 適應性就是通常意義下的通用性。 業界通常將數據處理芯片大體分為三大類: 處理器芯片、ASIC(application specifific integrated circuit) 芯片和 FPGA (fifield programmable gate array) 芯片。

處理器芯片包括 CPU, GPU, DSP 等, 是用戶可編程的芯片; ASIC 是面向特定應用 (application-specifific) 的專用集成電路 [8], 通常也稱之為全定制芯片, 不可編程; FPGA 器件屬于專用集成電路中的一種半定制電路, 是可 “編程” 的邏輯列陣, 利用查找表來實現組合邏輯, 但 FPGA 的 “編程” 與處理器芯片的軟件編程不同, 主要是配置邏輯, 可以理解為硬件編程。

從相對性能來看, ASIC 芯片最好, 處理器芯片最差, FPGA 介于二者之間; 但是從應用的適應性來看, 處理器芯片最好, FPGA 次之, ASIC 芯片最差。

值得注意的是這種分類標準并不是按照電路制造工藝, 例如處理器芯片和 ASIC 芯片本質上都是全定制的集成電路, 處理器芯片本質也是一種 ASIC, 但與通常意義上 ASIC 的最大差別還在于是否具有指令集, 有指令集的就更類似傳統的處理器, 反之就歸類為 ASIC. 此外, 處理器芯片由于其使用廣泛、出貨量大, 與軟件生態聯系尤其緊密, 所以將其獨立為一個大的類別。

無論是 DSP、GPU、AI 芯片、NPU, 還是現在更新的各種 “XPU”, 都是處理數據的芯片, 最終都需要執行二進制代碼的程序來完成計算。 因此專用處理器設計也大都需要涉及如下 6 方面內容:

(1) 約定二進制代碼的格式, 即指令;

(2) 需要將指令變換為機器碼, 即匯編;

(3) 為了提高編程方便程度, 需要將高層程序語言轉換為匯編語言, 即編譯;

(4) 為了提高編程的效率, 提供了各種編程環境, 即集成開發環境 (integrated development environment, IDE);

(5) 充分復用高度優化的代碼, 即應用程序庫;

(6) 為了方便程序調試, 還需要提供各種仿真工具, 即仿真器 (emulator)。

c3a3270a-f82f-11ed-90ce-dac502259ad0.png

所以, 從系統抽象層次來看, 與通用處理器幾乎沒有區別。 但是不同的 DSIC 側重點不同, 有些 DSIC 只提供 API (application programming interface) 方式的調用, 例如早期的 GPU, 將編譯、匯編等過程全都凝結在運行時庫中,從用戶角度看, 調用過程與使用 OpenCL [9] 中的 “內建核函數 (built-in kernels)” 類似,與調用普通的庫函數過程相同; 雖弱化的可編程性, 但是強化了用戶使用的便利性。 但也有些 DSIC, 如 DSP, 使用了大量底層編程, 雖編程難度高, 但方便精確地性能調優。

DSP: 靈活的數據格式

DSP 也許是最早出現的專用集成電路。 DSP 的使用范圍非常廣, 從簡單的 MP3 播放器到最新一代的 5G 通信都有使用場景。 常見的 DSP 大多帶有豐富的外設接口, 例如 PCIe、以太網UARTI2C等, 尤其在很多嵌入式設備中, 豐富的外設接口對于提高系統的集成度、降低成本和功耗都有很大幫助, 所以很多 DSP 產品也演變成帶有豐富外設接口的 SoC (system on chip) 芯片, 如圖 2(a) 所示。

但是 DSP 最大的特點還是進行數字信號處理的核。 大多數 DSP 由于使用場景多為移動設備, 或者只是作為 CPU 系統的數據輸入前端, 在系統中的地位并不高, 通常在功耗、散熱等方面都不可能給予太高容限, 所以功耗敏感、計算位寬對 DSP 很重要, 定點、浮點, 半精度、單精度、雙精度, 16 位、24 位、32 位、40 位等各種數據格式規范 “五花八門”。 在尋址上, DSP 對于數據對齊方式也最靈活, 設置了大量專門的指令對數據進行對齊操作。

TI 公司是 DSP 芯片的龍頭, 被媒體評為是半導體行業利潤率最高的公司。 2019 財年營業總收入144 億美金, 稅后凈利潤高達 50 億美金, 利潤率高達 35%. 作為比較, 同期 Intel 收入 720 億美金, 利潤率 29%; 英偉達總營收 110 億美金, 利潤率 25%. TI 公司的 DSP 主要分為 3 大系列: C2000 系列,集成了 AD 轉換、Flash 存儲等, 主要用于控制馬達、變頻器等工控產品; C5000 系列, 16 位定點, 主要用于便攜聲音、視頻、機頂盒等設備; C6000 系列, 采用了 VLIW (very long instruction word) 架構, 每秒執行指令峰值可達百億條, 主要用于數字通信、圖像增強、傳輸、加密解密等對性能要求更高的場景。 下面就以比較復雜的 C6678 為例做簡要介紹, 其頂層架構如圖 2 所示。

1、通過 VLIW 架構提高性能

在 C6000 系列的 DSP 中, 采用了超長指令字 (VLIW) 技術, 性能的提升主要是通過引入 SIMD(single instruction multiple data) 來實現。 從 2 路 16 位、4 路 8 位 SIMD 操作, 到 8 路 16 位、4 路 32 位向量操作。 為了支持較寬的向量化操作, C66x 系列 DSP 設置了 8 個功能單元、兩組寄存器堆文件、兩條獨立數據通路; 每組寄存器文件包含 32 個 32 位通用寄存器, 而且可以支持 8, 16, 32, 40, 64 位等非常靈活的數據位寬打包存儲。 例如一個完整 32 位寄存器連同相鄰寄存器的低 8 位存儲一個 40 位的浮點數, 同時相鄰寄存器的高 24 位還可以用于存其他的數。 乘法器支持 128, 40, 64 位數據。 顯然支持那么多 “非標” 的定點和浮點數, 如何來安排寄存器的分配成為一個很有挑戰的問題。

2、指令緩存和程序緩存分離

將指令與數據分離也就是著名的 “哈佛結構”, 一級程序緩存 (L1P) 采用直接映射, 一級數據緩存(L1D) 采用多路組相連。 這樣導致了緩存替換策略的不同, L1P 采用新緩存行替換同一位置的舊緩存行, 采用讀 – 分配 (read-allocate) 策略。 相較而言, L1D 復雜的多, 采用了最近最少使用 (least recently used, LRU) 替換策略和回寫 (writeback) 機制: 當數據被更新時, 并不立即更新相應的緩存位置和存儲器地址, 而只做 “dirty” 標記, 只有數據被替換出緩存, 或者手動啟動一致性操作指令, 或出現長距離訪問 (此時所有高速緩存的局部性都極有可能被破壞), 才會寫回到存儲器。 這也說明指令的局部性是比數據的局部性顯著得多, 而且對于核而言, 指令緩存是只讀的, 而數據緩存可讀可寫, 從這個意義上看, 將二者分開也是有好處的。 此外, DSP 的緩存還支持很多先進的管理功能, 例如強制凍結模式(freeze mode), 可以防止中斷程序破壞已經建立在緩存中的數據局部性, 降低中斷恢復后 “冷啟動” 性能開銷。 這些操作也全都由程序員來完成。

3、硬件指令支持一致性管理

多核并不是 CPU 的 “專利”, C6000 系列也提供多核的 DSP, 由于多核引入會導致數據一致性的問題, C66x 系列 DSP 也提供了柵欄指令 (MFENCE) 來處理緩存回寫, 強制或阻止一致性操作的執行等, 方便程序員管理數據一致性。

4、硬件化的帶寬管理防止運行阻塞

DSP 核中還設置了硬件化帶寬管理, 負責管理一級數據緩存 (L1D)、一級程序緩存 (L1P)、二級緩存 (L2)、寄存器配置總線等 4 類資源的訪問優先級。 訪問發起方包括 DSP、外部 DMA (enhanced direct memory access, EDMA)、內部 DMA (internal direct memory access, IDMA)、數據一致性操作。

管理按照每次訪問授予優先級, 而不是按照訪問類型固定優先級, 通過設置競爭強度計數器來反映對資源的 “饑渴” 程度, 即便是最低優先級的訪問, 隨著等待時間增加, 優先級就會逐漸升高, 當達到最長等待周期數, 就會強制授予一次訪問。 而這些都是硬件管理的, 程序員只能設置最長等待時間, 不能設置競爭計數器。 這樣的硬件化維護資源公平性的設置在 CPU 中并不常見。

由以上分析可以看出, DSP 作為一類典型的專用處理器, 其結構與數字信號處理需要豐富的 IO接口便于集成, 強大的浮點處理能力支持高帶寬的信號處理, 還提供了豐富的底層數據通路的控制手段方便專業用戶的性能調優。

審核編輯 :李倩

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

    關注

    68

    文章

    19178

    瀏覽量

    229200
  • asic
    +關注

    關注

    34

    文章

    1195

    瀏覽量

    120347
  • 神經網絡
    +關注

    關注

    42

    文章

    4765

    瀏覽量

    100565
  • 數據處理
    +關注

    關注

    0

    文章

    583

    瀏覽量

    28531
收藏 人收藏

    評論

    相關推薦

    RK3566高性能低功耗四核應用處理器數據手冊

    電子發燒友網站提供《RK3566高性能低功耗四核應用處理器數據手冊.pdf》資料免費下載
    發表于 10-24 16:53 ?0次下載

    0.5mm層疊封裝應用處理器的PCB組裝指南,第II部分

    電子發燒友網站提供《0.5mm層疊封裝應用處理器的PCB組裝指南,第II部分.pdf》資料免費下載
    發表于 10-14 11:09 ?0次下載
    0.5mm層疊封裝應<b class='flag-5'>用處理器</b>的PCB組裝指南,第II部分

    DRA71x信息娛樂應用處理器數據表

    電子發燒友網站提供《DRA71x信息娛樂應用處理器數據表.pdf》資料免費下載
    發表于 08-09 11:24 ?0次下載
    DRA71x信息娛樂應<b class='flag-5'>用處理器</b>數據表

    DRA78x信息娛樂應用處理器數據表

    電子發燒友網站提供《DRA78x信息娛樂應用處理器數據表.pdf》資料免費下載
    發表于 08-07 11:31 ?0次下載
    DRA78x信息娛樂應<b class='flag-5'>用處理器</b>數據表

    OMAP5912應用處理器數據表

    電子發燒友網站提供《OMAP5912應用處理器數據表.pdf》資料免費下載
    發表于 08-07 09:16 ?0次下載
    OMAP5912應<b class='flag-5'>用處理器</b>數據表

    OMAP3515和OMAP3503應用處理器數據表

    電子發燒友網站提供《OMAP3515和OMAP3503應用處理器數據表.pdf》資料免費下載
    發表于 08-05 10:32 ?0次下載
    OMAP3515和OMAP3503應<b class='flag-5'>用處理器</b>數據表

    dsp和嵌入式微處理器的區別和聯系 嵌入式微處理器應用領域分析

    嵌入式微處理器(Embedded Microprocessor)和數字信號處理器(Digital Signal Processor,簡稱DSP)是兩種常見的微處理器架構。它們在應用領域
    的頭像 發表于 04-21 09:50 ?1513次閱讀

    dsp與單片機,嵌入式微處理器的區別

    處理器DSP)是一種專門用于處理數字信號的處理器。它具有高效處理數字信號的能力,適用于音頻、視頻、通信和其他信號
    的頭像 發表于 04-21 09:48 ?1387次閱讀

    dsp和嵌入式微處理器的區別和聯系

    是一種專門用于數字信號處理(Digital Signal Processing)的處理器。數字信號處理是一種通過對數字信號進行算法運算來處理分析
    的頭像 發表于 04-21 09:35 ?922次閱讀

    dsp和嵌入式微處理器的區別是什么

    DSP(數字信號處理器)和嵌入式微處理器是兩種針對不同應用優化的處理器類型。本文將深入探討它們之間的技術差異、應用場景以及它們各自的優勢和局限。
    的頭像 發表于 04-07 15:11 ?1326次閱讀

    用于高級應用處理器的電源管理單元LP3971數據表

    電子發燒友網站提供《用于高級應用處理器的電源管理單元LP3971數據表.pdf》資料免費下載
    發表于 04-02 15:23 ?0次下載
    用于高級應<b class='flag-5'>用處理器</b>的電源管理單元LP3971數據表

    用于高級應用處理器的電源管理單元LP3972數據表

    電子發燒友網站提供《用于高級應用處理器的電源管理單元LP3972數據表.pdf》資料免費下載
    發表于 04-02 15:21 ?0次下載
    用于高級應<b class='flag-5'>用處理器</b>的電源管理單元LP3972數據表

    基于嵌入式RISC-V處理器核輕松實現DSP擴展設計

    基于已開發的嵌入式或應用處理器核 (如L31等)
    的頭像 發表于 02-28 13:35 ?944次閱讀
    基于嵌入式RISC-V<b class='flag-5'>處理器</b>核輕松實現<b class='flag-5'>DSP</b>擴展設計

    芯來科技正式發布首款專用處理器產品線Nuclei Intelligence系列

    本土RISC-V CPU IP領軍企業——芯來科技正式發布首款針對人工智能應用的專用處理器產品線Nuclei Intelligence(NI)系列,以及NI系列的第一款AI專用RISC-V處理器CPU IP——NI900系列內核
    的頭像 發表于 02-26 10:15 ?1188次閱讀
    芯來科技正式發布首款<b class='flag-5'>專用處理器</b>產品線Nuclei Intelligence系列

    簡單認識數字信號處理器

    數字信號處理器 (Digital Signal Processor, DSP)是一種專用處理器,它在架構上對數字信號處理 (Digital
    的頭像 發表于 11-30 09:07 ?1194次閱讀
    簡單認識數字信號<b class='flag-5'>處理器</b>