CPU、MCU、PLC、DSP、SOC、FPGA等之間的關(guān)系

它們之間的關(guān)系

創(chuàng)新互聯(lián)專業(yè)成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站,集網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、網(wǎng)站制作于一體,網(wǎng)站seo、網(wǎng)站優(yōu)化、網(wǎng)站營銷、軟文發(fā)稿等專業(yè)人才根據(jù)搜索規(guī)律編程設(shè)計(jì),讓網(wǎng)站在運(yùn)行后,在搜索中有好的表現(xiàn),專業(yè)設(shè)計(jì)制作為您帶來效益的網(wǎng)站!讓網(wǎng)站建設(shè)為您創(chuàng)造效益。

CPU是最基本的存在,因?yàn)槟承┰?,在CPU的外部又包裹了部分附加功能,和CPU一起共同構(gòu)成MCU、DSP、SOC等這些芯片,因此它們都是從CPU的基礎(chǔ)上擴(kuò)展而來,基本關(guān)系我們可以理解為下圖。

至于說為什么MCU、DSP、SOC等芯片,會在CPU的基礎(chǔ)上內(nèi)置功能擴(kuò)展,其它的功能自然它們自己的目的和道理,后面會針對每個(gè)芯片做解釋。

9.2 CPU芯片

CPU的英文全稱為Central Processing Unit,直譯為“中央處理單元”或者中央處理器,不管什么類型的計(jì)算機(jī)都必須要包含CPU,因?yàn)镃PU中的運(yùn)算器和控制器是整個(gè)計(jì)算機(jī)工作的腦中樞。

9.2.1 在什么情況下,CPU為獨(dú)立芯片

當(dāng)我們需要極高性能的CPU時(shí),就必須把CPU單獨(dú)做成一個(gè)芯片,因?yàn)閱挝幻娣e的門電路數(shù)量是有限的,因此如果像MCU、DSP、SOC一樣,將CPU和很多其它的內(nèi)置擴(kuò)展都集成在一起時(shí),當(dāng)芯片體積都差不多的情況下,單獨(dú)CPU芯片所含門電路數(shù)量一定高于MCU、DSP、SOC的內(nèi)置CPU所含門電路數(shù)量,因此才會單獨(dú)的將CPU集成為一個(gè)獨(dú)立芯片。而且給獨(dú)立的CPU芯片做功能擴(kuò)展時(shí)會更加的靈活。

9.2.2 哪些計(jì)算機(jī)使用單獨(dú)成片的CPU

現(xiàn)在像個(gè)人電腦和服務(wù)器這一類的計(jì)算機(jī),其計(jì)算能力的要求是較高的,因此目前個(gè)人電腦和服務(wù)器的CPU都是獨(dú)立芯片,我們都知道個(gè)人電腦和服務(wù)器的的芯片使用Intel的X86(全稱80x86)系列的居多,所以intel的用于個(gè)人電腦和服務(wù)器的CPU基本都獨(dú)立芯片的。

9.2.3 使用CPU獨(dú)立芯片的會使得計(jì)算機(jī)體積較大,不適合便攜式設(shè)備

如果CPU是獨(dú)立心芯片的話,很多CPU的擴(kuò)展功能需要通過外置擴(kuò)展的方式實(shí)現(xiàn),所以這就會導(dǎo)致個(gè)人電腦和服務(wù)器這一類的計(jì)算機(jī)體積較大。目前便攜式計(jì)算機(jī)設(shè)備越來越多,比如手機(jī)、數(shù)碼相機(jī)、平板等這一類的計(jì)算機(jī)設(shè)備,為了能夠方便的攜帶,對于體積要求較高,因此為了將體積減小,就將很多原本很占體積的CPU的外部擴(kuò)展,直接和CPU集成為了一個(gè)很小的芯片,也就是我們前面提到的MCU、PLC、DSP、SOC等芯片,但是這樣做的代價(jià)就是芯片的中內(nèi)置CPU的計(jì)算能力下降了,但是對于很多移動(dòng)計(jì)算機(jī)設(shè)備來說,并不需要像個(gè)人電腦或者服務(wù)器一樣的計(jì)算能力,只要能夠打電話、看電視頻、聽音樂、玩手游(無法玩pc才能玩的大型游戲)等等即可。

9.3 MCU芯片

9.3.1 MCU名詞

