微處理器件介紹:CPU/微控制器、DSP、FPGA、GPU

簡單的微處理器件有51單片機、AVR單片機等,複雜的微處理器有電腦或手機中使用的不同架構的CPU,介於二者之間的還有諸如STM32等功能強大的嵌入式微控制器芯片。當然,有數據處理功能的芯片還有應用於信號處理領域的DSP,應用於特殊芯片設計的FPGA以及圖像處理並行運算的GPU等,以上這些都可以統稱爲微處理器件。當然,與微處理器件相關的概念還有架構、內核、指令集等等,本篇博客的主要目的就是梳理這些概念之間的聯繫以及簡單介紹各種微處理器件,並不深入具體的定義。

CPU/微控制器

一般而言,微控制器與微處理器的概念界限並不十分明顯,但本文裏面微控制器的概念則指較簡單一點的嵌入式處理器如STM32、51、飛思卡爾等單片機。複雜的控制器芯片如電腦應用的基於X86架構的Intel處理器或手機裏面基於ARM架構或ARM授權二次開發的各種芯片如華爲的麒麟980、高通曉龍等比較習慣稱爲CPU。

上面是從應用的角度闡述這部分微處理器件的,但不管是CPU還是微控制器,從最基本的邏輯角度來分類的話,它們的內核可以被分爲兩大類,即所謂的基於“複雜指令集(CISC)”的內核與基於“精簡指令集(RISC)”的內核。

CISC架構的代表: X86, X86-64, C51等;
RISC架構的代表: ARM, MIPS, AVR等;

(關於CISC與RISC的區別以及詳細內容,這裏就不做贅述了,可以查看相關的詞條。)
在這裏插入圖片描述
對於基於不同指令集架構開發出來的核,個人電腦方面則是英特爾一家獨大,掌控着X86核,並且只授權給了AMD一家公司,所以其他任何廠商都無法生產X86架構的芯片。移動領域,則是ARM架構一家獨大,不管是蘋果、華爲、高通、還是三星、聯發科都是基於ARM的架構開發自己的處理器的。

這裏稍微提一下X86與ARM核的應用現狀,傳統上來看,X86架構的CPU比ARM架構的在系統性能方面要有優勢,更適用於複雜的操作環境。但ARM的優勢不在於性能強大而在於效率,具有低成本和低耗電的特性。前者追求大而全,後者追求小而精。ARM採用的RISC流水線指令集,在完成綜合性工作方面本來就處於劣勢,但在一些任務相對固定的應用場合例如移動通信領域,其優勢就能發揮得淋漓盡致,這也是當前手機芯片採用ARM架構的原因。
在這裏插入圖片描述
基於RISC指令集的ARM架構結構簡單,佈局緊湊,可以模塊化設計,故設計週期短且易於採用最新技術,這也是各個手機廠商發佈手機芯片頻率很高的原因,相對而言電腦的CPU性能提升就比較緩慢了。雖然ARM構架CPU性能的一路躍進,在某些測試中可以媲美X86/X64 CPU,但從目前乃至可見的未來一段時間內,電腦CPU的強大性能是手機CPU不可能替代的,因爲複雜的使用需求多種多樣,手機CPU依然屬於專精於部分計算功能,而不是全面手。舉個例子,手機支持4K高清解碼還不太耗電,這是因爲專門做了特殊的算法優化和硬件上的調整才實現的,換句話說,重點功能需要什麼特定功能,手機CPU可以有針對性的做出調整,電腦CPU則在這方面的能力就要差一些,畢竟它追求的是通用性,要照顧所有功能需求。1

DSP

