嵌入式处理器的体系架构与内核详解
生活随笔
收集整理的這篇文章主要介紹了
嵌入式处理器的体系架构与内核详解
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
嵌入式處理器的體系架構(gòu)與內(nèi)核詳解
當(dāng)我們談及嵌入式處理器的體系架構(gòu)時(shí),一般都是想到Intel的X86架構(gòu)和ARM公司的ARM架構(gòu)。X86架構(gòu)和ARM架構(gòu)最大的不同點(diǎn)就是使用的指令集不同,前者使用的CISC指令集,后者使用的是RISC指令集,還有一點(diǎn)就是X86架構(gòu)使用的是馮諾依曼結(jié)構(gòu),ARM架構(gòu)既使用馮諾依曼結(jié)構(gòu),也使用哈佛結(jié)構(gòu)(已經(jīng)成了一種趨勢)。何為架構(gòu)?這兩個(gè)字看起來很簡單,不就是“骨架+結(jié)構(gòu)”,但是個(gè)人覺得并不好理解。百度上把架構(gòu)分為邏輯架構(gòu),物理架構(gòu)和系統(tǒng)架構(gòu)。對于處理器,當(dāng)起發(fā)展到一定程度時(shí),這種物理架構(gòu)不會有很大的變化。以CPU為例,它主要由邏輯部件+寄存器部件+控制部件組成,這種結(jié)構(gòu)在發(fā)展穩(wěn)定之后,就不會有大多的改變。那么人們常說的架構(gòu)版本更新主要體現(xiàn)在哪里呢?指令集。當(dāng)然還有如存儲器管理特性改進(jìn)等因素,以ARM處理器架構(gòu)為例,如圖1為其進(jìn)化史。可以看到其架構(gòu)一路從V4→V7版本,其中V7版本分三路發(fā)展,A系列,R系列,M系列。再看圖2看其處理器指令的演進(jìn)史:
可以發(fā)現(xiàn),在V4T版本時(shí)增加了Thumb指令集,剛好可以對應(yīng)處理器的Thumb狀態(tài),到了V5E版本,加入了增強(qiáng)型的DSP指令,V6版本可謂是ARM指令演進(jìn)史上的一件大事,有了Thumb-2的問世。其實(shí)之前的16位Thumb指令集就32位ARM指令集的一個(gè)功能子集,到了Thumb-2,以其強(qiáng)大,輕佻和高效,16位指令首次與32位指令并存,再也不需要因?yàn)樘幚砥髂J降淖儞Q而造成指令集變換。從ARM-Cortex-M3將全身的處理能力托付給Thumb-2指令集就可以看出,Thunmb-2指令集的強(qiáng)大。
處理器架構(gòu)與處理器內(nèi)核有什么區(qū)別?“處理器內(nèi)核”中的處理器應(yīng)該是MCU。“處理器架構(gòu)”中的處理器可以是更廣義的 Processing Unit。而當(dāng)我們談及內(nèi)核時(shí)首先應(yīng)該是針對某一系列的MCU。拿STM32系列MCU來說,它們是基于ARM-Cortex-M3為內(nèi)核的。而內(nèi)核主要談其流水線和結(jié)構(gòu)。如ARM7內(nèi)核是0.9MIPS/MHZ的三級流水線和馮諾依曼結(jié)構(gòu),ARM9是1.1MIPS/MHZ的5級流水線哈佛結(jié)構(gòu)。通過圖3可以更直觀的發(fā)現(xiàn)內(nèi)核與MCU的關(guān)系。
ARM內(nèi)核和架構(gòu)都是什么意思,它們到底是什么關(guān)系?
ARM產(chǎn)品越來越豐富,命名也越來越多。很多朋友提問: ARM內(nèi)核和架構(gòu)都是什么意思?內(nèi)核和架構(gòu)的關(guān)系是什么?比如ARMv7架構(gòu),這個(gè)架構(gòu)指的是什么?小編選出了幾個(gè)精彩回答!希望對嵌友們在選擇設(shè)計(jì)電路時(shí)有所幫助。
1.ARM內(nèi)核:從ARM7、ARM9到Cortex-A7、A8、A9、A12、A15再到Cortex-A53、A57等,總之不同版本 ARM 有不同的想法。比如為高速度設(shè)計(jì)的Cortex A8、A9都是ARMv7a 架構(gòu);Cortex M3、M4是ARMv7m架構(gòu);前者是內(nèi)核,后者是指令集的架構(gòu)。
2.ARM的架構(gòu)都是基于RISC指令集而架構(gòu)的,而其內(nèi)核只是實(shí)現(xiàn)這一指令集的硬件架構(gòu)的基礎(chǔ),Thumb-2指令集架構(gòu)(ISA)的子集,包含所有基本的16位 和32位Thumb-2指令、 、哈佛處理器架構(gòu),在加載/存儲數(shù)據(jù)的同時(shí)能夠執(zhí)行指令取指,帶分支預(yù)測的三級流水線等。
3.好比你蓋房子,剛開始因?yàn)樗降土餍猩w平房,這就是一種架構(gòu)(V5T),然后這種平房架構(gòu)你可以設(shè)計(jì)出一款獨(dú)立衛(wèi)生間的款式, 這叫ARM7內(nèi)核。 然后其他人(芯片設(shè)計(jì)公司)想蓋房子的就買你這個(gè)圖紙去蓋,接著過一段時(shí)間,有人覺得光獨(dú)立衛(wèi)生間還不夠啊, 我還想有個(gè)小院子! 好吧,那ARM就滿足你們的要求,出個(gè)帶小院子的款式(ARM9)。
又過了很久, 這種平房的架構(gòu)就隨著大伙的需求一直改啊改啊,后來經(jīng)過ARM研究發(fā)現(xiàn): 現(xiàn)在大伙蓋房子的能力duang duang直升啊(包括工藝、設(shè)計(jì)能力、時(shí)鐘主頻),只蓋這種平房施展不開啊! 好吧,ARM為了不讓這幫設(shè)計(jì)的人閑著,就推出一種二三層樓房的樣式, 這因?yàn)楦椒吭O(shè)計(jì)結(jié)構(gòu)完全不一樣嘛, 那就叫一種新的架構(gòu)(ARMv6),同樣這種樓房樣式ARM也為大家準(zhǔn)備了帶游泳池的和帶車庫的款式(ARM11),好吧繼續(xù)改啊改啊, 改到后來大家已經(jīng)開始有能力蓋十層以上的大樓了。 ARM一如既往地出了新的款式(ARMv7架構(gòu)), 這時(shí)ARM覺得以前名字都太土鱉了, 什么ARM5、 ARM6、 ARM7—又難聽又難記, 我要取個(gè)看起來牛逼的名字, 咱至少也算個(gè)能設(shè)計(jì)摩天大樓的主兒了, 于是后面的內(nèi)核都叫Cortex。
改名只是一部分, 隨著這個(gè)架構(gòu)出來后, ARM發(fā)現(xiàn)以前用咱們圖紙蓋出的樓也就做個(gè)民宅, 民宅圖個(gè)啥? 實(shí)惠嘛(功耗低)。 現(xiàn)在不一樣了,現(xiàn)在咱的圖紙蓋得樓不僅可以做民宅,還可以做軍事基地、 還可以做高檔寫字樓, 以前這些高級功能的樓房可是只有小英(英特爾)才能設(shè)計(jì)出來的啊!為了滿足這些不同的需求, ARM把這個(gè)架構(gòu)設(shè)計(jì)出來的款式分成3個(gè)系列(M系列、R系列、A系列)。M系列是為民宅設(shè)計(jì)的, 因?yàn)槔习傩請D實(shí)惠嘛, 這種設(shè)計(jì)就設(shè)計(jì)個(gè)十層左右(功耗低); R系列是為軍事基地設(shè)計(jì)的, 這種樓設(shè)計(jì)的也不高— 十層左右吧, 但是關(guān)鍵是要對特殊情況要有快速反應(yīng)的能力(中斷快); 最后A系列是給商業(yè)大佬用的, 那當(dāng)然是要高端大氣上檔次, 就是要性能高,各種LED燈燈光秀啊都給我上。
總結(jié)
以上是生活随笔為你收集整理的嵌入式处理器的体系架构与内核详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ping的实现和代码分析
- 下一篇: linux下各个头文件及作用总结