MCU的英文全稱為Microcontroller Unit,直譯為“微控制單元”,又被稱為Single Chip Microcomputer ,直譯為“單片微型計(jì)算機(jī)”,簡稱單片機(jī),最簡單的理解就是一個(gè)芯片就是一個(gè)微型計(jì)算機(jī)。

9.3.1 CPU芯片和MCU芯片的區(qū)別

從上圖就能大致的看出,CPU與MCU的區(qū)別,但如果說想詳細(xì)的了解MCU具體情況的話,這樣簡單的對比還不夠。

9.3.2 PC的結(jié)構(gòu)

為了弄清楚MCU,需要先從PC機(jī)的內(nèi)部結(jié)構(gòu)開始講起,然后通過對比來引出MCU。

(1)對于PC等計(jì)算性能較高的計(jì)算機(jī),它們各個(gè)組成部分是分離的,因?yàn)镻C的計(jì)算能力要求很高,所以PC的CPU處理能力很強(qiáng),而且是獨(dú)立芯 片,內(nèi)存和外存的容量非常的大。

(2)不管是那種計(jì)算機(jī),都必須包含CPU、三大總線(地址/數(shù)據(jù)/控制)、外設(shè)IO接口、內(nèi)存和外存,其中內(nèi)存和外存是必須包含的外部設(shè)備, 因?yàn)楸仨氁写鎯υO(shè)備用于存儲程序和數(shù)據(jù)。

(3)像什么聲卡和喇叭,顯卡和顯示器,網(wǎng)卡和網(wǎng)線等其它外部設(shè)備等,不同的計(jì)算機(jī)根據(jù)用途不同會有所不同。

9.3.3 MCU

(1)很多電子設(shè)備對于計(jì)算能力要求較低,但是體積要求很高

PC等大型計(jì)算機(jī)為了擁有較高的計(jì)算能力,各個(gè)組成部分是分離組建的,獲得了計(jì)算能力但是犧牲了體積。但是對于像電動(dòng)玩具、家電控制器等這類小型電子設(shè)備而言,不需要什么計(jì)算能力而更在乎體積,所以才有了MCU(單片機(jī))的出現(xiàn),MCU是芯片級的計(jì)算機(jī)。

(2)MCU與PC的異同

1)相同點(diǎn):都必須包含的CPU、三大總線(地址/數(shù)據(jù)/控制)、IO接口、內(nèi)存和外存這些核心的東西。

1)不同點(diǎn)

(a)單片機(jī)會將CPU、三大總線(地址/數(shù)據(jù)/控制)、IO接口、內(nèi)存和外存集成到一起,PC是分離的

(b)單片機(jī)為了自己特有目的,內(nèi)部還會集成比如串口、定時(shí)器、AD/DA等外部設(shè)備。

串口、SPI、12C這三種外設(shè)是MCU常見的三種串行通信方式,如果你對串口、SPI、I2C感興趣,情感后續(xù)的單片機(jī)課程。

(3)MCU特點(diǎn)

1)單片機(jī)芯片不能直接工作,必須為其設(shè)計(jì)外部電路(最起碼供電電路),并且燒錄程序,才能工作。

2)MCU的優(yōu)缺點(diǎn)

(a)優(yōu)點(diǎn):體積小,價(jià)格便宜,單個(gè)芯片就是一個(gè)微小的計(jì)算機(jī),使用方便

(b)缺點(diǎn):因?yàn)轶w積小,所以MCU的CPU、內(nèi)存和外存相對于PC的來說,肯定差了很多,犧牲計(jì)算能力換來了體積優(yōu)勢。

3)應(yīng)用

對于很多簡單應(yīng)用,比如玩具、家電(電飯煲)等對于計(jì)算能力要求很低的小型計(jì)算機(jī)設(shè)備來說,MCU的計(jì)算功能已經(jīng)足夠,關(guān)鍵是便宜,對于成本控制很敏感的產(chǎn)品來說,價(jià)格這一點(diǎn)顯得突出。

(4)MCU總結(jié)

所以MCU就是將CPU、三大總線(地址/數(shù)據(jù)/控制)、IO、內(nèi)存、外存、以及某些專用外不是被集成為一體的芯片,這就是MCU,一片一機(jī)。

(5)為什么現(xiàn)在MCU使用的這么多

