嵌入式系統(tǒng)已經(jīng)廣泛地應用到當今各個領域,與我們的生活息息相關,小到掌上的數(shù)字產(chǎn)品,大到汽車、航天飛機。 提到嵌入式系統(tǒng)我們很快會聯(lián)想到單片機,不錯,MCU是最基礎和常用的嵌入式系統(tǒng),但是目前像FPGA、ARM、DSP、MIPS等其他嵌入式系統(tǒng)應用越來越廣泛。嵌入式系統(tǒng)與模擬電路或其他功能電路組成的SoC(System on Chip,片上系統(tǒng))或SiP(System in Package,系統(tǒng)級封裝)在手機、機頂盒等功能復雜的產(chǎn)品上的應用也越來越多。
總的來說,嵌入式系統(tǒng)發(fā)展呈現(xiàn)如下特點:由8位處理向32位過渡,由單核向多核過渡,向網(wǎng)絡化功能發(fā)展,MCU、FPGA、ARM、DSP等齊頭并進,嵌入式操作系統(tǒng)呈多元化趨勢,所有的嵌入式處理器都是基于一定的架構的,即IP核(Intellectual Property,知識產(chǎn)權),生產(chǎn)處理器的廠家很多,但擁有IP核的屈指可數(shù)。有自己的IP核,光靠賣IP核即可坐擁城池。 嵌入式系統(tǒng)的架構有專有架構和標準架構之分,在MCU(微控制器)產(chǎn)品上,像瑞薩(Renesas)、飛思卡爾(Freescale)、NEC都擁有自己得專有IP核,而其他嵌入式處理器都是基于標準架構。
嵌入式處理器的體系架構與內(nèi)核詳解
當我們談及嵌入式處理器的體系架構時,一般都是想到Intel的X86架構和ARM公司的ARM架構。X86架構和ARM架構最大的不同點就是使用的指令集不同,前者使用的CISC指令集,后者使用的是RISC指令集,還有一點就是X86架構使用的是馮諾依曼結構,ARM架構既使用馮諾依曼結構,也使用哈佛結構(已經(jīng)成了一種趨勢)。何為架構?這兩個字看起來很簡單,不就是“骨架+結構”,但是個人覺得并不好理解。百度上把架構分為邏輯架構,物理架構和系統(tǒng)架構。對于處理器,當起發(fā)展到一定程度時,這種物理架構不會有很大的變化。以CPU為例,它主要由邏輯部件+寄存器部件+控制部件組成,這種結構在發(fā)展穩(wěn)定之后,就不會有大多的改變。那么人們常說的架構版本更新主要體現(xiàn)在哪里呢?指令集。當然還有如存儲器管理特性改進等因素,以ARM處理器架構為例,如圖1為其進化史。
嵌入式處理器的體系架構與內(nèi)核
可以看到其架構一路從V4→V7版本,其中V7版本分三路發(fā)展,A系列,R系列,M系列。再看圖2看其處理器指令的演進史:
嵌入式處理器的體系架構與內(nèi)核
可以發(fā)現(xiàn),在V4T版本時增加了Thumb指令集,剛好可以對應處理器的Thumb狀態(tài),到了V5E版本,加入了增強型的DSP指令,V6版本可謂是ARM指令演進史上的一件大事,有了Thumb-2的問世。其實之前的16位Thumb指令集就32位ARM指令集的一個功能子集,到了Thumb-2,以其強大,輕佻和高效,16位指令首次與32位指令并存,再也不需要因為處理器模式的變換而造成指令集變換。從ARM-Cortex-M3將全身的處理能力托付給Thumb-2指令集就可以看出,Thunmb-2指令集的強大。
處理器架構與處理器內(nèi)核有什么區(qū)別?“處理器內(nèi)核”中的處理器應該是MCU。“處理器架構”中的處理器可以是更廣義的 Processing Unit。而當我們談及內(nèi)核時首先應該是針對某一系列的MCU。拿STM32系列MCU來說,它們是基于ARM-Cortex-M3為內(nèi)核的。而內(nèi)核主要談其流水線和結構。如ARM7內(nèi)核是0.9MIPS/MHZ的三級流水線和馮諾依曼結構,ARM9是1.1MIPS/MHZ的5級流水線哈佛結構。通過圖3可以更直觀的發(fā)現(xiàn)內(nèi)核與MCU的關系。
嵌入式處理器的體系架構與內(nèi)核
ARM內(nèi)核和架構都是什么意思,它們到底是什么關系?
ARM產(chǎn)品越來越豐富,命名也越來越多。很多朋友提問: ARM內(nèi)核和架構都是什么意思?內(nèi)核和架構的關系是什么?比如ARMv7架構,這個架構指的是什么?小編選出了幾個精彩回答!希望對嵌友們在選擇設計電路時有所幫助。
1.ARM內(nèi)核:從ARM7、ARM9到Cortex-A7、A8、A9、A12、A15再到Cortex-A53、A57等,總之不同版本 ARM 有不同的想法。比如為高速度設計的Cortex A8、A9都是ARMv7a 架構;Cortex M3、M4是ARMv7m架構;前者是內(nèi)核,后者是指令集的架構。
2.ARM的架構都是基于RISC指令集而架構的,而其內(nèi)核只是實現(xiàn)這一指令集的硬件架構的基礎,Thumb-2指令集架構(ISA)的子集,包含所有基本的16位 和32位Thumb-2指令、 、哈佛處理器架構,在加載/存儲數(shù)據(jù)的同時能夠執(zhí)行指令取指,帶分支預測的三級流水線等。
3.好比你蓋房子,剛開始因為水平低流行蓋平房,這就是一種架構(V5T),然后這種平房架構你可以設計出一款獨立衛(wèi)生間的款式, 這叫ARM7內(nèi)核。 然后其他人(芯片設計公司)想蓋房子的就買你這個圖紙去蓋,接著過一段時間,有人覺得光獨立衛(wèi)生間還不夠啊, 我還想有個小院子! 好吧,那ARM就滿足你們的要求,出個帶小院子的款式(ARM9)。
又過了很久, 這種平房的架構就隨著大伙的需求一直改啊改啊,后來經(jīng)過ARM研究發(fā)現(xiàn): 現(xiàn)在大伙蓋房子的能力duang duang直升啊(包括工藝、設計能力、時鐘主頻),只蓋這種平房施展不開啊! 好吧,ARM為了不讓這幫設計的人閑著,就推出一種二三層樓房的樣式, 這因為跟平房設計結構完全不一樣嘛, 那就叫一種新的架構(ARMv6),同樣這種樓房樣式ARM也為大家準備了帶游泳池的和帶車庫的款式(ARM11),好吧繼續(xù)改啊改啊, 改到后來大家已經(jīng)開始有能力蓋十層以上的大樓了。 ARM一如既往地出了新的款式(ARMv7架構), 這時ARM覺得以前名字都太土鱉了, 什么ARM5、 ARM6、 ARM7—又難聽又難記, 我要取個看起來牛逼的名字, 咱至少也算個能設計摩天大樓的主兒了, 于是后面的內(nèi)核都叫Cortex。
改名只是一部分, 隨著這個架構出來后, ARM發(fā)現(xiàn)以前用咱們圖紙蓋出的樓也就做個民宅, 民宅圖個啥? 實惠嘛(功耗低)。 現(xiàn)在不一樣了,現(xiàn)在咱的圖紙蓋得樓不僅可以做民宅,還可以做軍事基地、 還可以做高檔寫字樓, 以前這些高級功能的樓房可是只有小英(英特爾)才能設計出來的啊!為了滿足這些不同的需求, ARM把這個架構設計出來的款式分成3個系列(M系列、R系列、A系列)。M系列是為民宅設計的, 因為老百姓圖實惠嘛, 這種設計就設計個十層左右(功耗低); R系列是為軍事基地設計的, 這種樓設計的也不高— 十層左右吧, 但是關鍵是要對特殊情況要有快速反應的能力(中斷快); 最后A系列是給商業(yè)大佬用的, 那當然是要高端大氣上檔次, 就是要性能高,各種LED燈燈光秀啊都給我上。