DSP(digital singnal processor)是一種獨特的微處理器,有自己的完整指令系統,可以採用C語言開發,是以數字信號來處理大量信息的器件。DSP在一塊不大的芯片內包括有控制單元、運算單元、各種寄存器以及一定數量的存儲單元等等,在其外圍還可以連接若干存儲器,並可以與一定數量的外部設備互相通信,有軟、硬件的全面功能,某種意義上說DSP就是一個微型計算機。
DSP採用的是哈佛設計,即數據總線和地址總線分開,使程序和數據分別存儲在兩個分開的空間,允許取指令和執行指令完全重疊。也就是說在執行上一條指令的同時就可取出下一條指令,並進行譯碼,這大大的提高了微處理器的速度。另外還允許在程序空間和數據空間之間進行傳輸,因爲增加了器件的靈活性。
其工作原理是接收模擬信號,轉換爲0或1的數字信號,再對數字信號進行修改、刪除、強化,並在其他系統芯片中把數字數據解譯回模擬數據或實際環境格式。它不僅具有可編程性,而且其實時運行速度可達每秒數以千萬條複雜指令程序,遠遠超過通用微處理器,是數字化電子世界中日益重要的電腦芯片。它的強大數據處理能力和高運行速度,是最值得稱道的兩大特色。當然,與通用微處理器相比,DSP芯片的其他通用功能相對較弱些。根據數字信號處理的要求,DSP芯片一般具有如下主要特點:
(1)在一個指令週期內可完成一次乘法和一次加法;
(2)程序和數據空間分開,可以同時訪問指令和數據;
(3)片內具有快速RAM,通常可通過獨立的數據總線在兩塊中同時訪問;
(4)具有低開銷或無開銷循環及跳轉的硬件支持;
(5)快速的中斷處理和硬件I/O支持;
(6)具有在單週期內操作的多個硬件地址產生器;
(7)可以並行執行多個操作;
(8)支持流水線操作,使取指、譯碼和執行等操作可以重疊執行。2

FPGA

FPGA是英文Field Programmable Gate Array(現場可編程門陣列)的縮寫,它是在PAL、GAL、PLD等可編程器件的基礎上進一步發展的產物,採用專用的硬件設計語言Verlog VHDL等進行開發,是專用集成電路(ASIC)中集成度最高的一種。
FPGA採用了邏輯單元陣列LCA(Logic Cell Array)這樣一個新概念,內部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB (Input Output Block)和內部連線(Interconnect)三個部分。用戶可對FPGA內部的邏輯模塊和I/O模塊重新配置,以實現用戶的邏輯。它還具有靜態可重複編程和動態在系統重構的特性,使得硬件的功能可以像軟件一樣通過編程來修改。作爲專用集成電路(ASIC)領域中的一種半定製電路,FPGA既解決了定製電路的不足,又克服了原有可編程器件門電路數有限的缺點。
ALTER公司的FPGA

FPGA能完成任何數字器件的功能,上至高性能CPU,下至簡單的74電路,都可以用FPGA來實現。 FPGA如同一張白紙或是一堆積木,工程師可以通過傳統的原理圖輸入法,或是硬件描述語言自由的設計一個數字系統。
FPGA是由存放在片內RAM中的程序來設置其工作狀態的,因此工作時需要對片內的RAM進行編程。用戶可以根據不同的配置模式,採用不同的編程方式。加電時,FPGA芯片將EPROM中數據讀入片內編程RAM 中,配置完成後,FPGA進入工作狀態。掉電後,FPGA恢復成白片,內部邏輯關係消失,因此,FPGA能夠反覆使用。當需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片FPGA,不同的編程數據,可以產生不同的電路功能。因此,FPGA的使用非常靈活。可以說,FPGA芯片是小批量系統提高系統集成度、可靠性的最佳選擇之一。目前FPGA的品種很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。3

GPU

GPU英文全稱Graphic Processing Unit,中文翻譯爲“圖形處理器”,嚴格來講GPU並不算是微處理器,一般不會單獨應用,更多的時候是一種專用芯片的角色。GPU是顯示卡的“大腦”,它決定了該顯卡的檔次和大部分性能,在手機主板上,GPU芯片一般都是緊挨着CPU芯片的。
在這裏插入圖片描述
GPU最初應用於圖像處理領域,這些年,在深度學習中進行並行加速計算是其新興起的應用。GPU 加速計算是指同時利用圖形處理器 (GPU) 和 CPU,加快科學、分析、工程、消費和企業應用程序的運行速度。GPU 加速器於 2007 年由 NVIDIA率先推出,能夠使從汽車、手機和平板電腦到無人機和機器人等平臺的應用程序加速運行。4


  1. https://www.sohu.com/a/207845368_116178 ↩︎

  2. http://www.elecfans.com/pld/679394.html ↩︎

  3. http://cumt04071770.spaces.eepw.com.cn/articles/article/item/97268 ↩︎

  4. https://www.nvidia.cn/object/what-is-gpu-computing-cn.html ↩︎

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章