因?yàn)槟隳玫絚pu后,盡管單獨(dú)CPU的計(jì)算能力很強(qiáng),但是你還要為CPU設(shè)計(jì)大量的外部設(shè)備,開發(fā)難度直接上了一個(gè)等級,對于很多不需要太強(qiáng)計(jì)算能力的場合不合適,使用計(jì)算能力很強(qiáng)的獨(dú)立芯片的CPU,簡直就是殺雞用牛刀,關(guān)鍵是你拿到后還需要為其設(shè)計(jì)復(fù)雜的電路,以便為擴(kuò)展很多需要的最起碼的外設(shè)(內(nèi)存等),設(shè)計(jì)成本很高。

但是MCU芯片一次性就把就算計(jì)需要基本東西全部集成到一起,你拿到后開發(fā)難度直線下降,因此對于功能要求不高,成本控制嚴(yán)格的場合,顯然使用單片機(jī)開發(fā)是必然的選擇。

(6)MCU的分類

1)低中段

低端單片機(jī)比如8051,中端單片機(jī)比如stm32,低中端主要用于家電、玩具等成本低,計(jì)算能力要求不高電子設(shè)備。

2)高端

ARM中A系列(Cortex-A8,Cortex-A89等)的芯片典型的就是高端MCU,主要用于消費(fèi)類電子,比如手機(jī)、平板、數(shù)碼相機(jī)。

(7)現(xiàn)在常說的單片機(jī),默認(rèn)指低中端單片機(jī)

一般來說,我們說單片機(jī)時(shí),默認(rèn)指的是低中端的MCU,一般不會稱呼高端MCU為單片機(jī),而是直接使用它們的型號名稱來稱呼,比如ARM的Cortex-A7, Cortex-A8, Cortex-A9,Cortex-A15等。

(8)嵌入式開發(fā)與MCU

嵌入式開發(fā)所涉及的就MCU這類的計(jì)算機(jī)芯片,低端到高端都有,MCU的種類很多,這里不在贅述,因?yàn)樵诤竺娴膯纹瑱C(jī)課程中,會詳細(xì)講。

對于真正嵌入式開發(fā)者,必須具備低中高端MCU的使用能力,希望學(xué)習(xí)嵌入式的同學(xué),請看后面的技術(shù)課程。

9.4 PLC

PLC,英文全程為Programmable Logic Controller,直譯為“可編程邏輯控制器”,直白理解就是可以編程控制的控制設(shè)備,是專門用在工業(yè)環(huán)境下電子控制設(shè)備,從“電子控制設(shè)備”這個(gè)詞就能看出,事實(shí)上PLC并不是一個(gè)芯片,而是一個(gè)設(shè)備。

那么PLC到底是怎么出現(xiàn)的呢?需要先從使用MCU設(shè)計(jì)工控設(shè)備的缺點(diǎn)開始說起。

9.4.1 直接使用MCU設(shè)計(jì)工業(yè)控制設(shè)備的缺點(diǎn)

前面講MCU時(shí)就說過,是可以使用MCU來設(shè)計(jì)工業(yè)控制用的設(shè)備的,購買到MCU芯片后,可以從頭到尾設(shè)計(jì)出某功能的工控設(shè)備,但是這樣做的問題很難多,這些問題導(dǎo)致成本高、風(fēng)險(xiǎn)大,問題有,

(1)問題1:周期長

從頭到尾設(shè)計(jì),你就必須設(shè)計(jì)電路原理圖,繪制pcb板,元器件焊接,編寫和調(diào)試程序,產(chǎn)品發(fā)布后還有測試周期,所以做工控設(shè)備的公司直接使用MCU從頭開始設(shè)計(jì)的,開發(fā)周期實(shí)在是太久。

(2)問題2:設(shè)計(jì)難度大,穩(wěn)定性不高

很多工控研發(fā)公司不是專業(yè)的MCU開發(fā)公司,所以MCU開發(fā)技術(shù)不成熟,加之工業(yè)設(shè)備運(yùn)行環(huán)境復(fù)雜,比如高電壓,高粉塵,高振動(dòng),高輻射等,對于設(shè)備的穩(wěn)定程度需求很高,MCU開發(fā)經(jīng)驗(yàn)不足的公司,很難開發(fā)出穩(wěn)定性高工控設(shè)備。

(3)問題3:成本高

由于第一個(gè)和第二個(gè)原因,如果直接使用MCU從零開發(fā)的話,成本非常高,關(guān)鍵是還開發(fā)不出好的設(shè)備。

9.4.2 PLC的出現(xiàn)

(1)PLC是如何解決上述問題的

