您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > ARM-Cortex-M3处理器简介-读后感
读后感:ARMCortex-M3处理器简介ARM,读后感,处理器,简介首先谈谈我对这个系列先入为主的感觉。Cortex-M3是ARM7的升级版本。个人认为:ARM7本身并不是完全针对MCU来设计的,但是众多芯片厂家以ARM7为内核做了很多32位MCU芯片。例如Atmel和NXP的ARM7系列。Cortex-M3是真正针对MCU应用来设计的,这一点在功能取舍和性能偏向上得到反映。那么与ARM7相比较,Cortex-M3有哪些区别和特点呢?加速设计:哈佛结构替代ARM7的冯.诺伊曼结构。哈佛结构就是指令和数据总线分开。这样取指令和取数据可以同时进行。很适合将指令放在片内FLASH,将数据放在片内SRAM的MCU结构。在ARM7的3级流水线之上增加了分支预测。减少了程序跳转时流水线被打断的时间消耗。ALU支持硬件乘法和硬件除法。数学计算能力增强。单周期32位乘法。Bit-Band技术:简单地说,就是增强了位操作性能。SRAM中有专门的Bit-Band区域,可以按位进行寻址(使用别名地址)。而且,这样的位操作是原子操作。这在实现互斥功能时有用。一些DSP运算专用的位操作指令,比如bit翻转。节省存储器使用量的技术:位寻址是可以节省bool型变量的存储器使用的。ARM7的short变量要16位对齐、int变量要32位对齐。Cortex-M3不用对齐。这个问题,一般看法是,对齐可以简化设计。个人认为这个好处有限。指令集的优化。现在叫Thumb-2了。ARM7有两种指令集:ARM和Thumb,两种指令模式可以切换。个人感觉比较怪。处理器模式的简化:我们知道ARM7有很多种处理器模式,目的主要应该是支持复杂的操作系统。Cortex-M3的处理器模式现在有两个:Thread模式和handler模式。Thread模式相当于用户模式了,有两种访问方式:有特权方式和无特权方式。结构区别:ARM7是个纯内核,中断控制器和存储器接口是芯片厂家扩展的。Cortex-M3包含了中断控制器(NVIC)和存储器接口单元。当然,在结构上仍然可以看作核心和外围两个部分。最最重要的改变:中断处理ARM7只有两个中断请求信号:IRQ和FIQ。对多个外部中断请求的支持是通过不属于ARM7的外部的中断控制器实现的。不直接支持基于优先级的中断抢占。Cortex-M3的中断控制器叫NVIC,是Cortex-M3的一个完整的部分。可以支持一个NMI和32个物理中断。可抢占,有优先级。中断向量表可重定位。中断处理时的寄存器保护采用基于堆栈的方式,在响应中断和退出中断时,硬件自动对寄存器进行压栈和出栈。在连续处理两个中断时,通过末尾连锁(tail_chaining)技术,减少压栈和出栈的操作。所以,中断响应的延时显著减少了。这个对控制系统来说很重要。当然,增加复杂性容易出BUG。有待观察。存储器保护单元MPU:可支持操作系统对进程空间的保护。个人对此持保留态度。关于操作系统:个人认为,linux和wince在这个处理器上是无法运行的。这是它的产品定位。其它喜欢在扁平(flat)内存模式下运行的RTOS,要看怎么移植了。未必能充分使用Cortex-M3的特性。总线接口:有说法它目前不支持外部存储器接口。这个好象有点严重。待确认。有了新架构的处理器,就看开发环境、调试工具、操作系统对它的支持了。最后,俺才疏学浅,又喜欢望文生义。有错误大家指出或一笑吧,谢谢。
本文标题:ARM-Cortex-M3处理器简介-读后感
链接地址:https://www.777doc.com/doc-4080663 .html