架构与内核

转载自http://blog.csdn.net/pengpengjy/article/details/51902044


当我们谈及嵌入式处理器的体系架构时,一般都是想到IntelX86架构和ARM公司的ARM架构。X86架构和ARM架构最大的不同点就是使用的指令集不同,前者使用的CISC指令集,后者使用的是RISC指令集,还有一点就是X86架构使用的是冯诺依曼结构,ARM架构既使用冯诺依曼结构,也使用哈佛结构(已经成了一种趋势)。

       何为架构?这两个字看起来很简单,不就是“骨架+结构”,但是个人觉得并不好理解。百度上把架构分为逻辑架构,物理架构和系统架构。对于处理器,当起发展到一定程度时,这种物理架构不会有很大的变化。以CPU为例,它主要由逻辑部件+寄存器部件+控制部件组成,这种结构在发展稳定之后,就不会有大多的改变。那么人们常说的架构版本更新主要体现在哪里呢?指令集。当然还有如存储器管理特性改进等因素,以ARM处理器架构为例,如图1为其进化史。

 

                                                                                       图1 . ARM处理器架构进化史

可以看到其架构一路从V4V7版本,其中V7版本分三路发展,A系列,R系列,M系列。

再看图2看其处理器指令的演进史

 

                                                                                                   图2,  指令演进史

 

可以发现,在V4T版本时增加了Thumb指令集,刚好可以对应处理器的Thumb状态,到了V5E版本,加入了增强型的DSP指令,V6版本可谓是ARM指令演进史上的一件大事,有了Thumb-2的问世。其实之前的16Thumb指令集就32ARM指令集的一个功能子集,到了Thumb-2,以其强大,轻佻和高效,16位指令首次与32位指令并存,再也不需要因为处理器模式的变换而造成指令集变换。从ARM-Cortex-M3将全身的处理能力托付给Thumb-2指令集就可以看出,Thunmb-2指令集的强大。

  处理器架构与处理器内核有什么区别?“处理器内核”中的处理器应该是MCU。“处理器架构”中的处理器可以是更广义的 Processing Unit而当我们谈及内核时首先应该是针对某一系列的MCU。拿STM32系列MCU来说,它们是基于ARM-Cortex-M3为内核的。而内核主要谈其流水线和结构。如ARM7内核是0.9MIPS/MHZ的三级流水线和冯诺依曼结构,ARM91.1MIPS/MHZ5级流水线哈佛结构。通过图3可以更直观的发现内核与MCU的关系。

 

                                                              图3

至于内核里面,那就是谈及它的寄存器组,指令集运用,中断行为,存储器映射和调试等相关知识了。

通过上面的分析,内核是架构的重要载体和呈现方式。

 

P.S:个人理解,欢迎批评指正与相互讨论

 

 

参考文献:1The Definitive Guide to the ARM Cortex-M3

                  架构与内核  2,Cortex-M3 权威指南     宋岩(译)

                  3,百度百科

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值