經(jīng)驗(yàn)豐富的專業(yè)的、對工業(yè)控制設(shè)備非常熟悉的MCU設(shè)計(jì)者站了出來,設(shè)計(jì)了一款穩(wěn)定性極高的、功能可圖形化編程的、具備基礎(chǔ)功能的半成品的MCU工控設(shè)備,其他人拿到這個(gè)穩(wěn)定成熟的半成品設(shè)備后,非常容易的就能擴(kuò)展出自己特有的工控設(shè)備。

(2)PLC這種半成品工控設(shè)備的優(yōu)點(diǎn)

前面就說過,PLC并不是一個(gè)芯片,PLC只是使用MCU芯片設(shè)計(jì)的半成品的電子工控設(shè)備,關(guān)鍵是可以使用這個(gè)設(shè)備進(jìn)行功能擴(kuò)展,擴(kuò)展的方式就是插接各種的電路線,PLC的實(shí)物圖如下

日本三菱的PLC設(shè)備

使用PLC設(shè)計(jì)工控具有如下優(yōu)點(diǎn):

1)無需從零開發(fā):也就是說別人已經(jīng)將所有最核心的設(shè)備硬件做好了,幫你把最難最復(fù)雜的部分實(shí)現(xiàn)好

2)硬件上擴(kuò)展簡單易行:硬件的擴(kuò)展很容易,直接通過“功能擴(kuò)展接線螺絲”連接外部控制設(shè)備,就可以進(jìn)行擴(kuò)展了。

3)編程容易:PLC在設(shè)計(jì)時(shí),已將底層的各種功能的程序代碼,轉(zhuǎn)成了各種直觀的圖形符號(梯形圖),直接通過這些梯形圖的繪制就可以編程了, 會有相應(yīng)的軟件將梯形圖轉(zhuǎn)變?yōu)樽罱K需要執(zhí)行的MCU計(jì)算機(jī)指令。

梯形圖

4)穩(wěn)定程度高:由于是由專門為工控量身設(shè)計(jì),具有很強(qiáng)的穩(wěn)定性,足以應(yīng)對工業(yè)上的各種復(fù)雜情況。

9.5 Soc芯片

其實(shí)很多人對于SOC芯片的理解都是錯(cuò)誤的,那么也是通過這一小節(jié)的講解,希望大家能夠搞清楚什么是SOC。

SoC的英文全稱System-on-a-chip,直譯為“片上系統(tǒng)”,直接從名字理解什么是SoC有些困難,但是如果直接講什么是SOC芯片的話,也很難闡述清楚。

事實(shí)上,SOC與MCU是有著很大的關(guān)系,所以如果不能說清楚二者的關(guān)系的話,也就無法搞清楚SOC的,需要先從從MCU說起。

9.5.1 先說說MCU

(1)其實(shí)MCU芯片是通用計(jì)算機(jī)芯片

所謂“通用”就是滿足很多方向的應(yīng)用,既能用于家電,也能工業(yè)、交通等很多方向。

(2)MCU如何滿足通用開發(fā)需求

為了滿足不同公司,不同應(yīng)用方向開發(fā)需求,MCU必須滿足哪兩個(gè)兩點(diǎn):

1)程序由開發(fā)公司自主編寫

因?yàn)楣居凶约禾赜械男枨?,因此希望能夠開發(fā)自己的特有程序,所以MCU的程序由開發(fā)公司自主編寫。

2)MCU芯片中會集成各種常見的外設(shè)

為主要是了滿足各個(gè)公司在不同方向上的開發(fā)需求,比如有些公司需要使用定時(shí)器,有些公司需要使用串口,有些需要使用網(wǎng)卡,需求各不相同,MCU為了都滿足大家的需求,MCU會將各種常見外設(shè)(定時(shí)器、串口、SPI、I2C、網(wǎng)卡)都集成在了芯片中,用戶拿去后選擇性使用自己需要的外設(shè),不需要的你不用就是。

(3)使用MCU所面臨的問題

1)MCU的價(jià)格相對較貴的

說的是相對較貴,如果跟使用獨(dú)立CPU芯片進(jìn)行開發(fā)相比的話,MCU無疑非常便宜的,就人來說的話,欲望是無止盡,便宜了還希望更便宜。

人們認(rèn)為MCU在某些特殊的情況下,成本還有很大下降空間,事實(shí)確實(shí)如此,才從通用MCU中脫胎出了更便宜的SoC芯片。

2)為什們說MCU的還有進(jìn)行成本下降的空間呢?

