您好,歡迎來(lái)電子發(fā)燒友網(wǎng)! ,新用戶(hù)?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>主機(jī)配件>cpu>

soc和cpu的區(qū)別

2017年11月15日 16:40 網(wǎng)絡(luò)整理 作者: 用戶(hù)評(píng)論(0
關(guān)鍵字:cpu(204887)soc(214103)

  SOC(System on Chip),指的是片上系統(tǒng),MCU只是芯片級(jí)的芯片,而SOC是系統(tǒng)級(jí)的芯片,它既MCU(51,avr)那樣有內(nèi)置RAM,ROM同時(shí)又像MPU(arm)那樣強(qiáng)大的不單單是放簡(jiǎn)單的代碼,可以放系統(tǒng)級(jí)的代碼,也就是說(shuō)可以運(yùn)行操作系統(tǒng)(將就認(rèn)為是MCU集成化與MPU強(qiáng)處理力各優(yōu)點(diǎn)二合一)。

  SOC,是個(gè)整體的設(shè)計(jì)方法概念,它指的是一種芯片設(shè)計(jì)方法,集成了各種功能模塊,每一種功能都是由硬件描述語(yǔ)言設(shè)計(jì)程序,然后在SOC內(nèi)由電路實(shí)現(xiàn)的;每一個(gè)模塊不是一個(gè)已經(jīng)設(shè)計(jì)成熟的ASIC“器件”,只是利用芯片的一部分資源去實(shí)現(xiàn)某種傳統(tǒng)的功能。

  這種功能是沒(méi)有限定的,可以是存儲(chǔ)器,當(dāng)然也可以是處理器,如果這片SOC的系統(tǒng)目標(biāo)就是處理器,那么做成的SOC就是一個(gè)MCU;

 soc和cpu的區(qū)別

  CPU(Central Processing Unit),是一臺(tái)計(jì)算機(jī)的運(yùn)算核心和控制核心。CPU由運(yùn)算器、控制器寄存器及實(shí)現(xiàn)它們之間聯(lián)系的數(shù)據(jù)、控制及狀態(tài)的總線(xiàn)構(gòu)成。差不多所有的CPU的運(yùn)作原理可分為四個(gè)階段:提?。‵etch)、解碼(Decode)、執(zhí)行(Execute)和寫(xiě)回(Writeback)。 CPU從存儲(chǔ)器或高 速 緩沖存儲(chǔ)器中取出指令,放入指令寄存器,并對(duì)指令譯碼,并執(zhí)行指令。所謂的計(jì)算機(jī)的可編程性主要是指對(duì)CPU的編程。

  CPU就是中央處理單元,它負(fù)責(zé)把數(shù)據(jù)讀入計(jì)算并輸出。所以,無(wú)論什么時(shí)候談到CPU,一定是數(shù)據(jù)的處理和計(jì)算部分,這是必須要滿(mǎn)足的基本要求。

  之所以你們會(huì)發(fā)生混淆,是因?yàn)槟銈儾恢溃藬?shù)據(jù)處理,還有什么其他部分。簡(jiǎn)單來(lái)說(shuō),CPU除了內(nèi)部的Cache和指令存儲(chǔ)器和一些緩沖,就沒(méi)有什么可供存儲(chǔ)數(shù)據(jù)和指令的了。所以,對(duì)于程序來(lái)說(shuō),運(yùn)行時(shí)候需要的代碼數(shù)據(jù)都是在內(nèi)存里面的,CPU從內(nèi)存里面把數(shù)據(jù)和代碼取出來(lái)放到Cache里面,再?gòu)腃ache里取出需要的數(shù)據(jù)。

  同樣,內(nèi)存容量是有限的,如果找不到數(shù)據(jù),就要從硬盤(pán)里面或者nandflash進(jìn)行數(shù)據(jù)讀取,或者直接讀取,或者拷貝到DDR里面再進(jìn)行讀取,這取決于這些硬件的結(jié)構(gòu)了

  但是,每種架構(gòu)CPU的指令是固定的,指令不會(huì)區(qū)分什么具體的DDR或者nand的架構(gòu),所以,我們需要內(nèi)存控制器、硬盤(pán)控制器、nand控制器,也就是所謂的外圍IP,通常,如果Cache不命中,如果需要從內(nèi)存讀取數(shù)據(jù),這條訪問(wèn)指令就會(huì)被內(nèi)存控制器獲取,它進(jìn)行分析后會(huì)把相應(yīng)的數(shù)據(jù)從內(nèi)存顆粒里面讀出來(lái)發(fā)回給CPU。如果是nand的,它有自己的寄存器,可以通過(guò)對(duì)寄存器操作來(lái)實(shí)現(xiàn)數(shù)據(jù)的讀取,這些數(shù)據(jù)仍然由控制器送給CPU。類(lèi)似還有網(wǎng)絡(luò)控制器之類(lèi)的,CPU的命令都是要由這些控制器去具體實(shí)施的。

  一個(gè)CPU的外部端口都會(huì)有地址總線(xiàn)和數(shù)據(jù)總線(xiàn),我們選擇一種總線(xiàn),把CPU和這些外圍IP連起來(lái),讓CPU可以和這些IP進(jìn)行通訊,完成數(shù)據(jù)的計(jì)算和輸入輸出,這樣就變成了一個(gè)具有實(shí)際意義的系統(tǒng)了。

 

  SoC和CPU的區(qū)別:

  o - 介詞,小寫(xiě)

  SC- 名詞,大寫(xiě)

  1.1 SoC(System on Chip): 稱(chēng)為系統(tǒng)級(jí)芯片,也稱(chēng)為片上系統(tǒng),意指它是一個(gè)產(chǎn)品,是一個(gè)有專(zhuān)有目標(biāo)的集成電路,其中包含完整系統(tǒng)并嵌入軟件的全部?jī)?nèi)容。

  1.2 CPU = 運(yùn)算器 + 控制器,現(xiàn)在幾乎沒(méi)有純粹的CPU了,都是SoC.

  1.3 芯片的發(fā)展從CPU 到SoC

  1.4 外設(shè)(外部設(shè)備):即除CPU之外的其他部件,如LCD控制器,UART,Nand控制器。。.CPU通過(guò)外部總線(xiàn)將各種外部設(shè)備連接起來(lái)構(gòu)成SoC.

  1.5. 比如ARM公司生產(chǎn)的就是CPU,他將自己的所生產(chǎn)的CPU設(shè)計(jì)賣(mài)給其他公司,而其他公司就根據(jù)ARM提供的CPU自己添加上自己所需要的各種外設(shè)控制器,這就是SoC.

  1.6. 不同的公司所用的控制器不一定是相同的,因?yàn)椴煌墓拘枰男阅懿灰粯?,就?huì)想半導(dǎo)體公司定制他需要的控制器。

  1.7. 日常工作生活中,慣說(shuō)的CPU說(shuō)的就是SoC,就像內(nèi)存有NandFlash和普通內(nèi)存一樣。

  1.8. 我們學(xué)習(xí)裸機(jī)程序就是學(xué)習(xí)CPU和各種外設(shè)控制器間的相互操作。

非常好我支持^.^

(100) 100%

不好我反對(duì)

(0) 0%

( 發(fā)表人:李倩 )

      發(fā)表評(píng)論

      用戶(hù)評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?