發(fā)現(xiàn)很多產(chǎn)品是專門針對某個(gè)用途,專門針對某個(gè)用途時(shí),有如下兩個(gè)特點(diǎn),

(a)該用途只用其中某兩個(gè)外設(shè)

比如只用到網(wǎng)卡,或者串口,其它外設(shè)都是多余的,但是既然買的是通用MCU,就算有些外設(shè)你不用,但是你同樣要買單,事實(shí)上這些不用的外設(shè)就可以拆掉以節(jié)省成本。

(b)開發(fā)的程序多是雷同的

很多公司都生產(chǎn)該用途的產(chǎn)品,購買MCU開發(fā)時(shí),每家公司都要各自開發(fā)實(shí)際上大致相同的程序,各家公司都在花相同的錢開發(fā)相同功能的程序,反正程序都是雷同的,只要有一個(gè)人把程序開發(fā)好,其它公司不是就不用在為開發(fā)程序花簽了嗎。

9.5.2 SOC解決上述面臨的問題

(1)SoC的是怎么節(jié)省成本的

MCU芯片生產(chǎn)廠家發(fā)現(xiàn)了以上描述的情況后,就想到了為MCU芯片使用者節(jié)省成本的方法,

(a)將MCU中不需要用到外部設(shè)備裁剪掉,比如我只需要網(wǎng)卡,那么我就只留下網(wǎng)卡,為購買MCU的公司節(jié)省了成本

(b)MCU生產(chǎn)廠家直接將程序固化在芯片內(nèi),購買到MCU的公司就不用自己寫程序了,也節(jié)省了成本。

通過以上兩步做出的專門針對某用途的特有MCU芯片,這個(gè)特有的MCU就是SOC芯片。

(2)芯片廠家出SOC芯片的條件

1)芯片廠家設(shè)計(jì)出SOC芯片替被人省了錢,芯片廠家自己不久虧了嗎?

芯片廠家自然是不會干虧本的買賣,生產(chǎn)SOC的前提是,專門針對某用途的SOC的使用量非常巨大,在量非常巨大的情況下,做

出SOC,既能給使用者省成本,SOC芯片廠家自己也不虧,不虧的原因有兩點(diǎn),

(a)SoC能省成本,自然非常受用戶的歡迎,用戶也就更加依賴上了SOC,有助于建立更深的合作關(guān)系。

(b)使用SoC的一定都是大批量的,薄利多銷,對于芯片廠家來說,不僅沒有因?yàn)榻档蚐oC的成本而虧錢,反而掙了錢。

2)芯片廠家出SOC芯片的先決條件就是,要求使用量大

只有當(dāng)專門針對某用途的產(chǎn)品量非常巨大時(shí),芯片廠家才會為其出SOC芯片,在巨大的量的支持下,芯片廠家和芯片使用公司才有可能雙贏,如果沒有量的支持,是不可能為其出SOC芯片的。

對于量小的產(chǎn)品,各家公司只能老老實(shí)實(shí)的購買MCU芯片開發(fā),因?yàn)閺S家不可能虧本做出讓別人節(jié)省成本的SOC芯片。

(3)總結(jié):什么是SoC

1)一句話理解SOC

soc相當(dāng)于是擁有特定用途的,為了節(jié)省成本而在出廠時(shí)固化了代碼、且只集成專用外設(shè)、而且使用量非常巨大的特殊MCU。

2)如何理解SoC這個(gè)名字

System-on-a-chip,直譯“片上系統(tǒng)”,往往具有一定完備性的事物才稱為系統(tǒng)。

SoC芯片的硬件是根據(jù)需求專門設(shè)計(jì)的,而且還給它固化了代碼,因此相對來說,SOC可以算得上是一個(gè)硬軟都不缺的完備系統(tǒng),因此才被稱片上系統(tǒng),即一個(gè)芯片可算作是一個(gè)相對完整的系統(tǒng)。

當(dāng)然,拿到SOC芯片后,肯定是要為其設(shè)計(jì)外部電路的。

(4)Soc芯片舉例1)例子1:WIFI芯片

   樂鑫公司的ESP8266 串口WIFI芯片 

ESP8266是專門用于WIFI無線通信的SoC芯片,使用這個(gè)芯片可以設(shè)計(jì)出很多無線WIFI通信模塊,比如很多單片機(jī)是不能WIFI無線上網(wǎng),

但是通過連接擁有SOC芯片的無線WFIF通信模塊后,就可以無線WIFI上網(wǎng)了,因?yàn)檫@個(gè)芯片的需求量非常大,因此樂鑫公司把它做成了SOC。

2)例子2:顯卡、聲卡芯片

其實(shí)電腦中的顯卡芯片、聲卡芯片就是典型soc芯片,顯卡芯片專門用于視頻的編解碼,聲卡專門用于音頻編解碼,用途很專一,由于這類芯片的使用量很大,因此為了節(jié)省成本,也被做成了SoC,編解碼程序被直接固化在了芯片中。

9.6 DSP芯片

DSP的英文全稱為Digital Signal Process,即數(shù)字信號處理,DSP芯片即指能夠?qū)崿F(xiàn)數(shù)字信號處理的芯片,直接看名字的話不好理解,要弄清楚為什么需要DSP芯片,需要先從CPU處理大批量浮點(diǎn)數(shù)的乘法、除法運(yùn)算說起。

9.6.1 CPU處理大批量浮點(diǎn)數(shù)的乘法和除法時(shí),面臨問題

(1)非常耗費(fèi)CPU的運(yùn)算資源

耗費(fèi)cpu運(yùn)算資源有三方面的原因,

1)數(shù)據(jù)量大:數(shù)據(jù)來那個(gè)大,自然就需要花費(fèi)更多的時(shí)間處理

2)浮點(diǎn)數(shù):相比整數(shù),浮點(diǎn)數(shù)(小數(shù))的數(shù)據(jù)結(jié)構(gòu)復(fù)雜,處理更費(fèi)勁

3)乘法、除法:相比加法和減法來說,加法器在做乘法和除法運(yùn)算時(shí)會花費(fèi)更久的時(shí)間。

(2)因?yàn)楹馁M(fèi)CPU預(yù)算資源,CPU會被纏著不放

像音視頻數(shù)據(jù)的編解碼,又或者大型游戲的3D渲染這一類,典型就涉及大批量浮點(diǎn)數(shù)的乘法和除法運(yùn)算,因此

1)數(shù)據(jù)量大

2)乘法、除法運(yùn)算多

3)浮點(diǎn)數(shù)非常多

如果非要讓CPU處理的話,cpu會一直耗在這些數(shù)據(jù)的處理上,CPU沒空去處理電腦的其它事情,比如發(fā)現(xiàn)你的電腦非常的卡,當(dāng)鍵盤敲入數(shù)據(jù)沒反映,那是因?yàn)镃Pu還沒有忙過來呢,暫時(shí)沒空處理鍵盤輸入的事情。

(3)CPU是有處理大批量浮點(diǎn)數(shù)乘法、除法運(yùn)算的能力,但是CPU有更加重要的工作

因?yàn)閏pu作為整個(gè)計(jì)算機(jī)的主控中心,需要負(fù)責(zé)整個(gè)計(jì)算機(jī)大局上各部件、各種程序的正常運(yùn)轉(zhuǎn),不是只有進(jìn)行大量數(shù)據(jù)運(yùn)算這一項(xiàng)工作要做,因此如果cpu一直被大量數(shù)據(jù)的運(yùn)算纏著不放肯定是不行的。

9.6.2 DSP,以CPU的協(xié)作者的身份出現(xiàn)

(1)DSP職能:專門進(jìn)行大量數(shù)據(jù)運(yùn)算的芯片

DSP作為cpu的助手芯片,DSP專門用于應(yīng)對涉及乘法、除法的大量浮點(diǎn)數(shù)的運(yùn)算,一旦當(dāng)cpu檢測需要進(jìn)行大量數(shù)據(jù)的乘法和除法運(yùn)算時(shí),就會將這些煩人的工作交給DSP,DSP會負(fù)責(zé)處理后,cpu脫身后會投入到指揮整個(gè)計(jì)算機(jī)的工作中。

(2)CPU和DSP

1)通過比喻理解CPU和DSP的關(guān)系

好比一個(gè)領(lǐng)導(dǎo),領(lǐng)導(dǎo)能做的事情很多,自然包括文案處理,文案工作少的話都無所謂,領(lǐng)導(dǎo)兼職完成就行了,當(dāng)然領(lǐng)導(dǎo)如果專門從事文案工作的話,也是文案的行家里手,但問題是,對于領(lǐng)導(dǎo)最重要的工作不是文案處理,而是指揮全局,當(dāng)文案工作堆積如山的時(shí)候,如果領(lǐng)導(dǎo)還把大量的精力花在文案處理上的話,就沒人指揮大局了,這個(gè)時(shí)候就需要為領(lǐng)導(dǎo)安排一位專門處理文案秘書,由秘書接替領(lǐng)導(dǎo)繁雜的文案工作,讓領(lǐng)導(dǎo)能夠全身心地進(jìn)入到大局的統(tǒng)籌安排中。

這個(gè)例子中,CPU就是領(lǐng)導(dǎo),DSP就是秘書。

2)CPU和DSP芯片所處理的數(shù)據(jù),各自的特點(diǎn)

(a)CPU處理的數(shù)據(jù)

cpu處理的數(shù)據(jù)基本都是控制類數(shù)據(jù),所謂控制類數(shù)據(jù),就是告訴這里開、那里關(guān)等的發(fā)號施令的數(shù)據(jù),這些數(shù)據(jù)的特點(diǎn)就是,

· 數(shù)據(jù)的量較小

· 除法和乘法運(yùn)算少

· 處理的浮點(diǎn)數(shù)少

(b)DSP處理的數(shù)據(jù)

· 處理的數(shù)據(jù)量非常大

· 而且除法和乘法運(yùn)算多

· 處理的基本都是浮點(diǎn)數(shù)

所以DSP專門用于處理大量浮點(diǎn)數(shù)的乘法和除法運(yùn)算,主要就是為了解放CPU。

3)DSP和CPU相互配合的方式

(a)主從關(guān)系

CPU芯片、或者集成有CPU的芯片是主芯片,DSP是從芯片,也就是說DSP聽命于CPU的指揮,CPU給DSP劃分任務(wù),讓其進(jìn)行大量 數(shù)據(jù)的運(yùn)算。

(b)CPU和DSP可以集成在一起,也可以是獨(dú)立的兩個(gè)芯片

目前很多情況是,DSP和CPU被集成在了一起,網(wǎng)絡(luò)攝像頭所使用的就是這樣的處理芯片,在專門提供這類芯片的公司中,華為海 思、安霸、TI是最好的三家。

9.7 FPGA芯片

通過前面學(xué)習(xí)的這張圖片知道,各類芯片(CPU、MCU、DSP、SOC)都是由各種門電路的組合而成,F(xiàn)PGA芯片也不例外。

9.7.1 一般的計(jì)算機(jī)芯片(CPU、MCU、DSP)

可以將一般的計(jì)算機(jī)芯片(比如CPU)表示成為下面這樣,

傳統(tǒng)的計(jì)算機(jī)芯片,或者說一般的計(jì)算機(jī)芯片,比如前面提到的CPU、MCU、SOC、DSP等,這些芯片在出廠時(shí),內(nèi)部門電路之間的連接關(guān)系是早已經(jīng)固定死了,這一類芯片尤其自身的優(yōu)點(diǎn)和缺點(diǎn)。

(a)優(yōu)點(diǎn)

所有設(shè)備的計(jì)算機(jī)芯片都是一樣的,功能靈活性很高,因?yàn)橹灰獔?zhí)行不同的程序?qū)崿F(xiàn)的,計(jì)算機(jī)芯片就可以體現(xiàn)不同的功能(工作邏輯),因此基本所有的計(jì)算機(jī)都采用這種傳統(tǒng)的,出廠時(shí)內(nèi)部門電路連接就已經(jīng)設(shè)計(jì)好的方式實(shí)現(xiàn)。

(b)缺點(diǎn)

使用該芯片做成產(chǎn)品后,必須要有相應(yīng)的程序指令指揮其工作,工作的步驟必須一條指令一條指令的來,比如有5條指令,這5條指令只能由硬件一步一步的執(zhí)行,不能一次被硬件全部同時(shí)執(zhí)行。這里不少同學(xué)就要說了,不是還有多核CPU,就算是多核CPU,并發(fā)也是有限的,給你30條指令全部有硬件一次執(zhí)行完,多核也很難做到一次將30條指令全部運(yùn)行完畢,因?yàn)槟憧偛恢劣?0個(gè)核吧。

9.7.2 FPGA的出現(xiàn)

(1)FPGA名字理解

由于上面的傳統(tǒng)計(jì)算機(jī)芯片并發(fā)運(yùn)行存在缺陷,后來人們就搞出了一個(gè)叫做FPGA的東西,F(xiàn)PGA的英文全稱為Field-Programmable Gate Array,直譯為“現(xiàn)場可編程邏輯門陣列”,如何理解這個(gè)詞呢,這個(gè)詞包含如下幾層含義,只要理解了這幾層含義,也就理解了什么叫“現(xiàn)場可編程邏輯門陣列”。

1)門陣列

這個(gè)芯片內(nèi)部包含大量的邏輯門(與門、非門等等),這些邏輯門在一起組成一個(gè)一個(gè)的陣列,所以叫門陣列。

2)可編程

這些“邏輯門”在出廠時(shí)沒有固定死的連接在一起,芯片是半成品,可以按照自己的需求通過硬件編程語言,把這些門電路按照自己的獨(dú)特需求進(jìn)行連接,像搭積木似的進(jìn)行按需組合。

由于編程修改的是芯片內(nèi)的門電路組合關(guān)系,也就是硬件組合關(guān)系,因此FPGA的編程也稱為硬件編程。

3)現(xiàn)場

芯片內(nèi)部門電路結(jié)構(gòu)可以隨時(shí)根據(jù)需求重新組合。

(2)FPGA的優(yōu)點(diǎn)

1)優(yōu)點(diǎn)1

可以根據(jù)自己的需求,設(shè)計(jì)芯片的功能,完全做到硬件上同時(shí)執(zhí)行很多功能,執(zhí)行時(shí)間縮短了,所以效率很高

比如采用傳統(tǒng)的是計(jì)算機(jī)芯片需要執(zhí)行5條指令,也就是說需要5個(gè)順序步驟才能完成。但是在FPGA這邊,根據(jù)需求重新組合門電路后,分別同時(shí)的執(zhí)行這5條指令時(shí),在FPGA里面不稱為指令而是功能,這5個(gè)功能可以由5個(gè)功能區(qū)同時(shí)執(zhí)行,所以真正的做到了硬件上的并發(fā)。

2)優(yōu)點(diǎn)2

門電路組合被硬件語言程序安排好后,硬件功能就固定好了,上電即可運(yùn)行,不再需要什么匯編、c語言來再寫指揮工作的程序。

(3)FPGA的缺點(diǎn)

1)FPGA很貴

2)相對來說,開發(fā)難度大

(4)FPGA的硬件編程與我們常說的普通編程的區(qū)別

1)FPGA

FPGA的硬件編程使用的語言叫做HDL(Very-High-Speed Integrated Circuit Hardware Description Language),簡稱硬件描述語言,該語言編寫的程序可以直接修改FPGA芯片內(nèi)部的門電路組成結(jié)構(gòu),也就是修改內(nèi)部的硬件結(jié)構(gòu),所以該語言才稱為硬件編程語言。

2)普通的編程:比如匯編、c、c++、java等等,這一類語言寫的程序只是告訴硬件按照某個(gè)步驟工作,但是硬件內(nèi)部的組成機(jī)構(gòu)是固定的。

(5)FPGA應(yīng)用場合

對于效率要求非常高,特別是在高頻信號處理方面(信號發(fā)生器),高到了普通的計(jì)算機(jī)芯片無法滿足的程度,需要硬件上完全并發(fā)執(zhí)行各種功能才能到達(dá)時(shí),就必須使用FPGA。

9.8 為什么弄清CPU、MCU、PLC、DSP、SOC、FPGA的區(qū)別

(1)知道方案選擇

如果說這些芯片之間的區(qū)別搞不清楚的話,會在項(xiàng)目方案的選擇上不知所措,因?yàn)椴煌捻?xiàng)目要求,對于產(chǎn)品開發(fā)周期,難易度,成本要求,穩(wěn)定程度都有不同的,因此需要選擇不同特性的芯片實(shí)現(xiàn)項(xiàng)目的開發(fā),那么你就需要對這些芯片要有所了解。

(2)通過對比加深理解

希望通過對這些芯片內(nèi)部結(jié)構(gòu)的對比介紹,可以加深大家對于每個(gè)芯片的認(rèn)識。

作者:佳嵌工作室

51CTO免費(fèi)視頻地址:http://edu.51cto.com/lecturer/12941022.html

課程進(jìn)度咨詢QQ群:528495268

轉(zhuǎn)載請說明源地址。

網(wǎng)頁名稱:CPU、MCU、PLC、DSP、SOC、FPGA等之間的關(guān)系
文章出自:http://muchs.cn/article20/pipcco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、企業(yè)建站、網(wǎng)站營銷、品牌網(wǎng)站設(shè)計(jì)網(wǎng)站策劃、ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司